[
  {
    "path": ".github/workflows/docs.yml",
    "content": "name: Docs\n\non:\n  push:\n    branches:\n      - main\n    paths:\n      - 'examples/**'\n      - 'mkdocs.yml'\n      - 'docs-mkdocs/**'\n      - 'scripts/docs_*.sh'\n      - 'scripts/sync_docs_notebooks.sh'\n      - 'docs/**'\n      - '.readthedocs.yml'\n      - 'pyproject.toml'\n      - 'pymdp/**'\n      - '.github/workflows/docs.yml'\n  pull_request:\n    paths:\n      - 'examples/**'\n      - 'mkdocs.yml'\n      - 'docs-mkdocs/**'\n      - 'scripts/docs_*.sh'\n      - 'scripts/sync_docs_notebooks.sh'\n      - 'docs/**'\n      - '.readthedocs.yml'\n      - 'pyproject.toml'\n      - 'pymdp/**'\n      - '.github/workflows/docs.yml'\n\njobs:\n  build-docs:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - name: Set up Python\n        uses: actions/setup-python@v5\n        with:\n          python-version: '3.11'\n      - name: Install uv\n        uses: astral-sh/setup-uv@v6\n      - name: Install dependencies\n        run: |\n          uv sync --no-default-groups --extra docs\n      - name: Sync curated notebook docs\n        run: |\n          ./scripts/sync_docs_notebooks.sh\n      - name: Build docs (strict)\n        run: |\n          uv run --no-default-groups --extra docs mkdocs build --strict\n"
  },
  {
    "path": ".github/workflows/lint.yaml",
    "content": "name: Lint\n\non:\n  pull_request:\n    paths:\n      - '**.py'\n      - '.github/workflows/lint.yaml'\n      - 'pyproject.toml'\n\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        python-version: [\"3.11\"]\n    steps:\n    - uses: actions/checkout@v4\n    - name: Set up Python ${{ matrix.python-version }}\n      uses: actions/setup-python@v3\n      with:\n        python-version: ${{ matrix.python-version }}\n    - name: Install dependencies\n      run: |\n        python -m pip install --upgrade pip\n        pip install ruff\n    - name: Analysing the code with ruff\n      run: |\n        ruff check\n"
  },
  {
    "path": ".github/workflows/manual-branch-nightly.yaml",
    "content": "name: Manual Branch Nightly\n\non:\n  workflow_dispatch:\n    inputs:\n      ref:\n        description: Branch, tag, or SHA to validate\n        required: true\n        default: main\n        type: string\n      python_version:\n        description: Python version to use\n        required: true\n        default: \"3.12\"\n        type: string\n\nconcurrency:\n  group: manual-branch-nightly-${{ inputs.ref }}\n  cancel-in-progress: false\n\njobs:\n  nightly:\n    runs-on: ubuntu-latest\n    permissions:\n      contents: read\n    steps:\n      - uses: actions/checkout@v4\n        with:\n          ref: ${{ inputs.ref }}\n\n      - name: Set up Python ${{ inputs.python_version }}\n        uses: actions/setup-python@v3\n        with:\n          python-version: ${{ inputs.python_version }}\n\n      - name: Install uv\n        uses: astral-sh/setup-uv@v6\n\n      - name: Verify nightly validation files exist\n        run: |\n          test -f scripts/run_notebook_manifest.py\n          test -f test/notebooks/nightly_notebooks.txt\n\n      - name: Install system dependencies\n        run: |\n          sudo apt-get update\n          sudo apt-get install -y ffmpeg graphviz libgraphviz-dev pkg-config build-essential python3-dev\n\n      - name: Install dependencies\n        run: |\n          uv sync --group test\n\n      - name: Run nightly-marked tests\n        run: |\n          uv run pytest test -n 2 -m nightly\n\n      - name: Run nightly-tier notebook tests\n        run: |\n          uv run python scripts/run_notebook_manifest.py test/notebooks/nightly_notebooks.txt\n"
  },
  {
    "path": ".github/workflows/nightly-tests.yaml",
    "content": "name: Nightly Tests\n\non:\n  schedule:\n    - cron: \"0 2 * * *\"\n  workflow_dispatch:\n\njobs:\n  nightly:\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        python-version: [\"3.12\"]\n    steps:\n      - uses: actions/checkout@v4\n        with:\n          ref: main\n      - name: Set up Python ${{ matrix.python-version }}\n        uses: actions/setup-python@v3\n        with:\n          python-version: ${{ matrix.python-version }}\n      - name: Install uv\n        uses: astral-sh/setup-uv@v6\n      - name: Install system dependencies\n        run: |\n          sudo apt-get update\n          sudo apt-get install -y ffmpeg graphviz libgraphviz-dev pkg-config build-essential python3-dev\n      - name: Install dependencies\n        run: |\n          uv sync --group test\n      - name: Running nightly-marked tests\n        run: |\n          uv run pytest test -n 2 -m nightly\n      - name: Running nightly-tier notebook tests\n        run: |\n          uv run python scripts/run_notebook_manifest.py test/notebooks/nightly_notebooks.txt\n"
  },
  {
    "path": ".github/workflows/python-package.yml",
    "content": "name: Python package\n\non:\n  push:\n    branches: [main]\n  pull_request:\n    branches: [main]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    permissions:\n      contents: read\n    strategy:\n      matrix:\n        python-version: [\"3.11\", \"3.12\"]\n\n    steps:\n      - uses: actions/checkout@v4\n\n      - name: Set up Python ${{ matrix.python-version }}\n        uses: actions/setup-python@v5\n        with:\n          python-version: ${{ matrix.python-version }}\n\n      - name: Build source and wheel distributions\n        run: |\n          python -m pip install --upgrade pip build\n          python -m build --sdist --wheel\n\n      - name: Install built wheel\n        run: |\n          python -m pip install dist/*.whl\n\n      - name: Import smoke test\n        run: |\n          cd /tmp\n          python - <<'PY'\n          import pymdp\n          from pymdp.agent import Agent\n\n          print(\"Imported pymdp from\", pymdp.__file__)\n          assert \"site-packages\" in pymdp.__file__\n          print(\"Agent symbol:\", Agent.__name__)\n          PY\n"
  },
  {
    "path": ".github/workflows/test.yaml",
    "content": "name: Test\n\non:\n  push:\n    branches: [main]\n  pull_request:\n    branches: [main]\n\njobs:\n  build:\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n        python-version: [\"3.12\"]\n    steps:\n      - uses: actions/checkout@v4\n      - name: Set up Python ${{ matrix.python-version }}\n        uses: actions/setup-python@v3\n        with:\n          python-version: ${{ matrix.python-version }}\n      - name: Install uv\n        uses: astral-sh/setup-uv@v6\n      - name: Install system dependencies\n        run: |\n          sudo apt-get update\n          sudo apt-get install -y ffmpeg graphviz libgraphviz-dev pkg-config build-essential python3-dev\n      - name: Install dependencies\n        run: |\n          uv sync --group test\n      - name: Running unit tests with coverage\n        run: |\n          uv run pytest test -n 2 -m \"not nightly\" --cov=pymdp --cov-report=xml --cov-report=html --cov-report=term\n      - name: Upload coverage reports as artifact\n        uses: actions/upload-artifact@v4\n        with:\n          name: pymdp-coverage\n          path: |\n            coverage.xml\n            htmlcov/\n          retention-days: 30\n      - name: Running CI-tier notebook tests\n        run: |\n          uv run python scripts/run_notebook_manifest.py test/notebooks/ci_notebooks.txt\n"
  },
  {
    "path": ".gitignore",
    "content": "*.pyc\n__pycache__\n.DS_Store\n.ipynb_checkpoints\n.rope*\n.vscode/\n.ipynb_checkpoints/\n.pytest_cache\nenv/\npymdp.egg-info\ninferactively_pymdp.egg-info\nvenv/\n.venv\n.jax_cache\n.ruff_cache\n.coverage\ncoverage.xml\nhtmlcov/\nsite/\nbuild/\ndist/\nuv.lock\ndocs-mkdocs/tutorials/notebooks/examples/**/*.ipynb\n"
  },
  {
    "path": ".pre-commit-config.yaml",
    "content": "repos:\n  - repo: local\n    hooks:\n      - id: sanitize-notebooks\n        name: sanitize notebooks by tier\n        entry: uv run --group dev python scripts/notebook_precommit.py sanitize\n        language: system\n        files: ^examples/(?!legacy/).+\\.ipynb$\n        pass_filenames: true\n      - id: validate-notebook-execution-counts\n        name: validate manifest notebook execution counts\n        entry: uv run --group dev python scripts/notebook_precommit.py validate-counts\n        language: system\n        files: ^examples/(?!legacy/).+\\.ipynb$\n        pass_filenames: true\n"
  },
  {
    "path": ".readthedocs.yml",
    "content": "version: 2\n\nbuild:\n  os: \"ubuntu-22.04\"\n  tools:\n    python: \"3.11\"\n  jobs:\n    pre_build:\n      - ./scripts/sync_docs_notebooks.sh\n\npython:\n  install:\n    - method: pip\n      path: .\n      extra_requirements:\n        - docs\n\nmkdocs:\n  configuration: mkdocs.yml\n\nformats:\n  - htmlzip\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# pymdp\n\n*Borrowed below list from [here](https://github.com/netsiphds/netrd)*\n\nWelcome to `pymdp` and thanks for your interest in contributing!\nDuring development please make sure to keep the following checklists handy.\nThey contain a summary of all the important steps you need to take to contribute\nto the package. As a general statement, the more familiar you already are\nwith git(hub), the less relevant the detailed instructions below will be for you.\n\n\n## Types of Contribution\n\nThere are multiple ways to contribute to `pymdp` (borrowed below list from [here](https://github.com/uzhdag/pathpy/blob/master/CONTRIBUTING.rst)):\n\n#### Report Bugs\n\nTo report a bug in the package, open an issue at https://github.com/infer-actively/pymdp/issues.\n\nPlease include in your bug report:\n\n* Your operating system name and version.\n* Any details about your local setup that might be helpful in troubleshooting.\n* Detailed steps to reproduce the bug.\n\n#### Fix Bugs\n\nLook through the GitHub issues for bugs. Anything tagged with \"bug\" and \"help\nwanted\" is open to whoever wants to implement it.\n\n#### Implement Features or New Methods\n\nLook through the GitHub issues for features. Anything tagged with \"enhancement\"\nand \"help wanted\" is open to whomever wants to implement it. If you know of a \nmethod that is implemented in another programming language, feel free to \ntranslate it into python here. If you don't want to translate it yourself, feel \nfree to add an issue at https://github.com/infer-actively/pymdp/issues. If you have \nread through this document and still have questions, also open an issue. When \nin doubt, open an issue.\n\n#### Improve Documentation\n\nDocumentation is just as important as the code it documents. Please feel\nfree to submit PRs that are focused on fixing, improving, correcting, or\nrefactoring documentation.\n\n#### Submit Feedback\n\nThe best way to send feedback is to open an issue.\n\nIf you are proposing to implement a function, feature, etc.\nsee more details below. \n\nIf you are proposing a feature not directly related to implementing a new method:\n\n* Explain in detail why the feature is desirable and how it would work.\n* Keep the scope as narrow as possible, to make it easier to implement.\n* Remember that this is a volunteer-driven project, and that your contributions\n  are welcome!\n\n##### A Brief Note On Licensing\nOften, python code for an algorithm of interest already exists. In the interest of avoiding repeated reinvention of the wheel, we welcome code from other sources being integrated into `pymdp`. If you are doing this, we ask that you be explicit and transparent about where the code came from and which license it is released under. The safest thing to do is copy the license from the original code into the header documentation of your file. For reference, this software is [licensed under MIT](https://github.com/tlarock/netrd/blob/master/LICENSE).\n\n## Setup\nBefore starting your contribution, you need to complete the following instructions once.\nThe goal of this process is to fork, download and install the latest version of `pymdp`.\n\n1. Log in to GitHub.\n\n2. Fork this repository by pressing 'Fork' at the top right of this\n   page. This will lead you to 'github.com/<your_account>/infer-actively'. We refer\n   to this as your personal fork (or just 'your fork'), as opposed to this repository\n   (github.com/infer-actively/pymdp), which we refer to as the 'upstream repository'.\n\n3. Clone your fork to your machine by opening a console and doing\n\n   ```\n   git clone https://github.com/<your_account>/infer-actively.git\n   ```\n\n   Make sure to clone your fork, not the upstream repo. This will create a\n   directory called 'infer-actively/'. Navigate to it and execute\n\n   ```\n   git remote add upstream https://github.com/infer-actively/pymdp.git\n   ```\n\n   In this way, your machine will know of both your fork (which git calls\n   `origin`) and the upstream repository (`upstream`).\n\n4. During development, you will probably want to play around with your\n   code. For this, you need to install the `pymdp` package and have it\n   reflect your changes as you go along. For this, open the console and\n   navigate to the `infer-actively/` directory, and execute\n\n\t```\n\tpip install -e .\n\t```\n\n\tFrom now on, you can open a Jupyter notebook, ipython console, or your\n    favorite IDE from anywhere in your computer and type `import pymdp`.\n\n\nThese steps need to be taken only once. Now anything you do in the `infer-actively/`\ndirectory in your machine can be `push`ed into your fork. Once it is in\nyour fork you can then request one of the organizers to `pull` from your\nfork into the upstream repository (by submitting a 'pull request'). More on this later!\n\n## Recommended local hooks\n\nIf you edit notebooks, install the local hooks after syncing the dev tooling:\n\n```\nuv sync --group dev\nuv run --group dev pre-commit install\nuv run --group dev pre-commit run --all-files\n```\n\nThe notebook hook reads the manifests in `test/notebooks/`:\n\n* Manifest-tested notebooks keep saved outputs but also keep canonical execution counts for output-bearing code cells so `nbval` can execute them reliably.\n* Nightly-tier notebooks still run through `nbstripout --keep-output`, but the hook restores canonical execution counts afterwards so the saved notebooks remain valid test inputs.\n\n\n## Before you start coding\n\nOnce you have completed the above steps, you are ready to choose an algorithm to implement and begin coding.\n\n1. Choose which algorithm you are interested in working on.\n\n2. Open an issue at https://github.com/infer-actively/pymdp/issues by clicking the \"New Issue\" button. \n\n\t* Title the issue \"Implement XYZ method\", where XYZ method is a shorthand name for whatever function / method / environment class you plan to implement.\n\t* Leave a comment that includes a brief motivation for why you want to see this method in `pymdp`, as well as any key citations.\n\t* If such an issue already exists for the method you are going to write, it is not necessary to open another. However, it is a good idea to leave a comment letting others know you are going to work on it.\n\n2. In your machine, create the file where your algorithm is going to\n   live. If you chose a softmax algorithm, copy\n   an existing file, such as `/pymdp/functions.py`, into \n   `/pymdp/<algorithm_name>.py`. Please keep in mind that\n   <algorithm_name> will be used inside the code, so try to choose\n   something that looks \"pythonic\". In particular, <algorithm_name> cannot\n   include spaces, should not include upper case letters, and should use underscores \n   rather than hyphens.\n\n3. Open the newly created file and edit as follows. At the very top you\n   will find a string describing the algorithm. Edit this to describe the algorithm you\n   are about to code, and preferably include a citation and link to any relevant papers. \n   Also add your name and email address (optional).\n\n## After you finish coding\n\n1. After updating your local code, the first thing to do is tell git which files\n   you have been working on. (This is called staging.) If you worked on a softmax\n   function, for example, do\n\n   ```\n   git add pymdp/<your_file>.py\n   ```\n\n2. Next tell git to commit (or save) your changes:\n\n\t```\n\tgit commit -m 'Write a commit message here. This will be public and\n\tshould be descriptive of the work you have done. Please be as explicit\n\tas possible, but at least make sure to include the name of the method\n\tyou implemented. For example, the commit message may be: add\n\timplementation of SomeMethod, based on SomeAuthor and/or SomeCode.'\n\t```\n\n3. Now you have to tell git to do two things. First, `pull` the latest changes from\n   the upstream repository (in case someone made changes while you were coding), \n   then `push` your changes and the updated code from your machine to your fork:\n\n\t```\n\tgit pull upstream <target_branch>\n\tgit push origin <your_branch>\n\t```\n\n\tNOTE: If you edited already existing files, the `pull` may result in\n\tconflicts that must be merged. If you run in to trouble here, ask\n\tfor help!\n\n4. Finally, you need to tell this (the upstream) repository to include your\n   contributions. For this, we use the GitHub web interface. At the top of\n   this page, there is a 'New Pull Request' button. Click on it, and it\n   will take you to a page titled 'Compare Changes'. Right below the title,\n   click on the blue text that reads 'compare across forks'. This will show\n   four buttons. Make sure that the first button reads 'base fork:\n   infer-actively/pymdp', the second button reads the branch you intend to\n   merge into (for example `v1.0.0_alpha` for release work), the third\n   button reads 'head fork: <your_username>/infer-actively', and the fourth button\n   reads the branch from your fork that contains your changes. (If everything has gone according to plan, the\n   only button you should have to change is the third one - make sure you\n   find your username, not someone elses.) After you find your username,\n   GitHub will show a rundown of the differences that you are adding to the\n   upstream repository, so you will be able to see what changes you are\n   contributing. If everything looks correct, press 'Create Pull\n   Request'.\n\tNOTE: Advanced git users may want to develop on branches other\n\tthan the upstream target branch on their fork. That is totally\n\tfine; just make sure the PR points at the correct upstream branch.\n\n\nThat's it! After you've completed these steps, maintainers will be notified \nand will review your code and changes to make sure that everything is in place. \nSome automated tests will also run in the background to make sure that your \ncode can be imported correctly and other sanity checks. Once that is all done, \none of us will either accept your Pull Request, or leave a message requesting some\nchanges (you will receive an email either way).\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2019 Conor Heins and Alec Tschantz\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "\n<p align='center'>\n  <a href='https://github.com/infer-actively/pymdp'>\n    <img src='.github/pymdp_logo_2-removebg.png' />\n  </a> \n</p>\n\nA Python package for simulating Active Inference agents in Markov Decision Process environments.\nPlease see our companion paper, published in the Journal of Open Source Software: [\"pymdp: A Python library for active inference in discrete state spaces\"](https://joss.theoj.org/papers/10.21105/joss.04098) for an overview of the package and its motivation. For a more in-depth, tutorial-style introduction to the package and a mathematical overview of active inference in Markov Decision Processes, see the [longer arxiv version](https://arxiv.org/abs/2201.03904) of the paper.\n\n## Citing `pymdp`\nIf you use `pymdp` in your work or research, please cite:\n\n```\n@article{Heins2022,\n  doi = {10.21105/joss.04098},\n  url = {https://doi.org/10.21105/joss.04098},\n  year = {2022},\n  publisher = {The Open Journal},\n  volume = {7},\n  number = {73},\n  pages = {4098},\n  author = {Conor Heins and Beren Millidge and Daphne Demekas and Brennan Klein and Karl Friston and Iain D. Couzin and Alexander Tschantz},\n  title = {pymdp: A Python library for active inference in discrete state spaces},\n  journal = {Journal of Open Source Software}\n}\n```\n\nThis package is hosted on the [`infer-actively`](https://github.com/infer-actively) GitHub organization, which was built with the intention of hosting open-source active inference and free-energy-principle related software.\n\nMost of the low-level mathematical operations are [NumPy](https://github.com/numpy/numpy) ports of their equivalent functions from the `SPM` [implementation](https://www.fil.ion.ucl.ac.uk/spm/doc/) in MATLAB. We have benchmarked and validated most of these functions against their SPM counterparts.\n\n## Status\n\n![status](https://img.shields.io/badge/status-active-green)\n[![PyPI version](https://img.shields.io/pypi/v/inferactively-pymdp?cacheSeconds=300)](https://pypi.org/project/inferactively-pymdp/1.0.0/)\n[![Documentation Status](https://readthedocs.org/projects/pymdp-rtd/badge/?version=latest)](https://pymdp-rtd.readthedocs.io/en/latest/)\n[![DOI](https://joss.theoj.org/papers/10.21105/joss.04098/status.svg)](https://doi.org/10.21105/joss.04098)\n\n\n# ``pymdp`` in action\n\nHere's a visualization of ``pymdp`` agents in action. One of the defining features of active inference agents is the drive to maximize \"epistemic value\" (i.e. curiosity). Equipped with such a drive in environments with uncertain yet disclosable hidden structure, active inference can ultimately allow agents to simultaneously learn about the environment as well as maximize reward.\n\nThe simulation below (see associated JAX notebook [here](https://pymdp-rtd.readthedocs.io/en/latest/tutorials/notebooks/examples/envs/cue_chaining_demo/)) demonstrates what might be called \"epistemic chaining,\" where an agent (here, analogized to a mouse seeking food) forages for a chain of cues, each of which discloses the location of the subsequent cue in the chain. The final cue (here, \"Cue 2\") reveals the location a hidden reward. This is similar in spirit to \"behavior chaining\" used in operant conditioning, except that here, each successive action in the behavioral sequence doesn't need to be learned through instrumental conditioning. Rather, active inference agents will naturally forage the sequence of cues based on an intrinsic desire to disclose information. This ultimately leads the agent to the hidden reward source in the fewest number of moves as possible.\n\nYou can run the code behind simulating tasks like this one and others in the **Examples** section of the [official documentation](https://pymdp-rtd.readthedocs.io/en/latest/). The GIF generation script used for these animations is available [here](examples/envs/chained_cue_navigation.py).\n\n<!-- \n<p align=\"center\">\n  <img src=\".github/chained_cue_navigation_v1.gif\" width=\"50%\" height=\"50%\"/>\n  <img src=\".github/chained_cue_navigation_v2.gif\" width=\"50%\" height=\"50%\"/>\n</p> -->\n\n<!-- ![alt](.github/chained_cue_navigation_v1.gif) | ![alt](.github/chained_cue_navigation_v2.gif) -->\n\n<table><tr>\n<td> \n  <p align=\"center\" style=\"padding: 10px\">\n    <img src=\".github/chained_cue_navigation_v1.gif\" width=\"100%\" height=\"50%\"/>\n    <br>\n    <em style=\"color: grey\">Cue 2 in Location 1, Reward on Top</em>\n  </p> \n</td>\n<td> \n  <p align=\"center\">\n    <img src=\".github/chained_cue_navigation_v2.gif\" width=\"100%\" height=\"50%\"/>\n    <br>\n    <em style=\"color: grey\">Cue 2 in Location 3, Reward on Bottom</em>\n  </p> \n</td>\n</tr></table>\n\n## Quick-start: Installation and Usage\n\nWe recommend installing `pymdp` using [`uv`](https://docs.astral.sh/uv/), with an explicit virtual environment:\n\n```bash\nuv venv .venv\nsource .venv/bin/activate\nuv pip install inferactively-pymdp\n```\n\nIf you prefer `pip`, use:\n\n```bash\npip install inferactively-pymdp\n```\n\nIf `uv sync --group test` or `uv sync --extra nb` fails while building `pygraphviz`, install Graphviz first and then retry. On macOS, install `graphviz` with Homebrew. On Ubuntu/Debian, install `graphviz libgraphviz-dev pkg-config build-essential python3-dev` (or the version-matched `python3.x-dev` package if needed). The full troubleshooting notes live in [`docs-mkdocs/getting-started/installation.md`](docs-mkdocs/getting-started/installation.md).\n\nOnce in Python, you can then directly import `pymdp`, its sub-packages, and functions.\n\n```python\nfrom jax import numpy as jnp, random as jr\nfrom pymdp import utils\nfrom pymdp.agent import Agent\n\nkey = jr.PRNGKey(0)\nkeys = jr.split(key, 3)\n\nnum_obs = [3, 5]\nnum_states = [3, 2]\nnum_controls = [3, 1]\n\nA = utils.random_A_array(keys[0], num_obs, num_states)\nB = utils.random_B_array(keys[1], num_states, num_controls)\nC = utils.list_array_uniform([[no] for no in num_obs])\n\nagent = Agent(A=A, B=B, C=C, batch_size=1)\nobservation = [jnp.array([1]), jnp.array([4])]\n\nqs, info = agent.infer_states(observation, empirical_prior=agent.D, return_info=True)\n# Optional diagnostic: current variational free energy for each batch element.\nvfe = info[\"vfe\"]\nq_pi, neg_efe = agent.infer_policies(qs)\n\naction_keys = jr.split(keys[2], agent.batch_size + 1)\naction = agent.sample_action(q_pi, rng_key=action_keys[1:])\n```\n\n## Getting started / introductory material\n\nWe recommend starting with the JAX-first [official documentation](https://pymdp-rtd.readthedocs.io/en/latest/) for the repository, which provides practical guides, curated notebooks, and generated API references.\n\nFor new users to `pymdp`, we specifically recommend stepping through following three Jupyter notebooks (can also be used on Google Colab):\n\n- [Quickstart (JAX)](https://pymdp-rtd.readthedocs.io/en/latest/getting-started/quickstart-jax/)\n- [NumPy/legacy to JAX migration guide](https://pymdp-rtd.readthedocs.io/en/latest/migration/numpy-to-jax/)\n- [`rollout()` active inference loop guide](https://pymdp-rtd.readthedocs.io/en/latest/guides/rollout-active-inference-loop/)\n\nWe also have (and are continuing to build) a series of notebooks that walk through active inference agents performing different types of tasks in the [Notebook Gallery](https://pymdp-rtd.readthedocs.io/en/latest/tutorials/notebooks/).\n\n## Contributing\n\nThis package is under active development. If you would like to contribute, please refer to [CONTRIBUTING.md](CONTRIBUTING.md).\n\nRecommended local setup:\n\n```bash\ncd <path_to_repo_fork>\nuv venv .venv\nsource .venv/bin/activate\nuv sync --group test\n```\n\nRecommended contributor hooks:\n\n```bash\nuv sync --group dev\nuv run --group dev pre-commit install\n```\n\nUseful variants:\n\n```bash\n# tests + contributor hooks\nuv sync --group test --group dev\n\n# docs work\nuv sync --group test --extra docs\n\n# notebook/media extras\nuv sync --group test --extra nb\n\n# model fitting extras\nuv sync --group test --extra modelfit\n```\n\nRun tests:\n\n```bash\npytest test\n```\n\nBuild docs locally:\n\n```bash\n./scripts/docs_build.sh\n```\n\n## Contributors\n\n- Conor Heins [@conorheins](https://github.com/conorheins)\n- Tim Verbelen [@tverbele](https://github.com/tverbele)\n- Dimitrije Markovic [@dimarkov](https://github.com/dimarkov)\n- Riddhi Jain Pitliya [@riddhipits](https://github.com/riddhipits)\n- Arun Niranjan [@Arun-Niranjan](https://github.com/Arun-Niranjan)\n- Toon Van de Maele [@toonvdm](https://github.com/toonvdm)\n- Ozan Catal [@OzanCatalVerses](https://github.com/OzanCatalVerses)\n- Tommaso Salvatori [@salvatomm](https://github.com/salvatomm)\n- Aswin Paul [@aswinpaul](https://github.com/aswinpaul)\n- Lancelot Da Costa [@lancelotdacosta](https://github.com/lancelotdacosta)\n- Ran Wei [@ran-weii](https://github.com/ran-weii)\n- Alexander Tschantz [@alec-tschantz](https://github.com/alec-tschantz)\n- Miguel de Prado [@praesc](https://github.com/praesc)\n- Nikola Pižurica [@NIkolaPizurica](https://github.com/NIkolaPizurica)\n- Nikola Milović [@nikolamilovic-ft](https://github.com/nikolamilovic-ft)\n- Matteo Risso [@matteorisso](https://github.com/matteorisso)\n- Christopher Buckley [@clb27](https://github.com/clb27)\n- Beren Millidge [@BerenMillidge](https://github.com/BerenMillidge)\n- Daphne Demekas [@daphnedemekas](https://github.com/daphnedemekas)\n- Cooper Williams [@coopwilliams](https://github.com/coopwilliams)\n"
  },
  {
    "path": "docs/Makefile",
    "content": "# Minimal makefile for Sphinx documentation\n#\n\n# You can set these variables from the command line, and also\n# from the environment for the first two.\nSPHINXOPTS    ?=\nSPHINXBUILD   ?= sphinx-build\nSOURCEDIR     = .\nBUILDDIR      = _build\n\n# Put it first so that \"make\" without argument is like \"make help\".\nhelp:\n\t@$(SPHINXBUILD) -M help \"$(SOURCEDIR)\" \"$(BUILDDIR)\" $(SPHINXOPTS) $(O)\n\n.PHONY: help Makefile\n\n# Catch-all target: route all unknown targets to Sphinx using the new\n# \"make mode\" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).\n%: Makefile\n\t@$(SPHINXBUILD) -M $@ \"$(SOURCEDIR)\" \"$(BUILDDIR)\" $(SPHINXOPTS) $(O)\n"
  },
  {
    "path": "docs/agent.rst",
    "content": "Agent class\n=================================\n\n.. autoclass:: pymdp.agent.Agent\n    :members:\n"
  },
  {
    "path": "docs/algos/fpi.rst",
    "content": "FPI (Fixed Point Iteration)\n=================================\n\n.. automodule:: pymdp.algos.fpi\n    :members:\n\n"
  },
  {
    "path": "docs/algos/index.rst",
    "content": "Algos\n=================================\n\nThe ``algos.py`` library contains the functions for implementing message passing algorithms for variational inference on POMDP generative models\n\nSub-libraries\n---------------\n\n.. toctree::\n   :maxdepth: 1\n\n   fpi\n   mmp"
  },
  {
    "path": "docs/algos/mmp.rst",
    "content": "MMP (Marginal Message Passing)\n=================================\n\n.. automodule:: pymdp.algos.mmp\n    :members:"
  },
  {
    "path": "docs/conf.py",
    "content": "# Configuration file for the Sphinx documentation builder.\n#\n# This file only contains a selection of the most common options. For a full\n# list see the documentation:\n# https://www.sphinx-doc.org/en/master/usage/configuration.html\n\n# -- Path setup --------------------------------------------------------------\n\n# If extensions (or modules to document with autodoc) are in another directory,\n# add these directories to sys.path here. If the directory is relative to the\n# documentation root, use os.path.abspath to make it absolute, like shown here.\n#\nimport os\nimport sys\nsys.path.insert(0, os.path.abspath('..'))\n\n# -- Project information -----------------------------------------------------\n\nproject = 'pymdp'\ncopyright = '2021, infer-actively'\nauthor = 'infer-actively'\n\n# The full version, including alpha/beta/rc tags\nrelease = '0.0.7.1'\n\n# -- General configuration ---------------------------------------------------\n\n# Add any Sphinx extension module names here, as strings. They can be\n# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom\n# ones.\nextensions = ['sphinx.ext.autodoc', \n              'sphinx.ext.doctest',\n              'sphinx.ext.coverage', \n              'sphinx.ext.napoleon',\n              'sphinx.ext.autosummary',\n              'myst_nb'\n              ]\n\nsource_suffix = {\n    '.rst': 'restructuredtext',\n    '.ipynb': 'myst-nb'\n    }\n\n# Add any paths that contain templates here, relative to this directory.\ntemplates_path = ['_templates']\n\n# List of patterns, relative to source directory, that match files and\n# directories to ignore when looking for source files.\n# This pattern also affects html_static_path and html_extra_path.\nexclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']\n\n\n# -- Options for HTML output -------------------------------------------------\n\n# The theme to use for HTML and HTML Help pages.  See the documentation for\n# a list of builtin themes.\n#\nhtml_theme = 'sphinx_rtd_theme'\n\n# Theme options are theme-specific and customize the look and feel of a theme\n# further.  For a list of options available for each theme, see the\n# documentation.\nhtml_theme_options = {\n    'logo_only': True,\n}\n\n# The name of an image file (relative to this directory) to place at the top\n# of the sidebar.\nhtml_logo = '_static/pymdp_logo_2-removebg.png'\n\nhtml_favicon = '_static/pymdp_logo_2-removebg.png'\n\n# Add any paths that contain custom static files (such as style sheets) here,\n# relative to this directory. They are copied after the builtin static files,\n# so a file named \"default.css\" will overwrite the builtin \"default.css\".\nhtml_static_path = ['_static']\n\n\n# -- Options for myst ----------------------------------------------\njupyter_execute_notebooks = \"cache\"\njupyter_cache = \"notebooks\"\n"
  },
  {
    "path": "docs/control.rst",
    "content": "Control\n=================================\n\nThe ``control.py`` module contains the functions for performing inference of policies (sequences of control states) in POMDP generative models,\naccording to active inference.\n\n.. automodule:: pymdp.control\n    :members:"
  },
  {
    "path": "docs/env.rst",
    "content": "Env\n========\n\nThe OpenAIGym-inspired ``Env`` base class is the main API that represents the environmental dynamics or \"generative process\" with\nwhich agents exchange observations and actions\n\nBase class\n----------\n.. autoclass:: pymdp.envs.Env\n\nSpecific environment implementations\n----------\n\nAll of the following dynamics inherit from ``Env`` and have the\nsame general usage as above.\n\n.. autosummary::\n   :nosignatures:\n\n    pymdp.envs.GridWorldEnv\n    pymdp.envs.DGridWorldEnv\n    pymdp.envs.SceneConstruction\n    pymdp.envs.TMazeEnv\n    pymdp.envs.TMazeEnvNullOutcome\n"
  },
  {
    "path": "docs/index.rst",
    "content": ".. pymdp documentation master file, created by\n   sphinx-quickstart on Fri Oct 29 13:27:58 2021.\n   You can adapt this file completely to your liking, but it should at least\n   contain the root `toctree` directive.\n\nWelcome to pymdp's documentation!\n=================================\n\n``pymdp`` is a Python package for simulating active inference agents in\ndiscrete space and time, using partially-observed Markov Decision Processes\n(POMDPs) as a generative model class. The package is designed to be modular and flexible, to\nenable users to design and simulate bespoke active inference models with varying levels of\nspecificity to a given task.\n\nFor a theoretical overview of active inference and the motivations for developing this package, \nplease see our companion paper_: \"pymdp: A Python library for active inference in discrete state spaces\".\n\n.. toctree::\n   :maxdepth: 1\n   :caption: Installation & Usage\n\n   installation\n   notebooks/pymdp_fundamentals\n   notebooks/active_inference_from_scratch\n   notebooks/using_the_agent_class\n\n.. toctree::\n   :maxdepth: 1\n   :caption: Examples\n\n   notebooks/tmaze_demo\n   notebooks/cue_chaining_demo\n   \n.. toctree::\n   :maxdepth: 2\n   :caption: Modules\n\n   inference\n   control\n   learning\n   algos/index\n\n.. toctree::\n   :maxdepth: 2\n   :caption: Agent and environment API\n\n   agent\n   env\n\n.. toctree::\n   :maxdepth: 1\n   :caption: Additional learning materials\n\n   notebooks/free_energy_calculation\n\nIndices and tables\n==================\n\n* :ref:`genindex`\n* :ref:`modindex`\n* :ref:`search`\n\n.. _paper: https://joss.theoj.org/papers/10.21105/joss.04098\n"
  },
  {
    "path": "docs/inference.rst",
    "content": "Inference\n=================================\n\nThe ``inference.py`` module contains the functions for performing inference of discrete hidden states (categorical distributions) in POMDP generative models.\n\n.. automodule:: pymdp.inference\n    :members:"
  },
  {
    "path": "docs/installation.rst",
    "content": "Installation\n=================================\n\nWe recommend installing ``pymdp`` using the package installer pip_, which will install the package locally as well as its dependencies.\nThis can also be done in a virtual environment (e.g. one created using ``venv`` or ``conda``). \n\nWhen pip installing ``pymdp``, use the full package name: ``inferactively-pymdp``:\n\n.. code-block:: console\n\n   (.venv) $ pip install inferactively-pymdp\n   \n.. _pip: https://pip.pypa.io/en/stable/"
  },
  {
    "path": "docs/learning.rst",
    "content": "Learning\n=================================\n\nThe ``learning.py`` module contains the functions for updating parameters of Dirichlet posteriors (that paramaterise categorical priors and likelihoods) in POMDP generative models.\n\n.. automodule:: pymdp.learning\n    :members:"
  },
  {
    "path": "docs/make.bat",
    "content": "@ECHO OFF\r\n\r\npushd %~dp0\r\n\r\nREM Command file for Sphinx documentation\r\n\r\nif \"%SPHINXBUILD%\" == \"\" (\r\n\tset SPHINXBUILD=sphinx-build\r\n)\r\nset SOURCEDIR=.\r\nset BUILDDIR=_build\r\n\r\nif \"%1\" == \"\" goto help\r\n\r\n%SPHINXBUILD% >NUL 2>NUL\r\nif errorlevel 9009 (\r\n\techo.\r\n\techo.The 'sphinx-build' command was not found. Make sure you have Sphinx\r\n\techo.installed, then set the SPHINXBUILD environment variable to point\r\n\techo.to the full path of the 'sphinx-build' executable. Alternatively you\r\n\techo.may add the Sphinx directory to PATH.\r\n\techo.\r\n\techo.If you don't have Sphinx installed, grab it from\r\n\techo.https://www.sphinx-doc.org/\r\n\texit /b 1\r\n)\r\n\r\n%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%\r\ngoto end\r\n\r\n:help\r\n%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%\r\n\r\n:end\r\npopd\r\n"
  },
  {
    "path": "docs/notebooks/active_inference_from_scratch.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"Lggo6pjkdPhS\"\n   },\n   \"source\": [\n    \"# Tutorial 1: Active inference from scratch\\n\",\n    \"\\n\",\n    \"[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/infer-actively/pymdp/blob/main/docs/notebooks/active_inference_from_scratch.ipynb)\\n\",\n    \"\\n\",\n    \"*Author: Conor Heins*\\n\",\n    \"\\n\",\n    \"This tutorial guides you through the construction of an active inference agent \\\"from scratch\\\" in a simple grid-world environment. This tutorial is designed to walk you through the various mathematical operations required for running active inference in discrete state spaces, as well as introduce you to the way discrete probability distributions are represented in `pymdp` (through the use of numpy vectors and matrices). We also show you how to compute the expected free energy in terms of risk and ambiguity, and how to use it to plan sequences of actions.\\n\",\n    \"\\n\",\n    \"By the end of this tutorial, you should be able to write simple active inference models from scratch using the main components of any POMDP generative model: the `A`, `B`, `C`, and `D` arrays, as well as be able to write the active inference loop for an agent engaged in a perception-action exchange with its environment.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"*Note*: When running this notebook in Google Colab, you may have to run `!pip install inferactively-pymdp` at the top of the notebook, before you can `import pymdp`. That cell is left commented out below, in case you are running this notebook from Google Colab.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# ! pip install inferactively-pymdp\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Imports\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"id\": \"hk0kXw1RRmTf\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import seaborn as sns\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"iSS6oO3RWrwp\"\n   },\n   \"source\": [\n    \"### Define some auxiliary functions\\n\",\n    \"\\n\",\n    \"Here are some plotting functions that will come in handy throughout the tutorial.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"id\": \"Y0QiIF8SWxot\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def plot_likelihood(matrix, xlabels = list(range(9)), ylabels = list(range(9)), title_str = \\\"Likelihood distribution (A)\\\"):\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    Plots a 2-D likelihood matrix as a heatmap\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    if not np.isclose(matrix.sum(axis=0), 1.0).all():\\n\",\n    \"      raise ValueError(\\\"Distribution not column-normalized! Please normalize (ensure matrix.sum(axis=0) == 1.0 for all columns)\\\")\\n\",\n    \"    \\n\",\n    \"    plt.figure(figsize = (6,6))\\n\",\n    \"    sns.heatmap(matrix, xticklabels = xlabels, yticklabels = ylabels, cmap = 'gray', cbar = False, vmin = 0.0, vmax = 1.0)\\n\",\n    \"    plt.title(title_str)\\n\",\n    \"    plt.show()\\n\",\n    \"\\n\",\n    \"def plot_grid(grid_locations, num_x = 3, num_y = 3 ):\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    Plots the spatial coordinates of GridWorld as a heatmap, with each (X, Y) coordinate \\n\",\n    \"    labeled with its linear index (its `state id`)\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    grid_heatmap = np.zeros((num_x, num_y))\\n\",\n    \"    for linear_idx, location in enumerate(grid_locations):\\n\",\n    \"      y, x = location\\n\",\n    \"      grid_heatmap[y, x] = linear_idx\\n\",\n    \"    sns.set(font_scale=1.5)\\n\",\n    \"    sns.heatmap(grid_heatmap, annot=True, cbar = False, fmt='.0f', cmap='crest')\\n\",\n    \"\\n\",\n    \"def plot_point_on_grid(state_vector, grid_locations):\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    Plots the current location of the agent on the grid world\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    state_index = np.where(state_vector)[0][0]\\n\",\n    \"    y, x = grid_locations[state_index]\\n\",\n    \"    grid_heatmap = np.zeros((3,3))\\n\",\n    \"    grid_heatmap[y,x] = 1.0\\n\",\n    \"    sns.heatmap(grid_heatmap, cbar = False, fmt='.0f')\\n\",\n    \"\\n\",\n    \"def plot_beliefs(belief_dist, title_str=\\\"\\\"):\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    Plot a categorical distribution or belief distribution, stored in the 1-D numpy vector `belief_dist`\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    if not np.isclose(belief_dist.sum(), 1.0):\\n\",\n    \"      raise ValueError(\\\"Distribution not normalized! Please normalize\\\")\\n\",\n    \"\\n\",\n    \"    plt.grid(zorder=0)\\n\",\n    \"    plt.bar(range(belief_dist.shape[0]), belief_dist, color='r', zorder=3)\\n\",\n    \"    plt.xticks(range(belief_dist.shape[0]))\\n\",\n    \"    plt.title(title_str)\\n\",\n    \"    plt.show()\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"5RsP7hVidcfn\"\n   },\n   \"source\": [\n    \"## **The Basics: categorical distributions**\\n\",\n    \"\\n\",\n    \"Let's start by creating a simple categorical distribution $P(x)$. We will represent this distribution numerically with a 1-D `numpy` array (i.e. a `numpy.ndarray` where `ndim == 1`). The discrete entries of this vector can be thought of as the probabilities of seeing each of the $K$ alternative outcomes (the support of the distribution), if we were to sample once from the distribution. We can write the distribution as a vector of probabilities, follows:\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \"P(x) = \\\\begin{bmatrix} P(x = 0) \\\\\\\\\\\\ P(x = 1)\\\\\\\\\\\\ \\\\vdots \\\\\\\\\\\\ P(x = K) \\\\end{bmatrix}\\n\",\n    \"$$ \\n\",\n    \"\\n\",\n    \"We can use `numpy` and the `norm_dist` function from `utils` library of `pymdp` to quickly create a random categorical distribution.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from pymdp import utils\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"colab\": {\n     \"base_uri\": \"https://localhost:8080/\"\n    },\n    \"id\": \"P0RZ91Xb34GY\",\n    \"outputId\": \"2a120bcb-82ca-4e6b-8146-a82eb42e6fcd\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[[0.16880278]\\n\",\n      \" [0.51728256]\\n\",\n      \" [0.31391466]]\\n\",\n      \"Integral of the distribution: 1.0\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"my_categorical = np.random.rand(3)\\n\",\n    \"# my_categorical = np.array([0.5, 0.3, 0.8]) # could also just write in your own numbers\\n\",\n    \"my_categorical = utils.norm_dist(my_categorical) # normalizes the distribution so it integrates to 1.0\\n\",\n    \"\\n\",\n    \"print(my_categorical.reshape(-1,1)) # we reshape it to display it like a column vector\\n\",\n    \"print(f'Integral of the distribution: {round(my_categorical.sum(), 2)}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"uJmzJ7tFdptc\"\n   },\n   \"source\": [\n    \" We can sample a discrete outcome from this distribution using the `sample()` function from the `utils` module\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"colab\": {\n     \"base_uri\": \"https://localhost:8080/\"\n    },\n    \"id\": \"1LvlfKJ54ibe\",\n    \"outputId\": \"491c96b5-4667-4f8c-8adb-0acf8f0fd5b8\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Sampled outcome: 1\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"sampled_outcome = utils.sample(my_categorical)\\n\",\n    \"print(f'Sampled outcome: {sampled_outcome}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"x5co79ug4UVy\"\n   },\n   \"source\": [\n    \"Now plot the beliefs using our `plot_beliefs()` function that we defined in the beginning. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"id\": \"13yT2uB_dzFc\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_beliefs(my_categorical, title_str = \\\"A random (unconditional) Categorical distribution\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"vfDpOZ25dzpG\"\n   },\n   \"source\": [\n    \"Now let's move onto _conditional_ categorical distributions or likelihoods, i.e. how we represent the distribution of one discrete random variable X, conditioned on the settings of another discrete random variable Y.\\n\",\n    \"\\n\",\n    \"We would write these mathematically as:\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"$$ \\\\begin{align}\\n\",\n    \"P(X | Y)\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"And can represent them using 2-D `numpy.ndarrays` i.e. matrices\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"colab\": {\n     \"base_uri\": \"https://localhost:8080/\"\n    },\n    \"id\": \"_PZ8VMWc46kk\",\n    \"outputId\": \"55e3edb7-8491-4a76-a751-d41a10bda960\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[[0.089 0.739 0.145 0.399]\\n\",\n      \" [0.772 0.201 0.026 0.578]\\n\",\n      \" [0.181 0.253 0.788 0.844]]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# initialize it with random numbers\\n\",\n    \"p_x_given_y = np.random.rand(3, 4)\\n\",\n    \"print(p_x_given_y.round(3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"colab\": {\n     \"base_uri\": \"https://localhost:8080/\"\n    },\n    \"id\": \"G8HyWdgE48Ts\",\n    \"outputId\": \"c5f3fb1f-b23a-4f8d-a62b-9f7968f08bb1\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[[0.086 0.619 0.151 0.219]\\n\",\n      \" [0.741 0.168 0.027 0.318]\\n\",\n      \" [0.174 0.212 0.821 0.463]]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# normalize it\\n\",\n    \"p_x_given_y = utils.norm_dist(p_x_given_y)\\n\",\n    \"print(p_x_given_y.round(3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"2doBWPTW5Lix\"\n   },\n   \"source\": [\n    \"Now print the first column (i.e. $P(X | Y = 0)$) and show that it's a proper categorical distribution\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"id\": \"9mtgjyb1d7ht\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[[0.08555937]\\n\",\n      \" [0.74093812]\\n\",\n      \" [0.1735025 ]]\\n\",\n      \"Integral of P(X|Y=0): 0.9999999999999999\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print(p_x_given_y[:,0].reshape(-1,1))\\n\",\n    \"print(f'Integral of P(X|Y=0): {p_x_given_y[:,0].sum()}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"fqsar3k5d8lm\"\n   },\n   \"source\": [\n    \"So column `i` of the matrix `p_x_given_y` represents the conditional probability of $X$, given the `i`-th level of the random variable $Y$, i.e. $P(X | Y = i)$\\n\",\n    \"\\n\",\n    \"Next: taking expectations of random variables using matrix-vector products\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"id\": \"XKkJuevmd-7H\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[[0.75]\\n\",\n      \" [0.25]]\\n\",\n      \"[[0.6  0.5 ]\\n\",\n      \" [0.15 0.41]\\n\",\n      \" [0.25 0.09]]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Create a P(Y) and P(X|Y) using the same numbers from the slides \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"p_y = np.array([0.75, 0.25]) # this is already normalized - you don't need to `utils.norm_dist()` it!\\n\",\n    \"\\n\",\n    \"# the columns here are already normalized - you don't need to `utils.norm_dist()` it!\\n\",\n    \"p_x_given_y = np.array([[0.6, 0.5],\\n\",\n    \"                        [0.15, 0.41], \\n\",\n    \"                        [0.25, 0.09]])\\n\",\n    \"\\n\",\n    \"print(p_y.round(3).reshape(-1,1))\\n\",\n    \"print(p_x_given_y.round(3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"iGFLbNSteN5h\"\n   },\n   \"source\": [\n    \"Calculate expected value of $X$, given our current _belief_ about $Y$, i.e. $P(Y)$ using a simple matrix-vector product, of the form $\\\\mathbf{A}\\\\mathbf{x}$.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"id\": \"JMUFrn0FeOMY\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"\\\"\\\"\\\" Calculate the expectation using numpy's dot product functionality \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"# first version of the dot product (using the method of a numpy array)\\n\",\n    \"E_x_wrt_y = p_x_given_y.dot(p_y)\\n\",\n    \"\\n\",\n    \"# second version of the dot product (using the function np.dot with two arguments)\\n\",\n    \"# E_x_wrt_y = np.dot(p_x_given_y, p_y)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"XGzohGsF5taF\"\n   },\n   \"source\": [\n    \"Now print it and verify the result is a proper categorical distribution (integrates to 1.0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"id\": \"aqq_fV165yqp\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[0.575 0.215 0.21 ]\\n\",\n      \"Integral: 1.0\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print(E_x_wrt_y)\\n\",\n    \"print(f'Integral: {E_x_wrt_y.sum().round(3)}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"YxwopW4heRcb\"\n   },\n   \"source\": [\n    \"## **A simple environment: Grid-world**\\n\",\n    \"Now that we understand categorical distributions and how to take conditional expectations of random variables, with categorical conditional and prior distributions, let's move onto a worked example of Active Inference, so-called 'Grid-World'. \\n\",\n    \"\\n\",\n    \"Before we write down the generative model $P(o,s)$ of an active inference agent who will navigate Grid-World, let's start by establishing what exactly this environment is and how we're going to represent it mathematically.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"id\": \"rZYA7vDreRo5\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"import itertools\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\" Create  the grid locations in the form of a list of (Y, X) tuples -- HINT: use itertools \\\"\\\"\\\"\\n\",\n    \"grid_locations = list(itertools.product(range(3), repeat = 2))\\n\",\n    \"print(grid_locations)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"id\": \"HLr-vvmLefyb\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_grid(grid_locations)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"PQ1Rm_w23sLO\"\n   },\n   \"source\": [\n    \"## **Building the generative model**: $\\\\mathbf{A}$, $\\\\mathbf{B}$, $\\\\mathbf{C}$, and $\\\\mathbf{D}$\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"0q32yTQEeiqw\"\n   },\n   \"source\": [\n    \"### 1. The **A** matrix or $P(o\\\\mid s)$. \\n\",\n    \"\\n\",\n    \"---\\n\",\n    \"\\n\",\n    \"The generative model's \\\"prior beliefs\\\" about how hidden states relate to observations\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"colab\": {\n     \"base_uri\": \"https://localhost:8080/\"\n    },\n    \"id\": \"uRUbpndA61Lg\",\n    \"outputId\": \"e02d2149-884c-48a4-d2b3-a4151ec82a07\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Dimensionality of hidden states: 9\\n\",\n      \"Dimensionality of observations: 9\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Create variables for the storing the dimensionalities of the hidden states and the observations \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"n_states = len(grid_locations)\\n\",\n    \"n_observations = len(grid_locations)\\n\",\n    \"\\n\",\n    \"print(f'Dimensionality of hidden states: {n_states}')\\n\",\n    \"print(f'Dimensionality of observations: {n_observations}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"id\": \"3QLSmiYu67j4\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"\\\"\\\"\\\" Create the A matrix  \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"A = np.zeros( (n_states, n_observations) )\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"id\": \"k-i2_Uxc6_QY\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"\\\"\\\"\\\" Create an umambiguous or 'noise-less' mapping between hidden states and observations \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"np.fill_diagonal(A, 1.0)\\n\",\n    \"\\n\",\n    \"# alternative:\\n\",\n    \"# A = np.eye(n_observations, n_states)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"DuU1UHLTfAHo\"\n   },\n   \"source\": [\n    \"Likelihood matrices show relationships between indices of the state space, which are indexed linearly. Remember the (Y, X) coordinates of the grid world don't necessarily neatly map onto to the locations in the matrix here, which has 'unwrapped' the Grid World's (Y, X) locations into columns/rows.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 19,\n   \"metadata\": {\n    \"id\": \"HdmHQ2l-fKhR\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x432 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A, title_str = \\\"A matrix or $P(o|s)$\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"xZx08e6YfL7r\"\n   },\n   \"source\": [\n    \"How could we introduce uncertainty into this A matrix? I.e. how do we introduce ambiguity or uncertainty into the agent's model of the world? \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 20,\n   \"metadata\": {\n    \"id\": \"OQycm296fCZN\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Remind yourself of the mapping between linear indices (0 through 8) and grid locations (Y, X) \\\"\\\"\\\"\\n\",\n    \"plot_grid(grid_locations)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 21,\n   \"metadata\": {\n    \"id\": \"MboJWmdqfRX0\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"A_noisy = A.copy()\\n\",\n    \"\\n\",\n    \"# this line says: the probability of seeing yourself in location 0, given you're in location 0, is 1/3, AKA P(o == 0 | s == 0) = 0.3333....\\n\",\n    \"A_noisy[0,0] = 1 / 3.0 # corresponds to location (0,0)\\n\",\n    \"\\n\",\n    \"# this line says: the probability of seeing yourself in location 1, given you're in location 0, is 1/3, AKA P(o == 1 | s == 0) = 0.3333....\\n\",\n    \"A_noisy[1,0] = 1 / 3.0 # corresponds to one step to the right from (0, 1)\\n\",\n    \"\\n\",\n    \"# this line says: the probability of seeing yourself in location 3, given you're in location 0, is 1/3, AKA P(o == 3 | s == 0) = 0.3333....\\n\",\n    \"A_noisy[3,0] = 1 / 3.0 # corresponds to one step down from (1, 0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 22,\n   \"metadata\": {\n    \"id\": \"7hh5dxG-fRva\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAY0AAAGBCAYAAACaZe2qAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAA1J0lEQVR4nO3dd1gUV9sG8HvBGlHErgTLS1xQEEFEo1FQxC7GigWwJkqsiA2NJTZQYy8xEo3dRIhKLESU2KNoJNhbjEYRCwiigAYQzveH7+7HUpYDAru+uX/XtZfu2ZnZZ4fZvefMnJ1VCCEEiIiIJBjougAiInp/MDSIiEgaQ4OIiKQxNIiISBpDg4iIpDE0iIhImt6HhoWFBXx9fdX3nZ2d4enpqb4vhMDXX3+N5s2bw9bWFjt27ICnpyecnZ0LrYb8LC8qKgoWFhawsrJCbGxsodVQGOLi4vDq1as8p/P19YWFhUUxVKRfzy1LX2pMTU3F06dP1ff37NkDCwsLnDt3Tif1+Pv7Y8aMGRptO3fuRKdOnWBjYwNXV1ccPHhQenl5zRsVFYXmzZtrrIPcnDt3DhYWFtizZ4/08+dEtY737Nmj8X9AfrvQl+0HePt5qvpsy/x/bfQ+NLKaPn06vLy81PePHz+ODRs2wNbWFl9++SVatGgBLy8vTJ8+XSf17d+/H2XLlsWbN2+wb98+ndSQkxMnTqBTp06Ij4/Pc9p+/fph8eLFxVAVFVR0dDRcXV3x22+/qdscHBywePFimJubF3s9N2/eRGBgIMaMGaNu27hxI+bMmQMLCwtMnz4d1apVg4+PD0JCQvJcnsy8ZmZm6NSpE/z8/PJcnrm5ORYvXgwHB4eCvUBSK6HrAvLLxcVF4/6tW7cAAD4+Pur0/s9//lPsdakcOHAAH3/8MaKjoxEcHIzhw4frrJbMLl++jJcvX0pNa2dnBzs7uyKuiN7Fw4cP8ffff2u0mZmZwczMTCf1+Pn5wdXVFTVq1AAAvHz5EmvWrEG3bt2wdOlSAICbmxs8PT2xePFidOzYEYaGhjkuKz/zjhgxAu3bt8eFCxfQtGnTXOurUqUKPv3003d+nWXKlNH4N+v/3zdlypSB6vvdsq/jvetpZJWWlgYAKFeunI4rAa5fv46//voLTZs2haOjI27fvo0rV67ouiyiInXz5k2cO3cOrq6u6rajR4/i1atXGDBggLrNwMAAAwcOxOPHjxEZGZnr8vIzr6mpKVq0aIHNmzcX7ovKRd26dQEAtWvXVv9f9e/7qE6dOqhTp062/2sjFRrOzs6YO3cugoKC0LFjR9jY2KB37964fPkyYmNjMX78eNjZ2aF169ZYtmwZMjIyNOYPCwtD//79YWNjg6ZNm8LLyws3b97M9jw7duxQL79Pnz74448/cqxFdU7D2dkZa9asAQC0a9dOfTwup3MQd+7cwejRo9G0aVM0btwY/fv3x6lTp7It/8yZM+jfvz9sbW3h4uKCoKAgmVUE4O2hKQBo1qwZ2rdvDwBSx1A9PT0xcuRIhIWFoXv37mjUqBG6du2KEydOICkpCbNmzYKDgwNatGiBWbNm4Z9//lHPK4TADz/8gD59+sDOzg6NGjVCp06dEBAQoN6D8PX11VhPqvXn6emJ4cOHY/ny5bCzs0OLFi1w69YtjWOuMTExaNasGZydnfH69WuN12phYaHeE8zKz88PlpaWSEhIULfdvn0bFhYWGocXAWDBggWwt7dX7wAAwJUrV+Dp6QkbGxt88skn8PPzQ0pKisZ8T548wZQpU/Dxxx+jUaNG6NGjR7ZDgr6+vujUqRN27NgBBwcHODg44OTJk9Lzy4qOjsbkyZPVy+revTsCAwOzTff06VNMnz4drVq1gp2dHXr37o2wsDCNac6ePYvPPvsMzZs3h5WVFVq3bo1Zs2ape4p79uzBoEGDAADTpk1T/61yOqfx+vVrLF26FM7OzrC2toazszOWLFmi8bdUzXfz5k1MnDgRDg4OsLOzw6hRo/Dw4cM8X/uOHTtgYmKCJk2aqNuuXr0KALCystKYtmHDhhqP5yS/83bq1AlHjx7F48ePc11mTuc0zp8/D3d3dzRt2hR2dnbo378/jh49musyAKBevXpQKBSoW7cu6tWrBwMDg2yhERkZid69e6NRo0bo0KFDnoGW2zmOrO25bcs5tYeFhcHCwgI7duzIttwJEyagVatWSE9Ph7m5uToozM3NpQJQ+vBUWFgYDh8+jMGDB0MIgXXr1mHs2LEoX7486tevD19fXxw+fBjr169HvXr10LNnTwBvN6i5c+fC2toaPj4+SEpKws6dOzFgwABs2bIFNjY2AIDVq1djzZo1aN26NQYNGoTLly/neWhn+vTpCA4OxpEjRzBt2jR8+OGHOU5369YtDBw4EFWqVMHIkSNRsmRJHDhwACNGjMDSpUvRpUsXAG8D4/PPP0fdunXh7e2N+Ph4LFiwAAqFAiYmJlprycjIwMGDB1GjRg00atQIAFCtWjWEhIRg2rRpKFWqlNb5r127hsjISAwaNAjly5fH+vXr4e3tjQYNGqBs2bLw8fHBhQsXsGvXLlSrVk197HjFihX49ttv0bNnT7i5uSE5ORnBwcFYunQpypUrB3d3d/Tr1w9JSUnq9VS/fn318/7xxx+IiorC5MmT8fDhQ3z00UcadVWrVg2+vr6YNm0avvnmG0ycOBGxsbGYP38+LC0tMXbs2Bxfj6OjI7Zs2YLz58+jQ4cOAKD+MIuMjIQQAgqFAgBw+vRpfPLJJyhZsqR6/sGDB6N79+7o2rUrjh8/ji1btkAIgS+//BLA2w/fvn37QggBT09PGBsb49dff8XkyZMRExODzz77TL2sx48fY926dRgzZgxiYmJga2ubr/nzEhUVBTc3N6SkpMDDwwNVq1bF4cOHMXPmTPz999+YMmUKACAhIQFubm5ISEiAu7s7zMzMcODAAYwZMwZr1qyBi4sLTp8+jc8//xxNmjTBuHHjoFAo8Ntvv2HXrl148eIFVq5cCQcHB3h5eeHbb79Fv379YG9vn2NdqampGDp0KC5evIhevXrB2toaly9fxnfffYeIiAhs3bpVY51/8cUXMDc3x4QJExAVFYUtW7YgJiYGP/30k9bXf+LECbRu3VrjcFNMTAyMjY1RtmxZjWmrVq0KAHj06FGuy8vvvM2aNUN6ejpOnz6Nvn37aq1V5e7duxg5ciQaNGiACRMmAAACAwMxatQobN++PddDXWXLltXY4b1x40a2aYYNG4b27dujV69eCAsLg7+/PxITE3N9r+RHTttySEhItnZ7e3tUrlwZhw4dgru7u3r+V69e4dixY+jTpw8MDQ0xadIk9WOZ/6+VkNC2bVthYWEhbt68qW5btGiRUCqVwtvbW92WnJwsrKyshI+PjxBCiPj4eNG4cWPRp08fkZKSop4uKipKNG7cWPTu3VsIIURcXJywtrYWo0aNEhkZGerpVq1aJZRKpZg6dapGLR4eHtmmiYqKUrd5eHiItm3batx3cXERycnJ6ra0tDQxcOBA0bJlS3VtPXv2FE5OTiIxMVE93dmzZ4VSqdRYXk5U082dO1fdNmfOHKFUKkVISIjWeT08PIRSqRRHjx5Vt23fvl0olUrh5uambsvIyBCOjo6iX79+QgghUlNTRZMmTcSECRM0lpeYmCisra3FyJEj81xPSqVSXLx4UWP+qVOnCqVSqdE2fPhwYWVlJe7cuSNGjx4trKysNLaHrFJSUkTjxo3FnDlz1G2jR48WrVu3FkqlUj1vdHS0UCqVYvfu3RrPvWnTJvV86enpon379sLJyUmjxmbNmomnT59qrB8fHx9hbW0tnj17prG8gwcPZnuNMvPnJOv68fb2FpaWluLq1asaNY8cOVJYWFiI27dvCyGEWLx4sVAqleLChQvq6f755x/h4uKifi8MHz5ctG3bVuP9IoQQbm5uws7OTn0/PDxcY70JIcTu3buFUqkU4eHhQgghdu7cmW1dCiHEd999J5RKpdi+fbvGfGPGjNGYbtasWUKpVIp79+7lui4ePHgglEql+O677zTahw0bJlq3bp1t+rS0NKFUKsWMGTNyXWZ+583IyBCNGzcWU6ZMyXWZWddXQECAUCqVIi4uTj1NfHy86NChg9i6dWuuy9FGtV0sWrRI3Zaeni4GDRokrK2tRXx8vMZ0WefLbXlZ7+e0LefUPm/ePGFpaSliYmLUbfv378/xPZ8f0uc0ateurdFVqlevHgCoD8MAwAcffIDKlSurh5qePXsWr1+/xtChQzX2tD/88EN0794dV65cQUxMDM6dO4fU1FS4ubmp9z4BaAytLajnz5/j/PnzcHJywj///IP4+HjEx8fj5cuXaN++PZ49e4YrV64gLi4O165dQ9euXWFkZKSe/+OPP5YaHnfgwIFs6yM/h6hKly6N1q1bq++r1m+7du3UbQqFAqampur1W7JkSZw5cwZz587N9pqNjIykhteWKVNG3TPSZt68eShdujRGjhyJI0eOYNy4cVrXS6lSpdC8eXOEh4cDeHsY7ffff4enpycMDAxw4cIFAMCpU6egUCjg6OioMX/Xrl3V/zcwMEDDhg3x7NkzAG97dWFhYWjatClKlCih/ps+f/4cHTp0QGpqqsaoIgAae44FmT836enpOH78OFq1aqVxOMXAwABeXl4QQqgPeRw/fhxWVlYaPYPSpUsjICAAq1atAgCsX78eu3fv1ni/5OfvmdnRo0dhZGSksacJAIMGDYKRkVG2QzGdO3fWuN+gQQMAUK/3nKgOX2Xt5YtMPcmcaHssv/Oq3hcyh9JUVCfs582bpz7cZWJigtDQ0Hf+3MncSzUwMICHhwdSU1Nx5syZd1quSm69oKzt3bp1Q0ZGBkJDQ9VtBw8ehJmZGRo3blzg55c+PFW5cmWN+6quaKVKlbK1i/8eS1f9EXMazaQaFvjo0SNER0cDeBtMmVWsWDHb8+ZXVFQUAGDbtm3Ytm1bjtM8fvxY3U3PWgPwtv7Lly/n+hypqakIDQ1FuXLlUKtWLfXrNjU1Rbly5fDbb78hJiYG1apVy3UZFStWRIkS///nUK3fnNa7yHQ1+5IlS+L48eP49ddfce/ePdy/fx8vXrwAAI3ptD2vgUHe+w41a9aEt7c35s+fD6VSKXX4xtHREXPnzkVsbCyePXuGhIQEODs748CBA7hw4QLc3d1x+vRpWFlZoUqVKhrzZn3dZcqUUZ/zeP78ORITExEWFpbtfIBK1uPbmZdXkPlz8/z5c7x69Uod8pmptnHV9h0dHZ3jOPjM8xoaGiIqKgorV67EnTt38ODBA6nvIeTk4cOHMDMz0zgEBbwNdDMzM3VdKlkPwaqCKz09PdfneP78OQBo7GgBb3cgM597U1G1aRu4UpB5jYyM1LXI6NSpE44cOYKQkBCEhISgatWqcHJyQs+ePbWOwspLxYoVs30mqka0ZV3fBZXbZ2LWdltbW9SuXRuHDh2Ch4cHEhMTcerUqXce0SkdGpk/0DLTtkegjeoDrWTJkuplZD3RCSDbSfX8Um3w7u7u2Ybrqnz00UfqN2ZOG2teNZw4cUJ9kjJzTyOzn3/+GZ9//nmuyyjI+hVCYNSoUTh27Bjs7e1hZ2eHfv36wcHBAYMHD9Zas0puwx5zouod3Lt3D7dv34alpaXW6VW9h/DwcMTFxaFy5cowNzeHg4MDQkND8ebNG5w9ezbHWrUFmepv2rFjR/Tv3z/HabIOPc38Ogsyf260BbNqu8n84ZvX+2Xjxo1YvHgx6tWrh6ZNm6JDhw5o3Lgxtm3bph5oISuv2rKGiczOQ1aqebK+R2rWrIkXL14gNTVVo9cUExMDAKhevXquyyzIvBkZGfnalkuWLIlVq1bh1q1bOHLkCE6ePIk9e/bgp59+wsSJEzFixAjpZWWm7e+b3/WbW1jn9jpzau/atSvWr1+PmJgYnD59GmlpaejWrVu+6siqSL+nYWpqCuDtSaesHzB3794F8LabqHqD/v333xrTJSUl5WvvQVsNhoaGaNmypcZjd+7cwcOHD1G2bFmYmppCoVDg/v372ZaRV7dX9Wb29fXN9mETExODOXPmYO/evVpDoyAuXLiAY8eOYdSoURg/fry6/c2bN0hISCjUMftHjhzBoUOHMGLECOzZswfTp09HYGBgrmEHvP3grVevHsLDw5GQkKDeg2vWrBm2bduGAwcOIDExEU5OTvmqpVKlSuovUGb9mz569AjXr1/PdhK1MOfPuqwPPvhAvT1ndu/ePQD/fyikVq1aePDgQbbp9u7di4iICPj6+mL16tVo3rw5vv/+e411u3LlSql6MjM1NcXFixeRlpamERCpqal4+PDhO+1Rq6h6iJlHyQFvRz4JIXDjxg2NQyGqE8faDokWZN6EhAT1e13Go0eP8OjRIzRt2hQWFhYYM2YMnjx5gsGDB2Pjxo0FDo0XL14gKSlJo+el2g5yOooB/H+YZA1JbYcFZbm6umLdunU4fvw4Tpw4AQsLC42BMAVRpN/TaNmyJUqXLo1NmzYhNTVV3f7kyRPs378fNjY2qFy5Mlq2bIkPPvgAW7ZswZs3b9TT5TRcLL+qVasGa2tr7N27V6Obn5aWhunTp2PcuHF48+YNKlWqBAcHB+zbt0/jjxUZGYlr167luvykpCQcP34cZmZmGDJkCFxcXDRuAwcOhJWVFf766y9cunTpnV9PZqo3atYRT4GBgXj9+rXGulRtmDKHrLJ68eIF5syZA6VSiXHjxmHKlCm4du0aNmzYkOe8jo6OOHv2LP744w80a9YMwNtvLisUCqxZswZVqlSROqeSWYkSJeDo6IgTJ05kG7q9cOFCjB49WuvOxrvOn5mhoSFat26N3377TWM7EULgu+++g0KhQJs2bQC8XRdXrlzRGDKalpaGjRs34urVq0hPT8fr169Rt25djcC4ceMGzp8/DwDqv6lqr1JbL9jZ2RlJSUnZ3kc7d+5EcnKyuq53UatWLQBv39OZOTk5oXTp0hqHhDMyMrBz506YmprC1tY212Xmd9709HTExsaiZs2a0nV/++23GDJkiMZnQo0aNVCtWrUC9bgy15l5tNmbN2+wZcsWfPDBB2jRokWO86hGhWUeifXkyROt32WRZW5ujoYNGyIsLAxnz559514GUMQ9DRMTE/j4+MDf3x8DBgyAq6srkpOT8cMPPyAjI0N9nRojIyNMnjwZc+bMweDBg9G5c2f8+eef2Ldvn/QenzYzZszA4MGD0bt3bwwYMAAVK1bEwYMHcenSJUycOFF9LHfq1Klwd3eHm5sb3N3d8fr1a2zevFnrcNvDhw8jJSUFvXv3zrVr2r9/f8ycORN79ux5pxNQWdnZ2cHIyAj+/v6Ijo6GsbExzp07h5CQEJQuXRrJycnqaVXHWTds2ABHR0eNE+x58fPzw7Nnz7By5UqULFkSn376KXbv3o21a9fCxcUlW2hlphp6C0B9CQcTExPUr18ft2/fRq9evQp0iHPSpEk4d+4c3N3d4e7ujlq1auH48eM4duwY+vXrl+fe1LvOn9OyPD094enpiapVq+LIkSMIDw/H0KFD1evHy8sLoaGhGDx4MDw8PFCtWjUcPHgQf/31F77//nsYGxujcePG2LNnD4yMjFCvXj38+eefCAoKUn+QJScnw9jYWL1N7tu3D0II9RD3zPr27Yu9e/di4cKFuH37NqytrXH16lXs2bMHtra20sNTtalVqxZq166dbYfIxMQEI0aMwOrVqyGEwMcff4zQ0FBERERg+fLlGodSVOeVVIeP8zMv8Pb7P69fv871Qzkn7u7u+Pnnn9VD0o2NjREeHo7z589j3LhxBV0dKFu2LFatWoXHjx+jdu3aCAkJQWRkJGbPno3y5cvnOE/nzp2xfv16TJgwAUOGDEFKSgp27NiB6tWrZ/vWf0F069YNixcvhkKh0BhgUlBF/o3wIUOGYPny5VAoFFi2bBm2bt0KOzs7BAYGanyADhw4EEuWLMHLly+xaNEi/PHHH/jmm29QoUKFd67Bzs4OP/zwA6ytrbFp0yZ8/fXXeP36NRYuXKjRDbW2tsa2bdtgZmaGNWvWICgoCGPGjEGrVq1yXfb+/fthYGCQ45tWpVu3bjAyMkJISEiO520KqkqVKggICICZmRnWrVuHZcuW4dGjR1i2bBkGDhyIO3fuqHtNXbt2RcuWLbFnzx4sWbJE+jlOnjyJ4OBg9OnTR2PUz+zZsyGEwPTp07WeKG3WrBnKli2LihUrQqlUqttVAZJ11JSs2rVrIzAwEG3atEFgYCD8/PwQFRWFadOmYfbs2UU+f07LcnJywo8//oivv/4aiYmJWLBggcbFNitXroxdu3ahbdu2+PHHH7FkyRIIIfD999+rP/BWrlwJZ2dn7N69G35+fjhz5gxGjBih/pupRqOZm5vD09MTV69ehZ+fX47feyhVqhQ2b96MoUOH4syZM/Dz88P58+cxcuRIbNmyJds5jYJydHREZGRktl7P6NGjMWXKFERGRmLevHmIiYnBihUrso3S8vPzy3b9KNl5ASAiIgIGBgZa36dZWVhYYNOmTahTpw6+//57zJs3D3/++SdmzpyJUaNG5ePVa6pQoQLWrl2LM2fOwN/fHwkJCfj6668xcODAXOextLTEihUrUK5cOSxevBiBgYH4/PPP4ebmVuA6MuvWrRsMDAxga2ubr0N4uVGIghyvICL6rxs3bqBHjx7YtGlTtnNEMhITE9GnTx+NoaH50b9/f1SpUkV91QPSFBMTAycnJ8ycOVNreMl67689RUS61aBBA7Rs2RJ79+4t0Pw7d+4s8GHb+/fvIzIyEsOGDSvQ/P8GgYGBKFWqVKEcmgIYGkRUCCZMmIDQ0NB8fcFOxcjISH15mPwKCAhA27ZtNa57RW8tXboUXl5eWLt2Lfr27QtjY+NCWS5Dg4jemY2NDdzc3LB27dp8z+vu7l6gD7QHDx7gyJEj+T4H9W/x6tUrhIeHw8XFBT4+PoW2XJ7TICIiaexpEBGRNJ3/cl9hDSsrTPn5DQ0iouIWE/MSVavm/L2PosaeBhERSWNoEBGRNIYGERFJY2gQEZE0hgYREUljaBARkTSGBhERSWNoEBGRNIYGERFJY2gQEZE0hgYREUljaBARkTTpCxZGR0fj3r17SEpKgoGBAcqXL4969eqhRo0aRVkfERHpkTxD4/Dhw1i5ciXu3r2LrD+9oVAoUKdOHXh7e6NTp05FViQREekHraERHBwMX19fdO7cGWPHjkWdOnVQrlw5AEBSUhLu37+P0NBQTJgwAWlpaXB1dS2WoomISDe0/nJfly5d0Lx58zx/TnH27NmIiIjAgQMH8l0Af0+DiCh/9Pb3NKKjo+Hi4pLnQlxcXBAVFVVoRRERkX7SGhpmZmY4ffp0ngs5fvw4T4gTEf0LaD2n4eXlhcmTJyMmJgYdOnRAvXr1YGRkBABITk5Wn9M4cOAA5syZUywFExGR7mgNjW7dusHAwAArVqzAwYMHoVAoNB4XQuDDDz+En58fevbsWaSFEhGR7uU55LZLly7o0qULoqKicPfuXSQlJUEIof6eRu3atYujTiIi0gPSX+4zMzODmZlZUdZCRER6jpcRISIiaQwNIiKSxtAgIiJpDA0iIpLG0CAiImkMDSIiksbQICIiaQwNIiKSxtAgIiJpDA0iIpLG0CAiImkMDSIiksbQICIiadJXuf030fKz6TqT9bdMiIh0gT0NIiKSxtAgIiJpDA0iIpLG0CAiImkMDSIiksbQICIiaQwNIiKSxtAgIiJpDA0iIpLG0CAiImkMDSIiksbQICIiaQwNIiKSxtAgIiJpDA0iIpLG0CAiIml5/gjT06dP87XA6tWrF7gYIiLSb3mGRrt27ZCeni69wBs3brxTQUREpL/yDI2goCCMHDkSqampmDhxIkqU4C/EEhH9W+WZAA0aNMCmTZvg5uaG2NhYjBo1qjjqIiIiPSR1Itzc3Bw+Pj7YsGED4uPji7omIiLSU9LHmvr374/69esXZS1ERKTnpEPD0NAQzZo1K8paiIhIz/F7GkREJI2hQURE0hgaREQkjaFBRETSGBpERCSNoUFERNIYGkREJI2hQURE0hgaREQkjaFBRETSGBpERCSNoUFERNIYGkREJE0hhBA6LUCh0OXTvzd0/GfKEf92RLoRE/MSVauW18lzs6dBRETSGBpERCSNoUFERNIYGkREJI2hQURE0hgaREQkjaFBRETSGBpERCSNoUFERNIYGkREJI2hQURE0hgaREQkTSo0bt68iSNHjuDevXs5Pv78+XPs37+/UAsjIiL9o/Uqt8nJyfD29sbp06chhIBCoUD79u0xb948GBsbq6e7dOkS+vfvjxs3buS/AF4pVQqvcktEKnp7ldvVq1fj8uXLWLp0KYKDgzF69GicOHECHh4eePbsWXHVSEREekJraPz666/w9vZGly5dYGlpiTFjxmDr1q14+vQpPv/8cyQlJRVXnUREpAe0hsazZ89Qt25djbbGjRtj3bp1uHv3LsaOHYs3b94UZX1ERKRHtIaGmZkZwsPDs7Xb29vD398f4eHhmDp1KoODiOhfooS2BwcMGID58+cjOTkZXbt2hZ2dnfqxLl264OnTp1i0aBEuXbpU5IUSEZHuaQ2N/v37IzExERs3boRCodAIDQAYOnQojIyMsGDBgiItkoiI9IPWIbeZJSUlwcjIKMfH4uPjcfLkSfTo0SP/BXDYphQOuSUiFV0OuZUOjSIrgB88UhgaRKSit9/TICIiyoyhQURE0hgaREQkjaFBRETSGBpERCSNoUFERNIYGkREJI2hQURE0hgaREQkjaFBRETSGBpERCSNoUFERNIYGkREJE3r72kUh759++q6hGyCgoJ0XUI2+nhFWV55l+jfhz0NIiKSxtAgIiJpDA0iIpLG0CAiImkMDSIiksbQICIiaQwNIiKSxtAgIiJpDA0iIpLG0CAiImkMDSIiksbQICIiaQW+YOHFixcRExMDpVKJunXrFmJJRESkr/IMjUOHDmH79u1ISUlBv3790L17d4wYMQLnzp2DEAIKhQJ9+/bF3Llzi6NeIiLSIa2hceDAAUyaNAkODg6oUKECZs2ahbCwMFy/fh3+/v6wsrLC6dOnsXz5ctStWxfDhg0rrrqJiEgHtIbGd999h2HDhmHKlCkAgICAACxfvhwzZsxAjx49AAD169dHcnIydu3axdAgIvofp/VE+N9//w1HR0f1/d69e0MIAQsLC43p7O3t8eTJk6KpkIiI9IbW0KhRowYuX76svl+5cmWsWrUKNWvW1Jju6tWrqFWrVtFUSEREekPr4akBAwbg66+/RmxsLEaMGIGqVauiQ4cO6sdjY2Oxa9cuBAQEYPz48UVeLBER6ZbWnsaQIUMwduxY7Nu3DwkJCdkeP3PmDNauXYu+fftiyJAhRVQiERHpC4UQQuQ10Zs3b2BoaAiFQqHR/uLFC2RkZMDExKTABbi5uRV43qISFBSk6xLeCxKbTrHLuo0S/S+KiXmJqlXL6+S5pb7cV6JEzpMZGxsXajFERKTfeBkRIiKSxtAgIiJpDA0iIpLG0CAiImkMDSIiksbQICIiaQwNIiKSxtAgIiJpDA0iIpLG0CAiImkMDSIiksbQICIiaQwNIiKSJnVp9CItgJeypkKkj5drB7idU+HS5aXR2dMgIiJpDA0iIpLG0CAiImkMDSIiksbQICIiaQwNIiKSxtAgIiJpDA0iIpLG0CAiImkMDSIiksbQICIiaQwNIiKSVuDQCA4OxosXLwqzFiIi0nMFCo309HRMmzYN0dHRhV0PERHpsVwvjd6xY0etM96/fx81a9ZEqVKlAAChoaEFK4CXjKZCxEuj07+BLi+NXiK3B+rXr4+wsDDUrFkTH3/8scZjQgjcv38fFhYWMDExKfIiiYhITwgtgoODRbNmzYSPj494/vy5uj0tLU1YWFiIq1evaptdCgDeeCu0m77S9Xrh7X/rFhPzUmfbstZzGp9++in279+PxMREdOvWDWFhYQDY1SYi+rfK80R4tWrVEBAQgPHjx2Pq1KmYOHEiEhISiqE0IiLSN9Kjp/r27Yt9+/YhLi4Orq6u7G0QEf0L5WvIrampKTZv3oxRo0ahadOmKFeuXFHVRUREeijXIbfFVgB7LFSIdLw554rbORUmXQ655WVEiIhIGkODiIikMTSIiEgaQ4OIiKQxNIiISBpDg4iIpDE0iIhIGkODiIikMTSIiEgaQ4OIiKQxNIiISBpDg4iIpDE0iIhIWq6/EU70PtLXq8nq49V39XVdkX5jT4OIiKQxNIiISBpDg4iIpDE0iIhIGkODiIikMTSIiEgaQ4OIiKQxNIiISBpDg4iIpDE0iIhIGkODiIikMTSIiEgaQ4OIiKQV6Cq3Z8+exc2bN2FiYgJ7e3uYmZkVdl1ERKSHtIZGkyZNsHXrVlhbWwMAkpOT8cUXX+D3339XX+q5RIkS8PDwgK+vb9FXS0REOqU1NF69eoWMjAz1/UWLFuHatWtYvHgx2rRpg3/++QcHDx7E0qVLUaVKFXz22WdFXjAREelOvg5PHTp0CGPHjoWrqysAoHz58hgyZAiSkpIQGBjI0CAi+h+XrxPhaWlp6kNVmdnb2+Pp06eFVhQREemnPEPj77//RkpKCoC34XDr1q1s00RERMDU1LTwqyMiIr2iEFp+vNjGxgapqakwNDSEmZkZSpYsiYcPHyIwMBD169dHVFQUdu7ciW3btmHChAkYPnx4/gvg7xTTvwB/I5wKU0zMS1StWl4nz631nEZkZCTu3buHmzdv4saNG7h58yaeP3+OFy9eAADCw8OxZcsWDBw4EEOGDCmOeomISIe09jTyEh8fD4VCARMTk4IXwL0d+hdgT4MKk972NPJSqVKlwqqDiIjeA7yMCBERSWNoEBGRNIYGERFJY2gQEZE0hgYREUljaBARkTSGBhERSWNoEBGRNIYGERFJY2gQEZE0hgYREUljaBARkTSGBhERSXunq9wSkRx9vAw5L9dOBcGeBhERSWNoEBGRNIYGERFJY2gQEZE0hgYREUljaBARkTSGBhERSWNoEBGRNIYGERFJY2gQEZE0hgYREUljaBARkTSpCxampKSgdOnS6vsPHz7E7du3oVAoYGtrCxMTkyIrkIiI9IfW0Hj16hVmzpyJK1eu4PDhw0hJScFXX32Fn3/+GRkZGW8XUKIEPD09MXXq1GIpmIiIdEdraCxbtgynTp2Ct7c3AMDf3x+HDh3ClClT0KpVK6SlpeHo0aP49ttvYWJighEjRhRHzUREpCtCi1atWokff/xRfd/e3l5s3rw523Tr168Xbdu21baoXAHgjTfedHDTR7peJ+/LLSbmpc7+RlpPhCcmJqJ27drq++np6bC0tMw2XaNGjRAXF6dtUURE9D9Aa2g0bNgQu3btUt9v06YNDh8+nG26PXv2wNzcvPCrIyIivaL4b5cwR7///juGDRsGOzs7DBgwABUqVICvry/s7e3h6OiI1NRUHDx4EBEREVi9ejXatWuX/wL4845EOqHlra8z/DyQExPzElWrltfJc2sNDQC4ePEilixZgoiICADZN7RatWph0qRJ6NKlS8EK4EZCpBMMjfeXXoeGyvPnz3H79m3Ex8cjLS0N5cqVQ926dd/5sBQ3EiLdYGi8v96L0CiyAriREOkEQ+P9pcvQ4GVEiIhIGkODiIikMTSIiEgaQ4OIiKQxNIiISBpDg4iIpDE0iIhIGkODiIikMTSIiEgaQ4OIiKQxNIiISBpDg4iIpDE0iIhIWgldF0BEuqGPV5TllXf1H3saREQkjaFBRETSGBpERCSNoUFERNIYGkREJI2hQURE0hgaREQkjaFBRETSGBpERCSNoUFERNIYGkREJI2hQURE0rSGRnBwMJ4/f15ctRARkZ7TGhq+vr7o3bs3rly5Ulz1EBGRHsvz8FTZsmXRv39/zJ8/H0lJScVRExER6ak8Q8PPzw9TpkzB3r174ezsjNWrVyMhIaEYSiMiIn2TZ2goFAoMHjwYoaGh6NSpEzZs2ABHR0eMHj0aBw8exOPHj4ujTiIi0gMKoeWnsiwtLREYGAgbGxt1W3x8PAIDA3H48GFcv34dCoUCZcqUQcWKFXHs2LH8F8BfxSKi/+Iv98mJiXmJqlXL6+S58/1zr5UqVYKXlxe8vLzw9OlTXL58Gbdu3UJcXFxR1EdERHrknX4jvHr16mjfvj3at29fWPUQEZEe03pOY+vWrTA3Ny+uWoiISM9pPadRLAXo4fFCItINntOQo8tzGryMCBERSWNoEBGRNIYGERFJY2gQEZE0hgYREUljaBARkTSGBhERSWNoEBGRNIYGERFJY2gQEZE0hgYREUljaBARkTSGBhERSXun39MgIipM+nhFWX288m5sbKLOnps9DSIiksbQICIiaQwNIiKSxtAgIiJpDA0iIpLG0CAiImkMDSIiksbQICIiaQwNIiKSxtAgIiJpDA0iIpLG0CAiImkFvmDhnTt38Oeff8LU1BQ2NjaFWRMREempPEMjNDQUO3fuREJCAnr06IGhQ4di/vz52LFjB4QQUCgUcHJywurVq1GyZMniqJmIiHRE6+Gp/fv3Y/z48UhPT4eZmRmWLl2KadOmYffu3ZgzZw5CQkIwf/58/P7779iwYUNx1UxERLoitHB1dRULFy5U3//ll1+EpaWl2LBhg8Z0GzZsEJ07d9a2qFwB4I033njT25s+iol5qbPn1trTiIqKgqOjo/p+q1atIIRA48aNNaZr1KgRoqOjtS2KiIj+B2gNjZo1a+L06dPq+6r/X79+XWO669evo3LlykVQHhER6ROtJ8I9PT0xZ84cXLt2DeXKlcPJkyfRo0cPrFq1ChUqVECTJk0QERGBNWvWwN3dvbhqJiIiHdEaGgMGDICBgQH27t2Lly9fYt68eejatStiY2Ph6+sLhUIBIQRcXFwwZsyY4qqZiIh0RCFEwX41PTIyEo8ePUK9evXQsGHDgheghz8kT0SkUsCPyCIVG5uIqlXL6+S5CxwahVYAQ4OI9BhDQxMvI0JERNIYGkREJI2hQURE0hgaREQkjaFBRETSGBpERCSNoUFERNIYGkREJI2hQURE0hgaREQkjaFBRETSGBpERCSNoUFERNJ0fpVbIiJ6f7CnQURE0hgaREQkjaFBRETSGBpERCSNoUFERNIYGkREJI2hQURE0hgaREQkjaFBRETS3vvQOHDgALp27QobGxt07twZwcHBui5Jw40bN2BlZYUnT57otI6MjAz88MMPcHV1hZ2dHVxcXODv74+kpCSd1SSEwObNm9GxY0fY2Nige/fu2L9/v87qycmYMWPQvn17ndbw5s0b2NjYwMLCQuNmZ2en07oA4Pfff8eAAQPQuHFjtGrVCvPmzUNycrJOajl37ly2dZT5tnfvXp3UBQA//PADOnfuDFtbW7i6umLfvn06q+VdldB1Ae8iJCQEkyZNwuDBg9GqVSuEhYVh6tSpKFOmDDp16qTr8vDXX39h5MiRePPmja5LwYYNG7BixQoMHz4cLVq0wL1797Bq1SrcuXMHGzdu1ElN69evx6pVqzB27FjY2tri5MmTmDRpEgwNDdGlSxed1JTZzz//jCNHjqB27do6rePevXtISUnBokWLULduXXW7gYFu9/kuXryIoUOHwtnZGevWrcP9+/exbNkyxMfHY/ny5cVej5WVFXbt2qXRJoTAl19+iVevXsHJyanYawKAXbt24auvvsKwYcPQunVrnDhxApMnT0bJkiXRuXNnndT0TsR7zMXFRXh7e2u0jR8/XnTq1ElHFb2VlpYmtm/fLuzs7ESzZs2EUqkUjx8/1lk9GRkZwsHBQXz11Vca7QcPHhRKpVJcv3692GtKTU0VDg4OYu7cuRrtHh4eYsCAAcVeT1ZPnjwRDg4OwtHRUbi4uOi0ln379glLS0vx6tUrndaRlbu7u3B3dxcZGRnqtu3bt4t27drpTa2bN28WlpaW4uLFizqroV+/fsLT01OjbeDAgcLDw0NHFb2b9/bwVFRUFB48eIAOHTpotHfs2BF3795FVFSUjioDIiIisGTJEgwbNgyTJk3SWR0qycnJ6N69O7p166bR/p///AcA8ODBg2KvydDQENu2bcOIESM02kuWLImUlJRiryerGTNm4JNPPkGLFi10XQpu3LiB2rVro2zZsrouRS0+Ph4XLlzAgAEDoFAo1O3u7u4ICwvTi1pjY2OxcuVK9eEzXUlJSUG5cuU02ipWrIiEhATdFPSO3tvQuHv3LgCgXr16Gu116tQB8LZLryvm5uYICwvDmDFjYGhoqLM6VIyMjDBjxgzY29trtIeFhQEAPvroo2KvycDAABYWFqhevTqEEHj27BkCAgJw5swZ9OvXr9jrySwoKAjXrl3DzJkzdVqHyq1bt1CqVCkMHz4cdnZ2cHBwwKxZs3R6Pur27dsQQsDY2Bje3t6wtbWFvb09Zs+ejX/++UdndWW2evVqGBgYwNvbW6d1DBo0CKdOncIvv/yCpKQkHDp0CMePH8enn36q07oK6r09p5GYmAjg7QdiZqpE1+UbqkqVKjp7blmXLl1CQEAAXFxcYG5urtNaDh8+jHHjxgEA2rRpg+7du+uslujoaPj7+8Pf3x+VKlXSWR2Z3bx5E0lJSejbty+8vLxw9epVrF69Gvfu3cPWrVs19vSLS3x8PADA19cX7du3x7p163Dr1i2sWLECKSkpWLhwYbHXlFlcXByCg4MxbNgwVKhQQae1dO3aFeHh4Rrh1bNnT3z22We6K+odvLehIfL4GRBdnyTUZxEREfDy8sKHH36I+fPn67ocNGzYENu3b8etW7ewcuVKjBgxAlu2bCn2D0MhBKZPnw4nJyd07NixWJ9bm+XLl8PY2BgWFhYAAAcHB1SuXBmTJ0/GmTNn8MknnxR7TWlpaQCAJk2aYPbs2QCAFi1aQAiBRYsWYfTo0TAzMyv2ulSCgoKQkZGBQYMG6awGlS+++AKRkZGYNm0aGjZsiEuXLuGbb75RHwF437y3oVG+fHkAyDa8T9XDUD1OmkJCQuDr64u6detiw4YNMDEx0XVJMDMzg5mZGRwcHGBkZISpU6ciMjISTZo0KdY6duzYgVu3bmH//v3qEW+qnZM3b97A0NBQJ3v1zZo1y9bWpk0bAG97IboIDVWP3tHRUaO9VatWWLhwIW7duqXT0AgNDUXr1q113lv8448/cPr0afj7+6NXr14A3v49K1SogFmzZsHNzQ1KpVKnNebXe7s7rjqXkfUk7v379zUep/+3adMm+Pj4wNbWFjt27EC1atV0VktCQgKCg4Px9OlTjfaGDRsCAGJiYoq9ptDQUDx//hytWrWClZUVrKysEBwcjAcPHsDKykon4/zj4uIQFBSUbWCH6ryBrkJfNfQ3NTVVo13VA9FFuKo8ffoU169f14vhrI8ePQKAbDtATZs2BQDcuXOn2Gt6V+9taNSpUwcffvghDh06pNF++PBh1K1bF7Vq1dJRZfopKCgICxcuROfOnbFhwwad98QyMjLg6+ubbVz9b7/9BgA62fuaM2cOfvrpJ41b27ZtUaNGDfX/i5tCocCsWbOwfft2jfaQkBAYGhpmG9xQXMzNzWFqaoqQkBCN9mPHjqFEiRI6/eLhpUuXAEBn6yYz1c5rRESERvvFixcBAKampsVd0jt7bw9PAcDo0aMxbdo0GBsbo02bNvj111/xyy+/6OSLRfosLi4OCxYsgKmpKdzd3XH9+nWNx2vXrl3s3fhKlSph4MCBCAgIQJkyZdCoUSNERERg/fr16Nu3r3o4cHHK6TkrVqyIUqVKoVGjRsVeD/B2Pbm7u2Pbtm0wMjJC06ZNERERgW+//Rbu7u7q0YLFTaFQYNKkSfDx8cGkSZPQq1cvXL16FevWrYOHh4dODwvdvn0bZcuW1YsPZCsrK7i4uGDBggVITExEgwYNcPXqVaxduxaOjo46HQpcUO91aPTq1Qupqan4/vvvERQUBDMzMyxatEgvvk2sT06dOoXXr18jOjoa7u7u2R5fvHixTob/TZs2DTVr1sRPP/2E1atXo0aNGhg3bhyGDx9e7LXos6lTp6J69erYvXs3AgICUL16dYwbN07no2+6dOmCUqVKYe3atRg5ciQqV66M0aNHY+TIkTqt69mzZzofMZXZ8uXLsWbNGmzevBlxcXEwNTXFsGHDsn1H6X2hEHkNQyIiIvqv9/acBhERFT+GBhERSWNoEBGRNIYGERFJY2gQEZE0hgYREUljaBARkTSGBhERSWNoEBGRtP8Dl1qe3/97IW8AAAAASUVORK5CYII=\",\n      \"text/plain\": [\n       \"<Figure size 432x432 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A_noisy, title_str = 'modified A matrix where location (0,0) is \\\"blurry\\\"')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 23,\n   \"metadata\": {\n    \"id\": \"2duo3znv8SQp\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"\\\"\\\"\\\" Let's make ake one grid location \\\"ambiguous\\\" in the sense that it could be easily confused with neighbouring locations \\\"\\\"\\\"\\n\",\n    \"my_A_noisy = A_noisy.copy()\\n\",\n    \"\\n\",\n    \"# locations 3 and 7 are the nearest neighbours to location 6\\n\",\n    \"my_A_noisy[3,6] = 1.0 / 3.0\\n\",\n    \"my_A_noisy[6,6] = 1.0 / 3.0\\n\",\n    \"my_A_noisy[7,6] = 1.0 / 3.0\\n\",\n    \"\\n\",\n    \"# Alternatively: you could have the probability spread among locations 3, 4, 6, and 7. This is basically saying, that whole lower-left corner of grid-world is blurry, if you're in location 6\\n\",\n    \"# Remember to make sure the A matrix is column normalized. So if you do it this way, with the probabilities spread among 4 perceived locations, then you'll have to make sure the probabilities sum to 1.0\\n\",\n    \"# my_A_noisy[3,6] = 1.0 / 4.0\\n\",\n    \"# my_A_noisy[4,6] = 1.0 / 4.0\\n\",\n    \"# my_A_noisy[6,6] = 1.0 / 4.0\\n\",\n    \"# my_A_noisy[7,6] = 1.0 / 4.0\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"e4eyxN618ZgW\"\n   },\n   \"source\": [\n    \"Now plot the new A matrix, that now has two \\\"blurry\\\" locations\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 24,\n   \"metadata\": {\n    \"id\": \"CZDtd3u63Qn0\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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HpWy9y6Qnj59isTERLi6ur72xqFEJD5vb2+UL18eq1atwrfffgsdHR00bdoUK1euLPLaGpVd7+01JCIiKlve22tIRERUtrxXp+zyf120KF79ABsRkWjelxNh7CEREZEQGEhERCQEBhIREQmBgUREREJgIBERkRAYSEREJAQGEhERCYGBREREQmAgERGREBhIREQkBAYSEREJgYFERERCKJGbq96+fRvXrl1DRkYGdHR0ULlyZTRs2BB16tQpieaIiKgMkDWQdu/ejYULF+Lq1asF7i6rUCjQoEEDBAUFwc3NTc5miYioDJAtkGJiYjB+/Hh07twZI0aMQIMGDVCpUiUAQEZGBm7cuIH4+HiMHj0aubm58PLykqtpIiIqA2T7xlh3d3c4Ojpi2rRpr51v2rRpSEpKwo4dO966DX4fEhHR2/vgvg/p9u3bcHV1feN8rq6uuHnzplzNEhFRGSFbIBkbGyMhIeGN8x08eJCDG4iIqADZriEFBgZi7NixuH//Pjp27IiGDRvCwMAAAJCZmam+hrRjxw5Mnz5drmaJiKiMkC2QPD09oaOjgwULFiA2NhYKhULjeUmSUL9+fcyaNQvdu3eXq1kiIiojZB327e7uDnd3d9y8eRNXr15FRkYGJElSfw7JxMREzuaIiKgMKZEPxhobG8PY2LgkFk1ERGUUbx1ERERCYCAREZEQGEhERCQEBhIREQmBgUREREJgIBERkRAYSEREJAQGEhERCYGBREREQmAgERGREBhIREQkBAYSEREJgYFERERCKJG7fX9IRPyu+le/i4qI6H3AHhIREQmBgUREREJgIBERkRAYSEREJAQGEhERCYGBREREQmAgERGREBhIREQkBAYSEREJgYFERERCYCAREZEQGEhERCQEBhIREQmBgUREREJgIBERkRAYSEREJARZv6Dv3r17bzV/7dq15WyeiIjeY7IGUvv27fHixYtiz3/+/Hk5mycioveYrIEUHR2NgIAA5OTkYMyYMdDV5TekExFR8ciaGI0bN8ZPP/2Enj174sGDBxg6dKiciyciojJM9kENZmZm+Prrr7F8+XI8evRI7sUTEVEZVSLn1Hr37o1GjRqVxKKJiKiMKpFAKleuHFq0aFESiyYiojKKn0MiIiIhMJCIiEgIDCQiIhICA4mIiITAQCIiIiEwkIiISAgMJCIiEgIDiYiI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\",\n      \"text/plain\": [\n       \"<Figure size 432x432 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(my_A_noisy, title_str = \\\"Noisy A matrix now with TWO ambiguous locations\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"VVh-pexGuwnh\"\n   },\n   \"source\": [\n    \"### 2. The **B** matrix or $P(s_{t}\\\\mid s_{t-1}, u_{t-1})$.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"---\\n\",\n    \"\\n\",\n    \"The generative model's \\\"prior beliefs\\\" about (controllable) transitions between hidden states over time. Namely, how do hidden states at time $t$ result from hidden states at some previous time $t-1$. These transition dynamics are further conditioned on some past action $u_t$.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 25,\n   \"metadata\": {\n    \"id\": \"ihPWs7X_fVw3\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"actions = [\\\"UP\\\", \\\"DOWN\\\", \\\"LEFT\\\", \\\"RIGHT\\\", \\\"STAY\\\"]\\n\",\n    \"\\n\",\n    \"def create_B_matrix():\\n\",\n    \"  B = np.zeros( (len(grid_locations), len(grid_locations), len(actions)) )\\n\",\n    \"\\n\",\n    \"  for action_id, action_label in enumerate(actions):\\n\",\n    \"\\n\",\n    \"    for curr_state, grid_location in enumerate(grid_locations):\\n\",\n    \"\\n\",\n    \"      y, x = grid_location\\n\",\n    \"\\n\",\n    \"      if action_label == \\\"UP\\\":\\n\",\n    \"        next_y = y - 1 if y > 0 else y \\n\",\n    \"        next_x = x\\n\",\n    \"      elif action_label == \\\"DOWN\\\":\\n\",\n    \"        next_y = y + 1 if y < 2 else y \\n\",\n    \"        next_x = x\\n\",\n    \"      elif action_label == \\\"LEFT\\\":\\n\",\n    \"        next_x = x - 1 if x > 0 else x \\n\",\n    \"        next_y = y\\n\",\n    \"      elif action_label == \\\"RIGHT\\\":\\n\",\n    \"        next_x = x + 1 if x < 2 else x \\n\",\n    \"        next_y = y\\n\",\n    \"      elif action_label == \\\"STAY\\\":\\n\",\n    \"        next_x = x\\n\",\n    \"        next_y = y\\n\",\n    \"      new_location = (next_y, next_x)\\n\",\n    \"      next_state = grid_locations.index(new_location)\\n\",\n    \"      B[next_state, curr_state, action_id] = 1.0\\n\",\n    \"  return B\\n\",\n    \"\\n\",\n    \"B = create_B_matrix()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"njx3RFJS-H87\"\n   },\n   \"source\": [\n    \"Let's now explore what it looks to \\\"take\\\" an action, using matrix-vector product of an action-conditioned \\\"slice\\\" of the $\\\\mathbf{B}$ array and a previous state vector\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 26,\n   \"metadata\": {\n    \"id\": \"I8wrEfF5-IR1\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Define a starting location\\\"\\\"\\\" \\n\",\n    \"starting_location = (1,0)\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\"get the linear index of the state\\\"\\\"\\\"\\n\",\n    \"state_index = grid_locations.index(starting_location)\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\"  and create a state vector out of it \\\"\\\"\\\"\\n\",\n    \"starting_state = utils.onehot(state_index, n_states)\\n\",\n    \"\\n\",\n    \"plot_point_on_grid(starting_state, grid_locations)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 27,\n   \"metadata\": {\n    \"id\": \"mX5gdrUrMHgz\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_beliefs(starting_state, \\\"Categorical distribution over the starting state\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"k1hodf-fI02_\"\n   },\n   \"source\": [\n    \"Now let's imagine we're moving **\\\"RIGHT\\\"** - write the conditional expectation, that will create the state vector corresponding to the new state after taking a step to the right.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 28,\n   \"metadata\": {\n    \"id\": \"D8Q_dTRSMSje\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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X3nac5OO+kwRdYCpGS/qviYAIBFRB0hE1AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRB0ikrFgsFks9AoDp4UodIBFRB0hE1AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRnyFdXV3R1NQU1157bTQ0NERnZ2epJzFFhw8fjquvvjq+/fbbUk9hkn777bd49913o7m5OZYtWxb19fWxbdu2KBQKpZ42a8pLPSCj7u7u2LRpUzzwwANx8803R09PT2zevDnOP//8WLVqVannMQlff/11rFu3LkZHR0s9hSlob2+PnTt3xkMPPRQ33XRT9Pf3x6uvvhpfffVV7Nq1q9TzZoXvfpkBK1asiGuuuSZefvnlU8daW1vjyy+/jD179pRwGRMZHR2N9957L3bs2BHnnntu/PTTT7F///5YsGBBqacxgWKxGMuXL4+mpqZoa2s7dby7uzs2bNgQnZ2dsXTp0hIunB1uv0yzwcHBGBgYiJUrV445ftttt0VfX18MDg6WaBmT0dvbGy+99FI8+OCDsWnTplLPYQpGRkbijjvuiNtvv33M8csvvzwiIgYGBkoxa9a5/TLN+vr6IiKitrZ2zPGampqIiOjv74/q6upZ38Xk1NXVRU9PT1x00UXx/vvvl3oOU1BRURHPPvvsX4739PRERMQVV1wx25NKQtSn2YkTJyLiP//A/mju3LkREf+oBzZ/RxdffHGpJzCNDh06FG+88UbU19dHXV1dqefMCrdfptlEjyjmzPFXDrOht7c3Hn744aiqqootW7aUes6sUZhpVllZGRH/ub/3R79fof9+Hpg53d3dsXbt2rjsssvirbfeigsuuKDUk2aNqE+z3++l//mhzNGjR8ecB2bG7t27Y+PGjXH99dfHO++8E5dcckmpJ80qUZ9mNTU1UVVVFR9++OGY43v37o0lS5bEwoULS7QM8uvo6IgXXnghGhoaor29/R/5P2MPSmdAS0tLPPPMMzFv3ry45ZZbYt++fbFnz54xn1sHptcPP/wQW7dujUWLFsWaNWviiy++GHN+8eLFceGFF5Zo3ewR9Rlwzz33xMmTJ+PNN9+Mjo6OqK6uju3bt0djY2Opp0Fan332Wfz8888xNDQUa9as+cv5F198Me68884SLJtdfqMUIBH31AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRB0hE1AES+X+Emhlu+AfupgAAAABJRU5ErkJggg==\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Redefine the action here, just for reference \\\"\\\"\\\"\\n\",\n    \"actions = [\\\"UP\\\", \\\"DOWN\\\", \\\"LEFT\\\", \\\"RIGHT\\\", \\\"STAY\\\"]\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\" Generate the next state vector, given the starting state and the B matrix\\\"\\\"\\\"\\n\",\n    \"right_action_idx = actions.index(\\\"RIGHT\\\") \\n\",\n    \"next_state = B[:,:, right_action_idx].dot(starting_state) # input the indices to the B matrix\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\" Plot the next state, after taking the action \\\"\\\"\\\"\\n\",\n    \"plot_point_on_grid(next_state, grid_locations)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"0h9yH5ARJI-E\"\n   },\n   \"source\": [\n    \"Now let's imagine we're moving **\\\"DOWN\\\"** from where we just landed - write the conditional expectation, that will create the state vector corresponding to the new state after taking a step down.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 29,\n   \"metadata\": {\n    \"id\": \"nXaYlJElNRAO\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Generate the next state vector, given the previous state and the B matrix\\\"\\\"\\\"\\n\",\n    \"prev_state = next_state.copy()\\n\",\n    \"down_action_index = actions.index(\\\"DOWN\\\")\\n\",\n    \"next_state = B[:,:,down_action_index].dot(prev_state)\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\"  Plot the new state vector, after making the movement \\\"\\\"\\\"\\n\",\n    \"plot_point_on_grid(next_state, grid_locations)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"YkxsKuonRbjX\"\n   },\n   \"source\": [\n    \"### 3. The prior over observations: the $\\\\mathbf{C}$ vector or $\\\\tilde{P}(o)$\\n\",\n    \"\\n\",\n    \"---\\n\",\n    \"\\n\",\n    \"The (biased) generative model's prior preference for particular observations, encoded in terms of probabilities.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 30,\n   \"metadata\": {\n    \"id\": \"3jSjRkyoPt1w\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Create an empty vector to store the preferences over observations \\\"\\\"\\\"\\n\",\n    \"C = np.zeros(n_observations)\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\" Choose an observation index to be the 'desired' rewarding index, and fill out the C vector accordingly \\\"\\\"\\\"\\n\",\n    \"desired_location = (2,2) # choose a desired location\\n\",\n    \"desired_location_index = grid_locations.index(desired_location) # get the linear index of the grid location, in terms of 0 through 8\\n\",\n    \"\\n\",\n    \"C[desired_location_index] = 1.0 # set the preference for that location to be 100%, i.e. 1.0\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\"  Let's look at the prior preference distribution \\\"\\\"\\\"\\n\",\n    \"plot_beliefs(C, title_str = \\\"Preferences over observations\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"syuovouSRmQe\"\n   },\n   \"source\": [\n    \"### 3. The prior over hidden states: the $\\\\mathbf{D}$ vector or $P(s)$\\n\",\n    \"\\n\",\n    \"---\\n\",\n    \"\\n\",\n    \"The generative model's prior belief over hidden states at the first timestep.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 31,\n   \"metadata\": {\n    \"id\": \"ElcxKHl_QHpv\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Create a D vector, basically a belief that the agent has about its own starting location \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"# create a one-hot / certain belief about initial state\\n\",\n    \"D = utils.onehot(0, n_states)\\n\",\n    \"\\n\",\n    \"# demonstrate hwo belief about initial state can also be uncertain / spread among different possible initial states\\n\",\n    \"# alternative, where you have a degenerate/noisy prior belief\\n\",\n    \"# D = utils.norm_dist(np.ones(n_states))\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\" Let's look at the prior over hidden states \\\"\\\"\\\"\\n\",\n    \"plot_beliefs(D, title_str = \\\"Prior beliefs over states\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"OT9qqFTqRrvv\"\n   },\n   \"source\": [\n    \"## **Hidden state inference**\\n\",\n    \"\\n\",\n    \"Hidden state inference proceeds by finding the setting of the optimal variational posterior $q(s_t)$ that minimizes the variational free energy. For the simple POMDP generative model and posterior we're considering here, this update reduces to a remarkably simple update rule, that is essentially proportional to Bayes` rule:\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"q(s_t) = \\\\sigma\\\\left(\\\\ln \\\\mathbf{A}[o,:] + \\\\ln\\\\mathbf{B}[:,:,u] \\\\cdot q(s_{t-1})\\\\right) \\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"YCtY7o4bpGTq\"\n   },\n   \"source\": [\n    \"Import the `softmax` function and a numerically-stable version of `np.log` from `pymdp.maths`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 32,\n   \"metadata\": {\n    \"id\": \"UIJgNbv_RsFV\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"from pymdp.maths import softmax\\n\",\n    \"from pymdp.maths import spm_log_single as log_stable\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"ugPbd0lXpOED\"\n   },\n   \"source\": [\n    \"Below we implement the `infer_states()` function\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 33,\n   \"metadata\": {\n    \"id\": \"7gtv82kiQhJF\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"\\\"\\\"\\\" Create an infer states function that implements the math we just discussed\\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"def infer_states(observation_index, A, prior):\\n\",\n    \"\\n\",\n    \"  \\\"\\\"\\\" Implement inference here -- NOTE: prior is already passed in, so you don't need to do anything with the B matrix. \\\"\\\"\\\"\\n\",\n    \"  \\\"\\\"\\\" This function has already been given P(s_t). The conditional expectation that creates \\\"today's prior\\\", using \\\"yesterday's posterior\\\", will happen *before calling* this function\\\"\\\"\\\"\\n\",\n    \"  \\n\",\n    \"  log_likelihood = log_stable(A[observation_index,:])\\n\",\n    \"\\n\",\n    \"  log_prior = log_stable(prior)\\n\",\n    \"\\n\",\n    \"  qs = softmax(log_likelihood + log_prior)\\n\",\n    \"   \\n\",\n    \"  return qs\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's do a simulated single timestep of hidden state inference\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 34,\n   \"metadata\": {\n    \"id\": \"YPaAhj-2nv5c\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"qs_past = utils.onehot(4, n_states) # agent believes they were at location 4 -- i.e. (1,1) one timestep ago\\n\",\n    \"\\n\",\n    \"last_action = \\\"UP\\\" # the agent knew it moved \\\"UP\\\" one timestep ago\\n\",\n    \"action_id = actions.index(last_action) # get the action index for moving \\\"UP\\\"\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"V7yvEyGgRhn4\"\n   },\n   \"source\": [\n    \"Get \\\"today's prior\\\" using the past posterior and the past action, i.e. calculate:\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"$$ \\\\begin{align}\\n\",\n    \"P(s_t) = \\\\mathbf{E}_{q(s_{t-1})}\\\\left[P(s_t | s_{t-1}, u_{t-1})\\\\right]\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"and choose an observation that is consistent with the new location \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 35,\n   \"metadata\": {\n    \"id\": \"sbtcFip-SOI6\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"prior = B[:,:,action_id].dot(qs_past)\\n\",\n    \"\\n\",\n    \"observation_index = 1\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"SGwNJDJdRXJ8\"\n   },\n   \"source\": [\n    \"Now run the `infer_states()` function, using the observation, the $\\\\mathbf{A}$ matrix, and the prior we just calculated above\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 36,\n   \"metadata\": {\n    \"id\": \"YIDxVmMzmdrQ\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"qs_new = infer_states(observation_index, A, prior)\\n\",\n    \"plot_beliefs(qs_new, title_str = \\\"Beliefs about hidden states\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"Juc77Bs8JwsI\"\n   },\n   \"source\": [\n    \"Let's see what happens if observation and the prior \\\"disagree\\\" with eachother?\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 37,\n   \"metadata\": {\n    \"id\": \"TN0g4BnYKEyF\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Get an observation that 'conflicts' with the prior \\\"\\\"\\\"\\n\",\n    \"observation_index = 2 # this is like the agent is seeing itself in location (0, 2)\\n\",\n    \"qs_new = infer_states(observation_index, A, prior)\\n\",\n    \"plot_beliefs(qs_new)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"DmAiGBsyLjk7\"\n   },\n   \"source\": [\n    \"What happens if likelihood and prior are partially ambiguous?\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 38,\n   \"metadata\": {\n    \"id\": \"5JFCey-ShsQg\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[[0.254 0.093 0.093 0.093 0.093 0.093 0.093 0.093 0.093]\\n\",\n      \" [0.093 0.254 0.093 0.093 0.093 0.093 0.093 0.093 0.093]\\n\",\n      \" [0.093 0.093 0.254 0.093 0.093 0.093 0.093 0.093 0.093]\\n\",\n      \" [0.093 0.093 0.093 0.254 0.093 0.093 0.093 0.093 0.093]\\n\",\n      \" [0.093 0.093 0.093 0.093 0.254 0.093 0.093 0.093 0.093]\\n\",\n      \" [0.093 0.093 0.093 0.093 0.093 0.254 0.093 0.093 0.093]\\n\",\n      \" [0.093 0.093 0.093 0.093 0.093 0.093 0.254 0.093 0.093]\\n\",\n      \" [0.093 0.093 0.093 0.093 0.093 0.093 0.093 0.254 0.093]\\n\",\n      \" [0.093 0.093 0.093 0.093 0.093 0.093 0.093 0.093 0.254]]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Create an ambiguous A matrix \\\"\\\"\\\"\\n\",\n    \"A_partially_ambiguous = softmax(A)\\n\",\n    \"print(A_partially_ambiguous.round(3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 39,\n   \"metadata\": {\n    \"id\": \"w_altXG0hyYV\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAYYAAAEACAYAAAC3adEgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAibklEQVR4nO3df1xV9eHH8RdQzOIiqSOdgKBhzkjUGToClYpEtNVkj2Zmy/LnmpszR+Htm222eihWu5JYTRmathVjbbYQ1OmmNl3bdGlrJvsBctmc5iSRi8Orcr9/+L18+3TRe0G4nPL9fDx8bPuccz7nfdjjwfuee34Q4vF4PIiIiPyf0K4OICIi1qJiEBERg4pBREQMKgYRETGoGERExKBiEBERg4pBREQMV3R1gI7y4YeNNDcH75GMXr1sHD/uCtr+rJ4DlMXKOcA6WaySA6yTpStyhIaG0KNHRKvLPjXF0NzsCWoxePdpBVbJAcrSGqvkAOtksUoOsE4Wq+QAfZUkIiIfo2IQERGDikFERAwqBhERMagYRETEEPBdSWVlZbz44ovU1tYSExPDnDlz+PKXv3zB9Y8dO0ZBQQG7du3ixIkT9O/fn1mzZpGdnd2yzpEjRxg7dqzPtgMHDqSsrKxtRyIiIh0ioGIoLy8nNzeXadOmkZ6eztatW8nLy6Nbt26MHz/eZ323283MmTNpaGhg3rx5XHvttWzevJn58+dz7tw57rjjDgAOHjwIQHFxMRER/38/bbdu3Tri2EREpB0CKgaHw0F2djZ2ux2A0aNHU19fT0FBQavFsHPnTg4ePEhpaSnJyckApKWlcfjwYVavXm0Uw2c/+1nS0tI66ng+0XpEhnNFt8+0ebvo6Mg2b3O26TQfNrjbvJ2IfPr5LYba2lqcTicLFiwwxrOysqioqKC2tpa4uDhjWUREBJMnT2bIkCHG+IABA9i7d2/L/37//fcZNGjQpeT/VLmi22fYdddXgrKvtDdeBxWDiLTC78XnqqoqAPr372+Mx8fHA1BdXe2zTWpqKk8++SQhISEtY2fOnGHHjh0MHDiwZezgwYM0NTUxZcoUhgwZws0338xzzz3HmTNn2nc0IiJyyfyeMTQ0NABgs9mMce81AZcrsPd7PPPMMxw6dIiVK1cC8N///hen00l9fT2PPPIIDz/8MG+//TarVq3igw8+ID8/v00H0quXzf9KHaw9X+FYSWfkt9LPxCpZrJIDrJPFKjnAOlmskgMCKAaP5+Lv7wgNvfhJh8fj4ZlnnuHll19mxowZZGZmAhAWFkZxcTExMTH069cPgJEjR3LllVeyfPlyHnroIRISEgI8DDh+3BXUd41ER0dy7FhDh88ZTJ2Rv6PnbC+rZLFKDrBOFqvkAOtk6YocoaEhF/xA7ferpMjI87+sGhsbjXHvmYJ3eWvcbjff+c53+NGPfsSMGTN49NFHW5aFh4eTmpraUgpeGRkZwP/fsSQiIsHltxi81xacTqcxXlNTYyz/OJfLxYMPPkhFRQWPPfaYUQpw/qJ2SUkJdXV1xnhTUxMAPXr0CPAQRESkI/kthvj4eGJjY9m0aZMxvmXLFhISEujbt6/PNufOneOhhx5i//79OBwOpk2b5rPOyZMneeKJJ3weZCsvLycyMpIbbrihrcciIiIdIKDnGObOnYvdbicqKoqMjAy2bdtGRUUFDocDgLq6OpxOJ4mJidhsNl577TX+8Ic/MHnyZPr06cO+ffta5goJCWHo0KEkJSVx66234nA4aG5uZuDAgezYsYP169ezcOHCi35FJSIinSegYsjJycHtdlNcXExpaSlxcXHk5+czYcIEALZv347dbmfdunWMGjWKzZs3A1BSUkJJSYkxV1hYGAcOHADgueee44UXXmD9+vV88MEH9OvXj+9///vcfffdHXmMIiLSBiEef7cdfUJ8Wu5KCuYDbror6fLJAdbJYpUcYJ0sn7i7kkRE5PKiYhAREYOKQUREDCoGERExqBhERMSgYhAREYOKQUREDCoGERExqBhERMSgYhAREYOKQUREDCoGERExqBhERMSgYhAREYOKQUREDCoGERExqBhERMSgYhAREYOKQUREDCoGERExqBhERMSgYhAREYOKQUREDCoGERExqBhERMSgYhAREYOKQUREDAEXQ1lZGRMnTiQ5OZns7Gw2bNhw0fWPHTvG448/zi233MLw4cPJycmhoqLCZ72XX36Z22+/neTkZCZNmsSOHTvafBAiItJxAiqG8vJycnNzSU9PZ+XKlYwcOZK8vDw2bdrU6vput5uZM2eye/du5s2bR2FhITfeeCPz58+nrKysZb2ioiLy8/OZNGkSK1asIC4ujm984xvs27evQw5ORETa7opAVnI4HGRnZ2O32wEYPXo09fX1FBQU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RETEoGIQERGDikFERAwqBhERMagYRETEoGIQERGDikFERAwqBhERMagYRETEoGIQERGDikFERAwqBhERMagYRETEoGIQERGDikFERAwqBhERMagYRETEoGIQERGDikFERAwqBhERMagYRETEoGIQERGDikFERAwBF0NZWRkTJ04kOTmZ7OxsNmzYEPBO8vPzeeCBB3zGz549y/Llyxk7dixDhw7l3nvv5d133w14XhER6XgBFUN5eTm5ubmkp6ezcuVKRo4cSV5eHps2bfK77fr16ykuLm512dNPP83atWuZNWsWDoeDsLAwHnjgAWpra9t2FCIi0mGuCGQlh8NBdnY2drsdgNGjR1NfX09BQQHjx49vdZujR4+ybNkyysvLiYyM9Fn+z3/+k5KSEhYtWsSUKVMASE9PJysri6KiIhYvXtzeYxIRkUvg94yhtrYWp9PJuHHjjPGsrCyqqqou+One4XBw4MAB1qxZw+DBg32Wv/3225w7d46srKyWsfDwcDIyMti5c2dbj0NERDqI32KoqqoCoH///sZ4fHw8ANXV1a1uN3PmTDZu3MgXv/jFC84bFRVFz549feY9fPgwTU1N/tOLiEiH81sMDQ0NANhsNmM8IiICAJfL1ep2iYmJhIZeeHqXy+Uz50fnbWxs9BdNREQ6gd9rDB6P56LLL/bL/1LmDQkJadN8vXr5lkxni472vXbySdIZ+a30M7FKFqvkAOtksUoOsE4Wq+SAAIrBe+H445/gvWcKrV1YDoTNZmv1rMA7b2tnExdz/LiL5uaLl01Hio6O5Nixhg6fM5g6I39Hz9leVslilRxgnSxWyQHWydIVOUJDQy74gdrvx33vtQWn02mM19TUGMvbasCAAZw4cYL6+nqfeWNjYwkPD2/XvCIicmn8FkN8fDyxsbE+zyxs2bKFhIQE+vbt264d33zzzQBs3ry5ZcztdrN9+/aWZSIiEnwBPccwd+5c7HY7UVFRZGRksG3bNioqKnA4HADU1dXhdDpJTEwM+CugmJgYJk2axFNPPcWpU6eIj49nzZo1nDx5kpkzZ7b/iERE5JIEVAw5OTm43W6Ki4spLS0lLi6O/Px8JkyYAMD27dux2+2sW7eOUaNGBbzzJ598ku7du7Nq1SpOnTpFUlISa9asabkVNhh6RIZzRbfPtGvb9lwTONt0mg8b3O3aX7BY6WcS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ERcXR0pKCjabjby8PN555x2+8IUvdPq+f/zjH1NZWcmbb77ZcqeY90PF2bNnCQsLC+rfGhk5cqTPWEZGBnD+bCIYxeA9q/b+/Xev9PR0li5dSmVlZZcUw+bNmxk9enSXndX96U9/4re//S1LliwhJycHOP//V/fu3XniiSf46le/yvXXX98l2fQxN0Dtef345WLNmjUsWLCAYcOG8eMf/5hrr7026BlOnDjBhg0bOHr0qDF+ww03APDBBx8EJcfmzZv58MMPSU9PJykpiaSkJDZs2IDT6SQpKSmo98kfP36c0tJSnxsjvN/rB6u8vbfJut1uY9x7JtEVf5Tr6NGjHDhwoEtvCT18+DCAzweWm266CYC///3vQc/kpWIIUHteP345KC0tZenSpWRnZ1NUVNRlZ07Nzc0sXLjQ5x71Xbt2AQTtk9fixYv52c9+Zvy75ZZb6NOnT8t/D5aQkBCeeOIJXnnlFWO8vLycsLAwn5sGOst1111HTEwM5eXlxvhvfvMbrrjiii552G7//v0AQfsZtMb7YXLv3r3G+L59+4Dzb6DuKvoqqQ38vX78cnP8+HGefvppYmJimDp1KgcOHDCW9+vXL2in6T179uTee+9l1apVdOvWjSFDhrB3715++MMfcvfddxtv9e1Mre3nmmuuITw8nCFDhgQlg1fPnj2ZOnUq69evx2azcdNNN7F3715eeuklpk6d2nJHXWcLCQkhNze35TX8OTk5vPfee7z44ovcd999XfJVzl//+leuuuqqLv3lm5SURGZmJk8//TQNDQ0MHjyY9957j5UrVzJmzJgufcu0iqENcnJycLvdFBcXU1paSlxcHPn5+V32VG1Xe+utt/jvf//Lv/71L6ZOneqzfNmyZUG97c5ut/O5z32On/3sZ6xYsYI+ffowb948ZsyYEbQMVpOXl0fv3r15/fXXWbVqFb1792bevHlBv+tlwoQJhIeHs3LlSubMmUOvXr2YO3cuc+bMCWoOr//85z9ddifSRzkcDgoLC1m7di3Hjx8nJiaG6dOn+zyPE2x67baIiBh0jUFERAwqBhERMagYRETEoGIQERGDikFERAwqBhERMagYRETEoGIQERGDikFERAz/C9+AaHxpFMcaAAAAAElFTkSuQmCC\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" ... and a noisy prior \\\"\\\"\\\"\\n\",\n    \"noisy_prior = softmax(prior) \\n\",\n    \"plot_beliefs(noisy_prior)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 40,\n   \"metadata\": {\n    \"id\": \"v2tpfddELr_t\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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4xgwYIDjxhtvdHz99dderaG2ttYRGxvrePrpp432zZs3O2688UbHwYMHvVZLTU2NIzY21rFw4UKj/b777nOMHz/ea3Vc7OjRo47Y2FjH0KFDHQkJCc1Sw9tvv+246aabHKdPn26W7TtNnDjRMXHiREdtbW1d27p16xx33nlns9e2evVqx0033eTYv3+/17c9duxYx69+9SujbcKECY777rvP67VcjFNJHmrI68eb0r59+/Tcc88pJSVFqampXt22U1VVle655x7dddddRrvzluTvPi3flAICArR27VrNmDHDaL/uuut05swZr9VxsSeeeEKDBw/WoEGDmmX70oXTjJ07d9b111/fbDU4H24dP3688Q60iRMnavv27c1a2/Hjx7V8+fK6U1zedubMmboXhzq1bt1aJ0+e9HotFyMYPOTJ68e9qXv37tq+fbsefvhhl9ebe4vFYtETTzyhfv36Ge3bt2+XJEVGRnqtFn9/f/Xs2VPt27eXw+HQN998o5UrV2rPnj0aO3as1+pwys3N1SeffKL58+d7fdsXKywsVGBgoKZOnaqYmBjFxsbqySef9Oo1oM8++0wOh0MhISGaM2eO+vbtq379+umpp55SdXW11+qoT0ZGhvz9/TVnzpxm2f6kSZP03nvvqaCgQJWVldqyZYt27typn//8581SjxPXGDzUkNePN6Uf//jHXt2epw4cOKCVK1cqISFB3bt3b5Yatm3bptmzZ0uS4uPjdc8993h1+1999ZUWL16sxYsXu3zfiLcdOnRIlZWVuvfee/XAAw/o448/VkZGhoqLi7VmzRqvvMW4rKxMkjRv3jwNHz5cL774ogoLC7Vs2TKdOXNGS5YsafIa6nPixAnl5eUpJSVFrVq1apYaRo8erQ8++MAIpjFjxjT72x8IBg85GvD68WvNvn379MADDygsLEzPPPNMs9Vx8803a926dSosLNTy5cs1Y8YMvfLKK175EHQ4HHr88cc1bNgw49sJm4vNZlNISIh69uwpSYqNjVXbtm316KOPas+ePca3LDaVs2fPSpJuvfVWPfXUU5KkQYMGyeFwKD09XbNmzXL5si9vyM3NVW1trSZNmuT1bTs9+OCD+vDDD2W1WnXzzTfrwIEDeuGFF+qOxpsLweChhrx+/FqSn5+vefPmqUuXLsrKylKbNm2arZbw8HCFh4crNjZWFotFaWlp+vDDD3Xrrbc2+bZfffVVFRYWauPGjXV3ijl3Ks6dO6eAgACvftfIgAEDXNri4+MlXTia8EYwOI+qnd//7hQXF6clS5aosLCwWYJh69atGjJkSLMd1f3zn//UX/7yFy1evFjJycmSLvy+WrVqpSeffFK//OUvdeONNzZLbezmeqghrx+/VuTk5Gju3Lnq27evXn31Vf3kJz/xeg0nT55UXl6ejh07ZrTffPPNkqT//Oc/Xqlj69at+vbbbxUXF6eoqChFRUUpLy9PdrtdUVFRXr1P/sSJE8rNzXW5McJ5Xt9b4e28TbampsZodx5JNMeXch07dkwHDx5s1ltCjxw5IkkuOyz9+/eXJH3xxRder8mJYPBQQ14/fi3Izc3VkiVLlJSUpKysrGY7cqqtrdW8efNc7lF///33Jclre14LFizQG2+8Yfzccccd6tChQ91/e4ufn5+efPJJrVu3zmjPz89XQECAy00DTaV79+7q1KmT8vPzjfY///nPatGiRbM8bHfgwAFJ8tq/QX2cO5P79u0z2vfv3y/pwhuomwunkq6Au9ePX2tOnDihRYsWqVOnTpo4caIOHjxoLO/cubPXDtNDQ0M1YcIErVy5Ui1btlTv3r21b98+vfzyy7r33nuNt/o2pfq207p1awUGBqp3795eqcEpNDRUEydO1Nq1a2WxWNS/f3/t27dPL730kiZOnFh3R11T8/PzU2pqat1r+JOTk/Xxxx/rxRdf1H333dcsp3I+++wzXX/99c364RsVFaWEhAQtWrRIFRUV6tWrlz7++GOtWLFCQ4cObda3TBMMVyA5OVk1NTXKzs5Wbm6uwsPDlZ6e3mxP1Ta39957T//973/11VdfaeLEiS7Lly5d6tXb7qxWq37605/qjTfeUEZGhjp06KDZs2dr6tSpXqvB16Slpal9+/Z68803tXLlSrVv316zZ8/2+l0vo0aNUmBgoFasWKGZM2eqbdu2mjVrlmbOnOnVOpy++eabZrsT6WI2m02ZmZlavXq1Tpw4oU6dOiklJcXleRxv47XbAAAD1xgAAAaCAQBgIBgAAAaCAQBgIBgAAAaCAQBgIBgAAAaCAQBgIBgAAIb/A017rntxV1lgAAAAAElFTkSuQmCC\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Do inference with the new, partially-ambiguous A matrix and the noised-up prior \\\"\\\"\\\"\\n\",\n    \"qs_new = infer_states(observation_index, A_partially_ambiguous, noisy_prior)\\n\",\n    \"plot_beliefs(qs_new)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"xec2mpugs4rh\"\n   },\n   \"source\": [\n    \"## **Action Selection and the Expected Free Energy** \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"n-3cHIUyqtfS\"\n   },\n   \"source\": [\n    \"Now we'll write functions to compute the expected states $Q(s_{t+1}|u_t)$, expected observations $Q(o_{t+1}|u_t)$, the entropy of $P(o|s)$: $\\\\mathbf{H}\\\\left[\\\\mathbf{A}\\\\right]$, and the KL divergence between the expected observations and the prior preferences $\\\\mathbf{C}$.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 41,\n   \"metadata\": {\n    \"id\": \"hBtftGDwq2VO\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"\\\"\\\"\\\" define component functions for computing expected free energy \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"def get_expected_states(B, qs_current, action):\\n\",\n    \"  \\\"\\\"\\\" Compute the expected states one step into the future, given a particular action \\\"\\\"\\\"\\n\",\n    \"  qs_u = B[:,:,action].dot(qs_current)\\n\",\n    \"\\n\",\n    \"  return qs_u\\n\",\n    \"\\n\",\n    \"def get_expected_observations(A, qs_u):\\n\",\n    \"  \\\"\\\"\\\" Compute the expected observations one step into the future, given a particular action \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"  qo_u = A.dot(qs_u)\\n\",\n    \"\\n\",\n    \"  return qo_u\\n\",\n    \"\\n\",\n    \"def entropy(A):\\n\",\n    \"  \\\"\\\"\\\" Compute the entropy of a set of conditional distributions, i.e. one entropy value per column \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"  H_A = - (A * log_stable(A)).sum(axis=0)\\n\",\n    \"\\n\",\n    \"  return H_A\\n\",\n    \"\\n\",\n    \"def kl_divergence(qo_u, C):\\n\",\n    \"  \\\"\\\"\\\" Compute the Kullback-Leibler divergence between two 1-D categorical distributions\\\"\\\"\\\"\\n\",\n    \"  \\n\",\n    \"  return (log_stable(qo_u) - log_stable(C)).dot(qo_u)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"oUoKd1s6PZbT\"\n   },\n   \"source\": [\n    \"Now let's imagine we're in some starting state, like (1,1)\\n\",\n    \"N.B. This is the generative process we're talking about -- i.e. the true state of the world\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 42,\n   \"metadata\": {\n    \"id\": \"H2hh-d6HNQ-R\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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X3nac5OO+kwRdYCpGS/qviYAIBFRB0hE1AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRB0ikrFgsFks9AoDp4UodIBFRB0hE1AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRnyFdXV3R1NQU1157bTQ0NERnZ2epJzFFhw8fjquvvjq+/fbbUk9hkn777bd49913o7m5OZYtWxb19fWxbdu2KBQKpZ42a8pLPSCj7u7u2LRpUzzwwANx8803R09PT2zevDnOP//8WLVqVannMQlff/11rFu3LkZHR0s9hSlob2+PnTt3xkMPPRQ33XRT9Pf3x6uvvhpfffVV7Nq1q9TzZoXvfpkBK1asiGuuuSZefvnlU8daW1vjyy+/jD179pRwGRMZHR2N9957L3bs2BHnnntu/PTTT7F///5YsGBBqacxgWKxGMuXL4+mpqZoa2s7dby7uzs2bNgQnZ2dsXTp0hIunB1uv0yzwcHBGBgYiJUrV445ftttt0VfX18MDg6WaBmT0dvbGy+99FI8+OCDsWnTplLPYQpGRkbijjvuiNtvv33M8csvvzwiIgYGBkoxa9a5/TLN+vr6IiKitrZ2zPGampqIiOjv74/q6upZ38Xk1NXVRU9PT1x00UXx/vvvl3oOU1BRURHPPvvsX4739PRERMQVV1wx25NKQtSn2YkTJyLiP//A/mju3LkREf+oBzZ/RxdffHGpJzCNDh06FG+88UbU19dHXV1dqefMCrdfptlEjyjmzPFXDrOht7c3Hn744aiqqootW7aUes6sUZhpVllZGRH/ub/3R79fof9+Hpg53d3dsXbt2rjsssvirbfeigsuuKDUk2aNqE+z3++l//mhzNGjR8ecB2bG7t27Y+PGjXH99dfHO++8E5dcckmpJ80qUZ9mNTU1UVVVFR9++OGY43v37o0lS5bEwoULS7QM8uvo6IgXXnghGhoaor29/R/5P2MPSmdAS0tLPPPMMzFv3ry45ZZbYt++fbFnz54xn1sHptcPP/wQW7dujUWLFsWaNWviiy++GHN+8eLFceGFF5Zo3ewR9Rlwzz33xMmTJ+PNN9+Mjo6OqK6uju3bt0djY2Opp0Fan332Wfz8888xNDQUa9as+cv5F198Me68884SLJtdfqMUIBH31AESEXWAREQdIBFRB0hE1AESEXWAREQdIBFRB0hE1AES+X+Emhlu+AfupgAAAABJRU5ErkJggg==\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Get state index, create state vector for (1,1) \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"state_idx = grid_locations.index((1,1))\\n\",\n    \"state_vector = utils.onehot(state_idx, n_states)\\n\",\n    \"plot_point_on_grid(state_vector, grid_locations)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"VOLwt7CgUW61\"\n   },\n   \"source\": [\n    \"And let's furthermore assume we start with the (accurate) belief about our location, that we are in location (1,1). So let's just make our current $Q(s_t)$ equal to the true state vector. You could think of this as if we just did one 'step' of inference using our current observation along with precise `A`/`B` matrices.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 43,\n   \"metadata\": {\n    \"id\": \"Pv9UFpcuUY5F\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Make qs_current identical to the true starting state \\\"\\\"\\\" \\n\",\n    \"qs_current = state_vector.copy()\\n\",\n    \"plot_beliefs(qs_current, title_str =\\\"Where do we believe we are?\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"jBXAqRmNPv07\"\n   },\n   \"source\": [\n    \"And we prefer to be in state (1,2). So we express that as high probability over the corresponding entry of the $\\\\mathbf{C}$ vector -- that happens to be index 5.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 44,\n   \"metadata\": {\n    \"id\": \"Ya77s9O9WlMs\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_grid(grid_locations)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 45,\n   \"metadata\": {\n    \"id\": \"IMD0HkBCPsXL\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Create a preference to be in (1,2) \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"desired_idx = grid_locations.index((1,2))\\n\",\n    \"\\n\",\n    \"C = utils.onehot(desired_idx, n_observations)\\n\",\n    \"\\n\",\n    \"plot_beliefs(C, title_str = \\\"Preferences\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"JPg-sC00QCLI\"\n   },\n   \"source\": [\n    \"Now to keep things simple, let's evaluate the expected free energies $\\\\mathbf{G}$ of just two actions that we could take from our current position -- either moving LEFT or moving RIGHT. Let's remind ourselves of what action indices those are\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 46,\n   \"metadata\": {\n    \"id\": \"ggCUDAf4QUQg\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action index of moving left: 2\\n\",\n      \"Action index of moving right: 3\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"left_idx = actions.index(\\\"LEFT\\\")\\n\",\n    \"right_idx = actions.index(\\\"RIGHT\\\")\\n\",\n    \"\\n\",\n    \"print(f'Action index of moving left: {left_idx}')\\n\",\n    \"print(f'Action index of moving right: {right_idx}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"w3G4KPVyQhoF\"\n   },\n   \"source\": [\n    \"And now let's use the functions we've just defined, in combination with our `A`, `B`, `C` arrays and our current posterior `qs_current`, to compute the expected free energies for the two actions\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 47,\n   \"metadata\": {\n    \"id\": \"FNeEYmIETAZh\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Expected free energy of moving left: 36.841361487904734\\n\",\n      \"\\n\",\n      \"Expected free energy of moving right: 0.0\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Compute the expected free energies for moving left vs. moving right \\\"\\\"\\\"\\n\",\n    \"G = np.zeros(2) # store the expected free energies for each action in here\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\"\\n\",\n    \"Compute G for MOVE LEFT here \\n\",\n    \"\\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"qs_u_left = get_expected_states(B, qs_current, left_idx)\\n\",\n    \"# alternative\\n\",\n    \"# qs_u_left = B[:,:,left_idx].dot(qs_current)\\n\",\n    \"\\n\",\n    \"H_A = entropy(A)\\n\",\n    \"qo_u_left = get_expected_observations(A, qs_u_left)\\n\",\n    \"# alternative\\n\",\n    \"# qo_u_left = A.dot(qs_u_left)\\n\",\n    \"\\n\",\n    \"predicted_uncertainty_left = H_A.dot(qs_u_left)\\n\",\n    \"predicted_divergence_left = kl_divergence(qo_u_left, C)\\n\",\n    \"G[0] = predicted_uncertainty_left + predicted_divergence_left\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\"\\n\",\n    \"Compute G for MOVE RIGHT here \\n\",\n    \"\\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"qs_u_right = get_expected_states(B, qs_current, right_idx)\\n\",\n    \"# alternative\\n\",\n    \"# qs_u_right = B[:,:,right_idx].dot(qs_current)\\n\",\n    \"\\n\",\n    \"H_A = entropy(A)\\n\",\n    \"qo_u_right = get_expected_observations(A, qs_u_right)\\n\",\n    \"# alternative\\n\",\n    \"# qo_u_right = A.dot(qs_u_right)\\n\",\n    \"\\n\",\n    \"predicted_uncertainty_right = H_A.dot(qs_u_right)\\n\",\n    \"predicted_divergence_right = kl_divergence(qo_u_right, C)\\n\",\n    \"G[1] = predicted_uncertainty_right + predicted_divergence_right\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\" Now let's print the expected free energies for the two actions, that we just calculated \\\"\\\"\\\"\\n\",\n    \"print(f'Expected free energy of moving left: {G[0]}\\\\n')\\n\",\n    \"print(f'Expected free energy of moving right: {G[1]}\\\\n')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"w8JbcjuMR5FU\"\n   },\n   \"source\": [\n    \"Now let's use formula for the posterior over actions, i.e. \\n\",\n    \"\\n\",\n    \"\\n\",\n    \"$$ \\\\begin{align}\\n\",\n    \"Q(u_t) = \\\\sigma(-\\\\mathbf{G})\\n\",\n    \"\\\\end{align} $$\\n\",\n    \"\\n\",\n    \"to compute the probabilities of each action\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 48,\n   \"metadata\": {\n    \"id\": \"tpY1lva_TwuM\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Probability of moving left: 9.999999999999965e-17\\n\",\n      \"Probability of moving right: 1.0\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"Q_u = softmax(-G)\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\" and print the probability of each action \\\"\\\"\\\"\\n\",\n    \"print(f'Probability of moving left: {Q_u[0]}')\\n\",\n    \"print(f'Probability of moving right: {Q_u[1]}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"iLk1LqB9X3fC\"\n   },\n   \"source\": [\n    \"For usefulness later on, let's wrap the expected free energy calculations into a function\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 49,\n   \"metadata\": {\n    \"id\": \"tkdwjTLPX2ti\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def calculate_G(A, B, C, qs_current, actions):\\n\",\n    \"\\n\",\n    \"  G = np.zeros(len(actions)) # vector of expected free energies, one per action\\n\",\n    \"\\n\",\n    \"  H_A = entropy(A) # entropy of the observation model, P(o|s)\\n\",\n    \"\\n\",\n    \"  for action_i in range(len(actions)):\\n\",\n    \"    \\n\",\n    \"    qs_u = get_expected_states(B, qs_current, action_i) # expected states, under the action we're currently looping over\\n\",\n    \"    qo_u = get_expected_observations(A, qs_u)           # expected observations, under the action we're currently looping over\\n\",\n    \"\\n\",\n    \"    pred_uncertainty = H_A.dot(qs_u) # predicted uncertainty, i.e. expected entropy of the A matrix\\n\",\n    \"    pred_div = kl_divergence(qo_u, C) # predicted divergence\\n\",\n    \"\\n\",\n    \"    G[action_i] = pred_uncertainty + pred_div # sum them together to get expected free energy\\n\",\n    \"  \\n\",\n    \"  return G\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"midF2HSEswHJ\"\n   },\n   \"source\": [\n    \"## **Complete Recipe for Active Inference**\\n\",\n    \"\\n\",\n    \"1.   Sample an observation $o_t$ from the current state of the environment\\n\",\n    \"2.   Perform inference over hidden states i.e., optimize $q(s)$ through free-energy minimization\\n\",\n    \"3. Calculate expected free energy of actions $\\\\mathbf{G}$ \\n\",\n    \"4. Sample action from the posterior over actions $Q(u_t) \\\\sim \\\\sigma(-\\\\mathbf{G})$.\\n\",\n    \"5. Use the sampled action $a_t$ to perturb the generative process and go back to step 1.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"---\\n\",\n    \"\\n\",\n    \"Let's start by creating a class that will represent the Grid World environment (i.e., _generative process_) that our active inference agent will navigate within. Note that we don't need to specify the generative process in terms of `A` and `B` matrices - the generative process will be as arbitrary and complex as the environment is. The `A` and `B` matrices are just the agent's _representation_ of the world and the task, which in this case happen to capture the Markovian, noiseless dynamics of the world perfectly.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 50,\n   \"metadata\": {\n    \"id\": \"az0jx39hsySI\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Starting state is (0, 0)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"class GridWorldEnv():\\n\",\n    \"    \\n\",\n    \"    def __init__(self,starting_state = (0,0)):\\n\",\n    \"\\n\",\n    \"        self.init_state = starting_state\\n\",\n    \"        self.current_state = self.init_state\\n\",\n    \"        print(f'Starting state is {starting_state}')\\n\",\n    \"    \\n\",\n    \"    def step(self,action_label):\\n\",\n    \"\\n\",\n    \"        (Y, X) = self.current_state\\n\",\n    \"\\n\",\n    \"        if action_label == \\\"UP\\\": \\n\",\n    \"          \\n\",\n    \"          Y_new = Y - 1 if Y > 0 else Y\\n\",\n    \"          X_new = X\\n\",\n    \"\\n\",\n    \"        elif action_label == \\\"DOWN\\\": \\n\",\n    \"\\n\",\n    \"          Y_new = Y + 1 if Y < 2 else Y\\n\",\n    \"          X_new = X\\n\",\n    \"\\n\",\n    \"        elif action_label == \\\"LEFT\\\": \\n\",\n    \"          Y_new = Y\\n\",\n    \"          X_new = X - 1 if X > 0 else X\\n\",\n    \"\\n\",\n    \"        elif action_label == \\\"RIGHT\\\": \\n\",\n    \"          Y_new = Y\\n\",\n    \"          X_new = X +1 if X < 2 else X\\n\",\n    \"\\n\",\n    \"        elif action_label == \\\"STAY\\\":\\n\",\n    \"          Y_new, X_new = Y, X \\n\",\n    \"        \\n\",\n    \"        self.current_state = (Y_new, X_new) # store the new grid location\\n\",\n    \"\\n\",\n    \"        obs = self.current_state # agent always directly observes the grid location they're in \\n\",\n    \"\\n\",\n    \"        return obs\\n\",\n    \"\\n\",\n    \"    def reset(self):\\n\",\n    \"        self.current_state = self.init_state\\n\",\n    \"        print(f'Re-initialized location to {self.init_state}')\\n\",\n    \"        obs = self.current_state\\n\",\n    \"        print(f'..and sampled observation {obs}')\\n\",\n    \"\\n\",\n    \"        return obs\\n\",\n    \"    \\n\",\n    \"env = GridWorldEnv()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"N9dSgKgkNXWp\"\n   },\n   \"source\": [\n    \"Now equipped with an environment and a generative model (our `A`, `B`, `C`, and `D`), we can code up the entire active inference loop\\n\",\n    \"\\n\",\n    \"---\\n\",\n    \"\\n\",\n    \"To have everything in one place, let's re-create the whole generative model\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 51,\n   \"metadata\": {\n    \"id\": \"ML3UMFXlNNXA\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"\\\"\\\"\\\" Fill out the components of the generative model \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"A = np.eye(n_observations, n_states)\\n\",\n    \"\\n\",\n    \"B = create_B_matrix()\\n\",\n    \"\\n\",\n    \"C = utils.onehot(grid_locations.index( (2, 2) ), n_observations) # make the agent prefer location (2,2) (lower right corner of grid world)\\n\",\n    \"\\n\",\n    \"D = utils.onehot(grid_locations.index( (1,2) ), n_states) # start the agent with the prior belief that it starts in location (1,2) \\n\",\n    \"\\n\",\n    \"actions = [\\\"UP\\\", \\\"DOWN\\\", \\\"LEFT\\\", \\\"RIGHT\\\", \\\"STAY\\\"]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"S_cDKHlJQpxl\"\n   },\n   \"source\": [\n    \"Now let's initialize the environment with starting state `(1,2)`, so that the agent has accurate beliefs about where it's starting.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 52,\n   \"metadata\": {\n    \"id\": \"wLq3n2bDQwRh\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Starting state is (1, 2)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"env = GridWorldEnv(starting_state = (1,2))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"bYSh6_UPRKuS\"\n   },\n   \"source\": [\n    \"Let's write a function that runs the whole active inference loop, and then run it for `T = 5` timesteps.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 53,\n   \"metadata\": {\n    \"id\": \"AhC96iFoRENl\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Re-initialized location to (1, 2)\\n\",\n      \"..and sampled observation (1, 2)\\n\",\n      \"Time 0: Agent observes itself in location: (1, 2)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 1: Agent observes itself in location: (2, 2)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAX0AAAEUCAYAAADHgubDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAvLUlEQVR4nO3deVxU9cIG8AdQUxlCMdQrsoUNJoKSgiKbC6LoTYtSQNBKvVIv5UrieM00LcH0krgvF801RBM3UENFTV/X0lLLUpABt1AUGUwB57x/+M5cjiwzbMPczvP9fPx85De/c84ziM+c+c2ZwUQQBAFERCQJpg0dgIiIDIelT0QkISx9IiIJYekTEUkIS5+ISEJY+kREEsLSrwfTpk2Ds7Oz6E/nzp3Rt29fzJkzBwUFBTXa78iRI9G3b99yx6mJ3bt3o2/fvnB1dcWUKVNqtI/qWLx4MZydnZGbm1vvx3qeWq3Wedxvv/0Wzs7OOHXqlIFSVS4nJ0f799zcXDg7O2Px4sUNmKhqZfNWZ97zP8/G4pNPPsHIkSMbOka9adTQAf7KFAoFWrZsCQB48uQJrl69iqSkJPz888/YsmULzMzMarX/kJAQeHl5VXu7+/fvQ6FQoH379pgxYwbs7e1rlcOYqVQqvPvuu/D398dHH33U0HF0GjNmDKytrREbGwsAsLKywvz582v84F7fli1bhh07duC7776rct727dsxe/Zs/PTTT9qx999/H3/++Wd9R6yW5ORkbN26FZ6eng0dpd6w9OtRQEAA2rdvLxpzcHDA7NmzcfToUfTp06dW+3d3d4e7u3u1t8vKykJJSQnCw8MREhJSqwzG7sGDB/j555/h7+/f0FH08v333+PNN9/Uft28eXMMHTq0ARNV7X//93/x9OlTnfPOnDmDJ0+eiMa8vb3rK1a1PX36FMuXL8eSJUsaOkq94/KOgfXo0QMA8PvvvzdYhpKSEgCAubl5g2UgMhZPnjzBm2++icWLF2Po0KFo06ZNQ0eqVyx9A7t9+zYAwM7OTjR+9epVREVFoXv37ujSpQtCQ0Nx7NixKvdV0Zr+7du3MXXqVPTs2ROurq544403sGvXLtE2o0aNAvBs+Umzzi4IApYsWYIBAwbA1dUVvXr1wscff4xbt27pvE+XLl3CRx99hF69esHFxQVeXl6YMmWK9r6WlZmZiVGjRsHNzQ29e/fGokWLtA9CGvfv38esWbPg6+uLzp07Y8CAAVi1apXojLKy1wjKjp86dQr9+vUDACxZsqTaryn8+eefWLhwIfr27at9TWbBggXlliSKi4uxePFiBAYGws3NrcK82dnZiImJgZ+fHzp37gxPT0+8//772gd/zdo9AOzYsUP7+kJla/rJyckYOnQoXF1d0bNnT0yZMkV03zTbpaSkID4+Hn5+fnB1dcWwYcNw8uRJnfddpVJh4cKFGDhwIFxdXeHu7o7hw4fj4MGD2jl9+/bF6dOncePGjSpfdxg5ciR27NgBAHB2dsa0adO042XX9EeOHInIyEikp6djyJAhcHV1xeDBg3HkyBGoVCrMnDkTHh4e8PLywsyZM/H48WPRcX788Ue899572mfAo0ePFi0nVebJkydQqVSIj49HXFwcGjX6ay+A/LXvXQN7+PAh8vPzATw7u7527Rrmzp0LFxcX0Q/7lStXMGLECLz00kuIjIxE48aNsWfPHowbNw4LFy7EoEGD9DrenTt3MGzYMAiCgJEjR8LS0hIHDx7Exx9/jD/++ANjx45FSEgI2rRpgxUrViAkJATdunWDlZUVVqxYgaVLlyI8PFxbjuvXr8fFixexZ8+eSl9/0GS3t7fHuHHj0KxZM/zwww/YuXMnsrOzsW3bNtH8CRMmoEePHoiJicHp06exbNky3Lp1S7uGXVBQgNDQUNy4cQOhoaFwdHTE8ePHsXDhQly+fBlfffWV3t9/JycnKBQKzJs3D/3790f//v1hZWWl17bFxcV47733cP78eQQHB6Nz58746aefsHr1apw7dw7r169H48aNAQBRUVE4evQoXn/9dbz33nv46aefsHDhQty7dw8KhQJ3797F8OHDIZPJEBERgZYtW+KXX37B1q1bcenSJRw6dEi7dj916lR0794dw4cPh5OTU7liA4C4uDgkJibCy8sLU6dOxR9//IGNGzfixIkTSE5OFi0pLlq0CM2aNcPo0aNRUlKCxMREREZGIiMjQ/t60/MEQUBkZCQuX76MiIgI2NnZ4fbt2/jmm2/w4YcfIiUlBc7Ozpg+fToWLlyofY2ostcd3n//fajVapw9exbz588vd8JT1qVLl/Djjz9i1KhRsLCwwMqVKzFx4kS8+uqraNasGSZPnoyzZ88iKSkJrVu3xocffggAOH78OCIjI9GxY0dM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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 2: Agent observes itself in location: (2, 2)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAX0AAAEUCAYAAADHgubDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAv/klEQVR4nO3deXxM98IG8CcJikwaokGRrWGiIiEl0chmiRBuVaMkhFA0qTetNRXjumpriXJTUbsbam3EEltiCYLyopZorS2JTKwNITJpSWLO+4d35ubIMlknc+95vp+Pz0d+8zvnPBPxzJnfnJkYCYIggIiIJMG4tgMQEZH+sPSJiCSEpU9EJCEsfSIiCWHpExFJCEufiEhCWPo1YOrUqXBwcBD9ad++PXr06IE5c+YgJyenUvsdPnw4evToUew4lbFnzx706NEDTk5OmDx5cqX2URFLliyBg4MD7ty5U+PHep1ardZ53B07dsDBwQFnzpzRU6rSZWZmav9+584dODg4YMmSJbWYqGxF81Zk3us/z7XpxIkTGDp0KDp06AAXFxeMHDkSqamptR2rRtSp7QD/zRQKBRo3bgwAePHiBW7evIm4uDj8+uuv2LJlC0xMTKq0/8DAQLi7u1d4uydPnkChUKBVq1aYPn06bGxsqpTDkKlUKowcORI+Pj744osvajuOTqNHj4alpSXmz58PALCwsMCCBQsq/eBe05YtW4adO3fi0KFDZc7bvn07Zs2ahV9++UU79tlnn+Gvv/6q6Yg6nT17Fp9++inatGmDiRMnorCwEJs3b8awYcOwefNmODs713bEasXSr0G+vr5o1aqVaMzW1hazZs3C8ePH0b179yrt38XFBS4uLhXeLj09HQUFBQgODkZgYGCVMhi6p0+f4tdff4WPj09tRymXn376CR999JH264YNG+LDDz+sxURl+9///V+8fPlS57yff/4ZL168EI15eHjUVKwK+eabb/D2229j69ataNCgAQBgwIAB6Nu3L6Kjo7F27dpaTli9uLyjZ126dAEA/P7777WWoaCgAABgampaaxmIDEFOTg6uX7+OPn36aAsfAN566y24urri4sWLtZiuZrD09ezBgwcAAGtra9H4zZs3ER4ejs6dO6NDhw4ICgrCiRMnytxXSWv6Dx48wJQpU/D+++/DyckJAwYMwO7du0XbhISEAHi1/KRZ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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 3: Agent observes itself in location: (2, 2)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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szSGkgMwnCyGkgNgltIYSg7AsLJURmXy61pHZ+lr5uBlMplo3NTUFACgUqlKrKNSqUosr1mntOV1adzY9IXXqaomTUrmrw2GkgMwnCyGkgNgltIYSg6g+rO479lZrdvTpSZ+lzqndwRBKH8DxiU3Ud46pS1PRET6obOBzczMADw7BbM4zRG75vbiZDJZieU12yjtFQAREemHztLXzOUrlUrReHp6uuj259fJyMgoccSfnp5e6vJERKQfOkvfxsYGrVq1KnFO/uHDh9G6dWu0aNGixDoeHh549OgRzpw5ox3Lzs7GhQsX0K1bt2qITURElVGh8/TDwsKgUChgbm6O7t274+jRo0hMTERUVBSAZ4WuVCrRpk0byGQyuLi4wNXVFRMnTkR4eDgaNWqEpUuXwszMDMHBwTV6h4iIqGxGgq53av/Ptm3bEBMTgzt37sDKygqjR4/GO++8AwDYtWsXFAoFNmzYgC5dugAAcnNzMW/ePCQlJUGtVqNTp06YMmUKXnvttRq7M0REVL4Klz4REf3z8fxJIiIJYekTEUkIS7+YF718dE379ddf4eDggLt379bK/tVqNbZu3Yq3334bzs7O8PHxwdy5cyv1qeqqEgQB69evh5+fH5ycnNC/f3/s27dP7zme98knn6B37961su+ioiI4OTnB3t5e9MfZ2VnvWX744QcEBwejQ4cO8PDwwOzZs0v9rE5NOnfuXInfRfE/u3fv1muerVu3wt/fHx07dsTbb7+NvXv36nX/ZanQ2TtSoLl89AcffAAPDw8kJSUhIiIC9evXL/VKojXtxo0bCA0NRVFRkd73rbF27VosXrwYI0eOhJubG9LS0hAdHY3r16/jm2++0WuWVatWITo6Gp9++ik6duyIkydPIjw8HCYmJujbt69es2js2bMHR44cgbW1da3sPy0tDU+ePEFkZCRat26tHdf3p94vXbqE4cOHo2fPnlixYgXS09Px3//+F9nZ2doz/PTBwcEBsbGxojFBEPCf//wHf/31F7y9vfWWJTY2FjNmzMCIESPg6emJEydO4LPPPkPdunXh7++vtxylEkgQBEHw8fERxo8fLxobN26c0KdPH73mKCwsFDZt2iQ4OzsLrq6uglwuF+7cuaPXDIIgCGq1WnBxcRFmzJghGj9w4IAgl8uFa9eu6S1LQUGB4OLiIsyaNUs0PmTIECE4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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 4: Agent observes itself in location: (2, 2)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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0KNHD/z666+4e/dumcd79uwZYmJi0LlzZwwZMqTW7pcp4fJOLXrjjTd0rt4JDg5GUFAQ5syZg9TUVO21y5s2bcKmTZvK3I8h6+oPHjxAQUEB0tLSkJaWVun9TJs2DR9++CE+//xzzJs3T7sENWTIENja2pa7nZmZGR48eIDVq1cjIyMDSqUSt27dgvD/n9itKQqNV199VfS15gFFsx5948YN0X96DVtbW7z88su4efNmuVlq0o0bN2BnZ6ddwtFo0KAB7OzstDlu3ryJZs2aQSaT6eQt/X0rLi5GXFwcLl26BKVSiRs3bmjX/F/8HunLBfynDEtzcnLC999/jwcPHmjHXlzOatCggUHHrFevHr755hucOXMG2dnZUCqV2qUmoRY/jb1JkyaoV+8/taRZVmzWrJlonoWFhTaHUqkEACxYsAALFiwoc7+3bt1CixYtdMa//PJLZGRkYMuWLdql2EePHgF4/ppOXl4emjRpon2A/m/A0jeypk2bolu3bvjuu++Qn5+v/Y8fHh6uc3ar0a5dO7371eynT58+CAsLK3OOnZ1dudu3b98e3377LY4fP44jR47g+PHjiI+Px/r165GYmCg6Sy0tJSUFUVFRaN68Od58803tC5Xff/89Vq9erTO/9Nkp8J8C0fznrqhQ1Gq1Tgm/yJDLBw1haA5Djnf27FmMGTMGjRs3hre3N9555x106NABSqUSn376aY3mAoD69etrL4+sSlnl5eVh8ODB+OOPP+Dj44OePXuiffv2aN26NQYPHlzp/VVG6cIv7cWfm9I093vChAno1KlTmXNePNnQOH78OIqLi8u8X19++SW+/PJLHDp0SOfk7a+MpV8HND+k5ubmaN26NYDnpeft7S2ad/XqVdy4cQONGjXSu08bGxs0atQIJSUlOvu5desWLl++XO5+nj17hitXrkAmk6FXr17ap9IpKSmYNGkSkpKStFdcvGjx4sVwcHDAjh07RMsIe/fuLXP+zZs38dprr2m/zsrKAvCfM/7WrVtrx0rLzc2FSqXC3/72NwD/KbOioiLRPM3SVHW1bt0a58+fR3FxseiBpqioCDdu3NC+MNiqVSucPHkShYWFoktgL126hISEBHz44YeIj49Hw4YNsX//ftGZ96pVqyqdS1M+mZmZ6Nixo+i2rKwsNG7cGNbW1lCpVJXet8aWLVtw48YNbNiw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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Write a function that, when called, runs the entire active inference loop for a desired number of timesteps\\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"def run_active_inference_loop(A, B, C, D, actions, env, T = 5):\\n\",\n    \"\\n\",\n    \"  \\\"\\\"\\\" Initialize the prior that will be passed in during inference to be the same as `D` \\\"\\\"\\\"\\n\",\n    \"  prior = D.copy() # initial prior should be the D vector\\n\",\n    \"\\n\",\n    \"  \\\"\\\"\\\" Initialize the observation that will be passed in during inference - hint use env.reset()\\\"\\\"\\\"\\n\",\n    \"  obs = env.reset() # initialize the `obs` variable to be the first observation you sample from the environment, before `step`-ing it.\\n\",\n    \"\\n\",\n    \"  for t in range(T):\\n\",\n    \"\\n\",\n    \"    print(f'Time {t}: Agent observes itself in location: {obs}')\\n\",\n    \"\\n\",\n    \"    # convert the observation into the agent's observational state space (in terms of 0 through 8)\\n\",\n    \"    obs_idx = grid_locations.index(obs)\\n\",\n    \"\\n\",\n    \"    # perform inference over hidden states\\n\",\n    \"    qs_current = infer_states(obs_idx, A, prior)\\n\",\n    \"\\n\",\n    \"    plot_beliefs(qs_current, title_str = f\\\"Beliefs about location at time {t}\\\")\\n\",\n    \"\\n\",\n    \"    # calculate expected free energy of actions\\n\",\n    \"    G = calculate_G(A, B, C, qs_current, actions)\\n\",\n    \"    \\n\",\n    \"    # compute action posterior\\n\",\n    \"    Q_u = softmax(-G)\\n\",\n    \"\\n\",\n    \"    # sample action from probability distribution over actions\\n\",\n    \"    chosen_action = utils.sample(Q_u)\\n\",\n    \"\\n\",\n    \"    # compute prior for next timestep of inference\\n\",\n    \"    prior = B[:,:,chosen_action].dot(qs_current) \\n\",\n    \"\\n\",\n    \"    # update generative process\\n\",\n    \"    action_label = actions[chosen_action]\\n\",\n    \"\\n\",\n    \"    obs = env.step(action_label)\\n\",\n    \"  \\n\",\n    \"  return qs_current\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\" Run the function we just wrote, for T = 5 timesteps \\\"\\\"\\\"\\n\",\n    \"qs = run_active_inference_loop(A, B, C, D, actions, env, T = 5)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"W9V2E_DwWhBl\"\n   },\n   \"source\": [\n    \"## **Planning**\\n\",\n    \"\\n\",\n    \"But there's a problem. Imagine we started the agent at the top left corner (coordinate `(0,0)`) rather than one step away from the target location\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 54,\n   \"metadata\": {\n    \"id\": \"2w4TX0q2WcFl\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Starting state is (0, 0)\\n\",\n      \"Re-initialized location to (0, 0)\\n\",\n      \"..and sampled observation (0, 0)\\n\",\n      \"Time 0: Agent observes itself in location: (0, 0)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 1: Agent observes itself in location: (0, 1)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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D5cuXUJubi78/PxQUFCg/d1/9OgR+vbti59++gl37typt8x/NhJ5PdMwXnnllXJn7wQEBMDf3x/z5s1Damqq9tzlTZs2YdOmTRVuR5d59fv376OwsBDp6elIT0+v8XamT5+O9957D5999hkWLFignYIaOXIkrK2tK13PxMQE9+/fx+rVq3H58mUolUrcvHkTwn+v2K0pCo0XX3xR9LPmCUUzH339+nXRf3oNa2trPP/887hx40alWfTp+vXrsLGx0U7haDRp0gQ2NjbaHDdu3ECrVq0gk8nK5S37uJWUlCAmJgYXL16EUqnE9evXtXP+zz5G1eUC/leGZTk4OODrr7/G/fv3tWPPTmc1adJEp302atQIX331Fc6cOYOcnBwolUrtVJNQj1djb9GihWiaRTOt2KpVK9FyZmZm2hxKpRIAsGjRIixatKjC7d68efMv/watrlj6BtayZUv06tULhw4dQkFBgfY/fkhISLmjW41OnTpVu13NdgYOHIjg4OAKl7Gxsal0/c6dO+PgwYM4ceIEjh49ihMnTiA2Nhbr169HYmKi6Ci1rJSUFERGRqJ169Z49dVXtW9Ufv3111i9enW55csenQL/KxDNf+6qCkWtVpcr4WfpcvqgLnTNocv+zp49i/Hjx6N58+bo3bs33njjDXTp0gVKpRKffPKJXnMBQOPGjbWnR2peTdREfn4+RowYgd9++w2enp7o168fOnfujPbt22PEiBE13l5NVDav/uzvTVma+z1p0iR07969wmWePdiQMpZ+A9D8kpqamqJ9+/YAnpZe7969RctduXIF169fR7NmzardppWVFZo1a4bS0tJy27l58yYuXbpU6XaePHmCn3/+GTKZDP3799e+lE5JScGUKVOQlJSkPePiWUuXLoWdnR127NghmkbYu3dvhcvfuHEDL730kvbn7OxsAP874m/fvr12rKy8vDyoVCr87W9/A/C/MisuLhYtp5maqqv27dsjMzMTJSUloiea4uJiXL9+XfvGYLt27XDq1CkUFRWJToG9ePEiEhIS8N577yE2NhZNmzbF/v37RUfeq1atqnEuzSvHrKwsdOvWTXRbdnY2mjdvDktLS6hUqhpvW+PLL7/E9evXsWHDBtGH/7777rtab7M+af4PaZ5Uy/rhhx9QUFCApk2bNkQ0o8Q5fQO7e/cuTp8+jZdffhkWFhZo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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 2: Agent observes itself in location: (0, 0)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 3: Agent observes itself in location: (0, 0)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 4: Agent observes itself in location: (0, 0)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"D = utils.onehot(grid_locations.index((0,0)), n_states) # let's have the agent believe it starts in location (0,0)\\n\",\n    \"\\n\",\n    \"env = GridWorldEnv(starting_state = (0,0))\\n\",\n    \"qs = run_active_inference_loop(A, B, C, D, actions, env, T = 5)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"r0sC3oyIW_f7\"\n   },\n   \"source\": [\n    \"Because the expected free energy of each action is only evaluated for one timestep in the future, the agent has no way of knowing which action to initially take, to get closer to its final \\\"goal\\\" of `(2,2)`. This is because the expected divergence term for all actions $\\\\operatorname{D}_{KL}(Q(o|u) \\\\parallel \\\\mathbf{C})$ is identical for all considered actions (which are just 1-step moves away from starting from `(0,0)` ). This speaks to the importance of planning, or _multiple timestep policies_. \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"SQoxPD7g3VtT\"\n   },\n   \"source\": [\n    \"Now let's do active inference with multi-step policies\\n\",\n    \"\\n\",\n    \"We can rely on a useful function from `pymdp`'s `control` module called `construct_policies()` to automatically generate a list of all the policies we want to entertain, for a given number of control states (actions) and a desired temporal horizon. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 55,\n   \"metadata\": {\n    \"id\": \"DPuFHY1kW4K2\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"from pymdp.control import construct_policies\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 56,\n   \"metadata\": {\n    \"id\": \"EsL5zFC93oCC\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Total number of policies for 5 possible actions and a planning horizon of 4: 625\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"policy_len = 4\\n\",\n    \"n_actions = len(actions)\\n\",\n    \"\\n\",\n    \"# we have to wrap `n_states` and `n_actions` in a list for reasons that will become clear in Part II\\n\",\n    \"all_policies = construct_policies([n_states], [n_actions], policy_len = policy_len)\\n\",\n    \"\\n\",\n    \"print(f'Total number of policies for {n_actions} possible actions and a planning horizon of {policy_len}: {len(all_policies)}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"QKA_YdDS5Qo2\"\n   },\n   \"source\": [\n    \"Let's re-write our expected free energy function, but now we loop over policies (sequences of actions), rather than actions (1-step policies)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {\n    \"id\": \"gtv6cvy2qvtT\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def calculate_G_policies(A, B, C, qs_current, policies):\\n\",\n    \"\\n\",\n    \"  G = np.zeros(len(policies)) # initialize the vector of expected free energies, one per policy\\n\",\n    \"  H_A = entropy(A)            # can calculate the entropy of the A matrix beforehand, since it'll be the same for all policies\\n\",\n    \"  qs_pi_t = None\\n\",\n    \"  for policy_id, policy in enumerate(policies): # loop over policies - policy_id will be the linear index of the policy (0, 1, 2, ...) and `policy` will be a column vector where `policy[t,0]` indexes the action entailed by that policy at time `t`\\n\",\n    \"\\n\",\n    \"    t_horizon = policy.shape[0] # temporal depth of the policy\\n\",\n    \"\\n\",\n    \"    G_pi = 0.0 # initialize expected free energy for this policy\\n\",\n    \"\\n\",\n    \"    for t in range(t_horizon): # loop over temporal depth of the policy\\n\",\n    \"\\n\",\n    \"      action = policy[t,0] # action entailed by this particular policy, at time `t`\\n\",\n    \"\\n\",\n    \"      # get the past predictive posterior - which is either your current posterior at the current time (not the policy time) or the predictive posterior entailed by this policy, one timstep ago (in policy time)\\n\",\n    \"      if t == 0:\\n\",\n    \"        qs_prev = qs_current \\n\",\n    \"      else:\\n\",\n    \"        qs_prev = qs_pi_t\\n\",\n    \"        \\n\",\n    \"      qs_pi_t = get_expected_states(B, qs_prev, action) # expected states, under the action entailed by the policy at this particular time\\n\",\n    \"      qo_pi_t = get_expected_observations(A, qs_pi_t)   # expected observations, under the action entailed by the policy at this particular time\\n\",\n    \"\\n\",\n    \"      kld = kl_divergence(qo_pi_t, C) # Kullback-Leibler divergence between expected observations and the prior preferences C\\n\",\n    \"\\n\",\n    \"      G_pi_t = H_A.dot(qs_pi_t) + kld # predicted uncertainty + predicted divergence, for this policy & timepoint\\n\",\n    \"\\n\",\n    \"      G_pi += G_pi_t # accumulate the expected free energy for each timepoint into the overall EFE for the policy\\n\",\n    \"\\n\",\n    \"    G[policy_id] += G_pi\\n\",\n    \"  \\n\",\n    \"  return G\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"kYYRyszL9L00\"\n   },\n   \"source\": [\n    \"Let's write a function for computing the action posterior, given the posterior probability of each policy:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 58,\n   \"metadata\": {\n    \"id\": \"VvxYGhuwsSp9\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def compute_prob_actions(actions, policies, Q_pi):\\n\",\n    \"  P_u = np.zeros(len(actions)) # initialize the vector of probabilities of each action\\n\",\n    \"\\n\",\n    \"  for policy_id, policy in enumerate(policies):\\n\",\n    \"    P_u[int(policy[0,0])] += Q_pi[policy_id] # get the marginal probability for the given action, entailed by this policy at the first timestep\\n\",\n    \"  \\n\",\n    \"  P_u = utils.norm_dist(P_u) # normalize the action probabilities\\n\",\n    \"  \\n\",\n    \"  return P_u\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"Do8CftUd6Vq2\"\n   },\n   \"source\": [\n    \"Now we can write a new active inference function, that uses temporally-deep planning\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 59,\n   \"metadata\": {\n    \"id\": \"d4YrbkGWslC-\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def active_inference_with_planning(A, B, C, D, n_actions, env, policy_len = 2, T = 5):\\n\",\n    \"\\n\",\n    \"  \\\"\\\"\\\" Initialize prior, first observation, and policies \\\"\\\"\\\"\\n\",\n    \"  \\n\",\n    \"  prior = D # initial prior should be the D vector\\n\",\n    \"\\n\",\n    \"  obs = env.reset() # get the initial observation\\n\",\n    \"\\n\",\n    \"  policies = construct_policies([n_states], [n_actions], policy_len = policy_len)\\n\",\n    \"\\n\",\n    \"  for t in range(T):\\n\",\n    \"\\n\",\n    \"    print(f'Time {t}: Agent observes itself in location: {obs}')\\n\",\n    \"\\n\",\n    \"    # convert the observation into the agent's observational state space (in terms of 0 through 8)\\n\",\n    \"    obs_idx = grid_locations.index(obs)\\n\",\n    \"\\n\",\n    \"    # perform inference over hidden states\\n\",\n    \"    qs_current = infer_states(obs_idx, A, prior)\\n\",\n    \"    plot_beliefs(qs_current, title_str = f\\\"Beliefs about location at time {t}\\\")\\n\",\n    \"\\n\",\n    \"    # calculate expected free energy of actions\\n\",\n    \"    G = calculate_G_policies(A, B, C, qs_current, policies)\\n\",\n    \"\\n\",\n    \"    # to get action posterior, we marginalize P(u|pi) with the probabilities of each policy Q(pi), given by \\\\sigma(-G)\\n\",\n    \"    Q_pi = softmax(-G)\\n\",\n    \"\\n\",\n    \"    # compute the probability of each action\\n\",\n    \"    P_u = compute_prob_actions(actions, policies, Q_pi)\\n\",\n    \"\\n\",\n    \"    # sample action from probability distribution over actions\\n\",\n    \"    chosen_action = utils.sample(P_u)\\n\",\n    \"\\n\",\n    \"    # compute prior for next timestep of inference\\n\",\n    \"    prior = B[:,:,chosen_action].dot(qs_current) \\n\",\n    \"\\n\",\n    \"    # step the generative process and get new observation\\n\",\n    \"    action_label = actions[chosen_action]\\n\",\n    \"    obs = env.step(action_label)\\n\",\n    \"  \\n\",\n    \"  return qs_current\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"HXiiTwznw5bG\"\n   },\n   \"source\": [\n    \"Now run it to see if the agent is able to navigate to location `(2,2)`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 60,\n   \"metadata\": {\n    \"id\": \"Pn1WIMem6S_v\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Starting state is (0, 0)\\n\",\n      \"Re-initialized location to (0, 0)\\n\",\n      \"..and sampled observation (0, 0)\\n\",\n      \"Time 0: Agent observes itself in location: (0, 0)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 1: Agent observes itself in location: (0, 0)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 2: Agent observes itself in location: (0, 0)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAX0AAAEUCAYAAADHgubDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAv60lEQVR4nO3de1zN9+MH8FeFodMiC0O3xcmkaJSlm0sivjPLKKIZVvNrc21yfH2NsZHxbXK/fGMYS0xuZRbC+GIu2Vw3SifXRaTTRuV8fn/4nvPt43Q53U5n38/r+Xh4PPQ+78/n8zrJ63zO+3zOyUQQBAFERCQJpnUdgIiIDIelT0QkISx9IiIJYekTEUkIS5+ISEJY+kREEsLSrwXTpk2Dk5OT6E/Hjh3Rq1cvzJkzB3l5eVXa78iRI9GrVy+d41TF7t270atXL7i4uGDKlClV2kdlLFmyBE5OTrh582atH+tFarW6wuN+9913cHJywsmTJw2UqmzZ2dnav9+8eRNOTk5YsmRJHSYqX8m8lZn34s9zXTp69CiGDx+OTp06wc3NDaNGjUJ6enpdx6oV9eo6wP8yhUKBpk2bAgCePn2Ka9euISEhAb/88gu2bNkCMzOzau0/ODgYnp6eld7u4cOHUCgUaNOmDWbMmAE7O7tq5TBmKpUKo0aNgp+fHz7++OO6jlOhMWPGwNraGvPnzwcAWFlZYcGCBVV+cK9ty5cvx44dO/DDDz+UO2/79u2YPXs2fv75Z+3Yhx9+iD///LO2I1bo1KlT+OCDD9CuXTtMmjQJxcXF2Lx5M0aMGIHNmzfD1dW1riPWKJZ+LfL390ebNm1EY/b29pg9ezaOHDmCnj17Vmv/bm5ucHNzq/R2mZmZKCoqQmhoKIKDg6uVwdg9evQIv/zyC/z8/Oo6il5+/PFHvPPOO9qvGzdujLfffrsOE5Xv3//+N549e1bhvJ9++glPnz4VjXl5edVWrEr54osv8Oqrr2Lr1q1o1KgRAGDQoEHo378/YmNjsW7dujpOWLO4vGNg3bp1AwD89ttvdZahqKgIAGBubl5nGYiMQV5eHq5cuYJ+/fppCx8AXnnlFbi7u+PcuXN1mK52sPQN7O7duwAAW1tb0fi1a9cQGRmJrl27olOnTggJCcHRo0fL3Vdpa/p3797F1KlT8eabb8LFxQWDBg3Crl27RNuEhYUBeL78pFlnFwQBS5cuRd++feHi4oLu3bvjk08+wZ07dyq8TxcvXsTHH3+M7t27w9nZGZ6enpgyZYr2vpaUkZGBsLAwuLq6okePHli8eLH2QUjj4cOHmDVrFnx8fNCxY0f07dsXq1evFp1RlvUaQcnxkydPonfv3gCApUuXVvo1hT///BOLFi1Cr169tK/JLFy4UGdJorCwEEuWLEFAQABcXV1LzZuVlYXo6Gj4+vqiY8eO8PDwwIcffqh98Nes3QPAjh07tK8vlLWmn5iYiLfffhsuLi548803MWXKFNF902yXlJSE2NhY+Pr6wsXFBUOGDMGJEycqvO8qlQqLFi1Cv3794OLiAjc3NwwdOhQHDhzQzunVqxdOnTqFW7dulfu6w8iRI7Fjxw4AgJOTE6ZNm6YdL7mmP3LkSERERCA1NRUDBw6Ei4sLBgwYgMOHD0OlUmHmzJlwd3eHp6cnZs6ciSdPnoiOc+7cObz//vvaZ8CjR48WLSeVRiaTYd++fRg1apTObQ8fPqz2Eqwx4vJOLXr8+DFyc3MBPD+7vn79OubOnQtnZ2fRD/vVq1cxfPhwvPLKK4iIiED9+vWxZ88ehIeHY9GiRejfv79ex7t37x6GDBkCQRAwcuRIWFpa4sCBA/jkk0/w+++/Y+zYsQgODkaLFi2wcuVKBAcHo0uXLrCyssLKlSuxbNkyhIaGastxw4YNuHDhAvbs2VPmD78mu52dHcLDw9GoUSOcPXsWO3fuRFZWFrZt2yaaP2HCBHTr1g3R0dE4deoUli9fjjt37mjXsPPy8hASEoJbt24hJCQEDg4OOHbsGBYtWoRLly7hq6++0vv77+joCIVCgXnz5qFPnz7o06cPrKys9Nq2sLAQ77//PtLT0xEUFISOHTvi559/xpo1a3DmzBls2LAB9evXBwBERkbiyJEjeOutt/D+++/j559/xqJFi/DgwQMoFArcv38fQ4cOhUwmw4gRI9C0aVNcvnwZW7duxcWLF3Hw4EHt2v3UqVPRtWtXDB06FI6OjjrFBgAxMTGIj4+Hp6cnpk6dit9//x2bNm3C8ePHkZiYKFpSXLx4MRo1aoTRo0ejqKgI8fHxiIiIQFpamvb1phcJgoCIiAhcunQJI0aMgK2tLe7evYtvv/0WH330EZKSkuDk5ITp06dj0aJF2teIynrd4cMPP4Rarcbp06exYMECnROeki5evIhz584hLCwMFhYWWLVqFSZOnIjXX38djRo1wuTJk3H69GkkJCSgefPm+OijjwAAx44dQ0REBNq3b48JEyagsLAQ3333HUJDQ7Fu3Tp07dq11OOZmZnB3t5eZ/zKlSs4e/YsvL29y8z6lyVQjYuOjhbkcnmpf1xdXYX09HTR/BEjRgj+/v5CQUGBdqyoqEgYPny40L17d+Hp06faeT179tQ5TsmvPTw8hHv37mnH1Gq1MHnyZKFjx47C/fv3BUEQhBMnTghyuVzYvn27dl5gYKAQHh4uyrVlyxZh4MCBQlZWVpn3debMmUKnTp2Ehw8fisYnTZokyOVy7XhcXJwgl8uFCRMmiOZNmzZNkMvlwpUrVwRBEIQvv/xSkMvlwg8//CCaN2vWLEEulwtpaWmi/WVnZ4vmvTienZ0tyOVyIS4ursz7IAiCsH37dkEulwsnTpwQBEEQNm/eLMjlcmHdunWieWvWrBHkcrmwadMmQRAEIS0tTZDL5cKKFStE86ZMmSI4OzsLeXl5wqpVqwQnJyfh2rVrojkLFy4U5HK5cOHCBe2YXC4XoqOjtV+/mP+3334TnJychMjISEGtVmvnpaenC05OTsL48eNF2/n5+Yl+rvbu3SvI5XIhISGhzO9Fenq6IJfLhS1btojGjxw5IsjlciE+Pl479uLPZFle/FktbdsRI0YIcrlcOHjwoHZs06ZNglwuF4YOHaodU6vVgq+vrxAcHCwIgiA8e/ZM6N27txASEiIUFxdr5xUUFAh9+vQR3n777QrzlaRSqYSBAwcKTk5OwsmTJyu17V8Bl3dq0Zdffol169Zh3bp1WL16NT799FO0adMGoaGhOH78OIDnTyFPnToFPz8/PHnyBLm5ucjNzcXjx4/Rp08f3L9/H7/88kuFx1Kr1UhNTUXXrl1Rr1497X4ePnyIgIAAFBYW4tixY2Vu37JlS5w8eRJff/017t+/DwAICQnBzp07yz0zmzVrFg4ePIgmTZpox1QqFV566SUAwB9//CGaP2bMGNHXI0eOBAAcPnwYAHDw4EE4OjrC399fNO///u//AEC0vFCbDh48CJlMhtDQUNF4WFgYZDIZDh48CABIS0uDqakpRowYIZoXHR2NnTt3wtzcHOHh4Th27BgcHR21tz958gSmps//+734PSrPoUOHIAgCwsPDYWJioh3v1KkTvLy8cPjwYRQXF2vH/fz80LhxY+3X7du3BwDk5OSUeYxOnTrhp59+QlBQkHbs2bNnUKvVAICCggK981bWSy+9BB8fH+3XDg4OAKBdpgMAExMTtG7dWnsfLl26hOzsbPj7+yMvL0/7s//kyRP07NkTly9fxr179/Q6/p9//olx48bhypUrCA8Ph4eHRw3eO+PA5Z1a9MYbb+hcvRMYGIiAgADMmTMHKSkp2muXN27ciI0bN5a6H33W1R8+fIj8/HykpqYiNTW10vuZOnUqxo0bhy+++ALz5s3TLkENHToU1tbWZW5nYmKChw8fYtWqVbh69SqUSiVu374N4T+f2K0pCo3XXntN9LXmAUWzHn3z5k3Rf3oNa2trvPzyy7h161aZWWrSzZs3YWNjo13C0WjQoAFsbGy0OW7duoVmzZpBJpPp5C35fSsqKkJsbCwuXrwIpVKJmzdvatf8X/weVZQL+G8ZluTo6Igff/wRDx8+1I69uJzVoEEDvY5Zr149fPvttzh16hSysrKgVCq1S01CLX4ae5MmTVCv3n9rSbOs2KxZM9E8MzMzbQ6lUgkAWLBgARYsWFDqfm/fvo0WLVqUe+zHjx8jIiICZ8+exeDBgzFp0qQq3w9jxtI3sKZNm6Jbt2744YcfkJeXp/2PHxoaqnN2q9G2bdsK96vZT9++fRESElLqHBsbmzK3b9++Pb7//nscPXoUhw4dwtGjRxEXF4d169YhISFBdJZaUnJyMqKiotC8eXO8+eab2hcqf/zxR6xatUpnfsmzU+C/BaL5z11eoajVap0SfpE+lw/qQ98c+hzv9OnTGDNmDBo3bozu3btj8ODB6NChA5RKJT777LMazQUA9evX114eqXk2URm5ubkYMmQIfv/9d3h5eaFXr15o3749WrdujSFDhlR6f5VRsvBLevHnpiTN/Z4wYQI6d+5c6pwXTzZe9ODBA4wZMwaXL19GcHAwZs+eXe4x/8pY+nVA80NqamqK1q1bA3heet27dxfNu3btGm7evCm6lKwsVlZWaNSoEYqLi3X2c/v2bVy6dKnM/Tx79gxXrlyBTCZD7969tU+lk5OTMWnSJCQmJmqvuHjRokWLYGdnh+3bt4uWEXbv3l3q/Fu3bqFdu3barzMzMwH894y/devW2rGScnJyoFKp8OqrrwL4b5kVFhaK5mmWpqqrdevWSE9PR1FRkeiBprCwEDdv3tS+MNiqVSscP34cBQUFoktgL168iPj4eIwbNw5xcXFo2LAh9u7dKzrzXrlyZaVzaZ45ZmRkoFOnTqLbMjMz0bhxY1haWkKlUlV63xqbN2/GzZs3sX79etGb/86ePVvlfdYmzf8hzYNqST///DPy8vLQsGHDMrdXqVTawh81ahQUCkWt5q1rXNM3sPv37+PEiRN4/fXXYWFhgebNm6Njx47YsWOHaN2xqKgI06dPx/jx40VrtGWpV68efH19cfjwYVy5ckV02/z58xEZGSl62l/Ss2fPEBYWhi+++EI0rimV8s4WHz16hFatWokK/86dO9i/f7923yVt3bpV9PW6detgYmKivZqpZ8+euH79us4S1erVqwEAPXr0AADt0knJ+6pSqbSvDWhonkFUZgkFeH45okqlwjfffCMa37x5MwoKCrQ5/Pz8oFarkZiYKJq3ZcsWpKSk4JVXXsGjR49gZWUlKvz8/HztZYwlv0empqblZtW8oW/NmjWis/6LFy/i+PHj8PPzq/YZ6qNHjwCIn2EKgoBNmzYBgOjnsaK8JecBlf930EfHjh1hbW2NjRs3il5vUKlUmDhxIhQKRbmXXn722We4fPkywsLC/ucLH+CZfq1KTU3VXhYnCALu3r2LrVu34s8//xStF86YMQPvvfceBg8ejGHDhqFJkybYu3cvzp8/jylTppR5ad2LoqKicPLkSYSGhiI0NBStWrVCWloaDh06hODgYNEZdkkNGjTAyJEjsWLFCkRGRsLHxwdPnjxBQkICGjVqhMGDB5d5TF9fXyQnJ2PmzJlwcXHBzZs3tfcR0H3Rb/fu3VCpVHB1dcXhw4dx6NAhjB07VvtREBEREdi/fz8mTpyIYcOGwd7eHidOnMD+/fsREBCgfWetv78/5s6di88++wy3bt1CgwYNsHXrVtGDD/B8jdjU1BQHDhxAq1atEBAQAEtLywq/l0OGDMGOHTswf/58/Prrr+jYsSMuXLiA7777Dp07d9Yuc/Tq1Qve3t6YP38+fvvtN7i4uODcuXNISkpCZGQkmjRpAl9fX6xZswYTJkyAt7c3cnJysG3bNu2zkpLfIysrK5w6dQpbt24t9XLBdu3aYeTIkdi4cSPef/99+Pv7IycnBxs3bsTLL79cI5+j5Ovri40bNyIiIgLvvvsuioqKkJKSggsXLsDU1FQn708//YT4+Hh06dJF59lHyXkAEBcXh27dulXp40PKUr9+fcyYMQOTJk1CUFAQ3n33Xbz00ktITEzE7du3sXDhwjKXja5fv46dO3fi5Zdfxuuvv46dO3fqzDHmd0RXBUu/Fs2bN0/7dzMzM1haWsLFxQWff/656Ifezc0NW7ZswZIlS7Bu3ToUFxfDwcEB8+fPF70lvyK2trbYunUr4uLisHXrVvzxxx+wsbGBQqHQXiVTlvHjx6NJkybYvn07YmJiYGZmhjfeeANffvllmev5wPOrdxo3boyDBw9i586daNmyJQYNGoQ+ffpg2LBhOHHiBDp06KCdv2bNGsydOxd79uxBixYtoFAoRG+MadKkCRISEvDVV18hOTkZjx8/ho2NDaZOnSqaZ2VlhTVr1mDRokWIi4tD06ZNMXToULz22muiB9RGjRph0qRJ+Ne//oW5c+fC1tZW+67o8jRo0ADr16/HsmXLkJKSgl27dqFly5aIiIjAuHHjtEs+pqamWL58OZYtW4bdu3dj165dsLW1xcyZMzFs2DAAwMcff4xnz54hOTkZhw4dQvPmzdG9e3eMHj0aAwYMwIkTJ9CnTx8Azx+4Fy1ahDlz5mDOnDmlXl/+97//HQ4ODvj2228xf/58WFpaok+fPhg/frx2qaM6fH19MXfuXMTHx2v37+zsjISEBPzjH/8QfSjd2LFjcfXqVfzzn/9EUFBQmaWv+VlYu3YtfvnllxotfQDo168fLC0tsWLFCixfvhympqZo164dVqxYUe7HnZw6dQrA8xdxyzrL/18rfROhNl+KJyIio8I1fSIiCWHpExFJCEufiEhCWPpERBLC0icikhCWPhGRhPwlrtN/+LAAarXhrixt1kyGBw+q/jb2/7UcgPFkMZYcALMYcw7AeLIYOoepqQmaNi37t+L9JUpfrRYMWvqaYxoDY8kBGE8WY8kBMEtpjCUHYDxZjCUHwOUdIiJJYekTEUlIpUv/8uXLcHZ2LvWXXpdUUFCA2bNnw8vLC25ubvjggw9w48aNquYkIqIaUKnSv379OiIiIvT6qN9JkyZh3759iIqKQkxMDO7du4ewsDDk5+dXOSwREVWPXqVfXFyMb775BkOGDNH+Rp7ynD59GocPH0ZMTAzeeecdBAQEYP369cjPz8eWLVuqHZqIiKpGr9I/c+YMFi5ciNGjRyMqKqrC+ceOHYO5uTm8vLy0Y1ZWVnB3d8eRI0eqnpaIiKpFr9J3dHREamoqPvroo3J/A41GRkYG7OzsdOba2tqW+qvwiIjIMPS6Tv+VV16p1E5VKhVkMpnOuLm5eZV+d2ezZrr70oe6sBCmDRpUaVtrawuDHasmc9QmY8liLDkAZimNseQAjCeLseQAaunNWeX9Xpbyft9qWR48UFXpzQ3W1hY49nbZv+qvJnnt3I6cnJp9kdra2qLG91lVxpLFWHIAzGLMOQDjyWLoHKamJuWeKNfKdfoymUznd6MCzy/jLO0ZABERGUatlL6DgwOys7N1zvizsrLg4OBQG4ckIiI91Erpe3t74/Hjxzh+/Lh2LDc3F6dPn0b37t1r45BERKSHGin93NxcpKena1+kdXd3h4eHByZPnozExET88MMPGDVqFCwsLDBs2LCaOCQREVVBjZR+WloagoODcfHiRe3Y0qVL0atXLyxYsADTpk1Dy5YtsX79elhaWtbEIYmIqApMhPIutTESvHqn7hlLFmPJATCLMecAjCeLJK7eISIi48TSJyKSEJY+EZGEsPSJiCSEpU9EJCEsfSIiCWHpExFJCEufiEhCWPpERBLC0icikhCWPhGRhLD0iYgkhKVPRCQhLH0iIglh6RMRSQhLn4hIQlj6REQSwtInIpIQlj4RkYSw9ImIJISlT0QkISx9IiIJYekTEUkIS5+ISEJY+kREEsLSJyKSEJY+EZGEsPSJiCRE79Lfs2cPBgwYAFdXVwQGBiIpKanc+bm5uVAoFPD29oaHhwciIiJw48aNasYlIqLq0Kv0k5OTERUVBW9vbyxbtgweHh6Ijo7Gvn37Sp0vCAIiIyNx5MgRREVFYcGCBcjJyUFYWBjy8vJq9A4QEZH+6ukzKTY2FoGBgVAoFAAAHx8f5OXlYfHixejXr5/O/Bs3buDs2bOIiYnBoEGDAACOjo7w9/fHwYMH8c4779TcPSAiIr1VeKafnZ0NpVKJgIAA0Xjfvn2RkZGB7OxsnW2ePn0KADA3N9eOWVpaAgAePXpUnbxERFQNFZZ+RkYGAMDBwUE0bmdnBwDIzMzU2aZ9+/bo1q0bli1bhuvXryM3Nxdz585F48aN4e/vXxO5iYioCipc3snPzwcAyGQy0bjmLF6lUpW63axZszB27Fj0798fANCgQQMsW7YMNjY21QpMRERVV2HpC4JQ7u2mprpPFq5fv46QkBDY2tpi+vTpaNiwIbZu3Yrx48dj7dq16Nq1a6VCNmsmq3iSEbC2tvhL7LOqjCWLseQAmKU0xpIDMJ4sxpID0KP0LSyehy0oKBCNa87wNbeXtH79egBAfHy8di3fy8sLw4cPxxdffIHvvvuuUiEfPFBBrS7/wac0hv5G5+Tk1+j+rK0tanyfVWUsWYwlB8AsxpwDMJ4shs5hampS7olyhWv6mrV8pVIpGs/KyhLdXtLt27fh6OioLXwAMDExQZcuXXDt2jX9khMRUY2rsPTt7OzQpk0bnWvy9+/fD3t7e7Rq1UpnGwcHB/z22294/PixaPz8+fNo3bp1NSMTEVFV6XWdfmRkJBQKBSwtLdGjRw8cOHAAKSkpiI2NBfD83bdKpRJt27aFTCbDqFGjsGvXLowePRrh4eFo2LAhdu7ciVOnTmm3ISIiw9Or9IOCglBYWIj4+HgkJibCxsYGMTEx2itz0tLSoFAosGHDBnTr1g1t2rTBli1bsHDhQigUCpiYmEAul2PdunXo3r17rd4hIiIqm16lDwAhISEICQkp9bagoCAEBQWJxhwdHbFixYrqpSMiohrFT9kkIpIQlj4RkYSw9ImIJISlT0QkISx9IiIJYekTEUkIS5+ISEJY+kREEsLSJyKSEJY+EZGEsPSJiCSEpU9EJCEsfSIiCWHpExFJCEufiEhCWPpERBLC0icikhCWPhGRhLD0iYgkhKVPRCQhLH0iIglh6RMRSQhLn4hIQlj6REQSwtInIpIQlj4RkYSw9ImIJISlT0QkIXqX/p49ezBgwAC4uroiMDAQSUlJ5c5Xq9VYsWIFevfuDVdXV7z11lvYu3dvdfMSEVE11NNnUnJyMqKiovDee+/B29sbqampiI6ORsOGDdGvX79St/niiy+QkJCAyZMno3379ti7dy+mTJkCmUwGPz+/Gr0TRESkH71KPzY2FoGBgVAoFAAAHx8f5OXlYfHixaWWvlKpxDfffIPPPvsMQ4YMAQB4enrixo0bOHr0KEufiKiOVFj62dnZUCqVmDx5smi8b9++SElJQXZ2NmxsbES3paamomHDhhg0aJBofNOmTdVPTEREVVbhmn5GRgYAwMHBQTRuZ2cHAMjMzNTZ5urVq3BwcMDx48cxcOBAdOjQAQEBAUhOTq6JzEREVEUVln5+fj4AQCaTicbNzc0BACqVSmeb3Nxc3LlzB9OnT8eIESOwdu1aODs7Y9KkSThx4kRN5CYioiqocHlHEIRybzc11X3cKCoqQm5uLlauXImePXsCAN58801kZGRg6dKlePPNNysVslkzWcWTjIC1tcVfYp9VZSxZjCUHwCylMZYcgPFkMZYcgB6lb2HxPGxBQYFoXHOGr7m9JHNzc5iZmcHLy0s7Zmpqiu7du2Pbtm2VDvnggQpqdfkPPqUx9Dc6Jye/RvdnbW1R4/usKmPJYiw5AGYx5hyA8WQxdA5TU5NyT5QrXN7RrOUrlUrReFZWluj2kuzs7KBWq1FcXCwaLyoqgomJScWpiYioVlRY+nZ2dmjTpg327dsnGt+/fz/s7e3RqlUrnW18fHwgCAJSUlK0Y8XFxTh69Ci6dOlSA7GJiKgq9LpOPzIyEgqFApaWlujRowcOHDiAlJQUxMbGAnj+wq1SqUTbtm0hk8ng6ekJPz8/zJ07F3/88Qfs7e2xefNm3Lp1C4sWLarVO0RERGXTq/SDgoJQWFiI+Ph4JCYmwsbGBjExMejfvz8AIC0tDQqFAhs2bEC3bt0AAHFxcVi8eDFWr16NvLw8dOjQAfHx8ejYsWPt3RsiIiqXiVDR5TlGoDov5B57e3AtJNLltXM7X8iVUA6AWYw5B2A8Wf5yL+QSEdH/DpY+EZGEsPSJiCSEpU9EJCEsfSIiCWHpExFJCEufiEhCWPpERBLC0icikhCWPhGRhLD0iYgkhKVPRCQhLH0iIglh6RMRSQhLn4hIQlj6REQSwtInIpIQlj4RkYSw9ImIJISlT0QkISx9IiIJYekTEUkIS5+ISEJY+kREEsLSJyKSEJY+EZGEsPSJiCSEpU9EJCEsfSIiCdG79Pfs2YMBAwbA1dUVgYGBSEpK0vsgd+7cQZcuXbB8+fKqZCQiohqiV+knJycjKioK3t7eWLZsGTw8PBAdHY19+/ZVuK0gCJg+fTpUKlW1wxIRUfXU02dSbGwsAgMDoVAoAAA+Pj7Iy8vD4sWL0a9fv3K33bx5MzIyMqqflIiIqq3CM/3s7GwolUoEBASIxvv27YuMjAxkZ2eXu+3ChQsxZ86c6iclIqJqq7D0NWfpDg4OonE7OzsAQGZmZqnbqdVqTJs2DYGBgfD19a1uTiIiqgEVLu/k5+cDAGQymWjc3NwcAMpcq//6669x8+ZNrFy5sroZ0ayZrOJJRsDa2uIvsc+qMpYsxpIDYJbSGEsOwHiyGEsOQI/SFwSh3NtNTXWfLFy/fh1fffUV4uLiYGFR/Tv74IEKanX5OUpj6G90Tk5+je7P2tqixvdZVcaSxVhyAMxizDkA48li6BympiblnihXuLyjKe2CggLRuOYM/8VSf/bsGRQKBfr16wcvLy8UFxejuLgYwPMlH83fiYjI8Cosfc1avlKpFI1nZWWJbte4c+cOzp8/j6SkJDg7O2v/AMCSJUu0fyciIsOrcHnHzs4Obdq0wb59+9CnTx/t+P79+2Fvb49WrVqJ5jdv3hzbtm3T2c+7776LYcOGYfDgwTUQm4iIqkKv6/QjIyOhUChgaWmJHj164MCBA0hJSUFsbCwAIDc3F0qlEm3btoVMJoOLi0up+2nevHmZtxERUe3T6x25QUFBmD17Nn788UdERkbip59+QkxMDPr37w8ASEtLQ3BwMC5evFirYYmIqHr0OtMHgJCQEISEhJR6W1BQEIKCgsrd/urVq5VLRkRENY6fsklEJCEsfSIiCWHpExFJCEufiEhCWPpERBLC0icikhCWPhGRhLD0iYgkhKVPRCQhLH0iIglh6RMRSQhLn4hIQlj6REQSwtInIpIQlj4RkYSw9ImIJISlT0QkISx9IiIJYekTEUkIS5+ISEJY+kREEsLSJyKSEJY+EZGEsPSJiCSEpU9EJCEsfSIiCWHpExFJCEufiEhC9C79PXv2YMCAAXB1dUVgYCCSkpLKnZ+Tk4MZM2agZ8+ecHNzQ1BQEFJSUqqbl4iIqqGePpOSk5MRFRWF9957D97e3khNTUV0dDQaNmyIfv366cwvLCzE2LFjkZ+fj/Hjx6N58+b4/vvvMXHiRDx79gx/+9vfavyOEBFRxfQq/djYWAQGBkKhUAAAfHx8kJeXh8WLF5da+keOHMGVK1eQmJgIV1dXAICXlxdu376NNWvWsPSJiOpIhcs72dnZUCqVCAgIEI337dsXGRkZyM7O1tnG3NwcwcHBcHFxEY2/9tprUCqV1YxMRERVVeGZfkZGBgDAwcFBNG5nZwcAyMzMhI2Njeg2T09PeHp6isaKiopw+PBhtGvXrlqBiYio6io808/PzwcAyGQy0bi5uTkAQKVS6XWgL7/8Ejdu3EB4eHhlMxIRUQ2p8ExfEIRybzc1Lf9xQxAEfPnll/j6668xZswY+Pv7Vy4hgGbNZBVPMgLW1hZ/iX1WlbFkMZYcALOUxlhyAMaTxVhyAHqUvoXF87AFBQWicc0Zvub20hQWFmLatGnYu3cvxowZg6lTp1Yp5IMHKqjV5T/4lMbQ3+icnPwa3Z+1tUWN77OqjCWLseQAmMWYcwDGk8XQOUxNTco9Ua6w9DVr+UqlEk5OTtrxrKws0e0vUqlUiIiIwNmzZzF9+nS89957lQpOREQ1r8I1fTs7O7Rp0wb79u0Tje/fvx/29vZo1aqVzjbPnj3DuHHjcP78ecTGxrLwiYiMhF7X6UdGRkKhUMDS0hI9evTAgQMHkJKSgtjYWABAbm4ulEol2rZtC5lMhm+//RanTp1CcHAwWrZsifT0dO2+TExM0KlTp1q5M0REVD69Sj8oKAiFhYWIj49HYmIibGxsEBMTg/79+wMA0tLSoFAosGHDBnTr1g3ff/89ACAhIQEJCQmifZmZmeHSpUs1fDeIiEgfepU+AISEhCAkJKTU24KCghAUFKT9esOGDdVPRkRENY6fsklEJCEsfSIiCWHpExFJCEufiEhCWPpERBLC0icikhCWPhGRhLD0iYgkhKVPRCQhLH0iIglh6RMRSQhLn4hIQlj6REQSwtInIpIQlj4RkYSw9ImIJISlT0QkISx9IiIJYekTEUkIS5+ISEJY+kREEsLSJyKSEJY+EZGEsPSJiCSEpU9EJCEsfSIiCWHpExFJCEufiEhCWPpERBKid+nv2bMHAwYMgKurKwIDA5GUlFTu/IKCAsyePRteXl5wc3PDBx98gBs3blQzLhERVYdepZ+cnIyoqCh4e3tj2bJl8PDwQHR0NPbt21fmNpMmTcK+ffsQFRWFmJgY3Lt3D2FhYcjPz6+x8EREVDn19JkUGxuLwMBAKBQKAICPjw/y8vKwePFi9OvXT2f+6dOncfjwYaxZswa+vr4AgK5du6J3797YsmULwsPDa/AuEBGRvio808/OzoZSqURAQIBovG/fvsjIyEB2drbONseOHYO5uTm8vLy0Y1ZWVnB3d8eRI0dqIDYREVVFhWf6GRkZAAAHBwfRuJ2dHQAgMzMTNjY2OtvY2dnBzMxMNG5ra4uUlJRKhzQ1Nan0NnWhNnIa0303lizGkgNgltIYSw7AeLIYMkdFx6qw9DVr8DKZTDRubm4OAFCpVDrbqFQqnfmabUqbX5GmTc0rvY2G187tVd62spo1073PxrjPqjKWLMaSA2CW0hhLDsB4shhLDkCP5R1BEMrfganuLsrbprT5RERkGBU2sIWFBYDnl2CWpDlj19xekkwm05mv2UdpzwCIiMgwKix9zVq+UqkUjWdlZYluf3Gb7OxsnTP+rKysUucTEZFhVFj6dnZ2aNOmjc41+fv374e9vT1atWqls423tzceP36M48ePa8dyc3Nx+vRpdO/evQZiExFRVeh1nX5kZCQUCgUsLS3Ro0cPHDhwACkpKYiNjQXwvNCVSiXatm0LmUwGd3d3eHh4YPLkyYiKikKTJk2wZMkSWFhYYNiwYbV6h4iIqGwmQkWv1P7Ht99+i/j4eNy5cwc2NjYIDw/HoEGDAADfffcdFAoFNmzYgG7dugEA8vLyMH/+fKSmpkKtVqNLly6YNm0aXnvttVq7M0REVD69S5+IiP76eP0kEZGEsPSJiCSEpV9CZT8+urZdvnwZzs7OuHv3bp0cX61WY8uWLXjrrbfg5uYGf39/zJs3r0rvqq4uQRCwfv169O3bF66urhg4cCB2795t8Bwv+uijj9CnT586OXZxcTFcXV3h5OQk+uPm5mbwLD/99BOGDRuGTp06wdvbG3PmzCn1vTq16eTJkzrfi5J/duzYYdA8W7ZsQWBgIDp37oy33noLu3btMujxy6LX1TtSoPn46Pfeew/e3t5ITU1FdHQ0GjZsWOonida269evIyIiAsXFxQY/tsbatWvx1VdfYcyYMfD09ERmZibi4uJw7do1/Otf/zJollWrViEuLg4ff/wxOnfujCNHjiAqKgpmZmbo37+/QbNo7Ny5Ez/88ANsbW3r5PiZmZl4+vQpYmJiYG9vrx039Lve09PT8f7776NXr15YsWIFsrKy8M9//hO5ubnaK/wMwdnZGQkJCaIxQRDw97//HX/88Qf8/PwMliUhIQGzZs3C6NGj4ePjg8OHD+OTTz5B/fr1ERgYaLAcpRJIEARB8Pf3FyZOnCgamzBhgtCvXz+D5igqKhI2bdokuLm5CR4eHoJcLhfu3Llj0AyCIAhqtVpwd3cXZs2aJRrfu3evIJfLhUuXLhksS2FhoeDu7i589tlnovERI0YIw4YNM1iOku7evSu4u7sLvr6+gr+/f51k2LVrl9C+fXvhjz/+qJPja4SGhgqhoaGCWq3Wjm3atEno3bt3nWdbv3690L59eyE9Pd2gxw0ODhZGjhwpGhs+fLgwYsQIg+YoDZd3ULWPj64tZ86cwcKFCzF69GhERUUZ7LgvKigowMCBA/G3v/1NNK655PbFd2jXJjMzM2zcuFHn9zDUr18fT58+NViOkmbMmAEvLy94enrWyfGB58t/tra2aNSoUZ1l0LzpctiwYTAx+e+nO4aGhiI1NbVOs+Xk5GDx4sXaZSdDevr0qfZDKTWaNGmCR48eGTRHaVj60O/jow3F0dERqamp+Oijj3Q+mtqQZDIZZsyYgS5duojGU1NTAQBt27Y1WBZTU1M4OTmhRYsWEAQB9+/fx+rVq3H8+HEEBwcbLIdGYmIiLl68iH/84x8GP3ZJV69eRYMGDTBmzBi4ubnB3d0dM2fONOhrLr/++isEQYClpSUmTpyIzp07o0uXLvj000/x5MkTg+UozZIlS2BqaoqJEyca/NhhYWE4evQoUlJSoFKpsG/fPqSlpeHtt982eJYXcU0fVfv46NryyiuvGOxYlXX+/HmsXr0a/v7+cHR0rJMM+/fvx/jx4wEAPXr0wMCBAw16/Fu3bmHevHmYN28erKysDHrsF125cgUqlQpDhgzBhx9+iAsXLmDJkiXIzMzEhg0bRGfetSU3NxcAMG3aNPTp0wcrVqzA1atX8dVXX+Hp06eYP39+rWcozYMHD5CUlITRo0fj5ZdfNvjxBwwYgBMnTogecN555x2MHTvW4FlexNJH1T4+WmrOnDmDDz/8EG3atMHcuXPrLEeHDh2wadMmXL16FYsXL0Z4eDi+/vprgxScIAiYPn06/Pz80Ldv31o/XkViY2NhaWkJJycnAIC7uzuaNWuGTz75BMePHxf95rraUlRUBAB444038OmnnwIAPD09IQgCYmJiEBkZqfNLlgwhMTERarUaYWFhBj82AIwbNw7nzp2DQqFAhw4dcP78eSxfvlz7DLousfRRtY+PlpLk5GRMmzYN9vb2WLt2LZo2bVpnWWxsbGBjYwN3d3fIZDJER0fj3LlzeOONN2r92N988w2uXr2K3bt3a6+q0pwwFBcXw8zMzCAPPhoeHh46Yz169ADw/FmAIUpf82xY87uwNby9vTF//nxcvXq1Tkr/+++/h4+PT508Gzt79ix+/PFHzJs3D0FBQQCe/1u9/PLLmDlzJoYOHQq5XG7wXBo8hUXVPj5aKtatW4fJkyejc+fO+Oabb9C8eXODZ3j06BGSkpJw79490XiHDh0AAL///rtBcnz//fd4+PAhvL294ezsDGdnZyQlJUGpVMLZ2dmg14E/ePAAiYmJOhcZaNbRDfXArLlUtLCwUDSueQZgyAdBjXv37uHSpUt1dmnk7du3AUDnRKRr164AgGvXrhk8U0ksfVTt46OlIDExEfPnz0dgYCDWrl1bZ8941Go1pk2bpnMN9rFjxwDAYGdNs2fPxrZt20R/evbsiZYtW2r/bigmJiaYOXMmNm3aJBpPTk6GmZmZzgvwtcXR0RGtW7dGcnKyaPzQoUOoV69enbxR7Pz58wBgsO/BizQniWfOnBGNp6enAwBat25t6EgiXN75j4o+PlpqHjx4gM8//xytW7dGaGgoLl26JLrd1tbWYE+draysMHz4cKxevRoNGzaEi4sLzpw5g1WrVmHIkCEG++TW0o7TpEkTNGjQAC4uLgbJoGFlZYXQ0FBs3LgRMpkMXbt2xZkzZ7By5UqEhoZqrzyrbSYmJoiKitJ+jHpQUBAuXLiAFStWYMSIEXWyvPLrr7+iUaNGdVauzs7O8Pf3x+eff478/Hy8/vrruHDhApYtWwZfX1+DXz76Ipb+fwQFBaGwsBDx8fFITEyEjY0NYmJi6uzdnnXt6NGj+PPPP3Hr1i2Ehobq3L5gwQKDXn6mUCjw6quvYtu2bViyZAlatmyJ8ePHY8yYMQbLYGyio6PRokULbN++HatXr0aLFi0wfvx4g18h0r9/fzRo0ADLli1DREQEmjVrhsjISERERBg0h8b9+/fr5IqdkmJjY7F06VKsX78eDx48QOvWrTF69Gid95rUBX60MhGRhHBNn4hIQlj6REQSwtInIpIQlj4RkYSw9ImIJISlT0QkISx9IiIJYekTEUkIS5+ISEL+Hx4Rdwyan7hlAAAAAElFTkSuQmCC\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 3: Agent observes itself in location: (0, 1)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 4: Agent observes itself in location: (0, 2)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 5: Agent observes itself in location: (1, 2)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAX0AAAEUCAYAAADHgubDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAwI0lEQVR4nO3deVxU5f4H8A+4pDGEYmhXRSRsMFnUFJDdBVG01DAEQ620pC7lSuKY17S6CaaX3HK9aIoZ4oKlYIqGmvzMtLTUshRkwC0URQZTwHl+f3hnYhyWYZlh6nzer5evlzznOed8zzB85sxznjljIYQQICIiSbBs7AKIiMh0GPpERBLC0CcikhCGPhGRhDD0iYgkhKFPRCQhDH0jmDlzJpydnXX+ubq6on///nj//fdRVFRUp+2OHTsW/fv319tPXXz55Zfo378/3NzcMH369DptozaWLl0KZ2dn5OfnG31fD1Or1TXud/v27XB2dsa3335roqqqlpeXp/1/fn4+nJ2dsXTp0kasqHoV661Nv4efz43phRde0PubdXZ2xqRJkxq7tAbXtLEL+DtTKBRo3bo1AODevXs4f/48kpOT8dNPP2Hz5s1o0qRJvbYfHh4Ob2/vWq938+ZNKBQKdOzYEbNnz4aDg0O96jBnKpUKL7/8MgIDA/HWW281djk1mjBhAuzs7BAXFwcAsLW1xYIFC+r84m5sn3zyCXbs2IF9+/ZV22/btm2YN28efvzxR23b66+/jj/++MPYJdZICIELFy4gKCgIwcHBOss6dOjQSFUZD0PfiIKCgtCxY0edts6dO2PevHk4dOgQ+vXrV6/t9+zZEz179qz1ejk5OSgrK0NkZCTCw8PrVYO5u3XrFn766ScEBgY2dikG+eabb/D8889rf3700UcxfPjwRqyoev/3f/+H+/fv19jvu+++w71793TafH19jVVWreTn5+POnTsYMGCAWT/WDYXDOybm5eUFAPjtt98arYaysjIAgJWVVaPVQGQuzp8/DwBwcnJq5EpMg6FvYlevXgUAdOrUSaf9/PnziI6ORu/evdG9e3dERETg8OHD1W6rsjH9q1evYsaMGejTpw/c3NwwYsQIfPHFFzrrjBs3DsCD4SfNOLsQAsuWLcOgQYPg5uYGHx8fvP3227hy5UqNx3TmzBm89dZb8PHxgYuLC7y9vTF9+nTtsVaUnZ2NcePGwd3dHX379sXixYu1L0IaN2/exNy5c+Hv7w9XV1cMGjQIq1ev1jmjrOoaQcX2b7/9FgMGDAAALFu2rNbXFP744w8sWrQI/fv3116TWbhwod6QRGlpKZYuXYrg4GC4u7tXWm9ubi5iY2MREBAAV1dXeHp64vXXX9e++GvG7gFgx44d2usLVY3pp6SkYPjw4XBzc0OfPn0wffp0nWPTrJeamoqEhAQEBATAzc0NYWFhOHr0aI3HrlKpsGjRIgwePBhubm7o2bMnRo0ahf3792v79O/fH8eOHcOlS5eqve4wduxY7NixAwDg7OyMmTNnatsrjumPHTsWUVFRyMjIwLBhw+Dm5oahQ4fi4MGDUKlUmDNnDjw8PODt7Y05c+bg7t27Ovv54Ycf8Morr2jfAY8fP15nOKkqmt+BJvTv3LlT4zp/ZRzeMaLbt2+jsLAQwIOz6wsXLuCDDz6Ai4uLzpP93LlzePHFF/H4448jKioKzZo1w65duzBx4kQsWrQIQ4YMMWh/165dQ1hYGIQQGDt2LGxsbLB//368/fbb+P333/Hqq68iPDwc7dq1w8qVKxEeHo5evXrB1tYWK1euxPLlyxEZGakNxw0bNuD06dPYtWtXldcfNLU7ODhg4sSJaNmyJb7//nvs3LkTubm52Lp1q07/yZMnw8vLC7GxsTh27Bg++eQTXLlyRTuGXVRUhIiICFy6dAkRERFwdHTEkSNHsGjRIpw9exYff/yxwY+/k5MTFAoF5s+fj4EDB2LgwIGwtbU1aN3S0lK88sorOHnyJEJDQ+Hq6ooff/wRa9aswYkTJ7BhwwY0a9YMABAdHY1Dhw7hueeewyuvvIIff/wRixYtwo0bN6BQKHD9+nWMGjUKMpkMY8aMQevWrfHzzz9jy5YtOHPmDA4cOKAdu58xYwZ69+6NUaNGwcnJSS/YACA+Ph6JiYnw9vbGjBkz8PvvvyMpKQlZWVlISUnRGVJcvHgxWrZsifHjx6OsrAyJiYmIiopCZmam9nrTw4QQiIqKwtmzZzFmzBh06tQJV69exeeff44333wTqampcHZ2xqxZs7Bo0SLtNaKqrju8/vrrUKvVOH78OBYsWKB3wlPRmTNn8MMPP2DcuHGwtrbGqlWrMGXKFDz99NNo2bIlpk2bhuPHjyM5ORlt27bFm2++CQA4cuQIoqKi0LVrV0yePBmlpaXYvn07IiMjsW7dOvTu3bvKff7222+wsrLC/PnzkZaWhjt37sDe3h5Tp07F0KFDq1zvL0tQg4uNjRVyubzSf+7u7uLkyZM6/ceMGSOCgoJESUmJtq2srEy8+OKLwsfHR9y7d0/br1+/fnr7qfizp6enuHbtmrZNrVaLadOmCVdXV3H9+nUhhBBHjx4VcrlcbNu2TdsvJCRETJw4UaeuzZs3i2HDhonc3Nwqj3XOnDmie/fu4ubNmzrtU6dOFXK5XNu+ZMkSIZfLxeTJk3X6zZw5U8jlcvHLL78IIYT46KOPhFwuF/v27dPpN3fuXCGXy0VmZqbO9vLy8nT6Pdyel5cn5HK5WLJkSZXHIIQQ27ZtE3K5XBw9elQIIcRnn30m5HK5WLdunU6/NWvWCLlcLpKSkoQQQmRmZgq5XC5WrFih02/69OnCxcVFFBUViVWrVglnZ2dx/vx5nT4LFy4UcrlcnD59Wtsml8tFbGys9ueH6//tt9+Es7OziI6OFmq1Wtvv5MmTwtnZWUyaNElnvcDAQJ3n1e7du4VcLhfJyclVPhYnT54UcrlcbN68Waf90KFDQi6Xi8TERG3bw8/Jqjz8XK1s3TFjxgi5XC4OHDigbUtKShJyuVyMGjVK26ZWq0VAQIAIDw8XQghx//59MWDAABERESHKy8u1/UpKSsTAgQPF8OHDq61txIgRQi6Xi7feekvs3btXbN26VQwbNkzI5XKxY8eOGo/tr4bDO0b00UcfYd26dVi3bh1Wr16Nd999Fx07dkRkZCSysrIAPBjKOHbsGAIDA3H37l0UFhaisLAQt2/fxsCBA3H9+nX89NNPNe5LrVYjIyMDvXv3RtOmTbXbuXnzJoKDg1FaWoojR45Uuf4TTzyBb7/9Fp9++imuX78OAIiIiMDOnTurPTObO3cuDhw4gFatWmnbVCoVHnnkEQD6b5UnTJig8/PYsWMBAAcPHgQAHDhwAE5OTggKCtLp989//hMAdIYXjOnAgQOQyWSIjIzUaR83bhxkMhkOHDgAAMjMzISlpSXGjBmj0y82NhY7d+6ElZUVJk6ciCNHjuiMGd+9exeWlg/+/GoznPD1119DCIGJEyfCwsJC2969e3f4+vri4MGDKC8v17YHBgbi0Ucf1f7ctWtXAEBBQUGV++jevTu+++47hIaGatvu378PtVoNACgpKTG43tp65JFH4O/vr/3Z0dERALTDdABgYWGBDh06aI/h7NmzyMvLQ1BQEIqKirTP/bt376Jfv374+eefce3atSr3OWrUKMyZMwdLlizBwIEDMXLkSCQnJ8Pe3h4fffSRQReq/0o4vGNEzzzzjN7snZCQEAQHB+P9999Henq6du7yxo0bsXHjxkq3Y8i4+s2bN1FcXIyMjAxkZGTUejszZszAG2+8gQ8//BDz58/XDkGNGjUKdnZ2Va5nYWGBmzdvYtWqVTh37hyUSiUuX74M8b87dmuCQuPJJ5/U+VnzgqIZj87Pz9f5o9ews7PDY489hkuXLlVZS0PKz8+Hvb29dghHo3nz5rC3t9fWcenSJbRp0wYymUyv3oqPW1lZGRISEnDmzBkolUrk5+drw+Thx6imuoA/w7AiJycnfPPNN7h586a27eHhrObNmxu0z6ZNm+Lzzz/HsWPHkJubC6VSqR1qEka8G3urVq3QtOmfsaQZVmzTpo1OvyZNmmjrUCqVAIAFCxZgwYIFlW738uXLaNeuXaXLRo8erdfWokULDB8+HMuWLcP58+fNdspsXTD0Tax169bw8vLCvn37UFRUpP3Dj4yM1Du71ejSpUuN29VsZ9CgQYiIiKi0j729fZXrd+3aFV999RUOHz6Mr7/+GocPH8aSJUuwbt06JCcnVzmzIS0tDTExMWjbti369OmjvVD5zTffYNWqVXr9K56dAn8GiOaPu7pAUavVeiH8sIY6KzO0DkP2d/z4cUyYMAGPPvoofHx8MHLkSHTr1g1KpRLvvfdeg9YFAM2aNdNOj9S8m6iNwsJChIWF4ffff4evry/69++Prl27okOHDggLC6v19mqjYuBX9PDzpiLNcU+ePBk9evSotM/DJxuG0Lxg/t0u7DL0G4HmSWppaan98EeTJk3g4+Oj0+/8+fPIz89Hy5Yta9ymra0tWrZsifLycr3tXL58GWfPnq1yO/fv38cvv/wCmUyGAQMGaN9Kp6WlYerUqUhJSdHOuHjYokWL4ODggG3btukMI3z55ZeV9r906RKeeuop7c85OTkA/jzj79Chg7atooKCAqhUKvzjH/8A8GeYlZaW6vTTDE3VV4cOHXDy5EmUlZXpvNCUlpYiPz9fe2Gwffv2yMrKQklJic4U2DNnziAxMRFvvPEGlixZghYtWmD37t06Z94rV66sdV2ad47Z2dno3r27zrKcnBw8+uijsLGxgUqlqvW2NT777DPk5+dj/fr1Oh/++/777+u8TWPS/A1pXlQr+vHHH1FUVIQWLVpUuu61a9cwfvx4hISEaC8Ka2iehw+/W/+r45i+iV2/fh1Hjx7F008/DWtra7Rt2xaurq7YsWOHzrhjWVkZZs2ahUmTJumM0ValadOmCAgIwMGDB/HLL7/oLIuLi0N0dLTO2/6K7t+/j3HjxuHDDz/UadeESnVni7du3UL79u11Av/KlSvYu3evdtsVbdmyRefndevWwcLCQjubqV+/frhw4YLeENXq1asBAH379gUA7dBJxWNVqVTaawMamncQtRlCAR5MR1SpVNi0aZNO+2effYaSkhJtHYGBgVCr1UhJSdHpt3nzZqSnp+Pxxx/HrVu3YGtrqxP4xcXF2mmMFR8jS0vLamvVfKBvzZo1Omf9Z86cQVZWFgIDA6s9KzbErVu3AOi+wxRCICkpCQB0no811VuxH1D734MhXF1dYWdnh40bN+pcb1CpVJgyZQoUCkWVs8/atWuH27dvIyUlReeF8vLly9i+fTu8vLyqHd78K+KZvhFlZGRop8UJIXD16lVs2bIFf/zxB6ZOnartN3v2bLz00ksYOXIkRo8ejVatWmH37t04deoUpk+fXuXUuofFxMTg22+/RWRkJCIjI9G+fXtkZmbi66+/Rnh4uM4ZdkXNmzfH2LFjsWLFCkRHR8Pf3x93795FcnIyWrZsiZEjR1a5z4CAAKSlpWHOnDlwc3NDfn6+9hgB/Yt+X375JVQqFdzd3XHw4EF8/fXXePXVV7W3goiKisLevXsxZcoUjB49Gp07d8bRo0exd+9eBAcHaz9ZGxQUhA8++ADvvfceLl26hObNm2PLli06Lz7AgzFiS0tL7N+/H+3bt0dwcDBsbGxqfCzDwsKwY8cOxMXF4ddff4WrqytOnz6N7du3o0ePHtphjv79+8PPzw9xcXH47bff4Obmhh9++AGpqamIjo5Gq1atEBAQgDVr1mDy5Mnw8/NDQUEBtm7dqn1XUvExsrW1xbFjx7Blyxb4+fnp1fXUU09h7Nix2LhxI1555RUEBQWhoKAAGzduxGOPPdYg91EKCAjAxo0bERUVhRdeeAFlZWVIT0/H6dOnYWlpqVfvd999h8TERPTq1Uvv3UfFfgCwZMkSeHl51en2IVVp1qwZZs+ejalTpyI0NBQvvPACHnnkEaSkpODy5ctYuHBhlcNGAPDuu+8iOjoaERERCAsLQ0lJCTZt2oSmTZvi3XffbbA6zUYjzRr6W6tsyubTTz8t+vTpI1577TWRlZWlt87p06dFVFSU6NWrl+jevbsYMWKE2L59u06fmqZsCiHExYsXxbRp04SXl5dwc3MTQ4YMEevWrdOZylbZlM379++LdevWiWeffVb06NFD9OrVS7z22mvip59+qvZYb926JWbNmiV8fX2Fu7u7CA4OFnFxceLEiRNCLpeL//73v0KIP6dS/vjjj2LUqFHC1dVVDBgwQG9KpBBCFBQUiHfeeUf4+PgIV1dXERISItauXatzDJrjCAsLE66ursLf318sXbpUOyWx4lTOVatWCU9PT+Hu7q6dkvmwh6dsCiFEcXGxiIuLE4GBgcLFxUUMGDBA/Oc//xF//PGHzrp3794VixYtEn379hWurq5iyJAhIikpSdy/f1+7PC4uTgQEBAg3NzcxYMAA8c4774gLFy6Irl27ivfee0+7re3btwtfX1/h6uoqduzYUemUU7VaLZKSksSzzz4rXFxchI+Pj5gxY4bIz8/X9qlqqqqhU1i3bNkiBg8eLNzc3ISfn5+IiooSp0+fFs8//7x49tlntf1Onz4tQkJChIuLi/jXv/5V5fby8/PFyJEjhYuLixg/frwQovIpmw9P/6zsuVpV36ysLDF27FjRo0cP8cwzz4jw8HCd6Z/V2bdvn3jhhReEq6ur6N27t/jnP/+pN8X278JCCH4xOhGRVHBMn4hIQhj6REQSwtAnIpIQhj4RkYQw9ImIJIShT0QkIX+JD2fdvFkCtdp0M0vbtJHhxo26f4z971YHYD61mEsdAGsx5zoA86nF1HVYWlqgdeuqvxXvLxH6arUwaehr9mkOzKUOwHxqMZc6ANZSGXOpAzCfWsylDoDDO0REksLQJyKSkFqH/s8//wwXF5dKv/S6opKSEsybNw++vr7o2bMnXnvtNVy8eLGudRIRUQOoVehfuHABUVFRBt3qd+rUqdizZw9iYmIQHx+Pa9euYdy4cSguLq5zsUREVD8GhX55eTk2bdqEsLAw7TfyVOf48eM4ePAg4uPj8fzzzyM4OBjr169HcXExNm/eXO+iiYiobgwK/RMnTmDhwoUYP348YmJiaux/5MgRWFlZwdfXV9tma2sLDw8PHDp0qO7VEhFRvRgU+k5OTsjIyMCbb75Z5TfQVJSdnQ0HBwe9vp06dar0q/CIiMg0DJqn//jjj9dqoyqVCjKZTK/dysqqTt/d2aaN/raMzc7O2uT7rIy51AGYTy3mUgfQ8LWoS0th2by5SWqpz74asg5jMpdazKUOwEgfzqrue1mq+77Vqty4oTLphxvs7KxRUND4F5zNpQ7AfGoxlzoA49RiZ2eNI8Or/nrKhuS7c5tR6v87/37+CnVYWlpUe6JslHn6MplM77tRgQfTOCt7B0BERKZhlNB3dHREXl6e3hl/bm4uHB0djbFLIiIygFFC38/PD7dv30ZWVpa2rbCwEMePH4ePj48xdklERAZokNAvLCzEyZMntRdpPTw84OnpiWnTpiElJQX79u3Dyy+/DGtra4wePbohdklERHXQIKGfmZmJ8PBwnDlzRtu2bNky9O/fHwsWLMDMmTPxxBNPYP369bCxsWmIXRIRUR1YiOqm2pgJzt5pfOZSi7nUAXD2TmX+7r+fv0IdjTJ7h4iIzBNDn4hIQhj6REQSwtAnIpIQhj4RkYQw9ImIJIShT0QkIQx9IiIJYegTEUkIQ5+ISEIY+kREEsLQJyKSEIY+EZGEMPSJiCSEoU9EJCEMfSIiCWHoExFJCEOfiEhCGPpERBLC0CcikhCGPhGRhDD0iYgkhKFPRCQhDH0iIglh6BMRSQhDn4hIQhj6REQSwtAnIpIQg0N/165dGDp0KNzd3RESEoLU1NRq+xcWFkKhUMDPzw+enp6IiorCxYsX61kuERHVh0Ghn5aWhpiYGPj5+WH58uXw9PREbGws9uzZU2l/IQSio6Nx6NAhxMTEYMGCBSgoKMC4ceNQVFTUoAdARESGa2pIp4SEBISEhEChUAAA/P39UVRUhMWLF2Pw4MF6/S9evIjvv/8e8fHxGDFiBADAyckJQUFBOHDgAJ5//vmGOwIiIjJYjWf6eXl5UCqVCA4O1mkfNGgQsrOzkZeXp7fOvXv3AABWVlbaNhsbGwDArVu36lMvERHVQ42hn52dDQBwdHTUaXdwcAAA5OTk6K3TtWtXeHl5Yfny5bhw4QIKCwvxwQcf4NFHH0VQUFBD1E1ERHVQ4/BOcXExAEAmk+m0a87iVSpVpevNnTsXr776KoYMGQIAaN68OZYvXw57e/t6FUxERHVXY+gLIapdbmmp/2bhwoULiIiIQKdOnTBr1iy0aNECW7ZswaRJk7B27Vr07t27VkW2aSOruVMDs7OzNvk+K2MudQDmU4u51AGYVy11YYz6zekxMZdazKUOwIDQt7Z+UGxJSYlOu+YMX7O8ovXr1wMAEhMTtWP5vr6+ePHFF/Hhhx9i+/bttSryxg0V1OrqX3wakp2dNQoKik22P3OvAzCfWsylDsA4tZg6HIxR/9/59/NXqMPS0qLaE+Uax/Q1Y/lKpVKnPTc3V2d5RZcvX4aTk5M28AHAwsICvXr1wvnz5w2rnIiIGlyNoe/g4ICOHTvqzcnfu3cvOnfujPbt2+ut4+joiN9++w23b9/WaT916hQ6dOhQz5KJiKiuDJqnHx0dDYVCARsbG/Tt2xf79+9Heno6EhISADz49K1SqUSXLl0gk8nw8ssv44svvsD48eMxceJEtGjRAjt37sSxY8e06xARkekZFPqhoaEoLS1FYmIiUlJSYG9vj/j4eO3MnMzMTCgUCmzYsAFeXl7o2LEjNm/ejIULF0KhUMDCwgJyuRzr1q2Dj4+PUQ+IiIiqZlDoA0BERAQiIiIqXRYaGorQ0FCdNicnJ6xYsaJ+1RERUYPiXTaJiCSEoU9EJCEMfSIiCWHoExFJCEOfiEhCGPpERBLC0CcikhCGPhGRhDD0iYgkhKFPRCQhDH0iIglh6BMRSQhDn4hIQhj6REQSwtAnIpIQhj4RkYQw9ImIJIShT0QkIQx9IiIJYegTEUkIQ5+ISEIY+kREEsLQJyKSEIY+EZGEMPSJiCSEoU9EJCEMfSIiCWHoExFJiMGhv2vXLgwdOhTu7u4ICQlBampqtf3VajVWrFiBAQMGwN3dHc899xx2795d33qJiKgemhrSKS0tDTExMXjppZfg5+eHjIwMxMbGokWLFhg8eHCl63z44YdITk7GtGnT0LVrV+zevRvTp0+HTCZDYGBggx4EEREZxqDQT0hIQEhICBQKBQDA398fRUVFWLx4caWhr1QqsWnTJrz33nsICwsDAHh7e+PixYs4fPgwQ5+IqJHUGPp5eXlQKpWYNm2aTvugQYOQnp6OvLw82Nvb6yzLyMhAixYtMGLECJ32pKSk+ldMRER1VuOYfnZ2NgDA0dFRp93BwQEAkJOTo7fOuXPn4OjoiKysLAwbNgzdunVDcHAw0tLSGqJmIiKqoxpDv7i4GAAgk8l02q2srAAAKpVKb53CwkJcuXIFs2bNwpgxY7B27Vq4uLhg6tSpOHr0aEPUTUREdVDj8I4Qotrllpb6rxtlZWUoLCzEypUr0a9fPwBAnz59kJ2djWXLlqFPnz61KrJNG1nNnRqYnZ21yfdZGXOpAzCfWsylDsC8aqkLY9RvTo+JudRiLnUABoS+tfWDYktKSnTaNWf4muUVWVlZoUmTJvD19dW2WVpawsfHB1u3bq11kTduqKBWV//i05Ds7KxRUFBssv2Zex2A+dRiLnUAxqnF1OFgjPr/zr+fv0IdlpYW1Z4o1zi8oxnLVyqVOu25ubk6yytycHCAWq1GeXm5TntZWRksLCxqrpqIiIyixtB3cHBAx44dsWfPHp32vXv3onPnzmjfvr3eOv7+/hBCID09XdtWXl6Ow4cPo1evXg1QNhER1YVB8/Sjo6OhUChgY2ODvn37Yv/+/UhPT0dCQgKABxdulUolunTpAplMBm9vbwQGBuKDDz7AnTt30LlzZ3z22We4dOkSFi1aZNQDIiKiqhkU+qGhoSgtLUViYiJSUlJgb2+P+Ph4DBkyBACQmZkJhUKBDRs2wMvLCwCwZMkSLF68GKtXr0ZRURG6deuGxMREuLq6Gu9oiIioWhaipuk5ZoAXchufudRiLnUAxruQe2T4yAbdZlV8d27jhdy/YR31vpBLRER/Hwx9IiIJYegTEUkIQ5+ISEIY+kREEsLQJyKSEIY+EZGEMPSJiCSEoU9EJCEMfSIiCWHoExFJCEOfiEhCGPpERBLC0CcikhCGPhGRhDD0iYgkhKFPRCQhDH0iIglh6BMRSQhDn4hIQhj6REQSwtAnIpIQhj4RkYQw9ImIJIShT0QkIQx9IiIJYegTEUkIQ5+ISEIY+kREEmJw6O/atQtDhw6Fu7s7QkJCkJqaavBOrly5gl69euGTTz6pS41ERNRADAr9tLQ0xMTEwM/PD8uXL4enpydiY2OxZ8+eGtcVQmDWrFlQqVT1LpaIiOqnqSGdEhISEBISAoVCAQDw9/dHUVERFi9ejMGDB1e77meffYbs7Oz6V0pERPVW45l+Xl4elEolgoODddoHDRqE7Oxs5OXlVbvuwoUL8f7779e/UiIiqrcaQ19zlu7o6KjT7uDgAADIycmpdD21Wo2ZM2ciJCQEAQEB9a2TiIgaQI3DO8XFxQAAmUym025lZQUAVY7Vf/rpp8jPz8fKlSvrWyPatJHV3KmB2dlZm3yflTGXOgDzqcVc6gDMq5a6MEb95vSYmEst5lIHYEDoCyGqXW5pqf9m4cKFC/j444+xZMkSWFvX/2Bv3FBBra6+joZkZ2eNgoJik+3P3OsAzKcWc6kDME4tpg4HY9T/d/79/BXqsLS0qPZEucbhHU1ol5SU6LRrzvAfDvX79+9DoVBg8ODB8PX1RXl5OcrLywE8GPLR/J+IiEyvxtDXjOUrlUqd9tzcXJ3lGleuXMGpU6eQmpoKFxcX7T8AWLp0qfb/RERkejUO7zg4OKBjx47Ys2cPBg4cqG3fu3cvOnfujPbt2+v0b9u2LbZu3aq3nRdeeAGjR4/GyJEjG6BsIiKqC4Pm6UdHR0OhUMDGxgZ9+/bF/v37kZ6ejoSEBABAYWEhlEolunTpAplMBjc3t0q307Zt2yqXERGR8Rn0idzQ0FDMmzcP33zzDaKjo/Hdd98hPj4eQ4YMAQBkZmYiPDwcZ86cMWqxRERUPwad6QNAREQEIiIiKl0WGhqK0NDQatc/d+5c7SojIqIGx7tsEhFJCEOfiEhCGPpERBLC0CcikhCGPhGRhDD0iYgkhKFPRCQhDH0iIglh6BMRSQhDn4hIQhj6REQSwtAnIpIQhj4RkYQw9ImIJIShT0QkIQx9IiIJYegTEUkIQ5+ISEIY+kREEsLQJyKSEIY+EZGEMPSJiCSEoU9EJCEMfSIiCWHoExFJCEOfiEhCGPpERBLC0CcikhCDQ3/Xrl0YOnQo3N3dERISgtTU1Gr7FxQUYPbs2ejXrx969uyJ0NBQpKen17deIiKqh6aGdEpLS0NMTAxeeukl+Pn5ISMjA7GxsWjRogUGDx6s17+0tBSvvvoqiouLMWnSJLRt2xZfffUVpkyZgvv37+PZZ59t8AMhIqKaGRT6CQkJCAkJgUKhAAD4+/ujqKgIixcvrjT0Dx06hF9++QUpKSlwd3cHAPj6+uLy5ctYs2YNQ5+IqJHUOLyTl5cHpVKJ4OBgnfZBgwYhOzsbeXl5eutYWVkhPDwcbm5uOu1PPvkklEplPUsmIqK6qvFMPzs7GwDg6Oio0+7g4AAAyMnJgb29vc4yb29veHt767SVlZXh4MGDeOqpp+pVMBER1V2NZ/rFxcUAAJlMptNuZWUFAFCpVAbt6KOPPsLFixcxceLE2tZIREQNpMYzfSFEtcstLat/3RBC4KOPPsKnn36KCRMmICgoqHYVAmjTRlZzpwZmZ2dt8n1WxlzqAMynFnOpAzCvWurCGPWb02NiLrWYSx2AAaFvbf2g2JKSEp12zRm+ZnllSktLMXPmTOzevRsTJkzAjBkz6lTkjRsqqNXVv/g0JDs7axQUFJtsf+ZeB2A+tZhLHYBxajF1OBij/r/z7+evUIelpUW1J8o1hr5mLF+pVMLZ2Vnbnpubq7P8YSqVClFRUfj+++8xa9YsvPTSS7UqnIiIGl6NY/oODg7o2LEj9uzZo9O+d+9edO7cGe3bt9db5/79+3jjjTdw6tQpJCQkMPCJiMyEQfP0o6OjoVAoYGNjg759+2L//v1IT09HQkICAKCwsBBKpRJdunSBTCbD559/jmPHjiE8PBxPPPEETp48qd2WhYUFunfvbpSDISKi6hkU+qGhoSgtLUViYiJSUlJgb2+P+Ph4DBkyBACQmZkJhUKBDRs2wMvLC1999RUAIDk5GcnJyTrbatKkCc6ePdvAh0FERIYwKPQBICIiAhEREZUuCw0NRWhoqPbnDRs21L8yIiJqcLzLJhGRhDD0iYgkhKFPRCQhDH0iIglh6BMRSQhDn4hIQhj6REQSwtAnIpIQhj4RkYQw9ImIJIShT0QkIQx9IiIJYegTEUkIQ5+ISEIY+kREEsLQJyKSEIY+EZGEMPSJiCSEoU9EJCEMfSIiCWHoExFJCEOfiEhCGPpERBLC0CcikhCGPhGRhDD0iYgkhKFPRCQhDH0iIglh6BMRSYjBob9r1y4MHToU7u7uCAkJQWpqarX9S0pKMG/ePPj6+qJnz5547bXXcPHixXqWS0RE9WFQ6KelpSEmJgZ+fn5Yvnw5PD09ERsbiz179lS5ztSpU7Fnzx7ExMQgPj4e165dw7hx41BcXNxgxRMRUe00NaRTQkICQkJCoFAoAAD+/v4oKirC4sWLMXjwYL3+x48fx8GDB7FmzRoEBAQAAHr37o0BAwZg8+bNmDhxYgMeAhERGarGM/28vDwolUoEBwfrtA8aNAjZ2dnIy8vTW+fIkSOwsrKCr6+vts3W1hYeHh44dOhQA5RNRER1UeOZfnZ2NgDA0dFRp93BwQEAkJOTA3t7e711HBwc0KRJE532Tp06IT09vdZFWlpa1Hqd+mqMfVbGXOoAzKcWc6kDMK9a6sIY9ZvTY2IutZiyjpr2VWPoa8bgZTKZTruVlRUAQKVS6a2jUqn0+mvWqax/TVq3tqr1OvXVpo1+/Y3BXOoAzKcWc6kDME4tvju3Nfg2q2KM+v/uv5+6MJc6AAOGd4QQ1W/AUn8T1a1TWX8iIjKNGhPY2toawIMpmBVpztg1yyuSyWR6/TXbqOwdABERmUaNoa8Zy1cqlTrtubm5OssfXicvL0/vjD83N7fS/kREZBo1hr6DgwM6duyoNyd/79696Ny5M9q3b6+3jp+fH27fvo2srCxtW2FhIY4fPw4fH58GKJuIiOrCoHn60dHRUCgUsLGxQd++fbF//36kp6cjISEBwINAVyqV6NKlC2QyGTw8PODp6Ylp06YhJiYGrVq1wtKlS2FtbY3Ro0cb9YCIiKhqFqKmK7X/8/nnnyMxMRFXrlyBvb09Jk6ciBEjRgAAtm/fDoVCgQ0bNsDLywsAUFRUhLi4OGRkZECtVqNXr16YOXMmnnzySaMdDBERVc/g0Ccior8+zp8kIpIQhj4RkYQw9Cuo7e2jje3nn3+Gi4sLrl692ij7V6vV2Lx5M5577jn07NkTQUFBmD9/fp0+VV1fQgisX78egwYNgru7O4YNG4Yvv/zS5HU87M0338TAgQMbZd/l5eVwd3eHs7Ozzr+ePXuavJbvvvsOo0ePRvfu3eHn54f333+/0s/qGNO3336r91hU/Ldjxw6T1rN582aEhISgR48eeO655/DFF1+YdP9VMWj2jhRobh/90ksvwc/PDxkZGYiNjUWLFi0qvZOosV24cAFRUVEoLy83+b411q5di48//hgTJkyAt7c3cnJysGTJEpw/fx7//e9/TVrLqlWrsGTJErz11lvo0aMHDh06hJiYGDRp0gRDhgwxaS0aO3fuxL59+9CpU6dG2X9OTg7u3buH+Ph4dO7cWdtu6k+9nzx5Eq+88gr69++PFStWIDc3F//5z39QWFioneFnCi4uLkhOTtZpE0LgnXfewZ07dxAYGGiyWpKTkzF37lyMHz8e/v7+OHjwIN5++200a9YMISEhJqujUoKEEEIEBQWJKVOm6LRNnjxZDB482KR1lJWViaSkJNGzZ0/h6ekp5HK5uHLliklrEEIItVotPDw8xNy5c3Xad+/eLeRyuTh79qzJaiktLRUeHh7ivffe02kfM2aMGD16tMnqqOjq1avCw8NDBAQEiKCgoEap4YsvvhBdu3YVd+7caZT9a0RGRorIyEihVqu1bUlJSWLAgAGNXtv69etF165dxcmTJ0263/DwcDF27FidthdffFGMGTPGpHVUhsM7qNvto43lxIkTWLhwIcaPH4+YmBiT7fdhJSUlGDZsGJ599lmdds2U24c/oW1MTZo0wcaNG/W+h6FZs2a4d++eyeqoaPbs2fD19YW3t3ej7B94MPzXqVMntGzZstFq0HzocvTo0bCw+PPujpGRkcjIyGjU2goKCrB48WLtsJMp3bt3T3tTSo1WrVrh1q1bJq2jMgx9GHb7aFNxcnJCRkYG3nzzTb1bU5uSTCbD7Nmz0atXL532jIwMAECXLl1MVoulpSWcnZ3Rrl07CCFw/fp1rF69GllZWQgPDzdZHRopKSk4c+YM/vWvf5l83xWdO3cOzZs3x4QJE9CzZ094eHhgzpw5Jr3m8uuvv0IIARsbG0yZMgU9evRAr1698O677+Lu3bsmq6MyS5cuhaWlJaZMmWLyfY8bNw6HDx9Geno6VCoV9uzZg8zMTAwfPtzktTyMY/qo2+2jjeXxxx832b5q69SpU1i9ejWCgoLg5OTUKDXs3bsXkyZNAgD07dsXw4YNM+n+L126hPnz52P+/PmwtbU16b4f9ssvv0ClUiEsLAyvv/46Tp8+jaVLlyInJwcbNmzQOfM2lsLCQgDAzJkzMXDgQKxYsQLnzp3Dxx9/jHv37iEuLs7oNVTmxo0bSE1Nxfjx4/HYY4+ZfP9Dhw7F0aNHdV5wnn/+ebz66qsmr+VhDH3U7fbRUnPixAm8/vrr6NixIz744INGq6Nbt25ISkrCuXPnsHjxYkycOBGffvqpSQJOCIFZs2YhMDAQgwYNMvr+apKQkAAbGxs4OzsDADw8PNCmTRu8/fbbyMrK0vnmOmMpKysDADzzzDN49913AQDe3t4QQiA+Ph7R0dF6X7JkCikpKVCr1Rg3bpzJ9w0Ab7zxBn744QcoFAp069YNp06dwieffKJ9B92YGPqo2+2jpSQtLQ0zZ85E586dsXbtWrRu3brRarG3t4e9vT08PDwgk8kQGxuLH374Ac8884zR971p0yacO3cOX375pXZWleaEoby8HE2aNDHJi4+Gp6enXlvfvn0BPHgXYIrQ17wb1nwXtoafnx/i4uJw7ty5Rgn9r776Cv7+/o3ybuz777/HN998g/nz5yM0NBTAg9/VY489hjlz5mDUqFGQy+Umr0uDp7Co2+2jpWLdunWYNm0aevTogU2bNqFt27Ymr+HWrVtITU3FtWvXdNq7desGAPj9999NUsdXX32Fmzdvws/PDy4uLnBxcUFqaiqUSiVcXFxMOg/8xo0bSElJ0ZtkoBlHN9ULs2aqaGlpqU675h2AKV8ENa5du4azZ8822tTIy5cvA4DeiUjv3r0BAOfPnzd5TRUx9FG320dLQUpKCuLi4hASEoK1a9c22jsetVqNmTNn6s3BPnLkCACY7Kxp3rx52Lp1q86/fv364YknntD+31QsLCwwZ84cJCUl6bSnpaWhSZMmehfgjcXJyQkdOnRAWlqaTvvXX3+Npk2bNsoHxU6dOgUAJnsMHqY5STxx4oRO+8mTJwEAHTp0MHVJOji88z813T5aam7cuIF///vf6NChAyIjI3H27Fmd5Z06dTLZW2dbW1u8+OKLWL16NVq0aAE3NzecOHECq1atQlhYmMnu3FrZflq1aoXmzZvDzc3NJDVo2NraIjIyEhs3boRMJkPv3r1x4sQJrFy5EpGRkdqZZ8ZmYWGBmJgY7W3UQ0NDcfr0aaxYsQJjxoxplOGVX3/9FS1btmy0cHVxcUFQUBD+/e9/o7i4GE8//TROnz6N5cuXIyAgwOTTRx/G0P+f0NBQlJaWIjExESkpKbC3t0d8fHyjfdqzsR0+fBh//PEHLl26hMjISL3lCxYsMOn0M4VCgX/84x/YunUrli5diieeeAKTJk3ChAkTTFaDuYmNjUW7du2wbds2rF69Gu3atcOkSZNMPkNkyJAhaN68OZYvX46oqCi0adMG0dHRiIqKMmkdGtevX2+UGTsVJSQkYNmyZVi/fj1u3LiBDh06YPz48XqfNWkMvLUyEZGEcEyfiEhCGPpERBLC0CcikhCGPhGRhDD0iYgkhKFPRCQhDH0iIglh6BMRSQhDn4hIQv4fBg+u1bzz8/AAAAAASUVORK5CYII=\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 6: Agent observes itself in location: (2, 2)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAX0AAAEUCAYAAADHgubDAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAwRklEQVR4nO3de1zN9+MH8FdFQyeRhS9dtOxkUjRi3UlFbGZtlEU2fLX92lybHF9fY2yEvk3mbjGXtcTkVmYhjJ8ZWzZsNkqn3IZIJ6NyPr8/fM/59nGq0/V0vr/P6/l4eDz0Pp/L6ySv8znvz+d8MhEEQQAREUmCaVMHICIiw2HpExFJCEufiEhCWPpERBLC0icikhCWPhGRhLD0G8HMmTPh7Ows+tOjRw8EBARg/vz5KCoqqtN2x4wZg4CAAJ391MWePXsQEBAAV1dXTJ8+vU7bqI3ly5fD2dkZBQUFjb6vp6nVar37/frrr+Hs7Izvv//eQKmqlp+fr/17QUEBnJ2dsXz58iZMVL2KeWuz3NM/z02psLAQs2fPhpeXF1588UWMGTMG2dnZTR2rUTRr6gD/nykUCrRt2xYA8OjRI1y6dAkpKSn45ZdfkJycDDMzs3ptPywsDJ6enrVe7+7du1AoFLC1tcXs2bPh4OBQrxzGTKVS4a233oK/vz/ef//9po6j1/jx42FjY4NFixYBAKytrbF48eI6v7g3tpUrV2Lnzp349ttvq11ux44dmDdvHn7++Wft2DvvvIO//vqrsSPqpVKpEBERgT///BNvvfUWWrduja1bt2Ls2LFITU2FXC5v6ogNiqXfiAIDA2Fraysa69KlC+bNm4ejR49iwIAB9dq+u7s73N3da71ebm4uysrKEBERgbCwsHplMHb37t3DL7/8An9//6aOUiPfffcdXnvtNe3XrVq1wquvvtqEiar3v//7v3j8+LHe5X744Qc8evRINObt7d1YsWpl3bp1yM3NxebNm+Hh4QEAGDJkCAIDA7F+/XosXry4iRM2LE7vGFi/fv0AAH/88UeTZSgrKwMAWFhYNFkGImMgCAJ27tyJ/v37awsfAGxsbDBjxgz06dOnCdM1Dpa+gd24cQMAYG9vLxq/dOkSoqOj0adPH/Ts2RPh4eE4duxYtduqbE7/xo0bmDFjBl566SW4urpi+PDh2L17t2idyMhIAE+mnzTz7IIg4LPPPsOgQYPg6uoKLy8vfPDBB7h+/bre53T+/Hm8//778PLygouLCzw9PTF9+nTtc60oJycHkZGRcHNzQ//+/bFs2TLti5DG3bt3MXfuXPj6+qJHjx4YNGgQ1q5dKzqirOocQcXx77//HgMHDgQAfPbZZ7U+p/DXX38hPj4eAQEB2nMyS5cu1ZmSKC0txfLlyxEcHAw3N7dK8+bl5SE2NhZ+fn7o0aMH+vbti3feeUf74q+ZuweAnTt3as8vVDWnn5qaildffRWurq546aWXMH36dNFz06yXlpaGhIQE+Pn5wdXVFSNGjMDJkyf1PneVSoX4+HgMHjwYrq6ucHd3x8iRI3Hw4EHtMgEBATh16hSuXr1a7XmHMWPGYOfOnQAAZ2dnzJw5UztecU5/zJgxiIqKQmZmJoYNGwZXV1cMHToUR44cgUqlwpw5c+Dh4QFPT0/MmTMHDx8+FO3np59+wttvv619Bzxu3DjRdFJlCgoKcPPmTXh5eQF48iJQUlICAIiIiMDIkSP1fq/+23B6pxHdv38fhYWFAJ4cXV++fBkLFiyAi4uL6If94sWLePPNN/Hss88iKioKzZs3x969ezFx4kTEx8djyJAhNdrfzZs3MWLECAiCgDFjxsDKygoHDx7EBx98gD///BMTJkxAWFgYOnTogNWrVyMsLAy9e/eGtbU1Vq9ejRUrViAiIkJbjps2bcK5c+ewd+/eKs8/aLI7ODhg4sSJaNmyJX788Ufs2rULeXl52L59u2j5yZMno1+/foiNjcWpU6ewcuVKXL9+XTuHXVRUhPDwcFy9ehXh4eFwdHTE8ePHER8fjwsXLuDTTz+t8fffyckJCoUCCxcuRFBQEIKCgmBtbV2jdUtLS/H2228jOzsboaGh6NGjB37++WesW7cOZ86cwaZNm9C8eXMAQHR0NI4ePYpXXnkFb7/9Nn7++WfEx8fjzp07UCgUuH37NkaOHAmZTIbRo0ejbdu2+PXXX7Ft2zacP38ehw4d0s7da44uR44cCScnJ51iA4C4uDgkJSXB09MTM2bMwJ9//oktW7bgxIkTSE1NFU0pLlu2DC1btsS4ceNQVlaGpKQkREVFISsrS3u+6WmCICAqKgoXLlzA6NGjYW9vjxs3buCrr77Ce++9h7S0NDg7O2PWrFmIj4/XniOq6rzDO++8A7VajdOnT2Px4sU6BzwVnT9/Hj/99BMiIyNhaWmJNWvWYMqUKXjhhRfQsmVLTJs2DadPn0ZKSgrat2+P9957DwBw/PhxREVFoVu3bpg8eTJKS0vx9ddfIyIiAhs2bKjyiD0vLw8A0K5dO8TFxWHbtm1QqVSwt7eHQqEwmhPNDUqgBhcbGyvI5fJK/7i5uQnZ2dmi5UePHi0EBgYKJSUl2rGysjLhzTffFLy8vIRHjx5plxswYIDOfip+3bdvX+HmzZvaMbVaLUybNk3o0aOHcPv2bUEQBOHkyZOCXC4XduzYoV0uJCREmDhxoihXcnKyMGzYMCEvL6/K5zpnzhyhZ8+ewt27d0XjU6dOFeRyuXY8MTFRkMvlwuTJk0XLzZw5U5DL5cJvv/0mCIIgLFmyRJDL5cK3334rWm7u3LmCXC4XsrKyRNvLz88XLff0eH5+viCXy4XExMQqn4MgCMKOHTsEuVwunDx5UhAEQfjyyy8FuVwubNiwQbTcunXrBLlcLmzZskUQBEHIysoS5HK5sGrVKtFy06dPF1xcXISioiJhzZo1grOzs3Dp0iXRMkuXLhXkcrlw7tw57ZhcLhdiY2O1Xz+d/48//hCcnZ2F6OhoQa1Wa5fLzs4WnJ2dhUmTJonW8/f3F/1c7du3T5DL5UJKSkqV34vs7GxBLpcLycnJovGjR48KcrlcSEpK0o49/TNZlad/Vitbd/To0YJcLhcOHTqkHduyZYsgl8uFkSNHasfUarXg5+cnhIWFCYIgCI8fPxYGDhwohIeHC+Xl5drlSkpKhKCgIOHVV1+tMpfm+xEUFCSEhIQIO3bsEHbu3Cm8/PLLQrdu3YTjx4/rfW7/bTi904iWLFmCDRs2YMOGDVi7di0+/PBD2NraIiIiAidOnADwZCrj1KlT8Pf3x8OHD1FYWIjCwkLcv38fQUFBuH37Nn755Re9+1Kr1cjMzESfPn3QrFkz7Xbu3r2L4OBglJaW4vjx41Wu37FjR3z//ff44osvcPv2bQBAeHg4du3aVe2R2dy5c3Ho0CG0adNGO6ZSqfDMM88AAB48eCBafvz48aKvx4wZAwA4cuQIAODQoUNwcnJCYGCgaLn/+Z//AQDR9EJjOnToEGQyGSIiIkTjkZGRkMlkOHToEAAgKysLpqamGD16tGi52NhY7Nq1CxYWFpg4cSKOHz8OJycn7eMPHz6EqemT/35Pf4+qc/jwYQiCgIkTJ8LExEQ73rNnT3h7e+PIkSMoLy/Xjvv7+6NVq1bar7t16wYAuHXrVpX76NmzJ3744QeEhoZqxx4/fgy1Wg0A2umPxvDMM8/A19dX+7WjoyMAaKfpAMDExASdO3fWPocLFy4gPz8fgYGBKCoq0v7sP3z4EAMGDMCvv/6KmzdvVrq/0tJSAE/elScnJyM0NBTDhw/H1q1b0bp1a8THxzfWU20ynN5pRC+++KLO1TshISEIDg7G/PnzkZGRob12efPmzdi8eXOl26nJvPrdu3dRXFyMzMxMZGZm1no7M2bMwLvvvotPPvkECxcu1E5BjRw5EjY2NlWuZ2Jigrt372LNmjW4ePEilEolrl27BuHfd+zWFIXGc889J/pa84KimY8uKCgQ/afXsLGxQevWrXH16tUqszSkgoIC2NnZaadwNMzNzWFnZ6fNcfXqVbRr1w4ymUwnb8XvW1lZGRISEnD+/HkolUoUFBRo5/yf/h7pywX8pwwrcnJywnfffYe7d+9qx56ezjI3N6/RPps1a4avvvoKp06dQl5eHpRKpXaqSWjEu7G3adMGzZr9p5Y004rt2rUTLWdmZqbNoVQqAQCLFy+u8kqba9euoUOHDjrjmhfE4OBgWFlZacdbt26NgIAA7Ny5EyUlJf+vLnpg6RtY27Zt0a9fP3z77bcoKirS/sePiIjQObrV6Nq1q97tarYzaNAghIeHV7qMnZ1dlet369YN33zzDY4dO4bDhw/j2LFjSExMxIYNG5CSkiI6Sq0oPT0dMTExaN++PV566SXticrvvvsOa9as0Vm+4tEp8J8C0fznrq5Q1Gq1Tgk/rSaXD9ZETXPUZH+nT5/G+PHj0apVK3h5eeH1119H9+7doVQq8dFHHzVoLgBo3ry59vJIzbuJ2igsLMSIESPw559/wtvbGwEBAejWrRs6d+6MESNG1Hp7tVGx8Ct6+uemIs3znjx5Mnr16lXpMk8fbGhoXggqO9djbW0NQRDw4MEDlj7Vj+aH1NTUFJ07dwbwpPQ0VxBoXLp0CQUFBWjZsqXebVpbW6Nly5YoLy/X2c61a9dw4cKFKrfz+PFj/Pbbb5DJZBg4cKD2rXR6ejqmTp2K1NRU7RUXT4uPj4eDgwN27NghmkbYs2dPpctfvXoVzz//vPbr3NxcAP854u/cubN2rKJbt25BpVLhb3/7G4D/lJnm7bmGZmqqvjp37ozs7GyUlZWJXmhKS0tRUFCgPTHYqVMnnDhxQudo8Pz580hKSsK7776LxMREtGjRAvv27ROVy+rVq2udS/POMScnBz179hQ9lpubi1atWsHKygoqlarW29b48ssvUVBQgI0bN4o+/Pfjjz/WeZuNSfN/SPOiWtHPP/+MoqIitGjRotJ1n3/+eZibm+PSpUs6jxUUFOCZZ56p8cn//xac0zew27dv4+TJk3jhhRdgaWmJ9u3bo0ePHti5c6do3rGsrAyzZs3CpEmTRHO0VWnWrBn8/Pxw5MgR/Pbbb6LHFi1ahOjoaNHb/ooeP36MyMhIfPLJJ6JxTalUd7R47949dOrUSVT4169fx4EDB7Tbrmjbtm2irzds2AATExPtVRIDBgzA5cuXdaao1q5dCwDo378/AGinTio+V5VKpT03oKF5B1GbKRTgyeWIKpUKW7duFY1/+eWXKCkp0ebw9/eHWq1GamqqaLnk5GRkZGTg2Wefxb1792BtbS0qj+LiYu1ljBW/R6amptVm1Xygb926daKj/vPnz+PEiRPw9/ev9qi4Ju7duwdA/A5TEARs2bIFAEQ/j/ryVlwOqP2/Q0306NEDNjY22Lx5s+h8g0qlwpQpU6BQKKq8+qxVq1YICAhAVlaW6LMz+fn5OHToEAYOHFjvT84bGx7pN6LMzEztZXGCIODGjRvYtm0b/vrrL0ydOlW73OzZszF27Fi8/vrrGDVqFNq0aYN9+/bh7NmzmD59epWX1j0tJiYG33//PSIiIhAREYFOnTohKysLhw8fRlhYmOgIuyJzc3OMGTMGq1atQnR0NHx9ffHw4UOkpKSgZcuWeP3116vcp5+fH9LT0zFnzhy4urqioKBA+xwB3ZN+e/bsgUqlgpubG44cOYLDhw9jwoQJ2ltBREVF4cCBA5gyZQpGjRqFLl264OTJkzhw4ACCg4O1n6wNDAzEggUL8NFHH+Hq1aswNzfHtm3bRC8+wJM5YlNTUxw8eBCdOnXSmbutyogRI7Bz504sWrQIv//+O3r06IFz587h66+/Rq9evbTTHAEBAfDx8cGiRYvwxx9/wNXVFT/99BPS0tIQHR2NNm3awM/PD+vWrcPkyZPh4+ODW7duYfv27dp3JRW/R9bW1jh16hS2bdsGHx8fnVzPP/88xowZg82bN+Ptt99GYGAgbt26hc2bN6N169YNch8lPz8/bN68GVFRUXjjjTdQVlaGjIwMnDt3Dqampjp5f/jhByQlJaF379467z4qLgcAiYmJ6NevX51uH1KV5s2bY/bs2Zg6dSpCQ0Pxxhtv4JlnnkFqaiquXbuGpUuXVjltBAAffPABTp06hcjISERGRqJ58+bYtGkTWrRogWnTpjVYTmPB0m9ECxcu1P7dzMwMVlZWcHV1xccffyz6oXd3d0dycjKWL1+ODRs2oLy8HI6Ojli0aJHoI/n62NvbY9u2bUhMTMS2bdvw4MED2NnZQaFQaK+SqcqkSZPQpk0b7NixA3FxcTAzM8OLL76IJUuWVDmfDzy5eqdVq1Y4dOgQdu3ahY4dO2L48OEICgrCqFGjcPLkSXTv3l27/Lp167BgwQLs3bsXHTp0gEKhwFtvvaV9vE2bNkhJScGnn36K9PR03L9/H3Z2dpgxY4ZoOWtra6xbtw7x8fFITExE27ZtMXLkSDz33HOiF9SWLVti6tSp+Pzzz7FgwQLY29trPxVdHXNzc2zcuBErVqxARkYGdu/ejY4dOyIqKgrvvvuudsrH1NQUK1euxIoVK7Bnzx7s3r0b9vb2mDNnDkaNGgUAeP/99/H48WOkp6fj8OHDaN++Pby8vDBu3DgMHToUJ0+eRFBQEIAnL9zx8fGYP38+5s+fX+n15f/4xz/g6OiIr776CosWLYKVlRWCgoIwadIk7VRHffj5+WHBggVISkrSbt/FxQUpKSn45z//Kbop3YQJE3Dx4kX861//QmhoaJWlr/lZWL9+PX755ZcGLX0AGDx4MKysrLBq1SqsXLkSpqameP7557Fq1Sq9tzuxtbXFtm3bsGTJEnz++ecQBAF9+vTBjBkzqj0P9t/KRGjMU/FERGRUOKdPRCQhLH0iIglh6RMRSQhLn4hIQlj6REQSwtInIpKQ/4rr9O/eLYFabbgrS9u1k+HOnbp/jP3/Ww7AeLIYSw6AWYw5B2A8WQydw9TUBG3bVn2voP+K0lerBYOWvmafxsBYcgDGk8VYcgDMUhljyQEYTxZjyQFweoeISFJY+kREElLr0v/111/h4uJS6S+9rqikpATz5s2Dt7c33N3d8fe//x1Xrlypa04iImoAtSr9y5cvIyoqqka3+p06dSr279+PmJgYxMXF4ebNm4iMjERxcXGdwxIRUf3UqPTLy8uxdetWjBgxQvsbeapz+vRpHDlyBHFxcXjttdcQHByMjRs3ori4GMnJyfUOTUREdVOj0j9z5gyWLl2KcePGISYmRu/yx48fh4WFBby9vbVj1tbW8PDwwNGjR+ueloiI6qVGpe/k5ITMzEy89957NfotMjk5OXBwcNBZ1t7evtJfhUdERIZRo+v0n3322VptVKVSQSaT6YxbWFjU6Xd3tmunu63GZmNjafB9VsZYcgDGk8VYcgDMUhljyQE0bBZ1aSlMzc0NlqM++6tOo3w4q7rfy1Ld71utyp07KoN+uMHGxhK3bjX9CWdjyQEYTxZjyQEwizHnABo+i42NJY6/WvWvDm1o3rt21Cm/qalJtQfKjXKdvkwm0/ndqMCTyzgrewdARESG0Sil7+joiPz8fJ0j/ry8PDg6OjbGLomIqAYapfR9fHxw//59nDhxQjtWWFiI06dPw8vLqzF2SURENdAgpV9YWIjs7GztSVoPDw/07dsX06ZNQ2pqKr799lu89dZbsLS0xKhRoxpil0REVAcNUvpZWVkICwvD+fPntWOfffYZAgICsHjxYsycORMdO3bExo0bYWVl1RC7JCKiOjARqrvUxkjw6p2mZyxZjCUHwCzGnAPg1TtVPl6fUERE9N+FpU9EJCEsfSIiCWHpExFJCEufiEhCWPpERBLC0icikhCWPhGRhLD0iYgkhKVPRCQhLH0iIglh6RMRSQhLn4hIQlj6REQSwtInIpIQlj4RkYSw9ImIJISlT0QkISx9IiIJYekTEUkIS5+ISEJY+kREEsLSJyKSEJY+EZGEsPSJiCSEpU9EJCEsfSIiCWHpExFJSI1Lf+/evRg6dCjc3NwQEhKCtLS0apcvLCyEQqGAj48P+vbti6ioKFy5cqWecYmIqD5qVPrp6emIiYmBj48PVqxYgb59+yI2Nhb79++vdHlBEBAdHY2jR48iJiYGixcvxq1btxAZGYmioqIGfQJERFRzzWqyUEJCAkJCQqBQKAAAvr6+KCoqwrJlyzB48GCd5a9cuYIff/wRcXFxGD58OADAyckJgYGBOHToEF577bWGewZERFRjeo/08/PzoVQqERwcLBofNGgQcnJykJ+fr7POo0ePAAAWFhbaMSsrKwDAvXv36pOXiIjqQW/p5+TkAAAcHR1F4w4ODgCA3NxcnXW6deuGfv36YcWKFbh8+TIKCwuxYMECtGrVCoGBgQ2Rm4iI6kDv9E5xcTEAQCaTicY1R/EqlarS9ebOnYsJEyZgyJAhAABzc3OsWLECdnZ29QpMRER1p7f0BUGo9nFTU903C5cvX0Z4eDjs7e0xa9YstGjRAtu2bcOkSZOwfv169OnTp1Yh27WT6V+ogdnYWBp8n5UxlhyA8WQxlhwAs1TGWHIAxpWlLhojv97St7R8stOSkhLRuOYIX/N4RRs3bgQAJCUlaefyvb298eabb+KTTz7B119/XauQd+6ooFZX/+LTkGxsLHHrVrHB9mfsOQDjyWIsOQBmMeYcQMNnaYoXkLrkNzU1qfZAWe+cvmYuX6lUisbz8vJEj1d07do1ODk5aQsfAExMTNC7d29cunSpZsmJiKjB6S19BwcH2Nra6lyTf+DAAXTp0gWdOnXSWcfR0RF//PEH7t+/Lxo/e/YsOnfuXM/IRERUVzW6Tj86OhoKhQJWVlbo378/Dh48iIyMDCQkJAB48ulbpVKJrl27QiaT4a233sLu3bsxbtw4TJw4ES1atMCuXbtw6tQp7TpERGR4NSr90NBQlJaWIikpCampqbCzs0NcXJz2ypysrCwoFAps2rQJ/fr1g62tLZKTk7F06VIoFAqYmJhALpdjw4YN8PLyatQnREREVatR6QNAeHg4wsPDK30sNDQUoaGhojEnJyesWrWqfumIiKhB8S6bREQSwtInIpIQlj4RkYSw9ImIJISlT0QkISx9IiIJYekTEUkIS5+ISEJY+kREEsLSJyKSEJY+EZGEsPSJiCSEpU9EJCEsfSIiCWHpExFJCEufiEhCWPpERBLC0icikhCWPhGRhLD0iYgkhKVPRCQhLH0iIglh6RMRSQhLn4hIQlj6REQSwtInIpIQlj4RkYSw9ImIJKTGpb93714MHToUbm5uCAkJQVpaWrXLq9VqrFq1CgMHDoSbmxteeeUV7Nu3r755iYioHprVZKH09HTExMRg7Nix8PHxQWZmJmJjY9GiRQsMHjy40nU++eQTpKSkYNq0aejWrRv27duH6dOnQyaTwd/fv0GfBBER1UyNSj8hIQEhISFQKBQAAF9fXxQVFWHZsmWVlr5SqcTWrVvx0UcfYcSIEQAAT09PXLlyBceOHWPpExE1Eb2ln5+fD6VSiWnTponGBw0ahIyMDOTn58POzk70WGZmJlq0aIHhw4eLxrds2VL/xEREVGd65/RzcnIAAI6OjqJxBwcHAEBubq7OOhcvXoSjoyNOnDiBYcOGoXv37ggODkZ6enpDZCYiojrSW/rFxcUAAJlMJhq3sLAAAKhUKp11CgsLcf36dcyaNQujR4/G+vXr4eLigqlTp+LkyZMNkZuIiOpA7/SOIAjVPm5qqvu6UVZWhsLCQqxevRoDBgwAALz00kvIycnBZ599hpdeeqlWIdu1k+lfqIHZ2FgafJ+VMZYcgPFkMZYcALNUxlhyAMaVpS4aI7/e0re0fLLTkpIS0bjmCF/zeEUWFhYwMzODt7e3dszU1BReXl7Yvn17rUPeuaOCWl39i09DsrGxxK1bxQbbn7HnAIwni7HkAJjFmHMADZ+lKV5A6pLf1NSk2gNlvdM7mrl8pVIpGs/LyxM9XpGDgwPUajXKy8tF42VlZTAxMdGfmoiIGoXe0ndwcICtrS32798vGj9w4AC6dOmCTp066azj6+sLQRCQkZGhHSsvL8exY8fQu3fvBohNRER1UaPr9KOjo6FQKGBlZYX+/fvj4MGDyMjIQEJCAoAnJ26VSiW6du0KmUwGT09P+Pv7Y8GCBXjw4AG6dOmCL7/8ElevXkV8fHyjPiEiIqpajUo/NDQUpaWlSEpKQmpqKuzs7BAXF4chQ4YAALKysqBQKLBp0yb069cPAJCYmIhly5Zh7dq1KCoqQvfu3ZGUlIQePXo03rMhIqJqmQj6Ls8xAjyR2/SMJYux5ACYxZhzAI1zIvf4q6832Pb08d61o2lO5BIR0f8fLH0iIglh6RMRSQhLn4hIQlj6REQSwtInIpIQlj4RkYSw9ImIJISlT0QkISx9IiIJYekTEUkIS5+ISEJY+kREEsLSJyKSEJY+EZGEsPSJiCSEpU9EJCEsfSIiCWHpExFJCEufiEhCWPpERBLC0icikhCWPhGRhLD0iYgkhKVPRCQhLH0iIglh6RMRSQhLn4hIQlj6REQSUuPS37t3L4YOHQo3NzeEhIQgLS2txju5fv06evfujZUrV9YlIxERNZAalX56ejpiYmLg4+ODFStWoG/fvoiNjcX+/fv1risIAmbNmgWVSlXvsEREVD/NarJQQkICQkJCoFAoAAC+vr4oKirCsmXLMHjw4GrX/fLLL5GTk1P/pEREVG96j/Tz8/OhVCoRHBwsGh80aBBycnKQn59f7bpLly7F/Pnz65+UiIjqTW/pa47SHR0dReMODg4AgNzc3ErXU6vVmDlzJkJCQuDn51ffnERE1AD0Tu8UFxcDAGQymWjcwsICAKqcq//iiy9QUFCA1atX1zcj2rWT6V+ogdnYWBp8n5UxlhyA8WQxlhwAs1TGWHIAxpWlLhojv97SFwSh2sdNTXXfLFy+fBmffvopEhMTYWlZ/9B37qigVlefoyHZ2Fji1q1ig+3P2HMAxpPFWHIAzGLMOYCGz9IULyB1yW9qalLtgbLe6R1NaZeUlIjGNUf4T5f648ePoVAoMHjwYHh7e6O8vBzl5eUAnkz5aP5ORESGp7f0NXP5SqVSNJ6Xlyd6XOP69es4e/Ys0tLS4OLiov0DAMuXL9f+nYiIDE/v9I6DgwNsbW2xf/9+BAUFaccPHDiALl26oFOnTqLl27dvj+3bt+ts54033sCoUaPw+uuvN0BsIiKqixpdpx8dHQ2FQgErKyv0798fBw8eREZGBhISEgAAhYWFUCqV6Nq1K2QyGVxdXSvdTvv27at8jIiIGl+NPpEbGhqKefPm4bvvvkN0dDR++OEHxMXFYciQIQCArKwshIWF4fz5840aloiI6qdGR/oAEB4ejvDw8EofCw0NRWhoaLXrX7x4sXbJiIiowfEum0REEsLSJyKSEJY+EZGEsPSJiCSEpU9EJCEsfSIiCWHpExFJCEufiEhCWPpERBLC0icikhCWPhGRhLD0iYgkhKVPRCQhLH0iIglh6RMRSQhLn4hIQlj6REQSwtInIpIQlj4RkYSw9ImIJISlT0QkISx9IiIJYekTEUkIS5+ISEJY+kREEsLSJyKSEJY+EZGEsPSJiCSkxqW/d+9eDB06FG5ubggJCUFaWlq1y9+6dQuzZ8/GgAED4O7ujtDQUGRkZNQ3LxER1UOzmiyUnp6OmJgYjB07Fj4+PsjMzERsbCxatGiBwYMH6yxfWlqKCRMmoLi4GJMmTUL79u3xzTffYMqUKXj8+DFefvnlBn8iRESkX41KPyEhASEhIVAoFAAAX19fFBUVYdmyZZWW/tGjR/Hbb78hNTUVbm5uAABvb29cu3YN69atY+kTETURvdM7+fn5UCqVCA4OFo0PGjQIOTk5yM/P11nHwsICYWFhcHV1FY0/99xzUCqV9YxMRER1pfdIPycnBwDg6OgoGndwcAAA5Obmws7OTvSYp6cnPD09RWNlZWU4cuQInn/++XoFJiKiutN7pF9cXAwAkMlkonELCwsAgEqlqtGOlixZgitXrmDixIm1zUhERA1E75G+IAjVPm5qWv3rhiAIWLJkCb744guMHz8egYGBtUsIoF07mf6FGpiNjaXB91kZY8kBGE8WY8kBMEtljCUHYFxZ6qIx8ustfUvLJzstKSkRjWuO8DWPV6a0tBQzZ87Evn37MH78eMyYMaNOIe/cUUGtrv7FpyHZ2Fji1q1ig+3P2HMAxpPFWHIAzGLMOYCGz9IULyB1yW9qalLtgbLe0tfM5SuVSjg7O2vH8/LyRI8/TaVSISoqCj/++CNmzZqFsWPH1io4ERE1PL1z+g4ODrC1tcX+/ftF4wcOHECXLl3QqVMnnXUeP36Md999F2fPnkVCQgILn4jISNToOv3o6GgoFApYWVmhf//+OHjwIDIyMpCQkAAAKCwshFKpRNeuXSGTyfDVV1/h1KlTCAsLQ8eOHZGdna3dlomJCXr27NkoT4aIiKpXo9IPDQ1FaWkpkpKSkJqaCjs7O8TFxWHIkCEAgKysLCgUCmzatAn9+vXDN998AwBISUlBSkqKaFtmZma4cOFCAz8NIiKqiRqVPgCEh4cjPDy80sdCQ0MRGhqq/XrTpk31T0ZERA2Od9kkIpIQlj4RkYSw9ImIJISlT0QkISx9IiIJYekTEUkIS5+ISEJY+kREEsLSJyKSEJY+EZGEsPSJiCSEpU9EJCEsfSIiCWHpExFJCEufiEhCWPpERBLC0icikhCWPhGRhLD0iYgkhKVPRCQhLH0iIglh6RMRSQhLn4hIQlj6REQSwtInIpIQlj4RkYSw9ImIJISlT0QkISx9IiIJqXHp7927F0OHDoWbmxtCQkKQlpZW7fIlJSWYN28evL294e7ujr///e+4cuVKPeMSEVF91Kj009PTERMTAx8fH6xYsQJ9+/ZFbGws9u/fX+U6U6dOxf79+xETE4O4uDjcvHkTkZGRKC4ubrDwRERUO81qslBCQgJCQkKgUCgAAL6+vigqKsKyZcswePBgneVPnz6NI0eOYN26dfDz8wMA9OnTBwMHDkRycjImTpzYgE+BiIhqSu+Rfn5+PpRKJYKDg0XjgwYNQk5ODvLz83XWOX78OCwsLODt7a0ds7a2hoeHB44ePdoAsYmIqC70Hunn5OQAABwdHUXjDg4OAIDc3FzY2dnprOPg4AAzMzPRuL29PTIyMmod0tTUpNbr1FdT7LMyxpIDMJ4sxpIDYJbKGEsOwLiy1EVd8utbR2/pa+bgZTKZaNzCwgIAoFKpdNZRqVQ6y2vWqWx5fdq2taj1OvXVrp1u/qZgLDkA48liLDkAZqmMseQAGj6L964dDbo9fRrje6l3ekcQhOo3YKq7ierWqWx5IiIyDL0NbGlpCeDJJZgVaY7YNY9XJJPJdJbXbKOydwBERGQYektfM5evVCpF43l5eaLHn14nPz9f54g/Ly+v0uWJiMgw9Ja+g4MDbG1tda7JP3DgALp06YJOnTrprOPj44P79+/jxIkT2rHCwkKcPn0aXl5eDRCbiIjqokbX6UdHR0OhUMDKygr9+/fHwYMHkZGRgYSEBABPCl2pVKJr166QyWTw8PBA3759MW3aNMTExKBNmzZYvnw5LC0tMWrUqEZ9QkREVDUTQd+Z2n/76quvkJSUhOvXr8POzg4TJ07E8OHDAQBff/01FAoFNm3ahH79+gEAioqKsGjRImRmZkKtVqN3796YOXMmnnvuuUZ7MkREVL0alz4REf334/WTREQSwtInIpIQln4Ftb19dGP79ddf4eLighs3bjTJ/tVqNZKTk/HKK6/A3d0dgYGBWLhwYZ0+VV1fgiBg48aNGDRoENzc3DBs2DDs2bPH4Dme9t577yEoKKhJ9l1eXg43Nzc4OzuL/ri7uxs8yw8//IBRo0ahZ8+e8PHxwfz58yv9rE5j+v7773W+FxX/7Ny506B5kpOTERISgl69euGVV17B7t27Dbr/qtTo6h0p0Nw+euzYsfDx8UFmZiZiY2PRokWLSu8k2tguX76MqKgolJeXG3zfGuvXr8enn36K8ePHw9PTE7m5uUhMTMSlS5fw+eefGzTLmjVrkJiYiPfffx+9evXC0aNHERMTAzMzMwwZMsSgWTR27dqFb7/9Fvb29k2y/9zcXDx69AhxcXHo0qWLdtzQn3rPzs7G22+/jYCAAKxatQp5eXn417/+hcLCQu0Vfobg4uKClJQU0ZggCPjHP/6BBw8ewN/f32BZUlJSMHfuXIwbNw6+vr44cuQIPvjgAzRv3hwhISEGy1EpgQRBEITAwEBhypQporHJkycLgwcPNmiOsrIyYcuWLYK7u7vQt29fQS6XC9evXzdoBkEQBLVaLXh4eAhz584Vje/bt0+Qy+XChQsXDJaltLRU8PDwED766CPR+OjRo4VRo0YZLEdFN27cEDw8PAQ/Pz8hMDCwSTLs3r1b6Natm/DgwYMm2b9GRESEEBERIajVau3Yli1bhIEDBzZ5to0bNwrdunUTsrOzDbrfsLAwYcyYMaKxN998Uxg9erRBc1SG0zuo2+2jG8uZM2ewdOlSjBs3DjExMQbb79NKSkowbNgwvPzyy6JxzSW3T39CuzGZmZlh8+bNOr+HoXnz5nj06JHBclQ0e/ZseHt7w9PTs0n2DzyZ/rO3t0fLli2bLIPmQ5ejRo2Cicl/7u4YERGBzMzMJs1269YtLFu2TDvtZEiPHj3S3pRSo02bNrh3755Bc1SGpY+a3T7aUJycnJCZmYn33ntP59bUhiSTyTB79mz07t1bNJ6ZmQkA6Nq1q8GymJqawtnZGR06dIAgCLh9+zbWrl2LEydOICwszGA5NFJTU3H+/Hn885//NPi+K7p48SLMzc0xfvx4uLu7w8PDA3PmzDHoOZfff/8dgiDAysoKU6ZMQa9evdC7d298+OGHePjwocFyVGb58uUwNTXFlClTDL7vyMhIHDt2DBkZGVCpVNi/fz+ysrLw6quvGjzL0zinj7rdPrqxPPvsswbbV22dPXsWa9euRWBgIJycnJokw4EDBzBp0iQAQP/+/TFs2DCD7v/q1atYuHAhFi5cCGtra4Pu+2m//fYbVCoVRowYgXfeeQfnzp3D8uXLkZubi02bNomOvBtLYWEhAGDmzJkICgrCqlWrcPHiRXz66ad49OgRFi1a1OgZKnPnzh2kpaVh3LhxaN26tcH3P3ToUJw8eVL0gvPaa69hwoQJBs/yNJY+6nb7aKk5c+YM3nnnHdja2mLBggVNlqN79+7YsmULLl68iGXLlmHixIn44osvDFJwgiBg1qxZ8Pf3x6BBgxp9f/okJCTAysoKzs7OAAAPDw+0a9cOH3zwAU6cOCH6zXWNpaysDADw4osv4sMPPwQAeHp6QhAExMXFITo6WueXLBlCamoq1Go1IiMjDb5vAHj33Xfx008/QaFQoHv37jh79ixWrlypfQfdlFj6qNvto6UkPT0dM2fORJcuXbB+/Xq0bdu2ybLY2dnBzs4OHh4ekMlkiI2NxU8//YQXX3yx0fe9detWXLx4EXv27NFeVaU5YCgvL4eZmZlBXnw0+vbtqzPWv39/AE/eBRii9DXvhjW/C1vDx8cHixYtwsWLF5uk9L/55hv4+vo2ybuxH3/8Ed999x0WLlyI0NBQAE/+rVq3bo05c+Zg5MiRkMvlBs+lwUNY1O320VKxYcMGTJs2Db169cLWrVvRvn17g2e4d+8e0tLScPPmTdF49+7dAQB//vmnQXJ88803uHv3Lnx8fODi4gIXFxekpaVBqVTCxcXFoNeB37lzB6mpqToXGWjm0Q31wqy5VLS0tFQ0rnkHYMgXQY2bN2/iwoULTXZp5LVr1wBA50CkT58+AIBLly4ZPFNFLH3U7fbRUpCamopFixYhJCQE69evb7J3PGq1GjNnztS5Bvv48eMAYLCjpnnz5mH79u2iPwMGDEDHjh21fzcUExMTzJkzB1u2bBGNp6enw8zMTOcEfGNxcnJC586dkZ6eLho/fPgwmjVr1iQfFDt79iwAGOx78DTNQeKZM2dE49nZ2QCAzp07GzqSCKd3/k3f7aOl5s6dO/j444/RuXNnRERE4MKFC6LH7e3tDfbW2draGm+++SbWrl2LFi1awNXVFWfOnMGaNWswYsQIg925tbL9tGnTBubm5nB1dTVIBg1ra2tERERg8+bNkMlk6NOnD86cOYPVq1cjIiJCe+VZYzMxMUFMTIz2NuqhoaE4d+4cVq1ahdGjRzfJ9Mrvv/+Oli1bNlm5uri4IDAwEB9//DGKi4vxwgsv4Ny5c1ixYgX8/PwMfvno01j6/xYaGorS0lIkJSUhNTUVdnZ2iIuLa7JPeza1Y8eO4a+//sLVq1cRERGh8/jixYsNevmZQqHA3/72N2zfvh3Lly9Hx44dMWnSJIwfP95gGYxNbGwsOnTogB07dmDt2rXo0KEDJk2aZPArRIYMGQJzc3OsWLECUVFRaNeuHaKjoxEVFWXQHBq3b99ukit2KkpISMBnn32GjRs34s6dO+jcuTPGjRun81mTpsBbKxMRSQjn9ImIJISlT0QkISx9IiIJYekTEUkIS5+ISEJY+kREEsLSJyKSEJY+EZGEsPSJiCTk/wCA14TmKeF7JQAAAABJRU5ErkJggg==\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 7: Agent observes itself in location: (2, 2)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 8: Agent observes itself in location: (2, 2)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Time 9: Agent observes itself in location: (2, 2)\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"D = utils.onehot(grid_locations.index((0,0)), n_states) # let's have the agent believe it starts in location (0,0) (upper left corner) \\n\",\n    \"env = GridWorldEnv(starting_state = (0,0))\\n\",\n    \"qs_final = active_inference_with_planning(A, B, C, D, n_actions, env, policy_len = 3, T = 10)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"colab\": {\n   \"collapsed_sections\": [\n    \"yJ9312In3r0Y\",\n    \"kZmnZPB74Sc1\",\n    \"61gmngb9449T\",\n    \"v_ACEjni5fXJ\",\n    \"_JMDEO2H6wMj\",\n    \"ttPFk03l8PDa\",\n    \"rh2fsJo_My-7\",\n    \"E519ke5jNOIX\",\n    \"Hi0XgIjzPrYX\",\n    \"hBrU3E67QCYB\",\n    \"gu73H44qQXwg\",\n    \"rKkZTJHtRUhl\",\n    \"_FXn27owS96w\",\n    \"6HAHCc7bT5eC\",\n    \"jofLVCH7quQp\",\n    \"_Bpows4RsRLd\",\n    \"JLPPVtrysl41\"\n   ],\n   \"name\": \"Active Inference with pymdp: Tutorial 1\",\n   \"provenance\": []\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3.8.8 ('base')\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.8.8\"\n  },\n  \"vscode\": {\n   \"interpreter\": {\n    \"hash\": \"70b7ceca5df5387258d861d4588082cea9500e731be001548c95afd8cd8c3af8\"\n   }\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "docs/notebooks/cue_chaining_demo.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Active Inference Demo: Epistemic Chaining\\n\",\n    \"\\n\",\n    \"[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/infer-actively/pymdp/blob/main/docs/notebooks/cue_chaining_demo.ipynb)\\n\",\n    \"\\n\",\n    \"*Author: Conor Heins*\\n\",\n    \"\\n\",\n    \"This demo notebook builds a generative model from scratch, constructs an `Agent` instance using the constructed generative model, and then runs an active inference simulation in a simple environment.\\n\",\n    \"\\n\",\n    \"The environment used here is similar in spirit to the [T-Maze demo](https://pymdp-rtd.readthedocs.io/en/latest/notebooks/tmaze_demo.html), but the task structure is more complex. Here, we analogize the agent to a rat tasked with solving a spatial puzzle. The rat must sequentially visit a sequence of two cues located at different locations in a 2-D grid world, in order to ultimately reveal the locations of two (opposite) reward outcomes: one location will give the rat a reward (\\\"Cheese\\\") and the other location will give the rat a punishment (\\\"Shock\\\").\\n\",\n    \"\\n\",\n    \"Using active inference to solve a POMDP representation of this task, the rat can successfully forage the correct cues in sequence, in order to ultimately discover the location of the \\\"Cheese\\\", and avoid the \\\"Shock\\\".\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"*Note*: When running this notebook in Google Colab, you may have to run `!pip install inferactively-pymdp` at the top of the notebook, before you can `import pymdp`. That cell is left commented out below, in case you are running this notebook from Google Colab.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# ! pip install inferactively-pymdp\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Imports\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp import utils\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Grid World Parameters\\n\",\n    \"Let's begin by initializing several variables related to the physical environment inhabited by the agent. These variables will encode things like the dimensions of the grid, the possible locations of the different cues, and the possible locations of the reward or punishment.\\n\",\n    \"\\n\",\n    \"Having these variables defined will also come in handy when setting up the generative model of our agent and when creating the environment class.\\n\",\n    \"\\n\",\n    \"We will create a grid world with dimensions $5 \\\\times 7$. Particular locations of the grid are indexed as (y, x) tuples, that select a particular row and column respectively of that location in the grid.\\n\",\n    \"\\n\",\n    \"By design of the task, one location in the grid world contain a cue: **Cue 1**. There will be four additional locations, that will serve as possible locations for a second cue: **Cue 2**. Crucially, only *one* of these four additional locations will actually contain **Cue 2** - the other 3 will be empty. When the agent visits **Cue 1** by moving to its location, one of four signals is presented, which each unambiguously signal which of the 4 possible locations **Cue 2** occupies -- we can refer to these Cue-2-location-signals with obvious names: `L1`, `L2`, `L3`, `L4`. Once **Cue 2**'s location has been revealed, by visiting that location the agent will then receive one of two possible signals, that indicate where the hidden reward is located (and conversely, where the hidden punishment lies). These two possible reward/punishment locations are indicated by two locations: \\\"TOP\\\" (meaning the \\\"Cheese\\\" reward is on the upper of the two locations) or \\\"BOTTOM\\\" (meaning the \\\"Cheese\\\" reward is on the lower of the two locations).\\n\",\n    \"\\n\",\n    \"In this way, the most efficient and risk-sensitive way to achieve reward in this task is to first visit **Cue 1**, in order to figure out the location of **Cue 2**, in order to figure out the location of the reward.\\n\",\n    \"\\n\",\n    \"*Tip*: When setting up `pymdp` generative models and task environments, we recommend creating additional variables, like lists of strings or dicts with string-valued keys, that help you relate the values of various aspects of the task to semantically-meaning labels. These come in handy when generating print statements during debugging or labels for plotting. For example, below we create a list called `reward_conditions` that stores the \\\"names\\\" of the two reward conditions: `\\\"TOP\\\"` and `\\\"BOTTOM\\\"`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"grid_dims = [5, 7] # dimensions of the grid (number of rows, number of columns)\\n\",\n    \"num_grid_points = np.prod(grid_dims) # total number of grid locations (rows X columns)\\n\",\n    \"\\n\",\n    \"# create a look-up table `loc_list` that maps linear indices to tuples of (y, x) coordinates \\n\",\n    \"grid = np.arange(num_grid_points).reshape(grid_dims)\\n\",\n    \"it = np.nditer(grid, flags=[\\\"multi_index\\\"])\\n\",\n    \"\\n\",\n    \"loc_list = []\\n\",\n    \"while not it.finished:\\n\",\n    \"    loc_list.append(it.multi_index)\\n\",\n    \"    it.iternext()\\n\",\n    \"\\n\",\n    \"# (y, x) coordinate of the first cue's location, and then a list of the (y, x) coordinates of the possible locations of the second cue, and their labels (`L1`, `L2`, ...)\\n\",\n    \"cue1_location = (2, 0)\\n\",\n    \"\\n\",\n    \"cue2_loc_names = ['L1', 'L2', 'L3', 'L4']\\n\",\n    \"cue2_locations = [(0, 2), (1, 3), (3, 3), (4, 2)]\\n\",\n    \"\\n\",\n    \"# names of the reward conditions and their locations\\n\",\n    \"reward_conditions = [\\\"TOP\\\", \\\"BOTTOM\\\"]\\n\",\n    \"reward_locations = [(1, 5), (3, 5)]\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualize the grid world\\n\",\n    \"\\n\",\n    \"Let's quickly use the variables we just defined to visualize the grid world, including the **Cue 1** location, the possible **Cue 2** locations, and the possible reward locations (in gray, since we don't know which one has the \\\"Cheese\\\" and which one has the \\\"Shock\\\")\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 720x432 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import matplotlib.patches as patches\\n\",\n    \"import matplotlib.cm as cm\\n\",\n    \"\\n\",\n    \"fig, ax = plt.subplots(figsize=(10, 6)) \\n\",\n    \"\\n\",\n    \"# create the grid visualization\\n\",\n    \"X, Y = np.meshgrid(np.arange(grid_dims[1]+1), np.arange(grid_dims[0]+1))\\n\",\n    \"h = ax.pcolormesh(X, Y, np.ones(grid_dims), edgecolors='k', vmin = 0, vmax = 30, linewidth=3, cmap = 'coolwarm')\\n\",\n    \"ax.invert_yaxis()\\n\",\n    \"\\n\",\n    \"# Put gray boxes around the possible reward locations\\n\",\n    \"reward_top = ax.add_patch(patches.Rectangle((reward_locations[0][1],reward_locations[0][0]),1.0,1.0,linewidth=5,edgecolor=[0.5, 0.5, 0.5],facecolor=[0.5, 0.5, 0.5]))\\n\",\n    \"reward_bottom = ax.add_patch(patches.Rectangle((reward_locations[1][1],reward_locations[1][0]),1.0,1.0,linewidth=5,edgecolor=[0.5, 0.5, 0.5],facecolor=[0.5, 0.5, 0.5]))\\n\",\n    \"\\n\",\n    \"text_offsets = [0.4, 0.6]\\n\",\n    \"\\n\",\n    \"cue_grid = np.ones(grid_dims)\\n\",\n    \"cue_grid[cue1_location[0],cue1_location[1]] = 15.0\\n\",\n    \"for ii, loc_ii in enumerate(cue2_locations):\\n\",\n    \"  row_coord, column_coord = loc_ii\\n\",\n    \"  cue_grid[row_coord, column_coord] = 5.0\\n\",\n    \"  ax.text(column_coord+text_offsets[0], row_coord+text_offsets[1], cue2_loc_names[ii], fontsize = 15, color='k')\\n\",\n    \"h.set_array(cue_grid.ravel())\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Generative model\\n\",\n    \"\\n\",\n    \"The hidden states $\\\\mathbf{s}$ of the generative model are factorized into three hidden states factors:\\n\",\n    \"\\n\",\n    \"1. a **Location** hidden state factor with as many levels as there are grid locations. This encodes the agent's location in the grid world.\\n\",\n    \"2. a **Cue 2 Location** hidden state factor with 4 levels -- this encodes in which of the four possible locations **Cue 2** is located.\\n\",\n    \"3. a **Reward Condition** hidden state factor with 2 levels -- this encodes which of the two reward locations (\\\"TOP\\\" or \\\"BOTTOM\\\") the \\\"Cheese\\\" is to be found in. When the **Reward Condition** level is \\\"TOP\\\", then the \\\"Cheese\\\" reward is the upper of the two locations, and the \\\"Shock\\\" punishment is on the lower of the two locations. The locations are switched in the \\\"BOTTOM\\\" level of the **Reward Condition** factor.\\n\",\n    \"\\n\",\n    \"The observations $\\\\mathbf{o}$ of the generative model are factorized into four different observation modalities:\\n\",\n    \"\\n\",\n    \"1. a **Location** observation modality with as many levels as there are grid locations, representing the agent's observation of its location in the grid world.\\n\",\n    \"2. a **Cue 1** observation modality with 5 levels -- this is an observation, only obtained at the **Cue 1** location, that signals in which of the 4 possible locations **Cue 2** is located. When not at the **Cue 1** location, the agent sees `Null` or a meaningless observation.\\n\",\n    \"3. a **Cue 2** observation modality with 3 levels -- this is an observation, only obtained at the **Cue 2** location, that signals in which of the two reward locations (\\\"TOP\\\" or \\\"BOTTOM\\\") the \\\"Cheese\\\" is located. When not at the **Cue 2** location, the agent sees `Null` or a meaningless observation.\\n\",\n    \"4. a **Reward** observation modality with 3 levels -- this is an observation that signals whether the agent is receiving \\\"Cheese\\\", \\\"Shock\\\" or nothing at all (\\\"Null\\\"). The agent only receives \\\"Cheese\\\" or \\\"Shock\\\" when occupying one of the two reward locations, and `Null` otherwise.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"As is the usual convention in `pymdp`, let's create a list that contains the dimensionalities of the hidden state factors, named `num_states`, and a list that contains the dimensionalities of the observation modalities, named `num_obs`. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# list of dimensionalities of the hidden states -- useful for creating generative model later on\\n\",\n    \"num_states = [num_grid_points, len(cue2_locations), len(reward_conditions)]\\n\",\n    \"\\n\",\n    \"# Names of the cue1 observation levels, the cue2 observation levels, and the reward observation levels\\n\",\n    \"cue1_names = ['Null'] + cue2_loc_names # signals for the possible Cue 2 locations, that only are seen when agent is visiting Cue 1\\n\",\n    \"cue2_names = ['Null', 'reward_on_top', 'reward_on_bottom']\\n\",\n    \"reward_names = ['Null', 'Cheese', 'Shock']\\n\",\n    \"\\n\",\n    \"num_obs = [num_grid_points, len(cue1_names), len(cue2_names), len(reward_names)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The observation model: **A** array\\n\",\n    \"Now using `num_states` and `num_obs` we can initialize `A`, the observation model\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"A_m_shapes = [ [o_dim] + num_states for o_dim in num_obs] # list of shapes of modality-specific A[m] arrays\\n\",\n    \"A = utils.obj_array_zeros(A_m_shapes) # initialize A array to an object array of all-zero subarrays\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's fill out the various modalities of the `A` array, encoding the agents beliefs about how hidden states probabilistically cause observations within each modality.\\n\",\n    \"\\n\",\n    \"Starting with the `0`-th modality, the **Location** observation modality: `A[0]`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# make the location observation only depend on the location state (proprioceptive observation modality)\\n\",\n    \"A[0] = np.tile(np.expand_dims(np.eye(num_grid_points), (-2, -1)), (1, 1, num_states[1], num_states[2]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can build the `1`-st modality, the **Cue 1** observation modality: `A[1]`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# make the cue1 observation depend on the location (being at cue1_location) and the true location of cue2\\n\",\n    \"A[1][0,:,:,:] = 1.0 # default makes Null the most likely observation everywhere\\n\",\n    \"\\n\",\n    \"# Make the Cue 1 signal depend on 1) being at the Cue 1 location and 2) the location of Cue 2\\n\",\n    \"for i, cue_loc2_i in enumerate(cue2_locations):\\n\",\n    \"    A[1][0,loc_list.index(cue1_location),i,:] = 0.0\\n\",\n    \"    A[1][i+1,loc_list.index(cue1_location),i,:] = 1.0\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can build the `2`-nd modality, the **Cue 2** observation modality: `A[2]`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# make the cue2 observation depend on the location (being at the correct cue2_location) and the reward condition\\n\",\n    \"A[2][0,:,:,:] = 1.0 # default makes Null the most likely observation everywhere\\n\",\n    \"\\n\",\n    \"for i, cue_loc2_i in enumerate(cue2_locations):\\n\",\n    \"\\n\",\n    \"    # if the cue2-location is the one you're currently at, then you get a signal about where the reward is\\n\",\n    \"    A[2][0,loc_list.index(cue_loc2_i),i,:] = 0.0 \\n\",\n    \"    A[2][1,loc_list.index(cue_loc2_i),i,0] = 1.0\\n\",\n    \"    A[2][2,loc_list.index(cue_loc2_i),i,1] = 1.0\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Finally, we build the 3rd modality, the **Reward** observation modality: `A[3]`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# make the reward observation depend on the location (being at reward location) and the reward condition\\n\",\n    \"A[3][0,:,:,:] = 1.0 # default makes Null the most likely observation everywhere\\n\",\n    \"\\n\",\n    \"rew_top_idx = loc_list.index(reward_locations[0]) # linear index of the location of the \\\"TOP\\\" reward location\\n\",\n    \"rew_bott_idx = loc_list.index(reward_locations[1]) # linear index of the location of the \\\"BOTTOM\\\" reward location\\n\",\n    \"\\n\",\n    \"# fill out the contingencies when the agent is in the \\\"TOP\\\" reward location\\n\",\n    \"A[3][0,rew_top_idx,:,:] = 0.0\\n\",\n    \"A[3][1,rew_top_idx,:,0] = 1.0\\n\",\n    \"A[3][2,rew_top_idx,:,1] = 1.0\\n\",\n    \"\\n\",\n    \"# fill out the contingencies when the agent is in the \\\"BOTTOM\\\" reward location\\n\",\n    \"A[3][0,rew_bott_idx,:,:] = 0.0\\n\",\n    \"A[3][1,rew_bott_idx,:,1] = 1.0\\n\",\n    \"A[3][2,rew_bott_idx,:,0] = 1.0\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The transition model: **B** array\\n\",\n    \"To create the `B` array or transition model, we have to further specify `num_controls`, which like `num_states` / `num_obs` is a list, but this time of the dimensionalities of each *control factor*, which are the hidden state factors that are controllable by the agent. Uncontrollable hidden state factors can be encoded as control factors of dimension 1. Once `num_controls` is defined, we can then use it and `num_states` to specify the dimensionality of the `B` arrays. Recall that in `pymdp` hidden state factors are conditionally independent of eachother, meaning that each sub-array `B[f]` describes the dynamics of only a single hidden state factor, and its probabilistic dependence on both its own state (at the previous time) and the state of its corresponding control factor.\\n\",\n    \"\\n\",\n    \"In the current grid world task, we will have the agent have the ability to make movements in the 4 cardinal directions (UP, DOWN, LEFT, RIGHT) as well as the option to stay in the same place (STAY). This means we will associate a single 5-dimensional control state factor with the first hidden state factor. \\n\",\n    \"\\n\",\n    \"*Note*: Make sure the indices of the `num_controls` variables \\\"lines up\\\" with those of `num_states`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# initialize `num_controls`\\n\",\n    \"num_controls = [5, 1, 1]\\n\",\n    \"\\n\",\n    \"# initialize the shapes of each sub-array `B[f]`\\n\",\n    \"B_f_shapes = [ [ns, ns, num_controls[f]] for f, ns in enumerate(num_states)]\\n\",\n    \"\\n\",\n    \"# create the `B` array and fill it out\\n\",\n    \"B = utils.obj_array_zeros(B_f_shapes)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Fill out `B[0]` according to the expected consequences of each of the 5 actions. Note that we also create a list that stores the names of each action, for interpretability.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"actions = [\\\"UP\\\", \\\"DOWN\\\", \\\"LEFT\\\", \\\"RIGHT\\\", \\\"STAY\\\"]\\n\",\n    \"\\n\",\n    \"# fill out `B[0]` using the \\n\",\n    \"for action_id, action_label in enumerate(actions):\\n\",\n    \"\\n\",\n    \"  for curr_state, grid_location in enumerate(loc_list):\\n\",\n    \"\\n\",\n    \"    y, x = grid_location\\n\",\n    \"\\n\",\n    \"    if action_label == \\\"UP\\\":\\n\",\n    \"      next_y = y - 1 if y > 0 else y \\n\",\n    \"      next_x = x\\n\",\n    \"    elif action_label == \\\"DOWN\\\":\\n\",\n    \"      next_y = y + 1 if y < (grid_dims[0]-1) else y \\n\",\n    \"      next_x = x\\n\",\n    \"    elif action_label == \\\"LEFT\\\":\\n\",\n    \"      next_x = x - 1 if x > 0 else x \\n\",\n    \"      next_y = y\\n\",\n    \"    elif action_label == \\\"RIGHT\\\":\\n\",\n    \"      next_x = x + 1 if x < (grid_dims[1]-1) else x \\n\",\n    \"      next_y = y\\n\",\n    \"    elif action_label == \\\"STAY\\\":\\n\",\n    \"      next_x = x\\n\",\n    \"      next_y = y\\n\",\n    \"\\n\",\n    \"    new_location = (next_y, next_x)\\n\",\n    \"    next_state = loc_list.index(new_location)\\n\",\n    \"    B[0][next_state, curr_state, action_id] = 1.0\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Fill out `B[1]` and `B[2]` as identity matrices, encoding the fact that those hidden states are uncontrollable\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"B[1][:,:,0] = np.eye(num_states[1])\\n\",\n    \"B[2][:,:,0] = np.eye(num_states[2])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Prior preferences: the **C** vectors\\n\",\n    \"\\n\",\n    \"Now we specify the agent's prior over observations, also known as the \\\"prior preferences\\\" or \\\"goal vector.\\\" This is not technically a part of the same generative model used for inference of hidden states, but part of a special predictive generative model using for policy inference. \\n\",\n    \"\\n\",\n    \"Since the prior preferences are defined in `pymdp` as priors over observations, not states, so `C` will be an object array whose sub-arrays correspond to the priors over specific observation modalities, e.g `C[3]` encodes the prior preferences for different levels of the **Reward** observation modality.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"C = utils.obj_array_zeros(num_obs)\\n\",\n    \"\\n\",\n    \"C[3][1] = 2.0 # make the agent want to encounter the \\\"Cheese\\\" observation level\\n\",\n    \"C[3][2] = -4.0 # make the agent not want to encounter the \\\"Shock\\\" observation level\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Prior over (initial) hidden states: the **D** vectors\\n\",\n    \"\\n\",\n    \"Now we specify the agent's prior over initial hidden states, the `D` array. Since it's defined over the multi-factor hidden states in this case, `D` will be an object array whose sub-arrays correspond to the priors over specific hidden state factors, e.g `D[0]` encodes the prior beliefs over the initial location of the agent in the grid world.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"D = utils.obj_array_uniform(num_states)\\n\",\n    \"D[0] = utils.onehot(loc_list.index((0,0)), num_grid_points)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Generative process\\n\",\n    \"\\n\",\n    \"Now we need to write down the \\\"rules\\\" of the game, i.e. the environment that the agent will actually be interacting with. The most concise way to do this in `pymdp` is by adopting a similar format to what's used in frameworks like OpenAIGym -- namely, we create an `env` class that takes actions as inputs to a `self.step()` method, and returns observations for the agent as outputs. In Active inference we refer to this agent-independent, physical \\\"reality\\\" in which the agent operates as the *generative process*, to be distinguished from the agent's representation of that reality the *generative model* (the `A`, `B`, `C` and `D` that we just wrote down above).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Writing a custom `env` \\n\",\n    \"\\n\",\n    \"Now we'll define an environment class called `GridWorldEnv`. The constructor for this class allows you to establish various parameters of the generative process, like where the agent starts in the grid-world at the beginning of the trial (`starting_loc`), the location of **Cue 1** (`cue1_loc`), the location of **Cue 2** (`cue2_loc`), and the reward condition (`reward_condition`).\\n\",\n    \"\\n\",\n    \"*Note*: Remember the distinction between the generative model and the generative process: one can build the environment class to be as arbitrarily different from the agent's generative model as desired. For example, for the `GridWorldEnv` example, you could construct the agent's `A` array such that the agent *believes* **Cue 1** is in Location `(1,0)`, but in fact the cue is located somewhere else like `(3,0)` (as would be set by the `cue1_loc` argument to the `GridWorldEnv` constructor). Similarly, one could write the internal `step` method of the `GridWorldEnv` class so that the way the `reward_condition` is signalled is opposite from what the agent expects -- so when the agent sees a particular signal at the **Cue 2** location, they *assume* (via the `A` array) it means that the \\\"Cheese\\\" is located on the `\\\"TOP\\\"` location, but in fact the rule is switched so that \\\"Shock\\\" is at the `\\\"TOP\\\"` location in reality, and \\\"Cheese\\\" is actually at the `\\\"BOTTOM\\\"` location.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class GridWorldEnv():\\n\",\n    \"    \\n\",\n    \"    def __init__(self,starting_loc = (0,0), cue1_loc = (2, 0), cue2 = 'L1', reward_condition = 'TOP'):\\n\",\n    \"\\n\",\n    \"        self.init_loc = starting_loc\\n\",\n    \"        self.current_location = self.init_loc\\n\",\n    \"\\n\",\n    \"        self.cue1_loc = cue1_loc\\n\",\n    \"        self.cue2_name = cue2\\n\",\n    \"        self.cue2_loc_names = ['L1', 'L2', 'L3', 'L4']\\n\",\n    \"        self.cue2_loc = cue2_locations[self.cue2_loc_names.index(self.cue2_name)]\\n\",\n    \"\\n\",\n    \"        self.reward_condition = reward_condition\\n\",\n    \"        print(f'Starting location is {self.init_loc}, Reward condition is {self.reward_condition}, cue is located in {self.cue2_name}')\\n\",\n    \"    \\n\",\n    \"    def step(self,action_label):\\n\",\n    \"\\n\",\n    \"        (Y, X) = self.current_location\\n\",\n    \"\\n\",\n    \"        if action_label == \\\"UP\\\": \\n\",\n    \"          \\n\",\n    \"          Y_new = Y - 1 if Y > 0 else Y\\n\",\n    \"          X_new = X\\n\",\n    \"\\n\",\n    \"        elif action_label == \\\"DOWN\\\": \\n\",\n    \"\\n\",\n    \"          Y_new = Y + 1 if Y < (grid_dims[0]-1) else Y\\n\",\n    \"          X_new = X\\n\",\n    \"\\n\",\n    \"        elif action_label == \\\"LEFT\\\": \\n\",\n    \"          Y_new = Y\\n\",\n    \"          X_new = X - 1 if X > 0 else X\\n\",\n    \"\\n\",\n    \"        elif action_label == \\\"RIGHT\\\": \\n\",\n    \"          Y_new = Y\\n\",\n    \"          X_new = X +1 if X < (grid_dims[1]-1) else X\\n\",\n    \"\\n\",\n    \"        elif action_label == \\\"STAY\\\":\\n\",\n    \"          Y_new, X_new = Y, X \\n\",\n    \"        \\n\",\n    \"        self.current_location = (Y_new, X_new) # store the new grid location\\n\",\n    \"\\n\",\n    \"        loc_obs = self.current_location # agent always directly observes the grid location they're in \\n\",\n    \"\\n\",\n    \"        if self.current_location == self.cue1_loc:\\n\",\n    \"          cue1_obs = self.cue2_name\\n\",\n    \"        else:\\n\",\n    \"          cue1_obs = 'Null'\\n\",\n    \"\\n\",\n    \"        if self.current_location == self.cue2_loc:\\n\",\n    \"          cue2_obs = cue2_names[reward_conditions.index(self.reward_condition)+1]\\n\",\n    \"        else:\\n\",\n    \"          cue2_obs = 'Null'\\n\",\n    \"        \\n\",\n    \"        # @NOTE: here we use the same variable `reward_locations` to create both the agent's generative model (the `A` matrix) as well as the generative process. \\n\",\n    \"        # This is just for simplicity, but it's not necessary -  you could have the agent believe that the Cheese/Shock are actually stored in arbitrary, incorrect locations.\\n\",\n    \"\\n\",\n    \"        if self.current_location == reward_locations[0]:\\n\",\n    \"          if self.reward_condition == 'TOP':\\n\",\n    \"            reward_obs = 'Cheese'\\n\",\n    \"          else:\\n\",\n    \"            reward_obs = 'Shock'\\n\",\n    \"        elif self.current_location == reward_locations[1]:\\n\",\n    \"          if self.reward_condition == 'BOTTOM':\\n\",\n    \"            reward_obs = 'Cheese'\\n\",\n    \"          else:\\n\",\n    \"            reward_obs = 'Shock'\\n\",\n    \"        else:\\n\",\n    \"          reward_obs = 'Null'\\n\",\n    \"\\n\",\n    \"        return loc_obs, cue1_obs, cue2_obs, reward_obs\\n\",\n    \"\\n\",\n    \"    def reset(self):\\n\",\n    \"        self.current_location = self.init_loc\\n\",\n    \"        print(f'Re-initialized location to {self.init_loc}')\\n\",\n    \"        loc_obs = self.current_location\\n\",\n    \"        cue1_obs = 'Null'\\n\",\n    \"        cue2_obs = 'Null'\\n\",\n    \"        reward_obs = 'Null'\\n\",\n    \"\\n\",\n    \"        return loc_obs, cue1_obs, cue2_obs, reward_obs\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Active Inference\\n\",\n    \"\\n\",\n    \"Now that we have a generative model and generative process set up, we can quickly run active inference in `pymdp`. In order to do this, all we need to do is to create an `Agent` using the `Agent()` constructor and create a generative process / environment using our custom `GridWorldEnv` class. Then we just exchange observations and actions between the two in a loop over time, where the agent updates its beliefs and actions using the `Agent` methods like `infer_states()` and `infer_policies()`.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Initialize an `Agent` and an instance of `GridWorldEnv`\\n\",\n    \"We can quickly construct an instance of `Agent` using our generative model arrays as inputs: `A`, `B`, `C`, and `D`. Since we are dealing with a spatially-extended navigation example, we will also use a `policy_len` parameter that lets the agent plan its movements forward in time. This sort of temporally deep planning is needed because of A) the local nature of the agent's action repetoire (only being able to move UP, LEFT, RIGHT, and DOWN), and B) the physical distance between the cues and reward locations in the grid world.\\n\",\n    \"\\n\",\n    \"We can also initialize the `GridWorldEnv` class using a desired starting location, a Cue 1 location, Cue 2 location, and reward condition. We can get the first (multi-modality) observation of the simulation by using `env.reset()`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Starting location is (0, 0), Reward condition is BOTTOM, cue is located in L4\\n\",\n      \"Re-initialized location to (0, 0)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"my_agent = Agent(A = A, B = B, C = C, D = D, policy_len = 4)\\n\",\n    \"\\n\",\n    \"my_env = GridWorldEnv(starting_loc = (0,0), cue1_loc = (2, 0), cue2 = 'L4', reward_condition = 'BOTTOM')\\n\",\n    \"\\n\",\n    \"loc_obs, cue1_obs, cue2_obs, reward_obs = my_env.reset()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Run an active inference loop over time\\n\",\n    \"...saving the history of the rat's locations as you do so. Include some print statements if you want to see the output of the agent's choices as they unfold.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 0: DOWN\\n\",\n      \"Grid location at time 0: (1, 0)\\n\",\n      \"Reward at time 0: Null\\n\",\n      \"Action at time 1: DOWN\\n\",\n      \"Grid location at time 1: (2, 0)\\n\",\n      \"Reward at time 1: Null\\n\",\n      \"Action at time 2: DOWN\\n\",\n      \"Grid location at time 2: (3, 0)\\n\",\n      \"Reward at time 2: Null\\n\",\n      \"Action at time 3: RIGHT\\n\",\n      \"Grid location at time 3: (3, 1)\\n\",\n      \"Reward at time 3: Null\\n\",\n      \"Action at time 4: DOWN\\n\",\n      \"Grid location at time 4: (4, 1)\\n\",\n      \"Reward at time 4: Null\\n\",\n      \"Action at time 5: RIGHT\\n\",\n      \"Grid location at time 5: (4, 2)\\n\",\n      \"Reward at time 5: Null\\n\",\n      \"Action at time 6: RIGHT\\n\",\n      \"Grid location at time 6: (4, 3)\\n\",\n      \"Reward at time 6: Null\\n\",\n      \"Action at time 7: RIGHT\\n\",\n      \"Grid location at time 7: (4, 4)\\n\",\n      \"Reward at time 7: Null\\n\",\n      \"Action at time 8: RIGHT\\n\",\n      \"Grid location at time 8: (4, 5)\\n\",\n      \"Reward at time 8: Null\\n\",\n      \"Action at time 9: UP\\n\",\n      \"Grid location at time 9: (3, 5)\\n\",\n      \"Reward at time 9: Cheese\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"history_of_locs = [loc_obs]\\n\",\n    \"obs = [loc_list.index(loc_obs), cue1_names.index(cue1_obs), cue2_names.index(cue2_obs), reward_names.index(reward_obs)]\\n\",\n    \"\\n\",\n    \"T = 10 # number of total timesteps\\n\",\n    \"\\n\",\n    \"for t in range(T):\\n\",\n    \"\\n\",\n    \"    qs = my_agent.infer_states(obs)\\n\",\n    \"    \\n\",\n    \"    my_agent.infer_policies()\\n\",\n    \"    chosen_action_id = my_agent.sample_action()\\n\",\n    \"\\n\",\n    \"    movement_id = int(chosen_action_id[0])\\n\",\n    \"\\n\",\n    \"    choice_action = actions[movement_id]\\n\",\n    \"\\n\",\n    \"    print(f'Action at time {t}: {choice_action}')\\n\",\n    \"\\n\",\n    \"    loc_obs, cue1_obs, cue2_obs, reward_obs = my_env.step(choice_action)\\n\",\n    \"\\n\",\n    \"    obs = [loc_list.index(loc_obs), cue1_names.index(cue1_obs), cue2_names.index(cue2_obs), reward_names.index(reward_obs)]\\n\",\n    \"\\n\",\n    \"    history_of_locs.append(loc_obs)\\n\",\n    \"\\n\",\n    \"    print(f'Grid location at time {t}: {loc_obs}')\\n\",\n    \"\\n\",\n    \"    print(f'Reward at time {t}: {reward_obs}')\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualization\\n\",\n    \"\\n\",\n    \"Now let's do a quick visualization of the rat's movements over a single trial. We'll indicate the grid location and time of its movements using a hot colormap (so hotter colors means later in the trial), and indicate the Cue 1 and Cue 2 locations with purple outlined boxes. Each of the possible Cue 2 locations will be highlighted in a light blue.\\n\",\n    \"\\n\",\n    \"Try changing the initial settings of the generative process (the locations of Cue1, Cue 2, the reward condition, etc.) to see how and the extent to which the active inference agent can adapt its behavior to the changing environmental contingencies.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 19,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Text(0.5, 1.0, 'Cue 1 located at (4, 2), Cue 2 located at (4, 2), Cheese on BOTTOM')\"\n      ]\n     },\n     \"execution_count\": 19,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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U7e+e2LRslDLjMYq6NJrVKhlioiISGEqjoSp354YFmqZqWQdXXrvGmqZIiIiUpiKImGq7LkLpZX9QizR6LHd/pSU9QixTBERESlURfEcJjNj8B4X8fF/r27zV6MARKJlDB59fgiRSWeVStTz4exHvzB90PCDWb9yPjVVa1m9ZDYAi+Y8S0XXvvTebhR9BqobWEQkHxVFwgTQd8cvs+rDh9iy9t02PfHbIqX0HTqJbn33CDE66Wzq4lt46u/nfGH6/1z6FK8/fQ3LFs7YNu2FB74LwAGTLqfPwCs6LEYREcle0SRMZsYuB1/DO0+fSSK+EXCtKCRGWZeBDN33e2GHJ53IgcdcwYHHNJ34nDzi6Q6MRkREwlAUY5galFb2Y4+j/k5JeW8sUtqi10ai5VR0G8LoI28jWlLZThGKiIhIISqqhAmgvNtg9j7uIfoMOZxItBwsYBMtRiRaxna7nMKeR/9Tz14SERGRLyiaLrl0sdKujDj4aqrWz2P53LtZv+R5LBKlIhnHAfFYBS6VBDP6DTuOgSPPoKL7DrkOW0RERPJUUSZMDbr2HsUuB1+NSyWp2fIpp7z8Q+pw3LfXJVT2Gk5Zl0GYhfv8JhERESk+RZ0wNbBIlMoew5jgf4XKs0PG5zYgERERKShFN4ZJREREJGxKmEREREQCKGESERERCaCESURERCSAEiYRERGRAEqYRERERAIoYRIREREJoIRJREREJIASJhEREZEASphEREREAihhEhEREQmghElEREQkgBImERERkQBKmEREREQCKGESERERCaCESURERCRAYMJkZreb2Woze78jAhIRERHJN9m0MN0BTGrnOERERETyVixoAefcS2Y2tANiERGRTmby/IuYPGbMZxPmX5S7YApU5v67duTNuQumiJlzLnghL2H6l3NudFaFmgUXmgMv+L8n5DQKERFp8ET6yV5CcfysWbkOoRDNcs6NbW6BwBambJnZhcCFYZUnIiIiki9CS5icc7cAt0D+tjCJiIiItEZoCVNjJp45sz2Lb7Fe07wGsIkTb8lxJI2bNvWz1sB823eFQPuvbdL33+TrtuQwksJz7WXdtv2tutdCGrMUOtXBlkk/9jUnm8cK3AO8Bow0s6Vmdn4bYxMREREpKNncJXdGRwQiIiIikq/0pG8RERGRAEqYRERERAIoYRIREREJoIRJRERE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jRxJ12HDsGg01+GJiIhInivqhGnD7Nks/NvfWPXCC0RLS7GaGhzAFVfgnMMlkww6/nh2Pv98uo0YketwRUREJE8VZcJUt3Ej7155JatfeolkbS04R6K+/rMFtm7d9ueSRx5h2b/+xQ6nnspuP/wh0fLyHEQsIiIi+azoxjBVffIJLxx1FKteeIFkTQ041/wLkklStbV8ev/9vHjcccTXreuYQEVERKRgFFXCVLN8OTNOOYW6DRtI1dW16LWp2lqqly5lximnkKiqaqcIRUREpBAVTcLknGPW5MkktmwJblVqqoxEgtpVq3jvl78MOToREREpZEWTMC199FE2z5uHSybbVE4qHmfF00+zftaskCITERGRQlcUCZNzjgXXX++NWQpBsraWBTfeGEpZIiIiUviKImHa9MEHxNeuDa9A51j3+uvUbdgQXpkiIiJSsIoiYdowe3abu+IyRcrK2Pjee6GWKSIiIoWpOBKmt94iFY+HWmaypobNc+eGWqaIiIgUpqJImNqj68wlEsTXrw+9XBERESk8RZEwWUlJu5QbLS1tl3JFRESksBRFwtR91CiIhLsp0cpKuuy0U6hlioiISGEqioSp1157EausDL3cnrvvHnqZIiIiUniKImHqe9BBpBKJUMss6dqVrsOHh1qmiIiIFKaiSJhiXbow+MQTsVgslPIi5eXsdP75WMjdfCIiIlKYiiYjGDl5MpGQBmmX9OjBjmeeGUpZIiIiUviKJmEq79+fPa+6imhFRZvKiZSXM/a664i1sRwREREpHkWTMAEMPvFEdvrmN1udNEXKy9nz6qvpPWZMyJGJiIhIISuqhAlg1OTJ7H7llUTLy7FoNKvXWEkJsW7dGHv99Qw56aT2DVBEREQKTtElTAA7nn464595hn6HHkqktJRIeXmjy0UrKoiUlTHouOM44vnnGTBhQgdHKiIiIoUgnNvK8lDl4MEc8Le/Ubt6NSueeYZ1b7xB9QsvkHQOhgyh5x570Gf//Rk4aRIl3bvnOlwRERHJY0WbMDUo79+fYeeey7Bzz2Wgf+fbiqlTcxyViIiIFJKi7JITERERCZMSJhEREZEASphEREREAihhEhEREQmghElEREQkgBImERERkQBKmEREREQCKGESERERCaCESURERCSAEiYRERGRAEqYRERERAIoYRIREREJoIRJREREJIASJhER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\",\n      \"text/plain\": [\n       \"<Figure size 720x432 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"all_locations = np.vstack(history_of_locs).astype(float) # create a matrix containing the agent's Y/X locations over time (each coordinate in one row of the matrix)\\n\",\n    \"\\n\",\n    \"fig, ax = plt.subplots(figsize=(10, 6)) \\n\",\n    \"\\n\",\n    \"# create the grid visualization\\n\",\n    \"X, Y = np.meshgrid(np.arange(grid_dims[1]+1), np.arange(grid_dims[0]+1))\\n\",\n    \"h = ax.pcolormesh(X, Y, np.ones(grid_dims), edgecolors='k', vmin = 0, vmax = 30, linewidth=3, cmap = 'coolwarm')\\n\",\n    \"ax.invert_yaxis()\\n\",\n    \"\\n\",\n    \"# get generative process global parameters (the locations of the Cues, the reward condition, etc.)\\n\",\n    \"cue1_loc, cue2_loc, reward_condition = my_env.cue1_loc, my_env.cue2_loc, my_env.reward_condition\\n\",\n    \"reward_top = ax.add_patch(patches.Rectangle((reward_locations[0][1],reward_locations[0][0]),1.0,1.0,linewidth=5,edgecolor=[0.5, 0.5, 0.5],facecolor='none'))\\n\",\n    \"reward_bottom = ax.add_patch(patches.Rectangle((reward_locations[1][1],reward_locations[1][0]),1.0,1.0,linewidth=5,edgecolor=[0.5, 0.5, 0.5],facecolor='none'))\\n\",\n    \"reward_loc = reward_locations[0] if reward_condition == \\\"TOP\\\" else reward_locations[1]\\n\",\n    \"\\n\",\n    \"if reward_condition == \\\"TOP\\\":\\n\",\n    \"    reward_top.set_edgecolor('g')\\n\",\n    \"    reward_top.set_facecolor('g')\\n\",\n    \"    reward_bottom.set_edgecolor([0.7, 0.2, 0.2])\\n\",\n    \"    reward_bottom.set_facecolor([0.7, 0.2, 0.2])\\n\",\n    \"elif reward_condition == \\\"BOTTOM\\\":\\n\",\n    \"    reward_bottom.set_edgecolor('g')\\n\",\n    \"    reward_bottom.set_facecolor('g')\\n\",\n    \"    reward_top.set_edgecolor([0.7, 0.2, 0.2])\\n\",\n    \"    reward_top.set_facecolor([0.7, 0.2, 0.2])\\n\",\n    \"reward_top.set_zorder(1)\\n\",\n    \"reward_bottom.set_zorder(1)\\n\",\n    \"\\n\",\n    \"text_offsets = [0.4, 0.6]\\n\",\n    \"cue_grid = np.ones(grid_dims)\\n\",\n    \"cue_grid[cue1_loc[0],cue1_loc[1]] = 15.0\\n\",\n    \"for ii, loc_ii in enumerate(cue2_locations):\\n\",\n    \"  row_coord, column_coord = loc_ii\\n\",\n    \"  cue_grid[row_coord, column_coord] = 5.0\\n\",\n    \"  ax.text(column_coord+text_offsets[0], row_coord+text_offsets[1], cue2_loc_names[ii], fontsize = 15, color='k')\\n\",\n    \"  \\n\",\n    \"h.set_array(cue_grid.ravel())\\n\",\n    \"\\n\",\n    \"cue1_rect = ax.add_patch(patches.Rectangle((cue1_loc[1],cue1_loc[0]),1.0,1.0,linewidth=8,edgecolor=[0.5, 0.2, 0.7],facecolor='none'))\\n\",\n    \"cue2_rect = ax.add_patch(patches.Rectangle((cue2_loc[1],cue2_loc[0]),1.0,1.0,linewidth=8,edgecolor=[0.5, 0.2, 0.7],facecolor='none'))\\n\",\n    \"\\n\",\n    \"ax.plot(all_locations[:,1]+0.5,all_locations[:,0]+0.5, 'r', zorder = 2)\\n\",\n    \"\\n\",\n    \"temporal_colormap = cm.hot(np.linspace(0,1,T+1))\\n\",\n    \"dots = ax.scatter(all_locations[:,1]+0.5,all_locations[:,0]+0.5, 450, c = temporal_colormap, zorder=3)\\n\",\n    \"\\n\",\n    \"ax.set_title(f\\\"Cue 1 located at {cue2_loc}, Cue 2 located at {cue2_loc}, Cheese on {reward_condition}\\\", fontsize=16)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Experimenting with different environmental structure\\n\",\n    \"\\n\",\n    \"Try changing around the locations of the rewards, the cues, the agent's beliefs, etc. For example, below we'll change the location of the rewards, both in the generative model and the generative process.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 20,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# names of the reward conditions and their locations\\n\",\n    \"reward_conditions = [\\\"LEFT\\\", \\\"RIGHT\\\"]\\n\",\n    \"reward_locations = [(2, 2), (2, 4)] # DIFFERENT REWARD LOCATIONS\\n\",\n    \"\\n\",\n    \"## reset `A[3]`, the reward observation model\\n\",\n    \"\\n\",\n    \"A[3] = np.zeros([num_obs[3]] + num_states)\\n\",\n    \"# make the reward observation depend on the location (being at reward location) and the reward condition\\n\",\n    \"A[3][0,:,:,:] = 1.0 # default makes Null the most likely observation everywhere\\n\",\n    \"\\n\",\n    \"rew_top_idx = loc_list.index(reward_locations[0]) # linear index of the location of the \\\"TOP\\\" reward location\\n\",\n    \"rew_bott_idx = loc_list.index(reward_locations[1]) # linear index of the location of the \\\"BOTTOM\\\" reward location\\n\",\n    \"\\n\",\n    \"# fill out the contingencies when the agent is in the \\\"TOP\\\" reward location\\n\",\n    \"A[3][0,rew_top_idx,:,:] = 0.0\\n\",\n    \"A[3][1,rew_top_idx,:,0] = 1.0\\n\",\n    \"A[3][2,rew_top_idx,:,1] = 1.0\\n\",\n    \"\\n\",\n    \"# fill out the contingencies when the agent is in the \\\"BOTTOM\\\" reward location\\n\",\n    \"A[3][0,rew_bott_idx,:,:] = 0.0\\n\",\n    \"A[3][1,rew_bott_idx,:,1] = 1.0\\n\",\n    \"A[3][2,rew_bott_idx,:,0] = 1.0\\n\",\n    \"\\n\",\n    \"class GridWorldEnv():\\n\",\n    \"    \\n\",\n    \"    def __init__(self,starting_loc = (4,0), cue1_loc = (2, 0), cue2 = 'L1', reward_condition = 'LEFT'):\\n\",\n    \"\\n\",\n    \"        self.init_loc = starting_loc\\n\",\n    \"        self.current_location = self.init_loc\\n\",\n    \"\\n\",\n    \"        self.cue1_loc = cue1_loc\\n\",\n    \"        self.cue2_name = cue2\\n\",\n    \"        self.cue2_loc_names = ['L1', 'L2', 'L3', 'L4']\\n\",\n    \"        self.cue2_loc = cue2_locations[self.cue2_loc_names.index(self.cue2_name)]\\n\",\n    \"\\n\",\n    \"        self.reward_condition = reward_condition\\n\",\n    \"        print(f'Starting location is {self.init_loc}, Reward condition is {self.reward_condition}, cue is located in {self.cue2_name}')\\n\",\n    \"    \\n\",\n    \"    def step(self,action_label):\\n\",\n    \"\\n\",\n    \"        (Y, X) = self.current_location\\n\",\n    \"\\n\",\n    \"        if action_label == \\\"UP\\\": \\n\",\n    \"          \\n\",\n    \"          Y_new = Y - 1 if Y > 0 else Y\\n\",\n    \"          X_new = X\\n\",\n    \"\\n\",\n    \"        elif action_label == \\\"DOWN\\\": \\n\",\n    \"\\n\",\n    \"          Y_new = Y + 1 if Y < (grid_dims[0]-1) else Y\\n\",\n    \"          X_new = X\\n\",\n    \"\\n\",\n    \"        elif action_label == \\\"LEFT\\\": \\n\",\n    \"          Y_new = Y\\n\",\n    \"          X_new = X - 1 if X > 0 else X\\n\",\n    \"\\n\",\n    \"        elif action_label == \\\"RIGHT\\\": \\n\",\n    \"          Y_new = Y\\n\",\n    \"          X_new = X +1 if X < (grid_dims[1]-1) else X\\n\",\n    \"\\n\",\n    \"        elif action_label == \\\"STAY\\\":\\n\",\n    \"          Y_new, X_new = Y, X \\n\",\n    \"        \\n\",\n    \"        self.current_location = (Y_new, X_new) # store the new grid location\\n\",\n    \"\\n\",\n    \"        loc_obs = self.current_location # agent always directly observes the grid location they're in \\n\",\n    \"\\n\",\n    \"        if self.current_location == self.cue1_loc:\\n\",\n    \"          cue1_obs = self.cue2_name\\n\",\n    \"        else:\\n\",\n    \"          cue1_obs = 'Null'\\n\",\n    \"\\n\",\n    \"        if self.current_location == self.cue2_loc:\\n\",\n    \"          cue2_obs = cue2_names[reward_conditions.index(self.reward_condition)+1]\\n\",\n    \"        else:\\n\",\n    \"          cue2_obs = 'Null'\\n\",\n    \"        \\n\",\n    \"        # @NOTE: here we use the same variable `reward_locations` to create both the agent's generative model (the `A` matrix) as well as the generative process. \\n\",\n    \"        # This is just for simplicity, but it's not necessary -  you could have the agent believe that the Cheese/Shock are actually stored in arbitrary, incorrect locations.\\n\",\n    \"\\n\",\n    \"        if self.current_location == reward_locations[0]:\\n\",\n    \"          if self.reward_condition == 'LEFT':\\n\",\n    \"            reward_obs = 'Cheese'\\n\",\n    \"          else:\\n\",\n    \"            reward_obs = 'Shock'\\n\",\n    \"        elif self.current_location == reward_locations[1]:\\n\",\n    \"          if self.reward_condition == 'RIGHT':\\n\",\n    \"            reward_obs = 'Cheese'\\n\",\n    \"          else:\\n\",\n    \"            reward_obs = 'Shock'\\n\",\n    \"        else:\\n\",\n    \"          reward_obs = 'Null'\\n\",\n    \"\\n\",\n    \"        return loc_obs, cue1_obs, cue2_obs, reward_obs\\n\",\n    \"\\n\",\n    \"    def reset(self):\\n\",\n    \"        self.current_location = self.init_loc\\n\",\n    \"        print(f'Re-initialized location to {self.init_loc}')\\n\",\n    \"        loc_obs = self.current_location\\n\",\n    \"        cue1_obs = 'Null'\\n\",\n    \"        cue2_obs = 'Null'\\n\",\n    \"        reward_obs = 'Null'\\n\",\n    \"\\n\",\n    \"        return loc_obs, cue1_obs, cue2_obs, reward_obs\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 21,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Starting location is (0, 0), Reward condition is RIGHT, cue is located in L1\\n\",\n      \"Re-initialized location to (0, 0)\\n\",\n      \"Action at time 0: DOWN\\n\",\n      \"Grid location at time 0: (1, 0)\\n\",\n      \"Reward at time 0: Null\\n\",\n      \"Action at time 1: DOWN\\n\",\n      \"Grid location at time 1: (2, 0)\\n\",\n      \"Reward at time 1: Null\\n\",\n      \"Action at time 2: UP\\n\",\n      \"Grid location at time 2: (1, 0)\\n\",\n      \"Reward at time 2: Null\\n\",\n      \"Action at time 3: RIGHT\\n\",\n      \"Grid location at time 3: (1, 1)\\n\",\n      \"Reward at time 3: Null\\n\",\n      \"Action at time 4: UP\\n\",\n      \"Grid location at time 4: (0, 1)\\n\",\n      \"Reward at time 4: Null\\n\",\n      \"Action at time 5: RIGHT\\n\",\n      \"Grid location at time 5: (0, 2)\\n\",\n      \"Reward at time 5: Null\\n\",\n      \"Action at time 6: RIGHT\\n\",\n      \"Grid location at time 6: (0, 3)\\n\",\n      \"Reward at time 6: Null\\n\",\n      \"Action at time 7: DOWN\\n\",\n      \"Grid location at time 7: (1, 3)\\n\",\n      \"Reward at time 7: Null\\n\",\n      \"Action at time 8: DOWN\\n\",\n      \"Grid location at time 8: (2, 3)\\n\",\n      \"Reward at time 8: Null\\n\",\n      \"Action at time 9: RIGHT\\n\",\n      \"Grid location at time 9: (2, 4)\\n\",\n      \"Reward at time 9: Cheese\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"my_agent = Agent(A = A, B = B, C = C, D = D, policy_len = 4)\\n\",\n    \"\\n\",\n    \"my_env = GridWorldEnv(starting_loc = (0,0), cue1_loc = (2, 0), cue2 = 'L1', reward_condition = 'RIGHT')\\n\",\n    \"\\n\",\n    \"loc_obs, cue1_obs, cue2_obs, reward_obs = my_env.reset()\\n\",\n    \"\\n\",\n    \"history_of_locs = [loc_obs]\\n\",\n    \"obs = [loc_list.index(loc_obs), cue1_names.index(cue1_obs), cue2_names.index(cue2_obs), reward_names.index(reward_obs)]\\n\",\n    \"\\n\",\n    \"T = 10 # number of total timesteps\\n\",\n    \"\\n\",\n    \"for t in range(T):\\n\",\n    \"\\n\",\n    \"    qs = my_agent.infer_states(obs)\\n\",\n    \"    \\n\",\n    \"    my_agent.infer_policies()\\n\",\n    \"    chosen_action_id = my_agent.sample_action()\\n\",\n    \"\\n\",\n    \"    movement_id = int(chosen_action_id[0])\\n\",\n    \"\\n\",\n    \"    choice_action = actions[movement_id]\\n\",\n    \"\\n\",\n    \"    print(f'Action at time {t}: {choice_action}')\\n\",\n    \"\\n\",\n    \"    loc_obs, cue1_obs, cue2_obs, reward_obs = my_env.step(choice_action)\\n\",\n    \"\\n\",\n    \"    obs = [loc_list.index(loc_obs), cue1_names.index(cue1_obs), cue2_names.index(cue2_obs), reward_names.index(reward_obs)]\\n\",\n    \"\\n\",\n    \"    history_of_locs.append(loc_obs)\\n\",\n    \"\\n\",\n    \"    print(f'Grid location at time {t}: {loc_obs}')\\n\",\n    \"\\n\",\n    \"    print(f'Reward at time {t}: {reward_obs}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 22,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Text(0.5, 1.0, 'Cue 1 located at (0, 2), Cue 2 located at (0, 2), Cheese on RIGHT')\"\n      ]\n     },\n     \"execution_count\": 22,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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JUwiIiIiAZQwiYiIiARQwiQiIiISQAmTiIiISAAlTCIiIiIBlDCJiIiIBFDCJCIiIhJACZOIiIhIACVMIiIiIgGUMImIiIgEUMIkIiIiEkAJk4iIiEgAJUwiIXv16au59bI90pr3ydtP44aLO/HOC7e2clQiItISSphEsmTJ3P+watHr2Q5DRETSoIRJJAtisTpmPfxjxk75ebZDERGRNChhEsmCt2f+L0XF5ex38FnZDkVERNKghEmkjW3fsobX/3UNR3z5t1hEH0ERkXygo7VIG3vxsZ+xx95H02/o+GyHIiIiaVLCJNKGVi16jYVvP8r4k67KdigiIpKBomwHINKezHr4J+w/7huUlnWmpnLTZ9Pr66qoqdpMaXmX7AUnIiKNUsIk0oY2rv2INUtm8/bMW3aa/uJjP+OlJ6Zx8fWbshOYiIg0SQmTSBs64bz7cfHYTtMeuuk4DjriOwwZcUKWohIRkSBKmERaQby+jo/eenSX6f2GjqOiU69dpnftNYT+e2kQuIhIrlLCJNIKamu28vSduz5j6SsXPZ0yYRIRkdymhEkkZIccdzmHHHd52vNPvXFrK0YjIiJh0GMFRERERAIoYRIREREJoIRJREREJIASJhEREZEASphEREREAihhEhEREQmghElEREQkgBImERERkQBKmEREREQCKGESERERCaCESURERCSAEiYRERGRAEqYRERERAIoYRIREREJoIRJREREJIASJhEREZEASphEREREAihhEhEREQmghElEREQkgBImERERkQBKmEREREQCFKUzk5ktBrYCMaDeOTe6NYMSERERySVpJUy+I51z61otEhEREZEcpS45ERERkQDmnAueyWwRsBFwwK3OudsC5g8uVERERCQ3zAkabpRul9x459wKM+sNPGdm85xzLyTOYGbnAef5/9YA72ccrgD0BNT12Xzafy2j/dd82ncto/3XMtp/LTM8aIa0Wph2WsBsGrDNOfeHJuaZrYHhzaN91zLafy2j/dd82ncto/3XMtp/LZPO/gscw2RmHcysU8PfwDGo9UhERETakXS65HYDHjGzhvnvdc4926pRiYiIiOSQwITJOfcJcGCG5TY5KFyapH3XMtp/LaP913zady2j/dcy2n8tE7j/Mh7DJCIiItLe6DlMIiIiIgFCTZjMbLKZzTezhWb2kzDLLnRmdoeZrTUzDahvBjMbYGYzzOxDM/vAzKZmO6Z8YWZlZva6mb3j77tfZDumfGRmUTN7y8yezHYs+cbMFpvZe2b2tpnNznY8+cTMuprZg2Y2z8zmmtnYbMeUL8xsuF/nGn62mNn3Gp0/rC45M4sCC4BJwHLgDeA059yHoaygwJnZ4cA24G/Ouf2zHU++MbO+QF/n3Jv+XZ1zgJNU/4KZd0dHB+fcNjMrBl4EpjrnXs1yaHnFzH4AjAY6O+emZDuefOJ/X+loff1W5szsbuC/zrnbzawEqHDObcpyWHnHz2FWAAc755akmifMFqYxwELn3CfOuVrgPuDEEMsvaP6DQDdkO4585Zxb5Zx70/97KzAX6JfdqPKD82zz/y32fzS4MQNm1h/4InB7tmOR9sPMugCHA38FcM7VKllqtqOBjxtLliDchKkfsCzh/+XohCVZYGaDgJHAa1kOJW/43UlvA2uB55xz2neZuR74MRDPchz5ygH/NrM5/rdGSHoGA58Cd/rdwbf7z0uUzJ0K/LOpGTToWwqKmXUEHgK+55zbku148oVzLuacOwjoD4wxM3ULp8nMpgBrnXNzsh1LHhvvnPsccCzwXX+IggQrAj4H/Mk5NxLYDmj8cIb8rswTgAeami/MhGkFMCDh//7+NJE24Y+/eQj4h3Pu4WzHk4/85vwZwOQsh5JPxgEn+ONw7gOOMrN7shtSfnHOrfB/rwUewRviIcGWA8sTWoQfxEugJDPHAm8659Y0NVOYCdMbwF5mNtjP1k4FHg+xfJFG+QOX/wrMdc79Mdvx5BMz62VmXf2/y/Fu3JiX1aDyiHPuMudcf+fcILzj3vPOuTOzHFbe0NdvNZ9zbjWwzMwavjj2aEA3umTuNAK64yC9r0ZJi3Ou3swuBP4FRIE7nHMfhFV+oTOzfwITgJ5mthy40jn31+xGlVfGAWcB7/ljcQAud849nb2Q8kZf4G7/LpEIcL9zTrfGS1vR12+1zEXAP/yGik+Ar2c5nrziJ+mTgPMD59WTvkVERESapkHfIiIiIgGUMImIiIgEUMIkIiIiEkAJk4iIiEgAJUwiIiIiAZQwiYiIiARQwiQiIiISQAmTiIiISID/B3AH/qLhpUPPAAAAAElFTkSuQmCC\",\n      \"text/plain\": [\n       \"<Figure size 720x432 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\n\",\n    \"all_locations = np.vstack(history_of_locs).astype(float) # create a matrix containing the agent's Y/X locations over time (each coordinate in one row of the matrix)\\n\",\n    \"\\n\",\n    \"fig, ax = plt.subplots(figsize=(10, 6)) \\n\",\n    \"\\n\",\n    \"# create the grid visualization\\n\",\n    \"X, Y = np.meshgrid(np.arange(grid_dims[1]+1), np.arange(grid_dims[0]+1))\\n\",\n    \"h = ax.pcolormesh(X, Y, np.ones(grid_dims), edgecolors='k', vmin = 0, vmax = 30, linewidth=3, cmap = 'coolwarm')\\n\",\n    \"ax.invert_yaxis()\\n\",\n    \"\\n\",\n    \"# get generative process global parameters (the locations of the Cues, the reward condition, etc.)\\n\",\n    \"cue1_loc, cue2_loc, reward_condition = my_env.cue1_loc, my_env.cue2_loc, my_env.reward_condition\\n\",\n    \"reward_top = ax.add_patch(patches.Rectangle((reward_locations[0][1],reward_locations[0][0]),1.0,1.0,linewidth=5,edgecolor=[0.5, 0.5, 0.5],facecolor='none'))\\n\",\n    \"reward_bottom = ax.add_patch(patches.Rectangle((reward_locations[1][1],reward_locations[1][0]),1.0,1.0,linewidth=5,edgecolor=[0.5, 0.5, 0.5],facecolor='none'))\\n\",\n    \"reward_loc = reward_locations[0] if reward_condition == \\\"LEFT\\\" else reward_locations[1]\\n\",\n    \"\\n\",\n    \"if reward_condition == \\\"LEFT\\\":\\n\",\n    \"    reward_top.set_edgecolor('g')\\n\",\n    \"    reward_top.set_facecolor('g')\\n\",\n    \"    reward_bottom.set_edgecolor([0.7, 0.2, 0.2])\\n\",\n    \"    reward_bottom.set_facecolor([0.7, 0.2, 0.2])\\n\",\n    \"elif reward_condition == \\\"RIGHT\\\":\\n\",\n    \"    reward_bottom.set_edgecolor('g')\\n\",\n    \"    reward_bottom.set_facecolor('g')\\n\",\n    \"    reward_top.set_edgecolor([0.7, 0.2, 0.2])\\n\",\n    \"    reward_top.set_facecolor([0.7, 0.2, 0.2])\\n\",\n    \"reward_top.set_zorder(1)\\n\",\n    \"reward_bottom.set_zorder(1)\\n\",\n    \"\\n\",\n    \"text_offsets = [0.4, 0.6]\\n\",\n    \"cue_grid = np.ones(grid_dims)\\n\",\n    \"cue_grid[cue1_loc[0],cue1_loc[1]] = 15.0\\n\",\n    \"for ii, loc_ii in enumerate(cue2_locations):\\n\",\n    \"  row_coord, column_coord = loc_ii\\n\",\n    \"  cue_grid[row_coord, column_coord] = 5.0\\n\",\n    \"  ax.text(column_coord+text_offsets[0], row_coord+text_offsets[1], cue2_loc_names[ii], fontsize = 15, color='k')\\n\",\n    \"  \\n\",\n    \"h.set_array(cue_grid.ravel())\\n\",\n    \"\\n\",\n    \"cue1_rect = ax.add_patch(patches.Rectangle((cue1_loc[1],cue1_loc[0]),1.0,1.0,linewidth=8,edgecolor=[0.5, 0.2, 0.7],facecolor='none'))\\n\",\n    \"cue2_rect = ax.add_patch(patches.Rectangle((cue2_loc[1],cue2_loc[0]),1.0,1.0,linewidth=8,edgecolor=[0.5, 0.2, 0.7],facecolor='none'))\\n\",\n    \"\\n\",\n    \"ax.plot(all_locations[:,1]+0.5,all_locations[:,0]+0.5, 'r', zorder = 2)\\n\",\n    \"\\n\",\n    \"temporal_colormap = cm.hot(np.linspace(0,1,T+1))\\n\",\n    \"dots = ax.scatter(all_locations[:,1]+0.5,all_locations[:,0]+0.5, 450, c = temporal_colormap, zorder=3)\\n\",\n    \"\\n\",\n    \"ax.set_title(f\\\"Cue 1 located at {cue2_loc}, Cue 2 located at {cue2_loc}, Cheese on {reward_condition}\\\", fontsize=16)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"interpreter\": {\n   \"hash\": \"24ee14d9f6452059a99d44b6cbd71d1bb479b0539b0360a6a17428ecea9f0810\"\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3.8.10 64-bit ('pymdp_env2': conda)\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.8.8\"\n  },\n  \"orig_nbformat\": 4\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "docs/notebooks/free_energy_calculation.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Computing the variational free energy in categorical models\\n\",\n    \"\\n\",\n    \"[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/infer-actively/pymdp/blob/main/docs/notebooks/free_energy_calculation.ipynb)\\n\",\n    \"\\n\",\n    \"*Author: Conor Heins*\\n\",\n    \"\\n\",\n    \"This notebook walks the user through the computation of the variational free energy (or *VFE*) for discrete generative models, composed of categorical distributions. We can represent these sorts of generative models easily in array-focused programming languages like `NumPy` and `MATLAB` using matrices and vectors.\\n\",\n    \"\\n\",\n    \"In the discrete state-space formulation, the variational free energy is very straightforward to compute when we take advantage of the NDarray representation of probability distributions. The highly-optimized matrix algebra built into today's numerical computing paradigms can be exploited to write simple, one-line expressions for information-theoretic terms (like Kullback-Leibler divergences, cross-entropies, log-likelihoods, etc.). All these terms end up being variants of things like inner products, matrix-vector products or matrix-matrix multiplications.\\n\",\n    \"\\n\",\n    \"This notebook is inspired by the supplementary MATLAB script for the paper [\\\"A Step-by-Step Tutorial on Active Inference Modelling and its Application to Empirical Data\\\"](https://www.sciencedirect.com/science/article/pii/S0022249621000973) by Ryan Smith, Karl Friston, and Christopher Whyte. The original MATLAB script is called `VFE_calculation_example.m`, and can be found on [Ryan Smith's GitHub repository](https://github.com/rssmith33/Active-Inference-Tutorial-Scripts), which also contains a set of tutorial scripts that are supplementary to their paper.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"*Note*: When running this notebook in Google Colab, you may have to run `!pip install inferactively-pymdp` at the top of the notebook, before you can `import pymdp`. That cell is left commented out below, in case you are running this notebook from Google Colab.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# ! pip install inferactively-pymdp\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Imports\\n\",\n    \"\\n\",\n    \"First, import `pymdp` and the modules we'll need.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"from IPython.display import display, Latex\\n\",\n    \"\\n\",\n    \"from pymdp import utils, maths\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### A simple generative model composed of a likelihood and a prior\\n\",\n    \"\\n\",\n    \"We begin by constructing a simple generative model composed of two sets of categorical distributions: a likelihood distribution $P(o|s)$ and a prior distribution $P(s)$. \\n\",\n    \"\\n\",\n    \"Because both of these distributions are categorical distributions, we can represent them easily in code using matrices and vectors. The likelihood distribution is a conditional distribution that tells the probability that the generative model assigns to different observations, given different hidden states. Since observations and hidden states are both discrete, this can be efficiently represented as a matrix, each of whose **columns** store the conditional probabilities of all the observations (the **rows**), given a particular hidden state. Each hidden state setting is thus indexed by a column. For this reason, each column of this matrix is a categorical probability distributions and its entries must sum to one. \\n\",\n    \"\\n\",\n    \"The prior is represented as a 1-D vector and stores the prior probabilities that the generative model assigns to each hidden state. \\n\",\n    \"\\n\",\n    \"Finally, to set ourselves up later for showing model inversion and free energy calculations, we initialize an observation that we assume the agent or generative model has \\\"gathered\\\" or \\\"seen.\\\" In `pymdp` we can represent these observations either as one-hot vectors (a `1` in one entry, and `0`'s everywhere else) or more sparsely as simple indices (integers) that represent *which* of the observations was observed. Because observations are not distributions (or technically, they are Dirac distributions), you don't need to store a whole vector of elements, you can just store a particular index.\\n\",\n    \"\\n\",\n    \"Below we create 3 main variables: \\n\",\n    \"\\n\",\n    \"- An `observation` that represents a real observation that the agent or generative model \\\"sees\\\". \\n\",\n    \"- The `prior` distribution that represents the agent's prior beliefs about the hidden states\\n\",\n    \"- the `likliheood_dist` that represents the agent's beliefs about how hidden states probabilistically relate to observations.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"## Define a quick helper function for printing arrays nicely (see https://gist.github.com/braingineer/d801735dac07ff3ac4d746e1f218ab75)\\n\",\n    \"def matprint(mat, fmt=\\\"g\\\"):\\n\",\n    \"    col_maxes = [max([len((\\\"{:\\\"+fmt+\\\"}\\\").format(x)) for x in col]) for col in mat.T]\\n\",\n    \"    for x in mat:\\n\",\n    \"        for i, y in enumerate(x):\\n\",\n    \"            print((\\\"{:\\\"+str(col_maxes[i])+fmt+\\\"}\\\").format(y), end=\\\"  \\\")\\n\",\n    \"        print(\\\"\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Observation: 0\\n\",\n      \"\\n\",\n      \"Prior:[0.5 0.5]\\n\",\n      \"\\n\",\n      \"Likelihood:\\n\",\n      \"0.8  0.2  \\n\",\n      \"0.2  0.8  \\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"num_obs = 2 # dimensionality of observations (2 possible observation levels)\\n\",\n    \"num_states = 2 # dimensionality of observations (2 possible hidden state levels)\\n\",\n    \"\\n\",\n    \"observation = 0 # index representation\\n\",\n    \"# observation = np.array([1, 0]) # one hot representation\\n\",\n    \"# observation = utils.onehot(0, num_obs) # one hot representation, but use one of pymdp's utility functions to create a one-hot\\n\",\n    \"\\n\",\n    \"prior = np.array([0.5, 0.5]) # simply set it by hand\\n\",\n    \"# prior = np.ones(num_states) / num_states # create a uniform prior distribution by creating a vector of ones and dividing each by the number of states\\n\",\n    \"# prior = utils.norm_dist(np.ones(num_states)) # use one of pymdp's utility functions to normalize any vector into a probability distribution\\n\",\n    \"\\n\",\n    \"likelihood_dist = np.array([ [0.8, 0.2],\\n\",\n    \"                        [0.2, 0.8] ])\\n\",\n    \"\\n\",\n    \"if isinstance(observation, np.ndarray):\\n\",\n    \"    print(f'Observation:{observation}\\\\n')\\n\",\n    \"else:\\n\",\n    \"    print(f'Observation: {observation}\\\\n')\\n\",\n    \"print(f'Prior:{prior}\\\\n')\\n\",\n    \"print('Likelihood:')\\n\",\n    \"matprint(likelihood_dist)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Bayesian inference\\n\",\n    \"\\n\",\n    \"Before we define variational free energy for this generative model, let's step through the computations involved in inverting this model using Bayes' rule, i.e. computing the optimal Bayesian posterior over hidden states, given our sensory observation (which we will formally refer to as $o_t$). By performing exact Bayesian inference first, we can directly compares its results to that of variational free energy minimization. This will help us better understand the meaning of the free energy calculations that come later.\\n\",\n    \"\\n\",\n    \"#### 1. Compute the likelihood over hidden states, given the observation \\n\",\n    \"\\n\",\n    \"Now that we have a generative model and have fixed a particular observatio $o_t$ (`observation`), we have to perform Bayes' rule to compute the posterior. Mathematically, this can be expressed as follows:\\n\",\n    \"\\n\",\n    \"### $ \\\\hspace{60mm} P(s | o _t) = \\\\frac{P(o = o_t | s)P(s)}{P(o = o_t)} $\\n\",\n    \"\\n\",\n    \"Computing the posterior via Bayes' rule (also known as \\\"model inversion\\\") is the essence of optimal statistical inference, when one has a generative model of how one's data is caused, and some data. \\n\",\n    \"\\n\",\n    \"To start with, let's computing the likelihood term $P(o = o_t | s)$. We can represent the computation of the likelihood with this line of `NumPy`: ``likelihood_dist[observation,:]``. By doing so, we are providing a numerical answer to the question: \\\"What is the likelihood that State 1 vs State 2 caused the actual sensory data $o_t$ that I've observed?\\\".\\n\",\n    \"\\n\",\n    \" Mathematically, our likelihood function $P(o = o_t | s)$ (in the statistics literature also referred to as $L(\\\\theta)$) is a *function of the hidden states*. The particular function over hidden states we use is *defined* by the observation $o_t$. So you can think of the likelihood as a multi-dimensional function or simply a space of functions, where the particular function you use for inference is determined by your data.\\n\",\n    \"\\n\",\n    \"This act of computing the likelihood via an indexing  operation ``likelihood_dist[observation,:]``, is similar in spirit to the operation of *conditioning*. We are, in some sense, \\\"conditioning\\\" on a particular observation (slicing out a \\\"row\\\" of our ``likelihood_dist`` matrix), and then looking at the *induced* likelihood over possible causes (hidden states) that could've have been the latent source of that observation. This operation captures the essence of what we mean when we speak of \\\"inverting\\\" generative models. Generative models are referred to as *generative* because they can be used to generate fictive observations, given some fixed setting of latent parameters. *Inversion* is thus moving in the opposite direction -- given some sensory data, what is the consequent likelihood over the *causes* or hidden states that might have generated that data?\\n\",\n    \"\\n\",\n    \"**Note**: We can also compute the likelihood using a matrix-vector product, if the observation is represented as a one-hot vector.\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"likelihood_s = likelihood_dist.T @ observation\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"You can see think of this as a weighted average of the rows of the likelihood matrix, where the weights are provided by the observations. Since we have insisted that the observations are a one-hot vector, this is equivalent to just selecting a single row of the likelihood matrix (the one indexed by the entry of the observation that is `1.0`).\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$P(o=o_t|s):$\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[0.8 0.2]\\n\",\n      \"==================\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"\\n\",\n    \"if isinstance(observation, np.ndarray): # use the matrix-vector version if your observation is a one-hot vector\\n\",\n    \"    likelihood_s = likelihood_dist.T @ observation\\n\",\n    \"elif isinstance(observation, int): # use the index version if your observation is an integer index\\n\",\n    \"    likelihood_s = likelihood_dist[observation,:] \\n\",\n    \"display(Latex('$P(o=o_t|s):$'))\\n\",\n    \"print(f'{likelihood_s}')\\n\",\n    \"print('==================\\\\n')\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 2. The joint distribution $P(o = o_t, s) = P(o = o_t|s)P(s)$ \\n\",\n    \"\\n\",\n    \"To compute the full numerator on the right-hand side of the Bayes' rule equation, we need to compute the joint distribution $P(o = o_t|s)P(s)$.\\n\",\n    \"\\n\",\n    \"The joint distribution, which also fully defines the generative model, is the product of the likelihood and prior distributions. The joint distribution expresses the joint probability of observations and hidden states, given the likelihood distribution and the prior over hidden states. If we condition on an actual observation $o_t$, as we have done here, then this joint distribution is, like the likelihood, a function of hidden states. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$P(o = o_t,s) = P(o = o_t|s)P(s):$\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[0.4 0.1]\\n\",\n      \"==================\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"joint_prob = likelihood_s * prior # element-wise product of the likelihood of each hidden state, given the observation, with the prior probability assigned to each hidden state\\n\",\n    \"display(Latex('$P(o = o_t,s) = P(o = o_t|s)P(s):$'))\\n\",\n    \"print(f'{joint_prob}')\\n\",\n    \"print('==================\\\\n')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 3. Marginal probability or marginal likelihood: $\\\\sum_s P(o = o_t, s) = P(o = o_t)$\\n\",\n    \"\\n\",\n    \"Let's remind ourselves of Bayes' rule below:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} P(s | o _t) = \\\\frac{P(o = o_t | s)P(s)}{P(o = o_t)} $\\n\",\n    \"\\n\",\n    \"So far, using the likelihood, the observation, and the prior, we have computed the numerator of this term: the unnormalized joint distribution $P(o = o_t,s)$. All that's left is to do is then divide this term by the denominator $P(o=o_t)$. This term is also referred to as the model evidence or the marginal likelihood. \\n\",\n    \"\\n\",\n    \"This can be thought of as the probability of having seen the particular observation you saw, under all possible settings of the hidden states. This can be computed by marginalizing the joint distribution, using the prior probabilities of the hidden states:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm}P(o) = \\\\sum_s P(o|s)P(s)$\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"p_o = joint_prob.sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4. Compute the posterior $P(s|o=o_t)$\\n\",\n    \"\\n\",\n    \"Now to compute the Bayes-optimal posterior, simply divide the numerator by the denominator!\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$P(s|o = o_t) = \\\\frac{P(o = o_t,s)}{P(o=o_t)}$:\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Posterior over hidden states: [0.8 0.2]\\n\",\n      \"==================\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"posterior = joint_prob / p_o # divide the joint by the marginal\\n\",\n    \"display(Latex('$P(s|o = o_t) = \\\\\\\\frac{P(o = o_t,s)}{P(o=o_t)}$:'))\\n\",\n    \"print(f'Posterior over hidden states: {posterior}')\\n\",\n    \"print('==================')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The variational free energy\\n\",\n    \"\\n\",\n    \"The variational free energy is an upper bound on **surprise**: surprise is define as $ - \\\\ln p(o)$, and is also known as the negative (log) evidence. By minimizing free energy, we are **minimizing** surprise and thus **maximizing** log evidence.  This evidence is simply the (log of the) term we computed in the previous step, the normalizing denominator used in Bayes' rule. We can thus first compute the surprise associated with the observation we saw earlier:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$- \\\\ln P(o=o_t)$:\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Surprise: 0.693\\n\",\n      \"==================\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"surprise = - np.log(p_o)\\n\",\n    \"\\n\",\n    \"display(Latex('$- \\\\ln P(o=o_t)$:'))\\n\",\n    \"print(f'Surprise: {surprise.round(3)}')\\n\",\n    \"print('==================')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"By minimizing variational free energy with respect to the parameters of an arbitrary, parametrized distribution, also known as the approximate or variational posterior $Q(s)$, we are forcing the surprise to go down, and the model evidence to go up. In doing so, the approximate posterior distribution will get \\\"closer\\\" to the true posterior distribution (the $P(s|o)$ we computed above), $Q(s) \\\\approx P(s|o)$.\\n\",\n    \"\\n\",\n    \"This idea of minimizing a bound on surprise, is the core principle underlying the variational free energy principle, active inference, and the statistical methodology of variational principles more generally. This comes in handy because in many realistic scenarios where agents or systems need to make inferences about the hidden causes of sensory perturbations, performing Bayesian inference exactly becomes intractable (due mostly to the computation of the $P(o)$ denominator term, also known as the normalizing constant). Variational inference turns this intractable marginalization problem into a tractable optimization problem, where one only needs to change the approximate posterior $Q(s)$ in order to minimize a bound on surprise.\\n\",\n    \"\\n\",\n    \"But what is the variational free energy exactly, mathematically? It is commonly written as the expectation, under the approximate posterior, of the log ratio between the approximate posterior and the generative model:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} \\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln \\\\frac{Q(s)}{P(o, s)}] $\\n\",\n    \"\\n\",\n    \"Because of the rules of logarithms, we can also express this as an expected difference between the log posterior and the log generative model:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} \\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(o, s)] $\\n\",\n    \"\\n\",\n    \"By doing taking advantage of some more mathematical relationships (the factorization of the joint, rules for logarithms of products, and the definition of the conditional expectation), we can re-write this as an upper bound on surprise:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} \\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(s|o)] - \\\\ln P(o) $\\n\",\n    \"\\n\",\n    \"By re-arranging this equality and taking advantage of the fact that the quantity $\\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(s|o)]$ (also known as the Kullback-Leibler divergence) is greater than or equal to 0, we can easily show that the VFE is an upper bound on surprise:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} \\\\mathcal{F} \\\\geq - \\\\ln P(o) $\\n\",\n    \"\\n\",\n    \"Let's now compute the VFE numerically for our generative model and fixed observation. Given we already defined those two things ($o_t$ and $P(o,s)$), the last thing we need to do, is to define an initial setting of our approximate posterior $Q(s)$, and compute the variational free energy using one of the formulas above.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$\\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln \\\\frac{Q(s)}{P(o, s)}] = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(o, s)]:$\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Variational free energy (F) = 0.916\\n\",\n      \"==================\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# to begin with, set our initial Q(s) equal to our prior distribution -- i.e. a flat/uninformative belief about hidden states\\n\",\n    \"initial_qs = np.array([0.5, 0.5])\\n\",\n    \"\\n\",\n    \"# redefine generative model and observation, for ease\\n\",\n    \"observation = 0\\n\",\n    \"likelihood_dist = np.array([[0.8, 0.2], [0.2, 0.8]])\\n\",\n    \"prior = utils.norm_dist(np.ones(2))\\n\",\n    \"\\n\",\n    \"# compute the joint or generative model using the factorization: P(o=o|s)P(s)\\n\",\n    \"joint_prob = likelihood_dist[observation,:] * prior\\n\",\n    \"\\n\",\n    \"# compute the variational free energy using the expected log difference formulation\\n\",\n    \"initial_F = initial_qs.dot(np.log(initial_qs) - np.log(joint_prob))\\n\",\n    \"## @NOTE: because of log-rules, `initial_F` can also be computed using the division inside the logarithm:\\n\",\n    \"# initial_F = initial_qs.dot(np.log(initial_qs/joint_prob))\\n\",\n    \"\\n\",\n    \"display(Latex('$\\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln \\\\\\\\frac{Q(s)}{P(o, s)}] = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(o, s)]:$'))\\n\",\n    \"print(f'Variational free energy (F) = {initial_F.round(3)}')\\n\",\n    \"print('==================')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now let's then change the approximate posterior $Q(s)$ and see what happens to the variational free energy.\\n\",\n    \"\\n\",\n    \"By definition, optimal inference (and 'perfect' VFE minimization) obtains when we set the approximate posterior $Q(s)$ to be equal to the true posterior, $Q(s) = P(s|o)$. \\n\",\n    \"\\n\",\n    \"As an extreme case, let's do this and then measure the variational free energy. We can see that it has decreased, relative to it's initial setting when the approximate posterior was equal to the prior $P(s)$.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$\\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln \\\\frac{Q(s)}{P(o, s)}] = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(o, s)]:$\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"F = 0.693\\n\",\n      \"==================\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"final_qs = posterior.copy() # now we just assert that the approximate posterior is equal to the true posterior\\n\",\n    \"final_F = final_qs.dot(np.log(final_qs) - np.log(joint_prob))\\n\",\n    \"\\n\",\n    \"display(Latex('$\\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln \\\\\\\\frac{Q(s)}{P(o, s)}] = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(o, s)]:$'))\\n\",\n    \"print(f'F = {final_F.round(3)}')\\n\",\n    \"print('==================')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Notice that the free energy is 0.693 -- if you recall, this is exactly the **surprise** or negative log marginal likelihood $-\\\\ln P(o = o_t)$, related to the marginal likelihood quantity $P(o=o_t)$ that we had to compute when performing exact Bayesian inference earlier. \\n\",\n    \"\\n\",\n    \"It is easy to see why this equality should hold, when we consider the VFE in terms of the surprise bound:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} \\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(s|o)] - \\\\ln P(o) $\\n\",\n    \"\\n\",\n    \"When $Q(s) = P(s|o)$, as we have enforced with the line ``final_qs = posterior.copy()`` above, the first term $\\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(s|o)]$ will become 0. This is a property of the Kullback-Leibler divergence between two distributions $\\\\operatorname{D}_{KL}(Q \\\\parallel P) = \\\\mathbb{E}_{Q}[\\\\ln Q - \\\\ln P]$. \\n\",\n    \"\\n\",\n    \"So since that KL divergence is 0, this is a case when the bound on surprise is exact:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} \\\\mathcal{F} = 0 - \\\\ln P(o) = - \\\\ln P(o)$\\n\",\n    \"\\n\",\n    \"In other words, minimizing free energy \\\"as much as possible\\\" in the case of this generative model, means that the approximate posterior equals the true posterior, and the free energy bound becomes \\\"tight\\\", i.e. the free energy simply IS the negative log evidence!\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$-\\\\ln P(o):$\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0.693\\n\",\n      \"==================\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# compute the surprise (which we can do analytically for this simple generative model)\\n\",\n    \"p_o = joint_prob.sum()\\n\",\n    \"surprise = - np.log(p_o)\\n\",\n    \"display(Latex('$-\\\\ln P(o):$'))\\n\",\n    \"print(f'{surprise.round(3)}')\\n\",\n    \"print('==================\\\\n')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Bonus material: auto-differentiation to perform gradient descent on the variational free energy\\n\",\n    \"\\n\",\n    \"In this section, we are going to numerically differentiate the variational free energy with respect to the parameters of the approximate posterior. We can take advantage of modern autodifferentiation software, that can calculate the derivatives of arbitrary computer programs, to compute these derivatives without doing any analytic differentiation.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import autograd.numpy as np_auto   # Thinly-wrapped version of Numpy that is auto-differentiable\\n\",\n    \"from autograd import grad          # this is the function that we use to evaluate derivatives\\n\",\n    \"from functools import partial\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"First, let's create a variational free energy function, that takes as input the variational posterior `qs`, an observation `obs`, the likelihood matrix `likelihood` and a prior distribution `prior`.\\n\",\n    \"\\n\",\n    \"By defining this computation as a function, we can calculate its derivatives automatically using the autodifferentiation package `autograd`, which allows users to pass gradients through arbitrary Python code. It includes a special version of `numpy` (`autograd.numpy`) that has a differentiable back-end. We will thus use this \\\"special\\\" verison of `numpy` when we instantiate our arrays and perform numerical operations on them.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# define the variational free energy as a function of the approximate posterior, an observation, and the generative model\\n\",\n    \"def vfe(qs, obs, likelihood, prior):\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    Quick docstring below on inputs\\n\",\n    \"    Arguments:\\n\",\n    \"    =========\\n\",\n    \"    `qs` [1D np_auto.ndarray]: variational posterior over hidden states\\n\",\n    \"    `obs` [int]: index of the observation\\n\",\n    \"    `likelihood` [2D np_auto.ndarray]: likelihood distribution P(o|s), relating hidden states probabilistically to observations\\n\",\n    \"    `prior` [1D np_auto.ndarray]: prior over hidden states\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    likelihood_s = likelihood[obs,:]\\n\",\n    \"\\n\",\n    \"    joint = likelihood_s * prior\\n\",\n    \"\\n\",\n    \"    vfe = qs @ (np_auto.log(qs) - np_auto.log(joint))\\n\",\n    \"\\n\",\n    \"    return vfe\\n\",\n    \"\\n\",\n    \"# initialize an observation, an initial variational posterior, a prior, and a likelihood matrix\\n\",\n    \"obs = 0\\n\",\n    \"init_qs = np_auto.array([0.5, 0.5])\\n\",\n    \"prior = np_auto.array([0.5, 0.5])\\n\",\n    \"likelihood_dist = np_auto.array([ [0.8, 0.2],\\n\",\n    \"                        [0.2, 0.8] ])\\n\",\n    \"\\n\",\n    \"# this use of `partial` creates a version of the vfe function that is a function of Qs only, \\n\",\n    \"# with the other parameters (the observation, the generative model) fixed as constant parameters\\n\",\n    \"vfe_qs = partial(vfe, obs = obs, likelihood = likelihood_dist, prior = prior)\\n\",\n    \"\\n\",\n    \"# By calling `grad` on a function, we get out a function that can be used to compute the gradients of the VFE with respect to its input (in our case, `qs`)\\n\",\n    \"grad_vfe_qs = grad(vfe_qs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have a variational free energy function, and a derivative function that will give us the gradients of the VFE, with respect $Q(s)$, we can use it to perform a gradient descent on VFE, with respect to the parameters of $Q(s)$. In other words, we will implement this discretized differential equation to update the approximate posterior:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} Q(s)_{t+1} =Q(s)_{t} - \\\\frac{\\\\partial \\\\mathcal{F}}{\\\\partial Q(s)_{t}} $\\n\",\n    \"\\n\",\n    \"Where the gradient term $\\\\frac{\\\\partial \\\\mathcal{F}}{\\\\partial Q(s)_{t}}$ will simply be the output of the gradient function `grad_vfe_qs` we've defined above.\\n\",\n    \"\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# number of iterations of gradient descent to perform\\n\",\n    \"n_iter = 40\\n\",\n    \"\\n\",\n    \"qs_hist = np_auto.zeros((n_iter, 2))\\n\",\n    \"qs_hist[0,:] = init_qs\\n\",\n    \"\\n\",\n    \"vfe_hist = np_auto.zeros(n_iter)\\n\",\n    \"vfe_hist[0] = vfe_qs(qs = init_qs)\\n\",\n    \"\\n\",\n    \"learning_rate = 0.1 # learning rate to prevent gradient steps that are too big (overshooting)\\n\",\n    \"for i in range(n_iter-1):   \\n\",\n    \"\\n\",\n    \"    dFdqs = grad_vfe_qs(qs_hist[i,:])\\n\",\n    \"\\n\",\n    \"    ln_qs = np_auto.log(qs_hist[i,:]) - learning_rate * dFdqs # transform qs to log-space to perform gradient descent\\n\",\n    \"    qs_hist[i+1,:] = maths.softmax(ln_qs) # re-normalize to make it a proper, categorical Q(s) again\\n\",\n    \"\\n\",\n    \"    vfe_hist[i+1] = vfe_qs(qs = qs_hist[i+1,:]) # measure final variational free energy\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Since we were storing the history of the variational free energy over the course of the gradient descent, we can plot its trajectory below.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Text(0.5, 1.0, 'Gradient descent on VFE')\"\n      ]\n     },\n     \"execution_count\": 16,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAg4AAAGWCAYAAAAQZguKAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAABGJ0lEQVR4nO3deZxcVZ3//9en96S70510Op2lQ/YAISQBmrAqCKMGXGBUxiDriKKjMDrjBo4Lg7iN+lX0hzq4RVBARBFUMKIEZFjTQFgSCFnJBklnX3v//P64t5JKUdVdvd5a3s/H4z6q7rn33Prcut1Vn7rn3HPN3RERERFJR0HUAYiIiEj2UOIgIiIiaVPiICIiImlT4iAiIiJpU+IgIiIiaVPiICIiImlT4iASMrOHzMzN7PKE8jPD8rXRRBYdM1sb7vuZUcciIplBiYP0CzMrM7MPm9nvzGyNme01sxYze93MHjSzr5jZrKjjzBVmdrmZXWdmc6KORQ4XHpfrzKw66lj6Q1zi7GY2N806w8P/fzezj8aVr43bVlfTnITtpVMnNlX37zsgiYqiDkCyn5m9C7gZGB1X3AzsA2qBt4TTF8zsr8BF7r510APtvf3AcmBj1IHEuRw4A1gLLIkyEHmDL4ePC4Cd0YXRbx4GXgUmAJcCT6VRZz5QArQAv0myfB+wt4v6bSnKdwMHunntzm6jkz7RGQfpEzO7AvgDQdKwHPggMNbdh7j7CIIPjxOALwKbgLcB9dFE2zvu/pS7H+XuZ0cdi8hg82B44VvC2flmVpxGtUvDx3vdfUeS5d9299FdTEtTbPcT3dQb7e67e7qP0jNKHKTXzOx44IcEf0f3AHPc/Rfu/lpsHXfvcPdn3P0GYBJwA6l/TYhIZoolDjXAuV2taGbTgJPD2V8OZFASDSUO0hc3EJxReBW42N2bu1rZ3Vvd/YuJvyYSOx+a2Tlmdr+ZbTGzTjP7ZNy6bzazG83sSTPbZGat4Xp/MbP3dRewmc0L+1zsMrPdZvaEmV3STZ1uO0ea2UQz+4GZLTez/Wa2x8yeNrPPmVl5ijqxNtmJZnaEmf3EzDaEbcNrzOzbZjYsoc7lZuYEzRQAv0ho300ZYxexXxS+D3vNbHv4/rwjzboVZvZ5M1scvqfNZrbCzL5vZuNT1CkI92ORmW0zszYzazKzpWb2czObl6Kemdn7zezPFvSdaTGzjWb2DzP7DzOrSVHvdDO7I+693WZmfzOzC83Mkqyf+Pd4mpn9ycy2mtkBM3vOzK5KrGtmC8JjE7Mm4dgsSOc9TXifrjCzh8Pj0hz+XdxsZlNT1OlV7N1x95XAo+HspV2tG7d8M7CwJ68jWcLdNWnq8QSMBzyc/qOP2zoz3M5a4FPh805gB9AOfDJcryLuNZ2gvXNXQtn/dvE6n4lbL7b9jnD+O8BD4fPLU8WXYrvvIWh3jW17H9AaN/88UJekXmz5ecC2uH1qi1u2GCiOq/N+4PW47e8K52PT4h6+9/9f3Gt1hO9JZzj/7+ExceDMJHWPjlvuYdx74+a3A6clqffrhGO2k6AtPDb/RJI6VcADCcdve8L7fnmSet9MeK1dcfvnwO1AQRd/j5cT/A12hnHGb+t7CfVuDI9BbHlTwrG5sQfHZSjBl25sW60Jr38AOK+b/6W0Y08zpg+HdVuA4SnWMWBNuN53kiyP/b1c18PXTnmMNQ3+FHkAmrJzAi6O+2ee3sdtxT7sDoQfdDcRftECZUB9+Hwo8FvgfGBEXP1q4OPAnnA7FyR5jdPjvjBuBUbH1Y19ucQ+XC9PEd/aJNs9MfxQbyM4AzMuLC8ETiH44ndgYZK6sfdvB/B3YGZYXkrQV6Q5XP6xJHUf6usHKXBRXAzfAqrD8jqCU8ytBEnQGxIHgi/y2BfEncAsoDBcNplDycHrse2Gy94clrcDnwQqw3IDxgCXEbR/J8b6p7DefoKEpjqu3tHAf5PwRQp8Ii6GDwNVYfkQggTstXD5tSmO9z6CL8kfcOjvsRr4PoeSl2O6OK4T+3Bsfhxuoxn4CFAalk8HFsXFN70/Y+8mpioOJWofTbHOGXH7PyvJ8rUoccj6KfIANGXnBHyVQ1/21sdtnRn3wXBbH7ZzSbiNRUmW/T1c9mCyeIGfpvpwouvE4f/CZR9JEdMIgk6hDjQkLIu93ouxL4aE5T+IxZxk2UN9+SAl+MJdGW5jQYrl8b/wz0xYfkN3xwu4P1zn03Flnw3L7u9BrOfGfdnNS7NONUEieQCYnWKdUzh05qIkxd/jT1LUfT5c/qUky/qUOAATOXQm7A1/VwQJdOzY3ZLib7VXsacR2+1h3cdSLP9ZuPzZFMvXhsv3cvjZmPjpw128p4ln2BKnX/TmPdfUs0l9HKS3RoSPOz38z05kZv8VtkUnTjd2sd1v9SGmP4aPJ5tZYVwcIwguBwX4Zop4v9bTFzOzKcBpBGcqfpZsHXffTvAFCvDWFJv6f+7ekqT8D+HjzJ7GloY5wJTw+dcTF4bvUVfvyWXh43e6WOe28DF+v2M93keZWbqfP7E284Xu/pc067yXoGnrb+7+XLIV3P1xgrMmwwmu/EnmDe9N6J7wcSCOzT8T9D97nSChPYy77wf+J5x9T/zfeoKBiD3W2fGUxH4WZjYEiPUzuoWulROc2Uo2Je0TFBrWRb06gmMpA0zjOMhAqiT4Z05UlWL9A0DSD/kYMysi+NK6AJhNkMCUJKxWRvABEhsr4jiCX9CdBGcI3sDdV5vZeoK+G+k6NXysADZ00d+sInxMte3FKcpj40YMxIfh8eHjZndfnmKdxwiaFA77nAg7PcYuqb0voUNgvNhxid/vvxM0gRwPPGRmNxOcUdnURayxHvr3dbFOotixOcvMXu9ivVgCPB54PGHZdndfnaLeYBybR9y9I8U6D4aP5cCRwLKE5QMV+wMEZ9DGEpzh+3LcsvMJvtjbCZqquvLf7n5dL17/X919QS/qST/SGQfpre3hY3WqHtrufo27W2yi+w+Tbe6ecvAWM6sgGIzmp8DbCcaO6CDohLY5nGLif7XUho+73H1fF6/f0wGexoSPRXT9KygWy9AU29mTojx2lcpAJPix9yTlF3Z4FiTZQF1j4p6Povtffwf3291XAP9GkCS+iaC/ycbwaoEfmdlxSV4vlnyu62afksU4tIv46oDiuPUSpToucOjYpDOmQU/Fjk1Xf48bkqwfb0BiDxOZX4WzFyf878fODP3F3bf0dNuSPZQ4SG+9FD6WAdP6aZupfl3FfJHgl+RWgrMOde4+1N1HuftoYFzcuj263KyXYv8/z8UnSF1Mlw9CTIMh/nNjeBr7PTG+srv/nGBMj08SnDbfRtCu/1HgaTP7fD/GeGOax2ZBP7xmfyuLOoAUYs0Vkwk6HWNmoznUJKWxG3KcEgfprYfjnqd1zX8/uCB8vNrdb0nyqyZZswgEZyQAqsws1a9+CE6/9kTsDEdPmjcyRew9SbnPZlYCjEyyKP7MzhG9eXF33+zuN7r7+QS/mOcCdxMkfIn3NYm93oQevESsTq/ii1js2HQVe/zoq00p1xoA7r4MaAxnY2OgXERwJdEODvU1khylxEF6xd3Xc6jT3yfCZoSBFvuwfDbF8n9KUf4sQY/sAsJfSInMbBI9/5KJtYmPMLOTeli3r2JNOr09s/JM+FhnZtNTrHMqSZpJ3H0Nh76Yz+nl68dvz919MUFiuIE3HqcnwscuRyxMEDs2Z4ad9gZTrM9HX4/NSV0kumeFj/sIhnofbLGzCheYWRmHminuSNHRV3KIEgfpiy8QdHSbAPwq/AAZSLvCx2MTF4SJy38lqxRe2RDrTPbZFH0yrulpMO7+Moe+1P7HuhjD38yGmFlpT1+jC7GrE6p7WX8JwSV9AJ9LXBi+R129JwvCx0+b2bhUK4WjPVbHzSd2ZD0obD+PDUce/17Feui/LdWokkn8luBLdTjwpa5WNLP+7uDY12Pze4LEsAa4MnFhmEx8JrZuFx0oB9LtBP/71QRNiLEzRGqmyANKHKTX3P0Z4GMEH3LnAUvM7INmdrDzXPjFMcXMPkPQobEvHggf/5+ZnRFLAMzsRILe+kmHHA5dR/BL8GxggZnVhXWrzOxrBB/Qu1JXT+nfCQbaeTPw93B444Jw24VmdqyZfQlYzeGdCvsqNmz3e8ws1VUqKYWXW14Xzn7QzL4Z+4IP35ufE/yq3Z9iE98g2KeRwGNm9i/xv+wtGEL7SoJfz+fH1fuamd1lZueHl8nG1q8zs+8T9H1wDh1rCM5s3U/wC/53ZnZ1XKxmZjPM7DtmdvB13H0bcG04e40Fw3kfPLMSJnJvMrMfEVw90p9ix+bSLi6VTMndXyW42yzAN8zsyljSGe7Dn4GpBMfmhn6It8fC9/fP4WwswVzu7k9GEY8MsqgHktCU/RPwLg6NwhebDhC0vTYnlN8HHJlQ/0xSDLCUsN7kcJvxrxEb4ng/wZ03Uw6+wxuHnN5OcOmY07chp8/h8CF9mwk6cMYPO+3AhIR6XQ4URNBh0Am/5xOWHcWhYZrbCHrgrwX+r4fHLn7I6fbwPUl3yOmpBJcBxtffGh6L+P2+LK7O9xKW7SL4hR5f9vkkr1Udd3ycoCPtNrofcvoLHD7E9N5wHzviytb09O+RYDhnBx5Ksuxf47Z9gOBeLmtJMiJmF9sfCvw1bjutBP0H4v/GzktSr0+x9/Bv57yE43ZtGnVif0/X9fC10h0A6nXg1L7sl6buJ51xkD5z9z8SfKlfSdDB7VWCD+thBB92DxMMJnSMu5/rqccN6O51VhN0ovsVsIWgM9ZOgss8T3T3v3ZT/1sEX/KLCL5Aigg6eV3q7p/qTUzhdu8nGAr4BoJf2C0EX3S7CX7NfgM4wYNfkv3Cg2aStwJ/IfgwHU3QZNSjW5a7+1UEw4c/GcZtBMfrne7+/W7qriQYI+NjBO/pDoIxOtoJRie8maDj7K/iqn2XICG5B3glfL1SYD3wG+DN7v6GgafcfSfBGZDLgL8RfPlXEiQPDxNcoXFvkno3EIz3cTOwguAsazlBoruQYCTLN3W1nz3l7r8gGOL6KYL3YjzBsUnW0TTVNvYT/K1+CHiEIBkbSvC/9VPgWHe/J/UWBsV9HOqY2cnhx3mgdDcAVB1vHNdF+pmF2ZyIiIhIt3TGQURERNKmxEFERETSpsRBRERE0qbEQURERNKmxEFERETSpttqxymrrPaZR07tfkUREZEc8PTTT29192R3WE1JiUOcwmGjaGxs7H5FERGRHGBmPR5fRk0Vcdo7nV0H2rpfUUREJE8pcUiwYvOeqEMQERHJWEocEryyeW/UIYiIiGQsJQ5xCsx4RWccREREUlLiEKe0qIAVW5Q4iIiIpKLEIU5ZcaGaKkRERLqgxCFOaXEBTXta2Lm/NepQREREMpIShzhlRYUArNiisw4iIiLJKHGIU1ocvB3qICkiIpKcEoc4JYUFlJcUskL9HERERJJS4pBgal2lzjiIiIikoMQhwfRRFbqyQkREJAUlDgmm11WydW8LO/bpygoREZFEShwSTKurANRBUkREJBklDgmm11UC8IouyRQREXkDJQ4JxlSVUVFaxEqdcRAREXkDJQ4JzIyp6iApIiKSlBKHJKbXVehmVyIiIklkROJgZvPMbLmZrTSza5Isn2Bmfzez583sITOrj1t2mZmtCKfL4spPMLMXwm1+38ws3XiCKyta2a4rK0RERA4TeeJgZoXATcA5wAzgQjObkbDat4Fb3H0WcD3w9bDuCODLwEnAXODLZjY8rPMj4MPAtHCal25M02IdJNXPQURE5DCRJw4EX/gr3X21u7cCdwDnJawzA3gwfL4obvnbgQfcfbu77wAeAOaZ2RhgmLs/4e4O3AKcn25A08NLMlcocRARETlMJiQO44D1cfMbwrJ4zwHvCZ//M1BpZjVd1B0XPu9qmwCY2ZVm1mhmjU1NTQCMHlZGZWmROkiKiIgkyITEIR2fBs4ws2eBM4CNQEd/bNjdb3b3BndvqK2tBYIrK6bVVaipQkREJEEmJA4bgfFx8/Vh2UHuvsnd3+PuxwH/FZbt7KLuxvB5ym12Z9qoSlZoECgREZHDZELisBiYZmaTzKwEmA/cG7+CmY00s1is1wI/D58vBN5mZsPDTpFvAxa6+2vAbjM7Obya4lLgnp4ENa2ugu37Wtm2t6X3eyYiIpJjIk8c3L0duIogCXgJuNPdl5rZ9Wb27nC1M4HlZvYKUAd8Nay7HfgKQfKxGLg+LAP4GPBTYCWwCri/J3EdHHpa/RxEREQOKoo6AAB3vw+4L6HsS3HP7wLuSlH35xw6AxFf3gjM7G1MscRhxZY9nDKlprebERERySmRn3HIVHXDSqksK1IHSRERkThKHFIwM6bXVaqpQkREJI4Shy5Mr6tgxeY9BGNIiYiIiBKHLkwbVcmO/W1s3at7VoiIiIAShy5N09DTIiIih1Hi0IXputmViIjIYZQ4dGFUZSnDyoo0gqSIiEhIiUMXYldWrNCVFSIiIoASh25Nq6vklS26skJERASUOHRrel0FO/e30aR7VoiIiChx6M7BoafVXCEiIqLEoTuxSzJ1ZYWIiIgSh27VVpRSNaRYQ0+LiIigxKFbwZUVFRoESkREBCUOaZlWV8krumeFiIiIEod0TB9Vwe7mdpr26MoKERHJb0oc0nBo6Gn1cxARkfymxCEN03TPChEREUCJQ1pGVpQwfGgxK7YocRARkfymxCENZhZ2kFRThYiI5DclDmmaNqpCV1aIiEjeU+KQpul1lexpbmfzbl1ZISIi+UuJQ5o09LSIiIgSh7RN15UVIiIiShzSNbKilBHlJazcog6SIiKSv5Q49ECsg6SIiEi+UuLQA9PrKlmxea+urBARkbylxKEHptdVsKelndd3N0cdioiISCQyInEws3lmttzMVprZNUmWH2Fmi8zsWTN73szODcsvMrMlcVOnmc0Jlz0UbjO2bFRf45w6SvesEBGR/BZ54mBmhcBNwDnADOBCM5uRsNoXgDvd/ThgPvBDAHf/tbvPcfc5wCXAGndfElfvothyd9/S11inh5dkrlA/BxERyVORJw7AXGClu69291bgDuC8hHUcGBY+rwI2JdnOhWHdAVNTUUpNeYk6SIqISN7KhMRhHLA+bn5DWBbvOuBiM9sA3AdcnWQ77wduTyj7RdhM8UUzs2QvbmZXmlmjmTU2NTV1G+y0ugo1VYiISN7KhMQhHRcCC9y9HjgXuNXMDsZuZicB+939xbg6F7n7scCbwumSZBt295vdvcHdG2pra7sNZHpdJSu36MoKERHJT5mQOGwExsfN14dl8a4A7gRw98eBMmBk3PL5JJxtcPeN4eMe4DaCJpE+m1ZXyd6Wdl7bpSsrREQk/2RC4rAYmGZmk8yshCAJuDdhnXXA2QBmdjRB4tAUzhcA/0Jc/wYzKzKzkeHzYuCdwIv0g+mjdM8KERHJX5EnDu7eDlwFLAReIrh6YqmZXW9m7w5X+xTwYTN7juDMwuV+qK3gzcB6d18dt9lSYKGZPQ8sITiD8ZP+iDd2z4oV6ucgIiJ5qCjqAADc/T6CTo/xZV+Ke74MOC1F3YeAkxPK9gEn9HugwPDyEkZW6MoKERHJT5GfcchGR46u5KXXd0cdhoiIyKBT4tALs+qrefm1PTS3dUQdioiIyKBS4tALs+uraO90lr2msw4iIpJflDj0wuzx1QA8v35npHGIiIgMNiUOvTB6WBm1laU8v2FX1KGIiIgMKiUOvWBmzK6vYsmGnVGHIiIiMqiUOPTS7PpqVjftY3dzW9ShiIiIDBolDr00K+zn8IKaK0REJI8oceil2fVVADyn5goREckjShx6qXpoCRNqhvL8ep1xEBGR/KHEoQ9m11frjIOIiOQVJQ59MKu+itd2NbNlt26xLSIi+UGJQx/EBoJ6Th0kRUQkTyhx6INjxg6jsMB4Xs0VIiKSJ5Q49MHQkiKmjarQGQcREckbShz6aM74ap7fsBN3jzoUERGRAafEoY9m1Vezc38b67bvjzoUERGRAafEoY9mhQNBLdGdMkVEJA8oceijI0dXUlpUoDtliohIXlDi0EfFhQUcM3aYrqwQEZG8oMShH8weX80LG3fR3tEZdSgiIiIDSolDP5hdX01zWycrtuyNOhQREZEBpcShH8Q6SD6nDpIiIpLjlDj0g4k15QwrK9JAUCIikvOUOPSDggJjVn21zjiIiEjOU+LQT2aPr2L55j00t3VEHYqIiMiAUeLQT2bVV9PR6SzdtDvqUERERAZMRiQOZjbPzJab2UozuybJ8iPMbJGZPWtmz5vZuWH5RDM7YGZLwunHcXVOMLMXwm1+38xsIPdhTuwW22quEBGRHBZ54mBmhcBNwDnADOBCM5uRsNoXgDvd/ThgPvDDuGWr3H1OOH00rvxHwIeBaeE0b6D2AaBuWBl1w0o1EJSIiOS0yBMHYC6w0t1Xu3srcAdwXsI6DgwLn1cBm7raoJmNAYa5+xMe3LbyFuD8fo06iVn11bqyQkREclomJA7jgPVx8xvCsnjXAReb2QbgPuDquGWTwiaMh83sTXHb3NDNNvvdnPHVrNm6j10H2gb6pURERCKRCYlDOi4EFrh7PXAucKuZFQCvAUeETRj/CdxmZsO62M4bmNmVZtZoZo1NTU19CjI2ENQLOusgIiI5KhMSh43A+Lj5+rAs3hXAnQDu/jhQBox09xZ33xaWPw2sAqaH9eu72SZhvZvdvcHdG2pra/u0I7PGVQPwnPo5iIhIjsqExGExMM3MJplZCUHnx3sT1lkHnA1gZkcTJA5NZlYbdq7EzCYTdIJc7e6vAbvN7OTwaopLgXsGekeqhhYzaWS5rqwQEZGcVRR1AO7ebmZXAQuBQuDn7r7UzK4HGt39XuBTwE/M7D8IOkpe7u5uZm8GrjezNqAT+Ki7bw83/TFgATAEuD+cBtys+iqeWL1tMF5KRERk0EWeOAC4+30EnR7jy74U93wZcFqSer8Dfpdim43AzP6NtHuz66u5Z8kmNu9upm5Y2WC/vIiIyIDKhKaKnDJ7vO6UKSIiuUuJQz87ZmwVhQWmDpIiIpKTlDj0s7LiQo6sq+R5XZIpIiI5SInDAJg9vorn1u8kGLRSREQkdyhxGACz66vZ3dzO2m37ow5FRESkXylxGACz6qsBdMMrERHJOUocBsD0ugrKigtYoisrREQkxyhxGABFhQXMHFulDpIiIpJzlDgMkNnjq3lx4y7aOjqjDkVERKTfKHEYILPqq2hp7+SVzXuiDkVERKTfKHEYILMPdpBUc4WIiOQOJQ4DZELNUKqGFGvoaRERySlKHAaImTGrvorndMZBRERyiBKHATRnfDWvbN7DgdaOqEMRERHpF0ocBtCs+mo6Op2lm3TWQUREcoMShwE0uz68xbaaK0REJEcocRhAo4aVMaaqTB0kRUQkZyhxGGCz6qs09LSIiOQMJQ4D7MSJI1i3fT+bdh6IOhQREZE+U+IwwE6bOhKAR1dujTgSERGRvlPiMMCOrKukpryEx1ZtizoUERGRPlPiMMAKCoxTptTw6MqtuHvU4YiIiPSJEodBcNrUkWzZ08Kqpr1RhyIiItInShwGwWlTYv0c1FwhIiLZTYnDIDiiZij1w4eog6SIiGQ9JQ6D5LQpI3li9TY6OtXPQUREspcSh0Fy6tQadje38+JGDT8tIiLZS4nDIDk11s9hlZorREQke2VE4mBm88xsuZmtNLNrkiw/wswWmdmzZva8mZ0blr/VzJ42sxfCx7Pi6jwUbnNJOI0azH1KVFtZypF1lTymDpIiIpLFiqIOwMwKgZuAtwIbgMVmdq+7L4tb7QvAne7+IzObAdwHTAS2Au9y901mNhNYCIyLq3eRuzcOxn6k49SpNdz25Dpa2jsoLSqMOhwREZEey4QzDnOBle6+2t1bgTuA8xLWcWBY+LwK2ATg7s+6+6awfCkwxMxKByHmXjltykha2jt55tWdUYciIiLSK5mQOIwD1sfNb+DwswYA1wEXm9kGgrMNVyfZznuBZ9y9Ja7sF2EzxRfNzJK9uJldaWaNZtbY1NTU651Ix0mTR1BYYDymfg4iIpKlMiFxSMeFwAJ3rwfOBW41s4Oxm9kxwDeBj8TVucjdjwXeFE6XJNuwu9/s7g3u3lBbWztgOwBQWVbMrPoqjecgIiJZKxMSh43A+Lj5+rAs3hXAnQDu/jhQBowEMLN64G7gUndfFavg7hvDxz3AbQRNIpE7dUoNz23YxZ7mtqhDERER6bFMSBwWA9PMbJKZlQDzgXsT1lkHnA1gZkcTJA5NZlYN/Bm4xt0fja1sZkVmFkssioF3Ai8O9I6k47QpI+nodJ5asz3qUERERHos8sTB3duBqwiuiHiJ4OqJpWZ2vZm9O1ztU8CHzew54Hbgcg9uNXkVMBX4UsJll6XAQjN7HlhCcAbjJ4O6YykcP2E4pUUFum+FiIhkpcgvxwRw9/sIOj3Gl30p7vky4LQk9W4Abkix2RP6M8b+UlZcSMPE4eogKSIiWSnyMw756NQpI3n59T1s3dvS/coiIiIZRIlDBE6bGgw//dgqNVeIiEh2UeIQgWPHVVFZVsRjuixTRESyjBKHCBQWGCdPrtENr0REJOsocYjIaVNqWL/9AOu37486FBERkbQpcYhIrJ+DRpEUEZFsosQhIlNHVTCqspRH1UFSRESyiBKHiJgZp06p4fFVWwnGshIREcl8ShwidOrUkWzd28orm/dGHYqIiEhalDhESP0cREQk2yhxiNC46iFMrBmq4adFRCRrKHGI2KlTR/Lk6u20d3RGHYqIiEi3lDhE7LQpI9nT0s7zG3dFHYqIiEi3lDhE7JQpNQAaflpERLKCEoeIjSgvYcaYYTy6UuM5iIhI5lPikAFOnVLD0+t20NzWEXUoIiIiXVLikAFOmzqS1vZOGtfuiDoUERGRLnWbOJjZKDP7upl91czGDEZQ+WbupBEUFZjulikiIhmvqKuFZlYA/BWYBThwIvC2QYgrr5SXFjFnfLU6SIqISMbr7ozDGcAq4GrAgHUDHlGeOnXqSF7YuItdB9qiDkVERCSl7hKHk4CfuvtNwHB3/9AgxJSXTptSQ6fDE6t1dYWIiGSu7hKHo4DnANz9sBGKzOzRgQoqHx13xHCGFBequUJERDJad4nDFCDVN9kR/RxLXispKuDESSN4dJXOOIiISObqLnGoAspSLPN+jiXvnT61hpVb9rJhx/6oQxEREUmqu8ShDPiLmX3QzCYMRkD57G0zRgPwlxdfjzgSERGR5LpLHAoIOkj+BFhtZivN7Mdm9v6BDy3/TBxZzowxw7jvhdeiDkVERCSp7hKHXQSXYRI+TgY+DNwGjDOzJ83s82Z2zADGmFfeMWsMz6zbyWu7DkQdioiIyBt0lzhsAL4CDAXOBr4NvESQRBjBgFBfAZ43s5fM7NNmVt7TIMxsnpktD89oXJNk+RFmtsjMnjWz583s3Lhl14b1lpvZ29PdZqY6Z6aaK0REJHN1lzg8Cuxw9xZ3X+Tun3X3mcBE4N+APwL7CZKII4FvAi+Y2cR0AzCzQuAm4BxgBnChmc1IWO0LwJ3ufhwwH/hhWHdGOH8MMA/4oZkVprnNjDS5toKjRldy/wtKHEREJPN0lzj8FpibWOju69z9f939PKCGYBjq7wGrCZKK7/QghrnASndf7e6twB3AeYkvCQwLn1cBm8Ln5wF3hInNGmBluL10tpmxzpk5hsWvbmfL7uaoQxERETlMl4lD+GW8rqtf6+7e6u5/c/f/dPdpBF/Qp/QghnHA+rj5DWFZvOuAi81sA3AfwRDYXdVNZ5sZ6x2zRuMOf1mqsw4iIpJZ0rmt9heBj5uZdbsm4O5/BL7ap6je6EJggbvXA+cCt4Y34OozM7vSzBrNrLGpqak/NtlnU0dVMm1Uha6uEBGRjNPtl6+7t7n7x9097QGfwntbpGsjMD5uvj4si3cFcGe47ccJxpcY2UXddLYZi/Vmd29w94ba2toehD2wzjl2DE+t2U7TnpaoQxERETmoX36199FiYJqZTTKzEoLOjvcmrLOO4KoOzOxogsShKVxvvpmVmtkkYBrwVJrbzGjvOHYMnQ4L1VwhIiIZJPLEwd3bgauAhQSXet7p7kvN7Hoze3e42qeAD5vZc8DtwOUeWEpwJmIZ8Bfg4+7ekWqbg7tnfTO9roLJteXc/6KaK0REJHNYD1ogcl5DQ4M3NjZGHcZB3164nB89vIqnPn82NRWlUYcjIiI5xsyedveGntSJ/IyDpHbOsaPp6HT+umxz1KGIiIgAShwy2owxw5hYM1RXV4iISMZQ4pDBzIxzjh3DY6u2sWNfa9ThiIiIKHHIdOfOHENHp/PAS2quEBGR6ClxyHAzxw2jfvgQNVeIiEhGUOKQ4cyMdxw7hkdXbmXX/raowxERkTynxCELnHPsGNo6nL+puUJERCKmxCELzK6vYly1mitERCR6ShyygJlxzszRPLJiK7ub1VwhIiLRUeKQJc45dgytHZ08+NKWqEMREZE8psQhSxw3vprRw8rUXCEiIpFS4pAlCgqMeTNH89ArTextaY86HBERyVNKHLLIO2aNobW9kwdfVnOFiIhEQ4lDFjnhiOGMqizlfjVXiIhIRJQ4ZJFYc8Wi5VvY36rmChERGXxKHLLMOTPH0NzWyaKXm6IORURE8pAShywzd9IIRlaUcN+Laq4QEZHBp8QhyxQWGG8/ZjSLXt7CgdaOqMMREZE8o8QhC5177Bj2t3bw8Cu6ukJERAaXEocsdNKkEYwoL+G+F16POhQREckzShyyUFFhAW8/po6/v7SZ5jY1V4iIyOBR4pCl3nHsWPa1drBwqc46iIjI4FHikKVOnVLDhJqh/PqJdVGHIiIieUSJQ5YqKDAuPmkCT63dzsuv7446HBERyRNKHLLYBQ31lBYVcOvjr0YdioiI5AklDlmsemgJ7549lruf3cju5raowxERkTygxCHLXXLKBPa3dnD3MxujDkVERPKAEocsN6u+mtn1Vdz6xKu4e9ThiIhIjsuIxMHM5pnZcjNbaWbXJFn+XTNbEk6vmNnOsPwtceVLzKzZzM4Ply0wszVxy+YM6k4NoktOmcjKLXt5fPW2qEMREZEcF3niYGaFwE3AOcAM4EIzmxG/jrv/h7vPcfc5wA+A34fli+LKzwL2A3+Nq/qZ2HJ3XzLgOxORd84aQ/XQYn71hDpJiojIwIo8cQDmAivdfbW7twJ3AOd1sf6FwO1Jyt8H3O/u+wcgxoxWVlzI+xvGs3DpZl7f1Rx1OCIiksMyIXEYB6yPm98Qlr2BmU0AJgEPJlk8nzcmFF81s+fDpo7SFNu80swazayxqamp59FniA+cdASd7tz+lAaEEhGRgZMJiUNPzAfucvfDbtBgZmOAY4GFccXXAkcBJwIjgM8l26C73+zuDe7eUFtbOzBRD4IJNeWcMb2W259aR1tHZ9ThiIhIjsqExGEjMD5uvj4sSybZWQWAfwHudveDgxm4+2seaAF+QdAkktMuPWUCW/a08Nelm6MORUREclQmJA6LgWlmNsnMSgiSg3sTVzKzo4DhwONJtvGGfg/hWQjMzIDzgRf7N+zMc8b0UdQPH8KtT6yNOhQREclRkScO7t4OXEXQzPAScKe7LzWz683s3XGrzgfu8ITBCsxsIsEZi4cTNv1rM3sBeAEYCdwwQLuQMQoLjItPnsATq7fzyuY9UYcjIiI5yDRo0CENDQ3e2NgYdRh9sn1fKyd//e/MP3E81583M+pwREQkg5nZ0+7e0JM6kZ9xkP41oryEdx47ht8/s5G9Le1RhyMiIjlGiUMOuuSUCextaefuZ3X/ChER6V9KHHLQnPHVzBw3jF89rvtXiIhI/1LikIPMjEtPnsjyzXt4as32qMMREZEcosQhR71r9liGlRVxq+5fISIi/UiJQ44aUlLIBQ3j+cuLr7Nlt+5fISIi/UOJQw67+OQJtHc6dyxe3/3KIiIiaVDikMMmjSznTdNGctuT62jX/StERKQfKHHIcZeeMpHXdzfzt5d0/woREek7JQ457qyjRjGueog6SYqISL9Q4pDjCguMD5x0BI+u3MbKLXujDkdERLKcEoc88P4Tx1NWXMBNi1ZGHYqIiGQ5JQ55YGRFKZedOpE/LNnI8td110wREek9JQ554t/OmEJFSRHf/uvyqEMREZEspsQhT1QPLeHKN0/mgWWbeXbdjqjDERGRLKXEIY988PRJ1JSX8K2FOusgIiK9o8Qhj5SXFvHxt0zlsVXbeHTl1qjDERGRLKTEIc9cdPIRjK0q438WLtctt0VEpMeUOOSZ0qJCPvlP03lu/U7+ukyjSYqISM8occhD7zl+HJNry/n2wuV0dOqsg4iIpE+JQx4qKizgU289khVb9nLPko1RhyMiIllEiUOeOmfmaI4ZO4zv/u0VWtt150wREUmPEoc8VVBgfObtR7J++wF+s3hd1OGIiEiWUOKQx86YXsvciSP4/oMrOdDaEXU4IiKSBZQ45DEz4zPzjqRpTwsLHlsbdTgiIpIFlDjkuRMnjuAtR9by44dXsetAW9ThiIhIhlPiIHz67Uey60AbP/nH6qhDERGRDJcRiYOZzTOz5Wa20syuSbL8u2a2JJxeMbOdccs64pbdG1c+ycyeDLf5GzMrGaTdyTrHjK3inbPG8PNH19C0pyXqcEREJINFnjiYWSFwE3AOMAO40MxmxK/j7v/h7nPcfQ7wA+D3cYsPxJa5+7vjyr8JfNfdpwI7gCsGcj+y3X++dTot7Z3ctGhl1KGIiEgGizxxAOYCK919tbu3AncA53Wx/oXA7V1t0MwMOAu4Kyz6JXB+30PNXZNrK7jghHpue3IdG3bsjzocERHJUJmQOIwD1sfNbwjL3sDMJgCTgAfjisvMrNHMnjCz88OyGmCnu7d3t0055N/PngYGN/5tRdShiIhIhsqExKEn5gN3uXv8oAMT3L0B+ADwPTOb0pMNmtmVYeLR2NTU1J+xZp2x1UO45OQJ/O6ZDazcsjfqcEREJANlQuKwERgfN18fliUzn4RmCnffGD6uBh4CjgO2AdVmVtTdNt39ZndvcPeG2tra3u5DzvjYmVMYWlLEdfcu1W23RUTkDTIhcVgMTAuvgighSA7uTVzJzI4ChgOPx5UNN7PS8PlI4DRgmQffeIuA94WrXgbcM6B7kSNqKkq55pyj+L+VW7lj8fruK4iISF6JPHEI+yFcBSwEXgLudPelZna9mcVfJTEfuMMP/xl8NNBoZs8RJArfcPdl4bLPAf9pZisJ+jz8bKD3JVd8YO4RnDqlhq/++SU27jwQdTgiIpJBTKejD2loaPDGxsaow8gI67fv5+3f+wcnTBjOLR+cS3ChioiI5BIzezrsJ5i2yM84SGYaP2Io1557NI+s2MqdjWqyEBGRgBIHSemiuUdwyuQabvjTS2xSk4WIiKDEQbpQUGD8z/tm0eHONb9/QVdZiIiIEgfp2vgRQ7nmnKP4xytN/LZxQ9ThiIhIxJQ4SLcuPmkCJ00awVf+tIzXdqnJQkQknylxkG4VFBjfet9s2juda9VkISKS15Q4SFqOqAmaLB5a3sRvn1aThYhIvlLiIGm75OQJzFWThYhIXlPiIGkLmixm0dbRyefVZCEikpeUOEiPTKgp53PzjmLR8iZ+90yqe5GJiEiuUuIgPXbZKROZO3EE//3Hpby+qznqcEREZBApcZAeiw0M1dbRyefvVpOFiEg+UeIgvTJxZDmffftRPPjyFu7SVRYiInlDiYP02uWnTmTupBF88Z4XeX7DzqjDERGRQaDEQXqtoMC46QPHU1NeyodvaVR/BxGRPKDEQfqktrKUn13ewN7mdj50y2L2t7ZHHZKIiAwgJQ7SZ0eNHsYPPnAcyzbt5j9/8xydneosKSKSq5Q4SL8466g6Pn/u0fxl6et8+6/Low5HREQGSFHUAUjuuOL0Saxq2scPH1rFlNoK3ntCfdQhiYhIP9MZB+k3Zsb15x3DqVNquPb3L7B47faoQxIRkX6mxEH6VXFhAT+86HjGDR/CR259mnXb9kcdkoiI9CMlDtLvqoeW8LPLGujodK745WJ2N7dFHZKIiPQTJQ4yICbXVvCji45nzdZ9XH3bs7R3dEYdkoiI9AMlDjJgTp06kq+cP5OHX2nihj+/FHU4IiLSD3RVhQyoC+cewcote/nZ/61hyqgKLjl5QtQhiYhIHyhxkAH3+XOPZs3WfVx371Im1gzlTdNqow5JRER6SU0VMuAKC4zvX3gc00ZV8JFbn+axVVujDklERHpJiYMMiorSIm754Fzqhw/h8l8s5m/LNkcdkoiI9EJGJA5mNs/MlpvZSjO7Jsny75rZknB6xcx2huVzzOxxM1tqZs+b2fvj6iwwszVx9eYM3h5JMqOGlfGbK0/hqNGVfORXT3PPko1RhyQiIj0UeR8HMysEbgLeCmwAFpvZve6+LLaOu/9H3PpXA8eFs/uBS919hZmNBZ42s4XuvjNc/hl3v2sw9kPSM7y8hF9/6CQ+9MtGPvmbJextaeeik9RhUkQkW2TCGYe5wEp3X+3urcAdwHldrH8hcDuAu7/i7ivC55uALYB63mW4yrJifvnBubzlyFH8190v8uOHV0UdkoiIpCkTEodxwPq4+Q1h2RuY2QRgEvBgkmVzgRIg/lvoq2ETxnfNrDTFNq80s0Yza2xqaurtPkgPlRUX8uOLT+Cds8bwjftf5lsLX8Zdt+MWEcl0mZA49MR84C5374gvNLMxwK3Av7p7bIjCa4GjgBOBEcDnkm3Q3W929wZ3b6it1cmKwVRSVMCN849j/onjuWnRKq67dymdnUoeREQyWeR9HICNwPi4+fqwLJn5wMfjC8xsGPBn4L/c/YlYubu/Fj5tMbNfAJ/ut4il3xQWGF9/z7FUlhXxk0fWsKelnf957yyKCrMtpxURyQ+ZkDgsBqaZ2SSChGE+8IHElczsKGA48HhcWQlwN3BLYidIMxvj7q+ZmQHnAy8O2B5In5gZnz/3aIaVFfOdB15hX0s737/wOEqLCqMOTUREEkT+s87d24GrgIXAS8Cd7r7UzK43s3fHrTofuMMPbwj/F+DNwOVJLrv8tZm9ALwAjARuGOh9kd4zM64+expfftcMFi7dzId+2cj+1vaowxIRkQSmDmmHNDQ0eGNjY9Rh5L3fNq7nc797ntnjq/nxxSdQN6ws6pBERHKSmT3t7g09qRP5GQeRRBc0jOeHFx3Py6/t4ZwbH+HhV3S1i4hIplDiIBlp3swx/PHq06itKOWynz/FN//yMu0dnd1XFBGRAaXEQTLW1FGV3HPVaVw4dzw/emgV829+gk07D0QdlohIXlPiIBmtrLiQr79nFjfOn8NLr+3m3O8/woMv6wZZIiJRUeIgWeG8OeP449WnM7ZqCB9c0MhX/7yMNjVdiIgMOiUOkjUm11bw+4+dyiUnT+Anj6zhgh8/zvrt+6MOS0QkryhxkKxSVlzIV86fyU0fOJ5VW/byju8/wsKlr0cdlohI3lDiIFnpHbPG8Kd/P50JNeV85Nanue7epRxo7ei+ooiI9IkSB8laE2rKuevfTuHyUyey4LG1nP2dh/jz86/pLpsiIgNIiYNktdKiQq579zHc+ZFTqBpawsdve4aLfvokr2zeE3VoIiI5SYmD5IS5k0bwp6tP5yvnHcPSTbs558ZHuP6Py9jd3BZ1aCIiOUWJg+SMwgLjklMmsujTZ/L+E8fzi8fWcNa3H+LOxvV0dqr5QkSkPyhxkJwzoryEr/3zsdz78dM5YsRQPnvX87znR4/x3PqdUYcmIpL1lDhIzjq2voq7Pnoq37lgNht2HOD8Hz7K5+56nm17W6IOTUQkaxVFHYDIQCooMN57Qj1vO6aOG/+2ggWPreW+F1/jitMncdkpExleXhJ1iCIiWcV06dohDQ0N3tjYGHUYMoBWbtnDN+5/mb+9tIUhxYVcOPcIPvSmSYytHhJ1aCIig87Mnnb3hh7VUeJwiBKH/LH89T3878OruOe5TRQYnD9nHB85YwpTR1VEHZqIyKBR4tBHShzyz/rt+/nZ/63hjsXraGnv5G0z6vi3M6cyZ3x11KGJiAw4JQ59pMQhf23b28IvH1vLgsfWsru5nVMm1/BvZ07hTdNGYmZRhyciMiCUOPSREgfZ29LOHU+t4yePrGbz7haOGTuMy06dyLnHjqGiVH2JRSS3KHHoIyUOEtPS3sE9z27if/+xilVN+xhSXMi8maN53wn1nDK5hoICnYUQkeynxKGPlDhIInfnmXU7+d0zG/jjc5vY09zO2Koy/vn4cbz3+Hom16ozpYhkLyUOfaTEQbrS3NbBA8s287tnNvCPV5rodDj+iGree0I975w1lqohxVGHKCLSI0oc+kiJg6Rr8+5m/vDsRu56egMrtuylpKiAt82o412zx3L61JGUqz+EiGQBJQ59pMRBesrdeWHjLu56egP3PreJnfvbKCkq4OTJNZx91CjOOmoU40cMjTpMEZGklDj0kRIH6YvW9k4a127n7y9v4e8vbWbttv0ATK+r4Kyj6jj76FEcN76aokLdIkZEMoMShz5S4iD9aXXTXh58eQt/f2kLi9dup73TqR5azJnTaznr6DrePG0k1UN1rwwRiU7WJg5mNg+4ESgEfuru30hY/l3gLeHsUGCUu1eHyy4DvhAuu8HdfxmWnwAsAIYA9wGf8G52VomDDJRdB9p4ZEUTD768hYeWN7F9XysAR9ZV0jBxOHMnjaBh4gjG6Z4ZIjKIsjJxMLNC4BXgrcAGYDFwobsvS7H+1cBx7v5BMxsBNAINgANPAye4+w4zewr4d+BJgsTh++5+f1exKHGQwdDR6SxZv4PHVm5j8as7eObVHextaQdgXPUQGiYO58SJIzhx4gimjarQmBEiMmB6kzhkQtfvucBKd18NYGZ3AOcBSRMH4ELgy+HztwMPuPv2sO4DwDwzewgY5u5PhOW3AOcDXSYOIoOhsMA4YcIITpgwAoD2jk5efn0Pi9dup3HtDh5btY17lmwCoGpIMQ0ThnP8hOEcM3YYx4ytorayNMrwRSTPZULiMA5YHze/ATgp2YpmNgGYBDzYRd1x4bQhSblIxikqLGDmuCpmjqviX0+bhLuzbvt+Fq/dweI121n8atDhMqa2spQZY4YxY+wwjhk7jBljhjGxplxnJkRkUGRC4tAT84G73L2jvzZoZlcCVwIcccQR/bVZkV4zMybUlDOhppz3nVAPwK79bSx7bXcwbdrN0k27eHTlVto7g6bGoSWFHDW6kmPGVnHUmEqm1FYwubac2opS3aRLRPpVJiQOG4HxcfP1YVky84GPJ9Q9M6HuQ2F5fTrbdPebgZsh6OOQftgig6dqaDGnTKnhlCk1B8ta2jtYsXnvwWRi2abd3P3sRvY+0X5wncrSIibVljN5ZDmTayuYNLKcybXlTBpZztCSTPj3F5FskwmfHIuBaWY2ieDLfT7wgcSVzOwoYDjweFzxQuBrZjY8nH8bcK27bzez3WZ2MkHnyEuBHwzgPogMutKiwoNNHDGdnc7GnQdYvXUfa5r2Bo9b97F47Q7+EPabiBlTVcakkeXUDx/CuOqhjBs+hHHVQ6gfPoTRVWUUa7wJEUki8sTB3dvN7CqCJKAQ+Lm7LzWz64FGd783XHU+cEf8JZVhgvAVguQD4PpYR0ngYxy6HPN+1DFS8kBBgTF+xFDGjxjKGdNrD1t2oLWDtduCRGJ1XFLx0PImtuxpOWxdM6irLDuYTIwbPoSx1UMYPayM2spSRlWWMrKilJIiJRci+SbyyzEziS7HlHzV0t7Bazub2bjzABt3HGBD+Lhx53427WzmtV0HaOt442fFiPISaitKGTWslNrK0jCpKGNUZSk1FSWMKC9h+NASqocWU1pUGMGeiUhXsvVyTBGJWGlRIRNHljNxZHnS5R2dTtOeFrbsaWbL7ha2hM+DsmBa3bSPLXuakyYYABWlRQwvL2bE0BKqhx5KKkaUF1M1tIRhZUUMG1LMsLJiqoYUMaysmMqyYsqKC9TBUySDKHEQkW4VFhijq8oYXVXW5Xruzs79bWzZ08L2fa3s2N8aPO5rZfv+VnbubztYvqppLzv2tbKvteuLpIoLjWFlxWFSUURlWTFDSwqpKC2iPDaVFFJeWkRFaRFDS+OelxQytKSIIcWFwVRSSHGhKRER6QMlDiLSb8yM4eUlDC9P/x4cLe0d7DrQxu4D7exubmNPczu7D7Sxu/lQWTDfzp7w+da9LextaWdfSzv7Wjpo7ehM+/UKC4whxYWUFRcypKSAocVFlJUUMqS4gNKiQsrCx9KiAkqLCygrKqQ0rqysOHgsKSqguDB4LIk9xsoSyosLjaLC4LG4sICiAiUvkr2UOIhIpEqLChlVWcioyt5vo7W9k/2t7WEy0XEwqdjf2s6Btg4OtHZyoK2D5raOoCxu/kBrB/vbOmhu7WDn/lZa2jtpbuugpb0zmNo6aG7vpKOzf/uDFRcaRQUFFBUaJYXBY3FhkHgUFhhFBRY8holGYYFRXGgUFgTzsbLDJuu6rMCMgoNlQWfaAgvmg/K4sgKjwIJkMFhOUP/gdGjdAguWWbh+/HyBGUZsXYBD2y0wMGL1gucFBeFjWAaHb8cS6yQrD6odNh9L1OLX5eDrBhK3BbEYOPg8vjyxXvz6uZwYKnEQkawX/NovGdC7jbZ3dB5MJprbOmjr6KQ1nI89b+3oTCh3WsPlbR2dtHc6be2dtHU67R2xcg+WxR47nY7O4HlHpx8239LWSXtnB+2dwfodnU6Hh49xU6cfqpdY3s/5j6TpYELB4UlM4vKg/LCZtNeNlR85upK7P3Zan2NORVdVxDGzPcDyqOMYQCOBrVEHMUByed9A+5fttH/ZK5f3DeBId+/R+T6dcTjc8p5elpJNzKwxV/cvl/cNtH/ZTvuXvXJ53yDYv57W0egtIiIikjYlDiIiIpI2JQ6HuznqAAZYLu9fLu8baP+ynfYve+XyvkEv9k+dI0VERCRtOuMgIiIiaVPiAJjZPDNbbmYrzeyaqOPpb2a21sxeMLMlvelBm2nM7OdmtsXMXowrG2FmD5jZivBxeFfbyGQp9u86M9sYHsMlZnZulDH2lpmNN7NFZrbMzJaa2SfC8pw4fl3sX64cvzIze8rMngv377/D8klm9mT4GfobMxu4ATUGUBf7t8DM1sQdvzkRh9prZlZoZs+a2Z/C+R4fu7xPHMysELgJOAeYAVxoZjOijWpAvMXd5+TIZUULgHkJZdcAf3f3acDfw/lstYA37h/Ad8NjOMfd7xvkmPpLO/Apd58BnAx8PPx/y5Xjl2r/IDeOXwtwlrvPBuYA88zsZOCbBPs3FdgBXBFdiH2Sav8APhN3/JZEFWA/+ATwUtx8j49d3icOwFxgpbuvdvdW4A7gvIhjki64+z+A7QnF5wG/DJ//Ejh/MGPqTyn2Lye4+2vu/kz4fA/BB9g4cuT4dbF/OcEDe8PZ4nBy4CzgrrA8m49fqv3LCWZWD7wD+Gk4b/Ti2ClxCP6p18fNbyCH/tFDDvzVzJ42syujDmaA1Ln7a+Hz14G6KIMZIFeZ2fNhU0ZWnsqPZ2YTgeOAJ8nB45ewf5Ajxy881b0E2AI8AKwCdrp7e7hKVn+GJu6fu8eO31fD4/ddMyuNLsI++R7wWSB2V7gaenHslDjkh9Pd/XiC5piPm9mbow5oIHlwqVDO/EoI/QiYQnD69DXgO5FG00dmVgH8Dviku++OX5YLxy/J/uXM8XP3DnefA9QTnLE9KtqI+lfi/pnZTOBagv08ERgBfC66CHvHzN4JbHH3p/u6LSUOsBEYHzdfH5blDHffGD5uAe4m+GfPNZvNbAxA+Lgl4nj6lbtvDj/QOoGfkMXH0MyKCb5Uf+3uvw+Lc+b4Jdu/XDp+Me6+E1gEnAJUm1nsFgY58Rkat3/zwiYod/cW4Bdk5/E7DXi3ma0laJI/C7iRXhw7JQ6wGJgW9iwtAeYD90YcU78xs3Izq4w9B94GvNh1rax0L3BZ+Pwy4J4IY+l3sS/V0D+TpccwbFP9GfCSu/+/uEU5cfxS7V8OHb9aM6sOnw8B3krQj2MR8L5wtWw+fsn27+W4pNYI+gBk3fFz92vdvd7dJxJ8zz3o7hfRi2OnAaCA8NKo7wGFwM/d/avRRtR/zGwywVkGCG5qdlu275+Z3Q6cSXDXus3Al4E/AHcCRwCvAv/i7lnZwTDF/p1JcJrbgbXAR+L6BGQNMzsdeAR4gUPtrJ8n6AeQ9cevi/27kNw4frMIOtAVEvzwvNPdrw8/Z+4gOI3/LHBx+Os8q3Sxfw8CtQR3t14CfDSuE2XWMbMzgU+7+zt7c+yUOIiIiEja1FQhIiIiaVPiICIiImlT4iAiIiJpU+IgIiIiaVPiICIiImlT4iCSYyy4G6qHl1zlLDObGO7n2qhjEcknShxE8kB4W2c3s+uijiVdZvZQPiRAItmmqPtVREQy0kbgaKAt6kBE8okSBxHJSu7eBrwcdRwi+UZNFSI5zsycYNhqgC+Hp/89WdNFeG+Tz5rZYjPbbWYHzGxp2NRRkWTbB5tAzGyCmf3CzDaYWbuZfS9cp9jMLjGz281suZntMbP9ZrbMzL5pZiMStnlmGPMZYdGihJjPDNfrso9DGM8PzWy1mbWY2Q4zW2RmH0ixfvy+1JnZ/4b70mJma8zsG2ZWlubbLpKzdMZBJPf9kuA+CbOB5wjG2o85+NzM6oGFwAygCXgcaCa4lfCXgX82szPdfUeS15hGMM59M/AowWfLznBZHXALsIPgDMESYBjQAHwWeJ+ZneTuW8P1Xw9jnhfWXRiWEbe8S2Z2MnA/UA2sIbhfywiCe36caWbzgMs8+Zj744GnCe5L8FgY6+kEt1KeAby7u9cXyWnurkmTphyaCG6i5MCZcWXXhWXXpagT+5J04AfAkLhlQ4Bbw2ULEurFtusEtxsuSbLtSuBdQHFC+RDg52HdHyWp91DifiQsnxguX5tQXgasC5d9FyiMWzaT4MZhTnCjqVT78pP4fSHoS7EnXHZa1MdYk6YoJzVViAgEv+5PAZ4APuHuB2ILwucfBbYAF5nZ8CT1twH/7u6tiQvcfY+7/9GDPgnx5QeAq4B24L39tidwAcFZg7XAZ929I+41X+RQs82nU9RfT8K+uPtLBMkTwNn9GKtI1lFThYgAnBs+/s7dOxMXuvs+M2sM1zsR+GvCKn9z9z1dvYCZHUfwpTsRKCc4ywHQCtSa2XBP3gzSU7G+EbclJiuhBcAPgalmNs7dNyYsfzA+cYoT64g5th9iFMlaShxEBGBy+PgtM/tWN+vWJil7NdXKYafKX9N934BhBP0g+mpc+Lgm2UJ3bzazTeF64wgu64y3LsV2d4eP6iApeU2Jg4gAFIaPDxOc4u9KsiQh2S/0mK8TJA3LgGuARmBr7GxA+CU+hkNnIPpLso6P6XjDGRcROUSJg4hA0K4P8Ft3v6mft31B+Pj+sI/BQWZWDozu59eLnUGYnGxheEnl2IR1RSRN6hwpkh9iHf1S/Vi4P3y8IMXyvoiN07A+ybIPkPpMQ3cxp/Jw+HihmSWre1n4miuT9G8QkW4ocRDJD7EvyKNTLP8DwdgFZ5jZjxMHZQIws9Fm9uFevHasU+HHErbXQNCMkUp3MafyW4IkZRLwdTM7+DlnZjOA/w5nv93D7YoIaqoQyRcLgf3Ae8zsH8AqoAO4193vdfdOMzsfuA/4CPABM3uO4Au4DJhOMPjRFoIxDnrieoIv86+Z2fuBlwiaCk4H7gBOAyYkqXc3cDlBh823hq8N8C13X57qxcLOj/9CcBbl0wQDVy0mOPPxFqCY4NLKm3u4HyKCzjiI5AV3fx14J8GgSrMITtdfARwft84GYC7B2ArPAscA7yMY36EZ+A7wnl689l0EX9iLCMZXeBfBFRSfBC7pot69BGcpXgb+KYz3CoKOlN295hMEo2X+mKDj53uAkwhGw7yY1KNGikg3TP87IiIiki6dcRAREZG0KXEQERGRtClxEBERkbQpcRAREZG0KXEQERGRtClxEBERkbQpcRAREZG0KXEQERGRtClxEBERkbQpcRAREZG0/f9KgPUf+cLfAgAAAABJRU5ErkJggg==\",\n      \"text/plain\": [\n       \"<Figure size 576x432 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"fig = plt.figure(figsize=(8,6))\\n\",\n    \"plt.plot(vfe_hist)\\n\",\n    \"plt.ylabel('$\\\\\\\\mathcal{F}$', fontsize = 22)\\n\",\n    \"plt.xlabel(\\\"Iteration\\\", fontsize = 22)\\n\",\n    \"plt.xlim(0, n_iter)\\n\",\n    \"plt.ylim(vfe_hist[-1], vfe_hist[0])\\n\",\n    \"plt.title('Gradient descent on VFE', fontsize = 24)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$\\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln \\\\frac{Q(s)}{P(o, s)}] = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(o, s)]:$\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Initial F = 0.916\\n\",\n      \"==================\\n\",\n      \"Final posterior:\\n\",\n      \"[0.8 0.2]\\n\",\n      \"==================\\n\",\n      \"Final F = 0.693\\n\",\n      \"==================\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"final_qs, initial_F, final_F = qs_hist[-1,:], vfe_hist[0], vfe_hist[-1]\\n\",\n    \"\\n\",\n    \"display(Latex('$\\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln \\\\\\\\frac{Q(s)}{P(o, s)}] = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(o, s)]:$'))\\n\",\n    \"print(f'Initial F = {initial_F.round(3)}')\\n\",\n    \"print('==================')\\n\",\n    \"\\n\",\n    \"print('Final posterior:')\\n\",\n    \"print(f'{final_qs.round(1)}') # note that because of numerical imprecision in the gradient descent (constant learning rate, etc.), the approximate posterior will not exactly be the optimal posterior\\n\",\n    \"print('==================')\\n\",\n    \"print(f'Final F = {vfe_qs(final_qs).round(3)}')\\n\",\n    \"print('==================')\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3.7.10 ('pymdp_env')\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.8.8\"\n  },\n  \"vscode\": {\n   \"interpreter\": {\n    \"hash\": \"43ee964e2ad3601b7244370fb08e7f23a81bd2f0e3c87ee41227da88c57ff102\"\n   }\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "docs/notebooks/pymdp_fundamentals.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"6DSxgksDRLXj\"\n   },\n   \"source\": [\n    \"# ``pymdp`` Fundamentals\\n\",\n    \"\\n\",\n    \"[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/infer-actively/pymdp/blob/main/docs/notebooks/pymdp_fundamentals.ipynb)\\n\",\n    \"\\n\",\n    \"*Author: Conor Heins*\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"*Note*: When running this notebook in Google Colab, you may have to run `!pip install inferactively-pymdp` at the top of the notebook, before you can `import pymdp`. That cell is left commented out below, in case you are running this notebook from Google Colab.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# ! pip install inferactively-pymdp\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"rKfJtPWBR4tn\"\n   },\n   \"source\": [\n    \"## *Very brief* `pymdp` and active inference background\\n\",\n    \"\\n\",\n    \"`pymdp` is a Python library, written primarily in [NumPy](https://numpy.org/), for solving **P**artially-**O**bserved **M**arkov **D**ecision *P*rocesses (POMDPs) using active inference, a modelling framework for perception, learning and action, originally derived from the Free Energy Principle. POMDP models have traditionally been used in disciplines ranging from control theory and robotics, to biological fields concerned with empirically modelling human and animal behavior. \\n\",\n    \"\\n\",\n    \"For a theoretical overview of active inference and the motivations for developing this package, please see our companion paper: [\\\"pymdp: A Python library for active inference in discrete state spaces\\\"](https://arxiv.org/abs/2201.03904).\\n\",\n    \"\\n\",\n    \"More in-depth coverage of applying active inference to POMDPs can be found in the following two papers: [*Active Inference: A Process Theory*](https://direct.mit.edu/neco/article-abstract/29/1/1/8207/Active-Inference-A-Process-Theory) and [*Active Inference in Discrete State Spaces: A Synthesis*](https://www.sciencedirect.com/science/article/pii/S0022249620300857)\\n\",\n    \"\\n\",\n    \"Below are links to a few useful papers, talks, and blog posts that concern active inference and the free energy principle more broadly:\\n\",\n    \"\\n\",\n    \"*   Blog post: [Tutorial on Active Inference](https://medium.com/@solopchuk/tutorial-on-active-inference-30edcf50f5dc) by Oleg Solopchuk\\n\",\n    \"*   Talk: [The variational foundations of movement](https://www.youtube.com/watch?v=zWFfZHqOnvM) by Karl Friston\\n\",\n    \"*   Podcast: [Karl Friston: Neuroscience and the Free Energy Principle](https://www.youtube.com/watch?v=NwzuibY5kUs) hosted on Lex Fridman Podcast #99\\n\",\n    \"*   Paper: [*A tutorial on the free-energy framework for modelling perception and learning*](https://www.sciencedirect.com/science/article/pii/S0022249615000759) by Rafal Bogacz\\n\",\n    \"*   Paper: [*The free energy principle for action and perception: A mathematical review*](https://www.sciencedirect.com/science/article/pii/S0022249617300962) by Christopher Buckley, Chang Sub Kim, Simon McGregor, and Anil Seth\\n\",\n    \"*   Paper: [*A free energy principle for the brain*](https://www.fil.ion.ucl.ac.uk/~karl/A%20free%20energy%20principle%20for%20the%20brain.pdf) by Karl Friston\\n\",\n    \"* Paper: [*A Step-by-Step Tutorial on Active Inference and its Application to Empirical Data*](https://psyarxiv.com/b4jm6/) by Ryan Smith and Christopher Whyte\\n\",\n    \"\\n\",\n    \"Also see [Jared Tumiel's blog post](https://jaredtumiel.github.io/blog/2020/10/14/spinning-up-in-ai.html) and [Beren Millidge's github repository](https://github.com/BerenMillidge/FEP_Active_Inference_Papers) for more literature and pedagogical materials related to active inference and the free energy principle.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"nty3Vm6YZR-X\"\n   },\n   \"source\": [\n    \"## Data structures in `pymdp`\\n\",\n    \"\\n\",\n    \"In this tutorial notebook we'll be walking through the core functionalities and data structures used by `pymdp`, most of which will be easy to grasp for anyone who's familiar with array programming in `numpy` or even MATLAB, where much of the existing code related to active inference currently exists.\\n\",\n    \"\\n\",\n    \"We'll start by running through a full usage example of quickly building and running a random active inference agent in `pymdp`.\\n\",\n    \"\\n\",\n    \"In the interest of focusing on data structures and syntax, we'll just initialize the agent to have a random POMDP generative model -- we don't need to analogize this generative model to any hypothetical task environment that our agent will be behaving within. The agent will just have random beliefs about how the world evolves and how it gives rise to observations. The focus here is on how we store these objects (e.g. components of the generative model) in `pymdp`.\\n\",\n    \"\\n\",\n    \"For more in-depth tutorials that actually work through full, tutorial-style examples of building active inference agents and running them, please see the [Active inference from scratch](https://pymdp-rtd.readthedocs.io/en/latest/notebooks/active_inference_from_scratch.html) tutorial and [Using the agent class](https://pymdp-rtd.readthedocs.io/en/latest/notebooks/using_the_agent_class.html) tutorial. \\n\",\n    \"\\n\",\n    \"Other examples in the Examples section (e.g. the [T-Maze demo](https://pymdp-rtd.readthedocs.io/en/latest/notebooks/tmaze_demo.html) or the [Epistemic chaining demo](https://pymdp-rtd.readthedocs.io/en/latest/notebooks/cue_chaining_demo.html) provide walk-throughs of building active inference agents in particular task environments.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"id\": \"oDMlGXnQRuQv\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"\\\"\\\"\\\" Quickly build a random active inference agent, give it an observation and have it do hidden state and policy inference \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"from pymdp import utils\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"\\n\",\n    \"num_obs = [3, 5] # observation modality dimensions\\n\",\n    \"num_states = [4, 2, 3] # hidden state factor dimensions\\n\",\n    \"num_controls = [4, 1, 1] # control state factor dimensions\\n\",\n    \"A_array = utils.random_A_matrix(num_obs, num_states) # create sensory likelihood (A matrix)\\n\",\n    \"B_array = utils.random_B_matrix(num_states, num_controls) # create transition likelihood (B matrix)\\n\",\n    \"\\n\",\n    \"C_vector = utils.obj_array_uniform(num_obs) # uniform preferences\\n\",\n    \"\\n\",\n    \"# instantiate a quick agent using your A, B and C arrays\\n\",\n    \"my_agent = Agent( A = A_array, B = B_array, C = C_vector)\\n\",\n    \"\\n\",\n    \"# give the agent a random observation and get the optimized posterior beliefs\\n\",\n    \"\\n\",\n    \"observation = [1, 4] # a list specifying the indices of the observation, for each observation modality\\n\",\n    \"\\n\",\n    \"qs = my_agent.infer_states(observation) # get posterior over hidden states (a multi-factor belief)\\n\",\n    \"\\n\",\n    \"# Do active inference\\n\",\n    \"\\n\",\n    \"q_pi, neg_efe = my_agent.infer_policies() # return the policy posterior and return (negative) expected free energies of each policy as well\\n\",\n    \"\\n\",\n    \"action = my_agent.sample_action() # sample an action from the posterior over policies\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"MHIrFUuuarIA\"\n   },\n   \"source\": [\n    \"## `numpy` object arrays \\n\",\n    \"\\n\",\n    \"In `pymdp`, both generative model distributions (e.g. `A` or `B`) as well as posterior distributions over hidden states (e.g. `qs`) and observations are represented as what we call \\\"object arrays\\\". Note that other conventions may refer to these arrays as \\\"arrays-of-arrays\\\", \\\"nested arrays\\\", or \\\"ragged/jagged arrays.\\\"\\n\",\n    \"\\n\",\n    \"Object arrays differ from more \\\"classical\\\" `numpy.ndarrays` that have numerical (e.g. `np.float64`) data types. The typical `numpy.ndarray` of float or integer data type, can only have scalar values as its entries. Object arrays (`numpy.ndarray` with `dtype = object`) however, do not have this restriction. Their array elements can be arbitrary Python data structures or objects. The entries of an object array can thus have arbitrary type and dimensionality.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"\\n\",\n    \"### Deeper dive on object arrays\\n\",\n    \"\\n\",\n    \"Object arrays can be initialized standard `numpy` constructors, but by also explicitly declaring `dtype = object`. \\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"my_empty_array = np.empty(5, dtype = object)\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"The `pymdp.utils` module provides a set of functions in that allow you to quickly construct, convert between, and perform mathematical operations on these object arrays. Fundamentally underpinning these `utils` operations is the assumption that the elements of the input object array are `numpy.ndarrays` with numerical data type. In other words, we simply use object arrays to store collections of multi-dimensional arrays or standard `numpy.ndarrays`.  This construction is chosen to allow `pymdp` to easily perform probabilistic computations on collections of multi-dimensional arrays, where each constituent array within the collection represents a particular factor or marginal distribution within a factorized representation. In the next section we'll get into why this constructino is useful and how it's mathematically motivated.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Constructing factorized distributions with object arrays\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"For example, let's imagine a joint categorical probability distribution over some variable $\\\\mathbf{s}$ that factorizes into the product of a set of 3 marginal (i.e. univariate) distributions. Mathematically, we can express that factorization as:\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \" P(\\\\mathbf{s}) = \\\\prod_i^3 P(s_i)\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"In `pymdp`, instead of encoding this distribution as the fully-enumerated product of marginals $P(\\\\mathbf{s}) = P(s_1) \\\\times P(s_2) \\\\times P(s_3)$, we instead exploit the factorization and *only store* the separate marginals $P(s_i)$ of the full distribution. Specifically, we store each marginal as a single `numpy.ndarray` of `ndim == 1` (i.e. a row vector) in a different entry of a `numpy.ndarray` of `dtype` object. The object array representation be easily constructed and manipulated using `utils` functions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"id\": \"naD3NKPjbeMg\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[0.13370366 0.86629634]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"num_factors = 3 # we have 3 factors total\\n\",\n    \"\\n\",\n    \"dim_of_each_factor = [2, 2, 4] # factor 1 has 2 levels, factor 2 has 2 levels, factor 4 has 4 levels\\n\",\n    \"\\n\",\n    \"P_s = utils.random_single_categorical(dim_of_each_factor)\\n\",\n    \"\\n\",\n    \"print(P_s[0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"IPTjskqrfi0j\"\n   },\n   \"source\": [\n    \"Here we used the utility function `random_single_categorical(shape_list)` to create a random collection of marginal categorical distributions, representing the different factorized components of the full distribution $P(\\\\mathbf{s})$. \\n\",\n    \"\\n\",\n    \"Each of these marginal categorical distributions is stored in an according entry of the object array `P_s`.\\n\",\n    \"\\n\",\n    \"This representation is advantageous for several reasons, but one of the main advantages is sparsity / memory overhead. If we had to store the entire joint distribution $P(\\\\mathbf{s})$ as a product of all the marginals, we could either store that as a single 1D categorical distribution with `2 * 2 * 4` different levels (the combinatorics of all the hidden state dimensionalities), or as a multi-dimensional array with size `(2, 2, 4)`, where each entry of the joint `Ps[i,j,k]` stores the joint probability of $P(s^1 = i, s^2 = j, s^3 = k)$. Either way, we'd have to store polynomially more values $2 \\\\times 2 \\\\times 4$ is twice the size of $2 + 2 + 4$. But since we know that the marginals are by construction independent, we can just store them separately without losing any information.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"HRxPg3VVj4-g\"\n   },\n   \"source\": [\n    \"*Side note*: Here's an alternative way to generate multi-factor categorical distributions. \\n\",\n    \"\\n\",\n    \"if you knew what your factors were to begin with, and you wanted to construct the full distribution from the factors, you could use another utility function to build the object array from a `list` of the factorized distributions.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"id\": \"Gtr7VPjlhxIl\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[0.5        0.16666667 0.16666667 0.16666667]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"\\n\",\n    \"ps1 = np.array([0.5, 0.5])\\n\",\n    \"ps2 = np.array([0.75, 0.25])\\n\",\n    \"ps3 = np.array([0.5, 1./6., 1./6., 1./6.])\\n\",\n    \"\\n\",\n    \"P_s = utils.obj_array_from_list([ps1, ps2, ps3])\\n\",\n    \"\\n\",\n    \"print(P_s[2])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Object arrays and conditional distributions\\n\",\n    \"\\n\",\n    \"Understanding the representation of factorized probability distributions as object arrays is critical for understanding and constructing generative models in `pymdp`. This object array representation applies not only to multi-factor, unconditional categorical distributions (like the example above: a joint categorical distribution being factorized into a product of univariate marginals), but also is used to represent collections of *conditional* categorical distributions.\\n\",\n    \"\\n\",\n    \"In particular, we use object arrays to encode the observation and transition models (also known as the observation likelihood and transition likelihood) of the agent's generative model. Object arrays are necessary in this case, due to the convention of factorizing the observation space into multiple **observation modalities** and the hidden states into multiple **hidden state factors**. Mathematically, this can be expressed as follows:\\n\",\n    \"\\n\",\n    \"$$ \\n\",\n    \"\\\\mathbf{o}_t = \\\\prod_{i = 1}^{M} \\\\delta_{O_i}(o^{i}_t) \\\\hspace{15 mm} \\\\mathbf{s}_t = \\\\prod_{i = 1}^{F} \\\\delta_{S_i}(s^{i}_t) \\\\\\\\\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"where any particular observation $\\\\mathbf{o}_t$ is actually factorized into a product of Dirac delta functions over different modality-specific observations $o^m_t$, i.e. \\\"one-hot\\\" vectors or unit vectors in $\\\\mathbb{R}^{O_m}$. The same factorization applies to multi-factorial hidden states $\\\\mathbf{s}_t$. The notation $\\\\delta_{X_i}(x^{i})$ denotes a Dirac delta function with discrete support $X_i$ evaluated at point $x^i$. \\n\",\n    \"\\n\",\n    \"This factorization of observations across modalities and hidden states across hidden state factors, carries forward into the specification of the `A` and `B` arrays, the representation of the conditional distributions $P(\\\\mathbf{o}_t|\\\\mathbf{s}_t)$ and $P(\\\\mathbf{s}_t|\\\\mathbf{s}_{t-1}, \\\\mathbf{u}_{t-1})$ in `pymdp`. These two arrays of conditional distributions can also be factorized by modality and factor, respectively.\\n\",\n    \"\\n\",\n    \"The `A` array, for instance, contains the agent's observation model, that relates hidden states $\\\\mathbf{s}_t$ to observations $\\\\mathbf{o}_t$:\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \"\\\\mathbf{A} = \\\\{A^1, A^2, ..., A^M \\\\}, \\\\hspace{5mm} A^m = P(o^m_t | s^1_t, s^2_t, ..., s^F_t)\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"Therefore, we represent the `A` array as an object array whose constituent arrays are multidimensional `numpy.ndarrays` that encode conjunctive relationships between combinations of hidden states and observations.\\n\",\n    \"\\n\",\n    \"This is best explained using the example in the original example code at the top of this tutorial. It is custom to build lists of the dimensionalities of the modalities (resp. hidden state factors) of your model, typically using lists named `num_obs` (for the dimensionalities of the observation modalities) and `num_states` (dimensionalities of the hidden state factors). These lists can then be used to automatically construct the `A` array with the correct shape.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Dimensionality of A array for modality 1: (3, 4, 2, 3)\\n\",\n      \"Dimensionality of A array for modality 2: (5, 4, 2, 3)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"num_obs = [3, 5] # observation modality dimensions\\n\",\n    \"num_states = [4, 2, 3] # hidden state factor dimensions\\n\",\n    \"\\n\",\n    \"A_array = utils.random_A_matrix(num_obs, num_states) # create sensory likelihood (A array)\\n\",\n    \"\\n\",\n    \"for m, _ in enumerate(num_obs):\\n\",\n    \"    print(f'Dimensionality of A array for modality {m + 1}: {A_array[m].shape}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For example, `A_array[0]` stores the conditional relationships between the hidden states $\\\\mathbf{s}$ and observations within the first modality $o^1_t$, which has dimensionality `3`. This explains why the `shape` of `A_array[0]` is `(3, 4, 2, 3)` -- it stores the conditional relationships between each setting of the hidden state factors (which have dimensionalities `[4, 2, 3]`) and the observations within the first modality, which has dimensionality `3`. Crucially, each sub-array `A[m]` stores the conditional dependencies between *all* the hidden state factor combinations (configurations of $s^1, s^2, ..., s^F$) and the observations along modality `m`.\\n\",\n    \"\\n\",\n    \"In this case, we used the `pymdp.utils` function `random_A_matrix()` to generate a random `A` array, but in most cases users will want to design their own bespoke observation models (or at least initialize them to some reasonable starting values). In such a scenario, the usual route is to initialize the `A` array to a series of identically-valued multidimensional arrays (e.g. arrays filled with 0's or uniform values), and then fill out the conditional probability entries \\\"by hand\\\", according to the task the user is interested in modelling.\\n\",\n    \"\\n\",\n    \"For this purpose, utility functions like `obj_array_zeros` and `obj_array_uniform` come in handy. These functions takes as inputs list of shapes, where each shape contains the dimensionality (e.g. `[2, 3, 4]`) of one of the multi-dimensional arrays that will populate the final object array. For example, creating this shape list for the `A` array, given `num_obs` and `num_states` is quite straightforward:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"A_shapes = [[o_dim] + num_states for o_dim in num_obs]\\n\",\n    \"\\n\",\n    \"# initialize the A array to all 0's\\n\",\n    \"empty_A = utils.obj_array_zeros(A_shapes)\\n\",\n    \"\\n\",\n    \"# initialize the A array to uniform distributions as columns\\n\",\n    \"# uniform_A = utils.obj_array_uniform(A_shapes)\\n\",\n    \"\\n\",\n    \"# then fill out your A matrix elements as appropriate, depending on the task\\n\",\n    \"# empty_A[0][:,0,1,2] = np.array([0.7, 0.15, 0.15])\\n\",\n    \"# empty_A[0][:,...] = ....\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Similarly, we can create `B` arrays that encode the temporal dependencies between the hidden state factors over time, further conditioned on control factors (or state factors that correspond to action-states). Mathematically, the `B` arrays are expressed as follows:\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \"\\\\mathbf{B} = \\\\{B^1, B^2, ..., B^F \\\\}, \\\\hspace{5mm} B^f = P(s^f_t | s^f_{t-1}, u^f_{t-1})\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"where $u^f_{t-1}$ denotes the control state for control factor $f$, taken at time $t-1$.\\n\",\n    \"\\n\",\n    \"We can construct these matrices this by introducing an additional list `num_controls` that stores the dimensionalities of each control factor, which in combination with `num_states` can be used to specify the `B` array.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Dimensionality of B array for hidden state factor 1: (4, 4, 4)\\n\",\n      \"Dimensionality of B array for hidden state factor 2: (2, 2, 1)\\n\",\n      \"Dimensionality of B array for hidden state factor 3: (3, 3, 1)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"num_states = [4, 2, 3] # hidden state factor dimensions\\n\",\n    \"num_controls = [4, 1, 1] # control state factor dimensions\\n\",\n    \"\\n\",\n    \"B_array = utils.random_B_matrix(num_states, num_controls) # create transition likelihood (B matrix)\\n\",\n    \"\\n\",\n    \"for f, _ in enumerate(num_states):\\n\",\n    \"    print(f'Dimensionality of B array for hidden state factor {f + 1}: {B_array[f].shape}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"As we can see here, each factor-specific `B` array (e.g. `B[2]`) has shape `(num_states[f], num_states[f], num_controls[f])`, encoding the conditional dependencies between states for a given factor `f` at subsequent timepoints, further conditioned on actions or control states along that factor. This construction means that hidden state factors are statistically independent of one another -- i.e. hidden state factor `f` is only affected by its own state at the previous timestep, as well as the state of the `f`-th control factor.\\n\",\n    \"\\n\",\n    \"And of course, as with the `A` array, we can also pre-allocate our `B` arrays to have the correct shape and then fill them out by hand, using the following template:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"B_shapes = [[s_dim, s_dim, num_controls[f]] for f, s_dim in enumerate(num_states)]\\n\",\n    \"\\n\",\n    \"# initialize the B array to all 0's\\n\",\n    \"empty_B = utils.obj_array_zeros(B_shapes)\\n\",\n    \"\\n\",\n    \"# initialize the B array to uniform distributions as columns\\n\",\n    \"# uniform_B = utils.obj_array_uniform(B_shapes)\\n\",\n    \"\\n\",\n    \"# then assign your B matrix elements as appropriate, depending on the task\\n\",\n    \"# empty_B[0][0,:,0] = 1.\\n\",\n    \"# empty_B[0][1,:,1] = 1.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Handy functions for dealing with object arrays.\\n\",\n    \"\\n\",\n    \"The `utils` library is also equipped with a set of handy functions for dealing with object arrays -- this includes operations like normalization and sampling. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Normalization\\n\",\n    \"\\n\",\n    \"For instance, let's imagine you generated an `A` array by hand with the following structure:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"num_obs = [3]\\n\",\n    \"\\n\",\n    \"num_states = [3, 2]\\n\",\n    \"\\n\",\n    \"A_array = utils.obj_array(len(num_obs)) # create an empty object array with as many elements as there are observation modalities (here, only 1 modality)\\n\",\n    \"\\n\",\n    \"A_array[0] = np.zeros(num_obs + num_states) # initialize the likelihood mapping for the single modality\\n\",\n    \"\\n\",\n    \"A_array[0][:,:,0] = np.eye(3) # assign the mapping between hidden states of factor 0 and observations, given factor 1 == 0\\n\",\n    \"A_array[0][0,:,1] = 0.5       # assign the mapping between hidden states of factor 0 and observation of level 0, given factor 1 == 1\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This `A` array corresponds to an observation model with a single modality and two hidden state factors.\\n\",\n    \"\\n\",\n    \"We can check if this `A` array is a proper conditional distribution by using the `utils` function `is_normalized`, which checks to make sure each column of each sub-array within `A` sums to `1`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"False\"\n      ]\n     },\n     \"execution_count\": 10,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"utils.is_normalized(A_array)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This `A` is not properly normalized because of this line:\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"A_array[0][0,:,1] = 0.5   \\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"This is problematic, because we've only assigned a single outcome to have 50% probability under all the hidden state configurations of factor 0, given factor 1 == level 1. That means each column of `A_array[0][:,:,1]` is not a proper conditional distribution, since there's still 50% of 'unaccounted' probability. In particular, the distributions encoded in the columns of this array do not each sum to 1.\\n\",\n    \"\\n\",\n    \"We can fix this by hand (by changing our code to allocate the remaining 50% of probability for each of those columns) or, depending on the intended final distributions, by using the `norm_dist_obj_arr` function, which column-normalizes every `numpy.ndarray` contained within an object array.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"P(o0 | s0, s1 == 1) after normalization: \\n\",\n      \" [[1. 1. 1.]\\n\",\n      \" [0. 0. 0.]\\n\",\n      \" [0. 0. 0.]]\\n\",\n      \"\\n\",\n      \"Is the full distribution is now normalized? Yes!\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"A_array = utils.norm_dist_obj_arr(A_array)\\n\",\n    \"\\n\",\n    \"print(f'P(o0 | s0, s1 == 1) after normalization: \\\\n {A_array[0][:,:,1]}\\\\n')\\n\",\n    \"\\n\",\n    \"print(f'Is the full distribution is now normalized? {\\\"Yes!\\\" if utils.is_normalized(A_array) else \\\"No!\\\"}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Sampling\\n\",\n    \"\\n\",\n    \"Sometimes we will also want to sample from categorical probability distributions, for instance when sampling observations from the generative process or sampling actions from the agent's posterior over policies. We have two functions in `utils`, `sample` and `sample_obj_arr` that can deal with sampling from either single probability distributions (`numpy.ndarray` of `ndim == 1`) as well as collections of factorized distributions, stored in object arrays.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# sample from a single random categorical distribution\\n\",\n    \"\\n\",\n    \"my_categorical = np.random.rand(3)\\n\",\n    \"my_categorical = utils.norm_dist(my_categorical) # the `utils.norm_dist` function works on single vectors or matrices that represent non-factorized probability distributions\\n\",\n    \"sampled_outcome = utils.sample(my_categorical)\\n\",\n    \"print(sampled_outcome)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[2, 2, 0]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# sample from a multi-factor categorical distribution\\n\",\n    \"\\n\",\n    \"my_multifactor_categorical = utils.random_single_categorical([3, 4, 10]) # creates a collection of 3 marginal categorical distributions, each of different dimension\\n\",\n    \"\\n\",\n    \"sampled_outcome_list = utils.sample_obj_array(my_multifactor_categorical)\\n\",\n    \"\\n\",\n    \"print(sampled_outcome_list)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Note that when sampling from categorical distributions, the returned values are integers that represent the index of the support (i.e. which \\\"outcome\\\" or \\\"level\\\") that is sampled. In the case of multi-factor distributions, the returned value is a list of integers, one sampled outcome per marginal categorical distribution\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Conditional expectation\\n\",\n    \"\\n\",\n    \"We can also compute conditional expectations of single random variables that depend on a multi-factor random variables using a function from the `pymdp.maths` utility package called `spm_dot`, that is based on the original function of the same name from `SPM`, where active inference was first implemented.\\n\",\n    \"\\n\",\n    \"Let's imagine we have an observation model as above, with one observation modality with dimensionality `3` and two hidden state factors, with dimensionalities `3` and `2`. Given a factorized distribution over the two hidden state factors (i.e. an object array of marginal categorical distributions, one with `3` levels and the other with `2` levels), we want to generate a conditional expectation over the values of the observation distribution with dimension `3`. In other words, we want to evaluate:\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \"\\\\mathbb{E}_{P(\\\\mathbf{s})}[P(o | \\\\mathbf{s})] = \\\\mathbb{E}_{P(s^1)P(s^2)}[P(o^1 | s^1, s^2)]\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"given a conditional distribution $P(o^1 | s^1, s^2)$ and some \\\"priors\\\" $P(s^1), P(s^2)$ over hidden states.\\n\",\n    \"\\n\",\n    \"Implementing this conditional expectation in practice can be written as a multi-dimensional dot product of the modality-specific `A` array (`A[0]`) with each of the hidden state factor distributions, $P(s^1)$ and $P(s^2)$. Under the hood, the `spm_dot` function of `pymdp.maths` achieves this using an optimized `numpy` function called [`einsum`](https://numpy.org/doc/stable/reference/generated/numpy.einsum.html), or einstein summation. Let's see what computing this conditional expectation with `spm_dot` looks like in practice:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Expected distribution over observations, given the value of Ps:\\n\",\n      \" [[0.375]\\n\",\n      \" [0.25 ]\\n\",\n      \" [0.375]]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"from pymdp import maths\\n\",\n    \"\\n\",\n    \"num_obs = [3] # dimensionalities of observation modalities (just one here, for simplicity)\\n\",\n    \"num_states = [3, 2] # dimensionalities of hidden state factors \\n\",\n    \"\\n\",\n    \"A_shapes = [num_obs + num_states] # shape of the A arrays (only one shape needed, (3, 3, 2))\\n\",\n    \"A_array = utils.obj_array_zeros(A_shapes) # create our conditional distribution using the provided shape list\\n\",\n    \"\\n\",\n    \"A_array[0][:,:,0] = np.eye(3) # when s2 == 0, s1 fully determines the value of o1\\n\",\n    \"A_array[0][1,:,1] = 1.        # when s2 == 1, the value of o1 is always 2, regardless of the setting of s1\\n\",\n    \"\\n\",\n    \"Ps = utils.obj_array_from_list([np.array([0.5, 0.0, 0.5]), np.array([0.75, 0.25])]) # create our \\\"prior\\\" or beliefs about hidden states, that will be used in the expectation\\n\",\n    \"\\n\",\n    \"E_o_ps = maths.spm_dot(A_array[0], Ps)\\n\",\n    \"\\n\",\n    \"print(f\\\"Expected distribution over observations, given the value of Ps:\\\\n {E_o_ps.reshape(-1,1)}\\\")\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"colab\": {\n   \"collapsed_sections\": [],\n   \"name\": \"Pymdp Fundamentals.ipynb\",\n   \"provenance\": []\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3.7.10 ('pymdp_env')\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.8.8\"\n  },\n  \"vscode\": {\n   \"interpreter\": {\n    \"hash\": \"43ee964e2ad3601b7244370fb08e7f23a81bd2f0e3c87ee41227da88c57ff102\"\n   }\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "docs/notebooks/tmaze_demo.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Active Inference Demo: T-Maze Environment\\n\",\n    \"\\n\",\n    \"[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/infer-actively/pymdp/blob/main/docs/notebooks/tmaze_demo.ipynb)\\n\",\n    \"\\n\",\n    \"*Author: Conor Heins*\\n\",\n    \"\\n\",\n    \"This demo notebook provides a full walk-through of active inference using the `Agent()` class of `pymdp`. The canonical example used here is the 'T-maze' task, often used in the active inference literature in discussions of epistemic behavior (see, for example, [\\\"Active Inference and Epistemic Value\\\"](https://pubmed.ncbi.nlm.nih.gov/25689102/))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"*Note*: When running this notebook in Google Colab, you may have to run `!pip install inferactively-pymdp` at the top of the notebook, before you can `import pymdp`. That cell is left commented out below, in case you are running this notebook from Google Colab.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# ! pip install inferactively-pymdp\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Imports\\n\",\n    \"\\n\",\n    \"First, import `pymdp` and the modules we'll need.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import copy\\n\",\n    \"\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp.utils import plot_beliefs, plot_likelihood\\n\",\n    \"from pymdp import utils\\n\",\n    \"from pymdp.envs import TMazeEnv\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Auxiliary Functions\\n\",\n    \"\\n\",\n    \"Define some utility functions that will be helpful for plotting.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Environment\\n\",\n    \"\\n\",\n    \"Here we consider an agent navigating a three-armed 'T-maze,' with the agent starting in a central location of the maze. The bottom arm of the maze contains an informative cue, which signals in which of the two top arms ('Left' or 'Right', the ends of the 'T') a reward is likely to be found. \\n\",\n    \"\\n\",\n    \"At each timestep, the environment is described by the joint occurrence of two qualitatively-different 'kinds' of states (hereafter referred to as _hidden state factors_). These hidden state factors are independent of one another.\\n\",\n    \"\\n\",\n    \"The first hidden state factor (`Location`) is a discrete random variable with 4 levels, that encodes the current position of the agent. Each of its four levels can be mapped to the following values: {`CENTER`, `RIGHT ARM`, `LEFT ARM`, or `CUE LOCATION`}. The random variable `Location` taking a particular value can be represented as a one-hot vector with a `1` at the appropriate level, and `0`'s everywhere else. For example, if the agent is in the `CUE LOCATION`, the current state of this factor would be $s_1 = \\\\begin{bmatrix} 0 & 0 & 0 & 1 \\\\end{bmatrix}$.\\n\",\n    \"\\n\",\n    \"We represent the second hidden state factor (`Reward Condition`) is a discrete random variable with 2 levels, that encodes the reward condition of the trial: {`Reward on Right`, or `Reward on Left`}.  A trial where the condition is reward is `Reward on Left` is thus encoded as the state $s_2 = \\\\begin{bmatrix} 0 & 1\\\\end{bmatrix}$.\\n\",\n    \"\\n\",\n    \"The environment is designed such that when the agent is located in the `RIGHT ARM` and the reward condition is `Reward on Right`, the agent has a specified probability $a$ (where $a > 0.5$) of receiving a reward, and a low probability $b = 1 - a$ of receiving a 'loss' (we can think of this as an aversive or unpreferred stimulus). If the agent is in the `LEFT ARM` for the same reward condition, the reward probabilities are swapped, and the agent experiences loss with probability $a$, and reward with lower probability $b = 1 - a$. These reward contingencies are intuitively swapped for the `Reward on Left` condition. \\n\",\n    \"\\n\",\n    \"For instance, we can encode the state of the environment at the first time step in a `Reward on Right` trial with the following pair of hidden state vectors: $s_1 = \\\\begin{bmatrix} 1 & 0 & 0 & 0\\\\end{bmatrix}$, $s_2 = \\\\begin{bmatrix} 1 & 0\\\\end{bmatrix}$, where we assume the agent starts sitting in the central location. If the agent moved to the right arm, then the corresponding hidden state vectors would now be $s_1 = \\\\begin{bmatrix} 0 & 1 & 0 & 0\\\\end{bmatrix}$, $s_2 = \\\\begin{bmatrix} 1 & 0\\\\end{bmatrix}$. This highlights the _independence_ of the two hidden state factors. In other words, the location of the agent ($s_1$) can change without affecting the identity of the reward condition ($s_2$).\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Initialize environment\\n\",\n    \"Now we can initialize the T-maze environment using the built-in `TMazeEnv` class from the `pymdp.envs` module.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Choose reward probabilities $a$ and $b$, where $a$ and $b$ are the probabilities of reward / loss in the 'correct' arm, and the probabilities of loss / reward in the 'incorrect' arm. Which arm counts as 'correct' vs. 'incorrect' depends on the reward condition (state of the 2nd hidden state factor).\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"reward_probabilities = [0.98, 0.02] # probabilities used in the original SPM T-maze demo\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Initialize an instance of the T-maze environment\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"env = TMazeEnv(reward_probs = reward_probabilities)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Structure of the state --> outcome mapping\\n\",\n    \"We can 'peer into' the rules encoded by the environment (also known as the _generative process_ ) by looking at the probability distributions that map from hidden states to observations. Following the SPM version of active inference, we refer to this collection of probabilistic relationships as the `A` array. In the case of the true rules of the environment, we refer to this array as `A_gp` (where the suffix `_gp` denotes the generative process). \\n\",\n    \"\\n\",\n    \"It is worth outlining what constitute the agent's observations in this task. In this T-maze demo, we have three sensory channels or observation modalities: `Location`, `Reward`, and `Cue`. \\n\",\n    \"\\n\",\n    \"1. The `Location` observation values are identical to the `Location` hidden state values. In this case, the agent always unambiguously observes its own state - if the agent is in `RIGHT ARM`, it receives a `RIGHT ARM` observation in the corresponding modality. This might be analogized to a 'proprioceptive' sense of one's own place.\\n\",\n    \"\\n\",\n    \"2. The `Reward` observation modality assumes the values `No Reward`, `Reward` or `Loss`. The `No Reward` (index 0) observation is  observed whenever the agent isn't occupying one of the two T-maze arms (the right or left arms). The `Reward` (index 1) and `Loss` (index 2) observations are observed in the right and left arms of the T-maze, with associated probabilities that depend on the reward condition (i.e. on the value of the second hidden state factor).\\n\",\n    \"\\n\",\n    \"3. The `Cue` observation modality assumes the values `Cue Right`, `Cue Left`. This observation unambiguously signals the reward condition of the trial, and therefore in which arm the `Reward` observation is more probable. When the agent occupies the other arms, the `Cue` observation will be `Cue Right` or `Cue Left` with equal probability. However (as we'll see below when we intialise the agent), the agent's beliefs about the likelihood mapping render these observations uninformative and irrelevant to state inference.\\n\",\n    \"\\n\",\n    \"In `pymdp`, we store the set of probability distributions encoding the conditional probabilities of observations, under different configurations of hidden states, as a set of matrices referred to as the likelihood mapping or `A` array (this is a convention borrowed from SPM). The likelihood mapping _for a single modality_ is stored as a single multidimensional array (a `numpy.ndarray`) `A[m]` with the larger likelihood array, where `m` is the index of the corresponding modality. Each modality-specific A array has `num_obs[m]` rows, and as many lagging dimensions (e.g. columns, 'slices' and higher-order dimensions) as there are hidden state factors. `num_obs[m]` tells you the number of observation values (also known as \\\"levels\\\") for observation modality `m`.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# here, we can get the likelihood mapping directly from the environmental class. So this is the likelihood mapping that truly describes the relatinoship between the \\n\",\n    \"# environment's hidden state and the observations the agent will get\\n\",\n    \"\\n\",\n    \"A_gp = env.get_likelihood_dist()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A_gp[1][:,:,0],'Reward Right')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A_gp[1][:,:,1],'Reward Left')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A_gp[2][:,3,:],'Cue Mapping')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Transition Dynamics\\n\",\n    \"\\n\",\n    \"We represent the dynamics of the environment (e.g. changes in the location of the agent and changes to the reward condition) as conditional probability distributions that encode the likelihood of transitions between the states of a given hidden state factor. These distributions are collected into the so-called `B` array, also known as _transition likelihoods_ or _transition distribution_ . As with the `A` array, we denote the true probabilities describing the environmental dynamics as `B_gp`. Each sub-matrix `B_gp[f]` of the larger array encodes the transition probabilities between state-values of a given hidden state factor with index `f`. These matrices encode dynamics as Markovian transition probabilities, such that the entry $i,j$ of a given matrix encodes the probability of transition to state $i$ at time $t+1$, given state $j$ at $t$. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# here, we can get the transition mapping directly from the environmental class. So this is the transition mapping that truly describes the environment's dynamics\\n\",\n    \"\\n\",\n    \"B_gp = env.get_transition_dist()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For example, we can inspect the 'dynamics' of the `Reward Condition` factor by indexing into the appropriate sub-matrix of `B_gp`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(B_gp[1][:,:,0],'Reward Condition Transitions')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The above transition array is the 'trivial' identity matrix, meaning that the reward condition doesn't change over time (it's mapped from whatever it's current value is to the same value at the next timestep).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### (Controllable-) Transition Dynamics\\n\",\n    \"\\n\",\n    \"Importantly, some hidden state factors are _controllable_ by the agent, meaning that the probability of being in state $i$ at $t+1$ isn't merely a function of the state at $t$, but also of actions (or from the agent's perspective, _control states_ ). So now each transition likelihood encodes conditional probability distributions over states at $t+1$, where the conditioning variables are both the states at $t-1$ _and_ the actions at $t-1$. This extra conditioning on actions is encoded via an optional third dimension to each factor-specific `B` array.\\n\",\n    \"\\n\",\n    \"For example, in our case the first hidden state factor (`Location`) is under the control of the agent, which means the corresponding transition likelihoods `B[0]` are index-able by both previous state and action.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(B_gp[0][:,:,0],'Transition likelihood for \\\"Move to Center\\\"')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAUwAAAD9CAYAAADXj047AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAVv0lEQVR4nO3dfbRkVXnn8e/vXsRGQUxgEqUblUTMstVEDUGNSSQjGiCDzCRkwksWkFE7WSuoS4kMcRQ7SHwbk4k6GOkkhABBNOgybdIO6ijDmIhDGzNmIIP2gNoNKC+CYgR5e+aPc25uUd331r7d1d2H29/PWmfdqvOyzz67qp569tnn1E1VIUmabGZ3V0CSHikMmJLUyIApSY0MmJLUyIApSY0MmJLU6BERMJN8PMmpiyx/f5I37YT9rk1ySf/4SUm+m2S2f35lkldsR5n/sl2Sk5N8YmRZJXnqtOq/SB0uTHLuIsvPTXJ7km/s7LrsKZK8IcmfNK77L+87DcvEgNkHibnpoST3jDw/eVdUsqqOrqo/7+tzWpLPji3/zap6y06uw9erat+qenCKZf5FVb10WuVNQ5InAWcAq6vqCVMqs/q/VyY5on+8tv+CeM3Yuq/p56+dxr6XUMdFv0Qatr8yyb395+L2JB9J8sS55VX11qpa8hfsAvv6apIjG9Y7pP/M/tE09jtW9tp+OiLJldMuf6gmBsw+SOxbVfsCXweOHZn3F3PrJdlrZ1ZUu8yTgDuq6talbrgd74EvA6eMzTu1n/9IdHr/OXkqsC/wrt1cn1OAO4FfTfLohVbys9tuu7vk/TfLliT/se+6/VmSH0jy10luS3Jn/3jVyDZXJnlLkr9NcneSTyQ5sF+2IsklSe5IcleSa5L88Mh2r0jydOD9wAv6b/K7+uUPyw6SvDLJpiTfSrI+yUEjyyrJbyb5Sr+f85Kk4Xif0m+71ZsryROTfCnJ6/vnz0/yd335/3suq9rGdltly8CR26pbkpkkb0zytSS3Jrkoyf4jZb0sybX9dlf2bTW37DlJ/r5v8w8CKxaoz5HAJ4GD+va9sKHsr/bvgS8B/7zED981wGOSPKMv6xl93a4Zq9c2X88kf5TkXWPr/lWS1/WPD0ry4f79eGOSVy9w3GuAk4Ez++P+WD//6f3x3tUf/8taDqqq7gI+Cjx7ZB8P62YnOaV/Le9I8qZsnTXu3b/Gd/f7Pqzf7mK6L7WP9XU9c4FjCl3AfCNwP3Ds2PJK8ltJvgJ8JfOf5zP799ctSf5tkmOSfLlv+ze0HP+yVlXNE/BV4Mj+8RHAA8A7gEcD+wAHAL8MPAbYD/hL4KMj218J/D/gaf36VwJv75f9BvCxfttZ4CeBx41s94r+8WnAZ8fqdSFwbv/4XwO3A8/t6/Ve4KqRdQv4a+DxdG+824CjFjjetcAl/eOn9NvuNVon4BC6jGhNP38lcAdwDN0X0kv65/9q0rEsVjfgPwCbgB+hy14+AlzcL3sa8M/9vh4FnNmvu3c/fQ14bb/seLoP0LkLHPMRwJaR5wuWPfKe+AfgYGCfJbyX1gKXAG8A3tHPeyfwO/38tZNeT+DngM1A+uc/ANwDHNS3/ReAs/s2+BHgBuAXFqjPhaNt0h/rpr5+e/f1uBv4sQW2H31dDwA+BfzVAu+l1cB3gZ/py35X/5ocObLuvXTvoVngbcDV2/ocLtK+Pwt8v2+T9wIfG1tedF+OP0j3WTyC7vN8dn/sr6R7/11K91l+Rt+2hywlZiy3aUcHfR4C3lxV36+qe6rqjqr6cFV9r6ruBn4PeNHYNn9WVV+uqnuADzH/LXw/3RvtqVX1YFV9oaq+sx11Ohm4oKr+vqq+T/cBfEGSp4ys8/aququqvg58ZqQOS7W63/7NVbWun/drwIaq2lBVD1XVJ4GNdG/+FgvV7WTgD6rqhqr6bn9cJ/QZ3a8Cf1NVn6yq++k+gPsAPw08n+4D8IdVdX9VXc5YBjfBYmXPeU9Vbe5f06W6BDgxyaOAE/rnoxZ7Pf8n3Qf/Z/t1jwc+V1U3Az9F9yV1TlXdV1U3AH/c76PF8+m+mN7eb/9pui+zExfZ5j1Jvk0X4A8EXrXAesfTBbDPVtV9dEFq/EcdPtu/hx4ELgZ+orHec04FPl5Vd9IFvaOS/NDYOm+rqm+NvG73A7/Xv86X9cfw7qq6u6quBa7bjnosKzsaMG+rqnvnniR5TJLz+67Gd4CrgMenH1nujY68fo/uTQndm+IK4LIkNyd5Z/8hWqqD6DIqAPrgcgdd5jepDkt1MnATcPnIvCcDv9J34+5Kd9rgZ4AnbmP7bVmobg87rv7xXsAPjy+rqofoMq+V/bKbqk8rRrZttVjZczYvobyH6b8YNgFvBb5SVeNlLfh69sd0GfNB7CRg7rz6k+lOLYy+Dm+ga68WBwGb++Od8zUeftzjXl1V+wM/TpfZrVpgvYMYabOq+l5/TKPG3wcrWk93JNkH+BX6tqiqz9GNP5w0tup4W99R84Oac0H0myPL72H7PyvLwo4GzPFvxTOAHwOeV1WPo+syAUw8R9hnP79bVavpspd/w9YDAtva57ib6T4s3Y6Tx9JlrjdNqsN2WEuXTVw68qWwma6r/PiR6bFV9fYd3NfDjouuy/4A3Rt6/JhD10W+CbgFWDl3LnRk2+3a71jZc3b0J68uonvvXNSw//HX8wPA8UmeDDwP+HA/fzNw49jrsF9VLZTpjx/DzcDBSUY/I0+i4X1UVf8InAssdH78FkaCaR/gDphU7iJ1HffvgMcB70vyjXRjDCvpss6llKMx074Ocz+6b6G7kvwg8ObWDZP8fJJn9YHnO3Tdg4e2seo3gVVJ9l6gqA8Av57k2elGBt8KfL6qvrqE42h1P903+WOBi/oP1yXAsUl+IclsusGsIzIy+LWdPgC8Nt2lIvvSHdcHq+oBulMbv5jkxX1Wfgbd+au/Az5HF1hfneRRSX4JOHwJ+12s7Gn5IPDSfl/jFn09q+qLdF9afwJcUd2AC8D/Au7uB6T26V+LZyb5qQXq8E2685xzPk+X2Z3Zt9sRdAMnlzUe05/TZbPbGii6nO498tP9+3gtDUnFInUddypwAfAsulM6zwZeCPxEkmctYT8aM+2A+Yd057duB64G/tsStn0C3RvpO8A/Af+Drps+7tPAtcA3ktw+vrCqPgW8iS7TuAX4UdrPWy1Zfw7ql+g+HBfQZSDH0XX/bqPLdF7Pjrf1BXTtcRVwI92gwKv6OlxPd+70vXRtfyzd5V/3jdTvNOBbdOckP7KE41uw7B08ntF93FNVn9rWOdDG1/NS4Mj+79x2D9L1Up5N115zQXV/tu1PgdV99/2j/fEdCxzdb/s+4JSq+r+Nx3Qf8O6+7uPLrqV77S7rj+m7wK10X0Qt3ga8sa/rb48uSLISeDHdOetvjExfoPs8LngDiCabG12UtJv0PYa7gEOr6sbdXB0t4hFxa6S03CQ5th8kfSzdlQf/SHe5kAbMgCntHsfRDSzdDBwKnFB296YqyQX9Rfj/Z4HlSfKedDdFfCnJcyeW6WskaTlK8nN054cvqqpnbmP5MXTnko+hu8Li3VX1vMXKNMOUtCxV1VV0A50LOY4umFZVXU13zfii10tv677oNcAagPPPP/8n16xZswNVlrQHWcqlUdu0tv9lqxa/291OPRqg1o3ccddiJQ+/eH9LP++WhTbYKmD2O5zbqf11SbvMUrq8Y7Fql2j7ZZl7x+/a2sOsGLkJw7aYf2xbzD+2LaZSzA6nqEtzE91da3NWMeFOLs9hShqMmSVMU7AeOKUfLX8+8O2qWrA7Dq0ZpiTtAtPM4JJ8gO5n6w5MsoXuVu1HAVTV+4ENdCPkm+hug/31SWUaMCUNxuzkVZpV1WI/xUd/3etvLaVMA6akwdjF5zCXzIApaTCGPqhiwJQ0GAZMSWpkl1ySGplhSlKjaY6S7wwGTEmDYYYpSY08hylJjcwwJamRAVOSGjnoI0mNzDAlqZGDPpLUyAxTkhoZMCWpkV1ySWrkKLkkNbJLLkmNDJiS1MhzmJLUyAxTkhoZMCWp0czMsDvlBkxJg5EYMCWpiRmmJDUyw5SkRjHDlKQ2M7PDHic3YEoaDLvkktTILrkkNTLDlKRGXlYkSY3MMCWpkaPkktRo6IM+ww7nkvYoSZqnhrKOSnJ9kk1JztrG8icl+UySLyb5UpJjJpVpwJQ0GJlJ87RoOckscB5wNLAaODHJ6rHV3gh8qKqeA5wAvG9S/QyYkgZjihnm4cCmqrqhqu4DLgOOG1ungMf1j/cHbp5UqOcwJQ3GUi4rSrIGWDMya11VresfrwQ2jyzbAjxvrIi1wCeSvAp4LHDkpH0aMCUNxlJGyfvguG7iigs7Ebiwqn4/yQuAi5M8s6oeWmgDA6akwZjidZg3AQePPF/Vzxv1cuAogKr6XJIVwIHArQsV6jlMSYORmfZpgmuAQ5MckmRvukGd9WPrfB14MUCSpwMrgNsWK9QMU9JgTCvDrKoHkpwOXAHMAhdU1bVJzgE2VtV64Azgj5O8lm4A6LSqqsXKNWBKGoxpXrheVRuADWPzzh55fB3wwqWUacCUNBiz3hopSW388Q1JajT0e8kNmJIGY3lkmCsO2MnVeASxLebZFvNsi6kYeoa51RnWJGuSbEyycd26HbmIXpKWZpq/VrQzbJVhjt1utOg1SZI0TTN7ze7uKiyqqUu+duDnFXa2tSPXstoWtsUc22Le2sWv92438HZ00EfSYAz9HKYBU9JgZMYL1yWpyfK4rEiSdgW75JLUZmZ2GYySS9Ku4KCPJLUyYEpSmzT8lPruZMCUNBh2ySWpURz0kaQ2ZpiS1MiAKUmNvNNHklp5L7kktbFLLkmNvDVSkhqZYUpSKwd9JKmNGaYkNfIX1yWpkddhSlKjLId/sytJu4IZpiQ1ctBHklqZYUpSm6FnmMMew5e0Z5lJ+zRBkqOSXJ9kU5KzFljn3ye5Lsm1SS6dVKYZpqTBmFaPPMkscB7wEmALcE2S9VV13cg6hwK/A7ywqu5M8kOTyjXDlDQc08swDwc2VdUNVXUfcBlw3Ng6rwTOq6o7Aarq1onV245DkqSdIlnKlDVJNo5Ma0aKWglsHnm+pZ836mnA05L8bZKrkxw1qX52ySUNxxL65FW1Dli3A3vbCzgUOAJYBVyV5FlVdddCG5hhShqOmSVMi7sJOHjk+ap+3qgtwPqqur+qbgS+TBdAF62eJA1CZmaapwmuAQ5NckiSvYETgPVj63yULrskyYF0XfQbFivULrmkwZjWKHlVPZDkdOAKYBa4oKquTXIOsLGq1vfLXprkOuBB4PVVdcdi5RowJQ3HFC9cr6oNwIaxeWePPC7gdf3UxIApaTiGfaOPAVPScPhrRZLUKLMGTElqM+x4acCUNCB2ySWpzcDjpQFT0oAM/PcwDZiSBsMMU5IaDf0X1w2YkobDgClJjQbeJzdgShqMgcdLA6akARl4xDRgShqMDPwXeg2YkoZj4IM+6X4SbkGLLpSkETsc7R78/ZOaY87sGZfu8ui6VQI8+p/Y1q3bkf8vJElLNL1/s7tTbNUlH/tPbGaYknadZTHoc++i/+Zi+VtxwPxj22L+sW0x/9i2mE45Az+H6aCPpOGYmd3dNViUAVPScJhhSlKjgV+IacCUNBxmmJLUaFmMkkvSrjBjl1yS2sw6Si5JbeySS1IjA6YkNfIcpiQ1MsOUpDb+10hJauUouSQ1sksuSY0c9JGkRgPPMIcdziXtWZL2aWJROSrJ9Uk2JTlrkfV+OUklOWxSmWaYkoZjSoM+SWaB84CXAFuAa5Ksr6rrxtbbD3gN8PmWcs0wJQ3H9P4J2uHApqq6oaruAy4DjtvGem8B3gHc21S9pRyLJO1UmWmeRv/DbT+tGSlpJbB55PmWft78rpLnAgdX1d+0Vs8uuaThWMKF62P/4XZJkswAfwCctpTtDJiShmN6o+Q3AQePPF/Vz5uzH/BM4Mp0+3wCsD7Jy6pq40KFGjAlDcf0rsO8Bjg0ySF0gfIE4KS5hVX1beDAuedJrgR+e7FgCQZMSUMypYBZVQ8kOR24ApgFLqiqa5OcA2ysqvXbU64BU9JwTPG/RlbVBmDD2LyzF1j3iJYyDZiShmPYN/oYMCUNyMBvjTRgShoOA6YkNTJgSlIjA6YkNTJgSlIjA6YkNTJgSlIrA6YktfHf7EpSI7vkktTKgClJbcwwJamRAVOSGg07XhowJQ3IFH8Pc2cwYEoaDrvkktTIgClJjYYdLw2YkgbEDFOSGjnoI0mNzDAlqdHAA+aw819JGhAzTEnDMfAMsy1grjhgJ1fjEcS2mGdbzLMtpmPgAXOrLnmSNUk2Jtm4bt263VEnSXuqzLRPu8FWGWZVrQPmImXt2upI2qMNPMNs65Lfe8dOrsbAjXa3bIv5x7bF/GPbYjrleB2mJLVaDhmmJO0Ky6JLLkm7gl1ySWpkwJSkVsMOmMOunaQ9S9I+TSwqRyW5PsmmJGdtY/nrklyX5EtJ/nuSJ08q04ApaTimFDCTzALnAUcDq4ETk6weW+2LwGFV9ePA5cA7J1XPgClpQLKEaVGHA5uq6oaqug+4DDhudIWq+kxVfa9/ejWwalKhBkxJwzEz2zyN3sbdT2tGSloJbB55vqWft5CXAx+fVD0HfSQNSPt1mGO3cW//HpNfAw4DXjRpXQOmpOGY3mVFNwEHjzxf1c97+O6SI4H/BLyoqr4/qVADpqTByPTu9LkGODTJIXSB8gTgpLF9PQc4Hziqqm5tKdRzmJIGZDqDPlX1AHA6cAXwT8CHquraJOckeVm/2n8G9gX+Msk/JFk/qXZmmJKGY4p3+lTVBmDD2LyzRx4fudQyDZiShsNbIyWpkQFTklr5826S1Mbfw5SkRnbJJamVGaYktcns7q7BogyYkobDc5iS1MiAKUmtHPSRpDZmmJLUyMuKJKmVGaYktbFLLkmt7JJLUhszTElqZcCUpDaOkktSI7vkktTKgClJbcwwJamV5zAlqY0ZpiS1MsOUpCYxw5SkVgZMSWpjhilJrQyYktTG/xopSY3skktSKwOmJLUxw5SkVgZMSWpjhilJjQY+Sj7sGzcl7WGyhGlCSclRSa5PsinJWdtY/ugkH+yXfz7JUyaVacCUNBxJ+7RoMZkFzgOOBlYDJyZZPbbay4E7q+qpwH8B3jGpem1d8hUHNK22R7At5tkW82yLKZnaOczDgU1VdQNAksuA44DrRtY5DljbP74c+K9JUlW1UKFbZZhJ1iTZ2E+XsLQcedlOSX5jd9dhKJNtYVss0BZr2FErDkjrNBarNo7tfyWweeT5ln4e21qnqh4Avg0s+s23VcCsqnVVdVhVHQY8fTsOebna8TfD8mFbzLMt5u3SthiNVf20bmfv03OYkpajm4CDR56v6udtc50kewH7A3csVqgBU9JydA1waJJDkuwNnACsH1tnPXBq//h44NOLnb+EyYM+Oz3FfQSxLebZFvNsi3mDaYuqeiDJ6cAVwCxwQVVdm+QcYGNVrQf+FLg4ySbgW3RBdVGZEFAlST275JLUyIApSY0MmJLUyIApSY0MmJLUyIApSY0MmJLU6P8DLGHg5y1kbQYAAAAASUVORK5CYII=\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(B_gp[0][:,:,1],'Transition likelihood for \\\"Move to Right Arm\\\"')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(B_gp[0][:,:,2],'Transition likelihood for \\\"Move to Left Arm\\\"')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(B_gp[0][:,:,3],'Transition likelihood for \\\"Move to Cue Location\\\"')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The generative model\\n\",\n    \"Now we can move onto setting up the *generative model* of the agent - namely, the agent's *beliefs* or assumptions about how hidden states give rise to observations, and how hidden states transition among eachother.\\n\",\n    \"\\n\",\n    \"In almost all MDPs, the critical building blocks of this generative model are the agent's representation of the observation likelihood, which we'll refer to as `A_gm`, and its representation of the transition likelihood, which we'll call `B_gm`. \\n\",\n    \"\\n\",\n    \"Here, we assume the agent has a veridical representation of the rules of the T-maze (namely, how hidden states cause observations) as well as its ability to control its own movements with certain consequences (i.e. 'noiseless' transitions). So in other words, the agent will have a veridical representation of the \\\"rules\\\" of the environment, as encoded in the arrays `A_gp` and `B_gp` of the generative process.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"A_gm = copy.deepcopy(A_gp) # make a copy of the true observation likelihood to initialize the observation model\\n\",\n    \"B_gm = copy.deepcopy(B_gp) # make a copy of the true transition likelihood to initialize the transition model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"###  **Important Concept to Note Here!!!**\\n\",\n    \"It is not necessary, or even in many cases _important_ , that the generative model is a veridical representation of the generative process. This distinction between generative model (essentially, beliefs entertained by the agent and its interaction with the world) and the generative process (the actual dynamical system 'out there' generating sensations) is of crucial importance to the active inference formalism and (in our experience) often overlooked in code.\\n\",\n    \"\\n\",\n    \"It is for notational and computational convenience that we encode the generative process using `A` and `B` matrices. By doing so, it simply puts the rules of the environment in a data structure that can easily be converted into the Markovian-style conditional distributions useful for encoding the agent's generative model.\\n\",\n    \"\\n\",\n    \"Strictly speaking, however, all the generative process needs to do is generate observations that are 'digestible' by the agent, and be 'perturbable' by actions issued by the agent. The way in which it does so can be arbitrarily complex, non-linear, and unaccessible by the agent. Namely, it doesn't have to be encoded by `A` and `B` arrays (what amount to Markovian, conditional probability tables), but could be described by arbitrarily complex nonlinear or non-differentiable transformations of hidden states that generate observatons.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Introducing the `Agent()` class\\n\",\n    \"\\n\",\n    \"In `pymdp`, we have abstracted much of the computations required for active inference into the `Agent` class, a flexible object that can be used to store necessary aspects of the generative model, the agent's instantaneous observations and actions, and perform action / perception using functions like `Agent.infer_states` and `Agent.infer_policies`. \\n\",\n    \"\\n\",\n    \"An instance of `Agent` is straightforwardly initialized with a call to the `Agent()` constructor with a list of optional arguments.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In our call to `Agent()`, we need to constrain the default behavior with some of our T-Maze-specific needs. For example, we want to make sure that the agent's beliefs about transitions are constrained by the fact that it can only control the `Location` factor - _not_ the `Reward Condition` (which we assumed stationary across an epoch of time). Therefore we specify this using a list of indices that will be passed as the `control_fac_idx` argument of the `Agent()` constructor. \\n\",\n    \"\\n\",\n    \"Each element in the list specifies a hidden state factor (in terms of its index) that is controllable by the agent. Hidden state factors whose indices are _not_ in this list are assumed to be uncontrollable.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"controllable_indices = [0] # this is a list of the indices of the hidden state factors that are controllable\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can construct our agent...\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"agent = Agent(A=A_gm, B=B_gm, control_fac_idx=controllable_indices)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can inspect properties (and change) of the agent as we see fit. Let's look at the initial beliefs the agent has about its starting location and reward condition, encoded in the prior over hidden states $P(s)$, known in SPM-lingo as the `D` array.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_beliefs(agent.D[0],\\\"Beliefs about initial location\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 19,\n   \"metadata\": {\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_beliefs(agent.D[1],\\\"Beliefs about reward condition\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's make it so that agent starts with precise and accurate prior beliefs about its starting location.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 20,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"agent.D[0] = utils.onehot(0, agent.num_states[0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The `onehot(value, dimension)` function within `pymdp.utils` is a nice function for quickly generating a one-hot vector of dimensions `dimension` with a `1` at the index `value`.\\n\",\n    \"\\n\",\n    \"And now confirm that our agent knows (i.e. has accurate beliefs about) its initial state by visualizing its priors again.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 21,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_beliefs(agent.D[0],\\\"Beliefs about initial location\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Another thing we want to do in this case is make sure the agent has a 'sense' of reward / loss and thus a motivation to be in the 'correct' arm (the arm that maximizes the probability of getting the reward outcome).\\n\",\n    \"\\n\",\n    \"We can do this by changing the prior beliefs about observations, the `C` array (also known as the _prior preferences_ ). This is represented as a collection of distributions over observations for each modality. It is initialized by default to be all 0s. This means agent has no preference for particular outcomes. Since the second modality (index `1` of the `C` array) is the `Reward` modality, with the index of the `Reward` outcome being `1`, and that of the `Loss` outcome being `2`, we populate the corresponding entries with values whose relative magnitudes encode the preference for one outcome over another (technically, this is encoded directly in terms of relative log-probabilities). \\n\",\n    \"\\n\",\n    \"Our ability to make the agent's prior beliefs that it tends to observe the outcome with index `1` in the `Reward` modality, more often than the outcome with index `2`, is what makes this modality a Reward modality in the first place -- otherwise, it would just be an arbitrary observation with no extrinsic value _per se_. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 22,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"agent.C[1][1] = 3.0\\n\",\n    \"agent.C[1][2] = -3.0\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 23,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_beliefs(agent.C[1],\\\"Prior beliefs about observations\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Active Inference\\n\",\n    \"Now we can start off the T-maze with an initial observation and run active inference via a loop over a desired time interval.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 24,\n   \"metadata\": {\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \" === Starting experiment === \\n\",\n      \" Reward condition: Right, Observation: [CENTER, No reward, Cue Left]\\n\",\n      \"[Step 0] Action: [Move to CUE LOCATION]\\n\",\n      \"[Step 0] Observation: [CUE LOCATION,  No reward, Cue Right]\\n\",\n      \"[Step 1] Action: [Move to RIGHT ARM]\\n\",\n      \"[Step 1] Observation: [RIGHT ARM,  Reward!, Cue Right]\\n\",\n      \"[Step 2] Action: [Move to RIGHT ARM]\\n\",\n      \"[Step 2] Observation: [RIGHT ARM,  Reward!, Cue Left]\\n\",\n      \"[Step 3] Action: [Move to RIGHT ARM]\\n\",\n      \"[Step 3] Observation: [RIGHT ARM,  Reward!, Cue Right]\\n\",\n      \"[Step 4] Action: [Move to RIGHT ARM]\\n\",\n      \"[Step 4] Observation: [RIGHT ARM,  Reward!, Cue Right]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"T = 5 # number of timesteps\\n\",\n    \"\\n\",\n    \"obs = env.reset() # reset the environment and get an initial observation\\n\",\n    \"\\n\",\n    \"# these are useful for displaying read-outs during the loop over time\\n\",\n    \"reward_conditions = [\\\"Right\\\", \\\"Left\\\"]\\n\",\n    \"location_observations = ['CENTER','RIGHT ARM','LEFT ARM','CUE LOCATION']\\n\",\n    \"reward_observations = ['No reward','Reward!','Loss!']\\n\",\n    \"cue_observations = ['Cue Right','Cue Left']\\n\",\n    \"msg = \\\"\\\"\\\" === Starting experiment === \\\\n Reward condition: {}, Observation: [{}, {}, {}]\\\"\\\"\\\"\\n\",\n    \"print(msg.format(reward_conditions[env.reward_condition], location_observations[obs[0]], reward_observations[obs[1]], cue_observations[obs[2]]))\\n\",\n    \"\\n\",\n    \"for t in range(T):\\n\",\n    \"    qx = agent.infer_states(obs)\\n\",\n    \"\\n\",\n    \"    q_pi, efe = agent.infer_policies()\\n\",\n    \"\\n\",\n    \"    action = agent.sample_action()\\n\",\n    \"\\n\",\n    \"    msg = \\\"\\\"\\\"[Step {}] Action: [Move to {}]\\\"\\\"\\\"\\n\",\n    \"    print(msg.format(t, location_observations[int(action[0])]))\\n\",\n    \"\\n\",\n    \"    obs = env.step(action)\\n\",\n    \"\\n\",\n    \"    msg = \\\"\\\"\\\"[Step {}] Observation: [{},  {}, {}]\\\"\\\"\\\"\\n\",\n    \"    print(msg.format(t, location_observations[obs[0]], reward_observations[obs[1]], cue_observations[obs[2]]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The agent begins by moving to the `CUE LOCATION` to resolve its uncertainty about the reward condition - this is because it knows it will get an informative cue in this location, which will signal the true reward condition unambiguously. At the beginning of the next timestep, the agent then uses this observaiton to update its posterior beliefs about states `qx[1]` to reflect the true reward condition. Having resolved its uncertainty about the reward condition, the agent then moves to `RIGHT ARM` to maximize utility and continues to do so, given its (correct) beliefs about the reward condition and the mapping between hidden states and reward observations. \\n\",\n    \"\\n\",\n    \"Notice, perhaps confusingly, that the agent continues to receive observations in the 3rd modality (i.e. samples from `A_gp[2]`). These are observations of the form `Cue Right` or `Cue Left`. However, these 'cue' observations are random and totally umambiguous unless the agent is in the `CUE LOCATION` - this is reflected by totally entropic distributions in the corresponding columns of `A_gp[2]` (and the agents beliefs about this ambiguity, reflected in `A_gm[2]`. See below.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 25,\n   \"metadata\": {\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A_gp[2][:,:,0],'Cue Observations when condition is Reward on Right, for Different Locations')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 26,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A_gp[2][:,:,1],'Cue Observations when condition is Reward on Left, for Different Locations')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The final column on the right side of these matrices represents the distribution over cue observations, conditioned on the agent being in `CUE LOCATION` and the appropriate Reward Condition. This demonstrates that cue observations are uninformative / lacking epistemic value for the agent, _unless_ they are in `CUE LOCATION.`\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can inspect the agent's final beliefs about the reward condition characterizing the 'trial,' having undergone 10 timesteps of active inference.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 27,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_beliefs(qx[1],\\\"Final posterior beliefs about reward condition\\\")\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3.8.8 ('base')\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.8.8\"\n  },\n  \"vscode\": {\n   \"interpreter\": {\n    \"hash\": \"70b7ceca5df5387258d861d4588082cea9500e731be001548c95afd8cd8c3af8\"\n   }\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "docs/notebooks/using_the_agent_class.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Tutorial 2:  the `Agent` API\\n\",\n    \"\\n\",\n    \"[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/infer-actively/pymdp/blob/main/docs/notebooks/using_the_agent_class.ipynb)\\n\",\n    \"\\n\",\n    \"*Author: Conor Heins*\\n\",\n    \"\\n\",\n    \"This tutorial introduces the `Agent` class, the main API offered by `pymdp` that allows you to abstract away all the mathematical nuances involved in running active inference processes. All you have to do is build a generative model in terms of `A`, `B`, `C`, and `D` arrays, plug them into the `Agent()` constructor, and then start running active inference processes using the desired functions of the `Agent` class, like `self.infer_states()` and `self.infer_policies()`. \\n\",\n    \"\\n\",\n    \"We demonstrate the use of the `Agent` class by building an active inference agent to play a simple explore/exploit task, what we call the \\\"epistemic 2-armed bandit\\\". The task structure is identical to the \\\"explore/exploit\\\" task described in Smith et al. (2022): [\\\"A Step-by-Step Tutorial on Active Inference Modelling and its Application to Empirical Data\\\"](https://www.sciencedirect.com/science/article/pii/S0022249621000973). The task is a modified version of a classic multi-armed bandit problem, with particular changes that make it well suited to demonstrating the information-availing nature of active inference in discrete state spaces.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"*Note*: When running this notebook in Google Colab, you may have to run `!pip install inferactively-pymdp` at the top of the notebook, before you can `import pymdp`. That cell is left commented out below, in case you are running this notebook from Google Colab.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# ! pip install inferactively-pymdp\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Imports\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"id\": \"hk0kXw1RRmTf\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import seaborn as sns\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"iSS6oO3RWrwp\"\n   },\n   \"source\": [\n    \"### Define some auxiliary functions\\n\",\n    \"\\n\",\n    \"Here are some plotting functions that will come in handy throughout the tutorial.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"id\": \"Y0QiIF8SWxot\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def plot_likelihood(matrix, title_str = \\\"Likelihood distribution (A)\\\"):\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    Plots a 2-D likelihood matrix as a heatmap\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    if not np.isclose(matrix.sum(axis=0), 1.0).all():\\n\",\n    \"      raise ValueError(\\\"Distribution not column-normalized! Please normalize (ensure matrix.sum(axis=0) == 1.0 for all columns)\\\")\\n\",\n    \"    \\n\",\n    \"    plt.figure(figsize = (6,6))\\n\",\n    \"    sns.heatmap(matrix, cmap = 'gray', cbar = False, vmin = 0.0, vmax = 1.0)\\n\",\n    \"    plt.title(title_str)\\n\",\n    \"    plt.show()\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def plot_beliefs(belief_dist, title_str=\\\"\\\"):\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    Plot a categorical distribution or belief distribution, stored in the 1-D numpy vector `belief_dist`\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    if not np.isclose(belief_dist.sum(), 1.0):\\n\",\n    \"      raise ValueError(\\\"Distribution not normalized! Please normalize\\\")\\n\",\n    \"\\n\",\n    \"    plt.grid(zorder=0)\\n\",\n    \"    plt.bar(range(belief_dist.shape[0]), belief_dist, color='r', zorder=3)\\n\",\n    \"    plt.xticks(range(belief_dist.shape[0]))\\n\",\n    \"    plt.title(title_str)\\n\",\n    \"    plt.show()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"qknzxudf593_\"\n   },\n   \"source\": [\n    \"## **More complex generative models**\\n\",\n    \"\\n\",\n    \"In this notebook we will build a more complicated generative model, with the following goals in mind:\\n\",\n    \"\\n\",\n    \"1. Demonstrate the unique behavior of active inference agents, as opposed to other agent-based approaches to solving POMDPs (e.g. utility-maximization / reinforcement learning)\\n\",\n    \"\\n\",\n    \"2. Provide a task example that is more relevant to decision-making research and computational psychiatry.\\n\",\n    \"\\n\",\n    \"3. Take advantage of the functionalities of `pymdp`, especially the `Agent()` class, to abstract away all the mathematical operations involved with inference and planning under active inference.\\n\",\n    \"\\n\",\n    \"Before we dive into specifying this generative model, we need to talk about _observation modalities_ and _hidden state factors_...\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"2YQ8gQrdkFE4\"\n   },\n   \"source\": [\n    \"The data structure we use in `pymdp` to represent different hidden state factors and observation modalities is the `object array` (referred to in other contexts as 'arrays of arrays' or 'jagged/ragged arrays').\\n\",\n    \"\\n\",\n    \"They are no different than standard numpy `ndarrays` (they can arbitrarily multidimensional shape), except for the fact that their contents are unrestricted in terms of type. Their `dtype` is `object`, which means that their elements can be any kind of Python data structure -- including other arrays!\\n\",\n    \"\\n\",\n    \"In case you're coming from a  MATLAB background: these object arrays are the equivalent of cell arrays. \\n\",\n    \"\\n\",\n    \"In `pymdp`, we represent a multi-factor $\\\\mathbf{B}$ array as an object array which has as many elements as there are hidden state factors. Therefore, each element `B[i]` of the object array contains the `B` matrix for hidden state factor `i`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"id\": \"LE3k-jsQKAt3\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"from pymdp import utils\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"Mk0dbpXibpP_\"\n   },\n   \"source\": [\n    \"## **Explore/exploit task with a epistemic two-armed bandit**\\n\",\n    \"\\n\",\n    \"Now we're going to build a generative model for an active inference agent playing a two-armed bandit task. The [multi-armed bandit](https://en.wikipedia.org/wiki/Multi-armed_bandit) (or MAB) is a classic decision-making task that captures the core features of the the \\\"explore/exploit tradeoff\\\". The multi-armed bandit formulation is ubiquitous across problem spaces that require sequential decision-making under uncertainty -- this includes disciplines ranging from economics, neuroscience, machine learning, engineering all the way to advertising.\\n\",\n    \"\\n\",\n    \"In the standard MAB problem formulation, an agent has must choose between mutually-exclusive alternatives (also known as 'arms') in order to maximize reward over time. The probability of reward depends on which arm the agent chooses. A common real-world analogy for a MAB problem is imagining a special slot machine with three possible levers to pull (rather than the usual one), where playing each lever has different probabilities of payoff (e.g. getting a winning combination of symbols or bonus). In fact, the 'standard' slot machine, which usually only only one lever, was historically referred to as a 'one-armed bandit' -- this was the direct ancestor of the name for the generic machine learning / decision-making problem class, the MAB. \\n\",\n    \"\\n\",\n    \"Crucially, MAB problems are interesting and difficult because in general, the reward statistics of each arm are unknown or only partially known. In a probabilistic or Bayesian context, an agent must therefore act based on _beliefs_ about the reward statistics, since they don't have perfect access to this information. \\n\",\n    \"\\n\",\n    \"The inherent partial-observability  of the ask creates a conflict between **exploitation** or choosing the arm that is _currently believed_ to be most rewarding, and **exploration** or gathering information about the remaining arms, in the hopes of discovering a potentially more rewarding option.\\n\",\n    \"\\n\",\n    \"The fact that expected reward or utility is contextualized by _beliefs_ -- i.e. which arm is currently thought to be the most rewarding -- motivates the use of active inference in this context. This is because the key objective function for action-selection, the expected free energy $\\\\mathbf{G}$, depends on the agent's beliefs about the world. And not only that, but expected free energy balances the desire to maximize rewards with the drive to resolve uncertainty about unknown parts of the agent's model. The more accurate the agent's beliefs are, the more faithfully decision-making can be guided by maximizing expected utility or rewards.\\n\",\n    \"\\n\",\n    \"#### **MAB with an epistemic twist**\\n\",\n    \"\\n\",\n    \"In the MAB formulation we'll be exploring in this tutorial, the agent must choose to play among two possible arms, each of which has unknown reward statistics. These reward statistics take the form of Bernoulli distributions over two possible reward outcomes: \\\"Loss\\\" and \\\"Reward\\\". However, one of the arms has probability $p$ of yielding \\\"Reward\\\"\\\" and probabiliity $(1-p)$ of yielding \\\"Loss\\\". The other arm has swapped statistics. In this example, agent knows that the bandit has this general reward structure, except they don't know *which* of the two arms is the rewarding one (the arm where reward probability is $p$, assuming $p \\\\in [0.5, 1]$).\\n\",\n    \"\\n\",\n    \"However, we introduce an additional feature in the environment, that induces an explicit trade-off in decision-making between exploration (information-seeking) and exploitation (reward-seeking). In this special \\\"epistemic bandit\\\" problem, there is an additional action available to the agent, besides playing the two arms. We call this third action \\\"Get Hint\\\", and allows the agent to acquire information reveals (potentially probabilistically) which arm is the more rewarding one. There is a trade-off here, because by choosing to acquire the hint, the agent forgoes the possibility of playing an arm and thus the possibility of getting a reward at that moment. The mutual exclusivity of hint-acquisition and arm-playing imbues the system with an explore/exploit trade-off, which active inference is particularly equipped to handle, when compared to simple reinforcement learning schemes (e.g. epsilon-greedy reward maximization).\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"WYTRxlxx4iD0\"\n   },\n   \"source\": [\n    \"---\\n\",\n    \"\\n\",\n    \"Specify the dimensionalities of the hidden state factors, the control factors, and the observation modalities\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"id\": \"vOEYkFPt4gbC\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"context_names = ['Left-Better', 'Right-Better']\\n\",\n    \"choice_names = ['Start', 'Hint', 'Left Arm', 'Right Arm']\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\" Define `num_states` and `num_factors` below \\\"\\\"\\\"\\n\",\n    \"num_states = [len(context_names), len(choice_names)]\\n\",\n    \"num_factors = len(num_states)\\n\",\n    \"\\n\",\n    \"context_action_names = ['Do-nothing']\\n\",\n    \"choice_action_names = ['Move-start', 'Get-hint', 'Play-left', 'Play-right']\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\" Define `num_controls` below \\\"\\\"\\\"\\n\",\n    \"num_controls = [len(context_action_names), len(choice_action_names)]\\n\",\n    \"\\n\",\n    \"hint_obs_names = ['Null', 'Hint-left', 'Hint-right']\\n\",\n    \"reward_obs_names = ['Null', 'Loss', 'Reward']\\n\",\n    \"choice_obs_names = ['Start', 'Hint', 'Left Arm', 'Right Arm']\\n\",\n    \"\\n\",\n    \"\\\"\\\"\\\" Define `num_obs` and `num_modalities` below \\\"\\\"\\\"\\n\",\n    \"num_obs = [len(hint_obs_names), len(reward_obs_names), len(choice_obs_names)]\\n\",\n    \"num_modalities = len(num_obs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"k4Tca2bJ4o0z\"\n   },\n   \"source\": [\n    \"### The `A` array\\n\",\n    \"---\\n\",\n    \"\\n\",\n    \"**Note**: Unlike in [Tutorial 1: Active inference from scratch](https://pymdp-rtd.readthedocs.io/en/latest/notebooks/active_inference_from_scratch.html), here we we will be building a more complex generative model more than one hidden state factor and observation modality. This leads to accordingly higher-dimensional `A` and `B` arrays. See [pymdp fundamentals](https://pymdp-rtd.readthedocs.io/en/latest/notebooks/pymdp_fundamentals.html) for more details on how we specify these high-dimensional arrays in `NumPy`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"id\": \"zQsDxB8v6bvF\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"\\\"\\\"\\\" Generate the A array \\\"\\\"\\\"\\n\",\n    \"A = utils.obj_array( num_modalities )\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"9Vmy_Z1N6poY\"\n   },\n   \"source\": [\n    \"Fill out the hint modality, a sub-array of `A` which we'll call `A_hint`\\n\",\n    \"\\n\",\n    \"<img src=\\\"https://drive.google.com/uc?export=view&id=1SqMp77NAmUa_oh925VURJ1Hyp8v_fXOj\\\"/>\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"id\": \"daovgh4A6m5c\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"p_hint = 0.7 # accuracy of the hint, according to the agent's generative model (how much does the agent trust the hint?)\\n\",\n    \"\\n\",\n    \"A_hint = np.zeros( (len(hint_obs_names), len(context_names), len(choice_names)) )\\n\",\n    \"\\n\",\n    \"for choice_id, choice_name in enumerate(choice_names):\\n\",\n    \"\\n\",\n    \"  if choice_name == 'Start':\\n\",\n    \"\\n\",\n    \"    A_hint[0,:,choice_id] = 1.0\\n\",\n    \"  \\n\",\n    \"  elif choice_name == 'Hint':\\n\",\n    \"\\n\",\n    \"    A_hint[1:,:,choice_id] = np.array([[p_hint,       1.0 - p_hint],\\n\",\n    \"                                      [1.0 - p_hint,  p_hint]])\\n\",\n    \"  elif choice_name == 'Left Arm':\\n\",\n    \"\\n\",\n    \"    A_hint[0,:,choice_id] = 1.0\\n\",\n    \"  \\n\",\n    \"  elif choice_name == 'Right Arm':\\n\",\n    \"\\n\",\n    \"    A_hint[0,:,choice_id] = 1.0\\n\",\n    \"  \\n\",\n    \"A[0] = A_hint\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"id\": \"zIWcFelA7RqY\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x432 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A[0][:,:,1], title_str = \\\"Probability of the two hint types, for the two game states\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"dnVJO-Nn7zY4\"\n   },\n   \"source\": [\n    \"Fill out the reward modality, a sub-array of `A` which we'll call `A_rew`\\n\",\n    \"\\n\",\n    \"<img src=\\\"https://drive.google.com/uc?export=view&id=155LAPZ9_aulJ3YYZwwlOWrEa6unabHht\\\"/>\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"id\": \"fVnKm0zU8Ng3\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"p_reward = 0.8 # probability of getting a rewarding outcome, if you are sampling the more rewarding bandit\\n\",\n    \"\\n\",\n    \"A_reward = np.zeros((len(reward_obs_names), len(context_names), len(choice_names)))\\n\",\n    \"\\n\",\n    \"for choice_id, choice_name in enumerate(choice_names):\\n\",\n    \"\\n\",\n    \"  if choice_name == 'Start':\\n\",\n    \"\\n\",\n    \"    A_reward[0,:,choice_id] = 1.0\\n\",\n    \"  \\n\",\n    \"  elif choice_name == 'Hint':\\n\",\n    \"\\n\",\n    \"    A_reward[0,:,choice_id] = 1.0\\n\",\n    \"  \\n\",\n    \"  elif choice_name == 'Left Arm':\\n\",\n    \"\\n\",\n    \"    A_reward[1:,:,choice_id] = np.array([ [1.0-p_reward, p_reward], \\n\",\n    \"                                        [p_reward, 1.0-p_reward]])\\n\",\n    \"  elif choice_name == 'Right Arm':\\n\",\n    \"\\n\",\n    \"    A_reward[1:, :, choice_id] = np.array([[ p_reward, 1.0- p_reward], \\n\",\n    \"                                         [1- p_reward, p_reward]])\\n\",\n    \"  \\n\",\n    \"A[1] = A_reward\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"id\": \"CWKQSusN9Jzk\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x432 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A[1][:,:,2], 'Payoff structure if playing the Left Arm, for the two contexts')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"g62Zjwg0-iot\"\n   },\n   \"source\": [\n    \"Fill out the choice observation modality, a sub-array of `A` which we'll call `A_choice`\\n\",\n    \"\\n\",\n    \"<img src=\\\"https://drive.google.com/uc?export=view&id=1LGdGX0TgesvQ2HDnHMg42XHh0n6ZKnHw\\\"/>\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"id\": \"VHdgBVSm-mOL\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"A_choice = np.zeros((len(choice_obs_names), len(context_names), len(choice_names)))\\n\",\n    \"\\n\",\n    \"for choice_id in range(len(choice_names)):\\n\",\n    \"\\n\",\n    \"  A_choice[choice_id, :, choice_id] = 1.0\\n\",\n    \"\\n\",\n    \"A[2] = A_choice\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"id\": \"2O5QpoC8Uc8j\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x432 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\\"\\\"\\\" Condition on context (first hidden state factor) and display the remaining indices (outcome and choice state) \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"plot_likelihood(A[2][:,0,:], \\\"Mapping between sensed states and true states\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"FhP5apgR-7zN\"\n   },\n   \"source\": [\n    \"### The `B` array\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"id\": \"JSiiIJdu4n9b\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"B = utils.obj_array(num_factors)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"_b7Fyz0T59e0\"\n   },\n   \"source\": [\n    \" Fill out the context state factor dynamics, a sub-array of `B` which we'll call `B_context`\\n\",\n    \"\\n\",\n    \"<img src=\\\"https://drive.google.com/uc?export=view&id=1_VvkCpRu1wWwEFiAJKnOGAGikd5KeiiE\\\" width=\\\"600\\\" height=\\\"300\\\" />\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"id\": \"lVtIXiyq6EHo\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"B_context = np.zeros( (len(context_names), len(context_names), len(context_action_names)) )\\n\",\n    \"\\n\",\n    \"B_context[:,:,0] = np.eye(len(context_names))\\n\",\n    \"\\n\",\n    \"B[0] = B_context\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"FzDc6PLG5Mof\"\n   },\n   \"source\": [\n    \"Fill out the choice factor dynamics, a sub-array of `B` which we'll call `B_choice`\\n\",\n    \"\\n\",\n    \"<img src=\\\"https://drive.google.com/uc?export=view&id=1qeuFvNIrJR7ldjpkrB6_jAp6JM3UhMw0\\\"/>\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"id\": \"--5HyEYt42Q8\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"B_choice = np.zeros( (len(choice_names), len(choice_names), len(choice_action_names)) )\\n\",\n    \"\\n\",\n    \"for choice_i in range(len(choice_names)):\\n\",\n    \"  \\n\",\n    \"  B_choice[choice_i, :, choice_i] = 1.0\\n\",\n    \"\\n\",\n    \"B[1] = B_choice\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"ll-mBL_2_McK\"\n   },\n   \"source\": [\n    \"### The `C` vectors\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"id\": \"ib54P_VFvjk0\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"\\\"\\\"\\\" Explain `obj_array_zeros` and how you don't have to populate them necessarily \\\"\\\"\\\"\\n\",\n    \"C = utils.obj_array_zeros(num_obs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"id\": \"4JlKcepO_KgA\"\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"from pymdp.maths import softmax\\n\",\n    \"\\n\",\n    \"C_reward = np.zeros(len(reward_obs_names))\\n\",\n    \"C_reward[1] = -4.0 \\n\",\n    \"C_reward[2] = 2.0 \\n\",\n    \"\\n\",\n    \"C[1] = C_reward\\n\",\n    \"\\n\",\n    \"plot_beliefs(softmax(C_reward), title_str = \\\"Prior preferences\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"lJXKG-IV_qm1\"\n   },\n   \"source\": [\n    \"### The `D` vectors\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"id\": \"MJTKm27fv_Rf\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Beliefs about which arm is better: [0.5 0.5]\\n\",\n      \"Beliefs about starting location: [1. 0. 0. 0.]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"D = utils.obj_array(num_factors)\\n\",\n    \"\\n\",\n    \"D_context = np.array([0.5,0.5])\\n\",\n    \"\\n\",\n    \"D[0] = D_context\\n\",\n    \"\\n\",\n    \"D_choice = np.zeros(len(choice_names))\\n\",\n    \"\\n\",\n    \"D_choice[choice_names.index(\\\"Start\\\")] = 1.0\\n\",\n    \"\\n\",\n    \"D[1] = D_choice\\n\",\n    \"\\n\",\n    \"print(f'Beliefs about which arm is better: {D[0]}')\\n\",\n    \"print(f'Beliefs about starting location: {D[1]}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"fP7NySzAhWgf\"\n   },\n   \"source\": [\n    \"## **Constructing an `Agent`**\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 19,\n   \"metadata\": {\n    \"id\": \"ls9VoZX__0Vp\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"from pymdp.agent import Agent\\n\",\n    \"\\n\",\n    \"my_agent = Agent(A = A, B = B, C = C, D = D)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"4Xu-ZVZBh_wH\"\n   },\n   \"source\": [\n    \"Define a class for the 2-armed bandit environment (AKA the _generative process_)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 20,\n   \"metadata\": {\n    \"id\": \"LjxoLs67AXwR\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"class TwoArmedBandit(object):\\n\",\n    \"\\n\",\n    \"  def __init__(self, context = None, p_hint = 1.0, p_reward = 0.8):\\n\",\n    \"\\n\",\n    \"    self.context_names = [\\\"Left-Better\\\", \\\"Right-Better\\\"]\\n\",\n    \"\\n\",\n    \"    if context is None:\\n\",\n    \"      self.context = self.context_names[utils.sample(np.array([0.5, 0.5]))] # randomly sample which bandit arm is better (Left or Right)\\n\",\n    \"    else:\\n\",\n    \"      self.context = context\\n\",\n    \"\\n\",\n    \"    self.p_hint = p_hint\\n\",\n    \"    self.p_reward = p_reward\\n\",\n    \"\\n\",\n    \"    self.reward_obs_names = ['Null', 'Loss', 'Reward']\\n\",\n    \"    self.hint_obs_names = ['Null', 'Hint-left', 'Hint-right']\\n\",\n    \"\\n\",\n    \"  def step(self, action):\\n\",\n    \"\\n\",\n    \"    if action == \\\"Move-start\\\":\\n\",\n    \"      observed_hint = \\\"Null\\\"\\n\",\n    \"      observed_reward = \\\"Null\\\"\\n\",\n    \"      observed_choice = \\\"Start\\\"\\n\",\n    \"    elif action == \\\"Get-hint\\\":\\n\",\n    \"      if self.context == \\\"Left-Better\\\":\\n\",\n    \"        observed_hint = self.hint_obs_names[utils.sample(np.array([0.0, self.p_hint, 1.0 - self.p_hint]))]\\n\",\n    \"      elif self.context == \\\"Right-Better\\\":\\n\",\n    \"        observed_hint = self.hint_obs_names[utils.sample(np.array([0.0, 1.0 - self.p_hint, self.p_hint]))]\\n\",\n    \"      observed_reward = \\\"Null\\\"\\n\",\n    \"      observed_choice = \\\"Hint\\\"\\n\",\n    \"    elif action == \\\"Play-left\\\":\\n\",\n    \"      observed_hint = \\\"Null\\\"\\n\",\n    \"      observed_choice = \\\"Left Arm\\\"\\n\",\n    \"      if self.context == \\\"Left-Better\\\":\\n\",\n    \"        observed_reward = self.reward_obs_names[utils.sample(np.array([0.0, 1.0 - self.p_reward, self.p_reward]))]\\n\",\n    \"      elif self.context == \\\"Right-Better\\\":\\n\",\n    \"        observed_reward = self.reward_obs_names[utils.sample(np.array([0.0, self.p_reward, 1.0 - self.p_reward]))]\\n\",\n    \"    elif action == \\\"Play-right\\\":\\n\",\n    \"      observed_hint = \\\"Null\\\"\\n\",\n    \"      observed_choice = \\\"Right Arm\\\"\\n\",\n    \"      if self.context == \\\"Right-Better\\\":\\n\",\n    \"        observed_reward = self.reward_obs_names[utils.sample(np.array([0.0, 1.0 - self.p_reward, self.p_reward]))]\\n\",\n    \"      elif self.context == \\\"Left-Better\\\":\\n\",\n    \"        observed_reward = self.reward_obs_names[utils.sample(np.array([0.0, self.p_reward, 1.0 - self.p_reward]))]\\n\",\n    \"    \\n\",\n    \"    obs = [observed_hint, observed_reward, observed_choice]\\n\",\n    \"\\n\",\n    \"    return obs\\n\",\n    \"  \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"h6IeX_BlhmBy\"\n   },\n   \"source\": [\n    \"Now we'll write a function that will take the agent, the environment, and a time length and run the active inference loop\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 21,\n   \"metadata\": {\n    \"id\": \"In-AoaGQDdQH\"\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def run_active_inference_loop(my_agent, my_env, T = 5):\\n\",\n    \"\\n\",\n    \"  \\\"\\\"\\\" Initialize the first observation \\\"\\\"\\\"\\n\",\n    \"  obs_label = [\\\"Null\\\", \\\"Null\\\", \\\"Start\\\"]  # agent observes itself seeing a `Null` hint, getting a `Null` reward, and seeing itself in the `Start` location\\n\",\n    \"  obs = [hint_obs_names.index(obs_label[0]), reward_obs_names.index(obs_label[1]), choice_obs_names.index(obs_label[2])]\\n\",\n    \"  \\n\",\n    \"  for t in range(T):\\n\",\n    \"    qs = my_agent.infer_states(obs)\\n\",\n    \"    plot_beliefs(qs[0], title_str = f\\\"Beliefs about the context at time {t}\\\")\\n\",\n    \"\\n\",\n    \"    q_pi, efe = my_agent.infer_policies()\\n\",\n    \"    chosen_action_id = my_agent.sample_action()\\n\",\n    \"\\n\",\n    \"    movement_id = int(chosen_action_id[1])\\n\",\n    \"\\n\",\n    \"    choice_action = choice_action_names[movement_id]\\n\",\n    \"\\n\",\n    \"    obs_label = my_env.step(choice_action)\\n\",\n    \"\\n\",\n    \"    obs = [hint_obs_names.index(obs_label[0]), reward_obs_names.index(obs_label[1]), choice_obs_names.index(obs_label[2])]\\n\",\n    \"\\n\",\n    \"    print(f'Action at time {t}: {choice_action}')\\n\",\n    \"    print(f'Reward at time {t}: {obs_label[1]}')\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"gYeg73orwtHC\"\n   },\n   \"source\": [\n    \"Now all we have to do is define the two-armed bandit environment, choose the length of the simulation, and run the function we wrote above.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"*   Try playing with the hint accuracy and/or reward statistics of the environment - remember this is _different_ than the agent's representation of the reward statistics (i.e. the agent's generative model, e.g. the A or B matrices).\\n\",\n    \"\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 22,\n   \"metadata\": {\n    \"id\": \"Vy7OXyo8wvY0\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Context: Right-Better\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 0: Get-hint\\n\",\n      \"Reward at time 0: Null\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 1: Get-hint\\n\",\n      \"Reward at time 1: Null\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 2: Play-right\\n\",\n      \"Reward at time 2: Reward\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 3: Play-right\\n\",\n      \"Reward at time 3: Reward\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 4: Play-right\\n\",\n      \"Reward at time 4: Loss\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 5: Play-right\\n\",\n      \"Reward at time 5: Loss\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 6: Play-right\\n\",\n      \"Reward at time 6: Reward\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAXQAAAEICAYAAABPgw/pAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAATbElEQVR4nO3df7RlZX3f8feHGYEICInoVGbGgcrUOKgN9gbMSrK8RtKANYxZ+SEksYDUqaslNctfJYmlLJKYmpJqbGhwYlgk/oCgTV1jM2ay2nhDU6NFFmodyHSNaJwBlYiAXJQS4rd/7D3pnsO995wZzp0788z7tdZZc/bez9n7e56z9+fu85yzz6SqkCQd+Y5Z6QIkSdNhoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAP8IkmU2ydzC9M8nshI/9sSR7kswnOXtK9ZyepJKsnsb6nqzR/tH0JfnFJO9Z6Tr0RAb6CkjyxSTf6oP1gSR/lGT9wayrqs6qqrkJm18LXFFVJ1bVHQezvUMpyY1JfmVMm0py5qGqaRqmWfOTXVe/L563xPIn/IGsqrdV1T872G0eQG0/2B8jw1sl+fHl3vaRykBfOT9aVScCzwK+CvzHQ7DNDcDOQ7Ad6Umrqv/Rn3yc2B8rrwDmgT9e4dIOWwb6CquqR4EPAZv2zUtyXJJrk3wpyVeTXJ/kOxZ6/PAMK8kxSa5M8vkk9ye5Jcl39eubB1YBn0ny+b79v05yT5KHk+xK8rJFtvFPktyR5Bv9kM3VCzR7TZJ7k3w5yZtGnss7+2X39veP65ddmuTPR7ZVSc5MsgX4GeAt/ZnZRxao69b+7mf6Nq8aLHtjkvv6ei47mL7t2782yV19H92Z5EX9/OclmUvyYD/sdeHgMTcmua5/5/Vwkk8mec5SNSd5RZJP9+v7eJIX9vNfleQLSZ7WT1+Q5CtJnrHU8x/U8pwkf9rvD19L8v4kp/TL3gs8G/hI//i3jDz2BOCjwGmDM+TTklyd5H19m31Dbpf1+8YDSV6X5HuTfLZ/Pr81st7X9H36QJIdSTYs1v8jLgE+VFWPTNj+6FNV3g7xDfgicF5//6nA7wG/P1j+DmAb8F3AScBHgF/rl80CexdZ1+uBTwDrgOOAdwM3DdoWcGZ//7nAHuC0fvp04DmL1DsLvIDuBOCFdO8oXjl4XAE3ASf07f56UNM1fU3PBJ4BfBz45X7ZpcCfj2xrWOONwK+M6cu/az+o9fF+u08BXg58E/jOcX27wLp/ErgH+F4gwJl073KeAuwGfhE4Fvgh4GHguYO67wfOAVYD7wduXqLms4H7gHPp/uhe0r+ux/XL39+v8+nAvcArFlvXAs/hTOCH+/3hGcCtwDsX2n+WeO33jsy7GnjfyOt/PXA88I+BR4EP96/52v65vaRvv7nvu+f1ffNW4OMTHDMn9H08u9LH7+F8W/ECjsZbfxDNAw8Cf9MfpC/olwV4hEG4At8HfKG/v98Bxv6BfhfwssGyZ/XrX91PD8PyzP5AOw94ygHW/07gHf39fQf0dw+W/zrwu/39zwMvHyz7EeCL/f1LWZ5A/9a+59zPuw948bi+XWDdO4DXLzD/B4GvAMcM5t0EXD2o+z2DZS8H/nKJmn+b/o/cYN6uQQieAnwJ+N/Au5d6/hO8dq8E7lho/1mk/X77Wz/vap4Y6GsHy+8HXjWY/s/Az/f3PwpcPlh2DN0f3A1j6n418AUgB3vcHQ23w+KbCUepV1bVf0uyiu6s5c+SbAK+TXfWfnuSfW1Dd+Y2zgbgvyT59mDe3wJr6M40/05V7U7y83QH51lJdgBvqKp7R1ea5Fzg3wHPpzsjPQ744EizPYP7f0V3pg5wWj89XHbaBM/lybi/qh4fTH8TOJHuDPVA+nY93R+kUacBe6pq2M9/RXc2us9XFtj+YjYAlyT5ucG8Y/vtUFUPJvkg8AbggD4QTLIG+E26P0In0QXoAweyjgl9dXD/WwtM73v+G4DfTPIbwzLp+m64n4y6hO5drL8muATH0FdYVf1tVf0hXfD+APA1ugPgrKo6pb+dXN2HQuPsAS4YPO6Uqjq+qu5ZqHFVfaCqfoDuICvg7Yus9wN0wxTrq+pkurfXGWkz/JbOs+neddD/u2GRZY/QBSwASf7eaImL1HOwDrRv9wDPWWD+vcD6JMPj59mM/NE8AHuAXx153Z5aVTcBJPke4DV07wLedYDrfhtdP76gqp4G/Cz7v3bj+njar8Ee4J+PPNfvqKqPL/aAdN8AmwV+f8q1NMdAX2HpbAa+E7irP+v7HeAdSZ7Zt1mb5EcmWN31wK/u+5Cp/+Bs8yLbfW6SH+o/oHyULui+vVBbujO7r1fVo0nOAX56gTb/JslTk5wFXAb8QT//JuCtfS2nAlcB7+uXfYbu3cH3JDme7t3C0FeBvz/mOU/SBoCD6Nv3AG9K8o/61+nMvm8/SXfW/ZYkT0l3HcCPAjdPUscCNf8O8Lok5/bbOSHdB9En9f3yPrrx+suAtUn+xRLrGnUS3fDeQ0nWAm8eU8tCtT49yckTPbPxrgd+od9PSHJykp8c85hX042zL/RuSUMrPeZzNN7oxi2/RXegPQx8DviZwfLj6c6s7ga+QTc2/q/6ZbMsPoZ+DN3b8l39ej8PvG3Qdjg+/ULgf/Xtvg78V/oPSBeo9yfo3g4/3Lf7LZ44hrqF7sz1K8BbRp7Lu4Av97d3AccPlv8S3ZnzHrqzx2GNG4FP033W8OFFantdv94HgZ8a7Z8F+mjRvl1i/bv61+pzwNn9/LOAPwMeAu4EfmzwmBsZjP0v8JrtV3M/73zgtn7el+mGtE6i+xD3o4PH/sP+9dq42LpG6j8LuL2v/9PAG0dq2Uw3Pv8g8KZF+uAGunHxB+mGga5e4PUffmaxl8GHl3R/kN46mH413ecB3+hf9xvGHC9/yWDc3dvit/QdJkk6wjnkIkmNMNAlqRFjAz3JDemuuPvcIsuT5F1JdvdXhr1o+mVKksaZ5Az9RroPbBZzAd2HVxvpPhj77SdfliTpQI29sKiqbk1y+hJNNvP/v/D/iSSnJHlWVX15qfWeeuqpdfrpS61Wk3rkkUc44YQTVroMaVHuo9Nz++23f62qnrHQsmlcKbqW/a8S3NvPe0Kgp/vBpS0Aa9as4dprr53C5jU/P8+JJ05y3ZG0MtxHp+elL33polfUHtJL/6tqK7AVYGZmpmZnZw/l5ps1NzeHfanDmfvooTGNb7ncw/6Xfa/j4C+BliQdpGkE+jbgn/bfdnkx8NC48XNJ0vSNHXJJchPdpcunpvuvqP4t3e9BU1XXA9vpfh50N93vW1y28JokSctpkm+5XDxmeQH/cmoVSZIOileKSlIjDHRJaoSBLkmNMNAlqRH+n6LScsjo/9B3dJtd6QION8v0/1B4hi5JjTDQJakRBrokNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqhIEuSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEYY6JLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGGOiS1IiJAj3J+Ul2Jdmd5MoFlj87yceS3JHks0lePv1SJUlLGRvoSVYB1wEXAJuAi5NsGmn2VuCWqjobuAj4T9MuVJK0tEnO0M8BdlfV3VX1GHAzsHmkTQFP6++fDNw7vRIlSZNYPUGbtcCewfRe4NyRNlcDf5Lk54ATgPOmUp0kaWKTBPokLgZurKrfSPJ9wHuTPL+qvj1slGQLsAVgzZo1zM3NTWnzR7f5+Xn78jAzu9IF6LC2XMfrJIF+D7B+ML2unzd0OXA+QFX9RZLjgVOB+4aNqmorsBVgZmamZmdnD65q7Wdubg77UjpyLNfxOskY+m3AxiRnJDmW7kPPbSNtvgS8DCDJ84Djgb+eZqGSpKWNDfSqehy4AtgB3EX3bZadSa5JcmHf7I3Aa5N8BrgJuLSqarmKliQ90URj6FW1Hdg+Mu+qwf07ge+fbmmSpAPhlaKS1AgDXZIaYaBLUiMMdElqhIEuSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEYY6JLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqhIEuSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjJgr0JOcn2ZVkd5IrF2nzU0nuTLIzyQemW6YkaZzV4xokWQVcB/wwsBe4Lcm2qrpz0GYj8AvA91fVA0meuVwFS5IWNskZ+jnA7qq6u6oeA24GNo+0eS1wXVU9AFBV9023TEnSOGPP0IG1wJ7B9F7g3JE2/wAgyf8EVgFXV9Ufj64oyRZgC8CaNWuYm5s7iJI1an5+3r48zMyudAE6rC3X8TpJoE+6no10+/E64NYkL6iqB4eNqmorsBVgZmamZmdnp7T5o9vc3Bz2pXTkWK7jdZIhl3uA9YPpdf28ob3Atqr6m6r6AvB/6AJeknSITBLotwEbk5yR5FjgImDbSJsP07/LTHIq3RDM3dMrU5I0zthAr6rHgSuAHcBdwC1VtTPJNUku7JvtAO5PcifwMeDNVXX/chUtSXqiicbQq2o7sH1k3lWD+wW8ob9JklaAV4pKUiMMdElqhIEuSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEYY6JLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqhIEuSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjDHRJasREgZ7k/CS7kuxOcuUS7X48SSWZmV6JkqRJjA30JKuA64ALgE3AxUk2LdDuJOD1wCenXaQkabxJztDPAXZX1d1V9RhwM7B5gXa/DLwdeHSK9UmSJrR6gjZrgT2D6b3AucMGSV4ErK+qP0ry5sVWlGQLsAVgzZo1zM3NHXDBeqL5+Xn78jAzu9IF6LC2XMfrJIG+pCTHAP8BuHRc26raCmwFmJmZqdnZ2Se7edHtHPaldORYruN1kiGXe4D1g+l1/bx9TgKeD8wl+SLwYmCbH4xK0qE1SaDfBmxMckaSY4GLgG37FlbVQ1V1alWdXlWnA58ALqyqTy1LxZKkBY0N9Kp6HLgC2AHcBdxSVTuTXJPkwuUuUJI0mYnG0KtqO7B9ZN5Vi7SdffJlSZIOlFeKSlIjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEYY6JLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqhIEuSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEYY6JLUCANdkhphoEtSIwx0SWrERIGe5Pwku5LsTnLlAsvfkOTOJJ9N8t+TbJh+qZKkpYwN9CSrgOuAC4BNwMVJNo00uwOYqaoXAh8Cfn3ahUqSljbJGfo5wO6quruqHgNuBjYPG1TVx6rqm/3kJ4B10y1TkjTO6gnarAX2DKb3Aucu0f5y4KMLLUiyBdgCsGbNGubm5iarUkuan5+3Lw8zsytdgA5ry3W8ThLoE0vys8AM8JKFllfVVmArwMzMTM3Ozk5z80etubk57EvpyLFcx+skgX4PsH4wva6ft58k5wG/BLykqv7vdMqTJE1qkjH024CNSc5IcixwEbBt2CDJ2cC7gQur6r7plylJGmdsoFfV48AVwA7gLuCWqtqZ5JokF/bN/j1wIvDBJJ9Osm2R1UmSlslEY+hVtR3YPjLvqsH986ZclyTpAHmlqCQ1wkCXpEYY6JLUCANdkhphoEtSIwx0SWqEgS5JjTDQJakRBrokNcJAl6RGGOiS1AgDXZIaYaBLUiMMdElqhIEuSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGmGgS1IjDHRJaoSBLkmNMNAlqREGuiQ1wkCXpEYY6JLUCANdkhqxeqULOCjJSldwWJld6QION1UrXYG0IjxDl6RGGOiS1AgDXZIaYaBLUiMMdElqhIEuSY2YKNCTnJ9kV5LdSa5cYPlxSf6gX/7JJKdPvVJJ0pLGBnqSVcB1wAXAJuDiJJtGml0OPFBVZwLvAN4+7UIlSUub5Az9HGB3Vd1dVY8BNwObR9psBn6vv/8h4GWJV/9I0qE0yZWia4E9g+m9wLmLtamqx5M8BDwd+NqwUZItwJZ+cj7JroMpWk9wKiN9fVTzXOJw5D469OT20Q2LLTikl/5X1VZg66Hc5tEgyaeqamal65AW4z56aEwy5HIPsH4wva6ft2CbJKuBk4H7p1GgJGkykwT6bcDGJGckORa4CNg20mYbcEl//yeAP63yF5Ik6VAaO+TSj4lfAewAVgE3VNXOJNcAn6qqbcDvAu9Nshv4Ol3o69BxGEuHO/fRQyCeSEtSG7xSVJIaYaBLUiMM9CPYuJ9kkFZakhuS3Jfkcytdy9HAQD9CTfiTDNJKuxE4f6WLOFoY6EeuSX6SQVpRVXUr3TffdAgY6EeuhX6SYe0K1SLpMGCgS1IjDPQj1yQ/ySDpKGKgH7km+UkGSUcRA/0IVVWPA/t+kuEu4Jaq2rmyVUn7S3IT8BfAc5PsTXL5StfUMi/9l6RGeIYuSY0w0CWpEQa6JDXCQJekRhjoktQIA12SGmGgS1Ij/h+7mnsJiz5Y6QAAAABJRU5ErkJggg==\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 7: Play-right\\n\",\n      \"Reward at time 7: Loss\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 8: Play-right\\n\",\n      \"Reward at time 8: Reward\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 9: Play-right\\n\",\n      \"Reward at time 9: Reward\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"p_hint_env = 1.0 # this is the \\\"true\\\" accuracy of the hint - i.e. how often does the hint actually signal which arm is better. REMEMBER: THIS IS INDEPENDENT OF HOW YOU PARAMETERIZE THE A MATRIX FOR THE HINT MODALITY\\n\",\n    \"p_reward_env = 0.7 # this is the \\\"true\\\" reward probability - i.e. how often does the better arm actually return a reward, as opposed to a loss. REMEMBER: THIS IS INDEPENDENT OF HOW YOU PARAMETERIZE THE A MATRIX FOR THE REWARD MODALITY\\n\",\n    \"env = TwoArmedBandit(p_hint = p_hint_env, p_reward = p_reward_env)\\n\",\n    \"print(f'Context: {env.context}')\\n\",\n    \"\\n\",\n    \"T = 10\\n\",\n    \"\\n\",\n    \"# my_agent = Agent(A = A, B = B, C = C, D = D) # in case you want to re-define the agent, you can run this again\\n\",\n    \"\\n\",\n    \"run_active_inference_loop(my_agent, env, T = T)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {\n    \"id\": \"scuxk92i3Mef\"\n   },\n   \"source\": [\n    \"Now let's try manipulating the agent's prior preferences over reward observations ($\\\\mathbf{C}[1]$) in order to examine the tension between exploration and exploitation.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 23,\n   \"metadata\": {\n    \"id\": \"B1XpcHlX3Gnj\"\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Context: Right-Better\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 0: Play-left\\n\",\n      \"Reward at time 0: Reward\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 1: Play-left\\n\",\n      \"Reward at time 1: Loss\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 2: Play-left\\n\",\n      \"Reward at time 2: Loss\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 3: Play-right\\n\",\n      \"Reward at time 3: Reward\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 4: Play-right\\n\",\n      \"Reward at time 4: Reward\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 5: Play-right\\n\",\n      \"Reward at time 5: Reward\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 6: Play-right\\n\",\n      \"Reward at time 6: Reward\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 7: Play-right\\n\",\n      \"Reward at time 7: Reward\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 8: Play-right\\n\",\n      \"Reward at time 8: Reward\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Action at time 9: Play-right\\n\",\n      \"Reward at time 9: Reward\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# change the 'shape' of the agent's reward function\\n\",\n    \"C[1][1] = 0.0 # makes the Loss \\\"less aversive\\\" than before (higher prior prior probability assigned to seeing the Loss outcome). This should make the agent less risk-averse / willing to explore both arms, under uncertainty\\n\",\n    \"\\n\",\n    \"my_agent = Agent(A = A, B = B, C = C, D = D) # redefine the agent with the new preferences\\n\",\n    \"env = TwoArmedBandit(p_hint = 0.8, p_reward = 0.8) # re-initialize the environment -- this time, the hint is not always accurate (`p_hint = 0.8`)\\n\",\n    \"print(f'Context: {env.context}')\\n\",\n    \"\\n\",\n    \"run_active_inference_loop(my_agent, env, T = T)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"colab\": {\n   \"collapsed_sections\": [\n    \"lu35jiGX4Iae\",\n    \"0Icnjv8T4fpx\"\n   ],\n   \"name\": \"Active Inference with pymdp: Tutorial 2\",\n   \"provenance\": []\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3.7.10 ('pymdp_env')\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.8.8\"\n  },\n  \"vscode\": {\n   \"interpreter\": {\n    \"hash\": \"43ee964e2ad3601b7244370fb08e7f23a81bd2f0e3c87ee41227da88c57ff102\"\n   }\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "docs/requirements.txt",
    "content": "# sphinx <4 required by myst-nb v0.12.0 (Feb 2021)\n# sphinx >=3 required by sphinx-autodoc-typehints v1.11.1 (Oct 2020)\n# sphinx >=3, <4 # old version of sphinx dependency, based on two comments above\n\n# New commit to myst-nb (September 2021) suggests it can work with sphinx >4 (see https://github.com/executablebooks/MyST-NB/commit/9f6fae2da3f1ce3e726320eade079b8e25a878fa)\nsphinx==4.2.0\nsphinx_rtd_theme\nsphinx-autodoc-typehints==1.11.1\njupyter-sphinx>=0.3.2\nmyst-nb\njinja2==3.0.0\n\n# Packages used for notebook execution\nmatplotlib\nnumpy\nseaborn\n."
  },
  {
    "path": "docs-mkdocs/agent.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"refresh\" content=\"0; url=api/agent/\" />\n    <link rel=\"canonical\" href=\"api/agent/\" />\n    <title>Redirecting...</title>\n  </head>\n  <body>\n    <p>Redirecting to <a href=\"api/agent/\">api/agent/</a>.</p>\n  </body>\n</html>\n"
  },
  {
    "path": "docs-mkdocs/algos/index.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"refresh\" content=\"0; url=api/algos/\" />\n    <link rel=\"canonical\" href=\"api/algos/\" />\n    <title>Redirecting...</title>\n  </head>\n  <body>\n    <p>Redirecting to <a href=\"api/algos/\">api/algos/</a>.</p>\n  </body>\n</html>\n"
  },
  {
    "path": "docs-mkdocs/api/agent.md",
    "content": "# `pymdp.agent`\n\n::: pymdp.agent\n    options:\n      members:\n        - Agent\n"
  },
  {
    "path": "docs-mkdocs/api/algos.md",
    "content": "# `pymdp.algos`\n\n::: pymdp.algos\n    options:\n      members:\n        - run_factorized_fpi\n        - run_mmp\n        - run_vmp\n        - run_exact_single_factor_hmm_scan\n        - hmm_filter_scan_colstoch\n        - hmm_smoother_scan_colstoch\n"
  },
  {
    "path": "docs-mkdocs/api/control.md",
    "content": "# `pymdp.control`\n\n::: pymdp.control\n    options:\n      members:\n        - Policies\n        - construct_policies\n        - sample_action\n        - sample_policy\n        - get_marginals\n        - update_posterior_policies\n        - update_posterior_policies_inductive\n        - compute_expected_state\n        - compute_expected_state_and_Bs\n        - compute_expected_obs\n        - compute_info_gain\n        - compute_expected_utility\n        - calc_negative_pA_info_gain\n        - calc_negative_pB_info_gain\n        - compute_neg_efe_policy\n        - compute_neg_efe_policy_inductive\n        - generate_I_matrix\n        - calc_inductive_value_t\n"
  },
  {
    "path": "docs-mkdocs/api/envs-env.md",
    "content": "# `pymdp.envs.env`\n\n::: pymdp.envs.env\n    options:\n      members:\n        - make\n        - Env\n        - PymdpEnv\n"
  },
  {
    "path": "docs-mkdocs/api/envs-rollout.md",
    "content": "# `pymdp.envs.rollout`\n\n::: pymdp.envs.rollout\n    options:\n      members:\n        - infer_and_plan\n        - rollout\n"
  },
  {
    "path": "docs-mkdocs/api/index.md",
    "content": "# API Reference\n\nThis reference is auto-generated from modern modules (`pymdp.*`) using mkdocstrings.\n\nLegacy modules are intentionally excluded from generated API pages and are documented in the [legacy archive](../legacy/index.md).\n\nFor end-to-end loop construction, see the dedicated [`rollout()` guide](../guides/rollout-active-inference-loop.md).\nFor environment abstractions, see `pymdp.envs.env` and `pymdp.envs.rollout` in this API section.\n"
  },
  {
    "path": "docs-mkdocs/api/inference.md",
    "content": "# `pymdp.inference`\n\n::: pymdp.inference\n    options:\n      members:\n        - update_posterior_states\n        - joint_dist_factor\n        - smoothing_ovf\n        - smoothing_exact\n"
  },
  {
    "path": "docs-mkdocs/api/learning.md",
    "content": "# `pymdp.learning`\n\n::: pymdp.learning\n    options:\n      members:\n        - update_obs_likelihood_dirichlet_m\n        - update_obs_likelihood_dirichlet\n        - update_state_transition_dirichlet_f\n        - update_state_transition_dirichlet\n"
  },
  {
    "path": "docs-mkdocs/api/maths.md",
    "content": "# `pymdp.maths`\n\n::: pymdp.maths\n"
  },
  {
    "path": "docs-mkdocs/api/planning-mcts.md",
    "content": "# MCTS Planning\n\n::: pymdp.planning.mcts\n"
  },
  {
    "path": "docs-mkdocs/api/planning-si.md",
    "content": "# Sophisticated Inference Planning\n\n::: pymdp.planning.si\n"
  },
  {
    "path": "docs-mkdocs/api/utils.md",
    "content": "# `pymdp.utils`\n\n::: pymdp.utils\n"
  },
  {
    "path": "docs-mkdocs/control.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"refresh\" content=\"0; url=api/control/\" />\n    <link rel=\"canonical\" href=\"api/control/\" />\n    <title>Redirecting...</title>\n  </head>\n  <body>\n    <p>Redirecting to <a href=\"api/control/\">api/control/</a>.</p>\n  </body>\n</html>\n"
  },
  {
    "path": "docs-mkdocs/development/release-notes.md",
    "content": "# Release Notes\n\n## 1.0.0\n\n`pymdp` 1.0.0 is the first major release since the `0.0.7` line. The small\n`v0.0.7.1` patch was primarily packaging-oriented; the substantive story of\nthis release is that `pymdp` is now JAX-first. The primary docs, examples,\ntesting surface, and supported workflows now center on accelerator-friendly,\nbatched, differentiable active inference, while the previous NumPy/object-array\nimplementation is preserved under `pymdp.legacy`.\n\nAlongside the backend transition, this release adds a much richer environment\nand rollout workflow, upgraded inference and planning APIs, variational free\nenergy diagnostics, probabilistic model-fitting workflows built around\n`pybefit` and NumPyro, a JAX-first documentation site, and release-grade\ntesting and notebook execution gates.\n\n### Breaking Changes And Migration\n\nIf you are upgrading from the legacy NumPy backend, start with the\n[NumPy/legacy to JAX migration guide](../migration/numpy-to-jax.md).\n\n- `pymdp.*` now refers to the modern JAX implementation. Legacy NumPy code is\n  still available, but it lives under `pymdp.legacy.*`.\n- The `Agent` API is now explicitly JAX- and batch-oriented. In particular,\n  `batch_size` replaces the older `apply_batch` naming, and many public\n  surfaces now assume a leading batch axis.\n- The `Agent`'s policy set is now stored as a dedicated Equinox module rather\n  than a raw ndarray. In practice, `self.policies` is now a structured\n  container, and the underlying policy array lives under\n  `self.policies.policy_arr`.\n- Policy scoring is now consistently exposed as `neg_efe = -EFE`. In practice,\n  `agent.infer_policies(qs)` returns `(q_pi, neg_efe)`, `rollout()` extras use\n  `info[\"neg_efe\"]` instead of `info[\"G\"]`, and sophisticated-inference\n  planning thresholds use `neg_efe_stop_threshold`.\n- Observation handling is stricter and more explicit. The older\n  `onehot_obs` naming is now standardized as `categorical_obs`, and environment\n  observations should match the `Agent`'s expected observation format.\n- Randomness is now explicit in the JAX workflow. Sampling and simulation paths\n  such as `sample_action()`, `rollout()`, and environment `reset`/`step`\n  methods use explicit PRNG keys.\n- JAX workflows are more functional than mutable. Existing code that assumed\n  in-place stateful updates on `Agent` objects may need to be rewritten around\n  returned values and updated carries.\n- Validation is stricter in several places. For example, `learn_A=True` now\n  requires `pA`, and model-shape / normalization errors are surfaced earlier.\n\n### Major New Capabilities\n\n#### JAX-First Core Library And Utilities\n\n- The primary `Agent`, inference, control, learning, and planning APIs are now\n  built around JAX arrays and pytrees rather than legacy object-array\n  conventions.\n- The core JAX surface is designed to be JIT-friendly and autodiff-compatible,\n  with tighter validation around `Distribution` shapes, normalization, and\n  model structure.\n- `Agent` methods and related JAX-first library paths are now designed to be\n  differentiable, which enables workflows such as fitting or training learned\n  front ends around `pymdp`-defined POMDPs, including amortized neural\n  encoders.\n- Generative models now support explicit sparse dependency structure through\n  `A_dependencies` and `B_dependencies`, making it easier to express structured\n  observation models and sparse state-transition graphs without falling back to\n  dense all-to-all coupling.\n- JAX-native utility helpers now cover common model-construction workflows such\n  as `random_A_array`, `random_B_array`, `make_A_full`,\n  `construct_controllable_B`, and factorized categorical helpers, reducing the\n  need to rely on `legacy.utils`.\n\n#### Inference, Control, And Planning\n\n- State inference was substantially upgraded. The release includes optimized\n  `infer_states` paths, exact HMM associative-scan inference, corrected\n  message-passing details for MMP/VMP, and better support for interacting\n  `B_dependencies`.\n- Policy scoring and planning semantics were cleaned up and made more explicit.\n  The release standardizes `neg_efe` naming and improves reliability in\n  parameter-information-gain and inductive policy-scoring paths.\n- Sophisticated-inference planning is now JIT-friendly, and the planning stack\n  supports richer deliberation and tree-search workflows.\n- Monte Carlo Tree Search (MCTS) is now part of the sophisticated-inference\n  planning surface, giving users a dedicated planning workflow for more complex\n  sequential search problems.\n- Canonical variational free energy is now exposed directly as part of the\n  public API through `calc_vfe(...)` and `return_info=True` diagnostic paths in\n  inference.\n\n#### Environments And Compiled Rollouts\n\n- `pymdp` now has a much clearer JAX-native environment and rollout surface.\n  The `Env` abstraction is closer to gymnax-style workflows and is designed to\n  work directly with compiled active inference loops.\n- `rollout()` is a new first-class API for compiled active inference loops over\n  environments, making it much easier to express full perception-action\n  rollouts in JAX-native workflows.\n- `infer_and_plan()` is also a new first-class helper for stepping agents\n  through active inference loops with reusable inference-and-action logic.\n- These rollout APIs support explicit key flow, updated-agent carries, and\n  learning-aware behavior for online and offline experimental setups.\n- Environments can now emit categorical observations directly, which aligns\n  better with the rest of the JAX-first API surface.\n- The release also broadens the environment and demo corpus with updated\n  GridWorld and T-maze workflows, plus the cue-chaining environment and\n  tutorial as a new example of epistemic foraging and sequential information\n  seeking.\n\n#### Model Fitting And Probabilistic Inference\n\n- `pymdp` now supports probabilistic model-fitting workflows through\n  [`pybefit`](https://github.com/dimarkov/pybefit) and NumPyro-backed\n  inference, making it possible to fit active-inference POMDP parameters to\n  behavioral data such as observed outcomes and action sequences.\n- The shipped workflow covers both sampling-based and variational approaches.\n  The `fitting_with_pybefit` notebook demonstrates Hamiltonian Monte Carlo via\n  NUTS as well as stochastic variational inference with NumPyro-based guides.\n- These model-fitting workflows are designed for batched multi-agent settings,\n  which makes it easier to express fitting problems over multiple synthetic or\n  observed subjects in one JAX-native pipeline.\n- Installation and contributor setup now expose this workflow directly through\n  the `modelfit` extra.\n\n### Docs, Tutorials, And Examples\n\n- The documentation stack was rebuilt around MkDocs and Material, replacing the\n  older Sphinx-centered setup for the primary `1.0.0` docs experience.\n- The docs are now intentionally JAX-first. The landing page, quickstart,\n  migration guide, rollout guide, environment guide, generated API reference,\n  and legacy archive are organized around the modern backend.\n- The notebook gallery is now a first-class part of the docs site, with\n  refreshed tutorials spanning environments, planning, inference, learning,\n  sparse methods, advanced model construction, neural encoders, and model\n  fitting.\n- Legacy material is still preserved in the docs under a dedicated archive path\n  for users who need the older NumPy-oriented reference material during\n  migration.\n\n### Packaging, Testing, And Contributor Workflow\n\n- The packaging surface now centers on `pyproject.toml` and setuptools-backed\n  builds, with explicit optional-dependency extras for `gpu`, `docs`, `nb`,\n  and `modelfit` workflows.\n- Notebook execution is now tiered and enforced through manifests: PR CI runs\n  the `test/notebooks/ci_notebooks.txt` tier, while nightly coverage runs the\n  `test/notebooks/nightly_notebooks.txt` tier.\n- Contributor workflow also improved through notebook sanitation hooks, strict\n  docs builds, unit-test coverage reporting, and `pytest-xdist` support.\n\n### Traceability Appendix\n\nThis page is intentionally curated rather than chronological. The following\nrows identify the strongest evidence clusters behind each major section.\n\n| Section | Representative evidence | Key files |\n| --- | --- | --- |\n| JAX-first backend and migration | `57d730d`, `16985dd`, `#360`, `#361`, `#325` | `pymdp/agent.py`, `pymdp/legacy/agent.py`, `pymdp/utils.py`, `docs-mkdocs/migration/numpy-to-jax.md` |\n| Inference, control, and planning | `#315`, `#341`, `#348`, `#349`, `#365`, `#368`, `#370`, `#372` | `pymdp/inference.py`, `pymdp/control.py`, `pymdp/planning/si.py`, `pymdp/planning/mcts.py`, `pymdp/maths.py` |\n| Environments and rollout | `#334`, `#354`, `#369` plus the rollout refactor series | `pymdp/envs/env.py`, `pymdp/envs/rollout.py`, `pymdp/envs/cue_chaining.py`, `docs-mkdocs/guides/rollout-active-inference-loop.md` |\n| Model fitting and probabilistic inference | `873116a`, `ac34a1b`, `623662b` | `examples/model_fitting/fitting_with_pybefit.ipynb`, `test/test_pybefit_model_fitting.py`, `pyproject.toml`, `docs-mkdocs/index.md` |\n| Docs, tutorials, and examples | `9fa629f`, `#354`, `de6ead7` | `mkdocs.yml`, `docs-mkdocs/index.md`, `docs-mkdocs/tutorials/notebooks/index.md`, `docs-mkdocs/getting-started/quickstart-jax.md` |\n| Packaging and contributor workflow | `#364`, `#367`, `#373`, `#375` | `pyproject.toml`, `.github/workflows/test.yaml`, `.github/workflows/nightly-tests.yaml`, `test/notebooks/` |\n"
  },
  {
    "path": "docs-mkdocs/development/viewing-docs.md",
    "content": "# Viewing Docs Locally\n\n## Quick commands\n\nFrom repo root:\n\n```bash\nuv sync --no-default-groups --extra docs\n./scripts/docs_build.sh\n./scripts/docs_serve.sh\n```\n\nLocal URL:\n- <http://127.0.0.1:8000>\n\n## One-shot sync + serve\n\n```bash\n./scripts/docs_sync_and_serve.sh\n```\n\n## RTD preview for PRs\n\n1. Open your PR in GitHub.\n2. Open the Read the Docs build linked to that PR.\n3. Verify nav, notebooks, API pages, and redirects.\n\n## Notes\n- `examples/` notebooks are the source of truth for the notebook gallery.\n- `docs-mkdocs/tutorials/notebooks/examples/` is generated at docs build time by `./scripts/sync_docs_notebooks.sh` and is not intended to be edited by hand.\n- `./scripts/docs_build.sh` and `./scripts/docs_serve.sh` sync curated notebooks automatically before invoking MkDocs.\n- To add notebook docs, update `docs-mkdocs/tutorials/notebooks.manifest`. The sync step will copy the listed notebooks into the generated docs tree.\n- MkDocs source-of-truth content lives in `docs-mkdocs/`.\n- `docs/` is retained as legacy Sphinx-era content for compatibility/history.\n"
  },
  {
    "path": "docs-mkdocs/env.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"refresh\" content=\"0; url=api/envs-rollout/\" />\n    <link rel=\"canonical\" href=\"api/envs-rollout/\" />\n    <title>Redirecting...</title>\n  </head>\n  <body>\n    <p>Redirecting to <a href=\"api/envs-rollout/\">api/envs-rollout/</a>.</p>\n  </body>\n</html>\n"
  },
  {
    "path": "docs-mkdocs/getting-started/installation.md",
    "content": "# Installation\n\n## Recommended workflow: `uv`\n\n### 1) Create and activate a virtual environment\n```bash\n# from repo root\nuv venv .venv\nsource .venv/bin/activate\n```\n\nIf `.venv` already exists, just activate it:\n\n```bash\nsource .venv/bin/activate\n```\n\n### 2) Sync dependencies\n```bash\nuv sync --group test\n```\n\n### Dependency groups and extras\n\n- `--group test`: test and notebook tooling (`pytest`, `pytest-xdist`, `nbval`, `jupyter`, `ipykernel`) plus common visualization deps (`mediapy`, `pygraphviz`) and model-fitting dependency (`pybefit`).\n- `--extra nb`: optional notebook/media extras (`mediapy`, `pygraphviz`) when notebook visualization is needed outside test tooling.\n- `--extra modelfit`: installs `pybefit` for model-fitting workflows.\n- `--extra gpu`: installs CUDA-enabled JAX packages.\n- `--extra docs`: documentation toolchain (`mkdocs`, `mkdocs-dracula-theme`, `mkdocstrings`, `mkdocs-jupyter`, `mkdocs-redirects`).\n\n`pygraphviz` is only needed for Graphviz-backed notebook visualizations such as the MCTS graph-world demo, but it is included in the current `test` and `nb` dependency sets. On many machines `uv sync --group test` works without any extra steps; if it fails while building `pygraphviz`, use the troubleshooting notes below and then rerun the sync command.\n\nNotebook cells that call `mediapy.show_video(...)` also require a system `ffmpeg`\nbinary. If those cells fail with `Program 'ffmpeg' is not found`, install\n`ffmpeg` using the platform-specific notes below before rerunning the notebook.\n\nCommon `uv` sync patterns:\n\n```bash\n# standard dev/test work\nuv sync --group test\n\n# notebook-heavy workflows\nuv sync --group test --extra nb\n\n# model fitting workflows\nuv sync --group test --extra modelfit\n\n# docs workflow\nuv sync --group test --extra docs\n\n# GPU workflow\nuv sync --group test --extra gpu\n```\n\n## Notebook video rendering (`mediapy`)\n\nNotebook examples that render videos through `mediapy.show_video(...)` need a\nsystem `ffmpeg` binary in addition to the Python package.\n\n### macOS (Homebrew)\n\n```bash\nbrew install ffmpeg\n```\n\n### Ubuntu / Debian\n\n```bash\nsudo apt-get update\nsudo apt-get install -y ffmpeg\n```\n\nOn other platforms, install `ffmpeg` with your system package manager and make\nsure the `ffmpeg` executable is available on `PATH`.\n\n## `pygraphviz` troubleshooting\n\nIf installation fails while building `pygraphviz`, the missing dependency is usually one of:\n\n- Graphviz itself, including the C headers (`graphviz/cgraph.h`)\n- Python development headers for the exact interpreter version in your virtual environment (`Python.h`)\n\n### macOS (Homebrew)\n\nInstall Graphviz with Homebrew before syncing dependencies:\n\n```bash\nbrew install graphviz\n```\n\nIf `pygraphviz` still fails to build, install it explicitly with Homebrew's include and library paths:\n\n```bash\nuv pip install \\\n  --config-settings=--global-option=build_ext \\\n  --config-settings=--global-option=\"-I$(brew --prefix graphviz)/include\" \\\n  --config-settings=--global-option=\"-L$(brew --prefix graphviz)/lib\" \\\n  pygraphviz==1.14\n```\n\nThen rerun:\n\n```bash\nuv sync --group test\n```\n\nor, if you only need the notebook/media extras:\n\n```bash\nuv sync --extra nb\n```\n\n### Ubuntu / Debian\n\nInstall the Graphviz runtime, Graphviz development headers, `pkg-config`, and the compiler toolchain before syncing dependencies:\n\n```bash\nsudo apt-get update\nsudo apt-get install -y graphviz libgraphviz-dev pkg-config build-essential\n```\n\nInstall Python development headers that match the interpreter in your environment:\n\n```bash\nsudo apt-get install -y python3-dev\n```\n\nIf you are using a version-specific interpreter that is newer than the system default, install the matching package instead, for example:\n\n```bash\nsudo apt-get install -y python3.12-dev\n```\n\nThen rerun:\n\n```bash\nuv sync --group test\n```\n\nor install the dependency directly inside the active environment:\n\n```bash\nuv pip install pygraphviz==1.14\n```\n\nIf the build output mentions `graphviz/cgraph.h`, install or verify the Graphviz development packages above. If it mentions `Python.h`, install or verify the matching Python development headers.\n\n## Verify docs build\n```bash\n./scripts/docs_build.sh\n```\n\n## Alternative: `pip`\n\nIf you only want package installation (without the `uv` workflow):\n\n```bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install inferactively-pymdp\n```\n"
  },
  {
    "path": "docs-mkdocs/getting-started/quickstart-jax.md",
    "content": "# Quickstart (JAX)\n\nHere are a couple of lines to quickly build an active inference agent and run state inference, policy inference (planning), and action selection. The agent is created with a random generative model comprising two observation modalities and two hidden state factors.\nThe first of the two state factors is controllable via a 3 dimensional action.\n\nThe agent also has uniform preferences (a flat `C` vector) over the observation modalities.\n\n```python\nfrom jax import numpy as jnp, random as jr\nfrom pymdp import utils\nfrom pymdp.agent import Agent\n\nkey = jr.PRNGKey(0)\nkeys = jr.split(key, 3)\n\nnum_obs = [3, 5]\nnum_states = [3, 2]\nnum_controls = [3, 1]\n\nA = utils.random_A_array(keys[0], num_obs, num_states)\nB = utils.random_B_array(keys[1], num_states, num_controls)\nC = utils.list_array_uniform([[no] for no in num_obs])\n\nagent = Agent(A=A, B=B, C=C, batch_size=1)\n\n# Discrete observation indices for each modality\nobs = [jnp.array([1]), jnp.array([2])]\n\n# Use agent.D as the initial empirical prior\nqs, info = agent.infer_states(obs, empirical_prior=agent.D, return_info=True)\n# Optional diagnostic: current variational free energy for each batch element.\nvfe = info[\"vfe\"]\nq_pi, neg_efe = agent.infer_policies(qs)\n\nsample_keys = jr.split(keys[2], agent.batch_size + 1)\naction = agent.sample_action(q_pi, rng_key=sample_keys[1:])\n```\n\nYou can also run a quick agent-environment loop with `rollout()` and\n`PymdpEnv`. For repeated calls, we recommend wrapping `rollout` in `jit`:\n\n```python\nfrom jax import jit\nfrom jax import random as jr\nfrom pymdp import utils\nfrom pymdp.agent import Agent\nfrom pymdp.envs.env import make\nfrom pymdp.envs.rollout import rollout\n\nkey = jr.PRNGKey(1)\nkey_A, key_B, key_rollout = jr.split(key, 3)\n\nnum_obs = [3, 5]\nnum_states = [3, 2]\nnum_controls = [3, 1]\n\nA = utils.random_A_array(key_A, num_obs, num_states)\nB = utils.random_B_array(key_B, num_states, num_controls)\nC = utils.list_array_uniform([[no] for no in num_obs])\nD = utils.list_array_uniform([[ns] for ns in num_states])\n\nagent = Agent(A=A, B=B, C=C, D=D, batch_size=1)\nenv, _ = make(A=A, B=B, D=D)\n\nrollout_jit = jit(rollout, static_argnums=[1, 2])  # env and num_timesteps are static\nlast, info = rollout_jit(\n    agent,\n    env,\n    20,\n    key_rollout,\n)\n\nactions = info[\"action\"]\n```\n\nFor a more in-depth guide to compiled active inference loops, see the dedicated\n[`rollout()` guide](../guides/rollout-active-inference-loop.md).\n"
  },
  {
    "path": "docs-mkdocs/guides/generative-model-structure.md",
    "content": "# Thinking in Generative Models in `pymdp`\n\nThis guide explains how to map Active Inference concepts onto the list-based\nmodel representation used in `pymdp`.\n\nFor a model with `F` hidden-state factors and `M` observation modalities over\n`T` timesteps, a common joint factorization is:\n\n$$\n{\\small p\\left(o_{1:T}^{1:M}, s_{1:T}^{1:F}, \\pi;\\,A,B,D\\right)\n= p(\\pi)\\underbrace{p\\left(s_1^{1:F};\\,D\\right)}_{\\text{initial state prior / }D}\n\\prod_{t=1}^{T-1}\\underbrace{p\\left(s_{t+1}^{1:F} \\mid s_t^{1:F}, u_t^\\pi;\\,B\\right)}_{\\text{transition model / }B}\n\\prod_{t=1}^{T}\\underbrace{p\\left(o_t^{1:M} \\mid s_t^{1:F};\\,A\\right)}_{\\text{observation model / }A}.}\n$$\n\nHere, $\\pi$ refers to _policies_; this is a discrete latent variable whose realizations correspond to sequences of\nactions over time, and $u_t^\\pi$ denotes the action entailed by policy $\\pi$ at time $t$.\n\nIn `pymdp`, those terms are typically factorized as:\n\n$$\np\\left(s_1^{1:F};\\,D\\right)\n= \\prod_{f=1}^{F} p\\left(s_1^f;\\,D_f\\right).\n$$\n\n$$\np\\left(s_{t+1}^{1:F} \\mid s_t^{1:F}, u_t^\\pi;\\,B\\right)\n= \\prod_{f=1}^{F}\np\\left(s_{t+1}^f \\mid s_t^{B_{\\mathrm{dependencies}}[f]}, u_t^\\pi;\\,B_f\\right).\n$$\n\n$$\np\\left(o_t^{1:M} \\mid s_t^{1:F};\\,A\\right)\n= \\prod_{m=1}^{M}\np\\left(o_t^m \\mid s_t^{A_{\\mathrm{dependencies}}[m]};\\,A_m\\right).\n$$\n\n## Mental model\n\nUse two independent indexing systems:\n\n1. **Observation modalities** (`m`) index independent sensory channels.\n2. **Hidden-state factors** (`f`) index latent causes.\n\nIn code, this means:\n\n- modality-indexed lists: `A[m]`, `observations[m]`, `C[m]`, `pA[m]`\n- factor-indexed lists: `D[f]`, `qs[f]`, `B[f]`, `pB[f]`\n\n## Observation modalities: `A[m]` and `observations[m]`\n\nEach modality gets its own likelihood tensor:\n\n- `A[m] = P(obs_m | state_{i in A_dependencies[m]})`\n- `observations[m]` is the actual observation for modality `m`\n\nSo if you have two modalities (for example, location and reward), you should\nexpect `len(A) == 2` and your observation input to have two modality entries.\n\n## Hidden-state factors: `D[f]`, `qs[f]`, `B[f]`\n\nEach hidden-state factor gets its own prior, posterior, and transition model:\n\n- `D[f]`: prior over factor-`f` states\n- `qs[f]`: posterior over factor-`f` states\n- `B[f] = P(s_{[f,t+1]} | state_{i in B_dependencies[f]}, action_{j in B_action_dependencies[f]})`\n\nThis means you can reason about each factor semantically (for example, context,\nlocation, or object identity) and keep dimensions aligned by factor index.\n\n## Dependencies connect modalities and factors\n\n`pymdp` lets you be explicit about sparse structure:\n\n- `A_dependencies[m]`: which factors modality `m` depends on\n- `B_dependencies[f]`: which previous factors influence factor `f` transitions\n- `B_action_dependencies[f]`: which action/control factors influence factor `f` transitions\n\nThis is the key to building structured models without forcing every modality to\ndepend on every factor.\n\n## Minimal indexing example\n\n```python\n# Two modalities\n# m=0 -> location observation\n# m=1 -> reward observation\nA = [A_location, A_reward]\nobs = [obs_location, obs_reward]\n\n# Two hidden-state factors\n# f=0 -> location state\n# f=1 -> context state\nD = [D_location, D_context]\nqs = [qs_location, qs_context]\nB = [B_location, B_context]\n```\n\nRead this as:\n\n- `A[1]` defines how reward observations are generated.\n- `qs[0]` is your current belief over location states.\n- `B[1]` defines context dynamics.\n\n## Common shape/indexing pitfalls\n\n1. `len(observations)` does not match `len(A)`.\n2. Mixing modality index `m` and factor index `f`.\n3. `A_dependencies`, `B_dependencies`, or `B_action_dependencies` indices not matching your list layout.\n4. Passing raw integer observations when your setup expects categorical vectors\n   (or vice versa).\n\n## How this maps to the agent loop\n\nAt each step:\n\n1. infer states with `infer_states(...)` to update `qs[f]`,\n2. infer policies with `infer_policies(qs)`,\n3. sample actions and propagate beliefs through `B[f]`.\n\nFor end-to-end loops, combine this mental model with the\n[`rollout()` guide](rollout-active-inference-loop.md).\n"
  },
  {
    "path": "docs-mkdocs/guides/pymdp-env.md",
    "content": "# `PymdpEnv`: Building JAX Environments from Generative Models\n\n`pymdp` environments implement the `Env` interface:\n\n- `reset(key, state=None, env_params=None) -> (obs, state)`\n- `step(key, state, action, env_params=None) -> (obs, next_state)`\n\nIf these methods are JAX/JIT compatible, the environment can be used directly\nwith [`rollout()`](rollout-active-inference-loop.md) for fast compiled\nagent-environment loops.\n\n## Two ways to build an environment\n\n1. Subclass `Env` for fully custom dynamics and observation logic.\n2. Use `PymdpEnv` when your environment is a discrete POMDP generative process\n   defined by a discrete observation model `A`, discrete transition model `B`, and\n   discrete distribution over initial states `D`.\n\n## Using `PymdpEnv`\n\n`PymdpEnv` represents environments with:\n\n- `A`: categorical emission model(s), `P(obs_m | hidden states)`\n- `B`: categorical transition model(s), `P(s_{t+1} | s_t, action)`\n- `D`: initial hidden-state priors\n\nSparse structure is controlled with:\n\n- `A_dependencies[m]`\n- `B_dependencies[f]`\n\nMinimal construction:\n\n```python\nfrom pymdp.envs.env import make\n\nenv, env_params = make(\n    A=A,\n    B=B,\n    D=D,\n    A_dependencies=A_dependencies,\n    B_dependencies=B_dependencies,\n    make_env_params=True,\n)\n```\n\n`env_params` can be passed to `reset`/`step` for batched or per-run parameter\ncontrol, while the `env` instance keeps default `A`, `B`, and `D`.\n\n## Writing a custom `Env`\n\nFor non-POMDP or richer simulators, subclass `Env` and implement `reset` and\n`step` directly. Keep all randomness explicit through JAX keys (`jax.random`)\nand avoid hidden stateful randomness so behavior remains JIT-safe and\nreproducible.\n\n## Practical notes\n\n- Prefer array shapes and dependency indices that match your agent model.\n- Use `env.generate_env_params(batch_size=...)` when you need batched\n  environment parameters.\n- If your environment methods are not JIT-compatible, use manual loops instead\n  of `rollout()`.\n"
  },
  {
    "path": "docs-mkdocs/guides/rollout-active-inference-loop.md",
    "content": "# Using `rollout()` for compiled active inference loops\n\n`rollout()` runs repeated inference, planning, action sampling, and environment stepping for a fixed horizon.\nInternally, it uses `jax.lax.scan`, so direct calls are valid and JAX-friendly.\n\n## When to use it\n- The `.step()` and `.reset()` methods of your `Env` can be JIT-compiled.\n  This includes compatibility with `pymdp`'s native `PymdpEnv`, as well as existing JAX RL environment frameworks (see for example [gymnax](https://github.com/RobertTLange/gymnax), [jumanji](https://github.com/instadeepai/jumanji), and [navix](https://github.com/epignatelli/navix)).\n- You want high-throughput simulations by compiling the full closed-loop interaction once and executing it efficiently across many rollouts.\n- You want a single, consistent API for multi-step active inference rollouts with explicit PRNG key threading.\n\n## Required inputs\n- `agent`: `pymdp.agent.Agent`\n- `env`: `pymdp.envs.env.Env`-compatible object\n- `num_timesteps`: integer horizon\n- `rng_key`: JAX PRNG key\n\n## Optional inputs\n- `initial_carry`: override initial rollout carry\n- `policy_search`: custom policy search function\n- `env_params`: batched environment parameters\n\n## Canonical usage\n\n```python\nfrom jax import random as jr\nfrom pymdp.envs.rollout import rollout\n\nrng_key = jr.PRNGKey(0)\nlast, info = rollout(agent, env, 20, rng_key)\n```\n\nFor repeated calls with fixed `env` and `num_timesteps`, we recommend wrapping\n`rollout` with `jit` so XLA can cache the compiled program:\n\n```python\nfrom jax import jit\nfrom jax import random as jr\nfrom pymdp.envs.rollout import rollout\n\nrng_key = jr.PRNGKey(0)\nrollout_jit = jit(rollout, static_argnums=[1, 2])  # env and num_timesteps are static\n\nlast, info = rollout_jit(\n    agent,\n    env,\n    20,\n    rng_key,\n)\n```\n\n## Reproducible key flow\n\n`rollout()` internally splits keys per step and per batch. For deterministic re-runs:\n\n1. pass in the same `rng_key` seed,\n2. keep environment params/initial carry identical,\n3. avoid hidden non-JAX randomness inside your environment's `.step()` or `.reset()` methods.\n\n## Batched runs and carry\n\n- `agent.batch_size` controls parallel batch dimension.\n- `initial_carry` can override auto-initialized state (for warm-starting).\n\n## Relationship to manual loops\n\n`rollout()` repeatedly applies the one-step helper `infer_and_plan` internally\nusing `jax.lax.scan`.\n\nUse manual loops when:\n\n- your environment's `.step()` and `.reset()` methods cannot be JITTed.\n- you need custom per-step side effects that don't respect the active inference logic of `infer_and_plan`.\n\nFor JAX-based environments, we recommend using `rollout()`, as it's usually simpler and less error-prone.\n\n## Debugging checklist\n\n1. Shape mismatch: check observation/action histories and factor dimensions.\n2. Stochastic sampling errors: ensure valid RNG keys are threaded.\n3. Sequence methods (`mmp`, `vmp`): ensure `past_actions` and valid windows are correct.\n4. Learning updates: verify `learn_A`/`learn_B` flags and action alignment.\n\n## Cross-links\n- [Quickstart (JAX)](../getting-started/quickstart-jax.md)\n- [API: `pymdp.envs.rollout`](../api/envs-rollout.md)\n"
  },
  {
    "path": "docs-mkdocs/index.md",
    "content": "# Welcome to pymdp's documentation!\n\n`pymdp` is a Python package for simulating Active Inference agents in\ndiscrete-state Markov Decision Process environments. For background and\nmotivation, see the companion JOSS paper:\n[`pymdp: A Python library for active inference in discrete state spaces`](https://joss.theoj.org/papers/10.21105/joss.04098).\n\nThis documentation focuses on the JAX backend (the default backend since the 1.0.0 release), which supports:\n\n<ul>\n  <li>accelerator-friendly execution (CPU/GPU/TPU) and JIT compilation</li>\n  <li>differentiable workflows via autodiff</li>\n  <li>scalable batched simulations and model-fitting workflows (for example, with NumPyro or <a href=\"https://github.com/dimarkov/pybefit\">pybefit</a>)</li>\n</ul>\n\n![Cue-chaining demo](assets/cue-chaining-demo.gif){ width=\"880\" }\n\n## Start here\n- [Installation](getting-started/installation.md)\n- [Quickstart (JAX)](getting-started/quickstart-jax.md)\n- [NumPy/legacy to JAX migration guide](migration/numpy-to-jax.md)\n- [Using rollout() for compiled active inference loops](guides/rollout-active-inference-loop.md)\n- [PymdpEnv and custom environments](guides/pymdp-env.md)\n- [Thinking in generative models in `pymdp`](guides/generative-model-structure.md)\n- [Notebook gallery](tutorials/notebooks/index.md)\n\n## API reference\n- [API overview](api/index.md)\n\n## Legacy docs\nLegacy/NumPy material is preserved under an archive path:\n\n- [Legacy/NumPy archive](legacy/index.md)\n"
  },
  {
    "path": "docs-mkdocs/inference.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"refresh\" content=\"0; url=api/inference/\" />\n    <link rel=\"canonical\" href=\"api/inference/\" />\n    <title>Redirecting...</title>\n  </head>\n  <body>\n    <p>Redirecting to <a href=\"api/inference/\">api/inference/</a>.</p>\n  </body>\n</html>\n"
  },
  {
    "path": "docs-mkdocs/installation.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"refresh\" content=\"0; url=getting-started/installation/\" />\n    <link rel=\"canonical\" href=\"getting-started/installation/\" />\n    <title>Redirecting...</title>\n  </head>\n  <body>\n    <p>Redirecting to <a href=\"getting-started/installation/\">getting-started/installation/</a>.</p>\n  </body>\n</html>\n"
  },
  {
    "path": "docs-mkdocs/javascripts/mathjax.js",
    "content": "window.MathJax = {\n  tex: {\n    inlineMath: [[\"\\\\(\", \"\\\\)\"]],\n    displayMath: [[\"\\\\[\", \"\\\\]\"]],\n    processEscapes: true,\n    processEnvironments: true,\n  },\n  svg: {\n    fontCache: \"global\",\n  },\n  options: {\n    ignoreHtmlClass: \".*|\",\n    processHtmlClass: \"arithmatex\",\n  },\n};\n\nconst renderMath = () => {\n  if (!window.MathJax || !window.MathJax.typesetPromise) return;\n  window.MathJax.typesetClear();\n  window.MathJax.typesetPromise();\n};\n\nif (typeof document$ !== \"undefined\") {\n  document$.subscribe(renderMath);\n}\n\nwindow.addEventListener(\"load\", renderMath);\n"
  },
  {
    "path": "docs-mkdocs/javascripts/sidebar-accessibility.js",
    "content": "document.addEventListener(\"DOMContentLoaded\", () => {\n  const sidebar = document.getElementById(\"sidebar\");\n  const sidebarToggle = document.getElementById(\"sidebarCollapse\");\n\n  if (!sidebar || !sidebarToggle) {\n    return;\n  }\n\n  const syncSidebarState = () => {\n    const desktopViewport = window.matchMedia(\"(min-width: 992px)\").matches;\n    const expanded = desktopViewport\n      ? !sidebar.classList.contains(\"active\")\n      : sidebar.classList.contains(\"active\");\n\n    sidebarToggle.setAttribute(\"aria-expanded\", String(expanded));\n  };\n\n  syncSidebarState();\n  sidebarToggle.addEventListener(\"click\", () => window.requestAnimationFrame(syncSidebarState));\n  window.addEventListener(\"resize\", syncSidebarState);\n});\n"
  },
  {
    "path": "docs-mkdocs/learning.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"refresh\" content=\"0; url=api/learning/\" />\n    <link rel=\"canonical\" href=\"api/learning/\" />\n    <title>Redirecting...</title>\n  </head>\n  <body>\n    <p>Redirecting to <a href=\"api/learning/\">api/learning/</a>.</p>\n  </body>\n</html>\n"
  },
  {
    "path": "docs-mkdocs/legacy/index.md",
    "content": "# Legacy / NumPy Archive\n\n`pymdp/legacy` is preserved for compatibility and historical context.\n\n## Status\n- Legacy modules are frozen and not the primary API path.\n- New examples, docs, and feature development target modern JAX modules.\n\n## Mapping (legacy -> modern)\n- `pymdp.legacy.agent` -> `pymdp.agent`\n- `pymdp.legacy.inference` -> `pymdp.inference`\n- `pymdp.legacy.control` -> `pymdp.control`\n- `pymdp.legacy.learning` -> `pymdp.learning`\n- `pymdp.legacy.maths` -> `pymdp.maths`\n- `pymdp.legacy.utils` -> `pymdp.utils`\n\n## Next step\nUse the [NumPy/legacy to JAX migration guide](../migration/numpy-to-jax.md).\n"
  },
  {
    "path": "docs-mkdocs/migration/numpy-to-jax.md",
    "content": "# NumPy/legacy to JAX Migration\n\nThis guide is for users moving from `pymdp.legacy` (NumPy/object-array style) to the [JAX](https://github.com/jax-ml/jax) backend of `pymdp`.\n\n## Key concept shifts\n\n| Legacy NumPy | JAX |\n|---|---|\n| `numpy.ndarray(dtype=object)` collections | pytrees/lists of `jax.Array` |\n| `np.random` global RNG | explicit `jr.PRNGKey` threading |\n| stateful loops with implicit mutation | functional updates with explicit returns |\n| mutable attribute assignment (`agent.x = ...`) | functional pytree updates (`eqx.tree_at(...)`) |\n| `pymdp.legacy.*` modules | `pymdp.*` modern JAX-based modules |\n\n## API differences to update\n\n1. Policy inference now takes current beliefs as inputs, since they are no longer stored internally on the agent.\n\n        # legacy NumPy\n        q_pi, G = agent.infer_policies()\n\n        # JAX\n        q_pi, neg_efe = agent.infer_policies(qs)\n\n   Note: in SPM-style notation this same policy score is often called `G`\n   (`G = neg_efe = -EFE`).\n\n2. Stochastic functions require explicit random keys. Common examples in\n   `pymdp` include action/policy sampling (for example\n   `agent.sample_action(..., rng_key=...)`), random generative model\n   initialization utilities such as `utils.random_A_array(...)`,\n   `utils.random_B_array(...)`, and `utils.random_factorized_categorical(...)`,\n   rollout execution (`rollout(..., rng_key=...)`), and stochastic\n   environment methods (`env.reset(key, ...)`, `env.step(key, ...)`).\n\n        # legacy NumPy\n        action = agent.sample_action()\n\n        # JAX\n        keys = jr.split(rng_key, agent.batch_size + 1)\n        action = agent.sample_action(q_pi, rng_key=keys[1:])\n\n3. Keep observation preprocessing consistent.\n    - If `categorical_obs=False`, pass discrete indices.\n    - If `categorical_obs=True`, pass normalized categorical vectors.\n\n## Batching and `batch_size`\n\nMost of `pymdp`'s JAX APIs expect a leading `batch_size` dimension on most\narrays (for example state/parameter priors and posteriors). This makes it easy\nto parallelize with [`jax.vmap`](https://docs.jax.dev/en/latest/_autosummary/jax.vmap.html).\n\nDefaults to keep in mind:\n\n- `Agent(..., batch_size=1)` is the default.\n- By default, `Env` objects are typically unbatched (for example `env.A/B/D`\n  have no leading batch axis), while `Agent` leaves are batch-shaped.\n- In the default single-agent case, many arrays therefore appear as `(1, ...)`.\n\nWhen migrating from legacy single-agent code, keep these points in mind:\n\n- Multi-agent simulations (including parallel parameter sweeps) require batched\n  per-agent information (observations, beliefs, parameters, preferences, and\n  some hyperparameters).\n- In `Agent.__init__`, if you pass unbatched `A`/`B` with `batch_size=N`, the\n  tensors are broadcast to `(N, ...)`.\n- If inputs are already batched with leading dimension `1` and `batch_size>1`,\n  they are also broadcast to `batch_size`.\n- If the leading dimension is batched but neither `1` nor `batch_size`, a\n  `ValueError` is raised.\n\nTypical multi-agent setup pattern:\n\n```python\nbatch_size = 3\nagent = Agent(A=A, B=B, C=C, D=D, batch_size=batch_size)\n\n# One discrete modality for 3 parallel agents: shape (batch_size, 1)\nobs = [jnp.array([[0], [2], [3]])]\nqs = agent.infer_states(obs, empirical_prior=agent.D)\n```\n\nFor environment-side batching, either:\n\n- Keep a single (unbatched) environment and run batched agents against shared\n  `env.A/B/D`.\n- Pass batched `env_params` (for example via\n  `env.generate_env_params(batch_size=...)`) when using `rollout()`. Parameters\n  inside `env_params` should also carry a leading `batch_size` dimension\n  aligned to the `Agent`.\n\n## Updating `Agent` fields in JAX\n\nThe `Agent` class is an [Equinox](https://github.com/patrick-kidger/equinox)\nmodule. In practice, this means you should avoid mutable-style setter updates\nlike:\n\n```python\nagent.A = new_A\nagent.B = new_B\n```\n\nInstead, use Equinox-style functional updates with `eqx.tree_at(...)`:\n\n```python\nimport equinox as eqx\n\nagent = eqx.tree_at(lambda x: (x.A,), agent, (new_A,))\nagent = eqx.tree_at(lambda x: (x.B,), agent, (new_B,))\n```\n\nIf you change static `Agent` fields (for example model dimensions, dependency\nstructure, or static hyperparameters such as number of policies), JAX will\ntrigger recompiles of agent-specific JIT-compiled methods such as\n`infer_states`, `infer_policies`, and related methods used during rollouts.\n\nThis is the pattern used near the end of\n`infer_parameters()` in `pymdp/agent.py`, where after a learning update, the new `A`/`B` (and, when\nenabled, `I`) arrays are written back into a new `Agent` instance.\n\n## Randomness migration\n\nUse explicit key flow everywhere:\n\n```python\nrng_key = jr.PRNGKey(0)\nrng_key, key_infer, key_action = jr.split(rng_key, 3)\n\nqs = agent.infer_states(obs, empirical_prior=agent.D)\nq_pi, _ = agent.infer_policies(qs)\nkeys = jr.split(key_action, agent.batch_size + 1)\naction = agent.sample_action(q_pi, rng_key=keys[1:])\n```\n\nOther frequently used stochastic APIs that also require explicit keys:\n- `utils.random_A_array(...)`\n- `utils.random_B_array(...)`\n- `utils.random_factorized_categorical(...)`\n- `utils.generate_agent_spec(..., key=...)`\n- `rollout(..., rng_key=...)`\n- stochastic `env.reset(key, ...)` / `env.step(key, ...)`\n\nAvoid `np.random` when using the new JAX backend (see also\n[this post](https://builtin.com/data-science/numpy-random-seed), which\nencourages caution when working with `np.random`).\n\n## NumPy-to-JAX worked conversion\n\n```python\n# legacy NumPy\nfrom pymdp.legacy.agent import Agent as LegacyAgent\nfrom pymdp.legacy import utils as legacy_utils\nA = legacy_utils.random_A_matrix([3], [2])\nB = legacy_utils.random_B_matrix([2], [2])\nagent = LegacyAgent(A=A, B=B)\nobs = [1]\nqs = agent.infer_states(obs)\nq_pi, G = agent.infer_policies()\naction = agent.sample_action()\n```\n\n```python\n# JAX\nfrom jax import random as jr\nfrom pymdp.agent import Agent\nfrom pymdp import utils\n\nkey = jr.PRNGKey(0)\nkeys = jr.split(key, 3)\nA = utils.random_A_array(keys[0], [3], [2])\nB = utils.random_B_array(keys[1], [2], [2])\nagent = Agent(A=A, B=B)\nobs = [1]\nqs = agent.infer_states(obs, empirical_prior=agent.D)\nq_pi, neg_efe = agent.infer_policies(qs)\naction_keys = jr.split(keys[2], agent.batch_size + 1)\naction = agent.sample_action(q_pi, rng_key=action_keys[1:])\n```\n\n## Common migration pitfalls\n\n1. Missing batch-size dimension for `observations`, `actions`, `qs`,  or parameters (`A`, `B`, `C`, `D`).\n2. Missing `empirical_prior` argument in `infer_states`.\n3. Missing `rng_key`/`key` in stochastic calls (for example `sample_action`,\n   random model constructors, `rollout`, or stochastic `env.reset`/`env.step`).\n4. Mixing `numpy.ndarray` into JAX-only paths.\n5. Forgetting sequence action-history shape `(T-1, num_factors)`.\n\n## Migration done checklist\n\n1. No imports from `pymdp.legacy` in active scripts/notebooks.\n2. Randomness uses explicit `jr.PRNGKey` flow.\n3. `infer_policies(qs)` and `sample_action(q_pi, rng_key=...)` usage updated.\n4. Tests pass (`pytest test`).\n5. Notebook/docs examples run with API.\n"
  },
  {
    "path": "docs-mkdocs/notebooks/active_inference_from_scratch.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"refresh\" content=\"0; url=../migration/numpy-to-jax/\" />\n    <link rel=\"canonical\" href=\"../migration/numpy-to-jax/\" />\n    <title>Redirecting...</title>\n  </head>\n  <body>\n    <p>Redirecting to <a href=\"../migration/numpy-to-jax/\">../migration/numpy-to-jax/</a>.</p>\n  </body>\n</html>\n"
  },
  {
    "path": "docs-mkdocs/notebooks/cue_chaining_demo.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"refresh\" content=\"0; url=https://github.com/infer-actively/pymdp/blob/main/docs/notebooks/cue_chaining_demo.ipynb\" />\n    <link rel=\"canonical\" href=\"https://github.com/infer-actively/pymdp/blob/main/docs/notebooks/cue_chaining_demo.ipynb\" />\n    <title>Redirecting...</title>\n  </head>\n  <body>\n    <p>Redirecting to <a href=\"https://github.com/infer-actively/pymdp/blob/main/docs/notebooks/cue_chaining_demo.ipynb\">legacy cue_chaining_demo notebook</a>.</p>\n  </body>\n</html>\n"
  },
  {
    "path": "docs-mkdocs/notebooks/free_energy_calculation.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"refresh\" content=\"0; url=../migration/numpy-to-jax/\" />\n    <link rel=\"canonical\" href=\"../migration/numpy-to-jax/\" />\n    <title>Redirecting...</title>\n  </head>\n  <body>\n    <p>Redirecting to <a href=\"../migration/numpy-to-jax/\">../migration/numpy-to-jax/</a>.</p>\n  </body>\n</html>\n"
  },
  {
    "path": "docs-mkdocs/notebooks/pymdp_fundamentals.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"refresh\" content=\"0; url=../migration/numpy-to-jax/\" />\n    <link rel=\"canonical\" href=\"../migration/numpy-to-jax/\" />\n    <title>Redirecting...</title>\n  </head>\n  <body>\n    <p>Redirecting to <a href=\"../migration/numpy-to-jax/\">../migration/numpy-to-jax/</a>.</p>\n  </body>\n</html>\n"
  },
  {
    "path": "docs-mkdocs/notebooks/tmaze_demo.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"refresh\" content=\"0; url=../tutorials/notebooks/examples/envs/tmaze_demo.ipynb\" />\n    <link rel=\"canonical\" href=\"../tutorials/notebooks/examples/envs/tmaze_demo.ipynb\" />\n    <title>Redirecting...</title>\n  </head>\n  <body>\n    <p>Redirecting to <a href=\"../tutorials/notebooks/examples/envs/tmaze_demo.ipynb\">../tutorials/notebooks/examples/envs/tmaze_demo.ipynb</a>.</p>\n  </body>\n</html>\n"
  },
  {
    "path": "docs-mkdocs/notebooks/using_the_agent_class.html",
    "content": "<!doctype html>\n<html>\n  <head>\n    <meta charset=\"utf-8\" />\n    <meta http-equiv=\"refresh\" content=\"0; url=../getting-started/quickstart-jax/\" />\n    <link rel=\"canonical\" href=\"../getting-started/quickstart-jax/\" />\n    <title>Redirecting...</title>\n  </head>\n  <body>\n    <p>Redirecting to <a href=\"../getting-started/quickstart-jax/\">../getting-started/quickstart-jax/</a>.</p>\n  </body>\n</html>\n"
  },
  {
    "path": "docs-mkdocs/overrides/modules/sidebar.html",
    "content": "<nav id=\"sidebar\" class=\"sidebar drac-bg-black\" aria-label=\"Sidebar navigation\">\n    <div class=\"custom-menu\">\n        <button type=\"button\" id=\"sidebarCollapse\" class=\"btn btn-primary\" aria-controls=\"sidebar\" aria-expanded=\"true\">\n            <i class=\"fa fa-bars\"></i>\n            <span class=\"sr-only\">Menu</span>\n        </button>\n    </div>\n\n    <div class=\"p-4\">\n        {% if config.theme.logo %}\n            <img class=\"logo pymdp-sidebar-logo\" src=\"{{ config.theme.logo|url }}\" alt=\"{{ config.site_name }} logo\">\n        {% endif %}\n\n        <hr class=\"drac-divider\" />\n\n        <ul class=\"mb-5 drac-list drac-list-none\">\n            {% include \"modules/menu.html\" %}\n        </ul>\n    </div>\n</nav>\n"
  },
  {
    "path": "docs-mkdocs/styles/crisp-api.css",
    "content": "@import url(\"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap\");\n\n:root {\n  --pymdp-inline-code-bg: rgba(98, 114, 164, 0.22);\n  --pymdp-inline-code-fg: #8be9fd;\n  --pymdp-inline-code-border: rgba(139, 233, 253, 0.22);\n}\n\nbody {\n  font-family: \"IBM Plex Sans\", sans-serif;\n}\n\npre,\ncode,\nkbd,\nsamp {\n  font-family: \"IBM Plex Mono\", \"Fira Code\", monospace;\n}\n\n/* API reference tables: keep mkdocstrings type signatures on one line when possible. */\n.doc .doc-contents > table {\n  table-layout: auto;\n  width: 100%;\n}\n\n.doc .doc-contents > table tr > :nth-child(2) {\n  min-width: 14rem;\n  width: 14rem;\n}\n\n.doc .doc-contents > table tr > :first-child:nth-last-child(2) {\n  min-width: 16rem;\n  width: 16rem;\n}\n\n.doc .doc-contents > table tr > :nth-child(2) code,\n.doc .doc-contents > table tr > :first-child:nth-last-child(2) code {\n  white-space: nowrap;\n}\n\n/* Override Dracula's default purple inline code chip for better contrast. */\narticle p code,\narticle li code,\narticle td code,\narticle th code,\narticle dt code,\narticle dd code,\narticle blockquote code,\narticle a code,\narticle h1 code,\narticle h2 code,\narticle h3 code,\narticle h4 code,\narticle h5 code,\narticle h6 code {\n  background: var(--pymdp-inline-code-bg);\n  border: 1px solid var(--pymdp-inline-code-border);\n  border-radius: 6px;\n  color: var(--pymdp-inline-code-fg);\n  font-family: \"IBM Plex Mono\", \"Fira Code\", monospace;\n  padding: 0.08rem 0.32rem;\n}\n\n/* Notebook pages: align mkdocs-jupyter output with the Dracula site shell. */\n.jupyter-wrapper {\n  margin-block: 1.5rem;\n}\n\n.jupyter-wrapper [data-jp-theme-light=\"false\"] {\n  --jp-layout-color0: #282a36;\n  --jp-layout-color1: #21222c;\n  --jp-layout-color2: #343746;\n  --jp-layout-color3: #44475a;\n  --jp-layout-color4: #6272a4;\n  --jp-border-color0: rgba(139, 233, 253, 0.16);\n  --jp-border-color1: rgba(139, 233, 253, 0.14);\n  --jp-border-color2: rgba(139, 233, 253, 0.08);\n  --jp-border-color3: rgba(139, 233, 253, 0.06);\n  --jp-ui-font-color0: #f8f8f2;\n  --jp-ui-font-color1: rgba(248, 248, 242, 0.92);\n  --jp-ui-font-color2: rgba(248, 248, 242, 0.66);\n  --jp-content-font-color0: #f8f8f2;\n  --jp-content-font-color1: rgba(248, 248, 242, 0.92);\n  --jp-content-font-color2: rgba(248, 248, 242, 0.7);\n  --jp-content-link-color: #8be9fd;\n  --jp-cell-editor-background: #191a21;\n  --jp-cell-editor-active-background: #15161c;\n  --jp-cell-editor-border-color: rgba(139, 233, 253, 0.14);\n  --jp-rendermime-table-row-background: rgba(255, 255, 255, 0.02);\n  --jp-rendermime-table-row-hover-background: rgba(139, 233, 253, 0.05);\n  --jp-mirror-editor-keyword-color: #ff79c6;\n  --jp-mirror-editor-atom-color: #bd93f9;\n  --jp-mirror-editor-number-color: #bd93f9;\n  --jp-mirror-editor-def-color: #50fa7b;\n  --jp-mirror-editor-variable-color: #f8f8f2;\n  --jp-mirror-editor-variable-2-color: #8be9fd;\n  --jp-mirror-editor-variable-3-color: #50fa7b;\n  --jp-mirror-editor-punctuation-color: #f8f8f2;\n  --jp-mirror-editor-property-color: #8be9fd;\n  --jp-mirror-editor-operator-color: #ff79c6;\n  --jp-mirror-editor-comment-color: #6272a4;\n  --jp-mirror-editor-string-color: #f1fa8c;\n  --jp-mirror-editor-string-2-color: #f1fa8c;\n  --jp-mirror-editor-meta-color: #ff79c6;\n  --jp-mirror-editor-qualifier-color: #50fa7b;\n  --jp-mirror-editor-builtin-color: #8be9fd;\n  --jp-mirror-editor-hr-color: #44475a;\n  --jp-mirror-editor-error-color: #ff5555;\n}\n\n.jupyter-wrapper .jp-Notebook {\n  background: linear-gradient(180deg, rgba(40, 42, 54, 0.98), rgba(28, 29, 38, 0.98));\n  border: 1px solid rgba(139, 233, 253, 0.08);\n  border-radius: 18px;\n  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.26);\n  overflow: hidden;\n  padding: 1rem 1.1rem 1.25rem;\n}\n\n.jupyter-wrapper .jp-Cell {\n  margin-bottom: 1rem;\n}\n\n.jupyter-wrapper .jp-Cell:last-child {\n  margin-bottom: 0;\n}\n\n.jupyter-wrapper .jp-InputArea-editor,\n.jupyter-wrapper .jp-OutputArea-child,\n.jupyter-wrapper .jp-RenderedHTMLCommon table,\n.jupyter-wrapper .jp-RenderedText pre {\n  border-radius: 12px;\n}\n\n.jupyter-wrapper .jp-InputArea-editor {\n  border: 1px solid rgba(139, 233, 253, 0.1);\n  box-shadow: none;\n}\n\n.jupyter-wrapper .jp-OutputArea-child {\n  background: rgba(17, 18, 23, 0.38);\n  border: 1px solid rgba(139, 233, 253, 0.06);\n  padding: 0.75rem;\n}\n\n.jupyter-wrapper .jp-InputPrompt,\n.jupyter-wrapper .jp-OutputPrompt {\n  color: #8be9fd;\n  font-size: 0.78rem;\n  opacity: 0.82;\n}\n\n.jupyter-wrapper .jp-RenderedHTMLCommon p,\n.jupyter-wrapper .jp-RenderedHTMLCommon li {\n  color: var(--jp-content-font-color1);\n}\n\n.jupyter-wrapper .jp-RenderedHTMLCommon a {\n  color: #8be9fd;\n}\n\n.jupyter-wrapper .jp-RenderedHTMLCommon table {\n  background: rgba(17, 18, 23, 0.22);\n  overflow: hidden;\n}\n\n.jupyter-wrapper .jp-RenderedImage img,\n.jupyter-wrapper .jp-RenderedSVG svg {\n  border-radius: 12px;\n}\n\n.pymdp-sidebar-logo {\n  display: block;\n  margin: 0.35rem auto 1.4rem;\n  height: auto;\n  max-width: 100%;\n  width: min(240px, 100%) !important;\n}\n"
  },
  {
    "path": "docs-mkdocs/tutorials/index.md",
    "content": "# Tutorials\n\nUse this section for runnable, example-driven materials sourced from Jupyter\nnotebooks under `examples/`.\n\nFor focused conceptual/how-to docs, use the Guides section.\n\n- [Notebook gallery](notebooks/index.md)\n- [`rollout()` compiled loop guide](../guides/rollout-active-inference-loop.md)\n- [NumPy/legacy to JAX migration guide](../migration/numpy-to-jax.md)\n"
  },
  {
    "path": "docs-mkdocs/tutorials/notebooks/index.header.md",
    "content": "## For developers\n\nThe notebook listings above are auto-generated by `./scripts/sync_docs_notebooks.sh`.\n\nSource notebooks live under `examples/`. The mirrored notebooks under\n`docs-mkdocs/tutorials/notebooks/examples/` are generated build artifacts.\n\nTo add a notebook:\n\n1. Add a path to `docs-mkdocs/tutorials/notebooks.manifest`.\n2. Run `./scripts/sync_docs_notebooks.sh`.\n"
  },
  {
    "path": "docs-mkdocs/tutorials/notebooks/index.md",
    "content": "# Notebook Gallery\n\n## Curated notebooks\n\n### Getting started\n- [Generative Model Construction (Model/Distribution APIs)](examples/api/model_construction_tutorial.ipynb)\n- [T-Maze Demo](examples/envs/tmaze_demo.ipynb)\n- [T-Maze Task with Distractors](examples/envs/generalized_tmaze_demo.ipynb)\n- [Cue Chaining Demo](examples/envs/cue_chaining_demo.ipynb)\n- [Graph worlds](examples/envs/graph_worlds_demo.ipynb)\n- [Demo: Knapsack Problem](examples/envs/knapsack_demo.ipynb)\n\n### Sophisticated Inference\n- [Validating Sophisticated Inference (SI) Planning Algorithm using the T-Maze Task](examples/experimental/sophisticated_inference/si_tmaze_SIvalidation.ipynb)\n- [Sophisticated inference on a T-Maze Task with Distractors](examples/experimental/sophisticated_inference/si_generalized_tmaze.ipynb)\n- [Sophisticated inference on Graph Worlds](examples/experimental/sophisticated_inference/si_graph_world.ipynb)\n\n### Inductive Inference\n- [Inductive Inference Example](examples/inductive_inference/inductive_inference_example.ipynb)\n- [Inductive Inference Gridworld](examples/inductive_inference/inductive_inference_gridworld.ipynb)\n\n### Parameter Learning\n- [Learning Gridworld](examples/learning/learning_gridworld.ipynb)\n\n### Fitting POMDPs to experimental / behavioral data\n- [Fitting With `pybefit`](examples/model_fitting/fitting_with_pybefit.ipynb)\n\n### Advanced\n- [Working with complex action dependencies](examples/advanced/complex_action_dependency.ipynb)\n- [Using `pymdp` with a neural encoder](examples/advanced/pymdp_with_neural_encoder.ipynb)\n- [Testing optimized inference methods](examples/advanced/infer_states_optimization/methods_test.ipynb)\n- [Sparse Array Benchmarking](examples/sparse/sparse_benchmark.ipynb)\n- [Sophisticated inference with Monte Carlo Tree Search on TMaze with Distractors](examples/experimental/sophisticated_inference/mcts_generalized_tmaze.ipynb)\n- [Sophisticated inference with Monte Carlo Tree Search on Graph World](examples/experimental/sophisticated_inference/mcts_graph_world.ipynb)\n- [Comparing sequential inference algorithms](examples/inference_and_learning/inference_methods_comparison.ipynb)\n\n\n## For developers\n\nThe notebook listings above are auto-generated by `./scripts/sync_docs_notebooks.sh`.\n\nSource notebooks live under `examples/`. The mirrored notebooks under\n`docs-mkdocs/tutorials/notebooks/examples/` are generated build artifacts.\n\nTo add a notebook:\n\n1. Add a path to `docs-mkdocs/tutorials/notebooks.manifest`.\n2. Run `./scripts/sync_docs_notebooks.sh`.\n"
  },
  {
    "path": "docs-mkdocs/tutorials/notebooks.manifest",
    "content": "# One notebook path per line, relative to repository root.\nexamples/advanced/complex_action_dependency.ipynb\nexamples/advanced/pymdp_with_neural_encoder.ipynb\nexamples/advanced/infer_states_optimization/methods_test.ipynb\nexamples/api/model_construction_tutorial.ipynb\nexamples/envs/cue_chaining_demo.ipynb\nexamples/envs/generalized_tmaze_demo.ipynb\nexamples/envs/graph_worlds_demo.ipynb\nexamples/envs/knapsack_demo.ipynb\nexamples/envs/tmaze_demo.ipynb\nexamples/experimental/sophisticated_inference/mcts_generalized_tmaze.ipynb\nexamples/experimental/sophisticated_inference/mcts_graph_world.ipynb\nexamples/experimental/sophisticated_inference/si_generalized_tmaze.ipynb\nexamples/experimental/sophisticated_inference/si_graph_world.ipynb\nexamples/experimental/sophisticated_inference/si_tmaze_SIvalidation.ipynb\nexamples/inductive_inference/inductive_inference_example.ipynb\nexamples/inductive_inference/inductive_inference_gridworld.ipynb\nexamples/inference_and_learning/inference_methods_comparison.ipynb\nexamples/learning/learning_gridworld.ipynb\nexamples/model_fitting/fitting_with_pybefit.ipynb\nexamples/sparse/sparse_benchmark.ipynb\n"
  },
  {
    "path": "examples/__init__.py",
    "content": ""
  },
  {
    "path": "examples/advanced/complex_action_dependency.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Complex action dependencies\\n\",\n    \"\\n\",\n    \"In this notebook, we will show some examples of how to specify and run agents with complex action dependencies. Complex action dependencies refer to situations where a state variables depends on multiple actions or no action. These state transitions tensors have shapes of the form: `[state_dim, *prev_state_dims, *prev_action_dims]`. \\n\",\n    \"\\n\",\n    \"The general strategy for dealing with this is to flatten the `prev_action_dims` while initializing the agent so that the new B tensor shapes are `[state_dim, *prev_state_dims, math.prod(prev_action_dims)]`. If a state has no action dependency, the new B tensor will have shape `[state_dim, *prev_state_dims, 1]` where 1 stands for a dummy action. All computations will be done in the flattened B tensors and actions will be sampled in the flattened action dimensions. After a flattened action is sampled, one can convert it back to the original action dimensions by calling `agent.decode_multi_actions`. To flatten multi actions, for example from collected data, one can call `agent.encode_multi_actions`.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from pprint import pprint\\n\",\n    \"import itertools\\n\",\n    \"import numpy as np\\n\",\n    \"from jax import numpy as jnp, random as jr\\n\",\n    \"from jax import tree_util as jtu\\n\",\n    \"\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp import distribution\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Multiple action dependencies\\n\",\n    \"In this example, some states depend on multiple actions. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"A_dependencies [[0]]\\n\",\n      \"B_dependencies [[0], [1]]\\n\",\n      \"B_action_dependencies [[0, 1], [0]]\\n\",\n      \"original control dims [2, 3]\\n\",\n      \"flattened control dims [6, 2]\\n\",\n      \"original B shapes [(4, 4, 2, 3), (4, 4, 2)]\\n\",\n      \"flattened B shapes [(1, 4, 4, 6), (1, 4, 4, 2)]\\n\",\n      \"B normalized [Array(True, dtype=bool), Array(True, dtype=bool)]\\n\",\n      \"B flat normalized [Array(True, dtype=bool), Array(True, dtype=bool)]\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"prior\\n\",\n      \"[Array([[0.  , 0.25, 0.25, 0.5 ]], dtype=float32),\\n\",\n      \" Array([[0.  , 0.25, 0.25, 0.5 ]], dtype=float32)]\\n\",\n      \"post\\n\",\n      \"[Array([[[0., 0., 1., 0.]]], dtype=float32),\\n\",\n      \" Array([[[0.  , 0.25, 0.25, 0.5 ]]], dtype=float32)]\\n\",\n      \"action\\n\",\n      \"Array([[0, 0]], dtype=int32)\\n\",\n      \"action_multi\\n\",\n      \"Array([[0, 0]], dtype=int32)\\n\",\n      \"action_reconstruct\\n\",\n      \"Array([[0, 0]], dtype=int32)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"model_description = {\\n\",\n    \"    \\\"observations\\\": {\\n\",\n    \"        \\\"o1\\\": {\\\"elements\\\": [\\\"A\\\", \\\"B\\\", \\\"C\\\", \\\"D\\\"], \\\"depends_on\\\": [\\\"s1\\\"]},\\n\",\n    \"    },\\n\",\n    \"    \\\"controls\\\": {\\\"c1\\\": {\\\"elements\\\": [\\\"up\\\", \\\"down\\\"]}, \\\"c2\\\": {\\\"elements\\\": [\\\"left\\\", \\\"right\\\", \\\"stay\\\"]}},\\n\",\n    \"    \\\"states\\\": {\\n\",\n    \"        \\\"s1\\\": {\\\"elements\\\": [\\\"A\\\", \\\"B\\\", \\\"C\\\", \\\"D\\\"], \\\"depends_on\\\": [\\\"s1\\\"], \\\"controlled_by\\\": [\\\"c1\\\", \\\"c2\\\"]},\\n\",\n    \"        \\\"s2\\\": {\\\"elements\\\": [\\\"A\\\", \\\"B\\\", \\\"C\\\", \\\"D\\\"], \\\"depends_on\\\": [\\\"s2\\\"], \\\"controlled_by\\\": [\\\"c1\\\"]},\\n\",\n    \"    },\\n\",\n    \"}\\n\",\n    \"\\n\",\n    \"B_action_dependencies = [\\n\",\n    \"    [list(model_description[\\\"controls\\\"].keys()).index(i) for i in s[\\\"controlled_by\\\"]] \\n\",\n    \"    for s in model_description[\\\"states\\\"].values()\\n\",\n    \"]\\n\",\n    \"num_controls = [len(c[\\\"elements\\\"]) for c in model_description[\\\"controls\\\"].values()]\\n\",\n    \"\\n\",\n    \"model = distribution.compile_model(model_description)\\n\",\n    \"\\n\",\n    \"# initialize tensor values\\n\",\n    \"model.A[\\\"o1\\\"][\\\"A\\\", \\\"A\\\"] = 1.0\\n\",\n    \"model.A[\\\"o1\\\"][\\\"B\\\", \\\"B\\\"] = 1.0\\n\",\n    \"model.A[\\\"o1\\\"][\\\"C\\\", \\\"C\\\"] = 1.0\\n\",\n    \"model.A[\\\"o1\\\"][\\\"D\\\", \\\"D\\\"] = 1.0\\n\",\n    \"\\n\",\n    \"for i, state in enumerate(model_description[\\\"states\\\"].keys()):\\n\",\n    \"    controls = list(itertools.product(*[\\n\",\n    \"        model_description[\\\"controls\\\"][c][\\\"elements\\\"] for c in model_description[\\\"states\\\"][state][\\\"controlled_by\\\"]\\n\",\n    \"    ]))\\n\",\n    \"    for control in controls:\\n\",\n    \"        model.B[i][(\\\"B\\\", \\\"A\\\", *control)] = 1.0\\n\",\n    \"        model.B[i][(\\\"C\\\", \\\"B\\\", *control)] = 1.0\\n\",\n    \"        model.B[i][(\\\"D\\\", \\\"C\\\", *control)] = 1.0\\n\",\n    \"        model.B[i][(\\\"D\\\", \\\"D\\\", *control)] = 1.0\\n\",\n    \"\\n\",\n    \"agent = Agent(\\n\",\n    \"    model.A, model.B,\\n\",\n    \"    B_action_dependencies=B_action_dependencies,\\n\",\n    \"    num_controls=num_controls,\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"# dummy history\\n\",\n    \"# re-write the action sampling to be controlled by jax.random\\n\",\n    \"action_key, obs_key = jr.split(jr.PRNGKey(0))\\n\",\n    \"action = agent.policies[jr.choice(action_key, len(agent.policies))]\\n\",\n    \"observation = [jr.randint(obs_key, (1, 1), 0, d) for d in agent.num_obs]\\n\",\n    \"qs_hist = jtu.tree_map(lambda x: jnp.expand_dims(x, 0), agent.D)\\n\",\n    \"\\n\",\n    \"prior = agent.update_empirical_prior(action, qs_hist)\\n\",\n    \"qs = agent.infer_states(observations=observation, empirical_prior=prior)\\n\",\n    \"\\n\",\n    \"q_pi, G = agent.infer_policies(qs)\\n\",\n    \"action = agent.sample_action(q_pi)\\n\",\n    \"action_multi = agent.decode_multi_actions(action)\\n\",\n    \"action_reconstruct = agent.encode_multi_actions(action_multi)\\n\",\n    \"\\n\",\n    \"print(\\\"A_dependencies\\\", agent.A_dependencies)\\n\",\n    \"print(\\\"B_dependencies\\\", agent.B_dependencies)\\n\",\n    \"print(\\\"B_action_dependencies\\\", agent.B_action_dependencies)\\n\",\n    \"print(\\\"original control dims\\\", agent.num_controls_multi)\\n\",\n    \"print(\\\"flattened control dims\\\", agent.num_controls)\\n\",\n    \"print(\\\"original B shapes\\\", [a.data.shape for a in model.B])\\n\",\n    \"print(\\\"flattened B shapes\\\", [a.shape for a in agent.B])\\n\",\n    \"print(\\\"B normalized\\\", [jnp.isclose(a.data.sum(0), 1.).all() for a in model.B])\\n\",\n    \"print(\\\"B flat normalized\\\", [jnp.isclose(a.sum(1), 1.).all() for a in agent.B])\\n\",\n    \"\\n\",\n    \"print(\\\"\\\\n\\\")\\n\",\n    \"print(\\\"prior\\\")\\n\",\n    \"pprint([p.round(2) for p in prior])\\n\",\n    \"print(\\\"post\\\")\\n\",\n    \"pprint([p.round(2) for p in qs])\\n\",\n    \"print(\\\"action\\\")\\n\",\n    \"pprint(action)\\n\",\n    \"print(\\\"action_multi\\\")\\n\",\n    \"pprint(action_multi)\\n\",\n    \"print(\\\"action_reconstruct\\\")\\n\",\n    \"pprint(action_reconstruct)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## No action dependency\\n\",\n    \"\\n\",\n    \"In this example, some states do not depend on any action.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"A_dependencies [[0]]\\n\",\n      \"B_dependencies [[0], [1]]\\n\",\n      \"B_action_dependencies [[0, 1], []]\\n\",\n      \"original control dims [2, 3]\\n\",\n      \"flattened control dims [6, 1]\\n\",\n      \"original B shapes [(4, 4, 2, 3), (4, 4)]\\n\",\n      \"flattened B shapes [(1, 4, 4, 6), (1, 4, 4, 1)]\\n\",\n      \"B normalized [Array(True, dtype=bool), Array(True, dtype=bool)]\\n\",\n      \"B flat normalized [Array(True, dtype=bool), Array(True, dtype=bool)]\\n\",\n      \"\\n\",\n      \"\\n\",\n      \"prior\\n\",\n      \"[Array([[0.  , 0.25, 0.25, 0.5 ]], dtype=float32),\\n\",\n      \" Array([[0.  , 0.25, 0.25, 0.5 ]], dtype=float32)]\\n\",\n      \"post\\n\",\n      \"[Array([[[0., 0., 1., 0.]]], dtype=float32),\\n\",\n      \" Array([[[0.  , 0.25, 0.25, 0.5 ]]], dtype=float32)]\\n\",\n      \"action\\n\",\n      \"Array([[0, 0]], dtype=int32)\\n\",\n      \"action_multi\\n\",\n      \"Array([[0, 0]], dtype=int32)\\n\",\n      \"action_reconstruct\\n\",\n      \"Array([[0, 0]], dtype=int32)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"model_description = {\\n\",\n    \"    \\\"observations\\\": {\\n\",\n    \"        \\\"o1\\\": {\\\"elements\\\": [\\\"A\\\", \\\"B\\\", \\\"C\\\", \\\"D\\\"], \\\"depends_on\\\": [\\\"s1\\\"]},\\n\",\n    \"    },\\n\",\n    \"    \\\"controls\\\": {\\\"c1\\\": {\\\"elements\\\": [\\\"up\\\", \\\"down\\\"]}, \\\"c2\\\": {\\\"elements\\\": [\\\"left\\\", \\\"right\\\", \\\"stay\\\"]}},\\n\",\n    \"    \\\"states\\\": {\\n\",\n    \"        \\\"s1\\\": {\\\"elements\\\": [\\\"A\\\", \\\"B\\\", \\\"C\\\", \\\"D\\\"], \\\"depends_on\\\": [\\\"s1\\\"], \\\"controlled_by\\\": [\\\"c1\\\", \\\"c2\\\"]},\\n\",\n    \"        \\\"s2\\\": {\\\"elements\\\": [\\\"A\\\", \\\"B\\\", \\\"C\\\", \\\"D\\\"], \\\"depends_on\\\": [\\\"s2\\\"], \\\"controlled_by\\\": []},\\n\",\n    \"    },\\n\",\n    \"}\\n\",\n    \"\\n\",\n    \"B_action_dependencies = [   \\n\",\n    \"    [list(model_description[\\\"controls\\\"].keys()).index(i) for i in s[\\\"controlled_by\\\"]] \\n\",\n    \"    for s in model_description[\\\"states\\\"].values()\\n\",\n    \"]\\n\",\n    \"num_controls = [len(c[\\\"elements\\\"]) for c in model_description[\\\"controls\\\"].values()]\\n\",\n    \"\\n\",\n    \"model = distribution.compile_model(model_description)\\n\",\n    \"\\n\",\n    \"# initialize tensor values\\n\",\n    \"model.A[\\\"o1\\\"][\\\"A\\\", \\\"A\\\"] = 1.0\\n\",\n    \"model.A[\\\"o1\\\"][\\\"B\\\", \\\"B\\\"] = 1.0\\n\",\n    \"model.A[\\\"o1\\\"][\\\"C\\\", \\\"C\\\"] = 1.0\\n\",\n    \"model.A[\\\"o1\\\"][\\\"D\\\", \\\"D\\\"] = 1.0\\n\",\n    \"\\n\",\n    \"for i, state in enumerate(model_description[\\\"states\\\"].keys()):\\n\",\n    \"    controls = list(itertools.product(*[\\n\",\n    \"        model_description[\\\"controls\\\"][c][\\\"elements\\\"] for c in model_description[\\\"states\\\"][state][\\\"controlled_by\\\"]\\n\",\n    \"    ]))\\n\",\n    \"    for control in controls:\\n\",\n    \"        model.B[i][(\\\"B\\\", \\\"A\\\", *control)] = 1.0\\n\",\n    \"        model.B[i][(\\\"C\\\", \\\"B\\\", *control)] = 1.0\\n\",\n    \"        model.B[i][(\\\"D\\\", \\\"C\\\", *control)] = 1.0\\n\",\n    \"        model.B[i][(\\\"D\\\", \\\"D\\\", *control)] = 1.0\\n\",\n    \"\\n\",\n    \"agent = Agent(\\n\",\n    \"    model.A, model.B,\\n\",\n    \"    B_action_dependencies=B_action_dependencies,\\n\",\n    \"    num_controls=num_controls,\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"# dummy history\\n\",\n    \"action_key, obs_key = jr.split(jr.PRNGKey(0))\\n\",\n    \"action = agent.policies[jr.choice(action_key, len(agent.policies))]\\n\",\n    \"observation = [jr.randint(obs_key, (1, 1), 0, d) for d in agent.num_obs]\\n\",\n    \"qs_hist = jtu.tree_map(lambda x: jnp.expand_dims(x, 0), agent.D)\\n\",\n    \"\\n\",\n    \"prior = agent.update_empirical_prior(action, qs_hist)\\n\",\n    \"qs = agent.infer_states(observations=observation, empirical_prior=prior)\\n\",\n    \"\\n\",\n    \"q_pi, G = agent.infer_policies(qs)\\n\",\n    \"action = agent.sample_action(q_pi)\\n\",\n    \"action_multi = agent.decode_multi_actions(action)\\n\",\n    \"action_reconstruct = agent.encode_multi_actions(action_multi)\\n\",\n    \"\\n\",\n    \"print(\\\"A_dependencies\\\", agent.A_dependencies)\\n\",\n    \"print(\\\"B_dependencies\\\", agent.B_dependencies)\\n\",\n    \"print(\\\"B_action_dependencies\\\", agent.B_action_dependencies)\\n\",\n    \"print(\\\"original control dims\\\", agent.num_controls_multi)\\n\",\n    \"print(\\\"flattened control dims\\\", agent.num_controls)\\n\",\n    \"print(\\\"original B shapes\\\", [a.data.shape for a in model.B])\\n\",\n    \"print(\\\"flattened B shapes\\\", [a.shape for a in agent.B])\\n\",\n    \"print(\\\"B normalized\\\", [jnp.isclose(a.data.sum(0), 1.).all() for a in model.B])\\n\",\n    \"print(\\\"B flat normalized\\\", [jnp.isclose(a.sum(1), 1.).all() for a in agent.B])\\n\",\n    \"\\n\",\n    \"print(\\\"\\\\n\\\")\\n\",\n    \"print(\\\"prior\\\")\\n\",\n    \"pprint([p.round(2) for p in prior])\\n\",\n    \"print(\\\"post\\\")\\n\",\n    \"pprint([p.round(2) for p in qs])\\n\",\n    \"print(\\\"action\\\")\\n\",\n    \"pprint(action)\\n\",\n    \"print(\\\"action_multi\\\")\\n\",\n    \"pprint(action_multi)\\n\",\n    \"print(\\\"action_reconstruct\\\")\\n\",\n    \"pprint(action_reconstruct)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"pymdp_dev_env\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.12.3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/advanced/infer_states_optimization/methods_test.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"id\": \"d329903e-0caa-4ad9-8b85-92ed348f1e0f\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"import jax.numpy as jnp\\n\",\n    \"import jax.tree_util as jtu\\n\",\n    \"import jax.experimental.sparse as jsparse\\n\",\n    \"from jax import nn, vmap, jit, block_until_ready\\n\",\n    \"from functools import partial\\n\",\n    \"\\n\",\n    \"from pymdp.utils import init_A_and_D_from_spec, get_sample_obs, generate_agent_specs_from_parameter_sets\\n\",\n    \"\\n\",\n    \"# Hybrid\\n\",\n    \"from pymdp.utils import apply_padding_batched\\n\",\n    \"from pymdp.maths import compute_log_likelihoods_padded, deconstruct_lls\\n\",\n    \"\\n\",\n    \"# Hybrid block\\n\",\n    \"from pymdp.utils import build_block_diag_A, preprocess_A_for_block_diag, prepare_obs_for_block_diag, concatenate_observations_block_diag\\n\",\n    \"from pymdp.maths import compute_log_likelihoods_block_diag, deconstruct_log_likelihoods_block_diag\\n\",\n    \"\\n\",\n    \"from pymdp.algos import run_factorized_fpi_hybrid # For hybrid and hybrid block\\n\",\n    \"\\n\",\n    \"# End2end padded\\n\",\n    \"from pymdp.utils import apply_A_end2end_padding_batched, apply_obs_end2end_padding_batched\\n\",\n    \"from pymdp.maths import compute_log_likelihood_per_modality_end2end2_padded\\n\",\n    \"from pymdp.algos import run_factorized_fpi_end2end_padded\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"id\": \"87d1c903-5496-4b12-a653-d6a9d8e6337b\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"{'num_factors': 10,\\n\",\n       \" 'num_modalities': 10,\\n\",\n       \" 'num_states': [3, 6, 2, 9, 7, 4, 7, 5, 7, 5],\\n\",\n       \" 'num_obs': [4, 2, 4, 9, 7, 8, 4, 5, 7, 4],\\n\",\n       \" 'A_dependencies': [[1],\\n\",\n       \"  [4],\\n\",\n       \"  [5, 6],\\n\",\n       \"  [0, 8],\\n\",\n       \"  [0, 2, 7],\\n\",\n       \"  [3, 5],\\n\",\n       \"  [6],\\n\",\n       \"  [2, 4, 7, 9],\\n\",\n       \"  [0, 2, 7, 8],\\n\",\n       \"  [7]],\\n\",\n       \" 'metadata': {'num_factors': 'medium',\\n\",\n       \"  'num_modalities': 'medium',\\n\",\n       \"  'state_dim_upper_limit': 'medium',\\n\",\n       \"  'obs_dim_upper_limit': 'medium',\\n\",\n       \"  'dim_sampling_type': 'uniform'}}\"\n      ]\n     },\n     \"execution_count\": 2,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# Define coordinated parameter sets\\n\",\n    \"# (num_factors, num_modalities, state_dim_upper_limit, obs_dim_upper_limit, dim_sampling_type, label)\\n\",\n    \"parameter_sets = [\\n\",\n    \"    (5, 5, 5, 5, 'uniform', 'low'),\\n\",\n    \"    (10, 10, 10, 10, 'uniform', 'medium'),\\n\",\n    \"    (25, 25, 25, 25, 'uniform', 'high'),\\n\",\n    \"    # (125, 125, 125, 125, 'uniform', 'extreme'),  # Uncomment to include extreme cases\\n\",\n    \"]\\n\",\n    \"\\n\",\n    \"# Generate agent specs without dumping to file\\n\",\n    \"specs = generate_agent_specs_from_parameter_sets(\\n\",\n    \"    parameter_sets,\\n\",\n    \"    num_agents_per_set=1,\\n\",\n    \"    output_file=None  # Don't save to file\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"spec = specs['arbitrary dependencies'][1]\\n\",\n    \"spec\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"id\": \"bc5d11ae-0e03-4ebc-9fb2-e31e51f29b63\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"WARNING:2025-11-20 23:52:19,919:jax._src.xla_bridge:794: An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu.\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"num_iter = 8\\n\",\n    \"batch_size = 4\\n\",\n    \"A_sparsity_level = None # E.g., 0.8 for 80% sparsity\\n\",\n    \"\\n\",\n    \"A, D = init_A_and_D_from_spec(\\n\",\n    \"    spec['num_obs'],\\n\",\n    \"    spec['num_states'],\\n\",\n    \"    spec['A_dependencies'],\\n\",\n    \"    A_sparsity_level=A_sparsity_level,\\n\",\n    \"    batch_size=batch_size\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"obs = get_sample_obs(spec['num_obs'], batch_size=batch_size)\\n\",\n    \"o_vec = [nn.one_hot(o, spec['num_obs'][m]) for m, o in enumerate(obs)]\\n\",\n    \"\\n\",\n    \"# place where this happens is important!\\n\",\n    \"# o_vec = jtu.tree_map(lambda x: x[-1], o_vec)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"c980e4a2-f81a-4279-a9a9-c16d1b2d7db6\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Original method imported directly from PyMDP\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"id\": \"ef656d7c-b9da-4d9b-990d-a6b7a99ca725\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from pymdp.inference import update_posterior_states\\n\",\n    \"\\n\",\n    \"infer_states_orig_pymdp = vmap(\\n\",\n    \"    partial(\\n\",\n    \"        update_posterior_states,\\n\",\n    \"        A_dependencies=spec['A_dependencies'],\\n\",\n    \"        num_iter=num_iter,\\n\",\n    \"        method='fpi'\\n\",\n    \"    )\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"id\": \"c2b7676f-58a7-41d3-8e66-31d2f58213b0\",\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"([(4, 1, 3),\\n\",\n       \"  (4, 1, 6),\\n\",\n       \"  (4, 1, 2),\\n\",\n       \"  (4, 1, 9),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 4),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 5),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 5)],\\n\",\n       \" [Array([[[0.0911239 , 0.70235616, 0.20651992]],\\n\",\n       \"  \\n\",\n       \"         [[0.20210403, 0.22807154, 0.56982446]],\\n\",\n       \"  \\n\",\n       \"         [[0.3876841 , 0.3879837 , 0.2243322 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.3751645 , 0.27490953, 0.34992597]]], dtype=float32),\\n\",\n       \"  Array([[[0.15824087, 0.183674  , 0.26761115, 0.09957846, 0.20257226,\\n\",\n       \"           0.08832329]],\\n\",\n       \"  \\n\",\n       \"         [[0.23064205, 0.02032886, 0.13066185, 0.01698621, 0.2857863 ,\\n\",\n       \"           0.31559473]],\\n\",\n       \"  \\n\",\n       \"         [[0.19148783, 0.11801518, 0.15054731, 0.13707514, 0.17550918,\\n\",\n       \"           0.22736534]],\\n\",\n       \"  \\n\",\n       \"         [[0.16028336, 0.27957812, 0.16871531, 0.12887648, 0.1418996 ,\\n\",\n       \"           0.12064715]]], dtype=float32),\\n\",\n       \"  Array([[[0.5558248 , 0.44417518]],\\n\",\n       \"  \\n\",\n       \"         [[0.549685  , 0.450315  ]],\\n\",\n       \"  \\n\",\n       \"         [[0.38312683, 0.6168732 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.5388057 , 0.46119428]]], dtype=float32),\\n\",\n       \"  Array([[[0.07716177, 0.10925393, 0.07744848, 0.1075874 , 0.16774674,\\n\",\n       \"           0.09816181, 0.09280077, 0.1271883 , 0.1426509 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.12493826, 0.16711089, 0.15916635, 0.13118526, 0.06024319,\\n\",\n       \"           0.04707498, 0.12128211, 0.10770807, 0.08129089]],\\n\",\n       \"  \\n\",\n       \"         [[0.1815095 , 0.10422336, 0.06684336, 0.14435901, 0.13004695,\\n\",\n       \"           0.0635796 , 0.05770647, 0.09602303, 0.15570885]],\\n\",\n       \"  \\n\",\n       \"         [[0.04864096, 0.08837192, 0.09715893, 0.13307187, 0.1358143 ,\\n\",\n       \"           0.18936108, 0.10949196, 0.09659162, 0.10149743]]], dtype=float32),\\n\",\n       \"  Array([[[0.1689375 , 0.160291  , 0.1127065 , 0.18204276, 0.21946688,\\n\",\n       \"           0.08239742, 0.07415786]],\\n\",\n       \"  \\n\",\n       \"         [[0.10790369, 0.22401966, 0.21666421, 0.06581873, 0.10617904,\\n\",\n       \"           0.08600897, 0.1934056 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.03150751, 0.13815624, 0.12641437, 0.14349641, 0.20863566,\\n\",\n       \"           0.33044106, 0.02134874]],\\n\",\n       \"  \\n\",\n       \"         [[0.09764873, 0.2943387 , 0.18542327, 0.14082205, 0.12583902,\\n\",\n       \"           0.07777937, 0.0781489 ]]], dtype=float32),\\n\",\n       \"  Array([[[0.20188354, 0.20390284, 0.35773486, 0.23647875]],\\n\",\n       \"  \\n\",\n       \"         [[0.13832287, 0.417142  , 0.29778096, 0.14675426]],\\n\",\n       \"  \\n\",\n       \"         [[0.14250487, 0.34247938, 0.2867788 , 0.22823687]],\\n\",\n       \"  \\n\",\n       \"         [[0.33311817, 0.08985048, 0.27870888, 0.2983224 ]]], dtype=float32),\\n\",\n       \"  Array([[[0.25531998, 0.09805848, 0.00180036, 0.06169656, 0.30057994,\\n\",\n       \"           0.10489379, 0.17765091]],\\n\",\n       \"  \\n\",\n       \"         [[0.2913621 , 0.11028862, 0.06915001, 0.06127482, 0.01146838,\\n\",\n       \"           0.2958903 , 0.16056576]],\\n\",\n       \"  \\n\",\n       \"         [[0.10321112, 0.10843234, 0.09066889, 0.10762182, 0.19040616,\\n\",\n       \"           0.18881004, 0.21084957]],\\n\",\n       \"  \\n\",\n       \"         [[0.0594087 , 0.15811725, 0.18402615, 0.22240478, 0.20785518,\\n\",\n       \"           0.06183277, 0.10635528]]], dtype=float32),\\n\",\n       \"  Array([[[0.43077353, 0.01719548, 0.18029211, 0.19461532, 0.17712358]],\\n\",\n       \"  \\n\",\n       \"         [[0.20952433, 0.28238228, 0.26831535, 0.22654854, 0.01322948]],\\n\",\n       \"  \\n\",\n       \"         [[0.34862244, 0.24600431, 0.12305126, 0.11314465, 0.16917741]],\\n\",\n       \"  \\n\",\n       \"         [[0.15003231, 0.08879875, 0.19839822, 0.52532786, 0.03744285]]],      dtype=float32),\\n\",\n       \"  Array([[[0.11571391, 0.04172199, 0.14292379, 0.21811739, 0.10899252,\\n\",\n       \"           0.2847777 , 0.08775268]],\\n\",\n       \"  \\n\",\n       \"         [[0.11718995, 0.01083917, 0.22239213, 0.11398617, 0.09531911,\\n\",\n       \"           0.3041632 , 0.13611032]],\\n\",\n       \"  \\n\",\n       \"         [[0.05459082, 0.1635046 , 0.13142689, 0.20870976, 0.17459586,\\n\",\n       \"           0.15282223, 0.11434983]],\\n\",\n       \"  \\n\",\n       \"         [[0.1454747 , 0.0939365 , 0.19433093, 0.22500299, 0.11097856,\\n\",\n       \"           0.0673811 , 0.16289519]]], dtype=float32),\\n\",\n       \"  Array([[[0.2335071 , 0.21891794, 0.16771059, 0.17027749, 0.20958687]],\\n\",\n       \"  \\n\",\n       \"         [[0.19165832, 0.21907933, 0.20649089, 0.19125326, 0.19151819]],\\n\",\n       \"  \\n\",\n       \"         [[0.20866643, 0.18651229, 0.23633833, 0.17361018, 0.19487286]],\\n\",\n       \"  \\n\",\n       \"         [[0.24136765, 0.17386995, 0.2222213 , 0.16080104, 0.2017401 ]]],      dtype=float32)])\"\n      ]\n     },\n     \"execution_count\": 5,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"qs = infer_states_orig_pymdp(A, None, o_vec, None, D)\\n\",\n    \"[q.shape for q in qs], qs\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"5525d913-b845-4287-bd5f-d3d7dba44eb8\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Hybrid method\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"id\": \"dd83c3d3\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def infer_states_hybrid(obs_padded, A_padded, D, A_shapes, A_dependencies, num_iter):\\n\",\n    \"    lls_padded = compute_log_likelihoods_padded(obs_padded, A_padded)\\n\",\n    \"    log_likelihoods = deconstruct_lls(lls_padded, A_shapes)\\n\",\n    \"    return vmap(partial(run_factorized_fpi_hybrid, A_dependencies=A_dependencies, num_iter=num_iter))(log_likelihoods, D)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"id\": \"6c778c1e-e373-4603-a244-6f3455a282d8\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"A_padded = apply_padding_batched(A)\\n\",\n    \"A_shapes = [a.shape for a in A]\\n\",\n    \"\\n\",\n    \"if A_sparsity_level is not None:\\n\",\n    \"    A_padded = jsparse.BCOO.fromdense(A_padded, n_batch=1)\\n\",\n    \"\\n\",\n    \"# obs preprocessing\\n\",\n    \"obs_padded = apply_padding_batched(jtu.tree_map(lambda x: jnp.squeeze(x, 1), o_vec))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"id\": \"5398c4aa-77bf-438c-8be8-1a5ab72e3d89\",\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"([(4, 1, 3),\\n\",\n       \"  (4, 1, 6),\\n\",\n       \"  (4, 1, 2),\\n\",\n       \"  (4, 1, 9),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 4),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 5),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 5)],\\n\",\n       \" [Array([[[0.0911239 , 0.70235616, 0.20651992]],\\n\",\n       \"  \\n\",\n       \"         [[0.20210403, 0.22807154, 0.56982446]],\\n\",\n       \"  \\n\",\n       \"         [[0.3876841 , 0.3879837 , 0.2243322 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.3751645 , 0.27490953, 0.34992597]]], dtype=float32),\\n\",\n       \"  Array([[[0.15824087, 0.183674  , 0.26761115, 0.09957846, 0.20257226,\\n\",\n       \"           0.08832329]],\\n\",\n       \"  \\n\",\n       \"         [[0.23064205, 0.02032886, 0.13066185, 0.01698621, 0.2857863 ,\\n\",\n       \"           0.31559473]],\\n\",\n       \"  \\n\",\n       \"         [[0.19148783, 0.11801518, 0.15054731, 0.13707514, 0.17550918,\\n\",\n       \"           0.22736534]],\\n\",\n       \"  \\n\",\n       \"         [[0.16028336, 0.27957812, 0.16871531, 0.12887648, 0.1418996 ,\\n\",\n       \"           0.12064715]]], dtype=float32),\\n\",\n       \"  Array([[[0.5558248 , 0.44417518]],\\n\",\n       \"  \\n\",\n       \"         [[0.549685  , 0.450315  ]],\\n\",\n       \"  \\n\",\n       \"         [[0.38312683, 0.6168732 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.5388057 , 0.46119428]]], dtype=float32),\\n\",\n       \"  Array([[[0.07716177, 0.10925393, 0.07744848, 0.1075874 , 0.16774674,\\n\",\n       \"           0.09816181, 0.09280077, 0.1271883 , 0.1426509 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.12493826, 0.16711089, 0.15916635, 0.13118526, 0.06024319,\\n\",\n       \"           0.04707498, 0.12128211, 0.10770807, 0.08129089]],\\n\",\n       \"  \\n\",\n       \"         [[0.1815095 , 0.10422336, 0.06684336, 0.14435901, 0.13004695,\\n\",\n       \"           0.0635796 , 0.05770647, 0.09602303, 0.15570885]],\\n\",\n       \"  \\n\",\n       \"         [[0.04864096, 0.08837192, 0.09715893, 0.13307187, 0.1358143 ,\\n\",\n       \"           0.18936108, 0.10949196, 0.09659162, 0.10149743]]], dtype=float32),\\n\",\n       \"  Array([[[0.1689375 , 0.160291  , 0.1127065 , 0.18204276, 0.21946688,\\n\",\n       \"           0.08239742, 0.07415786]],\\n\",\n       \"  \\n\",\n       \"         [[0.10790369, 0.22401966, 0.21666421, 0.06581873, 0.10617904,\\n\",\n       \"           0.08600897, 0.1934056 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.03150751, 0.13815624, 0.12641437, 0.14349641, 0.20863566,\\n\",\n       \"           0.33044106, 0.02134874]],\\n\",\n       \"  \\n\",\n       \"         [[0.09764873, 0.2943387 , 0.18542327, 0.14082205, 0.12583902,\\n\",\n       \"           0.07777937, 0.0781489 ]]], dtype=float32),\\n\",\n       \"  Array([[[0.20188354, 0.20390284, 0.35773486, 0.23647875]],\\n\",\n       \"  \\n\",\n       \"         [[0.13832287, 0.417142  , 0.29778096, 0.14675426]],\\n\",\n       \"  \\n\",\n       \"         [[0.14250487, 0.34247938, 0.2867788 , 0.22823687]],\\n\",\n       \"  \\n\",\n       \"         [[0.33311817, 0.08985048, 0.27870888, 0.2983224 ]]], dtype=float32),\\n\",\n       \"  Array([[[0.25531998, 0.09805848, 0.00180036, 0.06169656, 0.30057994,\\n\",\n       \"           0.10489379, 0.17765091]],\\n\",\n       \"  \\n\",\n       \"         [[0.2913621 , 0.11028862, 0.06915001, 0.06127482, 0.01146838,\\n\",\n       \"           0.2958903 , 0.16056576]],\\n\",\n       \"  \\n\",\n       \"         [[0.10321112, 0.10843234, 0.09066889, 0.10762182, 0.19040616,\\n\",\n       \"           0.18881004, 0.21084957]],\\n\",\n       \"  \\n\",\n       \"         [[0.0594087 , 0.15811725, 0.18402615, 0.22240478, 0.20785518,\\n\",\n       \"           0.06183277, 0.10635528]]], dtype=float32),\\n\",\n       \"  Array([[[0.43077353, 0.01719548, 0.18029211, 0.19461532, 0.17712358]],\\n\",\n       \"  \\n\",\n       \"         [[0.20952433, 0.28238228, 0.26831535, 0.22654854, 0.01322948]],\\n\",\n       \"  \\n\",\n       \"         [[0.34862244, 0.24600431, 0.12305126, 0.11314465, 0.16917741]],\\n\",\n       \"  \\n\",\n       \"         [[0.15003231, 0.08879875, 0.19839822, 0.52532786, 0.03744285]]],      dtype=float32),\\n\",\n       \"  Array([[[0.11571391, 0.04172199, 0.14292379, 0.21811739, 0.10899252,\\n\",\n       \"           0.2847777 , 0.08775268]],\\n\",\n       \"  \\n\",\n       \"         [[0.11718995, 0.01083917, 0.22239213, 0.11398617, 0.09531911,\\n\",\n       \"           0.3041632 , 0.13611032]],\\n\",\n       \"  \\n\",\n       \"         [[0.05459082, 0.1635046 , 0.13142689, 0.20870976, 0.17459586,\\n\",\n       \"           0.15282223, 0.11434983]],\\n\",\n       \"  \\n\",\n       \"         [[0.1454747 , 0.0939365 , 0.19433093, 0.22500299, 0.11097856,\\n\",\n       \"           0.0673811 , 0.16289519]]], dtype=float32),\\n\",\n       \"  Array([[[0.2335071 , 0.21891794, 0.16771059, 0.17027749, 0.20958687]],\\n\",\n       \"  \\n\",\n       \"         [[0.19165832, 0.21907933, 0.20649089, 0.19125326, 0.19151819]],\\n\",\n       \"  \\n\",\n       \"         [[0.20866643, 0.18651229, 0.23633833, 0.17361018, 0.19487286]],\\n\",\n       \"  \\n\",\n       \"         [[0.24136765, 0.17386995, 0.2222213 , 0.16080104, 0.2017401 ]]],      dtype=float32)])\"\n      ]\n     },\n     \"execution_count\": 8,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"qs = infer_states_hybrid(obs_padded, A_padded, D, A_shapes, A_dependencies=spec['A_dependencies'], num_iter=num_iter)\\n\",\n    \"[q.shape for q in qs], qs\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"id\": \"14c74aed\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"([(4, 1, 3),\\n\",\n       \"  (4, 1, 6),\\n\",\n       \"  (4, 1, 2),\\n\",\n       \"  (4, 1, 9),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 4),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 5),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 5)],\\n\",\n       \" [Array([[[0.0911239 , 0.70235616, 0.20651992]],\\n\",\n       \"  \\n\",\n       \"         [[0.20210403, 0.22807154, 0.56982446]],\\n\",\n       \"  \\n\",\n       \"         [[0.3876841 , 0.3879837 , 0.2243322 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.3751645 , 0.27490953, 0.34992597]]], dtype=float32),\\n\",\n       \"  Array([[[0.15824087, 0.183674  , 0.26761115, 0.09957846, 0.20257226,\\n\",\n       \"           0.08832329]],\\n\",\n       \"  \\n\",\n       \"         [[0.23064205, 0.02032886, 0.13066185, 0.01698621, 0.2857863 ,\\n\",\n       \"           0.31559473]],\\n\",\n       \"  \\n\",\n       \"         [[0.19148783, 0.11801518, 0.15054731, 0.13707514, 0.17550918,\\n\",\n       \"           0.22736534]],\\n\",\n       \"  \\n\",\n       \"         [[0.16028336, 0.27957812, 0.16871531, 0.12887648, 0.1418996 ,\\n\",\n       \"           0.12064715]]], dtype=float32),\\n\",\n       \"  Array([[[0.5558248 , 0.44417518]],\\n\",\n       \"  \\n\",\n       \"         [[0.549685  , 0.450315  ]],\\n\",\n       \"  \\n\",\n       \"         [[0.38312683, 0.6168732 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.5388057 , 0.46119428]]], dtype=float32),\\n\",\n       \"  Array([[[0.07716177, 0.10925393, 0.07744848, 0.1075874 , 0.16774674,\\n\",\n       \"           0.09816181, 0.09280077, 0.1271883 , 0.1426509 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.12493826, 0.16711089, 0.15916635, 0.13118526, 0.06024319,\\n\",\n       \"           0.04707498, 0.12128211, 0.10770807, 0.08129089]],\\n\",\n       \"  \\n\",\n       \"         [[0.1815095 , 0.10422336, 0.06684336, 0.14435901, 0.13004695,\\n\",\n       \"           0.0635796 , 0.05770647, 0.09602303, 0.15570885]],\\n\",\n       \"  \\n\",\n       \"         [[0.04864096, 0.08837192, 0.09715893, 0.13307187, 0.1358143 ,\\n\",\n       \"           0.18936108, 0.10949196, 0.09659162, 0.10149743]]], dtype=float32),\\n\",\n       \"  Array([[[0.1689375 , 0.160291  , 0.1127065 , 0.18204276, 0.21946688,\\n\",\n       \"           0.08239742, 0.07415786]],\\n\",\n       \"  \\n\",\n       \"         [[0.10790369, 0.22401966, 0.21666421, 0.06581873, 0.10617904,\\n\",\n       \"           0.08600897, 0.1934056 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.03150751, 0.13815624, 0.12641437, 0.14349641, 0.20863566,\\n\",\n       \"           0.33044106, 0.02134874]],\\n\",\n       \"  \\n\",\n       \"         [[0.09764873, 0.2943387 , 0.18542327, 0.14082205, 0.12583902,\\n\",\n       \"           0.07777937, 0.0781489 ]]], dtype=float32),\\n\",\n       \"  Array([[[0.20188354, 0.20390284, 0.35773486, 0.23647875]],\\n\",\n       \"  \\n\",\n       \"         [[0.13832287, 0.417142  , 0.29778096, 0.14675426]],\\n\",\n       \"  \\n\",\n       \"         [[0.14250487, 0.34247938, 0.2867788 , 0.22823687]],\\n\",\n       \"  \\n\",\n       \"         [[0.33311817, 0.08985048, 0.27870888, 0.2983224 ]]], dtype=float32),\\n\",\n       \"  Array([[[0.25531998, 0.09805848, 0.00180036, 0.06169656, 0.30057994,\\n\",\n       \"           0.10489379, 0.17765091]],\\n\",\n       \"  \\n\",\n       \"         [[0.2913621 , 0.11028862, 0.06915001, 0.06127482, 0.01146838,\\n\",\n       \"           0.2958903 , 0.16056576]],\\n\",\n       \"  \\n\",\n       \"         [[0.10321112, 0.10843234, 0.09066889, 0.10762182, 0.19040616,\\n\",\n       \"           0.18881004, 0.21084957]],\\n\",\n       \"  \\n\",\n       \"         [[0.0594087 , 0.15811725, 0.18402615, 0.22240478, 0.20785518,\\n\",\n       \"           0.06183277, 0.10635528]]], dtype=float32),\\n\",\n       \"  Array([[[0.43077353, 0.01719548, 0.18029211, 0.19461532, 0.17712358]],\\n\",\n       \"  \\n\",\n       \"         [[0.20952433, 0.28238228, 0.26831535, 0.22654854, 0.01322948]],\\n\",\n       \"  \\n\",\n       \"         [[0.34862244, 0.24600431, 0.12305126, 0.11314465, 0.16917741]],\\n\",\n       \"  \\n\",\n       \"         [[0.15003231, 0.08879875, 0.19839822, 0.52532786, 0.03744285]]],      dtype=float32),\\n\",\n       \"  Array([[[0.11571391, 0.04172199, 0.14292379, 0.21811739, 0.10899252,\\n\",\n       \"           0.2847777 , 0.08775268]],\\n\",\n       \"  \\n\",\n       \"         [[0.11718995, 0.01083917, 0.22239213, 0.11398617, 0.09531911,\\n\",\n       \"           0.3041632 , 0.13611032]],\\n\",\n       \"  \\n\",\n       \"         [[0.05459082, 0.1635046 , 0.13142689, 0.20870976, 0.17459586,\\n\",\n       \"           0.15282223, 0.11434983]],\\n\",\n       \"  \\n\",\n       \"         [[0.1454747 , 0.0939365 , 0.19433093, 0.22500299, 0.11097856,\\n\",\n       \"           0.0673811 , 0.16289519]]], dtype=float32),\\n\",\n       \"  Array([[[0.2335071 , 0.21891794, 0.16771059, 0.17027749, 0.20958687]],\\n\",\n       \"  \\n\",\n       \"         [[0.19165832, 0.21907933, 0.20649089, 0.19125326, 0.19151819]],\\n\",\n       \"  \\n\",\n       \"         [[0.20866643, 0.18651229, 0.23633833, 0.17361018, 0.19487286]],\\n\",\n       \"  \\n\",\n       \"         [[0.24136765, 0.17386995, 0.2222213 , 0.16080104, 0.2017401 ]]],      dtype=float32)])\"\n      ]\n     },\n     \"execution_count\": 9,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# JIT\\n\",\n    \"apply_padding_batched_jit = jit(partial(apply_padding_batched))\\n\",\n    \"infer_states_hybrid_jit = jit(partial(infer_states_hybrid, A_shapes=A_shapes, A_dependencies=spec['A_dependencies'], num_iter=num_iter))\\n\",\n    \"obs_padded = apply_padding_batched_jit(jtu.tree_map(lambda x: jnp.squeeze(x, 1), o_vec))\\n\",\n    \"\\n\",\n    \"qs = infer_states_hybrid_jit(obs_padded, A_padded, D)\\n\",\n    \"[q.shape for q in qs], qs\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"b8ba50c5\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Hybrid Block method\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"id\": \"9485d771\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# Infer states hybrid block\\n\",\n    \"def infer_states_hybrid_block(obs, A_big, D, state_shapes, cuts, A_dependencies, num_iter, use_einsum=False):\\n\",\n    \"    \\\"\\\"\\\"Hybrid inference using block diagonal approach for log-likelihood computation.\\\"\\\"\\\"\\n\",\n    \"    log_likelihoods = compute_log_likelihoods_block_diag(A_big, obs, state_shapes, cuts, use_einsum=use_einsum)\\n\",\n    \"    return vmap(partial(run_factorized_fpi_hybrid, A_dependencies=A_dependencies, num_iter=num_iter))(log_likelihoods, D)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"id\": \"891743ae\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# Create a copy with moved axes for block diagonal method (don't modify original A)\\n\",\n    \"A_moveaxis = [jnp.moveaxis(a, 1, -1) for a in A]\\n\",\n    \"# Preprocess A matrices for block diagonal approach\\n\",\n    \"A_big, state_shapes, cuts = preprocess_A_for_block_diag(A_moveaxis)\\n\",\n    \"\\n\",\n    \"if A_sparsity_level is not None:\\n\",\n    \"    A_big = jsparse.BCOO.fromdense(A_big, n_batch=1)\\n\",\n    \"\\n\",\n    \"obs_tmp = jtu.tree_map(lambda x: jnp.squeeze(x, 1), o_vec)\\n\",\n    \"obs_big = concatenate_observations_block_diag(obs_tmp)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"id\": \"1d52085c\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"([(4, 1, 3),\\n\",\n       \"  (4, 1, 6),\\n\",\n       \"  (4, 1, 2),\\n\",\n       \"  (4, 1, 9),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 4),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 5),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 5)],\\n\",\n       \" [Array([[[0.0911239 , 0.70235616, 0.20651992]],\\n\",\n       \"  \\n\",\n       \"         [[0.20210403, 0.22807154, 0.56982446]],\\n\",\n       \"  \\n\",\n       \"         [[0.3876841 , 0.3879837 , 0.2243322 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.3751645 , 0.27490953, 0.34992597]]], dtype=float32),\\n\",\n       \"  Array([[[0.15824087, 0.183674  , 0.26761115, 0.09957846, 0.20257226,\\n\",\n       \"           0.08832329]],\\n\",\n       \"  \\n\",\n       \"         [[0.23064205, 0.02032886, 0.13066185, 0.01698621, 0.2857863 ,\\n\",\n       \"           0.31559473]],\\n\",\n       \"  \\n\",\n       \"         [[0.19148783, 0.11801518, 0.15054731, 0.13707514, 0.17550918,\\n\",\n       \"           0.22736534]],\\n\",\n       \"  \\n\",\n       \"         [[0.16028336, 0.27957812, 0.16871531, 0.12887648, 0.1418996 ,\\n\",\n       \"           0.12064715]]], dtype=float32),\\n\",\n       \"  Array([[[0.5558248 , 0.44417518]],\\n\",\n       \"  \\n\",\n       \"         [[0.549685  , 0.450315  ]],\\n\",\n       \"  \\n\",\n       \"         [[0.38312683, 0.6168732 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.5388057 , 0.46119428]]], dtype=float32),\\n\",\n       \"  Array([[[0.07716177, 0.10925393, 0.07744848, 0.1075874 , 0.16774674,\\n\",\n       \"           0.09816181, 0.09280077, 0.1271883 , 0.1426509 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.12493826, 0.16711089, 0.15916635, 0.13118526, 0.06024319,\\n\",\n       \"           0.04707498, 0.12128211, 0.10770807, 0.08129089]],\\n\",\n       \"  \\n\",\n       \"         [[0.1815095 , 0.10422336, 0.06684336, 0.14435901, 0.13004695,\\n\",\n       \"           0.0635796 , 0.05770647, 0.09602303, 0.15570885]],\\n\",\n       \"  \\n\",\n       \"         [[0.04864096, 0.08837192, 0.09715893, 0.13307187, 0.1358143 ,\\n\",\n       \"           0.18936108, 0.10949196, 0.09659162, 0.10149743]]], dtype=float32),\\n\",\n       \"  Array([[[0.1689375 , 0.160291  , 0.1127065 , 0.18204276, 0.21946688,\\n\",\n       \"           0.08239742, 0.07415786]],\\n\",\n       \"  \\n\",\n       \"         [[0.10790369, 0.22401966, 0.21666421, 0.06581873, 0.10617904,\\n\",\n       \"           0.08600897, 0.1934056 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.03150751, 0.13815624, 0.12641437, 0.14349641, 0.20863566,\\n\",\n       \"           0.33044106, 0.02134874]],\\n\",\n       \"  \\n\",\n       \"         [[0.09764873, 0.2943387 , 0.18542327, 0.14082205, 0.12583902,\\n\",\n       \"           0.07777937, 0.0781489 ]]], dtype=float32),\\n\",\n       \"  Array([[[0.20188354, 0.20390284, 0.35773486, 0.23647875]],\\n\",\n       \"  \\n\",\n       \"         [[0.13832287, 0.417142  , 0.29778096, 0.14675426]],\\n\",\n       \"  \\n\",\n       \"         [[0.14250487, 0.34247938, 0.2867788 , 0.22823687]],\\n\",\n       \"  \\n\",\n       \"         [[0.33311817, 0.08985048, 0.27870888, 0.2983224 ]]], dtype=float32),\\n\",\n       \"  Array([[[0.25531998, 0.09805848, 0.00180036, 0.06169656, 0.30057994,\\n\",\n       \"           0.10489379, 0.17765091]],\\n\",\n       \"  \\n\",\n       \"         [[0.2913621 , 0.11028862, 0.06915001, 0.06127482, 0.01146838,\\n\",\n       \"           0.2958903 , 0.16056576]],\\n\",\n       \"  \\n\",\n       \"         [[0.10321112, 0.10843234, 0.09066889, 0.10762182, 0.19040616,\\n\",\n       \"           0.18881004, 0.21084957]],\\n\",\n       \"  \\n\",\n       \"         [[0.0594087 , 0.15811725, 0.18402615, 0.22240478, 0.20785518,\\n\",\n       \"           0.06183277, 0.10635528]]], dtype=float32),\\n\",\n       \"  Array([[[0.43077353, 0.01719548, 0.18029211, 0.19461532, 0.17712358]],\\n\",\n       \"  \\n\",\n       \"         [[0.20952433, 0.28238228, 0.26831535, 0.22654854, 0.01322948]],\\n\",\n       \"  \\n\",\n       \"         [[0.34862244, 0.24600431, 0.12305126, 0.11314465, 0.16917741]],\\n\",\n       \"  \\n\",\n       \"         [[0.15003231, 0.08879875, 0.19839822, 0.52532786, 0.03744285]]],      dtype=float32),\\n\",\n       \"  Array([[[0.11571391, 0.04172199, 0.14292379, 0.21811739, 0.10899252,\\n\",\n       \"           0.2847777 , 0.08775268]],\\n\",\n       \"  \\n\",\n       \"         [[0.11718995, 0.01083917, 0.22239213, 0.11398617, 0.09531911,\\n\",\n       \"           0.3041632 , 0.13611032]],\\n\",\n       \"  \\n\",\n       \"         [[0.05459082, 0.1635046 , 0.13142689, 0.20870976, 0.17459586,\\n\",\n       \"           0.15282223, 0.11434983]],\\n\",\n       \"  \\n\",\n       \"         [[0.1454747 , 0.0939365 , 0.19433093, 0.22500299, 0.11097856,\\n\",\n       \"           0.0673811 , 0.16289519]]], dtype=float32),\\n\",\n       \"  Array([[[0.2335071 , 0.21891794, 0.16771059, 0.17027749, 0.20958687]],\\n\",\n       \"  \\n\",\n       \"         [[0.19165832, 0.21907933, 0.20649089, 0.19125326, 0.19151819]],\\n\",\n       \"  \\n\",\n       \"         [[0.20866643, 0.18651229, 0.23633833, 0.17361018, 0.19487286]],\\n\",\n       \"  \\n\",\n       \"         [[0.24136765, 0.17386995, 0.2222213 , 0.16080104, 0.2017401 ]]],      dtype=float32)])\"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"qs = infer_states_hybrid_block(obs_big, A_big, D, \\n\",\n    \"    state_shapes=state_shapes, cuts=cuts, A_dependencies=spec['A_dependencies'], \\n\",\n    \"    num_iter=num_iter, use_einsum=False\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"[q.shape for q in qs], qs\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"id\": \"78beb618\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"([(4, 1, 3),\\n\",\n       \"  (4, 1, 6),\\n\",\n       \"  (4, 1, 2),\\n\",\n       \"  (4, 1, 9),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 4),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 5),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 5)],\\n\",\n       \" [Array([[[0.0911239 , 0.70235616, 0.20651992]],\\n\",\n       \"  \\n\",\n       \"         [[0.20210403, 0.22807154, 0.56982446]],\\n\",\n       \"  \\n\",\n       \"         [[0.3876841 , 0.3879837 , 0.2243322 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.3751645 , 0.27490953, 0.34992597]]], dtype=float32),\\n\",\n       \"  Array([[[0.15824087, 0.183674  , 0.26761115, 0.09957846, 0.20257226,\\n\",\n       \"           0.08832329]],\\n\",\n       \"  \\n\",\n       \"         [[0.23064205, 0.02032886, 0.13066185, 0.01698621, 0.2857863 ,\\n\",\n       \"           0.31559473]],\\n\",\n       \"  \\n\",\n       \"         [[0.19148783, 0.11801518, 0.15054731, 0.13707514, 0.17550918,\\n\",\n       \"           0.22736534]],\\n\",\n       \"  \\n\",\n       \"         [[0.16028336, 0.27957812, 0.16871531, 0.12887648, 0.1418996 ,\\n\",\n       \"           0.12064715]]], dtype=float32),\\n\",\n       \"  Array([[[0.5558248 , 0.44417518]],\\n\",\n       \"  \\n\",\n       \"         [[0.549685  , 0.450315  ]],\\n\",\n       \"  \\n\",\n       \"         [[0.38312683, 0.6168732 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.5388057 , 0.46119428]]], dtype=float32),\\n\",\n       \"  Array([[[0.07716177, 0.10925393, 0.07744848, 0.1075874 , 0.16774674,\\n\",\n       \"           0.09816181, 0.09280077, 0.1271883 , 0.1426509 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.12493826, 0.16711089, 0.15916635, 0.13118526, 0.06024319,\\n\",\n       \"           0.04707498, 0.12128211, 0.10770807, 0.08129089]],\\n\",\n       \"  \\n\",\n       \"         [[0.1815095 , 0.10422336, 0.06684336, 0.14435901, 0.13004695,\\n\",\n       \"           0.0635796 , 0.05770647, 0.09602303, 0.15570885]],\\n\",\n       \"  \\n\",\n       \"         [[0.04864096, 0.08837192, 0.09715893, 0.13307187, 0.1358143 ,\\n\",\n       \"           0.18936108, 0.10949196, 0.09659162, 0.10149743]]], dtype=float32),\\n\",\n       \"  Array([[[0.1689375 , 0.160291  , 0.1127065 , 0.18204276, 0.21946688,\\n\",\n       \"           0.08239742, 0.07415786]],\\n\",\n       \"  \\n\",\n       \"         [[0.10790369, 0.22401966, 0.21666421, 0.06581873, 0.10617904,\\n\",\n       \"           0.08600897, 0.1934056 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.03150751, 0.13815624, 0.12641437, 0.14349641, 0.20863566,\\n\",\n       \"           0.33044106, 0.02134874]],\\n\",\n       \"  \\n\",\n       \"         [[0.09764873, 0.2943387 , 0.18542327, 0.14082205, 0.12583902,\\n\",\n       \"           0.07777937, 0.0781489 ]]], dtype=float32),\\n\",\n       \"  Array([[[0.20188354, 0.20390284, 0.35773486, 0.23647875]],\\n\",\n       \"  \\n\",\n       \"         [[0.13832287, 0.417142  , 0.29778096, 0.14675426]],\\n\",\n       \"  \\n\",\n       \"         [[0.14250487, 0.34247938, 0.2867788 , 0.22823687]],\\n\",\n       \"  \\n\",\n       \"         [[0.33311817, 0.08985048, 0.27870888, 0.2983224 ]]], dtype=float32),\\n\",\n       \"  Array([[[0.25531998, 0.09805848, 0.00180036, 0.06169656, 0.30057994,\\n\",\n       \"           0.10489379, 0.17765091]],\\n\",\n       \"  \\n\",\n       \"         [[0.2913621 , 0.11028862, 0.06915001, 0.06127482, 0.01146838,\\n\",\n       \"           0.2958903 , 0.16056576]],\\n\",\n       \"  \\n\",\n       \"         [[0.10321112, 0.10843234, 0.09066889, 0.10762182, 0.19040616,\\n\",\n       \"           0.18881004, 0.21084957]],\\n\",\n       \"  \\n\",\n       \"         [[0.0594087 , 0.15811725, 0.18402615, 0.22240478, 0.20785518,\\n\",\n       \"           0.06183277, 0.10635528]]], dtype=float32),\\n\",\n       \"  Array([[[0.43077353, 0.01719548, 0.18029211, 0.19461532, 0.17712358]],\\n\",\n       \"  \\n\",\n       \"         [[0.20952433, 0.28238228, 0.26831535, 0.22654854, 0.01322948]],\\n\",\n       \"  \\n\",\n       \"         [[0.34862244, 0.24600431, 0.12305126, 0.11314465, 0.16917741]],\\n\",\n       \"  \\n\",\n       \"         [[0.15003231, 0.08879875, 0.19839822, 0.52532786, 0.03744285]]],      dtype=float32),\\n\",\n       \"  Array([[[0.11571391, 0.04172199, 0.14292379, 0.21811739, 0.10899252,\\n\",\n       \"           0.2847777 , 0.08775268]],\\n\",\n       \"  \\n\",\n       \"         [[0.11718995, 0.01083917, 0.22239213, 0.11398617, 0.09531911,\\n\",\n       \"           0.3041632 , 0.13611032]],\\n\",\n       \"  \\n\",\n       \"         [[0.05459082, 0.1635046 , 0.13142689, 0.20870976, 0.17459586,\\n\",\n       \"           0.15282223, 0.11434983]],\\n\",\n       \"  \\n\",\n       \"         [[0.1454747 , 0.0939365 , 0.19433093, 0.22500299, 0.11097856,\\n\",\n       \"           0.0673811 , 0.16289519]]], dtype=float32),\\n\",\n       \"  Array([[[0.2335071 , 0.21891794, 0.16771059, 0.17027749, 0.20958687]],\\n\",\n       \"  \\n\",\n       \"         [[0.19165832, 0.21907933, 0.20649089, 0.19125326, 0.19151819]],\\n\",\n       \"  \\n\",\n       \"         [[0.20866643, 0.18651229, 0.23633833, 0.17361018, 0.19487286]],\\n\",\n       \"  \\n\",\n       \"         [[0.24136765, 0.17386995, 0.2222213 , 0.16080104, 0.2017401 ]]],      dtype=float32)])\"\n      ]\n     },\n     \"execution_count\": 13,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# JIT\\n\",\n    \"use_einsum=False\\n\",\n    \"concatenate_observations_block_diag_jit = jit(partial(concatenate_observations_block_diag)) # just for obs\\n\",\n    \"infer_states_hybrid_block_jit = jit(partial(infer_states_hybrid_block, state_shapes=state_shapes, cuts=cuts, A_dependencies=spec['A_dependencies'], num_iter=num_iter, use_einsum=use_einsum))\\n\",\n    \"obs_big = concatenate_observations_block_diag_jit(obs_tmp) # add padding of obs before running the infer states\\n\",\n    \"\\n\",\n    \"qs = infer_states_hybrid_block_jit(obs_big, A_big, D)\\n\",\n    \"[q.shape for q in qs], qs\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"0020c0e3-4baa-45f7-a920-2640dcc958b9\",\n   \"metadata\": {},\n   \"source\": [\n    \"### End2End padded method\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"id\": \"1e91bf02\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def infer_states_end2end_padded(A_padded, obs_padded, D, A_dependencies, max_obs_dim, max_state_dim, num_iter, sparsity=None):\\n\",\n    \"    lls_padded = compute_log_likelihood_per_modality_end2end2_padded(obs_padded, A_padded, sparsity=sparsity)\\n\",\n    \"    return run_factorized_fpi_end2end_padded(lls_padded, D, A_dependencies, max_obs_dim, max_state_dim, num_iter)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"id\": \"96d162ed-b35e-44d3-9106-1c37158aab4d\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"A_padded = apply_A_end2end_padding_batched(A)\\n\",\n    \"\\n\",\n    \"if A_sparsity_level is not None:\\n\",\n    \"    A_padded = jsparse.BCOO.fromdense(A_padded)\\n\",\n    \"\\n\",\n    \"max_obs_dim = A_padded.shape[2]\\n\",\n    \"max_state_dim = max(A_padded.shape[3:])\\n\",\n    \"\\n\",\n    \"# obs preprocessing\\n\",\n    \"obs_padded = apply_obs_end2end_padding_batched(jtu.tree_map(lambda x: jnp.squeeze(x, 1), o_vec), max_obs_dim)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"id\": \"72bc7f44-52e9-4843-aef8-f8255fe785fd\",\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"([(4, 1, 3),\\n\",\n       \"  (4, 1, 6),\\n\",\n       \"  (4, 1, 2),\\n\",\n       \"  (4, 1, 9),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 4),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 5),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 5)],\\n\",\n       \" [Array([[[0.09112392, 0.70235604, 0.20652005]],\\n\",\n       \"  \\n\",\n       \"         [[0.202104  , 0.22807139, 0.56982464]],\\n\",\n       \"  \\n\",\n       \"         [[0.3876841 , 0.3879837 , 0.2243322 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.37516478, 0.27490932, 0.34992588]]], dtype=float32),\\n\",\n       \"  Array([[[0.15824087, 0.183674  , 0.26761115, 0.09957846, 0.20257226,\\n\",\n       \"           0.08832329]],\\n\",\n       \"  \\n\",\n       \"         [[0.23064205, 0.02032886, 0.13066185, 0.01698621, 0.2857863 ,\\n\",\n       \"           0.31559473]],\\n\",\n       \"  \\n\",\n       \"         [[0.19148783, 0.11801518, 0.15054731, 0.13707514, 0.17550918,\\n\",\n       \"           0.22736534]],\\n\",\n       \"  \\n\",\n       \"         [[0.16028336, 0.27957812, 0.16871531, 0.12887648, 0.1418996 ,\\n\",\n       \"           0.12064715]]], dtype=float32),\\n\",\n       \"  Array([[[0.55582505, 0.44417495]],\\n\",\n       \"  \\n\",\n       \"         [[0.549685  , 0.450315  ]],\\n\",\n       \"  \\n\",\n       \"         [[0.3831266 , 0.6168734 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.5388056 , 0.4611944 ]]], dtype=float32),\\n\",\n       \"  Array([[[0.07716177, 0.10925393, 0.07744848, 0.1075874 , 0.16774674,\\n\",\n       \"           0.09816181, 0.09280077, 0.1271883 , 0.1426509 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.12493826, 0.16711089, 0.15916635, 0.13118526, 0.06024319,\\n\",\n       \"           0.04707498, 0.12128211, 0.10770807, 0.08129089]],\\n\",\n       \"  \\n\",\n       \"         [[0.1815095 , 0.10422336, 0.06684336, 0.14435901, 0.13004695,\\n\",\n       \"           0.0635796 , 0.05770647, 0.09602303, 0.15570885]],\\n\",\n       \"  \\n\",\n       \"         [[0.04864096, 0.08837192, 0.09715893, 0.13307187, 0.1358143 ,\\n\",\n       \"           0.18936108, 0.10949196, 0.09659162, 0.10149743]]], dtype=float32),\\n\",\n       \"  Array([[[0.16893746, 0.16029103, 0.11270652, 0.18204279, 0.21946692,\\n\",\n       \"           0.0823974 , 0.07415791]],\\n\",\n       \"  \\n\",\n       \"         [[0.10790369, 0.2240197 , 0.21666422, 0.06581873, 0.10617904,\\n\",\n       \"           0.08600904, 0.1934056 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.03150751, 0.13815625, 0.12641439, 0.14349648, 0.20863557,\\n\",\n       \"           0.33044103, 0.02134874]],\\n\",\n       \"  \\n\",\n       \"         [[0.09764872, 0.29433855, 0.18542336, 0.14082211, 0.12583902,\\n\",\n       \"           0.07777937, 0.07814886]]], dtype=float32),\\n\",\n       \"  Array([[[0.20188354, 0.20390284, 0.35773486, 0.23647875]],\\n\",\n       \"  \\n\",\n       \"         [[0.13832287, 0.417142  , 0.29778096, 0.14675426]],\\n\",\n       \"  \\n\",\n       \"         [[0.14250487, 0.34247938, 0.2867788 , 0.22823687]],\\n\",\n       \"  \\n\",\n       \"         [[0.33311817, 0.08985048, 0.27870888, 0.2983224 ]]], dtype=float32),\\n\",\n       \"  Array([[[0.25531998, 0.09805848, 0.00180036, 0.06169656, 0.30057994,\\n\",\n       \"           0.10489379, 0.17765091]],\\n\",\n       \"  \\n\",\n       \"         [[0.2913621 , 0.11028862, 0.06915001, 0.06127482, 0.01146838,\\n\",\n       \"           0.2958903 , 0.16056576]],\\n\",\n       \"  \\n\",\n       \"         [[0.10321112, 0.10843234, 0.09066889, 0.10762182, 0.19040616,\\n\",\n       \"           0.18881004, 0.21084957]],\\n\",\n       \"  \\n\",\n       \"         [[0.0594087 , 0.15811725, 0.18402615, 0.22240478, 0.20785518,\\n\",\n       \"           0.06183277, 0.10635528]]], dtype=float32),\\n\",\n       \"  Array([[[0.43077335, 0.01719547, 0.18029204, 0.19461544, 0.17712368]],\\n\",\n       \"  \\n\",\n       \"         [[0.20952433, 0.28238228, 0.26831535, 0.22654854, 0.01322947]],\\n\",\n       \"  \\n\",\n       \"         [[0.34862235, 0.24600424, 0.12305134, 0.11314452, 0.16917753]],\\n\",\n       \"  \\n\",\n       \"         [[0.15003254, 0.08879873, 0.19839816, 0.5253277 , 0.03744284]]],      dtype=float32),\\n\",\n       \"  Array([[[0.11571389, 0.04172199, 0.14292377, 0.21811737, 0.1089925 ,\\n\",\n       \"           0.2847778 , 0.08775266]],\\n\",\n       \"  \\n\",\n       \"         [[0.11719004, 0.01083917, 0.22239207, 0.11398614, 0.09531904,\\n\",\n       \"           0.30416313, 0.13611037]],\\n\",\n       \"  \\n\",\n       \"         [[0.05459085, 0.16350462, 0.13142684, 0.20870967, 0.17459588,\\n\",\n       \"           0.15282223, 0.11434983]],\\n\",\n       \"  \\n\",\n       \"         [[0.1454746 , 0.09393647, 0.19433096, 0.22500303, 0.11097853,\\n\",\n       \"           0.06738115, 0.16289523]]], dtype=float32),\\n\",\n       \"  Array([[[0.23350713, 0.21891789, 0.16771066, 0.17027755, 0.20958683]],\\n\",\n       \"  \\n\",\n       \"         [[0.19165839, 0.2190793 , 0.20649076, 0.19125327, 0.19151816]],\\n\",\n       \"  \\n\",\n       \"         [[0.20866643, 0.18651229, 0.23633833, 0.17361015, 0.19487286]],\\n\",\n       \"  \\n\",\n       \"         [[0.24136762, 0.17386994, 0.22222117, 0.1608011 , 0.20174012]]],      dtype=float32)])\"\n      ]\n     },\n     \"execution_count\": 16,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"qs = infer_states_end2end_padded(A_padded, obs_padded, D, spec['A_dependencies'], max_obs_dim, max_state_dim, num_iter, sparsity='ll_only')\\n\",\n    \"\\n\",\n    \"[q.shape for q in qs], qs\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"id\": \"5f161096\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"([(4, 1, 3),\\n\",\n       \"  (4, 1, 6),\\n\",\n       \"  (4, 1, 2),\\n\",\n       \"  (4, 1, 9),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 4),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 5),\\n\",\n       \"  (4, 1, 7),\\n\",\n       \"  (4, 1, 5)],\\n\",\n       \" [Array([[[0.09112392, 0.70235604, 0.20652005]],\\n\",\n       \"  \\n\",\n       \"         [[0.202104  , 0.22807139, 0.56982464]],\\n\",\n       \"  \\n\",\n       \"         [[0.3876841 , 0.3879837 , 0.2243322 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.37516478, 0.27490932, 0.34992588]]], dtype=float32),\\n\",\n       \"  Array([[[0.15824087, 0.183674  , 0.26761115, 0.09957846, 0.20257226,\\n\",\n       \"           0.08832329]],\\n\",\n       \"  \\n\",\n       \"         [[0.23064205, 0.02032886, 0.13066185, 0.01698621, 0.2857863 ,\\n\",\n       \"           0.31559473]],\\n\",\n       \"  \\n\",\n       \"         [[0.19148783, 0.11801518, 0.15054731, 0.13707514, 0.17550918,\\n\",\n       \"           0.22736534]],\\n\",\n       \"  \\n\",\n       \"         [[0.16028336, 0.27957812, 0.16871531, 0.12887648, 0.1418996 ,\\n\",\n       \"           0.12064715]]], dtype=float32),\\n\",\n       \"  Array([[[0.55582505, 0.44417495]],\\n\",\n       \"  \\n\",\n       \"         [[0.549685  , 0.450315  ]],\\n\",\n       \"  \\n\",\n       \"         [[0.3831266 , 0.6168734 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.5388056 , 0.4611944 ]]], dtype=float32),\\n\",\n       \"  Array([[[0.07716177, 0.10925393, 0.07744848, 0.1075874 , 0.16774674,\\n\",\n       \"           0.09816181, 0.09280077, 0.1271883 , 0.1426509 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.12493826, 0.16711089, 0.15916635, 0.13118526, 0.06024319,\\n\",\n       \"           0.04707498, 0.12128211, 0.10770807, 0.08129089]],\\n\",\n       \"  \\n\",\n       \"         [[0.1815095 , 0.10422336, 0.06684336, 0.14435901, 0.13004695,\\n\",\n       \"           0.0635796 , 0.05770647, 0.09602303, 0.15570885]],\\n\",\n       \"  \\n\",\n       \"         [[0.04864096, 0.08837192, 0.09715893, 0.13307187, 0.1358143 ,\\n\",\n       \"           0.18936108, 0.10949196, 0.09659162, 0.10149743]]], dtype=float32),\\n\",\n       \"  Array([[[0.16893746, 0.16029103, 0.11270652, 0.18204279, 0.21946692,\\n\",\n       \"           0.0823974 , 0.07415791]],\\n\",\n       \"  \\n\",\n       \"         [[0.10790369, 0.2240197 , 0.21666422, 0.06581873, 0.10617904,\\n\",\n       \"           0.08600904, 0.1934056 ]],\\n\",\n       \"  \\n\",\n       \"         [[0.03150751, 0.13815625, 0.12641439, 0.14349648, 0.20863557,\\n\",\n       \"           0.33044103, 0.02134874]],\\n\",\n       \"  \\n\",\n       \"         [[0.09764872, 0.29433855, 0.18542336, 0.14082211, 0.12583902,\\n\",\n       \"           0.07777937, 0.07814886]]], dtype=float32),\\n\",\n       \"  Array([[[0.20188354, 0.20390284, 0.35773486, 0.23647875]],\\n\",\n       \"  \\n\",\n       \"         [[0.13832287, 0.417142  , 0.29778096, 0.14675426]],\\n\",\n       \"  \\n\",\n       \"         [[0.14250487, 0.34247938, 0.2867788 , 0.22823687]],\\n\",\n       \"  \\n\",\n       \"         [[0.33311817, 0.08985048, 0.27870888, 0.2983224 ]]], dtype=float32),\\n\",\n       \"  Array([[[0.25531998, 0.09805848, 0.00180036, 0.06169656, 0.30057994,\\n\",\n       \"           0.10489379, 0.17765091]],\\n\",\n       \"  \\n\",\n       \"         [[0.2913621 , 0.11028862, 0.06915001, 0.06127482, 0.01146838,\\n\",\n       \"           0.2958903 , 0.16056576]],\\n\",\n       \"  \\n\",\n       \"         [[0.10321112, 0.10843234, 0.09066889, 0.10762182, 0.19040616,\\n\",\n       \"           0.18881004, 0.21084957]],\\n\",\n       \"  \\n\",\n       \"         [[0.0594087 , 0.15811725, 0.18402615, 0.22240478, 0.20785518,\\n\",\n       \"           0.06183277, 0.10635528]]], dtype=float32),\\n\",\n       \"  Array([[[0.43077335, 0.01719547, 0.18029204, 0.19461544, 0.17712368]],\\n\",\n       \"  \\n\",\n       \"         [[0.20952433, 0.28238228, 0.26831535, 0.22654854, 0.01322947]],\\n\",\n       \"  \\n\",\n       \"         [[0.34862235, 0.24600424, 0.12305134, 0.11314452, 0.16917753]],\\n\",\n       \"  \\n\",\n       \"         [[0.15003254, 0.08879873, 0.19839816, 0.5253277 , 0.03744284]]],      dtype=float32),\\n\",\n       \"  Array([[[0.11571389, 0.04172199, 0.14292377, 0.21811737, 0.1089925 ,\\n\",\n       \"           0.2847778 , 0.08775266]],\\n\",\n       \"  \\n\",\n       \"         [[0.11719004, 0.01083917, 0.22239207, 0.11398614, 0.09531904,\\n\",\n       \"           0.30416313, 0.13611037]],\\n\",\n       \"  \\n\",\n       \"         [[0.05459085, 0.16350462, 0.13142684, 0.20870967, 0.17459588,\\n\",\n       \"           0.15282223, 0.11434983]],\\n\",\n       \"  \\n\",\n       \"         [[0.1454746 , 0.09393647, 0.19433096, 0.22500303, 0.11097853,\\n\",\n       \"           0.06738115, 0.16289523]]], dtype=float32),\\n\",\n       \"  Array([[[0.23350713, 0.21891789, 0.16771066, 0.17027755, 0.20958683]],\\n\",\n       \"  \\n\",\n       \"         [[0.19165839, 0.2190793 , 0.20649076, 0.19125327, 0.19151816]],\\n\",\n       \"  \\n\",\n       \"         [[0.20866643, 0.18651229, 0.23633833, 0.17361015, 0.19487286]],\\n\",\n       \"  \\n\",\n       \"         [[0.24136762, 0.17386994, 0.22222117, 0.1608011 , 0.20174012]]],      dtype=float32)])\"\n      ]\n     },\n     \"execution_count\": 17,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# JIT\\n\",\n    \"apply_obs_padding_batched_jit = jit(partial(apply_obs_end2end_padding_batched, max_obs_dim=max_obs_dim))\\n\",\n    \"infer_states_partially_padded_jit = jit(partial(infer_states_end2end_padded, A_dependencies=spec['A_dependencies'], max_obs_dim=max_obs_dim, max_state_dim=max_state_dim, num_iter=num_iter, sparsity='ll_only'))\\n\",\n    \"obs_padded = apply_obs_padding_batched_jit(jtu.tree_map(lambda x: jnp.squeeze(x, 1), o_vec))\\n\",\n    \"\\n\",\n    \"qs = infer_states_partially_padded_jit(A_padded, obs_padded, D)\\n\",\n    \"[q.shape for q in qs], qs\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"venv\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.10.18\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 5\n}\n"
  },
  {
    "path": "examples/advanced/pymdp_with_neural_encoder.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"0\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Training a neural network to transform continuous into discrete observations for a `pymdp` Agent\\n\",\n    \"\\n\",\n    \"With `pymdp`'s JAX backend, it's straightforward to combine differentiable modules with `pymdp`'s active inference processes. We can use tools from `JAX`'s rich neural network ecosystem (`flax`, `optax`, and `equinox`, to name a few) and combine them with active inference agents in creative ways.\\n\",\n    \"\\n\",\n    \"In this tutorial, we use a simple neural network to embed continuous observations into an `pymdp` agent's observation space; we can train the encoder end-to-end, enabled by JAX's native compatibility with autodifferentiable programs and `pymdp`'s autodifferentiable `Agent` and `Agent` methods.\\n\",\n    \"\\n\",\n    \"For this simple demo, we fix a discrete generative model (fixed/known `A`, `B`) and train a simple MLP (in `equinox`) to map continuous observations into categorical classes, which can be ingested as observations by the `pymdp` Agent. Because the inference path is differentiable, gradients from a variational objective can flow back through `Agent`-level methods (like `Agent.infer_states`) into encoder parameters.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"1\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 1. Imports\\n\",\n    \"\\n\",\n    \"We use JAX/Equinox for pymdp and building our neural network, `pymdp.Agent` for active inference, and Matplotlib for diagnostics and animations.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"id\": \"2\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import time\\n\",\n    \"from itertools import permutations\\n\",\n    \"\\n\",\n    \"import equinox as eqx\\n\",\n    \"import jax\\n\",\n    \"import jax.nn as jnn\\n\",\n    \"import jax.numpy as jnp\\n\",\n    \"import jax.random as jr\\n\",\n    \"import jax.tree_util as jtu\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"from matplotlib import animation\\n\",\n    \"\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"plt.rcParams['animation.html'] = 'jshtml'\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"3\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2. Setup\\n\",\n    \"\\n\",\n    \"We define a 5-state line world with local controls (`back`, `stay`, `forward`) and set some training hyperparameters.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"id\": \"4\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# Reproducibility\\n\",\n    \"GLOBAL_KEY = jr.PRNGKey(1)\\n\",\n    \"\\n\",\n    \"# Problem size\\n\",\n    \"K = 5\\n\",\n    \"O = K\\n\",\n    \"U = 3\\n\",\n    \"BACK_ACTION = 0\\n\",\n    \"STAY_ACTION = 1\\n\",\n    \"FORWARD_ACTION = 2\\n\",\n    \"D = 2\\n\",\n    \"T = 6\\n\",\n    \"POLICY_LEN = 4\\n\",\n    \"\\n\",\n    \"# Data and training settings\\n\",\n    \"N_TRAIN = 640\\n\",\n    \"N_VAL = 320\\n\",\n    \"BATCH_SIZE = 16\\n\",\n    \"TRAIN_STEPS = 200\\n\",\n    \"CHECKPOINT_EVERY = 20\\n\",\n    \"LR = 1e-3\\n\",\n    \"\\n\",\n    \"# Encoder architecture\\n\",\n    \"ENCODER_WIDTH = 256\\n\",\n    \"ENCODER_DEPTH = 3\\n\",\n    \"LOGIT_TEMPERATURE = 0.15\\n\",\n    \"\\n\",\n    \"# Loss weights\\n\",\n    \"TEMPORAL_CONSISTENCY_WEIGHT = 8.0\\n\",\n    \"\\n\",\n    \"# Numerical stability\\n\",\n    \"EPS_A = 1e-4\\n\",\n    \"EPS = 1e-8\\n\",\n    \"\\n\",\n    \"# Observation model / dynamics assumptions\\n\",\n    \"TRANSITION_NOISE = 0.1\\n\",\n    \"\\n\",\n    \"# Continuous emissions: one Gaussian mean per discrete state\\n\",\n    \"GAUSSIAN_MEANS = jnp.array([\\n\",\n    \"    [ 0.0,  3.2],\\n\",\n    \"    [ 3.0,  1.0],\\n\",\n    \"    [ 1.9, -2.6],\\n\",\n    \"    [-1.9, -2.6],\\n\",\n    \"    [-3.0,  1.0],\\n\",\n    \"])\\n\",\n    \"GAUSSIAN_SCALE = 1.0\\n\",\n    \"\\n\",\n    \"TARGET_STATE = K - 1\\n\",\n    \"START_STATE = 0\\n\",\n    \"ROLLOUT_HORIZON = 8\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"5\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 3. Build the Fixed Discrete Agent\\n\",\n    \"\\n\",\n    \"The agent's generative model is fixed throughout training:\\n\",\n    \"\\n\",\n    \"- `A`: epsilon-smoothed identity (observation categories aligned with hidden states)\\n\",\n    \"- `B`: line dynamics with action-conditioned transitions\\n\",\n    \"- `C`: preference for the terminal state\\n\",\n    \"- `D`: uniform prior over initial hidden states\\n\",\n    \"\\n\",\n    \"Only the front-end encoder is optimized.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"id\": \"6\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"A fixed diagonal: [1.0, 1.0, 1.0, 1.0, 1.0]\\n\",\n      \"Local transitions by state:\\n\",\n      \"  state 0: back -> 0, stay -> 0, forward -> 1\\n\",\n      \"  state 1: back -> 0, stay -> 1, forward -> 2\\n\",\n      \"  state 2: back -> 1, stay -> 2, forward -> 3\\n\",\n      \"  state 3: back -> 2, stay -> 3, forward -> 4\\n\",\n      \"  state 4: back -> 3, stay -> 4, forward -> 4\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def make_eps_identity_A(num_states: int, eps: float) -> jnp.ndarray:\\n\",\n    \"    eye = jnp.eye(num_states)\\n\",\n    \"    off = (1.0 - eye) * (eps / (num_states - 1))\\n\",\n    \"    return (1.0 - eps) * eye + off\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def make_B_line(num_states: int, num_controls: int, transition_noise: float) -> jnp.ndarray:\\n\",\n    \"\\n\",\n    \"    B_det = jnp.zeros((num_states, num_states, num_controls))\\n\",\n    \"\\n\",\n    \"    for s in range(num_states):\\n\",\n    \"        back_next = max(s - 1, 0)\\n\",\n    \"        stay_next = s\\n\",\n    \"        forward_next = min(s + 1, num_states - 1)\\n\",\n    \"\\n\",\n    \"        B_det = B_det.at[back_next, s, BACK_ACTION].set(1.0)\\n\",\n    \"        B_det = B_det.at[stay_next, s, STAY_ACTION].set(1.0)\\n\",\n    \"        B_det = B_det.at[forward_next, s, FORWARD_ACTION].set(1.0)\\n\",\n    \"\\n\",\n    \"    B = (1.0 - transition_noise) * B_det + transition_noise * (jnp.ones_like(B_det) / num_states)\\n\",\n    \"    B = B / jnp.sum(B, axis=0, keepdims=True)\\n\",\n    \"    return B\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"A_FIXED_SINGLE = make_eps_identity_A(K, EPS_A)\\n\",\n    \"B_TRUE = make_B_line(K, U, TRANSITION_NOISE)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def build_agent(batch_size: int) -> Agent:\\n\",\n    \"    A = [jnp.broadcast_to(A_FIXED_SINGLE, (batch_size, O, K))]\\n\",\n    \"    B = [jnp.broadcast_to(B_TRUE, (batch_size, K, K, U))]\\n\",\n    \"\\n\",\n    \"    C_single = jnp.zeros((O,)).at[TARGET_STATE].set(8.0)\\n\",\n    \"    C = [jnp.broadcast_to(C_single, (batch_size, O))]\\n\",\n    \"\\n\",\n    \"    D_single = jnp.ones((K,)) / K\\n\",\n    \"    D = [jnp.broadcast_to(D_single, (batch_size, K))]\\n\",\n    \"\\n\",\n    \"    return Agent(\\n\",\n    \"        A=A,\\n\",\n    \"        B=B,\\n\",\n    \"        C=C,\\n\",\n    \"        D=D,\\n\",\n    \"        A_dependencies=[[0]],\\n\",\n    \"        B_dependencies=[[0]],\\n\",\n    \"        num_controls=[U],\\n\",\n    \"        batch_size=batch_size,\\n\",\n    \"        policy_len=POLICY_LEN,\\n\",\n    \"        categorical_obs=True,\\n\",\n    \"        inference_algo='fpi',\\n\",\n    \"        num_iter=1,\\n\",\n    \"        action_selection='deterministic',\\n\",\n    \"        sampling_mode='full',\\n\",\n    \"        use_utility=True,\\n\",\n    \"        use_states_info_gain=True, # although it doesn't matter here\\n\",\n    \"        use_param_info_gain=False,\\n\",\n    \"        learn_A=False,\\n\",\n    \"        learn_B=False,\\n\",\n    \"    )\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"print('A fixed diagonal:', jnp.round(jnp.diag(A_FIXED_SINGLE), 3).tolist())\\n\",\n    \"print('Local transitions by state:')\\n\",\n    \"for s in range(K):\\n\",\n    \"    to_back = int(jnp.argmax(B_TRUE[:, s, BACK_ACTION]))\\n\",\n    \"    to_stay = int(jnp.argmax(B_TRUE[:, s, STAY_ACTION]))\\n\",\n    \"    to_fwd = int(jnp.argmax(B_TRUE[:, s, FORWARD_ACTION]))\\n\",\n    \"    print(f'  state {s}: back -> {to_back}, stay -> {to_stay}, forward -> {to_fwd}')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"7\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 4. Generate Offline Continuous Trajectories\\n\",\n    \"\\n\",\n    \"We simulate offline sequences with balanced state coverage and random actions.\\n\",\n    \"\\n\",\n    \"Each discrete state emits a 2D Gaussian sample, giving paired trajectories of:\\n\",\n    \"\\n\",\n    \"- continuous observations `x_t`\\n\",\n    \"- latent states `s_t` (for evaluation only)\\n\",\n    \"- actions `a_t` (used to propagate empirical priors during training)\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"id\": \"8\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"W0310 14:07:59.095707 1229360 cpp_gen_intrinsics.cc:74] Empty bitcode string provided for eigen. Optimizations relying on this IR will be disabled.\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"train x_seq: (640, 6, 2)\\n\",\n      \"train s_seq: (640, 6)\\n\",\n      \"train a_seq: (640, 6, 1)\\n\",\n      \"train state proportions: [0.21300001 0.201      0.194      0.19600001 0.19500001]\\n\",\n      \"val state proportions: [0.21100001 0.20300001 0.20500001 0.19500001 0.186     ]\\n\",\n      \"train action proportions: [0.34600002 0.324      0.33      ]\\n\",\n      \"val action proportions: [0.356      0.312      0.33100003]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def sample_categorical_batch(key: jnp.ndarray, probs: jnp.ndarray) -> jnp.ndarray:\\n\",\n    \"    keys = jr.split(key, probs.shape[0])\\n\",\n    \"    return jax.vmap(lambda k, p: jr.categorical(k, jnp.log(jnp.clip(p, a_min=EPS))))(keys, probs).astype(jnp.int32)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def sample_balanced_initial_states(key: jnp.ndarray, num_sequences: int) -> jnp.ndarray:\\n\",\n    \"    reps = (num_sequences + K - 1) // K\\n\",\n    \"    base = jnp.tile(jnp.arange(K, dtype=jnp.int32), reps)[:num_sequences]\\n\",\n    \"    perm = jr.permutation(key, num_sequences)\\n\",\n    \"    return base[perm]\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def sample_uniform_actions(key: jnp.ndarray, num_sequences: int) -> jnp.ndarray:\\n\",\n    \"    return jr.randint(key, shape=(num_sequences,), minval=0, maxval=U).astype(jnp.int32)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def simulate_gaussian_sequences(\\n\",\n    \"    key: jnp.ndarray,\\n\",\n    \"    num_sequences: int,\\n\",\n    \"    seq_len: int,\\n\",\n    \"    means: jnp.ndarray,\\n\",\n    \"    scale: float,\\n\",\n    \"):\\n\",\n    \"    key_init, key_loop = jr.split(key, 2)\\n\",\n    \"    s_t = sample_balanced_initial_states(key_init, num_sequences)\\n\",\n    \"\\n\",\n    \"    xs, ss, acts = [], [], []\\n\",\n    \"\\n\",\n    \"    for _ in range(seq_len):\\n\",\n    \"        key_loop, key_action, key_obs, key_trans = jr.split(key_loop, 4)\\n\",\n    \"\\n\",\n    \"        a_t = sample_uniform_actions(key_action, num_sequences)\\n\",\n    \"        x_t = means[s_t] + scale * jr.normal(key_obs, (num_sequences, D))\\n\",\n    \"\\n\",\n    \"        xs.append(x_t)\\n\",\n    \"        ss.append(s_t)\\n\",\n    \"        acts.append(a_t[:, None])\\n\",\n    \"\\n\",\n    \"        next_probs = jax.vmap(lambda s, a: B_TRUE[:, s, a])(s_t, a_t)\\n\",\n    \"        s_t = sample_categorical_batch(key_trans, next_probs)\\n\",\n    \"\\n\",\n    \"    return {\\n\",\n    \"        'x_seq': jnp.stack(xs, axis=1),\\n\",\n    \"        's_seq': jnp.stack(ss, axis=1),\\n\",\n    \"        'a_seq': jnp.stack(acts, axis=1),\\n\",\n    \"    }\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def state_props(data):\\n\",\n    \"    counts = jnp.bincount(data['s_seq'].reshape(-1), length=K)\\n\",\n    \"    return counts / jnp.sum(counts)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def action_props(data):\\n\",\n    \"    counts = jnp.bincount(data['a_seq'][..., 0].reshape(-1), length=U)\\n\",\n    \"    return counts / jnp.sum(counts)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"GLOBAL_KEY, key_train, key_val, key_encoder = jr.split(GLOBAL_KEY, 4)\\n\",\n    \"train_data = simulate_gaussian_sequences(key_train, N_TRAIN, T, GAUSSIAN_MEANS, GAUSSIAN_SCALE)\\n\",\n    \"val_data = simulate_gaussian_sequences(key_val, N_VAL, T, GAUSSIAN_MEANS, GAUSSIAN_SCALE)\\n\",\n    \"\\n\",\n    \"print('train x_seq:', train_data['x_seq'].shape)\\n\",\n    \"print('train s_seq:', train_data['s_seq'].shape)\\n\",\n    \"print('train a_seq:', train_data['a_seq'].shape)\\n\",\n    \"\\n\",\n    \"print('train state proportions:', jnp.round(state_props(train_data), 3))\\n\",\n    \"print('val state proportions:', jnp.round(state_props(val_data), 3))\\n\",\n    \"print('train action proportions:', jnp.round(action_props(train_data), 3))\\n\",\n    \"print('val action proportions:', jnp.round(action_props(val_data), 3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"9\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 5. Define the Differentiable Front-End\\n\",\n    \"\\n\",\n    \"The encoder is an Equinox MLP:\\n\",\n    \"\\n\",\n    \"`x_t -> logits_o_t -> softmax -> o_hat_t`\\n\",\n    \"\\n\",\n    \"`o_hat_t` is passed directly to `Agent.infer_states` as a categorical observation distribution.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"id\": \"10\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"encoder initialized\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"class ObservationEncoder(eqx.Module):\\n\",\n    \"    mlp: eqx.nn.MLP\\n\",\n    \"\\n\",\n    \"    def __init__(self, key: jnp.ndarray, width: int = ENCODER_WIDTH, depth: int = ENCODER_DEPTH):\\n\",\n    \"        self.mlp = eqx.nn.MLP(\\n\",\n    \"            in_size=D,\\n\",\n    \"            out_size=O,\\n\",\n    \"            width_size=width,\\n\",\n    \"            depth=depth,\\n\",\n    \"            activation=jnn.tanh,\\n\",\n    \"            final_activation=lambda x: x,\\n\",\n    \"            key=key,\\n\",\n    \"        )\\n\",\n    \"\\n\",\n    \"    def __call__(self, x: jnp.ndarray) -> jnp.ndarray:\\n\",\n    \"        return self.mlp(x)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"class FrontendModel(eqx.Module):\\n\",\n    \"    encoder: ObservationEncoder\\n\",\n    \"\\n\",\n    \"    def __init__(self, key_encoder: jnp.ndarray):\\n\",\n    \"        self.encoder = ObservationEncoder(key_encoder)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def model_obs_categorical(model: FrontendModel, x_t: jnp.ndarray):\\n\",\n    \"    logits = jax.vmap(model.encoder)(x_t) / LOGIT_TEMPERATURE\\n\",\n    \"    probs = jnn.softmax(logits, axis=-1)\\n\",\n    \"    probs = jnp.clip(probs, a_min=EPS)\\n\",\n    \"    probs = probs / probs.sum(axis=-1, keepdims=True)\\n\",\n    \"    return [probs]\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"key_encoder, _ = jr.split(key_encoder)\\n\",\n    \"model_init = FrontendModel(key_encoder)\\n\",\n    \"print('encoder initialized')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"11\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 6. Define the Training Objective\\n\",\n    \"\\n\",\n    \"We optimize a label-free objective composed of:\\n\",\n    \"\\n\",\n    \"- canonical state-level variational free energy (via `Agent.infer_states(..., return_info=True)`) (still ignores complexity / KL terms related to parameters A, B, D)\\n\",\n    \"- temporal observation consistency between `o_hat_{t+1}` and dynamics-predicted next-state beliefs projected through `A`\\n\",\n    \"\\n\",\n    \"Objective:\\n\",\n    \"\\n\",\n    \"`loss = mean_t VFE_t + lambda_temp * KL_temporal`\\n\",\n    \"\\n\",\n    \"This is the key mechanism that encourages the encoder to partition continuous space into discrete categories compatible with the fixed agent model.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"id\": \"12\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def temporal_obs_consistency_kl(obs_seq: jnp.ndarray, pred_next_state_seq: jnp.ndarray):\\n\",\n    \"    if obs_seq.shape[1] <= 1:\\n\",\n    \"        return jnp.array(0.0)\\n\",\n    \"\\n\",\n    \"    pred_obs_next = jnp.einsum('btk,ok->bto', pred_next_state_seq, A_FIXED_SINGLE)\\n\",\n    \"    pred_obs_next = jnp.clip(pred_obs_next, a_min=EPS)\\n\",\n    \"    pred_obs_next = pred_obs_next / pred_obs_next.sum(axis=-1, keepdims=True)\\n\",\n    \"\\n\",\n    \"    obs_next = jnp.clip(obs_seq[:, 1:, :], a_min=EPS)\\n\",\n    \"    kl = jnp.sum(obs_next * (jnp.log(obs_next) - jnp.log(pred_obs_next)), axis=-1)\\n\",\n    \"    return jnp.mean(kl)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def sequence_loss_terms(model: FrontendModel, batch: dict, agent: Agent):\\n\",\n    \"    batch_size = batch['x_seq'].shape[0]\\n\",\n    \"\\n\",\n    \"    prior = agent.D\\n\",\n    \"    total_vfe = jnp.array(0.0)\\n\",\n    \"    obs_seq = []\\n\",\n    \"    pred_next_state = []\\n\",\n    \"\\n\",\n    \"    n_steps = batch['x_seq'].shape[1]\\n\",\n    \"\\n\",\n    \"    for t in range(n_steps):\\n\",\n    \"        x_t = batch['x_seq'][:, t, :]\\n\",\n    \"        obs_t = model_obs_categorical(model, x_t)\\n\",\n    \"        obs_seq.append(obs_t[0])\\n\",\n    \"\\n\",\n    \"        qs_hist_t, info_t = agent.infer_states(\\n\",\n    \"            obs_t,\\n\",\n    \"            empirical_prior=prior,\\n\",\n    \"            return_info=True,\\n\",\n    \"        )\\n\",\n    \"\\n\",\n    \"        F_t = info_t['vfe']\\n\",\n    \"        total_vfe = total_vfe + jnp.mean(F_t)\\n\",\n    \"\\n\",\n    \"        a_t = batch['a_seq'][:, t, :]\\n\",\n    \"        prior_next = agent.update_empirical_prior(a_t, qs_hist_t)\\n\",\n    \"        if t < n_steps - 1:\\n\",\n    \"            pred_next_state.append(prior_next[0])\\n\",\n    \"        prior = prior_next\\n\",\n    \"\\n\",\n    \"    obs_seq = jnp.stack(obs_seq, axis=1)\\n\",\n    \"    pred_next_state = jnp.stack(pred_next_state, axis=1) if n_steps > 1 else jnp.zeros((batch_size, 0, K))\\n\",\n    \"\\n\",\n    \"    mean_vfe = total_vfe / n_steps\\n\",\n    \"    temporal_kl = temporal_obs_consistency_kl(obs_seq, pred_next_state)\\n\",\n    \"    total = mean_vfe + TEMPORAL_CONSISTENCY_WEIGHT * temporal_kl\\n\",\n    \"\\n\",\n    \"    return total, mean_vfe, temporal_kl, obs_seq\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def sequence_objective(model: FrontendModel, batch: dict, agent: Agent):\\n\",\n    \"    total, _, _, _ = sequence_loss_terms(model, batch, agent)\\n\",\n    \"    return total\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def sample_batch(key: jnp.ndarray, data: dict, batch_size: int):\\n\",\n    \"    idx = jr.choice(key, data['x_seq'].shape[0], shape=(batch_size,), replace=False)\\n\",\n    \"    return {k: v[idx] for k, v in data.items()}\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def best_aligned_accuracy(true_labels: jnp.ndarray, pred_labels: jnp.ndarray):\\n\",\n    \"    t = true_labels.reshape(-1).astype(jnp.int32)\\n\",\n    \"    p = pred_labels.reshape(-1).astype(jnp.int32)\\n\",\n    \"\\n\",\n    \"    best_acc = -1.0\\n\",\n    \"    best_perm = tuple(range(K))\\n\",\n    \"    for perm in permutations(range(K)):\\n\",\n    \"        p_mapped = jnp.array(perm)[p]\\n\",\n    \"        acc = float(jnp.mean(p_mapped == t))\\n\",\n    \"        if acc > best_acc:\\n\",\n    \"            best_acc = acc\\n\",\n    \"            best_perm = perm\\n\",\n    \"    return best_acc, best_perm\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def infer_qs_sequence(model: FrontendModel, batch: dict, agent: Agent):\\n\",\n    \"    prior = agent.D\\n\",\n    \"    qs_all = []\\n\",\n    \"\\n\",\n    \"    for t in range(batch['x_seq'].shape[1]):\\n\",\n    \"        x_t = batch['x_seq'][:, t, :]\\n\",\n    \"        obs_t = model_obs_categorical(model, x_t)\\n\",\n    \"        qs_hist_t = agent.infer_states(obs_t, empirical_prior=prior)\\n\",\n    \"        qs_t = qs_hist_t[0][:, -1, :]\\n\",\n    \"        qs_all.append(qs_t)\\n\",\n    \"\\n\",\n    \"        a_t = batch['a_seq'][:, t, :]\\n\",\n    \"        prior = agent.update_empirical_prior(a_t, qs_hist_t)\\n\",\n    \"\\n\",\n    \"    return jnp.stack(qs_all, axis=1)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def predict_obs_idx(model: FrontendModel, x_points: jnp.ndarray):\\n\",\n    \"    logits = jax.vmap(model.encoder)(x_points) / LOGIT_TEMPERATURE\\n\",\n    \"    return jnp.argmax(logits, axis=-1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"13\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 7. Train the Encoder\\n\",\n    \"\\n\",\n    \"We train with minibatches sampled from offline trajectories.\\n\",\n    \"\\n\",\n    \"At each timestep in a sequence, the notebook:\\n\",\n    \"\\n\",\n    \"1. encodes `x_t` to `o_hat_t`\\n\",\n    \"2. runs `infer_states(o_hat_t, prior_t)`\\n\",\n    \"3. accumulates VFE\\n\",\n    \"4. updates prior using observed `a_t`\\n\",\n    \"5. accumulates temporal consistency across steps\\n\",\n    \"\\n\",\n    \"Gradients are computed with `eqx.filter_value_and_grad` and applied directly to encoder parameters.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"id\": \"14\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_16049/1731807479.py:39: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  return Agent(\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"initial objective: 15.04537582397461\\n\",\n      \"training finished in 5.10s\\n\",\n      \"final train total/vfe/temp: 6.0631256103515625 1.2384639978408813 0.6030827164649963\\n\",\n      \"final val total/vfe/temp: 4.517769813537598 1.1381111145019531 0.42245736718177795\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"train_agent = build_agent(BATCH_SIZE)\\n\",\n    \"\\n\",\n    \"@eqx.filter_jit\\n\",\n    \"def train_step(model: FrontendModel, batch: dict):\\n\",\n    \"    loss, grads = eqx.filter_value_and_grad(sequence_objective)(model, batch, train_agent)\\n\",\n    \"    updates = jtu.tree_map(lambda g: -LR * g if g is not None else None, grads)\\n\",\n    \"    model = eqx.apply_updates(model, updates)\\n\",\n    \"    return model, loss, grads\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def evaluate_model(model_eval: FrontendModel, batch: dict, agent: Agent):\\n\",\n    \"    qs_seq = infer_qs_sequence(model_eval, batch, agent)\\n\",\n    \"    pred_states = jnp.argmax(qs_seq, axis=-1)\\n\",\n    \"    raw_acc = float(jnp.mean(pred_states == batch['s_seq']))\\n\",\n    \"    aligned_acc, best_perm = best_aligned_accuracy(batch['s_seq'], pred_states)\\n\",\n    \"\\n\",\n    \"    total, mean_vfe, temporal_kl, _ = sequence_loss_terms(model_eval, batch, agent)\\n\",\n    \"\\n\",\n    \"    return {\\n\",\n    \"        'raw_acc': raw_acc,\\n\",\n    \"        'aligned_acc': float(aligned_acc),\\n\",\n    \"        'best_perm': best_perm,\\n\",\n    \"        'total': float(total),\\n\",\n    \"        'vfe': float(mean_vfe),\\n\",\n    \"        'temporal_kl': float(temporal_kl),\\n\",\n    \"        'pred_states': pred_states,\\n\",\n    \"    }\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"GLOBAL_KEY, key_probe = jr.split(GLOBAL_KEY)\\n\",\n    \"probe_batch = sample_batch(key_probe, train_data, BATCH_SIZE)\\n\",\n    \"probe_loss, probe_grads = eqx.filter_value_and_grad(sequence_objective)(model_init, probe_batch, train_agent)\\n\",\n    \"print('initial objective:', float(probe_loss))\\n\",\n    \"\\n\",\n    \"model = model_init\\n\",\n    \"train_total_curve = []\\n\",\n    \"train_vfe_curve = []\\n\",\n    \"train_temp_curve = []\\n\",\n    \"val_total_curve = []\\n\",\n    \"val_vfe_curve = []\\n\",\n    \"val_temp_curve = []\\n\",\n    \"curve_steps = []\\n\",\n    \"\\n\",\n    \"start = time.time()\\n\",\n    \"for step in range(TRAIN_STEPS):\\n\",\n    \"    GLOBAL_KEY, key_batch, key_val = jr.split(GLOBAL_KEY, 3)\\n\",\n    \"    train_batch = sample_batch(key_batch, train_data, BATCH_SIZE)\\n\",\n    \"    model, loss, grads = train_step(model, train_batch)\\n\",\n    \"\\n\",\n    \"    if (step % CHECKPOINT_EVERY == 0) or (step == TRAIN_STEPS - 1):\\n\",\n    \"        val_batch = sample_batch(key_val, val_data, BATCH_SIZE)\\n\",\n    \"\\n\",\n    \"        train_metrics = evaluate_model(model, train_batch, train_agent)\\n\",\n    \"        val_metrics = evaluate_model(model, val_batch, train_agent)\\n\",\n    \"\\n\",\n    \"        train_total_curve.append(train_metrics['total'])\\n\",\n    \"        train_vfe_curve.append(train_metrics['vfe'])\\n\",\n    \"        train_temp_curve.append(train_metrics['temporal_kl'])\\n\",\n    \"        val_total_curve.append(val_metrics['total'])\\n\",\n    \"        val_vfe_curve.append(val_metrics['vfe'])\\n\",\n    \"        val_temp_curve.append(val_metrics['temporal_kl'])\\n\",\n    \"        curve_steps.append(step)\\n\",\n    \"\\n\",\n    \"elapsed = time.time() - start\\n\",\n    \"print(f'training finished in {elapsed:.2f}s')\\n\",\n    \"print('final train total/vfe/temp:', train_total_curve[-1], train_vfe_curve[-1], train_temp_curve[-1])\\n\",\n    \"print('final val total/vfe/temp:', val_total_curve[-1], val_vfe_curve[-1], val_temp_curve[-1])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"15\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 8. Evaluate Representation Quality\\n\",\n    \"\\n\",\n    \"We evaluate both:\\n\",\n    \"\\n\",\n    \"- encoder-level discrete assignments (`argmax` over encoder logits)\\n\",\n    \"- inferred-state assignments (`argmax` over `q(s_t)`)\\n\",\n    \"\\n\",\n    \"To account for permutation symmetry, accuracy is reported after best label alignment.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"id\": \"16\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_16049/1731807479.py:39: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  return Agent(\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Encoder aligned acc (pre/post): 0.5838541984558105 0.9515625238418579\\n\",\n      \"Inferred-state aligned acc (pre/post): 0.48750001192092896 0.9630208611488342\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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0vxEXj/peGR6sS5rMKXHyX0k4/Cdd95R1yUoKXUWy5Yta/RxExEREaUkXmOnFkMY+jgiIrIO1tkKSYdTi4nMgnQX3r9/vwry3b9//4UZfSVKlFCNP44dO4bjx4/j7bffzpQMQBmTdBeWacAyJiFdiTdv3qzqHEpwb+HChZg5c2aieoIpPU7GLNmO0sBEpib369cPd+7cMfqYiYiIiIiIiIzNRoKD+009EiKbJsE1ybyTTDrpVPyi+oHSFES6FtepU0d1KW7RogWqVKli9DFJIxQJVkpHYRmTkNeRuoFLly5V3ZVHjx6t7ieZjC963MiRI9VjZayNGjVSzUrat29v9DETERERvWxasaELERHZLuudVqzrWCxuHwdingJObqYeEZFNkmm5e/fuTbROMvA0muSt8WT9li1bEq0bMGBAoutJpxmn9DyPHj164Zhq1aqlMhOT6tixo1rS8zjpYvz333+/8PW2bdv2wtuJiIiIMiIO9mox7LFERGTLrDtzMFshwNMXiI8Fbh019WiIiIiIiIgyheZZzUFDFnksERHZLusODtrZAX7VtZeDDph6NERERERERJmC04qJiMhQ1h0cFGxKQkREREREVi5OY5+hhYiIbJf17wUSNiVJoS4ZERERERERERGRrbL+4GC+AMDBGYi4D4RcMfVoiIiIiIiIjC4edoiHvYELaw4SEdky6w8OOroA+StrL7PuIBERERERWSHWHCQiIkNZf3BQ+NXQ/rzBpiRERERERGR9WHOQiIgM5QhbUPBZcJCZg0REREREZLXTig2bHsxpxUREts3RpjIH75wGIsMAV29Tj4iIiIiIiMhopHZgnIETw+LBxo1ERLbMNqYVe/kC2QoDstO7ecjUoyEiAxQpUgQzZswwm233xRdfoFKlSqYeBhEREREREVGG2EZwUPjV1P7k1GIiq9SzZ0+0b98+yx5HREREZE5Yc5CIiAxlQ8FB1h0kIiIiIiLrnVackYWIiGyX7ewF9B2LDwLx8aYeDZFxaDRA9BPTLPLaafDTTz8hf/78iE/y765du3bo3bu3unz58mV1PW/evPD09ET16tWxadOmdE3xXbhwIf755x/Y2dmpZdu2beq2kydP4pVXXoGbmxty5syJvn37Ijw8/KWPGzZsGEqWLAl3d3f4+/tj1KhRiImJSfOYiIiIiLJSnMYuQwsREdku22hI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atTA1KlT1Xt4//331e1DhgzBvn371PrGjRvrx/j222+roGHSwKiOZBDu3btXBQclWJoeEnTs3LmzGicRERERERHZBpsODpbL740C2dxw89FTbL9wD6+W9wXyVwHsHICwG0DoDcCnoKmHSfRSpY4cTv1GB4dEV0vu3pX6fWVqfQLFNyeezpsZqlWrlui6ZA5KdtzatWtVRp/UIXz69OlLMwcl61BHptx6e3vj7t1nJQPS6Pjx4ypjcPHixfp1kv0n2XlXr15VwbykryXTn4U070i6Tl5fFxyULDwJIOqULl1aTTWWjEkJDsrPpE1WJDsx6RThpNtLzJo1C/PmzVPbSLZVdHQ0KlWqhPSSadESiN25c6eaWk1ERESWIyPTgzmtmIjItqV7WvGOHTvUFL/8+fOr+ldSkyoh+UNaMmny5cunalU1bdoUFy9ehDmS8SfrWuziCfiW117m1GKyEPbu7qkvLi5pv++zzLiX3deYJJCX0NChQ1WASrL/JEh17NgxFXiTgNeLODk5Jfv3LUG99JDApGQEymvqFgkYyu8wmSqc0mvp6hWmtC69r2/I9lq6dKnaZlJ38L///lNjlszCl22vlPz4449qqvNrr72mftcTERGR5TC0GYluISIi25Xu4KAU5pcpf5KpkpIpU6aoaXhz5szB/v371R+yUng/MkmjA3OhsgUBbD57BzFxz/6QL8i6g0TGJNOKpXFGWkg9PpleK1NcJSgomXfSwCQrxlSlShVVt6948eLJFrl/RkgGZMImJefPn1d1B3XZiPJT3ntCcr1s2bIvfF65T506ddR05MqVK6uxSu1EQ0hQ86efflJTq2XqtDSSISIiIsvAhiRERJRl04olo0SWlEjWoHQQHTlypJqeJqT4vkyxkwzDhMX3zUXVwtmR08MZD55EY9+VB6hfIre27uDBucANNiUhMgbp8CsnCyTIJ918peZfaqTOnzQMkQxlCVaNGjUqUzLwZEySHSe/l6RTcq5cuVStwFq1aqnahu+99546uSHBwo0bN2a4Dp9kFg4aNEidPJEpxvIa8loypVh88sknqkagBPgk43r16tVqOyTt1JzS9pLfsxs2bFD1BqXD8cGDB9VlQ8g2l5M7UpNRAoQyvVu6O+tIIxSp1Zjw/glrRBIREZFpcFoxERGZRbdiqckVHBys/rBN2IxACvBLgfyUREVFISws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4qCyBomIKOvZOTnCzs46DwE00dGwavEpN/myFifCrbsGcVRud1ir2FjmHJhcvEa7GPpYMjl7dzfY2znDGsVHRMCaaWJjYc3eK9EE1mz2hQ2wRo8fx6NyubTd1zr/MsgC/QP6470K7yEgd4Cph2JRU41fr1IQ7SsVQGy8Bs6OPIgkIiIiIjLqtGJDH0tERDaLwUEDlcuVxvArJWNvbwdnezYgISIiIiIyFrtnU4sNfSwREdkupm4ZgUbDU21ERERERERERGR5GBzMgCcxTzB+73i0/KslouKijPepEBERERERpYckLGRkMcCsWbNQpEgRuLq6ombNmjhw4ECq9507dy7q16+P7Nmzq6Vp06YvvD8REWUdBgczwM3RTTUluRF+Aztu7DDep0JERERERGTG3YqXLVuGIUOGYMyYMThy5AgCAgLQokUL3L17N8X7b9u2DV26dMHWrVuxd+9e+Pn5oXnz5rh58yY/ZyIiE2NwMCMbz84erfxbqcurL6821mdCRERERERkWEMSQ5d0mj59Ovr06YNevXqhbNmymDNnDtzd3TFv3rwU77948WK8//77qFSpEkqXLo2ff/4Z8fHx2Lx5Mz9pIiITY3Awg9r4t1E/d97ciUeRj4zxmRAREREREaWLnUaToUWEhYUlWqKiUi6dFB0djcOHD6upwTr29vbqumQFpkVERARiYmKQI0cOftJERCbG4GAGFc9eHKVzlEZsfCw2XNtgnE+FiIiIiIgoPeIzuABqqq+Pj49+mTx5coovdf/+fcTFxSFv3ryJ1sv14ODgNA132LBhyJ8/f6IAIxERmYajiV7XqrT2b41zIeew5soadC7d2dTDISIiIiIiSregoCB4e3vrr7u4uGTKVvzyyy+xdOlSVYdQmpkQEZFpMXPQCFoWbanqDx67dwxBYUHGeEoiIiIiIqIsnVYsgcGES2rBwVy5csHBwQF37txJtF6u+/r6vnCcU6dOVcHB//77DxUrVuQnTERkBhgcNILc7rnRrlg7vFfhPbg68swXERERERFZb0MSZ2dnVK1aNVEzEV1zkdq1a6f6uClTpmD8+PFYv349qlWrlpF3S0RERsRpxUYyru44Yz0VERERERFR+kj237MMwHQz4HFDhgxBjx49VJCvRo0amDFjBp48eaK6F4vu3bujQIEC+rqFX331FUaPHo0lS5agSJEi+tqE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\",\n      \"text/plain\": [\n       \"<Figure size 1600x400 with 4 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"def confusion_matrix(true_states: jnp.ndarray, pred_states: jnp.ndarray, num_states: int):\\n\",\n    \"    cm = jnp.zeros((num_states, num_states))\\n\",\n    \"    t = true_states.reshape(-1)\\n\",\n    \"    p = pred_states.reshape(-1)\\n\",\n    \"    cm = cm.at[t, p].add(1)\\n\",\n    \"    cm = cm / jnp.clip(cm.sum(axis=1, keepdims=True), a_min=1.0)\\n\",\n    \"    return cm\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"val_batch_full = val_data\\n\",\n    \"val_agent_full = build_agent(val_batch_full['x_seq'].shape[0])\\n\",\n    \"\\n\",\n    \"pre_metrics = evaluate_model(model_init, val_batch_full, val_agent_full)\\n\",\n    \"post_metrics = evaluate_model(model, val_batch_full, val_agent_full)\\n\",\n    \"\\n\",\n    \"# Encoder-level discrete category assignment quality\\n\",\n    \"flat_x = val_data['x_seq'].reshape(-1, D)\\n\",\n    \"flat_s = val_data['s_seq'].reshape(-1)\\n\",\n    \"\\n\",\n    \"enc_pre = predict_obs_idx(model_init, flat_x)\\n\",\n    \"enc_post = predict_obs_idx(model, flat_x)\\n\",\n    \"enc_pre_aligned, enc_pre_perm = best_aligned_accuracy(flat_s, enc_pre)\\n\",\n    \"enc_post_aligned, enc_post_perm = best_aligned_accuracy(flat_s, enc_post)\\n\",\n    \"\\n\",\n    \"print('Encoder aligned acc (pre/post):', enc_pre_aligned, enc_post_aligned)\\n\",\n    \"print('Inferred-state aligned acc (pre/post):', pre_metrics['aligned_acc'], post_metrics['aligned_acc'])\\n\",\n    \"\\n\",\n    \"pre_pred_aligned = jnp.array(pre_metrics['best_perm'])[pre_metrics['pred_states']]\\n\",\n    \"post_pred_aligned = jnp.array(post_metrics['best_perm'])[post_metrics['pred_states']]\\n\",\n    \"cm_pre = confusion_matrix(val_data['s_seq'], pre_pred_aligned, K)\\n\",\n    \"cm_post = confusion_matrix(val_data['s_seq'], post_pred_aligned, K)\\n\",\n    \"\\n\",\n    \"fig = plt.figure(figsize=(16, 4))\\n\",\n    \"gs = fig.add_gridspec(1, 4, width_ratios=[1.35, 1.0, 0.06, 1.0], wspace=0.4)\\n\",\n    \"\\n\",\n    \"ax0 = fig.add_subplot(gs[0, 0])\\n\",\n    \"ax1 = fig.add_subplot(gs[0, 1])\\n\",\n    \"cax = fig.add_subplot(gs[0, 2])\\n\",\n    \"ax2 = fig.add_subplot(gs[0, 3])\\n\",\n    \"\\n\",\n    \"ax0.plot(curve_steps, train_total_curve, label='train total')\\n\",\n    \"ax0.plot(curve_steps, val_total_curve, label='val total')\\n\",\n    \"ax0.plot(curve_steps, train_vfe_curve, '--', label='train VFE')\\n\",\n    \"ax0.plot(curve_steps, train_temp_curve, '--', label='train temporal KL')\\n\",\n    \"ax0.set_title('Training Curves')\\n\",\n    \"ax0.set_xlabel('step')\\n\",\n    \"ax0.legend()\\n\",\n    \"\\n\",\n    \"ax1.imshow(cm_pre, vmin=0.0, vmax=1.0)\\n\",\n    \"ax1.set_title('State Confusion (Pre, aligned)')\\n\",\n    \"ax1.set_xlabel('pred state')\\n\",\n    \"ax1.set_ylabel('true state')\\n\",\n    \"\\n\",\n    \"im = ax2.imshow(cm_post, vmin=0.0, vmax=1.0)\\n\",\n    \"ax2.set_title('State Confusion (Post, aligned)')\\n\",\n    \"ax2.set_xlabel('pred state')\\n\",\n    \"ax2.set_ylabel('true state')\\n\",\n    \"\\n\",\n    \"fig.colorbar(im, cax=cax)\\n\",\n    \"plt.show()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"17\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 9. Plan from Continuous Observations\\n\",\n    \"\\n\",\n    \"After training, we run a rollout starting from state 0.\\n\",\n    \"\\n\",\n    \"At each step, the agent receives a continuous sample, maps it through the encoder, infers state beliefs, selects an action from policy inference, and transitions under fixed `B`.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"id\": \"18\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_16049/1731807479.py:39: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  return Agent(\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"rollout states: [0, 1, 2, 3, 4, 4, 4, 4, 4]\\n\",\n      \"rollout actions: ['forward', 'forward', 'forward', 'forward', 'forward', 'forward', 'forward', 'forward']\\n\",\n      \"reached target: True\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def rollout_from_state_zero(model_eval: FrontendModel, horizon: int = ROLLOUT_HORIZON, seed: int = 1):\\n\",\n    \"    agent = build_agent(batch_size=1)\\n\",\n    \"\\n\",\n    \"    key = jr.PRNGKey(seed)\\n\",\n    \"    s_t = START_STATE\\n\",\n    \"    prior = [jax.nn.one_hot(jnp.array([s_t], dtype=jnp.int32), K)]\\n\",\n    \"\\n\",\n    \"    states = [int(s_t)]\\n\",\n    \"    actions = []\\n\",\n    \"    obs_points = []\\n\",\n    \"    obs_probs_hist = []\\n\",\n    \"    qs_hist = []\\n\",\n    \"\\n\",\n    \"    for _ in range(horizon):\\n\",\n    \"        key, key_obs = jr.split(key)\\n\",\n    \"\\n\",\n    \"        x_t = GAUSSIAN_MEANS[s_t] + GAUSSIAN_SCALE * jr.normal(key_obs, (D,))\\n\",\n    \"        obs_t = model_obs_categorical(model_eval, x_t[None, :])\\n\",\n    \"\\n\",\n    \"        qs_t_hist = agent.infer_states(obs_t, empirical_prior=prior)\\n\",\n    \"        qs_t = qs_t_hist[0][:, -1, :][0]\\n\",\n    \"\\n\",\n    \"        q_pi_t, _ = agent.infer_policies(qs_t_hist)\\n\",\n    \"        a_t = agent.sample_action(q_pi_t)\\n\",\n    \"        a_int = int(a_t[0, 0])\\n\",\n    \"\\n\",\n    \"        next_probs = B_TRUE[:, s_t, a_int]\\n\",\n    \"        s_next = int(jnp.argmax(next_probs))\\n\",\n    \"\\n\",\n    \"        obs_points.append(x_t)\\n\",\n    \"        obs_probs_hist.append(obs_t[0][0])\\n\",\n    \"        qs_hist.append(qs_t)\\n\",\n    \"        actions.append(a_int)\\n\",\n    \"        states.append(s_next)\\n\",\n    \"\\n\",\n    \"        prior = agent.update_empirical_prior(a_t, qs_t_hist)\\n\",\n    \"        s_t = s_next\\n\",\n    \"\\n\",\n    \"    return {\\n\",\n    \"        'states': jnp.array(states),          # length horizon+1\\n\",\n    \"        'actions': jnp.array(actions),        # length horizon\\n\",\n    \"        'obs_points': jnp.stack(obs_points),  # (horizon, 2)\\n\",\n    \"        'obs_probs': jnp.stack(obs_probs_hist),\\n\",\n    \"        'qs': jnp.stack(qs_hist),\\n\",\n    \"    }\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"rollout = rollout_from_state_zero(model, horizon=ROLLOUT_HORIZON, seed=1)\\n\",\n    \"action_names = ['back', 'stay', 'forward']\\n\",\n    \"\\n\",\n    \"print('rollout states:', rollout['states'].tolist())\\n\",\n    \"print('rollout actions:', [action_names[int(a)] for a in rollout['actions']])\\n\",\n    \"print('reached target:', int(rollout['states'][-1]) == TARGET_STATE)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"19\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 10. Animation: Continuous Density + Inference During Control\\n\",\n    \"\\n\",\n    \"The first GIF visualizes control over the continuous observation space:\\n\",\n    \"\\n\",\n    \"- left panel: state geometry, trajectory, and sampled observations over a Gaussian-density background\\n\",\n    \"- right panel: inferred state posterior `q(s_t)` over time\\n\",\n    \"- title: current inference summary plus the action taken at the previous timestep\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"id\": \"20\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"\\n\",\n       \"<link rel=\\\"stylesheet\\\"\\n\",\n       \"href=\\\"https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css\\\">\\n\",\n       \"<script language=\\\"javascript\\\">\\n\",\n       \"  function isInternetExplorer() {\\n\",\n       \"    ua = navigator.userAgent;\\n\",\n       \"    /* MSIE used to detect old browsers and Trident used to newer ones*/\\n\",\n       \"    return ua.indexOf(\\\"MSIE \\\") > -1 || ua.indexOf(\\\"Trident/\\\") > -1;\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  /* Define the Animation class */\\n\",\n       \"  function Animation(frames, img_id, slider_id, interval, loop_select_id){\\n\",\n       \"    this.img_id = img_id;\\n\",\n       \"    this.slider_id = slider_id;\\n\",\n       \"    this.loop_select_id = loop_select_id;\\n\",\n       \"    this.interval = interval;\\n\",\n       \"    this.current_frame = 0;\\n\",\n       \"    this.direction = 0;\\n\",\n       \"    this.timer = null;\\n\",\n       \"    this.frames = new Array(frames.length);\\n\",\n       \"\\n\",\n       \"    for (var i=0; i<frames.length; i++)\\n\",\n       \"    {\\n\",\n       \"     this.frames[i] = new Image();\\n\",\n       \"     this.frames[i].src = frames[i];\\n\",\n       \"    }\\n\",\n       \"    var slider = document.getElementById(this.slider_id);\\n\",\n       \"    slider.max = this.frames.length - 1;\\n\",\n       \"    if (isInternetExplorer()) {\\n\",\n       \"        // switch from oninput to onchange because IE <= 11 does not conform\\n\",\n       \"        // with W3C specification. It ignores oninput and onchange behaves\\n\",\n       \"        // like oninput. In contrast, Microsoft Edge behaves correctly.\\n\",\n       \"        slider.setAttribute('onchange', slider.getAttribute('oninput'));\\n\",\n       \"        slider.setAttribute('oninput', null);\\n\",\n       \"    }\\n\",\n       \"    this.set_frame(this.current_frame);\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.get_loop_state = function(){\\n\",\n       \"    var button_group = document[this.loop_select_id].state;\\n\",\n       \"    for (var i = 0; i < button_group.length; i++) {\\n\",\n       \"        var button = button_group[i];\\n\",\n       \"        if (button.checked) {\\n\",\n       \"            return button.value;\\n\",\n       \"        }\\n\",\n       \"    }\\n\",\n       \"    return undefined;\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.set_frame = function(frame){\\n\",\n       \"    this.current_frame = frame;\\n\",\n       \"    document.getElementById(this.img_id).src =\\n\",\n       \"            this.frames[this.current_frame].src;\\n\",\n       \"    document.getElementById(this.slider_id).value = this.current_frame;\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.next_frame = function()\\n\",\n       \"  {\\n\",\n       \"    this.set_frame(Math.min(this.frames.length - 1, this.current_frame + 1));\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.previous_frame = function()\\n\",\n       \"  {\\n\",\n       \"    this.set_frame(Math.max(0, this.current_frame - 1));\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.first_frame = function()\\n\",\n       \"  {\\n\",\n       \"    this.set_frame(0);\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.last_frame = function()\\n\",\n       \"  {\\n\",\n       \"    this.set_frame(this.frames.length - 1);\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.slower = function()\\n\",\n       \"  {\\n\",\n       \"    this.interval /= 0.7;\\n\",\n       \"    if(this.direction > 0){this.play_animation();}\\n\",\n       \"    else if(this.direction < 0){this.reverse_animation();}\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.faster = function()\\n\",\n       \"  {\\n\",\n       \"    this.interval *= 0.7;\\n\",\n       \"    if(this.direction > 0){this.play_animation();}\\n\",\n       \"    else if(this.direction < 0){this.reverse_animation();}\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.anim_step_forward = function()\\n\",\n       \"  {\\n\",\n       \"    this.current_frame += 1;\\n\",\n       \"    if(this.current_frame < this.frames.length){\\n\",\n       \"      this.set_frame(this.current_frame);\\n\",\n       \"    }else{\\n\",\n       \"      var loop_state = this.get_loop_state();\\n\",\n       \"      if(loop_state == \\\"loop\\\"){\\n\",\n       \"        this.first_frame();\\n\",\n       \"      }else if(loop_state == \\\"reflect\\\"){\\n\",\n       \"        this.last_frame();\\n\",\n       \"        this.reverse_animation();\\n\",\n       \"      }else{\\n\",\n       \"        this.pause_animation();\\n\",\n       \"        this.last_frame();\\n\",\n       \"      }\\n\",\n       \"    }\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.anim_step_reverse = function()\\n\",\n       \"  {\\n\",\n       \"    this.current_frame -= 1;\\n\",\n       \"    if(this.current_frame >= 0){\\n\",\n       \"      this.set_frame(this.current_frame);\\n\",\n       \"    }else{\\n\",\n       \"      var loop_state = this.get_loop_state();\\n\",\n       \"      if(loop_state == \\\"loop\\\"){\\n\",\n       \"        this.last_frame();\\n\",\n       \"      }else if(loop_state == \\\"reflect\\\"){\\n\",\n       \"        this.first_frame();\\n\",\n       \"        this.play_animation();\\n\",\n       \"      }else{\\n\",\n       \"        this.pause_animation();\\n\",\n       \"        this.first_frame();\\n\",\n       \"      }\\n\",\n       \"    }\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.pause_animation = function()\\n\",\n       \"  {\\n\",\n       \"    this.direction = 0;\\n\",\n       \"    if (this.timer){\\n\",\n       \"      clearInterval(this.timer);\\n\",\n       \"      this.timer = null;\\n\",\n       \"    }\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.play_animation = function()\\n\",\n       \"  {\\n\",\n       \"    this.pause_animation();\\n\",\n       \"    this.direction = 1;\\n\",\n       \"    var t = this;\\n\",\n       \"    if (!this.timer) this.timer = setInterval(function() {\\n\",\n       \"        t.anim_step_forward();\\n\",\n       \"    }, this.interval);\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.reverse_animation = function()\\n\",\n       \"  {\\n\",\n       \"    this.pause_animation();\\n\",\n       \"    this.direction = -1;\\n\",\n       \"    var t = this;\\n\",\n       \"    if (!this.timer) this.timer = setInterval(function() {\\n\",\n       \"        t.anim_step_reverse();\\n\",\n       \"    }, this.interval);\\n\",\n       \"  }\\n\",\n       \"</script>\\n\",\n       \"\\n\",\n       \"<style>\\n\",\n       \".animation {\\n\",\n       \"    display: inline-block;\\n\",\n       \"    text-align: center;\\n\",\n       \"}\\n\",\n       \"input[type=range].anim-slider {\\n\",\n       \"    width: 374px;\\n\",\n       \"    margin-left: auto;\\n\",\n       \"    margin-right: auto;\\n\",\n       \"}\\n\",\n       \".anim-buttons {\\n\",\n       \"    margin: 8px 0px;\\n\",\n       \"}\\n\",\n       \".anim-buttons button {\\n\",\n       \"    padding: 0;\\n\",\n       \"    width: 36px;\\n\",\n       \"}\\n\",\n       \".anim-state label {\\n\",\n       \"    margin-right: 8px;\\n\",\n       \"}\\n\",\n       \".anim-state input {\\n\",\n       \"    margin: 0;\\n\",\n       \"    vertical-align: middle;\\n\",\n       \"}\\n\",\n       \"</style>\\n\",\n       \"\\n\",\n       \"<div class=\\\"animation\\\">\\n\",\n       \"  <img id=\\\"_anim_imgd4f6703c1d0e4c8881d941793d878412\\\">\\n\",\n       \"  <div class=\\\"anim-controls\\\">\\n\",\n       \"    <input id=\\\"_anim_sliderd4f6703c1d0e4c8881d941793d878412\\\" type=\\\"range\\\" class=\\\"anim-slider\\\"\\n\",\n       \"           name=\\\"points\\\" min=\\\"0\\\" max=\\\"1\\\" step=\\\"1\\\" value=\\\"0\\\"\\n\",\n       \"           oninput=\\\"animd4f6703c1d0e4c8881d941793d878412.set_frame(parseInt(this.value));\\\">\\n\",\n       \"    <div class=\\\"anim-buttons\\\">\\n\",\n       \"      <button title=\\\"Decrease speed\\\" aria-label=\\\"Decrease speed\\\" onclick=\\\"animd4f6703c1d0e4c8881d941793d878412.slower()\\\">\\n\",\n       \"          <i class=\\\"fa fa-minus\\\"></i></button>\\n\",\n       \"      <button title=\\\"First frame\\\" aria-label=\\\"First frame\\\" onclick=\\\"animd4f6703c1d0e4c8881d941793d878412.first_frame()\\\">\\n\",\n       \"        <i class=\\\"fa fa-fast-backward\\\"></i></button>\\n\",\n       \"      <button title=\\\"Previous frame\\\" aria-label=\\\"Previous frame\\\" onclick=\\\"animd4f6703c1d0e4c8881d941793d878412.previous_frame()\\\">\\n\",\n       \"          <i class=\\\"fa fa-step-backward\\\"></i></button>\\n\",\n       \"      <button title=\\\"Play backwards\\\" aria-label=\\\"Play backwards\\\" onclick=\\\"animd4f6703c1d0e4c8881d941793d878412.reverse_animation()\\\">\\n\",\n       \"          <i class=\\\"fa fa-play fa-flip-horizontal\\\"></i></button>\\n\",\n       \"      <button title=\\\"Pause\\\" aria-label=\\\"Pause\\\" onclick=\\\"animd4f6703c1d0e4c8881d941793d878412.pause_animation()\\\">\\n\",\n       \"          <i class=\\\"fa fa-pause\\\"></i></button>\\n\",\n       \"      <button title=\\\"Play\\\" aria-label=\\\"Play\\\" onclick=\\\"animd4f6703c1d0e4c8881d941793d878412.play_animation()\\\">\\n\",\n       \"          <i class=\\\"fa fa-play\\\"></i></button>\\n\",\n       \"      <button title=\\\"Next frame\\\" aria-label=\\\"Next frame\\\" onclick=\\\"animd4f6703c1d0e4c8881d941793d878412.next_frame()\\\">\\n\",\n       \"          <i class=\\\"fa fa-step-forward\\\"></i></button>\\n\",\n       \"      <button title=\\\"Last frame\\\" aria-label=\\\"Last frame\\\" onclick=\\\"animd4f6703c1d0e4c8881d941793d878412.last_frame()\\\">\\n\",\n       \"          <i class=\\\"fa fa-fast-forward\\\"></i></button>\\n\",\n       \"      <button title=\\\"Increase speed\\\" aria-label=\\\"Increase speed\\\" onclick=\\\"animd4f6703c1d0e4c8881d941793d878412.faster()\\\">\\n\",\n       \"          <i class=\\\"fa fa-plus\\\"></i></button>\\n\",\n       \"    </div>\\n\",\n       \"    <form title=\\\"Repetition mode\\\" aria-label=\\\"Repetition mode\\\" action=\\\"#n\\\" name=\\\"_anim_loop_selectd4f6703c1d0e4c8881d941793d878412\\\"\\n\",\n       \"          class=\\\"anim-state\\\">\\n\",\n       \"      <input type=\\\"radio\\\" name=\\\"state\\\" value=\\\"once\\\" id=\\\"_anim_radio1_d4f6703c1d0e4c8881d941793d878412\\\"\\n\",\n       \"             >\\n\",\n       \"      <label for=\\\"_anim_radio1_d4f6703c1d0e4c8881d941793d878412\\\">Once</label>\\n\",\n       \"      <input type=\\\"radio\\\" name=\\\"state\\\" value=\\\"loop\\\" id=\\\"_anim_radio2_d4f6703c1d0e4c8881d941793d878412\\\"\\n\",\n       \"             checked>\\n\",\n       \"      <label for=\\\"_anim_radio2_d4f6703c1d0e4c8881d941793d878412\\\">Loop</label>\\n\",\n       \"      <input type=\\\"radio\\\" name=\\\"state\\\" value=\\\"reflect\\\" id=\\\"_anim_radio3_d4f6703c1d0e4c8881d941793d878412\\\"\\n\",\n       \"             >\\n\",\n       \"      <label for=\\\"_anim_radio3_d4f6703c1d0e4c8881d941793d878412\\\">Reflect</label>\\n\",\n       \"    </form>\\n\",\n       \"  </div>\\n\",\n       \"</div>\\n\",\n       \"\\n\",\n       \"\\n\",\n       \"<script language=\\\"javascript\\\">\\n\",\n       \"  /* Instantiate the Animation class. */\\n\",\n       \"  /* The IDs given should match those used in the template above. */\\n\",\n       \"  (function() {\\n\",\n       \"    var img_id = \\\"_anim_imgd4f6703c1d0e4c8881d941793d878412\\\";\\n\",\n       \"    var slider_id = \\\"_anim_sliderd4f6703c1d0e4c8881d941793d878412\\\";\\n\",\n       \"    var loop_select_id = \\\"_anim_loop_selectd4f6703c1d0e4c8881d941793d878412\\\";\\n\",\n       \"    var frames = new Array(8);\\n\",\n       \"    \\n\",\n       \"  frames[0] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQABAABJREFUeJzsnQeYJFXV/k9Vh5nZ2URalrDknJMBMKAgqJg+FROfgAomTKB/\\\\\\n\",\n       \"EVQQEyp+iB8YEDEnROXDiAElKEGC5JzjsktY2DShu+v/vLf69Jw+fW919XTP7uzM+e1TO1351q1b\\\\\\n\",\n       \"1VVvv+fcKEmShAzDMAzDMAzDMAzDMAxjkhKv7gIYhmEYhmEYhmEYhmEYRhYmYBmGYRiGYRiGYRiG\\\\\\n\",\n       \"YRiTGhOwDMMwDMMwDMMwDMMwjEmNCViGYRiGYRiGYRiGYRjGpMYELMMwDMMwDMMwDMMwDGNSYwKW\\\\\\n\",\n       \"YRiGYRiGYRiGYRiGMakxAcswDMMwDMMwDMMwDMOY1JiAZRiGYRiGYRiGYRiGYUxqTMAyDMMwDMMw\\\\\\n\",\n       \"DMMwDMMwJjUmYBmGscay33770RFHHLG6i2GsQnC+cd6nKj/4wQ8oiiK6//77e1pnm222Wc+2p7c9\\\\\\n\",\n       \"c+ZMWlXgOPJc8xNRj5Plftbtsd1111104IEH0pw5c9x2/u///o8mO3nPu7Hm3ks/85nPuPa4JsJl\\\\\\n\",\n       \"f+KJJ1Z3UQzDMKY8JmAZhpGLyy+/3D2kLVmypKc19tvf/pb22GMP6u/vp0022YROOukkqlQqa0TZ\\\\\\n\",\n       \"VwePPvqoO5brr79+3Nv44x//6LaxusD5eMELXkAzZsyg+fPn04c+9CFatmzZaiuPYaxJ97NuOfzw\\\\\\n\",\n       \"w+mmm26iL3zhC/TjH/+Y9tprL5qO2L101bNixQr33XPxxRfTZGEylmkiRbb111/fHbNPJH7Vq161\\\\\\n\",\n       \"WspmGIbRCSZgGYaRW3Q4+eSTeyoC/elPf6LXve51NHfuXDrjjDPc589//vP0wQ9+cNKXfXW+dOFY\\\\\\n\",\n       \"uhWwsI3VAcq9//77uwfo0047jY488kj6zne+Q4cccshqKY+xZnHHHXfQ2WefTZORVXU/e/vb304r\\\\\\n\",\n       \"V66kTTfdtON1sd4VV1xB73rXu+gDH/gA/fd//zdtvPHGNB2xe+mqB/d9fPf4xKJPfepTrn1OpjJN\\\\\\n\",\n       \"RRYtWkTf+ta3VncxDMMwxk1x/KsahmF0x8c+9jHaZZdd6C9/+QsVi+ntaPbs2fTFL36RPvzhD9N2\\\\\\n\",\n       \"2223yqu4VqvRyMiIc1AYveeEE06gtdZay70s4FzzL79HHXWUawcIbTKMEH19fTTd72eFQsEN42Hx\\\\\\n\",\n       \"4sXuL0S2XjE0NETlcpniuPU30eXLl9Pg4GDP9mVM3Xsprhm+boyJY7fddqNTTz2V3v/+99PAwIBV\\\\\\n\",\n       \"tWEYaxzmwDIMI5f1/P/9v//nPm+++ebOht5tfplbb73VDe9+97ubHlrxUJUkCf3qV79aJWXHZzgR\\\\\\n\",\n       \"fvrTn9KOO+7oXpAvvPBC91KAefpXWayH6chDI7n99tvpjW98I6299tpO/EJYDsKJOuWvf/2rC6/D\\\\\\n\",\n       \"CyZyC2277bbuRQWgLM95znPc53e84x2NY+GyXHbZZc7JhNAlHMeCBQvomGOOafpVG3lPvvGNbzSO\\\\\\n\",\n       \"nQcp4J1++umuLnAcCDd4z3veQ08//TR1y7PPPuuOD64PfuEChx12mDvWX/7yl9RL4Lj7yEc+4uoB\\\\\\n\",\n       \"9bHVVlvRl7/8ZXeM+nx+9atfdU6wLbfc0i2Ler766qtbtonz/KY3vYnWW2899/CP8/PJT36yaZn/\\\\\\n\",\n       \"/Oc/9IpXvMIdI44LjrMrr7yyZVu33HILvfSlL3XbgQsGbh1ZNu3ueeELX+jEgFmzZtHBBx/s1tcg\\\\\\n\",\n       \"n9FOO+3kzh3+nn/++eOsPaLzzjuP9txzT1e+dddd1523Rx55xLvsvffeSwcddJAr34Ybbkif/exn\\\\\\n\",\n       \"3XUs+cUvfuG2h/KjbnbeeWf6+te/3nUupDz1+Pe//90JLCeeeGLT9J/97Gfu/HfrSFhV97NQDiwO\\\\\\n\",\n       \"//nnP/9Jz33uc93532KLLehHP/pR072QXVu4J2IbMjcazu073/lOd83jGsA94Hvf+17Tvvm+iHMJ\\\\\\n\",\n       \"x8xGG23kQoFxbXM+tHvuuYde+cpXuvN86KGHdnRfQV3h/OE8YrsveclLvO08D3Yv7Q1PPfWUE2dx\\\\\\n\",\n       \"veL84trF/e2GG27wiploZ9tss407zxtssAG9/vWvd20C7RX3TQDHE3/3cDi7LwcWwm8/97nPNe7L\\\\\\n\",\n       \"aK/4PhweHm5aLk/799GuTDfeeKNr19gWtomQd1wjTz75ZNt6e+CBB9x3Du7Djz/++IR8J42Ojrrv\\\\\\n\",\n       \"pMcee4zygnsgypPnngcB+qMf/WijvPi+Q7n0vZ2fo/j7h+8feJbS5LnPGIZhZGE/dRiG0RY8gN55\\\\\\n\",\n       \"553085//nL72ta+5l1nAD37PPPOMe5BqBx4AOeEzXvKBzr+Cl1+8vPD8iS47v9xCPMEDGObjYbiT\\\\\\n\",\n       \"cEO8YO27777uZe4Tn/iEe4nH9hBC9Otf/5r+67/+K/d28BAOFwcEADzc3X333fSvf/3Lzd9+++3d\\\\\\n\",\n       \"dDyA4kUZggbYZ599GoIDwiHe97730TrrrEP//ve/XSjTww8/7OYBvDQidAYvd8h/o8F8vCBDIENu\\\\\\n\",\n       \"qvvuu4/OPPNMdz5QjlKp5JZDziq8rLQDyyNZNEDeHbyQ6HMO9wZ+Fe7VOQeohxe/+MXuYRnHBFEP\\\\\\n\",\n       \"oaTHH3+8e9jHy7QWMpYuXeqWxcP4V77yFdd2IMzwMeNlBnWOcdQ/2glezH73u9+5fEJ8DrEMXvI+\\\\\\n\",\n       \"/vGPu2XPOusslyz5kksuoec973luuYULF7qXc9QHtxm8rPh+Ecd5Qt4iCER42cGx4eUDQifqjEUI\\\\\\n\",\n       \"uC7e8IY30A477ECnnHKKe8nCeRxPiBi3Abw0YVt44YHYhDaAfUoHT7VapZe//OX0/Oc/39UbXlo4\\\\\\n\",\n       \"9xPaK0B7e+tb3+rEPBwDuO2229z24E4aL3nrEQIXxCQcC65L5KlCO0B43wEHHEDvfe97G8tO5vtZ\\\\\\n\",\n       \"FrhXQERHeCDaC14K8fIN0RAviWjPOG8QtXEuIDJx+XF+cf74RRT3R4im2BbEKbx0SyAq4LqFsAEx\\\\\\n\",\n       \"AZ8BzgPaKdomXnQhQnVyX8G9DQIWyobhuuuuc04iuGI7we6lvWtvuAdCmMCPI/gRCG0F9zTcXyHa\\\\\\n\",\n       \"oo3zfQDfXxdddBG95S1vcdc17qm49m+++WZ3neG+he8nfCeiPQJ834VAiPkPf/hD164hpFx11VXu\\\\\\n\",\n       \"Gsa9Q4vz7dq/D7TzrDKh7Dh+tFuIV2hXuL/gL36UCCWdx/cC7jn4QQvbwHPFRHwnYVt4LsDx6h/V\\\\\\n\",\n       \"QuD7CWXD9nDcIRcWRKrXvOY19I9//MPVKb6j//znPzvxG/vF85QE4uFvfvMbd5+FeP2///u/7vvo\\\\\\n\",\n       \"wQcfdM8j47nPGIZheEkMwzBycOqpp+Int+S+++5rmffiF7/YzWs3HH744S3be/DBB1u295znPCd5\\\\\\n\",\n       \"/vOf37ZM2K/c5njKjulxHCe33HJL0/R//OMfbh7+SrANTP/+97/fmLb//vsnO++8czI0NNSYVqvV\\\\\\n\",\n       \"kn322SfZeuutk7x87Wtfc9tevHhxcJmrr766Zf/MihUrWqadcsopSRRFyQMPPNCYdvTRR7ttaC67\\\\\\n\",\n       \"7DI3/ac//WnT9AsvvLBlOuo9zznHOWLOO+88N+3SSy9t2fchhxySzJ8/P3jccr9ymyE+97nPJYOD\\\\\\n\",\n       \"g8mdd97ZNP0Tn/hEUigUGu2Oz+c666yTPPXUU43lLrjgAjf9d7/7XWPai170omTWrFlNdcnnmnnd\\\\\\n\",\n       \"616XlMvl5J577mlMe/TRR916WJ/5yEc+4rZ/1VVXNaYtWrQomTNnTlNbXbp0aTJ37tzkqKOOatrn\\\\\\n\",\n       \"woUL3bJy+m677ZZssMEGyZIlSxrT/vKXv7jtbbrppkleRkZGknnz5iU77bRTsnLlysb03//+925b\\\\\\n\",\n       \"J554Yks7+OAHP9hUHwcffLCrB27LH/7wh5PZs2cnlUol6QYch7zm89YjWL58ebLVVlslO+64o7tW\\\\\\n\",\n       \"UUaUSZ/PyX4/w7Wvjw31oq8t1ENfX1/y0Y9+tDGN2zvKK3nXu97l2s4TTzzRNP0tb3mLq0u+t/B9\\\\\\n\",\n       \"cYsttmi533BbwDU2nvsKyos2g/Mir6kTTjihpb7bYffS3t1Lca1Uq9WmaWhHaFuf/exnG9O+973v\\\\\\n\",\n       \"ufN02mmntWyDzyfuB1jmpJNOalkG0+T30vXXX+/GjzzyyKblPvaxj7npf//73ztu/z6yyuT7Tv35\\\\\\n\",\n       \"z3/esi8uO7Z12223JRtuuKG77uV3ykR8J/Gyea4NWcZLLrmk5VyhDnHtMf/3f//nlvn85z/ftJ03\\\\\\n\",\n       \"vvGN7pni7rvvbkzDcrh25bQbbrjBTT/jjDM6vs8YhmFkYQ4swzC65n/+539yhZjxL7WAw9p8OW3g\\\\\\n\",\n       \"bMCvcasK/CoK18p4wyvg4ILTBL+WYmDgRIATBb9Wwp3VDna1XHDBBe4XX19OmSzkL6mw/qOO4c7C\\\\\\n\",\n       \"8yWcDvjFNwu4tOCWetnLXtbUHTh+wYZTA7/Evu1tb3PT4C5CSFk7kKMl7znvZQJfHAt+acb+5bHA\\\\\\n\",\n       \"BfClL32JLr300kZ4E3jzm9/cVFZ2t+HXbs4dhHXgKtD1yL/Cw4EAFxQcPgg5YRBGg3pD8nG0a7iz\\\\\\n\",\n       \"kEgfv0Qj3IXBr9Eo0ze/+c3GNPx6DzcgHDPyOJADCW4unBOAX/CRIB8uJHa8AZxLtG20h7xcc801\\\\\\n\",\n       \"LtEvwmhkLjiELSKP0x/+8IeWTgDwa7qsD4xjub/97W/OjYG2jTLgeODW6hV56xHADQSXwote9CI3\\\\\\n\",\n       \"wKF4zjnntJzPNfV+hvPM7ZbrASE/3IZD4P4ApyhCY/FZtjPcwxAuCCcUXKYMHB8h5wZcHeO5r6Ct\\\\\\n\",\n       \"wGkFV5x0tsCVgTxinWD30t7dS2Wbxj0O9yMOb0e7YNCG4DTydVoQciq1u7bBscce2zQdTiy4+3B/\\\\\\n\",\n       \"gfuy2/afhWzjcBzDeYz7DcCxy/0BOM3wXYLQQDiLZKh8r7+TANy3OpwvD7j/oe7gwoL71Hcto/7x\\\\\\n\",\n       \"PQPHpK5/hETj+OR9H8eBcEcGLjYcP5d3PPcZwzAMHyZgGYbRNXgR6RR+YNK5LPhBcVUmF0VYxHhB\\\\\\n\",\n       \"2AIexj796U+7wQfEgDwCFh5Yv/vd77qwCQgRCLdCyADCIvKIWbDqIwQHubf0CzjCotpx1113ueXm\\\\\\n\",\n       \"zZsXPA75stCp6LcqzzmOBSF/MlQ0dCxAixj84sD1yA/hyO8RAiIXwkTw0qRBmAfynDz00EMunAX5\\\\\\n\",\n       \"UTicUKLXxXEAhHz44BckbA9svfXW3m3KF8128LZ8xwEBC6EiErRNKdgB5MABnKcJYSUIq0XuHFwL\\\\\\n\",\n       \"CAvDi0y3YlbeemTwcgSBBXng8NKEXCxT5X7mE6jRjtuJcWi3ECUQGoUhz/USumci/5cOWc17Xwm1\\\\\\n\",\n       \"YVzD8kU+D3Yv7V17w30L4cMQhBH6CRGL4dAwDpvDdderROxoD7i3QAySIJQPAiW3l27bf7sfqCDW\\\\\\n\",\n       \"Q1zR14DvO/XVr361y+2EUDsOz52o76RuwQ8U+PHu29/+tgsr1qB+IdIjHFB/l/H8rPJymbm847nP\\\\\\n\",\n       \"GIZh+DAByzCMrsFDXp4cJXiJY3cIXCnsHEGCUAmmSUfFRON7uQz9Yiwf3gEnX0UuGLwQ+9AP4Fnl\\\\\\n\",\n       \"wK+wcCTg12XkEjr33HOdeAFnT1bPYygXHA44F8cdd5wTGpAPCO4v5AEJJQfXx4KXTCS09yEfvPHw\\\\\\n\",\n       \"nscxhdw4yAOiz7kG06SjpVtwLKgPOMV8sMDChOp2PL9u9xI+b8iDhRc3zZrSaxfaFRxieLHDL/cY\\\\\\n\",\n       \"vv/977sE/shxs6qAwMQdM+CFG4Ij52la0+9n423D3MbgqISzyofOUxQS5ODW0WJ7J/eVXmH30t7d\\\\\\n\",\n       \"S+F+w48zEHuR+wz3c5xjOOPyfK90S1731kTcwyGyI08V8j4hBxREKRwzhHffsSPnE+5naOvIXTWZ\\\\\\n\",\n       \"v5PgwkJuRnZhdUu78o7nPmMYhuFjzXjyNQxjtZP1EAmXEBJUt0MmGsXDIIcryZc7JBhH0nEkye4V\\\\\\n\",\n       \"4wlf4F87dTJ3/asjO0+QVBUW+m7BiwGcVxhOO+009/KAXu4gamH7oWNBgnQkq8fDM0QBBiFbmtA2\\\\\\n\",\n       \"YP9HGA9cKu0cIwilyyM84BdeFgzgXoLggnOOFwMGYgHEDTmtW3AsCPfoxTmR5xkhIiHwIg4x5I47\\\\\\n\",\n       \"7miZh56icG5Z3EBvcOyukuh1OSQDAkDWsXDvcnm22Q7eFtbTzi9M4/kMXkzgUJMvYGiLQPZyBzET\\\\\\n\",\n       \"DgUMWAeuLCSDxstxXpHXV9ZOjhkhvUgAjRAkCL1wOiLZ8Jp0P+s1aLdwWUAE79X1Mp77imzD0tEH\\\\\\n\",\n       \"58Z4XCd2L+0NCBdDuBnCbSX4buROUfg8I8k6OkDgJOPdfBejPeA+gfbArh9OBI596/vQeAmVCW0O\\\\\\n\",\n       \"CenhwJK9l/ruN8ypp57qvuM4kTmH3E/Ed1KvXFgQsXAf1qB+cd0iLYJ0YeG7jOdPpvuMYRjTh84S\\\\\\n\",\n       \"rBiGMW2Bmwf4eudDzhgIJe0G+csjwqjgEoKVXLqa0CMQHigRNrcqyh4CD2f4RRGOKInOqwNhgR8A\\\\\\n\",\n       \"fc4ivHzlBc4PDb8Yc2hS6Fj410/56yw+I/RDE9oGBCScC/zKrkHvYnJ5nMs85xxtg4FbBQ+uP/nJ\\\\\\n\",\n       \"T5pyhcFdhAd79HLVK3AsV1xxhXP8aHAcOJ5OH77xizV6tkKopoTrHOcAoXHIYcahc/zChR6l0DMb\\\\\\n\",\n       \"h/yhhzX0YoU8TLKtaJcKXH1YB0Kmr2c8bl9wAKGtQFSUoS04B+gprBPQkx7aNUJLZEgcXFMQf5AL\\\\\\n\",\n       \"S4Me5WR9YBwvsRBige52HuIC/9ruC7vLS956BHi5hnAF5wjyuMBVgXJqsWqy3896DdotnCPIT+MT\\\\\\n\",\n       \"aDu5h/nIe1/BvQFtBj2nyvuY7p0tD3YvPaSn7UO7fpDPCe5eCdoQ8hrJewHD67PbMc93Ma5t3/nH\\\\\\n\",\n       \"DzvAdx8aD6Ey+b5TfeWR4FrHPQDXOwRuhPNP1HcSwHcCBCXfs0ce8AMTnl/QM6zuVRj1j+tWn0/0\\\\\\n\",\n       \"PojjRDj4ZLrPGIYxfTAHlmEYueC8MHADISkzXjTgpIAYMp6cMfxrJbppxks/tomHGjwsIQeU/MV1\\\\\\n\",\n       \"IsseAmILBBW8TOFhDb+e/v73v/fmaEA+HYgTO++8Mx111FHOPQDRAg+rcF/ccMMNucqJRPAQzPBg\\\\\\n\",\n       \"DgEN+4Jghpwy2D5AOZD/A+ICfs3EMSAHEF6eMQ+hjHixgOiBB0Wfc4HrA8lZIZDgwRL1godZhD2g\\\\\\n\",\n       \"m3I4onBeUFf4xRkvLBDD+EV8PDmwwBe+8AWXWB77gisF9QPBAPvqZXJviBN4eUC37tyVOpKIw6kG\\\\\\n\",\n       \"RwEEJukeyAOcOjgPe+yxhys78gBhOwj3RH2Bz3/+807cwHL4FR6/xkPchEiDUA0G4geEOxwz3Gw4\\\\\\n\",\n       \"j3jxwXlHnhQG5xEiyNvf/na3X5wniGkQ0bBfuFr4BQPnDW0H+0a4D17i0X4hrkAgzAvOOV5o0JEA\\\\\\n\",\n       \"zhMSyKM94/zDUaXzpSBJOcJd8cKGtgihC2U74YQTGuFhuKZRHji60J7hZETZILp1c63nrUe8nKF8\\\\\\n\",\n       \"yK+ENgjgrPjd737njhPtgu8Hk/1+NhEgiTRcnjh/uIfh2sb5Qu40uDB8glBe8t5X0FZw/8JyuG7x\\\\\\n\",\n       \"Ao3OJ9CeOr1W7V7au3spzgXqE9cJ7t24ViAQ67x3cP7+6Ec/cknXISgj6TjuuWg/uBe+9rWvdQ48\\\\\\n\",\n       \"tC2ExsOxiXBEOHN9uQV33XVXd83ieobAg3aE7UKkR0cZMoF7N2SVCT9a4L4NoQi5+xDKjzxgWUCc\\\\\\n\",\n       \"x480KCNEKyRDx31vIr6T8F2Pe4t0g3YKXKm+usQzEqbjuQllw/nA8eMHGvwIIBO2T4b7jGEY04jM\\\\\\n\",\n       \"PgoNwzAE6AZ6o402SuI4bunGfbycf/75yW677ea6u954442TT33qU8nIyEiudfN2O59Vdnw++uij\\\\\\n\",\n       \"veugu+k3vOENyYwZM5K11lorec973pPcfPPNbh10ZS+55557ksMOOyyZP39+UiqV3L5e9apXJb/6\\\\\\n\",\n       \"1a+SvFx00UXJa1/7WtcFN7qkxt+3vvWtLd1uozvtHXbYISkWi01lufXWW5MDDjggmTlzZrLuuusm\\\\\\n\",\n       \"Rx11VKMra1neSqWSfPCDH0zWW2891x22/ir4zne+k+y5557JwMBAMmvWrGTnnXdOPv7xjyePPvpo\\\\\\n\",\n       \"0gsuu+yyZJ999kn6+/tdGVD/zz77bK5183b9DpYuXZocf/zxyVZbbeXqE3WC/X71q19ttDHuhvzU\\\\\\n\",\n       \"U09tWd/XtTrO/3/9138lc+fOdeXfdtttk09/+tNNy1x33XXJQQcd5M4D2s5LXvKS5PLLL2/Z/o03\\\\\\n\",\n       \"3uiOBdtBe0EbPeecc7zX1j/+8Q+3TXQ1juW33HLL5IgjjkiuueaapuV+/etfJ9tvv727ntBGfvOb\\\\\\n\",\n       \"37g6QxfpnXLuuecmu+++u9vW2muvnRx66KHJww8/3LQMto2u4dH+DzzwQHe866+/vqu3arXaWA7X\\\\\\n\",\n       \"AebPmzfPnYtNNtnEXU+PPfZYR2XCcehrPk89HnPMMa6r+quuuqppXdQfrqP3ve99SS9YFfczXMu6\\\\\\n\",\n       \"jaBeDj74YO825fWS1d4ff/xxdy0uWLDA3cNwL9t///3d/UC2Q6x/3nnntazPbSFEnvsK2szJJ5+c\\\\\\n\",\n       \"bLDBBm65/fbbz11zvvOehd1Le3cvHRoaSj760Y82zsm+++6bXHHFFS1tC6xYsSL55Cc/mWy++eaN\\\\\\n\",\n       \"NvTGN77R3R8Y3AvRDnAfkPdY/NXfRaOjo6498PbQNnFPR5kkedt/iFCZcL/j+z3uvYcccohrr/q7\\\\\\n\",\n       \"gcuOZwZZF9g3vgeuvPLKCflO4mXzXBu+Msp6wjxdhygv7p14FkH9b7311q5ctVqtpVy+5yjfdZvn\\\\\\n\",\n       \"PmMYhpFFhP9Wt4hmGIYxHmB9hyNkvL88Gmse+OUavwZzXi3DmCrY/cxYldi91DAMw1gTsRxYhmEY\\\\\\n\",\n       \"hmEYhmEYhmEYxqTGcmAZhmGsAhYuXNg2DwfybhnGRIIcI+j1MQTyoXHeqlWJXR+GtRXDMAzDMNph\\\\\\n\",\n       \"ApZhGMYqAL3EZdFNElbDyMvrX//6ll73JEh+LntQXFXY9WFYWzEMwzAMox2WA8swDGMVgB52sthw\\\\\\n\",\n       \"ww3H1aufYXTCtdde6+2ZUjoB0bPhqsauD8PaimEYhmEY7TAByzAMwzAMwzAMwzAMw5jUWBJ3wzAM\\\\\\n\",\n       \"wzAMwzAMwzAMY1JjApZhGIZhGIZhGIZhGIYxqTEByzAMwzAMwzAMwzAMw5jUmIBlGIZhGIZhGIZh\\\\\\n\",\n       \"GIZhTGpMwDIMwzAMwzAMwzAMwzAmNSZgGYZhGIZhGIZhGIZhGJMaE7AMwzAMwzAMwzAMwzCMSY0J\\\\\\n\",\n       \"WIZhGIZhGIZhGIZhGMakxgQsw1iD+MEPfkBRFNE111yzuosybfnMZz7jzoERZjq3Uz72+++/f3UX\\\\\\n\",\n       \"ZdJi15BhTC6WLVtGRx55JM2fP9/dvz7ykY+s7iIZGRxxxBG02WabrfY6euihh6i/v5/+9a9/rZL9\\\\\\n\",\n       \"PfnkkzQ4OEh//OMfV8n+DMOYnJiAZUwKbrrpJnrjG99Im266qfsy3GijjehlL3sZnXHGGU3LffGL\\\\\\n\",\n       \"X6T/+7//G/d+br31Vvfy1OuXy4svvtg99PFQKpVoiy22oMMOO4zuvffejrf3zW9+070IT3eeffZZ\\\\\\n\",\n       \"Ovnkk2nXXXelmTNn0sDAAO2000503HHH0aOPPjph+12xYoVrJzivRsqDDz5I733ve91Dc19fH82b\\\\\\n\",\n       \"N49e97rXrbIH18lGt/eiiQDnhu9BcRzT3Llzaeedd6Z3v/vddNVVV9FkZjLWp2FMlx8NcP1hG+97\\\\\\n\",\n       \"3/voxz/+Mb397W+n6Yx8nsMwe/ZsevGLX0x/+MMfaDKyup5ZPvvZz9Lznvc82nfffXu6XQhUOB7N\\\\\\n\",\n       \"Ouus44TWT3/60z3dn2EYaxYmYBmrncsvv5z22msvuuGGG+ioo46iM888031B4QXs61//es8FLAgi\\\\\\n\",\n       \"E+WO+NCHPuQe/r7zne/QwQcfTOeeey495znP6VhsMQGLnPC322670ec+9znaYYcd6Mtf/jL97//+\\\\\\n\",\n       \"L73kJS+hc845h/bbbz+ayIdBtBPfw+CnPvUpWrlyJU0nIFJBCPn5z39Ob3jDG1z7/PCHP0y33HIL\\\\\\n\",\n       \"vfCFL2wRmqcDoXsRXvzQPiDGrw5wzeAe9KMf/YhOOeUUd7387ne/o+c///l07LHH0mTAdw2ZgGUY\\\\\\n\",\n       \"q4+///3v7h5x0kkn0X//93/TnnvuOe1PB35E5Xvpxz/+cbr77rvp1a9+Nf35z3+edHWT9cwyUSxe\\\\\\n\",\n       \"vJh++MMfuh+2eg0ELByPD+zvuuuuc23WMIzpSXF1F8AwvvCFL9CcOXPo6quvdo4ByaJFi9aoCsLL\\\\\\n\",\n       \"PJxk4B3veAdts802TtTCl/zxxx+/uos3qVi+fLmzgvuoVCr0+te/nh5//HH3QPaCF7ygpc1A0Fod\\\\\\n\",\n       \"FItFN0wXnn76adem4X6DkLXllls25kEQOeigg1y4CV549tlnH5pMJElCQ0NDruyrikKh4IbVBdyr\\\\\\n\",\n       \"eAGV4Fp529veRl/72tdo6623di6L1cl0u4YMY7KDZy38UNQrarUajYyMOEf9mgqe3+S9FD/eoI7w\\\\\\n\",\n       \"wyq+96Y7P/nJT9x9HKLeqmT77bd3Tnw4Bl/60peu0n0bhjE5MAeWsdq55557aMcdd2wRrwDClBjY\\\\\\n\",\n       \"uCF6QAxiWzfyAIAHHniA3v/+99O2227rXlZhMz7kkEOanFb4ssM0AFcCb0P+YvWnP/3JiVAQVmbN\\\\\\n\",\n       \"muVcVHCZjBf+cr3vvvvc3+9///tuGo4LYVh4GPrWt77VEgaEfV5yySWNMmq30fDwsBMP1ltvPVfW\\\\\\n\",\n       \"//qv/3K/huUBv1rxMaLOX/va19Jtt93WmP+rX/3K7RP715x11llu3s0339yYdvvttzuBY+2113YP\\\\\\n\",\n       \"q3DT/fa3v/WGN2CbOE84/o033jhYxl//+tfOkffJT36yRbwCsPNDxJKcd955TkTB+V933XXdg+cj\\\\\\n\",\n       \"jzzStAzaC0IRMR3hb/iMOvzYxz5G1WrVLYM2g2kAvwDyOWA7uy9/D8Y/8IEPOEcOHqxwbtGmL7zw\\\\\\n\",\n       \"wlx5K3zbhIgH9xkEI2wP651wwgnu3Ot9+6z2WJ6vDzA6OuqOBwIGzhOuEdTtX//6V8oC53zhwoV0\\\\\\n\",\n       \"6qmnNolXAHXN1yNCCXy/Cr/nPe9x+8I5Q0gtBDEJQl7wMoBzhu1tvvnm9M53vrPlZej00093dYqy\\\\\\n\",\n       \"r7/++m67els45le96lXuF3K0Q2wP5cc5wTWvwXYh+LDoDL761a86IQ5lxvpoU7gmJFn3olAOLLjW\\\\\\n\",\n       \"UH6cyw033JCOPvpoWrJkSdMyuM5RVjhFUd4ZM2a48n3lK1+hbsBxwEmAaxTXDYS98dbtP//5T3ru\\\\\\n\",\n       \"c5/rlkWYNNwJkjztTLf3UH3+4x//cJ/PP//8lmP62c9+5uZdccUVXdWNYUxV8nzfcfoDPKMgPI6v\\\\\\n\",\n       \"P75/4fsGrqytttrK3bsWLFjg3Ei+7yF8B/70pz9t3Of4+w/7xz0d9xb+bvze977XtD6X45e//KW7\\\\\\n\",\n       \"R+H5APeP/fff3zmfNAiJfuUrX0lrrbWWe5bZZZddWhz7eZ5NOhVO8D2FZ1ZJ3jrCPRD3Qjx34Vzg\\\\\\n\",\n       \"eRXf6Uzou4PrJuSuavfMgnsy6uKxxx7LdZz8HIM6w1/cf33PLlgO4YM4Fsldd93lxD7kU8M2cC7f\\\\\\n\",\n       \"8pa30DPPPJNr/9jXN77xDfdZhnFqdxycxfK7zDCM6YP9BGqsdhBqg5cQiCL4sgyBFzCEFuLlCTld\\\\\\n\",\n       \"AL9Qw72FUER8SeLLEl/oEIbwQoiXQbwIvuhFL3JuKISh4aEBDyOA/2L7hx9+uHuZhmMBL9/YBh44\\\\\\n\",\n       \"/vOf/4wrYSY/6OAlDmB7eHh7zWte4365whcwBB28ROKFFuBl8oMf/KB7KICAA/DgJ8F8PLjhoQnH\\\\\\n\",\n       \"inXw8IiQxSz+9re/0Ste8Qr34omHG4TxIPwL+QtgycYxQrTDvvEgiZwPEmwf5efzBKEN6+Il+xOf\\\\\\n\",\n       \"+IR7kMR6eFiGCAVhTYJjxYPWiSee6F5YQ/BDZt48HHjwg+MN4ZoIm4JzCw+zcAzh3ElxFA/uOMd4\\\\\\n\",\n       \"8IJYgTr5n//5H9eW4ExB+XCe8BnlhxMM4AE5C7zY/+Y3v3HHCPET7QwPccgdxee/E9DW8UKPB/CP\\\\\\n\",\n       \"fvSj7oEdxwax0fdC3w6cb6zP1xDyi0E8wnnHw2AItFE8hL7pTW/yzofghGsEwijak3Q7oU2i7rHv\\\\\\n\",\n       \"O+64w9UrxGZ+IMev/gceeKCrc7QfLIv2jHqUQFDhc4xrGC9bCDXGucU5Rs45Bvt561vf6tZBSDJe\\\\\\n\",\n       \"Et785je7MkCIw0O1PGcI78V9g0G7wfV56KGHOgfBL37xCyd8//73v3fXRrt7Uaju8WJxwAEHuHbF\\\\\\n\",\n       \"dYH7li4/hKOXv/zlrt2hziGeIecbQjhx7Y4XXNNozwi/xT0R13GndYsXSbTHd73rXe5eiZdQvGxA\\\\\\n\",\n       \"5OPtjaedheoTIU14GcRLsb6XYBqW2XvvvcddJ4Yx1Wn3fYfnH1x/xxxzjHt2wncNwD0ZzyW4F+I+\\\\\\n\",\n       \"iesSyyJfKZycd955Z0sINb4D8P2P+z6EHjxP4LsY1zELXNgufijEPQT3Bp0s/ktf+pJLHwGRDYIH\\\\\\n\",\n       \"xHvci2UOPwhBENM32GADF8qOezq+F3GPxvh4nk3ygPLg/izv9XnrCOVBmfEcgR97IHThftqLHJLt\\\\\\n\",\n       \"nlkgIKJcuGe3y636l7/8peE0w30cSdPx3aB/cIQohu8v7ebFdybaG8Q7PKfi3GD/ODf4wQbRFu3A\\\\\\n\",\n       \"dxK+l3Ge0TZ94DsHdYx6zXpvMAxjipIYxmrmL3/5S1IoFNyw9957Jx//+MeTP//5z8nIyEjLsoOD\\\\\\n\",\n       \"g8nhhx/eMn3FihUt06644gr8NJP86Ec/akw777zz3LR//OMfTcsuXbo0mTt3bnLUUUc1TV+4cGEy\\\\\\n\",\n       \"Z86clukabA/b/d73vpcsXrw4efTRR5M//OEPyWabbZZEUZRcffXVwXIedNBByRZbbNE0bccdd0xe\\\\\\n\",\n       \"/OIXtyz7/e9/3+3ngAMOSGq1WmP6Mccc4+pvyZIlmeXcbbfdknnz5iVPPvlkY9oNN9yQxHGcHHbY\\\\\\n\",\n       \"YY1pb33rW91ylUqlMe2xxx5zy332s59tTNt///2TnXfeORkaGmpMQ7n22WefZOutt24p9wte8IKm\\\\\\n\",\n       \"bYbYfffdXb3nAe0EZd1pp52SlStXNqb//ve/d/s88cQTG9PQdjBNHgPvb88992yM4xxiuZNOOqll\\\\\\n\",\n       \"f5imb50YL5fLyd13391Ur5h+xhlnNO1/0003bbvN66+/3o0feeSRTct97GMfc9P//ve/N+3bV07s\\\\\\n\",\n       \"R14ru+66a3LwwQcnnYLrAutm8aEPfciV48Ybb2w636hTeR1/5StfcdMvuOACN37++ee7cb4+fFx2\\\\\\n\",\n       \"2WVumZ/+9KdN0y+88MKW6ThmTMM8yR133NFyLsD73//+ZObMmU3Xpb5GUX60rZe+9KW57kV87Pfd\\\\\\n\",\n       \"d58bX7RokWsbBx54YFKtVhvLnXnmmY17BoNrXt+zhoeHk/nz5ydveMMbgnUkjz/rHH/ta19rqv/x\\\\\\n\",\n       \"1O2ll17amIZj6+vrSz760Y921M5811CoPo8//ni3D3lvw36LxaK33RvGdITvO/Jemvf7LnTv+PGP\\\\\\n\",\n       \"f+y+83GfkHz729922/3Xv/7VmIZxLHvLLbc0Lfuud70r2WCDDZInnniiafpb3vIW9x3P91t+htp+\\\\\\n\",\n       \"++3dPY/5+te/7qbfdNNNbhzPD5tvvrkr79NPP920TflMlPfZJAT2ibLjWQD3m2uuuSZ5+ctf7qaf\\\\\\n\",\n       \"euqpHdcR33uxvRD6u4PhupHPrfpZIuuZBdvDPN/91feMiPMl77d4Rsf6cn941vF9p/7nP/9x0/Gs\\\\\\n\",\n       \"3Q1HH310y3eE5PLLL3fzzz333K72YxjGmomFEBqrHfwqDwcWfsVC2Bh+ccMvOPjlLK/dW7o+8MsQ\\\\\\n\",\n       \"fjWCnRuODvzy3w780oNfh+DceOKJJxoDctngl0uEsuQBNnn8GoYQIbg1OCwG1nVdTvyah33A5YSE\\\\\\n\",\n       \"5Xnt1QC/9ElLNUIC8Usr3C0hYB+//vrrnWMClnoGv9LhHMhuieFYgTtGWtbhBMGvjZgHnnrqKfeL\\\\\\n\",\n       \"K1wiS5cubdQZ6h7nDzZyHcIHR0ye/ED4ZRYupjzA3YGywvkk822g/rfbbjtvr0E66Sjqbzy9RUrg\\\\\\n\",\n       \"rpG/zKJeETY3nu3yudBJt/nX8fH0hIRrAb9W4rx0As5tu3PB83HedDuVDh78WgvnIR8fO+Pw6yyu\\\\\\n\",\n       \"Wx8IDcWvtmij8trEL7BwFelrE44wnZ8EuUyQ3Fw6FHG9oE0jf4e8LuVn/NqO6xLtI899xAccD/hV\\\\\\n\",\n       \"Gk4DOAvktYD2oc8ljknmXSmXy86Z1G375G3zOR1P3eJXedQFg3sdHG6ybONtZyEQdopf82UYJ84j\\\\\\n\",\n       \"Qmx1ri/DMKhn33e4P8C5g+9ReX/g1Aj6/oBnGZlHCzoQ3E64x+Kz3Abu0bi36vsq3D6458myAi4v\\\\\\n\",\n       \"nKFwieJ+qtNO8DPReJ5NfMCtinscUh7gGe6iiy5yoYHyezlvHXFZL7jgAvcctSqBEw713859xc+I\\\\\\n\",\n       \"cGpJpxS+H3R+NNQlQCSAhNdDGD+iGCYK3i/q2jCM6YcJWMakAKFfCBvCC+O///1vl/AcDx4IV0G4\\\\\\n\",\n       \"SzsQuoSwNISbwJoN+zoePCBK5RGG+GULDx1YTw6wVOdNJo8yQAzDw9ONN97obNAyDA52cQgdnH8K\\\\\\n\",\n       \"2+ccCJ0IWJtsson3y1znrZGwuIUXTg0ewPAgwGF9CGHCg4h84cdniAAQAwDs73goQnfGus4Q2gh0\\\\\\n\",\n       \"vUFcyANe7Pklux1Zx4WHSi3qQeTifBGy/rLqbjznpJvtoswQOyDCSmDHR7vJEipDIGwB1wPOH8LR\\\\\\n\",\n       \"/t//+3+ujbYD4lS7c8HztdCFPEgSiCII++AcH3jhQbgCwutwzSIfG/LEydwhuDZxbeAlQrezZcuW\\\\\\n\",\n       \"5W5jEF5x/fGLC8RZrMuCLAMxDSEvaCcQejk8o5PrM0/7xEsaQnn1uUSohs730Yv2CVBf8jx1Wrd5\\\\\\n\",\n       \"2vh421kIXMP4fkDIIIPPOEf6+jAMg3r2fYf7A8RofW/gZ4B2917k5cS9AL0y621AqPJto92zDadl\\\\\\n\",\n       \"yAobG8+ziQ98H+F5Dj8ycN4+iDLyh4i8dYTvGYQ0IlQaKSEQto6QxlUtZmXB30X6ezv0fAV0Diq0\\\\\\n\",\n       \"AQh83/3ud913OgRD5LMa7/dnCN6v/q40DGN6YDmwjEkFXurwsoIBDwB4yMEvXPzQEQKx9njxxa9y\\\\\\n\",\n       \"yIkC8QVfbHhIyPOAwMsg3l7myGHy9piFFzYIVD7w4IWEpHghO+2005zYhuOFGwWx/J08yIRcTL1K\\\\\\n\",\n       \"aAkRELkikGsJyaeRxwIv/+jqnuHyIldFqEce/YKZtzc41BF+aX3ooYdcPfWSieohLs85CT1scUJd\\\\\\n\",\n       \"TTcPZ3qbyAGHNohfgCHK4gET7e7b3/62e6gOAXET5wKiEtqFDwgUcFr5HnyzwPHBWXPllVe6XFv4\\\\\\n\",\n       \"1RYuRuRowTQIXmhnEFikgCHRL2ehNoYXCAjjuJ/gPoGXB9wnINYyl112mXOCoq7Q7iG24bhwb0HS\\\\\\n\",\n       \"8FXBRF7b3PkCX5ed1m2eso23nbVzYSG3zcMPP+zaIdoG8nQZhjFx33e4P+CZBs8rPvR3s7738jMC\\\\\\n\",\n       \"nJJw9fjQuSV7cf8bz7OJD/yYwM9zSBgPQQZ5vNDBBueZyltHqJtLL73UObIgiCHBPX4UxI+muE/i\\\\\\n\",\n       \"uDt9PlidcF5PnxCK7284/fk7ALkVkU8L9+2szns6gfeLc2IYxvTDBCxj0sJhd7LnlNAXPF6C8YCE\\\\\\n\",\n       \"L05maGiopZev0Poc+oWXuZAA1S14QcfLF8Ii5a+MvvDEifhVCcnyARJIa9BDDR4E4AyTL/wIf4Rt\\\\\\n\",\n       \"HglS8QAp3SpwjwC84Pe6zhBy8POf/9x10wzRIe9x6S6VMY3nd8JE/aqHX5N1mwTahYMy48EYv+5y\\\\\\n\",\n       \"JwMAQiLWl8fk2yZC1nw9DsFRBFEYAxw2EBvwy3KWsIDEswjxhfDjC9mCmwrCD9qAfoFB+WXvf9gn\\\\\\n\",\n       \"yoWXAQncNBjQ+xSEIiTtRfJ0lAvXJsLw8Ot1XgHUB34ZRigeXhrwEgLHJ0RaKcoh3AWOBQhpcjoE\\\\\\n\",\n       \"rPG2Edk++Zrhc4RQmIm632hQ9xCk8ULFbapXdduLdpZVn/ghAr/q454Aty3uOdo5ZxhGb8H9AWkd\\\\\\n\",\n       \"8MPbeL4TIYDD7QkBplf3OX5Wgxgf2uZEPZsguTjE+E996lMuWTrqpJM6gnMLy2GA4IUfBNFRD54B\\\\\\n\",\n       \"UU52m+nv8zyO6148s/B3lS/8Wz834hkW3xncw7YGoh4G1BU6WMJ3DH7E+PznP5+rLO2Oh/crn48M\\\\\\n\",\n       \"w5g+WAihsdrBl7fv1zXOkyOtyxBYfAIAfr3S20DvevqXKxZo9DbwKx3C1vBA4cvFAyt8t/Avi7Kc\\\\\\n\",\n       \"sFX7Xo5Dx9kNcJMgBBCilNw2HgTxK5kWFfBAhRdRvPBjwMu/DBGA2IdeHs866yyvWNJNnSF0FA8/\\\\\\n\",\n       \"EDQgnvhC1riHRgidKAsejmToGXo6gvDGPcd1AnqtBL0+B3jYxTmXIVWoO92rIJ8L9C4p4V955TFh\\\\\\n\",\n       \"m/hlV4KQDd32OWcFA3cTfoXWXX37HtpRvwgF03lTIBJDpECbRvisBuWQ1xNC8ZC7iHvTw6+o+rpF\\\\\\n\",\n       \"GwVcLuQxwbF87nOfa9k+ttXJOYLogV+B0XseQma1CMK/gsu6g0Cne9vq5BrFdQSnJXqllMeK/Cpo\\\\\\n\",\n       \"C+Npn50C0QehzMgNg+uGXw56WbfdtrOs+oS4jjYDQRtuMbjm7Jd3w5hYcH9AyPXZZ5/tvadk9STM\\\\\\n\",\n       \"91OEiOOHAXZ/dvuMsMcee7jnEHw36vsF318n6tkETnzkocRzBdxFndQR7r0a/V3H4pz8Psf9Gd+j\\\\\\n\",\n       \"3Tyz4DsYP1L66iL0jChD/hBGqVN5QBzEsxdykEqQBxPfHRI8y0G8a/cdkOdZnbn22mudg5p7vzUM\\\\\\n\",\n       \"Y3phDixjtYPwP+QVwC9aCB2DMwG/2EA0QfJJzpUAkFwYjgG8yCNROh5kkGQdLhGE/+ELDckmIXpg\\\\\\n\",\n       \"ObY5M/hyxkPVl7/8ZfcFDZcFXDt44MHLNV7y8ICEX/zx6+GDDz7o7N749ajbkJUDDzzQvcjCXQRR\\\\\\n\",\n       \"AM4EPPRg3/rBAseJ8uDXKrz8YRntLhoPp556qnsRRJglurHGAxaEPtQbHBL6AQU2eThh8BCGLrg1\\\\\\n\",\n       \"yG3wghe8wD2gICk1fvmESwj1j3Af/DI5HrBvOGTw8g/3Bh4ScQ4wHfkm4NLBr5UQuDAN5xPtBDmV\\\\\\n\",\n       \"kIgfZfj617/u2g+6B+8U/LKIdoQ2iFBWCHnIudFtd81oV8cdd5xr67DVo93jPGMfMpntrrvu6hyF\\\\\\n\",\n       \"eHDFAxyOC7nh8GAJ15B0NcHVgiS9eFFAslXUORxE+gUfx4OHerQtHA8ePOFchBspC1xDWA5CC64N\\\\\\n\",\n       \"7A/bWrhwoUsKi3wjqOt99tmnZV1cy/i1GecPv+AiLA/tBWF6AMeDaagPPLxDmMQ1ATGZRTwcO64X\\\\\\n\",\n       \"hCAgwSyuI5xz/EoMVxj2DcEzDygHwkowoA70r/M4RtxbIJC87W1vc/lL0MZxDeo8TqF7kQb3EbgI\\\\\\n\",\n       \"kecL28Wxc10gVLrXicjxMgWhB+AegxcP1BPOF16+UJdML+u223bWrj4RRshl8QluhmH0FjwPIdQa\\\\\\n\",\n       \"3y/4oRHfwRBUIIZgOr5n2Ckf4ktf+pJbF9cynhFwf4CYg+87XO8+YScLCCH4zsRzFJ7n8L0P4QVl\\\\\\n\",\n       \"wrMByjSRzyYIjcOPNXjmwHdx3jpCbkAIU/iOgdMJ3y34DkBIHcoJIMbAiYzvC9QL7p94/tKCUKfP\\\\\\n\",\n       \"LPhOgFMJzxTtErnjuwBlRJkQzo9y4BkRZeMcijJHGH4QgWiF72yA/K+41x9yyCGuHCg7ns1ZzMwL\\\\\\n\",\n       \"vg8AnpPwAzPWx/OTFNXQBiwHlmFMU1Z3N4iG8ac//Sl55zvfmWy33XauS3t0Ob/VVlslH/zgB5PH\\\\\\n\",\n       \"H3+8qYJuv/325EUvelEyMDDQ1C0wulN+xzvekay77rpuGwcddJBbFt3+6q6Dzz777GSLLbZICoVC\\\\\\n\",\n       \"S9fE+Ix10b1zf39/suWWWyZHHHGE60I5C+7muF3Xwb/97W+TXXbZxW17s802S7785S8n3/ve91q6\\\\\\n\",\n       \"Tl64cKHr0nrWrFlu3otf/OJgV9ly//JYQvztb39L9t13X1eHs2fPTl796lcnt956q3fZv/71r267\\\\\\n\",\n       \"URQlDz30kHeZe+65JznssMOS+fPnJ6VSKdloo42SV73qVcmvfvWrxjKhcrcD5/XEE0903WHPmDHD\\\\\\n\",\n       \"1dtOO+2UHH/88cljjz3WtCy6U0b34H19fcnaa6+dHHroocnDDz/ctAzawuDgYMt+0PW0vh2im2Z0\\\\\\n\",\n       \"NY72KLun9i2LcXT7rPG1P3RJjWPAdrfddtvkJz/5iXebo6Ojycknn+y6DEe9LliwwB237BYcVKvV\\\\\\n\",\n       \"5LjjjnNtH3WE9osurvW+P//5zyfPfe5zk7lz57pzj+vtC1/4QjIyMpLkAe3zqKOOSjbZZBNXHuzv\\\\\\n\",\n       \"Na95TUv34fJ8X3LJJcm73/3uZK211nLXJc7Jk08+2VjuuuuuS9761re6beK8zZs3z7Ud3/X2ne98\\\\\\n\",\n       \"x50PlB3XBdrExz/+8eTRRx/N7Apeg7aPsh155JHe+eecc47rZh3lQR3hWHznJ3QvCnWFfuaZZ7rt\\\\\\n\",\n       \"oe7WX3/95H3ve19LN/C4znfccceWMuku00NgGeybr1lc39gezttVV10VXK+bukWZ+f6Ut511Up/M\\\\\\n\",\n       \"8PCwa0e4N69cubJtXRjGdML3HdvJ913o+sZ1i+cU3EdwT8Q1iHsFvpueeeaZtt+BAM9xmIfvMNz/\\\\\\n\",\n       \"8Kyw//77u/tOu2co3EcxHccn+ec//5m87GUvc/crHCOeq84444yOn01CZB3PZz7zmabnrTx1dNFF\\\\\\n\",\n       \"FyWvfe1rkw033NB99+MvvvvuvPPOljIfcMABbjv4njjhhBMaz2Hy+c73nRB6ZuE61PfUEL/+9a+T\\\\\\n\",\n       \"7bff3pVhhx12SH7zm99494fzWiwWkx//+MeNaffee697nsezM57X8Cz2kpe8xD13dkKlUnHvAOut\\\\\\n\",\n       \"t577LpPt9bbbbnPjnW7TMIypQ4T/VreIZhiGYRiGEQK/5MOZhV/dEX5pGIZhrBrgPEPPvdyDMAMn\\\\\\n\",\n       \"/5133unyYK4q0AkL3GwIIzQHlmFMTywHlmEYhmEYkxrkIUPuGoQSGoZhGKsf9BB+9dVXu16qVwXI\\\\\\n\",\n       \"sYiebZFew8Qrw5i+WA4swzAMwzAmJVdddZXLP4a8V7vvvrvL22UYhmGsftAbITpzyQtyzyL3ahbz\\\\\\n\",\n       \"58/PzMmpc3EZhjH9MAHLMAzDMIxJCRI2Iyk9Eja3S0BsGIZhTF4+/OEPu85bsrDMNoZhtMNyYBmG\\\\\\n\",\n       \"YRiGYRiGYRgTBnrFffTRRzOX0b0DG8ZEg5xq6KUdedXQK/z555/vehnNAjnhjj32WNf76YIFC+hT\\\\\\n\",\n       \"n/qUyxVnrBrMgWUYhmEYhmEYhmFMGDvssIMbDGMysXz5ctp1113pne98J73+9a9vu/x9991HBx98\\\\\\n\",\n       \"ML33ve+ln/70p3TRRRfRkUceSRtssAEddNBBq6TM0x1zYBmGYRiGYRiGYRiGMW1B5wDtHFjHHXcc\\\\\\n\",\n       \"/eEPf6Cbb765Me0tb3kLLVmyhC688MJVVNLpjTmwjElHrVZzFuNZs2ZZLyOGYRhGIzfK0qVLacMN\\\\\\n\",\n       \"N6Q4tk6UVzf2XW0YhmH06rsZHQKMjIz0rEy6p8q+vj43dMsVV1zREuoK59VHPvKRrrdt5MMELGPS\\\\\\n\",\n       \"AfEK8cSGYRiGoXnooYdo4403topZzdh3tWEYhtGL72aIV5tvOpMWLqr2pEJnzpzZ0mPlSSedRJ/5\\\\\\n\",\n       \"zGe63vbChQtp/fXXb5qG8Weffdb1sjkwMND1PoxsTMAyJh1wXoHttjuCCoXy6i6OscYStRmfLNua\\\\\\n\",\n       \"KJIerjtZtmVMZ6rVEbr99h80viOM1QufhxfQK6lIpTXydFzwzI9WdxEMwzDWaCDcwHjQzXcznFcQ\\\\\\n\",\n       \"rx64djOaPas7h/WzS2u06Z73O0Ft9uzZjem9cF8ZkwMTsIye88gjj7j44D/96U+0YsUK2mqrrej7\\\\\\n\",\n       \"3/8+7bXXXrnWZ8snxCsTsIzuRKK4R9vqpei0qkKfaj3cVtIj4YnLZCKWMX50WICxes8DxKtitGYK\\\\\\n\",\n       \"WPLlxjAMw1i9380zZ0Vu6IZa/Zkd9/eJuMfPnz+fHn/88aZpGMe+zH21ajABy+gpTz/9NO277770\\\\\\n\",\n       \"kpe8xAlY6623Ht1111201lprWU0bq5BuRKduBavJkpsn7qHApetkvIJW3EMxzDAMwzAMw5gqVJMa\\\\\\n\",\n       \"VZPutzGR7L333vTHP/6xadpf//pXN91YNZiAZfSUL3/5y85GCscVs/nmm1stG6tYsBmPABWtJmdW\\\\\\n\",\n       \"L7YzHlEo7nI7XOZO9xuJfZuYZRiGYRiGYawekCvr7rvvbozfd999dP3119Paa69Nm2yyCR1//PEu\\\\\\n\",\n       \"uuhHP0pDzt/73vfSmWeeSR//+Mfpne98J/3973+nX/7yl65nQmPVMFmsAsYU4be//a0LFTzkkENo\\\\\\n\",\n       \"3rx5tPvuu9PZZ5+9uotlTFlY/InGKQbJ9fW28iw7nm13so1O6MX+uqmLiap3wzAMwzAMY6pTo6Qn\\\\\\n\",\n       \"Qydcc8017n0VAzj22GPd5xNPPNGNP/bYY/Tggw82GTMgVsF1teuuu9L//M//0He/+13XE6GxajAH\\\\\\n\",\n       \"ltFT7r33XvrWt77lLv4TTjiBrr76avrQhz5E5XKZDj/8cO86w8PDbpDJAA1j1enwUQ+WyxJ6erX/\\\\\\n\",\n       \"dtvI84WdBPYn19XzkwlyYvG6vP7EWr4NwzAMwzCMyUvN/et+G52w3377UZKEn2F/8IMfeNf5z3/+\\\\\\n\",\n       \"M67yGd1jApbRU2q1mnNgffGLX3TjULBvvvlm+va3vx0UsE455RQ6+eST7UwY4xCuxhsqGPVYGItW\\\\\\n\",\n       \"8TH4wJdvuy/t0L6SDuqhlqNexxvSmOcYDMMwDMMwDMOYjlgIodFTNthgA9phhx2apm2//fZN1ksN\\\\\\n\",\n       \"YoufeeaZxoBuTw0jO39Sp8JPJyF0vP1224rbLKuX8Q29DiEc7/70Mlnlylv28YYWTkTdGIZhGIZh\\\\\\n\",\n       \"GJOZapL0ZDCmNubAMnoKeiC84447mqbdeeedtOmmmwbX6evrc4NhTIwg4vscWs63TJ5poWXyLNdL\\\\\\n\",\n       \"Og3/8y3H4YjtthV1MK+TMMPxHoNhGIZhGIaxpjKeHFa+bRhTGxOwjJ5yzDHH0D777ONCCN/0pjfR\\\\\\n\",\n       \"v//9b/rOd77jBsNYtYbRvGJXHqEp6lHZVrWryCcs+QSiLAGKl/EJVlkiVta28sBlreZc3jAMwzAM\\\\\\n\",\n       \"wzCMqYwJWEZPec5znkPnn3++Cwv87Gc/63pqOP300+nQQw+1mjbGwXhCybLcVHKZaJzz4h6JWRMV\\\\\\n\",\n       \"wV3LuY+aOKZCYL5PqAq5tvLkv8ojeGm4bJYfyzAMwzAMY6oC91TVHFhGG0zAMnrOq171KjcYRneM\\\\\\n\",\n       \"J8+V/NvJMlmhhiFBa7wCWZ71u6GdMMYCU7uE7lmiVJarqp1I1Y0jC8dmSd4NwzAMwzCmGhZCaOTB\\\\\\n\",\n       \"BCzDMCYhnea6kut1ss1ogkSs8eTqGq+g1U5cCq0TclVpkc8neOm8VtE4Qws7zVPA9WT5DQzDMAzD\\\\\\n\",\n       \"MAxjumEClmEYa7DzKo/wk9VLYEiUylontI9OXVp599mOThxJiSdkUIbmhdxRcQfhhaHQQl8584Ye\\\\\\n\",\n       \"SlAWCyc0DMMwDMOYSvSiF0HrhXDqYwKWYRhrsHiVtZ2s9XwOK986IVdW3MH+2h1TntDHLPL08MeC\\\\\\n\",\n       \"T16RrRNBS4tZ7JDS5dHr+MjrrrJwQsMwDMMwjKlErQeJIizRxNTHBCzDMCYBnYo4WctHXQhRvvXz\\\\\\n\",\n       \"9FIYWi60j3brdEKnydPz5MPS9RUKIwy5rNrluYoypnUiYuUR7wzDMAzDMAzDmAqYgGUYxiQhbwhd\\\\\\n\",\n       \"O9EnJMb4RKysHFbyc9wjF1ee5btBuqE0vn35BKckEDIoCeXcCuXF0qJUSKTKkztLYkndDcMwDMMw\\\\\\n\",\n       \"pgLVHvRC2O36xuTHBCzDMNaQsMEs4aqTPFd6f1nOqU4Su/vG24UW9pp2gk7Vs7z8og85rWJPKKJe\\\\\\n\",\n       \"xrdcliiVFVKYFYqosZxYhmEYhmEYazrVJB263YYxtTEByzCM1YAUQNqJV+2WC7meQoJTSHRql9cq\\\\\\n\",\n       \"j6AV50wS36mLTJP17Zwl/BTU9JBwJPdTy5EvS4fycV0kHeTHCiV5l2UJIes+bzJ4wzAMwzAMwzDW\\\\\\n\",\n       \"JEzAMgxjFZNHwJHLyr+h+VnLR20ELDkva/tZYYR5Qgo7ydeVR8DyiTTsngoJP7WAoJXkzFUVypfl\\\\\\n\",\n       \"m+4rG2WULSusME9urHZ5twzDMAzDMIzJiiVxN/JgApZhGKuYTkPn8jivspxR7fJSSWeV729IRNPr\\\\\\n\",\n       \"tQsn9B0HBKReokMESQlUWrDS87XjipSziZSQxGGDupdDX4L3aoboJYW3kBMrryDF2/HVhWEYhmEY\\\\\\n\",\n       \"hjEZqVFE1Vw/cGdvw5jamIBlGMYqotOk5XlzXo0nz1WWe0qWU4cYhsSsQoehh1mOsrxfvKFQvFDS\\\\\\n\",\n       \"dT1Njlc9oX+8nm9/nCze51DTTitej+tIi11y+3nCCfMKWYU2Se0NwzAMwzAMw1iTMAHLMIxVQCfC\\\\\\n\",\n       \"TDSO8EC9n9AyUpgKrZMlWsnpukxRm/23CyfMmh5aNsmxnVDS9SggLvE6jC8xe0jk0uWSidyz8mPp\\\\\\n\",\n       \"ZULbD4UfhuhU9DIMwzAMwzBWB7UkHbrdhjG1MQHLMIxJJmDx8u2m5Qn7azddzpMCU8iBlbVeSPjy\\\\\\n\",\n       \"ldG3TC/whfLpxO1yGe2qkmVjkcsnZsl9aJFKOrOyjk+KaPqvXLddXq4sTMAyDMMwDMNYE6j2IISw\\\\\\n\",\n       \"2/WNyY8JWIZhTHKhKyR+tVsuJBa1E5980/OEFPqcVtp11a6nw25g8UhuU4fQsfAkw/TketJlJd1W\\\\\\n\",\n       \"vB0thPF8nwjWLj+Wr5dCOZ8JubV8yxqGYRiGYRiGMVUxAcswjAkmj9Mo6jABe8g5JefnCQvMcl35\\\\\\n\",\n       \"8lrx/to5t0L5sgpdOtM6zYklE5lLN1bNk2uKRSrpvvIJRFWPaBW1ybml82PxZ1nPev9asNJusLzh\\\\\\n\",\n       \"hFqwMwzDMAzDMCYb5sAy8mAClmEYE4QvH1RoOfmXOhjPChX0CVhacAqtE7URvdptO8uRpZ1hWXUS\\\\\\n\",\n       \"IiTYaAeUb54O8dPOrZDTijwCkxyX5e7EIRVyYPm2oUU1X+ihDz43PpHPMAzDMAzDWN3UksgN3W7D\\\\\\n\",\n       \"mNqYgGUYxgTRibsoK0TQJ3D5nFd62U4FpDgQ8hcSrnzzfEniO+mhUJc9hE+I8Qkzoe1IkUi6pWS4\\\\\\n\",\n       \"n5wnnVuyfLVAeCAfW1W5p+RyUQ6XlS6zT6hqJ17pujAByzAMwzAMwzDWREzAMgxjAtChciHahQjK\\\\\\n\",\n       \"afKzz+kk9+0L8ZMuqZDQ5ROi9LhcLkvAygpT5HK2q4s81DLCBkNhfDL8TwtYPC5D+moq5E/n1iJP\\\\\\n\",\n       \"b4ZS+JLLcN1IcUvuW+7PJ1DlDTH0weWXdWQYhmEYhmGsbiyE0MiDCViGYawG11VomVA+K9/8dtN9\\\\\\n\",\n       \"YpUWngoBcUt/Ds3jdVk0ywozDIluOlyxXR35hCMp6BQCIpWcLhO0J3VBJ1Eikxau5Lo6bJA/S2FI\\\\\\n\",\n       \"553S29PJ5uW22oUThgSrvC4rCyc0DMMwDMOYTFQpdkN32zCmOiZgGYbRI0JCjG85+VdPDy3jc01l\\\\\\n\",\n       \"iT9agPKJT5RDqNKJ2XWoYaGNU8u3nzz1FvoCr7URsPR0uV0WqmQIII/Lr3wZ8id7JZTilfwsxykw\\\\\\n\",\n       \"n7fL833nVk/naXIZPW28ObH0tgzDMAzDMAzDmMyYgGUYxip2X/Gy7dYNCTohZ5NcJpRo3Scq5RWm\\\\\\n\",\n       \"4i62ocvqO968YZeFNr81afeVrwdAnsdCj8/JJMUguR1ejx1VMtxPOqnkuHRdyVxa0gnmC//zCWta\\\\\\n\",\n       \"sNLH1k68ylrXMAzDMAzDWB0kPUjijm0YUxsTsAzD6BItImUtJ//mDRsMCT+h8EBqIzRl5bnSQpSc\\\\\\n\",\n       \"x8KRnie3pfchyynHZZl80ztBJ2D3Ted5RZXjSrqrpJNLzquq+Vq04n2E8mNxLiz+LMUwFrFkb4Y6\\\\\\n\",\n       \"2bveZp5wwrwOKy6zGc4NwzAMwzBWJ5YDy8hDd0GmhmEYucgTNsjjvvA+vWyot0CfGBUal8KUb+B5\\\\\\n\",\n       \"RTHOn3m6HEr1IbRMqc1QHOfQyXZluUL7lcv46iCrvkIhmKHxUEinr93o6Xnakm+6D/u1zpjefOlL\\\\\\n\",\n       \"X6IoiugjH/nI6i6KYRiGYRhGEHNgGYaxisgSq3xigy8EUH+W49LJlJX/SgstIedVuxBCuY9Cxv58\\\\\\n\",\n       \"ieKZrJBCX5353EQ6ZJCRziafk0q6njg3luwlsOb5HIveA2W4oHaByXBDmQdLlkc6rWS4ou+4ZX2E\\\\\\n\",\n       \"cmJ1E05oGNOXq6++ms466yzaZZddVndRDMMwjGlMNYnd0N02elYcY5JiApZhGF2g3TOhZTTtHDTj\\\\\\n\",\n       \"CRukDIFKL58lXrHoFBK22glfvmVD4YSFHPUkBR/ft7IUrTgUTvc2qEPxZBigzoXF+8xaVobc+QQr\\\\\\n\",\n       \"X+4tmfdKLi+PXYpcMsE8eaZ3khNLhxhqZPiiYUwfli1bRoceeiidffbZ9PnPf351F8cwDMOYxtQo\\\\\\n\",\n       \"olqXAWI1++FyymMClmEYEyhedbtdLf4wWiiS09gRRRm5q/IIUsWMeTpkLu92dTnluD7GPOgcViUh\\\\\\n\",\n       \"xLCI4xOhfNPk52rGvIooa97tyvJyziktcLHIJIUr6f7iZSdKbJLCnWFMD44++mg6+OCD6YADDjAB\\\\\\n\",\n       \"yzAMwzCMSY8JWIZhdEje3EJZYWDabcWE8hzpz7FnWe24ksu0CxPMCgvkaUU1Tzu2QvsJ5XzyHVNW\\\\\\n\",\n       \"PelwQUaLVdJ95UvM7hOXWLCSYhELRRUlJEnHlhaZpDBVa/NZ/uXyy3DHUHihXFaGMYaSvFOb6aE6\\\\\\n\",\n       \"Nw+6MbX5xS9+Qdddd50LIczD8PCwG5hnn312AktnGIZhTDcsibuRBxOwDMMYB3mdQu3yOmWJVD5x\\\\\\n\",\n       \"R4tAsjxaJMrjkPIlH5eilBSstGilnVpcDl/uLL1tXW5fnfocbj7nUVYvhFqskqIWi1a8r4oqoxa4\\\\\\n\",\n       \"WCSS25PHKfeVR8SSx131CGdZ4YSy/ej64ek+ASuPKGUuLGPq89BDD9GHP/xh+utf/0r9/f251jnl\\\\\\n\",\n       \"lFPo5JNPnvCyGYZhGNOT3uTAsh8gpzomYBmGMQH43EM+51WWSEWBULtQOF4ewcoXFqiFKT1dC1ja\\\\\\n\",\n       \"tVVss9+i53i0M0sfKx+bD/nFrPNc+UL4SIQFyvlFtawOCWSBi8sqc2BJQYy3S2KbMtwwJGLJ8sv8\\\\\\n\",\n       \"XFzfumxy/5QhbkmHlnasmbvKMMC1115LixYtoj322KNRIdVqlS699FI688wzndOqUJA5+oiOP/54\\\\\\n\",\n       \"OvbYY5scWAsWLLAKNQzDMAxjlWEClmEYHRCPM7wwS7zSgpTPkdTOdaVD+LRopZ1bUozKEqXk/EJA\\\\\\n\",\n       \"CNOimA41bCeuUY8cWPw5lItK9zZYyUjkzm4sFolYKOIQQZ4fKQeV/Cvrl/fHxxDKiSWPTzu7uE6y\\\\\\n\",\n       \"cmJpgconWMk6Df1KJ0MjDWPqsf/++9NNN93UNO0d73gHbbfddnTccce1iFegr6/PDYZhGIYxcUnc\\\\\\n\",\n       \"o663YUxtTMAyDCMnIXEqtFwe8SprH/pzaJoM35Oilk8s8jmsfPmsfMsU2whY2nGl99dOwCrkqGuZ\\\\\\n\",\n       \"64rRPQJmJVPXgpDOhaVdWz7hh91b1TYij9yOL3xQu7J0PqssMZTnZwlQ7USsdrmw2u3DMNZcZs2a\\\\\\n\",\n       \"RTvttFPTtMHBQVpnnXVaphuGYRjGqgA9EFbb/ljebhv23DbVMQHLMIwcSMGhU9qJV3o8FCIo5+cJ\\\\\\n\",\n       \"G9RilHRUhQSskDBVVCGFPK6XK3TQk6E+tiw3FrVxXZGnJ8BQD4I8zs4nmc+KXVpye9KNxO6r2OPE\\\\\\n\",\n       \"kueSp7FDKnQMPhFLTuO6kMekRTiNz2E1HiFKHrc9DBmGYRiGYRjG6sYELMMw2uALZfOR5awKLR+3\\\\\\n\",\n       \"EbakKynOCBuUoXpaRGonUul5MlywqBxYPkHLt30un68sITGLyBO1k0m1Yb7KEq1CAhZ/5tDAovgs\\\\\\n\",\n       \"c1CxYMWfWfjinUsBjAUtnsfblMhwRBn2p8MJWTziZXieFJNY3HK116HY5HNm+dChjYYxNbn44otX\\\\\\n\",\n       \"dxEMwzCMaYwlcTfyYAKWYRg9wCdc+UIHffN8033r6fBA/VnnmwoJTFrskoNvWqGNgKX/6uXGylQo\\\\\\n\",\n       \"pIJdHEduwLQoIooijONv/UjbGLBqdS0FHa3gM/4mCfafUK0WU62WijLVqnZkSWFKCknSjeUTj2KV\\\\\\n\",\n       \"30qeGylm6VxUvrBPme9KjvP6MpxQClTSTaVdWDrs0Oe84m2Nt3dCwzAMwzAMYyJDCDF0tw17ppvq\\\\\\n\",\n       \"mIBlGEYG3TivfCKUFKh84kYo71E78Uq6srSYJUUrnYzdJ1RJx1U7AcsnfI05vKIovcVGUexEqmIx\\\\\\n\",\n       \"Fa4gULFgxX+L4m7czok15rwiqlQgYkV1EStyghbmJ64b4dj9TZJUEML8MZGJRSkZusciFancWL7z\\\\\\n\",\n       \"rMUstwchCPlEJBm6yH/luZSCmRSxZH4suR+9X43OY6XFKl+4YQgTugzDMAzDMAxjdWIClmEYGcTj\\\\\\n\",\n       \"FK/0enIZX9igDCeUy4VyRrFgJJfT83y5rLRYJef7BKuseSHXVuq6gmgFxxXEKAwQqPCXxSv5mcfZ\\\\\\n\",\n       \"gZVXwIJGhc8QrXgYG4+oWo2cwFWtFqhaTahSkWF2MhSQ3Vf8Wc7jupO9E2qxS7rkeL1EJX3ndaUr\\\\\\n\",\n       \"TDqs8uTE0mIWb0/D4povTFBuQy6vl9PzfYKdYRiGYRiG0QuqSeSGbrdhTG1MwDIMowf5rLrZjhSu\\\\\\n\",\n       \"tEilc17pz1Kk0nmndHifT3wKCVZ6uXbz0v1EUYFKJTitxkSpcnlMpJKfWcBi4aobB5YUsqSgNTIi\\\\\\n\",\n       \"P0PQwueCW2d0tEBJIoWrihKtpLgl3VpZ86Sjijz5sHyfZe4sGX6oQwylWCWFsCwhi9qED3ZKr7Zj\\\\\\n\",\n       \"GIZhGIZhSKo96IWwas9oUx4TsAzDUPjyUPmIxjE9FCLoy3Plmy+dWjp8MJS4PeSU0snZZQ4rn/uq\\\\\\n\",\n       \"pOaPLQ+nFUID8bdUSsUoHjDOYpUWsFi84vnuCOvjWaQhgunnsZDB9K8UsLB/no/PlUrqyEr3x4IW\\\\\\n\",\n       \"/sq8YSwYccL20UDIJuPLPUU5hB7pqNIOLpnjKhT2JwUzPZ9zaYXKEAoHbBcm2EnIoWEYhmEYhmEY\\\\\\n\",\n       \"vcQELMMwunBfRR2KVL68WMxYb3ztt6/zYOkwQu3C8uW50kKUdFrJeTy91OK6SnNbFZtEK3zmcf6s\\\\\\n\",\n       \"BSztvmIxyx1hPS9WFpy4HbBo5XNhSQFrdDQdUvdVur9KJXZDmicLebRkEncWiGS9y2TtofxTFbVM\\\\\\n\",\n       \"JWMdKUbqnFd52oIOB8zKdyWn+QS3vDmu2oUbGoZhGIZhGJ1SS2I3dEONH5CNKYsJWIZhZOSh6ibv\\\\\\n\",\n       \"FS/L8+RnhkMB9Tqh/Fd68IULSkeVdFgVPeNSqCpmCFjllmWkYNXfPyZaQaTS7iselw4snQeLP7fL\\\\\\n\",\n       \"gyXzX+mQQZ0PCyGEEKtY5GIBCwPPw+ehociFFCJHVqVSqotOPKAgI56cWKMqpFCeR510ncdlCKGc\\\\\\n\",\n       \"XhShjBIpRtWEQ0zPkwKbDClkFxYLYlqw0qGHPK2de4xFUtkTomEYhmEYhjFeLITQyIMJWIZhdOC6\\\\\\n\",\n       \"inLmscpa1re/UO6rLPFKzpM5sEKuKz2UlEglx0vKdZV+huMqjmPq66NGrit8lqIVPmOQ7isWsaQD\\\\\\n\",\n       \"C/O0mKVDCKUbS7uu5GcpWrFgxQJWmsS92YWF6WlIYTqgLMPDaXjh6GhCw8OFes+GMoSwKj7zOasE\\\\\\n\",\n       \"wk5lEnffOCio7XDYn0QneGcRi3tIlKGG3A6zxCdfCKAvqTsvm6dnQrktwzAMwzAMwzAmChOwDGPa\\\\\\n\",\n       \"kzfnFdOp0OULK9TTdD4r8ohYvsGX5D0kWGlXVihROw8sYqVDoVCo9yoYOccVC1b4zAIWhCApYOGv\\\\\\n\",\n       \"7IGQxyFKydBCDiVkwUrmw/IJWCxWYVyHDkKgknmv8JdFLBauWFRjBxbvI50O4QpiVlTPj6XPlz7H\\\\\\n\",\n       \"MpG6FI+0kKRFHumo4nMptxUF2oQvUbwshw4hjALT27XfTsIJfcdnGIZhGIZh5KXWg14Es7r0MaYG\\\\\\n\",\n       \"JmAZxrSnu1jz/GGJIREkK3F7yJUlXVc6pDBr0Lms+HPscWCNhQ1GUalJpBoYGPvMDiz+LPNfcWih\\\\\\n\",\n       \"zIHFApLsqZB7INRurBDSdQVYoMI4f2ZnlRS2eF8srg0Pj03HflnQAqOjELEKNDSEHFn6XMrzKfNZ\\\\\\n\",\n       \"6dBBV9qAwJMIZ5ZsIzJnltwfhwL62giLZVLEksKWdmr1Ep0fzDAMwzAMw+iUGsVu6IZu1zcmPyZg\\\\\\n\",\n       \"Gca0xJcwvR0hkSnktpL78E337Z+VG93ToC/nVSTyWfmSuEtXlQ4TbHVYtea56nPhgnBdQYhi1xUL\\\\\\n\",\n       \"WNJlxSIWD77cWL4QQl8OLOnACiFDBnUOLF8IISduRzlZpMI8HiBk8TyMS3dWsRjR0FCJqlWEFcpE\\\\\\n\",\n       \"65wfi0UnFp5kmGGo3dSU+MQ5sLCN0MEnnlBCLRpFgUTwsldCPZ2X146xTsMDCxlCm2EYhmEYhmEY\\\\\\n\",\n       \"3WIClmFMOzoVr0I5rbLEq9B2dOiXDgfk8mnxK5QLi6dpl5XPjSWFK+3I0oJWiYrFmEolDGnIoBSs\\\\\\n\",\n       \"WMDiAePSgSWX5bBB2TshhxNmJXTPol3idnZgYR8saMm8V/jMDiwZ5sjiFWARKw1tRJL3uC5q9Yn6\\\\\\n\",\n       \"59xVUuyR41LIkS4p/uqRApQUmaRrSk6T7USKWRRYLktI0gKVT7AaT4hgnn0bhmEYhmEYkmoSu6Eb\\\\\\n\",\n       \"ul3fmPyYgGUY0wItNHWzfmha1MFnXw4rX6igdm6F1pWCVSiUMG6T92rMoRXHBSdc9fVFTWGC7LZi\\\\\\n\",\n       \"QQsDu7OkoCUFLBlSKBO783RO2h5yYHGvhLJXYO3A4qTuHDYoE7aPOanSAeNSrMJfmXuL982fMQ/b\\\\\\n\",\n       \"hoiFOkRerNSIxaF6ReU8konXCwEBS4YHSleUFK2qnpxXcj7vw+e60rmvQjmwdK4rX+6rvPmw9DqW\\\\\\n\",\n       \"H8swDMMwDCMvNYrc0A3drm9MfkzAMoxpwXh/jcgTNpi1v6zcVj4nWCjnlRSgOP+VdmP5XFgcZqhD\\\\\\n\",\n       \"CWXYoPxcciGDcF5pkWpwcMxlJR1YLGBpoUuGF7JYxdN9YYQ+B1ZWL4TagSXDB9mBxSGEmA63FcY5\\\\\\n\",\n       \"TJBDBzHOwhpPZ8ENn1esqJ8ZV7Y0wXu6H5/7TgpHtbogyOeBBamiEIQ4ZJDdU1Sfz+GIkiTDfSXb\\\\\\n\",\n       \"Fc/Xziq5XFa+ql6EE/J2GMuPZRiGYRiGYRjdYgKWYUxZurHQhsIGQ8vqcL9O8l75nFYyl5VP0MoK\\\\\\n\",\n       \"G+RQQN3rIIcJlsVnHtLxUgnOq1R0gmClBSwZMsjCFKb7HFgyN5YMJ5S9AOoE71K04p4JJbLHQRaz\\\\\\n\",\n       \"IDJlCVhStGIRSw8cRshhhdxLIj6zQ4xFLneGYohYBbfd5nMoz59sA+zUYmGrcUSqHVWViCQFKc55\\\\\\n\",\n       \"xdN074VZCd513quCELl8gpWPbhxV8lq00ELDMAzDMAyNhRAaeTAByzCmFN2GCsr1QmGDne7D57LS\\\\\\n\",\n       \"AocMCZTL8d8oZw4sPU26rrToxW6gdIDzKhWlEDo4JlzxX0zj6TNmjAlYmIdxKXbJXgkxsPuKP/NQ\\\\\\n\",\n       \"KCSuv5UoqVEhSoiSVJmKqkSx1FyYhCjGYlx3UUzFckRJlPbaAlcUJ23HAAEK5WCXFZcDotXQ0Fg5\\\\\\n\",\n       \"3KaTsR4J8ZnDBzlvOzvB0l4KI4rjhGo17FOGEFbrdZsowYnPhWwTPB3UVL4rXz4rGVJIgZ4PQ/mv\\\\\\n\",\n       \"8oQB6tBCPibfMp2GFYaumYnoFdEwDMMwDGPNo4pn2S57Eex2fWPyYwKWYUwp8oT35d1Ou+k+oSvk\\\\\\n\",\n       \"sPKVL5TvSru5tIAVcmpJYapZnGoVswqenFepgMVCEw8sXnHYID5rwUqOS3dWc0+ECQ24ngwTKsDh\\\\\\n\",\n       \"VEzSSH8oRM46VbdRsc1KJr2StcmWqPrfEpSlYomSOCbIYaOVyG2qUonqrqo05A+CFYtZ7LJiASvN\\\\\\n\",\n       \"cTWWFwtF4nBGfE4TuafL8ThcWBCzkgS9E3LpOKk7C1jyK4aPhwUqmR+rEnBW6d4KpViVlReLPCGN\\\\\\n\",\n       \"WWF87XJl+ZYdLzL3lwlYhmEYhmEYhpEXE7AMY43Gl0dqPHSS1yq0vBaXfNsP/SoiHTk6TJDHSx53\\\\\\n\",\n       \"lVxGilSlYJhgcwhhkYrFNGE757LiAUIUi1EcUijn8WcZbqjzY/G4E7DQ0x+Emmo9KdXKuk2K4/10\\\\\\n\",\n       \"d4IY96GzvXN8XxxTVCxSmRNYDRRpYKBIo/XdrFzZHELI4YIsWqGsELkwYLP8GYw5xprzdSGhO8Qs\\\\\\n\",\n       \"hBOmzizZQ6GvXTC6p0IZXijzV+EcjQpBzFWACgmsdSAUyfxcPlFMlo+34du+bP/jFaK4zcp9Wnih\\\\\\n\",\n       \"YRiGYRjTk1oSuaHbbRhTGxOwDGONQ7uUerG9vPvLGs+aLvfjy2kl19H5r2RooHRPyXlFMc2XsF33\\\\\\n\",\n       \"OJgKWIVCwTmU0NsgXFRSwMI4C1VSzMJfCFYsVPnyY7Gw1d8PT1SV4lqFoiEkohqmiBNVcXIqFqsw\\\\\\n\",\n       \"7kty1XI6VJKsegKriBNX1ceTUokK5T6KSyUq9RWpr6/oBCmIVvjLOa+wW7kqJ5mXQhXEK9kjoW4f\\\\\\n\",\n       \"6fQCVaslIejIZO2JEqeKQkTiz7wcizpVT84rFq+0sORzYen8WjosUa6rRS4ui2++96T0wE0lrwVz\\\\\\n\",\n       \"ZxmGYRiGMb1w6TC6DAHENoypjQlYhjHpiSYgTDBPHqs8IYI+8ardNOnQCYUQ6n3r3Fe+pO5S0GJn\\\\\\n\",\n       \"ls6PNSZsxXFMxWLkBCx2S8lcV9JhJQUsKWixYAWxi3NeufxYpRqVSgmVqErR6EgqWkEpgg2KuwXk\\\\\\n\",\n       \"LOucdR3TxiNgcSZ42XVgsejcWNEAtl2muFSmpFQjKheoECG0MG4kZ5chhJznis1fsgdEBsXmcayX\\\\\\n\",\n       \"jkf1qMeYajXOgaVzYvG50NNlzivZI6Gcx44rKT7ptiLzZLlSKzEqywUmp8m27evJ0JcXSzNeMSvr\\\\\\n\",\n       \"urZwQ8MwDMMwDGN6YwKWYUybvFa+7XayzzzTtLjA+PJY6XEddsZ/Q+vKXFe6x8HQ59R5hZxXhUKx\\\\\\n\",\n       \"pbdALVhJ1xU7tNiBxevgc5rUPXHjMweJClGVCggVXDHUHLcHAYvFK/zlzzxwkikWtXxwF4bSJsUx\\\\\\n\",\n       \"fpx4iz9jm+UyRRj6+qivv5+K/UUq96WuqbSnwahl0/oz58TS4hZHP6bFjqhWS11XqcDFQpV2ZEkH\\\\\\n\",\n       \"lm+ezm0l2wa7rGRvhbwv6czSyeBl4nde3idQZQlWWSKWbxvdoK8fc2QZhmEYhjG1qeGH0KRLB1aX\\\\\\n\",\n       \"6xuTHxOwDGNK57ZifMJT1r596+t1CuPYb9Zy2jnlc1X5cmDJsMHmEMGxz+WmfFjFYtySz0oLVjNn\\\\\\n\",\n       \"jo2zSCUFLP6M6Y0cWKUaRS5Or55AiuP1pIClHVgsXrEbi11YWYgk7o24P/7M4hX+yoRcdXUu7u+n\\\\\\n\",\n       \"uK+f5s7up+HRuNFTIRbnRO/SncWhg5wDSwpYbBTDfHcWIxxi0fVO6M91Fcr3xI4szk8l3VdyW762\\\\\\n\",\n       \"mVfcaRfmx22t2kaUknm0QtvxlbEbZL4sy5VlGIZhGMbUo0qRG7rdhjG1MQHLmFC+9KUv0fHHH08f\\\\\\n\",\n       \"/vCH6fTTT7faXqUuqzxhgnnmd+LEajewANHOiRUKE9TJ3UO9C2pX1th0hM8hdBCCjOxtUAtYrPlI\\\\\\n\",\n       \"cYsHzoGVilsJ9ZerVEgqFK8YIVqxYky04s8yhJDFK3ZmyRxYLGCxrcl7OupqkhSw2JHFdjLlwGok\\\\\\n\",\n       \"u5oxIw1nHB2lqFalUrGP4r4CRVH6VcAiFYtSsudBgL+oDylgSeMYPiMhPgSsarVYF4Nqov45YTtP\\\\\\n\",\n       \"kw4smQNLi1jyrwwrlC4tn1OLRSZel5HrkWeeFsV84lenYYWhZceDFPLMnWUYhmEYhmFMD0zAMiaM\\\\\\n\",\n       \"q6++ms466yzaZZddrJaDhELuekUnDqis6aG8Q5QxHgoZ1HmLdE4suT+fyBUaCm1yYEGoQY+DY5F2\\\\\\n\",\n       \"nLjcF0Yoc2HpsEIe+vsgXtWoRBWKK3WBavnyVJzCIMUsLWCxsCVzYGkBiwdXJXVFSQtY7L7iz9gO\\\\\\n\",\n       \"C1jYHgrPTi/eNqZHERUHyOXHonIqOsVxWu9cDP4sjWHYPOBNsQaXildjObKQCwuJ3cfEKpkDS35m\\\\\\n\",\n       \"sUmfX54nz3018JepqvYl25F2TLEo1S58UC6nRS25XBa9Di8MYXmyDMMwDMNYM7EQQiMPJmAZE8Ky\\\\\\n\",\n       \"Zcvo0EMPpbPPPps+//nPWy2vsjDBqIfL5815pcUmOa/dMUqBijzuKi1q+Hog9IlcBU/4IPJexV7X\\\\\\n\",\n       \"lQwj5B4IOWyQHVcIKZQ9FMJ51VdOqFQdGROtIFAtWzYWPohxiFg+AUuHE0L14V4JMQ6k/Ylj+aRV\\\\\\n\",\n       \"imP8dNigTOjOCh3vh1W5ugIV9/VReXCQ4sG+evggxKyxzbKGxruWCdy5qDxvzDgW1SMjZZgph+Yl\\\\\\n\",\n       \"GeeMl5NCl3REcYifXFYLXKG2zCKW7l3Q58RqJ2r52jHPaxemqLfVi/BCWd5QaKNhGIZhGMbkJe1/\\\\\\n\",\n       \"utsQQmOqYwKWMSEcffTRdPDBB9MBBxxgAlYTPnfIePGJS3lol9wwJFzp9ULilczXI/fJyxcC6+pl\\\\\\n\",\n       \"dD4sGRaYClLNQhUPPL85DxaStuueBXlcClMyzxWHCuq8V7NnY8sVKoyOpIKVFrDwlx1Y+MzilRSt\\\\\\n\",\n       \"OIRQ5sBKrUtjYYU+ZAJ3DhvkJO74jH1IMYvjIVlEY0cWC2Z9fRRVq1ScOZOiQpkKs1FnY6YuLgab\\\\\\n\",\n       \"vlhb4xBCni91NyyHpO4rV5aoWmXnUrrdlIoKG5RCDi/H41J0SpRwJUMJ2Y3Fbik5zqIOty1OLi+3\\\\\\n\",\n       \"4ROtZDijbPMh4Um26zxCku+a7UbQktephRYahmEYhmEYUwsTsIye84tf/IKuu+46F0KYh+HhYTcw\\\\\\n\",\n       \"zz777BQ8K70IFRyvYJVnOe2c0vN8831iXNY0KVJpwUvnvJLr+xK7S9cOi1s6/9XYwHmvdNgghw5y\\\\\\n\",\n       \"+CCbk1jk4mWaE70nVIoqFI8MUTRSF6k4VBADxCyISPjMohWHFGJeXgGL1SANu66kgCWTuGPbLGBx\\\\\\n\",\n       \"3B8ORm6XLVasQEURRYUCxXCUueMtNuqfIxt5VdQDJ2/HIfB8TrfFEYqpASyiJEnDE5vPie6FULqu\\\\\\n\",\n       \"5Pll15V2Ssk2QyrXle+zDgOUYlXomgy5seQ0vSx1uIxvuVA58tJrUcwwDMMwDGPisRBCIw/Wz6TR\\\\\\n\",\n       \"Ux566CGXsP2nP/0p9XO25zaccsopNGfOnMawYMGCKXZW5Mt2N+KVHrpdT0/Lmh8Sz6Tjw7ecTsSu\\\\\\n\",\n       \"t9lunp6flffK9zkdkNuJTUocXSdFLB54OotVMg+WE6/6EzcUqqMUo6dBCFIsYGHAOBxY7MrCNP7M\\\\\\n\",\n       \"A8+Xy/HnpUub/iZq8C0THPQ+Q+UTQzy80h0bHycLdzLkkse5rqQAyHXI+lka6ehLpp917nwJ/HV7\\\\\\n\",\n       \"yGpDWuTUYpdu39xOQ87IdteP71pqd+1lMd71JuK+YxiGYRiGsWqoJnFPhk75xje+QZtttpl7d33e\\\\\\n\",\n       \"855H//73vzOXR8dk2267LQ0MDLj31mOOOYaG8MO1sUowB5bRU6699lpatGgR7bHHHo1p1WqVLr30\\\\\\n\",\n       \"UjrzzDOd06oAp4gAvRQee+yxTQ6sqSFi6TC68dDpTbjTF97QslKYCm3X99IvhYN2+/U5qvQ0X2J2\\\\\\n\",\n       \"7caS83Q4IYcPNjupZMJ2jrJDjisdVsghhBxOWC5UqVgdJVr67FiuK4g/cA2y4wqf2YHFohHcVRxi\\\\\\n\",\n       \"yLYlTuIuHVgyW3r9c5MPiBO3Y5C9EEplDgXHXw4V5IOt90Lo5nMmdu4dEWC/dTtVcU5E/eUSxYVi\\\\\\n\",\n       \"w33Fea5QfC6mHGRHimDM7BXR6CifCz4a6cCqBs6l24pnXLYvGf6n3Vihdsdt1efOktvTziu53niS\\\\\\n\",\n       \"uetrKG+In6/MnaIT3RuGYRiGYRjnnnuuew/99re/7cQriFMHHXQQ3XHHHTRv3ryWCvrZz35Gn/jE\\\\\\n\",\n       \"J+h73/se7bPPPnTnnXfSEUcc4XLInnbaaVahqwATsIyesv/++9NNN93UNO0d73gHbbfddnTccce1\\\\\\n\",\n       \"iFegr6/PDVODbkyN43FJjMfZkWe+dpL4ltPLapdLyB0jHVs+ISoKuHG0iCVzXvFfDk8bG1KRKmq4\\\\\\n\",\n       \"hnTeKxk2CH1HJnAfG0+or1ilQmWEoqG6KMXhgXBCYWABC5+1gMXileyRsC5gJdUqJZVKKitAsEqS\\\\\\n\",\n       \"VKYQ4lWjRutKUVytui9KqEqFoSGKikUXAugOEPtiOxT2wwfJ4YIsmnFCK4yzOpUk6dksFqk4MIOi\\\\\\n\",\n       \"Ao49FbF0ovY0z9VY5CMLWNx7YT29lgshhFAzNKQFLM5DJT+TCi2U5132Xlj1THcHINoib0vmyeJt\\\\\\n\",\n       \"cxurCcFKilhaXIrUtmVOrmScItV4BK1ehAfKa9QSvhuGYRiGMTnAU2itS9d4/Uk2NxCdjjrqKPe+\\\\\\n\",\n       \"CiBk/eEPf3ACFYQqzeWXX0777rsvve1tb3PjcG699a1vpauuuqqrchv5MQHL6CmzZs2inXbaqWna\\\\\\n\",\n       \"4OAgrbPOOi3Tpw6h8LrxrN+JGNVu+XblCglToXJFbT7rUELpkgmFdvkGX7igFs18whavM9Z7IUQe\\\\\\n\",\n       \"GToojUq+MEKdDyudnri/hdooxaP1XFYsSHEvg1Kw4nxYPA8Dludpw8OUQLgaGXHCVa2eUKoiJAXp\\\\\\n\",\n       \"kWnpBy9JUqmOlSK3Uo3iOHbJ2KNajSIWqbirQKlAsWUKFcHjXDEAQtjwMMX42xdRuVygvjI2kfYs\\\\\\n\",\n       \"yHXD4hXGWRdDnbKhTNZ1qpchH5YWKPV59omgUlTSYlSo/WgXVSxELxZteHtSAPLlyZLT9WcfLbJj\\\\\\n\",\n       \"m/m+5fLmy9LlykPoOCxPlmEYhmEYq4/xhgDqbeRlZGTERQ8hGojB8zQ6Ibviiiu868B19ZOf/MSF\\\\\\n\",\n       \"GT73uc+le++9l/74xz/S29/+9q7KbeTHBCzD6JpOw/Z86/dif+MR0kI3+VDIYGgZnWcnzilK+YQL\\\\\\n\",\n       \"vV5o8Lm2ZDJ3CFjFRj4m+Zcj7GTuJi1kSUFroFwjWipEKxanOMeUnsahgpxnauVKSljAgng1OupC\\\\\\n\",\n       \"a6tCsGIvkOyTT3pyZK1UxNHjcyFJnCurgAFqEQ6wHg4YcVZ1hsMTpYDFCeHxmcMSo4jiKKL+WWUa\\\\\\n\",\n       \"6Y+pWg8JRH3wJrmOOIk7z2MBC8VIE7pH7lwkSU056Pjos9qEdET5hEwpvLC4JeEE8FIE414MpSgm\\\\\\n\",\n       \"hR0dchcSofR1UhvHNTiecMTxLq/XlcdsApZhGIZhGFMD3SmYL+LniSeecM/j66+/ftN0jN9+++3e\\\\\\n\",\n       \"7cJ5hfVe8IIXuKiJSqVC733ve+mEE06YgKMwfJiAZUw4F1988RSsZekwGu/6eYl7JKJlJXMOre8T\\\\\\n\",\n       \"rZhCwJElxausckiHli9MUE8rBpYpqXDCdB6Sh2unFfJZ+ZK2c4JyOcyaVU8ZVaqlwpMvETt/5rBB\\\\\\n\",\n       \"HmcRS4YQDg1RdXiYakniJJGKEK4qQmZhCUT6hGTN61qLRM04WaguZMXIN8c5rjCwKwshhSxocQgh\\\\\\n\",\n       \"i1gcG8if6+6sGf0DFMdIhp8uzr0QYnUcGm+GO0HE5lGH3OEhi12jozFVqzJxu8yFVfOcX19IYSEQ\\\\\\n\",\n       \"NugLF/S1c267MgeWDBHU/jcdcpcV+hcSz3xl0MvpZfRytQkWs3R9G4ZhGIZhrDpq6LnapZ7obhtA\\\\\\n\",\n       \"51M+6aST6DOf+Qz14r32i1/8In3zm990ObPuvvtu14HZ5z73Ofr0pz/d9faN9piAZRirzHGVN1Qw\\\\\\n\",\n       \"z7bH467K69DSglTe+XlDA7VzSju0eNpYKGCzqCGFKi3h8DIFiqK4yXnFn3WYIOfG8rmySsh7lVTG\\\\\\n\",\n       \"QgRl6CBPk+4rFqw4rLAueNVGR6lWqdBoXbxi0WpUpDGXDqxqm2A0XTMsq5TE+nBlQU1CqGHM4YQA\\\\\\n\",\n       \"ipJrHnXXFeDKgXglKw1hieUyFQolKhVRJwVXL+zAwuFzCCGHF7JoBc1M1jv+VircJuX5K9Zrg88d\\\\\\n\",\n       \"u7S4Btg5xdOly0o7qHi6HJefZY3yPCkRyv21BG+q/eZxTvmE7ixhzbeNvMuErufxiFnjWc8wDMMw\\\\\\n\",\n       \"DGP8VCl2Qzfw+g899BDNnj27Md2Xb3ndddd1+Zkff/zxpukYnz9/vnf7EKkQLnjkkUe68Z133pmW\\\\\\n\",\n       \"L19O7373u+mTn/ykC0E0JharYcPIjRZkxkOedX37yTMta4hzbMO3fwoITr5tyBBAPV0LVNJHpNfX\\\\\\n\",\n       \"DivfsY4JVT7XFr48isVUwEJEnC+EUA7ckZ92bBWoRnFlpDnxOuez0oPOjVUXtWrDw1QdHaVKteoE\\\\\\n\",\n       \"KzlAthmpf+a/o4HxrGVGhCDWtP1qNRXPUC4W1XgIHYc8lvpxx9VRVxfSucb1KcfldFnnfA7giku/\\\\\\n\",\n       \"2H2hoL4eJmU708482X58Iai+MFMtvPqm63YWj+N6aXftZQ2d3APa3UNW133OMAzDMAxj9QHxSg4+\\\\\\n\",\n       \"AatcLtOee+5JF110UWMactNifO+99/Zud8WKFS0iFXdShpBCY+IxB5Zh5CIr/C6LvC+BecMEx7uN\\\\\\n\",\n       \"aBzHFuV0dOmXdLlNn3hFAR9RpKZJYUN+9gkf0s1TpGIxTd7OYpTOg8XCi3RhNfdOmLhphZXDYYeV\\\\\\n\",\n       \"b+B5y5dTUu+RkEMFWWjCZw4hrAjnFU9nb08oYEzXrDx63gZLQSCp1ahQq1Gp3tsgkrw7UAlwXHHe\\\\\\n\",\n       \"K5nEve6+cvPrqlRxgCgaSHt1REJ3bAafoXHJJO5SCGzOg8V55SMaGSmqo+eeBeWR6XZBKjxQ9kYo\\\\\\n\",\n       \"HVrsX+NtSceWDjOUDi5G5tridWR7l70YynVkHi2Ndn5JZMii3I9vXYkObfQx3jxXej3rrdAwDMMw\\\\\\n\",\n       \"jDUnhDAvxx57LB1++OG01157uaTsp59+unNUca+Ehx12GG200UZ0yimnuPFXv/rVrufC3XffvRFC\\\\\\n\",\n       \"CFcWprOQZUwsJmAZRs/Fq6hH4lbWfOlY6rQMWUJUu31okUpOkzdt7XrheVJy8TlctGAlhamQdNMa\\\\\\n\",\n       \"VujrYVDmvOIBAowUsFjQ6od45XocHGoNFcRnneMKea9kDqwVK1zSdnZYsWDFTimdA6sayIMVChLT\\\\\\n\",\n       \"wZMFj4BVrM9PxI2+uGJFs4AFoC5BrOIQQnyWqh/HWMYxxcUi9ff1NRK1o844BxbXJefA4rrmHFgs\\\\\\n\",\n       \"ZKXhhTJcMBEhhL6BxS4Wm2R70qKXTuKuha7II8ZIEUwi827J7WmSHKGCWaKUftjROajyiFCh0EaN\\\\\\n\",\n       \"LEcnYpYW+QzDMAzDMHpLjWI3dLuNTnjzm99MixcvphNPPJEWLlxIu+22G1144YWNxO4PPvhgk+Pq\\\\\\n\",\n       \"U5/6lOtZG38feeQRWm+99Zx49YUvfKGrchv5MQHLMIKEhJ1u18kSjMYrZvVq+XZl0qIVf5ZfFr4Q\\\\\\n\",\n       \"Kl5Xf/Y5tHwunJCjq3WdOEaPd6mRCAO+c9h1JUPbpENIhsGxuAVrUcTJz2UidPzl8DsOs5PjSNSO\\\\\\n\",\n       \"XgZrtSb3FTuupIBV8bivZC4s8mRi0keu+9iT67ScFahHyIuFskJt4jxYHB7JlcXHy8c3OprWRXmE\\\\\\n\",\n       \"yuU+KterQdYZ57ziDhC5rvk88Od0l3Bw+c5fQYlZ8mgT9Vk7rLTQ5HNdyfYpa0mKM3L7vgTsPhEo\\\\\\n\",\n       \"aXPt5BGOQj0bZuXb0tvL2o+eJ+ugHVpEMwzDMAzDmBp84AMfcEOezsiKxaJLCI/BWD2YgGUYmYzn\\\\\\n\",\n       \"V4BOhajQi64cz+PWyrOvdvNC7izffC2P8F+fKBUSqrRgFeUUs7QLK3XlRBF6yotbRBP+HBKwmvM5\\\\\\n\",\n       \"JVQqJkQrKmNCjm+QolU9d5QLG0Rvg5VKQ8DiYdQjYI2qEELZHx/LFlrW0LUqBSzGl37cLQ8Bq1Kh\\\\\\n\",\n       \"qJ59PYKahMrhY5DiFStU/DnNwk6lGUldtErDNLnnQf4sk7dLEWvsXEROxEoFLClYyQTtviGUmF33\\\\\\n\",\n       \"DqiFLZ7vmybDBbm2ahlijS/8LyQ4+e4dPC+vCMXzQtexnOc76yGxqRPxijEXlmEYhmEYE0c1idzQ\\\\\\n\",\n       \"7TaMqY0JWIbRhC8UqB3txCXK2GY7kSnuUHwKCVl59p1nu3IZn5ilBSeeJ0MIQ0IUhw6meaxaRS+e\\\\\\n\",\n       \"rufLdSMnkrCjCp9D4YR6GBioR8vFNYqqdfEKygyLO7r3QZ6mwgmrw8MNccqXiF07sKoBB1ZWDixZ\\\\\\n\",\n       \"MwUx6L76pAjGckWpWqWoWqUCyg2rGvc8KJUmHA/nweLYwLqYFVVHqRgXqa+v4OoM1YNqknUpxzk/\\\\\\n\",\n       \"Fp8L7r0QebSQD2us9BzKV1RBlFKs4vk8T7Zvn4QnezTUPjW5nI9E9Yboy3HFtU6BfFl6e3y8cpoU\\\\\\n\",\n       \"3+R0n4/OF16o9yHnSVGunasqj6CVVRbDMAzDMIw1KweWseZhApZhdCREaaJxila+dUP7D7my4g63\\\\\\n\",\n       \"m+X8yiuYtROzfA6qMXEpLGDxfF+uK72MnscCSJHiuMDpmpqELBnq5vvc1BthXKVI9tCnwgObeu/T\\\\\\n\",\n       \"n9HjoAoXlM6riRCw5PJY/69LltBZjz9Oj46M0KZ9fXTc/Pn0stmzm86EqzWUl1U+TgjGljTM464Z\\\\\\n\",\n       \"cWz1eVF9XqkYU62c1nW7+kV+LB6HkJWm24qoUik6MWtMZMpyXMkQwlogN5ZPwPIJUdIh5ct7FQeS\\\\\\n\",\n       \"l/uujVobQUvus5PcWVkCWEjo4nk6kLSThO+dCFIhl5phGIZhGIZhTJ74KMOYgoREnnbL5hWd5Hp6\\\\\\n\",\n       \"vm97UqLgZXxCji5DaJ5vPWojEoVEJFke37a1G0sv7yuTL9Qwq05YjhlzeSGhIgYOGeR8S76/odxY\\\\\\n\",\n       \"xWLi0kc6pQXKC/7y56xwwtFRSkZHqVatNglSPFyx7jI6Z6vFTdN0TiyZ2B3Dr7daTDesu8wrdOll\\\\\\n\",\n       \"eZn/LF9On3rwQXrNWmvRz7feml46eza974EH6FaENap1UNaEj1Hn+JKDrodKheKo6upK15+uX/1X\\\\\\n\",\n       \"zufz1erUa9dudVvwtSM9ToHPvvbnu+byXh++a7Cba7aTe4C+94zn3jTe+6BhGIZhGEZ3JElMtS4H\\\\\\n\",\n       \"bMOY2pgDyzAc4wkbzJoXeqH0LdvOqZW1nG9fnby06m12Mh4KIfQJDD5XVZb44BMOfNsYy4GFxOBa\\\\\\n\",\n       \"mNKilcyFxZ/HcmElVCwkVKjniZKCTVPydjmIaTXkvfIIU5evu4yO2uc+WllMaGWc0H/fOa9lGe6H\\\\\\n\",\n       \"j51Uv95mEf1kp4VUrkT0/ksW0G5PzaJB9AIYRW7+FUuW0C8XLaLHhoepL45py4EB+uxmm9Evn3iC\\\\\\n\",\n       \"njdrFr1t3jx3cz96/ny6Ytky+uETT9CXN964kW2qwjf/0VEqcK+DfCzSgcW2KVkPWKe/RrUCcmGl\\\\\\n\",\n       \"ebCyErbLv+zI4vEkSUMJs3NgRW2SuPsSussQwjjjs1wu8uSV0iGBtRxuKZ8jyXddamdWKHdWrYMw\\\\\\n\",\n       \"QV8eLL1e1KacoXk+eP/OSmcYhmEYhjFuqhS5oRu6Xd+Y/JiAZUxzsgSk0PKhG2MegYkp5FxWCkPy\\\\\\n\",\n       \"b6fbKXQpaLUTu3QIVyhs0CdOFTITszfnuNLrjq3D7iuOfJM9DMrQNj0PfznFU1Sp57zSydqV26ox\\\\\\n\",\n       \"cAKolSudgKXdUggZvGHuSidegTN3WuimvfXOeY1wQhat3OckobM2f4T+utNTbvmRYkKnVx4kuoVo\\\\\\n\",\n       \"ZqlE+8+dS3vNmUOnPfggvX2DDej5c+bQSLVKty1fTqNJQresWEFvWnfdRnJ41NjeM2fSxc8+66ax\\\\\\n\",\n       \"eBXx35ERKkBFQoggi1f6+KSwJeohjhBC2OfqjnNe+eqXc2DJ3gkxHZusVn3nX7cXGZbHebLIEwYo\\\\\\n\",\n       \"/8p2W2uTED0UUsftuF2uJzlPhipmERKatBCkj1HnywrlypLbidr0dBjKj5XnODqpJ8MwDMMwDMPo\\\\\\n\",\n       \"DhOwjGlMJ+Ev7VxUeabncVrp9dq5sELrtnNlhbbjC2sKHYteJyvE0Bf6J0PG2olcIefV2Gf0bsdh\\\\\\n\",\n       \"bDJcTYeuSaeQDncjuK9YcWHXkc+NJf4idDBJEvfqzj0JynC9t9+9Hg3FCZ2x00JXM2fttNDNe+Od\\\\\\n\",\n       \"8xrLYrhu6VI6Y9OH6Zk9IDWlDD62Hw1u/BKqvWYFDT9yG/3+pr/SBYsXu3lbzJhB65TL7ug3HRhw\\\\\\n\",\n       \"f5+uVGhOsdjoGw9/1yoWabFwh3GNVTldeq1GsTqmppBBX12gjmq1eihg2OGm61+eGywD91Wlot1X\\\\\\n\",\n       \"hTYOLOlUkuNSpI0Cwo5Mc09qXSnuSFFHXwc+0SjpMDeWTq0vryu9HSm6yf1lOarkdrSLzLdPX1l8\\\\\\n\",\n       \"wlcWnYpehmEYhmEYY9SS7pOwYxvG1MYELGOaMp78LaFlo5yf8y6X5XRqJ07lEa9Cy+TZjk/U0oN2\\\\\\n\",\n       \"beURpXxCV2i91iGK4qYQwrE8S2Pj8nNI6IpG6wIWDyza6GlK1IFzikMBWcRicQp/D79znvv8zbqI\\\\\\n\",\n       \"dc5OC9346+vT//Lkk/TtzR8h2m+sxueOHk5z5h5CNDcdH9z+hTT3RYfRslsvpiV/O4tOvOce2mlw\\\\\\n\",\n       \"kPadO5deMGeOE65IlIED6qR3SZarsVySUOwT6/Qxq/EIwlfJX5eN+qzXOX9uzY+FPFicryCrfbDw\\\\\\n\",\n       \"xEcl20cUCBNkUSwrjJCX04KSnCYdUFrA4hrX0+Q6IVHMtx0ttkVqWXntZTnHKCDm6XuBPq6sdfPs\\\\\\n\",\n       \"R2/XMAzDMAwjH5zHqhu6Xd+Y/JiAZUxDfCJRaLks0SrkusqzP58jKuTyCoUm6vVonO6rQgfOsVBI\\\\\\n\",\n       \"oZyeJUzp0DAtWISWz0ruDfHK7wKSuZg4dI2Xae6FMKEyQgiHlGAl81/5nEn1AQIWhwGy00mKRRgO\\\\\\n\",\n       \"rYcNnl0XsX5Qd2Kt++9yKl4doMSryiEtZz0u99Ps3V5OM7Z6Hi3+2XF0x5KF9NToKP184UL68tZb\\\\\\n\",\n       \"09xikZ6EoCb2+0SlQusUi02hihxK6CQehBDKsEEt0MmwSSlgVStUnoE8WGmvghwyiNBAGcoZcmdJ\\\\\\n\",\n       \"4TANJfQJl9xOEo8by9eTIAtcup1K0UuKWjI0j6llTGd8jiUd/ldrIwb5BCxep11YoJzH64UEJC1l\\\\\\n\",\n       \"Zi3nK5e8H4R6VNTLWjihYRiGYRiG0XtMwDKmGVrwCZG1TEhQ6jTvlFzH57qKci6Xtb92Lirf/nzb\\\\\\n\",\n       \"bue+0vvLkwOLBaxiwGlVVMsWxdAcauZL2C4dQZyTyRc22HAL4cW8VhdoEErIohWHFEpnkuyxry5g\\\\\\n\",\n       \"scOJ5QQZTsjDm+sJ3L9fF7GQqJ22JKKB9uKVpDhzLZr39q/Soh99lKKhJVSs1eiKZ56hbWfMoP8s\\\\\\n\",\n       \"W0avX289V6PY51XLltFOM2Y0yiL9TBh3ObD4WDiZuzxmFq5YzELduAFpMpOG880Xrsk5sXx1LkWt\\\\\\n\",\n       \"VMDS514KJjUxXTqeuI2yJFcUNZ8nB5YWwni+FJB4fe3cktuoqa9TvU29P/IIU757jhS0CgHBync8\\\\\\n\",\n       \"elpICPOVUYpQNE5XlhbNDMMwDMMwsqkROiuKut6GMbUxAcuYRuS9oYWcUHmnaVEntF2fK8s3T7ub\\\\\\n\",\n       \"5HTf9uWyWSKWr1w+gSq0ri6vHtcuGCloyUTtWrzipO0hZ1arWycUKihD23RIm54fJSzM1HshbAg1\\\\\\n\",\n       \"9cETTpfU50mZRQ96+iH1sMEf1UWskHgVJzXa8Yl7ae3hpfRU3yy6Zd0tqBbFNPzoHTT0wA3Uv9nu\\\\\\n\",\n       \"NPtFb6dHfvsVV1sb9fXRdjNm0KfvuYd+tXgxPX/WLLpsyRK6feVKOmHjjYNlc0P9OCJ5jHzMuh7q\\\\\\n\",\n       \"x48QwiSpuWTuecIHm0I11byw8y50/rUwIx1WjBSh9LJyGSkISTEnJAZJAUeHHOrthqaF8lVp4YjL\\\\\\n\",\n       \"7pvuKyMvFxKZQsKab/msaXlELOnaMgzDMAzDyKaaRG7ohm7XNyY/JmAZ04huwwZ5vvzrWy8kEPFn\\\\\\n\",\n       \"n7MpNE+XO/RZbyskemU5xfI4s3xl9R2D/EsZ4lWWcOVzbkXezzrPkhZJWnJdRUpEce4rJVJJAUcK\\\\\\n\",\n       \"OUrU0bKE9LfIV3cpHL3hznn0620W0fLymCgRJ4MN8WqfR2+i9974f7Te0DON+Yv759C3d3kdXVKe\\\\\\n\",\n       \"S0MP3UzPXnMB1YZXUBQXaaNykXabPdvd0D+6ySb004UL6YcLF9JG5TKdsummtGV/f1NZOAeWHCBI\\\\\\n\",\n       \"UaLqAeNaxGIBj0Wvev4xXa++BO4hcTHr3I79ZfGlEBCNdPigDMmT07g9SpeWFGRk4nRfiJ/P8cS1\\\\\\n\",\n       \"Kq+TLPeVdFaF7hW8nE8I4mnyGLQrTSeA1/mufMKcHg/lxZLLheB61aGPhmEYhmEYhjE+TMAypgFa\\\\\\n\",\n       \"GBqPeOWblyVM5Qnv0+v5HE2+6Xr7WdvwlUWXJ6vcevvtRDPfsiFnTXMYYOu0SIhavt4K0yGKxpK3\\\\\\n\",\n       \"c0JxXy+DOol7U34mbIpFGYg2QItX/Jfn1ce1owlkup2I6DwlXrl1ouX0TPE8esWD29Gn/v1DVc9E\\\\\\n\",\n       \"6ww9k05/7uF0+Zs+25j+7LW/o4cu+g49MTpK80ol2nvuXHrh3Lnu5l4mopKnLORxhhWkOOUKJJxo\\\\\\n\",\n       \"MoG7W7kubFWrVIiLwRxX2vHWmsSdXXNRRiJ3KVRxECQfAQtbJMIHeRnXx6I6UinUyHm8PR1uV1PL\\\\\\n\",\n       \"+uYxoTA9vazMv8Whge3C7XwhhLxPLYrJupHl4Wu11uY4tCgYynuV12GV5/gMwzAMw5juWBJ3Iw8m\\\\\\n\",\n       \"YBlTnDzCFWUIV3EOMcsn6oSWDQlUISHKJ2SF3F5Zy+p9yf3osuXJpeVzirHIJJeRohNvR4tRvmTu\\\\\\n\",\n       \"ejqv1ype6RxMOnG4zwmkwwrdy7VPqGLXETuTeL5bJZ2mg874rwxOk9MhXrncV3wmkkEnXoElpR/S\\\\\\n\",\n       \"rKEF6HPQ64XDtt5z0wV05QY7unBCMGPr59HTfzuLHli5ktZD0ilPWbSA5iurV7zjcT52/izripJM\\\\\\n\",\n       \"t5vvnDQLjal7q1bziVgFkXaeRRwpNIXaMXvheD0d0CnFr2rALydFIykUMXo9uYwWd6QQJJ1NXB5f\\\\\\n\",\n       \"r4ehZXl7XE7ZQvRyof3LeXnGteNLEnJq6WWk680wDMMwDMOTA6vLEEDLgTX1yft2bxhrIFq0yVqu\\\\\\n\",\n       \"ncMqtJxPMKJAGF1I0PGJN7Fn3azltLjjE4Wkm0kvoxOk623pddutp/chRSm/GOU/Rr1es8jHIYM6\\\\\\n\",\n       \"p5IMZfPlYtLLORELYo0Uqliw4ek8iGlJfVyH4/k8Kxg/d5tFY7mvUGtXrUsLhs51ua+Y7+z4EH13\\\\\\n\",\n       \"+ye9LRVHPm/lEpcbqzGtf5b7u6wurLUrQ6icSeAYvUKWWE7X41hYYGu9y+WkS4vPYeu1ItuK73rx\\\\\\n\",\n       \"DbqNaUG0kzYcavdyPTlP7iPkHMxzrfruAXnuFfr+IgW+1uvHL3L77mdyOuVYbrz3YsMwDMMwDMMI\\\\\\n\",\n       \"Yw4sY4qiXUJZy/leqkLr+nwxejs+h1LItaSnS1eJ3H7ohVRuw7deyKGlj08vp4/R93Kr57Urj++l\\\\\\n\",\n       \"WwsC8sVfCwqtrq40/1JraJorhSffkiuJOjwnqMQ6ykuINCziSKSoo0gC036+zSL6oRCvtvjXAD16\\\\\\n\",\n       \"4xyiXaiR+woOLPC13Ra7v0fdto53H0jsPlaWVLgqpApQSxlC5fEXXh2rFLB8ghbqr+FiGyOUD4uX\\\\\\n\",\n       \"8+fHilXom6+9+L6y4NBqlEY5rXxJ3nWSc/lXtmtdi/ra1/mnfPO040m7nHhZ7dPTYYFyXLqhfDm5\\\\\\n\",\n       \"ePuh6XoaiXm+PF55nFTateVDrmvhhIZhGIZhNJP0oBdCbMOY2piAZUxBtODSC/EqJNpkzfOJVNJV\\\\\\n\",\n       \"Itf35aSSgo3PmSLH5Uu/bxu+cvr2F5qXNR5aL4+AFXKv6GW1CyYdh+gRyqsUCmFr7QFPIMMHfXBe\\\\\\n\",\n       \"qA752TaL6BwhXv33zfPp2eur9PDKp53zCaGQELHmL3+Sbp/7+7YiFnolbBR52dPu70xW7nrheeEE\\\\\\n\",\n       \"7iFkKKVAJ9OX+bB8QqP8XKlwe+FzLUMGa4Ek7Y0C1YeKRyiRmb8oMM7b0+c+a9wnLvnmyfn6Mwt2\\\\\\n\",\n       \"oXxclBFSyPN0bjBGb19O523qJPE6z1ZImNLbzCtiyeOxcELDMAzDMMZA+GDXIYTWC+GUJ49FxTCm\\\\\\n\",\n       \"YJOOOnBt6fAbLV759h0K7/EJSr75oXCnQsCpJAUePT80FDO25ZtXUuFWpRzr+cb9YtRY2eVx8rgO\\\\\\n\",\n       \"jUqHNAdWsxjlC1fztgDpDsr7XcnKTNYiSir8+VaL6TtCvDrs5vn0+jvn0a4zZ9LIsqdo+OFbGvOG\\\\\\n\",\n       \"y++md9+CHFjUELG+v91YOCFe+RcNzKVb1t2iMW3Zrf+gvkKRtpoxw1sG7dXLE/DlV/cCi9arZCwM\\\\\\n\",\n       \"UNWHmKbPR3MooS6xFj11yJ5sK77QvXbtULbZPG08a73QNZN17eUZ94m9OqSyndDtuxc1zp48U+qz\\\\\\n\",\n       \"3kbLmc+4j+ZqOTmXMwzDMAzDMIwUe4I0phh5Xs9DL2W+cZ8EEJrvkwp8rqOQuMUvp77P8oVdv6h3\\\\\\n\",\n       \"Oq63E3rx9olSofV8IpVeNvQi3q5uuB7k8pE3n1XjzGQIVzw/eObbrSiGVHTJbgnbLxmg/ko69o6b\\\\\\n\",\n       \"59Mhd85z83aeOZPW7x+gZdeljiuAxOxL+99PH7l+PTc+UIlopycH0nn1bZ6182sbCdyT6iituP5P\\\\\\n\",\n       \"9OK5c2igUPC27JCA1dJiW5KCZVXY2DJ55ApfXjI5vVmElG1Anvt211GobYXaY7ft3Cdc6X2O9xr1\\\\\\n\",\n       \"XfPyGtCf89xj4g5agzyzofm+s59XIs0loxqGYRiGMQ17Iex2MKY2FkJoTDOy3ASh5X3rhdwOclxu\\\\\\n\",\n       \"W25fC1egkLFsaF4hY98+l5cut5yu9+l7kfXN1/WWZ98sRvjEKZ/rRL98p/PQ+6DMbQXxg0PWZKLw\\\\\\n\",\n       \"duYiRMpVk9Rr47URNWcZH9tIfdC1L2sMf/d8YiadevnmdOvclfTau9dr9KmHnFUHrb0W/fiOy6ny\\\\\\n\",\n       \"7CIqzp7n1rl8w51pn0ePpfff9C163uNEz1mcOqueGJjrxCvMZ5bfdhlVVi6lAxZsE5RE5d+ss9LU\\\\\\n\",\n       \"haA8dlSqhlUnBK+JvO9yMxpZhdqxNbbriKpVPgqZt0qGE/J4ozDir+x5sKrWlWF7OqSPG4rsEVCH\\\\\\n\",\n       \"uOmcWDpkUO6Dl/GFDMpx2asgj1fFccswvqonl5fOJ6X3Iduy7sFQhyj6QgazwhcZLotEb8cwDMMw\\\\\\n\",\n       \"DCMbCyE08mACljFFyPurf971fOKS3IZPEuDpep5v3CdiaeeEFHl4PmXM08KSFqfalUuLVlqFyDvu\\\\\\n\",\n       \"E8m08KZdI1rAynK7pMtw+B+LVvir82C5Uqn8S20j42RcW9aG6svIsylrmUsM2WGPJ2bSzk/MpBEh\\\\\\n\",\n       \"CWCZl6y1Fv32iSfpiV9/lua97SsU96ViFUSqODmTHpxzL1206VKX8wphg+y8AiOL7qOn//IN2nLG\\\\\\n\",\n       \"oMt/FfLdyJZSCLQSt1WdLIzrwJ0ylbCqTSVyFfoS6MvNy3PHy6YClrzmikKcauxBCC4s+Mjk7Mk4\\\\\\n\",\n       \"EqVTB+Mh0YiFID0utyNzcOkcXVJ0k3m/+Jh5X3IaL6fn8fZdzatxXk+KVnIZnYSeW3JImJL7l4RE\\\\\\n\",\n       \"r3brGYZhGIZhGEYrJmAZU4A8YSt5Q1a0oBNlTPdNk0JNOw+M9slo8SokaOl1fSFCvuWzyuA7zvEI\\\\\\n\",\n       \"WD5BLEvE8x2nT+BqPg44dWTPdjrnlQ5Rk+MS7lhv7JSJeDafRUgqMsqBJcWg0BnR47MKBfrkppvQ\\\\\\n\",\n       \"p+69jxb/4gRa942focLgXLdLiFU3rbcV+Rh+5DZ64lefoY2KBXrjvPXo9mXLaPOBAdq8v99bnlBZ\\\\\\n\",\n       \"miRUWZlykJUoj1/2eqjrUVVpVmSi3C02X61GVKtp4Ua7hFjgkmIVL6eFGZ4vBRqfwDQeAUsLYtoh\\\\\\n\",\n       \"JgUtns5llGWXx6u3I+fxevrYtKilj1eKYSFRS6Jdbj7nW2hdJsqxXJ5lDMMwDMOYDtR60Atht+sb\\\\\\n\",\n       \"kx8TsIwpwESIV771QuKMdDDI5VuFl9ZlpV+HlwsJONLnExK4soSrkMBUaOOi0vMYHZ/nqy/f8cp5\\\\\\n\",\n       \"uuy+fFfNQ5q4PXVg+aLePFFuQaGlMe50AJWkSasrHoEnimNKMA09CXrOnDxTUp5jOQDDZgMDdOLm\\\\\\n\",\n       \"m9GXHniQFn73fTRj91fSrN0OaoQUjpU1oZHH7qSl1/2eVt52KW05MEAf23RTmlMo0MLh4YYLS/rY\\\\\\n\",\n       \"Qu4wXVaX/8on0EkXViiRVb0O0TEh161PzPJthqePVW8aFlqryfYghR0+Ghnqx/MiFWIXEnxC7ilG\\\\\\n\",\n       \"967oCyX0ubeqbRxZuudBLSxxueX+pRjHg96+DJeUvTTK/cvrsJoxHhLHKPBZTgshtzee+YZhGIZh\\\\\\n\",\n       \"TAcshNDIgwlYxhqMzyXUCb51fWKUXM4XTpglEoVEpizxqZtl5b61KCaPWx6TllpCApZPsPLVn9y2\\\\\\n\",\n       \"FvuaPD+e8hfVZ9kL4ZgsI91XrmQqDE3qLpJqNRVaMDCp+OLJc8UbLpXGNirjFDG9XHZDYWTECUxV\\\\\\n\",\n       \"EapXq5feJ7+w9MKv7NvNmEGnbLkF/XbxYrrk37+mZ6/8JQ1svgcV196YolI/JcPLafThW2ho0X20\\\\\\n\",\n       \"Tl8/vWbeevTyddelvjh2ubs26e9v7Pf25ctp/VKJNkK5VJpx3ndTwCaOuX4c3krEgGPVCcXqjqxa\\\\\\n\",\n       \"NWoSrLh+UddayNJhhdgdlhObq68bu/psDV1r7CWQT0q7mEJhg3obWV+LWtDy5bJyR6e2rcUtKTaF\\\\\\n\",\n       \"BC7ZauQ032fpvIozlpXlZuFPj0uhzxc2yOKgdsI12RfFcp3C+wudE8MwDMMwDMMwAcuY8oScV1pk\\\\\\n\",\n       \"4b96kMtod5XPTeRzNvmCuXwOLF62ube9ztxZPjHNJ1j5nFo+dxYvH3UgAIacWz43lhayWMDy+ZbS\\\\\\n\",\n       \"eoFLx5emSRuDsnCJ26tCZHFVq5QVFm3wGeIOxnk6z6sLWfHoKMVJ0lRaliJYruBxX41hmfnlMh25\\\\\\n\",\n       \"0UZ06Pz5dOmSJfSvRXfS04/dRiPVGg0UYtqgVKKXbrYZ7TZrFhXRA6KndqIkcfuAiLWsUqGdBwZc\\\\\\n\",\n       \"sniuWd3HnRtQYfJY+fj4MwtbPM4iHotcdcGKh1AooQarVipjLiwWryAmpqY2bjdci+7MiSOQIpJO\\\\\\n\",\n       \"vi7FGZ9birflK6xerhTILeULH5TCmVxeijO+cmoRio/Pl5ReOqr4GHkel0eWkzzLMtK1Jbepk8tL\\\\\\n\",\n       \"Z5acrutTblOTx61lGIZhGMZ0xRxYRh7MgWWsoeRQKZoEmdC67cQr3zTtdAo5sHxiUSduK5lyW0/P\\\\\\n\",\n       \"uw09jTzz5DRf/fhEKT42X71mOdvkfnS5mmQVT52lvdTJ3gdlqqpQniUf2jGUJCI0zpf1XYhVLZnH\\\\\\n\",\n       \"i0UnAkkhieUElhylgKUlhUaZ6svPKBTooHXWoZets463FnWtSFGqFEW0y+AgPV4s0l0rV9K/KxXa\\\\\\n\",\n       \"a3CQ1i4UmjxsTUIW9zQoj0uKVTqhvap41B2HYmblwpLo1Fo6HBTnGEeXOuX4aNnDxrXFgoysZenW\\\\\\n\",\n       \"0u4r7SCUbi3f9KYWEwg/1PvR4YKyrCHBSgtXUvKU67PUKY+HHU861JLryhdSqetQCk7cCrVQJo/Z\\\\\\n\",\n       \"d4FlhRvK8TwilgldhmEYhjEdMQHLyIMJWMYaSkhU0cvkWS/kPPJN126mvE6nkDhFAaGKnUhSrNLz\\\\\\n\",\n       \"fNv37U87t7hsvvFO81xJfMKVb54vnNFXTunISpeDsCENQDqJu9tioBhaWJGCixOx4lSkiljA0aKN\\\\\\n\",\n       \"FHaEQynCUBewpDikg7NCQW4sSbAUoX03vtrXrUL31bigr4/mFYt06/Ll9OToKK1XKPjFK1df9RBB\\\\\\n\",\n       \"Pj4pXunKFssmbrzQEpLZrt7dcdTPlV+8SndbqXAydy2sssDB7UbWrmybOpdUiNC8vPmxtNjkG5ch\\\\\\n\",\n       \"hD4xS46zeFQNCD9xQGzieXpb5Pks61MneJfXuKxTn0jlm67nZU3TSMeXYRiGYRiGYTRjApaxBqJF\\\\\\n\",\n       \"FU1egSXOsZ2QeCWlBDnP537KcklJOUFLEtIzEweEL9+6nbizuOzyWHX9yWU7qb+sbYTENB0uOSbV\\\\\\n\",\n       \"FApxk1GIBz3N1YxKZ8W5r+RnztPkxiFkUZSKVyzecF6okZH0b19fGvPG0/v7040MDRENDFA8PEzF\\\\\\n\",\n       \"kZGWDEfSsyJlBinTsWtLB8P5kOvJFiFzXeHzQKFAL5w1i/rq0xaNjNBGxSKV4ngsJxYfF455YCA9\\\\\\n\",\n       \"Jj4+PWA5/G040UquzqqiLmWduuNV4hab2fgcyfMnzwvGXf0lMVWrMicUu5BkzYZEI/560+F/7Qg5\\\\\\n\",\n       \"sGr1cEI5TYcNymWlQMXHoB1aelpViGQ8LkUuKWjpdXkdFn5D+9AOMV5P9+woBS/pgmvXMmuBcbkc\\\\\\n\",\n       \"tdmODnU0DMMwDGOqYw4sIw8mYBlTlCx3VkiMkQ6PkEOJ50u3UijkLSRYabHLl/PKJ1rJz9Kh5Nuf\\\\\\n\",\n       \"XIc8wlfWsWohK+S6yqpjPd+3jcgjSLY607jXwdQINRY+qHNgNW05UDTO0SQFl/QzhJiEinUXVsN5\\\\\\n\",\n       \"pB1XPEDMgbCF6fXPUa1GhWrVDdJJVfBIBLpmpBTjS7+ta0378XhcClgYylGUZpCq1ejmlSvpLiLa\\\\\\n\",\n       \"Z3CQNigWqQC3GZefRSwel8erQwnF52otDfPTidu5jvPCwhbWH3PVIddZKqSk561dqJ8Mr5OEQv9C\\\\\\n\",\n       \"+ObLbehwQilgyWlaiOLPUpjSopIUinhcrsPjLOSxc0q60nhcLsP75vlyOd98n8NL3guloCjXyStQ\\\\\\n\",\n       \"mcNqMvCtb33LDffff78b33HHHenEE0+kV7ziFau7aIZhGMY0JH36ibrehjG1MQHLWMOIJmA7IfEm\\\\\\n\",\n       \"NK0Th5MWpuQ07baSMkRoXAtWupe+LAFLu8b0OHkcZvpzJ2Q5tLLEwWZBEOKVFq5kDiWZxL1d/iuZ\\\\\\n\",\n       \"o4lFlqYE5HFMkVTHpEVIhxDyUE/wHsGdNTpKRSFgsSuKhA+Hj1LWhMygxGckpP9o2VQGm8reBqWQ\\\\\\n\",\n       \"hd4K9581i25YvpwuW7aMdu3vp11mzUoFLJmoXSar14PKnI+6aqk/Vbeh8EGdr4wTussQQqyL856e\\\\\\n\",\n       \"M+7pkNuFDoOTPrd2IWiduLEYn2CltyWdYVxWn5tJh+zpnFfaVeW7Fn3hgNppxi0wS8SS0/R8Csis\\\\\\n\",\n       \"PM77iNrkvxovJnRNNBtvvDF96Utfoq233toJxD/84Q/pta99Lf3nP/9xYpZhGIZhGMZkwwQsYw1C\\\\\\n\",\n       \"vrhlLeNz+kQ5tpnlEqIuxatixrh2VfkcV1KqkJJFIWMfumdD/uwrN6PHeVqvhENdl77xtFxRFDeJ\\\\\\n\",\n       \"VlJX0b0Q6tzi7QQsOH0gmMiQNxiqimWxAynuILQOoYJYCcPwsBOr3AbwFyvXN1wYGXGBZlEgq5D0\\\\\\n\",\n       \"0Ei/TS8dWPy5LKbNiGM6YOZMumNoiG5ZuZKKg4O0E45LDnBfcSghhwxyWKHsfRE5sApFd9hcf1yn\\\\\\n\",\n       \"MlwzhD5fWGesF0JxrI0mgvaAeUndiSWvW5/Dqte/v/nCEGVGMznOy0oZsqo+y5DCispZxYJWpT5e\\\\\\n\",\n       \"EfMqbRxQcpuypfF64xGxQsKUFLFkmTRSyPOtGyJrm0YvePWrX900/oUvfME5sq688koTsAzDMIxV\\\\\\n\",\n       \"joUQGnkwAcuYImhnABN34PyR0+NAiJ1P/JHzpVCU5ZZiiYPFJZ3zSqbk1mKWnif/+kSwPAJbqC58\\\\\\n\",\n       \"4+NBv8C2imLaTaWFKWgoUsySeorOedWy96RVsOLPdeNUw4HV4q7CQvjMOa8wvnLl2DhWxlAXsCKI\\\\\\n\",\n       \"WMPD7i8fsUzKzq/lfLY565F8zZeBZVI+0K1ROq/4bJZEC5ACVqkeUrjrzJm00ezZNHf2bHcMw+Uy\\\\\\n\",\n       \"9UkRi49Vjut8WKVSw4GFQ+e6bQ3NzO6VUHfwqOH2wOIWQj1TZ1d6nfldXlpsmoj2qx1Z7fJN6c8y\\\\\\n\",\n       \"hLCopskWIcUkFsXkfBa7ZHihL4yR+79kcUtuS7vaeF1XwxmuNxlWmHhCH+V2+Bz4Qg3lcsbqolqt\\\\\\n\",\n       \"0nnnnUfLly+nvffe206EYRiGscoxAcvIgwlYxhpCnpfQLPeU3oaUAeS8rGlayPLNp4B4VGiT80oL\\\\\\n\",\n       \"VXKa9tjozz4BS4tnch47nCI3YDwVf9IwPR4fE4TGJwCMhetJf1F4mzq0jMUN3Tudz3WleyWUYpbu\\\\\\n\",\n       \"bVCKK+wYGhO1Yqqht0MZLigTt7Pahc+sesGGVLciIQ8WlsFfdxbq4YTylZ9lBxLyAQ9auPIJWLoF\\\\\\n\",\n       \"ailThg7KnFiuRdTzXq0Pl9XgIA2VSvSHxYtpizimXdddl2J2Xcmk7dp9VSi4OkJdSeeVdF/xX1n3\\\\\\n\",\n       \"+jz7zh27sVD1WAbbxGc+Z5jG4YS+bfuF67G2lifMNNCaG2dCtuvULQZXWJp2H+6w1CGmRSyd84pF\\\\\\n\",\n       \"JClpSmmTz6Z0XLGrigcpWsnrTIpT0o5YU/cCKZLJetLlCIVrcov11b1PxOJtZI1r8ji1jG646aab\\\\\\n\",\n       \"nGA1NDREM2fOpPPPP5922GEH77LDw8NuYJ599lmrfMMwDMMwVikmYBlrCOMRUUIuIp/DSE73yQQh\\\\\\n\",\n       \"11Jovh6XDiufYCUFJ5Yc9DzttfGtJ8Utvf9UtJLi1VjC7LHB1UR9Wicv+1pIGHPHyPrNcdaEE0uL\\\\\\n\",\n       \"Gzp0UIpW/FeHEOrcTFJckaLL6Gjao17EAhaLV+zAYicSC1rc1R7EK3ZgYRgdpbhWc0JGoVajYoK+\\\\\\n\",\n       \"+ur793j25DTp0aGAgOXqxSNgcQvwCVhuGs43cnVBmKq7q/oGBmjHQsHlxlr08MO07zbb0EzZM6HK\\\\\\n\",\n       \"88VDldIE7qzh1XW7FpGQ61yHFOpzps+zblO8PW4XofxarTUVbltyWnvSbercXuwwk50DSBFrTMyS\\\\\\n\",\n       \"vQlK0UomYGfBikUomaxdhh/qlqDDGKUoxCKWdlS52u0wnFDvi9ECtWzZPidWJ2KUCVgTzbbbbkvX\\\\\\n\",\n       \"X389PfPMM/SrX/2KDj/8cLrkkku8ItYpp5xCJ5988oSXyTAMw5iemAPLyIMJWMYkRzqbspbpNkRI\\\\\\n\",\n       \"h7TpsEApaPnEKmoTJijFJSkwSamBp0vxyeep0aGEvvVkOdCbG/fi588ZJcUqFhB8YlAWOlxMCxed\\\\\\n\",\n       \"9EznE7G0aCXFLF4uVF4pqOgwQogwWA+aDj5HpZhKnAuKV2QnEo8PDo5tnFUcrkQcaP0A3NkZGaEq\\\\\\n\",\n       \"xKz6GamILEj8mSUOKTNkJXHnFhe1kTpLQryKUH4cU919hSEaHKTt1luP5sUx/euJJ+jC++6jvXfc\\\\\\n\",\n       \"kTaSObCkIwvrlstUrcZOt2MDGleBrFduE6FzzmGB/FnmJ5NtQIYk8vnLCktsqislwurxbto4lzPU\\\\\\n\",\n       \"q2WtVhB1In112oGFzzqsj1sE+/VYuGIRie8DvJ47GhWMqh1UvL9RcT+T+bV0iCSjww1laKLex3ho\\\\\\n\",\n       \"J1JxK+9mH0aIcrlMW221lfu855570tVXX01f//rX6ayzzmpZ9vjjj6djjz22yYG1YMECq1zDMAyj\\\\\\n\",\n       \"J5iAZeTBBCxjCuJzWEnHgpzuW1cKVqHt+5xXOpdVyHFV9EgNvmWlYOXrW84nbqXHVygU6oJOJISe\\\\\\n\",\n       \"yIVj+UQgnXeqcaRtnFja3cTT5Au+XFa6ctqJEDqcUIpY2oWlc2BJNxnDjiuYiKTYwsIDhBjMi6OY\\\\\\n\",\n       \"Rl2e8mIq+mAmBB1O1I4BYTQc08YHyjusC1gRxzuuWEEFuLKg8ojXfRnApf05WWnItT9QBpFKeZMF\\\\\\n\",\n       \"LIQMumHGDCIMLGKJ8bVnzKCXL1hA1z3+OM2cM6c5B5YQs5JikSpUoNFK3Mhd76tLnqbJEpD4PLK5\\\\\\n\",\n       \"jbeB6e1DBlvbTagdyP3x8vxXLyvbjhbOpJOPx9NpUZMrrVpNnOCXzkfYYcGNN4tDOFtVIWnK3FQy\\\\\\n\",\n       \"lFBKnjrDmgw3JBVyyMuxdCpzY8ntSXeYt3a5FpXkKudr55UWqFgEs7DAyUitVmsKE5T09fW5wTAM\\\\\\n\",\n       \"wzAMY3VhApYxiYl6sExWqKD8LAff+loEk84wHTboc0hpqaFdMnYWo0ptBKuxeXBZYf8IDSwW46be\\\\\\n\",\n       \"+mTvfT4RS7qv2rlWGC0o6FxTvvnSRZPHjSXFBS6nL3eSzn3ly3Uky6ZzNclcWJVqRMVaTEUZQsi9\\\\\\n\",\n       \"8fEG8BLHdhwoOXJDnNG8XoAIIYRxTAnOS7XqwgtrSdJoLdLfIj06rsyB1qj9gVIadeMuPDROc16x\\\\\\n\",\n       \"e4rFKxak5NDfT6UZM+h5CBsaGKBqoUBX3HYb7bTjjjRXhw+63FdRS8+DofxX+nz6hEksJ4Uq7cDS\\\\\\n\",\n       \"ImkWUrSSbVfvU47r+ZqQm1C6sKR4J9tUpRKJOsLnhKKo0OhNEdOa7xEsRPFZlu4rPvvccyG3At1b\\\\\\n\",\n       \"H99HGiXOqDEthMlMbToc0NeTIAUEK+owfDBPeGG3TltDO6pe8YpX0CabbEJLly6ln/3sZ3TxxRfT\\\\\\n\",\n       \"n//8Z6sowzAMY5WT5jnt7ru+2/WNyY8JWMYkJ0/4YN75MvBKClM6fFAuozMW+ZxX/LKo5QSdXF26\\\\\\n\",\n       \"rnTAl0+kkkFgvBwLWs1OrjgupO6h+ss7py2Srhb+zGKWTJKue4Rr1ELGS73PkSI/S8EoS8DKGxKm\\\\\\n\",\n       \"QxuzQgt9ZdU947HIAP0J63Fngpwsvm+gj5JK2qtgk4CFcQ4vlMqFPEhtXYMDaniYSitXUjI6SrVq\\\\\\n\",\n       \"1UkQBY8Dy5U34FGRrZACsqhrEXHsXFeunBwKCAFLuqrYgYXPvFw9THA4imhppUJ/vuYa2mOPPWjr\\\\\\n\",\n       \"nXaixIUS9lFl5Vhd8SB1Ox1KqIVKnwjpawdSWBpPyCl/lm4s2TmAbld6OxKf+4uPUToPeVwnta/n\\\\\\n\",\n       \"+K9/Ru6wMZdW2mS4BUgXlQwhlEncpbOKRaZqwO2E8dEMMYtzb/FnX84rGV7ok1azwghlGfV6erms\\\\\\n\",\n       \"+Xm+C4xOWbRoER122GH02GOP0Zw5c2iXXXZx4tXLXvYyq0zDMAxjlVOjyA3dbsOY2piAZayhRD14\\\\\\n\",\n       \"yfHlvQoJVNolId1Wsoc/n0AVBcIGWaiSIlVT2m31mR1ZY/OgKbAoxUYZKVjJzvTYwcTjWvzJern3\\\\\\n\",\n       \"uZl0iJgvJxAjE3xr14pcR3+W+EId9TH4wD7kMemQNxatOISQ66BcjqhQKlPBGVzqSgNXkkzexJUn\\\\\\n\",\n       \"K5rzRvEJwE4QloNpIyMuL1Z5aIiSei+Fsn86LV5JKYL/hlpmhH1DjGIFk4UpjEOoQu4rzmU1c+bY\\\\\\n\",\n       \"fEwXYtaM2bPpwJe+lP5zzz10zR130MKREdpr732pUI0anS7ywCJWSLTytRVGCo5cdXy+dK4pvZ4W\\\\\\n\",\n       \"pvh0+NyEOAWyHflyvsn5vvbeTqSV7jMW9fjYtciHeuPx1OgX1/OKycxoMqG77K+Sl5E5sCrcukWp\\\\\\n\",\n       \"eV1S23Kl55pUSdvd0XJNBNxdskVK2ZWFrjy5qqRzTE+X+zAmknPOOccq2DAMwzCMNQoTsIw1mFC4\\\\\\n\",\n       \"n++zfP33bSeveCVDDaW7yuek8oUKalEqFBpYUp/HxC2ECsJhUyxG7uWXNRItYHHIoHRjsTuLnVbS\\\\\\n\",\n       \"daXDqkLOq5ArpdlR0vxXvsxLoUq6odqFF+pwLxn+KMMLQ2WV4gqLBxhYNGGRgXOHQW/qKxUoKpUp\\\\\\n\",\n       \"7qsvzIWF0MMFka4rHmf1kAsHxaIeu+lC+rCz+t+4WqWorn4k6L1QHHyoF0I3jm3VK8F9xl8WqlhM\\\\\\n\",\n       \"8wlY7MDicEL+zOP1dQoDA7TXXnvR+kuW0JU33UyPLXqS1lt/ZpNoxXXGoYRSpJHn1weHDLJYpcNW\\\\\\n\",\n       \"+bz5HHXaZSV7oJTClhRtda+H0gkm21feNq9DUvlYpTDK7Y3rjOsJ5ZLtj8MM089I/o7QQhlSqDuS\\\\\\n\",\n       \"aLQC4b4qqbA/OU+KViE3FofwcU+Gcn++ngmralooH5bMeeVziPnKYBiGYRjGdMOSuBt5MAHLmMR0\\\\\\n\",\n       \"YgHVr/d5RCztaZGf5TR+kaSAmKVzWGXlw/Lnr2oeb3ZZsYAVRUWXOycVrlLxSgpY0ClYtGIxS87j\\\\\\n\",\n       \"F3wWsPjlnXNi+QSAUD4gRiexliKWz5kiw6x8vbf5wg5DaPHK55zRZdY5itgB43NjpSJggWLUFUaw\\\\\\n\",\n       \"MG8EC+rs3bxzVmNktnA+MZjOqg+SxI+MpCGKQgWCK0uLWLK1us91waopsRmfeG4ILFpxCCEnbq/n\\\\\\n\",\n       \"vGoJHfTlxurro40335wO3mwLomiAhoaI7r//IVpnnY2d6OITBWUdh86hdPux40o75XyEwgFlWKmc\\\\\\n\",\n       \"7gszlXmwpANMC6DtcmFpAVaHULJgxSIcp1TjNsanncNX+RSOjiJBPnJAxCIXhBSIfPc1ns/j2sMn\\\\\\n\",\n       \"P0tBSVY4C1dSlJL3QSmOubOglpECVdSBYCXnt8PCAgzDMAxjqmI5sIw8mIBlrIH4xKq86zHsaMiD\\\\\\n\",\n       \"zoHlCyn05cDSIpVOyC5dVmWxTlksg8/FNCF3XGjSJ2RubY5Ykw4s7c7il3UtYGFeKIm7T1DQuay0\\\\\\n\",\n       \"gOVLCaUdWDpXkpwnXTuh0LPGGVXhhL4eCWW5uVc7DFwGiAe6B0aMQ6xx6/XHVOhLHVfO8cQhhHIF\\\\\\n\",\n       \"rljpupInyNm56iIRPmOn+Cxjy+qKBgQtJ2rpytYnRgtYLFrxwMKVTOKOffI8hBDqnFjqc+JELZQ5\\\\\\n\",\n       \"cvWxcOHTdOWV/6TZs9en7bbbm5JkoOHE0uc05L6SQpF22oUcV1l50HxOQt0WpEjLVSnX1+UKibeh\\\\\\n\",\n       \"MFmMc4+MWsDCOOufLGDJEMJ6VGmjHtNQVjgAEa6ZJsxPE76jcCN1IYnvN5wzy5VauKxYPPK5n0aV\\\\\\n\",\n       \"SCUrXLqteBned5uLsbF97pJgvOGAFkZoGIZhGIZh+DEBy5gC6Lgx7RIIObGywgf5pS4rabsvfXYe\\\\\\n\",\n       \"V9WYMJWuVxaiFY+PhRmWSrF7oWU9hCPCdLQYaxM8LvNjsejlE7FCSdDbhVJpkUq7rGT4oBat+K9M\\\\\\n\",\n       \"dK3XA6FE4I2zFxDaZGgYm6OkSMX7glggt4Fx37HiF6H+ch8VpMtKd+8oKx0iFdu4WKHAABWIRStW\\\\\\n\",\n       \"LZSA1VBFQuqdFM18AhbHj3Kj4DKwOMWCFufDwjiHFip3Vq1YpqGhVLxKNbi1aPfdX0rXXHMFXXrp\\\\\\n\",\n       \"n2ibbfamGTM2aAgv8tzqgc+LTtQuDycr3NAnNmnhkqvD165lGKHPndXOeSjbA5+eULvWHVOi7rSA\\\\\\n\",\n       \"xcvJJoHPHGHKwvPISIFGRxPnyhoLC+ReCKULypU+w1kqRSV85vbF22Jkzi13xCqpe8Ezn9fjz1I4\\\\\\n\",\n       \"k+OyrDo4Nk/uLMMwDMMwpioWQmjkwQQsY4rRaSihdlfJEBodDigFKy1mhUIF24UO+nJipWGDUYQ8\\\\\\n\",\n       \"VzH19aUhg9JQw0KWFK0QDSZ1DBat+EXYF3Hmc63IMKssfEmsfS4c/aLv653N587CwGKTDC9k+LMU\\\\\\n\",\n       \"HHzllutJsa0exef+Yh3OQSQFj1TgiiiOkzTvWFSkEiq60ZyUoMXWLq5kqRjySWB1QwtYOg5Nd8vH\\\\\\n\",\n       \"+9OqjM7WL5PHo6y6wXAj0uGDLGDV82GNRkWXXBy95rH+huLNmbM+Pe95r6D//OdKuvbai2nbbfej\\\\\\n\",\n       \"WbM2aDq3us71YcgcV3xYLFLK86fD/XyDdGDp3jb1cnnafLswxjxtXmqSGFD9UrfkcEIZQsifIXY1\\\\\\n\",\n       \"u8vQ/lytUaVSFN1Dy1xUnEydc17Jr3adWD3UCyGPszDG07Ujy9dTocyVxW4vHfLYTeigYRiGYRhT\\\\\\n\",\n       \"HQshNPJgApYxhfC5q3S+K2ojXvlCBXW4oF5Oi1c6tFCLVLqHwVYBC7muCoVCk0glBSw20bBoxfm6\\\\\\n\",\n       \"pY6hx/mFXiZxl70Rypf3rITojHZH6Zd5qcuE3Cmc+0iKWz5Xiw7X4v1pwUom6NbonFych4i3gXLJ\\\\\\n\",\n       \"ZPAsKIA4rosI5SIVSjFFtbQQEBdadowdyR4JudJ5B1kCFqs/PC4PWFqEZKiiT8Dik8uNhz/zuHRk\\\\\\n\",\n       \"CeEqcYJWPyWlMlVGx8Qrjnrk4kZRH+2884tp9uz7aebM9evCTIWq1aI3FLTpyhNtS85nd5ZMqg5C\\\\\\n\",\n       \"uaykfid1wpDLUEddyu34XF4htENQiq+yN0YOq+QwQT7NK1c2n3aZFs3nEEtPc3q/QV6sNKTQlSSQ\\\\\\n\",\n       \"A0s6nxql5qtAuKF4XH6W25TLhfJj6e3pkEX9t52wZRiGYRiGYRhhTMAy1nB3VUhlkS9bctlO8175\\\\\\n\",\n       \"XFhatPLlw2JRikMHZc+CGPrE9HLTcoVCsSFWhUwzUpOQ83zhhOzAkhqHjDobr4Dl01uywqlUrvKm\\\\\\n\",\n       \"F33pyMrKjyXntRMaJLwNFsxwfLxvFiN4ezKHlxbO0jLFNDAwQLG2tkmVkRUfVhLxGdP4MwtYHFPm\\\\\\n\",\n       \"q0C5Uy6gT9VhJYdPuDzZ3IikTY/Lye4sGVJYLlOtUHIii4x65DA3HALPw/jaa2/m5j399FN0003/\\\\\\n\",\n       \"oI033ovmzNm0KQoyKywwRCiXlXZP+XK7hZyGWWGzWg/slYDFIpXMeYVql2GDKBfXNfaPUyHrmufz\\\\\\n\",\n       \"8SAv1vBwud5LYaU+aKGdxDhyXoGK7ywI0Umu2zha5UiVrqt2SFeW3J+vx0I5j9cNiXGGYRiGYUxV\\\\\\n\",\n       \"BxbCCLvdhjG1MQHLmOL4bmKc48oXOujLd8XrxB2ECfqdVc09C8plEDJYcInaU1EqDRnkvNocBcYC\\\\\\n\",\n       \"lha3eJ7WKaSGITuq0y/9ute2rBBCdjLpMCopMklRSr/UszNFjvPLPYf0yfmcL10KZtLBk9VToS63\\\\\\n\",\n       \"FFZYxOJj5fxXvE12BDU7xKJGQvpSsUjFUkzF2YUxWw3Hf3EiI1Q8i1k4Kb5kSL5u67iQXCAdTwf4\\\\\\n\",\n       \"ZEllxtf9pBbX2IEl1NBkYICqcYkq1ZhGh6MWAYsFK+nGksJMqTSLZs/egO6663Jaa62FtOGGe7p2\\\\\\n\",\n       \"HTo3PvFRtjndJqWRTYcC6vz1siq0gKWdWjqZu6zirPav3XzcTrQYy2Itp0Tj087tnE15XL+c758F\\\\\\n\",\n       \"K05Az8eR1lNEUZTQ0FChfh1KoUc6srQ7y5VeHw3XvsqP5ROVdAghr6dFLc6Rpfcl3VeGYRiGYRit\\\\\\n\",\n       \"TyV5n+tD2JPG1McELGMNoZ2a3i5ReyicUE/PGkJurCxhS09vFq04wTuLV0jYzmmJWGeQoYMc7cXi\\\\\\n\",\n       \"lZzHopVPq5D5sHxOlaaX+SgR0T3CEVF/o3dfLHiJd26UqMVxpcOnON8P5wKSyb65HKzpcB4qmfhb\\\\\\n\",\n       \"hhpyhB7/lcnks+B1ZNihDiVksYFhwYD3w+vwNpK+mJIS1A6iuJ8oKhYpkqoDKxLyAFm5YPUCJ4cV\\\\\\n\",\n       \"EClgSbVNI5UWVmOk0uETsDDIcMJ6g0nKZUqKJarFJRqtIVk4er9rFq1k+KAv73x6Xkq0+eb7UH//\\\\\\n\",\n       \"fLr33mtoyZInaLPNXkjl8uxg/iuNzkPFh6QdV1q40tGT3I65/csIS18YbbMjK0mbvhRwucG76ayc\\\\\\n\",\n       \"polGdYirznslc61xFCnqkPNecQ+YnG9N5+RiIZXFVA4zRAERSsjXWZLgXiIrWrYdNGQ+Bv5cU9Nl\\\\\\n\",\n       \"7isWpGR4YOieyPjCA+V6pObp8azHTRO+DMMwDMMwjBQTsIwpKGL5Xq58b816GcpwXfnyYUUdJHMv\\\\\\n\",\n       \"ecIJx8SsOC42ErXLVEVaqKrn124SsWQ+LC1a+RK8pyIAkpJ7BCy8OFONIploitUboTzgNT+JIqpi\\\\\\n\",\n       \"Nl7e8RKPF3eRyJvdSqzLsOjB5iQWq6SmIxNc88u9DFOUeau4aOzOapQtyQ778iV850OUwpj8LPcj\\\\\\n\",\n       \"wwtxjDQAJxZyY9XFoTimiJMeQQmSGbv5YH3xk75s9z582clDcXQ6EVq9YSX1eRCvqoRk7c0mMt1Z\\\\\\n\",\n       \"onRgSQFLfsaw1lpb0LbbrksPPngdxXFfSwihzlfmE69kziouutTqWMSSLivpwJI9cepOItPxpLXH\\\\\\n\",\n       \"Quzf/U1c24+koNJ0DaTT0fYTitN2rwSs9HOaO0yedm4SqF++BthphWnSPcanGMi+AXRfAbjXQHRM\\\\\\n\",\n       \"tU7twOJ7mBapZFJ3/pxk5LnSObP4PkmiZ8MsMUqHDUoBy8QrwzAMwzD4ySNy/7rdhjG1MQHLmEL5\\\\\\n\",\n       \"sNrN1+KTdlJpEUuLVzJBuxSm5PRQgnbfUGrkvKqnH2oRqaA3YB5rD/jMYpb8LCPCpGuLX/hl74Wl\\\\\\n\",\n       \"UuJcVhEUJxZTRvEWDluJ6DbQpwSJ2Cq4jYp1EaXEtpY4piQqUKU25k7RoocMpeJwKdZytNaDgUUQ\\\\\\n\",\n       \"LMvj7DzxaT3auMQhiHKePDw2O8k8Wbwf3asc16csL8qFc1MsFtzQPxsL1A8QM3QCJGlPk10y+jLW\\\\\\n\",\n       \"h/BlNpeKD38O5cMqFGloNKbK0JjOJl1WfF54Gk+XvRFy3egoyGJxNm2++X718SF67LEbaP31d6di\\\\\\n\",\n       \"sTx2JQo9VIevaocUii0FLJ3bjZfVoq0Wt5p6KHRClYhxHQ3kH/PZ++qFT9u/syyObbivSElccO4s\\\\\\n\",\n       \"WW847ToMk//KHFhoLsuXp59ZqGPBi4UtnCuuO153+fI0eX5rGCCLWfo4WDxiJ5Z2ULmLXTmxeD13\\\\\\n\",\n       \"BXkELznfF76oxTUfMgm8YRiGYRjTCeuF0MiDCVhGTznllFPoN7/5Dd1+++0u0fU+++xDX/7yl2nb\\\\\\n\",\n       \"bbedYOeVFJ+ywgmztuELEfSJXno+i1tFIWLxX9374JhwFUVwXqGnwdR5JZ1UsoM4dlbxZ9FpnMuR\\\\\\n\",\n       \"pXNyt3Y4l1AJrpOkSlGtQoWVUB4qFLGIotUgGcbWUk2pTSbydQvHb9kxelDEscXuZb40o0CjlTTk\\\\\\n\",\n       \"iZ0+LAax0CDdKKzr8GZlaJ/sGVDqPeyW0k4s6ZZi0YQFLRmSyLqcFLZkni1ZPaGeFovFyNV1Uoud\\\\\\n\",\n       \"o65QiKkwo0hRXx9FrO5o9SfkwMpK7iWtSjoDuXZg1RtEUihQUihSlQpUrcVUq8Q07EST9JzoMEEt\\\\\\n\",\n       \"XulcZVJ7kznLuOnwIQwNLaUlSx6mZ55ZSJtssg/NmrVeU2eKY73stfYmqMMEebqMimwWZptFKzaf\\\\\\n\",\n       \"wW2I9g/BFqJVNFKjyLX/Nj0HZFwDUUh1q1un0P5xHRSLRSqXCjTaB0dWKmpBgJJinHRgadcVO664\\\\\\n\",\n       \"iHzqZSgtypKeQ86JJR1W7kpRX/UyfLCo8mexW0re66T7ypfwPW9Cd96GvFfX1Lys9U3UMgzDMAzD\\\\\\n\",\n       \"mO6YgGX0lEsuuYSOPvpoes5znkOVSoVOOOEEOvDAA+nWW2+lQViGepqIvd1nHveFFkY5x31iFQtW\\\\\\n\",\n       \"MmSQlymqdX0J3DlsMHY5r7RTSopWHCoohS3pzpLLyU7lnMhVrrkX92KhRsWoRpFWJXTXf1JIycqg\\\\\\n\",\n       \"6BOv+C27UHDiVkEoCUmhTHExpmocUbGQ1g3CnmQIodwUa2r8gs55f2ToH7/MyyTsOuc5LyunSU2C\\\\\\n\",\n       \"RSyezoIBj8t1Zb4tbZTiz6lrK80Jxm6sUikND40KVYqKJYpKqTsrYtUnJJ4AnwvOZ13yiIguRLBQ\\\\\\n\",\n       \"dH8hIjpXUFRsEqF0YnHpEJKmMdlcpJCldTcpXrFwOGPGerTVVq+ghx66nO699yLaYIOdaf31d3Ci\\\\\\n\",\n       \"S6gZydBW6baSueil+KlFrHS5hPr7EhcSiAHtn6rioHzJ830nNYQvw3y97l0etFKJivUCFctlKiDZ\\\\\\n\",\n       \"fxzTaDFKhc365SK1R3yWbZNFKt4ddx7A7ZLHMWDXtRrCCROqVovC+cQilS9MsBgIG5RhhlEgH5bO\\\\\\n\",\n       \"i9WoGM98KVrJ9qzXC4Uh5hG4DMMwDMNY04GDPeqyF8FuezE0Jj8mYBk95cILL2wa/8EPfkDz5s2j\\\\\\n\",\n       \"a6+9ll70ohf1aC9t+rn3uq7auaj0elKwYlFKClAyrDDUE2G5KVF7c4+DJZfzSjqteOCeB3ngUEF8\\\\\\n\",\n       \"njnTH16Icczr60vSHgn7sdcqxQhlGxr2JzLyvcDr8EFfDixf/iXpwJLKQ6lEUX+/e5nHkJSQ66tI\\\\\\n\",\n       \"lWpSd6OkrhQpVLATCwOHtsm85ezG4gTsmN848/XTx8KWzI/F4orMJ8SwEMDJ4vGXDWpcJunukfm6\\\\\\n\",\n       \"2D3Hy7EwkR5+5I4XAyLokOw9rlUoSfx1H+mC6eRdMgM68jCFcmBFMdXiYiNCriIcVlLD4d2HeheU\\\\\\n\",\n       \"Wo8UtEJpu3ydKJbLM2jLLfenxYtvpkWLbqG5czemwcE5mWGDOkxQpfBqEnxZ0Ernp+2/CEGIqhRV\\\\\\n\",\n       \"EKdaL7RM7OUTcH0HFLoGZLIuXfd8MHVVDfnQShj6+qhvoEgDAxGt7OMQWghaYwne5aosbrGgB7h+\\\\\\n\",\n       \"WMSVzsH6Ek7ISl1YepAhfPhbFfcqHq8IcctdGeLeOOpxaen7peyhUH+W92e5bR+yV0PDMAzDMKYD\\\\\\n\",\n       \"nfQunrUNY2pjApYxoTzzzDPu79prrx1cZnh42A3Ms88+m3Pr2jGlhS0dThjaBjulQr0KyvFQwnYp\\\\\\n\",\n       \"bMlx+bnc+KwdVan4NCZScZggBCoIWuzC0vM4dxaPl0twm1QpGlqZClejInGRdGBx4ikdDyZf2n0O\\\\\\n\",\n       \"FH575s+cbVp2byiTE+EzYgbTJFGpI6Wv34VYlfrgPis1nECcz4eFFM71wyIKf5b5rljUwnyZFBz4\\\\\\n\",\n       \"OvLTYYYsgrEGwc4uFrLYCcTz+PCkSMU5inheVo+PqcZXcL1OFpC4v1xO94/j4Bf2rB4IPecBycRd\\\\\\n\",\n       \"+jKIVQjVHI0ax+nLV8WnHeWWopQUrWTTYK1H97LHxcxnWIpo/vydad68rahcHqAoqtHy5U/Q3Lnz\\\\\\n\",\n       \"3GHIxOwsVMmOFFnQYXehFA7HhKyESlEaGhiNVImGhWClxStZMTydVTppy/OdB24w/NkX66jjGusD\\\\\\n\",\n       \"xKxiXx/N7B+gSl8aPswhhFK45c0Ambhe7ooFV15OuhSHhjg0kN1M8uTIsEH+nLak9H7VOFAxXvPM\\\\\\n\",\n       \"07QTnKT4xRSE68vyXxmGYRiGYRjZmIBlTBi1Wo0+8pGP0L777ks77bRTZt6sk08+2TMnb/6qEFmh\\\\\\n\",\n       \"g3K+Xl6HC/ryY4VyZunQwuYQQidcFMZyXsmE6yxSyTBAGTKIgd1Z/HksJ1ZCfYUKFSoViqujqWgk\\\\\\n\",\n       \"u5XjwWexkYmcdP4fqUrIruJk+Bq/Vcvu31iRYgWinvQqwrRazb3IR+5NHLoewuzSkLLGmRDhgjxd\\\\\\n\",\n       \"5gBiUwzrCyw46R4JGe220vNk2imZT4tFKwzSocVJ3mW18XKc34t1DNb3WPjCsaZVFtFoo0NB9AoZ\\\\\\n\",\n       \"N3q/i9q4DJNKOh/95aXljFpEJumakhGL0lklU3HJcSlkSQFLhwvqlFEh+HyWSgPu75Il99NDD11F\\\\\\n\",\n       \"8+dvR5tssmsjrE5qP748V3wdsKjDvXC6UNmoQnFlJA3PxMGg/fMB4y9ELB0XKbtSlAfZyTUgT7A8\\\\\\n\",\n       \"8TLmsX4NRHXno/NuFkrUh1xZg0XXFriNyZ4GpcCqwzSxSV5enuP0vKM9FOpOLFxkVSFkSdFI57sK\\\\\\n\",\n       \"5cDSIYM6f1XjTAfCB3Uo4Xjo9vvAMAzDMIzJjCVxN/JgApYxYSAX1s0330z//Oc/M5c7/vjj6dhj\\\\\\n\",\n       \"j21yYC1YsKA+1u0Liy9/lQ4j9C2TNe4TqrRzq9g275XuMVDnvJIilhSzWLSCgDU4mFAf1iulOa4i\\\\\\n\",\n       \"vKRDqMJfDOy8wsu8zNStX+CzQgh9L+++8EFf93Acb8dxgpheVz4gZhUQUleOqBDHFCMkzu02aonW\\\\\\n\",\n       \"4pd0Rjp+OH9V44yLJNcSmd+qpZVEzQIWC1eyZ0LeDw5FOoa42rhKZA+KHP4oXTXSacRGKoiaafWm\\\\\\n\",\n       \"7R2CTha6ozwpKMnoUO2akiGE8rSzgMXryag6Xk47rnjcl6qL61T+ldPXXntziqJRevTR62nlykW0\\\\\\n\",\n       \"/fb70syZM1t6GdQmJhlCCNG2H9dJCXmuqhSzSCXbvAybZQFL283kwetrICRg8WcdQigLzQNXIPaV\\\\\\n\",\n       \"Jqty44W+Por7+6nQF7v2n55yPv9jed14l/Lcoliy7wXpTISYiYTxEK/G8mGxgJXUP3MvglKk4vuZ\\\\\\n\",\n       \"LwdWLUO80qKXK0Xgx4JufP0mXhmGYRjGVMYELCMPJmAZE8IHPvAB+v3vf0+XXnopbbzxxpnL9iE3\\\\\\n\",\n       \"DBSbnvwCH3e4vg491EIU/5WiFwtTMhlys1DV3ONgmv+qUChQuZzmvdI9DfI0DguUoYXsusL47NlS\\\\\\n\",\n       \"wEpoRn9CMZJTLx8iWrZsLBZpxYqxl3lMky/zHJ8n48o6CSH05cDKss1g31KtYwUILizsu6+PisiT\\\\\\n\",\n       \"NdBPcQE5o8b0BmlyARxKCHRaIpkbi+dLdG4mHzJCkg+Py8AhXixMqdz1Kkyw2YHV0lFjfb7cvtRG\\\\\\n\",\n       \"OCxsPAKWDOmTugyPy9RPWR0i+kxJsom0i3SUdcmMHWtEG264La2zznp0333/ottvv5D22OMVVC4P\\\\\\n\",\n       \"NjUd/GUHIjcfdl05QaucpKGCy4Vwq0VbvgaystTrjgykmJU3hFDG+elkXfIgWH2uH1A0cyb19/dT\\\\\\n\",\n       \"eWaZCsWoSf/leuS6lGGDOlUa530buxZiJ2SNiViN1uNJ1u7OqMjr57Ya6HUw3XY6cP34wv+k80oj\\\\\\n\",\n       \"83GFsJBCwzAMwzAMoxkTsIyegl/9P/jBD9L5559PF198MW2++eYTVMO+BMK+eSGko4rH9Usab0s7\\\\\\n\",\n       \"rLRw5e9lsHm8VBevUgGLX8T5r0zcLkMDU5fVWMJ2DO5duJzQQLlC8cqVqQiEl3UIWPwCj3GIWPzi\\\\\\n\",\n       \"zs4sFrAwXyc78oVP8Qs8K0XSgaWTtrOlyGWRH2gOoWLRioUDfpnnxOW1GiW1GpVLfVToQw9+sddR\\\\\\n\",\n       \"pUMKeT7rDlwcdktx7ipGO4Z06JvcJufckom0ZeQkp/+SYhaLb1LXkJofj0vRSgpavO88ApYU5LTm\\\\\\n\",\n       \"Ip05croOL5SilRaseB+8DWlI8omBuqdIX8o0bkL8edastWnXXV9Oy5Y9QLNnD9b1zxr19cGp6BGs\\\\\\n\",\n       \"6tdEqVCjQlQlWjlMEYuzHDbLbZ6n6/aPA+LwWt21Ig6MxSzfAcveBHRj4JOLv2j/Y1axMQcif667\\\\\\n\",\n       \"sdDBAVdyXO6jgb5+SpKxkFrZjoFsj3xe2DEoRc20Y4O04leuLKmQQd0roUzYjs8VjzvLnW3VCuU8\\\\\\n\",\n       \"n0MrrzDF49LVZRlYDcMwDGO6Yb0QGnkwAcvoedjgz372M7rgggto1qxZtHDhQjd9zpw5NICXulWC\\\\\\n\",\n       \"L+eVHkLCl299uawvXFBPa00Ej5AwGRYlk09LZ4kMIWRBS35OxasalYtVKo7WnVXsPJEv8FLA0s4U\\\\\\n\",\n       \"dqToHFg6wZEOn+K36FC3cexAwWdsg20kWiEB2t2SIJsTUcGJAsgfhOOOm9w+UkjhMD0uIgtVLGJp\\\\\\n\",\n       \"QUUiRSsZlsjzpAgj9TreNtaRvRXyuJynwwZDHTfqeXKfXAZdPnkMMleXFq98wpYWqWQOL72MdFxJ\\\\\\n\",\n       \"PUeWQZv0uLc8H/K45PGXSiWaPXsr9/nJJx+gRx+9mfbcc1+aMWOuv8fBYo0KSZUKFSFMyfYvXYc+\\\\\\n\",\n       \"AZfHdVJ3rgAZmwdkO5UnSYYPyiTuHDbLheb9cC44rjj+XFdcI4QVxhH1QSh1+fLilnPBPW5iHJvj\\\\\\n\",\n       \"ebJjUQyos/QaSXNrIR9WsygVulfp+5wvZDCUR9CX60rfc2ViecMwDMMwjObnXOuF0GiHCVhGT/nW\\\\\\n\",\n       \"t77l/u63335N07///e/TEUccsYpr25e7yiduyZc1PV3+9eW80nmyeJlIJG5P3SS+CDud/woCFTtN\\\\\\n\",\n       \"ON/V2JA4B1YpqlIxqRAtXz4WKigdWBgwHfN1CKF+eecE11LlkG/MGmlD0smrOXE1x9hxtm2ZDVxn\\\\\\n\",\n       \"BPdYoQoDRFGpTAP9aYJyPi8y/48MlWP9QOah0iFWPnzJx7Ugo8P6pPCCw5Lj2pAj8135xCoZGsb7\\\\\\n\",\n       \"kftzR64cZzoZPU/z1UtI1NJClhaqfOv49t9ytdWdcFnuMVlH2pWGYe7ctWjx4piuvfbPtNNOe9DW\\\\\\n\",\n       \"W28twgcTdx1AvIoh3nK7l22eP/M82ea53fP1INu/vB6kiKsVTm4IvgOR7Z+7UpQiFl+LPkG3fjJw\\\\\\n\",\n       \"6vtmF1INtxTVi5M2CC4Ony/UBZ8j7EJqYzqHWK0WU5KwaxQqmBS0fLkBE08PgTxfC1Qy+bsUu2TP\\\\\\n\",\n       \"gtJ1ZeKVYRiGYRiGMT5MwDJ6StrrVa+Qv+7HPeyhSua90p9Djipfzqs4kPNK/i1QHBca77MsTEmR\\\\\\n\",\n       \"ivNcsVCFcQhVmCbn4S96GoxWrkhfwCFQLV069nIOAQvTeByf+WVdvsyzK0ULWDpLtA8d/yZ7XZN2\\\\\\n\",\n       \"Gc57xeGEnPOHk1izwMWCgQpjjJAXa8Yg9feh/tLzKg18OkUXVpOOrJDzSgs8WUnIfYeu0x/lcVVp\\\\\\n\",\n       \"zU/rH9KVNN4cWPr4pCilQwHzuLVkHWfluWJkmKVMqi+T6/uWZfGKBdyZM2fTvvseSPff/x+6885r\\\\\\n\",\n       \"aGhoIe2zz/NpYKDkkrUXkyrRCtWu2WmlRVtcD1LAlb1y8rXAoqq8HnRSsawD5vYv88DJA+I2L3tf\\\\\\n\",\n       \"wD5QBr4uOCEZptUrv9DfT/HADBocLDa1HXYBctigPPcyrJOvFSw3OhrR6GiBqlUWj+rJtdKlVbhf\\\\\\n\",\n       \"pX7f4vxUUUCE4nuiLweWDC1sR7s8VzpXliVyNwzDMIypSvo80913fU9fRY1JiQlYxhqMDk/haXnW\\\\\\n\",\n       \"0Z91yEy7z1rsKngHhA6WSlFDywn1Osjilp4/9u6LHtdqFA2tTHP+cIggC1YYf/bZMUcK5skQQn6x\\\\\\n\",\n       \"94UQ8ss78lCxjSN094/jtKc8nwOLD5LVOs57xWIAu1ywPuZz1mnZBWBd9XFnpVikUrmfEFxYrUYt\\\\\\n\",\n       \"hhWpfcn8SiE3E9Ahd3rQy7pWUt+GTgcWiibTwpYMQ9RilgwZ1GnGstDpmXRIYSh/VchppaNGpagn\\\\\\n\",\n       \"RRJZH4wU4dgFx9NV02k6N1rwY+daf3+Bdt99L9pkk/n06KN30sAABODE5b2KRurtmQfpwJJilnRk\\\\\\n\",\n       \"od3xdaJdiCxoSQdWvVKcGK8bBROhp8xoLBEa2yr5epB5r1i0ldeaHLji2L6G9l+PZe3vn0lJ3YXI\\\\\\n\",\n       \"UYiyQ0O+XHnTrEHzchjSoqT3rzSUUDqrtGDP87Qbi4UpGYYok7z7eh3MyoWlc11JocyePA3DMAxj\\\\\\n\",\n       \"OmK9EBp5MAHLWAPJEqyy8rP4lssadHiNL9TGlxdrbCgU0l7FZPigLweWzH8lha3GtFKNSnA7yJd1\\\\\\n\",\n       \"vKDzC7wel24UHpc9sQ0NpWJVpUJJPawPSdTd34xXSKdN1FWICC/addUh4lxXYzFLzY4WvOyzOKAF\\\\\\n\",\n       \"K5m9nB0s9c+FUomKcUTlcsEVHbM55w+nGsoK7ZMilo5W9AlYUreT+prGJ0BxsVmk0oKNL3E7V6f8\\\\\\n\",\n       \"3E68YrTIpJ1T2mGmxSnpyPIJYBqeL4Up6R7jcXl6pejF9aDrQIZTsiML53mTTTamrbfe2F0by559\\\\\\n\",\n       \"khY/9hBtv2BB2mmBFGI5v5UWs2Sbl71yegQsdw3gWuDroF4pWfKLO/RCwV0H7i+2gWuB41lZwJUi\\\\\\n\",\n       \"lQxJ5Irn7gaByPKP7Zb6+6laKlAtSds/i1QsZvEmMJ13xYYyeb/BX4QiVqu+zih8olUt477HIYT6\\\\\\n\",\n       \"BwTfDwo8XQpVMgQxabOcYRiGYRiGYYxhApaxhpE3VDDLOcXzKZADKyvRsS95u3Rd8XgaUgj3FV7A\\\\\\n\",\n       \"WbTivzpBu+yNUPY2mH5OqFBFzqsVY2GCeEFH+CB/luGE0p0lE1zjRV0mtMbLerXqgoAwsHDVrv8w\\\\\\n\",\n       \"12sgjq7+ku5qQYQRIvyvJYk1J+rB/lk94XxYnDyJBS1WUOqKRrGUUNyfJrTGOZKbSl/MmztU1O4r\\\\\\n\",\n       \"2WObziEfcivxMj4jmsxLJT9LcUbOk4IWL9cLAUsahEICljwO3/FxHejjzTp27UTjsEFdP1Ic8yXW\\\\\\n\",\n       \"Z7FPdmApo1HTayJx18Uj9z5GN1x7LS28807ae9ttyUXIsTDLwhXav8yDhWuFBSy+FlgFWrmSEpHU\\\\\\n\",\n       \"vVatNto9S0y5roVqlWIMo6NUGBpygm6Cg8D++/spkj1v4i+rTrL3T9mNIPciwCemVKLywCAVBuO6\\\\\\n\",\n       \"ADVWf9IsqfPQ82FiGa5L5MAaGeHcfLX6IB1Z1cC9TocG8md3FgPhhFUlerlWpT6HkBeAiViGYRiG\\\\\\n\",\n       \"MV3ohQ/bnhymPiZgGdMM+ULly6sl5/lCYvRfLWSN5cNi/YZf0DlJu8ztLMUsnsef0zxYCRVGh1zo\\\\\\n\",\n       \"YEOUwou5FK04XJCn8zyZA0skta7WXSYsXGnxqt2rpS+AEi/xeIEvDA9ThP1yzh8+wLFYprEXdFZC\\\\\\n\",\n       \"uEs/nQGcVY1aze2jXO5rSkKOTbMwIyMaWRMI4cv9JPUE4Isek6KOdiFpJxbDEWY6z5VP0OJt+fJG\\\\\\n\",\n       \"derA0p1Iyo7vZD3o8EM5L1QeeTzc66A8Zqk/+uA64rqR6dSkyMt/45Fh2nrBxjQnIrrin/+kP110\\\\\\n\",\n       \"kROxNsAFojsuYNGKBSwWa2UIYf0aQYhgtT5wu2cZJ0+6cV9AcQHXAXK4VSruemgo06woydg+KWDJ\\\\\\n\",\n       \"LgZRGXwCyuV02339NGPGQFMILafMYgELu+PN8CXH82TquZERFrBwdJWAKC/vcTL/lL5/aqseT8sK\\\\\\n\",\n       \"HzQMwzAMw2jFQgiNPJiAZawB5MlrlQefKOULC9TugtAyvrxX6Tz0PKhDeHQvhLLjPh1S6EIHywkV\\\\\\n\",\n       \"Y+S9GqZIOql0T2sy/w+/qLOohVDB+vza6CjVIFwJ8Ypf2PnlXbpO9Mu7rA0SqZ65JiAI1JIkHYeQ\\\\\\n\",\n       \"hfkyhJDfqGXIFCsXrJSgrKyQ1HNqIZQqgROrXK7XXxqWyZFaUgiR4pAUhjQ6XE6kPmoKtZPLSoFH\\\\\\n\",\n       \"i2Q6hxWjy6TzXfG6vXBgafeUL0+WTP6ul5XbbTrvosxcRi6nDjXE9Iz0acHcYXw+m4eEigXEx1Vc\\\\\\n\",\n       \"2OD6s2fTK/bZh668/HK64rrr6NW7704lGUYo81/pnFh8LYyOOucVRFxu8xVxDbCk4+pBTGuqDz4e\\\\\\n\",\n       \"j8xT5TsBcmhh+tCQE3dR0c65qPO+aZWT1W5u0AMDaZhuFFFxRpn6ynAiRk0hgxj4/sLCrr73yGF0\\\\\\n\",\n       \"lHsklPcwWXrpxNL3Pr47aHeWdsbKdXL0AtA2ZNBCCg3DMAzDMAwTsIw1gmgCl/HleZHTfSE1oRxY\\\\\\n\",\n       \"Y0JWFBUCL+WtebDkZ5kDC4mri0m9xzKfeKVf1Fm0YiFrxYo0TAri1dBQQ7Sq1AcpXmkXlu9V0vcq\\\\\\n\",\n       \"yzVQFONOFUdoIZxTlUojIXVDbckSsGQsGSe9Qq6tUolK/TWqFGOqBAQs3bNfHjFIi1e6B7+QQ8nb\\\\\\n\",\n       \"upRbSYtUMtWXFrHk8p0KWDq3ly4vH5MvNDBPD4y+RPNSmJOwIyu0ndB58l4jxYRKcd02Vo+R6yOi\\\\\\n\",\n       \"F++8My178kkqVSo0snw5jTzzDM3EQfiuCSHwQsh1Im612nINVJQDsdbGhaWlbZZ9+C+qAS5HCFko\\\\\\n\",\n       \"f5wkTuDl8Num60E2YL4hsNKH8tfzbBUGBqhUKlFfX+RuCWxolCGX7MAK33uQfL5AScKiVSEj1Dp0\\\\\\n\",\n       \"7/MJVTyE5L7MFpbD8G8ClmEYhmFMeSyG0MiBObCMNRTpBSIV2qLxzfO9jDEFzyuqT7Dy58RC72Ss\\\\\\n\",\n       \"xfCgHVZjOX6aex9E1N3MmenfvmKVaGk9xxWHD8oQQvxFz4MsXMleCOv5sZDzqoYXffHCzi/vOoRQ\\\\\\n\",\n       \"vrxn1bqvFqqiFrBtCA0IpYKIBaGhEevHMWz8mdUQVlxEEusWN0pfHxWiEpXLcVNYFHQuDknjTWbB\\\\\\n\",\n       \"QpWvRz5O16UToANfYvPxiFmNVlYI9+aXF+mqYvT4eEQrXzmleMW9Dcp8VtJglHUOpEOOTzcnbpeC\\\\\\n\",\n       \"biGqx7xx6B9/XrmSZmIjQ0N045130v2PPELPmTePNsVKfG3geuCccMj9tnw5VSqVhmA1LNq+dGFJ\\\\\\n\",\n       \"ATfvtcDXg/Rh8rZZ0C3DiQUxt557ziE7NWAllSuVT5KLoRxzZ/XNmkUUIR/WWMeJWJU7/eT8V5x6\\\\\\n\",\n       \"DuPs1OI+FlKXXCRcWDKHVSipu5auZc6rxpn1OLW4pkIyoOwRUS5r4YeGYRiGMe1wzydR19volG98\\\\\\n\",\n       \"4xt06qmn0sKFC2nXXXelM844g5773OcGl1+yZAl98pOfpN/85jf01FNP0aabbkqnn346vfKVr+yu\\\\\\n\",\n       \"7EYuTMAyplgCd/kSxS9IWUKXT5DSAplPsJLbl5JOkeI4bghV/IKuc/s4gaqvtQdCFrWKNJr2tiad\\\\\\n\",\n       \"VZygWk+T4lbdgYUX9urwsAsZxMv5iHJfSfcJv8STCp/iv77a07WLbZTUS7/LBFZXWIorV7qE1w2R\\\\\\n\",\n       \"ikOopGCFN2tUgBaw2LIzMkKFvkLj5RxaAAsfGDCNxRDujVDiC6eTIYT8wi+TwvsSouvcWN5WqJqp\\\\\\n\",\n       \"L5xRC1hynTwinDyudgKWLnMeAYvLjHqR4X/YFiduZ5McL8+5r7h+tSNLuq+kcMXGO2yDrxHnXhoW\\\\\\n\",\n       \"vQ1KR1V92HXddWnkqafo8nvuoYXlMu05MEBFkefKXQsjI1QRrisMo6LdjwoHlhZzZTXJa0GG0bpj\\\\\\n\",\n       \"V0HEfF2xM9EtC0F3eHjsS5fDa2Ul8U0DoEJwPdcrxvX02ddPRXeZwIk1lqgd9wzOSY97Cw5dhhRi\\\\\\n\",\n       \"ngxVHh6OqVot1o9eilj6fijH+cilZK0TvDdaj/oZVfrU4pw/s3ItWzpWwzAMwzAmhnPPPZeOPfZY\\\\\\n\",\n       \"+va3v03Pe97znBB10EEH0R133EHz5s1rWX5kZIRe9rKXuXm/+tWvaKONNqIHHniA5s6da6doFWEC\\\\\\n\",\n       \"ljEF0eGAel5oGV84oc+JpV1ZUsSC+ypuvIzLF3XWanyhPdKd5SKKalWK8DbK3YvxwD2pcVgh/sqh\\\\\\n\",\n       \"nvMKL+0u11WSNL24V8XLuy+Je14Bi1919XyXC0u/eiJ0CmFUcKZxbisOm+JYKK4Yto+kyXrSAW/i\\\\\\n\",\n       \"dctUnFSpFtWoUBirY5kIXDqCfCFuOsRO9pTHn2WPhiEBq1UACr1kpwXwlSUrXLATAUsfn0+sGitv\\\\\\n\",\n       \"djl9LikujxbhpA4p6yUUbqlDEaWjS18rUVRz57phlWO7kbomStUq7bPBBjQ/Seia++6jJysVevla\\\\\\n\",\n       \"a1Fc722zVncgVpKk0e61A7HiEbBkTqwsAUtmf5L9+snrp9FnX5JQsVZzZUJeKzg13cGyuoQB17Sz\\\\\\n\",\n       \"n9Wny+t+dJSi0RGKy7ELJZSdfIZCBmWdNl8rELC49KEwwdgTLBwKuaZAGHaonVlIoGEYhmEYzeRJ\\\\\\n\",\n       \"2dGOTtc/7bTT6KijjqJ3vOMdbhxC1h/+8Af63ve+R5/4xCdalsd0uK4uv/xy9zwGNttss+4KbXSE\\\\\\n\",\n       \"CVjGNEK6qtrlw+Jx34tbKIQQlxOElTRHk3aYcO4r3/iYgJVQCdrOytEWYaqpR0H+LPNjwW1Sn+9e\\\\\\n\",\n       \"2pXjhF/aeZxfuEcDvRD60jPLnD/8asuvovziz8aimnSo1GP9nAsLPavJnD84Bo4nqwsPDSsOCxb1\\\\\\n\",\n       \"AS6UOE5dbvIlXb6ch3JMMTosUIYLSucVC1g8jiPU+bHEVjPaXJhQT33jpX2YY/ty6jxXqSjbXM9y\\\\\\n\",\n       \"WRkFFxLR3B48Ce61eJXqmkkq4ErBij/La0KIO1vMmEHrrr8+LX7ySSde1VasoAi536pVJ+KOqmuA\\\\\\n\",\n       \"HYkypFYKV1LUDV0Lsv1HwoHIbkSu7SaRF50coIdChDViOrdzbsgcW8wVwj15Ynr9uONCkUrlpH6/\\\\\\n\",\n       \"iBoar76/6HuNFNDjeMwxOlYrISHLFxqY90cCHU5oGIZhGIYx8b0QPovUKoK+vj43aDfVtddeS8cf\\\\\\n\",\n       \"f3xjGt4xDjjgALriiiu82//tb39Le++9Nx199NF0wQUX0HrrrUdve9vb6LjjjqNCrx/sDS8mYBlT\\\\\\n\",\n       \"PKQwCxki4ws11C4r2c28FrLSebJXNV/uK34XxSDzXzUSuCNHzWg4EXUjQTsG/XnZMpesHeIVXtY5\\\\\\n\",\n       \"7xWHEIYcKPKFPZS8Wr60axFL5vxhGY9E+BQv78IJ8fKO8rISxKGCbuPiZV6KWfxiX49Xi+Iilcul\\\\\\n\",\n       \"RgihFEBCQouGd68H6b7iv6mQlSbhbvblyFoaz0s6XDA0AYyvLCnpg0NaH1FTTjd5WjiEUPcq6Asb\\\\\\n\",\n       \"bNqLcsxp8YrdiC3uQw4blI4keX2sWEGzR0ZoNnaydCnd8uST9OTKlbT7wIB7ENFhtFrQ9V0LoR45\\\\\\n\",\n       \"fd5MmcSd270OIeRpAL0nQtQtyDxXHFIrrwccm4xDrotbcbFA5VJ/Q+PFX2hdnBuL7z0cQqgTvHOd\\\\\\n\",\n       \"V6vy3sYilr7vcU2EkrjLPFbjFaykj80YL66jgE4T6RmGYRjGFGTBggVN4yeddBJ95jOfaZr2xBNP\\\\\\n\",\n       \"uJ6p119//abpGL/99tu927333nvp73//Ox166KH0xz/+ke6++256//vfT6Ojo24fxsRjApYxDZB5\\\\\\n\",\n       \"r3QOLN9y8q9vmVDYTeoK8gkpUgDQXdvrcbx1RjpcUDpOePC4sTjnlR70C7tO4u4TsLKOXIYP+iQd\\\\\\n\",\n       \"WXOjuobrwgTCqBrHxwoGixackV05sJwLq1ikuA/CRGsIWp7QO52gXYYJyoHFK7wUJkmon0Ytc3Ti\\\\\\n\",\n       \"W56oF81OyxAp8YKnp3mMkqTmeq2rVMbCIVE/nA9Lh2FyHqyQOMfv1zq0TYYtRlV17rkt4C+3f3Zk\\\\\\n\",\n       \"yWtlZISS0VGakyR0c6VCC5cupT0GB2lOsdjU9mUYrbweknFcCzKtuRZ/m0II67Dwi8qCE4t7GmwI\\\\\\n\",\n       \"uBxii886dBjXDdxbfX1N946se4q8B8lrJe3FU+b887mv2t0j84Sk6nxYWVhoYTuOOOIIl2x2cHCw\\\\\\n\",\n       \"afr9999Pb3/72+myyy7LUc+GYRiGMQmBe6pHSdwfeughmj3b/bTp0O6r8YJ3LeS/+s53vuMcV3vu\\\\\\n\",\n       \"uSc98sgjLgm8CVirhjave4axuokmcP12eVx04Jx+bW3dBkJz+KXRl7BahvFw4mo2GBULCRUKtaBw\\\\\\n\",\n       \"482FVf+cQLxCL2vIe+URsHzTfPNlqJVPBNPbybMvLZQhrAsiQ0OE4ONgxUiKFjw0WaVqFCNHEkLN\\\\\\n\",\n       \"lAOIBSyfCUHnvwqJV6nzKnEDnFeo09aU96EjzKplX41OxNBJGUJlbz5e1AGEPK4XXy+OOgdWuxwE\\\\\\n\",\n       \"/lxYCcUR7HEinlNa4XztQwpadQFrw0KBDpg1i/rjmC5etoxuHRqiUZEPLm+7zboW8ta0FskaNYx8\\\\\\n\",\n       \"WJWKu3abrgWfWC3n148d94pCIWm6j/hyXzXnFhsT09MwQnfX8gRH6mmhe2HoXpoVWjhezFkEbrjh\\\\\\n\",\n       \"Btpll12aQht++MMful6T1l133S7r2DAMwzBWH75n9fEMAOKVHHwCFr43IUI9/vjjTdMxPn/+fG8Z\\\\\\n\",\n       \"N9hgA9pmm22awgW3335714MhQhKNiccELGMKhAhKQcm3jbiNi0C+sOnlChmCVus2+EVcOiBkL2uy\\\\\\n\",\n       \"R0J+4WxEzRVqVEoqzmHRJFqx04TdVuqvewEeHm4kbNcv1xxO2AtZJM9yv1+yhLa/8UZ6z/33B8WB\\\\\\n\",\n       \"RL64yxd2DhPziXf1F/cI+ZGqSAoPwW8sj5QOJWznxmJYtOIQKx6qVYg2Wn7zyRucVYklPl+tYP5Q\\\\\\n\",\n       \"zmE4Ry0Pd7C90NmXZZUSpj/QtFarujppriOZIyzHlSrcPzLxfuOcRQnF1fQcuw1L8UYPMqSQ3Ve4\\\\\\n\",\n       \"Hur538pxTPvOnElb9fXRU8iFFUUT1ub1cMfQEB1z//104G230XY33khnL17sFb9wzbprWPSs2HKN\\\\\\n\",\n       \"a/EKLsThYXevKBVqzfcQEbos02rp+9GYW9HX46C+1+k+R333Ut82ms58xr086/6t92Ui1r///W96\\\\\\n\",\n       \"/etfT/vttx+dcMIJ9KY3vYk+8IEP0Fe/+lU6//zz812IhmEYhmFQGT1Y77knXXTRRY3awA+MGEee\\\\\\n\",\n       \"Kx/77ruvCxtMf+BOufPOO52whe0ZE4+FEBprIHkT5MUdvETp5fSyMleWzos19hInX9D5pVEnc5dO\\\\\\n\",\n       \"CZnEvRClic5bXtr5ZdbnxKiHDqLXQRkqKD9rp8io8thUVAJ3Xw4sWXv8KsuhgvJsPDIyQl977DHa\\\\\\n\",\n       \"fXDQzR/1BKa5WqtW023h2DhkCgMS+dRzXTUUEnbdyIzr1SoV4mJTSFRW6heZdF0KVnKTrYJMTQ1c\\\\\\n\",\n       \"a7q2ZOp7Xq9p7x2G9U0EPiFXjvtyu+lE3+n0Wi3N3YX6Rp1x/es6BbIHR2+pRNigu06wC70h6bbS\\\\\\n\",\n       \"TkQh+rjeN0dHncOvIb9FEW09MEAjSeJkvMdGR12bnFsqNc6mL4TQlwdL1qTM2MQ1JXNfLa3VaINy\\\\\\n\",\n       \"mfafO5dOf/TRps4SWrLn1cMCXQUgKR73xCndlrJXTnH8hSimcrkQTNau3VnyntQsYDWuTHV/qwbu\\\\\\n\",\n       \"g+5E5Wxzsgbzrsf7NjTo8QhhCjNmzKDPfe5zVCwW6ZJLLgk+aBuGYRjGGkOn2ThC2+iAY489lg4/\\\\\\n\",\n       \"/HDaa6+96LnPfS6dfvrptHz58kavhIcddhhttNFGdMopp7jx973vfXTmmWfShz/8YfrgBz9Id911\\\\\\n\",\n       \"F33xi1+kD33oQ10W3MiLCVjGFEOH90nyiFchh4EOndE5XpDoOvK6SppDpJpfMJu6vI+R5FwkX9Jh\\\\\\n\",\n       \"dDqEqi5iwXECJ0fVI7XIxNS+QS7jXt6ThO4fGqInR0dpqFZzIVjrlMu0oK+P4iiiq5YsofMWLaKF\\\\\\n\",\n       \"w8PUF8e0xcAAfWazzWhmHFMtSejkBx+kd62/Pt20fDktr1Yb25evxDwtqvfIlnmssltAKWq4ZMVj\\\\\\n\",\n       \"IYQ6jDBPCKHOhzUWEicTtuvwQZ94JTMnyexHjC8V+KrElyCb817JtszZmmTmJp3RLM0JltZT5Km7\\\\\\n\",\n       \"fGGE/vBBjGecHB1K6Blq6jpotPMocuMPjYzQwyMjtGF/P20OsSiKWvLASUEXwtfdK1bQUnSMkCQ0\\\\\\n\",\n       \"o1Cgjfv6aN1y2dXOv5YsoV+K62HLgQE6ebPNaJsZM2inGTNce//GY481XQeV+hdvY79JQgXOeyeF\\\\\\n\",\n       \"a9+1IT8jh1Yxab2PCIebvgc1349wz8K5bBdGHXJVjfd+yn/ziFmGBkli0a038mCh16R//vOfzpF1\\\\\\n\",\n       \"zjnn0Ctf+UqrMMMwDGONpZe9EOblzW9+My1evJhOPPFEFwa422670YUXXthI7P7ggw+6DoFkcvg/\\\\\\n\",\n       \"//nPdMwxx7iQfohbELPQC6GxajABy1hDyOucknlcxrOPrLwvvnKk87inNvlCrl/OfT2uySHGa3OO\\\\\\n\",\n       \"l/SWsCmIWAFhih1WOoOTFrIgNl26ZAn96emn6eEVK1pqZpPBQXrR7Nn088ceo0M32ICeP2cOjVSr\\\\\\n\",\n       \"dPvy5Y3cQj97/HGaWyzSK9dem25cvrwhAsje2JqGeq+EDZGKX85lPJ9OtiQyhcci15gWsrJ6HpRO\\\\\\n\",\n       \"LJ3IPZ0fEq98/TX6xCxfL4V5f1LqVOTKKyKE2jILCVqw4uPxuXAQWgknVuStQ3cU9fEQ8nzpc0gV\\\\\\n\",\n       \"T4Z9LeBIZ54SsHQ742sDn3ceHKSBQsHlxFpcqdAOM2ZQsVBoiFZ8pp8YHaW/Pfkk/WXJU/TsCOY2\\\\\\n\",\n       \"s9vsWfSC2XPoWw8/TP+9wQa095w5NFy/HiBIsYg8VmNjApbs768he7KVTYpY7e4DuAbKCRXjsHgV\\\\\\n\",\n       \"ugfJOh8TsLLEpqxcWJ0iXVl5ei3k9mgA/EK8YsUKuvjii+n5z3++u1995StfcSLWO9/5TvrmN79p\\\\\\n\",\n       \"FWUYhmEYHYBQfAw+8H2rgev5yiuvtDpeTZiAZawh9Cr3SeilS4tffqFqbH5rmKHO7SM/S/HK9zLp\\\\\\n\",\n       \"/sJ9xaKNL3F7IKkzh0xJwUrnnPIlnOaX+r889RR9f+FC9wLe//wX0tzXHELFLbahaMYMSlasoMrd\\\\\\n\",\n       \"t9PjF5xLP/n35e448Sq5drnsXsQ3GRhwNXDD8uX0x6efprO23rrJi8QhhCyByBTocGA1OU7GMqi3\\\\\\n\",\n       \"Om+kA6c+D/mSxtNjvBRadLRaOvhEK5YBpWdNC1dy2nh7KPQFrYXIGxKr267+LEPIpMzCIjCXm4NF\\\\\\n\",\n       \"q3XRozV0ME/YYLCUEFTgwNLtwJctXrYREVrIeeB8Ii1fAxv391N/sUg3rFjhhl1nzWqsAzH2B48+\\\\\\n\",\n       \"Sn9+6kmKSzHN3mcObfHCtai8bpmiYkTVFVVadusyuvOvT9H1Dz/syr1+ueyuB3yZbjow4Gqp4jmj\\\\\\n\",\n       \"rs3Xa5EDMrllRQiJ1Z0ahK55IfjG/XBhteZ/k0K5vv/oPGSpaOvL66fbTie9ukY9Ep6kO9BgAet/\\\\\\n\",\n       \"//d/G70Q4scT/Op74IEHul4IDcMwDGONxr7yjTaYgGVMA/RLFr9G6pc13zoycXEoj1DsXiJEZxQN\\\\\\n\",\n       \"YUW+LGoRa0zoShqJyZte3NltpTOM18eR94odJ83ptpslFv0yL8Wrcx9/3A0DB72a1j38vVSYv2Hz\\\\\\n\",\n       \"4Q3OpMJ686hv7xdR5ZEH6ekPvZN+/NhjdPHTT9NB66xD+8yZQ+UootMefJA+tNFGNLNYbAhYpPYv\\\\\\n\",\n       \"X9g5hxYEhxhJqXWC7izxoq6OxKIe2+GLRpOuK+55MHVfaQeWFq5kkBkHnUmhSjuxfDmwQt/Ocp0s\\\\\\n\",\n       \"pCzoIyQ6yLBBLWZp91VRlUcuCxdWRJVK7Nq2rk9dz+1oiLiuYWR0D6kz7dcHl/sqSRq1Xsm4FjAM\\\\\\n\",\n       \"Fou0x6xZLkwW4ytrNaokCZ320IN0w9KlNO+N69PaL1mbCjOaG1dhsEBrv3htWutFa9GKu1bQA6c9\\\\\\n\",\n       \"QF954AHaDg7FuXPpBXPm0OxisSVATrYon0OywKGEfL3LUGE+btlTZ/36wD0jiisuD1L4/hLOEZdO\\\\\\n\",\n       \"h13fF3rty16n8701zqDICMZXt55n9AKECvrYfffd6dprr7VKNgzDMNZYVkcIobHmYb0QGtOYUO4X\\\\\\n\",\n       \"32e5jJw/Ni7z+sj8PjInlp7emJbUUkcSh9VxrJtWAqSwAxGr/tJOGXKLTkjNf//05JNOvBp8x/to\\\\\\n\",\n       \"1sdPbhWvFMWNNqF1zvsL9b3sYHpoaIh+s2gRfeSOO+jRkRFaNDpKJ99/P73yxhvpwBtvpD8//TRd\\\\\\n\",\n       \"9uyz9Pwbb6QHhodbQrrk3xblg49TixcqXs3VvqpvHzIPk8zNxFXcPMhS+oQsnepbSoc+mdA33+eR\\\\\\n\",\n       \"0/01hrKWdbONdtuV3iUZeKfPXjqgrnT9yTqVdZ8nF5YbeGGfcOVrC2JeyA8XymRWiCLqKxTc9FuX\\\\\\n\",\n       \"LaNT7r+fbly+jDY5ZlNa7+D1WsSr5nJHNLjNIG17+rY0sPkA3bViOf128WL6wB130GMI6/Vcd6HB\\\\\\n\",\n       \"HXI9t1iL2zDQ9t085IHjwRNGK/PB+UI2W68X3/1Qfw7dI33jxkTx4x//2PWCtOGGG9IDDzzgpiHp\\\\\\n\",\n       \"LHJ2GIZhGIZhTGVMwDKMjl/AdFfz7XP7sFCl3RE8jSCc8IurVANk/h+dH6tWy/WCLOUWfolfPDJC\\\\\\n\",\n       \"5zz6KA287s00+N9HuRfyXDeMOKY5n/gcDbzitbSkUnGJ3a9bupS+ts02dPo229D/brMNfXObbWif\\\\\\n\",\n       \"2bNp95kz6YfbbEPrlUoe+UO4U3y2ndbEVK3jwuWRlftK9kDISJEl3WRSD4HTcocOzgzlxeIgtVHl\\\\\\n\",\n       \"1Kp45nNQZ2jIK2C124YsjxS7fOWVZZbClS84dUweTesNYlZzvWoRK0vAanbQBdxXctBCD66Dus0r\\\\\\n\",\n       \"JBpxqWXbk0f5dLVKty1fThu9e2Oatcssykuhv0CbHbcZ9W3c75KiF6OIrnzmmaZaarRDjyTY4teT\\\\\\n\",\n       \"17u+5uV1IusgqTaFJfvCBYP5xtKzIM+I6ggjCxOsVgff+ta3XI9JSNi+ZMkSqtZjd+eix8vTT18t\\\\\\n\",\n       \"ZTIMwzCMnpD0aDCmNCZgGUbuSyXuaJ5+YZQCiw4tjHw9ren8T548UAibYllFv7iHUozj71+feoqo\\\\\\n\",\n       \"3Ecz3/WB3OLV6G030fKfnkOVO2+lgf96K9WimJ6tVGjT/n6XV2hBf7/7jGGwUKAZcex6eiuih8J2\\\\\\n\",\n       \"Diwdb+Zzo/QAbdxp3q1PCtROJJ/rSYpVvmEY/dmpjGQyK9lofZluBr09OT6i9l/JeQwhuaV5mjYG\\\\\\n\",\n       \"qkjP7tEnSwu8HgdW1mfftfL3JU/R4FYzaM7z5uQu1op7VtCi3y2ikcdGaK2Xr0OPrBymZyoV2rCv\\\\\\n\",\n       \"j4ZrNbpn5Uq6a+VKF5oIh+LtK1fSg8KN2BJWKB2X+vrXOb/EfNw7ZKigDmVu30Nn5/c2Y/Vxxhln\\\\\\n\",\n       \"0Nlnn02f/OQnqSBONnJj3XTTTXZqDMMwjDWYqEeDMZWxHFiG0ZZQOGHzPB0e2LSUCieU0907SE11\\\\\\n\",\n       \"3SYdR/zCrudx1mxPiGDWtNFajf6y5Bnqe/lrKB6cmfv8RzMGaeTG62j5r39KyfLlFCEZ9sgw7Txr\\\\\\n\",\n       \"lveHD9+4z4nl7b7Op4D4rFQB9CZ0VfqXC/nV5F9fMnctyfmkxFBuqzw/F/G8rC/kWuBLW+Y1qqlc\\\\\\n\",\n       \"V+y2kcfCy0vvkMy1xan4eds1qtUKLadQ12/WaQ0fturKULZ7z050G/RdC74B4bC3LV1OGx+6cc6C\\\\\\n\",\n       \"1Y9+IKYVd6ygJ//yJNVW1igqEG1S7qfdZ8+mp0ZG6EN33dVY9hdPPOGGPQYH6QdbbtnSUhpHIx1W\\\\\\n\",\n       \"fGzy+tfdaNY/6zxw8l4kp/mE9frcnL0QGqub++67z+W70vT19dHy5ctXS5kMwzAMwzBWFSZgGVOc\\\\\\n\",\n       \"Tl+88rzItar8WqCSQpX8K18am6bjgy/uSqoCesBLu3iRz/sCf+3SpfTsyDCt/ZpDOqqZ4qZb0Fpf\\\\\\n\",\n       \"/kZjfPS2m+mpo99ONy1bRnsqEev/LVhAJbVvSdOLeyjmzKc2ZaAX91RXy7wxgUXXmvxbzZEbyufz\\\\\\n\",\n       \"cYVWopUUhvL4nBs+tZy9DmaJDaxWsFDlS9otx7VoxeIXr58eM+oOvRJKrUXWbyissHGEoSrQJ80V\\\\\\n\",\n       \"XalkYsMhKVBP09fJ3596ikozCzR7z9nUCf0b9tNmH9usMf7En56gB375OC2tVGi9cpl+u8su7gsW\\\\\\n\",\n       \"Q5nIXQ+cFl9el2OHG6gw33Uh6kDnggNaLNeiuXZm1eeIv1n5sOQyncAdBBjdsPnmm9P1119Pm266\\\\\\n\",\n       \"adN05L/afvvtrXINwzCMNZdehADao8aUxwQsY4oz3hetPNtsH1qTlZvJ59Ry+BwmPK5CqHxilVul\\\\\\n\",\n       \"/ld7gf4/e28CbttVVon+a63dnOZ2uen7kAQIIBAMJiWITUkRrLJBpUQUaSypp0/K0mhRUCqNliKi\\\\\\n\",\n       \"FmrxpB4KlqUWqAhVpe8BFjY8FUVCK5oISAgkuclNc3Pbc3a33vfPtcbeY/97zrX3ae7Nvef+4/vm\\\\\\n\",\n       \"t1e/15pzrn3PHHeMMbXcvb4uxfKKtK9+tGwFreueIFlRyAG1Re3ePaY0rOYoRabNYAueM64yXrY5\\\\\\n\",\n       \"+DFnJt3AgsSUJbF4VsIYAWafnmtlI/9yDxfs20x0jSLZRjzTILaNzD8HUGzhGphTj1sZpZL/WEsm\\\\\\n\",\n       \"xzZZwopVWdNtsEFE+gzXbEzpZFvlnt66LF2zInl7a1a5lcesBBvgwX4/zEQ4T4Nn392wnwksVEyM\\\\\\n\",\n       \"fY1UWtNvjVVjpVHU/XmR38CNwlVc2wHNv/r+7/9+WVtbC6Tnhz70Ifnv//2/y+te9zr51V/91W35\\\\\\n\",\n       \"DofD4XA4HhE4geVYAE5gOc4inMZWmJEZ5TchpkzBrgX+4+G4ZuasrMpWodlZSoQdb7iX7YpBCtCQ\\\\\\n\",\n       \"n4a8LmtPS7kQTXQSZWBZAopn5bPrrMpiAitGZFnKIlU7m/lXO2UbjNm/mMBi4oqPDzMK0P3wcVn9\\\\\\n\",\n       \"rFBiVc8Qq0uQV0wkcsRZqn2mH6MOdtompGr3qL4Py1v/HsxaeGIBIraxpTdgla0qcQgO8TTDafx7\\\\\\n\",\n       \"ewbje77ne2R5eVl+7Md+TI4fPy7f8R3fEWYj/MVf/EX59m//9kf69hwOh8PhcDhOKpzAcpxFOI01\\\\\\n\",\n       \"pQsGqW8HOlkmZW9tW6416vWkk+3aVHLY7AlmK/uiIvKRWKaSta7Z46x1sCJV1AYXy65qUlSxpbDp\\\\\\n\",\n       \"HEte2Xnppp5INoe8oZ8X1BK4XyagcG5u7o9tZPw82cxzat2phXA4rGyEqbpH+9hj7HEzLc1tHwuX\\\\\\n\",\n       \"M0iZ31Jv2JK+D/2t/zaMetVDtrf6Lm/0/Ox0Dlk/jX9zz2B853d+ZyhKYB09elQuuOCCR/qWHA6H\\\\\\n\",\n       \"w+HYOsqsKlu9hmNHwwksx1kAHURlJ2FAtbVrTYksdBC66MCVA2woBwefsavw/n2tlgyOHpHRw4ck\\\\\\n\",\n       \"37tv0/c/fOCgjHrrsteoZCx5YBN1ooRCLJSHw8J4ud5flhPChGFjhGx4uyW04iSU3WYD24cJ4oqP\\\\\\n\",\n       \"ixnYYmqs8Z1vUoHV1N9tK/D+2PfDKmgD3i3RNVtX3B5NbRATEE6RjvY94EAnG+aU8M01pdbZWtvb\\\\\\n\",\n       \"akv/nuPBjrXojJwx9O7t1ddLvw+8LUmsxZ4zhSbf4KZw+vw+OuZjZWUlFIfD4XA4dgJsnu1mr+HY\\\\\\n\",\n       \"2XACy7HDMcnoWQyLGN948D7nyAabVHKfTinGg1IepMJGVw/e8+FwKpGLzWJ24A464sa9e+Ut99wj\\\\\\n\",\n       \"J97zP2X1eS+UzeLEH/6+tIsizLqWRwxq84i0cYqYPi8IKpAVmFaNnx3HRcLDOHvJrttsptmcpnnE\\\\\\n\",\n       \"1TChuhoskINlFVwSSUQqN2kjZGUV1jmIHWop2yKW5sT3wR6IqHFcF88dGiRK0KmKjTOvYnXN6+Gq\\\\\\n\",\n       \"tD75Y6MmpbStUSyJie3cZ4oivAv2KWM1xn1Uv/Zpe/fKB+54SE784wlZuWbzZMChP3lQrlldlgs6\\\\\\n\",\n       \"nZn3wb6H9l7G23kWCBBhVoHI78dWf2umYInJJmyGbN1WQ/FZBZ11cFFy9SMf+chJvx+Hw+FwOByO\\\\\\n\",\n       \"RwpOYDkcc2EH7LP7OOMnFlzdZHkLx+oKEzNM5MQG7PUAN9P8HlWONAyK7TZVYH353r3y1+9+u6z8\\\\\\n\",\n       \"yxdItli68xTKQV/W/8fvyjP27pVdRTGTssRoup/xoH0jz15vGxnFT4wwsaSKDXGfzEBoFVRNZWAU\\\\\\n\",\n       \"WKnZCVMKrBhhxeQW74shZZCzqiquaVZdMX1jv4MJsZYJbbf2QT1OiZRhrb4qpuo2VvepdhoXlX03\\\\\\n\",\n       \"tHkgdWJ9Rcnchj4f65PQml2/e7ecu9SWB9//4KYJrPV71uXI3x+T77r88hl1Vep+Zo5RggLPxypE\\\\\\n\",\n       \"rg+7T+2PiXkfUgH5ts6nVYhTR56sNDvHBvGc5zxnvKzh7f/X//V/yeMf/3j58i//8rDtr/7qr+RT\\\\\\n\",\n       \"n/qU/J//5//pdetwOByOMxce4u5YAE5gORxb/kWd7LMz3fNsa7xvxk6VR+a2t4oju55lUYtUjCwS\\\\\\n\",\n       \"s+/Z+/fLn3/2s7L+p++TpX/67A33gbU/+n9k8NAD8sxHPzpKEmSJyPConQvPbUkr3s6D93p5ZLKs\\\\\\n\",\n       \"JoTUtLInbWuriMfZdrRqrEVysWKWQs69soor259i/WsRAotb1q7bbQXZBEcRworD2pmkyhJ1ARKs\\\\\\n\",\n       \"vttSlViVtZMn0uO65zaaziEDgWUsgw3tz+8D1Cmpd8D2QSDozbJMbt53rrz9r++V9eecL90LurJR\\\\\\n\",\n       \"HPx/Dspqu5B/sndvtI/HSKyZEnvv7XuAdd4m09ljqd8YziGb/p1a7LfN8cjh1a9+9VSI+w/8wA/I\\\\\\n\",\n       \"T/7kT84c84UvfOERuDuHw+FwOLYJnoHlWACnc/qrw3EaYf4gj8mQsbLKDNoBO3gv8wiJExu4qkID\\\\\\n\",\n       \"A9x6mx2gx9QdPIBWGuO6lRW5ce8+OfKzr5H+339yQzXR+8RH5Mh/+o/y9HPOkauXl8ffX5h7wHel\\\\\\n\",\n       \"7IXjAT4P2FmBYpUnhrQoR7OZS5a4siqfWfVVjHBKZWJZFVYq/yplI2Q7Iq/zjIZ2W6zEjuN1JtUs\\\\\\n\",\n       \"sWafI/Y99tlSxNx0PVVh7rN1bFWJtl2mgt1HcYJqZptVY9UqwBhhhD6Y6p963DPPPVfOa7flC2/4\\\\\\n\",\n       \"vAwO6/Mvjvvfc78c+v8OyfMvuEiWaiUYvitGnNl3dYpUw3vOzxd7B7BNFVhK5kZVVdO/NfybhN+o\\\\\\n\",\n       \"+ggnsM4g/O7v/q688IWz1u8XvOAF8s53vvMRuSeHw+FwOByOUwUnsByOMRa1yszmxPDA3A7cFSkL\\\\\\n\",\n       \"2zi3KSPlEduleLCKdf3sdCrbVE1gxQbmLRqg20F1kWXyby+/TK7utOXQLS+V9Q9+YO5Tq8Jm7QP/\\\\\\n\",\n       \"Wx7+d98nj11elu+99NJwTZQmwiC2D0XabZFut3omPK9u08L1ofupToaGLGGLGuq5KYepslc1kUJM\\\\\\n\",\n       \"NFlCCBlYgwQRpOv9utj9A9qeIo0Gc0rTuX2zDd+N+7HHYz+uzcoxWxcpIq3aFrUFEmGl7cLWQqyP\\\\\\n\",\n       \"20Qvw/2f+4Sua5/g90L3a2m3x/0Jxkeef9ESqlPvgojsKQr5sSsfJe1DI7njJ/9R1u9en/8+DEu5\\\\\\n\",\n       \"9533yoG3H5BvPP98eda5584QV0XinbT3EI4HYV0/z8zvQaKUWUVg2d8UrtfQ0yPtYcmu2G/b/N9B\\\\\\n\",\n       \"x6nE8vKy/MVf/MXMdt22tLTkjeFwOByOMxZZuT3FsbPhFkLHWYCYXYsHX+Bx+RirOOHzUjkx9ZKx\\\\\\n\",\n       \"DKYG8xNVhKooCilVRWKVJTyQ1e0oaptqt6eUT3awzIPoImJcW8lzee1VV8nP3fkF+eiP/lvpPOZx\\\\\\n\",\n       \"svQtz5elr36WZJ2JjapcOyFrf/weWXvX26X32X+QL9u7V152+eXSzfMoIRVTu9h7GxNbrKgBOcEE\\\\\\n\",\n       \"hXnmoLzSQXteyGCYhUF6v5/OVooRV9PkYiyfyiqwYsdZG2EsR4v7S+z69rrcj+b964v90O4g24oN\\\\\\n\",\n       \"cvg+q/+xfRhWQGsfTFkHsQzL4eQYS6TYQHerlEM7aBtWhEsmo7yQLBRS5aX6RP1+qP2upCB37oe4\\\\\\n\",\n       \"U+5/SO/iFri025XXXXOt/OQdn5PP/OinZfeTd8v+Z54rq49flUwVkjX6h/ry0AcekkN//KD0Dg3k\\\\\\n\",\n       \"2y+6SJ5z/vnj72wRUcXvBBNmdhnva3gefmZWYWEfkdtlofuLmTpOEYlTsz1OqbBSv232ty9FWsVU\\\\\\n\",\n       \"erzP/5rcLvzgD/6gfN/3fV8Ia7/xxhvDtr/+67+Wt771rfLjP/7j2/Y9DofD4XCccngGlmMBOIHl\\\\\\n\",\n       \"OEOAAfpWzrfrKbLAWqTsYIyPmQzYZrNl4gRWlMySPCgpwqA9pb7igXz9mQcl0kiKOsgdg3MsM9Vg\\\\\\n\",\n       \"lVqtmsR6xZVXyN8cPizvPXCXfPJnXiXHfun10rr0CpGVVZHjR6X/xTtldOK4PGnPHnnWVVfJU3bv\\\\\\n\",\n       \"lnaWzZBli1gIp+6DbYINhNUMgZFpXRXRkPZY5lXTepqoiimOYmSVRMgsS16xaouPt/1pI2oW7pNM\\\\\\n\",\n       \"wFqjGr4Xtc/Ek828KiLEFT87to8iz1NtW6TubQ7WlGJolE2/B9wnmt4FvA80qUEsg80W1BjIrIs6\\\\\\n\",\n       \"HXnDtY+WP3voIXnvPzwgd3zsDunsbUn73I5k7UxGx4Zy4u718O48fd8+edajz5Nrlpen3qnY91il\\\\\\n\",\n       \"ol1WAk7f5SnroH1OW5TMzbLw25Gqc6sEjf1GxQlc28eafhNjv4upvroZOPnFeMUrXiFXX321/OIv\\\\\\n\",\n       \"/qL85m/+Ztj2uMc9Tt72trfJt33bt22xrh0Oh8PhcDhObziB5ThDYBUnW7lObECEAT2Wm86bzQHS\\\\\\n\",\n       \"wSDb1lhlEssEiilTRlkuORRXUJfAItXrTWx1KLXVSAftxWAQXma9s1ZEA9RKUCVhe5aFWQlv2rtX\\\\\\n\",\n       \"7llfD4P3B+8/ICdGI1kuCtm1a1XO2bdXnnHOObJXZz6MkFMtoz5hq5RVo4zP00G6Wl60wEJon4+V\\\\\\n\",\n       \"NnUpW62Z+kPd66dWlbUPzqqBSrIQpnKneGAPa53dN0zY9Zjc4mX+tFPEbZcdC9QlkJug9mH9OTA6\\\\\\n\",\n       \"JD4XhFVWH8eUT8xGWPWIqo6VyMqibYB1bSPYB2N2z0z7GfcFthTaPqJ9Ry+ytFQpsIbDqb6G94Jp\\\\\\n\",\n       \"RK5pXUfqlT7tap7Ls889V561f7/cdvy4fOjhh+XIQ0PpjUayWnTl8ov2h3dhd527BZKslbALcv+3\\\\\\n\",\n       \"6qyxzRcKKzyffU7eBkKr3ZZRTeQuYpeNEYdabdNB7raGUsTqvP3bpbpy9VYMSlQ5WeVwOByOHQcP\\\\\\n\",\n       \"cXcsACewHGcgeHBtt4uJct4IYmqrmPUrpjCYBFg3BVmDYOGi9in9zFu5tHjgGhvMmgF7GLTXF2bi\\\\\\n\",\n       \"CoNjOxy1BjPQGqAjLut25TsuumhaI1SWQaH1cL8v5xoCCyoSJq7aZt1ua4PEUgUWPxeX1OA9EFjt\\\\\\n\",\n       \"UGeoNyZDYCfE4FzXuU1gVasG7TF1FS/Hcq2YtEmdG7tWylJo+25Tn4z1eZxr+zpUVSCdQFxhmXuE\\\\\\n\",\n       \"tQ3a77KzEoISiqvUyjIf1z0r5CY2wWnbII7VdtRm1uWiZdo+Rlxx6fUC4aV9qqj7GFrI9nXUaqym\\\\\\n\",\n       \"oV7U4//u+HE5v92WF19yydTxqdkNLWmbKpZcC+foMy0vV++0flpCN/FboIq1HtUfF67rFJFYKbOs\\\\\\n\",\n       \"5Y/7XUqdZfvmRmD7TqwlXHU1D71eT+677z4ZQV5X44orrthEmzgcDofDcRpgO/4E8D8hdjycwHKc\\\\\\n\",\n       \"gWCrFNaFLE7YByonNdCfZxGMHWcJCVZhjWrlSaU+iQ0Y7YCSVSijQjOvKKia1UcYqLMaCYqUwUCy\\\\\\n\",\n       \"Xm+sPBmZnB+s2yfDYB3LoDWY9qiqNZNLOx3p5Hn4weBZB2MD9pgSywZYq10qs+SEfWZW3NC+kH+1\\\\\\n\",\n       \"nh6c22BwGxxenRNTU1lCK6XG4v6UIjlT+5jAimniYn091e8tOA/LKha5VXnZrlslItsGmwi6ybq+\\\\\\n\",\n       \"A2U5rcBqao+Ymq7sGjsp94mG9yOQWGU5fhdA4mIZAA3H4BZQtdWDvV4gsPgXhGvU2gQ5PD5GVsXK\\\\\\n\",\n       \"OAcu9g6g/ze8H8N+HlWyxVSes79J+ptliarYb1ysH8a2xX5Lbb+22jfbX+0+h8WnP/1p+e7v/m75\\\\\\n\",\n       \"y7/8y+kaU+tspu+dVXY6HA6Hw+Fw7Bw4geXYAbCDdd4eG3gxeJCO/ZaM4G0xwoNJrGxmkM7qK2uX\\\\\\n\",\n       \"4sHnoFMFlOvANJA7KQLLbM9UfqEDbUNgtYyyxA479akx1EENgMiyuHZ5eUp5IhHFSTuS92MtVGPV\\\\\\n\",\n       \"Fs88yAN0JudYcQPyqtWuCCwzmyPXK9sJU4HW1cAdtdFEVKVIqJTqKk5uzhIC6FOpfqlIDUSLhn6M\\\\\\n\",\n       \"1uTtnJFVJsgp3sZqrJj6hmlO+/xV3aaIFG4b23a8Xi4Xoa2zJiKH+wmpsTK11NK7oAXqRDxFkagp\\\\\\n\",\n       \"rB/u96WVZXJ+q5X8R9LmvjX1+Sb1VZiMwarM5jy32mjDTJzrcQLLvhP29wZ5cXHyNkZk8bGp9yOl\\\\\\n\",\n       \"prLnxo5xwmpRvPjFL5ZWqyV/8Ad/IBdffHEgrRwOh8Ph2BHYjj8J/E+KHQ8nsBynMawiZCvXKBLX\\\\\\n\",\n       \"taoVHAvTEc+0xgN9HuxNtE7D4SRQGbapmM0NkVY6DsV+XR90C2mpjQgHY3Bek1TBXgRmZm1t4plT\\\\\\n\",\n       \"C+H6ehiVgnYQ83QwkbGCCglOTHyltEBrw6GMylL21DZCDMJjmT8dsz6lyILiBPlXsEXCQgUbFfZR\\\\\\n\",\n       \"GWbV7IPWLsV2zJiVE3U+CXtHu8VURaiVlIWQl2MD/dh2q2aJrVukWiIGfkfQb0FGofUB7gFMROE+\\\\\\n\",\n       \"cF7KQsjGOUt+DIOFkPu/Nrc2r7Wu8XvA70Cvl8lAc7Cy2lLLBX0DbAzeB1hqlWgtyyoTbjicoVf4\\\\\\n\",\n       \"rtHCqL0RpX091O/Lea1WyMNKtYKdxCBG6Ba03KZ3o4N1zoHjos+lxaoU6d0YjArpD9LvAarFWgq5\\\\\\n\",\n       \"HeJ9mckou90aM1Oqq5iiaqt/Ucaue/bhYx/7mNx6661y3XXXPdK34nA4HA7H9sIJLMcCcALLcZb9\\\\\\n\",\n       \"Gs77ZUyRCXZ/3E41GJQyGGRJ9QOym+Ilk36/lBbb53SwqkQVZV6Ng51WV8dkVqbr6+vBSqgD99hQ\\\\\\n\",\n       \"L5ZqBJojriebPvfvT5wI227YtWuGwMrNgJ0/bSaWPkOmjAaTVljnUHcQWKTE0syffk1g8SCd65dz\\\\\\n\",\n       \"xVC30+HtVZkeuDN5FVNb2ba3+2KkVex47oNN9qom2OPYDoh1JqA48wqtaWciZOqSCSy2IC5SV0MZ\\\\\\n\",\n       \"DitKR8lcECbcFiBtdVmbl5VBk3bTWfny6l3gHCjtE3gf9EDtJ2Am9eS1tfAulMOhtI4dm7k71H6b\\\\\\n\",\n       \"asHWmJK0RwYDuWZpKRwXexds/lWMwOLMt3ZkOdho9ZlWViaElb7Tlsjid4VsxJPfjPRvSspWWNW3\\\\\\n\",\n       \"VdfFCN2mPjjvd5QVe048bRce//jHy/33379t13M4HA6Hw+E4k+AEluMMhtUZLXIsL8eILV6321O2\\\\\\n\",\n       \"sMkgEDYptg1aqxR/2qKKiqWlaoA6noUNCiwOctaDYcHDyd1uyP9RFVZrNJqiLHCHKctUjMCyNXxR\\\\\\n\",\n       \"uy23K4k1GoU8rFjuj7VLTSmvMiUlavUVCCoOprdqG7IRloHUa8toUFmmwFdwULgls1IzEFbqq9GC\\\\\\n\",\n       \"xfabWPunatASBKlrpPrpIrD2V9bf2fVYi0si8yp2f4vXG6uwUoVD95ncxb52ngcb4dS7AGIX5BVP\\\\\\n\",\n       \"agBban2BfH09kLn6PoCesbXMGXBM3920a5d068w3W7uyIIEFQpdVWOOcuDyf2Gj5OXg9EWKv70JZ\\\\\\n\",\n       \"tKRf83jzSszSjOV4P20qXHux7faYU/3frjsfr3/96+XlL3+5/PRP/7Q88YlPlLb2C8KePXsesXtz\\\\\\n\",\n       \"OBwOh2NL8FkIHQvACSzHWURipc7FwJs1GXZQZ0mNOImlwchaoIzggXlMgcWztenn+nomq6sdKdo6\\\\\\n\",\n       \"aO1PBrSsOGELoaoy4MdaXg4zEmoGkB7LBFZsAG4VWBjk22EozlEC69PHj8vDg4Fc1umMiatYcHUn\\\\\\n\",\n       \"kv8TFCdsj4LSyqqweABP66NWWwb9fKr+WNlj65qVJ7xPw/Yn7ciqk40QW/Yc/gSs8sr2K4kcb7c1\\\\\\n\",\n       \"IUvYA7kvc+uy2orvhXtDbJ3fj7T6cNJ7lMAaSb9fjBVXsXZg1RXbCbHebhcyamWSg8CBjRZKLF3H\\\\\\n\",\n       \"+1ArEENfUhtt/U7ka2vSGgzGLW1VV4OYHi3Lgn0w1nKWwIJ9sEmBFZuZs1AbLhSW1k7LKsRY6XRl\\\\\\n\",\n       \"VHTC4zb9ljT99uB3Kk68pvp5qo+zEnGzBJSTV4vimc98Zvj82q/92uka9BB3h8PhcJzhyMqqbPUa\\\\\\n\",\n       \"jp0NJ7B2ID7+8Y/L//pf/0v2798v3/Zt3ybnnXfeeN/hw4flB3/wB+Wtb32rnH1gWxSrURhWVRPL\\\\\\n\",\n       \"h0HG0JCWdSjcD6+UzsJWzUY4yQDCAF2XkfmDT9134oSqMqpturxUdKS9XBFRYaRaK6vCOpbBACCQ\\\\\\n\",\n       \"HNOpF0VQO7V7vZAHxEYyzL42oAwgG3BtNUPAUp6Hgf2hfl+uqQksDq/mGQitZaqAwkQtUrt3V7Yp\\\\\\n\",\n       \"Lbt2VYN4XralJr16/Sxwdlo/qBa2C3KB6oTzf6AImiiwhjPEy3ziMqbOsteIWaZSFCFTJLH1JjAp\\\\\\n\",\n       \"ZWGT0Oysnay+YmrH9vNYqHusrvidaE0FuXM7aP+GpVDbj+2E/E5oG1fzGWSyxLlvehJL7rTP4H3A\\\\\\n\",\n       \"F+qLpGU0klxVf2or7PfD3ffrfi+Ud4UsuFDKUv762DF51NKSnBMhsbg2QQ9ymHsssH3qPciy6l2A\\\\\\n\",\n       \"bXDe+6CFLYbLyzLI27J2YvK7gSg8EFo2C4uJ3tlZOFEj4xpoIGt5KohYH7d9K1Z7jq3iT/7kT7wS\\\\\\n\",\n       \"HQ6Hw+FwnLVwAmuH4X3ve598wzd8gzz60Y+WI0eOyKte9Sr53d/9Xfmar/masP/EiRPyX//rfz2D\\\\\\n\",\n       \"CSzWQaT28+DcHh+zRcVsMjxgtwqUmHJh8qkzEfZrpRAmDmPFiRYdbEJUgmW4o4LQpFUEFVZQn0Bl\\\\\\n\",\n       \"xaHVWI+QW5mO/DXIWh9DrVT1tOqgF1h1giErEpBStYAavKrTkePD4XjGQRQ7aB8rTmAb7HYls6QU\\\\\\n\",\n       \"1FexwHZrrWq1pF8P2kGIxFQmqBprL6wIrVj2FQ/OUawyL0XpxaxX9rqxfSkrlkVq8M+KKza+ob9a\\\\\\n\",\n       \"26BVFeIa3LqpCRP43pksQz0yictklhK4mgmXBRKK1VdQZFkFFmdgoY2DIGmZXgxkXk0dsDTNlNH7\\\\\\n\",\n       \"EPKw9O7UVlvbCS2hy+/DoeEwBLhft7QUVIT8tKx1i+VgNc06GBSJRSG5Kq846ypC1E4VWG2Xl6Xs\\\\\\n\",\n       \"dKRsd2RYVso2ELj6CV6PiSyuX1vX0yrEJrVVajvXSkyZFevTsXejCf5fqDF81Vd9lWwXXve618nv\\\\\\n\",\n       \"//7vy2233SbLy8vytKc9LVgUH/vYx27bdzgcDofDcUoF2f7nw46HE1g7DK95zWvkR37kR+Snfuqn\\\\\\n\",\n       \"ggriDW94g3zjN35jILGe/exny5mNGBkVW7cDKx7QW4qm3EDB8WyZsRTQSEajSXi1DagOMw2awWTM\\\\\\n\",\n       \"Ejfsqn2qlFwHsBiRgszh0GoM3qFOgRoLxFWWBRVWW9UoZt5FXo9RMbEafrQSUXSetUxNDeCVvNKs\\\\\\n\",\n       \"LBvOHrVFGdKKsn8072coxZSixFqlOO+H69zmLlXqq9gg2qqjYkqsVH+IEVIxNVdTv+PzuT+n3gNG\\\\\\n\",\n       \"1rDN0pEx4ip1HzHyyj4PkqUs6VfWKqxKiWhz4Gw7TeXAmfdhuFxI0WpXwf/cN9BfIC2CxRbvQ52H\\\\\\n\",\n       \"Ffqv9n+1E1YhaDP9H9T0/f2+rOS5nK+k6wIWQn4X2EIIAndMaul70G6HMjXLZqrwu0Ck7igrQki+\\\\\\n\",\n       \"tc/GgtstsTudBRcj4NGWMYJp0d9Ge2zTuYv0ef8rVPGJT3xCvuRLviT8nupyE570pCfJovizP/sz\\\\\\n\",\n       \"+f7v/375si/7MhkMBvIf/sN/kGc961nyd3/3d7KqJKvD4XA4HA7HaQYnsHYYPvWpT8l/+2//LSxn\\\\\\n\",\n       \"WRbCXi+77DJ57nOfK29/+9vDH6pnHmLKEKsNYo1EtgCdXzZst0qZmBIBA77WzPZq4K45WDrurNQn\\\\\\n\",\n       \"VmEC5QRsgzpmhaXq+PHKPpUt51KsrFZKEiap9EIKMAB6sBbYp8LJWVgO9in9PH58SisDOmJQD7CZ\\\\\\n\",\n       \"jmgy/eh5/dFIjo1Gcm6rNR6g5xEFlmb8hJwfHQipDQoDd6zzIN5ur9fLpSUZFm3p9fPw6GqXYusg\\\\\\n\",\n       \"26jsdqtAqRyWVm0Va9cYeZVSp8SILO6jfK1Yf+Tti9qt7HGcaWWtgziek56KhnvBtVlxiMIWQ6u4\\\\\\n\",\n       \"spbaYkzmog3Y1ok2Qp9XrgYZ7fxuqHpLraOdoi3FUimZ9pFKQjQ9S4Kuo6G1/+vJulxdJKgSA4m0\\\\\\n\",\n       \"vi5Frzdzt7DRPtDvy2Xttixl2RRNHQOekm2EbKPl90Gz30L+mxZ9Bi2wCsJCiHUUPbberu+BrKyG\\\\\\n\",\n       \"90D7u/5GoM/H3gGI1LjuK1KrNDZa25dj6kSuCUvoLvqbGiOiuL/NO/bstiJef/31cuDAAbngggvC\\\\\\n\",\n       \"sv7bXrXhNHT7sFbcLoL3vOc9U+u//uu/Hr7j1ltvla/8yq/clnt3OBwOh8Ph2E44gbXD0O125dCh\\\\\\n\",\n       \"Q1PbvuM7viP8z+3znvc8+fmf/3nZebAD9hRSFim2CIIAwCAAA3W2SVnbGWdgVXROZSNszeReIZ5H\\\\\\n\",\n       \"B+z6qTyT7tPBpy7XbruwLc8zabdb0lpeqW+/JrAUIKy01GqR8YBdTwapVas4lMRq9ftSDAZSDFXP\\\\\\n\",\n       \"VD0B028xSoaB2vmHtTW5p9+Xr9+7dyb7RwdQShRM2QL1U7N8ePCOATwTVxjg1wN4HbSXna70h61x\\\\\\n\",\n       \"9hV/oqRyf+ysdjp4nyahOAOLySwb7C6JwX5MhYTzU4N4SwTwebE+nQL3dfRBm+3G74VVKnL/xjVs\\\\\\n\",\n       \"xhVrk/g+rVqHadFpUlfrXPsxBFLolmgz7SpwB2pbovtqwfugXSRfbkveySRb6lf9I9xyfVFtXD0Y\\\\\\n\",\n       \"A3dlwXRdB/j4wvCo1YuXra1J58QJGY4qshl5cA8Ph9IbDuWq5WXpNtAxrMJiGy1PahDIK520ADNp\\\\\\n\",\n       \"ItsKOXCGqB2/D/qJY4nkKpdXZCgtWVuf7f+8zsuxjLiK+8MTDxbMwLLvhk3MS1kCY/06hhRp5QA+\\\\\\n\",\n       \"97nPyfnnnz9ePll4+OGHw6fmZzocDofDcaoR/vLc4p8Em5nWy3FmwQmsHQb931kNeb3hhhumtn/7\\\\\\n\",\n       \"t397GKy96EUvkrMXlpqxhBYPyFjVAqSUCUxcIFVnMlseeCQms6w6SPdBfaKlGsxn0umUkrW6UiyN\\\\\\n\",\n       \"QhD1OA8LmVdWjVIrr6pbrwbwSiqF/fXxqkDR9XI0kkLVYgmznAXojCvabblzfV2ODQZBhTUewKvS\\\\\\n\",\n       \"pS5TBJbN+eEC4gqWKWOfGoy0HrOpGddi2T4xO9r0/srSttggPFUbTbbAlEJlEQVWjDLcyL/eVnVl\\\\\\n\",\n       \"CV0mpJreA/s8rNjibXa/JfUmZK/WudrVNAuLM7BSbZWanVCVWHmWSwfWQXjkoEjEpAYc6A7ZHcgs\\\\\\n\",\n       \"tdNCnah3qLMTDgZhlkK92315Ll+1a1eYqMDWRqzG2X44Jq/0O/I8kLhBgQi7IwgrvXdWWKXeC7IS\\\\\\n\",\n       \"KpE7anVlvZfNqKxYbWXttHYffi7iKkR+N+y7YPtkTIHI22N9zLEVXHnlldHl7cRoNAoTvDz96U8P\\\\\\n\",\n       \"dsUY1tfXQ+FJYRwOh8PhcDhOJZzA2mH4vu/7PvnABz4Q3ff85z8/DCjf8pa3yNmL0gzKsc0u8+Ce\\\\\\n\",\n       \"t8fUN6zOmuRhwUZYFJPBu46foThBJhbG4dWsaxNbla6vrWXS3t2WrD2SYrkelVrLFAACC4oTBQbs\\\\\\n\",\n       \"erySSzobm2ZT9fsyGg5DCYP1spyhL3joyRqeS1utYLE6OBjIhZrro6or/Q7OKMJgHRZCLQhttwSW\\\\\\n\",\n       \"HcTroL0OrO738qglyhIeMWKLSa1J5k9sgD5KtLsdxNuaifUH24fmkVcxgmDRfsytg+tyqpk9nkkn\\\\\\n\",\n       \"Dnbn/SnSy1oKY4SXrdOqrjUHCwTWRA0XJ7HwPnBe3Ph9yDNp1bZUDWcf78Tsm5NpJifLCvs+1NLH\\\\\\n\",\n       \"vGZ0NOB9VJbh88pOJyyntHIx8ioUvZ5u16B2sNTap/UTpBX6uC7z+2AJLfM5andlqDMPHpsEtlsS\\\\\\n\",\n       \"y05owOTfpL4xiUFKdchKQtu30QcWJWFTNLjjdIVmYf3t3/6t/Pmf/3lj6PtrX/vaU3pfDofD4TiL\\\\\\n\",\n       \"UOqYZYsaqq2e7zjt4QTWDsM3f/M3h6IqLMw8aO2EOjvhmQsMlqwtygIDKJ5fD6RVRlYnO1DjATzb\\\\\\n\",\n       \"pCSSCYRrWAIL85q1ZDDQ8PFsrLDSsS2ynNhCqCV8a+160u28r9tpSaGDXmT8KDGEg3BhhW7Xi4MN\\\\\\n\",\n       \"4xBoyJh0cKzZWLAUwmenqiwltRpqNQzcs0yu6HTkXlX86cAbNqnxzdYDc3yvzbyCndDmAWF5165g\\\\\\n\",\n       \"HVwftoMd8MMAANxLSURBVOSEsUrF7FL6GQt4Z+WJqgtmLVFoK0tqxVRZNlcmZjFsGrSnyC/u003n\\\\\\n\",\n       \"jWs/0dfZ7sck1nDOeSC9WFkFigbg/p2aiXNU1yVSoCbKHiVH0T7aPSCegiJRu6W2oX0fYLfVLlS9\\\\\\n\",\n       \"EzqjZUu6yytB5VTd2nBadQhLLd4JPVkvDishGB96H3RWwN76uvzNoUNyfbcru2sSzNKLFqFWQYiB\\\\\\n\",\n       \"tMK7gP7N7wOTtpiFEO8D3gHNw9qzZ+r96I9ask59XvOvjh0TOXo0bR/k92FCAKM/9A2BxYrERSyE\\\\\\n\",\n       \"MUKW+7YlwljtGLPXxvq8k1+nEi972cvkD/7gD8J/fmlmZgqvfOUr5ZZbbplSYF1++eWn6C4dDofD\\\\\\n\",\n       \"seOxHX8C+J8QOx5OYO1Q6IyDP/ADPyA//dM/Le2aHbn//vvlJS95Sfgf1v/j//g/5MwHq0oAHsCn\\\\\\n\",\n       \"zrHKgSxBUgkNxnngPowcy5YcEAKDoD7p9/MwqORoKizr2Bd8U+1yCuNdkFg4fjjMpey2ZWn37smg\\\\\\n\",\n       \"GWoTHAQyC6N/DOD1giCzdERbW/QysDy1ikUthYHUgqIlhposuHJpST43HEq5e3elOOHvgfoEdkCo\\\\\\n\",\n       \"TGANhOLE5v/UA3slr4ZFR9aOZVMDdtineJDOChM7kyMUP5XjEu02SCikMLDmgTv3sZRtCn0u1dfm\\\\\\n\",\n       \"IaaUaiKzUro47J/3v06pY+x7xO9WTI2F9RjZh1LlLI1GVcQ5h7iDpNLuwuohXde21e4EAmsSaaWz\\\\\\n\",\n       \"Woq0VjuSdeu7gW0QBJZCT9B1S2ZB3ogXTvti3f/vGQ7lrqKQG/fuDequ8C7UFtsk6sCusS0R/V8L\\\\\\n\",\n       \"7LNM4nL/ZwWWElj8PiC4fWVF1gZtObFeWQf1HdB3wZJWHOCObZx/hXdlOATJyL9VMSUWjpn3fjDh\\\\\\n\",\n       \"ZfvnvL9AY/Sgq7ZONfR38d/8m38j73rXu+RP//RP5VGPetTcjE0tDofD4XA4HI8UnMDaoVAF1gtf\\\\\\n\",\n       \"+EL5oz/6I/nt3/7tEPz6r/7Vv5LHPOYx8rGPfUzODJQLDLyZhFpkAM/npKwvVm0ikcEbk1dsy5km\\\\\\n\",\n       \"tMqyFdQ/g0GViWVDrCEKAaFlLYQQVOn35cpPLbelaHeD3Wkm4wdqFLBhClZnIWQLXwYCq5bFjG1Z\\\\\\n\",\n       \"TbNY1azC5bt3y+V80xi0gygjO+DYEoXtbBnEoJ7yrwZZS/qDyjrIVilLTlnbFOdhTR6Fs69iFrdY\\\\\\n\",\n       \"H7CDcDsYbxqk23Nig/h512sisGKwfR/HxWbjtN9jCbB5dTBvvyU4quWyrKyEVZm2dzL5iHwsO/kB\\\\\\n\",\n       \"ZiUMHGxX+2BL2ugzIHK57/L7AHILbBirsWpF412HDsl5u3cHgjiosjBBQhOZy+QYXlZ+F5B/BdIK\\\\\\n\",\n       \"pBYIXH43jJU22Aazdsi9Wl+vMuB4Fs5YDha/G3Zd639C4qYmLEgV/m20hO4ifSWGVD9qOtYuO7bD\\\\\\n\",\n       \"Nqh/H/yP//E/ZPfu3WGmQ8XevXtlWfuiw+FwOBynEq7AciwAJ7B2KJ72tKcFoup7v/d75Uu/9EsD\\\\\\n\",\n       \"ifKTP/mT8vKXv7wK9T7jkBqUL7qfj+OMoJjSJEZisUXLqkzwnWyhwrGqQNGBZB4GnRhPWwILohH9\\\\\\n\",\n       \"ZDsVxsMVH5VJp6sKp65kRVYNshU4WMGzrsGfxWwYJBk2SZ5shFO5WhZQf+W5jLJMDpWl7FfVSJOF\\\\\\n\",\n       \"EAN1tg1imQLey5AZ1JH+eh5mW8MgnHN/UKxdMDYDIR6vLOfZolhxFRu4x/qZHcRLA9FjSZBFia15\\\\\\n\",\n       \"mEdUMaFVGmthjGTg/m5n6+RrN9UZKxAn27UNBoNWaBf0fyZ0OSMOmXB4H1DwrgRCt1tIq5uFfjN+\\\\\\n\",\n       \"DzC5Aay1Vp0IRgw5bXVHGrZack+WyZece27VN5m8aiJz8dLiupCUMYlrLYR4FzjzihVYYcbBZRnm\\\\\\n\",\n       \"nWAdPGGsslz43bAkFr87OhPkaARllVWLsiIrpU6MEVopcov73yIoT8FfsjsPOtPw7/3e78lnP/tZ\\\\\\n\",\n       \"+Xf/7t+FWQM/8pGPyIUXXiiXXnrpwtf5lV/5lfD51V/91VPb3/a2t8mLX/zibb9vh8PhcDiaoDMQ\\\\\\n\",\n       \"bnkWQv+zYcfDCawdjH/4h3+QD3/4wyHT4u6775bbb79djh8/Lqs6SDvJeNOb3iRveMMbwv/oPvnJ\\\\\\n\",\n       \"T5Zf/uVflhtvvFFOLaA4YEshh1hbWxSTVNYilUUinJGBxYM5EFr5eFmtT71ee8rZpwPQcIf0I4sJ\\\\\\n\",\n       \"1Gy8jxaoVnTf8nJLuu1CuvvqC7JtkNVP6jnCSJZ9RToatkFRIK8QEr8AgfWZw4flow8+KN9yySXS\\\\\\n\",\n       \"xmAdA3gOceeBOzJ/QGxpX1TVSzhmSY6v5+MBu2b8wDIVK2yZiqm0sG2Sz4QBvFVgWVILjRJTq8QI\\\\\\n\",\n       \"KXzHvL5olSTb/S8sE1W8TRbIi7OEle3zvM7ZcTF7Le+fvA/aFrAFQgjI7wNHuoGPxfF4J3BM4Kok\\\\\\n\",\n       \"l5WV1Qk5iwNBGsEmiL4HL512HCJwDzz4oAxXV+UyHfjDergIgcXfyxlYnIOFfg5Cl9VYuC/t/zXB\\\\\\n\",\n       \"pZbc3rAl6/3KPss5V7qsBX0e+7RorKG+K6n3oSJx+R3AsiWjNpIPh/41T61llVuOreATn/iEPPOZ\\\\\\n\",\n       \"zwwqqTvuuENe+tKXBgLr93//9+XOO++U3/iN31j4WpUqz+FwOBwOh+PMgRNYOxQ/8zM/I69+9avl\\\\\\n\",\n       \"X//rfx2IpM985jPyXd/1XfKkJz1JfvM3f1O+/Mu//KR99zve8Y4Q9PrmN79ZbrrpJnnjG98oN998\\\\\\n\",\n       \"cyDQLrjggm38JqumsmRUPudcHrhbooq3MbllCQ8M0LN6GeqT4dR6Wfal19PXrcrxgfsOA3Ye3HPA\\\\\\n\",\n       \"O/KnIS6p1FiZDDUDaLmQ1vJKlUGlJ+AApF6DKcAFMWjX/SCqrPpKlzGLWwzEKFyysiK3HjsmB8pS\\\\\\n\",\n       \"LlciChYqHrxjGYQWz7BGs7MN8nZQqVWD9Srzx6pLrPLKqq6snVBnHozbB5mossoRHqQ3ITZYX8Qy\\\\\\n\",\n       \"FRvEz7NcNZFQth/b72p6B+w1ijnn2evGlGYgQarcK67PMNNlcPZpLtxkPgJuT3BCaEtwTSC70L3w\\\\\\n\",\n       \"LuZ5Lu2iI63lmuVVQHUFNhjyLbwDJnzrvDyXpxWF7FEiCUzxPAshJ85bFRYegi216PNY1n6PY+p3\\\\\\n\",\n       \"YNTpymBUyPETmazVuVfIgGPSFqH3sffDqhZ7Pa1zq7JqUmAtMqGB7TexPpDqO+g/KTLXCZV50H9b\\\\\\n\",\n       \"VR31sz/7s8H2B/zzf/7PwyQtDofD4XCcsXALoWMBOIG1Q/GLv/iL8u53v1u+7uu+Lqx/yZd8iXzo\\\\\\n\",\n       \"Qx+S//Af/kOwC6zr6OYk4Rd+4RfC/wprYLxCiaw//MM/lLe+9a3yile8YhsIq9iyzQKyAyS2TsWO\\\\\\n\",\n       \"KxcsTHzYEHfMeMgkCRRgwxDEXmVhVbMSgsCCmwnjYF22Ae8KjMXD3ZaZtFq5ZG1VdWg+FlmmcBBO\\\\\\n\",\n       \"4MG2MgNgzHg6OKhNEIqdIrFAYBWF7CoK2Xv//XJXr1cRWGAXoDTBss3D4qJ2qVZHBsNqtkbO+bED\\\\\\n\",\n       \"89gMg1jm/KsJ92AJq5gaJDUgn2fxs/0m1V8X2bbodu7zsftKWQllA9dYRCVm34XU9lnSUN8BJbDg\\\\\\n\",\n       \"VK0mKJhtU9gJObYN/BN+utQKretZpyWZclRKDFkLIayD8O7ydKB1p+q223KlnossLUtiWeB9YgIL\\\\\\n\",\n       \"6kcmsFKTGoC0olB3Ja9C5lW/CLZBkFQIa+eJC6xlMPWu6KyDVXC7DWu378NwgXdkXpENvBvzjkst\\\\\\n\",\n       \"OxR/8zd/I//lv/yXmcpQ6yAyrBwOh8PhOCPhBJZjATiBtUPxyU9+Us4777ypbToboaqxvv7rv/6k\\\\\\n\",\n       \"fW+v15Nbb701TLcNqEpCLQ8f/OAHo+comcaEmk7NncY8VUlMrRJTqTBAMvH1+ReUFViwDoYnowEg\\\\\\n\",\n       \"roP8qImFEOvDYTG+BtukWDCi4+XJrGv1k9SWqXCV2uFUjbUzGa22pNsppLu7Vj+trUkGBgxWKhRI\\\\\\n\",\n       \"mHQAjQBrayHExVODd7IQalHb1afvv1/KPXsk4xBrnoENZBXuRy2E3a6UIdB6NYRUW/IKs65p4QBr\\\\\\n\",\n       \"O5hnRRaLyarcH1ilLJHCg3W0r51NzQ7wY8RWSqXF19oKNkJAbeSaeJbY+8BKLCak7Myb/G6w4sqS\\\\\\n\",\n       \"Ini3qrYYjdo1sVKpsHiyTPBKTNqypRDd0e4L70GnJctqJyxLyUAagbwCsYREeC21zOuhhx+WT997\\\\\\n\",\n       \"r1x/0UXSwcye8yyEROJOLVsFFmfCgbzC+6CzbZIisdfLQ2A7ZhpEH8cMnDwbJ78f9p3gd0XfgcnM\\\\\\n\",\n       \"g32yDQ5p3b4PUNClMuJiZL6Qvbapv9nt88ip7XiHdh50FsDYv5EaGXD++ec/IvfkcDgcDofDcarg\\\\\\n\",\n       \"BNYOhSWvGF/1VV910r73/vvvl+FwGMJkGbp+2223Rc953eteJ6997Ws3oCxZFJx/xfZCvj5IJR7U\\\\\\n\",\n       \"xwbsuAbsgSCy+NqswoJ9cDo7qyKeKqtcuIPa5QQHoELH3yyGUvDsehiDY1s1Ds5luat2wpYUUD+x\\\\\\n\",\n       \"NAOeI5tyzqwPz2zYRGAR83ZZtyv3lKWcWFqSFbWzYCDPmVggsEwe0KhoBbugDsRhF8OgnNUnUKPY\\\\\\n\",\n       \"R7A5PxM+TgfuVZklo5qyetAnmgbO8/aPTuNBuCVxuV/PO7Zpf6wOrQKrWq4IFSWvMiuEmnL5Vdll\\\\\\n\",\n       \"04QVvyt4F7QrhjYPOU+ZLC2vSNGpZ9aEnBGEFXsT6xy4L9x3n3xhbU2+TH8vIQuzMxlacDAX2DUb\\\\\\n\",\n       \"5D5vUgO1DLbaMso7cuLYxDLLBJb2d5BXILM094rJXKvSwrtSiSpBVPWIvLJZcDE7Iban3p2YWguw\\\\\\n\",\n       \"50mkTzyS/y175uMbv/Eb5Sd+4ifkd37nd8ZKRM2++vf//t/Lt37rtz7St+dwOBwOx6bhIe6OReAE\\\\\\n\",\n       \"luMRh6q1NNcD0P9dvvzyy+u1eQRWyla4KHhglVJh8cDLzrBm7YQTy+CE4JpWZI1GmQwGlWUOLiQI\\\\\\n\",\n       \"RqAqATjeCuvhrkmdpWoWzFLYLlrSbuXSWqXAIDAFuhybpg8WQihO2ErVZJ8qCtm/d6/cfMkl0zIa\\\\\\n\",\n       \"kFb4fijA2u1KdaJZP2Uh/V5Rq69mVVZskQI5ZYkrax/kUtkHmUSxAe3c9k1WptigeaM2wNMZTZZC\\\\\\n\",\n       \"2UBdpOrSqrNUGVeOeSL91C7FYkBYBuH6Qxe174oCM3QqeVW0SsmkkLZ2/U4lYQwzruIlQuAWhW99\\\\\\n\",\n       \"8dgxufSSSyTD7IPc/1M2Wp7VkFVY3P8tgYVSE1j9vC2DkdqJ8ylyFnlXTQSVXZ99V3jWQZBSvJyy\\\\\\n\",\n       \"Ek6TjbPqQ1YhWsJ3s+TSRuyCZ+L7tf34+Z//eXnuc58b8iRPnDgR/kNKrYOaa/lTP/VTj/TtORwO\\\\\\n\",\n       \"h8OxeZT691u29Ws4djScwHJsu/KrKAq59957p7br+kUXXZS0RGjZONguiAFUMedYLGPgnhp4MzGV\\\\\\n\",\n       \"UpdAccWKLFZ8sX0KqqzqfpXAyvNqgI0xL2DthZiBDesWPN5eWlL7XlnlAmW5ZIXmA5GtjxkgMAgb\\\\\\n\",\n       \"IbBiFqqikENra7JPrYF2AA8yq9ORstWSst2RYdEJxBVbBpvIKysYixFYeBTEepVlamBuB+FMajXZ\\\\\\n\",\n       \"nM7mwfM8gg/LTfU7WVeyqd8vohlYUGSxAxBWQ46wir0r+i4FzqnbEukWUnSqDKzQ/1nepRdsteTo\\\\\\n\",\n       \"4cPy8GAgT7zyysrWCvtgk4V2EQILZK6xEWrfL5XEbXdl0M/CTIMgqUBUMZkVy8CKWQans68qcnDa\\\\\\n\",\n       \"NhjLu0qRWdZOGGvDpt/MVD9Jwaq0HPOgsw/+0R/9kfzFX/yFfPzjH5ejR4/Kl37plwabvsPhcDgc\\\\\\n\",\n       \"DsdOhxNYjm1Fp9ORG264Qd7//vfLc57znLBNs4h0/WUve9k2fUuT9ckSW7wNhBJIJT4Giiuor2Kq\\\\\\n\",\n       \"qrIeFApZD5FzBRILbBOW+fqT+9E8rF6vCGosEFQgYDDrIOepM1FjCRwme3RQW2VGZ9LtLklneUna\\\\\\n\",\n       \"u0bVaBgsUG2fGg/WLYHVlP8THmU6/+eeBx6QP/34x+VffO3Xyp49eyZkGZNZS0sylEL6g0xOHJke\\\\\\n\",\n       \"eHM4NexPdhmDe2sbTHFx04PtvrE08UCdj5UGa9TpZAU81bC5WPb9s+pF7Mc6rGytMbmhbYSZN0Fa\\\\\\n\",\n       \"QdyH9fBt9cSaAFRZ6J54V+CC5fdhebkr7eWOtPT7tQPBQlgfdNeBA5KvrsrFj3rUJGTLvgcx2Owr\\\\\\n\",\n       \"JrCYKGMb7fKy9IequBJZPzJ5HZmoQj9nFRbvg72QZyK0qqwqX2xItkHOvkoVvAsgu0Bs9SOWQPuu\\\\\\n\",\n       \"sBXXKrVi7xH6UBNZ5VbBJvzGb/yGPO95z5OnP/3poXD+5Nvf/nZ54Qtf2Hi+w+FwOBynLbbjTwD/\\\\\\n\",\n       \"/7AdDyewHNsOtQO+6EUvkqc+9aly4403yhvf+EY5duzYeFbCk0tYxQbXTCw1fYcYciu2D0QYvg92\\\\\\n\",\n       \"QYAJrFTulm7v1xlNuaytTV5DDOCtAATjaXY2QSxlya12uwrI1tiddruUTjuXdrEkreWuFHqvqnYD\\\\\\n\",\n       \"mYUL4Asr+dK0fYpvBPZBsmZdsGuXFJ/+tHzxyBF5vFo/SYFVFi0ZlJXirFJSZWOFCQg3DmTH4Jz3\\\\\\n\",\n       \"YYBubYQ2vL0i/MpQJgPxgan7JhXRySCpYv1pUWy3BHreO7AVciulyOG6nuTCqUJOlViDQdVXWSSF\\\\\\n\",\n       \"2QdBVmnbM/B+YNJNVt9Nlis1VtUNC2l1lqXV7UoGiV6/L5dee60s79snrXPPnRC6kxkSJmVcfXnz\\\\\\n\",\n       \"LIR4CJqNc6Bv3CiT/vFcetT/wSFzPB0shDb3jQPd+djpSQ9UeaUznY4iQe29SA5WkxILxSrpmhRa\\\\\\n\",\n       \"i/STJvVeE5zQYui/o89+9rODhZBx5MiRsM8JLIfD4XCcqfAMLMcicALLse3Q/x0+ePCgvOpVrwrZ\\\\\\n\",\n       \"HNdff7285z3vmQl2Pzk5PmwNjKmw7MDJ2ghjhc/lfCwe1IkJeMcySAMMFqHaqhQto1Er2H4qV1KV\\\\\\n\",\n       \"icU2QQzoAdil4rMSToe/a+l0KoJArYXtVilFnkveyiXP25K1h5KX9aifR/8xAgsDeQzeFTXLoNe8\\\\\\n\",\n       \"+Ior5K6HHpLHKWtWtEJAe5nlMipzGQzzqfB1JqysXTC23ZJU00TF7MRx04NvO0geLdjemwEH9nMf\\\\\\n\",\n       \"tMdsZPui35ttgADj47c6o2FTYYWbzGSSad+3zlXbvuCFtHAOFnOo4cqVW3CcF4d1JbK0dLuZlIX2\\\\\\n\",\n       \"+1yyThEmO1htt2XXOedUNwDpHuSOuCjeAVzcElggreoyygop80JGWkolr/KgOgRhhf6PdVYagrQF\\\\\\n\",\n       \"ScU5WJwTx+QVbIMV/wbyymZfMSlliSoQ8paYskqqRdo7dUysz3C/sMuOxrcO2W4GX/ziF4O90OFw\\\\\\n\",\n       \"OBwOh2Mnwwksx0mB2gW3zzIYAwZCTaoSJrFAVsWUVmwZlET+VR4hr9g6KBRUzdvwybMSThRh1XhZ\\\\\\n\",\n       \"7YR5rR7KwlgYg3A765oC9kIsY2IzCKh0HQQAHEzVsuZtFUGRUk3SpgMhMAjj9PPxF4U7BzPGyHMp\\\\\\n\",\n       \"mVnLMrnk6qvlrz98q5zIcukurUwpw2jSt7DObkZWXKHEg6mnr8eE1sTxVQWET9uhQi0l7EwnYwDN\\\\\\n\",\n       \"/ZEH/7zf3gf6RMxuNQ8xdeF0H5v9fuybtrVuHk11ynUv1DZ53V4VyYQ2hBqLc69gCwQppX13/DQ1\\\\\\n\",\n       \"YaXng1Pid0Wvo8erVbfq/3m4/j33PyD333uPPOkJT5BM89L0IPTz4VCyWAZWzZiNnxCSsUBitcLy\\\\\\n\",\n       \"sNSZRrOZPqp9Hn2XySdWYKHvq1WQl0H+suIKZFevV9bvB5NX/QYSKxXm3kRiSYLYkgbLILe5Jbea\\\\\\n\",\n       \"cDZbdZvxlKc8pf5Pjky+9mu/VlrkrVXb6Oc+97mgzHI4HA6H44yFWwgdC8AJLMcZgpiiKrXf2gaZ\\\\\\n\",\n       \"7Jo3oyFUCcjr4fwrkA9sIeT1QeSXl8mzFNmmM/G1ZTisBr8Kjc+BskgHvshf1zE2SKqJTbAisHQg\\\\\\n\",\n       \"i+xoHeRyBA+IAc5Xr8bfuXQ6uRS5hr1jmxJbweg1a6WCCkUDsyUXdSzp+H//xY+S9vJn5L77T8g5\\\\\\n\",\n       \"+3fNZHTZSQ9ZccKKq9TMakxuxfKOoESpLFSxIHFLosRyfE4lWKVVNpBb867BfarJZnuyYckOts9y\\\\\\n\",\n       \"mWRlVW1VvZOsMgSRxRMZhG8whC74JWulxTug29DnEYGF9U996h/l+LEj8ujrnlKpHLtLkumniqv0\\\\\\n\",\n       \"PtHfWYFVF53rsCLNVN0lopzpqO6DTMRxn2cCy05WAAJL97G9kAmsmKW2IoLR5/uRwmos5Fml8q9s\\\\\\n\",\n       \"ic1QiN/GUOsL9tUYiWsJsKZruH0QQKbkxz72Mbn55ptll048QNmTV111lXzrt37rnPZwOBwOh+M0\\\\\\n\",\n       \"hv5n5Vb/LHdR946HE1iOswBsMRQaUEExJURSYX9MecWDcD4vpqRhKyGUWiC4cOz0uaNRlROV59V1\\\\\\n\",\n       \"mDvCgB35PyyMggoJyyB4eADPaixkTbdaFXEAtcskj1qD5UvJwSCEL6q/LGyrtgfyqp6qtiyX5Wu+\\\\\\n\",\n       \"5hvDd+qgm+8jRmCxGgWDfQzMOeOKlVdWgTWtvqqsNXEF0HYoPKw9lBV683KuOOAcbY/7wzqTWLH7\\\\\\n\",\n       \"jl2T+7Rdtuvz8q84u81eP99iPhavT1vItM24DUH+YKI/KLBAXKGvjp8sm3a8QpEV6/9Yz/ORfP7z\\\\\\n\",\n       \"98hjHnOdnDhRTaIAMUuWVTZb3N9kKuaawNKnqMkrm/fOkwmg3zNphf7LFkKQVngPUuQWk7tVUdug\\\\\\n\",\n       \"1h1+V0BYDSOkVZPSCsdb4iqmqIp9WqIY7Wz7r/81uVW8+tWvDp9KVKlNf0n/h8LhcDgcDofjLIMT\\\\\\n\",\n       \"WI4znIxq2h9TbWE/Bl5MHlgVFytirGUGYDXWsB6wDxNEFgbGWEbAeLVfB/OV/agIA2ndztE7Ch1o\\\\\\n\",\n       \"xwLeyf00lcmOAbxuV+JKSSwOzcbgngks5HFN4q7i9W2/V7/vyJHjUhTdUA+WcAI5weRULJC9ibwC\\\\\\n\",\n       \"OYC4ounc7aZcnq0iRhDFsqRipBSfY/snbys3oKSKkVc2gyt1rdh6rKSO3wziGUlMztpJALWttS8y\\\\\\n\",\n       \"gYU+CoDoYoGgngtHoJ1YU/v7Qw/dJ8eP92X//ssCKTTthmU12Oxz45p830xg8bwI3L+VdGICy2bC\\\\\\n\",\n       \"pQgsEFZ8HbUNVu8TbINWWWUzr1LEFauqUqorq2Lk3z+7zO3L27gPbMS266RXDDpBisPhcDgcOxJu\\\\\\n\",\n       \"IXQsACewHGcQLCEgxpYUGzDliWMX+S5LYrHShtVaPOhnm42dodDeO86ffh11prKyrDKCxmqnepCs\\\\\\n\",\n       \"g3UMhJF5pYN1DJ5BUoEEgupK19lCyHYqDso20VZT1q4YmHA4cuSo/Mmf/C95ylO+Us4779IpxZW1\\\\\\n\",\n       \"VvEAPraN7YWxEgtvn0R18QAd65sdDKfIJFbsYX3aIhdXXnEOG3+HRK63kXuMwV6Dc6/sMl8r9t2L\\\\\\n\",\n       \"qLhSsEQHiN5pEpLD3LWNwx3XfXNKDIg7qkVRlsisMq8m69qHYa/Va33+83dJnq9IUeyTI0es+rD5\\\\\\n\",\n       \"SWKkrX0fU6pDrHO/thZCnuSAVVcTcqsir6rMK7YK9hMzDfIxIKiarIMxIiuVf7VIu6cUkbG/UPm9\\\\\\n\",\n       \"cOtgug8O5T/9p/8kv/M7vyN33nmn9LSjEB588MEF28fhcDgcjtMMTmA5FoATWI6zAJyBxduQb8Uz\\\\\\n\",\n       \"BsaUJ9ZCyPtjA7KCvo+38/VwDjNEk0HiYKAztBUyHLamMrB0cIy8Ky26zPtAWKm7BKSVbuM8LP3U\\\\\\n\",\n       \"wTAUWPi0BJZiYq2aHtzzBG1Qo5TlLimK3YEgWF6eEFggJEAoWGsVq7FYgQVCANvYMsi5RxM1mrUy\\\\\\n\",\n       \"oY2bYO1/TIZCTcftzaSkXW+CJa+yxHdv5F/uGLlm+/BGSKfYufb6Bb0zixBfDJ6VE+2k5xVjIggK\\\\\\n\",\n       \"KlhlQf5wHhbILSa10NfYToh+p9dk5eHevVfKysoFweoKkhZKLjvRZrhTIkcxeUKMwLKzKHK/tv0c\\\\\\n\",\n       \"lkJYCO0EBrEZCtU2OBjo7I0xm2CvLlBa9RqUWbHlFJll7YTz7IUxgmuztl1HDK997WvlV3/1V+WH\\\\\\n\",\n       \"f/iH5cd+7MfkR3/0R+WOO+6Qd7/73WHmX4fD4XA4HI6dDCewHDvUVhizZTWRWZao4uNtThb2W0KL\\\\\\n\",\n       \"93NmEr6fv5NGwuMZCqcHftXgWK18ai+sMnegOMEgmdUnugwFFo6BRRCDfB2oQ4kCssqSVxjMg7Si\\\\\\n\",\n       \"/OqknQrft2fPpXLXXXfIlVdWdkgmEqzVyuZapeyCbBmMqa6q2RttW9rleYhZ57hdOfMqZtGz2Vic\\\\\\n\",\n       \"H2VJTL4Ot3vM8tq0ne+dr22Xsc6zYPI9x+yQdjmlylrE7phC9VxoP/Rx9Bmor3hd+wT6IpNO4W6y\\\\\\n\",\n       \"yUQHIDXRp3Ub7IhLS+fJykpFDk0ss9P9feouKYvO9vcYiYXC/ZwzsKCswjJPWsDqLM6EGwyUvBoZ\\\\\\n\",\n       \"8ioWyM6klLUTsjIxZRGMZVylLIX2OH7fYhlYTZZetwsuit/6rd+St7zlLfIv/sW/kNe85jXy/Oc/\\\\\\n\",\n       \"X6655hp50pOeJH/1V38lP/ADP7DwtRwOh8PhOJ2QbUOI+5ZD4B2nPZzAcpyhsFlCEskWsvtSAyeb\\\\\\n\",\n       \"g5UlAqhtNhYsg7g+q0qwPKhfM9imMkNe4dz4/Y1GebAUVgP7KhOLB88KJnWsCgSKK87DwiyGGLxj\\\\\\n\",\n       \"RkKQAosM6if3Nz1h2549l8lnPnOb3Hffg7J797nje2MCC3lAuNemvCtrL7OEXZy44nptQoyksURT\\\\\\n\",\n       \"Kl/KElGxazHxiYE+77PnMuHJzzUvj8qSS0xM2fUUkZV6vti21HUXqfMYqmdMkUTcBzgPC2TW+Knr\\\\\\n\",\n       \"/oq+YgksXX7ggc/LaDSQyy+/ZnwdmlgzaSFM3Rf6ZIykTVkIWWVlZ9e0BFb1rigZrIHt+D1h9ZUl\\\\\\n\",\n       \"sGygO1sCOaw9RkRZcotJLdte+EwpBi1Z1ZR/tdFsrLMbBw4ckCc+8YlhWWcifPjhh8Py13/918uP\\\\\\n\",\n       \"//iPP8J353A4HA6Hw3Fy4QSWY4corhY9L6bGUsRGrlZ9ZQmGsn6FLFkWuy7bC9sJO2Esi0YHry0Z\\\\\\n\",\n       \"DnWGwvZ4oKwElNoCYRvENrUUIgNLB78graDMggILdkJYCG1Idmw9WaukeOl0zpM810HVUWm1zh0T\\\\\\n\",\n       \"D5ihDcs2E4sH+kxacOYVCAxWZEFZFkdlT5smDNn6xgNlJpZgAWWSKjezVsby1FJWKZA807a5WXIA\\\\\\n\",\n       \"2+x9NT1fKufKrjept4qGiQZ4GxNYfI4l2NhmyMA5s4A6EH0J5JRu40wsrDNxxUQmyCTtr5iVEOfo\\\\\\n\",\n       \"8mc/e5usrOyS886bEFjhaRtIWoWdcTC2HgtvtzNvslUWJBVIrFgGlpayZHIK1sAYecUWQhxjFVmc\\\\\\n\",\n       \"gWVnIMS+eZbBaA3NUV1tFE5ipXDZZZfJPffcI1dccUVQXr3vfe+TL/3SL5W/+Zu/ka7+A+BwOBwO\\\\\\n\",\n       \"h8Oxg+EEluM0xkYGMSlrIAgIEA64Jmde8X6rmuFRrQ1xT4W683osBT1GoHXMPfO19LMdBuc6Q6Hu\\\\\\n\",\n       \"VzWWDpp1vMJ5UCC0UKDA0n1YBtkFu6BuS5FWrMRqGuCHuwykUiZPfOI3hPvQgTgIJmu1imUF2RkL\\\\\\n\",\n       \"eVY3VpyFWiIVzHzYrCnbFta+acmc8RMagofXWV3Fx1rlFber/V6ryFoUto/yckqJZffFAt7tOhNT\\\\\\n\",\n       \"KXti6v7mZ3HZ2TUVaHf0P+RVg7SCIpFVgLDF6jbMwFmV4/LQQw/K+ec/NvRNVhg2gS2ElrBiMouJ\\\\\\n\",\n       \"Wc55435ts97sDJwTdZaGtau10qqq+hGCCuRVk42wibRKhban8q9SNsJQW+a40CoN9sGN5mM5sfXN\\\\\\n\",\n       \"3/zN8v73v19uuukm+Tf/5t/IC17wAvm1X/u1EOj+Qz/0QxusT4fD4XA4TiNs5f+++BqOHQ0nsBw7\\\\\\n\",\n       \"TIllLYFWHbWofVAMOREjHdhCYwkwMXlIbDWMWbygfAAxFvsFL8e5WDpLoRYFyCueHY0thExsIRA+\\\\\\n\",\n       \"pk6JKbB4Brh5KhUmmNbW+jXB0J4a7FtCKlb4+PDUU1bBRRGz3aUscEwcseLKZloxadVksWsisaxd\\\\\\n\",\n       \"1PanzSgLY/a92D3GyKvYvcc+LdGVeu6muo61zTRi7RxTWIF84mVLROE8qLEeeODuQPyurl4yVnQp\\\\\\n\",\n       \"mmbatJMVxGytMZUhCCoQtDEFls3Dgr1Qs66Gw1HIBptWWrE1MJZxxURUavu8vCtbLHHF20KtmN+q\\\\\\n\",\n       \"Jjth03LTNgfjZ37mZ8bLz3ve8+TKK6+Uv/zLv5RHP/rR8g3f8A1eWQ6Hw+E4Y+EZWI5F4ASW4wxF\\\\\\n\",\n       \"ymZliat517BWMKukYtKCB3ypdUuIMfnF35ElFFd8LSZPJtdRO6Fm4mhIehVOnQVyqto3Ia2guoIK\\\\\\n\",\n       \"BTYtLDcRWFBegcBaxGoFW59m9dx66/+Qiy9+YlC7xHKMYrlBNpx9c2BSiuvdklVY5vZlBR/q3vYN\\\\\\n\",\n       \"7l+WsLTEFV8H51tSNLZvXKOJZ2wKVMd+vndLMlkiy14jdrwlvWLbU+sxtVaTYisNzsmyRFK8L076\\\\\\n\",\n       \"9n33fVGWli6Q0agTiKJFc6/4etx3t4PA4twrfaerczi7KmULHBkFFhNVVqmFUs7Ju1r0M2UlbFJa\\\\\\n\",\n       \"zdRulKB3Ams+PvCBD8jTnvY0adVTxP6Tf/JPQhkMBmHfV37lVy5wFYfD4XA4HI4zE05gOU5jxAim\\\\\\n\",\n       \"2DHSMBjm/bANYjsP+kva3/R9CGPHsfgsG1Q1bL8amn3IW7JKhoJeT9QBpCK6rLlYI1lba0ueZ2Nl\\\\\\n\",\n       \"EwgrJbRgE4RtEPt0kIwQdy04DplDHOoe7sTkYKVIrAnxlEu3e57cf/9dsnfvLIHFMyjCbmUVLZyF\\\\\\n\",\n       \"FCMocF8TQqMi86Zh7W9cl7ZtsA+B+7Ydsb8wn0xYWuKKpT1WqWeVKDFrVRPBky9AYPFyFulDMYtg\\\\\\n\",\n       \"ExGVm2P5eLYX2mulrIf1nWfZOIstpobiGQj1E33D9iPtxwoQtUxeadm791opimJsQ2wisCx5xX3Q\\\\\\n\",\n       \"kq+xfpwKccdxsX2jkVoGObdKb2A9QkylbIFMcuF8/K7xNTjnio9jZVao+Yb+t0juFZPImyG0Yt/n\\\\\\n\",\n       \"Cq2v+ZqvCRlYF1xwwVTtaJi77qsIUIfD4XA4zlD4P/WOOXACy7EDwaSVtWXFrIWWeBAT2M2EA6ui\\\\\\n\",\n       \"eADHqik+B4QVbIJMlvDg0ap7ALa0MeFS3Xc10M6nsrF4tj7MQMgzF4LsAmGAZSURQBRYK6GdrS1G\\\\\\n\",\n       \"NLDVa9euy+TOOz8sa2s9ybLO1CxuPOhne5ZdZttYM6xtzVr/YooiJjCZwRhE1FgAq7VSRJXtS7Zf\\\\\\n\",\n       \"WZtfaqDPhNQizx6z79k6ybdIXhWR/S3abi2HMdVWal8zuA+AmMIyyFT0Hw56Z8WW9kndxvbBVLYb\\\\\\n\",\n       \"+iiuG1N8WVss22OhvooprniyAp1hULOuRqOhlGVMVQXCaZSwDdoZCK1F0M5EaG2A83KuUtZBS15Z\\\\\\n\",\n       \"cimlsErtcywKtZYq6WvxwAMPyOrqqlekw+FwOM5cbMefCP4nxo6HE1iOM+SXbN4gN0ZUxc6JEVh2\\\\\\n\",\n       \"u1XK8Hpmlvl/uyfEUgUmJSypYMktwKrC7H1btZcOaNRSWH1/FWJdnc+D93A39cAb6hQoshB8zaRW\\\\\\n\",\n       \"U6C7gv+TP0YA7Np1qQyHfyMPPXSP7N175dS9MInFswlygDcTFpZk4FB5LhogP2sJZPJPEvsAayW0\\\\\\n\",\n       \"9sF59kJ7ndQy2jxlP1ykv0vCJsjXarINppRVKZIpRl7FrtP0HTHiKptpR7Rxqv1taDurspCLxf1Z\\\\\\n\",\n       \"Px988DPS7a7K3r0XJzOvLEmGbangdpvdxhMUQG2F7dZCWBFYZV2a1FRYBrnFZFaM0GLSickrtgxa\\\\\\n\",\n       \"GyCTXRL5DbMEe8wqaP/ibPoLNEVsNcFJr2/5lm8JNaHk1Ytf/OKpGQe1D33iE58I1kKHw+FwOByO\\\\\\n\",\n       \"nQwnsBxnAJgwimHegD9lM+TzrFXRKmZAjGAZA0JWaok5B4qrol7OGqyGfJ8YfIIQw6vKyxictsYD\\\\\\n\",\n       \"0OGwE/KxEFpdBbdXiiyQVLoPqiwdSLNlEPuQe2XzsGIWr3Qm1nKwER47dkR27ZomvGIkQJPKCjYv\\\\\\n\",\n       \"qGpAwHF2V0ViqI0wRepwu9h92jZi6putgVjnh29q93kklj3O3uei/3VkSTSJEG/ziCVLTMWsgvZ4\\\\\\n\",\n       \"PoeXW0aR1aZlu6+6D7W/WpUf+tmikwdwsDuOH9duIEhLufvuT8j+/dfK6urFUTsqrpOaBdHmXiEP\\\\\\n\",\n       \"q7L+zea5TWyB0zNtVrMLTiyD0zlXVknF6itrH4ztZ6Kqb1Rb1kqI4zjgnddljmJrXGuJ37Cpml3Q\\\\\\n\",\n       \"Qti0z75rZx/27t0bPrU/7969W5aXl8f7Op1OyMF66Utf+gjeocPhcDgcW4OHuDsWgRNYjh0Mm3cU\\\\\\n\",\n       \"2xdT4sTUXDY/iwktMYoaXBevF5b7JjuI869wnkTIFDGEFu4dA0rdXqe4BxWW5vyoKqvKxkLuFQe6\\\\\\n\",\n       \"cz4QiCBWraRmJVw0D0txxRXPDGoBzg5K5VkxQFLhXkBugZgDocUZWJp/pLMzVgH3sGtyW6UysDhn\\\\\\n\",\n       \"jOua2wOfICGZ3LQPb7/b9ikQX6lBvyWk5sGScpak4vu0+1pmO6+3jE3QHot+jKw2PscSXzGSrCVF\\\\\\n\",\n       \"kY+tqyCt0L/szIJsW2VyKwaQTaE2c5Hjxw9Kv78uq6uXBuIodW4q9yo162As94oJK7YRskJLVVdl\\\\\\n\",\n       \"aW2AnH3FKisObR/MIbBYSWXD23k/Z2CxhZAVXNZaOFNbZj1mJ7QqLXucYyN429veFj6vuuoq+ZEf\\\\\\n\",\n       \"+RG3CzocDodj58EthI4F4ASW4wxBSkU1bz+TUXaZ1S+8DgKKyQ5LaMUUW/Y8Vg6AgMJ3WBYH6yA/\\\\\\n\",\n       \"7P3iVY09C2+vBo/6v/RVNlYePmEVZMseyAMFVE26HVlYNggbhBHIBP1kQmkWmsml9zGQomhPWb8W\\\\\\n\",\n       \"AaxhTJgxmYV7wnZV8+hzqwpLn3m6bZqsTkWENATxhbay9tBF7IPcLnwfIB+ZZIrZs+bBklTSkDeF\\\\\\n\",\n       \"52NSbl7mlSWjYqQUK7Ks1TCt1poor6pPkFgxJRbWU3lVKaC/HT58lxTFkiwt7U/2QX4vbE5bisSa\\\\\\n\",\n       \"EFKWoJrOvZqQWJpZV5VZpZW1A/J2q7Cy5BWrqIYNqqqYosqqm5i8mqrNBiuhfbdS5Oxm1FluHbR4\\\\\\n\",\n       \"+ctfHn7ngM9//vPyrne9Sx7/+MfLs571rIa6dDgcDofD4TjzsdH/7nc4HiHEBkeLHDMviyU2+Fok\\\\\\n\",\n       \"1yW2nApEjqkbeMBpj+FlHrCOGgazsBdNlkcjtRWOgm0JYdGwNuHTLvPsaLwcKzYDKFY+85n3yoED\\\\\\n\",\n       \"nxgP/mOwuUesvrGqHKjImOSYVvBUtrQsY/IktmxVQa2IqgiqIz43RdRY8seqkWz2k91nty9a+LxF\\\\\\n\",\n       \"vsfeW9Pz2HpjNRbXVWwGwnT9a9vkuaqvsnG7WQIL7ZzqB7E+E4P2uYcfvitksimxuUifberz9v2I\\\\\\n\",\n       \"vUPT79jk3dN3Ud/J1Ps6m23F73vsN8H+rsTIq6bfnlBDC/yubfb3MvVba89PYZFjzj580zd9k/zG\\\\\\n\",\n       \"b/xGWD506JDceOON8vM///Nh+6/8yq880rfncDgcDseWLYRbLRvFm970pqBwXlpakptuukk+9KEP\\\\\\n\",\n       \"LXTe29/+9uA2ec5znrPxL3VsGk5gOc4gWLVA6ph5++cdYxU7MWsNH2sHkaUhmnjgaHNoMIDl9aay\\\\\\n\",\n       \"Xh/fq8t6YnmyXpY96fVG40E1Btjr6yJra9U6L584Ua3PDsZnP1lxYpUqipWV8+XIkS9Oass0nyUo\\\\\\n\",\n       \"bAGZoRZBzuTSdRTN7ZpezqTVUiKLiahU6db2y6ZjFrmOPX4eGbUZsmojpNa8/Ys8Ex8z7/h2XZfN\\\\\\n\",\n       \"1yyKIrRNvN0mxbY1qwJT/WTmLa7zr/bvf4zs23f11HZWU6HvcsB606e+G/qO6Lq+M7rOy/Y903dP\\\\\\n\",\n       \"38Gmd3R2uV+vz/s9iAW8NymxeObTGHnOv5OWBCs3+Du8yG9xEzaiRjx78JGPfESe8YxnhOXf+73f\\\\\\n\",\n       \"k4suuiiosJTU+qVf+qVH+vYcDofD4dg8ym0qG8A73vEOueWWW+TVr351+Df2yU9+stx8881y3333\\\\\\n\",\n       \"NZ53xx13BEs//k12nDo4geU4CxAbcMUGY/PsMal8mNgyf3IOTWx2MZt1w0QWHx8Le7Z5N8PkMTpT\\\\\\n\",\n       \"1WAwCgNtkFWsIrG5PazIgmWKLVT8GWqMLIpYr3KHjsva2qGwje1gWLeKq5iFDGHzKCA9UKDYmezL\\\\\\n\",\n       \"6nB6KICUYOnUn21aLxJkjVVi2WOssogDyvmaMZWT3Z/NUTTFir1PVmHZe7FKrNi9xp4nRlzF6oav\\\\\\n\",\n       \"iTq2n0Voi6qNJgQWt1uqbbkPxPLZYnlZk36WybnnPkaWl8+L9k+eFTPWt7nvW1tg6v2p3i9VXqkC\\\\\\n\",\n       \"sumdjL2/A/N70Iv8DjT9dsR+NyxZtZnfMP59bPq95N9WwImo7cTx48dDiLvife97X5idUBWNGuKu\\\\\\n\",\n       \"RJbD4XA4HI7F8Qu/8AthEpSXvOQlwY7/5je/WVZWVuStb31r8hz9++47v/M75bWvfa1cffXkP0kd\\\\\\n\",\n       \"pwZOYDnOQGz2f/c3Yw3kbVwWHQDOGzjGrD78yaoJS3BZtUWMHJvO0tH8HbUyqa2pyQ6I7XamQDsj\\\\\\n\",\n       \"GwgAmyEEkmB19QLJ87YcPvzFMdHAhEOswFJmFTcgO2A343WQISA8KvJDlVgViZVl1t5mSZwYuWSX\\\\\\n\",\n       \"Y/lOMbIptc1a9awqShK5VFzs9tg5i3xnalvTc8aIvlT9Tb5D657JK24jbrtU28YUeTYviwv3sQcf\\\\\\n\",\n       \"vH1MnjJi/dXOMhjLwZr3vlRF7YKaxTZqeF+tZdC+r9YiaG3D9jP1GzPvt6jptytlE2z6zUz9hs77\\\\\\n\",\n       \"bbb7XXmVwrXXXivvfve75Qtf+IK8973vHede6f8U79mzZ07dOhwOh8NxGuMUK7B6vZ7ceuut8sxn\\\\\\n\",\n       \"PnO8Tf9TSNc/+MEPJs/7iZ/4CbngggvkX/2rf7XVJ3ZsAh7i7jgDMZrDvTYFuse28zUzc1xpPvk6\\\\\\n\",\n       \"Iwpml/p8DAB5Gddi5UKbBpR8PwPaJ/Un9hf1/pYJfEcIOV8H52Efrlf9sg8GrToIWPOiqj1KDGCW\\\\\\n\",\n       \"NgSoYx8vh2+sA96xD9v42IpMyGXXrotlff3hqdrmHCN8l14Psw/iGkwoYMZEBMvjHA571/347mp2\\\\\\n\",\n       \"RX2+LDyXBrtX92rbkgP1c6o7BLjjk8/LaVbCMkIoMfTYEfUBq1xBX7YqQZxjkSfWYwRXylpoc714\\\\\\n\",\n       \"GdlfVpkVI/VwfIwA07yrVmgDKKuYkNJ1kE66n5V2VoWHiQOwjWclTM2EORisyYEDH5FLLrlJlpb2\\\\\\n\",\n       \"hWOYmBrXspld0JJZTOSCvNL1qk/ZjKyKvErn2VkSKkY+8z5cy54LRScT4XafJa+479nlVCYW3hH7\\\\\\n\",\n       \"uYidMPVX5CJ/Wc6zKJ69eNWrXiXf8R3fIT/0Qz8kX/u1Xytf/uVfPlZjPeUpT3mkb8/hcDgcjk1j\\\\\\n\",\n       \"sxlW9hqKw4cPT23vdruhMO6///6gprrwwguntuv6bbfdFr3+n//5n8uv/dqvycc+9rGt3ahj03AC\\\\\\n\",\n       \"y3EWwxJaIAxyMwDD4J+JKmBIBAWQJa4NciSvbT8FfUfLDAaxjoJjW4aM4vvk5di+Eb3yainUGQp1\\\\\\n\",\n       \"5r4JGaSkgg7EMeMgz/7HBJUWPTYGm0d06aX/RNptEGnN0O/G+SAKQDbYrC2QaEx86TKIOF2H2ke3\\\\\\n\",\n       \"VQRDKzz3ZMCfRwgEq4hicgqk5cD0GSa4uK2ZQMgi/WoUIT3LBQWyfF9MUPG+mJXQBrrbwHYOsGe7\\\\\\n\",\n       \"IogqtlHGbIXVdVR1hTwrEFjWDgpSisksaxtFv2ObKdaxHMPhw3eH4/ftu2Rmn25PTSoAwsrOOmjJ\\\\\\n\",\n       \"LP2E5Rb2wYoUnlU+xm2ArMaylj97DS4gqPjYmGqLSSlWWOEaMeUVg6+R2h8juhwnE8997nPlK77i\\\\\\n\",\n       \"K+See+4JOR2Aklnf/M3f7JXvcDgcDoeIXH755VP1oBlXr3nNa7ZUN0eOHJHv+q7vkre85S1y3nnn\\\\\\n\",\n       \"eT0/QnACy3GGgkmApmMULM+Yp66y51syypJYfJ7dB1KCB4JWjYNPq+ICuWIJFCZBmPQCiSJziLTB\\\\\\n\",\n       \"1HpFXOnsbJUSSwfjrK6CwkkBddM8TNRXICVUiaPfNZA8V0VO/DpW8aWkE9Qyeh9QbVnFDCvBcI84\\\\\\n\",\n       \"Dvsq65kGuyvZkI+fOa5aYgWW3QeCAPXKxNWQCEar1GKVHLc32pLbahH9s+0TfL/4Xs7XyhpmVbSz\\\\\\n\",\n       \"DhYbtFVOrytxpTMMIqzdElhQXHFYO++zJBZnXTF5pYAaK9aXjh69S1ZXz5N2e2mqP3P/bgKrtdAH\\\\\\n\",\n       \"LbE1sReqZZAJoZjaylqBrYIK7W5VWHyMPdZus2RUar9VXnFftPssIR6trcinPdaVV9sFDW7XwtDZ\\\\\\n\",\n       \"CB0Oh8PhOKOxQQtg8hoiwWrP1nqrvlIoCaUTDN17771T23Xd/jur+OxnPxvC27/hG75hvK2aYVrH\\\\\\n\",\n       \"GS25/fbb5ZprrtniAzjmwQksxxkKHiilWJUUQWUtZCmLIJMKYrax9csez8QVXzNGYvH386ATyBv2\\\\\\n\",\n       \"YZCL77af1oaYRc+DCovtU7BbxXKtUrAZV0wu3H33X8lwuCaPetRXJwksXIPBKisQGkyycYg8tuM6\\\\\\n\",\n       \"vE/PVfVMtS+TwaCqj+qZU2QQr4/v0LSDbTtsY4UW2pvJLVbjsULOklkpIpbvL6a64uVQk8ZOaJVX\\\\\\n\",\n       \"bBlsCnSPBdlX+9QuqmSlElcczM7LIKNiiiyba8UkFm+3/SMGlYMfP36PXHDBl0wdA5KWLaxNQJ/n\\\\\\n\",\n       \"d4Cthrw+6QdMOrEF0NoJU1bD2HIZybHi75AG8opVmZbIwn3Hjont4222fzapseYRYLHrOhwOh8Ph\\\\\\n\",\n       \"OKuwjQSWklfzsiE7nY7ccMMN8v73v1+e85znjAkpXX/Zy142c/x1110nn/zkJ6e2/diP/VhQZv3i\\\\\\n\",\n       \"L/7ijOrLcXLgBJbjDAcIgnkkVuo8HGPP4ZEyCAUtGA1bosreA1vC2FYWU1oB+E5W+PTNPcakIzGF\\\\\\n\",\n       \"mL03O7CdkGhqqcuCYVyJnYm9CmQB1E8pskD3IXTdkg9YXl09Rw4c+JjkeV+Kop0ksZTIAEA+pQK2\\\\\\n\",\n       \"WYWFe65yr6rrwPKFe4A1cqLsyaTXU0uhhtuDuBlE1EsD0zaWCARhxYoV3o9tVtHCmVgjYynltuX2\\\\\\n\",\n       \"zRawEKJIYqZDVl3FrIA214pna7THVssaeKkFOVda7EyDNgOryUKYyr0KTzTHjVqRSkO5+OLHyd69\\\\\\n\",\n       \"l4+vh/7CWESRxUq+yfU5zF1zr9De3J4xtVRsH6uz7AQMXPoR0mueMivW7+zDxu6R93FfxGdMnRU7\\\\\\n\",\n       \"Z6pl0pUcvS+Hw+FwOByOk4tbbrlFXvSiF8lTn/rUoGZ+4xvfKMeOHQuzEipe+MIXyqWXXiqve93r\\\\\\n\",\n       \"ZGlpSb7kS75k6vx9+/aFT7vdcfLgBJbjLAATBgvILgKYlIJaCqomJqusygokRCqY26prCkNYsYVt\\\\\\n\",\n       \"SPuxD3Y0JkCs7Q3fa/dJZF+1rASOtUexWmXqCUyANoguS1oxoXXuuZfKffd9RNbWDsi5507/70TM\\\\\\n\",\n       \"BgaSCsusporNDKcECOcSIWAbOVgI2dZ9eqzux3m9noa8F6FMZ1cxeQUiESRDqi9IhLS0yjxcP9Rg\\\\\\n\",\n       \"gjyYN5i3we2WzLJZVzGFlSWwrKqK97WT6iuoq5iwwqcltFIKrNjMk0xYMeE5r7/gf9RWVp44RXii\\\\\\n\",\n       \"7+JcLIP05IkErNqQ+xz3vUkgvCWkWD1lA9mZcIrts59WsWWVWDZrzaq2+PsALNuZCa0SC/3ZqrwW\\\\\\n\",\n       \"hauqHA6Hw+FwnPoQ90XxvOc9Tw4ePBgmSTlw4IBcf/318p73vGcc7H7nnXeG/6R1nD5wAsuxAxCz\\\\\\n\",\n       \"WC16XtawLaXein0vD/CsfZDJojyxDQNGEBIgUKxyi0krHmgySWKVPXwsD2jzpF1qHib5VhMCC9uY\\\\\\n\",\n       \"iADZ1e3ukl279sqxY3fJhRdePmUFa8rEiuUPKThMGwoaKGLYaoj9IKywjM+KxKiysfJcZ2esiLxK\\\\\\n\",\n       \"kTV+2gSxxIo3btNB5Fxuv5knjaiu5vXlmPqK19kaaEkrVlkVCxJYHOTequ2CVc4VCCyQUiCtrIXQ\\\\\\n\",\n       \"qq+wbokr9CH0DRS2p8b6ymSSgVLuued22bfvCmm3V8YKQvQNkLLaH3jGTExasEg+Fr4z3ZZNhJC1\\\\\\n\",\n       \"8aVUUkxIpc5PKbxi12+6N/7uRRE7djN/dTrJ5XA4HA6HY5v+JNjE+WoXjFkGFX/6p3/aeO6v//qv\\\\\\n\",\n       \"b/wLHVuCE1iOHQD+pZo38LcEFZ+zCHEQuw5vY2WNJayspa+pMJllB69MisSUPHZQbFU+MataM1i1\\\\\\n\",\n       \"AljLYKywvfDccy+Thx/+YiAvbJ4RSAQLVtWwZRAEFdsLoboCUQXVFYgSkFmWEAFhopbCtbWiJrFU\\\\\\n\",\n       \"lRbuLJJTxUQRW0B5H6u0mEiyllGo41i1he+d2yoR8sqSVCkSi0mpPLIOxZVVYGnWVWUZbLcz0TxM\\\\\\n\",\n       \"VlkxiYVl7EM9W0IrRnhaNR8Qsw/yTJWKw4cflAMHPiq7d++XpaWKwEJ7g7CaKKemZ9fc+n+wxdRK\\\\\\n\",\n       \"ljhOve8pG2DKGrhoSRFlKTXVZkmsGBG7aH1t9a9Vh8PhcDgcDsfZACewHDsEGAQVmyCdSpOHhXUo\\\\\\n\",\n       \"IED4SMRSiGM4d4jPY1ID54tRVUkinJttPrgWX4/vZZF9dnTOA1pzF0Qk2BnhWEmDdRvSHQvoftSj\\\\\\n\",\n       \"Hi+t1hPH6hoFrtEEKLCYrIACiy2PbBuE4gqqLF2HnVC/X9cr++DkWM7KUhLrxIm8VmJBzdQjyxfI\\\\\\n\",\n       \"J1ZbWXKL+wnIAqugs/ZDJhViA3smq0BM4fvmEVicYxVTYLWN0qqgDKwq9F3Jq+XlaSJqaWnWMqjr\\\\\\n\",\n       \"ltxCX8F+25+YENVtTGo2Bf8DUNypym95uSPnn3/+lP0UfUC/S9udr6/70NfYQmgD20GExhEjhPCO\\\\\\n\",\n       \"2fD1mD1wkX1WfRU7BveSUmrZB7D2wpQqy5K19hoxzCOmFpS7ORwOh8Ph2PF4JCyEjjMPTmA5zjJY\\\\\\n\",\n       \"1RUQI3h4X2z0zASFvcY8BU3MGsiEEp/Pyi1LnlmShNVkrPaSiAorDksWxGaFs9aw2CxzlujK81at\\\\\\n\",\n       \"thlJUWhwfNyKaAEyAUorthUiqJ3zsCbh2hUxwWQWE1hadFm3w1ZYEVoa7l7dm+Ziacj9cMjKKlY9\\\\\\n\",\n       \"WcIQ+2zO1TCSSWaJLCZO5w3sOXsrS4S4cwZWLJw9RmCxfXCyrFMMq0JNVVdKSik5BcJKCSzOuWL1\\\\\\n\",\n       \"1aIh7pbI4r7BM0vGwESm9otjx74oF154qSwtVZMSQIEF+yCsgzxRAV+f+xcIK3vc/BkMmTDibTEC\\\\\\n\",\n       \"KkYyMakUU2Tx8bFrL6qWihFXMQKr6a/B2Pe5qsrhcDgcDscGsR1/PjiBtePhBJbjLCGo7DGpLKKY\\\\\\n\",\n       \"nTCmgrHfE1NepOw1TYPEpmKvlbIjypzP9C875wxxsVZBtoNxsRlHE3teVe655+/k/vs/Jzfe+C/G\\\\\\n\",\n       \"RIW19KUA2xfUWExacbg2k1j4bpBVrPDBOsgrxWyuV0WCKJkzUd6kbtIq4HACz1Ro1XhWKbeVDCw7\\\\\\n\",\n       \"e6INase26RkEpy2DrRkCS8krJa6Qd6WEFcgpKK1YdWUzsdAfmMCy/cVaCdEWTbNfhpoyGWnHjx+V\\\\\\n\",\n       \"Xu9hufrqJ45VgCCg0NdgJUQWFq6B69kcNZu/xe9Ew51F3j3eJwvY/ey1FilN9kJ7X6l7S91f7Jxy\\\\\\n\",\n       \"k389+l+XDofD4XA4HI6Nwwksxw5Dk5KKMY8kSBFU1voVux6rIqw1MRXqju1iVDisurKDPlZcxK5n\\\\\\n\",\n       \"v5efZxY8KJ9HWnFekSWxWI0F8gLnnnPOXrnnnsMyGByW3bv3RBU3KXDWEc8EhwKLmLUQ4h5hH8M9\\\\\\n\",\n       \"wjYIFRbyunCMorIUgixSJVZuiKiYAm9y/PRx3MZoGxxn1XPlBgksJrGYwLLqq1gwO69PSpa1JM+V\\\\\\n\",\n       \"vJqorHRZLYRMYNl9Ng/LKrCshZAz0bi/2T7Z1CdYkXfFFdfKhRdeNO6fUGHpOudhIcSfJwtAf9F7\\\\\\n\",\n       \"UmCdVVzcV+crsbitY2RRTIkVOy9mMU1Z/1IKLia47HfE7jd23+U2klNuH3Q4HA6Hw7HBPzPmwf+P\\\\\\n\",\n       \"bMfDCSzHDgTIgHyDSi38auYNx8S+i4kKayucBx6cQmpibYGcx8Xbi03+cuO8SR3ZzCuQOFDXWAIC\\\\\\n\",\n       \"VjEmMlJqGxyjA/6VlYvkjjsKOX78i3LxxY+fyT5igETi2QfD0xFZwRlY1joIAkvtgFjW7Wtr07MS\\\\\\n\",\n       \"YjtbC9fXq/vhfXqeZmP1+52ayCrqNunVy1ZhZdsRxyDPbBCxkPG5TeDKsgQWSCpWX6VmHWQiqzMm\\\\\\n\",\n       \"voqiNVbRKUHFNkElqVhpxRlYILDs9iYCy2ZgMak5fkLqH5UijmqKSMylpV1y7rlfNpV5BXITiiqc\\\\\\n\",\n       \"jz5vZzdkK6HeMxOntt+B3Jq0A7/LybCsOe2LPoG8NSaswp2Z83mmwkURI6ZGGzxns9bBjd6rw+Fw\\\\\\n\",\n       \"OByOswEbGUE1XcOxs+EElsOxMKxtL0aA8TaropLIrIR8Xuz6WyHFmgaJ0/lNMQUMSAQmGGK2QbaO\\\\\\n\",\n       \"sQLLklgVWVHIxRdfLIcP3yVLSxrqPk1gMYmFZWvxYgshLF9sHQRhwblXWFcyC7ZBLbqs23CfSlzh\\\\\\n\",\n       \"nhQ4HnXR62ldlbK+XsholNUh71BS2cKqKptxJGTxYyXWIvbVeRlYRQOBZRVYnHXVlizLwwyDVQD7\\\\\\n\",\n       \"xDLIbcoEFoLasY+JLQ5xt2osVuWxlZAtg0xiMcHEZCaTV+vrPTlw4Aty4YVXSLvdHivrYBWElRRt\\\\\\n\",\n       \"C/KSVVg2TwuzWKashZM+G1PkxbAIUdR0jlVyxux+TdlYseOx3nR9h8PhcDgcDofjkYcTWI4dCgzE\\\\\\n\",\n       \"5pE+Gz2Gr8ufEsnPKiPrsYEiDyZTNrKUjWejGTR2oK0zyykpM01icbA2k1p2JjkmrViBxeTFNIEl\\\\\\n\",\n       \"cumll8rtt98qrVZfut32DHnRZMuyljGrwAKBpcQTtuGeYBm0GVisAmLLmn4Hk1ewoWl9KXlVzXqo\\\\\\n\",\n       \"JBZ+Ru2Ns3oGapwWKelkgQwsJi8saZXKwIrNRBjLv5omsHSGQSWvENTOxBQXbVu0L+dhWQLLBrxD\\\\\\n\",\n       \"zYf+YAks7nuLWEpBKqEP3HffPfLpT38oEKSdzqRfgcCChZRtsuhryDez/QrX0GW+z2kSS98hPZfJ\\\\\\n\",\n       \"yybMe2eb3n27Xi5Q7HFN97PoPWzkuewxToo5HA6Hw+E4SX8m+J8ZOx5OYDl2MKy9b1HyKqaOkjnX\\\\\\n\",\n       \"Kcmax0qqRWGVDzYHi+8Ng+SNfk/s/ifEFRNUbP2yVkBW2FjFjbWSsXUM+x796CvluuuuDGosVuNM\\\\\\n\",\n       \"co/KucSFEkeYTc7OQAgCC+v6/bAC6ndVMw1Wn7pPP7WoRZBnULRElwL1U5Ftaicspddr00yDKQLD\\\\\\n\",\n       \"kk3oe2z/YssZk1k8syVfBwBhlTeEt7OFEDMO8syDmnU1Ia+sFRBElVVg2X2W+OI+ge0xAgvtD8Wf\\\\\\n\",\n       \"qtzmE5nVAWj/hx/+opx//n45//yVKRsptzsUVfge3Teuxfr7Y7laWNdzsB+EGIisyUyV3OaLqiab\\\\\\n\",\n       \"ZiHkY3g/+sdG/1KzyqqNWgebzim3WX3mcDgcDofjbEFWVmWr13DsbDiB5TjLwcqnVH5REzFmj0tZ\\\\\\n\",\n       \"C4eUixMjJCRCSFkibSNkFUgMFLsOtU4+Y+Oz2UQgHyxZwdYy7IspcWbDvIsxSaEz282ob6Sc1Eqp\\\\\\n\",\n       \"7EG9nE8yv0aSzSiwOO+IFVhqCwSZpSQVE1i6rvtBrOh96Xasx/bptlDDY1VaLuvreSDVptuVM6/4\\\\\\n\",\n       \"E+3JVkNLpsbyjvJNEFhsGeSZB7GvHYLarRVQ2xLb9BPtrssIcY/t4/7BAe82Tw39wlpWq1JKzkTI\\\\\\n\",\n       \"qCb2QnUV9NZO+sBgMJIjR+6Ra6+9Tnbvns0+Q5vGrKN2dkFuWyi3wm3UKixWcrGir8pF4zwy2w94\\\\\\n\",\n       \"vSkfa1GyabRAMLwkvit23iLWwRiZ5aoqh8PhcDgcDsepgRNYjh2OGKG0lWtZm6A0qKNiVkNLWC1C\\\\\\n\",\n       \"TG32vxKspWmWvFI7HAe420yiWH6Rzb4CeQHSAsosEBax2eg0q+ijH/2QfNM3fIO08+r+8tFIslEp\\\\\\n\",\n       \"Wamllrlw4FHtLSv1nlU5VpMYZZZLWWQyaivtkYdZA6G6guIGahworBDMzjMpWjshvjI2MyPWUX96\\\\\\n\",\n       \"q/1+UZMdXN8MJTHyWvXENkLO0ZLIckqBhWUmJ1l1hba2pFUxVl4p+QbVFedaxUgqtCkUWDHSqing\\\\\\n\",\n       \"3RJYrVagoKp2z6o2z4alZGr505ZlGdRMH8hDP8irK8j99x8QKdfl6qsvDd+JtkY7W0ssA/lqHBIP\\\\\\n\",\n       \"Ygz9FbeRek+qYHj7fsXevc38Di1CENl8NT7XfqZsgqnv3g44yeVwOBwOh+MU/LngCqwdDyewHDsc\\\\\\n\",\n       \"GyGwUpbCeftSx9jg9tjxsevGBqEbGfjysTHyajKQ1tBuVpNMEwyzBBSrqjC4ZxLDKnimj1fFlS6X\\\\\\n\",\n       \"cv55u2U0OCEP3fsFufTiiyfyKU5mZ+Ji/DiZZLnSFuT5Gkt4WlLmuZTtXPrtLFi6BrVaRkktKG+g\\\\\\n\",\n       \"wmHLGlRWqAPOw4oRWHqLHDhe3WoebG3VMiusYplFun1Q/wRjG8L+LYFVLpB7lTXMQghV1sQuqCXP\\\\\\n\",\n       \"dabBKqidFXWWlGLSSrczSaXLrLxLE1hlZUsMTVVKu1UTVoEpUqZxON32qFSwSwxt/6II5KE2QJHn\\\\\\n\",\n       \"slyU8tirr5ALz9stw3JUt2VWB7lXKj8QmSAc60tNEVr61QhtR4g7ZiLEPtwWKxeLosqRq1R43BYc\\\\\\n\",\n       \"5B97L1PrFk05WLZvpRCzJW4122rRvxKdwHI4HA6Hw7HFPzscDiewHI7NkkRsC0zt36zqK0VsxRDL\\\\\\n\",\n       \"+LIDZSY7JqRHNePcdHYR1mOEBId2Yx/2p2xmTGQE8iKvAqqWuoXsabfkrk9/Wi5dWZn4/WyatgKM\\\\\\n\",\n       \"AU9LFx6dPFxIiVdyo9ORTvjilshSS5aXs2D7U/JC70uXkXulp2EfnpFtgzacHhZCKHpgJ5xkN+kx\\\\\\n\",\n       \"rUCelSVbxYZkH8Uy2hrEAgiPRayilrzKE6QVL3fqsHYldIop1RUsoJakwjHaRKzAsoqslHKLVXmt\\\\\\n\",\n       \"XMmpWhZ3rPZwghnCMsr4Vaj7ASe6cz+oG+Y8LY99rJRHj0ir1QplabUjw1EeuDG1ioK4ZHsoZpm0\\\\\\n\",\n       \"gfFsH8TtYB3kFvoPoNdTArOamdLaCHkmUvuOcnsOTwEZ1HTucJuv53A4HA6Hw+FwbB9cgeU4C7CZ\\\\\\n\",\n       \"UHWcxxYumaOY2opNcTP3Zy1JdpY6S25woHelGEEOUZPSKpWLpKQGFDb6CZIDypxwbLuUdqeUYjiQ\\\\\\n\",\n       \"rDeQbFATF/2+XLZ3r9zxuc9JeeWVlV2Mg6xYiTPz2DXbgE/y/ak6i1mnstWWotuVpaIl3SKXwVJL\\\\\\n\",\n       \"TpyoiAwlHBAoDqsZF7YX2lwwVmCBQ9PHqpQ4uqx2QlWB6Q0j5B1WQW4PhLijxMiOGGJta2cczGZU\\\\\\n\",\n       \"V2oZ1NLpZDN5ZkxAoi11He2M9dXVafIKBJYlPJeXS2nJUDIZSt4bhgoP7Q/CSiudE/i57VPqKwXL\\\\\\n\",\n       \"44pCjq6tycPHj8vFl1wiud4oMY9Fqy150ZJitSX9Xia9fqXGwmW0Pcc1WncptC0C3VkQppfFrUGZ\\\\\\n\",\n       \"hdvXfUpeDYfcxoXJzIu9o6n3eRFsRzB6ihBbNLh9HpoytRwOh8PhcDgqeIi7YxE4geU4S7AdA6hF\\\\\\n\",\n       \"iKqmY+ZZFDcCq7KyJRUoXZVKfVUN5m1hAsvaCFlZg89U0He7NZJWPpK2hnD36iR1yF76fbl07165\\\\\\n\",\n       \"7fBhOXzffbJXWREksIO8gtRlHoEFVglkFoVcZe22ZKOh5J2OlEVLMlWAhRB5tZepCm16ZkFcHmob\\\\\\n\",\n       \"VuZgXVFlHk3shCA9cFw1Q54Gu5dSli1qr1aCCEjZzlKIqa8sgZVPqbAqu2hFXnHYPrcfZ5gxOWmD\\\\\\n\",\n       \"2vHJJCaIr3Z7JO28lLYMpRgNJFPVFaRrkEEhRZ9T+BE+1URgsY9Tl9ttueMf/1Fuu/NO+Zabb54E\\\\\\n\",\n       \"V9WhZ1m3K5n2A725YDvUfl81KC6DrjbJMpt8NWYxRJfU5wTPxl1uEkSvNsLKSjrdlvPfyfi7LSfJ\\\\\\n\",\n       \"4neq868cDofD4XA4FviTwTOwHHPgBJbDsa2YR2Btx2AuZhvkoO9YLtL0ekVeTbKBMBiPzRzIFkNL\\\\\\n\",\n       \"XlnbWbWvDOuFEhhKXqytT6b/QxkM5PxuV775y79clpQ5OHZs2krGAd6WyGDiimVQ/BDsg6y9Xkpm\\\\\\n\",\n       \"tTodaXW70um0ZNitAtg1B6pST83OQMfLTFroMr7SxnVNFDxKZqgSC4QG+gAHuLN1DHlZVpkTg1XY\\\\\\n\",\n       \"gbDiDKxJcHuWVeorbkcmINkeyjZBzrlCYQuh8o4TJVcpu1ZFiqxudyIrp9oe6/oJ8orzz5jIirU7\\\\\\n\",\n       \"GMbaOnrXF74gF+/aJbn2MQRVgcTSom0/Gkm725W81ZKiVU8aUBO47FDUr9TnwtdZAguqK12HpXRa\\\\\\n\",\n       \"pVflYFUzEqbfv2mVnbUObsRO2ISm3xvPpHI4HA6Hw+FwnHlwAstxFgEZRNkGLIPbAb7uZuyM1iYW\\\\\\n\",\n       \"U19hOaXMYXVOKwy0LTmFwuoczrniZRAZIDNUeaNkRriG2hLXjleqKx39q2ePg6dqAisbDGQJRAam\\\\\\n\",\n       \"DLRB7ikbofWBcQI9VFgsGzOJ5Hm7LXmnK3v3rEivthPidF1GHpheAvt0XTkSKLL4q1mJE1qsXlcS\\\\\\n\",\n       \"q+JViqDMmc7AYguh/hQPzGxyKfLBKu2g8JpWXGG5CjPPZlRyvMxEVFPb4ljuBxtqd7Q37IPc7pyB\\\\\\n\",\n       \"1tTuxC6e6PflwQMH5LonPEHk0KHZ6S5RtBGo3YuVlTEBZcP6+WsgEMM+jumC9VQB5VbFxSmBpW0w\\\\\\n\",\n       \"NO97KrPMvsf2XS43YeFbpB9tFaNTYG90OBwOh8NxtsAthI5F4ASWwzEXTdY/tgilzhWjrsF5WyXK\\\\\\n\",\n       \"YkHRMTJrltACx8Pcj829YjsZK3aYwJqQHaUsdcugvsn7qro6IRksY8ePTxRY2FaTWA89+KD82Sc+\\\\\\n\",\n       \"Ic983ONkl94E5yDNU+Io8CBsJdTCU+FxmjjIM7UUdvuSqzKn1ZG8q/YyJfYmdaJQDgaZV2wT5NsA\\\\\\n\",\n       \"58YkB0RC1XlZzdPoJ0L/eXZCXmbiITX4t2qeIkJgVctqk6z4nIrAStk+Y2q66fadZFxNE1ilLHWG\\\\\\n\",\n       \"UpRDyY/3RE4cr9pd61krT9tdHx5tX9d/WAZBCeKKCawFlXd3HTwo2dqaXKxte+TItGxQv0tvEsyS\\\\\\n\",\n       \"XmIwkHI0krzIpZ23QrtXlr/J16Ct0QVhF9VbQsA/Mq8wKyEy1GAxbHr34jl12TYpr1L9Zh6Rtch+\\\\\\n\",\n       \"h8PhcDgcjpMItxA6FoATWI6zDJsJXLfnMBE1b7bA1PdtdUBolVcpEg3bJiosm30F3ocDzDE4ZyET\\\\\\n\",\n       \"C5qQjVQRGUpeibTzoeTBMrhWjfRBWimRoSWixNldlrJ+7Jjcdffd8thzz62YAaivOEHbwmZgobCv\\\\\\n\",\n       \"Dw8AdQ8TZP1+sJUpWsul5G19sEk2GCyDoQbrPCyeIJEJD7YQQp2D/ThPlVja5kqWaC5WBSaz2E42\\\\\\n\",\n       \"L/S6WCCkv8p6qqqgUtvF2pHthCCvuNjMK23vSah7KV3Nu5KB5ANqZ7S1tj8ILCiyoLbTZVSOVWLx\\\\\\n\",\n       \"DJQzj0520SyTbr8vj9m3Tzr6fZBBgWHSh8P1wT4ONVS+uk5raUmyQmSpi7D96l3BLYKYgm0QpBU+\\\\\\n\",\n       \"QVqhq03eKQ3y17bmAHdpeD9TisrNotyGzCu7vNHfK7coOhwOh8PhcDi2H05gOc4ybMeMgdtxjSY0\\\\\\n\",\n       \"2RzxvXniWCYxOBepOk6JFBAX4HtYcTUhpSYiJqu4mg7wrvKulrsjkWO1ZUxJC6hvUFSFxQqs+rPV\\\\\\n\",\n       \"68mF7XZFYMGTNS8LCeApAOtZB6d8f2DhdBkPQ7lIYXtNnOSai7W6KvlSt64LzTKa5GDxV4LcYiGY\\\\\\n\",\n       \"3iJ4FbtPUVnNKnKi39eZ6ixhxbMRzgtyjyl7uK3bIe+KBWhTM0PW7c+2wCkLaD3zoLUQwka6e3dF\\\\\\n\",\n       \"XrWKUtrDXpVfpnWpbX706ISgRNujvZnAwnaQlDbQPdrtZxVYl7fbcvm+fZX6Csorfmj91GuDyNIH\\\\\\n\",\n       \"opkPi6UlWVpZkTIQfmV4PzjE3UZz6eV4H24bCjwmCtfXMwpzj9l5kYeGNkU/53ysaEUscMzp8N+f\\\\\\n\",\n       \"rtpyOBwOh8OxONxC6FgETmA5HBu2BTYN2BY9DyoaIGYn5G08ELb7m4KibZi3DtQniise7yO0GwNw\\\\\\n\",\n       \"G96NvCNeX1kupdMaVuQVExm6DCWOfiqBxdYyqHLW1+UyEfnwvfdKb9cu6XCodxOZER4/nyaw8GBg\\\\\\n\",\n       \"ZUBgKVnCPjllZMDkQGajs9UNh9IKOUldaa12x0Hdets21F2hjwELIXKStOijcVRTaG1arsLBlSjp\\\\\\n\",\n       \"UO4VVFhQX40iRAD3rRSB1ZqaPRKEIx7dWgbZSohjtd137ZpsU8KKCSxdVsVVvkZtbQksXWfraKTd\\\\\\n\",\n       \"x8QSM0EoyddmQloe6vdl2GrJuXqD6Mzc7pNZBeLfW5esLGVJ213lWFLZPfF+QAyowCnoliB8bcA7\\\\\\n\",\n       \"yCwlw6oZKEtq52IDge52n90f25bV31H7Hk8KyeTklMPhcDgcjpMAtxA6FoATWA7HaYF5FkC2CWYN\\\\\\n\",\n       \"+23WzqRUApbJzIPWMsi2QSi02F7G1jOQGS21j2kKOmyDUF7hE9ssgYUspF5PLs1z+Zu1Nbn34EG5\\\\\\n\",\n       \"HAoZUskkYRVYILBAWODhwC7wFHJKZuh3cYhVllU1OColE1WWdcf1prsR2K3g25rYBKt1/ZqYggfr\\\\\\n\",\n       \"aC+1Ek7yl7LITISLElgVKaKESRXYPs3nxOyflsRi8sqSltOllGKwLtn6WpV1pe0KogpKO7aOQnnH\\\\\\n\",\n       \"BBYysJCDZQmsJtKSbKK33X+/PDgYyD+/9tpqO66NzgzZFDcOGoBldXkueVFIkXdkaSkfC8O0oK7g\\\\\\n\",\n       \"coSwD6IxttuigABTC2dZjmoVVjbnHeV3OfW+N/0+OBwOh8PhcDgcOx9OYDkcpy1i4ezYHlNfxQbG\\\\\\n\",\n       \"uclEmhAcNu/K5iTZZbafdTqqvColX1dVS01eWPIKs9CpQkcLExmYja7Xk+X1dfn6Cy6Q3Uoy6HEg\\\\\\n\",\n       \"HZpmIVSwLEpvELInhIZzqjasZJDL6Dq8fkb1E7KxylK6u/Shq7qEUAtAVJeC+K+wrJcO1zHEF9Zx\\\\\\n\",\n       \"nhIb/T5CxPH9MQKL1TlxAgvZXZaERPvZbRzIzxbRWA7WmNTSzKvWULKjJyTjtgVpBcIK+3SbbXdY\\\\\\n\",\n       \"CPWzmp5xUkk8+2RTmxeFlHkudz/0kFyr9kFVfYE5QgYWWEQwT0CCwAqZWF0Joe7rHc3EqtocXCgu\\\\\\n\",\n       \"g0uD3Iq9QwjNr8L/1S6aIpXtO8t9IPa+N9lKHQ6Hw+FwOM5wuALLsQCcwHI4zigwiRHLuooNjiv7\\\\\\n\",\n       \"IHKRYioctplZW1lsRrrVFZF8nZQ3IKlgKVNSAQosJrCgyAKpUauydkM9A2XWZggskFh6fWbdkHmF\\\\\\n\",\n       \"mengh4OVjGZFZDJFL91dWpHWrs6YnAJBgUxwDniHyAfLyouAk9HLK/QrdJ9V7FS5WGjfjVgIs3G7\\\\\\n\",\n       \"WiUd1pl45PaNqa0Q0s4WQq0uLcWwJxmsolrQ7kxg2Xa3FkJkoHGdg3jaAIF1cDiU9cOH5VK90cOH\\\\\\n\",\n       \"J+3OD4tZCDnM3WZi4bu0sUpNwipl1+rquG35tjALIfhOrRvkZdl9eMSKwKrev0phZwmrWDYWlHhb\\\\\\n\",\n       \"naXU4XA4HA6H48yBZ2A5FoETWA7HI24VZItQKgvLWolYgWNJqyJCbqm9bCJSiimssB5T4YDICPFR\\\\\\n\",\n       \"7YEUOtvg+nqlxFECA6QVZqHDckqBBZKjVuKs93ryxwcPylO6XblIFTajkZSDQWNCT3hqtf0Fpqk7\\\\\\n\",\n       \"64fkEG+QGvCHwcIGmxmYCoWSVySpKrpLsrq6QtlGE+LCOtPgTmQCK9xrTYiAzMJ5kycpAxFVcSp2\\\\\\n\",\n       \"ZsvYpAF5mO1ukls/mWmQ29JmXjGBxe2MtrWkZZV5VUrRO1HZBrXtNDAdbajLTGApmQSrKMgtEJXc\\\\\\n\",\n       \"5ihkKSzLsirz2rzVkrtOnJClfl/26/UxHaDeuH4HHgxkJGaihFVRvw8J+2igoghZWGWmddqSpU5b\\\\\\n\",\n       \"sqyYmWGSXY+4NNRZzJPhPau+Jj1T5GyWmQ1ob5phFGRnbCbU7ZjN0OFwOBwOh8PhOL3gBJbjLERq\\\\\\n\",\n       \"0HcyYImnJgLLnhM7V+asxwbEyL6aJrFQmPgAucU5SqzWUutgS0aS92tSgoudedAWzEwHwgOh2uvr\\\\\\n\",\n       \"0hkMZG1tTe7s9+U8ZU2UTFASqyFmeqqWylKy+oE0z2gc2oWZDEFSASCsIKcCS8Hyqo4qr6r6K9pt\\\\\\n\",\n       \"6Xb051KDuSdEBvgvEBmwnSFqC6SGLuNYth5OJlisLGuTfc3qG7QnIqHQXkxO2mKtobZw3tmY7GqX\\\\\\n\",\n       \"UpSDiryK2UQ5AwtkJtoaxCbPQgjr6Pq6jOq2KYfDMVm5UHuXOvvhUK5WorO2JSqpNVZYQUmHdgWj\\\\\\n\",\n       \"VKus0LZjFlErRO85z0MfytptabULKTu5dDqVLRMEFd4VfQTUNXgyJq0my9U7V3WvJqvvvPc6Vmzt\\\\\\n\",\n       \"pN4Oa0k92fCQd4fD4XA4HI/QnxA+CfKOhxNYjm3DHXfcIT/5kz8pf/zHfywHDhyQSy65RF7wghfI\\\\\\n\",\n       \"j/7oj0pHR3+nFWDfOdkklrV9LXoOZ1xNK2/iIe587KwyC4NqEBh2nQkOJrSmiY1S2q2RtAZ1gjXU\\\\\\n\",\n       \"VlxAZMTWQWSpOksVN1Dm9PuBxLikLOXOEyfkiXVfwXx8qX/Lpmi6wUCKwWBSW7VtMIPiqp5pMABE\\\\\\n\",\n       \"BwgsDg6vgoumlsP1AoG1LHlezVSHzHGQUkr2sAILl9NHAYeG3KTQimNSY4KJAKzKYGoCk48cyg/R\\\\\\n\",\n       \"2SLZZkxYcSbWWH21pO09lHyd2hCEFbKuQFKxlZQzsEx4f0mqO7TvkEyTo4a2Hvfm0UiuaberuffW\\\\\\n\",\n       \"1qRAZ67JMSWgxhI5SKIgnUPboiEUqCTI5DodaYXKy6XbLULbggONkYKYkVCL3gK/VxB7VYRk7N1s\\\\\\n\",\n       \"epfzht+RRf86s9lZJ/uvOra/OhwOh8PhcCyO8B/Sk//d3RS2er7j9IcTWI5tw2233Saj0Uj+y3/5\\\\\\n\",\n       \"L3LttdfK3/7t38pLX/pSOXbsmPzcz/3cGV7ToFE2k0uziJ1n3jE8oM0TlkFrG0T2TmusHsHgmpU3\\\\\\n\",\n       \"TGiwdUwLrGdYzwPpRDZBEBZqJYNtUEkL3sc5SURgKckwHA4DgaFD3vPabfnU+rocGAxkb6s1HgrH\\\\\\n\",\n       \"CKwYDcBP31qrZslrKSGBsCd9QP1+9cvBYqZgO6FNXq9VPKrEau3WvC2tpPY40wp8lxIc1pUGCyH2\\\\\\n\",\n       \"ITccXApnZeFY/cQsdvT1U+dhmVVX1j3JVlBua55tEHlXWEbuFdbb2UBa/fVJW4KsUpsgCEndp+vc\\\\\\n\",\n       \"tmh3tDnIrBMnZFjbBDVWHe0OAgslRmIx9XNoMJBOlsleVdtpG4xGgdQq+n0pME0gCEq0LeyKyL9S\\\\\\n\",\n       \"wL4YvqBuEK3sekbLPNTT8lQ0Wi0OHBOXvA8OVVZkoU0GA30PmbIr6nW8t9jH7zYys0Zb/G1hq+FG\\\\\\n\",\n       \"4WSUw+FwOBwOh+P0gRNYjm3Ds5/97FCAq6++Wm6//Xb5lV/5lR1AYJ0MxFQWqf2svojNaGbL5Lhq\\\\\\n\",\n       \"hrq0YoeDv218FEpbrWQylEwJDZ5hkIPZWaXDpJVV6SiRMRwGslPpg0E9TFbSSomEOwcDeSwRWDJH\\\\\\n\",\n       \"lZOb4T7ogLwmS/K1tUBwhFwrkFRghawqRyuH/X9gklqtoOwpVBzWyWRpSWcPrGx/rLLST7YQspsN\\\\\\n\",\n       \"66zG4v8kAkHFt8e2QpBdOBZtyMt2Njzbnqy8sssT0quUdj6UorcuWS+hqIMCy26LzEqoSruRlrq9\\\\\\n\",\n       \"9dGYwOLSpLZD7/+w5l/luTx9dXWGrlXbaa5EFs8wyYxijA3UitIHx4uh961WwjwP1tF2W1VYOmPk\\\\\\n\",\n       \"ZE6A1DtjSUUo5fQd1ED3xd9dKETt02cniahynI34wAc+IG94wxvk1ltvlXvuuUfe9a53yXOe85xH\\\\\\n\",\n       \"+rYcDofDcbbCLYSOBeAEluOk4uGHH5b9+/efJbW8UTviPMVVUw6WpW/i1sGKwMqShAdb0ZrIrXar\\\\\\n\",\n       \"lGI0mJk9cKxwsUHdbBmsiY5gH1PrmCqvyjIQGKpzAqkxyjJ5+u7dspLnYTsrcey/Z7Z2OBabtSz6\\\\\\n\",\n       \"2VICo9cLhFbItEIWEs9kqEAFKPQYePF0Wdmd9XXJNSep05KlbhXwrQXKG+Qk8YSGqD+QVohqAq/C\\\\\\n\",\n       \"NkIQXVhu4lxiOWZNZZFMrHH+lT62DCQbmJwzZJhxsRZSEFt1W2ubD/t9GQ2HU2SlJbCsCivW1or1\\\\\\n\",\n       \"0UgODgbypSsroY+MyUqcU5ZS1BWrxGU4HxI4rYiwoc7AQmCVPrTeLypSl9V+2mpJvjSQdiuXQTub\\\\\\n\",\n       \"S1LxOhPGmoNV8aQxoqqJyGp691O/IZv5DXLC62yFqqOf/OQny3d/93fLt3zLtzzSt+NwOByOsxw+\\\\\\n\",\n       \"C6FjETiB5Thp+MxnPiO//Mu/PFd9tb6+HgpwWC1JZxwWsfIsco154c6xDCycg/XJzIM6cNaBNI/X\\\\\\n\",\n       \"Y2HeMSJD1ysLWimtfDRRU9kAb7uOWQcpF6msZyFUNU6PCAyQGiAwukUxJq9QAEtqcC0V5slh0gJJ\\\\\\n\",\n       \"oiSWEhut2uMVsrEmAUXTVjIwRlBk6TZUTl2h3V1dGQzLoMLSS8GZhkuB3ILyKdw/KbDwVfhEO7GF\\\\\\n\",\n       \"ECSWBY6zhCTayxJV3J6xGQlxHnLOwv0eXY+TVdzGsI5qwf56uazbfVBbRLV2tV11GetMXA0bLITc\\\\\\n\",\n       \"2+/q98N19rfbor8YVaz+hMiCKa9VltJVG2kdEh+uAXUdmEQAlYLGAHFZ72stqQVXVXdZeHS4E9l+\\\\\\n\",\n       \"y6osXE6rAO9exZlmERWWGN1gqocDoOqYrt0s+LpOYp2N+Lqv+7pQHA6Hw+FwOM4UOIHlmItXvOIV\\\\\\n\",\n       \"8vrXv77xmL//+7+X6667brx+1113BTvhv/yX/zLkYDXhda97nbz2ta89y1oi36A1KEZaFeYYHhhX\\\\\\n\",\n       \"y6r+QGg7BtesDrF5WBMiY5KB1S6G0iqr4O1oODsTGsi8AoGlyqtjx2R04sRYhcMEFkgNqHIGZSkf\\\\\\n\",\n       \"OnZMzm+35bJud0qNM4pQeVjnBDAmsJA8NITFTEmso0crAgshVGCbIKMBwwTWT5knhIfVTFPW6Uin\\\\\\n\",\n       \"1ZZyqRXICy0gpJSLBWkFvgSKKzsLIS6pbaIkGAgp5GHZHEoQXSCxQEjaWQiZlMQ6SCuQXMi74u2d\\\\\\n\",\n       \"1lCyXt3WlpQEWYn2tW2P7WobXF+XwWg0VthxYQILbTM07cztzu38hcFAdqu9NM8DgTWo2xXXAIGF\\\\\\n\",\n       \"vqKEZa7kpVYkh5KhokFOcrq+VkpNXOrMi61uVzSDvd1uhV0gKLW+tIpqgd9YncVEMfZVAj4N54/N\\\\\\n\",\n       \"RMg2YqZd7fueYDSnbIe87HA4HA6Hw3EGwS2EjgXgBJZjLn74h39YXvziFzceo3lXwN133y1f8zVf\\\\\\n\",\n       \"I0972tPk//6//++513/lK18pt9xyy5QC6/LLLz8NWyZ7BL4vZjmal6MzOQ72QSY8rH0wZUEbz1hY\\\\\\n\",\n       \"DiUb1DIjHb1DcsS2Qbtc282CEkdtZKPRmLACacWqnLGtLMsCwaVKmwsjBBabqJjYgHIHtF5jGLiq\\\\\\n\",\n       \"cjQnSe8NFQFbGUgrfXB9HhAdsNEpeVXPcle0C+m0y6DOAVkBJQ5bCCdB3pNJD6HUYiEQk11QZcVg\\\\\\n\",\n       \"CSxus1hbWkUWZ2UxeanPUsioIvfYHsrFtnWkBMsg5ZuhgMwC2cTE1SBCYImZNiEQlVkm+zudcHxm\\\\\\n\",\n       \"7KKcl6Ylg6VQ7YR1uPvYQgo7JGYv1GWwvGCc6nrQ+shbuXQ6rZmMMVu4/tE+aKvw3VPv8Lz8OktM\\\\\\n\",\n       \"nerfH9S6q7McO0kt7XA4HI7TFW4hdCwCJ7Acc3H++eeHsghUeaXk1Q033CBve9vbQmbQPHS73VBO\\\\\\n\",\n       \"b5yqAWTMOsjbU/bBmAJLLYTZFNlhCY5UAHi1rOSMzjxYy0i0QG7EBBaTGzYvaX29yrwiAiNWoMTR\\\\\\n\",\n       \"5f2tlty2tiZrGsCeZTMEVozEAmERI69iRky1FAZSQ8PZWYkD+5gWvX+wPkx41ORWK1RSIZ1OMaW2\\\\\\n\",\n       \"iREbug/1yi42VlixUmsegcXESFPu1SK5WBWBVUqrNZJWfzDbnrG2xjZS44Gs5LyrpvZm62ht4Izm\\\\\\n\",\n       \"njGB9diVlbDeJ2qF885i5wUSS0kovW9UGMhJLIPMTPTzPG/VdaR1lk3VISvnLJnF711FYMWI6Jit\\\\\\n\",\n       \"MPbOp5ZPJvAdTmI5zla1tMPhcDgcjtMJTmA5tg1KXn31V3+1XHnllSH36uDBg+N9F110kdd0I2z4\\\\\\n\",\n       \"OlKd5g1WY1bEfMpCCGEJq0JiM6fFMrFaRSkZwtv7ERuhLbCUHT1aZV+trwdFFcgr/UxlYKHsa7el\\\\\\n\",\n       \"d+KE3N3vy/l1NlFqZjo8KVvJdLlNyyC0psiROpCqBeUNCCy9d0wZOAkvmlQQWIqa6MqXVH1VjBVW\\\\\\n\",\n       \"sF6CjNIq08uAmOKgdlZa8WyGuo5IrpiFELcwCQmftQtyPpP9nLKH0jm5quxiyirYA9lCqO3LVtL6\\\\\\n\",\n       \"2MFgMG5rbnct66S245yzVBvZtn54MJBdeS5dnR2QtEmwj3KGFqv1gO7x41WgOyyhqEwEhPEshKhY\\\\\\n\",\n       \"rSglsDTUPS8DeRV7T8Broh+wOg7dRt/FuMKKe3MMlriCdZiv55ZBx8nHmaOWdjgcDscZCbcQOhaA\\\\\\n\",\n       \"E1iObcMf/dEfheB2LZdddtnUvkAYODYwaI0hptrgfdMB7pUCpFKL2Mwrax/kgTird9Q+NbaUYXY5\\\\\\n\",\n       \"kBwxEosIkOFgMEVSgbxiK1lMhdUqClkuCjnQ78s5nU7y3zIb4A7Sok4zmjJfgdgY90dcI6hr8qom\\\\\\n\",\n       \"mW3QioBKR5f1mTT0CMqsmtjIikI6K50Q8K0h3UpQ1W61saUQcVucgaWFLYO1K3GKZERcE14d8C3W\\\\\\n\",\n       \"Qoh2Q2B4bMZB2AWZzAozDobsqzLYB7PjtfoIajNeZkUWf9akVsg46/XGFtE+tbe1joK06psAdw5y\\\\\\n\",\n       \"n0FZykePHZOLOh25bnl5nHHGYf82BN5qmQLRBesoSCu0J1tHsQ4ya3m5Dv3vS6vVmcq6su+ObQcE\\\\\\n\",\n       \"8mM2wqLQPsIkNcyQQJMiax6YyIImzX93HduHM0Mt7XA4HI4zFW4hdCwCJ7Ac2wbNyZqXleXYKKz6\\\\\\n\",\n       \"grdZM920iguB3yniI5aHNWUpDJKmOvNKR+LIv7Lr+gmyo55pULePynJq1rlY/lFsuw7Br1tdlVaW\\\\\\n\",\n       \"jdU5TQoskBVTtjHSqQyppgampnS2ukBOIAMLfjB4w8BOxJ5byb12O2SEtYpWNA/JWjaZ5ECbgNDC\\\\\\n\",\n       \"LIVTz5jFCaxU/hW3c9N3T9kMdVtZs2v8nFjmQu3MtsJyMAjtzW3JJKWdfZDJrOECCqwjw6GcGI3k\\\\\\n\",\n       \"nHZ73IboF9w/+I3A93EEeqa2VGRboX3ZMmifndt7OJB2qzNjv0V92neL25nfxVm1ZT7n3ba/Aw7H\\\\\\n\",\n       \"9uDo0aPhP5yAz33uc/Kxj31M9u/fL1dccYVXs8PhcDgcjtMOTmA5HKctFhm0zuZe4RP2QZvFM0NU\\\\\\n\",\n       \"1eoRthpq/pUWOUHkVIzISgR+a0g6B3fHyAy2FTKZoaVbaJx4tU8WVGDZLCRrJQPRxfSBflc+GASF\\\\\\n\",\n       \"YKbKAg6x0mdBmDeeDRImJj3UilgUY3sZh7azrYzz4rkNlKBCRpaC7YOxCDlLXnG2Gbe3VQilgtzV\\\\\\n\",\n       \"JjrVpng2blfs4wys+rOsc68sKcltywos7gejBRVY92qGVZ7LalGE69iwfmug07YF0TVFE41GIdQ9\\\\\\n\",\n       \"Q9sirN8SddzP0f+1nZfxbkxm97SqRfvOTTKw2EaYysNqgpNYju3Fhz/84ZBZCcAe+KIXvUh+/dd/\\\\\\n\",\n       \"3avb4XA4HKcWbiF0LAAnsByObUWT7SdmGeRBbOpYDNfzDQx8Nf9qVpWDATUcUkxcKX8zmZFOpJWP\\\\\\n\",\n       \"JjMPYjBvQ9qRh8W5WDV5FSOq7Ix0dmY6Dvb+zIkTIfj6iqWlKYLCUgCBhKJZCPXcDzz8sPzWfffJ\\\\\\n\",\n       \"XevrMihLuaLblReff7586znnTGlaxgTZaCRtvX+tBFQIspC0kkBugfgAqVEreNorbRmW+dg+hiqz\\\\\\n\",\n       \"ZKHuU2JKyQxrEdTLIdx9kQwstCva0toEbRvDIWcnW2y3RiJqH0T7WpUV7KMoely9XJ44IYN6xkFu\\\\\\n\",\n       \"UxQb3s7tzBZCawO0f7+onXRPqyWDLBuTkkX9D5h+/q8HHpD3PfSQfK6eIe3xy8tyy0UXyQ0rK+O2\\\\\\n\",\n       \"hmFP+0gbeW6oQPVSot1BWmEZ3s9eT1qrQ+m0C+nXdajdQg/hdkZ0WixsX4+Nv+8xIpqthqiNWN4V\\\\\\n\",\n       \"axHtNVMWQuzz7KyzGZpZ6fZ+h8PhcJxuNkKHowlOYDkcpwwbUVOlzm/ax9eYVn/EFFgxcmu8LCPJ\\\\\\n\",\n       \"wMJYu2BqXZVM/X6wk1lLYMo2GJuFEGTGelnKoX5fLllamhqGx8yTsAtiOL5SFPKCCy6Qq7pdWcky\\\\\\n\",\n       \"+csjR+THv/AFOa/Vkn+6e/fYUgbyK1emiBU4KVUOK5RgIwyshM6YWIV8W8KIZyGMtYNV6iBjPAWr\\\\\\n\",\n       \"4kLBtpjFkHOa+N70ntVWl3xGbmeuG+oDbBVdpHD7l6af2JkEQ5uWpbTyPIT7swWUe/1Hjh2Tf7pv\\\\\\n\",\n       \"n1y/uirLWSa/efCgfM8//qP84WMfK5e126F/oK1Dzlp9/1mTXdK0Pd6HPKgbi6l24GK32XdwuufK\\\\\\n\",\n       \"Ft53kFD6RCm47dDhcDgcDofDsXPgBJbDsSUsOkDMFli3JXX92L7Z85nY4GVet9vGn0oncPK4Fl6O\\\\\\n\",\n       \"rdfbSrKTWQJrFPlk8oq3LRWF/PUDD8i7Dh6UI6OR9EYjWc5zubDdln+6f79cv3u3fPjhh+X37rtP\\\\\\n\",\n       \"7l1fl06eyzXLy/Lqq66SJ+3aFYb3rTrU/XndrvzBgw/Kh48dk6/evXvm+wN5Uj9PIDVYeZN6dirZ\\\\\\n\",\n       \"cCh5pgqsIkpKWWIJda7bVHVlSSgFcrGmWj6Sg2Vtaty+KaJsfI1sJNlo+lka25mS6ct6nesw1qaW\\\\\\n\",\n       \"sIwdr5/HhkP5/w4dkg8eOiSHhgPpjcrQ3hrc/jX798uedlv+4tChmfZ+zVVXySuuuGLc1vr5o5dd\\\\\\n\",\n       \"Jn/88MPyF0ePynPPOWf8HSCwtK1nCNpYf8c6t7UoeVVM5VrZOrfvlGJCYFmVlX2PF3nvY78VTb8t\\\\\\n\",\n       \"i/x35qLHORwOh8PhcJwExP743cw1HDsaTmA5HFtCvsnjFp1hrEmFkSePz7J8avAc9tQDblYCxRRY\\\\\\n\",\n       \"sJ3JgAbwTOiA4FHmxahXkIXEJEVMcdVkLbu/15N3Hzwof3bokKyPRnLtNdfIleedJ+12W9bX1+WL\\\\\\n\",\n       \"d94pb7jjDtnf6chDvZ58+0UXydP37ZO14VBuP3ZM+nWY+FjfUpZy69Gj8vn1dfnS1dVxqDvnJIHY\\\\\\n\",\n       \"KFRdBFsZK61YkTSM10te5NLpaBbW9Ax0lkSKbWP1lQ1yt0jZQlPX5jbFvcFGqAH0IagfxFTs+WL1\\\\\\n\",\n       \"UFtJY8oqm29l99s+cbDXCyTlBx56KJCU1118vjx69y5pF4Ws9ftyx8GHqvZut+Whfl+ef9FF8rS6\\\\\\n\",\n       \"vf+B2pvfCO03ah3dXRRhH+yGTJzpM+qshFPqM+3TvC1SL4Wq2mqVXNPkCExk4f3TDKwqmD/1Xudb\\\\\\n\",\n       \"zL/iyHq+5jyrIBtyHQ6Hw+FwOE49fBZCxyJwAsvhOO0RU2lwPhZMdIgzn1iVrNXMKq2s/WlMcOm/\\\\\\n\",\n       \"IBjMs/IG6hQKth7v00DvmsCKzTgYIzVs+czx4/Izn/+8DFot+bKnPU1uuOEG2bt370yN3HXXXfKB\\\\\\n\",\n       \"P/szefDTn5YPPvywfPX+/XJ+pyNXLi+HHzUoer7r7/9e+hrcnWXyI5deKjfu3j01Mx0TbSFDSy2B\\\\\\n\",\n       \"HFoP0gbPnJqRUJU5xWiGMFqk4D+KtBpxPrCIAis2y6At3NZMYGqo+Ywd1M44iGc329UuauvPZpnN\\\\\\n\",\n       \"a/9/OH5cXn/HHTLKc3nGdVfLP7n6Ctm3sjz1zJrRc+eDh+R/f+rT8uCBg/JX1N6PWl4e2wNBSCr+\\\\\\n\",\n       \"84EDcl67LV+2a9fU9+V0b7lWOJ6Lcq5m+jWpzvSdyDINcU9Yb807xpllrMTSS1bAe8vGSEtue3i7\\\\\\n\",\n       \"w+FwOBwOh8OhcALL4ThtkQp2n2cZmrUNshqES8xaFvaplUjJDSSNc7HbMNgfjUIYup0FEHlGvD6K\\\\\\n\",\n       \"lM+dOCE/8bnPyf4LLpDnf+d3yurqarJmLr30Unnet3+7/Nqv/Zrccffd8oO33Sb/8sIL5avOOUf2\\\\\\n\",\n       \"tVrhemoxe9OjHx1Cxj9+9Kj80t13yxWdjjxt166p+5jKRlLGiJ8Tz8rPzFY72qZKrxRRaNvD1rcC\\\\\\n\",\n       \"dkKopxH2bmEVV7a9Y983mQXP7BvS8zY820x91DdqyalyThuzOu8fT5yQn/zHf5QL9+2Rl3zFU2XX\\\\\\n\",\n       \"Ujf+FmSZXHnuOfKSr/gy+aX3/4X840MPj9v7q885R/a2WuENwPf+5n33yfsPHZI3X3116AO2/ynC\\\\\\n\",\n       \"Nn4+6sPJfl6v6xWtZdBaQ2Pv4HQGln1vN/+uOxwOh8PhcOwI+CyEjm30Pzkcjg1hqwPNpmycppwc\\\\\\n\",\n       \"OoNyllJ5PKkyJrBiA3qQPJwXVJNXus+SFzyrXCx7SsvR4VB++vOfl73nnivf9aIXNZJXQJ7n8j3f\\\\\\n\",\n       \"8z3yTd/0TdITkd+99175odtvl3t6vUqRk2VyUbcrVy8vy7edf7589d698rb77pu5n6mZ7/AczCTZ\\\\\\n\",\n       \"erD7tB7KMtSZKtfyfEJkpfKnYhlJKUKxsZ3mkCWcyTQdKF7dZwhwt21rSTx6RuxDPTXVZYq81LY5\\\\\\n\",\n       \"PBjIz9xxh5y3Z5f866+6KUleTbd3Jv/2mU+Xb/uyJ4WA/9+59175t3V74/rvOHhQ/vt998kbHvWo\\\\\\n\",\n       \"kI9l74E/Q19tIrH0WSMEbmjnBFnIbZva3ox5eVjbocZyEszhcDgcDsfph2y0PcWxs+EElsNx0l+x\\\\\\n\",\n       \"k/GaNQU4p78vZh20ZEsYZGPwrrBqFB7oQ3ml4e1EXvFsckxaTZFFRGj8yUMPhRkHn/f850u3O5/M\\\\\\n\",\n       \"mDxPJtdff7184zd9k5zQ+8ky+euHH575ThAcvToviVVDlmwbP3sisH1mH9VJIP5qgtDayxTYZtuk\\\\\\n\",\n       \"adbBeZmUIKgYrM6y9zImvQJJaVRm9pm57XlfhKhMWQit2k0///ihhwKJpaqqbru1ofa+8VGXy3Of\\\\\\n\",\n       \"+sTQ3hm1t4a7//a998pPP+pRct3KSmPfG6+jrZsUdiDvFCArzXsUs2g2k1UpddXJsgs2/y44HA6H\\\\\\n\",\n       \"w+FwOBxnAtxC6HCc0eCBMALc44SIVe3EoPk+SmyAiJlR50zCe2asZZYgiJEG0W1lKe998EG57rrr\\\\\\n\",\n       \"ZN++fQs/+Re/+EX53Oc+J9dcc41cdtllstTpyJFeTy7uduWd990nj15elss7nUBS3HrkiLz3oYdC\\\\\\n\",\n       \"DpbMUwwpQTHPVsclXLBWMxlVla3/qo5nycNJ/U+vo9q5/WLnxRRX/J249vj7g8quCrifUtXFVHeR\\\\\\n\",\n       \"Z4f6KlWH4d4T1j0NV3/fgw/Kky67SPauLC3c3p9/4CH5zL0PyGMuOk8edd450m0VgQTT9v79++6T\\\\\\n\",\n       \"d9x7r7z8iivkwk5H7u/3pSMiu/Nc9hZFYx+cISfr9hy3Lb8D47csJKY13m+qHyjBVVW5VVOeTILJ\\\\\\n\",\n       \"Zxh0OBwOh8NxmsMthI4F4ASWw7FjMBktW7vSYvYlIjk4iEnB6zaoqd5v/82xSivexiTC3x47Jnev\\\\\\n\",\n       \"rck/u/HGDT2tKrU+//nPy1/91V+F2Qk7nU4Ia3/M6moIg3/LXXfJA0pk5Llc0e3Kj15xhdy8b9/U\\\\\\n\",\n       \"PfI9jZfZOsayJ35mfnZjvcuyCXsYI5Cm6pmIJpBX/JV8DhNg1qZmtzd9Z7Vi7jvWzrHnrMkcqO1s\\\\\\n\",\n       \"/XGdpur4b48elXvX1+W5114lG8FSuyX/eP+D8oFPf07W+wPptAppZSN53K5d8ta77grEmNpQGd9z\\\\\\n\",\n       \"wQXyfRddNNMPU/c989y2jmqrqMIq6WKYbx10O5/D4XA4HA5H+KtI/y844ThYFFs933H6wwksh+OM\\\\\\n\",\n       \"x3z1xiKD7bFyy1oIAVIbjZcJMRUOtttj+LiPHzkie3btkiuvvFI2gvPPP19e8IIXjNcfeOAB+c//\\\\\\n\",\n       \"+T/Lp48fl2+/6CL5zosuCvO7desfutiPXfTeLHmBZ44hRfZE1FQpMBFlq3Ue8bh4tlLk2BgJ1wSq\\\\\\n\",\n       \"ExBYfEYscoCPQXt/7MgROWd5Sa467xzZCC7cs1te+pUTkvPAw0fk5977gUBWvulxjwvtq6orbfO2\\\\\\n\",\n       \"El71J+6D74kJ1JnnjhF7AOyEDUq7FPG4MTuhw+FwOBwOh8PhsHACy+E4i8Ch7luGCfa2g/1FVcAa\\\\\\n\",\n       \"4L5r166QZ7QV6DUUd5w4IfuKItACRU1qXNXtyu6ikHt7PTk6GIQfvna976JWS67qdOT4aCR/t7Ym\\\\\\n\",\n       \"easlLc16ynPJBwN5yvJyeL5P3XuvrD34oIgGzD/wQPi85tprZd+ePXLgvvvkrkOHpFxalmPrhayv\\\\\\n\",\n       \"Z7K0dI6cc87V0u/35B/+4ZPS64msrUn41HL++U8J5MXBg7fL8eNHOQ9fVlevlG73PDlx4n45fHha\\\\\\n\",\n       \"VbS8vFvOO+8xUpYjueeejwZLGkqnI3L11U+UbrcjBw9+Vg4cOBS2adHqufrqS+WKKy6SQ4cOyaf/\\\\\\n\",\n       \"/h8kWztR3dSRI7I0GMgTLrwwfMdHP/95GR09KnLihMjDD4f9j2u3ZUVE7lxfl3uOH5fRcBjC87Xo\\\\\\n\",\n       \"zI/ndjpybDiUT6+vhwysfl20s12pdag2wLU1uWd9XXYvd7fc3nvq4HftP4sgqbiyExOcTu+Yw+Fw\\\\\\n\",\n       \"OBwOx9mC2H8ebuYajh0NJ7AcjpOCknJn5uflbP27mqfcYGXPImKbKKyUxE65tkkMS53Vbev1g2sc\\\\\\n\",\n       \"Hw5DNhLi85WoGtbB8Br8/VBNYIHc2lWfpxa0g3peWQYroqyvS1tZofr5Hjx+XI4qMwF7Ya8nl/cD\\\\\\n\",\n       \"RSPHjh+X+w4elLK7JMd7FYG1d28u55yjh47k0KH7Amm1vl6RV0pUnX9+dd8nThySY8cenMqEX1qq\\\\\\n\",\n       \"iKTB4IQcP36fec4JyXLs2H2BuEKmlhJVSmxp+x4/flhOnLgvbGu3q+++6KJz6ltfl/vuu0+y9bVq\\\\\\n\",\n       \"x7FjEui/msC6/+hRGYDAqsuj9YtE5MhwKAf7/fBcSl5pDahN89w6MP3BwSAQWChMVCl5uDYaSZ5t\\\\\\n\",\n       \"/Z8enZVQ6gy1RRHtpTE/Jm/fICyfGxErGljN4smAnVrB4XA4HA6H4/SCWwgdi8AJLIdjW4iqze7f\\\\\\n\",\n       \"TpTJ/8BIuNxmr1DOCdHi7Ynl6Uj5acT27SoKOaEkyRaBazx2dVWesmfPFEmFH7qrlpbksUtLgdSC\\\\\\n\",\n       \"zUz3K/YUhdy8Z48UqsBaWhLZv19k9+4xsfGMRz2qkjHpNmWm9LNWfV1z1VVyzROeIOXKihw+3pJj\\\\\\n\",\n       \"x7LA+xw/rlldS3LjjV8XhE7KCSlfpLwXHvmKK24K5BWILc4T37378lAYNY8kWZbLtdd+XSCodJuS\\\\\\n\",\n       \"VHrb+qnteOWVTwm3p9u07NkjsrJS7bvgggvl2queLZne4LFjlcrq8OFqWUT+2ROeEFRX4YYPHRJR\\\\\\n\",\n       \"5ZnuW1+XJ6ysyGPzXIZKRonIek1i9eo6fMaePWF9vd42JrJE5Am7dsnlDz8sH+3pmVvD8V5FHq6a\\\\\\n\",\n       \"GQtSb5uNAKsrcTZEjGF9glie4yxlt23zO3cqyaR53+XElsPhcDgcDofj9IbPq+1wbAmnQj2x6PdX\\\\\\n\",\n       \"JqlYfNUiGJ+nA26eytBOX8j7QABk2TjJh0s4nVJ+bNHtVy8vywMPPSQHDx7cUk3cfvvtkmeZXFXb\\\\\\n\",\n       \"1SRxP02kRrhPPB9P7dcE+MVCXUyTKUpIbQVoE7g1sa3p+BRm+oTeKyuPmgKduD6KItSRTW5K1a8t\\\\\\n\",\n       \"16ysyL1HjsnBIxVZtll86q57g1LuyqWlcdvhnri/YXvsfsYty89v/X/cB3RGw3rfZttWz6vayU4f\\\\\\n\",\n       \"MFeqdRLxSH+/w+FwOByOsx7lNhXHjoYTWA7HaYl5v8CpX+n0QJRtTbCq4XMS/6NzrFVllpypyIuZ\\\\\\n\",\n       \"gX5NcFjigNctucDl6Xv3yu52Wz784Q9vvrbKUj78oQ/Jl+7ZI+e12433ESMxpkg2ImrGRdfh1eN9\\\\\\n\",\n       \"IDaaCKCZe03XP9Q6TDalcsT5OnwtJrvmghVI9rmwbusjz8e2wJm6W6DOn7Z3b1BN/dVnp7O9Ntre\\\\\\n\",\n       \"H/zM5+Wpe/bI/nY7KO2ayCu7zMfZfjyuFzy72cfvB8hF1DuKAu2yOPG9yF9e/peZw+FwOByOnW0h\\\\\\n\",\n       \"3Gpx7Gw4geVwLIStDhxHm1BuTSur4ssNZ5t89dSEeXZ5NNIBOpEbGMSzIokJrXo9Rl6kSA22Erbz\\\\\\n\",\n       \"XJ65b598/GMfk5766DaBO++8U+67/375Z/v3z5AqKeIMEy7OFKs4YoWSJXVoe6lFspn65vXYBHfz\\\\\\n\",\n       \"lseutQXOaWr3mftQIiaj5+BiiSyzT0m+WN2BSGpqg+U8l396zjnyN5/7gvQGmwtN/8x9D8h9R4/J\\\\\\n\",\n       \"s849d8aW2tQHJbJ9TE4xYRVr/3o5UMSjabLS1n9TWzQjNn/n4u98nMDeirLKCTOHw+FwOBwOx+kD\\\\\\n\",\n       \"J7AcjoVRbuG4mNpiMwPJxSyLGDRz2Zi6J2Kji5Eb+tlqSVaTGk1WQiY52L6ln0pEaKbS//qf/zOo\\\\\\n\",\n       \"azaaffUH//N/ymXLy/JEnc0wobhJqXIsmTEmNawKyarRbJ1kuYzKLNSdVVdZhVWs/rnNFLbdUvv4\\\\\\n\",\n       \"fEtqWaUXPsM9ahvH2pdVR4l9IPrmqe1S9X7zuecG8uqdt35yw+19bL0n7/zwJ+WK5SX5ktXVqEWQ\\\\\\n\",\n       \"ycmkdVDvP6a0s/3eqNC4fVP1b1Vytv3qMxLLYt71zfxWNK2nti1yLYfD4XA4HI6ThNT/uG+0OHY0\\\\\\n\",\n       \"nMByOE6LTKzUQDVlNcJIWD+HVKpjY9YlS2jYZc3m0fXwCXLDWuZqwiokh/O6Jod3OpIXxVjdxAWB\\\\\\n\",\n       \"6iAw7PaLOx35t5ddJp/61KfkD/7gD8IMd4vg2LFj8lv/7b/J2uHD8sNXXCGtLBtfl5VWXCzRwvsC\\\\\\n\",\n       \"oaHPw1P7cT3YfXTMKKuIDZ5N0NY1h7TH9jdtW/RY256Nx7P6yLZx7Dlpn9aVrVcmrmL1ntdtc0m3\\\\\\n\",\n       \"K99/+eVy6+fvknd95G9lNFrsnTmyti5v+bO/lvX1ntxyxZXj9ua+xASp3T51L5i2Ufuuncox1v5o\\\\\\n\",\n       \"5zKP2gYXtXJOd228tyPzTi9qDd7K741nXjkcDofD4Th94BZCxyLwWQgdZzHGU+5tcN9Wvk8HjUVk\\\\\\n\",\n       \"W07LWJ+H2AAUQe6jYHPSwoNsS2zYATj2la28Gtjr4J0H+CA2sB0FhFaeTxFDQ0NegFDgtB88xVfs\\\\\\n\",\n       \"2ycnRiN580c/Kg/cf798xTOeIddcc804b4nR7/flk5/8pPx/f/ZnMjpxQn70qqvksm53/B38fdY2\\\\\\n\",\n       \"yCSG3Z/xM9nn43UmNur1UmaJDVvXTHDYGQcn6qjpHCWQIBBE6T795Otin15TbydGVMa+L7QWPcPU\\\\\\n\",\n       \"M6WevS5Zvy/5cDhT14Xp1bwfb5Uuf6W293Aov/rZO+Xew8fknz7uGnn0heeFIH6L9cFAPvr5u+X9\\\\\\n\",\n       \"f/dpGQ0G8mOPetRUe1uiiglTe29jxRae1T6fJSrR/+s+H4jKBd6jWJsrUVcpzpoI63ng3wleL0/B\\\\\\n\",\n       \"BBNNijAnxBwOh8PhcDgcJxdOYDnOYpwMkmre92UbGBzaDBybg2OPnS4VgTVtX7KZPDFVTvhs1coc\\\\\\n\",\n       \"DOSZwEopdWpVjlU3sRrGkhpsJdT9z9y/X85tt+U3DhyQ3/qt35L9+/bJU264Qc4991xpt9uytrYm\\\\\\n\",\n       \"X/ziF+XjH/2orPd6cv2ePfKSa64JCi7+Lih9UiogS2pgeeaZY89O1kmuC82UsmqcWF3bbamMqtCq\\\\\\n\",\n       \"tAzSCttT58e+z9rYcJ+twuQ/pZ4xURdMVPIytzl6JBNYaINnn3uunN/pyH+75x55ywc+JOetrsiN\\\\\\n\",\n       \"V18h5+9ekXZRyFp/IHc88JB8+HNfkPXBMIT0f/eVV8kFqvaLKL9iZCWr/mbC+puej9uX1suaFG5S\\\\\\n\",\n       \"xFnb57SF0NoDU+9807sf+71I/aacSrhs3+FwOBwOxxb+jNjqnxL+p8iOhxNYDsdpCTtoheICA1+2\\\\\\n\",\n       \"G7HSYqLMsJamlHWw368UI1p0GRlJZV6TUhi8Q4nCahXep6RCrxcUU4OyHBNWVgmD7TyMRyyXLj9l\\\\\\n\",\n       \"92558q5dctvx4/KeBx6QP/uTP5EB+a50xsKb9+2Tf3buuYHIYLsaiKsYeWUJK7abhWvATsfPxM9s\\\\\\n\",\n       \"CQ5S5pStloxGRag/1GdcgRPPpYrtD/VhMssgTuJtrMBa9Ptwn+1WIWVRTlsnLYlj27le136haqms\\\\\\n\",\n       \"VO3ZdJ2iTS2BFZ6Berk+5g11e99+/Li894EH5H1/e3voP8CeVkuevf/cQG5eWBNXMYtiqr2jlla9\\\\\\n\",\n       \"b1aX8bMnnrcEgTWsiGH73qAd0Wap9p9+p+37jVqJvfP2d2G74H/pORwOh8PheOSxHbMI+iyEOx9O\\\\\\n\",\n       \"YDkc2wIMLDk6OnWctQym7ILzQtstwQXKoBr0jkazljYMoi1hxXY3nQiw08mlLDLJkAeEgXy3iwMm\\\\\\n\",\n       \"hdd1f78vrfX1cbJP2wzN8aNjA7ZBNoQkrywLAd2PX12VYVnKseEw2AtXiiLMYqdkU2r2uzZlYMFO\\\\\\n\",\n       \"1q6XsQ+f42VlgPT+l5dFlpam7XP6THh2EB70WWqpA9y5flG3IItSNk5rOcSyVWCFuqKupdu1aWAp\\\\\\n\",\n       \"ZPsa1kFWKR+FtoVrLtyrEpVZXrWzPp+ezM8YWK72ZN/6erWudaQXX1+Xll60JpxgD0Vbs+ZwZMLe\\\\\\n\",\n       \"sS20W5bJE1ZXQ1Hy6uhwKOt1e6+qLbV+cFb1xUhLbtectqH9sW+q/3LftetMZmk75y0ZjLJQj9Yq\\\\\\n\",\n       \"yIRWjDjE9mliCm/JvFkGF5nAwRLZi6iznLxyOBwOh8PhcJw5cALL4TgtYFOhYqQW728KfK6O1bwd\\\\\\n\",\n       \"ZGBZBRaTJVZJUi1nMhiqQqcObLdqpNTAvyY8il5PirIcK7AKQ2bZ4boSEiQqmrKaKVml97GX9tuZ\\\\\\n\",\n       \"72LqqpSNECQG9oVPZXz4WfSTn4uf3RIb7bYMh1moM5BVXFDP0/U7TWpZCxpbzwBdh9Iq1EE2fY6u\\\\\\n\",\n       \"g6zCpHn6PbrO3z19b1kg73KrQqqJyCkiT9dRL/VDKPFV1A8IchK9FHRqjLjEY4G+ybjnZ5mco/dg\\\\\\n\",\n       \"2trOMBjLveL1dkqBpxXF5GSMvLJqw5rIHdTtbNuSiSwb4s+2wiqsPjUrYExV2XRsU5aWw+FwOBwO\\\\\\n\",\n       \"xxkG/TtpwYl9Gq/h2NFwAsvheEQQm2UMn00DV1ti51QDXM5DSs1UZ9U/U0SWElhFwj5oVTqkvlJS\\\\\\n\",\n       \"IztxQlojvYcykBSszBk06E2g2AGp0TSMt5lHIKwskTVFVEXILrXPTc1IZ4mMJotZbStTVU6MxOA6\\\\\\n\",\n       \"tiHqMQUWZ1WxTXDm2bMJaWUVWJak1NtN3UNo7yILeVNR66TdxkRlrdbK19dlpJbR0WgmD6sVoWcw\\\\\\n\",\n       \"V6ZV4DGRFWvrWHunyCtW3nH7B7IOZGWsnWPtPp7EQAmsNHGVsuuyrbAiJGOWwNj6Ir8DqbfI4XA4\\\\\\n\",\n       \"HA6H4wyDZ2A5FoATWA7HI245xNA9tt8uM6xSYzp5qBo8l1OKEbU+aWFFEGcisWpIP5eX21LqjHM6\\\\\\n\",\n       \"qFfb2NraZCcP9O2+Xk/ytTVpDwYzGrG2UU+VRlnDBqsmAsuGdzMxZS1kMYvZ2GoG4kKfQYsScfjE\\\\\\n\",\n       \"M6q10D5vtxvqRtodGRzLpuoX9WjXraXMKqMs+dHYg+qgcCWx9BMTCfIshKzI0vvgY3BPrVYmZbd6\\\\\\n\",\n       \"tgzqquPHJ4SOPru2LUhKfXb44XRZ21rrstebMsSxuo7bGW0GoovPYW3hIgRWm9p8hqwyFsJwrD48\\\\\\n\",\n       \"2pnbmnPd7D61Dtb7+idmVWz8DoHQ4jaf2Ar1nWQVJag8m3cVe8+bfgtsnpYTWA6Hw+FwOByOnQkn\\\\\\n\",\n       \"sByOTYN1JKn9GHwWm7x+LOjZDoLzxL6RDIe59PsTdRAIkoq4mBAsENVY0mW02pK8ZRRXYEKQg6TQ\\\\\\n\",\n       \"L1CSA1+gpMZwGAK+W8Ph1JC6JOIii6hy+EmYw+GhPQyWsRnmmMDS5Y4hM7AeLGZQXq2siKyuVmQN\\\\\\n\",\n       \"crCwjHXeVit1ylZbev1M1tarx+e6i5EYdp9V7HA7gaCCjVCJKtgG9RiIpvh8EFY4XpsJ3wvSSvfj\\\\\\n\",\n       \"HnS5Oi6TTkuJypp90WfkEC99dkjDTpyYtHv9gNrOxXAo7Xo7J8GhXdDuI0NcMZUzamhrhZ1pEmQo\\\\\\n\",\n       \"ty+rr9pMbBVFFdyuz8JtrUXXtdj8M/oc5a0oKZkiKrlNq7a2ZBW/w/xp6byN5FqlfkeYLJt3rMPh\\\\\\n\",\n       \"cDgcDsepR/j7cYt/ipyqueUdjxycwHI4tkxesdYkFtQO/YklvGZtf9MmqpitKDYzmRgqYDA27amF\\\\\\n\",\n       \"j22EnMdki81n6vUy6WkMUtGSlh3QQ7GEC4IYAOHR7UpWe6ZAYPEwnGtLiNgQQ2bY2gI4EylmI4xl\\\\\\n\",\n       \"XlkbYci90vtktRWrjGJB36zCarelLNoz2VeperWqN6vCiuVhxQgsZGBhm54LKCEFIgu2QoS623tS\\\\\\n\",\n       \"wqVyQCrBWUq70GcaTp6RQ91jy3rxuh9kahdVC+Hamox0OdKGTFyxbRDbU6lO2YKWUavAsmo7Ja9C\\\\\\n\",\n       \"W6Nt0e4c0M/tTn1+GMirKrw9nhk3ayvE58Q+yCpJFPsex0gufmvsb8Ii6iz7e5L6ztib5nA4HA6H\\\\\\n\",\n       \"w3GKwH/4buUajh0NJ7Acji3DEliSIKxiBFUq/8ZGW0NnZI+x57Gqo6IKbM5VatBt7WwYrBetVphp\\\\\\n\",\n       \"L9jLdEAPSY8O9sHagPSBf6oms4Iyp9cL5AbXgq0tJjaQo4QA+JRuhAkNtiDGgr1nis5kqOyNtZOh\\\\\\n\",\n       \"gMiwYe60TW1lo6Il/WnnZLJubT3zbIVMfHBmWQxQWDGxBUBlheMQ4g4CC8o7VmXpetWELcmlthFi\\\\\\n\",\n       \"tknON8NNqmIJN4u60rZWAksto7W90L4BWGZ1FmuDYrRsirCMhfYzUTkz26RWQKqdOcjd7td27nRk\\\\\\n\",\n       \"lE3UV01kZYy0nGRfMXll6TpLLjVtix2TWreWxHkkl8PhcDgcDofDcfoiNtWZw+FIIpZRsxGkBpCp\\\\\\n\",\n       \"Y2dtgc2FB8fDoIaxA2q2PNmiNjh1iK2vV8fp8kBaUmJwz5YrLFv7nS7v2jW2ZWWrq9IqikAmdGsL\\\\\\n\",\n       \"X7eh6P6lOcd06Zh2vYzzOolrwT6opVDmxtznuOjz6HNgn67zs9dESF/ast7LZupM13XZ2glj+Vg2\\\\\\n\",\n       \"RwnE0iKF2zN2zdg5ul3vTe8R96r3vraWyfp6Ftp6xi6py2hjrRNucy51falaD/WMNk+1Cz75uEXb\\\\\\n\",\n       \"fV4fwqf2vdh9jts5Ziesn7vU0u2GetF64vpjy2isni2Zpe/iNF3HlsHYeswW3PRbMe935lT/1jkc\\\\\\n\",\n       \"DofD4XAsDrUPbkfZKN70pjfJVVddJUtLS3LTTTfJhz70oeSxb3nLW+QZz3iGnHPOOaE885nPbDze\\\\\\n\",\n       \"sf1wBZbjLAfb/WL7NuOotsqrGGLfySQVR19bNUWKvBqQbbHaVpaagzUK9ictUN9AiYMBOZQ4OvjW\\\\\\n\",\n       \"dUy+VjmoMskkl2UQGZAI6TJLhvRkQL9Et6vypSwrhVSvJ9n6+lQWEpQ01lSVMkoy5lkI81g2kuYg\\\\\\n\",\n       \"LS9XKiOQVExc6DOB2GB1FhEegdRod6S/XgTih4kMLFtCSesUBFeMbGIyimcghJVQoVWpxVoM8Ylj\\\\\\n\",\n       \"xvWTVd8J6yEUV3qMcjp6r7zc6WSSdVtSdLNgtYMFdHxj+DKtG/3EFIiYBlEvpEos3d5qSXttLVxD\\\\\\n\",\n       \"HwUuR+2ho7pNsIz1psB+mTMLIauuuN1ztYhqJ969e0JMgXxjAgvtzmRlvbzez8ftjAKCMtW205ln\\\\\\n\",\n       \"VXi7vovxdzaWe8XvekxhmXo7YqqrGDb61521IVpsNp/L4XA4HA6Hg/7M2OqfExs8/x3veIfccsst\\\\\\n\",\n       \"8uY3vzmQV2984xvl5ptvlttvv10uuOCCmeP/9E//VJ7//OfL0572tEB4vf71r5dnPetZ8qlPfUou\\\\\\n\",\n       \"vfRSb8pTACewHI7GX7pFyKjNHG8HhClVlh28xrJrrEJjWolVkVjFVMYSWwpZKRKzEGKmuk6nLbla\\\\\\n\",\n       \"CXkWQljLEPytqEPcxyRH7ZVTYiNXS6Euj0ZTAe1MStjheWw4zgHhbCtjCyFnIxVZFjKvlNAI94lP\\\\\\n\",\n       \"kBX8aTOwbB6WZiKVhfQHWVRllQpwt5YzW/+2bUBKkftyXKVTPaWeibDmjcK1kJUFohLB7Qhx12Jn\\\\\\n\",\n       \"JaxC3bWdiyrzjPPOtE5AZMEqql+MB8NUiDWJmelFta2V2SGGDblXPAOlnYUw9jbYts7nWAhzbetW\\\\\\n\",\n       \"qyIqQbyyyopLzEoI62DRln5vknHG6qqUlZDzzdDGFXnF76Y1TS7yfsd+K2LbF/3LbbMk1nZcy+Fw\\\\\\n\",\n       \"OBwOh+ORxy/8wi/IS1/6UnnJS14S1pXI+sM//EN561vfKq94xStmjv+t3/qtqfVf/dVflXe+853y\\\\\\n\",\n       \"/ve/X174wheesvs+m+EElsPxiAGD2II+U8elSozuYT1TpcoajYqZQTcUWDwjnY7dsQ3KEh3Tt1q5\\\\\\n\",\n       \"DJfakrU1C6tmWIK/sMo7Go/ewa7oMkuC9BhVP6mV8OjRau5EVevMUWDZp49lItlZCGPEhpIZOWyD\\\\\\n\",\n       \"VmUDciNFchCppXaystMNsw6yTRAlti2VlRQjPyB4YhUWACILGVjYBqJLPzGrIAgsfA8EUloF2Ael\\\\\\n\",\n       \"nS7rdl3X5ZYSXDVhpUTjmJyEAgsyMdwAFFjUzqGtQSr2+5LrTIXUxmgjNs+laBybm5Vq53Fba74Z\\\\\\n\",\n       \"bINoZ6u4smo7buea1CrbXRnmnSlbKJRW3N6WyLKquqp98C5yT0+9w6mSglVrORwOh8PhcJx50Oxc\\\\\\n\",\n       \"LVu9huLw4cNT27vdbiiMXq8nt956q7zyla8cb9O/I9UW+MEPfnCh7zt+/Lj0+33Zv3//lu7bsTic\\\\\\n\",\n       \"wHI4No1FLYYYYPJca/zqDcezBk6G9xjuQ7MCOsBm5gzMPqxPD4x1sA0LWkx5wxZC5aVAglTkVU1s\\\\\\n\",\n       \"tERWV1Ykb9cbYBmsbYJjBgXT3+myXkDXcbFa5ZKvrUm+vi6ttbUpE1WThdDWNmrJWgnHRIYqvvQe\\\\\\n\",\n       \"WF0D8gKqG7WWgbzQZS0gPXQZJEedmzRsdaU/bMmxY8iOqj5jBWSWzcRi0oND31l5BRLL/hsO1x4H\\\\\\n\",\n       \"tLOlkJvCBr6zBRHNBt4J7TtuRrUAdpar8HMQV3wBblvdD8+prqOd606V9XpBiRVmKBwOZVSWYyon\\\\\\n\",\n       \"RtuMNjALIROX4Y1iBR3bQLXNuW2Rg2Wzzigja9TqyInj8XZmq2gq64zLbI/Gu2vf5RiFa995q+TC\\\\\\n\",\n       \"bwgjRpA1YaPqLYdjgnf9wydlz26PVHU4HA7HFrHInyyLXENELr/88qnNr371q+U1r3nN1Lb7779f\\\\\\n\",\n       \"hsOhXHjhhVPbdf22225b6Ov+/b//93LJJZcE0stxauAElsOxYdiMKiaM+I94DAZ55kHex3bD1Dpf\\\\\\n\",\n       \"11I72BZTdAwoEWgoZTmU4TCXfj8PA2rlGJSDAGkFmxkcY9iHfKyK4NAMrVzKrJC2HqSDf8iEwMIA\\\\\\n\",\n       \"uky5SNWvzYTkyHS5tuMVqtAZDsNMhYUSHMZaZmsTNSpmFsLxclEE4ko/M9wnHoyVOGwtszYzo8wp\\\\\\n\",\n       \"l5cr8qosQnA7grxBVKHECCqraIvZ0SBkY/VVisACh8TcEogncIUA1sE3gl+E6orJSS3VOdXzSUc7\\\\\\n\",\n       \"QVday7WsKDRCbRsEwwnWDRcGiQkpmN4z7IjaLpqDpsqu4VBadVvb9KdUW4uxiob21jbW/qSf+h08\\\\\\n\",\n       \"eySISiwrMcWEVspS2OlIv2xJbz2fIqy4fW1h9R23rebPVfZBq4pk2s7OTJjKuGuyGdrfDPtbY48F\\\\\\n\",\n       \"YhTxdgRQOBwOh8PhcDxy+MIXviB79uwZr1v11XbgZ37mZ+Ttb397yMXSPCzHqYETWA7HtmVbMQnF\\\\\\n\",\n       \"5NW841PLMV1K6hgMkpnoml4fDrOZLCa2P9mAceUDQLxMyK1M8k4uRbASdqug7xiBhVwkkBzh16Zm\\\\\\n\",\n       \"SVixo6RGzeqUmo2FGPqyDHlZ+omnlZgqR1VWNVESFFdZVpFjnN8EAkv/4YoFdXMGlrUO1jPRSXdJ\\\\\\n\",\n       \"htKS/iCfISxilkEoq+xMg9ZqxsorkFgoGvwdg+ZUgazS4/RxQVqBnGIFFrglKO5SSrwJUQk7YSG5\\\\\\n\",\n       \"7u9qPfQqSTbsoiAlceNgyhDIxWnyaHdtGyWa1E5Y9w9VY2lRjDbQ3voZ+kq7PWlvm13GBJadSTJh\\\\\\n\",\n       \"FQ0W0XZHBsN8iqi01sHUTJI276xqQ34fUzMPprKu5lkKLdnU9N+W885tOs/hcDgcDofjzLEQKnnF\\\\\\n\",\n       \"BFYM5513XoiduPfee6e26/pFF13UeO7P/dzPBQLrf//v/y1PetKTtnTPjo3BCSyHY1vIK3u8bCDM\\\\\\n\",\n       \"HWoqHuzGzuWBLyyGNkkIeiReV2JpEAgsXe/VodQc5g3BDLgAXUYmFggQcEJ53pKWBn2vrEgJNZUN\\\\\\n\",\n       \"YQKzApmPfmIKN0yPBwalDt4KVjOEvyMwvCa/wlCb/kELpBWYGL5BMG0cQo6gbl2n2eVCsaocrNcW\\\\\\n\",\n       \"wkBeLS3JqLssJ45MVFdqIeRZ6Y4fnxAduh8EF/bHZh+MK7BKyr+KEQzZlOBJySwQXmiG0FNI9GYJ\\\\\\n\",\n       \"LT4eTQXFHQCecbRUSGv3kuSDQdXWuAA6Cy6MduZOhIuCBdW2qB86EFja3oNBKCw7UyUetzXIqvED\\\\\\n\",\n       \"4NqwK6K9yaIaPm3bcrvDLgirKLX1sOjK+vo0ecVtjWKVWbPEls4+CDUk519ZRVaM0OLtqd8MVk9t\\\\\\n\",\n       \"JP9qM38YOonlcDgcDofjJGM7ROAbOL/T6cgNN9wQAtif85znhG2j0Sisv+xlL0ue97M/+7PyUz/1\\\\\\n\",\n       \"U/Le975XnvrUp27xhh0bhRNYDkcAkz8nA5xvhdhymKHEhLizRZFVVExMjbVKZkCLfQNKCOqP7YRl\\\\\\n\",\n       \"qeRVKwy8wRHoWB8KHvA+4x+I+hcCljXwF3ruLs3DyooqMBsqK5AL7EeEPxHkAhLDERDFo34QWHY6\\\\\\n\",\n       \"PrWd2SoFYQIyA0ofkBmWwAKxAUUW8o+w3+Ykra5W1sGiKyeOVaQVSAstWOfMK85HYpuhzUeKZWBV\\\\\\n\",\n       \"9QrLGfpMDBWJNRrlYXZJKLF4tkK0LU0CGcDHWt5RgeN0H6pfLYXLS6tStFvj2QXHdctMJzKxQEqi\\\\\\n\",\n       \"jlEZWq/N7F24dpjl0gLEKEvKLIFlLYQ8y6AN70cWGghNzbzqLMmo1ZWjxypCEkQl2vno0apwH4iR\\\\\\n\",\n       \"WpVaS4lItgzqO8jrlryyasqYfTCWj4XfC0ZslsOTBXyPw+FwOBwOx5mHW265RV70ohcFIurGG2+U\\\\\\n\",\n       \"N77xjXLs2LHxrIQ6s+Cll14qr3vd68L661//ennVq14lv/3bvy1XXXWVHDhwIGzftWtXKI6TDyew\\\\\\n\",\n       \"HI5tQco6iEGpzcaKZV2l7EMcAh8b6HLYuy0gwKrBr/6vAjgD5QHAJYBjglgGZBXsg5bcUlWMZmIt\\\\\\n\",\n       \"6ex+3SXJVuop9ACodFj+gy+Bika/DJ/M6IA5QRCUzlbI7EyM1ACBBSUQSA1YyFiBBRUOlDkI/qbc\\\\\\n\",\n       \"q7L+HEg75Iax4gbFzjwYC2qPzTqI7ZOcJCU7tNhEqCYoGQnLXS6DgdoK68yp2rnJIjVdxj0ACPaH\\\\\\n\",\n       \"IA5qLavGqjjJXNp5W9rLVduGb4I9lMP70c5aQdzWIBfZi8deOyKwomQlHgQ3yCQpOiYILLS7nVmQ\\\\\\n\",\n       \"FVhMaKmSUC2iWUvWe/mYvLLh7cy92Swz5uPwOZ19lZqiIGYtjNmDYxlYqd8O3jd+IU2F2us4HA6H\\\\\\n\",\n       \"w+FwPMLgmYi2co0N4HnPe54cPHgwkFJKRl1//fXynve8Zxzsfuedd4aZCYFf+ZVfCbMXPve5z50b\\\\\\n\",\n       \"Eu84OXACy+HYMiwhlQpuj51nP3mZg9qZoLL7cjMD4ewshLx/MCjDIFuVNTbE3RIZbC/UwTyrswKx\\\\\\n\",\n       \"saoZRLkUyyuVegY/8CzZUjCRAeIBX8xMD5gAzlrilHKA2RlmXUBioUAJhAKSSpdhJWNbmZJXQaWz\\\\\\n\",\n       \"IsPWkvTWsyh5xSRWLAsrlo9khUfVtoq8mrSPJS1TaVDoc0pKtoIaq+L4suikkApUPaqPZ6bkEHe4\\\\\\n\",\n       \"AKfaWYVXXSUrCymWK+JMScyx7Iu/iNsaYVvcLrHQKCIrZ9LrLRuH60IFxu3OGVhMYIG0YmWWEldo\\\\\\n\",\n       \"63ZH+r1iirBCG1tikotV0lWPVNZKtphFkNVUNtA99pnaF/u9aNLdN/3WxPqZw+FwOBwOx6lFplGq\\\\\\n\",\n       \"W/yTZDPnq10wZRnUgHbGHXfcsdlbc2wTnMByODaFmLIqdsxGsrA4zwbXTZFYWGayQ19nJkN4rj4m\\\\\\n\",\n       \"t3qyvt4eK3bAB7CYKdx1vc4z3GkB1wCb2dJSLqsrK1IgQJ1JKmUA9FNlLdZKxhbCGIHFFsJQFaPZ\\\\\\n\",\n       \"kHC2ktmwLr0PS2Dx7HS6rlJfLCMXqdOVUacrx45OFDhHjkxyrmAnA7kBmxkeD2odPB4eEfsmiiwl\\\\\\n\",\n       \"gtjuZWeis/0iM20KG2lFWI5GmfR6rXFGPpx4k0ytscBpnKMFnhBVDC5JwdWPyQd1fdeu5ep/oni6\\\\\\n\",\n       \"Sm1TTFmp5BCWtW6Z2dPtsXZm62iqrdlCiO+dR2Bx27Lyrs7HCsqr9vJUphlbRdkmai2jqUysXk8r\\\\\\n\",\n       \"s0/ZVwNjJRwkrIEp+2CsT8T6x0Z+Y1JwO6DD4XA4HA6H4/SFE1gOx0LYCBnVdA0btG6thSnySkzQ\\\\\\n\",\n       \"O85HXpBdH5i8Lc4VKkJ2ktrO+v0q0F35A0tgMbnFQhvwDLq9ImOqOlnudqW1XEiBbCoQRlDjRMK8\\\\\\n\",\n       \"xwFRTGCxGgfLMQWWtQ8yucGzEHIBgcEEVk16hLyr1pL0y0LWj2RTRIaSV7oOEgo2MyaprDrHElis\\\\\\n\",\n       \"yFLVVUVegcywFrKNEFjIT1NboVZjEchJkI6YPBBAdXJbQmWH6sZ5ILNgQaysiiLdTlvaGuSPusfD\\\\\\n\",\n       \"wo8Iax97La1Eja2i1kaYUmBx/hVIUiawlLTiGQlteD/spKurMmx3ZSAtOXE8GxOSTFSBwEK7ox/E\\\\\\n\",\n       \"rKQTQRmC24c1WQXCatiQgYXfBSa22DLImVc2+8qqqCwRdjqkqTocDofD4XCcnhZCx5kHJ7AcjoVJ\\\\\\n\",\n       \"KrYKzttvj41lY+HTqq9i1iDsQ4kFuDPhZTOyOAtLB8pqO9MBd2vKJgiXl52hMPxYtKrBO4QxNgQ8\\\\\\n\",\n       \"zwsZYQK6FakCvzlonb2KIDKwDBKDiQ0mNGK2MrYQMoEVsxGC0AKBZYK+y05HhkVHeqMi5CDZmQXt\\\\\\n\",\n       \"bHSce8WxTqkZ6aC4qnga5F3FZqKz5EOKwIL6j/tPNSlARVZVBFelrKvOYUcnmgTViNwz7EOzKVCt\\\\\\n\",\n       \"rMQry0LKjh7YlWK5Vt7pCZB/cSdC3YPYYvugJbBSFkIrEYzla1kFFhOVsIgqURlUVxVR2R8UM3lX\\\\\\n\",\n       \"tp2xHrOIcqkewZJUqYyrmOIqlntl+0HMTjgvCyv2O9W0P3VsbJ//kehwOBwOh2N7kGmE7hb//22r\\\\\\n\",\n       \"5ztOfziB5XBsi8rKZl+BUACs2sqey/tjGVd24AqFFdRYGCSD5GDyCsQVVDuVOmQ4bAcypVJZZWPi\\\\\\n\",\n       \"grOQdEAf7r5W5XDsEQgPEFqKbrcQWc4lX1XyqArtzthOCKIBo36osZTEAHnFmUg8Ix3kQArLxIAw\\\\\\n\",\n       \"gbWNiY2YAqvdljKodKqcpFHRll4/l+NmlkEQUrFQb97HeVg2M6kiNyryqt/nPLJYBlKMnGDYjDPu\\\\\\n\",\n       \"G5NzRqMi5GJVoZOVvRBCJnBD4P4Azs6ybQvrqBYotYbDXGSlLd2lluRa33lFKmUgqVDnqAytb060\\\\\\n\",\n       \"h22Q2x43F2trhU2at5ZVaxklxV2Jz85SUB6eWMvGFlBuWyUuOcjd5mFZlV21XIbPKrjdKq5iRGWK\\\\\\n\",\n       \"wMT5scyrFGFllVgWo4b1rRBQTmA5HA6Hw+FwOE4tnMByOLYEEEhNqq2NkmI6oC0MMcHEFK7H+3Av\\\\\\n\",\n       \"GPjzPXFWEq9XfMHaWnuGiLJZSIgrAqeEdTvjnnIGOuDftSuTTmdZWitdaStxoBuRjQTbILKPrIXQ\\\\\\n\",\n       \"2gc5G2nezHSxcG+bgQWbWacrg0wVaJmsE2EBxQ0TF8hIwu0zuYV94GliGVgV4cPkRIzA4mW0Zwy5\\\\\\n\",\n       \"acfWVJtyPtv6eksGg3xKQQUiKnzDiGfNmwikcBzPqqfNiGabqNKyKmqq05HOSltautKrOwSzfNY6\\\\\\n\",\n       \"GMs620hbc/YZK7B4HRlYSlbqjJJ5RwajXHpHRY7W7aeF7aH6TJp3hlvX7bof7a5WQ7SvJbfKki2D\\\\\\n\",\n       \"PZOBxaW/gEIL65JQaRHBty1kk5NRDofD4XA4HmG4hdCxAJzAcjhOeRYWZ1rZZZuJxZlXIK3wyaqq\\\\\\n\",\n       \"bI4Cy4a698fLqqTp96u8LKh0wp7aWsYKLFbpKEfALj9FRXZUFwhimHYuw1Zb2qrK6gwqdQ4SxlmJ\\\\\\n\",\n       \"A5aMCaxUJlLMRmjDvRMKLLUKlp2uDKWQwTCXdSWv1qscMEtSgZzg3CtWWTFpBRKPlTnV42gmElsG\\\\\\n\",\n       \"WZ1jM494FkL0k5gCi/ugzUezlkKtxiofq9dTRda0AgttCyEbZ52BxMI2njCQhXKatxWacqBEViGt\\\\\\n\",\n       \"1pIUrbbkUMax347bHRdosg9yW7OFkAksqO+s8q62ho7ylvRHRXj+Xn+iumICEnZRVtRxOLtV1jHB\\\\\\n\",\n       \"qaq6Se4VCKphJMQ9pcLi99wGuluV1bzMq+3Kv3JroMPhcDgcjlOM7fj/NP8TZsfDCSyHI/rLeTJy\\\\\\n\",\n       \"sHgbf08s88rmXMVsQzF1FlsKYb/T6xSJTKyBlGUeSKcsK4MaCS4tREvZLCQF7IYsmJlYyybLg04m\\\\\\n\",\n       \"o6WWlN2WtFpFyMnSIsOBZCAxmMBiK5mdhdDChntzDhZIjToHKxBXRVtGrZaM8rb0B0roTNQ0UOIw\\\\\\n\",\n       \"iWGtgZx9xUSWFRlNxEZlKNPkRsxeBvWVtYOVCxBYICNb9blVDhafy2HsahXF7JNsE4Q9lGeb5LB+\\\\\\n\",\n       \"WEe5KWbJLb12EWykpbZzRzO4WpK1+5JBHcVqO8uExcL6bXujfdk6ygRWqyVlWG/JqK3kVVsGGsrf\\\\\\n\",\n       \"n25LJiNhF+T2tNlnMXvoxBrKgfwpy2CTlTBWUu99U/aV7TOef+VwOBwOh8Ph2FlwAsvhmAHIo61m\\\\\\n\",\n       \"YdnrzLMb8jWssoatgnx9thIVtI5lfB+IDVyTZyXMZDjU8O9qhrlKfaPbZmex45nqYCdEgaVQeQRY\\\\\\n\",\n       \"zmA704F/u92STqcly7uWJB8NpNTAa0o5z+xMdGwti5EaMVtZTWqUrMbSgHadebFUFc40CcEuN0tQ\\\\\\n\",\n       \"qZWMFTeq1MGzWHWWvSYyr4ZDJjZgHWObWL9BSdMEkFdMgtr+Ma3mGQ5bwVKoijDMJshcknVtstWQ\\\\\\n\",\n       \"+UWscx473Jlo/04nl263K51OV4puqP2JAms4lIxzrxaxizJRyQRWnteEFSmwdDKBvFWRkzQDJIez\\\\\\n\",\n       \"M3EJNZZV3sWC/PXY6ryyJsRAXvUTsw6yVZQJSyayLLHFFkLbHxbtH9Kg2Irt2wj4Og6Hw+FwOBzb\\\\\\n\",\n       \"g6wsQ9nqNRw7G05gORxbxiRzqHm/nUUOA1Goo5iAwLV4oMg5RyCn+DyQUhkpegAOlAfw/RXJVpaq\\\\\\n\",\n       \"wGpLUVQz2cFaxiSHguOLdLsO7ldXq3VMNMfqFkQRwdlXZbkXUuSFtNttae1ellxKvYOJGmsRBVao\\\\\\n\",\n       \"plkCSwkNvdpQrW3DTPprlUWQZwVkYgr2P1ZcMbnF9sIU8cX7dFktg1Wgdy9CZIwWDHBvAueaVfbP\\\\\\n\",\n       \"SX/Qn/XKNjjpa5VCq+KJVHFX9QdbxcwZgphC2yOHXfdxRroeh8keJwTWhE9qt/O6tKTVKaXI6rZO\\\\\\n\",\n       \"EVjJR44osFRZpzMvitoYM+mvV8TrYDiJWkMfxXqsvSbE1HRbg8DiMiFBlbzi9u0RgYXPWGHiitdZ\\\\\\n\",\n       \"rcXvKBe0ZyoXK0ZazetLTkY5HA6Hw+E4DeAZWI4F4ASWw7EpLGoltJlZ1h6YOkaInLK2QTH2Qr6e\\\\\\n\",\n       \"DXLnfCUxBJeYfCwdkGfS67VqQiMbcwVhjWajQ+A7uAcoszgQHCodkCFwe+n2dru6dqdTWRaLvJRc\\\\\\n\",\n       \"S9aRvKieK2+p8qqqjzxS1aPgNsskOOKyXEZlXvEf/SKQGcNRRWZw/BJnicdmDATJgWUbxs7HWSvh\\\\\\n\",\n       \"JPOK1TQx0oKXUwQFkxi2fwiF/KMN80ifYjshrpMHm5+qsHq9aj+H9zOHZO2h2pbMLaKdQWiB6LRE\\\\\\n\",\n       \"lrZ15SCs2lzbutXSE0XyrF21czGSLNxHuq3Ds2ifq8m6UZbJqK+zLVZtjfbFfVT5VBPSMkVAcnty\\\\\\n\",\n       \"5lXaOqrWUCUoUworVl8NEllnrLaK2QJTdkLuI9JgG7Qk6DxrIcP/59LhcDgcDofDcXrCCSyHY8PY\\\\\\n\",\n       \"aA6WmOPLBa8hRmEVy8nizCtrIStpwMz2QlbvwF6I61Z5WEpygLACyQEyi4kNkBlMamAdWd0gtjgG\\\\\\n\",\n       \"CVnbkwgjzUvSmQuroHEUjrmywPfAYQj1EEgrkGsg1aC+iSmxmKSKEVgc2o5lJkbW1irLoFoHZy1k\\\\\\n\",\n       \"TFhg2drEeNY5SzYwaRnLV0PGGfcrJjDyyL4iBPdP8rGqa6E+kYfF7QxiCOdou6GO2UrKZKWq73iS\\\\\\n\",\n       \"wEool9VkVjU7IvpVTsIqC47HYqehbWdua7SPJbDsBIlMTsJCaPsFiKtqG3LNUuqqee2esg1awsq+\\\\\\n\",\n       \"87Eg99Rvhz0mpsyadw2Hw+FwOByOU4jtSCnwP2F2PJzAcjiiADGUb/CcpuNjZJa1EcYshTmFruOT\\\\\\n\",\n       \"yQhcm9U2UFaVCYKDSQ3cx+RfDB2gHz/eDtlYbDODygVWMl1XYgKDfbaSwTaohIBazZiwmoktIhcg\\\\\\n\",\n       \"9oWnqEksXmZihfOaFiE2tLC1DGSVJaZwHJRV1nZW5Vzh/DKUSpGjpWeIix61rVXkWBvhogQW21FB\\\\\\n\",\n       \"ThbUd9C+OJYVXThWn0HVWBMllj4TwvnZQmjbXZf1ONQbMrDQtvUkgKGeponKyeSBsQgzEJWxtuZl\\\\\\n\",\n       \"zl1jy6Od6BBtibZjO6FtWyYu7b6JEqs0NsEeLXP+VYzQYqIyto3JzJgKq8kyiGU5yfbBRfO3HA6H\\\\\\n\",\n       \"w+FwODYGz8ByLAInsByOTYEHcTElVTmH3LIB703AsTELIdRVnLEFkgv3weorEFp9cy17z/rToIqT\\\\\\n\",\n       \"TlirQt4ndjFWXUGJo0WXoboCoaWlCnGf2MowYSArczCzIQgNq8YBkRXutJwmNWLh4yj63ZzjlLKZ\\\\\\n\",\n       \"sUIHKh3eh3VWZVVh7UMir0BmWDuZJTLQdimCAu3BbcKh/KFGIrZBZGAx+QFiC20OkqtqZ83qUjvh\\\\\\n\",\n       \"aFRZL7V9WFEXa1u0K+oH2WYgKrWA2EI7K8EFxRUKE1jz2rrqh5N7A4GKdZBVuG+2i9pP27aWnJxV\\\\\\n\",\n       \"5em7UBJhZTOvYm0fs47a2SetpTRlIWSiqdzgf12mVF2xc+dd3+FwOBwOh8PheOTgBJbjpGB9fV1u\\\\\\n\",\n       \"uukm+fjHPy4f/ehH5frrrz9Da7rJ6hfbZ+2DvMxEQ8xSyOt2n825ssQWh75bSyFnXklkH3u2plVn\\\\\\n\",\n       \"aiWsLIVVxhJbCKGQAalgbWZQZ2nBMkgDkBz1pIFjIgMEFk0yN0VmpKxlTGTYGRLxnSCwUmoskFIx\\\\\\n\",\n       \"AotzrkB6DAYail7KaBSbadCSVtYyxqqbGGFh+wGDlXnoH7wM0jJGhPExkz5W1Ze2sxKVVftP7IXT\\\\\\n\",\n       \"bWsVUCC3oNxC29q25mUmrkBcpqyik744PUkl2hj3gDZmxRhnn9k8LG5LtC1nXk2UW9rOmnlVLmAb\\\\\\n\",\n       \"tO3MKjtLVDHRlOoH1joYa8eU5dC2ve1Tsf41jxxzOBwOh8PhOEkIf7Zs8e8N/3Nlx8MJLMdJwctf\\\\\\n\",\n       \"/nK55JJLAoF15oLJgI2cI3NIL4kQWWxZjBFSbPWzAe4c1s7fbYPjbZA7YFmDaSuiWsyUqFEVliIE\\\\\\n\",\n       \"pNfEBogDKF9gIYTySdcxUx1nIXEGlplUbgyryonWZkKBxQSWJbNYgQUrIGdkYZmtZJN95Xi5mmVw\\\\\\n\",\n       \"lLCODRpC3JnEsDYw7iNs+2NwZhkrr0BGgvBgwjNGiADVuoahVzMUVu1ckUETayHUc1UfmJ6JEm0L\\\\\\n\",\n       \"MgttaUkrXrYKrHlkJe4JfU9hJ620GVi2bWNkZcxeWBFeZViuQvnZ9scWwmGCuMQ+axG15JYlMZmQ\\\\\\n\",\n       \"4v2Tdpo+NmXpm/fX2yL2QouthlI4HA6Hw+FwNMBnIXQsACewHNuO//f//X/lfe97n7zzne8Myzsb\\\\\\n\",\n       \"GyGsbK4WSAsmJDgHCTPLpY5hBRZgbYp8b3mC+MCx+h1tWkfRn4lWIAiOHWuN7WBKVoCkQu4V2wSR\\\\\\n\",\n       \"b6UEAWyDWpB/BPUViCoosmx4+zwFFkir8GTlRInDeVggMpjksASWVelYC5o+R0WgjCI5V02qHLQz\\\\\\n\",\n       \"q3FGDQSWtYtxH+LcM7QnZhtkUpSJTnzinmApRWHLYTVL4YkTHen18tAmIK8wsyA+Y22LbCwmJ227\\\\\\n\",\n       \"c9ujbW0GVgwc2M/EJdoVbYu253af17Ygszj7rFL1MWEVW2aiChZN2w+wzc5Oae2FKSWeRPbHyCtL\\\\\\n\",\n       \"eDbZUWdq1//L0uFwOBwOh8Nx2sMJLMe24t5775WXvvSl8u53v1tWVlbO0tqdR2rZY1hx1USEsZWQ\\\\\\n\",\n       \"lRkSycDCtey9DMx6yyh/7IyH0/erNqrhMJe1tSq/q9XKpsK02a4HZQ5ID6iulBwAacVkls1FAokF\\\\\\n\",\n       \"QI0VC/bmT74fnh2PCQ4sM3HBljMmOqrlaua5SnXF6hursgLBwYHc1k6WIiJixIVECCvezv3GElZ8\\\\\\n\",\n       \"HghKJi5jdrQJIToatcJMhZqNZYkiblvYQ60CiwlKkFhMUrJt0JKVvMyKKzsToQ1yhyKL257bd54a\\\\\\n\",\n       \"SxV2OqPkaBRra1ZexchK2xeaCCuryoqRVza7KgZWZsbe29Q5rq93OBwOh8NxmgH/17/Vazh2NJzA\\\\\\n\",\n       \"cmwblNx48YtfLN/7vd8rT33qU+WOO+5YOC9LC3D48OHTrFWY2Fn0mHIDNkI+vowsY78lJVLrIMVY\\\\\\n\",\n       \"kWFzubIGO2FzKL0SGpX6Su1mlc1MAQsh5yRBwYP8Kw5v109si1nJrH2Q11lxxaocEBk2yJ3JDN4G\\\\\\n\",\n       \"pQ2WQYBgXW1kWpTYiNvFUqQFWwSZtMI5skAG1nS9z5IO3EeYvMK10ZZWxcVkFvdB7keo06qtq2ys\\\\\\n\",\n       \"qqCetT3YrsmzFzKBxcSVJSphH7UEVqyteT1mHeX25TB3aym0VtGJEk9JSm1rJh5jKqtUezeRWiny\\\\\\n\",\n       \"ytoFU+tc0BdiBKTdF0OcnG6GE14Oh8PhcDhOLnwWQscicALLMReveMUr5PWvf33jMX//938fbINH\\\\\\n\",\n       \"jhyRV77ylRuq1de97nXy2te+9jRuCSYDNmsjZJKhNDMH2mOtcoZtgrxs97EKo0X2Q/4eEBd8X3Yd\\\\\\n\",\n       \"tkEAg/POlNWw31eFThHIBsxO2O+rKms6F8lmXkF9Y1VYIDRCTdaERlMGFogrLIPY4GBvVoYhxJ3V\\\\\\n\",\n       \"WVBYTQe8K4kBMktnGATxAItYLLB70TDvlOLKEhaLgNV76J+8zG2JfsL9kPubVWCx2q8tg4FaSPOg\\\\\\n\",\n       \"yJq0bTYT1A4LIQgqtheyuo4VWNjO7Z4CCCu0u7WKMjnJ+Ww2E2tiL9TZBSuyUsmrWaJqGLGLWhLL\\\\\\n\",\n       \"KrVShevVKvFSROZGlHpoz/BG8Jsypx/N62/8m+RwOBwOh8PhcDxycALLMRc//MM/HJRVTbj66qvl\\\\\\n\",\n       \"j//4j+WDH/ygdDUQiaBqrO/8zu+U//pf/2v0XCW8brnllikF1uWXX74DWgZqqGwDx+aJwahVSbGF\\\\\\n\",\n       \"MIuocDBIZkWOJFQbsB0W9JPAiqGCwsE79fKgzstSe5lmJimhlY3VVSAusG6VOFaRYxVYnIfEqhwm\\\\\\n\",\n       \"L9hOFp7QhLjzOge6W5WVtT9Wx6mFrElhw+SFzTiK7ZtHToA84bZpAvcrtI0lsLCMNkbWVU7ncNui\\\\\\n\",\n       \"v6AfoFT3Vs1IWbV3nufjdtX6RLvpq4+21T6gSqcUgWVzr6xtFGQWq+24nWPh/UxgxWyETFxOrKWl\\\\\\n\",\n       \"lKUNZB8ReZUiJ6HO4nbmGQfZSsrqq1FDDloTmRXrFykiKwa3DjocDofD4TiN4SHujgXgBJZjLs4/\\\\\\n\",\n       \"//xQ5uGXfumX5D/+x/84Xr/77rvl5ptvlne84x1y0003Jc9TwsuSXqcf5qmsFjkmZh0ErP0wtd9a\\\\\\n\",\n       \"hTgHCWRTzD7ICopBxELIUqeUfREA6TG5h8pWpnlJOmthpdJptys1FiuyYuQVz0LItjIb4K7rIKvG\\\\\\n\",\n       \"NRUhsGAnY0thjMCC6qparuxjSlyNRkpoxEgpEBLWQsiWs5jyKhXA3aS+mqd44ewrkJas8ONlto3a\\\\\\n\",\n       \"tuRjcA0mRVjFVd2nWoUxWyE+i6IiL7V+0aZa37GZB7VN2TZqCayppzRtzpZRtotivYnEmhBZ2tYg\\\\\\n\",\n       \"KZF1xQHsTGbFQvl52bY9k1mWrLJEFpNXTXZB206x34fUOU1Y1Dro9kGHw+FwOBynAE5gORaAE1iO\\\\\\n\",\n       \"bcMVV1wxtb5r167wec0118hll112htf0ogTWovuZeLLEFlvDmq7HFkJ8QnljVVv2OgN6/e2+FIHF\\\\\\n\",\n       \"SiFWalVkiYZ+V4qscsZqhjBv2MpSShwmtBTzZiG0BFZMfRXLwqqO0/ucqHBmyYiUqiqmwEqRVykS\\\\\\n\",\n       \"SwyRwTatRSxb3Jc4/8xmYGE7Zh6MESGWwGLCYhhVa6kaS5VYlXItHxOTWud5XpFZnHkWU9tx22+0\\\\\\n\",\n       \"rZmwSinv2C7K1tAqz4zbhclJtghaEjNmD22yC9q+MU+Bt2i7p9SUwGgbSSwnsBwOh8PhcDgcpw+c\\\\\\n\",\n       \"wHI4TiqYHJhnG+RjQWKVRCDwchM5Zb9fyMaWG/KJlVQgp6y1rIiss9IElsKKwIINbTBQEquQLGtN\\\\\\n\",\n       \"KXE0MDulxEnZylKweUhNxAYTWBMlDwgJPHuKrCgjJBaTE1gvzXI/Yg+zBIaYzxQxgbbOImQl+pAl\\\\\\n\",\n       \"MllVBdsnz1g4pD7BbYx9sBOinbHOfUKJrCwQWr1e1dZoW7YOpohKm3uW7MkL2EXTyjtV1TGRxJ8x\\\\\\n\",\n       \"699wwX3lHOuo/S4mMhchtYaRZUmQXU12wnnEmMPhcDgcDscjDFdgORaAE1iOk4arrroq2I12DsoF\\\\\\n\",\n       \"cq22otRKqa9iyqqNElh2HUQFzsfAma2EPFiG6oqJDVjLQIIwGQJbYhHyhZTc0BnsqhkLNfg9Sypx\\\\\\n\",\n       \"tqLAYksZz1RX5RxV9reqWDsXyAHOP7IkhyUrLEkVy71a1D4oCQIrhixiRR1GlFi8zP0JOVcgNNGW\\\\\\n\",\n       \"bboOE5UgJ7leQFSCEKvWlRBUC2mWqZ1UQ96zsAyLIedcbZSsjCmw0sq7qu4r4orbxhKS1u4XC2fn\\\\\\n\",\n       \"tkwpsMpEPxktSF7NU2WVc1RYM7WVrsjx/qZjUlZFh8PhcDgcjpME+3/0m72GY0fDCSyHY0PgAd1G\\\\\\n\",\n       \"fmFBTsXOj1kIY8obaxPjASZ+8UeR63MeFm+HrcyGx2ekuOGMJXwnyA+sW0IE5Mc02VWWmo9VXU85\\\\\\n\",\n       \"hSxTckOJrIrM0u+qyA2sTytyeJmJDC4VYVHdV5XVJPUniAxr7YoRWSmVVUylFSMjBnMIq9S2GHGV\\\\\\n\",\n       \"6gdYtoSmbatYLhbaCIQkn2PblvujJcZsm4PEVNJSyayKOMsybXtVaFXtqu2Ltta2B6HFAe6xtuZl\\\\\\n\",\n       \"tCvauiKuQE5W67OEUawNU2RlyhKYOo9J0JSFMEZe2faPEVexwn3DEk2x9Y3AySuHw+FwOBwOx+kJ\\\\\\n\",\n       \"J7Acjg1jMyqr2DovWwKpjFj8mEhgK5nNPcKIH2oa3sbfMYxcF/t4gG2tZTy4ZtWVtZmBHOPl6n5U\\\\\\n\",\n       \"nTNRBeEZJxlMMTuZ2tGs+iZmJVyMMGKVVEw1FVPmWGVNjACLXXfeffB9lwv8F5LtK03KqyYCiuu8\\\\\\n\",\n       \"iBBduL/Y+WxLZBUe2nui+qqIS54ZMZvb1qzCUwvg/LYWQxLF6prbJWYPtQTkPOUd7+c+wH2It6UU\\\\\\n\",\n       \"V/adsoTm1NPTcplQZNnz5q1buPLK4XA4HA7HqUdWlqFs9RqOnQ0nsByOU6bSsmoZieyL2QR5QJkn\\\\\\n\",\n       \"bGNWdRO7F1wHZBMrr/IIUcGZVyCpRgnCCkqrQeT6rQR5EVuu6qxS7OC+6qe1QrKZuuFlHBwjjJgg\\\\\\n\",\n       \"gP1vFFmP5VrFFDR8XBOBFSOzFiEgYn2lqqcJEcm5aSmyyC5zu8MiyqQn2t3mavH3tevntes2g4vX\\\\\\n\",\n       \"hUhLbutJn4+3tSTqabRgfafaKWYHTBFa9pNJs9j1Rxu0DVryypKcqWePIUVm+R92DofD4XA4TkN4\\\\\\n\",\n       \"BpZjATiB5XBsCkz0zDtuKzMXWrWVJAgq3tek3OGBNEgErDOxYUkhKHRAYvE2XBNEFZNe1uaWIjWY\\\\\\n\",\n       \"sOP7sJ+27mwdWFXKIgqoGDFliahFMoxi5FaKnCgT98vPY5dtPXB9MamFzyb1FZbRTqy+YkUWFHLY\\\\\\n\",\n       \"x5ZStovyeoo4422QVU0Tl4u3dYz0m0dWpiyFTFal9qXUdjGFVUwJZvtPrH/EyOaNEJtb3T+PEHPs\\\\\\n\",\n       \"VLzpTW+SN7zhDXLgwAF58pOfLL/8y78sN9544yN9Ww6Hw+FwOBwzcALL4dg0FhkwZg3bFtkfIyMW\\\\\\n\",\n       \"UVxYkoTJDqilWOZi7WZMXNnnZRUYCAsmITAot6ognJsiNpjAsERNvsBgO6ZMYeJiUQIrpqBpUl3x\\\\\\n\",\n       \"fnuN2PfH2sfeP54hBlbbMbFpFXy2XXEOE1bcrpaUZaKrTCj2mLSaR04iU82SVltta0sW2bbF+SkC\\\\\\n\",\n       \"MtW2seNi+VYx8iq1faPFtk8TuSkb3B+Dk1dnG97xjnfILbfcIm9+85vlpptukje+8Y1y8803y+23\\\\\\n\",\n       \"3y4XXHDBI317DofD4TibMNKQ3HLr13DsaDiB5XCccjBJwMoXJo2YdGAFEwbHTBrhOqx2Atj2hQE1\\\\\\n\",\n       \"W8VYTcOkR8xSCPWVJS5S62whXERxlTeQGE2qHK5XS2AxiSENSpsYuZXKyIqRYDb/yF4zpray69wf\\\\\\n\",\n       \"5vUfSdQht4+1FKKtcQwsopaEsgQkW0etAgv2Q25bVmRZoupkt7XMac8Y0dVk/bOE1qJ9IkZyNpFr\\\\\\n\",\n       \"sfvmZ48RU7Zfx/qIw9GMX/iFX5CXvvSl8pKXvCSsK5H1h3/4h/LWt75VXvGKV3j1ORwOh+PUwS2E\\\\\\n\",\n       \"jgXgBJbDsSVwHlAMGGza/UxK2eOYhGIiy2YdiSECYvfCyyAe+kRegKDAtQYNhBZsgpbkYHIrRlRx\\\\\\n\",\n       \"RlJMfSURdQ9g7WW27m1dW1KDl5sUWHYfiKgUMZWyo8UILL6PUcN9LkJeWbC9lOvQrmMbk4foWzHb\\\\\\n\",\n       \"J/cPHMd2Q2sJXcQeGiOtrAJLjOqP2xbPwM8Tq8NYezYtW5JqsyTmINE/5n1/irxKEZsxdRbXU0p5\\\\\\n\",\n       \"1dS3+LscZwt6vZ7ceuut8spXvnK8Lc9zeeYznykf/OAHH9F7czgcDofD4YjBCSyHY8tIkVR2vz2G\\\\\\n\",\n       \"zwMpYAeZlsiy59hr80CfFVxilDZWSYXjeNZDu8/aAHnQje+35IUYYiRGbFjrYGxbql6tMoULtqUI\\\\\\n\",\n       \"rCa1lETsYvZ8tg3Gvsdus/vs/TMRsyiYDML1uJ5xTVunICSxjHOhoMIyq/T4k/tBk03QtntTW2N7\\\\\\n\",\n       \"KsE9RuKkttl2RjtJA4Fl+wDO4XfAnsvXTJFjTSTpvGfBsq2D2P4YSZUiulL16jibcP/998twOJQL\\\\\\n\",\n       \"L7xwaruu33bbbTPHr6+vhwIcPnz4lNynw+FwOM4WlDzV9Oav4djRcALL4TjpBBaOSVmjYmqreeSW\\\\\\n\",\n       \"tReyvYvJJ0tQ8DmWPLHZSvi0+3jGOT42psTha6fIq5gKq4m4iiGmWsH22PpGyYZFSA/+bqsOiu2L\\\\\\n\",\n       \"KcjsOrdbjPCJKWdAQAG2vu0+tB3fG45D2/HyqEFNF2tr/i67ziq/RWH7cooIirUfzmkilezMlDHS\\\\\\n\",\n       \"0pJdse9oIi65zXiffcZ5JFVq2dbXovXpcKTxute9Tl772td6FTkcDofj5MAthI4F4ASWw3HaAgNm\\\\\\n\",\n       \"HtyDWEAQOxMN2M8Ww5iFkNU3TDiwdQvnDRLKqhRZkTrWLvO98vfGiAxrhduohdBubyKlWFFjFTtN\\\\\\n\",\n       \"KpoYqcH3aIkLS05YEgrXjCFWF0wG2baNEaM2nwrfBwVUyhrIijosz2tz2SBRGbMQptRpXEespuNz\\\\\\n\",\n       \"tpO0HM3Jz0Idz7uWPY77AvfreX3E4dg8zjvvPCmKQu69996p7bp+0UUXzRyvVkMNfGcF1uWXX+5N\\\\\\n\",\n       \"4HA4HA6H45TBCSyHY1uAAeY8y5tE9luFE5BSY2EZJBYfE8s8wsAXxBUTT6yAYcKG7Ya8zM9ZzAkE\\\\\\n\",\n       \"50F3kyqnHyE1GItYM+02JgGaiIV55BPOidkELQHRRGzh++1+3m6fo0lRE6sTa8WL2TC5T8Xal1Va\\\\\\n\",\n       \"3J7c1qgbVm/hWBvobvsYgH477znsc8fWbVsCKdIoRVzatl6U0Iq1vb0ne7y9F4kQnvycMaUVbxtt\\\\\\n\",\n       \"QlllVV6Osw2dTkduuOEGef/73y/Pec5zwrbRaBTWX/ayl80c3+12Q3E4HA6H46RgtA1/l/gshDse\\\\\\n\",\n       \"TmA5HNuGGPmUOs7utyqZlHVQzD4mzawKK0ZiWRLM2gsHkVkQ+T6wzHlY2MfWNV7m+2XSzd5zisDa\\\\\\n\",\n       \"COYRWDECyhIJ80iLFHllt6UUNnadP+09p57RqrCs4g71aesXBBPvx/XKhN2Q98Ush0yCcV9sUtel\\\\\\n\",\n       \"yNyNIEUS2j4QI5R4X9OskZaYskQXf7/tD/a7U/3H3rd9ltQ+Ww+2bpy8csyHKqpe9KIXyVOf+lS5\\\\\\n\",\n       \"8cYb5Y1vfKMcO3ZsPCuhw+FwOBynDOWoKlu9hmNHwwksh2NbMW9gniK57HmW5MKANEYu8fVYScMD\\\\\\n\",\n       \"dqugsUQW70speJjAsgProkFVZjOZYkSbJcU2g3IDqhzAkheygNpGNriPrxm7nxQB0YTYP85ch3w+\\\\\\n\",\n       \"trE6yra1JU3zxL4mdV2MsOL75GvG+sBGMZpDYNl6tpbQpn2LEFi2PS0Jivvhe4z1hxRJZZ9BEuRV\\\\\\n\",\n       \"uUHyatFjHGcDnve858nBgwflVa96lRw4cECuv/56ec973jMT7O5wOBwOh8NxOsAJLIfjtCG6MKjM\\\\\\n\",\n       \"G47hTCxLZHE2lUTUVXnkOjxAZkUWkxxsAbNkBStxmIzgfYNEHlLMWob1zZAaMTIoRhKk1C8gJ7At\\\\\\n\",\n       \"RWLwd8XIkJQlbB7JAvC9pRCroxiZie3cLrgnbpP/v727AZKiOP84/tyhvMmLvCPvSFBAkCgEAmKp\\\\\\n\",\n       \"gQiGokJilPIVxZBogYKgUZEEE1NiJZKALxExES0NhSGGJCpBkQjGF0QRU4IBg4JYUV5MFNFUCbmb\\\\\\n\",\n       \"f3X/a66atntm9uVuZ3a/n6qD29mZ2dntuZnd3z7dUxMzTplrjDNxXHkwbGuzjaPa2nysXLheI18g\\\\\\n\",\n       \"FBVYucIoV0WW+Zj5BJe+fSSqCqs2JnTKp9sg8EWqu6CryyAAAA2KQdyRAAEWUHRmpUrcfJKgO2HU\\\\\\n\",\n       \"mFjm/HZFlblcuE1mkBBuo939zOxq5npsu4uivf12xY/5+Ob94X1hmGB3hTQf2xVo+apPfB/8XQGB\\\\\\n\",\n       \"qxrLvB3e7wu3fNVbvqoaO2SLChx8080KOHu6L5D0tZ8ZbobbZlZdhesJt90VQJnsx7NDLLNrZ7Vj\\\\\\n\",\n       \"Wq5tbU93hYN2m8RV4pm/24GUuR+Ywab9OL7g1N4uV9WV6zm55knyGrn4qv4AAABKiDGwkAABFlAv\\\\\\n\",\n       \"wg+TcZVEuQRUrmXC+Xxhhh0+2Ou2QyU76KrxVFnZA3ab67U/SLvGwwp/dwUgrtfMF2q4ppnBhKvy\\\\\\n\",\n       \"yZzmqsTxhVxR80RVz7jG40oaJvja2rWMXc1k71tmRZ75u9n11HyeZluElVXmel0BWficXNVXdnsH\\\\\\n\",\n       \"RW5rc9vD7TDbxG6HqHZ0BZT2/uMLMO3t8gWaSaZJngGXT9KQCwAAAEgfAiyg3oShQJIQy1WFFYYI\\\\\\n\",\n       \"4W071DLvD+8Lp9tXJ7SXN7uMhdvqCpNcXc7MEMqs5ArXbz9v8wOza5wrc16zaitXrg/2rmoXO1yI\\\\\\n\",\n       \"6+plByK+9fjGYjK3Ka5bWJLnGMVVvWYvF7ZR2OZhu5rtbC7jGrA9l7a2uxDWd1uH22r+b/7uCh19\\\\\\n\",\n       \"lVOuSq2oLqO+YCz83d4Wc3pcIGcvZ88Xx7V+AACAlKALIRIgwALqlRkSRLEDJnN518DcdmWVWXFl\\\\\\n\",\n       \"d8uzQypzEG4zpLADifDDuBk6mOswH9MMNsRz9Tmzi1vSsZDiAg5fABTVVS/JmEPmOEkSU3GTJDhx\\\\\\n\",\n       \"VczY6y2Er5LJ3A/EEyTWGIGmuQ+EwaoZsIZXkfQFkK7xruw2rO+2DqfZy0RVxfmqscz1uwIw87br\\\\\\n\",\n       \"8XwVYZLgPvN/e/vjXhMb3QYBAEDK6bc1Bb4nptC87BFgAfUu/IBbyNX1XONdRXU5DG+bjx3V1ciu\\\\\\n\",\n       \"wHIFX+FjhqGHWY1lfpB2VZOF033dIl3dIF3rcr02LlFd9eJCDTusMudzBVhJggx7m4sZYrm6l/ra\\\\\\n\",\n       \"QDyD94fbabeJK4wKq5BcbWNfvTD83d73fc81n/aOqsaKqphzhUfmsq5ug+Z03z7g2898f3++277Q\\\\\\n\",\n       \"M1eEVwAAACgPBFhAgwg/zObbnTBuTKzAGmsqasyk2phKGPsDv+uqh2Y1lWu7fEGK7zmYj1MMcQGW\\\\\\n\",\n       \"5BBE5TKvL8jwbYtP3P2+LqeSIDQywyfzd3N+e7rd1na3Qdfv5v9xoU0hXAGhr9ueK5B0tXU4Paqd\\\\\\n\",\n       \"kwRVrn3OtT/YXAFn1Dw+hQSjAAAADYguhEiAAAtITXdCO4Cw7wscA21LRLdB835XV0RzHdUJKrDE\\\\\\n\",\n       \"M1ZSlWO6+XjmQPCh6gYOsMwAIrydtCJLcqzocc2XSwBhb6uLb9wpMzCyr+5n/u5qa1e72vuOOMZF\\\\\\n\",\n       \"s+e1129XfJnLNURbS47dPH3jZgU5jnNlLxe1T/iCptoCgikqrwAAQIbU2mOL5rsOlDMCLCB1fNVL\\\\\\n\",\n       \"EtEV0a6CsbsNmoNmi9X9r8pzdTqTK6AwH9M13Z5mrsu87Rrjq1B2lYx4brtCLdeycVVWURVf5vqL\\\\\\n\",\n       \"FTK4Ts52cGlON5exQ1S7bcz5XPtg4NkHfEGovX5fd9F8udrA1/Z228VNd63LFXBJgkArKrySIodX\\\\\\n\",\n       \"AAAAQPkhwAIanP2hP2q+kN1lsCpmPl8IZQZWrm0KlzODjKguaWYgYYYndkBmr8cM6cxKIdfzTSLq\\\\\\n\",\n       \"A70rnDDvswOQqHmSVtG4Hsu1nUmCjDhJ2twORe2QKq5bqVmFZ7a7b5B+c91RXQnt55BUVPWauc2u\\\\\\n\",\n       \"19cOLpOEk0n2h1z/t5ePen657hsEXAAAIGPoQogECLCABhV+YG2UYL6k3QntZVxVUeH9rrDDDJui\\\\\\n\",\n       \"ggzXfeY6qxzVXlFd1cLH9smlm1ku1Sp2IJF0DCV7WVfQ5VpXku10zZuU+RrHddWzAy1fWGXfZ+9b\\\\\\n\",\n       \"5n12d0JfNZivosu3HT5Rr2FcJZxvfwjvcy3nqsByhVJxbR8VjEY9B9/6olA+DwAAMoYACwkQYAEl\\\\\\n\",\n       \"YV7FL44dHoRcXb3seQNHwBB4xjgyK2R8VV3hbVcA8j/HNPu2PR6WuW2+55cPX9e82jxuRwVWSYOw\\\\\\n\",\n       \"+uwGZj+GuT/4uhr62sNe1q6gMsc1cw38HtXWkiAcLWVb28FlXKVe0uV8g7QnCbPi7nPNS3gFAACA\\\\\\n\",\n       \"8kSABZSMr5LKN69EjElk3xcXQNm3zS5irm5l9jhHvkoruxtZ+DhxoYrvA3qS1yZpxYorMIirkvGN\\\\\\n\",\n       \"keWb37c9UQFEMcIsu43s9fkq78RxhUHz/iBmnXFtbY67FrWcuT1RcqlOCnJo67jgKardkwac+QRU\\\\\\n\",\n       \"uewbBFcAACDDaovwnlivA+WMAAsomaBIY2LZ6/DN5wog7A/Y9iDbrnGLXAPJBwnHyjIfO8nYSHEf\\\\\\n\",\n       \"yuNOUkkrYMzHSxJ8Ra3Ht+6oMKMYAZZvf3JV1iUZSD1cjx10So5tHbKr/GyusMu1TXH3Ja1uihpM\\\\\\n\",\n       \"PWr8LN964wIt3/bHhW9JFCMEBQAAKJ0gqNU/ha4D5Y0ACyg5swtfnKiwy+7yFc7vq8BxDagerscX\\\\\\n\",\n       \"OoS/u7qQhet3BVy+wCtcZ66DeCcRN95UVIWNuY644CnXMYvyvfJgrt0IfVd39FXCVccESnZgFT73\\\\\\n\",\n       \"qAo91/rqo63jqpjiug/65ouqynLN42vbXIJO13qjRO2DAAAAQPkgwAJSIQwCitGd0O4i5gswzA++\\\\\\n\",\n       \"rm6Frq5edtBmdj2MG2vJt8321eqKwTcIe9Q0VwiQNOiIC8HiHj9qehzffuALqOwQM0lwGbV9ruDL\\\\\\n\",\n       \"t12uQeALFT6fQtu6GONX+V4vO+QqVjVVfYShAAAAJRrEvdAugGodKGsEWECq+MadsvlCKXueqAHY\\\\\\n\",\n       \"fVxdEc1lzYDM/rDtqvSK2kZ724oRYsUFALkOrJ5LOOKanrS7YH2fcKOCTHu6q11dgaZrXokIqcyg\\\\\\n\",\n       \"pyHaOq7tihE4+gKsJLdd0+P2A7oLAgCAMqTDJwIsRCPAAlLDFQQlmT8MEVzjYtnr8j2Gq3LL95hx\\\\\\n\",\n       \"wYdvkO64CrOgwMqcqFCi0K5bSQMKSdidq5hhlWtdVQm2q1GC8CpqnLK4Kx3GvcbmuvNVW0CFUlyb\\\\\\n\",\n       \"Ru1PUd32giKGabmsBwAAAChvBFhA2XQpFE+I5atwStKVrFHE4/i6F/oClcDoXuZSaEVOVKjgmleK\\\\\\n\",\n       \"VImVJChp6MDBV0Hl6+rn624a3h/VHdEnqq3N9RQaYCV5baPaJpfuoDU5tm++FWI+dBkEAABlqrZW\\\\\\n\",\n       \"pKrAcT0ZxL3sEWABqRV+uE7atS78MOybP67KylWxZY+LZM5niqu6KiRkyFWulSz5dAWM62aW63Mp\\\\\\n\",\n       \"dBDuQoJOV4iTb1vbV7GMEtX9sD5etyTVWK7buVZaJdmuXJ933L4KAACQcXQhRAIEWEBZdStMuow9\\\\\\n\",\n       \"T9wHY9eA3vlsT9T6pchXU0samuUzLlGSwCrptGLwrbcqz/bOt61zHWMtyEBbm9Ny2SeiHofwCgAA\\\\\\n\",\n       \"AMgVARaQeq7KqCTLmGGCb3ysqPt83Q3juhfmGkolrdDKVS4BSVw3r2KNa1WqACtq3iTjZZld/Qpp\\\\\\n\",\n       \"62JeadJWjO6jSdaTtIrLd1+u+wCVVwAAoPwFtbUSFNiFMKALYdkjwAIywRw/Kum4QUmCCl83wSTL\\\\\\n\",\n       \"10QEWuHyUcFKfVRdFSvMyjXEiBobq5R8XQNNUYFU1HriAk5zXfVRdVWKtrbXmzTYzCe0KvW+AwAA\\\\\\n\",\n       \"0IDoQogECLCAzAnyvGJfkkouX1ezqKvQhaLGRYp7rPrmCpxy7cYVdds1PZ/nl+syuVY0hWOq2csn\\\\\\n\",\n       \"7faXa2CVZN0NJWmbx3X9LEZVXxSCKwAAAMCFAAvInKCI41Al7VroCq/sxy8kECp217JidufLJfgo\\\\\\n\",\n       \"VpfFQsebShpS+uaNq8oKctyutLR30rG/8m2fYgSYaQn8AAAAGlBtIFIVFKGKC+WMAAvIrNocuhPm\\\\\\n\",\n       \"M6ZWbUQVle+Dvqv6JsmJJLxaYbHkGwTkGkIVcpIs9ASbT3jlWocdWsZdwTJu3iTjYBUzwIq6umAp\\\\\\n\",\n       \"2jrfdqXbIAAAqGA6fCqwEp0Aq+wRYAGZVhsxBlUuH8rjuvolCTnM+W1VDfzhPWmlTS7L5bt9DV1V\\\\\\n\",\n       \"k0vYlGRZX7AYV4UV9RiluNpkWoNMeyw5AAAAAC4EWEDZiKqYSsLXfTBqPnv+QiuSilGZU6xKmUIq\\\\\\n\",\n       \"aYqxnmLKJ1T0LRvXlTCqa2NW2rq+9g1z+TTsFwAAAOkQ1AYSFNiFMKACq+wVs88OgJIKPxTn06Uq\\\\\\n\",\n       \"XNbsGhg31o+9TNL1+36KIcnj5LvN+T5mWuS7nfXR1g3d5rmuI24+e5lct7c2hfsHAABACQW1xfnJ\\\\\\n\",\n       \"0T333CO9evWSpk2byvDhw2Xjxo2R869YsUL69eun5x80aJCsWrWqgCeNXBFgAWUp33GBJM+Qodbx\\\\\\n\",\n       \"k+8H+0J+8nnOvsdNumxaA6v62vb6ft3rs72L2db5CB8fAAAApfboo4/KrFmzZN68efLaa6/J4MGD\\\\\\n\",\n       \"ZezYsbJv3z7n/C+++KJccMEFcsUVV8jmzZtl4sSJ+mfLli0Nvu2VigALKFvmh/VirCPXwCAuoGio\\\\\\n\",\n       \"sKeYIUghr0fa1WdbN1RoE6S0rctxfwEAAChyF8Ii/OTiF7/4hUydOlUuv/xyGTBggCxevFiaN28u\\\\\\n\",\n       \"DzzwgHP+RYsWybhx4+T666+X/v37y6233iqnnnqq3H333UV6FRCHAAsoW/XVbatY6wsa6CcNzzWf\\\\\\n\",\n       \"x2rIbnhJt0nKuL3r++8kaxV6AAAA5duF8NChQ7Jp0yYZM2ZM3bTq6mp9+6WXXnIuo6ab8yuqYss3\\\\\\n\",\n       \"P4qPQdyROuHgezU1h0q9KWUo3wHeG2p9adOQoUNtyr+HoK1zQ2BVbOE5gQFa0yFsh08+zW632Orm\\\\\\n\",\n       \"n5R6EwAg0z755JOinZv/J4cLftut12FsV6hJkyb6x/Thhx9KTU2NdOrU6Yjp6va2bduc69+zZ49z\\\\\\n\",\n       \"fjUdDYMAC6nz73//W/+/bduDpd4UAEAKzxGtW7cu9WZUvIMHD+rXoOepuzL8WrAfAUCxzgn5npsb\\\\\\n\",\n       \"N24snTt3luf3FGcw9BYtWkj37t2PmKbGuLrllluKsn6UFgEWUqdt27b6/927d1fshxT1rYE68L73\\\\\\n\",\n       \"3nvSqlUrqUS8BrwG7Av8PZgOHDggPXr0qDtHoLS6dOmiz1EtW7aUqqriV+KWwzkg68+B7S892oDX\\\\\\n\",\n       \"P+37j6q8UuGVOifkS13Nb+fOnbpLX7G2yT4v2dVXSvv27aVRo0ayd+/eI6ar2ypQc1HTc5kfxUeA\\\\\\n\",\n       \"hdRRfY8VFV5l8Q1fMannz2vAa8B+wN8Dx4QvniNQ+nbo1q1bvT9OORz/sv4c2P7Sow14/dO8/xSj\\\\\\n\",\n       \"4ECFWOqnIanKryFDhsjatWv1lQSV2tpafXv69OnOZUaMGKHvnzlzZt20NWvW6OloGARYAAAAAACg\\\\\\n\",\n       \"osyaNUsmT54sQ4cOlWHDhsnChQvls88+01clVC699FLp2rWrzJ8/X9+eMWOGnHHGGbJgwQIZP368\\\\\\n\",\n       \"LF++XF599VVZsmRJiZ9J5SDAAgAAAAAAFWXSpEmyf/9++dGPfqQHYv/yl78sq1evrhuoXQ1pY1Z+\\\\\\n\",\n       \"jxw5UpYtWyZz586VOXPmSN++feWPf/yjDBw4sITPorIQYCF1VB9lNdCeq69ypeA14DVgP+DvgWMC\\\\\\n\",\n       \"x8VKVg7nwaw/B7a/9GgDXv9K3n8aiuou6OsyuG7dui9MO++88/QPSqMq4HrUAAAAAAAASDFGQgUA\\\\\\n\",\n       \"AAAAAECqEWABAAAAAAAg1QiwAAAAAAAAkGoEWAAAAAAAAEg1Aiyk3pNPPinDhw+XZs2aSZs2bWTi\\\\\\n\",\n       \"xIlSiT7//HN9adeqqip5/fXXpVLs2rVLrrjiCundu7feB/r06aOvqHLo0CEpd/fcc4/06tVLmjZt\\\\\\n\",\n       \"qv8GNm7cKJVi/vz58pWvfEVatmwpHTt21H/327dvl0p2++2367//mTNnSqX517/+JRdffLG0a9dO\\\\\\n\",\n       \"HwcGDRokr776aqk3C/Uoy8e/5557TiZMmCBdunTRf7PqEutZkvXj77333isnn3yytGrVSv+MGDFC\\\\\\n\",\n       \"/vKXv0hWZfHYf8stt+htNn/69esnWZLl8446dtqvv/qZNm1aqTcNKBgBFlLtsccek0suuUQuv/xy\\\\\\n\",\n       \"+fvf/y4vvPCCXHjhhVKJfvCDH+g3w5Vm27ZtUltbK/fdd59s3bpVfvnLX8rixYtlzpw5Us4effRR\\\\\\n\",\n       \"mTVrlg7rXnvtNRk8eLCMHTtW9u3bJ5Vg/fr1+o3Whg0bZM2aNXL48GE5++yz5bPPPpNK9Morr+i/\\\\\\n\",\n       \"AfWhrNJ89NFHctppp8nRRx+tP4S++eabsmDBAv2FBspT1o9/6jiltlmFcFmU9eNvt27ddOizadMm\\\\\\n\",\n       \"HTh87Wtfk29+85v6PUTWZPnYf9JJJ8kHH3xQ9/P8889LVmT9vKP2G/O1V3/HynnnnVfqTQMKFwAp\\\\\\n\",\n       \"dfjw4aBr167Br3/966DSrVq1KujXr1+wdevWQP3Zbt68OahkP/vZz4LevXsH5WzYsGHBtGnT6m7X\\\\\\n\",\n       \"1NQEXbp0CebPnx9Uon379ul9f/369UGlOXjwYNC3b99gzZo1wRlnnBHMmDEjqCQ33HBDMGrUqFJv\\\\\\n\",\n       \"BhpQOR3/1HFr5cqVQZaVw/G3TZs2mXs/meVj/7x584LBgwcHWVVu5x217/Tp0yeora0t9aYABaMC\\\\\\n\",\n       \"C6mlvnVV5bvV1dVyyimnyHHHHSfnnHOObNmyRSrJ3r17ZerUqfLwww9L8+bNS705qXDgwAFp27at\\\\\\n\",\n       \"lCvVPVJ9czxmzJi6aervQN1+6aWXpFLbXCnndvdRlRDjx48/Yn+oJH/+859l6NCh+ptj1Z1JnQ/u\\\\\\n\",\n       \"v//+Um8W6gnHv/TJ8vG3pqZGli9frqvHVFfCLMn6sf+f//yn7jlw/PHHy0UXXSS7d++WrCin8446\\\\\\n\",\n       \"pj7yyCMyZcoU3Y0QyDoCLKTWO++8U9ePfu7cufLEE0/o0t0zzzxT/vOf/0glUF/eXnbZZXLllVfq\\\\\\n\",\n       \"EylEduzYIXfddZd8//vfL9uX48MPP9Rvujt16nTEdHV7z549UmlUF1I19ocq5x84cKBUEvXBS4X5\\\\\\n\",\n       \"akyaSj4XqDFt+vbtK0899ZRcddVVcs0118hDDz1U6k1DPeD4ly5ZPf6+8cYb0qJFC2nSpIl+D7Vy\\\\\\n\",\n       \"5UoZMGCAZEXWj/1q3LoHH3xQVq9erY/fO3fulNNPP10OHjwoWVBO5x01Bt/HH3+sP08A5YAACw3u\\\\\\n\",\n       \"xhtvdA4saP6E4x4pN998s5x77rkyZMgQWbp0qb5/xYoVFfEaqKBGnexvuukmKTdJXwOTqsgbN26c\\\\\\n\",\n       \"/kZMVaWhMqhvoVXlpXpDX0nee+89mTFjhvz2t7/VA1lXKnUuOPXUU+W2227T34J/73vf03//aiw8\\\\\\n\",\n       \"APUrq8ffE088UV/w5uWXX9bhw+TJk/U4RllQDsd+1WNCvVdTY3ep8etWrVqlQ5Tf/e53kgXldN75\\\\\\n\",\n       \"zW9+o9ujEsfRRXk6qtQbgMoze/bs2G8BVLmxGnRQMb8xU9+kqfuyVIZcyGvw17/+VXcZU8/bpKqx\\\\\\n\",\n       \"VDl2Fr8JyvU1CL3//vty1llnyciRI2XJkiVSztq3by+NGjXS3UdN6nbnzp2lkkyfPl1XX6qreqmB\\\\\\n\",\n       \"eSuJ6kaqBq1Wb6JDqjJPvRZ33323vjKp2k/Kneo+bldO9O/fX1/kA+WH4196ZPn427hxY/nSl76k\\\\\\n\",\n       \"f1dfgKpBrRctWqQHRE+7cjz2H3vssXLCCSfoKvosKJfzzrvvvivPPPOM/OEPfyj1pgBFQ4CFBteh\\\\\\n\",\n       \"Qwf9E0e94VDBjbp086hRo/Q0dSWcXbt2Sc+ePaUSXoM777xTfvrTnx4R4qhvstQVmlR5diW8BmHl\\\\\\n\",\n       \"lQqvwio8NR5UOVNvvNVzXbt2rb58efhtoLqtPlBUSvfZq6++Wnf7WLdunfTu3VsqzejRo3U3GJO6\\\\\\n\",\n       \"Iqu6FPkNN9yQuQ8w+VJdl9R5wPTWW29l/jwAN45/pVeOx191DlXBTxaU47H/008/lbfffltfWTwL\\\\\\n\",\n       \"yuW8o94zqzG81FhqQLkgwEJqtWrVSo9boC6j3b17d33S+PnPf15Rl4Ht0aPHEbfVeA5Knz59Mvdt\\\\\\n\",\n       \"aL5UeKXGPVPtf8cdd8j+/fvr7ivnaiR1CXnV5UFV2w0bNkwWLlyoB6FVb2IrpdvKsmXL5E9/+pO0\\\\\\n\",\n       \"bNmybuyv1q1bS7NmzaQSqOdtjzlzzDHHSLt27TI1Fk2hrr32Wl15qbpynH/++bJx40ZdhVnulZiV\\\\\\n\",\n       \"LOvHP/Vh3aw0UeP/qO5sahB0+7yeRlk//qphF1SXKfVaq2EY1HNRQZwayygLyuHYf91118mECRP0\\\\\\n\",\n       \"ezf15at6L6+CtwsuuECyoBzOOyq0VQGWOpYedRQf+VFGCr+QIVB/Dh06FMyePTvo2LFj0LJly2DM\\\\\\n\",\n       \"mDHBli1bKvYl37lzp76U9ebNm4NKsXTpUv2cXT/l7q677gp69OgRNG7cWF9WfsOGDUGl8LW52h8q\\\\\\n\",\n       \"WdYupV4sjz/+eDBw4MCgSZMmQb9+/YIlS5aUepNQz7J8/Hv22Wedx6/JkycHWZD14++UKVOCnj17\\\\\\n\",\n       \"6n2nQ4cOwejRo4Onn346yLKsHfsnTZoUHHfccboNunbtqm/v2LEjyJKsn3eeeuop/Xe7ffv2Um8K\\\\\\n\",\n       \"UFRV6p9Sh2gAAAAAAACAT3kPJAMAAAAAAIDMI8ACAAAAAABAqhFgAQAAAAAAINUIsAAAAAAAAJBq\\\\\\n\",\n       \"BFgAAAAAAABINQIsAAAAAAAApBoBFgAAAAAAAFKNAAsAAABAWVm3bp1UVVXJxx9/XOpNAQAUCQEW\\\\\\n\",\n       \"AKTYBx98IBdeeKGccMIJUl1dLTNnziz1JgEAkDpnnnnmEefIkSNH6nNo69atS7ZNhGgAUFwEWACQ\\\\\\n\",\n       \"Yp9//rl06NBB5s6dK4MHDy715gAAkAmNGzeWzp076yosAEB5IMACgBLav3+/foN922231U178cUX\\\\\\n\",\n       \"9RvvtWvXSq9evWTRokVy6aWXlvRbZAAA0uqyyy6T9evX6/OlCqzUz4MPPnhEF0J1+9hjj5UnnnhC\\\\\\n\",\n       \"TjzxRGnevLl85zvfkf/+97/y0EMP6fNtmzZt5JprrpGampojvki67rrrpGvXrnLMMcfI8OHDdWVV\\\\\\n\",\n       \"6N1335UJEyboZdX9J510kqxatUp27dolZ511lp5H3ae2RW2nUltbK/Pnz5fevXtLs2bN9BdUv//9\\\\\\n\",\n       \"779QufXkk0/KySefLE2bNpWvfvWrsmXLlgZ8VQEgfY4q9QYAQCVT1VUPPPCATJw4Uc4++2z9pvqS\\\\\\n\",\n       \"Sy6R6dOny+jRo0u9eQAApJ4Krt566y0ZOHCg/OQnP9HTtm7d+oX5VFh15513yvLly+XgwYPy7W9/\\\\\\n\",\n       \"W771rW/pYEuFTu+8846ce+65ctppp8mkSZP0Mup8/Oabb+plunTpIitXrpRx48bJG2+8IX379pVp\\\\\\n\",\n       \"06bJoUOH5LnnntMBlpq3RYsW0r17d3nsscf0+rZv3y6tWrXSYZWiwqtHHnlEFi9erNehlr344ov1\\\\\\n\",\n       \"e4Izzjijbnuvv/56/dzUF11z5szRQZl6nkcffXSDvbYAkCYEWABQYt/4xjdk6tSpctFFF8nQoUP1\\\\\\n\",\n       \"G2D15hYAAMRTFcqqcllVVamwR9m2bdsX5jt8+LDce++90qdPH31bVWA9/PDDsnfvXh06DRgwQFdN\\\\\\n\",\n       \"PfvsszrA2r17tyxdulT/r8IrRVVjrV69Wk9X1dPqPhVSDRo0SN9//PHH1z1e27Zt9f8dO3bUIVlY\\\\\\n\",\n       \"0aWWe+aZZ2TEiBF1yzz//PNy3333HRFgzZs3T77+9a/r31WVWLdu3XSAdv7557NbAKhIBFgAkAJ3\\\\\\n\",\n       \"3HGH/uZ4xYoVsmnTJmnSpEmpNwkAgLKiAq4wvFI6deqkuw6q8Mqctm/fPv27qrJS3QnVhVRMKoRq\\\\\\n\",\n       \"166d/l11Obzqqqvk6aefljFjxugwS3X789mxY4euBAuDqZCq4jrllFOOmBYGXGEYpqq0//GPf+T9\\\\\\n\",\n       \"/AEg6wiwACAF3n77bXn//ff1uBhq3Izwm1wAAFAcdtc7Nc6Ua5o6FyuffvqpNGrUSH+xpP43haHX\\\\\\n\",\n       \"d7/7XRk7dqwer0qFWKqCesGCBXL11Vc7t0GtU1Hzq3G1THx5BQDRCLAAoMTUt65q7AvVXUF9u6re\\\\\\n\",\n       \"DKtvfVWXAwAAEE91ITQHXy8GVRGl1qkqsk4//XTvfGq8qyuvvFL/3HTTTXL//ffrAEttk2Jul+qm\\\\\\n\",\n       \"qIIq1fXQ7C7osmHDBunRo4f+/aOPPtLjX/Xv379ozw8AsoYACwBK7Oabb5YDBw7ogWXVN7pqINkp\\\\\\n\",\n       \"U6boKyUpr7/+et23tuqqheq2elOs3gQDAADRXQFffvllXcWszqVhFVUhVNdBNT6luhKwqqpSgZY6\\\\\\n\",\n       \"D6urBKtuguPHj5eZM2fKOeeco+dVIZMaPysMmXr27KkrutT5XI13qQZxb9mypR5H69prr9XbOGrU\\\\\\n\",\n       \"KP0e4IUXXtADvU+ePLnu8dWA9KqrourWqN4rtG/fXl/0BQAqVXWpNwAAKpm6VPbChQv1ILLqjWt1\\\\\\n\",\n       \"dbX+/W9/+5seaFZRb5jVj+rCsGzZMv27eiMMAAD+nwqFVDc/9eWOupqfqnAqBjVYuwqwZs+erauk\\\\\\n\",\n       \"VYD0yiuv1FVGqeoqdSVCFVqpqxOqIOtXv/qVvk91Efzxj38sN954ow6h1BUNlVtvvVV++MMf6u6G\\\\\\n\",\n       \"4XKqS2Hv3r2PeOzbb79dZsyYIUOGDJE9e/bI448/XlfVBQCVqCoIgqDUGwEAAAAA+P8vt9TVEFVF\\\\\\n\",\n       \"V3j1QgAAFVgAAAAAAABIOboQAgAAAAAAINXoQggAAAAAAIBUowILAAAAAAAAqUaABQAAAAAAgFQj\\\\\\n\",\n       \"wAIAAAAAAECqEWABAAAAAAAg1QiwAAAAAAAAkGoEWAAAAAAAAEg1AiwAAAAAAACkGgEWAAAAAAAA\\\\\\n\",\n       \"Uo0ACwAAAAAAAKlGgAUAAAAAAIBUI8ACAAAAAACApNn/AbOlcu25YIoOAAAAAElFTkSuQmCC\\\\\\n\",\n       \"\\\"\\n\",\n       \"  frames[1] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQABAABJREFUeJzsnQeYJFXV/k9Vh5nZDMsuS845i4IEESWpGFEU5ZMkmBAJ+hdB\\\\\\n\",\n       \"PxBQETGgoiQRUTAhIHygKKKACJIzAiIZdtklLBsndHf9n/dWn57TZ+6trp6wOztzfvvUTuVw61Z1\\\\\\n\",\n       \"1VvvOTdKkiQhwzAMwzAMwzAMwzAMwxilxMt7BwzDMAzDMAzDMAzDMAwjCxOwDMMwDMMwDMMwDMMw\\\\\\n\",\n       \"jFGNCViGYRiGYRiGYRiGYRjGqMYELMMwDMMwDMMwDMMwDGNUYwKWYRiGYRiGYRiGYRiGMaoxAcsw\\\\\\n\",\n       \"DMMwDMMwDMMwDMMY1ZiAZRiGYRiGYRiGYRiGYYxqTMAyDMMwDMMwDMMwDMMwRjUmYBmGYRiGYRiG\\\\\\n\",\n       \"YRiGYRijGhOwDMMYVRxyyCG0++67L+/dMJYhP//5zymKojFb5k8//bQ7PhzncJcZ1j3c8Lrvuusu\\\\\\n\",\n       \"WlbX/LrrrrtcynE01W3M97WvfW1Q26lUKvSlL32J1lprLYrjmN7//vfTaAfHOpav++UBXyM33ngj\\\\\\n\",\n       \"jRaGUq9Hw75/7nOfo9HMokWL6PDDD6dZs2a5/T3mmGNorILfCfxeGIYxvjEByzDGMbfeeqt7sJw/\\\\\\n\",\n       \"f/6wrfO3v/0t/c///A9ttNFG7mFqpMSoRx55xO37SLzAL2uWLFnijmUoLx0jcS7zcscdd9BnP/tZ\\\\\\n\",\n       \"2n777alUKtlLqTFmWFHq9s9+9jM688wz6UMf+hBdfPHFdOyxx9J45Sc/+cmQRM4XX3zR3Uvvu+8+\\\\\\n\",\n       \"WtbMnj2bvvzlL9Pb3vY2mjx58qgTo0L88Y9/HHUi1Wjcp5Hgm9/8pqvvn/nMZ+iXv/wlffzjH1/e\\\\\\n\",\n       \"u2QYhjGimIBlGOMYiB6nnHLKsIoe55xzDl111VXOCbDSSivRSAEBC/s+VgQsHMtQBazhPpftvCj8\\\\\\n\",\n       \"9Kc/dS9b66+//jLfvrFic8EFF9Bjjz1Go5FlWbeXLl1KX/3qVwe17N/+9jdaY4016Pvf/757gX3r\\\\\\n\",\n       \"W99K45XhELBwL10eAhaugzPOOINeeOEF2mqrrWhFAdcJymy46/VI7dNYAtf+m9/8Zjr55JPdx0OI\\\\\\n\",\n       \"7YZhGGMZE7AMwxhW8AXw9ddfdw9Vq6+++qgo3SRJ3EO0MTLgyy/OOULO9tprLytmoy3gbOro6KDx\\\\\\n\",\n       \"Xrc7OzupWCwOatm5c+fStGnTlsk9s7u7m2q12rBty+gH4sMrr7xCjz/+OB133HFjomiGUq+NZX/t\\\\\\n\",\n       \"Ixy5t7d3uRT94sWLl8t2DcNYsTAByzDGKbDW/7//9/9c/3rrreccBsORU4dzsIwk+Lq+//77u36E\\\\\\n\",\n       \"WvC+s4MJeRLe/e5305///Gd64xvfSF1dXXTeeedl5tDx5enAV/DDDjuMVl11VfeCvcUWW7hQnXbB\\\\\\n\",\n       \"y+8+++xDq6yyitsXlDfWC7BPM2bMcP34WszHwvvywAMPuJwPcH/gRQB5LrAsXnLaOZeXXHKJeznC\\\\\\n\",\n       \"9ldeeWU64IAD6LnnnqPhAOWD9S4L8OJ81llnuXOB8sC2P/WpT9Frr73WNB/XgVtuuYV22GEHNy/K\\\\\\n\",\n       \"8Be/+MWAdcK1hpArLIPzvOaaa9JBBx1EL7/8ctNLwic+8Qm3Paxrm222caFavnXhfE2dOtW9VBx8\\\\\\n\",\n       \"8MFBV9yjjz7qQr5wPrBO1NWrr756wHwPP/wwvf3tb3dljH37+te/PmgB4d5776V3vvOdNGXKFJo0\\\\\\n\",\n       \"aRLtscce9K9//SvoDETZTp8+3c2PMtHlnFW3h5IDK0854pzg2kGYMgQX5oknnqCJEyfSRz7yEVqR\\\\\\n\",\n       \"6ra+B3GOKBwPygLlgPI49NBD3bkBfE/7+9//7uqJvhe2e73oeybWg/X95je/cS4auLwmTJhACxYs\\\\\\n\",\n       \"cMvdfvvt9I53vMPtF8bD+fXPf/5zwLHhOnzTm97k9mGDDTZw6x4Mc+bMcceP6wDX6mqrrUbve9/7\\\\\\n\",\n       \"Gvc6HAfK4aabbmqUBYexv/rqq/TFL37ROZtQ91GncS3cf//9jfXjeLGfANvhdcjfjLzHPBgQNoj7\\\\\\n\",\n       \"wbIATul9993XfWhCWeK8nHbaaVStVgfMi2N+17ve5VzVuLa23npr+sEPfuCmoW7++Mc/dv1cXjLU\\\\\\n\",\n       \"1vfbmuc+xPnjULYQ83CtY9sf+MAHaN68eZnH1mqfvvOd79DOO+/s7m2o6/ht/P3vf5+r3HD/xTPO\\\\\\n\",\n       \"j370o8a4P/3pT/SWt7zF7R/OIcoV9VDvE44VzxXIUYd+HBPqpC5zhJLi96Gvry+4H3xtPvXUU3Tt\\\\\\n\",\n       \"tdcO+N3P85vF9w+UB+4TqAOoC9h33NOliIp7Ce5BhUKh6V4MxyAESuTiyvvMIu9vcNN/7GMfc3Vr\\\\\\n\",\n       \"1113ddNwP0c54zrHNYbnPF2ehmGMX+yTiGGMU/bbbz/3lffXv/61CzvBwwpgMQWug6yHJwYPKHgQ\\\\\\n\",\n       \"W5bstttu9PnPf55++MMf0oknnkibbbaZG89/ORTjox/9qHtZO+KII2iTTTZpaxsvvfSSs+VzEleU\\\\\\n\",\n       \"Cx5S8UCIl7e8iVLxELn33nu75ZHbBA+AeGi84oor3HSMR9glnB54MMd5AXhBANdffz09+eST7mUK\\\\\\n\",\n       \"D4J4iDv//PPdXzzwY/9anctvfOMb9L//+7/04Q9/2CV7xcM/Hr5RjniR4K+3eCnmF+Ms8AA7kuGh\\\\\\n\",\n       \"WeB84sUG5YE6gIf3s88+2x0HXnTg5mHw4g+BCOcMAgjERzxY42UFL/QAD9148fj3v//tHrLf8IY3\\\\\\n\",\n       \"OOEKQtLzzz/vyhJOFLwEY32oCxBpLrvsMrcuPMgfffTRjYduvEzjZf3Tn/60q49XXnml27YG52+X\\\\\\n\",\n       \"XXZxggDqBV58fve737kXm8svv9zVBX5hx8M7vorzfDj/gxFVsE0cK14akfAbZQUhAceGF/4dd9yx\\\\\\n\",\n       \"aX4cK+oGXjRwPaGePvPMM40Xp1Z1e7DkLceZM2e6fYKYjfqM+oCXLJwXvEQilIxZEep2CFy3qHOn\\\\\\n\",\n       \"n3463XPPPS6kEceOF0eUPVyvuMZRlzGPvBe2c71k3TMhbJTLZfey3dPT4/rhsoUIgesJ4Ut4qb/o\\\\\\n\",\n       \"oouc2PqPf/zDCcfgwQcfbNQT1CXUZcyPF+t2+eAHP+jq8VFHHeXEKtRB3COfffZZN4yXcEzDb9JX\\\\\\n\",\n       \"vvIVtwxvB/fRP/zhD66+oDxxj0f9hwCFl2gIOSi3U089lU466ST65Cc/6a4XALED5D1m/HbiNzQP\\\\\\n\",\n       \"EKxG+qOPD9QLlBNECvzFseG48fuGfGoMyhfiJsRC3OvwO4T75TXXXOOGUV8Qdon5UBeH+z6E84lr\\\\\\n\",\n       \"EuWN+wvOMe5NyLcZotU+QXx773vfSwceeKBzG0GgRb3AMUF8CgERFzmnsL+4RgDWj3sThHxck7jP\\\\\\n\",\n       \"4L4EMQbXmRTnIVRhPhwjRKO//vWv9N3vftcJR3gGYE444QQnNuF6DTVwgbqKbePjC4SeL3zhC248\\\\\\n\",\n       \"rrO8v1kM6jCclajzELAg7OH36eabb27MA2EKdRp1FfcOLifU++22267xHJjnmUWCckfOVJQrf4hA\\\\\\n\",\n       \"PYSABdEUHe57uIcsL2eYYRijjMQwjHHLmWeeiaeF5Kmnnhow7a1vfaub1qo7+OCDg+vfYost3Hra\\\\\\n\",\n       \"AevLs8xll13mtv/3v/99wLR11lnHTbvuuuuaxuM4Mf6iiy4asAzGn3zyyY3hT3ziE8lqq62WvPzy\\\\\\n\",\n       \"y03zHXDAAcnUqVOTJUuW5DqeK6+80q37zjvvDM4zb968AdtnfNv59a9/7ea/+eabW57Lp59+OikU\\\\\\n\",\n       \"Csk3vvGNpvEPPvhgUiwWm8Zj+3nOOco3xJFHHunmaQecjzzL/OMf/3DzXXrppU3jcZ71eK4Dsozm\\\\\\n\",\n       \"zp2bdHR0JF/4whca40466SQ33xVXXDFge7Vazf0966yz3DyXXHJJY1pvb2+y0047JZMmTUoWLFjg\\\\\\n\",\n       \"xv3hD39w8337299uzFepVJK3vOUtA+rdHnvskWy11VZJd3d30/Z23nnnZKONNmqMO+aYY9yyt99+\\\\\\n\",\n       \"e9NxoA6Grt0Q73//+5NyuZz897//bYx78cUXk8mTJye77bbbgPOx/fbbu+NkcFwYf9VVV+Wu23mv\\\\\\n\",\n       \"eVmn2ilH8NGPfjSZMGFC8vjjjzeuA6xDMtrrNtD3AN7nww47rGm+D3zgA8n06dObxuGeifvtUK8X\\\\\\n\",\n       \"fc/E/RXj119//aZ7Eeoq6uk+++zTuE4A5llvvfWSvfbaq6nedXZ2Js8880xj3COPPOLuS+2U52uv\\\\\\n\",\n       \"vebmxznOIvS7g2utWq02jcP1g3vCqaee2hiH+uyrZ+0cM5dbni50DWf9xoXg37g8y/h+Wz71qU+5\\\\\\n\",\n       \"a4nvS7jucGyoHyh/XR55rg1dr9u9D+25555N2zr22GNd3Zk/f37m8WXtkz523Oe23HLL5O1vf/uA\\\\\\n\",\n       \"fcd6AH434jhOfv7znzemL1y4MJk2bVpyxBFHNC03Z84cd4+W43Gfw/pkXQPbbbedu9dKeN4893ec\\\\\\n\",\n       \"m3333bdpXN7fLK4vU6ZMcb8rElxnKGee94c//KHb1g477JAcf/zxbhyuJxw/zkm7zyx8f8P9W4L9\\\\\\n\",\n       \"QP3AMcnzfuKJJ7Z85jQMY3xgDizDMLzgq6AOM/ExWvJcafDFEV86BwOeW+GCgfMB/TKUDOvE11p8\\\\\\n\",\n       \"EcQXylawuwlfdmHhl46HPEinDb6QwmUBZxjAPrBDIATcMHCl4FjkceDLKL56IvQILjaAEDG28Ofd\\\\\\n\",\n       \"p2UJviAjbAe5iOSxwA2Br784FoQiMJtvvnlT+eDLNFwl+DrM4DzjvLDjScJfipEMGOUFdwqD8whH\\\\\\n\",\n       \"C8bBNQCHAuZDKIX8kg5HDxwE+ErNIJQJbgc4PRYuXOg6Wb/gNECYCdxZWCfONzs7+DjgHJAOo1bg\\\\\\n\",\n       \"y/9f/vIX5/CSycjhqkCZIZE6nBdwRTD4Gi/rK44LdQX7BPfCUOt2iLzlyMBRBFcY3HZwIiKJORxc\\\\\\n\",\n       \"ktFet7OAC02COg1Hmj5fQ71esu6ZcJjIskGC8//85z/OkaJDgxAOBmcI7ju4fyIsEfVu7bXXbnKP\\\\\\n\",\n       \"YFs413nB9uH8wrmGq7Jdp5zMs4brAU4UlAPuCbiXtiLvMcOhgusBTpQ84N6yPJDnE/cgOOtQt+Au\\\\\\n\",\n       \"QvgajgEOIriA4OzVeZYG0yLnYO9DclvYR+wP3KDsVB7KseM5B/uF9cLFrEEdhosJ5YJQfPk7gHOM\\\\\\n\",\n       \"eoRx8hrD/QouK1xjea5n7RKDO24oDRHk/c2SzkZ2bMv9QrmggRhcq7j3YhwcjXwffuihh9zxy9/Z\\\\\\n\",\n       \"dp9ZdHnAlQanFe738rzD9Q6XlmEYhglYhmF4WdFbssHL2GBBiB0eymB7R+cDoSt5QHgKHg6R3woP\\\\\\n\",\n       \"3bD14+EdD+t5EldD7MCyEM30NvOEqOCFCw/gEKt8SNEBLxSjuRVBHAuOGeFTPnT5yBdmBi+9Upj9\\\\\\n\",\n       \"73//685PFnhRQvnpMB8O08J0/osXMR1Sq8NXEdaBc4KwTnShY4GAhXXqkBrfOvPUaYS2+JbDceDF\\\\\\n\",\n       \"GznROLQS6DqD48LxcY6VodbtEHnLUYZgIZwYoSh4uUK/ZrTX7Sx0PWbhBvU4S8Bq93rJumfqaVg3\\\\\\n\",\n       \"8IXHMtg2RBGEM/nuPzif7QhYqFMI0UKoFM4zXorxEg5xMo8IhDqO0DEIvxBlZN4hhEy1Iu8x4/yg\\\\\\n\",\n       \"23PPPWk0g5AuiHEQ0zmnmf5twf0RbLnllsOyzcHch7Lq/2CB6I4QNYiSqKNZohzyJkKEQVigFIRk\\\\\\n\",\n       \"nUAIqQ99fSLlghaK9G/ScJD3Nyvr2kc4PfJPQaxiAQv3elxrCNmGOMVClvw40O4zi94275u+Z6Dc\\\\\\n\",\n       \"Rlt4t2EYywcTsAzD8IKHkDz5BvC1DV/5Rxs+J0Xoi7FOoMoJstEkdehlJe+XX2wTyWGR++H//u//\\\\\\n\",\n       \"nBsBuZbgcMO4VvnD4JzCF1Akad92223d/Ng/JBHOk8gb82AfkL8LX4U1cvt4SOdErFlgPfohfFmA\\\\\\n\",\n       \"Y8HL+KWXXuqdrvfJd7xAJvxeHvB5Qz6hkONlww03pNHOUOv2cIJtA7wIIneZdouM9rqdxWDrcbvX\\\\\\n\",\n       \"S5b7TE/jOoxcSbgv+cD5l+LAcAAXxnve8x6XywrnHAIw8n5BhEEenizg3sD8qKPI6cW5p7DOvPfS\\\\\\n\",\n       \"PMcM8NuJ39A84DyEzvFIgQ80EKAhsMAJihxMEFfgkDn++ONHVSuTw30fh+gCBylyQELMhFiODznI\\\\\\n\",\n       \"A/WrX/1qwPxwWkPogtMTv8cyyT6XExxUPhFVt764rM9zXnzXPsoEH0+QBwsfXZCPkR1YyPGGxP4o\\\\\\n\",\n       \"y0033bTpXtLuM8todL0ahjG6MQHLMMYxWSEASAwOm3krIPAMxeo+WAYTvsBf73RrZvprJB7GkAQa\\\\\\n\",\n       \"wtZwfUWHWwAdki3jIRkhYPhCiaTqoWPBy/gNN9zgvmYiqan+6isJrQMvJnjQx1fOjTfeOHMfkVQW\\\\\\n\",\n       \"22rFOuusM+TWKgcDjgXhBXihGK6HXqwTYRCtjhcJbDk8iEGYDU/nvzhfEEqkeIPk2BJ2AuEFoVX9\\\\\\n\",\n       \"wjp951uvsxWo0/ia7lsOx4HjQguiEmwXCeQZHBdax0JS3bx1ezDkLUfmuuuuc4nNkRAaYg3uSXi5\\\\\\n\",\n       \"ki+Po71uryjXi1w3gACSVYdR77Dt4ajDcttwYaHDevGSDNEU4V1Z90KIrajPF154YdN4/B5wwxdZ\\\\\\n\",\n       \"y+c9ZoAXeHntZJGVqHukQBgmwiARYg4hR+6L75hxj8w65ry/x4O5Dw2W0D4hbBxiHQRQ6RSFgBX6\\\\\\n\",\n       \"mPDtb3/bOUwhwuDehOcDWT4QikeT4y7vb1YrIFjB9Yj7CK4RiFUoVzjkIF6hk6GI7TyzZO07LyNd\\\\\\n\",\n       \"s3DvDbdTzTCMFZNl3+yJYRijBrRo5hN0AF4IkN+hVYeXxtG27yHw4oGHMNmyDtC5hPCVFKFReND1\\\\\\n\",\n       \"iRutmvCW4IFLfynmr/fsTsADve9Y+GutXh6tMOUtDwiRWA8eKPV6MCxzuSAUJ885Dzk6Rhp82YWo\\\\\\n\",\n       \"CPeEBi2btVMXGJzn+++/3+UU0nB5QbDB12fZ6hW2hzAKCCxwMvB8GI9QEwb7K5tb55cdvAwhpwoE\\\\\\n\",\n       \"oaz6hXXCzXTHHXc0TW/3HKAOoBWnq666qkmgQUtsEJ0QAqLDXRA+K1sixXHh+NAKW966PRjyliPA\\\\\\n\",\n       \"OYdQhhxhcNhAyIKLROdKGe11e0W5XmSIOV7eIQz6nG1ch1Hv4DKEYwotBTJoxY5dc3lB6BnCliTY\\\\\\n\",\n       \"B4gJsr7hXug7NuyLrq/IE4Z8c3nupXmPGXAOrDzd8siB5fttgWtM/xYijAwfP/Cbo8tDLpv393gw\\\\\\n\",\n       \"96HBEton7ANEGOm8xr6gjoaA4xrhrqi3cAAiLBagbmN/cb/xtdrczrOCBL8LEJvytATtI+9vVh4B\\\\\\n\",\n       \"C9cWzj/ODYuCnLcLLT3KnFbtPLOEgBCIjzvYV7medtZhGMbYxhxYhjGO4TxXaG78gAMOcA8NeDjD\\\\\\n\",\n       \"g99gc2BBHGKBCA9vixcvdrkmAL70yq+9QwEvynhYwtdB5FXAl1TkoQjle2Hwsvutb33L/X3jG9/o\\\\\\n\",\n       \"9hWJnzWYBwlYYaFHc9lICI6QELwc42tk3vAQNIWNlwIkCcfLD5LlIlEtHnrZyQKHAtaPh024pBCi\\\\\\n\",\n       \"gJwj6FBe+PqLB1nkREICXP2VPOtcYpsofzTLjYd05CjCCx/WAdEGCXIRyjaUPEFwsHES2rvuusv9\\\\\\n\",\n       \"5XOOr6lIqj0c4KEbzaMjZAghHXgRwnHiSy1eRJHfBom82wFhDnBmIH8SQotQjji3V199NZ177rnu\\\\\\n\",\n       \"RRRlBLEJTZDffffdzi2BZdCUOB6q+Ws8yhtuly9/+cuurHFO4XDw5f348Y9/7F4IttpqK1e/UO54\\\\\\n\",\n       \"ibvttttcCBxENQCBGGWLL/9o+hzXJoQl/sLeDjgneGHGdj/72c86hxKOCy8oqGMavNAiOTWEEDgm\\\\\\n\",\n       \"UI+xLMJv8tbtwdBOOaJMIMLimsT9AOWEaxvHikTuOH8rQt0eCUbiemHg6oBYCDETboxDDz3U3Z8g\\\\\\n\",\n       \"BuG+iTqAsFIA8RwuObzoot7xizSWa6cO4z7N9RF1AvUX9zBcN7jnMbiGIX7iPME9g98E/DbAKYJw\\\\\\n\",\n       \"OezrzjvvTA8++KATLHW9QF1GCCquf1zbuObwOwAhJ+8xDyUHFtcv5KgCqH+33HKL60fOquEAx499\\\\\\n\",\n       \"hFsRib0hTGA7WnjAeUZZ4prEby6OGSF3EFewfyxC8u8P1gVRB9eiPCdDuQ8NltA+7bvvvvS9733P\\\\\\n\",\n       \"3SuQrw95mnA/Rl3Jqo9wmUJ4w70N1w0EL5xzlA/uAxD7sH64zCDWXnvtte4+htDDdsHvNe6vg3Xn\\\\\\n\",\n       \"5f3NasVOO+3kzg/u/1gng+cS/sAgBSyUR95nlhAoPzyT4L6FaxbljcYEkAZBOiUNwxjHLO9mEA3D\\\\\\n\",\n       \"WL6cdtppyRprrOGah87bbHMWWc3Vy6a0Q6CJZF8T6D4uuOAC17w7N8fOTYf7mpWWTTx/4hOfcE1c\\\\\\n\",\n       \"o9nuD3/4w67ZZt/+vfTSS64J7bXWWisplUrJrFmzkj322CM5//zzk7zcc889rpnotdde2zXXPnPm\\\\\\n\",\n       \"zOTd7353ctdddzXNd+utt7qmtNF8tNyX559/PvnABz7gmqrGPu+///6uyXHf/mady8svvzzZdddd\\\\\\n\",\n       \"k4kTJ7pu0003dcf22GOPJUMlq8n4POeSm0vPC8ofZdXV1eXO4VZbbZV86UtfcuXChOoA9kfv0yuv\\\\\\n\",\n       \"vJJ87nOfc2WH8l9zzTVdPXz55Zeb6sKhhx6arLLKKm4ebBP7rcG6Pv7xj7tmyXG+0H/vvfe649Pz\\\\\\n\",\n       \"oxn5gw46yNUr1C9sH3Xj97//fdN8DzzwgNvnzs5ONw/O84UXXjio6xX1cZ999nFNqU+YMCF529ve\\\\\\n\",\n       \"5uqe73zcdNNNySc/+clkpZVWcvMfeOCB7vjardutQFnjfLVbjldddZUb/u53v9u0LJp9x/q22WYb\\\\\\n\",\n       \"13T8ilK39TXN99J58+Z51ynPPfZliy22GPbrhY//sssu864b52S//fZLpk+f7uoA1oN76g033NA0\\\\\\n\",\n       \"H+oS399wzz733HMbx5cXXI+4Z+HehXsY6sWOO+6Y/O53v2uab86cOe5YcKzyPHV3dydf+MIXktVW\\\\\\n\",\n       \"W82VxS677JLcdttt3nsC6tbmm2+eFIvFAddu3mMeLKH6lqesUCfkb2EW//znP5M3v/nNrixWX311\\\\\\n\",\n       \"Vyf+/Oc/e5e/5ZZbkr322suVKcp+6623Tn70ox81plcqleSoo45KZsyYkURR1LSvvt+qdu5Dd955\\\\\\n\",\n       \"p7dOtjrGrH3C/XOjjTZy5w/1Cdvy1UcMo87puoF68ZGPfCSpVquNfcLxoE7iPr3BBhskhxxySNO9\\\\\\n\",\n       \"EPc5lJ3Gt13Mm/f+Hrp28/xmcX0588wzg+t/05ve5Oa5/fbbG+PwXIJxeDbS5H1mCd3fAMr1lFNO\\\\\\n\",\n       \"aVyru+++e/LQQw+5Y0XZGIYxvonw3/IW0QzDMBh8MYTrAjk6jPEBcqjhy779HBljDavbxrIEv51w\\\\\\n\",\n       \"isERhjBlwzAMwxhrWA4swzAMwzAMwzAMwzAMY1RjObAMwzAGCXJ8yUSwmnK53NTktmGMBEgo7Usq\\\\\\n\",\n       \"rfOKLOsm3JFLDHm0QmB/ZPPrxvgF+c04MXaI5ZHs3DAMwzCM0YUJWIZhGIPkTW96k0vynJVE2UIh\\\\\\n\",\n       \"jZEGraIhUXYWg00GPBTQAuZNN90UnI4k6LIlMmP8gmT8SFqdhYUYG4ZhGIZhObAMwzAGCVr0yXIN\\\\\\n\",\n       \"oJWnwbbmaBh5efLJJ12XBVr86uzsXKaFitavXnvtteB0tL6JVroM45FHHqEXX3wxsyAG26qfYRiG\\\\\\n\",\n       \"YRhjBxOwDMMwDMMwDMMwDMMwjFGNJXE3DMMwDMMwDMMwDMMwRjUmYBmGYRiGYRiGYRiGYRijGhOw\\\\\\n\",\n       \"DMMwDMMwDMMwDMMwjFGNCViGYRiGYRiGYRiGYRjGqMYELMMwDMMwDMMwDMMwDGNUYwKWYRiGYRiG\\\\\\n\",\n       \"YRiGYRiGMaoxAcswDMMwDMMwDMMwDMMY1ZiAZRiGYRiGYRiGYRiGYYxqTMAyjBWIn//85xRFEd11\\\\\\n\",\n       \"113Le1fGLV/72tfcOTDCjOd6ysf+9NNPL+9dGbXYNWQYo4tFixbR4YcfTrNmzXL3r2OOOWZ575KR\\\\\\n\",\n       \"wSGHHELrrrvuci+j5557jjo7O+mf//znMtneK6+8QhMnTqQ//vGPy2R7hmGMTkzAMkYFDz74IH3o\\\\\\n\",\n       \"Qx+iddZZx/0YrrHGGrTXXnvRj370o6b5vvnNb9If/vCHQW/nkUcecS9Pw/1yeeONN7qHPu5KpRKt\\\\\\n\",\n       \"v/76dNBBB9GTTz7Z9vp+8pOfuBfh8c6CBQvolFNOoW222YYmTZpEXV1dtOWWW9Lxxx9PL7744oht\\\\\\n\",\n       \"d8mSJa6e4LwaKc8++yx9+tOfdg/NHR0dNHPmTHr/+9+/zB5cRxtDvReNBDg3fA+K45imTZtGW221\\\\\\n\",\n       \"FX3yk5+k22+/nUYzo7E8DWO8fDTA9Yd1fOYzn6Ff/vKX9PGPf5zGM/J5Dt2UKVPorW99K1177bU0\\\\\\n\",\n       \"Gllezyynnnoq7bjjjrTLLrsM63ohUOF4NNOnT3dC6//+7/8O6/YMw1ixMAHLWO7ceuut9MY3vpHu\\\\\\n\",\n       \"v/9+OuKII+jss892P1B4AfvBD34w7AIWBJGRckd8/vOfdw9/559/Pu27777029/+lt70pje1LbaY\\\\\\n\",\n       \"gEVO+Nt2223ptNNOo80335zOOOMM+uEPf0hve9vb6MILL6Tdd9+dRvJhEPXE9zD41a9+lZYuXUrj\\\\\\n\",\n       \"CYhUEEJ+/etf0wc/+EFXP48++mh6+OGH6S1vecsAoXk8ELoX4cUP9QNi/PIA1wzuQb/4xS/o9NNP\\\\\\n\",\n       \"d9fL//3f/9Gb3/xmOu6442g04LuGTMAyjOXH3/72N3ePOPnkk+l//ud/aPvttx/3pwMfUfle+qUv\\\\\\n\",\n       \"fYmeeOIJes973kN//vOfR13ZZD2zjBTz5s2jiy++2H3YGm4gYOF4fGB799xzj6uzhmGMT4rLewcM\\\\\\n\",\n       \"4xvf+AZNnTqV7rzzTucYkMydO3eFKiC8zMNJBg499FDaeOONnaiFH/kTTjhhee/eqGLx4sXOCu6j\\\\\\n\",\n       \"UqnQfvvtRy+99JJ7INt1110H1BkIWsuDYrHouvHCa6+95uo03G8QsjbYYIPGNAgi++yzjws3wQvP\\\\\\n\",\n       \"zjvvTKOJJEmou7vb7fuyolAouG55AfcqXkAluFY+9rGP0fe//33aaKONnMtieTLeriHDGO3gWQsf\\\\\\n\",\n       \"ioaLWq1Gvb29zlG/ooLnN3kvxccblBE+rOJ3b7xzySWXuPs4RL1lyWabbeac+HAMvv3tb1+m2zYM\\\\\\n\",\n       \"Y3RgDixjufPf//6XtthiiwHiFUCYEgMbN0QPiEFs60YeAPDMM8/QZz/7Wdpkk03cyypsxvvvv3+T\\\\\\n\",\n       \"0wo/dhgH4ErgdcgvVn/605+cCAVhZfLkyc5FBZfJYOEf16eeesr9veiii9w4HBfCsPAwdM455wwI\\\\\\n\",\n       \"A8I2b7rppsY+ardRT0+PEw9mzJjh9vUDH/iA+xqWB3y14mNEmb/vfe+jf//7343pv//97902sX3N\\\\\\n\",\n       \"eeed56Y99NBDjXGPPvqoEzhWXnll97AKN93VV1/tDW/AOnGecPxrrrlmcB8vv/xy58j7yle+MkC8\\\\\\n\",\n       \"ArDzQ8SSXHbZZU5EwflfZZVV3IPnCy+80DQP6gtCETEe4W/oRxl+8YtfpGq16uZBncE4gC+AfA7Y\\\\\\n\",\n       \"zu7L34Phz33uc86RgwcrnFvU6euuuy5X3grfOiHiwX0GwQjrw3InnniiO/d62z6rPebn6wP09fW5\\\\\\n\",\n       \"44GAgfOEawRle/3111MWOOdz5syhM888s0m8Aihrvh4RSuD7KvypT33KbQvnDCG1EMQkCHnBywDO\\\\\\n\",\n       \"Gda33nrr0WGHHTbgZeiss85yZYp9X3XVVd169bpwzO9+97vdF3LUQ6wP+49zgmteg/VC8GHRGXzn\\\\\\n\",\n       \"O99xQhz2GcujTuGakGTdi0I5sOBaw/7jXK6++up05JFH0vz585vmwXWOfYVTFPs7YcIEt3/f/va3\\\\\\n\",\n       \"aSjgOOAkwDWK6wbC3mDL9pZbbqEddtjBzYswabgTJHnqma7vofL8+9//7vqvvPLKAcf0q1/9yk27\\\\\\n\",\n       \"7bbbhlQ2hjFWyfN7x+kP8IyC8Di+/vj+hd8buLI23HBDd+9aa621nBvJ9zuE38BLL720cZ/j3z9s\\\\\\n\",\n       \"H/d03Fv4t/FnP/tZ0/K8H7/73e/cPQrPB7h/7LHHHs75pEFI9Lve9S5aaaWV3LPM1ltvPcCxn+fZ\\\\\\n\",\n       \"pF3hBL9TeGaV5C0j3ANxL8RzF84Fnlfxm86Efju4bELuqlbPLLgnoyxmz56d6zj5OQZlhr+4//qe\\\\\\n\",\n       \"XTAfwgdxLJL//Oc/TuxDPjWsA+fygAMOoNdffz3X9rGtH//4x65fhnFqdxycxfK3zDCM8YN9AjWW\\\\\\n\",\n       \"Owi1wUsIRBH8WIbACxhCC/HyhJwugF+o4d5CKCJ+JPFjiR90CEN4IcTLIF4Ed9ttN+eGQhgaHhrw\\\\\\n\",\n       \"MAL4L9Z/8MEHu5dpOBbw8o114IHj3nvvHVTCTH7QwUscwPrw8Pbe977XfbnCDzAEHbxE4oUW4GXy\\\\\\n\",\n       \"qKOOcg8FEHAAHvwkmI4HNzw04VixDB4eEbKYxV//+ld65zvf6V488XCDMB6EfyF/ASzZOEaIdtg2\\\\\\n\",\n       \"HiSR80GC9WP/+TxBaMOyeMn+8pe/7B4ksRweliFCQViT4FjxoHXSSSe5F9YQ/JCZNw8HHvzgeEO4\\\\\\n\",\n       \"JsKm4NzCwywcQzh3UhzFgzvOMR68IFagTL773e+6ugRnCvYP5wn92H84wQAekLPAi/0VV1zhjhHi\\\\\\n\",\n       \"J+oZHuKQO4rPfzugruOFHg/gX/jCF9wDO44NYqPvhb4VON9Ynq8h5BeDeITzjofBEKijeAj98Ic/\\\\\\n\",\n       \"7J0OwQnXCIRR1CfpdkKdRNlj24899pgrV4jN/ECOr/577723K3PUH8yL+oxylEBQ4XOMaxgvWwg1\\\\\\n\",\n       \"xrnFOUbOOQbb+ehHP+qWQUgyXhI+8pGPuH2AEIeHannOEN6L+waDeoPr88ADD3QOgt/85jdO+L7m\\\\\\n\",\n       \"mmvctdHqXhQqe7xY7Lnnnq5ecVngvqX3H8LRO97xDlfvUOYQz5DzDSGcuHYHC65p1GeE3+KeiOu4\\\\\\n\",\n       \"3bLFiyTq4yc+8Ql3r8RLKF42IPLx+gZTz0LliZAmvAzipVjfSzAO8+y0006DLhPDGOu0+r3D8w+u\\\\\\n\",\n       \"v2OPPdY9O+G3BuCejOcS3Atxn8R1iXmRrxROzscff3xACDV+A/D7j/s+hB48T+C3GNcxC1xYLz4U\\\\\\n\",\n       \"4h6Ce4NOFv+tb33LpY+AyAbBA+I97sUyhx+EIIjpq622mgtlxz0dv4u4R2N4MM8mecD+4P4s7/V5\\\\\\n\",\n       \"ywj7g33GcwQ+9kDowv10OHJItnpmgYCI/cI9u1Vu1b/85S8Npxnu40iajt8G/cERohh+v7SbF7+Z\\\\\\n\",\n       \"qG8Q7/CcinOD7ePc4IMNoi1agd8k/C7jPKNu+sBvDsoY5Zr13mAYxhglMYzlzF/+8pekUCi4bqed\\\\\\n\",\n       \"dkq+9KUvJX/+85+T3t7eAfNOnDgxOfjggweMX7JkyYBxt912Gz7NJL/4xS8a4y677DI37u9//3vT\\\\\\n\",\n       \"vAsXLkymTZuWHHHEEU3j58yZk0ydOnXAeA3Wh/X+7Gc/S+bNm5e8+OKLybXXXpusu+66SRRFyZ13\\\\\\n\",\n       \"3hncz3322SdZf/31m8ZtscUWyVvf+tYB81500UVuO3vuuWdSq9Ua44899lhXfvPnz8/cz2233TaZ\\\\\\n\",\n       \"OXNm8sorrzTG3X///Ukcx8lBBx3UGPfRj37UzVepVBrjZs+e7eY79dRTG+P22GOPZKuttkq6u7sb\\\\\\n\",\n       \"47BfO++8c7LRRhsN2O9dd921aZ0htttuO1fueUA9wb5uueWWydKlSxvjr7nmGrfNk046qTEOdQfj\\\\\\n\",\n       \"5DHw9rbffvvGMM4h5jv55JMHbA/j9K0Tw+VyOXniiSeayhXjf/SjHzVtf5111mm5zvvuu88NH374\\\\\\n\",\n       \"4U3zffGLX3Tj//a3vzVt27ef2I68VrbZZptk3333TdoF1wWWzeLzn/+8248HHnig6XyjTOV1/O1v\\\\\\n\",\n       \"f9uNv+qqq9zwlVde6Yb5+vDxj3/8w81z6aWXNo2/7rrrBozHMWMcpkkee+yxAecCfPazn00mTZrU\\\\\\n\",\n       \"dF3qaxT7j7r19re/Pde9iI/9qaeecsNz5851dWPvvfdOqtVqY76zzz67cc9gcM3re1ZPT08ya9as\\\\\\n\",\n       \"5IMf/GCwjOTxZ53j73//+03lP5iyvfnmmxvjcGwdHR3JF77whbbqme8aCpXnCSec4LYh723YbrFY\\\\\\n\",\n       \"9NZ7wxiP8H1H3kvz/t6F7h2//OUv3W8+7hOSc8891633n//8Z2MchjHvww8/3DTvJz7xiWS11VZL\\\\\\n\",\n       \"Xn755abxBxxwgPuN5/stP0Ntttlm7p7H/OAHP3DjH3zwQTeM54f11lvP7e9rr73WtE75TJT32SQE\\\\\\n\",\n       \"tol9x7MA7jd33XVX8o53vMONP/PMM9suI773Yn0h9G8Hw2Ujn1v1s0TWMwvWh2m++6vvGRHnS95v\\\\\\n\",\n       \"8YyO5eX28Kzj+02999573Xg8aw+FI488csBvhOTWW29103/7298OaTuGYayYWAihsdzBV3k4sPAV\\\\\\n\",\n       \"C2Fj+OKGLzj4cpbX7i1dH/gyhK9GsHPD0YEv/63Alx58HYJz4+WXX250yGWDL5cIZckDbPL4GoYQ\\\\\\n\",\n       \"Ibg1OCwG1nW9n/iah23A5YSE5Xnt1QBf+qSlGiGB+NIKd0sI2Mfvu+8+55iApZ7BVzqcA9ksMRwr\\\\\\n\",\n       \"cMdIyzqcIPjaiGng1VdfdV9c4RJZuHBho8xQ9jh/sJHrED44YvLkB8KXWbiY8gB3B/YVzieZbwPl\\\\\\n\",\n       \"v+mmm3pbDdJJR1F+g2ktUgJ3jfwyi3JF2Nxg1svnQifd5q/jg2kJCdcCvlbivLQDzm2rc8HTcd50\\\\\\n\",\n       \"PZUOHnythfOQj4+dcfg6i+vWB0JD8dUWdVRem/gCC1eRvjbhCNP5SZDLBMnNpUMR1wvqNPJ3yOtS\\\\\\n\",\n       \"9uNrO65L1I889xEfcDzgqzScBnAWyGsB9UOfSxyTzLtSLpedM2mo9ZPXzed0MGWLr/IoCwb3Ojjc\\\\\\n\",\n       \"5L4Ntp6FQNgpvubLME6cR4TY6lxfhmHQsP3e4f4A5w5+R+X9gVMj6PsDnmVkHi3oQHA74R6LfrkO\\\\\\n\",\n       \"3KNxb9X3Vbh9cM+T+wp4f+EMhUsU91OddoKfiQbzbOIDblXc45DyAM9wN9xwgwsNlL/LecuI9/Wq\\\\\\n\",\n       \"q65yz1HLEjjhUP6t3Ff8jAinlnRK4fdB50dDWQJEAkh4OYTxI4phpODtoqwNwxh/mIBljAoQ+oWw\\\\\\n\",\n       \"Ibww3nHHHS7hOR48EK6CcJdWIHQJYWkIN4E1G/Z1PHhAlMojDPHLFh46sJzsYKnOm0we+wAxDA9P\\\\\\n\",\n       \"DzzwgLNByzA42MUhdHD+KayfcyC0I2Ctvfba3h9znbdGwuIWXjg1eADDgwCH9SGECQ8i8oUf/RAB\\\\\\n\",\n       \"IAYA2N/xUITmjHWZIbQR6HKDuJAHvNjzS3Yrso4LD5Va1IPIxfkiZPllld1gzslQ1ot9htgBEVYC\\\\\\n\",\n       \"Oz7qTZZQGQJhC7gecP4Qjvb//t//c3W0FRCnWp0Lnq6FLuRBkkAUQdgH5/jACw/CFRBeh2sW+diQ\\\\\\n\",\n       \"J07mDsG1iWsDLxG6ni1atCh3HYPwiuuPX1wgzmJZFmQZiGkIeUE9gdDL4RntXJ956ide0hDKq88l\\\\\\n\",\n       \"QjV0vo/hqJ8A5SXPU7tlm6eOD7aehcA1jN8HhAwy6Mc50teHYRg0bL93uD9AjNb3Bn4GaHXvRV5O\\\\\\n\",\n       \"3AvQKrNeB4Qq3zpaPdtwWoassLHBPJv4wO8RnufwkYHz9kGUkR8i8pYRfmcQ0ohQaaSEQNg6QhqX\\\\\\n\",\n       \"tZiVBf8W6d/t0PMV0DmoUAcg8P30pz91v+kQDJHParC/nyF4u/q30jCM8YHlwDJGFXipw8sKOjwA\\\\\\n\",\n       \"4CEHX7j4oSMEYu3x4ouvcsiJAvEFP2x4SMjzgMDzIN5e5shh8raYhRc2CFQ+8OCFhKR4Ifve977n\\\\\\n\",\n       \"xDYcL9woiOVv50Em5GIaroSWEAGRKwK5lpB8Gnks8PKPpu4Z3l/kqgi1yKNfMPO2BocywpfW5557\\\\\\n\",\n       \"zpXTcDJSLcTlOSehhy1OqKsZysOZXidywKEO4gswRFk8YKLenXvuue6hOgTETZwLiEqoFz4gUMBp\\\\\\n\",\n       \"5XvwzQLHB2fNv/71L5drC19t4WJEjhaMg+CFegaBRQoYEv1yFqpjeIGAMI77Ce4TeHnAfQJiLfOP\\\\\\n\",\n       \"f/zDOUFRVqj3ENtwXLi3IGn4smAkr21ufIGvy3bLNs++DbaetXJhIbfN888/7+oh6gbydBmGMXK/\\\\\\n\",\n       \"d7g/4JkGzys+9G+zvvfyMwKcknD1+NC5JYfj/jeYZxMf+JjAz3NIGA9BBnm80MAG55nKW0Yom5tv\\\\\\n\",\n       \"vtk5siCIIcE9Pgrioynukzjudp8Pliec19MnhOL3G05//g1AbkXk08J9O6vxnnbg7eKcGIYx/jAB\\\\\\n\",\n       \"yxi1cNidbDkl9AOPl2A8IOGHk+nu7h7QyldoeQ79wstcSIAaKnhBx8sXwiLlV0ZfeOJIfFVCsnyA\\\\\\n\",\n       \"BNIatFCDBwE4w+QLP8IfYZtHglQ8QEq3CtwjAC/4w11mCDn49a9/7ZpphuiQ97h0k8oYx9PbYaS+\\\\\\n\",\n       \"6uFrsq6TQLtwsM94MMbXXW5kAEBIxPLymHzrRMiar8UhOIogCqODwwZiA74sZwkLSDyLEF8IP76Q\\\\\\n\",\n       \"LbipIPygDugXGOy/bP0P28R+4WVAAjcNOrQ+BaEISXuRPB37hWsTYXj4ep1XAPWBL8MIxcNLA15C\\\\\\n\",\n       \"4PiESCtFOYS7wLEAIU2Oh4A12Doi6ydfM3yOEAozUvcbDcoegjReqLhODVfZDkc9yypPfIjAV33c\\\\\\n\",\n       \"E+C2xT1HO+cMwxhecH9AWgd8eBvMbyIEcLg9IcAM132On9UgxofWOVLPJkguDjH+q1/9qkuWjjJp\\\\\\n\",\n       \"p4zg3MJ86CB44YMgGurBMyD2k91m+vc8j+N6OJ5Z+LfKF/6tnxvxDIvfDG5hWwNRDx3KCg0s4TcG\\\\\\n\",\n       \"HzG+/vWv59qXVsfD25XPR4ZhjB8shNBY7uDH2/d1jfPkSOsyBBafAICvV3odaF1Pf7ligUavA1/p\\\\\\n\",\n       \"ELaGBwpfLh5Y4YcKf1mU+wlbte/lOHScQwFuEoQAQpSS68aDIL6SaVEBD1R4EcULPzq8/MsQAYh9\\\\\\n\",\n       \"aOXxvPPO84olQykzhI7i4QeCBsQTX8gat9AIoRP7gocjGXqGlo4gvHHLce2AVivBcJ8DPOzinMuQ\\\\\\n\",\n       \"KpSdblWQzwVal5TwV155TFgnvuxKELKh6z7nrGDgbsJXaN3Ut++hHeWLUDCdNwUiMUQK1GmEz2qw\\\\\\n\",\n       \"H/J6Qigechdxa3r4iqqvW9RRwPuFPCY4ltNOO23A+rGuds4RRA98BUbreQiZ1SIIfwWXZQeBTre2\\\\\\n\",\n       \"1c41iusITku0SimPFflVUBcGUz/bBaIPQpmRGwbXDb8cDGfZDrWeZZUnxHXUGQjacIvBNWdf3g1j\\\\\\n\",\n       \"ZMH9ASHXF1xwgfeektWSMN9PESKODwPs/hzqM8Ib3vAG9xyC30Z9v+D760g9m8CJjzyUeK6Au6id\\\\\\n\",\n       \"MsK9V6N/61ick7/nuD/jd3Qozyz4DcZHSl9ZhJ4RZcgfwih1Kg+Ig3j2Qg5SCfJg4rdDgmc5iHet\\\\\\n\",\n       \"fgPyPKszd999t3NQc+u3hmGML8yBZSx3EP6HvAL4ooXQMTgT8MUGogmST3KuBIDkwnAM4EUeidLx\\\\\\n\",\n       \"IIMk63CJIPwPP2hINgnRA/OxzZnBjzMeqs444wz3Aw2XBVw7eODByzVe8vCAhC/++Hr47LPPOrs3\\\\\\n\",\n       \"vh4NNWRl7733di+ycBdBFIAzAQ892LZ+sMBxYn/wtQovf5hHu4sGw5lnnuleBBFmiWas8YAFoQ/l\\\\\\n\",\n       \"BoeEfkCBTR5OGDyEoQluDXIb7Lrrru4BBUmp8eUTLiGUP8J98GVyMGDbcMjg5R/uDTwk4hxgPPJN\\\\\\n\",\n       \"wKWDr5UQuDAO5xP1BDmVkIgf+/CDH/zA1R80D94u+LKIeoQ6iFBWCHnIuTHU5ppRr44//nhX12Gr\\\\\\n\",\n       \"R73HecY2ZDLbbbbZxjkK8eCKBzgcF3LD4cESriHpaoKrBUl68aKAZKsocziI9As+jgcP9ahbOB48\\\\\\n\",\n       \"eMK5CDdSFriGMB+EFlwb2B7WNWfOHJcUFvlGUNY777zzgGVxLeNrM84fvuAiLA/1BWF6AMeDcSgP\\\\\\n\",\n       \"PLxDmMQ1ATGZRTwcO64XhCAgwSyuI5xzfCWGKwzbhuCZB+wHwkrQoQz013kcI+4tEEg+9rGPufwl\\\\\\n\",\n       \"qOO4BnUep9C9SIP7CFyEyPOF9eLYuSwQKj3cicjxMgWhB+AegxcPlBPOF16+UJbMcJbtUOtZq/JE\\\\\\n\",\n       \"GCHvi09wMwxjeMHzEEKt8fuCD434DYagAjEE4/E7w075EN/61rfcsriW8YyA+wPEHPze4Xr3CTtZ\\\\\\n\",\n       \"QAjBbyaeo/A8h999CC/YJzwbYJ9G8tkEoXH4WINnDvwW5y0j5AaEMIXfGDid8NuC3wCE1GE/AcQY\\\\\\n\",\n       \"OJHxe4Fywf0Tz19aEGr3mQW/CXAq4ZmiVSJ3/BZgH7FPCOfHfuAZEfvGORRljjB8EIFohd9sgPyv\\\\\\n\",\n       \"uNfvv//+bj+w73g2ZzEzL/g9AHhOwgdmLI/nJymqoQ5YDizDGKcs72YQDeNPf/pTcthhhyWbbrqp\\\\\\n\",\n       \"a9IeTc5vuOGGyVFHHZW89NJLTQX06KOPJrvttlvS1dXV1CwwmlM+9NBDk1VWWcWtY5999nHzotlf\\\\\\n\",\n       \"3XTwBRdckKy//vpJoVAY0DQx+rEsmnfu7OxMNthgg+SQQw5xTShnwc0ct2o6+Oqrr0623nprt+51\\\\\\n\",\n       \"1103OeOMM5Kf/exnA5pOnjNnjmvSevLkyW7aW9/61mBT2XL78lhC/PWvf0122WUXV4ZTpkxJ3vOe\\\\\\n\",\n       \"9ySPPPKId97rr7/erTeKouS5557zzvPf//43Oeigg5JZs2YlpVIpWWONNZJ3v/vdye9///vGPKH9\\\\\\n\",\n       \"bgXO60knneSaw54wYYIrty233DI54YQTktmzZzfNi+aU0Tx4R0dHsvLKKycHHnhg8vzzzzfNg7ow\\\\\\n\",\n       \"ceLEAdtB09P6dohmmtHUOOqjbJ7aNy+G0eyzxlf/0CQ1jgHr3WSTTZJLLrnEu86+vr7klFNOcU2G\\\\\\n\",\n       \"o1zXWmstd9yyWXBQrVaT448/3tV9lBHqL5q41tv++te/nuywww7JtGnT3LnH9faNb3wj6e3tTfKA\\\\\\n\",\n       \"+nnEEUcka6+9ttsfbO+9733vgObD5fm+6aabkk9+8pPJSiut5K5LnJNXXnmlMd8999yTfPSjH3Xr\\\\\\n\",\n       \"xHmbOXOmqzu+6+3888935wP7jusCdeJLX/pS8uKLL2Y2Ba9B3ce+HX744d7pF154oWtmHfuDMsKx\\\\\\n\",\n       \"+M5P6F4Uagr97LPPdutD2a266qrJZz7zmQHNwOM632KLLQbsk24yPQTmwbb5msX1jfXhvN1+++3B\\\\\\n\",\n       \"5YZStthnvj/lrWftlCfT09Pj6hHuzUuXLm1ZFoYxnvD9xrbzexe6vnHd4jkF9xHcE3EN4l6B36bX\\\\\\n\",\n       \"X3+95W8gwHMcpuE3DPc/PCvsscce7r7T6hkK91GMx/FJbrnllmSvvfZy9yscI56rfvSjH7X9bBIi\\\\\\n\",\n       \"63i+9rWvNT1v5SmjG264IXnf+96XrL766u63H3/x2/f4448P2Oc999zTrQe/EyeeeGLjOUw+3/l+\\\\\\n\",\n       \"E0LPLFyG+p4a4vLLL08222wztw+bb755csUVV3i3h/NaLBaTX/7yl41xTz75pHuex7MzntfwLPa2\\\\\\n\",\n       \"t73NPXe2Q6VSce8AM2bMcL9lsr7++9//dsPtrtMwjLFDhP+Wt4hmGIZhGIYRAl/y4czCV3eEXxqG\\\\\\n\",\n       \"YRjLBjjP0HIvtyDMwMn/+OOPuzyYywo0wgI3G8IIzYFlGOMTy4FlGIZhGMaoBnnIkLsGoYSGYRjG\\\\\\n\",\n       \"8gcthN95552uleplAXIsomVbpNcw8cowxi+WA8swDMMwjFHJ7bff7vKPIe/Vdttt5/J2GYZhGMsf\\\\\\n\",\n       \"tEaIxlzygtyzyL2axaxZszJzcupcXIZhjD9MwDIMwzAMY1SChM1ISo+Eza0SEBuGYRijl6OPPto1\\\\\\n\",\n       \"3pKFZbYxDKMVlgPLMAzDMAzDMAzDGDHQKu6LL76YOY9uHdgwRhrkVEMr7cirhlbhr7zyStfKaBbI\\\\\\n\",\n       \"CXfccce51k/XWmst+upXv+pyxRnLBnNgGYZhGIZhGIZhGCPG5ptv7jrDGE0sXryYttlmGzrssMNo\\\\\\n\",\n       \"v/32azn/U089Rfvuuy99+tOfpksvvZRuuOEGOvzww2m11VajffbZZ5ns83jHHFiGYRiGYRiGYRiG\\\\\\n\",\n       \"YYxb0DhAKwfW8ccfT9deey099NBDjXEHHHAAzZ8/n6677rpltKfjG3NgGaOOWq3mLMaTJ0+2VkYM\\\\\\n\",\n       \"wzCMRm6UhQsX0uqrr05xbI0oL2/st9owDMMYrt9mNAjQ29s7bPukW6rs6Ohw3VC57bbbBoS6wnl1\\\\\\n\",\n       \"zDHHDHndRj5MwDJGHRCvEE9sGIZhGJrnnnuO1lxzTSuY5Yz9VhuGYRjD8dsM8Wq9dSbRnLnVYSnQ\\\\\\n\",\n       \"SZMmDWix8uSTT6avfe1rQ173nDlzaNVVV20ah+EFCxa4Vja7urqGvA0jGxOwjFEHnFdg000PoUKh\\\\\\n\",\n       \"vLx3x1hhiVoMj5Z1jRTJMC47WtZljGeq1V569NGfN34jjOULn4dd6V1UpJKdjuXEVa//wsreMIzl\\\\\\n\",\n       \"BoQbGA+G8tsM5xXEq2fuXpemTB6aw3rBwhqts/3TTlCbMmVKY/xwuK+M0YEJWMaw88ILL7j44D/9\\\\\\n\",\n       \"6U+0ZMkS2nDDDemiiy6iN77xjbmWZ8snxCsTsIyhiUTxMK1rOEWnZRX6VBvGdSXDJDzxPpmIZQwe\\\\\\n\",\n       \"HRZgLN/zAPGqGJmAtbyQL2iGYRgr8m/zpMmR64ZCrf7MjnvjSNwfZ82aRS+99FLTOAxjW+a+WjaY\\\\\\n\",\n       \"gGUMK6+99hrtsssu9La3vc0JWDNmzKD//Oc/tNJKK1lJG8uQoYhOQxWsRktunngYBS5dJoMVtOJh\\\\\\n\",\n       \"FMMMwzAMwzCMsUI1qVE1Gfo6RpKddtqJ/vjHPzaNu/766914Y9lgApYxrJxxxhnORgrHFbPeeutZ\\\\\\n\",\n       \"KRvLWLAZjAAVLSdn1nCsZzCiUDzE9fA+t7vdSGzbxCzDMAzDMAxj+YBcWU888URj+KmnnqL77ruP\\\\\\n\",\n       \"Vl55ZVp77bXphBNOcNFFv/hFGq796U9/ms4++2z60pe+RIcddhj97W9/o9/97neuZUJj2TBarALG\\\\\\n\",\n       \"GOHqq692oYL7778/zZw5k7bbbju64IILlvduGWMWFn+iQYpBcnm9rjzzDmbd7ayjHYZje0Mpi5Eq\\\\\\n\",\n       \"d8MwDMMwDGOsU6NkWLp2uOuuu9z7Kjpw3HHHuf6TTjrJDc+ePZueffbZJmMGxCq4rrbZZhv67ne/\\\\\\n\",\n       \"Sz/96U9dS4TGssEcWMaw8uSTT9I555zjLv4TTzyR7rzzTvr85z9P5XKZDj74YO8yPT09rpPJAA1j\\\\\\n\",\n       \"2enw0TDMlyX0DNf2W60jzw92EtieXFZPT0bIicXL8vIja/k2DMMwDMMwRi8192/o62iH3XffnZIk\\\\\\n\",\n       \"/Az785//3LvMvffeO6j9M4aOCVjGsFKr1ZwD65vf/KYbhoL90EMP0bnnnhsUsE4//XQ65ZRT7EwY\\\\\\n\",\n       \"gxCuBhsqGA2zMBYt42PwgR/fVj/aoW0lbZRDLUe5DjakMc8xGIZhGIZhGIYxHrEQQmNYWW211Wjz\\\\\\n\",\n       \"zTdvGrfZZps1WS81iC1+/fXXGx2aPTWM7PxJ7Qo/7YTQ8fpbrStuMa+ex9cNdwjhYLen58nar7z7\\\\\\n\",\n       \"PtjQwpEoG8MwDMMwDGM0U02SYemMsY05sIxhBS0QPvbYY03jHn/8cVpnnXWCy3R0dLjOMEZGEPH1\\\\\\n\",\n       \"h+bzzZNnXGiePPMNJ+2G//nm43DEVuuK2pjWTpjhYI/BMAzDMAzDWFEZTA4r3zqMsY0JWMawcuyx\\\\\\n\",\n       \"x9LOO+/sQgg//OEP0x133EHnn3++6wxj2RpG84pdeYSmaJj2bVm7inzCkk8gyhKgeB6fYJUlYmWt\\\\\\n\",\n       \"Kw+8r9Wc8xuGYRiGYRiGMZYxAcsYVt70pjfRlVde6cICTz31VNdSw1lnnUUHHniglbQxCAYTSpbl\\\\\\n\",\n       \"ppLzRIOcFg+TmDVSEdy1nNuoiWMqBKb7hKqQaytP/qs8gpeG983yYxmGYRiGYYxV4J6qmgPLaIEJ\\\\\\n\",\n       \"WMaw8+53v9t1hjE0BpPnSv5tZ56sUMOQoDVYgSzP8kOhlTDGAlOrhO5ZolSWq6qVSDUURxaOzZK8\\\\\\n\",\n       \"G4ZhGIZhjDUshNDIgwlYhmGMQtrNdSWXa2ed0QiJWIPJ1TVYQauVuBRaJuSq0iKfT/DSea2iQYYW\\\\\\n\",\n       \"tpungMvJ8hsYhmEYhmEYxnjDBCzDMFZg51Ue4SerlcCQKJW1TGgb7bq08m6zFe04khJPyKAMzQu5\\\\\\n\",\n       \"o+I2wgtDoYW+/cwbeijBvlg4oWEYhmEYxlhiOFoRtFYIxz4mYBmGsQKLV1nryVrO57DyLRNyZcVt\\\\\\n\",\n       \"bK/VMeUJfcwiTwt/LPjkFdnaEbS0mMUOKb0/ehkfed1VFk5oGIZhGIYxlqgNQ6IISzQx9jEByzCM\\\\\\n\",\n       \"UUC7Ik7W/NEQhCjf8nlaKQzNF9pGq2Xaod3k6XnyYenyCoURhlxWrfJcRRnj2hGx8oh3hmEYhmEY\\\\\\n\",\n       \"hmGMBUzAMgxjlJA3hK6V6BMSY3wiVlYOK9kfD5OLK8/8Q0G6oTS+bfkEpyQQMigJ5dwK5cXSolRI\\\\\\n\",\n       \"pMqTO0tiSd0NwzAMwzDGAtVhaIVwqMsbox8TsAzDWEHCBrOEq3byXOntZTmn2kns7htuFVo43LQS\\\\\\n\",\n       \"dKqe+eUPfchpFXtCEfU8vvmyRKmskMKsUESN5cQyDMMwDMNY0akmaTfUdRhjGxOwDMNYDkgBpJV4\\\\\\n\",\n       \"1Wq+kOspJDiFRKdWea3yCFpxziTx7brINFm/zlnCT0GNDwlHcju1HPmydCgfl0XSRn6sUJJ3uS8h\\\\\\n\",\n       \"ZNnnTQZvGIZhGIZhGMaKhAlYhmEsY/IIOHJe+Tc0PWv+qIWAJadlrT8rjDBPSGE7+bryCFg+kYbd\\\\\\n\",\n       \"UyHhpxYQtJKcuapC+bJ84337Rhn7lhVWmCc3Vqu8W4ZhGIZhGMZoxZK4G3kwAcswjGVMu6FzeZxX\\\\\\n\",\n       \"Wc6oVnmppLPK9zckounlWoUT+o4DAtJwokMESQlUWrDS07XjipSziZSQxGGDupVDX4L3aoboJYW3\\\\\\n\",\n       \"kBMrryDF6/GVhWEYhmEYhjEaqVFE1VwfuLPXYYxtTMAyDGMZ0W7S8rw5rwaT5yrLPSX3U4cYhsSs\\\\\\n\",\n       \"Qpuhh1mOsrw/vKFQvFDSdT1ODlc9oX+8nG97nCze51DTTitejstIi11y/XnCCfMKWYUWSe0NwzAM\\\\\\n\",\n       \"wzAMw1iRMAHLMIxlQDvCTDSI8EC9ndA8UpgKLZMlWsnxep+iFttvFU6YNT40b5JjPaGk61FAXOJl\\\\\\n\",\n       \"GF9i9pDIpfdLJnLPyo+l5wmtPxR+GKJd0cswDMMwDMNYHtSStBvqOoyxjQlYhmGMMgGL5281Lk/Y\\\\\\n\",\n       \"X6vxcpoUmEIOrKzlQsKXbx998wwHvlA+nbhdzqNdVXLfWOTyiVlyG1qkks6srOOTIpr+K5dtlZcr\\\\\\n\",\n       \"CxOwDMMwDMMwVgSqwxBCONTljdGPCViGYYxyoSskfrWaLyQWtRKffOPzhBT6nFbaddWqpcOhwOKR\\\\\\n\",\n       \"XKcOoWPhSYbpyeWky0q6rXg9Wgjj6T4RrFV+LF8rhXI6E3Jr+eY1DMMwDMMwDGOsYgKWYRgjTB6n\\\\\\n\",\n       \"UdRmAvaQc0pOzxMWmOW68uW14u21cm6F8mUVhuhMazcnlkxkLt1YNU+uKRappPvKJxBVPaJV1CLn\\\\\\n\",\n       \"ls6Pxf2ynPX2tWCl3WB5wwm1YGcYhmEYhmGMNsyBZeTBBCzDMEYIXz6o0HzyL7UxnBUq6BOwtOAU\\\\\\n\",\n       \"WiZqIXq1WneWI0s7w7LKJERIsNEOKN80HeKnnVshpxV5BCY5LPe7HYdUyIHlW4cW1Xyhhz743PhE\\\\\\n\",\n       \"PsMwDMMwDGN5U0si1w11HcbYxgQswzBGiHbcRVkhgj6By+e80vO2KyDFgZC/kHDlm+ZLEt9OC4V6\\\\\\n\",\n       \"30P4hBifMBNajxSJpFtKhvvJadK5JfevFggP5GOrKveUnC/K4bLS++wTqlqJV7osTMAyDMMwDMMw\\\\\\n\",\n       \"jBURE7AMwxgBdKhciFYhgnKc7Pc5neS2fSF+0iUVErp8QpQelvNlCVhZYYq8n63KIg+1jLDBUBif\\\\\\n\",\n       \"DP/TAhYPy5C+mgr507m1yNOaoRS+5DxcNlLcktuW2/MJVHlDDH3w/ssyMgzDMAzDMJY3FkJo5MEE\\\\\\n\",\n       \"LMMwloPrKjRPKJ+Vb3qr8T6xSgtPhYC4pftD03hZFs2ywgxDopsOV2xVRj7hSAo6hYBIJcfLBO1J\\\\\\n\",\n       \"XdBJlMikhSu5rA4b5H4pDOm8U3p9Otm8XFercMKQYJXXZWXhhIZhGIZhGKOJKsWuG9o6jLGOCViG\\\\\\n\",\n       \"YQwTISHGN5/8q8eH5vG5prLEHy1A+cQnyiFU6cTsOtSw0MKp5dtOnnIL/YDXWghYerxcLwtVMgSQ\\\\\\n\",\n       \"h+VPvgz5k60SSvFK9sthCkzn9fJ037nV43mcnEePG2xOLL0uwzAMwzAMwzBGMyZgGYaxjN1XPG+r\\\\\\n\",\n       \"ZUOCTsjZJOcJJVr3iUp5hal4COvQ++o73rxhl4UW35q0+8rXAiBPY6HH52SSYpBcDy/HjioZ7ied\\\\\\n\",\n       \"VHJYuq5kLi3pBPOF//mENS1Y6WNrJV5lLWsYhmEYhmEsD5JhSOKOdRhjGxOwDMMYIlpEyppP/s0b\\\\\\n\",\n       \"NhgSfkLhgdRCaMrKc6WFKDmNhSM9Ta5Lb0PupxyW++Qb3w46AbtvPE8rqhxX0l0lnVxyWlVN16IV\\\\\\n\",\n       \"byOUH4tzYXG/FMNYxJKtGepk73qdecIJ8zqseJ/NcG4YhmEYhrE8sRxYRh6GFmRqGIaRizxhgzzs\\\\\\n\",\n       \"C+/T84ZaC/SJUaFhKUz5Op5WFMPcz+NlV6p3oXlKLbriILt21iv3K7RdOY+vDLLKKxSCGRoOhXT6\\\\\\n\",\n       \"6o0en6cu+cb7sK91xvjmW9/6FkVRRMccc8zy3hXDMAzDMIwg5sAyDGMZkSVW+cQGXwig7pfD0smU\\\\\\n\",\n       \"lf9KCy0h51WrEEK5jULG9nyJ4pmskEJfmfncRDpkkJHOJp+TSrqeODeWbCWw5umPReuBMlxQu8Bk\\\\\\n\",\n       \"uKHMgyX3RzqtZLii77hleYRyYg0lnNAwxi933nknnXfeebT11lsv710xDMMwxjHVJHbd0NYxbLtj\\\\\\n\",\n       \"jFJMwDIMYwho90xoHk0rB81gwgYpQ6DS82eJVyw6hYStVsKXb95QOGEhRzlJwcf3qyxFKw6F060N\\\\\\n\",\n       \"6lA8GQaoc2HxNrPmlSF3PsHKl3tL5r2S88tjlyKXTDBPnvHt5MTSIYYaGb5oGOOHRYsW0YEHHkgX\\\\\\n\",\n       \"XHABff3rX1/eu2MYhmGMY2oUUW2IAWI1+3A55jEByzCMERSvhrpeLf4wWiiS49gRRRm5q/IIUsWM\\\\\\n\",\n       \"aTpkLu969X7KYX2MedA5rEpCiGERxydC+cbJ/mrGtIrY17zrlfvLOae0wMUikxSupPuL5x0psUkK\\\\\\n\",\n       \"d4YxPjjyyCNp3333pT333NMELMMwDMMwRj0mYBmG0SZ5cwtlhYFptxUTynOk+2PPvNpxJedpFSaY\\\\\\n\",\n       \"FRbI44pqmnZshbYTyvnkO6asctLhgowWq6T7ypeY3ScusWAlxSIWiipKSJKOLS0ySWGq1qJf/uX9\\\\\\n\",\n       \"l+GOofBCOa8MYwwleacW40Nlbh50Y2zzm9/8hu655x4XQpiHnp4e1zELFiwYwb0zDMMwxhuWxN3I\\\\\\n\",\n       \"gwlYhmEMgrxOoVZ5nbJEKp+4o0UguT9aJMrjkPIlH5eilBSstGilnVq8H77cWXrder99ZepzuPmc\\\\\\n\",\n       \"R1mtEGqxSopaLFrxtipqH7XAxSKRXJ88TrmtPCKWPO6qRzjLCieU9UeXD4/3CVh5RClzYRljn+ee\\\\\\n\",\n       \"e46OPvpouv7666mzszPXMqeffjqdcsopI75vhmEYxvhkeHJg2QfIsY4JWIZhjAA+95DPeZUlUlEg\\\\\\n\",\n       \"1C4UjpdHsPKFBWphSo/XApZ2bRVbbLfoOR7tzNLHysfmQ/4w6zxXvhA+EmGBcnpRzatDAlng4n2V\\\\\\n\",\n       \"ObCkIMbrJbFOGW4YErHk/sv8XFzeet/k9ilD3JIOLe1YM3eVYYC7776b5s6dS294wxsaBVKtVunm\\\\\\n\",\n       \"m2+ms88+2zmtCgWZo4/ohBNOoOOOO67JgbXWWmtZgRqGYRiGscwwAcswjDaIBxlemCVeaUHK50hq\\\\\\n\",\n       \"5brSIXxatNLOLSlGZYlScnohIIRpUUyHGrYS12iYHFjcH8pFpVsbrGQkcmc3FotELBRxiCBPj5SD\\\\\\n\",\n       \"Sv6V5cvb42MI5cSSx6edXVwmWTmxtEDlE6xkmYa+0snQSMMYe+yxxx704IMPNo079NBDadNNN6Xj\\\\\\n\",\n       \"jz9+gHgFOjo6XGcYhmEYI5fEPRryOoyxjQlYhmHkJCROhebLI15lbUP3h8bJ8D0pavnEIp/DypfP\\\\\\n\",\n       \"yjdPsYWApR1XenutBKxCjrKWua4Y3SJgVjJ1LQjpXFjateUTfti9VW0h8sj1+MIHtStL57PKEkN5\\\\\\n\",\n       \"epYA1UrEapULq9U2DGPFZfLkybTllls2jZs4cSJNnz59wHjDMAzDWBagBcJqy4/lrdZhz21jHROw\\\\\\n\",\n       \"DMPIgRQc2qWVeKWHQyGCcnqesEEtRklHVUjACglTRRVSyMN6vkIbLRnqY8tyY1EL1xV5WgIMtSDI\\\\\\n\",\n       \"w+x8kvms2KUl1yfdSOy+ij1OLHkueRw7pELH4BOx5DguC3lMWoTT+BxWgxGi5HHbw5BhGIZhGIZh\\\\\\n\",\n       \"LG9MwDIMowW+UDYfWc6q0PxxC2FLupLijLBBGaqnRaRWIpWeJsMFi8qB5RO0fOvn/fPtS0jMIvJE\\\\\\n\",\n       \"7WRSbZivskSrkIDF/RwaWBT9MgcVC1bcz8IXb1wKYCxo8TRep0SGI8qwPx1OyOIRz8PTpJjE4pYr\\\\\\n\",\n       \"vTbFJp8zy4cObTSMscmNN964vHfBMAzDGMdYEncjDyZgGYYxDPiEK1/ooG+ab7xvOR0eqPt1vqmQ\\\\\\n\",\n       \"wKTFLtn5xhVaCFj6r56vf58KhVSwi+PIdRgXRURRhGH8rR9pCwNWra6loKEV9ONvkmD7CdVqMdVq\\\\\\n\",\n       \"qShTrWpHlhSmpJAk3Vg+8ShW+a3kuZFils5F5Qv7lPmu5DAvL8MJpUAl3VTahaXDDn3OK17XYFsn\\\\\\n\",\n       \"NAzDMAzDMEYyhBDd0NZhz3RjHROwDMPIYCjOK58IJQUqn7gRynvUSrySriwtZknRSidj9wlV0nHV\\\\\\n\",\n       \"SsDyCV/9Dq8oSm+xURQ7kapYTIUrCFQsWPHforgbt3Ji9TuviCoViFhRXcSKnKCF6YlrRjh2f5Mk\\\\\\n\",\n       \"FYQwvV9kYlFKhu6xSEUqN5bvPGsxy21BCEI+EUmGLvJfeS6lYCZFLJkfS25Hb1ej81hpscoXbhjC\\\\\\n\",\n       \"hC7DMAzDMAzDWJ6YgGUYRgbxIMUrvZycxxc2KMMJ5XyhnFEsGMn59DRfListVsnpPsEqa1rItZW6\\\\\\n\",\n       \"riBawXEFMQodBCr8ZfFK9vMwO7DyCljQqNAP0Yq7/uGIqtXICVzVaoGq1YQqFRlmJ0MB2X3F/XIa\\\\\\n\",\n       \"l51snVCLXdIlx8slKuk7LytdYdJhlScnlhazeH0aFtd8YYJyHXJ+PZ+e7hPsDMMwDMMwjOGgmkSu\\\\\\n\",\n       \"G+o6jLGNCViGYQxDPquhrEcKV1qk0jmvdL8UqXTeKR3e5xOfQoKVnq/VtHQ7UVSgUglOq35Rqlzu\\\\\\n\",\n       \"F6lkPwtYLFwNxYElhSwpaPX2yn4IWugvuGX6+gqUJFK4qijRSopb0q2VNU06qsiTD8vXL3NnyfBD\\\\\\n\",\n       \"HWIoxSophGUJWdQifLBdhms9hmEYhmEYhqQ6DK0QVu0ZbcxjApZhGApfHiof0SDGh0IEfXmufNOl\\\\\\n\",\n       \"U0uHD4YSt4ecUjo5u8xh5XNfldT0/vnhtEJoIP6WSqkYxR2GWazSAhaLVzzdHWF9OIs0RDDt7w8Z\\\\\\n\",\n       \"TP9KAQvb5+nor1RSR1a6PRa08FfmDWPBiBO29wVCNhlf7inKIfRIR5V2cMkcV6GwPymY6emcSyu0\\\\\\n\",\n       \"D6FwwFZhgu2EHBqGYRiGYRiGMZyYgGUYxhDcV1GbIpUvLxbT3xpf6/XrPFg6jFC7sHx5rrQQJZ1W\\\\\\n\",\n       \"chqPLw1wXaW5rYpNohX6eZj7tYCl3VcsZrkjrOfFyoITtwMWrXwuLClg9fWlXeq+SrdXqcSuS/Nk\\\\\\n\",\n       \"IY+WTOLOApEsd5msPZR/qqLmqWQsI8VInfMqT13Q4YBZ+a7kOJ/gljfHVatwQ8MwDMMwDKNdakns\\\\\\n\",\n       \"uqFQ4wdkY8xiApZhGBl5qIaS94rn5Wmyn+FQQL1MKP+V7nzhgtJRJR1WRc+wFKqKGQJWecA8UrDq\\\\\\n\",\n       \"7OwXrSBSafcVD0sHls6Dxf2t8mDJ/Fc6ZFDnw0IIIcQqFrlYwELH09Df3R25kELkyKpUSnXRiTvs\\\\\\n\",\n       \"SK8nJ1afCimU51EnXedhGUIoxxdFKKNEilE14RDT06TAJkMK2YXFgpgWrHToIY9r5R5jkVS2hGgY\\\\\\n\",\n       \"hmEYhmEMFgshNPJgApZhGG24rqKceayy5vVtL5T7Kku8ktNkDqyQ60p3JSVSyeGScl2l/XBcxXFM\\\\\\n\",\n       \"HR3UyHWFfilaoR+ddF+xiCUdWJimxSwdQijdWNp1JfulaMWCFQtYaRL3ZhcWxqchhWmHfenpScML\\\\\\n\",\n       \"+/oS6ukp1Fs2lCGEVdHP56wSCDuVSdx9w6Cg1sNhfxKd4J1FLG4hUYYacj3MEp98IYC+pO48b56W\\\\\\n\",\n       \"CeW6DMMwDMMwDMMYKUzAMoxxT96cV0y7QpcvrFCP0/msyCNi+TpfkveQYKVdWaFE7dyxiJV2hUKh\\\\\\n\",\n       \"3qpg5BxXLFihnwUsCEFSwMJf2QIhD0OUkqGFHErIgpXMh+UTsFiswrAOHYRAJfNe4S+LWCxcsajG\\\\\\n\",\n       \"DizeRjoewhXErKieH0ufL32OZSJ1KR5pIUmLPNJRxedSrisK1Alfoni5HzqEMAqMb1V/2wkn9B2f\\\\\\n\",\n       \"YRiGYRiGkZfaMLQimNWkjzE2MAHLMMY9Q4s1zx+WGBJBshK3h1xZ0nWlQwqzOp3LivtjjwOrP2ww\\\\\\n\",\n       \"ikpNIlVXV38/O7C4X+a/4tBCmQOLBSTZUiG3QKjdWCGk6wqwQIVh7mdnlRS2eFssrvX09I/HdlnQ\\\\\\n\",\n       \"An19ELEK1N2NHFn6XMrzKfNZ6dBBt7cBgScRzixZR2TOLLk9DgX01REWy6SIJYUt7dQaTnR+MMMw\\\\\\n\",\n       \"DMMwDKNdahS7bigMdXlj9GMClmGMS3wJ01sREplCbiu5Dd943/ZZudEtDfpyXkUin5Uvibt0Vekw\\\\\\n\",\n       \"wYEOq4F5rjpcuCBcVxCi2HXFApZ0WbGIxZ0vN5YvhNCXA0s6sELIkEGdA8sXQsiJ27GfLFJhGncQ\\\\\\n\",\n       \"sngahqU7q1iMqLu7RNUqwgplonXOj8WiEwtPMswwVG9qSnziHFhYR+jgE08ooRaNokAieNkqoR7P\\\\\\n\",\n       \"82vHWLvhgYUMoc0wDMMwDMMwjKFiApZhjDvaFa9COa2yxKvQenTolw4H5P3T4lcoFxaP0y4rnxtL\\\\\\n\",\n       \"ClfakaUFrRIVizGVSujSkEEpWLGAxR2GpQNLzsthg7J1Qg4nzEronkWrxO3swMI2WNCSea/Qzw4s\\\\\\n\",\n       \"GebI4hVgESsNbUSS97guanWI8ufcVVLskcNSyJEuKf7pkQKUFJmka0qOk/VEilkUmC9LSNIClU+w\\\\\\n\",\n       \"GkyIYJ5tG4ZhGIZhGJJqErtuKAx1eWP0YwKWYYwLtNA0lOVD46I2+n05rHyhgtq5FVpWClahUMK4\\\\\\n\",\n       \"Rd6rfodWHBeccNXRETWFCbLbigUtdOzOkoKWFLBkSKFM7M7jOWl7yIHFrRLKVoG1A4uTunPYoEzY\\\\\\n\",\n       \"3u+kSjsMS7EKf2XuLd4292Ma1g0RC2WIvFipEYtD9YrKeSQTrxcCApYMD5SuKClaVT05r+R03obP\\\\\\n\",\n       \"daVzX4VyYOlcV77cV3nzYellLD+WYRiGYRhGXmoUuW4oDHV5Y/RjApZhjAsG+zUiT9hg1vayclv5\\\\\\n\",\n       \"nGChnFdSgOL8V9qN5XNhcZihDiWUYYOyv+RCBuG80iLVxIn9LivpwGIBSwtdMryQxSoe7wsj9Dmw\\\\\\n\",\n       \"sloh1A4sGT7IDiwOIcR4uK0wzGGCHDqIYRbWeDwLbuhfsqR+Zty+pQne0+343HdSOKrVBUE+DyxI\\\\\\n\",\n       \"FYUgxCGD7J6i+nQOR5QkGe4rWa94unZWyfmy8lUNRzghr4ex/FiGYRiGYRiGMVRMwDKMMctQLLSh\\\\\\n\",\n       \"sMHQvDrcr528Vz6nlcxl5RO0ssIGORRQtzrIYYJl0c9dOlwqwXmVik4QrLSAJUMGWZjCeJ8DS+bG\\\\\\n\",\n       \"kuGEshVAneBdilbcMqFEtjjIYhZEpiwBS4pWLGLpjsMIOayQW0lEPzvEWORyZyiGiFVw620+h/L8\\\\\\n\",\n       \"yTrATi0WthpHpOpRVYlIUpDinFc8TrdemJXgXee9KgiRyydY+RiKo0peixZaaBiGYRiGobEQQiMP\\\\\\n\",\n       \"JmAZxphiqKGCcrlQ2GC72/C5rLTAIUMC5Xz8N8qZA0uPk64rLXqxGyjt4LxKRSmEDvYLV/wX43j8\\\\\\n\",\n       \"hAn9AhamYViKXbJVQnTsvuJ+7gqFxLW3EiU1KkQJUZIqU1GVKJaaC5MQxZiNyy6KqViOKInSVlvg\\\\\\n\",\n       \"iuKk7eggQGE/2GXF+wHRqru7fz/cqpP+FgnRz+GDnLednWBpK4URxXFCtRq2KUMIq/WyTZTgxOdC\\\\\\n\",\n       \"1gkeD2oq35Uvn5UMKaRAy4eh/Fd5wgB1aCEfk2+edsMKQ9fMSLSKaBiGYRiGseJRxbPsEFsRHOry\\\\\\n\",\n       \"xujHBCzDGFPkCe/Lu55W431CV8hh5du/UL4r7ebSAlbIqSWFqWZxaqCYVfDkvEoFLBaauGPxisMG\\\\\\n\",\n       \"0a8FKzks3VnNLREm1OVaMkyoAIdTMUkj/aEQOetU3UbFNiuZ9EqWJlui6n9LUJaKJUrimCCH9VUi\\\\\\n\",\n       \"t6pKJaq7qtKQPwhWLGaxy4oFrDTHVX9eLOwShzOiP03kns7Hw3BhQcxKErROyHvHSd1ZwJI/MXw8\\\\\\n\",\n       \"LFDJ/FiVgLNKt1YoxaqsvFjkCWnMCuNrlSvLN+9gkbm/TMAyDMMwDMMwjLyYgGUYKzS+PFKDoZ28\\\\\\n\",\n       \"VqH5tbjkW3/oq4h05OgwQR4uedxVch4pUpWCYYLNIYRFKhbThO2cy4o7CFEsRnFIoZzG/TLcUOfH\\\\\\n\",\n       \"4mEnYKGlPwg11XpSqqV1mxTH++nmBDHsQ2d75/i+OKaoWKQyJ7DqKlJXV5H66ptZurQ5hJDDBVm0\\\\\\n\",\n       \"wr5C5EKH1XI/6HeMNefrQkJ3iFkIJ0ydWbKFQl+9YHRLhTK8UOavwjnqE4KYKwAVElhrQyiS+bl8\\\\\\n\",\n       \"opjcP16Hb/2y/g9WiOI6K7dp4YWGYRiGYYxPaknkuqGuwxjbmIBlGCsc2qU0HOvLu72s4azxcju+\\\\\\n\",\n       \"nFZyGZ3/SoYGSveUnFYU43wJ23WLg6mAVSgUnEMJrQ3CRSUFLAyzUCXFLPyFYMVClS8/FgtbnZ3w\\\\\\n\",\n       \"RFUprlUo6kYiqh6KOFEVJ6disQrDviRXA06HSpJVT2AVceKq+nBSKlGh3EFxqUSljiJ1dBSdIAXR\\\\\\n\",\n       \"Cn855xU2KxflJPNSqIJ4JVsk1PUjHV+garUkBB2ZrD1R4lRRiEjcz/OxqFP15Lxi8UoLSz4Xls6v\\\\\\n\",\n       \"pcMS5bJa5OJ98U33npRhcFPJa8HcWYZhGIZhjC9cOowhhgBiHcbYxgQswxj1RCMQJpgnj1WeEEGf\\\\\\n\",\n       \"eNVqnHTohEII9bZ17itfUncpaLEzS+fH6he24jimYjFyAha7pWSuK+mwkgKWFLRYsILYxTmvXH6s\\\\\\n\",\n       \"Uo1KpYRKVKWorzcVraAUwQbFzQJylnXOuo5xgxGwOBO8bDqwWHRurKgL6y5TXCpTUqoRlQtUiBBa\\\\\\n\",\n       \"GDeSs8sQQs5zxeYv2QIig93mYSyXDkf1qMeYajXOgaVzYvG50ONlzivZIqGcxo4rKT7puiLzZLm9\\\\\\n\",\n       \"VmJUlgtMjpN129eSoS8vlmawYlbWdW3hhoZhGIZhGMb4xgQswxg3ea18621nm3nGaXGB8eWx0sM6\\\\\\n\",\n       \"7Iz/hpaVua50i4Oh/tR5hZxXhUJxQGuBWrCSrit2aLEDi5dBf5rUPXHDkyYSFaIqFRAquKS7OW4P\\\\\\n\",\n       \"AhaLV/jL/dxxkikWtXxwE4bSJsUxfpx4i/uxznKZInQdHdTR2UnFziKVO1LXVNrSYDRg1bqfc2Jp\\\\\\n\",\n       \"cYujH9PdjqhWS11XqcDFQpV2ZEkHlm+azm0l6wa7rGRrhbwt6czSyeBl4nee3ydQZQlWWSKWbx1D\\\\\\n\",\n       \"QV8/5sgyDMMwDGNsU8OH0GSIDqwhLm+MfkzAMowxnduK8QlPWdv2La+XKQxiu1nzaeeUz1Xly4El\\\\\\n\",\n       \"wwabQwT7+8tN+bCKxXhAPistWE2a1D/MIpUUsLgf4xs5sEo1ilycXj2BFMfrSQFLO7BYvGI3Fruw\\\\\\n\",\n       \"shBJ3Btxf9zP4hX+yoRcdXUu7uykuKOTpk3ppJ6+uNFSIWbnRO/SncWhg5wDSwpYbBTDdHcWIxxi\\\\\\n\",\n       \"0bVO6M91Fcr3xI4szk8l3VdyXb66mVfcaRXmx3Wt2kKUknm0Quvx7eNQkPmyLFeWYRiGYRhjjypF\\\\\\n\",\n       \"rhvqOoyxjQlYxojyrW99i0444QQ6+uij6ayzzrLSXqYuqzxhgnmmt+PEatWxANHKiRUKE9TJ3UOt\\\\\\n\",\n       \"C2pXVv94hM8hdBCCjGxtUAtYrPlIcYs7zoGVilsJdZarVEgqFC/pJVqypF+04n4ZQsjiFTuzZA4s\\\\\\n\",\n       \"FrDY1uQ9HXU1SQpY7MhiO5lyYDWSXU2YkIYz9vVRVKtSqdhBcUeBoij9KWCRikUp2fIgwF+UhxSw\\\\\\n\",\n       \"pHEM/UiIDwGrWi3WxaCaKH9O2M7jpANL5sDSIpb8K8MKpUvL59RikYmXZeRy5JmmRTGf+NVuWGFo\\\\\\n\",\n       \"3sEghTxzZxmGYRiGYRjjAxOwjBHjzjvvpPPOO4+23nprK+UgoZC74aIdB1TW+FDeIcoYDoUM6rxF\\\\\\n\",\n       \"OieW3J5P5Ap1hRY5sCDUoMXB/kg7TlzuCyOUubB0WCF3nR0Qr2pUogrFlbpAtXhxKk6hk2KWFrBY\\\\\\n\",\n       \"2JI5sLSAxZ0rkrqipAUsdl9xP9bDAhbWh51npxevG+OjiIpd5PJjUTkVneI4LXfeDe6XxjCsHvCq\\\\\\n\",\n       \"WINLxav+HFnIhYXE7v1ilcyBJftZbNLnl6fJc18N/GWqqn7JeqQdUyxKtQoflPNpUUvOl8VwhxeG\\\\\\n\",\n       \"sDxZhmEYhmGsmFgIoZEHE7CMEWHRokV04IEH0gUXXEBf//rXrZSXWZhgNIzz5815pcUmOa3VMUqB\\\\\\n\",\n       \"ijzuKi1q+Fog9IlcBU/4IPJexV7XlQwj5BYIOWyQHVcIKZQtFMJ51VFOqFTt7RetIFAtWtQfPohh\\\\\\n\",\n       \"iFg+AUuHE0L14VYJMQyk/Ylj+aRVimP8dNigTOjOCh1vh1W5ugIVd3RQeeJEiid21MMHIWb1r5Y1\\\\\\n\",\n       \"NN60TODOu8rT+o1jUT0yUoaZcmheknHOeD4pdElHFIf4yXm1wBWqyyxi6dYFfU6sVqKWrx7ztFZh\\\\\\n\",\n       \"inpdwxFeKPc3FNpoGIZhGIYxeknbnx5qCKEx1jEByxgRjjzySNp3331pzz33NAGrCZ87ZLD4xKU8\\\\\\n\",\n       \"tEpuGBKu9HIh8Urm65Hb5PkLgWX1PDoflgwLTAWpZqGKO57enAcLSdt1y4I8LIUpmeeKQwV13qsp\\\\\\n\",\n       \"U7DmChX6elPBSgtY+MsOLPSzeCVFKw4hlDmwUutSf1ihD5nAncMGOYk7+rENKWZxPCSLaOzIYsGs\\\\\\n\",\n       \"o4OiapWKkyZRVChTYQrKrN/UxbvBpi/W1jiEkKdL3Q3zIan70qUlqlbZuZSuN6WiwgalkMPz8bAU\\\\\\n\",\n       \"nRIlXMlQQnZjsVtKDrOow3WLk8vLdfhEKxnOKOt8SHiS9TqPkOS7ZociaMnr1EILDcMwDMMwjLGF\\\\\\n\",\n       \"CVjGsPOb3/yG7rnnHhdCmIeenh7XMQsWLBiDZ2U4QgUHK1jlmU87p/Q033SfGJc1TopUWvDSOa/k\\\\\\n\",\n       \"8r7E7tK1w+KWzn/V33HeKx02yKGDHD7I5iQWuXie5kTvCZWiCsW93RT11kUqDhVEBzELIhL6WbTi\\\\\\n\",\n       \"kEJMyytgsRqkYdeVFLBkEnesmwUsjvvDwcj1ssWKFagooqhQoBiOMne8xUb5c2QjL4py4OTtOASe\\\\\\n\",\n       \"zum2OEIxNYBFlCRpeGLzOdGtEErXlTy/7LrSTilZZ0jluvL16zBAKVaFrsmQG0uO0/NSm/P45gvt\\\\\\n\",\n       \"R16GWxQzDMMwDMMYeSyE0MiDtTNpDCvPPfecS9h+6aWXUidne27B6aefTlOnTm10a6211hg7K/Jl\\\\\\n\",\n       \"eyjile6GupwelzU9JJ5Jx4dvPp2IXa+z1TQ9PSvvla8/7ZDbiU1KHF0nRSzueDyLVTIPlhOvOhPX\\\\\\n\",\n       \"Fap9FKOlQQhSLGChwzAcWOzKwjju546ny/m4f+HCpr+J6nzzBDu9zdD+iS7uWeqOjY+ThTsZcsnD\\\\\\n\",\n       \"XFZSAOQyZP0sjXT0JdPPOne+BP66PmTVIS1yarFL12+upyFnZKvrx3cttbr2shjsciNx3zEMwzAM\\\\\\n\",\n       \"w1g2VJN4WLp2+fGPf0zrrruue3fdcccd6Y477sicHw2TbbLJJtTV1eXeW4899ljqxodrY5lgDixj\\\\\\n\",\n       \"WLn77rtp7ty59IY3vKExrlqt0s0330xnn322c1oV4BQRoJXC4447rsmBNTZELB1GNxjavQm3+8Ib\\\\\\n\",\n       \"mlcKU6H1+l76pXDQars+R5Ue50vMrt1YcpoOJ+TwwWYnlUzYzlF2yHGlwwo5hJDDCcuFKhWrfUQL\\\\\\n\",\n       \"F/TnuoL4A9cgO67Qzw4sFo3gruIQQ7YtcRJ36cCS2dLr/U0+IE7cjk62QiiVOew4/nKoIB9svRVC\\\\\\n\",\n       \"N50zsXPriADbrdupilMj6iyXKC4UG+4rznOF3efdlJ1sSBH0m70i6uvjc8FHIx1Y1cC5dGvxDMv6\\\\\\n\",\n       \"JcP/tBsrVO+4rvrcWXJ92nkllxtMMnd9DeUN8fPtc7voRPeGYRiGYRjGb3/7W/ceeu655zrxCuLU\\\\\\n\",\n       \"PvvsQ4899hjNnDlzQAH96le/oi9/+cv0s5/9jHbeeWd6/PHH6ZBDDnE5ZL/3ve9ZgS4DTMAyhpU9\\\\\\n\",\n       \"9tiDHnzwwaZxhx56KG266aZ0/PHHDxCvQEdHh+vGBkMxNQ7GJTEYZ0ee6dpJ4ptPz6tdLiF3jHRs\\\\\\n\",\n       \"+YSoKODG0SKWzHnFfzk8rb9LRaqo4RrSea9k2CD0HZnAvX84oY5ilQqVXoq666IUhwfCCYWOBSz0\\\\\\n\",\n       \"awGLxSvZImFdwEqqVUoqlVRWgGCVJKlMIcSrRonWlaK4WnU/lFCVCt3dFBWLLgTQHSC2xXYobIcP\\\\\\n\",\n       \"ksMFWTTjhFYYZnUqSdKzWSxSsWsCRQUceypi6UTtaZ6r/shHFrC49cJ6ei0XQgihprtbC1ich0r2\\\\\\n\",\n       \"kwotlOddtl5Y9Yx3ByDqIq9L5snidXMdqwnBSopYWlyK1LplTq5kkCLVYASt4QgPlNeoJXw3DMMw\\\\\\n\",\n       \"DGN0gKfQ2hBd4/Un2dxAdDriiCPc+yqAkHXttdc6gQpClebWW2+lXXbZhT72sY+5YTi3PvrRj9Lt\\\\\\n\",\n       \"t98+pP028mMCljGsTJ48mbbccsumcRMnTqTp06cPGD92CIXXDWb5dsSoVvO32q+QMBXar6hFvw4l\\\\\\n\",\n       \"lC6ZUGiXr/OFC2rRzCds8TL9rRdC5JGhg9Ko5Asj1Pmw0vGJ+1uo9VHcV89lxYIUtzIoBSvOh8XT\\\\\\n\",\n       \"0GF+HtfTQwmEq95eJ1zV6gmlKkJSkB6ZAe3gJUkq1bFS5BaqURzHLhl7VKtRxCIVNxUoFSi2TKEg\\\\\\n\",\n       \"eJgLBkAI6+mhGH87IiqXC9RRxirSlgW5bFi8wjDrYihTNpTJsk71MuTD0gKlPs8+EVSKSlqMCtUf\\\\\\n\",\n       \"7aKKhejFog2vTwpAvjxZcrzu9zFAdmwx3Tdf3nxZer/yEDoOy5NlGIZhGMbyY7AhgHodeent7XXR\\\\\\n\",\n       \"Q4gGYvA8jUbIbrvtNu8ycF1dcsklLsxwhx12oCeffJL++Mc/0sc//vEh7beRHxOwDGPItBu251t+\\\\\\n\",\n       \"OLY3GCEtdJMPhQyG5tF5duKcopRPuNDLhTqfa0smc4eAVWzkY5J/OcJO5m7SQpYUtLrKNaKFQrRi\\\\\\n\",\n       \"cYpzTOlxHCrIeaaWLqWEBSyIV319LrS2KgQr9gLJNvmkJ0eWSkUcPfoLSeJcWQV0UItwgPVwwIiz\\\\\\n\",\n       \"qjMcnigFLE4Ij34OS4wiiqOIOieXqbczpmo9JBDlwavkMuIk7jyNBSzsRprQPXLnIklqykHHR59V\\\\\\n\",\n       \"J6QjyidkSuGFxS0JJ4CXIhi3YihFMSns6JC7kAilr5PaIK7BwYQjDnZ+vaw8ZhOwDMMwDMMYG+hG\\\\\\n\",\n       \"wXwRPy+//LJ7Hl911VWbxmP40Ucf9a4Xzisst+uuu7qoiUqlQp/+9KfpxBNPHIGjMHyYgGWMODfe\\\\\\n\",\n       \"eOMYLGXpMBrs8nmJh0lEy0rmHFreJ1oxhYAjS4pXWfshHVq+MEE9rhiYp6TCCdNpSB6unVbIZ+VL\\\\\\n\",\n       \"2s4JymU3eXI9ZVSplgpPvkTs3M9hgzzMIpYMIezupmpPD9WSxEkiFSFcVYTMwhKI9AnJktelFomS\\\\\\n\",\n       \"cbJQXciKkW+Oc1yhY1cWQgpZ0OIQQhaxODaQ++vurAmdXRTHSIafzs6tEGJxHBqvhhtBxOpRhtzg\\\\\\n\",\n       \"IYtdfX0xVasycbvMhVXznF9fSGEhEDboCxf01XOuuzIHlgwR1P43HXKXFfoXEs98+6Dn0/Po+Woj\\\\\\n\",\n       \"LGbp8jYMwzAMw1h21NBytUs9MbR1AJ1P+eSTT6avfe1rNBzvtd/85jfpJz/5icuZ9cQTT7gGzE47\\\\\\n\",\n       \"7TT63//93yGv32iNCViGscwcV3lDBfOsezDuqrwOLS1I5Z2eNzRQO6e0Q4vH9YcCNosaUqjSEg7P\\\\\\n\",\n       \"U6AoipucV9yvwwQ5N5bPlVVC3quk0h8iKEMHeZx0X7FgxWGFdcGr1tdHtUqF+uriFYtWfSKNuXRg\\\\\\n\",\n       \"VVsEo+mSYVmlJJaHKwtqEkINYw4nBFCUXPWou64AFw7EK1loCEssl6lQKFGpiDIpuHJhBxYOn0MI\\\\\\n\",\n       \"ObyQRStoZrLc8bdS4Topz1+xXhp87tilxSXAzikeL11W2kHF4+Ww7JclytOkRCi3NyB4U203j3PK\\\\\\n\",\n       \"J3RnCWu+deSdJ3Q9D0bMGsxyhmEYhmEYg6dKseuGAi//3HPP0ZQpUxrjffmWV1llFZef+aWXXmoa\\\\\\n\",\n       \"j+FZs2Z51w+RCuGChx9+uBveaqutaPHixfTJT36SvvKVr7gQRGNksRI2jNxoQWYw5FnWt50847K6\\\\\\n\",\n       \"OMc6fNungODkW4cMAdTjtUAlfUR6ee2w8h1rv1Dlc23hx6NYTAUsRMT5Qghlxw35acdWgWoUV3qb\\\\\\n\",\n       \"E69zPivd6dxYdVGr1tND1b4+qlSrTrCSHWSb3no//+0LDGfN0ysEsab1V6upeIb9YlGNu9BxyGOp\\\\\\n\",\n       \"H3dc7XNlIZ1rXJ5yWI6XZc7nAK649IfdFwrqa2FS1jPtzJP1xxeC6gsz1cKrb7yuZ/EgrpdW115W\\\\\\n\",\n       \"1849oNU9ZHnd5wzDMAzDMJYfEK9k5xOwyuUybb/99nTDDTc0xiE3LYZ32mkn73qXLFkyQKTiRsoQ\\\\\\n\",\n       \"UmiMPObAMoxcZIXfZZH3JTBvmOBg1xEN4tiinI4u/ZIu1+kTryjgI4rUOClsyH6f8CHdPEUqFtPk\\\\\\n\",\n       \"7SxG6TxYLLxIF1Zz64SJG1dY2hN2WPk6nrZ4MSX1Fgk5VJCFJvRzCGFFOK94PHt7QgFjumTl0fM6\\\\\\n\",\n       \"WAoCSa1GhVqNSvXWBpHk3YFCgOOK817JJO5195WbXlelil1EUVfaqiMSumM16IfGJZO4SyGwOQ8W\\\\\\n\",\n       \"55WPqLe3qI6eWxaUR6brBanwQNkaoXRosX+N1yUdWzrMUDq4GJlri5eR9V22YiiXkXm0NNr5JZEh\\\\\\n\",\n       \"i3I7vmUlOrTRx2DzXOnlrLVCwzAMwzBWnBDCvBx33HF08MEH0xvf+EaXlP2ss85yjipulfCggw6i\\\\\\n\",\n       \"NdZYg04//XQ3/J73vMe1XLjddts1QgjhysJ4FrKMkcUELMMYdvEqGiZxK2u6dCy1uw9ZQlSrbWiR\\\\\\n\",\n       \"So6TN23teuFpUnLxOVy0YCWFqZB0MzCs0NfCoMx5xR0EGClgsaDVCfHKtTjYPTBUEP06xxXyXskc\\\\\\n\",\n       \"WEuWuKTt7LBiwYqdUjoHVjWQBysUJKaDJwseAatYn56IG31xyZJmAQtAXYJYxSGE6JeqH8dYxjHF\\\\\\n\",\n       \"xSJ1dnQ0ErWjzDgHFpcl58DisuYcWCxkpeGFMlwwESGEvo7FLhabZH3SopdO4q6FrsgjxkgRTCLz\\\\\\n\",\n       \"bsn1aZIcoYJZopR+2NE5qPKIUKHQRo3cj3bELC3yGYZhGIZhDC81il031HW0w0c+8hGaN28enXTS\\\\\\n\",\n       \"STRnzhzadttt6brrrmskdn/22WebHFdf/epXXcva+PvCCy/QjBkznHj1jW98Y0j7beTHBCzDCBIS\\\\\\n\",\n       \"doa6TJZgNFgxa7jmb7VPWrTifvlj4Quh4mV1v8+h5XPhhBxdA5eJY7R4lxqJ0OE3h11XMrRNOoRk\\\\\\n\",\n       \"GByLW7AWRZz8XCZCx18Ov+MwOzmMRO1oZbBWa3JfseNKClgVj/tK5sIiTyYmfeS6jT25zICzAvUI\\\\\\n\",\n       \"ebGwr1CbOA8Wh0dyYfHx8vH19aVlUe6lcrmDyvVikGXGOa+4AUQuaz4P3J9uEg4u3/krKDFLHm2i\\\\\\n\",\n       \"+rXDSgtNPteVrJ+ylKQ4I9fvS8DuE4GSFtdOHuEo1LJhVr4tvb6s7ehpsgxaoUU0wzAMwzCMscHn\\\\\\n\",\n       \"Pvc51+VpjKxYLLqE8OiM5YMJWIaRyWC+ArQrRIVedOVwHrdWnm21mhZyZ/mma3mE//pEqZBQpQWr\\\\\\n\",\n       \"KKeYpV1YqSsnitBSXjxANOH+kIDVnM8poVIxIVpS6RdyfJ0Ureq5o1zYIFobrFQaAhZ3fR4Bq0+F\\\\\\n\",\n       \"EMr2+Fi20LKGLlUpYDG+9ONufghYlQpF9ezrEdQkFA4fgxSvWKHi/jQLO5UmJHXRKg3T5JYHuV8m\\\\\\n\",\n       \"b5ciVv+5iJyIlQpYUrCSCdp9XSgxu24dUAtbPN03ToYLcmnVMsQaX/hfSHDy3Tt4Wl4RiqeFrmM5\\\\\\n\",\n       \"zXfWQ2JTO+IVYy4swzAMwzBGjmoSuW6o6zDGNiZgGUYTvlCgVrQSlyhjna1EprhN8SkkZOXZdp71\\\\\\n\",\n       \"ynl8YpYWnHiaDCEMCVEcOpjmsRooevF4PV0uGzmRhB1V6A+FE+quq6seLRfXKKrWxSsoMyzu6NYH\\\\\\n\",\n       \"eZwKJ6z29DTEKV8idu3AqgYcWFk5sGTJFESn2+qTIhjLFaVqlaJqlQrYb1jVuOVBqTTheDgPFscG\\\\\\n\",\n       \"1sWsqNpHxbhIHR0FV2YoHhSTLEs5zPmx+Fxw64XIo4V8WP17z6F8RRVEKcUqns7TZP32SXiyRUPt\\\\\\n\",\n       \"U5Pz+UhUa4i+HFdc6hTIl6XXx8crx0nxTY73+eh84YV6G3KaFOVauaryCFpZ+2IYhmEYhrFi5cAy\\\\\\n\",\n       \"VjxMwDKMtoQoTTRI0cq3bGj7IVdW3OZ6s5xfeQWzVmKWz0HVLy6FBSye7st1pefR01gAKVIcFzhd\\\\\\n\",\n       \"U5OQJUPdfP1NrRHGVYpkC30qPLCp9T7djxYHVbigdF6NhIAl58fy18+fT+e99BK92NtL63R00PGz\\\\\\n\",\n       \"ZtFeU6Y0nQlXathfVvk4IRhb0jCNm2bEsdWnRfVppWJMtXJa1q3KF/mxeBhCVppuK6JKpejErH6R\\\\\\n\",\n       \"KctxJUMIa4HcWD4ByydESYeUL+9VHEhe7rs2ai0ELbnNdnJnZQlgIaGLp+lA0nYSvrcjSIVcaoZh\\\\\\n\",\n       \"GIZhGIYxeuKjDGMMEhJ5Ws2bV3SSy+npvvVJiYLn8Qk5eh9C03zLUQuRKCQiyf3xrVu7sfT8vn3y\\\\\\n\",\n       \"hRpmlQnLMf0uLyRURMchg5xvyfc3lBurWExc+kintEB5wV/uzwon7OujpK+PatVqkyDF3W2rLKIL\\\\\\n\",\n       \"N5zXNE7nxJKJ3dFdvuE8un+VRV6hS8/L89y7eDF99dln6b0rrUS/3mgjevuUKfSZZ56hRxDWqJbB\\\\\\n\",\n       \"viZ8jDrHl+x0OVQqFEdVV1a6/HT56r9yOp+vgU69VvVW1wVfPdLDFOj31T/fNZf3+vBdg0O5Ztu5\\\\\\n\",\n       \"B+h7z2DuTYO9DxqGYRiGYQyNJImpNsQO6zDGNubAMgzHYMIGs6aFXih987ZyamXN59tWOy+tep3t\\\\\\n\",\n       \"DIdCCH0Cg89VlSU++IQD3zr6c2AhMbgWprRoJXNhcX9/LqyEioWECvU8UVKwaUreLjsxroa8Vx5h\\\\\\n\",\n       \"6tZVFtEROz9FS4sJLY0T+p/HZw6Yh9vhYyfV5RvPpUu2nEPlSkSfvWkt2vbVyTQRrQBGkZt+2/z5\\\\\\n\",\n       \"9Lu5c2l2Tw91xDFt0NVFp667Lv3u5Zdpx8mT6WMzZ7qb+5GzZtFtixbRxS+/TGesuWYj21SFb/59\\\\\\n\",\n       \"fVTgVgf5WKQDi21TshywTGeNagXkwkrzYGUlbJd/2ZHFw0mShhJm58CKWiRx9yV0lyGEcUa/nC/y\\\\\\n\",\n       \"5JXSIYG1HG4pnyPJd11qZ1Yod1atjTBBXx4svVzUYj9D03zw9p2VzjAMwzAMY9BUKXLdUBjq8sbo\\\\\\n\",\n       \"xwQsY5yTJSCF5g/dGPMITEwh57xSGJJ/211PYYiCViuxS4dwhcIGfeJUITMxe3OOK71s/zLsvuLI\\\\\\n\",\n       \"N9nCoAxt09Pwl1M8RZV6ziudrF25rRodJ4BautQJWNothZDB+6ctdeIVOHvLOW7cRx+f2QgnZNHK\\\\\\n\",\n       \"9ScJnbfeC3T9lq+6+XuLCZ1VeZboYaJJpRLtMW0avXHqVPres8/Sx1dbjd48dSr1Vqv078WLqS9J\\\\\\n\",\n       \"6OElS+jDq6zSSA6PEttp0iS6ccECN47Fq4j/9vZSASoSQgRZvNLHJ4UtUQ5xhBDCDld2nPPKV76c\\\\\\n\",\n       \"A0u2TojxWGW16jv/ur7IsDzOk0WeMED5V9bbWouE6KGQOq7HrXI9yWkyVDGLkNCkhSB9jDpfVihX\\\\\\n\",\n       \"llxP1KKlw1B+rDzH0U45GYZhGIZhGMbQMAHLGMe0E/7SykWVZ3wep5VerpULK7RsK1dWaD2+sKbQ\\\\\\n\",\n       \"sehlskIMfaF/MmSslcgVcl7196N1Ow5jk+FqOnRNOoV0uBvBfcWKC7uOfG4s8Rehg0mSuFd3bklQ\\\\\\n\",\n       \"hut9/IkZ1B0n9KMt57iSOW/LOW7ahx6f2ZgX3T0LF9KP1nmeXn8DpKaUibN3p4lrvo1q711CPS/8\\\\\\n\",\n       \"m6558Hq6at48N239CRNoernsjn6dri7397VKhaYWi4228fB3pWKR5gl3GJdYldOl12oUq2NqChn0\\\\\\n\",\n       \"lQXKqFarhwKGHW66/OW5wTxwX1Uq2n1VaOHAkk4lOSxF2igg7Mg096SWleKOFHX0deATjZI2c2Pp\\\\\\n\",\n       \"1PryutLrkaKb3F6Wo0quR7vIfNv07YtP+MqiXdHLMAzDMAyjn1oy9CTsWIcxtjEByxinDCZ/S2je\\\\\\n\",\n       \"KGd/3vmynE6txKk84lVonjzr8YlautOurTyilE/oCi03sIuiuCmEsD/PUv+w7A8JXVFfXcDijkUb\\\\\\n\",\n       \"PU6JOnBOcSggi1gsTuHvwY/PdP0/qYtYF245xw3vVx//l1deoXPXe4Fo9/4Sn9Z3ME2dtj/RtHR4\\\\\\n\",\n       \"4mZvoWm7HUSLHrmR5v/1PDrpv/+lLSdOpF2mTaNdp051whWJfeCAOuldkvvVmC9JKPaJdfqY1XAE\\\\\\n\",\n       \"4avkL8tGedbLnPsH5sdCHizOV5BVP1h44qOS9SMKhAmyKJYVRsjzaUFJjpMOKC1gcYnrcXKZkCjm\\\\\\n\",\n       \"W48W2yI1r7z2spxjFBDz9L1AH1fWsnm2o9drGIZhGIaRD85jNRSGurwx+jEByxiH+ESi0HxZolXI\\\\\\n\",\n       \"dZVnez5HVMjlFQpN1MvRIN1XhTacY6GQQjk+S5jSoWFasAjNn5XcG+KV3wUkczFx6BrP09wKYUJl\\\\\\n\",\n       \"hBB2K8FK5r/yOZPqHQQsDgNkp5MUi9AdWA8bvKAuYv287sRa5Y5yKl7tqcSryv4Dznpc7qQp276D\\\\\\n\",\n       \"Jmy4I8371fH02Pw59GpfH/16zhw6Y6ONaFqxSK9AUBPbfblSoenFYlOoIocSOokHIYQybFALdDJs\\\\\\n\",\n       \"UgpY1QqVJyAPVtqqIIcMIjRQhnKG3FlSOExDCX3CJdeTxOPG8rUkyAKXrqdS9JKilgzNY2oZ4xmf\\\\\\n\",\n       \"Y0mH/9VaiEE+AYuXaRUWKKfxciEBSUuZWfP59kveD0ItKup5LZzQMAzDMAzDGH5MwDLGGVrwCZE1\\\\\\n\",\n       \"T0hQajfvlFzG57qKcs6Xtb1WLirf9nzrbuW+0tvLkwOLBaxiwGlVVPMWRdccauZL2C4dQZyTyRc2\\\\\\n\",\n       \"2HAL4cW8VhdoEErIohWHFEpnkmyxry5gscOJ5QQZTsjdR+oJ3C+qi1hI1E4bEFFXa/FKUpy0Es38\\\\\\n\",\n       \"+Hdo7i++QFH3fCrWanTb66/TJhMm0L2LFtF+M2a4EsU2b1+0iLacMKGxL9LPhGGXA4uPhZO5y2Nm\\\\\\n\",\n       \"4YrFLJSN65AmM2k433zhmpwTy1fmUtRKBSx97qVgUhPjpeOJ6yhLckVR8nlyYGkhjKdLAYmX184t\\\\\\n\",\n       \"uY6a+jnV69TbI48w5bvnSEGrEBCsfMejx4WEMN8+ShGKBunK0qKZYRiGYRhGNjVCY0XRkNdhjG1M\\\\\\n\",\n       \"wDLGEXlvaCEnVN5xWtQJrdfnyvJN0+4mOd63fjlvlojl2y+fQBVaVu+vHtYuGCloyUTtWrzipO0h\\\\\\n\",\n       \"Z9ZAt04oVFCGtumQNj09SliYqbdC2BBq6p0nnC6pT5Myi+70+P3rYYO/qItYIfEqTmq0xctP0so9\\\\\\n\",\n       \"C+nVjsn08CrrUy2KqefFx6j7mfupc93taMpuH6cXrv62K601Ojpo0wkT6H//+1/6/bx59ObJk+kf\\\\\\n\",\n       \"8+fTo0uX0olrrhncN9fVjyOSx8jHrMuhfvwIIUySmkvmnid8sClUU00LO+9C518LM9JhxUgRSs8r\\\\\\n\",\n       \"55GCkBRzQmKQFHB0yKFeb2hcKF+VFo54333jffvI84VEppCw5ps/a1weEUu6tgzDMAzDMLKpJpHr\\\\\\n\",\n       \"hsJQlzdGPyZgGeOIoYYN8nT517dcSCDifp+zKTRN73eoX68rJHplOcXyOLN8++o7BvmXMsSrLOHK\\\\\\n\",\n       \"59yKvP06z5IWSQbkuoqUiOLcV0qkkgKOFHKUqKNlCelvka/uUjj64OMz6fKN59Licr8oEScTG+LV\\\\\\n\",\n       \"zi8+SJ9+4A80o/v1xvR5nVPp3K3fTzeVp1H3cw/RgruuolrPEoriIq1RLtK2U6a4G/oX1l6bLp0z\\\\\\n\",\n       \"hy6eM4fWKJfp9HXWoQ06O5v2hXNgyQ6CFCWqHDCsRSwW8Fj0qucf0+XqS+AeEhezzm3/XxZfCgHR\\\\\\n\",\n       \"SIcPypA8OY7ro3RpSUFGJk73hfj5HE9cqvI6yXJfSWdV6F7B8/mEIB4nj0G70nQCeJ3vyifM6eFQ\\\\\\n\",\n       \"Xiw5XwguVx36aBiGYRiGYRiDwwQsYxyghaHBiFe+aVnCVJ7wPr2cz9HkG6/Xn7UO377o/cnab73+\\\\\\n\",\n       \"VqKZb96Qs6Y5DHDguEiIWr7WCtMuivqTt3NCcV8rgzqJe1N+JqyKRRmINkCLV/yXp9WHtaMJZLqd\\\\\\n\",\n       \"iOgyJV65ZaLF9HrxMnrns5vSV++4WJUz0fTu19PxOxxMt3741Mb4BXf/Hz13w/n0cl8fzSyVaKdp\\\\\\n\",\n       \"0+gt06a5m3uZiEqefSGPM6wgxSm3Q8KJJhO4u4Xrwla1SoW4GMxxpR1vA5O4s2suykjkLoUqDoLk\\\\\\n\",\n       \"I2Bhi0T4IM/j2lhURyqFGjmN16fD7WpqXt80JhSmp+eV+bc4NLBVuJ0vhJC3qUUxWTZyf/harbU4\\\\\\n\",\n       \"Di0KhvJe5XVY5Tk+wzAMwzDGO5bE3ciDCVjGGCePcEUZwlWcQ8zyiTqheUMCVUiI8glZIbdX1rx6\\\\\\n\",\n       \"W3I7et/y5NLyOcVYZJLzSNGJ16PFKF8ydz2elxsoXukcTDpxuM8JpMMK3cu1T6hi1xE7k3i6WyQd\\\\\\n\",\n       \"p4PO+K8MTpPjIV653Fd8JpKJTrwC80sX0+TutdDmoNcLh3V96sGr6F+rbeHCCcGEjXak1/56Hj2z\\\\\\n\",\n       \"dCnNQNIpz75oAc23r17xjof52LlflhUlmW433zlpFhpT91at5hOxCiLtPIs4UmgK1WP2wvFyOqBT\\\\\\n\",\n       \"il/VgF9OikZSKGL0cnIeLe5IIUg6m3h/fK0ehubl9fF+yhqi5wttX07LM6wdX5KQU0vPI11vhmEY\\\\\\n\",\n       \"hmEYnhxYQwwBtBxYY5+8b/eGsQKiRZus+Vo5rELz+QQjCoTRhQQdn3gTe5bNmk+LOz5RSLqZ9Dw6\\\\\\n\",\n       \"Qbpel1621XJ6G1KU8otR/mPUyzWLfBwyqHMqyVA2Xy4mPZ8TsSDWSKGKBRsez50Yl9SHdTiez7OC\\\\\\n\",\n       \"4d9uPLc/9xVK7fZVaK3u37rcV8z5WzxHP93sFW9NxZHPXDrf5cZqjOuc7P4uqgtrrfYhtJ9J4Bi9\\\\\\n\",\n       \"QpaYT5djf1jgwHKX80mXFp/DgdeKrCu+68XX6TqmBdF26nCo3svl5DS5jZBzMM+16rsH5LlX6PuL\\\\\\n\",\n       \"FPgGXj9+kdt3P5PjKcd8g70XG4ZhGIZhGEYYc2AZYxTtEsqaz/dSFVrW54vR6/E5lEKuJT1eukrk\\\\\\n\",\n       \"+kMvpHIdvuVCDi19fHo+fYy+l1s9rdX++F66tSAgX/y1oDDQ1ZXmXxoYmub2wpNvye2JOjwnqMQ6\\\\\\n\",\n       \"ykuINCziSKSoo0gC43698Vy6WIhX6/+zi158YCrR1tTIfQUHFvj+tvPc3yP+Pd27DSR279+XVLgq\\\\\\n\",\n       \"pArQgH0I7Y9/59WxSgHLJ2ih/Boutn5C+bB4Pn9+rFiFvvnqi+8nCw6txt4op5UvybtOci7/ynqt\\\\\\n\",\n       \"S1Ff+zr/lG+adjxplxPPq316OixQDks3lC8nF68/NF6PIzHNl8crj5NKu7Z8yGUtnNAwDMMwjGaS\\\\\\n\",\n       \"YWiFEOswxjYmYBljEC24DId4FRJtsqb5RCrpKpHL+3JSScHG50yRw/Kl37cO3376thealjUcWi6P\\\\\\n\",\n       \"gBVyr+h5tQsmHYboEcqrFAphG9gCnkCGD/rgvFBt8quN59KFQrz6n4dm0YL7qvT80tec8wmhkBCx\\\\\\n\",\n       \"Zi1+hR6ddk1rEUsISNVFr7m/k1i5Gw7PCydwDyFDKQU6mb7Mh+UTGmV/pcL1hc+1DBmsBZK0N3ao\\\\\\n\",\n       \"3lU8QonM/EWBYV6fPvdZwz5xyTdNTtf9LNiF8nFRRkghT9O5wRi9fjme16mTxOs8WyFhSq8zr4gl\\\\\\n\",\n       \"j8fCCQ3DMAzD6Afhg0MOIbRWCMc8eSwqhjEGq3TUhmtLh99o8cq37VB4j09Q8k0PhTsVAk4lKfDo\\\\\\n\",\n       \"6aGumLEu37SSCrcq5VjON+wXo/r3XR4nD+vQqLRLc2A1i1G+cDVvDZDuoLy/lazMZM2ipMJfbziP\\\\\\n\",\n       \"zhfi1UEPzaL9Hp9J20yaRL2LXqWe5x9uTOspf5I++TByYFFDxLpo04HhhEfddznt9vx9rn/RI3+n\\\\\\n\",\n       \"jkKRNpwwwbsP2quXJ+DLr+4FZq0XSX8YoCoPMU6fj+ZQQr3HWvTUIXuyrvhC91rVQ1ln89TxrOVC\\\\\\n\",\n       \"10zWtZdn2Cf26pDKVkK3717UOHvyTKl+vY4BZz7jPpqr5uSczzAMwzAMwzBS7AnSGGPkeT0PvZT5\\\\\\n\",\n       \"hn0SQGi6TyrwuY5C4ha/nPr65Qu7flFvd1ivJ/Ti7ROlQsv5RCo9b+hFvFXZcDnI+SNvPqvGmckQ\\\\\\n\",\n       \"rnh68My3WlB0qeiSXRM2m99FnZV06NCHZtH+j89007aaNIlW7eyiRfekjiuAxOwLOz9Lx9w3ww13\\\\\\n\",\n       \"VSLa8pWuAZ6cidUeOuGuS+joe35Dyf3X0VunTaWuQsFbs0MC1oAaOyApWFaB9c+TR67w5SWT45tF\\\\\\n\",\n       \"SO28k3Ugq66E6laoPg61nvuEK73NwV6jvmteXgO6P889Jm6jNsgzG5ruO/t5JdJcMqphGIZhGOOw\\\\\\n\",\n       \"FcKhdsbYxkIIjXFGlpsgNL9vuZDbQQ7Ldcv1a+EKFDLmDU0rZGzb5/LS+y3H6236XmR903W55dk2\\\\\\n\",\n       \"ixE+ccrnOtEv3+k0tD4oc1tB/OCQNZkovJW5CJFy1ST12nhtRM1ZxvtXUu906csSw9/tX55EZ966\\\\\\n\",\n       \"Hj0ybSm974kZjTb1kLNqn5VXol8+ditVFsyl4pSZbplbV9+Kdn7xOPrsg+fQji8RvWle6qya1zWN\\\\\\n\",\n       \"LtrsnfSmuY/R25+/x417x7N30UYzp9Pz5VJQEpV/s85KUxOC8thRqBpWnRC8JvK+y9VoZBFqx1b/\\\\\\n\",\n       \"piOqVvkoZN4qGU7Iw42dEX9ly4NVtawM29MhfVxRZIuAOsRN58TSIYNyGzyPL2RQDstWBXm4Ko5b\\\\\\n\",\n       \"hvFVPbm8dD4pvQ1Zl3ULhjpE0RcymBW+yPC+SPR6DMMwDMMwsrEQQiMPJmAZY4S8X/3zLucTl+Q6\\\\\\n\",\n       \"fJIAj9fTfMM+EUs7J6TIw9MpY5oWlrQ41Wq/tGilVYi8wz6RTAtv2jWiBawst0s6D4f/sWiFvzoP\\\\\\n\",\n       \"ltsrlX+pZWScjGvLWlF9Hnk2ZSnzHkN2eMPLk2irlydRr5AEMM/bVlqJrn75FXr58lNp5se+TXHH\\\\\\n\",\n       \"hIaIFSdn07NTn6Qb1llIr3ZMpodXWd85tG5c6w1078yN6LP3XU5dtQpt0NFB6xHRnGqVFmB/EFap\\\\\\n\",\n       \"aoncH18tcfuuk4VxGbhTphJWtShELkJfAn25ennueN5UwJLXXFGIU40tCMGFBR+ZnD0ZRKJ0amM4\\\\\\n\",\n       \"JBqxEKSH5XpkDi6do0uKbjLvFx8zb0uO4/n0NF6/K3k1zMtJ0UrOo5PQc00OCVNy+5KQ6NVqOcMw\\\\\\n\",\n       \"DMMwDMMYiAlYxhggT9hK3pAVLehEGeN946RQ08oDo30yWrwKCVp6WV+IkG/+rH3wHedgBCyfIJYl\\\\\\n\",\n       \"4vmO0ydwNR8HnDqyZTud80qHqMlhCTes13/KRDybzyIkFRnlwJJiUOiM6OHJhQJ9ZZ216atPPkXz\\\\\\n\",\n       \"fnMirfKhr1Fh4jS3SYhVD87YUJVxuo/XFibRTc89R9+fMZ02KJfdulavVGlyXKNXisU0N1iOfWmS\\\\\\n\",\n       \"UGVhyk4Wojx+2eqhLkdVpFmRiXKzWH21GlGtpoUb7RJigUuKVTyfFmZ4uhRofALTYAQsLYhph5gU\\\\\\n\",\n       \"tHg876Pcd3m8ej1yGi+nj02LWvp4pRgWErUk2uXmc76FlmWiHPPlmccwDMMwjPFAbRhaIRzq8sbo\\\\\\n\",\n       \"xwQsYwwwEuKVb7mQOCMdDHL+gcLLwHmlX4fnCwk40ucTEriyhKuQwFRo4aLS0xgdn+crL9/xyml6\\\\\\n\",\n       \"3335rpq7NHF76sDyRb15otyCQktj2OkAKkmTVlc8Ak8Ux5RgHFoS9Jw5eaakPMdyALp1u7ropPXW\\\\\\n\",\n       \"pW898yzN+elnaMJ276LJ2+7TCCns39eEemc/TgvvuYaW/vtmmtzVRbM7O2gqRbRKveXEybWEunr7\\\\\\n\",\n       \"6NVSkWoZ7jC9ry7/lU+gky6sUCKrehliF7hsfWKWbzU8vr9407DQWk3WByns8NHIUD+eFqkQu5Dg\\\\\\n\",\n       \"E3JPMbp1RV8ooc+9VW3hyNItD2phifdbbl+Kcdzp9ctwSdlKo9y+vA6rGcMhcYwC/XJcCLm+wUw3\\\\\\n\",\n       \"DMMwDGM8YCGERh5MwDJWYHwuoXbwLesTo+R8vnDCLJEoJDJliU9DmVduW4ti8rjlMWmpJSRg+QQr\\\\\\n\",\n       \"X/nJdWuxr8nz49n/ouqXrRD2i1rSfeX2TIWhSd1FUq2mQktd73Gk4osnzxWvuFTqX6mMU8T4ctl1\\\\\\n\",\n       \"hd5eJzBVRaherb73PvmFpRd+Zd90wgQ6fYP16ep58+imOy6nBf/6HXWt9wYqrrwmRaVOSnoWU9/z\\\\\\n\",\n       \"D1P33KdoekcnvXfmDHrHKqtQRxzTPCLqrtZotUqlEWQ5o69CiwsFqhZil2tLlqROG46QQz4ObyGi\\\\\\n\",\n       \"w7HqhGJ1R1atGjUJVly+KGstZOmwQmwO84nV1ZeNXXkODF1rbCWQT0q7mEJhg3odWT+LWtDy5bJy\\\\\\n\",\n       \"R6fWrcUtKTaFBC5Za+Q4X790XsUZ88r9ZuFPD0uhzxc2yOKgdsI12RfFfO3C2wudE8MwDMMwDMMw\\\\\\n\",\n       \"AcsY84ScV1pk4b+6k/Nod5XPTeRzNvmCuXwOLJ63ubW99txZPjHNJ1j5nFo+dxbPH7UhAIacWz43\\\\\\n\",\n       \"lhayWMDy+ZbScoFLx5emSRuDsnCJ26tCZHFFq5QVFm3QD3EHwzyep9WFrLivj+IkadpbliJYruBh\\\\\\n\",\n       \"X4lhnlnlMh2+xhp04KxZdPP8+fTPuY/Ta7P/Tb3VGnUVYlqtVKK3r7subTt5MhXRAqIone5CTC/E\\\\\\n\",\n       \"JZrZV6HOuhtsUrVKfbUa1UpFJ1LJjGJNnjYUmDxWPj7uZ2GLh1nEY5GrLlhxFwol1GDRSqXfhcXi\\\\\\n\",\n       \"FcTE1NTG9YZL0Z05cQRSRNLJ16U443NL8bp8O6vnKwVyS/nCB6VwJueX4oxvP7UIxcfnS0ovHVV8\\\\\\n\",\n       \"jDyN90fuJ3nmZaRrS65TJ5eXziw5XpenXKcmj1vLMAzDMIzxijmwjDyYA8tYQcmhUjQJMqFlW4lX\\\\\\n\",\n       \"vnHa6RRyYPnEonbcVjLlth6fdx16HHmmyXG+8vGJUnxsvnLNcrbJ7ej9apJVPGWWtlInWx+UqapC\\\\\\n\",\n       \"eZZ8aMdQkojQOF/WdyFWDcg8XkwFIimzsZzAkqMUsLSk0Nin+vwTCgXaZ/p02mv6dG8p6lLhbSKU\\\\\\n\",\n       \"EaGDU6tVmlCtEiSuUpJQrbeP4lLRhTtK51VDyOKWBuVxSbFKJ7RXBY+y41DMrFxYEp1aS4eD4hzj\\\\\\n\",\n       \"6FKnHB8te9i4tFiQkaUs3VrafaUdhNKt5RvfVGMC4Yd6OzpcUO5rSLDSwpWUPOXyLHXK42HHkw61\\\\\\n\",\n       \"5LLyhVTqMpSCE9dCLZTJY/ZdYFnhhnI4j4hlQpdhGIZhjEdMwDLyYAKWsYISElX0PHmWCzmPfOO1\\\\\\n\",\n       \"mymv0ykkTlFAqGInkhSr9DTf+n3b084t3jffcLt5riQ+4co3zRfO6NtP6chK54OwIQ1AOom7W2Ng\\\\\\n\",\n       \"N7SwIgUXJ2LFqUgVsYCjRRsp7AiHUoROJE2XIYTSdxMKcmNJgqUI7bvxlb6uFY12GqOIuotFSuKY\\\\\\n\",\n       \"uvrSkEJXHH0VqhViigoFN0+TC4tDBPn4pHilC1vMi21QXBgQktmq3N1x1M+VX7xKN1upcDJ3Layy\\\\\\n\",\n       \"wMH1RpaurJs6l1SI0LS8+bG02OQbliGEPjFLDrN4VA0IP3FAbOJpel3k6ZflqRO8y2tclqlPpPKN\\\\\\n\",\n       \"19Oyxmmk48swDMMwDMMwmjEBy1gB0aKKJq/AEudYT0i8klKCnOZzP2W5pKQXRksSPF2uWwtfvmXb\\\\\\n\",\n       \"cWfxvstj1eUn522n/LLWERLTdLhkv1RTKMRNRiHu9DhXMiqdFee+kv2cp8kNQ8iCZ0mKN5wXqrc3\\\\\\n\",\n       \"/dvRkca88fjOznQl3d1EXV0U9/RQsbd3QIYj6VmRMoOU6di1pYPhfMjlZI3g/FdO8otjqpRLFPVV\\\\\\n\",\n       \"XGhjetw1WlyrUUep5EIQXU4sPi4cc1dXekx8fLrDfPjbcKKVXJlVRVnKMnXHq8QtNrPxOZLnT54X\\\\\\n\",\n       \"DLvyS2KqVmVOKHYhyZINiUb886bD/1oRcmDV6uGEcpwOG5TzSoGKj0E7tPS4qhDJeFiKXFLQ0svy\\\\\\n\",\n       \"Miz8hrahHWK8nG7ZUQpe0gXXqmbWAsNyPmqxHh3qaBiGYRjGWMccWEYeTMAyxihZ7qyQGCMdHiGH\\\\\\n\",\n       \"Ek+XbqVQyFtIsNJily/nlU+0kv3SoeTbnlyGPMJX1rFqISvkusoqYz3dt47II0gOdKZxq4OpEao/\\\\\\n\",\n       \"fFDnwGpac2DXOEeTFFzSfggxCRXrLqyG80g7rriDmANhC+Pr/VGtRoVq1XXSSVXwSAS6ZKQU40u/\\\\\\n\",\n       \"rUtN+/F4mAUsdmMVkP+qWqNqXVGCUPdybx/NKBZoQrns3GNu/1nE4mF5vDqUUPRXa2mYn07czmWc\\\\\\n\",\n       \"Fxa2sHy/qw65zlIhJT1vrUL9ZHidJBT6F8I3Xa5DhxNKAUuO00IU90thSotKUijiYbkMD7OQx84p\\\\\\n\",\n       \"6UrjYTkPb5uny/l8030OL3kvlIKiXCavQGUOq9HAOeec47qnn37aDW+xxRZ00kkn0Tvf+c7lvWuG\\\\\\n\",\n       \"YRjGOCR9+omGvA5jbGMClrGCEY3AekLiTWhcOw4nLUzJcdptJWWI0LAWrHQrfVkClnaN6WHyOMx0\\\\\\n\",\n       \"fztkObSyxMFmQRDilRauZA4lmcS9Vf4rmaOJRZamBORx7NxLXouXDiHkrp7gPYI7q6+PikLAYlcU\\\\\\n\",\n       \"CR8OH6UsCZlBic9ISP/RsqkMNpWtDbr+KKJSsUBRHNGSvkpjO/MqVeqlPpo1aVIqYnGidpmsXncq\\\\\\n\",\n       \"cz7KakD5qbINhQ/qfGWc0F2GEGJZnPf0nHFLh1wvdBic9Lm1CkFrx43F+AQrvS7pDON99bmZdMie\\\\\\n\",\n       \"znmlXVW+a9EXDqidZlwDs0QsOU5Pp4DMysO8jahF/qvBYkLXSLPmmmvSt771Ldpoo42cQHzxxRfT\\\\\\n\",\n       \"+973Prr33nudmGUYhmEYhjHaMAHLWIGQL25Z8/icPlGOdWa5hGiI4lUxY1i7qnyOKylVSMmikLEN\\\\\\n\",\n       \"3bIh9/v2m9HDPG64hENdlr7hdL+iKG4SraSuolsh1LnFWwlYcPpAMJEhbzBUFctiA1KgQmgdQgWx\\\\\\n\",\n       \"ELqeHidWuRXgLxaur7jQ2+sCzaJAViHpoZF+m+F0YHF/mcfFMU0sl2hRpUJLYMMiotcrFVr62mu0\\\\\\n\",\n       \"xoSJ1InjQwf3FYcScsgghxXK1heRA6tQdIfN5cdlKsM1Q+jzhWX6WyEUx9qoIqgPmJbUnVjyuvU5\\\\\\n\",\n       \"rIb7+5svDFFmNJPDPK+UIauqX4YUVlTOKha0KvXhiphWaeGAkuuUNY2XG4yIFRKmpIgl90kjhTzf\\\\\\n\",\n       \"siGy1mkMB+95z3uahr/xjW84R9a//vUvE7AMwzCMZY6FEBp5MAHLGCNoZwATt+H8kePjQIidT/yR\\\\\\n\",\n       \"06VQlOWWYomDxSWd86qRltsjZulp8q9PBMsjsIXKwjc8GPQL7EBRTLuptDAFDUWKWVJP0TmvBmw9\\\\\\n\",\n       \"GShYcX/dONVwYA1wV2Em9HPOKwwvXdo/jIXR1QWsCCJWT4/7y0csk7Lzazmfbc56JF/zZWCZlA90\\\\\\n\",\n       \"bZTOKz6bJVEDGgIWxkcRTS4WaRERvdTb59bZ21ehp595hlYtFmjaKqtQhGPiY+WOy0F2pVLDgYVD\\\\\\n\",\n       \"57IdGJqZ3SqhbuBRw/WBxS2EeqbOrvQ687u8tNg0EvVXO7Ja5ZvS/TKEsKjGyRohxSQWxeR0Frtk\\\\\\n\",\n       \"eKEvjJHbv2RxS65Lu9p4WVfCGa43GVaYeEIf5Xr4HPhCDeV8xvICYcaXXXYZLV68mHbaaSc7EYZh\\\\\\n\",\n       \"GMYyxwQsIw8mYBkrCHleQrPcU3odUgaQ07LGaSHLN50C4lGhRc4rLVTJcdpjo/t9ApYWz+Q0djhF\\\\\\n\",\n       \"rsNwKv6kYXo83C8IDU4A6A/Xk/6i8Dp1aBmLG7p1Op/rSrdKKMUs3dqgFFfYMdQvasVUQ2uHMlxQ\\\\\\n\",\n       \"Jm5ntQv9rHrBhlS3IiEPFubBX3cW6uGE8pWfZQcS8gF3WrjyCVi6Bmops5EDS+XEcn+LRZpWKtHE\\\\\\n\",\n       \"KVPohQULqae31zma5jzxX1q0ZCmtvsvOVNBJ27X7qlBwZYSyks4r6b7iv7Ls9Xn2nTt2Y6HoMQ/W\\\\\\n\",\n       \"iX4+ZxjH4YS+dfuF6/66lifMNFCbG2dC1uvULQZXWJp2H2WZOsS0iKVzXrGIJCVNKW3y2ZSOK3ZV\\\\\\n\",\n       \"cSdFK3mdSXFK2hFr6l4gRTJZTno/QuGaXGN9Ze8TsXgdWcOaPE4tYyg8+OCDTrDq7u6mSZMm0ZVX\\\\\\n\",\n       \"Xkmbb765d96enh7XMQsWLLDCNwzDMAxjmWIClrGCMBgRJeQi8jmM5HifTBByLYWm62HpsPIJVlJw\\\\\\n\",\n       \"YslBT9NeG99yUtzS209FKyle9SfM7u9cSdTHtfOyr4WEfneMLN8cZ004sbS4oUMHpWjFf3UIoc7N\\\\\\n\",\n       \"JMUVKbr09aUt6kUsYLF4xQ4sdiKxoMVN7UG8YgcWur4+ims1J2QUajUqJmirr759j2dPjpMeHQoI\\\\\\n\",\n       \"WK5cPAIW1wCfgOXG4XwjV1dHB3VMmEDrrroqzX35ZXrtpblunYtefJH++8c/0prveAdNmDXLm+eL\\\\\\n\",\n       \"uyqlCdxZw6vrdgNEQi5zHVKoz5k+z7pO8fq4XoTyaw0sqXDdkuNak65T5/Zih5lsHECKWP1ilmxN\\\\\\n\",\n       \"UIpWMgE7C1YsQslk7TL8UNcEHcYoRSEWsbSjypVum+GEeluMFqhlzfY5sdoRo0zAGmk22WQTuu++\\\\\\n\",\n       \"++j111+n3//+93TwwQfTTTfd5BWxTj/9dDrllFNGfJ8MwzCM8Yk5sIw8mIBljHKksylrnqGGCOmQ\\\\\\n\",\n       \"Nh0WKAUtn1hFLcIEpbgkBSYpNfB4KT75PDU6lNC3nNwPtObGrfj5c0ZJsYoFBJ8YlIUOF9PCRTst\\\\\\n\",\n       \"0/lELC1aSTGL5wvtrxRUdBghRBgsh2g59EelmEqcC4oXZCcSD0+c2L9yVnG4EHGg9QNwZ6e3l6oQ\\\\\\n\",\n       \"s+pnpCKyIHE/SxxSZshK4s41LmohdZaEeBVh/3FM6CZOpHjSJJo1axZNXPN1euGBByjp66Pq4iX0\\\\\\n\",\n       \"zBVX0oyFC2n6Pvuky0hHFpYtl6lajZ1uxwY0LgJZrlwnQuecwwK5X+Ynk3VAhiTy+csKS2wqKyXC\\\\\\n\",\n       \"6uGh1HHez1CrlrVaQZSJ9NVpBxb6dVgf1wj267FwxSIS3wd4OXc0KhhVO6h4e33ifibza+kQSUaH\\\\\\n\",\n       \"G8rQRL2NwdBKpOJaPpRtGCHK5TJtuOGGrn/77benO++8k37wgx/QeeedN2DeE044gY477rgmB9Za\\\\\\n\",\n       \"a61lhWsYhmEMCyZgGXkwAcsYg/gcVtKxIMf7lpWCVWj9PueVzmUVclwVPVKDb14pWEmBS86nxa30\\\\\\n\",\n       \"+AqFQl3QiYTQE7lwLJ8IpPNONY60hRNLu5t4nHzBl/NKV04rEUKHE0oRS7uwdA4s6SZj2HEFE5EU\\\\\\n\",\n       \"W1h4gBCDaXEUU5/LU15MBRxMhLrFidrRIYyGY9r4QHmDdQEr4njHJUuoAFcWVB7xui8DuLQ/JysN\\\\\\n\",\n       \"ufYHyiBSKW+ygIVWBl03YQIROhax6sOTp0+nDdZfj56/5Z/UPXu22/95f7meFj/zLK3+6U9RacaM\\\\\\n\",\n       \"RjhhUixShQrUV4kbuet9ZcnjNFkCEp9HNrfxOjC+dcjgwHoTqgdyezw//9XzyrqjhTPp5OPhdFzU\\\\\\n\",\n       \"5EqrVhMn+KXTEXZYcMPN4hDOVlVImjI3lQwllJKnzrAmww1JhRzyfCydytxYcn3SHeYtXS5FJbnK\\\\\\n\",\n       \"6dp5pQUqFsEsLHA0UqvVmsIEJR1wb+JeYBiGYRiGsZwwAcsYxUTDME9WqKDsl51veS2CSWeYDhv0\\\\\\n\",\n       \"OaS01NAqGTuLUaUWglX/NLissH2EBhaLcVNrfbL1Pp+IJd1XrVwrjBYUdK4p33TposnjxpLiAu+n\\\\\\n\",\n       \"L3eSzn3ly3Uk903napK5sCrViIq1mIoyhJBb4+MV4CWO7ThQcuSKOKN5fQcihBDGMSU4L9WqCy+s\\\\\\n\",\n       \"JUmjtkh/i/TouH0O1EbtD5TSqBt24aExxYVCKsJhf1m84hYGRVeaOJHW/egB9PKdd9HLt9zijmvJ\\\\\\n\",\n       \"Y4/RkyedTGscdxxNeutu/eGDLvdVNKDlwVD+K30+fcIk5pNClXZgaZE0CylaybqrtymH9XRNyE0o\\\\\\n\",\n       \"XVhSvJN1qlKJRBmhP6EoKjRaU8S45nsEC1F8lqX7is8+t1zItUC31sf3kcYeZ5SYFsJkpjYdDuhr\\\\\\n\",\n       \"SZACghW1GT6YJ7xwqE5bQzuq3vnOd9Laa69NCxcupF/96ld044030p///GcrKMMwDGOZk+Y5Hdpv\\\\\\n\",\n       \"/VCXN0Y/JmAZo5w84YN5p8vAKylM6fBBOY/OWORzXvHLopYTdHJ16brSAV8+kUoGgfF8LGg1O7ni\\\\\\n\",\n       \"uJC6h+ov75y2SLpauJ/FLJkkXbcI1yiFjJd6nyNF9kvBKEvAyhsSpkMbs0ILffuqW8ZjkQH6E5bj\\\\\\n\",\n       \"xgQ5WXxHVwcllbRVwSYBC8McXiiVC3mQ2roGB1RPD5WWLnWherVq1UkQBY8Dy+1vwKMiayEFZFFX\\\\\\n\",\n       \"I+LYua7cfnIydghYsnVBdmShv6uLoq4umrHP3jRh663ohUsuperrr1Nt4UJ67pRTaOUDDqAZR3+e\\\\\\n\",\n       \"onIHVZb2lxV3UrfToYRaqPSJkL56IIWlwYSccr90Y8nGAXS90uuR+NxffIzSecjDOql9Pcd/vR+5\\\\\\n\",\n       \"w/pdWmmV4RogXVQyhFAmcZfOKhaZqgG3E4b7MsQszr3F/b6cVzK80CetZoURyn3Uy+n5sqbn+S0w\\\\\\n\",\n       \"2mXu3Ll00EEH0ezZs2nq1Km09dZbO/Fqr732ssI0DMMwljk1ilw31HUYYxsTsIwVlGgYXnJ8ea9C\\\\\\n\",\n       \"ApV2SUi3lWzhzydQRYGwQRaqpEjVlHZb9bMjq38adAkWpTjPthSsZGN67GDiYS3+ZL3c+9xMOkTM\\\\\\n\",\n       \"lxOIkQm+tWtFLqP7Jb5QR30MPrANeUw65I1FKw4h5DIolyMqlMpUcAaXutLAhSSTN3HhyYLmvFF8\\\\\\n\",\n       \"ArARhOVgXG+vy4tV7u6mpN5KoWyfTotXUorgv6GaGWHbEK1YwWQBC8MQqpC7i3NZTZrUPx3j62LW\\\\\\n\",\n       \"xK22ovXPOINePP98WnzPPW6br/7mN7TogQdo1ne+T73T1mo0vMj5r9iE5hOtfHWFkYIjFx2fL51r\\\\\\n\",\n       \"Si+nhSk+HT43IU6BrEe+nG9yuq++txJppfuMRT0+di3yodx4ODX6xfW8YjIzmkzoLtur5HlkDqwK\\\\\\n\",\n       \"126x17wsqXW5veeSVEnb3dFySQTcXbJGStmVha48uaqkc0yPl9swRpILL7zQCtgwDMMwjBUKE7CM\\\\\\n\",\n       \"FZhQuJ+vX77++9aTV7ySoYbSXeVzUvlCBbUoFQoNLKn+fnELoYJw2BSLkXv5ZY1EC1gcMijdWOzO\\\\\\n\",\n       \"YqeVdF3psKqQ8yrkSml2lDT/lS/zUqiSbqhW4YU63EuGP8rwwtC+SnGFxQN0LJqwyMC5w6A3dZQK\\\\\\n\",\n       \"FJXKFHfUZ+adhRjEOyJdVzzM6iHvHBSLeuymC+nDxup/42qVorr6kaD1QnHwoVYI3TDWVS8E14+/\\\\\\n\",\n       \"LFSxmOYTsNiBxeGE3M/DXV1UnDSJ1jrtVHrt2mvppfMvcMfe+8gj9Nz+H6QJXziFaju/q8l9xaGE\\\\\\n\",\n       \"UqSR59cHhwyyWKXDVvm8+Rx12mUlW6CUwpYUbXWrh9IJJutX3jqvQ1L5WKUwyvWNhT4uJ+yXrH8c\\\\\\n\",\n       \"Zpj2I/k7QgtlSKFuSKJRC4T7qqTC/uQ0KVqF3FgcwsctGcrt+VomrKpxoXxYMueVzyHm2wfDMAzD\\\\\\n\",\n       \"MMYblsTdyIMJWMYoph0LqH69zyNiaU+L7Jfj+EWSAmKWzmGVlQ/Ln7+qebjZZcUCVhQVXe6cVLhK\\\\\\n\",\n       \"xSspYEGnYNGKxSw5jV/wWcDil3fOieUTAEL5gBidxFqKWD5nigyz8rXe5gs7DKHFK59zRu+zzlHE\\\\\\n\",\n       \"DhifGysVAQsUo6wwgJl5JZhRZ+/mjbMaI7OF84nBeFZ9kCS+tzcNURQqEFxZWsSStdX11wWrpsRm\\\\\\n\",\n       \"fOK5IrBoxSGEnLgdw1K44lxYKjdW1NlJK3/sY9S18y70/AknUOW55yhZvIgWn/oFiva6laqHnEjV\\\\\\n\",\n       \"2oQB5SnLOHQOpduPHVfaKecjFA4ow0rleF+YqcyDJR1gWgBtlQtLC7A6hJIFKxbhOKUa1zE+7Ry+\\\\\\n\",\n       \"yqewrw8J8pEDIha5IKRA5Luv8XQe1h4+2S8FJVngLFxJUUreB6U45s6CmkcKVFEbgpWc3goLCzAM\\\\\\n\",\n       \"wzCMsYrlwDLyYAKWsQLiE6vyLsewoyEPOgeWL6TQlwNLi1Q6Ibt0WZXFMmUxD/qLaULuuNCkT7BI\\\\\\n\",\n       \"xQ4r7cDS7ix+WdcCFqaFkrj7BAWdy0oLWL6UUNqBpXMlyWnStRMKPWucURVO6GuRUO43t2qHjvcB\\\\\\n\",\n       \"4oFugRHD3d315TpjKnSkjivneOIQQrkAF6x0XckT5OxcdZEI/dgo+mVsWV3RgKDlRC1d2PrEaAGL\\\\\\n\",\n       \"RSvuWLiSSdyxTZ6GEEKdE0v1J52d1LnddrTar66geaedSt1/+b90t66/nJKH7qHqp8+ivhkbN7mN\\\\\\n\",\n       \"ZHhmSLySea/0OcoSsXx50HxOQl0XpEjLRSmX1/sVEm9DYbIY5hYZtYCFYdY/WcCSIYT1qNKGoy0N\\\\\\n\",\n       \"ZYUDMKLe3jRhfprwHTvXWxeS+H7DObPcXguXFYtHPvdTnxKpZIFLtxXPw9tucTE21s9NEgw2HNDC\\\\\\n\",\n       \"CA3DMAzDMAw/JmAZYwAdN6ZdAiEnVlb4IL/UZSVt96XPzuOq6hem0uXKQrTi4f4ww1Ipdi+0rIdw\\\\\\n\",\n       \"RJiOFmNtgodlfiwWvXwiVigJeqtQKi1SaZeVDB/UohX/lYmu9XIglAi8cfYCQpsMDWNzlBSpeFsQ\\\\\\n\",\n       \"C+Q6MOw7VnwR6ix3UEG6rHTzjrLQIVKxjYsVCnRQxVi0YtVCCVgNVSSk3knRzCdgcfwoVwreBxan\\\\\\n\",\n       \"WNDifFgY5tBC5c6qFcvU3R1RTzyRysefQX1b7EyVH59CUW83FWY/RZNP+xBV3n8CLd7hAJecXJ5b\\\\\\n\",\n       \"3fF50Yna5eFkhRv6xCYtXHJx+Oq1DCP0ubNaOQ9lfeDTE6rXumFKVActYPF8skqgnyNMWXju7S1Q\\\\\\n\",\n       \"X1/iXFn9YYHcCqF0Qbm9z3CWSlEJ/Vy/eF2MzLnljlgldS94pvNy3C+FMzks91UHx+bJnWUYhmEY\\\\\\n\",\n       \"xljFQgiNPJiAZYwx2g0l1O4qGUKjwwGlYKXFrFCoYKvQQV9OrDRsMIqQ5yqmjo40ZFAaaljIkqIV\\\\\\n\",\n       \"osGkjsGiFb8I+yLOfK4VGWaVhS+Jtc+Fo1/0fa2z+dxZ6FhskuGFDPdLwcG333I5KbbVo/jcXyzD\\\\\\n\",\n       \"OYik4JEKXBHFcZLmHYuKVEJBN6qTErTY2sWFLBVDPgmsbmgBS8eh6Wb5eHtaldHZ+mXyeOyrrjBc\\\\\\n\",\n       \"iXT4IAtY9XxYfVHRJReHMMW7muz+fupbaxuKv38MFZ97nOJKH03//alU/vdt9Ox7T6NKNLWpXujy\\\\\\n\",\n       \"9+W44sNikVKePx3u5+ukA0u3tqnny1PnW4Ux5qnzUpNEh+KXuiWHE8oQQu6H2NXsLkP9c6VGlUpR\\\\\\n\",\n       \"NA8tc1FxMnXOeSV/2nVi9VArhDzMwhiP144sX0uFMlcWu710yONQQgcNwzAMwxjrWAihkQcTsIwx\\\\\\n\",\n       \"hM9dpfNdUQvxyhcqqMMF9XxavNKhhVqk0i0MDhSwkOuqUCg0iVRSwGITDYtWnK9b6hh6mF/oZRJ3\\\\\\n\",\n       \"2RqhfHnPSojOaHeUfpmXukzIncK5j6S45XO16HAt3p4WrGSCbo3OycV5iHgd2C+ZDJ4FBRDHdRGh\\\\\\n\",\n       \"XKRCKaaolu4ExIUBG8aGZIuEXOi8gSwBi9UfHpYHLC1CMlTRJ2DxyeXKw/08LB1ZQrhKnKDVSUmp\\\\\\n\",\n       \"TJW+fvGKox5dN3M96vnK76jzt9+hCX+/xO3S5Ievpw2fe4j+857vUveq2w0IBW268kTdktPZnSWT\\\\\\n\",\n       \"qoNQLiup30mdMOQy1FGXcj0+l1cI7RCU4qtsjZHDKjlMkE/z0qXNp12mRfM5xNLTnN5vkBcrDSl0\\\\\\n\",\n       \"exLIgSWdT4295qtAuKF4WPbLdcr5Qvmx9Pp0yKL+20rYMgzDMAzDMIwwJmAZK7i7KqSyyJctOW+7\\\\\\n\",\n       \"ea98LiwtWvnyYbEoxaGDsmVBdB1ifLlpvkKh2BCrQqYZqUnIab5wQnZgSY1DRp0NVsDy6S1Z4VQq\\\\\\n\",\n       \"V3nTi750ZGXlx5LTWgkNEl4HC2Y4Pt42ixG8PpnDSwtn6T7F1NXVRbG2tkmVkRUfVhLRj3HczwIW\\\\\\n\",\n       \"x5T5ClBulHfQp+qwksMnXJ5srkTSpsf7ye4sGVJYLlOtUHIii4x65DA3HIKbVu2ghe/7CpXXfjPN\\\\\\n\",\n       \"+N1XqLj0depYMJs2/9X/0DM7fZ6e3PZwV89btUIYIpTLSrunfLndQk7DrLBZrQcOl4DFIpXMeYVi\\\\\\n\",\n       \"l2GD2C8ua2wfp0KWNU/n40FerJ6ecr2Vwkq900I7iWHkvAIV31kQopNctnG0ypEqXVetkK4suT1f\\\\\\n\",\n       \"i4VyGi8bEuMMwzAMwxirDiyEEQ51HcbYxgQsY4zju4lxjitf6KAv3xUvE7cRJuh3VjW3LCjnQchg\\\\\\n\",\n       \"wSVqT0WpNGSQ82pzFBgLWFrc4mlap5AahmyoTr/061bbskII2cmkw6ikyCRFKf1Sz84UOcwv9xzS\\\\\\n\",\n       \"J6dzvnQpmEkHT1ZLhXq/ZXopFrH4WDn/Fa+THUHNDrGokZC+VCxSsRRTcUqh31bD8V+cyAgFz2IW\\\\\\n\",\n       \"ToovGZKv2TreSd4hHU8H+GRJZcbX/KQW19iBJdTQpKuLqnGJKtWY+nqiAQIWm8WkGwuHsHjjPejV\\\\\\n\",\n       \"T21Oa/3+izTl+XsoTmq03q1n0eRnbqMH3/Zt6u2Y6T0XPvFR1jldJ6WRTYcC6vz1sii0gKWdWjqZ\\\\\\n\",\n       \"uyzirPqv3XxcT7QYy2Itp0Tj0871nE15XL6c758FK05Az8eRllNEUZRQd3ehfh1KoUc6srQ7y+29\\\\\\n\",\n       \"PhoufZUfyycq6RBCXk6LWpwjS29Luq8MwzAMwzAGPpXkfa4PYU8aYx8TsIwVhFZqeqtE7aFwQj0+\\\\\\n\",\n       \"qwu5sbKELT2+WbTiBO8sXiFhO6clYp1Bhg5ytBeLV3Iai1Y+rULmw/I5VZpe5qNERPcIR0T9jd79\\\\\\n\",\n       \"sOAl3rlRogGOKx0+xfl+OBcQv9hzCCE61nQ4D5VM/C1DDTlCj//KZPJZ8DIy7FCHErLYwLBgwNvh\\\\\\n\",\n       \"ZXgdSUdMSQlqB1HcSRQVixRJ1YEVCXmArFyweoGTwwqIFLCk2qaRSgurMVLp8AlY6GQ4Yb3CJOUy\\\\\\n\",\n       \"JcUS1eIS9dWQLByt3zWLVjJ80Jd3vnfSavTvj11Mq/3jHFrrtnMQ6EarvHA77XTZ++n+3c+gl1Z/\\\\\\n\",\n       \"S9PuhxxOOg8VH5J2XGnhSkdPcj3m+i8jLH1htM2OrCSt+lLA5QrvxrNymiYa1SGuOu+VzLXGUaQo\\\\\\n\",\n       \"Q857xS1gcr41nZOLhVQWUznMEDuIUEK+zpKkpB7ZZN1BReZj4P6aGi9zX7EgJcMDQ/dExhceKJcj\\\\\\n\",\n       \"NU0PZz1umvBlGIZhGIZhpJiAZYxBEcv3cuV7a9bzUIbrypcPK2ojmXvJE07YL2bFcbGRqF2mKtJC\\\\\\n\",\n       \"VT2/dpOIJfNhadHKl+A9FQGQlNwjYOHFmWoUyURTrN4I5QGv+UkUURWT8fKOl3i8uIsk7exWYl2G\\\\\\n\",\n       \"RQ82J7FYJTUdmeCaX+5lmKLMW8W7xu6sxr4l2WFfvoTvfIhSGJP9cjsyvBDHSF1wYiE3Vl0cimOK\\\\\\n\",\n       \"OOkRlCCZsZsP1hc/6ct278OXnTwUR6cTodUrVlKfBvGqSkjW3mwi040lSgeWFLAa/bUiPbXjUTRv\\\\\\n\",\n       \"1R1p8798kbqWzKPOntdoxz9/kv6zxWH0yHZHE0XlAfnKfOKVzFnFuy61OhaxpMtKOrBkS5y6kch0\\\\\\n\",\n       \"OBnYYiG27/4mru5DhBtQedzOpeNR9xOK03qvBKy0P80dJk87VwmUL18D7LTCOOke41MMZNsAuq0A\\\\\\n\",\n       \"3GsgOqZap3Zg8T1Mi1QyqTv3Jxl5rnTOLL5PkmjZMEuM0mGDUsAy8cowDMMwDH7yiNy/oa7DGNuY\\\\\\n\",\n       \"gGWMoXxYraZr8Uk7qbSIpcUrmaBdClNyfChBu68rNXJe1dMPDRCpoDdgGmsP6GcxS/bLiDDp2uIX\\\\\\n\",\n       \"ftl6YamUOJdVBMWJxZQ+vIXDViKaDfQpQSK2Cm6jYl1EKbGtJY4piQpUqfW7U7ToIUOpOFyKtRyt\\\\\\n\",\n       \"9aBjAQvz8jA7T3xajzYucQiinCYPj81OMk8Wb0e3KsflKfcX+4VzUywWXNc5BTPUDxATdAIkaU+T\\\\\\n\",\n       \"TTL6MtaH8GU2l4oP94fyYRWK1N0XU6W7X2eTLis+L43E7fXx3EkNTkZBzlt1B/rHflfRNjedQKs+\\\\\\n\",\n       \"d5Pb1Y0e/hmtPPt2unO379PiSWuldUfooTp8VTuksNtSwNK53XheLdpqcauphUInVIkY175A/jGf\\\\\\n\",\n       \"va++82n9d5bF/hV3FCmJC86dJcsNp12HYfJfmQML1WXx4rSfhToWvFjYwrnisuNlFy8u1ndbhwGy\\\\\\n\",\n       \"mKWPg8UjdmJpB5W8D7ITi5dzV5BH8JLTfeGLWlzzIZPAG4ZhGIYxnrBWCI08mIBlDCunn346XXHF\\\\\\n\",\n       \"FfToo4+6RNc777wznXHGGbTJJpuMsPNKik9Z4YRZ6/CFCPpELz2dxa2iELH4r259sF+4iiI4r9DS\\\\\\n\",\n       \"YOq8kk4q2UAcO6u4XzQa53Jk6ZzcAxucS6gE10lSpahWocJSKA8VilhE0WqQDGMbUEypTSbyNQvH\\\\\\n\",\n       \"b9kxWlDEscXuZb40oUB9lTTkiZ0+LAax0CDdKKzr8GplaJ9sGVDqPeyW0k4s6ZZi0YQFLRmSyLqc\\\\\\n\",\n       \"FLZkni1ZPKGWFovFyJV1Uoudo65QiKkwoUhRRwdFrHhp9SfkwMpK7iWtSjoDuXZg1StEUihQUihS\\\\\\n\",\n       \"FYnVazHVKjH1ONEkPSc6TFCLVzpXmdTeZM4yN9yxEt2+xzm03sO/oM3v+g4VkgpNf/Vhevs1H6D7\\\\\\n\",\n       \"djqVXlz/XY3y7W9lb2BrgjpMkMfLqMhmYbZZtGLzGdyGqP8QbCFaRb01ilz9b9FyQMY1EIVUt7p1\\\\\\n\",\n       \"CvUf10GxWKRyqUB9HXBkpaIWBCgpxkkHlnZdseOKd5FPvQylxb6k55BzYkmHlbtS1E+9DB8sqvxZ\\\\\\n\",\n       \"7JaS9zrpvvIlfM+b0J3XIe/VNTUta3kTtQzDMAzDMMY7JmAZw8pNN91ERx55JL3pTW+iSqVCJ554\\\\\\n\",\n       \"Iu299970yCOP0ERYhoY1EXurfh72hRZGOYd9YhULVjJkkOcpqmV9Cdw5bDB2Oa+0U0qKVhwqKIUt\\\\\\n\",\n       \"6c6S88lG5ZzIVa65F/dioUbFqEaRViV0039SSMnKoOgTr/gtu1Bw4lZBKAlJoUxxMaZqHFGxkJYN\\\\\\n\",\n       \"wp5kCKFcFWtq/ILOeX9k6B+/zMsk7DrnOc8rx0lNgkUsHs+CAQ/LZWW+LW2U4v7UtZXmBGM3VqmU\\\\\\n\",\n       \"hodGhSpFxRJFpdSdFbHqExJPgM8F57MueUREFyJYKLq/EBGdKygqNolQOrG4dAhJ05isLlLI0rob\\\\\\n\",\n       \"77o7nCSi/25+MM2b8UZ6083H0uRFz1G5sph2+McX6Ok5t9JDO5xI1DnBW41kaKt0W8lc9FL81CJW\\\\\\n\",\n       \"Ol9CnR2JCwlEh/pPVXFQvuT5vpMawpdhvl72Lg9aqUTF+g4Vy2UqINl/HFNfMUqFzfrlIrVH9Mu6\\\\\\n\",\n       \"ySIVb44bD+B6ycPosOlaDeGECVWrReF8YpHKFyZYDIQNyjDDKJAPS+fFahSMZ7oUrWR91suFwhDz\\\\\\n\",\n       \"CFyGYRiGYazo4PkxGmIrgkNtxdAY/ZiAZQwr1113XdPwz3/+c5o5cybdfffdtNtuuw3TVlq0c+91\\\\\\n\",\n       \"XbVyUenlpGDFopQUoGRYYaglwnJTovbmFgdLLueVdFpxxy0PcsehguifNMkfXohhTOvoSNIWCTux\\\\\\n\",\n       \"1SrFCGXr7vEnMvK9wOvwQV8OLF/+JenAkspDqURRZ6d7mUeXlJDrq0iValJ3o6SuFClUsBMLHYe2\\\\\\n\",\n       \"ybzl7MbiBOyY3jjz9dPHwpbMj8XiiswnxLAQwMni8ZcNarxP0t0j83Wxe47nY2EiPfzIHS+6Ioqn\\\\\\n\",\n       \"kyiuVShJ/GUf6R3TybtkBnTkYQrlwIpiqsXFRoRcRTispIbDm9etC/Z6tB4paIXSdulGFF9beQv6\\\\\\n\",\n       \"275X0na3f43WfvoaN37d/1xO0+fdR/ft+T1assrG3rBBHSaoUng1Cb4saKXT0/pfhCBEVYoqiFOt\\\\\\n\",\n       \"77RM7OUTcH0HFLoGZLIuXfZ8MHVVDfnQSug6Oqijq0hdXREt7eAQWgha/Qne5aIsbrGgB7h8WMSV\\\\\\n\",\n       \"zsH6HE7ISl1YupMhfPhbFfcqHq4IcctdGeLe2Odxaen7pWyhUPfL+7Nctw/ZqqFhGIZhGOOBdloX\\\\\\n\",\n       \"z1qHMbYxAcsYUV5//XX3d+WVVw7O09PT4zpmwYIFOdeuHVNa2NLhhKF1sFMq1KqgHA4lbJfClhyW\\\\\\n\",\n       \"/eVGv3ZUpeJTv0jFYYIQqCBosQtLT+PcWTxcLsFtUqWoe2kqXPWJxEXSgcWJp3Q8mHxp9zlQ+O2Z\\\\\\n\",\n       \"+znbtGzeUCYnQj9iBtMkUakjpaPThViVOuA+KzWcQJzPh4UUzvXDIgr3y3xXLGphukwKDnwN+ekw\\\\\\n\",\n       \"QxbBWINgZxcLWewE4ml8eFKk4hxFPC2rxcdU4yu4VicLSNxfLqfbx3HwC3tWC4Se84Bk4i59GcQq\\\\\\n\",\n       \"hGr2RY3j9OWr4tOO/ZailBStZNVgrUe3sse72cqwVClNpLt2/TbNW2MX2uZfp1Cx2k2T5/+Xdr5i\\\\\\n\",\n       \"f3r8LV+mF7c8gMrlVMhhAYerC5cnCzrsLpTCYb+QlVApSkMDo94qUY8QrLR4JQuGx7NKJ215vvPA\\\\\\n\",\n       \"FYb7fbGOOq6x3kHMKnZ00KTOLqp0pOHDHEIohVteDZCJ6+WmWHDl+aRLsbubQwPZzSRPjgwb5P60\\\\\\n\",\n       \"JqX3q8aBiuGaZ5qmleAkxS+mIFxflv/KMAzDMAzDyMYELGPEqNVqdMwxx9Auu+xCW265ZWberFNO\\\\\\n\",\n       \"OcUzJW/+qhBZoYNyup5fhwv68mOFcmbp0MLmEEInXBT6c17JhOssUskwQBkyiI7dWdzfnxMroY5C\\\\\\n\",\n       \"hQqVCsXVvlQ0ks3Kceez2MhETjr/j1QlZFNxMnyN36pl82+sSLECUU96FWFcreZe5CP3Jg5dD2F2\\\\\\n\",\n       \"kTYXNf7yeJkDiE0xrC+w4KRbJGS020pPk2mnZD4tFq3QSYcWJ3mXxcbzcX4v1jFY32PhC8eaFllE\\\\\\n\",\n       \"fY0GBdEqZNxo/S5q4TJMKul0tJeX7mc0QGSSrikZsSidVTIVlxyWQpYUsHS4oE4ZFSKKI3puw/fT\\\\\\n\",\n       \"67O2oe3/fhxNffVRKtR6abObTqXpz99KT73r60TlqU3ajy/PFV8HLOpwK5wuVDaqUFzpTcMzcTCo\\\\\\n\",\n       \"/3zA+AsRS8dFyqYU5UG2cw3IEyxPvIx5rF8DUd356LybhRJ1IFfWxKKrC1zHZEuDUmDVYZpYJc8v\\\\\\n\",\n       \"z3F63lEfCnUnFi6yqhCypGik812FcmDpkEGdv6pxpgPhgzqUcDAM9ffAMAzDMIzRjCVxN/JgApYx\\\\\\n\",\n       \"YiAX1kMPPUS33HJL5nwnnHACHXfccU0OrLXWSlsrG/oLiy9/lQ4j9M2TNewTqrRzq9gy75VuMVDn\\\\\\n\",\n       \"vJIilhSzWLSCgDVxYkIdWK6U5riK8JIOoQp/0bHzCi/zMlO3foHPCiH0vbz7wgd9zcNxvB3HCWJ8\\\\\\n\",\n       \"XfmAmFVASB3cN3FMMULi3GajAdFa/JLOSMcP569qnHGR5Foi81sNqCVRs4DFwpVsmZC3g0NhR4wU\\\\\\n\",\n       \"FrhIZAuKHP4oXTXSacRGKoiaafGm9R15krLQDeVJQUlGh2rXlAwhlKedBSxeTkbV8XzaccXDvlRd\\\\\\n\",\n       \"XKbyL1g8dT269b2/oc3uPJPWffhSN27mf/9KU37+ED213/eod73tmqqRNjHJEEKItp24TkrIc1Wl\\\\\\n\",\n       \"mEUqWedl2CwLWNpuJg9eXwMhAYv7dQih3GnuuACxrTRZlRsudHRQ3NlJhY7Y1f/0lPP578/rxpuU\\\\\\n\",\n       \"5xa7JdtekM5EiJlIGA/xqj8fFgtYSb2fWxGUIhXfz3w5sGoZ4pUWvdxeBD4WDMXXb+KVYRiGYYxl\\\\\\n\",\n       \"TMAy8mACljEifO5zn6NrrrmGbr75ZlpzzTUz5+1AbhgoNsPyBT5uc3kdeqiFKP4rRS8WpmQy5Gah\\\\\\n\",\n       \"qrnFwTT/VaFQcKFSsjVBLU5xWKAMLWTXFYanTJECVkITOhOKkZx6cTfRokX9sUhLlvS/zGOcfJnn\\\\\\n\",\n       \"+DwZV9ZOCKEvB1aWbQbblmodK0BwYWHbHR1URJ6srk6KC8gZ1a83SJML4FBCoNMSydxYPF0iczOF\\\\\\n\",\n       \"kBGSfHi8DxzixcKUyl2vwgSbHVgDGmqsT5frl9oIh4UNRsCSIX1Sl+Fhmfopq0FEnylJVpFWkY6y\\\\\\n\",\n       \"LJvExY4Oeny3r9LC9XaiTa4/kco9C6hz4Rza9Bcfp3l7HUWL9jqcymUkwE/Lix2IXH3YdeUErXKS\\\\\\n\",\n       \"hgouFsKtFm35GsjKUq8bMpBiVt4QQhnnp5N1yYNg9bl+QNGkSdTZ2UnlSWUqFKMm/ZfLkctShg3q\\\\\\n\",\n       \"VGmc963/WoidkNUvYjVqjydZuzujIq+fW2ug1cF03WnH5eML/5POK43MxxXCQgoNwzAMwzCMZkzA\\\\\\n\",\n       \"MoYVfPU/6qij6Morr6Qbb7yR1ltvvREqYV8CYd+0ENJRxcP6JY3XpR1WWrjytzLYPFyqi1epgMUv\\\\\\n\",\n       \"4vxXJm6XoYGpy6o/YTs69y5cTqirXKF46dJUBMLLOgQsfoHHMEQsfnFnZxYLWJiukx35wqf4BZ6V\\\\\\n\",\n       \"IunA0knb2VLkssh3NYdQsWjFwgG/zHPi8lqNklqNyqUOKnSgBb/Y66jSIYU8nXUH3h12S3HuKkY7\\\\\\n\",\n       \"hnTom1wn59ySibRl5CSn/5JiFotvUteQmh8PS9FKClq87TwClhTktOYinTlyvA4vlKKVFqx4G7wO\\\\\\n\",\n       \"aUjyiYG6pUhfyjSuQuh/baM96IE1/kAbX/tFmvL8PRQlVZr5l7NoytP/osWHn0GFSTMHClb1a6JU\\\\\\n\",\n       \"qFEhqhIt7aGIxVkOm+U6z+N1/ccBcXitbloRB8Zilu+AZWsCujLwycVf1P9+q1i/A5H7624sNHDA\\\\\\n\",\n       \"hRyXO6iro5OSpD+kVtZjIOsjnxd2DEpRM23YIC34pUtLKmRQt0ooE7ajv+JxZ7mzrWqhnOZzaOUV\\\\\\n\",\n       \"pnhYurosA6thGIZhjDesFUIjDyZgGcMeNvirX/2KrrrqKpo8eTLNmTPHjZ86dSp14aVumeDLeaW7\\\\\\n\",\n       \"kPDlW17O6wsX1OMGJoJHSJgMi5LJp6WzRIYQsqAl+1PxqkblYpWKfXVnFTtP5Au8FLC0M4UdKToH\\\\\\n\",\n       \"lk5wpMOn+C061GwcO1DQj3WwjUQrJEC7WxJkcyIqOFEA+YNw3HGT20cKKRymx7vIQhWLWFpQkUjR\\\\\\n\",\n       \"SoYl8jQpwki9jteNZWRrhTwsp+mwwVDDjXqa3Cbvg94/eQwyV5cWr3zClhapZA4vPY90XEk9R+6D\\\\\\n\",\n       \"Nulxa3k+5HHx8VZXWo2eOPhiWvPWc2jGjedQlCTU+fi/qHTq+6nvM2dQcYe3DGxxsFijQlKlQkUI\\\\\\n\",\n       \"U7L+S9ehT8DlYZ3UnQtAxuYBWU/lSZLhgzKJO4fN8k7zdjgXHBcc99cV1whhhXFEHRBKXb68eMC5\\\\\\n\",\n       \"4BY3MYzV8TTZsCg6lFl6jaS5tZAPq1mUCt2r9H3OFzIYyiPoy3Wl77kysbxhGIZhGEbzc661Qmi0\\\\\\n\",\n       \"wgQsY1g555xz3N/dd9+9afxFF11EhxxyyDIubV/uKp+4JV/W9Hj515fzSufJ4nkikbgdea/8EXY6\\\\\\n\",\n       \"/xUEKnaacL6r/i5xDqxSVKViUiFavLg/VFA6sNBhPKbrEEL98s4JrqXKId+YNdKGpJNXc+JqjrHj\\\\\\n\",\n       \"bNsyG7jOCO6xQhW6iKJSmbo60wTlfF5k/h8ZKsf6gcxDpUOsfPiSj2tBRof1SeEJhyWHtSFH5rvy\\\\\\n\",\n       \"iVUyNIy3I7fnjlw5znQyeh7nK5eQqKWFLC1U+ZbxbX/A1VZ3wmW5x2QZNVxp5SK9uvdRVNl0R5px\\\\\\n\",\n       \"6ReptGAeFRa9RoUzP0n0vsOo/KmjqVwuu5xXuA4gXsUQb7neyzrP/TxN1nmu93w9yPovrwcp4mqF\\\\\\n\",\n       \"kyuC70Bk/eemFKWIxdeiT9Ctnwyc+o4phVTDLUX13UkrBO8Ony+UBZ8jbEJqYzqHWK0WU5KwaxQq\\\\\\n\",\n       \"mBS0fLkBE08LgTxdC1Qy+bsUu2TLgtJ1ZeKVYRiGYRiGMThMwDKGlbTVq+FCft2Ph7GFKpn3SveH\\\\\\n\",\n       \"HFW+nFdxIOeV/FugOE7z+UgXlRSpOM8VC1UYhlCFcXIa/qKlwWjpkvQFHALVwoX9L+cQsDCOh9HP\\\\\\n\",\n       \"L+vyZZ5dKVrA0lmifej4N9nqmsz5w3mvOJyQc/5wEmsWuFgwUGGMyJNUnDCROjtQful5lQY+naIL\\\\\\n\",\n       \"i0lHVsh5pQWerCTkvkPX6Y/yuKq05qf1D+lKGmwOLH18UpTSoYB53FqyjLPyXDEyzFIm1ZfJ9X3z\\\\\\n\",\n       \"stDncvtvsQPNP/kqmnrxl6n8wM3pzFf9jJY+egdN+tb3qHPdNaiYVImWqHrNTist2uJ6kAKubJWT\\\\\\n\",\n       \"rwUWVeX1oJOKZR0w13+ZB44PSKrTsvUFbAP7wNcFJyTDuHrhFzo7Ke6aQBMnFpvqDrsAOWxQnnsZ\\\\\\n\",\n       \"1snXCubr64uor69A1SqLR/XkWuncKtyvUr9vcX6qKCBC8T3RlwNLhha2olWeK50ryxK5G4ZhGMZY\\\\\\n\",\n       \"JX2eGdpv/bC+ihqjEhOwjBUYHZ7C4/Iso/t1yEyrfi12FbwdQgdLpaih5YRaHWRxS0/vf/dFi2s1\\\\\\n\",\n       \"irqXpjl/OESQBSsML1jQ70jBNBlCyC/2vhBCfnlHHiq2cYTu/nGctpTnc2DxQbJax3mvWAxglwuW\\\\\\n\",\n       \"x3TOOi2bAKyrPu6sFItUKncSggur1WiAYUVqXzK/UsjNBHTIne70vK6W1Neh04GFosm0sCXDELWY\\\\\\n\",\n       \"JUMGdZqxLHR6Jh1SGMpfFXJa6ahRKepJkUSWByNFOHbB8XhVdZrOjRb8nKA3bSWqHn8u0Q2/oOTi\\\\\\n\",\n       \"71BUrVDtsYdo7sf3o1knnUydb9+9v06zMCUdVzKklh1ZqHd8nWgXIgta0oFVLxQnxutKwURoKTPq\\\\\\n\",\n       \"T4TGtkq+HmTeKxZt5bUmOy44tq+h/tdjWTs7J1FSdyFyFKJs0JAvV141a9A8H7p0V9L7VxpKKJ1V\\\\\\n\",\n       \"WrDnadqNxcKUDEOUSd59rQ5m5cLSua6kUGZPnoZhGIYxHrFWCI08mIBlrIBkCVZZ+Vl882V1OrzG\\\\\\n\",\n       \"F2rjy4vV3xUKaatiMnzQlwNL5r+SwlZjXKlGJbgd5Ms6XtD5BV4PSzcKD8uW2Lq7U7GqUqGkHtaH\\\\\\n\",\n       \"JOrub8YrpNMm6ipEhBfterxcxLmu+mOWmh0teNlncUALVjJ7OTtY6v2FUomKceRapcOuYzLn/OFU\\\\\\n\",\n       \"Q1mhfVLE0tGKPgFL6nZSX9P4BCjebRaptGDjS9zOxSn7W4lXjBaZtHNKO8y0OCUdWT4BTMPTpTAl\\\\\\n\",\n       \"3WM8LE+vFL24HHQZyHBK58gqRlTa72AqvOGN1Hv6cVR74VlKFi2i2V/6f7Tk3e+mWZ88gmIsxEIs\\\\\\n\",\n       \"57fSYpas87JVTo+A5a4BXAt8HdQLJUt+cYdeKLjrwP3FOnAtcDwrC7hSpJIhiVzw3NwgEFn+sd5S\\\\\\n\",\n       \"ZydVSwWqJWn9Z5GKxSxeBcbzpthQJu83+ItQxGrV1xiFT7SqZdz3OIRQf0DwfVDg8VKokiGISYv5\\\\\\n\",\n       \"DMMwDMMwDKMfE7CMFYy8oYJZzimeToEcWFmJjn3J26XriofTkEK4ryBOsWjFf3WCdtkaoWxtMO1P\\\\\\n\",\n       \"qFBFzqsl/WGCeEFH+CD3y3BC6c6SCa7xoi4TWuNlvVp1QUDoWLhq1X6YazUQR1d/SXelIMIIEf43\\\\\\n\",\n       \"IIk1J+rB9lk94XxYnDyJBS1WUOqKRrGUUNyZJrTGOZKrSl/MmxtU1O4r2WKbziEfcivxPD4jmsxL\\\\\\n\",\n       \"JfulOCOnSUGL5xsOAUsahEICljwO3/FxGejjzTp27UTjsEFdPlIc8yXWZ7FPNmApo1E7t9qCpv3y\\\\\\n\",\n       \"clr8vVNo4TXXuGVev+YaWnLvvbTmMUdT58yZzaIt6r/Mg4VrhQUsvhZYBVq6lBKR1L1WrTbqPUtM\\\\\\n\",\n       \"ua6FapVidH19VOjudoJugoPA9js7KZItb+Ivq06y9U/ZjCC3IsAnplSictdEKkyM6wJUf/lJs6TO\\\\\\n\",\n       \"Q8+HiXnYHIkcWL29nJuvVu+kI6sauNfp0EDud2cxEE5YVaKXq1WqP4S8AEzEMgzDMIzxwnD4sO3J\\\\\\n\",\n       \"YexjApYxzpAvVL68WnKaLyRG/9VCVn8+LNZv+AWdk7TL3M5SzOJp3J/mwUqo0NftQgcbohRezKVo\\\\\\n\",\n       \"xeGCPJ6nyRxYIql1te4yYeFKi1etXi19AZR4iccLfKGnhyJsl3P+8AH2xzL1v6CzEsJN+ukM4Kxq\\\\\\n\",\n       \"1GpuG+VyR1MScpc3qS7MyIhG1gRC+HI/ST0B+KLHpKijXUjaicVwhJnOc+UTtHhdvrxR7TqwdCOS\\\\\\n\",\n       \"suE7WQ46/FBOC+2PPB5udVAes9QffXAZcdnIdGpS5HUi1pSJNPXUU2nBdtvS7G+f6epz3wsv0FMn\\\\\\n\",\n       \"nEiz9v8QTdtmG4pkyCCLVixgsVgrQwjr1whCBKv1jus9yzh50o37AooLuA6Qw61ScddDQ5lmRUnG\\\\\\n\",\n       \"9kkBSzYx6JpnrJ+Acjldd0cnTZjQ1RRCyymzWMDC5ng1fMnxNJl6rreXBSwcXSUgyst7nMw/pe+f\\\\\\n\",\n       \"2qrH47LCBw3DMAzDMAZiIYRGHkzAMlYA8uS1yoNPlPKFBWp3QWgeX96rdBpaHtQhPLoVQtlwnw4p\\\\\\n\",\n       \"dKGD5YSKMfJe9fS/pMswKTkshSuZAwuhgvXptb4+qkG4EuIVv7Dzy7t0neiXd1kaJFI9c0lAEKgl\\\\\\n\",\n       \"SToMIQvTZQghv1HLkClWLlgpwb6yQlLPqYVQqgROrHK5Xn5pWCZHakkhRIpDUhjS6HA5kfqoKdRO\\\\\\n\",\n       \"zisFHi2S6RxWjN4nne+Klx0OB5Z2T/nyZMnk73peud6m8y72mfeR91OHGmJ8Rvq0YO4wPp/NXULF\\\\\\n\",\n       \"QkJRb5Wm7bUXda27Lj1/6mnU+8wz7gTM+fVvaPH9D9Bq++zt6l9T/iudE4uvhb4+57yCiMt1viKu\\\\\\n\",\n       \"AZZ0XDmIcU3lwcfjkXmqfCdADi2M7+524i4K2jkXdd43rXKy2s0VuqsrDdONIipOKFNHGU7EqClk\\\\\\n\",\n       \"EB3fX1jY1fce2fX1cYuE8h4m9146sfS9j+8O2p2lnbFymRytALQMGbSQQsMwDMMwDMMELGOFIBrB\\\\\\n\",\n       \"eXx5XuR4X0hNKAdWv5AVRYXAS/nAPFiyX+bAKpUSKib1Fst84pV+UWfRioWsJUvSMCmIV93dDdGq\\\\\\n\",\n       \"Uu+keKVdWL5XSd+rLJdAUQw7VRyhhXBOVSqNhNQNtSVLwJKxZJz0Crm2SiUqddaoUoypEhCwdMt+\\\\\\n\",\n       \"ecQgLV7pFvxCDiVv7VJuJS1SyVRfWsSS87crYOncXnp/+Zh8oYF5WmD0JZqXwpyEHVmh9YTOk/ca\\\\\\n\",\n       \"KSZUiuu2sb4+6lh1VVrvG1+nuRddRK/d8De3zoWPPEJLnn2W1txzD5oAy6K+JoTACyHXibjV6oBr\\\\\\n\",\n       \"oKIciLUWLiwtbbPsw39RDHA5QsjC/sdJ4gReDr9tuh5kBeYbAit92P96nq1CVxeVSiXq6IjcLYEN\\\\\\n\",\n       \"jbwIm7vqqbgCHZLPFyhJWLQqZIRah+59PqGKu5Dcl1nDchj+TcAyDMMwjDGPxRAaOTAHlrGCIr1A\\\\\\n\",\n       \"pEJbNL5pvpcxpuB5RfUJVv6cWGidjLUY7rTDil84deuDiLqbNCn921GsEi2s57ji8EEZQoi/aHmQ\\\\\\n\",\n       \"hSvZCmE9PxZyXtUqFeoVL+z88q5DCOXLe1ap+0qhKkoB6+6oh1NBxCrJptI4ho37WQ1hxUUksR7g\\\\\\n\",\n       \"RunooEJUonI5bgqLgs7FIWm8yixYqPK1yMfpunQCdOBLbD4YMatRywrh1vzyIl1VjB4ejGjl208p\\\\\\n\",\n       \"XnFrgzKflTQYZZ0D6ZDj041OhxAWonrMG4f+1UXRWR/4AE1ccy2a/bvfUXXpUqouWkTPXHU1zdh8\\\\\\n\",\n       \"M5q+2moUsQORc8Ih99vixVSpVBqCVY+o+9KFJQXcvNcCXw/Sh8nrZkG3DCcWxNx67jmHbNSAlVQu\\\\\\n\",\n       \"VD5JKAjhzuqYPJkoQj6s/oYTsSg3+sn5rzj1HIbZqcVtLKQuuUi4sGQOq1BSdy1dy5xXjTPrcWpx\\\\\\n\",\n       \"SYVkQNkiopzXwg8NwzAMY9zhnk+iIa+jXX784x/TmWeeSXPmzKFtttmGfvSjH9EOO+wQnH/+/Pn0\\\\\\n\",\n       \"la98ha644gp69dVXaZ111qGzzjqL3vWudw1t341cmIBljLEE7vIlil+QsoQunyClBTKfYCXXLyWd\\\\\\n\",\n       \"omshjYUqfkHXuX2cQNUxsAVCFrWK1EcR5+thgYoTVOtxUtyqO7Dwwl7t6XEhg3g571XuK+k+4Zd4\\\\\\n\",\n       \"UuFT/NdXerp0sY6Seul3mcDqCktx6VKX8LohUnEIlRSs8GaNAtACFlt2enup0FFovJxDC2DhAx3G\\\\\\n\",\n       \"sRjCrRFKfOF0MoSQX/hlUnhfQnSdG8tbC1U19YUzagFLLpNHhJPH1UrA0vucR8DifUa5yPA/rIsT\\\\\\n\",\n       \"t7NJjufn3FdcvtqRJd1XUrhi4x3WwdeIcy/11HNHcS63ukA7ecMNqPPQQ+j5K66k7jlz3AbnPfwI\\\\\\n\",\n       \"LXr+eVpjnXWohJ3mXFe9vVQRrit0faLe9wkHlhZzZTHJa0GG0bpjV0HEfF2xM9HNC0G3p6f/R5fD\\\\\\n\",\n       \"a2Uh8U0DoEBwPdcLxrX02dFJRXeZwInVn6gd9wzOSY97Cw5dhhRimgxV7umJqVot1o9eilj6fiiH\\\\\\n\",\n       \"+cilZK0TvDdqj/qMKn1qcc7PrFzKlo7VMAzDMIyR4be//S0dd9xxdO6559KOO+7ohKh99tmHHnvs\\\\\\n\",\n       \"MZqJBoMUvb29tNdee7lpv//972mNNdagZ555hqZNm2anaBlhApYxBtHhgHpaaB5fOKHPiaVdWVLE\\\\\\n\",\n       \"gvsqbryMyxd11mp8oT3SneUiimpVivA2ys2LccctqXFYIf7Krp7zCi/tLtdVkjS9uFfFy7sviXte\\\\\\n\",\n       \"AYtfdfV0lwtLv3oidAphVHCmcW4rDpviWCguGLaPpMl60g5v4nXLVJxUqRbVqFDoL2OZCFw6gnwh\\\\\\n\",\n       \"bjrETraUx/2yRcOQgDVQAAq9ZKc74NuXrHDBdgQsfXw+sap/f7P30+eS4v3RIpzUIWW5hMItdSii\\\\\\n\",\n       \"dHTpayWKau5cN6xybDcS10Sps5PWfec76OU776SXH3rYbWPp6wvoqYcfodVnzqBJCBesOxArSdKo\\\\\\n\",\n       \"99qBWPEIWDInVpaAJbM/yXb95PXTaLMvSahYq7l9Ql4rODXdwbK6hA7XtLOf1cfL676vj6K+XorL\\\\\\n\",\n       \"sQsllI18hkIGZZk2XysQsHjvQ2GCsSdYOBRyTYEw7FA9s5BAwzAMwzCayZOyoxXtLv+9732Pjjji\\\\\\n\",\n       \"CDr00EPdMISsa6+9ln72s5/Rl7/85QHzYzxcV7feeqt7HgPrrrvu0HbaaAsTsIxxhHRVtcqHxcO+\\\\\\n\",\n       \"F7dQCCEuJwgraY4m7TDh3Fe+4X4BK6EStJ2lfQOEqaYWBblf5seC26Q+3b20K8cJv7TzML9w9wVa\\\\\\n\",\n       \"IfSlZ5Y5f/jVll9F+cWfjUU16VCpx/o5FxZaVpM5f3AMHE+Gl3VO5M5v56KDCyWOU5ebfEmXL+eh\\\\\\n\",\n       \"HFOMDguU4YLSecUCFg/jCHV+LLHWjDoXJtRS32BpHebYej91nqtUlG0uZzmvjIILiWhuC54E91q8\\\\\\n\",\n       \"SnXNJBVwpWDF/fKaQH2qVGjGxhvThAkT6Pl773M5rpCg/bnZc2jlUpFWjuNGHZfXADsSZUitFK6k\\\\\\n\",\n       \"qBu6FmT9j4QDkd2IXNpNIi8aOUALhQhrxHiu51yRObaYC4Rb8sT4+nHHhSKVykn9fhE1NF59f9H3\\\\\\n\",\n       \"Gimgx3G/Y7S/VEJCli80MO9HAh1OaBiGYRiGMfKtEC5AahVBR0eH67Sb6u6776YTTjihMQ7vGHvu\\\\\\n\",\n       \"uSfddttt3vVfffXVtNNOO9GRRx5JV111Fc2YMYM+9rGP0fHHH0+F4X6wN7yYgGWM8ZDCLGSIjC/U\\\\\\n\",\n       \"ULusZDPzWshKp8lW1Xy5r/hdFJ3Mf9VI4I4cNX3hRNSNBO3odP+iRS5ZO8QrvKxz3isOIQw5UOQL\\\\\\n\",\n       \"eyh5tXxp1yKWzPnDMh6J8Cme34UT4uUd+8tKEIcKupWLl3kpZvGLfT1eLYqLVC6XGiGEUgAJCS0a\\\\\\n\",\n       \"3rzupPuK/6ZCVpqEu9mXI0tpMC/pcMHQCDC4fUlJHxzS8oiacrrJ08IhhLpVQV/YYNNWlGNOi1fs\\\\\\n\",\n       \"RhzgPuTk7NKRJK6PiV1dtMHGG9Hsp56iRUuWum292lehhRHR9FKJkihqCqPVgq7vWgi1yOnzZsok\\\\\\n\",\n       \"7lzvdQghjwOl3l4n6hZknisOqZXXA45PxiHXxa24WKByqbOh8eIvtC7OjcX3Hg4h1AneucyrVXlv\\\\\\n\",\n       \"YxFL3/e4JEJJ3GUeq8EKVtLHZgwW11BAu4n0DMMwDGMMstZaazUNn3zyyfS1r32tadzLL7/sPnyu\\\\\\n\",\n       \"uuqqTeMx/Oijj3rX++STT9Lf/vY3OvDAA+mPf/wjPfHEE/TZz36W+vr63DaMkccELGMcIPNe6RxY\\\\\\n\",\n       \"vvnkX988obCb1BXkE1KkAKCbttfDeOuMdLigDCfizuPG4pxXutMv7DqJu0/AyjpyGT7ok3RkyfXp\\\\\\n\",\n       \"Eq4LEwijahwfKxgsWnBGduXAci6sYpHijq4BYgj/zcKXoF2GCcqOxSu8FCZJqJ1GLXO041seqRfN\\\\\\n\",\n       \"dvchUuIFj0/zGCVJzbVaV6n0h0OifDgflg7D5DxYIXGO3691aJsMW4yq6txzXcBfrv/syKrXIYTn\\\\\\n\",\n       \"rbnSSvQqRTQXuaNQ9xKiOb19NLFYoLhQGJADS18PySCuBZnWXIu/TSGEdVj4RWHBicUtDTYEXA6x\\\\\\n\",\n       \"Rb8OHcZ1A/dWR0fTvSPrniLvQfJaSVvxlDn/fO6rVvfIPCGpOh9WFhZa2IpDDjnEJZudiFY3BU8/\\\\\\n\",\n       \"/TR9/OMfp3/84x85ytkwDMMwRiFwTw1TEvfnnnuOpkyZ0hit3VeDBe9ayH91/vnnO8fV9ttvTy+8\\\\\\n\",\n       \"8IJLAm8C1rLBBCxjlBON4PKt8rjowDn92jpwHQjN4ZdGX8JqGcbDiavZYFQsJFQo1Ii6/cKNNxdW\\\\\\n\",\n       \"vT9Bh1bWkmRAsnbtNPEJWBw6yC/vIWT7ZL7Uzdwv86frV+MacllBiMKBS8GKLSNStOCuySpVoxg5\\\\\\n\",\n       \"kmI4g1J3kA4Z9JkQdP6rkHiVOq+SRgghBJzmtN4sc/AR+8SsFQUpWvGZ1dnM0OpdmtsNZZKWddSo\\\\\\n\",\n       \"31rEysqDJfHnwkoojmCPE/Gc0grnqx9C0IJza6VigTpKRXqhL211ECyuVF1SeIif1SjyXg/6GpBn\\\\\\n\",\n       \"2bv/ypPpcy5yCfL1wP2u1JEPC46Znh6K2JrJ1zb3c8etFHCOODgZO9JccKVSNMDFpu87/bnF+sV0\\\\\\n\",\n       \"FiQHClY+ESt0L5SloedPluG9fPxw//3309Zbb02XXHKJC2EAF198MX3+85+nt7/97ct79wzDMAxj\\\\\\n\",\n       \"VOTAgnglBSwfq6yyihOhXnrppabxGJ41a5Z3mdVWW83lvpLhgptttplrwRAhiWU8pxkjSgu/gmGs\\\\\\n\",\n       \"CCGCUlDyrSNu4SKQL2x6vkKGoDVwHfwiLh0QspU12SIhv3A2ouYKNSolFfdC2yRasdOE3VbqL8Qr\\\\\\n\",\n       \"/OWE7TLfDw9zCOFQOrnurO6a+fNpswceoE89/fQAAa2Rb6hSSfdbi3EcJuYT7+qiRYT8SFUkhYfg\\\\\\n\",\n       \"159HSocStnJjMSxacYgVd9UqnEfap6bT4cusSuzr8ZUKpnfn7HpylHJPG+sLnX25rzK4zh9oWqtV\\\\\\n\",\n       \"XZk0l5HMEZbjShXuH5l4v3HOooTianqO3Yql20p3MqSw3rGQW4xjmlkuUYfL9ZRSrSVU6eujvlpt\\\\\\n\",\n       \"2Ou87h7r7qZjn36a9v73v2nTBx6gC+bNa7oeGzUHT1nYZw6R9F3jfPyiHHCPwL2iVKg130NE6LJM\\\\\\n\",\n       \"q6XvR/1uRV+Lg/peJwMlfffI0DqaznzGvTzr/q23ZSLWHXfcQfvttx/tvvvudOKJJ9KHP/xh+tzn\\\\\\n\",\n       \"Pkff+c536Morr8x3IRqGYRiG4cQmOKhuuOGGJocVhvkjkWaXXXZxYYOYj3n88cedsGXi1bLBHFjG\\\\\\n\",\n       \"CkjeBHlxGy9Rej49r8yVpfNi9b/EyRd0fmnUydylU0ImcS9EaaLzAS/t/DIrx/PfeuggWh2UoYKy\\\\\\n\",\n       \"X46Tw+w24QTW2mOkP4Do/FfsLpFn44XeXvr+7Nm03cSJbnqfJzDNlVq1mq4Lx8YhU+iQyEc6Tth9\\\\\\n\",\n       \"w/1CbSrExaaQqKzULzLpuhSs5CoHCjLSecXpvmue0pKp73m5pq23GdY3EviEXDnsy+2mE32n42u1\\\\\\n\",\n       \"NHcXyhtlxuWvyxTIFhy9eyXCBt11gk3oFUm3lXYiCtHHtb6Jlger1fRMRRF1oU7VatRT4QzzRIW+\\\\\\n\",\n       \"CvUVC9SHBO9R5A0h9OXBkiUpMzZxScncVwtrNVqtXKY9pk2js158samxBC35FOphga4AkBSPXVbS\\\\\\n\",\n       \"bSlb5RTHX4hiKpcLwWTtUjjX96RmAatxZar7WzVwH3QnKmedkyWYdznetqHBV1+EKaDhgtNOO42K\\\\\\n\",\n       \"xSLddNNNwQdtwzAMw1hhaDcbR2gdbXDcccfRwQcfTG984xtphx12oLPOOosWL17caJXwoIMOojXW\\\\\\n\",\n       \"WINOP/10N/yZz3yGzj77bDr66KPpqKOOov/85z/0zW9+0zmhjWWDCVjGGEOH90nyiFchh4EOndE5\\\\\\n\",\n       \"XtJwNp+rpDlEqvkFs6nJ+xhJzkXyJR1Gp0Oo6iIWHCdwcshQQClQ8V9fJ+dxL+9JQk93d9MrfX3U\\\\\\n\",\n       \"XatRZxzT9HKZ1urooDiK6Pb58+myuXNpTk8PdcQxrd/VRV9bd12aBDEgSeiUZ5+lT6y6Kj24eDEt\\\\\\n\",\n       \"rlYb65evxDwuqrfIlnmssllAKWq4ZMVJU34fGY6WJ4RQ58Piv80J22VgWTUgXsnMSTKckPGlAl+W\\\\\\n\",\n       \"SLlFjmNxggtLBoXK/ubCRNmk5RR5yi5fGKE/fBDDGSdHhxJ6Og6hbZw5JKAvFJzQU4F7D/WGiLoq\\\\\\n\",\n       \"VYqiGi0o9YcU8hmUgm5vktATS5bQQjSMkCQ0oVCgNTs6aJVy2ZXOP+fPp9+J62GDri46Zd11aeMJ\\\\\\n\",\n       \"E2jLCRNcff/x7NlN10Gl/sPbuA6ThAqc904K175rQ/Yjh1YxGXgfEQ43fQ9qvh/hnoVz2SqMOuSq\\\\\\n\",\n       \"Guz9lP/mEbMMDZLEollv5MFCq0m33HKLc2RdeOGF9K53vcsKzDAMw1hhGc5WCPPykY98hObNm0cn\\\\\\n\",\n       \"nXSSCwPcdttt6brrrmskdn/22WddGg2ZHP7Pf/4zHXvssS6kH+IWxCy0QmgsG0zAMlYQ8jqnZB6X\\\\\\n\",\n       \"wWwjK++Lbz/SadxSm3wh1y/nvhbXZBfjtTnHS/qAsCmIWAFhih1WctgnaEFsunn+fPrTa6/R8/UE\\\\\\n\",\n       \"2JK1J06k3aZMoV/Pnk0HrrYavXnqVOqtVunRxYvdiz228auXXqJpxSK9a+WV6YHFixsigGyNramr\\\\\\n\",\n       \"t0rYEKn45VzG80nRSmUKj0WuMS1kZbU8KJ1YOpF7Oj0kXvnaa/SJWb5WCvN+UmpX5MorIoTqMgsJ\\\\\\n\",\n       \"WrDi4/G5cBBamebF8pWhO4r6cAh5vvQ5JLil9Eq1gCOdeUrA0vXMHUkcUbXkspZTEfm1iKgTwlFv\\\\\\n\",\n       \"H71SKlJ37K6+xpl+ua+P/vrKK/SX+a/Sgl6Z0S1l2ymTadcpU+mc55+n/1ltNdpp6lTqqV8PEKRY\\\\\\n\",\n       \"RO4vsX4BS7b315A92comRaxW9wFcA+WEinFYvArdg2SZ9wtYWWJTVi6sdpGurDytFvryaY1f8IV4\\\\\\n\",\n       \"yZIldOONN9Kb3/xmd7/69re/7USsww47jH7yk58s7100DMMwjBUKhOKj84HfWw1cz//617+WwZ4Z\\\\\\n\",\n       \"PkzAMlYQhiv3SeilS4tffqGqf/rAMEOd20f2S/HK9zLp/sJ9xaKNL3G77urTOWRKClY655QOI+R5\\\\\\n\",\n       \"8Or4l1dfpYvmzHEv4J1vfgtNe+/+VFx/Y4omTKBkyRKqPPEovXTVb+mSO251x4lXyZXLZfcivnZX\\\\\\n\",\n       \"lyuB+xcvpj++9hqdt9FGTV4kDiFkCYS3ie3DDdPkOOnPoD7QeSMdOPVpyJc0mBbjpdCio9XSzida\\\\\\n\",\n       \"6TTfPuFKjhtsC4XtJILPGxKr667ulyFkUmZhEZj3m4NFq3XRY2DoYJ6wweBeQlCBA0vXg+aT0y9o\\\\\\n\",\n       \"8XgRWsh54HwibR/CBYtF57zqQhJ0hGOhqeS+Cr1cKNDLhdjV15+/+CL9+dVXKC7FNGXnqbT+W1ai\\\\\\n\",\n       \"8ipliooRVZdUadEji+jx61+l+55/3u33quWyux7wY7pOV5dbb8VzRl2dr5ciB2RyzYoQEivDg7Ou\\\\\\n\",\n       \"eSH4xp1wYQ3M/yaFcn3/0XnIUtHWl9dP1x1Zn+R038eCaJiEJ+kONFjA+uEPf9hohRAfT/DVd++9\\\\\\n\",\n       \"93atEBqGYRjGCo395BstMAHLGAfolyx+jdQva75lZOLiUB6h2L1EiMYoGsKKfFnUIla/0JU0EpM3\\\\\\n\",\n       \"vbiz20pnGK8PI+8VO06a0203Syz6ZV6KV7996SXXde3zHlrl4E9TYdbqzYc3cRIVZsykjp12o8oL\\\\\\n\",\n       \"z9Jrnz+Mfjl7Nt342mu0z/TptPPUqVSOIvres8/S59dYgyahlTfx2yO3L1/YOYcWBAfXIqFO0J0l\\\\\\n\",\n       \"XtTVkViUYyt80WjSdcUtD6buK+3A0sKVDDLjoDMpVGknli8HVujXWS6ThZQFfYREBxk2qMUs7b4q\\\\\\n\",\n       \"qv2R88KFFVGlEru6rctTl3MrGiKuqxgZzUPqTPv1zuW+SpJGqVcyroVKIaZFcYmm9lWoqx5SOKNa\\\\\\n\",\n       \"pY5alb48Zzbd9PrrNPNDq9LKb1uZChOaK1dhYoFWfuvKtNJuK9GS/yyhZ773DH37mWdoUzgUp02j\\\\\\n\",\n       \"XadOpSkQyVSAnKxRPoekkw6dI6x+vctQYT5uTFMOLNwzorji8iCF7y/hHHHpeNj1faHXvux1Ot9b\\\\\\n\",\n       \"4wyKjGB8detpxnCAUEEf2223Hd19991WyIZhGMYKy/IIITRWPKwVQmMcE8r94uuX88jp/cMyr4/M\\\\\\n\",\n       \"7yNzYunxjXFJLXUkcVgdx7ppJUAKOxCx6i/tlCG36ITU/PdPr7zixKuJh36GJn/plIHilaK4xto0\\\\\\n\",\n       \"/bK/UMde+9Jz3d10xdy5dMxjj9GLvb00t6+PTnn6aXrXAw/Q3g88QH9+7TX6x4IF9OYHHqBnenoG\\\\\\n\",\n       \"hnRJr5FWPvg4tXih4tVc6avy9iHzMMncTFzEzZ3cS5+QpVN9S+nQJxP6pvs8crq9xlDWsqGso9V6\\\\\\n\",\n       \"K55j9AXkpR3KSpefLFNZ9nlyYbmOZ/YJV766IKaF/HBeITeKaG6pSK8W0tBBMCUhOm36DPrAgevR\\\\\\n\",\n       \"jH1nDBCvmvc7ookbT6RNztqEutbrov8sWUxXz5tHn3vsMZqNsF7PdRfq3CHXc4sNcBsG6r6bBvGN\\\\\\n\",\n       \"O08YrcwH5wvZHHi9+O6Huj90j/QNGyPFL3/5S9cK0uqrr07PPPOMG4eks8jZYRiGYRiGMZYxAcsw\\\\\\n\",\n       \"2n4B003Nt87tw0KVdkfwOIJwwi+uUg2Q+X90fqxaLdcLspRb+CV+Xm8vXfjii9T1/o/QxP85wr2Q\\\\\\n\",\n       \"57phxDFN/fJp1PXO99H8SsUldr9n4UL6/sYb01kbb0w/3Hhj+snGG9POU6bQdpMm0cUb/3/23gTa\\\\\\n\",\n       \"kqysEv4i4g5vyKkyK2ueq4BitBgsWhABpSnsVkSkRRQBB/rXJW1rYWOVKIO0FojYqM0CGwQnbHAC\\\\\\n\",\n       \"W+1maFBoFYUqRpEqCqgBasqacnzv3TH+9Z2Ife++3z0R9758L6syX357rbNuzDfinBM339m59z4P\\\\\\n\",\n       \"lb3NZoT+IHVKTLYzHUw1vU4qj7rsK56BEGCSpbhkXlrgLN1hzZlVuVjBpFYWVmr1I/th6qwq8xJY\\\\\\n\",\n       \"s67B98NkV+x++Z6ZuIqZU8f0aFFvSmZN1qslseoIrEkFXYX6ioslevQ9KGVeVaQR7pr7npJY9zYa\\\\\\n\",\n       \"cmuzIYfL8/c0GvJfP9WWF350INlgtoY9W8jkgp+/QNrnLIRQ9EaSyD8dODBRS6N+GKEEp/R6/L7b\\\\\\n\",\n       \"d57fE66DfDBhS47ZBSvzxopW4BYxE2HUwQmrBwNvfetbw4xJGti+f/9+GZTe3V064+Wb3/yg3JPD\\\\\\n\",\n       \"4XA4HJuCfJOKY0vDCSyHY+5XJV3XPjtgZILFWguT2ExrNv8pkgOltinQKnbgXhUxrp8fvu8+kVZb\\\\\\n\",\n       \"tv3Yy+Ymr3pf+oIceffvSv/L/yqL3/sCGSapHOz35fyFBTlnYUHOXVgIy1qWs0yW0lQuXFiQhs5Q\\\\\\n\",\n       \"OEuBZf1mMTXKJsAKdya/NkYFWiVSTPXEZFWsdHQ+O5NIxqlkvfKYjRR7PV7vmu/vz/kMVXTL5DYr\\\\\\n\",\n       \"DDROz43DNpYleCMKrLpl+64cTlN52b475P/lq6OvfPY/5/K6PxzIafervTeXR9wylCd/cRg+dV2x\\\\\\n\",\n       \"8tUV2fdX+6R7R1dOedYeuW21Iwf6fTmr3ZbOcChfXV2VG1dXpZ/nQaF4/eqq3EpqxClbISsu7ftv\\\\\\n\",\n       \"M79ov/52sFXQWplnz9C5/t82x4OH3/7t35a3v/3t8spXvlIyamzNxvrCF77gTeNwOByOExjJJhXH\\\\\\n\",\n       \"VoZnYDkcM1FlJ5zcZ+2BE0cZOyFvD2OQoZm6jRVHGLDbfUjNjlgE67b1hkP50P4D0n7WsyVd3jZ3\\\\\\n\",\n       \"+ydLy9L9/KflyJ+/W/IjRyRZWJCFbkcevX179D8+YusxJVZ0+roYAxKTUlXAXsJWZfy4Kr0af8bC\\\\\\n\",\n       \"3C0lF6MSq7Kt5vnvIuyr+wd5WPGPNucaDU3WFdQ2/Cw4nrVDnLWFKH5ceyjDYTbVhLZ+65q1+rHN\\\\\\n\",\n       \"VIbc7yNfYvtg7F2IFbXDfvLAIbn9B3bKD2apvPBvh9IYilxyh8ib3jGQbkNk+9r46+7ZLvJ7/zaV\\\\\\n\",\n       \"j29PZeWGFbn3Q/fKcHUoSSZyXmtBHrtjh9zX7cpP33jj6Jz33HNPKI9bXpbfu/jiqZ4yehpWWOHZ\\\\\\n\",\n       \"+P2302iWyzYHjn+LeFuMWB+3a+y3rWqf48HCTTfdFPKuLNrtthw5cuRBuSeHw+FwOByOBwpOYDm2\\\\\\n\",\n       \"ONY78JpnIDfN8luCiokq/uRB48R2XYj5rpgVsEUH7TSQn3cAf92hQ3Kw25Hdz/4P66qZxvkXySlv\\\\\\n\",\n       \"eMtovfelf5H7fuqH5QuHD8vjDYn1X849N8zwxt/NmBi4V3nOYmxTDezhkeqa2jcmWGyt8edgjmyo\\\\\\n\",\n       \"mM4n3LQhrZgYmkfnPNKpzTnrYB3ZALYCRFUstJvXLWkF8gvnF8+sdaezEjLXwvVbZSscPWFVFdhG\\\\\\n\",\n       \"C7duWDK6cBUVaLfZ9+Sj990nzW2Z7HjCDvnfzVS+dG4iP/OXAznzfpF2vyiM3YdEXv4XQ5HntuST\\\\\\n\",\n       \"P3fBaPs9/+ceueVP7pJD/b7sbbXkfz3mMeEfWC2tcsZDxOLzezl+3IoKi70XVAc2Cy60pCHLLWlu\\\\\\n\",\n       \"lVnT7V2Xh8XHrAeYIMCxEVx44YXy2c9+Vs4///yJ7Zp/9fCHP9wr1+FwOBwnLjbDAuh/amx5OIHl\\\\\\n\",\n       \"2OI42oHWPNecba2py2aKKbUCYgoTrBsLVYysCqeUn1YLpOX2TkeyxSVpXvQQ2Qgalz5SkiyTO9UW\\\\\\n\",\n       \"tX37iNKwmqMqMm0KG/CccZXxss3Bjzkz6QbmJKYsicWzEsYIMPv0XCvr+Zd7MGffZqJrGMk2ApHA\\\\\\n\",\n       \"RNbQ/HMAxRaugTn1uJVRCvmPtWRybJMlrFiVNdkG60Skz3DNxpROtlXu6HZk4eIlSZvFy3jTmYlc\\\\\\n\",\n       \"9eJU/sd/H06RV6hdPfclHx7Kpx6SSJ4Wdb300KVgA7y71wszEc7S4Nl3N+xnAgsVE2NfI5VW91tj\\\\\\n\",\n       \"1VjV0Lbsz/kbuF64imszoPlXP/VTPyVra2uB9PzkJz8p//N//k+55ppr5B3veMemfIfD4XA4HA8K\\\\\\n\",\n       \"nMByzAEnsBwnEY5jK8zQjPLrEFOmYNcc//Gwopk5S8uyUWh2lhJhKzX3slkxSAEa8lOT12XtaVUu\\\\\\n\",\n       \"RBOdRBlYloDiWfnsOquymMCKEVmWsqiqnaP5V7vKNhizfzGBxcQVHx9mFKD74eOS8lmhxCqeIVaX\\\\\\n\",\n       \"IK+YSOSIs6r2mXyMMthpk1BVuxrgni5Ofs+F+6aVVxO3JiKnHhJ5+Ndz+dfzi7rDrIWrcxCxtS29\\\\\\n\",\n       \"DqtsUYkDcIjHGY7j39sTGD/+4z8ui4uL8ou/+IuysrIiP/iDPxhmI/zN3/xN+YEf+IEH+/YcDofD\\\\\\n\",\n       \"4XA4jimcwHKcRDiONaVzBqlvBlpJInmXQn02gGG3K61k21Elh02fYLayLyoiH4llKlnrmj3OWgcL\\\\\\n\",\n       \"UkVtcLHsqjpFFVsK686x5JWdl27iieTokNb084xaAvfLBBTOTc39sY2MnyeZek6tO7UQDgaFjbCq\\\\\\n\",\n       \"7tE+9hh73FRLc9vHwuUMqsxvVW/Ygr4PvcnfhlMOy1zg44bd4iGbG32X13t+cjyHrB/Hv7knMH7o\\\\\\n\",\n       \"h34oFCWwDh8+LKeddtqDfUsOh8PhcGwceVKUjV7DsaXhBJbjJIAOopJjMKDa2LUmRBY6CJ134MoB\\\\\\n\",\n       \"NpSDg8/YVXj/rkZD+ocPyfDAfkl37jrq+x/ce7cMux3ZaVQyljywiTpRQiEWysNhYbxc7s/zMWHC\\\\\\n\",\n       \"sDFCNrzdElpxEspus4Htgwriio+LGdhiaqzRnR+lAquuv9tW4P2x74dV0Aa8W6Jruq64PeraICYg\\\\\\n\",\n       \"nCAd7XvAgU42zKnCN1eXWmdrbWejKb07VoIdCzNy3j/n3AZ8XPeubnm96veBt1USa7HnrEKdb/Co\\\\\\n\",\n       \"cPz8PjpmY2lpKRSHw+FwOLYCbJ7t0V7DsbXhBJZji2Oc0TMf5jG+8eB9xpE1NqnKfTqlGA9KeZAK\\\\\\n\",\n       \"G105eE8Hg4lELjaL2YE76IjLd+6Ut99xh6x+4H/J8vNfJEeL1b/5C2lmWZh1LY0Y1GYRaaMUMX1e\\\\\\n\",\n       \"EFQgKzCtGj87jouEh3H2kl232UzTOU2ziKtBheqqP0cOllVwSSQRKT9KGyErq7DOQexQS9kWsTQn\\\\\\n\",\n       \"vg/2QESN47p47tAgUYJOVWyceRWra14PV6X18R8bJSmlbY1iSUxs5z6TZeFdsE8ZqzHuo/q1T9q5\\\\\\n\",\n       \"Uz5+8/2y+rVVWbq4IAM0yF1nG9TA9pi+SZ/6vu3FccD+v71PLl5elNNaran3wb6H9l5G23kWCBBh\\\\\\n\",\n       \"VoHI78dGf2smYInJOhwN2bqphuKTCjrrIMjVWfj0pz99zO/H4XA4HA6H48HC8ew9cDiOE9gB+/Q+\\\\\\n\",\n       \"zviJBVfXWd7CsbrCxAwTObEBeznA1UGNHbTbQbHdpgqsb9m5Uzrvf4/kRxmcnvd70vnLP5Vv3blT\\\\\\n\",\n       \"tmXZVMoSo+5+RoP29Tx7uW1oFD8xwsSSKjbEfTwDoVVQ1ZW+UWDx7IQoOMYSYH2zzxJlVdtm7bfb\\\\\\n\",\n       \"8D1V2+25rBzDcTHbZExtNihthJN1G6v7qnYaFZV917R5IHVifUXJ3Jo+H+uT2HbZ9u2yZ6Ep933k\\\\\\n\",\n       \"vnH/ThP5vX+bTkTZA6AEdT8C3Dt3dOTQl47IFbtPnVJXVd3P1DFKUOD5WIXI9WH3qf2xYt6HqoB8\\\\\\n\",\n       \"W+eTKkT7pNjn5NODiec85znyPd/zPaFcccUV8tWvflXa7bY87WlPC2VhYSFs030Oh8PhcJywyDep\\\\\\n\",\n       \"OLY0XIHlcMyFul/E8T470z3Ptsb7puxUOhC2NjqrOLLrSRK1SMXIIjH7nrV7t/z9V78qnb/7kCx8\\\\\\n\",\n       \"+7PW3QfWPvy/pX//vfKMhzwkShIkFZHhUTsXntuSVrydB+/l8tBkWY0JqUllT7WtrSAep9vRqrHm\\\\\\n\",\n       \"ycWKWQo598oqrmx/ivWvqv5mlRhWUZVUbMvIJghCghVcHNbOJFVSURfQMJV3m6sSq7B28kR6XPfc\\\\\\n\",\n       \"RpM5ZCCwjGWwpv35fYA6peodsH0QCHqzJJErdu2R9/zzXdJ5zl5pn9YO+z75sFTe9NxitkENbAdU\\\\\\n\",\n       \"eaXkle4H7v7fd8tyM5N/s3NntI/HSKypEnvv7XuAdd4mk9ljVb8xnEM2+Ts132+b48HDq1/96okQ\\\\\\n\",\n       \"95/+6Z+W173udVPHfP3rX38Q7s7hcDgcjk2CZ2A55oATWA7HXJg9yGMyZKSsMoN2wA7e80aExIkN\\\\\\n\",\n       \"XFWhgQFuuS3R7B4aoMfUHTyAVhrj0qUluXznLrn2114j2ZlnS/Phj567H3Q//2k59N/+qzz5lFPk\\\\\\n\",\n       \"osXF0QA8M/eA76qyF44G+DxgZwWKVZ4Y0iKn0PAq4sqqfKbVVzHCqSoTy6qw6tRJIIiqlhVWHnO0\\\\\\n\",\n       \"KherL4rNJIjcKyap+HzWGuXlPw04Ds+Z1NZTocJKp+rYqhJtu0wEuw+13SsIW95m1VilCjBGGKEP\\\\\\n\",\n       \"Mn3HCixthWfs2SP/d/998vU33iIX/NJF0thR/NOoJNWnHpKE2QY1sF0zr9Q2COWV4p4P3CP7/99+\\\\\\n\",\n       \"+fGzz5aFUgmG74wRZ/ZdnSDV8J7z88XeAWxTBZaSuaRuq/qt4d+k0Mr5PHZAJ7CON/zpn/6pXHvt\\\\\\n\",\n       \"tVPbX/jCF8oTnvAEeec73/mg3JfD4XA4HA7HAwG3EDocI8xrlZnOieGBuR24K6osbKPcpoSUR2yX\\\\\\n\",\n       \"4sEq1vWz1SpsU6UKK0YcNWgOOjuozpJE/vO558hFrabsv/Kl0vnEx2c+tSps1j7+f+XAf/lJedji\\\\\\n\",\n       \"ovzE2WeHa6LECIMYeYZPFGk2Rdrt4pnwvLpNC9eH7qc6GVRY1mAdnJXDVNirqux6TFyxzc5mYPUr\\\\\\n\",\n       \"rIe63iuL3d+n7bzNrteVunN7Efsgttt9vB/XZuWYrQt73uQxUVsgEVbaLmwtxPqoTfQy3P+5T+i6\\\\\\n\",\n       \"9gl+L3S/lmZz1J8a1Mes+sr2TRCvO7JMfvH8C6W5fyg3v+5r0rm9M+73aSL/en4q//DINHyCvMoH\\\\\\n\",\n       \"udz153fJne+5U569d688c8+eKeIqq3gn7T2E40FYl88z9XtQUfIkjZKzXK+hp0faw5Jdsd+22b+D\\\\\\n\",\n       \"jgcSi4uL8g//8A9T23WbWgkdDofD4ThRkeSbUxxbG67AcpwEiNm1ePAFHpePseobPo/BqpVyyVgG\\\\\\n\",\n       \"qwbzY1WEqigyyVVFYpUlPJDV7Shqm2o2J5RPdrDMg2hocrgmltJUXnvBBfLrt35dPvPK/yythz5c\\\\\\n\",\n       \"Fp77All42jMlabXHz7O2Kmsf/YCsve890v3ql+Wbd+6Ul517rrTTNEpIxZRX9t5GxBYrakBOMEFh\\\\\\n\",\n       \"njkor3TQnmbSHyRhkN7rVWcrxYirSXLRKoliCqzYcdZGGMvR4v4Su769LvejWf/6Yj+0O1BYsbIK\\\\\\n\",\n       \"32f1P7YPQ6Fl7YNV1kEsQ801PsYSKTbQ3Srl0A7ahgXhksgwzSQJhVR5VX2ifD/UfpdTkHud6ior\\\\\\n\",\n       \"Wwgx6Lj7s9ttuebiS+R1N98kX3nljbL9m7bL7mfskeVHLEtCiqve/p7c//H7Zf9H75Pu/r78wBln\\\\\\n\",\n       \"yHP27h19Z4OIKn4nmDCzy3hfw/PwM7MKC/uI3M4z3Z9N1XEVkTgx2+OECqvqt83+9lWRVjHFIu/z\\\\\\n\",\n       \"vyY3Cz/zMz8jP/mTPxnC2i+//PKw7Z//+Z+D8uqXfumXNu17HA6Hw+F4wLEZfzL4nxxbHk5gOU4Q\\\\\\n\",\n       \"YIC+kfPtehVZYC1SdjDGx4wHbNPZMnECK0pmSRqUFGHQXqW+4oF8+ZkGJdJQstJGiME5lplqsEqt\\\\\\n\",\n       \"RkliXXX+efKpgwflg3feJl94/avkyG+9QRpnnyeytCyyclh637hVhqsr8pgdO+SZF1wgj92+XZpl\\\\\\n\",\n       \"eDwPvuexEE7cB9sEawirKQIj0brKoiHtscyruvVqoiqmOIqRVRIhsyx5xaotPt72p/WoWbhPMgFr\\\\\\n\",\n       \"jWr4XtQ+E0828yqLEFf87GwntM9TbJun7m0O1oRiaJhMvgfcJ+reBbwPw6GkxlIbUyiioMZAZp3R\\\\\\n\",\n       \"askbL3mIfOz+++WDX75Xbv7szdLa2ZDmnpYkzUSGRwayensnvDtP3rVLnvmQU+XixcWJdyr2PVap\\\\\\n\",\n       \"aJfDZAw2qN4+py1K5iZJ+O2oqnOrBI39RsUJXNvH6n4TY7+LVX31aOB/iTKuuuoqueiii+Q3f/M3\\\\\\n\",\n       \"5Y/+6I/Ctoc//OHyrne9S77/+79/g3XtcDgcDofDcXzDCSzHCQKrONnIdWIDIgzosVx33nQOkA4G\\\\\\n\",\n       \"2bbGKpNYJlBMmTJMUkmhuIK6BBapbndsq0MprUY6aM/6/VFqUSOiAWpUUCVhe5KEWQmfuHOn3NHp\\\\\\n\",\n       \"hMH7fffcKavDoSxmmWzbtiyn7NopTznlFNmpMx9GyKmGUZ+wVcqqUUbn6SBdLS9aYCG0z8dKm7Lk\\\\\\n\",\n       \"jcZU/aHu9VOrytoHp9VAOVkIY9ZBS1bZzKs8MmOftQpKZJk/NysDS2oysKSs7YFZTsv7Zh0SnwvC\\\\\\n\",\n       \"KimPY8onZiMsekRRx0pkJdE2wLq2EeyDMbtnov2M+wJbCm0f0b6jF1lYKBRYg8FEX8N7wTQi13Re\\\\\\n\",\n       \"PqGUT7ucpvKsPXvkmbt3y/UrK/LJAwfk0P0D6Q6Hspy15dwzdod3YXuZuwWSrFFhF+T+b9VZI5sv\\\\\\n\",\n       \"FFZ4PvucvA2EVrMpw5LInccuGyMOtdomg9xtDVURq7P2b5bqytVbMShR5WSVw+FwOLYcPMTdMQec\\\\\\n\",\n       \"wHKcgODBtd0uJsp5PYiprWLWr5jCQAOs48QJqyBAsHBR+5R+po1UGjxwjQ1mzYA9DNrLCzNxhcGx\\\\\\n\",\n       \"HY5agxloDdAR57Tb8oNnnDGpEcrzoNA60OvJHkNgQUXCxFXTrNttTZBYqsDi5+JSNXgPBFYz1Bnq\\\\\\n\",\n       \"jckQ2AkxONd1bhNY1YpBe0xdxcuxXCsmbarOjV2rylJo+25dn4z1eZxr+zpUVSCdQFxhmXuEtQ3a\\\\\\n\",\n       \"77KzEoISiqvU8jwd1T0r5MY2wUnbII7VdtRm1uWsYdo+Rlxx6XYD4aV9Kiv7GFrI9nXUaqymoV7U\\\\\\n\",\n       \"4/91ZUX2NpvykrPOmji+anZDS9pWFUuuhXP0mRYXi3daPy2hW/FboIq1LtUfF67rKiKxUGZZyx/3\\\\\\n\",\n       \"uyp1lu2b64HtO7GWcNXVLHS7Xdm3b58MIa8rcd555x1FmzgcDofDcRxgM/4E8D8htjycwHKcgGCr\\\\\\n\",\n       \"FNaFLE7YByqnaqA/yyIYO84SEqzCGpbKk0J9Ehsw2gElq1CGOvtak4KqWX2EgTqrkaBI6fcl6XZH\\\\\\n\",\n       \"ypOhyfnBun0yDNaxDFqDaY+iWhM5u9WSVpqGHwyedTA2YI8psWyAtdqlEktO2GdmxQ3tC/lXnerB\\\\\\n\",\n       \"uQ0Gt8HhxTkxNZUltKrUWNyfqkjOqn1MYMU0cbG+XtXvLTgPyyoWuVV52a5bJSLbBusIuvG6vgN5\\\\\\n\",\n       \"PqnAqmuPmJoubxs7KfeJmvcjkFh5PnoXQOJiGQANx+AWULXVfd1uILD4F4Rr1NoEOTw+RlbFyigH\\\\\\n\",\n       \"LvYOoP/XvB+DXhpVssVUntO/SfqbZYmq2G9crB/GtsV+S22/tto321/tPofFjTfeKD/6oz8q//iP\\\\\\n\",\n       \"/zhZY2qdTfS9s8pOh8PhcDgcjq0DJ7AcWwB2sM7bYwMvBg/Ssd+SEbwtRngwiZVMDdJZfWXtUjz4\\\\\\n\",\n       \"7LeKgHIdmAZyp4rAMtsTlV/oQNsQWA2jLLHDTn1qDHVQAyCyLC5ZXJxQnkhEcdKM5P1YC9VItcUz\\\\\\n\",\n       \"D/IAnck5VtyAvGo0CwLLzObI9cp2wqpA62LgjtqoI6qqSKgq1VWc3JwmBNCnqvqlomogmtX0Y7Qm\\\\\\n\",\n       \"b+eMrLyCnOJtrMaKqW+Y5rTPX9RtFZHCbWPbjtfzxSy0dVJH5HA/ITVWopZaehe0QJ2Ip8gqagrr\\\\\\n\",\n       \"B3s9aSSJ7G00Kv+RtLlvdX2+Tn0VJmOwKrMZz6022jATZydOYNl3wv7eIC8uTt7GiCw+tur9qFJT\\\\\\n\",\n       \"2XNjxzhhNS9e8pKXSKPRkL/+67+WM888M5BWDofD4XBsCWzGnwT+J8WWhxNYjuMYVhGykWtkFde1\\\\\\n\",\n       \"qhUcC9MRz7TGA30e7I21ToPBOFAZtqmYzQ2RVjoOxX5d77czaaiNCAdjcF6SVMFeBGZmbW3smVML\\\\\\n\",\n       \"YacTRqWgHcQ8HUxkrKBCghMTX1VaoLXBQIZ5LjtKGyEG4bHMn5ZZn1BkQXGC/CvYImGhgo0K+6gM\\\\\\n\",\n       \"kmL2QWuXYjtmzMqJOh+HvaPdYqoi1EqVhZCXYwP92HarZomtW1S1RAz8jqDfgoxC6wPcA5iIwn3g\\\\\\n\",\n       \"vCoLIRvnLPkxCBZC7v/a3Nq81rrG7wG/A91uIn3NwUpKSy0X9A2wMXgfYKlVojXPi0y4wWCKXuG7\\\\\\n\",\n       \"Rguj9oaU9nV/ryenNhohD6uqFewkBjFCN6PlJr0bLaxzDhwXfS4tVqVI70Z/mEmvX/0eoFqspZDb\\\\\\n\",\n       \"Id6XmYyy260xs0p1FVNUbfQvyth1Tz589rOfleuuu04uvfTSB/tWHA6Hw+HYXDiB5ZgDTmA5TrJf\\\\\\n\",\n       \"w1m/jFVkgt0ft1P1+7n0+0ml+gHZTfGSSK+XS4PtczpYVaKKMq9GwU7LyyMyK9H1TidYCXXgHhvq\\\\\\n\",\n       \"xVKNQHPE9WST535pdTVse/y2bVMEVmoG7PxpM7H0GRJlNJi0wjqHuoPAIiWWZv70SgKLB+lcv5wr\\\\\\n\",\n       \"hrqdDG8vyuTAncmrmNrKtr3dFyOtYsdzH6yzV9XBHsd2QKwzAcWZV2hNOxMhU5dMYLEFcZ66Gshg\\\\\\n\",\n       \"UFA6SuaCMOG2AGmry9q8rAwat5vOypcW7wLnQGmfwPugB2o/ATOpJ6+thXchHwykceTI1N2h9ptU\\\\\\n\",\n       \"C7bGlKQ91O/LxQsL4bjYu2Dzr2IEFme+NSPLwUarz7S0NCas9J22RBa/K2QjHv9mVP+mVNkKi/q2\\\\\\n\",\n       \"6roYoVvXB2f9jrJiz4mnzcIjHvEIueeeezbteg6Hw+FwOBwnEpzAcpzAsDqjeY7l5Rixxet2e5Ut\\\\\\n\",\n       \"bDwIhE2KbYPWKsWftqiiYmGhGKCOZmGDAouDnPVgWPBwcrsd8n9UhdUYDicoC9xhlWUqRmDZGj6j\\\\\\n\",\n       \"2ZQblMQaDkMeViz3x9qlJpRXiZISpfoKBBUH01u1DdkI80DqNWXYLyxT4Cs4KNySWVUzEBbqq+Gc\\\\\\n\",\n       \"xfabWPtX1aAlCKquUdVP54G1v7L+zq7HWlwqMq9i9zd/vbEKq6pw6D6Tu9jXTNNgI5x4F0Dsgrzi\\\\\\n\",\n       \"SQ1gSy0vkHY6gczV9wH0jK1lzoBj+u6J27ZJu8x8s7UrcxJYIHRZhTXKiUvTsY2Wn4PXK0Ls9V3I\\\\\\n\",\n       \"s4b0Sh5vVolZmrEc76d1hWsvtt0e80D/t+vWxxve8AZ5xSteIb/6q78qj370o6Wp/YKwY8eOB+3e\\\\\\n\",\n       \"HA6Hw+HYEHwWQscccALLcRKRWFXnYuDNmgw7qLOkRpzE0mBkLVBG8MA8psDi2dr0s9NJZHm5JVlT\\\\\\n\",\n       \"B6298YCWFSdsIVRVBvxYi4thRkLNANJjmcCKDcCtAguDfDsMxTlKYN24siIH+n05p9UaEVex4OpW\\\\\\n\",\n       \"JP8nKE7YHgWllVVh8QCe1oeNpvR76UT9sbLH1jUrT3ifhu2P25FVJ+shtuw5/AlY5ZXtVxI53m6r\\\\\\n\",\n       \"Q1JhD+S+zK3Laiu+F+4NsXV+P6rVh+PeowTWUHq9bKS4irUDq67YToj1ZjOTYSORFAQObLRQYuk6\\\\\\n\",\n       \"3odSgRj6ktpoy3ciXVuTRr8/ammruurH9GhJEuyDsZazBBbsg3UKrNjMnJnacKGwtHZaViHGSqst\\\\\\n\",\n       \"w6wVHrfut6Tutwe/U3HitaqfV/VxViIeLQHl5NW8eMYznhE+v+M7vmOyBj3E3eFwOBwnOJK8KBu9\\\\\\n\",\n       \"hmNrwwmsLYjPfe5z8ld/9Veye/du+f7v/3459dRTR/sOHjwoP/MzPyPvfOc75eQD26JYjcKwqppY\\\\\\n\",\n       \"Pgwyhga0rEPhXnildBa2YjbCcQYQBui6jMwffOq+1VVVZRTbdHkha0lzsSCiwki1VFaFdSyDAUAg\\\\\\n\",\n       \"OaZTz7Kgdmp2uyEPiI1kmH2tTxlANuDaaoaAhTQNA/v9vZ5cXBJYHF7NMxBay1QGhYlapLZvL2xT\\\\\\n\",\n       \"WrZtKwbxvGxLSXp1e0ng7LR+UC1sF+QC1Qnn/0ARNFZgDaaIl9nEZUydZa8Rs0xVUYRMkcTW68Ck\\\\\\n\",\n       \"lIVNQrOzdrL6iqkd289joe6xuuJ3ojER5M7toP0blkJtP7YT8juhbVzMZ5DIAue+6UksudM+g/cB\\\\\\n\",\n       \"X6gvkpbhUFJV/amtsNcLd98r+71Q3hWy4ELJc/nnI0fkwoUFOSVCYnFtgh7kMPdYYPvEe5AkxbsA\\\\\\n\",\n       \"2+Cs90ELWwwXF6WfNmVtdfy7gSg8EFo2C4uJ3ulZOFEjoxqoIWt5KohYH7d9K1Z7jo3ib//2b70S\\\\\\n\",\n       \"HQ6Hw+FwnLRwAmuL4UMf+pB893d/tzzkIQ+RQ4cOyate9Sr50z/9U3n6058e9q+ursrv//7vn8AE\\\\\\n\",\n       \"Fusgqvbz4NweH7NFxWwyPGC3CpSYcmH8qTMR9kqlECYOY8WJFh1sQlSCZbijgtCkkQUVVlCfQGXF\\\\\\n\",\n       \"odVYj5BbiY78NchaH0OtVOW06qAXWHWCISsSkKpqATV4QaslK4PBaMZBFDtoHylOYBtstyWxpBTU\\\\\\n\",\n       \"V7HAdmutajSkVw7aQYjEVCaoGmsvLAitWPYVD85RrDKvitKLWa/sdWP7qqxYFlWDf1ZcsfEN/dXa\\\\\\n\",\n       \"Bq2qENfg1q2aMIHvncky1COTuExmKYGrmXBJIKFYfQVFllVgcQYW2jgIkhbpxUDm1cQBC5NMGb0P\\\\\\n\",\n       \"IQ9L705ttaWd0BK6/D7sHwxCgPulCwtBRchPy1q3WA5W3ayDQZGYZZKq8oqzriJE7USB1XZxUfJW\\\\\\n\",\n       \"S/JmSwZ5oWwDgauf4PWYyOL6tXU9qUKsU1tVbedaiSmzYn069m7Uwf8LNYanPvWpslm45ppr5C/+\\\\\\n\",\n       \"4i/k+uuvl8XFRXnSk54ULIoPe9jDNu07HA6Hw+F4QAXZ/ufDlocTWFsMr3nNa+Tnfu7n5Fd+5VeC\\\\\\n\",\n       \"CuKNb3yjPPvZzw4k1rOe9Sw5sREjo2LrdmDFA3pL0eTrKDieLTOWAhrKcDgOr7YB1WGmQTOYjFni\\\\\\n\",\n       \"Bm21T+WS6gAWI1KQORxajcE71ClQY4G4SpKgwmqqGsXMu8jrMSomVsMPUSKKzrOWqYkBvJJXmpVl\\\\\\n\",\n       \"w9mjtihDWlH2j+b9DCSbUJRYqxTn/XCd29ylQn0VG0RbdVRMiVXVH2KEVEzNVdfv+Hzuz1XvASOp\\\\\\n\",\n       \"2WbpyBhxVXUfMfLKPg+SpSzpl5cqrEKJaHPgbDtN5MCZ92GwmEnWaBbB/9w30F8gLYLFFu9DmYcV\\\\\\n\",\n       \"+q/2f7UTFiFoU/0f1PQ9vZ4spansVdJ1DgshvwtsIQSBOyK19D1oNkOZmGWzqvC7QKTuMMlCSL61\\\\\\n\",\n       \"z8aC2y2xO5kFFyPg0ZYxgmne30Z7bN258/R5/ytU8fnPf14e9ahHhd9TXa7DYx7zGJkXH/vYx+Sn\\\\\\n\",\n       \"fuqn5Ju/+Zul3+/LL/zCL8gzn/lM+dd//VdZVpLV4XA4HA6H4ziDE1hbDF/84hflD//wD8NykiQh\\\\\\n\",\n       \"7PWcc86R5z3vefKe97wn/KF64iGmDLHaINZIJHPQ+XnNdquUiSkRMOBrTG0vBu6ag6XjzkJ9YhUm\\\\\\n\",\n       \"UE7ANqhjVliqVlYK+1SymEq2tFwoSZik0gspwADowVpgnwonJ2E52Kf0c2VlQisDOqJfDrCZjqgz\\\\\\n\",\n       \"/eh5veFQjgyHsqfRGA3Q04gCSzN+Qs6PDoTUBoWBO9Z5EG+3l+v5woIMsqZ0e2l4dLVLsXWQbVR2\\\\\\n\",\n       \"u1WgFA5Lq7aKtWuMvKpSp8SILO6jfK1Yf+Tt89qt7HGcaWWtgziek56ymnvBtVlxiMIWQ6u4spba\\\\\\n\",\n       \"bETmog3Y1ok2Qp9XrgYZ7fxuqHpLraOtrCnZQi6J9pFCQjQ5S4Kuo6G1/+vJulxcJKgSA4nU6UjW\\\\\\n\",\n       \"7U7dLWy09/Z6ck6zKQtJMkFTx4CnZBsh22j5fdDst5D/pkWfQQusgrAQYh1Fjy2363sgS8vhPdD+\\\\\\n\",\n       \"rr8R6POxdwAiNa77gtTKjY3W9uWYOpFrwhK68/6mxogo7m+zjj25rYiXXXaZ3HnnnXLaaaeFZf23\\\\\\n\",\n       \"vWjDSej2Qam4nQcf+MAHJtZ/7/d+L3zHddddJ9/2bd+2KffucDgcDofDsZlwAmuLod1uy/79+ye2\\\\\\n\",\n       \"/eAP/mD4n9vnP//58qY3vUm2HuyAvQpVFim2CIIAwCAAA3W2SVnbGWdgFXROYSNsTOVeIZ5HB+z6\\\\\\n\",\n       \"qTyT7tPBpy6XbruwLU0TaTYb0lhcKm+/JLAUIKy0lGqR0YBdTwapVao4lMRq9HqS9fuSDVTPVDwB\\\\\\n\",\n       \"028xStyCNnQAAOMxSURBVIaB2vny2prc0evJd+3cOZX9owMoJQombIH6qVk+PHjHAJ6JKwzwywG8\\\\\\n\",\n       \"DtrzVlt6g8Yo+4o/Uapyf+ysdjp4nyShOAOLySwb7C4Vg/2YCgnnVw3iLRHA58X6dBW4r6MP2mw3\\\\\\n\",\n       \"fi+sUpH7N65hM65Ym8T3adU6TItOkrpa59qPIZBCt0SbaVeBO1DbEt1XC94H7SLpYlPSViLJQq/o\\\\\\n\",\n       \"H+GWy4tq4+rBGLgrC6brOsDHF4ZHLV68ZG1NWqurMhgWZDPy4A4MBtIdDOSCxUVp19AxrMJiGy1P\\\\\\n\",\n       \"ahDIK520ADNpItsKOXCGqB29D/qJY4nkyheXZCANWetM939e5+VYRlzB/eGJ+3NmYNl3wybmVVkC\\\\\\n\",\n       \"Y/06hirSygHcdNNNsnfv3tHyscKBAwfCp+ZnOhwOh8PxQCP85bnBPwmOZlovx4kFJ7C2GPR/ZzXk\\\\\\n\",\n       \"9fGPf/zE9h/4gR8Ig7UXv/jFcvLCUjOW0OIBGatagCplAhMXSNUZz5YHHonJLKsO0n1Qn2gpBvOJ\\\\\\n\",\n       \"tFq5JI22ZAvDEEQ9ysNC5pVVo5TKq+LWiwG8kkphf3m8KlB0PR8OJVO1WIVZzgJ0xnnNptza6ciR\\\\\\n\",\n       \"fj+osEYDeFW6lGWCwLI5P1xAXMEyZexT/aHWYzIx41os2ydmR5vcX1ja5huEV9VGnS2wSqEyjwIr\\\\\\n\",\n       \"Rhmu519vq7qyhC4TUnXvgX0eVmzxNrvfknpjslfrXO1qmoXFGVhVbVU1O6EqsdIklRasg/DIQZGI\\\\\\n\",\n       \"SQ040B2yO5BZaqeFOlHvUGcn7PfDLIV6t7vSVJ66bVuYqMDWRqzG2X44Iq/0O9I0kLhBgQi7Iwgr\\\\\\n\",\n       \"vXdWWNF78bHh1+Ta/bfJy097yYSVUIncYaMtnW4ypbJ6zy1vknMbT5BzB0+dstOyEosth3EVIr8b\\\\\\n\",\n       \"9l2wfTKmQOTtsT7m2AjOP//86PJmYjgchglenvzkJwe7YgydTicUnhTG4XA4HA6H44GEE1hbDD/5\\\\\\n\",\n       \"kz8pH//4x6P7XvCCF4QB5dvf/nY5eZGbQTm22WUe3PP2mPqG1VnjPCzYCLNsPHjX8TMUJ8jEwji8\\\\\\n\",\n       \"mHVtbKvS9bW1RJrbm5I0h5ItlqNSa5kCQGBBcaLAgF2PV3JJZ2PTbKpeT4aDQShhsJ7nU/QFDz1Z\\\\\\n\",\n       \"w3N2oxEsVnf3+3K65vqo6kq/gzOKMFiHhVALQtstgWXJLR20l4HVvW4atURZwiNGbDGpNc78iQ3Q\\\\\\n\",\n       \"hxXtbgfxtmZi/cH2oVnkVYwgmLcfc+vgupxqZo9n0omD3Xl/FellLYUxwsvWaVHXmoMFAmushouT\\\\\\n\",\n       \"WHgfOC9u9D6kiTRKW6qGs492YvbN8TST42WFfR9K6WNaMjoa8D7M8/B5fqsVlqu0cjHyKhS9nm7X\\\\\\n\",\n       \"oHaw1Nqn9ROkFfq4LvP7sLQkH5Ob5d/d9muyMuxIb3lRrnr0T44IrmGzLQOdefDIOLBdyx987fXy\\\\\\n\",\n       \"u1+/WtrJkrzslP8tZ/YLEstmiI3rG5MYVKkOWUlo+zb6wLwkbBUN7jheoVlY//Iv/yJ///d/Xxv6\\\\\\n\",\n       \"/trXvvYBvS+Hw+FwnETIdcyyQQ3VRs93HPdwAmuL4Xu/93tDURUWZh60dkKdnfDEBQZL1hZlgQEU\\\\\\n\",\n       \"z68H0iohq5MdqPEAnm1SEskEwjUsgYV5zRrS72v4eDJSWOnYFllObCHUEr61dD3pdt7XbjUk00Ev\\\\\\n\",\n       \"Mn6UGMJBuLBCt+vFwYZxCDRkTDpo1mwsWArhs1NVlpJaNbUaBu5JIue1WnKXKv50MA6b1Ohmy4E5\\\\\\n\",\n       \"vtdmXsFOaPOAsLxtW7AOdgYNWTVWqZhdSj9jAe+sPFF1wbQlCm1lSa2YKsvmysQshnWD9iryi/t0\\\\\\n\",\n       \"3Xmj2q/o62z3YxJrMOM8kF6srAJFA3D/rpqJc1jWJVKgxsoeJUfRPto9IJ6CIlG7pbahfR9gt9Uu\\\\\\n\",\n       \"VLwTOqNlQ9qLS0HlVNzaYFJ1CEst3gk9WS8OKyHYUHofdFbAbqcjn9q/Xy5rt2V7SYJZetEi1CoI\\\\\\n\",\n       \"MZBWeBfQv/l9YNIWsxCW78O1h24L5JXi6hveErZddfmV4bjesCEd6vOaf/X2L71efveWq8PxnXxF\\\\\\n\",\n       \"vrJ6rezqPnX0bvD7MCaA0R96hsBiReI8FsIYIct92xJhrHaM2Wtjfd7JrwcSL3vZy+Sv//qvw39+\\\\\\n\",\n       \"aWZmFa6++mq58sorJxRY55577gN0lw6Hw+HY8tiMPwH8T4gtDyewtih0xsGf/umfll/91V+VZsmO\\\\\\n\",\n       \"3HPPPfIjP/Ij4X9Y/7//7/+TEx+sKgF4AF91jlUOJBUkldBgnAfug8ixbMkBIdAP6pNeLw2DSo6m\\\\\\n\",\n       \"wrKOfcE3lS6nMN4FiYXjB4NU8nZTFrZvHw+aoTbBQSCzMPrHAF4vCDJLR7SlRS8By1OqWNRSGEgt\\\\\\n\",\n       \"KFpiKMmC8xcW5KbBQPLt2wvFCX8P1CewAyKcGtZAWKhs/k85sFfyapC1ZO1IMhqwHzkyzvXhQTor\\\\\\n\",\n       \"TOxMjlD8FI5LtFu/QiGFgTUP3LmPVdmm0Oeq+tosxJRSdWRWlS4O+2f9r1PVMfY94ncrpsbCeozs\\\\\\n\",\n       \"QylylobDIuKcQ9xBUml3YRWdrmvbancCgTWOtNJZLUUayy1J2uXdwDYIAkuhJ+i6JbMgb8QLp32x\\\\\\n\",\n       \"7P93DAZyW5bJ5Tt3BnVXeBdKi20lysCukS0R/V8L7LNM4nL/ZwXWtm3y8tNfJL2lhYK8UqLgujdI\\\\\\n\",\n       \"vrwsP3P5K2W1U1gH9R3Qd+Ed179e3nFzQV4pnr10jTwpf7kcKh9N3xnOv8K7MhiAZOTfqpgSC8fM\\\\\\n\",\n       \"ej+Y8LL9c9ZfoDF60FVbDzT0d/E//af/JO973/vk7/7u7+TCCy+cmbGpxeFwOBwOh+PBghNYWxSq\\\\\\n\",\n       \"wHrRi14kH/7wh+WP//iPQ/Drj/3Yj8lDH/pQ+exnPysnBvI5Bt5MQs0zgOdzqqwvVm0ikcEbk1ds\\\\\\n\",\n       \"y5kktPK8EdQ//X6RiWVDrCEKAaFlLYQQVOn3pcpPLTYla7aD3Wkq4wdqFLBhClZnIWQLXwYCq5TF\\\\\\n\",\n       \"jGxZdbNYlazCudu3y7l80xi0gygjO+Ao6wfb2TKIQT3lX/WThvT6hXWQ834sOcWfNg9r/CicfRWz\\\\\\n\",\n       \"uMX6gB2E28F43SDdnhMbxM+6Xh2BFYPt+zguNhun/R5LgM2qg1n7LcFRLOd5YSUsyqS9k8lH5GPZ\\\\\\n\",\n       \"yQ8wK2HgYNvaBxvSRJ8Bkct9l98HkFtgw1iNVSoab9u/X07dvj0QxEGVhQkS6shcJsfwsvK7gPwr\\\\\\n\",\n       \"kFYgtUDg8ruxtFTYBpeX5epP/1q4/C98/FWy1m/ITzzq6pFtUMmr//G1MXn1nG3XyLelVwVyi98N\\\\\\n\",\n       \"fmcKjq/II6ufsKCq8G+jJXTn6SsxVPWjumPtsmMzbIP698Ff/uVfyvbt28NMh4qdO3fKovZLh8Ph\\\\\\n\",\n       \"cDgeSLgCyzEHnMDaonjSk54UiKqf+ImfkMc97nGBRHnd614nr3jFK4pQ7xMOVYPyeffzcZwRFFOa\\\\\\n\",\n       \"xEgstmhZlQm+ky1UOFYVKDqQTMMAFONpS2BBNKKfbKfCeLjgoxJptVXh1JYkS4pBtgIHK3jWNfiz\\\\\\n\",\n       \"mA2DJMMmyZONcCJXywLqrzSVYZLI/jyX3aomqbMQYqDOtkEsU8B7HjKDWtLrpGG2NQzCOfcHxdoF\\\\\\n\",\n       \"YzMQ4vHyfJYtihVXsYF7rJ/ZQbzUED2WBJmX2JqFWUQVE1q5sRbGSAbu73a2Tr52XZ2xAnG8Xdug\\\\\\n\",\n       \"32+EdkH/Z0KXM+KQCYf3AQXvSiB025k02knoN6P3AJMbwFpr1YlgxJDTVnakQaMhdySJPGrPnqJv\\\\\\n\",\n       \"MnlVR+bipcV1ISljEtdaCPEucIi7WmpLReJVT3x5UF79wv97dfiKX/7HX5DV1URecslV8jtffL38\\\\\\n\",\n       \"zlfH5NVzdxTkFSy0lujFu6MzQQ6HUFZZtSgrsqrUiTFCq4rc4v43D/IH4C/ZrQedafjP/uzP5Ktf\\\\\\n\",\n       \"/ar8l//yX8KsgZ/+9Kfl9NNPl7PPPnvu67z1rW8Nn0972tMmtr/rXe+Sl7zkJZt+3w6Hw+Fw1EFn\\\\\\n\",\n       \"INzwLIT+Z8OWhxNYWxhf/vKX5dprrw2ZFrfffrvccMMNsrKyIss6SDvGeMtb3iJvfOMbw//oftM3\\\\\\n\",\n       \"fZP89m//tlx++eXywAKKA7YUcoi1tUUxSWUtUkkkwhkZWDyYA6GVjpbV+tTtNiecfTroDHdIP7KY\\\\\\n\",\n       \"QM3G+2iBakX3LS42pN3MpL2rvCDbBln9BFmGFvYVKQNgg6JAXiEkfg4C6ysHD8pn7rtPnnvWWdLE\\\\\\n\",\n       \"YB0DeA5x54E7MrBAbGlfVNVLOGZBVjrpKNvq8OHCMoXsK1vgBuMBPKu0sG2cz4QBvFVgWVILjRJT\\\\\\n\",\n       \"q8QIKXzHrL5olSSb/S8sE1W8TebIi7OEle3zvM7ZcTF7Le8fvw/aFrAFQgjI7wNHuoGPxfF4J3BM\\\\\\n\",\n       \"4KoklaWl5TE5iwNBGsEmiL4HL512HCJw77zvPhksL8s5OvCH9XAeAou/lzOwOAcL/RyELquxcF/a\\\\\\n\",\n       \"/0uCSy25V37LL0pn2JTX/sMvhK9542eulrd94Q1yqL9/9NXft/Ma+Va5avR+aKyhLle9DwWJy+8A\\\\\\n\",\n       \"li0ZtZ58OPSvWWotq9xybASf//zn5RnPeEZQSd18883y0pe+NBBYf/EXfyG33nqr/MEf/MHc1ypU\\\\\\n\",\n       \"eQ6Hw+FwOBwnDpzA2qJ4/etfL69+9avlP/7H/xiIpK985Svywz/8w/KYxzxG/uiP/ki+5Vu+5Zh9\\\\\\n\",\n       \"93vf+94Q9Pq2t71NnvjEJ8qb3/xmueKKKwKBdtppp23iN1k1lSWj0hnn8sDdElW8jcktS3hggJ6U\\\\\\n\",\n       \"y1CfDCbW87wn3a6+bkWOD9x3GLDz4J4D3pE/DXFJocZKZKAZQIuZNBaXigwqPQEHIPUaTAEuiEG7\\\\\\n\",\n       \"7gdRZdVXuoxZ3GIgRuGspSW57sgRuTPP5VwlomCh4sE7lkFoYRkD+FJ50k+bQaVWkFdF5g/UVpNq\\\\\\n\",\n       \"kulwajsrIZZ15sG4fZCJKqsc4UF6HWKD9XksU7FB/CzLVR0JZfux/a66d8BeI5txnr1uTGkGEqTI\\\\\\n\",\n       \"veL6DDNdBmef5sKN5yPg9gQnhLYE1wSyC90L72KaptLMWtJYLFleBVRXYIMh38I7YMK3Tk1TeVKW\\\\\\n\",\n       \"yQ4lksAUz7IQcuK8VWHhIdhSiz6PZe33OKZ8B4attvSHmaysJvL/PfJqWVlJAnmlYPLqebuukac1\\\\\\n\",\n       \"rgoEr30/rGqx29U6tyqrOgXWPBMa2H4T6wNVfQf9p4rMdUJlFvTfVlVH/dqv/Vqw/QH/7t/9uzBJ\\\\\\n\",\n       \"i8PhcDgcJyzcQuiYA05gbVH85m/+prz//e+X7/zO7wzrj3rUo+STn/yk/MIv/EKwC3R0dHOM8Bu/\\\\\\n\",\n       \"8Rvhf4U1MF6hRNbf/M3fyDvf+U656qqrNoGwii3bLCA7QGLrVOy4fM7CxIcNcceMh0ySQAE2CEHs\\\\\\n\",\n       \"RRZWMSshCCy4mTAO1mUb8K7AWDzcbZ5Io5FK0lRVh+ZjkWUKB+EEHmwrMwDGjKeDg9oEodhVJBYI\\\\\\n\",\n       \"rCyTbVkmO++5R27rdgsCC+wClCZYtnlYXBYXZdBoSX9QzNYIVVVsYB6bYRDLnH815h4sYRVTg1QN\\\\\\n\",\n       \"yGdZ/Gy/qeqv82ybdzv3+dh9VVkJZR3XmEclZt+Fqu3TpKG+A0pgwalaTFAw3aawE3JsG/gn/HSp\\\\\\n\",\n       \"FVrXk1ZDEuWolBiyFkJYB+Hd5elAy07VbjblfD0XWVqWxLLA+8QEFtSPTGBVTWoA0opC3ZW8GiRN\\\\\\n\",\n       \"6fSyMPOmPqPaBq3yaindJc9YKJRXVcTVOPsqL4PbbVi7fR8Gc7wjs4qs492YdVzVskPxqU99Sn7n\\\\\\n\",\n       \"d35nqjLUOogMK4fD4XA4Tkg4geWYA05gbVF84QtfkFNPPXVim85GqGqs7/qu7zpm39vtduW6664L\\\\\\n\",\n       \"020DqpJQy8MnPvGJ6DlKpjGhplNzV2OWqiSmVompVBggmfj6/AvKCixYB8OT0QAQ10F+1NhCiPXB\\\\\\n\",\n       \"IBtdg21SLBjR8fJ41rXySUrLVLhK6XAqxtqJDJcb0m5l0t5eqp/W1iQBAwYrFQokTDqARoC1tRDi\\\\\\n\",\n       \"4lWDd7IQalHb1Y333CP5jh2ScIg1z8AGsgr3oxbCdlvyEGi9LJ1OMkVeYdY1LVCTYPZBnoWQFVks\\\\\\n\",\n       \"Jityf2CVskQKD9bRvnY2NTvAjxFbVSotvtZGsB4Caj3XxLPE3gdWYjEhZWfe5HeDFVeWFMG7VbTF\\\\\\n\",\n       \"cNgsiZVChcWTZYJXYtKWLYXojnZfeA9aDVlUO2GeSwLSCOQViCUkwmspZV73HzggN951l1x2xhnS\\\\\\n\",\n       \"wsyesyyEROJOLFsFFmfCgbzC+6CzbZIisdtNpdNNRjMNah287V9eP0FeKVaG++Wv7n+9PDkvgtvt\\\\\\n\",\n       \"O8Hvir4D45kHe2QbHNC6fR+goKvKiIuR+UL22rr+ZrfPIqc24x3aetBZAGP/RmpkwN69ex+Ue3I4\\\\\\n\",\n       \"HA6Hw+F4oOAE1haFJa8YT33qU4/Z995zzz0yGAxCmCxD16+//vroOddcc4289rWvXYeyZF5w/hXb\\\\\\n\",\n       \"C/n6IJV4UB8bsOMasAeCyOJrswoL9sHJ7KyCeCqscuEOSpcTHIAKHX+zGErBs+thDI5txTg4lcW2\\\\\\n\",\n       \"2gkbkkH9xNIMhEbZlHNmfXhmwzoCi5i3c9ptuSPPZXVhQZbUzoKBPGdigcAyeUDDrBHsgjoQh10M\\\\\\n\",\n       \"g3LkYGFQzrlXMQvhJB+nA/eiTJNRdVk96BN1A+dZ+4fH8SDckrjcr2cdW7c/VodWgVUsF4SKkleJ\\\\\\n\",\n       \"FUJNuPyK7LJJworfFbwL2hVDm4ecp0QWFpcka5Uza0LOCMKKvYllDtzX9+2Tr6+tyTfr7yVkYXYm\\\\\\n\",\n       \"QwsO5gK7ZoPcZ01qoJbBRlOGaUtWj4wtsyCw3v6l18vbvnL1hPJKySvF33SulpWByGPWigB3S2Ah\\\\\\n\",\n       \"A6sIbleiqkvklc2Ci9kJsb3q3YmptQB7nkT6xIP537InPp797GfLL//yL8uf/MmfjJSImn318z//\\\\\\n\",\n       \"8/J93/d9D/btORwOh8Nx1PAQd8c8cALL8aBD1Vqa6wHo/y6fe+655dosAqvKVjgveGBVpcLigZed\\\\\\n\",\n       \"Yc3aCceWwTHBNanIGg4T6fcLyxxcSBCMQFUCcLwV1sNdkzpL1SyYpbCZNaTZSKWxTIFBYAp0OTZN\\\\\\n\",\n       \"HyyEUJywlarOPpVlsnvnTrnirLMmZTQgrfD9UIA1m4XqRLN+8kx63axUX02rrHhWNZBTlriy9kEu\\\\\\n\",\n       \"hX2QSRQb0M5tX2dlig2a12sDPJ5RZymUddRFVV1adZYq4/IRT6Sf2qVYDAjLIFx/6KL2XVFghk4l\\\\\\n\",\n       \"r7JGLolk0tSu3yokjGHGVbxECNyi8K1vHDkiZ591liSYfZD7f5WNlmc1ZBUW939LYKGUBFYvbUp/\\\\\\n\",\n       \"qHbidIKcVfLqf3zp9fI7RF5p5pXaBlV5peSV4m+zq+VIJvLwzlWRd4VnHQQpxctVVsJJsnFafcgq\\\\\\n\",\n       \"REv4Hi25tB674In4fm0+3vSmN8nznve8kCe5uroa/kNKrYOaa/krv/IrD/btORwOh8Nx9Mj177dk\\\\\\n\",\n       \"49dwbGk4geXYdOVXlmVy1113TWzX9TPOOKPSEqFl/WC7IAZQ2YxjsYyBe9XAm4mpKnUJFFesyGLF\\\\\\n\",\n       \"F9unoMoq7lcJrDQtBtgY8wLWXogZ2LBuwePthQW17+VFLlCSSpJpPhDZ+pgBAoOwHgIrZqHKMtm/\\\\\\n\",\n       \"tia71BpoB/Ags1otyRsNyZstGWStQFyxZbCOvLKCsRiBhUdBrFeeVw3M7SCcSa06m9PJPHieRfBh\\\\\\n\",\n       \"ua5+x+tKNvV6WTQDC4osdgDCasgRVrF3Rd+lwDm1GyLtTLJWkYEV+j/Lu/SCjYYcPnhQDvT78ujz\\\\\\n\",\n       \"zy9srbAP1llo5yGwQOYaG6H2/VxJ3GZb+r1EOr1CeQUCS5eryCvdp7ZBVV4peaX45I6rw/ZLDl1F\\\\\\n\",\n       \"2VcFOThpG4zlXVWRWdZOGGvDut/Mqn5SBavScsyCzj744Q9/WP7hH/5BPve5z8nhw4flcY97XLDp\\\\\\n\",\n       \"OxwOh8PhcGx1OIHl2FS0Wi15/OMfLx/5yEfkOc95TtimWUS6/rKXvWyTvqXO+mSJLd4GQgmkEh8D\\\\\\n\",\n       \"xRXUVzFVVV4OCoWsh8i5AokFtgnLfP3x/WgeVrebBTUWCCoQMJh1kPPUmaixBA6TPTqgLTKjE2m3\\\\\\n\",\n       \"F6S1uCDNbcNihAwWqLRPjQbrlsCqy/8JjzKZ/3PHvffK333uc/Lvv+M7ZMeOHWOyjMmshQUZSCa9\\\\\\n\",\n       \"fiKrh8bOLhBXWIb9yS5joG9tg1Vc3ORgu2csTTxQ52Olxhp1PFkBH2jYXCz7/ln1IvZjHVa2xojc\\\\\\n\",\n       \"0DbCzJsgrSDuw3r4tnJiTQCqLHRPvCtwwfL7sLjYluZiSxr6/dqBYCEsD7rtzjslXV6WMy+8cByy\\\\\\n\",\n       \"Zd+DGGz2FRNYTJSxjXZxUXoDVVyJdA6NX0f0c729d3759fL2m8bk1fftnJxtUO2F37RylaxkIv+8\\\\\\n\",\n       \"vTju86ddHc4/696C5CryxQZkG+Tsq6qCdwFkF4itXsQSaN8VtuJapVbsPUIfqiOr3CpYhz/4gz+Q\\\\\\n\",\n       \"5z//+fLkJz85FM6ffM973iMvetGLas93OBwOh+O4xWb8CeD/H7bl4QSWY9OhdsAXv/jF8oQnPEEu\\\\\\n\",\n       \"v/xyefOb3yxHjhwZzUp4bAmr2OCaiaW67xBDbsX2gQjD98EuCDCBVZW7pdt7ZUZTKmtr49cQA3gr\\\\\\n\",\n       \"AMF4mp1NEEtZcqvZLAKyNXan2cyl1UylmS1IY7Etmd6rqt1AZuEC+MJCvjRpn+IbgX2QrFmnbdsm\\\\\\n\",\n       \"2Y03yjcOHZJHqPWTFFh51pB+XijOCiVVMrJLgXDjQHaosXgfCCxrI7Th7QXhl4cyHoj3Td3XqYiO\\\\\\n\",\n       \"BUkV60/zYrMl0LPegY2QW1WKHK7rcS6cKuRUidXvF32VRVKYfRBklbY9A+8HJt1k9d14uVBjFd0w\\\\\\n\",\n       \"k0ZrURrttiSQ6PV6cvYll8jirl3S2LNnTOiOZ0gYl1H1pfWzEOIhaDbOvr5xw0R6K6l0qf+DQ0Y8\\\\\\n\",\n       \"3R999U3y9pvH5NVzdxTkFQLdteiyHqu2QV3/3N7i+BvPv1o6Kw3Z8+WfodB2DmrvRnKw6pRYKFZJ\\\\\\n\",\n       \"V6fQmqef1Kn36uCEFkP/HX3Ws54VLISMQ4cOhX1OYDkcDofjRIVnYDnmgRNYjk2H/u/w3XffLa96\\\\\\n\",\n       \"1atCNsdll10mH/jAB6aC3Y9Njg9bA2MqLDtwsjbCWOFzOR+LB3ViAt6xDNIAg0WotgpFy3DYCLaf\\\\\\n\",\n       \"wpVUZGKxTRADegB2qfishJPh71parYIgUGths5FLlqaSNlJJ06YkzYGkeTnq59F/jMDCQB6Dd0XJ\\\\\\n\",\n       \"Mug1zzzvPLnt/vvl4cqaZY0Q0J4nqQzzVPqDdCJ8nQkraxeMbbck1SRRMT1x3OTg2w6Sh3O299GA\\\\\\n\",\n       \"A/u5D9pj1rN93u9N1kGA8fEbndGwrrDCTaYyybTvW+eqbV/wQlo4B4s51HDlwi04yovDuhJZWtrt\\\\\\n\",\n       \"RPJM+30qSSsLkx0sN5uy7ZRTihuAdA9yR1wU7wAubgkskFZlGSaZ5GkmQy25kldpUB2CsEL/xzoU\\\\\\n\",\n       \"WOe3niDtZEk6+Yp87/Zr5OnNgqRi5SHIXS0XHyzILSWv0sGStO97As26abOvmJSyRBUIeUtMWSXV\\\\\\n\",\n       \"PO1ddUysz3C/sMuO2rcO2W4G3/jGN4K90OFwOBwOh2MrwwksxzGB2gU3zzIYAwZCdaoSJrFAVsWU\\\\\\n\",\n       \"VmwZlIr8qzRCXrF1UCiomrfhk2clHCvCivGy2gnTUj2UhLEwBuF21jUF7IVYxsRmEFDpOggAOJiK\\\\\\n\",\n       \"Zc3byoIipZikTQdCYBBG6eejLwp3DmaMkaaSM7OWJHLWRRfJP197nawmqbQXliaUYTTpW1hnNyMr\\\\\\n\",\n       \"rlDsus27soTW2PFVBIRP2qFCLVXYmY7FAJr7Iw/+eb+9D/SJmN1qFmLqwsk+Nv392Ddpaz161NUp\\\\\\n\",\n       \"171Q26RlexUkE9oQaizOvYItEKSU9t3R05SElZ4PTonfFb2OHq9W3aL/p+H6d9xzr9xz1x3ymEc+\\\\\\n\",\n       \"UhLNS9OD0M8HA0liGVglYzZ6QkjGAonVCMuDXGcaTab6qPZ59F22zUKBdWHyVLny9P8tN65cK09O\\\\\\n\",\n       \"Xh7IKdgGQf5yZpyed9bXrpLuaiOQVwt3PUVy6URsg5bEqgpzryOxpILYkhrLILe5JbfqcDJbdevx\\\\\\n\",\n       \"2Mc+tvxPjkS+4zu+QxrkrVXb6E033RSUWQ6Hw+FwnLBwC6FjDjiB5ThBEFNUVe23tkEmu2bNaAhV\\\\\\n\",\n       \"AvJ6OP8K5ANbCHm9H/nlZfKsimzTmfiaMhgUg1+FxudAWaQDX+Sv6xgbJNXYJlgQWDqoRXa0DnI5\\\\\\n\",\n       \"ggfEAOerF+PvVFqtVLJUw96xTYmtYPSatlJBhaKB2ZKKOpZ0/L/7zAulufgV2XfPqpyye9tURped\\\\\\n\",\n       \"9JAzu1hxxQP0WMFg3uYdIcC6sFDFgsQtiRLL8XkgwSqtvIbcmnUN7lN1NttjDUt2sH2Wyzgrq2ir\\\\\\n\",\n       \"4p1klSGILJ7IIHyDIXTBL1krLd4B3YY+jwgsrH/xi1+TlSOH5CGXPrZQObYXJNFPFVfpfaK/swKr\\\\\\n\",\n       \"LDrXYUGaqbpLRDnTYdkHmYjjPs8Elp2sAJbas3pPlVP6T5VDpM4CgRWz1Op5u2+4sqzHbklccWE1\\\\\\n\",\n       \"FvKsqvKvbInNUIjfxlDrc/bVGIlrCbC6a7h9EECm5Gc/+1m54oorZJtOPEDZkxdccIF83/d934z2\\\\\\n\",\n       \"cDgcDofjOIb+Z+VG/yx3UfeWhxNYjpMAbDEUGlBBMSVEUmF/THnFg3A+L6akYSshlFoguHDs5LnD\\\\\\n\",\n       \"YZETlabFdZg7woAd+T8sjIIKCcsgeHgAz2osZE03GgVxALXLOI9ag+VzScEghC8qvyxsK7YH8qqc\\\\\\n\",\n       \"qjbPF+XpT392+E4ddPN9xAgsVqNgsI+BOWdcsfLKKrAm1VeFtSauANoMhYe1h7JCb1bOFQeco+1x\\\\\\n\",\n       \"f1hnEit237Frcp+2y3Z9Vv4VZ7fZ66cbzMfi9UkLmbYZtyHIH0z0BwUWiCv01dGTJZOOVyiyYv0f\\\\\\n\",\n       \"62k6lFtuuUMe+tBLZXW1mEQBYpYkKWy2uL/xVMwlgaVPUZJXNu+dJxNAv2fSCv2XLYRaQGDVkVtM\\\\\\n\",\n       \"7hYlD4TtcIjfFRBWgwhpVae0wvGWuIopqmKflihGO9v+639NbhSvfvWrw6cSVWrTX9D/oXA4HA6H\\\\\\n\",\n       \"w+E4yeAEluMEJ6Pq9sdUW9iPgReTB1bFxYoYa5kBWI01KAfsgwoiCwNjLCNgvNivg/nCfpSFgbRu\\\\\\n\",\n       \"5+gdhQ60YwHv5H6ayGTHAF63K3GlJBaHZmNwzwQW8rjGcVfx+rbfq9936NCKZFk71IMlnEBOMDkV\\\\\\n\",\n       \"C2SvI69ADiCuaDJ3uy6XZ6OIEUSxLKkYKcXn2P7J2/J1KKli5JXN4Kq6Vmw9VqqOPxrEM5KYnLWT\\\\\\n\",\n       \"AGpba19kAgt9FADRxQJBPReOQDuxpvb3++/fJysrPdm9+5xACk26YVkNNv3cuCbfNxNYPC8C928l\\\\\\n\",\n       \"nZjAsplwVQQWCCu+Trer5JV+D+yYVlllM6+qiCtWVVWprqyKkX//7DK3L2/jPrAe266TXjHoBCkO\\\\\\n\",\n       \"h8PhcGxJuIXQMQecwHKcQLCEgBhbUmzAlFYcO893WRKLlTas1uJBP9ts7AyF9t5x/uTrqDOV5XmR\\\\\\n\",\n       \"ETRSO5WDZB2sYyCMzCsdrGPwDJIKJBBUV7rOFkK2U3FQtom2mrB2xcCEw6FDh+Vv//av5LGP/TY5\\\\\\n\",\n       \"9dSzJxRX1lrFA/jYNrYXxkosvH0c1cUDdKwf7WC4ikxixR7WJy1yceUV57Dxd0jkeuu5xxjsNTj3\\\\\\n\",\n       \"yi7ztWLfPY+KqwqW6ADRO0lCcpi7tnG447JvTogBcUelKMoSmUXm1Xhd+zDstXqtW265TdJ0SbJs\\\\\\n\",\n       \"lxw6ZNWH9U8SI23t+1ilOsQ692tWWdlJDlh1NSa3CvKq3x8aq2CvYqZBPgYEVZ11MEZkVeVfzdPu\\\\\\n\",\n       \"VYrI2F+o/F64dbC6Dw7kv/23/yZ/8id/Irfeeqt0taMQ7rvvvjnbx+FwOByO4wxOYDnmgBNYjpMA\\\\\\n\",\n       \"nIHF25BvxTMGxpQn1kLI+2MDsoy+j7fz9XAOM0TjQWK/rzO0ZTIYNCYysHRwjLwrLbrM+0BYqbsE\\\\\\n\",\n       \"pJVu4zws/dTBMBRY+LQElmJsrZoc3PMEbVCj5Pk2ybLtgSBYXBwTWCAkQChYaxWrsViBBUIA29gy\\\\\\n\",\n       \"yLlHYzWatTKhjetg7X9MhkJNx+3NpKRdr4Mlr5KK717Pv9wxcs324fWQTrFz7fUzemfmIb4YPCsn\\\\\\n\",\n       \"2knPy0ZEEBRUsMqC/OE8LJBbTGqhr7GdEP1Or8nKw507z5elpdOC1RUkLZRcdqLNcKdEjmLyhBiB\\\\\\n\",\n       \"ZWdR5H5t+zkshbAQ2gkMeIbC8b5c+n2dvTFmE+yWBUqrbo0yK7ZcRWZZO+Ese2GM4Dpa264jhte+\\\\\\n\",\n       \"9rXyjne8Q17+8pfLL/7iL8orX/lKufnmm+X9739/mPnX4XA4HA6HYyvDCSzHFrUVxmxZdWSWJar4\\\\\\n\",\n       \"eJuThf2W0OL9nJmE7+fvpJHwaIbCyYFfMThWK5/aC4vMHShOMEhm9YkuQ4GFY2ARxCBfB+pQooCs\\\\\\n\",\n       \"suQVBvMgrSi/utJOhe/bseNsue22m+X88ws7JBMJ1mplc62q7IJsGYyprorZG21b2uVZiFnnuF05\\\\\\n\",\n       \"8ypm0bPZWJwfZUlMvg63e8zyWred752vbZexzrNg8j3H7JB2uUqVNY/dsQrFc6H90MfRZ6C+4nXt\\\\\\n\",\n       \"E+iLTDqFu0nGEx2A1ESf1m2wIy4snCpLSwU5NLbMTvb3ibukLDrb32MkFgr3c87AgrIKyzxpAauz\\\\\\n\",\n       \"OBOu31fyamjIq1ggO5NS1k7IysQqi2As46rKUmiP4/ctloFVZ+l1u+C8ePe73y1vf/vb5d//+38v\\\\\\n\",\n       \"r3nNa+QFL3iBXHzxxfKYxzxG/umf/kl++qd/eu5rORwOh8NxPCHZhBD3DYfAO457OIHlOEFhs4Qk\\\\\\n\",\n       \"ki1k91UNnGwOVlIRQG2zsWAZxPVZVYLlfvmawTaVGPIK58bvbzhMg6WwGNgXmVg8eFYwqWNVIFBc\\\\\\n\",\n       \"cR4WZjHE4B0zEoIUmGdQP76/yQnbduw4R77yletl3777ZPv2PaN7YwILeUC417q8K2svs4RdnLji\\\\\\n\",\n       \"eq1DjKSxRFNVvpQlomLXYuITA33eZ89lwpOfa1YelSWXmJiy61VEVtXzxbZVXXeeOo+heMYqkoj7\\\\\\n\",\n       \"AOdhgcwaPXXZX9FXLIGly/fee4sMh30599yLR9ehiTUrLYRV94U+GSNpqyyErLKys2taAqt4V5QM\\\\\\n\",\n       \"1sB2/J6w+soSWDbQnS2BHNYeI6IsucWklm0vfFYpBi1ZVZd/td5srJMbd955pzz60Y8OyzoT4YED\\\\\\n\",\n       \"B8Lyd33Xd8kv/dIvPch353A4HA6Hw3Fs4QSWY4soruY9L6bGUsRGrlZ9ZQmGvHyFLFkWuy7bC5sV\\\\\\n\",\n       \"dsJYFo0OXhsyGOgMhc3RQFkJKLUFwjaIbWopRAaWDn5BWkGZBQUW7ISwENqQ7Nh6Za2S4qXVOlXS\\\\\\n\",\n       \"VAdVh6XR2DMiHjBDG5ZtJhYP9Jm04MwrEBisyIKyLI7CnjZJGLL1jQfKTCzBAsokVWpmrYzlqVVZ\\\\\\n\",\n       \"pUDyTNrmpskBbLP3Vfd8VTlXdr1OvZXVTDTA25jA4nMswcY2QwbOmQbUgehLIKd0G2diYZ2JKyYy\\\\\\n\",\n       \"QSZpf8WshDhHl7/61etlaWmbnHrqmMAKT1tD0irsjIOx9Vh4u515k62yIKlAYsUysLTkOZNTsAbG\\\\\\n\",\n       \"yCu2EOIYq8jiDCw7AyH2zbIMRmtohupqvXASqwrnnHOO3HHHHXLeeecF5dWHPvQhedzjHief+tSn\\\\\\n\",\n       \"pK3/ADgcDofD4XBsYTiB5TiOsZ5BTJU1EAQECAdckzOveL9VzfCo1oa4V4W683osBT1GoLXMPfO1\\\\\\n\",\n       \"9LMZBuc6Q6HuVzWWDpp1vMJ5UCC0UKDA0n1YBtkFu6BuqyKtWIlVN8APdxlIpUQe/ejvDvehA3EQ\\\\\\n\",\n       \"TNZqFcsKsjMW8qxurDgLtUQqmNmwWVO2Lax905I5oyc0BA+vs7qKj7XKK25X+71WkTUvbB/l5Sol\\\\\\n\",\n       \"lt0XC3i360xMVdkTq+5vdhaXnV1TgXZH/0NeNUgrKBJZBQhbrG7DDJxFWZH7779P9u59WOibrDCs\\\\\\n\",\n       \"A1sILWHFZBYTs5zzxv3aZr3ZGTjH6iwNa1drpVVV9SIEFcirOhthHWlVFdpelX9VZSMMtWWOC61S\\\\\\n\",\n       \"Yx9cbz6WE1vf+73fKx/5yEfkiU98ovyn//Sf5IUvfKH87u/+bgh0/9mf/dl11qfD4XA4HMcRNvJ/\\\\\\n\",\n       \"X3wNx5aGE1iOLabEspZAq46a1z4ohpyIkQ5sobEEmJg8JLYaxixeUD6AGIv9guejXCydpVCLAuQV\\\\\\n\",\n       \"z47GFkImthAIH1OnxBRYPAPcLJUKE0xra72SYGhODPYtIRUrfHx46gmr4LyI2e6qLHBMHLHiymZa\\\\\\n\",\n       \"MWlVZ7GrI7GsXdT2p6NRFsbse7F7jJFXsXuPfVqiq+q56+o61jaTiLVzTGEF8omXLRGF86DGuvfe\\\\\\n\",\n       \"2wPxu7x81kjRpaibadNOVhCztcZUhiCoQNDGFFg2Dwv2Qs26GgyGIRtsUmnF1sBYxhUTUVXbZ+Vd\\\\\\n\",\n       \"2WKJK94WasX8VtXZCeuW67Y5GK9//etHy89//vPl/PPPl3/8x3+UhzzkIfLd3/3dXlkOh8PhOGHh\\\\\\n\",\n       \"GViOeeAEluMERZXNyhJXs65hrWBWScWkBQ/4qtYtIcbkF39HUqG44msxeTK+jtoJNRNHQ9KLcOok\\\\\\n\",\n       \"kFPFvjFpBdUVVCiwaWG5jsCC8goE1jxWK9j6NKvnuuv+Us4889FB7RLLMYrlBtlw9qMDk1Jc75as\\\\\\n\",\n       \"wjK3Lyv4UPe2b3D/soSlJa74OjjfkqKxfaMarXjGukB17Od7tySTJbLsNWLHW9Irtr1qPabWqlNs\\\\\\n\",\n       \"VYNzsiyRFO+L4769b983ZGHhNBkOW4Eomjf3iq/HfXczCCzOvdJ3ujiHs6uqbIFDo8BiosoqtVDy\\\\\\n\",\n       \"GXlX835WWQnrlFZTtRsl6J3Amo2Pf/zj8qQnPUka5RSx/+bf/JtQ+v1+2Pdt3/Ztc1zF4XA4HA6H\\\\\\n\",\n       \"48SEE1iO4xgxgil2jNQMhnk/bIPYzoP+nPbXfR/C2HEsPvMaVQ3brwZmH/KWrJIho9cTdQCpiC5r\\\\\\n\",\n       \"LtZQ1taakqbJSNkEwkoJLdgEYRvEPh0kI8RdC45D5hCHuoc7MTlYVSTWmHhKpd0+Ve655zbZuXOa\\\\\\n\",\n       \"wOIZFGG3sooWzkKKERS4rzGhUZB5k7D2N65L2zbYh8B9247Yn5lPJiwtccXSHqvUs0qUmLWqjuBJ\\\\\\n\",\n       \"5yCweDmJ9KGYRbCOiErNsXw82wvttaqsh+WdJ8koiy2mhuIZCPUTfcP2I+3HChC1TF5p2bnzEsmy\\\\\\n\",\n       \"bGRDrCOwLHnFfdCSr7F+XBXijuNi+4ZDtQxybpXeQCdCTFXZApnkwvn4XeNrcM4VH8fKrFDzNf1v\\\\\\n\",\n       \"ntwrJpGPhtCKfZ8rtJ7+9KeHDKzTTjttonY0zF33FQSow+FwOBwnKPyfescMOIHl2IJg0srasmLW\\\\\\n\",\n       \"Qks8iAnsZsKBVVE8gGPVFJ8Dwgo2QSZLePBo1T0AW9qYcCnuuxhopxPZWDxbH2Yg5JkLQXaBMMCy\\\\\\n\",\n       \"kgggCqyV0M7WFiMa2Oq1bds5cuut18raWleSpDUxixsP+tmeZZfZNlYPa1uz1r+YoogJTGYw+hE1\\\\\\n\",\n       \"FsBqrSqiyvYl26+sza9qoM+E1DzPHrPv2TpJN0heZZH9DdpuLYcx1VbVvnpwHwAxhWWQqeg/HPTO\\\\\\n\",\n       \"ii3tk7qN7YNV2W7oo7huTPFlbbFsj4X6Kqa44skKdIZBzboaDgeS5zFVFQinYYVt0M5AaC2CdiZC\\\\\\n\",\n       \"awOclXNVZR205JUll6oUVlX7HPNCraVK+lrce++9sry87BXpcDgcjhMXm/Engv+JseXhBJbjBPkl\\\\\\n\",\n       \"mzXIjRFVsXNiBJbdbpUyvJ6YZf7f7jGxVIBJCUsqWHILsKowe99W7aUDGrUUFt9fhFgX5/PgPdxN\\\\\\n\",\n       \"OfCGOgWKLARfM6lVF+iu4P/kjxEA27adLYPBp+T++++QnTvPn7gXJrF4NkEO8GbCwpIMHCrPRQPk\\\\\\n\",\n       \"py2BTP5JxT7AWgmtfXCWvdBep2oZbV5lP5ynv0uFTZCvVWcbrFJWVZFMMfIqdp2674gRV8lUO6KN\\\\\\n\",\n       \"q9rfhrazKgu5WNyf9fO++74i7fay7Nx5ZmXmlSXJsK0quN1mt/EEBVBbYbu1EBYEVl6WOjUVlkFu\\\\\\n\",\n       \"MZkVI7SYdGLyii2D1gbIZJdEfsMswR6zCtq/OOv+Aq0iturgpNdzn/vcUBNKXr3kJS+ZmHFQ+9Dn\\\\\\n\",\n       \"P//5YC10OBwOh8Ph2MpwAstxAoAJoxhmDfirbIZ8nrUqWsUMiBEsY0DISi0x50BxlZXLSY3VkO8T\\\\\\n\",\n       \"g08QYnhVeRmD08ZoADoYtEI+FkKri+D2QpEFkkr3QZWlA2m2DGIfcq9sHlbM4lWdibUYbIRHjhyS\\\\\\n\",\n       \"bdsmCa8YCVCnsoLNC6oaEHCc3VWQGGojrCJ1uF3sPm0bMfXN1kCs88PXtfssEsseZ+9z3v86siSa\\\\\\n\",\n       \"RIi3WcSSJaZiVkF7PJ/Dyw2jyGrSst1X3IfaX63KD/1s3skDONgdx49qNxCkudx+++dl9+5LZHn5\\\\\\n\",\n       \"zKgdFdepmgXR5l4hD6uw/k3nuY1tgZMzbRazC44tg5M5V1ZJxeorax+M7WeiqmdUW9ZKiOM44J3X\\\\\\n\",\n       \"ZYZia1RrFb9hEzU7p4Wwbp99104+7Ny5M3xqf96+fbssLi6O9rVarZCD9dKXvvRBvEOHw+FwODYG\\\\\\n\",\n       \"D3F3zAMnsBxbGDbvKLYvpsSJqblsfhYTWmIUNbguXi8s90x2EOdf4TyJkCliCC3cOwaUur1McQ8q\\\\\\n\",\n       \"LM35UVVWkY2F3CsOdOd8IBBBrFqpmpVw3jwsxXnnPSOoBTg7qCrPigGSCvcCcgvEHAgtzsDS/COd\\\\\\n\",\n       \"nbEIuIddk9uqKgOLc8a4rrk98AkSkslN+/D2u22fAvFVNei3hNQsWFLOklR8n3Zfw2zn9YaxCdpj\\\\\\n\",\n       \"0Y+R1cbnWOIrRpI1JMvSkXUVpBX6l51ZkG2rTG7FALIp1GYqsrJyt/R6HVlePjsQR1XnVuVeVc06\\\\\\n\",\n       \"GMu9YsKKbYSs0FLVVZ5bGyBnX7HKikPb+zMILFZS2fB23s8ZWGwhZAWXtRZO1ZZZj9kJrUrLHudY\\\\\\n\",\n       \"D971rneFzwsuuEB+7ud+zu2CDofD4dh6cAuhYw44geU4QVClopq1n8kou8zqF14HAcVkhyW0Yoot\\\\\\n\",\n       \"ex4rB0BA4Tssi4N1kB/2fvGqxp6FtxeDR/1f+iIbKw2fsAqyZQ/kgQKqJt2OLCwbhA3CCGSCfjKh\\\\\\n\",\n       \"NA3N5NL76EuWNSesX/MA1jAmzJjMwj1hu6p59LlVhaXPPNk2dVanLEIagvhCW1l76Dz2QW4Xvg+Q\\\\\\n\",\n       \"j0wyxexZs2BJKqnJm8LzMSk3K/PKklExUooVWdZqWK3WGiuvik+QWDElFtar8qqqgP528OBtkmUL\\\\\\n\",\n       \"srCwu7IP8nthc9qqSKwxIWUJqsncqzGJpZl1RZlWWlk7IG+3CitLXrGKalCjqoopqqy6icmridqs\\\\\\n\",\n       \"sRLad6uKnD0adZZbBy1e8YpXhN854JZbbpH3ve998ohHPEKe+cxn1tSlw+FwOBwOx4mP9f53v8Px\\\\\\n\",\n       \"ICE2OJrnmFlZLLHB1zy5LrHlqkDkmLqBB5z2GF7mAeuwZjALe9F4eThUW+Ew2JYQFg1rEz7tMs+O\\\\\\n\",\n       \"xsuxYjOAYuUrX/mg3Hnn50eD/xhs7hGrb6wqByoyJjkmFTyFLS1JmDyJLVtVUCOiKoLqiM+tImos\\\\\\n\",\n       \"+WPVSDb7ye6z2+ctfN4832Pvre55bL2xGovrKjYDYXX9a9ukqaqvklG7WQIL7VzVD2J9JgbtcwcO\\\\\\n\",\n       \"3BYy2ZTYnKfP1vV5+37E3qHJd2z87um7qO9k1fs6nW3F73vsN8H+rsTIq7rfnlBDc/yuHe3vZdVv\\\\\\n\",\n       \"rT2/CvMcc/Lhe77ne+QP/uAPwvL+/fvl8ssvlze96U1h+1vf+tYH+/YcDofD4diwhXCjZb14y1ve\\\\\\n\",\n       \"EhTOCwsL8sQnPlE++clPznXee97znuA2ec5znrP+L3UcNZzAcpxAsGqBqmNm7Z91jFXsxKw1fKwd\\\\\\n\",\n       \"ROaGaOKBo82hwQCW1+tKpzy+W5ZOxfJ4Pc+70u0OR4NqDLA7HZG1tWKdl1dXi/Xpwfj0JytOrFJF\\\\\\n\",\n       \"sbS0Vw4d+sa4tkzzWYLCFpAZahHkTC5dR9HcrsnlRBoNJbKYiKoq7dJ+WXfMPNexx88io46GrFoP\\\\\\n\",\n       \"qTVr/zzPxMfMOr5Z1mX9NbMsC20Tb7dxsW3NqsCqfjL1Fpf5V7t3P1R27bpoYjurqdB3OWC97lPf\\\\\\n\",\n       \"DX1HdF3fGV3nZfue6bun72DdOzq93CvXZ/0exALe65RYPPNpjDzn30lLguXr/B2e57e4DutRI548\\\\\\n\",\n       \"+PSnPy1PecpTwvKf/dmfyRlnnBFUWEpq/dZv/daDfXsOh8PhcBw98k0q68B73/teufLKK+XVr351\\\\\\n\",\n       \"+Df2m77pm+SKK66Qffv21Z538803B0s//k12PHBwAstxEiA24IoNxmbZY6ryYWLL/Mk5NLHZxWzW\\\\\\n\",\n       \"DRNZfHws7Nnm3Qwqj9GZqvr9YRhog6xiFYnN7WFFFixTbKHiz1BjZFHEepE7tCJra/vDNraDYd0q\\\\\\n\",\n       \"rmIWMoTNo4D0QIFiZ7wvKcPpoQBSgqVVfjZpPasga6wSyx5jlUUcUM7XjKmc7P5khqIpVux9sgrL\\\\\\n\",\n       \"3otVYsXuNfY8MeIqVjd8TdSx/cxCWxRtNCawuN2q2pb7QCyfLZaXNe5niezZ81BZXDw12j95VsxY\\\\\\n\",\n       \"3+a+b22BVe9P8X6p8koVkHXvZOz97Zvfg27kd6DutyP2u2HJqqP5DePfx7rfS/5tBZyI2kysrKyE\\\\\\n\",\n       \"EHfFhz70oTA7oSoaNcRdiSyHw+FwOBzz4zd+4zfCJCg/8iM/Euz4b3vb22RpaUne+c53Vp6jf9/9\\\\\\n\",\n       \"0A/9kLz2ta+Viy4a/yep44GBE1iOExBH+7/7R2MN5G1c5h0Azho4xqw+/MmqCUtwWbVFjBybzNLR\\\\\\n\",\n       \"/B21Mqmtqc4OiO12pkA7IxsIAJshBJJgefk0SdOmHDz4jRHRwIRDrMBSZhU3IDtgN+N1kCEgPAry\\\\\\n\",\n       \"Q5VYBYmVJNbeZkmcGLlkl2P5TjGyqWqbtepZVZRU5FJxsdtj58zznVXb6p4zRvRV1d/4O7Tumbzi\\\\\\n\",\n       \"NuK2q2rbmCLP5mVx4T523303jMhTRqy/2lkGYzlYs96XoqhdULPYhjXvq7UM2vfVWgStbdh+Vv3G\\\\\\n\",\n       \"zPotqvvtqrIJ1v1mVv2GzvpttvtdeVWFSy65RN7//vfL17/+dfngBz84yr3S/ynesWPHjLp1OBwO\\\\\\n\",\n       \"h+M4xgOswOp2u3LdddfJM57xjNE2/U8hXf/EJz5Red4v//Ivy2mnnSY/9mM/ttEndhwFPMTdcQJi\\\\\\n\",\n       \"OIN7rQt0j23naybmuNx88nWGFMwu5fkYAPIyrsXKhSYNKPl++rRPyk/sz8r9DRP4jhByvg7Owz5c\\\\\\n\",\n       \"r/hl7/cbZRCw5kUVe5QYwCxtCFDHPl4O31gGvGMftvGxBZmQyrZtZ0qnc2CitjnHCN+l18Psg7gG\\\\\\n\",\n       \"EwqYMRHB8jiHw951P767mF1Rny8Jz6XB7sW92rbkQP2U6g4B7vjk81KalTCPEEoMPXZIfcAqV9CX\\\\\\n\",\n       \"rUoQ51ikFesxgqvKWmhzvXgZ2V9WmRUj9XB8jADTvKtGaAMoq5iQ0nWQTrqflXZWhYeJA7CNZyWs\\\\\\n\",\n       \"mgmz31+TO+/8tJx11hNlYWFXOIaJqVEtm9kFLZnFRC7IK10v+pTNyCrIq+o8O0tCxchn3odr2XOh\\\\\\n\",\n       \"6GQi3O6z5BX3PbtclYmFd8R+zmMnrPorcp6/LGdZFE9evOpVr5If/MEflJ/92Z+V7/iO75Bv+ZZv\\\\\\n\",\n       \"GamxHvvYxz7Yt+dwOBwOx1HjaDOs7DUUBw8enNjebrdDYdxzzz1BTXX66adPbNf166+/Pnr9v//7\\\\\\n\",\n       \"v5ff/d3flc9+9rMbu1HHUcMJLMdJDEtogTBIzQAMg38mqoABERRAUnFtkCNpafvJ6DsaZjCIdRQc\\\\\\n\",\n       \"2zBkFN8nL8f2DemVV0uhzlCoM/eNySAlFXQgjhkHefY/Jqi06LEx2Dyis8/+N9Jsgkirh343zgdR\\\\\\n\",\n       \"ALLBZm2BRGPiS5dBxOk61D66rSAYGuG5xwP+NEIgWEUUk1MgLfumzzDBxW3NBEIS6VfDCOmZzymQ\\\\\\n\",\n       \"5ftigor3xayENtDdBrZzgD3bFUFUsY0yZissrqOqK+RZgcCydlCQUkxmWdso+h3bTLGO5RgOHrw9\\\\\\n\",\n       \"HL9r11lT+3R71aQCIKzsrIOWzNJPWG5hHyxI4WnlY9wGyGosa/mz1+ACgoqPjam2mJRihRWuEVNe\\\\\\n\",\n       \"MfgaVftjRJfjWOJ5z3uefOu3fqvccccdIacDUDLre7/3e73y14kP3u4DEIfD4diKOPfccyfWNePq\\\\\\n\",\n       \"Na95zYaueejQIfnhH/5hefvb3y6nnnrqBu/QcbRwAstxgoJJgLpjFCzPmKWusudbMsqSWHye3QdS\\\\\\n\",\n       \"ggeCVo2DT6viArliCRQmQZj0AokiM4i0/sR6QVzp7GyFEksH46yugsJJAXXTLIzVVyAlVImj39WX\\\\\\n\",\n       \"NFVFTvw6VvGlpBPUMnofUG1ZxQwrwXCPOA77CuuZBrsr2ZCOnjmuWmIFlt0HggD1ysTVgAhGq9Ri\\\\\\n\",\n       \"lRy3N9qS22oe/bPtE3y/+F7O10pqZlW0sw5m67RVTq4rcaUzDCKs3RJYUFxxWDvvsyQWZ10xeaWA\\\\\\n\",\n       \"GivWlw4fvk2Wl0+VZnNhoj9z/64Dq7XQBy2xNbYXqmWQCaGY2spaga2CCu1uVVh8jD3WbrNkVNV+\\\\\\n\",\n       \"q7zivmj3WUI8WluRT3usK682CxrcroWhsxE6HA6Hw3FCY50WwMpriASrPVvrrfpKoSSUTjB01113\\\\\\n\",\n       \"TWzXdfvvrOKrX/1qCG//7u/+7tG2YoZpHWc05IYbbpCLL754gw/gmAUnsBwnKHigVMWqVBFU1kJW\\\\\\n\",\n       \"ZRFkUkHMNrZ+2eOZuOJrxkgs/n4edAJpzT4McvHd9tPaEJPoeVBhsX0KdqtYrlUVbMYVkwu33/5P\\\\\\n\",\n       \"MhisyYUXPq2SwMI1GKyyAqHBJBuHyGM7rsP79FxVzxT7Eun3i/oonrmKDOL10R2adrBth22s0EJ7\\\\\\n\",\n       \"M7nFajxWyFkyq4qI5fuLqa54OdSksRNa5RVbBusC3WNB9sU+tYsqWanEFQez8zLIqJgiy+ZaMYnF\\\\\\n\",\n       \"223/iEHl4Csrd8hppz1q4hiQtGxhrQP6PL8DbDXk9XE/YNKJLYDWTlhlNYwt55EcK/4OqSGvWJVp\\\\\\n\",\n       \"iSzcd+yY2D7eZvtnnRprFgEWu67D4XA4HI6TCptIYCl5NSsbstVqyeMf/3j5yEc+Is95znNGhJSu\\\\\\n\",\n       \"v+xlL5s6/tJLL5UvfOELE9t+8Rd/MSizfvM3f3NK9eU4NnACy3GCAwTBLBKr6jwcY8/hkTIIBS0Y\\\\\\n\",\n       \"DVuiyt4DW8LYVhZTWgH4Tlb49Mw9xqQjMYWYvTc7sB2TaGqpS4JhXImdsb0KZAHUT1Vkge5D6Lol\\\\\\n\",\n       \"H7C8vHyK3HnnZyVNe5JlzUoSS4kMAORTVcA2q7Bwz0XuVXEdWL5wD7BGjpU9iXS7ainUcHsQN/2I\\\\\\n\",\n       \"eqlv2sYSgSCsWLHC+7HNKlo4E2toLKXctty+yRwWQhSpmOmQVVcxK6DNteLZGu2xxbIGXmpBzpUW\\\\\\n\",\n       \"O9OgzcCqsxBW5V6FJ5rhRi1IpYGceebDZefOc0fXQ39hzKPIYiXf+Poc5q65V2hvbs+YWiq2j9VZ\\\\\\n\",\n       \"dgIGLr0I6TVLmRXrd/ZhY/fI+7gv4jOmzoqdM9Ey1ZUcvS+Hw+FwOByOY4srr7xSXvziF8sTnvCE\\\\\\n\",\n       \"oGZ+85vfLEeOHAmzEipe9KIXydlnny3XXHONLCwsyKMe9aiJ83ft2hU+7XbHsYMTWI6TAEwYzCG7\\\\\\n\",\n       \"CGBSCmopqJqYrLIqK5AQVcHcVl2TGcKKLWwD2o99sKMxAWJtb/heu08i+4plJXCsPYrVKhNPYAK0\\\\\\n\",\n       \"QXRZ0ooJrT17zpZ9+z4ta2t3yp49k/87EbOBgaTCMqupYjPDKQHCuUQI2EYOFkK2dZ8eq/txXrer\\\\\\n\",\n       \"Ie9ZKJPZVUxegUgEyVDVFyRCWlplHq4farCCPJg1mLfB7ZbMsllXMYWVJbCsqor3NSvVV1BXMWGF\\\\\\n\",\n       \"T0toVSmwYjNPMmHFhOes/oL/UVtaevQE4Ym+i3OxDNKTJxKwakPuc9z3xoHwlpBi9ZQNZGfCKbbP\\\\\\n\",\n       \"flrFllVi2aw1q9ri7wOwbGcmtEos9Ger8poXrqpyOBwOh8PxwIe4z4vnP//5cvfdd4dJUu688065\\\\\\n\",\n       \"7LLL5AMf+MAo2P3WW28N/0nrOH7gBJZjCyBmsZr3vKRmW5V6K/a9PMCz9kEmi9KKbRgwgpAAgWKV\\\\\\n\",\n       \"W0xa8UCTSRKr7OFjeUCbVtqlZmGcbzUmsLCNiQiQXe32Ntm2baccOXKbnH76uRNWsLpMrFj+kILD\\\\\\n\",\n       \"tKGggSKGrYbYD8IKy/gsSIwiGytNdXbGgsgrFFmjp60glljxxm3aj5zL7Tf1pBHV1ay+HFNf8Tpb\\\\\\n\",\n       \"Ay1pxSqrbE4Ci4PcG6VdsMi5AoEFUgqklbUQWvUV1i1xhT6EvoHC9tRYXxlPMpDLHXfcILt2nSfN\\\\\\n\",\n       \"5tJIQYi+AVJW+wPPmIlJC+bJx8J3VrdlHSFkbXxVKikmpKrOr1J4xa5fd2/83fMiduzR/NXpJJfD\\\\\\n\",\n       \"4XA4HI5N+pPgKM5Xu2DMMqj4u7/7u9pzf+/3fm/9X+jYEJzAcmwB8C/VrIG/Jaj4nHmIg9h1eBsr\\\\\\n\",\n       \"ayxhZS19dYXJLDt4ZVIkpuSxg2Kr8olZ1erBqhXAWgZjhe2Fe/acIwcOfCOQFzbPCCSCBatq2DII\\\\\\n\",\n       \"gorthVBdgaiC6gpECcgsS4iAMFFL4dpaVpJYqkoLdxbJqWKiiC2gvI9VWkwkWcso1HGs2sL3zmyV\\\\\\n\",\n       \"CHllSaoqEotJqTSyDsWVVWBp1lVhGWw2E9E8TFZZMYmFZexDPVtCK0Z4WjUfELMP8kyVioMH75M7\\\\\\n\",\n       \"7/yMbN++WxYWCgIL7Q3Caqycmpxdc+P/wRZTK1niuOp9r7IBVlkD5y1VRFmVmupoSawYETtvfW30\\\\\\n\",\n       \"r1WHw+FwOBwOx8kAJ7AcWwQYBGVHQTrlJg8L61BAgPCRiKUQx3DuEJ/HpAbOF6Oqkopwbrb54Fp8\\\\\\n\",\n       \"Pb6XefbZ0TkPaM1dEJFgZ4RjJQ3WbUh3LKD7wgsfIY3Go0fqGgWuUQcosJisgAKLLY9sG4TiCqos\\\\\\n\",\n       \"XYedUL9f1wv74PhYzspSEmt1NS2VWFAzdcnyBfKJ1VaW3OJ+ArLAKuis/ZBJhdjAnskqEFP4vlkE\\\\\\n\",\n       \"FudYxRRYTaO0yigDqwh9V/JqcXGSiFpYmLYM6rolt9BXsN/2JyZEdRuTmnXB/wAUd6ryW1xsyd69\\\\\\n\",\n       \"eyfsp+gD+l3a7nx93Ye+xhZCG9gOIjSOGCGEd8yGr8fsgfPss+qr2DG4lyqlln0Aay+sUmVZstZe\\\\\\n\",\n       \"I4ZZxNSccjeHw+FwOBxbHg+GhdBx4sEJLMdJBqu6AmIED++LjZ6ZoLDXmKWgiVkDmVDi81m5Zckz\\\\\\n\",\n       \"S5KwmozVXhJRYcVhyYLYrHDWGhabZc4SXWnaKNU2Q8kyDY6PWxEtQCZAacW2QgS1cx7WOFy7ICaY\\\\\\n\",\n       \"zGICS4su63bYCgtCS8Pdi3vTXCwNuR8MWFnFqidLGGKfzbkaRDLJLJHFxOmsgT1nbyUVIe6cgRUL\\\\\\n\",\n       \"Z48RWGwfHC/rFMOqUFPVlZJSSk6BsFICi3OuWH01b4i7JbK4b/DMkjEwkan94siRb8jpp58tCwvF\\\\\\n\",\n       \"pARQYME+COsgT1TA1+f+BcLKHjd7BkMmjHhbjICKkUxMKsUUWXx87NrzqqVixFWMwKr7azD2fa6q\\\\\\n\",\n       \"cjgcDofDsU5sxp8PTmBteTiB5ThJCCp7TFUWUcxOGFPB2O+JKS+q7DV1g8S6Yq9VZUeUGZ/Vv+yc\\\\\\n\",\n       \"M8TFWgXZDsbFZhyN7XlFueOOf5V77rlJLr/834+ICmvpqwJsX1BjMWnF4dpMYuG7QVaxwgfrIK8U\\\\\\n\",\n       \"07leBQmiZM5YeVN1k1YBhxN4pkKrxrNKuY1kYNnZE21QO7ZNziA4aRlsTBFYSl4pcYW8KyWsQE5B\\\\\\n\",\n       \"acWqK5uJhf7ABJbtL9ZKiLaom/0y1JTJSFtZOSzd7gG56KJHj1SAIKDQ12AlRBYWroHr2Rw1m7/F\\\\\\n\",\n       \"70TNnUXePd4nc9j97LXmKXX2QntfVfdWdX+xc/Kj/OvR/7p0OBwOh8PhcKwfTmA5thjqlFSMWSRB\\\\\\n\",\n       \"FUFlrV+x67EqwloTq0LdsV2MCodVV3bQx4qL2PXs9/LzTIMH5bNIK84rsiQWq7FAXuDcU07ZKXfc\\\\\\n\",\n       \"cVD6/YOyffuOqOKmCpx1xDPBocAiZi2EuEfYx3CPsA1ChYW8LhyjKCyFIItUiZUaIiqmwBsfP3kc\\\\\\n\",\n       \"tzHaBsdZ9Vy+TgKLSSwmsKz6KhbMzuvjkiQNSVMlr8YqK11WCyETWHafzcOyCixrIeRMNO5vtk/W\\\\\\n\",\n       \"9QlW5J133iVy+ulnjPonVFi6znlYCPHnyQLQX/SeFFhnFRf31dlKLG7rGFkUU2LFzotZTKusf1UK\\\\\\n\",\n       \"Lia47HfE7jd23/kmklNuH3Q4HA6Hw7HOPzNmwf+PbMvDCSzHFgTIgHSdSi38aqY1x8S+i4kKayuc\\\\\\n\",\n       \"BR6cQmpibYGcx8Xbs6P85cZ54zqymVcgcaCusQQErGJMZFSpbXCMDviXls6Qm2/OZGXlG3LmmY+Y\\\\\\n\",\n       \"yj5igETi2QfD0xFZwRlY1joIAkvtgFjW7Wtrk7MSYjtbCzud4n54n56n2Vi9XqsksrKyTbrlslVY\\\\\\n\",\n       \"2XbEMcgz60csZHxuHbiyLIEFkorVV1WzDjKR1RoRX1nWGKnolKBim6CSVKy04gwsEFh2ex2BZTOw\\\\\\n\",\n       \"mNQcPSH1j0IRRzVFJObCwjbZs+ebJzKvQG5CUYXz0eft7IZsJdR7ZuLU9juQW+N24He5MixrRvui\\\\\\n\",\n       \"TyBvjQmrcGfmfJ6pcF7EiKnhOs85Wuvgeu/V4XA4HA7HyYD1jKDqruHY2nACy+GYG9a2FyPAeJtV\\\\\\n\",\n       \"UUlkVkI+L3b9jZBidYPEyfymmAIGJAITDDHbIFvHWIFlSayCrMjkzDPPlIMHb5OFBQ11nySwmMTC\\\\\\n\",\n       \"srV4sYUQli+2DoKw4NwrrCuZBdugFl3WbbhPJa5wTwocj7rodrWucul0MhkOkzLkHUoqW1hVZTOO\\\\\\n\",\n       \"hCx+rMSax746KwMrqyGwrAKLs66akiRpmGGwCGAfWwa5TZnAQlA79jGxxSHuVo3Fqjy2ErJlkEks\\\\\\n\",\n       \"JpiYzGTyqtPpyp13fl1OP/08aTabI2UdrIKwkqJtQV6yCsvmaWEWyypr4bjPxhR5McxDFNWdY5Wc\\\\\\n\",\n       \"MbtfXTZW7His113f4XA4HA6Hw+F48OEElmOLAgOxWaTPeo/h6/KnRPKz8sh6bKDIg8kqG1mVjWe9\\\\\\n\",\n       \"GTR2oK0zyykpM0licbA2k1p2JjkmrViBxeTFJIElcvbZZ8sNN1wnjUZP2u3mFHlRZ8uyljGrwAKB\\\\\\n\",\n       \"pcQTtuGeYBm0GVisAmLLmn4Hk1ewoWl9KXlVzHqoJBZ+Ru2Ns3oGapwGKelkjgwsJi8saVWVgRWb\\\\\\n\",\n       \"iTCWfzVJYOkMg0peIaidiSku2rZoX87DsgSWDXiHmg/9wRJY3PfmsZSCVEIf2LfvDrnxxk8GgrTV\\\\\\n\",\n       \"GvcrEFiwkLJNFn0N+Wa2X+Eausz3OUli6Tuk5zJ5WYdZ72zdu2/X8zmKPa7ufua9h/U8lz3GSTGH\\\\\\n\",\n       \"w+FwOBzH6M8E/zNjy8MJLMcWhrX3zUtexdRRMuM6OVnzWEk1L6zyweZg8b1hkLze74nd/5i4YoKK\\\\\\n\",\n       \"rV/WCsgKG6u4sVYyto5h30Mecr5ceun5QY3Fapxx7lE+k7hQ4gizydkZCEFgYV2/H1ZA/a5ipsHi\\\\\\n\",\n       \"U/fppxa1CPIMipboUqB+CrJN7YS5dLtNmmmwisCwZBP6Htu/2HLGZBbPbMnXAUBYpTXh7WwhxIyD\\\\\\n\",\n       \"PPOgZl2NyStrBQRRZRVYdp8lvrhPYHuMwEL7Q/GnKrfZRGZxANr/wIFvyN69u2Xv3qUJGym3OxRV\\\\\\n\",\n       \"+B7dN6rF8vtjuVpY13OwH4QYiKzxTJXc5vOqJutmIeRjeD/6x3r/UrPKqvVaB+vOyTdZfeZwOBwO\\\\\\n\",\n       \"h+NkQZIXZaPXcGxtOIHlOMnByqeq/KI6YsweV2UtHFAuToyQkAghZYm09ZBVIDFQ7DrUOumUjc9m\\\\\\n\",\n       \"E4F8sGQFW8uwL6bEmQ7zzkYkhc5sN6W+kXxcK7myB+VyOs78GkoypcDivCNWYKktEGSWklRMYOm6\\\\\\n\",\n       \"7gexovel27Ee26fbQg2PVGmpdDppINUm25Uzr/gT7clWQ0umxvKO0qMgsNgyyDMPYl8zBLVbK6C2\\\\\\n\",\n       \"JbbpJ9pdlxHiHtvH/YMD3m2eGvqFtawWJZeUiZBhSeyF6srorR33gX5/KIcO3SGXXHKpbN8+nX2G\\\\\\n\",\n       \"No1ZR+3sgty2UG6F2yhVWKzkYkVfkYvGeWS2H/B6XT7WvGTTcI5geKn4rth581gHY2SWq6ocDofD\\\\\\n\",\n       \"4XA4HA8MnMBybHHECKWNXMvaBKVGHRWzGlrCah5i6mj/K8FamqbJK7XDcYC7zSSK5RfZ7CuQFyAt\\\\\\n\",\n       \"oMwCYRGbjU6zij7zmU/K93z3d0szLe4vHQ4lGeaS5FpKmQsHHpXeslzvWZVjJYmRJ6nkWSLDptIe\\\\\\n\",\n       \"aZg1EKorKG6gxoHCCsHsPJOitRPiK2MzM2Id9ae32utlJdnB9c1QEiMtVU9sI+QcLYksVymwsMzk\\\\\\n\",\n       \"JKuu0NaWtMpGyisl36C64lyrGEmFNoUCK0Za1QW8WwKr0QgUVNHuSdHmySCXRC1/2rIsg5rqA2no\\\\\\n\",\n       \"B2lxBbnnnjtF8o5cdNHZ4TvR1mhna4llIF+NQ+JBjKG/4jaq3pMiGN6+X7F372h+h+YhiGy+Gp9r\\\\\\n\",\n       \"P6tsglXfvRlwksvhcDgcDscD8OeCK7C2PJzAcmxxrIfAqrIUztpXdYwNbo8dH7tubBC6noEvHxsj\\\\\\n\",\n       \"r8YDaQ3tZjXJJMEwTUCxqgqDeyYxrIJn8nhVXOlyLntP3S7D/qrcf9fX5ewzzxzLpziZnYmL0eMk\\\\\\n\",\n       \"kqRKW5DnayThaUieppI3U+k1k2Dp6pdqGSW1oLyBCocta1BZoQ44DytGYOktcuB4catpsLUVy6yw\\\\\\n\",\n       \"imUW6fZ++ROMbQj7twRWPkfuVVIzCyFUWWO7oJY01ZkGi6B2VtRZUopJK93OJJUus/KumsDKC1ti\\\\\\n\",\n       \"aKpcmo2SsApMkTKNg8m2R6WCXWJo+2dZIA+1AbI0lcUsl4dddJ6cfup2GeTDsi2TMsi9UPmByATh\\\\\\n\",\n       \"WF5qgtDSr0ZoO0LcMRMh9uG2WLmYZUWOXKHC47bgIP/Ye1m1blGXg2X7VhVitsSNZlvN+1eiE1gO\\\\\\n\",\n       \"h8PhcDg2+GeHw+EElsNxtCQR2wKr9h+t6quK2IohlvFlB8pMdoxJj2LGucnsIqzHCAkO7cY+7K+y\\\\\\n\",\n       \"mTGREciLtAioWmhnsqPZkNtuvFHOXloa+/1smrYCjAFPSxcenTxcSIlXcqPVklb44obIQkMWF5Ng\\\\\\n\",\n       \"+1PyQu9Ll5F7padhH56RbYM2nB4WQih6YCccZzfpMY1AnuU5W8UGZB/FMtoaxAIIj3msopa8SitI\\\\\\n\",\n       \"K15ulWHtSuhkE6orWEAtSYVjtIlYgWUVWVXKLVblNVIlp0pZ3JHSwwlmCMsoo1eh7Aec6M79oGyY\\\\\\n\",\n       \"U7U87GGSHz4kjUYjlIXllgyGaeDG1CoK4pLtoZhl0gbGs30Qt4N1kFvoP4BeTwnMYmZKayPkmUjt\\\\\\n\",\n       \"O8rtOXgAyKC6cwebfD2Hw+FwOBwOh2Pz4Aosx0mAowlVx3ls4ZIZiqmN2BSP5v6sJcnOUmfJDQ70\\\\\\n\",\n       \"LhQjyCGqU1pV5SIpqQGFjX6C5IAyJxzbzKXZyiUb9CXp9iXpl8RFryfn7NwpN990k+Tnn1/YxTjI\\\\\\n\",\n       \"ipU4U49dsg34JN+fqrOYdcobTcnabVnIGtLOUukvNGR1tSAylHBAoDisZlzYXmhzwViBBQ5NH6tQ\\\\\\n\",\n       \"4uiy2glVBaY3jJB3WAW5PRDijhIjO2KIta2dcTCZUl2pZVBLq5VM5ZkxAYm21HW0M9aXlyfJKxBY\\\\\\n\",\n       \"lvBcXMylIQNJZCBpdxAqPLQ/CCutdE7g57avUl8pWB6XZXJ4bU0OrKzImWedJaneKDGPWaMpadaQ\\\\\\n\",\n       \"bLkhvW4i3V6hxsJltD1HNVp2KbQtAt1ZEKaXxa1BmYXb131KXg0G3MaZycyLvaNV7/M82Ixg9CpC\\\\\\n\",\n       \"bN7g9lmoy9RyOBwOh8PhKOAh7o554ASW4yTBZgyg5iGq6o6ZZVFcD6zKypaqQOmiFOqrYjBvCxNY\\\\\\n\",\n       \"1kbIyhp8VgV9NxtDaaRDaWoId7dMUofspdeTs3fulOsPHpSD+/bJTmVFkMAO8gpSl1kEFlglkFkU\\\\\\n\",\n       \"cpU0m5IMB5K2WpJnDUlUARZC5NVepiq0yZkFcXmobViZg3VFkXk0thOC9MBxxQx5GuyeS543qL0a\\\\\\n\",\n       \"FURAle2sCjH1lSWw0gkVVmEXLcgrDtvn9uMMMyYnbVA7PpnEBPHVbA6lmebSlIFkw74kqrqCdA0y\\\\\\n\",\n       \"KKTocwo/wqfqCCz2cepysyk3f+1rcv2tt8pzr7hiHFxVhp4l7bYk2g/05oLtUPt90aC4DLraOMts\\\\\\n\",\n       \"/NWYxRBdUp8TPBt3uXEQvdoICyvpZFvOfifj77YcI4vfA51/5XA4HA6HwzHHnwyegeWYASewHI5N\\\\\\n\",\n       \"xSwCazMGczHbIAd9x3KRJtcL8mqcDYTBeGzmQLYYWvLK2s6KfXlYz5TAUPJirTOe/g+l35e97bZ8\\\\\\n\",\n       \"77d8iywoc3DkyKSVjAO8LZHBxBXLoPgh2AdZer2UzGq0WtJot6XVasigXQSwaw5UoZ6anoGOl5m0\\\\\\n\",\n       \"0GV8pY3rGit4lMxQJRYIDfQBDnBn6xjysqwyJwarsANhxRlY4+D2JCnUV9yOTECyPZRtgpxzhcIW\\\\\\n\",\n       \"QuUdx0quXLYti2RJ2e5EVk60Pdb1E+QV558xkRVrdzCMpXX0tq9/Xc7ctk1S7WMIqgKJpUXbfjiU\\\\\\n\",\n       \"ZrstaaMhWaOcNKAkcNmhqF+pz4WvswQWVFe6DkvppEqvyMEqZiSsfv8mVXbWOrgeO2Ed6n5vPJPK\\\\\\n\",\n       \"4XA4HA6Hw3HiwQksx0kEZBAl67AMbgb4ukdjZ7Q2sZj6CstVyhxW5zTCQNuSUyiszuGcK14GkQEy\\\\\\n\",\n       \"Q5U3SmaEa6gtcW2lUF3p6F89exw8VRJYSb8vCyAyMGWgDXKvshFaHxgn0EOFxbIxk0ieNpuSttqy\\\\\\n\",\n       \"c8eSdEs7IU7XZeSB6SWwT9eVI4Eii7+alTihxcp1JbEKXiULypzJDCy2EOpPcd/MJldFPlilHRRe\\\\\\n\",\n       \"k4orLBdh5smUSo6XmYiqa1scy/1gXe2O9oZ9kNudM9Dq2p3YxdVeT+6780659JGPFNm/f3q6SxRt\\\\\\n\",\n       \"BGr3bGlpREDZsH7+GgjEsI9jumA9VUC5VXBxSmBpGwzM+16VWWbfY/su50dh4ZunH20UwwfA3uhw\\\\\\n\",\n       \"OBwOh+NkgVsIHfPACSyHYybqrH9sEao6V4y6BudtlCiLBUXHyKxpQgscD3M/NveK7WSs2GECa0x2\\\\\\n\",\n       \"5LLQzoP6Ju2p6mpVEljGVlbGCixsK0ms+++7Tz72+c/LMx7+cNmmN8E5SLOUOAo8CFsJtfBUeJwm\\\\\\n\",\n       \"DvJMLYXtnqSqzGm0JG2rvUyJvXGdKJSDQeYV2wT5NsC5MckBkVBxXlLyNPqJ0H+enZCXmXioGvxb\\\\\\n\",\n       \"NU8WIbCKZbVJFnxOQWBV2T5jarrJ9h1nXE0SWLkstAaS5QNJV7oiqytFu2s9a+Vpu+vDo+3L+g/L\\\\\\n\",\n       \"IChBXDGBNafy7ra775ZkbU3O1LY9dGhSNqjfpTcJZkkv0e9LPhxKmqXSTBuh3QvL3/hr0NbogrCL\\\\\\n\",\n       \"6i0h4B+ZV5iVEBlqsBjWvXvxnLpkk5RXVf1mFpE1z36Hw+FwOByOYwi3EDrmgBNYjpMMRxO4bs9h\\\\\\n\",\n       \"ImrWbIFV37fRAaFVXlWRaNg2VmHZ7CvwPhxgjsE5C5lY0IRspILIUPJKpJkOJA2WwbVipA/SSokM\\\\\\n\",\n       \"LRElzvY8l86RI3Lb7bfLw/bsKZgBqK84QdvCZmChsK8PDwB1DxNkvV6wlSkai7mkTX2wcTYYLIOh\\\\\\n\",\n       \"Bss8LJ4gkQkPthBCnYP9OE+VWNrmSpZoLlYBJrPYTjYr9DqbI6S/yHoqqqBQ28Xake2EIK+42Mwr\\\\\\n\",\n       \"be9xqHsubc27kr6kfWpntLW2PwgsKLKgttNlVI5VYvEMlFOPTnbRJJF2rycP3bVLWvp9kEGBYdKH\\\\\\n\",\n       \"w/XBPg40VL64TmNhQZJMZKGNsP3iXcEtgpiCbRCkFT5BWqGrjd8pDfLXtuYAd6l5P6sUlUeLfBMy\\\\\\n\",\n       \"r+zyen+v3KLocDgcDofD4dh8OIHlOMmwGTMGbsY16lBnc8T3phXHMonBuUjFcUqkgLgA38OKqzEp\\\\\\n\",\n       \"NRYxWcXVZIB3kXe12B6KHCktY0paQH2DoiosVmCVn41uV05vNgsCC56sWVlIAE8BWM46OOH7Awun\\\\\\n\",\n       \"y3gYykUK20viJNVcrOVlSRfaZV1oltE4B4u/EuQWC8H0FsGr2H2KwmpWkBO9ns5UZwkrno1wVpB7\\\\\\n\",\n       \"TNnDbd0MeVcsQJuYGbJsf7YFTlhAy5kHrYUQNtLt2wvyqpHl0hx0i/wyrUtt88OHxwQl2h7tzQQW\\\\\\n\",\n       \"toOktIHu0W4/rcA6t9mUc3ftKtRXUF7xQ+unXhtElj4QzXyYLSzIwtKS5IHwy8P7wSHuNppLL8f7\\\\\\n\",\n       \"cNtQ4DFR2OkkFOYes/MiDw1tin7O+VjRipjjmOPhvz9dteVwOBwOh2N+uIXQMQ+cwHI41m0LrBuw\\\\\\n\",\n       \"zXseVDRAzE7I23ggbPfXBUXbMG8dqI8VVzzeR2g3BuA2vBt5R7y+tJhLqzEoyCsmMnQZShz9VAKL\\\\\\n\",\n       \"rWVQ5XQ6co6IXHvXXdLdtk1aHOpdR2aEx08nCSw8GFgZEFhKlrBPThkZMDmQ2ehsdYOBNEJOUlsa\\\\\\n\",\n       \"y+1RULfetg11V+hjwEKInCQt+mgc1RRam5aLcHAlSlqUewUVFtRXwwgRwH2risBqTMweCcIRj24t\\\\\\n\",\n       \"g2wlxLHa7tu2jbcpYcUEli6r4ipdo7a2BJaus3U00u4jYomZIJTK12ZMWu7v9WTQaMgevUF0Zm73\\\\\\n\",\n       \"8awC8e8tS5LnsqDtrnIsKeyeeD8gBlTgFHRLEL424B1klpJhxQyUObVzto5Ad7vP7o9tS8rvKH2P\\\\\\n\",\n       \"x4RkcnLK4XA4HA7HMYBbCB1zwAksh+O4wCwLINsEk5r9NmtnXAoBy3jmQWsZZNsgFFpsL2PrGciM\\\\\\n\",\n       \"htrHNAUdtkEor/CJbZbAQhZStytnp6l8am1N7rr7bjkXChlSyVTCKrBAYIGwwMOBXeAp5JTM0O/i\\\\\\n\",\n       \"EKskKWpwmEsiqixrj+pNdyOwW8G3NbYJFuv6NTEFD9bRXmolHOcvJZGZCOclsApSRAmTIrB9ks+J\\\\\\n\",\n       \"2T8ticXklSUtJ0suWb8jSWetyLrSdgVRBaUdW0ehvGMCCxlYyMGyBFYdaUk20evvuUfu6/fl311y\\\\\\n\",\n       \"SbEd10ZnhmyKGwcNwLK6NJU0yyRLW7KwkI6EYVpQV3A5QtgH0RjbbVFAgKmFM8+HpQormfGO8rtc\\\\\\n\",\n       \"9b7X/T44HA6Hw+FwOBxbH05gORzHLWLh7NgeU1/FBsapyUQaExw278rmJNlltp+1Wqq8yiXtqKql\\\\\\n\",\n       \"JC8seYVZ6FSho4WJDMxG1+3KYqcj33XaabJdSQY9DqRD3SyECpZF6Q1C9oTQcE7VhpUMchldh9fP\\\\\\n\",\n       \"qH5CNlaeS3ubPnRRlxBqAYjqUhD/FZb10uE6hvjCOs5TYqPXQ4g4vj9GYLE6J05gIbvLkpBoP7uN\\\\\\n\",\n       \"A/nZIhrLwRqRWpp51RhIcnhVEm5bkFYgrLBPt9l2h4VQP4vpGceVxLNP1rV5lkmepnL7/ffLJWof\\\\\\n\",\n       \"VNUXmCNkYIFFBPMEVBBYIROrLSHUvdPSTKyizcGF4jK4NMit2DuE0Pwi/F/tolWksn1nuQ/E3vc6\\\\\\n\",\n       \"W6nD4XA4HA7HCQ5XYDnmgBNYDscJBSYxYllXscFxYR9ELlJMhcM2M2sri81It7wkknZIeQOSCpYy\\\\\\n\",\n       \"JRWgwGICC4oskBqlKms71DNQZh0NgQUSS6/PrBsyrzAzHfxwsJLRrIhMpuil2wtL0tjWGpFTICiQ\\\\\\n\",\n       \"Cc4B7xD5YFl5EXAyenmFfoXus4qdIhcL7bseC2EyalerpMM6E4/cvjG1FULa2UKo1aUlG3QlgVVU\\\\\\n\",\n       \"C9qdCSzb7tZCiAw0rnMQT+sgsO4eDKRz8KCcrTd68OC43flhMQshh7nbTCx8lzZWrklYuWxbXh61\\\\\\n\",\n       \"Ld8WZiEE36l1g7wsuw+PWBBYxftXKOwsYRXLxoISb6OzlDocDofD4XCcOPAMLMc8cALL4XjQrYJs\\\\\\n\",\n       \"EarKwrJWIlbgWNIqi5Bbai8bi5RiCiusx1Q4IDJCfFSzL5nONtjpFEocJTBAWmEWOixXKbBAcpRK\\\\\\n\",\n       \"nE63Kx+9+255bLstZ6jCZjiUvN+vTegJT622v8A0taf9kBziDVID/jBY2GAzA1OhUPKKJFVZe0GW\\\\\\n\",\n       \"l5co22hMXFhnGtyJTGCFey0JEZBZOG/8JHkgogpOxc5sGZs0IA2z3Y1z68czDXJb2swrJrC4ndG2\\\\\\n\",\n       \"lrQsMq9yybqrhW1Q204D09GGuswElpJJsIqC3AJRyW2OQpbCPM+LMqvNGw25bXVVFno92a3Xx3SA\\\\\\n\",\n       \"euP6HXgwkJGYiRJWRf0+JOyjgbIsZGHlidZpQxZaTUmSbGqGSXY94tJQZzFPhves+JrqmSKns8xs\\\\\\n\",\n       \"QHvdDKMgO2MzoW7GbIYOh8PhcDgcDsfxBSewHCchqgZ9xwKWeKojsOw5sXNlxnpsQIzsq0kSC4WJ\\\\\\n\",\n       \"D5BbnKPEai21DjZkKGmvJCW42JkHbcHMdCA8EKrd6Uir35e1tTW5tdeTU5U1UTJBSayamOmJWspz\\\\\\n\",\n       \"ScoH0jyjUWgXZjIESQWAsIKcCiwFy6taqrwq6i9rNqXd0p9LDeYeExngv0BkwHaGqC2QGrqMY9l6\\\\\\n\",\n       \"OJ5gsbCsjffVq2/QnoiEQnsxOWmLtYbawnlnI7KrmUuW9wvyKmYT5QwskJloaxCbPAshrKOdjgzL\\\\\\n\",\n       \"tskHgxFZOVd75zr74UAuUqKztCUqqTVSWEFJh3YFo1SqrNC2IxZRK0TvOU1DH0qaTWk0M8lbqbRa\\\\\\n\",\n       \"hS0TBBXeFX0E1DV4MiatxsvFO1d0rzqr76z3OlZs7VS9HdaSeqzhIe8Oh8PhcDgepD8hfBLkLQ8n\\\\\\n\",\n       \"sBybhptvvlle97rXyUc/+lG588475ayzzpIXvvCF8spXvlJaOvo7rgD7zrEmsazta95zOONqUnkT\\\\\\n\",\n       \"D3HnY6eVWRhUg8Cw60xwMKE1SWzk0mwMpdEvE6yhtuICIiO2DiJL1VmquIEyp9cLJMZZeS63rq7K\\\\\\n\",\n       \"o8u+gvn4qv4tm6Dp+n3J+v1xbZW2wQSKq3KmwQAQHSCwODi8CC6aWA7XCwTWoqRpMVMdMsdBSinZ\\\\\\n\",\n       \"wwosXE4fBRwacpNCK45IjTHGArAig6kOTD5yKD9EZ/NkmzFhxZlYI/XVgrb3QNIOtSEIK2RdgaRi\\\\\\n\",\n       \"KylnYJnw/pxUd2jfAZkmhzVtPerNw6Fc3GwWc++trUmGzlySY0pAjSRykERBOoe2RUMoUEmQybVa\\\\\\n\",\n       \"0giVl0q7nYW2BQcaIwUxI6EWvQV+ryD2KgjJ2LtZ9y6nNb8j8/51ZrOzjvVfdWx/dTgcDofD4Zgf\\\\\\n\",\n       \"4T+kx/+7e1TY6PmO4x9OYDk2Dddff70Mh0P5nd/5HbnkkkvkX/7lX+SlL32pHDlyRH7913/9BK9p\\\\\\n\",\n       \"0ChHk0szj51n1jE8oE0rLIPWNojsncZIPYLBNStvmNBg65gWWM+wngbSiWyCICzUSgbboJIWvI9z\\\\\\n\",\n       \"kojAUpJhMBgEAkOHvKc2m/LFTkfu7PdlZ6MxGgrHCKwYDcBP31grZslrKCGBsCd9QP1+9cvBYqZg\\\\\\n\",\n       \"O6FNXi9VPKrEamzXvC2tpOYo0wp8lxIc1pUGCyH2ITccXApnZeFY/cQsdvT1E+dhmVVX1j3JVlBu\\\\\\n\",\n       \"a55tEHlXWEbuFdabSV8avc64LUFWqU0QhKTu03VuW7Q72hxk1uqqDEqboMaqo91BYKHESCymfvb3\\\\\\n\",\n       \"+9JKEtmpajttg+EwkFpZrycZpgkEQYm2hV0R+VcK2BfDF5QNopVdzmiZhnpanIhGK8WBI+KS98Gh\\\\\\n\",\n       \"yoostEm/r+8hU3ZZuY73Fvv43UZm1nCDvy1sNVwvnIxyOBwOh8PhcBw/cALLsWl41rOeFQpw0UUX\\\\\\n\",\n       \"yQ033CBvfetbtwCBdSwQU1lU7Wf1RWxGM1vGxxUz1FUrdjj428ZHoTTVSiYDSZTQ4BkGOZidVTpM\\\\\\n\",\n       \"WlmVjhIZg0EgO5U+6JfDZCWtlEi4td+XhxGBJTNUOakZ7oMOSEuyJF1bCwRHyLUCSQVWyKpytHLY\\\\\\n\",\n       \"/wcmqdEIyp5MxWGtRBYWdPbAwvbHKiv9ZAshu9mwzmos/k8iEFR8e2wrBNmFY9GGvGxnw7Ptycor\\\\\\n\",\n       \"uzwmvXJppgPJuh1JuhWKOiiw7LbIrISqtBtqKdtbH40JLC51ajv0/ms1/ypN5cnLy1N0rdpOUyWy\\\\\\n\",\n       \"eIZJZhRjbKBWlD44Xgy9b7USpmmwjjabqsLSGSPHcwJUvTOWVIRSTt9BDXSf/92FQtQ+fXKMiCrH\\\\\\n\",\n       \"yYiPf/zj8sY3vlGuu+46ueOOO+R973ufPOc5z3mwb8vhcDgcJyvcQuiYA05gOY4pDhw4ILt37z5J\\\\\\n\",\n       \"anm9dsRZiqu6HCxL38StgwWBlVQSHmxFqyO3mo1csmF/avbAkcLFBnWzZbAkOoJ9TK1jqrzK80Bg\\\\\\n\",\n       \"qM4JpMYwSeTJ27fLUpqG7azEsf+e2drhWGzWsuhnQwmMbjcQWiHTCllIPJOhAhWg0GPgxdNlZXc6\\\\\\n\",\n       \"HUk1J6nVkIV2EfCtBcob5CTxhIaoP5BWiGoCr8I2QhBdWK7jXGI5ZnVlnkysUf6VPrb0JembnDNk\\\\\\n\",\n       \"mHGxFlIQW2Vba5sPej0ZDgYTZKUlsKwKK9bWis5wKHf3+/K4paXQR0ZkJc7Jc8nKilXiMpwPCZxW\\\\\\n\",\n       \"RNhQZmAhsEofWu8XFanLaj9tNCRd6EuzkUq/mcwkqXidCWPNwSp40hhRVUdk1b37Vb8hR/Mb5ITX\\\\\\n\",\n       \"yQpVR3/TN32T/OiP/qg897nPfbBvx+FwOBwnOXwWQsc8cALLcczwla98RX77t397pvqq0+mEAhxU\\\\\\n\",\n       \"S9IJh3msPPNcY1a4cywDC+dgfTzzoA6cdSDN4/VYmHeMyND1woKWSyMdjtVUNsDbrmPWQcpFystZ\\\\\\n\",\n       \"CFWN0yUCA6QGCIx2lo3IKxTAkhpcS5l5cpi0QJIoiaXERqP0eIVsrHFA0aSVDIwRFFm6DZVTVmh7\\\\\\n\",\n       \"W1v6gzyosPRScKbhUiC3oHwK908KLHwVPtFObCEEiWWB4ywhifayRBW3Z2xGQpyHnLNwv4c7cbKK\\\\\\n\",\n       \"2xjWUS3YXy7nZbv3S4uo1q62qy5jnYmrQY2FkHv7bb1euM7uZlP0F6OI1R8TWTDlNfJc2mojLUPi\\\\\\n\",\n       \"wzWgrgOTCKBS0BggLst9jQW14KrqLgmPDnci229ZlYXLaRXg3Ss40ySiwhKjG6zq4QCoOqZrjxZ8\\\\\\n\",\n       \"XSexTkZ853d+ZygOh8PhcDgcJwqcwHLMxFVXXSVveMMbao/50pe+JJdeeulo/bbbbgt2wv/wH/5D\\\\\\n\",\n       \"yMGqwzXXXCOvfe1rT7KWSNdpDYqRVpk5hgfGxbKqPxDajsE1q0NsHtaYyBhnYDWzgTTyIng7Gs7O\\\\\\n\",\n       \"hAYyr0BgqfLqyBEZrq6OVDhMYIHUgCqnn+fyySNHZG+zKee02xNqnGGEysM6J4AxgYXkoQEsZkpi\\\\\\n\",\n       \"HT5cEFgIoQLbBBkNGCawfso8ITysZJqSVktajabkC41AXmgBIaVcLEgr8CVQXNlZCHFJbRMlwUBI\\\\\\n\",\n       \"IQ/L5lCC6AKJBULSzkLIpCTWQVqB5ELeFW9vNQaSdMu2tqQkyEq0r217bFfbYKcj/eFwpLDjwgQW\\\\\\n\",\n       \"2mZg2pnbndv56/2+bFd7aZoGAqtftiuuAQILfUUJy1TJS61IDiVDRYOc5HR9rZSSuNSZFxvttmgG\\\\\\n\",\n       \"e7PZCLtAUGp9aRWVAr+ROouJYuwrBHwazh+biZBtxEy72ve9gtGcsB3yssPhcDgcDscJBLcQOuaA\\\\\\n\",\n       \"E1iOmXj5y18uL3nJS2qP0bwr4Pbbb5enP/3p8qQnPUn+x//4HzOvf/XVV8uVV145ocA699xzj8OW\\\\\\n\",\n       \"SR6E74tZjmbl6IyPg32QCQ9rH6yyoI1mLMwHkvRLmZGO3iE5YtugXS7tZkGJozay4XBEWIG0YlXO\\\\\\n\",\n       \"yFaWJIHgUqXN6RECi01UTGxAuQNarzYMXFU5mpOk94aKgK0MpJU+uD4PiA7Y6JS8Kme5y5qZtJp5\\\\\\n\",\n       \"UOeArIAShy2E4yDv8aSHUGqxEIjJLqiyYrAEFrdZrC2tIouzspi81GfJZFiQe2wP5WLbOlKCZZDy\\\\\\n\",\n       \"zVBAZoFsYuKqHyGwxEybEIjKJJHdrVY4PjF2Uc5L05LAUqh2wjLcfWQhhR0SsxfqMlheME5lPWh9\\\\\\n\",\n       \"pI1UWq3GVMaYLVz/aB+0VfjuiXd4Vn6dJaYe6N8f1LqrsxxbSS3tcDgcjuMVbiF0zAMnsBwzsXfv\\\\\\n\",\n       \"3lDmgSqvlLx6/OMfL+9617tCZtAstNvtUI5vPFADyJh1kLdX2QdjCiy1ECYTZIclOKoCwItlJWd0\\\\\\n\",\n       \"5sFSRqIFciMmsJjcsHlJnU6ReUUERqxAiaPLuxsNuX5tTdY0gD1JpgisGIkFwiJGXsWMmGopDKSG\\\\\\n\",\n       \"hrOzEgf2MS16/2B9mPAoya1GqKRMWq1sQm0TIzZ0H+qVXWyssGKl1iwCi4mRutyreXKxCgIrl0Zj\\\\\\n\",\n       \"KI1ef7o9Y22NbaTGA1nJeVd17c3W0dLAGc09YwLrYUtLYb1H1ArnncXOCySWklB636gwkJNYBplZ\\\\\\n\",\n       \"0c/TtFHWkdZZMlGHrJyzZBa/dwWBFSOiY7bC2DtftXwsge9wEstxsqqlHQ6Hw+FwHE9wAsuxaVDy\\\\\\n\",\n       \"6mlPe5qcf/75Iffq7rvvHu0744wzvKZrYcPXkeo0a7AasyKmExZCCEtYFRKbOS2WidXIckkQ3t6L\\\\\\n\",\n       \"2AhtgaXs8OEi+6rTCYoqkFf6WZWBhbKr2ZTu6qrc3uvJ3jKbqGpmOjwpW8l0uUnLILQmyJEykKoB\\\\\\n\",\n       \"5Q0ILL13TBk4Di8aVxBYipLoShdUfZWNFFawXoKM0irTy4CY4qB2VlrxbIa6jkiumIUQtzAOCZ+2\\\\\\n\",\n       \"C3I+k/2csIfSOamq7GLKKtgD2UKo7ctW0vLYfr8/amtudy0dUttxzllVG9m2PtDvy7Y0lbbODkja\\\\\\n\",\n       \"JNhHOUOL1XpAe2WlCHSHJRSViYAwnoUQFasVpQSWhrqneSCvYu8JeE30A1bHodvouxhXWHFvjsES\\\\\\n\",\n       \"V7AO8/XcMug49jhx1NIOh8PhOCHhFkLHHHACy7Fp+PCHPxyC27Wcc845E/sCYeBYx6A1hphqg/dN\\\\\\n\",\n       \"BrgXCpBCLWIzr6x9kAfirN5R+9TIUobZ5UByxEgsIkAG/f4ESQXyiq1kMRVWI8tkMcvkzl5PTmm1\\\\\\n\",\n       \"Kv8tswHuIC3KNKMJ8xWIjVF/xDWCuiYtapLZBq0IqHR0WZ9JQ4+gzCqJjSTLpLXUCgHfGtKtBFXp\\\\\\n\",\n       \"VhtZChG3xRlYWtgyWLoSJ0hGxDXh1QHfYi2EaDcEhsdmHIRdkMmsMONgyL7Kg30wWSnVR1Cb8TIr\\\\\\n\",\n       \"svizJLVCxlm3O7KI9qi9rXUUpFXPBLhzkPsU8lw+c+SInNFqyaWLi6OMMw77tyHwVssUiC5YR0Fa\\\\\\n\",\n       \"oT3ZOop1kFmLi2Xof08ajdZE1pV9d2w7IJAfsxFmmfYRJqlhhgTqFFmzwEQWNGn+u+vYPJwYammH\\\\\\n\",\n       \"w+FwnKhwC6FjHjiB5dg0aE7WrKwsx3ph1Re8zZrpJlVcCPyuIj5ieVgTlsIgaSozr3Qkjvwru66f\\\\\\n\",\n       \"IDvKmQZ1+zDPJ2adi+UfxbbrEPzS5WVpJMlInVOnwAJZMWEbI53KgGqqb2pKZ6sL5AQysOAHgzcM\\\\\\n\",\n       \"7ETsuZXcazZDRlgja0TzkKxlk0kOtAkILcxSOPGMSZzAqsq/4nau++4Jm6Fuy0t2jZ8Ty1yondlW\\\\\\n\",\n       \"mPf7ob25LZmktLMPMpk1mEOBdWgwkNXhUE5pNkdtiH7B/YPfCHwfR6AnaktFthXaly2D9tm5vQd9\\\\\\n\",\n       \"aTZaU/Zb1Kd9t7id+V2cVlumM95t+zvgcGwODh8+HP7DCbjpppvks5/9rOzevVvOO+88r2aHw+Fw\\\\\\n\",\n       \"OBzHHZzAcjiOW8wzaJ3OvcIn7IM2i2eKqCrVI2w11PwrLbJK5FSMyKoI/NaQdA7ujpEZbCtkMkNL\\\\\\n\",\n       \"O9M48WKfzKnAsllI1koGoovpA/2utN8PCsFElQUcYqXPgjBvPBskTEx6qBUxy0b2Mg5tZ1sZ58Vz\\\\\\n\",\n       \"GyhBhYwsBdsHYxFylrzibDNub6sQqgpyV5voRJvi2bhdsY8zsMrPvMy9sqQkty0rsLgfDOdUYN2l\\\\\\n\",\n       \"GVZpKstZFq5jw/qtgU7bFkTXBE00HIZQ9wRti7B+S9RxP0f/13ZexLsxnt3TqhbtOzfOwGIbYVUe\\\\\\n\",\n       \"Vh2cxHJsLq699tqQWQnAHvjiF79Yfu/3fs+r2+FwOBwPLNxC6JgDTmA5HJuKOttPzDLIg9iqYzFc\\\\\\n\",\n       \"T9cx8NX8q2lVDgbUcEgxcaX8zXhGOpFGOhzPPIjBvA1pRx4W52KV5FWMqLIz0tmZ6TjY+yurqyH4\\\\\\n\",\n       \"+ryFhQmCwlIAgYSiWQj13I8fOCDv3rdPbut0pJ/ncl67LS/Zu1e+75RTJjQtI4JsOJSm3r9WAioE\\\\\\n\",\n       \"WUhaSSC3QHyA1CgVPM2lpgzydGQfQ5VZslD3KTGlZIa1COrlEO4+TwYW2hVtaW2Cto3hkLOTLTYb\\\\\\n\",\n       \"QxG1D6J9rcoK9lEUPa5czldXpV/OOMhtimLD27md2UJobYD27xe1k+5oNKSfJCNSMiv/AdPPv7r3\\\\\\n\",\n       \"XvnQ/ffLTeUMaY9YXJQrzzhDHr+0NGprGPa0jzSR54YKVC8l2h2kFZbh/ex2pbE8kFYzk15Zh9ot\\\\\\n\",\n       \"9BBuZ0SnxcL29dj4+x4jotlqiNqI5V2xFtFes8pCiH2enXUyQzMr3d7vcDgcjuPNRuhw1MEJLIfj\\\\\\n\",\n       \"AcN61FRV59ft42tMqj9iCqwYuTValqEkYGGsXbBqXZVMvV6wk1lLYJVtMDYLIciMTp7L/l5PzlpY\\\\\\n\",\n       \"mBiGx8yTsAtiOL6UZfLC006TC9ptWUoS+cdDh+SXvv51ObXRkG/fvn1kKQP5lSpTxAqcKlUOK5Rg\\\\\\n\",\n       \"IwyshM6YWIR8W8KIZyGMtYNV6iBjvApWxYWCbTGLIec08b3pPautrvIZuZ25bqgPsFV0nsLtn5t+\\\\\\n\",\n       \"YmcSDG2a59JI0xDuzxZQ7vWfPnJEvn3XLrlseVkWk0T+6O675ce/9jX5m4c9TM5pNkP/QFuHnLXy\\\\\\n\",\n       \"/pM6u6Rpe7wPaVA3ZhPtwMVus+/gZM+VDbzvIKH0iargtkOHw+FwOBwOx9aBE1gOx4Yw7wAxmWPd\\\\\\n\",\n       \"lqrrx/ZNn8/EBi/zut02+lQ6gZPHtfBybL3clpOdzBJYw8gnk1e8bSHL5J/vvVfed/fdcmg4lO5w\\\\\\n\",\n       \"KItpKqc3m/Ltu3fLZdu3y7UHDsif7dsnd3U60kpTuXhxUV59wQXymG3bwvC+UYa6P7/dlr++7z65\\\\\\n\",\n       \"9sgRedr27VPfH8iT8nkCqcHKm6pnp5IMBpImqsDKoqSUJZZQ57pNVVeWhFIgF2ui5SM5WNamxu1b\\\\\\n\",\n       \"RZSNrpEMJRlOPkttO1MyfV6ucx3G2tQSlrHj9fPIYCD/b/9++cT+/bJ/0JfuMA/trcHtT9+9W3Y0\\\\\\n\",\n       \"m/IP+/dPtfdrLrhArjrvvFFb6+crzzlHPnrggPzD4cPyvFNOGX0HCCxt6ymCNtbfsc5tLUpeZRO5\\\\\\n\",\n       \"VrbO7TulGBNYVmVl3+N53vvYb0Xdb8s8/50573EOh8PhcDgcxwCxP36P5hqOLQ0nsByODSE9yuPm\\\\\\n\",\n       \"nWGsToWRVh6fJOnE4DnsKQfcrASKKbBgO5M+DeCZ0AHBo8yLUa8gC4lJipjiqs5adk+3K++/+275\\\\\\n\",\n       \"2P790hkO5ZKLL5bzTz1Vms2mdDod+catt8obb75Zdrdacn+3Kz9wxhny5F27ZG0wkBuOHJFeGSY+\\\\\\n\",\n       \"0rfkuVx3+LDc0unI45aXR6HunJMEYiNTdRFsZay0YkXSIF4vaZZKq6VZWJMz0FkSKbaN1Vc2yN2i\\\\\\n\",\n       \"yhZadW1uU9wbbIQaQB+C+kFMxZ4vVg+llTSmrLL5Vna/7RN3d7uBpPz4/fcHkvLSM/fKQ7Zvk2aW\\\\\\n\",\n       \"yVqvJzfffX/R3s2m3N/ryQvOOEOeVLb3l6m9+Y3QfqPW0e1ZFvbBbsjEmT6jzko4oT7TPs3bIvWS\\\\\\n\",\n       \"qaqtVMnVTY7ARBbeP83AKoL5q97rdIP5VxxZz9ecZRVkQ67D4XA4HA7HAw+fhdAxD5zAcjiOe8RU\\\\\\n\",\n       \"GpyPBRMd4szHViVrNbNKK2t/GhFc+i8IBvOsvIE6hYKtR/s00LsksGIzDsZIDVu+srIir7/lFuk3\\\\\\n\",\n       \"GvLNT3qSPP7xj5edO3dO1chtt90mH//Yx+S+G2+UTxw4IE/bvVv2tlpy/uJi+FGDoueHv/Ql6Wlw\\\\\\n\",\n       \"d5LIz519tly+ffvEzHRMtIUMLbUEcmg9SBs8c9WMhKrMyYZThNE8Bf9RpNWI84F5FFixWQZt4bZm\\\\\\n\",\n       \"AlNDzafsoHbGQTy72a52UVt/NstsVvt/eWVF3nDzzTJMU3nKpRfJv7noPNm1tDjxzJrRc+t9++X/\\\\\\n\",\n       \"fvFGue/Ou+WfqL0vXFwc2QNBSCr++513yqnNpnzztm0T35fSvaVa4Xguyrma6tekOtN3Ikk0xL3C\\\\\\n\",\n       \"emveMc4sYyWWXrIA3ls2Rlpy28PbHQ6Hw+FwOBwOhRNYDsdxi6pg91mWoWnbIKtBuMSsZWGfWomU\\\\\\n\",\n       \"3EDSOBe7DYP94TCEodtZAJFnxOvDSLlpdVV++aabZPdpp8kLfuiHZHl5ubJmzj77bHn+D/yA/O7v\\\\\\n\",\n       \"/q7cfPvt8jPXXy//4fTT5amnnCK7Go1wPbWYveUhDwkh4587fFh+6/bb5bxWS560bdvEfUxkIylj\\\\\\n\",\n       \"xM+JZ+VnZqsdbVOlVxVRaNvD1rcCdkKopxH2bmEVV7a9Y983ngXP7BvQ89Y821R9lDdqyal8Rhuz\\\\\\n\",\n       \"Ou9rq6vyuq99TU7ftUN+5FufINsW2vG3IEnk/D2nyI986zfLb33kH+Rr9x8YtffTTjlFdjYa4Q3A\\\\\\n\",\n       \"9/7Rvn3ykf375W0XXRT6gO1/irCNn4/6cGU/L9f1itYyaK2hsXdwMgPLvrdH/647HA6Hw+FwbAn4\\\\\\n\",\n       \"LISOTfQ/ORyOdWGjA826bJy6nBw6g3KWqvJ4qsqIwIoN6EHycF5QSV7pPkte8KxysewpLYcHA/nV\\\\\\n\",\n       \"W26RnXv2yA+/+MW15BWQpqn8+I//uHzP93yPdEXkT++6S372hhvkjm63UOQkiZzRbstFi4vy/Xv3\\\\\\n\",\n       \"ytN27pR37ds3dT8TM9/hOZhJsvVg92k95HmoM1WupemYyKrKn4plJFURirXtNIMs4UymyUDx4j5D\\\\\\n\",\n       \"gLttW0vi0TNiH+qpri6ryEttm4P9vrz+5pvl1B3b5D8+9YmV5NVkeyfyn5/xZPn+b35MCPj/k7vu\\\\\\n\",\n       \"kv9ctjeu/96775b/uW+fvPHCC0M+lr0H/gx9tY7E0meNELihnSvIQm7bqu31mJWHtRlqLCfBHA6H\\\\\\n\",\n       \"w+FwHH9IhptTHFsbTmA5HMf8FTsWr1ldgHP198Wsg5ZsCYNsDN4VVo3CA30orzS8ncgrnk2OSasJ\\\\\\n\",\n       \"sogIjb+9//4w4+DzX/ACabdnkxnj50nksssuk2d/z/fIqt5Pksg/Hzgw9Z0gOLplXhKrhizZNnr2\\\\\\n\",\n       \"isD2qX1UJ4H4KwlCay9TYJttk7pZB2dlUoKgYrA6y97LiPQKJKVRmdln5rbnfRGisspCaNVu+vnR\\\\\\n\",\n       \"++8PJJaqqtrNxrra+/ILz5XnPeHRob0Tam8Nd//ju+6SX73wQrl0aam2743W0dZ1CjuQdwqQleY9\\\\\\n\",\n       \"ilk068mqKnXVsbIL1v8uOBwOh8PhcDgcJwLcQuhwnNDggTAC3OOEiFXtxKD5PkpsgIiZUueMw3um\\\\\\n\",\n       \"rGWWIIiRBtFteS4fvO8+ufTSS2XXrl1zP/k3vvENuemmm+Tiiy+Wc845RxZaLTnU7cqZ7bb8+b59\\\\\\n\",\n       \"8pDFRTm31QokxXWHDskH778/5GDJLMWQEhSzbHVcwgVLNZNRVdn6L+p4mjwc1//kOqqd2y92Xkxx\\\\\\n\",\n       \"xd+Ja4++P6jsioD7CVVdTHUXeXaor6rqMNx7hXVPw9U/dN998phzzpCdSwtzt/ct994vX7nrXnno\\\\\\n\",\n       \"GafKhaeeIu1GFkgwbe+/2LdP3nvXXfKK886T01stuafXk5aIbE9T2ZlltX1wipws23PUtvwOjN6y\\\\\\n\",\n       \"kJhWe79V/UAJrqLKrZryWBJMPsOgw+FwOByO4xxuIXTMASewHI4tg/Fo2dqV5rMvEcnBQUwKXrdB\\\\\\n\",\n       \"TeV++2+OVVrxNiYR/uXIEbl9bU3+7eWXr+tpVal1yy23yD/90z+F2QlbrVYIa3/o8nIIg3/7bbfJ\\\\\\n\",\n       \"vUpkpKmc127LK887T67YtWviHvmeRstsHWPZEz8zP7ux3iXJmD2MEUgT9UxEE8gr/ko+hwkwa1Oz\\\\\\n\",\n       \"2+u+s1gx9x1r59hzlmQO1Ha2/rhOq+r4Xw4flrs6HXneJRfIerDQbMjX7rlPPn7jTdLp9aXVyKSR\\\\\\n\",\n       \"DOXh27bJO2+7LRBjakNl/Phpp8lPnnHGVD+suu+p57Z1VFpFFVZJF8Ns66Db+RwOh8PhcDjCX0X6\\\\\\n\",\n       \"f8EVjoN5sdHzHcc/nMByOE54zFZvzDPYHim3rIUQILXRaJkQU+Fguz2Gj/vcoUOyY9s2Of/882U9\\\\\\n\",\n       \"2Lt3r7zwhS8crd97773y3//7f5cbV1bkB844Q37ojDPC/G7t8ocu9mMXvTdLXuCZY6gieyJqqiow\\\\\\n\",\n       \"EWWrdRbxOH+2UuTYGAlXB6oTEFh8RixygI9Be3/20CE5ZXFBLjj1FFkPTt+xXV76bWOS884Dh+TX\\\\\\n\",\n       \"P/jxQFa+5eEPD+2rqitt86YSXuUn7oPviQnUqeeOEXsA7IQ1Srsq4nF9dkKHw+FwOBwOh8Nh4QSW\\\\\\n\",\n       \"w3ESgUPdNwwT7G0H+/OqgDXAfdu2bSHPaCPQayhuXl2VXVkWaIGsJDUuaLdle5bJXd2uHO73ww9f\\\\\\n\",\n       \"s9x3RqMhF7RasjIcyr+urUnaaEhDs57SVNJ+Xx67uBie74t33SVr990nogHz994bPi++5BLZtWOH\\\\\\n\",\n       \"3Llvn9y2f7/kC4typJNJp5PIwsIpcsopF0mv15Uvf/kL0u2KrK1J+NSyd+9jA3lx9903yMrKYc7D\\\\\\n\",\n       \"l+Xl86XdPlVWV++RgwcnVUWLi9vl1FMfKnk+lDvu+EywpKG0WiIXXfRoabdbcvfdX5U779wftmnR\\\\\\n\",\n       \"6rnoorPlvPPOkP3798uNX/qyJGurxU0dOiQL/b488vTTw3d85pZbZHj4sMjqqsiBA2H/w5tNWRKR\\\\\\n\",\n       \"WzsduWNlRYaDQQjP16IzP+5pteTIYCA3djohA6tXFu1s52sdqg1wbU3u6HRk+2J7w+29owx+1/4z\\\\\\n\",\n       \"DyoVV3ZiguPpHXM4HA6Hw+E4WRD7z8OjuYZjS8MJLIfjmCCn3JnZeTkb/676KTdY2TOP2CYKKyWx\\\\\\n\",\n       \"U64dJQa5zuq28frBNVYGg5CNhPh8JaoGZTC8Bn/fXxJYILe2leepBe1uPS/PgxVROh1pKitUPt99\\\\\\n\",\n       \"KytyWJkJ2Au7XTm3FygaObKyIvvuvlvy9oKsdAsCa+fOVE45RQ8dyv79+wJp1ekU5JUSVXv3Fve9\\\\\\n\",\n       \"urpfjhy5byITfmGhIJL6/VVZWdlnnnNMshw5si8QV8jUUqJKiS1t35WVg7K6ui9sazaL7z7jjFPK\\\\\\n\",\n       \"W+/Ivn37JOmsFTuOHJFA/5UE1j2HD0sfBFZZHqJfJCKHBgO5u9cLz6XkldaA2jT3lIHp9/X7gcBC\\\\\\n\",\n       \"YaJKycO14VDSZOP/9OishFJmqM2LaC+N+TF5+zph+dyIWNHAahaPBezUCg6Hw+FwOBzHF9xC6JgH\\\\\\n\",\n       \"TmA5HJtCVB3t/s1EXvkfGBUut+kr5DNCtHh7xfJkpPwkYvu2ZZmsKkmyQeAaD1telsfu2DFBUuGH\\\\\\n\",\n       \"7oKFBXnYwkIgtWAz0/2KHVkmV+zYIZkqsBYWRHbvFtm+fURsPOXCCwsZk25TZko/S9XXxRdcIBc/\\\\\\n\",\n       \"8pGSLy3JwZWGHDmSBN5nZUWzuhbk8su/MwidlBNSvkh5Lzzyeec9MZBXILY4T3z79nNDYZQ8kiRJ\\\\\\n\",\n       \"Kpdc8p2BoNJtSlLpbeuntuP55z823J5u07Jjh8jSUrHvtNNOl0sueJYkeoNHjhQqq4MHi2UR+beP\\\\\\n\",\n       \"fGRQXYUb3r9fRJVnuq/TkUcuLcnD0lQGSkaJSKcksbplHT5lx46w3im3jYgsEXnktm1y7oED8pmu\\\\\\n\",\n       \"nrkxrHQL8nDZzFhQ9bbZCLCyEqdDxBjWJ4jlGc5SdtvWv3MPJJk067uc2HI4HA6Hw+FwHN/webUd\\\\\\n\",\n       \"jg3hgVBPzPv9hUkqFl81D0bn6YCbpzK00xfyPhAASTJK8uESTqeUH1t0+0WLi3Lv/ffL3XffvaGa\\\\\\n\",\n       \"uOGGGyRNErmgtKtJxf3UkRrhPvF8PLVfHeAXC3UxSaYoIbURoE3g1sS2uuOrMNUn9F5ZeVQX6MT1\\\\\\n\",\n       \"kWWhjmxyU1X92nLx0pLcdeiI3H2oIMuOFl+87a6glDt/YWHUdrgn7m/YHrufUcvy81v/H/cBndGw\\\\\\n\",\n       \"3He0bavnFe1kpw+YKdU6hniwv9/hcDgcDsdJj3yTimNLwwksh+O4xKxf4Kpf6eqBKNuaYFXD5zj+\\\\\\n\",\n       \"R+dYK8o0OVOQF1MD/ZLgsMQBr1tygcuTd+6U7c2mXHvttUdfW3ku137yk/K4HTvk1Gaz9j5iJMYE\\\\\\n\",\n       \"yUZEzajoOrx6vA/ERh0BNHWv1fUPtQ6TTVU54nwdvhaTXTPBCiT7XFi39ZGmI1vgVN3NUedP2rkz\\\\\\n\",\n       \"qKb+6auT2V7rbe9PfOUWecKOHbK72QxKuzryyi7zcbYfj+oFz2728fsBchH1jqJAu8xPfM/zl5f/\\\\\\n\",\n       \"ZeZwOBwOh2NrWwg3WhxbG05gORxzYaMDx+FRKLcmlVXx5ZqzTb561YR5dnk41AE6kRsYxLMiiQmt\\\\\\n\",\n       \"cj1GXlSRGmwlbKapPGPXLvncZz8rXfXRHQVuvfVW2XfPPfJvd++eIlWqiDNMuDhVrOKIFUqW1KHt\\\\\\n\",\n       \"uRZJpuqb12MT3M1aHrnW5jinrt2n7kOJmISeg4slssw+JflidQciqa4NFtNUvv2UU+RTN31duv2j\\\\\\n\",\n       \"C03/yr57Zd/hI/LMPXumbKl1fVAi20fkFBNWsfYvlwNFPJwkK23917VFPWLzd87/zscJ7I0oq5ww\\\\\\n\",\n       \"czgcDofD4XAcP3ACy+GYG/kGjoupLY5mIDmfZRGDZi7rU/dEbHQxckM/Gw1JSlKjzkrIJAfbt/RT\\\\\\n\",\n       \"iQjNVPqr//W/grpmvdlXf/2//pecs7goj9bZDCsUN1WqHEtmjEgNq0KyajRbJ0kqwzwJdWfVVVZh\\\\\\n\",\n       \"Fat/bjOFbbeqfXy+JbWs0guf4R61jWPty6qjin0g+map7arq/Yo9ewJ59efXfWHd7X2k05U/v/YL\\\\\\n\",\n       \"ct7igjxqeTlqEWRystI6qPcfU9rZfm9UaNy+VfVvVXK2/cozKpbFvOtH81tRt161bZ5rORwOh8Ph\\\\\\n\",\n       \"cBwjVP2P+3qLY0vDCSyH47jIxKoaqFZZjTAS1s8BleLYmHXJEhp2WbN5dD18gtywlrmSsArJ4byu\\\\\\n\",\n       \"yeGtlqRZNlI3cUGgOggMu/3MVkv+8znnyBe/+EX567/+6zDD3Tw4cuSIvPsP/1DWDh6Ul593njSS\\\\\\n\",\n       \"ZHRdVlpxsUQL7wuEhj4PT+3H9WD30THDpCA2eDZBW9cc0h7bX7dt3mNte9Yez+oj28ax56R9Wle2\\\\\\n\",\n       \"Xpm4itV7WrbNWe22/NS558p1t9wm7/v0v8hwON87c2itI2//2D9Lp9OVK887f9Te3JeYILXbJ+4F\\\\\\n\",\n       \"0zZq37VTOcbaH+2cp1Hb4LxWzsmujfd2aN7pea3BG/m98cwrh8PhcDgcxw/cQuiYBz4LoeMkxmjK\\\\\\n\",\n       \"vXXu28j36aAxi2xLaRnrsxAbgCLIfRhsTlp4kG2JDTsAx768kRYDex288wAfxAa2o4DQStMJYmhg\\\\\\n\",\n       \"yAsQCpz2g6f41l27ZHU4lLd95jNy7z33yLc+5Sly8cUXj/KWGL1eT77whS/I//vYx2S4uiqvvOAC\\\\\\n\",\n       \"OafdHn0Hf5+1DTKJYfcn/Ez2+XidiY1yPZdpYsPWNRMcdsbBsTpqMkcJJAgEUbpPP/m62KfX1NuJ\\\\\\n\",\n       \"EZWx7wutRc8w8UxVz16WpNeTdDCYquvM9Grej7dKl79N23swkHd89Va56+AR+faHXywPOf3UEMRv\\\\\\n\",\n       \"0en35TO33C4f+dcbZdjvyy9eeOFEe1uiiglTe28jxRae1T6fJSrR/8s+H4jKOd6jWJsrUVcozuoI\\\\\\n\",\n       \"61ng3wlezx+ACSbqFGFOiDkcDofD4XA4ji2cwHKcxDgWJNWs70vWMTi0GTg2B8ceO1kKAmvSvmQz\\\\\\n\",\n       \"eWKqnPDZKJU5GMgzgVWl1ClVOVbdxGoYS2qwlVD3P2P3btnTbMof3HmnvPvd75bdu3bJYx//eNmz\\\\\\n\",\n       \"Z480m01ZW1uTb3zjG/K5z3xGOt2uXLZjh/zIxRcHBRd/F5Q+VSogS2pgeeqZY89O1kmuC82Usmqc\\\\\\n\",\n       \"WF3bbVUZVaFVaRmkFbZXnR/7Pmtjw302MpP/VPWMFXXBRCUvc5ujRzKBhTZ41p49srfVkj+84w55\\\\\\n\",\n       \"+8c/KacuL8nlF50ne7cvSTPLZK3Xl5vvvV+uvenr0ukPQkj/j55/gZymar+I8itGVrLqbyqsv+75\\\\\\n\",\n       \"uH1pPS9J4TpFnLV9TloIrT2w6p2ve/djvxdVvykPJFy273A4HA6HYwN/Rmz0Twn/U2TLwwksh+O4\\\\\\n\",\n       \"hB20QnGBgS/bjVhpMVZmWEtTlXWw1ysUI1p0GRlJeVqSUhi8Q4nCahXep6RCtxsUU/08HxFWVgmD\\\\\\n\",\n       \"7TyMRyyXLj92+3b5pm3b5PqVFfnAvffKx/72b6VPviudsfCKXbvk3+7ZE4gMtquBuIqRV5awYrtZ\\\\\\n\",\n       \"uAbsdPxM/MyW4CBlTt5oyHCYhfpDfcYVOPFcqtj+UB8mswziJN7GCqx5vw/32Wxkkmf5pHXSkji2\\\\\\n\",\n       \"nct17Reqlkpy1Z5N1ina1BJY4Rmol+tjPr5s7xtWVuSD994rH/qXG0L/AXY0GvKs3XsCuXl6SVzF\\\\\\n\",\n       \"LIpV7R21tOp9s7qMn73ieXMQWIOCGLbvDdoRbVbV/pPvtH2/USuxd97+LmwW/C89h8PhcDgcDz42\\\\\\n\",\n       \"YxZBn4Vw68MJLIdjU4CBJUdHVx1nLYNVdsFZoe2W4AJlUAx6h8NpSxsG0ZawYrubTgTYaqWSZ4kk\\\\\\n\",\n       \"yAPCQL7dxgHjwuu6v9eTRqczSvZpmqE5fnRswDbIhpDklSQhoPsRy8syyHM5MhgEe+FSloVZ7JRs\\\\\\n\",\n       \"qpr9rkkZWLCTNctl7MPnaFkZIL3/xUWRhYVJ+5w+E54dhAd95lrKAHeuX9QtyKIqG6e1HGLZKrBC\\\\\\n\",\n       \"XVHX0u3aNLAUsn0N6yCrlI9C28I1F+5VicokLdpZn09P5mcMLFdzvK/TKda1jvTinY409KIl4QR7\\\\\\n\",\n       \"KNqaNYdDE/aObaHdkkQeubwcipJXhwcD6ZTtvay21PLBWdUXIy25XVPahvbHvon+y33XrjOZpe2c\\\\\\n\",\n       \"NqQ/TEI9WqsgE1ox4hDbJ4kpvCWzZhmcZwIHS2TPo85y8srhcDgcDofDceLACSyH47iATYWKkVq8\\\\\\n\",\n       \"vy7wuThW83aQgWUVWEyWWCVJsZxIf6AKnTKw3aqRqgb+JeGRdbuS5flIgZUZMssO15WQIFHRhNVM\\\\\\n\",\n       \"ySq9j5203858F1NXVdkIQWJgX/hUxoefRT/5ufjZLbHRbMpgkIQ6A1nFBfU8Wb+TpJa1oLH1DNB1\\\\\\n\",\n       \"KK1CHSST5+g6yCpMmqffo+v83ZP3lgTyLrUqpJKInCDydB31Uj6EEl9Z+YAgJ9FLQafGiEs8Fuib\\\\\\n\",\n       \"hHt+ksgpeg+mre0Mg7HcK15vVinwtKKYnIyRV1ZtWBK5/bKdbVsykWVD/NlWWITVV80KGFNV1h1b\\\\\\n\",\n       \"l6XlcDgcDofDcYJB/06ac2Kf2ms4tjScwHI4HhTEZhnDZ93A1ZbYOcUAl/OQqmaqs+qfCSJLCays\\\\\\n\",\n       \"wj5oVTqkvlJSI1ldlcZQ7yEPJAUrc/o1ehModkBq1A3jbeYRCCtLZE0QVRGyS+1zEzPSWSKjzmJW\\\\\\n\",\n       \"2spUlRMjMbiObYh6TIHFWVVsE5x69mRMWlkFliUp9Xar7iG0d5aEvKmoddJuY6KyVGulnY4M1TI6\\\\\\n\",\n       \"HE7lYTUi9AzmyrQKPCayYm0da+8q8oqVd9z+gawDWRlr51i7jyYxUAKrmriqsuuyrbAgJGOWwNj6\\\\\\n\",\n       \"PL8DVW+Rw+FwOBwOxwkGz8ByzAEnsByOB91yiKF7bL9dZlilxmTyUDF4zicUI2p90sKKIM5EYtWQ\\\\\\n\",\n       \"fi4uNiXXGed0UK+2sbW18U4e6Nt93a6ka2vS7PenNGJNo57KjbKGDVZ1BJYN72ZiylrIYhazkdUM\\\\\\n\",\n       \"xIU+gxYl4vCJZ1RroX3edjvUjTRb0j+STNQv6tGuW0uZVUZZ8qO2B5VB4Upi6ScmEuRZCFmRpffB\\\\\\n\",\n       \"x+CeGo1E8nbxbAnUVSsrY0JHn13bFiSlPjv8cLqsba112e1OGOJYXcftjDYD0cXnsLZwHgKrSW0+\\\\\\n\",\n       \"RVYZC2E4Vh8e7cxtzbludp9aB8t9vdVpFRu/QyC0uM3HtkJ9J1lFCSrP5l3F3vO63wKbp+UElsPh\\\\\\n\",\n       \"cDgcDodja8IJLIfjqME6kqr9GHxmR3n9WNCzHQSnFfuGMhik0uuN1UEgSAriYkywQFRjSZfhckPS\\\\\\n\",\n       \"hlFcgQlBDpJCv0BJDnyBkhqDQQj4bgwGE0PqnIiLJKLK4SdhDoeH9jBYxmaYYwJLl1uGzMB6sJhB\\\\\\n\",\n       \"ebW0JLK8XJA1yMHCMtZ5W6nUyRtN6fYSWesUj891FyMx7D6r2OF2AkEFG6ESVbAN6jEQTfH5IKxw\\\\\\n\",\n       \"vDYTvhekle7HPehycVwirYYSlSX7os/IIV767JCGra6O2718QG3nbDCQZrmdk+DQLmj3oSGumMoZ\\\\\\n\",\n       \"1rS1ws40CTKU25fVV00mtrKsCG7XZ+G21qLrWmz+GX0O00aUlKwiKrlNi7a2ZBW/w/xp6bz15FpV\\\\\\n\",\n       \"/Y4wWTbrWIfD4XA4HI4HHuHvxw3+KfJAzS3vePDgBJbDsWHyirUmsaB26E8s4TVt+5s0UcVsRbGZ\\\\\\n\",\n       \"ycRQAf2RaU8tfGwj5DwmW2w+U7ebSFdjkLKGNOyAHoolXBDEAAiPdluS0jMFAouH4VxbQsSGGDLD\\\\\\n\",\n       \"1hbAmUgxG2Es88raCEPuld4nq61YZRQL+mYVVrMpedacyr6qqlererMqrFgeVozAQgYWtum5gBJS\\\\\\n\",\n       \"ILJgK0Sou70nJVwKB6QSnLk0M32mwfgZOdQ9tqwXL/tBonZRtRCurclQlyNtyMQV2waxvSrVKZnT\\\\\\n\",\n       \"MmoVWFZtp+RVaGu0LdqdA/q53anPDwJ5VYS3xzPjpm2F+BzbB1kliWLf4xjJxW+N/U2YR51lf0+q\\\\\\n\",\n       \"vjP2pjkcDofD4XA8QOA/fDdyDceWhhNYDseGYQksqSCsYgRVVf6NjbaGzsgeY89jVUdBFdicq6pB\\\\\\n\",\n       \"t7WzYbCeNRphpr1gL9MBPSQ9OtgHawPSB/6pkswKypxuN5AbXAu2tpjYQI4SAuCrdCNMaLAFMRbs\\\\\\n\",\n       \"PVV0JkNlb6ydDAVEhg1zp21qKxtmDelNOicr69bWM89WyMQHZ5bFAIUVE1sAVFY4DiHuILCgvGNV\\\\\\n\",\n       \"lq4XTdiQVEobIWab5Hwz3KQqlnCzqCttayWw1DJa2gvtG4BlVmexNihGy1YRlrHQfiYqp2ab1Aqo\\\\\\n\",\n       \"amcOcrf7tZ1bLRkmY/VVHVkZIy3H2VdMXlm6zpJLddtix1StW0viLJLL4XA4HA6Hw+E4fhGb6szh\\\\\\n\",\n       \"cFQillGzHlQNIKuOnbYF1hceHA+CGsYOqNnyZIva4NQh1ukUx+lyXxqSY3DPlissW/udLm/bNrJl\\\\\\n\",\n       \"JcvL0siyQCa0Swtfu6bo/oUZx7TpmGa5jPNaFdeCfVBLpsyNuc9R0efR58A+XednL4mQnjSl002m\\\\\\n\",\n       \"6kzXddnaCWP5WDZHCcTSPIXbM3bN2Dm6Xe9N7xH3qve+tpZIp5OEtp6yS+oy2ljrhNucS1lfqtZD\\\\\\n\",\n       \"PaPNq9oFn3zcvO0+qw/hU/te7D5H7RyzE5bPnWtpt0O9aD1x/bFlNFbPlszSd3GSrmPLYGw9Zguu\\\\\\n\",\n       \"+62Y9TvzQP/WORwOh8PhcMwPtQ9uRlkv3vKWt8gFF1wgCwsL8sQnPlE++clPVh779re/XZ7ylKfI\\\\\\n\",\n       \"KaecEsoznvGM2uMdmw9XYDlOcrDdL7bvaBzVVnkVQ+w7maTi6Gurpqgir/pkWyy25bnmYA2D/UkL\\\\\\n\",\n       \"1DdQ4mBADiWODr51HZOvFQ6qRBJJZRFEBiRCusySIT0Z0C/R7ap8yfNCIdXtStLpTGQhQUljTVVV\\\\\\n\",\n       \"RknGLAthGstG0hykxcVCZQSSiokLfSYQG6zOIsIjkBrNlvQ6WSB+mMjAsiWUtE5BcMXIJiajeAZC\\\\\\n\",\n       \"WAkVWpVarMUQnzhmVD9J8Z2wHkJxpccop6P3ysutViJJuyFZOwlWO1hARzeGL9O60U9MgYhpEPVC\\\\\\n\",\n       \"qsTS7Y2GNNfWwjX0UeBy1B46LNsEy1ivC+yXGbMQsuqK2z1Vi6h24u3bx8QUyDcmsNDuTFaWy51e\\\\\\n\",\n       \"OmpnFBCUVW07mXlWhLfruxh/Z2O5V/yuxxSWVW9HTHUVw3r/urM2RIujzedyOBwOh8PhoD8zNvrn\\\\\\n\",\n       \"xDrPf+973ytXXnmlvO1tbwvk1Zvf/Ga54oor5IYbbpDTTjtt6vi/+7u/kxe84AXypCc9KRBeb3jD\\\\\\n\",\n       \"G+SZz3ymfPGLX5Szzz7bm/IBgBNYDkftL908ZNTRHG8HhFWqLDt4jWXXWIXGpBKrILGyiYwlthSy\\\\\\n\",\n       \"UiRmIcRMda1WU1K1EvIshLCWIfhbUYa4j0iO0iunxEaqlkJdHg4nAtqZlLDD89hwnAPC2VbGFkLO\\\\\\n\",\n       \"RsqSJGReKaER7hOfICv402Zg2TwszUTKM+n1k6jKqirA3VrObP3btgEpRe7LUZVO9JRyJsKSNwrX\\\\\\n\",\n       \"QlYWiEoEtyPEXYudlbAIddd2zorMM8470zoBkQWrqH4xHgxTIZYkZqIX1bZWZocYNuRe8QyUdhbC\\\\\\n\",\n       \"2Ntg2zqdYSFMta0bjYKoBPHKKisuMSshrINZU3rdccYZq6uqrIScb4Y2LsgrfjetaXKe9zv2WxHb\\\\\\n\",\n       \"Pu9fbkdLYm3GtRwOh8PhcDgefPzGb/yGvPSlL5Uf+ZEfCetKZP3N3/yNvPOd75Srrrpq6vh3v/vd\\\\\\n\",\n       \"E+vveMc75M///M/lIx/5iLzoRS96wO77ZIYTWA7HgwYMYjP6rDquqsToHtYzFaqs4TCbGnRDgcUz\\\\\\n\",\n       \"0unYHdugLNExfaORymChKUlTs7BKhiX4C4u8o9HoHeyKLrMkSI9R9ZNaCQ8fLuZOVLXODAWWffpY\\\\\\n\",\n       \"JpKdhTBGbCiZkcI2aFU2IDeqSA4itdROlrfaYdZBtgmixLZVZSXFyA8InliFBYDIQgYWtoHo0k/M\\\\\\n\",\n       \"KggCC98DgZRWAfZBaafLul3XdbmhBFdJWCnROCInocCCTAw3AAUWtXNoa5CKvZ6kOlMhtTHaiM1z\\\\\\n\",\n       \"VTSOzc2qaudRW2u+GWyDaGeruLJqO27nktTKm20ZpK0JWyiUVtzelsiyqrqiffAuck+veoerShWs\\\\\\n\",\n       \"WsvhcDgcDofjxINm52rZ6DUUBw8enNjebrdDYXS7Xbnuuuvk6quvHm3TvyPVFviJT3xiru9bWVmR\\\\\\n\",\n       \"Xq8nu3fv3tB9O+aHE1gOx1FjXoshBpg81xq/eoPRrIHj4T2G+9CsgA6wmTl9sw/rkwNjHWzDghZT\\\\\\n\",\n       \"3rCFUHkpkCAFeVUSGw2R5aUlSZvlBlgGS5vgiEHB9He6rBfQdVysVLmka2uSdjrSWFubMFHVWQht\\\\\\n\",\n       \"baOWrJVwRGSo4kvvgdU1IC+gulFrGcgLXdYC0kOXQXKUuUmDRlt6g4YcOYLsqOIzVkBm2UwsJj04\\\\\\n\",\n       \"9J2VVyCx7L/hcO1xQDtbCrkpbOA7WxDRbOCd0L6jZlQLYGuxCD8HccUX4LbV/fCc6jrauexUSbcb\\\\\\n\",\n       \"lFhhhsLBQIZ5PqJyYrTNcB2zEDJxGd4oVtCxDVTbnNsWOVg264wysoaNlqyuxNuZraJVWWdcpns0\\\\\\n\",\n       \"3l37LscoXPvOWyUXfkMYMYKsDutVbzkcY7zvy1+QHdtPzEjVK866TE50fNjj6hwOx1bBPH+yzHMN\\\\\\n\",\n       \"ETn33HMnNr/61a+W17zmNRPb7rnnHhkMBnL66adPbNf166+/fq6v+/mf/3k566yzAunleGDgBJbD\\\\\\n\",\n       \"sW7YjComjPiPeAwGeeZB3sd2w6p1vq6ldrAtpujoUyLQQPJ8IINBKr1eGgbUyjEoBwHSCjYzOMaw\\\\\\n\",\n       \"D/lYBcGhGVqp5EkmTT1IB/+QCYGFAXSZcpGKX5sxyZHocmnHy1ShMxiEmQozJTiMtczWJmpUzCyE\\\\\\n\",\n       \"o+UsC8SVfia4TzwYK3HYWmZtZkaZky8uFuRVnoXgdgR5g6hCiRFUVtEWs6NByMbqqyoCCxwSc0sg\\\\\\n\",\n       \"nsAVAlgH3wh+EaorJie1FOcUzyct7QRtaSyWsqLQCKVtEAwnWDdcGCQmpGB6z7AjartoDpoquwYD\\\\\\n\",\n       \"aZRtbdOfqtpajFU0tLe2sfYn/dTv4NkjQVRiWYkpJrSqLIWtlvTyhnQ76QRhxe1rC6vvuG01f66w\\\\\\n\",\n       \"D1pVJNN2dmbCqoy7Opuh/c2wvzX2WCBGEW9GAIXD4XA4HA7Hg4evf/3rsmPHjtG6VV9tBl7/+tfL\\\\\\n\",\n       \"e97znpCLpXlYjgcGTmA5HJuWbcUkFJNXs46vWo7pUqqOwSCZia7J9cEgmcpiYvuTDRhXPgDEy5jc\\\\\\n\",\n       \"SiRtpZIFK2G7CPqOEVjIRQLJEX5tSpaEFTtKapSsTq7ZWIihz/OQl6WfeFqJqXJUZVUSJUFxlSQF\\\\\\n\",\n       \"Ocb5TSCw9B+uWFA3Z2BZ62A5E520F2QgDen10ynCImYZhLLKzjRorWasvAKJhaLB3zFoThXIKj1O\\\\\\n\",\n       \"HxekFcgpVmCBW4LirkqJNyYqYSfMJNX9ba2HbiHJhl0UpCRuHEwZArk4TR7trm2jRJPaCcv+oWos\\\\\\n\",\n       \"LYrhOtpbP0NfaTbH7W2zy5jAsjNJVlhFg0W02ZL+IJ0gKq11sGomSZt3VrQhv49VMw9WZV3NshRa\\\\\\n\",\n       \"sqnuvy1nnVt3nsPhcDgcDseJYyFU8ooJrBhOPfXUEDtx1113TWzX9TPOOKP23F//9V8PBNb//b//\\\\\\n\",\n       \"Vx7zmMds6J4d64MTWA7HppBX9nhZR5g71FQ82I2dywNfWAxtkhD0SLyuxFI/EFi63i1DqTnMG4IZ\\\\\\n\",\n       \"cAG6jEwsECDghNK0IQ0N+l5akhxqKhvCBGYFMh/9xBRumB4PDEoZvBWsZgh/R2B4SX6FoTb9gxZI\\\\\\n\",\n       \"KzAxfINg2jiEHEHduk6zy4ViVTlYLy2EgbxaWJBhe1FWD41VV2oh5FnpVlbGRIfuB8GF/bHZB+MK\\\\\\n\",\n       \"rJzyr2IEQzIheFIyC4QXmiH0FBK9WUKLj0dTQXEHgGccLmTS2L4gab9ftDUugM6CC6OduRPhomBB\\\\\\n\",\n       \"tS3Khw4ElrZ3vx8Ky85UicdtDbJq9AC4NuyKaG+yqIZP27bc7rALwipKbT3I2tLpTJJX3NYoVpk1\\\\\\n\",\n       \"TWzp7INQQ3L+lVVkxQgt3l71m8HqqfXkXx3NH4ZOYjkcDofD4TjG2AwR+DrOb7Va8vjHPz4EsD/n\\\\\\n\",\n       \"Oc8J24bDYVh/2cteVnner/3ar8mv/MqvyAc/+EF5whOesMEbdqwXTmA5HAFM/hwLcL4VYsthhhIT\\\\\\n\",\n       \"4s4WRVZRMTE10iqZAS329SkhqDeyE+a5kleNMPAGR6BjfSh4wPuMfiDKXwhY1sBf6LnbNA8ryYrA\\\\\\n\",\n       \"bKisQC6wHxH+RJALSAxHQBSP+kFg2en41HZmqxSECcgMKH1AZlgCC8QGFFnIP8J+m5O0vFxYB7O2\\\\\\n\",\n       \"rB4pSCuQFlqwzplXnI/ENkObjxTLwCrqFZYz9JkYChJrOEzD7JJQYvFshWhbmgQygI+1vKMCx+k+\\\\\\n\",\n       \"VL9aChcXliVrNkazC47qlplOZGKBlEQdozK0XuvZu3DtMMulBYhRlpRZAstaCHmWQRvejyw0EJqa\\\\\\n\",\n       \"edVakGGjLYePFIQkiEq08+HDReE+ECO1CrWWEpFsGdR3kNcteWXVlDH7YCwfC78XjNgsh8cK+B6H\\\\\\n\",\n       \"w+FwOByOEw9XXnmlvPjFLw5E1OWXXy5vfvOb5ciRI6NZCXVmwbPPPluuueaasP6GN7xBXvWqV8kf\\\\\\n\",\n       \"//EfywUXXCB33nln2L5t27ZQHMceTmA5HJuCKusgBqU2GyuWdVVlH+IQ+NhAl8PebQEBVgx+9X8V\\\\\\n\",\n       \"wBkoDwAuARwTxDIgq2AftOSWqmI0E2tBZ/drL0iyVE6hB0Clw/IffAlUNPpl+GRGB8wJgqB0tkJm\\\\\\n\",\n       \"Z2KkBggsKIFAasBCxgosqHCgzEHwN+Ve5eVnX5ohN4wVNyh25sFYUHts1kFsH+ckKdmhxSZC1UHJ\\\\\\n\",\n       \"SFjuUun31VZYZk6Vzk0Wqeky7gFAsD8EcVBrWTVWwUmm0kyb0lws2jZ8E+yhHN6PdtYK4rYGuche\\\\\\n\",\n       \"PPbaEYEVJSvxILhBJknRMUFgod3tzIKswGJCS5WEahFNGtLppiPyyoa3M/dms8yYj8PnZPZV1RQF\\\\\\n\",\n       \"MWthzB4cy8Cq+u3gfaMX0lSovY7D4XA4HA7HgwyeiWgj11gHnv/858vdd98dSCkloy677DL5wAc+\\\\\\n\",\n       \"MAp2v/XWW8PMhMBb3/rWMHvh8573vJkh8Y5jAyewHI4NwxJSVcHtsfPsJy9zUDsTVHZfamYgnJ6F\\\\\\n\",\n       \"kPf3+3kYZKuyxoa4WyKD7YU6mGd1ViA2ljWDKJVscalQz+AHniVbCiYyQDzgi5npARPAWUucUg4w\\\\\\n\",\n       \"O8OsC0gsFCiBUEBS6TKsZGwrU/IqqHSWZNBYkG4niZJXTGLFsrBi+UhWeFRsK8ircftY0rIqDQp9\\\\\\n\",\n       \"TknJRlBjFRxfEp0UUoGqR/XxzJQc4g4X4EQ7q/CqrWRlJtliQZwpiTmSffEXcVsjbIvbJRYaRWTl\\\\\\n\",\n       \"VHq9ZeNwXajAuN05A4sJLJBWrMxS4gpt3WxJr5tNEFZoY0tMcrFKuuKR8lLJFrMIsprKBrrHPqv2\\\\\\n\",\n       \"xX4v6nT3db81sX7mcDgcDofD8cAi0SjVDf5JcjTnq12wyjKoAe2Mm2+++WhvzbFJcALL4TgqxJRV\\\\\\n\",\n       \"sWPWk4XFeTa4bhWJhWUmO/R1ZjKE5+pjcqsrnU5zpNgBH8BipnDX5TrPcKcFXANsZgsLqSwvLUmG\\\\\\n\",\n       \"AHUmqZQB0E+VtVgrGVsIYwQWWwhDVQynQ8LZSmbDuvQ+LIHFs9Ppukp9sYxcpFZbhq22HDk8VuAc\\\\\\n\",\n       \"OjTOuYKdDOQGbGZ4PKh18Hh4ROwbK7KUCGK7l52JzvaLxLQpbKQFYTkcJtLtNkYZ+XDijTO1RgKn\\\\\\n\",\n       \"UY4WeEJUMbgkBVc/Jh/U9W3bFov/ieLpKrVNMWWlkkNY1rplZk+3x9qZraNVbc0WQnzvLAKL25aV\\\\\\n\",\n       \"d2U+VlBeNRcnMs3YKso2UWsZrcrE6na1MnuUfdU3VsJ+hTWwyj4Y6xOx/rGe35gquB3Q4XA4HA6H\\\\\\n\",\n       \"w3H8wgksh2MurIeMqruGDVq31sIq8kpM0DvOR16QXe+bvC3OFcpCdpLaznq9ItBd+QNLYDG5xUIb\\\\\\n\",\n       \"8Ay6vSBjijpZbLelsZhJhmwqEEZQ40TCvEcBUUxgsRoHyzEFlrUPMrnBsxByAYHBBFZJeoS8q8aC\\\\\\n\",\n       \"9PJMOoeSCSJDyStdBwkFmxmTVFadYwksVmSp6qogr0BmWAvZeggs5KeprVCrMQvkJEhHTB4IoDq5\\\\\\n\",\n       \"LaGyQ3XjPJBZsCAWVkWRdqspTQ3yR93jYeFHhLWPvZZWosZWUWsjrFJgcf4VSFImsJS04hkJbXg/\\\\\\n\",\n       \"7KTLyzJotqUvDVldSUaEJBNVILDQ7ugHMSvpWFCG4PZBSVaBsBrUZGDhd4GJLbYMcuaVzb6yKipL\\\\\\n\",\n       \"hB0PaaoOh8PhcDgcx6eF0HHiwQksh2NukoqtgrP222Nj2Vj4tOqrmDUI+1BiAe5MeNmMLM7C0oGy\\\\\\n\",\n       \"2s50wN2YsAnC5WVnKAw/Fo1i8A5hjA0BT9NMhpiAbkmKwG8OWmevIogMLIPEYGKDCY2YrYwthExg\\\\\\n\",\n       \"xWyEILRAYJmg77zVkkHWku4wCzlIdmZBOxsd515xrFPVjHRQXBU8DfKuYjPRWfKhisCC+o/7TzEp\\\\\\n\",\n       \"QEFWFQRXoawrzmFHJ5oE1YjcM+xDsylQrazEy/NM8pYe2JZssVTe6QmQf3EnQt2D2GL7oCWwqiyE\\\\\\n\",\n       \"ViIYy9eyCiwmKmERVaIyqK4KorLXz6byrmw7Yz1mEeVSPIIlqaoyrmKKq1jule0HMTvhrCys2O9U\\\\\\n\",\n       \"3f6qY2P7/I9Eh8PhcDgcm4NEI3Q3+P9vGz3fcfzDCSyHY1NUVjb7CoQCYNVW9lzeH8u4sgNXKKyg\\\\\\n\",\n       \"xsIgGSQHk1cgrqDaKdQhg0EzkCmFyioZERechaQD+nD3pSqHY49AeIDQUrTbmchiKumykkdFaHfC\\\\\\n\",\n       \"dkIQDRj1Q42lJAbIK85E4hnpIAdSWCYGhAmsbUxsxBRYzabkQaVT5CQNs6Z0e6msmFkGQUjFQr15\\\\\\n\",\n       \"H+dh2cykgtwoyKtej/PIYhlIMXKCYTPOuG+MzxkOs5CLVYROFvZCCJnADYH7Azg7y7YtrKNaoNQa\\\\\\n\",\n       \"DFKRpaa0FxqSan2nBamUgKRCnaMytL450R62QW573FysrRU2ad5aVq1llBR3OT5bC0F5uLqWjCyg\\\\\\n\",\n       \"3LZKXHKQu83Dsiq7YjkPn0Vwu1VcxYjKKgIT58cyr6oIK6vEshjWrG+EgHICy+FwOBwOh8PxwMIJ\\\\\\n\",\n       \"LIdjQwCBVKfaWi8ppgPazBATTEzherwP94KBP98TZyXxesEXrK01p4gom4WEuCJwSli3M+4pZ6AD\\\\\\n\",\n       \"/m3bEmm1FqWx1JamEge6EdlIsA0i+8haCK19kLORZs1MFwv3thlYsJm12tJPVIGWSIcICyhumLhA\\\\\\n\",\n       \"RhJun8kt7ANPE8vAKggfJidiBBYvoz1jSE07NibalPPZOp2G9PvphIIKRFT4hiHPmjcWSOE4nlVP\\\\\\n\",\n       \"mxHNNlalJUXUVKslraWmNHSlW3YIZvmsdTCWdbaetubsM1Zg8ToysJSs1Bkl05b0h6l0D4scLttP\\\\\\n\",\n       \"C9tD9Zk07wy3rtt1P9pdrYZoX0tu5TlbBrsmA4tLbw6FFtalQqVFBN+mkE1ORjkcDofD4XiQ4RZC\\\\\\n\",\n       \"xxxwAsvheMCzsDjTyi7bTCzOvAJphU9WVSUzFFg21L03WlYlTa9X5GVBpRP2lNYyVmCxSkc5Anb5\\\\\\n\",\n       \"KQqyo7hAEMM0Uxk0mtJUVVarX6hzkDDOShywZExgVWUixWyENty7QoGlVsG81ZaBZNIfpNJR8qpT\\\\\\n\",\n       \"5IBZkgrkBOdescqKSSuQeKzMKR5HM5HYMsjqHJt5xLMQop/EFFjcB20+mrUUajUW+VjdriqyJhVY\\\\\\n\",\n       \"aFsI2TjrDCQWtvGEgSyU07yt0JR9JbIyaTQWJGs0JYUyjv123O64QJ19kNuaLYRMYEF9Z5V3pTV0\\\\\\n\",\n       \"mDakN8zC83d7Y9UVE5Cwi7KijsPZrbKOCU5V1Y1zr0BQDSIh7lUqLH7PbaC7VVnNyrzarPwrtwY6\\\\\\n\",\n       \"HA6Hw+F4gLEZ/5/mf8JseTiB5XBEfzmPRQ4Wb+PviWVe2ZyrmG0ops5iSyHsd3qdrCITqy95ngbS\\\\\\n\",\n       \"KUnyoEaCSwvRUjYLSQG7IQtmxtay8XK/lchwoSF5uyGNRhZysrTIoC8JSAwmsNhKZmchtLDh3pyD\\\\\\n\",\n       \"BVKjzMEKxFXWlGGjIcO0Kb2+EjpjNQ2UOExiWGsgZ18xkWVFRmOxUR7KJLkRs5dBfWXtYPkcBBbI\\\\\\n\",\n       \"yEZ5bpGDxedyGLtaRTH7JNsEYQ/l2SY5rB/WUW6KaXJLr50FG2mu7dzSDK6GJM2eJFBHsdrOMmGx\\\\\\n\",\n       \"sH7b3mhfto4ygdVoSB7WGzJsKnnVlL6G8vcm25LJSNgFuT1t9lnMHjq2hnIgf5VlsM5KGCtV731d\\\\\\n\",\n       \"9pXtM55/5XA4HA6Hw+HYWnACy+GYAsijjWZh2evMshvyNayyhq2CfH22EmW0jmV8H4gNXJNnJUxk\\\\\\n\",\n       \"MNDw72KGuUJ9o9umZ7HjmepgJ0SBpVB5BFjOYDvTgX+z2ZBWqyGL2xYkHfYl18BrSjlP7Ex0bC2L\\\\\\n\",\n       \"kRoxW1lJauSsxtKAdp15MVcVziQJwS43S1CplYwVN6rUwbNYdZa9JjKvBgMmNmAdY5tYr0ZJUweQ\\\\\\n\",\n       \"V0yC2v4xqeYZDBrBUqiKMMwmyFySdW2y1ZD5RaxzHjvcmWj/ViuVdrstrVZbsnao/bECazCQhHOv\\\\\\n\",\n       \"5rGLMlHJBFaaloQVKbB0MoG0UZCTNAMkh7MzcQk1llXexYL89djivLwkxEBe9SpmHWSrKBOWTGRZ\\\\\\n\",\n       \"YosthLY/zNs/pEaxFdu3HvB1HA6Hw+FwODYHSZ6HstFrOLY2nMByODaMceZQ/X47ixwGolBHMQGB\\\\\\n\",\n       \"a/FAkXOOQE7xeSClElL0ABwoD+D7C5Itz1WB1ZQsK2ayg7WMSQ4Fxxfpdh3cLy8X65hojtUtiCKC\\\\\\n\",\n       \"s6/Ics8kSzNpNpvS2L4oqeR6B2M11jwKrFBN0wSWEhp6tYFa2waJ9NYKiyDPCsjEFOx/rLhicovt\\\\\\n\",\n       \"hVXEF+/TZbUMFoHe3QiRMZwzwL0OnGtW2D/H/UF/1gvb4LivFQqtgidSxV3RH2wVM2cIYgptjxx2\\\\\\n\",\n       \"3ccZ6XocJnscE1hjPqnZTMvSkEYrlywp27qKwKp85IgCS5V1OvOiqI0xkV6nIF77g3HUGvoo1mPt\\\\\\n\",\n       \"NSamJtsaBBaXMQmq5BW3b5cILHzGChNXvM5qLX5HuaA9q3KxYqTVrL7kZJTD4XA4HI7jAJ6B5ZgD\\\\\\n\",\n       \"TmA5HEeFea2ENjPL2gOrjhEip6xtUIy9kK9ng9w5X0kMwSUmH0sH5Il0u42S0EhGXEFYo9noEPgO\\\\\\n\",\n       \"7gHKLA4Eh0oHZAjcXrq92Syu3WoVlsUszSXVkrQkzYrnShuqvCrqI41U9TC4zRIJjrgklWGeFvxH\\\\\\n\",\n       \"LwtkxmBYkBkcv8RZ4rEZA0FyYNmGsfNx1ko4zrxiNU2MtODlKoKCSQzbP4RC/tGGaaRPsZ0Q10mD\\\\\\n\",\n       \"zU9VWN1usZ/D+5lDsvZQbUvmFtHOILRAdFoiS9u6cBAWba5t3WjoiSJp0izaORtKEu6juq3Ds2if\\\\\\n\",\n       \"K8m6YZLIsKezLRZtjfbFfRT5VGPSsoqA5PbkzKtq66haQ5WgrFJYsfqqX5F1xmqrmC2wyk7IfURq\\\\\\n\",\n       \"bIOWBJ1lLWT4/1w6HA6Hw+FwOI5POIHlcKwb683BEnN8Puc1xCisYjlZnHllLWQ5DZjZXsjqHdgL\\\\\\n\",\n       \"cd0iD0tJDhBWIDlAZjGxATKDSQ2sI6sbxBbHICFrexxhpHlJOnNhETSOwjFXFvgeOAyhHgJpBXIN\\\\\\n\",\n       \"pBrUNzElFpNUMQKLQ9uxzMTI2lphGVTr4LSFjAkLLFubGM86Z8kGJi1j+WrIOON+xQRGGtmXheD+\\\\\\n\",\n       \"cT5WcS3UJ/KwuJ1BDOEcbTfUMVtJmaxU9R1PElgI5ZKSzCpmR0S/SklYZcHxWOw0tO3MbY32sQSW\\\\\\n\",\n       \"nSCRyUlYCG2/AHFVbEOuWZW6ala7V9kGLWFl3/lYkHvVb4c9JqbMmnUNh8PhcDgcjgcQm5FS4H/C\\\\\\n\",\n       \"bHk4geVwRAFiKF3nOXXHx8gsayOMWQpTCl3HJ5MRuDarbaCsyisIDiY1cB/jfzF0gL6y0gzZWGwz\\\\\\n\",\n       \"g8oFVjJdV2ICg322ksE2qISAWs2YsJqKLSIXIPaFpyhJLF5mYoXzmuYhNrSwtQxklSWmcByUVdZ2\\\\\\n\",\n       \"VuRc4fw8lEKRo6VriIsuta1V5Fgb4bwEFttRQU5m1HfQvjiWFV04Vp9B1VhjJZY+E8L52UJo212X\\\\\\n\",\n       \"9TjUGzKw0LblJIChniaJyvHkgbEIMxCVsbbmZc5dY8ujnegQbYm2YzuhbVsmLu2+sRIrNzbBLi1z\\\\\\n\",\n       \"/lWM0GKiMraNycyYCqvOMohlOcb2wXnztxwOh8PhcDjWB8/AcswDJ7AcjqMCD+JiSqp8BrllA97r\\\\\\n\",\n       \"gGNjFkKoqzhjCyQX7oPVVyC0euZa9p71p0EVJ62wVoS8j+1irLqCEkeLLkN1BUJLSxHiPraVYcJA\\\\\\n\",\n       \"VuZgZkMQGlaNAyIr3Gk+SWrEwsdR9Ls5x6nKZsYKHah0eB/WWZVVhLUPiLwCmWHtZJbIQNtVERRo\\\\\\n\",\n       \"D24TDuUPNRKxDSIDi8kPEFtoc5BcRTtrVpfaCYfDwnqp7cOKuljbol1RP8g2A1GpBcQW2lkJLiiu\\\\\\n\",\n       \"UJjAmtXWRT8c3xsIVKyDrMJ9s13Uftq2teTktCpP34WcCCubeRVr+5h11M4+aS2lVRZCJprydf7X\\\\\\n\",\n       \"ZZWqK3burOs7HA6Hw+FwOBwPHpzAchwTdDodeeITnyif+9zn5DOf+YxcdtllJ2hN11n9YvusfZCX\\\\\\n\",\n       \"mWiIWQp53e6zOVeW2OLQd2sp5Mwriexjz9ak6kythIWlsMhYYgshFDIgFazNDOosLVgGaQCSo5w0\\\\\\n\",\n       \"cERkgMCiSeYmyIwqaxkTGXaGRHwnCKwqNRZIqRiBxTlXID36fQ1Fz2U4jM00aEkraxlj1U2MsLD9\\\\\\n\",\n       \"gMHKPPQPXgZpGSPC+JhxHyvqS9tZicqi/cf2wsm2tQookFtQbqFtbVvzMhNXIC6rrKLjvjg5SSXa\\\\\\n\",\n       \"GPeANmbFGGef2Twsbku0LWdejZVb2s6aeZXPYRu07cwqO0tUMdFU1Q+sdTDWjlWWQ9v2tk/F+tcs\\\\\\n\",\n       \"cszhcDgcDofjGCH82bLBvzf8z5UtDyewHMcEr3jFK+Sss84KBNaJCyYD1nOOzCC9JEJksWUxRkix\\\\\\n\",\n       \"1c8GuHNYO3+3DY63Qe6AZQ0mrYhqMVOiRlVYihCQXhIbIA6gfIGFEMonXcdMdZyFxBlYZlK5Eawq\\\\\\n\",\n       \"J1qbFQosJrAsmcUKLFgBOSMLy2wlG+/LR8vFLIPDCutYvybEnUkMawPjPsK2PwZnlrHyCmQkCA8m\\\\\\n\",\n       \"PGOECFCsaxh6MUNh0c4FGTS2FkI9V/SByZko0bYgs9CWlrTiZavAmkVW4p7Q9xR20kqbgWXbNkZW\\\\\\n\",\n       \"xuyFBeGVh+UilJ9tf2whHFQQl9hnLaKW3LIkJhNSvH/cTpPHVln6Zv31No+90GKjoRQOh8PhcDgc\\\\\\n\",\n       \"NfBZCB1zwAksx6bj//yf/yMf+tCH5M///M/D8tbGeggrm6sF0oIJCc5BwsxyVcewAguwNkW+t7SC\\\\\\n\",\n       \"+MCx+h1NWkfRn4lGIAiOHGmM7GBKVoCkQu4V2wSRb6UEAWyDWpB/BPUViCoosmx4+ywFFkir8GT5\\\\\\n\",\n       \"WInDeVggMpjksASWVelYC5o+R0GgDCM5V3WqHLQzq3GGNQSWtYtxH+LcM7QnZhtkUpSJTnzinmAp\\\\\\n\",\n       \"RWHLYTFL4epqS7rdNLQJyCvMLIjPWNsiG4vJSdvu3PZoW5uBFQMH9jNxiXZF26Ltud1ntS3ILM4+\\\\\\n\",\n       \"K1R9TFjFlpmogkXT9gNss7NTWnthlRJPIvtj5JUlPOvsqFO16/9l6XA4HA6Hw+E47uEElmNTcddd\\\\\\n\",\n       \"d8lLX/pSef/73y9LS0snae3OIrXsMay4qiPC2ErIygyJZGDhWvZe+ma9YZQ/dsbDyftVG9VgkMra\\\\\\n\",\n       \"WpHf1WgkE2HabNeDMgekB1RXSg6AtGIyy+YigcQCoMaKBXvzJ98Pz47HBAeWmbhgyxkTHcVyMfNc\\\\\\n\",\n       \"obpi9Y1VWYHg4EBuayerIiJixIVECCvezv3GElZ8HghKJi5jdrQxITocNsJMhZqNZYkiblvYQ60C\\\\\\n\",\n       \"iwlKkFhMUrJt0JKVvMyKKzsToQ1yhyKL257bd5YaSxV2OqPkcBhra1ZexchK2xfqCCuryoqRVza7\\\\\\n\",\n       \"KgZWZsbe26pzXF/vcDgcDofjOAP+r3+j13BsaTiB5dg0KLnxkpe8RH7iJ35CnvCEJ8jNN988d16W\\\\\\n\",\n       \"FuDgwYPHWaswsTPvMfk6bIR8fB5Zxn5LSlStgxRjRYbN5Upq7IT1ofRKaBTqK7WbFTYzBSyEnJME\\\\\\n\",\n       \"BQ/yrzi8XT+xLWYls/ZBXmfFFatyQGTYIHcmM3gblDZYBgGCdbWRaVFiI24XqyIt2CLIpBXOkTky\\\\\\n\",\n       \"sCbrfZp04D7C5BWujba0Ki4ms7gPcj9CnRZtXWRjFQX1rO3Bdk2evZAJLCauLFEJ+6glsGJtzesx\\\\\\n\",\n       \"6yi3L4e5W0uhtYqOlXhKUmpbM/EYU1lVtXcdqVVFXlm7YNU6F/SFGAFp98UQJ6fr4YSXw+FwOByO\\\\\\n\",\n       \"YwufhdAxD5zAcszEVVddJW94wxtqj/nSl74UbIOHDh2Sq6++el21es0118hrX/va47glmAw4Whsh\\\\\\n\",\n       \"kwy5mTnQHmuVM2wT5GW7j1UYDbIf8veAuOD7suuwDQIYnLcmrIa9nip0skA2YHbCXk9VWZO5SDbz\\\\\\n\",\n       \"Cuobq8ICoRFqsiQ06jKwQFxhGcQGB3uzMgwh7qzOgsJqMuBdSQyQWTrDIIgHWMRigd3zhnlXKa4s\\\\\\n\",\n       \"YTEPWL2H/snL3JboJ9wPub9ZBRar/ZrS76uFNA2KrHHbJlNB7bAQgqBieyGr61iBhe3c7lUAYYV2\\\\\\n\",\n       \"t1ZRJic5n81mYo3thTq7YEFWKnk1TVQNInZRS2JZpVZV4Xq1SrwqInM9Sj20Z3gj+E2Z0Y9m9Tf+\\\\\\n\",\n       \"TXI4HA6Hw+FwOB48OIHlmImXv/zlQVlVh4suukg++tGPyic+8QlpayASQdVYP/RDPyS///u/Hz1X\\\\\\n\",\n       \"Ca8rr7xyQoF17rnnboGWgRoqWcexacVg1Kqk2EKYRFQ4GCSzIkcqVBuwHWb0k8CKoYzCwVvlcr/M\\\\\\n\",\n       \"y1J7mWYmKaGVjNRVIC6wbpU4VpFjFVich8SqHCYv2E4WntCEuPM6B7pblZW1PxbHqYWsTmHD5IXN\\\\\\n\",\n       \"OIrtm0VOgDzhtqkD9yu0jSWwsIw2RtZVSudw26K/oB+gFPdWzEhZtHeapqN21fpEu+mrj7bVPqBK\\\\\\n\",\n       \"pyoCy+ZeWdsoyCxW23E7x8L7mcCK2QiZuBxbS3PJcxvIPiTyqoqchDqL25lnHGQrKauvhjU5aHVk\\\\\\n\",\n       \"VqxfVBFZMbh10OFwOBwOx3EMD3F3zAEnsBwzsXfv3lBm4bd+67fkv/7X/zpav/322+WKK66Q9773\\\\\\n\",\n       \"vfLEJz6x8jwlvCzpdfxhlspqnmNi1kHA2g+r9lurEOcggWyK2QdZQdGPWAhZ6lRlXwRAeozvobCV\\\\\\n\",\n       \"aV6SzlpYqHSazUKNxYqsGHnFsxCyrcwGuOs6yKpRTUUILNjJ2FIYI7CguiqWC/uYElfDoRIaMVIK\\\\\\n\",\n       \"hIS1ELLlLKa8qgrgrlNfzVK8cPYVSEtW+PEy20ZtW/IxuAaTIqziKu5TrcKYrRCfWVaQl1q/aFOt\\\\\\n\",\n       \"79jMg9qmbBu1BNbEU5o2Z8so20WxXkdijYksbWuQlMi64gB2JrNiofy8bNueySxLVlkii8mrOrug\\\\\\n\",\n       \"bafY70PVOXWY1zro9kGHw+FwOBwPAJzAcswBJ7Acm4bzzjtvYn3btm3h8+KLL5ZzzjnnBK/peQms\\\\\\n\",\n       \"efcz8WSJLbaG1V2PLYT4hPLGqrbsdfr0+tt9VQQWK4VYqVWQJRr6XSiy8imrGcK8YSurUuIwoaWY\\\\\\n\",\n       \"NQuhJbBi6qtYFlZxnN7nWIUzTUZUqapiCqwq8qqKxBJDZLBNax7LFvclzj+zGVjYjpkHY0SIJbCY\\\\\\n\",\n       \"sBhE1VqqxlIlVqFcS0fEpNZ5mhZkFmeexdR23PbrbWsmrKqUd2wXZWtokWfG7cLkJFsELYkZs4fW\\\\\\n\",\n       \"2QVt35ilwJu33avUlMBwE0ksJ7AcDofD4XA4HMcPnMByOI4pmByYZRvkY0Fi5UQg8HIdOWW/X8jG\\\\\\n\",\n       \"lhryiZVUIKestSyLrLPSBJbCgsCCDa3fVxIrkyRpTChxNDC7SolTZSurgs1DqiM2mMAaK3lASODZ\\\\\\n\",\n       \"q8iKPEJiMTmB9dws9yL2MEtgiPmsIibQ1kmErEQfskQmq6pg++QZCwfUJ7iNsQ92QrQz1rlPKJGV\\\\\\n\",\n       \"BEKr2y3aGm3L1sEqotLmnlX25DnsotXKO1XVMZHEnzHr32DOffkM66j9LiYy5yG1BpFlqSC76uyE\\\\\\n\",\n       \"s4gxh8PhcDgcjgcZrsByzAEnsBzHDBdccEGwG20d5HPkWm1EqVWlvoopq9ZLYNl1EBU4HwNnthLy\\\\\\n\",\n       \"YBmqKyY2YC0DCcJkCGyJWcgXUnJDZ7ArZizU4PekUomzEQUWW8p4proi56iwvxXF2rlADnD+kSU5\\\\\\n\",\n       \"LFlhSapY7tW89kGpILBiSCJW1EFEicXL3J+QcwVCE23ZpOswUQlykusFRCUIsWJdCUG1kCaJ2kk1\\\\\\n\",\n       \"5D0Jy7AYcs7VesnKmAKrWnlX1H1BXHHbWELS2v1i4ezcllUKrLyinwznJK9mqbLyGSqsqdqqrsjR\\\\\\n\",\n       \"/rpjqqyKDofD4XA4HMcI9v/oj/Yaji0NJ7AcjnWBB3Tr+YUFORU7P2YhjClvrE2MB5j4xR9Grs95\\\\\\n\",\n       \"WLwdtjIbHp+Q4oYzlvCdID+wbgkRkB+TZFeeaz5WcT3lFJJEyQ0lsgoyS7+rIDewPqnI4WUmMrgU\\\\\\n\",\n       \"hEVxX0VWk5SfIDKstStGZFWprGIqrRgZ0Z9BWFVtixFXVf0Ay5bQtG0Vy8VCG4GQ5HNs23J/tMSY\\\\\\n\",\n       \"bXOQmEpaKplVEGdJom2vCq2iXbV90dba9iC0OMA91ta8jHZFWxfEFcjJYn2aMIq1YRVZWWUJrDqP\\\\\\n\",\n       \"SdAqC+H/396dAE1RnH8cf94XBS/wQkAQFAmKiqJCIF6lRiIaywqJUcoTj5BoiYKo8YxHTIkVj+AV\\\\\\n\",\n       \"UROP0lgaY0yiEjyIR7wVNSUaMN5WlMPEA02V4Lvzr27/jQ9N98zs8b47u/v9VL26O9fOTg97/Pbp\\\\\\n\",\n       \"niRwvvjtHwquQn/63PCDptD9chBeAQAAoJgIsICyVVJlFbqvb/sBUhLo4qeDBN2VzB/3yH3jd9U0\\\\\\n\",\n       \"epp+jI7Adt08/QXb71qmv1zrqiu/m5kLx/Ttr/bHVOd8XRXknuPXYzCFupOZ7mh+9U2oK2G+wEhX\\\\\\n\",\n       \"SYWqpkKVOX5lTSgAC203az/0fic5fkLyz5W0yqu0AEof826BoMvtX2h93S1RV+G59v666uur4FJf\\\\\\n\",\n       \"GbEts611FZ7pApjd1uKFRKFjrdsl1D3UDyCzKu/0fH0O6HNIT4tVXPn/pvxAc6Vnr24nkYosf72s\\\\\\n\",\n       \"+z4qrwAAQNdrSxL7V+020NwIsIAuq9Lyq2UkMC/UTVB/oWyPdBvzq25C++K248ImXXnVHggq9JhX\\\\\\n\",\n       \"LqQqRQIrV2n1ZWD7q0XCi9Dtr47ZVxU7br/+/9n6hWSrHBt92y0cCox0QOC6/5UC90PjWoUqaPRy\\\\\\n\",\n       \"aQFWKMzKE0CEzpWvjtPXQaQeNy0WFvm3dbu7LqI69HTt7o+rpR9v9f9/vv59fwwufV9UaKnb+utz\\\\\\n\",\n       \"PtzWEjlOpZzHO9ZOoe6AsUDL/78OzULbL5XZbdAPr/yQM/bcQ2JhFh/sAABAATEGFnIgwAIqooOe\\\\\\n\",\n       \"rOWquXKhX20lkYBKz0ur3NFfpF2I4O7rYMMPhVyFjgux9DS3TRdU6dDL7+YWCzV0YKf3w/+/f+z8\\\\\\n\",\n       \"Y+BXpeSpgAoFU34QlWcMo1C4FQsnksj+6ufj3/aPgz5eOtRy/0+rvnK3XTvp6itdkeUq5Nw83aVU\\\\\\n\",\n       \"dxfV92PBmZ7myqpWDi7zt3Uo9MsKK2NdCnVYFZsXq7YLVViFKsH88yd0foTC5nKCzWrnZwViaFZX\\\\\\n\",\n       \"X321XHzxxbJw4UIZMWKEXHnllTJ69Oh67xYAAMAqCLCAiuX5wtiWMi3P/FAYkafiwg9JdNjhqqV0\\\\\\n\",\n       \"mYvf3UwHV/7z1VVgLrDQIYT7Uu5XBbl1Y8GGDjD8oKY9x5ftUGWKDi7yBlihCpq0qis9399G6PFD\\\\\\n\",\n       \"7ePvv3sOIbraTgebfgWf365uHR1Y6Xb1Q1kddCWRij0dWmWFk25MNT+0qrat/bDIb1u3fiyAjLVt\\\\\\n\",\n       \"aLnQ+Fah8Co2vdw/v33Swk0pc34I4VWrueOOO2TatGkyc+ZMGTNmjMyYMUPGjRsnCxYskD59+tR7\\\\\\n\",\n       \"9wAAraRkBslNqt8GmhoBFtDldEigK190aKRDB13B5L4c69DIbUdXOzm625f7Qq27iulqGh16hLoU\\\\\\n\",\n       \"uuorP7iI3dddCPNUXLWnhBhpVTn6uPoBlg4xJKXSJhRuxcbICoVg/vhH/jZD1Vb+fX0+ZJ0/EjmG\\\\\\n\",\n       \"un38LoWurd0yrouoH0L5AaTuOupXYLnuh7ptdUWWH1R1dltLRnuGgq60rn9+oJX3nAiFnGnhWmi/\\\\\\n\",\n       \"9XMPBVP+eR06R4B0l112mUyaNEmOOuooe98EWffdd5/ccMMNcvrpp3P4AABdhy6EyIEAC6iKHg8o\\\\\\n\",\n       \"xH3Z9OfrUMpfTodQOsjyxzoSLwgI7Yu+7YKH5Sq8cAGF29aXKYGW6ybohxw63AoFVXqMpFD1lQSq\\\\\\n\",\n       \"exy/e5l/7P1j7Yca+nZaBZY/zwVRsWAq1h0tFGDp/Sil7Gee8Mqnu5fqY+jfd9N0eOjOrVC3T31+\\\\\\n\",\n       \"uOV0d0O/S2ie7qGh0MqvwBKv6k+3rXsO+vmEjmGoPdNu+yFVpSHml5HzI+vxY+FVLNgMVWfp4xSr\\\\\\n\",\n       \"vEo7t/RjoVUsW7ZM5s6dK2ecccaKae3t7TJ27Fh56qmn6rpvAAAAIQRYQNViIZU/319Gr+dCAf9L\\\\\\n\",\n       \"ph9k+ev429Zf9HUFl3iVNn4llVtOX/XQn+d3A9Rfut3j++GFeMFIKNjwuw6GpsWOq1+Zov/ctFiA\\\\\\n\",\n       \"lVYtJYHuYv76uttg6HH8af48f/91EJOXDoPc9vRxdtv0j6kLJN1tt66roHK3dZWe/r8+D9K6Cfrt\\\\\\n\",\n       \"ntbWbnpsBPdQiBOb5rezaydJCbD8c8Cto/8N+OvqbcbCsbSQNOu5uNv+MQjND4VUsaArdlzRSj78\\\\\\n\",\n       \"8EPp6OiQvn37rjTd3J8/f/4qy3/xxRf2z/n000+7ZD8BAK0i0ZearnwbaGoEWECnB1humVjXqFC1\\\\\\n\",\n       \"VVa45Xcv1N27dPjkBxR6HT888cdWcv/35+krzullQ5U4etux8CpUhZUWXIWEqlbc9ND9csOGPKGH\\\\\\n\",\n       \"fmy/Oig0L1RB5t/X7RYKfEKVMy6Acvzj7c9zbaf3zS3n2k7fLqVU04XaWj+Wf19X+eXln8uxICjU\\\\\\n\",\n       \"fm6dtFDJvzJlKLT0w67QY6QFl7rN9Dz/OWaFVLHb/vHKezyBuOnTp8v555/PIQIAdA66ECIHAiyg\\\\\\n\",\n       \"sNwXZv3l3gULbiB2HTS4+bqLYagLoa6+0YGD7rrl1vsyUlkVCytiy/q39b7qxw0FGX5XuHK7EPrT\\\\\\n\",\n       \"00IpXVHjV+ykVdGEQg29j35w4YcTfgjlthkSOhY6DPLbNhSM+uNTucdzFVCxroG6os7dzmpzKTOo\\\\\\n\",\n       \"DHUhjFWn6WOkq+n0OrUMLUsZ42e5Y5y1LX85fS7o8zrrHAEq17t3b+nWrZssWrRopenmfr9+/VZZ\\\\\\n\",\n       \"3nQ1NAO+6wqsgQMH0gQAAKDLEGABNeG+YGZ1eZPAfL/CyYlVY7nbLsTSy4TGPHJffF1wpYMnXQGj\\\\\\n\",\n       \"Axvd3VDf1s+zW8aA4PpLd1pVzvJAqKHl6ZrpT9MhQFqwkBU+uXVC3QT9ACIt2HKP78/X0/3nkVZR\\\\\\n\",\n       \"Ezomfle8UDdMfU6F2ldXaen21G3tjo2u3nLL+gO6++eY487brOfhP+/Qfb8tnVhoFAsu/bbOG2iF\\\\\\n\",\n       \"2t7fJ395f18kEHjq5xmqtNLTShVUVvlVXmg13bt3l5EjR8qcOXNk/PjxdlqpVLL3J0+evMryPXr0\\\\\\n\",\n       \"sH8AAHSKUg0+l3AVwqZHgAXUTCh8ii3nz/erZGJdB8Wbp0MzvworFGL5IZjfvfDLwFUQ9X6423o8\\\\\\n\",\n       \"LDdPd13Tt/X+6tDN3+dYgFWOrAArFED5QUJWaBELr/xpsQob/77+v7/PsefoV2H5FXfuePrH1wVM\\\\\\n\",\n       \"er7bXhLpbqjnhboc6hBMn4tp1XWxMLccsZDQPwdCgZKel3bVSD+Y8oMu/fj++eA/duz88ffbfy6x\\\\\\n\",\n       \"ef5x8I8N4RWymYqqiRMnyqhRo2T06NEyY8YM+fzzz1dclRAAgC6TlL76q3YbaGoEWEBNZX0xj4Vc\\\\\\n\",\n       \"/np+yOW+kIbCJb09XUmjv7D7FTR+kKXnxSp4dIDlf7HullJV5o/JFAra/FCsEkkZVTmOH15Ijmob\\\\\\n\",\n       \"KXOe3mZof2IBRJrQm7M+hnp9N01XR/lt7Yem7ZF5adV1ocBK76feZugcKFcpI8Dyj7PfJTRtXp4A\\\\\\n\",\n       \"y29PPwR1+6P3MXQ+xEIq/zlIJLxKygyv8i6DVjBhwgRZsmSJnHPOObJw4ULZfvvtZfbs2asM7A4A\\\\\\n\",\n       \"AFAEBFhAYYIu96WyPWUZPSaWH2TpsakkUF3VHtiO/oKsK7J0yKG7gPlhha7E0WGEnvdlZDykUNcy\\\\\\n\",\n       \"d7+SUCMUBoVCglj1iwsn3LRYiKEfKxSGxLqEZYUsjt63mNAxCoWZbrpuF7dPuk1C41657YTGttLn\\\\\\n\",\n       \"hr7yoGtr3cZpba0fqxyhYxQLhNICq1AYFarI0o9ZSXAZO0fSqrBKGaFTJd0GgVWZ7oKhLoMAAHQp\\\\\\n\",\n       \"BnFHDgRYQM3pSpWs5SRHd8K0MbH08n5FlV7P7ZMOEtw++t3PdFez0GP7XRT9/fcrfvTj6/lungsT\\\\\\n\",\n       \"/K6Q+rFDgVas+iT2xT8UEISqsfR9Nz8WbsWqt2JVNX7IlhY4xKbrCjh/eiyQjLWfDjfdvumqK7cd\\\\\\n\",\n       \"t++hAErzH88PsXTXzvbAtHLb2p8eCgf9NsmqxNO3/UBKnwc62PQfJxac+vsVqroKPafQMnmOUUis\\\\\\n\",\n       \"6g8AAKCOGAMLORBgAZ3CfZnMqiQqJ6AKreOWi4UZfvjgb9sPlfygqyNSZeUP2K2363+RDo2H5W6H\\\\\\n\",\n       \"ApDQMYuFGqFpOpgIVT7paaFKnFjIlbZMWvVMaDyuvGFCrK1D6/jVTP65pSvy9G3d9VQ/T90WrrJK\\\\\\n\",\n       \"bzcUkLnnFKq+8ts7qXFb6313+6HbxG+HtHYMBZT++RMLMP39igWaeaZJhQFXTN6QCwAAACgeAiyg\\\\\\n\",\n       \"07hQIE+IFarCciGCu++HWnq+m+em+1cn9NfXXcbcvobCpFCXMx1C6Uout33/eesvzKFxrvSyumqr\\\\\\n\",\n       \"XKEv9qFqFz9cyOrq5Qcise3ExmLS+5TVLSzPc0wTql7z13Nt5NrctatuZ71OaMD2ctra70LY2W3t\\\\\\n\",\n       \"9lX/X98OhY6xyqlQpVZal9FYMOZu+/uip2cFcv56/nJZQtsHAAAoCLoQIgcCLKBT6ZAgjR8w6fVD\\\\\\n\",\n       \"A3P7lVW64srvlueHVHoQbh1S+IGE+zKuQwe9Df2YOtiQyNXndBe3vGMhZQUcsQAoratenjGH9DhJ\\\\\\n\",\n       \"klFxkyc4CVXM+NutRqySSZ8HEgkSO1Sgqc8BF6zqgNVdRTIWQIbGu/LbsLPb2k3z10mriotVY+nt\\\\\\n\",\n       \"hwIwfT/0eLGKMMkxT//f3/+sY+Kj2yAAACg4+7Gmys/EFJo3PQIsoNO5L7jVXF0vNN5VWpdDd18/\\\\\\n\",\n       \"dlpXI78CKxR8ucd0oYeuxtJfpEPVZG56rFtkqBtkaFuhYxOS1lUvK9Twwyq9XCjAyhNk+PtcyxAr\\\\\\n\",\n       \"1L001gYSGbzf7affJqEwylUhhdrGv3qhu+2f+7HnWkl7p1VjpVXMhcIjvW6o26CeHjsHYudZ7N9f\\\\\\n\",\n       \"7H4s9CwX4RUAAACaAwEW0CXcl9lKuxNmjYmVeGNNpY2ZVMqohPG/8IeueqirqUL7FQtSYs9BP04t\\\\\\n\",\n       \"ZAVYUkYQVc6ysSAjti8xWfNjXU4lR2ikwyd9Wy/vT/fb2u82GLqt/58V2lQjFBDGuu2FAslQW7vp\\\\\\n\",\n       \"ae2cJ6gKnXOh88EXCjjTlompJhgFAADoQnQhRA4EWEBhuhP6AYQ/LwkMtC0p3Qb1/FBXRL2N9hwV\\\\\\n\",\n       \"WBIZK6ktMF0/nh4I3mnv4gBLBxDuft6KLCmzoie0XDkBhL+vIbFxp3Rg5F/dT98OtXWoXf1zRwLj\\\\\\n\",\n       \"ovnL+tv3K770el3R1lJmN8/YuFlJmeNc+eulnROxoKlURTBF5RUAAGggJX9s0Uq3gWZGgAUUTqx6\\\\\\n\",\n       \"SVK6IvpVMH63QT1otnjd/9oiV6fTQgGFfszQdH+a3pa+Hxrjq1p+lYxE7odCrdC6WVVWaRVfevu1\\\\\\n\",\n       \"ChlCb85+cKmn63X8ENVvG71c6BxMIudALAj1tx/rLlqpUBvE2t5vu6zpoW2FAi7JEWilhVdS4/AK\\\\\\n\",\n       \"AAAAaD4EWECX87/0py3n+F0G2zKWi4VQOrAK7ZNbTwcZaV3SdCChwxM/IPO3o0M6XSkUer55pH2h\\\\\\n\",\n       \"D4UTep4fgKQtk7eKJvRYof3ME2RkydPmfijqh1RZ3Up1FZ5u99gg/XrbaV0J/eeQV1r1mt7n0PH1\\\\\\n\",\n       \"g8s84WSe86Hc//vrpz2/cs8NAi4AANBg6EKIHAiwgC7lvrB2y7Fc3u6E/jqhqig3PxR26LApLcgI\\\\\\n\",\n       \"zdPbbAtUe6V1VXOPHVNON7NyqlX8QCLvGEr+uqGgK7StPPsZWjYvfYyzuur5gVYsrPLn+eeWnud3\\\\\\n\",\n       \"J4xVg8UqumL7EZN2DLMq4WLng5sXWi9UgRUKpbLaPi0YTXsOse2loXweAAA0GAIs5ECABdSFvopf\\\\\\n\",\n       \"Fj88cEJdvfxlk0DAkETGONIVMrGqLnc/FIB8GZjm3/fHw9L7Fnt+lYh1zStVcD8tsMobhHVmNzD/\\\\\\n\",\n       \"MfT5EOtqGGsPf12/gkqPaxYa+D2trSVHOFrPtvaDy6xKvbzrxQZpzxNmZc0LLUt4BQAAgOZEgAXU\\\\\\n\",\n       \"TaySKraspIxJ5M/LCqD8+7qLWKhbmT/OUazSyu9G5h4nK1SJfUHPc2zyVqyEAoOsKpnYGFmx5WP7\\\\\\n\",\n       \"kxZA1CLM8tvI316s8k4CVxjU85OMbWa1tR53LW09vT9pyqlOSspo66zgKa3d8waclQRU5ZwbBFcA\\\\\\n\",\n       \"AKCBlWrwmdhuA82MAAuom6RGY2L524gtFwog/C/Y/iDboXGLQgPJJznHytKPnWdspKwv5VlvUnkr\\\\\\n\",\n       \"YPTj5Qm+0rYT23ZamFGLACt2PoUq6/IMpO624wedUmZbO36Vny8UdoX2KWte3uqmtMHU08bPim03\\\\\\n\",\n       \"K9CK7X9W+JZHLUJQAACA+kmSkv2rdhtobgRYQN3pLnxZ0sIuv8uXWz5WgRMaUN1tJxY6uNuhLmRu\\\\\\n\",\n       \"+6GAKxZ4uW2WO4h3HlnjTaVV2OhtZAVP5Y5ZVOmVB8vtRhi7umOsEq49I1DyAyv33NMq9ELb64y2\\\\\\n\",\n       \"zqpiyuo+GFsurSortEysbcsJOkPbTZN2DgIAAADNgwALKAQXBNSiO6HfRSwWYOgvvqFuhaGuXn7Q\\\\\\n\",\n       \"prseZo21FNtn/2p1tRAbhD1tWigEyBt0ZIVgWY+fNj1L7DyIBVR+iJknuEzbv1DwFduv0CDw1XLP\\\\\\n\",\n       \"p9q2rsX4VbHj5Ydctaqm6owwFAAAoE6DuFfbBdBsA02NAAsolNi4U75YKOUvkzYAe0yoK6JeVwdk\\\\\\n\",\n       \"/pftUKVX2j76+1aLECsrACh3YPVywpHQ9LzdBTv7DTctyPSnh9o1FGiGlpWUkEoHPV3R1lltV4vA\\\\\\n\",\n       \"MRZg5bkfmp51HtBdEAAANCEbPhFgIR0BFlAYoSAoz/IuRAiNi+VvK/YYocqt2GNmBR+xQbqzKsyS\\\\\\n\",\n       \"Kitz0kKJartu5Q0oJGd3rlqGVaFtteXYr245wqu0ccqyrnSYdYz1titVqqJCKatN086ntG57SQ3D\\\\\\n\",\n       \"tHK2AwAAADQ3AiygaboUSiTEilU45elK1i3lcWLdC2OBSqK6l4VUW5GTFiqElpUaVWLlCUq6OnCI\\\\\\n\",\n       \"VVDFuvrFupu6+WndEWPS2lpvp9oAK8+xTWubcrqDdpTZvpVWiMXQZRAAADSpUkmkrcpxPRnEvekR\\\\\\n\",\n       \"YAGF5b5c5+1a574Mx5bPqrIKVWz54yLp5bSsqqtqQoZylVvJUklXwKxuZuU+l2oH4a4m6AyFOJW2\\\\\\n\",\n       \"tX8VyzRp3Q8747jlqcYK3S+30irPfpX7vLPOVQAAgAZHF0LkQIAFNFW3wrzr+MtkfTEODehdyf6k\\\\\\n\",\n       \"bV9qfDW1vKFZJeMS5Qms8k6rhdh22yps70rbutwx1pIGaGs9rZxzIu1xCK8AAACAchFgAYUXqozK\\\\\\n\",\n       \"s44OE2LjY6XNi3U3zOpeWG4olbdCq1zlBCRZ3bxqNa5VvQKstGXzjJelu/pV09a1vNKkrxbdR/Ns\\\\\\n\",\n       \"J28VV2xeuecAlVcAAKD5JaWSJFV2IUzoQtj0CLCAhqDHj8o7blCeoCLWTTDP+h0pgZZbPy1Y6Yyq\\\\\\n\",\n       \"q1qFWeWGGGljY9VTrGuglhZIpW0nK+DU2+qMqqt6tLW/3bzBZiWhVb3PHQAAgC5EF0LkQIAFNJyk\\\\\\n\",\n       \"wiv25ankinU1S7sKnZM2LlLWY3W2UOBUbjeutPuh6ZU8v3LXKbeiyY2p5q+ft9tfuYFVnm13lbxt\\\\\\n\",\n       \"ntX1sxZVfWkIrgAAAIAQAiyg4SQ1HIcqb9fCUHjlP341gVCtu5bVsjtfOcFHrbosVjveVN6QMrZs\\\\\\n\",\n       \"VlVWUuZ+FaW98479VWn71CLALErgBwAA0IVKiUhbUoMqLjQzAiygYZXK6E5YyZhapZQqqtgX/VD1\\\\\\n\",\n       \"TZ43Ene1wlqpNAgoN4Sq5k2y2jfYSsKr0Db80DLrCpZZy+YZB6uWAVba1QXr0daVtivdBgEAQAuz\\\\\\n\",\n       \"4VOVlegEWE2PAAtoaKWUMajK+VKe1dUvT8ihl/e1dfGX97yVNuWsV+n+dXVVTTlhU551Y8FiVhVW\\\\\\n\",\n       \"2mPU42qTRQ0y/bHkAAAAAIQQYAFNI61iKo9Y98G05fzlq61IqkVlTq0qZaqppKnFdmqpklAxtm5W\\\\\\n\",\n       \"V8K0ro2N0taddW7o9YtwXgAAABRDUkokqbILYUIFVtOrZZ8dAHXlvhRX0qXKrau7BmaN9eOvk3f7\\\\\\n\",\n       \"sb9ayPM4le5zpY9ZFJXuZ2e0dVe3ebnbyFrOX6fc/S0V8PwAAACoo6RUm78yXX311bLZZpvJGmus\\\\\\n\",\n       \"IWPGjJFnn302dfk777xThg0bZpffdtttZdasWVU8aZSLAAtoSpWOCyQVhgylwF+lX+yr+avkOcce\\\\\\n\",\n       \"N++6RQ2sOmvfO/u4d2Z717KtK+EeHwAAAPV2xx13yLRp0+Tcc8+VF154QUaMGCHjxo2TxYsXB5d/\\\\\\n\",\n       \"8skn5eCDD5ZjjjlGXnzxRRk/frz9mzdvXpfve6siwAKalv6yXottlBsYZAUUXRX21DIEqeZ4FF1n\\\\\\n\",\n       \"tnVXhTZJQdu6Gc8XAACAGnchrMFfOS677DKZNGmSHHXUUbL11lvLzJkzZa211pIbbrghuPzll18u\\\\\\n\",\n       \"++yzj5x66qmy1VZbyQUXXCA77rijXHXVVTU6CshCgAU0rc7qtlWr7SVd9FeE51rJY3VlN7y8+yRN\\\\\\n\",\n       \"3N6d/e+k0Sr0AAAAmrcL4bJly2Tu3LkyduzYFdPa29vt/aeeeiq4jpmulzdMxVZsedQeg7ijcNzg\\\\\\n\",\n       \"ex0dy+q9K02o0gHeu2p7RdOVoUOp4L9D0NblIbCqNfeewACtxeDa4dPPGrdb7JfJcml0n376ab13\\\\\\n\",\n       \"AUALc69BtXhv/lKWV/2x224j8NrYo0cP+6d9+OGH0tHRIX379l1purk/f/784PYXLlwYXN5MR9cg\\\\\\n\",\n       \"wELh/Oc//7H/nz//pnrvCgCggO8R6667br13o+UtXbrUHoNNd3y7gY/Fm9Lo+LcAoCjvCZW+HnXv\\\\\\n\",\n       \"3l369esnjy+szWDo66yzjgwcOHClaWaMq/POO68m20d9EWChcDbYYAP7/3fffbdlP5iZXw3MC+97\\\\\\n\",\n       \"770nvXr1klbEMeAYcC7w70H75JNPZNCgQSveI1Bf/fv3t+9RPXv2lLa22lfiNsN7QKM/B/a//mgD\\\\\\n\",\n       \"jn/Rzx9TeWXCK/OeUClzNb+33nrLdumr1T7570t+9ZXRu3dv6datmyxatGil6ea+CdRCzPRylkft\\\\\\n\",\n       \"EWChcEzfY8OEV434ga+WzPPnGHAMOA/498BrwqrvEah/O2yyySad/jjN8PrX6M+B/a8/2oDjX+Tz\\\\\\n\",\n       \"pxYFBybEMn9dyVR+jRw5UubMmWOvJGiUSiV7f/LkycF1dtppJzt/6tSpK6Y9+OCDdjq6BgEWAAAA\\\\\\n\",\n       \"AABoKdOmTZOJEyfKqFGjZPTo0TJjxgz5/PPP7VUJjSOOOEIGDBgg06dPt/enTJkiu+++u1x66aWy\\\\\\n\",\n       \"3377ye233y7PP/+8XHfddXV+Jq2DAAsAAAAAALSUCRMmyJIlS+Scc86xA7Fvv/32Mnv27BUDtZsh\\\\\\n\",\n       \"bXTl98477yy33XabnH322XLmmWfK0KFD5U9/+pMMHz68js+itRBgoXBMH2Uz0F6or3Kr4BhwDDgP\\\\\\n\",\n       \"+PfAawKvi62sGd4HG/05sP/1Rxtw/Fv5/OkqprtgrMvgI488ssq0Aw880P6hPtoSrkcNAAAAAACA\\\\\\n\",\n       \"AmMkVAAAAAAAABQaARYAAAAAAAAKjQALAAAAAAAAhUaABQAAAAAAgEIjwELh3XfffTJmzBhZc801\\\\\\n\",\n       \"Zf3115fx48dLK/riiy/spV3b2trkpZdeklbx9ttvyzHHHCODBw+258CQIUPsFVWWLVsmze7qq6+W\\\\\\n\",\n       \"zTbbTNZYYw37b+DZZ5+VVjF9+nT55je/KT179pQ+ffrYf/cLFiyQVnbRRRfZf/9Tp06VVvPvf/9b\\\\\\n\",\n       \"DjvsMNlwww3t68C2224rzz//fL13C52okV//HnvsMdl///2lf//+9t+sucR6I2n0199rrrlGtttu\\\\\\n\",\n       \"O+nVq5f922mnneSvf/2rNKpGfO0/77zz7D7rv2HDhkkjaeT3HfPa6R9/83f88cfXe9eAqhFgodDu\\\\\\n\",\n       \"uusuOfzww+Woo46Sf/zjH/LEE0/IIYccIq3opz/9qf0w3Grmz58vpVJJrr32WnnllVfkV7/6lcyc\\\\\\n\",\n       \"OVPOPPNMaWZ33HGHTJs2zYZ1L7zwgowYMULGjRsnixcvllbw6KOP2g9aTz/9tDz44IOyfPly2Xvv\\\\\\n\",\n       \"veXzzz+XVvTcc8/ZfwPmS1mr+eijj2SXXXaR1Vdf3X4JffXVV+XSSy+1P2igOTX66595nTL7bEK4\\\\\\n\",\n       \"RtTor7+bbLKJDX3mzp1rA4dvf/vb8r3vfc9+hmg0jfzav80228gHH3yw4u/xxx+XRtHo7zvmvNHH\\\\\\n\",\n       \"3vw7Ng488MB67xpQvQQoqOXLlycDBgxIfvOb3yStbtasWcmwYcOSV155JTH/bF988cWklf3yl79M\\\\\\n\",\n       \"Bg8enDSz0aNHJ8cff/yK+x0dHUn//v2T6dOnJ61o8eLF9tx/9NFHk1azdOnSZOjQocmDDz6Y7L77\\\\\\n\",\n       \"7smUKVOSVnLaaaclu+66a713A12omV7/zOvW3XffnTSyZnj9XX/99Rvu82Qjv/afe+65yYgRI5JG\\\\\\n\",\n       \"1WzvO+bcGTJkSFIqleq9K0DVqMBCYZlfXU35bnt7u+ywww6y8cYby7777ivz5s2TVrJo0SKZNGmS\\\\\\n\",\n       \"3HLLLbLWWmvVe3cK4ZNPPpENNthAmpXpHml+OR47duyKaebfgbn/1FNPSau2udHM7R5jKiH222+/\\\\\\n\",\n       \"lc6HVvKXv/xFRo0aZX85Nt2ZzPvB9ddfX+/dQifh9a94Gvn1t6OjQ26//XZbPWa6EjaSRn/t/9e/\\\\\\n\",\n       \"/mV7Dmy++eZy6KGHyrvvviuNopned8xr6q233ipHH3207UYINDoCLBTWm2++uaIf/dlnny333nuv\\\\\\n\",\n       \"Ld3dY4895L///a+0AvPj7ZFHHinHHnusfSOFyOuvvy5XXnml/OQnP2naw/Hhhx/aD919+/Zdabq5\\\\\\n\",\n       \"v3DhQmk1pgupGfvDlPMPHz5cWon54mXCfDMmTSu/F5gxbYYOHSr333+/HHfccXLiiSfKzTffXO9d\\\\\\n\",\n       \"Qyfg9a9YGvX19+WXX5Z11llHevToYT9D3X333bL11ltLo2j0134zbt1NN90ks2fPtq/fb731luy2\\\\\\n\",\n       \"226ydOlSaQTN9L5jxuD7+OOP7fcJoBkQYKHLnX766cGBBfWfG/fIOOuss+SAAw6QkSNHyo033mjn\\\\\\n\",\n       \"33nnnS1xDExQY97szzjjDGk2eY+BZiry9tlnH/uLmKlKQ2swv0Kbykvzgb6VvPfeezJlyhT53e9+\\\\\\n\",\n       \"ZweyblXmvWDHHXeUCy+80P4K/uMf/9j++zdj4QHoXI36+rvlllvaC94888wzNnyYOHGiHceoETTD\\\\\\n\",\n       \"a7/pMWE+q5mxu8z4dbNmzbIhyu9//3tpBM30vvPb3/7WtkcrjqOL5rRavXcArefkk0/O/BXAlBub\\\\\\n\",\n       \"QQcN/YuZ+SXNzGukMuRqjsHf/vY322XMPG/NVGOZcuxG/CWo3GPgvP/++7LnnnvKzjvvLNddd500\\\\\\n\",\n       \"s969e0u3bt1s91HN3O/Xr5+0ksmTJ9vqS3NVLzMwbysx3UjNoNXmQ7RjKvPMsbjqqqvslUnNedLs\\\\\\n\",\n       \"TPdxv3Jiq622shf5QPPh9a84Gvn1t3v37vKNb3zD3jY/gJpBrS+//HI7IHrRNeNr/3rrrSdbbLGF\\\\\\n\",\n       \"raJvBM3yvvPOO+/IQw89JH/84x/rvStAzRBgoctttNFG9i+L+cBhghtz6eZdd93VTjNXwnn77bdl\\\\\\n\",\n       \"0003lVY4BldccYX84he/WCnEMb9kmSs0mfLsVjgGrvLKhFeuCs+MB9XMzAdv81znzJljL1/ufg00\\\\\\n\",\n       \"980XilbpPnvCCSfYbh+PPPKIDB48WFrNXnvtZbvBaOaKrOZS5KeddlrDfYGplOm6ZN4HtNdee63h\\\\\\n\",\n       \"3wcQxutf/TXj6695DzXBTyNoxtf+zz77TN544w17ZfFG0CzvO+YzsxnDy4ylBjQLAiwUVq9evey4\\\\\\n\",\n       \"BeYy2gMHDrRvGhdffHFLXQZ20KBBK9034zkYQ4YMabhfQytlwisz7plp/0suuUSWLFmyYl4zVyOZ\\\\\\n\",\n       \"S8ibLg+m2m706NEyY8YMOwit+RDbKt1WbrvtNvnzn/8sPXv2XDH217rrritrrrmmtALzvP0xZ9Ze\\\\\\n\",\n       \"e23ZcMMNG2osmmqddNJJtvLSdOU46KCD5Nlnn7VVmM1eidnKGv31z3xZ15UmZvwf053NDILuv68X\\\\\\n\",\n       \"UaO//pphF0yXKXOszTAM5rmYIM6MZdQImuG1/5RTTpH999/ffnYzP76az/ImeDv44IOlETTD+44J\\\\\\n\",\n       \"bU2AZV5LV1uNr/xoItVfyBDoPMuWLUtOPvnkpE+fPknPnj2TsWPHJvPmzWvZQ/7WW2/ZS1m/+OKL\\\\\\n\",\n       \"Sau48cYb7XMO/TW7K6+8Mhk0aFDSvXt3e1n5p59+OmkVsTY350Mra7RLqdfKPffckwwfPjzp0aNH\\\\\\n\",\n       \"MmzYsOS6666r9y6hkzXy69/DDz8cfP2aOHFi0gga/fX36KOPTjbddFN77my00UbJXnvtlTzwwANJ\\\\\\n\",\n       \"I2u01/4JEyYkG2+8sW2DAQMG2Puvv/560kga/X3n/vvvt/9uFyxYUO9dAWqqzfyn3iEaAAAAAAAA\\\\\\n\",\n       \"ENPcA8kAAAAAAACg4RFgAQAAAAAAoNAIsAAAAAAAAFBoBFgAAAAAAAAoNAIsAAAAAAAAFBoBFgAA\\\\\\n\",\n       \"AAAAAAqNAAsAAAAAAACFRoAFAAAAoKk88sgj0tbWJh9//HG9dwUAUCMEWABQYB988IEccsghssUW\\\\\\n\",\n       \"W0h7e7tMnTq13rsEAEDh7LHHHiu9R+688872PXTdddet2z4RogFAbRFgAUCBffHFF7LRRhvJ2Wef\\\\\\n\",\n       \"LSNGjKj37gAA0BC6d+8u/fr1s1VYAIDmQIAFAHW0ZMkS+wH7wgsvXDHtySeftB+858yZI5tttplc\\\\\\n\",\n       \"fvnlcsQRR9T1V2QAAIrqyCOPlEcffdS+X5rAyvzddNNNK3UhNPfXW289uffee2XLLbeUtdZaS374\\\\\\n\",\n       \"wx/K//73P7n55pvt++36668vJ554onR0dKz0Q9Ipp5wiAwYMkLXXXlvGjBljK6ucd955R/bff3+7\\\\\\n\",\n       \"rpm/zTbbyKxZs+Ttt9+WPffc0y5j5pl9MftplEolmT59ugwePFjWXHNN+wPVH/7wh1Uqt+677z7Z\\\\\\n\",\n       \"brvtZI011pBvfetbMm/evC48qgBQPKvVewcAoJWZ6qobbrhBxo8fL3vvvbf9UH344YfL5MmTZa+9\\\\\\n\",\n       \"9qr37gEAUHgmuHrttddk+PDh8vOf/9xOe+WVV1ZZzoRVV1xxhdx+++2ydOlS+cEPfiDf//73bbBl\\\\\\n\",\n       \"Qqc333xTDjjgANlll11kwoQJdh3zfvzqq6/adfr37y9333237LPPPvLyyy/L0KFD5fjjj5dly5bJ\\\\\\n\",\n       \"Y489ZgMss+w666wjAwcOlLvuustub8GCBdKrVy8bVhkmvLr11ltl5syZdhtm3cMOO8x+Jth9991X\\\\\\n\",\n       \"7O+pp55qn5v5oevMM8+0QZl5nquvvnqXHVsAKBICLACos+9+97syadIkOfTQQ2XUqFH2A7D5cAsA\\\\\\n\",\n       \"ALKZCmVTuWyqqkzYY8yfP3+V5ZYvXy7XXHONDBkyxN43FVi33HKLLFq0yIZOW2+9ta2aevjhh22A\\\\\\n\",\n       \"9e6778qNN95o/2/CK8NUY82ePdtON9XTZp4Jqbbddls7f/PNN1/xeBtssIH9f58+fWxI5iq6zHoP\\\\\\n\",\n       \"PfSQ7LTTTivWefzxx+Xaa69dKcA699xz5Tvf+Y69barENtlkExugHXTQQZwWAFoSARYAFMAll1xi\\\\\\n\",\n       \"fzm+8847Ze7cudKjR4967xIAAE3FBFwuvDL69u1ruw6a8EpPW7x4sb1tqqxMd0JzIRXNhFAbbrih\\\\\\n\",\n       \"vW26HB533HHywAMPyNixY22YZbr9xbz++uu2EswFU46p4tphhx1WmuYCLheGmSrtf/7znxU/fwBo\\\\\\n\",\n       \"dARYAFAAb7zxhrz//vt2XAwzbob7JRcAANSG3/XOjDMVmmbei43PPvtMunXrZn9YMv/XXOj1ox/9\\\\\\n\",\n       \"SMaNG2fHqzIhlqmgvvTSS+WEE04I7oPZpmGWN+Nqafx4BQDpCLAAoM7Mr65m7AvTXcH8umo+DJtf\\\\\\n\",\n       \"fU2XAwAAkM10IdSDr9eCqYgy2zQVWbvttlt0OTPe1bHHHmv/zjjjDLn++uttgGX2ydD7ZbopmqDK\\\\\\n\",\n       \"dD3U3QVDnn76aRk0aJC9/dFHH9nxr7baaquaPT8AaDQEWABQZ2eddZZ88skndmBZ84uuGUj26KOP\\\\\\n\",\n       \"tldKMl566aUVv9qaqxaa++ZDsfkQDAAAxHYFfOaZZ2wVs3kvdVVU1TBdB834lOZKwKaqygRa5n3Y\\\\\\n\",\n       \"XCXYdBPcb7/9ZOrUqbLvvvvaZU3IZMbPciHTpptuaiu6zPu5Ge/SDOLes2dPO47WSSedZPdx1113\\\\\\n\",\n       \"tZ8BnnjiCTvQ+8SJE1c8vhmQ3nRVNN0azWeF3r1724u+AECraq/3DgBAKzOXyp4xY4YdRNZ8cG1v\\\\\\n\",\n       \"b7e3//73v9uBZg3zgdn8mS4Mt912m71tPggDAICvmFDIdPMzP+6Yq/mZCqdaMIO1mwDr5JNPtlXS\\\\\\n\",\n       \"JkB67rnnVlRGmeoqcyVCE1qZqxOaIOvXv/61nWe6CJ5//vly+umn2xDKXNHQuOCCC+RnP/uZ7W7o\\\\\\n\",\n       \"1jNdCgcPHrzSY1900UUyZcoUGTlypCxcuFDuueeeFVVdANCK2pIkSeq9EwAAAACAr37cMldDNBVd\\\\\\n\",\n       \"7uqFAAAqsAAAAAAAAFBwdCEEAAAAAABAodGFEAAAAAAAAIVGBRYAAAAAAAAKjQALAAAAAAAAhUaA\\\\\\n\",\n       \"BQAAAAAAgEIjwAIAAAAAAEChEWABAAAAAACg0AiwAAAAAAAAUGgEWAAAAAAAACg0AiwAAAAAAAAU\\\\\\n\",\n       \"GgEWAAAAAAAACo0ACwAAAAAAAIVGgAUAAAAAAAApsv8D2zkPJzxTExUAAAAASUVORK5CYII=\\\\\\n\",\n       \"\\\"\\n\",\n       \"  frames[2] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQABAABJREFUeJzsnQeYJFXV/k91mpnNsOyyhCWD5CAKEkSUpGLkE0X5JAkmRIL+\\\\\\n\",\n       \"RdAPBFREFFFRkooBVETggw8URBRQQURyEBBJS1h2F1g2Tuju+j/vrT49p8/cW13d07M7O3N++9RO\\\\\\n\",\n       \"5XDrVnXVW+85N4rjOCbDMAzDMAzDMAzDMAzDGKXkVvYOGIZhGIZhGIZhGIZhGEYaJmAZhmEYhmEY\\\\\\n\",\n       \"hmEYhmEYoxoTsAzDMAzDMAzDMAzDMIxRjQlYhmEYhmEYhmEYhmEYxqjGBCzDMAzDMAzDMAzDMAxj\\\\\\n\",\n       \"VGMClmEYhmEYhmEYhmEYhjGqMQHLMAzDMAzDMAzDMAzDGNWYgGUYhmEYhmEYhmEYhmGMakzAMgzD\\\\\\n\",\n       \"MAzDMAzDMAzDMEY1JmAZhjGqOOyww2jPPfdc2bthrEB++tOfUhRFY7bMn376aXd8OM5OlxnW3Wl4\\\\\\n\",\n       \"3f/85z9pRV3zG2ywwUopx9FUtzHfV77ylba2Uy6X6Qtf+ALNnj2bcrkcve9976PRDo51LF/3KwO+\\\\\\n\",\n       \"Rm655RYaLQynXo+Gff/MZz5Do5klS5bQkUceSbNmzXL7e9xxx9FYBb8T+L0wDGN8YwKWYYxjbr/9\\\\\\n\",\n       \"dvdguXDhwo6s7+WXX6azzz6b9thjD5oxYwZNmzaN3vSmN9Hll19OneaRRx5x+z4SL/ArmmXLlrlj\\\\\\n\",\n       \"Gc5LR6fPZVaq1ap7SX/Pe97jXp4nTpxIW2+9NX31q1+l3t7eFbovhjFe6/ZPfvITd+/9wAc+QD/7\\\\\\n\",\n       \"2c/o+OOPp/HKD3/4w2GJnC+88IK7l9533320orn55pvpiCOOoM0224wmTJhAG220kRMnXnzxRRrN\\\\\\n\",\n       \"/O53vxt1ItVo3KeR4Otf/7qr75/61KfoF7/4BX30ox9d2btkGIYxohRGdvWGYYxmIHqcdtpp7osW\\\\\\n\",\n       \"xKbhcscdd9CXvvQleuc730lf/vKXqVAo0JVXXkkHHXSQE5ywrU7B64NbK4t7Y7QLWFw27brPOn0u\\\\\\n\",\n       \"W9n3ww8/3AmVn/zkJ2nmzJmuHpx66qnuZexPf/qTuSyMVC6++GInFo02VnTdXr58ubtntgP2ZZ11\\\\\\n\",\n       \"1qHvfOc7NN6BgLXGGmu07dSAgIV7KX5Xtt9+e1qRnHjiifTKK6/QgQceSJtuuik9+eSTdN5559F1\\\\\\n\",\n       \"113nBDW4bEYjEIt+8IMfeAWj4dTrkdqnsQSufdyjcF8yDMMYD5iAZRhGx9hqq63o3//+N62//vr1\\\\\\n\",\n       \"cZ/+9Kdp7733prPOOsuFuMDFsKKJ49g5Jnp6elb4tsc6pVKJ/va3v9Guu+5aH3fUUUe5lz9+0cf5\\\\\\n\",\n       \"N4wQxWJxVBbOiq7b3d3dbS87b968jgrXafdMjEfZIFTR6CznnHMO7b777g1l+/a3v53e8pa3OCEL\\\\\\n\",\n       \"7r9VjeHUayPbtb/lllt2rKgQjowPCrjGVzRLly5dKc+IhmGsWtjTh2GMU/BV8v/9v//n+jfccEPn\\\\\\n\",\n       \"JBhuTh2sR4pXAOtEPpa+vj73NbkTwC6PL9TgrW99a33fOQQPL5jvete76MYbb6Q3vOEN7iXswgsv\\\\\\n\",\n       \"TM2h48vT8fzzz7twjjXXXJO6urqcQIdQnVZBLqH99tvPuQKwLygnrBdgnxBuCfDVn4+F9+WBBx5w\\\\\\n\",\n       \"TgKEkuBFAF/gsSzCNVs5l5deeintuOOObvurr766c8XNmTOHhgsecuULPvP+97/f/f3Xv/5FnQQP\\\\\\n\",\n       \"1ueee647FygPnJtPfOIT9OqrrzbMx3Xgr3/9K+20005uXpThz3/+8yHrRNglQq6wDM7zuuuuS4cc\\\\\\n\",\n       \"cggtWLCg4SXhYx/7mNse1rXddtu5UC3funC+pk6d6gSFQw89NBjW+eijj7qQL5wPrBN19dprrx0y\\\\\\n\",\n       \"38MPP0xve9vb3LnDvuEltl3H0r333kvveMc7aMqUKTRp0iTaa6+96O9//3vQgYSynT59upsfZaLL\\\\\\n\",\n       \"Oa1uDycHVpZyxDnBtQPXIgQX5oknnnAvQR/60IdoVarb+h7EOaJwPOysRHnAFYZzA/ie9uc//9nV\\\\\\n\",\n       \"E30vbPV60fdMrAfr+/Wvf+1ctXB5IbRt0aJFbrk777zTCSzYL4yH0ALRT4Pr8I1vfKPbh4033tit\\\\\\n\",\n       \"ux3mzp3rjh/XAa7VtdZai9773vfW73U4DpTDrbfeWi8LdrXC2fT5z3+ettlmG1f3UadxLdx///31\\\\\\n\",\n       \"9eN4sZ8A2+F1yN+MrMfcDgi/18IgxuEe0en6ds0119D+++9Pa6+9titLnJczzjiDKpXKkHlxzHBW\\\\\\n\",\n       \"r7baau7a2nbbbem73/2um4a6CacT4PKSzkTfb2uW+xDnj0PZnnDCCe5ax7Zx/c2fPz/12Jrt07e+\\\\\\n\",\n       \"9S13bePehrqO38bf/va3mcoN91+co+9///v1cb///e/pzW9+s9u/yZMnu3JFPdT7hGPFcwWeidCP\\\\\\n\",\n       \"Y0Kd1GWOkFH8PgwMDAT3g6/Np556iq6//vohv/tZfrP4/oHywH0CdQB1AfuOezrKncG9BPegfD7f\\\\\\n\",\n       \"cC/Gx0k47JCLK+szi7y/wU3/kY98xNUtiLcA93OUM65zXGN4ztPlaRjG+MUcWIYxTjnggAPo8ccf\\\\\\n\",\n       \"p1/96lcu7AQPK4DFlNdeey314YnBAwoexJq9dADexnDBA/1nP/tZ+t73vkcnn3wybbHFFm48/wWP\\\\\\n\",\n       \"PfYYffjDH3Yva3BNvO51r2tpGy+99JKz5XMSV5QLHlLxQIiXt6yJUvEQue+++7rlv/jFL7oHQDw0\\\\\\n\",\n       \"XnXVVW46xp9//vkufwUezHFeAF4QwE033eSEP7xM4UEQD3EXXXSR+4sHfuxfs3P5ta99jf7nf/6H\\\\\\n\",\n       \"PvjBD7p8Knj4x8M3yhEvEuzcwEsxvxingQdYPGyuyHPO4HzixQblgTqAh3c4E3AceNGRbh68+EMg\\\\\\n\",\n       \"wjmDAALxEQ/WeFnBCz3AQzdePPByiIfs17/+9U64gpD03HPPuf1HCAxegrE+1AWINFdccYVbFx7k\\\\\\n\",\n       \"jz322PpDN16m8bKOkDPUx6uvvtptW4Pzt9tuuzlBAPUCLz6/+c1v3IsNwm5ZJEE54uEdX8V5Ppz/\\\\\\n\",\n       \"dtyE2CaOFS+NcEOirCAk4Njwwr/zzjs3zI9jRd3AiwauJ9TTZ555pv7i1Kxut0vWckRIH/YJYjbq\\\\\\n\",\n       \"M+oDXrJwXvASiVAyZlWo2yFw3aLOnXnmmXTPPffQj370I3fseHFE2SPvDa5x1GXMI++FrVwvafdM\\\\\\n\",\n       \"CBsQ9PCyjY8R6EfoEkQIXE9wpOGl/pJLLnFi61/+8hcnHIMHH3ywXk9Ql1CXMT9erFvlv/7rv1w9\\\\\\n\",\n       \"PuaYY5xYhTqIe+Szzz7rhvESjmn4TUI4O+Dt4D76v//7v66+oDxxj0f9hwCFl2gIOSi3008/nU45\\\\\\n\",\n       \"5RT6+Mc/7q4XwEJm1mPGbyd+Q7MAcSrNzYbziq7T9Q31AuUEkQJ/cWw4bvy+IZ8ag/KFuAmxEPc6\\\\\\n\",\n       \"/A7hfomwRgyjviDsEvOhLnb6PoTziWsS5Y37C84x7k1puTWb7RPEN+S2O/jgg6m/v98JtKgXOCaI\\\\\\n\",\n       \"TyEg4iLnFPYX1wjA+nFvgpCPaxL3GdyXIMbgOpPiPIQqzIdjhGj0xz/+kb797W874QjPAMxJJ53k\\\\\\n\",\n       \"xCZcr6EUCair2DY+vkDo+dznPufG4zrL+pvFoA7DWYk6DwELwh5+n2677bb6PBCmUKdRV3Hv4HJC\\\\\\n\",\n       \"vd9hhx3qz4FZnlkkHC6LcuUPEaiHELAgmqLDfQ/3EJwrwzAM3CwMwxinnH322XhaiJ966qkh097y\\\\\\n\",\n       \"lre4ac26Qw89NHUbL7/8cjxz5sz4zW9+c6Z9wvqw7WZcccUVbvt//vOfh0xbf/313bQbbrihYTyO\\\\\\n\",\n       \"E+MvueSSIctg/Kmnnlof/tjHPhavtdZa8YIFCxrmO+igg+KpU6fGy5Yty3Q8V199tVv3XXfdFZxn\\\\\\n\",\n       \"/vz5Q7bP+Lbzq1/9ys1/2223NT2XTz/9dJzP5+Ovfe1rDeMffPDBuFAoNIzH9rOcc5RvM/bee+94\\\\\\n\",\n       \"ypQp8auvvtp0XpyPRLdI5y9/+Yub77LLLmsYj/Osx3MdkGU0b968uKurK/7c5z5XH3fKKae4+a66\\\\\\n\",\n       \"6qoh26tWq+7vueee6+a59NJL69P6+/vjXXbZJZ40aVK8aNEiN+5///d/3Xzf/OY36/OVy2VX93W9\\\\\\n\",\n       \"22uvveJtttkm7u3tbdjerrvuGm+66ab1cccdd5xb9s4772w4DtTB0LUb4n3ve19cKpXi//znP/Vx\\\\\\n\",\n       \"L7zwQjx58uR4jz32GHI+dtxxR3ecDI4L46+55prMdTvrNS/rVCvlCD784Q/HEyZMiB9//PH6dYB1\\\\\\n\",\n       \"SEZ73Qb6HsD7fMQRRzTM9/73vz+ePn16wzjcM7faaqthXy/6non7K8ZvtNFGDfci1FXU0/32269+\\\\\\n\",\n       \"nQDMs+GGG8b77LNPQ73r7u6On3nmmfq4Rx55xN2XspYNQHljfpzjNFAOvt8QXGuVSqVhHK4f3BNO\\\\\\n\",\n       \"P/30+jjUZ189a+WYudyydM2u4TPOOMPNd/PNN6fOx8cT+l3M8tvyiU98wl1LfF/CdYdjQ/3Q9V2W\\\\\\n\",\n       \"wdFHHx08l7pet3ofwvUmt3X88ce7urNw4cLU40vbJ33suM9tvfXW8dve9rYh+471APxu5HK5+Kc/\\\\\\n\",\n       \"/Wl9+uLFi+Np06bFRx11VMNyc+fOdfdoOR73OaxP1jWwww47uHuthOfNcn/Hudl///0bxmX9zeL6\\\\\\n\",\n       \"gvsZflckuM5Qzjzv9773PbetnXbaKT7xxBPdOFxPOH6ck1afWfj+hvu3BPuB+oFjkuf95JNPzvTM\\\\\\n\",\n       \"aRjG2MccWIZheMFXQR1m4gNfrUPADYEvnPjiJ+32KwJ8ccSXznbAcytcMHA+oF+GkmGd+FqLL4L4\\\\\\n\",\n       \"QtkMdjfhyy4s/K3m+5FOG3whxZd4OMMA9oEdAiHghsF5wLHI48CXUXz1ROgRXGwAIWJs4c+6Tz7w\\\\\\n\",\n       \"JRVfluGA6WReHnxBRtjOPvvs03AscEPg6y+OBaEIDPKCyPLBl2m4SmQoK84zzgs7niT8pRjJgFFe\\\\\\n\",\n       \"cKcwOI9wtGAcXANwKGA+hFLIL+lw9MBBgK/UDEKZ4HaA02Px4sWuk/ULTgOEmcCdhXXifLOzg48D\\\\\\n\",\n       \"15V0GDUDX/7/8Ic/OIcXQjsYuCpQZkikDucFXBEMvsbL+orjQl3BPsG9MNy6HSJrOTJwFMEVBrcd\\\\\\n\",\n       \"nIhohQsOLslor9tpwIUmQZ2GI02fr+FeL2n3TDhMZNkgoTjyHcKRokODEA4GZwjuO7h/IiwR9W69\\\\\\n\",\n       \"9dZrcI9gWzjXWcH24fzCuYarsplTTgNnibwe8LuEcsA9AffSZmQ9ZjhUcD3AiZKFtMTscMAgtBz3\\\\\\n\",\n       \"b7i8Ook8n7gHwVmHugV3EcLXcAxwEMEFBGevru/tNGDQ7n1Ibgv7iP2BG5SdysM5djznYL+wXriY\\\\\\n\",\n       \"NajDcDGhXBCKL38HcI5RjzBOXmO4X8FlhWssy/WsXWJwxw2nJc2sv1nS2ciObblfKBc0EINrFfde\\\\\\n\",\n       \"jIOjke/DDz30kDt++Tvb6jOLLg/cX+G0wv1enne43nH/NQzDMAHLMAwveMkZLngAueGGG1zeITwM\\\\\\n\",\n       \"r0jwMtYuCLHDQxls7+h8IHQlCwhPwcMhXkLw0A1bPx7e8bAuX6hCQOzAshDN9DazhKjghQsP4BCr\\\\\\n\",\n       \"fEjRAS8U8qWiHRDWgRc8vGBKAaIT4FhwzAif8qHLR74wM3jplcLsf/7zH3d+0sCLEspPh/lwmBam\\\\\\n\",\n       \"81+8iOmQWh2+irAOnBOEdaILHQsELKxTh9T41pmlTiO0xbccjgMv3siJxqGVQNcZHBeOj3OsDLdu\\\\\\n\",\n       \"h8hajjIEC+HECEXByxX6NaO9bqeh6zELN6jHaQJWq9dL2j1TT8O6gS88lsG2IYognMl3/8H5bEXA\\\\\\n\",\n       \"Qp1CiBZCpXCe8VKMl3CIk1la50MdR+gYxEeIMjLvEEKmmpH1mHF+0A03wT9EJAjrW2+9tQsb7TQI\\\\\\n\",\n       \"6UJ9hpjOOc30bwvujwD70AnauQ+l1f92geiOEDWIkqijaaIcnl8gwiAsUApCsk6ExEV9fSLlghaK\\\\\\n\",\n       \"9G9SJ8j6m5V27SOcHvmnIFaxgIV7Pa41fJCEOMVClvw40Oozi94275u+Z6DcWhWtDcMYm5iAZRiG\\\\\\n\",\n       \"FzyEZMk3gK9t+MqvwQMMXhS+8Y1vOEfEisbnpAh9MdYJVDlB9n//938HX1ayfvnFNpEcFrkf/u//\\\\\\n\",\n       \"/s+5EZBrCQ43jGuWPwxf3vEFFEna0aQ75sf+IYlwlkTemAf7gPxd+CqskdvnXCvNwHr0Qzh/jcbL\\\\\\n\",\n       \"JHJjXHDBBdRpcCx4Gb/sssu80/U++Y4XyITfKwM+b8gnFHK8bLLJJjTaGW7d7iTYNsCLIHKXabfI\\\\\\n\",\n       \"aK/bzfapnXrc6vWS5j7T07gOI1cS7ks+cP6lONAJ4MJ497vf7XJZ4ZxDAEbeL4gwyMOTBtwbmB91\\\\\\n\",\n       \"FDm9OPcU1pn1XprlmAF+O/EbmgWcB32OIeIg5w9+WyHyIadbJ8EHGgjQEFjgBEUOJogrcMiceOKJ\\\\\\n\",\n       \"bTcSMRJ0+j4O0QUOUuSAxDMKxHJ8yEEeqF/+8pdD5ofTGkIXnJ74PUa9Ybic4KDyiahwkmY5lpWN\\\\\\n\",\n       \"79pHmeDjCVyA+OiC3H/swEKONyT2R1luvvnmDfeSVp9ZrHVowzBaxQQswxjHpIUAIDE4bObNgMCj\\\\\\n\",\n       \"re5o/QfJevFigIfhkaCd8AX+eqdbM9NfI/EwhhcGCFvD/YrOwC2ADsmW8ZCMEDB8oURS9dCx4GX8\\\\\\n\",\n       \"5ptvdmIgkprqr76S0DrwYoIHfXzl3GyzzVL3EUllsa1moKVJ3VolHmbhFkALZkhGrh/cOwGOBeEF\\\\\\n\",\n       \"eKHo1EMv1okwiGbHiwS2HB4kHRI8nf/ifEEokeINkmNL2AmEF4Rm9Qvr9J1vvc5moE7ja7pvORwH\\\\\\n\",\n       \"jmv27NkN47FdJJBncFxoHQtJdbPW7XbIWo4MXJ5wqCAhNMQa3JNQH2UdHO11eyQYietFrhtAAEmr\\\\\\n\",\n       \"w6h32HYn6rDcNlxY6LBevCRDNEV4V9q9EGIr6vOPf/zjhvH4PZAJ0tPupVmOGeAFXl47aehE3QhP\\\\\\n\",\n       \"hHgF8Q/XAQSWToMwTGwHIeYQcuS++I4Z98i0Y876e9zOfahdQvuEsHGIdRBApVMUAlboY8I3v/lN\\\\\\n\",\n       \"5zCFCINzwoIilw+E4k49K3SCrL9ZzYBgBdcj7iO4RiBWoVzhkIN4hU6GIrbyzJK277yMdM3Cvddp\\\\\\n\",\n       \"p5phGKsm4WZPDMMY86BFM5+gA/BCANdBsw4vjTrMBnkW8BJ7zjnnrJR9D4EXDzyEyZZ1gM4lhK+k\\\\\\n\",\n       \"CI3Cg65P3GjWhLcED1z6SzF/vWd3Ah7ofcfCX2v18miFKWt5QIjEevBAqdeDYZnLBQ6TLOdcOzrQ\\\\\\n\",\n       \"IhWcKXgJQ2jGSH1RxZddiIpwT2jQslkrdYHBeb7//vtdTiENlxcEG3x9lq1eYXsIo4DAAicDz4fx\\\\\\n\",\n       \"CDVhsL86/xtedvAyhJwqEITS6hfWCTfTP/7xj4bpIVdNCNQBvBRfc801DQINWmKD6IQQEB3ugvBZ\\\\\\n\",\n       \"2RIpjgvHh1bYstbtdshajgDnHEIZcoTBYQMhCy4SnStltNftVeV6kSHmeHmHMOhztnEdRr2DyxCO\\\\\\n\",\n       \"KbQUKMuVXXNZQegZwpYk2AeICbK+4V7oOzbsi66vyBOGfHNZ7qVZjxlwDqwsnXTuLF261NV/7BOc\\\\\\n\",\n       \"V6HQ7+Hi+22Ba0z/FiKMDB8/8Jujy0Mum/X3uJ37ULuE9gn7ABFGOq+xL6ijIeC4xvlAvYUDEGGx\\\\\\n\",\n       \"AHUb+4v7ja/V5laeFST4XYDYlKUlaB9Zf7OyCFi4tnD+cW5YFOS8XWjpUea0auWZJQSEQHzcwb7K\\\\\\n\",\n       \"9bSyDsMwxjarxmdEwzBGNM8Vmhs/6KCD3EMDHs7w4NdODiy8ZONFEflEkNRWvwyiKfLh5qGRL8p4\\\\\\n\",\n       \"WMLXQeRVwJdU5KEI5Xth8LKLsEb8haMCYhYSP2swDxKwwkKP5rKREBwhIXg5xtfIrOEhaAobLwVw\\\\\\n\",\n       \"cODlB8lykagWD73sZMFLMdaPh024pBCigJwj6PB1HF9/8SCLnEhIgKu/kqedS2wTuT7QLDce0pGj\\\\\\n\",\n       \"CC98WAdEGyTIRShbu3mCcDx4iIeYgZCB66+/vmE6tr/LLrtQJ8BDN5pHR8gQQjrwIoTjxJdavIgi\\\\\\n\",\n       \"vw0SebcC9hnODORPQmgRyhHn9tprr3WhYngRRRlBbEIT5HfffbcTM7AMmhLHQzV/jUd5w+3yxS9+\\\\\\n\",\n       \"0ZU1zikcDr68H3Ap4oVgm222cfUL5Y6XuDvuuMOFwEFUAxCI8aKAL/9o+hzXJoQl/sLeCqgHeGHG\\\\\\n\",\n       \"dj/96U87JxGOCy8oqGMavNDiOoYQAscE6jGWRfhN1rrdDq2UI8oEIiyuSdwPUE64tnGsSOTOufdG\\\\\\n\",\n       \"e90eCUbiemHg6oBYCDETbozDDz/c3Z8gvOC+iTqAsFIA8RwuObzoot7xizSWa6UO4z7N9RF1AvUX\\\\\\n\",\n       \"9zBcN7jnMbiGIX6iDsA9g98E/DbAKYJwOewrfosefPBB9xul6wXOK0JQcf3j2sY1h98BCDlZj7nd\\\\\\n\",\n       \"HFj48IPfUdyLIJagYyA84P7dCXD82Ee4FfHBCcIE7jNaeMB5RlnimsRvLo4ZjjCIK8ihxSIk//5g\\\\\\n\",\n       \"XbhmcC3KczKc+1C7hPYJgjQ+ruFegXx9yNOE+zHqSlp9hMsUwhvubbhuIHjhnKN8kCYBYh/WD5cZ\\\\\\n\",\n       \"xFrcL3AfQ+hhq+D3GvdX7c7LStbfrGbg/obzg/s/1snguYQ/MEgBC+WR9ZklBMoPzyS4b+GaRXmj\\\\\\n\",\n       \"MQGkQZBOScMwxjEruxlEwzBWLmiie5111nHNQ2dttjkEN3sd6nSz5D7QRLKvCXQfF198sWvenZtj\\\\\\n\",\n       \"56bDfc1KyyaeP/axj7kmrtFs9wc/+EHXbLNu6hu89NJLrgnt2bNnx8ViMZ41a1a81157xRdddFGc\\\\\\n\",\n       \"lXvuucc1E73eeuu55tpnzpwZv+td74r/+c9/Nsx3++23u6a00Xy03Jfnnnsufv/73++aqsY+H3jg\\\\\\n\",\n       \"ga7Jcd/+pp3LK6+8Mt59993jiRMnum7zzTd3x/bYY4/Fw4Gb4Q51WZq85nqTFZQ/yqqnp8edw222\\\\\\n\",\n       \"2Sb+whe+4MqFCdUB1C1dv15++eX4M5/5jCs7lP+6667r9nvBggUNdeHwww+P11hjDTcPtumrz1jX\\\\\\n\",\n       \"Rz/6UdcsOc4X+u+9915v/Ucz8occcoirV6hf2D7qxm9/+9uG+R544AG3z93d3W4enOcf//jHbV2v\\\\\\n\",\n       \"qI/77befa0p9woQJ8Vvf+lZX93zn49Zbb40//vGPx6uttpqb/+CDD3bH12rdbgbKGuer1XK85ppr\\\\\\n\",\n       \"3PC3v/3thmXR7DvWt91227mm41eVuq2vaW5mfv78+d51ynOP+rHVVlt1/HrBPRXbuuKKK7zrxjk5\\\\\\n\",\n       \"4IAD4unTp7s6gPXgnnrzzTc3zIe6xPc33LMvuOCC+vFlBdcj7lm4d+Eehnqx8847x7/5zW8a5ps7\\\\\\n\",\n       \"d647Fhwr1s/Xe29vb/y5z30uXmuttVxZ7LbbbvEdd9zhvSegbm255ZZxoVAYcu1mPeZ2wLpC9U1f\\\\\\n\",\n       \"I2l1ln8L0/jb3/4Wv+lNb3Jlsfbaa7s6ceONN3qX/+tf/xrvs88+rkxR9ttuu238/e9/vz69XC7H\\\\\\n\",\n       \"xxxzTDxjxow4iqKG8+r7rWrlPnTXXXd562SzY0zbJ9w/N910U3f+UJ+wLV99xDDqnK4bqBcf+tCH\\\\\\n\",\n       \"4kqlUt8nHA/qJO7TG2+8cXzYYYc13Atxv0DZaXzbxbxZ7++hazfLbxbXl7PPPju4/je+8Y1unjvv\\\\\\n\",\n       \"vLM+Ds8lGIdnI03WZ5bQ/Q2gXE877bT6tbrnnnvGDz30kDvWLPddwzDGNhH+W9kimmEYBoMvhnBd\\\\\\n\",\n       \"IEeHMT5ADjV82befI2OsYXXbWJHgtxNOMTjCEKZsGIZhGGMNy4FlGIZhGIZhGIZhGIZhjGosB5Zh\\\\\\n\",\n       \"GEabIEGrTASrKZVKDU1uG8ZIgITSvqTSOq/Iim7CHbnEkEcrBPZHNr9ujF+Q34wTY4eQyc4NwzAM\\\\\\n\",\n       \"wxifmIBlGIbRJm984xvpmWeeSU2ibKGQxkiDVtGQKDuNdpMBDwe0gHnrrbcGpyMRvWyJzBi/IBk/\\\\\\n\",\n       \"klanYSHGhmEYhmFYDizDMIw2QYs+aa4BtPLUTmuOhtEKTz75pOvSQItf3d3dK7Rg0foVWvALgdY3\\\\\\n\",\n       \"0UqXYTzyyCP0wgsvpBZEO636GYZhGIYxtjAByzAMwzAMwzAMwzAMwxjVWBJ3wzAMwzAMwzAMwzAM\\\\\\n\",\n       \"Y1RjApZhGIZhGIZhGIZhGIYxqjEByzAMwzAMwzAMwzAMwxjVmIBlGIZhGIZhGIZhGIZhjGpMwDIM\\\\\\n\",\n       \"wzAMwzAMwzAMwzBGNSZgGYZhGIZhGIZhGIZhGKMaE7AMwzAMwzAMwzAMwzCMUY0JWIZhGIZhGIZh\\\\\\n\",\n       \"GIZhGMaoxgQsw1iF+OlPf0pRFNE///nPlb0r45avfOUr7hwYYcZzPeVjf/rpp1f2roxa7BoyjNHF\\\\\\n\",\n       \"kiVL6Mgjj6RZs2a5+9dxxx23snfJSOGwww6jDTbYYKWX0Zw5c6i7u5v+9re/rZDtvfzyyzRx4kT6\\\\\\n\",\n       \"3e9+t0K2ZxjG6MQELGNU8OCDD9IHPvABWn/99d2P4TrrrEP77LMPff/732+Y7+tf/zr97//+b9vb\\\\\\n\",\n       \"eeSRR9zLU6dfLm+55Rb30MddsVikjTbaiA455BB68sknW17fD3/4Q/ciPN5ZtGgRnXbaabTddtvR\\\\\\n\",\n       \"pEmTqKenh7beems68cQT6YUXXhix7S5btszVE5xXI+HZZ5+lT37yk+6huauri2bOnEnve9/7VtiD\\\\\\n\",\n       \"62hjuPeikQDnhu9BuVyOpk2bRttssw19/OMfpzvvvJNGM6OxPA1jvHw0wPWHdXzqU5+iX/ziF/TR\\\\\\n\",\n       \"j36UxjPyeQ7dlClT6C1veQtdf/31NBpZWc8sp59+Ou2888602267dXS9EKhwPJrp06c7ofV//ud/\\\\\\n\",\n       \"Oro9wzBWLUzAMlY6t99+O73hDW+g+++/n4466ig677zz3A8UXsC++93vdlzAgiAyUu6Iz372s+7h\\\\\\n\",\n       \"76KLLqL999+fLr/8cnrjG9/YsthiAhY54W/77benM844g7bccks666yz6Hvf+x699a1vpR//+Me0\\\\\\n\",\n       \"55570kg+DKKe+B4Gv/zlL9Py5ctpPAGRCkLIr371K/qv//ovVz+PPfZYevjhh+nNb37zEKF5PBC6\\\\\\n\",\n       \"F+HFD/UDYvzKANcM7kE///nP6cwzz3TXy//93//Rm970JjrhhBNoNOC7hkzAMoyVx5/+9Cd3jzj1\\\\\\n\",\n       \"1FPpv//7v2nHHXcc96cDH1H5XvqFL3yBnnjiCXr3u99NN95446grm7RnlpFi/vz59LOf/cx92Oo0\\\\\\n\",\n       \"ELBwPD6wvXvuucfVWcMwxieFlb0DhvG1r32Npk6dSnfddZdzDEjmzZu3ShUQXubhJAOHH344bbbZ\\\\\\n\",\n       \"Zk7Uwo/8SSedtLJ3b1SxdOlSZwX3US6X6YADDqCXXnrJPZDtvvvuQ+oMBK2VQaFQcN144dVXX3V1\\\\\\n\",\n       \"Gu43CFkbb7xxfRoEkf3228+Fm+CFZ9ddd6XRRBzH1Nvb6/Z9RZHP5123soB7FS+gElwrH/nIR+g7\\\\\\n\",\n       \"3/kObbrpps5lsTIZb9eQYYx28KyFD0WdolqtUn9/v3PUr6rg+U3eS/HxBmWED6v43RvvXHrppe4+\\\\\\n\",\n       \"DlFvRbLFFls4Jz4cg29729tW6LYNwxgdmAPLWOn85z//oa222mqIeAUQpsTAxg3RA2IQ27qRBwA8\\\\\\n\",\n       \"88wz9OlPf5pe97rXuZdV2IwPPPDABqcVfuwwDsCVwOuQX6x+//vfOxEKwsrkyZOdiwouk3bhH9en\\\\\\n\",\n       \"nnrK/b3kkkvcOBwXwrDwMHT++ecPCQPCNm+99db6Pmq3UV9fnxMPZsyY4fb1/e9/v/salgV8teJj\\\\\\n\",\n       \"RJm/973vpX/961/16b/97W/dNrF9zYUXXuimPfTQQ/Vxjz76qBM4Vl99dfewCjfdtdde6w1vwDpx\\\\\\n\",\n       \"nnD86667bnAfr7zySufI+9KXvjREvAKw80PEklxxxRVORMH5X2ONNdyD5/PPP98wD+oLQhExHuFv\\\\\\n\",\n       \"6EcZfv7zn6dKpeLmQZ3BOIAvgHwO2M7uy9+D4c985jPOkYMHK5xb1OkbbrghU94K3zoh4sF9BsEI\\\\\\n\",\n       \"68NyJ598sjv3ets+qz3m5+sDDAwMuOOBgIHzhGsEZXvTTTdRGjjnc+fOpbPPPrtBvAIoa74eEUrg\\\\\\n\",\n       \"+yr8iU98wm0L5wwhtRDEJAh5wcsAzhnWt+GGG9IRRxwx5GXo3HPPdWWKfV9zzTXdevW6cMzvete7\\\\\\n\",\n       \"3Bdy1EOsD/uPc4JrXoP1QvBh0Rl861vfckIc9hnLo07hmpCk3YtCObDgWsP+41yuvfbadPTRR9PC\\\\\\n\",\n       \"hQsb5sF1jn2FUxT7O2HCBLd/3/zmN2k44DjgJMA1iusGwl67ZfvXv/6VdtppJzcvwqThTpBkqWe6\\\\\\n\",\n       \"vofK889//rPrv/rqq4cc0y9/+Us37Y477hhW2RjGWCXL7x2nP8AzCsLj+Prj+xd+b+DK2mSTTdy9\\\\\\n\",\n       \"a/bs2c6N5Psdwm/gZZddVr/P8e8fto97Ou4t/Nv4k5/8pGF53o/f/OY37h6F5wPcP/baay/nfNIg\\\\\\n\",\n       \"JPqd73wnrbbaau5ZZttttx3i2M/ybNKqcILfKTyzSrKWEe6BuBfiuQvnAs+r+E1nQr8dXDYhd1Wz\\\\\\n\",\n       \"Zxbck1EWL774Yqbj5OcYlBn+4v7re3bBfAgfxLFI/v3vfzuxD/nUsA6cy4MOOohee+21TNvHtn7w\\\\\\n\",\n       \"gx+4fhnGqd1xcBbL3zLDMMYP9gnUWOkg1AYvIRBF8GMZAi9gCC3EyxNyugB+oYZ7C6GI+JHEjyV+\\\\\\n\",\n       \"0CEM4YUQL4N4Edxjjz2cGwphaHhowMMI4L9Y/6GHHupepuFYwMs31oEHjnvvvbethJn8oIOXOID1\\\\\\n\",\n       \"4eHtPe95j/tyhR9gCDp4icQLLcDL5DHHHOMeCiDgADz4STAdD254aMKxYhk8PCJkMY0//vGP9I53\\\\\\n\",\n       \"vMO9eOLhBmE8CP9C/gJYsnGMEO2wbTxIIueDBOvH/vN5gtCGZfGS/cUvftE9SGI5PCxDhIKwJsGx\\\\\\n\",\n       \"4kHrlFNOcS+sIfghM2seDjz4wfGGcE2ETcG5hYdZOIZw7qQ4igd3nGM8eEGsQJl8+9vfdnUJzhTs\\\\\\n\",\n       \"H84T+rH/cIIBPCCngRf7q666yh0jxE/UMzzEIXcUn/9WQF3HCz0ewD/3uc+5B3YcG8RG3wt9M3C+\\\\\\n\",\n       \"sTxfQ8gvBvEI5x0PgyFQR/EQ+sEPftA7HYITrhEIo6hP0u2EOomyx7Yfe+wxV64Qm/mBHF/99913\\\\\\n\",\n       \"X1fmqD+YF/UZ5SiBoMLnGNcwXrYQaoxzi3OMnHMMtvPhD3/YLYOQZLwkfOhDH3L7ACEOD9XynCG8\\\\\\n\",\n       \"F/cNBvUG1+fBBx/sHAS//vWvnfB93XXXuWuj2b0oVPZ4sdh7771dveKywH1L7z+Eo7e//e2u3qHM\\\\\\n\",\n       \"IZ4h5xtCOHHttguuadRnhN/inojruNWyxYsk6uPHPvYxd6/ESyheNiDy8fraqWeh8kRIE14G8VKs\\\\\\n\",\n       \"7yUYh3l22WWXtsvEMMY6zX7v8PyD6+/44493z074rQG4J+O5BPdC3CdxXWJe5CuFk/Pxxx8fEkKN\\\\\\n\",\n       \"3wD8/uO+D6EHzxP4LcZ1zAIX1osPhbiH4N6gk8V/4xvfcOkjILJB8IB4j3uxzOEHIQhi+lprreVC\\\\\\n\",\n       \"2XFPx+8i7tEYbufZJAvYH9yf5b0+axlhf7DPeI7Axx4IXbifdiKHZLNnFgiI2C/cs5vlVv3DH/5Q\\\\\\n\",\n       \"d5rhPo6k6fht0B8cIYrh90u7efGbifoG8Q7PqTg32D7ODT7YINqiGfhNwu8yzjPqpg/85qCMUa5p\\\\\\n\",\n       \"7w2GYYxRYsNYyfzhD3+I8/m863bZZZf4C1/4QnzjjTfG/f39Q+adOHFifOihhw4Zv2zZsiHj7rjj\\\\\\n\",\n       \"DnyaiX/+85/Xx11xxRVu3J///OeGeRcvXhxPmzYtPuqooxrGz507N546deqQ8RqsD+v9yU9+Es+f\\\\\\n\",\n       \"Pz9+4YUX4uuvvz7eYIMN4iiK4rvuuiu4n/vtt1+80UYbNYzbaqut4re85S1D5r3kkkvcdvbee++4\\\\\\n\",\n       \"Wq3Wxx9//PGu/BYuXJi6n9tvv308c+bM+OWXX66Pu//+++NcLhcfcsgh9XEf/vCH3Xzlcrk+7sUX\\\\\\n\",\n       \"X3TznX766fVxe+21V7zNNtvEvb299XHYr1133TXedNNNh+z37rvv3rDOEDvssIMr9yygnmBft956\\\\\\n\",\n       \"63j58uX18dddd53b5imnnFIfh7qDcfIYeHs77rhjfRjnEPOdeuqpQ7aHcfrWieFSqRQ/8cQTDeWK\\\\\\n\",\n       \"8d///vcbtr/++us3Xed9993nho888siG+T7/+c+78X/6058atu3bT2xHXivbbbddvP/++8etgusC\\\\\\n\",\n       \"y6bx2c9+1u3HAw880HC+UabyOv7mN7/pxl9zzTVu+Oqrr3bDfH34+Mtf/uLmueyyyxrG33DDDUPG\\\\\\n\",\n       \"45gxDtMkjz322JBzAT796U/HkyZNargu9TWK/Ufdetvb3pbpXsTH/tRTT7nhefPmubqx7777xpVK\\\\\\n\",\n       \"pT7feeedV79nMLjm9T2rr68vnjVrVvxf//VfwTKSx592jr/zne80lH87ZXvbbbfVx+HYurq64s99\\\\\\n\",\n       \"7nMt1TPfNRQqz5NOOsltQ97bsN1CoeCt94YxHuH7jryXZv29C907fvGLX7jffNwnJBdccIFb79/+\\\\\\n\",\n       \"9rf6OAxj3ocffrhh3o997GPxWmutFS9YsKBh/EEHHeR+4/l+y89QW2yxhbvnMd/97nfd+AcffNAN\\\\\\n\",\n       \"4/lhww03dPv76quvNqxTPhNlfTYJgW1i3/EsgPvNP//5z/jtb3+7G3/22We3XEZ878X6QujfDobL\\\\\\n\",\n       \"Rj636meJtGcWrA/TfPdX3zMizpe83+IZHcvL7eFZx/ebeu+997rxeNYeDkcfffSQ3wjJ7bff7qZf\\\\\\n\",\n       \"fvnlw9qOYRirJhZCaKx08FUeDix8xULYGL644QsOvpxltXtL1we+DOGrEezccHTgy38z8KUHX4fg\\\\\\n\",\n       \"3FiwYEG9Qy4bfLlEKEsWYJPH1zCECMGtwWExsK7r/cTXPGwDLickLM9qrwb40ict1QgJxJdWuFtC\\\\\\n\",\n       \"wD5+3333OccELPUMvtLhHMhmieFYgTtGWtbhBMHXRkwDr7zyivviCpfI4sWL62WGssf5g41ch/DB\\\\\\n\",\n       \"EZMlPxC+zMLFlAW4O7CvcD7JfBso/80339zbapBOOorya6e1SAncNfLLLMoVYXPtrJfPhU66zV/H\\\\\\n\",\n       \"22kJCdcCvlbivLQCzm2zc8HTcd50PZUOHnythfOQj4+dcfg6i+vWB0JD8dUWdVRem/gCC1eRvjbh\\\\\\n\",\n       \"CNP5SZDLBMnNpUMR1wvqNPJ3yOtS9uNrO65L1I8s9xEfcDzgqzScBnAWyGsB9UOfSxyTzLtSKpWc\\\\\\n\",\n       \"M2m49ZPXzee0nbLFV3mUBYN7HRxuct/arWchEHaKr/kyjBPnESG2OteXYRjUsd873B/g3MHvqLw/\\\\\\n\",\n       \"cGoEfX/As4zMowUdCG4n3GPRL9eBezTurfq+CrcP7nlyXwHvL5yhcInifqrTTvAzUTvPJj7gVsU9\\\\\\n\",\n       \"DikP8Ax38803u9BA+buctYx4X6+55hr3HLUigRMO5d/MfcXPiHBqSacUfh90fjSUJUAkgISXQxg/\\\\\\n\",\n       \"ohhGCt4uytowjPGHCVjGqAChXwgbwgvjP/7xD5fwHA8eCFdBuEszELqEsDSEm8CaDfs6HjwgSmUR\\\\\\n\",\n       \"hvhlCw8dWE52sFRnTSaPfYAYhoenBx54wNmgZRgc7OIQOjj/FNbPORBaEbDWW28974+5zlsjYXEL\\\\\\n\",\n       \"L5waPIDhQYDD+hDChAcR+cKPfogAEAMA7O94KEJzxrrMENoIdLlBXMgCXuz5JbsZaceFh0ot6kHk\\\\\\n\",\n       \"4nwRsvzSyq6dczKc9WKfIXZAhJXAjo96kyZUhkDYAq4HnD+Eo/2///f/XB1tBsSpZueCp2uhC3mQ\\\\\\n\",\n       \"JBBFEPbBOT7wwoNwBYTX4ZpFPjbkiZO5Q3Bt4trAS4SuZ0uWLMlcxyC84vrjFxeIs1iWBVkGYhpC\\\\\\n\",\n       \"XlBPIPRyeEYr12eW+omXNITy6nOJUA2d76MT9ROgvOR5arVss9TxdutZCFzD+H1AyCCDfpwjfX0Y\\\\\\n\",\n       \"hkEd+73D/QFitL438DNAs3sv8nLiXoBWmfU6IFT51tHs2YbTMqSFjbXzbOIDv0d4nsNHBs7bB1FG\\\\\\n\",\n       \"fojIWkb4nUFII0KlkRICYesIaVzRYlYa/Fukf7dDz1dA56BCHYDA96Mf/cj9pkMwRD6rdn8/Q/B2\\\\\\n\",\n       \"9W+lYRjjA8uBZYwq8FKHlxV0eADAQw6+cPFDRwjE2uPFF1/lkBMF4gt+2PCQkOUBgedBvL3MkcNk\\\\\\n\",\n       \"bTELL2wQqHzgwQsJSfFCds455zixDccLNwpi+Vt5kAm5mDqV0BIiIHJFINcSkk8jjwVe/tHUPcP7\\\\\\n\",\n       \"i1wVoRZ59Atm1tbgUEb40jpnzhxXTp1kpFqIy3JOQg9bnFBXM5yHM71O5IBDHcQXYIiyeMBEvbvg\\\\\\n\",\n       \"ggvcQ3UIiJs4FxCVUC98QKCA08r34JsGjg/Omr///e8u1xa+2sLFiBwtGAfBC/UMAosUMCT65SxU\\\\\\n\",\n       \"x/ACAWEc9xPcJ/DygPsExFrmL3/5i3OCoqxQ7yG24bhwb0HS8BXBSF7b3PgCX5etlm2WfWu3njVz\\\\\\n\",\n       \"YSG3zXPPPefqIeoG8nQZhjFyv3e4P+CZBs8rPvRvs7738jMCnJJw9fjQuSU7cf9r59nEBz4m8PMc\\\\\\n\",\n       \"EsZDkEEeLzSwwXmmspYRyua2225zjiwIYkhwj4+C+GiK+ySOu9Xng5UJ5/X0CaH4/YbTn38DkFsR\\\\\\n\",\n       \"+bRw305rvKcVeLs4J4ZhjD9MwDJGLRx2J1tOCf3A4yUYD0j44WR6e3uHtPIVWp5Dv/AyFxKghgte\\\\\\n\",\n       \"0PHyhbBI+ZXRF544El+VkCwfIIG0Bi3U4EEAzjD5wo/wR9jmkSAVD5DSrQL3CMALfqfLDCEHv/rV\\\\\\n\",\n       \"r1wzzRAdsh6XblIZ43h6K4zUVz18TdZ1EmgXDvYZD8b4usuNDAAIiVheHpNvnQhZ87U4BEcRRGF0\\\\\\n\",\n       \"cNhAbMCX5TRhAYlnEeIL4ccXsgU3FYQf1AH9AoP9l63/YZvYL7wMSOCmQYfWpyAUIWkvkqdjv3Bt\\\\\\n\",\n       \"IgwPX6+zCqA+8GUYoXh4acBLCByfEGmlKIdwFzgWIKTJ8RCw2q0jsn7yNcPnCKEwI3W/0aDsIUjj\\\\\\n\",\n       \"hYrrVKfKthP1LK088SECX/VxT4DbFvcc7ZwzDKOz4P6AtA748NbObyIEcLg9IcB06j7Hz2oQ40Pr\\\\\\n\",\n       \"HKlnEyQXhxj/5S9/2SVLR5m0UkZwbmE+dBC88EEQDfXgGRD7yW4z/XuexXHdiWcW/q3yhX/r50Y8\\\\\\n\",\n       \"w+I3g1vY1kDUQ4eyQgNL+I3BR4yvfvWrmfal2fHwduXzkWEY4wcLITRWOvjx9n1d4zw50roMgcUn\\\\\\n\",\n       \"AODrlV4HWtfTX65YoNHrwFc6hK3hgcKXiwdW+OHCXxblfsJW7Xs5Dh3ncICbBCGAEKXkuvEgiK9k\\\\\\n\",\n       \"WlTAAxVeRPHCjw4v/zJEAGIfWnm88MILvWLJcMoMoaN4+IGgAfHEF7LGLTRC6MS+4OFIhp6hpSMI\\\\\\n\",\n       \"b9xyXCug1UrQ6XOAh12ccxlShbLTrQryuUDrkhL+yiuPCevEl10JQjZ03eecFQzcTfgKrZv69j20\\\\\\n\",\n       \"o3wRCqbzpkAkhkiBOo3wWQ32Q15PCMVD7iJuTQ9fUfV1izoKeL+QxwTHcsYZZwxZP9bVyjmC6IGv\\\\\\n\",\n       \"wGg9DyGzWgThr+Cy7CDQ6da2WrlGcR3BaYlWKeWxIr8K6kI79bNVIPoglBm5YXDd8MtBJ8t2uPUs\\\\\\n\",\n       \"rTwhrqPOQNCGWwyuOfvybhgjC+4PCLm++OKLvfeUtJaE+X6KEHF8GGD353CfEV7/+te75xD8Nur7\\\\\\n\",\n       \"Bd9fR+rZBE585KHEcwXcRa2UEe69Gv1bx+Kc/D3H/Rm/o8N5ZsFvMD5S+soi9IwoQ/4QRqlTeUAc\\\\\\n\",\n       \"xLMXcpBKkAcTvx0SPMtBvGv2G5DlWZ25++67nYOaW781DGN8YQ4sY6WD8D/kFcAXLYSOwZmALzYQ\\\\\\n\",\n       \"TZB8knMlACQXhmMAL/JIlI4HGSRZh0sE4X/4QUOySYgemI9tzgx+nPFQddZZZ7kfaLgs4NrBAw9e\\\\\\n\",\n       \"rvGShwckfPHH18Nnn33W2b3x9Wi4ISv77ruve5GFuwiiAJwJeOjBtvWDBY4T+4OvVXj5wzzaXdQO\\\\\\n\",\n       \"Z599tnsRRJglmrHGAxaEPpQbHBL6AQU2eThh8BCGJrg1yG2w++67uwcUJKXGl0+4hFD+CPfBl8l2\\\\\\n\",\n       \"wLbhkMHLP9wbeEjEOcB45JuASwdfKyFwYRzOJ+oJciohET/24bvf/a6rP2gevFXwZRH1CHUQoawQ\\\\\\n\",\n       \"8pBzY7jNNaNenXjiia6uw1aPeo/zjG3IZLbbbbedcxTiwRUPcDgu5IbDgyVcQ9LVBFcLkvTiRQHJ\\\\\\n\",\n       \"VlHmcBDpF3wcDx7qUbdwPHjwhHMRbqQ0cA1hPggtuDawPaxr7ty5Liks8o2grHfdddchy+Jaxtdm\\\\\\n\",\n       \"nD98wUVYHuoLwvQAjgfjUB54eIcwiWsCYjKLeDh2XC8IQUCCWVxHOOf4SgxXGLYNwTML2A+ElaBD\\\\\\n\",\n       \"Geiv8zhG3FsgkHzkIx9x+UtQx3EN6jxOoXuRBvcRuAiR5wvrxbFzWSBUutOJyPEyBaEH4B6DFw+U\\\\\\n\",\n       \"E84XXr5Qlkwny3a49axZeSKMkPfFJ7gZhtFZ8DyEUGv8vuBDI36DIahADMF4/M6wUz7EN77xDbcs\\\\\\n\",\n       \"rmU8I+D+ADEHv3e43n3CThoQQvCbiecoPM/hdx/CC/YJzwbYp5F8NkFoHD7W4JkDv8VZywi5ASFM\\\\\\n\",\n       \"4TcGTif8tuA3ACF12E8AMQZOZPxeoFxw/8TzlxaEWn1mwW8CnEp4pmiWyB2/BdhH7BPC+bEfeEbE\\\\\\n\",\n       \"vnEORZkjDB9EIFrhNxsg/yvu9QceeKDbD+w7ns1ZzMwKfg8AnpPwgRnL4/lJimqoA5YDyzDGKSu7\\\\\\n\",\n       \"GUTD+P3vfx8fccQR8eabb+6atEeT85tsskl8zDHHxC+99FJDAT366KPxHnvsEff09DQ0C4zmlA8/\\\\\\n\",\n       \"/PB4jTXWcOvYb7/93Lxo9lc3HXzxxRfHG220UZzP54c0TYx+LIvmnbu7u+ONN944Puyww1wTymlw\\\\\\n\",\n       \"M8fNmg6+9tpr42233date4MNNojPOuus+Cc/+cmQppPnzp3rmrSePHmym/aWt7wl2FS23L48lhB/\\\\\\n\",\n       \"/OMf4912282V4ZQpU+J3v/vd8SOPPOKd96abbnLrjaIonjNnjnee//znP/EhhxwSz5o1Ky4Wi/E6\\\\\\n\",\n       \"66wTv+td74p/+9vf1ucJ7XczcF5POeUU1xz2hAkTXLltvfXW8UknnRS/+OKLDfOiOWU0D97V1RWv\\\\\\n\",\n       \"vvrq8cEHHxw/99xzDfOgLkycOHHIdtD0tL4doplmNDWO+iibp/bNi2E0+6zx1T80SY1jwHpf97rX\\\\\\n\",\n       \"xZdeeql3nQMDA/Fpp53mmgxHuc6ePdsdt2wWHFQqlfjEE090dR9lhPqLJq71tr/61a/GO+20Uzxt\\\\\\n\",\n       \"2jR37nG9fe1rX4v7+/vjLKB+HnXUUfF6663n9gfbe8973jOk+XB5vm+99db44x//eLzaaqu56xLn\\\\\\n\",\n       \"5OWXX67Pd88998Qf/vCH3Tpx3mbOnOnqju96u+iii9z5wL7jukCd+MIXvhC/8MILqU3Ba1D3sW9H\\\\\\n\",\n       \"Hnmkd/qPf/xj18w69gdlhGPxnZ/QvSjUFPp5553n1oeyW3PNNeNPfepTQ5qBx3W+1VZbDdkn3WR6\\\\\\n\",\n       \"CMyDbfM1i+sb68N5u/POO4PLDadssc98f8paz1opT6avr8/VI9ybly9f3rQsDGM84fuNbeX3LnR9\\\\\\n\",\n       \"47rFcwruI7gn4hrEvQK/Ta+99lrT30CA5zhMw28Y7n94Vthrr73cfafZMxTuoxiP45P89a9/jffZ\\\\\\n\",\n       \"Zx93v8Ix4rnq+9//fsvPJiHSjucrX/lKw/NWljK6+eab4/e+973x2muv7X778Re/fY8//viQfd57\\\\\\n\",\n       \"773devA7cfLJJ9efw+Tzne83IfTMwmWo76khrrzyyniLLbZw+7DlllvGV111lXd7OK+FQiH+xS9+\\\\\\n\",\n       \"UR/35JNPuud5PDvjeQ3PYm9961vdc2crlMtl9w4wY8YM91sm6+u//vUvN9zqOg3DGDtE+G9li2iG\\\\\\n\",\n       \"YRiGYRgh8CUfzix8dUf4pWEYhrFigPMMLfdyC8IMnPyPP/64y4O5okAjLHCzIYzQHFiGMT6xHFiG\\\\\\n\",\n       \"YRiGYYxqkIcMuWsQSmgYhmGsfNBC+F133eVaqV4RIMciWrZFeg0Trwxj/GI5sAzDMAzDGJXceeed\\\\\\n\",\n       \"Lv8Y8l7tsMMOLm+XYRiGsfJBa4RozCUryD2L3KtpzJo1KzUnp87FZRjG+MMELMMwDMMwRiVI2Iyk\\\\\\n\",\n       \"9EjY3CwBsWEYhjF6OfbYY13jLWlYZhvDMJphObAMwzAMwzAMwzCMEQOt4r7wwgup8+jWgQ1jpEFO\\\\\\n\",\n       \"NbTSjrxqaBX+6quvdq2MpoGccCeccIJr/XT27Nn05S9/2eWKM1YM5sAyDMMwDMMwDMMwRowtt9zS\\\\\\n\",\n       \"dYYxmli6dCltt912dMQRR9ABBxzQdP6nnnqK9t9/f/rkJz9Jl112Gd1888105JFH0lprrUX77bff\\\\\\n\",\n       \"Ctnn8Y45sAzDMAzDMAzDMAzDGLegcYBmDqwTTzyRrr/+enrooYfq4w466CBauHAh3XDDDStoT8c3\\\\\\n\",\n       \"5sAyRh3VatVZjCdPnmytjBiGYRj13CiLFy+mtddem3I5a0R5ZWO/1YZhGEanfpvRIEB/f3/H9km3\\\\\\n\",\n       \"VNnV1eW64XLHHXcMCXWF8+q4444b9rqNbJiAZYw6IF4hntgwDMMwNHPmzKF1113XCmYlY7/VhmEY\\\\\\n\",\n       \"Rid+myFebbj+JJo7r9KRAp00adKQFitPPfVU+spXvjLsdc+dO5fWXHPNhnEYXrRokWtls6enZ9jb\\\\\\n\",\n       \"MNIxAcsYdcB5BTbf/DDK50sre3eMVZaoyfBoWddIEXdw2dGyLmM8U6n006OP/rT+G2GsXPg87E7v\\\\\\n\",\n       \"pAIV7XQYbXHNaz+3kjOMVRgINzAeDOe3Gc4riFfP3L0BTZk8PIf1osVVWn/Hp52gNmXKlPr4Triv\\\\\\n\",\n       \"jNGBCVhGx3n++eddfPDvf/97WrZsGW2yySZ0ySWX0Bve8IZMy7PlE+KVCVjG8ESiXIfW1UnRaUWF\\\\\\n\",\n       \"PlU7uK64Q8IT75OJWEb76LAAY+WeB4hXhcgELKM95AumYRjj+7d50uTIdcOhWntmx71lJO4vs2bN\\\\\\n\",\n       \"opdeeqlhHIaxLXNfrRhMwDI6yquvvkq77bYbvfWtb3UC1owZM+jf//43rbbaalbSxgpkOKLTcAWr\\\\\\n\",\n       \"0ZKbJ9dBgUuXSbuCVq6DYphhGIZhGIYxVqjEVarEw1/HSLLLLrvQ7373u4ZxN910kxtvrBhMwDI6\\\\\\n\",\n       \"yllnneVspHBcMRtuuKGVsrGCBZt2BKhoJTmzOrGedkSh3DDXw/vc6nYjsW0TswzDMAzDMIyVA3Jl\\\\\\n\",\n       \"PfHEE/Xhp556iu677z5affXVab311qOTTjrJRRf9/OdJuPMnP/lJOu+88+gLX/gCHXHEEfSnP/2J\\\\\\n\",\n       \"fvOb37iWCY0Vw2ixChhjhGuvvdaFCh544IE0c+ZM2mGHHejiiy9e2btljFlY/InaFIPk8npdWeZt\\\\\\n\",\n       \"Z92trKMVOrG94ZTFSJW7YRiGYRiGMdapUtyRrhX++c9/uvdVdOCEE05w/aeccoobfvHFF+nZZ59t\\\\\\n\",\n       \"MGZArILrarvttqNvf/vb9KMf/ci1RGisGMyBZXSUJ598ks4//3x38Z988sl011130Wc/+1kqlUp0\\\\\\n\",\n       \"6KGHepfp6+tznUwGaBgrToePOjBfmtDTqe03W0eWH+w4sD25rJ4ej5ATi5fl5UfW8m0YhmEYhmGM\\\\\\n\",\n       \"Xqru3/DX0Qp77rknxXH4GfanP/2pd5l77723rf0zho8JWEZHqVarzoH19a9/3Q1DwX7ooYfoggsu\\\\\\n\",\n       \"CApYZ555Jp122ml2Jow2hKt2QwWjDgtj0Qo+Bh/48W32ox3aVtxCOVQzlGu7IY1ZjsEwDMMwDMMw\\\\\\n\",\n       \"jPGIhRAaHWWttdaiLbfcsmHcFlts0WC91CC2+LXXXqt3aPbUMNLzJ7Uq/LQSQsfrb7auXJN59Ty+\\\\\\n\",\n       \"rtMhhO1uT8+Ttl9Z973d0MKRKBvDMAzDMAxjNFOJ4450xtjGHFhGR0ELhI899ljDuMcff5zWX3/9\\\\\\n\",\n       \"4DJdXV2uM4yREUR8/aH5fPNkGReaJ8t8naTV8D/ffByO2GxdUQvTWgkzbPcYDMMwDMMwjFWVdnJY\\\\\\n\",\n       \"+dZhjG1MwDI6yvHHH0+77rqrCyH84Ac/SP/4xz/ooosucp1hrFjDaFaxK4vQFHVo31a0q8gnLPkE\\\\\\n\",\n       \"ojQBiufxCVZpIlbaurLA+1rJOL9hGIZhGIZhGGMZE7CMjvLGN76Rrr76ahcWePrpp7uWGs4991w6\\\\\\n\",\n       \"+OCDraSNNmgnlCzNTSXnidqcluuQmDVSEdzVjNuoimPKB6b7hKqQaytL/qssgpeG983yYxmGYRiG\\\\\\n\",\n       \"YYxV4J6qmAPLaIIJWEbHede73uU6wxge7eS5kn9bmSct1DAkaLUrkGVZfjg0E8ZYYGqW0D1NlEpz\\\\\\n\",\n       \"VTUTqYbjyMKxWZJ3wzAMwzCMsYaFEBpZMAHLMIxRSKu5ruRyrawzGiERq51cXe0KWs3EpdAyIVeV\\\\\\n\",\n       \"Fvl8gpfOaxW1GVrYap4CLifLb2AYhmEYhmEY4w0TsAzDWIWdV1mEn7RWAkOiVNoyoW206tLKus1m\\\\\\n\",\n       \"tOJIij0hgzI0L+SOyrUQXhgKLfTtZ9bQQwn2xcIJDcMwDMMwxhKdaEXQWiEc+5iAZRjGKixepa0n\\\\\\n\",\n       \"bTmfw8q3TMiVlWthe82OKUvoYxpZWvhjwSeryNaKoKXFLHZI6f3Ry/jI6q6ycELDMAzDMIyxRLUD\\\\\\n\",\n       \"iSIs0cTYxwQswzBGAa2KOGnzR8MQonzLZ2mlMDRfaBvNlmmFVpOnZ8mHpcsrFEYYclk1y3MVpYxr\\\\\\n\",\n       \"RcTKIt4ZhmEYhmEYhjEWMAHLMIxRQtYQumaiT0iM8YlYaTmsZH+uQy6uLPMPB+mG0vi25ROc4kDI\\\\\\n\",\n       \"oCSUcyuUF0uLUiGRKkvuLIkldTcMwzAMwxgLVDrQCuFwlzdGPyZgGYaxioQNpglXreS50ttLc061\\\\\\n\",\n       \"ktjdN9wstLDTNBN0Kp755Q99yGmV84Qi6nl886WJUmkhhWmhiBrLiWUYhmEYhrGqU4mTbrjrMMY2\\\\\\n\",\n       \"JmAZhrESkAJIM/Gq2Xwh11NIcAqJTs3yWmURtHIZk8S36iLTpP06pwk/eTU+JBzJ7VQz5MvSoXxc\\\\\\n\",\n       \"FnEL+bFCSd7lvoSQZZ81GbxhGIZhGIZhGKsSJmAZhrGCySLgyHnl39D0tPmjJgKWnJa2/rQwwiwh\\\\\\n\",\n       \"ha3k68oiYPlEGnZPhYSfakDQijPmqgrly/KN9+0bpexbWlhhltxYzfJuGYZhGIZhGKMVS+JuZMEE\\\\\\n\",\n       \"LMMwVjCths5lcV6lOaOa5aWSzirf35CIppdrFk7oOw4ISJ1EhwiSEqi0YKWna8cVKWcTKSGJwwZ1\\\\\\n\",\n       \"K4e+BO+VFNFLCm8hJ1ZWQYrX4ysLwzAMwzAMYzRSpYgqmT5wp6/DGNuYgGUYxgqi1aTlWXNetZPn\\\\\\n\",\n       \"Ks09JfdThxiGxKx8i6GHaY6yrD+8oVC8UNJ1PU4OVzyhf7ycb3ucLN7nUNNOK16Oy0iLXXL9WcIJ\\\\\\n\",\n       \"swpZ+SZJ7Q3DMAzDMAzDWJUwAcswjBVAK8JM1EZ4oN5OaB4pTIWWSROt5Hi9T1GT7TcLJ0wbH5o3\\\\\\n\",\n       \"zrCeUNL1KCAu8TKMLzF7SOTS+yUTuaflx9LzhNYfCj8M0aroZRiGYRiGYawMqnHSDXcdxtjGBCzD\\\\\\n\",\n       \"MEaZgMXzNxuXJeyv2Xg5TQpMIQdW2nIh4cu3j755OoEvlE8nbpfzaFeV3DcWuXxiltyGFqmkMyvt\\\\\\n\",\n       \"+KSIpv/KZZvl5UrDBCzDMAzDMIxVgUoHQgiHu7wx+jEByzCMUS50hcSvZvOFxKJm4pNvfJaQQp/T\\\\\\n\",\n       \"SruumrV0OBxYPJLr1CF0LDzJMD25nHRZSbcVr0cLYTzdJ4I1y4/la6VQTmdCbi3fvIZhGIZhGIZh\\\\\\n\",\n       \"jFVMwDIMY4TJ4jSKWkzAHnJOyelZwgLTXFe+vFa8vWbOrVC+rPwwnWmt5sSSicylG6vqyTXFIpV0\\\\\\n\",\n       \"X/kEoopHtIqa5NzS+bG4X5az3r4WrLQbLGs4oRbsDMMwDMMwjNGGObCMLJiAZRjGCOHLBxWaT/6l\\\\\\n\",\n       \"FobTQgV9ApYWnELLRE1Er2brTnNkaWdYWpmECAk22gHlm6ZD/LRzK+S0Io/AJIflfrfikAo5sHzr\\\\\\n\",\n       \"0KKaL/TQB58bn8hnGIZhGIZhrGyqceS64a7DGNuYgGUYxgjRirsoLUTQJ3D5nFd63lYFpFwg5C8k\\\\\\n\",\n       \"XPmm+ZLEt9JCod73ED4hxifMhNYjRSLplpLhfnKadG7J/asGwgP52CrKPSXnizK4rPQ++4SqZuKV\\\\\\n\",\n       \"LgsTsAzDMAzDMAxjVcQELMMwRgAdKheiWYigHCf7fU4nuW1fiJ90SYWELp8QpYflfGkCVlqYIu9n\\\\\\n\",\n       \"s7LIQjUlbDAUxifD/7SAxcMypK+qQv50bi3ytGYohS85D5eNFLfktuX2fAJV1hBDH7z/sowMwzAM\\\\\\n\",\n       \"wzCMlY2FEBpZMAHLMIyV4LoKzRPKZ+Wb3my8T6zSwlM+IG7p/tA0XpZFs7Qww5DopsMVm5WRTziS\\\\\\n\",\n       \"gk4+IFLJ8TJBe1wTdGIlMmnhSi6rwwa5XwpDOu+UXp9ONi/X1SycMCRYZXVZWTihYRiGYRjGaKJC\\\\\\n\",\n       \"OdcNbx3GWMcELMMwOkRIiPHNJ//q8aF5fK6pNPFHC1A+8YkyCFU6MbsONcw3cWr5tpOl3EI/4NUm\\\\\\n\",\n       \"ApYeL9fLQpUMAeRh+ZMvQ/5kq4RSvJL9cpgC03m9PN13bvV4Hifn0ePazYml12UYhmEYhmEYxmjG\\\\\\n\",\n       \"BCzDMFaw+4rnbbZsSNAJOZvkPKFE6z5RKaswlRvGOvS++o43a9hlvsm3Ju2+8rUAyNNY6PE5maQY\\\\\\n\",\n       \"JNfDy7GjSob7SSeVHJauK5lLSzrBfOF/PmFNC1b62JqJV2nLGoZhGIZhGCuDuANJ3LEOY2xjApZh\\\\\\n\",\n       \"GMNEi0hp88m/WcMGQ8JPKDyQmghNaXmutBAlp7FwpKfJdeltyP2Uw3KffONbQSdg943naQWV40q6\\\\\\n\",\n       \"q6STS06rqOlatOJthPJjcS4s7pdiGItYsjVDnexdrzNLOGFWhxXvsxnODcMwDMMwViaWA8vIwvCC\\\\\\n\",\n       \"TA3DMDKRJWyQh33hfXreUGuBPjEqNCyFKV/H0wpimPt5vOyKtS40T7FJV2iza2W9cr9C25Xz+Mog\\\\\\n\",\n       \"rbxCIZih4VBIp6/e6PFZ6pJvvA/7WmeMb77xjW9QFEV03HHHrexdMQzDMAzDCGIOLMMwVhBpYpVP\\\\\\n\",\n       \"bPCFAOp+OSydTGn5r7TQEnJeNQshlNvIp2zPlyieSQsp9JWZz02kQwYZ6WzyOamk64lzY8lWAque\\\\\\n\",\n       \"/pxoPVCGC2oXmAw3lHmw5P5Ip5UMV/QdtyyPUE6s4YQTGsb45a677qILL7yQtt1225W9K4ZhGMY4\\\\\\n\",\n       \"phLnXDe8dXRsd4xRiglYhmEMA+2eCc2jaeagaSdskFIEKj1/mnjFolNI2GomfPnmDYUT5jOUkxR8\\\\\\n\",\n       \"fL/KUrTiUDjd2qAOxZNhgDoXFm8zbV4ZcucTrHy5t2TeKzm/PHYpcskE8+QZ30pOLB1iqJHhi4Yx\\\\\\n\",\n       \"fliyZAkdfPDBdPHFF9NXv/rVlb07hmEYxjimShFVhxkgVrUPl2MeE7AMwxhB8Wq469XiD6OFIjmO\\\\\\n\",\n       \"HVGUkrsqiyBVSJmmQ+ayrlfvpxzWx5gFncOqKIQYFnF8IpRvnOyvpEwri33Nul65v5xzSgtcLDJJ\\\\\\n\",\n       \"4Uq6v3jekRKbpHBnGOODo48+mvbff3/ae++9TcAyDMMwDGPUYwKWYRgtkjW3UFoYmHZbMaE8R7o/\\\\\\n\",\n       \"55lXO67kPM3CBNPCAnlcQU3Tjq3QdkI5n3zHlFZOOlyQ0WKVdF/5ErP7xCUWrKRYxEJRWQlJ0rGl\\\\\\n\",\n       \"RSYpTFWb9Mu/vP8y3DEUXijnlWGMoSTv1GR8qMzNg26MbX7961/TPffc40IIs9DX1+c6ZtGiRSO4\\\\\\n\",\n       \"d4ZhGMZ4w5K4G1kwAcswjDbI6hRqltcpTaTyiTtaBJL7o0WiLA4pX/JxKUpJwUqLVtqpxfvhy52l\\\\\\n\",\n       \"163321emPoebz3mU1gqhFqukqMWiFW+rrPZRC1wsEsn1yeOU28oiYsnjrniEs7RwQll/dPnweJ+A\\\\\\n\",\n       \"lUWUMheWMfaZM2cOHXvssXTTTTdRd3d3pmXOPPNMOu2000Z83wzDMIzxSWdyYNkHyLGOCViGYYwA\\\\\\n\",\n       \"PveQz3mVJlJRINQuFI6XRbDyhQVqYUqP1wKWdm0Vmmy34Dke7czSx8rH5kP+MOs8V74QPhJhgXJ6\\\\\\n\",\n       \"Qc2rQwJZ4OJ9lTmwpCDG6yWxThluGBKx5P7L/Fxc3nrf5PYpRdySDi3tWDN3lWGAu+++m+bNm0ev\\\\\\n\",\n       \"f/3r6wVSqVTotttuo/POO885rfJ5maOP6KSTTqITTjihwYE1e/ZsK1DDMAzDMFYYJmAZhtECuTbD\\\\\\n\",\n       \"C9PEKy1I+RxJzVxXOoRPi1bauSXFqDRRSk7PB4QwLYrpUMNm4hp1yIHF/aFcVLq1wXJKInd2Y7FI\\\\\\n\",\n       \"xEIRhwjy9Eg5qORfWb68PT6GUE4seXza2cVlkpYTSwtUPsFKlmnoK50MjTSMscdee+1FDz74YMO4\\\\\\n\",\n       \"ww8/nDbffHM68cQTh4hXoKury3WGYRiGMXJJ3KNhr8MY25iAZRhGRkLiVGi+LOJV2jZ0f2icDN+T\\\\\\n\",\n       \"opZPLPI5rHz5rHzzFJoIWNpxpbfXTMDKZyhrmeuK0S0CpiVT14KQzoWlXVs+4YfdW5UmIo9cjy98\\\\\\n\",\n       \"ULuydD6rNDGUp6cJUM1ErGa5sJptwzBWXSZPnkxbb711w7iJEyfS9OnTh4w3DMMwjBUBWiCsNP1Y\\\\\\n\",\n       \"3mwd9tw21jEByzCMDEjBoVWaiVd6OBQiKKdnCRvUYpR0VIUErJAwVVAhhTys58u30JKhPrY0NxY1\\\\\\n\",\n       \"cV2RpyXAUAuCPMzOJ5nPil1acn3SjcTuq5zHiSXPJY9jh1ToGHwilhzHZSGPSYtwGp/Dqh0hSh63\\\\\\n\",\n       \"PQwZhmEYhmEYxsrGBCzDMJrgC2XzkeasCs2fayJsSVdSLiVsUIbqaRGpmUilp8lwwYJyYPkELd/6\\\\\\n\",\n       \"ef98+xISs4g8UTupVOrmqzTRKiRgcT+HBhZEv8xBxYIV97PwxRuXAhgLWjyN1ymR4Ygy7E+HE7J4\\\\\\n\",\n       \"xPPwNCkmsbjlSq9FscnnzPKhQxsNY2xyyy23rOxdMAzDMMYxlsTdyIIJWIZhdACfcOULHfRN8433\\\\\\n\",\n       \"LafDA3W/zjcVEpi02CU737h8EwFL/9XzDe5TPp8Idrlc5DqMiyKiKMIw/taOtIkBq1rTUtDQCvrx\\\\\\n\",\n       \"N46x/Ziq1RxVq4koU6loR5YUpqSQJN1YPvEop/JbyXMjxSydi8oX9inzXclhXl6GE0qBSrqptAtL\\\\\\n\",\n       \"hx36nFe8rnZbJzQMwzAMwzBGMoQQ3fDWYc90Yx0TsAzDSGE4ziufCCUFKp+4Ecp71Ey8kq4sLWZJ\\\\\\n\",\n       \"0UonY/cJVdJx1UzA8glfgw6vKEpusVGUcyJVoZAIVxCoWLDivwVxN27mxBp0XhGVyxCxopqIFTlB\\\\\\n\",\n       \"C9Nj14xwzv2N40QQwvRBkYlFKRm6xyIVqdxYvvOsxSy3BSEI+UQkGbrIf+W5lIKZFLFkfiy5Hb1d\\\\\\n\",\n       \"jc5jpcUqX7hhCBO6DMMwDMMwDGNlYgKWYRgp5NoUr/Rych5f2KAMJ5TzhXJGsWAk59PTfLmstFgl\\\\\\n\",\n       \"p/sEq7RpIddW4rqCaAXHFcQodBCo8JfFK9nPw+zAyipgQaNCP0Qr7gaHI6pUIidwVSp5qlRiKpdl\\\\\\n\",\n       \"mJ0MBWT3FffLaVx2snVCLXZJlxwvF6uk77ysdIVJh1WWnFhazOL1aVhc84UJynXI+fV8erpPsDMM\\\\\\n\",\n       \"wzAMwzA6QSWOXDfcdRhjGxOwDMPoQD6r4axHCldapNI5r3S/FKl03ikd3ucTn0KClZ6v2bRkO1GU\\\\\\n\",\n       \"p2IRTqtBUapUGhSpZD8LWCxcDceBJYUsKWj198t+CFroz7tlBgbyFMdSuCor0UqKW9KtlTZNOqrI\\\\\\n\",\n       \"kw/L1y9zZ8nwQx1iKMUqKYSlCVnUJHywVTq1HsMwDMMwDENS6UArhBV7RhvzmIBlGIbCl4fKR9TG\\\\\\n\",\n       \"+FCIoC/PlW+6dGrp8MFQ4vaQU0onZ5c5rHzuq6KaPjg/nFYIDcTfYjERo7jDMItVWsBi8YqnuyOs\\\\\\n\",\n       \"DaeRhAgm/YMhg8lfKWBh+zwd/eVy4shKtseCFv7KvGEsGHHC9oFAyCbjyz1FGYQe6ajSDi6Z4yoU\\\\\\n\",\n       \"9icFMz2dc2mF9iEUDtgsTLCVkEPDMAzDMAzDMDqJCViGYQzDfRW1KFL58mIxg63xNV+/zoOlwwi1\\\\\\n\",\n       \"C8uX50oLUdJpJafx+OIQ11WS26rQIFqhn4e5XwtY2n3FYpY7wlperDQ4cTtg0crnwpIC1sBA0iXu\\\\\\n\",\n       \"q2R75XLOdUmeLOTRkkncWSCS5S6TtYfyT5XVPOWUZaQYqXNeZakLOhwwLd+VHOcT3LLmuGoWbmgY\\\\\\n\",\n       \"hmEYhmG0SjXOuW44VPkB2RizmIBlGEZKHqrh5L3ieXma7Gc4FFAvE8p/pTtfuKB0VEmHVcEzLIWq\\\\\\n\",\n       \"QoqAVRoyjxSsursHRSuIVNp9xcPSgaXzYHF/szxYMv+VDhnU+bAQQgixikUuFrDQ8TT09/ZGLqQQ\\\\\\n\",\n       \"ObLK5WJNdOIOO9LvyYk1oEIK5XnUSdd5WIYQyvEFEcookWJUVTjE9DQpsMmQQnZhsSCmBSsdesjj\\\\\\n\",\n       \"mrnHWCSVLSEahmEYhmEY7WIhhEYWTMAyDKMF11WUMY9V2ry+7YVyX6WJV3KazIEVcl3prqhEKjlc\\\\\\n\",\n       \"VK6rpB+Oq1wuR11dVM91hX4pWqEfnXRfsYglHViYpsUsHUIo3VjadSX7pWjFghULWEkS90YXFsYn\\\\\\n\",\n       \"IYVJh33p60vCCwcGYurry9daNpQhhBXRz+esHAg7lUncfcMgr9bDYX8SneCdRSxuIVGGGnI9TBOf\\\\\\n\",\n       \"fCGAvqTuPG+WlgnlugzDMAzDMAzDGClMwDKMcU/WnFdMq0KXL6xQj9P5rMgjYvk6X5L3kGClXVmh\\\\\\n\",\n       \"RO3csYiVdPl8vtaqYOQcVyxYoZ8FLAhBUsDCX9kCIQ9DlJKhhRxKyIKVzIflE7BYrMKwDh2EQCXz\\\\\\n\",\n       \"XuEvi1gsXLGoxg4s3kYyHsIVxKyolh9Lny99jmUidSkeaSFJizzSUcXnUq4rCtQJX6J4uR86hDAK\\\\\\n\",\n       \"jG9Wf1sJJ/Qdn2EYhmEYhpGVagdaEUxr0scYG5iAZRjjnuHFmmcPSwyJIGmJ20OuLOm60iGFaZ3O\\\\\\n\",\n       \"ZcX9OY8DazBsMIqKDSJVT89gPzuwuF/mv+LQQpkDiwUk2VIht0Co3VghpOsKsECFYe5nZ5UUtnhb\\\\\\n\",\n       \"LK719Q2Ox3ZZ0AIDAxCx8tTbixxZ+lzK8ynzWenQQbe3AYEnFs4sWUdkziy5PQ4F9NURFsukiCWF\\\\\\n\",\n       \"Le3U6iQ6P5hhGIZhGIbRKlXKuW44DHd5Y/RjApZhjEt8CdObERKZQm4ruQ3feN/2WbnRLQ36cl5F\\\\\\n\",\n       \"Ip+VL4m7dFXpMMGhDquhea66XLggXFcQoth1xQKWdFmxiMWdLzeWL4TQlwNLOrBCyJBBnQPLF0LI\\\\\\n\",\n       \"iduxnyxSYRp3ELJ4GoalO6tQiKi3t0iVCsIKZaJ1zo/FohMLTzLMMFRvqkp84hxYWEfo4GNPKKEW\\\\\\n\",\n       \"jaJAInjZKqEez/Nrx1ir4YH5FKHNMAzDMAzDMIzhYgKWYYw7WhWvQjmt0sSr0Hp06JcOB+T90+JX\\\\\\n\",\n       \"KBcWj9MuK58bSwpX2pGlBa0iFQo5KhbRJSGDUrBiAYs7DEsHlpyXwwZl64QcTpiW0D2NZonb2YGF\\\\\\n\",\n       \"bbCgJfNeoZ8dWDLMkcUrwCJWEtqIJO+5mqjVJcqfc1dJsUcOSyFHuqT4p0cKUFJkkq4pOU7WEylm\\\\\\n\",\n       \"UWC+NCFJC1Q+waqdEMEs2zYMwzAMwzAklTjnuuEw3OWN0Y8JWIYxLtBC03CWD42LWuj35bDyhQpq\\\\\\n\",\n       \"51ZoWSlYhUIJc03yXg06tHK5vBOuurqihjBBdluxoIWO3VlS0JIClgwplIndeTwnbQ85sLhVQtkq\\\\\\n\",\n       \"sHZgcVJ3DhuUCdsHnVRJh2EpVuGvzL3F2+Z+TMO6IWKhDJEXKzFicaheQTmPZOL1fEDAkuGB0hUl\\\\\\n\",\n       \"RauKJ+eVnM7b8LmudO6rUA4snevKl/sqaz4svYzlxzIMwzAMw8hKlSLXDYfhLm+MfkzAMoxxQbtf\\\\\\n\",\n       \"I7KEDaZtLy23lc8JFsp5JQUozn+l3Vg+FxaHGepQQhk2KPuLLmQQzistUk2cOOiykg4sFrC00CXD\\\\\\n\",\n       \"C1ms4vG+MEKfAyutFULtwJLhg+zA4hBCjIfbCsMcJsihgxhmYY3Hs+CG/mXLamfG7VuS4D3Zjs99\\\\\\n\",\n       \"J4Wjak0Q5PPAglRBCEIcMsjuKapN53BESZzivpL1iqdrZ5WcLy1fVSfCCXk9jOXHMgzDMAzDMIzh\\\\\\n\",\n       \"YgKWYYxZhmOhDYUNhubV4X6t5L3yOa1kLiufoJUWNsihgLrVQQ4TLIl+7pLhYhHOq0R0gmClBSwZ\\\\\\n\",\n       \"MsjCFMb7HFgyN5YMJ5StAOoE71K04pYJJbLFQRazIDKlCVhStGIRS3ccRshhhdxKIvrZIcYilztD\\\\\\n\",\n       \"OYhYebfexnMoz5+sA+zUYmGrfkSqHlWUiCQFKc55xeN064VpCd513qu8ELl8gpWP4Tiq5LVooYWG\\\\\\n\",\n       \"YRiGYRgaCyE0smAClmGMKYYbKiiXC4UNtroNn8tKCxwyJFDOx3+jjDmw9DjputKiF7uBkg7Oq0SU\\\\\\n\",\n       \"QujgoHDFfzGOx0+YMChgYRqGpdglWyVEx+4r7ucun49deytRXKV8FBPFiTIVVYhyUnNhYqIcZuOy\\\\\\n\",\n       \"i3JUKEUUR0mrLXBFcdJ2dBCgsB/ssuL9gGjV2zu4H27V8WCLhOjn8EHO285OsKSVwohyuZiqVWxT\\\\\\n\",\n       \"hhBWamUbK8GJz4WsEzweVFW+K18+KxlSSIGWD0P5r7KEAerQQj4m3zythhWGrpmRaBXRMAzDMAxj\\\\\\n\",\n       \"1aOCZ9lhtiI43OWN0Y8JWIYxpsgS3pd1Pc3G+4SukMPKt3+hfFfazaUFrJBTSwpTjeLUUDEr78l5\\\\\\n\",\n       \"lQhYLDRxx+IVhw2iXwtWcli6sxpbIoypx7VkGFMeDqdCnET6QyFy1qmajYptVjLplSxNtkTV/hah\\\\\\n\",\n       \"LBWKFOdyBDlsoBy5VZXLUc1VlYT8QbBiMYtdVixgJTmuBvNiYZc4nBH9SSL3ZD4ehgsLYlYco3VC\\\\\\n\",\n       \"3jtO6s4ClvyJ4eNhgUrmxyoHnFW6tUIpVqXlxSJPSGNaGF+zXFm+edtF5v4yAcswDMMwDMMwsmIC\\\\\\n\",\n       \"lmGs0vjySLVDK3mtQvNrccm3/tBXEenI0WGCPFz0uKvkPFKkKgbDBBtDCAtUKCQJ2zmXFXcQoliM\\\\\\n\",\n       \"4pBCOY37Zbihzo/Fw07AQkt/EGoqtaRUy2s2KY73080JYtiHzvbO8X25HEWFApU4gVVPgXp6CjRQ\\\\\\n\",\n       \"28zy5Y0hhBwuyKIV9hUiFzqslvvBoGOsMV8XErpDzEI4YeLMki0U+uoFo1sqlOGFMn8VztGAEMRc\\\\\\n\",\n       \"AaiQwGoLQpHMz+UTxeT+8Tp865f1v10hiuus3KaFFxqGYRiGMT6pxpHrhrsOY2xjApZhrHJol1In\\\\\\n\",\n       \"1pd1e2nDaePldnw5reQyOv+VDA2U7ik5rSDG+RK26xYHEwErn887hxJaG4SLSgpYGGahSopZ+AvB\\\\\\n\",\n       \"ioUqX34sFra6u+GJqlCuWqaoF4mo+ijiRFWcnIrFKgz7klwNOR0qSVYtgVXEiatqw3GxSPlSF+WK\\\\\\n\",\n       \"RSp2Fairq+AEKYhW+Ms5r7BZuSgnmZdCFcQr2SKhrh/J+DxVKkUh6Mhk7bESpwpCROJ+no9FnYon\\\\\\n\",\n       \"5xWLV1pY8rmwdH4tHZYol9UiF++Lb7r3pHTATSWvBXNnGYZhGIYxvnDpMIYZAoh1GGMbE7AMY9QT\\\\\\n\",\n       \"jUCYYJY8VllCBH3iVbNx0qETCiHU29a5r3xJ3aWgxc4snR9rUNjK5XJUKEROwGK3lMx1JR1WUsCS\\\\\\n\",\n       \"ghYLVhC7OOeVy49VrFKxGFORKhQN9CeiFZQi2KC4WUDOss5Z1zGuHQGLM8HLpgMLBefGinqw7hLl\\\\\\n\",\n       \"iiWKi1WiUp7yEUILc/Xk7DKEkPNcsflLtoDIYLd5GMslw1Et6jFH1SrnwNI5sfhc6PEy55VskVBO\\\\\\n\",\n       \"Y8eVFJ90XZF5stxeKzEqzQUmx8m67WvJ0JcXS9OumJV2XVu4oWEYhmEYhjG+MQHLMMZNXivfelvZ\\\\\\n\",\n       \"ZpZxWlxgfHms9LAOO+O/oWVlrivd4mCoP3FeIedVPl8Y0lqgFqyk64odWuzA4mXQnyR1j93wpIlE\\\\\\n\",\n       \"+ahCeYQKLuttjNuDgMXiFf5yP3ecZIpFLR/chKG0SXGMHyfe4n6ss1SiCF1XF3V1d1Ohu0ClrsQ1\\\\\\n\",\n       \"lbQ0GA1Zte7nnFha3OLox2S3I6pWE9dVInCxUKUdWdKB5Zumc1vJusEuK9laIW9LOrN0MniZ+J3n\\\\\\n\",\n       \"9wlUaYJVmojlW8dw0NePObIMwzAMwxjbVPEhNB6mA2uYyxujHxOwDGNM57ZifMJT2rZ9y+tl8m1s\\\\\\n\",\n       \"N20+7Zzyuap8ObBk2GBjiOBgf6khH1ahkBuSz0oLVpMmDQ6zSCUFLO7H+HoOrGKVIhenV0sgxfF6\\\\\\n\",\n       \"UsDSDiwWr9iNxS6sNEQS93rcH/ezeIW/MiFXTZ3LdXdTrqubpk3ppr6BXL2lQszOid6lO4tDBzkH\\\\\\n\",\n       \"lhSw2CiG6e4sRjjEgmud0J/rKpTviR1ZnJ9Kuq/kunx1M6u40yzMj+tapYkoJfNohdbj28fhIPNl\\\\\\n\",\n       \"Wa4swzAMwzDGHhWKXDfcdRhjGxOwjBHlG9/4Bp100kl07LHH0rnnnmulvUJdVlnCBLNMb8WJ1axj\\\\\\n\",\n       \"AaKZEysUJqiTu4daF9SurMHxCJ9D6CAEGdnaoBawWPOR4hZ3nAMrEbdi6i5VKB+XKbesn2jZskHR\\\\\\n\",\n       \"ivtlCCGLV+zMkjmwWMBiW5P3dNTUJClgsSOL7WTKgVVPdjVhQhLOODBAUbVCxUIX5bryFEXJTwGL\\\\\\n\",\n       \"VCxKyZYHAf6iPKSAJY1j6EdCfAhYlUqhJgZVRflzwnYeJx1YMgeWFrHkXxlWKF1aPqcWi0y8LCOX\\\\\\n\",\n       \"I880LYr5xK9WwwpD87aDFPLMnWUYhmEYhmGMD0zAMkaMu+66iy688ELadtttrZSDhELuOkUrDqi0\\\\\\n\",\n       \"8aG8Q5QyHAoZ1HmLdE4suT2fyBXq8k1yYEGoQYuDg5F2nLjcF0Yoc2HpsELuursgXlWpSGXKlWsC\\\\\\n\",\n       \"1dKliTiFTopZWsBiYUvmwNICFneuSGqKkhaw2H3F/VgPC1hYH3aenV68boyPIir0kMuPRaVEdMrl\\\\\\n\",\n       \"knLn3eB+aQzD6gGvijW4RLwazJGFXFhI7D4oVskcWLKfxSZ9fnmaPPeVwF+mouqXrEfaMcWiVLPw\\\\\\n\",\n       \"QTmfFrXkfGl0OrwwhOXJMgzDMAxj1cRCCI0smIBljAhLliyhgw8+mC6++GL66le/aqW8wsIEow7O\\\\\\n\",\n       \"nzXnlRab5LRmxygFKvK4q7So4WuB0Cdy5T3hg8h7lfO6rmQYIbdAyGGD7LhCSKFsoRDOq65STMVK\\\\\\n\",\n       \"/6BoBYFqyZLB8EEMQ8TyCVg6nBCqD7dKiGEg7U8cyyetUhzjp8MGZUJ3Vuh4O6zK1RSoXFcXlSZO\\\\\\n\",\n       \"pNzErlr4IMSswdWyhsablgnceVd52qBxLKpFRsowUw7Ni1POGc8nhS7piOIQPzmvFrhCdZlFLN26\\\\\\n\",\n       \"oM+J1UzU8tVjntYsTFGvqxPhhXJ/Q6GNhmEYhmEYo5ek/enhhhAaYx0TsIwR4eijj6b999+f9t57\\\\\\n\",\n       \"bxOwGvC5Q9rFJy5loVlyw5BwpZcLiVcyX4/cJs+fDyyr59H5sGRYYCJINQpV3PH0xjxYSNquWxbk\\\\\\n\",\n       \"YSlMyTxXHCqo815NmYI1lyk/0J8IVlrAwl92YKGfxSspWnEIocyBlViXBsMKfcgE7hw2yEnc0Y9t\\\\\\n\",\n       \"SDGL4yFZRGNHFgtmXV0UVSpUmDSJonyJ8lNQZoOmLt4NNn2xtsYhhDxd6m6YD0ndly8vUqXCzqVk\\\\\\n\",\n       \"vQllFTYohRyej4el6BQr4UqGErIbi91ScphFHa5bnFxersMnWslwRlnnQ8KTrNdZhCTfNTscQUte\\\\\\n\",\n       \"pxZaaBiGYRiGYYwtTMAyOs6vf/1ruueee1wIYRb6+vpcxyxatGgMnpVOhAq2K1hlmU87p/Q033Sf\\\\\\n\",\n       \"GJc2TopUWvDSOa/k8r7E7tK1w+KWzn812HHeKx02yKGDHD7I5iQWuXiexkTvMRWjMuX6eynqr4lU\\\\\\n\",\n       \"HCqIDmIWRCT0s2jFIYWYllXAYjVIw64rKWDJJO5YNwtYHPeHg5HrZYsVK1BRRFE+Tzk4ytzxFurl\\\\\\n\",\n       \"z5GNvCjKgZO34xB4Oqfb4gjFxAAWURwn4YmN50S3QihdV/L8sutKO6VknSGV68rXr8MApVgVuiZD\\\\\\n\",\n       \"biw5Ts9LLc7jmy+0H1nptChmGIZhGIYx8lgIoZEFa2fS6Chz5sxxCdsvu+wy6uZsz00488wzaerU\\\\\\n\",\n       \"qfVu9uzZY+ysyJft4YhXuhvucnpc2vSQeCYdH775dCJ2vc5m0/T0tLxXvv6kQ24nNilxdJ0Usbjj\\\\\\n\",\n       \"8SxWyTxYTrzqjl2XrwxQDi0NQpBiAQsdhuHAYlcWxnE/dzxdzsf9ixc3/I1V55sn2OlthvZPdLm+\\\\\\n\",\n       \"5e7Y+DhZuJMhlzzMZSUFQC5D1s+SSEdfMv20c+dL4K/rQ1od0iKnFrt0/eZ6GnJGNrt+fNdSs2sv\\\\\\n\",\n       \"jXaXG4n7jmEYhmEYxoqhEuc60rXKD37wA9pggw3cu+vOO+9M//jHP1LnR8Nkr3vd66inp8e9tx5/\\\\\\n\",\n       \"/PHUiw/XxgrBHFhGR7n77rtp3rx59PrXv74+rlKp0G233UbnnXeec1rl4RQRoJXCE044ocGBNTZE\\\\\\n\",\n       \"LB1G1w6t3oRbfeENzSuFqdB6fS/9Ujhotl2fo0qP8yVm124sOU2HE3L4YKOTSiZs5yg75LjSYYUc\\\\\\n\",\n       \"QsjhhKV8hQqVAaLFiwZzXUH8gWuQHVfoZwcWi0ZwV3GIIduWOIm7dGDJbOm1/gYfECduRydbIZTK\\\\\\n\",\n       \"HHYcfzlUkA+21gqhm86Z2Ll1RIDt1uxUhakRdZeKlMsX6u4rznOF3efdlJ1sSBEMmr0iGhjgc8FH\\\\\\n\",\n       \"Ix1YlcC5dGvxDMv6JcP/tBsrVO+4rvrcWXJ92nkll2snmbu+hrKG+Pn2uVV0onvDMAzDMAzj8ssv\\\\\\n\",\n       \"d++hF1xwgROvIE7tt99+9Nhjj9HMmTOHFNAvf/lL+uIXv0g/+clPaNddd6XHH3+cDjvsMJdD9pxz\\\\\\n\",\n       \"zrECXQGYgGV0lL322osefPDBhnGHH344bb755nTiiScOEa9AV1eX68YGwzE1tuOSaMfZkWW6dpL4\\\\\\n\",\n       \"5tPzapdLyB0jHVs+ISoKuHG0iCVzXvFfDk8b7BKRKqq7hnTeKxk2CH1HJnAfHI6pq1ChfLmfot6a\\\\\\n\",\n       \"KMXhgXBCoWMBC/1awGLxSrZIWBOw4kqF4nI5kRUgWMVxIlMI8apeojWlKFepuB9KqEr53l6KCgUX\\\\\\n\",\n       \"AugOENtiOxS2wwfJ4YIsmnFCKwyzOhXHydksFKjQM4GiPI49EbF0ovYkz9Vg5CMLWNx6YS29lgsh\\\\\\n\",\n       \"hFDT26sFLM5DJftJhRbK8y5bL6x4xrsDEHWR1yXzZPG6uY5VhWAlRSwtLkVq3TInV9ymSNWOoNWJ\\\\\\n\",\n       \"8EB5jVrCd8MwDMMwRgd4Cq0O0zVee5LNDESno446yr2vAghZ119/vROoIFRpbr/9dtptt93oIx/5\\\\\\n\",\n       \"iBuGc+vDH/4w3XnnncPabyM7JmAZHWXy5Mm09dZbN4ybOHEiTZ8+fcj4sUMovK6d5VsRo5rN32y/\\\\\\n\",\n       \"QsJUaL+iJv06lFC6ZEKhXb7OFy6oRTOfsMXLDLZeCJFHhg5Ko5IvjFDnw0rGx+5vvjpAuYFaLisW\\\\\\n\",\n       \"pLiVQSlYcT4snoYO8/O4vj6KIVz19zvhqlpLKFUWkoL0yAxpBy+OE6mOlSK3UJVyuZxLxh5VqxSx\\\\\\n\",\n       \"SMVNBUoFii1TKAge5oIBEML6+iiHv10RlUp56iphFUnLglw2LF5hmHUxlCkbymRZJ3oZ8mFpgVKf\\\\\\n\",\n       \"Z58IKkUlLUaF6o92UeWE6MWiDa9PCkC+PFlyvO73MUR2bDLdN1/WfFl6v7IQOg7Lk2UYhmEYxsqj\\\\\\n\",\n       \"3RBAvY6s9Pf3u+ghRAMxeJ5GI2R33HGHdxm4ri699FIXZrjTTjvRk08+Sb/73e/oox/96LD228iO\\\\\\n\",\n       \"CViGMWxaDdvzLd+J7bUjpIVu8qGQwdA8Os9OLqMo5RMu9HKhzufaksncIWAV6vmY5F+OsJO5m7SQ\\\\\\n\",\n       \"JQWtnlKVaLEQrVic4hxTehyHCnKeqeXLKWYBC+LVwIALra0IwYq9QLJNPunJkaVSFkeP/nwcO1dW\\\\\\n\",\n       \"Hh3UIhxgLRww4qzqDIcnSgGLE8Kjn8MSo4hyUUTdk0vU352jSi0kEOXBq+Qy4iTuPI0FLOxGktA9\\\\\\n\",\n       \"cucijqvKQcdHn1YnpCPKJ2RK4YXFLQkngJciGLdiKEUxKezokLuQCKWvk2ob12A74Yjtzq+Xlcds\\\\\\n\",\n       \"ApZhGIZhGGMD3SiYL+JnwYIF7nl8zTXXbBiP4UcffdS7XjivsNzuu+/uoibK5TJ98pOfpJNPPnkE\\\\\\n\",\n       \"jsLwYQKWMeLccsstY7CUpcOo3eWzkuuQiJaWzDm0vE+0YvIBR5YUr9L2Qzq0fGGCelwhME9RhRMm\\\\\\n\",\n       \"05A8XDutkM/Kl7SdE5TLbvLkWsqoYjURnnyJ2LmfwwZ5mEUsGULY20uVvj6qxrGTRMpCuCoLmYUl\\\\\\n\",\n       \"EOkTkiWvSy0SJeNkoZqQlUO+Oc5xhY5dWQgpZEGLQwhZxOLYQO6vubMmdPdQLodk+Mns3AohFseh\\\\\\n\",\n       \"8Wq4EUSsHmXIDR6y2DUwkKNKRSZul7mwqp7z6wspzAfCBn3hgr56znVX5sCSIYLa/6ZD7tJC/0Li\\\\\\n\",\n       \"mW8f9Hx6Hj1fdYTFLF3ehmEYhmEYK44qWq52qSeGtw6g8ymfeuqp9JWvfIU68V779a9/nX74wx+6\\\\\\n\",\n       \"nFlPPPGEa8DsjDPOoP/5n/8Z9vqN5piAZRgrzHGVNVQwy7rbcVdldWhpQSrr9Kyhgdo5pR1aPG4w\\\\\\n\",\n       \"FLBR1JBClZZweJ48RVGuwXnF/TpMkHNj+VxZReS9isuDIYIydJDHSfcVC1YcVlgTvKoDA1Qtl2mg\\\\\\n\",\n       \"Jl6xaDUg0phLB1alSTCaLhmWVYpiebiyoCYh1DDH4YQAipKrHjXXFeDCgXglCw1hiaUS5fNFKhZQ\\\\\\n\",\n       \"JnlXLuzAwuFzCCGHF7JoBc1Mljv+lstcJ+X5K9RKg88du7S4BNg5xeOly0o7qHi8HJb9skR5mpQI\\\\\\n\",\n       \"5faGBG+q7WZxTvmE7jRhzbeOrPOErud2xKx2ljMMwzAMw2ifCuVcNxx4+Tlz5tCUKVPq4335ltdY\\\\\\n\",\n       \"Yw2Xn/mll15qGI/hWbNmedcPkQrhgkceeaQb3mabbWjp0qX08Y9/nL70pS+5EERjZLESNozMaEGm\\\\\\n\",\n       \"HbIs69tOlnFpXS7DOnzbp4Dg5FuHDAHU47VAJX1EenntsPId66BQ5XNt4cejUEgELETE+UIIZccN\\\\\\n\",\n       \"+WnHVp6qlCv3NyZe53xWutO5sWqiVrWvjyoDA1SuVJxgJTvINv21fv47EBhOm6dfCGIN669UEvEM\\\\\\n\",\n       \"+8WiGneh45DHUjvuXGXAlYV0rnF5ymE5XpY5nwO44pIfdl8oqK+FSVnPtDNP1h9fCKovzFQLr77x\\\\\\n\",\n       \"up7l2rheml17aV0r94Bm95CVdZ8zDMMwDMNYeUC8kp1PwCqVSrTjjjvSzTffXB+H3LQY3mWXXbzr\\\\\\n\",\n       \"XbZs2RCRihspQ0ihMfKYA8swMpEWfpdG1pfArGGC7a4jauPYooyOLv2SLtfpE68o4COK1DgpbMh+\\\\\\n\",\n       \"n/Ah3TwFKhSS5O0sRuk8WCy8SBdWY+uEsRuXX94Xdlj5Op62dCnFtRYJOVSQhSb0cwhhWTiveDx7\\\\\\n\",\n       \"e0IBY7pk5dHzOlgKAnG1SvlqlYq11gaR5N2BQoDjivNeySTuNfeVm15TpQo9RFFP0qojErpjNeiH\\\\\\n\",\n       \"xiWTuEshsDEPFueVj6i/v6COnlsWlEem6wWp8EDZGqF0aLF/jdclHVs6zFA6uBiZa4uXkfVdtmIo\\\\\\n\",\n       \"l5F5tDTa+SWRIYtyO75lJTq00Ue7ea70ctZaoWEYhmEYq04IYVZOOOEEOvTQQ+kNb3iDS8p+7rnn\\\\\\n\",\n       \"OkcVt0p4yCGH0DrrrENnnnmmG373u9/tWi7cYYcd6iGEcGVhPAtZxshiApZhdFy8ijokbqVNl46l\\\\\\n\",\n       \"VvchTYhqtg0tUslx8qatXS88TUouPoeLFqykMBWSboaGFfpaGJQ5r7iDACMFLBa0uiFeuRYHe4eG\\\\\\n\",\n       \"CqJf57hC3iuZA2vZMpe0nR1WLFixU0rnwKoE8mCFgsR08GTeI2AVatNjcaMvLFvWKGABqEsQqziE\\\\\\n\",\n       \"EP1S9eMYy1yOcoUCdXd11RO1o8w4BxaXJefA4rLmHFgsZCXhhTJcMBYhhL6OxS4Wm2R90qKXTuKu\\\\\\n\",\n       \"ha7II8ZIEUwi827J9WniDKGCaaKUftjROaiyiFCh0EaN3I9WxCwt8hmGYRiGYXSWKuVcN9x1tMKH\\\\\\n\",\n       \"PvQhmj9/Pp1yyik0d+5c2n777emGG26oJ3Z/9tlnGxxXX/7yl13L2vj7/PPP04wZM5x49bWvfW1Y\\\\\\n\",\n       \"+21kxwQswwgSEnaGu0yaYNSumNWp+ZvtkxatuF/+WPhCqHhZ3e9zaPlcOCFH19Blcjm0eJcYidDh\\\\\\n\",\n       \"N4ddVzK0TTqEZBgci1uwFkWc/FwmQsdfDr/jMDs5jETtaGWwWm1wX7HjSgpYZY/7SubCIk8mJn3k\\\\\\n\",\n       \"uo09ucyQswL1CHmxsK9QmzgPFodHcmHx8fLxDQwkZVHqp1Kpi0q1YpBlxjmvuAFELms+D9yfbBIO\\\\\\n\",\n       \"Lt/5yysxSx5trPq1w0oLTT7XlayfspSkOCPX70vA7hOB4ibXThbhKNSyYVq+Lb2+tO3oabIMmqFF\\\\\\n\",\n       \"NMMwDMMwjLHBZz7zGddlaYysUCi4hPDojJWDCViGkUo7XwFaFaJCL7pyOItbK8u2mk0LubN807U8\\\\\\n\",\n       \"wn99olRIqNKCVZRRzNIurMSVE0VoKS83RDTh/pCA1ZjPKaZiISZaVh4UcnydFK1quaNc2CBaGyyX\\\\\\n\",\n       \"6wIWdwMeAWtAhRDK9vhYttCyhi5VKWAxvvTjbn4IWOUyRbXs6xHUJBQOH4MUr1ih4v4kCzsVJ8Q1\\\\\\n\",\n       \"0SoJ0+SWB7lfJm+XItbguYiciJUIWFKwkgnafV0oMbtuHVALWzzdN06GC3JpVVPEGl/4X0hw8t07\\\\\\n\",\n       \"eFpWEYqnha5jOc131kNiUyviFWMuLMMwDMMwRo5KHLluuOswxjYmYBlGA75QoGY0E5coZZ3NRKZc\\\\\\n\",\n       \"i+JTSMjKsu0s65Xz+MQsLTjxNBlCGBKiOHQwyWM1VPTi8Xq6XDZyIgk7qtAfCifUXU9PLVouV6Wo\\\\\\n\",\n       \"UhOvoMywuKNbH+RxKpyw0tdXF6d8idi1A6sScGCl5cCSJZMXnW6rT4pgLFcUKxWKKhXKY79hVeOW\\\\\\n\",\n       \"B6XShOPhPFgcG1gTs6LKABVyBerqyrsyQ/GgmGRZymHOj8XnglsvRB4t5MMa3HsO5SuoIEopVvF0\\\\\\n\",\n       \"nibrt0/Cky0aap+anM9HrFpD9OW44lKnQL4svT4+XjlOim9yvM9H5wsv1NuQ06Qo18xVlUXQStsX\\\\\\n\",\n       \"wzAMwzCMVSsHlrHqYQKWYbQkRGmiNkUr37Kh7YdcWbkW15vm/MoqmDUTs3wOqkFxKSxg8XRfris9\\\\\\n\",\n       \"j57GAkiBcrk8p2tqELJkqJuvv6E1wlyFItlCnwoPbGi9T/ejxUEVLiidVyMhYMn5sfxNCxfShS+9\\\\\\n\",\n       \"RC/099P6XV104qxZtM+UKQ1nwpUa9pdVPk4IxpY0TOOmGXFstWlRbVqxkKNqKSnrZuWL/Fg8DCEr\\\\\\n\",\n       \"SbcVUblccGLWoMiU5riSIYTVQG4sn4DlE6KkQ8qX9yoXSF7uuzaqTQQtuc1WcmelCWAhoYun6UDS\\\\\\n\",\n       \"VhK+tyJIhVxqhmEYhmEYhjF64qMMYwwSEnmazZtVdJLL6em+9UmJgufxCTl6H0LTfMtRE5EoJCLJ\\\\\\n\",\n       \"/fGtW7ux9Py+ffKFGqaVCcsxgy4vJFRExyGDnG/J9zeUG6tQiF36SKe0QHnBX+5PCyccGKB4YICq\\\\\\n\",\n       \"lUqDIMXdHWssoR9vMr9hnM6JJRO7o7tyk/l0/xpLvEKXnpfnuXfpUvrys8/Se1ZbjX616ab0tilT\\\\\\n\",\n       \"6FPPPEOPIKxRLYN9jfkYdY4v2elyKJcpF1VcWeny0+Wr/8rpfL6GOvWa1VtdF3z1SA9ToN9X/3zX\\\\\\n\",\n       \"XNbrw3cNDueabeUeoO897dyb2r0PGoZhGIZhDI84zlF1mB3WYYxtzIFlGI52wgbTpoVeKH3zNnNq\\\\\\n\",\n       \"pc3n21YrL616na0Mh0IIfQKDz1WVJj74hAPfOgZzYCExuBamtGglc2Fx/2AurJgK+ZjytTxRUrBp\\\\\\n\",\n       \"SN4uOzGuirxXHmHq9jWW0FG7PkXLCzEtz8X034/PHDIPt8PHTqorN5tHl249l0rliD5962za/pXJ\\\\\\n\",\n       \"NBGtAEaRm37HwoX0m3nz6MW+PurK5Wjjnh46fYMN6DcLFtDOkyfTR2bOdDf3o2fNojuWLKGfLVhA\\\\\\n\",\n       \"Z627bj3bVJlv/gMDlOdWB/lYpAOLbVOyHLBMd5WqeeTCSvJgpSVsl3/ZkcXDcZyEEqbnwIqaJHH3\\\\\\n\",\n       \"JXSXIYS5lH45X+TJK6VDAqsZ3FI+R5LvutTOrFDurGoLYYK+PFh6uajJfoam+eDtOyudYRiGYRhG\\\\\\n\",\n       \"21Qoct1wGO7yxujHBCxjnJMmIIXmD90YswhMTD7jvFIYkn9bXU9+mIJWM7FLh3CFwgZ94lQ+NTF7\\\\\\n\",\n       \"Y44rvezgMuy+4sg32cKgDG3T0/CXUzxF5VrOK52sXbmt6h0ngFq+3AlY2i2FkMH7py134hU4b+u5\\\\\\n\",\n       \"btyHH59ZDydk0cr1xzFduOHzdNPWr7j5+wsxnVt+luhhoknFIu01bRq9YepUOufZZ+mja61Fb5o6\\\\\\n\",\n       \"lforFfrX0qU0EMf08LJl9ME11qgnh0eJ7TJpEt2yaJEbx+JVxH/7+ykPFQkhgixe6eOTwpYoh1yE\\\\\\n\",\n       \"EMIuV3ac88pXvpwDS7ZOiPFYZaXiO/+6vsiwPM6TRZ4wQPlX1ttqk4TooZA6rsfNcj3JaTJUMY2Q\\\\\\n\",\n       \"0KSFIH2MOl9WKFeWXE/UpKXDUH6sLMfRSjkZhmEYhmEYxvAwAcsYx7QS/tLMRZVlfBanlV6umQsr\\\\\\n\",\n       \"tGwzV1ZoPb6wptCx6GXSQgx9oX8yZKyZyBVyXg32o3U7DmOT4Wo6dE06hXS4G8F9xYoLu458bizx\\\\\\n\",\n       \"F6GDcRy7V3duSVCG6330iRnUm4vp+1vPdSVz4dZz3bQPPD6zPi+6exYvpu+v/xy99npITQkTX9yT\\\\\\n\",\n       \"Jq77Vqq+Zxn1Pf8vuu7Bm+ia+fPdtI0mTKDppZI7+vV7etzfV8tlmloo1NvGw9/VCgWaL9xhXGIV\\\\\\n\",\n       \"TpderVJOHVNDyKCvLFBG1WotFDDscNPlL88N5oH7qlzW7qt8EweWdCrJYSnSRgFhR6a5J7WsFHek\\\\\\n\",\n       \"qKOvA59oFLeYG0un1pfXlV6PFN3k9tIcVXI92kXm26ZvX3zCVxqtil6GYRiGYRiDVOPhJ2HHOoyx\\\\\\n\",\n       \"jQlYxjilnfwtoXmjjP1Z50tzOjUTp7KIV6F5sqzHJ2rpTru2sohSPqErtNzQLopyDSGEg3mWBodl\\\\\\n\",\n       \"f0joigZqAhZ3LNrocUrUgXOKQwFZxGJxCn8PfXym6/9hTcT68dZz3fABtfF/ePllumDD54n2HCzx\\\\\\n\",\n       \"aQOH0tRpBxJNS4YnbvFmmrbHIbTkkVto4R8vpFP+8x/aeuJE2m3aNNp96lQnXJHYBw6ok94luV/1\\\\\\n\",\n       \"+eKYcj6xTh+zGo4gfBX9ZVkvz1qZc//Q/FjIg8X5CtLqBwtPfFSyfkSBMEEWxdLCCHk+LSjJcdIB\\\\\\n\",\n       \"pQUsLnE9Ti4TEsV869FiW6TmlddemnOMAmKevhfo40pbNst29HoNwzAMwzCywXmshsNwlzdGPyZg\\\\\\n\",\n       \"GeMQn0gUmi9NtAq5rrJsz+eICrm8QqGJejlq032Vb8E5FgoplOPThCkdGqYFi9D8acm9IV75XUAy\\\\\\n\",\n       \"FxOHrvE8ja0QxlRCCGGvEqxk/iufM6nWQcDiMEB2OkmxCN3BtbDBi2si1k9rTqw1/lFKxKu9lXhV\\\\\\n\",\n       \"PnDIWc+VumnK9m+nCZvsTPN/eSI9tnAuvTIwQL+aO5fO2nRTmlYo0MsQ1MR2F5TLNL1QaAhV5FBC\\\\\\n\",\n       \"J/EghFCGDWqBToZNSgGrUqbSBOTBSloV5JBBhAbKUM6QO0sKh0kooU+45HoSe9xYvpYEWeDS9VSK\\\\\\n\",\n       \"XlLUkqF5TDVlPONzLOnwv2oTMcgnYPEyzcIC5TReLiQgaSkzbT7ffsn7QahFRT2vhRMahmEYhmEY\\\\\\n\",\n       \"nccELGOcoQWfEGnzhASlVvNOyWV8rqso43xp22vmovJtz7fuZu4rvb0sObBYwCoEnFYFNW9BdI2h\\\\\\n\",\n       \"Zr6E7dIRxDmZfGGDdbcQXsyrNYEGoYQsWnFIoXQmyRb7agIWO5xYTpDhhNx9qJbA/ZKaiIVE7bQx\\\\\\n\",\n       \"EfU0F68khUmr0cyPfovm/fxzFPUupEK1Sne89hq9bsIEunfJEjpgxgxXotjmnUuW0NYTJtT3RfqZ\\\\\\n\",\n       \"MOxyYPGxcDJ3ecwsXLGYhbJxHdJkxnXnmy9ck3Ni+cpcilqJgKXPvRRMqmK8dDxxHWVJriBKPksO\\\\\\n\",\n       \"LC2E8XQpIPHy2rkl11FVP6d6nXp75BGmfPccKWjlA4KV73j0uJAQ5ttHKUJRm64sLZoZhmEYhmGk\\\\\\n\",\n       \"UyU0VhQNex3G2MYELGMckfWGFnJCZR2nRZ3Qen2uLN807W6S433rl/OmiVi+/fIJVKFl9f7qYe2C\\\\\\n\",\n       \"kYKWTNSuxStO2h5yZg1164RCBWVomw5p09OjmIWZWiuEdaGm1nnC6eLaNCmz6E6PP7AWNvjzmogV\\\\\\n\",\n       \"Eq9ycZW2WvAkrd63mF7pmkwPr7ERVaMc9b3wGPU+cz91b7ADTdnjo/T8td90pbVOVxdtPmEC/c9/\\\\\\n\",\n       \"/kO/nT+f3jR5Mv1l4UJ6dPlyOnnddYP75rracUTyGPmYdTnUjh8hhHFcdcncs4QPNoRqqmlh513o\\\\\\n\",\n       \"/GthRjqsGClC6XnlPFIQkmJOSAySAo4OOdTrDY0L5avSwhHvu2+8bx95vpDIFBLWfPOnjcsiYknX\\\\\\n\",\n       \"lmEYhmEYRjqVOHLdcBju8sboxwQsYxwx3LBBni7/+pYLCUTc73M2habp/Q7163WFRK80p1gWZ5Zv\\\\\\n\",\n       \"X33HIP9SiniVJlz5nFuRt1/nWdIiyZBcV5ESUZz7SolUUsCRQo4SdbQsIf0t8tVdCkf/9fhMunKz\\\\\\n\",\n       \"ebS0NChK5OKJdfFq1xcepE8+8L80o/e1+vT53VPpgm3fR7eWplHvnIdo0T+voWrfMopyBVqnVKDt\\\\\\n\",\n       \"p0xxN/TPrbceXTZ3Lv1s7lxap1SiM9dfnzbu7m7YF86BJTsIUhSrcsCwFrFYwGPRq5Z/TJerL4F7\\\\\\n\",\n       \"SFxMO7eDf1l8yQdEIx0+KEPy5Diuj9KlJQUZmTjdF+LnczxxqcrrJM19JZ1VoXsFz+cTgnicPAbt\\\\\\n\",\n       \"StMJ4HW+K58wp4dDebHkfCG4XHXoo2EYhmEYhmG0hwlYxjhAC0PtiFe+aWnCVJbwPr2cz9HkG6/X\\\\\\n\",\n       \"n7YO377o/Unbb73+ZqKZb96Qs6YxDHDouEiIWr7WCpMuigaTt3NCcV8rgzqJe0N+JqyKRRmINkCL\\\\\\n\",\n       \"V/yXp9WGtaMJpLqdiOgKJV65ZaKl9FrhCnrHs5vTl//xM1XORNN7X0vG73Qo3f7B0+vjF939fzTn\\\\\\n\",\n       \"5otowcAAzSwWaZdp0+jN06a5m3uJiIqefSGPMywvxSm3Q8KJJhO4u4VrwlalQvlcIZjjSjvehiZx\\\\\\n\",\n       \"Z9dclJLIXQpVHATJR8DCFonwQZ7HtbGojlQKNXIar0+H21XVvL5pTChMT88r829xaGCzcDtfCCFv\\\\\\n\",\n       \"U4tismzk/vC1Wm1yHFoUDOW9yuqwynJ8hmEYhmGMdyyJu5EFE7CMMU4W4YpShKtcBjHLJ+qE5g0J\\\\\\n\",\n       \"VCEhyidkhdxeafPqbcnt6H3LkkvL5xRjkUnOI0UnXo8Wo3zJ3PV4Xm6oeKVzMOnE4T4nkA4rdC/X\\\\\\n\",\n       \"PqGKXUfsTOLpbpFknA46478yOE2Oh3jlcl/xmYgnOvEKLCz+jCb3zkabg14vHNb1iQevob+vtZUL\\\\\\n\",\n       \"JwQTNt2ZXv3jhfTM8uU0A0mnPPuiBTTfvnrFOx7mY+d+WVYUp7rdfOekUWhM3FvVqk/Eyou08yzi\\\\\\n\",\n       \"SKEpVI/ZC8fL6YBOKX5VAn45KRpJoYjRy8l5tLgjhSDpbOL98bV6GJqX18f7KWuIni+0fTkty7B2\\\\\\n\",\n       \"fElCTi09j3S9GYZhGIZheHJgDTME0HJgjX2yvt0bxiqIFm3S5mvmsArN5xOMKBBGFxJ0fOJNzrNs\\\\\\n\",\n       \"2nxa3PGJQtLNpOfRCdL1uvSyzZbT25CilF+M8h+jXq5R5OOQQZ1TSYay+XIx6fmciAWxRgpVLNjw\\\\\\n\",\n       \"eO7EuLg2rMPxfJ4VDF++2bzB3FcotTvXoNm9l7vcV8xFW82hH23xsrem4shnLl/ocmPVx3VPdn+X\\\\\\n\",\n       \"1IS1ZvsQ2s84cIxeIUvMp8txMCxwaLnL+aRLi8/h0GtF1hXf9eLrdB3TgmgrdThU7+VycprcRsg5\\\\\\n\",\n       \"mOVa9d0Dstwr9P1FCnxDrx+/yO27n8nxlGG+du/FhmEYhmEYhhHGHFjGGEW7hNLm871UhZb1+WL0\\\\\\n\",\n       \"enwOpZBrSY+XrhK5/tALqVyHb7mQQ0sfn55PH6Pv5VZPa7Y/vpduLQjIF38tKAx1dSX5l4aGprm9\\\\\\n\",\n       \"8ORbcnuiDs8JKjkd5SVEGhZxJFLUUcSBcb/abB79TIhXG/2th154YCrRtlTPfQUHFvjO9vPd36P+\\\\\\n\",\n       \"Nd27DSR2H9yXRLjKJwrQkH0I7Y9/59WxSgHLJ2ih/OoutkFC+bB4Pn9+rJwKffPVF99PFhxa9b1R\\\\\\n\",\n       \"Titfkned5Fz+lfVal6K+9nX+Kd807XjSLieeV/v0dFigHJZuKF9OLl5/aLweR2KaL49XFieVdm35\\\\\\n\",\n       \"kMtaOKFhGIZhGI3EHWiFEOswxjYmYBljEC24dEK8Cok2adN8IpV0lcjlfTmppGDjc6bIYfnS71uH\\\\\\n\",\n       \"bz992wtNSxsOLZdFwAq5V/S82gWTDEP0COVVCoWwDW0BTyDDB31wXqgW+eVm8+jHQrz674dm0aL7\\\\\\n\",\n       \"KvTc8led8wmhkBCxZi19mR6ddl1zEUsISJUlr7q/k1i564TnhRO4h5ChlAKdTF/mw/IJjbK/XOb6\\\\\\n\",\n       \"wudahgxWA0na6ztU68oeoURm/qLAMK9Pn/u0YZ+45Jsmp+t+FuxC+bgoJaSQp+ncYIxevxzP69RJ\\\\\\n\",\n       \"4nWerZAwpdeZVcSSx2PhhIZhGIZhDILwwWGHEForhGOeLBYVwxiDVTpqwbWlw2+0eOXbdii8xyco\\\\\\n\",\n       \"+aaHwp3yAaeSFHj09FBXSFmXb1pRhVsVMyznG/aLUYP7Lo+Th3VoVNIlObAaxShfuJq3Bkh3UNbf\\\\\\n\",\n       \"SlZm0mZRUuGvNplPFwnx6pCHZtEBj8+k7SZNov4lr1Dfcw/Xp/WVPk4ffxg5sKguYl2y+dBwwmPu\\\\\\n\",\n       \"u5L2eO4+17/kkT9TV75Am0yY4N0H7dXLEvDlV/cCs9aKZDAMUJWHGKfPR2Mood5jLXrqkD1ZV3yh\\\\\\n\",\n       \"e83qoayzWep42nKhaybt2ssy7BN7dUhlM6Hbdy+qnz15plS/XseQM59yH81UczLOZxiGYRiGYRgJ\\\\\\n\",\n       \"9gRpjDGyvJ6HXsp8wz4JIDTdJxX4XEchcYtfTn398oVdv6i3OqzXE3rx9olSoeV8IpWeN/Qi3qxs\\\\\\n\",\n       \"uBzk/JE3n1X9zKQIVzw9eOabLSi6RHRJrwlbLOyh7nIydPhDs+jAx2e6adtMmkRrdvfQknsSxxVA\\\\\\n\",\n       \"YvbF3Z+m4+6b4YZ7yhFt/XLPEE/OxEofnfTPS+nYe35N8f030FumTaWefN5bs0MC1pAaOyQpWFqB\\\\\\n\",\n       \"Dc6TRa7w5SWT4xtFSO28k3Ugra6E6laoPg63nvuEK73Ndq9R3zUvrwHdn+Uek2uhNsgzG5ruO/tZ\\\\\\n\",\n       \"JdJMMqphGIZhGOOwFcLhdsbYxkIIjXFGmpsgNL9vuZDbQQ7Ldcv1a+EK5FPmDU3Lp2zb5/LS+y3H\\\\\\n\",\n       \"6236XmR903W5Zdk2ixE+ccrnOtEv38k0tD4oc1tB/OCQNZkovJm5CJFylTjx2nhtRI1ZxgdXUut0\\\\\\n\",\n       \"6csSw98dF0yis2/fkB6Ztpze+8SMept6yFm13+qr0S8eu53Ki+ZRYcpMt8zta29Du75wAn36wfNp\\\\\\n\",\n       \"55eI3jg/cVbN75lGl2zxDnrjvMfobc/d48a9/dl/0qYzp9NzpWJQEpV/085KQxOC8thRqBpWnRC8\\\\\\n\",\n       \"JvK+y9VoZBFqx9bgpiOqVPgoZN4qGU7Iw/WdEX9ly4MVtawM29MhfVxRZIuAOsRN58TSIYNyGzyP\\\\\\n\",\n       \"L2RQDstWBXm4Io5bhvFVPLm8dD4pvQ1Zl3ULhjpE0RcymBa+yPC+SPR6DMMwDMMw0rEQQiMLJmAZ\\\\\\n\",\n       \"Y4SsX/2zLucTl+Q6fJIAj9fTfMM+EUs7J6TIw9MpZZoWlrQ41Wy/tGilVYiswz6RTAtv2jWiBaw0\\\\\\n\",\n       \"t0syD4f/sWiFvzoPltsrlX+paWScjGtLW1FtHnk2ZSnzHkN2eP2CSbTNgknULyQBzPPW1Vajaxe8\\\\\\n\",\n       \"TAuuPJ1mfuSblOuaUBexcvF59OzUJ+nm9RfTK12T6eE1NnIOrVtmv57unbkpffq+K6mnWqaNu7po\\\\\\n\",\n       \"QyKaW6nQIuwPwipVLZH746slbt91sjAuA3fKVMKqJoXIRehLoC9XL88dz5sIWPKaKwhxqr4FIbiw\\\\\\n\",\n       \"4COTs8dtJEqnFoZDohELQXpYrkfm4NI5uqToJvN+8THztuQ4nk9P4/W7klfDvJwUreQ8Ogk91+SQ\\\\\\n\",\n       \"MCW3LwmJXs2WMwzDMAzDMIyhmIBljAGyhK1kDVnRgk6UMt43Tgo1zTww2iejxauQoKWX9YUI+eZP\\\\\\n\",\n       \"2wffcbYjYPkEsTQRz3ecPoGr8Tjg1JEt2+mcVzpETQ5LuGG9wVMm4tl8FiGpyCgHlhSDQmdED0/O\\\\\\n\",\n       \"5+lL669HX37yKZr/65NpjQ98hfITp7lNQqx6cMYmqoyTfbw+P4lunTOHvjNjOm1cKrl1rV2u0ORc\\\\\\n\",\n       \"lV4uFJLcYBn2pUFClYUpO1mI8vhlq4e6HFWRpkUmys1i9ZVKRNWqFm60S4gFLilW8XxamOHpUqDx\\\\\\n\",\n       \"CUztCFhaENMOMSlo8XjeR7nv8nj1euQ0Xk4fmxa19PFKMSwkakm0y83nfAsty0QZ5ssyj2EYhmEY\\\\\\n\",\n       \"44FqB1ohHO7yxujHBCxjDDAS4pVvuZA4Ix0Mcv6hwsvQeaVfh+cLCTjS5xMSuNKEq5DAlG/iotLT\\\\\\n\",\n       \"GB2f5ysv3/HKaXrfffmuGrskcXviwPJFvXmi3IJCS33Y6QAqSZNWVzwCT5TLUYxxaEnQc+bkmZLy\\\\\\n\",\n       \"HMsB6Dbo6aFTNtyAvvHMszT3R5+iCTu8kyZvv189pHBwX2Pqf/FxWnzPdbT8X7fR5J4eerG7i6ZS\\\\\\n\",\n       \"RGvUWk6cXI2pp3+AXikWqJriDtP76vJf+QQ66cIKJbKqlSF2gcvWJ2b5VsPjB4s3CQutVmV9kMIO\\\\\\n\",\n       \"H40M9eNpkQqxCwk+IfcUo1tX9IUS+txblSaOLN3yoBaWeL/l9qUYx51evwyXlK00yu3L67CSMhwS\\\\\\n\",\n       \"xyjQL8eFkOtrZ7phGIZhGOMBCyE0smAClrEK43MJtYJvWZ8YJefzhROmiUQhkSlNfBrOvHLbWhST\\\\\\n\",\n       \"xy2PSUstIQHLJ1j5yk+uW4t9DZ4fz/4XVL9shXBQ1JLuK7dnKgxN6i6SSiURWmp6jyMRXzx5rnjF\\\\\\n\",\n       \"xeLgSmWcIsaXSq7L9/c7gakiQvWqtb33yS8svfAr++YTJtCZG29E186fT7f+40pa9PffUM+Gr6fC\\\\\\n\",\n       \"6utSVOymuG8pDTz3MPXOe4qmd3XTe2bOoLevsQZ15XI0n4h6K1Vaq1yuB1nOGCjT0nyeKvmcy7Ul\\\\\\n\",\n       \"S1KnDUfIIR+HtxDR4Vh1QrGaI6taiRoEKy5flLUWsnRYITaH+cTqasvmXHkODV2rbyWQT0q7mEJh\\\\\\n\",\n       \"g3odaT+LWtDy5bJyR6fWrcUtKTaFBC5Za+Q4X790XuVS5pX7zcKfHpZCny9skMVB7YRrsC+K+VqF\\\\\\n\",\n       \"txc6J4ZhGIZhGIZhApYx5gk5r7TIwn91J+fR7iqfm8jnbPIFc/kcWDxvY2t7rbmzfGKaT7DyObV8\\\\\\n\",\n       \"7iyeP2pBAAw5t3xuLC1ksYDl8y0l5QKXji9NkzYGpeESt1eEyOKKVikrLNqgH+IOhnk8T6sJWbmB\\\\\\n\",\n       \"AcrFccPeshTBcgUP+0oM88wqlejIddahg2fNotsWLqS/zXucXn3xX9RfqVJPPkdrFYv0tg02oO0n\\\\\\n\",\n       \"T6YCWkAUpdObz9HzuSLNHChTd80NNqlSoYFqlarFghOpZEaxBk8bCkweKx8f97OwxcMs4rHIVROs\\\\\\n\",\n       \"uAuFEmqwaLk86MJi8QpiYmJq43rDpejOnDgCKSLp5OtSnPG5pXhdvp3V8xUDuaV84YNSOJPzS3HG\\\\\\n\",\n       \"t59ahOLj8yWll44qPkaexvsj95M88zLStSXXqZPLS2eWHK/LU65Tk8WtZRiGYRjGeMUcWEYWzIFl\\\\\\n\",\n       \"rKJkUCkaBJnQss3EK9847XQKObB8YlErbiuZcluPz7oOPY480+Q4X/n4RCk+Nl+5pjnb5Hb0fjXI\\\\\\n\",\n       \"Kp4yS1qpk60PylRVoTxLPrRjKI5FaJwv67sQq4ZkHi8kApGU2VhOYMlRClhaUqjvU23+Cfk87Td9\\\\\\n\",\n       \"Ou0zfbq3FHWp8DYRyojQwamVCk2oVAgSVzGOqdo/QLliwYU7SudVXcjilgblcUmxSie0VwWPsuNQ\\\\\\n\",\n       \"zLRcWBKdWkuHg+Ic4+gSpxwfLXvYuLRYkJGlLN1a2n2lHYTSreUb31BjAuGHejs6XFDua0iw0sKV\\\\\\n\",\n       \"lDzl8ix1yuNhx5MOteSy8oVU6jKUghPXQi2UyWP2XWBp4YZyOIuIZUKXYRiGYYxHTMAysmAClrGK\\\\\\n\",\n       \"EhJV9DxZlgs5j3zjtZspq9MpJE5RQKhiJ5IUq/Q03/p929POLd4333Crea4kPuHKN80XzujbT+nI\\\\\\n\",\n       \"SuaDsCENQDqJu1tjYDe0sCIFFydi5RKRKmIBR4s2UtgRDqUInUiaLkMIpe8mFOTGkgRLEdp34yt9\\\\\\n\",\n       \"XSvq7TRGEfUWChTnctQzkIQUuuIYKFM1n6Mon3fzNLiwOESQj0+KV7qwxbzYBuXyQ0Iym5W7O47a\\\\\\n\",\n       \"ufKLV8lmy2VO5q6FVRY4uN7I0pV1U+eSChGaljU/lhabfMMyhNAnZslhFo8qAeEnFxCbeJpeF3n6\\\\\\n\",\n       \"ZXnqBO/yGpdl6hOpfOP1tLRxGun4MgzDMAzDMIxGTMAyVkG0qKLJKrDkMqwnJF5JKUFO87mf0lxS\\\\\\n\",\n       \"0gujJQmeLtethS/fsq24s3jf5bHq8pPztlJ+aesIiWk6XHJQqsnncw1GIe70OFcyKp0V576S/Zyn\\\\\\n\",\n       \"yQ1DyIJnSYo3nBeqvz/529WVxLzx+O7uZCW9vUQ9PZTr66NCf/+QDEfSsyJlBinTsWtLB8P5kMvJ\\\\\\n\",\n       \"GsH5r5zkl8tRuVSkaKDsQhuT467S0mqVuopFF4LocmLxceGYe3qSY+Lj0x3mw9+6E63oyqwiylKW\\\\\\n\",\n       \"qTteJW6xmY3PkTx/8rxg2JVfnKNKReaEYheSLNmQaMQ/bzr8rxkhB1a1Fk4ox+mwQTmvFKj4GLRD\\\\\\n\",\n       \"S4+rCJGMh6XIJQUtvSwvw8JvaBvaIcbL6ZYdpeAlXXDNamY1MCznoybr0aGOhmEYhmGMdcyBZWTB\\\\\\n\",\n       \"BCxjjJLmzgqJMdLhEXIo8XTpVgqFvIUEKy12+XJe+UQr2S8dSr7tyWXII3ylHasWskKuq7Qy1tN9\\\\\\n\",\n       \"64g8guRQZxq3OpgYoQbDB3UOrIY1B3aNczRJwSXphxATU6Hmwqo7j7TjijuIORC2ML7WH1WrlK9U\\\\\\n\",\n       \"XCedVHmPRKBLRkoxvvTbutS0H4+HWcBiN1Ye+a8qVarUFCUIdQv6B2iNQp4mlErOPeb2n0UsHpbH\\\\\\n\",\n       \"q0MJRX+lmoT56cTtXMZZYWELyw+66pDrLBFSkvPWLNRPhtdJQqF/IXzT5Tp0OKEUsOQ4LURxvxSm\\\\\\n\",\n       \"tKgkhSIelsvwMAt57JySrjQelvPwtnm6nM833efwkvdCKSjKZbIKVOawGg2cf/75rnv66afd8FZb\\\\\\n\",\n       \"bUWnnHIKveMd71jZu2YYhmGMQ5Knn2jY6zDGNiZgGasY0QisJyTehMa14nDSwpQcp91WUoYIDWvB\\\\\\n\",\n       \"SrfSlyZgadeYHiaPw0z3t0KaQytNHGwUBCFeaeFK5lCSSdyb5b+SOZpYZGlIQJ7LOfeS1+KlQwi5\\\\\\n\",\n       \"qyV4j+DOGhigghCw2BVFwofDRylLQmZQ4jMS0n+0bCqDTWVrg64/iqhYyFOUi2jZQLm+nQXlCg3Q\\\\\\n\",\n       \"AM2aNCkRsThRu0xWrzuVOR9lNaT8VNmGwgd1vjJO6C5DCLEszntyzrilQ64XOgxO+tyahaC14sZi\\\\\\n\",\n       \"fIKVXpd0hvG++txMOmRP57zSrirftegLB9ROM66BaSKWHKenU0Bm5WHeRtQk/1W7mNA10qy77rr0\\\\\\n\",\n       \"jW98gzbddFMnEP/sZz+j9773vXTvvfc6McswDMMwDGO0YQKWsQohX9zS5vE5faIM60xzCdEwxatC\\\\\\n\",\n       \"yrB2VfkcV1KqkJJFPmUbumVD7vftN6OHeVynhENdlr7hZL+iKNcgWkldRbdCqHOLNxOw4PSBYCJD\\\\\\n\",\n       \"3mCoKpTEBqRAhdA6hApiIXR9fU6scivAXyxcW3G+v98FmkWBrELSQyP9Np10YHF/icflcjSxVKQl\\\\\\n\",\n       \"5TItgw2LiF4rl2n5q6/SOhMmUjeODx3cVxxKyCGDHFYoW19EDqx8wR02lx+XqQzXDKHPF5YZbIVQ\\\\\\n\",\n       \"HGu9iqA+YFpcc2LJ69bnsOr09zdfGKLMaCaHeV4pQ1ZUvwwpLKucVSxolWvDZTGt3MQBJdcpaxov\\\\\\n\",\n       \"146IFRKmpIgl90kjhTzfsiHS1ml0gne/+90Nw1/72tecI+vvf/+7CViGYRjGCsdCCI0smIBljBG0\\\\\\n\",\n       \"M4DJteD8keNzgRA7n/gjp0uhKM0txRIHi0s651U9LbdHzNLT5F+fCJZFYAuVhW+4HfQL7FBRTLup\\\\\\n\",\n       \"tDAFDUWKWVJP0Tmvhmw9HipYcX/NOFV3YA1xV2Em9HPOKwwvXz44jIXR1QSsCCJWX5/7y0csk7Lz\\\\\\n\",\n       \"azmfbc56JF/zZWCZlA90bZTOKz6bRVED6gIWxkcRTS4UaAkRvdQ/4NbZP1Cmp595htYs5GnaGmtQ\\\\\\n\",\n       \"hGPiY+WOy0F2xWLdgYVD57IdGpqZ3iqhbuBRw/WBxS2EeibOruQ687u8tNg0EvVXO7Ka5ZvS/TKE\\\\\\n\",\n       \"sKDGyRohxSQWxeR0FrtkeKEvjJHbv2RxS65Lu9p4WVfCKa43GVYYe0If5Xr4HPhCDeV8xsoCYcZX\\\\\\n\",\n       \"XHEFLV26lHbZZRc7EYZhGMYKxwQsIwsmYBmrCFleQtPcU3odUgaQ09LGaSHLN50C4lG+Sc4rLVTJ\\\\\\n\",\n       \"cdpjo/t9ApYWz+Q0djhFrsNwIv4kYXo8PCgItScADIbrSX9ReJ06tIzFDd06nc91pVsllGKWbm1Q\\\\\\n\",\n       \"iivsGBoUtXJURWuHMlxQJm5ntQv9rHrBhlSzIiEPFubBX3cWauGE8pWfZQcS8gF3WrjyCVi6Bmop\\\\\\n\",\n       \"s54DS+XEcn8LBZpWLNLEKVPo+UWLqa+/3zma5j7xH1qybDmtvduulNdJ27X7Kp93ZYSyks4r6b7i\\\\\\n\",\n       \"v7Ls9Xn2nTt2Y6HoMQ/WiX4+ZxjH4YS+dfuF68G6liXMNFCb62dC1uvELQZXWJJ2H2WZOMS0iKVz\\\\\\n\",\n       \"XrGIJCVNKW3y2ZSOK3ZVcSdFK3mdSXFK2hGr6l4gRTJZTno/QuGaXGN9Ze8TsXgdacOaLE4tYzg8\\\\\\n\",\n       \"+OCDTrDq7e2lSZMm0dVXX01bbrmld96+vj7XMYsWLbLCNwzDMAxjhWIClrGK0I6IEnIR+RxGcrxP\\\\\\n\",\n       \"Jgi5lkLT9bB0WPkEKyk4seSgp2mvjW85KW7p7SeilRSvBhNmD3auJGrjWnnZ10LCoDtGlm+Gsyac\\\\\\n\",\n       \"WFrc0KGDUrTivzqEUOdmkuKKFF0GBpIW9SIWsFi8YgcWO5FY0OKm9iBesQML3cAA5apVJ2Tkq1Uq\\\\\\n\",\n       \"xGirr7Z9j2dPjpMeHQoIWK5cPAIW1wCfgOXG4XwjV1dXF3VNmEAbrLkmzVuwgF59aZ5b55IXXqD/\\\\\\n\",\n       \"/O53tO7b304TZs3y5vnirkJJAnfW8Gq63RCRkMtchxTqc6bPs65TvD6uF6H8WkNLKly35LjmJOvU\\\\\\n\",\n       \"ub3YYSYbB5Ai1qCYJVsTlKKVTMDOghWLUDJZuww/1DVBhzFKUYhFLO2ocqXbYjih3hajBWpZs31O\\\\\\n\",\n       \"rFbEKBOwRprXve51dN9999Frr71Gv/3tb+nQQw+lW2+91StinXnmmXTaaaeN+D4ZhmEY4xNzYBlZ\\\\\\n\",\n       \"MAHLGOVIZ1PaPMMNEdIhbTosUApaPrGKmoQJSnFJCkxSauDxUnzyeWp0KKFvObkfaM2NW/Hz54yS\\\\\\n\",\n       \"YhULCD4xKA0dLqaFi1ZapvOJWFq0kmIWzxfaXymo6DBCiDBYDtFy6I+KOSpyLihekJ1IPDxx4uDK\\\\\\n\",\n       \"WcXhQsSB1g7AnZ3+fqpAzKqdkbLIgsT9LHFImSEtiTvXuKiJ1FkU4lWE/ccxoZs4kXKTJtGsWbNo\\\\\\n\",\n       \"4rqv0fMPPEDxwABVli6jZ666mmYsXkzT99svWUY6srBsqUSVSs7pdmxA4yKQ5cp1InTOOSyQ+2V+\\\\\\n\",\n       \"MlkHZEgin7+0sMSGslIirB4eTh3n/Qy1almt5kWZSF+ddmChX4f1cY1gvx4LVywi8X2Al3NHo4JR\\\\\\n\",\n       \"tYOKtzcg7mcyv5YOkWR0uKEMTdTbaIdmIhXX8uFswwhRKpVok002cf077rgj3XXXXfTd736XLrzw\\\\\\n\",\n       \"wiHznnTSSXTCCSc0OLBmz55thWsYhmF0BBOwjCyYgGWMQXwOK+lYkON9y0rBKrR+n/NK57IKOa4K\\\\\\n\",\n       \"HqnBN68UrKTAJefT4lZyfPl8viboRELoiVw4lk8E0nmn6kfaxIml3U08Tr7gy3mlK6eZCKHDCaWI\\\\\\n\",\n       \"pV1YOgeWdJMx7LiCiUiKLSw8QIjBtFyUowGXp7yQCDiYCHWLE7WjQxgNx7TxgfIGawJWxPGOy5ZR\\\\\\n\",\n       \"Hq4sqDzidV8GcGl/Tloacu0PlEGkUt5kAQutDLpuwgQidCxi1YYnT59OG2+0IT33179R74svuv2f\\\\\\n\",\n       \"/4ebaOkzz9Lan/wEFWfMqIcTxoUClSlPA+VcPXe9ryx5nCZNQOLzyOY2XgfGNw8ZHFpvQvVAbo/n\\\\\\n\",\n       \"5796Xll3tHAmnXw8nIyLGlxplUrsBL9kOsIO8264URzC2aoISVPmppKhhFLy1BnWZLghqZBDno+l\\\\\\n\",\n       \"U5kbS65PusO8pculqCRXOV07r7RAxSKYhQWORqrVakOYoKQL7k3cCwzDMAzDMFYSJmAZo5ioA/Ok\\\\\\n\",\n       \"hQrKftn5ltcimHSG6bBBn0NKSw3NkrGzGFVsIlgNToPLCttHaGChkGtorU+23ucTsaT7qplrhdGC\\\\\\n\",\n       \"gs415ZsuXTRZ3FhSXOD99OVO0rmvfLmO5L7pXE0yF1a5ElGhmqOCDCHk1vh4BXiJYzsOlBy5Is5o\\\\\\n\",\n       \"XtuBCCGEuRzFOC+VigsvrMZxvbZIf4v06Lh9DtRG7Q+U0qgbduGhOcrl84kIh/1l8YpbGBRdceJE\\\\\\n\",\n       \"2uDDB9GCu/5JC/76V3dcyx57jJ485VRa54QTaNJb9hgMH3S5r6IhLQ+G8l/p8+kTJjGfFKq0A0uL\\\\\\n\",\n       \"pGlI0UrWXb1NOayna0JuQunCkuKdrFPlciTKCP0xRVG+3poixjXeI1iI4rMs3Vd89rnlQq4FurU+\\\\\\n\",\n       \"vo/U9zilxLQQJjO16XBAX0uCFBCsqMXwwSzhhcN12hraUfWOd7yD1ltvPVq8eDH98pe/pFtuuYVu\\\\\\n\",\n       \"vPFGKyjDMAxjhZPkOR3eb/1wlzdGPyZgGaOcLOGDWafLwCspTOnwQTmPzljkc17xy6KWE3Rydem6\\\\\\n\",\n       \"0gFfPpFKBoHxfCxoNTq5crl84h6qvbxz2iLpauF+FrNkknTdIly9FFJe6n2OFNkvBaM0AStrSJgO\\\\\\n\",\n       \"bUwLLfTtq24Zj0UG6E9YjhsT5GTxXT1dFJeTVgUbBCwMc3ihVC7kQWrrGhxQfX1UXL7chepVKxUn\\\\\\n\",\n       \"QeQ9Diy3vwGPiqyFFJBFXY3I5Zzryu0nJ2OHgCVbF2RHFvp7eijq6aEZ++1LE7bdhp6/9DKqvPYa\\\\\\n\",\n       \"VRcvpjmnnUarH3QQzTj2sxSVuqi8fLCsuJO6nQ4l1EKlT4T01QMpLLUTcsr90o0lGwfQ9UqvR+Jz\\\\\\n\",\n       \"f/ExSuchD+uk9rUc/7V+5A4bdGklVYZrgHRRyRBCmcRdOqtYZKoE3E4YHkgRszj3Fvf7cl7J8EKf\\\\\\n\",\n       \"tJoWRij3US+n50ubnuW3wGiVefPm0SGHHEIvvvgiTZ06lbbddlsnXu2zzz5WmIZhGMYKp0qR64a7\\\\\\n\",\n       \"DmNsYwKWsYoSdeAlx5f3KiRQaZeEdFvJFv58AlUUCBtkoUqKVA1pt1U/O7IGp0GXYFGK82xLwUo2\\\\\\n\",\n       \"pscOJh7W4k/ay73PzaRDxHw5gRiZ4Fu7VuQyul/iC3XUx+AD25DHpEPeWLTiEEIug1IponyxRHln\\\\\\n\",\n       \"cKkpDVxIMnkTF54saM4bxScAG0FYDsb197u8WKXeXoprrRTK9um0eCWlCP4bqpkRtg3RihVMFrAw\\\\\\n\",\n       \"DKEKubs4l9WkSYPTMb4mZk3cZhva6Kyz6IWLLqKl99zjtvnKr39NSx54gGZ96zvUP212veFFzn/F\\\\\\n\",\n       \"JjSfaOWrK4wUHLno+HzpXFN6OS1M8enwuQlxCmQ98uV8k9N99b2ZSCvdZyzq8bFrkQ/lxsOJ0S9X\\\\\\n\",\n       \"yysmM6PJhO6yvUqeR+bAKnPtFnvNy5Jal9t7LkmVtN0dLZdEwN0la6SUXVnoypKrSjrH9Hi5DWMk\\\\\\n\",\n       \"+fGPf2wFbBiGYRjGKoUJWMYqTCjcz9cvX/9968kqXslQQ+mu8jmpfKGCWpQKhQYWVf+guIVQQThs\\\\\\n\",\n       \"CoXIvfyyRqIFLA4ZlG4sdmex00q6rnRYVch5FXKlNDpKGv/Kl3kpVEk3VLPwQh3uJcMfZXhhaF+l\\\\\\n\",\n       \"uMLiAToWTVhk4Nxh0Ju6inmKiiXKddVm5p2FGMQ7Il1XPMzqIe8cFIta7KYL6cPGan9zlQpFNfUj\\\\\\n\",\n       \"RuuF4uBDrRC6YayrVgiuH39ZqGIxzSdgsQOLwwm5n4d7eqgwaRLNPuN0evX66+mliy52x97/yCM0\\\\\\n\",\n       \"58ADaMIJp1F1t/0b3FccSihFGnl+fXDIIItVOmyVz5vPUaddVrIFSilsSdFWt3oonWCyfmWt8zok\\\\\\n\",\n       \"lY9VCqNc31jo43LCfsn6x2GGST+SvyO0UIYU6oYk6rVAuK+KKuxPTpOiVciNxSF83JKh3J6vZcKK\\\\\\n\",\n       \"GhfKhyVzXvkcYr59MAzDMAxjvGFJ3I0smIBljGJasYDq1/ssIpb2tMh+OY5fJCkgZukcVmn5sPz5\\\\\\n\",\n       \"qxqHG11WLGBFUcHlzkmEq0S8kgIWdAoWrVjMktP4BZ8FLH5555xYPgEglA+I0UmspYjlc6bIMCtf\\\\\\n\",\n       \"622+sMMQWrzyOWf0PuscReyA8bmxEhEwTzmUFQYwM68EM+rs3bxxVmNktnA+MRjPqg+SxPf3JyGK\\\\\\n\",\n       \"QgWCK0uLWLK2uv6aYNWQ2IxPPFcEFq04hJATt2NYClecC0vlxoq6u2n1j3yEenbdjZ476SQqz5lD\\\\\\n\",\n       \"8dKltPSMz1O0zx1UOexkqlQnDClPWcahcyjdfuy40k45H6FwQBlWKsf7wkxlHizpANMCaLNcWFqA\\\\\\n\",\n       \"1SGULFixCMcp1biO8Wnn8FU+hQMDSJCPHBA5kQtCCkS++xpP52Ht4ZP9UlCSBc7ClRSl5H1QimPu\\\\\\n\",\n       \"LKh5pEAVtSBYyenNsLAAwzAMwxirWA4sIwsmYBmrID6xKutyDDsasqBzYPlCCn05sLRIpROyS5dV\\\\\\n\",\n       \"SSxTEvOgv5Ak5M7lG/QJFqnYYaUdWNqdxS/rWsDCtFASd5+goHNZaQHLlxJKO7B0riQ5Tbp2QqFn\\\\\\n\",\n       \"9TOqwgl9LRLK/eZW7dDxPkA80C0wYri3t7Zcd47yXYnjyjmeOIRQLsAFK11X8gQ5O1dNJEI/Nop+\\\\\\n\",\n       \"GVtWUzQgaDlRSxe2PjFawGLRijsWrmQSd2yTpyGEUOfEUv1xdzd177ADrfXLq2j+GadT7x/+L9mt\\\\\\n\",\n       \"m66k+KF7qPLJc2lgxmYNbiMZnhkSr2TeK32O0kQsXx40n5NQ1wUp0nJRyuX1foXE21CYLIa5RUYt\\\\\\n\",\n       \"YGGY9U8WsGQIYS2qtO5oS0JZ4QCMqL8/SZifJHzHzvXXhCS+33DOLLfXwmXF4pHP/TSgRCpZ4NJt\\\\\\n\",\n       \"xfPwtptcjPX1c5ME7YYDWhihYRiGYRiG4ccELGMMoOPGtEsg5MRKCx/kl7q0pO2+9NlZXFWDwlSy\\\\\\n\",\n       \"XEmIVjw8GGZYLObcCy3rIRwRpqPFWJvgYZkfi0Uvn4gVSoLeLJRKi1TaZSXDB7VoxX9lomu9HAgl\\\\\\n\",\n       \"Aq+fvYDQJkPD2BwlRSreFsQCuQ4M+44VX4S6S12Uly4r3byjLHSIVGzjYoUCHVQxFq1YtVACVl0V\\\\\\n\",\n       \"Cal3UjTzCVgcP8qVgveBxSkWtDgfFoY5tFC5s6qFEvX2RtSXm0ilE8+iga12pfIPTqOov5fyLz5F\\\\\\n\",\n       \"k8/4AJXfdxIt3ekgl5xcnlvd8XnRidrl4aSFG/rEJi1ccnH46rUMI/S5s5o5D2V94NMTqte6YUpU\\\\\\n\",\n       \"By1g8XyySqCfI0xZeO7vz9PAQOxcWYNhgdwKoXRBub1PcZZKUQn9XL94XYzMueWOWCV1z3um83Lc\\\\\\n\",\n       \"L4UzOSz3VQfHZsmdZRiGYRjGWMVCCI0smIBljDFaDSXU7ioZQqPDAaVgpcWsUKhgs9BBX06sJGww\\\\\\n\",\n       \"ipDnKkddXUnIoDTUsJAlRStEg0kdg0UrfhH2RZz5XCsyzCoNXxJrnwtHv+j7WmfzubPQsdgkwwsZ\\\\\\n\",\n       \"7peCg2+/5XJSbKtF8bm/WIZzEEnBIxG4Isrl4iTvWFSgIgq6Xp2UoMXWLi5kqRjySWB1QwtYOg5N\\\\\\n\",\n       \"N8vH29OqjM7WL5PHY191heFKpMMHWcCq5cMaiAouuTiEKd7VeM/30cDs7Sj3neOoMOdxypUHaPpv\\\\\\n\",\n       \"T6fSv+6gZ99zBpWjqQ31Qpe/L8cVHxaLlPL86XA/XycdWLq1TT1fljrfLIwxS52XmiQ6FL/ULTmc\\\\\\n\",\n       \"UIYQcj/ErkZ3GeqfKzUqlwuieWiZi4qTqXPOK/nTrhOrh1oh5GEWxni8dmT5WiqUubLY7aVDHocT\\\\\\n\",\n       \"OmgYhmEYxljHQgiNLJiAZYwhfO4qne+KmohXvlBBHS6o59PilQ4t1CKVbmFwqICFXFf5fL5BpJIC\\\\\\n\",\n       \"FptoWLTifN1Sx9DD/EIvk7jL1gjly3taQnRGu6P0y7zUZULuFM59JMUtn6tFh2vx9rRgJRN0a3RO\\\\\\n\",\n       \"Ls5DxOvAfslk8CwogFyuJiKUCpQv5iiqJjsBcWHIhrEh2SIhFzpvIE3AYvWHh+UBS4uQDFX0CVh8\\\\\\n\",\n       \"crnycD8PS0eWEK5iJ2h1U1wsUXlgULziqEfXzdyQ+r70G+q+/Fs04c+Xul2a/PBNtMmch+jf7/42\\\\\\n\",\n       \"9a65w5BQ0IYrT9QtOZ3dWTKpOgjlspL6ndQJQy5DHXUp1+NzeYXQDkEpvsrWGDmsksME+TQvX954\\\\\\n\",\n       \"2mVaNJ9DLDnNyf0GebGSkEK3J4EcWNL5VN9rvgqEG4qHZb9cp5wvlB9Lr0+HLOq/zYQtwzAMwzAM\\\\\\n\",\n       \"wwhjApaxirurQiqLfNmS87aa98rnwtKilS8fFotSHDooWxZE1yXGlxrmy+cLdbEqZJqRmoSc5gsn\\\\\\n\",\n       \"ZAeW1Dhk1Fm7ApZPb0kLp1K5yhte9KUjKy0/lpzWTGiQ8DpYMMPx8bZZjOD1yRxeWjhL9ilHPT09\\\\\\n\",\n       \"lNPWNqkysuLDSiL6MY77WcDimDJfAcqN8g76VB1WcviEy5PNlUja9Hg/2Z0lQwpLJarmi05kkVGP\\\\\\n\",\n       \"HOaGQ3DTKl20+L1fotJ6b6IZv/kSFZa/Rl2LXqQtf/nf9Mwun6Untz/S1fNmrRCGCOWy0u4pX263\\\\\\n\",\n       \"kNMwLWxW64GdErBYpJI5r1DsMmwQ+8Vlje3jVMiy5ul8PMiL1ddXqrVSWK51WmgnMYycV6DsOwtC\\\\\\n\",\n       \"dJLL1o9WOVKl66oZ0pUlt+drsVBO42VDYpxhGIZhGGPVgYUwwuGuwxjbmIBljHF8NzHOceULHfTl\\\\\\n\",\n       \"u+Jlci2ECfqdVY0tC8p5EDKYd4naE1EqCRnkvNocBcYClha3eJrWKaSGIRuq0y/9utW2tBBCdjLp\\\\\\n\",\n       \"MCopMklRSr/UszNFDvPLPYf0yemcL10KZtLBk9ZSod5vmV6KRSw+Vs5/xetkR1CjQyyqJ6QvFgpU\\\\\\n\",\n       \"KOaoMCU/aKvh+C9OZISCZzELJ8WXDMnXbB3vJO+QjqcDfLKkMuNrflKLa+zAEmpo3NNDlVyRypUc\\\\\\n\",\n       \"DfRFQwQsNotJNxYOYelme9Ern9iSZv/28zTluXsoF1dpw9vPpcnP3EEPvvWb1N8103sufOKjrHO6\\\\\\n\",\n       \"Tkojmw4F1PnrZVFoAUs7tXQyd1nEafVfu/m4nmgxlsVaTonGp53rOZvyuHw53z8LVpyAno8jKaeI\\\\\\n\",\n       \"oiim3t587TqUQo90ZGl3ltt7fTRc+io/lk9U0iGEvJwWtThHlt6WdF8ZhmEYhmEMfSrJ+lwfwp40\\\\\\n\",\n       \"xj4mYBmrCM3U9GaJ2kPhhHp8WhdyY6UJW3p8o2jFCd5ZvELCdk5LxDqDDB3kaC8Wr+Q0Fq18WoXM\\\\\\n\",\n       \"h+VzqjS8zEexiO4RjojaG737YcFLvHOjREMcVzp8ivP9cC4gfrHnEEJ0rOlwHiqZ+FuGGnKEHv+V\\\\\\n\",\n       \"yeTT4GVk2KEOJWSxgWHBgLfDy/A64q4cxUWoHUS5bqKoUKBIqg6sSMgDZOWC1QucHFZApIAl1TaN\\\\\\n\",\n       \"VFpYjZFKh0/AQifDCWsVJi6VKC4UqZor0kAVycLR+l2jaCXDB3155/snrUX/+sjPaK2/nE+z7zgf\\\\\\n\",\n       \"gW60xvN30i5XvI/u3/MsemntNzfsfsjhpPNQ8SFpx5UWrnT0JNdjrv8ywtIXRtvoyIqTqi8FXK7w\\\\\\n\",\n       \"bjwrp0miUR3iqvNeyVxrHEWKMuS8V9wCJudb0zm5WEhlMZXDDLGDCCXk6yyOi+qRTdYdVGQ+Bu6v\\\\\\n\",\n       \"qvEy9xULUjI8MHRPZHzhgXI5UtP0cNrjpglfhmEYhmEYRoIJWMYYFLF8L1e+t2Y9D6W4rnz5sKIW\\\\\\n\",\n       \"krkXPeGEg2JWLleoJ2qXqYq0UFXLr90gYsl8WFq08iV4T0QAJCX3CFh4caYqRTLRFKs3QnnAa34c\\\\\\n\",\n       \"RVTBZLy84yUeL+4iSTu7lViXYdGDzUksVklNRya45pd7GaYo81bxrrE7q75vcXrYly/hOx+iFMZk\\\\\\n\",\n       \"v9yODC/EMVIPnFjIjVUTh3I5ijjpEZQgmbGbD9YXP+nLdu/Dl508FEenE6HVKlZcmwbxqkJI1t5o\\\\\\n\",\n       \"ItONJUoHlhSw6v3VAj218zE0f82dacs/fJ56ls2n7r5XaecbP07/3uoIemSHY4mi0pB8ZT7xSuas\\\\\\n\",\n       \"4l2XWh2LWNJlJR1YsiVO3UhkMhwPbbEQ23d/Y1f3IcINqTxu55LxqPsx5ZJ6rwSspD/JHSZPO1cJ\\\\\\n\",\n       \"lC9fA+y0wjjpHuNTDGTbALqtANxrIDomWqd2YPE9TItUMqk798cpea50ziy+T5Jo2TBNjNJhg1LA\\\\\\n\",\n       \"MvHKMAzDMAx+8ojcv+GuwxjbmIBljKF8WM2ma/FJO6m0iKXFK5mgXQpTcnwoQbuvK9ZzXtXSDw0R\\\\\\n\",\n       \"qaA3YBprD+hnMUv2y4gw6driF37ZemGxGDuXVQTFicWUAbyFw1Yimg30KUEitgpuo0JNRCmyrSWX\\\\\\n\",\n       \"ozjKU7k66E7RoocMpeJwKdZytNaDjgUszMvD7DzxaT3auMQhiHKaPDw2O8k8Wbwd3aocl6fcX+wX\\\\\\n\",\n       \"zk2hkHdd9xTMUDtATNAJkKQ9TTbJ6MtYH8KX2VwqPtwfyoeVL1DvQI7KvYM6m3RZ8XmpJ26vjedO\\\\\\n\",\n       \"anAyCnL+mjvRXw64hra79SRac86tblc3ffgntPqLd9Jde3yHlk6andQdoYfq8FXtkMJuSwFL53bj\\\\\\n\",\n       \"ebVoq8WthhYKnVAlYlwHAvnHfPa+2s4n9d9ZFgdX3FWgOJd37ixZbjjtOgyT/8ocWKguS5cm/SzU\\\\\\n\",\n       \"seDFwhbOFZcdL7t0aaG22zoMkMUsfRwsHrETSzuo5H2QnVi8nLuCPIKXnO4LX9Timg+ZBN4wDMMw\\\\\\n\",\n       \"jPGEtUJoZMEELKOjnHnmmXTVVVfRo48+6hJd77rrrnTWWWfR6173uhF2XknxKS2cMG0dvhBBn+il\\\\\\n\",\n       \"p7O4VRAiFv/VrQ8OCldRBOcVWhpMnFfSSSUbiGNnFfeLRuNcjiydk3tog3MxFeE6iSsUVcuUXw7l\\\\\\n\",\n       \"oUwRiyhaDZJhbEOKKbHJRL5m4fgtO4cWFHFsOfcyX5yQp4FyEvLETh8Wg1hokG4U1nV4tTK0T7YM\\\\\\n\",\n       \"KPUedktpJ5Z0S7FowoKWDElkXU4KWzLPliyeUEuLhULkyjqu5pyjLp/PUX5CgaKuLopY8dLqT8iB\\\\\\n\",\n       \"lZbcS1qVdAZy7cCqVYg4n6c4X6AKEqtXc1Qt56jPiSbJOdFhglq80rnKpPYmc5a54a7V6M69zqcN\\\\\\n\",\n       \"H/45bfnPb1E+LtP0Vx6mt133Prpvl9PphY32r5fvYCt7Q1sT1GGCPF5GRTYKs42iFZvP4DZE/Ydg\\\\\\n\",\n       \"C9Eq6q9S5Op/k5YDUq6BKKS61axTqP+4DgqFApWKeRrogiMrEbUgQEkxTjqwtOuKHVe8i3zqZSgt\\\\\\n\",\n       \"9iU5h5wTSzqs3JWifupl+GBB5c9it5S810n3lS/he9aE7rwOea+uqmlpy5uoZRiGYRiGMd4xAcvo\\\\\\n\",\n       \"KLfeeisdffTR9MY3vpHK5TKdfPLJtO+++9IjjzxCE2EZ6mgi9mb9POwLLYwyDvvEKhasZMggz1NQ\\\\\\n\",\n       \"y/oSuHPYYM7lvNJOKSlacaigFLakO0vOJxuVcyJXqepe3Av5KhWiKkValdBN/0khJS2Dok+84rfs\\\\\\n\",\n       \"fN6JW3mhJMT5EuUKOarkIirkk7JB2JMMIZSrYk2NX9A5748M/eOXeZmEXec853nlOKlJsIjF41kw\\\\\\n\",\n       \"4GG5rMy3pY1S3J+4tpKcYOzGKhaT8NAoX6GoUKSomLizIlZ9QuIJ8LngfNYlj4joQgTzBfcXIqJz\\\\\\n\",\n       \"BUWFBhFKJxaXDiFpGpPVRQpZWnfjXXeHE0f0ny0Ppfkz3kBvvO14mrxkDpXKy2inv3yenp57Bz20\\\\\\n\",\n       \"08lE3RO81UiGtkq3lcxFL8VPLWIl88XU3RW7kEB0qP9UEQflS57vO6khfBnma2Xv8qAVi1So7VCh\\\\\\n\",\n       \"VKI8kv3ncjRQiBJhs3a5SO0R/bJuskjFm+PGA7he8jA6bLpaRThhTJVKQTifWKTyhQkWAmGDMsww\\\\\\n\",\n       \"CuTD0nmx6gXjmS5FK1mf9XKhMMQsApdhGIZhGKs6eH6MhtmK4HBbMTRGPyZgGR3lhhtuaBj+6U9/\\\\\\n\",\n       \"SjNnzqS7776b9thjjw5tpUk7917XVTMXlV5OClYsSkkBSoYVhloiLDUkam9scbDocl5JpxV33PIg\\\\\\n\",\n       \"dxwqiP5Jk/zhhRjGtK6uOGmRsBtbrVAOoWy9ff5ERr4XeB0+6MuB5cu/JB1YUnkoFinq7nYv8+ji\\\\\\n\",\n       \"InJ9FahciWtulMSVIoUKdmKh49A2mbec3VicgB3T62e+dvpY2JL5sVhckfmEGBYCOFk8/rJBjfdJ\\\\\\n\",\n       \"untkvi52z/F8LEwkhx+540VXQPF0E+WqZYpjf9lHesd08i6ZAR15mEI5sKIcVXOFeoRcWTispIbD\\\\\\n\",\n       \"m9etC/Z7tB4paIXSdulGFF9dfSv60/5X0w53foXWe/o6N36Df19J0+ffR/ftfQ4tW2Mzb9igDhNU\\\\\\n\",\n       \"KbwaBF8WtJLpSf0vQBCiCkVlxKnWdlom9vIJuL4DCl0DMlmXLns+mJqqhnxoRXRdXdTVU6CenoiW\\\\\\n\",\n       \"d3EILQStwQTvclEWt1jQA1w+LOJK52BtDidkJS4s3ckQPvytiHsVD5eFuOWuDHFvHPC4tPT9UrZQ\\\\\\n\",\n       \"qPvl/Vmu24ds1dAwDMMwjPFAK62Lp63DGNuYgGWMKK+99pr7u/rqqwfn6evrcx2zaNGijGvXjikt\\\\\\n\",\n       \"bOlwwtA62CkValVQDocStkthSw7L/lK9XzuqEvFpUKTiMEEIVBC02IWlp3HuLB4uFeE2qVDUuzwR\\\\\\n\",\n       \"rgZE4iLpwOLEUzoeTL60+xwo/PbM/ZxtWjZvKJMToR8xg0mSqMSR0tXtQqyKXXCfFetOIM7nw0IK\\\\\\n\",\n       \"5/phEYX7Zb4rFrUwXSYFB76G/HSYIYtgrEGws4uFLHYC8TQ+PClScY4inpbW4mOi8eVdq5N5JO4v\\\\\\n\",\n       \"lZLt4zj4hT2tBULPeUAycZe+DGIVQjUHovpx+vJV8WnHfktRSopWsmqw1qNb2ePdbGZYKhcn0j93\\\\\\n\",\n       \"/ybNX2c32u7vp1Gh0kuTF/6Hdr3qQHr8zV+kF7Y+iEqlRMhhAYerC5cnCzrsLpTC4aCQFVMxSkID\\\\\\n\",\n       \"o/4KUZ8QrLR4JQuGx7NKJ215vvPAFYb7fbGOOq6x1kHMKnR10aTuHip3JeHDHEIohVteDZCJ6+Wm\\\\\\n\",\n       \"WHDl+aRLsbeXQwPZzSRPjgwb5P6kJiX3q/qBiuGqZ5qmmeAkxS8mL1xflv/KMAzDMAzDSMcELGPE\\\\\\n\",\n       \"qFardNxxx9Fuu+1GW2+9dWrerNNOO80zJWv+qhBpoYNyup5fhwv68mOFcmbp0MLGEEInXOQHc17J\\\\\\n\",\n       \"hOssUskwQBkyiI7dWdw/mBMrpq58mfLlMuUqA4loJJuV485nsZGJnHT+H6lKyKbiZPgav1XL5t9Y\\\\\\n\",\n       \"kWIFopb0KsK4atW9yEfuTRy6HsLsIm0uqv/l8TIHEJtiWF9gwUm3SMhot5WeJtNOyXxaLFqhkw4t\\\\\\n\",\n       \"TvIui43n4/xerGOwvsfCF441KbKIBuoNCqJVyFy99buoicswLifT0V5esp/REJFJuqZkxKJ0VslU\\\\\\n\",\n       \"XHJYCllSwNLhgjplVIgoF9GcTd5Hr83ajnb88wk09ZVHKV/tpy1uPZ2mP3c7PfXOrxKVpjZoP748\\\\\\n\",\n       \"V3wdsKjDrXC6UNmoTLlyfxKeiYNB/ecDxl+IWDouUjalKA+ylWtAnmB54mXMY+0aiGrOR+fdzBep\\\\\\n\",\n       \"C7myJhZcXeA6JlsalAKrDtPEKnl+eY6T8476kK85sXCRVYSQJUUjne8qlANLhwzq/FX1Mx0IH9Sh\\\\\\n\",\n       \"hO0w3N8DwzAMwzBGM5bE3ciCCVjGiIFcWA899BD99a9/TZ3vpJNOohNOOKHBgTV7dtJa2fBfWHz5\\\\\\n\",\n       \"q3QYoW+etGGfUKWdW4Wmea90i4E655UUsaSYxaIVBKyJE2PqwnLFJMdVhJd0CFX4i46dV3iZl5m6\\\\\\n\",\n       \"9Qt8Wgih7+XdFz7oax6O4+04ThDja8oHxKw8QurgvsnlKIeQOLfZaEi0Fr+kM9Lxw/mr6mdcJLmW\\\\\\n\",\n       \"yPxWQ2pJ1ChgsXAlWybk7eBQ2BEjhQUuEtmCIoc/SleNdBqxkQqiZlK8SX1HnqQ0dEN5UlCS0aHa\\\\\\n\",\n       \"NSVDCOVpZwGLl5NRdTyfdlzxsC9VF5ep/AuWTt2Qbn/Pr2mLu86mDR6+zI2b+Z8/0pSfPkRPHXAO\\\\\\n\",\n       \"9W+4Q0M10iYmGUII0bYb10kRea4qlGORStZ5GTbLApa2m8mD19dASMDifh1CKHeaOy5AbCtJVuWG\\\\\\n\",\n       \"811dlOvupnxXztX/5JTz+R/M68ablOcWuyXbXpDORIiZSBgP8WowHxYLWHGtn1sRlCIV3898ObCq\\\\\\n\",\n       \"KeKVFr3cXgQ+FgzH12/ilWEYhmGMZUzAMrJgApYxInzmM5+h6667jm677TZad911U+ftQm4YKDYd\\\\\\n\",\n       \"+QKfa3F5HXqohSj+K0UvFqZkMuRGoaqxxcEk/1U+n3ehUrI1QS1OcVigDC1k1xWGp0yRAlZME7pj\\\\\\n\",\n       \"yiE59dJeoiVLBmORli0bfJnHOPkyz/F5Mq6slRBCXw6sNNsMti3VOlaA4MLCtru6qIA8WT3dlMsj\\\\\\n\",\n       \"Z9Sg3iBNLoBDCYFOSyRzY/F0iczNFEJGSPLh8T5wiBcLUyp3vQoTbHRgDWmosTZdrl9qIxwW1o6A\\\\\\n\",\n       \"JUP6pC7DwzL1U1qDiD5TkqwizSIdZVk2iItdXfT4Hl+mxRvuQpvfdBIV+xZT9+K5tPnPP0rz9zmG\\\\\\n\",\n       \"luxzJJVKSICflBc7ELn6sOvKCVqlOAkVXCqEWy3a8jWQlqVeN2QgxaysIYQyzk8n65IHwepz7YCi\\\\\\n\",\n       \"SZOou7ubSpNKlC9EDfovlyOXpQwb1KnSOO/b4LWQc0LWoIhVrz2eZO3ujIq8fm6tgVYHk3UnHZeP\\\\\\n\",\n       \"L/xPOq80Mh9XCAspNAzDMAzDMBoxAcvoKPjqf8wxx9DVV19Nt9xyC2244YYjVMK+BMK+aSGko4qH\\\\\\n\",\n       \"9Usar0s7rLRw5W9lsHG4WBOvEgGLX8T5r0zcLkMDE5fVYMJ2dO5duBRTT6lMueXLExEIL+sQsPgF\\\\\\n\",\n       \"HsMQsfjFnZ1ZLGBhuk525Auf4hd4VoqkA0snbWdLkcsi39MYQsWiFQsH/DLPicurVYqrVSoVuyjf\\\\\\n\",\n       \"hRb8cl5HlQ4p5OmsO/DusFuKc1cx2jGkQ9/kOjnnlkykLSMnOf2XFLNYfJO6htT8eFiKVlLQ4m1n\\\\\\n\",\n       \"EbCkIKc1F+nMkeN1eKEUrbRgxdvgdUhDkk8M1C1F+lKmcRVC/6ub7kX3r3MNbXb952jKc/dSFFdo\\\\\\n\",\n       \"5h/OpSlP/52WHnkW5SfNHCpY1a6JYr5K+ahCtLyPIhZnOWyW6zyP1/UfB8ThtbppRRwYi1m+A5at\\\\\\n\",\n       \"CejKwCcXf1H/B61igw5E7q+5sdDAARdyrtRFPV3dFMeDIbWyHgNZH/m8sGNQippJwwZJwS9fXlQh\\\\\\n\",\n       \"g7pVQpmwHf1ljzvLnW1VC+U0n0MrqzDFw9LVZRlYDcMwDGO8Ya0QGlkwAcvoeNjgL3/5S7rmmmto\\\\\\n\",\n       \"8uTJNHfuXDd+6tSp1IOXuhWCL+eV7kLCl295Oa8vXFCPG5oIHiFhMixKJp+WzhIZQsiCluxPxKsq\\\\\\n\",\n       \"lQoVKgzUnFXsPJEv8FLA0s4UdqToHFg6wZEOn+K36FCzcexAQT/WwTYSrZAA7W6Jkc2JKO9EAeQP\\\\\\n\",\n       \"wnHnGtw+UkjhMD3eRRaqWMTSgopEilYyLJGnSRFG6nW8biwjWyvkYTlNhw2GGm7U0+Q2eR/0/slj\\\\\\n\",\n       \"kLm6tHjlE7a0SCVzeOl5pONK6jlyH7RJj1vL8yGPi4+3stpa9MShP6d1bz+fZtxyPkVxTN2P/52K\\\\\\n\",\n       \"p7+PBj71DSrstMfQFgcLVcrHFcqXhTAl6790HfoEXB7WSd25AGRsHpD1VJ4kGT4ok7hz2CzvNG+H\\\\\\n\",\n       \"c8FxwXF/TXGNEFaYi6gLQqnLl5cbci64xU0MY3U8TTYsig5lllwjSW4t5MNqFKVC9yp9n/OFDIby\\\\\\n\",\n       \"CPpyXel7rkwsbxiGYRiG0fica60QGs0wAcvoKOeff777u+eeezaMv+SSS+iwww5bwaXty13lE7fk\\\\\\n\",\n       \"y5oeL//6cl7pPFk8TyQStyPvlT/CTue/gkDFThPOdzXYxc6BVYwqVIjLREuXDoYKSgcWOozHdB1C\\\\\\n\",\n       \"qF/eOcG1VDnkG7NG2pB08mpOXM0xdpxtW2YD1xnBPVaofA9RVCxRT3eSoJzPi8z/I0PlWD+Qeah0\\\\\\n\",\n       \"iJUPX/JxLcjosD4pPOGw5LA25Mh8Vz6xSoaG8Xbk9tyRK8eZTkbP43zlEhK1tJClhSrfMr7tD7na\\\\\\n\",\n       \"ak64NPeYLKO6K61UoFf2PYbKm+9MMy77PBUXzaf8klcpf/YniN57BJU+cSyVSiWX8wrXAcSrHMRb\\\\\\n\",\n       \"rveyznM/T5N1nus9Xw+y/svrQYq4WuHkiuA7EFn/uSlFKWLxtegTdGsnA6e+a0o+0XCLUW13kgrB\\\\\\n\",\n       \"u8PnC2XB5wibkNqYziFWreYojtk1ChVMClq+3ICxp4VAnq4FKpn8XYpdsmVB6boy8cowDMMwDMNo\\\\\\n\",\n       \"DxOwjI6StHrVKeTX/VwHW6iSea90f8hR5ct5lQvkvJJ/85TLJfl8pItKilSc54qFKgxDqMI4OQ1/\\\\\\n\",\n       \"0dJgtHxZ8gIOgWrx4sGXcwhYGMfD6OeXdfkyz64ULWDpLNE+dPybbHVN5vzhvFccTsg5fziJNQtc\\\\\\n\",\n       \"LBioMEbkSSpMmEjdXSi/5LxKA59O0YXFpCMr5LzSAk9aEnLfoev0R1lcVVrz0/qHdCW1mwNLH58U\\\\\\n\",\n       \"pXQoYBa3lizjtDxXjAyzlEn1ZXJ937ws9Lnc/lvtRAtPvYam/uyLVHrgtmTma35Cyx/9B036xjnU\\\\\\n\",\n       \"vcE6VIgrRMtUvWanlRZtcT1IAVe2ysnXAouq8nrQScXSDpjrv8wDxwck1WnZ+gK2gX3g64ITkmFc\\\\\\n\",\n       \"rfDz3d2U65lAEycWGuoOuwA5bFCeexnWydcK5hsYiGhgIE+VCotHteRaydwq3K9cu29xfqooIELx\\\\\\n\",\n       \"PdGXA0uGFjajWZ4rnSvLErkbhmEYxlgleZ4Z3m99R19FjVGJCVjGKowOT+FxWZbR/Tpkplm/Frvy\\\\\\n\",\n       \"3g6hg8ViVNdyQq0Osrilpw+++6LFtSpFvcuTnD8cIsiCFYYXLRp0pGCaDCHkF3tfCCG/vCMPFds4\\\\\\n\",\n       \"Qnf/XC5pKc/nwOKDZLWO816xGMAuFyyP6Zx1WjYBWFN93FkpFKhY6iYEF1Yq0RDDitS+ZH6lkJsJ\\\\\\n\",\n       \"6JA73el5XS2prUOnAwtFk2lhS4YhajFLhgzqNGNp6PRMOqQwlL8q5LTSUaNS1JMiiSwPRopw7ILj\\\\\\n\",\n       \"8arqNJwbLfg5QW/aalQ58QKim39O8c++RVGlTNXHHqJ5//1+WvOUU6l7r7cO1mkWpqTjSobUsiML\\\\\\n\",\n       \"9Y6vE+1CZEFLOrBqheLEeF0pmAgtZUaDidDYVsnXg8x7xaKtvNZkxwXH9jXU/1osa3f3JIprLkSO\\\\\\n\",\n       \"QpQNGvLlyqtmDZrnQ5fsSnL/SkIJpbNKC/Y8TbuxWJiSYYgyybuv1cG0XFg615UUyuzJ0zAMwzDG\\\\\\n\",\n       \"I9YKoZEFE7CMVZA0wSotP4tvvrROh9f4Qm18ebEGu3w+aVVMhg/6cmDJ/FdS2KqPK1apCLeDfFnH\\\\\\n\",\n       \"Czq/wOth6UbhYdkSW29vIlaVyxTXwvqQRN39TXmFdNpETYWI8KJdi5eLONfVYMxSo6MFL/ssDmjB\\\\\\n\",\n       \"SmYvZwdLrT9fLFIhF7lW6bDrmMw5fzjVUFponxSxdLSiT8CSup3U1zQ+AYp3m0UqLdj4Erdzccr+\\\\\\n\",\n       \"ZuIVo0Um7ZzSDjMtTklHlk8A0/B0KUxJ9xgPy9MrRS8uB10GMpzSObIKERUPOJTyr38D9Z95AlWf\\\\\\n\",\n       \"f5bipUtp7olfoOXvehfN+vhRlMNCLMRyfistZsk6L1vl9AhY7hrAtcDXQa1Q0uQXd+j5vLsO3F+s\\\\\\n\",\n       \"A9cCx7OygCtFKhmSyAXPzQ0CkeUf6y12d1OlmKdqnNR/FqlYzOJVYDxvig1l8n6DvwhFrFR8jVH4\\\\\\n\",\n       \"RKtqyn2PQwj1BwTfBwUeL4UqGYIYN5nPMAzDMAzDMAYxActYxcgaKpjmnOLpFMiBlZbo2Je8Xbqu\\\\\\n\",\n       \"eDgJKYT7CuIUi1b8Vydol60RytYGk/6Y8hXkvFo2GCaIF3SED3K/DCeU7iyZ4Bov6jKhNV7WKxUX\\\\\\n\",\n       \"BISOhatm7Ye5VgNxdLWXdFcKIowQ4X9Dklhzoh5sn9UTzofFyZNY0GIFpaZoFIox5bqThNY4R3JV\\\\\\n\",\n       \"yYt5Y4OK2n0lW2zTOeRDbiWex2dEk3mpZL8UZ+Q0KWjxfJ0QsKRBKCRgyePwHR+XgT7etGPXTjQO\\\\\\n\",\n       \"G9TlI8UxX2J9FvtkA5YyGrV7m61o2i+upKXnnEaLr7vOLfPaddfRsnvvpXWPO5a6Z85sFG1R/2Ue\\\\\\n\",\n       \"LFwrLGDxtcAq0PLlFIuk7tVKpV7vWWLKdC1UKpRDNzBA+d5eJ+jGOAhsv7ubItnyJv6y6iRb/5TN\\\\\\n\",\n       \"CHIrAnxiikUq9Uyk/MRcTYAaLD9pltR56PkwMQ+bI5EDq7+fc/NVa510ZFUC9zodGsj97iwGwgkr\\\\\\n\",\n       \"SvRytUr1h5AXgIlYhmEYhjFe6IQP254cxj4mYBnjDPlC5curJaf5QmL0Xy1kDebDYv2GX9A5SbvM\\\\\\n\",\n       \"7SzFLJ7G/UkerJjyA70udLAuSuHFXIpWHC7I43mazIElklpXai4TFq60eNXs1dIXQImXeLzA5/v6\\\\\\n\",\n       \"KMJ2OecPH+BgLNPgCzorIdykn84AzqpGteq2USp1NSQhd3mTasKMjGhkTSCEL/eT1BOAL3pMijra\\\\\\n\",\n       \"haSdWAxHmOk8Vz5Bi9flyxvVqgNLNyIpG76T5aDDD+W00P7I4+FWB+UxS/3RB5cRl41MpyZFXidi\\\\\\n\",\n       \"TZlIU08/nRbtsD29+M2zXX0eeP55euqkk2nWgR+gadttR5EMGWTRigUsFmtlCGHtGkGIYKXWcb1n\\\\\\n\",\n       \"GSdLunFfQHEe1wFyuJXL7nqoK9OsKMnYPilgySYGXfOMtRNQKiXr7uqmCRN6GkJoOWUWC1jYHK+G\\\\\\n\",\n       \"LzmeJlPP9fezgIWjKwdEeXmPk/mn9P1TW/V4XFr4oGEYhmEYxlAshNDIgglYxipAlrxWWfCJUr6w\\\\\\n\",\n       \"QO0uCM3jy3uVTEPLgzqER7dCKBvu0yGFLnSwFFMhh7xXfYMv6TJMSg5L4UrmwEKoYG16dWCAqhCu\\\\\\n\",\n       \"hHjFL+z88i5dJ/rlXZYGiVTPXBIQBKpxnAxDyMJ0GULIb9QyZIqVC1ZKsK+skNRyaiGUKoYTq1Sq\\\\\\n\",\n       \"lV8SlsmRWlIIkeKQFIY0OlxOpD5qCLWT80qBR4tkOocVo/dJ57viZTvhwNLuKV+eLJn8Xc8r19tw\\\\\\n\",\n       \"3sU+8z7yfupQQ4xPSZ8WzB3G57Oxi6mQjynqr9C0ffahng02oOdOP4P6n3nGnYC5v/o1Lb3/AVpr\\\\\\n\",\n       \"v31d/WvIf6VzYvG1MDDgnFcQcbnOl8U1wJKOKwcxrqE8+Hg8Mk+F7wTIoYXxvb1O3EVBO+eizvum\\\\\\n\",\n       \"VU5Wu7lC9/QkYbpRRIUJJeoqwYkYNYQMouP7Cwu7+t4ju4EBbpFQ3sPk3ksnlr738d1Bu7O0M1Yu\\\\\\n\",\n       \"k6EVgKYhgxZSaBiGYRiGYZiAZawSRCM4jy/PixzvC6kJ5cAaFLKiKB94KR+aB0v2yxxYxWJMhbjW\\\\\\n\",\n       \"YplPvNIv6ixasZC1bFkSJgXxqre3LlqVa50Ur7QLy/cq6XuV5RIoiGGniiO0EM6pcrmekLqutqQJ\\\\\\n\",\n       \"WDKWjJNeIddWsUjF7iqVCzkqBwQs3bJfFjFIi1e6Bb+QQ8lbu5RbSYtUMtWXFrHk/K0KWDq3l95f\\\\\\n\",\n       \"PiZfaGCWFhh9iealMCdhR1ZoPaHz5L1GCjEVczXb2MAAda25Jm34ta/SvEsuoVdv/pNb5+JHHqFl\\\\\\n\",\n       \"zz5L6+69F02AZVFfE0LghZDrRNxKZcg1UFYOxGoTF5aWtln24b8oBrgcIWRh/3Nx7AReDr9tuB5k\\\\\\n\",\n       \"BeYbAit92P9anq18Tw8Vi0Xq6orcLYENjbwIm7tqqbgCHZLP5ymOWbTKp4Rah+59PqGKu5Dcl1rD\\\\\\n\",\n       \"Mhj+TcAyDMMwjDGPxRAaGTAHlrGKIr1ApEJbNL5pvpcxJu95RfUJVv6cWGidjLUY7rTDil84deuD\\\\\\n\",\n       \"iLqbNCn521WoEC2u5bji8EEZQoi/aHmQhSvZCmEtPxZyXlXLZeoXL+z88q5DCOXLe1qp+0qhIkoB\\\\\\n\",\n       \"6+6qhVNBxCrKptI4ho37WQ1hxUUksR7iRunqonxUpFIp1xAWBZ2LQ9J4lWmwUOVrkY/TdekE6MCX\\\\\\n\",\n       \"2LwdMatey/Lh1vyyIl1VjB5uR7Ty7acUr7i1QZnPShqM0s6BdMjx6UanQwjzUS3mjUP/aqLorPe/\\\\\\n\",\n       \"nyauO5teuPzyRJhdsoSeueZamrHlFjR9rbUoYgci54RD7relS6lcLtcFqz5R96ULSwq4Wa8Fvh6k\\\\\\n\",\n       \"D5PXzYJuCU4siLm13HMO2agBK6lcqHySUBDCndU1eTJRhHxYgw0nYlFu9JPzX3HqOQyzU4vbWEhc\\\\\\n\",\n       \"cpFwYckcVqGk7lq6ljmv6mfW49TikgrJgLJFRDmvhR8ahmEYxrjDPZ9Ew15Hq/zgBz+gs88+m+bO\\\\\\n\",\n       \"nUvbbbcdff/736eddtopOP/ChQvpS1/6El111VX0yiuv0Prrr0/nnnsuvfOd7xzevhuZMAHLGGMJ\\\\\\n\",\n       \"3OVLFL8gpQldPkFKC2Q+wUquX0o6BddCGgtV/IKuc/s4gapraAuELGoVaIAiztfDAhUnqNbjpLhV\\\\\\n\",\n       \"c2Dhhb3S1+dCBvFy3q/cV9J9wi/xpMKn+K+v9HTpYh1F9dLvMoHVFJbC8uUu4XVdpOIQKilY4c0a\\\\\\n\",\n       \"BaAFLLbs9PdTvitffzmHFsDCBzqMYzGEWyOU+MLpZAghv/DLpPC+hOg6N5a3Fqpq6gtn1AKWXCaL\\\\\\n\",\n       \"CCePq5mApfc5i4DF+4xykeF/WBcnbmeTHM/Pua+4fLUjS7qvpHDFxjusg68R517qq+WO4lxuNYF2\\\\\\n\",\n       \"8iYb00ZHHE7PXXUV9c59yW1w/sOP0JI5z9E6G6xPRew057rq76eycF2hGxD1fkA4sLSYK4tJXgsy\\\\\\n\",\n       \"jNYduwoi5uuKnYluXgi6fX2DP7ocXisLiW8aAAWC67lWMK6lz65uKrjLBE6swUTtuGdwTnrcW3Do\\\\\\n\",\n       \"MqQQ02Socl9fjiqVQu3opYil74dymI9cStY6wXu99qjPqNKnlsv4mZVL2dKxGoZhGIYxMlx++eV0\\\\\\n\",\n       \"wgkn0AUXXEA777yzE6L2228/euyxx2gmGgxS9Pf30z777OOm/fa3v6V11lmHnnnmGZo2bZqdohWE\\\\\\n\",\n       \"CVjGGESHA+ppoXl84YQ+J5Z2ZUkRC+6rXP1lXL6os1bjC+2R7iwXUVStUIS3UW5ejDtuSY3DCvFX\\\\\\n\",\n       \"drWcV3hpd7mu4rjhxb0iXt59SdyzClj8qqunu1xY+tUToVMIo4IzjXNbcdgUx0JxwbB9JEnWk3R4\\\\\\n\",\n       \"E69ZpnJxhapRlfL5wTKWicClI8gX4qZD7GRLedwvWzQMCVhDBaDQS3ayA759SQsXbEXA0sfnE6sG\\\\\\n\",\n       \"9zd9P30uKd4fLcJJHVKWSyjcUociSkeXvlaiqOrOdd0qx3YjcU0Uu7tpg3e8gxbcdRcteOhht43l\\\\\\n\",\n       \"ixbRUw8/QmvPmEGTygNUrTkQy3Fcr/fagVj2CFgyJ1aagCWzP8l2/eT1U2+zL46pUK26fUJeKzg1\\\\\\n\",\n       \"3cGyuoQO17Szn9XGy+t+YICigX7KlXIulFA28hkKGZRl2nitQMDivQ+FCeY8wcKhkGsKhGGH6pmF\\\\\\n\",\n       \"BBqGYRiG0UiWlB3NaHX5c845h4466ig6/PDD3TCErOuvv55+8pOf0Be/+MUh82M8XFe33367ex4D\\\\\\n\",\n       \"G2ywwfB22mgJE7CMcYR0VTXLh8XDvhe3UAghLicIK0mOJu0w4dxXvuFBASumIrSd5QNDhKmGFgW5\\\\\\n\",\n       \"X+bHgtukNt29tCvHCb+08zC/cA8EWiH0pWeWOX/41ZZfRfnFn41FVelQqcX6ORcWWlaTOX9wDBxP\\\\\\n\",\n       \"hpd1TuTOb+eigwsll0tcbvIlXb6ch3JMMTosUIYLSucVC1g8jCPU+bHEWlPqXJhQS33t0jzMsfl+\\\\\\n\",\n       \"6jxXiSjbWM5yXhkFFxLR3BY8Ce61eJXomnEi4ErBivvlNYH6VC7TjM02owkTJtBz997nclwhQfuc\\\\\\n\",\n       \"uXNp9WKBVs/l6nVcXgPsSJQhtVK4kqJu6FqQ9T8SDkR2I3JpN4i8aOQALRQirBHjuZ5zRebYYi4Q\\\\\\n\",\n       \"bskT42vHncsXqFiKa/eLqK7x6vuLvtdIAT2XG3SMDpZKSMjyhQZm/UigwwkNwzAMwzBGvhXCRUit\\\\\\n\",\n       \"Iujq6nKddlPdfffddNJJJ9XH4R1j7733pjvuuMO7/muvvZZ22WUXOvroo+maa66hGTNm0Ec+8hE6\\\\\\n\",\n       \"8cQTKd/pB3vDiwlYxhgPKUxDhsj4Qg21y0o2M6+FrGSabFXNl/uK30XRyfxX9QTuyFEzEE5EXU/Q\\\\\\n\",\n       \"jk73L1nicgJBvMLLOue94hDCkANFvrCHklfLl3YtYsmcPyzjkQif4vldOCFe3rG/rARxqKBbuXiZ\\\\\\n\",\n       \"l2IWv9jX4tWiXIFKpWI9hFAKICGhRcOb1510X/HfRMhKknA3+nJkKbXzkg4XDI0A7e1LQvLgkJRH\\\\\\n\",\n       \"1JDTTZ4WDiHUrQr6wgYbtqIcc1q8YjfiEPchJ2eXjiRxfUzs6aGNN9uUXnzqKVqybLnb1isDZVoc\\\\\\n\",\n       \"EU0vFimOooYwWi3o+q6FUIucPm+mTOLO9V6HEPI4UOzvd6JuXua54pBaeT3g+GQcck3cyhXyVCp2\\\\\\n\",\n       \"1zVe/IXWxbmx+N7DIYQ6wTuXeaUi720sYun7HpdEKIm7zGPVrmAlfWxGu7iGAlpNpGes8tz4wn0r\\\\\\n\",\n       \"excMwzBGHbNnz24YPvXUU+krX/lKw7gFCxa4D59rrrlmw3gMP/roo971Pvnkk/SnP/2JDj74YPrd\\\\\\n\",\n       \"735HTzzxBH3605+mgYEBtw1j5DEByxgHyLxXOgeWbz751zdPKOwmcQX5hBQpAOim7fUw3jojHS4o\\\\\\n\",\n       \"w4m487ixOOeV7vQLu07i7hOw0o5chg/6JB1ZcgO6hGvCBMKo6sfHCgaLFpyRXTmwnAurUKBcV88Q\\\\\\n\",\n       \"MYT/puFL0C7DBGXH4hVeCuM41E6jljla8S2P1Itmq/sQKfGCxyd5jOK46lqtK5cHwyFRPpwPS4dh\\\\\\n\",\n       \"ch6skDjH79c6tE2GLUYVde65LuAv1392ZNXqEMLz1l1tNXqFIpqH3FGoezHR3P4BmljIUy6fH5ID\\\\\\n\",\n       \"S18PcRvXgkxrrsXfhhDCGiz8orDgxOKWBusCLofYol+HDuO6gXurq6vh3pF2T5H3IHmtJK14ypx/\\\\\\n\",\n       \"PvdVs3tklpBUnQ8rDQstbMZhhx3mks1ORKubgqeffpo++tGP0l/+8pcM5WwYhmEYoxC4pzqUxH3O\\\\\\n\",\n       \"nDk0ZcqU+mjtvmoXvGsh/9VFF13kHFc77rgjPf/88y4JvAlYKwYTsIxRTjSCyzfL46ID5/Rr69B1\\\\\\n\",\n       \"IDSHXxp9CatlGA8nrmaDUSEfUz5fJer1CzfeXFi1/hgdWlmL4yHJ2rXTxCdgceggv7yHkO2T+VI3\\\\\\n\",\n       \"c7/Mn65fjavIZQUhCgcuBSu2jEjRgrsGq1SVcsiRlIMzKHEH6ZBBnwlB578KiVeJ8yquhxBCwGlM\\\\\\n\",\n       \"680yBx+xT8xaVZCiFZ9Znc0Mrd4lud1QJklZR/X6rUWstDxYEn8urJhyEexxIp5TWuF89UMIWnBu\\\\\\n\",\n       \"rVbIU1exQM8PJK0OgqXliksKD/GzEkXe60FfA/Ise/dfeTJ9zkUuQb4euN+VOvJhwTHT10cRWzP5\\\\\\n\",\n       \"2uZ+7riVAs4RBydjV5ILrliMhrjY9H1nMLfYoJjOguRQwconYoXuhbI09PzxCryXjx/uv/9+2nbb\\\\\\n\",\n       \"benSSy91IQzgZz/7GX32s5+lt73tbSt79wzDMAxjVOTAgnglBSwfa6yxhhOhXnrppYbxGJ41a5Z3\\\\\\n\",\n       \"mbXWWsvlvpLhgltssYVrwRAhiSU8pxkjShO/gmGsCiGCUlDyrSPXxEUgX9j0fPkUQWvoOvhFXDog\\\\\\n\",\n       \"ZCtrskVCfuGsR83lq1SMy+6FtkG0YqcJu63UX4hX+MsJ22W+Hx7mEMLhdHLdad11CxfSFg88QJ94\\\\\\n\",\n       \"+ukhAlo931C5nOy3FuM4TMwn3tVEiwj5kSpICg/BbzCPlA4lbObGYli04hAr7ioVOI+0T02nw5dZ\\\\\\n\",\n       \"ldjX4ysVTO/N2PVlKOW+FtYXOvtyX2VwnT/QtFqtuDJpLCOZIyzDlSrcPzLxfv2cRTHlKsk5diuW\\\\\\n\",\n       \"bivdyZDCWsdCbiGXo5mlInW5XE8JlWpM5YEBGqhWO17ndfdYby8d//TTtO+//kWbP/AAXTx/fsP1\\\\\\n\",\n       \"WK85eMrCPnOIpO8a5+MX5YB7BO4VxXy18R4iQpdlWi19Pxp0K/paHNT3Ohko6btHhtbRcOZT7uVp\\\\\\n\",\n       \"92+9LROx/vGPf9ABBxxAe+65J5188sn0wQ9+kD7zmc/Qt771Lbr66quzXYiGYRiGYTixCQ6qm2++\\\\\\n\",\n       \"ucFhhWH+SKTZbbfdXNgg5mMef/xxJ2yZeLViMAeWsQqSNUFeroWXKD2fnlfmytJ5sQZf4uQLOr80\\\\\\n\",\n       \"6mTu0ikhk7jnoyTR+ZCXdn6ZleP5by10EK0OylBB2S/HyWF2m3ACa+0x0h9AdP4rdpfIs/F8fz99\\\\\\n\",\n       \"58UXaYeJE930AU9gmiu1SiVZF46NQ6bQIZGPdJyw+4b7hdqUzxUaQqLSUr/IpOtSsJKrHCrISOcV\\\\\\n\",\n       \"p/uuekpLpr7n5Rq23mJY30jgE3LlsC+3m070nYyvVpPcXShvlBmXvy5TIFtw9O6VCBt01wk2oVck\\\\\\n\",\n       \"3VbaiShEH9f65sCAc/i5MxVF1IM6Va1SX5kzzBPlB8o0UMjTABK8R5E3hNCXB0uWpMzYxCUlc18t\\\\\\n\",\n       \"rlZprVKJ9po2jc594YWGxhK05JOvhQW6AkBSPHZZSbelbJVTHH8+ylGplA8ma5fCub4nNQpY9StT\\\\\\n\",\n       \"3d8qgfugO1EZ65wswazL8bYNDb76IkwBDRecccYZVCgU6NZbbw0+aBuGYRjGKkOr2ThC62iBE044\\\\\\n\",\n       \"gQ499FB6wxveQDvttBOde+65tHTp0nqrhIcccgits846dOaZZ7rhT33qU3TeeefRscceS8cccwz9\\\\\\n\",\n       \"+9//pq9//evOCW2sGEzAMsYYOrxPkkW8CjkMdOiMzvGShLP5XCWNIVKNL5gNTd7nkORcJF/SYXQ6\\\\\\n\",\n       \"hKomYsFxAieHDAWUAhX/9XVyHvfyHsf0dG8vvTwwQL3VKnXncjS9VKLZXV2UiyK6c+FCumLePJrb\\\\\\n\",\n       \"10dduRxt1NNDX9lgA5oEMSCO6bRnn6WPrbkmPbh0KS2tVOrrl6/EPC6qtciWeqyyWUAparhkxXFD\\\\\\n\",\n       \"fh8ZjpYlhFDnw+K/jQnbZWBZJSBeycxJMpyQ8aUCX5FIuUWOY3GCC0sGhcr+xsJE2STlFHnKLlsY\\\\\\n\",\n       \"oT98EMMpJ0eHEno6DqGtnzkkoM/nndBThnsP9YaIesoViqIqLSoOhhTyGZSCbn8c0xPLltFiNIwQ\\\\\\n\",\n       \"xzQhn6d1u7pojVLJlc7fFi6k34jrYeOeHjptgw1oswkTaOsJE1x9/8GLLzZcB+XaD2/9OoxjynPe\\\\\\n\",\n       \"Oylc+64N2Y8cWoV46H1EONz0PajxfoR7Fs5lszDqkKuq3fsp/80iZhkaJIlFs97Ig4VWk/761786\\\\\\n\",\n       \"R9aPf/xjeuc732kFZhiGYayydLIVwqx86EMfovnz59Mpp5ziwgC33357uuGGG+qJ3Z999lmXRkMm\\\\\\n\",\n       \"h7/xxhvp+OOPdyH9ELcgZqEVQmPFYAKWsYqQ1Tkl87i0s420vC++/UimcUtt8oVcv5z7WlyTXQ6v\\\\\\n\",\n       \"zRle0oeETUHECghT7LCSwz5BC2LTbQsX0u9ffZWeqyXAlqw3cSLtMWUK/erFF+ngtdaiN02dSv2V\\\\\\n\",\n       \"Cj26dKl7scc2fvnSSzStUKB3rr46PbB0aV0EkK2xNXS1VgnrIhW/nMt4PilaqUzhOZFrTAtZaS0P\\\\\\n\",\n       \"SieWTuSeTA+JV772Gn1ilq+VwqyflFoVubKKCKG6zEKCFqz4eHwuHIRWJnmxfGXojqI2HEKeL30O\\\\\\n\",\n       \"CW4pvVIt4EhnnhKwdD1zR5KLqFJ0WcupgPxaRNQN4ah/gF4uFqg3566++pleMDBAf3z5ZfrDwldo\\\\\\n\",\n       \"Ub/M6Jaw/ZTJtPuUqXT+c8/Rf6+1Fu0ydSr11a4HCFIsIg+W2KCAJdv7q8uebGWTIlaz+wCugVJM\\\\\\n\",\n       \"hVxYvArdg2SZDwpYaWJTWi6sVpGurCytFvryaY1f8IV42bJldMstt9Cb3vQmd7/65je/6USsI444\\\\\\n\",\n       \"gn74wx+u7F00DMMwjFUKhOKj84HfWw1cz3//+99XwJ4ZPkzAMlYROpX7JPTSpcUvv1A1OH1omKHO\\\\\\n\",\n       \"7SP7pXjle5l0f+G+YtHGl7hdd7XpHDIlBSudc0qHEfI8eHX8wyuv0CVz57oX8O43vZmmvedAKmy0\\\\\\n\",\n       \"GUUTJlC8bBmVn3iUXrrmcrr0H7e748Sr5OqlknsRX6+nx5XA/UuX0u9efZUu3HTTBi8ShxCyBMLb\\\\\\n\",\n       \"xPbhhmlwnAxmUB/qvJEOnNo05Etqp8V4KbToaLWk84lWOs23T7iS49ptobCVRPBZQ2J13dX9MoRM\\\\\\n\",\n       \"yiwsAvN+c7BopSZ6DA0dzBI2GNxLCCpwYOl60HhyBgUtHi9CCzkPnE+kHUC4YKHgnFc9SIKOcCw0\\\\\\n\",\n       \"lTxQpgX5PC3I51x9/ekLL9CNr7xMuWKOpuw6lTZ682pUWqNEUSGiyrIKLXlkCT1+0yt033PPuf1e\\\\\\n\",\n       \"s1Ry1wN+TNfv6XHrLXvOqKvztVLkgEyuWRFCYmV4cNo1LwTfXDdcWEPzv0mhXN9/dB6yRLT15fXT\\\\\\n\",\n       \"dUfWJznd97Eg6pDwJN2BBgtY3/ve9+qtEOLjCb767rvvvq4VQsMwDMNYpbGffKMJJmAZ4wD9ksWv\\\\\\n\",\n       \"kfplzbeMTFwcyiOUcy8RojGKurAiXxa1iDUodMX1xOQNL+7sttIZxmvDyHvFjpPGdNuNEot+mZfi\\\\\\n\",\n       \"1eUvveS6nv3eTWsc+knKz1q78fAmTqL8jJnUtcseVH7+WXr1s0fQL158kW559VXab/p02nXqVCpF\\\\\\n\",\n       \"EZ3z7LP02XXWoUlo5U389sjtyxd2zqEFwcG1SKgTdKeJFzV1JCfKsRm+aDTpuuKWBxP3lXZgaeFK\\\\\\n\",\n       \"Bplx0JkUqrQTy5cDK/TrLJdJQ8qCPkKigwwb1GKWdl8V1P7IeeHCiqhczrm6rctTl3Mz6iKuqxgp\\\\\\n\",\n       \"zUPqTPu1zuW+iuN6qZdTroVyPkdLckWaOlCmnlpI4YxKhbqqFfri3Bfp1tdeo5kfWJNWf+vqlJ/Q\\\\\\n\",\n       \"WLnyE/O0+ltWp9X2WI2W/XsZPXPOM/TNZ56hzeFQnDaNdp86laZAJFMBcrJG+RySTjp0jrDa9S5D\\\\\\n\",\n       \"hfm4MU05sHDPiHJllwcpfH8J54hLxsOu7wu99mWv0/ne6mdQZATjq1tPMzoBQgV97LDDDnT33Xdb\\\\\\n\",\n       \"IRuGYRirLCsjhNBY9bBWCI1xTCj3i69fziOnDw7LvD4yv4/MiaXH18fF1cSRxGF1HOumlQAp7EDE\\\\\\n\",\n       \"qr20U4rcohNS89/fv/yyE68mHv4pmvyF04aKV4rCOuvR9Cv+QF377E9zenvpqnnz6LjHHqMX+vtp\\\\\\n\",\n       \"3sAAnfb00/TOBx6gfR94gG589VX6y6JF9KYHHqBn+vqGhnRJr5FWPvg4tXih4tVc6avy9iHzMMnc\\\\\\n\",\n       \"TFzEjZ3cS5+QpVN9S+nQJxP6pvs8crq9xlDWsuGso9l6y55j9AXkJR3KSpefLFNZ9llyYbmOZ/YJ\\\\\\n\",\n       \"V766IKaF/HBeITeKaF6xQK/kk9BBMCUmOmP6/2fvP8Auy8oqAfg959zwpQqdQ3VuaHITGhttROIA\\\\\\n\",\n       \"zihBGRFFwMCM/qKjjYPdggT5tUFEQYcflOSoOBhhDDMEiSOSuslId9PQATpVdaiu8IWbzv+8+5x1\\\\\\n\",\n       \"77rv3efc+9X3VXfVV+96nv3ck+85e+9z69ur1lr7JPmRnzxXTvpPJ02QV+P3ncjiBYvygDc9QObP\\\\\\n\",\n       \"nZdvLh+Uf9izR15yzTVyq9p6I+9dVQmPXGaLTagNK/p+2KfkG0rERst5cDHL5uT7Evs9tMtVv5Gx\\\\\\n\",\n       \"dcfhwp//+Z+HWZBOP/10ufHGG8M2DZ3VzA6Hw+FwOByOrQwnsByOdQ/A7FTz07N9QFRZdQS2iRIn\\\\\\n\",\n       \"GLgyG8D5PzYfazCYaYDMdAsG8Xs6HXnnLbfI/LOeK4vPf3EYkM/0g5GmsuOy18r8Dz5T9vZ6Idj9\\\\\\n\",\n       \"C/v3yx9ccIG86YIL5A8vuED+fxdcIJds3y6PXFqS/3nBBXJSsxmhP0idEpPtTAZTTa6TyqMu+4pn\\\\\\n\",\n       \"IASYZCkumZcWOEt3WHNmVS5WMKmVhZVavch+mDqryqwE1rRr8P0w2RW7X75nJq5i5tQRPVrUm5JZ\\\\\\n\",\n       \"4/VqSaw6AmtcQVehvuJiiR59D0qZVxVphLvmvqck1p2NhtzUbMiB8vwTGg157efb8vyP9iXrT9ew\\\\\\n\",\n       \"Z3OZnPPr50j7jLkQit5IEvnMPfeM1dKwH0YowQm9Hr/v9p3n94TrIO+P2ZJjdsHKvLGiFbhFzEQY\\\\\\n\",\n       \"dXDC6r7AW9/61jBjkga27927V/qld3enznj5pjfdJ/fkcDgcDsemIN+k4tjScALL4Zj5VUnXtc8O\\\\\\n\",\n       \"GJlgsdbCJDbTms1/iuRAqW0KtIoduFdFjOvnh++6S6TVlqWffcnM5FX3G1+Vg+95p/Su/XeZf/bz\\\\\\n\",\n       \"ZJCksq/Xk7Pn5uSMuTk5c24uLGtZzDJZSFM5d25OGjpD4TQFlvWbxdQomwAr3Bn/2hgVaJVIMdUT\\\\\\n\",\n       \"k1Wxsqbz2ZlEMk4l65bHbKTY6/F6x3x/b8ZnqKJbxrdZYaBxem4ctrEswRtRYNUt23flQJrKS3bf\\\\\\n\",\n       \"Kv8vXxl+5TM+m8tr/7wvJ9+t9t5cHnzjQB779UH41HXF8reWZfc/7pbOrR057uknyM0ra3JPryen\\\\\\n\",\n       \"t9uyNhjIt1ZW5JsrK9LL86BQvHplRW4iNeKErZAVl/b9t5lftF9/O9gqaK3M02foXP9vm+O+wx/9\\\\\\n\",\n       \"0R/J29/+dnn5y18uGTW2ZmN99atf9aZxOBwOx1GMZJOKYyvDM7AcjqmoshOO77P2wLGjjJ2Qt4cx\\\\\\n\",\n       \"yMBM3caKIwzY7T6kZkcsgnXbuoOBfGjvPdJ++jMkXVyauf2ThUXpfOULcvDv3iP5wYOSzM3JXGdN\\\\\\n\",\n       \"HrZtW/Q/PmLrMSVWdPq6GAMSk1JVwF7CVmX8uCq9Gn/GwtwtJRejEquyrWb57yLsq/sHeVDxjzbn\\\\\\n\",\n       \"Gg1M1hXUNvwsOJ61Q5y1hSh+XHsgg0E20YS2fuuatfqxzVSG3O8jX2L7YOxdiBW1w37unv1yy4/v\\\\\\n\",\n       \"kJ/IUnn+xwbSGIjc71aRN76jL52GyLbV0dfdsU3kT/9DKp/clsryNcty54fulMHKQJJM5KzWnDxy\\\\\\n\",\n       \"+3a5q9ORX/7mN4fnvPeOO0J51OKi/On550/0lOHTsMIKz8bvv51Gs1y2OXD8W8TbYsT6qF1jv21V\\\\\\n\",\n       \"+xz3Fa6//vqQd2XRbrfl4MGD98k9ORwOh8PhcNxbcALLscWx3oHXLAO5SZbfElRMVPEnDxrHtutC\\\\\\n\",\n       \"zHfFrIAtOmingfysA/ir9u+XfZ01Of4Z/3ldNdM4+zw57vVvGa53v/E1uesXf0q+euCAXGRIrP9+\\\\\\n\",\n       \"5plhhjf+bsbYwL3KcxZjm2pgD49U18S+EcFia40/+zNkQ8V0PuGmDWnFxNAsOuehTm3GWQfryAaw\\\\\\n\",\n       \"FSCqYqHdvG5JK5BfOL94Zq07nZWQuRau3ypb4fAJq6rANlq4dcOS0YWrqEC7zb4nH73rLmkuZbL9\\\\\\n\",\n       \"0dvl/zRT+caZifzK/+7LaXeLtHtFYRy/X+Slfz8Q+ZGWfO7Xzhluv+P/3iE3/vXtsr/Xk5NaLfmH\\\\\\n\",\n       \"Cy8M/8BqaZUzHiIWn9/L0eNWVFjsvaA6sFlwoSUNWW5Jc6vMmmzvujwsPmY9wAQBjo3g3HPPlS99\\\\\\n\",\n       \"6Uty9tlnj23X/KsHPehBXrkOh8PhOHqxGRZA/1Njy8MJLMcWx6EOtGa55nRrTV02U0ypFRBTmGDd\\\\\\n\",\n       \"WKhiZFU4pfy0WiAtt6ytSTa/IM3z7i8bQeOBD5Eky+Q2tUVt2zakNKzmqIpMm8AGPGdcZbxsc/Bj\\\\\\n\",\n       \"zky6gRmJKUti8ayEMQLMPj3Xynr+5e7P2LeZ6BpEso1AJDCRNTD/HECxhWtgTj1uZZRC/mMtmRzb\\\\\\n\",\n       \"ZAkrVmWNt8E6EekzXLMxpZNtlVs7azJ3/oKkzeJlvP60RC57YSp/8j8GE+QValfPfdGHB/L5+yeS\\\\\\n\",\n       \"p0VdL1ywEGyAe7rdMBPhNA2efXfDfiawUDEx9jVSaXW/NVaNVQ1ty96Mv4Hrhau4NgOaf/WLv/iL\\\\\\n\",\n       \"srq6GkjPz33uc/K//tf/kiuuuELe8Y53bMp3OBwOh8Nxn8AJLMcMcALLcQzhCLbCDMwovw4xZQp2\\\\\\n\",\n       \"zfAfD8uambOwKBuFZmcpEbZccy+bFYMUoCE/NXld1p5W5UI00UmUgWUJKJ6Vz66zKosJrBiRZSmL\\\\\\n\",\n       \"qto5lH+1q2yDMfsXE1hMXPHxYUYBuh8+LimfFUqs4hlidQnyiolEjjirap/xxyiDnTYJVbWrAe7p\\\\\\n\",\n       \"/Pj3nLt7Unk1dmsicuJ+kQd9J5d/P7uoO8xauDIDEVvb0uuwyhaV2AeHeIThCP69PYrxcz/3czI/\\\\\\n\",\n       \"Py+veMUrZHl5WX7iJ34izEb45je/WX78x3/8vr49h8PhcDgcjsMKJ7AcxxCOYE3pjEHqm4FWkkje\\\\\\n\",\n       \"oVCfDWDQ6UgrWTqk5LDJE8xW9kVF5COxTCVrXbPHWetgQaqoDS6WXVWnqGJLYd05lryy89KNPZEc\\\\\\n\",\n       \"GtKafp5RS+B+mYDCuam5P7aR8fMkE8+pdacWwn6/sBFW1T3axx5jj5toaW77WLicQZX5reoNm9P3\\\\\\n\",\n       \"oTv+23DcAZkJfNygUzxkc6Pv8nrPT47kkPUj+Df3KMZP/uRPhqIE1oEDB+Tkk0++r2/J4XA4HI6N\\\\\\n\",\n       \"I0+KstFrOLY0nMByHAPQQVRyGAZUG7vWmMhCB6GzDlw5wIZycPAZuwrv39loSO/Afhncs1fSHTsP\\\\\\n\",\n       \"+f77d+6RQWdNdhiVjCUPbKJOlFCIhfJwWBgvl/vzfESYMGyMkA1vt4RWnISy22xge7+CuOLjYga2\\\\\\n\",\n       \"mBpreOeHqMCq6++2FXh/7PthFbQB75bomqwrbo+6NogJCMdIR/secKCTDXOq8M3VpdbZWtvRaEr3\\\\\\n\",\n       \"1uVgx8KMnHfPOLcBH9e5vVNer/p94G2VxFrsOatQ5xs8JBw5v4+O6VhYWAjF4XA4HI6tAJtne6jX\\\\\\n\",\n       \"cGxtOIHl2OIYZfTMhlmMbzx4n3JkjU2qcp9OKcaDUh6kwkZXDt7Tfn8skYvNYnbgDjri4h075O23\\\\\\n\",\n       \"3iorH/gHWXzuC+RQsfLPfy/NLAuzrqURg9o0Im2YIqbPC4IKZAWmVeNnx3GR8DDOXrLrNptpMqdp\\\\\\n\",\n       \"GnHVr1Bd9WbIwbIKLokkIuWHaCNkZRXWOYgdainbIpbmxPfBHoiocVwXzx0aJErQqYqNM69idc3r\\\\\\n\",\n       \"4aq0PvpjoySltK1RLImJ7dxnsiy8C/YpYzXGfVS/9pIdO+STN9wtK99ekYXzCzJAg9x1tkENbI/p\\\\\\n\",\n       \"m/Sp79pWHAfs/dhdcv7ivJzcak28D/Y9tPcy3M6zQIAIswpEfj82+lszBktM1uFQyNZNNRQfU9BZ\\\\\\n\",\n       \"B0GuTsMXvvCFw34/DofD4XA4HPcVjmTvgcNxhMAO2Cf3ccZPLLi6zvIWjtUVJmaYyIkN2MsBrg5q\\\\\\n\",\n       \"7KDdDortNlVgfd+OHbL2/vdKfojB6XmvK2v/+2/k+3fskKUsm0hZYtTdz3DQvp5nL7cNjOInRphY\\\\\\n\",\n       \"UsWGuI9mILQKqrrSMwosnp0QBcdYAqxn9lmirGrbtP12G76nars9l5VjOC5mm4ypzfqljXC8bmN1\\\\\\n\",\n       \"X9VOw6Ky75o2D6ROrK8omVvT52N9EtsesW2bnDDXlLs+cteof6eJ/Ol/SKMkGChB3Y8A97Vb12T/\\\\\\n\",\n       \"Nw7K044/cUJdVXU/E8coQYHnYxUi14fdp/bHinkfqgLybZ2PqxDtk2Kfk0/3JZ71rGfJM5/5zFCe\\\\\\n\",\n       \"9rSnybe+9S1pt9vyhCc8IZS5ubmwTfc5HA6Hw3HUIt+k4tjScAWWwzET6n4RR/vsTPc82xrvm7BT\\\\\\n\",\n       \"6UDY2uis4siuJ0nUIhUji8Tse/rxx8u/futbsvbxD8nck56+7j6w+uH/I72775Sn3P/+UZIgqYgM\\\\\\n\",\n       \"j9q58NyWtOLtPHgvlwcmy2pESI0re6ptbQXxONmOVo01Sy5WzFLIuVdWcWX7U6x/VfU3S6tYRVVS\\\\\\n\",\n       \"sS0jmyAICVZwcVg7k1RJRV1Aw1Teba5KrMLayRPpcd1zG43nkIHAMpbBmvbn9wHqlKp3wPZBIOjN\\\\\\n\",\n       \"kkSetvMEee9nb5e1Z50k7ZPbYd/nHpDKt04byP1uHa9tVV4peaX7gT3/Z48sNjP53h07on08RmJN\\\\\\n\",\n       \"lNh7b98DrPM2Gc8eq/qN4Ryy8d+p2X7bHPcdXvWqV42FuP/yL/+yvPa1r5045jvf+c59cHcOh8Ph\\\\\\n\",\n       \"cGwSPAPLMQOcwHI4ZsL0QR6TIUNllRm0A3bwnjciJE5s4KoKDQxwy22JZvfQAD2m7uABtNIYD1xY\\\\\\n\",\n       \"kIt37JQrf/fVkp22S5oPetjM/aDzlS/I/j/4/8pjjztOzpufHw7AM3MP+K4qe+FwgM8DdlagWOWJ\\\\\\n\",\n       \"IS1yCg2vIq6symdSfRUjnKoysawKq06dBIKoallh5TGHqnKx+qLYTILIvWKSis8HaYVzGnQcnjOp\\\\\\n\",\n       \"radChZVO1LFVJdp2GQt2H2i7VxC2vM2qsUoVYIwwQh9k+o4VWNoKTznhBPmXvXfJd95wo5zzm+dJ\\\\\\n\",\n       \"Y3tDmt1cztxTHHNgTuSdT03k7qUk2AahvFLc8YE7ZO//2ys/t2uXzJVKMHxnjDiz7+oYqYb3nJ8v\\\\\\n\",\n       \"9g5gmyqwlMwldVvVbw3/JoVWzmexAzqBdaThb/7mb+TKK6+c2P785z9fHv3oR8u73vWu++S+HA6H\\\\\\n\",\n       \"w+FwOO4NuIXQ4RhiVqvMZE4MD8ztwF1RZWEb5jYlpDxiuxQPVrGun61WYZsqVVgx4qhBc9DZQXWW\\\\\\n\",\n       \"JPLfzjxDzms1Ze+lL5a1T39y6lOrwmb1k/8i9/z3X5AHzM/Lz+/aFa6JEiMMYuQZPlGk2RRpt4tn\\\\\\n\",\n       \"wvPqNi1cH7qf6qRfYVmDdXBaDlNhr6qy6zFxxTY7m4HVq7Ae6nq3LHZ/j7bzNrteV+rO7Ubsg9hu\\\\\\n\",\n       \"9/F+XJuVY7Yu7Hnjx0RtgURYabuwtRDrwzbRy3D/5z6h69on+L3Q/VqazWF/alAfs+or2zdBvG7P\\\\\\n\",\n       \"MnnF2edKc+9Abnjtt2XtljV52A25tLU6ROSzD0jkUw/J5N/PHtkG834ut//d7XLbe2+TZ5x0kjz1\\\\\\n\",\n       \"hBMmiKus4p209xCOB2FdPs/E70FFyZM0Ss5yvYaeHmkPS3bFftum/w467k3Mz8/Lpz71qYntuk2t\\\\\\n\",\n       \"hA6Hw+FwHK1I8s0pjq0NV2A5jgHE7Fo8+AKPy8dY9Q2fx2DVSrlkLINVg/mRKkJVFJnkqiKxyhIe\\\\\\n\",\n       \"yOp2FLVNNZtjyic7WOZBNDQ5XBMLaSqvOecc+b2bviNffPl/k9YFD5K5H3mezD3hqZK02qPnWV2R\\\\\\n\",\n       \"1Y9+QFbf917pfOta+Z4dO+QlZ54p7TSNElIx5ZW9tyGxxYoakBNMUJhnDsorHbSnmfT6SRikd7vV\\\\\\n\",\n       \"2Uox4mqcXLRKopgCK3actRHGcrS4v8Sub6/L/Wjav77YD+0OFFasrML3Wf2P7cNQaFn7YJV1EMtQ\\\\\\n\",\n       \"c42OsUSKDXS3Sjm0g7ZhQbgkMkgzSUIhVV5VnyjfD7Xf5RTkXqe6ysoWQgw67n5Xuy1XnH8/ee0N\\\\\\n\",\n       \"18t1L/+m/MyDzhSRxXDMlfcf1Wt3b1fu/uTdsvejd0lnb09+/NRT5VknnTT8zgYRVfxOMGFml/G+\\\\\\n\",\n       \"hufhZ2YVFvYRuZ1nuj+bqOMqInFstscxFVbVb5v97asirWKKRd7nf01uFn7lV35FfuEXfiGEtV98\\\\\\n\",\n       \"8cVh22c/+9mgvPrN3/zNTfseh8PhcDjudWzGnwz+J8eWhxNYjqMEGKBv5Hy7XkUWWIuUHYzxMaMB\\\\\\n\",\n       \"22S2TJzAipJZkgYlRRi0V6mveCBffqZBiTSQrLQRYnCOZaYarFKrUZJYl519lnx+3z754G03y1df\\\\\\n\",\n       \"90o5+Ievl8aus0QWFkWWD0j3uzfJYGVZLty+XZ56zjnyyG3bpFmGx/PgexYL4dh9sE2whrCaIDAS\\\\\\n\",\n       \"rassGtIey7yqW68mqmKKoxhZJREyy5JXrNri421/Wo+ahfskE7DWqIbvRe0z8WQzr7IIccXPznZC\\\\\\n\",\n       \"+zzFtlnq3uZgjSmGBsn4e8B9ou5dwPswGEhqLLUxhSIKagxk1qmtlrzhfveXT9x9tzyuMxd2rOQD\\\\\\n\",\n       \"+cf/9R3pNEUGB/uycstaeHceu3OnPPX+J8r58/Nj71Tse6xS0S6HyRhsUL19TluUzE2S8NtRVedW\\\\\\n\",\n       \"CRr7jYoTuLaP1f0mxn4Xq/rqocD/EmVcdtllct5558mb3/xm+Yu/+Iuw7UEPepC8+93vlh/7sR/b\\\\\\n\",\n       \"YF07HA6Hw+FwHNlwAstxlMAqTjZyndiACAN6LNedN5kDpINBtq2xyiSWCRRTpgySVFIorqAugUWq\\\\\\n\",\n       \"0xnZ6lBKq5EO2rNeb5ha1IhogBoVVEnYniRhVsLH7Nght66thcH7XXfcJiuDgcxnmSwtLcpxO3fI\\\\\\n\",\n       \"4447TnbozIcRcqph1CdslbJqlOF5OkhXy4sWWAjt87HSpix5ozFRf6h7/dSqsvbBSTVQThbCmHXQ\\\\\\n\",\n       \"klU28yqPzNhnrYISWebPzcrAkpoMLClru2+W0/K+WYfE54KwSsrjmPKJ2QiLHlHUsRJZSbQNsK5t\\\\\\n\",\n       \"BPtgzO6ZaD/jvsCWQttHtO/oRebmCgVWvz/W1/BeMI3INa3rpVMwPO1imsqzjztOju8WW7/d7cpD\\\\\\n\",\n       \"97akMxjIYtaWM089PrwL28rcLZBkjQq7IPd/q84a2nyhsMLz2efkbSC0mk0ZlETuLHbZGHGo1TYe\\\\\\n\",\n       \"5G5rqIpYnbZ/s1RXrt6KQYkqJ6scDofDseXgIe6OGeAEluMoBA+u7XYxUc7rQUxtFbN+xRQGGmAd\\\\\\n\",\n       \"J05YBQGChYvap/QzbaTS4IFrbDBrBuxh0F5emIkrDI7tcNQazEBrgI44o92Wnzj11HGNUJ4HhdY9\\\\\\n\",\n       \"3a6cYAgsqEiYuGqadbutCRJLFVj8XFyqBu+BwGqGOkO9MRkCOyEG57rObQKrWjFoj6mreDmWa8Wk\\\\\\n\",\n       \"TdW5sWtVWQpt363rk7E+j3NtX4eqCqQTiCssc4+wtkH7XXZWQlBCcZVanqfDumeF3MgmOG4bxLHa\\\\\\n\",\n       \"jtrMupw1TNvHiCsunU4gvLRPZWUfQwvZvo5ajdU01Is7IFkSkZ0LC/KSbdvGanYsu8oQtZbItcWS\\\\\\n\",\n       \"a+Ecfab5+eKd1k9L6Fb8FqhirUP1x4XruopILB7TWv6431Wps2zfXA9s34m1hKuupqHT6cju3btl\\\\\\n\",\n       \"QH1VcdZZZx1CmzgcDofDcQRgM/4E8D8htjycwHIchWCrFNaFLE7YByqnaqA/zSIYO84SEqzCGpTK\\\\\\n\",\n       \"k0J9Ehsw2gElq1AGOvtak4KqWX2EgTqrkaBI6fUk6XSGypOByfnBun0yDNaxDFqDaY+iWhPZ1WpJ\\\\\\n\",\n       \"K03DDwbPOhgbsMeUWDbAWu1SiSUn7DOz4ob2hfyrterBuQ0Gt8HhxTkxNZUltKrUWNyfqkjOqn1M\\\\\\n\",\n       \"YMU0cbG+XtXvLTgPyyoWuVV52a5bJSLbBusIutG6vgN5Pq7AqmuPmJoubxs7KfeJmvcjkFh5PnwX\\\\\\n\",\n       \"QOJiGQANx+AWWAxp8sW5y2W/t7VsbYIcHh8jq2JlmAMXewfQ/2vej343jSrZYirPyd8k/c2yRFXs\\\\\\n\",\n       \"Ny7WD2PbYr+ltl9b7Zvtr3afw+Kb3/ym/MzP/Iz827/923iNqXU20ffOKjsdDofD4XA4tg6cwHJs\\\\\\n\",\n       \"AdjBOm+PDbwYPEjHfktG8LYY4cEkVjIxSGf1lbVL8eCz1yoCynVgGsidKgLLbE9UfqGzsBkCq2GU\\\\\\n\",\n       \"JXbYqU+NoQ5qAESWxf3m58eUJxJRnDQjeT/WQjVUbfHMgzxAZ3KOFTcgrxrNgsAyszlyvbKdsCrQ\\\\\\n\",\n       \"uhi4ozbqiKoqEqpKdRUnNycJAfSpqn6pqBqIZjX9GK3J2zkjK68gp3gbq7Fi6humOe3zF3VbRaRw\\\\\\n\",\n       \"29i24/V8PgttndQROdxPSI2VqKWW3gUtUCfiKbKKmgpqwjwXzOW2qhMDlnlvFjb3ra7P16mvwmQM\\\\\\n\",\n       \"VmU25bnVRhtm4lyLE1j2nbC/N8iLi5O3MSKLj616P6rUVPbc2DFOWM2KF73oRdJoNOSf/umf5LTT\\\\\\n\",\n       \"TguklcPhcDgcWwKb8SeB/0mx5eEEluMIhlWEbOQaWcV1rWoFx8J0xDOt8UCfB3sjrVO/PwpUhm0q\\\\\\n\",\n       \"ZnNDpJWOQ7Ff13vtTBpqI8LBGJyXJFWwF4GZWV0deebUQri2FkaloB3EPB1MZKygQoITE19VWqDV\\\\\\n\",\n       \"fl8GeS7bSxshBuGxzJ+WWR9TZEFxgvwr2CJhoYKNCvuo9JNi9kFrl2I7ZszKiTofhb2j3WKqItRK\\\\\\n\",\n       \"lYWQl2MD/dh2q2aJrVtUtUQM/I6g34KMQusD3AOYiMJ94LwqCyEb5yz50Q8WQu7/2tzavNa6xu8B\\\\\\n\",\n       \"vwOdTiI9zcFKSkstF/QNsDF4H2CpVaI1z4tMuH5/gl7hu0YLo/YG5bZ2qb5SdNIsELNVNc6TGMQI\\\\\\n\",\n       \"3YyWm/RutLDOOXBc9Lm0WJUivRu9QSYa01X1HqBarKWQ2yHel5mMstutMbNKdRVTVG30L8rYdY89\\\\\\n\",\n       \"fOlLX5KrrrpKHvjAB97Xt+JwOBwOx+bCCSzHDHACy3GM/RpO+2WsIhPs/ridqtfLpddLKtUPyG6K\\\\\\n\",\n       \"l0S63VwabJ/TwaoSVZR5NQx2WlwcklmJrq+tBSuhDtxjQ71YqhFojriebPzcb6yshG0XLS1NEFip\\\\\\n\",\n       \"GbDzp83E0mdIlNFg0grrHOoOAouUWJr50y0JLB6kc/1yrhjqdjy8vSjjA3cmr2JqK9v2dl+MtIod\\\\\\n\",\n       \"z32wzl5VB3sc2wGxzgQUZ16hNe1MhExdMoHFFsRZ6qov/X5B6SiZC8KE2wKkrS5r87IyaNRuOitf\\\\\\n\",\n       \"WrwLnAOlfQLvgx6o/QTMpJ68uhrehbzfl8bBgxN3h9pvUi3YGpujTKFumgayyb4LNv8qRmBx5lsz\\\\\\n\",\n       \"shxstPpMCwsjwkrfaUtk8btCNuLRb0b1b0qVrbCob6uuixG6dX1w2u8oK/aceNosPPjBD5Y77rhj\\\\\\n\",\n       \"067ncDgcDofDcTTBCSzHUQyrM5rlWF6OEVu8brdX2cJGg0DYpNg2aK1S/GmLKirm5ooB6nAWNiiw\\\\\\n\",\n       \"OMhZD4YFDye32yH/R1VYjcFgjLLAHcYsU3hKS1HYGj612ZRrlMQaDEIeViz3x9qlxpRXasWC+goE\\\\\\n\",\n       \"FQfTW7UN2QjzQOo1ZdArLFPgKzgo3JJZVTMQFuqrwYzF9ptY+1fVoCUIqq5R1U9ngbW/sv7Orsda\\\\\\n\",\n       \"XCoyr2L3N3u9sQqrqnDoPpO72NdM02AjHHsXQOyCvOJJDWBLLS+Qrq0FMlffB9AztpY5Ay7URp5L\\\\\\n\",\n       \"q7SXqhpL3Vk8g6eNuK8jsEDosgprmBOXpiMbLT8Hr1eE2Ou7kGcN6ZY83rQSszRjOd5P6wrXXmy7\\\\\\n\",\n       \"Pebe/m/XrY/Xv/718rKXvUx+53d+Rx72sIdJU/sFYfv27ffZvTkcDofDsSH4LISOGeAEluMYIrGq\\\\\\n\",\n       \"zsXAmzUZdlBnSY04iaXByFqgjOCBeUyBxbO16efaWiKLiy3Jmjpo7Y4GtKw4YQuhqjLgx5qfDzMS\\\\\\n\",\n       \"agaQHssEVmwAbhVYGOTbYSjOUQLrm8vLck+vJ2e0WkPiKhZc3Yrk/wTFCdujoLSyKiwewNP6oNGU\\\\\\n\",\n       \"Xjcdqz9W9ti6ZuUJ79Ow/VE7supkPcSWPYc/Aau8sv1KIsfbbXVIKuyB3Je5dVltxffCvSG2zu9H\\\\\\n\",\n       \"tfpw1HuUwBpIt5sNFVexdmDVFdsJsd5sZjJoJJKCwIGNFkosXcf7UCoQQ19SG235TqSrq9Lo9YYt\\\\\\n\",\n       \"bVVXgaSiJ1Xid6g5UwUY5Qvxu8AmTCzXzUJoVYiZ2nChsLR2WlYhxkqrLYOsFR637rek7rcHv1Nx\\\\\\n\",\n       \"4rWqn1f1cVYiHioB5eTVrHjKU54SPp/85CeP16CHuDscDofjKEeSF2Wj13BsbTiBtQXx5S9/Wf7x\\\\\\n\",\n       \"H/9Rjj/+ePmxH/sxOfHEE4f79u3bJ7/yK78i73rXu+TYA9uiWI3CsKqaWD4MMob6tKxD4W54pXQW\\\\\\n\",\n       \"tmI2wlEGEAbouozMH3zqvpUVVWUU23R5LmtJc74gosJItVRWhXUsgwFAIDmsT1kW1E7NTifkAbGR\\\\\\n\",\n       \"DLOv9SgDyAZcW80QMJemcmKjIXu7XTm/JLA4vJpnILSWqQwKE7VIbdtW2Ka0LC0Vg3hetqUkvTrd\\\\\\n\",\n       \"JHB2Wj+oFrYLcoHqhPN/oAgaKbD6E8TLdOIyps6y14hZpqooQia3Yut1YFLKwiah2Vk7WX3F1I7t\\\\\\n\",\n       \"57FQ91hd8TvRGAty53bQ/g1LobYf2wn5ndA2LuYzSGSOc9/0JJbcaZ/B+4Av1BdJy2BQBLCrrbDb\\\\\\n\",\n       \"DXffLfu9lJ/ov3iT+2QfTNI0hLnb2mX1FRNZVTMQjr0HSVK8C7ANTnsftLDFcH5eemlTVldGvxuI\\\\\\n\",\n       \"wgOhZbOwmOidnIUTNTKsgRqylqeCiPVx27cseevYDHzsYx/zinQ4HA6Hw3HMwgmsLYYPfehD8sM/\\\\\\n\",\n       \"/MNy//vfX/bv3y+vfOUr5W/+5m/kiU98Yti/srIi//N//s+jmMBiHUTVfh6c2+NjtqiYTYYH7FaB\\\\\\n\",\n       \"ElMujD51JsJuqRTCxGGsONGig02ISrAMd1QQmjSyoMIK6hOorDi0GusRcivRkb8GWetjqJWqnFYd\\\\\\n\",\n       \"9AKrTjBkRQJSVS2gBs9ptWS53x/OOIhiB+1DxQlsg+22JJaUgvoqFthurVWNhnTLQTsIkZjKBFVj\\\\\\n\",\n       \"7YUFoRXLvuLBOYpV5lVRejHrlb1ubF+VFcuiavCfRo5BK6G/8zNYVSGuwa1bNWEC3zuTZahHJnGZ\\\\\\n\",\n       \"zFICVzPhkkBCsfoKiiyrwOIMLLRxECTN04uBzKuxA+bGmTJ6H0Ielt6d2mpLO6EldPE+KNnbD8RO\\\\\\n\",\n       \"8STNJBl7Wta6xXKw6mYdDIrELJNUlVecdRUhascKrLbz85K3WpI3W9LPC2UbCFz9BK/HRBbXr63r\\\\\\n\",\n       \"cRVindqqajvXSkyZFevTsXejDv5fqDE8/vGPl83CFVdcIX//938vV199tczPz8sll1wSLIoPeMAD\\\\\\n\",\n       \"Nu07HA6Hw+G4VwXZ/ufDlocTWFsMr371q+XXfu3X5Ld/+7eDCuINb3iDPOMZzwgk1tOf/nQ5uhEj\\\\\\n\",\n       \"o2LrdmDFA3pL0eTrKDieLTOWAhrIYDAKr7YB1WGmQTOYjFni+m21T+WS6gAWI1KQORxajcE71ClQ\\\\\\n\",\n       \"Y4G4SpIwMG+qGsXMu8jrMSomVsP3VyKKzrOWqbEBvJJXmpVlw9mjtihDWlH2j+b99CUbU5RYqxTn\\\\\\n\",\n       \"/XCd29ylQn0VG0RbdVRMiVXVH2KEVEzNVdfv+Hzuz1XvASOp2WbpyBhxVXUfMfLKPg+SpSzpl5cq\\\\\\n\",\n       \"rEKJaHPgbDuN5cCZ96E/n0nWaBbB/9w30F8gLYLFFu9DmYcV+q/2f7UTFiFoE/0/1ASRW1mahP7L\\\\\\n\",\n       \"FCK/C5bAshZCELhDUkvfg2YzlLFZNqsKvwtE6g6SLITkW/tsLLjdErvjWXAxAh5tGSOYZv1ttMfW\\\\\\n\",\n       \"nTtLn/e/QhVf+cpX5KEPfWj4PdXlOlx44YUyKz7xiU/IL/7iL8r3fM/3SK/Xk9/4jd+Qpz71qfLv\\\\\\n\",\n       \"//7vsqgkq8PhcDgcDscRBiewthi+/vWvy5//+Z+H5SRJQtjrGWecIc95znPkve99b/hD9ehDTBli\\\\\\n\",\n       \"tUGskUhmoPPzmu1WKRNTImDA15jYXgzcNQdLx52F+sQqTKCcgG1Qx6ywVC0vF/apZD6VbGGxUJIw\\\\\\n\",\n       \"SaUXUoAB0IO1wD4VTk7CcrBP6efy8phWBnRErxxgMx1RZ/rR87qDgRwcDOSERmM4QE8jCizN+Ak5\\\\\\n\",\n       \"PzoQUhsUBu5Y50G83V6u53Nz0s+a0umm4dHVLsXWQbZR2e1WgVK4w6zaKtauMfKqSp0SI7K4j/K1\\\\\\n\",\n       \"Yv2Rt89qt7LHcaaVtQ7ieE56ymruBddmxSEKWwyt4spaarMhmYs2YFsn2gh9XrkaZLTzu6HqLbWO\\\\\\n\",\n       \"trKmZDvbUkEAAOelSURBVHO5JNpHCgnR+CwJuo6G1v6vJ+tycZGgSgwk0tqaZJ3OxN1q313rj+q1\\\\\\n\",\n       \"nWZj8zLGgKdkGyHbaPl90Oy3kP+mRZ9BC6yCsBBiHUWPLbfreyALi+E90P6uvxHo87F3ACI1rvuC\\\\\\n\",\n       \"1MqNjdb25Zg6kQl7S+jO+psaI6K4v0079ti2Ij7iEY+Q2267TU4++eSwrP+2F204Dt3eLxW3s+AD\\\\\\n\",\n       \"H/jA2Pqf/umfhu+46qqr5Ad+4Ac25d4dDofD4XA4NhNOYG0xtNtt2bt379i2n/iJnwj/c/vc5z5X\\\\\\n\",\n       \"3vjGN8rWgx2wV6HKIsUWQRAAGARgoM42KWs74wysgs4pbISNidwrxPPogF0/lWfSfTr41OXSbRe2\\\\\\n\",\n       \"pWkizWZDGvML5e2XBJYChJUWXVZgwK4ng9QqVRxKYjW6Xcl6Pcn6qmcqnoDptxglw0DtXLu6Krd2\\\\\\n\",\n       \"u/JDO3ZMZP/oAEqJgjFboH5qlg8P3jGAZ+IKA/xyAK+D9rzVlm6/Mcy+4k+UqtwfO6udDt7HSSjO\\\\\\n\",\n       \"wGIyywa7S8VgP6ZCwvlVg3hLBPB5sT5dBe7r6IM2243fC6tU5P6Na9iMK86L4/u0ah2mRcdJXa1z\\\\\\n\",\n       \"7ccQSKFbos20q8AdqG2J7qsF74N2kXS+KWkrkWSuW/SPcMvlRbVx9WAM3JUF03Ud4OMLw6MWL16y\\\\\\n\",\n       \"uiqtlZWQd6UkQHhz81w6Zf6VPuVCmkzM72hrnu2DbCMckrk6aQFm0kS2FXLgDFE7fB/0E8cSyZXP\\\\\\n\",\n       \"L0hfGrK6Ntn/eZ2XYxlxBfeHBLzejBlY9t2wiXlVlsBYv46hirRyANdff72cdNJJw+XDhXvuuSd8\\\\\\n\",\n       \"an6mw+FwOBz3NopIh41fw7G14QTWFoP+76yGvF500UVj23/8x388DNZe+MIXyrELS81YQosHZKxq\\\\\\n\",\n       \"AaqUCUxcIFVnNFseeCQms6w6SPdBfaKlGMwn0mrlkjTaks0NQhD1MA8LmVdWjVIqr4pbLwbwSiqF\\\\\\n\",\n       \"/eXxqkDR9XwwkEzVYhVmOQvQGWc1m3LT2poc7PWCCms4gFelS1nGCCyb88MFxBUsU8Y+1RtoPSZj\\\\\\n\",\n       \"M67Fsn1idrTx/YWlbbZBeFVt1NkCqxQqsyiwYpThev71tqorS+gyIVX3HtjnYcUWb7P7Lak3Inu1\\\\\\n\",\n       \"ztWupllYnIFV1VZVsxOqEitNUmnBOgiPHBSJmNSAA90huwOZpXZaqBP1DnV2wl4vzFKoBBZqo50k\\\\\\n\",\n       \"MqcKlxpqxYa4D8kr/Y40DSRuUCDC7gjCSu+dFVb0Xnxi8G25cu/N8tKTXzRmJVQid9Boy1onmVBZ\\\\\\n\",\n       \"vffGN8qZjUfLmf3HT9hpWYnFlsO4CpHfDfsu2D4ZUyDy9lgfc2wEZ599dnR5MzEYDMIEL4997GOD\\\\\\n\",\n       \"XTGGtbW1UHhSGIfD4XA4HI57E05gbTH8wi/8gnzyk5+M7nve854XBpRvf/vb5dhFbgbl2GaXeXDP\\\\\\n\",\n       \"22PqG1ZnjfKwYCPMstHgXcfPUJwgEwvj8GLWtZGtStdXVxNpbmtK0hxINl+OSq1lCgCBBcWJAgN2\\\\\\n\",\n       \"PV7JJZ2NTbOpul0Z9PuhBEqiHMBXUS6s4dnVaIQB/p5eT07RXB9VXel3cEYRBuuwEGpBaLslsCy5\\\\\\n\",\n       \"pYP2MrC620mjlihLeMSILSa1Rpk/sQH6oKLd7SDe1kysP9g+NI28ihEEs/Zjbh1cl1PN7PFMOnGw\\\\\\n\",\n       \"O++vIr2spTBGeNk6Lepac7BAYI3UcHESC+8D58UN3wfNpSptqRrOPtyJmQNH00yOlhX2fSilj2nJ\\\\\\n\",\n       \"6GjA+yrZB7dlaQhdj2nlYuRVKHo93a5B7WCptU/rJ0gr9HFd5vdhYUE+ITfIf7z5d2V5sCbdxXm5\\\\\\n\",\n       \"7GG/MCS4Bs229HXmwYOjwHYtf/bt18k7v3O5tJMFeclx/0dO6xUkls0QG9U3JjGoUh2yktD2bfSB\\\\\\n\",\n       \"WUnYKhrccaRCs7C+9rWvyb/+67/Whr6/5jWvuVfvy+FwOBzHEHIds2xQQ7XR8x1HPJzA2mJ49rOf\\\\\\n\",\n       \"HYqqsDDzoLUT6uyERy8wWLK2KAsMoHh+PZBWCVmd7ECNB/Bsk5JIJhCuYQkszGvWkF5Pw8eTocJK\\\\\\n\",\n       \"x7bIcmILoZbwraXrSbfzvnarIZkOepHxo8QQDsKFFbpdLw42jEOgIWPSQbNmY8FSCJ+dqrKU1Kqp\\\\\\n\",\n       \"1TBwTxI5q9WS21Xxp4Nx2KSGN1sOzPG9NvMKdkKbB4TlpaVgHVzrN2TFWKVidin9jAW8s/JE1QWT\\\\\\n\",\n       \"lii0lSW1YqosmysTsxjWDdqryC/u03XnDWu/oq+z3Y9JrP6U80B6sbIKFA3A/btqJs5BWZdIgRop\\\\\\n\",\n       \"e5QcRfto94B4CopE7ZbahvZ9gN1Wu1DxTuiMlg1pzy8ElVNxa/1x1SEstXgn9GS9OKyEYEPpfdBZ\\\\\\n\",\n       \"Afffrr25wM4sCxlull60CLUKQgykFd4F9G9+H5i0xSyE5ftw5f6bA3mluPyat4Rtl118aTiuO2jI\\\\\\n\",\n       \"GvV5zb96+zdeJ++88fJw/Fq+LNetXCk7O48fvhv8PowIYPSHriGwWJE4i4UwRshy37ZEGKsdY/ba\\\\\\n\",\n       \"WJ938uvexEte8hL5p3/6p/CfX5qZWYXLL79cLr300jEF1plnnnkv3aXD4XA4tjw2408A/xNiy8MJ\\\\\\n\",\n       \"rC0KnXHwl3/5l+V3fud3pFmyI3fccYf89E//dPgf1v/6X/+rHP1gVQnAA/iqc6xyIKkgqYQG4zxw\\\\\\n\",\n       \"70eOZUsOCIFeUJ90u2kYVHI0FZZ17Au+qXQ5hfEuSCwc3++nkrebMrdt22jQDLUJDgKZhdE/BvB6\\\\\\n\",\n       \"QZBZOqItLXoJWJ5SxaKWwkBqQdESQ0kWnD03J9f3+5Jv21YoTvh7oD6BHRDh1LAGwkJl83/Kgb2S\\\\\\n\",\n       \"V/2sJasHk+GA/eDBUa4PD9JZYWJncoTip3Bcot16FQopDKx54M59rMo2hT5X1demIaaUqiOzqnRx\\\\\\n\",\n       \"2D/tf52qjrHvEb9bMTUW1mNkH0qRszQYFBHnHOIOkkq7C6vodF3bVrsTCKxRpJXOainSWGxJ0i7v\\\\\\n\",\n       \"BrZBEFgKPUHXLZkFeSNeOO2Lah88cEA6veKdbjUb0tq5s3gXSottJcrArqEtEf1fC+yzTOJy/2cF\\\\\\n\",\n       \"1tKSvPSUF0h3Ya4gr5QouOr1ki8uyq9c/HJZWSusg/oO6LvwjqtfJ++4oSCvFM9YuEIuyV8q+8tH\\\\\\n\",\n       \"03eG86/wrvSDyszmXcWUWDhm2vvBhJftn9P+Ao3Rg67aurehv4u/9Eu/JO973/vk4x//uJx77rlT\\\\\\n\",\n       \"Mza1OBwOh8PhcNxXcAJri0IVWC94wQvkwx/+sPzlX/5lCH792Z/9WbngggvkS1/6khwdyGcYeDMJ\\\\\\n\",\n       \"NcsAns+psr5YtYlEBm9MXrEtZ5zQyvNGUP/0ekUmlg2xhigEhJa1EEJQpd+XKj8135Ss2Q62p4mM\\\\\\n\",\n       \"H6hRwIYpWJ2FkC18GQisUhYztGXVzWJVsgpnbtsmZ/JNY9AOoozsgMOsH2xnyyAG9ZR/1Usa0u0V\\\\\\n\",\n       \"1kHO+7HkFH/aPKzRo3D2VcziFusDdhBuB+N1g3R7TmwQP+16dQRWDLbv47jYbJz2eywBNq0Opu23\\\\\\n\",\n       \"BEexnOeFlbAo4/ZOJh+Rj2UnP8CshIGDbWsfbEgTfQZELvddfh9AboENYzVWrycH7rprWAPbt+8I\\\\\\n\",\n       \"5NJw1s86MpfJMbys/C4g/wqkFUgtELj8biwsFLbBxUW5/Au/Gy7/G598paz2GvLzD718aBtU8upP\\\\\\n\",\n       \"vj0ir561dIX8QHpZILf43eB3puD4ijyy+gkLqgr/NlpCd5a+EkNVP6o71i47NsM2qH8f/O///b9l\\\\\\n\",\n       \"27ZtYaZDxY4dO2Re+6XD4XA4HPcmXIHlmAFOYG1RXHLJJYGo+vmf/3l51KMeFUiU1772tfKyl72s\\\\\\n\",\n       \"CPU+6lA1KJ91Px/HGUExpUmMxGKLllWZ4DvZQoVjVYGiA8k0DEAxnrYEFkQj+sl2KoyHCz4qkVZb\\\\\\n\",\n       \"FU5tSbKkGGQrcLCCZ12DP4vZMEgybJI82QjHcrUsoP5KUxkkiezNczle1SR1FkIM1Nk2iGUKeM9D\\\\\\n\",\n       \"ZlBLumtpmG0Ng3DO/UGxdsHYDIR4vDyfZotixVVs4B7rZ3YQLzVEjyVBZiW2pmEaUcWEVm6shTGS\\\\\\n\",\n       \"gfu7na2Tr11XZ6xAHG3XNuj1GqFd0P+Z0OWMOGTC4X1AwbsSCN12Jo12EvrN8D3A5Aaw1lp1Ihgx\\\\\\n\",\n       \"5LSVHWnfgYPDp9t20olFvwR5VUfm4qXFdSEpYxLXWgjxLnCIu1pqS0XiZY95aVBe/cb/e1X4it/6\\\\\\n\",\n       \"t9+QlZVEXnS/y+SPv/46+eNvjcirH9lekFew0FqiF++OzgQ5GEBZZdWirMiqUifGCK0qcov73yzI\\\\\\n\",\n       \"74W/ZLcedKbhv/3bv5Vvfetb8t//+38PswZ+4QtfkFNOOUV27do183Xe+ta3hs8nPOEJY9vf/e53\\\\\\n\",\n       \"y4te9KJNv2+Hw+FwOOqgMxBueBZC/7Nhy8MJrC2Ma6+9Vq688sqQaXHLLbfINddcI8vLy7KoBMJh\\\\\\n\",\n       \"xlve8hZ5wxveEP5H9+EPf7j80R/9kVx88cVy7wKKA7YUcoi1tUUxSWUtUkkkwhkZWDyYA6GVDpfV\\\\\\n\",\n       \"+tTpNMecfTroDHdIP7KYQM3G+2iBakX3zc83pN3MpL2zvCDbBln9BFmGFvYVKQNgg6JAXiEkfgYC\\\\\\n\",\n       \"67p9++SLd90lP3L66dLEYB0DeA5x54E7MrBAbGlf3LatPGZOltfSYbbVgQOFZQrZV7bADcYDeFZp\\\\\\n\",\n       \"YdsonwkDeKvAsqQWGiWmVokRUviOaX3RKkk2+19YJqp4m8yQF2cJK9vneZ2z42L2Wt4/eh+0LWAL\\\\\\n\",\n       \"hBCQ3weOdAMfi+PxTuCYwFVJKgsLiyNyFgeCNIJNEH0PXjrtOCWB219ZkeW9e8O1M7VH6eAfIfDT\\\\\\n\",\n       \"CCz+Xs7A4hws9HMQuqzGwn1p/y8JLrXkXvp9r5C1QVNe86nfCF/zhi9eLm/76utlf6+4T8WP7rhC\\\\\\n\",\n       \"vl8uG74fGmuoy1XvQ0Hi8juAZUtGrScfDv1rmlrLKrccG8FXvvIVecpTnhJUUjfccIO8+MUvDgTW\\\\\\n\",\n       \"3//938tNN90kf/ZnfzbztQpVnsPhcDgcDsfRAyewtihe97rXyate9Sr5L//lvwQi6brrrpOf+qmf\\\\\\n\",\n       \"kgsvvFD+4i/+Qr7v+77vsH33X/3VX4Wg17e97W3ymMc8Rt70pjfJ0572tECgnXzyyZv4TVZNZcmo\\\\\\n\",\n       \"dMq5PHC3RBVvY3LLEh4YoCflMtQn/bH1PO9Kp6OvW5HjA/cdBuw8uOeAd+RPQ1xSqLES6WsG0Hwm\\\\\\n\",\n       \"jfmFIoNKT8ABSL0GU4ALQnWl+0FUWfWVLmMAHwMxCqcvLMhVBw/KbXkuZyoRBQsVD96xDEILyxjA\\\\\\n\",\n       \"l8qTXtoMKrWCvCoyf6C2GleTTIZT21kJsawzD8btg0xUWeUID9LrEBusz2KZig3ip1mu6kgo24/t\\\\\\n\",\n       \"d9W9A/Ya2ZTz7HVjSjOQIEXuFddnmOkyOPs0F240HwG3JzghtCW4JpBd6F54F9M0lWbWksZ8yfIq\\\\\\n\",\n       \"oLoCGwz5Ft4BCt86eOutQxZ5+xlnSLJjx+hdqLMQcuK8VWHhIdhSiz6PZe33OKZ8BwattvQGmSyv\\\\\\n\",\n       \"JPJfH3K5LC8ngbxSMHn1nJ1XyBMalwWC174fVrXY6WidW5VVnQJrlgkNbL+J9YGqvoP+U0XmOqEy\\\\\\n\",\n       \"Dfpvq6qjfvd3fzfY/oD/+B//Y5ikxeFwOByOoxZuIXTMACewtije/OY3y/vf/375wR/8wbD+0Ic+\\\\\\n\",\n       \"VD73uc/Jb/zGbwS7wJqObg4Tfv/3fz/8r7AGxiuUyPrnf/5nede73iWXXXbZJhBWsWWbBWQHSGyd\\\\\\n\",\n       \"ih2Xz1iY+LAh7pjxkEkSKMD6IYi9yMIqZiUEgQU3E8bBumwD3hUYi4e7zRNpNFJJmqrq0Hwsskzh\\\\\\n\",\n       \"IJzAg21lBsCY8XRwUJsgFLuKxAKBlWWylGWy44475OZOpyCwwC5AaYJlm4fFZX5e+o2W9PrFbI1Q\\\\\\n\",\n       \"VcUG5rEZBrHM+Vcj7sESVjE1SNWAfJrFz/abqv46y7ZZt3Ofj91XlZVQ1nGNWVRi9l2o2j5JGuo7\\\\\\n\",\n       \"oAQWnKrFBAWTbQo7Ice2gX/CT5daoXU9aTUkUY5KiSFrIYR1EN5dng6005EDN98yvPslDbBWdSDk\\\\\\n\",\n       \"jlUEFt4nJrCgfmQCq2pSA5BWFOqu5FU/acpaNwszb+ozqm3QKq8W0p3ylLlCeVVFXI2yr/IyuN2G\\\\\\n\",\n       \"tdv3oT/DOzKtyDrejWnHVS07FJ///Oflj//4jycqQ62DyLByOBwOh+OohBNYjhngBNYWxVe/+lU5\\\\\\n\",\n       \"8cQTx7bpbISqxvqhH/qhw/a9nU5HrrrqqjDdNqAqCbU8fPrTn46eo2QaE2o6NXc1pqlKYmqVmEqF\\\\\\n\",\n       \"AZKJr8+/oKzAgnUwPBkNAHEd5EeNLIRY7/ez4TXYJsWCER0vj2ZdK5+ktEyFq5STqxW51YkMFhvS\\\\\\n\",\n       \"bmXS3laqn1ZXJQEDBisVCiRMOoDG9H3WQoiLVw3eyUKo5Yxdu+Sbd9wh+fbtknCINc/ABrIK96Mk\\\\\\n\",\n       \"QbsteQi0XpS1tWSCvMKsa1qgJsHsgzwLISuyWExW5P7AKmWJFB6so33tbGp2gB8jtqpUWnytjWA9\\\\\\n\",\n       \"BNR6rolnib0PrMRiQsrOvMnvBiuuLCmCd6toi8GgWRIrhQqLJ8sEr8SkLVsK0R3tvvAetBoyr3bC\\\\\\n\",\n       \"PJcEpBHIKxBLSITX0mpJvtaRfTfeWFyr2ZSFB1ww+qI6CyGRuGPLVoHFmXAgr/A+6GybpEjsdFJZ\\\\\\n\",\n       \"6yTDmQa1Dt72tdeNkVeK5cFe+ce7XyePzYvgdvtO8Lui78Bo5sEu2Qb7tG7fByjoqjLiYmS+kL22\\\\\\n\",\n       \"rr/Z7dPIqc14h7YedBbA2L+RGhlw0kkn3Sf35HA4HA6Hw3FvwQmsLQpLXjEe//jHH7bvveOOO6Tf\\\\\\n\",\n       \"74cwWYauX3311dFzrrjiCnnNa16zDmXJrOD8K7YX8vVBKvGgPjZgxzVgDwSRxddmFRbsg+PZWQXx\\\\\\n\",\n       \"VFjlwh2ULic4ABU6/mYxlIJn18MYHNuKcXAq8221EzZCls9QqmIzsGzKObM+PLNhHYFFzNsZ7bbc\\\\\\n\",\n       \"mueyMjcnC2pnwUCeM7FAYJk8oEHWCHZBHYjDLoZBOXKwMCjn3KuYhXCcj9OBe1Emyai6rB70ibqB\\\\\\n\",\n       \"87T9gyN4EG5JXO7X046t2x+rQ6vAKpYLQkXJq2QsmB2KK6isiuyyccKK3xW8C9oVQ5uHnKdE5uYX\\\\\\n\",\n       \"JGuVM2tCzlgSVmPexNVVWbn6asmLKT5l6YILJNXfzNhMhhYczAV2zQa5T5vUQC2DjaYM0pasHBxZ\\\\\\n\",\n       \"ZkFgvf0br5O3XXf5mPJKySvFP69dLst9kQtXiwB3S2AhA6sIbleiqkPklc2Ci9kJsb3q3YmptQB7\\\\\\n\",\n       \"nkT6xH3537JHP57xjGfIb/3Wb8lf//VfD5WImn3167/+6/KjP/qj9/XtORwOh8NxyPAQd8cscALL\\\\\\n\",\n       \"cZ9D1Vqa6wHo/y6feeaZ5do0AqvKVjgreGBVpcLigZedYc3aCUeWwRHBNa7IGgwS6fUKyxxcSBCM\\\\\\n\",\n       \"QFUCcLwV1sNdkzpL1SyYpbCZNaTZSKWxSIFBYAp0OTZNHyyEUJyAzKoavONGs0yO37FDnnb66eMy\\\\\\n\",\n       \"GpBW+H4owJrNQnWiWT95Jt1OVqqvJlVWPKsayClLXFn7IJfCPsgkig1o57avszLFBs3rtQEeyaiz\\\\\\n\",\n       \"FMo66qKqLq06S5Vx+ZAn0k/tUiwGhGUQrj90UfuuKDBDp5JXWSOXRDJpatdvFRLGMOMqXiIEbpXe\\\\\\n\",\n       \"xf3XXjt8im0Pv7CYUID7f5WNlmc1ZBUW939LYKGUBFY3bUpvoHbidIycVfLqT77xOvljIq8080pt\\\\\\n\",\n       \"g6q8UvJK8bHscjmYiTxo7bLIu8KzDoKU4uUqK+E42TipPmQVoiV8D5VcWo9d8Gh8vzYfb3zjG+U5\\\\\\n\",\n       \"z3lOyJNcWVkJ/yGl1kHNtfzt3/7t+/r2HA6Hw+E4dOT691uy8Ws4tjScwHJsuvIryzK5/fbbx7br\\\\\\n\",\n       \"+qmnnlppidCyfrBdEAOobMqxWMbAvWrgzcRUlboEiitWZLHii+1TUGUV96sEVpoWA2yMeQFrL8QM\\\\\\n\",\n       \"bFi34PH23Jza9/IiFyhJJck0H4hsfcwAgUFYD4EVs1BlmexdXZWdag20A3iQWWrZajQkb7akn7UC\\\\\\n\",\n       \"ccWWwTryygrGYgQWHgWxXnleNTC3g3AmtepsTsfy4HkawYfluvodrSvZ1O1m0QwsKLLYAQirIUdY\\\\\\n\",\n       \"xd4VfZcC59RuiLQzyVpFBlbo/yzv6nYlzzLZ9+WvFCemqSxddFHRT6dZaGchsEDmGhuh9v1cSdxm\\\\\\n\",\n       \"W3rdRNa6hfIKBJYuV5FXuk9tg6q8UvJK8bntl4ft99t/GWVfFeTguG0wlndVRWZZO2GsDet+M6v6\\\\\\n\",\n       \"SRWsSssxDTr74Ic//GH51Kc+JV/+8pflwIED8qhHPSrY9B0Oh8PhcDi2OpzAcmwqWq2WXHTRRfKR\\\\\\n\",\n       \"j3xEnvWsZ4VtmkWk6y95yUs26VvqrE+W2OJtIJRAKvExUFxBfRVTVeXloFDIeoicK5BYYJuwzNcf\\\\\\n\",\n       \"3Y/mYXU6WVBjgaACAYNZBzlPnYkaS+Aw2aMD2iIzOpF2e05a83PSXBoUI2SwQEVAzmiwbgmsuvyf\\\\\\n\",\n       \"8Cjj+T+33nmnfPzLX5b/9OQny/bt20dkGZNZc3PSl0y6vURW9o+cXSCusAz7k13GQN/aBqu4uPHB\\\\\\n\",\n       \"dtdYmnigzsdKjTXqSLIC3tuwuVj2/bPqRezHOqxsjSG5oW2EmTdBWkHch/XwbeXEmgBUWeieeFfg\\\\\\n\",\n       \"guX3YX6+Lc35ljT0+7UDwULY60nnuuukt3t3uOb8Ax8o2a5dk9lXdQRWLAeLZ/+0Ntr5een2VXEl\\\\\\n\",\n       \"srZ/9Dqin+vtveva18nbrx+RVz+6Y3y2QbUXPnz5MlnORD67rTjuKydfHs4//c6C5CryxfpkG+Ts\\\\\\n\",\n       \"q6qCdwFkF4itbsQSaN8VtuJapVbsPUIfqiOr3CpYhz/7sz+T5z73ufLYxz42FM6ffO973ysveMEL\\\\\\n\",\n       \"as93OBwOh+OIxWb8CeD/H7bl4QSWY9OhdsAXvvCF8uhHP1ouvvhiedOb3iQHDx4czkp4eAmr2OCa\\\\\\n\",\n       \"iaW67xBDbsX2gQjD98EuCDCBVZW7pdu7ZUZTKquro9cQA3grAMF4mp1NEEtZcqvZLAKyNXan2cyl\\\\\\n\",\n       \"1Uylmc1JY74tmd6rqt1AZuEC+MJCvjRun+IbgX2QrFknLy1J9s1vynf375cHq/WTFFh51pBeXijO\\\\\\n\",\n       \"CiVVMrRLgXDjQHaosXgfCCxrI7Th7QXhl4cyGoj3TN3XqYgOB0kV60+zYrMl0NPegY2QW1WKHK7r\\\\\\n\",\n       \"US6cKuRUidXrFX2VRVKYfRBkVRlTNQTeD0y6yeq70XKhxiq6YSaN1rw02m1JSone/i9+cXi9bY97\\\\\\n\",\n       \"nIjmtzF5hXcAXt1QfWn9LIR4CJqNs6dv3CCR7nIqHer/4JART/cX33qjvP2GEXn1I9sL8gqB7lp0\\\\\\n\",\n       \"WY9V26Cuf/mk4vhvnn25rC035IRrf4VC2zmovRPJwapTYqFYJV2dQmuWflKn3quDE1oM/Xf06U9/\\\\\\n\",\n       \"erAQMvbv3x/2OYHlcDgcjqMVnoHlmAVOYDk2Hfq/w3v27JFXvvKVIZvjEY94hHzgAx+YCHY/PDk+\\\\\\n\",\n       \"bA2MqbDswMnaCGOFz+V8LB7UiQl4xzJIAwwWodoqFC2DQSPYfgpXUpGJxTZBDOgB2KXisxKOh79r\\\\\\n\",\n       \"abUKgkCthc1GLlmaStpIJU2bkjT7kublqJ9H/zECCwN5DN4VJcug1zztrLPk5rvvlgcpa5Y1QkB7\\\\\\n\",\n       \"nqQyyFPp9dOx8HUmrKxdMLbdklTjRMW4aKy4ZR5820HyYMb2PhRwYD/3QXvMerbP+r3JOggwPn6j\\\\\\n\",\n       \"MxrWFVa4yUQmmfZ961y17QteSAvnYDGHGq5cuAWHeXFYVyJLS7udSJ5pv08laWVy4N9GM6Jue9KT\\\\\\n\",\n       \"RBYWRv288OCNvwO4uCWwQFqVZZBkkqeZDLTkSl6lQXUIwgr9H+tQYJ3derS0kwVZy5fl2duukCc2\\\\\\n\",\n       \"C5KKlYcgd7Wcv68gt5S8SvsL0r7r0TTrps2+YlLKElUg5C0xZZVUs7R31TGxPsP9wi47at86ZLsZ\\\\\\n\",\n       \"fPe73w32QofD4XA4HI6tDCewHIcFahfcPMtgDBgI1alKmMQCWRVTWrFlUCryr9IIecXWQaGgat6G\\\\\\n\",\n       \"T56VcKQIK8bLaidMS/VQEsbCGITbWdcUsBdiGRObQUCl6yAA4GAqljVvKwuKlGKSNh0IgUEYpp8P\\\\\\n\",\n       \"vyjcOZgxRppKzsxaksjp550nn73yKllJUmnPLYwpwzBoBwHFbkZWXKHYdZt3ZQmtkeOrCAgft0OF\\\\\\n\",\n       \"WqqwMx2OATT3Rx788357H+gTMbvVNMTUheN9bPL7sW/c1nroqKtTrnuhtknL9ipIJrQh1FicewVb\\\\\\n\",\n       \"IEgp7bvDpykJKz0fnBK/K3odPV6tukX/T0XuuUNWvlLkX7XOP1+aF9xfcigPFf2+JLEMrJIxGz4h\\\\\\n\",\n       \"JGOBxGqE5X6uM40mE31U+zz6LttmocA6N3m8XHrK/5FvLl8pj01eGsgp2AZB/nJmnJ53+rcvk85K\\\\\\n\",\n       \"I5BXc7c/TnJZi9gGLYlVFeZeR2JJBbElNZZBbnNLbtXhWLbq1uORj3xk+Z8ciTz5yU+WBnlr1TZ6\\\\\\n\",\n       \"/fXXB2WWw+FwOBxHLdxC6JgBTmA5jhLEFFVV+61tkMmuaTMaQpWAvB7OvwL5wBZCXu9FfnmZPKsi\\\\\\n\",\n       \"23Qmvqb0+8XgV6HxOVAW6cAX+es6xgZJNbIJFgSWDmqRHa2DXI7gATHA+erF+DuVViuVLNWwd2xT\\\\\\n\",\n       \"YisYvSatVFChaGC2pKKOJc1LP/60c6U5f53svmNFjjt+aSKjy056yJldrLjiAXqsYDBv844QYF1Y\\\\\\n\",\n       \"qGJB4pZEieX43JtglVZeQ25Nuwb3qTqb7eGGJTvYPstllJVVtFXxTrLKEEQWT2QQvsEQuuCXrJUW\\\\\\n\",\n       \"74BuQ59HBFYgcz/4iWF/nvuBJ8mqzEnWnpNEOVkVV+l9or+zAqssOtdhQZqpuktEOdNB2QeZiOM+\\\\\\n\",\n       \"zwSWnawAltrTu4+X43qPl/2kzgKBFbPU6nnHX3NpWY+dkrjiwmos5FlV5V/ZEpuhEL+NodZn7Ksx\\\\\\n\",\n       \"EtcSYHXXcPsggEzJL33pS/K0pz1NlnTSDMqePOecc+RHf/RHp7SHw+FwOBxHMPQ/Kzf6Z7mLurc8\\\\\\n\",\n       \"nMByHAMAgQQMjGJKiKTC/pjyigfhfF5MScNWQii1QHDh2PFzB4MiJypNi+swd4QBO/J/WBgFFRKW\\\\\\n\",\n       \"QfDwAJ7VWMiabjQK4gBql1EetQbL55KCQQhfVH5Z2FZsD+RVOVVtns/LE5/4jPCdOujm+4gRWKxG\\\\\\n\",\n       \"wWAfA3POuGLllVVgjauvCmtNXAG0GQoPaw9lhd60nCsOOEfb4/6wziRW7L5j1+Q+bZft+rT8K85u\\\\\\n\",\n       \"s9dPN5iPxevjFjJtM25DkD+Y6A8KLBBX6KvDJ0vGHa9QZMX6P9a7n/jo6Kkf8yRZWSlmAi2uV9hs\\\\\\n\",\n       \"cX+jqZhLAkufoiSvbN47TyaAfs+kFfovWwi1gMCqI7eY3C1KHgjbwQC/KyCs+hHSqk5pheMtcRVT\\\\\\n\",\n       \"VMU+LVGMdrb91/+a3Che9apXhU8lqtSmP6f/Q+FwOBwOh8NxjMEJLMdRTkbV7Y+ptrAfAy8mD6yK\\\\\\n\",\n       \"ixUx1jIDsBqrXw7Y+xVEFgbGWEbAeLFfB/OF/SgLA2ndztE7Ch1oxwLeyf00lsmOAbxuV+JKSSwO\\\\\\n\",\n       \"zcbgngks5HGN4q7i9W2/V79v//5lybJ2qAdLOIGcYHIqFsheR16BHEBc0Xjudl0uz0YRI4hiWVIx\\\\\\n\",\n       \"UorPsf2Tt+XrUFLFyCubwVV1rdh6rFQdfyiIZyQxOWsnAdS21r7IBBb6KACiiwWCeq72c57sYPg+\\\\\\n\",\n       \"9FdFrvpUUds7jpfeeRdKvspuWFaDTT43rsn3zQQWz4vA/VtJJyawbCZcFYEFwoqv0+koeaXfAzum\\\\\\n\",\n       \"VVbZzKsq4opVVVWqK6ti5N8/u8zty9u4D6zHtuukVww6QYrD4XA4HFsSbiF0zAAnsBxHESwhIMaW\\\\\\n\",\n       \"FBswpRXHzvJdlsRipQ2rtXjQzzYbO0OhvXecP/466kxleV5kBA3VTuUgWQfrGAgj80oH6xg8g6QC\\\\\\n\",\n       \"CQTVla6zhRB2Ki0clG2ircasXTEw4bB//wH52Mf+UR75yB+QE0/cNaa4stYqHsDHtrG9MFZi4e2j\\\\\\n\",\n       \"qC4eoGP9UAfDVWQSK/awPm6RiyuvOIeNv0Mi11vPPcZgr8G5V3aZrxX77llUXFWwRAeI3nESksPc\\\\\\n\",\n       \"tY3DHZd9c0wMiDsqRVGWyCwyr0br2odhr21/9dMy19GsKBH5nifJgYOpUR/WP0mMtLXvY5XqEOvc\\\\\\n\",\n       \"r1llZSc5YNXViNwqyKteb2Csgt2KmQb5GBBUddbBGJFVlX81S7tXKSJjf6Hye+HWweo+2Jc/+IM/\\\\\\n\",\n       \"kL/+67+Wm266STraUQh33XXXjO3jcDgcDscRBiewHDPACSzHMQDOwOJtyLfiGQNjyhNrIeT9sQFZ\\\\\\n\",\n       \"Rt/H2/l6OIcZotEgsdfTGdoy6fcbYxlYOjhG3pUWXeZ9IKzUXQLSSrdxHpZ+6mAYCix8WgJLMbJW\\\\\\n\",\n       \"jQ/ueYI2qFHyfEmybJvceOPNMj8/IrBASIBQsNYqVmOxAguEALaxZZBzj0ZqNGtlQhvXwdr/mAyF\\\\\\n\",\n       \"mo7bm0lJu14HS14lFd+9nn+5Y+Sa7cPrIZ1i59rrZ/TOzEJ8MXhWTrSTnpcNiSAoqGCVBfnDeVgg\\\\\\n\",\n       \"t5jUQl9jOyH6nV4TysPWZ0f2wZWHPUkGB0aTCOJ6PNFmuFMiRzF5QozAsrMocr+2/RyWQlgI7QQG\\\\\\n\",\n       \"PEPhaF8uvZ7O3hizCXbKAqVVp0aZFVuuIrOsnXCavTBGcB2qbdcRw2te8xp5xzveIS996UvlFa94\\\\\\n\",\n       \"hbz85S+XG264Qd7//veHmX8dDofD4XA4tjKcwHJsUVthzJZVR2ZZooqPtzlZ2G8JLd7PmUn4fv5O\\\\\\n\",\n       \"GgkPZygcH/gVg2O18qm9sMjcgeIEg2RWn+gyFFg4BhZBDPJ1oA71FcgqS15hMA/SivKrK+1U+L7t\\\\\\n\",\n       \"23fJzTffIGefXdghmUiwViuba1VlF2TLYEx1VczeaNvSLk9DzDrH7cqZVzGLns3G4vwoS2Lydbjd\\\\\\n\",\n       \"Y5bXuu1873xtu4x1ngWT7zlmh7TLVaqsWeyOVSieC+2HPo4+A/UVr2ufQF9k0incTTKa6ACkJvq0\\\\\\n\",\n       \"bsuSgbS+/PHiO5tzcuC875V0Nd7fx+6Ssuhsf4+RWCjczzkDC8oqLPOkBazO4ky4Xk/Jq4Ehr2KB\\\\\\n\",\n       \"7ExKWTshKxOrLIKxjKsqS6E9jt+3WAZWnaXX7YKz4j3veY+8/e1vl//0n/6TvPrVr5bnPe95cv75\\\\\\n\",\n       \"58uFF14on/nMZ+SXf/mXZ76Ww+FwOBxHEpJNCHHfcAi844iHE1iOoxQ2S0gi2UJ2X9XAyeZgJRUB\\\\\\n\",\n       \"1DYbC5ZBXJ9VJVjula8ZbFOJIa9wbvz+BoM0WAqLgX2RicWDZwWTOlYFAsUV52FhFkMM7jEjIUiB\\\\\\n\",\n       \"UQ5W9aB+dH/jE7Zt336GXHfd1bJ7912ybdsJw3tjAgt5QLjXurwray+zhF2cuOJ6rUOMpLFEU1W+\\\\\\n\",\n       \"lCWiYtdi4hMDfd5nz2XCk59rWh6VJZeYmLLrVURW1fPFtlVdd5Y6j6F4xiqSiPsA52GBzBo+ddlf\\\\\\n\",\n       \"0VcsgbXw3a9Ktv+OsH3lAZfIWj4v6drYxJqVFsKq+0KfjJG0VRZCVlnZ2TUtgVW8K0oGa2A7fk9Y\\\\\\n\",\n       \"fWUJLBvozpZADmuPEVGW3GJSy7YXPqsUg5asqsu/Wm821rGN2267TR72sIeFZZ2J8J577gnLP/RD\\\\\\n\",\n       \"PyS/+Zu/eR/fncPhcDgcDsfhhRNYji2iuJr1vJgaSxEbuVr1lSUY8vIVsmRZ7LpsL2xW2AljWTQ6\\\\\\n\",\n       \"eG1Iv68zFDaHA2UloNQWCNsgtqmlEBlYOvgFaQVlFhRYsBPCQmhDsmPrlbVKipdW60RJUx1UHZBG\\\\\\n\",\n       \"44Qh8YAZ2rBsM7F4oM+kBWdegcBgRRaUZXEU9rRxwpCtbzxQZmIJFlAmqVIza2UsT63KKgWSZ9w2\\\\\\n\",\n       \"N0kOYJu9r7rnq8q5sut16q2sZqIB3sYEFp9jCTa2GTJwziSgDkRfAjml2zgTC+tMXDGRCTJJ+ytm\\\\\\n\",\n       \"JcQ5x3/1Y8Nz7nmAzj446td1JK3CzjgYW4+Ft9uZN9kqC5IKJFYsA0tLnjM5BWtgjLxiCyGOsYos\\\\\\n\",\n       \"zsCyMxBi3zTLYLSGpqiu1gsnsapwxhlnyK233ipnnXVWUF596EMfkkc96lHy+c9/Xtr6D4DD4XA4\\\\\\n\",\n       \"HA7HFoYTWI4jGOsZxFRZA0FAgHDANTnzivdb1QyPam2Ie1WoO6/HUtBjBFrL3DNfSz+bYXCuMxTq\\\\\\n\",\n       \"flVj6aBZxyucBwVCCwUKLN2HZZBdsAvqtirSipVYdQP8cJeBVErkYQ/74XAfOhAHwWStVrGsIDtj\\\\\\n\",\n       \"Ic/qxoqzUEukgpkOmzVl28LaNy2ZM3xCQ/DwOqur+FirvOJ2td9rFVmzwvZRXq5SYtl9sYB3u87E\\\\\\n\",\n       \"VJU9ser+pmdx2dk1FWh39D/kVYO0giKRVYCwxeo2zMCpZenf/6U4VxK585zHS3+lXnUVsxBaworJ\\\\\\n\",\n       \"LCZmOeeN+7XNerMzcI7UWRrWrtZKq6rqRggqkFd1NsI60qoqtL0q/6rKRljU7vhxoVVq7IPrzcdy\\\\\\n\",\n       \"YuvZz362fOQjH5HHPOYx8ku/9Evy/Oc/X975zneGQPdf/dVfXWd9OhwOh8NxBGEj//fF13BsaTiB\\\\\\n\",\n       \"5dhiSixrCbTqqFntg2LIiRjpwBYaS4CJyUNiq2HM4gXlA4ix2C94PszF0lkKtShAXvHsaGwhZGIL\\\\\\n\",\n       \"gfBWnVKlwOIZ4KapVJhgWl3tlgRDc2ywbwmpWOHjw1OPWQVnRcx2V2WBY+KIFVc204pJqzqLXR2J\\\\\\n\",\n       \"Ze2itj8dirIwZt+L3WOMvIrde+zTEl1Vz11X17G2GUesnWMKKxBavGyJKJyn21t33SSLd34rbN9/\\\\\\n\",\n       \"2oWy0j6x4HxKVVfd/XA/jNlaYypDEFQgaGMKLJuHBXuhZl31+4OQDTautGJrYCzjiomoqu3T8q5s\\\\\\n\",\n       \"scQVbwu1Yn6r6uyEdct12xyM173udcPl5z73uXL22WfLv/3bv8n9739/+eEf/mGvLIfD4XActfAM\\\\\\n\",\n       \"LMcscALLcZSiymZliatp17BWMKukYtKCB3xV65YQY/KLvyOpUFzxtZg8GV1H7YSaiaMh6SGcOksC\\\\\\n\",\n       \"OVXsG5FWUF1BhQKbFpbrCCwor0BgzWK1gq1Ps3quuup/y2mnPUxOOukB0RyjWG6QDWc/NDApxfVu\\\\\\n\",\n       \"ySosc/uygg91b/sG9y9LWFriiq+D8y0pGts3rNGKZ6wLVMd+vndLMlkiy14jdrwlvWLbq9Zjaq06\\\\\\n\",\n       \"xVY1OCfLEknxvlj02dOvHdkH7zjvyYEomjX3iq/HfXczCCzOvdJ3ujiHs6uqbIEDo8BiosoqtVDy\\\\\\n\",\n       \"KXlXs35WWQnrlFYTtRsl6J3Amo5PfvKTcskll0ijnCL2e7/3e0Pp9Xph3w/8wA/McBWHw+FwOByO\\\\\\n\",\n       \"oxNOYDmOYMQIptgxUjMY5v2wDWI7D/pz2l/3fQhjx7H4zGtUNWy/6pt9yFuySoaMXk/UAaQiuqy5\\\\\\n\",\n       \"WANZXW1KmiZDZRMIKyW0YBOEbRD7dJCMEPegTimPQ+YQh7qHOzE5WFUk1oh4SqXdPlHuuONm2bFj\\\\\\n\",\n       \"ksDiGRRht7KKFs5CihEUuK8RoVGQeeOw9jeuS9s22IfAfduO2J+ZTyYsLXHF0h6r1LNKlJi1qo7g\\\\\\n\",\n       \"SWcgsHg5ifShmEWwjohKzbF8PNsL7bWqrIflnSfJMIstpobiGQj1E33D9iPtxwoQtSCvtJx4/YjA\\\\\\n\",\n       \"uu3MIv+qjsCy5BX3QUu+xvpxVYg7jovtGwzUMsi5VXoDaxFiqsoWyCQXzsfvGl+Dc674OFZmhZqv\\\\\\n\",\n       \"6X+z5F4xiXwohFbs+1yh9cQnPjFkYJ188sljtaNh7rqvIEAdDofD4ThK4f/UO6bACSzHFgSTVtaW\\\\\\n\",\n       \"FbMWWuJBTGA3Ew6siuIBHKum+BwQVrAJMlnCg0er7gHY0saES3HfxUA7HcvG4tn6MAMhz1wIsguE\\\\\\n\",\n       \"AZaVRABRYK2ETGCB6Kqzei0tnSE33XSlrK52JElaY7O48aCf7Vl2mW1j9bC2NWv9iymKmMBkBqMX\\\\\\n\",\n       \"UWMBrNaqIqpsX7L9ytr8qgb6TEjN8uwx+56tk3SD5FUW2d+g7dZyGFNtVe2rB/cBEFNYBpmK/sNB\\\\\\n\",\n       \"7yEHa/UeOf62K8O+g9vPkr1L5xUcT9mXY2Qs+iiuG1N8WVss22OhvooprniyAp1hULOuBoO+5HlM\\\\\\n\",\n       \"VQXCaVBhG7QzEFqLoJ2J0NoAp+VcVVkHLXllyaUqhVXVPsesUGupkr4Wd955pywuLnpFOhwOh+Po\\\\\\n\",\n       \"xWb8ieB/Ymx5OIHlOEp+yaYNcmNEVeycGIFlt1ulDK8nZpn/t3tELBVgUsKSCpbcAqwqzN63VXvp\\\\\\n\",\n       \"gEYthcX3FyHWyYTdKtxNOfCGOgWKLARfM6lVF+iu4P/kjxEAS0u7pN//vNx9962yY8fZY/fCJBbP\\\\\\n\",\n       \"JsgB3kxYWJKBQ+W5aID8pCWQyT+p2AdYK6G1D06zF9rrVC2jzavsh7P0d6mwCfK16myDVcqqKpIp\\\\\\n\",\n       \"Rl7FrlP3HTHiKploR7RxVfvb0HZWZSEXi/vzSd/5pKQhDF3k1jOeJP1BMhNJhm1Vwe02u40nKIDa\\\\\\n\",\n       \"CtuthbAgsPKy1KmpsAxyi8msGKHFpBOTV2wZtDZAJrsk8htmCfaYVdD+xVn3F2gVsVUHJ71+5Ed+\\\\\\n\",\n       \"JNSEklcvetGLxmYc1D70la98JVgLHQ6Hw+FwOLYynMByHAVgwiiGaQP+Kpshn2etilYxA2IEyxgQ\\\\\\n\",\n       \"slJLzDlQXGXlclJjNeT7xOAThBheVV7G4LQxHID2+62Qj6UDegywm81CkQWSSvdBlaUDabYMYh9y\\\\\\n\",\n       \"r2weVsziVZ2JNR9shAcP7pelpXHCK0YC1KmsYPOCqgYEHGd3FSSG2girSB1uF7tP20ZMfbM1EOv8\\\\\\n\",\n       \"8HXtPo3EssfZ+5z1v44siSYR4m0asWSJqZhV0B7P5/BywyiymrRs9xX3ofZXq/JDP5t18gAOdsfx\\\\\\n\",\n       \"w9odiJx600eH6989/YnDmQxj16maBdHmXiEPq7D+Tea5jWyB4zNtFrMLjiyD4zlXVknF6itrH4zt\\\\\\n\",\n       \"Z6Kqa1Rb1kqI4zjgnddlimJrWGsVv2FjNTujhbBun33Xjj3s2LFjqMDatm2bzM/PD/e1Wq2Qg/Xi\\\\\\n\",\n       \"F7/4PrxDh8PhcDg2Bg9xd8wCJ7AcWxg27yi2L6bEiam5bH4WE1piFDW4Ll4vLHdNdhDnX+E8iZAp\\\\\\n\",\n       \"Yggt3DsGlLq9THEPKqxMOh1VZRXZWMi94kB3zgcCEcSqlapZCWfNw1KcddZTglqAs4Oq8qwYIKlw\\\\\\n\",\n       \"LyC3QMyB0OIMLM0/0tkZi4B72DW5raoysDhnjOua2wOfICGZ3LQPb7/b9ikQX1WDfktITYMl5SxJ\\\\\\n\",\n       \"xfdp9zXMdl5vGJugPRb9GFltfI4lvmIkWUOyLB1aV0FaoX/ZmQXZtsrkVgwgmxQN6chpt30yLK82\\\\\\n\",\n       \"t8ttOx81tA/OmntVNetgLPeKCSu2EbJCS1VXeVCEsYqKs69YZcWh7b0pBBYrqWx4O+/nDCy2ELKC\\\\\\n\",\n       \"y1oLJ2rLrMfshFalZY9zrAfvfve7w+c555wjv/Zrv+Z2QYfD4XBsPbiF0DEDnMByHCWoUlFN289k\\\\\\n\",\n       \"lF1m9Quvg4BissMSWjHFlj2PlQMgoPAdlsXBOsgPe794VWPPwtuLwaP+L32RjZWGT1gF2bIH8kAB\\\\\\n\",\n       \"VVPIDCqzsGwQNggjkAn6yYTSJDSTS++jJ1nWHLN+zQJYw5gwYzIL94TtqubR51YVlj7zeNvUWZ2y\\\\\\n\",\n       \"CGkI4gttZe2hs9gHuV34PkA+MskUs2dNgyWppCZvCs/HpNy0zCtLRsVIKVZkWathtVprpLwqPkFi\\\\\\n\",\n       \"xZRYWK/Kq6qC9omT9nxeWr3lsH7LaU+QQaIvwuSx/F7YnLYqEmtESFmCajz3akRiaWZdUSaVVtYO\\\\\\n\",\n       \"yNutwsqSV6yi6teoqmKKKqtuYvJqrDZrrIT23aoiZw9FneXWQYuXvexl4XcOuPHGG+V973ufPPjB\\\\\\n\",\n       \"D5anPvWpNXXpcDgcDofDcfRjvf/d73DcR4gNjmY5ZloWS2zwNUuuS2zZqhbq1A084LTH8DIPWAc1\\\\\\n\",\n       \"g1nYi0bLg4HaCgfBtoSwaFib8GmXeXY0Xo4VmwEUK9dd90G57bavDAf/MdjcI1bfWFUOVGRMcowr\\\\\\n\",\n       \"eApbWpIweRJbtqqgRkRVBNURn1tF1Fjyx6qRbPaT3We3z1r4vFm+x95b3fPYemM1FtdVbAbC6vrX\\\\\\n\",\n       \"tklTVV8lw3azBBbauaofxPpMDLtuJvvgaU+aqc/W9Xn7fsTeofF3bPTu6buo72TV+zqZbcXve+w3\\\\\\n\",\n       \"wf6uxMirut+eOhJq1t+/uuOrfmvt+VWY5ZhjD8985jPlz/7sz8Ly3r175eKLL5Y3vvGNYftb3/rW\\\\\\n\",\n       \"+/r2HA6Hw+HYsIVwo2W9eMtb3hIUznNzc/KYxzxGPve5z8103nvf+97gNnnWs561/i91HDKcwHIc\\\\\\n\",\n       \"RZglC2Xar9YsAyKr2IlZa/hYO4jMDdHEA0ebQ4MBLK/XlbXy+E5Z1iqWR+t53pFOZzAcVGOAvbYm\\\\\\n\",\n       \"srparPPyykqxPjkYn/xkxYlVqigWFk6S/fu/O6ot03yWoLAFZIZaBDmTS9dRNLdrfDmRRkOJLCai\\\\\\n\",\n       \"qkq7tF/WHTPLdezx08ioQyGr1kNqTds/yzPxMdOOb5Z1WX/NLMtC28TbbVRsW7MqsKqfTLzF/VzO\\\\\\n\",\n       \"vLUgsPpJU2455fuHfZDVVOi7HLBe96nvhr4juq7vjK7zsn3P9N3Td7DuHZ1c7pbr034PYgHvdUos\\\\\\n\",\n       \"nvk0Rp7z76QlwfJ1/g7P8ltch/WoEY8dfOELX5DHPe5xYflv//Zv5dRTTw0qLCW1/vAP//C+vj2H\\\\\\n\",\n       \"w+FwOA4d+SaVdeCv/uqv5NJLL5VXvepV4d/Yhz/84fK0pz1Ndu/eXXveDTfcECz9+DfZce/BCSzH\\\\\\n\",\n       \"MYDYgCs2GJtmj6nKh4kt8yfn0MRmF7NZN0xk8fGxsGebd9OvPEZnqur1BmGgDbKKVSQ2t4cVWbBM\\\\\\n\",\n       \"sYWKP0ONkUUR64uLu6TbXZbV1b1hG9vBsG4VVzELGcLmUUB6oECxM9qXlOH0UAApwdIqP5u0nlWQ\\\\\\n\",\n       \"NVaJZY+xyiIOKOdrxlROdn8yRdEUK/Y+WYVl78UqsWL3GnueGHEVqxu+JurYfmahLYo2GhFY3G5V\\\\\\n\",\n       \"bct9IJbPFsvL0uUT9l8tiyu3hW23nfQY6WSLE/2TZ8WM9W3u+9YWWPX+FO+XKq9UAVn3Tsbe3575\\\\\\n\",\n       \"PehEfgfqfjtivxuWrDqU3zD+faz7veTfVsCJqM3E8vJyCHFXfOhDHwqzE6qiUUPclchyOBwOh8Mx\\\\\\n\",\n       \"O37/938/TILy0z/908GO/7a3vU0WFhbkXe96V+U5+vfdT/7kT8prXvMaOe+887y672U4geU4CnGo\\\\\\n\",\n       \"/7t/KNZA3sZl1gHgtIFjzOrDn6yasASXVVvEyLHxLB3N31Erk9qa6uyA2G5nCrQzsoEAsBlCIAkW\\\\\\n\",\n       \"F0+WNG3Kvn3fHRINTDjECixlVnEDsgN2M14HGQLCoyA/VIlVkFhJYu1tlsSJkUt2OZbvFCObqrZZ\\\\\\n\",\n       \"q55VRUlFLhUXuz12zizfWbWt7jljRF9V/Y2+Q+ueyStuI267qraNKfJsXhYX9K8zb+PZB5809ksQ\\\\\\n\",\n       \"6692lsFYDta096UoahfULLZBzftqLYP2fbUWQWsbtp9VvzHTfovqfruqbIJ1v5lVv6HTfpvtflde\\\\\\n\",\n       \"VeF+97ufvP/975fvfOc78sEPfnCYe6X/U7x9+/YpdetwOBwOxxGMe1mB1el05KqrrpKnPOUpw236\\\\\\n\",\n       \"n0K6/ulPf7ryvN/6rd+Sk08+WX72Z392o0/sOAR4iLvjKMRgCvdaF+ge287XTMxxufnk6wwomF3K\\\\\\n\",\n       \"8zEA5GVci5ULTRpQ8v30aJ+Un9iflfsbJvAdIeR8HZyHfbhe8cve6zXKIGDNiyr2KDGgKhKQSwhs\\\\\\n\",\n       \"D2fRcvjGMuAd+7CNjy3IhFSWlk6TtbV7xmqbc4zwXXo9zD6IazChgBkTESyPczjsXffju4vZFfX5\\\\\\n\",\n       \"kvBcGuxe3KttSw7UT6nuEOCOTz4vpVkJ8wihxNBjB9QHrHIFfdmqBHGORVqxHiO4qqyFNteLl5H9\\\\\\n\",\n       \"ZZVZMVIPx8cIMM27aoQ2gLKKCSldB+mk+1lpZ1V4mDgA23hWwqqZMHfd/JHh8s2nPXHYT9CfhrVs\\\\\\n\",\n       \"Zhe0ZBYTuSCvdL3oUzYjqyCvqvPsLAkVI595H65lz4Wik4lwu8+SV9z37HJVJhbeEfs5i52w6q/I\\\\\\n\",\n       \"Wf6ynGZRPHbxyle+Un7iJ35CfvVXf1We/OQny/d93/cN1ViPfOQj7+vbczgcDofjkHGoGVb2Gop9\\\\\\n\",\n       \"+/aNbW+326Ew7rjjjqCmOuWUU8a26/rVV18dvf6//uu/yjvf+U750pe+tLEbdRwynMByHMOwhBYI\\\\\\n\",\n       \"g9QMwDD4Z6IK6BNBASQV1wY5kpa2n4y+o2EGg1hHwbENQ0bxffJybN+AXnm1FOoMhTpz34gMUlJB\\\\\\n\",\n       \"B+KYcZBn/2OCSoseG4PNI9q163ul2QSRVg/9bpwPogBkg83aAonGxJcug4jTdah9dFtBMDTCc48G\\\\\\n\",\n       \"/GmEQLCKKCanQFr2TJ9hgovbmgmEJNKvBhHSM59RIMv3xQQV74tZCW2guw1s5wB7tiuCqGIbZcxW\\\\\\n\",\n       \"WFxHVVfIswKBZe2gIKWYzLK2UfQ7tpliHcsW88u3yYn3fCMs37nzQbK8cOrYfr1O1aQCIKzsrIOW\\\\\\n\",\n       \"zNJPWG5hHyxI4UnlY9wGyGosa/mz1+ACgoqPjam2mJRihRWuEVNeMfgaVftjRJfjcOI5z3mOfP/3\\\\\\n\",\n       \"f7/ceuutIacDUDLr2c9+tlf+OvHBW47+AcjTTn+EHM34sPPVDofjMODMM88cW9eMq1e/+tUbuub+\\\\\\n\",\n       \"/fvlp37qp+Ttb3+7nHjiiRu8Q8ehwgksx1EKJgHqjlGwPGOausqeb8koS2LxeXYfSAkeCFo1Dj6t\\\\\\n\",\n       \"igvkiiVQmARh0gskikwh0npj6wVxlUi/XyixdDDO6ioonBRQN03DSH0FUkKVOPpdPUlTVeTEr2MV\\\\\\n\",\n       \"X0o6QS2j9wHVllXMsBIM94jjsK+wnmmwu5IN6fCZ46olVmDZfSAIUK9MXPWJYLRKLVbJcXujLbmt\\\\\\n\",\n       \"ZtE/2z7B94vv5XytpGZWRTvrYLZOW+X4uhJXOsMgwtotgQXFFYe18z5LYnHWFZNXCqixLM68/WPD\\\\\\n\",\n       \"5Vt2PXnYh5n4nAZWa6EPWmJrZC9UyyATQjG1lbUCWwUV2t2qsPgYe6zdZsmoqv1WecV90e6zhHi0\\\\\\n\",\n       \"tiKf9lhXXm0WNLhdC0NnI3Q4HA6H46jGOi2AldcQCVZ7ttZb9ZVCSSidYOj2228f267r9t9Zxbe+\\\\\\n\",\n       \"9a0Q3v7DP/zDw23FDNM6zmjINddcI+eff/4GH8AxDU5gOY5S8ECpilWpIqishazKIsikgphtbP2y\\\\\\n\",\n       \"xzNxxdeMkVj8/TzoBNKafRjk4rvtp7UhJtHzoMJi+1RBOMVzrapgM66YXLjlls9Iv78q5577hEoC\\\\\\n\",\n       \"C9dgsMoKhAaTbBwij+24Du/Tc1U9U+xLpNcr6qN45ioyiNeHd2jawbYdtrFCC+3N5Bar8VghZ8ms\\\\\\n\",\n       \"KiKW7y+muuLlUJPGTmiVV2wZtLlWNsDdBtkX+9QuqmSlElcczM7LIKNiiiyba8UkFm+3/SOGXd8d\\\\\\n\",\n       \"5V/ddmZhH0S/YJJzGtDn+R1gqyGvj/oBk05sAbR2wiqrYWw5j+RY8XdIDXnFqkxLZOG+Y8fE9vE2\\\\\\n\",\n       \"2z/r1FjTCLDYdR0Oh8PhcBxT2EQCS8mradmQrVZLLrroIvnIRz4iz3rWs4aElK6/5CUvmTj+gQ98\\\\\\n\",\n       \"oHz1q18d2/aKV7wiKLPe/OY3T6i+HIcHTmA5jnKAIJhGYlWdh2PsOTxSBqGgBSNmS1TZe2BLGNvK\\\\\\n\",\n       \"YkorAN/JCp+uuceYdCSmELP3Zge2IxJNLXVJMIwrsTOyV7Fqpc6upfsQum7JBywvLh4nt932JUnT\\\\\\n\",\n       \"rmRZs5LEUiIDAPlUFbDNKizcc5F7VVwHli/cA6yRI2VPIp2OWgo13B7ETS+iXuqZtrFEIAgrVqzw\\\\\\n\",\n       \"fmyzihbOxBoYSym3LbdvMoOFEEUqZjpk1VXMCmhzrXi2RntssayBl1qQc6XFzjRoM7DqLIRVuVfh\\\\\\n\",\n       \"iaa4UdPOQTnp9s+G5YMLp8j+Ex8krZK4ssqrWRRZrORDf0T2VdEPNfcK7c3tGVNLxfaxOstOwMCl\\\\\\n\",\n       \"GyG9pimzYv3OPmzsHnkf90V8xtRZsXMY08irGWRxDofD4XA4HJuISy+9VF74whfKox/96KBmftOb\\\\\\n\",\n       \"3iQHDx4MsxIqXvCCF8iuXbvkiiuukLm5OXnoQx86dv7OnTvDp93uOHxwAstxDIAJgxlkFwFMSkEt\\\\\\n\",\n       \"BVUTk1VWZQUSoiqY26prMkNYsYWtT/uxD3Y0JkCs7Q3fa/dJZF+xrASOtUexWmXsCUyANoguS1ox\\\\\\n\",\n       \"oXXCCbtk9+4vyOrqbXLCCeP/OxGzgYGkwjKrqWIzwykBwrlECNhGDhZCtnWfHqv7cV6noyHvWSjj\\\\\\n\",\n       \"2VVMXoFIBMlQ1RckQlpaZR6uH2qwgjyYNpi3we2WzLJZVzGFlSWwrKqK9zUr1VdQVzFhhU9LaFUp\\\\\\n\",\n       \"sGIzTzJhxYTntP5yyk3/KtmgaK89Zz9Zmi0laUd9F+diGaQnTyRg1Ybc57jvjQLhLSHF6ikbyM6E\\\\\\n\",\n       \"U2yf/bSKLavEsllrVrXF3wdg2c5MaJVY6M9W5TUrXFXlcDgcDofj3g9xnxXPfe5zZc+ePWGSlNtu\\\\\\n\",\n       \"u00e8YhHyAc+8IFhsPtNN90U/pPWceTACSzHFkDMYjXreUnNtir1Vux7eYBn7YNMFqUV2zBgBCEB\\\\\\n\",\n       \"AsUqt5i04oEmkyRW2cPH8oA2rbRLTcMo32pEYGEbExEgu9rtJVla2iEHD94sp5xy5pgVrC4TK5Y/\\\\\\n\",\n       \"pOAwbShooIhhqyH2g7DCMj4LEqPIxkpTnZ2xIPIKRdbwaSuIJVa8cZv2Iudy+008aUR1Na0vx9RX\\\\\\n\",\n       \"vM7WQEtascoqm5HA4iD3RmkXLHKuQGCBlAJpZS2EVn2FdUtcoQ+hb6CwPTXWV0CqnnLTyD54x3lP\\\\\\n\",\n       \"CtdiogqkrPYHnjETkxbMko+F76xuyzpCyNr4qlRSTEhVnV+l8Ipdv+7e+LtnRezYQ/mr00kuh8Ph\\\\\\n\",\n       \"cDgcm/QnwSGcr3bBmGVQ8fGPf7z23D/90z9d/xc6NgQnsBxbAPxLNW3gbwkqPmcW4iB2Hd7GyhpL\\\\\\n\",\n       \"WFlLX11hMssOXpkUiSl57KDYqnxiVrV6sGoFsJbBWGF74QknnCH33PPdQF7YPCOQCBZQzmDZzjrI\\\\\\n\",\n       \"9kKorkBUQXUFogRkliVEQJiopXB1NStJLFWlhTuL5FQxUcQWUN7HKi0mkqxlFOo4Vm3he6e2SoS8\\\\\\n\",\n       \"siRVFYnFpFQaWYfiyiqwNOuqsAw2m4loHiarrJjEwjL2oZ4toRUjPK2aD4jZB3mmShn05IQbij80\\\\\\n\",\n       \"us0F2XfW90iDJhUAYTVSTo3Prrnx/2CLqZUscVz1vlfZAKusgbOWKqKsSk11qCRWjIidtb42+teq\\\\\\n\",\n       \"w+FwOBwOh+NYgBNYji0CDIKyQyCdcpOHhXUoIED4SMRSiGM4d4jPY1ID54tRVUlFODfbfHAtvh7f\\\\\\n\",\n       \"yyz77OicB7TmLohIsDPCsZIG6zakOxbQfe65D5ZG42FDdY0C16gDFFhMVkCBxZZHtg1CcQVVlq7D\\\\\\n\",\n       \"Tqjfr+uFfXB0LGdlKYm1spKWSiyomTpk+QL5xGorS25xPwFZYBV01n7IpEJsYM9kFYgpfN80Aotz\\\\\\n\",\n       \"rGIKrKZRWmWUgVWEvit5NT8/TkTNzU1aBnXdklvoK9hv+xMTolBNgVCqC/4HtH3nr/+itNb2hfV7\\\\\\n\",\n       \"zvsBmVtqjfUJkJja7nx93Ye+xhZCG9gOIjSOGCGEd8yGr8fsgbPss+qr2DG4lyqlln0Aay+sUmVZ\\\\\\n\",\n       \"stZeI4ZpxNSMcjeHw+FwOBxbHveFhdBx9MEJLMcxBqu6AmIED++LjZ6ZoLDXmKagiVkDmVDi81m5\\\\\\n\",\n       \"ZckzS5KwmozVXhJRYcVhyYLYrHDWGhabZc4SXWnaKNU2A8kyDY6PWxEtQCZAacW2QgS1cx7WKFy7\\\\\\n\",\n       \"ICaYzGICS4su63bYCgtCS8Pdi3vTXCwNue/3WVnFqidLGGKfzbnqRzLJLJHFxOm0gT1nbyUVIe6c\\\\\\n\",\n       \"gRULZ48RWGwfHC3rFMOqUFPVlZJSSk6BsFICi3OuWH01a4i7JbK4b/DMkjEwkXnS9R8bbj/w4CeF\\\\\\n\",\n       \"70DIP+yDsA7yRAV8fe5fIKzscdNnMGTCiLfFCKgYycSkUkyRxcfHrj2rWipGXMUIrLq/BmPf56oq\\\\\\n\",\n       \"h8PhcDgc68Rm/PngBNaWhxNYjmOEoLLHVGURxeyEMRWM/Z6Y8qLKXlM3SKwr9lpVdkSZ8ln9y845\\\\\\n\",\n       \"Q1ysVZDtYFxsxtHInleUW2/9d7njjuvl4ov/05CosJa+KsD2BTUWk1Ycrs0kFr4bZBUrfLAO8kox\\\\\\n\",\n       \"metVzMyoZM5IeVN1k1YBhxN4pkKrxrNKuY1kYNnZE21QO7aNzyA4bhlsTBBYSl4pcYW8KyWsQE5B\\\\\\n\",\n       \"acWqK5uJhf7ABJbtL9ZKiLaom/0y1BRnpPVz2faNfym2J6msPuhxw3B/7muwEiILC9fA9WyOms3f\\\\\\n\",\n       \"4nei5s4i7x7vkxnsfvZas5Q6e6G9r6p7q7q/2Dn5If716H9dOhwOh8PhcDjWDyewHFsMdUoqxjSS\\\\\\n\",\n       \"oIqgstav2PVYFWGtiVWh7tguRoXDqis76GPFRex69nv5eSbBg/JppBXnFVkSi9VYIC9w7nHH7ZBb\\\\\\n\",\n       \"b90nvd4+2bZte1RxUwXOOuKZ4FBgEbMWQtwj7GO4R9gGocJCXheOURSWQpBFqsRKDREVU+CNjh8/\\\\\\n\",\n       \"jtsYbYPjrHouXyeBxSQWE1hWfRULZuf1UUmShqSpklcjlZUuq4WQCSy7z+ZhWQWWtRByJhr3N9sn\\\\\\n\",\n       \"6/pEyK+65dvSvus7YfvKuRdJ47idoalgN9VrQXVVqOvGCSxYU3FPCqyziov76nQlFrd1jCyKKbFi\\\\\\n\",\n       \"58UsplXWvyoFFxNc9jti9xu773wTySm3DzocDofD4VjnnxnT4P9HtuXhBJZjCwJkQLpOpRZ+NdOa\\\\\\n\",\n       \"Y2LfxUSFtRVOAw9OITWxtkDO4+Lt2SH+cuO8UR3ZzCuQOFDXWAICVjEmMqrUNjhGB/wLC6fKDTdk\\\\\\n\",\n       \"srz8XTnttAdPZB8xQCLx7IPh6cg+yBlY1joIAkvtgFjW7aur47MSYjtbC9fWivvhfXqeZmN1u62S\\\\\\n\",\n       \"yMrKNumUy1ZhZdsRxyDPrBexkPG5deDKsgQWSCpWX1XNOshEVmtIfGVZY6iiU4KKbYJKUrHSijOw\\\\\\n\",\n       \"QGDZ7XUEls3AYlJz+ITUPwpFHNVU2Qca14xmH+xf9ORwLxzwD0UVzkeft7MbspVQ75mJU9vvQG6N\\\\\\n\",\n       \"2oHf5cqwrCntiz6BvDUmrMKdmfN5psJZESOmBus851Ctg+u9V4fD4XA4HMcC1jOCqruGY2vDCSyH\\\\\\n\",\n       \"Y2ZY216MAONtVkUlkVkJ+bzY9TdCitUNEsfzm2IKGJAITDDEbINsHWMFliWxCrIik9NOO0327btZ\\\\\\n\",\n       \"5uY01H2cwGISC8vW4sUWQli+2DoIwoJzr7CuZBZsg1p0WbfhPpW4wj0pcDzqotPRusplbS2TwSAp\\\\\\n\",\n       \"Q96hpLKFVVU240jI4sdKrFnsq9MysLIaAssqsDjrqilJkoYZBosA9pFlkNuUCSwEtWMfE1sc4m7V\\\\\\n\",\n       \"WKzKYyshWwaZxGKCiclMVuDJF0cElnzPE8N9gtTEddHmofZL8pJVWHw9KLL0/qqshaM+G1PkxTAL\\\\\\n\",\n       \"UVR3jlVyxux+ddlYseOxXnd9h8PhcDgcDofjvocTWI4tCgzEppE+6z2Gr8ufEsnPyiPrsYEiDyar\\\\\\n\",\n       \"bGRVNp71ZtDYgbbOLKekzDiJxcHaTGrZmeSYtGIFFpMX4wSWyK5du+Saa66SRqMr7XZzgryos2XZ\\\\\\n\",\n       \"EHerwAKBpcQTtuGeYBm0GVisAmLLWrClEXkFG5rWl5JXxayHSmLhZ9TeOKtnoMZpkJJOZsjAYvLC\\\\\\n\",\n       \"klZVGVixmQhj+VfjBJbOMKjkFYLamZjiom2L9uU8LEtg2YB3qPnQHyyBxX1vFkspSKXQ/nfeId3r\\\\\\n\",\n       \"vlzU9K7zpXXWWZKWbQ8CCxZStsmiryHfzPYr9M2g8KL7HCex9B3Sc5m8rMO0d7bu3bfr+QzFHld3\\\\\\n\",\n       \"P7Pew3qeyx7jpJjD4XA4HI7D9GeC/5mx5eEElmMLw9r7ZiWvYuoomXKdnKx5rKSaFVb5YHOw+N4w\\\\\\n\",\n       \"SF7v98Tuf0RcMUHF1i9rBWSFjVXcWCsZW8ew7/73P1se+MCzgxqL1Tij3KN8KnGhxBFmk7MzEILA\\\\\\n\",\n       \"wrp+P6yA+l3FTIPFp+7TTy1qEeQZFC3RpUD9FGSb2glz6XSaNNNgFYFhySb0PbZ/seWMySye2ZKv\\\\\\n\",\n       \"A4CwSmvC29lCiBkHeeZBzboakVfWCgiiyiqw7D5LfHGfwPYYgYX2h+JPVW7TicziAG3/lY9/Qnql\\\\\\n\",\n       \"TK/1/U+WuaWR6o7bHYoqfI/uG9Zi+f2xmS6xrudgPwgxEFmjmSq5zWdVTdbNQsjH8H70j/X+pWaV\\\\\\n\",\n       \"Veu1Dtadk2+y+szhcDgcDsexgiQvykav4djacALLcYyDlU9V+UV1xJg9rspa2KdcnBghIRFCyhJp\\\\\\n\",\n       \"6yGrQGKg2HWoddIJG5/NJgL5YMkKtpZhX0yJMxnmnQ1JCp3ZbkJ9I/moVnJlD8rldJT5NZBkQoHF\\\\\\n\",\n       \"eUeswFJbIMgsJamYwNJ13Q9iRe9Lt2M9tk+3hRoeqtJSWVtLA6k23q6cecWfaE+2GloyNZZ3lB4C\\\\\\n\",\n       \"gcWWQZ55EPuaIajdWgG1LbFNP9HuuowQ99g+7h8c8G7z1NAvrGW1KLmkTIQMSmIvVFdGb+2oDxz4\\\\\\n\",\n       \"7Mg+uO2JT5RkaZzERJvGrKN2dkFuWyi3wm2UKixWcrGir8hF4zwy2w94vS4fa1ayaTBDMLxUfFfs\\\\\\n\",\n       \"vFmsgzEyy1VVDofD4XA4HI57B05gObY4YoTSRq5lbYJSo46KWQ0tYTULMXWo/5VgLU2T5JXa4TjA\\\\\\n\",\n       \"3WYSxfKLbPYVyAuQFlBmgbCIzUZ3223fkS9+8XPyzB/+YWmmxf2lg4Ekg1ySXEspc+HAo9Jblus9\\\\\\n\",\n       \"q3KsJDHyJJU8S2TQVNojDbMGQnUFxQ3UOFBYIZidZ1K0dkJ8ZWxmRqyj/vRWu92sJDu4vhlKYqSl\\\\\\n\",\n       \"6olthJyjJZHlKgUWlpmcZNUV2tqSVtlQeaXkG1RXnGsVI6nQplBgxUiruoB3S2A1GoGCKto9Kdo8\\\\\\n\",\n       \"6eeSqOVPW5ZlUBN9IA39IJVEeqsdWf3Mp4oaOu54WXrUhdIvZw1EO1tLLAP5ahwSPwyGL/srbqPq\\\\\\n\",\n       \"PSmC4e37FXv3DuV3aBaCyOar8bn2s8omWPXdmwEnuRwOh8PhcNwLfy64AmvLwwksxxbHegisKkvh\\\\\\n\",\n       \"tH1Vx9jg9tjxsevGBqHrGfjysTHyajSQ1tBuVpOMEwyTBBSrqjC4ZxLDKnjGj1fFlS7nctKJ22TQ\\\\\\n\",\n       \"W5G7b/+O7DrtNAozomR2Ji6Gj5NIkiptQZ6voYSnIXmaSt5MpdtMgqWrV6pllNSC8gYqHLasQWWF\\\\\\n\",\n       \"OuA8rBiBpbfIgePFrabB1lYss8Iqllmk23vlTzC2IezfElj5DLlXSc0shFBljeyCWtJUZxosgtpZ\\\\\\n\",\n       \"UWdJKSatdDuTVLrMyrtqAisvbImhqXJpNkrCKjBFyjT2x9selQp2iaHtn2WBPNQGWP70p4ayuO1P\\\\\\n\",\n       \"emL4zl5/ELKptC217UE6abuDcCwvNUZo6VcjtB0h7piJEPtwW6xczLIiR65Q4XFbcJB/7L2sWreo\\\\\\n\",\n       \"y8GyfasKMVviRrOtZv0r0Qksh8PhcDgcG/yzw+FwAsvhOFSSiG2BVfsPVfVVRWzFEMv4sgNlJjtG\\\\\\n\",\n       \"pEcx49x4dhHWY4QEh3ZjH/ZX2cyYyAjkRVoEVM21M9nebMjN3/ym7FpYGPn9bJq2AowBT0sXHp08\\\\\\n\",\n       \"XEiJV3Kj1ZJW+OKGyFxD5ueTwG8oeaH3pcvIvdLTsA/PyLZBG04PCyEUPbATjrKb9JhGIM/ynK1i\\\\\\n\",\n       \"fbKPYhltDWIBhMcsVlFLXqUVpBUvt8qwdiV0sjHVFSyglqTCMdpErMCyiqwq5Rar8hqpklOlLO5g\\\\\\n\",\n       \"6eEEM4Tl4ZSCMt4PONGd+0GWyYF/+Zfh4UuPeYw01g5Ko9GQucWW9Adp4MbUKgriku2hmGXSBsaz\\\\\\n\",\n       \"fRC3g3WQW+g/gF5PCcxiZkprI+SZSO07yu3ZvxfIoLpz+5t8PYfD4XA4HA6HY/PgCizHMYBDCVXH\\\\\\n\",\n       \"eWzhkimKqY3YFA/l/qwlyc5SZ8kNDvQuFCPIIapTWlXlIimpAYWNfoLkgDInHNvMpdnKJev3JOn0\\\\\\n\",\n       \"JOmVxEW3K2fs2CE3XH+95GefXdjFOMiKlTgTj12yDfgk35+qs5h1yhtNydptmcsa0s5S6c01ZGWl\\\\\\n\",\n       \"IDKUcECgOKxmXNheaHPBWIEFDk0fq1Di6LLaCVUFpjeMkHdYBbk9EOKOEiM7Yoi1rZ1xMJlQXall\\\\\\n\",\n       \"UEurlUzkmTEBibbUdbQz1hcXx8krEFiW8Jyfz6UhfUmkL2mnHyo8tD8IK610TuDntq9SXylIHqc2\\\\\\n\",\n       \"wn2f+reiW7RasvSgB0qyf//whrJGU9KsIdliQ7qdRDrdQo2Fy2h7Dmu07FJoWwS6syBML4tbgzIL\\\\\\n\",\n       \"t6/7lLzq97mNM5OZF3tHq97nWbAZwehVhNiswe3TUJep5XA4HA6Hw1HAQ9wds8AJLMcxgs0YQM1C\\\\\\n\",\n       \"VNUdM82iuB5YlZUtVYHSRSnUV8Vg3hYmsKyNkJU1+KwK+m42BtJIB9LUEO5OmaQO2Uu3K7t27JCr\\\\\\n\",\n       \"9+2Tfbt3yw5lRZDADvIKUpdpBBZYJZBZFHKVNJuSDPqStlqSZw1JVAEWQuTVXqYqtPGZBXF5qG1Y\\\\\\n\",\n       \"mYN1RZF5NLITgvTAccUMeRrsnkueN6i9GhVEQJXtrAox9ZUlsNIxFVZhFy3IKw7b5/bjDDMmJ21Q\\\\\\n\",\n       \"Oz6ZxATx1WwOpJnm0pS+ZIOeJKq6gnQNMiik6HMKP8Kn6ggs9nEmiazedJMM7rkn7Fq88MKQpzVk\\\\\\n\",\n       \"KHs9SdptSbQf6M0F26H2+6JBcRl0tVGW2eirMYshuqQ+J3g27nKjIHq1ERZW0vG2nP5Oxt9tOUwW\\\\\\n\",\n       \"v3s7/8rhcDgcDodjhj8ZPAPLMQVOYDkcm4ppBNZmDOZitkEO+o7lIo2vF+TVKBsIg/HYzIFsMbTk\\\\\\n\",\n       \"lbWdFfvysJ4pgaHkxeraaPo/lF5PTmq35dnf930yp8zBwYPjVjIO8LZEBhNXLIPih2AfZOn1UjKr\\\\\\n\",\n       \"0WpJo92WVqsh/XYRwK45UIV6anIGOl5m0kKX8ZU2rmuk4FEyQ5VYIDTQBzjAna1jyMuyypwYrMIO\\\\\\n\",\n       \"hBVnYI2C25OkUF9xOzIByfZQtglyzhUKWwiVdxwpuXJZWhTJkrLdiawca3us6yfIK84/YyIr1u5g\\\\\\n\",\n       \"GNNU9n/ms8Pd2x5+YdGPwLqCKNO2Hwyk2W5L2mhI1ignDSgJXHYo6lfqc+HrLIEF1ZWuw1I6rtIr\\\\\\n\",\n       \"crCKGQmr379xlZ21Dq7HTliHut8bz6RyOBwOh8PhcBx9cALLcQwBGUTJOiyDmwG+7qHYGa1NLKa+\\\\\\n\",\n       \"wnKVMofVOY0w0LbkFAqrczjnipdBZIDMUOWNkhnhGmpLXF0uVFc6+ldFDAdPlQRW0uvJHIgMTBlo\\\\\\n\",\n       \"g9yrbITWB8YJ9FBhsWzMJJKnzaakrbbs2L4gndJOiNN1GXlgegns03Xl4aDI4q9mJU5osXJdSSw9\\\\\\n\",\n       \"p9/PgjJnPAOLLYT6U9wzs8lVkQ9WaQeF17jiCstFmHkyoZLjZSai6toWx3I/WFe7o71hH+R25wy0\\\\\\n\",\n       \"unYndnHfF74w3LV0zrkiqsbi6S5RtBGo3bOFhSEBZcP6+WsgEMM+jumC9VQB5VbBxSmBpW3QN+97\\\\\\n\",\n       \"VWaZfY/tu5wfgoVvln60UQzuBXujw+FwOByOYwVuIXTMAiewHI6pqLP+sUWo6lwx6hqct1GiLBYU\\\\\\n\",\n       \"HSOzJgktcDzM/djcK7aTsWKHCawR2ZHLXDsP6pu0q6qrFUlgGVteHimwsK0kse6+6y75xFe+Ik95\\\\\\n\",\n       \"0INkSW+Cc5CmKXEUeBC2EmrhqfA4TRzkmVoK291gOWs2WpK21V6mxN6oThTKwSDzim2CfBvg3Jjk\\\\\\n\",\n       \"gEioOC8peRr9ROg/z07Iy0w8VA3+rZonixBYxbLaJAs+pyCwqmyfMTXdePuOMq7GCaxc5lp9yfK+\\\\\\n\",\n       \"pMsdkZXlot21nrXytN314dH2Zf2HZRCUIK6YwJpBedfZt1+6e/aEXe1duyQIqzT/CuSVfpfeJJgl\\\\\\n\",\n       \"vUSvJ/lgIGmWSjNthHYvLH+jr0FbowvCLqq3hIB/ZF5hVkJkqMFiWPfuxXPqkk1SXlX1m2lE1iz7\\\\\\n\",\n       \"HQ6Hw+FwOA4j3ELomAFOYDmOMRxK4Lo9h4moabMFVn3fRgeEVnlVRaJh20iFZbOvwPtwgDkG5yxk\\\\\\n\",\n       \"YkETspEKIkPJK5Fm2pc0WAZXi5E+SCslMrRElDjb8lzWDh6Um2+5RR5wwgkFMwD1FSdoW9gMLBT2\\\\\\n\",\n       \"9eEBoO5hgqzbDbYyRWM+l7SpDzbKBoNlMNRgmYfFEyQy4cEWQqhzsB/nqRJL21zJEs3FKsBkFtvJ\\\\\\n\",\n       \"poVeZzOE9BdZT0UVFGq7WDuynRDkFRebeaXtPQp1z6WteVfSk7RH7Yy21vYHgQVFFtR2uozKsUos\\\\\\n\",\n       \"noFy4tFHdtED//714ebt559XEKWYZlCvpQ+H64N97GuofHGdxtycJJnIXBth+8W7glsEMQXbIEgr\\\\\\n\",\n       \"fIK0QlcbvVMa5K9tzQHu/C4yYsqrjUwGITWB7OvJvLLL6/29couiw+FwOBwOh2Pz4QSW4xjDZswY\\\\\\n\",\n       \"uBnXqEOdzRHfm1YcyyQG5yIVxymRAuICfA8rrkak1EjEZBVX4wHeRd7VfHsgcrC0jClpAfUNipIL\\\\\\n\",\n       \"rMAqPxudjpzSbBYEFjxZ07KQAJ4CsJx1cMz3BxZOl/EwlIsUtpfESaq5WIuLks61y7rQLKNRDhZ/\\\\\\n\",\n       \"JcgtFoLpLYI7s/sUhdWsICe6XZ2pzhJWPBvhtCD3mLKH27oZ8q5YgDY2M2TZ/mwLHLOAljMPWgsh\\\\\\n\",\n       \"bKTbthXkVSPLpdnvFLlTWpfa5gcOjAhKtD3amwksbAdJaQPdo91+XIG1/1vfGu7adtppIvv2jRg6\\\\\\n\",\n       \"7rx6bRBZ+kA082E2NydzCwuSB8IvD+8Hh7jbaC69HO/DbUOBx0Th2lpCYe4xOy/y0NCm6OecjxWt\\\\\\n\",\n       \"iBmOORL++9NVWw6Hw+FwOGaHWwgds8AJLIdj3bbAugHbrOdBRQPE7IS8jQfCdn9dULQN89aB+khx\\\\\\n\",\n       \"xeN9hHZjAG7Du5F3xOsL87m0Gv2CvGIiQ5ehxNFPJbDYWgZVztqanCEiV95+u3SWlqTFod51ZEZ4\\\\\\n\",\n       \"/HScwMKDgZUBgaVkCfvklJEBkwOZjc5W1+9LI+QktaWx2B4Gdett21B3hT4GLITISdKij8ZRTaG1\\\\\\n\",\n       \"abkIB1eipEW5V1BhQX01iBAB3LeqCKzG2OyRIBzx6NYyyFZCHKvtvrQ02qaEFRNYuqyKq3SV2toS\\\\\\n\",\n       \"WLrO1tFIuw+JJWaCUCpfm4Kk7Pf7srx7d9jUXFws+s3evePtPppVIP69ZUnyXOa03VWOJYXdE+8H\\\\\\n\",\n       \"xIAKnIJuCcLXBryDzFIyrJiBMqd2ztYR6G732f2xbUn5HaXv8bCQTE5OORwOh8PhOAxwC6FjBjiB\\\\\\n\",\n       \"5XAcEZhmAWSbYFKz32btjEohYBnNPGgtg2wbhEKL7WVsPQOZ0VD7mKagwzYI5RU+sc0SWMhC6nRk\\\\\\n\",\n       \"V5rK51dX5fY9e+RMKGRIJVMJq8ACgQXCAg8HdoGnkFMyQ7+LQ6ySpKjBQS6JqLKsPaw33Y3AbgXf\\\\\\n\",\n       \"1sgmWKzr18QUPFhHe6mVcJS/lERmIpyVwCpIESVMisD2ETnJ8V82pJ9JLCavLGk5XnLJemuSrK0W\\\\\\n\",\n       \"WVfariCqoLRj6yiUd0xgIQMLOViWwKojLUvZ4IE77xpWy7YTT5REvwdWRHRmyKa4cdAALKtLU0mz\\\\\\n\",\n       \"TLK0JXNz6VAYpgV1hUtD2AfRGNttUUCAqYUzzwelCiuZ8o7yu1z1vtf9PjgcDofD4XA4HFsfTmA5\\\\\\n\",\n       \"HEcsYuHs2B5TX8UGxqnJRBoRHDbvyuYk2WW2n7VaqrzKJV1TVUtJXljyCrPQqUJHCxMZmI2u05H5\\\\\\n\",\n       \"tTX5oZNPlm1KMuhxIB3qZiFUsCxKbxCyJ4SGc6o2rGSQy+g6vH5G9ROysfJc2kv60EVdQqgFIKpL\\\\\\n\",\n       \"QfxXWNZLh+sY4gvrOE+JjW4XIeL4/hiBxeqcOIGF7C5LQqL97DYO5GeLaCwHa0hqaeZVoy/JgRVJ\\\\\\n\",\n       \"uG1BWoGwwj7dZtsdFkL9LKZnHFUSzz5Z1+ZZJvtL9ZViadtSofzCdfGguBazjRUEVsjEaksIdV9r\\\\\\n\",\n       \"aSZW0ebgQpkbAw9q35vx96ogivNc1WJVpLJ9Z7kPxN73Olupw+FwOBwOx1EOV2A5ZoATWA7HUQUm\\\\\\n\",\n       \"MWJZV7HBcWEfRC5STIXDNjNrK4vNSLe4IJKukfIGJBUsZUooQIHFBBYUWSA1SlXWNihzoMw6FAIL\\\\\\n\",\n       \"JJZen1k3ZF5hZjr44WAlo1kRmUzRS7fnFqSx1BqSUyAokAnOAe8Q+WBZeRFwMnp5hX6F7rOKnSIX\\\\\\n\",\n       \"C+27HgthMmxXq6TDOhOP3L4xtRVC2tlCqNWlJet3JIFVVAvanQks2+7WQogMNK5zEE8zEli5KrA0\\\\\\n\",\n       \"70qfPk1lQRfuuae4Pj8sZiHkMHebiYXv0sbKNQkrl6XFxWHb8m1hFkLwnVo3yMuy+/CIBYFVvH+F\\\\\\n\",\n       \"ws4SVrFsLCjxNjpLqcPhcDgcDsfRA8/AcswCJ7AcjvvcKsgWoaosLGslYgWOJa2yCLml9rKRSCmm\\\\\\n\",\n       \"sMJ6TIUDIiPERzV7kulsg2trhRJHCQyQVpiFDstVCiyQHKUSZ63TkY/u2SOPbLflVCUpBgPJe73a\\\\\\n\",\n       \"hJ7w1Gr7C0xTe9IPySHeIDXgD4OFDTYzMBUKJa9IUpW152RxcYGyjUbEhXWmwZ3IBFa415IQAZmF\\\\\\n\",\n       \"80ZPkgciquBU7MyWsUkD0jDb3Si3fjTTILelzbxiAovbGW1rScsi8yqXrLNS2Aa17fbvH7WhLjOB\\\\\\n\",\n       \"pcQSrKIgt0BUcpujkKUwz/OiTGnz5VDPxVHbWi1JlLxC4Jd+Bx4MZCRmooRVUb8PCftooCwLWVh5\\\\\\n\",\n       \"onXakLlWU5Ikm5hhkl2PuDTUWcyT4T0rvqZ6psjJLDMb0F43wyjIzthMqJsxm6HD4XA4HA6Hw3Fk\\\\\\n\",\n       \"wQksxzGIqkHf4YAlnuoILHtO7FyZsh4bECP7apzEQmHiA+QW5yixWkutgw0ZSNotSQkuduZBWzAz\\\\\\n\",\n       \"HQgPhGqvrUmr15PV1VW5qduVE5U1UTJBSayamOmxWspzScoH0jyjYWgXZjIESQWAsIKcCiwFy6uU\\\\\\n\",\n       \"HCmZpqzZlHZLfy41mHtEZID/ApEB2xmitkBq6DKOZevhaILFwrI22levvkF7YiZJtBeTk7ZYa6gt\\\\\\n\",\n       \"nHc2JLuauWR5ryCvYjZRzsACmYm2BrHJsxDCOrq2JoOybfJ+f0hWztLe+3ojhdZSmki+vCwJss7Y\\\\\\n\",\n       \"84d2BaNUqqzQtkMWUStE7zlNQx9Kmk1pNDPJW6m0WoUtEwQV3hV9BNQ1eDImrUbLxTtXdK86q++0\\\\\\n\",\n       \"9zpWbO1UvR3Wknq44SHvDofD4XA47qM/IXwS5C0PJ7Acm4YbbrhBXvva18pHP/pRue222+T000+X\\\\\\n\",\n       \"5z//+fLyl79cWjr6O6IA+87hJrGs7WvWczjjalx5Ew9x52MnlVkYVIPAsOtMcDChNU5s5NJsDKSh\\\\\\n\",\n       \"BAKUVLaAyIitg8hSdZYqbqDM6XYDiXF6nstNKyvysLKvYD6+qn/Lxmi6Xk+yXm9UW6VtMIHiqpxp\\\\\\n\",\n       \"MABEBwgsDg4vgovGlsP1AoE1L2lazFSHzHGQUkr2sAILl9NHAYeG3KTQikNSY4SRAKzIYKoDk48c\\\\\\n\",\n       \"yg/R2SzZZkxYcSbWUH01p+3dl3SN2hCEFbKuQFKxlZQzsEx4f06qO7Rvn0yTg5q2DjWS53KALIZz\\\\\\n\",\n       \"Snzpd2gllOSYElBDiRwkUZDOoW3REApUEmRyrZY0QuWl0m5noW3BgcZIQcxIqEVvgd8riL0KQjL2\\\\\\n\",\n       \"bta9y2nN78isf53Z7KzD/Vcd218dDofD4XA4Zkf4D+nR/+4eEjZ6vuPIhxNYjk3D1VdfLYPBQP74\\\\\\n\",\n       \"j/9Y7ne/+8nXvvY1efGLXywHDx6U3/u93zvKaxo0yqHk0sxi55l2DA9o0wrLoLUNInunMVSPYHDN\\\\\\n\",\n       \"yhsmNNg6pgXWM6yngXQimyAIC7WSwTaohALv45wkIrCUZOj3+4HA0CHvic2mfH1tTW7r9WRHozEc\\\\\\n\",\n       \"CscIrBgNwE/fWC1myWsoIYGwJ31A/X71y8FipmA7oU1eL1U8qsRqbNO8La2k5jDTCnyXEhzWlQYL\\\\\\n\",\n       \"IfYhNxxcCmdl4Vj9xCx29PVj52GZVVfWPclWUG5rnm0QeVdYRu4V1ptJTxrdtVFbgqxSmyAISd2n\\\\\\n\",\n       \"69y2aHe0OcislRXplzZBjVVHu4PAQomRWGhjPR/0VTtJpJuocm0gqVo9u13JME0gCEq0LeyKyL9S\\\\\\n\",\n       \"wL4YvqBsEK3sckbLNNTT/Fg0WikOHBKXvA8OVVZkoU16PX0PmbLLynW8t9jH7zYyswYb/G1hq+F6\\\\\\n\",\n       \"4WSUw+FwOBwOh+PIgRNYjk3D05/+9FCA8847T6655hp561vfugUIrMOBmMqiaj+rL2IzmtkyOq6Y\\\\\\n\",\n       \"oa5ascPB3zY+CqWpVjLpS6KEBs8wyMHsrNJh0sqqdJTI6PcD8aD0Qa8cJitppUTCTb2ePIAILJmi\\\\\\n\",\n       \"yknNcB90QFqSJenqaiA4Qq4VSCqwQlaVo5XD/j8wSY1GUPZkKg5rJTI3p7MHFrY/VlnpJ1sI2c2G\\\\\\n\",\n       \"dVZj8X8SgaDi22NbIcguHIs25GU7G55tT1Ze2eUR6ZVLM+1L1lmTpFOhqIMCy26LzEqoSruBlrK9\\\\\\n\",\n       \"9dGYwOJSp7ZTdAajvc0slY6ha9V2miqRxTNMMqMYYwO1ovTB8WLofauVME2DdbTZVBWWzhg5mhOg\\\\\\n\",\n       \"6p2xpCKUcvoOaqD77O/uoOLdTw4TUeU4FvHJT35S3vCGN8hVV10lt956q7zvfe+TZz3rWff1bTkc\\\\\\n\",\n       \"DofjWIVbCB0zwAksx2HFPffcI8cff/wxUsvrtSNOU1zV5WBZ+iZuHSwIrKSS8GArWh251Wzkkg16\\\\\\n\",\n       \"E7MHDhUuNqibLYMl0RHsY2odU+VVqaRRnRNIjUGSyGO3bZOFNA3bWYlj/z2ztcOx2Kxl0c+GEhid\\\\\\n\",\n       \"TiC0QqYVspB4JkMFKkChx8CLp8vK7qytSao5Sa2GzLWLgG8tUN4gJ4knNET9gbRCVBN4FbYRgujC\\\\\\n\",\n       \"ch3nEssxqyuzZGIN86/0saUnSc/knCHDjIu1kILYKtta27zf7cqg3x8jKy2BZVVYsbZWrA5G9kFt\\\\\\n\",\n       \"C1xvaKrLc8nKilXiMpwPCZxWRNhQZmAhsEofWu8XFanLaj9tNCSd60mzkUqvmUwlqXidCWPNwSp4\\\\\\n\",\n       \"0hhRVUdk1b37Vb8hh/Ib5ITXsQpVRz/84Q+Xn/mZn5Ef+ZEfua9vx+FwOBzHOHwWQscscALLcdhw\\\\\\n\",\n       \"3XXXyR/90R9NVV+tra2FAuxTS9JRh1msPLNcY1q4cywDC+dgfTTzoA6cdSDN4/VYmHeMyND1woKW\\\\\\n\",\n       \"SyMdjNRUNsDbrmPWQcpFystZCFWN0yECA6QGCIx2lg3JKxTAkhpcS5l5cpi0QJIoiaXERqP0eIVs\\\\\\n\",\n       \"rFFA0biVDIwRFFm6DZVTVmh7qS29fh5UWHopONNwKZBbUD6F+ycFFr4Kn2gnthBS1NMYcJwlJNFe\\\\\\n\",\n       \"lqji9ozNSIjzkHMW7vfAWpys4jaGdVQL9pfLednuvdIiqrWr7arLWGfiql9jIRymNwUZ22i72gcR\\\\\\n\",\n       \"Tw7VHUx5jTyXttpIy5D4cA2o68AkAqgUNAaIy3JfY04tuKq6S8Kjw53I9ltWZeFyWgV49wrONImo\\\\\\n\",\n       \"sMToBqt6OACqjunaQwVf10msYxE/+IM/GIrD4XA4HA7H0QInsBxTcdlll8nrX//62mO+8Y1vyAMf\\\\\\n\",\n       \"+MDh+s033xzshP/5P//nkINVhyuuuEJe85rXHGMtka7TGhQjrTJzDA+Mi2VVfyC0HYNrVofYPKwR\\\\\\n\",\n       \"kTHKwGpmfWnkRfB2NJydCQ1kXoHAUuXVwYMyWFkZqnCYwAKpAVVOL8/lcwcPyknNppzRbo+pcQYR\\\\\\n\",\n       \"Kg/rnADGBBaSh/qwmCmJdeBAQWAhhApsE2Q0YJjA+ilxgvCwkmlKWi1pNZqSzzUCeaEFhJRysSCt\\\\\\n\",\n       \"wJdAcWVnIcQltU2UBAMhhTwsm0MJogskFghJOwshk5JYB2kFkgt5V7y91ehL0inb2pKSICvRvrbt\\\\\\n\",\n       \"sV1tg2tr0hsMhgo7LkxgoW36pp253dHOagsc9vgsk7XyOg26Bggs9BUlLFMlL7UiOZQMFQ1yktP1\\\\\\n\",\n       \"tVJK4lJnXmy026IZ7M1mI+wCQan1pVVUCvyG6iwmirGvEPBpOH9sJkK2ETPtat/3CkZzzHbIyw6H\\\\\\n\",\n       \"w+FwOBxHEdxC6JgBTmA5puKlL32pvOhFL6o9RvOugFtuuUWe+MQnyiWXXCJ/8id/MvX6l19+uVx6\\\\\\n\",\n       \"6aVjCqwzzzzzCGyZ5D74vpjlaFqOzug42AeZ8LD2wSoL2nDGwrwvSa+UGenoHZIjtg3a5dJuFpQ4\\\\\\n\",\n       \"aiMbDIaEFUgrVuUMbWVJEgium7tdOSVCYLGJigksKHdA69WGgasqR3OS9N5QEbCVgbTSB9fnAdEB\\\\\\n\",\n       \"G52SV+Usd1kzk1YzD+ockBVQ4rCFcBTkPZr0EEotFgIx2QVVVgyWwOI2i7WlVWRxVhaTl/osmQwK\\\\\\n\",\n       \"co/toVxsW0dKsAxSvhkKyCyQTUxc9SIElphpE7L+iJTpqS3P2EU5Lw3KrGApVDthGe4+tJDCDonZ\\\\\\n\",\n       \"C3UZLC8Yp7IetD7SRiqtVmMiY8wWrn+0D9oqfPfYOzwtv84SU/f274/CLYaOraaWdjgcDseRCrcQ\\\\\\n\",\n       \"OmaBE1iOqTjppJNCmQWqvFLy6qKLLpJ3v/vdIadmGtrtdihHNu6tAWTMOsjbq+yDMQWWWgiTMbLD\\\\\\n\",\n       \"EhxVAeDFspIzOvNgKSPRArkRE1hMbti8pLW1IvOKCIxYgRJHl49vNOTq1VVZ1QD20iYmkWE8k1hs\\\\\\n\",\n       \"JbPkVcyIqZbCQGpoODsrcWAf06L3D9aHCY+S3GqESsqk1crG1DYxYkP3oV7ZxcYKK1ZqTSOwmBip\\\\\\n\",\n       \"y72aJRerILByaTQG0uj2Jtsz1tbYRmo8kJWcd1XX3mwdLQ2c0dyz0MZ5LgtlZQ1K+yCoFc47mziv\\\\\\n\",\n       \"PFdnKAztjQoDOYllkJkV/TxNG2UdaZ0lY3XIyjlLZvF7VxBYMSI6ZiuMvfNVy4cTQwPnvfBdjiMd\\\\\\n\",\n       \"x6Za2uFwOBwOx5EEJ7AcmwYlr57whCfI2WefHXKv9uzZM9x36qmnek3XwoavI9Vp2mA1ZkVMxyyE\\\\\\n\",\n       \"EJawKiQ2c1osE6uR5ZIgvL0bsRHaAkvZgQNF9tXaWlBUgbzSz6oMLJSdzaZ0Vlbklm5XTiqziapm\\\\\\n\",\n       \"psOTspVMl5u0DEJrjBwpA6kaUN6AwNJ7x5SBo/CiUQWBpSiJrnRO1VfZUGEF6yXIKK0yvQyIKQ5q\\\\\\n\",\n       \"Z6UVz2ao64jkilkIcQujkPBJuyDnM9nPMXsonZOqyi6mrII9kC2E2r5sJS2P7fV6w7bmdteyRmo7\\\\\\n\",\n       \"zjmraiPG3CAf9vJOmkpHlYVkGQRxydexb0x7ebkIdIclFJWJgDCehRAVqxWlBJaGuqd5IK9i7wl4\\\\\\n\",\n       \"TfQDVseh2+i7GFdYcW+OwRJXMFLy9dwy6Dj8OHrU0g6Hw+E4KuEWQscMcALLsWn48Ic/HILbtZxx\\\\\\n\",\n       \"xhlj+wJh4FjHoDWGmGqD940HuBcKkEItYjOvrH2QB+Ks3lH71NBShtnlQHLESCwiQPq93hhJBfKK\\\\\\n\",\n       \"rWQxFVYjy2Q+y+S2bleOa7Uq/y2zAe4gLco0ozHzFYiNYX/ENYK6Ji1qktkGrQiodHRZn0lDj6DM\\\\\\n\",\n       \"KomNJMuktdAKAd8a0q0EVelWG1oKEbfFGVha2DJYuhLHSEbENeHVAd9iLYRoNwSGx2YchF2Qyaww\\\\\\n\",\n       \"42DIvsqDfTBZLtVHUJvxMiuy+LMktULGWacztIh2qb2tdRSkVdcEuHOQu8USzT64mhWzVHJwO+dm\\\\\\n\",\n       \"YdlqmQLRBesoSCu0J1tHsQ4ya36+DP3vSqPRGsu6su+ObQcE8mM2wizTPsIkdS8S0l6lyJoGJrKg\\\\\\n\",\n       \"SfPfXcfm4ehQSzscDofjaIVbCB2zwAksx6ZBc7KmZWU51gurvuBt1kw3ruJC4HcV8RHLwxqzFAZJ\\\\\\n\",\n       \"U5l5pSNx5F/Zdf0E2VHONKjbB3k+NutcLP8otl2H4A9cXJRGkgzVOXUKLJAVY7Yx0qn0qaZ6pqZ0\\\\\\n\",\n       \"trpATiADC34weMPATsSeW8m9ZjNkhDWyRjQPyVo2meRAm4DQwiyFY8+YxAmsqvwrbue67x6zGeq2\\\\\\n\",\n       \"vGTX+DmxzIXamW2Fea8X2pvbkklKO/sgk1n9aQosnVFwUGzVY5dL9RX6BfcPfiPwfRyBnqgtFdlW\\\\\\n\",\n       \"aF+2DNpn5/bu96TZaE3Yb1Gf9t3iduZ3cVJtmU55t+3vgMOxOThw4ED4Dyfg+uuvly996Uty/PHH\\\\\\n\",\n       \"y1lnneXV7HA4HA6H44iDE1gOxxGLWQatk7lX+IR90GbxTBBVpXqErYaaf6VFVoicihFZFYHfGpLO\\\\\\n\",\n       \"wd0xMoNthUxmaGlnGide7JMZFVg2C8layUB0MX2g35X2ekEhmKiygEOs9FkQ5o1ng4SJSQ+1ImbZ\\\\\\n\",\n       \"0F7Goe1sK+O8eG4DJaiQkaVg+2AsQs6SV5xtxu1tFUJVQe5qEx1rUzwbtyv2cQZW+ZmXuVeWlOS2\\\\\\n\",\n       \"ZQUW94PBDAqsuTwf/kO1kiYh/8qG9VsDXUJk5RhNpDMZDgaSoG0R1m+JOu7n6P/azvN4N0aze1rV\\\\\\n\",\n       \"on3nRhlYbCOsysOqg5NYjs3FlVdeGTIrAdgDX/jCF8qf/umfenU7HA6H496FWwgdM8AJLIdjU1Fn\\\\\\n\",\n       \"+4lZBnkQW3UshuvpOga+mn81qcrBgBoOKSaulL8ZzUgn0kgHo5kHMZi3Ie3Iw+JcrJK8ihFVdkY6\\\\\\n\",\n       \"OzMdB3tft7ISgq/PmpsbIygsBRBIKJqFUM/95D33yHt275ab19akl+dyVrstLzrpJPnR444b07QM\\\\\\n\",\n       \"CbLBQJp6/1oJqBBkIWklgdwC8QFSo1TwNBea0s/ToX0MVWbJQt2nxJSSGdYiqJdDuPssGVhoV7Sl\\\\\\n\",\n       \"tQnaNoZDzk622GwMRNQ+iPa1KivYR1H0uHI5X1mRXjnjILcpig1v53ZmC6G1AfLfLzu1UkrsTwv7\\\\\\n\",\n       \"IIjLRvn5j3feKR+6+265vpwh7cHz83LpqafKRQsLw7aGYU/7SBN5bqhA9VKi3UFaYRnez05HGot9\\\\\\n\",\n       \"aTUz6ZZ1qN1CD+F2RnRaLGxfj42/7zEimq2GqI1Y3hVrEe01qyyE2OfZWccyNLPS7f0Oh8PhONJs\\\\\\n\",\n       \"hA5HHZzAcjjuNaxHTVV1ft0+vsa4+iOmwIqRW8NlGUgCFsbaBavWVcnU7QY7mbUEVtkGY7MQgsxY\\\\\\n\",\n       \"y3PZ2+3K6XNzY8PwmHkSdkEMxxeyTJ5/8slyTrstC0ki/7Z/v/zmd74jJzYa8qRt24aWMpBfqTJF\\\\\\n\",\n       \"rMCpUuWwQgk2wsBK6IyJRci3JYx4FsJYO1ilDjLGq2BVXCjYFrMYck4T35ves9rqKp+R25nrhvoA\\\\\\n\",\n       \"W0VnKdz+uekndiZBrYxt/aJVdf2eUpLGKXKKLxw8KE/auVMesbgo80kif7Fnj/zct78t//yAB8gZ\\\\\\n\",\n       \"zWboH2jrkLNW3n9SZ5c0bY/3IQ3qxmysHbjYbfYdHO+5soH3HSTUKB8sfpzD4XA4HA6Hw7E14ASW\\\\\\n\",\n       \"w7EhzDpATGZYt6Xq+rF9k+czscHLvG63DT+VTuDkcS28HFsvt+VkJ7ME1iDyyeQVb5vLMvnsnXfK\\\\\\n\",\n       \"+/bskf2DgXQGA5lPUzml2ZQnHX+8PGLbNrnynnvkb3fvltvX1qSVpnL+/Ly86pxz5MKlpTC8b5Sh\\\\\\n\",\n       \"7s9tt+Wf7rpLrjx4UJ6wbdvE9wfypHyeQGqw8qbq2akk/b6kiSqwsigpZYkl1LluU4GRJaEUyMUa\\\\\\n\",\n       \"a/lIDpa1qXH7VhFlw2skA0k0IN08T2U7UzJ9Xq5zHcba1BKWseP182C/L/9v71759N69srffk84g\\\\\\n\",\n       \"lwtabXnnrl3h2Q8kify/SHu/+pxz5LKzzhq2tX6+/Iwz5KP33COfOnBAnnPcccPvAIGlbT1B0Mb6\\\\\\n\",\n       \"O9a5rUXJq2ws18rWuX2nFCMCy6qs7Hs8y3sf+62o+22Z5b8zZz3O4XA4HA6H4zAg9sfvoVzDsaXh\\\\\\n\",\n       \"BJbDsSGkh3jcrDOM1akw0srjkyQdGzyHPeWAm5VAMQUWbGfSowE8EzogeJR5MeoVZCExSRFTXNVZ\\\\\\n\",\n       \"y+7odOT9e/bIJ/bulbXBQO53/vly9oknSrPZlLW1NfnuTTfJG264QY5vteTuTkd+/NRT5bE7d8pq\\\\\\n\",\n       \"vy/XHDwo3TJMfKhvyXO56sABuXFtTR61uDgMdeecJBAbmaqLYCtjpRUrkvrxekmzVFotzcIan4HO\\\\\\n\",\n       \"kkixbay+skHuFlW20Kprc5vi3mAj1AD6ENQPYir2fLF6KK2kMWWVzbey+22f2NPpBJLyk3ffHUjK\\\\\\n\",\n       \"B552ktx/25I0s0ye0Bv9EfKuPXvkT+68Q5536qlySdne11J78xuh/Uato9uyLOyD3ZCJM31GnZVw\\\\\\n\",\n       \"TH2mfZq3ReolU1VbqZKrmxyBiSy8f5qBVQTzV73X6Qbzrziynq85zSrIhlyHw+FwOByOex8+C6Fj\\\\\\n\",\n       \"FjiB5XAc8YipNDgfCyY6xJmPrErWamaVVtb+NCS49F8QDOZZeQN1CgVbD/dpoHdJYMVmHIyRGrZc\\\\\\n\",\n       \"t7wsr7vxRuk1GvI9l1wiF110kezYsWOiRm6++Wb55Cc+IXd985vy6XvukSccf7yc1GrJ2fPz4UcN\\\\\\n\",\n       \"ip6f+sY3pKvB3Ukiv7Zrl1y8bdvYzHRMtIUMLbUEcmg9SBs8c9WMhKrMyQYThNEsBf9RpNWI84FZ\\\\\\n\",\n       \"FFixWQZt4bZmAlNDzSfsoHbGQTy72a52UVt/NstsWvtfu7wsr7/hBhmkqTzugefJ9553luxcmB8+\\\\\\n\",\n       \"7/d+82aR5dWwfE07C/qgz1B7nzs/P7QHgpBU/I/bbpMTm035nqWlse9L6d5SrXA8F+VcTfRrUp3p\\\\\\n\",\n       \"O5EkGuJeYb017xhnlrESSy9ZAO8tZ9lZctvD2x0Oh8PhcDgcDoUTWA7HEYuqYPdplqFJ2yCrQbjE\\\\\\n\",\n       \"rGVhn1IFSm4gaZyL3YbB/mAQwtDtLIDIM+L1QaRcv7Iiv3X99XL8ySfL837yJ2VxcbGyZnbt2iXP\\\\\\n\",\n       \"/fEfl3e+851ywy23yK9cfbX851NOkccfd5zsbDTC9dRi9pb73z+EjH/5wAH5w1tukbNaLblkaWns\\\\\\n\",\n       \"PsaykZQx4ufEs/Izs9WOtqnSq4ootO1h61sBOyHU0wh7t7CKK9vese8bzYJn9vXpeWuebaI+yhu1\\\\\\n\",\n       \"5FQ+pY1ZnfftlRV57be/Lafs3C4//f2PlqW59thztro9Oa4kr/bPNeU/Puwiue4jn5Jv333PsL2f\\\\\\n\",\n       \"cNxxsqPRCG8Avvcvdu+Wj+zdK28777zQB2z/U4Rt/HzUhyv7ebmuV7SWQWsNjb2D4xlY9r099Hfd\\\\\\n\",\n       \"4XA4HA6HY0vAZyF0bKL/yeFwrAsbHWjWZePU5eTQGZSzVJXHU1WGBFZsQA+Sh/OCSvJK91nygmeV\\\\\\n\",\n       \"i2VPaTnQ78vv3Hij7DjhBPmpF76wlrwC0jSVn/u5n5NnPvOZ0hGRv7n9dvnVa66RWzudQpGTJHJq\\\\\\n\",\n       \"uy3nzc/Lj510kjxhxw559+7dE/czNvMdnoOZJFsPdp/WQ56HOlPlWpqOiKyq/KlYRlIVoVjbTlPI\\\\\\n\",\n       \"Es5kGg8UL+4zBLjbtrUkHj0j9qGe6uqyirzUttnX68nrbrhBTty+JP/l8Y+ZIK8UJ+9bHvbw27cv\\\\\\n\",\n       \"Bvvdf3vKY+XHvufCEPD/17ffLv+tbG9c/6/27JH/tXu3vOHcc0M+lr0H/gx9tY7E0meNELihnSvI\\\\\\n\",\n       \"Qm7bqu31mJaHtRlqLCfBHA6Hw+FwHHlIBptTHFsbTmA5HIf9FTscr1ldgHP198Wsg5ZsCYNsDN4V\\\\\\n\",\n       \"Vo3CA30orzS8ncgrnk2OSasxsogIjY/dfXeYcfC5z3uetNuTZEb18yTyiEc8Qp7xzGfKit5Pkshn\\\\\\n\",\n       \"77ln4jtBcHTKvCRWDVmybfjsFYHtE/uoTgLxVxKE1l6mwDbbJnWzDk7LpARBxWB1lr2XIekVSEqj\\\\\\n\",\n       \"MrPPzG3P+yJEZZWF0Krd9POjd98dSKyf/v7vkXbTCIHzXI4/sCJn3XnPcJMSWGjvi889U57z6IeF\\\\\\n\",\n       \"9k6ovTXc/S9vv11+59xz5YELC7V9b7iOtq5T2IG8U4CsNO9RzKJZT1ZVqasOl12w/nfB4XA4HA6H\\\\\\n\",\n       \"w+E4GuAWQofjqAYPhBHgHidErGonBs33UWIDRMyEOmcU3jNhLbMEQYw0iG7Lc/ngXXfJAx/4QNm5\\\\\\n\",\n       \"c+fMT/7d735Xrr/+ejn//PPljDPOkLlWS/Z3OnJauy1/t3u33H9+Xs5stQJJcdX+/fLBu+8OOVgy\\\\\\n\",\n       \"TTGkBMU0Wx2XcMFSzWRUVbb+izqeJA9H9T++jmrn9oudF1Nc8Xfi2sPvDyq7IuB+TFUXU91Fnh3q\\\\\\n\",\n       \"q6o6DPdeYd3TcPUP3XWXXHjGqbJjYW6sjk7Ze0AefMsdMt8d9TM9Z67bk6/cebdcd/udcsGpJ8q5\\\\\\n\",\n       \"Jx4n7UYWSDBt77/fvVv+6vbb5WVnnSWntFpyR7crLRHZlqayI8tq++AEOVm257Bt+R0YvmUhMa22\\\\\\n\",\n       \"f1b1AyW4iiq3asrDSTD5DIMOh8PhcDiOcLiF0DEDnMByOLYMRqNla1eazb5EJAcHMSl43QY1lfvt\\\\\\n\",\n       \"vzlWacXbmET42sGDcsvqqvyHiy9e19OqUuvGG2+Uz3zmM2F2wlarFcLaL1hcDGHwb7/5ZrlTiYw0\\\\\\n\",\n       \"lbPabXn5WWfJ03buHLtHvqfhMlvHWPbEz8zPbqx3STJiD2ME0lg9E9EE8oq/ks9hAsza1Oz2uu8s\\\\\\n\",\n       \"Vsx9x9o59pwlmQO1na0/rtOqOv7agQNy+9qaPOd+50yQV4+68XaJQbffc/J2+dAdd8knv3m9rHV7\\\\\\n\",\n       \"0mpk0kgG8qClJXnXzTcHYkxtqIyfO/lk+YVTT53oh1X3PfHcto5Kqyi3Rx2mWwfdzudwOBwOh8MR\\\\\\n\",\n       \"/irS/wuucBzMio2e7zjy4QSWw3HUY7p6Y5bB9lC5ZS2EAKmNhsuEmAoH2+0xfNyX9++X7UtLcvbZ\\\\\\n\",\n       \"Z8t6cNJJJ8nzn//84fqdd94p/+N//A/55vKy/Pipp8pPnnpqmN+tXf7QxX7sovdmyQs8cwxVZE9E\\\\\\n\",\n       \"TVUFJqJstU4jHmfPVoocGyPh6kB1AgKLz4hFDvAxaO8v7d8vx83PyTknHjd2bVVehWeu0A59390H\\\\\\n\",\n       \"ZfVx3zN8gNvu2S+/98FPBrLyLQ96UGhfVV1pmzdVtVV+4j74nphAnXjuGLEHwE5Yo7SrIh7XZyd0\\\\\\n\",\n       \"OBwOh8PhcDgcFk5gORzHEDjUfcMwwd52sD+rClgD3JeWlkKe0Uag11DcsLIiO7Ms0AJZSWqc027L\\\\\\n\",\n       \"tiyT2zsdOdDrhR++Zrnv1EZDzmm1ZHkwkH9fXZW00ZCGZj2lqaS9njxyfj4839dvv11W77pLRAPm\\\\\\n\",\n       \"77wzfJ5/v/vJzu3b5bbdu+XmvXsln5uXg2uZrK0lMjd3nBx33HnS7Xbk2mu/Kp2OyOqqhE8tJ530\\\\\\n\",\n       \"yEBe7NlzjSwvH+A8fFlcPFva7RNlZeUO2bdvXFU0P79NTjzxAsnzgdx66xeDJQ2l1RI577yHSbvd\\\\\\n\",\n       \"kj17viW33bY3bNOi1XPeebvkrLNOlb1798o3v3GtJKsrxU3t3y9zvZ485JRTwnd88cYbZXDggMjK\\\\\\n\",\n       \"isg994T9D2o2ZUFEblpbk1uXl2XQ74fwfC068+MJrZYc7Pflm2trIQOrWxbtbGdrHYrIjaurcuva\\\\\\n\",\n       \"mmybb4+19/EHV8dsgxZ6pO7X4+5aKq61vQx+1/4zCyoVV3ZigiPpHXM4HA6Hw+E4VhD7z8NDuYZj\\\\\\n\",\n       \"S8MJLIfjsCAn7cj0vJyNf1f9lBus7JlFbBOFlZLYKdcOEf1cZ3XbeP3gGsv9fshGQny+ElX9Mhhe\\\\\\n\",\n       \"g7/vLgkskFtL5XlqQduj5+V5sCLK2po0lRUqn++u5WU5oMwE7IWdjpzZDRSNHFxelt179kjenpPl\\\\\\n\",\n       \"TkFg7diRynHH6aED2bt3dyCt1tYK8kqJqpNOKu57ZWWvHDx411gm/NxcQST1eiuyvLzbPOeIZDl4\\\\\\n\",\n       \"cHcgrpCppUSVElvavsvL+2RlZXfY1mwW333qqceVt74mu3fvlmRttdhx8KAE+q8ksO44cEB6ILDK\\\\\\n\",\n       \"cn/9IhHZ3+/Lnm43PJeSV1oDatM8oQxMv6vXCwQWChNVSh6uDgaSJuP/9LS7euR08HE6K6GUGWqz\\\\\\n\",\n       \"ItpLY35M3r5OWD43IlY0sJrFwwE7tYLD4XA4HA7HkQW3EDpmgRNYDsemEFWHun8zkVf+B0aFy23y\\\\\\n\",\n       \"CvmUEC3eXrE8Hik/jti+pSyTFSVJNghc4wGLi/LI7dvHSCr80J0zNycPmJsLpBZsZrpfsT3L5Gnb\\\\\\n\",\n       \"t0umCqy5OZHjjxfZtm1IbDzu3HMLGZNuU2ZKP0vV1/nnnCPnP+Qhki8syL7lhhw8mATeZ3lZs7rm\\\\\\n\",\n       \"5OKLfzAInZQTUr5IeS888llnPSaQVyC2OE9827YzQ2GUPJIkSSr3u98PBoJKtylJpbetn9qOZ5/9\\\\\\n\",\n       \"yHB7uk3L9u0iCwvFvpNPPkXud87TJdEbPHiwUFnt21csi8h/eMhDguoq3PDevSKqPNN9a2vykIUF\\\\\\n\",\n       \"eUCaSl/JKBFZK0msTlmHj9u+PayvlduGRJaIPGRpSc685x75YkfPHGHNzkRYAT5uuVOQh4tmxoKq\\\\\\n\",\n       \"t81GgJWVOBkixrA+QSxPcZay27b+nbs3yaRp3+XElsPhcDgcDofjyIbPq+1wbAj3hnpi1u8vTFKx\\\\\\n\",\n       \"+KpZMDxPB9w8laGdvpD3gQBIkmGSD5dwOqX82KLbz5uflzvvvlv27NmzoZq45pprJE0SOae0q0nF\\\\\\n\",\n       \"/dSRGuE+8Xw8tV8d4BcLdTFOpightRGgTeDWxLa646sw0Sf0Xll5VBfoxPWRZaGObHJTVf3acv7C\\\\\\n\",\n       \"gty+/6Ds2V+QZYq7FudkpVnMFhh9LiUom1k4Dvj6zbcHpdzZc3PDtsM9cX/D9tj9DFuWn9/6/7gP\\\\\\n\",\n       \"6IyG5b5DbVs9r2gnO33AVKnWYcR9/f0Oh8PhcDiOeeSbVBxbGk5gORxHJKb9Alf9SlcPRNnWBKsa\\\\\\n\",\n       \"PkfxPzrHWlEmyZmCvJgY6JcEhyUOeN2SC1weu2OHbGs25corrzz02spzufJzn5NHbd8uJzabtfcR\\\\\\n\",\n       \"IzHGSDYiaoZF1+HV430gNuoIoIl7ra5/qHWYbKrKEefr8LWY7JoKViDZ58K6rY80HdoCJ+puhjq/\\\\\\n\",\n       \"ZMeOoJr6zLco2ytJ5N9PP7F4Xltf5WfYX36vtvenr7tRHr19uxzfbAalXR15ZZf5ONuPh/WCZzf7\\\\\\n\",\n       \"+P0AuYh6R1GgXWYnvmf5y8v/MnM4HA6Hw7G1LYQbLY6tDSewHI6ZsNGB4+AQlFvjyqr4cs3ZJl+9\\\\\\n\",\n       \"asI8uzwY6ACdyA0M4lmRxIRWuR4jL6pIDbYSNtNUnrJzp3z5S1+SjvroDgE33XST7L7jDvkPxx8/\\\\\\n\",\n       \"QapUEWeYcHGiWMURK5QsqUPbcy2STNQ3r8cmuJu2PHStzXBOXbtP3IcSMQk9BxdLZJl9SvLF6g5E\\\\\\n\",\n       \"Ul0bzKepPOm44+Tz139HOr0RU3f7ziX5wtmnyGpzXMWm67pd9wPX7b5Tdh84KE894YQJW2pdH5TI\\\\\\n\",\n       \"9iE5xYRVrP3L5UARD8bJSlv/dW1Rj9j8nbO/83ECeyPKKifMHA6Hw+FwOBxHDpzAcjhmRr6B46p0\\\\\\n\",\n       \"Jev5bgxOp5+LQTOX9al7Ija6GLmhn42GJCWpUWclZJKD7Vv6qUSEZir94z/8Q1DXrDf76p/+4R/k\\\\\\n\",\n       \"jPl5eZjOZlihuKlS5VgyY0hqWBWSVaPZOklSGeRJqDurrrIKq1j9c5spbLtV7ePzLalllV74DPeo\\\\\\n\",\n       \"bRxrX1YdVewD0TdNbVdV70874YRAXv3dVV8da28lqT72oLPlM+efLl886+TwqetMXh1c68jfXflV\\\\\\n\",\n       \"OWt+Th66uBi1CDI5WWkd1PuPKe1svzcqNG7fqvq3KjnbfuUZFcti3vVD+a2oW6/aNsu1HA6Hw+Fw\\\\\\n\",\n       \"OA4Tqv7Hfb3FsaXhBJbDcURkYlUNVKusRhgJ62efSnFszLpkCQ27rNk8uh4+QW5Yy1xJWIXkcF7X\\\\\\n\",\n       \"5PBWS9IsG6qbuCBQHQSG3X5aqyX/7Ywz5Otf/7r80z/9U5jhbhYcPHhQ3vPnfy6r+/bJS886SxpJ\\\\\\n\",\n       \"MrwuK624WKKF9wVCQ5+Hp/bjerD76JhBUhAbPJugrWsOaY/tr9s267G2PWuPZ/WRbePYc9I+rStb\\\\\\n\",\n       \"r0xcxeo9Ldvm9HZbfvHMM+WqG2+W933hazIYUB/XGR+X5uXW47aFT7Zm7l9dk7d/4rOyttaRS886\\\\\\n\",\n       \"e9je3JeYILXbx+4F0zZq37VTOcbaH+2cp1Hb4KxWzvGujfd2YN7pWa3BG/m98cwrh8PhcDgcRw7c\\\\\\n\",\n       \"QuiYBT4LoeMYxnDKvXXu28j36aAxi2xLaRnr0xAbgCLIfRBsTlp4kG2JDTsAx768kRYDex288wAf\\\\\\n\",\n       \"xAa2o4DQStMxYqhvyAsQCpz2g6f4/p07ZWUwkLd98Yty5x13yPc/7nFy/vnnD/OWGN1uV7761a/K\\\\\\n\",\n       \"//vEJ2SwsiIvP+ccOaPdHn4Hf5+1DTKJYfcn/Ez2+XidiY1yPZdJYsPWNRMcdsbBkTpqPEcJJAgE\\\\\\n\",\n       \"UbpPP/m62KfX1NuJEZWx7wutRc8w9kxVz16WpNuVtN+fqOvM9Grej7dKl39A27vfl3d86ya5fd9B\\\\\\n\",\n       \"edKDzpf7n3JiCOK3WOv15Is33iIf+fdvyqDXk1ece+5Ye1uiiglTe29DxRae1T6fJSrR/8s+H4jK\\\\\\n\",\n       \"Gd6jWJsrUVcozuoI62ng3wlez++FCSbqFGFOiDkcDofD4XA4Di+cwHIcwzgcJNW070vWMTi0GTg2\\\\\\n\",\n       \"B8ceO14KAmvcvmQzeWKqnPDZKJU5GMgzgVWl1ClVOVbdxGoYS2qwlVD3P+X44+WEZlP+7Lbb5D3v\\\\\\n\",\n       \"eY8cv3OnPPKii+SEE06QZrMpq6ur8t3vfle+/MUvylqnI4/Yvl1++vzzg4KLvwtKnyoVkCU1sDzx\\\\\\n\",\n       \"zLFnJ+sk14VmSlk1Tqyu7baqjKrQqrQM0grbq86PfZ+1seE+G5nJf6p6xoq6YKKSl7nN0SOZwEIb\\\\\\n\",\n       \"PP2EE+SkVkv+/NZb5e2f/JycuLggF593lpy0bUGaWSar3Z7ccOfdcuX135G1Xj+E9P/M2efIyar2\\\\\\n\",\n       \"iyi/YmQlq/4mwvrrno/bl9bzkhSuU8RZ2+e4hdDaA6ve+bp3P/Z7UfWbcm/CZfsOh8PhcDg28GfE\\\\\\n\",\n       \"Rv+U8D9FtjycwHI4jkjYQSsUFxj4st2IlRYjZYa1NFVZB7vdQjGiRZeRkZSnJSmFwTuUKKxW4X1K\\\\\\n\",\n       \"KnQ6QTHVy/MhYWWVMNjOw3jEcunyI7dtk4cvLcnVy8vygTvvlE987GPSI9+Vzlj4tJ075T+ccEIg\\\\\\n\",\n       \"MtiuBuIqRl5ZwortZuEasNPxM/EzW4KDlDl5oyGDQRbqD/UZV+DEc6li+0N9mMwyiJN4GyuwZv0+\\\\\\n\",\n       \"3GezkUme5ePWSUvi2HYu17VfqFoqyVV7Nl6naFNLYIVnoF6uj3lR2d7XLC/LB++8Uz70tWtC/wG2\\\\\\n\",\n       \"Nxry9ONPCOTmKSVxFbMoVrV31NKq983qMn72iufNQWD1C2LYvjdoR7RZVfuPv9P2/UatxN55+7uw\\\\\\n\",\n       \"WfC/9BwOh8PhcNz32IxZBH0Wwq0PJ7Acjk0BBpYcHV11nLUMVtkFp4W2W4ILlEEx6B0MJi1tGERb\\\\\\n\",\n       \"wortbjoRYKuVSp4lkiAPCAP5dhsHjAqv6/5uVxpra8Nkn6YZmuNHxwZsg2wISV5JEgK6H7y4KP08\\\\\\n\",\n       \"l4P9frAXLmRZmMVOyaaq2e+alIEFO1mzXMY+fA6XlQHS+5+fF5mbG7fP6TPh2UF40GeupQxw5/pF\\\\\\n\",\n       \"3YIsqrJxWsshlq0CK9QVdS3drk0DSyHb17AOskr5KLQtXHPhXpWoTNKinfX59GR+xsByNUf71taK\\\\\\n\",\n       \"da0jvfjamjT0oiXhBHso2po1hwMT9o5tod2SRB6yuBiKklcH+n1ZK9t7UW2p5YOzqi9GWnK7prQN\\\\\\n\",\n       \"7Y99Y/2X+65dZzJL2zltSG+QhHq0VkEmtGLEIbaPE1N4S6bNMjjLBA6WyJ5FneXklcPhcDgcDofj\\\\\\n\",\n       \"6IETWA7HEQGbChUjtXh/XeBzcazm7SADyyqwmCyxSpJiOZFeXxU6ZWC7VSNVDfxLwiPrdCTL86EC\\\\\\n\",\n       \"KzNklh2uKyFBoqIxq5mSVXofO2i/nfkupq6qshGCxMC+8KmMDz+LfvJz8bNbYqPZlH4/CXUGsooL\\\\\\n\",\n       \"6nm8fsdJLWtBY+sZoOtQWoU6SMbP0XWQVZg0T79H1/m7x+8tCeRdalVIJRE5RuTpOuqlfAglvrLy\\\\\\n\",\n       \"AUFOopeCTo0Rl3gs0DcJ9/wkkeP0Hkxb2xkGY7lXvN6sUuBpRTE5GSOvrNqwJHJ7ZTvbtmQiy4b4\\\\\\n\",\n       \"s62wCKuvmhUwpqqsO7YuS8vhcDgcDofjKIP+ncQT+xzqNRxbGk5gORz3CWKzjOGzbuBqS+ycYoDL\\\\\\n\",\n       \"eUhVM9VZ9c8YkaUEVlZhH7QqHVJfKamRrKxIY6D3kAeSgpU5vRq9CRQ7IDXqhvE28wiElSWyxoiq\\\\\\n\",\n       \"CNml9rmxGekskVFnMSttZarKiZEYXMc2RD2mwOKsKrYJTjx7MiKtrALLkpR6u1X3ENo7S0LeVNQ6\\\\\\n\",\n       \"abcxUVmqtdK1NRmoZXQwmMjDakToGcyVaRV4TGTF2jrW3lXkFSvvuP0DWQeyMtbOsXYfTmKgBFY1\\\\\\n\",\n       \"cVVl12VbYUFIxiyBsfVZfgeq3iKHw+FwOByOowyegeWYAU5gORz3ueUQQ/fYfrvMsEqN8eShYvCc\\\\\\n\",\n       \"jylG1PqkhRVBnInEqiH9nJ9vSq4zzumgXm1jq6ujnTzQt/s6HUlXV6XZ601oxJpGPZUbZQ0brOoI\\\\\\n\",\n       \"LBvezcSUtZDFLGZDqxmIC30GLUrE4RPPqNZC+7ztdqgbabakdzAZq1/Uo123ljKrjLLkR20PKoPC\\\\\\n\",\n       \"lcTST0wkyLMQsiJL74OPwT01Gonk7eLZEqirlpdHhI4+u7YtSEp9dvjhdFnbWuuy0xkzxLG6jtsZ\\\\\\n\",\n       \"bQaii8/50okH5JqdK/Kj1500E4Gl7fm/7rdHHrJ3Xr73jqVxsspYCLUEohLtzG3NuW52n1oHy33d\\\\\\n\",\n       \"lUkVG79DILS4zUe2Qn0nWUUJKs/mXcXe87rfApun5QSWw+FwOBwOh2Nrwgksh+OQwTqSqv0YfGaH\\\\\\n\",\n       \"eP1Y0LMdBKcV+wbS76fS7Y7UQSBICuJiRLBAVGNJl8FiQ9KGUVyBCUEOkkK/QEkOfIGSGv1+CPhu\\\\\\n\",\n       \"9PtjQ+qciIskosrhJ2EOh4f2MFjGZphjAkuXW4bMwHqwmEF5tbAgsrhYkDXIwcIy1nlbqdTJG03p\\\\\\n\",\n       \"dBNZXSsen+suRmLYfVaxw+0Eggo2QiWqYBvUYyCa4vNBWOF4bSZ8L0gr3Y970OXiuERaDSUqS/ZF\\\\\\n\",\n       \"n5FDvPTZIQ1bWRm1e/mA2s5Zvy/NcjsnwaFd0O4DQ1yhF3/xxAPyikuul9VGLnmay09ce/JYWyvs\\\\\\n\",\n       \"TJN/ccFu+R8PvU3meon88b+dK5fcsTSmvkIJxFaWFcHt+izc1lp0XYvNP6PPQdqIkpJVRCW3adHW\\\\\\n\",\n       \"lqzid5g/bYj7enKtqn5HmCybdqzD4XA4HA7HvY/w9+MG/xS5t+aWd9x3cALL4dgwecVak1hQO/Qn\\\\\\n\",\n       \"lvCatP2Nm6hitqLYzGRiqIDe0LSnFj62EXIeky02n6nTSaSjMUhZQxp2QA/FEi4IYgCER7stSemZ\\\\\\n\",\n       \"AoHFw3CuLSFiQ2iobXVp/LSciRSzEcYyr6yNMORe6X2y2opVRrGgb1ZhNZuSZ82J7KuqerWqN6vC\\\\\\n\",\n       \"iuVhxQgsZGBhm54LKCEFIgu2QoS623tSwqVwQCrBmUsz02fqj56RQ91jy3rxsh8kahdVC+Hqqgx0\\\\\\n\",\n       \"OdKGTFyxbRDbr925EsgrxTseeltoo+dfe/KY1ZDb+X+W5JVCz/vGzhX5AUNgsRJLyavQ1mhbtDsH\\\\\\n\",\n       \"9HO7U5/vB/KqCG+PZ8ZN2grxObIPskoSxb7HMZKL3xr7mzCLOsv+nlR9Z+xNczgcDofD4biXwH/4\\\\\\n\",\n       \"buQaji0NJ7Acjg3DElhSQVjFCKqq/BsbbQ2dkT3GnseqjoIqsDlXVYNua2fDYD1rNMJMe8FepgN6\\\\\\n\",\n       \"SHp0sA/WBqQP/FMlmRWUOZ1OIDe4FmxtMbGBHCUEwFfpRpjQYAtiLNh7ouhMhsreWDsZCogMG+ZO\\\\\\n\",\n       \"29RWNsga0h13TlbWra1nnq2QiQ/OLIsBCismtgCorHAcQtxBYEF5x6osXS+asCGplDZCzDbJ+Wa4\\\\\\n\",\n       \"SVUs4WZRV9rWSmCpZbS0F9o3AMuszmJt0AuvO0kGaS7/v5KU+uOSxHpBSWIxYcnkleLXvnaq/Nfr\\\\\\n\",\n       \"Thq2/cRsk1oBVe3MQe52v7ZzqyWDZKS+qiMrY6TlKPuKyStr/bXkUt222DFV69aSOI3kcjgcDofD\\\\\\n\",\n       \"4XA4jlzEpjpzOByViGXUrAdVA8iqYydtgfWFB8f9oIaxA2q2PNmiNjh1iK2tFcfpck8akmNwz5Yr\\\\\\n\",\n       \"LFv7nS4vLQ1tWcniojSyLJAJ7dLC164pun9uyjFtOqZZLuO8VsW1YB/UkilzY+5zWPR59DmwT9f5\\\\\\n\",\n       \"2UsipCtNWeskE3Wm67ps7YSxfCybowRiaZbC7Rm7Zuwc3a73pveIe9V7X11NZG0tCW09YZfUZbSx\\\\\\n\",\n       \"1gm3OZeyvlSth3pGm1e1Cz5x3H+99mT5pa+dOnwDlMx6zwW7x9r9zy/YLX9I5NXLvnaq/PK1J0/0\\\\\\n\",\n       \"IXxq34vd57CdY3bC8rlzLe12qBetJ64/tozG6tmSWfoujusL2TIYW4/Zgut+K6b9ztzbv3UOh8Ph\\\\\\n\",\n       \"cDgcs0Ptg5tR1ou3vOUtcs4558jc3Jw85jGPkc997nOVx7797W+Xxz3ucXLccceF8pSnPKX2eMfm\\\\\\n\",\n       \"wxVYjmMcbPeL7TsUR7VVXsUQ+04mqTj62qopqsirHtkWi215rjlYg2B/0gL1DZQ4GJBDiaODb13H\\\\\\n\",\n       \"5GuFgyqRRFKZB5EBiZAus2RITwb0S3S7Kl/yvFBIdTqSrK2NZSEhu8qaqqqMkoxpFkIsD/OuSjIj\\\\\\n\",\n       \"mZ8vVEYgqZi40GcCscHqLCI8AqnRbEl3LQvEDxMZWLaEktYpCK4Y2cRkFM9ACCuhQqtSi7UY4hPH\\\\\\n\",\n       \"DOsnKb4T1kMorvQY5XT0Xnm51UokaTckayfBagcL6PDG8GVaN/qJKRAxDaJeSJVYur3RkObqariG\\\\\\n\",\n       \"PgpcjtpDB2WbYBnraOtfuPbksP4HJUn1Rw+9Laz/l2tPlndcsFveROTVr5fkFauuuN1TtYhqJ962\\\\\\n\",\n       \"bURMgXxjAgvtzmRlubzWTYftjAKCsqptxzPPivB2fRfj72ws94rf9ZjCsurtiKmuYljvX3fWhmhx\\\\\\n\",\n       \"qPlcDofD4XA4HPRnxkb/nFjn+X/1V38ll156qbztbW8L5NWb3vQmedrTnibXXHONnHxykcfK+PjH\\\\\\n\",\n       \"Py7Pe97z5JJLLgmE1+tf/3p56lOfKl//+tdl165d3pT3ApzAcjhqf+lmIaMO5Xg7IKxSZdnBayy7\\\\\\n\",\n       \"xio0xpVYBYmVjWUssaWQlSIxCyFmqmu1mpKqlZBnIYS1DMHfijLEfUhylF45JTZStRTq8mAwFtDO\\\\\\n\",\n       \"BJQdnseG4xwQzrMQsoUQ2wJ5lSQh80oJjXCf+ARZwZ82A8vmYWkmUp5Jt5dEVVZVAe7Wcmbr37YN\\\\\\n\",\n       \"SClyXw6rdKynlDMRlrxRuBayskBUIrgdIe5a7KyERai7tnNWZJ5x3pnWCYgsWEX1i/FgmAqxJDET\\\\\\n\",\n       \"vai2tTI7xLAh94pnoGTNIB71/1OSUr9XklVKZr3zgj2yT0PmS1z2tVPlv5XH2ayzVNu60SiIShCv\\\\\\n\",\n       \"rLLiErMSwjqYNaXbGWWcsbqqykrI+WZo44K84neTiahZ3+/Yb0Vs+6x/uR0qibUZ13I4HA6Hw+G4\\\\\\n\",\n       \"7/H7v//78uIXv1h++qd/OqwrkfXP//zP8q53vUsuu+yyiePf8573jK2/4x3vkL/7u7+Tj3zkI/KC\\\\\\n\",\n       \"F7zgXrvvYxlOYDkc9xkwiM3os+q4qhKje1jPVKiyBoNsYtANBRbPSKdjd2yDskTH9I1GKv25piRN\\\\\\n\",\n       \"zcIqGZbgLyzyjoajd7ArusySID1G1U9qJTxwoJg7UdU6UxRY9ukBzkSysxCCuGJiQ8mMFLZBq7IB\\\\\\n\",\n       \"uVFFchCppXayvNUOsw6yTRAltq0qKylGfkDwxCosAEQWMrCwDUSXfmJWQRBY+B4IpLQKsA9KO13W\\\\\\n\",\n       \"7bquyw0luErCSonGITkJBRZkYrgBKLConUNbg1TsdiXVmQqpjdFGbJ6zPfuXSnLq9SWJxeTVyw15\\\\\\n\",\n       \"NdbWmm8G2yDa2SqurNqO27kktfJmW/ppa8wWCqUVt7clsqyqrmgfvIvc06ve4apSBavWcjgcDofD\\\\\\n\",\n       \"4Tj6oNm5WjZ6DcW+ffvGtrfb7VAYnU5HrrrqKrn88suH2/TvSLUFfvrTn57p+5aXl6Xb7crxxx+/\\\\\\n\",\n       \"oft2zA4nsByOQ8asFkMMMKEvys2r1x/OGjga3mO4D80K6ACbmdMz+7A+PjDWwTYsaDHlDVsIlZcC\\\\\\n\",\n       \"CVKQVyWx0RBZXFiQtFlugGWwtAkOGRRMf6fLegFdx8VKlUu6uirp2po0VlfHTFR1FkJb26glayUc\\\\\\n\",\n       \"Ehmq+NJ7YHUNyAuobtRaBvJCl7WA9NBlkBxlblK/0ZZuvyEHDyI7qviMFZBZNhOLSQ8OfWflFUgs\\\\\\n\",\n       \"+284XHsc0M6WQm4KG/jOFkQ0G3gntO+wGdUC2Jovws9BXPEFuG11Pzynuo52LjtV0ukEJVaYobDf\\\\\\n\",\n       \"l0GeD6mcGG3DbX7ptSfL2y7YI/cQebWjk8nLrj152NZsHR1T0LENVNuc2xY5WDbrjDKyBo2WrCzH\\\\\\n\",\n       \"25mtolVZZ1wmezTeXfsuxyhc+85bJRd+QxgxgqwO61VvORwjvO/ar8r2bUdnpOrTTn/EfX0LDofD\\\\\\n\",\n       \"4QBm+ZNlGsrzzzzzzLHNr3rVq+TVr3712LY77rhD+v2+nHLKKWPbdf3qq6+e6et+/dd/XU4//fRA\\\\\\n\",\n       \"ejnuHTiB5XCsGzajigkj/iMeg0GeeZD3sd2wap2va6kdbIspOnqUCNSXPO9Lv59Kt5uGAbVyDMpB\\\\\\n\",\n       \"gLSCzQyOMexDPlZBcGiGVip5kklTD9LBP2RCYGEAXaZcpOLXZkRyJLpc2vEyVej0+2GmwkwJDmMt\\\\\\n\",\n       \"s7WJGhUzC+FwOcsCcaWfCe4TD8ZKHLaWWZuZUebk8/MFeZVnIbgdQd4gqlBiBJVVtMXsaBCysfqq\\\\\\n\",\n       \"isACh8TcEogncIUA1sE3gl+E6orJSS3FOcXzSUs7QVsa86WsKDRCaRsEwwnWDRcGiQkpmN4z7Ija\\\\\\n\",\n       \"LpqDpsqufl8aZVvb9Cdu6z+4YPcYeaXQ9TdfsFt+XUksbWPtT/qp38GzR4KoxLISU0xoVVkKWy3p\\\\\\n\",\n       \"5g3prKVjhBW3ry2svuO21fy5wj5oVZFM29mZCasy7upshvY3w/7W2GOBGEW8GQEUDofD4XA4HPcd\\\\\\n\",\n       \"vvOd78j27duH61Z9tRl43eteJ+9973tDLpbmYTnuHTiB5XBsWrYVk1BMXk07vmo5pkupOgaDZCa6\\\\\\n\",\n       \"xtf7/WQii4ntTzZgXPkAEC8jciuRtJVKFqyE7SLoO0ZgIRcJJEf4tSlZElbsKKlRsjq5ZmMhhj7P\\\\\\n\",\n       \"Q16WfuJpGajVkKtVEiVBcZUkBTnG+U0gsPQfrlhQN2dgWetgOROdtOekLw3p9tIJwiJmGYSyys40\\\\\\n\",\n       \"aK1mrLwCiYWiwd8xaE4VyCo9Th8XpBXIKVZggVuC4q5KiTciKmEnzCTV/W2th04hyYZdFKQkbhxM\\\\\\n\",\n       \"GQK5OE0e7a5to0ST2gnL/qFqLC2KgWnv37tgt7yGAtt3djLZW5JZr3zobZKliVx+w5mj9rbZZUxg\\\\\\n\",\n       \"2ZkkK6yiwSLabEmvn44RldY6WDWTpM07K9qQ38eqmQersq6mWQot2VT335bTzq07z+FwOBwOh+Po\\\\\\n\",\n       \"sRAqecUEVgwnnnhiiJ24/fbbx7br+qmnjmbFjuH3fu/3AoH1L//yL3LhhRdu6J4d64MTWA7HppBX\\\\\\n\",\n       \"9nhZR5g71FQ82I2dywNfWAxtkhD0SLyuxFIvEFi63ilDqTnMG4IZcAG6jEwsECDghNK0IQ0N+l5Y\\\\\\n\",\n       \"kBxqKhvCBGYFMh/9xBRumB4PDEoZvBWsZgh/R2B4SX6FoTb9gxZIKzAxfINg2jiEHEHduk6zy4Vi\\\\\\n\",\n       \"VTlYLy2Egbyam5NBe15W9o9UV2oh5FnplpdHRIfuB8GF/bHZB+MKrJzyr2IEQzImeFIyC4QXmiH0\\\\\\n\",\n       \"FBK9WUKLj0dTQXEHgGcczGXS2DYnaa9XtDUugM6CC6OduRPhomBBtS3Khw4ElrZ3rxcKy85Uife6\\\\\\n\",\n       \"+98eSCrgiq+fKpdde4q87gF75PIH3xK2vfzBt0o6Py+X3X7BqK05iN22Lbc77IKwilJb97O2rK2N\\\\\\n\",\n       \"k1fc1ihWmTVJbOnsg1BDcv6VVWTFCC3eXvWbweqp9eRfHcofhk5iORwOh8PhOMzYDBH4Os5vtVpy\\\\\\n\",\n       \"0UUXhQD2Zz3rWWHbYDAI6y95yUsqz/vd3/1d+e3f/m354Ac/KI9+9KM3eMOO9cIJLIcjgMmfwwHO\\\\\\n\",\n       \"t0JsOebNExPizhZFVlExMTXUKpkBLfb1KCGoO7QT5rmSV40w8Ab3oGN9KHjA+wx/IMpfCFjWwF/o\\\\\\n\",\n       \"uUuah5VkRWA2VFYgLtiPCH8iyAUkhiMgikf9ILDsdHxqO7NVCsIEbA6UPiAzLIEFYgOKLOQfYb/N\\\\\\n\",\n       \"SVpcLKyDWVtWDhakFUgLLVjnzCvOR2Kboc1HimVgFfUKyxn6TAwFiTUYpGF2SSixeLZCtC1NAhnA\\\\\\n\",\n       \"x1reUYHjdB+qXy2F83OLkjUbw9kFh3XLTCcysUBKoo5RGVqv9exduPbrT/+2/Mb5I/Lqd751rlx2\\\\\\n\",\n       \"57kiJyZy2d5TRG5aksvPujbsu/zcb4ssbZPL9j+8+F62EPIsgza8H1loIDQ186o1J4NGWw4cLAhJ\\\\\\n\",\n       \"EJVo5wMHisJ9IEZqFWotJSLZMqjvIK9b8sqqKWP2wVg+Fn4vGLFZDg8X8D0Oh8PhcDgcRx8uvfRS\\\\\\n\",\n       \"eeELXxiIqIsvvlje9KY3ycGDB4ezEurMgrt27ZIrrrgirL/+9a+XV77ylfKXf/mXcs4558httxV/\\\\\\n\",\n       \"sy4tLYXiOPxwAsvh2BRUWQcxKLXZWLGsqyr7EIfAxwa6HPZuCwiwYvCr/6sAzkB5B3AJ4JgglgFZ\\\\\\n\",\n       \"BfugJbfUuqeZWHM6u197TpKFcgo9ACodlv/gS+BZ0y/DJzM6YE4QBKWzFTI7A0DtxQQWlEAgsGAh\\\\\\n\",\n       \"YwUWVDhQ5iD4m3Kv8vKzJ82QG8aKGxQ782AsqD026yC2j3KSlOzQYhOh6qBkJCx3qfR6aissM6dK\\\\\\n\",\n       \"5yaL1HQZ9wAg2B+COKi1rBqr4CRTaaZNac4XbRu+CfZQDu9HO2sFcVuDXGQvHnvtSgLrdSdfI5ef\\\\\\n\",\n       \"fv3wu6/47gPlsrvvJ7JUPkiaFmTV7jm5/OSvhGMuP+nLoa0u631v0ZZodzuzICuwmNBSJaFaRJOG\\\\\\n\",\n       \"rHXSIXllw9uZe7NZZszH4XM8+6pqioKYtTBmD45lYFX9dvC+4Qtp+o+9jsPhcDgcDsd9DJ6JaCPX\\\\\\n\",\n       \"WAee+9znyp49ewIppWTUIx7xCPnABz4wDHa/6aabwsyEwFvf+tYwe+FznvOcqSHxjsMDJ7Acjg3D\\\\\\n\",\n       \"ElJVwe2x8+wnL3NQOxNUdl9qZiCcnIWQ9/d6eRhkq7LGhrhbIoPthTqYZ3VWIDYWm5I0UsnmF8I/\\\\\\n\",\n       \"GBqoPSHZUjCRAXUWvpiZHjABnLXEKeUAszPMuoDEQoESCAUklS7DSsa2MiWvgkpnQfqNOemsJVHy\\\\\\n\",\n       \"ikmsWBZWLB/JCo+KbQV5NWofS1pWpX+hzykp2QhqrILjS6KTQipQ9ag+npmSQ9zhAhxrZxVetZWs\\\\\\n\",\n       \"zCSbL4gzJTGHsi/+Im5rhG1xu8RCo/p9eeO2r8nlJ35j+L1X7L5QLjvwYJFtho1rNOSyzsUi++fl\\\\\\n\",\n       \"8m2fDcdevvQZafaX5KXtJ4xnn/GshMjEoqD+YVs3W9LtZGOEFdrYEpNcrJKueKS8VLLFLIKsprKB\\\\\\n\",\n       \"7rHPqn2x34s63X3db02snzkcDofD4XDcu0g0SnWDf5IcyvlqF6yyDGpAO+OGG2441FtzbBKcwHI4\\\\\\n\",\n       \"DgkxZVXsmPVkYXGeDa5bRWJhmckOfZ2ZDOG5+pjc6sjaWnOo2AHPwGKmcNflOs9wpwXCKNjM5uZS\\\\\\n\",\n       \"WVxYkAwB6kxSKQOgnyprsVYythDGCCy2EIaqGEyGhOOmMHUih3XpfVgCi2en03WV+mIZuUittgxa\\\\\\n\",\n       \"bTl4YKTA2b9/lHMFOxnIDdjM8HhQ6+Dx8IjYN1JkKRHEdi87E53tF4lpU9hIC8JyMEik02kMM/Jh\\\\\\n\",\n       \"Bxxlag3dmMMcLfCEqGKEyiu4+jH5oK4vLc0X/xPF01Vqm2LKSiWHsKx1y8yebo+1c6cjj07PloX8\\\\\\n\",\n       \"y7Kc9OSKA98rl+WPFDk+meyQZbms8WQVbMvl8hFZkKY8eukCkaXjxgksbltW3pX5WEF51ZwfyzRj\\\\\\n\",\n       \"qyjbRK1ltCoTq9PRyuxS9lXPWAl7FdbAKvtgrE/E+sd6fmOq4HZAh8PhcDgcDseRCyewHI6ZsB4y\\\\\\n\",\n       \"qu4aNmjdWguryCsxQe84HzP/2fWeyduiGQIlC9lJajvrdotAd+UTLIHF5BYLbSCK0u0FGVPUyXy7\\\\\\n\",\n       \"LY35TDJkU4EwghonEuY9DIhiAousg8PlmALL2geJ3BibhZALCAwmsMrcpJB31ZiTbp7J2v5kjMhQ\\\\\\n\",\n       \"8krXQULBZsYklVXnWAKLFVmquirIK5AZ1kK2HgIL+WlqK9RqzAI5CdIRkwcCqE5uS6jsUN04D2QW\\\\\\n\",\n       \"LIiFVVGk3WpKU4P8Ufd4WPgRYeFkr6WVqLFVtNeTxw92yv/pL8mVcou8tP0YEcx2zH5ItHe5fFnr\\\\\\n\",\n       \"h6TZ3SaPbp8rj198SEFa8YyENrwfdtLFRek329KThqwsJ0NCkokqEFhod/SDmJV0JChDcHu/JKtA\\\\\\n\",\n       \"WPVrMrDwu8DEFlsGOfPKZl9ZFZUlwo6ENFWHw+FwOByOI9NC6Dj64ASWwzEzScVWwWn77bGxbCx8\\\\\\n\",\n       \"WvVVzBqEfSixAHcmvGxGFmdh6UBZbWc64G6M2QTh8rIzFIYfi0YxeIcIyoaAp2kmA0xAtyBF4DcH\\\\\\n\",\n       \"rbNXEUQGlksSY4zYoGDvIetSZSFkAitmIwShBQLLBH3nrZb0s5Z0BlnIQbIzC9rZ6Dj3imOdqmak\\\\\\n\",\n       \"g+KqcEUi7yo2E50lH6oILKj/uP8UkwIUZFVBcBXKuuIcdnSiSVCNyD3DPjSbAtXKSrw8zyRv6YFt\\\\\\n\",\n       \"yeZL5Z2eAPkXdyLUPYgttg8SgaU3/vjBQ+XxgwfH25oJS7r2SxvPHH0n2hZtDaISFlElKoPqqiAq\\\\\\n\",\n       \"u71sIu/KtjPWYxZRLsUjWJKqKuMqpriK5V7ZfhCzE07Lwor9TtXtrzo2ts//SHQ4HA6Hw7E5SDRC\\\\\\n\",\n       \"d4P//7bR8x1HPpzAcjg2RWVls69AKABWbWXP5f2xjCs7cIXCCmosDJJBcjB5BeIKqp1CHdLvNwOZ\\\\\\n\",\n       \"UqiskiFxwVlIOqAPd1+qcjj2CIQHCC1Fu52JzKeSLip5VIR2J2wnBNGAUT/UWEpigLwCscHT5ykg\\\\\\n\",\n       \"B1JYJgaECaxtHBweU2A1m5IHlU6RkzTImtLpprJsZhkEIRUL9eZ9nIdlM5MKcqMgr7pdziOLZSDF\\\\\\n\",\n       \"yAmGzTjjvjE6ZzDIQi5WETpZ2AshZAI3BO4P4Ows27awjmqBUqvfT0UWmtKea0iq9Z0WpFICkgp1\\\\\\n\",\n       \"jsrQ+uZEe8w4yW2Pm4u1tcImzVvLqrWMkuIux2drLigPV1aToQWU21aJSw5yt3lYVmVXLOfhswhu\\\\\\n\",\n       \"t4qrGFFZRWDi/FjmVRVhZZVYFoOa9Y0QUE5gORwOh8PhcDjuXTiB5XBsCCCQ6lRb6yXFdECbGWKC\\\\\\n\",\n       \"iSlcj/fhXjDw53virCReL/iC1dXmBBFls5AQVwROCet2xj3lDHTAv7SUSKs1L42FtjSVONCNyEaC\\\\\\n\",\n       \"bbDMPpqwEFr7IIqFDXGPZWBZAguqq3BMW3qJKtASWSPCAoobJi6QkYTbZ3IL+8DTxDKwCsKHyYkY\\\\\\n\",\n       \"gcXLaM8YUtOOjbE25Xy2tbWG9HrpmIIKRFT4hgHPmjcSSOE4nlVPmxHNNlKlJUXUVKslrYWmNHSl\\\\\\n\",\n       \"U3YIZvmsdTCWdbaetubsMw7v53VkYClZqTNKpi3pDVLpHBA5ULafFraH6jNp3hluXbfrfrS7Wg3R\\\\\\n\",\n       \"vpbcynO2DHZMBhaX7gwKLaxLhUqLCL5NIZucjHI4HA6Hw3Efwy2EjhngBJbDca9nYXGmlV22mVic\\\\\\n\",\n       \"eQXSCp+sqkqmKLBsqHt3uKxKmm63yMuCSifsKa1lrMBilY5yBOzyUxRkR3GBIIZpptJvNKWpqqxW\\\\\\n\",\n       \"r1DnIGGclThgyZjA4ovH/OxsI+T8K5AZEQJLrYJ5qy19yaTXT2VNyau1IgfMklQgJzj3ilVWTFqB\\\\\\n\",\n       \"xGNlTvE4monElkFW59jMI56FEP0kpsDiPmjz0aylUKuxyMfqdFSRNa7AQttCyMZZZyCxsI0mDBwT\\\\\\n\",\n       \"ymneVmjKnhJZmTQac5I1mpJCGcd+O253XIBnm7RWUW5rthAygQX1nVXeldbQQdqQ7iALz9/pjlRX\\\\\\n\",\n       \"TEDCLsqKOg5nt8o6JjhVVTfKvQJB1Y+EuFepsPg9t4HuVmU1LfNqs/Kv3BrocDgcDofjXsZm/H+a\\\\\\n\",\n       \"/wmz5eEElsMR/eU8HDlYvI2/J5Z5ZXOuYrahmDqLLYWw3+l1sopMrJ7keRpIpyTJgxoJLi1ES9ks\\\\\\n\",\n       \"JAXshiyYGVnLRsu9ViKDuYbk7YY0GlnIydIi/Z4kIDGYwGIrmZ2F0MKGe3MOFkiNMgcrEFdZUwaN\\\\\\n\",\n       \"hgzSpnR7SuiM1DRQ4jCJYa2BnH3FRJYVGY3ERnko4+RGzF4G9ZW1g+UzEFggIxvluUUOFp/LYexq\\\\\\n\",\n       \"FcXsk2wThD2UZ5vksH5YR7kpJsktvXYWbKS5tnNLM7gakjS7kkAdxWo7y4TFwvpte6N92TrKBFaj\\\\\\n\",\n       \"IXlYb8igqeRVU3oayt8db0smI2EX5Pa02Wcxe+jIGsqB/FWWwTorYaxUvfd12Ve2z3j+lcPhcDgc\\\\\\n\",\n       \"Dodja8EJLIdjAiCPNpqFZa8zzW7I17DKGrYK8vXZSpTROpbxfSA2cE2elTCRfl/Dv4sZ5gr1jW6b\\\\\\n\",\n       \"nMWOZ6qDnRAFlkLlEWA5g+1MB/7NZkNarYbML81JOuhJroHXlHKe4CKWwKpS5cRsZSWpkbMaSwPa\\\\\\n\",\n       \"debFXFU44yQEu9wsQaVWMlbcqFIHz2LVWfaayLzq95nYgHWMbWLdGiVNHUBeMQlq+8e4mqffbwRL\\\\\\n\",\n       \"oSrCMJsgc0nWtclWQ+YXsc557HBnov1brVTa7ba0Wm3J2qH2Rwqsfl8Szr2axS7KRCUTWGlaElak\\\\\\n\",\n       \"wNLJBNJGQU7SDJAczs7EJdRYVnkXC/LXY4vz8pIQA3nVrZh1kK2iTFgykWWJLbYQ2v4wa/+QGsVW\\\\\\n\",\n       \"bN96wNdxOBwOh8Ph2BwkeR7KRq/h2NpwAsvh2DBGmUP1++0schiIQh3FBASuxQNFzjkCOcXngZRK\\\\\\n\",\n       \"SNEDcKA8gO8vSLY8VwVWU7KsmMkO1jImORQcX6TbdXC/uFisY6I5VrcgigjOviLLPZMszaTZbEpj\\\\\\n\",\n       \"27ykkusdjNRYsyiwQjVNElhKaOjV+mpt6yfSXS0sgjwrIBNTsP+x4orJLbYXVhFfvE+X1TJYBHp3\\\\\\n\",\n       \"IkTGYMYA9zpwrllh/xz1B/1ZL2yDo75WKLQKnkgVd0V/sFXMnCGIKbQ9cth1H2ek63GY7HFEYI34\\\\\\n\",\n       \"pGYzLUtDGq1csqRs6yoCq/KRIwosVdbpzIuiNsZEumsF8drrj6LW0EexHmuvETE13tYgsLiMSFAl\\\\\\n\",\n       \"r7h9O0Rg4TNWmLjidVZr8TvKBe1ZlYsVI62m9SUnoxwOh8PhcBwB8AwsxwxwAsvhOCTMaiW0mVnW\\\\\\n\",\n       \"Hlh1jBA5ZW2DYuyFfD0b5M75SmIILjH5WDogT6TTaZSERjLkCsIazUaHwHdwD1BmcSA4VDogQ+D2\\\\\\n\",\n       \"0u3NZnHtVquwLGZpLqmWpCVpVjxX2lDlVVEfaaSqB8FtlkhwxCWpDPK04D+6WSAz+oOCzOD4Jc4S\\\\\\n\",\n       \"j80YCJIDyzaMnY+zVsJR5hWraWKkBS9XERRMYtj+IRTyjzZMI32K7YS4ThpsfqrC6nSK/RzezxyS\\\\\\n\",\n       \"tYdqWzK3iHYGoQWi0xJZ2taFg7Boc23rRkNPFEmTZtHO2UCScB/VbR2eRftcSdYNkkQGXZ1tsWhr\\\\\\n\",\n       \"tC/uo8inGpGWVQQktydnXlVbR9UaqgRllcKK1Ve9iqwzVlvFbIFVdkLuI1JjG7Qk6DRrIcP/59Lh\\\\\\n\",\n       \"cDgcDofDcWTCCSyHY91Ybw6WmOPzGa8hRmEVy8nizCtrIctpwMz2QlbvwF6I6xZ5WEpygLACyQEy\\\\\\n\",\n       \"i4kNkBlMamAdWd0gtjgGCVnbowgjzUvSmQuLoHEUjrmywPfAYQj1EEgrkGsg1aC+iSmxmKSKEVgc\\\\\\n\",\n       \"2o5lJkZWVwvLoFoHJy1kTFhg2drEeNY5SzYwaRnLV0PGGfcrJjDSyL4sBPeP8rGKa6E+kYfF7Qxi\\\\\\n\",\n       \"COdou6GO2UrKZKWq73iSwEIol5RkVjE7IvpVSsIqC47HYqehbWdua7SPJbDsBIlMTsJCaPsFiKti\\\\\\n\",\n       \"G3LNqtRV09q9yjZoCSv7zseC3Kt+O+wxMWXWtGs4HA6Hw+Fw3IvYjJQC/xNmy8MJLIcjChBD6TrP\\\\\\n\",\n       \"qTs+RmZZG2HMUphS6Do+mYzAtVltA2VVXkFwMKmB+xj9i6ED9OXlZsjGYpsZVC6wkum6EhMY7LOV\\\\\\n\",\n       \"DLZBJQTUasaE1URsEbkAsS88RUli8TITK5zXNAuxoYWtZSCrLDGF46CssrazIucK5+ehFIocLR1D\\\\\\n\",\n       \"XHSoba0ix9oIZyWw2I4KcjKjvoP2xbGs6MKx+gyqxhopsfSZEM7PFkLb7rqsx6HekIGFti0nAQz1\\\\\\n\",\n       \"NE5UjiYPjEWYgaiMtTUvc+4aWx7tRIdoS7Qd2wlt2zJxafeNlFi5sQl2aJnzr2KEFhOVsW1MZsZU\\\\\\n\",\n       \"WHWWQSzLYbYPzpq/5XA4HA6Hw7E+eAaWYxY4geVwHBJ4EBdTUuVTyC0b8F4HHBuzEEJdxRlbILlw\\\\\\n\",\n       \"H6y+AqHVNdey96w/Dao4aYW1IuR9ZBdj1RWUOFp0GaorEFpaihD3ka0MEwayMgczG4LQsGocEFnh\\\\\\n\",\n       \"TvNxUiMWPo6i3805TlU2M1boQKXD+7DOqqwirL1P5BXIDGsns0QG2q6KoEB7cJtwKH+okYhtEBlY\\\\\\n\",\n       \"TH6A2EKbg+Qq2lmzutROOBgU1kttH1bUxdoW7Yr6QbYZiEotILbQzkpwQXGFwgTWtLYu+uHo3kCg\\\\\\n\",\n       \"Yh1kFe6b7aL207atJScnVXn6LuREWNnMq1jbx6yjdvZJaymtshAy0ZSv878uq1RdsXOnXd/hcDgc\\\\\\n\",\n       \"DofD4bjv4ASW47BgbW1NHvOYx8iXv/xl+eIXvyiPeMQjjtKarrP6xfZZ+yAvM9EQsxTyut1nc64s\\\\\\n\",\n       \"scWh79ZSyJlXEtnHnq1x1ZlaCQtLYZGxxBZCKGRAKlibGdRZWrAM0gAkRzlp4JDIAIFFk8yNkRlV\\\\\\n\",\n       \"1jImMuwMifhOEFhVaiyQUjECi3OuQHr0ehqKnstgEJtp0JJW1jLGqpsYYWH7AYOVeegfvAzSMkaE\\\\\\n\",\n       \"8TGjPlbUl7azEpVF+4/sheNtaxVQILeg3ELb2rbmZSauQFxWWUVHfXF8kkq0Me4BbcyKMc4+s3lY\\\\\\n\",\n       \"3JZoW868Gim3tJ018yqfwTZo25lVdpaoYqKpqh9Y62CsHassh7btbZ+K9a9p5JjD4XA4HA7HYUL4\\\\\\n\",\n       \"s2WDf2/4nytbHk5gOQ4LXvayl8npp58eCKyjF0wGrOccmUJ6SYTIYstijJBiq58NcOewdv5uGxxv\\\\\\n\",\n       \"g9wByxqMWxHVYqZEjaqwFCEgvSQ2QBxA+QILIZRPuo6Z6jgLiTOwzKRyQ1hVTrQ2KxRYTGBZMosV\\\\\\n\",\n       \"WLACckYWltlKNtqXD5eLWQYHFdaxXk2IO5MY1gbGfYRtfwzOLGPlFchIEB5MeMYIEaBY1zD0YobC\\\\\\n\",\n       \"op0LMmhkLYR6rugD4zNRom1BZqEtLWnFy1aBNY2sxD2h7ynspJU2A8u2bYysjNkLC8IrD8tFKD/b\\\\\\n\",\n       \"/thC2K8gLrHPWkQtuWVJTCakeP+oncaPrbL0TfvrbRZ7ocVGQykcDofD4XA4auCzEDpmgBNYjk3H\\\\\\n\",\n       \"//2//1c+9KEPyd/93d+F5a2N9RBWNlcLpAUTEpyDhJnlqo5hBRZgbYp8b2kF8YFj9TuatI6iPxON\\\\\\n\",\n       \"QBAcPNgY2sGUrABJhdwrtgki30oJAtgGtSD/COorEFVQZNnw9mkKLJBW4cnykRKH87BAZDDJYQks\\\\\\n\",\n       \"q9KxFjR9joJAGURyrupUOWhnVuMMaggsaxfjPsS5Z2hPzDbIpCgTnfjEPcFSisKWw2KWwpWVlnQ6\\\\\\n\",\n       \"aWgTkFeYWRCfsbZFNhaTk7bdue3RtjYDKwYO7GfiEu2KtkXbc7tPa1uQWZx9Vqj6mLCKLTNRBYum\\\\\\n\",\n       \"7QfYZmentPbCKiWeRPbHyCtLeNbZUSdq1//L0uFwOBwOh8NxxMMJLMem4vbbb5cXv/jF8v73v18W\\\\\\n\",\n       \"FhaO0dqdRmrZY1hxVUeEsZWQlRkSycDCtey99Mx6wyh/7IyH4/erNqp+P5XV1SK/q9FIxsK02a4H\\\\\\n\",\n       \"ZQ5ID6iulBwAacVkls1FAokFQI0VC/bmT74fnh2PCQ4sM3HBljMmOorlYua5QnXF6hursgLBwYHc\\\\\\n\",\n       \"1k5WRUTEiAuJEFa8nfuNJaz4PBCUTFzG7GgjQnQwaISZCjUbyxJF3Lawh1oFFhOUILGYpGTboCUr\\\\\\n\",\n       \"eZkVV3YmQhvkDkUWtz237zQ1lirsdEbJwSDW1qy8ipGVti/UEVZWlRUjr2x2VQyszIy9t1XnuL7e\\\\\\n\",\n       \"4XA4HA7HEQb8X/9Gr+HY0nACy7FpUHLjRS96kfz8z/+8PPrRj5Ybbrhh5rwsLcC+ffuOsFZhYmfW\\\\\\n\",\n       \"Y/J12Aj5+DyyjP2WlKhaBynGigyby5XU2AnrQ+mV0CjUV2o3K2xmClgIOScJCh7kX3F4u35iW8xK\\\\\\n\",\n       \"Zu2DvM6KK1blgMiwQe5MZvA2KG2wDAIE62oj06LERtwuVkVasEWQSSucIzNkYI3X+yTpwH2EyStc\\\\\\n\",\n       \"G21pVVxMZnEf5H6EOi3ausjGKgrqWduD7Zo8eyETWExcWaIS9lFLYMXamtdj1lFuXw5zt5ZCaxUd\\\\\\n\",\n       \"KfGUpNS2ZuIxprKqau86UquKvLJ2wap1LugLMQLS7oshTk7Xwwkvh8PhcDgchxc+C6FjFjiB5ZiK\\\\\\n\",\n       \"yy67TF7/+tfXHvONb3wj2Ab3798vl19++bpq9YorrpDXvOY1R3BLMBlwqDZCJhlyM3OgPdYqZ9gm\\\\\\n\",\n       \"yMt2H6swGmQ/5O8BccH3ZddhGwQwOG+NWQ27XVXoZIFswOyE3a6qssZzkWzmFdQ3VoUFQiPUZElo\\\\\\n\",\n       \"1GVggbjCMogNDvZmZRhC3FmdBYXVeMC7khggs3SGQRAPsIjFArtnDfOuUlxZwmIWsHoP/ZOXuS3R\\\\\\n\",\n       \"T7gfcn+zCixW+zWl11MLaRoUWaO2TSaC2mEhBEHF9kJW17ECC9u53asAwgrtbq2iTE5yPpvNxBrZ\\\\\\n\",\n       \"C3V2wYKsVPJqkqjqR+yilsSySq2qwvVqlXhVROZ6lHpoz/BG8JsypR9N62/8m+RwOBwOh8PhcNx3\\\\\\n\",\n       \"cALLMRUvfelLg7KqDuedd5589KMflU9/+v/f3nkA61GVf/i990JCSagBAiSBEIFQAyQm0gaQSECG\\\\\\n\",\n       \"EUVgqKGIwhBICCBVyl+GMFIMTZpSBmSIiKgUQ5MivTsEDEhnhFCU7gxJ7rf/OXs9lzdvztndr9z7\\\\\\n\",\n       \"teeZ+ZKtZ8+ec+7ut7/v9777mAx0CZEUzo213377yXXXXRfc1wle06dPX8SBNXz48BboGe+G6ihj\\\\\\n\",\n       \"287Iw6h1SekQwo6AC8c/JGtHjkRcGz7ssEtdErRjqEslBx/wv+mF/8uX5cLLXM4kJ2h19LqrvHDh\\\\\\n\",\n       \"560TxzpyrANL50PSrhwtXuhwsvQMTRJ3Pa8TuluXlQ1/7NnOhZBlOWy0eGFzHIXW5YkTXjzRfZOF\\\\\\n\",\n       \"Hle+b6yA5ad9H/tcV51qH923frz4ceA/PXXreSNlT393dnb29qtrT99v7k/f960bA87pFBOwbN4r\\\\\\n\",\n       \"GzbqxSztttP9HErerwWsUBihFi6/Di1NJElsQvaSEq9i4qR3Z+l+1m8c1KGk2n1VysiDliVmhcZF\\\\\\n\",\n       \"TMgKQeggAAAANDAkcYcCIGBBLqusskr6yeOiiy6Ss846q3f+3XfflUmTJsmsWbNkwoQJ0f2c4GVF\\\\\\n\",\n       \"r8Yjz2VVZJtQ6KDHhh/G1ttQIZ0HyYtNofBB7aBYGAgh1FanWPiix4seX9ehJ6zM5Utyby3sceks\\\\\\n\",\n       \"uWSPG0s7skLilX4LoQ4rswnc3bwXq3pbKiBg+XAyHVIYErC866pnuid8zAlXpZITNEKilBckbAih\\\\\\n\",\n       \"DjkLOa9iCbiz3Fd5jhed+8qLltrhp6d12KjtS72NL0OLItrF1VNPFyrs31bo/+/q6hEvXfv6PnXt\\\\\\n\",\n       \"HXrzoOtTHTZqBaxFztL0uQ4Z1eGifj5LxPpayHJ97UVKn+tKJ2DXYlYoKb+etn2vxSwrVlkhS4tX\\\\\\n\",\n       \"WeGCtp9C14fYPlkUDR0kfBAAAAD6AQQsKAACFtSMESNGLDI/aNCg9P9Ro0bJsGHDmryliwpYRddr\\\\\\n\",\n       \"4ckKWzo0LKs8HULo//fOG+vasuUsVH/+dl1MwNJOIe3U6hFLXNLvHkdWsliomU/m7cPKYk4cLWg5\\\\\\n\",\n       \"8t5CaAWskPsqlAurZztXz69dOIuLETFXVciBFROvYiKWGCFDh2kVCdnSY0nnP7M5sPxy/+bBkBBi\\\\\\n\",\n       \"BSwtWHQH3VrOjeWcWD3Otc5eYdK1eWdnj5ilc56F3Ha678vtay1YxZx3OlxUh4b25DPT/aLFSR0i\\\\\\n\",\n       \"aEXMUHhoVrigHRt5Dryi/R5zU3pKNRSxELAAAAAAoHFAwALoU7Q4kBc2qLf1IlaiBAQ9nSVO2eOL\\\\\\n\",\n       \"CmPrNOKTdlJ5ccqGlnUF5rXTxIcU9ghYPgxt4UInYnVJR8cSizhxXMLsmBMnFlYWw+ZDyhI2tID1\\\\\\n\",\n       \"tZPHCxL+3GNiRRIQsbQ44ecTM70gEB5mBQwx/8eECd/XHQGx0o8hK2RqV5UP+9RvLOxWY0L3sV/n\\\\\\n\",\n       \"wwl9P/t5PSackNWRClrz5/f0te9bHToYEypt3rPoSC4QLhp33jlXnRaS9P+h0L/uguuSnNBReywt\\\\\\n\",\n       \"ZBYRtboD0xIRu7LCCfOEMQAAAIA6gwMLCoCABX3G2muvnYYbtQ5JgbxW1Ti1Yu6rkLOqXAHLznuh\\\\\\n\",\n       \"wu/vH5x1KKF+WPauKy1s+NAyL4JoMcSHJXal+YWcuOHeYNfzxkKX+L0j6sSpxoGlQ8r0m+p68hz1\\\\\\n\",\n       \"hL/1fGw4lxcHdP4jK3JYscKKVKG8V0XDByUiYIXoCISidgecWHpajyef58oLmr4vl1TlaKHSi5O6\\\\\\n\",\n       \"XbxQ6QWxnnknCLoQ0o4OF07qkrx3pNM+xFDnuSpXrAw5sOLOu5627xGudN9YQdKG+4WSs+u+jDmw\\\\\\n\",\n       \"ksg4KRUUr/JcWUmOC2ux1oo3ZO/6rG1ioYoAAAAAfYT9jb7SMqClQcACKAv9QFfOFdaLU6H9QyGE\\\\\\n\",\n       \"IeeNDRPTD5j+il8KlK/zYenlPqzMJo/vUI4bnWPJH9OLH37eCiJe/FhU7EoSlx+rpzynKXR0OHHD\\\\\\n\",\n       \"CVk9YpY7Vo+44ecXdeToaS1k6E+PYNFTr55cTfK//72QYUO7QkJWzGUVcmmFxIiFOYJVbFlIuIqN\\\\\\n\",\n       \"Az9tBU3bV6G8WL6PvCCp97F9q8ejFcZsn3sR04mWTszqEc46OlzfO4dWT7+6/vV97freC1o6gXuo\\\\\\n\",\n       \"r/W071ff1z3ClRcne+YXF4xCfRgTK2MhgbH9tAgaCyEMiVe2/0PCVeijx4YVmkLz5YB4BQAAAACN\\\\\\n\",\n       \"CQIWQNlU4rIKzetpKyAlgRA/LSToUDKb98g/8Xs3jV6mj9EdKNev0w/YNrRMP1xr15UNM/PimJ7u\\\\\\n\",\n       \"qY9z53ztCvLn+HUOplA4mQtHs+6bUChhMcFIu6RCrqmQM8c6a0ICWKjcvHroeicFfkKyYyXLeZUl\\\\\\n\",\n       \"QOk27woIXb5+of11WKJ24fn+/tr11SNc6jcjduT2tXbhuRDA/L4WIxKF2lr3Syg81AqQec47vV6P\\\\\\n\",\n       \"AT2G9LKY48r+TVlBc5GzV9NJxJFl98ubt+C8AgAAgP6nI0nST7VlQGuDgAXQby4t65aRwLpQmKB+\\\\\\n\",\n       \"oOyMhI1Z102oLr4cLzZp51VnQKjQOa+8SFWKCFbeabUwUP4SEfEiNN3TZj2OHV+v/52tNZIt1jZ6\\\\\\n\",\n       \"2m8cEoy0QODD/0qB+VBeq5CDRm+XJWCFxKwiAkRorPS009dCpM6bFhOL7LTudx8iqkVP3+82r5Y+\\\\\\n\",\n       \"3pL/O187b3Nw6XlRoqXu66/HfLivJdJOpYLtHeunUDhgTNCy/2vRLFR+qcywQSteWZEzdu4hYmIW\\\\\\n\",\n       \"X+wAAACgASEHFhQAAQugIrTQk7ddNW8utG4riQhUel2Wc0c/SHsRwc9rYcOKQt6h40UsvcyX6YUq\\\\\\n\",\n       \"LXrZMLeYqKEFO10P+79tO9sG1pVSxAEVEqasEFUkh1FI3IqJE0mkvvp87LRtB91eWtTy/2e5r/y0\\\\\\n\",\n       \"7yftvtKOLO+Q8+t0SKkOF9XzMeFML/O2qkWFy+J9HRL98sTKWEihFqti62Juu5DDKuQEs+MnND5C\\\\\\n\",\n       \"YnM5wma16/MEMWhVLr30Ujn33HNl3rx5MmbMGLn44otl/Pjx9a4WAAAAwGIgYAFUTJEHxo6MZUXW\\\\\\n\",\n       \"h8SIIo4LK5JoscO7pbTNxYabaeHKnq92gXnBQosQ/qHcuoL8vjFhQwsYVqjpLPCwHXKmaOGiqIAV\\\\\\n\",\n       \"ctBkua70eltG6Pih/rH19+cQQrvttLBpHXy2X/0+WrDS/WpFWS10JRHHnhat8sRJn1PNilbV9rUV\\\\\\n\",\n       \"i2zf+v1jAmSsb0PbhfJbhcSr2PJyP7Z/ssRNKXN9CMSrdmPWrFkyffp0ufzyy2XChAkyc+ZMmTRp\\\\\\n\",\n       \"krz88suy6qqr1rt6AADQTpRcktyk+jKgpUHAAuh3tEignS9aNNKig3Yw+YdjLRr5crTbyaPDvvwD\\\\\\n\",\n       \"tQ4V024aLXqEQgq9+8oKF7F5HUJYxHHVmSFiZLlydLtaAUuLGJLhtAmJW7EcWSERzOY/smWG3FZ2\\\\\\n\",\n       \"Xo+HvPEjkTbU/WNDCn1f+218iKgVoawAqUNHrQPLhx/qvtWOLCtU9XVfS05/hoSurNA/K2gVHRMh\\\\\\n\",\n       \"kTNLXAvVW597SJiy4zo0RgCyueCCC+Swww6Tgw8+OJ13QtYdd9whV199tZx44ok0HwAA9B+EEEIB\\\\\\n\",\n       \"ELAAqkLnAwrhHzbtei1K2e20CKWFLJvrSIwQEKqLnvbCwwIlXniBwpe1MEPQ8mGCVuTQ4lZIqNI5\\\\\\n\",\n       \"kkLuKwm4ezw2vMy2vW1rK2ro6SwHll3nhaiYMBULRwsJWLoepYx6FhGvLDq8VLehnffLtHjox1Yo\\\\\\n\",\n       \"7FOPD7+dDje0IaFFwkNDopV1YIlx/em+9eegzyfUhqH+zJq2IlWlIubCyPjIO35MvIoJmyF3lm6n\\\\\\n\",\n       \"mPMqa2zpY0G7MH/+fHnmmWfkpJNO6l3W2dkpEydOlMcee6yudQMAAAAIgYAFUDUxkcqut9vo/bwo\\\\\\n\",\n       \"YB8yrZBl97Fl6wd97eAS47SxTiq/nX7roV1nwwD1Q7c/vhUvxAgjIWHDhg6GlsXa1TpT9McviwlY\\\\\\n\",\n       \"WW4pCYSL2f112GDoOHaZXWfrr4WYomgxyJen29mXadvUC5J+2u/rHVR+Wrv09P96HGSFCdp+z+pr\\\\\\n\",\n       \"vzyWwT0k4sSW2X72/SQZApYdA34f/Tdg99VlxsSxLJE071z8tG2D0PqQSBUTumLtCu3ERx99JN3d\\\\\\n\",\n       \"3bLaaqststzNz507d7Htv/rqq/Tj+eyzz/qlngAA0C4k+lXTlZcBLQ0CFkCfC1h+m1hoVMhtlSdu\\\\\\n\",\n       \"2fBCHd6lxScrUOh9rHhicyv5/+06/cY5vW3IiaPLjolXIRdWlnAVIuRa8ctD8+WKDUVED31s6w4K\\\\\\n\",\n       \"rQs5yOy87reQ4BNyzngBymPb267zfafr5rfzfaenSxluulBf62PZee3yK4odyzEhKNR/fp8sUcm+\\\\\\n\",\n       \"mTIkWlqxK3SMLOFS95leZ88xT6SKTdv2KtqeAHFmzJghZ555Jk0EAAB9AyGEUAAELICGxT8w64d7\\\\\\n\",\n       \"Lyz4ROxaaPDrdYhhKIRQu2+04KBDt/x+CyPOqphYEdvWTuu66uOGhAwbClduCKFdniVKaUeNdexk\\\\\\n\",\n       \"uWhCooauoxUurDhhRShfZohQW2gxyPZtSBi1+an88bwDKhYaqB11fjqvz6VMoTIUQhhzp+k20m46\\\\\\n\",\n       \"vU8tRctSTv4s38Z5Zdnt9FjQ4zpvjABUzpAhQ6Srq0vef//9RZa7+aFDhy62vQs1dAnftQNr+PDh\\\\\\n\",\n       \"dAEAAAD0GwhYADXBP2DmhbxJYL11OHlibiw/7UUsvU0o55F/8PXClRaetANGCzY63FBP6/PsykkI\\\\\\n\",\n       \"rh+6s1w5CwKihqZIaKZdpkWALGEhT3zy+4TCBK0AkSVs+ePb9Xq5PY8sR02oTWwoXigMU4+pUP9q\\\\\\n\",\n       \"l5buT93Xvm20e8tvaxO62zHm8eM27zzseYfmbV96YqJRTLi0fV1U0Ar1va2T3d7WRQKCpz7PkNNK\\\\\\n\",\n       \"LytV4KyyLi9oNwYMGCBjx46V++67T3bfffd0WalUSuenTJmy2PYDBw5MPwAAAH1CqQbfS3gLYcuD\\\\\\n\",\n       \"gAVQM0LiU2w7u966ZGKhg2LWadHMurBCIpYVwWx44cLAWxB1Pfy0zofl1+nQNT2t66tFN1vnmIBV\\\\\\n\",\n       \"DnkCVkiAskJCnmgRE6/sspjDxs7r/22dY+doXVjWcefb07avF5j0el9eEgk31OtCIYdaBNNjMctd\\\\\\n\",\n       \"FxNzyyEmEtoxEBKU9Lqst0ZaYcoKXfr4djzYY8fGj623PZfYOtsOtm0QryAf56iaPHmyjBs3TsaP\\\\\\n\",\n       \"Hy8zZ86UL7/8svethAAAAP1GUur5VFsGtDQIWAA1Je/BPCZy2f2syOUfSEPiki5PO2n0A7t10Fgh\\\\\\n\",\n       \"S6+LOXi0gGUfrLsyXGU2J1NIaLOiWCUkZbhyPFa8kAJuGylznS4zVJ+YAJFF6Oas21Dv75dpd5Tt\\\\\\n\",\n       \"ayuadkbWZbnrQoKVrqcuMzQGyqWUI2DZdrYhoVnrighYtj+tCOrro+sYGg8xkcqeg0TEq6RM8aro\\\\\\n\",\n       \"NtAO7L333vLhhx/KaaedJvPmzZPNNttMZs+evVhidwAAAIBGAAELoGGELv9Q2Zmxjc6JZYUsnZtK\\\\\\n\",\n       \"Au6qzkA5+gFZO7K0yKFDwKxYoZ04WozQ6xZG8iGFQsv8fCWiRkgMCokEMfeLFyf8spiIoY8VEkNi\\\\\\n\",\n       \"IWF5IotH1y1GqI1CYqZfrvvF10n3SSjvlS8nlNtKjw395kHf17qPs/paH6scQm0UE4SyBKuQGBVy\\\\\\n\",\n       \"ZOljViJcxsZIlgurlCM6VRI2CLA4LlwwFDIIAADQr5DEHQqAgAVQc7RTJW87KRBOmJUTS29vHVV6\\\\\\n\",\n       \"P18nLST4OtrwMx1qFjq2DVG09beOH318vd6v82KCDYXUxw4JWjH3SezBPyQQhNxYet6vj4lbMfdW\\\\\\n\",\n       \"zFVjRbYswSG2XDvg7PKYIBnrPy1u+rpp15Uvx9c9JEBp7PGsiKVDOzsDy8rta7s8JA7aPslz4ulp\\\\\\n\",\n       \"K0jpcaCFTXucmHBq6xVyXYXOKbRNkTYKEXP9AQAAANQRcmBBARCwAPoE/zCZ5yQqR6AK7eO3i4kZ\\\\\\n\",\n       \"VnywZVtRyQpd3RGXlU3Yrcu1D9KhfFh+OiSAhNosJmqElmlhIuR80stCTpyYyJW1TZZ7JpSPq6iY\\\\\\n\",\n       \"EOvr0D7WzWTHlnbk6WkdeqrPU/eFd1bpckMCmT+nkPvK9ndS477Wdff10H1i+yGrH0MCpR0/MQHT\\\\\\n\",\n       \"1ismaBZZJhUKXDGKilwAAAAAAI0HAhZAn+FFgSIiVsiF5UUEP29FLb3er/PL7dsJ7f46ZMzXNSQm\\\\\\n\",\n       \"hULOtAilnVy+fHve+oE5lOdKb6tdW+USerAPuV2suJAX6mUFkVg5sVxMuk55YWFFzjGLkHvN7uf7\\\\\\n\",\n       \"yPe571fdz3qfUML2cvrahhD2dV/7uur/9XRIdIw5p0JOrayQ0Zgw5qdtXfTyPEHO7me3yyNUPgAA\\\\\\n\",\n       \"AECDQAghFAABC6BP0SJBFlZg0vuHEnNbZ5V2XNmwPCtS6STcWqSwgoR/GNeigy5DH1MLGxJ5+5wO\\\\\\n\",\n       \"cSuaCylP4IgJQFmhekVyDuk8SZLjuCkinIQcM7bcaog5mfQ4kIiQ2K0ETT0GvLCqBVb/FsmYABnK\\\\\\n\",\n       \"d2X7sK/72i+z+2S54mJuLF1+SADT86HjxRxhUmCd/t/WP69NLIQNAgAAQIOTfq2p8jsxRvOWBwEL\\\\\\n\",\n       \"oM/xD7jVvF0vlO8qK+TQz+tjZ4UaWQdWSPjyx/Sih3Zj6QfpkJvML4+FRYbCIENlhdomRFaoXp6o\\\\\\n\",\n       \"YcUqvV1IwCoiZNg611LECoWXxvpAIsn7fT1tn4TEKO9CCvWNfXuhn7ZjP3aulfR3lhsryzEXEo/0\\\\\\n\",\n       \"vqGwQb08NgZi4yz29xebj4me5YJ4BQAAAACtAQIWQL/gH2YrDSfMy4mVmFxTWTmTSjlOGPvAH3rr\\\\\\n\",\n       \"oXZTheoVE1Ji56CPUwvyBCwpQ4gqZ9uYkBGrS4y89bGQUykgGmnxSU/r7e1y29c2bDA0rf/PE22q\\\\\\n\",\n       \"ISQQxsL2QoJkqK/98qx+LiJUhcZcaDxYQgJn1jYxqhFGAQAAAPoRQgihAAhYAA0TTmgFCLsuCSTa\\\\\\n\",\n       \"loywQb0+FIqoy+gs4MCSSK6kjsByfTydCN7T2c8ClhYg/HxRR5aU6egJbVeOAGHrGiKWd0oLRvbt\\\\\\n\",\n       \"fno61NehfrVjRwJ50ey2tnzr+NL79UdfS5lhnrG8WUmZea7sflljIiY0laoQpnBeAQAAQBNRsrlF\\\\\\n\",\n       \"Ky0DWhkELICGI+ZekoxQROuCsWGDOmm2mPC/jsjb6TQhgUIfM7TcLtNl6flQjq9qsS4ZicyHRK3Q\\\\\\n\",\n       \"vnkuqyzHly6/ViJD6OZshUu9XO9jRVTbN3q70BhMImMgJoTa8mPhopUS6oNY39u+y1seKiskcEkB\\\\\\n\",\n       \"QStLvJIai1cAAAAAAK0HAhZAv2Mf+rO289iQwY6c7WIilBasQnXy+2khIyskTQsSWjyxApktR4t0\\\\\\n\",\n       \"2ikUOt8iZD3Qh8QJvc4KIFnbFHXRhI4VqmcRISOPIn1uRVErUuWFlWoXnu73WJJ+XXZWKKE9h6Jk\\\\\\n\",\n       \"udd0nUPta4XLIuJkkfFQ7v92/6zzK3dsIHABAABAk0EIIRQAAQugX/EPrF0FtisaTmj3Cbmi/PqQ\\\\\\n\",\n       \"2KHFpiwhI7ROl9kRcHtlhar5Y8coJ8ysHLeKFSSK5lCy+4aErlBZReoZ2rYouo3zQvWsoBUTq+w6\\\\\\n\",\n       \"O7b0OhtOGHODxRxdsXrEyGrDPCdcbDz4daH9Qg6skCiV1/dZwmjWOcTKywL7PAAAADQZCFhQAAQs\\\\\\n\",\n       \"gLqg3+KXhxUPPKFQL7ttEhAYkkiOI+2Qibm6/HxIAFkYWGbnbT4sXbfY+VVCLDSvVMF8lmBVVAjr\\\\\\n\",\n       \"yzAweww9HmKhhrH+sPtaB5XOaxZK/J7V11JAHK1nX1vhMs+pV3S/WJL2ImJW3rrQtohXAAAAANCa\\\\\\n\",\n       \"IGAB1I2Ykyq2rWTkJLLr8gQoO69DxEJhZTbPUcxpZcPI/HHyRJXYA3qRtinqWAkJBnkumViOrNj2\\\\\\n\",\n       \"sfpkCRC1ELNsH9nyYs47CbxhUK9PcsrM62uddy1rP12fLMpxJyVl9HWe8JTV70UFzkoEqnLGBsIV\\\\\\n\",\n       \"AAAANDGlGnwnTsuAVgYBC6BuJDXKiWXLiG0XEiDsA7ZNsh3KWxRKJJ8UzJWlj10kN1LeQ3neTaqo\\\\\\n\",\n       \"A0Yfr4jwlVVOrOwsMaMWAlZsPIWcdUUSqftyrNApZfa1x7r8LCGxK1SnvHVF3U1ZydSz8mfFys0T\\\\\\n\",\n       \"tGL1zxPfilALERQAAACgfiRJKf1UWwa0NghYAHVHh/DlkSV22ZAvv33MgRNKqO7LiYkOfjoUQubL\\\\\\n\",\n       \"DwlcMcHLl1luEu8i5OWbynLY6DLyhKdycxZV+ubBcsMIY293jDnhOnMEJStY+XPPcuiFyuuLvs5z\\\\\\n\",\n       \"MeWFD8a2y3JlhbaJ9W05Qmeo3CyyxiAAAAAAQOuAgAXQEHghoBbhhDZELCZg6AffUFhhKNTLCm06\\\\\\n\",\n       \"9DAv11KszvZtdbUgloQ9a1lIBCgqdOSJYHnHz1qeR2wcxAQqK2IWES6z6hcSvmL1CiWBrxZ/PtX2\\\\\\n\",\n       \"dS3yV8Xay4pctXJT9YUYCgAAAFCnJO7VhgC6MqClQcACaChieacsMVHKbpOVgD1GKBRR76sFMvuw\\\\\\n\",\n       \"HXJ6ZdXR1q0WIlaeAFBuYvVyxJHQ8qLhgn19w80SMu3yUL+GBM3QtpIhUmmhpz/6Oq/vaiE4xgSs\\\\\\n\",\n       \"IvOh5XnjgHBBAAAAaEFS8QkBC7JBwAJoGEJCUJHtvYgQyotly4odI+Tcih0zT/iIJenOc5glVTpz\\\\\\n\",\n       \"skSJakO3igoUUjCcq5ZiVaisjgL16iogXmXlKct702FeG+uyK6VUhUMpr0+zxlNW2F5SQzGtnHIA\\\\\\n\",\n       \"AAAAAFobBCyAlgkplIiIFXM4FQkl68o4Tiy8MCaoJCq8LES1jpwsUSG0rdTIiVVEKOlvwSHmoIqF\\\\\\n\",\n       \"+sXCTf36rHDEGFl9rcupVsAq0rZZfVNOOGh3mf1bqUMsBiGDAAAA0KKUSiIdVeb1JIl7y4OABdCw\\\\\\n\",\n       \"+IfroqF1/mE4tn2eyyrk2LJ5kfR2mjzXVTUiQ7mU62SpJBQwL8ys3HOpNgl3NUJnSMSptK/tWyyz\\\\\\n\",\n       \"yAo/7It2K+LGCs2X67QqUq9yzztvrAIAAAA0OYQQQgEQsABaKqyw6D52m7wH41BC70rqk1W+1Pht\\\\\\n\",\n       \"akVFs0ryEhURrIouqwWxcjsq7O9K+7rcHGtJE/S1XlbOmMg6DuIVAAAAAEC5IGABNDwhZ1SRfbSY\\\\\\n\",\n       \"EMuPlbUuFm6YF15YrihV1KFVLuUIJHlhXrXKa1UvAStr2yL5snSoXzV9Xcs3TVpqET5apJyiLq7Y\\\\\\n\",\n       \"unLHAM4rAAAAaH2SUkmSKkMIE0IIWx4ELICmQOePKpo3qIhQEQsTLLJ/d4ag5ffPElb6wnVVKzGr\\\\\\n\",\n       \"XBEjKzdWPYmFBmqyBKmscvIETl1WX7iu6tHXttyiwmYlolW9xw4AAABAP0IIIRQAAQug6UgqfGNf\\\\\\n\",\n       \"ESdXLNQs6y10nqy8SHnH6mtCglO5YVxZ86HllZxfufuU62jyOdXs/kXD/soVrIqU3V8U7fO80M9a\\\\\\n\",\n       \"uPqyQLgCAAAAAAiBgAXQdCQ1zENVNLQwJF7Z41cjCNU6tKyW4XzlCB+1ClmsNt9UUZEytm2eKysp\\\\\\n\",\n       \"s16N0t9Fc39V2j+1EDAbRfADAAAA6EdKiUhHUgMXF7QyCFgATUupjHDCSnJqlTJcVLEH/ZD7psiN\\\\\\n\",\n       \"xL+tsFZUKgSUK0JVc5Os9gZbiXgVKsOKlnlvsMzbtkgerFoKWFlvF6xHX1far4QNAgAAQBuTik9V\\\\\\n\",\n       \"OtERsFoeBCyApqaUkYOqnIfyvFC/IiKH3t7S0c8P70WdNuXsV2n9+ttVU47YVGTfmLCY58LKOkY9\\\\\\n\",\n       \"3jbZqEKmzSUHAAAAAAAhELAAWoYsx1QRYuGDWdvZ7at1JNXCmVMrp0w1TppalFNLKhEVY/vmhRJm\\\\\\n\",\n       \"hTY2S1/31djQ+zfCuAAAAABoDJJSIkmVIYQJDqyWp5YxOwBQV/xDcSUhVX5fHRqYl+vH7lO0/Nin\\\\\\n\",\n       \"FhQ5TqV1rvSYjUKl9eyLvu7vPi+3jLzt7D7l1rfUgOMDAAAAoI4kpdp8yuTSSy+VtddeW5ZaaimZ\\\\\\n\",\n       \"MGGCPPnkk5nb33zzzTJ69Oh0+0022UTuvPPOKk4aygUBC6AlqTQvkFQoMpQCn0of7Kv5VHLOseMW\\\\\\n\",\n       \"3bdRBau+qntft3tf9nct+7oS/PEBAAAAoN7MmjVLpk+fLqeffro8++yzMmbMGJk0aZJ88MEHwe0f\\\\\\n\",\n       \"ffRR2WeffeTQQw+V5557Tnbffff0M2fOnH6ve7uCgAXQsuiH9VqUUa5gkCdQ9JfYU0sRpJr2aHT6\\\\\\n\",\n       \"sq/7S7RJGrSvW3G8AAAAANQ4hLAGn3K44IIL5LDDDpODDz5YNtxwQ7n88stlmWWWkauvvjq4/YUX\\\\\\n\",\n       \"Xig777yzHH/88bLBBhvIz3/+c9liiy3kkksuqVErQB4IWAAtS1+FbdWqvKSfPo1wrpUcqz/D8IrW\\\\\\n\",\n       \"SVq4v/v676TZHHoAAAAArRtCOH/+fHnmmWdk4sSJvcs6OzvT+cceeyy4j1uut3c4x1Zse6g9JHGH\\\\\\n\",\n       \"hsMn3+vunl/vqrQglSZ476/yGo3+FB1KDf47BH1dHghWtcbfE0jQ2hj4fvjsi+YNi12YLKh3Fdqe\\\\\\n\",\n       \"zz77rO3bAKAV/oZrcW9eKAuq/tqdlqHq5Rk4cGD60Xz00UfS3d0tq6222iLL3fzcuXOD5c+bNy+4\\\\\\n\",\n       \"vVsO/QMCFjQc//73v9P/5869tt5VAQCABrxHLL/88vWuRtvz+eefp22w1hZvNnFbvF7vCrQ9/C0D\\\\\\n\",\n       \"tM49odK/5wEDBsjQoUPl4Xm1SYY+aNAgGT58+CLLXI6rM844oyblQ31BwIKGY6WVVkr/f/vtt9v2\\\\\\n\",\n       \"i4371cBdeN955x1ZbrnlpB2hDWgDxgJ/D5pPP/1URowY0XuPgPqyxhprpPeowYMHS0dH7Z24rXAP\\\\\\n\",\n       \"aPZzoP71hz6g/Rt9/DjnlROv3D2hUtzb/N544400pK9WdbL3Jeu+cgwZMkS6urrk/fffX2S5m3eC\\\\\\n\",\n       \"Wgi3vJztofYgYEHD4WKPHU68asYvfLXEnT9tQBswDvh74Jqw+D0C6t8Pw4YN6/PjtML1r9nPgfrX\\\\\\n\",\n       \"H/qA9m/k8VMLw4ETsdynP3HOr7Fjx8p9992XvknQUSqV0vkpU6YE99lyyy3T9dOmTetdds8996TL\\\\\\n\",\n       \"oX9AwAIAAAAAAACAtmL69OkyefJkGTdunIwfP15mzpwpX375ZfpWQseBBx4oa665psyYMSOdnzp1\\\\\\n\",\n       \"qmy33XZy/vnny6677io33XSTPP3003LllVfW+UzaBwQsAAAAAAAAAGgr9t57b/nwww/ltNNOSxOx\\\\\\n\",\n       \"b7bZZjJ79uzeRO0upY12fm+11VZy4403yqmnnionn3yyrLvuuvLHP/5RNt544zqeRXuBgAUNh4tR\\\\\\n\",\n       \"don2QrHK7QJtQBswDvh74JrAdbGdaYX7YLOfA/WvP/QB7d/O46e/cOGCsZDBBx54YLFle+65Z/qB\\\\\\n\",\n       \"+tCR8D5qAAAAAAAAAABoYMiECgAAAAAAAAAADQ0CFgAAAAAAAAAANDQIWAAAAAAAAAAA0NAgYAEA\\\\\\n\",\n       \"AAAAAAAAQEODgAUNzx133CETJkyQpZdeWlZccUXZfffdpR356quv0le7dnR0yPPPPy/twptvvimH\\\\\\n\",\n       \"HnqojBw5Mh0Do0aNSt+oMn/+fGl1Lr30Ull77bVlqaWWSv8GnnzySWkXZsyYId/85jdl8ODBsuqq\\\\\\n\",\n       \"q6Z/9y+//LK0M+ecc0769z9t2jRpN/71r3/J/vvvLyuvvHJ6Hdhkk03k6aefrne1oA9p5uvfQw89\\\\\\n\",\n       \"JLvttpusscYa6d+se8V6M9Hs19/LLrtMNt10U1luueXSz5Zbbil/+ctfpFlpxmv/GWeckdZZf0aP\\\\\\n\",\n       \"Hi3NRDPfd9y107a/+xx55JH1rhpA1SBgQUNzyy23yAEHHCAHH3yw/P3vf5dHHnlE9t13X2lHfvrT\\\\\\n\",\n       \"n6ZfhtuNuXPnSqlUkiuuuEJefPFF+eUvfymXX365nHzyydLKzJo1S6ZPn56Kdc8++6yMGTNGJk2a\\\\\\n\",\n       \"JB988IG0Aw8++GD6Revxxx+Xe+65RxYsWCA77bSTfPnll9KOPPXUU+nfgHsoazc+/vhj2XrrrWXJ\\\\\\n\",\n       \"JZdMH0JfeuklOf/889MfNKA1afbrn7tOuTo7Ea4Zafbr77Bhw1LR55lnnkkFh29/+9vyve99L/0O\\\\\\n\",\n       \"0Ww087V/o402kvfee6/38/DDD0uz0Oz3HTdudNu7v2PHnnvuWe+qAVRPAtCgLFiwIFlzzTWTX//6\\\\\\n\",\n       \"10m7c+eddyajR49OXnzxxcT92T733HNJO/OLX/wiGTlyZNLKjB8/PjnyyCN757u7u5M11lgjmTFj\\\\\\n\",\n       \"RtKOfPDBB+nYf/DBB5N24/PPP0/WXXfd5J577km22267ZOrUqUk7ccIJJyTbbLNNvasB/UgrXf/c\\\\\\n\",\n       \"devWW29NmplWuP6uuOKKTfd9spmv/aeffnoyZsyYpFlptfuOGzujRo1KSqVSvasCUDU4sKBhcb+6\\\\\\n\",\n       \"OvtuZ2enbL755rL66qvLLrvsInPmzJF24v3335fDDjtMrr/+ellmmWXqXZ2G4NNPP5WVVlpJWhUX\\\\\\n\",\n       \"Hul+OZ44cWLvMvd34OYfe+wxadc+d7Ryv8dwTohdd911kfHQTvz5z3+WcePGpb8cu3Amdz+46qqr\\\\\\n\",\n       \"6l0t6CO4/jUezXz97e7ulptuuil1j7lQwmai2a/9//znP9PIgXXWWUf2228/efvtt6VZaKX7jrum\\\\\\n\",\n       \"3nDDDXLIIYekYYQAzQ4CFjQsr7/+em8c/amnniq33357at3dfvvt5T//+Y+0A+7H24MOOkgOP/zw\\\\\\n\",\n       \"9EYKIq+++qpcfPHF8pOf/KRlm+Ojjz5Kv3Svttpqiyx38/PmzZN2w4WQutwfzs6/8cYbSzvhHryc\\\\\\n\",\n       \"mO9y0rTzvcDltFl33XXlrrvukiOOOEKOPvpoue666+pdNegDuP41Fs16/X3hhRdk0KBBMnDgwPQ7\\\\\\n\",\n       \"1K233iobbrihNAvNfu13eeuuvfZamT17dnr9fuONN2TbbbeVzz//XJqBVrrvuBx8n3zySfo8AdAK\\\\\\n\",\n       \"IGBBv3PiiScGEwvqj8975DjllFNkjz32kLFjx8o111yTrr/55pvbog2cUONu9ieddJK0GkXbQOMc\\\\\\n\",\n       \"eTvvvHP6i5hzpUF74H6Fds5L94W+nXjnnXdk6tSp8tvf/jZNZN2uuHvBFltsIWeffXb6K/iPf/zj\\\\\\n\",\n       \"9O/f5cIDgL6lWa+/66+/fvrCmyeeeCIVHyZPnpzmMWoGWuHa7yIm3Hc1l7vL5a+78847UxHld7/7\\\\\\n\",\n       \"nTQDrXTf+c1vfpP2Rzvm0YXWZIl6VwDaj2OPPTb3VwBnN3ZJBx36FzP3S5pb10w25Gra4K9//Wsa\\\\\\n\",\n       \"MubOW+PcWM6O3Yy/BJXbBp53331XdthhB9lqq63kyiuvlFZmyJAh0tXVlYaPatz80KFDpZ2YMmVK\\\\\\n\",\n       \"6r50b/VyiXnbCRdG6pJWuy/RHufMc21xySWXpG8mdeOk1XHh49Y5scEGG6Qv+YDWg+tf49DM198B\\\\\\n\",\n       \"AwbIN77xjXTa/QDqklpfeOGFaUL0RqcVr/0rrLCCrLfeeqmLvhlolfvOW2+9Jffee6/84Q9/qHdV\\\\\\n\",\n       \"AGoGAhb0O6usskr6ycN94XDCjXt18zbbbJMuc2/CefPNN2WttdaSdmiDiy66SM4666xFRBz3S5Z7\\\\\\n\",\n       \"Q5OzZ7dDG3jnlROvvAvP5YNqZdwXb3eu9913X/r6cv9roJt3DxTtEj571FFHpWEfDzzwgIwcOVLa\\\\\\n\",\n       \"jR133DENg9G4N7K6V5GfcMIJTfcAUykudMndBzSvvPJK098HIAzXv/rTitdfdw91wk8z0IrX/i++\\\\\\n\",\n       \"+EJee+219M3izUCr3Hfcd2aXw8vlUgNoFRCwoGFZbrnl0rwF7jXaw4cPT28a5557blu9BnbEiBGL\\\\\\n\",\n       \"zLt8Do5Ro0Y13a+hleLEK5f3zPX/eeedJx9++GHvulZ2I7lXyLuQB+e2Gz9+vMycOTNNQuu+xLZL\\\\\\n\",\n       \"2MqNN94of/rTn2Tw4MG9ub+WX355WXrppaUdcOdtc84su+yysvLKKzdVLppqOeaYY1LnpQvl2Guv\\\\\\n\",\n       \"veTJJ59MXZit7sRsZ5r9+uce1rXTxOX/ceFsLgm6va83Is1+/XVpF1zIlGtrl4bBnYsT4lwuo2ag\\\\\\n\",\n       \"Fa79xx13nOy2227pdzf346v7Lu+Et3322UeagVa47zjR1glY7lq6xBI88kMLUf2LDAH6jvnz5yfH\\\\\\n\",\n       \"HntssuqqqyaDBw9OJk6cmMyZM6dtm/yNN95IX2X93HPPJe3CNddck55z6NPqXHzxxcmIESOSAQMG\\\\\\n\",\n       \"pK+Vf/zxx5N2Idbnbjy0M832KvVacdtttyUbb7xxMnDgwGT06NHJlVdeWe8qQR/TzNe/+++/P3j9\\\\\\n\",\n       \"mjx5ctIMNPv195BDDknWWmutdOysssoqyY477pjcfffdSTPTbNf+vffeO1l99dXTPlhzzTXT+Vdf\\\\\\n\",\n       \"fTVpJpr9vnPXXXelf7cvv/xyvasCUFM63D/1FtEAAAAAAAAAAABitHYiGQAAAAAAAAAAaHoQsAAA\\\\\\n\",\n       \"AAAAAAAAoKFBwAIAAAAAAAAAgIYGAQsAAAAAAAAAABoaBCwAAAAAAAAAAGhoELAAAAAAAAAAAKCh\\\\\\n\",\n       \"QcACAAAAAAAAAICGBgELAAAAAABaigceeEA6Ojrkk08+qXdVAACgRiBgAQA0MO+9957su+++st56\\\\\\n\",\n       \"60lnZ6dMmzat3lUCAABoOLbffvtF7pFbbbVVeg9dfvnl61YnRDQAgNqCgAUA0MB89dVXssoqq8ip\\\\\\n\",\n       \"p54qY8aMqXd1AAAAmoIBAwbI0KFDUxcWAAC0BghYAAB15MMPP0y/YJ999tm9yx599NH0i/d9990n\\\\\\n\",\n       \"a6+9tlx44YVy4IEH1vVXZAAAgEbloIMOkgcffDC9XzrByn2uvfbaRUII3fwKK6wgt99+u6y//vqy\\\\\\n\",\n       \"zDLLyA9/+EP573//K9ddd116v11xxRXl6KOPlu7u7kV+SDruuONkzTXXlGWXXVYmTJiQOqs8b731\\\\\\n\",\n       \"luy2227pvm79RhttJHfeeae8+eabssMOO6TbuHWuLq6ejlKpJDNmzJCRI0fK0ksvnf5A9fvf/34x\\\\\\n\",\n       \"59Ydd9whm266qSy11FLyrW99S+bMmdOPrQoA0HgsUe8KAAC0M85ddfXVV8vuu+8uO+20U/ql+oAD\\\\\\n\",\n       \"DpApU6bIjjvuWO/qAQAANDxOuHrllVdk4403lv/7v/9Ll7344ouLbefEqosuukhuuukm+fzzz+UH\\\\\\n\",\n       \"P/iBfP/730+FLSc6vf7667LHHnvI1ltvLXvvvXe6j7sfv/TSS+k+a6yxhtx6662y8847ywsvvCDr\\\\\\n\",\n       \"rruuHHnkkTJ//nx56KGHUgHLbTto0CAZPny43HLLLWl5L7/8siy33HKpWOVw4tUNN9wgl19+eVqG\\\\\\n\",\n       \"23f//fdPvxNst912vfU9/vjj03NzP3SdfPLJqVDmznPJJZfst7YFAGgkELAAAOrMd7/7XTnssMNk\\\\\\n\",\n       \"v/32k3HjxqVfgN2XWwAAAMjHOZSdc9m5qpzY45g7d+5i2y1YsEAuu+wyGTVqVDrvHFjXX3+9vP/+\\\\\\n\",\n       \"+6notOGGG6auqfvvvz8VsN5++2255ppr0v+deOVwbqzZs2eny5172q1zItUmm2ySrl9nnXV6j7fS\\\\\\n\",\n       \"Siul/6+66qqpSOYdXW6/e++9V7bccsvefR5++GG54oorFhGwTj/9dPnOd76TTjuX2LBhw1IBba+9\\\\\\n\",\n       \"9mJYAEBbgoAFANAAnHfeeekvxzfffLM888wzMnDgwHpXCQAAoKVwApcXrxyrrbZaGjroxCu97IMP\\\\\\n\",\n       \"PkinncvKhRO6F6lonAi18sorp9Mu5PCII46Qu+++WyZOnJiKWS7sL8arr76aOsG8MOVxLq7NN998\\\\\\n\",\n       \"kWVe4PJimHNp/+Mf/6j4/AEAmh0ELACABuC1116Td999N82L4fJm+F9yAQAAoDbY0DuXZyq0zN2L\\\\\\n\",\n       \"HV988YV0dXWlPyy5/zVe9PrRj34kkyZNSvNVORHLOajPP/98Oeqoo4J1cGU63PYur5aGH68AALJB\\\\\\n\",\n       \"wAIAqDPuV1eX+8KFK7hfV92XYferrws5AAAAgHxcCKFOvl4LnCPKlekcWdtuu210O5fv6vDDD08/\\\\\\n\",\n       \"J510klx11VWpgOXq5ND1cmGKTqhyoYc6XDDE448/LiNGjEinP/744zT/1QYbbFCz8wMAaDYQsAAA\\\\\\n\",\n       \"6swpp5win376aZpY1v2i6xLJHnLIIembkhzPP/9876+27q2Fbt59KXZfggEAAEDSUMAnnngidTG7\\\\\\n\",\n       \"e6l3UVWDCx10+Sndm4Cdq8oJWu4+7N4S7MIEd911V5k2bZrssssu6bZOZHL5s7zItNZaa6WOLnc/\\\\\\n\",\n       \"d/kuXRL3wYMHp3m0jjnmmLSO22yzTfod4JFHHkkTvU+ePLn3+C4hvQtVdGGN7rvCkCFD0pe+AAC0\\\\\\n\",\n       \"K531rgAAQDvjXpU9c+bMNIms++La2dmZTv/tb39LE8063Bdm93EhDDfeeGM67b4IAwAAQA9OFHJh\\\\\\n\",\n       \"fu7HHfc2P+dwqgUuWbsTsI499tjUJe0EpKeeeqrXGeXcVe5NhE60cm8ndELWr371q3SdCxE888wz\\\\\\n\",\n       \"5cQTT0xFKPdGQ8fPf/5z+dnPfpaGG/r9XEjhyJEjFzn2OeecI1OnTpWxY8fKvHnz5Lbbbut1dQEA\\\\\\n\",\n       \"tCMdSZIk9a4EAAAAAAAA9Py45d6G6Bxd/u2FAACAAwsAAAAAAAAAABocQggBAAAAAAAAAKChIYQQ\\\\\\n\",\n       \"AAAAAAAAAAAaGhxYAAAAAAAAAADQ0CBgAQAAAAAAAABAQ4OABQAAAAAAAAAADQ0CFgAAAAAAAAAA\\\\\\n\",\n       \"NDQIWAAAAAAAAAAA0NAgYAEAAAAAAAAAQEODgAUAAAAAAAAAAA0NAhYAAAAAAAAAADQ0CFgAAAAA\\\\\\n\",\n       \"AAAAANDQIGABAAAAAAAAAEBDg4AFAAAAAAAAAADSyPw/WoRiWDWQ7yoAAAAASUVORK5CYII=\\\\\\n\",\n       \"\\\"\\n\",\n       \"  frames[3] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQABAABJREFUeJzsnQeYJFXV/k91mpnNhF2WsGQkJ1GQIKIkFSOKoihJMCES9C+C\\\\\\n\",\n       \"fkQVEQMqSlIxgIoIfPCBgogCKghIDgIiaQnL7gLLxgndXf/nvdWn5/SZe6ure3p2Z2fOb5/aqRxu\\\\\\n\",\n       \"3aqueus950ZxHMdkGIZhGIZhGIZhGIZhGKOU3IreAcMwDMMwDMMwDMMwDMNIwwQswzAMwzAMwzAM\\\\\\n\",\n       \"wzAMY1RjApZhGIZhGIZhGIZhGIYxqjEByzAMwzAMwzAMwzAMwxjVmIBlGIZhGIZhGIZhGIZhjGpM\\\\\\n\",\n       \"wDIMwzAMwzAMwzAMwzBGNSZgGYZhGIZhGIZhGIZhGKMaE7AMwzAMwzAMwzAMwzCMUY0JWIZhGIZh\\\\\\n\",\n       \"GIZhGIZhGMaoxgQswzBGFYceeijtscceK3o3jOXIz3/+c4qiaMyW+dNPP+2OD8fZ6TLDujsNr/tf\\\\\\n\",\n       \"//oXLa9rfv31118h5Tia6jbmO/XUU9vaTrlcpi996Us0a9YsyuVy9L73vY9GOzjWsXzdrwj4Grn5\\\\\\n\",\n       \"5ptptDCcej0a9v1zn/scjWYWL15MRxxxBM2cOdPt77HHHktjFfxO4PfCMIzxjQlYhjGOue2229yD\\\\\\n\",\n       \"5YIFCzq2zuOOO45e//rX06qrrkoTJkygzTff3G0DD1md5JFHHnHrHYkX+OXN0qVL3bEM56VjJM5l\\\\\\n\",\n       \"Vi666CJ6y1veQmussQZ1dXXRBhtsQIcddtiYODfG+GZlqds/+9nP6Oyzz6YPfvCD9Itf/MLdh8cr\\\\\\n\",\n       \"P/7xj4clcr7wwgvuXnrffffR8ubWW2+l97znPU6I7O7udqLE29/+dvrHP/5Bo5k//OEPo06kGo37\\\\\\n\",\n       \"NBJ84xvfcPX9M5/5DP3qV7+ij3/84yt6lwzDMEaUwsiu3jCM0QxEj9NOO8190Zo2bVpH1nnXXXfR\\\\\\n\",\n       \"m9/8ZveShwfwe++9l775zW/Sn//8Z/dwDndApwQs7DvcWlncG6NdwMKxgHbdZyNxLrOCc4wXe7x4\\\\\\n\",\n       \"rbLKKvTUU0+5F/9rr72W7r//flprrbWW6/4YKxeoK9VqlUYjy7NuL1u2jAqF9h7L/vKXv9Daa69N\\\\\\n\",\n       \"3/ve92i8AwFr9dVXb9upAQEL91L8rmy33Xa0PHn88cfdb+SnP/1pJ169+uqrdMkll9Duu+9O1113\\\\\\n\",\n       \"nROzRiMQi370ox95BaPh1OuR2qexBK79N73pTXTKKaes6F0xDMNYLpiAZRhGR/n73/8+ZNxGG21E\\\\\\n\",\n       \"X/ziF+nOO+90D1rLmziOqbe3l3p6epb7tsfLC6MGIUxveMMb6Je//CV9+ctfXiH7ZawcFItFGq0s\\\\\\n\",\n       \"z7oNwb9d5s6d21HhOu2eifGlUqljHyOMQRAKhk7y2c9+ljbccEM655xzRq2ANVL12sh27W+xxRYd\\\\\\n\",\n       \"KyqEI+ODAq7x5c2SJUto4sSJy327hmGsXNjTh2GMU/BV8v/9v//n+uEwQO6Ekcqpww6pToW3wS5/\\\\\\n\",\n       \"wAEHuP63vvWt9X3nEDxs713vehfdcMMN7kUTL2EXXHBBag4dX56O559/ng4//PB6+NCWW27pQnVa\\\\\\n\",\n       \"BbmE9t13X+cKwL6gvLFegH2aPn2668dXfz4W3pcHHnjAOQnwAsMhJVj25Zdfbulc4iv+Djvs4LaP\\\\\\n\",\n       \"8M4DDzyQZs+eTSNFp885gwdrvMjhXKA8cG4+9alPOaeC3j7qAATVHXfc0c2LMoTooME+IuQKy+A8\\\\\\n\",\n       \"r7POOnTwwQfT/PnzG14SPvGJT7jtYV3bbrutC9XyrQvna+rUqU5QOOSQQ4Jl8Oijj7qQL5wPrBN1\\\\\\n\",\n       \"9Zprrhky38MPP0xve9vb3LnDvn3ta19r27EER9E73vEOmjJlCk2aNIn23HNP+uc//xl0BqJsV1tt\\\\\\n\",\n       \"NTc/ykSXc1rdHk4OrCzliHOCaweuRQguzBNPPOFegj784Q/TylS39T2Ic0TheNhZifKAuxXnBvA9\\\\\\n\",\n       \"7a9//aurJ/pe2Or1ou+ZWA/W99vf/pa++tWvOpcXQsMXLlzolrvjjjucqIL9wniEW/rC3XAdvvGN\\\\\\n\",\n       \"b3T7gA8aWHc7zJkzxx0/rgNcq2uuuSa9973vrd/rcBwoh1tuuaVeFuxqfeWVV9yHlK233trVfdRp\\\\\\n\",\n       \"XAtw0jE4XuwnwHZ4HfI3I+sxdwpsA/W80/Xt6quvpv3228+5CFGWOC9nnHEGVSqVIfPimN/5znc6\\\\\\n\",\n       \"FyKurW222Ya+//3vu2mom3A6AS4vmdvM99ua5T7E+eNQtscff7wrA2z7/e9/P82bNy/12Jrt07e/\\\\\\n\",\n       \"/W3aZZdd3L0NdR2/jb///e8zlRvuvxBvf/jDH9bH/fGPf3TOc+zf5MmTXbmiHup9wrHiuQIiOPpx\\\\\\n\",\n       \"TKiTusxffPFF9/swMDAQ3A++NuEKhTtP/+5n+c3i+wfKA/cJ1AHUBew77ukodwb3EtyD8vl8Q108\\\\\\n\",\n       \"66yznMOO00RkeWaR9ze46T/60Y+6urXbbru5abifo5xxnaP+4zlPl6dhGOMXc2AZxjhl//33d+EK\\\\\\n\",\n       \"v/nNb1zYCR5WAIspr732WurDE4MHFDyI6S94eMDp7++nhx56yL344KEOQkInQDjF5z//efrBD35A\\\\\\n\",\n       \"J510ksuzBfgveOyxx+gjH/mIe1k78sgjadNNN21pGy+99JJzi3ESV5QLHlLxQIiXt6yJUvEQuc8+\\\\\\n\",\n       \"+7jl4dbAAyAeGq+88ko3HePPO+88l78CD+Y4LwAvCODGG2+kJ5980r1M4UEQD3EXXnih+4sHfuxf\\\\\\n\",\n       \"s3P59a9/nf7nf/6HPvShD7mv+3j4x8M3yhEvEuzcwEsxvxingQdYPGxq8ICKB/Fnn32WTj/9dDcO\\\\\\n\",\n       \"LyadBOcTLzYoD9QBPLyfe+657jjwoiPdPHjxh0CEcwYBBOIjHqzxsoIXeoCHbrx4/Pvf/3YP2cjf\\\\\\n\",\n       \"BuEKQtJzzz3nyhIhMHgJxvpQFyDSXH755W5dqOfHHHNM/aEbL9N4WUcIEOrjVVdd5batwfnbdddd\\\\\\n\",\n       \"nSCAeoEXn9/97nfuxeaKK65wdYFf2PHwjmuK58P5b8dNiG3iWPHSiITfKCsICTg2vPDvtNNODfPj\\\\\\n\",\n       \"WFE38KKB6wn19Jlnnqm/ODWr2+2StRxnzJjh9gliNuoz6gNesnBecL+R7qmVoW6HwHWLOnfmmWfS\\\\\\n\",\n       \"PffcQz/5yU/csePFEWWPvDe4xlGXMY+8F7ZyvaTdMyFswJGBl+2+vj7Xj9AliBC4nhC+hJf6iy++\\\\\\n\",\n       \"2Imtf/vb3+r3+wcffLBeT1CXUJcxP16sW+UDH/iAq8dHH320E6tQB3GPxHnBMF7CMQ2/SV/5ylfc\\\\\\n\",\n       \"Mrwd3Ef/93//19UXlCfu8aj/EKDwEg0hB+WG83vyySfTJz/5SXe9AIgdIOsx47cTv6FZgICt3Wz4\\\\\\n\",\n       \"jcHvJ+5FEN3xO4rfuk6CeoFygkiBvzg2HDe2jXxqDMoX4ibEQtzr8DuE+yXCaDGM+oKwS8yHutjp\\\\\\n\",\n       \"+xDOJ65JlDfuLzjHuDdddtllwW002yeIbwgLPuigg1w5Q6BFvcAxQXwKgWcZ5JzC/uIaAVg/7k0Q\\\\\\n\",\n       \"8nFN4j6D+xLEGFxnUpzHPQTz4RghGiG1wne+8x0nHOEZgDnxxBOd2ITrNZQiAXUV28bHFwg9X/jC\\\\\\n\",\n       \"F9x4XGdZf7MY1GE4K1HnIWBB2MPvE9I+MBCmUKdRV3Hv4HJCvd9+++3rz4FZnlkkKPdNNtnElSt/\\\\\\n\",\n       \"iEA9hIAF0RQd7nu4h+BcGYZh4GZhGMY45eyzz8bTQvzUU08NmfaWt7zFTWvWHXLIIUOWvf322xvm\\\\\\n\",\n       \"2XTTTeO//vWvmfYJ68O2m3H55Ze7dfvWu95667lp119/fcN4HCfGX3zxxUOWwfhTTjmlPvyJT3wi\\\\\\n\",\n       \"XnPNNeP58+c3zHfggQfGU6dOjZcuXZrpeK666iq37rvuuis4z7x584Zsn/Ft5ze/+Y2b/9Zbb216\\\\\\n\",\n       \"Lp9++uk4n8/HX//61xvGP/jgg3GhUGgYj+1nOecoXx9dXV31eVZbbbX4Bz/4QZwFnI9Et0jnb3/7\\\\\\n\",\n       \"m5vv0ksvbRiP86zHcx2QZTR37ly3j1/4whfq404++WQ335VXXjlke9Vq1f0955xz3DyXXHJJfVp/\\\\\\n\",\n       \"f3+88847x5MmTYoXLlzoxv3v//6vm+9b3/pWfb5yuRy/+c1vHlLv9txzz3jrrbeOe3t7G7a3yy67\\\\\\n\",\n       \"xJtsskl93LHHHuuWveOOOxqOA3UwdO2GeN/73heXSqX4v//9b33cCy+8EE+ePDnefffdh5yPHXbY\\\\\\n\",\n       \"wR0ng+PC+Kuvvjpz3c56zcs61Uo5go985CPxhAkT4scff7x+HWAdktFet4G+B/A+H3744Q3zvf/9\\\\\\n\",\n       \"73f7IME9c8sttxz29aLvmbi/YvyGG27YcC9CXUU93XfffevXCcA8G2ywQbz33ns31Lvu7u74mWee\\\\\\n\",\n       \"qY975JFH3H0pa9mAV1991c2Pc5wGysH3G4JrrVKpNIzD9YNze/rpp9fHoT776lkrx8zllqXzXcPY\\\\\\n\",\n       \"Bk/HNfupT30qXrZsWdMy4t+4LL+3vt8WbAfXEt+XcN3h2FA/UP66PJijjjoqeC51vW71PrTXXns1\\\\\\n\",\n       \"bOu4445zdWfBggWpx5e2T/rYcZ/baqut4re97W1D9h3rAfjdyOVy8c9//vP69EWLFsXTpk2Ljzzy\\\\\\n\",\n       \"yIbl5syZ4+7Rcjzuc1ifrGtg++23d/daCc+b5f6Oc7Pffvs1jMv6m8X1ZcqUKe53RYLrDOXM8+Ke\\\\\\n\",\n       \"h23tuOOO8QknnODG4XrC8eOctPrMwvc33L8l2A/UDxyTPO8nnXRS8JnTMIzxhTmwDMPwgq+COszE\\\\\\n\",\n       \"hy+JMfIx4Csc8hkguTi+Mna6FcJm4IsjvnS2A55b4YKB8wH9MpQM68TXWnwRxBfKZrC7CV92YeFv\\\\\\n\",\n       \"Nd+PdNrgCynKkfOIYR/YIRACbhi4UnAs8jjwZRRfPRF6xF/2ESLGFv6s+ySBQw37iK/zCFnE+e8k\\\\\\n\",\n       \"+IKMsJ2999674VjghsDXXxwLQhFkPZTlgy/TcJXg6zCD84zzwo4nCX8pRjJglBfcKQzOIxwtGAfX\\\\\\n\",\n       \"ABwKmA+hFPJLOhw9cBDgKzWDUCa4HeD0WLRoketk/YLTAGEmcGdhnTjf0r2I44BzwJefKQS+/P/p\\\\\\n\",\n       \"T39yDi+EdjBwVaDMkJgczgu4Ihh8jZf1FceFuoJ9gnthuHU7RNZyZOAogisMbjs4EdEKFxxcktFe\\\\\\n\",\n       \"t9OAC02COg1Hmj5fw71e0u6ZcJjIskELff/5z3+cI0WHBsGZBmcI7ju4fyIsEfVu3XXXbXCPYFs4\\\\\\n\",\n       \"11nB9uH8wrmGq9LnlEsDzhJ5PcCJgnLAPQH30mZkPWY4VHA94DcwC7i3aNDwCRw1CPOGEwfOEzjX\\\\\\n\",\n       \"Ook8n7gHwVmHugV3EcLXcAxwEMEFBGevzrGmnTQjeR+S28I+Yn/gBmWn8nCOHc852C+sFy5mDeow\\\\\\n\",\n       \"XEwoF1z78ncA5xj1COPkNYb7FVxWuMayXM/aJQZ33HBa0sz6myWdjezYlvuFcsEzHK5V3HsxDo5G\\\\\\n\",\n       \"vg/DGYjjl7+zrT6z6PLA8yLqO+738rzD9Q6XlmEYhglYhmF4wUtOu+Dhc6+99nL9eJH89a9/7f7i\\\\\\n\",\n       \"4QUPxcsDvIy1C0Ls8FAG2zs6HwhdyQLCU/BwiPxWeOiGrR8P73hYly9UISB2YFmIZnqbWUJU8MKF\\\\\\n\",\n       \"B3CIVT6k6IAXCvlS0SoIdQMIscH53mqrrdwLIh7+OwGOBceM8CkfunzkCzODl14pzP73v/915ycN\\\\\\n\",\n       \"vCih/HSYD4dpYTr/xYuYDqnV4asI68A5QVgnutCxQMDCOnVIjW+dWeo0Qlt8y+E48OKNl2UOrQS6\\\\\\n\",\n       \"zuC4cHycY2W4dTtE1nKUIVgIJ0YoCl6u0K8Z7XU7DV2PWbhBPU4TsFq9XtLumXoa1g184bEMtg1R\\\\\\n\",\n       \"BOFMvvsPzmcrAhbqFEK0IOzgPOOlGC/hECd9IpAGdRyhYxB+IcrIvEMImWpG1mPG+UHHv4HtIFs/\\\\\\n\",\n       \"/NjHPuZCmxH+lTVPUxYQ0gUxDmI65zTTvy24PwLU907Qzn0orf63C0R3hKhBlEQdTRPlEMIJEQZh\\\\\\n\",\n       \"gVIQknUCIaQ+9PWJlAtaKNK/SZ0g629W2rWPOof8UxCrWMDCvR7XGkK2IU6xkCU/DrT6zKK3zfum\\\\\\n\",\n       \"7xkot1ZFa8MwxiYmYBmG4QUPIVnyDeBrG77yp4EcTXBF4IFmeQlYPidF6IuxTqDKCbLx4hB6Wcn6\\\\\\n\",\n       \"5RfbxEsHcj/83//9n3MjINcSHG4Yp1/SNXBO4QsokrTjpQbzY/+QRDhLIm/Mg32AgwRfhTVy+3hI\\\\\\n\",\n       \"z+KUw3r0Q7gGOT2QF+PSSy/t2Es+jgUv41inD71PvuMFMuH3ioDPG/IJhRwvG2+8MY12hlu3Owm2\\\\\\n\",\n       \"DfAiiNxl2i0y2ut2s31qpx63er2k5VXT07gOI1eSFFskOP9SHOgEcGG8+93vdrmscM4hACPvF0QY\\\\\\n\",\n       \"nJM04N7A/KijyOnFuaewzqz30izHDPDbid/QLOA8hM4xgOsMjke4siAGdqI1XXyggQANgQVOUNRp\\\\\\n\",\n       \"iCv4yHTCCSe03UjESNDp+zhEF5QnckBCzIRYjg85yAOFj20aOK0hdMHpid9j1BuGywkOKp+ICidp\\\\\\n\",\n       \"lmNZ0fjqFMoEH0+QBwsfXZCPkR1YyPGGxP4oy80226zhXtLqM4u1Dm0YRquYgGUY45i0EACITrCZ\\\\\\n\",\n       \"NwMCTzOrO15i8OCSNaltFtoJX+Cvd7o1J/01Eg9jSAINYWs4X9ElcAugQ7JlPCQjBAyCHpKqh44F\\\\\\n\",\n       \"L+M33XST+5qJpKb6q68ktA68mOBBH185X/e616XuI5LKYlvNWG+99TK1VomXrU6+wOJYEF6AF4pO\\\\\\n\",\n       \"PfRinQiDaHa8SGDL4UEMwmx4Ov/F+YJQIsUbJMeWsBMILwjN6hfW6Tvfep3NQJ3G13TfcjgOHNes\\\\\\n\",\n       \"WbMaxmO77DwCOC60joWkulnrdjtkLUfm+uuvd4nNkRAaYg3uSXi5ki+Po71ujwQjcb3IdWu3baje\\\\\\n\",\n       \"YdudqMNy23BhocN68ZIM0RThXWn3QoitqM8//elPG8bj94AbvkhbPusxA7zAy2snjbRE3bK+4T6O\\\\\\n\",\n       \"UL9OnEuEYSIMEiHmEHLkvviOGffItGPO+nvczn2oXUL7hLBxiHUQQKVTFAJW6GPCt771LecwhQiD\\\\\\n\",\n       \"exOeD2T5QCju1LNCJ8j6m9UMCFZwPeI+gmsEYhXKFQ45iFfoZChiK88safvOy0jXLNx7nXaqGYax\\\\\\n\",\n       \"ctLoLTUMY1yBFs2Ar3luvBAgv0OzDi+NDNbja7kQL5cAzbMvj30PgRcPPITJlnWAziWEr6QIjcKD\\\\\\n\",\n       \"rk/caNaEtwQPXPpLMX+95xdgPND7joW/1url0QpT1vKAEIn14IFSrwfDMpcLQnGynHPp6EBeFt9D\\\\\\n\",\n       \"5Z133ulaH+vkOceXXYiKcE9ouOXLVsF5vv/++11OIQ2XFwQbfH2WrV5hewijgMACJwPPh/EINWGw\\\\\\n\",\n       \"v7K5dX7ZwcsQcqpAEEqrX1gn3EwoTzk95KoJgTqAVpyuvvrqBoEGLbFBdEIIiA53QfisvJ5xXDg+\\\\\\n\",\n       \"hNFlrdvtkLUcAc45hDLkCIPDBvcauEh0rpTRXrdHgpG4XmSIOV7eIQz6nG1ch1Hv4DKEYwotBTLI\\\\\\n\",\n       \"Jcauuawg9AxhSxLsA8QEWd9wL/QdG/ZF11fkCUO+uSz30qzHDDgHVpZOOnd8oenYD/wWQdgJhYO2\\\\\\n\",\n       \"iu+3Ba4x/VuIMDJ8/MBvji4PuWzW3+N27kPtEton7ANEGOm8xr6gjoaA4xrhrqi3cABCUASo29hf\\\\\\n\",\n       \"3G98zz6tPCtI8LsAsSlLS9A+sv5mZRGwcG3h/OPcsCjIebvQ0qPMadXKM0sICIH4uIN9letpZR2G\\\\\\n\",\n       \"YYxtzIFlGOMYznOF5sYPPPBA99CAhzM8+LWTAwtfdZEkFMmUkb8AD8T4QoevvHjZQ0hep8CLMh6W\\\\\\n\",\n       \"8HUQzi58SUUeimYP+HjZRSgG/mKfIGYh8bMG8yABKyz0aC4bCcEREoKXY3yNzBoeggS8eClAknC8\\\\\\n\",\n       \"/OALOhLV4qGXnSz4oo7142ETLimEKCDnCDp8HcfXXzzIIicSEuDqr+Rp5xLbRK4PNMuNh3TkKMIL\\\\\\n\",\n       \"H9YB0QYJchHK1m6eILzI4cXqwx/+sPsqi7qDl3t8zUZoaSjHUzvgoRvNoyNkCCEdeBHCceJLLV5E\\\\\\n\",\n       \"kd8Gda8VEOYAZwbyJyG0COWIc3vNNdfQ+eef715EUUYQm5CD5u6773ZuCSyDpsTxUM1f41HecLt8\\\\\\n\",\n       \"+ctfdmWNc4q673Me/uhHP3IvBFtvvbWrXyh3vMTdfvvtLgQOohqAQIwXBXz5R9PnKF8IS/yFvRVQ\\\\\\n\",\n       \"D/DCjO1+9rOfdQ4lHBdeUFDHNLh+kZwaQggcE6jHWBbhN1nrdju0Uo4oE4iwuCZxP0A54drGsSJX\\\\\\n\",\n       \"FYcsj/a6PRKMxPXCwNUBsRBiJsrmsMMOc/cniEG4b6IOIKwUQDyHSw4vuqh3/CKN5Vqpw7hPc31E\\\\\\n\",\n       \"nUD9xT0M1w3ueQyuYYifqANwz+A3Ab8NcIogXA77ussuu7hzCcFS1wvUZYSg4vrHtY3zjt8BCDlZ\\\\\\n\",\n       \"j7ndHFhY9zrrrOO2h/2G6If6BqFAihHDBcePfYRbEb/ZECZwn9HCA84zyhLXJH5zccwIuYO4ghxa\\\\\\n\",\n       \"LELy7w/WBVEH16I8J8O5D7VLaJ/2228/+u53v+vuFcjXB9EQ92PUlbT6CJcphDfc23DdQPDCOUf5\\\\\\n\",\n       \"IEUCxD6sHy4znLfrrrvO3ccQetgq+L3G/TWLO89H1t+sZuy8887u/OD+j3UyeC7hDwxSwEJ5ZH1m\\\\\\n\",\n       \"CYHywzMJ7lu4ZlHeaEwAaRCkU9IwjHHMim4G0TCMFcsZZ5wRr7322q556KzNNod44okn4oMPPtg1\\\\\\n\",\n       \"ud7T0+OaTkeT5mguefHixZnWgSaSfU2g+7jooovctrg5dm463NestGzi+ROf+IRr4hrNdn/oQx9y\\\\\\n\",\n       \"zTbrpr7BSy+95JrQnjVrVlwsFuOZM2fGe+65Z3zhhRfGWbnnnntcM9Hrrruua659xowZ8bve9a74\\\\\\n\",\n       \"X//6V8N8t912m2tKG81Hy3157rnn4ve///2uqWrs8wEHHOCaHPftb9q5vOKKK+Lddtstnjhxous2\\\\\\n\",\n       \"22wzd2yPPfZYPBz6+vriY445Jt5mm21cU9woJ5Q/yjhrXeLm0rOC8kdZoY7hHG699dbxl770JVcu\\\\\\n\",\n       \"TKgOoG7p+vXyyy/Hn/vc51zZofzXWWcdVw/nz5/fUBcOO+ywePXVV3fzYJvYbw3W9fGPf9yVBc4X\\\\\\n\",\n       \"+u+99153fHp+NCOP6wX1CuWG7aNu/P73v2+Y74EHHnD7jOsJ8+A8//SnP23rekV93HfffV1T6hMm\\\\\\n\",\n       \"TIjf+ta3urrnOx+33HJL/MlPfjJeZZVV3PwHHXSQO75W63YzUNY4X62W49VXX+2Gv/Od7zQsi2bf\\\\\\n\",\n       \"sb5tt93WNR2/stRtfU1zM/Pz5s3zrlPuA+oH7rWdvl5wT8W2Lr/8cu+6cU7233//eLXVVnN1AOvB\\\\\\n\",\n       \"PfWmm25qmA91ie9vuGeff/759ePLCq5H3LNw78I9DPVip512in/3u981zDdnzhx3LDhWrJ+v997e\\\\\\n\",\n       \"3vgLX/hCvOaaa7qy2HXXXePbb7/de09A3dpiiy3iQqEw5NrNesztcO6557r7NO4z2Pb06dPjd7/7\\\\\\n\",\n       \"3fGtt96aaXnUCflbmMY//vGP+E1vepMri7XWWsvViRtuuMG7/N///vd47733dmWKssc18cMf/rA+\\\\\\n\",\n       \"vVwux0cffbTb3yiKGs6r77eqlfvQXXfd5a2TzY4xbZ9w/9xkk03c+UN9wrZ89RHDqHO6buDcfPjD\\\\\\n\",\n       \"H44rlUp9n3A8qJO4T2+00UbxoYce2nAvxH0OZafxbRfzZr2/h67dLL9ZXF/OPvvs4Prf+MY3unnu\\\\\\n\",\n       \"uOOO+jg8l2Acno00WZ9ZQvc3gHI97bTT6tfqHnvsET/00EPuWFE2hmGMbyL8t6JFNMMwDAZfDOG6\\\\\\n\",\n       \"gJvLGB8ghxq+7NvPkTHWsLptLE/w2wmnGBxhCFM2DMMwjLGG5cAyDMMwDMMwDMMwDMMwRjWWA8sw\\\\\\n\",\n       \"DKNNkKBVJoL1NX8um9w2jJEAuZp8SaV1XpHl3YQ7cokhj1YI7I9sft0YvyC/GSfGDiGTnRuGYRiG\\\\\\n\",\n       \"MT4xAcswDKNN3vjGN9IzzzyTmkTZQiGNkQatoiFRdhrtJgMeDmgB85ZbbglORyJ62RKZMX5BMn4k\\\\\\n\",\n       \"rU7DQowNwzAMw7AcWIZhGG2CFn3SXANo5amd1hwNoxWefPJJ16WBFr+6u7uXa8Gi9atXX301OB2t\\\\\\n\",\n       \"b6KVLsN45JFHXEt7abTTqp9hGIZhGGMLE7AMwzAMwzAMwzAMwzCMUY0lcTcMwzAMwzAMwzAMwzBG\\\\\\n\",\n       \"NSZgGYZhGIZhGIZhGIZhGKMaE7AMwzAMwzAMwzAMwzCMUY0JWIZhGIZhGIZhGIZhGMaoxgQswzAM\\\\\\n\",\n       \"wzAMwzAMwzAMY1RjApZhGIZhGIZhGIZhGIYxqjEByzAMwzAMwzAMwzAMwxjVmIBlGIZhGIZhGIZh\\\\\\n\",\n       \"GIZhjGpMwDKMlYif//znFEUR/etf/1rRuzJuOfXUU905MMKM53rKx/7000+v6F0Ztdg1ZBiji8WL\\\\\\n\",\n       \"F9MRRxxBM2fOdPevY489dkXvkpHCoYceSuuvv/4KL6PZs2dTd3c3/eMf/1gu23v55Zdp4sSJ9Ic/\\\\\\n\",\n       \"/GG5bM8wjNGJCVjGqODBBx+kD37wg7Teeuu5H8O1116b9t57b/rhD3/YMN83vvEN+t///d+2t/PI\\\\\\n\",\n       \"I4+4l6dOv1zefPPN7qGPu2KxSBtuuCEdfPDB9OSTT7a8vh//+MfuRXi8s3DhQjrttNNo2223pUmT\\\\\\n\",\n       \"JlFPTw9ttdVWdMIJJ9ALL7wwYttdunSpqyc4r0bCs88+S5/+9KfdQ3NXVxfNmDGD3ve+9y23B9fR\\\\\\n\",\n       \"xnDvRSMBzg3fg3K5HE2bNo223npr+uQnP0l33HEHjWZGY3kaxnj5aIDrD+v4zGc+Q7/61a/o4x//\\\\\\n\",\n       \"OI1n5PMcuilTptBb3vIWuu6662g0sqKeWU4//XTaaaedaNddd+3oeiFQ4Xg0q622mhNa/+d//qej\\\\\\n\",\n       \"2zMMY+XCBCxjhXPbbbfRG97wBrr//vvpyCOPpHPPPdf9QOEF7Pvf/37HBSwIIiPljvj85z/vHv4u\\\\\\n\",\n       \"vPBC2m+//eiyyy6jN77xjS2LLSZgkRP+tttuOzrjjDNoiy22oLPOOot+8IMf0Fvf+lb66U9/Snvs\\\\\\n\",\n       \"sQeN5MMg6onvYfCrX/0qLVu2jMYTEKkghPzmN7+hD3zgA65+HnPMMfTwww/Tm9/85iFC83ggdC/C\\\\\\n\",\n       \"ix/qB8T4FQGuGdyDfvnLX9KZZ57prpf/+7//oze96U10/PHH02jAdw2ZgGUYK46//OUv7h5xyimn\\\\\\n\",\n       \"0Mc+9jHaYYcdxv3pwEdUvpd+6UtfoieeeILe/e530w033DDqyibtmWWkmDdvHv3iF79wH7Y6DQQs\\\\\\n\",\n       \"HI8PbO+ee+5xddYwjPFJYUXvgGF8/etfp6lTp9Jdd93lHAOSuXPnrlQFhJd5OMnAYYcdRq973euc\\\\\\n\",\n       \"qIUf+RNPPHFF796oYsmSJc4K7qNcLtP+++9PL730knsg22233YbUGQhaK4JCoeC68cKrr77q6jTc\\\\\\n\",\n       \"bxCyNtpoo/o0CCL77ruvCzfBC88uu+xCo4k4jqm3t9ft+/Iin8+7bkUB9ypeQCW4Vj760Y/S9773\\\\\\n\",\n       \"Pdpkk02cy2JFMt6uIcMY7eBZCx+KOkW1WqX+/n7nqF9ZwfObvJfi4w3KCB9W8bs33rnkkkvcfRyi\\\\\\n\",\n       \"3vJk8803d058OAbf9ra3LddtG4YxOjAHlrHC+e9//0tbbrnlEPEKIEyJgY0bogfEILZ1Iw8AeOaZ\\\\\\n\",\n       \"Z+izn/0sbbrppu5lFTbjAw44oMFphR87jANwJfA65BerP/7xj06EgrAyefJk56KCy6Rd+Mf1qaee\\\\\\n\",\n       \"cn8vvvhiNw7HhTAsPAydd955Q8KAsM1bbrmlvo/abdTX1+fEg+nTp7t9ff/73+++hmUBX634GFHm\\\\\\n\",\n       \"733ve+nf//53ffrvf/97t01sX3PBBRe4aQ899FB93KOPPuoEjlVXXdU9rMJNd80113jDG7BOnCcc\\\\\\n\",\n       \"/zrrrBPcxyuuuMI58r7yla8MEa8A7PwQsSSXX365E1Fw/ldffXX34Pn88883zIP6glBEjEf4G/pR\\\\\\n\",\n       \"hl/84hepUqm4eVBnMA7gCyCfA7az+/L3YPhzn/ucc+TgwQrnFnX6+uuvz5S3wrdOiHhwn0Ewwvqw\\\\\\n\",\n       \"3EknneTOvd62z2qP+fn6AAMDA+54IGDgPOEaQdneeOONlAbO+Zw5c+jss89uEK8AypqvR4QS+L4K\\\\\\n\",\n       \"f+pTn3LbwjlDSC0EMQlCXvAygHOG9W2wwQZ0+OGHD3kZOuecc1yZYt/XWGMNt169Lhzzu971LveF\\\\\\n\",\n       \"HPUQ68P+45zgmtdgvRB8WHQG3/72t50Qh33G8qhTuCYkafeiUA4suNaw/ziXa621Fh111FG0YMGC\\\\\\n\",\n       \"hnlwnWNf4RTF/k6YMMHt37e+9S0aDjgOOAlwjeK6gbDXbtn+/e9/px133NHNizBpuBMkWeqZru+h\\\\\\n\",\n       \"8vzrX//q+q+66qohx/TrX//aTbv99tuHVTaGMVbJ8nvH6Q/wjILwOL7++P6F3xu4sjbeeGN375o1\\\\\\n\",\n       \"a5ZzI/l+h/AbeOmll9bvc/z7h+3jno57C/82/uxnP2tYnvfjd7/7nbtH4fkA948999zTOZ80CIl+\\\\\\n\",\n       \"5zvfSaussop7ltlmm22GOPazPJu0KpzgdwrPrJKsZYR7IO6FeO7CucDzKn7TmdBvB5dNyF3V7JkF\\\\\\n\",\n       \"92SUxYsvvpjpOPk5BmWGv7j/+p5dMB/CB3Eskv/85z9O7EM+NawD5/LAAw+k1157LdP2sa0f/ehH\\\\\\n\",\n       \"rl+GcWp3HJzF8rfMMIzxg30CNVY4CLXBSwhEEfxYhsALGEIL8fKEnC6AX6jh3kIoIn4k8WOJH3QI\\\\\\n\",\n       \"Q3ghxMsgXgR3331354ZCGBoeGvAwAvgv1n/IIYe4l2k4FvDyjXXggePee+9tK2EmP+jgJQ5gfXh4\\\\\\n\",\n       \"e8973uO+XOEHGIIOXiLxQgvwMnn00Ue7hwIIOAAPfhJMx4MbHppwrFgGD48IWUzjz3/+M73jHe9w\\\\\\n\",\n       \"L554uEEYD8K/kL8AlmwcI0Q7bBsPksj5IMH6sf98niC0YVm8ZH/5y192D5JYDg/LEKEgrElwrHjQ\\\\\\n\",\n       \"Ovnkk90Lawh+yMyahwMPfnC8IVwTYVNwbuFhFo4hnDspjuLBHecYD14QK1Am3/nOd1xdgjMF+4fz\\\\\\n\",\n       \"hH7sP5xgAA/IaeDF/sorr3THCPET9QwPccgdxee/FVDX8UKPB/AvfOEL7oEdxwax0fdC3wycbyzP\\\\\\n\",\n       \"1xDyi0E8wnnHw2AI1FE8hH7oQx/yTofghGsEwijqk3Q7oU6i7LHtxx57zJUrxGZ+IMdX/3322ceV\\\\\\n\",\n       \"OeoP5kV9RjlKIKjwOcY1jJcthBrj3OIcI+ccg+185CMfccsgJBkvCR/+8IfdPkCIw0O1PGcI78V9\\\\\\n\",\n       \"g0G9wfV50EEHOQfBb3/7Wyd8X3vtte7aaHYvCpU9Xiz22msvV6+4LHDf0vsP4ejtb3+7q3coc4hn\\\\\\n\",\n       \"yPmGEE5cu+2Caxr1GeG3uCfiOm61bPEiifr4iU98wt0r8RKKlw2IfLy+dupZqDwR0oSXQbwU63sJ\\\\\\n\",\n       \"xmGenXfeue0yMYyxTrPfOzz/4Po77rjj3LMTfmsA7sl4LsG9EPdJXJeYF/lK4eR8/PHHh4RQ4zcA\\\\\\n\",\n       \"v/+470PowfMEfotxHbPAhfXiQyHuIbg36GTx3/zmN136CIhsEDwg3uNeLHP4QQiCmL7mmmu6UHbc\\\\\\n\",\n       \"0/G7iHs0htt5NskC9gf3Z3mvz1pG2B/sM54j8LEHQhfup53IIdnsmQUCIvYL9+xmuVX/9Kc/1Z1m\\\\\\n\",\n       \"uI8jaTp+G/QHR4hi+P3Sbl78ZqK+QbzDcyrODbaPc4MPNoi2aAZ+k/C7jPOMuukDvzkoY5Rr2nuD\\\\\\n\",\n       \"YRhjlNgwVjB/+tOf4nw+77qdd945/tKXvhTfcMMNcX9//5B5J06cGB9yyCFDxi9dunTIuNtvvx2f\\\\\\n\",\n       \"ZuJf/vKX9XGXX365G/fXv/61Yd5FixbF06ZNi4888siG8XPmzImnTp06ZLwG68N6f/azn8Xz5s2L\\\\\\n\",\n       \"X3jhhfi6666L119//TiKoviuu+4K7ue+++4bb7jhhg3jttxyy/gtb3nLkHkvvvhit5299torrlar\\\\\\n\",\n       \"9fHHHXecK78FCxak7ud2220Xz5gxI3755Zfr4+6///44l8vFBx98cH3cRz7yETdfuVyuj3vxxRfd\\\\\\n\",\n       \"fKeffnp93J577hlvvfXWcW9vb30c9muXXXaJN9lkkyH7vdtuuzWsM8T222/vyj0LqCfY16222ipe\\\\\\n\",\n       \"tmxZffy1117rtnnyySfXx6HuYJw8Bt7eDjvsUB/GOcR8p5xyypDtYZy+dWK4VCrFTzzxREO5YvwP\\\\\\n\",\n       \"f/jDhu2vt956Tdd53333ueEjjjiiYb4vfvGLbvxf/vKXhm379hPbkdfKtttuG++3335xq+C6wLJp\\\\\\n\",\n       \"fP7zn3f78cADDzScb5SpvI6/9a1vufFXX321G77qqqvcMF8fPv72t7+5eS699NKG8ddff/2Q8Thm\\\\\\n\",\n       \"jMM0yWOPPTbkXIDPfvaz8aRJkxquS32NYv9Rt972trdluhfxsT/11FNueO7cua5u7LPPPnGlUqnP\\\\\\n\",\n       \"d+6559bvGQyueX3P6uvri2fOnBl/4AMfCJaRPP60c/y9732vofzbKdtbb721Pg7H1tXVFX/hC19o\\\\\\n\",\n       \"qZ75rqFQeZ544oluG/Lehu0WCgVvvTeM8Qjfd+S9NOvvXeje8atf/cr95uM+ITn//PPdev/xj3/U\\\\\\n\",\n       \"x2EY8z788MMN837iE5+I11xzzXj+/PkN4w888ED3G8/3W36G2nzzzd09j/n+97/vxj/44INuGM8P\\\\\\n\",\n       \"G2ywgdvfV199tWGd8pko67NJCGwT+45nAdxv/vWvf8Vvf/vb3fizzz675TLiey/WF0L/djBcNvK5\\\\\\n\",\n       \"VT9LpD2zYH2Y5ru/+p4Rcb7k/RbP6Fhebg/POr7f1HvvvdeNx7P2cDjqqKOG/EZIbrvtNjf9sssu\\\\\\n\",\n       \"G9Z2DMNYObEQQmOFg6/ycGDhKxbCxvDFDV9w8OUsq91buj7wZQhfjWDnhqMDX/6bgS89+DoE58b8\\\\\\n\",\n       \"+fPrHXLZ4MslQlmyAJs8voYhRAhuDQ6LgXVd7ye+5mEbcDkhYXlWezXAlz5pqUZIIL60wt0SAvbx\\\\\\n\",\n       \"++67zzkmYKln8JUO50A2SwzHCtwx0rIOJwi+NmIaeOWVV9wXV7hEFi1aVC8zlD3OH2zkOoQPjpgs\\\\\\n\",\n       \"+YHwZRYupizA3YF9hfNJ5ttA+W+22WbeVoN00lGUXzutRUrgrpFfZlGuCJtrZ718LnTSbf463k5L\\\\\\n\",\n       \"SLgW8LUS56UVcG6bnQuejvOm66l08OBrLZyHfHzsjMPXWVy3PhAaiq+2qKPy2sQXWLiK9LUJR5jO\\\\\\n\",\n       \"T4JcJkhuLh2KuF5Qp5G/Q16Xsh9f23Fdon5kuY/4gOMBX6XhNICzQF4LqB/6XOKYZN6VUqnknEnD\\\\\\n\",\n       \"rZ+8bj6n7ZQtvsqjLBjc6+Bwk/vWbj0LgbBTfM2XYZw4jwix1bm+DMOgjv3e4f4A5w5+R+X9gVMj\\\\\\n\",\n       \"6PsDnmVkHi3oQHA74R6LfrkO3KNxb9X3Vbh9cM+T+wp4f+EMhUsU91OddoKfidp5NvEBtyrucUh5\\\\\\n\",\n       \"gGe4m266yYUGyt/lrGXE+3r11Ve756jlCZxwKP9m7it+RoRTSzql8Pug86OhLAEiASS8HML4EcUw\\\\\\n\",\n       \"UvB2UdaGYYw/TMAyRgUI/ULYEF4Y77zzTpfwHA8eCFdBuEszELqEsDSEm8CaDfs6HjwgSmURhvhl\\\\\\n\",\n       \"Cw8dWE52sFRnTSaPfYAYhoenBx54wNmgZRgc7OIQOjj/FNbPORBaEbDWXXdd74+5zlsjYXELL5wa\\\\\\n\",\n       \"PIDhQYDD+hDChAcR+cKPfogAEAMA7O94KEJzxrrMENoIdLlBXMgCXuz5JbsZaceFh0ot6kHk4nwR\\\\\\n\",\n       \"svzSyq6dczKc9WKfIXZAhJXAjo96kyZUhkDYAq4HnD+Eo/2///f/XB1tBsSpZueCp2uhC3mQJBBF\\\\\\n\",\n       \"EPbBOT7wwoNwBYTX4ZpFPjbkiZO5Q3Bt4trAS4SuZ4sXL85cxyC84vrjFxeIs1iWBVkGYhpCXlBP\\\\\\n\",\n       \"IPRyeEYr12eW+omXNITy6nOJUA2d76MT9ROgvOR5arVss9TxdutZCFzD+H1AyCCDfpwjfX0YhkEd\\\\\\n\",\n       \"+73D/QFitL438DNAs3sv8nLiXoBWmfU6IFT51tHs2YbTMqSFjbXzbOIDv0d4nsNHBs7bB1FGfojI\\\\\\n\",\n       \"Wkb4nUFII0KlkRICYesIaVzeYlYa/Fukf7dDz1dA56BCHYDA95Of/MT9pkMwRD6rdn8/Q/B29W+l\\\\\\n\",\n       \"YRjjA8uBZYwq8FKHlxV0eADAQw6+cPFDRwjE2uPFF1/lkBMF4gt+2PCQkOUBgedBvL3MkcNkbTEL\\\\\\n\",\n       \"L2wQqHzgwQsJSfFC9t3vfteJbTheuFEQy9/Kg0zIxdSphJYQAZErArmWkHwaeSzw8o+m7hneX+Sq\\\\\\n\",\n       \"CLXIo18ws7YGhzLCl9bZs2e7cuokI9VCXJZzEnrY4oS6muE8nOl1Igcc6iC+AEOUxQMm6t3555/v\\\\\\n\",\n       \"HqpDQNzEuYCohHrhAwIFnFa+B980cHxw1vzzn/90ubbw1RYuRuRowTgIXqhnEFikgCHRL2ehOoYX\\\\\\n\",\n       \"CAjjuJ/gPoGXB9wnINYyf/vb35wTFGWFeg+xDceFewuShi8PRvLa5sYX+LpstWyz7Fu79ayZCwu5\\\\\\n\",\n       \"bZ577jlXD1E3kKfLMIyR+73D/QHPNHhe8aF/m/W9l58R4JSEq8eHzi3ZiftfO88mPvAxgZ/nkDAe\\\\\\n\",\n       \"ggzyeKGBDc4zlbWMUDa33nqrc2RBEEOCe3wUxEdT3Cdx3K0+H6xIOK+nTwjF7zec/vwbgNyKyKeF\\\\\\n\",\n       \"+3Za4z2twNvFOTEMY/xhApYxauGwO9lySugHHi/BeEDCDyfT29s7pJWv0PIc+oWXuZAANVzwgo6X\\\\\\n\",\n       \"L4RFyq+MvvDEkfiqhGT5AAmkNWihBg8CcIbJF36EP8I2jwSpeICUbhW4RwBe8DtdZgg5+M1vfuOa\\\\\\n\",\n       \"aYbokPW4dJPKGMfTW2Gkvurha7Kuk0C7cLDPeDDG111uZABASMTy8ph860TImq/FITiKIAqjg8MG\\\\\\n\",\n       \"YgO+LKcJC0g8ixBfCD++kC24qSD8oA7oFxjsv2z9D9vEfuFlQAI3DTq0PgWhCEl7kTwd+4VrE2F4\\\\\\n\",\n       \"+HqdVQD1gS/DCMXDSwNeQuD4hEgrRTmEu8CxACFNjoeA1W4dkfWTrxk+RwiFGan7jQZlD0EaL1Rc\\\\\\n\",\n       \"pzpVtp2oZ2nliQ8R+KqPewLctrjnaOecYRidBfcHpHXAh7d2fhMhgMPtCQGmU/c5flaDGB9a50g9\\\\\\n\",\n       \"myC5OMT4r371qy5ZOsqklTKCcwvzoYPghQ+CaKgHz4DYT3ab6d/zLI7rTjyz8G+VL/xbPzfiGRa/\\\\\\n\",\n       \"GdzCtgaiHjqUFRpYwm8MPmJ87Wtfy7QvzY6HtyufjwzDGD9YCKGxwsGPt+/rGufJkdZlCCw+AQBf\\\\\\n\",\n       \"r/Q60Lqe/nLFAo1eB77SIWwNDxS+XDywwg8X/rIo9xO2at/Lceg4hwPcJAgBhCgl140HQXwl06IC\\\\\\n\",\n       \"HqjwIooXfnR4+ZchAhD70MrjBRdc4BVLhlNmCB3Fww8EDYgnvpA1bqERQif2BQ9HMvQMLR1BeOOW\\\\\\n\",\n       \"41oBrVaCTp8DPOzinMuQKpSdblWQzwVal5TwV155TFgnvuxKELKh6z7nrGDgbsJXaN3Ut++hHeWL\\\\\\n\",\n       \"UDCdNwUiMUQK1GmEz2qwH/J6Qigechdxa3r4iqqvW9RRwPuFPCY4ljPOOGPI+rGuVs4RRA98BUbr\\\\\\n\",\n       \"eQiZ1SIIfwWXZQeBTre21co1iusITku0SimPFflVUBfaqZ+tAtEHoczIDYPrhl8OOlm2w61naeUJ\\\\\\n\",\n       \"cR11BoI23GJwzdmXd8MYWXB/QMj1RRdd5L2npLUkzPdThIjjwwC7P4f7jPD617/ePYfgt1HfL/j+\\\\\\n\",\n       \"OlLPJnDiIw8lnivgLmqljHDv1ejfOhbn5O857s/4HR3OMwt+g/GR0lcWoWdEGfKHMEqdygPiIJ69\\\\\\n\",\n       \"kINUgjyY+O2Q4FkO4l2z34Asz+rM3Xff7RzU3PqtYRjjC3NgGSschP8hrwC+aCF0DM4EfLGBaILk\\\\\\n\",\n       \"k5wrASC5MBwDeJFHonQ8yCDJOlwiCP/DDxqSTUL0wHxsc2bw44yHqrPOOsv9QMNlAdcOHnjwco2X\\\\\\n\",\n       \"PDwg4Ys/vh4+++yzzu6Nr0fDDVnZZ5993Iss3EUQBeBMwEMPtq0fLHCc2B98rcLLH+bR7qJ2OPvs\\\\\\n\",\n       \"s92LIMIs0Yw1HrAg9KHc4JDQDyiwycMJg4cwNMGtQW6D3XbbzT2gICk1vnzCJYTyR7gPvky2A7YN\\\\\\n\",\n       \"hwxe/uHewEMizgHGI98EXDr4WgmBC+NwPlFPkFMJifixD9///vdd/UHz4K2CL4uoR6iDCGWFkIec\\\\\\n\",\n       \"G8Ntrhn16oQTTnB1HbZ61HucZ2xDJrPddtttnaMQD654gMNxITccHizhGpKuJrhakKQXLwpItooy\\\\\\n\",\n       \"h4NIv+DjePBQj7qF48GDJ5yLcCOlgWsI80FowbWB7WFdc+bMcUlhkW8EZb3LLrsMWRbXMr424/zh\\\\\\n\",\n       \"Cy7C8lBfEKYHcDwYh/LAwzuESVwTEJNZxMOx43pBCAISzOI6wjnHV2K4wrBtCJ5ZwH4grAQdykB/\\\\\\n\",\n       \"nccx4t4CgeSjH/2oy1+COo5rUOdxCt2LNLiPwEWIPF9YL46dywKh0p1ORI6XKQg9APcYvHignHC+\\\\\\n\",\n       \"8PKFsmQ6WbbDrWfNyhNhhLwvPsHNMIzOguchhFrj9wUfGvEbDEEFYgjG43eGnfIhvvnNb7plcS3j\\\\\\n\",\n       \"GQH3B4g5+L3D9e4TdtKAEILfTDxH4XkOv/sQXrBPeDbAPo3kswlC4/CxBs8c+C3OWkbIDQhhCr8x\\\\\\n\",\n       \"cDrhtwW/AQipw34CiDFwIuP3AuWC+yeev7Qg1OozC34T4FTCM0WzRO74LcA+Yp8Qzo/9wDMi9o1z\\\\\\n\",\n       \"KMocYfggAtEKv9kA+V9xrz/ggAPcfmDf8WzOYmZW8HsA8JyED8xYHs9PUlRDHbAcWIYxTlnRzSAa\\\\\\n\",\n       \"xh//+Mf48MMPjzfbbDPXpD2anN94443jo48+On7ppZcaCujRRx+Nd99997inp6ehWWA0p3zYYYfF\\\\\\n\",\n       \"q6++ulvHvvvu6+ZFs7+66eCLLroo3nDDDeN8Pj+kaWL0Y1k079zd3R1vtNFG8aGHHuqaUE6Dmzlu\\\\\\n\",\n       \"1nTwNddcE2+zzTZu3euvv3581llnxT/72c+GNJ08Z84c16T15MmT3bS3vOUtwaay5fblsYT485//\\\\\\n\",\n       \"HO+6666uDKdMmRK/+93vjh955BHvvDfeeKNbbxRF8ezZs73z/Pe//40PPvjgeObMmXGxWIzXXnvt\\\\\\n\",\n       \"+F3velf8+9//vj5PaL+bgfN68sknu+awJ0yY4Mptq622ik888cT4xRdfbJgXzSmjefCurq541VVX\\\\\\n\",\n       \"jQ866KD4ueeea5gHdWHixIlDtoOmp/XtEM00o6lx1EfZPLVvXgyj2WeNr/6hSWocA9a76aabxpdc\\\\\\n\",\n       \"col3nQMDA/Fpp53mmgxHuc6aNcsdt2wWHFQqlfiEE05wdR9lhPqLJq71tr/2ta/FO+64Yzxt2jR3\\\\\\n\",\n       \"7nG9ff3rX4/7+/vjLKB+HnnkkfG6667r9gfbe8973jOk+XB5vm+55Zb4k5/8ZLzKKqu46xLn5OWX\\\\\\n\",\n       \"X67Pd88998Qf+chH3Dpx3mbMmOHqju96u/DCC935wL7jukCd+NKXvhS/8MILqU3Ba1D3sW9HHHGE\\\\\\n\",\n       \"d/pPf/pT18w69gdlhGPxnZ/QvSjUFPq5557r1oeyW2ONNeLPfOYzQ5qBx3W+5ZZbDtkn3WR6CMyD\\\\\\n\",\n       \"bfM1i+sb68N5u+OOO4LLDadssc98f8paz1opT6avr8/VI9ybly1b1rQsDGM84fuNbeX3LnR947rF\\\\\\n\",\n       \"cwruI7gn4hrEvQK/Ta+99lrT30CA5zhMw28Y7n94Vthzzz3dfafZMxTuoxiP45P8/e9/j/fee293\\\\\\n\",\n       \"v8Ix4rnqhz/8YcvPJiHSjufUU09teN7KUkY33XRT/N73vjdea6213G8//uK37/HHHx+yz3vttZdb\\\\\\n\",\n       \"D34nTjrppPpzmHy+8/0mhJ5ZuAz1PTXEFVdcEW+++eZuH7bYYov4yiuv9G4P57VQKMS/+tWv6uOe\\\\\\n\",\n       \"fPJJ9zyPZ2c8r+FZ7K1vfat77myFcrns3gGmT5/ufstkff33v//thltdp2EYY4cI/61oEc0wDMMw\\\\\\n\",\n       \"DCMEvuTDmYWv7gi/NAzDMJYPcJ6h5V5uQZiBk//xxx93eTCXF2iEBW42hBGaA8swxieWA8swDMMw\\\\\\n\",\n       \"jFEN8pAhdw1CCQ3DMIwVD1oIv+uuu1wr1csD5FhEy7ZIr2HilWGMXywHlmEYhmEYo5I77rjD5R9D\\\\\\n\",\n       \"3qvtt9/e5e0yDMMwVjxojRCNuWQFuWeRezWNmTNnpubk1Lm4DMMYf5iAZRiGYRjGqAQJm5GUHgmb\\\\\\n\",\n       \"myUgNgzDMEYvxxxzjGu8JQ3LbGMYRjMsB5ZhGIZhGIZhGIYxYqBV3BdeeCF1Ht06sGGMNMiphlba\\\\\\n\",\n       \"kVcNrcJfddVVrpXRNJAT7vjjj3etn86aNYu++tWvulxxxvLBHFiGYRiGYRiGYRjGiLHFFlu4zjBG\\\\\\n\",\n       \"E0uWLKFtt92WDj/8cNp///2bzv/UU0/RfvvtR5/+9Kfp0ksvpZtuuomOOOIIWnPNNWnfffddLvs8\\\\\\n\",\n       \"3jEHlmEYhmEYhmEYhmEY4xY0DtDMgXXCCSfQddddRw899FB93IEHHkgLFiyg66+/fjnt6fjGHFjG\\\\\\n\",\n       \"qKNarTqL8eTJk62VEcMwDKOeG2XRokW01lprUS5njSivaOy32jAMw+jUbzMaBOjv7+/YPumWKru6\\\\\\n\",\n       \"ulw3XG6//fYhoa5wXh177LHDXreRDROwjFEHxCvEExuGYRiGZvbs2bTOOutYwaxg7LfaMAzD6MRv\\\\\\n\",\n       \"M8SrDdabRHPmVjpSoJMmTRrSYuUpp5xCp5566rDXPWfOHFpjjTUaxmF44cKFrpXNnp6eYW/DSMcE\\\\\\n\",\n       \"LGPUAecV2GyzQymfL63o3TFWWqImw6NlXSNF3MFlR8u6jPFMpdJPjz768/pvhLFi4fOwG72TClS0\\\\\\n\",\n       \"02GMS65+7ZcrehcMY4UC4QbGg+H8NsN5BfHqmbvXpymTh+ewXrioSuvt8LQT1KZMmVIf3wn3lTE6\\\\\\n\",\n       \"MAHL6DjPP/+8iw/+4x//SEuXLqWNN96YLr74YnrDG96QaXm2fEK8MgHLGJ5IlOvQujopOi2v0Kdq\\\\\\n\",\n       \"B9cVd0h44n0yEctoHx0WYKzY8wDxqhCZgGWMT+QLsmGMZzrx2zxpcuS64VCtPbPj2hyJ63PmzJn0\\\\\\n\",\n       \"0ksvNYzDMLZl7qvlgwlYRkd59dVXadddd6W3vvWtTsCaPn06/ec//6FVVlnFStpYjgxHdBquYDVa\\\\\\n\",\n       \"cvPkOihw6TJpV9DKdVAMMwzDMAzDMMYKlbhKlXj46xhJdt55Z/rDH/7QMO7GG290443lgwlYRkc5\\\\\\n\",\n       \"66yznI0Ujitmgw02sFI2lrNg044AFa0gZ1Yn1tOOKJQb5np4n1vdbiS2bWKWYRiGYRiGsWJArqwn\\\\\\n\",\n       \"nniiPvzUU0/RfffdR6uuuiqtu+66dOKJJ7rool/+MgkX/vSnP03nnnsufelLX6LDDz+c/vKXv9Dv\\\\\\n\",\n       \"fvc71zKhsXwYLVYBY4xwzTXXuFDBAw44gGbMmEHbb789XXTRRSt6t4wxC4s/UZtikFxeryvLvO2s\\\\\\n\",\n       \"u5V1tEIntjecshipcjcMwzAMwzDGOlWKO9K1wr/+9S/3vooOHH/88a7/5JNPdsMvvvgiPfvssw3G\\\\\\n\",\n       \"DIhVcF1tu+229J3vfId+8pOfuJYIjeWDObCMjvLkk0/Seeed5y7+k046ie666y76/Oc/T6VSiQ45\\\\\\n\",\n       \"5BDvMn19fa6TyQANY/np8FEH5ksTejq1/WbryPKDHQe2J5fV0+MRcmLxsrz8yFq+DcMwDMMwjNFL\\\\\\n\",\n       \"1f0b/jpaYY899qA4Dj/D/vznP/cuc++997a1f8bwMQHL6CjVatU5sL7xjW+4YSjYDz30EJ1//vlB\\\\\\n\",\n       \"AevMM8+k0047zc6E0YZw1W6oYNRhYSxazsfgAz++zX60Q9uKWyiHaoZybTekMcsxGIZhGIZhGIYx\\\\\\n\",\n       \"HrEQQqOjrLnmmrTFFls0jNt8880brJcaxBa/9tpr9Q7NnhpGev6kVoWfVkLoeP3N1pVrMq+ex9d1\\\\\\n\",\n       \"OoSw3e3pedL2K+u+txtaOBJlYxiGYRiGYYxmKnHckc4Y25gDy+goaIHwscceaxj3+OOP03rrrRdc\\\\\\n\",\n       \"pqury3WGMTKCiK8/NJ9vnizjQvNkma+TtBr+55uPwxGbrStqYVorYYbtHoNhGIZhGIaxstJODivf\\\\\\n\",\n       \"OoyxjQlYRkc57rjjaJdddnEhhB/60IfozjvvpAsvvNB1hrF8DaNZxa4sQlPUoX1b3q4in7DkE4jS\\\\\\n\",\n       \"BCiexydYpYlYaevKAu9rJeP8hmEYhmEYhmGMZUzAMjrKG9/4RrrqqqtcWODpp5/uWmo455xz6KCD\\\\\\n\",\n       \"DrKSNtqgnVCyNDeVnCdqc1quQ2LWSEVwVzNuoyqOKR+Y7hOqQq6tLPmvsgheGt43y49lGIZhGIYx\\\\\\n\",\n       \"VoF7qmIOLKMJJmAZHedd73qX6wxjeLST50r+bWWetFDDkKDVrkCWZfnh0EwYY4GpWUL3NFEqzVXV\\\\\\n\",\n       \"TKQajiMLx2ZJ3g3DMAzDMMYaFkJoZMEELMMwRiGt5rqSy7WyzmiERKx2cnW1K2g1E5dCy4RcVVrk\\\\\\n\",\n       \"8wleOq9V1GZoYat5CricLL+BYRiGYRiGYYw3TMAyDGMldl5lEX7SWgkMiVJpy4S20apLK+s2m9GK\\\\\\n\",\n       \"Iyn2hAzK0LyQOyrXQnhhKLTQt59ZQw8l2BcLJzQMwzAMwxhLdKIVQWuFcOxjApZhGCuxeJW2nrTl\\\\\\n\",\n       \"fA4r3zIhV1auhe01O6YsoY9pZGnhjwWfrCJbK4KWFrPYIaX3Ry/jI6u7ysIJDcMwDMMwxhLVDiSK\\\\\\n\",\n       \"sEQTYx8TsAzDGAW0KuKkzR8NQ4jyLZ+llcLQfKFtNFumFVpNnp4lH5Yur1AYYchl1SzPVZQyrhUR\\\\\\n\",\n       \"K4t4ZxiGYRiGYRjGWMAELMMwRglZQ+iaiT4hMcYnYqXlsJL9uQ65uLLMPxykG0rj25ZPcIoDIYOS\\\\\\n\",\n       \"UM6tUF4sLUqFRKosubMkltTdMAzDMAxjLFDpQCuEw13eGP2YgGUYxkoSNpgmXLWS50pvL8051Upi\\\\\\n\",\n       \"d99ws9DCTtNM0Kl45pc/9CGnVc4Tiqjn8c2XJkqlhRSmhSJqLCeWYRiGYRjGyk4lTrrhrsMY25iA\\\\\\n\",\n       \"ZRjGCkAKIM3Eq2bzhVxPIcEpJDo1y2uVRdDKZUwS36qLTJP265wm/OTV+JBwJLdTzZAvS4fycVnE\\\\\\n\",\n       \"LeTHCiV5l/sSQpZ91mTwhmEYhmEYhmGsTJiAZRjGciaLgCPnlX9D09Pmj5oIWHJa2vrTwgizhBS2\\\\\\n\",\n       \"kq8ri4DlE2nYPRUSfqoBQSvOmKsqlC/LN963b5Syb2lhhVlyYzXLu2UYhmEYhmGMViyJu5EFE7AM\\\\\\n\",\n       \"w1jOtBo6l8V5leaMapaXSjqrfH9DIpperlk4oe84ICB1Eh0iSEqg0oKVnq4dV6ScTaSEJA4b1K0c\\\\\\n\",\n       \"+hK8V1JELym8hZxYWQUpXo+vLAzDMAzDMIzRSJUiqmT6wJ2+DmNsYwKWYRjLiVaTlmfNedVOnqs0\\\\\\n\",\n       \"95TcTx1iGBKz8i2GHqY5yrL+8IZC8UJJ1/U4OVzxhP7xcr7tcbJ4n0NNO614OS4jLXbJ9WcJJ8wq\\\\\\n\",\n       \"ZOWbJLU3DMMwDMMwDGNlwgQswzCWA60IM1Eb4YF6O6F5pDAVWiZNtJLj9T5FTbbfLJwwbXxo3jjD\\\\\\n\",\n       \"ekJJ16OAuMTLML7E7CGRS++XTOSelh9LzxNafyj8MESropdhGIZhGIaxIqjGSTfcdRhjGxOwDMMY\\\\\\n\",\n       \"ZQIWz99sXJawv2bj5TQpMIUcWGnLhYQv3z765ukEvlA+nbhdzqNdVXLfWOTyiVlyG1qkks6stOOT\\\\\\n\",\n       \"Ipr+K5dtlpcrDROwDMMwDMMwVgYqHQghHO7yxujHBCzDMEa50BUSv5rNFxKLmolPvvFZQgp9Tivt\\\\\\n\",\n       \"umrW0uFwYPFIrlOH0LHwJMP05HLSZSXdVrweLYTxdJ8I1iw/lq+VQjmdCbm1fPMahmEYhmEYhjFW\\\\\\n\",\n       \"MQHLMIwRJovTKGoxAXvIOSWnZwkLTHNd+fJa8faaObdC+bLyw3SmtZoTSyYyl26sqifXFItU0n3l\\\\\\n\",\n       \"E4gqHtEqapJzS+fH4n5Zznr7WrDSbrCs4YRasDMMwzAMwzBGG+bAMrJgApZhGCOELx9UaD75l1oY\\\\\\n\",\n       \"TgsV9AlYWnAKLRM1Eb2arTvNkaWdYWllEiIk2GgHlG+aDvHTzq2Q04o8ApMclvvdikMq5MDyrUOL\\\\\\n\",\n       \"ar7QQx98bnwin2EYhmEYhrGiqcaR64a7DmNsYwKWYRgjRCvuorQQQZ/A5XNe6XlbFZBygZC/kHDl\\\\\\n\",\n       \"m+ZLEt9KC4V630P4hBifMBNajxSJpFtKhvvJadK5JfevGggP5GOrKPeUnC/K4LLS++wTqpqJV7os\\\\\\n\",\n       \"TMAyDMMwDMMwjJURE7AMwxgBdKhciGYhgnKc7Pc5neS2fSF+0iUVErp8QpQelvOlCVhpYYq8n83K\\\\\\n\",\n       \"IgvVlLDBUBifDP/TAhYPy5C+qgr507m1yNOaoRS+5DxcNlLcktuW2/MJVFlDDH3w/ssyMgzDMAzD\\\\\\n\",\n       \"MFY0FkJoZMEELMMwVoDrKjRPKJ+Vb3qz8T6xSgtP+YC4pftD03hZFs3SwgxDopsOV2xWRj7hSAo6\\\\\\n\",\n       \"+YBIJcfLBO1xTdCJlcikhSu5rA4b5H4pDOm8U3p9Otm8XFezcMKQYJXVZWXhhIZhGIZhGKOJCuVc\\\\\\n\",\n       \"N7x1GGMdE7AMw+gQISHGN5/8q8eH5vG5ptLEHy1A+cQnyiBU6cTsOtQw38Sp5dtOlnIL/YBXmwhY\\\\\\n\",\n       \"erxcLwtVMgSQh+VPvgz5k60SSvFK9sthCkzn9fJ037nV43mcnEePazcnll6XYRiGYRiGYRijGROw\\\\\\n\",\n       \"DMNYzu4rnrfZsiFBJ+RskvOEEq37RKWswlRuGOvQ++o73qxhl/km35q0+8rXAiBPY6HH52SSYpBc\\\\\\n\",\n       \"Dy/HjioZ7iedVHJYuq5kLi3pBPOF//mENS1Y6WNrJl6lLWsYhmEYhmGsCOIOJHHHOoyxjQlYhmEM\\\\\\n\",\n       \"Ey0ipc0n/2YNGwwJP6HwQGoiNKXludJClJzGwpGeJteltyH3Uw7LffKNbwWdgN03nqcVVI4r6a6S\\\\\\n\",\n       \"Ti45raKma9GKtxHKj8W5sLhfimEsYsnWDHWyd73OLOGEWR1WvM9mODcMwzAMw1iRWA4sIwvDCzI1\\\\\\n\",\n       \"DMPIRJawQR72hffpeUOtBfrEqNCwFKZ8HU8riGHu5/GyK9a60DzFJl2hza6V9cr9Cm1XzuMrg7Ty\\\\\\n\",\n       \"CoVghoZDIZ2+eqPHZ6lLvvE+7GudMb755je/SVEU0bHHHruid8UwDMMwDCOIObAMw1hOpIlVPrHB\\\\\\n\",\n       \"FwKo++WwdDKl5b/SQkvIedUshFBuI5+yPV+ieCYtpNBXZj43kQ4ZZKSzyeekkq4nzo0lWwmsevpz\\\\\\n\",\n       \"ovVAGS6oXWAy3FDmwZL7I51WMlzRd9yyPEI5sYYTTmgY45e77rqLLrjgAtpmm21W9K4YhmEY45hK\\\\\\n\",\n       \"nHPd8NbRsd0xRikmYBmGMQy0eyY0j6aZg6adsEFKEaj0/GniFYtOIWGrmfDlmzcUTpjPUE5S8PH9\\\\\\n\",\n       \"KkvRikPhdGuDOhRPhgHqXFi8zbR5ZcidT7Dy5d6Sea/k/PLYpcglE8yTZ3wrObF0iKFGhi8axvhh\\\\\\n\",\n       \"8eLFdNBBB9FFF11EX/va11b07hiGYRjjmCpFVB1mgFjVPlyOeUzAMgxjBMWr4a5Xiz+MForkOHZE\\\\\\n\",\n       \"UUruqiyCVCFlmg6Zy7pevZ9yWB9jFnQOq6IQYljE8YlQvnGyv5IyrSz2Net65f5yziktcLHIJIUr\\\\\\n\",\n       \"6f7ieUdKbJLCnWGMD4466ijab7/9aK+99jIByzAMwzCMUY8JWIZhtEjW3EJpYWDabcWE8hzp/pxn\\\\\\n\",\n       \"Xu24kvM0CxNMCwvkcQU1TTu2QtsJ5XzyHVNaOelwQUaLVdJ95UvM7hOXWLCSYhELRWUlJEnHlhaZ\\\\\\n\",\n       \"pDBVbdIv//L+y3DHUHihnFeGMYaSvFOT8aEyNw+6Mbb57W9/S/fcc48LIcxCX1+f65iFCxeO4N4Z\\\\\\n\",\n       \"hmEY4w1L4m5kwQQswzDaIKtTqFlepzSRyifuaBFI7o8WibI4pHzJx6UoJQUrLVpppxbvhy93ll63\\\\\\n\",\n       \"3m9fmfocbj7nUVorhFqskqIWi1a8rbLaRy1wsUgk1yePU24ri4glj7viEc7Swgll/dHlw+N9AlYW\\\\\\n\",\n       \"UcpcWMbYZ/bs2XTMMcfQjTfeSN3d3ZmWOfPMM+m0004b8X0zDMMwxiedyYFlHyDHOiZgGYYxAvjc\\\\\\n\",\n       \"Qz7nVZpIRYFQu1A4XhbByhcWqIUpPV4LWNq1VWiy3YLneLQzSx8rH5sP+cOs81z5QvhIhAXK6QU1\\\\\\n\",\n       \"rw4JZIGL91XmwJKCGK+XxDpluGFIxJL7L/NzcXnrfZPbpxRxSzq0tGPN3FWGAe6++26aO3cuvf71\\\\\\n\",\n       \"r68XSKVSoVtvvZXOPfdc57TK52WOPqITTzyRjj/++AYH1qxZs6xADcMwDMNYbpiAZRhGC+TaDC9M\\\\\\n\",\n       \"E6+0IOVzJDVzXekQPi1aaeeWFKPSRCk5PR8QwrQopkMNm4lr1CEHFveHclHp1gbLKYnc2Y3FIhEL\\\\\\n\",\n       \"RRwiyNMj5aCSf2X58vb4GEI5seTxaWcXl0laTiwtUPkEK1mmoa90MjTSMMYee+65Jz344IMN4w47\\\\\\n\",\n       \"7DDabLPN6IQTThgiXoGuri7XGYZhGMbIJXGPhr0OY2xjApZhGBkJiVOh+bKIV2nb0P2hcTJ8T4pa\\\\\\n\",\n       \"PrHI57Dy5bPyzVNoImBpx5XeXjMBK5+hrGWuK0a3CJiWTF0LQjoXlnZt+YQfdm9Vmog8cj2+8EHt\\\\\\n\",\n       \"ytL5rNLEUJ6eJkA1E7Ga5cJqtg3DWHmZPHkybbXVVg3jJk6cSKutttqQ8YZhGIaxPEALhJWmH8ub\\\\\\n\",\n       \"rcOe28Y6JmAZhpEBKTi0SjPxSg+HQgTl9Cxhg1qMko6qkIAVEqYKKqSQh/V8+RZaMtTHlubGoiau\\\\\\n\",\n       \"K/K0BBhqQZCH2fkk81mxS0uuT7qR2H2V8zix5LnkceyQCh2DT8SS47gs5DFpEU7jc1i1I0TJ47aH\\\\\\n\",\n       \"IcMwDMMwDMNY0ZiAZRhGE3yhbD7SnFWh+XNNhC3pSsqlhA3KUD0tIjUTqfQ0GS5YUA4sn6DlWz/v\\\\\\n\",\n       \"n29fQmIWkSdqJ5VK3XyVJlqFBCzu59DAguiXOahYsOJ+Fr5441IAY0GLp/E6JTIcUYb96XBCFo94\\\\\\n\",\n       \"Hp4mxSQWt1zptSg2+ZxZPnRoo2GMTW6++eYVvQuGYRjGOMaSuBtZMAHLMIwO4BOufKGDvmm+8b7l\\\\\\n\",\n       \"dHig7tf5pkICkxa7ZOcbl28iYOm/er7BfcrnE8Eul4tch3FRRBRFGMbf2pE2MWBVa1oKGlpBP/7G\\\\\\n\",\n       \"MbYfU7Wao2o1EWUqFe3IksKUFJKkG8snHuVUfit5bqSYpXNR+cI+Zb4rOczLy3BCKVBJN5V2Yemw\\\\\\n\",\n       \"Q5/zitfVbuuEhmEYhmEYxkiGEKIb3jrsmW6sYwKWYRgpDMd55ROhpEDlEzdCeY+aiVfSlaXFLCla\\\\\\n\",\n       \"6WTsPqFKOq6aCVg+4WvQ4RVFyS02inJOpCoUEuEKAhULVvy3IO7GzZxYg84ronIZIlZUE7EiJ2hh\\\\\\n\",\n       \"euyaEc65v3GcCEKYPigysSglQ/dYpCKVG8t3nrWY5bYgBCGfiCRDF/mvPJdSMJMilsyPJbejt6vR\\\\\\n\",\n       \"eay0WOULNwxhQpdhGIZhGIZhrEhMwDIMI4Vcm+KVXk7O4wsblOGEcr5QzigWjOR8epovl5UWq+R0\\\\\\n\",\n       \"n2CVNi3k2kpcVxCt4LiCGIUOAhX+sngl+3mYHVhZBSxoVOiHaMXd4HBElUrkBK5KJU+VSkzlsgyz\\\\\\n\",\n       \"k6GA7L7ifjmNy062TqjFLumS4+VilfSdl5WuMOmwypITS4tZvD4Ni2u+MEG5Djm/nk9P9wl2hmEY\\\\\\n\",\n       \"hmEYRieoxJHrhrsOY2xjApZhGB3IZzWc9UjhSotUOueV7pcilc47pcP7fOJTSLDS8zWblmwnivJU\\\\\\n\",\n       \"LMJpNShKlUqDIpXsZwGLhavhOLCkkCUFrf5+2Q9BC/15t8zAQJ7iWApXZSVaSXFLurXSpklHFXny\\\\\\n\",\n       \"Yfn6Ze4sGX6oQwylWCWFsDQhi5qED7ZKp9ZjGIZhGIZhSCodaIWwYs9oYx4TsAzDUPjyUPmI2hgf\\\\\\n\",\n       \"ChH05bnyTZdOLR0+GErcHnJK6eTsMoeVz31VVNMH54fTCqGB+FssJmIUdxhmsUoLWCxe8XR3hLXh\\\\\\n\",\n       \"NJIQwaR/MGQw+SsFLGyfp6O/XE4cWcn2WNDCX5k3jAUjTtg+EAjZZHy5pyiD0CMdVdrBJXNchcL+\\\\\\n\",\n       \"pGCmp3MurdA+hMIBm4UJthJyaBiGYRiGYRhGJzEByzCMYbivohZFKl9eLGawNb7m69d5sHQYoXZh\\\\\\n\",\n       \"+fJcaSFKOq3kNB5fHOK6SnJbFRpEK/TzMPdrAUu7r1jMckdYy4uVBiduByxa+VxYUsAaGEi6xH2V\\\\\\n\",\n       \"bK9czrkuyZOFPFoyiTsLRLLcZbL2UP6pspqnnLKMFCN1zqssdUGHA6blu5LjfIJb1hxXzcINDcMw\\\\\\n\",\n       \"DMMwjFapxjnXDYcqPyAbYxYTsAzDSMlDNZy8VzwvT5P9DIcC6mVC+a905wsXlI4q6bAqeIalUFVI\\\\\\n\",\n       \"EbBKQ+aRglV396BoBZFKu694WDqwdB4s7m+WB0vmv9IhgzofFkIIIVaxyMUCFjqehv7e3siFFCJH\\\\\\n\",\n       \"VrlcrIlO3GFH+j05sQZUSKE8jzrpOg/LEEI5viBCGSVSjKoKh5ieJgU2GVLILiwWxLRgpUMPeVwz\\\\\\n\",\n       \"9xiLpLIlRMMwDMMwDKNdLITQyIIJWIZhtOC6ijLmsUqb17e9UO6rNPFKTpM5sEKuK90VlUglh4vK\\\\\\n\",\n       \"dZX0w3GVy+Woq4vqua7QL0Ur9KOT7isWsaQDC9O0mKVDCKUbS7uuZL8UrViwYgErSeLe6MLC+CSk\\\\\\n\",\n       \"MOmwL319SXjhwEBMfX35WsuGMoSwIvr5nJUDYacyibtvGOTVejjsT6ITvLOIxS0kylBDrodp4pMv\\\\\\n\",\n       \"BNCX1J3nzdIyoVyXYRiGYRiGYRgjhQlYhjHuyZrzimlV6PKFFepxOp8VeUQsX+dL8h4SrLQrK5So\\\\\\n\",\n       \"nTsWsZIun8/XWhWMnOOKBSv0s4AFIUgKWPgrWyDkYYhSMrSQQwlZsJL5sHwCFotVGNahgxCoZN4r\\\\\\n\",\n       \"/GURi4UrFtXYgcXbSMZDuIKYFdXyY+nzpc+xTKQuxSMtJGmRRzqq+FzKdUWBOuFLFC/3Q4cQRoHx\\\\\\n\",\n       \"zepvK+GEvuMzDMMwDMMwslLtQCuCaU36GGMDE7AMY9wzvFjz7GGJIREkLXF7yJUlXVc6pDCt07ms\\\\\\n\",\n       \"uD/ncWANhg1GUbFBpOrpGexnBxb3y/xXHFooc2CxgCRbKuQWCLUbK4R0XQEWqDDM/eysksIWb4vF\\\\\\n\",\n       \"tb6+wfHYLgtaYGAAIlaeenuRI0ufS3k+ZT4rHTro9jYg8MTCmSXriMyZJbfHoYC+OsJimRSxpLCl\\\\\\n\",\n       \"nVqdROcHMwzDMAzDMFqlSjnXDYfhLm+MfkzAMoxxiS9hejNCIlPIbSW34Rvv2z4rN7qlQV/Oq0jk\\\\\\n\",\n       \"s/IlcZeuKh0mONRhNTTPVZcLF4TrCkIUu65YwJIuKxaxuPPlxvKFEPpyYEkHVggZMqhzYPlCCDlx\\\\\\n\",\n       \"O/aTRSpM4w5CFk/DsHRnFQoR9fYWqVJBWKFMtM75sVh0YuFJhhmG6k1ViU+cAwvrCB187Akl1KJR\\\\\\n\",\n       \"FEgEL1sl1ON5fu0YazU8MJ8itBmGYRiGYRiGMVxMwDKMcUer4lUop1WaeBVajw790uGAvH9a/Arl\\\\\\n\",\n       \"wuJx2mXlc2NJ4Uo7srSgVaRCIUfFIrokZFAKVixgcYdh6cCS83LYoGydkMMJ0xK6p9EscTs7sLAN\\\\\\n\",\n       \"FrRk3iv0swNLhjmyeAVYxEpCG5HkPVcTtbpE+XPuKin2yGEp5EiXFP/0SAFKikzSNSXHyXoixSwK\\\\\\n\",\n       \"zJcmJGmByidYtRMimGXbhmEYhmEYhqQS51w3HIa7vDH6MQHLMMYFWmgazvKhcVEL/b4cVr5QQe3c\\\\\\n\",\n       \"Ci0rBatQKGGuSd6rQYdWLpd3wlVXV9QQJshuKxa00LE7SwpaUsCSIYUysTuP56TtIQcWt0ooWwXW\\\\\\n\",\n       \"DixO6s5hgzJh+6CTKukwLMUq/JW5t3jb3I9pWDdELJQh8mIlRiwO1Sso55FMvJ4PCFgyPFC6oqRo\\\\\\n\",\n       \"VfHkvJLTeRs+15XOfRXKgaVzXflyX2XNh6WXsfxYhmEYhmEYWalS5LrhMNzljdGPCViGMS5o92tE\\\\\\n\",\n       \"lrDBtO2l5bbyOcFCOa+kAMX5r7Qby+fC4jBDHUoowwZlf9GFDMJ5pUWqiRMHXVbSgcUClha6ZHgh\\\\\\n\",\n       \"i1U83hdG6HNgpbVCqB1YMnyQHVgcQojxcFthmMMEOXQQwyys8XgW3NC/dGntzLh9SxK8J9vxue+k\\\\\\n\",\n       \"cFStCYJ8HliQKghBiEMG2T1FtekcjiiJU9xXsl7xdO2skvOl5avqRDghr4ex/FiGYRiGYRiGMVxM\\\\\\n\",\n       \"wDKMMctwLLShsMHQvDrcr5W8Vz6nlcxl5RO00sIGORRQtzrIYYIl0c9dMlwswnmViE4QrLSAJUMG\\\\\\n\",\n       \"WZjCeJ8DS+bGkuGEshVAneBdilbcMqFEtjjIYhZEpjQBS4pWLGLpjsMIOayQW0lEPzvEWORyZygH\\\\\\n\",\n       \"ESvv1tt4DuX5k3WAnVosbNWPSNWjihKRpCDFOa94nG69MC3Bu857lRcil0+w8jEcR5W8Fi200DAM\\\\\\n\",\n       \"wzAMQ2MhhEYWTMAyjDHFcEMF5XKhsMFWt+FzWWmBQ4YEyvn4b5QxB5YeJ11XWvRiN1DSwXmViFII\\\\\\n\",\n       \"HRwUrvgvxvH4CRMGBSxMw7AUu2SrhOjYfcX93OXzsWtvJYqrlI9iojhRpqIKUU5qLkxMlMNsXHZR\\\\\\n\",\n       \"jgqliOIoabUFrihO2o4OAhT2g11WvB8QrXp7B/fDrToebJEQ/Rw+yHnb2QmWtFIYUS4XU7WKbcoQ\\\\\\n\",\n       \"wkqtbGMlOPG5kHWCx4Oqynfly2clQwop0PJhKP9VljBAHVrIx+Sbp9WwwtA1MxKtIhqGYRiGYax8\\\\\\n\",\n       \"VPAsO8xWBIe7vDH6MQHLMMYUWcL7sq6n2Xif0BVyWPn2L5TvSru5tIAVcmpJYapRnBoqZuU9Oa8S\\\\\\n\",\n       \"AYuFJu5YvOKwQfRrwUoOS3dWY0uEMfW4lgxjysPhVIiTSH8oRM46VbNRsc1KJr2SpcmWqNrfIpSl\\\\\\n\",\n       \"QpHiXI4ghw2UI7eqcjmquaqSkD8IVixmscuKBawkx9VgXizsEoczoj9J5J7Mx8NwYUHMimO0Tsh7\\\\\\n\",\n       \"x0ndWcCSPzF8PCxQyfxY5YCzSrdWKMWqtLxY5AlpTAvja5Yryzdvu8jcXyZgGYZhGIZhGEZWTMAy\\\\\\n\",\n       \"jJUaXx6pdmglr1Vofi0u+dYf+ioiHTk6TJCHix53lZxHilTFYJhgYwhhgQqFJGE757LiDkIUi1Ec\\\\\\n\",\n       \"Uiincb8MN9T5sXjYCVho6Q9CTaWWlGpZzSbF8X66OUEM+9DZ3jm+L5ejqFCgEiew6ilQT0+BBmqb\\\\\\n\",\n       \"WbasMYSQwwVZtMK+QuRCh9VyPxh0jDXm60JCd4hZCCdMnFmyhUJfvWB0S4UyvFDmr8I5GhCCmCsA\\\\\\n\",\n       \"FRJYbUEokvm5fKKY3D9eh2/9sv63K0RxnZXbtPBCwzAMwzDGJ9U4ct1w12GMbUzAMoyVDu1S6sT6\\\\\\n\",\n       \"sm4vbThtvNyOL6eVXEbnv5KhgdI9JacVxDhfwnbd4mAiYOXzeedQQmuDcFFJAQvDLFRJMQt/IVix\\\\\\n\",\n       \"UOXLj8XCVnc3PFEVylXLFPUiEVUfRZyoipNTsViFYV+SqyGnQyXJqiWwijhxVW04LhYpX+qiXLFI\\\\\\n\",\n       \"xa4CdXUVnCAF0Qp/OecVNisX5STzUqiCeCVbJNT1Ixmfp0qlKAQdmaw9VuJUQYhI3M/zsahT8eS8\\\\\\n\",\n       \"YvFKC0s+F5bOr6XDEuWyWuTiffFN956UDrip5LVg7izDMAzDMMYXLh3GMEMAsQ5jbGMClmGMeqIR\\\\\\n\",\n       \"CBPMkscqS4igT7xqNk46dEIhhHrbOveVL6m7FLTYmaXzYw0KW7lcjgqFyAlY7JaSua6kw0oKWFLQ\\\\\\n\",\n       \"YsEKYhfnvHL5sYpVKhZjKlKFooH+RLSCUgQbFDcLyFnWOes6xrUjYHEmeNl0YKHg3FhRD9Zdolyx\\\\\\n\",\n       \"RHGxSlTKUz5CaGGunpxdhhBynis2f8kWEBnsNg9juWQ4qkU95qha5RxYOicWnws9Xua8ki0Symns\\\\\\n\",\n       \"uJLik64rMk+W22slRqW5wOQ4Wbd9LRn68mJp2hWz0q5rCzc0DMMwDMMwxjcmYBnGuMlr5VtvK9vM\\\\\\n\",\n       \"Mk6LC4wvj5Ue1mFn/De0rMx1pVscDPUnzivkvMrnC0NaC9SClXRdsUOLHVi8DPqTpO6xG540kSgf\\\\\\n\",\n       \"VSiPUMGlvY1xexCwWLzCX+7njpNMsajlg5swlDYpjvHjxFvcj3WWShSh6+qiru5uKnQXqNSVuKaS\\\\\\n\",\n       \"lgajIavW/ZwTS4tbHP2Y7HZE1WriukoELhaqtCNLOrB803RuK1k32GUlWyvkbUlnlk4GLxO/8/w+\\\\\\n\",\n       \"gSpNsEoTsXzrGA76+jFHlmEYhmEYY5sqPoTGw3RgDXN5Y/RjApZhjOncVoxPeErbtm95vUy+je2m\\\\\\n\",\n       \"zaedUz5XlS8HlgwbbAwRHOwvNeTDKhRyQ/JZacFq0qTBYRappIDF/Rhfz4FVrFLk4vRqCaQ4Xk8K\\\\\\n\",\n       \"WNqBxeIVu7HYhZWGSOJej/vjfhav8Fcm5Kqpc7nubsp1ddO0Kd3UN5Crt1SI2TnRu3Rncegg58CS\\\\\\n\",\n       \"AhYbxTDdncUIh1hwrRP6c12F8j2xI4vzU0n3lVyXr25mFXeahflxXas0EaVkHq3Qenz7OBxkvizL\\\\\\n\",\n       \"lWUYhmEYxtijQpHrhrsOY2xjApYxonzzm9+kE088kY455hg655xzrLSXq8sqS5hglumtOLGadSxA\\\\\\n\",\n       \"NHNihcIEdXL3UOuC2pU1OB7hcwgdhCAjWxvUAhZrPlLc4o5zYCXiVkzdpQrl4zLllvYTLV06KFpx\\\\\\n\",\n       \"vwwhZPGKnVkyBxYLWGxr8p6OmpokBSx2ZLGdTDmw6smuJkxIwhkHBiiqVqhY6KJcV56iKPkpYJGK\\\\\\n\",\n       \"RSnZ8iDAX5SHFLCkcQz9SIgPAatSKdTEoKoof07YzuOkA0vmwNIilvwrwwqlS8vn1GKRiZdl5HLk\\\\\\n\",\n       \"maZFMZ/41WpYYWjedpBCnrmzDMMwDMMwjPGBCVjGiHHXXXfRBRdcQNtss42VcpBQyF2naMUBlTY+\\\\\\n\",\n       \"lHeIUoZDIYM6b5HOiSW35xO5Ql2+SQ4sCDVocXAw0o4Tl/vCCGUuLB1WyF13F8SrKhWpTLlyTaBa\\\\\\n\",\n       \"siQRp9BJMUsLWCxsyRxYWsDizhVJTVHSAha7r7gf62EBC+vDzrPTi9eN8VFEhR5y+bGolIhOuVxS\\\\\\n\",\n       \"7rwb3C+NYVg94FWxBpeIV4M5spALC4ndB8UqmQNL9rPYpM8vT5PnvhL4y1RU/ZL1SDumWJRqFj4o\\\\\\n\",\n       \"59OilpwvjU6HF4awPFmGYRiGYaycWAihkQUTsIwRYfHixXTQQQfRRRddRF/72teslJdbmGDUwfmz\\\\\\n\",\n       \"5rzSYpOc1uwYpUBFHneVFjV8LRD6RK68J3wQea9yXteVDCPkFgg5bJAdVwgplC0UwnnVVYqpWOkf\\\\\\n\",\n       \"FK0gUC1ePBg+iGGIWD4BS4cTQvXhVgkxDKT9iWP5pFWKY/x02KBM6M4KHW+HVbmaApXr6qLSxImU\\\\\\n\",\n       \"m9hVCx+EmDW4WtbQeNMygTvvKk8bNI5FtchIGWbKoXlxyjnj+aTQJR1RHOIn59UCV6gus4ilWxf0\\\\\\n\",\n       \"ObGaiVq+eszTmoUp6nV1IrxQ7m8otNEwDMMwDGP0krQ/PdwQQmOsYwKWMSIcddRRtN9++9Fee+1l\\\\\\n\",\n       \"AlYDPndIu/jEpSw0S24YEq70ciHxSubrkdvk+fOBZfU8Oh+WDAtMBKlGoYo7nt6YBwtJ23XLgjws\\\\\\n\",\n       \"hSmZ54pDBXXeqylTsOYy5Qf6E8FKC1j4yw4s9LN4JUUrDiGUObAS69JgWKEPmcCdwwY5iTv6sQ0p\\\\\\n\",\n       \"ZnE8JIto7Mhiwayri6JKhQqTJlGUL1F+Csps0NTFu8GmL9bWOISQp0vdDfMhqfuyZUWqVNi5lKw3\\\\\\n\",\n       \"oazCBqWQw/PxsBSdYiVcyVBCdmOxW0oOs6jDdYuTy8t1+EQrGc4o63xIeJL1OouQ5LtmhyNoyevU\\\\\\n\",\n       \"QgsNwzAMwzCMsYUJWEbH+e1vf0v33HOPCyHMQl9fn+uYhQsXjsGz0olQwXYFqyzzaeeUnuab7hPj\\\\\\n\",\n       \"0sZJkUoLXjrnlVzel9hdunZY3NL5rwY7znulwwY5dJDDB9mcxCIXz9OY6D2mYlSmXH8vRf01kYpD\\\\\\n\",\n       \"BdFBzIKIhH4WrTikENOyClisBmnYdSUFLJnEHetmAYvj/nAwcr1ssWIFKoooyucpB0eZO95Cvfw5\\\\\\n\",\n       \"spEXRTlw8nYcAk/ndFscoZgYwCKK4yQ8sfGc6FYIpetKnl92XWmnlKwzpHJd+fp1GKAUq0LXZMiN\\\\\\n\",\n       \"JcfpeanFeXzzhfYjK50WxQzDMAzDMEYeCyE0smDtTBodZfbs2S5h+6WXXkrdnO25CWeeeSZNnTq1\\\\\\n\",\n       \"3s2aNWuMnRX5sj0c8Up3w11Oj0ubHhLPpOPDN59OxK7X2Wyanp6W98rXn3TI7cQmJY6ukyIWdzye\\\\\\n\",\n       \"xSqZB8uJV92x6/KVAcqhpUEIUixgocMwHFjsysI47ueOp8v5uH/Rooa/sep88wQ7vc3Q/oku17fM\\\\\\n\",\n       \"HRsfJwt3MuSSh7mspADIZcj6WRLp6Eumn3bufAn8dX1Iq0Na5NRil67fXE9Dzshm14/vWmp27aXR\\\\\\n\",\n       \"7nIjcd8xDMMwDMNYPlTiXEe6VvnRj35E66+/vnt33WmnnejOO+9MnR8Nk2266abU09Pj3luPO+44\\\\\\n\",\n       \"6sWHa2O5YA4so6PcfffdNHfuXHr9619fH1epVOjWW2+lc8891zmt8nCKCNBK4fHHH9/gwBobIpYO\\\\\\n\",\n       \"o2uHVm/Crb7whuaVwlRovb6XfikcNNuuz1Glx/kSs2s3lpymwwk5fLDRSSUTtnOUHXJc6bBCDiHk\\\\\\n\",\n       \"cMJSvkKFygDRooWDua4g/sA1yI4r9LMDi0UjuKs4xJBtS5zEXTqwZLb0Wn+DD4gTt6OTrRBKZQ47\\\\\\n\",\n       \"jr8cKsgHW2uF0E3nTOzcOiLAdmt2qsLUiLpLRcrlC3X3Fee5wu7zbspONqQIBs1eEQ0M8Lngo5EO\\\\\\n\",\n       \"rErgXLq1eIZl/ZLhf9qNFap3XFd97iy5Pu28ksu1k8xdX0NZQ/x8+9wqOtG9YRiGYRiGcdlll7n3\\\\\\n\",\n       \"0PPPP9+JVxCn9t13X3rsscdoxowZQwro17/+NX35y1+mn/3sZ7TLLrvQ448/ToceeqjLIfvd737X\\\\\\n\",\n       \"CnQ5YAKW0VH23HNPevDBBxvGHXbYYbTZZpvRCSecMES8Al1dXa4bGwzH1NiOS6IdZ0eW6dpJ4ptP\\\\\\n\",\n       \"z6tdLiF3jHRs+YSoKODG0SKWzHnFfzk8bbBLRKqo7hrSea9k2CD0HZnAfXA4pq5ChfLlfop6a6IU\\\\\\n\",\n       \"hwfCCYWOBSz0awGLxSvZImFNwIorFYrL5URWgGAVx4lMIcSreonWlKJcpeJ+KKEq5Xt7KSoUXAig\\\\\\n\",\n       \"O0Bsi+1Q2A4fJIcLsmjGCa0wzOpUHCdns1CgQs8EivI49kTE0onakzxXg5GPLGBx64W19FouhBBC\\\\\\n\",\n       \"TW+vFrA4D5XsJxVaKM+7bL2w4hnvDkDURV6XzJPF6+Y6VhWClRSxtLgUqXXLnFxxmyJVO4JWJ8ID\\\\\\n\",\n       \"5TVqCd8NwzAMwxgd4Cm0OkzXeO1JNjMQnY488kj3vgogZF133XVOoIJQpbntttto1113pY9+9KNu\\\\\\n\",\n       \"GM6tj3zkI3THHXcMa7+N7JiAZXSUyZMn01ZbbdUwbuLEibTaaqsNGT92CIXXtbN8K2JUs/mb7VdI\\\\\\n\",\n       \"mArtV9SkX4cSSpdMKLTL1/nCBbVo5hO2eJnB1gsh8sjQQWlU8oUR6nxYyfjY/c1XByg3UMtlxYIU\\\\\\n\",\n       \"tzIoBSvOh8XT0GF+HtfXRzGEq/5+J1xVawmlykJSkB6ZIe3gxXEi1bFS5BaqUi6Xc8nYo2qVIhap\\\\\\n\",\n       \"uKlAqUCxZQoFwcNcMABCWF8f5fC3K6JSKU9dJawiaVmQy4bFKwyzLoYyZUOZLOtEL0M+LC1Q6vPs\\\\\\n\",\n       \"E0GlqKTFqFD90S6qnBC9WLTh9UkByJcnS47X/T6GyI5Npvvmy5ovS+9XFkLHYXmyDMMwDMNYcbQb\\\\\\n\",\n       \"AqjXkZX+/n4XPYRoIAbP02iE7Pbbb/cuA9fVJZdc4sIMd9xxR3ryySfpD3/4A3384x8f1n4b2TEB\\\\\\n\",\n       \"yzCGTathe77lO7G9doS00E0+FDIYmkfn2cllFKV8woVeLtT5XFsymTsErEI9H5P8yxF2MneTFrKk\\\\\\n\",\n       \"oNVTqhItEqIVi1OcY0qP41BBzjO1bBnFLGBBvBoYcKG1FSFYsRdItsknPTmyVMri6NGfj2Pnysqj\\\\\\n\",\n       \"g1qEA6yFA0acVZ3h8EQpYHFCePRzWGIUUS6KqHtyifq7c1SphQSiPHiVXEacxJ2nsYCF3UgSukfu\\\\\\n\",\n       \"XMRxVTno+OjT6oR0RPmETCm8sLgl4QTwUgTjVgylKCaFHR1yFxKh9HVSbeMabCccsd359bLymE3A\\\\\\n\",\n       \"MgzDMAxjbKAbBfNF/MyfP989j6+xxhoN4zH86KOPetcL5xWW22233VzURLlcpk9/+tN00kknjcBR\\\\\\n\",\n       \"GD5MwDJGnJtvvnkMlrJ0GLW7fFZyHRLR0pI5h5b3iVZMPuDIkuJV2n5Ih5YvTFCPKwTmKapwwmQa\\\\\\n\",\n       \"kodrpxXyWfmStnOCctlNnlxLGVWsJsKTLxE793PYIA+ziCVDCHt7qdLXR9U4dpJIWQhXZSGzsAQi\\\\\\n\",\n       \"fUKy5HWpRaJknCxUE7JyyDfHOa7QsSsLIYUsaHEIIYtYHBvI/TV31oTuHsrlkAw/mZ1bIcTiODRe\\\\\\n\",\n       \"DTeCiNWjDLnBQxa7BgZyVKnIxO0yF1bVc359IYX5QNigL1zQV8+57socWDJEUPvfdMhdWuhfSDzz\\\\\\n\",\n       \"7YOeT8+j56uOsJily9swDGPkueGF+6yYDcNInkDQcrVLPdE+vLzOp3zKKafQqaee2pH32m984xv0\\\\\\n\",\n       \"4x//2OXMeuKJJ1wDZmeccQb9z//8z7DXbzTHBCzDWG6Oq6yhglnW3Y67KqtDSwtSWadnDQ3Uzint\\\\\\n\",\n       \"0OJxg6GAjaKGFKq0hMPz5CmKcg3OK+7XYYKcG8vnyioi71VcHgwRlKGDPE66r1iw4rDCmuBVHRig\\\\\\n\",\n       \"arlMAzXxikWrAZHGXDqwKk2C0XTJsKxSFMvDlQU1CaGGOQ4nBFCUXPWoua4AFw7EK1loCEsslSif\\\\\\n\",\n       \"L1KxgDLJu3JhBxYOn0MIObyQRStoZrLc8bdc5jopz1+hVhp87tilxSXAzikeL11W2kHF4+Ww7Jcl\\\\\\n\",\n       \"ytOkRCi3NyR4U203i3PKJ3SnCWu+dWSdJ3Q9tyNmtbOcYRiGYRhG+1Qo57rhwMvPnj2bpkyZUh/v\\\\\\n\",\n       \"y7e8+uqru/zML730UsN4DM+cOdO7fohUCBc84ogj3PDWW29NS5YsoU9+8pP0la98xYUgGiOLlbBh\\\\\\n\",\n       \"ZEYLMu2QZVnfdrKMS+tyGdbh2z4FBCffOmQIoB6vBSrpI9LLa4eV71gHhSqfaws/HoVCImAhIs4X\\\\\\n\",\n       \"Qig7bshPO7byVKVcub8x8Trns9Kdzo1VE7WqfX1UGRigcqXiBCvZQbbpr/Xz34HAcNo8/UIQa1h/\\\\\\n\",\n       \"pZKIZ9gvFtW4Cx2HPJbacecqA64spHONy1MOy/GyzPkcwBWX/LD7QkF9LUzKeqadebL++EJQfWGm\\\\\\n\",\n       \"Wnj1jdf1LNfG9dLs2kvrWrkHNLuHrKj7nGEYhmEYxooD4pXsfAJWqVSiHXbYgW666ab6OOSmxfDO\\\\\\n\",\n       \"O+/sXe/SpUuHiFTcSBlCCo2RxxxYhpGJtPC7NLK+BGYNE2x3HVEbxxZldHTpl3S5Tp94RQEfUaTG\\\\\\n\",\n       \"SWFD9vuED+nmKVChkCRvZzFK58Fi4UW6sBpbJ4zduPyyvrDDytfxtCVLKK61SMihgiw0oZ9DCMvC\\\\\\n\",\n       \"ecXj2dsTChjTJSuPntfBUhCIq1XKV6tUrLU2iCTvDhQCHFec90omca+5r9z0mipV6CGKepJWHZHQ\\\\\\n\",\n       \"HatBPzQumcRdCoGNebA4r3xE/f0FdfTcsqA8Ml0vSIUHytYIpUOL/Wu8LunY0mGG0sHFyFxbvIys\\\\\\n\",\n       \"77IVQ7mMzKOl0c4viQxZlNvxLSvRoY0+2s1zpZez1goNwzAMw1h5Qgizcvzxx9MhhxxCb3jDG1xS\\\\\\n\",\n       \"9nPOOcc5qrhVwoMPPpjWXnttOvPMM93wu9/9btdy4fbbb18PIYQrC+NZyDJGFhOwDKPj4lXUIXEr\\\\\\n\",\n       \"bbp0LLW6D2lCVLNtaJFKjpM3be164WlScvE5XLRgJYWpkHQzNKzQ18KgzHnFHQQYKWCxoNUN8cq1\\\\\\n\",\n       \"ONg7NFQQ/TrHFfJeyRxYS5e6pO3ssGLBip1SOgdWJZAHKxQkpoMn8x4Bq1CbHosbfWHp0kYBC0Bd\\\\\\n\",\n       \"gljFIYTol6ofx1jmcpQrFKi7q6ueqB1lxjmwuCw5BxaXNefAYiErCS+U4YKxCCH0dSx2sdgk65MW\\\\\\n\",\n       \"vXQSdy10RR4xRopgEpl3S65PE2cIFUwTpfTDjs5BlUWECoU2auR+tCJmaZHPMAzDMAyjs1Qp57rh\\\\\\n\",\n       \"rqMVPvzhD9O8efPo5JNPpjlz5tB2221H119/fT2x+7PPPtvguPrqV7/qWtbG3+eff56mT5/uxKuv\\\\\\n\",\n       \"f/3rw9pvIzsmYBlGkJCwM9xl0gSjdsWsTs3fbJ+0aMX98sfCF0LFy+p+n0PL58IJObqGLpPLocW7\\\\\\n\",\n       \"xEiEDr857LqSoW3SISTD4FjcgrUo4uTnMhE6/nL4HYfZyWEkakcrg9Vqg/uKHVdSwCp73FcyFxZ5\\\\\\n\",\n       \"MjHpI9dt7MllhpwVqEfIi4V9hdrEebA4PJILi4+Xj29gICmLUj+VSl1UqhWDLDPOecUNIHJZ83ng\\\\\\n\",\n       \"/mSTcHD5zl9eiVnyaGPVrx1WWmjyua5k/ZSlJMUZuX5fAnafCBQ3uXayCEehlg3T8m3p9aVtR0+T\\\\\\n\",\n       \"ZdAMLaIZhmEYhmGMDT73uc+5LktjZIVCwSWER2esGEzAMoxU2vkK0KoQFXrRlcNZ3FpZttVsWsid\\\\\\n\",\n       \"5Zuu5RH+6xOlQkKVFqyijGKWdmElrpwoQkt5uSGiCfeHBKzGfE4xFQsx0dLyoJDj66RoVcsd5cIG\\\\\\n\",\n       \"0dpguVwXsLgb8AhYAyqEULbHx7KFljV0qUoBi/GlH3fzQ8AqlymqZV+PoCahcPgYpHjFChX3J1nY\\\\\\n\",\n       \"qTghrolWSZgmtzzI/TJ5uxSxBs9F5ESsRMCSgpVM0O7rQonZdeuAWtji6b5xMlyQS6uaItb4wv9C\\\\\\n\",\n       \"gpPv3sHTsopQPC10HctpvrMeEptaEa8Yc2EZhmEYhjFyVOLIdcNdhzG2MQHLMBrwhQI1o5m4RCnr\\\\\\n\",\n       \"bCYy5VoUn0JCVpZtZ1mvnMcnZmnBiafJEMKQEMWhg0keq6GiF4/X0+WykRNJ2FGF/lA4oe56emrR\\\\\\n\",\n       \"crkqRZWaeAVlhsUd3fogj1PhhJW+vro45UvErh1YlYADKy0HliyZvOh0W31SBGO5olipUFSpUB77\\\\\\n\",\n       \"DasatzwolSYcD+fB4tjAmpgVVQaokCtQV1felRmKB8Uky1IOc34sPhfceiHyaCEf1uDecyhfQQVR\\\\\\n\",\n       \"SrGKp/M0Wb99Ep5s0VD71OR8PmLVGqIvxxWXOgXyZen18fHKcVJ8k+N9PjpfeKHehpwmRblmrqos\\\\\\n\",\n       \"glbavhiGYRiGYaxcObCMlQ8TsAyjJSFKE7UpWvmWDW0/5MrKtbjeNOdXVsGsmZjlc1ANikthAYun\\\\\\n\",\n       \"+3Jd6Xn0NBZACpTL5TldU4OQJUPdfP0NrRHmKhTJFvpUeGBD6326Hy0OqnBB6bwaCQFLzo/lb1yw\\\\\\n\",\n       \"gC546SV6ob+f1uvqohNmzqS9p0xpOBOu1LC/rPJxQjC2pGEaN82IY6tNi2rTioUcVUtJWTcrX+TH\\\\\\n\",\n       \"4mEIWUm6rYjK5YITswZFpjTHlQwhrAZyY/kELJ8QJR1SvrxXuUDyct+1UW0iaMlttpI7K00ACwld\\\\\\n\",\n       \"PE0HkraS8L0VQSrkUjMMwzAMwzCM0RMfZRhjkJDI02zerKKTXE5P961PShQ8j0/I0fsQmuZbjpqI\\\\\\n\",\n       \"RCERSe6Pb93ajaXn9+2TL9QwrUxYjhl0eSGhIjoOGeR8S76/odxYhULs0kc6pQXKC/5yf1o44cAA\\\\\\n\",\n       \"xQMDVK1UGgQp7m5ffTH9dON5DeN0TiyZ2B3dFRvPo/tXX+wVuvS8PM+9S5bQV599lt6zyir0m002\\\\\\n\",\n       \"obdNmUKfeeYZegRhjWoZ7GvMx6hzfMlOl0O5TLmo4spKl58uX/1XTufzNdSp16ze6rrgq0d6mAL9\\\\\\n\",\n       \"vvrnu+ayXh++a3A412wr9wB972nn3tTufdAwDMMwDGN4xHGOqsPssA5jbGMOLMNwtBM2mDYt9ELp\\\\\\n\",\n       \"m7eZUyttPt+2Wnlp1etsZTgUQugTGHyuqjTxwScc+NYxmAMLicG1MKVFK5kLi/sHc2HFVMjHlK/l\\\\\\n\",\n       \"iZKCTUPydtmJcVXkvfIIU7etvpiO3OUpWlaIaVkupo89PmPIPNwOHzuprnjdXLpkqzlUKkf02Vtm\\\\\\n\",\n       \"0XavTKaJaAUwitz02xcsoN/NnUsv9vVRVy5HG/X00Onrr0+/mz+fdpo8mT46Y4a7uR81cybdvngx\\\\\\n\",\n       \"/WL+fDprnXXq2abKfPMfGKA8tzrIxyIdWGybkuWAZbqrVM0jF1aSBystYbv8y44sHo7jJJQwPQdW\\\\\\n\",\n       \"1CSJuy+huwwhzKX0y/kiT14pHRJYzeCW8jmSfNeldmaFcmdVWwgT9OXB0stFTfYzNM0Hb99Z6QzD\\\\\\n\",\n       \"MAzDMNqmQpHrhsNwlzdGPyZgGeOcNAEpNH/oxphFYGLyGeeVwpD82+p68sMUtJqJXTqEKxQ26BOn\\\\\\n\",\n       \"8qmJ2RtzXOllB5dh9xVHvskWBmVom56Gv5ziKSrXcl7pZO3KbVXvOAHUsmVOwNJuKYQM3j9tmROv\\\\\\n\",\n       \"wLlbzXHjPvL4jHo4IYtWrj+O6YINnqcbt3rFzd9fiOmc8rNEDxNNKhZpz2nT6A1Tp9J3n32WPr7m\\\\\\n\",\n       \"mvSmqVOpv1Khfy9ZQgNxTA8vXUofWn31enJ4lNjOkybRzQsXunEsXkX8t7+f8lCRECLI4pU+Pils\\\\\\n\",\n       \"iXLIRQgh7HJlxzmvfOXLObBk64QYj1VWKr7zr+uLDMvjPFnkCQOUf2W9rTZJiB4KqeN63CzXk5wm\\\\\\n\",\n       \"QxXTCAlNWgjSx6jzZYVyZcn1RE1aOgzlx8pyHK2Uk2EYhmEYhmEMDxOwjHFMK+EvzVxUWcZncVrp\\\\\\n\",\n       \"5Zq5sELLNnNlhdbjC2sKHYteJi3E0Bf6J0PGmolcIefVYD9at+MwNhmupkPXpFNIh7sR3FesuLDr\\\\\\n\",\n       \"yOfGEn8ROhjHsXt155YEZbjex5+YTr25mH641RxXMhdsNcdN++DjM+rzortn0SL64XrP0Wuvh9SU\\\\\\n\",\n       \"MPHFPWjiOm+l6nuWUt/z/6ZrH7yRrp43z03bcMIEWq1Ucke/Xk+P+/tquUxTC4V623j4u0qhQPOE\\\\\\n\",\n       \"O4xLrMLp0qtVyqljaggZ9JUFyqharYUChh1uuvzlucE8cF+Vy9p9lW/iwJJOJTksRdooIOzINPek\\\\\\n\",\n       \"lpXijhR19HXgE43iFnNj6dT68rrS65Gim9xemqNKrke7yHzb9O2LT/hKo1XRyzAMwzAMY5BqPPwk\\\\\\n\",\n       \"7FiHMbYxAcsYp7STvyU0b5SxP+t8aU6nZuJUFvEqNE+W9fhELd1p11YWUcondIWWG9pFUa4hhHAw\\\\\\n\",\n       \"z9LgsOwPCV3RQE3A4o5FGz1OiTpwTnEoIItYLE7h7yGPz3D9P66JWD/dao4b3r82/k8vv0znb/A8\\\\\\n\",\n       \"0R6DJT5t4BCaOu0AomnJ8MTN30zTdj+YFj9yMy348wV08n//S1tNnEi7TptGu02d6oQrEvvAAXXS\\\\\\n\",\n       \"uyT3qz5fHFPOJ9bpY1bDEYSvor8s6+VZK3PuH5ofC3mwOF9BWv1g4YmPStaPKBAmyKJYWhghz6cF\\\\\\n\",\n       \"JTlOOqC0gMUlrsfJZUKimG89WmyL1Lzy2ktzjlFAzNP3An1cactm2Y5er2EYhmEYRjY4j9VwGO7y\\\\\\n\",\n       \"xujHBCxjHOITiULzpYlWIddVlu35HFEhl1coNFEvR226r/ItOMdCIYVyfJowpUPDtGARmj8tuTfE\\\\\\n\",\n       \"K78LSOZi4tA1nqexFcKYSggh7FWClcx/5XMm1ToIWBwGyE4nKRahO6gWNnhRTcT6ec2JtfqdpUS8\\\\\\n\",\n       \"2kuJV+UDhpz1XKmbpmz3dpqw8U4079cn0GML5tArAwP0mzlz6KxNNqFphQK9DEFNbHd+uUyrFQoN\\\\\\n\",\n       \"oYocSugkHoQQyrBBLdDJsEkpYFXKVJqAPFhJq4IcMojQQBnKGXJnSeEwCSX0CZdcT2KPG8vXkiAL\\\\\\n\",\n       \"XLqeStFLiloyNI+ppoxnfI4lHf5XbSIG+QQsXqZZWKCcxsuFBCQtZabN59sveT8Itaio57VwQsMw\\\\\\n\",\n       \"DMMwDKPzmIBljDO04BMibZ6QoNRq3im5jM91FWWcL217zVxUvu351t3MfaW3lyUHFgtYhYDTqqDm\\\\\\n\",\n       \"LYiuMdTMl7BdOoI4J5MvbLDuFsKLebUm0CCUkEUrDimUziTZYl9NwGKHE8sJMpyQuw/XErhfXBOx\\\\\\n\",\n       \"kKidNiKinubilaQwaRWa8fFv09xffoGi3gVUqFbp9tdeo00nTKB7Fy+m/adPdyWKbd6xeDFtNWFC\\\\\\n\",\n       \"fV+knwnDLgcWHwsnc5fHzMIVi1koG9chTWZcd775wjU5J5avzKWolQhY+txLwaQqxkvHE9dRluQK\\\\\\n\",\n       \"ouSz5MDSQhhPlwISL6+dW3IdVfVzqtept0ceYcp3z5GCVj4gWPmOR48LCWG+fZQiFLXpytKimWEY\\\\\\n\",\n       \"hmEYRjpVQmNF0bDXYYxtTMAyxhFZb2ghJ1TWcVrUCa3X58ryTdPuJjnet345b5qI5dsvn0AVWlbv\\\\\\n\",\n       \"rx7WLhgpaMlE7Vq84qTtIWfWULdOKFRQhrbpkDY9PYpZmKm1QlgXamqdJ5wurk2TMovu9PgDamGD\\\\\\n\",\n       \"v6yJWCHxKhdXacv5T9KqfYvola7J9PDqG1I1ylHfC49R7zP3U/f629OU3T9Oz1/zLVdaa3d10WYT\\\\\\n\",\n       \"JtD//Pe/9Pt58+hNkyfT3xYsoEeXLaOT1lknuG+uqx1HJI+Rj1mXQ+34EUIYx1WXzD1L+GBDqKaa\\\\\\n\",\n       \"Fnbehc6/Fmakw4qRIpSeV84jBSEp5oTEICng6JBDvd7QuFC+Ki0c8b77xvv2kecLiUwhYc03f9q4\\\\\\n\",\n       \"LCKWdG0ZhmEYhmGkU4kj1w2H4S5vjH5MwDLGEcMNG+Tp8q9vuZBAxP0+Z1Nomt7vUL9eV0j0SnOK\\\\\\n\",\n       \"ZXFm+fbVdwzyL6WIV2nClc+5FXn7dZ4lLZIMyXUVKRHFua+USCUFHCnkKFFHyxLS3yJf3aVw9IHH\\\\\\n\",\n       \"Z9AVr5tLS0qDokQunlgXr3Z54UH69AP/S9N7X6tPn9c9lc7f5n10S2ka9c5+iBb+62qq9i2lKFeg\\\\\\n\",\n       \"tUsF2m7KFHdD/8K669Klc+bQL+bMobVLJTpzvfVoo+7uhn3hHFiygyBFsSoHDGsRiwU8Fr1q+cd0\\\\\\n\",\n       \"ufoSuIfExbRzO/iXxZd8QDTS4YMyJE+O4/ooXVpSkJGJ030hfj7HE5eqvE7S3FfSWRW6V/B8PiGI\\\\\\n\",\n       \"x8lj0K40nQBe57vyCXN6OJQXS84XgstVhz4ahmEYhmEYRnuYgGWMA7Qw1I545ZuWJkxlCe/Ty/kc\\\\\\n\",\n       \"Tb7xev1p6/Dti96ftP3W628mmvnmDTlrGsMAh46LhKjla60w6aJoMHk7JxT3tTKok7g35GfCqliU\\\\\\n\",\n       \"gWgDtHjFf3labVg7mkCq24mILlfilVsmWkKvFS6ndzy7GX31zl+ociZarfe1ZPyOh9BtHzq9Pn7h\\\\\\n\",\n       \"3f9Hs2+6kOYPDNCMYpF2njaN3jxtmru5l4io6NkX8jjD8lKccjsknGgygbtbuCZsVSqUzxWCOa60\\\\\\n\",\n       \"421oEnd2zUUpidylUMVBkHwELGyRCB/keVwbi+pIpVAjp/H6dLhdVc3rm8aEwvT0vDL/FocGNgu3\\\\\\n\",\n       \"84UQ8ja1KCbLRu4PX6vVJsehRcFQ3qusDqssx2cYhmEYxnjHkrgbWTAByxjjZBGuKEW4ymUQs3yi\\\\\\n\",\n       \"TmjekEAVEqJ8QlbI7ZU2r96W3I7etyy5tHxOMRaZ5DxSdOL1aDHKl8xdj+flhopXOgeTThzucwLp\\\\\\n\",\n       \"sEL3cu0Tqth1xM4knu4WScbpoDP+K4PT5HiIVy73FZ+JeKITr8CC4i9ocu8stDno9cJhXZ968Gr6\\\\\\n\",\n       \"55pbunBCMGGTnejVP19AzyxbRtORdMqzL1pA8+2rV7zjYT527pdlRXGq2813ThqFxsS9Va36RKy8\\\\\\n\",\n       \"SDvPIo4UmkL1mL1wvJwO6JTiVyXgl5OikRSKGL2cnEeLO1IIks4m3h9fq4eheXl9vJ+yhuj5QtuX\\\\\\n\",\n       \"07IMa8eXJOTU0vNI15thGIZhGIYnB9YwQwAtB9bYJ+vbvWGshGjRJm2+Zg6r0Hw+wYgCYXQhQccn\\\\\\n\",\n       \"3uQ8y6bNp8Udnygk3Ux6Hp0gXa9LL9tsOb0NKUr5xSj/MerlGkU+DhnUOZVkKJsvF5Oez4lYEGuk\\\\\\n\",\n       \"UMWCDY/nToyLa8M6HM/nWcHwZa+bO5j7CqV2x+o0q/cyl/uKuXDL2fSTzV/21lQc+YxlC1xurPq4\\\\\\n\",\n       \"7snu7+KasNZsH0L7GQeO0Stkifl0OQ6GBQ4tdzmfdGnxORx6rci64rtefJ2uY1oQbaUOh+q9XE5O\\\\\\n\",\n       \"k9sIOQezXKu+e0CWe4W+v0iBb+j14xe5ffczOZ4yzNfuvdgwDMMwDMMwwpgDyxijaJdQ2ny+l6rQ\\\\\\n\",\n       \"sj5fjF6Pz6EUci3p8dJVItcfeiGV6/AtF3Jo6ePT8+lj9L3c6mnN9sf30q0FAfnirwWFoa6uJP/S\\\\\\n\",\n       \"0NA0txeefEtuT9ThOUElp6O8hEjDIo5EijqKODDuN6+bS78Q4tWG/+ihFx6YSrQN1XNfwYEFvrfd\\\\\\n\",\n       \"PPf3yH+v5t0GErsP7ksiXOUTBWjIPoT2x7/z6lilgOUTtFB+dRfbIKF8WDyfPz9WToW++eqL7ycL\\\\\\n\",\n       \"Dq363iinlS/Ju05yLv/Keq1LUV/7Ov+Ub5p2PGmXE8+rfXo6LFAOSzeULycXrz80Xo8jMc2XxyuL\\\\\\n\",\n       \"k0q7tnzIZS2c0DAMwzCMRuIOtEKIdRhjGxOwjDGIFlw6IV6FRJu0aT6RSrpK5PK+nFRSsPE5U+Sw\\\\\\n\",\n       \"fOn3rcO3n77thaalDYeWyyJghdwrel7tgkmGIXqE8iqFQtiGtoAnkOGDPjgvVIv8+nVz6adCvPrY\\\\\\n\",\n       \"QzNp4X0Vem7Zq875hFBIiFgzl7xMj067trmIJQSkyuJX3d9JrNx1wvPCCdxDyFBKgU6mL/Nh+YRG\\\\\\n\",\n       \"2V8uc33hcy1DBquBJO31Hap1ZY9QIjN/UWCY16fPfdqwT1zyTZPTdT8LdqF8XJQSUsjTdG4wRq9f\\\\\\n\",\n       \"jud16iTxOs9WSJjS68wqYsnjsXBCwzAMwzAGQfjgsEMIrRXCMU8Wi4phjMEqHbXg2tLhN1q88m07\\\\\\n\",\n       \"FN7jE5R800PhTvmAU0kKPHp6qCukrMs3rajCrYoZlvMN+8WowX2Xx8nDOjQq6ZIcWI1ilC9czVsD\\\\\\n\",\n       \"pDso628lKzNpsyip8Dcbz6MLhXh18EMzaf/HZ9C2kyZR/+JXqO+5h+vT+kqfpE8+jBxYVBexLt5s\\\\\\n\",\n       \"aDjh0fddQbs/d5/rX/zIX6krX6CNJ0zw7oP26mUJ+PKre4FZa0UyGAaoykOM0+ejMZRQ77EWPXXI\\\\\\n\",\n       \"nqwrvtC9ZvVQ1tksdTxtudA1k3btZRn2ib06pLKZ0O27F9XPnjxTql+vY8iZT7mPZqo5GeczDMMw\\\\\\n\",\n       \"DMMwjAR7gjTGGFlez0MvZb5hnwQQmu6TCnyuo5C4xS+nvn75wq5f1Fsd1usJvXj7RKnQcj6RSs8b\\\\\\n\",\n       \"ehFvVjZcDnL+yJvPqn5mUoQrnh48880WFF0iuqTXhM0X9FB3ORk67KGZdMDjM9y0rSdNojW6e2jx\\\\\\n\",\n       \"PYnjCiAx+6Luz9Kx9013wz3liLZ6uWeIJ2dipY9O/NcldMw9v6X4/uvpLdOmUk8+763ZIQFrSI0d\\\\\\n\",\n       \"khQsrcAG58kiV/jyksnxjSKkdt7JOpBWV0J1K1Qfh1vPfcKV3ma716jvmpfXgO7Pco/JtVAb5JkN\\\\\\n\",\n       \"Tfed/awSaSYZ1TAMwzCMcdgK4XA7Y2xjIYTGOCPNTRCa37dcyO0gh+W65fq1cAXyKfOGpuVTtu1z\\\\\\n\",\n       \"een9luP1Nn0vsr7putyybJvFCJ845XOd6JfvZBpaH5S5rSB+cMiaTBTezFyESLlKnHhtvDaixizj\\\\\\n\",\n       \"gyupdbr0ZYnh7w7zJ9HZt21Aj0xbRu99Ynq9TT3krNp31VXoV4/dRuWFc6kwZYZb5ra1tqZdXjie\\\\\\n\",\n       \"PvvgebTTS0RvnJc4q+b1TKOLN38HvXHuY/S25+5x497+7L9okxmr0XOlYlASlX/TzkpDE4Ly2FGo\\\\\\n\",\n       \"GladELwm8r7L1WhkEWrH1uCmI6pU+Chk3ioZTsjD9Z0Rf2XLgxW1rAzb0yF9XFFki4A6xE3nxNIh\\\\\\n\",\n       \"g3IbPI8vZFAOy1YFebgijluG8VU8ubx0Pim9DVmXdQuGOkTRFzKYFr7I8L5I9HoMwzAMwzDSsRBC\\\\\\n\",\n       \"IwsmYBljhKxf/bMu5xOX5Dp8kgCP19N8wz4RSzsnpMjD0yllmhaWtDjVbL+0aKVViKzDPpFMC2/a\\\\\\n\",\n       \"NaIFrDS3SzIPh/+xaIW/Og+W2yuVf6lpZJyMa0tbUW0eeTZlKfMeQ3Z4/fxJtPX8SdQvJAHM89ZV\\\\\\n\",\n       \"VqFr5r9M8684nWZ89FuU65pQF7Fy8bn07NQn6ab1FtErXZPp4dU3dA6tm2e9nu6dsQl99r4rqKda\\\\\\n\",\n       \"po26umgDIppTqdBC7A/CKlUtkfvjqyVu33WyMC4Dd8pUwqomhchF6EugL1cvzx3PmwhY8porCHGq\\\\\\n\",\n       \"vgUhuLDgI5Ozx20kSqcWhkOiEQtBeliuR+bg0jm6pOgm837xMfO25DieT0/j9buSV8O8nBSt5Dw6\\\\\\n\",\n       \"CT3X5JAwJbcvCYlezZYzDMMwDMMwjKGYgGWMAbKErWQNWdGCTpQy3jdOCjXNPDDaJ6PFq5CgpZf1\\\\\\n\",\n       \"hQj55k/bB99xtiNg+QSxNBHPd5w+gavxOODUkS3b6ZxXOkRNDku4Yb3BUybi2XwWIanIKAeWFINC\\\\\\n\",\n       \"Z0QPT87n6SvrrUtfffIpmvfbk2j1D55K+YnT3CYhVj04fWNVxsk+XpefRLfMnk3fm74abVQquXWt\\\\\\n\",\n       \"Va7Q5FyVXi4UktxgGfalQUKVhSk7WYjy+GWrh7ocVZGmRSbKzWL1lUpE1aoWbrRLiAUuKVbxfFqY\\\\\\n\",\n       \"4elSoPEJTO0IWFoQ0w4xKWjxeN5Hue/yePV65DReTh+bFrX08UoxLCRqSbTLzed8Cy3LRBnmyzKP\\\\\\n\",\n       \"YRiGYRjjgWoHWiEc7vLG6McELGMMMBLilW+5kDgjHQxy/qHCy9B5pV+H5wsJONLnExK40oSrkMCU\\\\\\n\",\n       \"b+Ki0tMYHZ/nKy/f8cppet99+a4auyRxe+LA8kW9eaLcgkJLfdjpACpJk1ZXPAJPlMtRjHFoSdBz\\\\\\n\",\n       \"5uSZkvIcywHo1u/poZM3WJ+++cyzNOcnn6EJ27+TJm+3bz2kcHBfY+p/8XFadM+1tOzft9Lknh56\\\\\\n\",\n       \"sbuLplJEq9daTpxcjamnf4BeKRaomuIO0/vq8l/5BDrpwgolsqqVIXaBy9YnZvlWw+MHizcJC61W\\\\\\n\",\n       \"ZX2Qwg4fjQz142mRCrELCT4h9xSjW1f0hRL63FuVJo4s3fKgFpZ4v+X2pRjHnV6/DJeUrTTK7cvr\\\\\\n\",\n       \"sJIyHBLHKNAvx4WQ62tnumEYhmEY4wELITSyYAKWsRLjcwm1gm9Znxgl5/OFE6aJRCGRKU18Gs68\\\\\\n\",\n       \"cttaFJPHLY9JSy0hAcsnWPnKT65bi30Nnh/P/hdUv2yFcFDUku4rt2cqDE3qLpJKJRFaanqPIxFf\\\\\\n\",\n       \"PHmueMXF4uBKZZwixpdKrsv39zuBqSJC9aq1vffJLyy98Cv7ZhMm0JkbbUjXzJtHt9x5BS385++o\\\\\\n\",\n       \"Z4PXU2HVdSgqdlPct4QGnnuYeuc+Rat1ddN7Zkynt6++OnXlcjSPiHorVVqzXK4HWU4fKNOSfJ4q\\\\\\n\",\n       \"+ZzLtSVLUqcNR8ghH4e3ENHhWHVCsZojq1qJGgQrLl+UtRaydFghNof5xOpqy+ZceQ4NXatvJZBP\\\\\\n\",\n       \"SruYQmGDeh1pP4ta0PLlsnJHp9atxS0pNoUELllr5Dhfv3Re5VLmlfvNwp8elkKfL2yQxUHthGuw\\\\\\n\",\n       \"L4r5WoW3FzonhmEYhmEYhmECljHmCTmvtMjCf3Un59HuKp+byOds8gVz+RxYPG9ja3utubN8YppP\\\\\\n\",\n       \"sPI5tXzuLJ4/akEADDm3fG4sLWSxgOXzLSXlApeOL02TNgal4RK3V4TI4opWKSss2qAf4g6GeTxP\\\\\\n\",\n       \"qwlZuYEBysVxw96yFMFyBQ/7SgzzzCyV6Ii116aDZs6kWxcsoH/MfZxeffHf1F+pUk8+R2sWi/S2\\\\\\n\",\n       \"9den7SZPpgJaQBSl05vP0fO5Is0YKFN3zQ02qVKhgWqVqsWCE6lkRrEGTxsKTB4rHx/3s7DFwyzi\\\\\\n\",\n       \"schVE6y4C4USarBouTzowmLxCmJiYmrjesOl6M6cOAIpIunk61Kc8bmleF2+ndXzFQO5pXzhg1I4\\\\\\n\",\n       \"k/NLcca3n1qE4uPzJaWXjio+Rp7G+yP3kzzzMtK1Jdepk8tLZ5Ycr8tTrlOTxa1lGIZhGMZ4xRxY\\\\\\n\",\n       \"RhbMgWWspGRQKRoEmdCyzcQr3zjtdAo5sHxiUStuK5lyW4/Pug49jjzT5Dhf+fhEKT42X7mmOdvk\\\\\\n\",\n       \"dvR+NcgqnjJLWqmTrQ/KVFWhPEs+tGMojkVonC/ruxCrhmQeLyQCkZTZWE5gyVEKWFpSqO9Tbf4J\\\\\\n\",\n       \"+Tztu9pqtPdqq3lLUZcKbxOhjAgdnFqp0IRKhSBxFeOYqv0DlCsWXLijdF7VhSxuaVAelxSrdEJ7\\\\\\n\",\n       \"VfAoOw7FTMuFJdGptXQ4KM4xji5xyvHRsoeNS4sFGVnK0q2l3VfaQSjdWr7xDTUmEH6ot6PDBeW+\\\\\\n\",\n       \"hgQrLVxJyVMuz1KnPB52POlQSy4rX0ilLkMpOHEt1EKZPGbfBZYWbiiHs4hYJnQZhmEYxnjEBCwj\\\\\\n\",\n       \"CyZgGSspIVFFz5NluZDzyDdeu5myOp1C4hQFhCp2IkmxSk/zrd+3Pe3c4n3zDbea50riE65803zh\\\\\\n\",\n       \"jL79lI6sZD4IG9IApJO4uzUGdkMLK1JwcSJWLhGpIhZwtGgjhR3hUIrQiaTpMoRQ+m5CQW4sSbAU\\\\\\n\",\n       \"oX03vtLXtaLeTmMUUW+hQHEuRz0DSUihK46BMlXzOYryeTdPgwuLQwT5+KR4pQtbzIttUC4/JCSz\\\\\\n\",\n       \"Wbm746idK794lWy2XOZk7lpYZYGD640sXVk3dS6pEKFpWfNjabHJNyxDCH1ilhxm8agSEH5yAbGJ\\\\\\n\",\n       \"p+l1kadflqdO8C6vcVmmPpHKN15PSxunkY4vwzAMwzAMw2jEBCxjJUSLKpqsAksuw3pC4pWUEuQ0\\\\\\n\",\n       \"n/spzSUlvTBakuDpct1a+PIt24o7i/ddHqsuPzlvK+WXto6QmKbDJQelmnw+12AU4k6PcyWj0llx\\\\\\n\",\n       \"7ivZz3ma3DCELHiWpHjDeaH6+5O/XV1JzBuP7+5OVtLbS9TTQ7m+Pir09w/JcCQ9K1JmkDIdu7Z0\\\\\\n\",\n       \"MJwPuZysEZz/ykl+uRyVS0WKBsoutDE57iotqVapq1h0IYguJxYfF465pyc5Jj4+3WE+/K070Yqu\\\\\\n\",\n       \"zCqiLGWZuuNV4hab2fgcyfMnzwuGXfnFOapUZE4odiHJkg2JRvzzpsP/mhFyYFVr4YRynA4blPNK\\\\\\n\",\n       \"gYqPQTu09LiKEMl4WIpcUtDSy/IyLPyGtqEdYrycbtlRCl7SBdesZlYDw3I+arIeHepoGIZhGMZY\\\\\\n\",\n       \"xxxYRhZMwDLGKGnurJAYIx0eIYcST5dupVDIW0iw0mKXL+eVT7SS/dKh5NueXIY8wlfasWohK+S6\\\\\\n\",\n       \"SitjPd23jsgjSA51pnGrg4kRajB8UOfAalhzYNc4R5MUXJJ+CDExFWourLrzSDuuuIOYA2EL42v9\\\\\\n\",\n       \"UbVK+UrFddJJlfdIBLpkpBTjS7+tS0378XiYBSx2Y+WR/6pSpUpNUYJQN79/gFYv5GlCqeTcY27/\\\\\\n\",\n       \"WcTiYXm8OpRQ9FeqSZifTtzOZZwVFraw/KCrDrnOEiElOW/NQv1keJ0kFPoXwjddrkOHE0oBS47T\\\\\\n\",\n       \"QhT3S2FKi0pSKOJhuQwPs5DHzinpSuNhOQ9vm6fL+XzTfQ4veS+UgqJcJqtAZQ6r0cB5553nuqef\\\\\\n\",\n       \"ftoNb7nllnTyySfTO97xjhW9a4ZhGMY4JHn6iYa9DmNsYwKWsZIRjcB6QuJNaFwrDictTMlx2m0l\\\\\\n\",\n       \"ZYjQsBasdCt9aQKWdo3pYfI4zHR/K6Q5tNLEwUZBEOKVFq5kDiWZxL1Z/iuZo4lFloYE5Lmccy95\\\\\\n\",\n       \"LV46hJC7WoL3CO6sgQEqCAGLXVEkfDh8lLIkZAYlPiMh/UfLpjLYVLY26PqjiIqFPEW5iJYOlOvb\\\\\\n\",\n       \"mV+u0AAN0MxJkxIRixO1y2T1ulOZ81FWQ8pPlW0ofFDnK+OE7jKEEMvivCfnjFs65Hqhw+Ckz61Z\\\\\\n\",\n       \"CForbizGJ1jpdUlnGO+rz82kQ/Z0zivtqvJdi75wQO004xqYJmLJcXo6BWRWHuZtRE3yX7WLCV0j\\\\\\n\",\n       \"zTrrrEPf/OY3aZNNNnEC8S9+8Qt673vfS/fee68TswzDMAzDMEYbJmAZKxHyxS1tHp/TJ8qwzjSX\\\\\\n\",\n       \"EA1TvCqkDGtXlc9xJaUKKVnkU7ahWzbkft9+M3qYx3VKONRl6RtO9iuKcg2ildRVdCuEOrd4MwEL\\\\\\n\",\n       \"Th8IJjLkDYaqQklsQApUCK1DqCAWQtfX58QqtwL8xcK1Fef7+12gWRTIKiQ9NNJv00kHFveXeFwu\\\\\\n\",\n       \"RxNLRVpcLtNS2LCI6LVymZa9+iqtPWEideP40MF9xaGEHDLIYYWy9UXkwMoX3GFz+XGZynDNEPp8\\\\\\n\",\n       \"YZnBVgjFsdarCOoDpsU1J5a8bn0Oq05/f/OFIcqMZnKY55UyZEX1y5DCsspZxYJWuTZcFtPKTRxQ\\\\\\n\",\n       \"cp2ypvFy7YhYIWFKilhynzRSyPMtGyJtnUYnePe7390w/PWvf905sv75z3+agGUYhmEsdyyE0MiC\\\\\\n\",\n       \"CVjGGEE7A5hcC84fOT4XCLHziT9yuhSK0txSLHGwuKRzXtXTcnvELD1N/vWJYFkEtlBZ+IbbQb/A\\\\\\n\",\n       \"DhXFtJtKC1PQUKSYJfUUnfNqyNbjoYIV99eMU3UH1hB3FWZCP+e8wvCyZYPDWBhdTcCKIGL19bm/\\\\\\n\",\n       \"fMQyKTu/lvPZ5qxH8jVfBpZJ+UDXRum84rNZFDWgLmBhfBTR5EKBFhPRS/0Dbp39A2V6+plnaI1C\\\\\\n\",\n       \"nqatvjpFOCY+Vu64HGRXLNYdWDh0LtuhoZnprRLqBh41XB9Y3EKoZ+LsSq4zv8tLi00jUX+1I6tZ\\\\\\n\",\n       \"vindL0MIC2qcrBFSTGJRTE5nsUuGF/rCGLn9Sxa35Lq0q42XdSWc4nqTYYWxJ/RRrofPgS/UUM5n\\\\\\n\",\n       \"rCgQZnz55ZfTkiVLaOedd7YTYRiGYSx3TMAysmAClrGSkOUlNM09pdchZQA5LW2cFrJ80ykgHuWb\\\\\\n\",\n       \"5LzSQpUcpz02ut8nYGnxTE5jh1PkOgwn4k8SpsfDg4JQewLAYLie9BeF16lDy1jc0K3T+VxXulVC\\\\\\n\",\n       \"KWbp1galuMKOoUFRK0dVtHYowwVl4nZWu9DPqhdsSDUrEvJgYR78dWehFk4oX/lZdiAhH3CnhSuf\\\\\\n\",\n       \"gKVroJYy6zmwVE4s97dQoGnFIk2cMoWeX7iI+vr7naNpzhP/pcVLl9Fau+5CeZ20Xbuv8nlXRigr\\\\\\n\",\n       \"6byS7iv+K8ten2ffuWM3Fooe82Cd6OdzhnEcTuhbt1+4HqxrWcJMA7W5fiZkvU7cYnCFJWn3UZaJ\\\\\\n\",\n       \"Q0yLWDrnFYtIUtKU0iafTem4YlcVd1K0kteZFKekHbGq7gVSJJPlpPcjFK7JNdZX9j4Ri9eRNqzJ\\\\\\n\",\n       \"4tQyhsODDz7oBKve3l6aNGkSXXXVVbTFFlt45+3r63Mds3DhQit8wzAMwzCWKyZgGSsJ7YgoIReR\\\\\\n\",\n       \"z2Ekx/tkgpBrKTRdD0uHlU+wkoITSw56mvba+JaT4pbefiJaSfFqMGH2YOdKojaulZd9LSQMumNk\\\\\\n\",\n       \"+WY4a8KJpcUNHTooRSv+q0MIdW4mKa5I0WVgIGlRL2IBi8UrdmCxE4kFLW5qD+IVO7DQDQxQrlp1\\\\\\n\",\n       \"Qka+WqVCjLb6atv3ePbkOOnRoYCA5crFI2BxDfAJWG4czjdydXV1UdeECbT+GmvQ3Pnz6dWX5rp1\\\\\\n\",\n       \"Ln7hBfrvH/5A67z97TRh5kxvni/uKpQkcGcNr6bbDREJucx1SKE+Z/o86zrF6+N6EcqvNbSkwnVL\\\\\\n\",\n       \"jmtOsk6d24sdZrJxACliDYpZsjVBKVrJBOwsWLEIJZO1y/BDXRN0GKMUhVjE0o4qV7othhPqbTFa\\\\\\n\",\n       \"oJY12+fEakWMMgFrpNl0003pvvvuo9dee41+//vf0yGHHEK33HKLV8Q688wz6bTTThvxfTIMwzDG\\\\\\n\",\n       \"J+bAMrJgApYxypHOprR5hhsipEPadFigFLR8YhU1CROU4pIUmKTUwOOl+OTz1OhQQt9ycj/Qmhu3\\\\\\n\",\n       \"4ufPGSXFKhYQfGJQGjpcTAsXrbRM5xOxtGglxSyeL7S/UlDRYYQQYbAcouXQHxVzVORcULwgO5F4\\\\\\n\",\n       \"eOLEwZWzisOFiAOtHYA7O/39VIGYVTsjZZEFiftZ4pAyQ1oSd65xUROpsyjEqwj7j2NCN3Ei5SZN\\\\\\n\",\n       \"opkzZ9LEdV6j5x94gOKBAaosWUrPXHkVTV+0iFbbd99kGenIwrKlElUqOafbsQGNi0CWK9eJ0Dnn\\\\\\n\",\n       \"sEDul/nJZB2QIYl8/tLCEhvKSomweng4dZz3M9SqZbWaF2UifXXagYV+HdbHNYL9eixcsYjE9wFe\\\\\\n\",\n       \"zh2NCkbVDire3oC4n8n8WjpEktHhhjI0UW+jHZqJVFzLh7MNI0SpVKKNN97Y9e+www5011130fe/\\\\\\n\",\n       \"/3264IILhsx74okn0vHHH9/gwJo1a5YVrmEYhtERTMAysmACljEG8TmspGNBjvctKwWr0Pp9ziud\\\\\\n\",\n       \"yyrkuCp4pAbfvFKwkgKXnE+LW8nx5fP5mqATCaEncuFYPhFI552qH2kTJ5Z2N/E4+YIv55WunGYi\\\\\\n\",\n       \"hA4nlCKWdmHpHFjSTcaw4womIim2sPAAIQbTclGOBlye8kIi4GAi1C1O1I4OYTQc08YHyhusCVgR\\\\\\n\",\n       \"xzsuXUp5uLKg8ojXfRnApf05aWnItT9QBpFKeZMFLLQy6LoJE4jQsYhVG5682mq00YYb0HN//wf1\\\\\\n\",\n       \"vvii2/95f7qRljzzLK316U9Rcfr0ejhhXChQmfI0UM7Vc9f7ypLHadIEJD6PbG7jdWB885DBofUm\\\\\\n\",\n       \"VA/k9nh+/qvnlXVHC2fSycfDybiowZVWqcRO8EumI+ww74YbxSGcrYqQNGVuKhlKKCVPnWFNhhuS\\\\\\n\",\n       \"Cjnk+Vg6lbmx5PqkO8xbulyKSnKV07XzSgtULIJZWOBopFqtNoQJSrrg3sS9wDAMwzAMYwVhApYx\\\\\\n\",\n       \"iok6ME9aqKDsl51veS2CSWeYDhv0OaS01NAsGTuLUcUmgtXgNLissH2EBhYKuYbW+mTrfT4RS7qv\\\\\\n\",\n       \"mrlWGC0o6FxTvunSRZPFjSXFBd5PX+4knfvKl+tI7pvO1SRzYZUrERWqOSrIEEJujY9XgJc4tuNA\\\\\\n\",\n       \"yZEr4ozmtR2IEEKYy1GM81KpuPDCahzXa4v0t0iPjtvnQG3U/kApjbphFx6ao1w+n4hw2F8Wr7iF\\\\\\n\",\n       \"QdEVJ06k9T9yIM2/6180/+9/d8e19LHH6MmTT6G1jz+eJr1l98HwQZf7KhrS8mAo/5U+nz5hEvNJ\\\\\\n\",\n       \"oUo7sLRImoYUrWTd1duUw3q6JuQmlC4sKd7JOlUuR6KM0B9TFOXrrSliXOM9goUoPsvSfcVnn1su\\\\\\n\",\n       \"5FqgW+vj+0h9j1NKTAthMlObDgf0tSRIAcGKWgwfzBJeOFynraEdVe94xzto3XXXpUWLFtGvf/1r\\\\\\n\",\n       \"uvnmm+mGG26wgjIMwzCWO0me0+H91g93eWP0YwKWMcrJEj6YdboMvJLClA4flPPojEU+5xW/LGo5\\\\\\n\",\n       \"QSdXl64rHfDlE6lkEBjPx4JWo5Mrl8sn7qHayzunLZKuFu5nMUsmSdctwtVLIeWl3udIkf1SMEoT\\\\\\n\",\n       \"sLKGhOnQxrTQQt++6pbxWGSA/oTluDFBThbf1dNFcTlpVbBBwMIwhxdK5UIepLauwQHV10fFZctc\\\\\\n\",\n       \"qF61UnESRN7jwHL7G/CoyFpIAVnU1Yhczrmu3H5yMnYIWLJ1QXZkob+nh6KeHpq+7z40YZut6flL\\\\\\n\",\n       \"LqXKa69RddEimn3aabTqgQfS9GM+T1Gpi8rLBsuKO6nb6VBCLVT6REhfPZDCUjshp9wv3ViycQBd\\\\\\n\",\n       \"r/R6JD73Fx+jdB7ysE5qX8vxX+tH7rBBl1ZSZbgGSBeVDCGUSdyls4pFpkrA7YThgRQxi3Nvcb8v\\\\\\n\",\n       \"55UML/RJq2lhhHIf9XJ6vrTpWX4LjFaZO3cuHXzwwfTiiy/S1KlTaZtttnHi1d57722FaRiGYSx3\\\\\\n\",\n       \"qhS5brjrMMY2JmAZKylRB15yfHmvQgKVdklIt5Vs4c8nUEWBsEEWqqRI1ZB2W/WzI2twGnQJFqU4\\\\\\n\",\n       \"z7YUrGRjeuxg4mEt/qS93PvcTDpEzJcTiJEJvrVrRS6j+yW+UEd9DD6wDXlMOuSNRSsOIeQyKJUi\\\\\\n\",\n       \"yhdLlHcGl5rSwIUkkzdx4cmC5rxRfAKwEYTlYFx/v8uLVertpbjWSqFsn06LV1KK4L+hmhlh2xCt\\\\\\n\",\n       \"WMFkAQvDEKqQu4tzWU2aNDgd42ti1sStt6YNzzqLXrjwQlpyzz1um6/89re0+IEHaOa3v0f902bV\\\\\\n\",\n       \"G17k/FdsQvOJVr66wkjBkYuOz5fONaWX08IUnw6fmxCnQNYjX843Od1X35uJtNJ9xqIeH7sW+VBu\\\\\\n\",\n       \"PJwY/XK1vGIyM5pM6C7bq+R5ZA6sMtdusde8LKl1ub3nklRJ293RckkE3F2yRkrZlYWuLLmqpHNM\\\\\\n\",\n       \"j5fbMEaSn/70p1bAhmEYhmGsVJiAZazEhML9fP3y9d+3nqzilQw1lO4qn5PKFyqoRalQaGBR9Q+K\\\\\\n\",\n       \"WwgVhMOmUIjcyy9rJFrA4pBB6cZidxY7raTrSodVhZxXIVdKo6Ok8a98mZdClXRDNQsv1OFeMvxR\\\\\\n\",\n       \"hheG9lWKKyweoGPRhEUGzh0GvamrmKeoWKJcV21m3lmIQbwj0nXFw6we8s5BsajFbrqQPmys9jdX\\\\\\n\",\n       \"qVBUUz9itF4oDj7UCqEbxrpqheD68ZeFKhbTfAIWO7A4nJD7ebinhwqTJtGsM06nV6+7jl668CJ3\\\\\\n\",\n       \"7P2PPEKzD9ifJhx/GlV33a/BfcWhhFKkkefXB4cMslilw1b5vPkcddplJVuglMKWFG11q4fSCSbr\\\\\\n\",\n       \"V9Y6r0NS+VilMMr1jYU+Lifsl6x/HGaY9CP5O0ILZUihbkiiXguE+6qowv7kNClahdxYHMLHLRnK\\\\\\n\",\n       \"7flaJqyocaF8WDLnlc8h5tsHwzAMwzDGG5bE3ciCCVjGKKYVC6h+vc8iYmlPi+yX4/hFkgJils5h\\\\\\n\",\n       \"lZYPy5+/qnG40WXFAlYUFVzunES4SsQrKWBBp2DRisUsOY1f8FnA4pd3zonlEwBC+YAYncRailg+\\\\\\n\",\n       \"Z4oMs/K13uYLOwyhxSufc0bvs85RxA4YnxsrEQHzlENZYQAz80owo87ezRtnNUZmC+cTg/Gs+iBJ\\\\\\n\",\n       \"fH9/EqIoVCC4srSIJWur668JVg2JzfjEc0Vg0YpDCDlxO4alcMW5sFRurKi7m1b96EepZ5dd6bkT\\\\\\n\",\n       \"T6Ty7NkUL1lCS874IkV7306VQ0+iSnXCkPKUZRw6h9Ltx44r7ZTzEQoHlGGlcrwvzFTmwZIOMC2A\\\\\\n\",\n       \"NsuFpQVYHULJghWLcJxSjesYn3YOX+VTODCABPnIAZETuSCkQOS7r/F0HtYePtkvBSVZ4CxcSVFK\\\\\\n\",\n       \"3gelOObOgppHClRRC4KVnN4MCwswDMMwjLGK5cAysmAClrES4hOrsi7HsKMhCzoHli+k0JcDS4tU\\\\\\n\",\n       \"OiG7dFmVxDIlMQ/6C0lC7ly+QZ9gkYodVtqBpd1Z/LKuBSxMCyVx9wkKOpeVFrB8KaG0A0vnSpLT\\\\\\n\",\n       \"pGsnFHpWP6MqnNDXIqHcb27VDh3vA8QD3QIjhnt7a8t15yjflTiunOOJQwjlAlyw0nUlT5Czc9VE\\\\\\n\",\n       \"IvRjo+iXsWU1RQOClhO1dGHrE6MFLBatuGPhSiZxxzZ5GkIIdU4s1R93d1P39tvTmr++kuadcTr1\\\\\\n\",\n       \"/un/kt268QqKH7qHKp8+hwamv67BbSTDM0Pilcx7pc9Rmojly4PmcxLquiBFWi5Kubzer5B4GwqT\\\\\\n\",\n       \"xTC3yKgFLAyz/skClgwhrEWV1h1tSSgrHIAR9fcnCfOThO/Yuf6akMT3G86Z5fZauKxYPPK5nwaU\\\\\\n\",\n       \"SCULXLqteB7edpOLsb5+bpKg3XBACyM0DMMwDMMw/JiAZYwBdNyYdgmEnFhp4YP8UpeWtN2XPjuL\\\\\\n\",\n       \"q2pQmEqWKwnRiocHwwyLxZx7oWU9hCPCdLQYaxM8LPNjsejlE7FCSdCbhVJpkUq7rGT4oBat+K9M\\\\\\n\",\n       \"dK2XA6FE4PWzFxDaZGgYm6OkSMXbglgg14Fh37Hii1B3qYvy0mWlm3eUhQ6Rim1crFCggyrGohWr\\\\\\n\",\n       \"FkrAqqsiIfVOimY+AYvjR7lS8D6wOMWCFufDwjCHFip3VrVQot7eiPpyE6l0wlk0sOUuVP7RaRT1\\\\\\n\",\n       \"91L+xado8hkfpPL7TqQlOx7okpPLc6s7Pi86Ubs8nLRwQ5/YpIVLLg5fvZZhhD53VjPnoawPfHpC\\\\\\n\",\n       \"9Vo3TInqoAUsnk9WCfRzhCkLz/39eRoYiJ0razAskFshlC4ot/cpzlIpKqGf6xevi5E5t9wRq6Tu\\\\\\n\",\n       \"ec90Xo77pXAmh+W+6uDYLLmzDMMwDMMYq1gIoZEFE7CMMUaroYTaXSVDaHQ4oBSstJgVChVsFjro\\\\\\n\",\n       \"y4mVhA1GEfJc5airKwkZlIYaFrKkaIVoMKljsGjFL8K+iDOfa0WGWaXhS2Ltc+HoF31f62w+dxY6\\\\\\n\",\n       \"FptkeCHD/VJw8O23XE6KbbUoPvcXy3AOIil4JAJXRLlcnOQdiwpUREHXq5MStNjaxYUsFUM+Caxu\\\\\\n\",\n       \"aAFLx6HpZvl4e1qV0dn6ZfJ47KuuMFyJdPggC1i1fFgDUcElF4cwxbsa7/E+Gpi1LeW+dywVZj9O\\\\\\n\",\n       \"ufIArfb706n079vp2fecQeVoakO90OXvy3HFh8UipTx/OtzP10kHlm5tU8+Xpc43C2PMUuelJokO\\\\\\n\",\n       \"xS91Sw4nlCGE3A+xq9FdhvrnSo3K5YJoHlrmouJk6pzzSv6068TqoVYIeZiFMR6vHVm+lgplrix2\\\\\\n\",\n       \"e+mQx+GEDhqGYRiGMdaxEEIjCyZgGWMIn7tK57uiJuKVL1RQhwvq+bR4pUMLtUilWxgcKmAh11U+\\\\\\n\",\n       \"n28QqaSAxSYaFq04X7fUMfQwv9DLJO6yNUL58p6WEJ3R7ij9Mi91mZA7hXMfSXHL52rR4Vq8PS1Y\\\\\\n\",\n       \"yQTdGp2Ti/MQ8TqwXzIZPAsKIJeriQilAuWLOYqqyU5AXBiyYWxItkjIhc4bSBOwWP3hYXnA0iIk\\\\\\n\",\n       \"QxV9AhafXK483M/D0pElhKvYCVrdFBdLVB4YFK846tF1Mzagvq/8jrov+zZN+OslbpcmP3wjbTz7\\\\\\n\",\n       \"IfrPu79DvWtsPyQUtOHKE3VLTmd3lkyqDkK5rKR+J3XCkMtQR13K9fhcXiG0Q1CKr7I1Rg6r5DBB\\\\\\n\",\n       \"Ps3LljWedpkWzecQS05zcr9BXqwkpNDtSSAHlnQ+1fearwLhhuJh2S/XKecL5cfS69Mhi/pvM2HL\\\\\\n\",\n       \"MAzDMAzDMMKYgGWs5O6qkMoiX7bkvK3mvfK5sLRo5cuHxaIUhw7KlgXRdYnxpYb58vlCXawKmWak\\\\\\n\",\n       \"JiGn+cIJ2YElNQ4ZddaugOXTW9LCqVSu8oYXfenISsuPJac1ExokvA4WzHB8vG0WI3h9MoeXFs6S\\\\\\n\",\n       \"fcpRT08P5bS1TaqMrPiwkoh+jON+FrA4psxXgHKjvIM+VYeVHD7h8mRzJZI2Pd5PdmfJkMJSiar5\\\\\\n\",\n       \"ohNZZNQjh7nhENy0Shcteu9XqLTum2j6775ChWWvUdfCF2mLX3+Mntn58/Tkdke4et6sFcIQoVxW\\\\\\n\",\n       \"2j3ly+0Wchqmhc1qPbBTAhaLVDLnFYpdhg1iv7issX2cClnWPJ2PB3mx+vpKtVYKy7VOC+0khpHz\\\\\\n\",\n       \"CpR9Z0GITnLZ+tEqR6p0XTVDurLk9nwtFsppvGxIjDMMwzAMY6w6sBBGONx1GGMbE7CMMY7vJsY5\\\\\\n\",\n       \"rnyhg758V7xMroUwQb+zqrFlQTkPQgbzLlF7IkolIYOcV5ujwFjA0uIWT9M6hdQwZEN1+qVft9qW\\\\\\n\",\n       \"FkLITiYdRiVFJilK6Zd6dqbIYX6555A+OZ3zpUvBTDp40loq1Pst00uxiMXHyvmveJ3sCGp0iEX1\\\\\\n\",\n       \"hPTFQoEKxRwVpuQHbTUc/8WJjFDwLGbhpPiSIfmareOd5B3S8XSAT5ZUZnzNT2pxjR1YQg2Ne3qo\\\\\\n\",\n       \"kitSuZKjgb5oiIDFZjHpxsIhLHndnvTKp7agWb//Ik157h7KxVXa4LZzaPIzt9ODb/0W9XfN8J4L\\\\\\n\",\n       \"n/go65yuk9LIpkMBdf56WRRawNJOLZ3MXRZxWv3Xbj6uJ1qMZbGWU6Lxaed6zqY8Ll/O98+CFSeg\\\\\\n\",\n       \"5+NIyimiKIqptzdfuw6l0CMdWdqd5fZeHw2XvsqP5ROVdAghL6dFLc6Rpbcl3VeGYRiGYRhDn0qy\\\\\\n\",\n       \"PteHsCeNsY8JWMZKQjM1vVmi9lA4oR6f1oXcWGnClh7fKFpxgncWr5CwndMSsc4gQwc52ovFKzmN\\\\\\n\",\n       \"RSufViHzYfmcKg0v81EsonuEI6L2Ru9+WPAS79wo0RDHlQ6f4nw/nAuIX+w5hBAdazqch0om/pah\\\\\\n\",\n       \"hhyhx39lMvk0eBkZdqhDCVlsYFgw4O3wMryOuCtHcRFqB1GumygqFCiSqgMrEvIAWblg9QInhxUQ\\\\\\n\",\n       \"KWBJtU0jlRZWY6TS4ROw0MlwwlqFiUsligtFquaKNFBFsnC0ftcoWsnwQV/e+f5Ja9K/P/oLWvNv\\\\\\n\",\n       \"59Gs289DoBut/vwdtPPl76P79ziLXlrrzQ27H3I46TxUfEjacaWFKx09yfWY67+MsPSF0TY6suKk\\\\\\n\",\n       \"6ksBlyu8G8/KaZJoVIe46rxXMtcaR5GiDDnvFbeAyfnWdE4uFlJZTOUwQ+wgQgn5Oovjonpkk3UH\\\\\\n\",\n       \"FZmPgfurarzMfcWClAwPDN0TGV94oFyO1DQ9nPa4acKXYRiGYRiGkWACljEGRSzfy5XvrVnPQymu\\\\\\n\",\n       \"K18+rKiFZO5FTzjhoJiVyxXqidplqiItVNXyazeIWDIflhatfAneExEASck9AhZenKlKkUw0xeqN\\\\\\n\",\n       \"UB7wmh9HEVUwGS/veInHi7tI0s5uJdZlWPRgcxKLVVLTkQmu+eVehinKvFW8a+zOqu9bnB725Uv4\\\\\\n\",\n       \"zocohTHZL7cjwwtxjNQDJxZyY9XEoVyOIk56BCVIZuzmg/XFT/qy3fvwZScPxdHpRGi1ihXXpkG8\\\\\\n\",\n       \"qhCStTeayHRjidKBJQWsen+1QE/tdDTNW2Mn2uJPX6SepfOou+9V2umGT9J/tjycHtn+GKKoNCRf\\\\\\n\",\n       \"mU+8kjmreNelVscilnRZSQeWbIlTNxKZDMdDWyzE9t3f2NV9iHBDKo/buWQ86n5MuaTeKwEr6U9y\\\\\\n\",\n       \"h8nTzlUC5cvXADutME66x/gUA9k2gG4rAPcaiI6J1qkdWHwP0yKVTOrO/XFKniudM4vvkyRaNkwT\\\\\\n\",\n       \"o3TYoBSwTLwyDMMwDIOfPCL3b7jrMMY2JmAZYygfVrPpWnzSTiotYmnxSiZol8KUHB9K0O7rivWc\\\\\\n\",\n       \"V7X0Q0NEKugNmMbaA/pZzJL9MiJMurb4hV+2Xlgsxs5lFUFxYjFlAG/hsJWIZgN9SpCIrYLbqFAT\\\\\\n\",\n       \"UYpsa8nlKI7yVK4OulO06CFDqThcirUcrfWgYwEL8/IwO098Wo82LnEIopwmD4/NTjJPFm9HtyrH\\\\\\n\",\n       \"5Sn3F/uFc1Mo5F3XPQUz1A4QE3QCJGlPk00y+jLWh/BlNpeKD/eH8mHlC9Q7kKNy76DOJl1WfF7q\\\\\\n\",\n       \"idtr47mTGpyMgpy3xo70t/2vpm1vOZHWmH2L29VNHv4ZrfriHXTX7t+jJZNmJXVH6KE6fFU7pLDb\\\\\\n\",\n       \"UsDSud14Xi3aanGroYVCJ1SJGNeBQP4xn72vtvNJ/XeWxcEVdxUozuWdO0uWG067DsPkvzIHFqrL\\\\\\n\",\n       \"kiVJPwt1LHixsIVzxWXHyy5ZUqjttg4DZDFLHweLR+zE0g4qeR9kJxYv564gj+Alp/vCF7W45kMm\\\\\\n\",\n       \"gTcMwzAMYzxhrRAaWTABy+goZ555Jl155ZX06KOPukTXu+yyC5111lm06aabjrDzSopPaeGEaevw\\\\\\n\",\n       \"hQj6RC89ncWtghCx+K9ufXBQuIoiOK/Q0mDivJJOKtlAHDuruF80GudyZOmc3EMbnIupCNdJXKGo\\\\\\n\",\n       \"Wqb8MigPZYpYRNFqkAxjG1JMiU0m8jULx2/ZObSgiGPLuZf54oQ8DZSTkCd2+rAYxEKDdKOwrsOr\\\\\\n\",\n       \"laF9smVAqfewW0o7saRbikUTFrRkSCLrclLYknm2ZPGEWlosFCJX1nE15xx1+XyO8hMKFHV1UcSK\\\\\\n\",\n       \"l1Z/Qg6stORe0qqkM5BrB1atQsT5PMX5AlWQWL2ao2o5R31ONEnOiQ4T1OKVzlUmtTeZs8wNd61C\\\\\\n\",\n       \"d+x5Hm3w8C9pi399m/JxmVZ75WF627Xvo/t2Pp1e2HC/evkOtrI3tDVBHSbI42VUZKMw2yhasfkM\\\\\\n\",\n       \"bkPUfwi2EK2i/ipFrv43aTkg5RqIQqpbzTqF+o/roFAoUKmYp4EuOLISUQsClBTjpANLu67YccW7\\\\\\n\",\n       \"yKdehtJiX5JzyDmxpMPKXSnqp16GDxZU/ix2S8l7nXRf+RK+Z03ozuuQ9+qqmpa2vIlahmEYhmEY\\\\\\n\",\n       \"4x0TsIyOcsstt9BRRx1Fb3zjG6lcLtNJJ51E++yzDz3yyCM0EZahjiZib9bPw77QwijjsE+sYsFK\\\\\\n\",\n       \"hgzyPAW1rC+BO4cN5lzOK+2UkqIVhwpKYUu6s+R8slE5J3KVqu7FvZCvUiGqUqRVCd30nxRS0jIo\\\\\\n\",\n       \"+sQrfsvO5524lRdKQpwvUa6Qo0ouokI+KRuEPckQQrkq1tT4BZ3z/sjQP36Zl0nYdc5znleOk5oE\\\\\\n\",\n       \"i1g8ngUDHpbLynxb2ijF/YlrK8kJxm6sYjEJD43yFYoKRYqKiTsrYtUnJJ4AnwvOZ13yiIguRDBf\\\\\\n\",\n       \"cH8hIjpXUFRoEKF0YnHpEJKmMVldpJCldTfedXc4cUT/3eIQmjf9DfTGW4+jyYtnU6m8lHb82xfp\\\\\\n\",\n       \"6Tm300M7nkTUPcFbjWRoq3RbyVz0UvzUIlYyX0zdXbELCUSH+k8VcVC+5Pm+kxrCl2G+VvYuD1qx\\\\\\n\",\n       \"SIXaDhVKJcoj2X8uRwOFKBE2a5eL1B7RL+smi1S8OW48gOslD6PDpqtVhBPGVKkUhPOJRSpfmGAh\\\\\\n\",\n       \"EDYowwyjQD4snRerXjCe6VK0kvVZLxcKQ8wicBmGYRiGsbKD58domK0IDrcVQ2P0YwKW0VGuv/76\\\\\\n\",\n       \"huGf//znNGPGDLr77rtp991379BWmrRz73VdNXNR6eWkYMWilBSgZFhhqCXCUkOi9sYWB4su55V0\\\\\\n\",\n       \"WnHHLQ9yx6GC6J80yR9eiGFM6+qKkxYJu7HVCuUQytbb509k5HuB1+GDvhxYvvxL0oEllYdikaLu\\\\\\n\",\n       \"bvcyjy4uItdXgcqVuOZGSVwpUqhgJxY6Dm2TecvZjcUJ2DG9fuZrp4+FLZkfi8UVmU+IYSGAk8Xj\\\\\\n\",\n       \"LxvUeJ+ku0fm62L3HM/HwkRy+JE7XnQFFE83Ua5apjj2l32kd0wn75IZ0JGHKZQDK8pRNVeoR8iV\\\\\\n\",\n       \"hcNKaji8ed26YL9H65GCVihtl25E8dVVt6S/7HcVbX/HqbTu09e68ev/5wpabd59dN9e36Wlq7/O\\\\\\n\",\n       \"GzaowwRVCq8GwZcFrWR6Uv8LEISoQlEZcaq1nZaJvXwCru+AQteATNaly54PpqaqIR9aEV1XF3X1\\\\\\n\",\n       \"FKinJ6JlXRxCC0FrMMG7XJTFLRb0AJcPi7jSOVibwwlZiQtLdzKED38r4l7Fw2UhbrkrQ9wbBzwu\\\\\\n\",\n       \"LX2/lC0U6n55f5br9iFbNTQMwzAMYzzQSuviaeswxjYmYBkjymuvveb+rrrqqsF5+vr6XMcsXLgw\\\\\\n\",\n       \"49q1Y0oLWzqcMLQOdkqFWhWUw6GE7VLYksOyv1Tv146qRHwaFKk4TBACFQQtdmHpaZw7i4dLRbhN\\\\\\n\",\n       \"KhT1LkuEqwGRuEg6sDjxlI4Hky/tPgcKvz1zP2ebls0byuRE6EfMYJIkKnGkdHW7EKtiF9xnxboT\\\\\\n\",\n       \"iPP5sJDCuX5YROF+me+KRS1Ml0nBga8hPx1myCIYaxDs7GIhi51API0PT4pUnKOIp6W1+JhofHnX\\\\\\n\",\n       \"6mQeiftLpWT7OA5+YU9rgdBzHpBM3KUvg1iFUM2BqH6cvnxVfNqx31KUkqKVrBqs9ehW9ng3mxmW\\\\\\n\",\n       \"ysWJ9K/dvkXz1t6Vtv3naVSo9NLkBf+lXa48gB5/85fpha0OpFIpEXJYwOHqwuXJgg67C6VwOChk\\\\\\n\",\n       \"xVSMktDAqL9C1CcEKy1eyYLh8azSSVue7zxwheF+X6yjjmusdRCzCl1dNKm7h8pdSfgwhxBK4ZZX\\\\\\n\",\n       \"A2TierkpFlx5PulS7O3l0EB2M8mTI8MGuT+pScn9qn6gYrjqmaZpJjhJ8YvJC9eX5b8yDMMwDMMw\\\\\\n\",\n       \"0jEByxgxqtUqHXvssbTrrrvSVlttlZo367TTTvNMyZq/KkRa6KCcrufX4YK+/FihnFk6tLAxhNAJ\\\\\\n\",\n       \"F/nBnFcy4TqLVDIMUIYMomN3FvcP5sSKqStfpny5TLnKQCIayWbluPNZbGQiJ53/R6oSsqk4Gb7G\\\\\\n\",\n       \"b9Wy+TdWpFiBqCW9ijCuWnUv8pF7E4euhzC7SJuL6n95vMwBxKYY1hdYcNItEjLabaWnybRTMp8W\\\\\\n\",\n       \"i1bopEOLk7zLYuP5OL8X6xis77HwhWNNiiyigXqDgmgVMldv/S5q4jKMy8l0tJeX7Gc0RGSSrikZ\\\\\\n\",\n       \"sSidVTIVlxyWQpYUsHS4oE4ZFSLKRTR74/fRazO3pR3+ejxNfeVRylf7afNbTqfVnruNnnrn14hK\\\\\\n\",\n       \"Uxu0H1+eK74OWNThVjhdqGxUply5PwnPxMGg/vMB4y9ELB0XKZtSlAfZyjUgT7A88TLmsXYNRDXn\\\\\\n\",\n       \"o/Nu5ovUhVxZEwuuLnAdky0NSoFVh2lilTy/PMfJeUd9yNecWLjIKkLIkqKRzncVyoGlQwZ1/qr6\\\\\\n\",\n       \"mQ6ED+pQwnYY7u+BYRiGYRijGUvibmTBBCxjxEAurIceeoj+/ve/p8534okn0vHHH9/gwJo1K2mt\\\\\\n\",\n       \"bPgvLL78VTqM0DdP2rBPqNLOrULTvFe6xUCd80qKWFLMYtEKAtbEiTF1YblikuMqwks6hCr8RcfO\\\\\\n\",\n       \"K7zMy0zd+gU+LYTQ9/LuCx/0NQ/H8XYcJ4jxNeUDYlYeIXVw3+RylENInNtsNCRai1/SGen44fxV\\\\\\n\",\n       \"9TMuklxLZH6rIbUkahSwWLiSLRPydnAo7IiRwgIXiWxBkcMfpatGOo3YSAVRMynepL4jT1IauqE8\\\\\\n\",\n       \"KSjJ6FDtmpIhhPK0s4DFy8moOp5PO6542Jeqi8tU/gVLpm5At73nt7T5XWfT+g9f6sbN+O+facrP\\\\\\n\",\n       \"H6Kn9v8u9W+wfUM10iYmGUII0bYb10kRea4qlGORStZ5GTbLApa2m8mD19dASMDifh1CKHeaOy5A\\\\\\n\",\n       \"bCtJVuWG811dlOvupnxXztX/5JTz+R/M68ablOcWuyXbXpDORIiZSBgP8WowHxYLWHGtn1sRlCIV\\\\\\n\",\n       \"3898ObCqKeKVFr3cXgQ+FgzH12/ilWEYhmGMZUzAMrJgApYxInzuc5+ja6+9lm699VZaZ511Uuft\\\\\\n\",\n       \"Qm4YKDYd+QKfa3F5HXqohSj+K0UvFqZkMuRGoaqxxcEk/1U+n3ehUrI1QS1OcVigDC1k1xWGp0yR\\\\\\n\",\n       \"AlZME7pjyiE59ZJeosWLB2ORli4dfJnHOPkyz/F5Mq6slRBCXw6sNNsMti3VOlaA4MLCtru6qIA8\\\\\\n\",\n       \"WT3dlMsjZ9Sg3iBNLoBDCYFOSyRzY/F0iczNFEJGSPLh8T5wiBcLUyp3vQoTbHRgDWmosTZdrl9q\\\\\\n\",\n       \"IxwW1o6AJUP6pC7DwzL1U1qDiD5TkqwizSIdZVk2iItdXfT47l+lRRvsTJvdeCIV+xZR96I5tNkv\\\\\\n\",\n       \"P07z9j6aFu99BJVKSICflBc7ELn6sOvKCVqlOAkVXCKEWy3a8jWQlqVeN2QgxaysIYQyzk8n65IH\\\\\\n\",\n       \"wepz7YCiSZOou7ubSpNKlC9EDfovlyOXpQwb1KnSOO/b4LWQc0LWoIhVrz2eZO3ujIq8fm6tgVYH\\\\\\n\",\n       \"k3UnHZePL/xPOq80Mh9XCAspNAzDMAzDMBoxAcvoKPjqf/TRR9NVV11FN998M22wwQYjVMK+BMK+\\\\\\n\",\n       \"aSGko4qH9Usar0s7rLRw5W9lsHG4WBOvEgGLX8T5r0zcLkMDE5fVYMJ2dO5duBRTT6lMuWXLEhEI\\\\\\n\",\n       \"L+sQsPgFHsMQsfjFnZ1ZLGBhuk525Auf4hd4VoqkA0snbWdLkcsi39MYQsWiFQsH/DLPicurVYqr\\\\\\n\",\n       \"VSoVuyjfhRb8cl5HlQ4p5OmsO/DusFuKc1cx2jGkQ9/kOjnnlkykLSMnOf2XFLNYfJO6htT8eFiK\\\\\\n\",\n       \"VlLQ4m1nEbCkIKc1F+nMkeN1eKEUrbRgxdvgdUhDkk8M1C1F+lKmcRVC/6ub7En3r301ve66L9CU\\\\\\n\",\n       \"5+6lKK7QjD+dQ1Oe/ictOeIsyk+aMVSwql0TxXyV8lGFaFkfRSzOctgs13ker+s/DojDa3XTijgw\\\\\\n\",\n       \"FrN8ByxbE9CVgU8u/qL+D1rFBh2I3F9zY6GBAy7kXKmLerq6KY4HQ2plPQayPvJ5YcegFDWThg2S\\\\\\n\",\n       \"gl+2rKhCBnWrhDJhO/rLHneWO9uqFsppPodWVmGKh6WryzKwGoZhGMZ4w1ohNLJgApbR8bDBX//6\\\\\\n\",\n       \"13T11VfT5MmTac6cOW781KlTqQcvdcsFX84r3YWEL9/ycl5fuKAeNzQRPELCZFiUTD4tnSUyhJAF\\\\\\n\",\n       \"LdmfiFdVKhUqVBioOavYeSJf4KWApZ0p7EjRObB0giMdPsVv0aFm49iBgn6sg20kWiEB2t0SI5sT\\\\\\n\",\n       \"Ud6JAsgfhOPONbh9pJDCYXq8iyxUsYilBRWJFK1kWCJPkyKM1Ot43VhGtlbIw3KaDhsMNdyop8lt\\\\\\n\",\n       \"8j7o/ZPHIHN1afHKJ2xpkUrm8NLzSMeV1HPkPmiTHreW50MeFx9vZZU16YlDfknr3HYeTb/5PIri\\\\\\n\",\n       \"mLof/ycVT38fDXzmm1TYcfehLQ4WqpSPK5QvC2FK1n/pOvQJuDysk7pzAcjYPCDrqTxJMnxQJnHn\\\\\\n\",\n       \"sFnead4O54LjguP+muIaIawwF1EXhFKXLy835Fxwi5sYxup4mmxYFB3KLLlGktxayIfVKEqF7lX6\\\\\\n\",\n       \"PucLGQzlEfTlutL3XJlY3jAMwzAMo/E511ohNJphApbRUc477zz3d4899mgYf/HFF9Ohhx66nEvb\\\\\\n\",\n       \"l7vKJ27JlzU9Xv715bzSebJ4nkgkbkfeK3+Enc5/BYGKnSac72qwi50DqxhVqBCXiZYsGQwVlA4s\\\\\\n\",\n       \"dBiP6TqEUL+8c4JrqXLIN2aNtCHp5NWcuJpj7DjbtswGrjOCe6xQ+R6iqFiinu4kQTmfF5n/R4bK\\\\\\n\",\n       \"sX4g81DpECsfvuTjWpDRYX1SeMJhyWFtyJH5rnxilQwN4+3I7bkjV44znYyex/nKJSRqaSFLC1W+\\\\\\n\",\n       \"ZXzbH3K11Zxwae4xWUZ1V1qpQK/sczSVN9uJpl/6RSounEf5xa9S/uxPEb33cCp96hgqlUou5xWu\\\\\\n\",\n       \"A4hXOYi3XO9lned+nibrPNd7vh5k/ZfXgxRxtcLJFcF3ILL+c1OKUsTia9En6NZOBk5915R8ouEW\\\\\\n\",\n       \"o9ruJBWCd4fPF8qCzxE2IbUxnUOsWs1RHLNrFCqYFLR8uQFjTwuBPF0LVDL5uxS7ZMuC0nVl4pVh\\\\\\n\",\n       \"GIZhGIbRHiZgGR0lafWqU8iv+7kOtlAl817p/pCjypfzKhfIeSX/5imXS/L5SBeVFKk4zxULVRiG\\\\\\n\",\n       \"UIVxchr+oqXBaNnS5AUcAtWiRYMv5xCwMI6H0c8v6/Jlnl0pWsDSWaJ96Pg32eqazPnDea84nJBz\\\\\\n\",\n       \"/nASaxa4WDBQYYzIk1SYMJG6u1B+yXmVBj6doguLSUdWyHmlBZ60JOS+Q9fpj7K4qrTmp/UP6Upq\\\\\\n\",\n       \"NweWPj4pSulQwCxuLVnGaXmuGBlmKZPqy+T6vnlZ6HO5/bfckRaccjVN/cWXqfTArcnMV/+Mlj16\\\\\\n\",\n       \"J0365nepe/21qRBXiJaqes1OKy3a4nqQAq5slZOvBRZV5fWgk4qlHTDXf5kHjg9IqtOy9QVsA/vA\\\\\\n\",\n       \"1wUnJMO4WuHnu7sp1zOBJk4sNNQddgFy2KA89zKsk68VzDcwENHAQJ4qFRaPasm1krlVuF+5dt/i\\\\\\n\",\n       \"/FRRQITie6IvB5YMLWxGszxXOleWJXI3DMMwjLFK8jwzvN/6jr6KGqMSE7CMlRgdnsLjsiyj+3XI\\\\\\n\",\n       \"TLN+LXblvR1CB4vFqK7lhFodZHFLTx9890WLa1WKepclOX84RJAFKwwvXDjoSME0GULIL/a+EEJ+\\\\\\n\",\n       \"eUceKrZxhO7+uVzSUp7PgcUHyWod571iMYBdLlge0znrtGwCsKb6uLNSKFCx1E0ILqxUoiGGFal9\\\\\\n\",\n       \"yfxKITcT0CF3utPzulpSW4dOBxaKJtPClgxD1GKWDBnUacbS0OmZdEhhKH9VyGmlo0alqCdFElke\\\\\\n\",\n       \"jBTh2AXH41XVaTg3WvBzgt60VahywvlEN/2S4l98m6JKmaqPPURzP/Z+WuPkU6h7z7cO1mkWpqTj\\\\\\n\",\n       \"SobUsiML9Y6vE+1CZEFLOrBqheLEeF0pmAgtZUaDidDYVsnXg8x7xaKtvNZkxwXH9jXU/1osa3f3\\\\\\n\",\n       \"JIprLkSOQpQNGvLlyqtmDZrnQ5fsSnL/SkIJpbNKC/Y8TbuxWJiSYYgyybuv1cG0XFg615UUyuzJ\\\\\\n\",\n       \"0zAMwzDGI9YKoZEFE7CMlZA0wSotP4tvvrROh9f4Qm18ebEGu3w+aVVMhg/6cmDJ/FdS2KqPK1ap\\\\\\n\",\n       \"CLeDfFnHCzq/wOth6UbhYdkSW29vIlaVyxTXwvqQRN39TXmFdNpETYWI8KJdi5eLONfVYMxSo6MF\\\\\\n\",\n       \"L/ssDmjBSmYvZwdLrT9fLFIhF7lW6bDrmMw5fzjVUFponxSxdLSiT8CSup3U1zQ+AYp3m0UqLdj4\\\\\\n\",\n       \"Erdzccr+ZuIVo0Um7ZzSDjMtTklHlk8A0/B0KUxJ9xgPy9MrRS8uB10GMpzSObIKERX3P4Tyr38D\\\\\\n\",\n       \"9Z95PFWff5biJUtozglfomXvehfN/OSRlMNCLMRyfistZsk6L1vl9AhY7hrAtcDXQa1Q0uQXd+j5\\\\\\n\",\n       \"vLsO3F+sA9cCx7OygCtFKhmSyAXPzQ0CkeUf6y12d1OlmKdqnNR/FqlYzOJVYDxvig1l8n6DvwhF\\\\\\n\",\n       \"rFR8jVH4RKtqyn2PQwj1BwTfBwUeL4UqGYIYN5nPMAzDMAzDMAYxActYycgaKpjmnOLpFMiBlZbo\\\\\\n\",\n       \"2Je8XbqueDgJKYT7CuIUi1b8Vydol60RytYGk/6Y8hXkvFo6GCaIF3SED3K/DCeU7iyZ4Bov6jKh\\\\\\n\",\n       \"NV7WKxUXBISOhatm7Ye5VgNxdLWXdFcKIowQ4X9Dklhzoh5sn9UTzofFyZNY0GIFpaZoFIox5bqT\\\\\\n\",\n       \"hNY4R3JVyYt5Y4OK2n0lW2zTOeRDbiWex2dEk3mpZL8UZ+Q0KWjxfJ0QsKRBKCRgyePwHR+XgT7e\\\\\\n\",\n       \"tGPXTjQOG9TlI8UxX2J9FvtkA5YyGrV76y1p2q+uoCXfPY0WXXutW+a1a6+lpffeS+scewx1z5jR\\\\\\n\",\n       \"KNqi/ss8WLhWWMDia4FVoGXLKBZJ3auVSr3es8SU6VqoVCiHbmCA8r29TtCNcRDYfnc3RbLlTfxl\\\\\\n\",\n       \"1Um2/imbEeRWBPjEFItU6plI+Ym5mgA1WH7SLKnz0PNhYh42RyIHVn8/5+ar1jrpyKoE7nU6NJD7\\\\\\n\",\n       \"3VkMhBNWlOjlapXqDyEvABOxDMMwDGO80Akftj05jH1MwDLGGfKFypdXS07zhcTov1rIGsyHxfoN\\\\\\n\",\n       \"v6BzknaZ21mKWTyN+5M8WDHlB3pd6GBdlMKLuRStOFyQx/M0mQNLJLWu1FwmLFxp8arZq6UvgBIv\\\\\\n\",\n       \"8XiBz/f1UYTtcs4fPsDBWKbBF3RWQrhJP50BnFWNatVto1TqakhC7vIm1YQZGdHImkAIX+4nqScA\\\\\\n\",\n       \"X/SYFHW0C0k7sRiOMNN5rnyCFq/LlzeqVQeWbkRSNnwny0GHH8ppof2Rx8OtDspjlvqjDy4jLhuZ\\\\\\n\",\n       \"Tk2KvE7EmjKRpp5+Oi3cfjt68Vtnu/o88Pzz9NSJJ9HMAz5I07bdliIZMsiiFQtYLNbKEMLaNYIQ\\\\\\n\",\n       \"wUqt43rPMk6WdOO+gOI8rgPkcCuX3fVQV6ZZUZKxfVLAkk0MuuYZayegVErW3dVNEyb0NITQcsos\\\\\\n\",\n       \"FrCwOV4NX3I8Taae6+9nAQtHVw6I8vIeJ/NP6funturxuLTwQcMwDMMwjKFYCKGRBROwjJWALHmt\\\\\\n\",\n       \"suATpXxhgdpdEJrHl/cqmYaWB3UIj26FUDbcp0MKXehgKaZCDnmv+gZf0mWYlByWwpXMgYVQwdr0\\\\\\n\",\n       \"6sAAVSFcCfGKX9j55V26TvTLuywNEqmeuSQgCFTjOBmGkIXpMoSQ36hlyBQrF6yUYF9ZIanl1EIo\\\\\\n\",\n       \"VQwnVqlUK78kLJMjtaQQIsUhKQxpdLicSH3UEGon55UCjxbJdA4rRu+TznfFy3bCgaXdU748WTL5\\\\\\n\",\n       \"u55XrrfhvIt95n3k/dShhhifkj4tmDuMz2djF1MhH1PUX6Fpe+9NPeuvT8+dfgb1P/OMOwFzfvNb\\\\\\n\",\n       \"WnL/A7Tmvvu4+teQ/0rnxOJrYWDAOa8g4nKdL4trgCUdVw5iXEN58PF4ZJ4K3wmQQwvje3uduIuC\\\\\\n\",\n       \"ds5FnfdNq5ysdnOF7ulJwnSjiAoTStRVghMxaggZRMf3FxZ29b1HdgMD3CKhvIfJvZdOLH3v47uD\\\\\\n\",\n       \"dmdpZ6xcJkMrAE1DBi2k0DAMwzAMwzABy1gpiEZwHl+eFzneF1ITyoE1KGRFUT7wUj40D5bslzmw\\\\\\n\",\n       \"isWYCnGtxTKfeKVf1Fm0YiFr6dIkTAriVW9vXbQq1zopXmkXlu9V0vcqyyVQEMNOFUdoIZxT5XI9\\\\\\n\",\n       \"IXVdbUkTsGQsGSe9Qq6tYpGK3VUqF3JUDghYumW/LGKQFq90C34hh5K3dim3khapZKovLWLJ+VsV\\\\\\n\",\n       \"sHRuL72/fEy+0MAsLTD6Es1LYU7CjqzQekLnyXuNFGIq5mq2sYEB6lpjDdrg61+juRdfTK/e9Be3\\\\\\n\",\n       \"zkWPPEJLn32W1tlrT5oAy6K+JoTACyHXibiVypBroKwciNUmLiwtbbPsw39RDHA5QsjC/ufi2Am8\\\\\\n\",\n       \"HH7bcD3ICsw3BFb6sP+1PFv5nh4qFovU1RW5WwIbGnkRNnfVUnEFOiSfz1Mcs2iVTwm1Dt37fEIV\\\\\\n\",\n       \"dyG5L7WGZTD8m4BlGIZhGGMeiyE0MmAOLGMlRXqBSIW2aHzTfC9jTN7ziuoTrPw5sdA6GWsx3GmH\\\\\\n\",\n       \"Fb9w6tYHEXU3aVLyt6tQIVpUy3HF4YMyhBB/0fIgC1eyFcJafizkvKqWy9QvXtj55V2HEMqX97RS\\\\\\n\",\n       \"95VCRZQC1t1VC6eCiFWUTaVxDBv3sxrCiotIYj3EjdLVRfmoSKVSriEsCjoXh6TxKtNgocrXIh+n\\\\\\n\",\n       \"69IJ0IEvsXk7Yla9luXDrfllRbqqGD3cjmjl208pXnFrgzKflTQYpZ0D6ZDj041OhxDmo1rMG4f+\\\\\\n\",\n       \"1UTRme9/P01cZxa9cNlliTC7eDE9c/U1NH2LzWm1NdekiB2InBMOud+WLKFyuVwXrPpE3ZcuLCng\\\\\\n\",\n       \"Zr0W+HqQPkxeNwu6JTixIObWcs85ZKMGrKRyofJJQkEId1bX5MlEEfJhDTaciEW50U/Of8Wp5zDM\\\\\\n\",\n       \"Ti1uYyFxyUXChSVzWIWSumvpWua8qp9Zj1OLSyokA8oWEeW8Fn5oGIZhGOMO93wSDXsdrfKjH/2I\\\\\\n\",\n       \"zj77bJozZw5tu+229MMf/pB23HHH4PwLFiygr3zlK3TllVfSK6+8Quuttx6dc8459M53vnN4+25k\\\\\\n\",\n       \"wgQsY4wlcJcvUfyClCZ0+QQpLZD5BCu5finpFFwLaSxU8Qu6zu3jBKquoS0QsqhVoAGKOF8PC1Sc\\\\\\n\",\n       \"oFqPk+JWzYGFF/ZKX58LGcTLeb9yX0n3Cb/Ekwqf4r++0tOli3UU1Uu/ywRWU1gKy5a5hNd1kYpD\\\\\\n\",\n       \"qKRghTdrFIAWsNiy099P+a58/eUcWgALH+gwjsUQbo1Q4gunkyGE/MIvk8L7EqLr3FjeWqiqqS+c\\\\\\n\",\n       \"UQtYcpksIpw8rmYClt7nLAIW7zPKRYb/YV2cuJ1Ncjw/577i8tWOLOm+ksIVG++wDr5GnHupr5Y7\\\\\\n\",\n       \"inO51QTayRtvRBsefhg9d+WV1DvnJbfBeQ8/QotnP0drr78eFbHTnOuqv5/KwnWFbkDU+wHhwNJi\\\\\\n\",\n       \"riwmeS3IMFp37CqImK8rdia6eSHo9vUN/uhyeK0sJL5pABQIrudawbiWPru6qeAuEzixBhO1457B\\\\\\n\",\n       \"Oelxb8Ghy5BCTJOhyn19OapUCrWjlyKWvh/KYT5yKVnrBO/12qM+o0qfWi7jZ1YuZUvHahiGYRjG\\\\\\n\",\n       \"yHDZZZfR8ccfT+effz7ttNNOTojad9996bHHHqMZaDBI0d/fT3vvvbeb9vvf/57WXntteuaZZ2ja\\\\\\n\",\n       \"tGl2ipYTJmAZYxAdDqinhebxhRP6nFjalSVFLLivcvWXcfmizlqNL7RHurNcRFG1QhHeRrl5Me64\\\\\\n\",\n       \"JTUOK8Rf2dVyXuGl3eW6iuOGF/eKeHn3JXHPKmDxq66e7nJh6VdPhE4hjArONM5txWFTHAvFBcP2\\\\\\n\",\n       \"kSRZT9LhTbxmmcrFFapGVcrnB8tYJgKXjiBfiJsOsZMt5XG/bNEwJGANFYBCL9nJDvj2JS1csBUB\\\\\\n\",\n       \"Sx+fT6wa3N/0/fS5pHh/tAgndUhZLqFwSx2KKB1d+lqJoqo713WrHNuNxDVR7O6m9d/xDpp/1100\\\\\\n\",\n       \"/6GH3TaWLVxITz38CK01fTpNKg9QteZALMdxvd5rB2LZI2DJnFhpApbM/iTb9ZPXT73NvjimQrXq\\\\\\n\",\n       \"9gl5reDUdAfL6hI6XNPOflYbL6/7gQGKBvopV8q5UELZyGcoZFCWaeO1AgGL9z4UJpjzBAuHQq4p\\\\\\n\",\n       \"EIYdqmcWEmgYhmEYRiNZUnY0o9Xlv/vd79KRRx5Jhx12mBuGkHXdddfRz372M/ryl788ZH6Mh+vq\\\\\\n\",\n       \"tttuc89jYP311x/eThstYQKWMY6Qrqpm+bB42PfiFgohxOUEYSXJ0aQdJpz7yjc8KGDFVIS2s2xg\\\\\\n\",\n       \"iDDV0KIg98v8WHCb1Ka7l3blOOGXdh7mF+6BQCuEvvTMMucPv9ryqyi/+LOxqCodKrVYP+fCQstq\\\\\\n\",\n       \"MucPjoHjyfCyzonc+e1cdHCh5HKJy02+pMuX81COKUaHBcpwQem8YgGLh3GEOj+WWGtKnQsTaqmv\\\\\\n\",\n       \"XZqHOTbfT53nKhFlG8tZziuj4EIimtuCJ8G9Fq8SXTNOBFwpWHG/vCZQn8plmv6619GECRPouXvv\\\\\\n\",\n       \"czmukKB99pw5tGqxQKvmcvU6Lq8BdiTKkFopXElRN3QtyPofCQciuxG5tBtEXjRygBYKEdaI8VzP\\\\\\n\",\n       \"uSJzbDEXCLfkifG1487lC1QsxbX7RVTXePX9Rd9rpICeyw06RgdLJSRk+UIDs34k0OGEhmEYhmEY\\\\\\n\",\n       \"I98K4UKkVhF0dXW5Trup7r77bjrxxBPr4/COsddee9Htt9/uXf8111xDO++8Mx111FF09dVX0/Tp\\\\\\n\",\n       \"0+mjH/0onXDCCZTv9IO94cUELGOMhxSmIUNkfKGG2mUlm5nXQlYyTbaq5st9xe+i6GT+q3oCd+So\\\\\\n\",\n       \"GQgnoq4naEen+xcvdjmBIF7hZZ3zXnEIYciBIl/YQ8mr5Uu7FrFkzh+W8UiET/H8LpwQL+/YX1aC\\\\\\n\",\n       \"OFTQrVy8zEsxi1/sa/FqUa5ApVKxHkIoBZCQ0KLhzetOuq/4byJkJUm4G305spTaeUmHC4ZGgPb2\\\\\\n\",\n       \"JSF5cEjKI2rI6SZPC4cQ6lYFfWGDDVtRjjktXrEbcYj7kJOzS0eSuD4m9vTQRq/bhF586ilavHSZ\\\\\\n\",\n       \"29YrA2VaFBGtVixSHEUNYbRa0PVdC6EWOX3eTJnEneu9DiHkcaDY3+9E3bzMc8UhtfJ6wPHJOOSa\\\\\\n\",\n       \"uJUr5KlU7K5rvPgLrYtzY/G9h0MIdYJ3LvNKRd7bWMTS9z0uiVASd5nHql3BSvrYjHZxDQW0mkjP\\\\\\n\",\n       \"WOm54YX7aGVm37W2o5WZG+22ZRijklmzZjUMn3LKKXTqqac2jJs/f7778LnGGms0jMfwo48+6l3v\\\\\\n\",\n       \"k08+SX/5y1/ooIMOoj/84Q/0xBNP0Gc/+1kaGBhw2zBGHhOwjHGAzHulc2D55pN/ffOEwm4SV5BP\\\\\\n\",\n       \"SJECgG7aXg/jrTPS4YIynIg7jxuLc17pTr+w6yTuPgEr7chl+KBP0pElN6BLuCZMIIyqfnysYLBo\\\\\\n\",\n       \"wRnZlQPLubAKBcp19QwRQ/hvGr4E7TJMUHYsXuGlMI5D7TRqmaMV3/JIvWi2ug+REi94fJLHKI6r\\\\\\n\",\n       \"rtW6cnkwHBLlw/mwdBgm58EKiXP8fq1D22TYYlRR557rAv5y/WdHVq0OITxvnVVWoVcoornIHYW6\\\\\\n\",\n       \"FxPN6R+giYU85fL5ITmw9PUQt3EtyLTmWvxtCCGswcIvCgtOLG5psC7gcogt+nXoMK4buLe6uhru\\\\\\n\",\n       \"HWn3FHkPktdK0oqnzPnnc181u0dmCUnV+bDSsNDCZhx66KEu2exEtLopePrpp+njH/84/e1vf8tQ\\\\\\n\",\n       \"zoZhGIYxCoF7qkNJ3GfPnk1Tpkypj9buq3bBuxbyX1144YXOcbXDDjvQ888/75LAm4C1fDAByxjl\\\\\\n\",\n       \"RCO4fLM8LjpwTr+2Dl0HQnP4pdGXsFqG8XDiajYYFfIx5fNVol6/cOPNhVXrj9GhlbU4HpKsXTtN\\\\\\n\",\n       \"fAIWhw7yy3sI2T6ZL3Uz98v86frVuIpcVhCicOBSsGLLiBQtuGuwSlUphxxJOTiDEneQDhn0mRB0\\\\\\n\",\n       \"/quQeJU4r+J6CCEEnMa03ixz8BH7xKyVBSla8ZnV2czQ6l2S2w1lkpR1VK/fWsRKy4Ml8efCiikX\\\\\\n\",\n       \"wR4n4jmlFc5XP4SgBefWKoU8dRUL9PxA0uogWFKuuKTwED8rUeS9HvQ1IM+yd/+VJ9PnXOQS5OuB\\\\\\n\",\n       \"+12pIx8WHDN9fRSxNZOvbe7njlsp4BxxcDJ2JbngisVoiItN33cGc4sNiuksSA4VrHwiVuheKEtD\\\\\\n\",\n       \"zx8vx3v5+OH++++nbbbZhi655BIXwgB+8Ytf0Oc//3l629vetqJ3zzAMwzBGRQ4siFdSwPKx+uqr\\\\\\n\",\n       \"OxHqpZdeahiP4ZkzZ3qXWXPNNV3uKxkuuPnmm7sWDBGSWMJzmjGiNPErGMbKECIoBSXfOnJNXATy\\\\\\n\",\n       \"hU3Pl08RtIaug1/EpQNCtrImWyTkF8561Fy+SsW47F5oG0Qrdpqw20r9hXiFv5ywXeb74WEOIRxO\\\\\\n\",\n       \"J9ed1l27YAFt/sAD9Kmnnx4ioNXzDZXLyX5rMY7DxHziXU20iJAfqYKk8BD8BvNI6VDCZm4shkUr\\\\\\n\",\n       \"DrHirlKB80j71HQ6fJlViX09vlLB9N6MXV+GUu5rYX2hsy/3VQbX+QNNq9WKK5PGMpI5wjJcqcL9\\\\\\n\",\n       \"IxPv189ZFFOukpxjt2LpttKdDCmsdSzkFnI5mlEqUpfL9ZRQqcZUHhiggWq143Ved4/19tJxTz9N\\\\\\n\",\n       \"+/z737TZAw/QRfPmNVyP9ZqDpyzsM4dI+q5xPn5RDrhH4F5RzFcb7yEidFmm1dL3o0G3oq/FQX2v\\\\\\n\",\n       \"k4GSvntkaB0NZz7lXp52/9bbMhHrzjvvpP3335/22GMPOumkk+hDH/oQfe5zn6Nvf/vbdNVVV2W7\\\\\\n\",\n       \"EA3DMAzDcGITHFQ33XRTg8MKw/yRSLPrrru6sEHMxzz++ONO2DLxavlgDixjJSRrgrxcCy9Rej49\\\\\\n\",\n       \"r8yVpfNiDb7EyRd0fmnUydylU0Imcc9HSaLzIS/t/DIrx/PfWuggWh2UoYKyX46Tw+w24QTW2mOk\\\\\\n\",\n       \"P4Do/FfsLpFn4/n+fvreiy/S9hMnuukDnsA0V2qVSrIuHBuHTKFDIh/pOGH3DfcLtSmfKzSERKWl\\\\\\n\",\n       \"fpFJ16VgJVc5VJCRzitO9131lJZMfc/LNWy9xbC+kcAn5MphX243neg7GV+tJrm7UN4oMy5/XaZA\\\\\\n\",\n       \"tuDo3SsRNuiuE2xCr0i6rbQTUYg+rvXNgQHn8HNnKoqoB3WqWqW+MmeYJ8oPlGmgkKcBJHiPIm8I\\\\\\n\",\n       \"oS8PlixJmbGJS0rmvlpUrdKapRLtOW0anfPCCw2NJWjJJ18LC3QFgKR47LKSbkvZKqc4/nyUo1Ip\\\\\\n\",\n       \"H0zWLoVzfU9qFLDqV6a6v1UC90F3ojLWOVmCWZfjbRsafPVFmAIaLjjjjDOoUCjQLbfcEnzQNgzD\\\\\\n\",\n       \"MIyVhlazcYTW0QLHH388HXLIIfSGN7yBdtxxRzrnnHNoyZIl9VYJDz74YFp77bXpzDPPdMOf+cxn\\\\\\n\",\n       \"6Nxzz6VjjjmGjj76aPrPf/5D3/jGN5wT2lg+mIBljDF0eJ8ki3gVchjo0Bmd4yUJZ/O5ShpDpBpf\\\\\\n\",\n       \"MBuavM8hyblIvqTD6HQIVU3EguMETg4ZCigFKv7r6+Q87uU9junp3l56eWCAeqtV6s7laLVSiWZ1\\\\\\n\",\n       \"dVEuiuiOBQvo8rlzaU5fH3XlcrRhTw+duv76NAliQBzTac8+S59YYw16cMkSWlKp1NcvX4l5XFRr\\\\\\n\",\n       \"kS31WGWzgFLUcMmK44b8PjIcLUsIoc6HxX8bE7bLwLJKQLySmZNkOCHjSwW+PJFyixzH4gQXlgwK\\\\\\n\",\n       \"lf2NhYmyScop8pRdtjBCf/gghlNOjg4l9HQcQls/c0hAn887oacM9x7qDRH1lCsURVVaWBwMKeQz\\\\\\n\",\n       \"KAXd/jimJ5YupUVoGCGOaUI+T+t0ddHqpZIrnX8sWEC/E9fDRj09dNr669PrJkygrSZMcPX9Ry++\\\\\\n\",\n       \"2HAdlGs/vPXrMI4pz3nvpHDtuzZkP3JoFeKh9xHhcNP3oMb7Ee5ZOJfNwqhDrqp276f8N4uYZWiQ\\\\\\n\",\n       \"JBbNeiMPFlpN+vvf/+4cWT/96U/pne98pxWYYRiGsdLSyVYIs/LhD3+Y5s2bRyeffLILA9xuu+3o\\\\\\n\",\n       \"+uuvryd2f/bZZ10aDZkc/oYbbqDjjjvOhfRD3IKYhVYIjeWDCVjGSkJW55TM49LONtLyvvj2I5nG\\\\\\n\",\n       \"LbXJF3L9cu5rcU12Obw2Z3hJHxI2BRErIEyxw0oO+wQtiE23LlhAf3z1VXqulgBbsu7EibT7lCn0\\\\\\n\",\n       \"mxdfpIPWXJPeNHUq9Vcq9OiSJe7FHtv49Usv0bRCgd656qr0wJIldRFAtsbW0NVaJayLVPxyLuP5\\\\\\n\",\n       \"pGilMoXnRK4xLWSltTwonVg6kXsyPSRe+dpr9IlZvlYKs35SalXkyioihOoyCwlasOLj8blwEFqZ\\\\\\n\",\n       \"5MXylaE7itpwCHm+9DkkuKX0SrWAI515SsDS9cwdSS6iStFlLacC8msRUTeEo/4BerlYoN6cu/rq\\\\\\n\",\n       \"Z3r+wAD9+eWX6U8LXqGF/TKjW8J2UybTblOm0nnPPUcfW3NN2nnqVOqrXQ8QpFhEHiyxQQFLtvdX\\\\\\n\",\n       \"lz3ZyiZFrGb3AVwDpZgKubB4FboHyTIfFLDSxKa0XFitIl1ZWVot9OXTGr/gC/HSpUvp5ptvpje9\\\\\\n\",\n       \"6U3ufvWtb33LiViHH344/fjHP17Ru2gYhmEYKxUIxUfnA7+3Grie//nPfy6HPTN8mIBlrCR0KvdJ\\\\\\n\",\n       \"6KVLi19+oWpw+tAwQ53bR/ZL8cr3Mun+wn3Foo0vcbvuatM5ZEoKVjrnlA4j5Hnw6vinV16hi+fM\\\\\\n\",\n       \"cS/g3W96M017zwFU2PB1FE2YQPHSpVR+4lF66erL6JI7b3PHiVfJVUsl9yK+bk+PK4H7lyyhP7z6\\\\\\n\",\n       \"Kl2wySYNXiQOIWQJhLeJ7cMN0+A4GcygPtR5Ix04tWnIl9ROi/FSaNHRaknnE610mm+fcCXHtdtC\\\\\\n\",\n       \"YSuJ4LOGxOq6q/tlCJmUWVgE5v3mYNFKTfQYGjqYJWwwuJcQVODA0vWg8eQMClo8XoQWch44n0g7\\\\\\n\",\n       \"gHDBQsE5r3qQBB3hWGgqeaBM8/N5mp/Pufr68xdeoBteeZlyxRxN2WUqbfjmVai0eomiQkSVpRVa\\\\\\n\",\n       \"/MhievzGV+i+555z+71GqeSuB/yYrtfT49Zb9pxRV+drpcgBmVyzIoTEyvDgtGteCL65briwhuZ/\\\\\\n\",\n       \"k0K5vv/oPGSJaOvL66frjqxPcrrvY0HUIeFJugMNFrB+8IMf1FshxMcTfPXdZ599XCuEhmEYhrFS\\\\\\n\",\n       \"Yz/5RhNMwDLGAfoli18j9cuabxmZuDiURyjnXiJEYxR1YUW+LGoRa1DoiuuJyRte3NltpTOM14aR\\\\\\n\",\n       \"94odJ43pthslFv0yL8Wry156yXU9+76bVj/k05SfuVbj4U2cRPnpM6hr592p/Pyz9OrnD6dfvfgi\\\\\\n\",\n       \"3fzqq7TvaqvRLlOnUimK6LvPPkufX3ttmoRW3sRvj9y+fGHnHFoQHFyLhDpBd5p4UVNHcqIcm+GL\\\\\\n\",\n       \"RpOuK255MHFfaQeWFq5kkBkHnUmhSjuxfDmwQr/Ocpk0pCzoIyQ6yLBBLWZp91VB7Y+cFy6siMrl\\\\\\n\",\n       \"nKvbujx1OTejLuK6ipHSPKTOtF/rXO6rOK6XejnlWijnc7Q4V6SpA2XqqYUUTq9UqKtaoS/PeZFu\\\\\\n\",\n       \"ee01mvHBNWjVt65K+QmNlSs/MU+rvmVVWmX3VWjpf5bSM999hr71zDO0GRyK06bRblOn0hSIZCpA\\\\\\n\",\n       \"TtYon0PSSYfOEVa73mWoMB83pikHFu4ZUa7s8iCF7y/hHHHJeNj1faHXvux1Ot9b/QyKjGB8detp\\\\\\n\",\n       \"RidAqKCP7bffnu6++24rZMMwDGOlZUWEEBorH9YKoTGOCeV+8fXLeeT0wWGZ10fm95E5sfT4+ri4\\\\\\n\",\n       \"mjiSOKyOY920EiCFHYhYtZd2SpFbdEJq/vvHl1924tXEwz5Dk7902lDxSlFYe11a7fI/Udfe+9Hs\\\\\\n\",\n       \"3l66cu5cOvaxx+iF/n6aOzBApz39NL3zgQdonwceoBtefZX+tnAhvemBB+iZvr6hIV3Sa6SVDz5O\\\\\\n\",\n       \"LV6oeDVX+qq8fcg8TDI3ExdxYyf30idk6VTfUjr0yYS+6T6PnG6vMZS1bDjraLbesucY/z97fwJu\\\\\\n\",\n       \"2VVWC8PvWms3p6smTVWaSh8SAgYIJAQJ0nMBr0onV0QRsOHeyy+iBi8mgjTyaYKIgn58oHReFcUe\\\\\\n\",\n       \"2wso0lyRLqFHkhBIR5JKVSWpVHfO2d36n3euNfYe+z1zrb1P1amk6tQ7nmc+e/V7rTnn2nXmqDHG\\\\\\n\",\n       \"jBnyiqJ1ZeuP65TrfposrFBwcIy4ivUF2lelh4sSuUkiO5oNuScrrIOKjbnIm07YIs/78bNlyw9s\\\\\\n\",\n       \"WUFejd93IvPnz8uD3/ZgmT17Vr51YL/8/c6d8orrr5c71dYbee+qSnjkMltshdqwou+HfUq+oURs\\\\\\n\",\n       \"tJwHF7NsrnxfYr+HdrnqNzK27jhc+OM//uMwC9Kpp54qt9xyS9imobOa2eFwOBwOh8OxnuEElsOx\\\\\\n\",\n       \"6gGYnWp+crYPiCqrjsA2UeIEA1dmAzj/x+ZjDQZTDZCZbsEgfmenI++94w6Zfc4LZP5FLwsD8ql+\\\\\\n\",\n       \"MNJUNl3xJpn9/mfL7l4vBLt/ce9e+Z3zz5e3nX++/O7558v/d/75ctnGjfLIhQX53+efL1uazQj9\\\\\\n\",\n       \"QeqUmGxnZTDVynVSedRlX/EMhACTLMUl89ICZ+kOa86sysUKJrWysFKrF9kPU2dVmZbAmnQNvh8m\\\\\\n\",\n       \"u2L3y/fMxFXMnDqiR4t6UzJrvF4tiVVHYI0r6CrUV1ws0aPvQSnzqiKNcNfc95TEurvRkFubDdlX\\\\\\n\",\n       \"nn9CoyFv+kJbXvRvfcn6kzXs2UwmZ/3yWdI+bSaEojeSRD57331jtTTshxFKcIVej993+87ze8J1\\\\\\n\",\n       \"kPfHbMkxu2Bl3ljRCtwiZiKMOjhh9UDgne98Z5gxSQPbd+/eLf3Su7tZZ7x829sekHtyOBwOh2NN\\\\\\n\",\n       \"kK9RcaxrOIHlcEz9qqSr2mcHjEywWGthEptpzeY/RXKg1DYFWsUO3KsixvXzX+65R6TVloWffsXU\\\\\\n\",\n       \"5FX3m1+T/R94r/Ru+E+Zfe4LZZCksqfXkzNnZuS0mRk5fWYmLGuZzzKZS1M5e2ZGGjpD4SQFlvWb\\\\\\n\",\n       \"xdQoawAr3Bn/2hgVaJVIMdUTk1Wxsqzz2ZlEMk4l65bHHEqx1+P1jvn+3pTPUEW3jG+zwkDj9Dx0\\\\\\n\",\n       \"2MayBG9EgVW3bN+VfWkqr9hxp/zffHH4lc/6XC5v+uO+bL1X7b25PPSWgTzuG4PwqeuKA98+IDv+\\\\\\n\",\n       \"YYd07uzIcc88QW5fXJb7ej05td2W5cFAvr24KN9aXJRengeF4nWLi3IrqRFX2ApZcWnff5v5Rfv1\\\\\\n\",\n       \"t4OtgtbKPHmGztX/tjkeOPze7/2evPvd75bXvOY1klFjazbW1772NW8ah8PhcBzFSNaoONYzPAPL\\\\\\n\",\n       \"4ZiIKjvh+D5rDxw7ytgJeXsYgwzM1G2sOMKA3e5DanbEIli3rTsYyEd33yftZz5L0vmFqds/mZuX\\\\\\n\",\n       \"zle/KPv/+gOS798vycyMzHSW5WEbNkT/4yO2HlNiRaevizEgMSlVBewlbFXGj6vSq/FnLMzdUnIx\\\\\\n\",\n       \"KrEq22qa/y7Cvrp/kAcV/2hzrtHAZF1BbcPPguNZO8RZW4jix7UHMhhkK5rQ1m9ds1Y/tpnKkPt9\\\\\\n\",\n       \"5EtsH4y9C7GidtjP37dX7vjRTfJjWSov+vhAGgORB90p8tb39KXTENmwNPq6XRtE/vC/pPKpDakc\\\\\\n\",\n       \"uP6A3P3Ru2WwOJAkEzmjNSOP3LhR7ul05JXf+tbwnA/u2hXKo+bn5Q/PPXdFTxk+DSus8Gz8/ttp\\\\\\n\",\n       \"NMtlmwPHv0W8LUasj9o19ttWtc/xQOGmm24KeVcW7XZb9u/f/4Dck8PhcDgcDsf9BSewHOscqx14\\\\\\n\",\n       \"TTOQW8nyW4KKiSr+5EHj2HZdiPmumBWwRQftNJCfdgB/7d69sqezLMc/67+tqmYaZ54jx735HcP1\\\\\\n\",\n       \"7je/Lvf87E/I1/btk4sNifW/Tj89zPDG380YG7hXec5ibFMN7OGR6lqxb0Sw2Frjz/4U2VAxnU+4\\\\\\n\",\n       \"aUNaMTE0jc55qFObctbBOrIBbAWIqlhoN69b0grkF84vnlnrTmclZK6F67fKVjh8wqoqsI0Wbt2w\\\\\\n\",\n       \"ZHThKirQbrPvyb/dc480FzLZeMlG+edmKt88PZFf+Lu+nHKvSLtXFMbxe0Ve9TcDkee15PO/dNZw\\\\\\n\",\n       \"+67/s0tu+Yu7ZG+vJ1taLfn7hz88/AOrpVXOeIhYfH4vR49bUWGx94LqwGbBhZY0ZLklza0ya2V7\\\\\\n\",\n       \"1+Vh8TGrASYIcBwKzj77bPnyl78sZ5555th2zb96yEMe4pXrcDgcjqMXa2EB9D811j2cwHKscxzs\\\\\\n\",\n       \"QGuaa0621tRlM8WUWgExhQnWjYUqRlaFU8pPqwXScsfysmSzc9I85zw5FDQu+B5Jsky2qy1qw4Yh\\\\\\n\",\n       \"pWE1R1Vk2gocgueMq4yXbQ5+zJlJNzAlMWVJLJ6VMEaA2afnWlnNv9z9Kfs2E12DSLYRiAQmsgbm\\\\\\n\",\n       \"nwMotnANzKnHrYxSyH+sJZNjmyxhxaqs8TZYJSJ9hms2pnSyrXJnZ1lmzp2TtFm8jDedksgVL0nl\\\\\\n\",\n       \"D/7fwQryCrWr5770XwbyhfMSydOirufOnws2wJ3dbpiJcJIGz767YT8TWKiYGPsaqbS63xqrxqqG\\\\\\n\",\n       \"tmVvyt/A1cJVXGsBzb/62Z/9WVlaWgqk5+c//3n5sz/7M7nqqqvkPe95z5p8h8PhcDgcDwicwHJM\\\\\\n\",\n       \"ASewHMcQjmArzMCM8usQU6Zg1xT/8XBAM3Pm5uVQodlZSoQdqLmXtYpBCtCQn5q8LmtPq3Ihmugk\\\\\\n\",\n       \"ysCyBBTPymfXWZXFBFaMyLKURVXtHMy/2lW2wZj9iwksJq74+DCjAN0PH5eUzwolVvEMsboEecVE\\\\\\n\",\n       \"IkecVbXP+GOUwU5rhKra1QD3dHb8e87esVJ5NXZrInLiXpGH3JbLf55Z1B1mLVycgoitbelVWGWL\\\\\\n\",\n       \"SuyDQzzCcAT/3h7F+Jmf+RmZnZ2V1772tXLgwAH5sR/7sTAb4dvf/nb50R/90Qf69hwOh8PhcDgO\\\\\\n\",\n       \"K5zAchxDOII1pVMGqa8FWkkieYdCfQ4Bg05HWsnCQSWHrTzBbGVfVEQ+EstUstY1e5y1Dhakitrg\\\\\\n\",\n       \"YtlVdYoqthTWnWPJKzsv3dgTycEhrennGbUE7pcJKJybmvtjGxk/T7LiObXu1ELY7xc2wqq6R/vY\\\\\\n\",\n       \"Y+xxK1qa2z4WLmdQZX6resNm9H3ojv82HLdPpgIfN+gUD9k81Hd5tecnR3LI+hH8m3sU48d//MdD\\\\\\n\",\n       \"UQJr3759snXr1gf6lhwOh8PhOHTkSVEO9RqOdQ0nsBzHAHQQlRyGAdWhXWtMZKGD0GkHrhxgQzk4\\\\\\n\",\n       \"+IxdhfdvbjSkt2+vDO7bLemmzQd9//27d8qgsyybjErGkgc2USdKKMRCeTgsjJfL/Xk+IkwYNkbI\\\\\\n\",\n       \"hrdbQitOQtltNrC9X0Fc8XExA1tMjTW884NUYNX1d9sKvD/2/bAK2oB3S3StrCtuj7o2iAkIx0hH\\\\\\n\",\n       \"+x5woJMNc6rwzdWl1tla29RoSvfOA8GOhRk5751ybgM+rnNXp7xe9fvA2yqJtdhzVqHON3hQOHJ+\\\\\\n\",\n       \"Hx2TMTc3F4rD4XA4HOsBNs/2YK/hWN9wAsuxzjHK6JkO0xjfePA+4cgam1TlPp1SjAelPEiFja4c\\\\\\n\",\n       \"vKf9/lgiF5vF7MAddMSlmzbJu++8UxY//Pcy/4IXy8Fi8Z/+RppZFmZdSyMGtUlE2jBFTJ8XBBXI\\\\\\n\",\n       \"Ckyrxs+O4yLhYZy9ZNdtNtPKnKZJxFW/QnXVmyIHyyq4JJKIlB+kjZCVVVjnIHaopWyLWJoT3wd7\\\\\\n\",\n       \"IKLGcV08d2iQKEGnKjbOvIrVNa+Hq9L66I+NkpTStkaxJCa2c5/JsvAu2KeM1Rj3Uf3ayzZtkk/d\\\\\\n\",\n       \"fK8sfmdR5s4tyAANctfZBjWwPaZv0qe+Z0NxHLD74/fIufOzsrXVWvE+2PfQ3stwO88CASLMKhD5\\\\\\n\",\n       \"/TjU35oxWGKyDgdDtq6pofiYgs46CHJ1Er74xS8e9vtxOBwOh8PheKBwJHsPHI4jBHbAvnIfZ/zE\\\\\\n\",\n       \"gqvrLG/hWF1hYoaJnNiAvRzg6qDGDtrtoNhuUwXWYzdtkuUPfVDygwxOz3tdWf67v5Tv27RJFrJs\\\\\\n\",\n       \"RcoSo+5+hoP21Tx7uW1gFD8xwsSSKjbEfTQDoVVQ1ZWeUWDx7IQoOMYSYD2zzxJlVdsm7bfb8D1V\\\\\\n\",\n       \"2+25rBzDcTHbZExt1i9thON1G6v7qnYaFpV917R5IHVifUXJ3Jo+H+uT2HbRhg1ywkxT7vnYPaP+\\\\\\n\",\n       \"nSbyh/8ljZJgoAR1PwLcl+9clr3f3C/POP7EFeqqqvtZcYwSFHg+ViFyfdh9an+smPehKiDf1vm4\\\\\\n\",\n       \"CtE+KfY5+fRA4jnPeY48+9nPDuUZz3iGfPvb35Z2uy1PetKTQpmZmQnbdJ/D4XA4HEct8jUqjnUN\\\\\\n\",\n       \"V2A5HFOh7hdxtM/OdM+zrfG+FXYqHQhbG51VHNn1JIlapGJkkZh9zzz+ePn3b39blj/xUZl5yjNX\\\\\\n\",\n       \"3QeW/uWfpXfv3fK0886LkgRJRWR41M6F57akFW/nwXu5PDBZViNCalzZU21rK4jHle1o1VjT5GLF\\\\\\n\",\n       \"LIWce2UVV7Y/xfpXVX+ztIpVVCUV2zKyCYKQYAUXh7UzSZVU1AU0TOXd5qrEKqydPJEe1z230XgO\\\\\\n\",\n       \"GQgsYxmsaX9+H6BOqXoHbB8Egt4sSeQZm0+QD37uLll+zhZpb22HfZ9/cCrfPmUgD7pzvLZVeaXk\\\\\\n\",\n       \"le4Hdv7zTplvZvK9mzZF+3iMxFpRYu+9fQ+wzttkPHus6jeGc8jGf6em+21zPHB4/etfPxbi/spX\\\\\\n\",\n       \"vlLe9KY3rTjmtttuewDuzuFwOByONYJnYDmmgBNYDsdUmDzIYzJkqKwyg3bADt7zRoTEiQ1cVaGB\\\\\\n\",\n       \"AW65LdHsHhqgx9QdPIBWGuOCuTm5dNNmueY33yDZKduk+ZCHTd0POl/9ouz9nf9HHnfccXLO7Oxw\\\\\\n\",\n       \"AJ6Ze8B3VdkLhwN8HrCzAsUqTwxpkVNoeBVxZVU+K9VXMcKpKhPLqrDq1EkgiKqWFVYec7AqF6sv\\\\\\n\",\n       \"is0kiNwrJqn4fJBWOKdBx+E5k9p6KlRY6Yo6tqpE2y5jwe4DbfcKwpa3WTVWqQKMEUbog0zfsQJL\\\\\\n\",\n       \"W+FpJ5wg/7r7HrntLbfIWb96jjQ2NqTZzeX0ncUx+2ZE3vv0RO5dSIJtEMorxa4P75Ld/3e3/My2\\\\\\n\",\n       \"bTJTKsHwnTHizL6rY6Qa3nN+vtg7gG2qwFIyl9RtVb81/JsUWjmfxg7oBNaRhr/8y7+Ua665ZsX2\\\\\\n\",\n       \"F73oRXLJJZfI+973vgfkvhwOh8PhcDjuD7iF0OEYYlqrzMqcGB6Y24G7osrCNsxtSkh5xHYpHqxi\\\\\\n\",\n       \"XT9brcI2VaqwYsRRg+ags4PqLEnk508/Tc5pNWX35S+T5c98auJTq8Jm6VP/Kvf9r5fLg2dn5X9u\\\\\\n\",\n       \"2xauiRIjDGLkGT5RpNkUabeLZ8Lz6jYtXB+6n+qkX2FZg3VwUg5TYa+qsusxccU2O5uB1auwHup6\\\\\\n\",\n       \"tyx2f4+28za7Xlfqzu1G7IPYbvfxflyblWO2Lux548dEbYFEWGm7sLUQ68M20ctw/+c+oevaJ/i9\\\\\\n\",\n       \"0P1ams1hf2pQH7PqK9s3QbxuzDJ57ZlnS3P3QG5+03dk+Y5ledjNubS1OkTkcw9O5NPfk8l/njmy\\\\\\n\",\n       \"Deb9XO7667tk+we3y7O2bJGnn3DCCuIqq3gn7T2E40FYl8+z4vegouRJGiVnuV5DT4+0hyW7Yr9t\\\\\\n\",\n       \"k38HHfcnZmdn5dOf/vSK7bpNrYQOh8PhcBytSPK1KY71DVdgOY4BxOxaPPgCj8vHWPUNn8dg1Uq5\\\\\\n\",\n       \"ZCyDVYP5kSpCVRSZ5KoiscoSHsjqdhS1TTWbY8onO1jmQTQ0OVwTc2kqbzzrLPmtW2+TL73m56V1\\\\\\n\",\n       \"/kNk5nkvlJknPV2SVnv0PEuLsvRvH5alv/2gdL59gzx60yZ5xemnSztNo4RUTHll721IbLGiBuQE\\\\\\n\",\n       \"ExTmmYPySgftaSa9fhIG6d1udbZSjLgaJxetkiimwIodZ22EsRwt7i+x69vrcj+a9K8v9kO7A4UV\\\\\\n\",\n       \"K6vwfVb/Y/swFFrWPlhlHcQy1FyjYyyRYgPdrVIO7aBtWBAuiQzSTJJQSJVX1SfK90PtdzkFudep\\\\\\n\",\n       \"rrKyhRCDjrvf1m7LVec+SN50801y42u+JT/1kNNFZD4cc815o3rt7u7KvZ+6V3b/2z3S2d2THz35\\\\\\n\",\n       \"ZHnOli3D72wQUcXvBBNmdhnva3gefmZWYWEfkdt5pvuzFXVcRSSOzfY4psKq+m2zv31VpFVMscj7\\\\\\n\",\n       \"/K/JtcIv/MIvyMtf/vIQ1n7ppZeGbZ/73OeC8upXf/VX1+x7HA6Hw+G437EWfzL4nxzrHk5gOY4S\\\\\\n\",\n       \"YIB+KOfb9SqywFqk7GCMjxkN2FZmy8QJrCiZJWlQUoRBe5X6igfy5WcalEgDyUobIQbnWGaqwSq1\\\\\\n\",\n       \"GiWJdcWZZ8gX9uyRj2y/Xb529etk/+++WRrbzhCZmxc5sE+6371VBosH5OEbN8rTzzpLHrlhgzTL\\\\\\n\",\n       \"8HgefE9jIRy7D7YJ1hBWKwiMROsqi4a0xzKv6tariaqY4ihGVkmEzLLkFau2+Hjbn1ajZuE+yQSs\\\\\\n\",\n       \"Narhe1H7TDzZzKssQlzxs7Od0D5PsW2aurc5WGOKoUEy/h5wn6h7F/A+DAaSGkttTKGIghoDmXVy\\\\\\n\",\n       \"qyVvedB58sl775XHd2bCjsV8IP/wZ7dJpyky2N+XxTuWw7vzuM2b5ennnSjnzs6OvVOx77FKRbsc\\\\\\n\",\n       \"JmOwQfX2OW1RMjdJwm9HVZ1bJWjsNypO4No+VvebGPtdrOqrBwP/S5RxxRVXyDnnnCNvf/vb5U/+\\\\\\n\",\n       \"5E/Ctoc85CHy/ve/X37kR37kEOva4XA4HA6H48iGE1iOowRWcXIo14kNiDCgx3LdeStzgHQwyLY1\\\\\\n\",\n       \"VpnEMoFiypRBkkoKxRXUJbBIdTojWx1KaTXSQXvW6w1TixoRDVCjgioJ25MkzEr4mE2b5M7l5TB4\\\\\\n\",\n       \"v2fXdlkcDGQ2y2RhYV6O27xJHn/ccbJJZz6MkFMNoz5hq5RVowzP00G6Wl60wEJon4+VNmXJG40V\\\\\\n\",\n       \"9Ye610+tKmsfXKkGyslCGLMOWrLKZl7lkRn7rFVQIsv8uVYZWFKTgSVlbffNclreN+uQ+FwQVkl5\\\\\\n\",\n       \"HFM+MRth0SOKOlYiK4m2Ada1jWAfjNk9E+1n3BfYUmj7iPYdvcjMTKHA6vfH+hreC6YRuaZ1vXQK\\\\\\n\",\n       \"hqedT1N57nHHyfHdYut3ul25cHdLOoOBzGdtOf3k48O7sKHM3QJJ1qiwC3L/t+qsoc0XCis8n31O\\\\\\n\",\n       \"3gZCq9mUQUnkTmOXjRGHWm3jQe62hqqI1Un710p15eqtGJSocrLK4XA4HOsOHuLumAJOYDmOQvDg\\\\\\n\",\n       \"2m4XE+W8GsTUVjHrV0xhoAHWceKEVRAgWLiofUo/00YqDR64xgazZsAeBu3lhZm4wuDYDketwQy0\\\\\\n\",\n       \"BuiI09pt+bGTTx7XCOV5UGjd1+3KCYbAgoqEiaumWbfbmiCxVIHFz8WlavAeCKxmqDPUG5MhsBNi\\\\\\n\",\n       \"cK7r3CawqhWD9pi6ipdjuVZM2lSdG7tWlaXQ9t26Phnr8zjX9nWoqkA6gbjCMvcIaxu032VnJQQl\\\\\\n\",\n       \"FFep5Xk6rHtWyI1sguO2QRyr7ajNrMtZw7R9jLji0ukEwkv7VFb2MbSQ7euo1VhNQ724CZIlEdk8\\\\\\n\",\n       \"Nyev2LBhrGbHsqsMUWuJXFssuRbO0WeanS3eaf20hG7Fb4Eq1jpUf1y4rquIxOIxreWP+12VOsv2\\\\\\n\",\n       \"zdXA9p1YS7jqahI6nY7s2LFDBtRXFWecccZBtInD4XA4HEcA1uJPAP8TYt3DCSzHUQi2SmFdyOKE\\\\\\n\",\n       \"faByqgb6kyyCseMsIcEqrEGpPCnUJ7EBox1QsgploLOvNSmomtVHGKizGgmKlF5Pkk5nqDwZmJwf\\\\\\n\",\n       \"rNsnw2Ady6A1mPYoqjWRba2WtNI0/GDwrIOxAXtMiWUDrNUulVhywj4zK25oX8i/Wq4enNtgcBsc\\\\\\n\",\n       \"XpwTU1NZQqtKjcX9qYrkrNrHBFZMExfr61X93oLzsKxikVuVl+26VSKybbCOoBut6zuQ5+MKrLr2\\\\\\n\",\n       \"iKnp8raxk3KfqHk/AomV58N3ASQulgHQcAxugfmQJl+ce6Ds97aWrU2Qw+NjZFWsDHPgYu8A+n/N\\\\\\n\",\n       \"+9HvplElW0zlufI3SX+zLFEV+42L9cPYtthvqe3XVvtm+6vd57D41re+JT/1Uz8l//Ef/zFeY2qd\\\\\\n\",\n       \"TfS9s8pOh8PhcDgcjvUDJ7Ac6wB2sM7bYwMvBg/Ssd+SEbwtRngwiZWsGKSz+srapXjw2WsVAeU6\\\\\\n\",\n       \"MA3kThWBZbYnKr/QWdgMgdUwyhI77NSnxlAHNQAiy+JBs7NjyhOJKE6akbwfa6EaqrZ45kEeoDM5\\\\\\n\",\n       \"x4obkFeNZkFgmdkcuV7ZTlgVaF0M3FEbdURVFQlVpbqKk5srCQH0qap+qagaiGY1/Rityds5Iyuv\\\\\\n\",\n       \"IKd4G6uxYuobpjnt8xd1W0WkcNvYtuP1fDYLbZ3UETncT0iNlaillt4FLVAn4imyipoKasI8F8zl\\\\\\n\",\n       \"tqQTA5Z5bxY2962uz9epr8JkDFZlNuG51UYbZuJcjhNY9p2wvzfIi4uTtzEii4+tej+q1FT23Ngx\\\\\\n\",\n       \"TlhNi5e+9KXSaDTkH//xH+WUU04JpJXD4XA4HOsCa/Engf9Jse7hBJbjCIZVhBzKNbKK61rVCo6F\\\\\\n\",\n       \"6YhnWuOBPg/2Rlqnfn8UqAzbVMzmhkgrHYdiv6732pk01EaEgzE4L0mqYC8CM7O0NPLMqYVweTmM\\\\\\n\",\n       \"SkE7iHk6mMhYQYUEJya+qrRAS/2+DPJcNpY2QgzCY5k/LbM+psiC4gT5V7BFwkIFGxX2UeknxeyD\\\\\\n\",\n       \"1i7FdsyYlRN1Pgp7R7vFVEWolSoLIS/HBvqx7VbNElu3qGqJGPgdQb8FGYXWB7gHMBGF+8B5VRZC\\\\\\n\",\n       \"Ns5Z8qMfLITc/7W5tXmtdY3fA34HOp1EepqDlZSWWi7oG2Bj8D7AUqtEa54XmXD9/gp6he8aLYza\\\\\\n\",\n       \"G5Tb2qX6StFJs0DMVtU4T2IQI3QzWm7Su9HCOufAcdHn0mJVivRu9AaZaExX1XuAarGWQm6HeF9m\\\\\\n\",\n       \"Msput8bMKtVVTFF1qH9Rxq577OHLX/6yXHvttXLBBRc80LficDgcDsfawgksxxRwAstxjP0aTvpl\\\\\\n\",\n       \"rCIT7P64narXy6XXSyrVD8huipdEut1cGmyf08GqElWUeTUMdpqfH5JZia4vLwcroQ7cY0O9WKoR\\\\\\n\",\n       \"aI64nmz83G8uLoZtFy8srCCwUjNg50+biaXPkCijwaQV1jnUHQQWKbE086dbElg8SOf65Vwx1O14\\\\\\n\",\n       \"eHtRxgfuTF7F1Fa27e2+GGkVO577YJ29qg72OLYDYp0JKM68QmvamQiZumQCiy2I09RVX/r9gtJR\\\\\\n\",\n       \"MheECbcFSFtd1uZlZdCo3XRWvrR4FzgHSvsE3gc9UPsJmEk9eWkpvAt5vy+N/ftX3B1qv0m1YGts\\\\\\n\",\n       \"hjKFumkayCb7Ltj8qxiBxZlvzchysNHqM83NjQgrfactkcXvCtmIR78Z1b8pVbbCor6tui5G6Nb1\\\\\\n\",\n       \"wUm/o6zYc+JprfDQhz5Udu3atWbXczgcDofD4Tia4ASW4yiG1RlNcywvx4gtXrfbq2xho0EgbFJs\\\\\\n\",\n       \"G7RWKf60RRUVMzPFAHU4CxsUWBzkrAfDgoeT2+2Q/6MqrMZgMEZZ4A5jlik8paUobA2f3GzK9Upi\\\\\\n\",\n       \"DQYhDyuW+2PtUmPKK7ViQX0FgoqD6a3ahmyEeSD1mjLoFZYp8BUcFG7JrKoZCAv11WDKYvtNrP2r\\\\\\n\",\n       \"atASBFXXqOqn08DaX1l/Z9djLS4VmVex+5u+3liFVVU4dJ/JXexrpmmwEY69CyB2QV7xpAawpZYX\\\\\\n\",\n       \"SJeXA5mr7wPoGVvLnAEXaiPPpVXaS1WNpe4snsHTRtzXEVggdFmFNcyJS9ORjZafg9crQuz1Xciz\\\\\\n\",\n       \"hnRLHm9SiVmasRzvp3WFay+23R5zf/+36/rHm9/8Znn1q18tv/EbvyEPe9jDpKn9grBx48YH7N4c\\\\\\n\",\n       \"DofD4Tgk+CyEjingBJbjGCKxqs7FwJs1GXZQZ0mNOImlwchaoIzggXlMgcWztenn8nIi8/MtyZo6\\\\\\n\",\n       \"aO2OBrSsOGELoaoy4MeanQ0zEmoGkB7LBFZsAG4VWBjk22EozlEC61sHDsh9vZ6c1moNiatYcHUr\\\\\\n\",\n       \"kv8TFCdsj4LSyqqweABP64NGU3rddKz+WNlj65qVJ7xPw/ZH7ciqk9UQW/Yc/gSs8sr2K4kcb7fV\\\\\\n\",\n       \"IamwB3Jf5tZltRXfC/eG2Dq/H9Xqw1HvUQJrIN1uNlRcxdqBVVdsJ8R6s5nJoJFICgIHNloosXQd\\\\\\n\",\n       \"70OpQAx9SW205TuRLi1Jo9cbtrRVXQWSip5Uid+h5kwVYJQvxO8CmzCxXDcLoVUhZmrDhcLS2mlZ\\\\\\n\",\n       \"hRgrrbYMslZ43LrfkrrfHvxOxYnXqn5e1cdZiXiwBJSTV9PiaU97Wvh86lOfOl6DHuLucDgcjqMc\\\\\\n\",\n       \"SV6UQ72GY33DCax1iK985SvyD//wD3L88cfLj/zIj8iJJ5443Ldnzx75hV/4BXnf+94nxx7YFsVq\\\\\\n\",\n       \"FIZV1cTyYZAx1KdlHQp3wyuls7AVsxGOMoAwQNdlZP7gU/ctLqoqo9imyzNZS5qzBREVRqqlsiqs\\\\\\n\",\n       \"YxkMAALJYX3KsqB2anY6IQ+IjWSYfa1HGUA24NpqhoCZNJUTGw3Z3e3KuSWBxeHVPAOhtUxlUJio\\\\\\n\",\n       \"RWrDhsI2pWVhoRjE87ItJenV6SaBs9P6QbWwXZALVCec/wNF0EiB1V9BvEwmLmPqLHuNmGWqiiJk\\\\\\n\",\n       \"ciu2XgcmpSxsEpqdtZPVV0zt2H4eC3WP1RW/E42xIHduB+3fsBRq+7GdkN8JbeNiPoNEZjj3TU9i\\\\\\n\",\n       \"yZ32GbwP+EJ9kbQMBkUAu9oKu91w992y30v5if6LN7lP9sEkTUOYu61dVl8xkVU1A+HYe5AkxbsA\\\\\\n\",\n       \"2+Ck90ELWwxnZ6WXNmVpcfS7gSg8EFo2C4uJ3pWzcKJGhjVQQ9byVBCxPm77liVvHWuBj3/8416R\\\\\\n\",\n       \"DofD4XA4jlk4gbXO8NGPflR+6Id+SM477zzZu3evvO51r5O//Mu/lCc/+clh/+Liovzv//2/j2IC\\\\\\n\",\n       \"i3UQVft5cG6Pj9miYjYZHrBbBUpMuTD61JkIu6VSCBOHseJEiw42ISrBMtxRQWjSyIIKK6hPoLLi\\\\\\n\",\n       \"0GqsR8itREf+GmStj6FWqnJaddALrDrBkBUJSFW1gBo8q9WSA/3+cMZBFDtoHypOYBtstyWxpBTU\\\\\\n\",\n       \"V7HAdmutajSkWw7aQYjEVCaoGmsvLAitWPYVD85RrDKvitKLWa/sdWP7qqxYFlWD/zRyDFoJ/Z2f\\\\\\n\",\n       \"waoKcQ1u3aoJE/jemSxDPTKJy2SWEriaCZcEEorVV1BkWQUWZ2ChjYMgaZZeDGRejR0wM86U0fsQ\\\\\\n\",\n       \"8rD07tRWW9oJLaGL90HJ3n4gdoonaSbJ2NOy1i2Wg1U362BQJGaZpKq84qyrCFE7VmC1nZ2VvNWS\\\\\\n\",\n       \"vNmSfl4o20Dg6id4PSayuH5tXY+rEOvUVlXbuVZiyqxYn469G3Xw/0KN4YlPfKKsFa666ir5m7/5\\\\\\n\",\n       \"G7nuuutkdnZWLrvssmBRfPCDH7xm3+FwOBwOx/0qyPY/H9Y9nMBaZ3jDG94gv/RLvyS//uu/HlQQ\\\\\\n\",\n       \"b3nLW+RZz3pWILGe+cxnytGNGBkVW7cDKx7QW4omX0XB8WyZsRTQQAaDUXi1DagOMw2awWTMEtdv\\\\\\n\",\n       \"q30ql1QHsBiRgszh0GoM3qFOgRoLxFWShIF5U9UoZt5FXo9RMbEaPk+JKDrPWqbGBvBKXmlWlg1n\\\\\\n\",\n       \"j9qiDGlF2T+a99OXbExRYq1SnPfDdW5zlwr1VWwQbdVRMSVWVX+IEVIxNVddv+PzuT9XvQeMpGab\\\\\\n\",\n       \"pSNjxFXVfcTIK/s8SJaypF9eqrAKJaLNgbPtNJYDZ96H/mwmWaNZBP9z30B/gbQIFlu8D2UeVui/\\\\\\n\",\n       \"2v/VTliEoK3o/6EmiNzK0iT0X6YQ+V2wBJa1EILAHZJa+h40m6GMzbJZVfhdIFJ3kGQhJN/aZ2PB\\\\\\n\",\n       \"7ZbYHc+CixHwaMsYwTTtb6M9tu7cafq8/xWq+OpXvyoXXnhh+D3V5To8/OEPl2nxyU9+Un72Z39W\\\\\\n\",\n       \"Hv3oR0uv15Nf+ZVfkac//enyn//5nzKvJKvD4XA4HA7HEQYnsNYZvvGNb8gf//Efh+UkSULY62mn\\\\\\n\",\n       \"nSbPf/7z5YMf/GD4Q/XoQ0wZYrVBrJFIpqDz85rtVikTUyJgwNdYsb0YuGsOlo47C/WJVZhAOQHb\\\\\\n\",\n       \"oI5ZYak6cKCwTyWzqWRz84WShEkqvZACDIAerAX2qXByEpaDfUo/DxwY08qAjuiVA2ymI+pMP3pe\\\\\\n\",\n       \"dzCQ/YOBnNBoDAfoaUSBpRk/IedHB0Jqg8LAHes8iLfby/V8Zkb6WVM63TQ8utql2DrINiq73SpQ\\\\\\n\",\n       \"CneYVUmM8mQAAOlDSURBVFvF2jVGXlWpU2JEFvdRvlasP/L2ae1W9jjOtLLWQRzPSU9Zzb3g2qw4\\\\\\n\",\n       \"RGGLoVVcWUttNiRz0QZs60Qboc8rV4OMdn43VL2l1tFW1pRsJpdE+0ghIRqfJUHX0dDa//VkXS4u\\\\\\n\",\n       \"ElSJgURaXpas01lxt9p3l/ujem2n2di8jDHgKdlGyDZafh80+y3kv2nRZ9ACqyAshFhH0WPL7foe\\\\\\n\",\n       \"yNx8eA+0v+tvBPp87B2ASI3rviC1cmOjtX05pk5kwt4SutP+psaIKO5vk449tq2IF110kWzfvl22\\\\\\n\",\n       \"bt0alvXf9qINx6Hb+6Xidhp8+MMfHlv/wz/8w/Ad1157rTzhCU9Yk3t3OBwOh8PhWEs4gbXO0G63\\\\\\n\",\n       \"Zffu3WPbfuzHfiz8z+0LXvACeetb3yrrD3bAXoUqixRbBEEAYBCAgTrbpKztjDOwCjqnsBE2VuRe\\\\\\n\",\n       \"IZ5HB+z6qTyT7tPBpy6XbruwLU0TaTYb0pidK2+/JLAUIKy06LICA3Y9GaRWqeJQEqvR7UrW60nW\\\\\\n\",\n       \"Vz1T8QRMv8UoGQZq54alJbmz25Uf3LRpRfaPDqCUKBizBeqnZvnw4B0DeCauMMAvB/A6aM9bben2\\\\\\n\",\n       \"G8PsK/5Eqcr9sbPa6eB9nITiDCwms2ywu1QM9mMqJJxfNYi3RACfF+vTVeC+jj5os934vbBKRe7f\\\\\\n\",\n       \"uIbNuOK8OL5Pq9ZhWnSc1NU6134MgRS6JdpMuwrcgdqW6L5a8D5oF0lnm5K2EklmukX/CLdcXlQb\\\\\\n\",\n       \"Vw/GwF1ZMF3XAT6+MDxq8eIlS0vSWlwMeVdKAoQ3N8+lU+Zf6VPOpcmK+R1tzbN9kG2EQzJXJy3A\\\\\\n\",\n       \"TJrItkIOnCFqh++DfuJYIrny2TnpS0OWllf2f17n5VhGXMH9IQGvN2UGln03bGJelSUw1q9jqCKt\\\\\\n\",\n       \"HMBNN90kW7ZsGS4fLtx3333hU/MzHQ6Hw+G4v1FEOhz6NRzrG05grTPo/85qyOvFF188tv1Hf/RH\\\\\\n\",\n       \"w2DtJS95iRy7sNSMJbR4QMaqFqBKmcDEBVJ1RrPlgUdiMsuqg3Qf1CdaisF8Iq1WLkmjLdnMIARR\\\\\\n\",\n       \"D/OwkHll1Sil8qq49WIAr6RS2F8erwoUXc8HA8lULVZhlrMAnXFGsym3Li/L/l4vqLCGA3hVupRl\\\\\\n\",\n       \"jMCyOT9cQFzBMmXsU72B1mMyNuNaLNsnZkcb319Y2qYbhFfVRp0tsEqhMo0CK0YZruZfb6u6soQu\\\\\\n\",\n       \"E1J174F9HlZs8Ta735J6I7JX61ztapqFxRlYVW1VNTuhKrHSJJUWrIPwyEGRiEkNONAdsjuQWWqn\\\\\\n\",\n       \"hTpR71BnJ+z1wiyFSmChNtpJIjOqcKmhVmyI+5C80u9I00DiBgUi7I4grPTeWWFF78UnB9+Ra3bf\\\\\\n\",\n       \"Lq/a+tIxK6ESuYNGW5Y7yQqV1Qdveauc3rhETu8/cYWdlpVYbDmMqxD53bDvgu2TMQUib4/1Mceh\\\\\\n\",\n       \"4Mwzz4wuryUGg0GY4OVxj3tcsCvGsLy8HApPCuNwOBwOh8Nxf8IJrHWGl7/85fKpT30quu+FL3xh\\\\\\n\",\n       \"GFC++93vlmMXuRmUY5td5sE9b4+pb1idNcrDgo0wy0aDdx0/Q3GCTCyMw4tZ10a2Kl1fWkqkuaEp\\\\\\n\",\n       \"SXMg2Ww5KrWWKQAEFhQnCgzY9Xgll3Q2Ns2m6nZl0O+HEiiJcgBfRbmwhmdboxEG+Dt7PTlJc31U\\\\\\n\",\n       \"daXfwRlFGKzDQqgFoe2WwLLklg7ay8DqbieNWqIs4REjtpjUGmX+xAbog4p2t4N4WzOx/mD70CTy\\\\\\n\",\n       \"KkYQTNuPuXVwXU41s8cz6cTB7ry/ivSylsIY4WXrtKhrzcECgTVSw8VJLLwPnBc3fB80l6q0pWo4\\\\\\n\",\n       \"+3AnZg4cTTM5WlbY96GUPqYlo6MB70tkH9yQpSF0PaaVi5FXoej1dLsGtYOl1j6tnyCt0Md1md+H\\\\\\n\",\n       \"uTn5pNws//X235QDg2Xpzs/KFQ97+ZDgGjTb0teZB/ePAtu1/NF3rpb33naltJM5ecVx/yyn9AoS\\\\\\n\",\n       \"y2aIjeobkxhUqQ5ZSWj7NvrAtCRsFQ3uOFKhWVhf//rX5d///d9rQ9/f+MY33q/35XA4HI5jCLmO\\\\\\n\",\n       \"WQ5RQ3Wo5zuOeDiBtc7w3Oc+NxRVYWHmQWsn1NkJj15gsGRtURYYQPH8eiCtErI62YEaD+DZJiWR\\\\\\n\",\n       \"TCBcwxJYmNesIb2eho8nQ4WVjm2R5cQWQi3hW0vXk27nfe1WQzId9CLjR4khHIQLK3S7XhxsGIdA\\\\\\n\",\n       \"Q8akg2bNxoKlED47VWUpqVVTq2HgniRyRqsld6niTwfjsEkNb7YcmON7beYV7IQ2DwjLCwvBOrjc\\\\\\n\",\n       \"b8iisUrF7FL6GQt4Z+WJqgtWWqLQVpbUiqmybK5MzGJYN2ivIr+4T9edN6z9ir7Odj8msfoTzgPp\\\\\\n\",\n       \"xcoqUDQA9++qmTgHZV0iBWqk7FFyFO2j3QPiKSgStVtqG9r3AXZb7ULFO6EzWjakPTsXVE7FrfXH\\\\\\n\",\n       \"VYew1OKd0JP14rASgg2l90FnBdx7l/bmApuzLGS4WXrRItQqCDGQVngX0L/5fWDSFrMQlu/DNXtv\\\\\\n\",\n       \"D+SV4srr3xG2XXHp5eG47qAhy9TnNf/q3d+8Wt57y5Xh+OX8gNy4eI1s7jxx+G7w+zAigNEfuobA\\\\\\n\",\n       \"YkXiNBbCGCHLfdsSYax2jNlrY33eya/7E694xSvkH//xH8N/fmlmZhWuvPJKufzyy8cUWKeffvr9\\\\\\n\",\n       \"dJcOh8PhWPdYiz8B/E+IdQ8nsNYpdMbBV77ylfIbv/Eb0izZkV27dslP/uRPhv9h/R//43/I0Q9W\\\\\\n\",\n       \"lQA8gK86xyoHkgqSSmgwzgP3fuRYtuSAEOgF9Um3m4ZBJUdTYVnHvuCbSpdTGO+CxMLx/X4qebsp\\\\\\n\",\n       \"Mxs2jAbNUJvgIJBZGP1jAK8XBJmlI9rSopeA5SlVLGopDKQWFC0xlGTBmTMzclO/L/mGDYXihL8H\\\\\\n\",\n       \"6hPYARFODWsgLFQ2/6cc2Ct51c9asrQ/GQ7Y9+8f5frwIJ0VJnYmRyh+Cscl2q1XoZDCwJoH7tzH\\\\\\n\",\n       \"qmxT6HNVfW0SYkqpOjKrSheH/ZP+16nqGPse8bsVU2NhPUb2oRQ5S4NBEXHOIe4gqbS7sIpO17Vt\\\\\\n\",\n       \"tTuBwBpFWumsliKN+ZYk7fJuYBsEgaXQE3TdklmQN+KF076o9sF9+6TTK97pVrMhrc2bi3ehtNhW\\\\\\n\",\n       \"ogzsGtoS0f+1wD7LJC73f1ZgLSzIq056sXTnZgrySomCa98s+fy8/MKlr5HF5cI6qO+Avgvvue5q\\\\\\n\",\n       \"ec/NBXmleNbcVXJZ/irZWz6avjOcf4V3pR9UZjbvKqbEwjGT3g8mvGz/nPQXaIwedNXW/Q39Xfy5\\\\\\n\",\n       \"n/s5+du//Vv5xCc+IWefffbEjE0tDofD4XA4HA8UnMBap1AF1otf/GL5l3/5F/nTP/3TEPz60z/9\\\\\\n\",\n       \"03L++efLl7/8ZTk6kE8x8GYSapoBPJ9TZX2xahOJDN6YvGJbzjihleeNoP7p9YpMLBtiDVEICC1r\\\\\\n\",\n       \"IYSgSr8vVX5qtilZsx1sTysyfqBGARumYHUWQrbwZSCwSlnM0JZVN4tVySqcvmGDnM43jUE7iDKy\\\\\\n\",\n       \"Aw6zfrCdLYMY1FP+VS9pSLdXWAc578eSU/xp87BGj8LZVzGLW6wP2EG4HYzXDdLtObFB/KTr1RFY\\\\\\n\",\n       \"Mdi+j+Nis3Ha77EE2KQ6mLTfEhzFcp4XVsKijNs7mXxEPpad/ACzEgYOtq19sCFN9BkQudx3+X0A\\\\\\n\",\n       \"uQU2jNVYvZ7su+eeYQ1s3LgpkEvDWT/ryFwmx/Cy8ruA/CuQViC1QODyuzE3V9gG5+flyi/+Zrj8\\\\\\n\",\n       \"r3zqdbLUa8j/vPDKoW1Qyas/+M6IvHrOwlXyhPSKQG7xu8HvTMHxFXlk9RMWVBX+bbSE7jR9JYaq\\\\\\n\",\n       \"flR3rF12rIVtUP8++Lu/+zvZsGFDmOlQsWnTJpnVfulwOBwOx/0JV2A5poATWOsUl112WSCq/uf/\\\\\\n\",\n       \"/J/yqEc9KpAob3rTm+TVr351Eep91KFqUD7tfj6OM4JiSpMYicUWLasywXeyhQrHqgJFB5JpGIBi\\\\\\n\",\n       \"PG0JLIhG9JPtVBgPF3xUIq22KpzakmRJMchW4GAFz7oGfxazYZBk2CR5shGO5WpZQP2VpjJIEtmd\\\\\\n\",\n       \"53K8qknqLIQYqLNtEMsU8J6HzKCWdJfTMNsaBuGc+4Ni7YKxGQjxeHk+yRbFiqvYwD3Wz+wgXmqI\\\\\\n\",\n       \"HkuCTEtsTcIkoooJrdxYC2MkA/d3O1snX7uuzliBONqubdDrNUK7oP8zocsZcciEw/uAgnclELrt\\\\\\n\",\n       \"TBrtJPSb4XuAyQ1grbXqRDBiyGkrO9KeffuHT7dhy4lFvwR5VUfm4qXFdSEpYxLXWgjxLnCIu1pq\\\\\\n\",\n       \"S0XiFY95VVBe/cr/fX34il/7j1+RxcVEXvqgK+T3v3G1/P63R+TV8zYW5BUstJboxbujM0EOBlBW\\\\\\n\",\n       \"WbUoK7Kq1IkxQquK3OL+Nw3y++Ev2fUHnWn4r/7qr+Tb3/62/K//9b/CrIFf/OIX5aSTTpJt27ZN\\\\\\n\",\n       \"fZ13vvOd4fNJT3rS2Pb3v//98tKXvnTN79vhcDgcjjroDISHPAuh/9mw7uEE1jrGDTfcINdcc03I\\\\\\n\",\n       \"tLjjjjvk+uuvlwMHDsi8EgiHGe94xzvkLW95S/gf3Uc84hHye7/3e3LppZfK/QsoDthSyCHW1hbF\\\\\\n\",\n       \"JJW1SCWRCGdkYPFgDoRWOlxW61On0xxz9umgM9wh/chiAjUb76MFqhXdNzvbkHYzk/bm8oJsG2T1\\\\\\n\",\n       \"E2QZWthXpAyADYoCeYWQ+CkIrBv37JEv3XOPPO/UU6WJwToG8BzizgN3ZGCB2NK+uGFDecyMHFhO\\\\\\n\",\n       \"h9lW+/YVlilkX9kCNxgP4FmlhW2jfCYM4K0Cy5JaaJSYWiVGSOE7JvVFqyRZ639hmajibTJFXpwl\\\\\\n\",\n       \"rGyf53XOjovZa3n/6H3QtoAtEEJAfh840g18LI7HO4FjAlclqczNzY/IWRwI0gg2QfQ9eOm045QE\\\\\\n\",\n       \"bn9xUQ7s3h2unak9Sgf/CIGfRGDx93IGFudgoZ+D0GU1Fu5L+39JcKkl9/LHvlaWB01546d/JXzN\\\\\\n\",\n       \"W750pbzra2+Wvb3iPhU/vOkq+T65Yvh+aKyhLle9DwWJy+8Ali0ZtZp8OPSvSWotq9xyHAq++tWv\\\\\\n\",\n       \"ytOe9rSgkrr55pvlZS97WSCw/uZv/kZuvfVW+aM/+qOpr1Wo8hwOh8PhcDiOHjiBtU5x9dVXy+tf\\\\\\n\",\n       \"/3r57//9vwci6cYbb5Sf+ImfkIc//OHyJ3/yJ/LYxz72sH33n//5n4eg13e9613ymMc8Rt72trfJ\\\\\\n\",\n       \"M57xjECgbd26dQ2/yaqpLBmVTjiXB+6WqOJtTG5ZwgMD9KRchvqkP7ae513pdPR1K3J84L7DgJ0H\\\\\\n\",\n       \"9xzwjvxpiEsKNVYifc0Ams2kMTtXZFDpCTgAqddgCnBBqK50P4gqq77SZQzgYyBG4dS5Obl2/37Z\\\\\\n\",\n       \"nudyuhJRsFDx4B3LILSwjAF8qTzppc2gUivIqyLzB2qrcTXJynBqOyshlnXmwbh9kIkqqxzhQXod\\\\\\n\",\n       \"YoP1aSxTsUH8JMtVHQll+7H9rrp3wF4jm3CevW5MaQYSpMi94voMM10GZ5/mwo3mI+D2BCeEtgTX\\\\\\n\",\n       \"BLIL3QvvYpqm0sxa0pgtWV4FVFdggyHfwjtA4Vv777xzyCJvPO00STZtGr0LdRZCTpy3Kiw8BFtq\\\\\\n\",\n       \"0eexrP0ex5TvwKDVlt4gkwOLifyP77lSDhxIAnmlYPLq+Zuvkic1rggEr30/rGqx09E6tyqrOgXW\\\\\\n\",\n       \"NBMa2H4T6wNVfQf9p4rMdUJlEvTfVlVH/eZv/maw/QH/9b/+1zBJi8PhcDgcRy3cQuiYAk5grVO8\\\\\\n\",\n       \"/e1vlw996EPy/d///WH9wgsvlM9//vPyK7/yK8EusKyjm8OE3/7t3w7/K6yB8Qolsv7pn/5J3ve+\\\\\\n\",\n       \"98kVV1yxBoRVbNlmAdkBElunYsflUxYmPmyIO2Y8ZJIECrB+CGIvsrCKWQlBYMHNhHGwLtuAdwXG\\\\\\n\",\n       \"4uFu80QajVSSpqo6NB+LLFM4CCfwYFuZATBmPB0c1CYIxa4isUBgZZksZJls2rVLbu90CgIL7AKU\\\\\\n\",\n       \"Jli2eVhcZmel32hJr1/M1ghVVWxgHpthEMucfzXiHixhFVODVA3IJ1n8bL+p6q/TbJt2O/f52H1V\\\\\\n\",\n       \"WQllFdeYRiVm34Wq7StJQ30HlMCCU7WYoGBlm8JOyLFt4J/w06VWaF1PWg1JlKNSYshaCGEdhHeX\\\\\\n\",\n       \"pwPtdGTf7XcM735BA6xVHQi5YxWBhfeJCSyoH5nAqprUAKQVhboredVPmrLczcLMm/qMahu0yqu5\\\\\\n\",\n       \"dLM8baZQXlURV6Psq7wMbrdh7fZ96E/xjkwqsop3Y9JxVcsOxRe+8AX5/d///RWVodZBZFg5HA6H\\\\\\n\",\n       \"w3FUwgksxxRwAmud4mtf+5qceOKJY9t0NkJVY/3gD/7gYfveTqcj1157bZhuG1CVhFoePvOZz0TP\\\\\\n\",\n       \"UTKNCTWdmrsak1QlMbVKTKXCAMnE1+dfUFZgwToYnowGgLgO8qNGFkKs9/vZ8Bpsk2LBiI6XR7Ou\\\\\\n\",\n       \"lU9SWqbCVcrJ1Yrc6kQG8w1ptzJpbyjVT0tLkoABg5UKBRImHUBj+j5rIcTFqwbvZCHUctq2bfKt\\\\\\n\",\n       \"Xbsk37hREg6x5hnYQFbhfpQkaLclD4HW87K8nKwgrzDrmhaoSTD7IM9CyIosFpMVuT+wSlkihQfr\\\\\\n\",\n       \"aF87m5od4MeIrSqVFl/rULAaAmo118SzxN4HVmIxIWVn3uR3gxVXlhTBu1W0xWDQLImVQoXFk2WC\\\\\\n\",\n       \"V2LSli2F6I52X3gPWg2ZVTthnksC0gjkFYglJMJrabUkX+7InltuKa7VbMrcg88ffVGdhZBI3LFl\\\\\\n\",\n       \"q8DiTDiQV3gfdLZNUiR2Oqksd5LhTINaB+/6+tVj5JXiwGC3/MO9V8vj8iK43b4T/K7oOzCaebBL\\\\\\n\",\n       \"tsE+rdv3AQq6qoy4GJkvZK+t6292+yRyai3eofUHnQUw9m+kRgZs2bLlAbknh8PhcDgcjvsLTmCt\\\\\\n\",\n       \"U1jyivHEJz7xsH3vrl27pN/vhzBZhq5fd9110XOuuuoqeeMb37gKZcm04Pwrthfy9UEq8aA+NmDH\\\\\\n\",\n       \"NWAPBJHF12YVFuyD49lZBfFUWOXCHZQuJzgAFTr+ZjGUgmfXwxgc24pxcCqzbbUTNkKWz1CqYjOw\\\\\\n\",\n       \"bMo5sz48s2EdgUXM22ntttyZ57I4MyNzamfBQJ4zsUBgmTygQdYIdkEdiMMuhkE5crAwKOfcq5iF\\\\\\n\",\n       \"cJyP04F7UVaSUXVZPegTdQPnSfsHR/Ag3JK43K8nHVu3P1aHVoFVLBeEipJXyVgwOxRXUFkV2WXj\\\\\\n\",\n       \"hBW/K3gXtCuGNg85T4nMzM5J1ipn1oScsSSsxryJS0uyeN11khdTfMrC+edJqr+ZsZkMLTiYC+ya\\\\\\n\",\n       \"DXKfNKmBWgYbTRmkLVncP7LMgsB69zevlnfdeOWY8krJK8U/LV8pB/oiD18qAtwtgYUMrCK4XYmq\\\\\\n\",\n       \"DpFXNgsuZifE9qp3J6bWAux5EukTD+R/yx79eNazniW/9mu/Jn/xF38xVCJq9tUv//Ivyw//8A8/\\\\\\n\",\n       \"0LfncDgcDsdBw0PcHdPACSzHAw5Va2muB6D/u3z66aeXa5MIrCpb4bTggVWVCosHXnaGNWsnHFkG\\\\\\n\",\n       \"RwTXuCJrMEik1yssc3AhQTACVQnA8VZYD3dN6ixVs2CWwmbWkGYjlcY8BQaBKdDl2DR9sBBCcQIy\\\\\\n\",\n       \"q2rwjhvNMjl+0yZ5xqmnjstoQFrh+6EAazYL1Ylm/eSZdDtZqb5aqbLiWdVATlniytoHuRT2QSZR\\\\\\n\",\n       \"bEA7t32dlSk2aF6tDfBIRp2lUFZRF1V1adVZqozLhzyRfmqXYjEgLINw/aGL2ndFgRk6lbzKGrkk\\\\\\n\",\n       \"kklTu36rkDCGGVfxEiFwq/Qu7r3hhuFTbHjEI4oJBbj/V9loeVZDVmFx/7cEFkpJYHXTpvQGaidO\\\\\\n\",\n       \"x8hZJa/+4JtXy+8TeaWZV2obVOWVkleKj2dXyv5M5CHLV0TeFZ51EKQUL1dZCcfJxpXqQ1YhWsL3\\\\\\n\",\n       \"YMml1dgFj8b3a+3x1re+VZ7//OeHPMnFxcXwH1JqHdRcy1//9V9/oG/P4XA4HI6DR65/vyWHfg3H\\\\\\n\",\n       \"uoYTWI41V35lWSZ33XXX2HZdP/nkkystEVpWD7YLYgCVTTgWyxi4Vw28mZiqUpdAccWKLFZ8sX0K\\\\\\n\",\n       \"qqzifpXAStNigI0xL2DthZiBDesWPN6emVH7Xl7kAiWpJJnmA5GtjxkgMAirIbBiFqosk91LS7JZ\\\\\\n\",\n       \"rYF2AA8ySy1bjYbkzZb0s1YgrtgyWEdeWcFYjMDCoyDWK8+rBuZ2EM6kVp3N6VgePE8i+LBcV7+j\\\\\\n\",\n       \"dSWbut0smoEFRRY7AGE15Air2Lui71LgnNoNkXYmWavIwAr9n+Vd3a7kWSZ7vvLV4sQ0lYWLLy76\\\\\\n\",\n       \"6SQL7TQEFshcYyPUvp8ridtsS6+byHK3UF6BwNLlKvJK96ltUJVXSl4pPr/xyrD9QXuvoOyrghwc\\\\\\n\",\n       \"tw3G8q6qyCxrJ4y1Yd1vZlU/qYJVaTkmQWcf/Jd/+Rf59Kc/LV/5yldk37598qhHPSrY9B0Oh8Ph\\\\\\n\",\n       \"cDjWO5zAcqwpWq2WXHzxxfKxj31MnvOc54RtmkWk6694xSvW6FvqrE+W2OJtIJRAKvExUFxBfRVT\\\\\\n\",\n       \"VeXloFDIeoicK5BYYJuwzNcf3Y/mYXU6WVBjgaACAYNZBzlPnYkaS+Aw2aMD2iIzOpF2e0ZaszPS\\\\\\n\",\n       \"XBgUI2SwQEVAzmiwbgmsuvyf8Cjj+T933n23fOIrX5EfeOpTZePGjSOyjMmsmRnpSybdXiKLe0fO\\\\\\n\",\n       \"LhBXWIb9yS5joG9tg1Vc3Phgu2ssTTxQ52Olxhp1JFkB72/YXCz7/ln1IvZjHVa2xpDc0DbCzJsg\\\\\\n\",\n       \"rSDuw3r4tnJiTQCqLHRPvCtwwfL7MDvbluZsSxr6/dqBYCHs9aRz443S27EjXHP2ggsk27ZtZfZV\\\\\\n\",\n       \"HYEVy8Hi2T+tjXZ2Vrp9VVyJLO8dvY7o53p777vhann3TSPy6oc3jc82qPbCRxy4Qg5kIp/bUBz3\\\\\\n\",\n       \"1a1XhvNPvbsguYp8sT7ZBjn7qqrgXQDZBWKrG7EE2neFrbhWqRV7j9CH6sgqtwrW4Y/+6I/kBS94\\\\\\n\",\n       \"gTzucY8LhfMnP/jBD8qLX/zi2vMdDofD4ThisRZ/Avj/h617OIHlWHOoHfAlL3mJXHLJJXLppZfK\\\\\\n\",\n       \"2972Ntm/f/9wVsLDS1jFBtdMLNV9hxhyK7YPRBi+D3ZBgAmsqtwt3d4tM5pSWVoavYYYwFsBCMbT\\\\\\n\",\n       \"7GyCWMqSW81mEZCtsTvNZi6tZirNbEYas23J9F5V7QYyCxfAFxbypXH7FN8I7INkzdq6sCDZt74l\\\\\\n\",\n       \"3927Vx6q1k9SYOVZQ3p5oTgrlFTJ0C4Fwo0D2aHG4n0gsKyN0Ia3F4RfHspoIN4zdV+nIjocJFWs\\\\\\n\",\n       \"P02LtZZAT3oHDoXcqlLkcF2PcuFUIadKrF6v6KssksLsgyCrypiqIfB+YNJNVt+Nlgs1VtENM2m0\\\\\\n\",\n       \"ZqXRbktSSvT2fulLw+ttePzjRTS/jckrvAPw6obqS+tnIcRD0GycPX3jBol0D6TSof4PDhnxdH/y\\\\\\n\",\n       \"7bfKu28ekVfP21iQVwh016LLeqzaBnX9K1uK47915pWyfKAhJ9zwCxTazkHtnUgOVp0SC8Uq6eoU\\\\\\n\",\n       \"WtP0kzr1Xh2c0GLov6PPfOYzg4WQsXfv3rDPCSyHw+FwHK3wDCzHNHACy7Hm0P8d3rlzp7zuda8L\\\\\\n\",\n       \"2RwXXXSRfPjDH14R7H54cnzYGhhTYdmBk7URxgqfy/lYPKgTE/COZZAGGCxCtVUoWgaDRrD9FK6k\\\\\\n\",\n       \"IhOLbYIY0AOwS8VnJRwPf9fSahUEgVoLm41csjSVtJFKmjYlafYlzctRP4/+YwQWBvIYvCtKlkGv\\\\\\n\",\n       \"ecoZZ8jt994rD1HWLGuEgPY8SWWQp9Lrp2Ph60xYWbtgbLslqcaJinHRWHHLPPi2g+TBlO19MODA\\\\\\n\",\n       \"fu6D9pjVbJ/2e5NVEGB8/KHOaFhXWOEmKzLJtO9b56ptX/BCWjgHiznUcOXCLTjMi8O6Ella2u1E\\\\\\n\",\n       \"8kz7fSpJK5N9/zGaEXXDU54iMjc36ueFB2/8HcDFLYEF0qosgySTPM1koCVX8ioNqkMQVuj/WIcC\\\\\\n\",\n       \"68zWJdJO5mQ5PyDP3XCVPLlZkFSsPAS5q+XcPQW5peRV2p+T9j2X0KybNvuKSSlLVIGQt8SUVVJN\\\\\\n\",\n       \"095Vx8T6DPcLu+yofeuQ7Wbw3e9+N9gLHQ6Hw+FwONYznMByHBaoXXDtLIMxYCBUpyphEgtkVUxp\\\\\\n\",\n       \"xZZBqci/SiPkFVsHhYKqeRs+eVbCkSKsGC+rnTAt1UNJGAtjEG5nXVPAXohlTGwGAZWugwCAg6lY\\\\\\n\",\n       \"1rytLChSiknadCAEBmGYfj78onDnYMYYaSo5M2tJIqeec4587pprZTFJpT0zN6YMw6AdBBS7GVlx\\\\\\n\",\n       \"hWLXbd6VJbRGjq8iIHzcDhVqqcLOdDgG0NwfefDP++19oE/E7FaTEFMXjvexld+PfeO21oNHXZ1y\\\\\\n\",\n       \"3Qu1TVq2V0EyoQ2hxuLcK9gCQUpp3x0+TUlY6fnglPhd0evo8WrVLfp/KnLfLln8apF/1Tr3XGme\\\\\\n\",\n       \"f57kUB4q+n1JYhlYJWM2fEJIxgKJ1QjL/VxnGk1W9FHt8+i7bJuFAuvs5Ily+Un/LN86cI08LnlV\\\\\\n\",\n       \"IKdgGwT5y5lxet6p37lCOouNQF7N3PV4yWU5Yhu0JFZVmHsdiSUVxJbUWAa5zS25VYdj2apbj0c+\\\\\\n\",\n       \"8pHlf3Ik8tSnPlUa5K1V2+hNN90UlFkOh8PhcBy1cAuhYwo4geU4ShBTVFXtt7ZBJrsmzWgIVQLy\\\\\\n\",\n       \"ejj/CuQDWwh5vRf55WXyrIps05n4mtLvF4NfhcbnQFmkA1/kr+sYGyTVyCZYEFg6qEV2tA5yOYIH\\\\\\n\",\n       \"xADnqxfj71RarVSyVMPesU2JrWD0WmmlggpFA7MlFXUsaV768aecLc3ZG2XHrkU57viFFRlddtJD\\\\\\n\",\n       \"zuxixRUP0GMFg3mbd4QA68JCFQsStyRKLMfn/gSrtPIacmvSNbhP1dlsDzcs2cH2WS6jrKyirYp3\\\\\\n\",\n       \"klWGILJ4IoPwDYbQBb9krbR4B3Qb+jwisAKZ+5FPDvvzzBOeIksyI1l7RhLlZFVcpfeJ/s4KrLLo\\\\\\n\",\n       \"XIcFaabqLhHlTAdlH2Qijvs8E1h2sgJYak/tPlGO6z1R9pI6CwRWzFKr5x1//eVlPXZK4ooLq7GQ\\\\\\n\",\n       \"Z1WVf2VLbIZC/DaGWp+yr8ZIXEuA1V3D7YMAMiW//OUvyzOe8QxZ0EkzKHvyrLPOkh/+4R+e0B4O\\\\\\n\",\n       \"h8PhcBzB0P+sPNQ/y13Uve7hBJbjGAAIJGBgFFNCJBX2x5RXPAjn82JKGrYSQqkFggvHjp87GBQ5\\\\\\n\",\n       \"UWlaXIe5IwzYkf/DwiiokLAMgocH8KzGQtZ0o1EQB1C7jPKoNVg+lxQMQvii8svCtmJ7IK/KqWrz\\\\\\n\",\n       \"fFae/ORnhe/UQTffR4zAYjUKBvsYmHPGFSuvrAJrXH1VWGviCqC1UHhYeygr9CblXHHAOdoe94d1\\\\\\n\",\n       \"JrFi9x27Jvdpu2zXJ+VfcXabvX56iPlYvD5uIdM24zYE+YOJ/qDAAnGFvjp8smTc8QpFVqz/Y737\\\\\\n\",\n       \"yX8bPfVjniKLi8VMoMX1Cpst7m80FXNJYOlTlOSVzXvnyQTQ75m0Qv9lC6EWEFh15BaTu0XJA2E7\\\\\\n\",\n       \"GOB3BYRVP0Ja1SmtcLwlrmKKqtinJYrRzrb/+l+Th4rXv/714VOJKrXpz+j/UDgcDofD4XAcY3AC\\\\\\n\",\n       \"y3GUk1F1+2OqLezHwIvJA6viYkWMtcwArMbqlwP2fgWRhYExlhEwXuzXwXxhP8rCQFq3c/SOQgfa\\\\\\n\",\n       \"sYB3cj+NZbJjAK/blbhSEotDszG4ZwILeVyjuKt4fdvv1e/bu/eAZFk71IMlnEBOMDkVC2SvI69A\\\\\\n\",\n       \"DiCuaDx3uy6X51ARI4hiWVIxUorPsf2Tt+WrUFLFyCubwVV1rdh6rFQdfzCIZyQxOWsnAdS21r7I\\\\\\n\",\n       \"BBb6KACiiwWCeq72c57sYPg+9JdErv10UdubjpfeOQ+XfIndsKwGW/ncuCbfNxNYPC8C928lnZjA\\\\\\n\",\n       \"splwVQQWCCu+Tqej5JV+D+yYVlllM6+qiCtWVVWprqyKkX//7DK3L2/jPrAa266TXjHoBCkOh8Ph\\\\\\n\",\n       \"cKxLuIXQMQWcwHIcRbCEgBhbUmzAlFYcO813WRKLlTas1uJBP9ts7AyF9t5x/vjrqDOV5XmRETRU\\\\\\n\",\n       \"O5WDZB2sYyCMzCsdrGPwDJIKJBBUV7rOFkLYqbRwULaJthqzdsXAhMPevfvk4x//B3nkI58gJ564\\\\\\n\",\n       \"bUxxZa1VPICPbWN7YazEwttHUV08QMf6wQ6Gq8gkVuxhfdwiF1decQ4bf4dErreae4zBXoNzr+wy\\\\\\n\",\n       \"Xyv23dOouKpgiQ4QveMkJIe5axuHOy775pgYEHdUiqIskVlkXo3WtQ/DXtv+2mdkpqNZUSLy6KfI\\\\\\n\",\n       \"vv2pUR/WP0mMtLXvY5XqEOvcr1llZSc5YNXViNwqyKteb2Csgt2KmQb5GBBUddbBGJFVlX81TbtX\\\\\\n\",\n       \"KSJjf6Hye+HWweo+2Jff+Z3fkb/4i7+QW2+9VTraUQj33HPPlO3jcDgcDscRBiewHFPACSzHMQDO\\\\\\n\",\n       \"wOJtyLfiGQNjyhNrIeT9sQFZRt/H2/l6OIcZotEgsdfTGdoy6fcbYxlYOjhG3pUWXeZ9IKzUXQLS\\\\\\n\",\n       \"SrdxHpZ+6mAYCix8WgJLMbJWjQ/ueYI2qFHyfEGybIPccsvtMjs7IrBASIBQsNYqVmOxAguEALax\\\\\\n\",\n       \"ZZBzj0ZqNGtlQhvXwdr/mAyFmo7bm0lJu14HS14lFd+9mn+5Y+Sa7cOrIZ1i59rrZ/TOTEN8MXhW\\\\\\n\",\n       \"TrSTnpcNiSAoqGCVBfnDeVggt5jUQl9jOyH6nV4TysPW50b2wcWHPUUG+0aTCOJ6PNFmuFMiRzF5\\\\\\n\",\n       \"QozAsrMocr+2/RyWQlgI7QQGPEPhaF8uvZ7O3hizCXbKAqVVp0aZFVuuIrOsnXCSvTBGcB2sbdcR\\\\\\n\",\n       \"wxvf+EZ5z3veI6961avkta99rbzmNa+Rm2++WT70oQ+FmX8dDofD4XA41jOcwHKsU1thzJZVR2ZZ\\\\\\n\",\n       \"ooqPtzlZ2G8JLd7PmUn4fv5OGgkPZygcH/gVg2O18qm9sMjcgeIEg2RWn+gyFFg4BhZBDPJ1oA71\\\\\\n\",\n       \"FcgqS15hMA/SivKrK+1U+L6NG7fJ7bffLGeeWdghmUiwViuba1VlF2TLYEx1VczeaNvSLk9CzDrH\\\\\\n\",\n       \"7cqZVzGLns3G4vwoS2LydbjdY5bXuu1873xtu4x1ngWT7zlmh7TLVaqsaeyOVSieC+2HPo4+A/UV\\\\\\n\",\n       \"r2ufQF9k0incTTKa6ACkJvq0bsuSgbS+8oniO5szsu+c75V0Kd7fx+6Ssuhsf4+RWCjczzkDC8oq\\\\\\n\",\n       \"LPOkBazO4ky4Xk/Jq4Ehr2KB7ExKWTshKxOrLIKxjKsqS6E9jt+3WAZWnaXX7YLT4gMf+IC8+93v\\\\\\n\",\n       \"lh/4gR+QN7zhDfLCF75Qzj33XHn4wx8un/3sZ+WVr3zl1NdyOBwOh+NIQrIGIe6HHALvOOLhBJbj\\\\\\n\",\n       \"KIXNEpJItpDdVzVwsjlYSUUAtc3GgmUQ12dVCZZ75WsG21RiyCucG7+/wSANlsJiYF9kYvHgWcGk\\\\\\n\",\n       \"jlWBQHHFeViYxRCDe8xICFJglINVPagf3d/4hG0bN54mN954nezYcY9s2HDC8N6YwEIeEO61Lu/K\\\\\\n\",\n       \"2sssYRcnrrhe6xAjaSzRVJUvZYmo2LWY+MRAn/fZc5nw5OealEdlySUmpux6FZFV9XyxbVXXnabO\\\\\\n\",\n       \"YyiesYok4j7AeVggs4ZPXfZX9BVLYM1992uS7d0Vti8++DJZzmclXR6bWLPSQlh1X+iTMZK2ykLI\\\\\\n\",\n       \"Kis7u6YlsIp3RclgDWzH7wmrryyBZQPd2RLIYe0xIsqSW0xq2fbCZ5Vi0JJVdflXq83GOraxfft2\\\\\\n\",\n       \"edjDHhaWdSbC++67Lyz/4A/+oPzqr/7qA3x3DofD4XA4HIcXTmA51oniatrzYmosRWzkatVXlmDI\\\\\\n\",\n       \"y1fIkmWx67K9sFlhJ4xl0ejgtSH9vs5Q2BwOlJWAUlsgbIPYppZCZGDp4BekFZRZUGDBTggLoQ3J\\\\\\n\",\n       \"jq1X1iopXlqtEyVNdVC1TxqNE4bEA2Zow7LNxOKBPpMWnHkFAoMVWVCWxVHY08YJQ7a+8UCZiSVY\\\\\\n\",\n       \"QJmkSs2slbE8tSqrFEiecdvcSnIA2+x91T1fVc6VXa9Tb2U1Ew3wNiaw+BxLsLHNkIFzVgLqQPQl\\\\\\n\",\n       \"kFO6jTOxsM7EFROZIJO0v2JWQpxz/Nc+Pjznvgfr7IOjfl1H0irsjIOx9Vh4u515k62yIKlAYsUy\\\\\\n\",\n       \"sLTkOZNTsAbGyCu2EOIYq8jiDCw7AyH2TbIMRmtogupqtXASqwqnnXaa3HnnnXLGGWcE5dVHP/pR\\\\\\n\",\n       \"edSjHiVf+MIXpK3/ADgcDofD4XCsYziB5TiCsZpBTJU1EAQECAdckzOveL9VzfCo1oa4V4W683os\\\\\\n\",\n       \"BT1GoLXMPfO19LMZBuc6Q6HuVzWWDpp1vMJ5UCC0UKDA0n1YBtkFu6BuqyKtWIlVN8APdxlIpUQe\\\\\\n\",\n       \"9rAfCvehA3EQTNZqFcsKsjMW8qxurDgLtUQqmMmwWVO2Lax905I5wyc0BA+vs7qKj7XKK25X+71W\\\\\\n\",\n       \"kTUtbB/l5Sollt0XC3i360xMVdkTq+5vchaXnV1TgXZH/0NeNUgrKBJZBQhbrG7DDJxaFv7zX4tz\\\\\\n\",\n       \"JZG7z3qi9BfrVVcxC6ElrJjMYmKWc964X9usNzsD50idpWHtaq20qqpuhKACeVVnI6wjrapC26vy\\\\\\n\",\n       \"r6pshEXtjh8XWqXGPrjafCwntp773OfKxz72MXnMYx4jP/dzPycvetGL5L3vfW8IdP/FX/zFVdan\\\\\\n\",\n       \"w+FwOBxHEA7l/774Go51DSewHOtMiWUtgVYdNa19UAw5ESMd2EJjCTAxeUhsNYxZvKB8ADEW+wXP\\\\\\n\",\n       \"h7lYOkuhFgXIK54djS2ETGwhEN6qU6oUWDwD3CSVChNMS0vdkmBojg32LSEVK3x8eOoxq+C0iNnu\\\\\\n\",\n       \"qixwTByx4spmWjFpVWexqyOxrF3U9qeDURbG7Huxe4yRV7F7j31aoqvquevqOtY244i1c0xhBUKL\\\\\\n\",\n       \"ly0RhfN0e+ueW2X+7m+H7XtPebgstk8sOJ9S1VV3P9wPY7bWmMoQBBUI2pgCy+ZhwV6oWVf9/iBk\\\\\\n\",\n       \"g40rrdgaGMu4YiKqavukvCtbLHHF20KtmN+qOjth3XLdNgfj6quvHi6/4AUvkDPPPFP+4z/+Q847\\\\\\n\",\n       \"7zz5oR/6Ia8sh8PhcBy18AwsxzRwAstxlKLKZmWJq0nXsFYwq6Ri0oIHfFXrlhBj8ou/I6lQXPG1\\\\\\n\",\n       \"mDwZXUfthJqJoyHpIZw6SwI5VewbkVZQXUGFApsWlusILCivQGBNY7WCrU+zeq699u/klFMeJlu2\\\\\\n\",\n       \"PDiaYxTLDbLh7AcHJqW43i1ZhWVuX1bwoe5t3+D+ZQlLS1zxdXC+JUVj+4Y1WvGMdYHq2M/3bkkm\\\\\\n\",\n       \"S2TZa8SOt6RXbHvVekytVafYqgbnZFkiKd4Xiz576g0j++Cuc54aiKJpc6/4etx314LA4twrfaeL\\\\\\n\",\n       \"czi7qsoWODAKLCaqrFILJZ+QdzXtZ5WVsE5ptaJ2owS9E1iT8alPfUouu+wyaZRTxH7v935vKL1e\\\\\\n\",\n       \"L+x7whOeMMVVHA6Hw+FwOI5OOIHlOIIRI5hix0jNYJj3wzaI7Tzoz2l/3fchjB3H4jOvUdWw/apv\\\\\\n\",\n       \"9iFvySoZMno9UQeQiuiy5mINZGmpKWmaDJVNIKyU0IJNELZB7NNBMkLcgzqlPA6ZQxzqHu7E5GBV\\\\\\n\",\n       \"kVgj4imVdvtE2bXrdtm0aSWBxTMowm5lFS2chRQjKHBfI0KjIPPGYe1vXJe2bbAPgfu2HbE/M59M\\\\\\n\",\n       \"WFriiqU9VqlnlSgxa1UdwZNOQWDxchLpQzGLYB0RlZpj+Xi2F9prVVkPyztPkmEWW0wNxTMQ6if6\\\\\\n\",\n       \"hu1H2o8VIGpBXmk58aYRgbX99CL/qo7AsuQV90FLvsb6cVWIO46L7RsM1DLIuVV6A8sRYqrKFsgk\\\\\\n\",\n       \"F87H7xpfg3Ou+DhWZoWar+l/0+ReMYl8MIRW7PtcofXkJz85ZGBt3bp1rHY0zF33FQSow+FwOBxH\\\\\\n\",\n       \"KfyfescEOIHlWIdg0srasmLWQks8iAnsZsKBVVE8gGPVFJ8Dwgo2QSZLePBo1T0AW9qYcCnuuxho\\\\\\n\",\n       \"p2PZWDxbH2Yg5JkLQXaBMMCykgggCqyVkAksEF11Vq+FhdPk1luvkaWljiRJa2wWNx70sz3LLrNt\\\\\\n\",\n       \"rB7WtmatfzFFEROYzGD0ImosgNVaVUSV7Uu2X1mbX9VAnwmpaZ49Zt+zdZIeInmVRfY3aLu1HMZU\\\\\\n\",\n       \"W1X76sF9AMQUlkGmov9w0HvIwVq6T47ffk3Yt3/jGbJ74ZyC4yn7coyMRR/FdWOKL2uLZXss1Fcx\\\\\\n\",\n       \"xRVPVqAzDGrW1WDQlzyPqapAOA0qbIN2BkJrEbQzEVob4KScqyrroCWvLLlUpbCq2ueYFmotVdLX\\\\\\n\",\n       \"4u6775b5+XmvSIfD4XAcvViLPxH8T4x1DyewHEfJL9mkQW6MqIqdEyOw7HarlOH1xCzz/3aPiKUC\\\\\\n\",\n       \"TEpYUsGSW4BVhdn7tmovHdCopbD4/iLEOllhtwp3Uw68oU6BIgvB10xq1QW6K/g/+WMEwMLCNun3\\\\\\n\",\n       \"vyD33nunbNp05ti9MInFswlygDcTFpZk4FB5Lhogv9ISyOSfVOwDrJXQ2gcn2QvtdaqW0eZV9sNp\\\\\\n\",\n       \"+rtU2AT5WnW2wSplVRXJFCOvYtep+44YcZWsaEe0cVX729B2VmUhF4v785bbPiVpCEMXufO0p0h/\\\\\\n\",\n       \"kExFkmFbVXC7zW7jCQqgtsJ2ayEsCKy8LHVqKiyD3GIyK0ZoMenE5BVbBq0NkMkuifyGWYI9ZhW0\\\\\\n\",\n       \"f3HW/QVaRWzVwUmv5z3veaEmlLx66UtfOjbjoPahr371q8Fa6HA4HA6Hw7Ge4QSW4ygAE0YxTBrw\\\\\\n\",\n       \"V9kM+TxrVbSKGRAjWMaAkJVaYs6B4iorl5MaqyHfJwafIMTwqvIyBqeN4QC032+FfCwd0GOA3WwW\\\\\\n\",\n       \"iiyQVLoPqiwdSLNlEPuQe2XzsGIWr+pMrNlgI9y/f68sLIwTXjESoE5lBZsXVDUg4Di7qyAx1EZY\\\\\\n\",\n       \"Repwu9h92jZi6putgVjnh69r90kklj3O3ue0/3VkSTSJEG+TiCVLTMWsgvZ4PoeXG0aR1aRlu6+4\\\\\\n\",\n       \"D7W/WpUf+tm0kwdwsDuOH9buQOTkW/9tuP7dU588nMkwdp2qWRBt7hXysArr38o8t5EtcHymzWJ2\\\\\\n\",\n       \"wZFlcDznyiqpWH1l7YOx/UxUdY1qy1oJcRwHvPO6TFBsDWut4jdsrGantBDW7bPv2rGHTZs2DRVY\\\\\\n\",\n       \"GzZskNnZ2eG+VqsVcrBe9rKXPYB36HA4HA7HocFD3B3TwAksxzqGzTuK7YspcWJqLpufxYSWGEUN\\\\\\n\",\n       \"rovXC8tdkx3E+Vc4TyJkihhCC/eOAaVuL1Pcgwork05HVVlFNhZyrzjQnfOBQASxaqVqVsJp87AU\\\\\\n\",\n       \"Z5zxtKAW4OygqjwrBkgq3AvILRBzILQ4A0vzj3R2xiLgHnZNbquqDCzOGeO65vbAJ0hIJjftw9vv\\\\\\n\",\n       \"tn0KxFfVoN8SUpNgSTlLUvF92n0Ns53XG8YmaI9FP0ZWG59jia8YSdaQLEuH1lWQVuhfdmZBtq0y\\\\\\n\",\n       \"uRUDyCZFQzpyyvZPheWl5kbZvvlRQ/vgtLlXVbMOxnKvmLBiGyErtFR1lQdFGKuoOPuKVVYc2t6b\\\\\\n\",\n       \"QGCxksqGt/N+zsBiCyEruKy1cEVtmfWYndCqtOxxjtXg/e9/f/g866yz5Jd+6ZfcLuhwOByO9Qe3\\\\\\n\",\n       \"EDqmgBNYjqMEVSqqSfuZjLLLrH7hdRBQTHZYQium2LLnsXIABBS+w7I4WAf5Ye8Xr2rsWXh7MXjU\\\\\\n\",\n       \"/6UvsrHS8AmrIFv2QB4ooGoKmUFlFpYNwgZhBDJBP5lQWgnN5NL76EmWNcesX9MA1jAmzJjMwj1h\\\\\\n\",\n       \"u6p59LlVhaXPPN42dVanLEIagvhCW1l76DT2QW4Xvg+Qj0wyxexZk2BJKqnJm8LzMSk3KfPKklEx\\\\\\n\",\n       \"UooVWdZqWK3WGimvik+QWDElFtar8qqqoH1iy84vSKt3IKzfccqTZJDoi7DyWH4vbE5bFYk1IqQs\\\\\\n\",\n       \"QTWeezUisTSzrigrlVbWDsjbrcLKklesourXqKpiiiqrbmLyaqw2a6yE9t2qImcPRp3l1kGLV7/6\\\\\\n\",\n       \"1eF3Drjlllvkb//2b+WhD32oPP3pT6+pS4fD4XA4HI6jH6v9736H4wFCbHA0zTGTslhig69pcl1i\\\\\\n\",\n       \"y1a1UKdu4AGnPYaXecA6qBnMwl40Wh4M1FY4CLYlhEXD2oRPu8yzo/FyrNgMoFi58caPyPbtXx0O\\\\\\n\",\n       \"/mOwuUesvrGqHKjImOQYV/AUtrQkYfIktmxVQY2IqgiqIz63iqix5I9VI9nsJ7vPbp+28HnTfI+9\\\\\\n\",\n       \"t7rnsfXGaiyuq9gMhNX1r22Tpqq+SobtZgkstHNVP4j1mRi23U72wVOeMlWfrevz9v2IvUPj79jo\\\\\\n\",\n       \"3dN3Ud/Jqvd1ZbYVv++x3wT7uxIjr+p+e+pIqGl//+qOr/qttedXYZpjjj08+9nPlj/6oz8Ky7t3\\\\\\n\",\n       \"75ZLL71U3vrWt4bt73znOx/o23M4HA6H45AthIdaVot3vOMdQeE8MzMjj3nMY+Tzn//8VOd98IMf\\\\\\n\",\n       \"DG6T5zznOav/UsdBwwksx1GEabJQJv1qTTMgsoqdmLWGj7WDyNwQTTxwtDk0GMDyel1ZLo/vlGW5\\\\\\n\",\n       \"Ynm0nucd6XQGw0E1BtjLyyJLS8U6Ly8uFusrB+MrP1lxYpUqirm5LbJ373dHtWWazxIUtoDMUIsg\\\\\\n\",\n       \"Z3LpOormdo0vJ9JoKJHFRFRVaZf2y7pjprmOPX4SGXUwZNVqSK1J+6d5Jj5m0vHNsi7rr5llWWib\\\\\\n\",\n       \"eLuNim1rVgVW9ZMVb3E/l9PvLAisftKUO076vmEfZDUV+i4HrNd96ruh74iu6zuj67xs3zN99/Qd\\\\\\n\",\n       \"rHtHVy53y/VJvwexgPc6JRbPfBojz/l30pJg+Sp/h6f5La7DatSIxw6++MUvyuMf//iw/Fd/9Vdy\\\\\\n\",\n       \"8sknBxWWklq/+7u/+0DfnsPhcDgcB498jcoq8Od//udy+eWXy+tf//rwb+wjHvEIecYzniE7duyo\\\\\\n\",\n       \"Pe/mm28Oln78m+y4/+AEluMYQGzAFRuMTbLHVOXDxJb5k3NoYrOL2awbJrL4+FjYs8276VceozNV\\\\\\n\",\n       \"9XqDMNAGWcUqEpvbw4osWKbYQsWfocbIooj1+flt0u0ekKWl3WEb28GwbhVXMQsZwuZRQHqgQLEz\\\\\\n\",\n       \"2peU4fRQACnB0io/m7SeVZA1Vollj7HKIg4o52vGVE52fzJB0RQr9j5ZhWXvxSqxYvcae54YcRWr\\\\\\n\",\n       \"G74m6th+ZqEtijYaEVjcblVty30gls8Wy8vS5RP2Xifzi9vDtu1bHiOdbH5F/+RZMWN9m/u+tQVW\\\\\\n\",\n       \"vT/F+6XKK1VA1r2Tsfe3Z34POpHfgbrfjtjvhiWrDuY3jH8f634v+bcVcCJqLXHgwIEQ4q746Ec/\\\\\\n\",\n       \"GmYnVEWjhrgrkeVwOBwOh2N6/PZv/3aYBOUnf/Ingx3/Xe96l8zNzcn73ve+ynP077sf//Eflze+\\\\\\n\",\n       \"8Y1yzjnneHXfz3ACy3EU4mD/d/9grIG8jcu0A8BJA8eY1Yc/WTVhCS6rtoiRY+NZOpq/o1YmtTXV\\\\\\n\",\n       \"2QGx3c4UaGdkAwFgM4RAEszPb5U0bcqePd8dEg1MOMQKLGVWcQOyA3YzXgcZAsKjID9UiVWQWEli\\\\\\n\",\n       \"7W2WxImRS3Y5lu8UI5uqtlmrnlVFSUUuFRe7PXbONN9Zta3uOWNEX1X9jb5D657JK24jbruqto0p\\\\\\n\",\n       \"8mxeFhf0r9O38+yDTxn7JYj1VzvLYCwHa9L7UhS1C2oW26DmfbWWQfu+WougtQ3bz6rfmEm/RXW/\\\\\\n\",\n       \"XVU2wbrfzKrf0Em/zXa/K6+q8KAHPUg+9KEPyW233SYf+chHhrlX+j/FGzdunFC3DofD4XAcwbif\\\\\\n\",\n       \"FVidTkeuvfZaedrTnjbcpv8ppOuf+cxnKs/7tV/7Ndm6dav89E//9KE+seMg4CHujqMQgwnca12g\\\\\\n\",\n       \"e2w7XzMxx+Xmk68zoGB2Kc/HAJCXcS1WLjRpQMn306N9Un5if1bub5jAd4SQ83VwHvbhesUve6/X\\\\\\n\",\n       \"KIOANS+q2KPEgKpIQC4hsD2cRcvhG8uAd+zDNj62IBNSWVg4RZaX7xurbc4xwnfp9TD7IK7BhAJm\\\\\\n\",\n       \"TESwPM7hsHfdj+8uZlfU50vCc2mwe3Gvti05UD+lukOAOz75vJRmJcwjhBJDjx1QH7DKFfRlqxLE\\\\\\n\",\n       \"ORZpxXqM4KqyFtpcL15G9pdVZsVIPRwfI8A076oR2gDKKiakdB2kk+5npZ1V4WHiAGzjWQmrZsLc\\\\\\n\",\n       \"dvvHhsu3n/LkYT9BfxrWspld0JJZTOSCvNL1ok/ZjKyCvKrOs7MkVIx85n24lj0Xik4mwu0+S15x\\\\\\n\",\n       \"37PLVZlYeEfs5zR2wqq/Iqf5y3KSRfHYxete9zr5sR/7MfnFX/xFeepTnyqPfexjh2qsRz7ykQ/0\\\\\\n\",\n       \"7TkcDofDcdA42Awrew3Fnj17xra32+1QGLt27QpqqpNOOmlsu65fd9110ev/+7//u7z3ve+VL3/5\\\\\\n\",\n       \"y4d2o46DhhNYjmMYltACYZCaARgG/0xUAX0iKICk4togR9LS9pPRdzTMYBDrKDi2Ycgovk9eju0b\\\\\\n\",\n       \"0CuvlkKdoVBn7huRQUoq6EAcMw7y7H9MUGnRY2OweUTbtn2vNJsg0uqh343zQRSAbLBZWyDRmPjS\\\\\\n\",\n       \"ZRBxug61j24rCIZGeO7RgD+NEAhWEcXkFEjLnukzTHBxWzOBkET61SBCeuZTCmT5vpig4n0xK6EN\\\\\\n\",\n       \"dLeB7Rxgz3ZFEFVso4zZCovrqOoKeVYgsKwdFKQUk1nWNop+xzZTrGPZYvbAdjnxvm+G5bs3P0QO\\\\\\n\",\n       \"zJ08tl+vUzWpAAgrO+ugJbP0E5Zb2AcLUnil8jFuA2Q1lrX82WtwAUHFx8ZUW0xKscIK14gprxh8\\\\\\n\",\n       \"jar9MaLLcTjx/Oc/X77v+75P7rzzzpDTASiZ9dznPtcrf5X4yB1H/wDkGade9EDfgsPhcBxxOP30\\\\\\n\",\n       \"08fWNePqDW94wyFdc+/evfITP/ET8u53v1tOPPHEQ7xDx8HCCSzHUQomAeqOUbA8Y5K6yp5vyShL\\\\\\n\",\n       \"YvF5dh9ICR4IWjUOPq2KC+SKJVCYBGHSCySKTCDSemPrBXGVSL9fKLF0MM7qKiicFFA3TcJIfQVS\\\\\\n\",\n       \"QpU4+l09SVNV5MSvYxVfSjpBLaP3AdWWVcywEgz3iOOwr7CeabC7kg3p8JnjqiVWYNl9IAhQr0xc\\\\\\n\",\n       \"9YlgtEotVslxe6Mtua2m0T/bPsH3i+/lfK2kZlZFO+tgtkpb5fi6Elc6wyDC2i2BBcUVh7XzPkti\\\\\\n\",\n       \"cdYVk1cKqLEsTr/r48PlO7Y9ddiHmficBFZroQ9aYmtkL1TLIBNCMbWVtQJbBRXa3aqw+Bh7rN1m\\\\\\n\",\n       \"yaiq/VZ5xX3R7rOEeLS2Ip/2WFderRU0uF0LQ2cjdDgcDofjqMYqLYCV1xAJVnu21lv1lUJJKJ1g\\\\\\n\",\n       \"6K677hrbruv231nFt7/97RDe/kM/9EPDbcUM0zrOaMj1118v55577iE+gGMSnMByHKXggVIVq1JF\\\\\\n\",\n       \"UFkLWZVFkEkFMdvY+mWPZ+KKrxkjsfj7edAJpDX7MMjFd9tPa0NMoudBhcX2qYJwiudaVcFmXDG5\\\\\\n\",\n       \"cMcdn5V+f0nOPvtJlQQWrsFglRUIDSbZOEQe23Ed3qfnqnqm2JdIr1fUR/HMVWQQrw/v0LSDbTts\\\\\\n\",\n       \"Y4UW2pvJLVbjsULOkllVRCzfX0x1xcuhJo2d0Cqv2DJoc61sgLsNsi/2qV1UyUolrjiYnZdBRsUU\\\\\\n\",\n       \"WTbXikks3m77RwzbvjvKv9p+emEfRL9gknMS0Of5HWCrIa+P+gGTTmwBtHbCKqthbDmP5Fjxd0gN\\\\\\n\",\n       \"ecWqTEtk4b5jx8T28TbbP+vUWJMIsNh1HQ6Hw+FwHFNYQwJLyatJ2ZCtVksuvvhi+djHPibPec5z\\\\\\n\",\n       \"hoSUrr/iFa9YcfwFF1wgX/va18a2vfa1rw3KrLe//e0rVF+OwwMnsBxHOUAQTCKxqs7DMfYcHimD\\\\\\n\",\n       \"UNCCEbMlquw9sCWMbWUxpRWA72SFT9fcY0w6ElOI2XuzA9sRiaaWuiQYxpXYGdmrWLVSZ9fSfQhd\\\\\\n\",\n       \"t+QDlufnj5Pt278sadqVLGtWklhKZAAgn6oCtlmFhXsucq+K68DyhXuANXKk7Emk01FLoYbbg7jp\\\\\\n\",\n       \"RdRLPdM2lggEYcWKFd6PbVbRwplYA2Mp5bbl9k2msBCiSMVMh6y6ilkBba4Vz9Zojy2WNfBSC3Ku\\\\\\n\",\n       \"tNiZBm0GVp2FsCr3KjzRBDdq2tkvW+76XFjeP3eS7D3xIdIqiSurvJpGkcVKPvRHZF8V/VBzr9De\\\\\\n\",\n       \"3J4xtVRsH6uz7AQMXLoR0muSMivW7+zDxu6R93FfxGdMnRU7hzGJvJpCFudwOBwOh8Oxhrj88svl\\\\\\n\",\n       \"JS95iVxyySVBzfy2t71N9u/fH2YlVLz4xS+Wbdu2yVVXXSUzMzNy4YUXjp2/efPm8Gm3Ow4fnMBy\\\\\\n\",\n       \"HANgwmAK2UUAk1JQS0HVxGSVVVmBhKgK5rbqmswQVmxh69N+7IMdjQkQa3vD99p9EtlXLCuBY+1R\\\\\\n\",\n       \"rFYZewIToA2iy5JWTGidcMI22bHji7K0tF1OOGH8fydiNjCQVFhmNVVsZjglQDiXCAHbyMFCyLbu\\\\\\n\",\n       \"02N1P87rdDTkPQtlPLuKySsQiSAZqvqCREhLq8zD9UMNVpAHkwbzNrjdklk26yqmsLIEllVV8b5m\\\\\\n\",\n       \"pfoK6iomrPBpCa0qBVZs5kkmrJjwnNRfTrr13yUbFO2188ynSrOlJO2o7+JcLIP05IkErNqQ+xz3\\\\\\n\",\n       \"vVEgvCWkWD1lA9mZcIrts59WsWWVWDZrzaq2+PsALNuZCa0SC/3ZqrymhauqHA6Hw+Fw3P8h7tPi\\\\\\n\",\n       \"BS94gezcuTNMkrJ9+3a56KKL5MMf/vAw2P3WW28N/0nrOHLgBJZjHSBmsZr2vKRmW5V6K/a9PMCz\\\\\\n\",\n       \"9kEmi9KKbRgwgpAAgWKVW0xa8UCTSRKr7OFjeUCbVtqlJmGUbzUisLCNiQiQXe32giwsbJL9+2+X\\\\\\n\",\n       \"k046fcwKVpeJFcsfUnCYNhQ0UMSw1RD7QVhhGZ8FiVFkY6Wpzs5YEHmFImv4tBXEEiveuE17kXO5\\\\\\n\",\n       \"/VY8aUR1Nakvx9RXvM7WQEtascoqm5LA4iD3RmkXLHKuQGCBlAJpZS2EVn2FdUtcoQ+hb6CwPTXW\\\\\\n\",\n       \"V0CqnnTryD6465ynhGsxUQVSVvsDz5iJSQumycfCd1a3ZR0hZG18VSopJqSqzq9SeMWuX3dv/N3T\\\\\\n\",\n       \"InbswfzV6SSXw+FwOByONfqT4CDOV7tgzDKo+MQnPlF77h/+4R+u/gsdhwQnsBzrAPxLNWngbwkq\\\\\\n\",\n       \"Pmca4iB2Hd7GyhpLWFlLX11hMssOXpkUiSl57KDYqnxiVrV6sGoFsJbBWGF74QknnCb33ffdQF7Y\\\\\\n\",\n       \"PCOQCBZQzmDZzjrI9kKorkBUQXUFogRkliVEQJiopXBpKStJLFWlhTuL5FQxUcQWUN7HKi0mkqxl\\\\\\n\",\n       \"FOo4Vm3heye2SoS8siRVFYnFpFQaWYfiyiqwNOuqsAw2m4loHiarrJjEwjL2oZ4toRUjPK2aD4jZ\\\\\\n\",\n       \"B3mmShn05ISbiz80us052XPGo6VBkwqAsBopp8Zn1zz0/2CLqZUscVz1vlfZAKusgdOWKqKsSk11\\\\\\n\",\n       \"sCRWjIidtr4O9a9Vh8PhcDgcDsexACewHOsEGARlB0E65SYPC+tQQIDwkYilEMdw7hCfx6QGzhej\\\\\\n\",\n       \"qpKKcG62+eBafD2+l2n22dE5D2jNXRCRYGeEYyUN1m1Idyyg++yzHyqNxsOG6hoFrlEHKLCYrIAC\\\\\\n\",\n       \"iy2PbBuE4gqqLF2HnVC/X9cL++DoWM7KUhJrcTEtlVhQM3XI8gXyidVWltzifgKywCrorP2QSYXY\\\\\\n\",\n       \"wJ7JKhBT+L5JBBbnWMUUWE2jtMooA6sIfVfyanZ2nIiamVlpGdR1S26hr2C/7U9MiEI1BUKpLvgf\\\\\\n\",\n       \"0PadvelL0lreE9bvO+cJMrPQGusTIDG13fn6ug99jS2ENrAdRGgcMUII75gNX4/ZA6fZZ9VXsWNw\\\\\\n\",\n       \"L1VKLfsA1l5YpcqyZK29RgyTiKkp5W4Oh8PhcDjWPR4IC6Hj6IMTWI5jDFZ1BcQIHt4XGz0zQWGv\\\\\\n\",\n       \"MUlBE7MGMqHE57Nyy5JnliRhNRmrvSSiworDkgWxWeGsNSw2y5wlutK0UaptBpJlGhwftyJagEyA\\\\\\n\",\n       \"0opthQhq5zysUbh2QUwwmcUElhZd1u2wFRaEloa7F/emuVgact/vs7KKVU+WMMQ+m3PVj2SSWSKL\\\\\\n\",\n       \"idNJA3vO3koqQtw5AysWzh4jsNg+OFrWKYZVoaaqKyWllJwCYaUEFudcsfpq2hB3S2Rx3+CZJWNg\\\\\\n\",\n       \"InPLTR8fbt/30KeE70DIP+yDsA7yRAV8fe5fIKzscZNnMGTCiLfFCKgYycSkUkyRxcfHrj2tWipG\\\\\\n\",\n       \"XMUIrLq/BmPf56oqh8PhcDgcq8Ra/PngBNa6hxNYjmOEoLLHVGURxeyEMRWM/Z6Y8qLKXlM3SKwr\\\\\\n\",\n       \"9lpVdkSZ8Fn9y845Q1ysVZDtYFxsxtHInleUO+/8T9m16ya59NIfGBIV1tJXBdi+oMZi0orDtZnE\\\\\\n\",\n       \"wneDrGKFD9ZBXilW5noVMzMqmTNS3lTdpFXA4QSeqdCq8axS7lAysOzsiTaoHdvGZxActww2VhBY\\\\\\n\",\n       \"Sl4pcYW8KyWsQE5BacWqK5uJhf7ABJbtL9ZKiLaom/0y1BRnpPVz2fDNfy22J6ksPeTxw3B/7muw\\\\\\n\",\n       \"EiILC9fA9WyOms3f4nei5s4i7x7vkynsfvZa05Q6e6G9r6p7q7q/2Dn5Qf716H9dOhwOh8PhcDhW\\\\\\n\",\n       \"DyewHOsMdUoqxiSSoIqgstav2PVYFWGtiVWh7tguRoXDqis76GPFRex69nv5eVaCB+WTSCvOK7Ik\\\\\\n\",\n       \"FquxQF7g3OOO2yR33rlHer09smHDxqjipgqcdcQzwaHAImYthLhH2Mdwj7ANQoWFvC4coygshSCL\\\\\\n\",\n       \"VImVGiIqpsAbHT9+HLcx2gbHWfVcvkoCi0ksJrCs+ioWzM7ro5IkDUlTJa9GKitdVgshE1h2n83D\\\\\\n\",\n       \"sgosayHkTDTub7ZP1vWJkF91x3ekfc9tYfvi2RdL47jNoalgN9VrQXVVqOvGCSxYU3FPCqyziov7\\\\\\n\",\n       \"6mQlFrd1jCyKKbFi58UsplXWvyoFFxNc9jti9xu773wNySm3DzocDofD4VjlnxmT4P9Htu7hBJZj\\\\\\n\",\n       \"HQJkQLpKpRZ+NdOaY2LfxUSFtRVOAg9OITWxtkDO4+Lt2UH+cuO8UR3ZzCuQOFDXWAICVjEmMqrU\\\\\\n\",\n       \"NjhGB/xzcyfLzTdncuDAd+WUUx66IvuIARKJZx8MT0f2Qc7AstZBEFhqB8Sybl9aGp+VENvZWri8\\\\\\n\",\n       \"XNwP79PzNBur222VRFZWtkmnXLYKK9uOOAZ5Zr2IhYzPrQNXliWwQFKx+qpq1kEmslpD4ivLGkMV\\\\\\n\",\n       \"nRJUbBNUkoqVVpyBBQLLbq8jsGwGFpOawyek/lEo4qimyj7QuH40+2D/4qeEe+GAfyiqcD76vJ3d\\\\\\n\",\n       \"kK2Ees9MnNp+B3Jr1A78LleGZU1oX/QJ5K0xYRXuzJzPMxVOixgxNVjlOQdrHVztvTocDofD4TgW\\\\\\n\",\n       \"sJoRVN01HOsbTmA5HFPD2vZiBBhvsyoqicxKyOfFrn8opFjdIHE8vymmgAGJwARDzDbI1jFWYFkS\\\\\\n\",\n       \"qyArMjnllFNkz57bZWZGQ93HCSwmsbBsLV5sIYTli62DICw49wrrSmbBNqhFl3Ub7lOJK9yTAsej\\\\\\n\",\n       \"LjodratclpczGQySMuQdSipbWFVlM46ELH6sxJrGvjopAyurIbCsAouzrpqSJGmYYbAIYB9ZBrlN\\\\\\n\",\n       \"mcBCUDv2MbHFIe5WjcWqPLYSsmWQSSwmmJjMZAWefGlEYMmjCwILpCauizYPtV+Sl6zC4utBkaX3\\\\\\n\",\n       \"V2UtHPXZmCIvhmmIorpzrJIzZvery8aKHY/1uus7HA6Hw+FwOBwPPJzAcqxTYCA2ifRZ7TF8Xf6U\\\\\\n\",\n       \"SH5WHlmPDRR5MFllI6uy8aw2g8YOtHVmOSVlxkksDtZmUsvOJMekFSuwmLwYJ7BEtm3bJtdff600\\\\\\n\",\n       \"Gl1pt5sryIs6W5YNcbcKLBBYSjxhG+4JlkGbgcUqILasBVsakVewoWl9KXlVzHqoJBZ+Ru2Ns3oG\\\\\\n\",\n       \"apwGKelkigwsJi8saVWVgRWbiTCWfzVOYOkMg0peIaidiSku2rZoX87DsgSWDXiHmg/9wRJY3Pem\\\\\\n\",\n       \"sZSCVArtf/cu6d74laKmt50rrTPOkLRsexBYsJCyTRZ9Dflmtl+hbwaFF93nOIml75Cey+RlHSa9\\\\\\n\",\n       \"s3Xvvl3Ppyj2uLr7mfYeVvNc9hgnxRwOh8PhcBymPxP8z4x1DyewHOsY1t43LXkVU0fJhOvkZM1j\\\\\\n\",\n       \"JdW0sMoHm4PF94ZB8mq/J3b/I+KKCSq2flkrICtsrOLGWsnYOoZ95513plxwwZlBjcVqnFHuUT6R\\\\\\n\",\n       \"uFDiCLPJ2RkIQWBhXb8fVkD9rmKmweJT9+mnFrUI8gyKluhSoH4Ksk3thLl0Ok2aabCKwLBkE/oe\\\\\\n\",\n       \"27/YcsZkFs9sydcBQFilNeHtbCHEjIM886BmXY3IK2sFBFFlFVh2nyW+uE9ge4zAQvtD8acqt8lE\\\\\\n\",\n       \"ZnGAtv/iJz4pvVKm1/q+p8rMwkh1x+0ORRW+R/cNa7H8/thMl1jXc7AfhBiIrNFMldzm06om62Yh\\\\\\n\",\n       \"5GN4P/rHav9Ss8qq1VoH687J11h95nA4HA6H41hBkhflUK/hWN9wAstxjIOVT1X5RXXEmD2uylrY\\\\\\n\",\n       \"p1ycGCEhEULKEmmrIatAYqDYdah10hU2PptNBPLBkhVsLcO+mBJnZZh3NiQpdGa7FeobyUe1kit7\\\\\\n\",\n       \"UC6no8yvgSQrFFicd8QKLLUFgsxSkooJLF3X/SBW9L50O9Zj+3RbqOGhKi2V5eU0kGrj7cqZV/yJ\\\\\\n\",\n       \"9mSroSVTY3lH6UEQWGwZ5JkHsa8ZgtqtFVDbEtv0E+2uywhxj+3j/sEB7zZPDf3CWlaLkkvKRMig\\\\\\n\",\n       \"JPZCdWX01o76wL7PjeyDG578ZEkWxklMtGnMOmpnF+S2hXIr3EapwmIlFyv6ilw0ziOz/YDX6/Kx\\\\\\n\",\n       \"piWbBlMEw0vFd8XOm8Y6GCOzXFXlcDgcDofD4bh/4ASWY50jRigdyrWsTVBq1FExq6ElrKYhpg72\\\\\\n\",\n       \"vxKspWkleaV2OA5wt5lEsfwim30F8gKkBZRZICxis9Ft336bfOlLn5dn/9APSTMt7i8dDCQZ5JLk\\\\\\n\",\n       \"WkqZCwceld6yXO9ZlWMliZEnqeRZIoOm0h5pmDUQqisobqDGgcIKwew8k6K1E+IrYzMzYh31p7fa\\\\\\n\",\n       \"7WYl2cH1zVASIy1VT2wj5BwtiSxXKbCwzOQkq67Q1pa0yobKKyXfoLriXKsYSYU2hQIrRlrVBbxb\\\\\\n\",\n       \"AqvRCBRU0e5J0eZJP5dELX/asiyDWtEH0tAPUkmkt9SRpc9+uqih446XhUc9XPrlrIFoZ2uJZSBf\\\\\\n\",\n       \"jUPih8HwZX/FbVS9J0UwvH2/Yu/ewfwOTUMQ2Xw1Ptd+VtkEq757LeAkl8PhcDgcjvvhzwVXYK17\\\\\\n\",\n       \"OIHlWOdYDYFVZSmctK/qGBvcHjs+dt3YIHQ1A18+NkZejQbSGtrNapJxgmElAcWqKgzumcSwCp7x\\\\\\n\",\n       \"41Vxpcu5bDlxgwx6i3LvXbfJtlNOoTAjSmZn4mL4OIkkqdIW5PkaSngakqep5M1Uus0kWLp6pVpG\\\\\\n\",\n       \"SS0ob6DCYcsaVFaoA87DihFYeoscOF7cahpsbcUyK6ximUW6vVf+BGMbwv4tgZVPkXuV1MxCCFXW\\\\\\n\",\n       \"yC6oJU11psEiqJ0VdZaUYtJKtzNJpcusvKsmsPLClhiaKpdmoySsAlOkTGN/vO1RqWCXGNr+WRbI\\\\\\n\",\n       \"Q22AA5/59FAWt/EpTw7f2esPQjaVtqW2PUgnbXcQjuWlxggt/WqEtiPEHTMRYh9ui5WLWVbkyBUq\\\\\\n\",\n       \"PG4LDvKPvZdV6xZ1OVi2b1UhZks81Gyraf9KdALL4XA4HA7HIf7Z4XA4geVwHCxJxLbAqv0Hq/qq\\\\\\n\",\n       \"IrZiiGV82YEykx0j0qOYcW48uwjrMUKCQ7uxD/urbGZMZATyIi0CqmbamWxsNuT2b31Lts3Njfx+\\\\\\n\",\n       \"Nk1bAcaAp6ULj04eLqTEK7nRakkrfHFDZKYhs7NJ4DeUvND70mXkXulp2IdnZNugDaeHhRCKHtgJ\\\\\\n\",\n       \"R9lNekwjkGd5zlaxPtlHsYy2BrEAwmMaq6glr9IK0oqXW2VYuxI62ZjqChZQS1LhGG0iVmBZRVaV\\\\\\n\",\n       \"cotVeY1UyalSFre/9HCCGcLycEpBGe8HnOjO/SDLZN+//uvw8IXHPEYay/ul0WjIzHxL+oM0cGNq\\\\\\n\",\n       \"FQVxyfZQzDJpA+PZPojbwTrILfQfQK+nBGYxM6W1EfJMpPYd5fbs3w9kUN25/TW+nsPhcDgcDofD\\\\\\n\",\n       \"sXZwBZbjGMDBhKrjPLZwyQTF1KHYFA/m/qwlyc5SZ8kNDvQuFCPIIapTWlXlIimpAYWNfoLkgDIn\\\\\\n\",\n       \"HNvMpdnKJev3JOn0JOmVxEW3K6dt2iQ333ST5GeeWdjFOMiKlTgrHrtkG/BJvj9VZzHrlDeakrXb\\\\\\n\",\n       \"MpM1pJ2l0ptpyOJiQWQo4YBAcVjNuLC90OaCsQILHJo+VqHE0WW1E6oKTG8YIe+wCnJ7IMQdJUZ2\\\\\\n\",\n       \"xBBrWzvjYLJCdaWWQS2tVrIiz4wJSLSlrqOdsT4/P05egcCyhOfsbC4N6UsifUk7/VDhof1BWGml\\\\\\n\",\n       \"cwI/t32V+kpB8ji1Ee759H8U3aLVkoWHXCDJ3r3DG8oaTUmzhmTzDel2Eul0CzUWLqPtOazRskuh\\\\\\n\",\n       \"bRHozoIwvSxuDcos3L7uU/Kq3+c2zkxmXuwdrXqfp8FaBKNXEWLTBrdPQl2mlsPhcDgcDkcBD3F3\\\\\\n\",\n       \"TAMnsBzHCNZiADUNUVV3zCSL4mpgVVa2VAVKF6VQXxWDeVuYwLI2QlbW4LMq6LvZGEgjHUhTQ7g7\\\\\\n\",\n       \"ZZI6ZC/drmzbtEmu27NH9uzYIZuUFUECO8grSF0mEVhglUBmUchV0mxKMuhL2mpJnjUkUQVYCJFX\\\\\\n\",\n       \"e5mq0MZnFsTlobZhZQ7WFUXm0chOCNIDxxUz5Gmwey553qD2alQQAVW2syrE1FeWwErHVFiFXbQg\\\\\\n\",\n       \"rzhsn9uPM8yYnLRB7fhkEhPEV7M5kGaaS1P6kg16kqjqCtI1yKCQos8p/AifqiOw2MeZJLJ0660y\\\\\\n\",\n       \"uO++sGv+4Q8LeVpDhrLXk6TdlkT7gd5csB1qvy8aFJdBVxtlmY2+GrMYokvqc4Jn4y43CqJXG2Fh\\\\\\n\",\n       \"JR1vy8nvZPzdlsNk8bu/868cDofD4XA4pviTwTOwHBPgBJbDsaaYRGCtxWAuZhvkoO9YLtL4ekFe\\\\\\n\",\n       \"jbKBMBiPzRzIFkNLXlnbWbEvD+uZEhhKXiwtj6b/Q+n1ZEu7Lc997GNlRpmD/fvHrWQc4G2JDCau\\\\\\n\",\n       \"WAbFD8E+yNLrpWRWo9WSRrstrVZD+u0igF1zoAr11MoZ6HiZSQtdxlfauK6RgkfJDFVigdBAH+AA\\\\\\n\",\n       \"d7aOIS/LKnNisAo7EFacgTUKbk+SQn3F7cgEJNtD2SbIOVcobCFU3nGk5MplYV4kS8p2J7JyrO2x\\\\\\n\",\n       \"rp8grzj/jImsWLuDYUxT2fvZzw13b3jEI4p+BNYVRJm2/WAgzXZb0kZDskY5aUBJ4LJDUb9Snwtf\\\\\\n\",\n       \"ZwksqK50HZbScZVekYNVzEhY/f6Nq+ysdXA1dsI61P3eeCaVw+FwOBwOh+PogxNYjmMIyCBKVmEZ\\\\\\n\",\n       \"XAvwdQ/GzmhtYjH1FZarlDmszmmEgbYlp1BYncM5V7wMIgNkhipvlMwI11Bb4tKBQnWlo39VxHDw\\\\\\n\",\n       \"VElgJb2ezIDIwJSBNsi9ykZofWCcQA8VFsvGTCJ52mxK2mrLpo1z0inthDhdl5EHppfAPl1XHg6K\\\\\\n\",\n       \"LP5qVuKEFivXlcTSc/r9LChzxjOw2EKoP8U9M5tcFflglXZQeI0rrrBchJknK1RyvMxEVF3b4lju\\\\\\n\",\n       \"B6tqd7Q37IPc7pyBVtfuxC7u+eIXh7sWzjpbRNVYPN0lijYCtXs2NzckoGxYP38NBGLYxzFdsJ4q\\\\\\n\",\n       \"oNwquDglsLQN+uZ9r8oss++xfZfzg7DwTdOPDhWD+8He6HA4HA6H41iBWwgd08AJLIdjIuqsf2wR\\\\\\n\",\n       \"qjpXjLoG5x0qURYLio6RWSsJLXA8zP3Y3Cu2k7FihwmsEdmRy0w7D+qbtKuqq0VJYBk7cGCkwMK2\\\\\\n\",\n       \"ksS695575JNf/ao87SEPkQW9Cc5BmqTEUeBB2EqohafC4zRxkGdqKWx3g+Ws2WhJ2lZ7mRJ7ozpR\\\\\\n\",\n       \"KAeDzCu2CfJtgHNjkgMioeK8pORp9BOh/zw7IS8z8VA1+LdqnixCYBXLapMs+JyCwKqyfcbUdOPt\\\\\\n\",\n       \"O8q4Giewcplp9SXL+5Ie6IgsHijaXetZK0/bXR8ebV/Wf1gGQQniigmsKZR3nT17pbtzZ9jV3rZN\\\\\\n\",\n       \"grBK869AXul36U2CWdJL9HqSDwaSZqk000Zo98LyN/oatDW6IOyieksI+EfmFWYlRIYaLIZ17148\\\\\\n\",\n       \"py5ZI+VVVb+ZRGRNs9/hcDgcDofjMMIthI4p4ASW4xjDwQSu23OYiJo0W2DV9x3qgNAqr6pINGwb\\\\\\n\",\n       \"qbBs9hV4Hw4wx+CchUwsaEI2UkFkKHkl0kz7kgbL4FIx0gdppUSGlogSZ0Oey/L+/XL7HXfIg084\\\\\\n\",\n       \"oWAGoL7iBG0Lm4GFwr4+PADUPUyQdbvBVqZozOaSNvXBRtlgsAyGGizzsHiCRCY82EIIdQ724zxV\\\\\\n\",\n       \"YmmbK1miuVgFmMxiO9mk0OtsipD+IuupqIJCbRdrR7YTgrziYjOvtL1Hoe65tDXvSnqS9qid0dba\\\\\\n\",\n       \"/iCwoMiC2k6XUTlWicUzUK549JFddN9/fmO4eeO55xREKaYZ1Gvpw+H6YB/7GipfXKcxMyNJJjLT\\\\\\n\",\n       \"Rth+8a7gFkFMwTYI0gqfIK3Q1UbvlAb5a1tzgDu/i4yY8upQJoOQmkD21WRe2eXV/l65RdHhcDgc\\\\\\n\",\n       \"DofDsfZwAstxjGEtZgxci2vUoc7miO9NK45lEoNzkYrjlEgBcQG+hxVXI1JqJGKyiqvxAO8i72q2\\\\\\n\",\n       \"PRDZX1rGlLSA+gZFyQVWYJWfjU5HTmo2CwILnqxJWUgATwFYzjo45vsDC6fLeBjKRQrbS+Ik1Vys\\\\\\n\",\n       \"+XlJZ9plXWiW0SgHi78S5BYLwfQWwZ3ZfYrCalaQE92uzlRnCSuejXBSkHtM2cNt3Qx5VyxAG5sZ\\\\\\n\",\n       \"smx/tgWOWUDLmQethRA20g0bCvKqkeXS7HeK3CmtS23zfftGBCXaHu3NBBa2g6S0ge7Rbj+uwNr7\\\\\\n\",\n       \"7W8Pd2045RSRPXtGDB13Xr02iCx9IJr5MJuZkZm5OckD4ZeH94ND3G00l16O9+G2ocBjonB5OaEw\\\\\\n\",\n       \"95idF3loaFP0c87HilbEFMccCf/96aoth8PhcDgc08MthI5p4ASWw7FqW2DdgG3a86CiAWJ2Qt7G\\\\\\n\",\n       \"A2G7vy4o2oZ560B9pLji8T5CuzEAt+HdyDvi9bnZXFqNfkFeMZGhy1Di6KcSWGwtgypneVlOE5Fr\\\\\\n\",\n       \"7rpLOgsL0uJQ7zoyIzx+Ok5g4cHAyoDAUrKEfXLKyIDJgcxGZ6vr96URcpLa0phvD4O69bZtqLtC\\\\\\n\",\n       \"HwMWQuQkadFH46im0Nq0XISDK1HSotwrqLCgvhpEiADuW1UEVmNs9kgQjnh0axlkKyGO1XZfWBht\\\\\\n\",\n       \"U8KKCSxdVsVVukRtbQksXWfraKTdh8QSM0Eola9NQVL2+305sGNH2NScny/6ze7d4+0+mlUg/r1l\\\\\\n\",\n       \"SfJcZrTdVY4lhd0T7wfEgAqcgm4JwtcGvIPMUjKsmIEyp3bOVhHobvfZ/bFtSfkdpe/xsJBMTk45\\\\\\n\",\n       \"HA6Hw+E4DHALoWMKOIHlcBwRmGQBZJtgUrPfZu2MSiFgGc08aC2DbBuEQovtZWw9A5nRUPuYpqDD\\\\\\n\",\n       \"NgjlFT6xzRJYyELqdGRbmsoXlpbkrp075XQoZEglUwmrwAKBBcICDwd2gaeQUzJDv4tDrJKkqMFB\\\\\\n\",\n       \"Lomosqw9rDfdjcBuBd/WyCZYrOvXxBQ8WEd7qZVwlL+URGYinJbAKkgRJUyKwPYROcnxXzakn0ks\\\\\\n\",\n       \"Jq8saTlecsl6y5IsLxVZV9quIKqgtGPrKJR3TGAhAws5WJbAqiMtS9ngvrvvGVbLhhNPlES/B1ZE\\\\\\n\",\n       \"dGbIprhx0AAsq0tTSbNMsrQlMzPpUBimBXWFS0PYB9EY221RQICphTPPB6UKK5nwjvK7XPW+1/0+\\\\\\n\",\n       \"OBwOh8PhcDgc6x9OYDkcRyxi4ezYHlNfxQbGqclEGhEcNu/K5iTZZbaftVqqvMolXVZVS0leWPIK\\\\\\n\",\n       \"s9CpQkcLExmYja7TkdnlZfnBrVtlg5IMehxIh7pZCBUsi9IbhOwJoeGcqg0rGeQyug6vn1H9hGys\\\\\\n\",\n       \"PJf2gj50UZcQagGI6lIQ/xWW9dLhOob4wjrOU2Kj20WIOL4/RmCxOidOYCG7y5KQaD+7jQP52SIa\\\\\\n\",\n       \"y8EaklqaedXoS7JvURJuW5BWIKywT7fZdoeFUD+L6RlHlcSzT9a1eZbJ3lJ9pVjYsFAov3BdPCiu\\\\\\n\",\n       \"xWxjBYEVMrHaEkLdl1uaiVW0ObhQ5sbAg9r3Zvy9KojiPFe1WBWpbN9Z7gOx973OVupwOBwOh8Nx\\\\\\n\",\n       \"lMMVWI4p4ASWw3FUgUmMWNZVbHBc2AeRixRT4bDNzNrKYjPSzc+JpMukvAFJBUuZEgpQYDGBBUUW\\\\\\n\",\n       \"SI1SlbUByhwosw6GwAKJpddn1g2ZV5iZDn44WMloVkQmU/TS7Zk5aSy0huQUCApkgnPAO0Q+WFZe\\\\\\n\",\n       \"BJyMXl6hX6H7rGKnyMVC+67GQpgM29Uq6bDOxCO3b0xthZB2thBqdWnJ+h1JYBXVgnZnAsu2u7UQ\\\\\\n\",\n       \"IgON6xzE05QEVq4KLM270qdPU5nThfvuK67PD4tZCDnM3WZi4bu0sXJNwsplYX5+2LZ8W5iFEHyn\\\\\\n\",\n       \"1g3ysuw+PGJBYBXvX6Gws4RVLBsLSrxDnaXU4XA4HA6H4+iBZ2A5poETWA7HA24VZItQVRaWtRKx\\\\\\n\",\n       \"AseSVlmE3FJ72UikFFNYYT2mwgGREeKjmj3JdLbB5eVCiaMEBkgrzEKH5SoFFkiOUomz3OnIv+3c\\\\\\n\",\n       \"KY9st+VkJSkGA8l7vdqEnvDUavsLTFN7pR+SQ7xBasAfBgsbbGZgKhRKXpGkKmvPyPz8HGUbjYgL\\\\\\n\",\n       \"60yDO5EJrHCvJSECMgvnjZ4kD0RUwanYmS1jkwakYba7UW79aKZBbkubecUEFrcz2taSlkXmVS5Z\\\\\\n\",\n       \"Z7GwDWrb7d07akNdZgJLiSVYRUFugajkNkchS2Ge50WZ0OYHQj0XR21otSRR8gqBX/odeDCQkZiJ\\\\\\n\",\n       \"ElZF/T4k7KOBsixkYeWJ1mlDZlpNSZJsxQyT7HrEpaHOYp4M71nxNdUzRa7MMrMB7XUzjILsjM2E\\\\\\n\",\n       \"uhazGTocDofD4XA4HEcWnMByHIOoGvQdDljiqY7AsufEzpUJ67EBMbKvxkksFCY+QG5xjhKrtdQ6\\\\\\n\",\n       \"2JCBpN2SlOBiZx60BTPTgfBAqPbysrR6PVlaWpJbu105UVkTJROUxKqJmR6rpTyXpHwgzTMahnZh\\\\\\n\",\n       \"JkOQVAAIK8ipwFKwvErJkZJpyppNabf051KDuUdEBvgvEBmwnSFqC6SGLuNYth6OJlgsLGujffXq\\\\\\n\",\n       \"G7QnZpJEezE5aYu1htrCeWdDsquZS5b3CvIqZhPlDCyQmWhrEJs8CyGso8vLMijbJu/3h2TlNO29\\\\\\n\",\n       \"pzdSaC2kieQHDkiCrDP2/KFdwSiVKiu07ZBF1ArRe07T0IeSZlMazUzyViqtVmHLBEGFd0UfAXUN\\\\\\n\",\n       \"noxJq9Fy8c4V3avO6jvpvY4VWztVb4e1pB5ueMi7w+FwOByOB+hPCJ8Eed3DCSzHmuHmm2+WN73p\\\\\\n\",\n       \"TfJv//Zvsn37djn11FPlRS96kbzmNa+Rlo7+jijAvnO4SSxr+5r2HM64GlfexEPc+diVyiwMqkFg\\\\\\n\",\n       \"2HUmOJjQGic2cmk2BtJQAgFKKltAZMTWQWSpOksVN1DmdLuBxDg1z+XWxUV5WNlXMB9f1b9lYzRd\\\\\\n\",\n       \"rydZrzeqrdI2mEBxVc40GACiAwQWB4cXwUVjy+F6gcCalTQtZqpD5jhIKSV7WIGFy+mjgENDblJo\\\\\\n\",\n       \"xSGpMcJIAFZkMNWByUcO5YfobJpsMyasOBNrqL6a0fbuS7pMbQjCCllXIKnYSsoZWCa8PyfVHdq3\\\\\\n\",\n       \"T6bJQU1bhxrJc9lHFsMZJb70O7QSSnJMCaihRA6SKEjn0LZoCAUqCTK5VksaofJSabez0LbgQGOk\\\\\\n\",\n       \"IGYk1KK3wO8VxF4FIRl7N+ve5bTmd2Tav85sdtbh/quO7a8Oh8PhcDgc0yP8h/Tof3cPCod6vuPI\\\\\\n\",\n       \"hxNYjjXDddddJ4PBQH7/939fHvSgB8nXv/51ednLXib79++X3/qt3zrKaxo0ysHk0kxj55l0DA9o\\\\\\n\",\n       \"0wrLoLUNInunMVSPYHDNyhsmNNg6pgXWM6yngXQimyAIC7WSwTaohALv45wkIrCUZOj3+4HA0CHv\\\\\\n\",\n       \"ic2mfGN5Wbb3erKp0RgOhWMEVowG4KdvLBWz5DWUkEDYkz6gfr/65WAxU7Cd0CavlyoeVWI1Nmje\\\\\\n\",\n       \"llZSc5hpBb5LCQ7rSoOFEPuQGw4uhbOycKx+YhY7+vqx87DMqivrnmQrKLc1zzaIvCssI/cK682k\\\\\\n\",\n       \"J43u8qgtQVapTRCEpO7TdW5btDvaHGTW4qL0S5ugxqqj3UFgocRILLSxng/6qp0k0k1UuTaQVK2e\\\\\\n\",\n       \"3a5kmCYQBCXaFnZF5F8pYF8MX1A2iFZ2OaNlGuppdiwarRQHDolL3geHKiuy0Ca9nr6HTNll5Tre\\\\\\n\",\n       \"W+zjdxuZWYND/G1hq+Fq4WSUw+FwOBwOh+PIgRNYjjXDM5/5zFCAc845R66//np55zvfuQ4IrMOB\\\\\\n\",\n       \"mMqiaj+rL2IzmtkyOq6Yoa5ascPB3zY+CqWpVjLpS6KEBs8wyMHsrNJh0sqqdJTI6PcD8aD0Qa8c\\\\\\n\",\n       \"JitppUTCrb2ePJgILJmgyknNcB90QFqSJenSUiA4Qq4VSCqwQlaVo5XD/j8wSY1GUPZkKg5rJTIz\\\\\\n\",\n       \"o7MHFrY/VlnpJ1sI2c2GdVZj8X8SgaDi22NbIcguHIs25GU7G55tT1Ze2eUR6ZVLM+1L1lmWpFOh\\\\\\n\",\n       \"qIMCy26LzEqoSruBlrK99dGYwOJSp7ZTdAajvc0slY6ha9V2miqRxTNMMqMYYwO1ovTB8WLofauV\\\\\\n\",\n       \"ME2DdbTZVBWWzhg5mhOg6p2xpCKUcvoOaqD79O/uoOLdTw4TUeU4FvGpT31K3vKWt8i1114rd955\\\\\\n\",\n       \"p/zt3/6tPOc5z3mgb8vhcDgcxyrcQuiYAk5gOQ4r7rvvPjn++OOPkVperR1xkuKqLgfL0jdx62BB\\\\\\n\",\n       \"YCWVhAdb0erIrWYjl2zQWzF74FDhYoO62TJYEh3BPqbWMVVelUoa1TmB1BgkiTxuwwaZS9OwnZU4\\\\\\n\",\n       \"9t8zWzsci81aFv1sKIHR6QRCK2RaIQuJZzJUoAIUegy8eLqs7M7ysqSak9RqyEy7CPjWAuUNcpJ4\\\\\\n\",\n       \"QkPUH0grRDWBV2EbIYguLNdxLrEcs7oyTSbWMP9KH1t6kvRMzhkyzLhYCymIrbKttc373a4M+v0x\\\\\\n\",\n       \"stISWFaFFWtrxdJgZB/UtsD1hqa6PJesrFglLsP5kMBpRYQNZQYWAqv0ofV+UZG6rPbTRkPSmZ40\\\\\\n\",\n       \"G6n0mslEkorXmTDWHKyCJ40RVXVEVt27X/UbcjC/QU54HatQdfQjHvEI+amf+il53vOe90DfjsPh\\\\\\n\",\n       \"cDiOcfgshI5p4ASW47DhxhtvlN/7vd+bqL5aXl4OBdijlqSjDtNYeaa5xqRw51gGFs7B+mjmQR04\\\\\\n\",\n       \"60Cax+uxMO8YkaHrhQUtl0Y6GKmpbIC3Xcesg5SLlJezEKoap0MEBkgNEBjtLBuSVyiAJTW4ljLz\\\\\\n\",\n       \"5DBpgSRREkuJjUbp8QrZWKOAonErGRgjKLJ0GyqnrND2Qlt6/TyosPRScKbhUiC3oHwK908KLHwV\\\\\\n\",\n       \"PtFObCGkqKcx4DhLSKK9LFHF7RmbkRDnIecs3O++5ThZxW0M66gW7C+X87Lde6VFVGtX21WXsc7E\\\\\\n\",\n       \"Vb/GQjhMbwoyttF2tQ8inhyqO5jyGnkubbWRliHx4RpQ14FJBFApaAwQl+W+xoxacFV1l4RHhzuR\\\\\\n\",\n       \"7besysLltArw7hWcaRJRYYnRDVb1cABUHdO1Bwu+rpNYxyK+//u/PxSHw+FwOByOowVOYDkm4oor\\\\\\n\",\n       \"rpA3v/nNtcd885vflAsuuGC4fvvttwc74X/7b/8t5GDV4aqrrpI3vvGNx1hLpKu0BsVIq8wcwwPj\\\\\\n\",\n       \"YlnVHwhtx+Ca1SE2D2tEZIwysJpZXxp5EbwdDWdnQgOZVyCwVHm1f78MFheHKhwmsEBqQJXTy3P5\\\\\\n\",\n       \"/P79sqXZlNPa7TE1ziBC5WGdE8CYwELyUB8WMyWx9u0rCCyEUIFtgowGDBNYPyVOEB5WMk1JqyWt\\\\\\n\",\n       \"RlPymUYgL7SAkFIuFqQV+BIoruwshLiktomSYCCkkIdlcyhBdIHEAiFpZyFkUhLrIK1AciHvire3\\\\\\n\",\n       \"Gn1JOmVbW1ISZCXa17Y9tqttcHlZeoPBUGHHhQkstE3ftDO3O9pZbYHDHp9lslxep0HXAIGFvqKE\\\\\\n\",\n       \"ZarkpVYkh5KhokFOcrq+VkpJXOrMi412WzSDvdlshF0gKLW+tIpKgd9QncVEMfYVAj4N54/NRMg2\\\\\\n\",\n       \"YqZd7ftewWiO2Q552eFwOBwOh+MoglsIHVPACSzHRLzqVa+Sl770pbXHaN4VcMcdd8iTn/xkueyy\\\\\\n\",\n       \"y+QP/uAPJl7/yiuvlMsvv3xMgXX66acfgS2TPADfF7McTcrRGR0H+yATHtY+WGVBG85YmPcl6ZUy\\\\\\n\",\n       \"Ix29Q3LEtkG7XNrNghJHbWSDwZCwAmnFqpyhrSxJAsF1e7crJ0UILDZRMYEF5Q5ovdowcFXlaE6S\\\\\\n\",\n       \"3hsqArYykFb64Po8IDpgo1PyqpzlLmtm0mrmQZ0DsgJKHLYQjoK8R5MeQqnFQiAmu6DKisESWNxm\\\\\\n\",\n       \"sba0iizOymLyUp8lk0FB7rE9lItt60gJlkHKN0MBmQWyiYmrXoTAEjNtQtYfkTI9teUZuyjnpUGZ\\\\\\n\",\n       \"FSyFaicsw92HFlLYITF7oS6D5QXjVNaD1kfaSKXVaqzIGLOF6x/tg7YK3z32Dk/Kr7PE1P39+6Nw\\\\\\n\",\n       \"i6FjvamlHQ6Hw3Gkwi2EjmngBJZjIrZs2RLKNFDllZJXF198sbz//e8POTWT0G63QzmycX8NIGPW\\\\\\n\",\n       \"Qd5eZR+MKbDUQpiMkR2W4KgKAC+WlZzRmQdLGYkWyI2YwGJyw+YlLS8XmVdEYMQKlDi6fHyjIdct\\\\\\n\",\n       \"LcmSBrCXNjGJDOOZxGIrmSWvYkZMtRQGUkPD2VmJA/uYFr1/sD5MeJTkViNUUiatVjamtokRG7oP\\\\\\n\",\n       \"9couNlZYsVJrEoHFxEhd7tU0uVgFgZVLozGQRre3sj1jbY1tpMYDWcl5V3XtzdbR0sAZzT0LbZzn\\\\\\n\",\n       \"MldW1qC0D4Ja4byzFeeV5+oMhaG9UWEgJ7EMMrOin6dpo6wjrbNkrA5ZOWfJLH7vCgIrRkTHbIWx\\\\\\n\",\n       \"d75q+XBiaOC8H77LcaTj2FRLOxwOh8PhOJLgBJZjzaDk1ZOe9CQ588wzQ+7Vzp07h/tOPvlkr+la\\\\\\n\",\n       \"2PB1pDpNGqzGrIjpmIUQwhJWhcRmTotlYjWyXBKEt3cjNkJbYCnbt6/IvlpeDooqkFf6WZWBhbK5\\\\\\n\",\n       \"2ZTO4qLc0e3KljKbqGpmOjwpW8l0uUnLILTGyJEykKoB5Q0ILL13TBk4Ci8aVRBYipLoSmdUfZUN\\\\\\n\",\n       \"FVawXoKM0irTy4CY4qB2VlrxbIa6jkiumIUQtzAKCV9pF+R8Jvs5Zg+lc1JV2cWUVbAHsoVQ25et\\\\\\n\",\n       \"pOWxvV5v2Nbc7lqWSW3HOWdVbcSYGeTDXt5JU+mospAsgyAu+Tr2jWkfOFAEusMSispEQBjPQoiK\\\\\\n\",\n       \"1YpSAktD3dM8kFex9wS8JvoBq+PQbfRdjCusuDfHYIkrGCn5em4ZdBx+HD1qaYfD4XAclXALoWMK\\\\\\n\",\n       \"OIHlWDP8y7/8Swhu13LaaaeN7QuEgWMVg9YYYqoN3jce4F4oQAq1iM28svZBHoizekftU0NLGWaX\\\\\\n\",\n       \"A8kRI7GIAOn3emMkFcgrtpLFVFiNLJPZLJPt3a4c12pV/ltmA9xBWpRpRmPmKxAbw/6IawR1TVrU\\\\\\n\",\n       \"JLMNWhFQ6eiyPpOGHkGZVRIbSZZJa64VAr41pFsJqtKtNrQUIm6LM7C0sGWwdCWOkYyIa8KrA77F\\\\\\n\",\n       \"WgjRbggMj804CLsgk1lhxsGQfZUH+2ByoFQfQW3Gy6zI4s+S1AoZZ53O0CLapfa21lGQVl0T4M5B\\\\\\n\",\n       \"7hYLNPvgUlbMUsnB7ZybhWWrZQpEF6yjIK3QnmwdxTrIrNnZMvS/K41Gayzryr47th0QyI/ZCLNM\\\\\\n\",\n       \"+wiT1L1ISHuVImsSmMiCJs1/dx1rh6NDLe1wOByOoxVuIXRMAyewHGsGzcmalJXlWC2s+oK3WTPd\\\\\\n\",\n       \"uIoLgd9VxEcsD2vMUhgkTWXmlY7EkX9l1/UTZEc506BuH+T52Kxzsfyj2HYdgl8wPy+NJBmqc+oU\\\\\\n\",\n       \"WCArxmxjpFPpU031TE3pbHWBnEAGFvxg8IaBnYg9t5J7zWbICGtkjWgekrVsMsmBNgGhhVkKx54x\\\\\\n\",\n       \"iRNYVflX3M513z1mM9Rtecmu8XNimQu1M9sK814vtDe3JZOUdvZBJrP6kxRYOqPgoNiqxx4o1Vfo\\\\\\n\",\n       \"F9w/+I3A93EEeqK2VGRboX3ZMmifndu735Nmo7XCfov6tO8WtzO/iyvVlumEd9v+Djgca4N9+/aF\\\\\\n\",\n       \"/3ACbrrpJvnyl78sxx9/vJxxxhlezQ6Hw+FwOI44OIHlcByxmGbQujL3Cp+wD9osnhVEVakeYauh\\\\\\n\",\n       \"5l9pkUUip2JEVkXgt4akc3B3jMxgWyGTGVramcaJF/tkSgWWzUKyVjIQXUwf6HelvV5QCCaqLOAQ\\\\\\n\",\n       \"K30WhHnj2SBhYtJDrYhZNrSXcWg728o4L57bQAkqZGQp2D4Yi5Cz5BVnm3F7W4VQVZC72kTH2hTP\\\\\\n\",\n       \"xu2KfZyBVX7mZe6VJSW5bVmBxf1gMIUCaybPh/9QLaZJyL+yYf3WQJcQWTlGE+lMhoOBJGhbhPVb\\\\\\n\",\n       \"oo77Ofq/tvMs3o3R7J5WtWjfuVEGFtsIq/Kw6uAklmNtcc0114TMSgD2wJe85CXyh3/4h17dDofD\\\\\\n\",\n       \"4bh/4RZCxxRwAsvhWFPU2X5ilkEexFYdi+F6uoqBr+ZfrVTlYEANhxQTV8rfjGakE2mkg9HMgxjM\\\\\\n\",\n       \"25B25GFxLlZJXsWIKjsjnZ2ZjoO9b1xcDMHXZ8zMjBEUlgIIJBTNQqjnfuq+++QDO3bI7cvL0stz\\\\\\n\",\n       \"OaPdlpdu2SI/fNxxY5qWIUE2GEhT718rARWCLCStJJBbID5AapQKnuZcU/p5OrSPocosWaj7lJhS\\\\\\n\",\n       \"MsNaBPVyCHefJgML7Yq2tDZB28ZwyNnJFpuNgYjaB9G+VmUF+yiKHlcu54uL0itnHOQ2RbHh7dzO\\\\\\n\",\n       \"bCG0NkD++2WzVkqJvWlhHwRx2Sg//+Huu+Wj994rN5UzpD10dlYuP/lkuXhubtjWMOxpH2kizw0V\\\\\\n\",\n       \"qF5KtDtIKyzD+9npSGO+L61mJt2yDrVb6CHczohOi4Xt67Hx9z1GRLPVELURy7tiLaK9ZpWFEPs8\\\\\\n\",\n       \"O+tYhmZWur3f4XA4HEeajdDhqIMTWA7H/YbVqKmqzq/bx9cYV3/EFFgxcmu4LANJwMJYu2DVuiqZ\\\\\\n\",\n       \"ut1gJ7OWwCrbYGwWQpAZy3kuu7tdOXVmZmwYHjNPwi6I4fhclsmLtm6Vs9ptmUsS+Y+9e+VXb7tN\\\\\\n\",\n       \"7t7Wleapibz8xi3D+wk1pkwRK3BIlfPW7iflksXz5IkLjx5XKMFGGFgJnTGxCPm2hBHPQhhrB6vU\\\\\\n\",\n       \"QcZ4FayKCwXbYhZDzmnie9N7VlvdCvscK+6srU7rhvoAW0WnKdz+uekndiZBrYwN/aJVdf2+UpLG\\\\\\n\",\n       \"KXKKL+7fL0/ZvFkump+X2SSRP9m5U37mO9+Rf3rwg+W0ZjP0D7R1yFkr7z+ps0saRRbehzSoG7Ox\\\\\\n\",\n       \"duBit9l3cLznyiG87yChRvlg8eMcDofD4XA4HI71ASewHI5DwrQDxGSKdVuqrh/bt/J8JjZ4mdft\\\\\\n\",\n       \"tuGn0gmcPK6Fl2Pr5bac7GSWwBpEPpm84m0zWSafu/tu+dudO2XvYCCdwUBm01ROajblKccfLxdt\\\\\\n\",\n       \"2CDX3Hef/NWOHXLX8rK00lTOnZ2V1591ljx8YSEM7xtlqPsL2m35i/ld8vanbpdeU2SQ5vLKG7aO\\\\\\n\",\n       \"h4CXzxNIjVJ5c3X2GblSPi1z+z8u/zw3J09sPXL07FSSfl/SRBVYWZSUssQS6ly3qcDIklAK5GKN\\\\\\n\",\n       \"tXwkB8va1Lh9q4iy4TWSgSQakG6ep7KdKZk+L9e5DmNtagnL2PH6ub/fl/+7e7d8Zvdu2d3vSWeQ\\\\\\n\",\n       \"y/mttrx327bw7PuSRP5vpL3fcNZZcsUZZwzbWj9fc9pp8m/33Sef3rdPnn/cccPvAIGlbb2CoI31\\\\\\n\",\n       \"d6xzW4uSV9lYrpWtc/tOKUYEllVZ2fd4mvc+9ltR99syzX9nTnucw+FwOBwOx2FA7I/fg7mGY13D\\\\\\n\",\n       \"CSyH45CQHuRx084wVqfCSCuPT5J0bPAc9pQDblYCxRRYsJ1JjwbwbKUCwaPMi1GvIAuJSYqY4qrO\\\\\\n\",\n       \"Wrar05EP7dwpn9y9W5YHA3nQuefKmSeeKM1mU5aXl+W7t94qb7n5Zjm+1ZJ7Ox350ZNPlsdt3ixL\\\\\\n\",\n       \"/b5cv3+/dMsw8aG+Jc/l2n375M5TOoG8UvzmhdvD5+U3bB1q1vT7M1UXlbayq2evlStnvxSOOyBd\\\\\\n\",\n       \"uWbxO/LEDQ8bJzaoXtIslVZLs7DGZ6CzJFJsG6uvbJC7RZUttOra3Ka4N9gINYA+BPWDmLLEjVWc\\\\\\n\",\n       \"Ybm0ksaUVTbfyu63fWJnpxNIyk/de28gKS84ZYuct2FBmlkmT+qN/gh5386d8gd375IXnnyyXFa2\\\\\\n\",\n       \"9w3U3vxGaL9R6+iGLAv7YDdk4kyfUWclHFOfaZ/mbZF6yVTVVqrk6iZHYCIL759mYBXB/FXvdXqI\\\\\\n\",\n       \"+VccWc/XnGQVZEOuw+FwOBwOx/0Pn4XQMQ2cwHI4jnjEVBqcjwUTHeLMR1YlazWzSitrfxoSXPov\\\\\\n\",\n       \"CAbzrLyBOoWCrYf7NNC7JLBiMw7GSA1bbjxwQK6+5RbpNRry6Msuk4svvlg2bdq0okZuv/12+dQn\\\\\\n\",\n       \"Pyn3fOtb8pn77pMnHX+8bGm15MzZ2fCjBkXPT3zzm9LV4O4kkVd3T5O9X+/J75XklZJYWmOvIiWW\\\\\\n\",\n       \"zlCns9NdfeJ1cuUJ3xp+31XJ0+RVzSesCG9nEivJBisIo2kK/qNIqxHnA9MosGKzDNrCbc0Epoaa\\\\\\n\",\n       \"r7CD2hkH0d5mu9pFmajktp22/W84cEDefPPNMkhTefwF58j3nnOGbJ6bHT7v937rdpEDS2H5+nYW\\\\\\n\",\n       \"9EGfpfY+e3Z2aA9EcLvi/92+XU5sNuXRCwtj35fSvaVa4Xguyrla0a9JdabvRJJoiHuF9da8Y5xZ\\\\\\n\",\n       \"xkosvWQBvLecZWfJbQ9vdzgcDofD4XA48Jeyw+E4IlEV7D7JMrTSNshqEC4xa1nYp1SBkhtIGudi\\\\\\n\",\n       \"t2GwPxiEMHQ7CyDyjHh9ECk3LS7Kr910kyyceKK8/Gd/Vp7ylKdEySvFtm3b5AU/+qNy6qmnys2L\\\\\\n\",\n       \"i/IL110n/7Rzp+zp9YbXU4vZO847T/6/886Tnzn5ZPndO+6Q7/ninPz8108eXueqC7fL75y/Y0hw\\\\\\n\",\n       \"KGN09Zm3yZVnEnl14DK5YvC48edHoW2q9KoiCm172PpWxDKtYm1jFVe2vWPfN5oFz+xThsy2beTZ\\\\\\n\",\n       \"xvZhu8m+4ratamNW531ncVHe9J3vyHEbF+SXnvkEeeaFDx4jr1rdnhxXkld7Z5ryXy+7WE47blM4\\\\\\n\",\n       \"T9v7n01743v/ZMcO+dju3fKbZ54Z+oDtf6GZy+D+4XNRH67s5+W6XtFaBq01NPYOjmdg2ff24N91\\\\\\n\",\n       \"h8PhcDgcjnWBfI2KY13DCSyH47DgUAeaddk4dTk5dAblLFXl8VSVIYEVG9CD9OC8oJK80n2WvOB/\\\\\\n\",\n       \"TyyJgbKv35ffuOUW2XTCCfITL3mJzM/PT6yhNE3lZ37mZ+TZz362dETkL++6S37x+uvlzk6nUOQk\\\\\\n\",\n       \"iZzcbss5s7PyI1u2yJM2bZL379ghP3XDVvkFIrF+vSSx9P6uftB2ufLBtw33XbX7Yrli8eKVdQGP\\\\\\n\",\n       \"Puohz0OdqXItTUdEVlX+VCwjqYpQrG2nCWQJZzKNB4oX9zkksLhtmdRi8or25URWcttWrXNf0LZR\\\\\\n\",\n       \"4unqm2+WEzcuyH9/4mNkYaa9on237jkw7OF3bZwP9ruff9rj5Ece/fAQ8P8Xd90lP1+2N67/5zt3\\\\\\n\",\n       \"yp/t2CFvOfvskI9l74E/Q1+tI7H0WSMEbmjnGlKxiiBmcqvmrY0sr7Uay0kwh8PhcDgcRx6SwdoU\\\\\\n\",\n       \"x/qGE1gOx2F/xQ7Ha1YX4Fz9fTHroCVbwiAbg3eFVaPwQB/KKw1vJ/KKZ5Nj0ir2nyS67+P33htm\\\\\\n\",\n       \"HHzBC18o7fY4maE2ty137ZAzbrklfAbb2/B5ErnooovkWc9+tizq9iSRz91334rvBMHRKfOSlMS6\\\\\\n\",\n       \"nEisN124Xbb94DfkNaW9UHHVnQ+VK+75npUB5zbom+okEH8lQWjtZQpss21SN+vgpExKEFQMVmfZ\\\\\\n\",\n       \"exmSXoGkJFVVLMCc2573RYjKKgshtwHW/+3eewOJ9ZPf92hpN42TPc/l+H2Lcsbd9w037dg4P2zv\\\\\\n\",\n       \"S88+XZ5/ycNCeyfU3hru/qd33SW/cfbZcsHcXG3fG66jn1vFmX1+9nkqWWneo5hFs56sqlJXHS67\\\\\\n\",\n       \"YP3vgsPhcDgcDofDcTTAM7AcjqMaPBBGgHucELGqnRg030eJDRAxK9Q5o/CeFdYySxDESIPotjyX\\\\\\n\",\n       \"j9xzj1xwwQWyefPmsfvZdtt35VFf/KLMLS4Otx2YnZUvPupR8rlE5KabbpJzzz1XTjvtNJlptWRv\\\\\\n\",\n       \"pyOntNvy1zt2yHmzs3J6qxVIimv37pWP3Huv/FI5o51+98/csDX8ACLQfXdr9GxXffssuWLPeSIb\\\\\\n\",\n       \"Kmx1XMIFSzWTUVXZ+i/qeCV5OKr/8XVUO7df7LyY4oq/E9cefn9Q2ZGF0FoJ6yyFpL6qIobCvVdY\\\\\\n\",\n       \"9zRc/aP33CMPP+1k2TQ3M1ZHJ+3eJw+9Y5fMdkdtoee0uz255e575ca77pbzTz5Rzj7xOGk3skCC\\\\\\n\",\n       \"aXv/zY4d8ud33SWvPuMMOanVkl3drrREZEOayqYsq+2DK8jJsj2HbcvvwPAtC4lpKxvZtHesHyjB\\\\\\n\",\n       \"VVS5VVMeToLJZxh0OBwOh8NxhGMtLIBuIVz3cALL4Vg3GI2WrV1pOvsSkRywi4E94XW2mtF++29O\\\\\\n\",\n       \"zI4es5d9ff9+uWNpSf7LpZeuIK8e9+lPr7jH2cXFsH3Pwy6UT9xyi3z2s58NsxO2Wq0Q1n7+/HwI\\\\\\n\",\n       \"g3/37bfL3UpkpKmc0W7La844Q56xefPYPb78hq3y++fvlPuIvNrcyeSK72wTOZ7YI1sH/OzGepck\\\\\\n\",\n       \"I/YwRiCN1TMRTSCv+Cv5HCbArE3Nbq/7zmLF3HesnWPPWZI5UNtxmzJi69j29X375K7lZXn+g85a\\\\\\n\",\n       \"QV496pa7JAbdft/WjfLRXffIp751kyx3e9JqZNJIBvKQhQV53+23B2JMbaiMn9m6VV5+8snRWITo\\\\\\n\",\n       \"30j2uW0dlVZRbo86TLYOup3P4XA4HA6HI/xVpP8XfIgE1KGe7zjy4QSWw3HUY7J6Y5rB9lC5ZS2E\\\\\\n\",\n       \"AKmNhsuEmAoH2+0xfNxX9u6VjQsLcuaZZ47uZTAIyis8nX1aPe8pN3xL5p761CE7sGfPHvm7v/s7\\\\\\n\",\n       \"2be4KD+9dav8961bQ600aa63RgjhHl3zHQ8eJ6+gxHrjabfIq3a0imfVWemWl0X27xeZnS3Kzl0i\\\\\\n\",\n       \"Gjg+MyMyNyeimV3tmbC+tJxJd0kk74hkSyKNAyLtjkiiQV1LqiYqnHizy+Xkf3AllhPe9Y24y2KY\\\\\\n\",\n       \"aYUZD5vlZybSbIm0WoXKp9kUmZ0p11si2ZxIPiPSa4sstUWydl9kaUlkeUlk336RxQPF+oFFkX17\\\\\\n\",\n       \"RVT1pmXfvuLZDxwoynJH+hqePhiE7LEu2QbRPin948JzZOoj7V9akqcft1kuabcl2Xtg2Kcu/O7O\\\\\\n\",\n       \"2vZ+7L37Zenxjx629/b79spvfeRTgax8x0MeEr6vVX6PtvlM+Rnrg0ygrvBmxog9AHbCGqVdFfG4\\\\\\n\",\n       \"Ojuhw+FwOBwOh8PhsHACy+E4hsCh7ocME+xtB/vTqoA1wH1hYSHkGQEn7tw1Zhu00CNnlpflSZ/8\\\\\\n\",\n       \"1Nj2Z51+RrHQBZ1SjXc/5G75nYcVpIliYyeVPa2CNXrDQ74r9y0vy8u+eYIcCpRM2ShHDrpl2S8i\\\\\\n\",\n       \"9xzGf1S0jJsDR3jZxk0iWm4a5Y1Ngra32gqP378k9ywUMxVuLIPftf9Mg0rFlZ2Y4Eh6xxwOh8Ph\\\\\\n\",\n       \"cDiOFcT+8/BgruFY1/BUV4fjsMDGmB9OTP4OVvNEuKbpYKUkdsq1g0Q/11ndxq89u1RNXq0FAnl1\\\\\\n\",\n       \"0Yi8+sUvb5HP/vX54RPQ/Xqc48iBZmEBOiuhlBlq0yLaS2N+TN6+Slg+t0pJN4LVLB4O2KkVHA6H\\\\\\n\",\n       \"w+FwOI5MC+GhFsf6hiuwHI5Dgv5KJoewfy2RV/4HRizSKHqFfEKIFm+vWB6PlB9HbN9ClsmiUVst\\\\\\n\",\n       \"zhQqm0m46awz5YDa90Rdfsvy2c9+Th67ebNsa7eGxqyM5oLU5f99wS753YePyKtf+upW+dkbTgyq\\\\\\n\",\n       \"mf91wxaZy1L59YfdNSSx5jdvklfe89DCIqh+PC3Bm9cerasaqNmSvNmU5W4arIHBHtgNjrvhBH7q\\\\\\n\",\n       \"RtRPntSP89KxXOHSXJGXZUPd1TqIWfD0E3ZCLW1dbhbWQi3t5kCScKMdkaVlkY6WbvG5uFTcrBa1\\\\\\n\",\n       \"FWr7dLFvUQalhZBnG+Sit459PEOhfn5p717Z3u/JYykDa7bTldPu3TexvZdpxsIDeq8iMm9mLKh6\\\\\\n\",\n       \"22wEWLEQCRGLVTYfr6DIsBjYbVv/zt2ff2VN+i7/i8/hcDgcDofDcWTDCSyH45CA2cgeKL+QVVbk\\\\\\n\",\n       \"0fiqaTA8TwfcSSIJiAE7fSFPcwgCIEmGtcAlnE41ZItuP2d2Vv7xtttk586dsmVLoYDateXEMNug\\\\\\n\",\n       \"BrbHalaf9MDcrHzh0kslLwmIL3zhC/Lhe+6WC7ZukWajMbSyaS4Slj94/g5514U7htd59ddPllfe\\\\\\n\",\n       \"uFWUF1HLm9Jmb7z5NFmYnZUrH3RzOOb/OetGmd+2Ta6Y/16RhQWRDRtEjjuu+NR1nTlRl+fnJZ9f\\\\\\n\",\n       \"kD37Etm/P5F8UeTAnlG0lBaNk9I4LeWClBPCMpNbPCEeE1loAsxgGHKviKQKpFS7iOjCst6exnRp\\\\\\n\",\n       \"SedFZjaIKDc4P5/LxoVckv1lvtWePSL33Vfc4N69IvfeW3zqum7fvXtsX//AARl0u6K04xJZE3V9\\\\\\n\",\n       \"UC4vl5+9snTKz29p9tgdd8ovP+LBsmVDQT7qg56wb1Fmuv3K9l5qZnLP/MiY+I3b7wqh/WfOzAz7\\\\\\n\",\n       \"EvoZ9zdsl4r+N1a5Cuv/4ykfdUbDcp+21cFAzysIrfx+VmrW4YH+fofD4XA4HMc8fBZCxxRwC6HD\\\\\\n\",\n       \"cVT+gsfmVasfiLKtCWofVv0UpJfOsVaUscE8iCoe3PO+LFtBHPC6JRe4PG7TJtnQbMo111wzeoo0\\\\\\n\",\n       \"lS8+6lHDJ7JPqPjSIx81JK90VrxrPv95edTGjXJisxm9j7940E5514Wj3KXLv36y/P9uKILex0i2\\\\\\n\",\n       \"NJUrbjtTrrrzocNjr2x+Ut6af3okdwKDBGKjLtG7giiM1T/UOkxAVuWI83X4Wtg/FViBZJ/Lyrto\\\\\\n\",\n       \"H/LKVtRdRdvz9ss2bQqqqc9+m2YMTBL5z1NPHGvf4fOXn2F/+b3a3p+58Ra5ZONGOb7ZHKrsqsgr\\\\\\n\",\n       \"u8zH2X48rBc8u9nH7weIRtQ7iqIuiD9uG6x6p2PHOBwOh8PhcKwvuIXQMQ2cwHI4psKhDhwHB5F7\\\\\\n\",\n       \"M66sii/XnG3y1WOFj8PyYKADdCI3rGeN12mQHyMvqkgNthI201SetnmzfOXLX5aOypBK3H76afLp\\\\\\n\",\n       \"xz1OFlVSRFDllW7X/cCtt94qO3btkv9y/PErSBV8XrB7VmZ6xTf/wtdPlv95w9boPQZyJsvkil0P\\\\\\n\",\n       \"kavuLUi0ubwpl2SnryR1qC6UTFNiw9Y3r8cmuJu0PHStTXFOXbuvuA8lYhJ6Di6WyDL7lOSL1R3b\\\\\\n\",\n       \"NWNtoJ+zaSpPOe44+cJNt0lHp2AscdfmBfnimScFpRVD13W77gdu3HG37Ni3X55+wgkrbKl1fVAi\\\\\\n\",\n       \"28dkbSxzi/X9pHg39B2x71rVsq37esTm75z+nY8T2IeirHLCzOFwOBwOh8Nx5MAthA7H1Jg2zyp2\\\\\\n\",\n       \"XJWuZDXfjcHp5HMxaOayOnWPGcRXkRuljy3B+mAgaZ5HiQMmOfrEnuunEhH/cPfd8g9///fyvB/+\\\\\\n\",\n       \"4aHCR0mqO7adGmYl1GB3zcZSeyGUVwrNz/rHv/97OW12Vh6msxlWKG4etWtB3vYfZ8sNmxflZ27c\\\\\\n\",\n       \"EiU5QMSBtLhi70XSbM/JJe1z5Imt88fVaLZOklQGeTI2oR3XPyunYvXPbRYL2weZpV+l+2zmeIzU\\\\\\n\",\n       \"skovfGr7DnKRLNa+rDqq2AeiL6G2rlI68X704GeccIL8n7vvlr++9mvyo5c+YtjeSlLdtWk+zDao\\\\\\n\",\n       \"ge2aeRVsg6Ru27/ckb++5mtyxuyMXDg/H7UIZhV9b8w6qPfP/Zn7tG1bWg51F1G6cf1blZxt2/KM\\\\\\n\",\n       \"imUx7/rB/FbUrVdtm+ZaDofD4XA4HIcJPguhYwo4geVwrCkGZug8LaoGqlVWI4yEEY+NUhwbsy5Z\\\\\\n\",\n       \"QsMuc7i4ZguNDd5jwUu8rqFLrVYgr9JeLxAIWgblZ6O8sz4RDDn9AJ3SasnPn3aa/PY3viGtdlt+\\\\\\n\",\n       \"4Ad+YDgzoZJVO0/aGq21/fv3y5994AOytGePvObcc6WRJMPv4+B2lEfvWpDH7SpIrtj+QGgg9bx8\\\\\\n\",\n       \"vld1LhGZ2zyeks71UdbRICmIDeRYMXGFdc64iu232+qgTYRj0Vyx9qy6dkGCJZLZZ0Gbxp6T9mkA\\\\\\n\",\n       \"fNbvD9sZpCSTSGjnnAgsbZtT22352dNPl7ffcqu0G5k855EXDmcV1Ie5ZyEe4r93aVne+6nPy/Jy\\\\\\n\",\n       \"R15L7Y02H7YjtS1vRwltr8+i/Vj7Lj8rQsUsqYV2zlPpm7pcjZVz/N3k2Ht+p6e1Bh/sDIaurHI4\\\\\\n\",\n       \"HA6Hw3FkYS1mEfRZCNc/nMByHMMYTrm3yn2H8n2gdOw21qdgfRJiA1oEuQ+CzUkLD7ItsWEH4NiX\\\\\\n\",\n       \"N9JiYK+Ddx7g8zR3mM6uJK8wwGdiqB+ZBRBkFmvKFN+3ebMsDgbyri99Se7etUu+7/GPl3PPPXeo\\\\\\n\",\n       \"zmF0u1352te+Jv/3k5+UweKivOass+S0dnv4Hfx9bGezJIbdn/Az2efjdSY2yvVc0kpS0BKGlszi\\\\\\n\",\n       \"/aySYxUWSCrdZ8kq7NNr6u3EiMrY94XWomcYe6aqZy+LElhpv7+irkFaoRfzfrxVuvwEbe9+X97z\\\\\\n\",\n       \"7Vvlrj375SkPOVfOO+lESSPtvdzryZduuUM+9p/fCjMgvvbss8fa2xJVWI7d21CxhWe1z2eJSvT/\\\\\\n\",\n       \"ss8HonKK9yjW5oOBvpt1WVfT2P34d4LX8zUityZ9d9U1PQTe4XA4HA6Hw3F44QSW4xjG4SCpJn1f\\\\\\n\",\n       \"sorBoc3AsTk49tjxUhBY4/Ylm8kTU+WEz0bpVcNAngmsKqWOqnLKbCQmDlgNY0kNnglO9z/t+OPl\\\\\\n\",\n       \"hGZT/mj7dvnABz4gx2/eLI+8+GI54YQTpNlsytLSknz3u9+Vr3zpS7Lc6chFGzfKT557blBw8Xel\\\\\\n\",\n       \"dcqbCKmB5RXPHHt2sk5yXaiZzqpxYnVtt1VlVIVWNbMQ8vaq82PfZ21suM9GZvKfqp6xoi6YqORl\\\\\\n\",\n       \"bnP0SCaw0AbPPOEE2dJqyR/feae8+1OflxPn5+TSc86QLRvmpJllstTtyc133yvX3HSbLPf6IaT/\\\\\\n\",\n       \"p848S7aq2s+0qZ0ggNvV5nMhrL/2+bh9aT0vSeE69Ry3iW2PlfbAqne+7t2P/V5U/abcn3DLocPh\\\\\\n\",\n       \"cDgcjkP4M+JQ/5TwP0XWPZzAcjiOSNhBKxQXGPiy3YiVFiNlhrU0VVkHu91CMaJFl5GRlKclKYXB\\\\\\n\",\n       \"O5QorFbhfUoqdDpBMdXL8zELoSUV+ClgLcSTPnLDBnnEwoJcd+CAfPjuu+WTH/+49Mh3pTMWPmPz\\\\\\n\",\n       \"ZvkvJ5wQiAy2q4G4ipFXlrBiu1m4BgKm+Jn4mS3BQcqcvNGQwSAL9Yf6jCtw4rlUsf2hPkxmGcRJ\\\\\\n\",\n       \"vI0VWNN+H+6z2cgkz/Jx66QlcWw7l+vaL9IyB8vWK9rUEljhGaiX62NeXLb39QcOyEfuvls++vXr\\\\\\n\",\n       \"Q/8BNjYa8szjTwjk5kklccVtXldiyrug0NL7ZnUZP3vF8+YgsPoFMWzfG7Qj2qyq/cffaft+o1Zi\\\\\\n\",\n       \"77z9XVgr+F96DofD4XA4Hni4hdAxDZzAcjjWBBhYTsq/ilkGq+yCk0LbLcEFyqAY9A4GKy1tGERb\\\\\\n\",\n       \"wortbjoRYKuVSp4lkiAPCAP5dhsHjAqv6/5uVxrLy8Nkn6YZmuNHxwZsg2wISV5JEgK6Hzo/L/08\\\\\\n\",\n       \"l/39frAXzmVZmMVOyaaq2e+alIEFO1mzXMY+fA6XlQHS+9cZD2dmxu1z+kx4dhAe9JlrKQPcuX5R\\\\\\n\",\n       \"tyCLqmyc1nLI+VeswAp1RV1Lt2vTwFLI9jWsg6xC8Ls2FVxz4V6VqEzSop31+fRkfsbAcjVH+5aX\\\\\\n\",\n       \"i3WtI7348rI09KIl4QR7KNqaNYdIh0vNttBuSSLfMz8fipJX+/p9WS7be15tqeWDs6ovRlpyu6a0\\\\\\n\",\n       \"De2PfWP9l/uuXWcyS9s5bUhvkIR6tFZBJrRixCG2jxNTeEtiCqvV/BZwjdvlKngOlsPhcDgcDofj\\\\\\n\",\n       \"6IITWA7HEQGbChUjtXh/XeBzcazm7SADyyqwmCyxSpJiOZFeXxU6ZWC7VSNVDfxLwiPrdCTL86EC\\\\\\n\",\n       \"KzNklh2uKyHBmeVsNVOySu9jE+23M9/F1FVVNkKQGNgXPpXx4WfRT34ufnZLbDSb0u8noc5AVnFB\\\\\\n\",\n       \"PY/X7zipZS1obD0D7MyDCHHnIHeQVZg0LwTyZ+PfPX5vSSDvUqtCKonIMSJP11Ev5UMo8ZWVDwhy\\\\\\n\",\n       \"Er0UdGqMuMRjgb5JuOcniRyn92Da2s4wGMu94vVmlQJPK4rJyRh5ZdWGJZHbK9vZtiUTWTbEn22F\\\\\\n\",\n       \"+k5WzwoYU1XWHVuXpeVwOBwOh8NxlEH/Tgp/Kx3iNRzrGk5gORwPCGKzjOGzbuBqS+ycYoDLeUh1\\\\\\n\",\n       \"M9/xwHuMyFICK6uwD1qVDqmvlNRIFhelMdB7yANJwcqcXo3eBIodkBp1w3ibeQTCyhJZY0RVhOxS\\\\\\n\",\n       \"+9zYjHSWyKizmJW2MlXlxEgMrmMboh5TYHFWFdsEVzx7MiKtrALLkpR6u1X3ENo7S0LeVNQ6abcx\\\\\\n\",\n       \"UVmqtdLlZRmoZXQwWJGH1YjQM5gr0yrwmMiKtXWsvavIK1becfsHsg5kZaydY+0+nMRACaxq4qrK\\\\\\n\",\n       \"rsu2woKQjFkCY+vT/A5UvUUOh8PhcDgcRxk8A8sxBZzAcjgecMshhu6x/XaZYZUa48lDxeA5H1OM\\\\\\n\",\n       \"qPVJCyuCOBOJVUP6OTvblFxnnNNBvdrGlpZGO3mgb/d1OpIuLUmz11uhEWsa9VRulDVssKojsGx4\\\\\\n\",\n       \"NxNT1kIWs5gNrWYgLvQZtCgRh088o1oL7fO226FupNmS3v5krH5Rj3bdWsqsMsqSH7U9qAwKVxJL\\\\\\n\",\n       \"PzGRIM9CyIosvQ8+BvfUaCSSt4tnS6CuOnBgROjos2vbgqTUZ4cfTpe1rbUuO50xQxyr67id0WYg\\\\\\n\",\n       \"uvicL5+4T67fvCg/fOOWqQgsbc8/e9BO+Z7ds/K9uxbGySpjIdQSiEq0M7c157rZfWodLPd1F1eq\\\\\\n\",\n       \"2PgdAqHFbT6yFeo7ySpKUHk27yr2ntf9Ftg8LSewHA6Hw+FwOBzrE05gORwHDdaRVO3H4DM7yOvH\\\\\\n\",\n       \"gp7tIDit2DeQfj+VbnekDgJBUhAXI4IFohpLugzmG5I2jOIKTAhykBT6BUpy4AuU1Oj3Q8B3o98f\\\\\\n\",\n       \"G1LnRFwkEVUOPwlzODy0h8EyNsMcE1i63DJkBtaDxQzKq7k5kfn5gqxBDhaWsc7bSqVO3mhKp5vI\\\\\\n\",\n       \"0nLx+Fx3MRLD7rOKHW4nEFSwESpRBdugHgPRFJ8PwgrHazPhe0Fa6X7cgy4XxyXSaihRWbIv+owc\\\\\\n\",\n       \"4qXPDmnY4uKo3csH1HbO+n1plts5CQ7tgnYfGOIKvfhLJ+6T1152kyw1csnTXH7shq1jba2wM03+\\\\\\n\",\n       \"yfk75P+9cLvM9BL5/f84Wy7btTCmvkIJxFaWFcHt+izc1lp0XYvNP6PPQdqIkpJVRCW3adHWlqzi\\\\\\n\",\n       \"d5g/bYj7anKtqn5HmCybdKzD4XA4HA7H/Y/w9+Mh/ilyf80t73jg4ASWw3HI5BVrTWJB7dCfWMJr\\\\\\n\",\n       \"pe1v3EQVsxXFZiYTQwX0hqY9tfCxjZDzmGyx+UydTiIdjUHKGtKwA3oolnBBEAMgPNptSUrPFAgs\\\\\\n\",\n       \"HoZzbQkRG0JDbatL46flTKSYjTCWeWVthCH3Su+T1VasMooFfbMKq9mUPGuuyL6qqlererMqrFge\\\\\\n\",\n       \"VozAQgYWtum5gBJSILJgK0Sou70nJVwKB6QSnLk0M32m/ugZOdQ9tqwXL/tBonZRtRAuLclAlyNt\\\\\\n\",\n       \"yMQV2wax/YbNi4G8Urznwu2hjV50w9YxqyG38/8uySuFnvfNzYvyBENgsRJLyavQ1mhbtDsH9HO7\\\\\\n\",\n       \"U5/vB/KqCG+PZ8attBXic2QfZJUkin2PYyQXvzX2N2EadZb9Pan6ztib5nA4HA6Hw3E/gf/wPZRr\\\\\\n\",\n       \"ONY1nMByOA4ZlsCSCsIqRlBV5d/YaGvojOwx9jxWdRRUgc25qhp0WzsbButZoxFm2gv2Mh3QQ9Kj\\\\\\n\",\n       \"g32wNiB94J8qyaygzOl0ArnBtWBri4kN5CghAL5KN8KEBlsQY8HeK4rOZKjsjbWToYDIsGHutE1t\\\\\\n\",\n       \"ZYOsId1x52Rl3dp65tkKmfjgzLIYoLBiYguAygrHIcQdBBaUd6zK0vWiCRuSSmkjxGyTnG+Gm1TF\\\\\\n\",\n       \"Em4WdaVtrQSWWkZLe6F9A7DM6izWBr3kxi0ySHP5/0pS6vdLEuvFJYnFhCWTV4pf+vrJ8j9u3DJs\\\\\\n\",\n       \"+xWzTWoFVLUzB7nb/drOrZYMkpH6qo6sjJGWo+wrJq+s9deSS3XbYsdUrVtL4iSSy+FwOBwOh8Ph\\\\\\n\",\n       \"OHIRm+rM4XBUIpZRsxpUDSCrjl1pC6wvPDjuBzWMHVCz5ckWtcGpQ2x5uThOl3vSkByDe7ZcYdna\\\\\\n\",\n       \"73R5YWFoy0rm56WRZYFMaJcWvnZN0f0zE45p0zHNchnntSquBfuglkyZG3Ofw6LPo8+BfbrOz14S\\\\\\n\",\n       \"IV1pynInWVFnuq7L1k4Yy8eyOUoglqYp3J6xa8bO0e16b3qPuFe996WlRJaXk9DWK+ySuow21jrh\\\\\\n\",\n       \"NudS1peq9VDPaPOqdsEnjvsfN2yVn/v6ycM3QMmsD5y/Y6zd//j8HfK7RF69+usnyytv2LqiD+FT\\\\\\n\",\n       \"+17sPoftHLMTls+da2m3Q71oPXH9sWU0Vs+WzNJ3cVxfyJbB2HrMFlz3WzHpd+b+/q1zOBwOh8Ph\\\\\\n\",\n       \"mB5qH1yLslq84x3vkLPOOktmZmbkMY95jHz+85+vPPbd7363PP7xj5fjjjsulKc97Wm1xzvWHq7A\\\\\\n\",\n       \"chzjYLtfbN/BOKqt8iqG2HcyScXR11ZNUUVe9ci2WGzLc83BGgT7kxaob6DEwYAcShwdfOs6Jl8r\\\\\\n\",\n       \"HFSJJJLKLIgMSIR0mSVDejKgX6LbVfmS54VCqtORZHl5LAsJ2VXWVFVllGRMshBieZh3VZIZyexs\\\\\\n\",\n       \"oTICScXEhT4TiA1WZxHhEUiNZku6y1kgfpjIwLIllLROQXDFyCYmo3gGQlgJFVqVWqzFEJ84Zlg/\\\\\\n\",\n       \"SfGdsB5CcaXHKKej98rLrVYiSbshWTsJVjtYQIc3hi/TutFPTIGIaRD1QqrE0u2NhjSXlsI19FHg\\\\\\n\",\n       \"ctQeOijbBMtYR1u//IatYf13SpLq9y7cHtb/+w1b5T3n75C3EXn1yyV5xaorbvdULaLaiTdsGBFT\\\\\\n\",\n       \"IN+YwEK7M1lZLi9302E7o4CgrGrb8cyzIrxd38X4OxvLveJ3PaawrHo7YqqrGFb71521IVocbD6X\\\\\\n\",\n       \"w+FwOBwOB/2Zcah/Tqzy/D//8z+Xyy+/XN71rncF8uptb3ubPOMZz5Drr79etm4t8lgZn/jEJ+SF\\\\\\n\",\n       \"L3yhXHbZZYHwevOb3yxPf/rT5Rvf+IZs27bNm/J+gBNYDkftL900ZNTBHG8HhFWqLDt4jWXXWIXG\\\\\\n\",\n       \"uBKrILGysYwlthSyUiRmIcRMda1WU1K1EvIshLCWIfhbUYa4D0mO0iunxEaqlkJdHgzGAtqZgLLD\\\\\\n\",\n       \"89hwnAPCeRZCthBiWyCvkiRkXimhEe4TnyAr+NNmYNk8LM1EyjPp9pKoyqoqwN1azmz927YBKUXu\\\\\\n\",\n       \"y2GVjvWUcibCkjcK10JWFohKBLcjxF2LnZWwCHXXds6KzDPOO9M6AZEFq6h+MR4MUyGWJGaiF9W2\\\\\\n\",\n       \"VmaHGDbkXvEMlKwZxKP+/0pS6rdKskrJrPeev1P2aMh8iSu+frL8fHmczTpLta0bjYKoBPHKKisu\\\\\\n\",\n       \"MSshrINZU7qdUcYZq6uqrIScb4Y2LsgrfjeZiJr2/Y79VsS2T/uX28GSWGtxLYfD4XA4HI4HHr/9\\\\\\n\",\n       \"278tL3vZy+Qnf/Inw7oSWf/0T/8k73vf++SKK65YcfwHPvCBsfX3vOc98td//dfysY99TF784hff\\\\\\n\",\n       \"b/d9LMMJLIfjAQMGsRl9Vh1XVWJ0D+uZClXWYJCtGHRDgcUz0unYHdugLNExfaORSn+mKUlTs7BK\\\\\\n\",\n       \"hiX4C4u8o+HoHeyKLrMkSI9R9ZNaCfftK+ZOVLXOBAWWfXqAM5HsLIQgrpjYUDIjhW3QqmxAblSR\\\\\\n\",\n       \"HERqqZ0sb7XDrINsE0SJbavKSoqRHxA8sQoLAJGFDCxsA9Gln5hVEAQWvgcCKa0C7IPSTpd1u67r\\\\\\n\",\n       \"ckMJrpKwUqJxSE5CgQWZGG4ACixq59DWIBW7XUl1pkJqY7QRm+dsz/65kpx6c0liMXn1GkNejbW1\\\\\\n\",\n       \"5pvBNoh2toorq7bjdi5JrbzZln7aGrOFQmnF7W2JLKuqK9oH7yL39Kp3uKpUwaq1HA6Hw+FwOI4+\\\\\\n\",\n       \"aHaulkO9hmLPnj1j29vtdiiMTqcj1157rVx55ZXDbfp3pNoCP/OZz0z1fQcOHJButyvHH3/8Id23\\\\\\n\",\n       \"Y3o4geVwHDSmtRhigAl9UW5evf5w1sDR8B7DfWhWQAfYzJye2Yf18YGxDrZhQYspb9hCqLwUSJCC\\\\\\n\",\n       \"vCqJjYbI/NycpM1yAyyDpU1wyKBg+jtd1gvoOi5WqlzSpSVJl5elsbQ0ZqKqsxDa2kYtWSvhkMhQ\\\\\\n\",\n       \"xZfeA6trQF5AdaPWMpAXuqwFpIcug+Qoc5P6jbZ0+w3Zvx/ZUcVnrIDMsplYTHpw6Dsrr0Bi2X/D\\\\\\n\",\n       \"4drjgHa2FHJT2MB3tiCi2cA7oX2HzagWwNZsEX4O4oovwG2r++E51XW0c9mpkk4nKLHCDIX9vgzy\\\\\\n\",\n       \"fEjlxGgbbvPLb9gq7zp/p9xH5NWmTiavvmHrsK3ZOjqmoGMbqLY5ty1ysGzWGWVkDRotWTwQb2e2\\\\\\n\",\n       \"ilZlnXFZ2aPx7tp3OUbh2nfeKrnwG8KIEWR1WK16y+EY4W9v+Jps3HB0Rqo+49SLHuhbcDgcDgcw\\\\\\n\",\n       \"zZ8sk1Cef/rpp49tfv3rXy9veMMbxrbt2rVL+v2+nHTSSWPbdf26666b6ut++Zd/WU499dRAejnu\\\\\\n\",\n       \"HziB5XCsGjajigkj/iMeg0GeeZD3sd2wap2va6kdbIspOnqUCNSXPO9Lv59Kt5uGAbVyDMpBgLSC\\\\\\n\",\n       \"zQyOMexDPlZBcGiGVip5kklTD9LBP2RCYGEAXaZcpOLXZkRyJLpc2vEyVej0+2GmwkwJDmMts7WJ\\\\\\n\",\n       \"GhUzC+FwOcsCcaWfCe4TD8ZKHLaWWZuZUebks7MFeZVnIbgdQd4gqlBiBJVVtMXsaBCysfqqisAC\\\\\\n\",\n       \"h8TcEogncIUA1sE3gl+E6orJSS3FOcXzSUs7QVsas6WsKDRCaRsEwwnWDRcGiQkpmN4z7IjaLpqD\\\\\\n\",\n       \"psqufl8aZVvb9Cdu6985f8cYeaXQ9befv0N+WUksbWPtT/qp38GzR4KoxLISU0xoVVkKWy3p5g3p\\\\\\n\",\n       \"LKdjhBW3ry2svuO21fy5wj5oVZFM29mZCasy7upshvY3w/7W2GOBGEW8FgEUDofD4XA4HA8cbrvt\\\\\\n\",\n       \"Ntm4ceNw3aqv1gJXX321fPCDHwy5WJqH5bh/4ASWw7Fm2VZMQjF5Nen4quWYLqXqGAySmegaX+/3\\\\\\n\",\n       \"kxVZTGx/sgHjygeAeBmRW4mkrVSyYCVsF0HfMQILuUggOcKvTcmSsGJHSY2S1ck1Gwsx9Hke8rL0\\\\\\n\",\n       \"E0/LQK2GXK2SKAmKqyQpyDHObwKBpf9wxYK6OQPLWgfLmeikPSN9aUi3l64gLGKWQSir7EyD1mrG\\\\\\n\",\n       \"yiuQWCga/B2D5lSBrNLj9HFBWoGcYgUWuCUo7qqUeCOiEnbCTFLd39Z66BSSbNhFQUrixsGUIZCL\\\\\\n\",\n       \"0+TR7to2SjSpnbDsH6rG0qIYmPb+rfN3yBspsH1zJ5PdJZn1ugu3S5YmcuXNp4/a22aXMYFlZ5Ks\\\\\\n\",\n       \"sIoGi2izJb1+OkZUWutg1UySNu+saEN+H6tmHqzKuppkKbRkU91/W046t+48h8PhcDgcjqPHQqjk\\\\\\n\",\n       \"FRNYMZx44okhduKuu+4a267rJ588mhU7ht/6rd8KBNa//uu/ysMf/vBDumfH6uAElsOxJuSVPV5W\\\\\\n\",\n       \"EeYONRUPdmPn8sAXFkObJAQ9Eq8rsdQLBJaud8pQag7zhmAGXIAuIxMLBAg4oTRtSEODvufmJIea\\\\\\n\",\n       \"yoYwgVmBzEc/MYUbpscDg1IGbwWrGcLfERhekl9hqE3/oAXSCkwM3yCYNg4hR1C3rtPscqFYVQ7W\\\\\\n\",\n       \"SwthIK9mZmTQnpXFvSPVlVoIeVa6AwdGRIfuB8GF/bHZB+MKrJzyr2IEQzImeFIyC4QXmiH0FBK9\\\\\\n\",\n       \"WUKLj0dTQXEHgGcczGTS2DAjaa9XtDUugM6CC6OduRPhomBBtS3Khw4ElrZ3rxcKy85UiXf1eXcF\\\\\\n\",\n       \"kgq46hsnyxU3nCRXP3inXPnQO8K21zz0TklnZ+WKu84ftTUHsdu25XaHXRBWUWrrftaW5eVx8orb\\\\\\n\",\n       \"GsUqs1YSWzr7INSQnH9lFVkxQou3V/1msHpqNflXB/OHoZNYDofD4XA4DjPWQgS+ivNbrZZcfPHF\\\\\\n\",\n       \"IYD9Oc95Ttg2GAzC+ite8YrK837zN39Tfv3Xf10+8pGPyCWXXHKIN+xYLZzAcjgCmPw5HOB8K8SW\\\\\\n\",\n       \"Y948MSHubFFkFRUTU0OtkhnQYl+PEoK6Qzthnit51QgDb3APOtaHgge8z/AHovyFgGUN/IWeu6B5\\\\\\n\",\n       \"WElWBGZDZQXigv2I8CeCXEBiOAKieNQPAstOx6e2M1ulIEzA5kDpAzLDElggNqDIQv4R9tucpPn5\\\\\\n\",\n       \"wjqYtWVxf0FagbTQgnXOvOJ8JLYZ2nykWAZWUa+wnKHPxFCQWINBGmaXhBKLZytE29IkkAF8rOUd\\\\\\n\",\n       \"FThO96H61VI4OzMvWbMxnF1wWLfMdCITC6Qk6hiVofVaz96Fa7/51O/Ir5w7Iq9+49tnyxV3ny1y\\\\\\n\",\n       \"YiJX7D5J5NYFufKMG8K+K8/+jsjCBrli7yOK72ULIc8yaMP7kYUGQlMzr1ozMmi0Zd/+gpAEUYl2\\\\\\n\",\n       \"3revKNwHYqRWodZSIpItg/oO8rolr6yaMmYfjOVj4feCEZvl8HAB3+NwOBwOh8Nx9OHyyy+Xl7zk\\\\\\n\",\n       \"JYGIuvTSS+Vtb3ub7N+/fzgroc4suG3bNrnqqqvC+pvf/GZ53eteJ3/6p38qZ511lmzfXvzNurCw\\\\\\n\",\n       \"EIrj8MMJLIdjTVBlHcSg1GZjxbKuquxDHAIfG+hy2LstIMCKwa/+rwI4A+UdwCWAY4JYBmQV7IOW\\\\\\n\",\n       \"3FLrnmZizejsfu0ZSebKKfQAqHRY/oMvgWdNvwyfzOiAOUEQlM5WyOwMALUXE1hQAoHAgoWMFVhQ\\\\\\n\",\n       \"4UCZg+Bvyr3Ky8+eNENuGCtuUOzMg7Gg9tisg9g+yklSskOLTYSqg5KRsNyl0uuprbDMnCqdmyxS\\\\\\n\",\n       \"02XcA4BgfwjioNayaqyCk0ylmTalOVu0bfgm2EM5vB/trBXEbQ1ykb147LUrCayrt14vV5560/C7\\\\\\n\",\n       \"r/ruBXLFvQ8SWSgfJE0LsmrHjFy59avhmCu3fCW01RW97y3aEu1uZxZkBRYTWqokVIto0pDlTjok\\\\\\n\",\n       \"r2x4O3NvNsuM+Th8jmdfVU1RELMWxuzBsQysqt8O3jd8IU3/sddxOBwOh8PheIDBMxEdyjVWgRe8\\\\\\n\",\n       \"4AWyc+fOQEopGXXRRRfJhz/84WGw+6233hpmJgTe+c53htkLn//8508MiXccHjiB5XAcMiwhVRXc\\\\\\n\",\n       \"HjvPfvIyB7UzQWX3pWYGwpWzEPL+Xi8Pg2xV1tgQd0tksL1QB/OszgrExnxTkkYq2exc+AdDA7VX\\\\\\n\",\n       \"SLYUTGRAnYUvZqYHTABnLXFKOcDsDLMuILFQoARCAUmly7CSsa1Myaug0pmTfmNGOstJlLxiEiuW\\\\\\n\",\n       \"hRXLR7LCo2JbQV6N2seSllXpX+hzSko2ghqr4PiS6KSQClQ9qo9npuQQd7gAx9pZhVdtJSszyWYL\\\\\\n\",\n       \"4kxJzKHsi7+I2xphW9wusdCofl/euuHrcuWJ3xx+71U7Hi5X7HuoyAbDxjUackXnUpG9s3Llhs+F\\\\\\n\",\n       \"Y69c+Kw0+wvyqvaTxrPPeFZCZGJRUP+wrZst6XayMcIKbWyJSS5WSVc8Ul4q2WIWQVZT2UD32GfV\\\\\\n\",\n       \"vtjvRZ3uvu63JtbPHA6Hw+FwOO5fJBqleoh/khzM+WoXrLIMakA74+abbz7YW3OsEZzAcjgOCjFl\\\\\\n\",\n       \"VeyY1WRhcZ4NrltFYmGZyQ59nZkM4bn6mNzqyPJyc6jYAc/AYqZw1+U6z3CnBcIo2MxmZlKZn5uT\\\\\\n\",\n       \"DAHqTFIpA6CfKmuxVjK2EMYILLYQhqoYrAwJx01h6kQO69L7sAQWz06n6yr1xTJykVptGbTasn/f\\\\\\n\",\n       \"SIGzd+8o5wp2MpAbsJnh8aDWwePhEbFvpMhSIojtXnYmOtsvEtOmsJEWhOVgkEin0xhm5MMOOMrU\\\\\\n\",\n       \"Groxhzla4AlRxQiVV3D1Y/JBXV9YmC3+J4qnq9Q2xZSVSg5hWeuWmT3dHmvnTkcuSc+UufwrciDp\\\\\\n\",\n       \"yVX7vleuyB8pcnyyskOW5YrGU1WwLVfKx2ROmnLJwvkiC8eNE1jctqy8K/OxgvKqOTuWacZWUbaJ\\\\\\n\",\n       \"WstoVSZWp6OV2aXsq56xEvYqrIFV9sFYn4j1j9X8xlTB7YAOh8PhcDgcjiMXTmA5HFNhNWRU3TVs\\\\\\n\",\n       \"0Lq1FlaRV2KC3nE+Zv6z6z2Tt0UzBEoWspPUdtbtFoHuyidYAovJLRbaQBSl2wsypqiT2XZbGrOZ\\\\\\n\",\n       \"ZMimAmEENU4kzHsYEMUEFlkHh8sxBZa1DxK5MTYLIRcQGExglblJIe+qMSPdPJPlvckYkaHkla6D\\\\\\n\",\n       \"hILNjEkqq86xBBYrslR1VZBXIDOshWw1BBby09RWqNWYBXISpCMmDwRQndyWUNmhunEeyCxYEAur\\\\\\n\",\n       \"oki71ZSmBvmj7vGw8CPCwsleSytRY6torydPHGyWf+4vyDVyh7yq/RgRzHbMfki0d7l8ResHpdnd\\\\\\n\",\n       \"IJe0z5Ynzn9PQVrxjIQ2vB920vl56Tfb0pOGLB5IhoQkE1UgsNDu6AcxK+lIUIbg9n5JVoGw6tdk\\\\\\n\",\n       \"YOF3gYkttgxy5pXNvrIqKkuEHQlpqg6Hw+FwOBxHpoXQcfTBCSyHY2qSiq2Ck/bbY2PZWPi06quY\\\\\\n\",\n       \"NQj7UGIB7kx42YwszsLSgbLaznTA3RizCcLlZWcoDD8WjWLwDhGUDQFP00wGmIBuTorAbw5aZ68i\\\\\\n\",\n       \"iAwslyTGGLFBwd5D1qXKQsgEVsxGCEILBJYJ+s5bLelnLekMspCDZGcWtLPRce4VxzpVzUgHxVXh\\\\\\n\",\n       \"ikTeVWwmOks+VBFYUP9x/ykmBSjIqoLgKpR1xTns6ESToBqRe4Z9aDYFqpWVeHmeSd7SA9uSzZbK\\\\\\n\",\n       \"Oz0B8i/uRKh7EFtsHyQCS2/8iYML5YmDh8bbmglLuvarGs8efSfaFm0NohIWUSUqg+qqICq7vWxF\\\\\\n\",\n       \"3pVtZ6zHLKJcikewJFVVxlVMcRXLvbL9IGYnnJSFFfudqttfdWxsn/+R6HA4HA6HY22QaITuIf7/\\\\\\n\",\n       \"26Ge7zjy4QSWw7EmKiubfQVCAbBqK3su749lXNmBKxRWUGNhkAySg8krEFdQ7RTqkH6/GciUQmWV\\\\\\n\",\n       \"DIkLzkLSAX24+1KVw7FHIDxAaCna7UxkNpV0XsmjIrQ7YTshiAaM+qHGUhID5BWIDZ4+TwE5kMIy\\\\\\n\",\n       \"MSBMYG3j4PCYAqvZlDyodIqcpEHWlE43lQNmlkEQUrFQb97HeVg2M6kgNwryqtvlPLJYBlKMnGDY\\\\\\n\",\n       \"jDPuG6NzBoMs5GIVoZOFvRBCJnBD4P4Azs6ybQvrqBYotfr9VGSuKe2ZhqRa32lBKiUgqVDnqAyt\\\\\\n\",\n       \"b060x4yT3Pa4uVhbK2zSvLWsWssoKe5yfLZmgvJwcSkZWkC5bZW45CB3m4dlVXbFch4+i+B2q7iK\\\\\\n\",\n       \"EZVVBCbOj2VeVRFWVollMahZPxQCygksh8PhcDgcDsf9CyewHI5DAgikOtXWakkxHdBmhphgYgrX\\\\\\n\",\n       \"4324Fwz8+Z44K4nXC75gaam5goiyWUiIKwKnhHU7455yBjrgX1hIpNWalcZcW5pKHOhGZCPBNlhm\\\\\\n\",\n       \"H62wEFr7IIqFDXGPZWBZAguqq3BMW3qJKtASWSbCAoobJi6QkYTbZ3IL+8DTxDKwCsKHyYkYgcXL\\\\\\n\",\n       \"aM8YUtOOjbE25Xy25eWG9HrpmIIKRFT4hgHPmjcSSOE4nlVPmxHNNlKlJUXUVKslrbmmNHSlU3YI\\\\\\n\",\n       \"ZvmsdTCWdbaatubsMw7v53VkYClZqTNKpi3pDVLp7BPZV7afFraH6jNp3hluXbfrfrS7Wg3Rvpbc\\\\\\n\",\n       \"ynO2DHZMBhaX7hQKLaxLhUqLCL41IZucjHI4HA6Hw/EAwy2EjingBJbDcb9nYXGmlV22mViceQXS\\\\\\n\",\n       \"Cp+sqkomKLBsqHt3uKxKmm63yMuCSifsKa1lrMBilY5yBOzyUxRkR3GBIIZpptJvNKWpqqxWr1Dn\\\\\\n\",\n       \"IGGclThgyZjA4ovH/OxsI+T8K5AZEQJLrYJ5qy19yaTXT2VZyavlIgfMklQgJzj3ilVWTFqBxGNl\\\\\\n\",\n       \"TvE4monElkFW59jMI56FEP0kpsDiPmjz0aylUKuxyMfqdFSRNa7AQttCyMZZZyCxsI0mDBwTymne\\\\\\n\",\n       \"VmjKnhJZmTQaM5I1mpJCGcd+O253XIBnm7RWUW5rthAygQX1nVXeldbQQdqQ7iALz9/pjlRXTEDC\\\\\\n\",\n       \"LsqKOg5nt8o6JjhVVTfKvQJB1Y+EuFepsPg9t4HuVmU1KfNqrfKv3BrocDgcDofjfsZa/H+a/wmz\\\\\\n\",\n       \"7uEElsMR/eU8HDlYvI2/J5Z5ZXOuYrahmDqLLYWw3+l1sopMrJ7keRpIpyTJgxoJLi1ES9ksJAXs\\\\\\n\",\n       \"hiyYGVnLRsu9ViKDmYbk7YY0GlnIydIi/Z4kIDGYwGIrmZ2F0MKGe3MOFkiNMgcrEFdZUwaNhgzS\\\\\\n\",\n       \"pnR7SuiM1DRQ4jCJYa2BnH3FRJYVGY3ERnko4+RGzF4G9ZW1g+VTEFggIxvluUUOFp/LYexqFcXs\\\\\\n\",\n       \"k2wThD2UZ5vksH5YR7kpVpJbeu0s2EhzbeeWZnA1JGl2JYE6itV2lgmLhfXb9kb7snWUCaxGQ/Kw\\\\\\n\",\n       \"3pBBU8mrpvQ0lL873pZMRsIuyO1ps89i9tCRNZQD+assg3VWwlipeu/rsq9sn/H8K4fD4XA4HA7H\\\\\\n\",\n       \"+oITWA7HCoA8OtQsLHudSXZDvoZV1rBVkK/PVqKM1rGM7wOxgWvyrISJ9Psa/l3MMFeob3Tbylns\\\\\\n\",\n       \"eKY62AlRYClUHgGWM9jOdODfbDak1WrI7MKMpIOe5Bp4TSnnCS5iCawqVU7MVlaSGjmrsTSgXWde\\\\\\n\",\n       \"zFWFM05CsMvNElRqJWPFjSp18CxWnWWvicyrfp+JDVjH2CbWrVHS1AHkFZOgtn+Mq3n6/UawFKoi\\\\\\n\",\n       \"DLMJMpdkXZtsNWR+Eeucxw53Jtq/1Uql3W5Lq9WWrB1qf6TA6vcl4dyraeyiTFQygZWmJWFFCiyd\\\\\\n\",\n       \"TCBtFOQkzQDJ4exMXEKNZZV3sSB/PbY4Ly8JMZBX3YpZB9kqyoQlE1mW2GILoe0P0/YPqVFsxfat\\\\\\n\",\n       \"Bnwdh8PhcDgcjrVBkuehHOo1HOsbTmA5HIeMUeZQ/X47ixwGolBHMQGBa/FAkXOOQE7xeSClElL0\\\\\\n\",\n       \"ABwoD+D7C5Itz1WB1ZQsK2ayg7WMSQ4Fxxfpdh3cz88X65hojtUtiCKCs6/Ics8kSzNpNpvS2DAr\\\\\\n\",\n       \"qeR6ByM11jQKrFBNKwksJTT0an21tvUT6S4VFkGeFZCJKdj/WHHF5BbbC6uIL96ny2oZLAK9OxEi\\\\\\n\",\n       \"YzBlgHsdONessH+O+oP+rBe2wVFfKxRaBU+kiruiP9gqZs4QxBTaHjnsuo8z0vU4TPY4IrBGfFKz\\\\\\n\",\n       \"mZalIY1WLllStnUVgVX5yBEFlirrdOZFURtjIt3lgnjt9UdRa+ijWI+114iYGm9rEFhcRiSoklfc\\\\\\n\",\n       \"vh0isPAZK0xc8Tqrtfgd5YL2rMrFipFWk/qSk1EOh8PhcDiOAHgGlmMKOIHlcBwUprUS2swsaw+s\\\\\\n\",\n       \"OkaInLK2QTH2Qr6eDXLnfCUxBJeYfCwdkCfS6TRKQiMZcgVhjWajQ+A7uAcoszgQHCodkCFwe+n2\\\\\\n\",\n       \"ZrO4dqtVWBazNJdUS9KSNCueK22o8qqojzRS1YPgNkskOOKSVAZ5WvAf3SyQGf1BQWZw/BJnicdm\\\\\\n\",\n       \"DATJgWUbxs7HWSvhKPOK1TQx0oKXqwgKJjFs/xAK+UcbppE+xXZCXCcNNj9VYXU6xX4O72cOydpD\\\\\\n\",\n       \"tS2ZW0Q7g9AC0WmJLG3rwkFYtLm2daOhJ4qkSbNo52wgSbiP6rYOz6J9riTrBkkig67Otli0NdoX\\\\\\n\",\n       \"91HkU41IyyoCktuTM6+qraNqDVWCskphxeqrXkXWGautYrbAKjsh9xGpsQ1aEnSStZDh/3PpcDgc\\\\\\n\",\n       \"DofD4Tgy4QSWw7FqrDYHS8zx+ZTXEKOwiuVkceaVtZDlNGBmeyGrd2AvxHWLPCwlOUBYgeQAmcXE\\\\\\n\",\n       \"BsgMJjWwjqxuEFscg4Ss7VGEkeYl6cyFRdA4CsdcWeB74DCEegikFcg1kGpQ38SUWExSxQgsDm3H\\\\\\n\",\n       \"MhMjS0uFZVCtgystZExYYNnaxHjWOUs2MGkZy1dDxhn3KyYw0si+LAT3j/KximuhPpGHxe0MYgjn\\\\\\n\",\n       \"aLuhjtlKymSlqu94ksBCKJeUZFYxOyL6VUrCKguOx2KnoW1nbmu0jyWw7ASJTE7CQmj7BYirYhty\\\\\\n\",\n       \"zarUVZPavco2aAkr+87HgtyrfjvsMTFl1qRrOBwOh8PhcNyPWIuUAv8TZt3DCSyHIwoQQ+kqz6k7\\\\\\n\",\n       \"PkZmWRthzFKYUug6PpmMwLVZbQNlVV5BcDCpgfsY/YuhA/QDB5ohG4ttZlC5wEqm60pMYLDPVjLY\\\\\\n\",\n       \"BpUQUKsZE1YrYovIBYh94SlKEouXmVjhvKZpiA0tbC0DWWWJKRwHZZW1nRU5Vzg/D6VQ5GjpGOKi\\\\\\n\",\n       \"Q21rFTnWRjgtgcV2VJCTGfUdtC+OZUUXjtVnUDXWSImlz4RwfrYQ2nbXZT0O9YYMLLRtOQlgqKdx\\\\\\n\",\n       \"onI0eWAswgxEZayteZlz19jyaCc6RFui7dhOaNuWiUu7b6TEyo1NsEPLnH8VI7SYqIxtYzIzpsKq\\\\\\n\",\n       \"swxiWQ6zfXDa/C2Hw+FwOByO1cEzsBzTwAksh+OgwIO4mJIqn0Bu2YD3OuDYmIUQ6irO2ALJhftg\\\\\\n\",\n       \"9RUIra65lr1n/WlQxUkrrBUh7yO7GKuuoMTRostQXYHQ0lKEuI9sZZgwkJU5mNkQhIZV44DICnea\\\\\\n\",\n       \"j5MasfBxFP1uznGqspmxQgcqHd6HdVZlFWHtfSKvQGZYO5klMtB2VQQF2oPbhEP5Q41EbIPIwGLy\\\\\\n\",\n       \"A8QW2hwkV9HOmtWldsLBoLBeavuwoi7WtmhX1A+yzUBUagGxhXZWgguKKxQmsCa1ddEPR/cGAhXr\\\\\\n\",\n       \"IKtw32wXtZ+2bS05uVKVp+9CToSVzbyKtX3MOmpnn7SW0ioLIRNN+Sr/67JK1RU7d9L1HQ6Hw+Fw\\\\\\n\",\n       \"OByOBw5OYDkOC5aXl+Uxj3mMfOUrX5EvfelLctFFFx2lNV1n9Yvts/ZBXmaiIWYp5HW7z+ZcWWKL\\\\\\n\",\n       \"Q9+tpZAzrySyjz1b46oztRIWlsIiY4kthFDIgFSwNjOos7RgGaQBSI5y0sAhkQECiyaZGyMzqqxl\\\\\\n\",\n       \"TGTYGRLxnSCwqtRYIKViBBbnXIH06PU0FD2XwSA206AlraxljFU3McLC9gMGK/PQP3gZpGWMCONj\\\\\\n\",\n       \"Rn2sqC9tZyUqi/Yf2QvH29YqoEBuQbmFtrVtzctMXIG4rLKKjvri+CSVaGPcA9qYFWOcfWbzsLgt\\\\\\n\",\n       \"0baceTVSbmk7a+ZVPoVt0LYzq+wsUcVEU1U/sNbBWDtWWQ5t29s+Fetfk8gxh8PhcDgcjsOE8GfL\\\\\\n\",\n       \"If694X+urHs4geU4LHj1q18tp556aiCwjl4wGbCac2QC6SURIostizFCiq1+NsCdw9r5u21wvA1y\\\\\\n\",\n       \"ByxrMG5FVIuZEjWqwlKEgPSS2ABxAOULLIRQPuk6ZqrjLCTOwDKTyg1hVTnR2qxQYDGBZcksVmDB\\\\\\n\",\n       \"CsgZWVhmK9loXz5cLmYZHFRYx3o1Ie5MYlgbGPcRtv0xOLOMlVcgI0F4MOEZI0SAYl3D0IsZCot2\\\\\\n\",\n       \"LsigkbUQ6rmiD4zPRIm2BZmFtrSkFS9bBdYkshL3hL6nsJNW2gws27YxsjJmLywIrzwsF6H8bPtj\\\\\\n\",\n       \"C2G/grjEPmsRteSWJTGZkOL9o3YaP7bK0jfpr7dp7IUWhxpK4XA4HA6Hw1EDn4XQMQWcwHKsOf7P\\\\\\n\",\n       \"//k/8tGPflT++q//Oiyvb6yGsLK5WiAtmJDgHCTMLFd1DCuwAGtT5HtLK4gPHKvf0aR1FP2ZaASC\\\\\\n\",\n       \"YP/+xtAOpmQFSCrkXrFNEPlWShDANqgF+UdQX4GogiLLhrdPUmCBtApPlo+UOJyHBSKDSQ5LYFmV\\\\\\n\",\n       \"jrWg6XMUBMogknNVp8pBO7MaZ1BDYFm7GPchzj1De2K2QSZFmejEJ+4JllIUthwWsxQuLrak00lD\\\\\\n\",\n       \"m4C8wsyC+Iy1LbKxmJy07c5tj7a1GVgxcGA/E5doV7Qt2p7bfVLbgszi7LNC1ceEVWyZiSpYNG0/\\\\\\n\",\n       \"wDY7O6W1F1Yp8SSyP0ZeWcKzzo66onb9vywdDofD4XA4HEc8nMByrCnuuusuednLXiYf+tCHZG5u\\\\\\n\",\n       \"7hit3Umklj2GFVd1RBhbCVmZIZEMLFzL3kvPrDeM8sfOeDh+v2qj6vdTWVoq8rsajWQsTJvtelDm\\\\\\n\",\n       \"gPSA6krJAZBWTGbZXCSQWADUWLFgb/7k++HZ8ZjgwDITF2w5Y6KjWC5mnitUV6y+sSorEBwcyG3t\\\\\\n\",\n       \"ZFVERIy4kAhhxdu531jCis8DQcnEZcyONiJEB4NGmKlQs7EsUcRtC3uoVWAxQQkSi0lKtg1aspKX\\\\\\n\",\n       \"WXFlZyK0Qe5QZHHbc/tOUmOpwk5nlBwMYm3NyqsYWWn7Qh1hZVVZMfLKZlfFwMrM2HtbdY7r6x0O\\\\\\n\",\n       \"h8PhcBxhwP/1///bOw9gu6rqD6/3HiS00DskJER6CSUm0gaQSECGEUVgqKGIwtADSJXylyEoxdCk\\\\\\n\",\n       \"KWVABkREpUhv0rtDC0gJMEIoSgk4Q5J3z3/2ueyX9Vb2Pufc8t5t3zdzk1P32ees/e6953d/ax2p\\\\\\n\",\n       \"sQ1oaxCwoG44cWPfffeVgw46SMaOHSvTp08vXC/LvTxffPFFk0VFCztFt0kqSCPU2yeBab/eihKx\\\\\\n\",\n       \"eS+KaUeGrcvVlZFOmF2U3gkaZfeVSzcrp5k5fAqhrpPkHTy+/pUu3u7+98tCqWQ2fVDPa8eVduV4\\\\\\n\",\n       \"IcMWctdihl7mnTZ+2gsgft6lkbmXEzbC6WIx0UKnCGrRyu8jBWpg9b/u84oOeoxo8cq37WNpXVxa\\\\\\n\",\n       \"zNJjUI8jf03LsS7Xxiq//HV28dDpmvrphVrA0sKVFSp9+qgVsEKx1vOh1FEdX13M3aYU2lTRuU48\\\\\\n\",\n       \"J1K6WGvhMeSyisU7S9SKiVc2XTA2r19+LIQESLsuRFiczgbBCwAAAAYWnkIIRUDAglyOP/54+dWv\\\\\\n\",\n       \"fpW5zauvvpqmDc6cOVNOOOGEiq7qlClT5PTTT2/iSGgxoNo0Qi0yJObJgXZb65zRaYJ62q7TLoz5\\\\\\n\",\n       \"VPqhPo4XLnS/7LxPG/T4m/Mh/VINZ892Dp2eVGzwTyecPdu5svrXRbI1r7z7xrqwvKCRXslvBI2s\\\\\\n\",\n       \"GlheuPLTXtjQhb21M8wXcdfuLO+w6l/g3YkYXsxyTxj0woNPEQsV7C5azDvmuLKCRRG0e8+PTz2t\\\\\\n\",\n       \"Y+nHiR6HerxZB5Z2+80vc+a4FNLu1JE1N7Zd8xRq9ymEXqDS6YXaXacdWH65jnsML1j5uNtUUS1O\\\\\\n\",\n       \"6vpstibW3PRC93TBsljpxKt5hareQLqoFbGsUyv20tfVOvFiQmYlTj0fz/QvQv+l5IyjvPGm35MA\\\\\\n\",\n       \"AAAAABoHAhbkcvTRR6fOqixWXXVVuf/+++Xxxx+Xoa4gksK5sfbcc0+55pprgvs6wWvy5Mn9HFjD\\\\\\n\",\n       \"hw9vg8h4N1RXBdt2R25GrUtKpxB2BVw4/iZZO3Ik4trwaYc96i1BO4Z6VHHwId9Mz/mmXpZLL3M1\\\\\\n\",\n       \"k5yg1dXnrvLChZ+3ThzryLEOLF0PSbtytHih08nSMzRF3PW8LuhuXVY2/bG8nUshy3LYaPHC1jgK\\\\\\n\",\n       \"rcsTJ7x4omOThR5XPjZWwPLTPsa+1lW32kfH1o8XPw78q9y38hMpy/Hu7u7ui6u7nj5u7k/fx9aN\\\\\\n\",\n       \"Aed0iglYtu6VTRv1YpZ22+k4h4r3awErlEaohcu5qaWJJIktyF5S4lVMnPTuLB1n/cRBnUqq3Vel\\\\\\n\",\n       \"jDpoWWJWaFzEhKwQpA4CAABAE0MRdygAAhbksswyy6SvPC644AI544wz+ubff/99mThxotx4440y\\\\\\n\",\n       \"fvz46H5O8LKiV/OR57Iqsk0oddBj0w9j622qkK6D5MWmUPqgdlDMCaQQaqtTLH3R40WPuX0op5W5\\\\\\n\",\n       \"eknuqYVll87885fdWNqRFRKv9FMIdVqZLeDu5r1Y1XelAgKWTyfTKYUhAcu7rsrT5fQxJ1yVSk7Q\\\\\\n\",\n       \"CIlSXpCwKYQ65SzkvIoV4M5yX+U5XnTtKy9aaoefntZpozaWehvfhhZFtIur3E+XKuyfVuj/7+kp\\\\\\n\",\n       \"i5fu+vqYuusdevKgi6lOG7UCVr+zNDHXKaM6XdTPZ4lYc4UsF2svUvpaV7oAuxazQkX59bSNvRaz\\\\\\n\",\n       \"rFhlhSwtXmWlC9o4hd4fYvtkUTR1kPRBAAAAGAQQsKAACFhQN0aMGNFvfpFFFkn/Hz16tKy88sot\\\\\\n\",\n       \"fqWLClhF12vhyQpbOjUsqz2dQuj/984b69qy7cxRf/52XUzA0k4h7dQqiyWu6HfZkZXMk2rmi3n7\\\\\\n\",\n       \"tLKYE0cLWo68pxBaASvkvgrVwipv5/o514UzrxgRc1WFHFgx8SomYokRMnSaVpGULT2WdP0zWwPL\\\\\\n\",\n       \"L/dPHgwJIVbA0oJFb9Ct5dxYzolVdq519wmT7pp3d5fFLF3zLOS207GvNNZasIo573S6qE4NLdcz\\\\\\n\",\n       \"03HR4qROEbQiZig9NCtd0I6NPAde0bjH3JSeUh1FLAQsAAAAAGgeELAABhQtDuSlDeptvYiVKAFB\\\\\\n\",\n       \"T2eJU/b4otLYuo34pJ1UXpyyqWU9gXntNPEphWUBy6ehzZnjRKwe6eqar58TxxXMjjlxYmllMWw9\\\\\\n\",\n       \"pCxhQwtYc508XpDw5x4TK5KAiKXFCT+fmOnZgfQwK2CI+T8mTPhYdwXESj+GrJCpXVU+7VM/sbBX\\\\\\n\",\n       \"jQkdY7/OpxP6OPt5PSackNWVClqzZpVj7WOrUwdjQqWtexYdyQXSRePOO+eq00KS/j+U+tdbcF2S\\\\\\n\",\n       \"kzpqj6WFzCKiVm9gWiJiV1Y6YZ4wBgAAANBgcGBBARCwYMAYOXJkmm7UPiQF6lrV4tSKua9CzqpK\\\\\\n\",\n       \"BSw774UKv7+/cdaphPpm2buutLDhU8u8CKLFEJ+W2JPWF3LihnuCXfmJha7we1fUiVOLA0unlOkn\\\\\\n\",\n       \"1ZXrHJXT38ovm87lxQFd/8iKHFassCJVqO5V0fRBiQhYIboCqai9ASeWntbjyde58oKmj+X8qh0t\\\\\\n\",\n       \"VHpxUl8XL1R6Qaw87wRBl0La1eXSSV2R96502qcY6jpXlYqVIQdW3HlXvvZl4UrHxgqSNt0vVJxd\\\\\\n\",\n       \"xzLmwEoi46RUULzKc2UlOS6sea5W/EL2rc/aJpaqCAAAADBA2N/oq20D2hoELICK0Dd0lbzDenEq\\\\\\n\",\n       \"tH8ohTDkvLFpYvoG07/jlwLt63pYerlPK7PF47uU40bXWPLH9OKHn7eCiBc/+otdSeLqY5Xbc5pC\\\\\\n\",\n       \"V5cTN5yQVRaz3LHK4oaf7+/I0dNayNCvsmBR7le5VpN8878XMmxqV0jIirmsQi6tkBgxJ0ewii0L\\\\\\n\",\n       \"CVexceCnraBpYxWqi+Vj5AVJvY+NrR6PVhizMfciphMtnZhVFs66ulzsnUOrHFcXXx9rF3svaOkC\\\\\\n\",\n       \"7qFY62kfVx/rsnDlxcny/LyCUSiGMbEylhIY20+LoLEUwpB4ZeMfEq5CLz02rNAUmq8ExCsAAAAA\\\\\\n\",\n       \"aE4QsAAqphqXVWheT1sBKQmk+GkhQaeS2bpH/o7fu2n0Mn2M3kC7fp2+wbapZfrmWruubJqZF8f0\\\\\\n\",\n       \"dLk/zp0z1xXkz3FuDaZQOplLR7Pum1AqYTHBSLukQq6pkDPHOmtCAlio3bx+6H4nBX5CsmMly3mV\\\\\\n\",\n       \"JUDpa94TELp8/0L767RE7cLz8Z7r+ioLl/rJiF25sdYuPJcCmB9rMSJR6FrruITSQ60Amee80+v1\\\\\\n\",\n       \"GNBjSC+LOa7s35QVNPudvZpOIo4su1/evAXnFQAAAAw+XUmSvmptA9obBCyAQXNpWbeMBNaF0gT1\\\\\\n\",\n       \"DWV3JG3Mum5CffHteLFJO6+6A0KFrnnlRapSRLDyTqs5gfbni4gXoenyNSs7dny/vjlbaySb59ro\\\\\\n\",\n       \"ab9xSDDSAoFP/ysF5kN1rUIOGr1dloAVErOKCBChsVK+TnOFSF03LSYW2Wkdd58iqkVPH3dbV0sf\\\\\\n\",\n       \"b/5vztfO2xpcel6UaKljPXfMh2MtketUKni9Y3EKpQPGBC37vxbNQu2XKkwbtOKVFTlj5x4iJmbx\\\\\\n\",\n       \"xQ4AAACaEGpgQQEQsACqQgs9edvV8uRC67aSiECl12U5d/SNtBcR/LwWNqwo5B06XsTSy3ybXqjS\\\\\\n\",\n       \"opdNc4uJGlqw0/2w/9trZ6+BdaUUcUCFhCkrRBWpYRQSt2LiRBLprz4fO22vg75eWtTy/2e5r/y0\\\\\\n\",\n       \"j5N2X2lHlnfI+XU6pVSni+r5mHCml3lbVX/hsnisQ6JfnlgZSynUYlVsXcxtF3JYhZxgdvyExkdI\\\\\\n\",\n       \"bK5E2Kx1fZ4gBu3KxRdfLGeffbbMmDFDxowZIxdeeKGMGzeu0d0CAAAAmAcELICqKXLD2JWxrMj6\\\\\\n\",\n       \"kBhRxHFhRRItdni3lLa52HQzLVzZ89UuMC9YaBHC35RbV5DfNyZsaAHDCjXdBW62Q84ULVwUFbBC\\\\\\n\",\n       \"Dpos15Veb9sIHT8UH9t/fw4htNtOC5vWwWfj6vfRgpWOqxVltdCVRBx7WrTKEyd9TTUrWtUaaysW\\\\\\n\",\n       \"2dj6/WMCZCy2oe1C9a1C4lVseaUvG58scVMqXB8C8arTuPHGG2Xy5Mly6aWXyvjx42Xq1KkyceJE\\\\\\n\",\n       \"ee2112TZZZdtdPcAAKCTKLkiuUntbUBbg4AFMOhokUA7X7RopEUH7WDyN8daNPLtaLeTR6d9+Rtq\\\\\\n\",\n       \"nSqm3TRa9AilFHr3lRUuYvM6hbCI46o7Q8TIcuXo62oFLC1iSIbTJiRuxWpkhUQwW//IthlyW9l5\\\\\\n\",\n       \"PR7yxo9ErqGOj00p9LH22/gUUStCWQFSp45aB5ZPP9Sx1Y4sK1QNdKwlJ54hoSsr9c8KWkXHREjk\\\\\\n\",\n       \"zBLXQv3W5x4Spuy4Do0RgGzOO+88OfDAA2W//fZL552Qdfvtt8uVV14pxx9/PJcPAAAGD1IIoQAI\\\\\\n\",\n       \"WAA1oesBhfA3m3a9FqXsdlqE0kKWrXUkRggI9UVPe+FhthIvvEDh25qTIWj5NEErcmhxKyRU6RpJ\\\\\\n\",\n       \"IfeVBNw9HpteZq+9vdZW1NDTWQ4su84LUTFhKpaOFhKwdD9KGf0sIl5ZdHqpvoZ23i/T4qEfW6G0\\\\\\n\",\n       \"Tz0+/HY63dCmhBZJDw2JVtaBJcb1p2Prz0GfT+gahuKZNW1FqmpFzDmR8ZF3/Jh4FRM2Q+4sfZ1i\\\\\\n\",\n       \"zqussaWPBZ3CrFmz5Nlnn5UTTjihb1l3d7dMmDBBHn/88Yb2DQAAACAEAhZAzcREKrvebqP386KA\\\\\\n\",\n       \"vcm0Qpbdx7atb/S1g0uM08Y6qfx2+qmHdp1NA9Q33f74VrwQI4yEhA2bOhhaFruu1pmiX35ZTMDK\\\\\\n\",\n       \"cktJIF3M7q/TBkPHscvsOtt/LcQURYtBvj19nX2b9pp6QdJP+329g8pPa5ee/l+Pg6w0QRv3rFj7\\\\\\n\",\n       \"5bEK7iERJ7bMxtnHSTIELDsG/D76b8Duq9uMiWNZImneufhpew1C60MiVUzoil1X6CQ++eQT6e3t\\\\\\n\",\n       \"leWWW67fcjc/bdq0ebb/+uuv05fniy++GJR+AgBAp5DoR01X3wa0NQhYAAMuYPltYqlRIbdVnrhl\\\\\\n\",\n       \"0wt1epcWn6xAofex4omtreT/t+v0E+f0tiEnjm47Jl6FXFhZwlWIkGvFLw/NVyo2FBE99LGtOyi0\\\\\\n\",\n       \"LuQgs/M6biHBJ+Sc8QKUx15vu87HTvfNb+djp6dLGW66UKz1sey8dvkVxY7lmBAUip/fJ0tUsk+m\\\\\\n\",\n       \"DImWVuwKHSNLuNQx0+vsOeaJVLFpe72KXk+AOFOmTJHTTz+dSwQAAAMDKYRQAAQsgKbF3zDrm3sv\\\\\\n\",\n       \"LPhC7Fpo8Ot1imEohVC7b7TgoFO3/H5zIs6qmFgR29ZO677q44aEDJsKV2kKoV2eJUppR4117GS5\\\\\\n\",\n       \"aEKihu6jFS6sOGFFKN9miNC10GKQjW1IGLX1qfzxvAMqlhqoHXV+Oi/mUqFQGUohjLnT9DXSbjq9\\\\\\n\",\n       \"Tz1Fy1JO/Sx/jfPastvpsaDHdd4YAaiepZdeWnp6euTDDz/st9zNL7/88vNs71INXcF37cAaPnw4\\\\\\n\",\n       \"IQAAAIBBAwELoC74G8y8lDcJrLcOJ0/MjeWnvYiltwnVPPI3vl640sKTdsBowUanG+ppfZ49OQXB\\\\\\n\",\n       \"9U13litndkDU0BRJzbTLtAiQJSzkiU9+n1CaoBUgsoQtf3y7Xi+355HlqAldE5uKF0rD1GMqFF/t\\\\\\n\",\n       \"0tLx1LH210a7t/y2tqC7HWMeP27zzsOed2jextITE41iwqWNdVFBKxR72ye7ve2LBARPfZ4hp5Ve\\\\\\n\",\n       \"VqrCWWVdXtBpDBkyRDbeeGO57777ZKeddkqXlUqldP7QQw+dZ/uhQ4emLwAAgAGhVIfvJTyFsO1B\\\\\\n\",\n       \"wAKoGyHxKbadXW9dMrHUQTHrtGhmXVghEcuKYDa9cE7gKYi6H35a18Py63Tqmp7W/dWim+1zTMCq\\\\\\n\",\n       \"hDwBKyRAWSEhT7SIiVd2WcxhY+f1/7bPsXO0LizruPPX015fLzDp9b69JJJuqNeFUg61CKbHYpa7\\\\\\n\",\n       \"LibmVkJMJLRjICQo6XVZT420wpQVuvTx7Xiwx46NH9tvey6xdfY62GuDeAX5OEfVpEmTZOzYsTJu\\\\\\n\",\n       \"3DiZOnWqfPXVV31PJQQAABg0klL5VWsb0NYgYAHUlbwb85jIZfezIpe/IQ2JS7o97aTRN+zWQWOF\\\\\\n\",\n       \"LL0u5uDRApa9se7JcJXZmkwhoc2KYtWQVODK8VjxQgq4baTCdbrNUH9iAkQWoQ9nfQ31/n6ZdkfZ\\\\\\n\",\n       \"WFvRtDuyLstdFxKsdD91m6ExUCmlHAHLXmebEpq1roiAZeNpRVDfH93H0HiIiVT2HCQiXiUVildF\\\\\\n\",\n       \"t4FOYLfddpOPP/5YTjnlFJkxY4ZssMEGcuedd85T2B0AAACgGUDAAmgaocvfVHZnbKNrYlkhS9em\\\\\\n\",\n       \"koC7qjvQjr5B1o4sLXLoFDArVmgnjhYj9Lo5kXpIodQyP1+NqBESg0IiQcz94sUJvywmYuhjhcSQ\\\\\\n\",\n       \"WEpYnsji0X2LEbpGITHTL9dx8X3SMQnVvfLthGpb6bGhnzzoY61jnBVrfaxKCF2jmCCUJViFxKiQ\\\\\\n\",\n       \"I0sfsxrhMjZGslxYpRzRqZq0QYB5cemCoZRBAACAQYUi7lAABCyAuqOdKnnbSYF0wqyaWHp766jS\\\\\\n\",\n       \"+/k+aSHB99Gmn+lUs9CxbYqi7b91/Ojj6/V+nRcTbCqkPnZI0Iq5T2I3/iGBIOTG0vN+fUzcirm3\\\\\\n\",\n       \"Yq4aK7JlCQ6x5doBZ5fHBMlY/LS46fumXVe+Hd/3kAClscezIpZO7ewOLKs01nZ5SBy0Mclz4ulp\\\\\\n\",\n       \"K0jpcaCFTXucmHBq+xVyXYXOKbRNkWsUIub6AwAAAGgg1MCCAiBgAQwI/mYyz0lUiUAV2sdvFxMz\\\\\\n\",\n       \"rPhg27aikhW6eiMuK1uwW7drb6RD9bD8dEgACV2zmKgRWqaFiZDzSS8LOXFiIlfWNlnumVA9rqJi\\\\\\n\",\n       \"QizWoX2sm8mOLe3I09M69VSfp46Fd1bpdkMCmT+nkPvKxjupc6x1330/dExsHLLiGBIo7fiJCZi2\\\\\\n\",\n       \"XzFBs8gyqVLgilFU5AIAAAAAaD4QsAAGDC8KFBGxQi4sLyL4eStq6fV+nV9un05o99cpY76vITEp\\\\\\n\",\n       \"lHKmRSjt5PLt2/PWN8yhOld6W+3aqpTQjX3I7WLFhbxULyuIxNqJ1WLSfcpLCytyjlmE3Gt2Px8j\\\\\\n\",\n       \"H3MfVx1nvU+oYHslsbYphAMda99X/b+eDomOMedUyKmVlTIaE8b8tO2LXp4nyNn97HZ5hNoHAAAA\\\\\\n\",\n       \"aBJIIYQCIGABDChaJMjCCkx6/1Bhbuus0o4rm5ZnRSpdhFuLFFaQ8DfjWnTQbehjamFDIk+f0ylu\\\\\\n\",\n       \"RWsh5QkcMQEoK1WvSM0hXSdJchw3RYSTkGPGtlsLMSeTHgcSERJ7laCpx4AXVrXA6p8iGRMgQ/Wu\\\\\\n\",\n       \"bAwHOtZ+md0nyxUXc2Pp9kMCmJ4PHS/mCJMC6/T/tv9518RC2iAAAAA0OenXmhq/E2M0b3sQsAAG\\\\\\n\",\n       \"HH+DW8vT9UL1rrJSDv28PnZWqpF1YIWEL39ML3poN5a+kQ65yfzyWFpkKA0y1Fbo2oTIStXLEzWs\\\\\\n\",\n       \"WKW3CwlYRYQM2+d6ilih9NJYDCRSvN/308YkJEZ5F1IoNvbphX7ajv3YuVYT7yw3VpZjLiQe6X1D\\\\\\n\",\n       \"aYN6eWwMxMZZ7O8vNh8TPSsF8QoAAAAA2gMELIBBwd/MVptOmFcTKzG1prJqJpVynDD2hj/01EPt\\\\\\n\",\n       \"pgr1KyakxM5BH6ce5AlYUoEQVcm2MSEj1pcYeetjKadSQDTS4pOe1tvb5TbWNm0wNK3/zxNtaiEk\\\\\\n\",\n       \"EMbS9kKCZCjWfnlWnIsIVaExFxoPlpDAmbVNjFqEUQAAAIBBhBRCKAACFkDTpBNaAcKuSwKFtiUj\\\\\\n\",\n       \"bVCvD6Ui6ja6CziwJFIrqSuwXB9PF4L3dA+ygKUFCD9f1JElFTp6QttVIkDYvoaI1Z3SgpF9up+e\\\\\\n\",\n       \"DsU6FFc7diRQF81ua9u3ji+932DEWipM84zVzUoqrHNl98saEzGhqVSDMIXzCgAAAFqIkq0tWm0b\\\\\\n\",\n       \"0M4gYAE0HTH3kmSkIloXjE0b1EWzxaT/dUWeTqcJCRT6mKHldpluS8+HanzVinXJSGQ+JGqF9s1z\\\\\\n\",\n       \"WWU5vnT79RIZQh/OVrjUy/U+VkS1sdHbhcZgEhkDMSHUth9LF62WUAxisbexy1seaiskcEkBQStL\\\\\\n\",\n       \"vJI6i1cAAAAAAO0HAhbAoGNv+rO289iUwa6c7WIilBasQn3y+2khIyslTQsSWjyxApltR4t02ikU\\\\\\n\",\n       \"Ot8iZN3Qh8QJvc4KIFnbFHXRhI4V6mcRISOPIjG3oqgVqfLSSrULT8c9VqRft52VSmjPoShZ7jXd\\\\\\n\",\n       \"59D1tcJlEXGyyHio9H+7f9b5VTo2ELgAAACgxSCFEAqAgAUwqPgb1p4C2xVNJ7T7hFxRfn1I7NBi\\\\\\n\",\n       \"U5aQEVqn2+wKuL2yUtX8sWNUkmZWiVvFChJFayjZfUNCV6itIv0MbVsUfY3zUvWsoBUTq+w6O7b0\\\\\\n\",\n       \"OptOGHODxRxdsX7EyLqGeU642Hjw60L7hRxYIVEqL/ZZwmjWOcTaywL7PAAAALQYCFhQAAQsgIag\\\\\\n\",\n       \"n+KXhxUPPKFUL7ttEhAYkkiNI+2Qibm6/HxIAJkTWGbnbT0s3bfY+VVDLDWvVMV8lmBVVAgbyDQw\\\\\\n\",\n       \"eww9HmKphrF42H2tg0rXNQsVfs+KtRQQRxsZaytc5jn1iu4XK9JeRMzKWxfaFvEKAAAAANoTBCyA\\\\\\n\",\n       \"hhFzUsW2lYyaRHZdngBl53WKWCitzNY5ijmtbBqZP06eqBK7QS9ybYo6VkKCQZ5LJlYjK7Z9rD9Z\\\\\\n\",\n       \"AkQ9xCwbI9tezHkngScM6vVJTpt5sdZ117L20/3JohJ3UlJBrPOEp6y4FxU4qxGoKhkbCFcAAADQ\\\\\\n\",\n       \"wpTq8J04bQPaGQQsgIaR1Kkmlm0jtl1IgLA32LbIdqhuUaiQfFKwVpY+dpHaSHk35XkfUkUdMPp4\\\\\\n\",\n       \"RYSvrHZibWeJGfUQsGLjKeSsK1JI3bdjhU6pMNYe6/KzhMSuUJ/y1hV1N2UVU8+qnxVrN0/QivU/\\\\\\n\",\n       \"T3wrQj1EUAAAAIDGkSSl9FVrG9DeIGABNBydwpdHlthlU7789jEHTqigum8nJjr46VAKmW8/JHDF\\\\\\n\",\n       \"BC/fZqVFvIuQV28qy2Gj28gTniqtWVTtkwcrTSOMPd0x5oTrzhGUrGDlzz3LoRdqbyBinediyksf\\\\\\n\",\n       \"jG2X5coKbROLbSVCZ6jdLLLGIAAAAABA+4CABdAUeCGgHumENkUsJmDoG99QWmEo1csKbTr1MK/W\\\\\\n\",\n       \"UqzP9ml19SBWhD1rWUgEKCp05IlgecfPWp5HbBzEBCorYhYRLrP6FxK+Yv0KFYGvFX8+tca6HvWr\\\\\\n\",\n       \"YtfLilz1clMNhBgKAAAA0KAi7rWmALo2oK1BwAJoKmJ1pywxUcpuk1WAPUYoFVHvqwUye7Mdcnpl\\\\\\n\",\n       \"9dH2rR4iVp4AUGlh9UrEkdDyoumCA/2BmyVk2uWhuIYEzdC2kiFSaaFnMGKdF7t6CI4xAavIfGh5\\\\\\n\",\n       \"3jggXRAAAADakFR8QsCCbBCwAJqGkBBUZHsvIoTqYtm2YscIObdix8wTPmJFuvMcZkmNzpwsUaLW\\\\\\n\",\n       \"1K2iAoUUTOeqp1gVaqurQL96CohXWXXK8p50mHeNddvVUqrBoZQX06zxlJW2l9RRTKukHQAAAACA\\\\\\n\",\n       \"9gYBC6BtUgolImLFHE5FUsl6Mo4TSy+MCSqJSi8LUasjJ0tUCG0rdXJiFRFKBltwiDmoYql+sXRT\\\\\\n\",\n       \"vz4rHTFGVqx1O7UKWEWubVZsKkkH7a0wvtU6xGKQMggAAABtSqkk0lVjXU+KuLc9CFgATYu/uS6a\\\\\\n\",\n       \"WudvhmPb57msQo4tWxdJb6fJc13VIjJUSqVOlmpSAfPSzCo9l1qLcNcidIZEnGpjbZ9imUVW+uFA\\\\\\n\",\n       \"XLcibqzQfKVOqyL9qvS888YqAAAAQItDCiEUAAELoK3SCovuY7fJuzEOFfSupj9Z7Uudn6ZWVDSr\\\\\\n\",\n       \"pi5REcGq6LJ6EGu3q8p4VxvrSmusJS0Qa72skjGRdRzEKwAAAACASkHAAmh6Qs6oIvtoMSFWHytr\\\\\\n\",\n       \"XSzdMC+9sFJRqqhDq1IqEUjy0rzqVdeqUQJW1rZF6mXpVL9aYl3PJ01a6pE+WqSdoi6u2LpKxwDO\\\\\\n\",\n       \"KwAAAGh/klJJkhpTCBNSCNseBCyAlkDXjypaN6iIUBFLEyyyf2+GoOX3zxJWBsJ1VS8xq1IRI6s2\\\\\\n\",\n       \"ViOJpQZqsgSprHbyBE7d1kC4rhoRa9tuUWGzGtGq0WMHAAAAYBAhhRAKgIAF0HIkVT6xr4iTK5Zq\\\\\\n\",\n       \"lvUUOk9WXaS8Yw00IcGp0jSurPnQ8mrOr9J9KnU0+Zpqdv+iaX+VClZF2h4sisY8L/WzHq6+LBCu\\\\\\n\",\n       \"AAAAAABCIGABtBxJHetQFU0tDIlX9vi1CEL1Ti2rZzpfJcJHvVIWa603VVSkjG2b58pKKuxXs8S7\\\\\\n\",\n       \"aO2vauNTDwGzWQQ/AAAAgEGklIh0JXVwcUE7g4AF0LKUKkgnrKamVinDRRW70Q+5b4p8kPinFdaL\\\\\\n\",\n       \"aoWASkWoWj4ka/2ArUa8CrVhRcu8J1jmbVukDlY9Bayspws2ItbVxpW0QQAAAOhgUvGpRic6Albb\\\\\\n\",\n       \"g4AF0NKUMmpQVXJTnpfqV0Tk0Ntbugb55r2o06aS/art32C7aioRm4rsGxMW81xYWcdoxNMmm1XI\\\\\\n\",\n       \"tLXkAAAAAAAgBAIWQNuQ5ZgqQix9MGs7u32tjqR6OHPq5ZSpxUlTj3bqSTWiYmzfvFTCrNTGVon1\\\\\\n\",\n       \"QI0NvX8zjAsAAACA5iApJZLUmEKY4MBqe+qZswMADcXfFFeTUuX31amBebV+7D5F24+96kGR41Tb\\\\\\n\",\n       \"52qP2SxU28+BiPVgx7zSNvK2s/tU2t9SE44PAAAAgAaSlOrzqpCLL75YRo4cKQsssICMHz9ennrq\\\\\\n\",\n       \"qcztb7rpJllzzTXT7ddbbz254447ajhpqBQELIC2pNq6QFKlyFAKvKq9sa/lVc05x45bdN9mFawG\\\\\\n\",\n       \"qu8Dfd0HMt71jHU1+OMDAAAAQKO58cYbZfLkyXLqqafKc889J2PGjJGJEyfKRx99FNz+sccek913\\\\\\n\",\n       \"310OOOAAef7552WnnXZKXy+99NKg971TQcACaFv0zXo92qhUMMgTKAZL7KmnCFLL9Wh2BjLWgyXa\\\\\\n\",\n       \"JE0a63YcLwAAAAB1TiGsw6sSzjvvPDnwwANlv/32k7XXXlsuvfRSWWihheTKK68Mbn/++efLdttt\\\\\\n\",\n       \"J8cee6ystdZa8stf/lI22mgjueiii+p0FSAPBCyAtmWg0rbq1V4ySK9mONdqjjWYaXhF+yRtHO+B\\\\\\n\",\n       \"/jtpNYceAAAAQPumEM6aNUueffZZmTBhQt+y7u7udP7xxx8P7uOW6+0dzrEV2x7qD0Xcoenwxfd6\\\\\\n\",\n       \"e2c1uittSLUF3gervWZjMEWHUpP/DkGsKwPBqt74zwQKtDYHPg5ffNm6abFzktmN7gK0OF988UWj\\\\\\n\",\n       \"uwDQFH8D9fhsniOza/7anbYR+NscOnRo+tJ88skn0tvbK8stt1y/5W5+2rRpwfZnzJgR3N4th8EB\\\\\\n\",\n       \"AQuajv/85z/p/9OmXd3orgAAQBN+Riy22GKN7kbHM3PmzPQarLLR9Ba+Fm81ugPQ4vBeBDD3M6Ha\\\\\\n\",\n       \"v4chQ4bI8ssvL4/MqE8x9EUWWUSGDx/eb5mrcXXaaafVpX1oLAhY0HQsueSS6f/vvvtux34xcL8a\\\\\\n\",\n       \"uDfe9957TxZddFHpRLgGXAPGAn8Pms8//1xGjBjR9xkBjWXFFVdMP6OGDRsmXV31d+K2w2dAq58D\\\\\\n\",\n       \"/W88xIDr3+zjxzmvnHjlPhOqxT3N7+23305T+urVJ/u5ZN1XjqWXXlp6enrkww8/7LfczTtBLYRb\\\\\\n\",\n       \"Xsn2UH8QsKDpcLnHDideteIXvnrizp9rwDVgHPD3wHvCvJ8R0Pg4rLzyygN+nHZ4/2v1c6D/jYcY\\\\\\n\",\n       \"cP2befzUw3DgRCz3Gkyc82vjjTeW++67L32SoKNUKqXzhx56aHCfTTbZJF1/5JFH9i2755570uUw\\\\\\n\",\n       \"OCBgAQAAAAAAAEBHMXnyZJk0aZKMHTtWxo0bJ1OnTpWvvvoqfSqhY5999pGVVlpJpkyZks4fccQR\\\\\\n\",\n       \"suWWW8q5554rO+ywg9xwww3yzDPPyOWXX97gM+kcELAAAAAAAAAAoKPYbbfd5OOPP5ZTTjklLcS+\\\\\\n\",\n       \"wQYbyJ133tlXqN2VtNHO70033VSuv/56Ofnkk+XEE0+U1VZbTf7yl7/Iuuuu28Cz6CwQsKDpcDnK\\\\\\n\",\n       \"rtBeKFe5U+AacA0YB/w98J7A+2In0w6fg61+DvS/8RADrn8nj5/BwqULxlIGH3zwwXmW7bLLLukL\\\\\\n\",\n       \"GkNXwvOoAQAAAAAAAACgiaESKgAAAAAAAAAANDUIWAAAAAAAAAAA0NQgYAEAAAAAAAAAQFODgAUA\\\\\\n\",\n       \"AAAAAAAAAE0NAhY0PbfffruMHz9eFlxwQVliiSVkp512kk7k66+/Th/t2tXVJS+88IJ0CtOnT5cD\\\\\\n\",\n       \"DjhARo0alY6B0aNHp09UmTVrlrQ7F198sYwcOVIWWGCB9G/gqaeekk5hypQp8u1vf1uGDRsmyy67\\\\\\n\",\n       \"bPp3/9prr0knc9ZZZ6V//0ceeaR0Gv/+979lr732kqWWWip9H1hvvfXkmWeeaXS3YABp5fe/hx9+\\\\\\n\",\n       \"WHbccUdZccUV079Z94j1VqLV338vueQSWX/99WXRRRdNX5tsson8/e9/l1alFd/7TzvttLTP+rXm\\\\\\n\",\n       \"mmtKK9HKnzvuvdNef/c65JBDGt01gJpBwIKm5uabb5a9995b9ttvP/nnP/8pjz76qOyxxx7Sifz8\\\\\\n\",\n       \"5z9Pvwx3GtOmTZNSqSSXXXaZvPzyy/Kb3/xGLr30UjnxxBOlnbnxxhtl8uTJqVj33HPPyZgxY2Ti\\\\\\n\",\n       \"xIny0UcfSSfw0EMPpV+0nnjiCbnnnntk9uzZsu2228pXX30lncjTTz+d/g24m7JO49NPP5XNNttM\\\\\\n\",\n       \"5p9//vQm9JVXXpFzzz03/UED2pNWf/9z71Ouz06Ea0Va/f135ZVXTkWfZ599NhUcvvvd78oPfvCD\\\\\\n\",\n       \"9DtEq9HK7/3rrLOOfPDBB32vRx55RFqFVv/cceNGX3v3d+zYZZddGt01gNpJAJqU2bNnJyuttFLy\\\\\\n\",\n       \"u9/9Lul07rjjjmTNNddMXn755cT92T7//PNJJ/PrX/86GTVqVNLOjBs3LjnkkEP65nt7e5MVV1wx\\\\\\n\",\n       \"mTJlStKJfPTRR+nYf+ihh5JOY+bMmclqq62W3HPPPcmWW26ZHHHEEUkncdxxxyWbb755o7sBg0g7\\\\\\n\",\n       \"vf+5961bbrklaWXa4f13iSWWaLnvk6383n/qqacmY8aMSVqVdvvccWNn9OjRSalUanRXAGoGBxY0\\\\\\n\",\n       \"Le5XV2ff7e7ulg033FBWWGEF2X777eWll16STuLDDz+UAw88UK699lpZaKGFGt2dpuDzzz+XJZdc\\\\\\n\",\n       \"UtoVlx7pfjmeMGFC3zL3d+DmH3/8cenUmDvaOe4xnBNihx126DceOom//e1vMnbs2PSXY5fO5D4P\\\\\\n\",\n       \"rrjiikZ3CwYI3v+aj1Z+/+3t7ZUbbrghdY+5VMJWotXf+//1r3+lmQOrrrqq7LnnnvLuu+9Kq9BO\\\\\\n\",\n       \"nzvuPfW6666T/fffP00jBGh1ELCgaXnrrbf68uhPPvlkue2221Lr7lZbbSX//e9/pRNwP97uu+++\\\\\\n\",\n       \"ctBBB6UfpCDyxhtvyIUXXig/+9nP2vZyfPLJJ+mX7uWWW67fcjc/Y8YM6TRcCqmr/eHs/Ouuu650\\\\\\n\",\n       \"Eu7Gy4n5riZNJ38WuJo2q622mtx1111y8MEHy+GHHy7XXHNNo7sGAwDvf81Fq77/vvjii7LIIovI\\\\\\n\",\n       \"0KFD0+9Qt9xyi6y99trSKrT6e7+rW3f11VfLnXfemb5/v/3227LFFlvIzJkzpRVop88dV4Pvs88+\\\\\\n\",\n       \"S+8nANoBBCwYdI4//vhgYUH98nWPHCeddJLsvPPOsvHGG8tVV12Vrr/ppps64ho4ocZ92J9wwgnS\\\\\\n\",\n       \"bhS9BhrnyNtuu+3SX8ScKw06A/crtHNeui/0ncR7770nRxxxhPzhD39IC1l3Ku6zYKONNpIzzzwz\\\\\\n\",\n       \"/RX8pz/9afr372rhAcDA0qrvv2ussUb6wJsnn3wyFR8mTZqU1jFqBdrhvd9lTLjvaq52l6tfd8cd\\\\\\n\",\n       \"d6Qiyh//+EdpBdrpc+f3v/99Go9OrKML7cl8je4AdB5HH3107q8Azm7sig469C9m7pc0t66VbMi1\\\\\\n\",\n       \"XIP7778/TRlz561xbixnx27FX4IqvQae999/X7beemvZdNNN5fLLL5d2Zumll5aenp40fVTj5pdf\\\\\\n\",\n       \"fnnpJA499NDUfeme6uUK83YSLo3UFa12X6I9zpnnrsVFF12UPpnUjZN2x6WPW+fEWmutlT7kA9oP\\\\\\n\",\n       \"3v+ah1Z+/x0yZIh861vfSqfdD6CuqPX555+fFkRvdtrxvX/xxReX1VdfPXXRtwLt8rnzzjvvyL33\\\\\\n\",\n       \"3it//vOfG90VgLqBgAWDzjLLLJO+8nBfOJxw4x7dvPnmm6fL3JNwpk+fLqussop0wjW44IIL5Iwz\\\\\\n\",\n       \"zugn4rhfstwTmpw9uxOugXdeOfHKu/BcPah2xn3xdud63333pY8v978Gunl3Q9Ep6bOHHXZYmvbx\\\\\\n\",\n       \"4IMPyqhRo6TT2GabbdI0GI17Iqt7FPlxxx3Xcjcw1eJSl9zngOb1119v+c8BCMP7X+Npx/df9xnq\\\\\\n\",\n       \"hJ9WoB3f+7/88kt588030yeLtwLt8rnjvjO7Gl6ulhpAu4CABU3LoosumtYtcI/RHj58ePqhcfbZ\\\\\\n\",\n       \"Z3fUY2BHjBjRb97Vc3CMHj265X4NrRYnXrm6Zy7+55xzjnz88cd969rZjeQeIe9SHpzbbty4cTJ1\\\\\\n\",\n       \"6tS0CK37EtspaSvXX3+9/PWvf5Vhw4b11f5abLHFZMEFF5ROwJ23rTmz8MILy1JLLdVStWhq5aij\\\\\\n\",\n       \"jkqdly6VY9ddd5WnnnoqdWG2uxOzk2n19z93s66dJq7+j0tnc0XQ7ed6M9Lq77+u7IJLmXLX2pVh\\\\\\n\",\n       \"cOfihDhXy6gVaIf3/mOOOUZ23HHH9Lub+/HVfZd3wtvuu+8urUA7fO440dYJWO69dL75uOWHNqL2\\\\\\n\",\n       \"BxkCDByzZs1Kjj766GTZZZdNhg0blkyYMCF56aWXOvaSv/322+mjrJ9//vmkU7jqqqvScw692p0L\\\\\\n\",\n       \"L7wwGTFiRDJkyJD0sfJPPPFE0inEYu7GQyfTao9Srxe33nprsu666yZDhw5N1lxzzeTyyy9vdJdg\\\\\\n\",\n       \"gGnl978HHngg+P41adKkpBVo9fff/fffP1lllVXSsbPMMssk22yzTXL33XcnrUyrvffvtttuyQor\\\\\\n\",\n       \"rJDGYKWVVkrn33jjjaSVaPXPnbvuuiv9u33ttdca3RWAutLl/mm0iAYAAAAAAAAAABCjvQvJAAAA\\\\\\n\",\n       \"AAAAAABAy4OABQAAAAAAAAAATQ0CFgAAAAAAAAAANDUIWAAAAAAAAAAA0NQgYAEAAAAAAAAAQFOD\\\\\\n\",\n       \"gAUAAAAAAAAAAE0NAhYAAAAAAAAAADQ1CFgAAAAAANBWPPjgg9LV1SWfffZZo7sCAAB1AgELAKCJ\\\\\\n\",\n       \"+eCDD2SPPfaQ1VdfXbq7u+XII49sdJcAAACajq222qrfZ+Smm26afoYutthiDesTIhoAQH1BwAIA\\\\\\n\",\n       \"aGK+/vprWWaZZeTkk0+WMWPGNLo7AAAALcGQIUNk+eWXT11YAADQHiBgAQA0kI8//jj9gn3mmWf2\\\\\\n\",\n       \"LXvsscfSL9733XefjBw5Us4//3zZZ599GvorMgAAQLOy7777ykMPPZR+XjrByr2uvvrqfimEbn7x\\\\\\n\",\n       \"xReX2267TdZYYw1ZaKGF5Mc//rH873//k2uuuSb9vF1iiSXk8MMPl97e3n4/JB1zzDGy0korycIL\\\\\\n\",\n       \"Lyzjx49PnVWed955R3bcccd0X7d+nXXWkTvuuEOmT58uW2+9dbqNW+f64vrpKJVKMmXKFBk1apQs\\\\\\n\",\n       \"uOCC6Q9Uf/rTn+Zxbt1+++2y/vrrywILLCDf+c535KWXXhrEqwoA0HzM1+gOAAB0Ms5ddeWVV8pO\\\\\\n\",\n       \"O+0k2267bfqleu+995ZDDz1Uttlmm0Z3DwAAoOlxwtXrr78u6667rvzf//1fuuzll1+eZzsnVl1w\\\\\\n\",\n       \"wQVyww03yMyZM+VHP/qR/PCHP0yFLSc6vfXWW7LzzjvLZpttJrvttlu6j/s8fuWVV9J9VlxxRbnl\\\\\\n\",\n       \"lltku+22kxdffFFWW201OeSQQ2TWrFny8MMPpwKW23aRRRaR4cOHy80335y299prr8miiy6ailUO\\\\\\n\",\n       \"J15dd911cumll6ZtuH332muv9DvBlltu2dffY489Nj0390PXiSeemApl7jznn3/+Qbu2AADNBAIW\\\\\\n\",\n       \"AECD+f73vy8HHnig7LnnnjJ27Nj0C7D7cgsAAAD5OIeycy47V5UTexzTpk2bZ7vZs2fLJZdcIqNH\\\\\\n\",\n       \"j07nnQPr2muvlQ8//DAVndZee+3UNfXAAw+kAta7774rV111Vfq/E68czo115513psude9qtcyLV\\\\\\n\",\n       \"euutl65fddVV+4635JJLpv8vu+yyqUjmHV1uv3vvvVc22WSTvn0eeeQRueyyy/oJWKeeeqp873vf\\\\\\n\",\n       \"S6edS2zllVdOBbRdd92VYQEAHQkCFgBAE3DOOeekvxzfdNNN8uyzz8rQoUMb3SUAAIC2wglcXrxy\\\\\\n\",\n       \"LLfccmnqoBOv9LKPPvoonXYuK5dO6B6konEi1FJLLZVOu5TDgw8+WO6++26ZMGFCKma5tL8Yb7zx\\\\\\n\",\n       \"RuoE88KUx7m4Ntxww37LvMDlxTDn0n711VerPn8AgFYHAQsAoAl488035f3330/rYri6Gf6XXAAA\\\\\\n\",\n       \"AKgPNvXO1ZkKLXOfxY4vv/xSenp60h+W3P8aL3r95Cc/kYkTJ6b1qpyI5RzU5557rhx22GHBPrg2\\\\\\n\",\n       \"HW57V1dLw49XAADZIGABADQY96urq33h0hXcr6vuy7D71delHAAAAEA+LoVQF1+vB84R5dp0jqwt\\\\\\n\",\n       \"ttgiup2rd3XQQQelrxNOOEGuuOKKVMByfXLofrk0RSdUudRDnS4Y4oknnpARI0ak059++mla/2qt\\\\\\n\",\n       \"tdaq2/kBALQaCFgAAA3mpJNOks8//zwtLOt+0XWFZPfff//0SUmOF154oe9XW/fUQjfvvhS7L8EA\\\\\\n\",\n       \"AAAgaSrgk08+mbqY3Wepd1HVgksddPUp3ZOAnavKCVruc9g9JdilCe6www5y5JFHyvbbb59u60Qm\\\\\\n\",\n       \"Vz/Li0yrrLJK6uhyn+eu3qUr4j5s2LC0jtZRRx2V9nHzzTdPvwM8+uijaaH3SZMm9R3fFaR3qYou\\\\\\n\",\n       \"rdF9V1h66aXTh74AAHQq3Y3uAABAJ+MelT116tS0iKz74trd3Z1O/+Mf/0gLzTrcF2b3cikM119/\\\\\\n\",\n       \"fTrtvggDAABAGScKuTQ/9+OOe5qfczjVA1es3QlYRx99dOqSdgLS008/3eeMcu4q9yRCJ1q5pxM6\\\\\\n\",\n       \"Ieu3v/1tus6lCJ5++uly/PHHpyKUe6Kh45e//KX84he/SNMN/X4upXDUqFH9jn3WWWfJEUccIRtv\\\\\\n\",\n       \"vLHMmDFDbr311j5XFwBAJ9KVJEnS6E4AAAAAAABA+cct9zRE5+jyTy8EAAAcWAAAAAAAAAAA0OSQ\\\\\\n\",\n       \"QggAAAAAAAAAAE0NKYQAAAAAAAAAANDU4MACAAAAAAAAAICmBgELAAAAAAAAAACaGgQsAAAAAAAA\\\\\\n\",\n       \"AABoahCwAAAAAAAAAACgqUHAAgAAAAAAAACApgYBCwAAAAAAAAAAmhoELAAAAAAAAAAAaGoQsAAA\\\\\\n\",\n       \"AAAAAAAAoKlBwAIAAAAAAAAAgKYGAQsAAAAAAAAAAJoaBCwAAAAAAAAAAJBm5v8BgzZX1bI/Z30A\\\\\\n\",\n       \"AAAASUVORK5CYII=\\\\\\n\",\n       \"\\\"\\n\",\n       \"  frames[4] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQABAABJREFUeJzsnQeYJFXV/k9Vh5nZTNhlyUGQnARRQDGQVIwoJj4BEUyICPoX\\\\\\n\",\n       \"FxUEVEAU8RNFUMCEigh8KCiKKEEJIkhOkhfYZZe4cUJ31/95b/XpOX3m3urqmZ7d2Znz26d2Kodb\\\\\\n\",\n       \"t6qr3nrPuVGSJAkZhmEYhmEYhmEYhmEYxhglXtk7YBiGYRiGYRiGYRiGYRhZmIBlGIZhGIZhGIZh\\\\\\n\",\n       \"GIZhjGlMwDIMwzAMwzAMwzAMwzDGNCZgGYZhGIZhGIZhGIZhGGMaE7AMwzAMwzAMwzAMwzCMMY0J\\\\\\n\",\n       \"WIZhGIZhGIZhGIZhGMaYxgQswzAMwzAMwzAMwzAMY0xjApZhGIZhGIZhGIZhGIYxpjEByzAMwzAM\\\\\\n\",\n       \"wzAMwzAMwxjTmIBlGMaY441vfCMdcsghK3s3jBUIzjfO+3jlpz/9KUVRRI8//nhHy2yjjTbq2Pr0\\\\\\n\",\n       \"uqdMmUIrChxHnmt+NMpxrNzPRnps//3vf2mfffah6dOnu/X83//9H4118p53Y9W9l37ta19z9XFV\\\\\\n\",\n       \"hPf9ueeeo7HMVVddRTvssAN1d3e7/X3ppZdoPLIq3v8Nw+g8JmAZxgTnxhtvdA9po/XA88gjjzQe\\\\\\n\",\n       \"qv7973+vUvu+InnmmWfcsdxxxx3DXscf//hHt46VDc7HrFmz3Dn/3e9+t7J3xzBWifvZSDn44IPp\\\\\\n\",\n       \"7rvvpm984xv0i1/8gnbeeWeaiNi9dMWzbNky99tz7bXX0lhhLO7TaPD888/T+9//furp6aEf/OAH\\\\\\n\",\n       \"7tqfPHnyyt4twzCMUcMELMOY4EAEOvHEE0dNBDr66KOpWCyukvu+ol+6cCwjFbCwjpXN8ccf714e\\\\\\n\",\n       \"DCMvDz74IP34xz8e8wU2mvezj3zkI7R8+XLacMMN214Wy9100030sY99jD7zmc/Q//zP/9B6661H\\\\\\n\",\n       \"ExG7l654cL/Hb49PLPrKV77i6udY2qfxxK233kqLFy+mk08+2V3/uPZLpdLK3i3DMIxRwwQswzBG\\\\\\n\",\n       \"jT//+c+uw0vfyqZWq1Fvb+/K3o1xzz333ENnn302HXvssSt7V4xViK6urjH/0jXa97NCodBwd7XL\\\\\\n\",\n       \"woUL3d8ZM2Z0bH9wv8R908fSpUs7th1jfN9LIfiiXhujw4IFCzp+7a+s69ue0wzDyIMJWIYxgYG9\\\\\\n\",\n       \"/v/9v//n+jfeeGP34tSp/AIDAwN01FFHue4Vr3gFreh9Rz+cCBdeeCFtvfXW7gUZeSLwNRbT9FdZ\\\\\\n\",\n       \"LIfxyLEgeeCBB+h973sfrb766u4hHGE5v//979ve36uvvppe97rXuYdM5BbafPPN6bjjjnPTsC+v\\\\\\n\",\n       \"fvWrXf9HP/rRxrHwvtxwww10wAEH0AYbbOCOY/3113cv0fKrNvKeIHyAj507+WB45plnurLAcay1\\\\\\n\",\n       \"1lr0iU98gl588UXqJDjf73nPe+j1r389jRZw3H3uc59z5YDy2HTTTem0005retnm8/ntb3+bzj33\\\\\\n\",\n       \"XFcHMS/KGV+sNTjPCMOYOXOmC8XA+fnyl7/cNM9//vMfeutb30rTpk1z53DPPfekm2++eci67r33\\\\\\n\",\n       \"Xnrzm9/s1gMXzNe//vWgEPCnP/3JlRVCPqZOnUr77befW16DfEbbbLONO3f4e9lllw2z9Iguvvhi\\\\\\n\",\n       \"2mmnndz+rbnmmu6L/dNPP+2d99FHH6V9993X7d8666xDJ510EiVJ0jTPb37zG7c+7D/KZtttt6Xv\\\\\\n\",\n       \"fe97I86FlKcc//a3v1Ecx871J/nVr37lzj8EgE4w2vezUH4XlMvb3/52+sc//kG77LKLO/+bbLIJ\\\\\\n\",\n       \"/fznP2+6F7JrC/dErEPmRsO5PfTQQ901j2sA94Dzzz+/adt8X8S5hGNm3XXXpUmTJtGiRYsa+dAQ\\\\\\n\",\n       \"Pvm2t73NnecDDzywrfsK6gzOH84j1vumN73JW8/zYPfSzvDCCy/QF77wBXe94vzi2sX97c477/SK\\\\\\n\",\n       \"mahnr3zlK915XnvttWn//fd3dQL1FfdNAMcT//ZwOLsvB1alUnGOIb4vo77i97Cvr69pvjz130er\\\\\\n\",\n       \"fbrrrrtcvca6sM7Zs2e7awTheK144okn3G8O7sPPPvvsqPwm4X6D36R58+Zl7gtynSF0GGA9WL+8\\\\\\n\",\n       \"j+a514eu7//93/91orp0uH/nO99x2zjmmGMa46rVqltGCq04xt12243WWGMNt23sgy+dQOg5rd3f\\\\\\n\",\n       \"UcMwJhaj44M3DGOVAA+gDz30EP3617+m7373u+4BB/CD38svv+wepFqBB0Cd8BkvNXiJwcvQpZde\\\\\\n\",\n       \"usL3nV9uf/vb37oHJEzHw3A74YZ4gNp9993dy9yXvvQl9xKP9b373e+mSy65xAk1edeDh/DtttvO\\\\\\n\",\n       \"CQB4SHv44Yfpn//8p5u+5ZZbuvF4Cf/4xz/eEH/wAMgPoQiH+NSnPuUeCP/1r3/R97//fXrqqafc\\\\\\n\",\n       \"NICXRoTO4OUOOTA0mI4XZAhkn/3sZ+mxxx6js846y4ky2A92vyxZsiSXUw3zI1m0BPuCsM77779/\\\\\\n\",\n       \"1JKsohze8IY3uIdwHBNEPWxzzpw57mEf9U4LGQivwLx4WP7Wt77l6g6EGT5mvMygzDGM8kc9wcP8\\\\\\n\",\n       \"H/7wB5dPiM8h5sFL3he/+EU37znnnONeIK677jp6zWte4+abP3++eznHCxrXGbys4CFcg/OElw8I\\\\\\n\",\n       \"RHjZwbFBcIHQifPCIsRf/vIXeu9730tbbbUVnXLKKe4lC+dxOCFiXAfwsoN14QUMYhPqALYpv+Lj\\\\\\n\",\n       \"xeQtb3kLvfa1r3XlhheLE044wR0b6itAffvQhz7kxDwcA8D5x/og9gyXvOWIF5xPf/rT7lhwXb7q\\\\\\n\",\n       \"Va9y9eDII4+kvfbaiz75yU825h3L97MscK+AiI7wINQXiE946cRLIV76UJ9x3iBq41zgJZT3H+cX\\\\\\n\",\n       \"549fFHF/hGiKdUGcwku3BKJCuVx2wgbEBPQDnAfUU9RNvJxChGrnvoJ7G15AsW/obr/9dpdwvr+/\\\\\\n\",\n       \"v62ysHtp58A9EMI4Po7gIxDqCu5puL/ed999TrDm+wB+v6655hr64Ac/6K5r3FNx7cMlhusM9y38\\\\\\n\",\n       \"PuE3EfUR4PcuxGGHHUY/+9nPXL3+/Oc/T7fccou7hnHv0OJ8q/rvA/U8a5+w7zh+1FuIV6hXuL/g\\\\\\n\",\n       \"Lz5KhFyQ+F3APQcftLAOPFeMxm8S1oXnAhyv/qgmwUcWfGzBvuOejPPIAns793rf9Q2BDoIRxEOc\\\\\\n\",\n       \"f/6Yhg8G+MtgXXhu2GOPPRrjsJ13vvOdTgjDNQ5hHPXsiiuucB9pJL7ntHZ+Rw3DmIAkhmFMaE4/\\\\\\n\",\n       \"/XTYKZLHHntsyLQ3vOENblqr7uCDD25abt68ecnUqVOTc845xw1fcMEFbr5bb7011z5hu3qd7e47\\\\\\n\",\n       \"xsdxnNx7771N4//+97+7afgrwTowHvvK7Lnnnsm2226b9Pb2NsbVarVkt912SzbbbLMkL9/97nfd\\\\\\n\",\n       \"uhcuXBicB2Wjt88sW7ZsyLhTTjkliaIoeeKJJxrjjjjiCLcOzQ033ODGX3jhhU3jr7rqqiHjUe55\\\\\\n\",\n       \"zjnOkd7HDTbYIJkzZ05TOV988cUty4e3q9fp4+STT04mT56cPPTQQ03jv/SlLyWFQiF58sknm87n\\\\\\n\",\n       \"GmuskbzwwguN+S6//HI3/g9/+ENj3B577OHqqyxLPtfMu9/97qRcLiePPPJIY9wzzzzjlsPyzOc+\\\\\\n\",\n       \"9zm3/ltuuaUxbsGCBcn06dOb6urixYuTGTNmJIcffnjTNufPn+/mleN32GGHZO21105eeumlxri/\\\\\\n\",\n       \"/OUvbn0bbrhhkpf+/v5k1qxZyTbbbJMsX768Mf6KK65w6zr++OOH1IMjjzyyqTz2228/Vw5cl486\\\\\\n\",\n       \"6qhk2rRpSaVSSUYCjkNe83nLESxdujTZdNNNk6233tpdq9hH7JM+n2P9fsbrlceGcsG466+/vqkc\\\\\\n\",\n       \"urq6ks9//vONcVzfcU+UfOxjH3N157nnnmsa/8EPftCVJd9b+HrdZJNNhtxvuC7gGhvOfQX7izqD\\\\\\n\",\n       \"8yKvqeOOO85b3lnYvbRz91JcK9VqtWkc6hHq1kknndQYd/7557vzdMYZZwxZB59P3A8wzwknnDBk\\\\\\n\",\n       \"HoyTv0t33HGHGz7ssMOa5vvCF77gxv/tb39ru/77yNon32/qr3/96yHb4n3Huu6///5knXXWSV79\\\\\\n\",\n       \"6lc3/aaMxm8Sz9vOfUPej4Zzr9fXN+oG7qNf/OIXG+ca+37AAQe448JvGEC9wLPWiy++GCxf7A/2\\\\\\n\",\n       \"5c1vfnOu57R27v+GYUw8zIFlGEYQ2MXzhJjxl1oGVnJY8/GVdWWCr6JwrQw3vAJfBvFVE19L0TH4\\\\\\n\",\n       \"UgknCr6Swp3VCv7Sefnll7svoviC2Q7yqyNyUyB0EO4sPP/h6ye++GYBZxTcUnvvvXdTc+D4gg2n\\\\\\n\",\n       \"xt///nf68Ic/7MbBXYQwg1asttpqTcOnnnqqc7dwWORogWOBEwrbl8cCFwD24frrr2+EN4EPfOAD\\\\\\n\",\n       \"TfvK7jZ87ebcQVgGrgJdjvwVHg4EuKDg8EG9ZhBGg3JD8nG4WeDOQiJ9OF4Q7iLdANinH/7wh41x\\\\\\n\",\n       \"+HoPNyAcM/I4ELIBNxfOCcAXfCT2x1do6XjDuUTdbidXCVrNQ74UhNHInDT4Ir7FFlvQlVdeOaQR\\\\\\n\",\n       \"AHwVl+WBYcz317/+1bkxULexDzgeuLU6Rd5yBHALwG0ABwA6OBTPO++8IedzVb2f4TzLkFyUA1wX\\\\\\n\",\n       \"XIdD4P4ApyhCY9Ev6xnuYXBFwAkFlykDx0fI5QA3y3DuK6grcGHAFSedLXB/ffOb32yrLOxe2jng\\\\\\n\",\n       \"BGZwj8P9iMPbUS8Y1CE4Y3D+NMPJ14ZrG8gwNAAnFtw/uL/AfTPS+p+FrONwHMNBhPsNwLHrEHg4\\\\\\n\",\n       \"zfBbgtBAOBhxrx+t3yQAF5IO1W6H4dzr9fWN5xQ8Z2D/AdxxcP/itwh1Ao1G4NqHGwtuLenokuWL\\\\\\n\",\n       \"ey7qF44Tjvk8z2nt3P8Nw5h4mIBlGEYQvIi0C+z3CI1CuEG7Qk2ngZ1+uCBsAQ+QX/3qV13nAw+I\\\\\\n\",\n       \"eQQsPLD+5Cc/cS/AePhDuBVCBhAWkaeMnnzySReCg9xb+gUcYVGt+O9//+vmmzVrVvA4GDxItiv6\\\\\\n\",\n       \"IVzw9NNPdzm4dOhVp8GxIORPhoqGjgVoEYNfHLgc+aUBD+AhIHIhTAQvTRqEeSDMYu7cuS6cBflR\\\\\\n\",\n       \"OJxQopfFcQCEo/jgFySsD2y22WbedcoXzVbwunzHgZcahIpIUDelYAeQAwdwiCjC9xD+gdw5uBYQ\\\\\\n\",\n       \"FgbBZKRiVt5yZCDC4AUMdRDiDPLZjJf7mU+gRj1uJcah3kKUQOgNujzXS+ieiUTcOmQ1730lVIdx\\\\\\n\",\n       \"DWshvBV2L+0cuG8h1AuCAEI/ITIwCFWXYXO47jrV+ibqA64liEEShPJBBOH6MtL63+oDFQQciLj6\\\\\\n\",\n       \"GvD9pr7jHe9w+d3QiIP+jev0b1InaPde77u+AUQniGD4aAahCh9tEKa9/fbbu2EIWFgX7vkShAoi\\\\\\n\",\n       \"ZBgfX2ReM5/g6bvntHv/NwxjYmEClmEYmQ95eXKU4Gsbu0Pg4MFDDx5K+CWXv0rCTQIxppVjqFP4\\\\\\n\",\n       \"nAShL8by4R1wslDkgsELsQ/9AJ61H/iKCUcCvnwil9BFF13kxAs4e+C6CYH9wkMizgWcIHj4RD4I\\\\\\n\",\n       \"uL+QByRPUlPMg5dMJEr1IR+88fCep8lz5MZBHhAAcQ3iBfJB8TlHDgt+icY4nPNOCAA4FpQH6pkP\\\\\\n\",\n       \"FliYUNmO5Ot2J+DzBnEEL26aTr0sjjaoV3hJwYsdnAnoLrjgAjrooINcjpsVBV6SuGEGvHBDcOQ8\\\\\\n\",\n       \"Tav6/Wy4dZjrGByVnOhZo/MUhdxXcOvo67ed+0qnsHtp5+6lcL/h4wzEXuQ+w/0c64UzbkUky87r\\\\\\n\",\n       \"3hqNezgEF+SpQqMHO+ywgxOlcMwQ3n3HjhyEuJ+hriN31Xj7TfJd3wA5seCshtsKghW7xfAXw0g0\\\\\\n\",\n       \"j9946VjDeOS/ghsW4ihEL+T2wu8C8n9pLK+VYRjtsmo8IRuGsVIeIuESQoLqVshEo3ihw9cz31c1\\\\\\n\",\n       \"PNTgxbCdROpZDCd8gb926n3QX33ZeYIHL4QCjBQ8HMJ5he6MM85wLw9IwApRC+sPHcvdd9/tktXj\\\\\\n\",\n       \"4RmiAIOQLU1oHUjqijAeuFRaPSwilC6P8ADbPwsGOOdwrGm3Djt0+OtyJ5r5xrEg3KMT5wTwPiNE\\\\\\n\",\n       \"JARexCGGPPjgg0Om4QEe5xatTwG0BsfuKolelhPtQgDIOhZuXS7POlvB68Jy2vmFcTxdvpjBoSZf\\\\\\n\",\n       \"wFAXgWzlDmImHArosAzOOZJB4+U4r8jr29d2jhkhvQhxQQgShF44HdGK1qp0P+s0qLdoHQwieKeu\\\\\\n\",\n       \"l+HcV2QdlvcIvPgOx3Vi99LO3EvRKhxC9RBuK0F95kZR+DwjyTqEDE4yPpLfYtQH3CdQH+BgZZBk\\\\\\n\",\n       \"HNvW96HhEton1Dk4KuHAkq2X+u43DBzG+KiAexuuKQ65H43fpE7Q7r0+BEL4cH+HKIWOW36GOIXQ\\\\\\n\",\n       \"eZQjDzMIL0TYIj5qyDBVCFjt7H8nfvMMwxifmIBlGBMcuHmA7yVsODljEKoC94MEuaTQah5eLuEg\\\\\\n\",\n       \"WhH7nvVghC+gcEQhpxGj8ypAWICjCC/iyP2Br4gSvHzldRjA+cFuJQZffQHb60PHwl9r5ddZ9CP0\\\\\\n\",\n       \"QyPXIV9w8LUZx4ev7DrnDFr5wcM3zz+cHFgIFZC5P1gQgoCB9e26666NfRspOBaENODhWDvjOIdL\\\\\\n\",\n       \"O+4lnEM8fKNlK+RkkW4alDNegnAOEBqHHGZw4bB4gxcufFHGV2oO+UMLa2h1CnmYOH8H6op2qWDf\\\\\\n\",\n       \"sQzOB14i9Ysh1y/UO9QViIoyDxYETLQU1s7L3s477+zq9Y9+9CPnuuCXC7imIP7IlzkGLcqxEITy\\\\\\n\",\n       \"wDD2FUIsQE4UGW4EcYFdPTJ0pF3yliPAyzXuLXCOII8O6iJaRIRrAkLrqnI/6zSotygD1FFcjzpM\\\\\\n\",\n       \"tp17mI+89xW82KPOoMxwHbGwoFtny4PdSzt3L0X90K4f5HOCu1cKz6hDcA7j2kdLlxK+R7LbMc9v\\\\\\n\",\n       \"Ma5t5ErE+cfvK4MPO0C3UjdcQvvk+01tVR9xjLgXIBcmBG78zkDAHo3fJACxEE5S3O/1s8do3et9\\\\\\n\",\n       \"QIhCK4bIXQUxXzqw4NTGbwMEPLmPKF+Ul3S143cTLV6Oxv3fMIyJhwlYhjHB4bwwcAMhKTNeNOCk\\\\\\n\",\n       \"wEPycHLG4AVFww+QeJnEg9WK2PcQeCBEc854mcJDFh6+kK9B56kAyKcDcWLbbbelww8/3LkHIFrA\\\\\\n\",\n       \"Tv/UU0/RnXfemWs/kQgeghkezCE4YFt48UPOCawfYD/wsocHTnzhxTEgBwRekDENoYx4sYDogS+c\\\\\\n\",\n       \"vhdxLg80Z48HaTxIolxQ7gh7QFPaCPfCOUJZ4QsnXlgghiEf13BzYPExSFgQw8OvFApHCr4AIxcY\\\\\\n\",\n       \"mvXmptSRRBxONTgK8KAs3QN5wEM4jgG5PT7+8Y83wsXw0obyYpEOohHmw1d4vJDg5QsiDZpBZyDY\\\\\\n\",\n       \"ISwQoShws3Hz3zjvyJPC4DyimfePfOQjbrs4TxAT8JKA7cLVghdGgPOGuoNt42UEL/Gov8i5BZEg\\\\\\n\",\n       \"LzjnEHbQkADqBBLIc9PqEOX0yyleXhDuihc21EW8/GDf8PLJwgfyumF/8JUf9RluJewbRDfprmiX\\\\\\n\",\n       \"vOWIBMzYP+RX+sY3vuHGwVnxhz/8wR0n6gXfD8b6/Ww0QBJpuDxx/nAPw7WN84XcaXBPoX+45L2v\\\\\\n\",\n       \"oK7g/oX5cN3i5RSNT6A+tXut2r20c/dSnAuUJ64TJOvGtQKBQDtp4fz9+c9/7gR+CAoQL3DPRf3B\\\\\\n\",\n       \"vfBd73qXc+ChbiE0Ho5NfLCBYOrLLYj8SbhmcT3jWkI9wnoh0uO3QiZwHwlZ+4SPFrhvQyhC+DtC\\\\\\n\",\n       \"+ZEHLAuI87/85S/dPkK0QqJx3PdG4zcJv/W4f0o3aDu0e6/PAucb9xE8O+FZCEAcQz4qOKJwzBL8\\\\\\n\",\n       \"VkGMxL0bTjU87+BZCqKovHd34v5vGMYEZWU3g2gYxsoHzUCvu+66rjnj0WiieLSanc/ad/QfccQR\\\\\\n\",\n       \"3mXQJPZ73/veZNKkSclqq62WfOITn0juuecetwz2VfLII48kBx10UDJ79uykVCq5bb397W9Pfve7\\\\\\n\",\n       \"3yV5ueaaa5J3vetdrgluNCePvx/60IeGNLuN5rS32mqrpFgsNu3Lfffdl+y1117JlClTkjXXXDM5\\\\\\n\",\n       \"/PDDkzvvvHPI/lYqleTII49MZs6cmURR1NR0OTj33HOTnXbaKenp6UmmTp2abLvttq6J7GeeeSbp\\\\\\n\",\n       \"NH//+9/d9i+++OKONv0O0Hz3nDlzkk033dSVJ8pkt912S7797W+75rplM+Snn376kOV9Tavj/L/n\\\\\\n\",\n       \"Pe9JZsyYkXR3dyebb7558tWvfrVpnttvvz3Zd9993XlA3XnTm96U3HjjjUPWf9ddd7ljwXpQX1BH\\\\\\n\",\n       \"zzvvPO+1hXLCOtE8OOZ/xStekRxyyCHJv//976b5LrnkkmTLLbd0zcejjlx66aWuzNDMfLtcdNFF\\\\\\n\",\n       \"yY477ujWtfrqqycHHnhg8tRTTzXNg3WjaXjU/3322ccd71prreXKDc2rM7gOMB1NtuNcbLDBBu56\\\\\\n\",\n       \"mjdvXlv7hOPQ13yecjz66KNdk+6yuXWA8sN19KlPfSrpNKN1P+P1yjqCctlvv/2865TXS1Z9f/bZ\\\\\\n\",\n       \"Z929cP3113f3MNzL9txzT3c/yHO9cl0Ikee+gjpz4oknJmuvvbab741vfKO75nznPQu7l3buXtrb\\\\\\n\",\n       \"25t8/vOfb5yT3XffPbnpppuG1C2wbNmy5Mtf/nKy8cYbN+rQ+973Pnd/YHAvRD3AfUDeY/FX/xYN\\\\\\n\",\n       \"DAy4+sDrQ93EPR37JMlb/0OE9gn3O77f4957wAEHuPqqfxt43/HMIMsC28bvwM033zwqv0k8bzv3\\\\\\n\",\n       \"Dd/9qJ17fYgrr7zSrf+tb31r0/jDDjvMjcc9WYNxm222mdvuFlts4fbRVw+yntPa+R01DGNiEeG/\\\\\\n\",\n       \"lS2iGYZhSBC6h6+Ew/nyaKya4CsuvlRzXi3DGC/Y/cxYkdi91DAMwxjPrNw27g3DMAzDMAzDMAzD\\\\\\n\",\n       \"MAyjBZYDyzAMYwTMnz+/ZR4OTrxtGKMFchn19/cHpyMf2kgSdg8Xuz4MqyuGYRiGYXQKE7AMwzBG\\\\\\n\",\n       \"QKsWgoabhNUw2mH//fen6667LjgdyW8RormisevDsLpiGIZhGEansBxYhmEYIwAtMWWxzjrrtN2q\\\\\\n\",\n       \"n2G0y2233eZtmVI6AdGy4YrGrg/D6ophGIZhGJ3CBCzDMAzDMAzDMAzDMAxjTGNJ3A3DMAzDMAzD\\\\\\n\",\n       \"MAzDMIwxjQlYhmEYhmEYhmEYhmEYxpjGBCzDMAzDMAzDMAzDMAxjTGMClmEYhmEYhmEYhmEYhjGm\\\\\\n\",\n       \"MQHLMAzDMAzDMAzDMAzDGNOYgGUYhmEYhmEYhmEYhmGMaUzAMgzDMAzDMAzDMAzDMMY0JmAZhmEY\\\\\\n\",\n       \"hmEYhmEYhmEYYxoTsAxjFeKnP/0pRVFE//73v1f2rkxYvva1r7lzYISZyPWUj/3xxx9f2bsyZrFr\\\\\\n\",\n       \"yDDGFkuWLKHDDjuMZs+e7e5fn/vc51b2LhkZHHLIIbTRRhut9DKaO3cudXd30z//+c8Vsr3nn3+e\\\\\\n\",\n       \"Jk+eTH/84x9XyPYMwxibmIBljAnuvvtuet/73kcbbrih+zFcd911ae+996bvf//7TfN985vfpP/7\\\\\\n\",\n       \"v/8b9nbuu+8+9/LU6ZfLa6+91j30cVcqlWiTTTahgw46iB599NG21/fDH/7QvQhPdBYtWkQnnngi\\\\\\n\",\n       \"bb/99jRlyhTq6emhbbbZho499lh65plnRm27y5Ytc/UE59VIefLJJ+mTn/yke2ju6uqiWbNm0bvf\\\\\\n\",\n       \"/e4V9uA61hjpvWg0wLnhe1AcxzRjxgzadttt6eMf/zjdcsstNJYZi+VpGBPlowGuP6zjU5/6FP3i\\\\\\n\",\n       \"F7+gj3zkIzSRkc9z6KZNm0ZveMMb6Morr6SxyMp6ZjnppJPoNa95De2+++4dXS8EKhyPZo011nBC\\\\\\n\",\n       \"61e/+tWObs8wjFULE7CMlc6NN95IO++8M9155510+OGH01lnneV+oPAC9r3vfa/jAhYEkdFyR3z2\\\\\\n\",\n       \"s591D3/nnnsu7bfffnTRRRfRq1/96rbFFhOwyAl/O+ywA5188sm01VZb0WmnnUb/+7//S29605vo\\\\\\n\",\n       \"vPPOoze+8Y00mg+DqCe+h8GvfOUrtHz5cppIQKSCEPLrX/+a3vve97r6edRRR9G9995Lr3/964cI\\\\\\n\",\n       \"zROB0L0IL36oHxDjVwa4ZnAP+vnPf06nnHKKu17+8Ic/0Gtf+1o65phjaCzgu4ZMwDKMlcff/vY3\\\\\\n\",\n       \"d4844YQT6H/+539op512mvCnAx9R+V76xS9+kR5++GF6xzveQX/+85/HXNlkPbOMFgsXLqSf/exn\\\\\\n\",\n       \"7sNWp4GAhePxge3dfvvtrs4ahjExKa7sHTCMb3zjGzR9+nS69dZbnWNAsmDBglWqgPAyDycZ+OhH\\\\\\n\",\n       \"P0qvfOUrnaiFH/k5c+as7N0bUyxdutRZwX1UKhXaf//96dlnn3UPZK973euG1BkIWiuDYrHouonC\\\\\\n\",\n       \"iy++6Oo03G8Qsl7xilc0pkEQ2XfffV24CV54dtttNxpLJElCvb29bt9XFIVCwXUrC7hX8QIqwbXy\\\\\\n\",\n       \"4Q9/mL773e/SZptt5lwWK5OJdg0ZxlgHz1r4UNQparUa9ff3O0f9qgqe3+S9FB9vUEb4sIrfvYnO\\\\\\n\",\n       \"L3/5S3cfh6i3Itlyyy2dEx+OwTe/+c0rdNuGYYwNzIFlrHQeeeQR2nrrrYeIVwBhSgxs3BA9IAax\\\\\\n\",\n       \"rRt5AMATTzxBn/70p2nzzTd3L6uwGR9wwAFNTiv82GEcgCuB1yG/WP3pT39yIhSElalTpzoXFVwm\\\\\\n\",\n       \"w4V/XB977DH394ILLnDjcFwIw8LD0Nlnnz0kDAjbvO666xr7qN1GfX19TjyYOXOm29f3vOc97mtY\\\\\\n\",\n       \"HvDVio8RZf6ud72L7r///sb03/3ud26b2L7mnHPOcdPuueeexrgHHnjACRyrr766e1iFm+73v/+9\\\\\\n\",\n       \"N7wB68R5wvGvt956wX285JJLnCPvy1/+8hDxCsDODxFLcvHFFzsRBed/zTXXdA+eTz/9dNM8qC8I\\\\\\n\",\n       \"RcR4hL+hH2X4hS98garVqpsHdQbjAL4A8jlgO7svfw+GP/OZzzhHDh6scG5Rp6+66qpceSt864SI\\\\\\n\",\n       \"B/cZBCOsD8sdd9xx7tzrbfus9pifrw8wMDDgjgcCBs4TrhGU7dVXX01Z4JzPnz+fTj/99CbxCqCs\\\\\\n\",\n       \"+XpEKIHvq/AnPvEJty2cM4TUQhCTIOQFLwM4Z1jfxhtvTIceeuiQl6EzzzzTlSn2fa211nLr1evC\\\\\\n\",\n       \"Mb/97W93X8hRD7E+7D/OCa55DdYLwYdFZ/Dtb3/bCXHYZyyPOoVrQpJ1LwrlwIJrDfuPc7nOOuvQ\\\\\\n\",\n       \"EUccQS+99FLTPLjOsa9wimJ/J02a5PbvW9/6Fo0EHAecBLhGcd1A2Btu2f7jH/+gXXbZxc2LMGm4\\\\\\n\",\n       \"EyR56pmu76Hy/Pvf/+76L7vssiHH9Ktf/cpNu+mmm0ZUNoYxXsnze8fpD/CMgvA4vv74/oXfG7iy\\\\\\n\",\n       \"Nt10U3fvWn/99Z0byfc7hN/ACy+8sHGf498/bB/3dNxb+Lfx/PPPb1qe9+O3v/2tu0fh+QD3jz33\\\\\\n\",\n       \"3NM5nzQIiX7b295Gq622mnuW2W677YY49vM8m7QrnOB3Cs+skrxlhHsg7oV47sK5wPMqftOZ0G8H\\\\\\n\",\n       \"l03IXdXqmQX3ZJTFvHnzch0nP8egzPAX91/fswvmQ/ggjkXy3//+14l9yKeGdeBcfvCDH6SXX345\\\\\\n\",\n       \"1/axrR/84AeuX4ZxanccnMXyt8wwjImDfQI1VjoItcFLCEQR/FiGwAsYQgvx8oScLoBfqOHeQigi\\\\\\n\",\n       \"fiTxY4kfdAhDeCHEyyBeBPfYYw/nhkIYGh4a8DAC+C/Wf/DBB7uXaTgW8PKNdeCB4z//+c+wEmby\\\\\\n\",\n       \"gw5e4gDWh4e3d77zne7LFX6AIejgJRIvtAAvk0ceeaR7KICAA/DgJ8F0PLjhoQnHimXw8IiQxSz+\\\\\\n\",\n       \"+te/0lvf+lb34omHG4TxIPwL+QtgycYxQrTDtvEgiZwPEqwf+8/nCUIblsVL9pe+9CX3IInl8LAM\\\\\\n\",\n       \"EQrCmgTHiget448/3r2whuCHzLx5OPDgB8cbwjURNgXnFh5m4RjCuZPiKB7ccY7x4AWxAmXyne98\\\\\\n\",\n       \"x9UlOFOwfzhP6Mf+wwkG8ICcBV7sL730UneMED9Rz/AQh9xRfP7bAXUdL/R4AP/85z/vHthxbBAb\\\\\\n\",\n       \"fS/0rcD5xvJ8DSG/GMQjnHc8DIZAHcVD6Pvf/37vdAhOuEYgjKI+SbcT6iTKHtt+8MEHXblCbOYH\\\\\\n\",\n       \"cnz132effVyZo/5gXtRnlKMEggqfY1zDeNlCqDHOLc4xcs4x2M6HPvQhtwxCkvGS8IEPfMDtA4Q4\\\\\\n\",\n       \"PFTLc4bwXtw3GNQbXJ8HHnigcxD85je/ccL3FVdc4a6NVveiUNnjxWKvvfZy9YrLAvctvf8Qjt7y\\\\\\n\",\n       \"lre4eocyh3iGnG8I4cS1O1xwTaM+I/wW90Rcx+2WLV4kUR8/9rGPuXslXkLxsgGRj9c3nHoWKk+E\\\\\\n\",\n       \"NOFlEC/F+l6CcZhn1113HXaZGMZ4p9XvHZ5/cP0dffTR7tkJvzUA92Q8l+BeiPskrkvMi3ylcHI+\\\\\\n\",\n       \"9NBDQ0Ko8RuA33/c9yH04HkCv8W4jlngwnrxoRD3ENwbdLL4U0891aWPgMgGwQPiPe7FMocfhCCI\\\\\\n\",\n       \"6WuvvbYLZcc9Hb+LuEdjeDjPJnnA/uD+LO/1ecsI+4N9xnMEPvZA6ML9tBM5JFs9s0BAxH7hnt0q\\\\\\n\",\n       \"t+pf/vKXhtMM93EkTcdvg/7gCFEMv1/azYvfTNQ3iHd4TsW5wfZxbvDBBtEWrcBvEn6XcZ5RN33g\\\\\\n\",\n       \"NwdljHLNem8wDGOckhjGSuYvf/lLUigUXLfrrrsmX/ziF5M///nPSX9//5B5J0+enBx88MFDxi9b\\\\\\n\",\n       \"tmzIuJtuugmfZpKf//znjXEXX3yxG/f3v/+9ad7FixcnM2bMSA4//PCm8fPnz0+mT58+ZLwG68N6\\\\\\n\",\n       \"zz///GThwoXJM888k1x55ZXJRhttlERRlNx6663B/dx3332TTTbZpGnc1ltvnbzhDW8YMu8FF1zg\\\\\\n\",\n       \"trPXXnsltVqtMf7oo4925ffSSy9l7ucOO+yQzJo1K3n++ecb4+68884kjuPkoIMOaoz70Ic+5Oar\\\\\\n\",\n       \"VCqNcfPmzXPznXTSSY1xe+65Z7Ltttsmvb29jXHYr9122y3ZbLPNhuz36173uqZ1hthxxx1duecB\\\\\\n\",\n       \"9QT7us022yTLly9vjL/iiivcNo8//vjGONQdjJPHwNvbaaedGsM4h5jvhBNOGLI9jNO3TgyXy+Xk\\\\\\n\",\n       \"4YcfbipXjP/+97/ftP0NN9yw5TrvuOMON3zYYYc1zfeFL3zBjf/b3/7WtG3ffmI78lrZfvvtk/32\\\\\\n\",\n       \"2y9pF1wXWDaLz372s24/7rrrrqbzjTKV1/G3vvUtN/7yyy93w5dddpkb5uvDxw033ODmufDCC5vG\\\\\\n\",\n       \"X3XVVUPG45gxDtMkDz744JBzAT796U8nU6ZMabou9TWK/UfdevOb35zrXsTH/thjj7nhBQsWuLqx\\\\\\n\",\n       \"zz77JNVqtTHfWWed1bhnMLjm9T2rr68vmT17dvLe9743WEby+LPO8Xe/+92m8h9O2V5//fWNcTi2\\\\\\n\",\n       \"rq6u5POf/3xb9cx3DYXKc86cOW4b8t6G7RaLRW+9N4yJCN935L007+9d6N7xi1/8wv3m4z4h+dGP\\\\\\n\",\n       \"fuTW+89//rMxDsOY9957722a92Mf+1iy9tprJ88991zT+A9+8IPuN57vt/wMteWWW7p7HvO9733P\\\\\\n\",\n       \"jb/77rvdMJ4fNt54Y7e/L774YtM65TNR3meTENgm9h3PArjf/Pvf/07e8pa3uPGnn35622XE916s\\\\\\n\",\n       \"L4T+7WC4bORzq36WyHpmwfowzXd/9T0j4nzJ+y2e0bG83B6edXy/qf/5z3/ceDxrj4QjjjhiyG+E\\\\\\n\",\n       \"5MYbb3TTL7roohFtxzCMVRMLITRWOvgqDwcWvmIhbAxf3PAFB1/O8tq9pesDX4bw1Qh2bjg68OW/\\\\\\n\",\n       \"FfjSg69DcG4899xzjQ65bPDlEqEseYBNHl/DECIEtwaHxcC6rvcTX/OwDbickLA8r70a4EuftFQj\\\\\\n\",\n       \"JBBfWuFuCQH7+B133OEcE7DUM/hKh3MgmyWGYwXuGGlZhxMEXxsxDbzwwgvuiytcIosXL26UGcoe\\\\\\n\",\n       \"5w82ch3CB0dMnvxA+DILF1Me4O7AvsL5JPNtoPy32GILb6tBOukoym84rUVK4K6RX2ZRrgibG856\\\\\\n\",\n       \"+VzopNv8dXw4LSHhWsDXSpyXdsC5bXUueDrOm66n0sGDr7VwHvLxsTMOX2dx3fpAaCi+2qKOymsT\\\\\\n\",\n       \"X2DhKtLXJhxhOj8Jcpkgubl0KOJ6QZ1G/g55Xcp+fG3HdYn6kec+4gOOB3yVhtMAzgJ5LaB+6HOJ\\\\\\n\",\n       \"Y5J5V8rlsnMmjbR+8rr5nA6nbPFVHmXB4F4Hh5vct+HWsxAIO8XXfBnGifOIEFud68swDOrY7x3u\\\\\\n\",\n       \"D3Du4HdU3h84NYK+P+BZRubRgg4EtxPuseiX68A9GvdWfV+F2wf3PLmvgPcXzlC4RHE/1Wkn+Jlo\\\\\\n\",\n       \"OM8mPuBWxT0OKQ/wDHfNNde40ED5u5y3jHhfL7/8cvcctSKBEw7l38p9xc+IcGpJpxR+H3R+NJQl\\\\\\n\",\n       \"QCSAhJdDGD+iGEYL3i7K2jCMiYcJWMaYAKFfCBvCC+O//vUvl/AcDx4IV0G4SysQuoSwNISbwJoN\\\\\\n\",\n       \"+zoePCBK5RGG+GULDx1YTnawVOdNJo99gBiGh6e77rrL2aBlGBzs4hA6OP8U1s85ENoRsDbYYAPv\\\\\\n\",\n       \"j7nOWyNhcQsvnBo8gOFBgMP6EMKEBxH5wo9+iAAQAwDs73goQnPGuswQ2gh0uUFcyANe7PkluxVZ\\\\\\n\",\n       \"x4WHSi3qQeTifBGy/LLKbjjnZCTrxT5D7IAIK4EdH/UmS6gMgbAFXA84fwhH+3//7/+5OtoKiFOt\\\\\\n\",\n       \"zgVP10IX8iBJIIog7INzfOCFB+EKCK/DNYt8bMgTJ3OH4NrEtYGXCF3PlixZkruOQXjF9ccvLhBn\\\\\\n\",\n       \"sSwLsgzENIS8oJ5A6OXwjHauzzz1Ey9pCOXV5xKhGjrfRyfqJ0B5yfPUbtnmqePDrWchcA3j9wEh\\\\\\n\",\n       \"gwz6cY709WEYBnXs9w73B4jR+t7AzwCt7r3Iy4l7AVpl1uuAUOVbR6tnG07LkBU2NpxnEx/4PcLz\\\\\\n\",\n       \"HD4ycN4+iDLyQ0TeMsLvDEIaESqNlBAIW0dI44oWs7Lg3yL9ux16vgI6BxXqAAS+n/zkJ+43HYIh\\\\\\n\",\n       \"8lkN9/czBG9X/1YahjExsBxYxpgCL3V4WUGHBwA85OALFz90hECsPV588VUOOVEgvuCHDQ8JeR4Q\\\\\\n\",\n       \"eB7E28scOUzeFrPwwgaBygcevJCQFC9kZ5xxhhPbcLxwoyCWv50HmZCLqVMJLSECIlcEci0h+TTy\\\\\\n\",\n       \"WODlH03dM7y/yFURapFHv2DmbQ0OZYQvrXPnznXl1ElGq4W4POck9LDFCXU1I3k40+tEDjjUQXwB\\\\\\n\",\n       \"hiiLB0zUux/96EfuoToExE2cC4hKqBc+IFDAaeV78M0Cxwdnzc033+xybeGrLVyMyNGCcRC8UM8g\\\\\\n\",\n       \"sEgBQ6JfzkJ1DC8QEMZxP8F9Ai8PuE9ArGVuuOEG5wRFWaHeQ2zDceHegqThK4LRvLa58QW+Ltst\\\\\\n\",\n       \"2zz7Ntx61sqFhdw2Tz31lKuHqBvI02UYxuj93uH+gGcaPK/40L/N+t7LzwhwSsLV40PnluzE/W84\\\\\\n\",\n       \"zyY+8DGBn+eQMB6CDPJ4oYENzjOVt4xQNtdff71zZEEQQ4J7fBTER1PcJ3Hc7T4frEw4r6dPCMXv\\\\\\n\",\n       \"N5z+/BuA3IrIp4X7dlbjPe3A28U5MQxj4mECljFm4bA72XJK6AceL8F4QMIPJ9Pb2zukla/Q8hz6\\\\\\n\",\n       \"hZe5kAA1UvCCjpcvhEXKr4y+8MTR+KqEZPkACaQ1aKEGDwJwhskXfoQ/wjaPBKl4gJRuFbhHAF7w\\\\\\n\",\n       \"O11mCDn49a9/7ZpphuiQ97h0k8oYx9PbYbS+6uFrsq6TQLtwsM94MMbXXW5kAEBIxPLymHzrRMia\\\\\\n\",\n       \"r8UhOIogCqODwwZiA74sZwkLSDyLEF8IP76QLbipIPygDugXGOy/bP0P28R+4WVAAjcNOrQ+BaEI\\\\\\n\",\n       \"SXuRPB37hWsTYXj4ep1XAPWBL8MIxcNLA15C4PiESCtFOYS7wLEAIU2Oh4A13Doi6ydfM3yOEAoz\\\\\\n\",\n       \"WvcbDcoegjReqLhOdapsO1HPssoTHyLwVR/3BLhtcc/RzjnDMDoL7g9I64APb8P5TYQADrcnBJhO\\\\\\n\",\n       \"3ef4WQ1ifGido/VsguTiEOO/8pWvuGTpKJN2ygjOLcyHDoIXPgiioR48A2I/2W2mf8/zOK478czC\\\\\\n\",\n       \"v1W+8G/93IhnWPxmcAvbGoh66FBWaGAJvzH4iPH1r3891760Oh7ernw+Mgxj4mAhhMZKBz/evq9r\\\\\\n\",\n       \"nCdHWpchsPgEAHy90utA63r6yxULNHod+EqHsDU8UPhy8cAKP1L4y6LcT9iqfS/HoeMcCXCTIAQQ\\\\\\n\",\n       \"opRcNx4E8ZVMiwp4oMKLKF740eHlX4YIQOxDK4/nnHOOVywZSZkhdBQPPxA0IJ74Qta4hUYIndgX\\\\\\n\",\n       \"PBzJ0DO0dAThjVuOawe0Wgk6fQ7wsItzLkOqUHa6VUE+F2hdUsJfeeUxYZ34sitByIau+5yzgoG7\\\\\\n\",\n       \"CV+hdVPfvod2lC9CwXTeFIjEEClQpxE+q8F+yOsJoXjIXcSt6eErqr5uUUcB7xfymOBYTj755CHr\\\\\\n\",\n       \"x7raOUcQPfAVGK3nIWRWiyD8FVyWHQQ63dpWO9coriM4LdEqpTxW5FdBXRhO/WwXiD4IZUZuGFw3\\\\\\n\",\n       \"/HLQybIdaT3LKk+I66gzELThFoNrzr68G8bogvsDQq5//OMfe+8pWS0J8/0UIeL4MMDuz5E+I7zq\\\\\\n\",\n       \"Va9yzyH4bdT3C76/jtazCZz4yEOJ5wq4i9opI9x7Nfq3jsU5+XuO+zN+R0fyzILfYHyk9JVF6BlR\\\\\\n\",\n       \"hvwhjFKn8oA4iGcv5CCVIA8mfjskeJaDeNfqNyDPszpz2223OQc1t35rGMbEwhxYxkoH4X/IK4Av\\\\\\n\",\n       \"WggdgzMBX2wgmiD5JOdKAEguDMcAXuSRKB0PMkiyDpcIwv/wg4ZkkxA9MB/bnBn8OOOh6rTTTnM/\\\\\\n\",\n       \"0HBZwLWDBx68XOMlDw9I+OKPr4dPPvmks3vj69FIQ1b22Wcf9yILdxFEATgT8NCDbesHCxwn9gdf\\\\\\n\",\n       \"q/Dyh3m0u2g4nH766e5FEGGWaMYaD1gQ+lBucEjoBxTY5OGEwUMYmuDWILfB6173OveAgqTU+PIJ\\\\\\n\",\n       \"lxDKH+E++DI5HLBtOGTw8g/3Bh4ScQ4wHvkm4NLB10oIXBiH84l6gpxKSMSPffje977n6g+aB28X\\\\\\n\",\n       \"fFlEPUIdRCgrhDzk3Bhpc82oV8cee6yr67DVo97jPGMbMpnt9ttv7xyFeHDFAxyOC7nh8GAJ15B0\\\\\\n\",\n       \"NcHVgiS9eFFAslWUORxE+gUfx4OHetQtHA8ePOFchBspC1xDmA9CC64NbA/rmj9/vksKi3wjKOvd\\\\\\n\",\n       \"dtttyLK4lvG1GecPX3ARlof6gjA9gOPBOJQHHt4hTOKagJjMIh6OHdcLQhCQYBbXEc45vhLDFYZt\\\\\\n\",\n       \"Q/DMA/YDYSXoUAb66zyOEfcWCCQf/vCHXf4S1HFcgzqPU+hepMF9BC5C5PnCenHsXBYIle50InK8\\\\\\n\",\n       \"TEHoAbjH4MUD5YTzhZcvlCXTybIdaT1rVZ4II+R98QluhmF0FjwPIdQavy/40IjfYAgqEEMwHr8z\\\\\\n\",\n       \"7JQPceqpp7plcS3jGQH3B4g5+L3D9e4TdrKAEILfTDxH4XkOv/sQXrBPeDbAPo3mswlC4/CxBs8c\\\\\\n\",\n       \"+C3OW0bIDQhhCr8xcDrhtwW/AQipw34CiDFwIuP3AuWC+yeev7Qg1O4zC34T4FTCM0WrRO74LcA+\\\\\\n\",\n       \"Yp8Qzo/9wDMi9o1zKMocYfggAtEKv9kA+V9xrz/ggAPcfmDf8WzOYmZe8HsA8JyED8xYHs9PUlRD\\\\\\n\",\n       \"HbAcWIYxQVnZzSAaxp/+9Kfk0EMPTbbYYgvXpD2anN90002TI488Mnn22WebCuiBBx5I9thjj6Sn\\\\\\n\",\n       \"p6epWWA0p/zRj340WXPNNd069t13Xzcvmv3VTQf/+Mc/TjbZZJOkUCgMaZoY/VgWzTt3d3cnr3jF\\\\\\n\",\n       \"K5JDDjnENaGcBTdz3Krp4N///vfJdttt59a90UYbJaeddlpy/vnnD2k6ef78+a5J66lTp7ppb3jD\\\\\\n\",\n       \"G4JNZcvty2MJ8de//jXZfffdXRlOmzYtecc73pHcd9993nmvvvpqt94oipK5c+d653nkkUeSgw46\\\\\\n\",\n       \"KJk9e3ZSKpWSddddN3n729+e/O53v2vME9rvVuC8Hn/88a457EmTJrly22abbZI5c+Yk8+bNa5oX\\\\\\n\",\n       \"zSmjefCurq5k9dVXTw488MDkqaeeapoHdWHy5MlDtoOmp/XtEM00o6lx1EfZPLVvXgyj2WeNr/6h\\\\\\n\",\n       \"SWocA9a7+eabJ7/85S+96xwYGEhOPPFE12Q4ynX99dd3xy2bBQfVajU59thjXd1HGaH+oolrve2v\\\\\\n\",\n       \"f/3ryS677JLMmDHDnXtcb9/4xjeS/v7+JA+on4cffniywQYbuP3B9t75zncOaT5cnu/rrrsu+fjH\\\\\\n\",\n       \"P56sttpq7rrEOXn++ecb891+++3Jhz70IbdOnLdZs2a5uuO73s4991x3PrDvuC5QJ774xS8mzzzz\\\\\\n\",\n       \"TGZT8BrUfezbYYcd5p1+3nnnuWbWsT8oIxyL7/yE7kWhptDPOusstz6U3VprrZV86lOfGtIMPK7z\\\\\\n\",\n       \"rbfeesg+6SbTQ2AebJuvWVzfWB/O2y233BJcbiRli33m+1PeetZOeTJ9fX2uHuHevHz58pZlYRgT\\\\\\n\",\n       \"Cd9vbDu/d6HrG9ctnlNwH8E9Edcg7hX4bXr55Zdb/gYCPMdhGn7DcP/Ds8Kee+7p7jutnqFwH8V4\\\\\\n\",\n       \"HJ/kH//4R7L33nu7+xWOEc9V3//+99t+NgmRdTxf+9rXmp638pTRNddck7zrXe9K1llnHffbj7/4\\\\\\n\",\n       \"7XvooYeG7PNee+3l1oPfieOOO67xHCaf73y/CaFnFi5DfU8NcckllyRbbrml24etttoqufTSS73b\\\\\\n\",\n       \"w3ktFovJL37xi8a4Rx991D3P49kZz2t4FnvTm97knjvboVKpuHeAmTNnut8yWV/vv/9+N9zuOg3D\\\\\\n\",\n       \"GD9E+G9li2iGYRiGYRgh8CUfzix8dUf4pWEYhrFigPMMLfdyC8IMnPwPPfSQy4O5okAjLHCzIYzQ\\\\\\n\",\n       \"HFiGMTGxHFiGYRiGYYxpkIcMuWsQSmgYhmGsfNBC+K233upaqV4RIMciWrZFeg0Trwxj4mI5sAzD\\\\\\n\",\n       \"MAzDGJPccsstLv8Y8l7tuOOOLm+XYRiGsfJBa4RozCUvyD2L3KtZzJ49OzMnp87FZRjGxMMELMMw\\\\\\n\",\n       \"DMMwxiRI2Iyk9EjY3CoBsWEYhjF2Oeqoo1zjLVlYZhvDMFphObAMwzAMwzAMwzCMUQOt4j7zzDOZ\\\\\\n\",\n       \"8+jWgQ1jtEFONbTSjrxqaBX+sssuc62MZoGccMccc4xr/XT99denr3zlKy5XnLFiMAeWYRiGYRiG\\\\\\n\",\n       \"YRiGMWpstdVWrjOMscTSpUtp++23p0MPPZT233//lvM/9thjtN9++9EnP/lJuvDCC+maa66hww47\\\\\\n\",\n       \"jNZee23ad999V8g+T3TMgWUYhmEYhmEYhmEYxoQFjQO0cmAde+yxdOWVV9I999zTGPfBD36QXnrp\\\\\\n\",\n       \"JbrqqqtW0J5ObMyBZYw5arWasxhPnTrVWhkxDMMwGrlRFi9eTOussw7FsTWivLKx32rDMAyjU7/N\\\\\\n\",\n       \"aBCgv7+/Y/ukW6rs6upy3Ui56aabhoS6wnn1uc99bsTrNvJhApYx5oB4hXhiwzAMw9DMnTuX1ltv\\\\\\n\",\n       \"PSuYlYz9VhuGYRid+G2GeLXxhlNo/oJqRwp0ypQpQ1qsPOGEE+hrX/vaiNc9f/58WmuttZrGYXjR\\\\\\n\",\n       \"okWulc2enp4Rb8PIxgQsY8wB5xXYYotDqFAor+zdMVZZohbDY2Vdo0XSwWXHyrqMiUy12k8PPPDT\\\\\\n\",\n       \"xm+EsXLh8/A6ehsVqWSnw5iQXPbQ3bSqE6/1n5W9C8YqDIQbGA9G8tsM5xXEqydu24imTR2Zw3rR\\\\\\n\",\n       \"4hptuNPjTlCbNm1aY3wn3FfG2MAELKPjPP300y4++E9/+hMtW7aMNt10U7rgggto5513zrU8Wz4h\\\\\\n\",\n       \"XpmAZYxMJIo7tK5Oik4rKvSp1sF1JR0SnnifTMQyho8OCzBW7nmAeFWMTMAyJiYjfdkeC8TiJd8w\\\\\\n\",\n       \"VuZv85SpketGQq3+zA7xSgpYnWL27Nn07LPPNo3DMLZl7qsVgwlYRkd58cUXaffdd6c3velNTsCa\\\\\\n\",\n       \"OXMm/fe//6XVVlvNStpYgYxEdBqpYDVWHmbjDgpcukyGK2jFHRTDDMMwDMMwjPFCNalRNRn5OkaT\\\\\\n\",\n       \"XXfdlf74xz82jbv66qvdeGPFYAKW0VFOO+00ZyOF44rZeOONrZSNFSzYDEeAilaSM6sT6xmOKBSP\\\\\\n\",\n       \"cD28z+1uNxLbNjHLMAzDMAzDWDkgV9bDDz/cGH7sscfojjvuoNVXX5022GADmjNnjosu+vnPf+6m\\\\\\n\",\n       \"f/KTn6SzzjqLvvjFL9Khhx5Kf/vb3+i3v/2ta5nQWDGMFauAMU74/e9/70IFDzjgAJo1axbtuOOO\\\\\\n\",\n       \"9OMf/3hl75YxbmHxJxqmGCSX1+vKM+9w1t3OOtqhE9sbSVmMVrkbhmEYhmEY450aJR3p2uHf//63\\\\\\n\",\n       \"e19FB4455hjXf/zxx7vhefPm0ZNPPtlkzIBYBdfV9ttvT9/5znfoJz/5iWuJ0FgxmAPL6CiPPvoo\\\\\\n\",\n       \"nX322e7iP+644+jWW2+lz372s1Qul+nggw/2LtPX1+c6mQzQMFacDh91YL4soadT22+1jjw/2Elg\\\\\\n\",\n       \"e3JZPT0ZJScWL8vLj67l2zAMwzAMwxi71Ny/ka+jHd74xjdSkoSfYX/60596l/nPf6zxg5WFCVhG\\\\\\n\",\n       \"R6nVas6B9c1vftMNQ8G+55576Ec/+lFQwDrllFPoxBNPtDNhDEO4Gm6oYNRhYSxawcfgAz++rX60\\\\\\n\",\n       \"Q9tK2iiHWo5yHW5IY55jMAzDMAzDMAxjImIhhEZHWXvttWmrrbZqGrfllls2WS81iC1++eWXGx2a\\\\\\n\",\n       \"PTWM7PxJ7Qo/7YTQ8fpbrStuMa+ex9d1OoRwuNvT82TtV959H25o4WiUjWEYhmEYhjGWqSZJRzpj\\\\\\n\",\n       \"fGMOLKOjoAXCBx98sGncQw89RBtuuGFwma6uLtcZxugIIr7+0Hy+efKMC82TZ75O0m74n28+Dkds\\\\\\n\",\n       \"ta6ojWnthBkO9xgMwzAMwzCMVZXh5LDyrcMY35iAZXSUo48+mnbbbTcXQvj+97+f/vWvf9G5557r\\\\\\n\",\n       \"OsNYsYbRvGJXHqEp6tC+rWhXkU9Y8glEWQIUz+MTrLJErKx15YH3tZpzfsMwDMMwDMMwxjMmYBkd\\\\\\n\",\n       \"5dWvfjVddtllLizwpJNOci01nHnmmXTggQdaSRvDYDihZFluKjlPNMxpcYfErNGK4K7l3EZNHFMh\\\\\\n\",\n       \"MN0nVIVcW3nyX+URvDS8b5YfyzAMwzAMY7wC91TVHFhGC0zAMjrO29/+dtcZxsgYTp4r+bedebJC\\\\\\n\",\n       \"DUOC1nAFsjzLj4RWwhgLTK0SumeJUlmuqlYi1UgcWTg2S/JuGIZhGIYx3rAQQiMPJmAZhjEGaTfX\\\\\\n\",\n       \"lVyunXVGoyRiDSdX13AFrVbiUmiZkKtKi3w+wUvntYqGGVrYbp4CLifLb2AYhmEYhmEYEw0TsAzD\\\\\\n\",\n       \"WIWdV3mEn6xWAkOiVNYyoW2069LKu81WtONISjwhgzI0L+SOitsILwyFFvr2M2/ooQT7YuGEhmEY\\\\\\n\",\n       \"hmEY44lOtCJorRCOf0zAMgxjFRavstaTtZzPYeVbJuTKitvYXqtjyhP6mEWeFv5Y8MkrsrUjaGkx\\\\\\n\",\n       \"ix1Sen/0Mj7yuqssnNAwDMMwDGM8UetAoghLNDH+MQHLMIwxQLsiTtb80QiEKN/yeVopDM0X2kar\\\\\\n\",\n       \"Zdqh3eTpefJh6fIKhRGGXFat8lxFGePaEbHyiHeGYRiGYRiGYYwHTMAyDGOMkDeErpXoExJjfCJW\\\\\\n\",\n       \"Vg4r2R93yMWVZ/6RIN1QGt+2fIJTEggZlIRyboXyYmlRKiRS5cmdJbGk7oZhGIZhGOOBagdaIRzp\\\\\\n\",\n       \"8sbYxwQswzBWkbDBLOGqnTxXentZzql2Erv7hluFFnaaVoJO1TO//KEPOa1iTyiinsc3X5YolRVS\\\\\\n\",\n       \"mBWKqLGcWIZhGIZhGKs61STtRroOY3xjApZhGCsBKYC0Eq9azRdyPYUEp5Do1CqvVR5BK86ZJL5d\\\\\\n\",\n       \"F5km69c5S/gpqPEh4Uhup5YjX5YO5eOySNrIjxVK8i73JYQs+7zJ4A3DMAzDMAzDWJUwAcswjBVM\\\\\\n\",\n       \"HgFHziv/hqZnzR+1ELDktKz1Z4UR5gkpbCdfVx4ByyfSsHsqJPzUAoJWkjNXVShflm+8b98oY9+y\\\\\\n\",\n       \"wgrz5MZqlXfLMAzDMAzDGKtYEncjDyZgGYaxgmk3dC6P8yrLGdUqL5V0Vvn+hkQ0vVyrcELfcUBA\\\\\\n\",\n       \"6iQ6RJCUQKUFKz1dO65IOZtICUkcNqhbOfQleK9miF5SeAs5sfIKUrweX1kYhmEYhmEYY5EaRVTN\\\\\\n\",\n       \"9YE7ex3G+MYELMMwVhDtJi3Pm/NqOHmustxTcj91iGFIzCq0GXqY5SjL+8MbCsULJV3X4+Rw1RP6\\\\\\n\",\n       \"x8v5tsfJ4n0ONe204uW4jLTYJdefJ5wwr5BVaJHU3jAMwzAMwzCMVQkTsAzDWAG0I8xEwwgP1NsJ\\\\\\n\",\n       \"zSOFqdAyWaKVHK/3KWqx/VbhhFnjQ/MmOdYTSroeBcQlXobxJWYPiVx6v2Qi96z8WHqe0PpD4Ych\\\\\\n\",\n       \"2hW9DMMwDMMwjJVBLUm7ka7DGN+YgGUYxhgTsHj+VuPyhP21Gi+nSYEp5MDKWi4kfPn20TdPJ/CF\\\\\\n\",\n       \"8unE7XIe7aqS+8Yil0/MktvQIpV0ZmUdnxTR9F+5bKu8XFmYgGUYhmEYhrEqUO1ACOFIlzfGPiZg\\\\\\n\",\n       \"GYYxxoWukPjVar6QWNRKfPKNzxNS6HNaaddVq5YORwKLR3KdOoSOhScZpieXky4r6bbi9WghjKf7\\\\\\n\",\n       \"RLBW+bF8rRTK6UzIreWb1zAMwzAMwzCM8YoJWIZhjDJ5nEZRmwnYQ84pOT1PWGCW68qX14q318q5\\\\\\n\",\n       \"FcqXVRihM63dnFgykbl0Y9U8uaZYpJLuK59AVPWIVlGLnFs6Pxb3y3LW29eClXaD5Q0n1IKdYRiG\\\\\\n\",\n       \"YRiGMdYwB5aRBxOwDMMYJXz5oELzyb/UxnBWqKBPwNKCU2iZqIXo1WrdWY4s7QzLKpMQIcFGO6B8\\\\\\n\",\n       \"03SIn3ZuhZxW5BGY5LDc73YcUiEHlm8dWlTzhR764HPjE/kMwzAMwzCMlU0tiVw30nUY4xsTsAzD\\\\\\n\",\n       \"GCXacRdlhQj6BC6f80rP266AFAdC/kLClW+aL0l8Oy0U6n0P4RNifMJMaD1SJJJuKRnuJ6dJ55bc\\\\\\n\",\n       \"v1ogPJCPrarcU3K+KIfLSu+zT6hqJV7psjAByzAMwzAMwzBWRUzAMgxjFNChciFahQjKcbLf53SS\\\\\\n\",\n       \"2/aF+EmXVEjo8glReljOlyVgZYUp8n62Kos81DLCBkNhfDL8TwtYPCxD+moq5E/n1iJPa4ZS+JLz\\\\\\n\",\n       \"cNlIcUtuW27PJ1DlDTH0wfsvy8gwDMMwDMNY2VgIoZEHE7AMw1gJrqvQPKF8Vr7prcb7xCotPBUC\\\\\\n\",\n       \"4pbuD03jZVk0ywozDIluOlyxVRn5hCMp6BQCIpUcLxO0J3VBJ1Eikxau5LI6bJD7pTCk807p9elk\\\\\\n\",\n       \"83JdrcIJQ4JVXpeVhRMahmEYhmGMJaoUu25k6zDGOyZgGYbRIUJCjG8++VePD83jc01liT9agPKJ\\\\\\n\",\n       \"T5RDqNKJ2XWoYaGFU8u3nTzlFvoBr7UQsPR4uV4WqmQIIA/Ln3wZ8idbJZTileyXwxSYzuvl6b5z\\\\\\n\",\n       \"q8fzODmPHjfcnFh6XYZhGIZhGIZhjGVMwDIMYwW7r3jeVsuGBJ2Qs0nOE0q07hOV8gpT8QjWoffV\\\\\\n\",\n       \"d7x5wy4LLb41afeVrwVAnsZCj8/JJMUguR5ejh1VMtxPOqnksHRdyVxa0gnmC//zCWtasNLH1kq8\\\\\\n\",\n       \"ylrWMAzDMAzDWBkkHUjijnUY4xsTsAzDGCFaRMqaT/7NGzYYEn5C4YHUQmjKynOlhSg5jYUjPU2u\\\\\\n\",\n       \"S29D7qcclvvkG98OOgG7bzxPK6ocV9JdJZ1cclpVTdeiFW8jlB+Lc2FxvxTDWMSSrRnqZO96nXnC\\\\\\n\",\n       \"CfM6rHifzXBuGIZhGIaxMrEcWEYeRhZkahiGkYs8YYM87Avv0/OGWgv0iVGhYSlM+TqeVhTD3M/j\\\\\\n\",\n       \"ZVeqd6F5Si264jC7dtYr9yu0XTmPrwyyyisUghkaDoV0+uqNHp+nLvnG+7CvdcbE5tRTT6Uoiuhz\\\\\\n\",\n       \"n/vcyt4VwzAMwzCMIObAMgxjBZElVvnEBl8IoO6Xw9LJlJX/SgstIedVqxBCuY1CxvZ8ieKZrJBC\\\\\\n\",\n       \"X5n53EQ6ZJCRziafk0q6njg3lmwlsObpj0XrgTJcULvAZLihzIMl90c6rWS4ou+4ZXmEcmKNJJzQ\\\\\\n\",\n       \"MCYut956K51zzjm03XbbrexdMQzDMCYw1SR23cjW0bHdMcYoJmAZhjECtHsmNI+mlYNmOGGDlCFQ\\\\\\n\",\n       \"6fmzxCsWnULCVivhyzdvKJywkKOcpODj+1WWohWHwunWBnUongwD1LmweJtZ88qQO59g5cu9JfNe\\\\\\n\",\n       \"yfnlsUuRSyaYJ8/4dnJi6RBDjQxfNIyJw5IlS+jAAw+kH//4x/T1r399Ze+OYRiGMYGpUUS1EQaI\\\\\\n\",\n       \"1ezD5bjHBCzDMEZRvBrperX4w2ihSI5jRxRl5K7KI0gVM6bpkLm869X7KYf1MeZB57AqCSGGRRyf\\\\\\n\",\n       \"COUbJ/urGdMqYl/zrlfuL+ec0gIXi0xSuJLuL553tMQmKdwZxsTgiCOOoP3224/22msvE7AMwzAM\\\\\\n\",\n       \"wxjzmIBlGEab5M0tlBUGpt1WTCjPke6PPfNqx5Wcp1WYYFZYII8rqmnasRXaTijnk++YsspJhwsy\\\\\\n\",\n       \"WqyS7itfYnafuMSClRSLWCiqKCFJOra0yCSFqVqLfvmX91+GO4bCC+W8MowxlOSdWowPlbl50I3x\\\\\\n\",\n       \"zW9+8xu6/fbbXQhhHvr6+lzHLFq0aBT3zjAMw5hoWBJ3Iw8mYBmGMQzyOoVa5XXKEql84o4WgeT+\\\\\\n\",\n       \"aJEoj0PKl3xcilJSsNKilXZq8X74cmfpdev99pWpz+Hmcx5ltUKoxSoparFoxduqqH3UAheLRHJ9\\\\\\n\",\n       \"8jjltvKIWPK4qx7hLCucUNYfXT483idg5RGlzIVljH/mzp1LRx11FF199dXU3d2da5lTTjmFTjzx\\\\\\n\",\n       \"xFHfN8MwDGNi0pkcWPYBcrxjApZhGKOAzz3kc15liVQUCLULhePlEax8YYFamNLjtYClXVvFFtst\\\\\\n\",\n       \"eo5HO7P0sfKx+ZA/zDrPlS+Ej0RYoJxeVPPqkEAWuHhfZQ4sKYjxekmsU4YbhkQsuf8yPxeXt943\\\\\\n\",\n       \"uX3KELekQ0s71sxdZRjgtttuowULFtCrXvWqRoFUq1W6/vrr6ayzznJOq0JB5ugjmjNnDh1zzDFN\\\\\\n\",\n       \"Dqz111/fCtQwDMMwjBWGCViGYbRBPMzwwizxSgtSPkdSK9eVDuHTopV2bkkxKkuUktMLASFMi2I6\\\\\\n\",\n       \"1LCVuEYdcmBxfygXlW5tsJKRyJ3dWCwSsVDEIYI8PVIOKvlXli9vj48hlBNLHp92dnGZZOXE0gKV\\\\\\n\",\n       \"T7CSZRr6SidDIw1j/LHnnnvS3Xff3TTuox/9KG2xxRZ07LHHDhGvQFdXl+sMwzAMY/SSuEcjXocx\\\\\\n\",\n       \"vjEByzCMnITEqdB8ecSrrG3o/tA4Gb4nRS2fWORzWPnyWfnmKbYQsLTjSm+vlYBVyFHWMtcVo1sE\\\\\\n\",\n       \"zEqmrgUhnQtLu7Z8wg+7t6otRB65Hl/4oHZl6XxWWWIoT88SoFqJWK1yYbXahmGsukydOpW22Wab\\\\\\n\",\n       \"pnGTJ0+mNdZYY8h4wzAMw1gRoAXCasuP5a3WYc9t4x0TsAzDyIEUHNqllXilh0MhgnJ6nrBBLUZJ\\\\\\n\",\n       \"R1VIwAoJU0UVUsjDer5CGy0Z6mPLcmNRC9cVeVoCDLUgyMPsfJL5rNilJdcn3Ujsvoo9Tix5Lnkc\\\\\\n\",\n       \"O6RCx+ATseQ4Lgt5TFqE0/gcVsMRouRx28OQYRiGYRiGYaxsTMAyDKMFvlA2H1nOqtD8cQthS7qS\\\\\\n\",\n       \"4oywQRmqp0WkViKVnibDBYvKgeUTtHzr5/3z7UtIzCLyRO1kUm2Yr7JEq5CAxf0cGlgU/TIHFQtW\\\\\\n\",\n       \"3M/CF29cCmAsaPE0XqdEhiPKsD8dTsjiEc/D06SYxOKWK702xSafM8uHDm00jPHJtddeu7J3wTAM\\\\\\n\",\n       \"w5jAWBJ3Iw8mYBmG0QF8wpUvdNA3zTfet5wOD9T9Ot9USGDSYpfsfOMKLQQs/VfPN7hPhUIq2MVx\\\\\\n\",\n       \"5DqMiyKiKMIw/taPtIUBq1bXUtDQCvrxN0mw/YRqtZhqtVSUqVa1I0sKU1JIkm4sn3gUq/xW8txI\\\\\\n\",\n       \"MUvnovKFfcp8V3KYl5fhhFKgkm4q7cLSYYc+5xWva7itExqGYRiGYRijGUKIbmTrsGe68Y4JWIZh\\\\\\n\",\n       \"ZDAS55VPhJIClU/cCOU9aiVeSVeWFrOkaKWTsfuEKum4aiVg+YSvQYdXFKW32CiKnUhVLKbCFQQq\\\\\\n\",\n       \"Fqz4b1HcjVs5sQadV0SVCkSsqC5iRU7QwvTENSMcu79JkgpCmD4oMrEoJUP3WKQilRvLd561mOW2\\\\\\n\",\n       \"IAQhn4gkQxf5rzyXUjCTIpbMjyW3o7er0XmstFjlCzcMYUKXYRiGYRiGYaxMTMAyDCODeJjilV5O\\\\\\n\",\n       \"zuMLG5ThhHK+UM4oFozkfHqaL5eVFqvkdJ9glTUt5NpKXVcQreC4ghiFDgIV/rJ4Jft5mB1YeQUs\\\\\\n\",\n       \"aFToh2jF3eBwRNVq5ASuarVA1WpClYoMs5OhgOy+4n45jctOtk6oxS7pkuPlEpX0nZeVrjDpsMqT\\\\\\n\",\n       \"E0uLWbw+DYtrvjBBuQ45v55PT/cJdoZhGIZhGEYnqCaR60a6DmN8YwKWYRgdyGc1kvVI4UqLVDrn\\\\\\n\",\n       \"le6XIpXOO6XD+3ziU0iw0vO1mpZuJ4oKVCrBaTUoSpXLgyKV7GcBi4WrkTiwpJAlBa3+ftkPQQv9\\\\\\n\",\n       \"BbfMwECBkkQKVxUlWklxS7q1sqZJRxV58mH5+mXuLBl+qEMMpVglhbAsIYtahA+2S6fWYxiGYRiG\\\\\\n\",\n       \"YUiqHWiFsGrPaOMeE7AMw1D48lD5iIYxPhQi6Mtz5ZsunVo6fDCUuD3klNLJ2WUOK5/7qqSmD84P\\\\\\n\",\n       \"pxVCA/G3VErFKO4wzGKVFrBYvOLp7gjrw1mkIYJp/2DIYPpXCljYPk9Hf6WSOrLS7bGghb8ybxgL\\\\\\n\",\n       \"RpywfSAQssn4ck9RDqFHOqq0g0vmuAqF/UnBTE/nXFqhfQiFA7YKE2wn5NAwDMMwDMMwjE5iApZh\\\\\\n\",\n       \"GCNwX0VtilS+vFjMYGt8rdev82DpMELtwvLludJClHRayWk8vjTEdZXmtio2iVbo52Hu1wKWdl+x\\\\\\n\",\n       \"mOWOsJ4XKwtO3A5YtPK5sKSANTCQdqn7Kt1epRK7Ls2ThTxaMok7C0Sy3GWy9lD+qYqap5KxjBQj\\\\\\n\",\n       \"dc6rPHVBhwNm5buS43yCW94cV63CDQ3DMAzDMIx2qSWx60ZCjR+QjXGLCViGYWTkoRpJ3iuel6fJ\\\\\\n\",\n       \"foZDAfUyofxXuvOFC0pHlXRYFT3DUqgqZghY5SHzSMGqu3tQtIJIpd1XPCwdWDoPFve3yoMl81/p\\\\\\n\",\n       \"kEGdDwshhBCrWORiAQsdT0N/b2/kQgqRI6tSKdVFJ+6wI/2enFgDKqRQnkeddJ2HZQihHF8UoYwS\\\\\\n\",\n       \"KUbVhENMT5MCmwwpZBcWC2JasNKhhzyulXuMRVLZEqJhGIZhGIYxXCyE0MiDCViGYbThuopy5rHK\\\\\\n\",\n       \"mte3vVDuqyzxSk6TObBCrivdlZRIJYdLynWV9sNxFccxdXVRI9cV+qVohX500n3FIpZ0YGGaFrN0\\\\\\n\",\n       \"CKF0Y2nXleyXohULVixgpUncm11YGJ+GFKYd9qWvLw0vHBhIqK+vUG/ZUIYQVkU/n7NKIOxUJnH3\\\\\\n\",\n       \"DYOCWg+H/Ul0gncWsbiFRBlqyPUwS3zyhQD6krrzvHlaJpTrMgzDMAzDMAxjtDAByzAmPHlzXjHt\\\\\\n\",\n       \"Cl2+sEI9TuezIo+I5et8Sd5DgpV2ZYUStXPHIlbaFQqFequCkXNcsWCFfhawIARJAQt/ZQuEPAxR\\\\\\n\",\n       \"SoYWcighC1YyH5ZPwGKxCsM6dBAClcx7hb8sYrFwxaIaO7B4G+l4CFcQs6J6fix9vvQ5lonUpXik\\\\\\n\",\n       \"hSQt8khHFZ9Lua4oUCd8ieLlfugQwigwvlX9bSec0Hd8hmEYhmEYRl5qHWhFMKtJH2N8YAKWYUx4\\\\\\n\",\n       \"RhZrnj8sMSSCZCVuD7mypOtKhxRmdTqXFffHHgfWYNhgFJWaRKqensF+dmBxv8x/xaGFMgcWC0iy\\\\\\n\",\n       \"pUJugVC7sUJI1xVggQrD3M/OKils8bZYXOvrGxyP7bKgBQYGIGIVqLcXObL0uZTnU+az0qGDbm8D\\\\\\n\",\n       \"Ak8inFmyjsicWXJ7HAroqyMslkkRSwpb2qnVSXR+MMMwDMMwDKNdahS7biSMdHlj7GMClmFMSHwJ\\\\\\n\",\n       \"01sREplCbiu5Dd943/ZZudEtDfpyXkUin5Uvibt0VekwwaEOq6F5rrpcuCBcVxCi2HXFApZ0WbGI\\\\\\n\",\n       \"xZ0vN5YvhNCXA0s6sELIkEGdA8sXQsiJ27GfLFJhGncQsngahqU7q1iMqLe3RNUqwgplonXOj8Wi\\\\\\n\",\n       \"EwtPMswwVG9qSnziHFhYR+jgE08ooRaNokAieNkqoR7P82vHWLvhgYUMoc0wDMMwDMMwjJFiApZh\\\\\\n\",\n       \"TDjaFa9COa2yxKvQenTolw4H5P3T4lcoFxaP0y4rnxtLClfakaUFrRIVizGVSujSkEEpWLGAxR2G\\\\\\n\",\n       \"pQNLzsthg7J1Qg4nzEronkWrxO3swMI2WNCSea/Qzw4sGebI4hVgESsNbUSS97guanWJ8ufcVVLs\\\\\\n\",\n       \"kcNSyJEuKf7pkQKUFJmka0qOk/VEilkUmC9LSNIClU+wGk6IYJ5tG4ZhGIZhGJJqErtuJIx0eWPs\\\\\\n\",\n       \"YwKWYUwItNA0kuVD46I2+n05rHyhgtq5FVpWClahUMK4Rd6rQYdWHBeccNXVFTWFCbLbigUtdOzO\\\\\\n\",\n       \"koKWFLBkSKFM7M7jOWl7yIHFrRLKVoG1A4uTunPYoEzYPuikSjsMS7EKf2XuLd4292Ma1g0RC2WI\\\\\\n\",\n       \"vFipEYtD9YrKeSQTrxcCApYMD5SuKClaVT05r+R03obPdaVzX4VyYOlcV77cV3nzYellLD+WYRiG\\\\\\n\",\n       \"YRhGXmoUuW4kjHR5Y+xjApZhTAiG+zUiT9hg1vayclv5nGChnFdSgOL8V9qN5XNhcZihDiWUYYOy\\\\\\n\",\n       \"v+RCBuG80iLV5MmDLivpwGIBSwtdMryQxSoe7wsj9Dmwsloh1A4sGT7IDiwOIcR4uK0wzGGCHDqI\\\\\\n\",\n       \"YRbWeDwLbuhftqx+Zty+pQne0+343HdSOKrVBUE+DyxIFYUgxCGD7J6i+nQOR5QkGe4rWa94unZW\\\\\\n\",\n       \"yfmy8lV1IpyQ18NYfizDMAzDMAzDGCkmYBnGuGUkFtpQ2GBoXh3u107eK5/TSuay8glaWWGDHAqo\\\\\\n\",\n       \"Wx3kMMGy6OcuHS6V4LxKRScIVlrAkiGDLExhvM+BJXNjyXBC2QqgTvAuRStumVAiWxxkMQsiU5aA\\\\\\n\",\n       \"JUUrFrF0x2GEHFbIrSSinx1iLHK5MxRDxCq49TafQ3n+ZB1gpxYLW40jUvWoqkQkKUhxzisep1sv\\\\\\n\",\n       \"zErwrvNeFYTI5ROsfIzEUSWvRQstNAzDMAzD0FgIoZEHE7AMY1wx0lBBuVwobLDdbfhcVlrgkCGB\\\\\\n\",\n       \"cj7+G+XMgaXHSdeVFr3YDZR2cF6lohRCBweFK/6LcTx+0qRBAQvTMCzFLtkqITp2X3E/d4VC4tpb\\\\\\n\",\n       \"iZIaFaKEKEmVqahKFEvNhUmIYszGZRfFVCxHlERpqy1wRXHSdnQQoLAf7LLi/YBo1ds7uB9u1clg\\\\\\n\",\n       \"i4To5/BBztvOTrC0lcKI4jihWg3blCGE1XrZJkpw4nMh6wSPBzWV78qXz0qGFFKg5cNQ/qs8YYA6\\\\\\n\",\n       \"tJCPyTdPu2GFoWtmNFpFNAzDMAzDWPWo4ll2hK0IjnR5Y+xjApZhjCvyhPflXU+r8T6hK+Sw8u1f\\\\\\n\",\n       \"KN+VdnNpASvk1JLCVLM4NVTMKnhyXqUCFgtN3LF4xWGD6NeClRyW7qzmlggT6nEtGSZUgMOpmKSR\\\\\\n\",\n       \"/lCInHWqbqNim5VMeiVLky1R9b8lKEvFEiVxTJDDBiqRW1WlEtVdVWnIHwQrFrPYZcUCVprjajAv\\\\\\n\",\n       \"FnaJwxnRnyZyT+fjYbiwIGYlCVon5L3jpO4sYMmfGD4eFqhkfqxKwFmlWyuUYlVWXizyhDRmhfG1\\\\\\n\",\n       \"ypXlm3e4yNxfJmAZhmEYhmEYRl5MwDKMVRpfHqnh0E5eq9D8WlzyrT/0VUQ6cnSYIA+XPO4qOY8U\\\\\\n\",\n       \"qUrBMMHmEMIiFYtpwnbOZcUdhCgWozikUE7jfhluqPNj8bATsNDSH4Saaj0p1fK6TYrj/XRzghj2\\\\\\n\",\n       \"obO9c3xfHFNULFKZE1j1FKmnp0gD9c0sX94cQsjhgixaYV8hcqHDarkfDDrGmvN1IaE7xCyEE6bO\\\\\\n\",\n       \"LNlCoa9eMLqlQhleKPNX4RwNCEHMFYAKCay1IRTJ/Fw+UUzuH6/Dt35Z/4crRHGdldu08ELDMAzD\\\\\\n\",\n       \"MCYmtSRy3UjXYYxvTMAyjFUO7VLqxPrybi9rOGu83I4vp5VcRue/kqGB0j0lpxXFOF/Cdt3iYCpg\\\\\\n\",\n       \"FQoF51BCa4NwUUkBC8MsVEkxC38hWLFQ5cuPxcJWdzc8UVWKaxWKepGIqo8iTlTFyalYrMKwL8nV\\\\\\n\",\n       \"kNOhkmTVE1hFnLiqPpyUSlQod1FcKlGpq0hdXUUnSEG0wl/OeYXNykU5ybwUqiBeyRYJdf1Ixxeo\\\\\\n\",\n       \"Wi0JQUcma0+UOFUUIhL383ws6lQ9Oa9YvNLCks+FpfNr6bBEuawWuXhffNO9J6UDbip5LZg7yzAM\\\\\\n\",\n       \"wzCMiYVLhzHCEECswxjfmIBlGGOeaBTCBPPkscoTIugTr1qNkw6dUAih3rbOfeVL6i4FLXZm6fxY\\\\\\n\",\n       \"g8JWHMdULEZOwGK3lMx1JR1WUsCSghYLVhC7OOeVy49VqlGplFCJqhQN9KeiFZQi2KC4WUDOss5Z\\\\\\n\",\n       \"1zFuOAIWZ4KXTQcWi86NFfVg3WWKS2VKSjWicoEKEUIL40ZydhlCyHmu2PwlW0BksNs8jOXS4age\\\\\\n\",\n       \"9RhTrcY5sHROLD4XerzMeSVbJJTT2HElxSddV2SeLLfXSozKcoHJcbJu+1oy9OXF0gxXzMq6ri3c\\\\\\n\",\n       \"0DAMwzAMw5jYmIBlGBMmr5Vvve1sM884LS4wvjxWeliHnfHf0LIy15VucTDUnzqvkPOqUCgOaS1Q\\\\\\n\",\n       \"C1bSdcUOLXZg8TLoT5O6J254ymSiQlSlAkIFl/U2x+1BwGLxCn+5nztOMsWilg9uwlDapDjGjxNv\\\\\\n\",\n       \"cT/WWS5ThK6ri7q6u6nYXaRyV+qaSlsajIasWvdzTiwtbnH0Y7rbEdVqqesqFbhYqNKOLOnA8k3T\\\\\\n\",\n       \"ua1k3WCXlWytkLclnVk6GbxM/M7z+wSqLMEqS8TyrWMk6OvHHFmGYRiGYYxvavgQmozQgTXC5Y2x\\\\\\n\",\n       \"jwlYhjGuc1sxPuEpa9u+5fUyhWFsN2s+7Zzyuap8ObBk2GBziOBgf7kpH1axGA/JZ6UFqylTBodZ\\\\\\n\",\n       \"pJICFvdjfCMHVqlGkYvTqyeQ4ng9KWBpBxaLV+zGYhdWFiKJeyPuj/tZvMJfmZCrrs7F3d0Ud3XT\\\\\\n\",\n       \"jGnd1DcQN1oqxOyc6F26szh0kHNgSQGLjWKY7s5ihEMsutYJ/bmuQvme2JHF+amk+0quy1c384o7\\\\\\n\",\n       \"rcL8uK5VW4hSMo9WaD2+fRwJMl+W5coyDMMwDGP8UaXIdSNdhzG+MQHLGFVOPfVUmjNnDh111FF0\\\\\\n\",\n       \"5plnWmmvUJdVnjDBPNPbcWK16liAaOXECoUJ6uTuodYFtStrcDzC5xA6CEFGtjaoBSzWfKS4xR3n\\\\\\n\",\n       \"wErFrYS6y1UqJBWKl/UTLVs2KFpxvwwhZPGKnVkyBxYLWGxr8p6OupokBSx2ZLGdTDmwGsmuJk1K\\\\\\n\",\n       \"wxkHBiiqValU7KK4q0BRlP4UsEjFopRseRDgL8pDCljSOIZ+JMSHgFWtFutiUE2UPyds53HSgSVz\\\\\\n\",\n       \"YGkRS/6VYYXSpeVzarHIxMsycjnyTNOimE/8ajesMDTvcJBCnrmzDMMwDMMwjImBCVjGqHHrrbfS\\\\\\n\",\n       \"OeecQ9ttt52VcpBQyF2naMcBlTU+lHeIMoZDIYM6b5HOiSW35xO5Ql2hRQ4sCDVocXAw0o4Tl/vC\\\\\\n\",\n       \"CGUuLB1WyF13F8SrGpWoQnGlLlAtXZqKU+ikmKUFLBa2ZA4sLWBx54qkrihpAYvdV9yP9bCAhfVh\\\\\\n\",\n       \"59npxevG+CiiYg+5/FhUTkWnOE7LnXeD+6UxDKsHvCrW4FLxajBHFnJhIbH7oFglc2DJfhab9Pnl\\\\\\n\",\n       \"afLcVwN/maqqX7IeaccUi1KtwgflfFrUkvNl0enwwhCWJ8swDMMwjFUTCyE08mACljEqLFmyhA48\\\\\\n\",\n       \"8ED68Y9/TF//+tetlFdYmGDUwfnz5rzSYpOc1uoYpUBFHneVFjV8LRD6RK6CJ3wQea9ir+tKhhFy\\\\\\n\",\n       \"C4QcNsiOK4QUyhYK4bzqKidUqvYPilYQqJYsGQwfxDBELJ+ApcMJofpwq4QYBtL+xLF80irFMX46\\\\\\n\",\n       \"bFAmdGeFjrfDqlxdgYq7uqg8eTLFk7vq4YMQswZXyxoab1omcOdd5WmDxrGoHhkpw0w5NC/JOGc8\\\\\\n\",\n       \"nxS6pCOKQ/zkvFrgCtVlFrF064I+J1YrUctXj3laqzBFva5OhBfK/Q2FNhqGYRiGYYxd0vanRxpC\\\\\\n\",\n       \"aIx3TMAyRoUjjjiC9ttvP9prr71MwGrC5w4ZLj5xKQ+tkhuGhCu9XEi8kvl65DZ5/kJgWT2Pzocl\\\\\\n\",\n       \"wwJTQapZqOKOpzfnwULSdt2yIA9LYUrmueJQQZ33ato0rLlChYH+VLDSAhb+sgML/SxeSdGKQwhl\\\\\\n\",\n       \"DqzUujQYVuhDJnDnsEFO4o5+bEOKWRwPySIaO7JYMOvqoqhapeKUKRQVylSYhjIbNHXxbrDpi7U1\\\\\\n\",\n       \"DiHk6VJ3w3xI6r58eYmqVXYupetNqaiwQSnk8Hw8LEWnRAlXMpSQ3VjslpLDLOpw3eLk8nIdPtFK\\\\\\n\",\n       \"hjPKOh8SnmS9ziMk+a7ZkQha8jq10ELDMAzDMAxjfGECltFxfvOb39Dtt9/uQgjz0NfX5zpm0aJF\\\\\\n\",\n       \"4/CsdCJUcLiCVZ75tHNKT/NN94lxWeOkSKUFL53zSi7vS+wuXTssbun8V4Md573SYYMcOsjhg2xO\\\\\\n\",\n       \"YpGL52lO9J5QKapQ3N9LUX9dpOJQQXQQsyAioZ9FKw4pxLS8AharQRp2XUkBSyZxx7pZwOK4PxyM\\\\\\n\",\n       \"XC9brFiBiiKKCgWK4Shzx1tslD9HNvKiKAdO3o5D4OmcbosjFFMDWERJkoYnNp8T3QqhdF3J88uu\\\\\\n\",\n       \"K+2UknWGVK4rX78OA5RiVeiaDLmx5Dg9L7U5j2++0H7kpdOimGEYhmEYxuhjIYRGHqydSaOjzJ07\\\\\\n\",\n       \"1yVsv/DCC6mbsz234JRTTqHp06c3uvXXX3+cnRX5sj0S8Up3I11Oj8uaHhLPpOPDN59OxK7X2Wqa\\\\\\n\",\n       \"np6V98rXn3bI7cQmJY6ukyIWdzyexSqZB8uJV92J6wrVAYrR0iAEKRaw0GEYDix2ZWEc93PH0+V8\\\\\\n\",\n       \"3L94cdPfRHW+eYKd3mZo/0QX9y13x8bHycKdDLnkYS4rKQByGbJ+lkY6+pLpZ507XwJ/XR+y6pAW\\\\\\n\",\n       \"ObXYpes319OQM7LV9eO7llpde1kMd7nRuO8YhmEYhmGsGKpJ3JGuXX7wgx/QRhtt5N5dX/Oa19C/\\\\\\n\",\n       \"/vWvzPnRMNnmm29OPT097r316KOPpl58uDZWCObAMjrKbbfdRgsWLKBXvepVjXHVapWuv/56Ouus\\\\\\n\",\n       \"s5zTqgCniACtFB5zzDFNDqzxIWLpMLrh0O5NuN0X3tC8UpgKrdf30i+Fg1bb9Tmq9DhfYnbtxpLT\\\\\\n\",\n       \"dDghhw82O6lkwnaOskOOKx1WyCGEHE5YLlSpWB0gWrxoMNcVxB+4BtlxhX52YLFoBHcVhxiybYmT\\\\\\n\",\n       \"uEsHlsyWXu9v8gFx4nZ0shVCqcxhx/GXQwX5YOutELrpnImdW0cE2G7dTlWcHlF3uURxodhwX3Ge\\\\\\n\",\n       \"K+w+76bsZEOKYNDsFdHAAJ8LPhrpwKoGzqVbi2dY1i8Z/qfdWKF6x3XV586S69POK7nccJK562so\\\\\\n\",\n       \"b4ifb5/bRSe6NwzDMAzDMC666CL3HvqjH/3IiVcQp/bdd1968MEHadasWUMK6Fe/+hV96UtfovPP\\\\\\n\",\n       \"P5922203euihh+iQQw5xOWTPOOMMK9AVgAlYRkfZc8896e67724a99GPfpS22GILOvbYY4eIV6Cr\\\\\\n\",\n       \"q8t144ORmBqH45IYjrMjz3TtJPHNp+fVLpeQO0Y6tnxCVBRw42gRS+a84r8cnjbYpSJV1HAN6bxX\\\\\\n\",\n       \"MmwQ+o5M4D44nFBXsUqFSj9FvXVRisMD4YRCxwIW+rWAxeKVbJGwLmAl1SollUoqK0CwSpJUphDi\\\\\\n\",\n       \"VaNE60pRXK26H0qoSoXeXoqKRRcC6A4Q22I7FLbDB8nhgiyacUIrDLM6lSTp2SwWqdgziaICjj0V\\\\\\n\",\n       \"sXSi9jTP1WDkIwtY3HphPb2WCyGEUNPbqwUszkMl+0mFFsrzLlsvrHrGuwMQdZHXJfNk8bq5jtWE\\\\\\n\",\n       \"YCVFLC0uRWrdMidXMkyRajiCVifCA+U1agnfDcMwDMMYG+AptDZC13j9STY3EJ0OP/xw974KIGRd\\\\\\n\",\n       \"eeWVTqCCUKW58cYbaffdd6cPf/jDbhjOrQ996EN0yy23jGi/jfyYgGV0lKlTp9I222zTNG7y5Mm0\\\\\\n\",\n       \"xhprDBk/fgiF1w1n+XbEqFbzt9qvkDAV2q+oRb8OJZQumVBol6/zhQtq0cwnbPEyg60XQuSRoYPS\\\\\\n\",\n       \"qOQLI9T5sNLxiftbqA1QPFDPZcWCFLcyKAUrzofF09Bhfh7X10cJhKv+fidc1eoJpSpCUpAemSHt\\\\\\n\",\n       \"4CVJKtWxUuQWqlEcxy4Ze1SrUcQiFTcVKBUotkyhIHiYCwZACOvroxh/uyIqlwvUVcYq0pYFuWxY\\\\\\n\",\n       \"vMIw62IoUzaUybJO9TLkw9ICpT7PPhFUikpajArVH+2iioXoxaINr08KQL48WXK87vcxRHZsMd03\\\\\\n\",\n       \"X958WXq/8hA6DsuTZRiGYRjGymO4IYB6HXnp7+930UOIBmLwPI1GyG666SbvMnBd/fKXv3Rhhrvs\\\\\\n\",\n       \"sgs9+uij9Mc//pE+8pGPjGi/jfyYgGUYI6bdsD3f8p3Y3nCEtNBNPhQyGJpH59mJc4pSPuFCLxfq\\\\\\n\",\n       \"fK4tmcwdAlaxkY9J/uUIO5m7SQtZUtDqKdeIFgvRisUpzjGlx3GoIOeZWr6cEhawIF4NDLjQ2qoQ\\\\\\n\",\n       \"rNgLJNvkk54cWSoVcfToLySJc2UV0EEtwgHWwwEjzqrOcHiiFLA4ITz6OSwxiiiOIuqeWqb+7piq\\\\\\n\",\n       \"9ZBAlAevksuIk7jzNBawsBtpQvfInYskqSkHHR99Vp2QjiifkCmFFxa3JJwAXopg3IqhFMWksKND\\\\\\n\",\n       \"7kIilL5OasO4BocTjjjc+fWy8phNwDIMwzAMY3ygGwXzRfw899xz7nl8rbXWahqP4QceeMC7Xjiv\\\\\\n\",\n       \"sNzrXvc6FzVRqVTok5/8JB133HGjcBSGDxOwjFHn2muvHYelLB1Gw10+L3GHRLSsZM6h5X2iFVMI\\\\\\n\",\n       \"OLKkeJW1H9Kh5QsT1OOKgXlKKpwwnYbk4dpphXxWvqTtnKBcdlOn1lNGlWqp8ORLxM79HDbIwyxi\\\\\\n\",\n       \"yRDC3l6q9vVRLUmcJFIRwlVFyCwsgUifkCx5XWqRKBknC9WFrBj55jjHFTp2ZSGkkAUtDiFkEYtj\\\\\\n\",\n       \"A7m/7s6a1N1DcYxk+Ons3AohFseh8Wq4EUSsHmXIDR6y2DUwEFO1KhO3y1xYNc/59YUUFgJhg75w\\\\\\n\",\n       \"QV8957orc2DJEEHtf9Mhd1mhfyHxzLcPej49j56vNspili5vwzCM0efPz9yxShfzvuvsQKs6V1s0\\\\\\n\",\n       \"uTFGqKHlapd6YmTrADqf8gknnEBf+9rXqBPvtd/85jfphz/8ocuZ9fDDD7sGzE4++WT66le/OuL1\\\\\\n\",\n       \"G60xAcswVpjjKm+oYJ51D8ddldehpQWpvNPzhgZq55R2aPG4wVDAZlFDClVawuF5ChRFcZPzivt1\\\\\\n\",\n       \"mCDnxvK5skrIe5VUBkMEZeggj5PuKxasOKywLnjVBgaoVqnQQF28YtFqQKQxlw6saotgNF0yLKuU\\\\\\n\",\n       \"xPJwZUFNQqhhzOGEAIqSqx511xXgwoF4JQsNYYnlMhUKJSoVUSYFVy7swMLhcwghhxeyaAXNTJY7\\\\\\n\",\n       \"/lYqXCfl+SvWS4PPHbu0uATYOcXjpctKO6h4vByW/bJEeZqUCOX2hgRvqu3mcU75hO4sYc23jrzz\\\\\\n\",\n       \"hK7n4YhZw1nOMAzDMAxj+FQpdt1I4OXnzp1L06ZNa4z35Vtec801XX7mZ599tmk8hmfPnu1dP0Qq\\\\\\n\",\n       \"hAsedthhbnjbbbelpUuX0sc//nH68pe/7EIQjdHFStgwcqMFmeGQZ1nfdvKMy+riHOvwbZ8CgpNv\\\\\\n\",\n       \"HTIEUI/XApX0EenltcPKd6yDQpXPtYUfj2IxFbAQEecLIZQdN+SnHVsFqlFc6W9OvM75rHSnc2PV\\\\\\n\",\n       \"Ra1aXx9VBwaoUq06wUp2kG366/38dyAwnDVPvxDEmtZfrabiGfaLRTXuQschj6V+3HF1wJWFdK5x\\\\\\n\",\n       \"ecphOV6WOZ8DuOLSH3ZfKKivhUlZz7QzT9YfXwiqL8xUC6++8bqexcO4Xlpde1ldO/eAVveQlXWf\\\\\\n\",\n       \"MwzDMAzDWHlAvJKdT8Aql8u000470TXXXNMYh9y0GN5111296122bNkQkYobKUNIoTH6mAPLMHKR\\\\\\n\",\n       \"FX6XRd6XwLxhgsNdRzSMY4tyOrr0S7pcp0+8ooCPKFLjpLAh+33Ch3TzFKlYTJO3sxil82Cx8CJd\\\\\\n\",\n       \"WM2tEyZuXGF5X9hh5et42tKllNRbJORQQRaa0M8hhBXhvOLx7O0JOfp1ycqj53WwFASSWo0KtRqV\\\\\\n\",\n       \"6q0NIsm7A4UAxxXnvZJJ3OvuKze9rkoVe4iinrRVRyR0x2rQD41LJnGXQmBzHizOKx9Rf39RHT23\\\\\\n\",\n       \"LCiPTNcLUuGBsjVC6dBi/xqvSzq2dJihdHAxMtcWLyPru2zFUC4j82hptPNLIkMW5XZ8y0p0aKOP\\\\\\n\",\n       \"4ea50stZfIlhGIZhGKtOCGFejjnmGDr44INp5513dknZzzzzTOeo4lYJDzroIFp33XXplFNOccPv\\\\\\n\",\n       \"eMc7XMuFO+64YyOEEK4sjGchyxhdTMAyjI6LV1GHxK2s6dKx1O4+ZAlRrbahRSo5Tt60teuFp0nJ\\\\\\n\",\n       \"xedw0YKVFKZC0s3QsEJfC4My5xV3EGCkgMWCVjfEK9fiYO/QUEH06xxXyHslc2AtW+aStrPDigUr\\\\\\n\",\n       \"dkrpHFjVQB6sUJCYDp4seASsYn16Im70xWXLmgUsAHUJYhWHEKJfqn4cYxnHFBeL1N3V1UjUjjLj\\\\\\n\",\n       \"HFhclpwDi8uac2CxkJWGF8pwwUSEEPo6FrtYbJL1SYteOom7FroijxgjRTCJzLsl16dJcoQKZolS\\\\\\n\",\n       \"+mFH56DKI0KFQhs1cj/aEbO0yGcYhmEYhtFZahS7bqTraIcPfOADtHDhQjr++ONp/vz5tMMOO9BV\\\\\\n\",\n       \"V13VSOz+5JNPNjmuvvKVr7iWtfH36aefppkzZzrx6hvf+MaI9tvIjwlYhhEkJOyMdJkswWi4Ylan\\\\\\n\",\n       \"5m+1T1q04n75Y+ELoeJldb/PoeVz4YQcXUOXiWO0eJcaidDhN4ddVzK0TTqEZBgci1uwFkWc/Fwm\\\\\\n\",\n       \"QsdfDr/jMDs5jETtaGWwVmtyX7HjSgpYFY/7SubCIk8mJn3kuo09ucyQswL1CHmxsK9QmzgPFodH\\\\\\n\",\n       \"cmHx8fLxDQykZVHup3K5i8r1YpBlxjmvuAFELms+D9yfbhIOLt/5KygxSx5tovq1w0oLTT7Xlayf\\\\\\n\",\n       \"spSkOCPX70vA7hOBkhbXTh7hKNSyYVa+Lb2+rO3oabIMWqFFNMMwDMMwjPHBZz7zGdflaYysWCy6\\\\\\n\",\n       \"hPDojJWDCViGkclwvgK0K0SFXnTlcB63Vp5ttZoWcmf5pmt5hP/6RKmQUKUFqyinmKVdWKkrJ4rQ\\\\\\n\",\n       \"Ul48RDTh/pCA1ZzPKaFSMSFaVhkUcnydFK3quaNc2CBaG6xUGgIWdwMeAWtAhRDK9vhYttCyhi5V\\\\\\n\",\n       \"KWAxvvTjbn4IWJUKRfXs6xHUJBQOH4MUr1ih4v40CzuVJiV10SoN0+SWB7lfJm+XItbguYiciJUK\\\\\\n\",\n       \"WFKwkgnafV0oMbtuHVALWzzdN06GC3Jp1TLEGl/4X0hw8t07eFpeEYqnha5jOc131kNiUzviFWMu\\\\\\n\",\n       \"LMMwDMMwRo9qErlupOswxjcmYBlGE75QoFa0EpcoY52tRKa4TfEpJGTl2Xae9cp5fGKWFpx4mgwh\\\\\\n\",\n       \"DAlRHDqY5rEaKnrxeD1dLhs5kYQdVegPhRPqrqenHi0X1yiq1sUrKDMs7ujWB3mcCies9vU1xClf\\\\\\n\",\n       \"InbtwKoGHFhZObBkyRREp9vqkyIYyxWlapWiapUK2G9Y1bjlQak04Xg4DxbHBtbFrKg6QMW4SF1d\\\\\\n\",\n       \"BVdmKB4UkyxLOcz5sfhccOuFyKOFfFiDe8+hfEUVRCnFKp7O02T99kl4skVD7VOT8/lIVGuIvhxX\\\\\\n\",\n       \"XOoUyJel18fHK8dJ8U2O9/nofOGFehtymhTlWrmq8ghaWftiGIZhGIaxauXAMlY9TMAyjLaEKE00\\\\\\n\",\n       \"TNHKt2xo+yFXVtzmerOcX3kFs1Zils9BNSguhQUsnu7LdaXn0dNYAClSHBc4XVOTkCVD3Xz9Ta0R\\\\\\n\",\n       \"xlWKZAt9KjywqfU+3Y8WB1W4oHRejYaAJefH8le/9BKd8+yz9Ex/P23Y1UXHzp5Ne0+b1nQmXKlh\\\\\\n\",\n       \"f1nl44RgbEnDNG6aEcdWnxbVp5WKMdXKaVm3Kl/kx+JhCFlpuq2IKpWiE7MGRaYsx5UMIawFcmP5\\\\\\n\",\n       \"BCyfECUdUr68V3Egebnv2qi1ELTkNtvJnZUlgIWELp6mA0nbSfjejiAVcqkZhmEYhmEYxtiJjzKM\\\\\\n\",\n       \"cUhI5Gk1b17RSS6np/vWJyUKnscn5Oh9CE3zLUctRKKQiCT3x7du7cbS8/v2yRdqmFUmLMcMuryQ\\\\\\n\",\n       \"UBEdhwxyviXf31BurGIxcekjndIC5QV/uT8rnHBggJKBAapVq02CFHc3rbmEztt0YdM4nRNLJnZH\\\\\\n\",\n       \"d8mmC+nONZd4hS49L8/zn6VL6StPPknvXG01+vVmm9Gbp02jTz3xBN2HsEa1DPY14WPUOb5kp8uh\\\\\\n\",\n       \"UqE4qrqy0uWny1f/ldP5fA116rWqt7ou+OqRHqZAv6/++a65vNeH7xocyTXbzj1A33uGc28a7n3Q\\\\\\n\",\n       \"MAzDMAxjZCRJTLURdliHMb4xB5ZhOIYTNpg1LfRC6Zu3lVMraz7fttp5adXrbGc4FELoExh8rqos\\\\\\n\",\n       \"8cEnHPjWMZgDC4nBtTClRSuZC4v7B3NhJVQsJFSo54mSgk1T8nbZiXE15L3yCFM3rrmEDt/tMVpe\\\\\\n\",\n       \"TGh5nND/PDRryDzcDh87qS555QL65TbzqVyJ6NPXrU87vDCVJqMVwChy02966SX67YIFNK+vj7ri\\\\\\n\",\n       \"mF7R00MnbbQR/fa55+g1U6fSh2fNcjf3I2bPppuWLKGfPfccnbbeeo1sUxW++Q8MUIFbHeRjkQ4s\\\\\\n\",\n       \"tk3JcsAy3TWqFZALK82DlZWwXf5lRxYPJ0kaSpidAytqkcTdl9BdhhDGGf1yvsiTV0qHBNZyuKV8\\\\\\n\",\n       \"jiTfdamdWaHcWbU2wgR9ebD0clGL/QxN88Hbd1Y6wzAMwzCMYVOlyHUjYaTLG2MfE7CMCU6WgBSa\\\\\\n\",\n       \"P3RjzCMwMYWc80phSP5tdz2FEQparcQuHcIVChv0iVOFzMTszTmu9LKDy7D7iiPfZAuDMrRNT8Nf\\\\\\n\",\n       \"TvEUVeo5r3SyduW2anScAGr5cidgabcUQgbvnLHciVfgrG3mu3EfemhWI5yQRSvXnyR0zsZP09Xb\\\\\\n\",\n       \"vODm7y8mdGblSaJ7iaaUSrTnjBm08/TpdMaTT9JH1l6bXjt9OvVXq3T/0qU0kCR077Jl9P4112wk\\\\\\n\",\n       \"h0eJ7TplCl27aJEbx+JVxH/7+6kAFQkhgixe6eOTwpYohzhCCGGXKzvOeeUrX86BJVsnxHisslr1\\\\\\n\",\n       \"nX9dX2RYHufJIk8YoPwr622tRUL0UEgd1+NWuZ7kNBmqmEVIaNJCkD5GnS8rlCtLridq0dJhKD9W\\\\\\n\",\n       \"nuNop5wMwzAMwzAMY2SYgGVMYNoJf2nlosozPo/TSi/XyoUVWraVKyu0Hl9YU+hY9DJZIYa+0D8Z\\\\\\n\",\n       \"MtZK5Ao5rwb70bodh7HJcDUduiadQjrcjeC+YsWFXUc+N5b4i9DBJEncqzu3JCjD9T7y8EzqjRP6\\\\\\n\",\n       \"/jbzXcmcs818N+19D81qzIvu9sWL6fsbPkUvvwpSU8rkeW+kyeu9iWrvXEZ9T99PV9x9NV2+cKGb\\\\\\n\",\n       \"tsmkSbRGueyOfsOeHvf3xUqFpheLjbbx8He1YpEWCncYl1iV06XXahSrY2oKGfSVBcqoVquHAoYd\\\\\\n\",\n       \"brr85bnBPHBfVSrafVVo4cCSTiU5LEXaKCDsyDT3pJaV4o4UdfR14BONkjZzY+nU+vK60uuRopvc\\\\\\n\",\n       \"XpajSq5Hu8h82/Tti0/4yqJd0cswDMMwDGOQWjLyJOxYhzG+MQHLmKAMJ39LaN4oZ3/e+bKcTq3E\\\\\\n\",\n       \"qTziVWiePOvxiVq6066tPKKUT+gKLTe0i6K4KYRwMM/S4LDsDwld0UBdwOKORRs9Tok6cE5xKCCL\\\\\\n\",\n       \"WCxO4e/BD81y/T+si1jnbTPfDe9fH/+X55+nH238NNEbB0t8xsDBNH3GAUQz0uHJW76eZuxxEC25\\\\\\n\",\n       \"71p66a/n0PGPPELbTJ5Mu8+YQa+bPt0JVyT2gQPqpHdJ7ldjviSh2CfW6WNWwxGEr5K/LBvlWS9z\\\\\\n\",\n       \"7h+aHwt5sDhfQVb9YOGJj0rWjygQJsiiWFYYIc+nBSU5TjqgtIDFJa7HyWVCophvPVpsi9S88trL\\\\\\n\",\n       \"co5RQMzT9wJ9XFnL5tmOXq9hGIZhGEY+OI/VSBjp8sbYxwQsYwLiE4lC82WJViHXVZ7t+RxRIZdX\\\\\\n\",\n       \"KDRRL0fDdF8V2nCOhUIK5fgsYUqHhmnBIjR/VnJviFd+F5DMxcShazxPcyuECZURQtirBCuZ/8rn\\\\\\n\",\n       \"TKp3ELA4DJCdTlIsQndgPWzwx3UR66d1J9aa/yqn4tVeSryqHDDkrMflbpq2w1to0qavoYW/OpYe\\\\\\n\",\n       \"fGk+vTAwQL+eP59O22wzmlEs0vMQ1MR2n6tUaI1isSlUkUMJncSDEEIZNqgFOhk2KQWsaoXKk5AH\\\\\\n\",\n       \"K21VkEMGERooQzlD7iwpHKahhD7hkutJ4nFj+VoSZIFL11MpeklRS4bmMbWM8YzPsaTD/2otxCCf\\\\\\n\",\n       \"gMXLtAoLlNN4uZCApKXMrPl8+yXvB6EWFfW8Fk5oGIZhGIZhdB4TsIwJhhZ8QmTNExKU2s07JZfx\\\\\\n\",\n       \"ua6inPNlba+Vi8q3Pd+6W7mv9Pby5MBiAasYcFoV1bxF0TWHmvkStktHEOdk8oUNNtxCeDGv1QUa\\\\\\n\",\n       \"hBKyaMUhhdKZJFvsqwtY7HBiOUGGE3L3gXoC9wvqIhYStdMriKintXglKU5ZjWZ95Nu04Oefp6j3\\\\\\n\",\n       \"JSrWanTTyy/T5pMm0X+WLKH9Z850JYpt3rJkCW0zaVJjX6SfCcMuBxYfCydzl8fMwhWLWSgb1yFN\\\\\\n\",\n       \"ZtJwvvnCNTknlq/MpaiVClj63EvBpCbGS8cT11GW5Iqi5PPkwNJCGE+XAhIvr51bch019XOq16m3\\\\\\n\",\n       \"Rx5hynfPkYJWISBY+Y5HjwsJYb59lCIUDdOVpUUzwzAMwzCMbGqExoqiEa/DGN+YgGVMIPLe0EJO\\\\\\n\",\n       \"qLzjtKgTWq/PleWbpt1Ncrxv/XLeLBHLt18+gSq0rN5fPaxdMFLQkonatXjFSdtDzqyhbp1QqKAM\\\\\\n\",\n       \"bdMhbXp6lLAwU2+FsCHU1DtPOF1SnyZlFt3p8QfUwwZ/XhexQuJVnNRo6+cepdX7FtMLXVPp3jU3\\\\\\n\",\n       \"oVoUU98zD1LvE3dS90Y70rQ9PkJP//5brrTW7eqiLSZNoq8+8gj9buFCeu3UqXTDSy/RA8uX03Hr\\\\\\n\",\n       \"rRfcN9fVjyOSx8jHrMuhfvwIIUySmkvmnid8sClUU00LO+9C518LM9JhxUgRSs8r55GCkBRzQmKQ\\\\\\n\",\n       \"FHB0yKFeb2hcKF+VFo54333jffvI84VEppCw5ps/a1weEUu6tgzDMAzDMLKpJpHrRsJIlzfGPiZg\\\\\\n\",\n       \"GROIkYYN8nT517dcSCDifp+zKTRN73eoX68rJHplOcXyOLN8++o7BvmXMsSrLOHK59yKvP06z5IW\\\\\\n\",\n       \"SYbkuoqUiOLcV0qkkgKOFHKUqKNlCelvka/uUjh670Oz6JJXLqCl5UFRIk4mN8Sr3Z65mz551//R\\\\\\n\",\n       \"zN6XG9MXdk+nH233brquPIN6595Di/59OdX6llEUF2ndcpF2mDbN3dA/v8EGdOH8+fSz+fNp3XKZ\\\\\\n\",\n       \"TtlwQ3pFd3fTvnAOLNlBkKJElQOGtYjFAh6LXvX8Y7pcfQncQ+Ji1rkd/MviSyEgGunwQRmSJ8dx\\\\\\n\",\n       \"fZQuLSnIyMTpvhA/n+OJS1VeJ1nuK+msCt0reD6fEMTj5DFoV5pOAK/zXfmEOT0cyosl5wvB5apD\\\\\\n\",\n       \"Hw3DMAzDMAxjeJiAZUwAtDA0HPHKNy1LmMoT3qeX8zmafOP1+rPW4dsXvT9Z+63X30o0880bctY0\\\\\\n\",\n       \"hwEOHRcJUcvXWmHaRdFg8nZOKO5rZVAncW/Kz4RVsSgD0QZo8Yr/8rT6sHY0gUy3ExFdrMQrt0y0\\\\\\n\",\n       \"lF4uXkxvfXIL+sq/fqbKmWiN3pfT8bscTDe+/6TG+EW3/YHmXnMuPTcwQLNKJdp1xgx6/YwZ7uZe\\\\\\n\",\n       \"JqKSZ1/I4wwrSHHK7ZBwoskE7m7hurBVrVIhLgZzXGnH29Ak7uyaizISuUuhioMg+QhY2CIRPsjz\\\\\\n\",\n       \"uDYW1ZFKoUZO4/XpcLuamtc3jQmF6el5Zf4tDg1sFW7nCyHkbWpRTJaN3B++VmstjkOLgqG8V3kd\\\\\\n\",\n       \"VnmOzzAMwzCMiY4lcTfyYAKWMc7JI1xRhnAV5xCzfKJOaN6QQBUSonxCVsjtlTWv3pbcjt63PLm0\\\\\\n\",\n       \"fE4xFpnkPFJ04vVoMcqXzF2P5+WGilc6B5NOHO5zAumwQvdy7ROq2HXEziSe7hZJx+mgM/4rg9Pk\\\\\\n\",\n       \"eIhXLvcVn4lkshOvwEuln9HU3vXR5qDXC4d1feLuy+nmtbd24YRg0mavoRf/eg49sXw5zUTSKc++\\\\\\n\",\n       \"aAHNt69e8Y6H+di5X5YVJZluN985aRYaU/dWreYTsQoi7TyLOFJoCtVj9sLxcjqgU4pf1YBfTopG\\\\\\n\",\n       \"Uihi9HJyHi3uSCFIOpt4f3ytHobm5fXxfsoaoucLbV9OyzOsHV+SkFNLzyNdb4ZhGIZhGJ4cWCMM\\\\\\n\",\n       \"AbQcWOOfvG/3hrEKokWbrPlaOaxC8/kEIwqE0YUEHZ94E3uWzZpPizs+UUi6mfQ8OkG6XpdettVy\\\\\\n\",\n       \"ehtSlPKLUf5j1Ms1i3wcMqhzKslQNl8uJj2fE7Eg1kihigUbHs+dGJfUh3U4ns+zguGLXrlgMPcV\\\\\\n\",\n       \"Su2WNWn93otc7ivm3K3n0k+2fN5bU3Hks5a/5HJjNcZ1T3V/l9SFtVb7ENrPJHCMXiFLzKfLcTAs\\\\\\n\",\n       \"cGi5y/mkS4vP4dBrRdYV3/Xi63Qd04JoO3U4VO/lcnKa3EbIOZjnWvXdA/LcK/T9RQp8Q68fv8jt\\\\\\n\",\n       \"u5/J8ZRjvuHeiw3DMAzDMAwjjDmwjHGKdgllzed7qQot6/PF6PX4HEoh15IeL10lcv2hF1K5Dt9y\\\\\\n\",\n       \"IYeWPj49nz5G38utntZqf3wv3VoQkC/+WlAY6upK8y8NDU1ze+HJt+T2RB2eE1RiHeUlRBoWcSRS\\\\\\n\",\n       \"1FEkgXG/fuUC+pkQrzb5Zw89c9d0ou2okfsKDizw3R0Wur+H37+GdxtI7D64L6lwVUgVoCH7ENof\\\\\\n\",\n       \"/86rY5UClk/QQvk1XGyDhPJh8Xz+/FixCn3z1RffTxYcWo29UU4rX5J3neRc/pX1WpeivvZ1/inf\\\\\\n\",\n       \"NO140i4nnlf79HRYoByWbihfTi5ef2i8Hkdimi+PVx4nlXZt+ZDLWjihYRiGYRjNJB1ohRDrMMY3\\\\\\n\",\n       \"JmAZ4xAtuHRCvAqJNlnTfCKVdJXI5X05qaRg43OmyGH50u9bh28/fdsLTcsaDi2XR8AKuVf0vNoF\\\\\\n\",\n       \"kw5D9AjlVQqFsA1tAU8gwwd9cF6oNvnVKxfQeUK8+p97ZtOiO6r01PIXnfMJoZAQsWYvfZ4emHFF\\\\\\n\",\n       \"axFLCEjVJS+6v1NYueuE54UTuIeQoZQCnUxf5sPyCY2yv1Lh+sLnWoYM1gJJ2hs7VO8qHqFEZv6i\\\\\\n\",\n       \"wDCvT5/7rGGfuOSbJqfrfhbsQvm4KCOkkKfp3GCMXr8cz+vUSeJ1nq2QMKXXmVfEksdj4YSGYRiG\\\\\\n\",\n       \"YQyC8MERhxBaK4TjnjwWFcMYh1U6asO1pcNvtHjl23YovMcnKPmmh8KdCgGnkhR49PRQV8xYl29a\\\\\\n\",\n       \"SYVblXIs5xv2i1GD+y6Pk4d1aFTapTmwmsUoX7iatwZId1De30pWZrJmUVLhrzddSOcK8eqge2bT\\\\\\n\",\n       \"/g/Nou2nTKH+JS9Q31P3Nqb1lT9OH78XObCoIWJdsMXQcMIj77iE9njqDte/5L6/U1ehSJtOmuTd\\\\\\n\",\n       \"B+3VyxPw5Vf3ArPWi2QwDFCVhxinz0dzKKHeYy166pA9WVd8oXut6qGss3nqeNZyoWsm69rLM+wT\\\\\\n\",\n       \"e3VIZSuh23cvapw9eaZUv17HkDOfcR/NVXNyzmcYhmEYhmEYKfYEaYwz8ryeh17KfMM+CSA03ScV\\\\\\n\",\n       \"+FxHIXGLX059/fKFXb+otzus1xN68faJUqHlfCKVnjf0It6qbLgc5PyRN59V48xkCFc8PXjmWy0o\\\\\\n\",\n       \"ulR0ya4JW77UQ92VdOij98ymAx6a5aZtO2UKrdXdQ0tuTx1XAInZF3d/mj53x0w33FOJaJvne4Z4\\\\\\n\",\n       \"ciZX+2jOv39JR93+G0ruvIreMGM69RQK3podErCG1NghScGyCmxwnjxyhS8vmRzfLEJq552sA1l1\\\\\\n\",\n       \"JVS3QvVxpPXcJ1zpbQ73GvVd8/Ia0P157jFxG7VBntnQdN/ZzyuR5pJRDcMwDMOYgK0QjrQzxjcW\\\\\\n\",\n       \"QmhMMLLcBKH5fcuF3A5yWK5brl8LV6CQMW9oWiFj2z6Xl95vOV5v0/ci65uuyy3PtlmM8IlTPteJ\\\\\\n\",\n       \"fvlOp6H1QZnbCuIHh6zJROGtzEWIlKsmqdfGayNqzjI+uJJ6p0tflhj+7vTcFDr9xo3pvhnL6V0P\\\\\\n\",\n       \"z2y0qYecVfuuvhr94sEbqbJoARWnzXLL3LjOtrTbM8fQp+8+m17zLNGrF6bOqoU9M+iCLd9Kr17w\\\\\\n\",\n       \"IL35qdvduLc8+W/abNYa9FS5FJRE5d+ss9LUhKA8dhSqhlUnBK+JvO9yNRpZhNqxNbjpiKpVPgqZ\\\\\\n\",\n       \"t0qGE/JwY2fEX9nyYFUtK8P2dEgfVxTZIqAOcdM5sXTIoNwGz+MLGZTDslVBHq6K45ZhfFVPLi+d\\\\\\n\",\n       \"T0pvQ9Zl3YKhDlH0hQxmhS8yvC8SvR7DMAzDMIxsLITQyIMJWMY4Ie9X/7zL+cQluQ6fJMDj9TTf\\\\\\n\",\n       \"sE/E0s4JKfLwdMqYpoUlLU612i8tWmkVIu+wTyTTwpt2jWgBK8vtks7D4X8sWuGvzoPl9krlX2oZ\\\\\\n\",\n       \"GSfj2rJWVJ9Hnk1ZyrzHkB1e9dwU2va5KdQvJAHM86bVVqPfP/c8PXfJSTTrw9+iuGtSQ8SKk7Po\\\\\\n\",\n       \"yemP0jUbLqYXuqbSvWtu4hxa167/KvrPrM3o03dcQj21Cr2iq4s2JqL51Sotwv4grFLVErk/vlri\\\\\\n\",\n       \"9l0nC+MycKdMJaxqUYhchL4E+nL18tzxvKmAJa+5ohCnGlsQggsLPjI5ezKMROnUxnBINGIhSA/L\\\\\\n\",\n       \"9cgcXDpHlxTdZN4vPmbelhzH8+lpvH5X8mqYl5OilZxHJ6HnmhwSpuT2JSHRq9VyhmEYhmEYhjEU\\\\\\n\",\n       \"E7CMcUCesJW8ISta0IkyxvvGSaGmlQdG+2S0eBUStPSyvhAh3/xZ++A7zuEIWD5BLEvE8x2nT+Bq\\\\\\n\",\n       \"Pg44dWTLdjrnlQ5Rk8MSblhv8JSJeDafRUgqMsqBJcWg0BnRw1MLBfryhhvQVx59jBb+5jha831f\\\\\\n\",\n       \"o8LkGW6TEKvunrmpKuN0H68sTKHr5s6l785cg15RLrt1rVOp0tS4Rs8Xi2lusBz70iShysKUnSxE\\\\\\n\",\n       \"efyy1UNdjqpIsyIT5Wax+mo1olpNCzfaJcQClxSreD4tzPB0KdD4BKbhCFhaENMOMSlo8XjeR7nv\\\\\\n\",\n       \"8nj1euQ0Xk4fmxa19PFKMSwkakm0y83nfAsty0Q55sszj2EYhmEYE4FaB1ohHOnyxtjHBCxjHDAa\\\\\\n\",\n       \"4pVvuZA4Ix0Mcv6hwsvQeaVfh+cLCTjS5xMSuLKEq5DAVGjhotLTGB2f5ysv3/HKaXrfffmumrs0\\\\\\n\",\n       \"cXvqwPJFvXmi3IJCS2PY6QAqSZNWVzwCTxTHlGAcWhL0nDl5pqQ8x3IAuo16euj4jTeiU594kub/\\\\\\n\",\n       \"5FM0ace30dQd9m2EFA7ua0L98x6ixbdfQcvvv56m9vTQvO4umk4RrVlvOXFqLaGe/gF6oVSkWoY7\\\\\\n\",\n       \"TO+ry3/lE+ikCyuUyKpehtgFLlufmOVbDY8fLN40LLRWk/VBCjt8NDLUj6dFKsQuJPiE3FOMbl3R\\\\\\n\",\n       \"F0roc29VWziydMuDWlji/Zbbl2Icd3r9MlxSttIoty+vw2rGcEgco0C/HBdCrm840w3DMAzDmAhY\\\\\\n\",\n       \"CKGRBxOwjFUYn0uoHXzL+sQoOZ8vnDBLJAqJTFni00jmldvWopg8bnlMWmoJCVg+wcpXfnLdWuxr\\\\\\n\",\n       \"8vx49r+o+mUrhIOilnRfuT1TYWhSd5FUq6nQUtd7HKn44slzxSsulQZXKuMUMb5cdl2hv98JTFUR\\\\\\n\",\n       \"qler771PfmHphV/Zt5g0iU55xSb0+4UL6bp/XUKLbv4t9Wz8Kiquvh5FpW5K+pbSwFP3Uu+Cx2iN\\\\\\n\",\n       \"rm5656yZ9JY116SuOKaFRNRbrdHalUojyHLmQIWWFgpULcQu15YsSZ02HCGHfBzeQkSHY9UJxeqO\\\\\\n\",\n       \"rFo1ahKsuHxR1lrI0mGF2BzmE6urLxu78hwautbYSiCflHYxhcIG9Tqyfha1oOXLZeWOTq1bi1tS\\\\\\n\",\n       \"bAoJXLLWyHG+fum8ijPmlfvNwp8elkKfL2yQxUHthGuyL4r52oW3FzonhmEYhmEYhmECljHuCTmv\\\\\\n\",\n       \"tMjCf3Un59HuKp+byOds8gVz+RxYPG9za3vtubN8YppPsPI5tXzuLJ4/akMADDm3fG4sLWSxgOXz\\\\\\n\",\n       \"LaXlApeOL02TNgZl4RK3V4XI4opWKSss2qAf4g6GeTxPqwtZ8cAAxUnStLcsRbBcwcO+EsM8s8tl\\\\\\n\",\n       \"OmzddenA2bPp+pdeon8ueIhenHc/9Vdr1FOIae1Sid680Ua0w9SpVEQLiKJ0egsxPR2XaNZAhbrr\\\\\\n\",\n       \"brAp1SoN1GpUKxWdSCUzijV52lBg8lj5+LifhS0eZhGPRa66YMVdKJRQg0UrlUEXFotXEBNTUxvX\\\\\\n\",\n       \"Gy5Fd+bEEUgRSSdfl+KMzy3F6/LtrJ6vFMgt5QsflMKZnF+KM7791CIUH58vKb10VPEx8jTeH7mf\\\\\\n\",\n       \"5JmXka4tuU6dXF46s+R4XZ5ynZo8bi3DMAzDMCYq5sAy8mAOLGMVJYdK0STIhJZtJV75xmmnU8iB\\\\\\n\",\n       \"5ROL2nFbyZTbenzedehx5Jkmx/nKxydK8bH5yjXL2Sa3o/erSVbxlFnaSp1sfVCmqgrlWfKhHUNJ\\\\\\n\",\n       \"IkLjfFnfhVg1JPN4MRWIpMzGcgJLjlLA0pJCY5/q808qFGjfNdagvddYw1uKulR4mwhlROjg9GqV\\\\\\n\",\n       \"JlWrBImrlCRU6x+guFR04Y7SedUQsrilQXlcUqzSCe1VwaPsOBQzKxeWRKfW0uGgOMc4utQpx0fL\\\\\\n\",\n       \"HjYuLRZkZClLt5Z2X2kHoXRr+cY31ZhA+KHejg4XlPsaEqy0cCUlT7k8S53yeNjxpEMtuax8IZW6\\\\\\n\",\n       \"DKXgxLVQC2XymH0XWFa4oRzOI2KZ0GUYhmEYExETsIw8mIBlrKKERBU9T57lQs4j33jtZsrrdAqJ\\\\\\n\",\n       \"UxQQqtiJJMUqPc23ft/2tHOL98033G6eK4lPuPJN84Uz+vZTOrLS+SBsSAOQTuLu1hjYDS2sSMHF\\\\\\n\",\n       \"iVhxKlJFLOBo0UYKO8KhFKETSdNlCKH03YSC3FiSYClC+258pa9rRaOdxiii3mKRkjimnoE0pNAV\\\\\\n\",\n       \"x0CFaoWYokLBzdPkwuIQQT4+KV7pwhbzYhsUF4aEZLYqd3cc9XPlF6/SzVYqnMxdC6sscHC9kaUr\\\\\\n\",\n       \"66bOJRUiNC1vfiwtNvmGZQihT8ySwyweVQPCTxwQm3iaXhd5+mV56gTv8hqXZeoTqXzj9bSscRrp\\\\\\n\",\n       \"+DIMwzAMwzCMZkzAMlZBtKiiySuwxDnWExKvpJQgp/ncT1kuKemF0ZIET5fr1sKXb9l23Fm87/JY\\\\\\n\",\n       \"dfnJedspv6x1hMQ0HS45KNUUCnGTUYg7Pc6VjEpnxbmvZD/naXLDELLgWZLiDeeF6u9P/3Z1pTFv\\\\\\n\",\n       \"PL67O11Jby9RTw/FfX1U7O8fkuFIelakzCBlOnZt6WA4H3I5WSM4/5WT/OKYKuUSRQMVF9qYHneN\\\\\\n\",\n       \"ltZq1FUquRBElxOLjwvH3NOTHhMfn+4wH/42nGglV2ZVUZayTN3xKnGLzWx8juT5k+cFw678kpiq\\\\\\n\",\n       \"VZkTil1IsmRDohH/vOnwv1aEHFi1ejihHKfDBuW8UqDiY9AOLT2uKkQyHpYilxS09LK8DAu/oW1o\\\\\\n\",\n       \"hxgvp1t2lIKXdMG1qpm1wLCcj1qsR4c6GoZhGIYx3jEHlpEHE7CMcUqWOyskxkiHR8ihxNOlWykU\\\\\\n\",\n       \"8hYSrLTY5ct55ROtZL90KPm2J5chj/CVdaxayAq5rrLKWE/3rSPyCJJDnWnc6mBqhBoMH9Q5sJrW\\\\\\n\",\n       \"HNg1ztEkBZe0H0JMQsW6C6vhPNKOK+4g5kDYwvh6f1SrUaFadZ10UhU8EoEuGSnF+NJv61LTfjwe\\\\\\n\",\n       \"ZgGL3VgF5L+q1qhaV5Qg1D3XP0BrFgs0qVx27jG3/yxi8bA8Xh1KKPqrtTTMTydu5zLOCwtbWH7Q\\\\\\n\",\n       \"VYdcZ6mQkp63VqF+MrxOEgr9C+GbLtehwwmlgCXHaSGK+6UwpUUlKRTxsFyGh1nIY+eUdKXxsJyH\\\\\\n\",\n       \"t83T5Xy+6T6Hl7wXSkFRLpNXoDKH1Vjg7LPPdt3jjz/uhrfeems6/vjj6a1vfevK3jXDMAxjApI+\\\\\\n\",\n       \"/UQjXocxvjEBy1jFiEZhPSHxJjSuHYeTFqbkOO22kjJEaFgLVrqVviwBS7vG9DB5HGa6vx2yHFpZ\\\\\\n\",\n       \"4mCzIAjxSgtXMoeSTOLeKv+VzNHEIktTAvI4du4lr8VLhxByV0/wHsGdNTBARSFgsSuKhA+Hj1KW\\\\\\n\",\n       \"hMygxGckpP9o2VQGm8rWBl1/FFGpWKAojmjZQKWxnecqVRqgAZo9ZUoqYnGidpmsXncqcz7Kakj5\\\\\\n\",\n       \"qbINhQ/qfGWc0F2GEGJZnPf0nHFLh1wvdBic9Lm1CkFrx43F+AQrvS7pDON99bmZdMieznmlXVW+\\\\\\n\",\n       \"a9EXDqidZlwDs0QsOU5Pp4DMysO8jahF/qvhYkLXaLPeeuvRqaeeSptttpkTiH/2s5/Ru971LvrP\\\\\\n\",\n       \"f/7jxCzDMAzDMIyxhglYxiqEfHHLmsfn9IlyrDPLJUQjFK+KGcPaVeVzXEmpQkoWhYxt6JYNud+3\\\\\\n\",\n       \"34we5nGdEg51WfqG0/2KorhJtJK6im6FUOcWbyVgwekDwUSGvMFQVSyLDUiBCqF1CBXEQuj6+pxY\\\\\\n\",\n       \"5VaAv1i4vuJCf78LNIsCWYWkh0b6bTrpwOL+Mo+LY5pcLtGSSoWWwYZFRC9XKrT8xRdp3UmTqRvH\\\\\\n\",\n       \"hw7uKw4l5JBBDiuUrS8iB1ah6A6by4/LVIZrhtDnC8sMtkIojrVRRVAfMC2pO7HkdetzWHX6+5sv\\\\\\n\",\n       \"DFFmNJPDPK+UIauqX4YUVlTOKha0KvXhiphWaeGAkuuUNY2XG46IFRKmpIgl90kjhTzfsiGy1ml0\\\\\\n\",\n       \"gne84x1Nw9/4xjecI+vmm282AcswDMNY4VgIoZEHE7CMcYJ2BjBxG84fOT4OhNj5xB85XQpFWW4p\\\\\\n\",\n       \"ljhYXNI5rxppuT1ilp4m//pEsDwCW6gsfMPDQb/ADhXFtJtKC1PQUKSYJfUUnfNqyNaToYIV99eN\\\\\\n\",\n       \"Uw0H1hB3FWZCP+e8wvDy5YPDWBhdXcCKIGL19bm/fMQyKTu/lvPZ5qxH8jVfBpZJ+UDXRum84rNZ\\\\\\n\",\n       \"EjWgIWBhfBTR1GKRlhDRs/0Dbp39AxV6/IknaK1igWasuSZFOCY+Vu64HGRXKjUcWDh0LtuhoZnZ\\\\\\n\",\n       \"rRLqBh41XB9Y3EKoZ+rsSq8zv8tLi02jUX+1I6tVvindL0MIi2qcrBFSTGJRTE5nsUuGF/rCGLn9\\\\\\n\",\n       \"Sxa35Lq0q42XdSWc4XqTYYWJJ/RRrofPgS/UUM5nrCwQZnzxxRfT0qVLadddd7UTYRiGYaxwTMAy\\\\\\n\",\n       \"8mAClrGKkOclNMs9pdchZQA5LWucFrJ80ykgHhVa5LzSQpUcpz02ut8nYGnxTE5jh1PkOgyn4k8a\\\\\\n\",\n       \"psfDg4LQ8ASAwXA96S8Kr1OHlrG4oVun87mudKuEUszSrQ1KcYUdQ4OiVkw1tHYowwVl4nZWu9DP\\\\\\n\",\n       \"qhdsSHUrEvJgYR78dWehHk4oX/lZdiAhH3CnhSufgKVroJYyGzmwVE4s97dYpBmlEk2eNo2eXrSY\\\\\\n\",\n       \"+vr7naNp/sOP0JJly2md3Xejgk7art1XhYIrI5SVdF5J9xX/lWWvz7Pv3LEbC0WPebBO9PM5wzgO\\\\\\n\",\n       \"J/St2y9cD9a1PGGmgdrcOBOyXqduMbjC0rT7KMvUIaZFLJ3zikUkKWlKaZPPpnRcsauKOylayetM\\\\\\n\",\n       \"ilPSjlhT9wIpksly0vsRCtfkGusre5+IxevIGtbkcWoZI+Huu+92glVvby9NmTKFLrvsMtpqq628\\\\\\n\",\n       \"8/b19bmOWbRokRW+YRiGYRgrFBOwjFWE4YgoIReRz2Ekx/tkgpBrKTRdD0uHlU+wkoITSw56mvba\\\\\\n\",\n       \"+JaT4pbefipaSfFqMGH2YOdKoj6unZd9LSQMumNk+eY4a8KJpcUNHTooRSv+q0MIdW4mKa5I0WVg\\\\\\n\",\n       \"IG1RL2IBi8UrdmCxE4kFLW5qD+IVO7DQDQxQXKs5IaNQq1ExQVt99e17PHtynPToUEDAcuXiEbC4\\\\\\n\",\n       \"BvgELDcO5xu5urq6qGvSJNporbVowXPP0YvPLnDrXPLMM/TIH/9I673lLTRp9mxvni/uqpQmcGcN\\\\\\n\",\n       \"r67bDREJucx1SKE+Z/o86zrF6+N6EcqvNbSkwnVLjmtNuk6d24sdZrJxACliDYpZsjVBKVrJBOws\\\\\\n\",\n       \"WLEIJZO1y/BDXRN0GKMUhVjE0o4qV7pthhPqbTFaoJY12+fEakeMMgFrtNl8883pjjvuoJdffpl+\\\\\\n\",\n       \"97vf0cEHH0zXXXedV8Q65ZRT6MQTTxz1fTIMwzAmJubAMvJgApYxxpHOpqx5RhoipEPadFigFLR8\\\\\\n\",\n       \"YhW1CBOU4pIUmKTUwOOl+OTz1OhQQt9ycj/Qmhu34ufPGSXFKhYQfGJQFjpcTAsX7bRM5xOxtGgl\\\\\\n\",\n       \"xSyeL7S/UlDRYYQQYbAcouXQH5ViKnEuKF6QnUg8PHny4MpZxeFCxIHWD8Cdnf5+qkLMqp+RisiC\\\\\\n\",\n       \"xP0scUiZISuJO9e4qIXUWRLiVYT9xzGhmzyZ4ilTaPbs2TR5vZfp6bvuomRggKpLl9ETl15GMxcv\\\\\\n\",\n       \"pjX23TddRjqysGy5TNVq7HQ7NqBxEchy5ToROuccFsj9Mj+ZrAMyJJHPX1ZYYlNZKRFWD4+kjvN+\\\\\\n\",\n       \"hlq1rNUKokykr047sNCvw/q4RrBfj4UrFpH4PsDLuaNRwajaQcXbGxD3M5lfS4dIMjrcUIYm6m0M\\\\\\n\",\n       \"h1YiFdfykWzDCFEul2nTTTd1/TvttBPdeuut9L3vfY/OOeecIfPOmTOHjjnmmCYH1vrrr2+FaxiG\\\\\\n\",\n       \"YXQEE7CMPJiAZYxDfA4r6ViQ433LSsEqtH6f80rnsgo5rooeqcE3rxSspMAl59PiVnp8hUKhLuhE\\\\\\n\",\n       \"QuiJXDiWTwTSeacaR9rCiaXdTTxOvuDLeaUrp5UIocMJpYilXVg6B5Z0kzHsuIKJSIotLDxAiMG0\\\\\\n\",\n       \"OIppwOUpL6YCDiZC3eJE7egQRsMxbXygvMG6gBVxvOOyZVSAKwsqj3jdlwFc2p+TlYZc+wNlEKmU\\\\\\n\",\n       \"N1nAQiuDrps0iQgdi1j14alrrEGv2GRjeuof/6TeefPc/i/8y9W09IknaZ1PfoJKM2c2wgmTYpEq\\\\\\n\",\n       \"VKCBStzIXe8rSx6nyRKQ+DyyuY3XgfGtQwaH1ptQPZDb4/n5r55X1h0tnEknHw+n46ImV1q1mjjB\\\\\\n\",\n       \"L52OsMOCG24Wh3C2qkLSlLmpZCihlDx1hjUZbkgq5JDnY+lU5saS65PuMG/pcikqyVVO184rLVCx\\\\\\n\",\n       \"CGZhgWORWq3WFCYo6YJ7E/cCwzAMwzCMlYQJWMYYJurAPFmhgrJfdr7ltQgmnWE6bNDnkNJSQ6tk\\\\\\n\",\n       \"7CxGlVoIVoPT4LLC9hEaWCzGTa31ydb7fCKWdF+1cq0wWlDQuaZ806WLJo8bS4oLvJ++3Ek695Uv\\\\\\n\",\n       \"15HcN52rSebCqlQjKtZiKsoQQm6Nj1eAlzi240DJkSvijOb1HYgQQhjHlOC8VKsuvLCWJI3aIv0t\\\\\\n\",\n       \"0qPj9jlQG7U/UEqjbtiFh8YUFwqpCIf9ZfGKWxgUXWnyZNroQx+k5279Nz33j3+441r24IP06PEn\\\\\\n\",\n       \"0LrHHENT3rDHYPigy30VDWl5MJT/Sp9PnzCJ+aRQpR1YWiTNQopWsu7qbcphPV0TchNKF5YU72Sd\\\\\\n\",\n       \"qlQiUUboTyiKCo3WFDGu+R7BQhSfZem+4rPPLRdyLdCt9fF9pLHHGSWmhTCZqU2HA/paEqSAYEVt\\\\\\n\",\n       \"hg/mCS8cqdPW0I6qt771rbTBBhvQ4sWL6Ve/+hVde+219Oc//9kKyjAMw1jhpHlOR/ZbP9LljbGP\\\\\\n\",\n       \"CVjGGCdP+GDe6TLwSgpTOnxQzqMzFvmcV/yyqOUEnVxduq50wJdPpJJBYDwfC1rNTq44LqTuofrL\\\\\\n\",\n       \"O6ctkq4W7mcxSyZJ1y3CNUoh46Xe50iR/VIwyhKw8oaE6dDGrNBC377qlvFYZID+hOW4MUFOFt/V\\\\\\n\",\n       \"00VJJW1VsEnAwjCHF0rlQh6ktq7BAdXXR6Xly12oXq1adRJEwePAcvsb8KjIWkgBWdTViDh2riu3\\\\\\n\",\n       \"n5yMHQKWbF2QHVno7+mhqKeHZu67D03ablt6+pcXUvXll6m2eDHNPfFEWv2DH6SZR32WonIXVZYP\\\\\\n\",\n       \"lhV3UrfToYRaqPSJkL56IIWl4YSccr90Y8nGAXS90uuR+NxffIzSecjDOql9Pcd/vR+5wwZdWmmV\\\\\\n\",\n       \"4RogXVQyhFAmcZfOKhaZqgG3E4YHMsQszr3F/b6cVzK80CetZoURyn3Uy+n5sqbn+S0w2mXBggV0\\\\\\n\",\n       \"0EEH0bx582j69Om03XbbOfFq7733tsI0DMMwVjg1ilw30nUY4xsTsIxVlKgDLzm+vFchgUq7JKTb\\\\\\n\",\n       \"Srbw5xOookDYIAtVUqRqSrut+tmRNTgNugSLUpxnWwpWsjE9djDxsBZ/sl7ufW4mHSLmywnEyATf\\\\\\n\",\n       \"2rUil9H9El+ooz4GH9iGPCYd8saiFYcQchmUyxEVSmUqOINLXWngQpLJm7jwZEFz3ig+AdgIwnIw\\\\\\n\",\n       \"rr/f5cUq9/ZSUm+lULZPp8UrKUXw31DNjLBtiFasYLKAhWEIVcjdxbmspkwZnI7xdTFr8rbb0ian\\\\\\n\",\n       \"nUbPnHsuLb39drfNF37zG1py1100+9vfpf4Z6zcaXuT8V2xC84lWvrrCSMGRi47Pl841pZfTwhSf\\\\\\n\",\n       \"Dp+bEKdA1iNfzjc53VffW4m00n3Goh4fuxb5UG48nBr94npeMZkZTSZ0l+1V8jwyB1aFa7fYa16W\\\\\\n\",\n       \"1Lrc3nNJqqTt7mi5JALuLlkjpezKQleeXFXSOabHy20Yo8l5551nBWwYhmEYxiqFCVjGKkwo3M/X\\\\\\n\",\n       \"L1//fevJK17JUEPprvI5qXyhglqUCoUGllT/oLiFUEE4bIrFyL38skaiBSwOGZRuLHZnsdNKuq50\\\\\\n\",\n       \"WFXIeRVypTQ7Spr/ypd5KVRJN1Sr8EId7iXDH2V4YWhfpbjC4gE6Fk1YZODcYdCbukoFikplirvq\\\\\\n\",\n       \"M/POQgziHZGuKx5m9ZB3DopFPXbThfRhY/W/cbVKUV39SNB6oTj4UCuEbhjrqheC68dfFqpYTPMJ\\\\\\n\",\n       \"WOzA4nBC7ufhnh4qTplC6598Er145ZX07Lk/dsfef999NPeA/WnSMSdSbff9mtxXHEooRRp5fn1w\\\\\\n\",\n       \"yCCLVTpslc+bz1GnXVayBUopbEnRVrd6KJ1gsn7lrfM6JJWPVQqjXN9Y6ONywn7J+sdhhmk/kr8j\\\\\\n\",\n       \"tFCGFOqGJBq1QLivSirsT06TolXIjcUhfNySodyer2XCqhoXyoclc175HGK+fTAMwzAMY6JhSdyN\\\\\\n\",\n       \"PJiAZYxh2rGA6tf7PCKW9rTIfjmOXyQpIGbpHFZZ+bD8+auah5tdVixgRVHR5c5JhatUvJICFnQK\\\\\\n\",\n       \"Fq1YzJLT+AWfBSx+eeecWD4BIJQPiNFJrKWI5XOmyDArX+ttvrDDEFq88jln9D7rHEXsgPG5sVIR\\\\\\n\",\n       \"sEAxygoDmJlXghl19m7eOKsxMls4nxiMZ9UHSeL7+9MQRaECwZWlRSxZW11/XbBqSmzGJ54rAotW\\\\\\n\",\n       \"HELIidsxLIUrzoWlcmNF3d20+oc/TD277U5PzZlDlblzKVm6lJae/AWK9r6JqoccR9XapCHlKcs4\\\\\\n\",\n       \"dA6l248dV9op5yMUDijDSuV4X5ipzIMlHWBaAG2VC0sLsDqEkgUrFuE4pRrXMT7tHL7Kp3BgAAny\\\\\\n\",\n       \"kQMiFrkgpEDku6/xdB7WHj7ZLwUlWeAsXElRSt4HpTjmzoKaRwpUURuClZzeCgsLMAzDMIzxiuXA\\\\\\n\",\n       \"MvJgApaxCuITq/Iux7CjIQ86B5YvpNCXA0uLVDohu3RZlcUyZTEP+otpQu640KRPsEjFDivtwNLu\\\\\\n\",\n       \"LH5Z1wIWpoWSuPsEBZ3LSgtYvpRQ2oGlcyXJadK1Ewo9a5xRFU7oa5FQ7je3aoeO9wHigW6BEcO9\\\\\\n\",\n       \"vfXlumMqdKWOK+d44hBCuQAXrHRdyRPk7Fx1kQj92Cj6ZWxZXdGAoOVELV3Y+sRoAYtFK+5YuJJJ\\\\\\n\",\n       \"3LFNnoYQQp0TS/Un3d3UveOOtPavLqWFJ59EvX/5Q7pbV19CyT23U/WTZ9LAzFc2uY1keGZIvJJ5\\\\\\n\",\n       \"r/Q5yhKxfHnQfE5CXRekSMtFKZfX+xUSb0NhshjmFhm1gIVh1j9ZwJIhhPWo0oajLQ1lhQMwov7+\\\\\\n\",\n       \"NGF+mvAdO9dfF5L4fsM5s9xeC5cVi0c+99OAEqlkgUu3Fc/D225xMTbWz00SDDcc0MIIDcMwDMMw\\\\\\n\",\n       \"DD8mYBnjAB03pl0CISdWVvggv9RlJW33pc/O46oaFKbS5cpCtOLhwTDDUil2L7Ssh3BEmI4WY22C\\\\\\n\",\n       \"h2V+LBa9fCJWKAl6q1AqLVJpl5UMH9SiFf+Via71ciCUCLxx9gJCmwwNY3OUFKl4WxAL5Dow7DtW\\\\\\n\",\n       \"fBHqLndRQbqsdPOOstAhUrGNixUKdFDFWLRi1UIJWA1VJKTeSdHMJ2Bx/ChXCt4HFqdY0OJ8WBjm\\\\\\n\",\n       \"0ELlzqoVy9TbG1FfPJnKx55GA1vvRpUfnEhRfy8V5j1GU09+H1XePYeW7vJBl5xcnlvd8XnRidrl\\\\\\n\",\n       \"4WSFG/rEJi1ccnH46rUMI/S5s1o5D2V94NMTqte6YUpUBy1g8XyySqCfI0xZeO7vL9DAQOJcWYNh\\\\\\n\",\n       \"gdwKoXRBub3PcJZKUQn9XL94XYzMueWOWCV1L3im83LcL4UzOSz3VQfH5smdZRiGYRjGeMVCCI08\\\\\\n\",\n       \"mIBljDPaDSXU7ioZQqPDAaVgpcWsUKhgq9BBX06sNGwwipDnKqaurjRkUBpqWMiSohWiwaSOwaIV\\\\\\n\",\n       \"vwj7Is58rhUZZpWFL4m1z4WjX/R9rbP53FnoWGyS4YUM90vBwbffcjkpttWj+NxfLMM5iKTgkQpc\\\\\\n\",\n       \"EcVxkuYdi4pUQkE3qpMStNjaxYUsFUM+CaxuaAFLx6HpZvl4e1qV0dn6ZfJ47KuuMFyJdPggC1j1\\\\\\n\",\n       \"fFgDUdElF4cwxbuavPHdNLD+9hR/93NUnPsQxZUBWuN3J1H5/pvoyXeeTJVoelO90OXvy3HFh8Ui\\\\\\n\",\n       \"pTx/OtzP10kHlm5tU8+Xp863CmPMU+elJokOxS91Sw4nlCGE3A+xq9ldhvrnSo0qlaJoHlrmouJk\\\\\\n\",\n       \"6pzzSv6068TqoVYIeZiFMR6vHVm+lgplrix2e+mQx5GEDhqGYRiGMd6xEEIjDyZgGeMIn7tK57ui\\\\\\n\",\n       \"FuKVL1RQhwvq+bR4pUMLtUilWxgcKmAh11WhUGgSqaSAxSYaFq04X7fUMfQwv9DLJO6yNUL58p6V\\\\\\n\",\n       \"EJ3R7ij9Mi91mZA7hXMfSXHL52rR4Vq8PS1YyQTdGp2Ti/MQ8TqwXzIZPAsKII7rIkK5SIVSTFEt\\\\\\n\",\n       \"3QmIC0M2jA3JFgm50HkDWQIWqz88LA9YWoRkqKJPwOKTy5WH+3lYOrKEcJU4QaubklKZKgOD4hVH\\\\\\n\",\n       \"Pbpu1sbU9+XfUvdF36ZJf/+l26Wp915Nm869h/77ju9Q71o7DgkFbbryRN2S09mdJZOqg1AuK6nf\\\\\\n\",\n       \"SZ0w5DLUUZdyPT6XVwjtEJTiq2yNkcMqOUyQT/Py5c2nXaZF8znE0tOc3m+QFysNKXR7EsiBJZ1P\\\\\\n\",\n       \"jb3mq0C4oXhY9st1yvlC+bH0+nTIov7bStgyDMMwDMMwjDAmYBmruLsqpLLIly05b7t5r3wuLC1a\\\\\\n\",\n       \"+fJhsSjFoYOyZUF0XWJ8uWm+QqHYEKtCphmpSchpvnBCdmBJjUNGnQ1XwPLpLVnhVCpXedOLvnRk\\\\\\n\",\n       \"ZeXHktNaCQ0SXgcLZjg+3jaLEbw+mcNLC2fpPsXU09NDsba2SZWRFR9WEtGPcdzPAhbHlPkKUG6U\\\\\\n\",\n       \"d9Cn6rCSwydcnmyuRNKmx/vJ7iwZUlguU61QciKLjHrkMDccgptW7aLF7/oylTd4Lc387ZepuPxl\\\\\\n\",\n       \"6lo0j7b61f/QE7t+lh7d4TBXz1u1QhgilMtKu6d8ud1CTsOssFmtB3ZKwGKRSua8QrHLsEHsF5c1\\\\\\n\",\n       \"to9TIcuap/PxIC9WX1+53kphpd5poZ3EMHJegYrvLAjRSS7bOFrlSJWuq1ZIV5bcnq/FQjmNlw2J\\\\\\n\",\n       \"cYZhGIZhjFcHFsIIR7oOY3xjApYxzvHdxDjHlS900JfvipeJ2wgT9DurmlsWlPMgZLDgErWnolQa\\\\\\n\",\n       \"Msh5tTkKjAUsLW7xNK1TSA1DNlSnX/p1q21ZIYTsZNJhVFJkkqKUfqlnZ4oc5pd7DumT0zlfuhTM\\\\\\n\",\n       \"pIMnq6VCvd8yvRSLWHysnP+K18mOoGaHWNRISF8qFqlYiqk4rTBoq+H4L05khIJnMQsnxZcMydds\\\\\\n\",\n       \"He8k75COpwN8sqQy42t+Uotr7MASamjS00PVuESVakwDfdEQAYvNYtKNhUNY+so96YVPbEXr/+4L\\\\\\n\",\n       \"NO2p2ylOarTxjWfS1Cduorvf9C3q75rlPRc+8VHWOV0npZFNhwLq/PWyKLSApZ1aOpm7LOKs+q/d\\\\\\n\",\n       \"fFxPtBjLYi2nROPTzvWcTXlcvpzvnwUrTkDPx5GWU0RRlFBvb6F+HUqhRzqytDvL7b0+Gi59lR/L\\\\\\n\",\n       \"JyrpEEJeTotanCNLb0u6rwzDMAzDMIY+leR9rg9hTxrjHxOwjFWEVmp6q0TtoXBCPT6rC7mxsoQt\\\\\\n\",\n       \"Pb5ZtOIE7yxeIWE7pyVinUGGDnK0F4tXchqLVj6tQubD8jlVml7mo0RE9whHRP2N3v2w4CXeuVGi\\\\\\n\",\n       \"IY4rHT7F+X44FxC/2HMIITrWdDgPlUz8LUMNOUKP/8pk8lnwMjLsUIcSstjAsGDA2+FleB1JV0xJ\\\\\\n\",\n       \"CWoHUdxNFBWLFEnVgRUJeYCsXLB6gZPDCogUsKTappFKC6sxUunwCVjoZDhhvcIk5TIlxRLV4hIN\\\\\\n\",\n       \"1JAsHK3fNYtWMnzQl3e+f8radP+Hf0Zr33A2rX/T2Qh0ozWfvoV2vfjddOcbT6Nn13l90+6HHE46\\\\\\n\",\n       \"DxUfknZcaeFKR09yPeb6LyMsfWG0zY6sJK36UsDlCu/Gs3KaJhrVIa4675XMtcZRpChDznvFLWBy\\\\\\n\",\n       \"vjWdk4uFVBZTOcwQO4hQQr7OkqSkHtlk3UFF5mPg/poaL3NfsSAlwwND90TGFx4olyM1TQ9nPW6a\\\\\\n\",\n       \"8GUYhmEYhmGkmIBljEMRy/dy5Xtr1vNQhuvKlw8raiOZe8kTTjgoZsVxsZGoXaYq0kJVPb92k4gl\\\\\\n\",\n       \"82Fp0cqX4D0VAZCU3CNg4cWZahTJRFOs3gjlAa/5SRRRFZPx8o6XeLy4iyTt7FZiXYZFDzYnsVgl\\\\\\n\",\n       \"NR2Z4Jpf7mWYosxbxbvG7qzGviXZYV++hO98iFIYk/1yOzK8EMdIPXBiITdWXRyKY4o46RGUIJmx\\\\\\n\",\n       \"mw/WFz/py3bvw5edPBRHpxOh1StWUp8G8apKSNbebCLTjSVKB5YUsBr9tSI99pojaeFar6Gt/vIF\\\\\\n\",\n       \"6lm2kLr7XqTX/Pnj9N+tD6X7djyKKCoPyVfmE69kziredanVsYglXVbSgSVb4tSNRKbDydAWC7F9\\\\\\n\",\n       \"9zdxdR8i3JDK43YuHY+6n1Cc1nslYKX9ae4wedq5SqB8+RpgpxXGSfcYn2Ig2wbQbQXgXgPRMdU6\\\\\\n\",\n       \"tQOL72FapJJJ3bk/ychzpXNm8X2SRMuGWWKUDhuUApaJV4ZhGIZh8JNH5P6NdB3G+MYELGMc5cNq\\\\\\n\",\n       \"NV2LT9pJpUUsLV7JBO1SmJLjQwnafV2pkfOqnn5oiEgFvQHTWHtAP4tZsl9GhEnXFr/wy9YLS6XE\\\\\\n\",\n       \"uawiKE4spgzgLRy2EtFsoE8JErFVcBsV6yJKiW0tcUxJVKBKbdCdokUPGUrF4VKs5WitBx0LWJiX\\\\\\n\",\n       \"h9l54tN6tHGJQxDlNHl4bHaSebJ4O7pVOS5Pub/YL5ybYrHguu5pmKF+gJigEyBJe5psktGXsT6E\\\\\\n\",\n       \"L7O5VHy4P5QPq1Ck3oGYKr2DOpt0WfF5aSRur4/nTmpwMgpy4Vq70A37X07bXzeH1pp7ndvVze49\\\\\\n\",\n       \"n1afdwvdusd3aemU9dO6I/RQHb6qHVLYbSlg6dxuPK8WbbW41dRCoROqRIzrQCD/mM/eV9/5tP47\\\\\\n\",\n       \"y+LgiruKlMQF586S5YbTrsMw+a/MgYXqsnRp2s9CHQteLGzhXHHZ8bJLlxbru63DAFnM0sfB4hE7\\\\\\n\",\n       \"sbSDSt4H2YnFy7kryCN4yem+8EUtrvmQSeANwzAMw5hIWCuERh5MwDI6yimnnEKXXnopPfDAAy7R\\\\\\n\",\n       \"9W677UannXYabb755qPsvJLiU1Y4YdY6fCGCPtFLT2dxqyhELP6rWx8cFK6iCM4rtDSYOq+kk0o2\\\\\\n\",\n       \"EMfOKu4Xjca5HFk6J/fQBucSKsF1klQpqlWosBzKQ4UiFlG0GiTD2IYUU2qTiXzNwvFbdowWFHFs\\\\\\n\",\n       \"sXuZL00q0EAlDXlipw+LQSw0SDcK6zq8WhnaJ1sGlHoPu6W0E0u6pVg0YUFLhiSyLieFLZlnSxZP\\\\\\n\",\n       \"qKXFYjFyZZ3UYueoKxRiKkwqUtTVRRErXlr9CTmwspJ7SauSzkCuHVj1CpEUCpQUilRFYvVaTLVK\\\\\\n\",\n       \"TH1ONEnPiQ4T1OKVzlUmtTeZs8wNd61Gt+x5Nm18789pq39/mwpJhdZ44V568xXvpjt2PYme2WS/\\\\\\n\",\n       \"RvkOtrI3tDVBHSbI42VUZLMw2yxasfkMbkPUfwi2EK2i/hpFrv63aDkg4xqIQqpb3TqF+o/roFgs\\\\\\n\",\n       \"UrlUoIEuOLJSUQsClBTjpANLu67YccW7yKdehtJiX9JzyDmxpMPKXSnqp16GDxZV/ix2S8l7nXRf\\\\\\n\",\n       \"+RK+503ozuuQ9+qampa1vIlahmEYhmEYEx0TsIyOct1119ERRxxBr371q6lSqdBxxx1H++yzD913\\\\\\n\",\n       \"3300GZahjiZib9XPw77QwijnsE+sYsFKhgzyPEW1rC+BO4cNxi7nlXZKSdGKQwWlsCXdWXI+2aic\\\\\\n\",\n       \"E7nKNffiXizUqBjVKNKqhG76TwopWRkUfeIVv2UXCk7cKgglISmUKS7GVI0jKhbSskHYkwwhlKti\\\\\\n\",\n       \"TY1f0Dnvjwz945d5mYRd5zzneeU4qUmwiMXjWTDgYbmszLeljVLcn7q20pxg7MYqldLw0KhQpahY\\\\\\n\",\n       \"oqiUurMiVn1C4gnwueB81iWPiOhCBAtF9xcionMFRcUmEUonFpcOIWkak9VFCllad+Ndd4eTRPTI\\\\\\n\",\n       \"VgfTwpk706uvP5qmLplL5coy2uWGL9Dj82+ie3Y5jqh7krcaydBW6baSueil+KlFrHS+hLq7EhcS\\\\\\n\",\n       \"iA71n6rioHzJ830nNYQvw3y97F0etFKJivUdKpbLVECy/zimgWKUCpv1y0Vqj+iXdZNFKt4cNx7A\\\\\\n\",\n       \"9ZKH0WHTtRrCCROqVovC+cQilS9MsBgIG5RhhlEgH5bOi9UoGM90KVrJ+qyXC4Uh5hG4DMMwDMNY\\\\\\n\",\n       \"1cHzYzTCVgRH2oqhMfYxAcvoKFdddVXT8E9/+lOaNWsW3XbbbbTHHnt0aCst2rn3uq5auaj0clKw\\\\\\n\",\n       \"YlFKClAyrDDUEmG5KVF7c4uDJZfzSjqtuOOWB7njUEH0T5niDy/EMKZ1dSVpi4Td2GqVYoSy9fb5\\\\\\n\",\n       \"Exn5XuB1+KAvB5Yv/5J0YEnloVSiqLvbvcyjS0rI9VWkSjWpu1FSV4oUKtiJhY5D22TecnZjcQJ2\\\\\\n\",\n       \"TG+c+frpY2FL5sdicUXmE2JYCOBk8fjLBjXeJ+nukfm62D3H87EwkR5+5I4XXRHF000U1yqUJP6y\\\\\\n\",\n       \"j/SO6eRdMgM68jCFcmBFMdXiYiNCriIcVlLD4c3r1gX7PVqPFLRCabt0I4ovrr41/W2/y2jHW75G\\\\\\n\",\n       \"Gzx+hRu/0X8voTUW3kF37HUGLVvzld6wQR0mqFJ4NQm+LGil09P6X4QgRFWKKohTre+0TOzlE3B9\\\\\\n\",\n       \"BxS6BmSyLl32fDB1VQ350Erourqoq6dIPT0RLe/iEFoIWoMJ3uWiLG6xoAe4fFjElc7B+hxOyEpd\\\\\\n\",\n       \"WLqTIXz4WxX3Kh6uCHHLXRni3jjgcWnp+6VsoVD3y/uzXLcP2aqhYRiGYRgTgXZaF89ahzG+MQHL\\\\\\n\",\n       \"GFVefvll93f11VcPztPX1+c6ZtGiRTnXrh1TWtjS4YShdbBTKtSqoBwOJWyXwpYclv3lRr92VKXi\\\\\\n\",\n       \"06BIxWGCEKggaLELS0/j3Fk8XC7BbVKlqHd5KlwNiMRF0oHFiad0PJh8afc5UPjtmfs527Rs3lAm\\\\\\n\",\n       \"J0I/YgbTJFGpI6Wr24VYlbrgPis1nECcz4eFFM71wyIK98t8VyxqYbpMCg58DfnpMEMWwViDYGcX\\\\\\n\",\n       \"C1nsBOJpfHhSpOIcRTwtq8XHVOMruFYnC0jcXy6n28dx8At7VguEnvOAZOIufRnEKoRqDkSN4/Tl\\\\\\n\",\n       \"q+LTjv2WopQUrWTVYK1Ht7LHu9nKsFQpTaZ/v+5btHDd3Wn7m0+kYrWXpr70CO126QH00Ou/RM9s\\\\\\n\",\n       \"80Eql1MhhwUcri5cnizosLtQCoeDQlZCpSgNDYz6q0R9QrDS4pUsGB7PKp205fnOA1cY7vfFOuq4\\\\\\n\",\n       \"xnoHMavY1UVTunuo0pWGD3MIoRRueTVAJq6Xm2LBleeTLsXeXg4NZDeTPDkybJD705qU3q8aByqG\\\\\\n\",\n       \"a55pmlaCkxS/mIJwfVn+K8MwDMMwDCMbE7CMUaNWq9HnPvc52n333WmbbbbJzJt14okneqbkzV8V\\\\\\n\",\n       \"Iit0UE7X8+twQV9+rFDOLB1a2BxC6ISLwmDOK5lwnUUqGQYoQwbRsTuL+wdzYiXUVahQoVKhuDqQ\\\\\\n\",\n       \"ikayWTnufBYbmchJ5/+RqoRsKk6Gr/FbtWz+jRUpViDqSa8ijKvV3It85N7EoeshzC7S5qLGXx4v\\\\\\n\",\n       \"cwCxKYb1BRacdIuEjHZb6Wky7ZTMp8WiFTrp0OIk77LYeD7O78U6But7LHzhWNMii2ig0aAgWoWM\\\\\\n\",\n       \"G63fRS1chkklnY728tL9jIaITNI1JSMWpbNKpuKSw1LIkgKWDhfUKaNCRHFEczd9N708e3va6e/H\\\\\\n\",\n       \"0PQXHqBCrZ+2vO4kWuOpG+mxt32dqDy9Sfvx5bni64BFHW6F04XKRhWKK/1peCYOBvWfDxh/IWLp\\\\\\n\",\n       \"uEjZlKI8yHauAXmC5YmXMY/1ayCqOx+dd7NQoi7kyppcdHWB65hsaVAKrDpME6vk+eU5Ts876kOh\\\\\\n\",\n       \"7sTCRVYVQpYUjXS+q1AOLB0yqPNXNc50IHxQhxIOh5H+HhiGYRiGMZaxJO5GHkzAMkYN5MK65557\\\\\\n\",\n       \"6B//+EfmfHPmzKFjjjmmyYG1/vppa2Ujf2Hx5a/SYYS+ebKGfUKVdm4VW+a90i0G6pxXUsSSYhaL\\\\\\n\",\n       \"VhCwJk9OqAvLldIcVxFe0iFU4S86dl7hZV5m6tYv8FkhhL6Xd1/4oK95OI634zhBjK8rHxCzCgip\\\\\\n\",\n       \"g/smjilGSJzbbDQkWotf0hnp+OH8VY0zLpJcS2R+qyG1JGoWsFi4ki0T8nZwKOyIkcICF4lsQZHD\\\\\\n\",\n       \"H6WrRjqN2EgFUTMt3rS+I09SFrqhPCkoyehQ7ZqSIYTytLOAxcvJqDqeTzuueNiXqovLVP4FS6dv\\\\\\n\",\n       \"TDe+8ze05a2n00b3XujGzXrkrzTtp/fQY/ufQf0b79hUjbSJSYYQQrTtxnVSQp6rKsUsUsk6L8Nm\\\\\\n\",\n       \"WcDSdjN58PoaCAlY3K9DCOVOc8cFiG2lyarccKGri+Lubip0xa7+p6ecz/9gXjfepDy32C3Z9oJ0\\\\\\n\",\n       \"JkLMRMJ4iFeD+bBYwErq/dyKoBSp+H7my4FVyxCvtOjl9iLwsWAkvn4TrwzDMAxjPGMClpEHE7CM\\\\\\n\",\n       \"UeEzn/kMXXHFFXT99dfTeuutlzlvF3LDQLHpyBf4uM3ldeihFqL4rxS9WJiSyZCbharmFgfT/FeF\\\\\\n\",\n       \"QsGFSsnWBLU4xWGBMrSQXVcYnjZNClgJTepOKEZy6qW9REuWDMYiLVs2+DKPcfJlnuPzZFxZOyGE\\\\\\n\",\n       \"vhxYWbYZbFuqdawAwYWFbXd1URF5snq6KS4gZ9Sg3iBNLoBDCYFOSyRzY/F0iczNFEJGSPLh8T5w\\\\\\n\",\n       \"iBcLUyp3vQoTbHZgDWmosT5drl9qIxwWNhwBS4b0SV2Gh2Xqp6wGEX2mJFlFWkU6yrJsEhe7uuih\\\\\\n\",\n       \"Pb5Cizfelba4eg6V+hZT9+L5tMXPP0IL9z6Slux9GJXLSICflhc7ELn6sOvKCVrlJA0VXCqEWy3a\\\\\\n\",\n       \"8jWQlaVeN2Qgxay8IYQyzk8n65IHwepz/YCiKVOou7ubylPKVChGTfovlyOXpQwb1KnSOO/b4LUQ\\\\\\n\",\n       \"OyFrUMRq1B5PsnZ3RkVeP7fWQKuD6brTjsvHF/4nnVcamY8rhIUUGoZhGIZhGM2YgGV0FHz1P/LI\\\\\\n\",\n       \"I+myyy6ja6+9ljbeeONRKmFfAmHftBDSUcXD+iWN16UdVlq48rcy2DxcqotXqYDFL+L8VyZul6GB\\\\\\n\",\n       \"qctqMGE7OvcuXE6op1yhePnyVATCyzoELH6BxzBELH5xZ2cWC1iYrpMd+cKn+AWelSLpwNJJ29lS\\\\\\n\",\n       \"5LLI9zSHULFoxcIBv8xz4vJajZJajcqlLip0oQW/2Ouo0iGFPJ11B94ddktx7ipGO4Z06JtcJ+fc\\\\\\n\",\n       \"kom0ZeQkp/+SYhaLb1LXkJofD0vRSgpavO08ApYU5LTmIp05crwOL5SilRaseBu8DmlI8omBuqVI\\\\\\n\",\n       \"X8o0rkLof3GzPenOdS+nV175eZr21H8oSqo06y9n0rTHb6alh51GhSmzhgpW9WuiVKhRIaoSLe+j\\\\\\n\",\n       \"iMVZDpvlOs/jdf3HAXF4rW5aEQfGYpbvgGVrAroy8MnFX9T/QavYoAOR++tuLDRwwIUcl7uop6ub\\\\\\n\",\n       \"kmQwpFbWYyDrI58XdgxKUTNt2CAt+OXLSypkULdKKBO2o7/icWe5s61qoZzmc2jlFaZ4WLq6LAOr\\\\\\n\",\n       \"YRiGYUw0rBVCIw8mYBkdDxv81a9+RZdffjlNnTqV5s+f78ZPnz6devBSt0Lw5bzSXUj48i0v5/WF\\\\\\n\",\n       \"C+pxQxPBIyRMhkXJ5NPSWSJDCFnQkv2peFWjcrFKxYG6s4qdJ/IFXgpY2pnCjhSdA0snONLhU/wW\\\\\\n\",\n       \"HWo2jh0o6Mc62EaiFRKg3S0JsjkRFZwogPxBOO64ye0jhRQO0+NdZKGKRSwtqEikaCXDEnmaFGGk\\\\\\n\",\n       \"XsfrxjKytUIeltN02GCo4UY9TW6T90HvnzwGmatLi1c+YUuLVDKHl55HOq6kniP3QZv0uLU8H/K4\\\\\\n\",\n       \"+Hirq61NDx/8c1rvxrNp5rVnU5Qk1P3QzVQ66d008KlTqbjLHkNbHCzWqJBUqVARwpSs/9J16BNw\\\\\\n\",\n       \"eVgndecCkLF5QNZTeZJk+KBM4s5hs7zTvB3OBccFx/11xTVCWGEcUReEUpcvLx5yLrjFTQxjdTxN\\\\\\n\",\n       \"NiyKDmWWXiNpbi3kw2oWpUL3Kn2f84UMhvII+nJd6XuuTCxvGIZhGIbR/JxrrRAarTABy+goZ599\\\\\\n\",\n       \"tvv7xje+sWn8BRdcQIcccsgKLm1f7iqfuCVf1vR4+deX80rnyeJ5IpG4HXmv/BF2Ov8VBCp2mnC+\\\\\\n\",\n       \"q8EucQ6sUlSlYlIhWrp0MFRQOrDQYTym6xBC/fLOCa6lyiHfmDXShqSTV3Piao6x42zbMhu4zgju\\\\\\n\",\n       \"sUIVeoiiUpl6utME5XxeZP4fGSrH+oHMQ6VDrHz4ko9rQUaH9UnhCYclh7UhR+a78olVMjSMtyO3\\\\\\n\",\n       \"545cOc50Mnoe5yuXkKilhSwtVPmW8W1/yNVWd8JlucdkGTVcaeUivbDPkVTZ4jU088IvUGnRQios\\\\\\n\",\n       \"eZEKp3+C6F2HUvkTR1G5XHY5r3AdQLyKId5yvZd1nvt5mqzzXO/5epD1X14PUsTVCidXBN+ByPrP\\\\\\n\",\n       \"TSlKEYuvRZ+gWz8ZOPVd0wqphluK6ruTVgjeHT5fKAs+R9iE1MZ0DrFaLaYkYdcoVDApaPlyAyae\\\\\\n\",\n       \"FgJ5uhaoZPJ3KXbJlgWl68rEK8MwDMMwDGN4mIBldJS01atOIb/uxx1soUrmvdL9IUeVL+dVHMh5\\\\\\n\",\n       \"Jf8WKI7TfD7SRSVFKs5zxUIVhiFUYZychr9oaTBavix9AYdAtXjx4Ms5BCyM42H088u6fJlnV4oW\\\\\\n\",\n       \"sHSWaB86/k22uiZz/nDeKw4n5Jw/nMSaBS4WDFQYI/IkFSdNpu4ulF96XqWBT6fowmLSkRVyXmmB\\\\\\n\",\n       \"JysJue/QdfqjPK4qrflp/UO6koabA0sfnxSldChgHreWLOOsPFeMDLOUSfVlcn3fvCz0udz+W+9C\\\\\\n\",\n       \"L51wOU3/2ZeofNf16cyXn0/LH/gXTTn1DOreaF0qJlWiZapes9NKi7a4HqSAK1vl5GuBRVV5Peik\\\\\\n\",\n       \"YlkHzPVf5oHjA5LqtGx9AdvAPvB1wQnJMK5e+IXubop7JtHkycWmusMuQA4blOdehnXytYL5BgYi\\\\\\n\",\n       \"GhgoULXK4lE9uVY6twr3q9TvW5yfKgqIUHxP9OXAkqGFrWiV50rnyrJE7oZhGIYxXkmfZ0b2W9/R\\\\\\n\",\n       \"V1FjTGIClrEKo8NTeFyeZXS/Dplp1a/FroK3Q+hgqRQ1tJxQq4Msbunpg+++aHGtRlHv8jTnD4cI\\\\\\n\",\n       \"smCF4UWLBh0pmCZDCPnF3hdCyC/vyEPFNo7Q3T+O05byfA4sPkhW6zjvFYsB7HLB8pjOWadlE4B1\\\\\\n\",\n       \"1cedlWKRSuVuQnBhtRoNMaxI7UvmVwq5mYAOudOdntfVkvo6dDqwUDSZFrZkGKIWs2TIoE4zloVO\\\\\\n\",\n       \"z6RDCkP5q0JOKx01KkU9KZLI8mCkCMcuOB6vqk7TudGCnxP0ZqxG1WN/RHTNzyn52bcpqlao9uA9\\\\\\n\",\n       \"tOB/3kNrHX8Cde/5psE6zcKUdFzJkFp2ZKHe8XWiXYgsaEkHVr1QnBivKwUToaXMaDARGtsq+XqQ\\\\\\n\",\n       \"ea9YtJXXmuy44Ni+hvpfj2Xt7p5CSd2FyFGIskFDvlx51axB83zo0l1J719pKKF0VmnBnqdpNxYL\\\\\\n\",\n       \"UzIMUSZ597U6mJULS+e6kkKZPXkahmEYxkTEWiE08mAClrEKkiVYZeVn8c2X1enwGl+ojS8v1mBX\\\\\\n\",\n       \"KKStisnwQV8OLJn/SgpbjXGlGpXgdpAv63hB5xd4PSzdKDwsW2Lr7U3FqkqFknpYH5Kou78Zr5BO\\\\\\n\",\n       \"m6irEBFetOvxchHnuhqMWWp2tOBln8UBLVjJ7OXsYKn3F0olKsaRa5UOu47JnPOHUw1lhfZJEUtH\\\\\\n\",\n       \"K/oELKnbSX1N4xOgeLdZpNKCjS9xOxen7G8lXjFaZNLOKe0w0+KUdGT5BDANT5fClHSP8bA8vVL0\\\\\\n\",\n       \"4nLQZSDDKZ0jqxhRaf+DqfCqnan/lGOo9vSTlCxdSvOP/SItf/vbafbHD6cYC7EQy/mttJgl67xs\\\\\\n\",\n       \"ldMjYLlrANcCXwf1QsmSX9yhFwruOnB/sQ5cCxzPygKuFKlkSCIXPDc3CESWf6y31N1N1VKBakla\\\\\\n\",\n       \"/1mkYjGLV4HxvCk2lMn7Df4iFLFa9TVG4ROtahn3PQ4h1B8QfB8UeLwUqmQIYtJiPsMwDMMwDMMY\\\\\\n\",\n       \"xAQsYxUjb6hglnOKp1MgB1ZWomNf8nbpuuLhNKQQ7iuIUyxa8V+doF22RihbG0z7EypUkfNq2WCY\\\\\\n\",\n       \"IF7QET7I/TKcULqzZIJrvKjLhNZ4Wa9WXRAQOhauWrUf5loNxNHVX9JdKYgwQoT/DUlizYl6sH1W\\\\\\n\",\n       \"TzgfFidPYkGLFZS6olEsJRR3pwmtcY7kqtIX8+YGFbX7SrbYpnPIh9xKPI/PiCbzUsl+Kc7IaVLQ\\\\\\n\",\n       \"4vk6IWBJg1BIwJLH4Ts+LgN9vFnHrp1oHDaoy0eKY77E+iz2yQYsZTRq97Zb04xfXEJLzziRFl9x\\\\\\n\",\n       \"hVvm5SuuoGX/+Q+t97mjqHvWrGbRFvVf5sHCtcICFl8LrAItX06JSOpeq1Yb9Z4lplzXQrVKMbqB\\\\\\n\",\n       \"ASr09jpBN8FBYPvd3RTJljfxl1Un2fqnbEaQWxHgE1MqUblnMhUmx3UBarD8pFlS56Hnw8Q8bI5E\\\\\\n\",\n       \"Dqz+fs7NV6t30pFVDdzrdGgg97uzGAgnrCrRy9Uq1R9CXgAmYhmGYRjGRKETPmx7chj/mIBlTDDk\\\\\\n\",\n       \"C5Uvr5ac5guJ0X+1kDWYD4v1G35B5yTtMrezFLN4GvenebASKgz0utDBhiiFF3MpWnG4II/naTIH\\\\\\n\",\n       \"lkhqXa27TFi40uJVq1dLXwAlXuLxAl/o66MI2+WcP3yAg7FMgy/orIRwk346AzirGrWa20a53NWU\\\\\\n\",\n       \"hNzlTaoLMzKikTWBEL7cT1JPAL7oMSnqaBeSdmIxHGGm81z5BC1ely9vVLsOLN2IpGz4TpaDDj+U\\\\\\n\",\n       \"00L7I4+HWx2Uxyz1Rx9cRlw2Mp2aFHmdiDVtMk0/6SRatOMONO9bp7v6PPD00/TYnONo9gHvoxnb\\\\\\n\",\n       \"b0+RDBlk0YoFLBZrZQhh/RpBiGC13nG9ZxknT7pxX0BxAdcBcrhVKu56aCjTrCjJ2D4pYMkmBl3z\\\\\\n\",\n       \"jPUTUC6n6+7qpkmTeppCaDllFgtY2Byvhi85niZTz/X3s4CFo6sERHl5j5P5p/T9U1v1eFxW+KBh\\\\\\n\",\n       \"GIZhGMZQLITQyIMJWMYqQJ68VnnwiVK+sEDtLgjN48t7lU5Dy4M6hEe3Qigb7tMhhS50sJxQMUbe\\\\\\n\",\n       \"q77Bl3QZJiWHpXAlc2AhVLA+vTYwQDUIV0K84hd2fnmXrhP98i5Lg0SqZy4JCAK1JEmHIWRhugwh\\\\\\n\",\n       \"5DdqGTLFygUrJdhXVkjqObUQSpXAiVUu18svDcvkSC0phEhxSApDGh0uJ1IfNYXayXmlwKNFMp3D\\\\\\n\",\n       \"itH7pPNd8bKdcGBp95QvT5ZM/q7nlettOu9in3kfeT91qCHGZ6RPC+YO4/PZ3CVULCQU9Vdpxt57\\\\\\n\",\n       \"U89GG9FTJ51M/U884U7A/F//hpbeeRetve8+rv415b/SObH4WhgYcM4riLhc5yviGmBJx5WDGNdU\\\\\\n\",\n       \"Hnw8HpmnyncC5NDC+N5eJ+6ioJ1zUed90yonq91coXt60jDdKKLipDJ1leFEjJpCBtHx/YWFXX3v\\\\\\n\",\n       \"kd3AALdIKO9hcu+lE0vf+/juoN1Z2hkrl8nRCkDLkEELKTQMwzAMwzBMwDJWCaJRnMeX50WO94XU\\\\\\n\",\n       \"hHJgDQpZUVQIvJQPzYMl+2UOrFIpoWJSb7HMJ17pF3UWrVjIWrYsDZOCeNXb2xCtKvVOilfaheV7\\\\\\n\",\n       \"lfS9ynIJFMWwU8URWgjnVKXSSEjdUFuyBCwZS8ZJr5Brq1SiUneNKsWYKgEBS7fsl0cM0uKVbsEv\\\\\\n\",\n       \"5FDy1i7lVtIilUz1pUUsOX+7ApbO7aX3l4/JFxqYpwVGX6J5KcxJ2JEVWk/oPHmvkWJCpbhuGxsY\\\\\\n\",\n       \"oK611qKNv/F1WnDBBfTiNX9z61x833207Mknab299qRJsCzqa0IIvBBynYhbrQ65BirKgVhr4cLS\\\\\\n\",\n       \"0jbLPvwXxQCXI4Qs7H+cJE7g5fDbputBVmC+IbDSh/2v59kq9PRQqVSirq7I3RLY0MiLsLmrnoor\\\\\\n\",\n       \"0CH5fIGShEWrQkaodeje5xOquAvJfZk1LIfh3wQswzAMwxj3WAyhkQNzYBmrKNILRCq0ReOb5nsZ\\\\\\n\",\n       \"YwqeV1SfYOXPiYXWyViL4U47rPiFU7c+iKi7KVPSv13FKtHieo4rDh+UIYT4i5YHWbiSrRDW82Mh\\\\\\n\",\n       \"51WtUqF+8cLOL+86hFC+vGeVuq8UqqIUsO6uejgVRKySbCqNY9i4n9UQVlxEEushbpSuLipEJSqX\\\\\\n\",\n       \"46awKOhcHJLGq8yChSpfi3ycrksnQAe+xObDEbMatawQbs0vL9JVxejh4YhWvv2U4hW3NijzWUmD\\\\\\n\",\n       \"UdY5kA45Pt3odAhhIarHvHHoX10Unf2e99Dk9danZy66KBVmlyyhJy7/Pc3caktaY+21KWIHIueE\\\\\\n\",\n       \"Q+63pUupUqk0BKs+UfelC0sKuHmvBb4epA+T182CbhlOLIi59dxzDtmoASupXKh8klAQwp3VNXUq\\\\\\n\",\n       \"UYR8WIMNJ2JRbvST819x6jkMs1OL21hIXXKRcGHJHFahpO5aupY5rxpn1uPU4pIKyYCyRUQ5r4Uf\\\\\\n\",\n       \"GoZhGMaEwz2fRCNeR7v84Ac/oNNPP53mz59P22+/PX3/+9+nXXbZJTj/Sy+9RF/+8pfp0ksvpRde\\\\\\n\",\n       \"eIE23HBDOvPMM+ltb3vbyPbdyIUJWMY4S+AuX6L4BSlL6PIJUlog8wlWcv1S0im6FtJYqOIXdJ3b\\\\\\n\",\n       \"xwlUXUNbIGRRq0gDFHG+HhaoOEG1HifFrboDCy/s1b4+FzKIl/N+5b6S7hN+iScVPsV/faWnSxfr\\\\\\n\",\n       \"KKmXfpcJrK6wFJcvdwmvGyIVh1BJwQpv1igALWCxZae/nwpdhcbLObQAFj7QYRyLIdwaocQXTidD\\\\\\n\",\n       \"CPmFXyaF9yVE17mxvLVQVVNfOKMWsOQyeUQ4eVytBCy9z3kELN5nlIsM/8O6OHE7m+R4fs59xeWr\\\\\\n\",\n       \"HVnSfSWFKzbeYR18jTj3Ul89dxTncqsLtFM3fQVtcuhH6alLL6Xe+c+6DS689z5aMvcpWnejDamE\\\\\\n\",\n       \"neZcV/39VBGuK3QDot4PCAeWFnNlMclrQYbRumNXQcR8XbEz0c0LQbevb/BHl8NrZSHxTQOgQHA9\\\\\\n\",\n       \"1wvGtfTZ1U1Fd5nAiTWYqB33DM5Jj3sLDl2GFGKaDFXu64upWi3Wj16KWPp+KIf5yKVkrRO8N2qP\\\\\\n\",\n       \"+owqfWpxzs+sXMqWjtUwDMMwjNHhoosuomOOOYZ+9KMf0Wte8xonRO2777704IMP0iw0GKTo7++n\\\\\\n\",\n       \"vffe20373e9+R+uuuy498cQTNGPGDDtFKwgTsIxxiA4H1NNC8/jCCX1OLO3KkiIW3Fdx42Vcvqiz\\\\\\n\",\n       \"VuML7ZHuLBdRVKtShLdRbl6MO25JjcMK8Vd29ZxXeGl3ua6SpOnFvSpe3n1J3PMKWPyqq6e7XFj6\\\\\\n\",\n       \"1ROhUwijgjONc1tx2BTHQnHBsH0kTdaTdngTr1um4qRKtahGhcJgGctE4NIR5Atx0yF2sqU87pct\\\\\\n\",\n       \"GoYErKECUOglO90B375khQu2I2Dp4/OJVYP7m72fPpcU748W4aQOKcslFG6pQxGlo0tfK1FUc+e6\\\\\\n\",\n       \"YZVju5G4Jkrd3bTRW99Kz916Kz13z71uG8sXLaLH7r2P1pk5k6ZUBqhWdyBWkqRR77UDseIRsGRO\\\\\\n\",\n       \"rCwBS2Z/ku36yeun0WZfklCxVnP7hLxWcGq6g2V1CR2uaWc/q4+X1/3AAEUD/RSXYxdKKBv5DIUM\\\\\\n\",\n       \"yjJtvlYgYPHeh8IEY0+wcCjkmgJh2KF6ZiGBhmEYhmE0kydlRyvaXf6MM86gww8/nD760Y+6YQhZ\\\\\\n\",\n       \"V155JZ1//vn0pS99acj8GA/X1Y033uiex8BGG200sp022sIELGMCIV1VrfJh8bDvxS0UQojLCcJK\\\\\\n\",\n       \"mqNJO0w495VveFDASqgEbWf5wBBhqqlFQe6X+bHgNqlPdy/tynHCL+08zC/cA4FWCH3pmWXOH361\\\\\\n\",\n       \"5VdRfvFnY1FNOlTqsX7OhYWW1WTOHxwDx5PhZZ0TufPbuejgQonj1OUmX9Lly3koxxSjwwJluKB0\\\\\\n\",\n       \"XrGAxcM4Qp0fS6w1o86FCbXUN1xahzm23k+d5yoVZZvLWc4ro+BCIprbgifBvRavUl0zSQVcKVhx\\\\\\n\",\n       \"v7wmUJ8qFZr5ylfSpEmT6Kn/3OFyXCFB+9z582n1UpFWj+NGHZfXADsSZUitFK6kqBu6FmT9j4QD\\\\\\n\",\n       \"kd2IXNpNIi8aOUALhQhrxHiu51yRObaYC4Rb8sT4+nHHhSKVykn9fhE1NF59f9H3Gimgx/GgY3Sw\\\\\\n\",\n       \"VEJCli80MO9HAh1OaBiGYRiGMfqtEC5CahVBV1eX67Sb6rbbbqM5c+Y0xuEdY6+99qKbbrrJu/7f\\\\\\n\",\n       \"//73tOuuu9IRRxxBl19+Oc2cOZM+/OEP07HHHkuFTj/YG15MwDLGeUhhFjJExhdqqF1Wspl5LWSl\\\\\\n\",\n       \"02Srar7cV/wuik7mv2okcEeOmoFwIupGgnZ0un/JEpcTCOIVXtY57xWHEIYcKPKFPZS8Wr60axFL\\\\\\n\",\n       \"5vxhGY9E+BTP78IJ8fKO/WUliEMF3crFy7wUs/jFvh6vFsVFKpdLjRBCKYCEhBYNb1530n3Ff1Mh\\\\\\n\",\n       \"K03C3ezLkaU0nJd0uGBoFBjevqSkDw5peURNOd3kaeEQQt2qoC9ssGkryjGnxSt2Iw5xH3JydulI\\\\\\n\",\n       \"EtfH5J4eesUrN6N5jz1GS5Ytd9t6YaBCiyOiNUolSqKoKYxWC7q+ayHUIqfPmymTuHO91yGEPA6U\\\\\\n\",\n       \"+vudqFuQea44pFZeDzg+GYdcF7fiYoHKpe6Gxou/0Lo4NxbfeziEUCd45zKvVuW9jUUsfd/jkggl\\\\\\n\",\n       \"cZd5rIYrWEkfmzFcXEMB7SbSM1Z5/vzMHbQqs+86O6zsXTAMYxyy/vrrNw2fcMIJ9LWvfa1p3HPP\\\\\\n\",\n       \"Pec+fK611lpN4zH8wAMPeNf76KOP0t/+9jc68MAD6Y9//CM9/PDD9OlPf5oGBgbcNozRxwQsYwIg\\\\\\n\",\n       \"817pHFi++eRf3zyhsJvUFeQTUqQAoJu218N464x0uKAMJ+LO48binFe60y/sOom7T8DKOnIZPuiT\\\\\\n\",\n       \"dGTJDegSrgsTCKNqHB8rGCxacEZ25cByLqxikeKuniFiCP/NwpegXYYJyo7FK7wUJkmonUYtc7Tj\\\\\\n\",\n       \"Wx6tF8129yFS4gWPT/MYJUnNtVpXqQyGQ6J8OB+WDsPkPFghcY7fr3VomwxbjKrq3HNdwF+u/+zI\\\\\\n\",\n       \"qtchhOett9pq9AJFtAC5o1D3EqL5/QM0uViguFAYkgNLXw/JMK4FmdZci79NIYR1WPhFYcGJxS0N\\\\\\n\",\n       \"NgRcDrFFvw4dxnUD91ZXV9O9I+ueIu9B8lpJW/GUOf987qtW98g8Iak6H1YWFlrYikMOOcQlm52M\\\\\\n\",\n       \"VjcFjz/+OH3kIx+hG264IUc5G4ZhGMYYBO6pDiVxnzt3Lk2bNq0xWruvhgvetZD/6txzz3WOq512\\\\\\n\",\n       \"2omefvpplwTeBKwVgwlYxhgnGsXlW+Vx0YFz+rV16DoQmsMvjb6E1TKMhxNXs8GoWEioUKgR9fqF\\\\\\n\",\n       \"G28urHp/gg6trCXJkGTt2mniE7A4dJBf3kPI9sl8qZu5X+ZP16/GNeSyghCFA5eCFVtGpGjBXZNV\\\\\\n\",\n       \"qkYxciTFcAal7iAdMugzIej8VyHxKnVeJY0QQgg4zWm9WebgI/aJWasKUrTiM6uzmaHVuzS3G8ok\\\\\\n\",\n       \"LeuoUb+1iJWVB0viz4WVUBzBHifiOaUVzlc/hKAF59ZqxQJ1lYr09EDa6iBYWqm6pPAQP6tR5L0e\\\\\\n\",\n       \"9DUgz7J3/5Un0+dc5BLk64H7XakjHxYcM319FLE1k69t7ueOWyngHHFwMnalueBKpWiIi03fdwZz\\\\\\n\",\n       \"iw2K6SxIDhWsfCJW6F4oS0PPn6zAe/nE4c4776TtttuOfvnLX7oQBvCzn/2MPvvZz9Kb3/zmlb17\\\\\\n\",\n       \"hmEYhjEmcmBBvJIClo8111zTiVDPPvts03gMz54927vM2muv7XJfyXDBLbfc0rVgiJDEMp7TjFGl\\\\\\n\",\n       \"hV/BMFaFEEEpKPnWEbdwEcgXNj1fIUPQGroOfhGXDgjZyppskZBfOBtRc4UalZKKe6FtEq3YacJu\\\\\\n\",\n       \"K/UX4hX+csJ2me+HhzmEcCSdXHdWd8VLL9GWd91Fn3j88SECWiPfUKWS7rcW4zhMzCfe1UWLCPmR\\\\\\n\",\n       \"qkgKD8FvMI+UDiVs5cZiWLTiECvuqlU4j7RPTafDl1mV2NfjKxVM783Z9eUo5b421hc6+3JfZXCd\\\\\\n\",\n       \"P9C0Vqu6MmkuI5kjLMeVKtw/MvF+45xFCcXV9By7FUu3le5kSGG9YyG3GMc0q1yiLpfrKaVaS6gy\\\\\\n\",\n       \"MEADtVrH67zuHuztpaMff5z2uf9+2uKuu+jHCxc2XY+NmoOnLOwzh0j6rnE+flEOuEfgXlEq1Jrv\\\\\\n\",\n       \"ISJ0WabV0vejQbeir8VBfa+TgZK+e2RoHU1nPuNennX/1tsyEetf//oX7b///vTGN76RjjvuOHr/\\\\\\n\",\n       \"+99Pn/nMZ+jb3/42XXbZZfkuRMMwDMMwnNgEB9U111zT5LDCMH8k0uy+++4ubBDzMQ899JATtky8\\\\\\n\",\n       \"WjGYA8tYBcmbIC9u4yVKz6fnlbmyBvPDLFnzZlo+426a+fDnmwQsGcajk7lfteg7tH3XzrTbjDc0\\\\\\n\",\n       \"JXEvRGmi8yEv7fwyK8fz33roIFodlKGCsl+Ok8PsNuEE1tpjpD+A6PxX7C6RZ+Pp/n767rx5tOPk\\\\\\n\",\n       \"yW76gCcwzWXcqVbTdeHYOGQKHRL5SMcJu2+4X6hNhbjYFBKVlfpFJl2XgpVc5VBBRjqvON13zVNa\\\\\\n\",\n       \"MvU9L9e09TbD+kYDn5Arh3253XSi73R8rZbm7kJ5o8y4/HWZAtmCo3evRNigu06wCb0i6bbSTkQh\\\\\\n\",\n       \"+rjWNwcGnMPPnakooh7UqVqN+iqcYZ6oMFChgWKBBpDgPYq8IYS+PFiyJGXGJi4pmftqca1Ga5fL\\\\\\n\",\n       \"tOeMGXTmM880NZagJZ9CPSzQFQCS4rHLSrotZauc4vgLUUzlciGYrF0K5/qe1CxgNa5Mlf+qGrgP\\\\\\n\",\n       \"uhOVs87JEsy7HG/b0OCrL8IU0HDBySefTMVika677rrgg7ZhGIZhrDK0m40jtI42OOaYY+jggw+m\\\\\\n\",\n       \"nXfemXbZZRc688wzaenSpY1WCQ866CBad9116ZRTTnHDn/rUp+iss86io446io488kj673//S9/8\\\\\\n\",\n       \"5jedE9pYMZiAZYwzdHifJI94FXIY6NCZiJaseRM9ttvBlBSXURInNPvhr3hdJTJE6qolp9Kli+bQ\\\\\\n\",\n       \"JS9MojOm/JFeP/0Ngy+dMZKci+RLOoxOh1DVRSw4TuDkkKGAUqDiv75OzuNe3pOEHu/tpecHBqi3\\\\\\n\",\n       \"VqPuOKY1ymVav6uL4iiiW156iS5esIDm9/VRVxzTJj099LWNNqIpEAOShE588kn62Fpr0d1Ll9LS\\\\\\n\",\n       \"arWxfvlKzOOieotsmccqmwWUooZLVpw05feR4Wh5Qgh1Piz+25ywXQaWVQPilcycJMMJGV8q8BWJ\\\\\\n\",\n       \"lFvkOBYnuLBkUKjsby5MlE1aTpGn7PKFEfrDBzGccXJ0KKGn4xDaxplDAvpCwQk9Fbj3UG+IqKdS\\\\\\n\",\n       \"pSiq0aLSYEghn0Ep6PYnCT28bBktRsMISUKTCgVar6uL1iyXXen886WX6LfienhFTw+duNFG9MpJ\\\\\\n\",\n       \"k2ibSZNcff/BvHlN10Gl/sPbuA6ThAqc904K175rQ/Yjh1Yxacp9JcUr6UZsyi/WKHOEheJctgqj\\\\\\n\",\n       \"Drmqhns/5b95xCxDgySxaNYbebDQatI//vEP58g677zz6G1ve5sVmGEYhrHK0slWCPPygQ98gBYu\\\\\\n\",\n       \"XEjHH3+8CwPcYYcd6Kqrrmokdn/yySddGg2ZHP7Pf/4zHX300S6kH+IWxCy0QmisGEzAMlYR8jqn\\\\\\n\",\n       \"ZB6X4WwjK+9L834sn3GXE6/A/G2+SnFcpOnPfqnJESRfzv/aeyr9flnaTGtfbRk9tOTf9KbioIAV\\\\\\n\",\n       \"47U5x0v6kLApiFgBYYodVnLYJ2hBbLr+pZfoTy++SE/VE2BLNpg8mfaYNo1+PW8eHbj22vTa6dOp\\\\\\n\",\n       \"v1qlB5YudS/22Mavnn2WZhSL9LbVV6e7li5tiACyNbamrt4qYUOk4pdzGc8nRSuVKTwWuca0kJXV\\\\\\n\",\n       \"8qB0YulE7un0kHjla6/RJ2b5WinM+0mpXZErr4gQqsssJGjBio/H58JBaGWaF8tXhu4o6sMh5PnS\\\\\\n\",\n       \"55DgltIr1QKOdOYpAUvXM3ckcUTVkstaTkXk1yKibghH/QP0fKlIvbG7+hpn+rmBAfrr88/TX156\\\\\\n\",\n       \"gRb1y4xuKTtMm0qvmzadzn7qKfqftdemXadPp7769QBBikXkwRIbFLBke38N2ZOtbFLEanUfwDVQ\\\\\\n\",\n       \"TqgYh8UrfQ9qFgs5Eb8vp5WsW61yYbWLdGXlabXQl09r4oIvxMuWLaNrr72WXvva17r71be+9S0n\\\\\\n\",\n       \"Yh166KH0wx/+cGXvomEYhmGsUiAUH50P/N5q4Hq++eabV8CeGT5MwDJWETqV+yT00qXFL9/LnJwe\\\\\\n\",\n       \"08yHP0VJHNH8bU5yY5/Zao6LgNvy+VTEkqE6NySn0p/r4hU4fONT6KBNP9/cgh7cVyza+BK3664+\\\\\\n\",\n       \"nUOmpGClc07pMEKeB6+Of3nhBbpg/nz3At792tfTjHceQMVNXknRpEmULFtGlYcfoGcvv4h++a8b\\\\\\n\",\n       \"3b7jVXL1ctm9iG/Q0+NK5c6lS+mPL75I52y2WZMXiUMIWQLhbWL7cMM0OU4GM6gPdd5IB059GvIl\\\\\\n\",\n       \"DafFeCm06Gi1tPOJVjrNt0+4kuOG20JhO4ng84bE6rqr+2UImZRZWATm/eZg0Wpd9BgaOpgnbDC4\\\\\\n\",\n       \"lxBU4MDS9aD55AwKWjxehBZyHjifSDuAcMFi0TmvepAEHeFYaCp5oELPFQr0XCF29fWnzzxDf37h\\\\\\n\",\n       \"eYpLMU3bbTpt8vrVqLxmmaJiRNVlVVpy3xJ66OoX6I6nnnL7vVa57K4H/Jhu2NPj1lvxnFFX5+ul\\\\\\n\",\n       \"yAGZXLMihMTK8OCsa14IvnE3XFhD87/JsMGmEE3VCiGfv/Rrpc7rp+uOrE9yuu9jQdQh4Um6Aw0W\\\\\\n\",\n       \"sP73f/+30QohGlTAV9999tnHtUJoGIZhGKs09pNvtMAELGMCoF+y+DVSv6z5lpGJi4fOO+uhY9xl\\\\\\n\",\n       \"NH+b493wIxvPcXlmtl/8JTeMl8Wbi6fS36uD4tVB65xCB23ypcbLZLGYNBKTN724s9tKZxivDyPv\\\\\\n\",\n       \"FTtOmtNtN0ss+mVeilcXPfus63r2fQetefAnqTB7neZimDyFCjNnUdeue1Dl6Sfpxc8eSr+YN4+u\\\\\\n\",\n       \"ffFF2neNNWi36dOpHEV0xpNP0mfXXZemoJU38dsjty9f2DmHFgQH1yKhTtCdJV7U1ZFYtK7WCl80\\\\\\n\",\n       \"mnRdccuDqftKO7C0cCWDzDjoTApV2only4EV+nWWy2QhZUEfIdFBhg1qMUu7r4pqf+S8cGFFVKnE\\\\\\n\",\n       \"TgjR5anLuRUNEddVjIzmIXWm/Xrncl8lSaPUKxnXQqUQ05K4RNMHKtRTDymcWa1SV61KX5o/j657\\\\\\n\",\n       \"+WWa9b61aPU3rU6FSc2VqzC5QKu/YXVabY/VaNl/l9ETZzxB33riCdoCDsUZM+h106fTNIhkKkBO\\\\\\n\",\n       \"1iifQ9JJh84RVr/eZagwHzemKQcW7hlRXHF5kKRIJcUqFqp8Ym86HnZ9X+i1L3udzvfWOIMiIxhf\\\\\\n\",\n       \"3Xqa0QkQKuhjxx13pNtuu80K2TAMw1hlWRkhhMaqh7VCaExgQrlffP1yHjk9olkPfYHWvvcbjTke\\\\\\n\",\n       \"WG8O3b/Gqe6F8dauU+nvhUHx6oNrnkIHrJ06tGSoYZTUUkcSh9VxrJtWAqSwAxGr/tJOGXKLTkjN\\\\\\n\",\n       \"f//0/PNOvJr80U/R1C+eOFS8UhTX3YDWuPgv1LX3fjS3t5cuXbCAPvfgg/RMfz8tGBigEx9/nN52\\\\\\n\",\n       \"1120z1130Z9ffJFuWLSIXnvXXfREX9/QkC7pNdLKBx+nFi9UvFqkcillhQ7Kfu64iJs7uZc+IUun\\\\\\n\",\n       \"+pbSoU8m9E33eeR0e42hrGUjWUer9VY8x+gLyEs7lJUuP1mmsuzz5MJyHc/sE658dUFMC/nhvEJu\\\\\\n\",\n       \"FNGCUpFeKKShg2BaQnTyGjNp/wM3ppn7zRwiXjXvd0STXzmZNj9zc+rZuIf+u2wp/X7hQvrMgw/S\\\\\\n\",\n       \"PIT1eq67UOcOuZ5bbIjbMFD33TSIb9x5wmhlPjhfyObQ68V3P9T9oXukb9gYLX7xi1+4VpDWWWcd\\\\\\n\",\n       \"euKJJ9w4JJ1Fzg7DMAzDMIzxjAlYhtH2C5huap5orf9+kTZ4KG2dAtw1aw5dsNZqdEPXoHj13umn\\\\\\n\",\n       \"0Htmps4rneydIJzwi6tUA2T+H50fq1bL9YIs5RZ+iV/Y30/n/X/23gTckqq8Gn5rOOfcqQea7qah\\\\\\n\",\n       \"mREEZBIQFVQEjJhJcUgcYsQkmi/+GqOYmEaNQ/wNGGOiMX5qcIrRRGPm6XcIDhgnBERAGWRGoEfo\\\\\\n\",\n       \"8d57pqr/eXfVOuet9+yqc27f20337Xc9z35Ozadq712n71691toPPUTjl7yYJl/+ajcgH+kHIwxp\\\\\\n\",\n       \"2bp30/jPP4+2djou2P2GHTvoL044gT5wwgn0lyecQP/3hBPo3KVL6YlTU/Q3J5xAq2o1D/0h1Ck+\\\\\\n\",\n       \"2c5gMNXgulB5VGVfyRkIAUmyZJdMcwucpju0ObMsF8uZ1PIilVodz36YOsvKqATWsGvI+5Fkl+9+\\\\\\n\",\n       \"5T1L4spnTu3To1m9MZlVrFdNYlURWEUFXYn6ShZN9PB7kMu8ykgj3LXse0xibYljur8W0878/IPj\\\\\\n\",\n       \"mN79gwa9/GtdirrDNezRWERH/+HR1Dh8zIWix0FA39u2rVBLvX7ooQQH9HryfdfvvHxPZB2k3ULG\\\\\\n\",\n       \"lc8uWJo3lrWCbBE1EUYVjLB6LPCRj3zEzZjEge1bt26lbu7dXc4zXn7gA4/JPRkMBoPBsCBIF6gY\\\\\\n\",\n       \"FjWMwDIYRn5Vwsp9a+9ZR8ff1yexWuHW3vIvjV1Bv7hsXf8MkUPjBpW+mdZ0/pMnB4ptU6BV9MC9\\\\\\n\",\n       \"LGKcP7/6yCNE9QZN/dbrBsirMEno9Dt+Qhf+4Nvuk9cZ7Vtvpl2f+wR17vgJjT//pZQEIW3vdOio\\\\\\n\",\n       \"sTE6fGyMjhgbc8tcJqOIJsKQjhkbo5hnKBymwNJ+M58aZQGghTvFr/VRgVqJ5FM9SbLKV5rcG1Qi\\\\\\n\",\n       \"mUwla+fHzKfo68n1lvr+zojPUEa3FLdpYaByes4furE0wetRYFUt63dlZxjS6zY+TN9KZ3pf+dzv\\\\\\n\",\n       \"p/Tuv+3S6kfZ3pvSyfcldN6PE/fJ64zpu6Zp439spNbDLTroOQfTgzNN2tbp0GGNBjWThO6amaGf\\\\\\n\",\n       \"zsxQJ02dQvG2mRm6X6gRB2yFUnGp33+d+SX282+HtApKQlCqsMpn6Bz+22bYd/ChD32IrrrqKnrr\\\\\\n\",\n       \"W99KkWhszsa6+eabH9N7MxgMBoNhfggWqBgWMywDy2AYijI7YXEfDwyPfWgd3bv2vdSO++TVGC2n\\\\\\n\",\n       \"nxvv2wblALKnQEnU1G1ScYQBu96H1GyPRbBqWztJ6Ctbt1HjOc+lcHKq8DRP/+G19Lp/+BtavfWR\\\\\\n\",\n       \"3raNy1fQX/3qpfT1FSupddMNtOufPkfprl0UjI3RWKtJpy5Z4v2PD9+6T4nlnb7Ox4D4pFQl0JfQ\\\\\\n\",\n       \"Vek/rkyvJj99Ye6akvNRiWXZVqP8dxH2Vf2DnJT8oy1zjRKVdQW1jXwWHC+1QzJrC1H8uHZCSRIN\\\\\\n\",\n       \"NKGu36pmLX9sNZWh7PeeL9F90Pcu+ArbYa/dtoMeeskyelkU0su/nlCcED3uYaL3f7xLrZhoyWz/\\\\\\n\",\n       \"6zYvIfr0z4V0zZKQpm+fpi1f2ULJTEJBRHRkfYyeuHQpPdJq0et/+tPeOZ/fvNmVMycn6dPHHTfQ\\\\\\n\",\n       \"U3pPIxVWeDb5/utpNPNlnQMnCSu5zbWaUmL123WUWQgNjzXuuecel3el0Wg0aNeuXY/JPRkMBoPB\\\\\\n\",\n       \"YDDsLRiBZVjkmOvAa5SB3CDLj8HgPWuvLJBXjFnaSl+dvZJ+Zfm6wqARA8pC9o/2XUlWQBcetIuB\\\\\\n\",\n       \"/KgD+Ot37KDtrSateO6vDJBX7/rrvxiokZVbH8m2//Yb6Vvv/XBve/vWW+iR1/463bxzJ52lSKw/\\\\\\n\",\n       \"OOIIN8Ob/G6JwsC9zHPmY5sqoA/3VNfAvj7BomtNfnZHyIby6XzcTSvSShJDo+icezq1EWcdrCIb\\\\\\n\",\n       \"wFaAqPKFdst1TVqB/ML52TNz3fGshJJrkfVbZivsPWFZFehGc7euWDJx4TIqUG/T78nXHnmEalMR\\\\\\n\",\n       \"LT17Kf13LaRbjwjoDf/WpUMfJWp0siKxYgfRm/45IXpBna79/aN72zf/f5vpvn/YQDs6HVpVr9O/\\\\\\n\",\n       \"n3aa+weWSz2f8RCx+PK97D9uSYX53gtRBzoLzrWkIss1aa6VWYPtXZWHJY+ZCxZiVkLDMcccQzfe\\\\\\n\",\n       \"eCMdddRRhcrg/KuTTjrJKshgMBgM+y8WwgJof2osehiBZVjk2N2B1ijXLFprHjjqSrrvyH7mVSNZ\\\\\\n\",\n       \"Ts3cRvifM5fT+FaiF08WbYRSIdGDT2GCdWWh8pFV7pT8U2uBuDzUbFI0PkG1Y4/v30uSOOWV7+lB\\\\\\n\",\n       \"Vbz2i5+hb59+NiX5TccnPoGCKKL1bItasqR3nNYclZFpA5iH50xWmVzWOfg+Z2ax1kYhpjSJJWcl\\\\\\n\",\n       \"9BFg+ullrczlX+7uiH1bEl2JJ9tIzjSIbYn65wCKLVwDc+rJVkbJ5D/akiljmzRhJVVZxTaYIzx9\\\\\\n\",\n       \"RtasT+mkW+XhVpPGjpugsJb163sODWjdpSH99V8lA+QVapfPfeVXE/rB8QGlYVbXEydMOBvgpnbb\\\\\\n\",\n       \"zUQ4TIOn3123XxJYqBgf++qptKocOK3GKge3ZWfE38C5wlRcCwHOv3rta19Ls7OzjvS89tpr6e//\\\\\\n\",\n       \"/u/piiuuoI9//OML8h0Gg8FgMDwmMALLMAKMwDIcQNhzVpj1x7+XHj7+Lb31J265gs5L19Ety6+k\\\\\\n\",\n       \"b8QZqfXFRy+nep3oFUv6JFYPiRrlV8GnTMGuEf7jYZozcyYmC9tOvfO2gm1Qg8e+hzy6xR33oxNO\\\\\\n\",\n       \"dts4O4uJsOmKe1moGCQHDvmpCJvX9rQyF6KKThIZWJqAkrPy6XWpypIElo/I0pRFWe3szr/aZbZB\\\\\\n\",\n       \"n/1LEliSuJLHuxkFxP3I44L8WaHEyp7BV5cgrySRKCPOytqn+Bh5sNMCoax2OcA9HC9+zzEbB5VX\\\\\\n\",\n       \"hVtjZeIOopMeSOknR2V1h1kLZ0YgYitbeg5W2awSu+AQ9zGY9XBP4FWvehWNj4/T2972NpqenqaX\\\\\\n\",\n       \"vexlbjbCD37wg/SSl7xkj3ynwWAwGAwGw74CI7AMBxD2jKZ04wnvo/Unv623/oSHr6BTZ9YRLSV6\\\\\\n\",\n       \"ancd1WpEX00zEutzGy6nRoPodw5SJNaIswAuBOpBQGlLhPrw7GvbHh3pXH1c0mpRPSjmaI2aHDZ4\\\\\\n\",\n       \"gtoqfVEe+YgvU0lb1/Rx2jqYkSpsg/NlV1UpqqSlsOocTV7peekKT0S7h7Cin0eiJXC/koDCuaG6\\\\\\n\",\n       \"P2kjk88TDDwn1x1bCLvdzEZYVvdoH32MPm6gpWXb637geW/KzG9lb9gYvw/t4m/DQTtpJMjjklb2\\\\\\n\",\n       \"kLX5vstzPT/Yl0PWTce/J/Brv/ZrrjCBtXPnTlq9evUe+R6DwWAwGPYq0iAr872GYVHDCCzDAQAe\\\\\\n\",\n       \"RAV7YECV0sYT3k/rT3lnb8sJ919Bj9+6jkhwOs8I11GjntkIGZ+8/3IaHyd6/ZnrioPQUQeuMsBG\\\\\\n\",\n       \"5ODg03cVuX95HFNn5w5Ktm2lcNlyt33LsoNG+mp5XHfLJkpaTVqmVDKaPNCJOl5CwRfKI8PC5HK+\\\\\\n\",\n       \"P037hImEjhHS4e2a0PKTUHqbDmzvlhBX8jifgc2nxurd+W4qsKr6u24Fud/3/bAK6oB3TXQN1pVs\\\\\\n\",\n       \"j6o28AkIC6Sjfg9koJMOcyrxzVWl1ulaWxbXqP3wtLNjYUbOR/2c7ADkca0Nrfx65e+D3FZKrPme\\\\\\n\",\n       \"swxVvsHdwsL+Phr2LCYmJlwxGAwGg2ExQOfZ7u41DIsbRmAZFjn6GT2jYRTjWzZw3/S4D9P6U97V\\\\\\n\",\n       \"23rUT6+g4x5ZRzQujswH8z83to7GxzIbIePDt19Ok2M1ev2T3jR4eZ5STA5K5SAVNrp88B52u4VE\\\\\\n\",\n       \"LmkW0wN30BHnLFtGVz38MM186d9p8sWvcMff/LgT3WyDHNju03PweZsOOtgdB8z81z9TLYrcrGuh\\\\\\n\",\n       \"x6A2jEjrpYjx84KgAlmBadXks+M4T3iYzF7S6zqbaTCnaRhx1S1RXXVGyMHSCi7yJCKlu2kjlMoq\\\\\\n\",\n       \"rMsgdqildItomhPfB3sgosZxXTy3axAvQccqNpl55atrue6uKtb7f2zkpBS3NYomMbFd9pkocu+C\\\\\\n\",\n       \"fkpfjck+yl977rJldM29j9LM3TM0cVxGBnCQO882yIHtZe/DI0uy44CtX3+Ejpscp9X1+sD7oN9D\\\\\\n\",\n       \"fS+97XJ6QBBhWoEo3w8azZI52uyPmpiswu6QrQtqKD6gwLMOglwdhhtuuGGP34/BYDAYDAbDY4V9\\\\\\n\",\n       \"2XtgMOwj0AP2DONbT6egkw14D/3xn9Bhd68rDNT1/wD8wtJ19LLVV7jlsWiCnrDi7F42kDtUEjOS\\\\\\n\",\n       \"yPEN2PMBLg9q9KBdD4r1NlZgPXXZMmr+6+cpzUe1HMz+V796aSG6W4K3f/hXXtELcE87bWr+2xfp\\\\\\n\",\n       \"acuW0VQUDaQsSVTdT2/QPpdnz7clSvHjI0w0qaJD3PszEGoFVVXpKAWWnJ0QBcdoAqyj9mmirGzb\\\\\\n\",\n       \"sP16G76nbLs+VyrHcJzPNulTm3VzG2Gxbn11X9ZOvcKy74o2d6SOr68wmVvR5319EtvOWLKEDh6r\\\\\\n\",\n       \"0SNX9zPgOJj90z8XekkwUIK8HwHuzYebtOPWXXTxipUD6qqy+xk4hgkKPJ9UIcr60PvY/lgy70NZ\\\\\\n\",\n       \"QL6u86IKUT8p9hn59Fjikksuoec973muXHzxxXTXXXdRo9GgZz7zma6MjY25bbzPYDAYDIb9FukC\\\\\\n\",\n       \"FcOihimwDIaRMPiLOLX5XDrmO1+kmeU30SF3/4FTXumZ7uVsa/z5vIPX0USjRmcdejY9adX5fTsV\\\\\\n\",\n       \"D4S1jU4rjvR6EHgtUj6yiNS+56xYQf97113U/MZXaOzC57j933riOfSO336jm41QB7r/53kXuP3A\\\\\\n\",\n       \"7Ff/mzqPbqFnHX+8lyQISiLDvXYuPLcmreR2OXjPlxOVZdUnpIrKnnJbG9vefG2s1Vij5GL5LIUy\\\\\\n\",\n       \"90orrnR/8v2LW/YvsKZVtKIqKNkWCZsgCAmp4JJh7ZKkCkrqAhqm/G5TVmJl1k45kZ6se9lGxRwy\\\\\\n\",\n       \"EFjKMljR/vJ9gDql7B3QfRBwerMgoIuXH0yf//4Gal6yihqrG27ftY8P6a5DE3rcw8XaZuUVk1e8\\\\\\n\",\n       \"H9j035toshbRU5Yt8/ZxH4k1UHzvvX4PsC63UTF7zFd0Dlnxd6rqrz37S3BfwDve8Y5CiPvrX/96\\\\\\n\",\n       \"eve73z1wzAMPPPAY3J3BYDAYDAsEy8AyjAAjsAyGkeAfyE1tfhpNbb6AKCySIT1llRq0M15w6Jvo\\\\\\n\",\n       \"oIOKg/c09pA4voErKzQwwM23BZzdIwboPnWHHEAzjXHixASds2w5Xfen76To0LVUO+lUdzyTVN8+\\\\\\n\",\n       \"/Ww32+DJd99Bv/1vX3DbeQZCoHXTDbTjL/5fOu+gg+jY8fHeADxS94DvKrMX9gb4csAuFShaeaJI\\\\\\n\",\n       \"i1SEhpcRV1rlM6i+8hFOZZlYWoVVpU4CQVS2zNDymN1VuWh9kW8mQeReSZJKni+1d2n+TwOOw3MG\\\\\\n\",\n       \"lfWUqbDCgTrWqkTdLoVg94TbvYSwldu0GitXAfoII/RBSd9JBRa3wrMOPpj+Z+sj9MD77qOj/+hY\\\\\\n\",\n       \"ipfGVGundMSm7JidY0SfeHZAj04FzjYI5RVj85c209ZvbaVXrV1LY7kSDN/pI870u1og1fCey+fz\\\\\\n\",\n       \"vQPYxgosJnOFuq0sIF/+JrlWTkexAxqBta/hi1/8Il133XUD21/+8pfT2WefTZ/85Ccfk/syGAwG\\\\\\n\",\n       \"g8Fg2BswC6HB0MOoVpnBnBg5MNcDd0aZha2X2xQI5ZG0S8nBKtb5s17PbFO5CstHHMViDjo9qI6C\\\\\\n\",\n       \"gH7viMPp2HqNtl72amp+95r+04Uh/eiEk+nvL34erV+x0m174u0/pvHpXTR7zf/Qtj94DT1+fJx+\\\\\\n\",\n       \"Z+1ad00UH2HgI8/wieKmaeSpGfmZ8Ly8jYusD94v6qRbYlmDdXBYDlNmryqz60niStrsdAZWp8R6\\\\\\n\",\n       \"yOvtvOj9HbFdbtPrVaXq3LbHPojtep/cj2tL5ZiuC31e8RivLVAQVtwu0lqI9V6b8GVk/5d9gte5\\\\\\n\",\n       \"T8j3gvdzqdV6/SkWfUyrr3TfBPG6NIrobUcdQ7WtCd377rup+VCTTr03pQZXBxF9//EBffsJEf3k\\\\\\n\",\n       \"qL5tMO2mtOGfNtD6z6+n565aRc8++OAB4ioqeSf1PbjjQVjnzzPwe1BS0iD0krOyXl1P97SHJrt8\\\\\\n\",\n       \"v23DfwcNexPj4+P07W9/e2A7b2MrocFgMBgM+yuCdGGKYXHDFFiGAwA+u5YcfIHHlcdo9Y08T0Kq\\\\\\n\",\n       \"VvIlNeta2WC+r4pgFUVEKatItLJEDmR5Owrbpmq1gvJJD5blIBqaHFkTE2FI7zr6aPqz+x+gH771\\\\\\n\",\n       \"96h+wkk09oKX0tgzn01BveHUHd857Ux6wTe+QrVul05+w2/Sf995Bz1p2TJ63RFHUCMMvYSUT3ml\\\\\\n\",\n       \"761HbElFDcgJSVCoZ3bKKx60hxF1uoEbpLfb5dlKPuKqSC5qJZFPgeU7TtsIfTlasr/4rq+vK/vR\\\\\\n\",\n       \"sH99sR/aHSispLIK36f1P7oPQ6Gl7YNl1kEsQ83VP0YTKTrQXSvl0A7chhnhElASRhS4IlR5ZX0i\\\\\\n\",\n       \"fz/YfpeKIPcq1VWUtxBi0HH3axsNuuK4x9G7772H7nzrT+k3TzqCiCbdMdcd36/X9tY2PXrNo7T1\\\\\\n\",\n       \"a49Qa2uHXrJmDV2yalXvO2NBVMl3QhJmehnvq3se+cxShYV9gtxOI94fDdRxGZFYmO2xoMIq+23T\\\\\\n\",\n       \"v31lpJVPsSj32V+TC4U3vOEN9JrXvMaFtZ9zTmbr/v73v++UV3/0R3+0YN9jMBgMBsNex0L8yWB/\\\\\\n\",\n       \"cix6GIFl2E+AAfp8ztfrZWSBtkjpwZg8pj9gG8yW8RNYXjKLQqekcIP2MvWVHMjnn6FTIiUU5TZC\\\\\\n\",\n       \"DM6xLKkGrdSKcxJr3VFH0g+2b6cvr3+Qbr7y7bTrL99L8dojiSYm6SvTO+kFOb/3vOYsnXz00fTE\\\\\\n\",\n       \"JUuolofHy8H3KBbCwn1Im2AFYTVAYARcV5E3pN2XeVW1Xk5U+RRHPrKKPGSWJq+kakser/vTXNQs\\\\\\n\",\n       \"sk9KAlYb1fC9qH1JPOnMq8hDXMlnl3ZC/TzZtlHqXudgFRRDSVB8D2SfqHoX8D4kCYXKUutTKKKg\\\\\\n\",\n       \"xkBmranX6X2PO56++eij9PTWmNsxkyb0H3//ALVqRMmuLs081HTvznnLl9Ozj19Jx42PF94p3/do\\\\\\n\",\n       \"paJedpMx6KB6/Zy6MJkbBO63o6zOtRLU9xvlJ3B1H6v6TdT9uGzf7sL+EpVYt24dHXvssfTBD36Q\\\\\\n\",\n       \"PvvZz7ptJ510En3qU5+iX/3VX51nXRsMBoPBYDDs2zACy7CfQCtO5nMd34AIA3osV503mAPEg0Fp\\\\\\n\",\n       \"W5MqE18mkE+ZkgQhhVBcQV0Ci1Sr1bfVoeRWIx60R51OL7Uo9miA4hKqxG0PAjcr4ZOXLaOHm003\\\\\\n\",\n       \"eH9k83qaSRKqRxHNrlxJY0FIT5mYoIPqtd7Mh5KcipX6RFqltBqldx4P0tnywgUWQv18UmmTlzSO\\\\\\n\",\n       \"B+oPdc+fXFXaPjioBkqFhdBnHdRklc68Sj0z9mmrIHmW5edCZWBRRQYW5bXdVcthft9ShyTPBWEV\\\\\\n\",\n       \"5MdJysdnI8x6RFbHTGQF3jbAOrcR7IM+u2fAM2zKviAthbqPcN/hi4yNZQqsbrfQ1/BeSBpR1jSv\\\\\\n\",\n       \"505B97STYUjPP+ggWtHOtt7dbtMpW+vUShKajBp0xJoV9PSDDqIlee4WSLK4xC4o+79WZ/VsvlBY\\\\\\n\",\n       \"4fn0c8ptILRqNUpyIncUu6yPOORqKwa56xoqI1aH7V8o1ZWpt3xgosrIKoPBYDAsOliIu2EEGIFl\\\\\\n\",\n       \"2A8hB9d6O6ko57nAp7byWb98CgMOsPYTJ1IFAYJFFrZP8WcYhxTLgatvMKsG7G7Qnl9YElcYHOvh\\\\\\n\",\n       \"qDaYgdYAHXF4o0EvW7OmoBGabbdpLEmpRkRL0pRmBYEFFYkkrmpqXW+rgcRiBZZ8LlnKBu+OwKq5\\\\\\n\",\n       \"OkO9STIEdkIMznldtgmsatmg3aeuksu+XCtJ2pSd67tWmaVQ992qPunr8zhX93WoqkA6gbjCsuwR\\\\\\n\",\n       \"2jaov0vPSghKyK9SS9OwV/dSIde3CRZtgziW25GbmZejWLW9j7iSpdVyhBf3qSjvY2gh3ddRq76a\\\\\\n\",\n       \"hnpxGSRLRLR8YoJet2RJoWYL2VWKqNVEri6aXHPn8DONj2fvNH9qQrfkt4AVay1Rf7LIui4jErPH\\\\\\n\",\n       \"1JY/2e/K1Fm6b84Fuu/4WsJUV8PQarVo48aNlIi+yjjyyCN3o00MBoPBYNgHsBB/AtifEIseRmAZ\\\\\\n\",\n       \"9kNIqxTWSVicsA9UTtlAf5hF0HecJiSkCivJlSeZ+sQ3YNQDSqlCSXj2tZoIqpbqIwzUpRoJipRO\\\\\\n\",\n       \"h4JWq6c8SVTOD9b1k2GwjmXQGpL2YEyHIS1PsuH/0iShDudvKTWVHKD7lFg6wJrtUoEmJ/QzS8WN\\\\\\n\",\n       \"2Ofyr5rlg3MdDK6Dw7NzfGoqTWiVqbFkfyojOcv2SQLLp4nz9fWyfq8h87C0YlG2qlzW61qJKG2D\\\\\\n\",\n       \"VQRdf53fgTQtKrCq2sOnpksbyk4q+0TF++FIrDTtvQsgcbEMgIaTkC0w6dLks3O5/8tjJT2uLblS\\\\\\n\",\n       \"feVTHvqUiE595XsH0P8r3o9uO/Qq2Xwqz8HfJP7N0kSV7zfO1w9923y/pbpfa+2b7q96n0Hjpz/9\\\\\\n\",\n       \"Kf3mb/4mfec73ynWGFtnA37vtLLTYDAYDAaDYfHACCzDIoAerMvtvoGXhBykY78mI+Q2H+EhSaxg\\\\\\n\",\n       \"YJAu1VfaLiUHn516FlDOA1NH7pQRWGp7wPILnoVNEVixUpboYSc/NYY6qAEQWRJNztqhrjtmqpvQ\\\\\\n\",\n       \"9oin+AgGFCc1T96PtlD1VFty5kE5QJfknFTcgLyKaxmBpWZzlPUq7YRlgdbZwB21UUVUlZFQZaor\\\\\\n\",\n       \"P7k5SAigT5X1S0bZQDSq6MdoTbldZmSlJeSU3CbVWD71jaQ59fNndVtGpMi20W0n19PxyLV1UEXk\\\\\\n\",\n       \"yH4i1FgBW2rFu8AF6kQ8RVRSU05NmKaEudxmeWLAXHGooXPfqvp8lfrKTcagVWZDnptttG4mzqaf\\\\\\n\",\n       \"wNLvhP69QV6cn7z1EVny2LL3o0xNpc/1HWOE1ah45StfSXEc03/+53/SoYce6kgrg8FgMBgWBRbi\\\\\\n\",\n       \"TwL7k2LRwwgswz4MrQiZzzWikutq1QqOhelIzrQmB/pysNfXOnW7/UBl2KZ8NjdEWvE4FPt5vdOI\\\\\\n\",\n       \"KGYbEQ7G4DwnqZy9CMzM7GzfM8cWwmbTjUpBO5B6OpjIYH2CSgtJSPLJCwgCagYBjaWZjXCc8704\\\\\\n\",\n       \"f92jOsFnXa0XFFlQnCD/CrZIWKhgo8I+UbpBNvugtktJO6bPyok674e9o918qiLUSpmFUC77Bvq+\\\\\\n\",\n       \"7VrN4lvXKFNl+SDfEfRbkFFo/V6Dih4giSjcB84rsxBK45wmP7rOQij7Pzc3N6+2rsn3QL4DrVZA\\\\\\n\",\n       \"Hc7BCnJLrSzoG2Bj8D7AUjs+TkGaZplw3e4AvSLvGi2M2kvybY1cfcVohZHr82U1Licx8BG6kViu\\\\\\n\",\n       \"iXejjnWZAycLPxcXrVIU70YniYhjusreA1SLthTKdvD3ZUlG6e3amFmmuvIpqub7F6Xvugcebrzx\\\\\\n\",\n       \"Rrr++uvpxBNPfKxvxWAwGAyGhYURWIYRYASW4QD7NRz2y1hGJuj9fjtVp5NSpxOUqh+Q3eQvAbXb\\\\\\n\",\n       \"KcXSPseDVSaqROZVL9hpcrJHZgW83mw6KyEP3H1DPV+qEWgOv56sj1YY0lhuTZlIEpoNowKBFaoB\\\\\\n\",\n       \"u/zUmVj8DAEzGpK0wroMdQeBJZRYnPnTzgksOUiX9StzxVC3xfD2rBQH7pK88qmtdNvrfT7Syne8\\\\\\n\",\n       \"7INV9qoq6OOkHRDrkoCSmVdofT0ToaQuJYElLYij1FWXut2M0mEyF4SJbAuQtrzMzSuVQf1241n5\\\\\\n\",\n       \"wuxdkDlQ3CfwPvCB3E/ATPLJs7PuXUi7XYp37Rq4O9R+TdSCrrExkSnUDkNHNsl3AbWiZzosy8CS\\\\\\n\",\n       \"5JVcdjZafqaJiT5hxe+0JrLkuyJsxP3fjPLflDJbYVbfWl3nI3Sr+uCw31Gp2DPiaaFw8skn0+bN\\\\\\n\",\n       \"mxfsegaDwWAwGAz7E4zAMuzH0DqjUY6Vyz5iS67r7WW2sP4gEDYpaRvUVin5qQsrKsbGsgFqbxY2\\\\\\n\",\n       \"KLBkkDMfDAseTm40XP4Pq7DiJClQFrhDn2UKT6kpClkLHc7nygmsRtIlNmj5cn+0XaqgvGIrFtRX\\\\\\n\",\n       \"IKhkML1W2wgbYepIvRolncwyBb5CBoVrMqtsBsJMfZWMWHS/8bV/WQ1qgqDsGmX9dBRo+6vU3+l1\\\\\\n\",\n       \"X4tTSeaV7/5GrzepwiorMnRfkrvYV2Prah7m3nsXQOyCvJKTGsCWml8gbDYdmcvvA+gZXcsyA87V\\\\\\n\",\n       \"RppSPbeXshqL3VlyBk8dcV9FYIHQlSqsXk4c58jhfuVzyPWSEHt+F9IopnbO4w0rPkszlv39tKrI\\\\\\n\",\n       \"2vNt18fs7f92Xfx473vfS29+85vpT/7kT+jUU0+lGvcLgaVLlz5m92YwGAwGw7xgsxAaRoARWIYD\\\\\\n\",\n       \"iMQqOxcDb6nJ0IM6TWr4SSwORuYCZYQcmPsUWHK2Nv5sNgOanKxTVONBa7s/oJWKE2khZFUG/Fjj\\\\\\n\",\n       \"425GQs4A4mMlgeUbgGsFFgb5ehjqzgkCamMQnpIb5GPGN19wdd2T/+MUJ9IeBaWVVmHJAbxYT+Ia\\\\\\n\",\n       \"ddphof6kskfXtVSeyH0ctt9vR6k6mQuxpc+Rn4BWXul+RZ7j9bYqBCX2QNmXZetKtZW8F9kbfOvy\\\\\\n\",\n       \"/ShXH/Z7DxNYCbXbUU9x5WsHqbqSdkKs12oRJXFAIQgc2GihxOJ1vA+5AtH1JbbR5u9EODtLcafT\\\\\\n\",\n       \"a2mtunIklXhSJn57mjNWgIl8IUkASxMmlqtmIdQqxIhz7qCw1HZaqUL0lXqDkqjuHrfqt6Tqtwe/\\\\\\n\",\n       \"U37itayfl/VxqUTcXQLKyKtR8axnPct9XnTRRcUatBB3g8FgMOznCDhmd57/lzXf8w37PozAWoT4\\\\\\n\",\n       \"0Y9+RP/xH/9BK1asoF/91V+llStX9vZt376d3vCGN9AnP/lJOvAgbVFSjSKhVTW+fBhkDHXFMg+F\\\\\\n\",\n       \"meKJ3Sxs2WyE/QwgDNB5GZk/+OR9MzOsysi28fJYVKfaeEZEuZFqrqxy61gGA4BAclifosipnWqt\\\\\\n\",\n       \"lssDkkYyzL7WERlAOuBaa4aAwKmwsgF+I0kcISXDq+UMhNoyFUFhwhapJUsy2xSXqalsEC+XdclJ\\\\\\n\",\n       \"r1Y7cJwd1w+qRdoFZYHqROb/QBHUV2B1B4iX4cSlT52lr+GzTJVRhJLc8q1XQZJSGjoJTc/aKdVX\\\\\\n\",\n       \"ktrR/dwX6u6rK/lOxIUgd9kO3L9hKeT2k3ZC+U5wG2fzGQQ0JnPf+CQpueM+g/cBX8gvEhfuo6z6\\\\\\n\",\n       \"Y1thu+3uvp33e8o/0X/xJneFfTBg26yndqX6ShJZZTMQFt4DJn2lbXDY+8BFWgzHx6kT1mh2pv+7\\\\\\n\",\n       \"gSg8EFo6C0sSvYOzcKJGejVQQdbKqSB8fVz3LU3eGhYCX//6160iDQaDwWAwHLAwAmuR4Stf+Qr9\\\\\\n\",\n       \"8i//Mh1//PG0Y8cOevvb305f/OIX6YILLnD7Z2Zm6G/+5m/2YwJL6iDK9svBuT7eZ4vy2WTkgF0r\\\\\\n\",\n       \"UHzKhf4nz0TYzpVCmDhMKk648GATohIswx3lhCZx5FRYTn0ClZUMrca6h9wKeOTPQdb8GGylyq1/\\\\\\n\",\n       \"oBek6gRDViQgldWCq0EmBfKAa1Z61XICK/QM2nuKE9gGGw0KNCkF9ZUvsF1bq+KY2vmgHYSIT2WC\\\\\\n\",\n       \"qtH2wozQ8mVfycE5ilbmlVF6PuuVvq5vX5kVS6Ns8B96jkErob/LZ9CqQlxDtm7ZhAny3iVZhnqU\\\\\\n\",\n       \"JK4ks5jA5Uy4wJFQUn0FRZZWYMkMLLSxEySNixcDmVeFA8aKTJl4H1weFt8d22pzO6EmdPE+MNnb\\\\\\n\",\n       \"dcRO9iS1ICg8rdS6+XKwqmYddIpEfl9YeSWzrjxEbaHAajs+Tmm9TmmtTt00U7aBwOVP8HqSyJL1\\\\\\n\",\n       \"q+u6qEKsUluVbZe14lNm+fq0792ogv0Xqg/nn38+LRSuuOIK+ud//me67bbbaHx8nM4991xnUXz8\\\\\\n\",\n       \"4x+/YN9hMBgMBsNeFWTbnw+LHkZgLTK8853vpN///d+n97znPU4F8b73vY+e+9znOhLrOc95Du3f\\\\\\n\",\n       \"8JFRvnU9sJIDek3RpHMoOF5aZjQFlFCS9MOrdUC1m2lQDSZ9lrhug+1TKYU8gMWIFGSODK3G4B3q\\\\\\n\",\n       \"FKixQFwFgRuY11iNouZdlOs+KkbXcCoG9JSkFDEpwARVierE7QvD7BmG2qIUaSWyfzjvhzO3pKJE\\\\\\n\",\n       \"W6Vk3o+sc527lKmvfINorY7yKbHK+oOPkPKpuar6nTxf9uey90AiqNim6UgfcVV2Hz7ySj8PkqU0\\\\\\n\",\n       \"6ZfmKqxMiahz4HQ7FXLg1PvQHY8oimtZ8L/sG+gvkBbBYov3Ic/Dcv2X+z/bCbMQtIH+72pCkFtR\\\\\\n\",\n       \"GLj+KylE+S5oAktbCEHg9kgtfg9qNVcKs2yWFfkuCFI3CSIXkq/ts77gdk3sFrPgfAQ82tJHMI36\\\\\\n\",\n       \"26iPrTp3lD5vf4UybrrpJjrllFPc7ykvV+G0006jUfHNb36TXvva19KTnvQk6nQ69Ja3vIWe/exn\\\\\\n\",\n       \"009+8hOaZJLVYDAYDAaDYR+DEViLDD/+8Y/pb//2b91yEAQu7PXwww+nF73oRfT5z3/e/aG6/8Gn\\\\\\n\",\n       \"DClog5RGIhiBzk8rtmuljE+JgAFfPLA9G7hzDhaPOzP1iVaYQDkB2yCPWWGpmp7O7FPBeEjRxGSm\\\\\\n\",\n       \"JJEkFV+IAQaAD+YC+5Q7OXDLzj7Fn9PTBa0M6IhOPsCWdESp6YdzsMKQOrnNKkpSakT9HCytwOKM\\\\\\n\",\n       \"H5fzw1vZ6TEAAOswSURBVAMhtkFh4I51OYjX2/P1dGyMulGNWu3QPTrbpaR1UNqo9HatQMluW6ut\\\\\\n\",\n       \"fO3qI6/K1Ck+Ikv2UXktX3+U20e1W+njZKaVtg7ieJn0FFXcC64tFYco0mKoFVfaUhv1yFy0gbR1\\\\\\n\",\n       \"oo3Q55mrQUa7fDdYvcXW0XpUo2gspYD7SCYhKs6SwOtoaO7/fDIvZxdxqkRHIjWbFLVaA3fLfbeZ\\\\\\n\",\n       \"qwsZjXyWzaoWwVNKG6G00cr3gbPfXP4bF34GLrAKwkKIdRQ+Nt/O7wFNTLr3gPs7/0agz/veAYjU\\\\\\n\",\n       \"ZN1npFaqbLS6L/vUiZKw14TuqL+pPiJK9rdhxx7YVsQzzjiD1q9fT6tXr3bL/G971oZF8PZurrgd\\\\\\n\",\n       \"BV/60pcK65/+9Kfdd1x//fX0jGc8Y0Hu3WAwGAwGg2EhYQTWIkOj0aCtW7cWtr3sZS9z/3P74he/\\\\\\n\",\n       \"mN7//vfT4oMesJehzCIlLYIgADAIwEBd2qS07UxmYGV0TmYjjAdyrxDPwwN2/mSeiffx4JOXc7ed\\\\\\n\",\n       \"2xaGAdVqMcXjE/nt5wQWA4QVF15mYMDOJ4PUylUcTGLF7TZFnQ5FXdYzZU8g6TcfJSPhVCZhSDty\\\\\\n\",\n       \"AitJEhqLwkL2Dw+gmCgo2AL5k7N85OAdA3hJXGGAnw/gedCe1hvU7sa97Cv5iVKW+6NntePBe5GE\\\\\\n\",\n       \"khlYkszSwe5UMtj3qZBwftkgXhMB8jxfny6D7OvogzrbTb4XWqko+zeuoTOuZF6cvE+t1pG0aJHU\\\\\\n\",\n       \"5TrnfgyBFLol2oy7CtyB3JbovlzwPnAXCcdrFNYDCsbaWf9wt5xflBuXD8bAnVkwXucBPr7QPWr2\\\\\\n\",\n       \"4gWzs1SfmXF5V0wCuDc3TamV92t+yokwGJjfUde8tA9KG2GPzOVJCzCTJrKtkAOniNre+8CfOFaQ\\\\\\n\",\n       \"XOn4BHUpptnmYP+X63LZlxGXcX9IwOuMmIGl3w2dmFdmCfT1ax/KSCsDcM8999CqVat6y3sK27Zt\\\\\\n\",\n       \"c5+cn2kwGAwGw95GFukw/2sYFjeMwFpk4P+d5ZDXs846q7D9JS95iRusXXrppXTgQlMzmtCSAzKp\\\\\\n\",\n       \"agHKlAmSuECqTn+2PPBIkszS6iDeB/UJl2wwH1C9nlIQNygaS1wQdS8PC5lXWo2SK6+yW88G8Ewq\\\\\\n\",\n       \"uf358axA4fU0SZwNUGouyrQV+AehHga0I1+fTRKKOWsrtxG6fJ+8FAgsnfMjC4grWKaUfaqTcD0G\\\\\\n\",\n       \"hRnXfNk+PjtacX9maRttEF5WG1W2wDKFyigKLB9lOJd/vbXqShO6kpCqeg/080jFltym92tSr0/2\\\\\\n\",\n       \"cp2zXY2zsGQGVllblc1OyEqsMAipDusgPHJQJGJSAxnoDtkdyCy200KdyHfIsxN2Om6WQiawUBuN\\\\\\n\",\n       \"IKAxVrhUUCs6xL1HXvF3hKEjcZ0CEXZHEFZ871JhJd6LbyZ303VbH6Q3rX5lwUrIRG4SN6jZCgZU\\\\\\n\",\n       \"Vp+/7/10RHw2HdE9f8BOK5VY0nLoVyHKd0O/C7pP+hSIcruvjxnmg6OOOsq7vJDg/5DgCV7OO+88\\\\\\n\",\n       \"Z1f0odlsuiInhTEYDAaDwWDYmzACa5HhNa95DV1zzTXefS996UvdgPKqq66iAxepGpRjm16Wg3u5\\\\\\n\",\n       \"3ae+keqsfh4WbIRR1B+88/gZihNkYmEcns261rdV8frsbEC1JTUKaglF4/moVFumABBYUJwwMGDn\\\\\\n\",\n       \"45lc4tnYmHBqtynpdl1xlEQ+gC+jXHoaniCg8SCgmfx4ftoGD9j5O2RGEQbrsBByQWi7JrA0ucWD\\\\\\n\",\n       \"9jywut0KvZYoTXj4iC1JavUzf3wD9KSk3fUgXteMrz/oPjSMvPIRBKP2Y9k6uK5MNdPHS9JJBrvL\\\\\\n\",\n       \"/WWkl7YU+ggvXadZXXMOFgisvhrOT2LhfZB5cb33gXOpclsqh7P3dmLmwP40k/1lvAMA7IX8DuSM\\\\\\n\",\n       \"Dge8zwr74JIodKHrPq2cj7xyBSQuB7WDpeY+zZ8grdDHeVm+DxMT9E26l37hwT+l6aRJ7clxWnfq\\\\\\n\",\n       \"a3oEV1JrUJdnHtzVD2zn8pm7r6RPPHA5NYIJet1B/02HdjISS2eI9esbkxiUqQ6lklD3bfSBUUnY\\\\\\n\",\n       \"MhrcsK+Cs7BuueUW+t///d/K0Pd3vetde/W+DAaDwXAAIeUxyzw1VPM937DPwwisRYbnP//5rrAK\\\\\\n\",\n       \"CzMPajshz064/wKDJW2L0sAASs6vB9IqEFYnPVCTA3hpkyJPJhCuoQkszGsWU6fD4eNBT2HFY1tk\\\\\\n\",\n       \"OUkLIRf3rbnribfLfY16TBEPepHxw8QQDsKFGbydLw42TIZAQ8bEg2bOxoKlED47VmUxqVVRq/yU\\\\\\n\",\n       \"y6KQZjpZ3cyEEU1xhg9uFAN2/g58r868gp1Q5wFheWrKWQeb3ZhmlFXKZ5fiT1/Au1SesLpg0BKF\\\\\\n\",\n       \"ttKklk+VpXNlfBbDqkF7Gfkl+3TVeah9X5/Xdj9JYnWHnAfSSyqrQNEAsn+XzcSZ5HWJFKi+sofJ\\\\\\n\",\n       \"UbQPdw+Ip6BI5G7JbajfB9htuQtl7wTPaBlTY3zCqZyyW+sWVYew1OKd4JP54rASgg0V7wPPCrhj\\\\\\n\",\n       \"w4be0y6PIpfhpulFDVerIMRAWsEyiP4t3wdJ2mIWwvx9uG7Hg468Ylx++4fdtnXnXOaOaycxNUWf\\\\\\n\",\n       \"5/yrq269kj5x3+Xu+GY6TXfOXEfLW+f33g35PvQJYPSHtiKwpCJxFAuhj5CVfVsTYVLt6LPX+vq8\\\\\\n\",\n       \"kV97E6973evoP//zP91/fnFmZhkuv/xyuuyyywoKrCOOOGIv3aXBYDAYFj0W4k8A+xNi0cMIrEUK\\\\\\n\",\n       \"nnHw9a9/Pf3Jn/wJ1XJ2ZPPmzfQbv/Eb7n9Y/8//+T+0/0OqSgA5gC87RysHghKSisRgXA7cu55j\\\\\\n\",\n       \"pSUHhEDHqU/a7dANKmU0FZZ57Au+KXc5ufEuSCwc3+2GlDZqNLZkSX/QDLUJDgKZhdE/BvB8QZBZ\\\\\\n\",\n       \"PKLNLXoBWJ5cxcKWQkdqQdHiQxDQFH9uecSt7uh2aTUTUvJ7oD6BHRDh1LAGwkKl83/ygT2TV92o\\\\\\n\",\n       \"TrO7gt6Afdeufq6PHKRLhYmeyRGKn8xxiXbrlCikMLCWA3fZx8psU+hzZX1tGHxKqSoyy6uLE/uH\\\\\\n\",\n       \"/a9T2TH6PZLvlk+NhXUf2YeS5SwlSRZxLkPcQVJxd5EqOl7ntuXuBAKrH2nFs1oSxZN1Chr53cA2\\\\\\n\",\n       \"CAKLwSfwuiazIG/EC8d9ke2DO3dSKydk67WY6suXZ+9CbrEtRR7Y1bMlov9zgX1Wkriy/0sF1tQU\\\\\\n\",\n       \"vemQV1B7Yiwjr5gouP69lE5O0hvOeSvNNDPrIL8D/C58/LYr6eP3ZuQV47kTV9C56ZtoR/5o/M7I\\\\\\n\",\n       \"/Cu8K12nMtN5Vz4lFo4Z9n5Iwkv3z2F/gfroQVNt7W3w7+Lv/u7v0r/8y7/QN77xDTrmmGOGZmxy\\\\\\n\",\n       \"MRgMBoPBYHisYATWIgUrsF7xilfQV7/6Vfq7v/s7F/z6W7/1W3TCCSfQjTfeSPsH0hEG3pKEGmUA\\\\\\n\",\n       \"L88ps75otQl5Bm+SvJK2nCKhlaaxU/90Olkmlg6xhigEhJa2EEJQxd8XMj81XqOo1nC2p4GMH6hR\\\\\\n\",\n       \"wIYxpDoLIVv4MhBYuSymZ8uqmsUqDKkWhjS+cxfNNJvUarepVatRHZk+IMqEHbCX9YPt0jKIQb3I\\\\\\n\",\n       \"v+oEMbU7mXVQ5v1ockp+6jys/qPI7Cufxc3XB/QgXA/Gqwbp+hzfIH7Y9aoILB9038dxvtk49fdo\\\\\\n\",\n       \"AmxYHQzbrwmObDlNMythVor2Tkk+Ih9LT36AWQkdB9tgZiumGvoMiFzZd+X7AHILbJhUY3U6tPOR\\\\\\n\",\n       \"jIxlLF26zJFLvVk/q8hcSY7hZZUEFvKvQFqB1AKBK9+NiYnMNjg5SZff8Kfu8m+55u0024npd065\\\\\\n\",\n       \"vGcbZPLqr+/uk1eXTF1BzwjXOXJLvhvynck4viyPrHrCgrIifxs1oTtKX/GhrB9VHauXDQthG+S/\\\\\\n\",\n       \"D/7t3/6NlixZ4mY6ZCxbtozGuV8aDAaDwbA3YQoswwgwAmuR4txzz3VE1e/8zu/QmWee6UiUd7/7\\\\\\n\",\n       \"3fTmN785C/Xe71A2KB91vzxOZgT5lCY+EktatLTKBN8pLVQ4lhUoPJAM3QAU42lNYEE0wp/SToXx\\\\\\n\",\n       \"cMZHBVRvsMKpQUEUZINsBg5myFnX4M+SbBgkGTpJXtgIC7laGrn6a6rZopmHH3abdjRbdPChh5Zb\\\\\\n\",\n       \"CDFQl7ZBLIuA99RlBtWp3QzdbGsYhMvcHxRtF/TNQIjHS9NhtiipuPIN3H39TA/iqYLo0STIqMTW\\\\\\n\",\n       \"MAwjqiShlSproY9kkP1dz9Ypr11VZ1KB2N/ObdDpxK5d0P8loSsz4pAJh/cBBe+KI3QbEcWNwPWb\\\\\\n\",\n       \"3nuAyQ1grdXqRDBiyGnLO9L2nbt6T7dk1cqsX4K8qiJz8dLiupCUSRJXWwjxLsgQd1Yw5orEdU9+\\\\\\n\",\n       \"k1NeveVb73Bf8cffeQvNzAT0yseto4/9+Er62F198uoFSzPyChZaTfTi3eGZIJMEyiqtFpWKrDJ1\\\\\\n\",\n       \"oo/QKiO3ZP8bBele+Et28YFnGv7Hf/xHuuuuu+gP/uAP3KyBN9xwAx1yyCG0du3aka/zkY98xH0+\\\\\\n\",\n       \"85nPLGz/1Kc+Ra985SsX/L4NBoPBYKgCz0A471kI7c+GRQ8jsBYx7rjjDrruuutcpsVDDz1Et99+\\\\\\n\",\n       \"O01PT9MkEwh7GB/+8Ifpfe97n/sf3dNPP50+9KEP0TnnnEN7F1AcSEuhDLHWtihJUmmLVOCJcEYG\\\\\\n\",\n       \"lhzMgdAKe8tsfWq1agVnHw863R2KH1lMoKbjfbhAtcL7xsdjatQiaizPLyhtg1L9BFkGF+krYgZA\\\\\\n\",\n       \"B0WBvEJI/BACa8n4OG0CgbV9Ox3M067LAbwMcZcDd2RggdjivsgZWu6YMZpuhr1sq507M8sUsq90\\\\\\n\",\n       \"gRtMDuClSgvb+vlMGMBrBZYmtdAoPrWKj5DCdwzri1pJstD/wkqiSm6jEfLiNGGl+7xcl9lxPnut\\\\\\n\",\n       \"3N9/H7gtYAuEEFC+DzLSDXwsjsc7gWMcV0UhTUxM9slZHAjSCDZB9D146bjj5ARud2aGprduddeO\\\\\\n\",\n       \"2B7Fg3+EwA8jsOT3ygwsmYOFfg5CV6qxcF/c/3OCK12yhC576tuomdToXd9+i/ua9/3wcvroze+l\\\\\\n\",\n       \"HZ3sPhkvXHYFPY3W9d4PjjXk5bL3ISNx5TuAZU1GzSUfDv1rmFpLK7cM88FNN91Ez3rWs5xK6t57\\\\\\n\",\n       \"76VXv/rVjsD653/+Z7r//vvpM5/5zMjXylR5BoPBYDAYDPsPjMBapLjyyivpHe94B/32b/+2I5Lu\\\\\\n\",\n       \"vPNO+vVf/3U67bTT6LOf/Sw99alP3WPf/YUvfMEFvX70ox+lJz/5yfSBD3yALr74YkegrV69egG/\\\\\\n\",\n       \"SaupNBkVDjlXDtw1USW3SXJLEx4YoAf5MtQn3cJ6mrap1eLXLcvxgYsPA3Y5uJcB78ifhrgkU2MF\\\\\\n\",\n       \"1OUMoPGI4vGJbNYzPgEHIPUaTAEuCNUV7wdRpdVXvIwBvA/5TdaXLqV4YoI609M08+ij1I1jipiY\\\\\\n\",\n       \"0oN3LIPQwjIG8LnypBPWnEotI6+yzB+orYpqksFwaj0rIZZ55kG/fVASVVo5IgfpVfAN1kexTPkG\\\\\\n\",\n       \"8cMsV1UklO7H+ruq3gF9jWjIefq6PqUZSJAs90rWp5vp0jn7OBeuPx+BbE9wQmhLcE0gu9C98C6G\\\\\\n\",\n       \"bGmN6hSP5ywvA6orsMGQb+EdEOFbu5iEzQfxSw8/nIJly/rvQpWFUCbOaxUWHkJaatHnscz9Hsfk\\\\\\n\",\n       \"70BSb1AniWh6JqD/84TLaXo6cOQVQ5JXL1p+BT0zXucIXv1+aNViq8V1rlVWVQqsUSY00P3G1wfK\\\\\\n\",\n       \"+g76TxmZa4TKMPC/rayO+tM//VNn+wN+4Rd+wU3SYjAYDAbDfguzEBpGgBFYixQf/OAH6V//9V/p\\\\\\n\",\n       \"53/+5936KaecQtdeey295S1vcXaBJo9u9hD+/M//3P2vMAfGM5jI+q//+i/65Cc/SevWrVsAwsq3\\\\\\n\",\n       \"rLOA9ABJWqd8x6UjFkl86BB3zHgoSRIowLouiD3LwspmJQSBBTcTxsG8rAPeGRiLu7tNA4rjkIIa\\\\\\n\",\n       \"qzo4H0tYpnAQTpCDbWYGwJjJ6eCgNkEodhmJlRNYHFy99Oij6ZGf/MQdu3PzFlrG5KTM/cGyzsOS\\\\\\n\",\n       \"ZXycunGdOt1stkaoqnwDc98Mg1iW+Vd97kETVj41SNmAfJjFT/ebsv46yrZRt8s+77uvMishzeEa\\\\\\n\",\n       \"o6jE9LtQtn2QNOR3gAksOFWzCQoG2xR2QhnbBv4JP11sheb1oB5TwBwVE0PaQgjrILy7cjrQVot2\\\\\\n\",\n       \"PvhQ7+6nOMCaSVjIHcsILLxPksCC+lESWGWTGoC0EqHuTF51gxo125GbeZOfkW2DWnk1ES6nZ41l\\\\\\n\",\n       \"yqsy4qqffZXmwe06rF2/D90R3pFhhebwbgw7rmzZwPjBD35AH/vYxwYqg62DyLAyGAwGg2G/hBFY\\\\\\n\",\n       \"hhFgBNYixc0330wrV64sbOPZCFmN9Uu/9Et77HtbrRZdf/31brptgFUSbHn47ne/6z2HyTRJqPHU\\\\\\n\",\n       \"3OUYpirxqVV8KhUJkEzy+vIXVCqwYB10TyYGgLgO8qP6FkKsd7tR7xrSJiUFIzxe7s+6lj9Jbply\\\\\\n\",\n       \"V8knV8tyqwNKJmNq1CNqLMkDpGdnKQADBisVCiRMPIDG9H3aQoiLlw3ewayxjfDxj88ILFaIPPgg\\\\\\n\",\n       \"LTv3qcUMIBSQVbgfJgkaDUpdoPUkNZvBAHmFWde4QE2C2QflLIRSkSXFZFnuD6xSmkiRg3W0r55N\\\\\\n\",\n       \"TQ/wfcRWmUpLXms+mAsBNZdr4ll874NUYklCSs+8Kd8NqbjSpAjerawtkqSWEyuZCktOlgleSZK2\\\\\\n\",\n       \"0lKI7qj3ufegHtM42wnTlAKQRiCvQCwhEZ5LvU5ps0Xb77svu1atRhOPP6H/RVUWQhBW4l3wKrBk\\\\\\n\",\n       \"JhzIK7wPPNumUCS2WiE1W0FvpkGug4/ecmWBvGJMJ1vpPx69ks5Ls+B2/U7Id4Xfgf7Mg21hG+yK\\\\\\n\",\n       \"df0+QEFXlhHnI/NJ2Gur+pvePoycWoh3aPGBZwH0/RvJkQGrVq16TO7JYDAYDAaDYW/BCKxFCk1e\\\\\\n\",\n       \"SZx//vl77Hs3b95M3W7XhclK8Pptt93mPeeKK66gd73rXXNQlowKmX8l7YXy+iCV5KDeN2DHNWAP\\\\\\n\",\n       \"BJElry1VWLAPFrOzMuIps8q5O8hdTnAAMnj8LcVQDDm7Hsbg2JaNg0Mab7CdMHZZPj2pis7A0inn\\\\\\n\",\n       \"kvWRMxtWEVg58za+bBkFnNszO0s777mHkslJCvHdIKwwI5snDyiJYmcX5IE47GIYlCMHC4NymXvl\\\\\\n\",\n       \"sxAW+TgeuGdlkIyqyupBn6gaOA/bn+zDg3BN4sp+PezYqv2+OtQKrGw5I1SYvAoKwexQXEFllWWX\\\\\\n\",\n       \"FQkr+a7gXeCu6Nrc5TwFNDY+QVE9n1kTcsacsCp4E2dnaea221zfZUydcDyF/Jvpm8lQQwZzgV3T\\\\\\n\",\n       \"Qe5YLpvUgC2DcY2SsE4zu/qWWRBYV916JX30zssLyismrxj/1bycprtEp81mAe6awEIGVhbczkRV\\\\\\n\",\n       \"S5BXOgvOZyfE9rJ3x6fWAvR55OkTj+V/y+7/eO5zn0t//Md/TP/wD//QUyJy9tUf/uEf0gtf+MLH\\\\\\n\",\n       \"+vYMBoPBYNhtWIi7YRQYgWV4zMFqLc71APh/l4844oh8bRiBVWYrHBVyYFWmwpIDLz3DmrYT9i2D\\\\\\n\",\n       \"fYKrqMhKkoA6ncwyBxcSBCNQlQAy3grr7q6FOovVLJilsBbFVItDiidFYBCYAl72TdMHCyEUJyCz\\\\\\n\",\n       \"ygbv+Y06G+HJJ9O2G26gtNWi6QcfoqnTTu2TVvh+KMBqtUx1wlk/aUTtVpSrrwZVVnJWNZBTmrjS\\\\\\n\",\n       \"9kFZMvugJFF0QLts+york2/QPFcb4L6MKkshzaEuyupSq7NYGZf2eCL+5C4lxYCwDML1hy6q3xUG\\\\\\n\",\n       \"Zuhk8iqKUwooohp3/XomYXQzruIlQuBW7l3ccccdvadYcvrp2YQCsv+X2WjlrIZShQUZmY/AQskJ\\\\\\n\",\n       \"rHZYo07CduKwQM4yefXXt15JHxPkFWdesW2QlVdMXjG+Hl1OuyKik5rrPO+KnHUQpJRcLrMSFsnG\\\\\\n\",\n       \"QfWhVCFqwnd3yaW52AX3x/dr4fH+97+fXvSiF7k8yZmZGfcfUmwd5FzL97znPY/17RkMBoPBsPtI\\\\\\n\",\n       \"+e+3YP7XMCxqGIFlWHDlVxRFtGHDhsJ2Xl+zZk2pJYLL3CHtghhARUOOxTIG7mUDb0lMlalLoLiS\\\\\\n\",\n       \"iiyp+JL2KaiysvtlAisMswE2xryAthdiBjasa8jx9tgY2/fSLBco4KwqzgcStj7JAIFBmAuBxRC2\\\\\\n\",\n       \"qakzn+gILMbO226lKdgIpRolV1+lcUxprU7dqO6IK2kZrCKvtGDMR2DhURDrlaZlA3M9CJekVpXN\\\\\\n\",\n       \"6UAePA8j+LBcVb/9dSab2u3Im4EFRZZ0AMJqKCOsfO8Kv0uOc2rERI2IonqWgeX6v5R3tduURhFt\\\\\\n\",\n       \"/9FN2YlhSFNnnZX102EW2lEILFgIlY2Q+37KJG6tQZ12QM12prwCgcXLZeQV72PbICuvmLxiXLv0\\\\\\n\",\n       \"crf9cTvWieyrjBws2gZ9eVdlZJa2E/rasOo3s6yflEGrtAzDwLMPfvWrX6Vvf/vb9KMf/Yh27txJ\\\\\\n\",\n       \"Z555prPpGwwGg8FgMCx2GIFlWFDU63U666yz6Oqrr6ZLLrnEbeMsIl5/3etet0DfUmV90sSW3AZC\\\\\\n\",\n       \"CaSSPAaKK6ivfKqqNB8UkrAeIucKJBbYJizL6/fvh/OwWq3IqbFAUIGAwayDMk9dEjWawJFkDw9o\\\\\\n\",\n       \"s8zogBqNMaqPj1FtKslGyGCBsoCc/mBdE1hV+T/uUfr5P5M8m+WnP03U6dL2H95IhyxZ4vKEBtQo\\\\\\n\",\n       \"Y2PUpYjanYBmdvSdXSCusAz7k17GQF/bBsu4uOJgu60sTXKgLo+lCmvUvmQF3NvQuVj6/dPqRezH\\\\\\n\",\n       \"OqxscY/c4DbCzJsgrSDuw7r7tnxiTQCqLHRPvCtwwcr3YXy8QbXxOsX8/dyBYCHsdKh1553U2bjR\\\\\\n\",\n       \"XXP8xBMpWrt2MPuqisDy5WDJ2T+1jXZ8nNpdVlwRNXf0X0f0c769T95xJV11T5+8euGy4myDbC88\\\\\\n\",\n       \"fXodTUdE31+SHXfT6svd+YdtyUiuLF+sK2yDMvuqrOBdANkFYqvtsQTqd0VacbVSy/ceoQ9VkVVm\\\\\\n\",\n       \"FazCZz7zGXrxi19M5513nisyf/Lzn/88veIVr6g832AwGAyGfRYL8SeA/X/YoocRWIYFB9sBL730\\\\\\n\",\n       \"Ujr77LPpnHPOoQ984AO0a9eu3qyEe5aw8g2uJbFU9R2kyC3fPhBh+D7YBQFJYJXlbvH2dp7RFNLs\\\\\\n\",\n       \"bP81xABeC0AwnpbOJoilNLlVq2UB2Ry7U6ulVK+FVIvGKB5vUMT3ymo3kFm4AL4wky8V7VPyRuBz\\\\\\n\",\n       \"zG80WraMJk47naZvuIG6W7ZQc/0GGjv5pJ7yJI1i6qSZ4ixTUgU9uxQINxnIDjWW3AcCS9sIdXh7\\\\\\n\",\n       \"RvilrvQH4h1V91Uqoj1BUvn606hYaAn0sHdgPuRWmSJH1nU/F44VcqzE6nSyvipFUph9EGRVHlPV\\\\\\n\",\n       \"A94PTLop1Xf95UyNlXXDiOL6OMWNBgW5RG/HD3/Yu96Spz+daMmSInmFdwBeXVd9YfUshHgIkLb1\\\\\\n\",\n       \"OnX4jUsCak+H1BL9Hxwy4uk+e9f76ap7++TVC5Zm5BUC3bnwMh/LtkFe/9Gq7PifHnU5NadjOviO\\\\\\n\",\n       \"N4jQdhnU3vLkYFUpsVC0kq5KoTVKP6lS71XBCC0J/nf0Oc95jrMQSuzYscPtMwLLYDAYDPsrLAPL\\\\\\n\",\n       \"MAqMwDIsOPh/hzdt2kRvf/vbXTbHGWecQV/60pcGgt33TI6PtAb6VFh64KRthL4iz5X5WHJQRyrg\\\\\\n\",\n       \"HcsgDTBYhGorU7QkSexsP5krKcvEkjZBDOgB2KX8sxIWw9+51OsZQcDWwlqcUhSGFMYhhWGNglqX\\\\\\n\",\n       \"wjQf9cvRv4/AwkAeg3dGzjIsfcbTHYHF2HHttdQ480wX0J4GISVpSJ1uWAhfl4SVtgv6tmuSqkhU\\\\\\n\",\n       \"FEVj2S3LwbceJCcjtvfuQAb2yz6oj5nL9lG/N5gDASaPn++MhlVFKtxoIJOM+752rur2BS/EReZg\\\\\\n\",\n       \"CQ41u3LmFuzlxWGdiSwujUZAacT9PqSgHtHO7/RnRF1y4YVEExP9fp558IrvAC6uCSyQVnlJgojS\\\\\\n\",\n       \"MKKES8rkVehUhyCs0P+xDgXWUfWzqRFMUDOdpucvuYIuqGUklVQegtzlctz2jNxi8irsTlDjkbPF\\\\\\n\",\n       \"rJs6+0qSUpqoAiGviSmtpBqlvcuO8fUZ2S/0sqHyrUO2m8LPfvYzZy80GAwGg8FgWMwwAsuwR8B2\\\\\\n\",\n       \"wYWzDPqAgVCVqkSSWCCrfEoraRmkkvyr0ENeSesgiaBquQ2fclbCviIsGy+znTDM1UOBGwtjEK5n\\\\\\n\",\n       \"XWPAXohlTGwGARWvgwCAgylb5rytyClSsknaeCAEBqGXft77InfnYMYkwpBSwaxNXnQR0Qc+6Ja3\\\\\\n\",\n       \"f+tbtOINlxWUYRi0g4CSbkapuELR6zrvShNafcdXFhBetEO5WiqxM+2JAbTsj3LwL/fr+0Cf8Nmt\\\\\\n\",\n       \"hsGnLiz2scHvx76irXX3UVWnsu5JtE2Yt1dGMqENocaSuVewBYKU4r7be5qcsOLzwSnJd4Wvw8ez\\\\\\n\",\n       \"VTfr/yHRts00c1OWf1U/7jiqnXA8pVAeMrpdCnwZWDlj1ntCSMYciRW75W7KM40GA32U+zz6rrTN\\\\\\n\",\n       \"QoF1THA+XXbIf9NPp6+j84I3OXIKtkGQvzIzjs877O511JqJHXk1tuHplFLTYxvUJFZZmHsViUUl\\\\\\n\",\n       \"xBZVWAZlm2tyqwoHslW3Gk984hPz/+QI6KKLLqJYeGvZNnrPPfc4ZZbBYDAYDPstzEJoGAFGYBn2\\\\\\n\",\n       \"E/gUVWX7tW1Qkl3DZjSEKgF5PTL/CuSDtBDK9Y7nl1eSZ2VkG8/EV6NuNxv8Mjg+B8oiHvgif53H\\\\\\n\",\n       \"2CCp+jbBjMDiQS2yo3mQKyN4QAzIfPVs/B1SvR5SFHLYO7YxseWMXoNWKqhQODCbQnKOpSOXUnzi\\\\\\n\",\n       \"SdS57VZq3XYbbbtrPXUPWlPI6NKTHsrMLqm4kgN0X8FgXucdIcA6s1D5gsQ1ieLL8dmbkCqttILc\\\\\\n\",\n       \"GnYN2aeqbLZ7GprskPZZWfpZWVlbZe+kVBmCyJITGbhvUIQu+CVtpcU7wNvQ5xGB5cjcL3+z15/H\\\\\\n\",\n       \"nnEhzdIYRY0xCpiTZXEV3yf6u1Rg5YXnOsxIM1Z3ETFnmuR9UBJxss9LAktPVgBL7WHt8+mgzvm0\\\\\\n\",\n       \"Q6izQGD5LLV83orbmSxOcotgWxWpxkKeVVn+lS6+GQrx2+hqfcS+6iNxNQFWdQ2zDwLIlLzxxhvp\\\\\\n\",\n       \"4osvpqmpqUL25NFHH00vfOELh7SHwWAwGAz7MPg/K+f7Z7mJuhc9jMAyHAAAgQQkSjFFgqTCfp/y\\\\\\n\",\n       \"Sg7C5Xk+JY20EkKpBYILxxbPTZIsJyoMs+tI7ggDduT/SGEUVEhYBsEjB/BSjYWs6TjOiAOoXfp5\\\\\\n\",\n       \"1Bwsn1IIBsF9Uf5lblu2ncfNrBhjNJ52kSOwGNuu/hpFv/iy3n34CCypRsFgHwNzmXEllVdagVVU\\\\\\n\",\n       \"X2XWGr8CaCEUHtoeKhV6w3KuZMB51tb9+8O6JLF89+27puzTelmvD8u/ktlt+vrhPPOx5HrRQsZt\\\\\\n\",\n       \"JtsQ5A8m+oMCC8QV+mrvyYKi4xWKLF//x3r7m1/rP/WTL6SZmWwm0Ox6mc0W99efijknsPgpcvJK\\\\\\n\",\n       \"573LyQTQ7yVphf4rLYRcQGBVkVuS3M1K6gjbJMHvCgirroe0qlJa4XhNXPkUVb5PTRSjnXX/tb8m\\\\\\n\",\n       \"54t3vOMd7pOJKrbpj/H/UBgMBoPBYDAcYDACy7Cfk1FV+32qLezHwEuSB1rFJRUx2jIDSDVWNx+w\\\\\\n\",\n       \"d0uILAyMsYyA8Ww/D+Yz+1HkBtK8XUbvMHig7Qt4F+6nQiY7BvC8nYkrJrFkaDYG95LAQh5XP+7K\\\\\\n\",\n       \"X9/ye4NzLiT6+F+55dlrvkbRRS8bIJxATkhyyhfIXkVegRxAXFExd7sql2e+8BFEviwpHyklz9H9\\\\\\n\",\n       \"U25L56Ck8pFXOoOr7Fq+dV8pO3534M9IkuSsngSQ25r7oiSw0EcBEF1SIMjncj+Xkx303ofuLNH1\\\\\\n\",\n       \"385qe9kK6hx7GqWzfZUX9/u+GmzwuXFNed+SwJLzIsj+zaSTJLB0JlwZgQXCSl6n1WLyir8Hdkyt\\\\\\n\",\n       \"rNKZV2XElVRVlamutIpR/v7pZdm+cpvsA3Ox7Rrp5QNPkGIwGAwGw6KEWQgNI8AILMN+BE0IkLIl\\\\\\n\",\n       \"+QZMYcmxo3yXJrGk0kaqteSgX9ps9AyF+t5xfvF15JnK0jTLCOqpnfJBMg/WMRBG5hUP1jF4BkkF\\\\\\n\",\n       \"EgiqK16XFkLYqbjIoGwZGq8D5X0AMdBZfSIlB6+hcMt6Sm/6Pk1v3kmd+lRPcaWtVXIA79sm7YW+\\\\\\n\",\n       \"4gtv70d1yQE61nd3MFxGJknFHtaLFjm/8krmsMnvIM/15nKPPuhryNwrvSyv5fvuUVRcZdBEB4je\\\\\\n\",\n       \"Igkpw9y5jd0d532zIAbEHeWiKE1kZplX/XXuw7DXNm7+Lo21OCuKiJ50Ie3cFSr1YfWTaLIYFl/5\\\\\\n\",\n       \"PpapDrEu+7VUWelJDqTqqk9uZeRVp5Moq2C7ZKZBeQwIqirroI/IKsu/GqXdyxSRvr9Q5Xth1sHy\\\\\\n\",\n       \"Ptilv/iLv6B/+Id/oPvvv59a3FEEHnnkkRHbx2AwGAyGfQxGYBlGgBFYhgMAMgNLbkO+lZwx0Kc8\\\\\\n\",\n       \"0RZCud83IIvE98nt8no4RzJE/UFip8MztEXU7caFDCweHCPvigsvy30grNhdAtKKt8k8LP7kwTAU\\\\\\n\",\n       \"WPjUBBajb60qDu7lBG2ZGiWg6MyLqP7Vz1HQ7VDrB9+mmTMu7ilS+P5AKGhrlVRjSQUWCAFsk5ZB\\\\\\n\",\n       \"mXvUV6NpKxPauAra/ifJUKjpZHtLUlKvV0GTV0HJd8/lX24fuab78FxIJ9+5+vqReGdGIb4k5Kyc\\\\\\n\",\n       \"aCc+L+oRQVBQwSoL8kfmYYHckqQWiCJpJ0S/42tCeVj/ft8+OHPqhZTs7E8iiOvJiTbdnQpyFJMn\\\\\\n\",\n       \"+AgsPYui7Ne6n8NSCAuhnsBAzlDY35dSp8OzN/psgq28QGnVqlBm+ZbLyCxtJxxmL/QRXLtr2zX4\\\\\\n\",\n       \"8K53vYs+/vGP05ve9CZ629veRm9961vp3nvvpX/91391M/8aDAaDwWAwLGYYgWVYpLZCny2riszS\\\\\\n\",\n       \"RJU8XudkYb8mtOR+mZmE75ffKUbCvRkKiwO/bHDMVj62F2aZO1CcYJAs1Se8DAUWjoFFEIN8HqhD\\\\\\n\",\n       \"fQWySpNXGMyDtBL51aV2KhewfcoFjsBiRNd/jWZPvLhAJGirlc61KrMLSsugT3WVzd6o21IvD4PP\\\\\\n\",\n       \"OifbVWZe+Sx6OhtL5kdpElNeR7a7z/JatV3eu7y2Xsa6nAVT3rPPDqmXy1RZo9gdy5A9F9oPfRx9\\\\\\n\",\n       \"Buoruc59An1Rkk7uboL+RAcgNdGneVsUJFT/0Tey76yN0c5jn0LhrL+/F+5SZNHJ/i77pu6vkqiF\\\\\\n\",\n       \"6kqqsbCuZ92U6iyZCdfpMHmVKPLKF8guSSltJ5TKxDKLoC/jqsxSqI+T75svA6vK0mt2wVHxuc99\\\\\\n\",\n       \"jq666ir6xV/8RXrnO99JL33pS+m4446j0047jb73ve/R61//+pGvZTAYDAbDvoRgAULc5x0Cb9jn\\\\\\n\",\n       \"YQSWYT+FzhIiT7aQ3lc2cNI5WEFJALXOxoJlENeXqhIsd/LXDLapQJFXONd/f0kSOkthNrDPMrHk\\\\\\n\",\n       \"4JkhSR2tAoHiSuZhYRZDDO4xIyFIgX4OVvmgvn9/YsK2o55EU40JiprTVL/5G9Sa6VCXWElWJLCQ\\\\\\n\",\n       \"B4R7rcq70vYyTdj5iStZr1XwkTSaaCrLl9JElO9akvjEQF/u0+dKwlM+17A8Kk0uSWJKr5cRWWXP\\\\\\n\",\n       \"59tWdt1R6tyH7BnLSCLZB2QeFsis3lPn/RV9RRNYEz+7maIdm932mcefS810nMJmYWLNUgth2X2h\\\\\\n\",\n       \"T/pI2jILoVRZ6dk1NYGVvSucjceB7fg9keorTWDpQHdpCZRh7T4iSpNbktTS7YXPMsWgJquq8q/m\\\\\\n\",\n       \"mo11YGP9+vV06qmnumWeiXDbtm1u+Zd+6Zfoj/7ojx7juzMYDAaDwWDYszACy7BIFFejnudTYzF8\\\\\\n\",\n       \"I1etvtIEQ5q/Qpos811X2gtrJXZCXxYND15j6nZ5hsJab6DMBBTbAmEbxDa2FCIDiwe/IK2gzIIC\\\\\\n\",\n       \"C3ZCWAh1SLZvvbRWe4qXOu16/DNo6U1fonhmO4W330C7jjqnMEMblnUmlhzoS9JCZl6BwJCKLCjL\\\\\\n\",\n       \"/MjsaUXCUFrf5EBZEkuwgEqSKlSzVvry1MqsUiB5ira5QXIA2/R9VT1fWc6VXq9Sb0UVEw3IbZLA\\\\\\n\",\n       \"kudogk3aDCVwziCgDkRfAjnF22QmFtYlcSWJTJBJ3F8xKyHOWXHz13vnbHs8zz7Y79dVJC1Dzzjo\\\\\\n\",\n       \"W/eFt+uZN6VVFiQVSCxfBhaXNJXkFKyBPvJKWghxjFZkyQwsPQMh9g2zDHpraIjqaq4wEqsMhx9+\\\\\\n\",\n       \"OD388MN05JFHOuXVV77yFTrzzDPpBz/4ATX4HwCDwWAwGAyGRQwjsAz7MOYyiCmzBoKAAOGAa8rM\\\\\\n\",\n       \"K7lfq2bkqFaHuJeFust1Xwq6j0Crq3uW1+LPmhuc8wyFvJ/VWDxo5vGKzIMCoYUCBRbvwzLILtgF\\\\\\n\",\n       \"eVsZaSWVWFUDfHeXCdGjj7vQEViMiR9/nTavOadAOvnsgZLAkoSVnNVNKs5cLQkVzHDorCndFtq+\\\\\\n\",\n       \"qcmc3hMqgkeuS3WVPDYp2YdraOXJ7ljydB+Vy2VKLL3PF/Cu1yUxVWZPLLu/4VlcenZNBtod/Q95\\\\\\n\",\n       \"1SCtoEjsqQCTvi2Wt2EGTi5TP/mf7FwKaMvR51N3plp15bMQasJKklmSmJU5b7Jf66w3PQNnX53F\\\\\\n\",\n       \"Ye1srdSqqraHoAJ5VWUjrCKtykLby/KvymyEWe0Wj3OtUmEfnGs+lhFbz3/+8+nqq6+mJz/5yfS7\\\\\\n\",\n       \"v/u79PKXv5w+8YlPuED3N77xjXOsT4PBYDAY9iHM5/++5DUMixpGYBkWmRJLWwK1OmpU+yApcsJH\\\\\\n\",\n       \"OkgLjSbASOUhSauhz+IF5QOIMd8veNrLxeJZCrkwQF7J2dGkhVASWwiE1+qUMgWWnAFumEqFr7Pl\\\\\\n\",\n       \"qGfQkUFEQdqlZbdfTc3z3kxJGgwoqKqKJAfcUxesgqPCZ7srs8BJ4kgqrnSmlSStqix2VSSWtovq\\\\\\n\",\n       \"/rQ7ykKffc93jz7yynfvvk9NdJU9d1Vd+9qmCF87+xRWILTksiaietlsIVH9kftpcstdbvuOQ0+j\\\\\\n\",\n       \"mcbKjPPJVV1V9yP7oc/WKgksrIOgAkHrU2DpPCzYCznrqttNXDZYUWklrYG+jCtJRJVtH5Z3pYsm\\\\\\n\",\n       \"ruQ2Vyvqt6rKTli1XLXNIHHllVf2ll/84hfTUUcdRd/5znfo+OOPp1/+5V+2yjIYDAbDfgvLwDKM\\\\\\n\",\n       \"AiOwDPspymxWmrgadg1tBdNKKklayAFf2bomxCT5Jb8jKFFcyWtJ8qR/HbYTciYOz/znwqmjwJFT\\\\\\n\",\n       \"2b4+aQXVFVQosGlhuYrAgvIKBNYoVitn6wuX0bbDz6LlD1xL49seoHjD3bRj2XEDOUa+3CAdzr57\\\\\\n\",\n       \"kKSUrHdNVmFZtq9U8KHudd+Q/UsTlpq4ktfB+ZoU9e3r1WjJM1YFqmO/vHdNMmkiS1/Dd7wmvXzb\\\\\\n\",\n       \"y9Z9aq0qxVY5ZE6WJpIKNZf3IRC1h93Rtw9uPvYiRxSNmnslryf77kIQWDL3it/p7ByZXVVmC0yU\\\\\\n\",\n       \"AksSVVqphZIOybsa9bPMSliltBqoXS9BbwTWcFxzzTV07rnnUpxPEfuUpzzFlU6n4/Y94xnPGOEq\\\\\\n\",\n       \"BoPBYDAYDPsnjMAy7MPwEUy+Y6hiMCz3wzaI7XLQn4r9Vd+HMHYci8+0QlUj7VddtQ95S1rJEInX\\\\\\n\",\n       \"E3UAqQgvcy5WQrOzNQrDoKdsAmHFhBZsgrANYh8PkhHi7tQp+XHIHJKh7u5OVA5WGYmFQf6GIy90\\\\\\n\",\n       \"BBZjxZ1foy2nFgksOYMi7FZa0SKzkHwEBe6rT2hkZF4R2v4m61K3DfYhcF+3I/ZH6lMSlpq4ktIe\\\\\\n\",\n       \"rdTTShSftaqK4AlHILDkcuDpQz6LYBURFapj5fHSXqivVWY9zO88CHpZbD41lJyBkD/RN3Q/4n7M\\\\\\n\",\n       \"AFEL8orLynv6BNb6I7L8qyoCS5NXsg9q8tXXj8tC3HGcb1+SsGVQ5lbxDTQ9xFSZLVCSXDgfv2vy\\\\\\n\",\n       \"GjLnSh4nlVmu5iv63yi5V5JE3h1Cy/d9ptC64IILXAbW6tWrC7XDYe68LyNADQaDwWDYT2H/1BuG\\\\\\n\",\n       \"wAgswyKEJK20LctnLdTEA6nAbkk4SFWUHMBJ1ZQ8B4QVbIKSLJGDR63uAaSlTRIu2X1nA+2wkI0l\\\\\\n\",\n       \"Z+vDDIRy5kKQXSAMsMwkAogCbSWUBBaIroFaz8mkhw+/gB5Pmc1l5T1X060nvbowi5sc9Et7ll6W\\\\\\n\",\n       \"trFqaNuatv75FEWSwJQMRsejxgKkWquMqNJ9SfcrbfMrG+hLQmqUZ/fZ93SdhPMkryLP/lhs15ZD\\\\\\n\",\n       \"n2qrbF81ZB8AMYVlkKnoPzLo3eVgzW6jFeuvc/t2LT2Stk4dm3E8eV/2kbHoo7iuT/GlbbHSHgv1\\\\\\n\",\n       \"lU9xJScr4BkGOesqSbqUpj5VFQinpMQ2qGcg1BZBPROhtgEOy7kqsw5q8kqTS2UKq7J9hlHB1lIm\\\\\\n\",\n       \"fTW2bNlCk5OTVpEGg8Fg2H+xEH8i2J8Yix5GYBn2k1+yYYNcH1HlO8dHYOntWikj1wO1LP+3u08s\\\\\\n\",\n       \"ZZCkhCYVNLkFaFWYvm+t9uIBDVsKs+/PQqyDAbuVu5t84A11ChRZCL6WpFZVoDtD/ie/HkvtmDyS\\\\\\n\",\n       \"ti07jpZtu4tWbLqJ4p2baXZspZfEkrMJygBvSVhokkGGysuSppK8kvWkCUi9D9BWQm0fHGYv1Ncp\\\\\\n\",\n       \"W0abl9kPR+nvVGITlNeqsg2WKavKSCYfeeW7TtV3+IirYKAd0cZl7a9D26UqC7lYsj+veuAaCl0Y\\\\\\n\",\n       \"OpOrF1I3CUYiybCtLLhdZ7fJCQqgtsJ2bSHMCKw0L1VqKiyD3JJklo/QkqSTJK+kZVDbACXZRZ7f\\\\\\n\",\n       \"ME2w+6yC+i/Oqr9Ay4itKhjp9YIXvMDVBJNXr3zlKwszDnIfuummm5y10GAwGAwGg2Exwwgsw34A\\\\\\n\",\n       \"SRj5MGzAX2YzlOdpq6JWzIAYwTIGhFKpReocKK6ifDmosBrK+8TgE4QYXlW5jMFp3BuAdrt1l4/F\\\\\\n\",\n       \"A3oMsGu1foA6yCiosnggLS2D2IfcK52H5bN4ldkJHz7iWY7ACiilQx74Jt159At7+3wkQJXKCjYv\\\\\\n\",\n       \"qGpAwMnsrozEYBthGakj20Xv47YhVd/SGoh1+fBV7T6MxNLH6fsc9b+ONIlGHuJtGLGkiSmfVVAf\\\\\\n\",\n       \"L8+Ry7FSZNXEst6X3QfbX7XKD/1s1MkDZLA7ju/VbkK05v6v9dZ/dtgFvZkMfdcpmwVR514hDyuz\\\\\\n\",\n       \"/g3mufVtgcWZNrPZBfuWwWLOlVZSSfWVtg/69kuiqq1UW9pKiONkwLtcpyGKrV6tlfyGFWp2RAth\\\\\\n\",\n       \"1T79rh14WLZsWU+BtWTJEhofH+/tq9frLgfr1a9+9WN4hwaDwWAwzA8W4m4YBUZgGRYxdN6Rb59P\\\\\\n\",\n       \"ieNTc+n8LElokVLU4Lp4vbDcVtlBMv8K55GHTCFFaOHeMaDk7XmKu1NhRdRqsSory8ZC7pUMdJf5\\\\\\n\",\n       \"QCCCpGqlbFbCUfOw7l9zAZ14y8fc8qE/+5ojsGR2URVAUuFeQG6BmAOhJTOwOP+IZ2fMAu5h15Rt\\\\\\n\",\n       \"VZaBJXPGZF3L9sAnSEhJbuqH19+t+xSIr7JBvyakhkGTcpqkkvep98Vqu1yPlU1QH4t+jKw2eY4m\\\\\\n\",\n       \"vnwkWUxRFPasqyCt0L/0zILStirJLR9ANjFiatGh669xy7O1pbR++Zk9++CouVdlsw76cq8kYSVt\\\\\\n\",\n       \"hFKhxaqr1CnCpIpKZl9JlZUMbe8MIbCkkkqHt8v9MgNLWgilgktbCwdqS6377IRapaWPM8wFn/rU\\\\\\n\",\n       \"p9zn0UcfTb//+79vdkGDwWAwLD6YhdAwAozAMuwnKFNRDdsvySi9LNUvch0ElCQ7NKHlU2zp86Ry\\\\\\n\",\n       \"AAQUvkOzOFgH+aHvF6+q71nk9mzwyP9Ln2Vjhe4TVkFp2QN5wICqyWUG5VlYOggbhBHIBP6UhJLE\\\\\\n\",\n       \"5uWn0kxjJY03N9OaDd+hsD1DnWh8TrMLwhomCTNJZuGesJ3VPPzcrMLiZy62TZXVKfKQhiC+0Fba\\\\\\n\",\n       \"HjqKfVC2i7wPkI+SZPLZs4ZBk1RUkTeF55Ok3LDMK01G+UgpqcjSVsNytVZfeZV9gsTyKbGwXpZX\\\\\\n\",\n       \"VQbuE6s2/YDqnWm3/tChz6Qk4Bdh8Fj5XuictjISq09IaYKqmHvVJ7E4sy4rg0orbQeU27XCSpNX\\\\\\n\",\n       \"UkXVrVBV+RRVWt0kyatCbVZYCfW7VUbO7o46y6yDGm9+85vd7xxw33330b/8y7/QySefTM9+9rMr\\\\\\n\",\n       \"6tJgMBgMBoNh/8dc/7vfYHiM4BscjXLMsCwW3+BrlFwX37JWLVSpG+SAUx8jl+WANakYzMJe1F9O\\\\\\n\",\n       \"ErYVJs62hLBoWJvwqZfl7Ghy2Vd0BlChJCH97NBnutqJu7O0ev33BuxZgM49kuobrcqBikySHEUF\\\\\\n\",\n       \"T2ZLCwJJnviWtSoo9qiKoDqS55YRNZr80Woknf2k9+ntoxZ53ijfo++t6nl0vUk1lqwr3wyE5fXP\\\\\\n\",\n       \"bROGrL4Keu2mCSy0c1k/8PUZH9Y+KOyDh15Y3Wc9WVa66PfD9w4V37H+u8fvIr+TZe/rYLaVfN99\\\\\\n\",\n       \"vwn6d8VHXlX99lSRUKP+/lUdL1F2rbn+nhue97zn0Wc+8xlXEVu3bqVzzjmH3v/+97vtH/nIR6yC\\\\\\n\",\n       \"DAaDwbDfWwjnW+aKD3/4w07hPDY2Rk9+8pPp2muz2dSH4fOf/7zLprzkkkvm/qWG3YYRWIb9CKNk\\\\\\n\",\n       \"oQz71RplQKQVOz5rjTxWDyJTRTTJgaPOocEAVq5XlWZ+fCsvzZLl/nqatqjVSnqDagywm02i2dls\\\\\\n\",\n       \"XS7PzGTrg4PxwU+pONFKlQcOvbBXS4c/nBEJmsTSBIUuIDPYIigzuXgdhXO7issBxTETWZKIKiuN\\\\\\n\",\n       \"3H5Zdcwo19HHDyOjdoesmgupNWz/KM8kjxl2fC2vy+prRlHk2sbfbv2i21qqAsv6ycBb3E3piLzf\\\\\\n\",\n       \"dYMaPXTI03p9UKqp0HdlwHrVJ78b/I7wOr8zvC6X9XvG7x6/g1Xv6OByO18f9nvgC3ivUmLJmU99\\\\\\n\",\n       \"5Ln8ndQkWDrH3+FRfourMBc14oGDG264gZ7+9Ke75X/8x3+kNWvWOBUWk1p/+Zd/+VjfnsFgMBgM\\\\\\n\",\n       \"u490gcoc8IUvfIEuu+wyesc73uH+jT399NPp4osvpo0bN1aed++99zpLP/5NNuw9GIFlOADgG3D5\\\\\\n\",\n       \"BmPD7DFl+TC+Zfkpc2h8s4vprBtJZMnjfWHPOu+mW3oMz1TV6SRuoA2ySqpIdG6PVGTBMiUtVPLT\\\\\\n\",\n       \"1ZiwKDIeWvlUaofZTFlrmUhIk4IdjKHzjnT+liQymORAAemBAsVOf1+Qh9NDAcQESz3/rIn1qISs\\\\\\n\",\n       \"0UosfYxWFsmAcnlNn8pJ7w+GKJp8Rd+nVGHpe9FKLN+9+p7HR1z56kZeE3WsPyPXFlkb9Qks2W5l\\\\\\n\",\n       \"bSv7gC+fzZeXxcsH77iNJmfWu23rVz2ZWtFkoX/K/urr07LP6/cB+Ve+9yd7v1h5xQrIqnfS9/52\\\\\\n\",\n       \"1O9By/M7UPXb4fvd0GTV7vyGyd/Hqt9L+dsKGBG1kJiennYh7oyvfOUrbnZCVjRyiDsTWQaDwWAw\\\\\\n\",\n       \"GEbHn//5n7tJUH7jN37D2fE/+tGP0sTEBH3yk58sPYf/vvu1X/s1ete73kXHHnusVfdehhFYhv0Q\\\\\\n\",\n       \"u/u/+7tjDZTbZBl1ADhs4Oiz+shPqZrQBJdWW/jIsWKWDufvsJWJbU1VdkBs1zMF6hnZQADoDCF3\\\\\\n\",\n       \"TDRGD68+z9XgRPMRWvXoTT2yASSDr8BSphU3IDtgN5PrIENAeGTkByuxMhIrCLS9TZM4PnJJL/vy\\\\\\n\",\n       \"nXxkU9k2bdXTqigqyaWSRW/3nTPKd5Ztq3pOH9FXVn/97+C6l+SVbCPZdmVt61Pk6bwsWdC/jlgv\\\\\\n\",\n       \"Zx/sqwEZ3v6qZhn05WANe1+ywnZBzmJLKt5XbRnU76u2CGrbsP4s+40Z9ltU9dtVZhOs+s0s+w0d\\\\\\n\",\n       \"9tus95vyqgyPe9zj6F//9V/pgQceoC9/+cu93Cv+n+KlS5cOqVuDwWAwGPZh7GUFVqvVouuvv56e\\\\\\n\",\n       \"9axn9bbxfwrx+ne/+93S8/74j/+YVq9eTb/1W7813yc27AYsxN2wHyIZwr1WBbr7tstrBuq4VH3K\\\\\\n\",\n       \"6yQimJ3y8zEAlMu4llQu1MSAUt5PR+yj/BP7o3x/rALfEUIur4PzsA/Xy37ZO504DwLmvKhsDxMD\\\\\\n\",\n       \"rCIBuYTAdneWWHbfmAe8Yx+2yWP5Gg+uvZCOzImEwx/+Om0++IzsTkWOEb6Lr4fZB3ENSShgxkQE\\\\\\n\",\n       \"y+McGfbO+/Hd2eyK/HyBey4Ods/uVbelDNQPRd0hwB2f8rxQzEqYegglCT42EX1AK1fQl7VKEOdo\\\\\\n\",\n       \"hCXrPoKrzFqoc73kMrK/tDLLR+rheB8BxnlXsWsDKKskIcXrIJ14v1TaaRUeJg7ANjkrYdlMmGsf\\\\\\n\",\n       \"vLq3/OChF/T6CfpTr5bV7IKazJJELsgrXs/6lM7Iysir8jw7TUL5yGe5D9fS50LRKYlwvU+TV7Lv\\\\\\n\",\n       \"6eWyTCy8I/pTK1N9KPsrcpS/LIdZFA9cvP3tb6eXvexl9MY3vpEuuugieupTn9pTYz3xiU98rG/P\\\\\\n\",\n       \"YDAYDIbdxu5mWOlrMLZv317Y3mg0XJHYvHmzU1Mdcsghhe28ftttt3mv/7//+7/0iU98gm688cb5\\\\\\n\",\n       \"3ahht2EEluEAhia0QBiEagCGwb8kqoCuICiAoOTaIEfC3PYTie+I1WAQ6yg4NlZklLxPuezbl4hX\\\\\\n\",\n       \"ni2FPEMhz9zXJ4OYVOCBOGYclLP/SYKKCx/rg8wjenDN+ZQySUapy8G6+fQ3VrYIfzfOB1EAskFn\\\\\\n\",\n       \"bYFEk8QXL4OI43WofXhbRjDE7rn7A/7QQyBoRZQkp0BadlSfkQSXbGtJIASefpV4SM90RIGsvC9J\\\\\\n\",\n       \"UMl9PiuhDnTXge0ywF7aFUFUSRulz1aYXYdVV8izAoGl7aAgpSSZpW2j6HfSZop1LGuMT6+nldtu\\\\\\n\",\n       \"dctblp9E0xNrCvv5OmWTCoCw0rMOajKLP2G5hX0wI4UHlY9+G6BUY2nLn76GLCCo5LE+1ZYkpaTC\\\\\\n\",\n       \"CtfwKa8k5DXK9vuILsOexIte9CJ62tOeRg8//LDL6QCYzHr+859vlT9HfPmh/X8AcvFh2X8MGQwG\\\\\\n\",\n       \"g6GPI444olAdnHH1zne+c15VtGPHDvr1X/91uuqqq2jlypVW3Y8RjMAy7KeQJEDVMQwpzximrtLn\\\\\\n\",\n       \"azJKk1jyPL0PpIQcCGo1Dj61igvkiiZQJAkiSS+QKDSESOsU1jPiKqBuN1Ni8WBcqqugcGJA3TQM\\\\\\n\",\n       \"IBr4szWx0qmuVm35IS3ffict2XU/zSw70nsdrfhi0glqGb4PqLa0YkYqwXCPOA77MusZB7sz2RD2\\\\\\n\",\n       \"ntmvWpIKLL0PBAHqVRJXXUEwaqWWVMnJ9kZbyrYaRf+s+4S8X3yvzNeCokqTWtpq6MviGmarLK4z\\\\\\n\",\n       \"ccUzDCKsXRNYUFzJsHa5T5NYMutKklcMqLE0jtjw9d7yQ2sv6vVhSXwOg1RroQ9qYqtvL2TLoCSE\\\\\\n\",\n       \"fGorbQXWCiq0u1ZhyWP0sXqbJqPK9mvlleyLep8mxL215fnUx5ryaqHAwe1cJHg2QoPBYDAY9mvM\\\\\\n\",\n       \"0QJYeg0iZ7WX1nqtvmIwCcUTDG3YsKGwndf1v7OMu+66y4W3//Iv/3JvWzbDNI8zYrr99tvpuOOO\\\\\\n\",\n       \"m+cDGIbBCCzDfgo5UCpjVcoIKm0hK7MISlKB1DZp/dLHS+JKXtNHYsnvl4NOIKzYh0Euvlt/ahti\\\\\\n\",\n       \"4D0PKixpn2JSQGcESduVDzLfCmQDfz649gJHYDEOX/91unvFpaVEmN4uVVYgNCTJJkPksR3Xkfv4\\\\\\n\",\n       \"XFbPZPsC6nSy+sieuYwMkuu9O1TtoNsO26RCC+0tyS2pxpMKOU1mlRGx8v58qiu57GpS2Qm18kpa\\\\\\n\",\n       \"BnWulQ5w10H22T7OuuKZH5m4ksHschlklE+RpXOtJIklt+v+4cPan/Xzr9YfkdkH0S8kyTkM6PPy\\\\\\n\",\n       \"HZBWQ7ne7weSdJIWQG0nLLMa+pZTT46V/A6qIK+kKlMTWbhv3zG+fXKb7p9VaqxhBJjvugaDwWAw\\\\\\n\",\n       \"GA4oLCCBxeTVsGzIer1OZ511Fl199dV0ySWX9AgpXn/d6143cPyJJ55IN998c2Hb2972NqfM+uAH\\\\\\n\",\n       \"Pzig+jLsGRiBZdjPAYJgGIlVdh6O0efIkTIIBS4YMWuiSt+DtIRJW5lPaQXgO6XCp63u0Scd8SnE\\\\\\n\",\n       \"9L3pgW2fRGNLXeAM40zs9O1VUrVSZdfifQhd1+QDl01HX0h005+7Y9f+7Gq679RLS3OLmMgAQD6V\\\\\\n\",\n       \"BWxLFRbuOcu9yq4DyxfuB9bIvrInoFaLLYUcbg/ipuNRL3VU22giEISVVKzI/dimFS0yEytRllLZ\\\\\\n\",\n       \"trJ9gxEshChUMtOhVF35rIA610rO1qiPzZY58JILcq646JkGdQZWlYWwLPfKPVFJPwTC1i5ateH7\\\\\\n\",\n       \"bnnXxCG0Y+VJVM+JK628GkWRJZV86I/Ivsr6Iedeob1le/rUUr59Up2lJ2CQpe0hvYYps3z9Tj+s\\\\\\n\",\n       \"7x7lPtkX8elTZ/nOkRhGXo0gizMYDAaDwWBYQFx22WV06aWX0tlnn+3UzB/4wAdo165dblZCxite\\\\\\n\",\n       \"8Qpau3YtXXHFFTQ2NkannHJK4fzly5e7T73dsOdgBJbhAIAkDEaQXThIUgpqKaiaJFmlVVYgIcqC\\\\\\n\",\n       \"ubW6JlKElbSwdcV+7IMdTRIg2vaG79X7yLMvW2YCR9ujpFql8AQqQBtElySt5PKu5cfSjiVH0JId\\\\\\n\",\n       \"D9DBG6+nJbSV2vXsxx7n6e8ASYVlqabyzQzHBIjMJULANnKwELLN+/hY3o/zWi0OeY9cKWZXSfIK\\\\\\n\",\n       \"RCJIhrK+QB7SUivzcH1XgyXkwbDBvA5u12SWzrryKaw0gaVVVXJfrVR9BXWVJKzwqQmtMgWWb+ZJ\\\\\\n\",\n       \"SVhJwnNYfznk/v+lKMnaa9NRF1GtziRtv+/iXCyD9JQTCWi1oexzsu/1A+E1ISXVUzqQXRJOvn36\\\\\\n\",\n       \"Uyu2tBJLZ61p1Zb8PgDLemZCrcRCf9Yqr1FhqiqDwWAwGAx7P8R9VLz4xS+mTZs2uUlS1q9fT2ec\\\\\\n\",\n       \"cQZ96Utf6gW733///e4/aQ37DozAMiwC+CxWo54XVGwrU2/5vlcO8LR9UJJFYck2DBhBSIBA0cot\\\\\\n\",\n       \"SVrJgaYkSbSyRx4rB7RhqV1q1JwrSWBhmyQiMrIroM1HX0RLbv40hWlCqx/8Fm06qe8dL1Nj+Wxb\\\\\\n\",\n       \"UMLIMG0oaKCIkVZD7AdhhWV8ZiRGlo0Vhjw7Y0bkZYqs3tOWEEtS8SbbtOM5V7bfwJN6VFfD+rJP\\\\\\n\",\n       \"fSXXpTVQk1ZSZRWNSGDJIPc4twtmOVcgsEBKgbTSFkKtvsK6Jq7Qh9A3UKQ91ddXQKoecn/fPrj5\\\\\\n\",\n       \"2AvdtSRRBVKW+4OcMROTFoySj4XvLG/LKkJI2/jKVFKSkCo7v0zh5bt+1b3J7x4VvmN3569OI7kM\\\\\\n\",\n       \"BoPBYDAs0J8Eu3E+2wV9lkHGN77xjcpzP/3pT8/9Cw3zghFYhkUA+Us1bOCvCSp5zijEge86cptU\\\\\\n\",\n       \"1mjCSlv6qooks/TgVZIiPiWPHhRrlY/PqlYNqVoBtGXQV2Av3HzchXTMzdkP/Or7vkZbT/vlQp4R\\\\\\n\",\n       \"SAQNKGewrGcdlPZCqK5AVEF1BaIEZJYmRECYMNE2OxvlJBar0tydeXKqJFEkLaByn1RpSSJJW0ah\\\\\\n\",\n       \"jpOqLXzv0FbxkFeapCojsSQpFXrWobjSCizOusosg7VaQJyHKVVWksTCMvahnjWhNUh4Dqr5AJ99\\\\\\n\",\n       \"UM5USUmHDr43+0OjXZug7Uc+iWIxqQAIq75yqji75vz/g82nVtLEcdn7XmYDLLMGjlrKiLIyNdXu\\\\\\n\",\n       \"klg+InbU+prvX6sGg8FgMBgMhgMBRmAZFgkwCIp2g3RKVR4W1qGAAOFDHkshjpG5Q/I8SWrgfFKq\\\\\\n\",\n       \"KioJ55Y2H1xLXk/eyyj79OhcDmjVXQgiQc8IJ5U0WNch3Tqgu3nME6k9toxqs9vo4Hu/RWNRi9K4\\\\\\n\",\n       \"3rtGFaDAkmQFFFjS8ihtg1BcQZXF67AT8v3yemYf7B8rs7KYxJqZCXMlFtRMLWH5Avkk1Vaa3JL9\\\\\\n\",\n       \"BGSBVtBp+6EkFXwDe0lWgZjC9w0jsGSOlU+BVVNKq0hkYGWh70xejY8XiaixsUHLIK9rcgt9Bft1\\\\\\n\",\n       \"f5KEKFRTIJTKVHoS3L7j9/yQ6s3tbn3bsc+gsal6oU+AxOR2l9fnfehr0kKoA9tBhPrhI4Twjunw\\\\\\n\",\n       \"dZ89cJR9Wn3lOwb3UqbU0g+g7YVlqixN1upr+DCMmBpR7mYwGAwGg2HR47GwEBr2PxiBZTjAoFVX\\\\\\n\",\n       \"gI/gkft8o2dJUOhrDFPQ+KyBklCS50vllibPNEki1WRS7UUeFZYfmizwzQqnrWG+WeaKRFdM2x53\\\\\\n\",\n       \"Pq285d8pau2ilRt+QLuOP89rRdQAmQCllbQVIqhd5mH1w7UzYkKSWZLA4sLLvB22wozQ4nD3rA44\\\\\\n\",\n       \"F4tD7rtdqaySqidNGGKfzrnqejLJNJElidNhA3uZvRWUhLjLDCxfOLuPwJL2wf4yTzHMCjVWXTEp\\\\\\n\",\n       \"xeQUCCsmsGTOlVRfjRriroksqY6TM0v6IInMVfd8vbd958kXuu9AyD/sg7AOyokK5PVl/wJhpY8b\\\\\\n\",\n       \"PoOhJIzkNh8B5SOZJKnkU2TJ433XHlUt5SOufARW1V+Dvu8zVZXBYDAYDIY5YiH+fDACa9HDCCzD\\\\\\n\",\n       \"AUJQ6WPKsoh8dkKfCkZ/j095UWavqRokVhV9rTI7Ig35LP9llzlDsmiroLSDyaIzjvr2PKKdJ13o\\\\\\n\",\n       \"CCzG8ju+Rp1TigTWMGIAti+osSRpJcO1JYmF7wZZJRU+WAd5xRjM9cpmZmQyp6+8KbtJrYDDCXKm\\\\\\n\",\n       \"Qq3G00q5+WRg6dkTdVA7thVnECxaBuMBAovJKyaukHfFhBXIKSitpOpKZ2KhP0gCS/cXbSVEW1TN\\\\\\n\",\n       \"fulqSmakdVNacuv/ZNuDkGZPenov3B/XklZCZGHhGriezlHT+Vvynai4M8+7J/fRCHY/fa1RSpW9\\\\\\n\",\n       \"UN9X2b2V3Z/vnHQ3/3q0vy4NBoPBYDAYDHOHEViGRYYqJZXEMJKgjKDS1i/f9aQqQlsTy0LdsZ2U\\\\\\n\",\n       \"CkeqrvSgTyoufNfT3yufZxByUD6MtJJ5RZrEkmoskBd8busJT6Pkn2sUdts0+ZOracdL3kZRnAWo\\\\\\n\",\n       \"j0IKyKwjORMcCixi2kKIe4R9DPcI2yBUWMjrwjGMzFIIsoiVWKEionwKvP7xxeNkG6NtcJxWz6Vz\\\\\\n\",\n       \"JLAkiSUJLK2+8gWzy/V+CYKYwpDJq77KipfZQigJLL1P52FpBZa2EKJ/6P6m+2RVn3D5VQ/dTY1H\\\\\\n\",\n       \"HnDbZ445i+KDlrumgt2UrwXVVaauKxJYsKbinhhYlyou2VeHK7FkW/vIIp8Sy3eez2JaZv0rU3BJ\\\\\\n\",\n       \"gkt/h+9+ffedLiA5ZfZBg8FgMBgMc/wzYxjs/8gWPYzAMixCgAwI56jUwq9mWHGM77skUaFthcMg\\\\\\n\",\n       \"B6eQmmhboMzjktuj3fzlxnn9OtKZVyBxoK7RBASsYpLIKFPb4JgwnKTmCU+m8Vv/l2rbNtCyR28j\\\\\\n\",\n       \"OuakUgshSCQ5+6B7OmEflBlY2joIAovtgFjm7bOzxVkJsV1aC5vN7H7kPj6Ps7Ha7XpOZEV5m7Ty\\\\\\n\",\n       \"Za2w0u2IY5Bn1vFYyOS5VZCVpQkskFRSfVU266Aksuo94ostn1DRMUElbYJMUkmllczAAoGlt1cR\\\\\\n\",\n       \"WDoDS9oIe08o+kemiBM1lfeB+Pb+7IPdsy509yID/qGowvno83p2Q2kl5HuWxKnudyC3+u0g3+XS\\\\\\n\",\n       \"sKwh7Ys+gbw1SVi5O1Pny5kKR4WPmErmeM7uWgfneq8Gg8FgMBgOBMxlBFV1DcPihhFYBsPI0LY9\\\\\\n\",\n       \"HwEmt2kVFXlmJZTn+a4/H1KsapBYzG/yKWBAIkiCwWcblNYxqcDSJJYb7J91IdGt/+u+dfzmrxGd\\\\\\n\",\n       \"XCSwJImFZW3xkhZCWL6kdRCEhcy9wjqTWbANcnHKsFb/Ppm4gpWNgeNRF60W11VKzWZESRLkIe9Q\\\\\\n\",\n       \"UukiVVU644iExU8qsUaxrw7LwIoqCCytwJJZVzUKgtDNMJgFsPctg7JNJYGFoHbsk8SWDHHXaiyo\\\\\\n\",\n       \"rrSVUFoGJYklCSZJZkoFHv2wT2DRkzICC6Qmros2d7Wfk5dShSWvB0UW31+ZtbDfZ32KPB9GIYqq\\\\\\n\",\n       \"ztFKTp/dryoby3c81quubzAYDAaDwWAwPPYwAsuwSIGB2DDSZ67HyOvKT/LkZ6Wedd9AUQ4my2xk\\\\\\n\",\n       \"ZTaeuWbQ6IE2zyzHpEyRxJLB2pLU0jPJSdJKKrAkeSEJrOBJFxB99o/dHcQ3XE3RK147QF5U2bJ0\\\\\\n\",\n       \"iLtWYIHAYuIJ23BPsAzqDCypApKWNWdLE+QVbGhcX0xeZbMeMomFn1F941I9AzVOLJR0NEIGliQv\\\\\\n\",\n       \"NGlVloHlm4nQl39VJLB4hkEmrxDULokpWbht0b4yD0sTWDrgHWo+9AdNYMm+N4qlFKSSa/8tm6l9\\\\\\n\",\n       \"54+yml57HNWPPJLCvO1BYMFCKm2y6GvIN9P9Cn3TKbzEfRZJLH6H+FxJXlZh2Dtb9e7r9XSEoo+r\\\\\\n\",\n       \"up9R72Euz6WPMVLMYDAYDAbDHvozwf7MWPQwAsuwiKHtfaOSVz51FA25TiqseVJJNSq08kHnYMl7\\\\\\n\",\n       \"wyB5rt/ju/8+cSUJKmn90lZAqbDRihttJZPWMbdv2Rqi404muusnFNxzK41Pr6fGYWvUbHPpUOKC\\\\\\n\",\n       \"iSPMJqdnIASBhXX+flgB+R6ymQazT97Hn1zYIihnUNREFwP1k5FtbCdMqdWqiZkGywgMTTah70n7\\\\\\n\",\n       \"l7ScSTJLzmwprwOAsAorwtulhRAzDsqZBznrqk9eaSsgiCqtwNL7NPEl+wS2+wgstD8Uf6xyG05k\\\\\\n\",\n       \"Zgdw+89845vUyWV69addRGNTfdWdbHcoqvA9vK9Xi/n3+2a6xDqfg/0gxEBk9WeqlG0+qmqyahZC\\\\\\n\",\n       \"eYzcj/4x17/UtLJqrtbBqnPSBVafGQwGg8FgOFAQpFmZ7zUMixtGYBkOcEjlU1l+URUxpo8rsxZ2\\\\\\n\",\n       \"RS6Oj5AgDyGlibS5kFUgMVD0OtQ6YWF2Pk1k4RNqGklWSGsZ9vmUONo+1n3GhTR710/cXcY//DpN\\\\\\n\",\n       \"nfDSovqG0n6tpMwe5MthP/MroWBAgSXzjqQCi22BILOYpJIEFq/zfhArfH+8Heu+fbzN1XBPlRZS\\\\\\n\",\n       \"sxk6Uq3YrjLzSn6iPaXVUJOpvryjcDcILGkZlDMPYl/NBbVrKyC3JbbxJ9qdlxHi7tsn+4cMeNd5\\\\\\n\",\n       \"augX2rKalZRCSYQkObHnqisSb22/D+z8ft8+uOSCCyiYKpKYaFOfdVTPLijbFsotdxu5CksquaSi\\\\\\n\",\n       \"L8tFk3lkuh/I9ap8rFHJpmSEYHgq+S7feaNYB31klqmqDAaDwWAwGAx7B0ZgGRY5fITSfK6lbYJU\\\\\\n\",\n       \"oY7yWQ01YTUKMbW7/5WgLU2D5BXb4WSAu84k8uUX6ewrkBcgLaDMAmGhzw8uuJBmP/VX7o6a/3s1\\\\\\n\",\n       \"1V/6IrccJgkFSUpByiWXucjAo9xblvI9s3IsJzHSIKQ0CiipMe0RulkDobqC4gZqHCisEMwuZ1LU\\\\\\n\",\n       \"dkJ8pW9mRqyj/vhW2+0oJztkfUswiRHmqidpI5Q5WuRZLlNgYVmSk1J1hbbWpFXUU14x+QbVlcy1\\\\\\n\",\n       \"8pFUaFMosHykVVXAuyaw4thRUFm7B1mbB92UArb8cctKGdRAHwhdPwgpoM5si2a/9+2shg5aQVNn\\\\\\n\",\n       \"nkbdfNZAtLO2xEogX02GxPeC4XPyFrdR9p5kwfD6/fK9e7vzOzQKQaTz1eS5+rPMJlj23QsBI7kM\\\\\\n\",\n       \"BoPBYDDshT8XTIG16GEElmGRYy4EVpmlcNi+smN0cLvveN91fYPQuQx85bE+8qo/kObQbqkmKRIM\\\\\\n\",\n       \"gwSUVFVhcC9JDK3gKR6fZtc85QR6ZPUhlGzcQLPXfp/CnVsp4hOkXwtyqoFHCygImbYQnq+ehCem\\\\\\n\",\n       \"NAwprYXUrgXO0tXJ1TJMakF5AxWOtKxBZYU6kHlYPgKLb1EGjme3GjpbW7YsFVa+zCLe3sl/grEN\\\\\\n\",\n       \"Yf+awEpHyL0KKmYhhCqrbxfkEoY802AW1C4VdZqUkqQVb5ckFS9L5V05gZVmtkTXVCnV4pywckwR\\\\\\n\",\n       \"M43dYtujUsEuSXD7R5EjD7kBpr/77Z4sbumFF7jv7HQTl03FbcltD9KJ2x2EY36pAqHFX43QdoS4\\\\\\n\",\n       \"YyZC7MNtSeViFGU5cpkKT7aFDPL3vZdl6xpVOVi6b5XBZ0ucb7bVqH8lGoFlMBgMBoNhnn92GAxG\\\\\\n\",\n       \"YBkMu0sSSVtg2f7dVX2VEVs++DK+9EBZkh190iObca6YXYR1HyEhQ7uxD/vLbGaSyHDkRZgFVC09\\\\\\n\",\n       \"/xm09YtfdAzBrquvpqVPe1p/yjhXBUJ5A8ZATkvnHl14uJASz+RGvU5198Ux0VhM4+OB4zeYvOD7\\\\\\n\",\n       \"4mXkXvFp2IdnlLZBHU4PCyEUPbAT9rOb+JjYkWdpKq1iXWEfxTLaGsQCCI9RrKKavApLSCu5XM/D\\\\\\n\",\n       \"2pnQiQqqK1hANUmFYyYmigosrcgqU25JVV4cMjmVy+J25R5OMENY7k0pSMV+IBPdZT+IItr5P//T\\\\\\n\",\n       \"O3zqyU+muLmL4jimsck6dZPQcWNsFQVxKe2hmGVSB8ZL+yBuB+sgt9B/AL4eE5jZzJTaRihnItXv\\\\\\n\",\n       \"qGzP7l4gg6rO7S7w9QwGg8FgMBgMhoWDKbAMBwB2J1Qd50kLFw1RTM3Hprg796ctSXqWOk1uyEDv\\\\\\n\",\n       \"TDGCHKIqpVVZLhKTGlDY8CdIDihz3LG1lGr1lKJuh4JWh4JORlwsedLZGYFFRDu+8Q1aetppxSAr\\\\\\n\",\n       \"qcQZeOycbcCn8P2xOkuyTmlco6jRoLEopkYUUmcsppmZjMhgwgGB4rCaySLthToXTCqwwKExoZEp\\\\\\n\",\n       \"cXiZ7YSsAuMbRsg7rIKyPRDijuIjO3zwta2ecTAYUF2xZZBLvR4M5JlJAhJtyetoZ6xPThbJKxBY\\\\\\n\",\n       \"mvAcH08ppi4F1KWw1XUV7tofhBVXukzgl21fpr5iCHkc2wi3f/s7Wbeo12nqpBMp2LGjd0NRXKMw\\\\\\n\",\n       \"iimajKndCqjVztRYuAy3Z69G8y6FtkWguxSE8WVxa1Bm4fZ5H5NX3a5s40hl5vne0bL3eRQsRDB6\\\\\\n\",\n       \"GSE2anD7MFRlahkMBoPBYDBksBB3wygwAstwgGAhBlCjEFVVxwyzKM4FWmWlS1mgdFYy9VU2mNdF\\\\\\n\",\n       \"EljaRiiVNfgsC/quxQnFYUI1DuFu5Unquexl8vjjKRgbo3R2lnb84DpKd+zILGFMaoC8gtRlGIEF\\\\\\n\",\n       \"Vglklgi5Cmo1CpIuhfU6pVFMASvA6hHFMdvLWIVWnFkQl4faRipzsM7IMo/6dkKQHjgumyGPg91T\\\\\\n\",\n       \"StNYtFdcQgSU2c7K4FNfaQIrLKiwMrtoRl7JsH3ZfjLDTJKTOqgdn5LEBPFVqyVUC1OqUZeipEMB\\\\\\n\",\n       \"q64gXYMMCin6MoUf4VNVBJb0cQYBzd5/PyXbtrldk6ed6vK0egxlp0NBo0EB9wO+OWc75H6fNSgu\\\\\\n\",\n       \"g67WzzLrfzVmMUSX5OcEzya7XD+Inm2EmZW02JbD30n/u017yOK3t/OvDAaDwWAwGEb4k8EysAxD\\\\\\n\",\n       \"YASWwbCgGEZgLcRgzmcblEHfvlyk4npGXvWzgTAY980cKC2GmrzStrNsX+rWIyYwmLyYbfan/8tL\\\\\\n\",\n       \"0OnQ1Omn047vf5/SXbto+qabaPK44/qkhgzw1kSGJK6kDEo+hPRB5l4vJrPiep3iRoPq9Zi6jSyA\\\\\\n\",\n       \"nXOgMvXU4Ax0clmSFryMr9RxXX0FD5MZrMQCoYE+IAPcpXUMeVlameODVtiBsJIZWP3g9iDI1Fey\\\\\\n\",\n       \"HSUBKe2h0iYoc65QpIWQ1Vh9JVdKU5NEUZC3Ozx6IKtQsM6fIK9k/pkksnztDoYxDGnH977f273k\\\\\\n\",\n       \"9NOJdu3qs64gyrjtk4RqjQaFcUxRnNU9CFzpUOSv5OfC12kCC6orXoeltKjSy3KwshkJy9+/ospO\\\\\\n\",\n       \"WwfnYiesQtXvjWVSGQwGg8FgMBj2PxiBZTiAgAyiYA6WwYWAvO7u2Bm1TcynvsJymTJHqnNiN9DW\\\\\\n\",\n       \"5BSKVOfInCu5DCIDZAYrb5jMcNdgW+LsdKa64tE/K2Jk8BSXToeWnHySI7AYO79/LU0edNBgkHuZ\\\\\\n\",\n       \"jVD7wGQCPVRYUjamEsnDWo3CeoOWLZ2gVm4nxOm8jDwwvgT28TrzcFBkya+WShzXYvk6k1h8Trcb\\\\\\n\",\n       \"OWVOMQNLWgj5p7ijZpMrIx+00g4Kr6LiCstZmHkwoJKTy5KIqmpbHCv7wZzaHcQV7IOYKlLaCBlV\\\\\\n\",\n       \"7S7Yxe033NDbNXX0MUSsxkJDynbnRhDtHk1M9AgoHdYvvwYCMeyTMV2wnjKg3Mq4OCawuA266n0v\\\\\\n\",\n       \"yyzT77F+l9PdsPCN0o/mi2Qv2BsNBoPBYDAcKDALoWEUGIFlMAxFlfVPWoTKziWlrsF58yXKfEHR\\\\\\n\",\n       \"PjJrkNACxyO5H517Je1kUrEjCaw+2ZHSWCN16puwzaqrGQpgGZue7iuwsK3Voqmjjur5trbfcjOt\\\\\\n\",\n       \"Pvep+ax0yWhKHAYeRFoJucip8GSaeE6ecV5S2mg7y1ktrlPYYHsZE3v9OmEwB4PMK2kTlLcBzk2S\\\\\\n\",\n       \"HBAJZecFOU/Dnwj9l7MTymVJPJQN/rWaJ/IQWNky2yQzPicjsMpsnz41XbF9+xlXRQIrpbF6l6K0\\\\\\n\",\n       \"S+F0i2hmOmt3rmeuPG53fni0fV7/bhkEJYgrSWCNoLxrbd9B7U2b3K7G2rXkhFWcfwXyir+LbxLM\\\\\\n\",\n       \"El+i06E0SSiMQqqFsWv3zPLX/xq0Nbog7KJ8Swj4R+YVZiVEhhoshlXvnj+nLlgg5VVZvxlGZI2y\\\\\\n\",\n       \"32AwGAwGg2EPwiyEhhFgBJbhAMPuBK7rcyQRNWy2wLLvm++AUCuvykg0bOursHT2FXgfGWCOwbkU\\\\\\n\",\n       \"MklBE7KRMiKDySuiWtil0FkGZ7ORPkgrJjK4KCVOlKY0fsQRNHP//dTZuo1aP/sZNZYu7auvZIK2\\\\\\n\",\n       \"hs7AQpG+PjwA1D28juu22xlZxj+C4ymFNX6wfjYYLIOuBvM8LDlBoiQ8pIVQ8m/Yl2VnZSQVkyWc\\\\\\n\",\n       \"i5VBklnSTjYs9DoaIaQ/y3rKqiBT2/naUdoJQV7JojOvuL37oe4pNTjvijoUdkQ7o625/UFgQZGV\\\\\\n\",\n       \"Z1O5ZVSOVmLJGSgHHr1vF935kx/3Ni897tiMKMU0g3wtfjhcH+xjl0Pls+vEY2MURERjDYTtZ+8K\\\\\\n\",\n       \"bhHEFGyDIK3wCdIKXa3/TnGQP7e1DHCX76KET3k1n8kgqCKQfS6ZV3p5rr9XZlE0GAwGg8FgMCw8\\\\\\n\",\n       \"jMAyHGBYiBkDF+IaVaiyOeJ7w5JjJYkhc5Gy45hIAXEBvkcqrvqkVF/EpBVXxQDvLO9qvJEQ7cot\\\\\\n\",\n       \"Y0xaQH2DwuSCVGDln0uPPNIRWIwdt91OjRMfPzwLCZBTAOazDhZ8f2DheBkPI3KR3PacOAk5F2ty\\\\\\n\",\n       \"ksKxRl4XnGXUz8GSXwlySwrB+BbBnel9jMxqlpET7TbPVKcJKzkb4bAgd5+yR7Z1zeVdSQFaYWbI\\\\\\n\",\n       \"vP2lLbBgAc1nHtQWQthIlyzJyKs4SqnWbWW5U1yX3OY7d/ZJSrQ92lsSWNgOklIHunu7fVGBteOu\\\\\\n\",\n       \"u3q7lhx6KNH27X2GTnZevjaILH4gMfNhNDZGYxMTlDrCL3Xvhwxx19FcfDm5D7cNBZ4kCpvNQIS5\\\\\\n\",\n       \"++y8yENDm6Kfy3wsb0WMcMy+8N+fptoyGAwGg8EwOsxCaBgFRmAZDHO2BVYN2EY9DyoawGcnlNvk\\\\\\n\",\n       \"QFjvrwqK1mHePFDvK67keB+h3RiA6/Bu5B3J9YnxlOpxNyOvJJHBy1Di8CcTWNJalqtypg5eQRvy\\\\\\n\",\n       \"p9h+99208pDVfYKhisxwjx8WCSw8GFgZEFhMlkifHDMyYHIgs+HZ6rpdil1OUoPiyUYvqJtvW4e6\\\\\\n\",\n       \"M/gxYCFEThIXfjQZ1eRaWyxn4eBMlNRF7hVUWFBfJR4iQPatMgIrLsweCcIRj64tg9JKiGO53aem\\\\\\n\",\n       \"+tuYsJIEFi+z4iqcFW2tCSxel9ZR1e69voC2lgRWmfoKFRkyAdil6Y0b3aba5CTV+ZytW4vt3p9V\\\\\\n\",\n       \"wP+9eQnSlMa43VmORZndE+8HxIAMnIJuCcJXB7yDzGIyLJuBMhXtHM0h0F3v0/t924L8O3Lf4x4h\\\\\\n\",\n       \"mYycMhgMBoPBsAdgFkLDCDACy2DYJzDMAihtgkHFfp210y+ZgKU/86C2DErbIBRa0l4mrWcgM2K2\\\\\\n\",\n       \"j3EKOmyDUF7hE9s0gZVnIdWjyBEQ7V27qLl1K3UefZRiObUfAohGUWCBwAJhgYcDuyCnkGMyg9kH\\\\\\n\",\n       \"GWIVBFkNJikFxMqyRq/eeDcCuxnytvo2wWydv8an4ME62outhP38pcAzE+GoBFZGijBhkgW298lJ\\\\\\n\",\n       \"Gf+lQ/oliSXJK01aFktKUadJQXM2y7ridgVRBaWdtI5CeScJLGRgIQdLE1hVpGUuG9y55ZFetSxZ\\\\\\n\",\n       \"uZIC/h5YEdGZIZuSjYMGkLK6MKQwiigK6zQ2FvaEYVxQV7g0hH0QjUm7LQoIMLZwpmmSq7CCIe+o\\\\\\n\",\n       \"fJfL3veq3weDwWAwGAwGg2Hxwwgsg2GfhS+cHdt96ivfwDhUmUh9gkPnXemcJL0s7Wf1OiuvUgqb\\\\\\n\",\n       \"rGrJyQtNXmEWOlbocJFEBmaja7Vo6YoVtIX382yEDz9My5cvL+YjlUHKovgGIXtCaLhM1YaVDHIZ\\\\\\n\",\n       \"XofXT6l+XDZWmlJjih86q0sItQD+Ck1S4VJ8aXcdRXxhHecxsdFuI0Qc3+8jsKQ6x09gIbtLk5Bo\\\\\\n\",\n       \"P71NBvJLi6gvB6tHanHmVdylYOcMBbJtQVqBsMI+3qbbHRZC/symZ+xXkpx9sqrNo4h25OorxtSS\\\\\\n\",\n       \"qUz5heviQXEtyTaWEFguE6tBLtS9WedMrKzNwYVKbgw8qH5viu9VRhSnKavFykhl/c7KPuB736ts\\\\\\n\",\n       \"pQaDwWAwGAz7OUyBZRgBRmAZDPsVJInhy7ryDY4z+yBykXwqHGkz07Yy34x0kxNEYVMob0BSwVLG\\\\\\n\",\n       \"hAIUWJLAgiILpEazSUvGGrQlf6IdmzbTchAPcyWwQGLx9SXrhswrzEwHPxysZDmR1mMqcjKFL90Y\\\\\\n\",\n       \"m6B4qt4jp0BQIBNcBrxD5INl5kXAyfDlGfwVvE8rdrJcLLTvXCyEQa9dtZIO65J4lO3rU1shpF1a\\\\\\n\",\n       \"CLm6uETdFgWwinJBu0sCS7e7thAiA03WOYinEQmslBVYnHfFTx+GNMEL27Zl15cPi1kIZZi7zsTC\\\\\\n\",\n       \"d3FjpZyEldLU5GSvbeVtYRZC8J1cN8jL0vvwiBmBlb1/mcJOE1a+bCwo8eY7S6nBYDAYDAbD/gPL\\\\\\n\",\n       \"wDKMAiOwDIbH3CooLUJlWVjaSiQVOJq0ijzkFtvL+iIln8IK6z4VDogMFx9V61DEsw02m5kShwkM\\\\\\n\",\n       \"kFaYhQ7LZQoskBztNo212xRxrlGS0M7paUq2xS6XKO10KhN63FOz7c8xTY1BP6QM8QapAX8YLGyw\\\\\\n\",\n       \"mYGpYDB5JSRVUWOMJicnRLZRn7jQzjS4EyWB5e41J0RAZuG8/pOkjojKOBU9s6Vv0oDQzXbXz63v\\\\\\n\",\n       \"zzQo21JnXkkCS7Yz2laTllnmVUpRayazDXLb7djRb0NelgQWE0uwioLcAnEp2rxXhKUw5TbnMqTN\\\\\\n\",\n       \"p109Z0ctqdcpYPIKgV/8HXgwkJGYiRJWRf4+JOyjgaIo63MB12lMY/UaBUE0MMOkdD3i0lBnSZ4M\\\\\\n\",\n       \"71n2NeUzRQ5mmemA9qoZRkF2+mZCXYjZDA0Gg8FgMBgMhn0LRmAZDkCUDfr2BDTxVEVg6XN859KQ\\\\\\n\",\n       \"dd+AGNlXRRILRRIfILdkjpJUa7F1MKaEwnZOSsiiZx7UBTPTgfDIQ7U5S2mqVqNtfA0Oc5+Zpako\\\\\\n\",\n       \"pDRJKpXEhVpKUwryB+I8o15oF2YyBEkFgLCCnAoshZRXMTmSM01RrUaNOv9ccjB3n8gA/wUiA7Yz\\\\\\n\",\n       \"RG2B1OBlHCuth/0JFjPLWn9ftfoG7YmZJNFekpzURVtDdZF5Zz2yq5ZSlHYy8spnE5UZWCAz0dYg\\\\\\n\",\n       \"NuUshLCONpuU5G2Tdrs9snKU9t7e6Su0psKA0ulpCpB1Jj1/aFcwSrnKCm3bYxG5Qview9D1oaBW\\\\\\n\",\n       \"o7gWUVoPqV7PbJkgqPCu8COgrsGTSdKqv5y9c1n3qrL6DnuvfUXXTtnboS2pexoW8m4wGAwGg+Ex\\\\\\n\",\n       \"+hPCJkFe9DACy7BguPfee+nd7343fe1rX6P169fTYYcdRi9/+cvprW99K9V59LdPAfadPU1iadvX\\\\\\n\",\n       \"qOfIjKui8sYf4i6PHVRmYVANAkOvS4JDElpFYiOlWpxQzAQClFS6gMjwrYPIYnUWK26gzOHZCNOE\\\\\\n\",\n       \"tuVPsaPToUbANFn/3zHfv0UFmq7ToajT6ddWbhsMoLjKZxp0ANEBAksGh2fBRYVldz1HYI1TGGYz\\\\\\n\",\n       \"1SFzHKQUkz1SgYXLcf2BQ0NukmvFHqnRR18AlmUwVUGSjzKUH6KzUbLNJGElM7F66qsxbu8uhU3R\\\\\\n\",\n       \"hiCskHUFkkpaSWUGlgrvT6HAmp3ttW9XmCaTirZ2NZKmtFNYDMeY+OLv4ErIyTEmoHoSOUiiIJ1D\\\\\\n\",\n       \"26IhGKgkyOTqdYpd5YXUaESubcGB+khBzEjIhW9BvlcQe2WEpO/drHqXw4rfkVH/OtPZWXv6rzpp\\\\\\n\",\n       \"fzUYDAaDwWAYHe4/pPv/u7tbmO/5hn0fRmAZFgy33XYbJUlCH/vYx+hxj3sc3XLLLfTqV7+adu3a\\\\\\n\",\n       \"RX/2Z3+2n9c0aJTdyaUZxc4z7Bg5oA1LLIPaNojsnbinHsHgWipvJKEhrWNcYD3DeuhIJ2ETBGHB\\\\\\n\",\n       \"VjLYBplQkPtkTpIgsJhk6Ha7jsAQkdq0M0loIlfKSBLLVxuSBpBPH89ms+TFTEgg7IkfkL+f/XKw\\\\\\n\",\n       \"mDGknVAnr+cqHlZixUs4b4srqdbLtALfxQSHdqXBQoh9yA0HlyKzsnAsf2IWO/H1hfOwLFVX2j0p\\\\\\n\",\n       \"raCyreVsg8i7wjJyr7BeCzoUt5v9tgRZxTZBEJK8j9dl26Ld0eYgs2ZmqJvbBDlWnaspEQQWio/E\\\\\\n\",\n       \"Qhvz+aCvGkFAbe4jSUIhWz3ZioppAkFQom1hV0T+FQP2RfcFeYNwZeczWoaunsYL0WhcL1JNJ/fB\\\\\\n\",\n       \"oSoVWWiTToffQ0nZRfk63lvsk+82MrOSef62SKvhXGFklMFgMBgMBoNh34ERWIYFw3Oe8xxXgGOP\\\\\\n\",\n       \"PZZuv/12+shHPrIICKw9AZ/Komy/VF/4ZjTTpX9cNkNduWJHBn/r+CiUGlvJqEsBExpyhkEZzC5V\\\\\\n\",\n       \"OpK00iodJjK6XUc8MH3AJQkCqgcBtfL/NZlJU4pyAouGqHJCNdwHHRDmZEk4O+sIDpdrBZIKrJBW\\\\\\n\",\n       \"5XDlSP8fmKQ4dsqeiIWE9YDGxnj2wMz2J1VW/CkthNLNhnWpxpL/SQSCSt6etBWC7MKxaEO5rGfD\\\\\\n\",\n       \"0+0plVd6uU96pVQLuxS1mhS0ShR1UGDpbZ5ZCVlpl3DJ25sfTRJYslSp7RitpL+3FoXUUnQt205D\\\\\\n\",\n       \"JrLkDJOSUfSxgVxR/OB4Mfi+2UoYhs46WquxCotnjOzPCVD2zmhSEUo5fgc50H30dzcpefeDPURU\\\\\\n\",\n       \"GQ5EXHPNNfS+972Prr/+enr44YfpX/7lX+iSSy55rG/LYDAYDAcqzEJoGAFGYBn2KLZt20YrVqw4\\\\\\n\",\n       \"QGp5rnbEYYqrqhwsTd/4rYMZgRWUEh7SilZFbtXilKIkV7CAtMKnXIbiRloGc6LD2cfYOsbKq1xJ\\\\\\n\",\n       \"wzonkBqOkMjzjWaThGohzwnn//dM146MxZZaFv6MmcBotRyh5TKtkIUkZzJkoAIYfAy8eLzM7E6z\\\\\\n\",\n       \"SSHnJNVjGmtkAd9coLxBTpKc0BD1B9IKUU3gVaSNEEQXlqs4F1+OWVUZJROrl3/Fj00dCjoq5wwZ\\\\\\n\",\n       \"ZrJoCymIrbytuc277TYl3W6frPQQWFqF5WvrrF/07YPcFrhez1THxGdesUxcuvMhgeOKcBvyDCwE\\\\\\n\",\n       \"VvFD8/2iInmZ7adxTOFYh2pxSJ1aMJSkkuuSMOYcrIwn9RFVVURW1btf9huyO79BRngdqGB19Omn\\\\\\n\",\n       \"n06/+Zu/SS94wQse69sxGAwGwwEOm4XQMAqMwDLsMdx55530oQ99aKj6qtlsugJsZ0vSfodRrDyj\\\\\\n\",\n       \"XGNYuLMvAwvnYL0/8yAPnHkgLcfrvjBvH5HB65kFLaU4TPpqKh3grdcx66DIRUrzWQhZjdMSBAZI\\\\\\n\",\n       \"DUdLOHlRRlC0k7RHbgCa1JC1FKknh0kLJAmTWExsxLnHy2Vj9QOKilYyMEZQZPE2VE5eoY2pBnW6\\\\\\n\",\n       \"qVNh8aXgTMOlQG5B+eTuXyiw8FX4RDtJC6GIeioAx2lCEu2liSrZnr4ZCXEecs7c/e5s+skq2caw\\\\\\n\",\n       \"jnLB/nw5zdu9k1tEOzlZyctYl8RVt8JC2EtvcjK2/na2DyKeHKo7mPLiNKUG20jzkHh3DajrwCQC\\\\\\n\",\n       \"qBQ0BojLfF88xhZcVt0F7tHhTpT2W6nKwuW4CvDuZZxp4FFhuY4vnqCshwOg6iRdu7uQ1zUS60DE\\\\\\n\",\n       \"z//8z7tiMBgMBoPBsL/ACCzDUKxbt47e+973Vh5z66230oknnthbf/DBB52d8Fd+5VdcDlYVrrji\\\\\\n\",\n       \"CnrXu951gLVEOEdrkI+0kslRemCcLbP6A6HtGFxLdYjOw+oTGf0MrFrUpTjNgre94eyS0EDmFQgs\\\\\\n\",\n       \"Vl7t2kXJzExPhSMJLJAaTpUDJif32zXZApiTFCSG6pLKw7pMAJMEFpKHurCYMYm1c2dGYCGECmwT\\\\\\n\",\n       \"ZDRgmMD68f0gPCxnmoJ6nepxjdKx2JEXXEBIMRcL0gp8CRRXehZCXJLbhEkwEFLIw9I5lCC6QGKB\\\\\\n\",\n       \"kNSzEEpSEusgrUByIe9Kbq/HXQpaeVtrUhJkJdpXtz22s22w2aROkvQUdrJIAgttAwIL7SxVWGhn\\\\\\n\",\n       \"tgX2enwUUTO/TiyuAQILfYUJy5DJS65IGUqGigY5KdP1uVJy4pJnXowbDeIM9lotdrtAUHJ9cRXl\\\\\\n\",\n       \"Ar+eOksSxdiXCfg4nN83E6G0EUvaVb/vJYxmwXYolw0Gg8FgMBj2I5iF0DACjMAyDMWb3vQmeuUr\\\\\\n\",\n       \"X1l5DOddAQ899BBdcMEFdO6559Jf//VfD73+5ZdfTpdddllBgXXEEUfsgy0TPAbf57McDcvR6R8H\\\\\\n\",\n       \"+6AkPLR9sMyC1puxMO1S0MllRjx6h+RI2gb1cm43c0octpElSY+wAmklVTmwlSUcnp1Lj5JuQp04\\\\\\n\",\n       \"KhAb0kQlCSwod0DrVYaBsyqHc5L43lARsJWBtOIH5+cB0QEbHZNX+Sx3US2iei116hyQFVDiSAth\\\\\\n\",\n       \"P8i7P+khlFpSCCTJLnB5PmgCS7aZry21IktmZUnykp8loiQj96Q9VBbd1p7iLIMi3wwFZBbIJklc\\\\\\n\",\n       \"dTwEFqlpE6Jun5TpsC1P2UVlXhqUWc5SyHbCPNy9ZyGFHRKzF/IyWF4wTnk9cH2EcUj1ejyQMaaL\\\\\\n\",\n       \"rH+0D9rKfXfhHR6WX6eJqb39+8Mwi6FhsamlDQaDwbCvwiyEhlFgBJZhKFatWuXKKGDlFZNXZ511\\\\\\n\",\n       \"Fn3qU59yOTXD0Gg0XNm3sbcGkD7roNxeZh/0KbDYQhgUyA5NcJQFgGfLTM7wzIO5jIQL5EaSwJLk\\\\\\n\",\n       \"hs5LajazzCtBYPhKT4kThtTICSwmmto0SGD5SCxpJdPklc+IyZZCR2pwOLtU4sA+xoXvH6yPJDxy\\\\\\n\",\n       \"cit2lRRRvR4V1DY+YoP3oV6li00qrKRSaxiBJYmRqtyrUXKxMgIrpThOKG53BtvT19bYJtR4ICtl\\\\\\n\",\n       \"3lVVe3cUgYU21rlnro3TNJuZMj+G7YOgVmTe2cB5+bk8Q6Frb1QYyEksg8ws6edhGOd1xHUWFOpQ\\\\\\n\",\n       \"Kuc0mSXfu4zA8hHRPluh750vW96T6Bk498J3GfZ1HJhqaYPBYDAYDPsSjMAyLBiYvHrmM59JRx11\\\\\\n\",\n       \"lMu92rRpU2/fmjVrrKYrocPXkeo0bLDqsyKGBQshhCVSFeKbOc2XiRVHKQUIb297bIS6wFK2c2eW\\\\\\n\",\n       \"fdVsOssgyCv+LMvAcoUtcvkPE+cYtZSNUEI+qbSS8XJNLIPQKpAjeSBVDOUNCCy+d0wZ2A8v6lcQ\\\\\\n\",\n       \"WIqc6ArHWH0V9RRWsF6CjOIq48uAmJJB7VJpJWcz5HVEcvkshLiFfkj4oF1Q5jPpz4I9VJwTssrO\\\\\\n\",\n       \"p6yCPVBaCLl9pZU0P7bT6fTaWrY7l6ZQ27VFm5S1kcRYkvZ6eSsMqcXKQmEZBHEpr6PfmMb0dBbo\\\\\\n\",\n       \"DksoKhMBYXIWQlQsVxQTWBzqHqaOvPK9J+A10Q+kOg7dht9Fv8JK9mYfNHEFI6W8nlkGDXse+49a\\\\\\n\",\n       \"2mAwGAz7JcxCaBgBRmAZFgxf/epXXXA7l8MPP7ywzxEGhjkMWn3wqTbkvmKAe6YAydQiOvNK2wfl\\\\\\n\",\n       \"QFyqd9g+1bOUYXY5kBw+EksQIN1Op0BSgbySVrIBFZZTjIUUd5NMKZUkNB31VVi6NmSAO0iLPM2o\\\\\\n\",\n       \"YL4CsdHrj7iGU9eEWU1KtoErAiodXuZn4tAjKLNyYiOIIqpP1F3AN4d0M0GVu9V6lkLEbckMLC7S\\\\\\n\",\n       \"Mpi7EgskI+Ka8OqAb9EWQrQbAsN9Mw7CLijJLDfjoMu+Sp19MJjO1UdQm8llqciSnzmp5TLOWq2e\\\\\\n\",\n       \"RbQt2ltbR0FatVWAuwxy15gSsw/ORqE7Vwa3y9wsLGstkyO6YB0FaYX2lNZRrIPMGh/PQ//bFMf1\\\\\\n\",\n       \"QtaVfnd0OyCQH7MRRhH3EUlSdzwh7WWKrGGQRBY0afa7a1g47B9qaYPBYDDsrzALoWEUGIFlWDBw\\\\\\n\",\n       \"TtawrCzDXKHVF3KbNtMVVVwI/C4jPnx5WAVLoZM05ZlXPBJH/pVe50+QHflMg7w9SdPCrHO+/CPf\\\\\\n\",\n       \"9pkwpIk876iepLSdc9RLagbDdJBUOg6b8muipjqqpljl5cgJZGDBDwZvGNgJ33MzuVeruYywOIq9\\\\\\n\",\n       \"eUjasilJDrQJCC3MUlh4xjzTHstleWbSslaWbebbnrsgKUpzdk0+J5ZlEe0sbYVpp+PaW7alJCn1\\\\\\n\",\n       \"7IOSzOoOU2DxjIJJtpWPnc7VV6BnJE0j3wh8n4xAD9KUQmRboX2lZVA/u2zvbodqcX3Afov61O+W\\\\\\n\",\n       \"bGf5Lg6qLcMh77b+HTAYFgY7d+50/+EE3HPPPXTjjTfSihUr6Mgjj7RqNhgMBoPBsM/BCCyDYZ/F\\\\\\n\",\n       \"KIPWwdwrfMI+qLN4BoiqXD0irYacf8WFZgQ55SOySgK/OSRdBnf7yAxpK5RkRjMIaHlOQI1zGHhu\\\\\\n\",\n       \"IxymwNJZSNpKBqJL0gf8fWGn4xSCASsLZIgVPwvCvPFskDBJ0oOtiFHUs5fJ0HZpK5N58bINmKBC\\\\\\n\",\n       \"RhZD2gd9EXKavJLZZrK9tUKoLMidbaKFNsWzyXbFPpmBlX+mee6VJiVl20oFluwHyQgKrLE07f1D\\\\\\n\",\n       \"NRMGLv9Kh/VrA10gyMoCTcQzGSYJBWhbhPVrok72c/R/budxvBv92T21alG/c/0MLGkjLMvDmu/v\\\\\\n\",\n       \"gcEwOq677jqXWQnAHnjppZfSpz/9aatKg8FgMOxdmIXQMAKMwDIYFhRVth+fZVAOYsuOxXA9nMPA\\\\\\n\",\n       \"l/OvBlU5GFDDISWJK+Zv+jPSEcVh0p95EIN5HdKOPCyZi5WTVz6iSs9Ip2emc8tBQLvCkJby7HFs\\\\\\n\",\n       \"CUxT2iEILE0BOBJKzELI//Zds20bfW7jRnqw2XQE2JGNBr1y1Sp64UEHFTQt/P2MNEmoxvfPlYAK\\\\\\n\",\n       \"QRYSVxLILRAfIDVyBU9tokbdNOzZx1BlmizkfUxM8eNoiyBfDuHuo2RgoV3RltomqNsYDjk92WIt\\\\\\n\",\n       \"TojYPoj21Sor2EdR+Lh8OZ2ZoU4+46BsUxQd3i7bWVoItQ1Q/v2ynCslx44wsw+CuIzzz//YsoW+\\\\\\n\",\n       \"8uijdE8+Q9rJ4+N02Zo1dNbERK+tYdhzfQp5bqhA9lKi3UFaYRnez1aL4sku1WsRtfM65G7Bh8h2\\\\\\n\",\n       \"RnSaL2yfj/W/7z4iWloNURu+vCupRdTXLLMQYp9lZx3I4MxKs/cbDAaDYV+zERoMVTACy2DYa5iL\\\\\\n\",\n       \"mqrs/Kp98hpF9YdPgeUjt3rLlFAAFkbbBcvWWcnUbjs7mbQEJhW2QT0LIZZ35AQWY7Kb0FYhRfKZ\\\\\\n\",\n       \"J2EXxHB8Ioro5atX09GNBk0EAX1nxw76owceoC1r21Q7LKDX3Lmqdz+uxpgpkgococp5f/ubdPbM\\\\\\n\",\n       \"8XT+1JOKCiXYCB0rkVIYZCHfmjCSsxD62kErdZAxXgat4kLBNp/FUOY0yXvje2Zb3YB9TirutK2O\\\\\\n\",\n       \"60b0AWkVHaXI9k9VP9EzCXJlLMntpLy+Le8HMkWOccOuXXTh8uV0xuQkjQcBfXbTJnrV3XfTfz3+\\\\\\n\",\n       \"8XR4reb6B9qaP+P8/oMqu6RSZOF9CJ26MSq0gyx6m34Hiz2X5vG+g4Tq54P5jzMYDAaDwWAwGBYH\\\\\\n\",\n       \"jMAyGOaFUQeIwQjrupRd37dv8HxJbMhlua639T6ZTpDJ41zksm8935YKO5kmsBLPpySvsG17GNCh\\\\\\n\",\n       \"TArxnbRa9MZ776FWktB4GNIhtRpduGIFnbFkCV23bRv948aNtKHZpHoY0nHj4/SOo4+m06am3PA+\\\\\\n\",\n       \"zkPdX9xo0D9MbqYPXrSeOjWiJEzp9XesLoaA58/jSI1ceXNl9F26nL5NE7u+Tv89MUHn15/Yf3ZR\\\\\\n\",\n       \"gm6XwoAVWJGXlNLEEuqctzFPp0koBnKxCi3vycHSNjXZvmVEWe8aQUIBB6Sr5yltZ5FMn+brsg59\\\\\\n\",\n       \"baoJS9/x/Lmr26Vvbd1K3926lbZ2O9RKUjqh3qBPrF3rnn1nENC3PO39zqOPpnVHHtlra/586+GH\\\\\\n\",\n       \"09e2baNv79xJLzrooN53gMDith4gaH39HeuyrYnJq6iQa6XrXL9TjD6BpVVW+j0e5b33/VZU/baM\\\\\\n\",\n       \"8t+Zox5nMBgMBoPBsAfg++N3d65hWNQwAstgmBfC3Txu1BnGqlQYYenxQZBZCGV0FAbcUgnkU2DB\\\\\\n\",\n       \"dkYdMYCXVioQPMy8KPUKspAkSeFTXFVZyza3WvSvmzbRi8Yn6LzJSVoVx/S0JzyB1o+PU7PZpJ/d\\\\\\n\",\n       \"fz+97957aUW9To+2WvSSNWvovOXLabbbpdt37aJ2Hibe07ekKV2/cyc9fGjLkVeMPz1lvfu87I7V\\\\\\n\",\n       \"Pc0af3/E6qLcVnbl+PV0+fgP3XHT1KbrZu6m85ecWiQ2RL2EUUj1OmdhFWeg0ySSb5tUX+kgd40y\\\\\\n\",\n       \"W2jZtWWb4t5gI+QAehfUD2JKEzdacYbl3ErqU1bpfCu9X/eJTa0W/cumTXTNo486kvLEQ1fR8Uum\\\\\\n\",\n       \"qBZF9MxO/4+QT27aRH+9ZTO9dM0aOjdv7ztEe8s3oplnpy2JIrcPdkNJnPEz8qyEBfUZ92m5zVMv\\\\\\n\",\n       \"EavacpVc1eQIksjC+8cZWFkwf9l7Hc4z/0pG1strDrMKSkOuwWAwGAwGw96HzUJoGAVGYBkM+zx8\\\\\\n\",\n       \"Kg2ZjwUTHeLM+1YlbTXTSittf+oRXPwvCAbzUnkDdYoItu7t40DvnMDyzTjoIzV0uXN6mq687z7q\\\\\\n\",\n       \"xDGdffQxdN7One45XnTU0fSTU57Qq4EHH3yQrvnmN+mRn/6UvrttGz1zxQpaVa/TUePj7kcNip5f\\\\\\n\",\n       \"v/VWanNwdxDQm9uH045bOvShnLxiEotr7E1CicUz1PHsdFeuvI0uP/inve+7IngWvan2jIHwdkli\\\\\\n\",\n       \"BVEyQBiNUvAfRVyNOB8YRYHlm2VQF9nWksDkUPMBO6iecRDtrbazXVQSlbJtR23/O6an6b333ktJ\\\\\\n\",\n       \"GNLTTzyWnnLskbR8Yrz3vE/56YNE07Nu+fZG5PRB3xPtfcz4eM8eiOB2xl+tX08razV60tRU4ftC\\\\\\n\",\n       \"cW8hVzieS+RcDfRroTrjdyIIOMS9xHqr3jGZWSaVWHzJDHhvZZadJrctvN1gMBgMBoPBYMBfygaD\\\\\\n\",\n       \"YZ9EWbD7MMvQoG1QqkFk8VnL3D6mCpjcQNK4LHobBvtJ4sLQ9SyAyDOS64mn3DMzQ398zz00tXIl\\\\\\n\",\n       \"vea1r6UlF/Znx1r74IOF51u7di29+CUvocMOO4zunZmhN9x2G/3Xpk20vdPpXY8tZh8+/nj6v8cf\\\\\\n\",\n       \"T69as4b+8qGH6Ak3TNDv3bKmd50rTllPf3HCxh7BwYzRlUc9QJcfJcir6XNpXXJe8flRxDZWepUR\\\\\\n\",\n       \"hbo9dH0zfJlWvrbRiivd3r7v68+Cp/YxQ6bb1vNshX3YrrKvZNuWtbFU5909M0PvvvtuOmjpFP3+\\\\\\n\",\n       \"c55Bzznl8QXyqt7u0EE5ebVjrEa/cO5ZdPhBy9x53N7/rdob3/vZjRvp6q1b6U+POsr1Ad3/XDPn\\\\\\n\",\n       \"wf295xJ9uLSf5+t8RW0Z1NZQ3ztYzMDS7+3uv+sGg8FgMBgMiwLpAhXDooYRWAbDHsF8B5pV2ThV\\\\\\n\",\n       \"OTniDJGzVJbHU1Z6BJZvQA/SQ+YF5eQV79Pkhfz3RJMYKDu7XfqT++6jZQcfTL9+6aU0OTlJMxMT\\\\\\n\",\n       \"9MhBB7n7XfHoozQ+PV14vjAM6VWvehU973nPoxYRfXHDBnrj7bfTw61WpsgJAlrTaNCx4+P0q6tW\\\\\\n\",\n       \"0TOXLaNPbdxIv3nHanqDILHek5NYfH9XPm49Xf74B3r7rth6Fq2bOWuwLuDRRz2kqaszVq6FYZ/I\\\\\\n\",\n       \"Ksuf8mUklRGKle00hCyRmUzFQPHsPnsElmxbSWpJ8krsSwVZKdu2bF32BW4bJp6uvPdeWrl0in77\\\\\\n\",\n       \"/CfT1FhjoP+u3j7d6+Eblk46+93vPes8+tUnnUbNNKV/2LCBfi9vb1z/C5s20d9v3EjvO+YYl4+l\\\\\\n\",\n       \"70F+ur5aRWLxs3oIXNfOFaRiGUEsya3q9973zsttC/HbYjAYDAaDwbBvIUgWphgWN4zAMhj2+Cu2\\\\\\n\",\n       \"J16zqgDn8u/zWQc12eIG2Ri8M7QaRQ70obzi8HZBXsnZ5CRp5ftPEt739Ucfpa3tNr34pS+lRqNP\\\\\\n\",\n       \"Zjy09rDe8ik330KrNmzMbG+95wnojDPOoOc+73k0w9uDgL6/bdvAd4LgaOV5SUxiXSZIrHefsp7W\\\\\\n\",\n       \"/tKP6a25vZBxxcMn07pHnjAYcK6DvkWdOOIvJwi1vYyBbbpNqmYdHJZJCYJKQqqz9L30SC9HUgpV\\\\\\n\",\n       \"lS/AXLa93OchKssshLINsP61Rx91JNZvPO1J1KgpJ3ua0oqdM3Tklm29TRuXTvba+5xjjqAXnX2q\\\\\\n\",\n       \"a+9AtDeHu//dhg30J8ccQydOTFT2vd46+rlWnOnnlz5PJivVe+SzaFaTVWXqqj1lF6z+XTAYDAaD\\\\\\n\",\n       \"wWAwGPYHWAaWwbBfQw6EEeDuJ0S0ascHzvdhYgNEzIA6px/eM2At0wSBjzTwbktT+vIjj9CJJ55I\\\\\\n\",\n       \"y5cvL9xPm9mAHMfec48r0+PjdMOZZ9L3A6J77rmHjjvuODr88MNprF6nHa0WHdpo0D9t3EjHj4/T\\\\\\n\",\n       \"EfW6Iymu37GDvvzoo/T7+Yx2/N2vumO1+wFEoPvWev/ZrrjraFq3/XiiJSW2OlncBXM1k1JV6frP\\\\\\n\",\n       \"6niQPOzXf3Ed1S7bz3eeT3ElvxPX7n2/U9kJC6G2ElZZCoX6qowYcvdeYt3jcPWvPPIInXb4Glo2\\\\\\n\",\n       \"MVaoo0O27qSTH9pM4+1+W/A5jXaH7tvyKN25YQudsGYlHbPyIGrEkSPBuL3/eeNG+sKGDfTmI4+k\\\\\\n\",\n       \"Q+p12txuU52IloQhLYuiyj44QE7m7dlrW/kO9N4yl5g22MiqvX39gLt0VuVaTbknCSabYdBgMBgM\\\\\\n\",\n       \"BsM+joWwAJqFcNHDCCyDYdGgP1rWdqXR7EuC5IBdDOyJXJdWM7Ff/5vjs6P77GW37NpFD83O0s+d\\\\\\n\",\n       \"c07hXtY+8DM648YfuWPkrY/PzNB53/42bT/1FPrGfffR9773PTc7Yb1ed2HtJ0xOujD4qx58kLYw\\\\\\n\",\n       \"kRGGdGSjQW898ki6ePnywj2+5o7V9LETNtE2QV4tb0W07u61RCsEe6TrQD67st4FQZ899BFIhXoW\\\\\\n\",\n       \"RBPIK/mV8hxJgGmbmt5e9Z3ZirpvXzv7njMnc6C2k20q4VvHtlt27qQNzSa96HFHD5BXZ963gXzg\\\\\\n\",\n       \"7dtWL6WvbH6ErvnpPdRsd6geRxQHCZ00NUWffPBBR4yxDVXiVatX02vWrPHGInj/RtLPresot4rK\\\\\\n\",\n       \"9qjCcOug2fkMBoPBYDAY3F9F/H/B8ySg5nu+Yd+HEVgGw36P4eqNUQbbPeWWthACQm3UWxbwqXCw\\\\\\n\",\n       \"XR8jj/vRjh20dGqKjjrqqP69JAmdecMNvafTT8vnXXjHT2nioot67MD27dvp3/7t32jnzAz91urV\\\\\\n\",\n       \"9NurV7taqYm53mIXwt2/5ocfXySvoMR61+H30Zs21rNn5Vnpmk2iXbuIxsezsmkzEQeOj40RTUwQ\\\\\\n\",\n       \"TU4SNcbc+mwzovYsUdoiimaJ4mmiRoso4KCuWVYTZU688WY++R9cifmEd10l7tLoZVphxsNa/hkR\\\\\\n\",\n       \"1epE9Xqm8qnViMbH8vU6UTRBlI4RdRpEsw2iqNElmp0las4S7dxFNDOdrU/PEO3cQTQzkxWeCZKf\\\\\\n\",\n       \"nTPIuDRb1OXw9CRx2WNtYRtE+4TiHxc5RyY/0q7ZWXr2Qcvp7EaDgh15rlma0ik/21TZ3k99dBfN\\\\\\n\",\n       \"Pv1JvfZev20H/dmXr3Fk5YdPOsl9Xz3/Hm7zsfzT1wclgTrgzfQRewDshBVKuzLicW52QoPBYDAY\\\\\\n\",\n       \"DAaDwaBhBJbBcABBhrrPGyrYWw/2R1UBc4D71NSUyzMCVm7aTBNMnpSAjxxrNumZ37ymsP25RxyZ\\\\\\n\",\n       \"LbRBp5TjqpO20F+cmpEmjKWtkLbXM9bonSf9jLY1m/TqWw+m+YDJlKW076Cdl11E9Mge/EeFS9Ec\\\\\\n\",\n       \"2Merly4j4nJPP29sGLi92Va4YtcsPTKVzVS4NA9+5/4zCkoVV3pign3pHTMYDAaDwWA4UOD7z8Pd\\\\\\n\",\n       \"uYZhUcNSXQ2GPQIdY74nMfw7pJrHwzWNBi0l0VOu7Sa6Kc/qVrz2+Gw5ebUQcOTVGX3y6o03rqLv\\\\\\n\",\n       \"/dMJ7hPg/XycYd8BZ2EBPCsh5Rlqo8LbS31+TLl9jtB8bpmSrg+tWdwT0FMrGAwGg8FgMOybFsL5\\\\\\n\",\n       \"FsPihimwDIZ5QSc0zXX/QiIt/Q8MX6SR9wrpkBAtub1kuRgpX4Rv31QU0YxSW82MZSqbYbjn6KNo\\\\\\n\",\n       \"mu17xC6/Jn3ve9+npy5fTmsb9Z4xKxJzQfLy35y4mf7ytD559fs3rabX3rHSqWb+4I5VNBGF9J5T\\\\\\n\",\n       \"N/RIrMnly+j1j5ycWQTZj8fFefMa/XVWA9XqlNZq1GyHzhro7IFt57jrTeDHbkT+lJP6ybx0LJe4\\\\\\n\",\n       \"NAfysnSoO1sHMQsef8JOyKXBy7XMWsilUUsocDfaIpptErW4tLPPmdnsZrmwrZDbp419M5TkFkI5\\\\\\n\",\n       \"26AsfOvYJ2co5M8f7thB67sdeqrIwBpvtenwR3cObe+mmLFwmu+ViCbVjAVlb5uOAMsWPCFivsqW\\\\\\n\",\n       \"xzNEZJgP0m1b/c7tzb+yhn2X/cVnMBgMBoPBYNi3YQSWwTAvYDayx8ovpJUVqTe+ahT0zuMBdxBQ\\\\\\n\",\n       \"AGJAT18opzkEARAEvVqQxZ0uakgX3n7s+Dj95wMP0KZNm2jVqkwBtXnVSjfbIAe2+2qWn3R6Ypx+\\\\\\n\",\n       \"cM45lOYExA9+8AP60iNb6MTVq6gWxz0rG+ciYfnzJ2ykj56ysXedN9+yhl5/52piXoQtb0ybveve\\\\\\n\",\n       \"w2lqfJwuf9y97pj/9+g7aXLtWlo3+RSiqSmiJUuIDjoo++R1njmRlycnKZ2cou07A9q1K6B0hmh6\\\\\\n\",\n       \"ez9aigvHSXGcFnNBzAlhWZJbckI8SWShCTCDocu9EiSVI6UaWUQXlvn2OKaLSzhJNLaEiLnBycmU\\\\\\n\",\n       \"lk6lFOzK8622byfati27wR07iB59NPvkdd6+dWthX3d6mpJ2m5h2nBXWRF5P8uVm/tnJSyv//Cln\\\\\\n\",\n       \"jz30MP3h6Y+nVUsy8pEf9OCdMzTW7pa292wtokcm+8bEHz+4wYX2HzU21utL6Geyv2E7lfS/QuUy\\\\\\n\",\n       \"tP9PTvnIMxrm+7itdgd8XkZopXtZqVmFx/r7DQaDwWAwHPCwWQgNI8AshAbDfvkL7ptXrXogKm1N\\\\\\n\",\n       \"UPtI1U9GevEca1kpDOZBVMnBvdwXRQPEgVzX5IIs5y1bRktqNbruuuv6TxGGdMOZZ/aeSD8h44dP\\\\\\n\",\n       \"PLNHXvGseNddey2duXQprazVvPfxD4/bRB89pZ+7dNkta+j/uSMLei+QbGFI6x44iq54+OTesZfX\\\\\\n\",\n       \"vknvT7/dlzuBQQKxUZXoXUIU+uofah1JQJbliMvryGth/0iQCiT9XFreJfYhr2yg7kraXm4/d9ky\\\\\\n\",\n       \"p5r63l1ixsAgoJ8ctrLQvr3nzz/d/vx7ub2/e+d9dPbSpbSiVuup7MrIK70sj9P9uFcveHa1T74f\\\\\\n\",\n       \"IBpR7yiMqiB+v22w7J32HWMwGAwGg8GwuGAWQsMoMALLYBgJ8x04JruRe1NUVvmXK85W+eq+Io/D\\\\\\n\",\n       \"cpLwAF2QG9qzJtfFIN9HXpSRGtJKWAtDetby5fSjG2+kFsuQcjx4xOH07fPOoxmWFAmw8oq3837g\\\\\\n\",\n       \"/vvvp42bN9PPrVgxQKrg88St4zTWyb75Dbesod+5Y7X3Hh05E0W0bvNJdMWjGYk2kdbo7OiIQVJH\\\\\\n\",\n       \"1AWTaUxs6PqW674J7oYt91xrI5xT1e4D98FETCCeQxZNZKl9TPL56k7aNX1twJ/jYUgXHnQQ/eCe\\\\\\n\",\n       \"B6jFUzDm2LB8im446hCntJLgdd7O+4E7N26hjTt30bMPPnjAllrVB8mzvSBrkzI3X98PsneD3xH9\\\\\\n\",\n       \"rpUt67qvhm/+ztHfeT+BPR9llRFmBoPBYDAYDIZ9B2YhNBhGxqh5Vr7jynQlc/luDE6Hn4tBsyxz\\\\\\n\",\n       \"U/eoQXwZuZH72AKsJwmFaeolDiTJ0RXsOX8yEfEfW7bQf/z7v9MLXvjCnsKHSaqH1h7mZiXkYHfO\\\\\\n\",\n       \"xmJ7IZRXDM7P+s9//3c6fHycTuXZDEsUN2dunqIPfOcYumP5DL3qzlVekgNEHEiLdTvOoFpjgs5u\\\\\\n\",\n       \"HEvn108oqtF0nQQhJWlQmNBO1r9UTvnqX7aZL2wfZBZ/Fe/TmeM+UksrvfDJ7ZukRJGvfaXqqGQf\\\\\\n\",\n       \"iL5AtHWZ0knuRw+++OCD6f/bsoX+6fqb6SXnnN5rbyapNiybdLMNcmA7Z14526BQt+1qtuifrruZ\\\\\\n\",\n       \"jhwfo1MmJ70Wwaik7xWsg3z/sj/LPq3bViy7uvMo3WT9a5Wcbtv8jJJlUu/67vxWVK2XbRvlWgaD\\\\\\n\",\n       \"wWAwGAx7CDYLoWEEGIFlMCwoEjV0HhVlA9UyqxFGwojHRsmO9VmXNKGhl2W4OGcLFQbvvuAluc6h\\\\\\n\",\n       \"S/W6I6/CTscRCFyS/DPO76wrCIZU/AAdWq/T7x1+OP35j39M9UaDfvEXf7E3MyGTVZsOWe2ttV27\\\\\\n\",\n       \"dtHff+5zNLt9O731uOMoDoLe98ngdpQnbZ6i8zZnJJdvvyM0kHqeP9+bWmcTTSwvpqTL+sjrKAky\\\\\\n\",\n       \"YgM5VpK4wrrMuPLt19uqwE2EY9FcvvYsu3ZGggUU6WdBm/qeU+zjAPio2+21M0hJSSKhnVNBYHHb\\\\\\n\",\n       \"HNZo0GuPOII+eN/91IgjuuSJp/RmFeSHeWTKH+K/Y7ZJn7jmWmo2W/Q20d5o8147iraV21Fc2/Oz\\\\\\n\",\n       \"cD/mviufFaFimtRCO6chdVVdzsXKWXw3Zey9fKdHtQbv7gyGpqwyGAwGg8Gwb2EhZhG0WQgXP4zA\\\\\\n\",\n       \"MhzA6E25N8d98/k+UDp6m9SnYH0YfANaBLknzubERQ6yNbGhB+DYl8ZhNrDnwbsc4Mtp7jCdXU5e\\\\\\n\",\n       \"YYAviaGuZxZAkFlSU8Z42vLlNJMk9NEf/pC2bN5MT3v60+m4447rqXMk2u023XzzzfStb36TkpkZ\\\\\\n\",\n       \"euvRR9PhjUbvO+T3STubJjH0/kA+k34+uS6JjXw9pbCUFNSEoSaz5H6pkpMqLJBUvE+TVdjH1+Tb\\\\\\n\",\n       \"8RGVvu9zrSWeofBMZc+eFyawwm53oK5BWqEXy/14q3j5Gdze3S59/K77acP2XXThScfR8YespNDT\\\\\\n\",\n       \"3s1Oh35430N09U9+6mZAfNsxxxTaWxNVWPbdW0+xhWfVz6eJSvT/vM87onKE98jX5knC72ZV1tUo\\\\\\n\",\n       \"dj/5OyHX0wUit4Z9d9k1LQTeYDAYDAaDwbBnYQSW4QDGniCphn1fMIfBoc7A0Tk4+thiyQison1J\\\\\\n\",\n       \"Z/L4VDnuM869ahjISwKrTKnDqpw8G0kSB1INo0kNORMc73/WihV0cK1Gn1m/nj73uc/RiuXL6Yln\\\\\\n\",\n       \"nUUHH3ww1Wo1mp2dpZ/97Gf0ox/+kJqtFp2xdCn9xnHHOQWX/K6wSnnjITWwPPDMvmcX1klZF2ym\\\\\\n\",\n       \"02ocX13rbWUZVa5V1SyEcnvZ+b7v0zY23GccqfynsmcsqQtJVMpl2ebokZLAQhs85+CDaVW9Tn/7\\\\\\n\",\n       \"8MN01TXX0srJCTrn2CNp1ZIJqkURzbY7dO+WR+m6ex6gZqfrQvp/86ijaTWr/VSb6gkCZLvqfC6E\\\\\\n\",\n       \"9Vc+n2xfsZ7mpHCVek62iW6PQXtg2Ttf9e77fi/KflP2JsxyaDAYDAaDYR5/Rsz3Twn7U2TRwwgs\\\\\\n\",\n       \"g2GfhB60QnGBga+0G0mlRV+ZoS1NZdbBdjtTjHDhZWQkpWFOSmHwDiWKVKvIfUwqtFpOMdVJ04KF\\\\\\n\",\n       \"UJMK8ilgLcSTPnHJEjp9aopum56mL23ZQt/8+tepI3xXPGPhxcuX088dfLAjMqRdDcSVj7zShJW0\\\\\\n\",\n       \"m7lrIGBKPpN8Zk1wCGVOGseUJJGrP9SnX4Hjz6Xy7Xf1oTLLIE6S26QCa9Tvw33W4ojSKC1aJzWJ\\\\\\n\",\n       \"o9s5X+d+EeY5WLpe0aaawHLPIHo5P+ZZeXvfPj1NX96yhb5yy+2u/wBL45ies+JgR24ekhNXss2r\\\\\\n\",\n       \"ik955xRafN9SXSafveR5UxBY3YwY1u8N2hFtVtb+xXdav9+oFd87r38XFgr2l57BYDAYDIbHHmYh\\\\\\n\",\n       \"NIwCI7AMhgUBBpbD8q98lsEyu+Cw0HZNcIEyyAa9STJoacMgWhNW0u7GEwHW6yGlUUAB8oAwkG80\\\\\\n\",\n       \"cEC/yHXe325T3Gz2kn1qamiOHx0dsA2ywSV5BYEL6D55cpK6aUq7ul1nL5yIIjeLHZNNZbPf1UQG\\\\\\n\",\n       \"FuxktXwZ+/DZW2YGiO+fZzwcGyva5/iZ8OwgPMRnyiUPcJf1i7oFWVRm49SWQ5l/JRVYrq5E1+Lt\\\\\\n\",\n       \"3DSwFEr7GtZBViH4nZsKrjl3r0xUBmHWzvx8fLJ8Rsdy1fr7ms1sneuIL95sUswXzQkn2EPR1lJz\\\\\\n\",\n       \"iHS4UG1z7RYE9ITJSVeYvNrZ7VIzb+9JtqXmDy5VfT7SUrZrKLah/bGv0H9l39Xrkszidg5j6iSB\\\\\\n\",\n       \"q0dtFZSElo84xPYiMYW3xKewmstvgaxxvVwGy8EyGAwGg8FgMOxfMALLYNgnoFOhfKSW3F8V+Jwd\\\\\\n\",\n       \"y3k7yMDSCixJlmglSbYcUKfLCp08sF2rkcoG/jnhEbVaFKVpT4EVKTJLD9eZkJCZ5dJqxmQV38cy\\\\\\n\",\n       \"sV/PfOdTV5XZCEFiYJ/7ZMZHPgt/yueSz66JjVqNut3A1RnIKllQz8X6LZJa2oImrWeAnnkQIe4y\\\\\\n\",\n       \"yB1kFSbNc4H8UfG7i/cWOPIu1CqknIgsEHm8jnrJH4KJryh/QJCT6KWgU33EJR4L9E0ge34Q0EF8\\\\\\n\",\n       \"D6qt9QyDvtwruV4rU+BxRUly0kdeabVhTuR28nbWbSmJLB3iL22F/E6WzwroU1VWHVuVpWUwGAwG\\\\\\n\",\n       \"g8Gwn4H/TnJ/K83zGoZFDSOwDIbHBL5ZxvBZNXDVxXdONsCVeUhVM9/JgXeByGICKyqxD2qVjlBf\\\\\\n\",\n       \"MakRzMxQnPA9pI6kkMqcToXeBIodkBpVw3ideQTCShNZBaLKQ3axfa4wI50mMqosZrmtjFU5PhJD\\\\\\n\",\n       \"1rEOUfcpsGRWlbQJDjx70CettAJLk5R8u2X34No7ClzelNc6qbdJojJXa4XNJiVsGU2SgTys2EPP\\\\\\n\",\n       \"YK5MrcCTRJavrX3tXUZeSeWdbH9H1oGs9LWzr917kxgwgVVOXJXZdaWtMCMkfZZA3/oovwNlb5HB\\\\\\n\",\n       \"YDAYDAbDfgbLwDKMACOwDIbH3HKIobtvv16W0EqNYvJQNnhOC4oRtj5xkYogmYkkVUP8OT5eo5Rn\\\\\\n\",\n       \"nONBPdvGZmf7O+VAX+9rtSicnaVapzOgEasp9VSqlDXSYFVFYOnwbklMaQuZz2LWs5qBuOBn4MJE\\\\\\n\",\n       \"HD7xjGwt1M/baLi6oVqdOruCQv2iHvW6tpRpZZQmPyp7UB4UziQWf2IiQTkLoVRk8X3IY3BPcRxQ\\\\\\n\",\n       \"2sieLYC6anq6T+jws3PbgqTkZ4cfjpe5rbkuW62CIU6q62Q7o81AdMlzbly5k25fPkMvvHPVSAQW\\\\\\n\",\n       \"t+ffP24TPWHrOD1l81SRrFIWQi6OqEQ7y7aWuW56H1sH833tmUEVm3yHQGjJNu/bCvmdlCpKUHk6\\\\\\n\",\n       \"78r3nlf9Fug8LSOwDAaDwWAwGAyLE0ZgGQy7DakjKduPwWe0m9f3BT3rQXBYsi+hbjekdruvDgJB\\\\\\n\",\n       \"khEXfYIFohpNuiSTMYWxUlyBCUEOEoO/gEkOfAGTGt2uC/iOu93CkDoVxEXgUeXIJ5Ecjhzaw2Dp\\\\\\n\",\n       \"m2FOEli8XFdkBtadxQzKq4kJosnJjKxBDhaWsS635UqdNK5Rqx3QbDN7fFl3PhJD79OKHdlOIKhg\\\\\\n\",\n       \"I2SiCrZBPgaiKXk+CCscz82E7wVpxftxD7ycHRdQPWaiMmdf+BlliBc/O6RhMzP9ds8fkNs56nap\\\\\\n\",\n       \"lm+XSXBoF7R7oogr9OIfrtxJbzv3HpqNU0rDlF52x+pCWzP0TJOfPWEj/dUp62msE9DHvnMMnbt5\\\\\\n\",\n       \"qqC+QnHEVhRlwe38LLKtufA6F51/Jj6TMPaSkmVEpWzTrK01WSXfYfmpQ9znkmtV9jsiybJhxxoM\\\\\\n\",\n       \"BoPBYDDsfbi/H+f5p8jemlve8NjBCCyDYd7kldSa+ILaoT/RhNeg7a9oovLZinwzk5GiAjo90x5b\\\\\\n\",\n       \"+KSNUOYx6aLzmVqtgFocgxTFFOsBPRRLuCCIARAejQYFuWcKBJYchsvaIkFskBhqa12afFqZieSz\\\\\\n\",\n       \"Efoyr7SN0OVe8X1KtZVUGfmCvqUKq1ajNKoNZF+V1atWvWkVli8Py0dgIQML2/hcgAkpEFmwFSLU\\\\\\n\",\n       \"Xd8TEy6ZA5IJzpRqET9Tt/+MMtTdt8wXz/tBwHZRthDOzlLCy542lMSVtA1i+x3LZxx5xfj4Ketd\\\\\\n\",\n       \"G738jtUFq6Fs57/JySsGn3fr8hl6hiKwpBKLySvX1mhbtLsM6JftLvp815FXWXi7PzNu0FaIz759\\\\\\n\",\n       \"UKokUfR77CO55FujfxNGUWfp35Oy7/S9aQaDwWAwGAx7CfIP3/lcw7CoYQSWwTBvaAKLSggrH0FV\\\\\\n\",\n       \"ln+jo62hM9LH6POkqiOjCnTOVdmgW9vZMFiP4tjNtOfsZTygh6SHB/tgbUD6wD+Vk1lOmdNqOXJD\\\\\\n\",\n       \"1oKuLUlsIEcJAfBluhFJaEgLoi/Ye6DwTIbM3mg7GQqIDB3mLraxrSyJYmoXnZOldavrWc5WKIkP\\\\\\n\",\n       \"mVnmAxRWktgCoLLCcQhxB4EF5Z1UZfF61oQxhZTbCDHbpMw3w02yYgk3i7ritmYCiy2jub1QvwFY\\\\\\n\",\n       \"luosqQ269M5VlIQp/d+clPpYTmK9IiexJGEpySvG79+yhv7Pnat6bT8w2yRXQFk7yyB3vZ/buV6n\\\\\\n\",\n       \"JOirr6rISh9p2c++kuSVtv5qcqlqm++YsnVtSRxGchkMBoPBYDAYDPsufFOdGQyGUvgyauaCsgFk\\\\\\n\",\n       \"2bGDtsDqIgfHXaeG0QNqaXnShW1w7BBrNrPjeLlDMaUY3EvLFZa1/Y6Xp6Z6tqxgcpLiKHJkQiO3\\\\\\n\",\n       \"8DUqCu8fG3JMQxxTy5dxXr3kWrAPcomYuVH32Sv8PPwc2Mfr8tlzIqRNNWq2goE643Ve1nZCXz6W\\\\\\n\",\n       \"zlECsTRKke3pu6bvHN7O98b3iHvle5+dDajZDFxbD9gleRltzHUi21yWvL5YrYd6RpuXtQs+cdz/\\\\\\n\",\n       \"uWM1/e4ta3pvAJNZnzthY6Hd//aEjfSXgrx68y1r6PV3rB7oQ/jkvue7z147++yE+XOnXBoNVy9c\\\\\\n\",\n       \"T7L+pGXUV8+azOJ3sagvlJZB37rPFlz1WzHsd2Zv/9YZDAaDwWAwjA62Dy5EmSs+/OEP09FHH01j\\\\\\n\",\n       \"Y2P05Cc/ma699trSY6+66ip6+tOfTgcddJArz3rWsyqPNyw8TIFlOMAh7X6+fbvjqNbKKx983ylJ\\\\\\n\",\n       \"Khl9rdUUZeRVR9gWs21pyjlYibM/cYH6BkocDMihxOHBN69j8rXMQRVQQCGNg8iARIiXpWSITwb4\\\\\\n\",\n       \"S3g7K1/SNFNItVoUNJuFLCRkV2lTVZlRUmKYhRDLvbyrnMwIxsczlRFIKklc8DOB2JDqLEF4OFKj\\\\\\n\",\n       \"Vqd2M3LEjyQysKwJJa5TEFw+skmSUXIGQlgJGVyVXLTFEJ84plc/QfadsB5CccXHMKfD9yqX6/WA\\\\\\n\",\n       \"gkZMUSNwVjtYQHs3hi/juuFPTIGIaRD5QqzE4u1xTLXZWXcNfhS4HLmHJnmbYBnraOvX3LHarf9F\\\\\\n\",\n       \"TlJ96JT1bv2371hNHz9hI31AkFd/mJNXUnUl2z1kiyh34iVL+sQUyDdJYKHdJVmZLzfbYa+dUUBQ\\\\\\n\",\n       \"lrVtMfMsC2/nd9H/zvpyr+S77lNYlr0dPtWVD3P9607bEDV2N5/LYDAYDAaDQfyZMd8/J+Z4/he+\\\\\\n\",\n       \"8AW67LLL6KMf/agjrz7wgQ/QxRdfTLfffjutXp3lsUp84xvfoJe+9KV07rnnOsLrve99Lz372c+m\\\\\\n\",\n       \"H//4x7R27Vpryr0AI7AMhspfulHIqN05Xg8Iy1RZevDqy67RCo2iEisjsaJCxpK0FEqliM9CiJnq\\\\\\n\",\n       \"6vUahWwllLMQwlqG4G9GHuLeIzlyrxwTGyFbCnk5SQoB7ZKA0sNz33BcBoTLWQilhRDbHHkVBC7z\\\\\\n\",\n       \"igkNd5/4BFkhP3UGls7D4kykNKJ2J/CqrMoC3LXlTNe/bhuQUsJ92avSQk/JZyLMeSN3LWRlgahE\\\\\\n\",\n       \"cDtC3LnoWQmzUHdu5yjLPJN5Z1wnILJgFeUvxoNhKsScxAz4otzWzOwIhg25V3IGSqkZxKP+Pzkp\\\\\\n\",\n       \"9Wc5WcVk1idO2ETbOWQ+x7pb1tDv5cfprLOQ2zqOM6ISxKtUWcnisxLCOhjVqN3qZ5xJdVWZlVDm\\\\\\n\",\n       \"m6GNM/JKvpuSiBr1/fb9Vvi2j/qX2+6SWAtxLYPBYDAYDIbHHn/+539Or371q+k3fuM33DoTWf/1\\\\\\n\",\n       \"X/9Fn/zkJ2ndunUDx3/uc58rrH/84x+nf/qnf6Krr76aXvGKV+y1+z6QYQSWwfCYAYPYSHyWHVdW\\\\\\n\",\n       \"fHSP1DNlqqwkiQYG3VBgyRnpeOyObVCW8Jg+jkPqjtUoqHEWVs6wOH9hlnfUG72DXeFlKQniY1j9\\\\\\n\",\n       \"xFbCnTuzuRNZrTNEgaWfHpCZSHoWQhBXkthgMiOEbVCrbEBulJEcgtRiO1lab7hZB6VNEMW3rSwr\\\\\\n\",\n       \"yUd+QPAkVVgAiCxkYGEbiC7+xKyCILDwPRBIcRVgH5R2vMzbeZ2XYya4csKKicYeOQkFFmRiuAEo\\\\\\n\",\n       \"sEQ7u7YGqdhuU8gzFYo2RhtJ85zu2b+bk1PvzUksSV69VZFXhbbmfDPYBtHOWnGl1XaynXNSK601\\\\\\n\",\n       \"qBvWC7ZQKK1ke2siS6vqsvbBuyh7etk7XFbKoNVaBoPBYDAYDPsfODuXy3yvwdi+fXthe6PRcEWi\\\\\\n\",\n       \"1WrR9ddfT5dffnlvG/8dybbA7373uyN93/T0NLXbbVqxYsW87tswOozAMhh2G6NaDDHAhL4oVa9e\\\\\\n\",\n       \"tzdrYH94j+E+NCugA3RmTkftw3pxYMyDbVjQfMobaSFkXgokSEZe5cRGTDQ5MUFhLd8Ay2BuE+wx\\\\\\n\",\n       \"KJj+jpf5AryOi+Uql3B2lsJmk+LZ2YKJqspCqGsbtaSthD0igxVffA9SXQPyAqobtpaBvOBlLiA9\\\\\\n\",\n       \"eBkkR56b1I0b1O7GtGsXsqOyT18BmaUzsSTpIUPfpfIKJJb+NxyuPRnQLi2Fsil04Lu0IKLZwDuh\\\\\\n\",\n       \"fXvNyBbA+ngWfg7iSl5Ati3vh+eU19HOeacKWi2nxHIzFHa7lKRpj8rx0TayzS+7YzV99IRNtE2Q\\\\\\n\",\n       \"V8taEb35jtW9tpbW0YKCTtpAuc1l2yIHS2ediYysJK7TzLS/naVVtCzrTJbBHo13V7/LPgpXv/Na\\\\\\n\",\n       \"yYXfEAkfQVaFuaq3DIY+/uWOm2npkv0zUvXiw854rG/BYDAYDMAof7IMQ37+EUccUdj8jne8g975\\\\\\n\",\n       \"zncWtm3evJm63S4dcsghhe28ftttt430dX/4h39Ihx12mCO9DHsHRmAZDHOGzqiShJH8Ix6DQTnz\\\\\\n\",\n       \"oNwn7YZl6/K6mtrBNp+ioyMSgbqUpl3qdkNqt0M3oGaOgTkIkFawmcExhn3Ix8oIDs7QCikNIqrx\\\\\\n\",\n       \"QTz4h0wILAzAyyIXKfu16ZMcAS/ndryIFTrdrpupMGKCQ1nLdG2iRknNQthbjiJHXPFngPvEg0kl\\\\\\n\",\n       \"jrSWaZuZUuak4+MZeZVGLrgdQd4gqlB8BJVWtPnsaBCySfVVGYEFDklySyCewBUCWAffCH4RqitJ\\\\\\n\",\n       \"TnLJzsmej+rcCRoUj+eyItcIuW0QDCdYN1wYJCakYHzPsCNyu3AOGiu7ul2K87bW6U+yrf/ihI0F\\\\\\n\",\n       \"8orB6x88YSP9IZNY3Mbcn/iTv0POHgmiEstMTElCq8xSWK9TO42p1QwLhJVsX12k+k62LefPZfZB\\\\\\n\",\n       \"rYqUtJ2embAs467KZqh/M/RvjT4W8FHECxFAYTAYDAaDwfDY4YEHHqClS5f21rX6aiFw5ZVX0uc/\\\\\\n\",\n       \"/3mXi8V5WIa9AyOwDIYFy7aSJJQkr4YdX7bs06WUHYNBsiS6iuvdbjCQxSTtTzpgnPkAEC99ciug\\\\\\n\",\n       \"sB5S5KyEjSzo20dgIRcJJIf7tclZEqnYYVIjZ3VSzsZCDH2aurws/sTTSqBWXa5WTpQ4xVUQZOSY\\\\\\n\",\n       \"zG8CgcX/cPmCumUGlrYO5jPRUWOMuhRTuxMOEBY+yyCUVXqmQW01k8orkFgoHPztA+dUgazi4/hx\\\\\\n\",\n       \"QVqBnJIKLHBLUNyVKfH6RCXshBGFvL/B9dDKJNmwi4KUxI2DKUMgl0yTR7tz2zDRxHbCvH+wGosL\\\\\\n\",\n       \"I1Ht/WcnbKR3icD25a2ItuZk1ttPWU9RGNDl9x7Rb2+dXSYJLD2TZIlV1FlEa3XqdMMCUamtg2Uz\\\\\\n\",\n       \"Seq8s6wN5ftYNvNgWdbVMEuhJpuq/tty2LlV5xkMBoPBYDDsPxZCJq8kgeXDypUrXezEhg0bCtt5\\\\\\n\",\n       \"fc2a/qzYPvzZn/2ZI7D+53/+h0477bR53bNhbjACy2BYEPJKH09zCHOHmkoOdn3nyoEvLIY6SQh6\\\\\\n\",\n       \"JLnOxFLHEVi83spDqWWYNwQz4AJ4GZlYIEDACYVhTDEHfU9MUAo1lQ5hArMCmQ9/Ygo3TI8HBiUP\\\\\\n\",\n       \"3nJWM4S/IzA8J7/cUFv8g+ZIKzAx8gbBtMkQcgR187qYXc4VrcrBem4hdOTV2BgljXGa2dFXXbGF\\\\\\n\",\n       \"UM5KNz3dJzp4Pwgu7PfNPuhXYKUi/8pHMAQFwROTWSC80AyupwjRmya05PFoKijuAPCMyVhE8ZIx\\\\\\n\",\n       \"CjudrK1xAXQWXBjtLDsRLgoWlNsif2hHYHF7dzquSNkZK/GuPH6DI6mAK368htbdcQhd+fhNdPnJ\\\\\\n\",\n       \"D7ltbz35YQrHx2ndhhP6bS2D2HXbynaHXRBWUdHW3ahBzWaRvJJtjaKVWYPEFs8+CDWkzL/Siiwf\\\\\\n\",\n       \"oSW3l/1mSPXUXPKvducPQyOxDAaDwWAw7GEshAh8DufX63U666yzXAD7JZdc4rYlSeLWX/e615We\\\\\\n\",\n       \"96d/+qf0nve8h7785S/T2WefPc8bNswVRmAZDA6S/NkTkPlWiC3HvHmkQtylRVGqqCQx1dMqqQEt\\\\\\n\",\n       \"9nVEQlC7ZydMUyavYjfwBvfAY30oeMD79H4g8l8IWNbAX/C5U5yHFURZYDZUViAupB8R/kSQC0gM\\\\\\n\",\n       \"R0CUHPWDwNLT8bHtTFcpCBOwOVD6gMzQBBaIDSiykH+E/TonaXIysw5GDZrZlZFWIC24YF1mXsl8\\\\\\n\",\n       \"JGkz1PlIvgysrF5hOUOf8SEjsZIkdLNLQoklZytE24pJIB3ksZp3ZOA43ofqZ0vh+NgkRbW4N7tg\\\\\\n\",\n       \"r24l04lMLJCSqGNUBtdrNXvnrv3ew+6mtxzXJ6/+5K5jaN2WY4hWBrRu6yFE90/R5Ufe4fZdfszd\\\\\\n\",\n       \"RFNLaN2O07PvlRZCOcugDu9HFhoITc68qo9REjdo566MkARRiXbeuTMrsg/4SK1MrcVEpLQM8jso\\\\\\n\",\n       \"1zV5pdWUPvugLx8LvxcSvlkO9xTwPQaDwWAwGAz7Hy677DK69NJLHRF1zjnn0Ac+8AHatWtXb1ZC\\\\\\n\",\n       \"nllw7dq1dMUVV7j19773vfT2t7+d/u7v/o6OPvpoWr8++5t1amrKFcOehxFYBsOCoMw6iEGpzsby\\\\\\n\",\n       \"ZV2V2YdkCLxvoCvD3nUBAZYNfvl/FcAZMO8ALgEcE8QyIKtgH9TkFlv3OBNrjGf3a4xRMJFPoQdA\\\\\\n\",\n       \"pSPlP/gSeNb4y/ApGR0wJwiC4tkKJTsDQO0lCSwogUBgwUImFVhQ4UCZg+BvkXuV5p8dqrncMKm4\\\\\\n\",\n       \"QdEzD/qC2n2zDmJ7PyeJyQ4uOhGqCkxGwnIXUqfDtsI8cyp3bkqRGi/jHgAE+0MQB7WWVmNlnGRI\\\\\\n\",\n       \"tbBGtfGsbd03wR4qw/vRzlxBsq1BLkovnvTa5QTWlatvp8sPu6f33Vf87ERa9+jjiKbyBwnDjKza\\\\\\n\",\n       \"OEaXr77JHXP5qh+5tlrXeUrWlmh3PbOgVGBJQouVhGwRDWJqtsIeeaXD2yX3prPMJB+Hz2L2VdkU\\\\\\n\",\n       \"BT5roc8e7MvAKvvtkPt6L6TqP/o6BoPBYDAYDI8x5ExE87nGHPDiF7+YNm3a5EgpJqPOOOMM+tKX\\\\\\n\",\n       \"vtQLdr///vvdzITARz7yETd74Yte9KKhIfGGPQMjsAyGeUMTUmXB7b7z9KdclkHtkqDS+0I1A+Hg\\\\\\n\",\n       \"LIRyf6eTukE2K2t0iLsmMqS9kAfzUp3liI3JGgVxSNH4hPsHgwO1ByRbDElkQJ2FL5ZMD5gAmbUk\\\\\\n\",\n       \"U8oByc5I1gUkFgqUQCggqXgZVjJpK2Pyyql0Jqgbj1GrGXjJK0li+bKwfPlIWniUbcvIq377aNKy\\\\\\n\",\n       \"LP0LfY5JydipsTKOL/BOCslA1aP65MyUMsQdLsBCO7PwqsFkZUTReEacMYnZk33JL5JtjbAt2S6+\\\\\\n\",\n       \"0Khul96/5Ba6fOWtve+9YuNptG7nyURLFBsXx7SudQ7RjnG6fMn33bGXT32Pat0pelPjmcXsMzkr\\\\\\n\",\n       \"ITKxRFB/r61rdWq3ogJhhTbWxKQsWkmXPVKaK9l8FkGpptKB7r7Psn2+34sq3X3Vb42vnxkMBoPB\\\\\\n\",\n       \"YDDsXQQcpTrPP0l253y2C5ZZBjmgXeLee+/d3VszLBCMwDIYdgs+ZZXvmLlkYck8G1y3jMTCsiQ7\\\\\\n\",\n       \"+HWWZIicq0+SWy1qNms9xQ54Bilmcnedr8sZ7rhAGAWb2dhYSJMTExQhQF2SVMwA8CfLWrSVTFoI\\\\\\n\",\n       \"fQSWtBC6qkgGQ8JxU5g6UYZ18X1oAkvOTsfrLPXFMnKR6g1K6g3atbOvwNmxo59zBTsZyA3YzPB4\\\\\\n\",\n       \"UOvg8fCI2NdXZDERJO1eeiY63S8C1aawkWaEZZIE1GrFvYx82AH7mVo9N2YvRws8IaoYofIMWf2Y\\\\\\n\",\n       \"fJDXp6bGs/+JktNVcptiykomh7DMdSuZPd7ua+dWi84Oj6KJ9Ec0HXToip1PoXXpE4lWBIMdMi/r\\\\\\n\",\n       \"4otYsE2X09U0QTU6e+oEoqmDigSWbFupvMvzsZzyqjZeyDSTVlFpE9WW0bJMrFaLK7Mtsq86ykrY\\\\\\n\",\n       \"KbEGltkHfX3C1z/m8htTBrMDGgwGg8FgMBj2XRiBZTCMhLmQUVXX0EHr2lpYRl6RCnrH+Zj5T693\\\\\\n\",\n       \"VN6WmCGQIpedxLazdjsLdGc+QRNYktySQhuIonh7RsZkdTLeaFA8HlGEbCoQRlDjeMK8ewFRksAS\\\\\\n\",\n       \"1sHesk+Bpe2DgtwozEIoCwgMSWDluUku7yoeo3YaUXNHUCAymLzidZBQsJlJkkqrczSBJRVZrLrK\\\\\\n\",\n       \"yCuQGdpCNhcCC/lpbCvkaowcOQnSEZMHAqhO2ZZQ2aG6cR7ILFgQM6siUaNeoxoH+aPu8bDwI8LC\\\\\\n\",\n       \"Kb2WWqImraKdDp2fLKf/7k7RdfQQvanxZCLMdiz9kGjvfHld/Zeo1l5CZzeOofMnn5CRVnJGQh3e\\\\\\n\",\n       \"Dzvp5CR1aw3qUEwz00GPkJREFQgstDv6gc9K2heUIbi9m5NVIKy6FRlY+F2QxJa0DMrMK519pVVU\\\\\\n\",\n       \"mgjbF9JUDQaDwWAwGPZNC6Fh/4MRWAbDyCSVtAoO26+P9WVj4VOrr3zWIOxD8QW4S8JLZ2TJLCwe\\\\\\n\",\n       \"KLPtjAfcccEmCJeXnqHQ/VjE2eAdIigdAh6GESWYgG6CssBvGbQuvYogMrCckxgFYkMEe/dYlzIL\\\\\\n\",\n       \"oSSwfDZCEFogsFTQd1qvUzeqUyuJXA6SnllQz0Ync69krFPZjHRQXGWuSORd+Wai0+RDGYEF9Z/s\\\\\\n\",\n       \"P9mkABlZlRFcmbIuO0c6OtEkqEbknmEfmo2BapVKvDSNKK3zgQ2KxnPlHZ8A+ZfsRKh7EFvSPigI\\\\\\n\",\n       \"LL7x85NT6PzkZH9bS8JSXPtN8fP634m2RVuDqIRFlIlKp7rKiMp2JxrIu9LtjHWfRVSW7BE0SVWW\\\\\\n\",\n       \"ceVTXPlyr3Q/8NkJh2Vh+X6nqvaXHevbZ38kGgwGg8FgWBgEHKE7z/9/m+/5hn0fRmAZDAuistLZ\\\\\\n\",\n       \"VyAUAK220ufK/b6MKz1whcIKaiwMkkFySPIKxBVUO5k6pNutOTIlU1kFPeJCZiHxgN7dfa7KkbFH\\\\\\n\",\n       \"IDxAaDEajYhoPKRwksmjLLQ7kHZCEA0Y9UONxSQGyCsQG3L6PAbkQAzNxIAwgbVNBof7FFi1GqVO\\\\\\n\",\n       \"pZPlJCVRjVrtkKbVLIMgpHyh3nKfzMPSmUkZuZGRV+22zCPzZSD5yAkJnXEm+0b/nCSJXC5WFjqZ\\\\\\n\",\n       \"2QshZAI3BO4PkNlZum1hHeUCpVa3GxJN1KgxFlPI9R1mpFIAkgp1jsrg+paJ9phxUrY9bs7X1gyd\\\\\\n\",\n       \"NK8tq9oyKhR3KT7rY055ODMb9Cygsm2ZuJRB7joPS6vssuXUfWbB7Vpx5SMqywhMnO/LvCojrLQS\\\\\\n\",\n       \"SyOpWJ8PAWUElsFgMBgMBoNh78IILINhXgCBVKXamispxgPaSBETkpjC9eQ+3AsG/vKeZFaSXM/4\\\\\\n\",\n       \"gtnZ2gARpbOQEFcETgnresY95gx4wD81FVC9Pk7xRINqTBzwRmQjwTaYZx8NWAi1fRBFQ4e4+zKw\\\\\\n\",\n       \"NIEF1ZU7pkGdgBVoATUFYQHFjSQukJGE25fkFvaBp/FlYGWEjyQnfASWXEZ7+hCqdowLbSrz2ZrN\\\\\\n\",\n       \"mDqdsKCgAhHlviGRs+b1BVI4Ts6qx82IZuur0oIsaqpep/pEjWJeaeUdQrJ82jroyzqbS1vL7DMZ\\\\\\n\",\n       \"3i/XkYHFZCXPKBnWqZOE1NpJtDNvPy7SHsrPxHlnuHXezvvR7mw1RPtqcitNpWWwpTKwZGmPoNDC\\\\\\n\",\n       \"OpWotATBtyBkk5FRBoPBYDAYHmOYhdAwAozAMhj2ehaWzLTSyzoTS2ZegbTCp1RVBUMUWDrUvd1b\\\\\\n\",\n       \"ZiVNu53lZUGl4/bk1jKpwJIqHeYIpMuPkZEd2QWcGKYWUjeuUY1VWfVOps5BwrhU4oAlkwSWvLjP\\\\\\n\",\n       \"zy5thDL/CmSGh8Biq2Bab1CXIup0Q2oyedXMcsA0SQVyQuZeSZWVJK1A4kllTvY4nIkkLYNSnaMz\\\\\\n\",\n       \"j+QshOgnPgWW7IM6H01bCrkas3ysVosVWUUFFtoWQjaZdQYSC9vEhIEFoRznbbmm7DCRFVEcj1EU\\\\\\n\",\n       \"1yiEMk767WS74wJytkltFZVtLS2EksCC+k4r73JraBLG1E4i9/ytdl91JQlI2EWlok6Gs2tlnSQ4\\\\\\n\",\n       \"WVXXz70CQdX1hLiXqbDke64D3bXKaljm1ULlX5k10GAwGAwGw17GQvx/mv0Js+hhBJbB4P3l3BM5\\\\\\n\",\n       \"WHKb/B5f5pXOufLZhnzqLGkphP2OrxOVZGJ1KE1DRzoFQerUSHBpIVpKZyExYDeUgpm+tay/3KkH\\\\\\n\",\n       \"lIzFlDZiiuPI5WRxoW6HApAYksCSVjI9C6GGDveWOVggNfIcLEdcRTVK4piSsEbtDhM6fTUNlDiS\\\\\\n\",\n       \"xNDWQJl9JYksLTLqi41SV4rkhs9eBvWVtoOlIxBYICPj/NwsB0ueK8PY2SqK2SelTRD2UDnbpAzr\\\\\\n\",\n       \"h3VUNsUgucXXjpyNNOV2rnMGV0xBrU0B1FFSbaeZMF9Yv25vtK+0jkoCK44pdesxJTUmr2rU4VD+\\\\\\n\",\n       \"drEtJRkJu6BsT5195rOH9q2hMpC/zDJYZSX0lbL3vir7SvcZy78yGAwGg8FgMCwuGIFlMAwA5NF8\\\\\\n\",\n       \"s7D0dYbZDeU1tLJGWgXl9aWVKBLrWMb3gdjANeWshAF1uxz+nc0wl6lveNvgLHZypjrYCVFgKWQe\\\\\\n\",\n       \"AZYz2M544F+rxVSvxzQ+NUZh0qGUA69FynmAi2gCq0yV47OV5aRGKtVYHNDOMy+mrMIpkhDS5aYJ\\\\\\n\",\n       \"KraSScUNK3XwLFqdpa+JzKtuVxIbsI5Jm1i7QklTBZBXkgTV/aOo5ul2Y2cpZEUYZhOUXJJ2bUqr\\\\\\n\",\n       \"oeQXsS7z2OHORPvX6yE1Gg2q1xsUNVzt9xVY3S4FMvdqFLuoJColgRWGOWElFFg8mUAYZ+SkmAFS\\\\\\n\",\n       \"hrNL4hJqLK288wX587HZeWlOiIG8apfMOiitopKwlESWJrakhVD3h1H7B1Uotnz75gJ5HYPBYDAY\\\\\\n\",\n       \"DIaFQZCmrsz3GobFDSOwDIZ5o585VL1fzyKHgSjUUZKAwLXkQFHmHIGckueBlAqEogeQgfIAvj8j\\\\\\n\",\n       \"2dKUFVg1iqJsJjtYyyTJwZDxRbydB/eTk9k6JpqT6hZEEcHZl2W5RxSFEdVqNYqXjFNIKd9BX401\\\\\\n\",\n       \"igLLVdMggcWEBl+ty9a2bkDt2cwiKGcFlMQU7H9ScSXJLWkvLCO+5D5eZstgFujd8hAZyYgB7lWQ\\\\\\n\",\n       \"uWaZ/bPfH/hnPbMN9vtaptDKeCJW3GX9QVex5AxBTKHtkcPO+2RGOh+HyR77BFafT6rVwrzEFNdT\\\\\\n\",\n       \"ioK8rcsIrNJH9iiwWFnHMy8S2xgDajcz4rXT7UetoY9i3ddefWKq2NYgsGTpk6BMXsn2bQkCC5++\\\\\\n\",\n       \"IokruS7VWvIdlQXtWZaL5SOthvUlI6MMBoPBYDDsA7AMLMMIMALLYNgtjGol1JlZ2h5YdgwJckrb\\\\\\n\",\n       \"BknZC+X1dJC7zFciRXCRysfiAXlArVacExpBjytwa2I2OgS+g3uAMksGgkOlAzIEbi/eXqtl167X\\\\\\n\",\n       \"M8tiFKYUcgnqFEbZc4UxK6+y+gg9VZ04t1lAzhEXhJSkYcZ/tCNHZnSTjMyQ8UsyS9w3YyBIDizr\\\\\\n\",\n       \"MHZ5nLYS9jOvpJrGR1rI5TKCQpIYun+QCPlHG4aePiXthLhO6Gx+rMJqtbL9MrxfckjaHsptKblF\\\\\\n\",\n       \"tDMILRCdmsjits4chFmbc1vHMZ9IFAa1rJ2jhAJ3H+Vt7Z6F+1xO1iVBQEmbZ1vM2hrti/vI8qn6\\\\\\n\",\n       \"pGUZASnbU2ZelVtH2RrKBGWZwkqqrzolWWdSbeWzBZbZCWUfoQrboCZBh1kLJex/Lg0Gg8FgMBgM\\\\\\n\",\n       \"+yaMwDIY5oy55mCROj4d8RqkFFa+nCyZeaUtZKkYMEt7oVTvwF6I62Z5WExygLACyQEySxIbIDMk\\\\\\n\",\n       \"qYF1ZHWD2JIxSMja7kcYcV4Sz1yYBY2jyJgrDXwPHIZQD4G0ArkGUg3qG58SS5JUPgJLhrZjWRIj\\\\\\n\",\n       \"s7OZZZCtg4MWMklYYFnbxOSsc5pskKSlL18NGWeyX0kCI/Tsi1xwfz8fK7sW6hN5WLKdQQzhHG43\\\\\\n\",\n       \"1LG0kkqyktV3cpLATCgX5GRWNjsi+lUohFUaMh5LOg11O8u2RvtoAktPkCjJSVgIdb8AcZVtQ65Z\\\\\\n\",\n       \"mbpqWLuX2QY1YaXfeV+Qe9lvhz7Gp8wadg2DwWAwGAyGvYiFSCmwP2EWPYzAMhi8ADEUzvGcquN9\\\\\\n\",\n       \"ZJa2EfoshaEIXcenJCNwbam2gbIqLSE4JKmB++j/i8ED9OnpmsvGkjYzqFxgJeN1JiYw2JdWMtgG\\\\\\n\",\n       \"mRBgq5kkrAZii4QLEPvcU+QkllyWxIrMaxqF2OAirWUgqzQxheOgrNK2syznCuenrmSKHC4tRVy0\\\\\\n\",\n       \"RNtqRY62EY5KYEk7KsjJSPQdtC+OlYouHMvPwGqsvhKLnwnh/NJCqNudl/k41BsysNC2+SSArp6K\\\\\\n\",\n       \"RGV/8kBfhBmISl9by2WZuyYtj3qiQ7Ql2k7aCXXbSuJS7+srsVJlE2yJZZl/5SO0JFHp2ybJTJ8K\\\\\\n\",\n       \"q8oyiGXaw/bBUfO3DAaDwWAwGOYGy8AyjAIjsAyG3YIcxPmUVOkQcksHvFcBx/oshFBXyYwtkFy4\\\\\\n\",\n       \"D6m+AqHVVtfS98w/Df9/e+cBbFV5teF170VQFGyIShMk2BUVArGNGoloHCckRhkrlpDoiIJgATWW\\\\\\n\",\n       \"X0dMLMEWURPLaByNMZqo2GtUbFjGhsaCOlGKiQXN/1Pu2f+sfVz3rrtY3977lHtPe5+Zw919f3uv\\\\\\n\",\n       \"j3POfs+71hfR8uXd47l8kff2dDHtuhInDr94WlxXImjxK1/EvT2tTAYM1M4cGdlQBA3rxhEhK25p\\\\\\n\",\n       \"1FHU8IqPy4vPres4hdLMtENHXDp6ncxrV1a+WHurEq9EzLDpZFbIkNiFBAqJh46JLsof3xEnbVBq\\\\\\n\",\n       \"YGnxQ4QtibmIXPk4c60uTifM5fKplxwf7ajzYitxlfsjtc1EqOSXCFsSZxa4xHElLy1gpcU63w/b\\\\\\n\",\n       \"2yYCqsyLWCXt1umi9q+NrRUnV3Xl8f+FSAlWtuaVF3svddSOPmlTSkMphFpoigr86TLk6vL2TTs+\\\\\\n\",\n       \"AAAAAAAAlQMCFugUli1bRqNHj6bXXnuNXnnlFdp+++1r9E4npfp562z6oJ7WQoOXUqjn7Tpb58oK\\\\\\n\",\n       \"W7rou00p1DWvyFmnc7Y6us44lTCfUpivsaRTCMUhI6KCTTMTdxa/ZFpEAxE5vhs0sE3IEAFLDTLX\\\\\\n\",\n       \"QcwIpZZpIcOOkCjnFAEr5MYSUcoTsHSdKxE9Vq7kougR5XLeSINWtLIpY9p14wkWth9otDNP+oee\\\\\\n\",\n       \"FtHSE8L0Nu19LH+/OM4sVObj355e2DG21gEl4pY4tyS2NtZ6WgtXIlyGUkXb+2LHQSolxtIGibF2\\\\\\n\",\n       \"jOnaZ7Yelo6lxFbXvGp3bnGcueZVlCFt0MZZu+ysUKWFplA/sKmDXhxDKYc29rZPef0rTRwDAAAA\\\\\\n\",\n       \"AOgk4q8tJX7fwNeVugcCFugUTj31VOrXr18sYNUuWgwoZB9KEb3IEbJ0yqInSOlUP1vAXRdr1+e2\\\\\\n\",\n       \"heNtIXfBqgYdUxE5xYyFGnZhMXGB9O+EDREOxPkiKYTifOJ5GalO10LSNbDMoHJtWFeOezcDDiwt\\\\\\n\",\n       \"YFkxSzuwJBVQ18iSaZ1K1r4uapvOjzKYC6SOrUwo4q5FDJsGpvuITvvT6Jpl2nklYqQIHlrw9AQR\\\\\\n\",\n       \"IT/PxdDzIxTm45wXg9pTC8U9l+8DHUeilNiKmCWxtKKVnrYOrDSxUtokfY+xg1baGlg2tp5Y6aUX\\\\\\n\",\n       \"5gWvKJ7OF+XXaX86hbA1IFzKOpsiasUtK2JqQUqvb49Tx21DKX1p396ypBdaSi1KAQAAAACQAEYh\\\\\\n\",\n       \"BBmAgAXKzv33308PPfQQ3XnnnfF0fVOIYGXraolooQUJXQdJRpYLbaMdWIJNU9Rtaw4IH7Itn2M1\\\\\\n\",\n       \"NS8vfpvoFgsE337brS0djMUKEamk7pVOE5T6ViwQSNogv6T+kbivRKgSR5Yt3p7mwBLRKr6yqN2J\\\\\\n\",\n       \"o+thiZChRQ4rYFmXjk1B4+vICyg5p85VkitH4qzdOLkEAcumi+k+pOueSTxltEEtimqhU/5KmySl\\\\\\n\",\n       \"VF465TA/SuH//m93Wr68OY6JiFcysqD89WIrtbG0OGnjrmMvsbU1sDx0wX4tXEpcJbYSex33tNiK\\\\\\n\",\n       \"mKVrn+VdfVqw8qa1UCUpmrYfyDI7OqVNLww58chZ74lXVvBMSkdd5e7iJ0sAAAAAAFD1QMACZWXR\\\\\\n\",\n       \"okU0ceJEuvvuu6lnz54NenfTRC27jXZcJQlhOpVQOzPIqYElx7JtWWnmuxnnjx3xsGN7OY2qtbWZ\\\\\\n\",\n       \"/u//8vW7unVr6lBMW6friTNHRA9xXbE4IKKVFrNsXSQRsQRxY3mFvfVf3R49Op4WOGRaCxc65UwL\\\\\\n\",\n       \"Hfnp/MhzedeVdt9Yl5UIHLogt00nCwkRnnBBjmCll+t+YwUrvZ8IlFq49NLR2gXRXK5bPFIh18ay\\\\\\n\",\n       \"QpGOraSHWgeWFihFxNIipU4btGKlntaOKzsSoS3kLo4sHXsd3zQ3FjvseETJXM6LtXZeeWKl7QtJ\\\\\\n\",\n       \"gpV1ZXnila1d5aGdmd7/29A+8NcDAAAAoMqQ3/pLPQaoayBggbLB4saRRx5Jxx57LI0cOZIWLFiQ\\\\\\n\",\n       \"uV4Wv4Svv/66yqKihZ2s20QFpBHq7SNnWtZbUSI0L6KYdmTYulxNCemEyUXpWdDIu6843SyfZsZI\\\\\\n\",\n       \"CqGukyQOHql/pYu3819Z5qWS2fRBPa8dV9qVI0KGLeSuxQy9TJw2Mi0CiMxzGhm/WNjw08VCooVO\\\\\\n\",\n       \"EdSilexDGWpgdbzvq4oOuo9o8UqOLbG0Li4tZuk+qPuR3NN8rPO1sfIvuc8cD52uqUcv1AKWFq6s\\\\\\n\",\n       \"UCnpo1bA8mKt573UUR1fXczdphTaVNF2Jx6LlBxrLTx6LqtQvJNErZB4ZdMFQ/P6JX3BEyDtOg9f\\\\\\n\",\n       \"nE4GghcAAAAAOheMQgiyAAELpDJ9+nT6zW9+k7jN22+/HacNLl26lGbMmFHQXZ05cyade+65VRwJ\\\\\\n\",\n       \"LQYUm0aoRYbIjBxot7XOGZ0mqKftOu3C6KbSD/V5RLjQ7bLzkjYoyMN59w6phitWsEOnJRYbZHTC\\\\\\n\",\n       \"FSvYldWxLpKteSXuG+vCEkEjvpPfCRpJNbBEuJJpETZ0YW/tDJMi7tqdJQ6rjgXeWcQQMYtHGBTh\\\\\\n\",\n       \"QVLEvILdWYt5hxxXVrDIgnbvSf/U0zqW0k90P9T9zTqwtNtvNVq5klNIm2NHVntsm1Yp1C4phCJQ\\\\\\n\",\n       \"6fRC7a7TDixZruMeQgQribtNFdXipK7PZmtitacX8uiCebGSxatVhapWJ13UiljWqRV66ftqnXgh\\\\\\n\",\n       \"IbMQp57EM/4fof+npPSjtP6m35MAAAAAAACoHBCwQCrTpk2LnVVJbLrppvTYY4/R3LlzqQcXRFKw\\\\\\n\",\n       \"G+vQQw+lm266yd2XBa+pU6d2cGANHDiwDiIjbqimArZtDjyMWpeUTiFsclw48pCsHTkUcG1I2mGL\\\\\\n\",\n       \"ekvQjqEWVRy8+3fTK7+rl8XpZVwziQWtpjZ3lQgXMm+dONaRYx1Yuh6SduVo8UKnk8VXaIq463ld\\\\\\n\",\n       \"0N26rGz6Y347TiFLctho8cLWOPLWpYkTIp7o2CSh+5XExgpYMi0xllpXzWofHVvpL9IP5JVvW35E\\\\\\n\",\n       \"yny8m5ub2+LK91Pixv/1JbbcB9jpFBKwbN0rmzYqYpZ22+k4e8X7tYDlpRFq4bI9tTSiKLIF2XNK\\\\\\n\",\n       \"vAqJk+LO0nHWIw7qVFLtvsol1EFLErO8fhESsjyQOggAAACAKgZF3EEGIGCBVDbYYIP4lcbll19O\\\\\\n\",\n       \"559/ftv8p59+SmPHjqXbb7+dRo8eHdyPBS8relUfaS6rLNt4qYOCTT8MrbepQroOkohNXvqgdlCs\\\\\\n\",\n       \"dFIItdUplL4oiOjR3oZ8WhnXS+JRC/MundVWy7uxtCPLE6/0KIQ6rcwWcOd5Eava7pQjYEk6mU4p\\\\\\n\",\n       \"9AQscV3lp/PpYyxc5XIsaHiilAgSNoVQp5x5zqtQAe4k91Wa40XXvhLRUjv89LROG7Wx1NvIMbQo\\\\\\n\",\n       \"ol1c+XZyqrCMVih/W1ry4iXfX4kp329v5EGOqU4btQJWh6s0MdcpozpdVOaTRKx2IYtjLSKl1LrS\\\\\\n\",\n       \"Bdi1mOUV5dfTNvZazLJilRWytHiVlC5o4+S9P4T2SSJr6iDSBwEAAADQBUDAAhmAgAXKxqBBgzrM\\\\\\n\",\n       \"r7XWWvHfoUOH0oABA2r8TmcVsLKu18KTFbZ0aljS8XQKofwV5411bdnjrFT//e26kIClnULaqZUX\\\\\\n\",\n       \"S7jod96RFa2SaibFvCWtLOTE0YIWkzYKoRWwPPeVVwsrvx23s92Fs6oYEXJVeQ6skHgVErHICBk6\\\\\\n\",\n       \"TStLypbuS7r+ma2BJctl5EFPCLEClhYsWl23Frux2ImVd641twmTfM+bm/Nilq555rntdOwLjbUW\\\\\\n\",\n       \"rELOO50uqlND8/XMdFy0OKlTBK2I6aWHJqUL2r6R5sDLGveQm1LIlVHEgoAFAAAAAACqBwhYAHQq\\\\\\n\",\n       \"WhxISxvU24qIFSkBQU8niVP2/KTS2JqN+KSdVCJO2dSyFmdeO00kpTAvYEka2sqVLGK1UFNTtw5O\\\\\\n\",\n       \"HC6YHXLihNLKQth6SEnChhaw2p08IkjItYfEisgRsbQ4IfORmV7hpIdZAYPM35AwIbFucsRK6UNW\\\\\\n\",\n       \"yNSuKkn71CMWtqo+oWMs6ySdUOIs87pPsJDVFAtay5fnYy2x1amDIaHS1j0L9uQM6aJh5x276rSQ\\\\\\n\",\n       \"pP96qX+tGddFKamj9lxayMwiarU60xQQu5LSCdOEMQAAAACACgMHFsgABCzQaQwePDhON6ofogx1\\\\\\n\",\n       \"rUpxaoXcV56zqlABy86LUCH7y4OzTiXUD8viutLChqSWiQiixRBJS2yJ6wuxuMEj2OVHLOTC701B\\\\\\n\",\n       \"J04pDiydUqZHqsvXOcqnv+VfNp1LxAFd/8iKHFassCKVV/cqa/ogBQQsjyYnFbXVcWLpad2fpM6V\\\\\\n\",\n       \"CJoSy9XUcbRQKeKkvi8iVIoglp9nQZBTSJuaOJ2Ui7w3xdOSYqjrXBUqVnoOrLDzLn/v88KVjo0V\\\\\\n\",\n       \"JG26n1ecXccy5MCKAv0kl1G8SnNlRSkurFXuVvhGtq1P2iaUqggAAAAA0EnY3+iLPQaoayBgAVAQ\\\\\\n\",\n       \"+oGukHdYEae8/b0UQs95Y9PE9AOmvOPnnOPrelh6uaSV2eLxTcpxo2ssyTlF/JB5K4iI+NFR7Ioi\\\\\\n\",\n       \"ro+VPx5rCk1NLG6wkJUXs/hceXFD5js6cvS0FjL0Ky9Y5NuVr9VE3/0VIcOmdnlCVshl5bm0PDFi\\\\\\n\",\n       \"ZYpgFVrmCVehfiDTVtC0sfLqYkmMRJDU+9jY6v5ohTEbcxExWbRkMSsvnDU1cezZoZWPK8dXYs2x\\\\\\n\",\n       \"F0FLF3D3Yq2nJa4S67xwJeJkfn5VwciLYUisDKUEhvbTImgohdATr2z8PeHKe+m+YYUmb74QIF4B\\\\\\n\",\n       \"AAAAAIDqBAIWAAVTjMvKm9fTVkCKnBQ/LSToVDJb90ie+MVNo5fpc7Q6x5V1+gHbppbph2vturJp\\\\\\n\",\n       \"ZiKO6el8e9id0+4Kkmtsr8HkpZNxOpp133iphNkEI+2S8lxTnjPHOms8Acw7blo7dLujDD8h2b6S\\\\\\n\",\n       \"5LxKEqD0PW9xhC5pn7e/TkvULjyJd7vrKy9c6pERm1JjrV14nAKYHmsyIpF3r3VcvPRQK0CmOe/0\\\\\\n\",\n       \"et0HdB/Sy0KOK/t/ygqaHa5eTUcBR5bdL23eAucVAAAAALqepiiKX6UeA9Q3ELAA6DKXlnXLkLPO\\\\\\n\",\n       \"SxPUD5TNgbQx67rx2iLHEbFJO6+aHaFC17wSkSoXEKzEabXSOX63gHjhTefvWd6xI+367mqtkWyV\\\\\\n\",\n       \"e6OnZWNPMNICgaT/5Zx5r66V56DR2yUJWJ6YlUWA8PpK/j61C5G6blpILLLTOu6SIqpFT4m7raul\\\\\\n\",\n       \"z7fad9dr520NLj1PSrTUsW7v836sKXCfchnvdyhOXjpgSNCyf7Vo5h0/V2DaoBWvrMgZunaPkJiF\\\\\\n\",\n       \"L3YAAAAAqEJQAwtkAAIWAEWhhZ607UoZudC6rSggUOl1Sc4d/SAtIoLMa2HDikLi0BERSy+TY4pQ\\\\\\n\",\n       \"pUUvm+YWEjW0YKfbYf/ae2fvgXWlZHFAecKUFaKy1DDyxK2QOBEF2quvx07b+6Dvlxa15G+S+0qm\\\\\\n\",\n       \"JU7afaUdWeKQk3U6pVSni+r5kHCml4mtqqNwmT3WnuiXJlaGUgq1WBVaF3LbeQ4rzwlm+4/XPzyx\\\\\\n\",\n       \"uRBhs9T1aYIYqFeuuuoquuiii2jhwoU0fPhwuuKKK2jUqFGVbhYAAAAAwCpAwAKgaLI8MDYlLMuy\\\\\\n\",\n       \"3hMjsjgurEiixQ5xS2mbi00308KVvV7tAhPBQosQ8lBuXUGyb0jY0AKGFWqaMzxse84ULVxkFbA8\\\\\\n\",\n       \"B02S60qvt8fwzu/Fx7ZfrsFDu+20sGkdfDauso8WrHRcrSirha4o4NjTolWaOCk11axoVWqsrVhk\\\\\\n\",\n       \"Yyv7hwTIUGy97bz6Vp54FVpe6MvGJ0ncpALXe0C8ajRuv/12mjp1Ks2ePZtGjx5Ns2bNorFjx9I7\\\\\\n\",\n       \"77xDffv2rXTzAAAANBI5LpIblX4MUNdAwAKgy9EigXa+aNFIiw7awSQPx1o0kuNot5Og077kgVqn\\\\\\n\",\n       \"imk3jRY9vJRCcV9Z4SI0r1MIsziumhNEjCRXjr6vVsDSIgYlOG08cStUI8sTwWz9I3tMz21l53V/\\\\\\n\",\n       \"SOs/FLiHOj42pVBiLdtIiqgVoawAqVNHrQNL0g91bLUjywpVnR1rSomnJ3Qlpf5ZQStrn/BEziRx\\\\\\n\",\n       \"zWu3vnZPmLL92usjACRz6aWX0sSJE+moo46K51nIuu++++j666+n6dOn4/YBAADoOpBCCDIAAQuA\\\\\\n\",\n       \"ktD1gDzkYdOu16KU3U6LUFrIsrWOyAgBXlv0tAgPK5R4IQKFHGtlgqAlaYJW5NDilidU6RpJnvuK\\\\\\n\",\n       \"HHePYNPL7L2399qKGno6yYFl14kQFRKmQulonoCl25FLaGcW8cqi00v1PbTzskyLh9K3vLRP3T9k\\\\\\n\",\n       \"O51uaFNCs6SHeqKVdWCRcf3p2Mo16Ovx7qEXz6RpK1IVK2KuDPSPtPOHxKuQsOm5s/R9CjmvkvqW\\\\\\n\",\n       \"PhdoFJYvX07z5s2jGTNmtC1rbm6mMWPG0Ny5cyvaNgAAAAAADwhYAJRMSKSy6+02ej8RBexDphWy\\\\\\n\",\n       \"7D722PpBXzu4yDhtrJNKttOjHtp1Ng1QP3TL+a14QUYY8YQNmzroLQvdV+tM0S9ZFhKwktxS5KSL\\\\\\n\",\n       \"2f112qB3HrvMrrPt10JMVrQYJMfT91mOae+pCJIyLfuKg0qmtUtP/9X9IClN0MY9KdayPFTB3RNx\\\\\\n\",\n       \"QstsnCVOlCBg2T4g++j/A3ZffcyQOJYkkqZdi0zbe+Ct90SqkNAVuq+gkfj888+ptbWVNtxwww7L\\\\\\n\",\n       \"eX7+/PmrbL9s2bL4JXz99ddd0k4AAACNQqSHmi7+GKCugYAFQKcLWLJNKDXKc1uliVs2vVCnd2nx\\\\\\n\",\n       \"yQoUeh8rntjaSvLXrtMjzultPSeOPnZIvPJcWEnClYfnWpHl3nyhYkMW0UOf27qDvHWeg8zO67h5\\\\\\n\",\n       \"go/nnBEBSrD3266T2Om2yXYSOz2dS3DTebHW57Lz2uWXFduXQ0KQFz/ZJ0lUsiNTeqKlFbu8cyQJ\\\\\\n\",\n       \"lzpmep29xjSRKjRt71fW+wlAmJkzZ9K5556LWwQAAKBzQAohyAAELACqFnlg1g/3IixIIXYtNMh6\\\\\\n\",\n       \"nWLopRBq940WHHTqluy3MuCsCokVoW3ttG6rPq8nZNhUuEJTCO3yJFFKO2qsYyfJReOJGrqNVriw\\\\\\n\",\n       \"4oQVoeSYHt690GKQja0njNr6VHI+cUCFUgO1o06m02JOBQqVXgphyJ2m75F20+l9yila5lLqZ8k9\\\\\\n\",\n       \"TjuW3U73Bd2v0/oIAMXTp08famlpoUWLFnVYzvMbbbTRKttzqiEXfNcOrIEDByIEAAAAAOgyIGAB\\\\\\n\",\n       \"UBbkATMt5Y2c9dbhJITcWDItIpbexqt5JA++Ilxp4Uk7YLRgo9MN9bS+zpaUguD6oTvJlbPCETU0\\\\\\n\",\n       \"WVIz7TItAiQJC2nik+zjpQlaASJJ2JLz2/V6ub2OJEeNd09sKp6Xhqn7lBdf7dLS8dSxlnuj3Vuy\\\\\\n\",\n       \"rS3obvuYIP027TrsdXvzNpZCSDQKCZc21lkFLS/2tk12e9sWcgRPfZ2e00ovyxXhrLIuL9BodO/e\\\\\\n\",\n       \"nUaMGEGPPvoojRs3Ll6Wy+Xi+UmTJq2yfY8ePeIXAAAA0CnkyvC9BKMQ1j0QsAAoG574FNrOrrcu\\\\\\n\",\n       \"mVDqIJl1WjSzLixPxLIimE0vXOmMgqjbIdO6Hpas06lrelq3V4tuts0hAasQ0gQsT4CyQkKaaBES\\\\\\n\",\n       \"r+yykMPGzuu/ts2ha7QuLOu4k/tp768ITHq9HC8KpBvqdV7KoRbBdF9McteFxNxCCImEtg94gpJe\\\\\\n\",\n       \"lzRqpBWmrNClz2/7gz13qP/YdttrCa2z98HeG4hXIB12VE2YMIFGjhxJo0aNolmzZtG3337bNioh\\\\\\n\",\n       \"AAAA0GVEufyr1GOAugYCFgBlJe3BPCRy2f2syCUPpJ64pI+nnTT6gd06aKyQpdeFHDxawLIP1i0J\\\\\\n\",\n       \"rjJbk8kT2qwoVgxRAa4cwYoXlMFtQwWu08f02hMSIJLwPpz1PdT7yzLtjrKxtqJpc2BdkrvOE6x0\\\\\\n\",\n       \"O/UxvT5QKLkUAcveZ5sSmrQui4Bl42lFUGmPbqPXH0Iilb0GCohXUYHiVdZtQCMwfvx4WrJkCZ11\\\\\\n\",\n       \"1lm0cOFC2n777emBBx5YpbA7AAAAAEA1AAELgKoRuuShsjlhG10TywpZujYVOe6qZuc4+gFZO7K0\\\\\\n\",\n       \"yKFTwKxYoZ04WozQ61YG6iF5qWUyX4yo4YlBnkgQcr+IOCHLQiKGPpcnhoRSwtJEFkG3LYR3jzwx\\\\\\n\",\n       \"U5bruEibdEy8uldyHK+2le4beuRBibWOcVKs9bkKwbtHIUEoSbDyxCjPkaXPWYxwGeojSS6sXIro\\\\\\n\",\n       \"VEzaIACrwumCXsogAAAA0KWgiDvIAAQsAMqOdqqkbUcZ0gmTamLp7a2jSu8nbdJCgrTRpp/pVDPv\\\\\\n\",\n       \"3DZF0bbfOn70+fV6WSdigk2F1Of2BK2Q+yT04O8JBJ4bS8/L+pC4FXJvhVw1VmRLEhxCy7UDzi4P\\\\\\n\",\n       \"CZKh+GlxU9qmXVdyHGm7J0Bp7PmsiKVTO5udZYXG2i73xEEbkzQnnp62gpTuB1rYtOcJCae2XZ7r\\\\\\n\",\n       \"yrsmb5ss98gj5PoDAAAAAKggqIEFMgABC4BOQR4m05xEhQhU3j6yXUjMsOKDPbYVlazQ1RpwWdmC\\\\\\n\",\n       \"3fq49kHaq4cl054A4t2zkKjhLdPChOd80ss8J05I5EraJsk949XjyiomhGLt7WPdTLZvaUeentap\\\\\\n\",\n       \"p/o6dSzEWaWP6wlkck2e+8rGOypzrHXbpR06JjYOSXH0BErbf0ICpm1XSNDMsoyKFLhCZBW5AAAA\\\\\\n\",\n       \"AAAAqD4gYAHQaYgokEXE8lxYIiLIvBW19HpZJ8vt6IR2f50yJm31xCQv5UyLUNrJJce3160fmL06\\\\\\n\",\n       \"V3pb7doqFO/B3nO7WHEhLdXLCiKh44RqMek2paWFZbnGJDz3mt1PYiQxl7jqOOt9vILthcTaphB2\\\\\\n\",\n       \"dqylrfqvnvZEx5BzynNqJaWMhoQxmbZt0cvTBDm7n90uDe/4AAAAAABVAlIIQQYgYAHQqWiRIAkr\\\\\\n\",\n       \"MOn9vcLc1lmlHVc2Lc+KVLoItxYprCAhD+NadNDH0OfUwgYFRp/TKW5ZayGlCRwhASgpVS9LzSFd\\\\\\n\",\n       \"J4lSHDdZhBPPMWOPWwohJ5PuBxQQEluVoKn7gAirWmCVUSRDAqRX78rGsLNjLcvsPkmuuJAbSx/f\\\\\\n\",\n       \"E8D0vHe+kCOMMqzTf2370+6JBWmDAAAAAKhy4q81JX4nhtG87oGABUCnIw+4pYyu59W7Sko5lHl9\\\\\\n\",\n       \"7qRUI+vA8oQvOaeIHtqNpR+kPTeZLA+lRXppkN6xvHvjkZSqlyZqWLFKb+cJWFmEDNvmcopYXnpp\\\\\\n\",\n       \"KAYUKN4v7bQx8cQocSF5sbGjF8q07fuhay0m3klurCTHnCce6X29tEG9PNQHQv0s9P8vNB8SPQsF\\\\\\n\",\n       \"4hUAAAAAAKgPIGAB0CXIw2yx6YRpNbEiU2sqqWZSLsUJYx/4vVEPtZvKa1dISAldgz5POUgTsKgA\\\\\\n\",\n       \"IaqQbUNCRqgtIdLWh1JOKYNopMUnPa23t8ttrG3aoDet/6aJNqXgCYShtD1PkPRiLcuT4pxFqPL6\\\\\\n\",\n       \"nNcfLJ7AmbRNiFKEUQAAAACALgQphCADELAAqJp0QitA2HWRU2ibEtIG9XovFVEfozmDA4sCtZKa\\\\\\n\",\n       \"nOX6fLoQvNDcxQKWFiBkPqsjiwp09HjbFSJA2LZ6hOpOacHIju6np71Ye3G1fYecumh2W3t86/jS\\\\\\n\",\n       \"+3VFrKnANM9Q3ayowDpXdr+kPhESmnIlCFNwXgEAAACghsjZ2qLFHgPUMxCwAKg6Qu4lSkhFtC4Y\\\\\\n\",\n       \"mzaoi2aTSf9rCoxOp/EECn1Ob7ldpo+l570aX6ViXTIUmPdELW/fNJdVkuNLH79cIoP34WyFS71c\\\\\\n\",\n       \"72NFVBsbvZ3XB6NAHwgJofb4oXTRYvFiEIq9jV3acu9YnsBFGQStJPGKyixeAQAAAAAAUH9AwAKg\\\\\\n\",\n       \"y7EP/UnbCTZlsCllu5AIpQUrr02ynxYyklLStCChxRMrkNnjaJFOO4W8681C0gO9J07odVYASdom\\\\\\n\",\n       \"q4vGO5fXzixCRhpZYm5FUStSpaWVaheejnuoSL8+dlIqob2GrCS513Sbvftrhcss4mSW/lDoX7t/\\\\\\n\",\n       \"0vUV2jcgcAEAAACgxkAKIcgABCwAuhR5YG3JsF3WdEK7j+eKkvWe2KHFpiQhw1unj9nkuL2SUtXk\\\\\\n\",\n       \"3CEKSTMrxK1iBYmsNZTsvp7Q5R0rSzu9bbOi73Faqp4VtEJilV1n+5ZeZ9MJQ26wkKMr1I4QSfcw\\\\\\n\",\n       \"zQkX6g+yztvPc2B5olRa7JOE0aRrCB0vCdjnAQAAAFBjQMACGYCABUBF0KP4pWHFA8FL9bLbRo7A\\\\\\n\",\n       \"EAVqHGmHTMjVJfOeALLSWWbnbT0s3bbQ9RVDKDUvV8R8kmCVVQjrzDQwew7dH0KphqF42H2tg0rX\\\\\\n\",\n       \"NfMKvyfFmjKIo5WMtRUu05x6WfcLFWnPImalrfO2hXgFAAAAAADqEwhYAFSMkJMqtC0l1CSy69IE\\\\\\n\",\n       \"KDuvU8S8tDJb5yjktLJpZHKeNFEl9ICe5d5kdax4gkGaSyZUIyu0fag9SQJEOcQsGyN7vJDzjpwR\\\\\\n\",\n       \"BvX6KOWYabHWddeS9tPtSaIQd1JUQKzThKekuGcVOIsRqArpGxCuAAAAAFDD5MrwnTg+BqhnIGAB\\\\\\n\",\n       \"UDGiMtXEsscIbecJEPYB2xbZ9uoWeYXko4y1svS5s9RGSnsoT/uQyuqA0efLInwlHSd07CQxoxwC\\\\\\n\",\n       \"Vqg/ec66LIXU5ThW6KQCYy1Yl5/FE7u8NqWty+puSiqmnlQ/K3TcNEEr1P408S0L5RBBAQAAAAAq\\\\\\n\",\n       \"RxTl4lepxwD1DQQsACqOTuFLI0nssilfsn3IgeMVVJfjhEQHmfZSyOT4nsAVErzkmIUW8c5CWr2p\\\\\\n\",\n       \"JIeNPkaa8FRozaJiRx4sNI0wNLpjyAnXnCIoWcFKrj3JoecdrzNineZiSksfDG2X5MrytgnFthCh\\\\\\n\",\n       \"0ztuEkl9EAAAAAAAgPoBAhYAVYEIAeVIJ7QpYiEBQz/4emmFXqqXFdp06mFaraVQm+1odeUgVIQ9\\\\\\n\",\n       \"aZknAmQVOtJEsLTzJy1PI9QPQgKVFTGzCJdJ7fOEr1C7vCLwpSLXU2qsy1G/KnS/rMhVLjdVZ4ih\\\\\\n\",\n       \"AAAAAAAVKuJeagogHwPUNRCwAKgqQnWnLCFRym6TVIA9hJeKqPfVApl92PacXklttG0rh4iVJgAU\\\\\\n\",\n       \"Wli9EHHEW541XbCzP3CThEy73IurJ2h621KCSKWFnq6IdVrsyiE4hgSsLPPe8rR+gHRBAAAAANQh\\\\\\n\",\n       \"sfgEAQskAwELgKrBE4KybC8iglcXyx4rdA7PuRU6Z5rwESrSneYwi0p05iSJEqWmbmUVKChjOlc5\\\\\\n\",\n       \"xSrvWE0Z2tWSQbxKqlOWNtJh2j3Wxy6WXAkOpbSYJvWnpLS9qIxiWiHHAQAAAAAAoL6BgAVA3aQU\\\\\\n\",\n       \"UkDECjmcsqSStSScJ5ReGBJUIpVe5lGqIydJVPC2pTI5sbIIJV0tOIQcVKFUv1C6qaxPSkcMkRRr\\\\\\n\",\n       \"fZxSBaws9zYpNoWkg7YWGN9iHWIhkDIIAAAAgDollyNqKrGuJ4q41z0QsACoWuThOmtqnTwMh7ZP\\\\\\n\",\n       \"c1l5ji1bF0lvp0lzXZUiMhRKoU6WYlIB09LMCr2WUotwlyJ0eiJOsbG2o1gmkZR+2Bn3LYsby5sv\\\\\\n\",\n       \"1GmVpV2FXndaXwUAAAAAqHGQQggyAAELgLpKK8y6j90m7cHYK+hdTHuSjk9lHk0tq2hWTF2iLIJV\\\\\\n\",\n       \"1mXlIHTcpiLjXWysC62xFtVArPWyQvpE0nkgXgEAAAAAAFAoELAAqHo8Z1SWfbSYEKqPlbQulG6Y\\\\\\n\",\n       \"ll5YqCiV1aFVKIUIJGlpXuWqa1UpAStp2yz1snSqXymxLudIk5ZypI9mOU5WF1doXaF9AM4rAAAA\\\\\\n\",\n       \"ANQ/US5HUYkphBFSCOseCFgA1AS6flTWukFZhIpQmmCW/VsTBC3ZP0lY6QzXVbnErEJFjKTaWJUk\\\\\\n\",\n       \"lBqoSRKkko6TJnDqY3WG66oSsbbHzSpsFiNaVbrvAAAAAAB0IUghBBmAgAVAzREVOWJfFidXKNUs\\\\\\n\",\n       \"aRQ6IakuUtq5OhtPcCo0jStp3ltezPUVuk+hjiapqWb3z5r2V6hgleXYXUXWmKelfpbD1ZcEhCsA\\\\\\n\",\n       \"AAAAAAA8IGABUHNEZaxDlTW10BOv7PlLEYTKnVpWznS+QoSPcqUsllpvKqtIGdo2zZUVFdiuaol3\\\\\\n\",\n       \"1tpfxcanHAJmtQh+AAAAAABdSC4iaorK4OIC9QwELABqllwB6YTF1NTKJbioQg/6nvsmyweJjFZY\\\\\\n\",\n       \"LooVAgoVoUr5kCz1A7YY8co7hhUt00awTNs2Sx2scgpYSaMLViLWxcYVaYMAAAAAaGBi8alEJzoE\\\\\\n\",\n       \"rLoHAhYANU0uoQZVIQ/laal+WUQOvb2lqYsf3rM6bQrZr9j2dbWrphCxKcu+IWExzYWVdI5KjDZZ\\\\\\n\",\n       \"rUKmrSUHAAAAAAAA8ICABUDdkOSYykIofTBpO7t9qY6kcjhzyuWUKcVJU47jlJNiRMXQvmmphEmp\\\\\\n\",\n       \"jbUS687qG3r/augXAAAAAADVQZSLKCoxhTCCA6vuKWfODgCgoshDcTEpVbKvTg1Mq/Vj98l6/NCr\\\\\\n\",\n       \"HGQ5T7FtLvac1UKx7eyMWHd1zAs9Rtp2dp9C25urwv4BAAAAAFBBolx5XgVy1VVX0eDBg2n11Ven\\\\\\n\",\n       \"0aNH0wsvvJC4/R133EFbbLFFvP22225Lc+bMKeGiQaFAwAKgLim2LhAVKTLknFexD/alvIq55tB5\\\\\\n\",\n       \"s+5brYJVZ7W9s+97Z8a7nLEuBjk/AAAAAACoNLfffjtNnTqVzj77bHr55Zdp+PDhNHbsWFq8eLG7\\\\\\n\",\n       \"/bPPPksHH3wwHXPMMfTKK6/QuHHj4tcbb7zR5W1vVCBgAVC36If1chyjUMEgTaDoKrGnnCJIKfej\\\\\\n\",\n       \"2unMWHeVaBNVaazrsb8AAAAAAJQ5hbAMr0K49NJLaeLEiXTUUUfRVlttRbNnz6aePXvS9ddf725/\\\\\\n\",\n       \"2WWX0T777EOnnHIKbbnllnTeeefRjjvuSFdeeWWZ7gJIAwIWAHVLZ6Vtlet4URe9quFaizlXV6bh\\\\\\n\",\n       \"ZW0T1XG8O/v/Sa059AAAAAAA6jeFcPny5TRv3jwaM2ZM27Lm5uZ4fu7cue4+vFxvz7BjK7Q9KD8o\\\\\\n\",\n       \"4g6qDim+19q6vNJNqUOKLfDeVcerNrpSdMhV+e8QiHVhQLAqN/KZgAKt1YHE4etvajctdmW0otJN\\\\\\n\",\n       \"AKDifP3115VuAqiD/lOOz+aVtKLkr93xMZx+3aNHj/il+fzzz6m1tZU23HDDDst5fv78+e7xFy5c\\\\\\n\",\n       \"6G7Py0HXAAELVB3//ve/47/z599Y6aYAAACows+Itddeu9LNaHiWLl0a34NNdlxQw/fig0o3AICK\\\\\\n\",\n       \"g/dTUK7PhGL7Uvfu3WmjjTaipxeWpxj6WmutRQMHDuywjGtcnXPOOWU5PqgsELBA1bHeeuvFfz/+\\\\\\n\",\n       \"+OOG/VDlXw34jfeTTz6h3r17UyOCe4B7gL6A/w+ar776igYNGtT2GQEqS79+/eLPqF69elFTU/md\\\\\\n\",\n       \"uPXwGVDr14D2Vx7EAPe/2vsPO69YvOLPhGLh0fw+/PDDOKWvXG2yn0vWfcX06dOHWlpaaNGiRR2W\\\\\\n\",\n       \"8zwLah68vJDtQfmBgAWqDs49Zli8qsUvfOWErx/3APcA/QD/H/CesOpnBKh8HAYMGNDp56mH979a\\\\\\n\",\n       \"vwa0v/IgBrj/1dx/ymE4YBGLX10JO79GjBhBjz76aDySIJPL5eL5SZMmufvstNNO8fopU6a0LXv4\\\\\\n\",\n       \"4Yfj5aBrgIAFAAAAAAAAAACAhmLq1Kk0YcIEGjlyJI0aNYpmzZpF3377bTwqIXPEEUdQ//79aebM\\\\\\n\",\n       \"mfH85MmTaffdd6dLLrmE9ttvP7rtttvopZdeomuvvbbCV9I4QMACAAAAAAAAAABAQzF+/HhasmQJ\\\\\\n\",\n       \"nXXWWXEh9u23354eeOCBtkLtXNJGO7933nlnuvXWW+nMM8+k008/nYYNG0Z33303bbPNNhW8isYC\\\\\\n\",\n       \"AhaoOjhHmQvtebnKjQLuAe4B+gH+P+A9Ae+LjUw9fA7W+jWg/ZUHMcD9b+T+01VwumAoZfCJJ55Y\\\\\\n\",\n       \"ZdmBBx4Yv0BlaIowHjUAAAAAAAAAAAAAqGJQCRUAAAAAAAAAAAAAVDUQsAAAAAAAAAAAAABAVQMB\\\\\\n\",\n       \"CwAAAAAAAAAAAABUNRCwAAAAAAAAAAAAAEBVAwELVD333XcfjR49mtZYYw1ad911ady4cdSILFu2\\\\\\n\",\n       \"LB7atampiV599VVqFBYsWEDHHHMMDRkyJO4DQ4cOjUdUWb58OdU7V111FQ0ePJhWX331+P/ACy+8\\\\\\n\",\n       \"QI3CzJkz6fvf/z716tWL+vbtG/+/f+edd6iRufDCC+P//1OmTKFG41//+hcddthhtP7668fvA9tu\\\\\\n\",\n       \"uy299NJLlW4W6ERq+f3vqaeeov3335/69esX/5/lIdZriVp//7366qtpu+22o969e8evnXbaie6/\\\\\\n\",\n       \"/36qVWrxvf+cc86J26xfW2yxBdUStfy5w++d9v7z6/jjj6900wAoGQhYoKq588476fDDD6ejjjqK\\\\\\n\",\n       \"XnvtNXrmmWfokEMOoUbk1FNPjb8MNxrz58+nXC5H11xzDb355pv0u9/9jmbPnk2nn3461TO33347\\\\\\n\",\n       \"TZ06NRbrXn75ZRo+fDiNHTuWFi9eTI3Ak08+GX/Reu655+jhhx+mFStW0N57703ffvstNSIvvvhi\\\\\\n\",\n       \"/H+AH8oajS+++IJ22WUXWm211eKH0LfeeosuueSS+AcNUJ/U+vsfv09xm1mEq0Vq/f13wIABsegz\\\\\\n\",\n       \"b968WHD44Q9/SD/5yU/i7xC1Ri2/92+99db02Weftb2efvppqhVq/XOH+42+9/z/mDnwwAMr3TQA\\\\\\n\",\n       \"SicCoEpZsWJF1L9//+gPf/hD1OjMmTMn2mKLLaI333wz4v+2r7zyStTI/Pa3v42GDBkS1TOjRo2K\\\\\\n\",\n       \"jj/++Lb51tbWqF+/ftHMmTOjRmTx4sVx33/yySejRmPp0qXRsGHDoocffjjafffdo8mTJ0eNxGmn\\\\\\n\",\n       \"nRbtuuuulW4G6ELq6f2P37fuuuuuqJaph/ffddddt+a+T9bye//ZZ58dDR8+PKpV6u1zh/vO0KFD\\\\\\n\",\n       \"o1wuV+mmAFAycGCBqoV/dWX7bnNzM+2www608cYb07777ktvvPEGNRKLFi2iiRMn0s0330w9e/as\\\\\\n\",\n       \"dHOqgq+++orWW289qlc4PZJ/OR4zZkzbMv5/wPNz586lRo05U89xD8FOiP32269Df2gk/v73v9PI\\\\\\n\",\n       \"kSPjX445nYk/D6677rpKNwt0Enj/qz5q+f23tbWVbrvtttg9xqmEtUStv/f/85//jDMHNt10Uzr0\\\\\\n\",\n       \"0EPp448/plqhnj53+D31lltuoaOPPjpOIwSg1oGABaqWDz74oC2P/swzz6R77703tu7uscce9J//\\\\\\n\",\n       \"/IcaAf7x9sgjj6Rjjz02/iAFRO+99x5dccUV9Ktf/apub8fnn38ef+necMMNOyzn+YULF1KjwSmk\\\\\\n\",\n       \"XPuD7fzbbLMNNRL84MViPtekaeTPAq5pM2zYMHrwwQfpuOOOoxNPPJFuuummSjcNdAJ4/6suavX9\\\\\\n\",\n       \"9/XXX6e11lqLevToEX+Huuuuu2irrbaiWqHW3/u5bt2NN95IDzzwQPz+/eGHH9Juu+1GS5cupVqg\\\\\\n\",\n       \"nj53uAbfl19+GT9PAFAPQMACXc706dPdwoL6JXWPmDPOOIMOOOAAGjFiBN1www3x+jvuuKMh7gEL\\\\\\n\",\n       \"NfxhP2PGDKo3st4DDTvy9tlnn/gXMXalgcaAf4Vm5yV/oW8kPvnkE5o8eTL96U9/igtZNyr8WbDj\\\\\\n\",\n       \"jjvSBRdcEP8K/stf/jL+/8+18AAAnUutvv9uvvnm8YA3zz//fCw+TJgwIa5jVAvUw3s/Z0zwdzWu\\\\\\n\",\n       \"3cX16+bMmROLKH/+85+pFqinz50//vGPcTwasY4uqE+6VboBoPGYNm1a6q8AbDfmooOM/sWMf0nj\\\\\\n\",\n       \"dbVkQy7lHjz22GNxyhhft4bdWGzHrsVfggq9B8Knn35Ke+65J+2888507bXXUj3Tp08famlpidNH\\\\\\n\",\n       \"NTy/0UYbUSMxadKk2H3Jo3pxYd5GgtNIuWg1f4kW2JnH9+LKK6+MRyblflLvcPq4dU5sueWW8SAf\\\\\\n\",\n       \"oP7A+1/1UMvvv927d6fvfe978TT/AMpFrS+77LK4IHq1U4/v/eussw5tttlmsYu+FqiXz52PPvqI\\\\\\n\",\n       \"HnnkEfrrX/9a6aYAUDYgYIEuZ4MNNohfafAXDhZueOjmXXfdNV7GI+EsWLCANtlkE2qEe3D55ZfT\\\\\\n\",\n       \"+eef30HE4V+yeIQmtmc3wj0Q5xWLV+LC43pQ9Qx/8eZrffTRR+Phy+XXQJ7nB4pGSZ894YQT4rSP\\\\\\n\",\n       \"J554goYMGUKNxl577RWnwWh4RFYeivy0006ruQeYYuHUJf4c0Lz77rs1/zkAfPD+V3nq8f2XP0NZ\\\\\\n\",\n       \"+KkF6vG9/5tvvqH3338/Hlm8FqiXzx3+zsw1vLiWGgD1AgQsULX07t07rlvAw2gPHDgw/tC46KKL\\\\\\n\",\n       \"GmoY2EGDBnWY53oOzNChQ2vu19BiYfGK655x/C+++GJasmRJ27p6diPxEPKc8sBuu1GjRtGsWbPi\\\\\\n\",\n       \"IrT8JbZR0lZuvfVW+tvf/ka9evVqq/219tpr0xprrEGNAF+3rTmz5ppr0vrrr19TtWhK5aSTToqd\\\\\\n\",\n       \"l5zKcdBBB9ELL7wQuzDr3YnZyNT6+x8/rGunCdf/4XQ2LoJuP9erkVp//+WyC5wyxfeayzDwtbAQ\\\\\\n\",\n       \"x7WMaoF6eO8/+eSTaf/994+/u/GPr/xdnoW3gw8+mGqBevjcYdGWBSx+L+3WDY/8oI4ofSBDADqP\\\\\\n\",\n       \"5cuXR9OmTYv69u0b9erVKxozZkz0xhtvNOwt//DDD+OhrF955ZWoUbjhhhvia/Ze9c4VV1wRDRo0\\\\\\n\",\n       \"KOrevXs8rPxzzz0XNQqhmHN/aGRqbSj1cnHPPfdE22yzTdSjR49oiy22iK699tpKNwl0MrX8/vf4\\\\\\n\",\n       \"44+7718TJkyIaoFaf/89+uijo0022STuOxtssEG01157RQ899FBUy9Tae//48eOjjTfeOI5B//79\\\\\\n\",\n       \"4/n33nsvqiVq/XPnwQcfjP/fvvPOO5VuCgBlpYn/qbSIBgAAAAAAAAAAAABAiPouJAMAAAAAAAAA\\\\\\n\",\n       \"AAAAah4IWAAAAAAAAAAAAACgqoGABQAAAAAAAAAAAACqGghYAAAAAAAAAAAAAKCqgYAFAAAAAAAA\\\\\\n\",\n       \"AAAAAKoaCFgAAAAAAAAAAAAAoKqBgAUAAAAAAAAAAAAAqhoIWAAAAAAAAIC64oknnqCmpib68ssv\\\\\\n\",\n       \"K90UAAAAZQICFgAAVDGfffYZHXLIIbTZZptRc3MzTZkypdJNAgAAAKqOPfbYo8Nn5M477xx/hq69\\\\\\n\",\n       \"9toVaxNENAAAKC8QsAAAoIpZtmwZbbDBBnTmmWfS8OHDK90cAAAAoCbo3r07bbTRRrELCwAAQH0A\\\\\\n\",\n       \"AQsAACrIkiVL4i/YF1xwQduyZ599Nv7i/eijj9LgwYPpsssuoyOOOKKivyIDAAAA1cqRRx5JTz75\\\\\\n\",\n       \"ZPx5yYIVv2688cYOKYQ8v84669C9995Lm2++OfXs2ZN+/vOf03//+1+66aab4s/bddddl0488URq\\\\\\n\",\n       \"bW3t8EPSySefTP3796c111yTRo8eHTurhI8++oj233//eF9ev/XWW9OcOXNowYIFtOeee8bb8Dpu\\\\\\n\",\n       \"C7eTyeVyNHPmTBoyZAitscYa8Q9Uf/nLX1Zxbt1333203Xbb0eqrr04/+MEP6I033ujCuwoAANVH\\\\\\n\",\n       \"t0o3AAAAGhl2V11//fU0btw42nvvveMv1YcffjhNmjSJ9tprr0o3DwAAAKh6WLh69913aZtttqH/\\\\\\n\",\n       \"+Z//iZe9+eabq2zHYtXll19Ot912Gy1dupR+9rOf0U9/+tNY2GLR6YMPPqADDjiAdtllFxo/fny8\\\\\\n\",\n       \"D38ev/XWW/E+/fr1o7vuuov22Wcfev3112nYsGF0/PHH0/Lly+mpp56KBSzedq211qKBAwfSnXfe\\\\\\n\",\n       \"GR/vnXfeod69e8diFcPi1S233EKzZ8+Oj8H7HnbYYfF3gt13372tvaecckp8bfxD1+mnnx4LZXyd\\\\\\n\",\n       \"q622WpfdWwAAqCYgYAEAQIX58Y9/TBMnTqRDDz2URo4cGX8B5i+3AAAAAEiHHcrsXGZXFYs9zPz5\\\\\\n\",\n       \"81fZbsWKFXT11VfT0KFD43l2YN188820aNGiWHTaaqutYtfU448/HgtYH3/8Md1www3xXxavGHZj\\\\\\n\",\n       \"PfDAA/Fydk/zOhaptt1223j9pptu2na+9dZbL/7bt2/fWCQTRxfv98gjj9BOO+3Uts/TTz9N11xz\\\\\\n\",\n       \"TQcB6+yzz6Yf/ehH8TS7xAYMGBALaAcddBC6BQCgIYGABQAAVcDFF18c/3J8xx130Lx586hHjx6V\\\\\\n\",\n       \"bhIAAABQV7DAJeIVs+GGG8apgyxe6WWLFy+Op9llxemEPJCKhkWo9ddfP57mlMPjjjuOHnroIRoz\\\\\\n\",\n       \"ZkwsZnHaX4j33nsvdoKJMCWwi2uHHXbosEwELhHD2KX99ttvF339AABQ60DAAgCAKuD999+nTz/9\\\\\\n\",\n       \"NK6LwXUz5JdcAAAAAJQHm3rHdaa8ZfxZzHzzzTfU0tIS/7DEfzUiev3iF7+gsWPHxvWqWMRiB/Ul\\\\\\n\",\n       \"l1xCJ5xwgtsGPibD23NdLQ1+vAIAgGQgYAEAQIXhX1259gWnK/Cvq/xlmH/15ZQDAAAAAKTDKYS6\\\\\\n\",\n       \"+Ho5YEcUH5MdWbvttltwO653deyxx8avGTNm0HXXXRcLWNwmRreL0xRZqOLUQ50u6PHcc8/RoEGD\\\\\\n\",\n       \"4ukvvvgirn+15ZZblu36AACg1oCABQAAFeaMM86gr776Ki4sy7/ociHZo48+Oh4piXn11VfbfrXl\\\\\\n\",\n       \"UQt5nr8U85dgAAAAAFCcCvj888/HLmb+LBUXVSlw6iDXp+SRgNlVxYIWfw7zKMGcJrjffvvRlClT\\\\\\n\",\n       \"aN999423ZZGJ62eJyLTJJpvEji7+POd6l1zEvVevXnEdrZNOOilu46677hp/B3jmmWfiQu8TJkxo\\\\\\n\",\n       \"Oz8XpOdURU5r5O8Kffr0iQd9AQCARqW50g0AAIBGhofKnjVrVlxElr+4Njc3x9P/+Mc/4kKzDH9h\\\\\\n\",\n       \"5henMNx6663xNH8RBgAAAEAeFoU4zY9/3OHR/NjhVA64WDsLWNOmTYtd0iwgvfjii23OKHZX8UiE\\\\\\n\",\n       \"LFrx6IQsZP3+97+P13GK4LnnnkvTp0+PRSge0ZA577zz6Ne//nWcbij7cUrhkCFDOpz7wgsvpMmT\\\\\\n\",\n       \"J9OIESNo4cKFdM8997S5ugAAoBFpiqIoqnQjAAAAAAAAAADkf9zi0RDZ0SWjFwIAAIADCwAAAAAA\\\\\\n\",\n       \"AAAAAABUOUghBAAAAAAAAAAAAABVDVIIAQAAAAAAAAAAAEBVAwcWAAAAAAAAAAAAAKhqIGABAAAA\\\\\\n\",\n       \"AAAAAAAAgKoGAhYAAAAAAAAAAAAAqGogYAEAAAAAAAAAAACAqgYCFgAAAAAAAAAAAACoaiBgAQAA\\\\\\n\",\n       \"AAAAAAAAAICqBgIWAAAAAAAAAAAAAKhqIGABAAAAAAAAAAAAgKoGAhYAAAAAAAAAAAAAqGogYAEA\\\\\\n\",\n       \"AAAAAAAAAACAqgYCFgAAAAAAAAAAAACgaub/AaJySSiqgCkUAAAAAElFTkSuQmCC\\\\\\n\",\n       \"\\\"\\n\",\n       \"  frames[5] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQABAABJREFUeJzsnQeYJFXV/k9Vh5nZTNhlyUGQnARRghhAUBEDigkFRDAhIuBf\\\\\\n\",\n       \"WFQQUAFRxE8MwAeYUBGBDwVFEQVUgiA5S5C4C0tYNk7o7vo/760+PafP3FtdPdOzOztzfvvUTle+\\\\\\n\",\n       \"detWddXb7zk3SpIkIcMwDMMwDMMwDMMwDMMYo8QrugCGYRiGYRiGYRiGYRiGkYUJWIZhGIZhGIZh\\\\\\n\",\n       \"GIZhGMaYxgQswzAMwzAMwzAMwzAMY0xjApZhGIZhGIZhGIZhGIYxpjEByzAMwzAMwzAMwzAMwxjT\\\\\\n\",\n       \"mIBlGIZhGIZhGIZhGIZhjGlMwDIMwzAMwzAMwzAMwzDGNCZgGYZhGIZhGIZhGIZhGGMaE7AMwzAM\\\\\\n\",\n       \"wzAMwzAMwzCMMY0JWIZhjDne9KY30cEHH7yii2EsR3C+cd7HKz/5yU8oiiL673//29E622CDDTq2\\\\\\n\",\n       \"Pb3tKVOm0PICx5Hnmh+Nehwr97ORHtt//vMf2muvvWj69OluO//3f/9HY528591Yee+lX/va11x7\\\\\\n\",\n       \"XBnhsr/wwgs0lrn66qtpu+22o+7ublfeBQsW0HhkZbz/G4bReUzAMowJzo033uge0jr5wIOXEjxk\\\\\\n\",\n       \"6OHTn/40jfWyryieffZZdyx33nnnsLfxhz/8wW1jRYPzMWvWLHfOf/vb367o4hhGx3j00UcbL4m3\\\\\\n\",\n       \"3XbbmKrZgw46iO655x76xje+QT//+c9pxx13pImI3UuXP0uXLnXfPddddx2NFcZimUaDF198kT7w\\\\\\n\",\n       \"gQ9QT08P/eAHP3DX/uTJk1d0sQzDMEYNE7AMY4IDEeikk07quAiEXwPxICWHQw45ZKUo+4p66cKx\\\\\\n\",\n       \"jFTAwjZWNCeccIJ7eTCMvDz00EN03nnnjfkKO+qoo6hYLI7Ktj/2sY/RsmXLaP311297Xax30003\\\\\\n\",\n       \"0Sc+8Qn63Oc+Rx/96EdpnXXWoYmI3UuXP7jf47vHJxZ95Stfce1zLJVpPHHrrbfSokWL6JRTTnHX\\\\\\n\",\n       \"P679Uqm0ootlGIYxapiAZRjGqLD22mu7Byk57LTTTiustmu1GvX29q6w/U8U7r33XvrRj35Exx57\\\\\\n\",\n       \"7IouirES0dXVNeZfuv70pz+5ASLWaFAoFBrurnaZP3+++ztjxoyOlQf3S9w3fSxZsqRj+zHG970U\\\\\\n\",\n       \"gi/atTE6PP/88x2/9lfU9W3PaYZh5MEELMOYwMBe///+3/9znzfccMNGqF+n8gv09/eP2oNQq7Lj\\\\\\n\",\n       \"M5wIF110EW255ZbuBRl5IvBrLObpX2WxHqYjx4LkwQcfpPe///206qqruodwhOX87ne/a7u811xz\\\\\\n\",\n       \"De22227uIRO5hTbddFM6/vjj3TyU5bWvfa37/PGPf7xxLFyWv//977T//vvTeuut545j3XXXdS/R\\\\\\n\",\n       \"8ldt5D1B+AAfOw/ywfCss85ydYHjWGONNehTn/oUvfzyy9RJjjzySHrve99Lb3jDG2i0gOPuC1/4\\\\\\n\",\n       \"gqsH1MfGG29Mp59+etPLNp/Pb3/723TuuefSq171Krcs6hm/WGtwnhGGMXPmTBeKgfPz5S9/uWmZ\\\\\\n\",\n       \"O+64g97+9rfTtGnT3DncY4896Oabbx6yrfvuu4/e8pa3uO3ABfP1r389KAT88Y9/dHWFkI+pU6fS\\\\\\n\",\n       \"Pvvs49bXIJ/RVltt5c4d/l5++eXDrD2iSy65hHbYYQdXvtVXX92Jy88884x32ccee4z23ntvV761\\\\\\n\",\n       \"1lqLTj75ZEqSpGmZX//61257KD/qZuutt6bvfe97I86FlKce//rXv1Icx871J/nlL3/pzj8EgE4w\\\\\\n\",\n       \"MDDg2jYGtKXlld8F9fLOd76T/vGPf7gfAHD+N9poI/rZz37WdC9k1xbuidiGzI2Gcwv3K655XAO4\\\\\\n\",\n       \"B1xwwQVN++b7Is4lHDP4AWLSpEm0cOHCRj40hE++4x3vcOf5gAMOaOu+gjaD84fziO2++c1v9rbz\\\\\\n\",\n       \"PNi9tDO89NJL9MUvftFdrzi/uHZxf7vrrru8Yiba2atf/Wp3ntdcc03ab7/9XJtAe8V9E8DxxN89\\\\\\n\",\n       \"HM7uy4FVqVScY4jvy2iv+D7s6+trWi5P+/fRqkx33323a9fYFrY5e/Zsd40gHK8VTzzxhPvOwX34\\\\\\n\",\n       \"ueeeG5XvJNxv8J00d+7czLIg1xlChwG2g+3L+2iee33o+v6f//kfJ6pLh/t3vvMdt4+jjz66Ma1a\\\\\\n\",\n       \"rbp1pNCKY9xll11otdVWc/tGGXzpBELPae1+jxqGMbEYHR+8YRgrBXgAffjhh+lXv/oVffe733UP\\\\\\n\",\n       \"OIAf/F555RX3INUKPADqhM94scSLCh5u8HIFwQUvf8ur7FyG3/zmN+4BCfPxMNxOuCEeoHbddVf3\\\\\\n\",\n       \"Mnfccce5l3hs7z3veQ9deumlTqjJux08hG+zzTZOAMBD2iOPPEL//Oc/3fzNN9/cTcdL+Cc/+cmG\\\\\\n\",\n       \"+IMHQH4IRTjEZz7zGfdA+K9//Yu+//3v09NPP+3mAbw0InQGL3cI19RgPl6QIZB9/vOfp8cff5zO\\\\\\n\",\n       \"PvtsJ8qgHOx+Wbx4cS6nGpZHsmgJyoKwzgceeGDUkqyiHt74xje6h3AcE0Q97HPOnDnuYR8v01rI\\\\\\n\",\n       \"QHgFlsXD8re+9S3XdiDM8DHjZQZ1jnHUP9oJHuZ///vfu3xCfA6xDF7yvvSlL7llzznnHPcCcf31\\\\\\n\",\n       \"19PrXvc6t9y8efPcyzle0LjN4GUFD+EanCe8fEAgwssOjg2CC4ROnBcWIf785z/T+973Ptpiiy3o\\\\\\n\",\n       \"1FNPdS9ZOI/DCRHjNoCXHWwLL2AQm9AGsE/5Kz6u3be97W30+te/3tUbXixOPPFEd2xorwDt7cMf\\\\\\n\",\n       \"/rAT83AMAOcf2xvJ9Z63HvGC89nPftYdC67L17zmNa4dHHHEEbTnnns25d0byf0M7QqiDMSdyy67\\\\\\n\",\n       \"jJYnuFdAREd4ENoLxCe8dOKlEC99aM84b7jH4lzgJZTLj/OL88cvirg/QjTFtiBO4aVbAlGhXC47\\\\\\n\",\n       \"YQNiAj4DnAe0U7RNvJzi3t7OfQX3NryAomwYbr/9dpdwHj9ytIPdSzsH7oEQxvHjCH4EQlvBPQ33\\\\\\n\",\n       \"1/vvv98J1nwfwPfXtddeSx/60IfcdY17Kq59uMRwneG+he8nfCeiPQJ834U49NBD6ac//alr18cc\\\\\\n\",\n       \"cwzdcsst7hrGvUOL863avw+086wyoew4frRbiFdoV7i/4C9+lAi5IPG9gHsOftDCNvBcMRrfSdgW\\\\\\n\",\n       \"ngtwvPpHNQl+ZMGPLSg77sk4jyywt3Ov913fEOggGEE8xPnnH9PwgwH+MtgWnht23333xjTs513v\\\\\\n\",\n       \"epcTwnCNQxhHO7vyyivdjzQS33NaO9+jhmFMQBLDMCY0Z5xxBuwUyeOPPz5k3hvf+EY3r9Vw0EEH\\\\\\n\",\n       \"Na237777Jqeffnryf//3f8n555+fvOENb3DLfelLX8pVJuxXb7PdsmN6HMfJfffd1zT9b3/7m5uH\\\\\\n\",\n       \"vxJsA9MvvPDCxrQ99tgj2XrrrZPe3t7GtFqtluyyyy7JJptskuTlu9/9rtv2/Pnzg8vceuutQ/bP\\\\\\n\",\n       \"LF26dMi0U089NYmiKHniiSca0w4//HC3Dc3f//53N/2iiy5qmn711VcPmY56z3POcY50Gddbb71k\\\\\\n\",\n       \"zpw5TfV8ySWXtKwf3q/epo9TTjklmTx5cvLwww83TT/uuOOSQqGQPPnkk03nc7XVVkteeumlxnJX\\\\\\n\",\n       \"XHGFm/773/++MW333XdPpk6d2lSXfK6Z97znPUm5XE4effTRxrRnn33WrYf1mS984Qtu+7fccktj\\\\\\n\",\n       \"2vPPP59Mnz69qa0uWrQomTFjRnLYYYc17XPevHluWTl9u+22S9Zcc81kwYIFjWl//vOf3fbWX3/9\\\\\\n\",\n       \"JC/9/f3JrFmzkq222ipZtmxZY/qVV17ptnXCCScMaQdHHHFEU33ss88+rh64LR955JHJtGnTkkql\\\\\\n\",\n       \"kowEHIe85vPWI1iyZEmy8cYbJ1tuuaW7VlFGlEmfz+Hez+bOnevO8znnnOPGcY1iOVyznbyf8Xbl\\\\\\n\",\n       \"saFeMO2GG25oqoeurq7kmGOOaUzj9o57ouQTn/iEazsvvPBC0/QPfehDri753sLX60YbbTTkfsNt\\\\\\n\",\n       \"AdfYcO4rKC/aDM6LvKaOP/54b31nYffSzt1Lca1Uq9WmaWhHaFsnn3xyY9oFF1zgztOZZ545ZBt8\\\\\\n\",\n       \"PnE/wDInnnjikGUwTX4v3XnnnW780EMPbVrui1/8opv+17/+te327yOrTL7v1F/96ldD9sVlx7Ye\\\\\\n\",\n       \"eOCBZK211kpe+9rXNn2njMZ3Ei/bzn1D3o+Gc6/X1zfaBu6j/NyGc42y77///u648B0G0C7wrPXy\\\\\\n\",\n       \"yy8H6xflQVne8pa35HpOa+f+bxjGxMMcWIZhBIFdPE+IGf9Sy+gQO/wKiNCEM8880zkjlldyYfwq\\\\\\n\",\n       \"CtfKcMMr8MsgftXEr6UYGPxSCScKfiWFO6sV/EvnFVdc4eoCv2C2g/zVESGZCB2EOwvPf/j1E7/4\\\\\\n\",\n       \"ZgFnFNxSb33rW5u6A8cv2HBq/O1vf6OPfOQjbhrcRQgzaMUqq6zSNH7aaac5dwuHRY4WOBY4obB/\\\\\\n\",\n       \"eSxwAaAMN9xwQyO8CXzwgx9sKiu72/BrN+cOwjpwFeh65F/h4UCACwoOH4ScMAijQb0h+TjcLHBn\\\\\\n\",\n       \"IZE+HC8y3xvcACjTD3/4w8Y0/HoPNyAcM/I4ELIBNxfOCcAv+Ejsj1+hpeMN5xJtu50QXfSah3wp\\\\\\n\",\n       \"CKOROWnwi/hmm21GV1111ZBOAPCruKwPjGO5v/zlL86NgbaNMuB44NbqFHnrEcAtALcBHAAY4FA8\\\\\\n\",\n       \"//zzh5zP4d7PEBqD8w7XyIoA51mG5KIe4LrgNhwC9wc4RREai8+yneEeBlcEnFBwmTJwfIRcDnCz\\\\\\n\",\n       \"DOe+grYCFwbu/dLZAvfXN7/5zbbqwu6lnQNOYAb3ONyPOLwd7YJBG4IzBudPM5x8bbi2gQxDA3Bi\\\\\\n\",\n       \"wf2D+wvcNyNt/1nINg7HMRxEuN8AHLsOgYfTDN8lCA2EgxH3+tH6TgJwIelQ7XYYzr1eX994TsFz\\\\\\n\",\n       \"BsoP4I6D+xffRWgT6DQC1z7cWHBrSUeXrF/cc9G+cJxwzOd5Tmvn/m8YxsTDBCzDMILgRaQT4CEX\\\\\\n\",\n       \"4S1IgIxcK3kEkk4AO/1wQdgCHiC/+tWvusEHHhDzCFh4YP3f//1f9wKMhz+EWyFkAGERecSsJ598\\\\\\n\",\n       \"0oXgQBjUL+AIi2rFf/7zH7fcrFmzgsfB4EGyXdEP4YJnnHGGy8GlQ686DY4FIX8yVDR0LECLGPzi\\\\\\n\",\n       \"wPXILw14AA8BkQthInhp0iDMA2EWTz31lAtnQX4UDieU6HVxHADhKD74BQnbA5tssol3m/JFsxW8\\\\\\n\",\n       \"Ld9x4KUGoSIStE0p2AHkwAEcIorwPYR/QKDGtYCwMAgmIxWz8tYjAxEGL2BogxBnfD2eDud+hnAi\\\\\\n\",\n       \"hHoifKpd4blT+ARqtONWYhzaLUQJhN5gyHO9hO6ZSMStf3jIe18JtWFcw1oIb4XdSzsH7lsI9YIg\\\\\\n\",\n       \"gNBPiAwMQtVl2Byuu071von2gGsJYpAEoXwQQbi9jLT9t/qBCgIORFx9Dfi+U/fdd1+X3w3PMPo7\\\\\\n\",\n       \"rtPfSZ2g3Xu97/oGEJ0gguFHMwhV+NEGYdrbbrutG4eAhW3hni9BqCBChvHji8xr5hM8ffecdu//\\\\\\n\",\n       \"hmFMLEzAMgwj8yEvT44S/Nqm8yFpkNyUt7m88DkJQr8Yy4d3wMlCkQsGL8Q+9AN4VjnwKyYcCfjl\\\\\\n\",\n       \"E7mELr74YidewNkD100IlAsPiag3OEHw8Il8EHB/IQ9InqSmWAYvmUiU6kM+eOPhPU+X58iNgzwg\\\\\\n\",\n       \"AOIaxAvkg2JhAzks+CUa0/DQ3gkBAMeC+oBTzAcLLEyobkfy63Yn4PMGcQQvbppOvSyONmhXeEnB\\\\\\n\",\n       \"ix2cCRguvPBCOvDAA12Om+UFXpK4Ywa8cENw5DxNI7mfoZ3hJQ4vWdy22WUBdxzE5VYOyJEy3DbM\\\\\\n\",\n       \"bQw/GHCiZ43OUxRyX8Gto6/fdu4rncLupZ27l8L9hh9nIPYi9xnu59gunHHLI1l2XvfWaNzDIbgg\\\\\\n\",\n       \"TxU6Pdhuu+2cKIVjhvDuO3bkIMT9DG0duavG23eS7/oGyIkFZzXcVhCs2C2GvxhHonl8x0vHGqYj\\\\\\n\",\n       \"/xXcsBBHIXohtxe+F5D/S2N5rQzDaJeV4wnZMIwV8hAJlxASVLeiVaJR6XTp5EvNcMIX+NdOncxd\\\\\\n\",\n       \"/+rLzhM8eCEUYKTg4RDOKwwIpcTLAxKwQtTC9kPHcs8997hk9Xh4hijAIGRLE9oGkroijAculVYP\\\\\\n\",\n       \"iwilyyM8wPbPggFe4uFY024ddujwr8ud6OYbx4Jwj06cE8BlRohICLRZiCEPPfTQkHl4gMe5ZYEW\\\\\\n\",\n       \"HRawu0qi1+VEuxAAso6Fe5fLs81W8LawnnZ+YRrPly9muG7lCxjaIpC93EHMhEMBA9bBOUcyaLwc\\\\\\n\",\n       \"5xV5fWVt55gR0osQF4QgQeiF0xG9aI30foa2jXuDzyWAlzQIXe10DLE8QbtF72AQwTt1vQznviLb\\\\\\n\",\n       \"sLxH4MV3OK4Tu5d25l6KXuEQqodwWwnaM3eKwucZSdYhZHCS8ZF8F6M94D6B9gAHK4Mk49i3vg8N\\\\\\n\",\n       \"l1CZ0ObgqIQDS/Ze6rvfMHAY40cF3NtwTXHI/Wh8J3WCdu/1IRDCh/s7RCkM3PMzxCmEzqMeeZxB\\\\\\n\",\n       \"eCHCFvGjhgxThYDVTvk78Z1nGMb4xAQsw5jgwM0DfC9hw8kZA5cDXurkr4x48EUuCDwIydwWo1n2\\\\\\n\",\n       \"rAcjlA2OKOQ0YnReBQgLcBThRRy5P/ArogQvX3nFONQJu5UY/OoL2F4fOhauR/nrLD4j9EMjtyFf\\\\\\n\",\n       \"cPBrM44Pv7LrnDPo5QcP37z8cHJgIVRA5v5gQQgCBra38847N8o2UnAsCGnAw7F2xnEOl3bcSziH\\\\\\n\",\n       \"ePhGz1bIySLdNKhnvAThHCA0DjnM4MJh8QYvXPhFGb9Sc8gfelhDr1PIw8T5O9BWtEsFZcc6OB+4\\\\\\n\",\n       \"JvSLIbcvtDu0FYiKMg8WBEz0FNbOy96OO+7o2vWPf/xj57rglwu4piD+yJc5Bj3KsRCE+sA4ygoh\\\\\\n\",\n       \"FiAnigw3grjArh4ZOtIueesR4OUawhWcI8ijg7aIHhHhmoDQOpL7GULv4OaSIDceegHFPuGIHKug\\\\\\n\",\n       \"3aIO0EZxPeow2XbuYT7y3lfwYo82gzrDdcTCgu6dLQ92L+3cvRTtQ7t+kM8J7l4pPKMNwTmMax+p\\\\\\n\",\n       \"ACR8j2S3Y57vYlzbyJWI84/vVwY/7ADdS91wCZXJ953aqj3iGHEvQC5MCNz4noGAPRrfSfzMBCcp\\\\\\n\",\n       \"7vf62WO07vU+IEShF0PkroKYLx1YcGrjuwECniwj6hf1JV3t+N5Ej5ejcf83DGPiYQKWYUxwOC8M\\\\\\n\",\n       \"3EBIyowXDTgp8JA8nJwxyNMEQQP5neBawAsHv0DhJccXLjUaZQ+BB0J054yXKTxk4eEL+Rp0ngqA\\\\\\n\",\n       \"fDoQJ7beems67LDDnHsAogXs9E8//TTddddducqJRPAQzPBgDsEB+8KLH3JOYPsA5cDLHh448Qsv\\\\\\n\",\n       \"jgE5IPCCjHkIZcSLBUQP/MLpexHn+kB39niQxoMk6gUv8Qh7QFfaCPfCSyTqCr9w4oUFYhjO13Bz\\\\\\n\",\n       \"YPExSFgQw8OvFApHCn4BRhtDt97clTqSiMOpBkcBHpSleyAPeAjHMSC3xyc/+clGuBhe2lBfAG0a\\\\\\n\",\n       \"ohGWw6/weCHByxdEGnSDzkCwQ1ggQlHgZuPuv3HekSeFwXlEN+8f+9jH3H5xniAm4CUB+4WrBS+M\\\\\\n\",\n       \"AOcNbQf7xssIrim0X+TcgkiQF5xzCDvoSABtAgnkuWt1iHL65RQvLwh3xQsb2iJeflA2vHyy8IG8\\\\\\n\",\n       \"bigPfuVHe4ZbCWWD6CbdFe2Stx6RgBnlQ36lb3zjG24anBW///3v3XGiXfD9YDj3M1wrGn4hRh3i\\\\\\n\",\n       \"RXEsgx8O4PLE+cM9DNc2zhdyp8E9NZKQ7rz3FbQV3L+wHK5bvJyi8wm0p3avVbuXdu5einOB+sR1\\\\\\n\",\n       \"gmTduFYgEGgnLZy/P/vZz5zAD0EB4gXuuWg/uBe++93vdg48tC2ExsOxiR9sIJj6cgsifxKuWVzP\\\\\\n\",\n       \"uJbQjrBdiPT4rujUj1xZZcKPFrhvQyhC+DtC+ZEHLAuI87/4xS9cGSFaIdE47nuj8Z2E73rcP/O4\\\\\\n\",\n       \"2ztxr88C5xv3ETw74VkIQBxDPio4onDMEnxXQYzEvRtONTzv4FkKoqi8d3fi/m8YxgRlRXeDaBjG\\\\\\n\",\n       \"igfdQK+99tquO+ORdlF82223Jfvuu6/bHrpOnzJlSrLbbrslv/nNb3JvI2+381llx+fDDz/cuw66\\\\\\n\",\n       \"xH7f+96XTJo0KVlllVWST33qU8m9997r1kGX1JJHH300OfDAA5PZs2cnpVLJ7eud73xn8tvf/jb3\\\\\\n\",\n       \"8Vx77bXJu9/9btcFN+oEfz/84Q8P6XYb3WlvscUWSbFYbCrL/fffn+y5556uLldfffXksMMOS+66\\\\\\n\",\n       \"664h5a1UKskRRxyRzJw5M4miqKnrcnDuuecmO+ywQ9LT05NMnTo12XrrrV0X2c8++2zSaf72t7+5\\\\\\n\",\n       \"/V9yySUd7fodoPvuOXPmJBtvvLGrT9TJLrvsknz729923XXLbsjPOOOMIev7ulbH+X/ve9+bzJgx\\\\\\n\",\n       \"I+nu7k423XTT5Ktf/WrTMrfffnuy9957u/OAtvPmN785ufHGG4ds/+6773bHgu2gvaCNnn/++d5r\\\\\\n\",\n       \"C/WEbaJ7cCz/qle9Kjn44IPddSS59NJLk80339x1H482ctlll7k6Qzfz7XLxxRcn22+/vdvWqquu\\\\\\n\",\n       \"mhxwwAHJ008/3bQMto2u4dH+99prL3e8a6yxhqs3dK/O4DrAfHTZjnOx3nrruetp7ty5bZUJx6Gv\\\\\\n\",\n       \"+Tz1eNRRR7ku3WV36wD1h+voM5/5TNJpfN3Wd+J+xtuVbQT1ss8++3i3Ka+XrPb+3HPPuXvhuuuu\\\\\\n\",\n       \"6+5huJftscce7n6Q53rlthAiz30Fbeakk05K1lxzTbfcm970JnfN+c57FnYv7dy9tLe3NznmmGMa\\\\\\n\",\n       \"52TXXXdNbrrppiFtCyxdujT58pe/nGy44YaNNvT+97/f3R8Y3AvRDnAfkPdY/NXfRQMDA6498PbQ\\\\\\n\",\n       \"NnFPR5kkedt/iFCZcL/j+z3uvfvvv79rr/q7gcuOZwZZF9g3vgduvvnmUflO4mXbuW/47kft3OtD\\\\\\n\",\n       \"XHXVVW77b3/725umH3rooW467skaTNtkk03cfjfbbDNXRl87yHpOa+d71DCMiUWE/1a0iGYYhiFB\\\\\\n\",\n       \"6B5+JRzOL4/Gygl+xcUv1ZxXyzDGC3Y/M5Yndi81DMMwxjMrpk9owzAMwzAMwzAMwzAMw8iJ5cAy\\\\\\n\",\n       \"DMMYAfPmzWuZh4MTbxvGaIFcRv39/cH5yIfWyR5A82LXh2FtxTAMwzCMTmEClmEYxgho1UPQcJOw\\\\\\n\",\n       \"GkY77LfffnT99dcH5yP5LUI0lzd2fRjWVgzDMAzD6BSWA8swDGMEoCemLNZaa622e/UzjHb597//\\\\\\n\",\n       \"7e2ZUjoB0bPh8sauD8PaimEYhmEYncIELMMwDMMwDMMwDMMwDGNMY0ncDcMwDMMwDMMwDMMwjDGN\\\\\\n\",\n       \"CViGYRiGYRiGYRiGYRjGmMYELMMwDMMwDMMwDMMwDGNMYwKWYRiGYRiGYRiGYRiGMaYxAcswDMMw\\\\\\n\",\n       \"DMMwDMMwDMMY05iAZRiGYRiGYRiGYRiGYYxpTMAyDMMwDMMwDMMwDMMwxjQmYBmGYRiGYRiGYRiG\\\\\\n\",\n       \"YRhjGhOwDGMl4ic/+QlFUUS33Xbbii7KhOVrX/uaOwdGmIncTvnY//vf/67oooxZ7BoyjLHF4sWL\\\\\\n\",\n       \"6dBDD6XZs2e7+9cXvvCFFV0kI4ODDz6YNthggxVeR0899RR1d3fTP//5z+WyvxdffJEmT55Mf/jD\\\\\\n\",\n       \"H5bL/gzDGJuYgGWMCe655x56//vfT+uvv777Mlx77bXprW99K33/+99vWu6b3/wm/d///d+w93P/\\\\\\n\",\n       \"/fe7l6dOv1xed9117qGPh1KpRBtttBEdeOCB9Nhjj7W9vR/+8IfuRXiis3DhQjrppJNo2223pSlT\\\\\\n\",\n       \"plBPTw9ttdVWdOyxx9Kzzz47avtdunSpayc4r0bKk08+SZ/+9KfdQ3NXVxfNmjWL3vOe9yy3B9ex\\\\\\n\",\n       \"xkjvRaMBzg3fg+I4phkzZtDWW29Nn/zkJ+mWW26hscxYrE/DmCg/GuD6wzY+85nP0M9//nP62Mc+\\\\\\n\",\n       \"RhMZ+TyHYdq0afTGN76RrrrqKhqLrKhnlpNPPple97rX0a677trR7UKgwvFoVlttNSe0fvWrX+3o\\\\\\n\",\n       \"/gzDWLkwActY4dx4442044470l133UWHHXYYnX322e4LCi9g3/ve9zouYEEQGS13xOc//3n38Hfu\\\\\\n\",\n       \"uefSPvvsQxdffDG99rWvbVtsMQGLnPC33Xbb0SmnnEJbbLEFnX766fQ///M/9OY3v5nOP/98etOb\\\\\\n\",\n       \"3kSj+TCIduJ7GPzKV75Cy5Yto4kERCoIIb/61a/ofe97n2ufRx55JN133330hje8YYjQPBEI3Yvw\\\\\\n\",\n       \"4of2ATF+RYBrBvegn/3sZ3Tqqae66+X3v/89vf71r6ejjz6axgK+a8gELMNYcfz1r39194gTTzyR\\\\\\n\",\n       \"PvrRj9IOO+ww4U8HfkTle+mXvvQleuSRR2jfffelP/3pT2OubrKeWUaL+fPn009/+lP3w1angYCF\\\\\\n\",\n       \"4/GB/d1+++2uzRqGMTEprugCGMY3vvENmj59Ot16663OMSB5/vnnV6oKwss8nGTg4x//OL361a92\\\\\\n\",\n       \"oha+5OfMmbOiizemWLJkibOC+6hUKrTffvvRc8895x7IdttttyFtBoLWiqBYLLphovDyyy+7Ng33\\\\\\n\",\n       \"G4SsV73qVY15EET23ntvF26CF55ddtmFxhJJklBvb68r+/KiUCi4YUUB9ypeQCW4Vj7ykY/Qd7/7\\\\\\n\",\n       \"Xdpkk02cy2JFMtGuIcMY6+BZCz8UdYparUb9/f3OUb+yguc3eS/FjzeoI/ywiu+9ic4vfvELdx+H\\\\\\n\",\n       \"qLc82XzzzZ0TH47Bt7zlLct134ZhjA3MgWWscB599FHacssth4hXAGFKDGzcED0gBrGtG3kAwBNP\\\\\\n\",\n       \"PEGf/exnadNNN3Uvq7AZ77///k1OK3zZYRqAK4G3IX+x+uMf/+hEKAgrU6dOdS4quEyGC3+5Pv74\\\\\\n\",\n       \"4+7vhRde6KbhuBCGhYehH/3oR0PCgLDP66+/vlFG7Tbq6+tz4sHMmTNdWd/73ve6X8PygF+t+BhR\\\\\\n\",\n       \"5+9+97vpgQceaMz/7W9/6/aJ/WvOOeccN+/ee+9tTHvwwQedwLHqqqu6h1W46X73u995wxuwTZwn\\\\\\n\",\n       \"HP8666wTLOOll17qHHlf/vKXh4hXAHZ+iFiSSy65xIkoOP+rr766e/B85plnmpZBe0EoIqYj/A2f\\\\\\n\",\n       \"UYdf/OIXqVqtumXQZjAN4BdAPgdsZ/fl78H45z73OefIwYMVzi3a9NVXX50rb4VvmxDx4D6DYITt\\\\\\n\",\n       \"Yb3jjz/enXu9b5/VHsvz9QEGBgbc8UDAwHnCNYK6veaaaygLnPN58+bRGWec0SReAdQ1X48IJfD9\\\\\\n\",\n       \"KvypT33K7QvnDCG1EMQkCHnBywDOGba34YYb0iGHHDLkZeiss85ydYqyr7HGGm67els45ne+853u\\\\\\n\",\n       \"F3K0Q2wP5cc5wTWvwXYh+LDoDL797W87IQ5lxvpoU7gmJFn3olAOLLjWUH6cy7XWWosOP/xwWrBg\\\\\\n\",\n       \"QdMyuM5RVjhFUd5Jkya58n3rW9+ikYDjgJMA1yiuGwh7w63bf/zjH7TTTju5ZREmDXeCJE870+09\\\\\\n\",\n       \"VJ9/+9vf3OfLL798yDH98pe/dPNuuummEdWNYYxX8nzfcfoDPKMgPI6vP75/4fsGrqyNN97Y3bvW\\\\\\n\",\n       \"XXdd50byfQ/hO/Ciiy5q3Of4+w/7xz0d9xb+brzgggua1udy/OY3v3H3KDwf4P6xxx57OOeTBiHR\\\\\\n\",\n       \"73jHO2iVVVZxzzLbbLPNEMd+nmeTdoUTfE/hmVWSt45wD8S9EM9dOBd4XsV3OhP67uC6CbmrWj2z\\\\\\n\",\n       \"4J6Mupg7d26u4+TnGNQZ/uL+63t2wXIIH8SxSP7zn/84sQ/51LANnMsPfehD9Morr+TaP/b1gx/8\\\\\\n\",\n       \"wH2WYZzaHQdnsfwuMwxj4mA/gRorHITa4CUEogi+LEPgBQyhhXh5Qk4XwC/UcG8hFBFfkviyxBc6\\\\\\n\",\n       \"hCG8EOJlEC+Cu+++u3NDIQwNDw14GAH8F9s/6KCD3Ms0HAt4+cY28MBxxx13DCthJj/o4CUOYHt4\\\\\\n\",\n       \"eHvXu97lfrnCFzAEHbxE4oUW4GXyiCOOcA8FEHAAHvwkmI8HNzw04VixDh4eEbKYxV/+8hd6+9vf\\\\\\n\",\n       \"7l488XCDMB6EfyF/ASzZOEaIdtg3HiSR80GC7aP8fJ4gtGFdvGQfd9xx7kES6+FhGSIUhDUJjhUP\\\\\\n\",\n       \"WieccIJ7YQ3BD5l583DgwQ+ON4RrImwKzi08zMIxhHMnxVE8uOMc48ELYgXq5Dvf+Y5rS3CmoHw4\\\\\\n\",\n       \"T/iM8sMJBvCAnAVe7C+77DJ3jBA/0c7wEIfcUXz+2wFtHS/0eAA/5phj3AM7jg1io++FvhU431if\\\\\\n\",\n       \"ryHkF4N4hPOOh8EQaKN4CP3ABz7gnQ/BCdcIhFG0J+l2QptE3WPfDz30kKtXiM38QI5f/ffaay9X\\\\\\n\",\n       \"52g/WBbtGfUogaDC5xjXMF62EGqMc4tzjJxzDPbz4Q9/2K2DkGS8JHzwgx90ZYAQh4dqec4Q3ov7\\\\\\n\",\n       \"BoN2g+vzgAMOcA6CX//61074vvLKK9210epeFKp7vFjsueeerl1xXeC+pcsP4ehtb3uba3eoc4hn\\\\\\n\",\n       \"yPmGEE5cu8MF1zTaM8JvcU/Eddxu3eJFEu3xE5/4hLtX4iUULxsQ+Xh7w2lnofpESBNeBvFSrO8l\\\\\\n\",\n       \"mIZldt5552HXiWGMd1p93+H5B9ffUUcd5Z6d8F0DcE/GcwnuhbhP4rrEsshXCifnww8/PCSEGt8B\\\\\\n\",\n       \"+P7HfR9CD54n8F2M65gFLmwXPxTiHoJ7g04Wf9ppp7n0ERDZIHhAvMe9WObwgxAEMX3NNdd0oey4\\\\\\n\",\n       \"p+N7EfdojA/n2SQPKA/uz/Jen7eOUB6UGc8R+LEHQhfup53IIdnqmQUCIsqFe3ar3Kp//vOfG04z\\\\\\n\",\n       \"3MeRNB3fDfoHR4hi+P7Sbl58Z6K9QbzDcyrODfaPc4MfbBBt0Qp8J+F7GecZbdMHvnNQx6jXrPcG\\\\\\n\",\n       \"wzDGKYlhrGD+/Oc/J4VCwQ0777xz8qUvfSn505/+lPT39w9ZdvLkyclBBx00ZPrSpUuHTLvpppvw\\\\\\n\",\n       \"00zys5/9rDHtkksucdP+9re/NS27aNGiZMaMGclhhx3WNH3evHnJ9OnTh0zXYHvY7gUXXJDMnz8/\\\\\\n\",\n       \"efbZZ5Orrroq2WCDDZIoipJbb701WM6999472WijjZqmbbnllskb3/jGIcteeOGFbj977rlnUqvV\\\\\\n\",\n       \"GtOPOuooV38LFizILOd2222XzJo1K3nxxRcb0+66664kjuPkwAMPbEz78Ic/7JarVCqNaXPnznXL\\\\\\n\",\n       \"nXzyyY1pe+yxR7L11lsnvb29jWko1y677JJssskmQ8q92267NW0zxPbbb+/qPQ9oJyjrVlttlSxb\\\\\\n\",\n       \"tqwx/corr3T7POGEExrT0HYwTR4D72+HHXZojOMcYrkTTzxxyP4wTd86MV4ul5NHHnmkqV4x/fvf\\\\\\n\",\n       \"/37T/tdff/2W27zzzjvd+KGHHtq03Be/+EU3/a9//WvTvn3lxH7ktbLtttsm++yzT9IuuC6wbhaf\\\\\\n\",\n       \"//znXTnuvvvupvONOpXX8be+9S03/YorrnDjl19+uRvn68PH3//+d7fMRRdd1DT96quvHjIdx4xp\\\\\\n\",\n       \"mCd56KGHhpwL8NnPfjaZMmVK03Wpr1GUH23rLW95S657ER/7448/7saff/551zb22muvpFqtNpY7\\\\\\n\",\n       \"++yzG/cMBte8vmf19fUls2fPTt73vvcF60gef9Y5/u53v9tU/8Op2xtuuKExDcfW1dWVHHPMMW21\\\\\\n\",\n       \"M981FKrPOXPmuH3Iexv2WywWve3eMCYifN+R99K833ehe8fPf/5z952P+4Tkxz/+sdvuP//5z8Y0\\\\\\n\",\n       \"jGPZ++67r2nZT3ziE8maa66ZvPDCC03TP/ShD7nveL7f8jPU5ptv7u55zPe+9z03/Z577nHjeH7Y\\\\\\n\",\n       \"cMMNXXlffvnlpm3KZ6K8zyYhsE+UHc8CuN/cdtttydve9jY3/Ywzzmi7jvjei+2F0N8dDNeNfG7V\\\\\\n\",\n       \"zxJZzyzYHub57q++Z0ScL3m/xTM61pf7w7OO7zv1jjvucNPxrD0SDj/88CHfEZIbb7zRzb/44otH\\\\\\n\",\n       \"tB/DMFZOLITQWOHgV3k4sPArFsLG8IsbfsHBL2d57d7S9YFfhvCrEezccHTgl/9W4Jce/DoE58YL\\\\\\n\",\n       \"L7zQGJDLBr9cIpQlD7DJ49cwhAjBrcFhMbCu63Li1zzsAy4nJCzPa68G+KVPWqoREohfWuFuCQH7\\\\\\n\",\n       \"+J133ukcE7DUM/iVDudAdksMxwrcMdKyDicIfm3EPPDSSy+5X1zhElm0aFGjzlD3OH+wkesQPjhi\\\\\\n\",\n       \"8uQHwi+zcDHlAe4OlBXOJ5lvA/W/2WabeXsN0klHUX/D6S1SAneN/GUW9YqwueFsl8+FTrrNv44P\\\\\\n\",\n       \"pyckXAv4tRLnpR1wbludC56P86bbqXTw4NdaOA/5+NgZh19ncd36QGgofrVFG5XXJn6BhatIX5tw\\\\\\n\",\n       \"hOn8JMhlguTm0qGI6wVtGvk75HUpP+PXdlyXaB957iM+4HjAr9JwGsBZIK8FtA99LnFMMu9KuVx2\\\\\\n\",\n       \"zqSRtk/eNp/T4dQtfpVHXTC418HhJss23HYWAmGn+DVfhnHiPCLEVuf6MgyDOvZ9h/sDnDv4HpX3\\\\\\n\",\n       \"B06NoO8PeJaRebSgA8HthHssPstt4B6Ne6u+r8Ltg3ueLCvg8sIZCpco7qc67QQ/Ew3n2cQH3Kq4\\\\\\n\",\n       \"xyHlAZ7hrr32WhcaKL+X89YRl/WKK65wz1HLEzjhUP+t3Ff8jAinlnRK4ftB50dDXQJEAkh4PYTx\\\\\\n\",\n       \"I4phtOD9oq4Nw5h4mIBljAkQ+oWwIbww/utf/3IJz/HggXAVhLu0AqFLCEtDuAms2bCv48EDolQe\\\\\\n\",\n       \"YYhftvDQgfXkAEt13mTyKAPEMDw83X333c4GLcPgYBeH0MH5p7B9zoHQjoC13nrreb/Mdd4aCYtb\\\\\\n\",\n       \"eOHU4AEMDwIc1ocQJjyIyBd+fIYIADEAwP6OhyJ0Z6zrDKGNQNcbxIU84MWeX7JbkXVceKjUoh5E\\\\\\n\",\n       \"Ls4XIesvq+6Gc05Gsl2UGWIHRFgJ7PhoN1lCZQiELeB6wPlDONr/+3//z7XRVkCcanUueL4WupAH\\\\\\n\",\n       \"SQJRBGEfnOMDLzwIV0B4Ha5Z5GNDnjiZOwTXJq4NvETodrZ48eLcbQzCK64/fnGBOIt1WZBlIKYh\\\\\\n\",\n       \"5AXtBEIvh2e0c33maZ94SUMorz6XCNXQ+T460T4B6kuep3brNk8bH247C4FrGN8PCBlk8BnnSF8f\\\\\\n\",\n       \"hmFQx77vcH+AGK3vDfwM0Orei7ycuBegV2a9DQhVvm20erbhtAxZYWPDeTbxge8jPM/hRwbO2wdR\\\\\\n\",\n       \"Rv4QkbeO8D2DkEaESiMlBMLWEdK4vMWsLPi7SH9vh56vgM5BhTYAge9///d/3Xc6BEPksxru92cI\\\\\\n\",\n       \"3q/+rjQMY2JgObCMMQVe6vCyggEPAHjIwS9c/NARArH2ePHFr3LIiQLxBV9seEjI84DAyyDeXubI\\\\\\n\",\n       \"YfL2mIUXNghUPvDghYSkeCE788wzndiG44UbBbH87TzIhFxMnUpoCREQuSKQawnJp5HHAi//6Oqe\\\\\\n\",\n       \"4fIiV0WoRx79gpm3NzjUEX5pfeqpp1w9dZLR6iEuzzkJPWxxQl3NSB7O9DaRAw5tEL8AQ5TFAyba\\\\\\n\",\n       \"3Y9//GP3UB0C4ibOBUQltAsfECjgtPI9+GaB44Oz5uabb3a5tvCrLVyMyNGCaRC80M4gsEgBQ6Jf\\\\\\n\",\n       \"zkJtDC8QEMZxP8F9Ai8PuE9ArGX+/ve/Oyco6grtHmIbjgv3FiQNXx6M5rXNnS/wddlu3eYp23Db\\\\\\n\",\n       \"WSsXFnLbPP30064dom0gT5dhGKP3fYf7A55p8LziQ38363svPyPAKQlXjw+dW7IT97/hPJv4wI8J\\\\\\n\",\n       \"/DyHhPEQZJDHCx1scJ6pvHWEurnhhhucIwuCGBLc40dB/GiK+ySOu93ngxUJ5/X0CaH4/obTn78D\\\\\\n\",\n       \"kFsR+bRw387qvKcdeL84J4ZhTDxMwDLGLBx2J3tOCX3B4yUYD0j44mR6e3uH9PIVWp9Dv/AyFxKg\\\\\\n\",\n       \"Rgpe0PHyhbBI+SujLzxxNH5VQrJ8gATSGvRQgwcBOMPkCz/CH2GbR4JUPEBKtwrcIwAv+J2uM4Qc\\\\\\n\",\n       \"/OpXv3LdNEN0yHtcuktlTOP57TBav+rh12TdJoF24aDMeDDGr7vcyQCAkIj15TH5tomQNV+PQ3AU\\\\\\n\",\n       \"QRTGAIcNxAb8spwlLCDxLEJ8Ifz4QrbgpoLwgzagX2BQftn7H/aJcuFlQAI3DQb0PgWhCEl7kTwd\\\\\\n\",\n       \"5cK1iTA8/HqdVwD1gV+GEYqHlwa8hMDxCZFWinIId4FjAUKanA4Ba7htRLZPvmb4HCEUZrTuNxrU\\\\\\n\",\n       \"PQRpvFBxm+pU3XainWXVJ36IwK/6uCfAbYt7jnbOGYbRWXB/QFoH/PA2nO9ECOBwe0KA6dR9jp/V\\\\\\n\",\n       \"IMaHtjlazyZILg4x/itf+YpLlo46aaeO4NzCchggeOEHQXTUg2dAlJPdZvr7PI/juhPPLPxd5Qv/\\\\\\n\",\n       \"1s+NeIbFdwb3sK2BqIcBdYUOlvAdgx8xvv71r+cqS6vj4f3K5yPDMCYOFkJorHDw5e37dY3z5Ejr\\\\\\n\",\n       \"MgQWnwCAX6/0NtC7nv7ligUavQ38SoewNTxQ+HLxwAo/UviXRVlO2Kp9L8eh4xwJcJMgBBCilNw2\\\\\\n\",\n       \"HgTxK5kWFfBAhRdRvPBjwMu/DBGA2IdeHs855xyvWDKSOkPoKB5+IGhAPPGFrHEPjRA6URY8HMnQ\\\\\\n\",\n       \"M/R0BOGNe45rB/RaCTp9DvCwi3MuQ6pQd7pXQT4X6F1Swr/yymPCNvHLrgQhG7rtc84KBu4m/Aqt\\\\\\n\",\n       \"u/r2PbSjfhEKpvOmQCSGSIE2jfBZDcohryeE4iF3Efemh19R9XWLNgq4XMhjgmM55ZRThmwf22rn\\\\\\n\",\n       \"HEH0wK/A6D0PIbNaBOFfwWXdQaDTvW21c43iOoLTEr1SymNFfhW0heG0z3aB6INQZuSGwXXDLwed\\\\\\n\",\n       \"rNuRtrOs+oS4jjYDQRtuMbjm7Jd3wxhdcH9AyPV5553nvadk9STM91OEiOOHAXZ/jvQZ4TWveY17\\\\\\n\",\n       \"DsF3o75f8P11tJ5N4MRHHko8V8Bd1E4d4d6r0d91LM7J73Pcn/E9OpJnFnwH40dKX12EnhFlyB/C\\\\\\n\",\n       \"KHUqD4iDePZCDlIJ8mDiu0OCZzmId62+A/I8qzP//ve/nYOae781DGNiYQ4sY4WD8D/kFcAvWggd\\\\\\n\",\n       \"gzMBv9hANEHySc6VAJBcGI4BvMgjUToeZJBkHS4RhP/hCw3JJiF6YDm2OTP4csZD1emnn+6+oOGy\\\\\\n\",\n       \"gGsHDzx4ucZLHh6Q8Is/fj188sknnd0bvx6NNGRlr732ci+ycBdBFIAzAQ892Ld+sMBxojz4tQov\\\\\\n\",\n       \"f1hGu4uGwxlnnOFeBBFmiW6s8YAFoQ/1BoeEfkCBTR5OGDyEoQtuDXIb7Lbbbu4BBUmp8csnXEKo\\\\\\n\",\n       \"f4T74JfJ4YB9wyGDl3+4N/CQiHOA6cg3AZcOfq2EwIVpOJ9oJ8iphET8KMP3vvc9137QPXi74JdF\\\\\\n\",\n       \"tCO0QYSyQshDzo2RdteMdnXssce6tg5bPdo9zjP2IZPZbrvtts5RiAdXPMDhuJAbDg+WcA1JVxNc\\\\\\n\",\n       \"LUjSixcFJFtFncNBpF/wcTx4qEfbwvHgwRPORbiRssA1hOUgtODawP6wrXnz5rmksMg3grreZZdd\\\\\\n\",\n       \"hqyLaxm/NuP84RdchOWhvSBMD+B4MA31gYd3CJO4JiAms4iHY8f1ghAEJJjFdYRzjl+J4QrDviF4\\\\\\n\",\n       \"5gHlQFgJBtSB/nUex4h7CwSSj3zkIy5/Cdo4rkGdxyl0L9LgPgIXIfJ8Ybs4dq4LhEp3OhE5XqYg\\\\\\n\",\n       \"9ADcY/DigXrC+cLLF+qS6WTdjrSdtapPhBFyWXyCm2EYnQXPQwi1xvcLfmjEdzAEFYghmI7vGXbK\\\\\\n\",\n       \"hzjttNPcuriW8YyA+wPEHHzf4Xr3CTtZQAjBdyaeo/A8h+99CC8oE54NUKbRfDZBaBx+rMEzB76L\\\\\\n\",\n       \"89YRcgNCmMJ3DJxO+G7BdwBC6lBOADEGTmR8X6BecP/E85cWhNp9ZsF3ApxKeKZolcgd3wUoI8qE\\\\\\n\",\n       \"cH6UA8+IKBvnUJQ5wvCDCEQrfGcD5H/FvX7//fd35UDZ8WzOYmZe8H0A8JyEH5ixPp6fpKiGNmA5\\\\\\n\",\n       \"sAxjgrKiu0E0jD/+8Y/JIYcckmy22WauS3t0Ob/xxhsnRxxxRPLcc881VdCDDz6Y7L777klPT09T\\\\\\n\",\n       \"t8DoTvnjH/94svrqq7tt7L333m5ZdPuruw4+77zzko022igpFApDuibGZ6yL7p27u7uTV73qVcnB\\\\\\n\",\n       \"Bx/sulDOgrs5btV18O9+97tkm222cdveYIMNktNPPz254IILhnSdPG/ePNel9dSpU928N77xjcGu\\\\\\n\",\n       \"suX+5bGE+Mtf/pLsuuuurg6nTZuW7Lvvvsn999/vXfaaa65x242iKHnqqae8yzz66KPJgQcemMye\\\\\\n\",\n       \"PTsplUrJ2muvnbzzne9Mfvvb3zaWCZW7FTivJ5xwgusOe9KkSa7ettpqq2TOnDnJ3Llzm5ZFd8ro\\\\\\n\",\n       \"HryrqytZddVVkwMOOCB5+umnm5ZBW5g8efKQ/aDraX07RDfN6Goc7VF2T+1bFuPo9lnja3/okhrH\\\\\\n\",\n       \"gO1uuummyS9+8QvvNgcGBpKTTjrJdRmOel133XXdcctuwUG1Wk2OPfZY1/ZRR2i/6OJa7/vrX/96\\\\\\n\",\n       \"stNOOyUzZsxw5x7X2ze+8Y2kv78/yQPa52GHHZast956rjzY37ve9a4h3YfL83399dcnn/zkJ5NV\\\\\\n\",\n       \"VlnFXZc4Jy+++GJjudtvvz358Ic/7LaJ8zZr1izXdnzX27nnnuvOB8qO6wJt4ktf+lLy7LPPZnYF\\\\\\n\",\n       \"r0HbR9kOPfRQ7/zzzz/fdbOO8qCOcCy+8xO6F4W6Qj/77LPd9lB3a6yxRvKZz3xmSDfwuM633HLL\\\\\\n\",\n       \"IWXSXaaHwDLYN1+zuL6xPZy3W265JbjeSOoWZeb7U9521k59Mn19fa4d4d68bNmylnVhGBMJ33ds\\\\\\n\",\n       \"O993oesb1y2eU3AfwT0R1yDuFfhueuWVV1p+BwI8x2EevsNw/8Ozwh577OHuO62eoXAfxXQcn+Qf\\\\\\n\",\n       \"//hH8ta3vtXdr3CMeK76/ve/3/azSYis4/na177W9LyVp46uvfba5N3vfney1lprue9+/MV338MP\\\\\\n\",\n       \"PzykzHvuuafbDr4njj/++MZzmHy+830nhJ5ZuA71PTXEpZdemmy++eauDFtssUVy2WWXefeH81os\\\\\\n\",\n       \"FpOf//znjWmPPfaYe57HszOe1/As9uY3v9k9d7ZDpVJx7wAzZ85032WyvT7wwANuvN1tGoYxfojw\\\\\\n\",\n       \"34oW0QzDMAzDMELgl3w4s/CrO8IvDcMwjOUDnGfouZd7EGbg5H/44YddHszlBTphgZsNYYTmwDKM\\\\\\n\",\n       \"iYnlwDIMwzAMY0yDPGTIXYNQQsMwDGPFgx7Cb731VtdL9fIAORbRsy3Sa5h4ZRgTF8uBZRiGYRjG\\\\\\n\",\n       \"mOSWW25x+ceQ92r77bd3ebsMwzCMFQ96I0RnLnlB7lnkXs1i9uzZmTk5dS4uwzAmHiZgGYZhGIYx\\\\\\n\",\n       \"JkHCZiSlR8LmVgmIDcMwjLHLkUce6TpvycIy2xiG0QrLgWUYhmEYhmEYhmGMGugV99lnn81cRvcO\\\\\\n\",\n       \"bBijDXKqoZd25FVDr/CXX36562U0C+SEO/roo13vp+uuuy595StfcbnijOWDObAMwzAMwzAMwzCM\\\\\\n\",\n       \"UWOLLbZwg2GMJZYsWULbbrstHXLIIbTffvu1XP7xxx+nffbZhz796U/TRRddRNdeey0deuihtOaa\\\\\\n\",\n       \"a9Lee++9XMo80TEHlmEYhmEYhmEYhmEYExZ0DtDKgXXsscfSVVddRffee29j2oc+9CFasGABXX31\\\\\\n\",\n       \"1cuppBMbc2AZY45areYsxlOnTrVeRgzDMIxGbpRFixbRWmutRXFsnSivaOy72jAMw+jUdzM6BOjv\\\\\\n\",\n       \"7+9YmXRPlV1dXW4YKTfddNOQUFc4r77whS+MeNtGPkzAMsYcEK8QT2wYhmEYmqeeeorWWWcdq5gV\\\\\\n\",\n       \"jH1XG4ZhGJ34boZ4teH6U2je89WOVOiUKVOG9Fh54okn0te+9rURb3vevHm0xhprNE3D+MKFC10v\\\\\\n\",\n       \"mz09PSPeh5GNCVjGmAPOK7DZZgdToVBe0cUxVlqiFuNjZVujRdLBdcfKtoyJTLXaTw8++JPGd4Sx\\\\\\n\",\n       \"YuHzsBu9g4pUstNhTEguf/ieFV2ECU+8xh0Tvg5WJBBuYDwYyXcznFcQr5749wY0berIHNYLF9Vo\\\\\\n\",\n       \"/R3+6wS1adOmNaZ3wn1ljA1MwDI6zjPPPOPig//4xz/S0qVLaeONN6YLL7yQdtxxx1zrs+UT4pUJ\\\\\\n\",\n       \"WMbIRKK4Q9vqpOi0vEKfah3cVtIh4YnLZCKWMXx0WICxYs8DxKtiZAKWMTEZ6cu2MXJiIVIYK/d3\\\\\\n\",\n       \"85SpkRtGQq3+zA7xSgpYnWL27Nn03HPPNU3DOPZl7qvlgwlYRkd5+eWXadddd6U3v/nNTsCaOXMm\\\\\\n\",\n       \"/ec//6FVVlnFatpYjoxEdBqpYDVWHmbjDgpcuk6GK2jFHRTDDMMwDMMwjPFCNalRNRn5NkaTnXfe\\\\\\n\",\n       \"mf7whz80TbvmmmvcdGP5YAKW0VFOP/10ZyOF44rZcMMNrZaN5SzYDEeAilaQM6sT2xmOKBSPcDtc\\\\\\n\",\n       \"5nb3G4l9m5hlGIZhGIZhrBiQK+uRRx5pjD/++ON055130qqrrkrrrbcezZkzx0UX/exnP3PzP/3p\\\\\\n\",\n       \"T9PZZ59NX/rSl+iQQw6hv/71r/Sb3/zG9UxoLB/GilXAGCf87ne/c6GC+++/P82aNYu23357Ou+8\\\\\\n\",\n       \"81Z0sYxxC4s/0TDFILm+3laeZYez7Xa20Q6d2N9I6mK06t0wDMMwDMMY79Qo6cjQDrfddpt7X8UA\\\\\\n\",\n       \"jj76aPf5hBNOcONz586lJ598ssmYAbEKrqttt92WvvOd79D//u//up4IjeWDObCMjvLYY4/Rj370\\\\\\n\",\n       \"I3fxH3/88XTrrbfS5z//eSqXy3TQQQd51+nr63ODTAZoGMtPh486sFyW0NOp/bfaRp4v7CSwP7mu\\\\\\n\",\n       \"np+MkhOL1+X1R9fybRiGYRiGYYxdau7fyLfRDm9605soScLPsD/5yU+869xxh3UesKIwAcvoKLVa\\\\\\n\",\n       \"zTmwvvnNb7pxKNj33nsv/fjHPw4KWKeeeiqddNJJdiaMYQhXww0VjDosjEXL+Rh84Mu31Zd2aF9J\\\\\\n\",\n       \"G/VQy1Gvww1pzHMMhmEYhmEYhmFMRCyE0Ogoa665Jm2xxRZN0zbffPMm66UGscWvvPJKY0C3p4aR\\\\\\n\",\n       \"nT+pXeGnnRA63n6rbcUtltXL+IZOhxAOd396maxy5S37cEMLR6NuDMMwDMMwjLFMNUk6MhjjG3Ng\\\\\\n\",\n       \"GR0FPRA+9NBDTdMefvhhWn/99YPrdHV1ucEwRkcQ8X0OLedbJs+00DJ5lusk7Yb/+ZbjcMRW24ra\\\\\\n\",\n       \"mNdOmOFwj8EwDMMwDMNYWRlODivfNozxjQlYRkc56qijaJdddnEhhB/4wAfoX//6F5177rluMIzl\\\\\\n\",\n       \"axjNK3blEZqiDpVtebuKfMKSTyDKEqB4GZ9glSViZW0rD1zWas7lDcMwDMMwDMMYz5iAZXSU1772\\\\\\n\",\n       \"tXT55Ze7sMCTTz7Z9dRw1lln0QEHHGA1bQyD4YSSZbmp5DLRMOfFHRKzRiuCu5ZzHzVxTIXAfJ9Q\\\\\\n\",\n       \"FXJt5cl/lUfw0nDZLD+WYRiGYRjGeAXuqao5sIwWmIBldJx3vvOdbjCMkTGcPFfybzvLZIUahgSt\\\\\\n\",\n       \"4QpkedYfCa2EMRaYWiV0zxKlslxVrUSqkTiycGyW5N0wDMMwDGO8YSGERh5MwDIMYwzSbq4ruV47\\\\\\n\",\n       \"24xGScQaTq6u4QparcSl0DohV5UW+XyCl85rFQ0ztLDdPAVcT5bfwDAMwzAMwzAmGiZgGYaxEjuv\\\\\\n\",\n       \"8gg/Wb0EhkSprHVC+2jXpZV3n61ox5GUeEIGZWheyB0VtxFeGAot9JUzb+ihBGWxcELDMAzDMIzx\\\\\\n\",\n       \"RCd6EbReCMc/JmAZhrESi1dZ28laz+ew8q0TcmXFbeyv1THlCX3MIk8Pfyz45BXZ2hG0tJjFDild\\\\\\n\",\n       \"Hr2Oj7zuKgsnNAzDMAzDGE/UOpAowhJNjH9MwDIMYwzQroiTtXw0AiHKt36eXgpDy4X20Wqddmg3\\\\\\n\",\n       \"eXqefFi6vkJhhCGXVas8V1HGtHZErDzinWEYhmEYhmEY4wETsAzDGCPkDaFrJfqExBifiJWVw0p+\\\\\\n\",\n       \"jjvk4sqz/EiQbiiNb18+wSkJhAxKQjm3QnmxtCgVEqny5M6SWFJ3wzAMwzCM8UC1A70QjnR9Y+xj\\\\\\n\",\n       \"ApZhGCtJ2GCWcNVOniu9vyznVDuJ3X3jrUILO00rQafqWV5+0YecVrEnFFEv41suS5TKCinMCkXU\\\\\\n\",\n       \"WE4swzAMwzCMlZ1qkg4j3YYxvjEByzCMFYAUQFqJV62WC7meQoJTSHRqldcqj6AV50wS366LTJP1\\\\\\n\",\n       \"7Zwl/BTU9JBwJPdTy5EvS4fycV0kbeTHCiV5l2UJIes+bzJ4wzAMwzAMwzBWJkzAMgxjOZNHwJHL\\\\\\n\",\n       \"yr+h+VnLRy0ELDkva/tZYYR5QgrbydeVR8DyiTTsngoJP7WAoJXkzFUVypflm+4rG2WULSusME9u\\\\\\n\",\n       \"rFZ5twzDMAzDMIyxiiVxN/JgApZhGMuZdkPn8jivspxRrfJSSWeV729IRNPrtQon9B0HBKROokME\\\\\\n\",\n       \"SQlUWrDS87XjipSziZSQxGGDupdDX4L3aoboJYW3kBMrryDF2/HVhWEYhmEYhjEWqVFE1Vw/cGdv\\\\\\n\",\n       \"wxjfmIBlGMZyot2k5XlzXg0nz1WWe0qWU4cYhsSsQpuhh1mOsrxfvKFQvFDSdT1Njlc9oX+8nm9/\\\\\\n\",\n       \"nCze51DTTitej+tIi11y+3nCCfMKWYUWSe0NwzAMwzAMw1iZMAHLMIzlQDvCTDSM8EC9n9AyUpgK\\\\\\n\",\n       \"rZMlWsnpukxRi/23CifMmh5aNsmxnVDS9SggLvE6jC8xe0jk0uWSidyz8mPpZULbD4UfhmhX9DIM\\\\\\n\",\n       \"wzAMwzBWBLUkHUa6DWN8YwKWYRhjTMDi5VtNyxP212q6nCcFppADK2u9kPDlK6NvmU7gC+XTidvl\\\\\\n\",\n       \"MtpVJcvGIpdPzJL70CKVdGZlHZ8U0fRfuW6rvFxZmIBlGIZhGIaxMlDtQAjhSNc3xj4mYBmGMcaF\\\\\\n\",\n       \"rpD41Wq5kFjUSnzyTc8TUuhzWmnXVaueDkcCi0dymzqEjoUnGaYn15MuK+m24u1oIYzn+0SwVvmx\\\\\\n\",\n       \"fL0UyvlMyK3lW9YwDMMwDMMwjPGKCViGYYwyeZxGUZsJ2EPOKTk/T1hgluvKl9eK99fKuRXKl1UY\\\\\\n\",\n       \"oTOt3ZxYMpG5dGPVPLmmWKSS7iufQFT1iFZRi5xbOj8Wf5b1rPevBSvtBssbTqgFO8MwDMMwDGOs\\\\\\n\",\n       \"YQ4sIw8mYBmGMUr48kGFlpN/qY3xrFBBn4ClBafQOlEL0avVtrMcWdoZllUnIUKCjXZA+ebpED/t\\\\\\n\",\n       \"3Ao5rcgjMMlxWe52HFIhB5ZvG1pU84Ue+uBz4xP5DMMwDMMwjBVNLYncMNJtGOMbE7AMwxgl2nEX\\\\\\n\",\n       \"ZYUI+gQun/NKL9uugBQHQv5CwpVvni9JfDs9FOqyh/AJMT5hJrQdKRJJt5QM95PzpHNLlq8WCA/k\\\\\\n\",\n       \"Y6sq95RcLsrhstJl9glVrcQrXRcmYBmGYRiGYRjGyogJWIZhjAI6VC5EqxBBOU1+9jmd5L59IX7S\\\\\\n\",\n       \"JRUSunxClB6Xy2UJWFlhilzOVnWRh1pG2GAojE+G/2kBi8dlSF9Nhfzp3Frk6c1QCl9yGa4bKW7J\\\\\\n\",\n       \"fcv9+QSqvCGGPrj8so4MwzAMwzCMFY2FEBp5MAHLMIwV4LoKLRPKZ+Wb32q6T6zSwlMhIG7pz6F5\\\\\\n\",\n       \"vC6LZllhhiHRTYcrtqojn3AkBZ1CQKSS02WC9qQu6CRKZNLClVxXhw3yZykM6bxTens62bzcVqtw\\\\\\n\",\n       \"wpBglddlZeGEhmEYhmEYY4kqxW4Y2TaM8Y4JWIZhdIiQEONbTv7V00PL+FxTWeKPFqB84hPlEKp0\\\\\\n\",\n       \"YnYdalho4dTy7SdPvYW+wGstBCw9XW6XhSoZAsjj8itfhvzJXgmleCU/y3EKzOft8nzfudXTeZpc\\\\\\n\",\n       \"Rk8bbk4svS3DMAzDMAzDMMYyJmAZhrGc3Ve8bKt1Q4JOyNkklwklWveJSnmFqXgE29Bl9R1v3rDL\\\\\\n\",\n       \"QovfmrT7ytcDIM9jocfnZJJikNwOr8eOKhnuJ51Ucly6rmQuLekE84X/+YQ1LVjpY2slXmWtaxiG\\\\\\n\",\n       \"YRiGYawIkg4kccc2jPGNCViGYYwQLSJlLSf/5g0bDAk/ofBAaiE0ZeW50kKUnMfCkZ4nt6X3Icsp\\\\\\n\",\n       \"x2WZfNPbQSdg903neUWV40q6q6STS86rqvlatOJ9hPJjcS4s/izFMBaxZG+GOtm73maecMK8Disu\\\\\\n\",\n       \"sxnODcMwDMMwViSWA8vIw8iCTA3DMHKRJ2yQx33hfXrZUG+BPjEqNC6FKd/A84pinD/zdDmU6kNo\\\\\\n\",\n       \"mVKLoTjMoZ3tynKF9iuX8dVBVn2FQjBD46GQTl+70dPztCXfdB/2a50xsTnttNMoiiL6whe+sKKL\\\\\\n\",\n       \"YhiGYRiGEcQcWIZhLCeyxCqf2OALAdSf5bh0MmXlv9JCS8h51SqEUO6jkLE/X6J4Jiuk0FdnPjeR\\\\\\n\",\n       \"DhlkpLPJ56SSrifOjSV7Cax5Psei90AZLqhdYDLcUObBkuWRTisZrug7blkfoZxYIwknNIyJy623\\\\\\n\",\n       \"3krnnHMObbPNNiu6KIZhGMYEpprEbhjZNjpWHGOMYgKWYRgjQLtnQstoWjlohhM2SBkClV4+S7xi\\\\\\n\",\n       \"0SkkbLUSvnzLhsIJCznqSQo+vm9lKVpxKJzubVCH4skwQJ0Li/eZtawMufMJVr7cWzLvlVxeHrsU\\\\\\n\",\n       \"uWSCefJMbycnlg4x1MjwRcOYOCxevJgOOOAAOu+88+jrX//6ii6OYRiGMYGpUUS1EQaI1eyHy3GP\\\\\\n\",\n       \"CViGYYyieDXS7Wrxh9FCkZzGjijKyF2VR5AqZszTIXN5t6vLKcf1MeZB57AqCSGGRRyfCOWbJj9X\\\\\\n\",\n       \"M+ZVRFnzbleWl3NOaYGLRSYpXEn3Fy87WmKTFO4MY2Jw+OGH0z777EN77rmnCViGYRiGYYx5TMAy\\\\\\n\",\n       \"DKNN8uYWygoD024rJpTnSH+OPctqx5VcplWYYFZYIE8rqnnasRXaTyjnk++YsupJhwsyWqyS7itf\\\\\\n\",\n       \"YnafuMSClRSLWCiqKCFJOra0yCSFqVqLz/Ivl1+GO4bCC+WyMowxlOSdWkwP1bl50I3xza9//Wu6\\\\\\n\",\n       \"/fbbXQhhHvr6+tzALFy4cBRLZxiGYUw0LIm7kQcTsAzDGAZ5nUKt8jpliVQ+cUeLQLI8WiTK45Dy\\\\\\n\",\n       \"JR+XopQUrLRopZ1aXA5f7iy9bV1uX536HG4+51FWL4RarJKiFotWvK+KKqMWuFgkktuTxyn3lUfE\\\\\\n\",\n       \"ksdd9QhnWeGEsv3o+uHpPgErjyhlLixj/PPUU0/RkUceSddccw11d3fnWufUU0+lk046adTLZhiG\\\\\\n\",\n       \"YUxMOpMDy36AHO+YgGUYxijgcw/5nFdZIhUFQu1C4Xh5BCtfWKAWpvR0LWBp11axxX6LnuPRzix9\\\\\\n\",\n       \"rHxsPuQXs85z5QvhIxEWKOcX1bI6JJAFLi6rzIElBTHeLoltynDDkIglyy/zc3F967LJ/VOGuCUd\\\\\\n\",\n       \"WtqxZu4qwwD//ve/6fnnn6fXvOY1jQqpVqt0ww030Nlnn+2cVoWCzNFHNGfOHDr66KObHFjrrruu\\\\\\n\",\n       \"VahhGIZhGMsNE7AMw2iDeJjhhVnilRakfI6kVq4rHcKnRSvt3JJiVJYoJecXAkKYFsV0qGErcY06\\\\\\n\",\n       \"5MDiz6FcVLq3wUpGInd2Y7FIxEIRhwjy/Eg5qORfWb+8Pz6GUE4seXza2cV1kpUTSwtUPsFK1mno\\\\\\n\",\n       \"VzoZGmkY44899tiD7rnnnqZpH//4x2mzzTajY489doh4Bbq6utxgGIZhGKOXxD0a8TaM8Y0JWIZh\\\\\\n\",\n       \"5CQkToWWyyNeZe1Dfw5Nk+F7UtTyiUU+h5Uvn5VvmWILAUs7rvT+WglYhRx1LXNdMbpHwKxk6loQ\\\\\\n\",\n       \"0rmwtGvLJ/ywe6vaQuSR2/GFD2pXls5nlSWG8vwsAaqViNUqF1arfRjGysvUqVNpq622apo2efJk\\\\\\n\",\n       \"Wm211YZMNwzDMIzlAXogrLb8sbzVNuy5bbxjApZhGDmQgkO7tBKv9HgoRFDOzxM2qMUo6agKCVgh\\\\\\n\",\n       \"YaqoQgp5XC9XaKMnQ31sWW4sauG6Ik9PgKEeBHmcnU8ynxW7tOT2pBuJ3Vexx4klzyVPY4dU6Bh8\\\\\\n\",\n       \"IpacxnUhj0mLcBqfw2o4QpQ8bnsYMgzDMAzDMIwVjQlYhmG0wBfK5iPLWRVaPm4hbElXUpwRNihD\\\\\\n\",\n       \"9bSI1Eqk0vNkuGBRObB8gpZv+1w+X1lCYhaRJ2onk2rDfJUlWoUELP7MoYFF8VnmoGLBij+z8MU7\\\\\\n\",\n       \"lwIYC1o8j7cpkeGIMuxPhxOyeMTL8DwpJrG45WqvTbHJ58zyoUMbDWN8ct11163oIhiGYRgTGEvi\\\\\\n\",\n       \"buTBBCzDMDqAT7jyhQ765vmm+9bT4YH6s843FRKYtNglB9+0QgsBS//Vyw2WqVBIBbs4jtyAaVFE\\\\\\n\",\n       \"FEUYx9/6kbYwYNXqWgo6WsFn/E0S7D+hWi2mWi0VZapV7ciSwpQUkqQbyycexSq/lTw3UszSuah8\\\\\\n\",\n       \"YZ8y35Uc5/VlOKEUqKSbSruwdNihz3nF2xpu74SGYRiGYRjGaIYQYhjZNuyZbrxjApZhGBmMxHnl\\\\\\n\",\n       \"E6GkQOUTN0J5j1qJV9KVpcUsKVrpZOw+oUo6rloJWD7ha9DhFUXpLTaKYidSFYupcAWBigUr/lsU\\\\\\n\",\n       \"d+NWTqxB5xVRpQIRK6qLWJETtDA/cd0Ix+5vkqSCEOYPikwsSsnQPRapSOXG8p1nLWa5PQhByCci\\\\\\n\",\n       \"ydBF/ivPpRTMpIgl82PJ/ej9anQeKy1W+cINQ5jQZRiGYRiGYRgrEhOwDMPIIB6meKXXk8v4wgZl\\\\\\n\",\n       \"OKFcLpQzigUjuZye58tlpcUqOd8nWGXNC7m2UtcVRCs4riBGYYBAhb8sXsnPPM4OrLwCFjQqfIZo\\\\\\n\",\n       \"xcPgeETVauQErmq1QNVqQpWKDLOToYDsvuLPch7XneydUItd0iXH6yUq6TuvK11h0mGVJyeWFrN4\\\\\\n\",\n       \"exoW13xhgnIbcnm9nJ7vE+wMwzAMwzCMTlBNIjeMdBvG+MYELMMwOpDPaiTbkcKVFql0ziv9WYpU\\\\\\n\",\n       \"Ou+UDu/ziU8hwUov12peup8oKlCpBKfVoChVLg+KVPIzC1gsXI3EgSWFLClo9ffLzxC08Lng1hkY\\\\\\n\",\n       \"KFCSSOGqokQrKW5Jt1bWPOmoIk8+LN9nmTtLhh/qEEMpVkkhLEvIohbhg+3Sqe0YhmEYhmEYkmoH\\\\\\n\",\n       \"eiGs2jPauMcELMMwFL48VD6iYUwPhQj68lz55kunlg4fDCVuDzmldHJ2mcPK574qqfmDy8NphdBA\\\\\\n\",\n       \"/C2VUjGKB4yzWKUFLBaveL47wvp4FmmIYPp5MGQw/SsFLOyf5+NzpZI6stL9saCFvzJvGAtGnLB9\\\\\\n\",\n       \"IBCyyfhyT1EOoUc6qrSDS+a4CoX9ScFMz+dcWqEyhMIBW4UJthNyaBiGYRiGYRhGJzEByzCMEbiv\\\\\\n\",\n       \"ojZFKl9eLGawN77W29d5sHQYoXZh+fJcaSFKOq3kPJ5eGuK6SnNbFZtEK3zmcf6sBSztvmIxyx1h\\\\\\n\",\n       \"PS9WFpy4HbBo5XNhSQFrYCAdUvdVur9KJXZDmicLebRkEncWiGS9y2TtofxTFbVMJWMdKUbqnFd5\\\\\\n\",\n       \"2oIOB8zKdyWn+QS3vDmuWoUbGoZhGIZhGO1SS2I3jIQaPyAb4xYTsAzDyMhDNZK8V7wsz5OfGQ4F\\\\\\n\",\n       \"1OuE8l/pwRcuKB1V0mFV9IxLoaqYIWCVhywjBavu7kHRCiKVdl/xuHRg6TxY/LlVHiyZ/0qHDOp8\\\\\\n\",\n       \"WAghhFjFIhcLWBh4Hj739kYupBA5siqVUl104gEF6ffkxBpQIYXyPOqk6zwuQwjl9KIIZZRIMaom\\\\\\n\",\n       \"HGJ6nhTYZEghu7BYENOClQ495Gmt3GMsksqeEA3DMAzDMIzhYiGERh5MwDIMow3XVZQzj1XWsr79\\\\\\n\",\n       \"hXJfZYlXcp7MgRVyXemhpEQqOV5Srqv0MxxXcRxTVxc1cl3hsxSt8BmDdF+xiCUdWJinxSwdQijd\\\\\\n\",\n       \"WNp1JT9L0YoFKxaw0iTuzS4sTE9DCtMBZenrS8MLBwYS6usr1Hs2lCGEVfGZz1klEHYqk7j7xkFB\\\\\\n\",\n       \"bYfD/iQ6wTuLWNxDogw15HaYJT75QgB9Sd152Tw9E8ptGYZhGIZhGIYxWpiAZRgTnrw5r5h2hS5f\\\\\\n\",\n       \"WKGepvNZkUfE8g2+JO8hwUq7skKJ2nlgESsdCoVCvVfByDmuWLDCZxawIARJAQt/ZQ+EPA5RSoYW\\\\\\n\",\n       \"cighC1YyH5ZPwGKxCuM6dBAClcx7hb8sYrFwxaIaO7B4H+l0CFcQs6J6fix9vvQ5lonUpXikhSQt\\\\\\n\",\n       \"8khHFZ9Lua0o0CZ8ieJlOXQIYRSY3qr9thNO6Ds+wzAMwzAMIy+1DvQimNWljzE+MAHLMCY8I4s1\\\\\\n\",\n       \"zx+WGBJBshK3h1xZ0nWlQwqzBp3Lij/HHgfWYNhgFJWaRKqensHP7MDizzL/FYcWyhxYLCDJngq5\\\\\\n\",\n       \"B0LtxgohXVeABSqM82d2Vklhi/fF4lpf3+B07JcFLTAwABGrQL29yJGlz6U8nzKflQ4ddKUNCDyJ\\\\\\n\",\n       \"cGbJNiJzZsn9cSigr42wWCZFLClsaadWJ9H5wQzDMAzDMIx2qVHshpEw0vWNsY8JWIYxIfElTG9F\\\\\\n\",\n       \"SGQKua3kPnzTfftn5Ub3NOjLeRWJfFa+JO7SVaXDBIc6rIbmuepy4YJwXUGIYtcVC1jSZcUiFg++\\\\\\n\",\n       \"3Fi+EEJfDizpwAohQwZ1DixfCCEnbkc5WaTCPB4gZPE8jEt3VrEYUW9viapVhBXKROucH4tFJxae\\\\\\n\",\n       \"ZJhhqN3UlPjEObCwjdDBJ55QQi0aRYFE8LJXQj2dl9eOsXbDAwsZQpthGIZhGIZhGCPFBCzDmHC0\\\\\\n\",\n       \"K16FclpliVeh7ejQLx0OyOXT4lcoFxZP0y4rnxtLClfakaUFrRIVizGVShjSkEEpWLGAxQPGpQNL\\\\\\n\",\n       \"Lsthg7J3Qg4nzEronkWrxO3swMI+WNCSea/wmR1YMsyRxSvAIlYa2ogk73Fd1OoS9c+5q6TYI8el\\\\\\n\",\n       \"kCNdUvzVIwUoKTJJ15ScJtuJFLMosFyWkKQFKp9gNZwQwTz7NgzDMAzDMCTVJHbDSBjp+sbYxwQs\\\\\\n\",\n       \"w5gQaKFpJOuHpkVtfPblsPKFCmrnVmhdKViFQgnjFnmvBh1acVxwwlVXV9QUJshuKxa0MLA7Swpa\\\\\\n\",\n       \"UsCSIYUysTtP56TtIQcW90ooewXWDixO6s5hgzJh+6CTKh0wLsUq/JW5t3jf/BnzsG2IWKhD5MVK\\\\\\n\",\n       \"jVgcqldUziOZeL0QELBkeKB0RUnRqurJeSXn8z58riud+yqUA0vnuvLlvsqbD0uvY/mxDMMwDMMw\\\\\\n\",\n       \"8lKjyA0jYaTrG2MfE7AMY0Iw3F8j8oQNZu0vK7eVzwkWynklBSjOf6XdWD4XFocZ6lBCGTYoP5dc\\\\\\n\",\n       \"yCCcV1qkmjx50GUlHVgsYGmhS4YXsljF031hhD4HVlYvhNqBJcMH2YHFIYSYDrcVxjlMkEMHMc7C\\\\\\n\",\n       \"Gk9nwQ2fly6tnxlXtjTBe7ofn/tOCke1uiDI54EFqaIQhDhkkN1TVJ/P4YiSJMN9JdsVz9fOKrlc\\\\\\n\",\n       \"Vr6qToQT8nYYy49lGIZhGIZhGCPFBCzDGLeMxEIbChsMLavD/drJe+VzWslcVj5BKytskEMBda+D\\\\\\n\",\n       \"HCZYFp95SMdLJTivUtEJgpUWsGTIIAtTmO5zYMncWDKcUPYCqBO8S9GKeyaUyB4HWcyCyJQlYEnR\\\\\\n\",\n       \"ikUsPXAYIYcVci+J+MwOMRa53BmKIWIV3Habz6E8f7INsFOLha3GEal2VFUikhSkOOcVT9O9F2Yl\\\\\\n\",\n       \"eNd5rwpC5PIJVj5G4qiS16KFFhqGYRiGYWgshNDIgwlYhjGuGGmooFwvFDbY7j58ListcMiQQLkc\\\\\\n\",\n       \"/41y5sDS06TrSote7AZKBzivUlEKoYODwhX/xTSePmnSoICFeRiXYpfslRADu6/4Mw+FQuL6W4mS\\\\\\n\",\n       \"GhWihChJlamoShRLzYVJiGIsxnUXxVQsR5REaa8tcEVx0nYMEKBQDnZZcTkgWvX2DpbDbToZ7JEQ\\\\\\n\",\n       \"nzl8kPO2sxMs7aUwojhOqFbDPmUIYbVet4kSnPhcyDbB00FN5bvy5bOSIYUU6PkwlP8qTxigDi3k\\\\\\n\",\n       \"Y/It025YYeiaGY1eEQ3DMAzDMFY+qniWHWEvgiNd3xj7mIBlGOOKPOF9ebfTarpP6Ao5rHzlC+W7\\\\\\n\",\n       \"0m4uLWCFnFpSmGoWp4aKWQVPzqtUwGKhiQcWrzhsEJ+1YCXHpTuruSfChHpcT4YJFeBwKiZppD8U\\\\\\n\",\n       \"Imedqtuo2GYlk17J2mRLVP1vCcpSsURJHBPksIFK5DZVqUR1V1Ua8gfBisUsdlmxgJXmuBrMi4Ui\\\\\\n\",\n       \"cTgjPqeJ3NPleBwuLIhZSYLeCbl0nNSdBSz5FcPHwwKVzI9VCTirdG+FUqzKyotFnpDGrDC+Vrmy\\\\\\n\",\n       \"fMsOF5n7ywQswzAMwzAMw8iLCViGsVLjyyM1HNrJaxVaXotLvu2HfhWRjhwdJsjjJY+7Si4jRapS\\\\\\n\",\n       \"MEywOYSwSMVimrCdc1nxACGKxSgOKZTz+LMMN9T5sXjcCVjo6Q9CTbWelGpZ3SbF8X66O0GM+9DZ\\\\\\n\",\n       \"3jm+L44pKhapzAmseorU01Okgfpuli1rDiHkcEEWrVBWiFwYsFn+DAYdY835upDQHWIWwglTZ5bs\\\\\\n\",\n       \"odDXLhjdU6EML5T5q3COBoQg5ipAhQTW2hCKZH4unygmy8fb8G1ftv/hClHcZuU+LbzQMAzDMIyJ\\\\\\n\",\n       \"SS2J3DDSbRjjGxOwDGOlQ7uUOrG9vPvLGs+aLvfjy2kl19H5r2RooHRPyXlFMc2XsF33OJgKWIVC\\\\\\n\",\n       \"wTmU0NsgXFRSwMI4C1VSzMJfCFYsVPnyY7Gw1d0NT1SV4lqFol4kouqjiBNVcXIqFqsw7ktyNeR0\\\\\\n\",\n       \"qCRZ9QRWESeuqo8npRIVyl0Ul0pU6ipSV1fRCVIQrfCXc15ht3JVTjIvhSqIV7JHQt0+0ukFqlZL\\\\\\n\",\n       \"QtCRydoTJU4VhYjEn3k5FnWqnpxXLF5pYcnnwtL5tXRYolxXi1xcFt9870npgJtKXgvmzjIMwzAM\\\\\\n\",\n       \"Y2Lh0mGMMAQQ2zDGNyZgGcaYJxqFMME8eazyhAj6xKtW06RDJxRCqPetc1/5krpLQYudWTo/1qCw\\\\\\n\",\n       \"FccxFYuRE7DYLSVzXUmHlRSwpKDFghXELs555fJjlWpUKiVUoipFA/2paAWlCDYo7haQs6xz1nVM\\\\\\n\",\n       \"G46AxZngZdeBxaJzY0U92HaZ4lKZklKNqFygQoTQwriRnF2GEHKeKzZ/yR4QGRSbx7FeOh7Vox5j\\\\\\n\",\n       \"qtU4B5bOicXnQk+XOa9kj4RyHjuupPik24rMk+VKrcSoLBeYnCbbtq8nQ19eLM1wxays69rCDQ3D\\\\\\n\",\n       \"MAzDMIyJjQlYhjFh8lr5ttvOPvNM0+IC48tjpcd12Bn/Da0rc13pHgdDn1PnFXJeFQrFIb0FasFK\\\\\\n\",\n       \"uq7YocUOLF4Hn9Ok7okbnzKZqBBVqYBQwaW9zXF7ELBYvMJf/swDJ5liUcsHd2EobVIc48eJt/gz\\\\\\n\",\n       \"tlkuU4Shq4u6urup2F2kclfqmkp7GoyGbFp/5pxYWtzi6Me02BHVaqnrKhW4WKjSjizpwPLN07mt\\\\\\n\",\n       \"ZNtgl5XsrZD3JZ1ZOhm8TPzOy/sEqizBKkvE8m1jJOjrxxxZhmEYhmGMb2r4ITQZoQNrhOsbYx8T\\\\\\n\",\n       \"sAxjXOe2YnzCU9a+fevrdQrD2G/Wcto55XNV+XJgybDB5hDBwc/lpnxYxWI8JJ+VFqymTBkcZ5FK\\\\\\n\",\n       \"Clj8GdMbObBKNYpcnF49gRTH60kBSzuwWLxiNxa7sLIQSdwbcX/8mcUr/JUJuerqXNzdTXFXN82Y\\\\\\n\",\n       \"1k19A3Gjp0IszonepTuLQwc5B5YUsNgohvnuLEY4xKLrndCf6yqU74kdWZyfSrqv5LZ8bTOvuNMq\\\\\\n\",\n       \"zI/bWrWFKCXzaIW24yvjSJD5sixXlmEYhmEY448qRW4Y6TaM8Y0JWMaoctppp9GcOXPoyCOPpLPO\\\\\\n\",\n       \"Ostqe7m6rPKECeaZ344Tq9XAAkQrJ1YoTFAndw/1LqhdWYPTET6H0EEIMrK3QS1gseYjxS0eOAdW\\\\\\n\",\n       \"Km4l1F2uUiGpULy0n2jp0kHRij/LEEIWr9iZJXNgsYDFtibv6airSVLAYkcW28mUA6uR7GrSpDSc\\\\\\n\",\n       \"cWCAolqVSsUuirsKFEXpVwGLVCxKyZ4HAf6iPqSAJY1j+IyE+BCwqtViXQyqifrnhO08TTqwZA4s\\\\\\n\",\n       \"LWLJvzKsULq0fE4tFpl4XUauR555WhTziV/thhWGlh0OUsgzd5ZhGIZhGIYxMTAByxg1br31Vjrn\\\\\\n\",\n       \"nHNom222sVoOEgq56xTtOKCypofyDlHGeChkUOct0jmx5P58IldoKLTIgQWhBj0ODkbaceJyXxih\\\\\\n\",\n       \"zIWlwwp56O6CeFWjElUortQFqiVLUnEKgxSztIDFwpbMgaUFLB5cldQVJS1gsfuKP2M7LGBheyg8\\\\\\n\",\n       \"O71425geRVTsIZcfi8qp6BTHab1zMfizNIZh84A3xRpcKl4N5shCLiwkdh8Uq2QOLPmZxSZ9fnme\\\\\\n\",\n       \"PPfVwF+mqtqXbEfaMcWiVKvwQbmcFrXkcll0OrwwhOXJMgzDMAxj5cRCCI08mIBljAqLFy+mAw44\\\\\\n\",\n       \"gM477zz6+te/brW83MIEow4unzfnlRab5LxWxygFKvK4q7So4euB0CdyFTzhg8h7FXtdVzKMkHsg\\\\\\n\",\n       \"5LBBdlwhpFD2UAjnVVc5oVK1f1C0gkC1ePFg+CDGIWL5BCwdTgjVh3slxDiQ9ieO5ZNWKY7x02GD\\\\\\n\",\n       \"MqE7K3S8H1bl6gpU3NVF5cmTKZ7cVQ8fhJg1uFnW0HjXMoE7F5XnDRrHonpkpAwz5dC8JOOc8XJS\\\\\\n\",\n       \"6JKOKA7xk8tqgSvUllnE0r0L+pxYrUQtXzvmea3CFPW2OhFeKMsbCm00DMMwDMMYu6T9T480hNAY\\\\\\n\",\n       \"75iAZYwKhx9+OO2zzz605557moDVhM8dMlx84lIeWiU3DAlXer2QeCXz9ch98vKFwLp6GZ0PS4YF\\\\\\n\",\n       \"poJUs1DFA89vzoOFpO26Z0Eel8KUzHPFoYI679W0adhyhQoD/algpQUs/GUHFj6zeCVFKw4hlDmw\\\\\\n\",\n       \"UuvSYFihD5nAncMGOYk7PmMfUszieEgW0diRxYJZVxdF1SoVp0yhqFCmwjTU2aCpi4vBpi/W1jiE\\\\\\n\",\n       \"kOdL3Q3LIan7smUlqlbZuZRuN6WiwgalkMPL8bgUnRIlXMlQQnZjsVtKjrOow22Lk8vLbfhEKxnO\\\\\\n\",\n       \"KNt8SHiS7TqPkOS7ZkciaMnr1EILDcMwDMMwjPGFCVhGx/n1r39Nt99+uwshzENfX58bmIULF47D\\\\\\n\",\n       \"s9KJUMHhClZ5ltPOKT3PN98nxmVNkyKVFrx0ziu5vi+xu3TtsLil818NDpz3SocNcugghw+yOYlF\\\\\\n\",\n       \"Ll6mOdF7QqWoQnF/L0X9dZGKQwUxQMyCiITPLFpxSCHm5RWwWA3SsOtKClgyiTu2zQIWx/3hYOR2\\\\\\n\",\n       \"2WLFClQUUVQoUAxHmTveYqP+ObKRV0U9cPJ2HALP53RbHKGYGsAiSpI0PLH5nOheCKXrSp5fdl1p\\\\\\n\",\n       \"p5RsM6RyXfk+6zBAKVaFrsmQG0tO08tSm8v4lguVIy+dFsUMwzAMwzBGHwshNPJg/UwaHeWpp55y\\\\\\n\",\n       \"Cdsvuugi6uZszy049dRTafr06Y1h3XXXHWdnRb5sj0S80sNI19PTsuaHxDPp+PAtpxOx6222mqfn\\\\\\n\",\n       \"Z+W98n1OB+R2YpMSR9dJEYsHns5ilcyD5cSr7sQNheoAxehpEIIUC1gYMA4HFruyMI0/88Dz5XL8\\\\\\n\",\n       \"edGipr+JGnzLBAe9z1D5xBD3LXPHxsfJwp0MueRxrispAHIdsn6WRjr6kulnnTtfAn/dHrLakBY5\\\\\\n\",\n       \"tdil2ze305AzstX147uWWl17WQx3vdG47xiGYRiGYSwfqknckaFdfvCDH9AGG2zg3l1f97rX0b/+\\\\\\n\",\n       \"9a/M5dEx2aabbko9PT3uvfWoo46iXvxwbSwXzIFldJR///vf9Pzzz9NrXvOaxrRqtUo33HADnX32\\\\\\n\",\n       \"2c5pVYBTRIBeCo8++ugmB9b4ELF0GN1waPcm3O4Lb2hZKUyFtut76ZfCQav9+hxVepovMbt2Y8l5\\\\\\n\",\n       \"OpyQwwebnVQyYTtH2SHHlQ4r5BBCDicsF6pUrA4QLVo4mOsK4g9cg+y4wmd2YLFoBHcVhxiybYmT\\\\\\n\",\n       \"uEsHlsyWXv/c5APixO0YZC+EUplDwfGXQwX5YOu9ELr5nImde0cE2G/dTlWcHlF3uURxodhwX3Ge\\\\\\n\",\n       \"KxSfiykH2ZEiGDR7RTQwwOeCj0Y6sKqBc+m24hmX7UuG/2k3VqjdcVv1ubPk9rTzSq43nGTu+hrK\\\\\\n\",\n       \"G+LnK3O76ET3hmEYhmEYxsUXX+zeQ3/84x878Qri1N57700PPfQQzZo1a0gF/fKXv6TjjjuOLrjg\\\\\\n\",\n       \"Atpll13o4YcfpoMPPtjlkD3zzDOtQpcDJmAZHWWPPfage+65p2naxz/+cdpss83o2GOPHSJega6u\\\\\\n\",\n       \"LjeMD0ZiahyOS2I4zo4887WTxLecXla7XELuGOnY8glRUcCNo0UsmfOK/3J42uCQilRRwzWk817J\\\\\\n\",\n       \"sEHoOzKB++B4Ql3FKhUq/RT11kUpDg+EEwoDC1j4rAUsFq9kj4R1ASupVimpVFJZAYJVkqQyhRCv\\\\\\n\",\n       \"GjVaV4riatV9UUJVKvT2UlQsuhBAd4DYF9uhsB8+SA4XZNGME1phnNWpJEnPZrFIxZ5JFBVw7KmI\\\\\\n\",\n       \"pRO1p3muBiMfWcDi3gvr6bVcCCGEmt5eLWBxHir5mVRooTzvsvfCqme6OwDRFnlbMk8Wb5vbWE0I\\\\\\n\",\n       \"VlLE0uJSpLYtc3IlwxSphiNodSI8UF6jlvDdMAzDMIyxAZ5CayN0jdefZHMD0emwww5z76sAQtZV\\\\\\n\",\n       \"V13lBCoIVZobb7yRdt11V/rIRz7ixuHc+vCHP0y33HLLiMpt5McELKOjTJ06lbbaaqumaZMnT6bV\\\\\\n\",\n       \"VlttyPTxQyi8bjjrtyNGtVq+VblCwlSoXFGLzzqUULpkQqFdvsEXLqhFM5+wxesM9l4IkUeGDkqj\\\\\\n\",\n       \"ki+MUOfDSqcn7m+hNkDxQD2XFQtS3MugFKw4HxbPw4DleVpfHyUQrvr7nXBVqyeUqghJQXpkhvSD\\\\\\n\",\n       \"lySpVMdKkVupRnEcu2TsUa1GEYtU3FWgVKDYMoWK4HGuGAAhrK+PYvztiqhcLlBXGZtIexbkumHx\\\\\\n\",\n       \"CuOsi6FO2VAm6zrVy5APSwuU+jz7RFApKmkxKtR+tIsqFqIXiza8PSkA+fJkyen6s48hsmOL+b7l\\\\\\n\",\n       \"8ubL0uXKQ+g4LE+WYRiGYRgrjuGGAOpt5KW/v99FDyEaiMHzNDohu+mmm7zrwHX1i1/8woUZ7rTT\\\\\\n\",\n       \"TvTYY4/RH/7wB/rYxz42onIb+TEByzBGTLthe771O7G/4QhpoZt8KGQwtIzOsxPnFKV8woVeLzT4\\\\\\n\",\n       \"XFsymTsErGIjH5P8yxF2MneTFrKkoNVTrhEtEqIVi1OcY0pP41BBzjO1bBklLGBBvBoYcKG1VSFY\\\\\\n\",\n       \"sRdI9sknPTmyViri6PG5kCTOlVXAALUIB1gPB4w4qzrD4YlSwOKE8PjMYYlRRHEUUffUMvV3x1St\\\\\\n\",\n       \"hwSiPniTXEecxJ3nsYCFYqQJ3SN3LpKkphx0fPRZbUI6onxCphReWNyScAJ4KYJxL4ZSFJPCjg65\\\\\\n\",\n       \"C4lQ+jqpDeMaHE444nCX1+vKYzYByzAMwzCM8YHuFMwX8fPCCy+45/E11lijaTrGH3zwQe924bzC\\\\\\n\",\n       \"ervttpuLmqhUKvTpT3+ajj/++FE4CsOHCVjGqHPdddeNw1qWDqPhrp+XuEMiWlYy59D6PtGKKQQc\\\\\\n\",\n       \"WVK8yiqHdGj5wgT1tGJgmZIKJ0znIXm4dlohn5UvaTsnKJfD1Kn1lFGlWio8+RKx82cOG+RxFrFk\\\\\\n\",\n       \"CGFvL1X7+qiWJE4SqQjhqiJkFpZApE9I1ryutUjUjJOF6kJWjHxznOMKA7uyEFLIghaHELKIxbGB\\\\\\n\",\n       \"/LnuzprU3UNxjGT46eLcCyFWx6HxZrgTRGwedcgdHrLYNTAQU7UqE7fLXFg1z/n1hRQWAmGDvnBB\\\\\\n\",\n       \"XzvntitzYMkQQe1/0yF3WaF/IfHMVwa9nF5GL1cbZTFL17dhGMbo86dn71ypq3nvtbZb0UWY8Fxj\\\\\\n\",\n       \"0fDjhhp6rnapJ0a2DaDzKZ944on0ta99jTrxXvvNb36TfvjDH7qcWY888ojrwOyUU06hr371qyPe\\\\\\n\",\n       \"vtEaE7AMY7k5rvKGCubZ9nDcVXkdWlqQyjs/b2igdk5phxZPGwwFbBY1pFClJRxepkBRFDc5r/iz\\\\\\n\",\n       \"DhPk3Fg+V1YJea+SymCIoAwd5GnSfcWCFYcV1gWv2sAA1SoVGqiLVyxaDYg05tKBVW0RjKZrhmWV\\\\\\n\",\n       \"klgfriyoSQg1jDmcEEBRcs2j7roCXDkQr2SlISyxXKZCoUSlIuqk4OqFHVg4fA4h5PBCFq2gmcl6\\\\\\n\",\n       \"x99KhdukPH/Fem3wuWOXFtcAO6d4unRZaQcVT5fj8rOsUZ4nJUK5vyHBm2q/eZxTPqE7S1jzbSPv\\\\\\n\",\n       \"MqHreThi1nDWMwzDMAzDGD5Vit0wEnj9p556iqZNm9aY7su3vPrqq7v8zM8991zTdIzPnj3bu32I\\\\\\n\",\n       \"VAgXPPTQQ9341ltvTUuWLKFPfvKT9OUvf9mFIBqji9WwYeRGCzLDIc+6vv3kmZY1xDm24ds/BQQn\\\\\\n\",\n       \"3zZkCKCergUq6SPS62uHle9YB4Uqn2sLXx7FYipgISLOF0IoB+7ITzu2ClSjuNLfnHid81npQefG\\\\\\n\",\n       \"qotatb4+qg4MUKVadYKVHCDb9Nc/89+BwHjWMv1CEGvafrWaimcoF4tqPISOQx5L/bjj6oCrC+lc\\\\\\n\",\n       \"4/qU43K6rHM+B3DFpV/svlBQXw+Tsp1pZ55sP74QVF+YqRZefdN1O4uHcb20uvayhnbuAa3uISvq\\\\\\n\",\n       \"PmcYhmEYhrHigHglB5+AVS6XaYcddqBrr722MQ25aTG+8847e7e7dOnSISIVd1KGkEJj9DEHlmHk\\\\\\n\",\n       \"Iiv8Lou8L4F5wwSHu41oGMcW5XR06Zd0uU2feEUBH1GkpklhQ372CR/SzVOkYjFN3s5ilM6DxcKL\\\\\\n\",\n       \"dGE1906YuGmFZX1hh5Vv4HlLllBS75GQQwVZaMJnDiGsCOcVT2dvT8gRr2tWHj1vg6UgkNRqVKjV\\\\\\n\",\n       \"qFTvbRBJ3h2oBDiuOO+VTOJed1+5+XVVqthDFPWkvToioTs2g8/QuGQSdykENufB4rzyEfX3F9XR\\\\\\n\",\n       \"c8+C8sh0uyAVHih7I5QOLfav8bakY0uHGUoHFyNzbfE6sr3LXgzlOjKPlkY7vyQyZFHux7euRIc2\\\\\\n\",\n       \"+hhuniu9nsVnGIZhGIax8oQQ5uXoo4+mgw46iHbccUeXlP2ss85yjirulfDAAw+ktddem0499VQ3\\\\\\n\",\n       \"vu+++7qeC7fffvtGCCFcWZjOQpYxupiAZRgdF6+iDolbWfOlY6ndMmQJUa32oUUqOU3etLXrhedJ\\\\\\n\",\n       \"ycXncNGClRSmQtLN0LBCXw+DMucVDxBgpIDFglY3xCvX42Dv0FBBfNY5rpD3SubAWrrUJW1nhxUL\\\\\\n\",\n       \"VuyU0jmwqoE8WKEgMR08WfAIWMX6/ETc6ItLlzYLWADqEsQqDiHEZ6n6cYxlHFNcLFJ3V1cjUTvq\\\\\\n\",\n       \"jHNgcV1yDiyua86BxUJWGl4owwUTEULoG1jsYrFJticteukk7lroijxijBTBJDLvltyeJskRKpgl\\\\\\n\",\n       \"SumHHZ2DKo8IFQpt1MhytCNmaZHPMAzDMAyjs9QodsNIt9EOH/zgB2n+/Pl0wgkn0Lx582i77baj\\\\\\n\",\n       \"q6++upHY/cknn2xyXH3lK19xPWvj7zPPPEMzZ8504tU3vvGNEZXbyI8JWIYRJCTsjHSdLMFouGJW\\\\\\n\",\n       \"p5ZvVSYtWvFn+WXhC6HidfVnn0PL58IJObqGrhPH6PEuNRJhwHcOu65kaJt0CMkwOBa3YC2KOPm5\\\\\\n\",\n       \"TISOvxx+x2F2chyJ2tHLYK3W5L5ix5UUsCoe95XMhUWeTEz6yHUfe3KdIWcF6hHyYqGsUJs4DxaH\\\\\\n\",\n       \"R3Jl8fHy8Q0MpHVR7qdyuYvK9WqQdcY5r7gDRK5rPg/8Od0lHFy+81dQYpY82kR91g4rLTT5XFey\\\\\\n\",\n       \"fcpakuKM3L4vAbtPBEpaXDt5hKNQz4ZZ+bb09rL2o+fJOmiFFtEMwzAMwzDGB5/73OfckKczsmKx\\\\\\n\",\n       \"6BLCYzBWDCZgGUYmw/kVoF0hKvSiK8fzuLXy7KvVvJA7yzdfyyP81ydKhYQqLVhFOcUs7cJKXTlR\\\\\\n\",\n       \"hJ7y4iGiCX8OCVjN+ZwSKhUToqWVQSHHN0jRqp47yoUNorfBSqUhYPEw4BGwBlQIoeyPj2ULLWvo\\\\\\n\",\n       \"WpUCFuNLP+6Wh4BVqVBUz74eQU1C5fAxSPGKFSr+nGZhp9KkpC5apWGa3PMgf5bJ26WINXguIidi\\\\\\n\",\n       \"pQKWFKxkgnbfEErMrnsH1MIWz/dNk+GCXFu1DLHGF/4XEpx89w6el1eE4nmh61jO8531kNjUjnjF\\\\\\n\",\n       \"mAvLMAzDMIzRo5pEbhjpNozxjQlYhtGELxSoFa3EJcrYZiuRKW5TfAoJWXn2nWe7chmfmKUFJ54n\\\\\\n\",\n       \"QwhDQhSHDqZ5rIaKXjxdz5frRk4kYUcVPofCCfXQ01OPlotrFFXr4hWUGRZ3dO+DPE2FE1b7+hri\\\\\\n\",\n       \"lC8Ru3ZgVQMOrKwcWLJmCmLQffVJEYzlilK1SlG1SgWUG1Y17nlQKk04Hs6DxbGBdTErqg5QMS5S\\\\\\n\",\n       \"V1fB1RmqB9Uk61KOc34sPhfceyHyaCEf1mDpOZSvqIIopVjF83mebN8+CU/2aKh9anI5H4nqDdGX\\\\\\n\",\n       \"44prnQL5svT2+HjlNCm+yek+H50vvFDvQ86TolwrV1UeQSurLIZhGIZhGCtXDixj5cMELMNoS4jS\\\\\\n\",\n       \"RMMUrXzrhvYfcmXFbW43y/mVVzBrJWb5HFSD4lJYwOL5vlxXehk9jwWQIsVxgdM1NQlZMtTN97mp\\\\\\n\",\n       \"N8K4SpHsoU+FBzb13qc/o8dBFS4onVejIWDJ5bH+NQsW0DnPPUfP9vfT+l1ddOzs2fTWadOazoSr\\\\\\n\",\n       \"NZSXVT5OCMaWNMzjrhlxbPV5UX1eqRhTrZzWdav6RX4sHoeQlabbiqhSKToxa1BkynJcyRDCWiA3\\\\\\n\",\n       \"lk/A8glR0iHly3sVB5KX+66NWgtBS+6zndxZWQJYSOjieTqQtJ2E7+0IUiGXmmEYhmEYhmGMnfgo\\\\\\n\",\n       \"wxiHhESeVsvmFZ3kenq+b3tSouBlfEKOLkNonm89aiEShUQkWR7ftrUbSy/vK5Mv1DCrTliOGXR5\\\\\\n\",\n       \"IaEiBg4Z5HxLvr+h3FjFYuLSRzqlBcoL/vLnrHDCgQFKBgaoVq02CVI83LT6Yjp/4/lN03ROLJnY\\\\\\n\",\n       \"HcOlG8+nu1Zf7BW69LK8zB1LltBXnnyS3rXKKvSrTTaht0ybRp954gm6H2GNah2UNeFj1Dm+5KDr\\\\\\n\",\n       \"oVKhOKq6utL1p+tX/5Xz+XwNdeq1are6LfjakR6nwGdf+/Ndc3mvD981OJJrtp17gL73DOfeNNz7\\\\\\n\",\n       \"oGEYhmEYxshIkphqIxywDWN8Yw4sw3AMJ2wwa17ohdK3bCunVtZyvn2189Kqt9nOeCiE0Ccw+FxV\\\\\\n\",\n       \"WeKDTzjwbWMwBxYSg2thSotWMhcWfx7MhZVQsZBQoZ4nSgo2Tcnb5SCm1ZD3yiNM3bj6Yjpsl8dp\\\\\\n\",\n       \"WTGhZXFCH3141pBluB8+dlJd+urn6RdbzaNyJaLPXr8ubffSVJqMXgCjyM2/acEC+s3zz9Pcvj7q\\\\\\n\",\n       \"imN6VU8PnbzBBvSbF16g102dSh+ZNcvd3A+fPZtuWryYfvrCC3T6Ous0sk1V+OY/MEAF7nWQj0U6\\\\\\n\",\n       \"sNg2JesB63TXqFZALqw0D1ZWwnb5lx1ZPJ4kaShhdg6sqEUSd19CdxlCGGd8lstFnrxSOiSwlsMt\\\\\\n\",\n       \"5XMk+a5L7cwK5c6qtREm6MuDpdeLWpQzNM8H799Z6QzDMAzDMIZNlSI3jISRrm+MfUzAMiY4WQJS\\\\\\n\",\n       \"aPnQjTGPwMQUci4rhSH5t93tFEYoaLUSu3QIVyhs0CdOFTITszfnuNLrDq7D7iuOfJM9DMrQNj0P\\\\\\n\",\n       \"fznFU1Sp57zSydqV26oxcAKoZcucgKXdUggZvGvGMidegbO3muemffjhWY1wQhat3OckoXM2fIau\\\\\\n\",\n       \"2eolt3x/MaGzKk8S3Uc0pVSiPWbMoB2nT6czn3ySPrbmmvT66dOpv1qlB5YsoYEkofuWLqUPrL56\\\\\\n\",\n       \"Izk8amznKVPouoUL3TQWryL+299PBahICBFk8UofnxS2RD3EEUIIu1zdcc4rX/1yDizZOyGmY5PV\\\\\\n\",\n       \"qu/86/Yiw/I4TxZ5wgDlX9luay0SoodC6rgdt8r1JOfJUMUsQkKTFoL0Mep8WaFcWXI7UYueDkP5\\\\\\n\",\n       \"sfIcRzv1ZBiGYRiGYRgjwwQsYwLTTvhLKxdVnul5nFZ6vVYurNC6rVxZoe34wppCx6LXyQox9IX+\\\\\\n\",\n       \"yZCxViJXyHk1+Bm923EYmwxX06Fr0imkw90I7itWXNh15HNjib8IHUySxL26c0+CMlzvY4/MpN44\\\\\\n\",\n       \"oe9vNc/VzDlbzXPz3v/wrMayGG5ftIi+v/7T9MprIDWlTJ77Jpq8zpup9q6l1PfMA3TlPdfQFfPn\\\\\\n\",\n       \"u3kbTZpEq5XL7ujX7+lxf1+uVGh6sdjoGw9/VykWab5wh3GNVTldeq1GsTqmppBBX12gjmq1eihg\\\\\\n\",\n       \"2OGm61+eGywD91Wlot1XhRYOLOlUkuNSpI0Cwo5Mc09qXSnuSFFHXwc+0ShpMzeWTq0vryu9HSm6\\\\\\n\",\n       \"yf1lOarkdrSLzLdPX1l8wlcW7YpehmEYhmEYg9SSkSdhxzaM8Y0JWMYEZTj5W0LLRjk/510uy+nU\\\\\\n\",\n       \"SpzKI16FlsmzHZ+opQft2sojSvmErtB6Q4coiptCCAfzLA2Oy88hoSsaqAtYPLBoo6cpUQfOKQ4F\\\\\\n\",\n       \"ZBGLxSn8PejhWe7zD+si1vlbzXPj+9Wn//nFF+nHGz5D9KbBGp8xcBBNn7E/0Yx0fPLmb6AZux9I\\\\\\n\",\n       \"i++/jhb85Rw64dFHaavJk2nXGTNot+nTnXBFogwcUCe9S7JcjeWShGKfWKePWY1HEL5K/rps1Ge9\\\\\\n\",\n       \"zvnz0PxYyIPF+Qqy2gcLT3xUsn1EgTBBFsWywgh5OS0oyWnSAaUFLK5xPU2uExLFfNvRYluklpXX\\\\\\n\",\n       \"XpZzjAJinr4X6OPKWjfPfvR2DcMwDMMw8sF5rEbCSNc3xj4mYBkTEJ9IFFouS7QKua7y7M/niAq5\\\\\\n\",\n       \"vEKhiXo9Gqb7qtCGcywUUiinZwlTOjRMCxah5bOSe0O88ruAZC4mDl3jZZp7IUyojBDCXiVYyfxX\\\\\\n\",\n       \"PmdSfYCAxWGA7HSSYhGGA+phg+fVRayf1J1Yq/+rnIpXeyrxqrL/kLMel7tp2nZvo0kbv47m//JY\\\\\\n\",\n       \"emjBPHppYIB+NW8enb7JJjSjWKQXIaiJ/b5QqdBqxWJTqCKHEjqJByGEMmxQC3QybFIKWNUKlSch\\\\\\n\",\n       \"D1baqyCHDCI0UIZyhtxZUjhMQwl9wiW3k8TjxvL1JMgCl26nUvSSopYMzWNqGdMZn2NJh//VWohB\\\\\\n\",\n       \"PgGL12kVFijn8XohAUlLmVnL+col7wehHhX1shZOaBiGYRiGYXQeE7CMCYYWfEJkLRMSlNrNOyXX\\\\\\n\",\n       \"8bmuopzLZe2vlYvKtz/ftlu5r/T+8uTAYgGrGHBaFdWyRTE0h5r5ErZLRxDnZPKFDTbcQngxr9UF\\\\\\n\",\n       \"GoQSsmjFIYXSmSR77KsLWOxwYjlBhhPy8MF6AvcL6yIWErXTq4iop7V4JSlOWYVmfezb9PzPjqGo\\\\\\n\",\n       \"dwEVazW66ZVXaNNJk+iOxYtpv5kzXY1in7csXkxbTZrUKIv0M2Hc5cDiY+Fk7vKYWbhiMQt14wak\\\\\\n\",\n       \"yUwazjdfuCbnxPLVuRS1UgFLn3spmNTEdOl44jbKklxR1HyeHFhaCOP5UkDi9bVzS26jpr5O9Tb1\\\\\\n\",\n       \"/sgjTPnuOVLQKgQEK9/x6GkhIcxXRilC0TBdWVo0MwzDMAzDyKZG6KwoGvE2jPGNCVjGBCLvDS3k\\\\\\n\",\n       \"hMo7TYs6oe36XFm+edrdJKf7ti+XzRKxfOXyCVShdXV59bh2wUhBSyZq1+IVJ20PObOGunVCoYIy\\\\\\n\",\n       \"tE2HtOn5UcLCTL0XwoZQUx884XRJfZ6UWfSgp+9fDxv8WV3EColXcVKjLV94jFbtW0QvdU2l+1bf\\\\\\n\",\n       \"iGpRTH3PPkS9T9xF3RtsT9N2/xg987tvudpau6uLNps0ib766KP02/nz6fVTp9LfFyygB5cto+PX\\\\\\n\",\n       \"WSdYNjfUjyOSx8jHrOuhfvwIIUySmkvmnid8sClUU80LO+9C518LM9JhxUgRSi8rl5GCkBRzQmKQ\\\\\\n\",\n       \"FHB0yKHebmhaKF+VFo647L7pvjLyciGRKSSs+ZbPmpZHxJKuLcMwDMMwjGyqSeSGkTDS9Y2xjwlY\\\\\\n\",\n       \"xgRipGGDPF/+9a0XEoj4s8/ZFJqnyx36rLcVEr2ynGJ5nFm+svqOQf6lDPEqS7jyObci72edZ0mL\\\\\\n\",\n       \"JENyXUVKRHHuKyVSSQFHCjlK1NGyhPS3yFd3KRy97+FZdOmrn6cl5UFRIk4mN8SrXZ69hz599//R\\\\\\n\",\n       \"zN5XGvPnd0+nH2/zHrq+PIN6n7qXFt52BdX6llIUF2ntcpG2mzbN3dCPWW89umjePPrpvHm0drlM\\\\\\n\",\n       \"p66/Pr2qu7upLJwDSw4QpChR9YBxLWKxgMeiVz3/mK5XXwL3kLiYdW4H/7L4UgiIRjp8UIbkyWnc\\\\\\n\",\n       \"HqVLSwoyMnG6L8TP53jiWpXXSZb7SjqrQvcKXs4nBPE0eQzalaYTwOt8Vz5hTo+H8mLJ5UJwverQ\\\\\\n\",\n       \"R8MwDMMwDMMYHiZgGRMALQwNR7zyzcsSpvKE9+n1fI4m33S9/axt+Mqiy5NVbr39VqKZb9mQs6Y5\\\\\\n\",\n       \"DHDotEiIWr7eCtMhigaTt3NCcV8vgzqJe1N+JmyKRRmINkCLV/yX59XHtaMJZLqdiOgSJV65daIl\\\\\\n\",\n       \"9ErxEnr7k5vRV/71U1XPRKv1vpJO3+kguvEDJzemL/z37+mpa8+lFwYGaFapRDvPmEFvmDHD3dzL\\\\\\n\",\n       \"RFTylIU8zrCCFKdcgYQTTSZwdyvXha1qlQpxMZjjSjvehiZxZ9dclJHIXQpVHATJR8DCFonwQV7G\\\\\\n\",\n       \"9bGojlQKNXIeb0+H29XUsr55TChMTy8r829xaGCrcDtfCCHvU4tism5kefharbU4Di0KhvJe5XVY\\\\\\n\",\n       \"5Tk+wzAMwzAmOpbE3ciDCVjGOCePcEUZwlWcQ8zyiTqhZUMCVUiI8glZIbdX1rJ6X3I/umx5cmn5\\\\\\n\",\n       \"nGIsMsllpOjE29FilC+Zu57O6w0Vr3QOJp043OcE0mGF7uXaJ1Sx64idSTzfrZJO00Fn/FcGp8np\\\\\\n\",\n       \"EK9c7is+E8lkJ16BBaWf0tTeddHnoNcLh2196p4r6OY1t3ThhGDSJq+jl/9yDj2xbBnNRNIpT1m0\\\\\\n\",\n       \"gOYrq1e843E+dv4s64qSTLeb75w0C42pe6tW84lYBZF2nkUcKTSF2jF74Xg9HdApxa9qwC8nRSMp\\\\\\n\",\n       \"FDF6PbmMFnekECSdTVweX6+HoWV5e1xO2UL0cqH9y3l5xrXjSxJyaullpOvNMAzDMAzDkwNrhCGA\\\\\\n\",\n       \"lgNr/JP37d4wVkK0aJO1XCuHVWg5n2BEgTC6kKDjE29iz7pZy2lxxycKSTeTXkYnSNfb0uu2Wk/v\\\\\\n\",\n       \"Q4pSfjHKf4x6vWaRj0MGdU4lGcrmy8Wkl3MiFsQaKVSxYMPTeRDTkvq4DsfzeVYwfvGrnx/MfYVa\\\\\\n\",\n       \"u2V1Wrf3Ypf7ijl3y6fofzd/0dtSceSzli1wubEa07qnur+L68JaqzKEypkEjtErZInldD0OhgUO\\\\\\n\",\n       \"rXe5nHRp8Tkceq3ItuK7XnyDbmNaEG2nDYfavVxPzpP7CDkH81yrvntAnnuFvr9IgW/o9eMXuX33\\\\\\n\",\n       \"Mzmdciw33HuxYRiGYRiGYYQxB5YxTtEuoazlfC9VoXV9vhi9HZ9DKeRa0tOlq0RuP/RCKrfhWy/k\\\\\\n\",\n       \"0NLHp5fTx+h7udXzWpXH99KtBQH54q8FhaGurjT/0tDQNFcKT74lVxJ1eE5QiXWUlxBpWMSRSFFH\\\\\\n\",\n       \"kQSm/erVz9NPhXi10T976Nm7pxNtQ43cV3Bgge9uN9/9PeyB1bz7QGL3wbKkwlUhVYCGlCFUHn/h\\\\\\n\",\n       \"1bFKAcsnaKH+Gi62QUL5sHg5f36sWIW++dqL7ysLDq1GaZTTypfkXSc5l39lu9a1qK99nX/KN087\\\\\\n\",\n       \"nrTLiZfVPj0dFijHpRvKl5OLtx+arqeRmOfL45XHSaVdWz7kuhZOaBiGYRhGM0kHeiHENozxjQlY\\\\\\n\",\n       \"xjhECy6dEK9Cok3WPJ9IJV0lcn1fTiop2PicKXJcvvT7tuErp29/oXlZ46H18ghYIfeKXla7YNJx\\\\\\n\",\n       \"iB6hvEqhELahPeAJZPigD84L1Sa/fPXzdL4Qrz5672xaeGeVnl72snM+IRQSItbsJS/SgzOubC1i\\\\\\n\",\n       \"CQGpuvhl93cKK3ed8LxwAvcQMpRSoJPpy3xYPqFRfq5UuL3wuZYhg7VAkvZGgepDxSOUyMxfFBjn\\\\\\n\",\n       \"7elznzXuE5d88+R8/ZkFu1A+LsoIKeR5OjcYo7cvp/M2dZJ4nWcrJEzpbeYVseTxWDihYRiGYRiD\\\\\\n\",\n       \"IHxwxCGE1gvhuCePRcUwxmGTjtpwbenwGy1e+fYdCu/xCUq++aFwp0LAqSQFHj0/NBQztuWbV1Lh\\\\\\n\",\n       \"VqUc6/nG/WLUYNnlcfK4Do1KhzQHVrMY5QtX87YA6Q7K+13JykzWIkoq/NXG8+lcIV4deO9s2u/h\\\\\\n\",\n       \"WbTtlCnUv/gl6nv6vsa8vvIn6ZP3IQcWNUSsCzcbGk54xJ2X0u5P3+k+L77/b9RVKNLGkyZ5y6C9\\\\\\n\",\n       \"enkCvvzqXmDRepUMhgGq+hDT9PloDiXUJdaipw7Zk23FF7rXqh3KNpunjWetF7pmsq69POM+sVeH\\\\\\n\",\n       \"VLYSun33osbZk2dKfdbbGHLmM+6juVpOzuUMwzAMwzAMI8WeII1xRp7X89BLmW/cJwGE5vukAp/r\\\\\\n\",\n       \"KCRu8cup77N8Ydcv6u2O6+2EXrx9olRoPZ9IpZcNvYi3qhuuB7l85M1n1TgzGcIVzw+e+VYriiEV\\\\\\n\",\n       \"XbJbwuYLeqi7ko59/N7ZtP/Ds9y8radMoTW6e2jx7anjCiAx+6Luz9IX7pzpxnsqEW31Ys8QT87k\\\\\\n\",\n       \"ah/Nue0XdOTtv6bkrqvpjTOmU0+h4G3ZIQFrSIsdkhQsq8IGl8kjV/jyksnpzSKkdt7JNpDVVkJt\\\\\\n\",\n       \"K9QeR9rOfcKV3udwr1HfNS+vAf05zz0mbqM1yDMbmu87+3kl0lwyqmEYhmEYE7AXwpEOxvjGQgiN\\\\\\n\",\n       \"CUaWmyC0vG+9kNtBjstty+1r4QoUMpYNzStk7Nvn8tLlltP1Pn0vsr75ut7y7JvFCJ845XOd6Jfv\\\\\\n\",\n       \"dB56H5S5rSB+cMiaTBTeylyESLlqknptvDai5izjgxupD7r2ZY3h7w4vTKEzbtyQ7p+xjN79yMxG\\\\\\n\",\n       \"n3rIWbX3qqvQzx+6kSoLn6fitFlunRvX2pp2efZo+uw9P6LXPUf02vmps2p+zwy6cPO302uff4je\\\\\\n\",\n       \"8vTtbtrbnryNNpm1Gj1dLgUlUfk366w0dSEojx2VqmHVCcFrIu+73IxGVqF2bA3uOqJqlY9C5q2S\\\\\\n\",\n       \"4YQ83iiM+Ct7HqyqdWXYng7p44YiewTUIW46J5YOGZT74GV8IYNyXPYqyONVcdwyjK/qyeWl80np\\\\\\n\",\n       \"fci2rHsw1CGKvpDBrPBFhssi0dsxDMMwDMPIxkIIjTyYgGWME/L+6p93PZ+4JLfhkwR4up7nG/eJ\\\\\\n\",\n       \"WNo5IUUenk8Z87SwpMWpVuXSopVWIfKO+0QyLbxp14gWsLLcLukyHP7HohX+6jxYrlQq/1LLyDgZ\\\\\\n\",\n       \"15a1ofoy8mzKWuYSQ3Z4zQtTaOsXplC/kASwzJtXWYV+98KL9MKlJ9Osj3yL4q5JDRErTs6mJ6c/\\\\\\n\",\n       \"Rteuv4he6ppK962+kXNoXbfua+iOWZvQZ++8lHpqFXpVVxdtSETzqlVaiPIgrFK1ElkeXytxZdfJ\\\\\\n\",\n       \"wrgO3ClTCataVCJXoS+Bvty8PHe8bCpgyWuuKMSpxh6E4MKCj0zOngwjUTq1MR4SjVgI0uNyOzIH\\\\\\n\",\n       \"l87RJUU3mfeLj5n3Jafxcnoeb9/VvBrn9aRoJZfRSei5JYeEKbl/SUj0arWeYRiGYRiGYQzFBCxj\\\\\\n\",\n       \"HJAnbCVvyIoWdKKM6b5pUqhp5YHRPhktXoUELb2uL0TIt3xWGXzHORwByyeIZYl4vuP0CVzNxwGn\\\\\\n\",\n       \"juzZTue80iFqclzCHesNnjIRz+azCElFRjmwpBgUOiN6fGqhQF9efz36ymOP0/xfH0+rv/9rVJg8\\\\\\n\",\n       \"w+0SYtU9MzdWdZyW8arCFLr+qafouzNXo1eVy25ba1WqNDWu0YvFYpobLEdZmiRUWZlykJUoj1/2\\\\\\n\",\n       \"eqjrUVVpVmSi3C02X61GVKtp4Ua7hFjgkmIVL6eFGZ4vBRqfwDQcAUsLYtohJgUtns5llGWXx6u3\\\\\\n\",\n       \"I+fxevrYtKilj1eKYSFRS6Jdbj7nW2hdJsqxXJ5lDMMwDMOYCNQ60AvhSNc3xj4mYBnjgNEQr3zr\\\\\\n\",\n       \"hcQZ6WCQyw8VXoYuK/06vFxIwJE+n5DAlSVchQSmQgsXlZ7H6Pg8X335jlfO02X35btqHtLE7akD\\\\\\n\",\n       \"yxf15olyCwotjXGnA6gkTVpd8Qg8URxTgmnoSdBz5uSZkvIcywEYNujpoRM23IBOe+JJmve/n6FJ\\\\\\n\",\n       \"27+Dpm63dyOkcLCsCfXPfZgW3X4lLXvgBpra00Nzu7toOkW0er3nxKm1hHr6B+ilUpFqGe4wXVaX\\\\\\n\",\n       \"/8on0EkXViiRVb0OUQSuW5+Y5dsMTx+s3jQstFaT7UEKO3w0MtSP50UqxC4k+ITcU4zuXdEXSuhz\\\\\\n\",\n       \"b1VbOLJ0z4NaWOJyy/1LMY4HvX0ZLil7aZT7l9dhNWM8JI5R4LOcFkJubzjzDcMwDMOYCFgIoZEH\\\\\\n\",\n       \"E7CMlRifS6gdfOv6xCi5nC+cMEskColMWeLTSJaV+9aimDxueUxaagkJWD7Byld/ctta7Gvy/HjK\\\\\\n\",\n       \"X1SfZS+Eg6KWdF+5kqkwNKm7SKrVVGip6z2OVHzx5LniDZdKgxuVcYqYXi67odDf7wSmqgjVq9VL\\\\\\n\",\n       \"75NfWHrhV/bNJk2iU1+1Ef1u/ny6/l+X0sKbf0M9G76GiquuQ1Gpm5K+JTTw9H3U+/zjtFpXN71r\\\\\\n\",\n       \"1kx62+qrU1cc03wi6q3WaM1KpRFkOXOgQksKBaoWYpdrS9akThuOkEM+Dm8lYsCx6oRidUdWrRo1\\\\\\n\",\n       \"CVZcv6hrLWTpsELsDsuJzdXXjV19Dg1da+wlkE9Ku5hCYYN6G1lfi1rQ8uWyckentq3FLSk2hQQu\\\\\\n\",\n       \"2WrkNN9n6byKM5aV5WbhT49Loc8XNsjioHbCNdkXxXLtwvsLnRPDMAzDMAzDMAHLGPeEnFdaZOG/\\\\\\n\",\n       \"epDLaHeVz03kczb5grl8Dixetrm3vfbcWT4xzSdY+ZxaPncWLx+1IQCGnFs+N5YWsljA8vmW0nqB\\\\\\n\",\n       \"S8eXpkkbg7JwidurQmRxVauUFRZt8BniDsZ5Os+rC1nxwADFSdJUWpYiWK7gcV+NYZnZ5TIduvba\\\\\\n\",\n       \"dMDs2XTDggX0z+cfppfnPkD91Rr1FGJas1Sit2ywAW03dSoV0QOiqJ3eQkzPxCWaNVCh7robbEq1\\\\\\n\",\n       \"SgO1GtVKRSdSyYxiTZ42VJg8Vj4+/szCFo+ziMciV12w4iEUSqjBqpXKoAuLxSuIiampjdsN16I7\\\\\\n\",\n       \"c+IIpIikk69LccbnluJt+QqrlysFckv5wgelcCaXl+KMr5xahOLj8yWll44qPkaex+WR5STPsox0\\\\\\n\",\n       \"bclt6uTy0pklp+v6lNvU5HFrGYZhGIYxUTEHlpEHc2AZKyk5VIomQSa0bivxyjdNO51CDiyfWNSO\\\\\\n\",\n       \"20qm3NbT825DTyPPPDnNVz8+UYqPzVevWc42uR9driZZxVNnaS91svdBmaoqlGfJh3YMJYkIjfNl\\\\\\n\",\n       \"fRdi1ZDM48VUIJIyG8sJLDlKAUtLCo0y1ZefVCjQ3qutRm9dbTVvLepa4X0ilBGhg9OrVZpUrRIk\\\\\\n\",\n       \"rlKSUK1/gOJS0YU7SudVQ8jingblcUmxSie0VxWPuuNQzKxcWBKdWkuHg+Ic4+hSpxwfLXvYuLZY\\\\\\n\",\n       \"kJG1LN1a2n2lHYTSreWb3tRiAuGHej86XFCWNSRYaeFKSp5yfZY65fGw40mHWnJd+UIqdR1KwYlb\\\\\\n\",\n       \"oRbK5DH7LrCscEM5nkfEMqHLMAzDMCYiJmAZeTABy1hJCYkqepk864WcR77p2s2U1+kUEqcoIFSx\\\\\\n\",\n       \"E0mKVXqeb/u+/WnnFpfNN95uniuJT7jyzfOFM/rKKR1Z6XIQNqQBSCdxd1sMFEMLK1JwcSJWnIpU\\\\\\n\",\n       \"EQs4WrSRwo5wKEUYRNJ0GUIofTehIDeWJFiK0L4bX+3rVtHopzGKqLdYpCSOqWcgDSl01TFQoVoh\\\\\\n\",\n       \"pqhQcMs0ubA4RJCPT4pXurLFstgHxYUhIZmt6t0dR/1c+cWrdLeVCidz18IqCxzcbmTtyrapc0mF\\\\\\n\",\n       \"CM3Lmx9Li02+cRlC6BOz5DiLR9WA8BMHxCaep7dFns+yPnWCd3mNyzr1iVS+6Xpe1jSNdHwZhmEY\\\\\\n\",\n       \"hmEYRjMmYBkrIVpU0eQVWOIc2wmJV1JKkPN87qcsl5T0wmhJgufLbWvhy7duO+4sLrs8Vl1/ctl2\\\\\\n\",\n       \"6i9rGyExTYdLDko1hULcZBTiQU9zNaPSWXHuK/mZ8zS5cQhZ8CxJ8YbzQvX3p3+7utKYN57e3Z1u\\\\\\n\",\n       \"pLeXqKeH4r4+Kvb3D8lwJD0rUmaQMh27tnQwnA+5nmwRnP/KSX5xTJVyiaKBigttTI+7RktqNeoq\\\\\\n\",\n       \"lVwIosuJxceFY+7pSY+Jj08PWA5/G060kquzqqhLWafueJW4xWY2Pkfy/MnzgnFXf0lM1arMCcUu\\\\\\n\",\n       \"JFmzIdGIv950+F8rQg6sWj2cUE7TYYNyWSlQ8TFoh5aeVhUiGY9LkUsKWnpdXoeF39A+tEOM19M9\\\\\\n\",\n       \"O0rBS7rgWrXMWmBcLkcttqNDHQ3DMAzDGO+YA8vIgwlYxjgly50VEmOkwyPkUOL50q0UCnkLCVZa\\\\\\n\",\n       \"7PLlvPKJVvKzdCj59ifXIY/wlXWsWsgKua6y6ljP920j8giSQ51p3OtgaoQaDB/UObCathwoGudo\\\\\\n\",\n       \"koJL+hlCTELFugur4TzSjiseIOZA2ML0+ueoVqNCteoG6aQqeCQCXTNSivGl39a1pv14PM4CFrux\\\\\\n\",\n       \"Csh/Va1Rta4oQah7oX+AVi8WaFK57NxjrvwsYvG4PF4dSig+V2tpmJ9O3M51nBcWtrD+oKsOuc5S\\\\\\n\",\n       \"ISU9b61C/WR4nSQU+hfCN19uQ4cTSgFLTtNCFH+WwpQWlaRQxONyHR5nIY+dU9KVxuNyGd43z5fL\\\\\\n\",\n       \"+eb7HF7yXigFRblOXoHKHFZjgR/96Edu+O9//+vGt9xySzrhhBPo7W9/+4oummEYhjEBSZ9+ohFv\\\\\\n\",\n       \"wxjfmIBlrGREo7CdkHgTmtaOw0kLU3KadltJGSI0rgUr3UtfloClXWN6nDwOM/25HbIcWlniYLMg\\\\\\n\",\n       \"CPFKC1cyh5JM4t4q/5XM0cQiS1MC8jh27iWvxUuHEPJQT/AewZ01MEBFIWCxK4qED4ePUtaEzKDE\\\\\\n\",\n       \"ZySk/2jZVAabyt4G3ecoolKxQFEc0dKBSmM/L1SqNEADNHvKlFTE4kTtMlm9HlTmfNTVkPpTdRsK\\\\\\n\",\n       \"H9T5yjihuwwhxLo47+k5454OuV3oMDjpc2sVgtaOG4vxCVZ6W9IZxmX1uZl0yJ7OeaVdVb5r0RcO\\\\\\n\",\n       \"qJ1m3AKzRCw5Tc+ngMzK47yPqEX+q+FiQtdos84669Bpp51Gm2yyiROIf/rTn9K73/1uuuOOO5yY\\\\\\n\",\n       \"ZRiGYRiGMdYwActYiZAvblnL+Jw+UY5tZrmEaITiVTFjXLuqfI4rKVVIyaKQsQ/dsyF/9pWb0eM8\\\\\\n\",\n       \"rVPCoa5L33hariiKm0QrqavoXgh1bvFWAhacPhBMZMgbDFXFstiBFKgQWodQQayEoa/PiVVuA/iL\\\\\\n\",\n       \"lesbLvT3u0CzKJBVSHpopN+mkw4s/lzmaXFMk8slWlyp0FLYsIjolUqFlr38Mq09aTJ14/gwwH3F\\\\\\n\",\n       \"oYQcMshhhbL3ReTAKhTdYXP9cZ3KcM0Q+nxhncFeCMWxNpoI2gPmJXUnlrxufQ6rTv/+5gtDlBnN\\\\\\n\",\n       \"5DgvK2XIqvosQworKmcVC1qV+nhFzKu0cEDJbcqWxusNR8QKCVNSxJJl0kghz7duiKxtGp1g3333\\\\\\n\",\n       \"bRr/xje+4RxZN998swlYhmEYxnLHQgiNPJiAZYwTtDOAidtw/sjpcSDEzif+yPlSKMpyS7HEweKS\\\\\\n\",\n       \"znnVSMvtEbP0PPnXJ4LlEdhCdeEbHw76BXaoKKbdVFqYgoYixSypp+icV0P2ngwVrPhz3TjVcGAN\\\\\\n\",\n       \"cVdhIXzmnFcYX7ZscBwrY6gLWBFErL4+95ePWCZl59dyPtuc9Ui+5svAMikf6NYonVd8NkuiBTQE\\\\\\n\",\n       \"LEyPIppaLNJiInquf8Bts3+gQv994glao1igGauvThGOiY+VB64HOZRKDQcWDp3rdmhoZnavhLqD\\\\\\n\",\n       \"Rw23Bxa3EOqZOrvS68zv8tJi02i0X+3IapVvSn+WIYRFNU22CCkmsSgm57PYJcMLfWGM3P8li1ty\\\\\\n\",\n       \"W9rVxuu6Gs5wvcmwwsQT+ii3w+fAF2oolzNWFAgzvuSSS2jJkiW0884724kwDMMwljsmYBl5MAHL\\\\\\n\",\n       \"WEnI8xKa5Z7S25AygJyXNU0LWb75FBCPCi1yXmmhSk7THhv92SdgafFMzmOHU+QGjKfiTxqmx+OD\\\\\\n\",\n       \"gtDwBIDBcD3pLwpvU4eWsbihe6fzua50r4RSzNK9DUpxhR1Dg6JWTDX0dijDBWXidla78JlVL9iQ\\\\\\n\",\n       \"6lYk5MHCMvjrzkI9nFC+8rPsQEI+4EELVz4BS7dALWU2cmCpnFjub7FIM0olmjxtGj2zcBH19fc7\\\\\\n\",\n       \"R9O8Rx6lxUuX0Vq77kIFnbRdu68KBVdHqCvpvJLuK/4r616fZ9+5YzcWqh7LYJv4zOcM0zic0Ldt\\\\\\n\",\n       \"v3A92NbyhJkGWnPjTMh2nbrF4ApL0+6jLlOHmBaxdM4rFpGkpCmlTT6b0nHFrioepGglrzMpTkk7\\\\\\n\",\n       \"Yk3dC6RIJutJlyMUrskt1lf3PhGLt5E1rsnj1DJGwj333OMEq97eXpoyZQpdfvnltMUWW3iX7evr\\\\\\n\",\n       \"cwOzcOFCq3zDMAzDMJYrJmAZKwnDEVFCLiKfw0hO98kEIddSaL4elw4rn2AlBSeWHPQ87bXxrSfF\\\\\\n\",\n       \"Lb3/VLSS4tVgwuzBwdVEfVo7L/taSBh0x8j6zXHWhBNLixs6dFCKVvxXhxDq3ExSXJGiy8BA2qNe\\\\\\n\",\n       \"xAIWi1fswGInEgta3NUexCt2YGEYGKC4VnNCRqFWo2KCvvrq+/d49uQ06dGhgIDl6sUjYHEL8AlY\\\\\\n\",\n       \"bhrON3J1dXVR16RJtMEaa9DzL7xALz/3vNvm4mefpUf/8Ada521vo0mzZ3vzfPFQpTSBO2t4dd1u\\\\\\n\",\n       \"iEjIda5DCvU50+dZtyneHreLUH6toTUVbltyWmvSbercXuwwk50DSBFrUMySvQlK0UomYGfBikUo\\\\\\n\",\n       \"maxdhh/qlqDDGKUoxCKWdlS52m0znFDvi9ECtWzZPidWO2KUCVijzaabbkp33nknvfLKK/Tb3/6W\\\\\\n\",\n       \"DjroILr++uu9Itapp55KJ5100qiXyTAMw5iYmAPLyIMJWMYYRzqbspYZaYiQDmnTYYFS0PKJVdQi\\\\\\n\",\n       \"TFCKS1JgklIDT5fik89To0MJfevJcqA3N+7Fz58zSopVLCD4xKAsdLiYFi7a6ZnOJ2Jp0UqKWbxc\\\\\\n\",\n       \"qLxSUNFhhBBhsB6i5fA5KsVU4lxQvCI7kXh88uTBjbOKw5WIA60fgDs7/f1UhZhVPyMVkQWJP7PE\\\\\\n\",\n       \"IWWGrCTu3OKiFlJnSYhXEcqPY8IweTLFU6bQ7NmzafI6r9Azd99NycAAVZcspScuu5xmLlpEq+29\\\\\\n\",\n       \"d7qOdGRh3XKZqtXY6XZsQOMqkPXKbSJ0zjkskD/L/GSyDciQRD5/WWGJTXWlRFg9PpI2zuUM9WpZ\\\\\\n\",\n       \"qxVEnUhfnXZg4bMO6+MWwX49Fq5YROL7AK/njkYFo2oHFe9vQNzPZH4tHSLJ6HBDGZqo9zEcWolU\\\\\\n\",\n       \"3MpHsg8jRLlcpo033th93mGHHejWW2+l733ve3TOOecMWXbOnDl09NFHNzmw1l13XatcwzAMoyOY\\\\\\n\",\n       \"gGXkwQQsYxzic1hJx4Kc7ltXClah7fucVzqXVchxVfRIDb5lpWAlBS65nBa30uMrFAp1QScSQk/k\\\\\\n\",\n       \"wrF8IpDOO9U40hZOLO1u4mnyBV8uK105rUQIHU4oRSztwtI5sKSbjGHHFUxEUmxh4QFCDObFUUwD\\\\\\n\",\n       \"Lk95MRVwMBPqFidqx4AwGo5p4wPlHdYFrIjjHZcupQJcWVB5xOu+DODS/pysNOTaHyiDSKW8yQIW\\\\\\n\",\n       \"ehl0w6RJRBhYxKqPT11tNXrVRhvS0//4J/XOnevKP//P19CSJ56ktT79KSrNnNkIJ0yKRapQgQYq\\\\\\n\",\n       \"cSN3va8ueZomS0Di88jmNt4GprcOGRzabkLtQO6Pl+e/elnZdrRwJp18PJ5Oi5pcadVq4gS/dD7C\\\\\\n\",\n       \"DgtuvFkcwtmqCklT5qaSoYRS8tQZ1mS4IamQQ16OpVOZG0tuT7rDvLXLtagkVzlfO6+0QMUimIUF\\\\\\n\",\n       \"jkVqtVpTmKCkC+5N3AsMwzAMwzBWECZgGWOYqAPLZIUKys9y8K2vRTDpDNNhgz6HlJYaWiVjZzGq\\\\\\n\",\n       \"1EKwGpwHlxX2j9DAYjFu6q1P9t7nE7Gk+6qVa4XRgoLONeWbL100edxYUlzgcvpyJ+ncV75cR7Js\\\\\\n\",\n       \"OleTzIVVqUZUrMVUlCGE3BsfbwAvcWzHgZIjN8QZzesFiBBCGMeU4LxUqy68sJYkjdYi/S3So+PK\\\\\\n\",\n       \"HGiN2h8opVE37sJDY4oLhVSEQ3lZvOIeBsVQmjyZNvjwh+iFW2+jF/7xD3dcSx96iB474URa++ij\\\\\\n\",\n       \"acobdx8MH3S5r6IhPQ+G8l/p8+kTJrGcFKq0A0uLpFlI0Uq2Xb1POa7na0JuQunCkuKdbFOVSiTq\\\\\\n\",\n       \"CJ8TiqJCozdFTGu+R7AQxWdZuq/47HPPhdwKdG99fB9plDijxrQQJjO16XBAX0+CFBCsqM3wwTzh\\\\\\n\",\n       \"hSN12hraUfX2t7+d1ltvPVq0aBH98pe/pOuuu47+9Kc/WUUZhmEYy500z+nIvutHur4x9jEByxjj\\\\\\n\",\n       \"5AkfzDtfBl5JYUqHD8pldMYin/OKXxa1nKCTq0vXlQ748olUMgiMl2NBq9nJFceF1D1Uf3nntEXS\\\\\\n\",\n       \"1cKfWcySSdJ1j3CNWsh4qfc5UuRnKRhlCVh5Q8J0aGNWaKGvrLpnPBYZoD9hPe5MkJPFd/V0UVJJ\\\\\\n\",\n       \"exVsErAwzuGFUrmQB6mta3BA9fVRadkyF6pXq1adBFHwOLBceQMeFdkKKSCLuhYRx8515crJydgh\\\\\\n\",\n       \"YMneBdmRhc89PRT19NDMvfeiSdtsTc/84iKqvvIK1RYtoqdOOolW/dCHaOaRn6eo3EWVZYN1xYPU\\\\\\n\",\n       \"7XQooRYqfSKkrx1IYWk4Iaf8WbqxZOcAul3p7Uh87i8+Ruk85HGd1L6e47/+GbnDBl1aaZPhFiBd\\\\\\n\",\n       \"VDKEUCZxl84qFpmqAbcTxgcyxCzOvcWffTmvZHihT1rNCiOUZdTr6eWy5uf5LjDa5fnnn6cDDzyQ\\\\\\n\",\n       \"5s6dS9OnT6dtttnGiVdvfetbrTINwzCM5U6NIjeMdBvG+MYELGMlJerAS44v71VIoNIuCem2kj38\\\\\\n\",\n       \"+QSqKBA2yEKVFKma0m6rz+zIGpwHXYJFKc6zLQUr2ZkeO5h4XIs/WS/3PjeTDhHz5QRiZIJv7VqR\\\\\\n\",\n       \"6+jPEl+ooz4GH9iHPCYd8saiFYcQch2UyxEVSmUqOINLXWngSpLJm7jyZEVz3ig+AdgJwnIwrb/f\\\\\\n\",\n       \"5cUq9/ZSUu+lUPZPp8UrKUXw31DLjLBviFasYLKAhXEIVcjdxbmspkwZnI/pdTFr8tZb00ann07P\\\\\\n\",\n       \"nnsuLbn9drfPl379a1p89900+9vfpf4Z6zY6XuT8V2xC84lWvrbCSMGRq47Pl841pdfTwhSfDp+b\\\\\\n\",\n       \"EKdAtiNfzjc539feW4m00n3Goh4fuxb5UG88nhr94npeMZkZTSZ0l/1V8jIyB1aFW7coNa9Laluu\\\\\\n\",\n       \"9FyTKmm7O1quiYC7S7ZIKbuy0JUnV5V0junpch/GaHL++edbBRuGYRiGsVJhApaxEhMK9/N9lq//\\\\\\n\",\n       \"vu3kFa9kqKF0V/mcVL5QQS1KhUIDS+rzoLiFUEE4bIrFyL38skaiBSwOGZRuLHZnsdNKuq50WFXI\\\\\\n\",\n       \"eRVypTQ7Spr/ypd5KVRJN1Sr8EId7iXDH2V4YaisUlxh8QADiyYsMnDuMOhNXaUCRaUyxV31hbmw\\\\\\n\",\n       \"EIO4INJ1xeOsHnLhoFjUYzddSB92Vv8bV6sU1dWPBL0XioMP9ULoxrGteiW4z/jLQhWLaT4Bix1Y\\\\\\n\",\n       \"HE7In3m8p4eKU6bQuqecTC9fdRU9d+557tj777+fntp/P5p09ElU23WfJvcVhxJKkUaeXx8cMshi\\\\\\n\",\n       \"lQ5b5fPmc9Rpl5XsgVIKW1K01b0eSieYbF9527wOSeVjlcIotzcW+rieUC7Z/jjMMP2M5O8ILZQh\\\\\\n\",\n       \"hbojiUYrEO6rkgr7k/OkaBVyY3EIH/dkKPfn65mwqqaF8mHJnFc+h5ivDIZhGIZhTDQsibuRBxOw\\\\\\n\",\n       \"jDFMOxZQ/XqfR8TSnhb5WU7jF0kKiFk6h1VWPix//qrm8WaXFQtYUVR0uXNS4SoVr6SABZ2CRSsW\\\\\\n\",\n       \"s+Q8fsFnAYtf3jknlk8ACOUDYnQSayli+ZwpMszK13ubL+wwhBavfM4ZXWado4gdMD43VioCFihG\\\\\\n\",\n       \"XWEEC/NGsKDO3s07ZzVGZgvnE4PprPogSXx/fxqiKFQguLK0iCVbq/tcF6yaEpvxieeGwKIVhxBy\\\\\\n\",\n       \"4naMS+GKc2Gp3FhRdzet+pGPUM8uu9LTc+ZQ5amnKFmyhJac8kWK3noTVQ8+nqq1SUPqU9Zx6BxK\\\\\\n\",\n       \"tx87rrRTzkcoHFCGlcrpvjBTmQdLOsC0ANoqF5YWYHUIJQtWLMJxSjVuY3zaOXyVT+HAABLkIwdE\\\\\\n\",\n       \"LHJBSIHId1/j+TyuPXzysxSUZIWzcCVFKXkflOKYOwtqGSlQRW0IVnJ+KywswDAMwzDGK5YDy8iD\\\\\\n\",\n       \"CVjGSohPrMq7HsOOhjzoHFi+kEJfDiwtUumE7NJlVRbrlMUy+FxME3LHhSZ9gkUqdlhpB5Z2Z/HL\\\\\\n\",\n       \"uhawMC+UxN0nKOhcVlrA8qWE0g4snStJzpOunVDoWeOMqnBCX4+Estzcqx0GLgPEA90DI8Z7e+vr\\\\\\n\",\n       \"dcdU6EodV87xxCGEcgWuWOm6kifI2bnqIhE+Y6f4LGPL6ooGBC0naunK1idGC1gsWvHAwpVM4o59\\\\\\n\",\n       \"8jyEEOqcWOpz0t1N3dtvT2v+8jKaf8rJ1Pvn36fFuuZSSu69naqfPosGZr66yW0kwzND4pXMe6XP\\\\\\n\",\n       \"UZaI5cuD5nMS6rYgRVquSrm+LldIvA2FyWKce2TUAhbGWf9kAUuGENajShuOtjSUFQ7AiPr704T5\\\\\\n\",\n       \"acJ3FK6/LiTx/YZzZrlSC5cVi0c+99OAEqlkhUu3FS/D+25xMTa2z10SDDcc0MIIDcMwDMMwDD8m\\\\\\n\",\n       \"YBnjAB03pl0CISdWVvggv9RlJW33pc/O46oaFKbS9cpCtOLxwTDDUil2L7Ssh3BEmI4WY22Cx2V+\\\\\\n\",\n       \"LBa9fCJWKAl6q1AqLVJpl5UMH9SiFf+Via71eiCUCLxx9gJCmwwNY3OUFKl4XxAL5DYw7jtW/CLU\\\\\\n\",\n       \"Xe6ignRZ6e4dZaVDpGIbFysUGKCKsWjFqoUSsBqqSEi9k6KZT8Di+FFuFFwGFqdY0OJ8WBjn0ELl\\\\\\n\",\n       \"zqoVy9TbG1FfPJnKx55OA1vuQpUfnERRfy8V5j5OU095P1XeM4eW7PQhl5xcnls98HnRidrl4WSF\\\\\\n\",\n       \"G/rEJi1ccnX42rUMI/S5s1o5D2V74NMTate6Y0o0By1g8XKySeAzR5iy8NzfX6CBgcS5sgbDArkX\\\\\\n\",\n       \"QumCcqXPcJZKUQmfuX3xthiZc8sdsUrqXvDM5/X4sxTO5Lgsqw6OzZM7yzAMwzCM8YqFEBp5MAHL\\\\\\n\",\n       \"GGe0G0qo3VUyhEaHA0rBSotZoVDBVqGDvpxYadhgFCHPVUxdXWnIoDTUsJAlRStEg0kdg0UrfhH2\\\\\\n\",\n       \"RZz5XCsyzCoLXxJrnwtHv+j7emfzubMwsNgkwwsZ/iwFB1+55XpSbKtH8bm/WIdzEEnBIxW4Iorj\\\\\\n\",\n       \"JM07FhWphIpuNCclaLG1iytZKoZ8Eljd0AKWjkPT3fLx/rQqo7P1y+TxKKtuMNyIdPggC1j1fFgD\\\\\\n\",\n       \"UdElF4cwxUVN3vQeGlh3W4q/+wUqPvUwxZUBWu23J1P5gZvoyXedQpVoelO70PXvy3HFh8UipTx/\\\\\\n\",\n       \"OtzPN0gHlu5tUy+Xp823CmPM0+alJokB1S91Sw4nlCGE/BliV7O7DO3P1RpVKkXRPbTMRcXJ1Dnn\\\\\\n\",\n       \"lfxq14nVQ70Q8jgLYzxdO7J8PRXKXFns9tIhjyMJHTQMwzAMY7xjIYRGHkzAMsYRPneVzndFLcQr\\\\\\n\",\n       \"X6igDhfUy2nxSocWapFK9zA4VMBCrqtCodAkUkkBi000LFpxvm6pY+hxfqGXSdxlb4Ty5T0rITqj\\\\\\n\",\n       \"3VH6ZV7qMiF3Cuc+kuKWz9Wiw7V4f1qwkgm6NTonF+ch4m2gXDIZPAsKII7rIkK5SIVSTFEtLQTE\\\\\\n\",\n       \"hSE7xo5kj4Rc6byDLAGL1R8elwcsLUIyVNEnYPHJ5cbDn3lcOrKEcJU4QaubklKZKgOD4hVHPbph\\\\\\n\",\n       \"1obU9+XfUPfF36ZJf/uFK9LU+66hjZ+6l/6z73eod43th4SCNl15om3J+ezOkknVQSiXldTvpE4Y\\\\\\n\",\n       \"chnqqEu5HZ/LK4R2CErxVfbGyGGVHCbIp3nZsubTLtOi+Rxi6WlO7zfIi5WGFLqSBHJgSedTo9R8\\\\\\n\",\n       \"FQg3FI/Lz3KbcrlQfiy9PR2yqP+2ErYMwzAMwzAMI4wJWMZK7q4KqSzyZUsu227eK58LS4tWvnxY\\\\\\n\",\n       \"LEpx6KDsWRBDl5heblquUCg2xKqQaUZqEnKeL5yQHVhS45BRZ8MVsHx6S1Y4lcpV3vSiLx1ZWfmx\\\\\\n\",\n       \"5LxWQoOEt8GCGY6P981iBG9P5vDSwllapph6enoo1tY2qTKy4sNKIj5jGn9mAYtjynwVKHfKBfSp\\\\\\n\",\n       \"Oqzk8AmXJ5sbkbTpcTnZnSVDCstlqhVKTmSRUY8c5oZDcPOqXbTo3V+m8nqvp5m/+TIVl71CXQvn\\\\\\n\",\n       \"0ha//Cg9sfPn6bHtDnXtvFUvhCFCuay0e8qX2y3kNMwKm9V6YKcELBapZM4rVLsMG0S5uK6xf5wK\\\\\\n\",\n       \"Wdc8n48HebH6+sr1Xgor9UEL7STGkfMKVHxnQYhOct3G0SpHqnRdtUK6suT+fD0Wynm8bkiMMwzD\\\\\\n\",\n       \"MAxjvDqwEEY40m0Y4xsTsIxxju8mxjmufKGDvnxXvE7cRpig31nV3LOgXAYhgwWXqD0VpdKQQc6r\\\\\\n\",\n       \"zVFgLGBpcYvnaZ1Cahiyozr90q97bcsKIWQnkw6jkiKTFKX0Sz07U+Q4v9xzSJ+cz/nSpWAmHTxZ\\\\\\n\",\n       \"PRXqcsv0Uixi8bFy/iveJjuCmh1iUSMhfalYpGIppuK0wqCthuO/OJERKp7FLJwUXzIkX7d1XEgu\\\\\\n\",\n       \"kI6nA3yypDLj635Si2vswBJqaNLTQ9W4RJVqTAN90RABi81i0o2FQ1jy6j3opU9tQev+9os07enb\\\\\\n\",\n       \"KU5qtOGNZ9HUJ26ie978LervmuU9Fz7xUbY53SalkU2HAur89bIqtIClnVo6mbus4qz2r9183E60\\\\\\n\",\n       \"GMtiLadE49PO7ZxNeVy/nO+fBStOQM/HkdZTRFGUUG9voX4dSqFHOrK0O8uVXh8N177Kj+UTlXQI\\\\\\n\",\n       \"Ia+nRS3OkaX3Jd1XhmEYhmEYQ59K8j7Xh7AnjfGPCVjGSkIrNb1VovZQOKGenjWE3FhZwpae3ixa\\\\\\n\",\n       \"cYJ3Fq+QsJ3TErHOIEMHOdqLxSs5j0Urn1Yh82H5nCpNL/NRIqJ7hCOi/kbvvljwEu/cKNEQx5UO\\\\\\n\",\n       \"n+J8P5wLiF/sOYQQA2s6nIdKJv6WoYYcocd/ZTL5LHgdGXaoQwlZbGBYMOD98Dq8jaQrpqQEtYMo\\\\\\n\",\n       \"7iaKikWKpOrAioQ8QFYuWL3AyWEFRApYUm3TSKWF1RipdPgELAwynLDeYJJymZJiiWpxiQZqSBaO\\\\\\n\",\n       \"3u+aRSsZPujLO98/ZU164CM/pTX//iNa96YfIdCNVn/mFtr5kvfQXW86nZ5b6w1NxQ85nHQeKj4k\\\\\\n\",\n       \"7bjSwpWOnuR2zO1fRlj6wmibHVlJ2vSlgMsN3k1n5TRNNKpDXHXeK5lrjaNIUYec94p7wOR8azon\\\\\\n\",\n       \"FwupLKZymCEKiFBCvs6SpKQe2WTbQUPmY+DPNTVd5r5iQUqGB4buiYwvPFCuR2qeHs963DThyzAM\\\\\\n\",\n       \"wzAMw0gxAcsYhyKW7+XK99asl6EM15UvH1bURjL3kieccFDMiuNiI1G7TFWkhap6fu0mEUvmw9Ki\\\\\\n\",\n       \"lS/BeyoCICm5R8DCizPVKJKJpli9EcoDXvOTKKIqZuPlHS/xeHEXSdrZrcS6DIsebE5isUpqOjLB\\\\\\n\",\n       \"Nb/cyzBFmbeKi8burEbZkuywL1/Cdz5EKYzJz3I/MrwQx0g9cGIhN1ZdHIpjijjpEZQgmbGbD9YX\\\\\\n\",\n       \"P+nLdu/Dl508FEenE6HVG1ZSnwfxqkpI1t5sItOdJUoHlhSwGp9rRXr8dUfQ/DVeR1v8+YvUs3Q+\\\\\\n\",\n       \"dfe9TK/70yfpP1seQvdvfyRRVB6Sr8wnXsmcVVx0qdWxiCVdVtKBJXvi1J1EpuPJ0B4LsX/3N3Ft\\\\\\n\",\n       \"HyLckMbjCpdOR9tPKE7bvRKw0s9p7jB52rlJoH75GmCnFaZJ9xifYiD7BtB9BeBeA9Ex1Tq1A4vv\\\\\\n\",\n       \"YVqkkknd+XOSkedK58zi+ySJng2zxCgdNigFLBOvDMMwDMPgJ4/I/RvpNozxjQlYxjjKh9Vqvhaf\\\\\\n\",\n       \"tJNKi1havJIJ2qUwJaeHErT7hlIj51U9/dAQkQp6A+ax9oDPLGbJzzIiTLq2+IVf9l5YKiXOZRVB\\\\\\n\",\n       \"cWIxZQBv4bCViG4DfUqQiK2C26hYF1FKbGuJY0qiAlVqg+4ULXrIUCoOl2ItR2s9GFjAwrI8zs4T\\\\\\n\",\n       \"n9ajjUscgijnycNjs5PMk8X70b3KcX3K8qJcODfFYsEN3dOwQP0AMUMnQJL2NNkloy9jfQhfZnOp\\\\\\n\",\n       \"+PDnUD6sQpF6B2Kq9A7qbNJlxeelkbi9Pp0HqcHJKMj5a+xEf9/vCtr2+jm0xlPXu6Juct8FtOrc\\\\\\n\",\n       \"W+jW3b9LS6asm7YdoYfq8FXtkEKxpYClc7vxslq01eJWUw+FTqgSMa4DgfxjPntfvfBp+3eWxcEN\\\\\\n\",\n       \"dxUpiQvOnSXrDaddh2HyX5kDC81lyZL0Mwt1LHixsIVzxXXH6y5ZUqwXW4cBspilj4PFI3ZiaQeV\\\\\\n\",\n       \"vA+yE4vXc1eQR/CS833hi1pc8yGTwBuGYRiGMZGwXgiNPJiAZXSUU089lS677DJ68MEHXaLrXXbZ\\\\\\n\",\n       \"hU4//XTadNNNR9l5JcWnrHDCrG34QgR9opeez+JWUYhY/Ff3PjgoXEURnFfoaTB1Xkknlewgjp1V\\\\\\n\",\n       \"/Fl0GudyZOmc3EM7nEuoBNdJUqWoVqHCMigPFYpYRNFqkAxjG1JNqU0m8nULx2/ZMXpQxLHF7mW+\\\\\\n\",\n       \"NKlAA5U05ImdPiwGsdAg3Sis6/BmZWif7BlQ6j3sltJOLOmWYtGEBS0Zksi6nBS2ZJ4tWT2hnhaL\\\\\\n\",\n       \"xcjVdVKLnaOuUIipMKlIUVcXRax4afUn5MDKSu4lrUo6A7l2YNUbRFIoUFIoUhWJ1Wsx1Sox9TnR\\\\\\n\",\n       \"JD0nOkxQi1c6V5nU3mTOMjfetQrdssePaMP7fkZb3PZtKiQVWu2l++gtV76H7tz5ZHp2o30a9TvY\\\\\\n\",\n       \"y97Q3gR1mCBPl1GRzcJss2jF5jO4DdH+IdhCtIr6axS59t+i54CMayAKqW516xTaP66DYrFI5VKB\\\\\\n\",\n       \"BrrgyEpFLQhQUoyTDiztumLHFReRT70MpUVZ0nPIObGkw8pdKeqrXoYPFlX+LHZLyXuddF/5Er7n\\\\\\n\",\n       \"TejO25D36pqal7W+iVqGYRiGYRgTHROwjI5y/fXX0+GHH06vfe1rqVKp0PHHH0977bUX3X///TQZ\\\\\\n\",\n       \"lqGOJmJv9ZnHfaGFUc5xn1jFgpUMGeRlimpdXwJ3DhuMXc4r7ZSSohWHCkphS7qz5HKyUzkncpVr\\\\\\n\",\n       \"7sW9WKhRMapRpFUJ3fWfFFKyMij6xCt+yy4UnLhVEEpCUihTXIypGkdULKR1g7AnGUIoN8WaGr+g\\\\\\n\",\n       \"c94fGfrHL/MyCbvOec7LymlSk2ARi6ezYMDjcl2Zb0sbpfhz6tpKc4KxG6tUSsNDo0KVomKJolLq\\\\\\n\",\n       \"zopY9QmJJ8DngvNZlzwiogsRLBTdX4iIzhUUFZtEKJ1YXDqEpGlMNhcpZGndjYvuDieJ6NEtDqL5\\\\\\n\",\n       \"M3ek195wFE1d/BSVK0tpp79/kf477ya6d6fjiboneZuRDG2VbiuZi16Kn1rESpdLqLsrcSGBGND+\\\\\\n\",\n       \"qSoOypc833dSQ/gyzNfr3uVBK5WoWC9QsVymApL9xzENFKNU2KxfLlJ7xGfZNlmk4t1x5wHcLnkc\\\\\\n\",\n       \"A3ZdqyGcMKFqtSicTyxS+cIEi4GwQRlmGAXyYem8WI2K8cyXopVsz3q9UBhiHoHLMAzDMIyVHTw/\\\\\\n\",\n       \"RiPsRXCkvRgaYx8TsIyOcvXVVzeN/+QnP6FZs2bRv//9b9p99907tJcW/dx7XVetXFR6PSlYsSgl\\\\\\n\",\n       \"BSgZVhjqibDclKi9ucfBkst5JZ1WPHDPgzxwqCA+T5niDy/EOOZ1dSVpj4Td2GuVYoSy9fb5Exn5\\\\\\n\",\n       \"XuB1+KAvB5Yv/5J0YEnloVSiqLvbvcxjSErI9VWkSjWpu1FSV4oUKtiJhYFD22TecnZjcQJ2zG+c\\\\\\n\",\n       \"+frpY2FL5sdicUXmE2JYCOBk8fjLBjUuk3T3yHxd7J7j5ViYSA8/cseLoYjq6SaKaxVKEn/dR7pg\\\\\\n\",\n       \"OnmXzICOPEyhHFhRTLW42IiQqwiHldRwePe6d8F+j9YjBa1Q2i7dieLLq25Jf93nctr+lq/Rev+9\\\\\\n\",\n       \"0k3f4D+X0mrz76Q79zyTlq7+am/YoA4TVCm8mgRfFrTS+Wn7L0IQoipFFcSp1gstE3v5BFzfAYWu\\\\\\n\",\n       \"AZmsS9c9H0xdVUM+tBKGri7q6ilST09Ey7o4hBaC1mCCd7kqi1ss6AGuHxZxpXOwvoQTslIXlh5k\\\\\\n\",\n       \"CB/+VsW9iscrQtxyV4a4Nw54XFr6fil7KNSf5f1ZbtuH7NXQMAzDMIyJQDu9i2dtwxjfmIBljCqv\\\\\\n\",\n       \"vPKK+7vqqqsGl+nr63MDs3Dhwpxb144pLWzpcMLQNtgpFepVUI6HErZLYUuOy8/lxmftqErFp0GR\\\\\\n\",\n       \"isMEIVBB0GIXlp7HubN4vFyC26RKUe+yVLgaEImLpAOLE0/peDD50u5zoPDbM3/mbNOye0OZnAif\\\\\\n\",\n       \"ETOYJolKHSld3S7EqtQF91mp4QTifD4spHCuHxZR+LPMd8WiFubLpODA15GfDjNkEYw1CHZ2sZDF\\\\\\n\",\n       \"TiCex4cnRSrOUcTzsnp8TDW+gut1soDE/eVyun8cB7+wZ/VA6DkPSCbu0pdBrEKo5kDUOE5fvio+\\\\\\n\",\n       \"7Si3FKWkaCWbBms9upc9LmYrw1KlNJlu2+1bNH/tXWnbm0+iYrWXpi54lHa5bH96+A3H0bNbfYjK\\\\\\n\",\n       \"5VTIYQGHmwvXJws67C6UwuGgkJVQKUpDA6P+KlGfEKy0eCUrhqezSidteb7zwA2GP/tiHXVcY32A\\\\\\n\",\n       \"mFXs6qIp3T1U6UrDhzmEUAq3vBkgE9fLXbHgystJl2JvL4cGsptJnhwZNsif05aU3q8aByrGa555\\\\\\n\",\n       \"mlaCkxS/mIJwfVn+K8MwDMMwDCMbE7CMUaNWq9EXvvAF2nXXXWmrrbbKzJt10kkneebkzV8VIit0\\\\\\n\",\n       \"UM7Xy+twQV9+rFDOLB1a2BxC6ISLwmDOK5lwnUUqGQYoQwYxsDuLPw/mxEqoq1ChQqVCcXUgFY1k\\\\\\n\",\n       \"t3I8+Cw2MpGTzv8jVQnZVZwMX+O3atn9GytSrEDUk15FmFaruRf5yL2JQ9dDmF2kzUWNvzxd5gBi\\\\\\n\",\n       \"UwzrCyw46R4JGe220vNk2imZT4tFKwzSocVJ3mW18XKc34t1DNb3WPjCsaZVFtFAo0NB9AoZN3q/\\\\\\n\",\n       \"i1q4DJNKOh/95aXljIaITNI1JSMWpbNKpuKS41LIkgKWDhfUKaNCRHFET238Hnpl9ra0w9+Opukv\\\\\\n\",\n       \"PUiFWj9tfv3JtNrTN9Lj7/g6UXl6k/bjy3PF1wGLOtwLpwuVjSoUV/rT8EwcDNo/HzD+QsTScZGy\\\\\\n\",\n       \"K0V5kO1cA/IEyxMvYx7r10BUdz4672ahRF3IlTW56NoCtzHZ06AUWHWYJjbJy8tznJ53tIdC3YmF\\\\\\n\",\n       \"i6wqhCwpGul8V6EcWDpkUOevapzpQPigDiUcDiP9PjAMwzAMYyxjSdyNPJiAZYwayIV177330j/+\\\\\\n\",\n       \"8Y/M5ebMmUNHH310kwNr3XXT3spG/sLiy1+lwwh9y2SN+4Qq7dwqtsx7pXsM1DmvpIglxSwWrSBg\\\\\\n\",\n       \"TZ6cUBfWK6U5riK8pEOowl8M7LzCy7zM1K1f4LNCCH0v777wQV/3cBxvx3GCmF5XPiBmFRBSB/dN\\\\\\n\",\n       \"HFOMkDi322hItBa/pDPS8cP5qxpnXCS5lsj8VkNaSdQsYLFwJXsm5P3gUNgRI4UFrhLZgyKHP0pX\\\\\\n\",\n       \"jXQasZEKomZavWl7R56kLHRHeVJQktGh2jUlQwjlaWcBi9eTUXW8nHZc8bgvVRfXqfwLlkzfkG58\\\\\\n\",\n       \"169p81vPoA3uu8hNm/XoX2jaT+6lx/c7k/o33L6pGWkTkwwhhGjbjeukhDxXVYpZpJJtXobNsoCl\\\\\\n\",\n       \"7Wby4PU1EBKw+LMOIZSF5oErEPtKk1W58UJXF8Xd3VToil37T085n//BvG68S3luUSzZ94J0JkLM\\\\\\n\",\n       \"RMJ4iFeD+bBYwErqn7kXQSlS8f3MlwOrliFeadHLlSLwY8FIfP0mXhmGYRjGeMYELCMPJmAZo8Ln\\\\\\n\",\n       \"Pvc5uvLKK+mGG26gddZZJ3PZLuSGgWLTkV/g4zbX16GHWojiv1L0YmFKJkNuFqqaexxM818VCgUX\\\\\\n\",\n       \"KiV7E9TiFIcFytBCdl1hfNo0KWAlNKk7oRjJqZf0Ei1ePBiLtHTp4Ms8psmXeY7Pk3Fl7YQQ+nJg\\\\\\n\",\n       \"ZdlmsG+p1rECBBcW9t3VRUXkyerppriAnFGDeoM0uQAOJQQ6LZHMjcXzJTI3UwgZIcmHx2XgEC8W\\\\\\n\",\n       \"plTuehUm2OzAGtJRY32+3L7URjgsbDgClgzpk7oMj8vUT1kdIvpMSbKJtIp0lHXZJC52ddHDu3+F\\\\\\n\",\n       \"Fm24M212zRwq9S2i7kXzaLOffYzmv/UIWvzWQ6lcRgL8tL7YgcjNh11XTtAqJ2mo4BIh3GrRlq+B\\\\\\n\",\n       \"rCz1uiMDKWblDSGUcX46WZc8CFaf6wcUTZlC3d3dVJ5SpkIxatJ/uR65LmXYoE6VxnnfBq+F2AlZ\\\\\\n\",\n       \"gyJWo/V4krW7Myry+rmtBnodTLedDlw/vvA/6bzSyHxcISyk0DAMwzAMw2jGBCyjo+BX/yOOOIIu\\\\\\n\",\n       \"v/xyuu6662jDDTccpRr2JRD2zQshHVU8rl/SeFvaYaWFK38vg83jpbp4lQpY/CLOf2XidhkamLqs\\\\\\n\",\n       \"BhO2Y3DvwuWEesoVipctS0UgvKxDwOIXeIxDxOIXd3ZmsYCF+TrZkS98il/gWSmSDiydtJ0tRS6L\\\\\\n\",\n       \"fE9zCBWLViwc8Ms8Jy6v1Sip1ahc6qJCF3rwi72OKh1SyPNZd+DisFuKc1cx2jGkQ9/kNjnnlkyk\\\\\\n\",\n       \"LSMnOf2XFLNYfJO6htT8eFyKVlLQ4n3nEbCkIKc1F+nMkdN1eKEUrbRgxfvgbUhDkk8M1D1F+lKm\\\\\\n\",\n       \"cRPC55c32YPuWvsKevVVx9C0p++gKKnSrD+fRdP+ezMtOfR0KkyZNVSwql8TpUKNClGVaFkfRSzO\\\\\\n\",\n       \"ctgst3merts/DojDa3XXijgwFrN8Byx7E9CNgU8u/qL9D1rFBh2I/LnuxkIHB1zJcbmLerq6KUkG\\\\\\n\",\n       \"Q2plOwayPfJ5YcegFDXTjg3Sil+2rKRCBnWvhDJhOz5XPO4sd7ZVK5TzfA6tvMIUj0tXl2VgNQzD\\\\\\n\",\n       \"MIyJhvVCaOTBBCyj42GDv/zlL+mKK66gqVOn0rx589z06dOnUw9e6pYLvpxXeggJX7715bK+cEE9\\\\\\n\",\n       \"bWgieISEybAomXxaOktkCCELWvJzKl7VqFysUnGg7qxi54l8gZcClnamsCNF58DSCY50+BS/RYe6\\\\\\n\",\n       \"jWMHCj5jG2wj0QoJ0O6WBNmciApOFED+IBx33OT2kUIKh+lxEVmoYhFLCyoSKVrJsESeJ0UYqdfx\\\\\\n\",\n       \"trGO7K2Qx+U8HTYY6rhRz5P75DLo8sljkLm6tHjlE7a0SCVzeOllpONK6jmyDNqkx73l+ZDHxcdb\\\\\\n\",\n       \"XWVNeuSgn9E6N/6IZl73I4qShLofvplKJ7+HBj5zGhV32n1oj4PFGhWSKhUqQpiS7V+6Dn0CLo/r\\\\\\n\",\n       \"pO5cATI2D8h2Kk+SDB+USdw5bJYLzfvhXHBccfy5rrhGCCuMI+qCUOry5cVDzgX3uIlxbI7nyY5F\\\\\\n\",\n       \"MaDO0mskza2FfFjNolToXqXvc76QwVAeQV+uK33PlYnlDcMwDMMwmp9zrRdCoxUmYBkd5Uc/+pH7\\\\\\n\",\n       \"+6Y3valp+oUXXkgHH3zwcq5tX+4qn7glX9b0dPnXl/NK58niZSKRuB15r/wRdjr/FQQqdppwvqvB\\\\\\n\",\n       \"IXEOrFJUpWJSIVqyZDBUUDqwMGA65usQQv3yzgmupcoh35g10oakk1dz4mqOseNs2zIbuM4I7rFC\\\\\\n\",\n       \"FXqIolKZerrTBOV8XmT+Hxkqx/qBzEOlQ6x8+JKPa0FGh/VJ4QmHJce1IUfmu/KJVTI0jPcj9+eO\\\\\\n\",\n       \"XDnOdDJ6nuarl5CopYUsLVT51vHtf8jVVnfCZbnHZB01XGnlIr201xFU2ex1NPOiL1Jp4XwqLH6Z\\\\\\n\",\n       \"Cmd8iujdh1D5U0dSuVx2Oa9wHUC8iiHecruXbZ4/8zzZ5rnd8/Ug27+8HqSIqxVObgi+A5Htn7tS\\\\\\n\",\n       \"lCIWX4s+Qbd+MnDqu6YVUg23FNWLkzYILg6fL9QFnyPsQmpjOodYrRZTkrBrFCqYFLR8uQETTw+B\\\\\\n\",\n       \"PF8LVDL5uxS7ZM+C0nVl4pVhGIZhGIYxPEzAMjpK2utVp5C/7scd7KFK5r3Sn0OOKl/OqziQ80r+\\\\\\n\",\n       \"LVAcp/l8pItKilSc54qFKoxDqMI0OQ9/0dNgtGxp+gIOgWrRosGXcwhYmMbj+Mwv6/Jlnl0pWsDS\\\\\\n\",\n       \"WaJ96Pg32euazPnDea84nJBz/nASaxa4WDBQYYzIk1ScNJm6u1B/6XmVBj6dogurSUdWyHmlBZ6s\\\\\\n\",\n       \"JOS+Q9fpj/K4qrTmp/UP6Uoabg4sfXxSlNKhgHncWrKOs/JcMTLMUibVl8n1fcuy0Ody+2+5Ey04\\\\\\n\",\n       \"8Qqa/tPjqHz3DenCV1xAyx78F0057Uzq3mBtKiZVoqWqXbPTSou2uB6kgCt75eRrgUVVeT3opGJZ\\\\\\n\",\n       \"B8ztX+aB4wOS6rTsfQH7QBn4uuCEZJhWr/xCdzfFPZNo8uRiU9thFyCHDcpzL8M6+VrBcgMDEQ0M\\\\\\n\",\n       \"FKhaZfGonlwrXVqF+1Xq9y3OTxUFRCi+J/pyYMnQwla0ynOlc2VZInfDMAzDGK+kzzMj+67v6Kuo\\\\\\n\",\n       \"MSYxActYidHhKTwtzzr6sw6ZafVZi10F74DQwVIpamg5oV4HWdzS8wfffdHjWo2i3mVpzh8OEWTB\\\\\\n\",\n       \"CuMLFw46UjBPhhDyi70vhJBf3pGHim0cobt/HKc95fkcWHyQrNZx3isWA9jlgvUxn7NOyy4A66qP\\\\\\n\",\n       \"OyvFIpXK3YTgwmo1GmJYkdqXzK8UcjMBHXKnB72sayX1beh0YKFoMi1syTBELWbJkEGdZiwLnZ5J\\\\\\n\",\n       \"hxSG8leFnFY6alSKelIkkfXBSBGOXXA8XTWdpnOjBT8n6M1YharH/pjo2p9R8tNvU1StUO2he+n5\\\\\\n\",\n       \"j76X1jjhROre482DbZqFKem4kiG17MhCu+PrRLsQWdCSDqx6pTgxXjcKJkJPmdFgIjS2VfL1IPNe\\\\\\n\",\n       \"sWgrrzU5cMWxfQ3tvx7L2t09hZK6C5GjEGWHhny58qZZg+blMKRFSe9faSihdFZpwZ7naTcWC1My\\\\\\n\",\n       \"DFEmeff1OpiVC0vnupJCmT15GoZhGMZExHohNPJgApaxEpIlWGXlZ/EtlzXo8BpfqI0vL9bgUCik\\\\\\n\",\n       \"vYrJ8EFfDiyZ/0oKW41ppRqV4HaQL+t4QecXeD0u3Sg8Lnti6+1NxapKhZJ6WB+SqLu/Ga+QTpuo\\\\\\n\",\n       \"qxARXrTr8XIR57oajFlqdrTgZZ/FAS1Yyezl7GCpfy6USlSMI9crHYqO2Zzzh1MNZYX2SRFLRyv6\\\\\\n\",\n       \"BCyp20l9TeMToLjYLFJpwcaXuJ2rU35uJV4xWmTSzintMNPilHRk+QQwDc+XwpR0j/G4PL1S9OJ6\\\\\\n\",\n       \"0HUgwymdI6sYUWm/g6jwmh2p/9SjqfbMk5QsWULzjv0SLXvnO2n2Jw+jGCuxEMv5rbSYJdu87JXT\\\\\\n\",\n       \"I2C5awDXAl8H9UrJkl/coRcK7jpwf7ENXAscz8oCrhSpZEgiVzx3NwhEln9st9TdTdVSgWpJ2v5Z\\\\\\n\",\n       \"pGIxizeB6bwrNpTJ+w3+IhSxWvV1RuETrWoZ9z0OIdQ/IPh+UODpUqiSIYhJi+UMwzAMwzAMYxAT\\\\\\n\",\n       \"sIyVjLyhglnOKZ5PgRxYWYmOfcnbpeuKx9OQQrivIE6xaMV/dYJ22Ruh7G0w/ZxQoYqcV0sHwwTx\\\\\\n\",\n       \"go7wQf4swwmlO0smuMaLukxojZf1atUFAWFg4apV/2Gu10AcXf0l3dWCCCNE+N+QJNacqAf7Z/WE\\\\\\n\",\n       \"82Fx8iQWtFhBqSsaxVJCcXea0BrnSG4qfTFv7lBRu69kj206h3zIrcTL+IxoMi+V/CzFGTlPClq8\\\\\\n\",\n       \"XCcELGkQCglY8jh8x8d1oI8369i1E43DBnX9SHHMl1ifxT7ZgaWMRu3eekua8fNLacmZJ9GiK690\\\\\\n\",\n       \"67xy5ZW09I47aJ0vHEnds2Y1i7Zo/zIPFq4VFrD4WmAVaNkySkRS91q12mj3LDHluhaqVYoxDAxQ\\\\\\n\",\n       \"obfXCboJDgL77+6mSPa8ib+sOsneP2U3gtyLAJ+YUonKPZOpMDmuC1CD9SfNkjoPPR8mlmFzJHJg\\\\\\n\",\n       \"9fdzbr5afZCOrGrgXqdDA/mzO4uBcMKqEr1cq1KfQ8gLwEQswzAMw5godMKHbU8O4x8TsIwJhnyh\\\\\\n\",\n       \"8uXVkvN8ITH6rxayBvNhsX7DL+icpF3mdpZiFs/jz2kerIQKA70udLAhSuHFXIpWHC7I03mezIEl\\\\\\n\",\n       \"klpX6y4TFq60eNXq1dIXQImXeLzAF/r6KMJ+OecPH+BgLNPgCzorIdyln84AzqpGreb2US53NSUh\\\\\\n\",\n       \"d3mT6sKMjGhkTSCEL/eT1BOAL3pMijrahaSdWAxHmOk8Vz5Bi7flyxvVrgNLdyIpO76T9aDDD+W8\\\\\\n\",\n       \"UHnk8XCvg/KYpf7og+uI60amU5MirxOxpk2m6SefTAu3347mfusM154HnnmGHp9zPM3e//00Y9tt\\\\\\n\",\n       \"KZIhgyxasYDFYq0MIaxfIwgRrNYHbvcs4+RJN+4LKC7gOkAOt0rFXQ8NZZoVJRnbJwUs2cWg656x\\\\\\n\",\n       \"fgLK5XTbXd00aVJPUwgtp8xiAQu7483wJcfzZOq5/n4WsHB0lYAoL+9xMv+Uvn9qqx5PywofNAzD\\\\\\n\",\n       \"MAzDGIqFEBp5MAHLWAnIk9cqDz5RyhcWqN0FoWV8ea/Seeh5UIfw6F4IZcd9OqTQhQ6WEyrGyHvV\\\\\\n\",\n       \"N/iSLsOk5LgUrmQOLIQK1ufXBgaoBuFKiFf8ws4v79J1ol/eZW2QSPXMNQFBoJYk6TiELMyXIYT8\\\\\\n\",\n       \"Ri1Dpli5YKUEZWWFpJ5TC6FUCZxY5XK9/tKwTI7UkkKIFIekMKTR4XIi9VFTqJ1cVgo8WiTTOawY\\\\\\n\",\n       \"XSad74rX7YQDS7unfHmyZPJ3vazcbtN5F2XmMnI5daghpmekTwvmDuPz2TwkVCwkFPVXacZb30o9\\\\\\n\",\n       \"G2xAT598CvU/8YQ7AfN+9WtactfdtObee7n215T/SufE4mthYMA5ryDicpuviGuAJR1XD2JaU33w\\\\\\n\",\n       \"8XhknirfCZBDC9N7e524i4p2zkWd902rnKx2c4Pu6UnDdKOIipPK1FWGEzFqChnEwPcXFnb1vUcO\\\\\\n\",\n       \"AwPcI6G8h8nSSyeWvvfx3UG7s7QzVq6ToxeAliGDFlJoGIZhGIZhmIBlrBREo7iML8+LnO4LqQnl\\\\\\n\",\n       \"wBoUsqKoEHgpH5oHS36WObBKpYSKSb3HMp94pV/UWbRiIWvp0jRMCuJVb29DtKrUByleaReW71XS\\\\\\n\",\n       \"9yrLNVAU404VR2ghnFOVSiMhdUNtyRKwZCwZJ71Crq1SiUrdNaoUY6oEBCzds18eMUiLV7oHv5BD\\\\\\n\",\n       \"ydu6lFtJi1Qy1ZcWseTy7QpYOreXLi8fky80ME8PjL5E81KYk7AjK7Sd0HnyXiPFhEpx3TY2MEBd\\\\\\n\",\n       \"a6xBG37j6/T8hRfSy9f+1W1z0f3309Inn6R19tyDJsGyqK8JIfBCyHUibrU65BqoKAdirYULS0vb\\\\\\n\",\n       \"LPvwX1QDXI4QslD+OEmcwMvht03Xg2zAfENgpQ/lr+fZKvT0UKlUoq6uyN0S2NDIq7C5q56KKzAg\\\\\\n\",\n       \"+XyBkoRFq0JGqHXo3ucTqngIyX2ZLSyH4d8ELMMwDMMY91gMoZEDc2AZKynSC0QqtEXjm+d7GWMK\\\\\\n\",\n       \"nldUn2Dlz4mF3slYi+FBO6z4hVP3PoiouylT0r9dxSrRonqOKw4flCGE+IueB1m4kr0Q1vNjIedV\\\\\\n\",\n       \"rVKhfvHCzi/vOoRQvrxn1bqvFqqiFrDtrno4FUSskuwqjWPY+DOrIay4iCTWQ9woXV1UiEpULsdN\\\\\\n\",\n       \"YVHQuTgkjTeZBQtVvh75OF2XToAOfInNhyNmNVpZIdybX16kq4rR48MRrXzllOIV9zYo81lJg1HW\\\\\\n\",\n       \"OZAOOT7dGHQIYSGqx7xx6F9dFJ393vfS5HXWpWcvvjgVZhcvpieu+B3N3GJzWm3NNSliByLnhEPu\\\\\\n\",\n       \"tyVLqFKpNASrPtH2pQtLCrh5rwW+HqQPk7fNgm4ZTiyIufXccw7ZqQErqVypfJJQEcKd1TV1KlGE\\\\\\n\",\n       \"fFiDHSdiVe70k/Nfceo5jLNTi/tYSF1ykXBhyRxWoaTuWrqWOa8aZ9bj1OKaCsmAskdEuayFHxqG\\\\\\n\",\n       \"YRjGhMM9n0Qj3ka7/OAHP6AzzjiD5s2bR9tuuy19//vfp5122im4/IIFC+jLX/4yXXbZZfTSSy/R\\\\\\n\",\n       \"+uuvT2eddRa94x3vGFnZjVyYgGWMswTu8iWKX5CyhC6fIKUFMp9gJbcvJZ2i6yGNhSp+Qde5fZxA\\\\\\n\",\n       \"1TW0B0IWtYo0QBHn62GBihNU62lS3Ko7sPDCXu3rcyGDeDnvV+4r6T7hl3hS4VP811d7unaxjZJ6\\\\\\n\",\n       \"6XeZwOoKS3HZMpfwuiFScQiVFKzwZo0K0AIWW3b6+6nQVWi8nEMLYOEDA6axGMK9EUp84XQyhJBf\\\\\\n\",\n       \"+GVSeF9CdJ0by9sKVTP1hTNqAUuuk0eEk8fVSsDSZc4jYHGZUS8y/A/b4sTtbJLj5Tn3FdevdmRJ\\\\\\n\",\n       \"95UUrth4h23wNeLcS3313FGcy60u0E7d+FW00SEfp6cvu4x65z3ndjj/vvtp8VNP09obrE8lFJpz\\\\\\n\",\n       \"XfX3U0W4rjAMiHY/IBxYWsyV1SSvBRlG645dBRHzdcXORLcsBN2+vsEvXQ6vlZXENw2ACsH1XK8Y\\\\\\n\",\n       \"19NnVzcV3WUCJ9ZgonbcMzgnPe4tOHQZUoh5MlS5ry+marVYP3opYun7oRznI5eStU7w3mg96mdU\\\\\\n\",\n       \"6VOLc/7MyrVs6VgNwzAMwxgdLr74Yjr66KPpxz/+Mb3uda9zQtTee+9NDz30EM1Ch0GK/v5+eutb\\\\\\n\",\n       \"3+rm/fa3v6W1116bnnjiCZoxY4adouWECVjGOESHA+p5oWV84YQ+J5Z2ZUkRC+6ruPEyLl/UWavx\\\\\\n\",\n       \"hfZIdxbG//7EdXTHM7fQMRt9dDABNL/I819OUF0fvjP9Ptqx0k27v9ztXtpdrqskaXpxr4qXd18S\\\\\\n\",\n       \"97wCFr/q6vkuF5Z+9UToFMKo4Ezj3FYcNsWxUFwxbB9Jk/WkA97E65apOKlSLapRoTBYxzIRuHQE\\\\\\n\",\n       \"+ULcdIid7CmPP8seDUMC1lABKPSSnRbAV5ascMF2BCx9fD6xarC82eX0uaS4PFqEkzqkrJdQuKUO\\\\\\n\",\n       \"RZSOLn2tRFHNneuGVY7tRtwm+vup1N1NG7z97fTCrbfSC/fe5/axbOFCevy++2mtmTNpSmWAanUH\\\\\\n\",\n       \"YiVJGu1eOxArHgFL5sTKErBk9ifZr5+8fhp99iUJFWs1VybktYJT0x0sq0sYcE07+1l9urzuBwYo\\\\\\n\",\n       \"GuinuBy7UELZyWcoZFDWafO1AgGLSx8KE4w9wcKhkGsKhGGH2pmFBBqGYRiG0UyelB2taHf9M888\\\\\\n\",\n       \"kw477DD6+Mc/7sYhZF111VV0wQUX0HHHHTdkeUyH6+rGG290z2Nggw02GFmhjbYwAcuYQEhXVat8\\\\\\n\",\n       \"WDzue3ELhRDicoKwkuZo0g4Tzn3lGx8UsBK68Znrad/fvoeWVpbSwCsv03FrfWBQrOIQQf5cF7JO\\\\\\n\",\n       \"m3wHzVnjPpo0O6arFm9Muy3qHuI44Zd2HucX7oFAL4S+9Mwy5w+/2vKrKL/4s7GoJh0q9Vg/58JC\\\\\\n\",\n       \"z2oy5w+OgePJ8LLOidz57VwMcKHEcepyky/p8uU8lGOK0WGBMlxQOq9YwOJxHKHOjyW2mtHmwoR6\\\\\\n\",\n       \"6hsurcMcW5dT57lKRdnmepbLyii4kIjm9uBJcK/Fq1TXTCiupT35Nc49fxaCrWtPlQrNfPWradKk\\\\\\n\",\n       \"SfT0HXe6HFdI0P7UvHm0aqlIq8Zxo43La4AdiTKkVgpXUtQNXQuy/UfCgchuRK7tJpEXnRygh0KE\\\\\\n\",\n       \"NWI6t3NuyBxbzBXCPXliev2440KRSuWkfr+IGhqvvr/oe40U0ON40DE6WCshIcsXGpj3RwIdTmgY\\\\\\n\",\n       \"hmEYhjH6vRAuRGoVQVdXlxu0m+rf//43zZkzpzEN7xh77rkn3XTTTd7t/+53v6Odd96ZDj/8cLri\\\\\\n\",\n       \"iito5syZ9JGPfISOPfZYKnT6wd7wYgKWMc5DCrOQITK+UEPtspLdzGshK50ne1Xz5b7id1EMMv9V\\\\\\n\",\n       \"I4F7iej2p2924hWYc/eZLpfPcau9u7mnQQz1z6d130Zz1rjHLb+0UKN/TVlEO1F3I+8VhxCGHCjy\\\\\\n\",\n       \"hT2UvFq+tGsRS+b8YRmPRPgUL+/CCfHyjrKzEsShgm7j4mVeiln8Yl+PV4viIpXLpUYIoRRAQkKL\\\\\\n\",\n       \"hnevB+m+4r+pkJUm4W725chaGs5LOlwwNAoMrywp6YNDWh9RU043eVo4hFD3KugLG2zai3LMafGK\\\\\\n\",\n       \"3YiRcFo12gHnwtIhhcuW0eSeHnrVqzehuY8/TouXLnP7emmgQosiotVKJUqiqCmMVgu6vmsh1COn\\\\\\n\",\n       \"z5spk7hzu9chhDwNlPr7nahbkHmuOKRWXg84PhmHXBe34mKByqXuhsaLv9C6ODcW33s4hFAneOc6\\\\\\n\",\n       \"r1blvY1FLH3f45oIJXGXeayGK1hJH5sxXFxHAe0m0jNWev707J20MrP3Wtut6CIYhjEOWXfddZvG\\\\\\n\",\n       \"TzzxRPra177WNO2FF15wP3yuscYaTdMx/uCDD3q3+9hjj9Ff//pXOuCAA+gPf/gDPfLII/TZz36W\\\\\\n\",\n       \"BgYG3D6M0ccELGMCIPNe6RxYvuXkX98yobCb1BXkE1KkAKC7ttfjx7zmcKoseYXm3Hqa2+Ocx89z\\\\\\n\",\n       \"uXCOm7RXczjhsmV02qTbac7MVLwCX79vTTrikZmNF/SQA0sncfcJWFlHLsMHfZKOrLkBXcN1YQJh\\\\\\n\",\n       \"VA0xghUMFi04I7tyYDkXVrFIcVfPEDGE/2bhS9AuwwTlwOIVXgqTJNRPo5Y52vEtj9aLZrtliJR4\\\\\\n\",\n       \"wdPTPEZJUnO91lUqg+GQqB/Oh6XDMDkPVkic4/drHdomwxajqjr33Bbwl9s/O7LqbQjheeussgq9\\\\\\n\",\n       \"RBE9j9xRaHsJ0bz+AZpcLFBcKAzJgaWvh2QY14JMa67F36YQwjos/KKy4MTingYbAi6H2OKzDh3G\\\\\\n\",\n       \"dQP3VldX070j654i70HyWkl78ZQ5/3zuq1b3yDwhqTofVhYWWtiKgw8+2CWbnYxeNwX//e9/6WMf\\\\\\n\",\n       \"+xj9/e9/z1HPhmEYhjEGgXuqQ0ncn3rqKZo2bVpjsnZfDRfkF0b+q3PPPdc5rnbYYQd65plnXBJ4\\\\\\n\",\n       \"E7CWDyZgGWOcaBTXb5XHRQfO6dfWodtAaA6/NPoSVsswHk5czQajYiGhQqFG1Fuh47b4lHuxnXPv\\\\\\n\",\n       \"99x25zx3EdG0ZXTcwOsaL7TOebXKXY2Sf/O+2XT0Q0PFK+008QlYHDrIL+8hZP9kvtTN/FnmT9ev\\\\\\n\",\n       \"xjXksoIQhQOXghVbRqRowUOTVapGMXIkxXAGpe4gHTLoMyHo/Fch8Sp1XiWNEEIIOM1pvVnm4CP2\\\\\\n\",\n       \"iVkrC1K04jOrs5mh17s0txvqJK3rqNG+tYiVlQdL4s+FlVAcwR4n4jmlFc7XPoSgBefWKsUCdZWK\\\\\\n\",\n       \"9MxA2usgWFKpuqTwED+rUeS9HvQ1IM+yt/zKk+lzLnIN8vXAn12tIx8WHDN9fRSxNZPFKv7MA/dS\\\\\\n\",\n       \"wDni4GTsSnPBlUrREBebvu8M5hYbFNNZkBwqWPlErNC9UNaGXj5ZjvfyicNdd91F22yzDf3iF79w\\\\\\n\",\n       \"IQzgpz/9KX3+85+nt7zlLSu6eIZhGIYxJnJgQbySApaP1Vdf3YlQzz33XNN0jM+ePdu7zpprruly\\\\\\n\",\n       \"X8lwwc0339z1YIiQxDKe04xRpYVfwTBWhhBBKSj5thG3cBHIFza9XCFD0Bq6DX4Rlw4I2cua7JGQ\\\\\\n\",\n       \"XzgbUXOFGpWSinuhxcvqcRsdRKducGijNHMWXkan9V6T5rwq3ERzVvl3Y943H1yHvvjQrIa7RIpY\\\\\\n\",\n       \"AyKEcCSD3HbWcOWCBbT53XfTp/773yECWiPfUKVCiUxIL0PF2F0jB55WqVCE/EhVJIWH4DeYR0qH\\\\\\n\",\n       \"ErZyYzEsWnGIFQ/VKpxH2qem0+HLrErs6/HVCub35hz6ctRyXxvbC519WVYZXOcPNK3Vqq5OmutI\\\\\\n\",\n       \"5ghrjXT/yMT7jXMWJRRX03PsNizdVnqQIYX1AW0KbasYxzSrXKIul+sppVpLqDIwQAO1WsfbvB4e\\\\\\n\",\n       \"6u2lo/77X9rrgQdos7vvpvPmz2+6HhstB09ZKDOHSHJ+O/mXj1/UA+4RuFeUCrXme4gIXZZptfT9\\\\\\n\",\n       \"aNCt6OtxUN/rZKCk7x4Z2kbTmc+4l2fdv/W+TMT617/+Rfvttx+96U1vouOPP54+8IEP0Oc+9zn6\\\\\\n\",\n       \"9re/TZdffnm+C9EwDMMwDCc2wUF17bXXNjmsMM4/Eml23XVXFzaI5ZiHH37YCVsmXi0fzIFlrITk\\\\\\n\",\n       \"TZAXt/ESpZfTy8pcWYP5YRavfjMtm3EPzXzkmCYBS4bx6GTuVy/8Dm3btSPtMuONTUncC1Ga6Fy+\\\\\\n\",\n       \"tB+35v5EixfTnBd+7UoxJ/kLnT7p77QghoCR8s2H16NjH1iFkBZaC1fyr57ObhNOYK09RvoHEJ3/\\\\\\n\",\n       \"it0l8mw8099P3507l7afPNnNH/AEprmMO9Vqui28oHPIFAYk8pGOE3bf8GehNhXiYlNIVFbqF5l0\\\\\\n\",\n       \"XQpWcpNDBRnpvOJ03zVPbcnU97xe097bDOsbDXxCrhz35XbTib7T6bVamrsL9Y064/rXdQpkD47e\\\\\\n\",\n       \"UomwQXedYBd6Q9JtJfNiydxYdREoGRhwDj93pqKIetCmajXqq3CGeaLCQIUGigUaQIL3KPKGEPry\\\\\\n\",\n       \"YMmalBmbuKZk7qtFtRqtWS7THjNm0FnPPtvUWYKWfAr1sEBXAUiKxy4rGT4oe+UUx1+IYiqXC8Fk\\\\\\n\",\n       \"7VI41/ekZgGrcWWq/FfVwH3QnaicbU7WYN71eN+GBr/6IkwBHReccsopVCwW6frrrw8+aBuGYRjG\\\\\\n\",\n       \"SkO72ThC22iDo48+mg466CDacccdaaeddqKzzjqLlixZ0uiV8MADD6S1116bTj31VDf+mc98hs4+\\\\\\n\",\n       \"+2w68sgj6YgjjqD//Oc/9M1vftM5oY3lgwlYxjhDh/dJ8ohXIYeBDp2JaPHqN9HjuxxESXEpJXFC\\\\\\n\",\n       \"sx/5itdVIkOkrl58Gl22cA5d+tIkOnPKH+gN0984+NIZI8m5SL5Uf3E/bto70nDCJVe4Eknx6tRH\\\\\\n\",\n       \"N6AvPTKLqklvUyigFKj4r2+Qy7iX9ySh//b20osDA9Rbq1F3HNNq5TKt29VFcRTRLQsW0CXPP0/z\\\\\\n\",\n       \"+vqoK45po54e+toGG9AUiAFJQic9+SR9Yo016J4lS2hJtdrYvnwl5mlRvUe2pvxGvkEJV6xGRXDr\\\\\\n\",\n       \"iPw+MhwtTwihzofFf5sTtsvAsmpAvJKZk2Q4IeNLBb48kXKLnMbiBFeWDAqVn5srE3WT1lPkqbt8\\\\\\n\",\n       \"YYT+8EGMZ5wcHUroGdAG5XUAgQq5ryD0VODeQ7shop5KlaKoRgtLgyGFfAaloNufJPTI0qW0qFKh\\\\\\n\",\n       \"gSShSYUCrdPVRauXy652/rlgAf1GXA+v6umhkzbYgF49aRJtNWmSa+8/mDu36Tqo1L94G9dhklAB\\\\\\n\",\n       \"ZdNuM9+1IT8jh1Yxacp9JcUr6UZsyi/WqHOEheJctgqjDrmqhns/5b95xCxDgySx6NYbebDQa9I/\\\\\\n\",\n       \"/vEP58g6//zz6R3veIdVmGEYhrHS0sleCPPywQ9+kObPn08nnHCCCwPcbrvt6Oqrr24kdn/yySdd\\\\\\n\",\n       \"Gg2ZHP5Pf/oTHXXUUS6kH+IWxCz0QmgsH0zAMlYS8jqnZB6X4ewjK+9LczmWzbjbiVdg3lZfpTgu\\\\\\n\",\n       \"0vTnjmtyBMmX87/0nka/W5p209pXW0oPL76N3lwcFLBivDYHXtKP69qDTl/yJ1rgQsJSZlSKdNx/\\\\\\n\",\n       \"ZlN1AN4rvzDFDis57hO0IDbdsGAB/fHll+npegJsyXqTJ9Pu06bRr+bOpQPWXJNeP3069Ver9OCS\\\\\\n\",\n       \"Je7FHvv45XPP0Yxikd6x6qp095IlDRFA9sbWNNR7JWyIVPxyLuP5pGilMoXHIteYFrKyeh6UTiyd\\\\\\n\",\n       \"yD2dHxKvfP01+sQsXy+FeX9SalfkyisihNoyCwlasOLj8blwEFqZ5sXy1aE7ivp4CHm+9DkkuKX0\\\\\\n\",\n       \"RrWAI515SsDS7cwdSRxRteSyllMR+bWIqBvCUf8AvVgqUm/srr7GmX5hYID+8uKL9OcFL9HCfpnR\\\\\\n\",\n       \"LWW7aVNpt2nT6UdPP00fXXNN2nn6dOqrXw8QpFhEHqyxQQFL9vfXkD3ZyiZFrBZinbsGygkV47B4\\\\\\n\",\n       \"pe9BzWIhJ+L35bSSbatVLqx2ka6sPL0W+vJpTVzwC/HSpUvpuuuuo9e//vXufvWtb33LiViHHHII\\\\\\n\",\n       \"/fCHP1zRRTQMwzCMlQqE4mPwge9bDVzPN99883IomeHDBCxjJaFTuU9CL11a/PK9zMn5Mc185DOU\\\\\\n\",\n       \"xBHN2+pkN/XZLea4CLjNX0xFLBmq8/fkNPpTXbwCh214Kh248THNPejBfcWijQoXOm3x1U3iFVhQ\\\\\\n\",\n       \"rNBp6z1Jxzy4elO2Il/OqVBid7w6/vmll+jCefPcC3j3699AM961PxU3ejVFkyZRsnQpVR55kJ67\\\\\\n\",\n       \"4mL6xb9udPvFq+Sq5bJ7EV+vp8fVyl1LltAfXn6ZztlkkyYvEocQsgTC+8T+4YZpcpwMZlAf6ryR\\\\\\n\",\n       \"Dpz6PORLGk6P8VJo0dFq6eATrXSab59wJacNt4fCdhLB5w2J1W1Xf5YhZFJmYRGYy83BotW66DE0\\\\\\n\",\n       \"dDBP2GCwlBBU4MDS7aD55AwKWjxdhBZCPNKCLQ8DCBcsFp3zqgdJ0BGOha6SByr0QqFALxRi115/\\\\\\n\",\n       \"8uyz9KeXXqS4FNO0XabTRm9YhcqrlykqRlRdWqXF9y+mh695ie58+mlX7jXKZXc94Mt0/Z4et92K\\\\\\n\",\n       \"54y6Nl+vRQ7I5JYVISRW5roKDVLAGxiguBsurKH532TYYFOIpuqFkM9f+mulzuun245sT3K+78eC\\\\\\n\",\n       \"qEPCk3QHGixg/c///E+jF0J0qIBffffaay/XC6FhGIZhrNTYV77RAhOwjAmAfsni10j9suZbRyYu\\\\\\n\",\n       \"HrrsrIePdpfRvK1OcOOPbjjH5ZnZdtFxbhwvizcXT6O/VQfFqwPXOpUO3Oi4xstksZg0EpM3vbjX\\\\\\n\",\n       \"e1g7bdEfaU7/Hxrrz6iWaUEBibmJ5mzxLFVqNfr8w7O8YYHaQyQFLky/+Lnn3NCz9760+kGfpsLs\\\\\\n\",\n       \"tZqrYfIUKsycRV07706VZ56klz9/CP187ly67uWXae/VVqNdpk+nchTRmU8+SZ9fe22agl7exHeP\\\\\\n\",\n       \"3L98YeccWhAcXI+EOkF3lnhRV0di0btaK3zRaNJ1xT0Ppu4r7cDSwpUMMuOgMylUaSeWLwdW6NtZ\\\\\\n\",\n       \"rpOFlAV9hEQHGTaoxSztviqq8shl4cKKqFKJnRCi61PXcysaIq5rGBndQ+pM+/XB5b5KkkatVzKu\\\\\\n\",\n       \"hUohpsVxiaYPVKinHlI4s1qlrlqVjps3l65/5RWa9f41aNU3r0qFSc2NqzC5QKu+cVVaZfdVaOl/\\\\\\n\",\n       \"ltITZz5B33riCdoMDsUZM2i36dNpGkQyFSAnW5TPIemkQ+cI6292l0kXIuYpBxbuGf+fvTcBl6wq\\\\\\n\",\n       \"r4bfM1TVHbubprtpaGakGWQSEBVUFIiYmCgOCWqMQ6JJ/DXGoDHdalTip40ajSbxU4NTjCZGo5n9\\\\\\n\",\n       \"HIIDxgkBEVAGmRHoEXq899Z4/ufd56yq97y1z6m6fW833bff9Tz7qTPXOXvvU3336rXWDsKWy0GS\\\\\\n\",\n       \"JJUkq0BU+cjedDvL9X3Wa196nc5767agSATD2633GeYDbBX04XGPexxdd11vYg+DwWAwGPY3PBoW\\\\\\n\",\n       \"QsP+B5uF0HAAoyj7xbcsj5H7A1px+xvp0J+9q3vErYevpVsOvsINGH9cu4K+FfXIqxcuW0e/eWiq\\\\\\n\",\n       \"0JJWwyDppIok2Ooyr9sVW/69m33FWLft8fTIL55H6355Ynfbn5+ynj6wemMh3aIDqfH5/7ZsceTV\\\\\\n\",\n       \"+CteTZNvuryfvFKIVx1JB3/x61T7lWfR/TMz9OWNG+n1t91GDzYatLHZpMvvuYd+7cYb6Rk33khf\\\\\\n\",\n       \"e+QR+u727fTEG2+ke+v1fkuX1Bpp5gOqGk1eKL9aoLKUyqyDchkFdsJ8kXfpI7J01LfUvvloQt9+\\\\\\n\",\n       \"n0ZOz9dYlFo2l2sMum7L84w+Q15auK50/ck6lXU/TBaWKzjYR1z5+oLYV6SH8xK5QUAbKzE9HKXW\\\\\\n\",\n       \"QcaihOidBy+n5/32MbT8Wcv7yKv8fQc0vnqcTvjgCTR6zCj9YmoX/cemTfTa226jh3g2RM97V1Tc\\\\\\n\",\n       \"I2fZYn1qw4K+7/Yx+YbisdHKPDifZbP/ffH9Hurlot9I37phT+Ef/uEf3CxIhx12GN17771uG4fO\\\\\\n\",\n       \"cmaHwWAwGAwGw0KGEVgGw6wHYHqqeaJDfvEmOvL2dHYKxo0r1tKnDjmIvlvrkVfPX7yOnrs8VV7p\\\\\\n\",\n       \"sHdi4gQD14wBuOKBz9Pah7/QPX9d46m0ZuspaSbWL4+md992RHff5aespw95SCwZMS4JrU2NBn3i\\\\\\n\",\n       \"wQdp9JJLafwlr3ID8qF+MMKQFq95J43+6nNoa6vlgt2v37GD/mr1avrg6tX016tX0/9dvZrOXbSI\\\\\\n\",\n       \"HjcxQX+/ejUtr1Q89IdQp/hkO/3BVP3rQuVRln0lZyAEJMmSXjLJLHCa7tDmzKJcLGdSy4pUarU8\\\\\\n\",\n       \"+2HqLCrDEliDriHvR5JdvvuV9yyJK585tUePpvXGZFa+XjWJVUZg5RV0BeorWTTR0+mkfaiENMJd\\\\\\n\",\n       \"y77HJNaWOKb7KjHtzM4/OI7pnT+u0Uu+2aaoPVjDHo1EdPSfHU21w0dcKHocBPTDbdtytdTthx5K\\\\\\n\",\n       \"sE+vJ/O+pBJTk1myDpJ2LuPKZxcszBtLW0G2iJoIowxGWD0a+MhHPuJmTOLA9q1bt1I78+4u4Rkv\\\\\\n\",\n       \"P/jBR+WeDAaDwWCYFyTzVAwLGkZgGQxDvyph6b5Vd6+h4+/tkViNcGt3+ddH1tGzFq/pnSFyaNyg\\\\\\n\",\n       \"Us20dsXd/0BrH/hM9/h1yYW0ZubsnMVwzZ2H0jt/trJ3zCnr6f8KEqsoYpw/v/Hww0TVGk383mv7\\\\\\n\",\n       \"yKu41aLnX/UV+qPPf8p98jqjectNtOtzn6DW7T+n0ee+iDpBSNtbLTpqZIQOHxmhI0ZG3DKX8Sii\\\\\\n\",\n       \"sTCkY0ZGKOYZCgcpsLTfzKdGmQdo4U7+a31aGa1E8qmeJFnlKzxrZEMlkslUsmZ2zFyKvp5cb6jv\\\\\\n\",\n       \"bw35DEV0S36bjKTSjs95gW4sKfcSpE5Rn/fduSS5doYhvXbjQ/TdZLr7lc/+UULv/Ic2rXiE7b0J\\\\\\n\",\n       \"nXxvh877Wcd98jpj6s4p2vifG6nxUIMOeubB9MB0nba1WnRYrUb1TofunJ6mX0xPUytJnELx1ulp\\\\\\n\",\n       \"uk+oEftshWKCglyF6lw4SW6xjZDz4IRVUBKCUoVVPEPn4N82w76Dv/mbv6Err7yS3vKWt1AkGpuz\\\\\\n\",\n       \"sW666aZH9d4MBoPBYJgbgnkqhoUMy8AyGAaiyE6Y38cDw2MfXEP3rHoPNeMeeTVCS+hXRnu2QTmA\\\\\\n\",\n       \"7CpQ3Ig2HcC+/+7P0dp7ezkn6yq/SmvqjyfqbE83iIHun95+CLFQ5B2nrHe73sufnYBecsfyPtug\\\\\\n\",\n       \"O5WpjU6Hvr51G9We+WwKxydyT/P7X/4c/db//DdFQjLz6i99lr5w0bPo/571JGrceD3t+tLnKNm1\\\\\\n\",\n       \"i4KRERpp1OnUyUnvf3z41n1KLO/0dT4GxCelKoC+hBTvyEvkjyvSq8lPX5i7puS0BkjnYUkM899F\\\\\\n\",\n       \"2Ff2D3Kn4B9tmWvUUVlXUNvIZ8HxUjsks7YQxY9rd6jTifqaUNdvWbMWP7aaylASPJ4v0X1Q9/ui\\\\\\n\",\n       \"wnbYa7btoAdfuJheHIX0km91KO4QPeYhovd/vE2NmGhSzJ+weZLo078S0tWTIU3dNkVbvr6FOtMd\\\\\\n\",\n       \"CiKiI6sj9LhFi+jhRoNe94tfdM/5/ObNrpw5Pk6fPu64vp7SfRqpsMKzodPqZxfH6Rw4SVjJba7V\\\\\\n\",\n       \"lBKr167DzEJoeLRx9913u7wrjVqtRrt27XpU7slgMBgMBoNhb8EILMMCx2wHXsMM5PpZfgwG7151\\\\\\n\",\n       \"RY68YszQVvrGzBX0m0vW5AaNGFDmsn+ShM5edBKNhTWa6tRp3eRzaU37SUQzO/r9WTxoTxK6LAtw\\\\\\n\",\n       \"f+cp62m0FdBjt46WDuCv27GDtjfqtPTZv9lHXr3wG//VVyNhknS3/917Ptzd3rzlZnr4Nb9DN+3c\\\\\\n\",\n       \"SWcpEutPjzjCzfAmv1siN3Av8pz52KYS6MM91dW3r0ewaNpDfraHyIby6XzcTSvSShJDw+icuzq1\\\\\\n\",\n       \"IWcdLCMbwFaAqPKFdst1TVqB/ML56TNz3fGshJJrkfVbZCvsPmFRFehGc7euWDJx4SIqUG/TBNY3\\\\\\n\",\n       \"H36YKhMRLTp7EX2lEtItRwT0+n9v06GPENVaaZFYuoPoDV/uED2vSte88eju9s3/bzPd+4UNtKPV\\\\\\n\",\n       \"ouXVKv3Haae5f2C5VLMZDxGLL9/L3uMWVJjvvRB1oLPgXEsqslyT5lqZ1d/eZXlY8pjZYD5mJTQc\\\\\\n\",\n       \"c8wxdMMNN9BRRx2VqwzOvzrppJOsggwGg8Gw/2I+LID2p8aChxFYhgWO3R1oDXPNvLXm/qOuoHuP\\\\\\n\",\n       \"7GVe1TpLqJ7ZCP9rei2NbiW6dDxvI5QKCeD8JafTV078P3TtwzfTG8LziNjuh0GrslDhd/6Pbl9B\\\\\\n\",\n       \"SSegk7aO0pmbJwiCEa0F4vJgvU7R6BhVjj2++51sE2Tlle/pMez8rf/5Cn3y2ZdSi71KfM6Jj6Ug\\\\\\n\",\n       \"img926ImJ7uUhtYcFZFpfZiD50wKU+SyFK74nFlZfAxuYEhiSpNYclZCHwGmn17Wymz+5W4P2bcl\\\\\\n\",\n       \"0dXxZBvJmQaxraP+OYBiC9fAnHqylVFS+Y+2ZMrYJk1YSVVWvg1mCU+fkTXrUzrpVnmoUaeR48Yo\\\\\\n\",\n       \"rKQv492HBrTmZSH93d92+sgr1C6f+/JvdOjHxweUhGldj60eczbATc2mm4lwkAZPU6ZdNaK0SMoK\\\\\\n\",\n       \"kxXoqbSyHDitxioGt2VryN/A2cJUXPMBzr96zWteQzMzM470vOaaa+if/umfaN26dfTxj398Xr7D\\\\\\n\",\n       \"YDAYDIZHBUZgGYaAEViGAwh7zgqz/vj30EPHv7m7/rgt6+i8ZA3dvOQK+nacklpffGQtVatEL53s\\\\\\n\",\n       \"kVhddPKj/PMXn0bnR8cSbdkynDKFFVR3LO+mIZVhijNzxsZz257zna/nbIMaXGtR0nHHfenCX0u3\\\\\\n\",\n       \"BYEjwvh6PhRRNLsNJs5Kwua1Pa3Ihaiik0QGliag5Kx8el2qsiSB5SOyNGVRVDu78692kW3QZ/+S\\\\\\n\",\n       \"BJYkruTxbkYBcT/yuCB7Viix0mfw1SXIK0kkyoizovbJP0YW7DRPKKpdDnAPR/Pfc8zGfuVV7taI\\\\\\n\",\n       \"aNkOopPuT+jnR6V1h1kLp4cgYktbehZW2bQS2+AQ9zGY9XBP4JWvfCWNjo7SW9/6VpqamqIXv/jF\\\\\\n\",\n       \"bjbCD33oQ/TCF75wj3ynwWAwGAwGw74CI7AMBxD2jKZ04+r30fqT39pdf+xD6+jU6TVEi4ie1F5D\\\\\\n\",\n       \"lQrRN5KUxPrchrVUqxH94UGKxBpyFsD5QDUIKGmIUB8iOmzThqHO1cd1Gg2qBvkcrWGTw/pPUFul\\\\\\n\",\n       \"L8ojH/FlKmnrmj5OWwdTUoVtcL7sqjJFlbQUlp2jySs9L13uiWj3EJb080i0BO5XElA4N1T3J21k\\\\\\n\",\n       \"8nmCvufkumMLYbud2giL6h7to4/Rx/W1tGx73Q88702R+a3oDRvh96GZ/204aCcNBXlcp5E+ZGWu\\\\\\n\",\n       \"7/Jszw/25ZB10/HvCfz2b/+2K0xg7dy5k1asWLFHvsdgMBgMhr2KJEjLXK9hWNAwAstwAIAHUcEe\\\\\\n\",\n       \"GFAltHH1+2n9Ke/obll93zo6YesaIsHpPDVcQ7VqaiNkfPK+tTQ6SvS6M9fkB6HDDlxlgI3IwcGn\\\\\\n\",\n       \"7ypy/5I4ptbOHdTZtpXCxUvc9geXHzLUV8vj2ls2UadRp8VKJaPJA52o4yUUfKE8MixMLmf7k6RH\\\\\\n\",\n       \"mEjoGCEd3q4JLT8JpbfpwPZ2AXElj/MZ2HxqrO6d76YCq6y/61aQ+33fD6ugDnjXRFd/Xcn2KGsD\\\\\\n\",\n       \"n4AwRzrq90AGOukwpwLfXFlqna61xXGFmg9NOTsWZuR8xM/J9kEe19jQyK5X/D7IbYXEmu85i1Dm\\\\\\n\",\n       \"G9wtzO/vo2HPYmxszBWDwWAwGBYCdJ7t7l7DsLBhBJZhgaOX0TMchjG+pQP3TY/5MK0/5fLu1qN+\\\\\\n\",\n       \"sY6Oe3gN0ag4MhvM/8rIGhodSW2EjA/ftpbGRyr0use/of/yPKWYHJTKQSpsdNngPWy3c4lc0iym\\\\\\n\",\n       \"B+6gI85ZvJiufOghmv7qf9D4pS91x//7+c9wsw1yYHsRJdIJQnccMP3fX6ZKFLlZ10KPQW0QkdZN\\\\\\n\",\n       \"EePnBUEFsgLTqslnx3Ge8DCZvaTXdTZTf07TIOKqXaC6ag2Rg6UVXORJREp200YolVVYl0HsUEvp\\\\\\n\",\n       \"FtE0J74P9kBEjeO6eG7XIF6CjlVsMvPKV9dy3V1VrPf+2MhIKW5rFE1iYrvsM1Hk3gX9lL4ak32U\\\\\\n\",\n       \"v/bcxYvp6nseoem7pmnsuJQM4CB3nm2QA9t9+iZ+6ocn0+OArd96mI4bH6UV1Wrf+6DfQ30v3e1y\\\\\\n\",\n       \"ekAQYVqBKN8PGs6SOdzsj5qYLMPukK3zaig+oMCzDoJcHYTrr79+j9+PwWAwGAwGw6OFfdl7YDDs\\\\\\n\",\n       \"I9AD9hSjW0+noJUOeA/92bvpsLvW5Abq+n8Afm3RGnrxinVueSQao8cuPbubDeQOlcSMJHJ8A/Zs\\\\\\n\",\n       \"gMuDGj1o14NivY0VWE9avJjq//Z5SrJRLQezf+GiZ7nlomHpFy76tW6Ae9JqUv3fv0hPXryYJqKo\\\\\\n\",\n       \"L2VJoux+uoP22Tx7tq2jFD8+wkSTKjrEvTcDoVZQlZWWUmDJ2QlRcIwmwFpqnybKirYN2q+34XuK\\\\\\n\",\n       \"tutzpXIMx/lskz61WTuzEebr1lf3Re3ULSz7LmlzR+r4+gqTuSV93tcnse2MyUk6eKRCD1/1cHc/\\\\\\n\",\n       \"B7N/+ldCLwkGSpD3I8C9/lCddtyyiy5euqxPXVV0P33HMEGB55MqRFkfeh/bH9XEBe4eRT333X+n\\\\\\n\",\n       \"TIWonxT7jHx6NHHJJZfQc57zHFcuvvhiuvPOO6lWq9HTnvY0V0ZGRtw23mcwGAwGw36LZJ6KYUHD\\\\\\n\",\n       \"FFgGw1Do/0Wc2HwuHfP9L9L0khvpkLv+1Cmv9Ez3crY1/nzOwWtorFahsw49mx6//PyenYoHwtpG\\\\\\n\",\n       \"pxVHej0IvBYpH1lEat8zly6l/73zTqp/++s0csEz3f6/e95vu0+ejVAHul974ind/YyZb3yFWo9s\\\\\\n\",\n       \"oYuOP95LEgQFkeFeOxeeW5NWcrscvGfLHZVl1SOk8sqeYlsb2958bazVWMPkYvkshTL3SiuudH/y\\\\\\n\",\n       \"/Ytb9C+wplW0oioo2BYJmyAICangkmHtkqQKCuoCGqbsbhNWYqXWTjmRnqx72Ub5HDIQWMoyWNL+\\\\\\n\",\n       \"8n2AOqXoHdB9EHB6syCgi5ccTJ//0QaqX7Kcaitqbt81J4R056EdesxD+dpm5RWTV7wf2PSVTTRe\\\\\\n\",\n       \"ieiJixd7+7iPxOorvvdevwdYl9sonz3mKzqHLP87VfbXnv0luC/g7W9/ey7E/XWvex29853v7Dvm\\\\\\n\",\n       \"/vvvfxTuzmAwGAyGeYJlYBmGgBFYBsNQ8A/kJjY/mSY2P50ozJMhXWWVGrQznnfoG+igg/KD9yT2\\\\\\n\",\n       \"kDi+gSsrNDDAzbYFme1P25aKiCSmMU4cG6NzFi+ha9/7DooOXUWVk051xzNJ9clnX+pmGzzp7l/Q\\\\\\n\",\n       \"hdf9MH0eYWFq3Hg97fir/0PnHXQQHTs62h2AR+oe8F1F9sLuAF8O2KUCRStPFGmRiNDwIuJKq3z6\\\\\\n\",\n       \"1Vc+wqkoE0ursMrUSSCIipYZWh6zuyoXrS/yzSSI3CtJUsnzQVrhnFgch+cMSuspVWGFfXWsVYm6\\\\\\n\",\n       \"XXLB7h1u9wLCVm7TaqxMBegjjNAHJX0nFVjcChcdfDD9z9aH6f733UtH//mxFC+KqdJM6IhN6TE7\\\\\\n\",\n       \"R4g+8YyAHpkInG0QyivG5q9upq3f3UqvXLWKRjIlGL7TR5zpdzVHquE9l8/newewjRVYTOYKdVtR\\\\\\n\",\n       \"QL78TXKtnAxjBzQCa1/DF7/4Rbr22mv7tr/kJS+hs88+mz75yU8+KvdlMBgMBoPBsDdgFkKDoYth\\\\\\n\",\n       \"rTL9OTFyYK4H7owiC1s3tykQyiNpl5KDVazzZ7Wa2qYyFZaPOIrFHHR6UB0FAf3xEYfTsdUKbb3s\\\\\\n\",\n       \"VVT/wdXdZ2Gb4Jcu/DX6P7/3Olq/dJnb9rjbfkajU7to5ur/oW1/+mo6YXSU/nDVKndNFB9h4CPP\\\\\\n\",\n       \"8InipmnkqRn5mfC8vI2LrA/eL+qkXWBZg3VwUA5Taq8qsutJ4kra7HQGVqvAesjrzazo/S2xXW7T\\\\\\n\",\n       \"62Wl7Nymxz6I7Xqf3I9rS+WYrgt9Xv4Yry1QEFbcLtJaiPVum/BlZP+XfYLXuU/I94L3c6lUuv0p\\\\\\n\",\n       \"Fn1Mq6903wTxuiiK6K1HHUOVrR265513Uf3BOp16T0I1rg4i+tEJAX3vsRH9/KiebTBpJ7ThSxto\\\\\\n\",\n       \"/efX07OXL6dnHHxwH3EVFbyT+h7c8SCss+fp+z0oKEkQeslZWa+up3vaQ5Ndvt+2wb+Dhr2J0dFR\\\\\\n\",\n       \"+t73vte3nbexldBgMBgMhv0VQTI/xbCwYQoswwEAn11LDr7A48pjtPpGnichVSvZkpp1rWgw31NF\\\\\\n\",\n       \"sIoiooRVJFpZIgeyvB2FbVOVSk75pAfLchANTY6sibEwpMuPPpr+8r776Sdv+WOqrj6JRp73Ihp5\\\\\\n\",\n       \"2jMoqNacuuP7p51Jz/v216nSbtPJr/9d+sodt9PjFy+m1x5xBNXC0EtI+ZRX+t66xJZU1ICckASF\\\\\\n\",\n       \"emanvOJBexhRqx24QXqzWZyt5COu8uSiVhL5FFi+47SN0JejJfuL7/r6urIfDfrXF/uh3YHCSiqr\\\\\\n\",\n       \"8H1a/6P7MBRa2j5YZB3EMtRcvWM0kaID3bVSDu3AbZgSLgF1wogCV4Qqr6hPZO8H2+8SEeReprqK\\\\\\n\",\n       \"shZCDDruflWtRuuOewy985676Y63/IJ+96QjiGjcHXPt8b16bW5t0iNXP0Jbv/kwNba26IUrV9Il\\\\\\n\",\n       \"y5d3vzMWRJV8JyRhppfxvrrnkc8sVVjYJ8jtJOL9UV8dFxGJudkecyqsot82/dtXRFr5FItyn/01\\\\\\n\",\n       \"OV94/etfT69+9atdWPs555zjtv3oRz9yyqs///M/n7fvMRgMBoNhr2M+/mSwPzkWPIzAMuwnwAB9\\\\\\n\",\n       \"Lufr9SKyQFuk9GBMHtMbsPVny/gJLC+ZRaFTUrhBe5H6Sg7ks8/QKZE6LrMKA2KkFoG0wgBeK7Xi\\\\\\n\",\n       \"jMRac9SR9OPt2+lr6x+gm654G+366/dQvOpIorFx+vrUTnpexu89pz5DJx99ND1ucpIqWXi8HHwP\\\\\\n\",\n       \"YyHM3Ye0CZYQVn0ERsB1FXlD2n2ZV2XrxUSVT3HkI6vIQ2Zp8kqqtuTxuj/NRs0i+6QkYLVRDd+L\\\\\\n\",\n       \"2pfEk868ijzElXx2aSfUz5NuG6budQ5WTjHUCfLvgewTZe8C3odOpzuTpi+DTRfUGMisldUqve8x\\\\\\n\",\n       \"x9N3HnmEntIYcTumkw795z/dT40KUWdXm6YfrLt357wlS+gZxy+j40ZHc++U73u0UlEvu8kYdFC9\\\\\\n\",\n       \"fk5dmMwNAvfbUVTnWgnq+43yE7i6j5X9Jup+XLRvd2F/iUqsWbOGjj32WPrQhz5En/3sZ922k046\\\\\\n\",\n       \"iT71qU/Rb/3Wb82xrg0Gg8FgMBj2bRiBZdhPoBUnc7mOb0CEAT2Wy87rzwHiwaC0rUmViS8TyKdM\\\\\\n\",\n       \"6QQhhVBcQV0Ci1Sj0bPVoWRWIx60R61WN7Uo9miA4gKqxG0PAjcr4RMWL6aH6nU3eH9483qa7nSo\\\\\\n\",\n       \"GkU0s2wZjQQhPXFsjA6qVrozH0pyKlbqE2mV0mqU7nk8SGfLCxdYCPXzSaVNVpI47qs/1D1/clVp\\\\\\n\",\n       \"+2C/GigRFkKfdVCTVTrzKvHM2KetguRZlp/zlYFFJRlYlNV2Wy2H2X1LHZI8F4RVkB0nKR+fjTDt\\\\\\n\",\n       \"EWkdM5EVeNsA69xGsA/67J4Bz7Ap+4K0FOo+wn2HLzIykiqw2u1cX8N7IWlEWdO8njkF3dOOhyE9\\\\\\n\",\n       \"96CDaGkz3XpXs0mnbK1So9Oh8ahGR6xcSk856CCazHK3QJLFBXZB2f+1Oqtr84XCCs+nn1NuA6FV\\\\\\n\",\n       \"qVAnI3KHscv6iEOutnyQu66hImJ10P75Ul2ZessHJqqMrDIYDAbDgoOFuBuGgBFYhv0QcnCtt5OK\\\\\\n\",\n       \"cp4NfGorn/XLpzDgAGs/cSJVECBYZGH7FH+GcUixHLj6BrNqwO4G7dmFJXGFwbEejmqDGWgN0BGH\\\\\\n\",\n       \"12r04pUrcxqhmWaTRjoJVYhoMkloRhBYUJFI4qqi1vW2CkgsVmDJ55KlaPDuCKyKqzPUmyRDYCfE\\\\\\n\",\n       \"4JzXZZvAqpYO2n3qKrnsy7WSpE3Rub5rFVkKdd8t65O+Po9zdV+HqgqkE4grLMseoW2D+rv0rISg\\\\\\n\",\n       \"hPwqtSQJu3UvFXI9m2DeNohjuR25mXk5ilXb+4grWRoNR3hxn4qyPoYW0n0dteqraagXF0OyRERL\\\\\\n\",\n       \"xsbotZOTuZrNZVcpolYTubpocs2dw880Opq+0/ypCd2C3wJWrDVE/cki67qISEwfU1v+ZL8rUmfp\\\\\\n\",\n       \"vjkb6L7jawlTXQ1Co9GgjRs3Ukf0VcaRRx65G21iMBgMBsM+gPn4E8D+hFjwMALLsB9CWqWwTsLi\\\\\\n\",\n       \"hH2gcooG+oMsgr7jNCEhVVidTHmSqk98A0Y9oJQqlA7PvlYRQdVSfYSBulQjQZHSalHQaHSVJx2V\\\\\\n\",\n       \"84N1/WQYrGMZtIakPRhTYUhLOunwf1GnQy3O31JqKjlA9ymxdIA126UCTU7oZ5aKG7HP5V/Viwfn\\\\\\n\",\n       \"OhhcB4en5/jUVJrQKlJjyf5URHIW7ZMElk8T5+vrRf1eQ+ZhacWibFW5rNe1ElHaBssIut46vwNJ\\\\\\n\",\n       \"kldglbWHT02X1JSdVPaJkvfDkVhJ0n0XQOJiGQANJyFbYNylyafncv+Xx0p6XFtypfrKpzz0KRGd\\\\\\n\",\n       \"+sr3DqD/l7wf7WboVbL5VJ79v0n8m6WJKt9vnK8f+rb5fkt1v9baN91f9T6Dxi9+8Qv63d/9Xfr+\\\\\\n\",\n       \"97+frzG2zgb83mllp8FgMBgMBsPCgRFYhgUAPViX230DLwk5SMd+TUbIbT7CQ5JYQd8gXaqvtF1K\\\\\\n\",\n       \"Dj5b1TSgnAemjtwpIrDU9oDlFzwLmyKwYqUs0cNOfmoMdVADILIk6py1Q213zES7Q9sjnuIj6FOc\\\\\\n\",\n       \"VDx5P9pC1VVtyZkH5QBdknNScQPyKq6kBJaazVHWq7QTFgVapwN31EYZUVVEQhWprvzkZj8hgD5V\\\\\\n\",\n       \"1C8ZRQPRqKQfozXldpmRlRSQU3KbVGP51DeS5tTPn9ZtEZEi20a3nVxPRiPX1kEZkSP7iVBjBWyp\\\\\\n\",\n       \"Fe8CF6gT8RRRQU05NWGSEOZym+GJATPFoYbOfSvr82XqKzcZg1aZDXhuttG6mTjrfgJLvxP69wZ5\\\\\\n\",\n       \"cX7y1kdkyWOL3o8iNZU+13eMEVbD4uUvfznFcUz/9V//RYceeqgjrQwGg8FgWBCYjz8J7E+KBQ8j\\\\\\n\",\n       \"sAz7MLQiZC7XiAquq1UrOBamIznTmhzoy8FeT+vUbvcClWGb8tncEGnF41Ds5/VWLaKYbUQ4GIPz\\\\\\n\",\n       \"jKRy9iIwMzMzPc8cWwjrdTcqBe1A6ulgIoP1CSotJCHJJ88hCKgeBDSSpDbCUc734vx1j+oEn1W1\\\\\\n\",\n       \"nlNkQXGC/CvYImGhgo0K+0RpB+nsg9ouJe2YPisn6rwX9o5286mKUCtFFkK57Bvo+7ZrNYtvXaNI\\\\\\n\",\n       \"leWDfEfQb0FGofW7DSp6gCSicB84r8hCKI1zmvxoOwuh7P/c3Ny82rom3wP5DjQaAbU4ByvILLWy\\\\\\n\",\n       \"oG+AjcH7AEvt6CgFSZJmwrXbffSKvGu0MGqvk22rZeorRiOMXJ8vqnE5iYGP0I3EckW8G1Wsyxw4\\\\\\n\",\n       \"Wfi5uGiVong3Wp2IOKar6D1AtWhLoWwHf1+WZJTero2ZRaorn6Jqrn9R+q574OGGG26g6667jk48\\\\\\n\",\n       \"8cRH+1YMBoPBYJhfGIFlGAJGYBkOsF/DQb+MRWSC3u+3U7VaCbVaQaH6AdlN/hJQs5lQLO1zPFhl\\\\\\n\",\n       \"okpkXnWDncbHu2RWwOv1urMS8sDdN9TzpRqB5vDryXpohCGNZNaUsU6HZsIoR2CFasAuP3UmFj9D\\\\\\n\",\n       \"wIyGJK2wLkPdQWAJJRZn/jQzAksO0mX9ylwx1G0+vD0t+YG7JK98aivd9nqfj7TyHS/7YJm9qgz6\\\\\\n\",\n       \"OGkHxLokoGTmFVpfz0QoqUtJYEkL4jB11aZ2O6V0mMwFYSLbAqQtL3PzSmVQr914Vr4wfRdkDhT3\\\\\\n\",\n       \"CbwPfCD3EzCTfPLMjHsXknab4l27+u4OtV8RtaBrbERkCjXD0JFN8l1AreiZDosysCR5JZedjZaf\\\\\\n\",\n       \"aWysR1jxO62JLPmuCBtx7zej+DelyFaY1rdW1/kI3bI+OOh3VCr2jHiaL5x88sm0efPmebuewWAw\\\\\\n\",\n       \"GAwGw/4EI7AM+zG0zmiYY+Wyj9iS63p7kS2sNwiETUraBrVVSn7qwoqKkZF0gNqdhQ0KLBnkzAfD\\\\\\n\",\n       \"goeTazWX/8MqrLjTyVEWuEOfZQpPqSkKWQstzufKCKxap01s0PLl/mi7VE55xVYsqK9AUMlgeq22\\\\\\n\",\n       \"ETbCxJF6Feq0UssU+AoZFK7JrKIZCFP1VWfIovuNr/2LalATBEXXKOqnw0DbX6X+Tq/7WpwKMq98\\\\\\n\",\n       \"9zd8vUkVVlGRofuS3MW+CltXszD37rsAYhfklZzUALbU7AJhve7IXH4fQM/oWpYZcK42koSqmb2U\\\\\\n\",\n       \"1VjszpIzeOqI+zICC4SuVGF1c+I4Rw73K59DrheE2PO7kEQxNTMeb1DxWZqx7O+nZUXWnm+7PmZv\\\\\\n\",\n       \"/7frwsd73vMeetOb3kTvfve76dRTT6UK9wuBRYsWPWr3ZjAYDAbDnGCzEBqGgBFYhgOIxCo6FwNv\\\\\\n\",\n       \"qcnQgzpNavhJLA5G5gJlhByY+xRYcrY2/qzXAxofr1JU4UFrszeglYoTaSFkVQb8WKOjbkZCzgDi\\\\\\n\",\n       \"YyWB5RuAawUWBvl6GOrOCQJqYhCekBvkY8Y3X3B11ZP/4xQn0h4FpZVWYckBvFjvxBVqNcNc/Ull\\\\\\n\",\n       \"j65rqTyR+zhsv9eOUnUyG2JLnyM/Aa280v2KPMfrbWUICuyBsi/L1pVqK3kvsjf41uX7Uaw+7PUe\\\\\\n\",\n       \"JrA61GxGXcWVrx2k6kraCbFeqUTUiQMKQeDARgslFq/jfcgUiK4vsY02eyfCmRmKW61uS2vVlSOp\\\\\\n\",\n       \"xJMy8dvVnLECTOQLSQJYmjCxXDYLoVYhRpxzB4WlttNKFaKvVGvUiarucct+S8p+e/A75Sdei/p5\\\\\\n\",\n       \"UR+XSsTdJaCMvBoWF110kfu88MIL8zVoIe4Gg8Fg2M8RcMzuHP8va67nG/Z9GIG1APHTn/6U/vM/\\\\\\n\",\n       \"/5OWLl1Kv/Vbv0XLli3r7tu+fTu9/vWvp09+8pN04EHaoqQaRUKranz5MMgYaotlHgozxRO7WdjS\\\\\\n\",\n       \"2Qh7GUAYoPMyMn/wyfump1mVkW7j5ZGoSpXRlIhyI9VMWeXWsQwGAIHksD5FkVM7VRoNlwckjWSY\\\\\\n\",\n       \"fa0lMoB0wLXWDAGBU2GlA/xap+MIKRleLWcg1JapCAoTtkhNTqa2KS4TE+kgXi7rkpFejWbgODuu\\\\\\n\",\n       \"H1SLtAvKAtWJzP+BIqinwGr3ES+DiUufOktfw2eZKqIIJbnlWy+DJKU0dBKanrVTqq8ktaP7uS/U\\\\\\n\",\n       \"3VdX8p2Ic0Hush24f8NSyO0n7YTyneA2TuczCGhE5r7xSVJyx30G7wO+kF8kLtxHWfXHtsJm0919\\\\\\n\",\n       \"M+v3lH2i/+JNbgv7YMC2WU/tSvWVJLKKZiDMvQdM+krb4KD3gYu0GI6OUius0Mx073cDUXggtHQW\\\\\\n\",\n       \"liR6+2fhRI10a6CErJVTQfj6uO5bmrw1zAe+9a1vWUUaDAaDwWA4YGEE1gLD17/+dfqN3/gNOv74\\\\\\n\",\n       \"42nHjh30tre9jb74xS/S05/+dLd/enqa/v7v/34/JrCkDqJovxyc6+N9tiifTUYO2LUCxadc6H3y\\\\\\n\",\n       \"TITNTCmEicOk4oQLDzYhKsEy3FFOaBJHToXl1CdQWcnQaqx7yK2AR/4cZM2PwVaqzPoHekGqTjBk\\\\\\n\",\n       \"RQJSUS24GmRSIAu4ZqVXJSOwQs+gvas4gW2wVqNAk1JQX/kC27W1Ko6pmQ3aQYj4VCaoGm0vTAkt\\\\\\n\",\n       \"X/aVHJyjaGVeEaXns17p6/r2FVmxNIoG/6HnGLQS+rt8Bq0qxDVk6xZNmCDvXZJlqEdJ4koyiwlc\\\\\\n\",\n       \"zoQLHAkl1VdQZGkFlszAQhs7QdKoeDGQeZU7YCTPlIn3weVh8d2xrTazE2pCF+8Dk71tR+ykT1IJ\\\\\\n\",\n       \"gtzTSq2bLwerbNZBp0jk94WVVzLrykPU5gqstqOjlFSrlFSq1E5SZRsIXP4EryeJLFm/uq7zKsQy\\\\\\n\",\n       \"tVXRdkIeydQAAO24SURBVFkrPmWWr0/73o0y2H+h+nD++efTfGHdunX05S9/mW699VYaHR2lc889\\\\\\n\",\n       \"11kUTzjhhHn7DoPBYDAY9qog2/58WPAwAmuB4R3veAe98Y1vpHe9611OBfG+972Pnv3sZzsS65nP\\\\\\n\",\n       \"fCbt3/CRUb51PbCSA3pN0SSzKDheWmY0BdShTqcXXq0Dqt1Mg2ow6bPEtWtsn0oo5AEsRqQgc2Ro\\\\\\n\",\n       \"NQbvUKdAjQXiKgjcwLzCahQ176Jc91ExuoYTMaCnTkIRkwJMUBWoTty+MEyfYaAtSpFWIvuH8344\\\\\\n\",\n       \"c0sqSrRVSub9yDrXuUup+so3iNbqKJ8Sq6g/+Agpn5qrrN/J82V/LnoPJIKSbZqO9BFXRffhI6/0\\\\\\n\",\n       \"8yBZSpN+SabCSpWIOgdOt1MuB069D+3RiKK4kgb/y76B/gJpESy2eB+yPCzXf7n/s50wDUHr6/+u\\\\\\n\",\n       \"JgS5FYWB67+SQpTvgiawtIUQBG6X1OL3oFJxJTfLZlGR74IgdTtB5ELytX3WF9yuid18FpyPgEdb\\\\\\n\",\n       \"+gimYX8b9bFl5w7T5+2vUMaNN95Ip5xyivs95eUynHbaaTQsvvOd79BrXvMaevzjH0+tVove/OY3\\\\\\n\",\n       \"0zOe8Qz6+c9/TuNMshoMBoPBYDDsYzACa4HhZz/7Gf3DP/yDWw6CwIW9Hn744fSCF7yAPv/5z7s/\\\\\\n\",\n       \"VPc/+JQhOW2Q0kgEQ9D5Scl2rZTxKREw4Iv7tqcDd87B4nFnqj7RChMoJ2Ab5DErLFVTU6l9KhgN\\\\\\n\",\n       \"KRobT5UkkqTiCzHAAPDBXGCfcicHbtnZp/hzaiqnlQEd0coG2JKOKDT9cA5WGFIrs1lFnYRqUS8H\\\\\\n\",\n       \"SyuwOOPH5fzwQIhtUBi4Y10O4vX2bD0ZGaF2VKFGM3SPznYpaR2UNiq9XStQ0tvWaitfu/rIqyJ1\\\\\\n\",\n       \"io/Ikn1UXsvXH+X2Ye1W+jiZaaWtgzheJj1FJfeCa0vFIYq0GGrFlbbURl0yF20gbZ1oI/R55mqQ\\\\\\n\",\n       \"0S7fDVZvsXW0GlUoGkko4D6SSojysyTwOhqa+z+fzMvpRZwq0ZFI9TpFjUbf3XLfrWfqQkYtm2Wz\\\\\\n\",\n       \"rEXwlNJGKG208n3g7DeX/8aFn4ELrIKwEGIdhY/NtvN7QGPj7j3g/s6/EejzvncAIjVZ9ymplSgb\\\\\\n\",\n       \"re7LPnWiJOw1oTvsb6qPiJL9bdCxB7YV8YwzzqD169fTihUr3DL/2562YR68vZ0pbofBV7/61dz6\\\\\\n\",\n       \"pz/9afcd1113HT31qU+dl3s3GAwGg8FgmE8YgbXAUKvVaOvWrbltL37xi93/3F566aX0/ve/nxYe\\\\\\n\",\n       \"9IC9CEUWKWkRBAGAQQAG6tImpW1nMgMrpXNSG2Hcl3uFeB4esPMn80y8jwefvJy57dy2MAyoUokp\\\\\\n\",\n       \"Hh3Lbj8jsBggrLjwMgMDdj4ZpFam4mASK242KWq1KGqznil9Akm/+SgZCacyCUPakRFYnU6HRqIw\\\\\\n\",\n       \"l/3DAygmCnK2QP7kLB85eMcAXhJXGOBnA3getCfVGjXbcTf7Sn6iFOX+6FntePCeJ6FkBpYks3Sw\\\\\\n\",\n       \"OxUM9n0qJJxfNIjXRIA8z9eniyD7OvqgznaT74VWKsr+jWvojCuZFyfvU6t1JC2aJ3W5zrkfQyCF\\\\\\n\",\n       \"bok2464CdyC3JbovF7wP3EXC0QqF1YCCkWbaP9wtZxflxuWDMXBnFozXeYCPL3SPmr54wcwMVaen\\\\\\n\",\n       \"Xd4VkwDuzU0SamT9mp9yLAz65nfUNS/tg9JG2CVzedICzKSJbCvkwCmitvs+8CeOFSRXMjpGbYpp\\\\\\n\",\n       \"pt7f/+W6XPZlxKXcHxLwWkNmYOl3QyfmFVkCff3ahyLSygDcfffdtHz58u7ynsK2bdvcJ+dnGgwG\\\\\\n\",\n       \"g8Gwt5FGOsz9GoaFDSOwFhj4f2c55PWss87KbX/hC1/oBmsve9nL6MCFpmY0oSUHZFLVAhQpEyRx\\\\\\n\",\n       \"gVSd3mx54JEkmaXVQbwP6hMu6WA+oGo1oSCuUTTScUHU3TwsZF5pNUqmvEpvPR3AM6nk9mfHswKF\\\\\\n\",\n       \"15NOx9kApeaiSFuBfxCqYUA7svWZTodiztrKbIQu3ycrOQJL5/zIAuIKlilln2p1uB6D3Ixrvmwf\\\\\\n\",\n       \"nx0tvz+1tA03CC+qjTJbYJFCZRgFlo8ynM2/3lp1pQldSUiVvQf6eaRiS27T+zWp1yN7uc7ZrsZZ\\\\\\n\",\n       \"WDIDq6itimYnZCVWGIRUhXUQHjkoEjGpgQx0h+wOZBbbaaFO5Dvk2QlbLTdLIRNYqI1aENAIK1xK\\\\\\n\",\n       \"qBUd4t4lr/g7wtCRuE6BCLsjCCu+d6mwEu/Fdzp30bVbH6A3rHh5zkrIRG4nrlG9EfSprD5/7/vp\\\\\\n\",\n       \"iPhsOqJ9fp+dViqxpOXQr0KU74Z+F3Sf9CkQ5XZfHzPMBUcddZR3eT7B/yHBE7ycd955zq7oQ71e\\\\\\n\",\n       \"d0VOCmMwGAwGg8GwN2EE1gLDq1/9arr66qu9+170ohe5AeWVV15JBy4SNSjHNr0sB/dyu099I9VZ\\\\\\n\",\n       \"vTws2AijqDd45/EzFCfIxMI4PJ11rWer4vWZmYAqkxUKKh2KRrNRqbZMASCwoDhhYMDOxzO5xLOx\\\\\\n\",\n       \"MeHUbFKn3XbFURLZAL6IculqeIKARoOAprPj+WlrPGDn75AZRRisw0LIBaHtmsDS5BYP2rPA6mYj\\\\\\n\",\n       \"9FqiNOHhI7YkqdXL/PEN0DsF7a4H8bpmfP1B96FB5JWPIBi2H8vWwXVlqpk+XpJOMthd7i8ivbSl\\\\\\n\",\n       \"0Ed46TpN65pzsEBg9dRwfhIL74PMi+u+D5xLldlSOZy9uxMzB/ammewt4x0AYC/kdyBjdDjgfUbY\\\\\\n\",\n       \"Byej0IWu+7RyPvLKFZC4HNQOlpr7NH+CtEIf52X5PoyN0XfoHvq1B95LU506NcdHac2pr+4SXJ1K\\\\\\n\",\n       \"jdo88+CuXmA7l8/cdQV94v61VAvG6LUHfYUObaUkls4Q69U3JjEoUh1KJaHu2+gDw5KwRTS4YV8F\\\\\\n\",\n       \"Z2HdfPPN9L//+7+loe+XX375Xr0vg8FgMBxASHjMMkcN1VzPN+zzMAJrgeG5z32uK6zCwsyD2k7I\\\\\\n\",\n       \"sxPuv8BgSduiNDCAkvPrgbQKhNVJD9TkAF7apMiTCYRraAIL85rF1Gpx+HjQVVjx2BZZTtJCyMV9\\\\\\n\",\n       \"a+Z64u1yX60aU8SDXmT8MDGEg3BhBm/ni4MNkyHQkDHxoJmzsWAphM+OVVlMapXUKj/l4iik6VZa\\\\\\n\",\n       \"N9NhRBOc4YMbxYCdvwPfqzOvYCfUeUBYnphw1sF6O6ZpZZXy2aX40xfwLpUnrC7ot0ShrTSp5VNl\\\\\\n\",\n       \"6VwZn8WwbNBeRH7JPl12Hmrf1+e13U+SWO0B54H0ksoqUDSA7N9FM3F2srpEClRP2cPkKNqHuwfE\\\\\\n\",\n       \"U1AkcrfkNtTvA+y23IXSd4JntIypNjrmVE7prbXzqkNYavFO8Ml8cVgJwYaK94FnBdyxYUP3aZdE\\\\\\n\",\n       \"kctw0/SihqtVEGIgrWAZRP+W74MkbTELYfY+XLvjAUdeMdbe9mG3bc05l7njmp2Y6qLPc/7Vlbdc\\\\\\n\",\n       \"QZ+4d607vp5M0R3T19KSxvndd0O+Dz0CGP2hqQgsqUgcxkLoI2Rl39ZEmFQ7+uy1vj5v5NfexGtf\\\\\\n\",\n       \"+1r6r//6L/efX5yZWYS1a9fSZZddllNgHXHEEXvpLg0Gg8Gw4DEffwLYnxALHkZgLVDwjIOve93r\\\\\\n\",\n       \"6N3vfjdVMnZk8+bN9IpXvML9D+sf/MEf0P4PqSoB5AC+6BytHAgKSCoSg3E5cG97jpWWHBACLac+\\\\\\n\",\n       \"aTZDN6iU0VRY5rEv+KbM5eTGuyCxcHy7HVJSq9DI5GRv0Ay1CQ4CmYXRPwbwfEGQWTyizSx6AVie\\\\\\n\",\n       \"TMXClkJHakHR4kMQ0AR/bnnYre5ot2kFE1Lye6A+gR0Q4dSwBsJCpfN/soE9k1ftqEozu4LugH3X\\\\\\n\",\n       \"rl6ujxykS4WJnskRip/UcYl2axUopDCwlgN32ceKbFPoc0V9bRB8SqkyMsurixP7B/2vU9Ex+j2S\\\\\\n\",\n       \"75ZPjYV1H9mHkuYsdTppxLkMcQdJxd1Fquh4nduWuxMIrF6kFc9qSRSPVymoZXcD2yAILAafwOua\\\\\\n\",\n       \"zIK8ES8c90W2D+7cSY2MkK1WYqouWZK+C5nFthBZYFfXloj+zwX2WUniyv4vFVgTE/SGQ15KzbGR\\\\\\n\",\n       \"lLxiouC691AyPk6vP+ctNF1PrYP8DvC78PFbr6CP35OSV4xnj62jc5M30I7s0fidkflXeFfaTmWm\\\\\\n\",\n       \"8658SiwcM+j9kISX7p+D/gL10YOm2trb4N/FP/qjP6J//dd/pW9/+9t0zDHHDMzY5GIwGAwGg8Hw\\\\\\n\",\n       \"aMEIrAUKVmC99KUvpW984xv0j//4jy749fd+7/do9erVdMMNN9D+gWSIgbckoYYZwMtziqwvWm1C\\\\\\n\",\n       \"nsGbJK+kLSdPaCVJ7NQ/rVaaiaVDrCEKAaGlLYQQVPH3hcxPjVYoqtSc7akv4wdqFLBhDKnOQsgW\\\\\\n\",\n       \"vgwEViaL6dqyymaxCkOqhCGN7txF0/U6NZpNalQqVEWmD4gyYQfsZv1gu7QMYlAv8q9aQUzNVmod\\\\\\n\",\n       \"lHk/mpySnzoPq/coMvvKZ3Hz9QE9CNeD8bJBuj7HN4gfdL0yAssH3fdxnG82Tv09mgAbVAeD9muC\\\\\\n\",\n       \"I11OktRKmJa8vVOSj8jH0pMfYFZCx8HWmNmKqYI+AyJX9l35PoDcAhsm1VitFu18OCVjGYsWLXbk\\\\\\n\",\n       \"UnfWzzIyV5JjeFklgYX8K5BWILVA4Mp3Y2wstQ2Oj9Pa69/rLv/mq99GM62Y/vCUtV3bIJNXf3dX\\\\\\n\",\n       \"j7y6ZGIdPTVc48gt+W7Idybl+NI8svIJC4qK/G3UhO4wfcWHon5UdqxeNsyHbZD/Pvj3f/93mpyc\\\\\\n\",\n       \"dDMdMhYvXkyj3C8NBoPBYNibMAWWYQgYgbVAce655zqi6g//8A/pzDPPdCTKO9/5TnrTm96Uhnrv\\\\\\n\",\n       \"dygalA+7Xx4nM4J8ShMfiSUtWlplgu+UFiocywoUHkiGbgCK8bQmsCAa4U9pp8J4OOWjAqrWWOFU\\\\\\n\",\n       \"oyAK0kE2Awcz5Kxr8GdJNgySDJ0kL2yEuVwtjUz9NVFv0PRDD7lNO+oNOvjQQ4sthBioS9sglkXA\\\\\\n\",\n       \"e+Iyg6rUrIdutjUMwmXuD4q2C/pmIMTjJckgW5RUXPkG7r5+pgfxVEL0aBJkWGJrEAYRVZLQSpS1\\\\\\n\",\n       \"0EcyyP6uZ+uU1y6rM6lA7G3nNmi1Ytcu6P+S0JUZcciEw/uAgnfFEbq1iOJa4PpN9z3A5Aaw1mp1\\\\\\n\",\n       \"Ihgx5LRlHWn7zl3dp5tcviztlyCvyshcvLS4LiRlksTVFkK8CzLEnRWMmSJxzRPe4JRXb/7u291X\\\\\\n\",\n       \"/MX330zT0wG9/DFr6GM/u4I+dmePvHreopS8goVWE714d3gmyE4HyiqtFpWKrCJ1oo/QKiK3ZP8b\\\\\\n\",\n       \"Bsle+Et24YFnGv6Xf/kXuvPOO+lP//RP3ayB119/PR1yyCG0atWqoa/zkY98xH0+7WlPy23/1Kc+\\\\\\n\",\n       \"RS9/+cvn/b4NBoPBYCgDz0A451kI7c+GBQ8jsBYwbr/9drr22mtdpsWDDz5It912G01NTdE4Ewh7\\\\\\n\",\n       \"GB/+8Ifpfe97n/sf3dNPP53+5m/+hs455xzau4DiQFoKZYi1tkVJkkpbpAJPhDMysORgDoRW2F1m\\\\\\n\",\n       \"61OjUck5+3jQ6e5Q/MhiAjUd78MFqhXeNzoaU60SUW1JdkFpG5TqJ8gyuEhfETMAOigK5BVC4gcQ\\\\\\n\",\n       \"WJOjo7QJBNb27XQwT7suB/AyxF0O3JGBBWKL+yJnaLljRmiqHnazrXbuTC1TyL7SBW4wOYCXKi1s\\\\\\n\",\n       \"6+UzYQCvFVia1EKj+NQqPkIK3zGoL2olyXz/CyuJKrmNhsiL04SV7vNyXWbH+ey1cn/vfeC2gC0Q\\\\\\n\",\n       \"QkD5PshIN/CxOB7vBI5xXBWFNDY23iNncSBII9gE0ffgpeOOkxG47elpmtq61V07YnsUD/4RAj+I\\\\\\n\",\n       \"wJLfKzOwZA4W+jkIXanGwn1x/88IrmRyki570lup3qnQ5d97s/ua9/1kLX30pvfQjlZ6n4znL15H\\\\\\n\",\n       \"T6Y13feDYw15ueh9SElc+Q5gWZNRs8mHQ/8apNbSyi3DXHDjjTfSRRdd5FRS99xzD73qVa9yBNaX\\\\\\n\",\n       \"v/xluu++++gzn/nM0NdKVXkGg8FgMBgM+w+MwFqguOKKK+jtb387/f7v/74jku644w76nd/5HTrt\\\\\\n\",\n       \"tNPos5/9LD3pSU/aY9/9z//8zy7o9aMf/Sg94QlPoA9+8IN08cUXOwJtxYoV8/hNWk2lyahwwLly\\\\\\n\",\n       \"4K6JKrlNklua8MAAPciWoT5p59aTpEmNBr9uaY4PXHwYsMvBvQx4R/40xCWpGiugNmcAjUYUj46l\\\\\\n\",\n       \"s57xCTgAqddgCnBBqK54P4gqrb7iZQzgfchusrpoEcVjY9SamqLpRx6hdhxTxMSUHrxjGYQWljGA\\\\\\n\",\n       \"z5QnrbDiVGopeZVm/kBtlVeT9IdT61kJscwzD/rtg5Ko0soROUgvg2+wPoxlyjeIH2S5KiOhdD/W\\\\\\n\",\n       \"31X2DuhrRAPO09f1Kc1AgqS5V7I+3UyXztnHuXC9+Qhke4ITQluCawLZhe6FdzFkS2tUpXg0Y3kZ\\\\\\n\",\n       \"UF2BDYZ8C++ACN/axSRsNohfdPjhFCxe3HsXyiyEMnFeq7DwENJSiz6PZe73OCZ7BzrVGrU6EU1N\\\\\\n\",\n       \"B/QHj11LU1OBI68Ykrx6wZJ19LR4jSN49fuhVYuNBte5VlmVKbCGmdBA9xtfHyjqO+g/RWSuESqD\\\\\\n\",\n       \"wP+2sjrqve99r7P9Ab/2a7/mJmkxGAwGg2G/hVkIDUPACKwFig996EP0b//2b/Srv/qrbv2UU06h\\\\\\n\",\n       \"a665ht785jc7u0CdRzd7CB/4wAfc/wpzYDyDiaz//u//pk9+8pO0Zs2aeSCsfMs6C0gPkKR1yndc\\\\\\n\",\n       \"MmSRxIcOcceMh5IkgQKs7YLY0yysdFZCEFhwM2EczMs64J2Bsbi72ySgOA4pqLCqg/OxhGUKB+EE\\\\\\n\",\n       \"OdhmZgCMmZwODmoThGIXkVgZgcXB1YuOPpoe/vnP3bE7N2+hxUxOytwfLOs8LFlGR6kdV6nVTmdr\\\\\\n\",\n       \"hKrKNzD3zTCIZZl/1eMeNGHlU4MUDcgHWfx0vynqr8NsG3a77PO++yqyEtIsrjGMSky/C0Xb+0lD\\\\\\n\",\n       \"fgeYwIJTNZ2goL9NYSeUsW3gn/DTxVZoXg+qMQXMUTExpC2EsA7CuyunA200aOcDD3bvfoIDrJmE\\\\\\n\",\n       \"hdyxiMDC+yQJLKgfJYFVNKkBSCsR6s7kVTuoUL0ZuZk3+RnZNqiVV2PhErpoJFVeFRFXveyrJAtu\\\\\\n\",\n       \"12Ht+n1oD/GODCo0i3dj0HFFywbGj3/8Y/rYxz7WVxlsHUSGlcFgMBgM+yWMwDIMASOwFihuuukm\\\\\\n\",\n       \"WrZsWW4bz0bIaqxf//Vf32Pf22g06LrrrnPTbQOskmDLww9+8APvOUymSUKNp+YuxiBViU+t4lOp\\\\\\n\",\n       \"SIBkkteXv6BSgQXroHsyMQDEdZAf1bMQYr3djrrXkDYpKRjh8XJv1rXsSTLLlLtKNrlamlsdUGc8\\\\\\n\",\n       \"plo1otpkFiA9M0MBGDBYqVAgYeIBNKbv0xZCXLxo8A5mjW2EJ5yQElisEHngAVp87pPyGUAoIKtw\\\\\\n\",\n       \"P0wS1GqUuEDrcarXgz7yCrOucYGaBLMPylkIpSJLisnS3B9YpTSRIgfraF89m5oe4PuIrSKVlrzW\\\\\\n\",\n       \"XDAbAmo218Sz+N4HqcSShJSeeVO+G1JxpUkRvFtpW3Q6lYxYSVVYcrJM8EqStJWWQnRHvc+9B9WY\\\\\\n\",\n       \"RtlOmCQUgDQCeQViCYnwXKpVSuoN2n7vvem1KhUaO2F174vKLIQgrMS74FVgyUw4kFd4H3i2TaFI\\\\\\n\",\n       \"bDRCqjeC7kyDXAcfvfmKHHnFmOpspf985Ao6L0mD2/U7Id8Vfgd6Mw82hW2wLdb1+wAFXVFGnI/M\\\\\\n\",\n       \"J2GvLetvevsgcmo+3qGFB54F0PdvJEcGLF++/FG5J4PBYDAYDIa9BSOwFig0eSVx/vnn77Hv3bx5\\\\\\n\",\n       \"M7XbbRcmK8Hrt956q/ecdevW0eWXXz4LZcmwkPlX0l4orw9SSQ7qfQN2XAP2QBBZ8tpShQX7YD47\\\\\\n\",\n       \"KyWeUqucu4PM5QQHIIPH31IMxZCz62EMjm3pODik0RrbCWOX5dOVqugMLJ1yLlkfObNhGYGVMW+j\\\\\\n\",\n       \"ixdTwLk9MzO08+67qTM+TiG+G4QVZmTz5AF1otjZBXkgDrsYBuXIwcKgXOZe+SyEeT6OB+5p6Sej\\\\\\n\",\n       \"yrJ60CfKBs6D9nf24UG4JnFlvx50bNl+Xx1qBVa6nBIqTF4FuWB2KK6gskqzy/KElXxX8C5wV3Rt\\\\\\n\",\n       \"7nKeAhoZHaOoms2sCTljRljlvIkzMzR9662u7zImVh9PIf9m+mYy1JDBXGDXdJA7losmNWDLYFyh\\\\\\n\",\n       \"Tlil6V09yywIrCtvuYI+esfanPKKySvGf9fX0lSb6LSZNMBdE1jIwEqD25moagjySmfB+eyE2F70\\\\\\n\",\n       \"7vjUWoA+jzx94tH8b9n9H89+9rPpL/7iL+gLX/hCV4nI2Vd/9md/Rs9//vMf7dszGAwGg2G3YSHu\\\\\\n\",\n       \"hmFgBJbhUQertTjXA+D/XT7iiCOytUEEVpGtcFjIgVWRCksOvPQMa9pO2LMM9giuvCKr0wmo1Uot\\\\\\n\",\n       \"c3AhQTACVQkg462w7u5aqLNYzYJZCitRTJU4pHhcBAaBKeBl3zR9sBBCcQIyq2jwnt2osxGefDJt\\\\\\n\",\n       \"u/56ShoNmnrgQZo47dQeaYXvhwKsUklVJ5z1k0TUbESZ+qpfZSVnVQM5pYkrbR+UJbUPShJFB7TL\\\\\\n\",\n       \"ti+zMvkGzbO1Ae7LKLMU0izqoqgutTqLlXFJlyfiT+5SUgwIyyBcf+ii+l1hYIZOJq+iOKGAIqpw\\\\\\n\",\n       \"16+mEkY34ypeIgRuZd7FHbff3n2KydNPTycUkP2/yEYrZzWUKizIyHwEFkpGYDXDCrU6bCcOc+Qs\\\\\\n\",\n       \"k1d/d8sV9DFBXnHmFdsGWXnF5BXjW9Fa2hURnVRf43lX5KyDIKXkcpGVME829qsPpQpRE767Sy7N\\\\\\n\",\n       \"xi64P75f84/3v//99IIXvMDlSU5PT7v/kGLrIOdavutd73q0b89gMBgMht1Hwn+/BXO/hmFBwwgs\\\\\\n\",\n       \"w7wrv6Ioog0bNuS28/rKlSsLLRFcZg9pF8QAKhpwLJYxcC8aeEtiqkhdAsWVVGRJxZe0T0GVld4v\\\\\\n\",\n       \"E1hhmA6wMeYFtL0QM7BhXUOOt0dG2L6XpLlAAWdVcT6QsPVJBggMwmwILIawTU2c+ThHYDF23noL\\\\\\n\",\n       \"TcBGKNUomfoqiWNKKlVqR1VHXEnLYBl5pQVjPgILj4JYryQpGpjrQbgktcpsTgfy4HkQwYflsvrt\\\\\\n\",\n       \"rTPZ1GxG3gwsKLKkAxBWQxlh5XtX+F1ynFMtJqpFFFXTDCzX/6W8q9mkJIpo+09vTE8MQ5o466y0\\\\\\n\",\n       \"nw6y0A5DYMFCqGyE3PcTJnErNWo1A6o3U+UVCCxeLiKveB/bBll5xeQV45pFa932x+xYI7KvUnIw\\\\\\n\",\n       \"bxv05V0VkVnaTuhrw7LfzKJ+UgSt0jIMAs8++I1vfIO+973v0U9/+lPauXMnnXnmmc6mbzAYDAaD\\\\\\n\",\n       \"wbDQYQSWYV5RrVbprLPOoquuuoouueQSt42ziHj9ta997Tx9S5n1SRNbchsIJZBK8hgorqC+8qmq\\\\\\n\",\n       \"kmxQSMJ6iJwrkFhgm7Asr9+7H87DajQip8YCQQUCBrMOyjx1SdRoAkeSPTygTTOjA6rVRqg6OkKV\\\\\\n\",\n       \"iU46QgYLlAbk9AbrmsAqy/9xj9LL/xnn2Sw//WmiVpu2/+QGOmRy0uUJ9alRRkaoTRE1WwFN7+g5\\\\\\n\",\n       \"u0BcYRn2J72Mgb62DRZxcfnBdlNZmuRAXR5LJdaofckKuLehc7H0+6fVi9iPdVjZ4i65wW2EmTdB\\\\\\n\",\n       \"WkHch3X3bdnEmgBUWeieeFfggpXvw+hojSqjVYr5+7kDwULYalHjjjuotXGju+boiSdStGpVf/ZV\\\\\\n\",\n       \"GYHly8GSs39qG+3oKDXbrLgiqu/ovY7o53x7n7z9Crry7h559fzF+dkG2V54+tQamoqIfjSZHnfj\\\\\\n\",\n       \"irXu/MO2pCRXmi/WFrZBmX1VVPAugOwCsdX0WAL1uyKtuFqp5XuP0IfKyCqzCpbhM5/5DF166aV0\\\\\\n\",\n       \"3nnnuSLzJz//+c/TS1/60tLzDQaDwWDYZzEffwLY/4cteBiBZZh3sB3wZS97GZ199tl0zjnn0Ac/\\\\\\n\",\n       \"+EHatWtXd1bCPUtY+QbXklgq+w5S5JZvH4gwfB/sgoAksIpyt3h7M8toCmlmpvcaYgCvBSAYT0tn\\\\\\n\",\n       \"E8RSmtyqVNKAbI7dqVQSqlZCqkQjFI/WKOJ7ZbUbyCxcAF+Yypfy9il5I/A5ZjcaLV5MY6edTlPX\\\\\\n\",\n       \"X0/tLVuovn4DjZx8Uld5kkQxtZJUcZYqqYKuXQqEmwxkhxpL7gOBpW2EOrw9JfwSV3oD8Zaq+zIV\\\\\\n\",\n       \"0Z4gqXz9aVjMtwR60DswF3KrSJEj67qXC8cKOVZitVppX5UiKcw+CLIqi6nqAu8HJt2U6rvecqrG\\\\\\n\",\n       \"SrthRHF1lOJajYJMorfjJz/pXm/yKU8hmpzMk1d4B+DVddUXls9CiIcAaVutUovfuE5AzamQGqL/\\\\\\n\",\n       \"g0NGPN1n73w/XXlPj7x63qKUvEKgOxde5mPZNsjrP12eHv+Lo9ZSfSqmg29/vQhtl0HtDU8OVpkS\\\\\\n\",\n       \"C0Ur6coUWsP0kzL1XhmM0JLgf0ef+cxnOguhxI4dO9w+I7AMBoPBsL/CMrAMw8AILMO8g/93eNOm\\\\\\n\",\n       \"TfS2t73NZXOcccYZ9NWvfrUv2H3P5PhIa6BPhaUHTtpG6CvyXJmPJQd1pALesQzSAINFqLZSRUun\\\\\\n\",\n       \"EzvbT+pKSjOxpE0QA3oAdin/rIT58Hcu1WpKELC1sBInFIUhhXFIYVihoNKmMMlG/XL07yOwMJDH\\\\\\n\",\n       \"4J2RsQyLnvoUR2AxdlxzDdXOPNMFtCdBSJ0kpFY7zIWvS8JK2wV92zVJlScq8qKx9Jbl4FsPkjtD\\\\\\n\",\n       \"tvfuQAb2yz6oj5nN9mG/N5gFASaPn+uMhmVFKtyoL5OM+752rur2BS/EReZgCQ41vXLqFuzmxWGd\\\\\\n\",\n       \"iSwutVpAScT9PqSgGtHO7/dmRJ284AKisbFeP089ePl3ABfXBBZIq6x0goiSMKIOl4TJq9CpDkFY\\\\\\n\",\n       \"of9jHQqso6pnUy0Yo3oyRc+dXEdPr6QklVQegtzlctz2lNxi8ipsj1Ht4bPFrJs6+0qSUpqoAiGv\\\\\\n\",\n       \"iSmtpBqmvYuO8fUZ2S/0sqH0rUO2m8Ivf/lLZy80GAwGg8FgWMgwAsuwR8B2wfmzDPqAgVCZqkSS\\\\\\n\",\n       \"WCCrfEoraRmkgvyr0ENeSesgiaBquQ2fclbCniIsHS+znTDM1EOBGwtjEK5nXWPAXohlTGwGARWv\\\\\\n\",\n       \"gwCAgyld5rytyClS0knaeCAEBqGbft79InfnYMYkwpASwayNX3gh0Qc/5Ja3f/e7tPT1l+WUYRi0\\\\\\n\",\n       \"g4CSbkapuELR6zrvShNaPcdXGhCet0O5WiqwM+2JAbTsj3LwL/fr+0Cf8NmtBsGnLsz3sf7vx768\\\\\\n\",\n       \"rXX3UVansu5JtE2YtVdKMqENocaSuVewBYKU4r7bfZqMsOLzwSnJd4Wvw8ezVTft/yHRts00fWOa\\\\\\n\",\n       \"f1U97jiqrD6eEigPGe02Bb4MrIwx6z4hJGOOxIrdcjvhmUaDvj7KfR59V9pmocA6JjifLjvkK/SL\\\\\\n\",\n       \"qWvpvOANjpyCbRDkr8yM4/MOu2sNNaZjR16NbHgKJVT32AY1iVUU5l5GYlEBsUUllkHZ5prcKsOB\\\\\\n\",\n       \"bNUtx+Me97jsPzkCuvDCCykW3lq2jd59991OmWUwGAwGw34LsxAahoARWIb9BD5FVdF+bRuUZNeg\\\\\\n\",\n       \"GQ2hSkBej8y/AvkgLYRyveX55ZXkWRHZxjPxVajdTge/DI7PgbKIB77IX+cxNkiqnk0wJbB4UIvs\\\\\\n\",\n       \"aB7kyggeEAMyXz0df4dUrYYUhRz2jm1MbDmjV7+VCioUDsymkJxj6chFFJ94ErVuvYUat95K2+5c\\\\\\n\",\n       \"T+2DVuYyuvSkhzKzSyqu5ADdVzCY13lHCLBOLVS+IHFNovhyfPYmpEorKSG3Bl1D9qkym+2ehiY7\\\\\\n\",\n       \"pH1Wll5WVtpW6TspVYYgsuREBu4bFKELfklbafEO8Db0eURgOTL3a9/p9ueRp15AMzRCUW2EAuZk\\\\\\n\",\n       \"WVzF94n+LhVYWeG5DlPSjNVdRMyZdrI+KIk42eclgaUnK4Cl9rDm+XRQ63zaIdRZILB8llo+b+lt\\\\\\n\",\n       \"TBZ3MotgUxWpxkKeVVH+lS6+GQrx2+hqfci+6iNxNQFWdg2zDwLIlLzhhhvo4osvpomJiVz25NFH\\\\\\n\",\n       \"H03Pf/7zB7SHwWAwGAz7MPg/K+f6Z7mJuhc8jMAyHAAAgQR0lGKKBEmF/T7llRyEy/N8ShppJYRS\\\\\\n\",\n       \"CwQXjs2f2+mkOVFhmF5HckcYsCP/RwqjoELCMggeOYCXaixkTcdxShxA7dLLo+Zg+YRCMAjui7Iv\\\\\\n\",\n       \"c9vS7TxuZsUYo/bkCx2Bxdh21TcpetaLu/fhI7CkGgWDfQzMZcaVVF5pBVZefZVaa/wKoPlQeGh7\\\\\\n\",\n       \"qFToDcq5kgHnaVv37g/rksTy3bfvmrJP62W9Pij/Sma36euHc8zHkut5Cxm3mWxDkD+Y6A8KLBBX\\\\\\n\",\n       \"6KvdJwvyjlcosnz9H+vN73yz99RPuICmp9OZQNPrpTZb3F9vKuaMwOKnyMgrnfcuJxNAv5ekFfqv\\\\\\n\",\n       \"tBByAYFVRm5JcjctiSNsOx38roCwantIqzKlFY7XxJVPUeX71EQx2ln3X/trcq54+9vf7j6ZqGKb\\\\\\n\",\n       \"/gj/D4XBYDAYDAbDAQYjsAz7ORlVtt+n2sJ+DLwkeaBVXFIRoy0zgFRjtbMBe7uAyMLAGMsIGE/3\\\\\\n\",\n       \"82A+tR9FbiDN22X0DoMH2r6Ad+F+ymWyYwDP25m4YhJLhmZjcC8JLORx9eKu/PUtvzc45wKij/+t\\\\\\n\",\n       \"W565+psUXfjiPsIJ5IQkp3yB7GXkFcgBxBXlc7fLcnnmCh9B5MuS8pFS8hzdP+W2ZBZKKh95pTO4\\\\\\n\",\n       \"iq7lW/eVouN3B/6MJEnO6kkAua25L0oCC30UANElBYJ8LvdzOdlB931ozxBd9720thcvpdaxp1Ey\\\\\\n\",\n       \"01N5cb/vqcH6nxvXlPctCSw5L4Ls30w6SQJLZ8IVEVggrOR1Gg0mr/h7YMfUyiqdeVVEXElVVZHq\\\\\\n\",\n       \"SqsY5e+fXpbtK7fJPjAb266RXj7wBCkGg8FgMCxImIXQMASMwDLsR9CEAClbkm/AFBYcO8x3aRJL\\\\\\n\",\n       \"Km2kWksO+qXNRs9QqO8d5+dfR56pLEnSjKCu2ikbJPNgHQNhZF7xYB2DZ5BUIIGguuJ1aSGEnYqL\\\\\\n\",\n       \"DMqWofE6UN4HEAOtFSdS5+CVFG5ZT8mNP6KpzTupVZ3oKq60tUoO4H3bpL3QV3zh7b2oLjlAx/ru\\\\\\n\",\n       \"DoaLyCSp2MN63iLnV17JHDb5HeS53mzu0Qd9DZl7pZfltXzfPYyKqwia6ADRmychZZg7t7G746xv\\\\\\n\",\n       \"5sSAuKNMFKWJzDTzqrfOfRj22tpNP6CRBmdFEdHjL6Cdu0KlPix/Ek0Ww+Ir38ci1SHWZb+WKis9\\\\\\n\",\n       \"yYFUXfXIrZS8arU6yirYLJhpUB4DgqrMOugjsoryr4Zp9yJFpO8vVPlemHWwuA+26a/+6q/oC1/4\\\\\\n\",\n       \"At13333U4I4i8PDDDw/ZPgaDwWAw7GMwAsswBIzAMhwAkBlYchvyreSMgT7libYQyv2+AVkkvk9u\\\\\\n\",\n       \"l9fDOZIh6g0SWy2eoS2idjvOZWDx4Bh5V1x4We4DYcXuEpBWvE3mYfEnD4ahwMKnJrAYPWtVfnAv\\\\\\n\",\n       \"J2hL1SgBRWdeSNVvfI6CdosaP/4eTZ9xcVeRwvcHQkFbq6QaSyqwQAhgm7QMytyjnhpNW5nQxmXQ\\\\\\n\",\n       \"9j9JhkJNJ9tbkpJ6vQyavAoKvns2/3L7yDXdh2dDOvnO1dePxDszDPElIWflRDvxeVGXCIKCClZZ\\\\\\n\",\n       \"kD8yDwvkliS1QBRJOyH6HV8TysPqj3r2welTL6DOzt4kgrienGjT3akgRzF5go/A0rMoyn6t+zks\\\\\\n\",\n       \"hbAQ6gkM5AyFvX0JtVo8e6PPJtjICpRWjRJllm+5iMzSdsJB9kIfwbW7tl2DD5dffjl9/OMfpze8\\\\\\n\",\n       \"4Q301re+ld7ylrfQPffcQ//2b//mZv41GAwGg8FgWMgwAsuwQG2FPltWGZmliSp5vM7Jwn5NaMn9\\\\\\n\",\n       \"MjMJ3y+/U4yEuzMU5gd+6eCYrXxsL0wzd6A4wSBZqk94GQosHAOLIAb5PFCH+gpklSavMJgHaSXy\\\\\\n\",\n       \"qwvtVC5g+5SnOwKLEV33TZo58eIckaCtVjrXqsguKC2DPtVVOnujbku9PAg+65xsV5l55bPo6Wws\\\\\\n\",\n       \"mR+lSUx5HdnuPstr2XZ57/LaehnrchZMec8+O6ReLlJlDWN3LEL6XGg/9HH0Gaiv5Dr3CfRFSTq5\\\\\\n\",\n       \"uwl6Ex2A1ESf5m1R0KHqT7+dfmdlhHYe+0QKZ/z9PXeXIotO9nfZN3V/lUQtVFdSjYV1PeumVGfJ\\\\\\n\",\n       \"TLhWi8mrjiKvfIHskpTSdkKpTCyyCPoyrooshfo4+b75MrDKLL1mFxwWn/vc5+jKK6+kZz3rWfSO\\\\\\n\",\n       \"d7yDXvSiF9Fxxx1Hp512Gv3whz+k173udUNfy2AwGAyGfQnBPIS4zzkE3rDPwwgsw34KnSVEnmwh\\\\\\n\",\n       \"va9o4KRzsIKCAGqdjQXLIK4vVSVYbmWvGWxTgSKvcK7//jqd0FkK04F9moklB88MSepoFQgUVzIP\\\\\\n\",\n       \"C7MYYnCPGQlBCvRysIoH9b37ExO2HfV4mqiNUVSfoupN36bGdIvaxEqyPIGFPCDca1nelbaXacLO\\\\\\n\",\n       \"T1zJei2Dj6TRRFNRvpQmonzXksQnBvpynz5XEp7yuQblUWlySRJTer2IyCp6Pt+2ousOU+c+pM9Y\\\\\\n\",\n       \"RBLJPiDzsEBmdZ8666/oK5rAGvvlTRTt2Oy2T59wLtWTUQrruYk1Cy2ERfeFPukjaYsshFJlpWfX\\\\\\n\",\n       \"1ARW+q5wNh4HtuP3RKqvNIGlA92lJVCGtfuIKE1uSVJLtxc+ixSDmqwqy7+abTbWgY3169fTqaee\\\\\\n\",\n       \"6pZ5JsJt27a55V//9V+nP//zP3+U785gMBgMBoNhz8IILMMCUVwNe55PjcXwjVy1+koTDEn2Cmmy\\\\\\n\",\n       \"zHddaS+sFNgJfVk0PHiNqd3mGQor3YEyE1BsC4RtENvYUogMLB78grSCMgsKLNgJYSHUIdm+9cJa\\\\\\n\",\n       \"7SpeqrTrhKfSohu/SvH0dgpvu552HXVOboY2LOtMLDnQl6SFzLwCgSEVWVCW+ZHa0/KEobS+yYGy\\\\\\n\",\n       \"JJZgAZUkVahmrfTlqRVZpUDy5G1z/eQAtun7Knu+opwrvV6m3opKJhqQ2ySBJc/RBJu0GUrgnH5A\\\\\\n\",\n       \"HYi+BHKKt8lMLKxL4koSmSCTuL9iVkKcs/Smb3XP2XYCzz7Y69dlJC1DzzjoW/eFt+uZN6VVFiQV\\\\\\n\",\n       \"SCxfBhaXJJHkFKyBPvJKWghxjFZkyQwsPQMh9g2yDHpraIDqarYwEqsIhx9+OD300EN05JFHOuXV\\\\\\n\",\n       \"17/+dTrzzDPpxz/+MdX4HwCDwWAwGAyGBQwjsAz7MGYziCmyBoKAAOGAa8rMK7lfq2bkqFaHuBeF\\\\\\n\",\n       \"ust1Xwq6j0CrqnuW1+LPihuc8wyFvJ/VWDxo5vGKzIMCoYUCBRbvwzLILtgFeVsRaSWVWGUDfHeX\\\\\\n\",\n       \"HaJHHnOBI7AYYz/7Fm1eeU6OdPLZAyWBJQkrOaubVJy5WhIqmMHQWVO6LbR9U5M53SdUBI9cl+oq\\\\\\n\",\n       \"eWynYB+uoZUnu2PJ031ULhcpsfQ+X8C7XpfEVJE9sej+Bmdx6dk1GWh39D/kVYO0giKxqwLs9Gyx\\\\\\n\",\n       \"vA0zcHKZ+Pn/pOdSQFuOPp/a0+WqK5+FUBNWksySxKzMeZP9Wme96Rk4e+osDmtna6VWVTU9BBXI\\\\\\n\",\n       \"qzIbYRlpVRTaXpR/VWQjTGs3f5xrlRL74GzzsYzYeu5zn0tXXXUVPeEJT6A/+qM/ope85CX0iU98\\\\\\n\",\n       \"wgW6/8mf/Mks69NgMBgMhn0Ic/m/L3kNw4KGEViGBabE0pZArY4a1j5IipzwkQ7SQqMJMFJ5SNJq\\\\\\n\",\n       \"6LN4QfkAYsz3C550c7F4lkIuDJBXcnY0aSGUxBYC4bU6pUiBJWeAG6RS4etsOeqpdGQQUZC0afFt\\\\\\n\",\n       \"V1H9vDdRJwn6FFRlRZID7qlzVsFh4bPdFVngJHEkFVc600qSVmUWuzISS9tFdX/aHWWhz77nu0cf\\\\\\n\",\n       \"eeW7d9+nJrqKnrusrn1tk4evnX0KKxBaclkTUd1stpCo+vB9NL7lTrd9x6Gn0XRtWcr5ZKqusvuR\\\\\\n\",\n       \"/dBna5UEFtZBUIGg9SmwdB4W7IWcddVud1w2WF5pJa2BvowrSUQVbR+Ud6WLJq7kNlcr6reqzE5Y\\\\\\n\",\n       \"tly2zSBxxRVXdJcvvfRSOuqoo+j73/8+HX/88fQbv/EbVlkGg8Fg2G9hGViGYWAElmE/RZHNShNX\\\\\\n\",\n       \"g66hrWBaSSVJCzngK1rXhJgkv+R3BAWKK3ktSZ70rsN2Qs7E4Zn/XDh1FDhyKt3XI62guoIKBTYt\\\\\\n\",\n       \"LJcRWFBegcAaxmrlbH3hYtp2+Fm05P5raHTb/RRvuIt2LD6uL8fIlxukw9l3D5KUkvWuySosy/aV\\\\\\n\",\n       \"Cj7Uve4bsn9pwlITV/I6OF+Tor593RoteMayQHXsl/euSSZNZOlr+I7XpJdve9G6T61VptgqhszJ\\\\\\n\",\n       \"0kRSruayPgSi9rDbe/bBzcde6IiiYXOv5PVk350PAkvmXvE7nZ4js6uKbIEdpcCSRJVWaqEkA/Ku\\\\\\n\",\n       \"hv0sshKWKa36atdL0BuBNRhXX301nXvuuRRnU8Q+8YlPdKXVarl9T33qU4e4isFgMBgMBsP+CSOw\\\\\\n\",\n       \"DPswfAST7xgqGQzL/bANYrsc9Cdif9n3IYwdx+IzKVHVSPtVW+1D3pJWMkTi9UQdQCrCy5yL1aGZ\\\\\\n\",\n       \"mQqFYdBVNoGwYkILNkHYBrGPB8kIcXfqlOw4ZA7JUHd3JyoHq4jEwiB/w5EXOAKLsfSOb9KWU/ME\\\\\\n\",\n       \"lpxBEXYrrWiRWUg+ggL31SM0UjIvD21/k3Wp2wb7ELiv2xH7I/UpCUtNXElpj1bqaSWKz1pVRvCE\\\\\\n\",\n       \"QxBYcjnw9CGfRbCMiArVsfJ4aS/U1yqyHmZ3HgTdLDafGkrOQMif6Bu6H3E/ZoCoBXnFZdndPQJr\\\\\\n\",\n       \"/RFp/lUZgaXJK9kHNfnq68dFIe44zrev02HLoMyt4huoe4ipIlugJLlwPn7X5DVkzpU8TiqzXM2X\\\\\\n\",\n       \"9L9hcq8kibw7hJbv+0yh9fSnP91lYK1YsSJXOxzmzvtSAtRgMBgMhv0U9k+9YQCMwDIsQEjSStuy\\\\\\n\",\n       \"fNZCTTyQCuyWhINURckBnFRNyXNAWMEmKMkSOXjU6h5AWtok4ZLedzrQDnPZWHK2PsxAKGcuBNkF\\\\\\n\",\n       \"wgDLTCKAKNBWQklggejqq/WMTHro8KfTCZTaXJbdfRXdctKrcrO4yUG/tGfpZWkbK4e2rWnrn09R\\\\\\n\",\n       \"JAlMyWC0PGosQKq1iogq3Zd0v9I2v6KBviSkhnl2n31P10k4R/Iq8uyPxXZtOfSptor2lUP2ARBT\\\\\\n\",\n       \"WAaZiv4jg95dDtbMNlq6/lq3b9eiI2nrxLEpx5P1ZR8Ziz6K6/oUX9oWK+2xUF/5FFdysgKeYZCz\\\\\\n\",\n       \"rjqdNiWJT1UFwqlTYBvUMxBqi6CeiVDbAAflXBVZBzV5pcmlIoVV0T7DsGBrKZO+Glu2bKHx8XGr\\\\\\n\",\n       \"SIPBYDDsv5iPPxHsT4wFDyOwDPvJL9mgQa6PqPKd4yOw9HatlJHrgVqW/9vdI5ZSSFJCkwqa3AK0\\\\\\n\",\n       \"Kkzft1Z78YCGLYXp96ch1kGf3crdTTbwhjoFiiwEX0tSqyzQnSH/k1+PpXaMH0nbFh9Hi7fdSUs3\\\\\\n\",\n       \"3Ujxzs00M7LMS2LJ2QRlgLckLDTJIEPlZUkSSV7JetIEpN4HaCuhtg8Oshfq6xQto82L7IfD9Hcq\\\\\\n\",\n       \"sAnKa5XZBouUVUUkk4+88l2n7Dt8xFXQ145o46L216HtUpWFXCzZn5fffzWFLgydydULqN0JhiLJ\\\\\\n\",\n       \"sK0ouF1nt8kJCqC2wnZtIUwJrCQrZWoqLIPckmSWj9CSpJMkr6RlUNsAJdlFnt8wTbD7rIL6L86y\\\\\\n\",\n       \"v0CLiK0yGOn1vOc9z9UEk1cvf/nLczMOch+68cYbnbXQYDAYDAaDYSHDCCzDfgBJGPkwaMBfZDOU\\\\\\n\",\n       \"52mrolbMgBjBMgaEUqlF6hworqJsOSixGsr7xOAThBheVbmMwWncHYC221WXj8UDegywK5VegDrI\\\\\\n\",\n       \"KKiyeCAtLYPYh9wrnYfls3gV2QkfOuIiR2AFlNAh93+H7jj6+d19PhKgTGUFmxdUNSDgZHZXSmKw\\\\\\n\",\n       \"jbCI1JHtovdx25Cqb2kNxLp8+LJ2H0Ri6eP0fQ77X0eaRCMP8TaIWNLElM8qqI+X58jlWCmyKmJZ\\\\\\n\",\n       \"70vvg+2vWuWHfjbs5AEy2B3Hd2u3Q7Tyvm9213952NO7Mxn6rlM0C6LOvUIeVmr9689z69kC8zNt\\\\\\n\",\n       \"prML9iyD+ZwrraSS6ittH/Ttl0RVU6m2tJUQx8mAd7lOAxRb3Vor+A3L1eyQFsKyffpdO/CwePHi\\\\\\n\",\n       \"rgJrcnKSRkdHu/uq1arLwXrVq171KN6hwWAwGAxzg4W4G4aBEViGBQydd+Tb51Pi+NRcOj9LElqk\\\\\\n\",\n       \"FDW4Ll4vLDdVdpDMv8J55CFTSBFauHcMKHl7luLuVFgRNRqsykqzsZB7JQPdZT4QiCCpWimalXDY\\\\\\n\",\n       \"PKz7Vj6dTrz5Y2750F9+0xFYMruoDCCpcC8gt0DMgdCSGVicf8SzM6YB97BryrYqysCSOWOyrmV7\\\\\\n\",\n       \"4BMkpCQ39cPr79Z9CsRX0aBfE1KDoEk5TVLJ+9T7YrVdrsfKJqiPRT9GVps8RxNfPpIspigKu9ZV\\\\\\n\",\n       \"kFboX3pmQWlbleSWDyCbGDE16ND1V7vlmcoiWr/kzK59cNjcq6JZB325V5KwkjZCqdBi1VXiFGFS\\\\\\n\",\n       \"RSWzr6TKSoa2twYQWFJJpcPb5X6ZgSUthFLBpa2FfbWl1n12Qq3S0scZZoNPfepT7vPoo4+mN77x\\\\\\n\",\n       \"jWYXNBgMBsPCg1kIDUPACCzDfoIiFdWg/ZKM0stS/SLXQUBJskMTWj7Flj5PKgdAQOE7NIuDdZAf\\\\\\n\",\n       \"+n7xqvqeRW5PB4/8v/RpNlboPmEVlJY9kAcMqJpcZlCWhaWDsEEYgUzgT0koSWxecipN15bRaH0z\\\\\\n\",\n       \"rdzwfQqb09SKRmc1uyCsYZIwk2QW7gnbWc3Dz80qLH7mfNuUWZ0iD2kI4gttpe2hw9gHZbvI+wD5\\\\\\n\",\n       \"KEkmnz1rEDRJRSV5U3g+ScoNyrzSZJSPlJKKLG01LFZr9ZRX6SdILJ8SC+tFeVVF4D6xfNOPqdqa\\\\\\n\",\n       \"cusPHvo06gT8IvQfK98LndNWRGL1CClNUOVzr3okFmfWpaVfaaXtgHK7Vlhp8kqqqNolqiqfokqr\\\\\\n\",\n       \"myR5lavNEiuhfreKyNndUWeZdVDjTW96k/udA+69917613/9Vzr55JPpGc94RkldGgwGg8FgMOz/\\\\\\n\",\n       \"mO1/9xsMjxJ8g6NhjhmUxeIbfA2T6+Jb1qqFMnWDHHDqY+SyHLB2SgazsBf1ljsdthV2nG0JYdGw\\\\\\n\",\n       \"NuFTL8vZ0eSyr+gMoFzphPTLQ5/maiduz9CK9T/ss2cBOvdIqm+0KgcqMkly5BU8qS0tCCR54lvW\\\\\\n\",\n       \"qqDYoyqC6kieW0TUaPJHq5F09pPep7cPW+R5w3yPvrey59H1JtVYsq58MxAW1z+3TRiy+irotpsm\\\\\\n\",\n       \"sNDORf3A12d8WPWAsA8eekF5n/VkWemi3w/fO5R/x3rvHr+L/E4Wva/92Vbyfff9JujfFR95Vfbb\\\\\\n\",\n       \"U0ZCDfv7V3a8RNG1Zvt7bnjOc55Dn/nMZ1xFbN26lc455xx6//vf77Z/5CMfsQoyGAwGw35vIZxr\\\\\\n\",\n       \"mS0+/OEPO4XzyMgIPeEJT6BrrklnUx+Ez3/+8y6b8pJLLpn9lxp2G0ZgGfYjDJOFMuhXa5gBkVbs\\\\\\n\",\n       \"+Kw18lg9iEwU0SQHjjqHBgNYuV5W6tnxjazUC5Z760nSoEaj0x1UY4BdrxPNzKTrcnl6Ol3vH4z3\\\\\\n\",\n       \"f0rFiVaq3H/oBd1aOvyhlEjQJJYmKHQBmcEWQZnJxesonNuVXw4ojpnIkkRUUall9suyY4a5jj5+\\\\\\n\",\n       \"EBm1O2TVbEitQfuHeSZ5zKDjK1ldll8ziiLXNv526xXd1lIVWNRP+t7idkJHZP2uHVTowUOe3O2D\\\\\\n\",\n       \"Uk2FvisD1ss++d3gd4TX+Z3hdbms3zN+9/gdLHtH+5eb2fqg3wNfwHuZEkvOfOojz+XvpCbBkln+\\\\\\n\",\n       \"Dg/zW1yG2agRDxxcf/319JSnPMUt/8u//AutXLnSqbCY1Prrv/7rR/v2DAaDwWDYfSTzVGaBf/7n\\\\\\n\",\n       \"f6bLLruM3v72t7t/Y08//XS6+OKLaePGjaXn3XPPPc7Sj3+TDXsPRmAZDgD4Bly+wdgge0xRPoxv\\\\\\n\",\n       \"WX7KHBrf7GI660YSWfJ4X9izzrtpFx7DM1W1Wh030AZZJVUkOrdHKrJgmZIWKvnpakxYFBkPLnsS\\\\\\n\",\n       \"NcN0pqxVTCQknZwdjKHzjnT+liQymORAAemBAsVOb1+QhdNDAcQESzX7rIj1qICs0UosfYxWFsmA\\\\\\n\",\n       \"cnlNn8pJ7w8GKJp8Rd+nVGHpe9FKLN+9+p7HR1z56kZeE3WsPyPXFmkb9Qgs2W5FbSv7gC+fzZeX\\\\\\n\",\n       \"xcsH77iVxqfXu23rlz+BGtF4rn/K/urr07LP6/cB+Ve+9yd9v1h5xQrIsnfS9/621O9Bw/M7UPbb\\\\\\n\",\n       \"4fvd0GTV7vyGyd/Hst9L+dsKGBE1n5iamnIh7oyvf/3rbnZCVjRyiDsTWQaDwWAwGIbHBz7wATcJ\\\\\\n\",\n       \"yite8Qpnx//oRz9KY2Nj9MlPfrLwHP777rd/+7fp8ssvp2OPPdaqey/DCCzDfojd/d/93bEGym2y\\\\\\n\",\n       \"DDsAHDRw9Fl95KdUTWiCS6stfORYPkuH83fYysS2pjI7ILbrmQL1jGwgAHSGkDsmGqGHVpznanCs\\\\\\n\",\n       \"/jAtf+TGLtkAksFXYCnTihuQHbCbyXWQISA8UvKDlVgpiRUE2t6mSRwfuaSXfflOPrKpaJu26mlV\\\\\\n\",\n       \"FBXkUsmit/vOGeY7i7aVPaeP6Cuqv953cN1L8kq2kWy7orb1KfJ0XpYs6F9HrJezD/bUgAxvf1Wz\\\\\\n\",\n       \"DPpysAa9L2lhuyBnsXVK3ldtGdTvq7YIatuw/iz6jRn0W1T221VkEyz7zSz6DR3026z3m/KqCI95\\\\\\n\",\n       \"zGPo3/7t3+j++++nr33ta93cK/6f4kWLFg2oW4PBYDAY9mHsZQVWo9Gg6667ji666KLuNv5PIV7/\\\\\\n\",\n       \"wQ9+UHjeX/zFX9CKFSvo937v9+b6xIbdgIW4G/ZDdAZwr2WB7r7t8pqBOi5Rn/I6HRHMTtn5GADK\\\\\\n\",\n       \"ZVxLKhcqYkAp76cl9lH2if1Rtj9Wge8IIZfXwXnYh+ulv+ytVpwFAXNeVLqHiQFWkYBcQmC7O0ss\\\\\\n\",\n       \"u2/MAt6xD9vksXyNB1ZdQEdmRMLhD32LNh98RnqnIscI38XXw+yDuIYkFDBjIoLlcY4Me+f9+O50\\\\\\n\",\n       \"dkV+vsA9Fwe7p/eq21IG6oei7hDgjk95XihmJUw8hJIEH9sRfUArV9CXtUoQ52iEBes+gqvIWqhz\\\\\\n\",\n       \"veQysr+0MstH6uF4HwHGeVexawMoqyQhxesgnXi/VNppFR4mDsA2OSth0UyYqx64qrv8wKFP7/YT\\\\\\n\",\n       \"9KduLavZBTWZJYlckFe8nvYpnZGVklfFeXaahPKRz3IfrqXPhaJTEuF6nyavZN/Ty0WZWHhH9KdW\\\\\\n\",\n       \"pvpQ9FfkMH9ZDrIoHrh429veRi9+8YvpT/7kT+jCCy+kJz3pSV011uMe97hH+/YMBoPBYNht7G6G\\\\\\n\",\n       \"lb4GY/v27bnttVrNFYnNmzc7NdUhhxyS287rt956q/f6//u//0uf+MQn6IYbbpjbjRp2G0ZgGQ5g\\\\\\n\",\n       \"aEILhEGoBmAY/EuiCmgLggIICq4NciTMbD+R+I5YDQaxjoJjY0VGyfuUy759HfHKs6WQZyjkmft6\\\\\\n\",\n       \"ZBCTCjwQx4yDcvY/SVBx4WN9kHlED6w8nxImyShxOVg3nf4npS3C343zQRSAbNBZWyDRJPHFyyDi\\\\\\n\",\n       \"eB1qH96WEgyxe+7egD/0EAhaESXJKZCWLdVnJMEl21oSCIGnX3U8pGcypEBW3pckqOQ+n5VQB7rr\\\\\\n\",\n       \"wHYZYC/tiiCqpI3SZytMr8OqK+RZgcDSdlCQUpLM0rZR9DtpM8U6ljVGp9bTsm23uOUtS06iqbGV\\\\\\n\",\n       \"uf18naJJBUBY6VkHNZnFn7Dcwj6YksL9yke/DVCqsbTlT19DFhBU8lifakuSUlJhhWv4lFcS8hpF\\\\\\n\",\n       \"+31El2FP4gUveAE9+clPpoceesjldABMZj33uc+1yp8lvvbg/j8Aufiw9D+GDAaDwdDDEUcckasO\\\\\\n\",\n       \"zrh6xzveMacq2rFjB/3O7/wOXXnllbRs2TKr7kcJRmAZ9lNIEqDsGIaUZwxSV+nzNRmlSSx5nt4H\\\\\\n\",\n       \"UkIOBLUaB59axQVyRRMokgSRpBdIFBpApLVy6ylxFVC7nSqxeDAu1VVQODGgbhoEEA382Rhb5lRX\\\\\\n\",\n       \"y7f8hJZsv4Mmd91H04uP9F5HK76YdIJahu8Dqi2tmJFKMNwjjsO+1HrGwe5MNoTdZ/arlqQCS+8D\\\\\\n\",\n       \"QYB6lcRVWxCMWqklVXKyvdGWsq2G0T/rPiHvF98r87WgqNKklrYa+rK4Btkq8+tMXPEMgwhr1wQW\\\\\\n\",\n       \"FFcyrF3u0ySWzLqS5BUDaiyNIzZ8q7v84KoLu31YEp+DINVa6IOa2OrZC9kyKAkhn9pKW4G1ggrt\\\\\\n\",\n       \"rlVY8hh9rN6myaii/Vp5Jfui3qcJcW9teT71saa8mi9wcDsXCZ6N0GAwGAyG/RqztAAWXoPIWe2l\\\\\\n\",\n       \"tV6rrxhMQvEEQxs2bMht53X97yzjzjvvdOHtv/Ebv9Hdls4wzeOMmG677TY67rjj5vgAhkEwAsuw\\\\\\n\",\n       \"n0IOlIpYlSKCSlvIiiyCklQgtU1av/TxkriS1/SRWPL75aATCEv2YZCL79af2oYYeM+DCkvap5gU\\\\\\n\",\n       \"0BlB0nblg8y3AtnAnw+serojsBiHr/8W3bX0ZYVEmN4uVVYgNCTJJkPksR3Xkfv4XFbPpPsCarXS\\\\\\n\",\n       \"+kifuYgMkuvdO1TtoNsO26RCC+0tyS2pxpMKOU1mFRGx8v58qiu57GpS2Qm18kpaBnWulQ5w10H2\\\\\\n\",\n       \"6T7OuuKZH5m4ksHschlklE+RpXOtJIklt+v+4cOqX/byr9YfkdoH0S8kyTkI6PPyHZBWQ7ne6weS\\\\\\n\",\n       \"dJIWQG0nLLIa+pYTT46V/A4qIa+kKlMTWbhv3zG+fXKb7p9laqxBBJjvugaDwWAwGA4ozCOBxeTV\\\\\\n\",\n       \"oGzIarVKZ511Fl111VV0ySWXdAkpXn/ta1/bd/yJJ55IN910U27bW9/6VqfM+tCHPtSn+jLsGRiB\\\\\\n\",\n       \"ZdjPAYJgEIlVdB6O0efIkTIIBS4YMWuiSt+DtIRJW5lPaQXgO6XCp6nu0Scd8SnE9L3pgW2PRGNL\\\\\\n\",\n       \"XeAM40zs9OxVUrVSZtfifQhd1+QDl01HX0B04wfcsat+eRXde+rLCnOLmMgAQD4VBWxLFRbuOc29\\\\\\n\",\n       \"Sq8DyxfuB9bInrInoEaDLYUcbg/ipuVRL7VU22giEISVVKzI/dimFS0yE6ujLKWybWX7BkNYCFGo\\\\\\n\",\n       \"YKZDqbryWQF1rpWcrVEfmy5z4CUX5Fxx0TMN6gysMgthUe6Ve6KCfgiEjV20fMOP3PKusUNox7KT\\\\\\n\",\n       \"qJoRV1p5NYwiSyr50B+RfZX2Q869QnvL9vSppXz7pDpLT8AgS9NDeg1SZvn6nX5Y3z3KfbIv4tOn\\\\\\n\",\n       \"zvKdIzGIvBpCFmcwGAwGg8Ewj7jsssvoZS97GZ199tlOzfzBD36Qdu3a5WYlZLz0pS+lVatW0bp1\\\\\\n\",\n       \"62hkZIROOeWU3PlLlixxn3q7Yc/BCCzDAQBJGAwhu3CQpBTUUlA1SbJKq6xAQhQFc2t1TaQIK2lh\\\\\\n\",\n       \"a4v92Ac7miRAtO0N36v3kWdfuswEjrZHSbVK7glUgDaILklayeVdS46lHZNH0OSO++ngjdfRJG2l\\\\\\n\",\n       \"ZjX9scd5+jtAUmFZqql8M8MxASJziRCwjRwshGzzPj6W9+O8RoND3iNX8tlVkrwCkQiSoagvkIe0\\\\\\n\",\n       \"1Mo8XN/VYAF5MGgwr4PbNZmls658CitNYGlVldxXKVRfQV0lCSt8akKrSIHlm3lSElaS8BzUXw65\\\\\\n\",\n       \"738p6qTttemoC6lSZZK213dxLpZBesqJBLTaUPY52fd6gfCakJLqKR3ILgkn3z79qRVbWomls9a0\\\\\\n\",\n       \"akt+H4BlPTOhVmKhP2uV17AwVZXBYDAYDIa9H+I+LC699FLatGmTmyRl/fr1dMYZZ9BXv/rVbrD7\\\\\\n\",\n       \"fffd5/6T1rDvwAgswwKAz2I17HlBybYi9Zbve+UAT9sHJVkUFmzDgBGEBAgUrdySpJUcaEqSRCt7\\\\\\n\",\n       \"5LFyQBsW2qWGzbmSBBa2SSIiJbsC2nz0hTR506cpTDq04oHv0qaTet7xIjWWz7YFJYwM04aCBooY\\\\\\n\",\n       \"aTXEfhBWWMZnSmKk2VhhyLMzpkReqsjqPm0BsSQVb7JNW55zZfv1PalHdTWoL/vUV3JdWgM1aSVV\\\\\\n\",\n       \"VtGQBJYMco8zu2CacwUCC6QUSCttIdTqK6xr4gp9CH0DRdpTfX0FpOoh9/Xsg5uPvcBdSxJVIGW5\\\\\\n\",\n       \"P8gZMzFpwTD5WPjO4rYsI4S0ja9IJSUJqaLzixRevuuX3Zv87mHhO3Z3/uo0kstgMBgMBsM8/Umw\\\\\\n\",\n       \"G+ezXdBnGWR8+9vfLj3305/+9Oy/0DAnGIFlWACQv1SDBv6aoJLnDEMc+K4jt0lljSastKWvrEgy\\\\\\n\",\n       \"Sw9eJSniU/LoQbFW+fisauWQqhVAWwZ9BfbCzcddQMfclP7Ar7j3m7T1tN/I5RmBRNCAcgbLetZB\\\\\\n\",\n       \"aS+E6gpEFVRXIEpAZmlCBIQJE20zM1FGYrEqzd2ZJ6dKEkXSAir3SZWWJJK0ZRTqOKnawvcObBUP\\\\\\n\",\n       \"eaVJqiISS5JSoWcdiiutwOKsq9QyWKkExHmYUmUlSSwsYx/qWRNa/YRnv5oP8NkH5UyV1GnRwfek\\\\\\n\",\n       \"f2g0K2O0/cjHUywmFQBh1VNO5WfXnPt/sPnUSpo4Lnrfi2yARdbAYUsRUVakptpdEstHxA5bX3P9\\\\\\n\",\n       \"a9VgMBgMBoPBcCDACCzDAgEGQdFukE6JysPCOhQQIHzIYynEMTJ3SJ4nSQ2cT0pVRQXh3NLmg2vJ\\\\\\n\",\n       \"68l7GWafHp3LAa26C0Ek6BnhpJIG6zqkWwd01495HDVHFlNlZhsdfM93aSRqUBJXu9coAxRYkqyA\\\\\\n\",\n       \"AktaHqVtEIorqLJ4HXZCvl9eT+2DvWNlVhaTWNPTYabEgpqpISxfIJ+k2kqTW7KfgCzQCjptP5Sk\\\\\\n\",\n       \"gm9gL8kqEFP4vkEElsyx8imwKkppFYkMrDT0ncmr0dE8ETUy0m8Z5HVNbqGvYL/uT5IQhWoKhFKR\\\\\\n\",\n       \"Sk+C23f07p9Qtb7drW879qk0MlHN9QmQmNzu8vq8D31NWgh1YDuIUD98hBDeMR2+7rMHDrNPq698\\\\\\n\",\n       \"x+BeipRa+gG0vbBIlaXJWn0NHwYRU0PK3QwGg8FgMCx4PBoWQsP+ByOwDAcYtOoK8BE8cp9v9CwJ\\\\\\n\",\n       \"Cn2NQQoanzVQEkryfKnc0uSZJkmkmkyqvcijwvJDkwW+WeG0Ncw3y1ye6Ipp22POp2U3/wdFjV20\\\\\\n\",\n       \"bMOPadfx53mtiBogE6C0krZCBLXLPKxeuHZKTEgySxJYXHiZt8NWmBJaHO6e1gHnYnHIfbstlVVS\\\\\\n\",\n       \"9aQJQ+zTOVdtTyaZJrIkcTpoYC+zt4KCEHeZgeULZ/cRWNI+2FvmKYZZocaqKyalmJwCYcUElsy5\\\\\\n\",\n       \"kuqrYUPcNZEl1XFyZkkfJJG5/O5vdbfvPPkC9x0I+Yd9ENZBOVGBvL7sXyCs9HGDZzCUhJHc5iOg\\\\\\n\",\n       \"fCSTJJV8iix5vO/aw6qlfMSVj8Aq+2vQ932mqjIYDAaDwTBLzMefD0ZgLXgYgWU4QAgqfUxRFpHP\\\\\\n\",\n       \"TuhTwejv8Skviuw1ZYPEsqKvVWRHpAGfxb/sMmdIFm0VlHYwWXTGUc+eR7TzpAscgcVYcvs3qXVK\\\\\\n\",\n       \"nsAaRAzA9gU1liStZLi2JLHw3SCrpMIH6yCvGP25XunMjEzm9JQ3RTepFXA4Qc5UqNV4Wik3lwws\\\\\\n\",\n       \"PXuiDmrHtvwMgnnLYNxHYDF5xcQV8q6YsAI5BaWVVF3pTCz0B0lg6f6irYRoi7LZL11NyYy0dkKT\\\\\\n\",\n       \"t/xPuj0Iaeakp3TD/XEtaSVEFhaugevpHDWdvyXfiZI787x7ch8NYffT1xqmlNkL9X0V3VvR/fnO\\\\\\n\",\n       \"SXbzr0f769JgMBgMBoPBMHsYgWVYYChTUkkMIgmKCCpt/fJdT6oitDWxKNQd20mpcKTqSg/6pOLC\\\\\\n\",\n       \"dz39vfJ5+iEH5YNIK5lXpEksqcYCecHnNh77ZOp8uUJhu0njP7+KdrzwrRTFaYD6MKSAzDqSM8Gh\\\\\\n\",\n       \"wCKmLYS4R9jHcI+wDUKFhbwuHMNILYUgi1iJFSoiyqfA6x2fP062MdoGx2n1XDJLAkuSWJLA0uor\\\\\\n\",\n       \"XzC7XO+VIIgpDJm86qmseJkthJLA0vt0HpZWYGkLIfqH7m+6T5b1CZdf9eBdVHv4frd9+pizKD5o\\\\\\n\",\n       \"iWsq2E35WlBdpeq6PIEFayruiYF1qeKSfXWwEku2tY8s8imxfOf5LKZF1r8iBZckuPR3+O7Xd9/J\\\\\\n\",\n       \"PJJTZh80GAwGg8Ewyz8zBsH+j2zBwwgswwIEyIBwlkot/GqGJcf4vksSFdpWOAhycAqpibYFyjwu\\\\\\n\",\n       \"uT3azV9unNerI515BRIH6hpNQMAqJomMIrUNjgnDcaqvfgKN3vK/VNm2gRY/civRMScVWghBIsnZ\\\\\\n\",\n       \"B93TCfugzMDS1kEQWGwHxDJvn5nJz0qI7dJaWK+n9yP38XmcjdVsVjMiK8rapJEta4WVbkccgzyz\\\\\\n\",\n       \"lsdCJs8tg6wsTWCBpJLqq6JZByWRVe0SX2z5hIqOCSppE2SSSiqtZAYWCCy9vYzA0hlY0kbYfULR\\\\\\n\",\n       \"P1JFnKiprA/Et/VmH2yfdYG7FxnwD0UVzkef17MbSish37MkTnW/A7nVawf5LheGZQ1oX/QJ5K1J\\\\\\n\",\n       \"wsrdmTpfzlQ4LHzEVGeW5+yudXC292owGAwGg+FAwGxGUGXXMCxsGIFlMAwNbdvzEWBym1ZRkWdW\\\\\\n\",\n       \"Qnme7/pzIcXKBon5/CafAgYkgiQYfLZBaR2TCixNYrnB/lkXEN3yv+5bR2/6JtHJeQJLklhY1hYv\\\\\\n\",\n       \"aSGE5UtaB0FYyNwrrDOZBdsgF6cMa/Tuk4krWNkYOB510WhwXSVUr0fU6QRZyDuUVLpIVZXOOCJh\\\\\\n\",\n       \"8ZNKrGHsq4MysKISAksrsGTWVYWCIHQzDKYB7D3LoGxTSWAhqB37JLElQ9y1GguqK20llJZBSWJJ\\\\\\n\",\n       \"gkmSmVKBRz/pEVj0+JTAAqmJ66LNXe1n5KVUYcnrQZHF91dkLez1WZ8iz4dhiKKyc7SS02f3K8vG\\\\\\n\",\n       \"8h2P9bLrGwwGg8FgMBgMjz6MwDIsUGAgNoj0me0x8rrykzz5WYln3TdQlIPJIhtZkY1nthk0eqDN\\\\\\n\",\n       \"M8sxKZMnsWSwtiS19ExykrSSCixJXkgCK3j804k++xfuDuLrr6Lopa/pIy/KbFk6xF0rsEBgMfGE\\\\\\n\",\n       \"bbgnWAZ1BpZUAUnLmrOlCfIKNjSuLyav0lkPmcTCz6i+camegRonFko6GiIDS5IXmrQqysDyzUTo\\\\\\n\",\n       \"y7/KE1g8wyCTVwhql8SULNy2aF+Zh6UJLB3wDjUf+oMmsGTfG8ZSClLJtf+WzdS846dpTa86jqpH\\\\\\n\",\n       \"Hklh1vYgsGAhlTZZ9DXkm+l+hb7pFF7iPvMkFr9DfK4kL8sw6J0te/f1ejJE0ceV3c+w9zCb59LH\\\\\\n\",\n       \"GClmMBgMBoNhD/2ZYH9mLHgYgWVYwND2vmHJK586igZcJxHWPKmkGhZa+aBzsOS9YZA82+/x3X+P\\\\\\n\",\n       \"uJIElbR+aSugVNhoxY22kknrmNu3eCXRcScT3flzCu6+hUan1lPtsJVqtrlkIHHBxBFmk9MzEILA\\\\\\n\",\n       \"wjp/P6yAfA/pTIPpJ+/jTy5sEZQzKGqii4H6Sck2thMm1GhUxEyDRQSGJpvQ96T9S1rOJJklZ7aU\\\\\\n\",\n       \"1wFAWIUl4e3SQogZB+XMg5x11SOvtBUQRJVWYOl9mviSfQLbfQQW2h+KP1a5DSYy0wO4/ae//R1q\\\\\\n\",\n       \"ZTK96pMvpJGJnupOtjsUVfge3tetxez7fTNdYp3PwX4QYiCyejNVyjYfVjVZNguhPEbuR/+Y7V9q\\\\\\n\",\n       \"Wlk1W+tg2TnJPKvPDAaDwWAwHCgIkrTM9RqGhQ0jsAwHOKTyqSi/qIwY08cVWQvbIhfHR0iQh5DS\\\\\\n\",\n       \"RNpsyCqQGCh6HWqdMDc7nyay8Ak1jSQrpLUM+3xKHG0faz/1Apq58+fuLuOffIsmVr8or76hpFcr\\\\\\n\",\n       \"CbMH2XLYy/zqUNCnwJJ5R1KBxbZAkFlMUkkCi9d5P4gVvj/ejnXfPt7marirSgupXg8dqZZvV5l5\\\\\\n\",\n       \"JT/RntJqqMlUX95RuBsElrQMypkHsa/igtq1FZDbEtv4E+3Oywhx9+2T/UMGvOs8NfQLbVlNS0Kh\\\\\\n\",\n       \"JEI6GbHnqisSb22vD+z8Uc8+OPn0p1MwkScx0aY+66ieXVC2LZRb7jYyFZZUcklFX5qLJvPIdD+Q\\\\\\n\",\n       \"62X5WMOSTZ0hguGp4Lt85w1jHfSRWaaqMhgMBoPBYDDsHRiBZVjg8BFKc7mWtglSiTrKZzXUhNUw\\\\\\n\",\n       \"xNTu/leCtjT1k1dsh5MB7jqTyJdfpLOvQF6AtIAyC4SFPj94+gU086m/dXdU/9+rqPqiF7jlsNOh\\\\\\n\",\n       \"oJNQkHDJZC4y8CjzliV8z6wcy0iMJAgpiQLqVJj2CN2sgVBdQXEDNQ4UVghmlzMpajshvtI3MyPW\\\\\\n\",\n       \"UX98q81mlJEdsr4lmMQIM9WTtBHKHC3yLBcpsLAsyUmpukJba9Iq6iqvmHyD6krmWvlIKrQpFFg+\\\\\\n\",\n       \"0qos4F0TWHHsKKi03YO0zYN2QgFb/rhlpQyqrw+Erh+EFFBrpkEzP/xeWkMHLaWJM0+jdjZrINpZ\\\\\\n\",\n       \"W2IlkK8mQ+K7wfAZeYvbKHpP0mB4/X753r3d+R0ahiDS+WryXP1ZZBMs+u75gJFcBoPBYDAY9sKf\\\\\\n\",\n       \"C6bAWvAwAsuwwDEbAqvIUjhoX9ExOrjdd7zvur5B6GwGvvJYH3nVG0hzaLdUk+QJhn4CSqqqMLiX\\\\\\n\",\n       \"JIZW8OSPT9JrnrKaHl5xCHU2bqCZa35E4c6tFPEJ0q8FOVXfowUUhExbCM9XV8ITUxKGlFRCalYC\\\\\\n\",\n       \"Z+lqZWoZJrWgvIEKR1rWoLJCHcg8LB+BxbcoA8fTWw2drS1dlgorX2YRb29lP8HYhrB/TWAlQ+Re\\\\\\n\",\n       \"BSWzEEKV1bMLcglDnmkwDWqXijpNSknSirdLkoqXpfKumMBKUluia6qEKnFGWDmmiJnGdr7tUalg\\\\\\n\",\n       \"lyS4/aPIkYfcAFM/+F5XFrfogqe772y1Oy6bituS2x6kE7c7CMfsUjlCi78aoe0IccdMhNiH25LK\\\\\\n\",\n       \"xShKc+RSFZ5sCxnk73svi9Y1ynKwdN8qgs+WONdsq2H/SjQCy2AwGAwGwxz/7DAYjMAyGHaXJJK2\\\\\\n\",\n       \"wKL9u6v6KiK2fPBlfOmBsiQ7eqRHOuNcPrsI6z5CQoZ2Yx/2F9nMJJHhyIswDahadP5TaesXv+gY\\\\\\n\",\n       \"gl1XXUWLnvzk3pRxrgqE8gaMgZyWzj268HAhJZ7JjWqVqu6LY6KRmEZHA8dvMHnB98XLyL3i07AP\\\\\\n\",\n       \"zyhtgzqcHhZCKHpgJ+xlN/ExsSPPkkRaxdrCPopltDWIBRAew1hFNXkVFpBWcrmahbUzoRPlVFew\\\\\\n\",\n       \"gGqSCseMjeUVWFqRVaTckqq8OGRyKpPF7co8nGCGsNydUpDy/UAmust+EEW083/+p3v4xBOeQHF9\\\\\\n\",\n       \"F8VxTCPjVWp3QseNsVUUxKW0h2KWSR0YL+2DuB2sg9xC/wH4ekxgpjNTahuhnIlUv6OyPdt7gQwq\\\\\\n\",\n       \"O7c9z9czGAwGg8FgMBjmD6bAMhwA2J1QdZwnLVw0QDE1F5vi7tyftiTpWeo0uSEDvVPFCHKIypRW\\\\\\n\",\n       \"RblITGpAYcOfIDmgzHHHVhKqVBOK2i0KGi0KWilxMfn4s1MCi4h2fPvbtOi00/JBVlKJ0/fYGduA\\\\\\n\",\n       \"T+H7Y3WWZJ2SuEJRrUYjUUy1KKTWSEzT0ymRwYQDAsVhNZNF2gt1LphUYIFDY0IjVeLwMtsJWQXG\\\\\\n\",\n       \"N4yQd1gFZXsgxB3FR3b44GtbPeNg0Ke6Yssgl2o16MszkwQk2pLX0c5YHx/Pk1cgsDThOTqaUExt\\\\\\n\",\n       \"CqhNYaPtKty1PwgrrnSZwC/bvkh9xRDyOLYRbv/e99NuUa3SxEknUrBjR/eGorhCYRRTNB5TsxFQ\\\\\\n\",\n       \"o5mqsXAZbs9ujWZdCm2LQHcpCOPL4tagzMLt8z4mr9pt2caRyszzvaNF7/MwmI9g9CJCbNjg9kEo\\\\\\n\",\n       \"y9QyGAwGg8FgSGEh7oZhYASW4QDBfAyghiGqyo4ZZFGcDbTKSpeiQOm0pOqrdDCviySwtI1QKmvw\\\\\\n\",\n       \"WRT0XYk7FIcdqnAIdyNLUs9kL+PHH0/ByAglMzO048fXUrJjR2oJY1ID5BWkLoMILLBKILNEyFVQ\\\\\\n\",\n       \"qVDQaVNYrVISxRSwAqwaURyzvYxVaPmZBXF5qG2kMgfrjDTzqGcnBOmB49IZ8jjYPaEkiUV7xQVE\\\\\\n\",\n       \"QJHtrAg+9ZUmsMKcCiu1i6bklQzbl+0nM8wkOamD2vEpSUwQX5VKhyphQhVqU9RpUcCqK0jXIINC\\\\\\n\",\n       \"ir5M4Uf4VBmBJX2cQUAz991HnW3b3K7x0051eVpdhrLVoqBWo4D7Ad+csx1yv08bFJdBV+tlmfW+\\\\\\n\",\n       \"GrMYokvyc4Jnk12uF0TPNsLUSppvy8HvpP/dpj1k8dvb+VcGg8FgMBgMQ/zJYBlYhgEwAstgmFcM\\\\\\n\",\n       \"IrDmYzDnsw3KoG9fLlJ+PSWvetlAGIz7Zg6UFkNNXmnbWbovcesRExhMXszUe9P/ZSVotWji9NNp\\\\\\n\",\n       \"x49+RMmuXTR14400ftxxPVJDBnhrIkMSV1IGJR9C+iAzrxeTWXG1SnGtRtVqTO1aGsDOOVCpeqp/\\\\\\n\",\n       \"Bjq5LEkLXsZX6riunoKHyQxWYoHQQB+QAe7SOoa8LK3M8UEr7EBYyQysXnB7EKTqK9mOkoCU9lBp\\\\\\n\",\n       \"E5Q5VyjSQshqrJ6SK6GJcaIoyNodHj2QVShY50+QVzL/TBJZvnYHwxiGtOOHP+runjz9dKJdu3qs\\\\\\n\",\n       \"K4gybvtOhyq1GoVxTFGc1j0IXOlQ5K/k58LXaQILqiteh6U0r9JLc7DSGQmL37+8yk5bB2djJyxD\\\\\\n\",\n       \"2e+NZVIZDAaDwWAwGPY/GIFlOICADKJgFpbB+YC87u7YGbVNzKe+wnKRMkeqc2I30NbkFIpU58ic\\\\\\n\",\n       \"K7kMIgNkBitvmMxw12Bb4sxUqrri0T8rYmTwFJdWiyZPPskRWIydP7qGxg86qD/IvchGqH1gMoEe\\\\\\n\",\n       \"KiwpG1OJ5GGlQmG1RosXjVEjsxPidF5GHhhfAvt4nXk4KLLkV0sljmuxbJ1JLD6n3Y6cMiefgSUt\\\\\\n\",\n       \"hPxT3FKzyRWRD1ppB4VXXnGF5TTMPOhTycllSUSVtS2Olf1gVu0O4gr2QUwVKW2EjLJ2F+zi9uuv\\\\\\n\",\n       \"7+6aOPoYIlZjoSFlu3MjiHaPxsa6BJQO65dfA4EY9smYLlhPGVBupVwcE1jcBm31vhdllun3WL/L\\\\\\n\",\n       \"yW5Y+IbpR3NFZy/YGw0Gg8FgMBwoMAuhYRgYgWUwDESZ9U9ahIrOJaWuwXlzJcp8QdE+Mquf0ALH\\\\\\n\",\n       \"I7kfnXsl7WRSsSMJrB7ZkdBILXHqm7DJqqtpCmAZm5rqKbCwrdGgiaOO6vq2tt98E60490nZrHSd\\\\\\n\",\n       \"4ZQ4DDyItBJykVPhyTTxjDzjvKSk1nSWs0pcpbDG9jIm9np1wmAOBplX0iYobwOcmyQ5IBJKzwsy\\\\\\n\",\n       \"noY/EfovZyeUy5J4KBr8azVP5CGw0mW2SaZ8TkpgFdk+fWq6fPv2Mq7yBFZCI9U2RUmbwqkG0fRU\\\\\\n\",\n       \"2u5cz1x53O788Gj7rP7dMghKEFeSwBpCedfYvoOamza5XbVVq8gJqzj/CuQVfxffJJglvkSrRUmn\\\\\\n\",\n       \"Q2EUUiWMXbunlr/e16Ct0QVhF+VbQsA/Mq8wKyEy1GAxLHv3/Dl1wTwpr4r6zSAia5j9BoPBYDAY\\\\\\n\",\n       \"DHsQZiE0DAEjsAwHGHYncF2fI4moQbMFFn3fXAeEWnlVRKJhW0+FpbOvwPvIAHMMzqWQSQqakI2U\\\\\\n\",\n       \"EhlMXhFVwjaFzjI4k470QVoxkcFFKXGiJKHRI46g6fvuo9bWbdT45S+ptmhRT30lE7Q1dAYWivT1\\\\\\n\",\n       \"4QGg7uF1XLfZTMky/hEcTSis8IP1ssFgGXQ1mOVhyQkSJeEhLYSSf8O+NDsrJamYLOFcrBSSzJJ2\\\\\\n\",\n       \"skGh19EQIf1p1lNaBanazteO0k4I8koWnXnF7d0LdU+oxnlX1KKwJdoZbc3tDwILiqwsm8oto3K0\\\\\\n\",\n       \"EkvOQNn36D276M6f/6y7edFxx6ZEKaYZ5Gvxw+H6YB/bHCqfXiceGaEgIhqpIWw/fVdwiyCmYBsE\\\\\\n\",\n       \"aYVPkFboar13ioP8ua1lgLt8FyV8yqu5TAZBJYHss8m80suz/b0yi6LBYDAYDAaDYf5hBJbhAMN8\\\\\\n\",\n       \"zBg4H9coQ5nNEd8bFhwrSQyZi5Qex0QKiAvwPVJx1SOleiImrbjKB3ineVejtQ7RrswyxqQF1Dco\\\\\\n\",\n       \"TC5IBVb2uejIIx2Bxdhx621UO/GEwVlIgJwCMJt1MOf7AwvHy3gYkYvktmfESci5WOPjFI7Usrrg\\\\\\n\",\n       \"LKNeDpb8SpBbUgjGtwjuTO9jpFazlJxoNnmmOk1YydkIBwW5+5Q9sq0rLu9KCtByM0Nm7S9tgTkL\\\\\\n\",\n       \"aDbzoLYQwkY6OZmSV3GUUKXdSHOnuC65zXfu7JGUaHu0tySwsB0kpQ5093b7vAJrx513dndNHnoo\\\\\\n\",\n       \"0fbtPYZOdl6+NogsfiAx82E0MkIjY2OUOMIvce+HDHHX0Vx8ObkPtw0FniQK6/VAhLn77LzIQ0Ob\\\\\\n\",\n       \"op/LfCxvRQxxzL7w35+m2jIYDAaDwTA8zEJoGAZGYBkMs7YFlg3Yhj0PKhrAZyeU2+RAWO8vC4rW\\\\\\n\",\n       \"Yd48UO8pruR4H6HdGIDr8G7kHcn1sdGEqnE7Ja8kkcHLUOLwJxNY0lqWqXImDl5KG7Kn2H7XXbTs\\\\\\n\",\n       \"kBU9gqGMzHCPH+YJLDwYWBkQWEyWSJ8cMzJgciCz4dnq2m2KXU5SjeLxWjeom29bh7oz+DFgIURO\\\\\\n\",\n       \"Ehd+NBnV5FpbLKfh4EyUVEXuFVRYUF91PESA7FtFBFacmz0ShCMeXVsGpZUQx3K7T0z0tjFhJQks\\\\\\n\",\n       \"XmbFVTgj2loTWLwuraOq3bt9AW0tCawi9RUqMmQCsE1TGze6TZXxcaryOVu35tu9N6uA/3uzEiQJ\\\\\\n\",\n       \"jXC7sxyLUrsn3g+IARk4Bd0ShK8OeAeZxWRYOgNlIto5mkWgu96n9/u2Bdl3ZL7HPUIyGTllMBgM\\\\\\n\",\n       \"BoNhD8AshIYhYASWwbBPYJAFUNoEg5L9OmunV1IBS2/mQW0ZlLZBKLSkvUxaz0BmxGwf4xR02Aah\\\\\\n\",\n       \"vMIntmkCK8tCqkaRIyCau3ZRfetWaj3yCMVyaj8EEA2jwAKBBcICDwd2QU4hx2QGsw8yxCoI0hrs\\\\\\n\",\n       \"JBQQK8tq3Xrj3QjsZsjb6tkE03X+Gp+CB+toL7YS9vKXAs9MhMMSWCkpwoRJGtjeIydl/JcO6Zck\\\\\\n\",\n       \"liSvNGmZLwlFrToF9Zk064rbFUQVlHbSOgrlnSSwkIGFHCxNYJWRlplscOeWh7vVMrlsGQX8PbAi\\\\\\n\",\n       \"ojNDNiUbBw0gZXVhSGEUURRWaWQk7ArDuKCucGkI+yAak3ZbFBBgbOFMkk6mwgoGvKPyXS5638t+\\\\\\n\",\n       \"HwwGg8FgMBgMhoUPI7AMhn0WvnB2bPepr3wD41BlIvUIDp13pXOS9LK0n1WrrLxKKKyzqiUjLzR5\\\\\\n\",\n       \"hVnoWKHDRRIZmI2u0aBFS5fSFt7PsxE+9BAtWbIkn49UBCmL4huE7Amh4TJVG1YyyGV4HV4/pfpx\\\\\\n\",\n       \"2VhJQrUJfui0LiHUAvgrNEmFS/Gl3XUU8YV1nMfERrOJEHF8v4/AkuocP4GF7C5NQqL99DYZyC8t\\\\\\n\",\n       \"or4crC6pxZlXcZuCndMUyLYFaQXCCvt4m253WAj5M52esVdJcvbJsjaPItqRqa8YE5MTqfIL18WD\\\\\\n\",\n       \"4lqSbSwgsFwmVo1cqHu9yplYaZuDC5XcGHhQ/d7k36uUKE4SVosVkcr6nZV9wPe+l9lKDQaDwWAw\\\\\\n\",\n       \"GPZzmALLMASMwDIY9itIEsOXdeUbHKf2QeQi+VQ40mambWW+GenGx4jCulDegKSCpYwJBSiwJIEF\\\\\\n\",\n       \"RRZIjXqdJkdqtCV7oh2bNtMSEA+zJbBAYvH1JeuGzCvMTAc/HKxkGZHWZSoyMoUvXRsZo3ii2iWn\\\\\\n\",\n       \"QFAgE1wGvEPkg2XmRcDJ8OUZ/BW8Tyt20lwstO9sLIRBt121kg7rkniU7etTWyGkXVoIubq4RO0G\\\\\\n\",\n       \"BbCKckG7SwJLt7u2ECIDTdY5iKchCayEFVicd8VPH4Y0xgvbtqXXlw+LWQhlmLvOxMJ3cWMlnISV\\\\\\n\",\n       \"0MT4eLdt5W1hFkLwnVw3yMvS+/CIKYGVvn+pwk4TVr5sLCjx5jpLqcFgMBgMBsP+A8vAMgwDI7AM\\\\\\n\",\n       \"hkfdKigtQkVZWNpKJBU4mrSKPOQW28t6IiWfwgrrPhUOiAwXH1VpUcSzDdbrqRKHCQyQVpiFDstF\\\\\\n\",\n       \"CiyQHM0mjTSbFHGuUadDO6emqLMtdrlESatVmtDjnpptf45pqvX7IWWIN0gN+MNgYYPNDEwFg8kr\\\\\\n\",\n       \"IamKaiM0Pj4mso16xIV2psGdKAksd68ZIQIyC+f1niRxRFTKqeiZLX2TBoRutrtebn1vpkHZljrz\\\\\\n\",\n       \"ShJYsp3Rtpq0TDOvEooa06ltkNtux45eG/KyJLCYWIJVFOQWiEvR5t0iLIUJtzmXAW0+5eo5PWqy\\\\\\n\",\n       \"WqWAySsEfvF34MFARmImSlgV+fuQsI8GiqK0zwVcpzGNVCsUBFHfDJPS9YhLQ50leTK8Z+nXFM8U\\\\\\n\",\n       \"2Z9lpgPay2YYBdnpmwl1PmYzNBgMBoPBYDAY9i0YgWU4AFE06NsT0MRTGYGlz/GdSwPWfQNiZF/l\\\\\\n\",\n       \"SSwUSXyA3JI5SlKtxdbBmDoUNjNSQhY986AumJkOhEcWqs1ZShOVCm3ja3CY+/QMTUQhJZ1OqZI4\\\\\\n\",\n       \"V0tJQkH2QJxn1A3twkyGIKkAEFaQU4GlkPIqJkcypimqVKhW5Z9LDubuERngv0BkwHaGqC2QGryM\\\\\\n\",\n       \"Y6X1sDfBYmpZ6+0rV9+gPTGTJNpLkpO6aGuoLjLvrEt2VRKKklZKXvlsojIDC2Qm2hrEppyFENbR\\\\\\n\",\n       \"ep06Wdsk7XaXrBymvbe3egqtiTCgZGqKAmSdSc8f2hWMUqayQtt2WUSuEL7nMHR9KKhUKK5ElFRD\\\\\\n\",\n       \"qlZTWyYIKrwr/Aioa/BkkrTqLafvXNq9yqy+g95rX9G1U/R2aEvqnoaFvBsMBoPBYHiU/oSwSZAX\\\\\\n\",\n       \"PIzAMswb7rnnHnrnO99J3/zmN2n9+vV02GGH0Ute8hJ6y1veQlUe/e1TgH1nT5NY2vY17Dky4yqv\\\\\\n\",\n       \"vPGHuMtj+5VZGFSDwNDrkuCQhFae2EioEncoZgIBSipdQGT41kFksTqLFTdQ5vBshEmHtmVPsaPV\\\\\\n\",\n       \"olrANFnv3zHfv0U5mq7VoqjV6tVWZhsMoLjKZhp0ANEBAksGh6fBRblldz1HYI1SGKYz1SFzHKQU\\\\\\n\",\n       \"kz1SgYXLcf2BQ0NukmvFLqnRQ08AlmYwlUGSjzKUH6KzYbLNJGElM7G66qsRbu82hXXRhiCskHUF\\\\\\n\",\n       \"kkpaSWUGlgrvT6DAmpnptm9bmCY7JW3taiRJaKewGI4w8cXfwZWQkWNMQHUlcpBEQTqHtkVDMFBJ\\\\\\n\",\n       \"kMlVqxS7ygupVotc24ID9ZGCmJGQC9+CfK8g9koJSd+7WfYuhyW/I8P+daazs/b0X3XS/mowGAwG\\\\\\n\",\n       \"g8EwPNx/SPf+d3e3MNfzDfs+jMAyzBtuvfVW6nQ69LGPfYwe85jH0M0330yvetWraNeuXfSXf/mX\\\\\\n\",\n       \"+3lNg0bZnVyaYew8g46RA9qwwDKobYPI3om76hEMrqXyRhIa0jrGBdYzrIeOdBI2QRAWbCWDbZAJ\\\\\\n\",\n       \"BblP5iQJAotJhna77QgMEalNOzsdGsuUMpLE8tWGpAHk08cz6Sx5MRMSCHviB+TvZ78cLGYMaSfU\\\\\\n\",\n       \"yeuZioeVWPEk521xJVW6mVbgu5jg0K40WAixD7nh4FJkVhaO5U/MYie+PncelqXqSrsnpRVUtrWc\\\\\\n\",\n       \"bRB5V1hG7hXWK0GL4ma915Ygq9gmCEKS9/G6bFu0O9ocZNb0NLUzmyDHqnM1dQSBheIjsdDGfD7o\\\\\\n\",\n       \"q1oQUJP7SKdDIVs92YqKaQJBUKJtYVdE/hUD9kX3BVmDcGVnM1qGrp5Gc9FoXC9STSf3waEqFVlo\\\\\\n\",\n       \"k1aL30NJ2UXZOt5b7JPvNjKzOnP8bZFWw9nCyCiDwWAwGAwGw74DI7AM84ZnPvOZrgDHHnss3Xbb\\\\\\n\",\n       \"bfSRj3xkARBYewI+lUXRfqm+8M1opkvvuHSGumLFjgz+1vFRKBW2klGbAiY05AyDMphdqnQkaaVV\\\\\\n\",\n       \"OkxktNuOeGD6gEsnCKgaBNTI/tdkOkkoyggsGqDKCdVwH3RAmJEl4cyMIzhcrhVIKrBCWpXDlSP9\\\\\\n\",\n       \"f2CS4tgpeyIWElYDGhnh2QNT259UWfGntBBKNxvWpRpL/icRCCp5e9JWCLILx6IN5bKeDU+3p1Re\\\\\\n\",\n       \"6eUe6ZVQJWxT1KhT0ChQ1EGBpbd5ZiVkpV2HS9be/GiSwJKlTG3HaHR6eytRSA1F17LtNGQiS84w\\\\\\n\",\n       \"KRlFHxvIFcUPjheD75uthGHorKOVCquweMbI3pwARe+MJhWhlON3kAPdh393OwXvfrCHiCrDgYir\\\\\\n\",\n       \"r76a3ve+99F1111HDz30EP3rv/4rXXLJJY/2bRkMBoPhQIVZCA1DwAgswx7Ftm3baOnSpQdILc/W\\\\\\n\",\n       \"jjhIcVWWg6XpG791MCWwgkLCQ1rRysitSpxQ1MkULCCt8CmXobiRlsGM6HD2MbaOsfIqU9Kwzgmk\\\\\\n\",\n       \"hiMksnyjmU6HKiHPCef/90zXjozFlloW/oyZwGg0HKHlMq2QhSRnMmSgAhh8DLx4vMzsTr1OIeck\\\\\\n\",\n       \"VWMaqaUB31ygvEFOkpzQEPUH0gpRTeBVpI0QRBeWyzgXX45ZWRkmE6ubf8WPTS0KWirnDBlmsmgL\\\\\\n\",\n       \"KYitrK25zdvNJnXa7R5Z6SGwtArL19Zpv+jZB7ktcL2uqY6Jz6ximbh050MCxxXhNmQZWAis4ofm\\\\\\n\",\n       \"+0VF8jLbT+OYwpEWVeKQWpVgIEkl1yVhzDlYKU/qI6rKiKyyd7/oN2R3foOM8DpQwero008/nX73\\\\\\n\",\n       \"d3+Xnve85z3at2MwGAyGAxw2C6FhGBiBZdhjuOOOO+hv/uZvBqqv6vW6K8B2tiTtdxjGyjPMNQaF\\\\\\n\",\n       \"O/sysHAO1nszD/LAmQfScrzuC/P2ERm8nlrQEorDTk9NpQO89TpmHRS5SEk2CyGrcRqCwACp4WgJ\\\\\\n\",\n       \"Jy9KCYpmJ+mSG4AmNWQtRerJYdICScIkFhMbcebxctlYvYCivJUMjBEUWbwNlZNVaG2iRq124lRY\\\\\\n\",\n       \"fCk403ApkFtQPrn7FwosfBU+0U7SQiiinnLAcZqQRHtpokq2p29GQpyHnDN3vzvrfrJKtjGso1yw\\\\\\n\",\n       \"P1tOsnZvZRbRVkZW8jLWJXHVLrEQdtObnIytt53tg4gnh+oOprw4SajGNtIsJN5dA+o6MIkAKgWN\\\\\\n\",\n       \"AeIy2xePsAWXVXeBe3S4E6X9VqqycDmuArx7KWcaeFRYruOLJyjq4QCoOknX7i7kdY3EOhDxq7/6\\\\\\n\",\n       \"q64YDAaDwWAw7C8wAsswEGvWrKH3vOc9pcfccsstdOKJJ3bXH3jgAWcn/M3f/E2Xg1WGdevW0eWX\\\\\\n\",\n       \"X36AtUQ4S2uQj7SSyVF6YJwus/oDoe0YXEt1iM7D6hEZvQysStSmOEmDt73h7JLQQOYVCCxWXu3a\\\\\\n\",\n       \"RZ3p6a4KRxJYIDWcKgdMTua3q7MFMCMpSAzVJZWHdZkAJgksJA+1YTFjEmvnzpTAQggV2CbIaMAw\\\\\\n\",\n       \"gfXj+0F4WMY0BdUqVeMKJSOxIy+4gJBiLhakFfgSKK70LIS4JLcJk2AgpJCHpXMoQXSBxAIhqWch\\\\\\n\",\n       \"lKQk1kFageRC3pXcXo3bFDSyttakJMhKtK9ue2xn22C9Tq1Op6uwk0USWGgbEFhoZ6nCQjuzLbDb\\\\\\n\",\n       \"46OI6tl1YnENEFjoK0xYhkxeckXKUDJUNMhJma7PlZIRlzzzYlyrEWewVyqx2wWCkuuLqygT+HXV\\\\\\n\",\n       \"WZIoxr5UwMfh/L6ZCKWNWNKu+n0vYDRztkO5bDAYDAaDwbAfwSyEhiFgBJZhIN7whjfQy1/+8tJj\\\\\\n\",\n       \"OO8KePDBB+npT386nXvuufR3f/d3A6+/du1auuyyy3IKrCOOOGIfbJngUfg+n+VoUI5O7zjYByXh\\\\\\n\",\n       \"oe2DRRa07oyFSZuCViYz4tE7JEfSNqiXM7uZU+KwjazT6RJWIK2kKge2sg6HZ2fSo067Q604yhEb\\\\\\n\",\n       \"0kQlCSwod0DrlYaBsyqHc5L43lARsJWBtOIH5+cB0QEbHZNX2Sx3USWiaiVx6hyQFVDiSAthL8i7\\\\\\n\",\n       \"N+khlFpSCCTJLnB5PmgCS7aZry21IktmZUnykp8lok5K7kl7qCy6rT3FWQZFvhkKyCyQTZK4ankI\\\\\\n\",\n       \"LFLTJkTtHinTYluesovKvDQos5ylkO2EWbh710IKOyRmL+RlsLxgnLJ64PoI45Cq1bgvY0wXWf9o\\\\\\n\",\n       \"H7SV++7cOzwov04TU3v794dhFkPDQlNLGwwGg2FfhVkIDcPACCzDQCxfvtyVYcDKKyavzjrrLPrU\\\\\\n\",\n       \"pz7lcmoGoVarubJvY28NIH3WQbm9yD7oU2CxhTDIkR2a4CgKAE+XmZzhmQczGQkXyI0kgSXJDZ2X\\\\\\n\",\n       \"VK+nmVeCwPCVrhInDKmWEVhMNDWpn8DykVjSSqbJK58Rky2FjtTgcHapxIF9jAvfP1gfSXhk5Fbs\\\\\\n\",\n       \"KimiajXKqW18xAbvQ71KF5tUWEml1iACSxIjZblXw+RipQRWQnHcobjZ6m9PX1tjm1DjgayUeVdl\\\\\\n\",\n       \"7d1SBBbaWOeeuTZOknRmyuwYtg+CWpF5Z33nZefyDIWuvVFhICexDDKzoJ+HYZzVEddZkKtDqZzT\\\\\\n\",\n       \"ZJZ871ICy0dE+2yFvne+aHlPomvg3AvfZdjXcWCqpQ0Gg8FgMOxLMALLMG9g8uppT3saHXXUUS73\\\\\\n\",\n       \"atOmTd19K1eutJouhQ5fR6rToMGqz4oY5iyEEJZIVYhv5jRfJlYcJRQgvL3psRHqAkvZzp1p9lW9\\\\\\n\",\n       \"7iyDIK/4sygDyxW2yGU/TJxj1FA2Qgn5pNJKxssVsQxCK0eOZIFUMZQ3ILD43jFlYC+8qFdBYCky\\\\\\n\",\n       \"oiscYfVV1FVYwXoJMoqrjC8DYkoGtUullZzNkNcRyeWzEOIWeiHh/XZBmc+kP3P2UHFOyCo7n7IK\\\\\\n\",\n       \"9kBpIeT2lVbS7NhWq9Vta9nuXOpCbdcUbVLURhIjnaTbyxthSA1WFgrLIIhLeR39xtSmptJAd1hC\\\\\\n\",\n       \"UZkICJOzEKJiuaKYwOJQ9zBx5JXvPQGviX4g1XHoNvwu+hVWsjf7oIkrGCnl9cwyaNjz2H/U0gaD\\\\\\n\",\n       \"wWDYL2EWQsMQMALLMG/4xje+4YLbuRx++OG5fY4wMMxi0OqDT7Uh9+UD3FMFSKoW0ZlX2j4oB+JS\\\\\\n\",\n       \"vcP2qa6lDLPLgeTwkViCAGm3WjmSCuSVtJL1qbCcYiykuN1JlVKdDk1FPRWWrg0Z4A7SIkszypmv\\\\\\n\",\n       \"QGx0+yOu4dQ1YVqTkm3gioBKh5f5mTj0CMqsjNgIooiqY1UX8M0h3UxQZW61rqUQcVsyA4uLtAxm\\\\\\n\",\n       \"rsQcyYi4Jrw64Fu0hRDthsBw34yDsAtKMsvNOOiyrxJnHwymMvUR1GZyWSqy5GdGarmMs0ajaxFt\\\\\\n\",\n       \"ivbW1lGQVk0V4C6D3DUmxOyDM1HozpXB7TI3C8tay+SILlhHQVqhPaV1FOsgs0ZHs9D/JsVxNZd1\\\\\\n\",\n       \"pd8d3Q4I5MdshFHEfUSS1C1PSHuRImsQJJEFTZr97hrmD/uHWtpgMBgM+yvMQmgYBkZgGeYNnJM1\\\\\\n\",\n       \"KCvLMFto9YXcps10eRUXAr+LiA9fHlbOUugkTVnmFY/EkX+l1/kTZEc20yBv7yRJbtY5X/6Rb/t0\\\\\\n\",\n       \"GNJYlndU7SS0nXPUC2oGw3SQVDoOm7JroqZaqqZY5eXICWRgwQ8GbxjYCd9zM7lXqbiMsDiKvXlI\\\\\\n\",\n       \"2rIpSQ60CQgtzFKYe8Ys0x7LRXlm0rJWlG3m2565IClKMnZNPieWZRHtLG2FSavl2lu2pSQp9eyD\\\\\\n\",\n       \"ksxqD1Jg8YyCnXQrHzuVqa9Az0iaRr4R+D4ZgR4kCYXItkL7SsugfnbZ3u0WVeJqn/0W9anfLdnO\\\\\\n\",\n       \"8l3sV1uGA95t/TtgMMwPdu7c6f7DCbj77rvphhtuoKVLl9KRRx5p1WwwGAwGg2GfgxFYBsM+i2EG\\\\\\n\",\n       \"rf25V/iEfVBn8fQRVZl6RFoNOf+KC00LcspHZBUEfnNIugzu9pEZ0lYoyYx6ENCSjIAa5TDwzEY4\\\\\\n\",\n       \"SIGls5C0lQxEl6QP+PvCVsspBANWFsgQK34WhHnj2SBhkqQHWxGjqGsvk6Ht0lYm8+JlGzBBhYws\\\\\\n\",\n       \"hrQP+iLkNHkls81ke2uFUFGQO9tEc22KZ5Ptin0yAyv7TLLcK01KyraVCizZDzpDKLBGkqT7D9V0\\\\\\n\",\n       \"GLj8Kx3Wrw10gSArczQRz2TY6VCAtkVYvybqZD9H/+d2HsW70ZvdU6sW9TvXy8CSNsKiPKy5/h4Y\\\\\\n\",\n       \"DMPj2muvdZmVAOyBL3vZy+jTn/60VaXBYDAY9i7MQmgYAkZgGQzzijLbj88yKAexRcdiuB7OYuDL\\\\\\n\",\n       \"+Vf9qhwMqOGQksQV8ze9GemI4rDTm3kQg3kd0o48LJmLlZFXPqJKz0inZ6Zzy0FAu8KQFvHscWwJ\\\\\\n\",\n       \"TBLaIQgsTQE4EkrMQsj/9l29bRt9buNGeqBedwTYkbUavXz5cnr+QQflNC38/Yyk06EK3z9XAioE\\\\\\n\",\n       \"WUhcSSC3QHyA1MgUPJWxCrWTsGsfQ5VpspD3MTHFj6Mtgnw5hLsPk4GFdkVbapugbmM45PRki5W4\\\\\\n\",\n       \"Q8T2QbSvVlnBPorCx2XLyfQ0tbIZB2WboujwdtnO0kKobYDy75clXCkZdoSpfRDEZZx9/ueWLfT1\\\\\\n\",\n       \"Rx6hu7MZ0k4eHaXLVq6ks8bGum0Nw57rU8hzQwWylxLtDtIKy/B+NhoUj7epWomomdUhdws+RLYz\\\\\\n\",\n       \"otN8Yft8rP999xHR0mqI2vDlXUktor5mkYUQ+yw760AGZ1aavd9gMBgM+5qN0GAogxFYBsNew2zU\\\\\\n\",\n       \"VEXnl+2T18irP3wKLB+51V2mDgVgYbRdsGidlUzNprOTSUtgp8Q2qGchxPKOjMBijLc7tFVIkXzm\\\\\\n\",\n       \"SdgFMRwfiyJ6yYoVdHStRmNBQN/fsYP+/P77acuqJlUOC+jVdyzv3o+rMWaKpAJHqHLe3/wOnT19\\\\\\n\",\n       \"PJ0/8fi8Qgk2QsdKJBQGaci3JozkLIS+dtBKHWSMF0GruFCwzWcxlDlN8t74ntlW12efk4o7bavj\\\\\\n\",\n       \"uhF9QFpFhymy/RPVT/RMglwZk5mdlNe3Zf1Apsgxrt+1iy5YsoTOGB+n0SCgz27aRK+86y767xNO\\\\\\n\",\n       \"oMMrFdc/0Nb8GWf3H5TZJZUiC+9D6NSNUa4dZNHb9DuY77k0h/cdJFQvH8x/nMFgMBgMBoPBsDBg\\\\\\n\",\n       \"BJbBMCcMO0AMhljXpej6vn3950tiQy7Ldb2t+8l0gkwe5yKXfevZtkTYyTSB1fF8SvIK27aHAR3K\\\\\\n\",\n       \"pBDfSaNBf3LP3dTodGg0DOmQSoUuWLqUzpicpGu3baN/2biRNtTrVA1DOm50lN5+9NF02sSEG97H\\\\\\n\",\n       \"Waj7pbUafWF8M33owvXUqhB1woRed/uKfAh49jyO1MiUN1dEP6C19D0a2/Ut+srYGJ1ffVzv2UUJ\\\\\\n\",\n       \"2m0KA1ZgRV5SShNLqHPexjydJqEYyMXKtbwnB0vb1GT7FhFl3WsEHQo4IF09T2E7i2T6JFuXdehr\\\\\\n\",\n       \"U01Y+o7nz13tNn1361b6wdattLXdokYnodXVGn1i1Sr37DuDgL7rae93HH00rTnyyG5b8+dbDj+c\\\\\\n\",\n       \"vrltG31v5056wUEHdb8DBBa3dR9B6+vvWJdtTUxeRblcK13n+p1i9AgsrbLS7/Ew773vt6Lst2WY\\\\\\n\",\n       \"/84c9jiDwWAwGAyGPQDfH7+7cw3DgoYRWAbDnBDu5nHDzjBWpsIIC48PgtRCKKOjMOCWSiCfAgu2\\\\\\n\",\n       \"M2qJAby0UoHgYeZFqVeQhSRJCp/iqsxatrnRoH/btIleMDpG542P0/I4pic/9rG0fnSU6vU6/fK+\\\\\\n\",\n       \"++h999xDS6tVeqTRoBeuXEnnLVlCM+023bZrFzWzMPGuviVJ6LqdO+mhQxuOvGK895T17vOy21d0\\\\\\n\",\n       \"NWv8/RGrizJb2RWj19Ha0Z+446aoSddO30XnT56aJzZEvYRRSNUqZ2HlZ6DTJJJvm1Rf6SB3jSJb\\\\\\n\",\n       \"aNG1ZZvi3mAj5AB6F9QPYkoTN1pxhuXMSupTVul8K71f94lNjQb966ZNdPUjjziS8sRDl9PxkxNU\\\\\\n\",\n       \"iSJ6Wqv3R8gnN22iv9uymV60ciWdm7X37aK95RtRz7LTJqPI7YPdUBJn/Iw8K2FOfcZ9Wm7z1EvE\\\\\\n\",\n       \"qrZMJVc2OYIksvD+cQZWGsxf9F6Hc8y/kpH18pqDrILSkGswGAwGg8Gw92GzEBqGgRFYBsM+D59K\\\\\\n\",\n       \"Q+ZjwUSHOPOeVUlbzbTSStufugQX/wuCwbxU3kCdIoKtu/s40DsjsHwzDvpIDV3umJqiK+69l1px\\\\\\n\",\n       \"TGcffQydt3One44XHHU0/fyUx3Zr4IEHHqCrv/MdevgXv6AfbNtGT1u6lJZXq3TU6Kj7UYOi53du\\\\\\n\",\n       \"uYWaHNwdBPSm5uG04+YW/U1GXjGJxTX2BqHE4hnqeHa6K5bdSmsP/kX3+9YFF9EbKk/tC2+XJFYQ\\\\\\n\",\n       \"dfoIo2EK/qOIqxHnA8MosHyzDOoi21oSmBxq3mcH1TMOor3VdraLSqJStu2w7X/71BS95557qBOG\\\\\\n\",\n       \"9JQTj6UnHnskLRkb7T7vE3/xANHUjFu+rRY5fdAPRXsfMzratQciuJ3xt+vX07JKhR4/MZH7vlDc\\\\\\n\",\n       \"W8gVjucSOVd9/VqozvidCAIOcS+w3qp3TGaWSSUWXzIF3luZZafJbQtvNxgMBoPBYDAY8JeywWDY\\\\\\n\",\n       \"J1EU7D7IMtRvG5RqEFl81jK3j6kCJjeQNC6L3obBfqfjwtD1LIDIM5LrHU+5e3qa/uLuu2li2TJ6\\\\\\n\",\n       \"9WteQ5MX9GbHWvXAA7nnW7VqFV36whfSYYcdRvdMT9Prb72V/nvTJtreanWvxxazDx9/PP3f44+n\\\\\\n\",\n       \"V65cSX/94IP02OvH6I9vXtm9zrpT1tNfrd7YJTiYMbriqPtp7VGCvJo6l9Z0zss/P4rYxkqvIqJQ\\\\\\n\",\n       \"t4eub4Yv08rXNlpxpdvb9329WfDUPmbIdNt6ni23D9tV9pVs26I2luq8u6an6Z133UUHLZqgNz7z\\\\\\n\",\n       \"qfTMU07IkVfVZosOysirHSMV+rVzz6LDD1rszuP2/opqb3zvZzdupKu2bqX3HnWU6wO6/7lmzoL7\\\\\\n\",\n       \"u88l+nBhP8/W+YraMqitob53MJ+Bpd/b3X/XDQaDwWAwGBYEknkqhgUNI7AMhj2CuQ40y7JxynJy\\\\\\n\",\n       \"xBkiZ6koj6eodAks34AepIfMC8rIK96nyQv574kmMVB2ttv07nvvpcUHH0y/87KX0fj4OE2PjdHD\\\\\\n\",\n       \"Bx3k7nfpI4/Q6NRU7vnCMKRXvvKV9JznPIcaRPTFDRvoT267jR5qNFJFThDQylqNjh0dpd9avpye\\\\\\n\",\n       \"tngxfWrjRvrd21fQ6wWJ9a6MxOL7u+Ix62ntCfd3963behatmT6rvy7g0Uc9JImrM1auhWGPyCrK\\\\\\n\",\n       \"n/JlJBURiqXtNIAskZlM+UDx9D67BJZsW0lqSfJK7EsEWSnbtmhd9gVuGyaerrjnHlq2aIJ+//wn\\\\\\n\",\n       \"0MRIra//rtg+1e3hGxaNO/vdH190Hv3W40+jepLQFzZsoD/O2hvX/+dNm+ifNm6k9x1zjMvH0vcg\\\\\\n\",\n       \"P11fLSOx+Fk9BK5r5xJSsYggluRW+Xvve+fltvn4bTEYDAaDwWDYtxB05qcYFjaMwDIY9vgrtide\\\\\\n\",\n       \"s7IA5+Lv81kHNdniBtkYvDO0GkUO9KG84vB2QV7J2eQkaeX7TxLe961HHqGtzSZd+qIXUa3WIzMe\\\\\\n\",\n       \"XHVYd/mUm26m5Rs2pra37vMEdMYZZ9Czn/McmubtQUA/2rat7ztBcDSyvCQmsS4TJNY7T1lPq379\\\\\\n\",\n       \"Z/SWzF7IWPfQybTm4cf2B5zroG9RJ474ywhCbS9jYJtuk7JZBwdlUoKgkpDqLH0vXdLLkZRCVeUL\\\\\\n\",\n       \"MJdtL/d5iMoiC6FsA6x/85FHHIn1iic/nmoV5WRPElq6c5qO3LKtu2njovFue59zzBH0grNPde0d\\\\\\n\",\n       \"iPbmcPd/3LCB3n3MMXTi2Fhp3+uuo59rxZl+funzZLJSvUc+i2Y5WVWkrtpTdsHy3wWDwWAwGAwG\\\\\\n\",\n       \"g2F/gGVgGQz7NeRAGAHufkJEq3Z84HwfJjZAxPSpc3rhPX3WMk0Q+EgD77Ykoa89/DCdeOKJtGTJ\\\\\\n\",\n       \"ktz9NJkNyHDs3Xe7MjU6StefeSb9KCC6++676bjjjqPDDz+cRqpV2tFo0KG1Gn1p40Y6fnSUjqhW\\\\\\n\",\n       \"HUlx3Y4d9LVHHqE3ZjPa8Xe/8vYV7gcQge5bq71nW3fn0bRm+/FEkwW2OlncBTM1k1JV6fpP67if\\\\\\n\",\n       \"POzVf34d1S7bz3eeT3ElvxPX7n6/U9kJC6G2EpZZCoX6qogYcvdeYN3jcPWvP/wwnXb4Slo8NpKr\\\\\\n\",\n       \"o0O27qSTH9xMo81eW/A5tWaL7t3yCN2xYQutXrmMjll2ENXiyJFg3N5f3riR/nnDBnrTkUfSIdUq\\\\\\n\",\n       \"bW42qUpEk2FIi6OotA/2kZNZe3bbVr4D3bfMJab1N7Jqb18/4C6dVrlWU+5JgslmGDQYDAaDwbCP\\\\\\n\",\n       \"Yz4sgGYhXPAwAstgWDDojZa1XWk4+5IgOWAXA3si16XVTOzX/+b47Og+e9nNu3bRgzMz9CvnnJO7\\\\\\n\",\n       \"l1X3/5LOuOGn7hh566PT03Te975H2089hb597730wx/+0M1OWK1WXVj76vFxFwZ/5QMP0BYmMsKQ\\\\\\n\",\n       \"jqzV6C1HHkkXL1mSu8dX376CPrZ6E20T5NWSRkRr7lpFtFSwR7oO5LMr610Q9NhDH4GUq2dBNIG8\\\\\\n\",\n       \"kl8pz5EEmLap6e1l35muqPv2tbPvOTMyB2o72aYSvnVsu3nnTtpQr9MLHnN0H3l15r0byAfevm3F\\\\\\n\",\n       \"Ivr65ofp6l/cTfVmi6pxRHHQoZMmJuiTDzzgiDG2oUq8csUKevXKld5YBO/fSPq5dR1lVlHZHmUY\\\\\\n\",\n       \"bB00O5/BYDAYDAaD+6uI/y94jgTUXM837PswAstg2O8xWL0xzGC7q9zSFkJAqI26ywI+FQ6262Pk\\\\\\n\",\n       \"cT/dsYMWTUzQUUcd1buXTofOvP767tPpp+XzLrj9FzR24YVddmD79u307//+77Rzepp+b8UK+v0V\\\\\\n\",\n       \"K1ytVMRcb7EL4e5d88Mn5MkrKLEuP/xeesPGavqsPCtdvU60axfR6GhaNm0m4sDxkRGisTGi8XGi\\\\\\n\",\n       \"2ohbn6lH1JwhShpE0QxRPEVUaxAFHNQ1w2qi1Ik3Ws8m/4MrMZvwrq3EXRrdTCvMeFjJPiOiSpWo\\\\\\n\",\n       \"Wk1VPpUK0ehItl4lisaIkhGiVo1opkYU1dpEMzNE9RminbuIpqfS9alpop07iKan08IzQfKzcwYZ\\\\\\n\",\n       \"l3qD2hye3um47LGmsA2ifULxj4ucI5MfadfMDD3joCV0dq1GwY4s1yxJ6JRfbipt7yc9sotmnvL4\\\\\\n\",\n       \"bnuv37aD/vJrVzuy8sMnneS+r5p9D7f5SPbp64OSQO3zZvqIPQB2whKlXRHxODs7ocFgMBgMBoPB\\\\\\n\",\n       \"YNAwAstgOIAgQ93nDBXsrQf7w6qAOcB9YmLC5RkByzZtpjEmTwrAR47U6/S071yd2/7sI45MF5qg\\\\\\n\",\n       \"U4px5Ulb6K9OTUkTxqJGSNurKWv0jpN+SdvqdXrVLQfTXMBkyiLad9DMyi4iengP/qPCJW8O7OFV\\\\\\n\",\n       \"ixYTcbm7lzc2CNzebCtcumuGHp5IZypclAW/c/8ZBoWKKz0xwb70jhkMBoPBYDAcKPD95+HuXMOw\\\\\\n\",\n       \"oGGprgbDHoGOMd+TGPwdUs3j4ZqGg5aS6CnXdhPthGd1y197dKaYvJoPOPLqjB559Sc3LKcffmm1\\\\\\n\",\n       \"+wR4Px9n2HfAWVgAz0pIWYbasPD2Up8fU26fJTSfW6Sk60FrFvcE9NQKBoPBYDAYDPumhXCuxbCw\\\\\\n\",\n       \"YQosg2FO0AlNs90/n0gK/wPDF2nkvUIyIERLbi9YzkfK5+HbNxFFNK3UVtMjqcpmEO4++iiaYvse\\\\\\n\",\n       \"scuvTj/84Y/oSUuW0KpatWvMisRckLz89ydupr8+rUdevfHGFfSa25c51cyf3r6cxqKQ3nXqhi6J\\\\\\n\",\n       \"Nb5kMb3u4ZNTiyD78bg4b16tt85qoEqVkkqF6s3QWQOdPbDpHHfdCfzYjcifclI/mZeO5QKXZl9e\\\\\\n\",\n       \"lg51Z+sgZsHjT9gJudR4uZJaC7nUKh0K3I02iGbqRA0uzfRzeia9WS5sK+T2aWLfNHUyC6GcbVAW\\\\\\n\",\n       \"vnXskzMU8udPduyg9e0WPUlkYI02mnT4IzsHtnddzFg4xfdKRONqxoKit01HgKULnhAxX2XL4xki\\\\\\n\",\n       \"MswH6bYtf+f25l9Zg77L/uIzGAwGg8FgMOzbMALLYJgTMBvZo+UX0sqKxBtfNQy65/GAOwgoADGg\\\\\\n\",\n       \"py+U0xyCAAiCbi3I4k4XNaQLbz92dJT+6/77adOmTbR8eaqA2rx8mZttkAPbfTXLTzo1Nko/Pucc\\\\\\n\",\n       \"SjIC4sc//jF99eEtdOKK5VSJ466VjXORsPz51Rvpo6ds7F7nTTevpNfdsYKYF2HLG9Nml99zOE2M\\\\\\n\",\n       \"jtLax9zjjvk/R99B46tW0ZrxJxJNTBBNThIddFD6yes8cyIvj49TMj5B23cGtGtXQMk00dT2XrQU\\\\\\n\",\n       \"F46T4jgt5oKYE8KyJLfkhHiSyEITYAZDl3slSCpHStXSiC4s8+1xTBeXcJxoZJKIucHx8YQWTSQU\\\\\\n\",\n       \"7MryrbZvJ9q2Lb3BHTuIHnkk/eR13r51a25fe2qKOs0mMe04I6yJvN7JluvZZysrjezzF5w99uBD\\\\\\n\",\n       \"9Genn0DLJ1PykR/04J3TNNJsF7b3TCWih8d7xsSfPbDBhfYfNTLS7UvoZ7K/YTsV9L9c5TK0/09O\\\\\\n\",\n       \"+cgzGmb7uK12B3xeSmgle1mpWYZH+/sNBoPBYDAc8LBZCA1DwCyEBsN++Qvum1etfCAqbU1Q+0jV\\\\\\n\",\n       \"T0p68RxrackN5kFUycG93BdFfcSBXNfkgiznLV5Mk5UKXXvttb2nCEO6/swzu0+kn5Dxk8ed2SWv\\\\\\n\",\n       \"eFa8a6+5hs5ctIiWVSre+/jCYzbRR0/p5S5ddvNK+v9uT4PecyRbGNKa+4+idQ+d3D12beU79P7k\\\\\\n\",\n       \"ez25ExgkEBtlid4FRKGv/qHWkQRkUY64vI68FvYPBalA0s+l5V1iH/LK+uquoO3l9nMXL3aqqR/e\\\\\\n\",\n       \"KWYMDAL6+WHLcu3bff7s0+3Pvpfb+wd33EtnL1pESyuVrsquiLzSy/I43Y+79YJnV/vk+wGiEfWO\\\\\\n\",\n       \"wigL4vfbBovead8xBoPBYDAYDAsLZiE0DAMjsAyGoTDXgWNnN3Jv8soq/3LJ2Spf3VfkcVjudHiA\\\\\\n\",\n       \"LsgN7VmT62KQ7yMvikgNaSWshCFdtGQJ/fSGG6jBMqQMDxxxOH3vvPNomiVFAqy84u28H7jvvvto\\\\\\n\",\n       \"4+bN9CtLl/aRKvg8cesojbTSb379zSvpD29f4b1HR85EEa3ZfBKteyQl0caSCp0dHdFP6oi6YDKN\\\\\\n\",\n       \"iQ1d33LdN8HdoOWua22Ic8rave8+mIgJxHPIookstY9JPl/dSbumrw34czQM6YKDDqIf330/NXgK\\\\\\n\",\n       \"xgwblkzQ9Ucd4pRWErzO23k/cMfGLbRx5y56xsEH99lSy/ogebbnZG1S5ubr+0H6bvA7ot+1omVd\\\\\\n\",\n       \"9+Xwzd85/DvvJ7DnoqwywsxgMBgMBoPBsO/ALIQGw9AYNs/Kd1yRrmQ2343B6eBzMWiWZXbqHjWI\\\\\\n\",\n       \"LyI3Mh9bgPVOh8Ik8RIHkuRoC/acP5mI+M8tW+g//+M/6HnPf35X4cMk1YOrDnOzEnKwO2djsb0Q\\\\\\n\",\n       \"yisG52f913/8Bx0+Okqn8myGBYqbMzdP0Ae/fwzdvmSaXnnHci/JASIOpMWaHWdQpTZGZ9eOpfOr\\\\\\n\",\n       \"q/NqNF0nQUidJMhNaCfrXyqnfPUv28wXtg8yi7+K9+nMcR+ppZVe+OT27SREka99peqoYB+IvkC0\\\\\\n\",\n       \"dZHSSe5HD7744IPp/23ZQl+67iZ64Tmnd9ubSaoNi8fdbIMc2M6ZV842KNRtu+oN+tK1N9GRoyN0\\\\\\n\",\n       \"yvi41yIYFfS9nHWQ71/2Z9mndduKZVd3HqWbrH+tktNtm51RsEzqXd+d34qy9aJtw1zLYDAYDAaD\\\\\\n\",\n       \"YQ/BZiE0DAEjsAyGeUVHDZ2HRdFAtchqhJEw4rFR0mN91iVNaOhlGS7O2UK5wbsveEmuc+hSterI\\\\\\n\",\n       \"q7DVcgQCl072GWd31hYEQyJ+gA6tVumPDz+cPvCzn1G1VqNnPetZ3ZkJmazadMgKb63t2rWL/ulz\\\\\\n\",\n       \"n6OZ7dvpLccdR3EQdL9PBrejPH7zBJ23OSW5fPsdoYHU8+z53tA4m2hsST4lXdZHVkedICU2kGMl\\\\\\n\",\n       \"iSusy4wr3369rQzcRDgWzeVrz6JrpyRYQJF+FrSp7znFPg6Aj9rtbjuDlJQkEto5EQQWt81htRq9\\\\\\n\",\n       \"5ogj6EP33ke1OKJLHndKd1ZBfpiHJ/wh/jtm6vSJq6+her1BbxXtjTbvtqNoW7kdxbU9Pwv3Y+67\\\\\\n\",\n       \"8lkRKqZJLbRzElJb1eVsrJz5d1PG3st3elhr8O7OYGjKKoPBYDAYDPsW5mMWQZuFcOHDCCzDAYzu\\\\\\n\",\n       \"lHuz3DeX7wOlo7dJfQrWB8E3oEWQe8fZnLjIQbYmNvQAHPuSOEwH9jx4lwN8Oc0dprPLyCsM8CUx\\\\\\n\",\n       \"1PbMAggyS2rKGE9esoSmOx366E9+Qls2b6YnP+UpdNxxx3XVORLNZpNuuukm+u53vkOd6Wl6y9FH\\\\\\n\",\n       \"0+G1Wvc75PdJO5smMfT+QD6Tfj65LomNbD2hsJAU1IShJrPkfqmSkyoskFS8T5NV2MfX5NvxEZW+\\\\\\n\",\n       \"73OtJZ4h90xFz54VJrDCdruvrkFaoRfL/XirePmp3N7tNn38zvtow/ZddMFJx9Hxhyyj0NPe9VaL\\\\\\n\",\n       \"fnLvg3TVz3/hZkB86zHH5NpbE1VY9t1bV7GFZ9XPp4lK9P+szzuicoj3yNfmnQ6/m2VZV8PY/eTv\\\\\\n\",\n       \"hFxP5oncGvTdRde0EHiDwWAwGAwGw56FEViGAxh7gqQa9H3BLAaHOgNH5+DoY/MlJbDy9iWdyeNT\\\\\\n\",\n       \"5bjPOPOqYSAvCawipQ6rcrJsJEkcSDWMJjXkTHC8/6KlS+ngSoU+s349fe5zn6OlS5bQ4846iw4+\\\\\\n\",\n       \"+GCqVCo0MzNDv/zlL+mnP/kJ1RsNOmPRInrFccc5BZf8rrBMeeMhNbDc98y+ZxfWSVkXbKbTahxf\\\\\\n\",\n       \"XettRRlVrlXVLIRye9H5vu/TNjbcZxyp/KeiZyyoC0lUymXZ5uiRksBCGzzz4INpebVK//DQQ3Tl\\\\\\n\",\n       \"1dfQsvExOufYI2n55BhVoohmmi26Z8sjdO3d91O91XYh/b971NG0gtV+qk31BAGyXXU+F8L6S59P\\\\\\n\",\n       \"tq9YTzJSuEw9J9tEt0e/PbDonS97932/F0W/KXsTZjk0GAwGg8Ewhz8j5vqnhP0psuBhBJbBsE9C\\\\\\n\",\n       \"D1qhuMDAV9qNpNKip8zQlqYi62CzmSpGuPAyMpKSMCOlMHiHEkWqVeQ+JhUaDaeYaiVJzkKoSQX5\\\\\\n\",\n       \"FLAW4kkfNzlJp09M0K1TU/TVLVvoO9/6FrWE74pnLLx4yRL6lYMPdkSGtKuBuPKRV5qwknYzdw0E\\\\\\n\",\n       \"TMlnks+sCQ6hzEnimDqdyNUf6tOvwPHnUvn2u/pQmWUQJ8ltUoE17PfhPitxREmU5K2TmsTR7Zyt\\\\\\n\",\n       \"c78IsxwsXa9oU01guWcQvZwf86ysvW+bmqKvbdlCX7/5Ntd/gEVxTM9cerAjNw/JiCvZ5mXFp7xz\\\\\\n\",\n       \"Ci2+b6kuk89e8LwJCKx2Sgzr9wbtiDYrav/8O63fb9SK753XvwvzBftLz2AwGAwGw6MPsxAahoER\\\\\\n\",\n       \"WAbDvAADy0H5Vz7LYJFdcFBouya4QBmkg95Op9/ShkG0Jqyk3Y0nAqxWQ0qigALkAWEgX6vhgF6R\\\\\\n\",\n       \"67y/2aS4Xu8m+1TU0Bw/OjpgG2SDS/IKAhfQffL4OLWThHa1285eOBZFbhY7JpuKZr+riAws2Mkq\\\\\\n\",\n       \"2TL24bO7zAwQ3z/PeDgykrfP8TPh2UF4iM+ESxbgLusXdQuyqMjGqS2HMv9KKrBcXYmuxdu5aWAp\\\\\\n\",\n       \"lPY1rIOsQvA7NxVcc+5emagMwrSd+fn4ZPmMjuWq9PbV6+k61xFfvF6nmC+aEU6wh6KtpeYQ6XCh\\\\\\n\",\n       \"2ubaLQjosePjrjB5tbPdpnrW3uNsS80eXKr6fKSlbNdQbEP7Y1+u/8q+q9clmcXtHMbU6gSuHrVV\\\\\\n\",\n       \"UBJaPuIQ2/PEFN4Sn8JqNr8Fssb1chEsB8tgMBgMBoPBsH/BCCyDYZ+AToXykVpyf1ngc3os5+0g\\\\\\n\",\n       \"A0srsCRZopUk6XJArTYrdLLAdq1GKhr4Z4RH1GhQlCRdBVakyCw9XGdCQmaWS6sZk1V8H4vFfj3z\\\\\\n\",\n       \"nU9dVWQjBImBfe6TGR/5LPwpn0s+uyY2KhVqtwNXZyCrZEE95+s3T2ppC5q0ngF65kGEuMsgd5BV\\\\\\n\",\n       \"mDTPBfJH+e/O31vgyLtQq5AyIjJH5PE66iV7CCa+ouwBQU6il4JO9RGXeCzQN4Hs+UFAB/E9qLbW\\\\\\n\",\n       \"Mwz6cq/keqVIgccVJclJH3ml1YYZkdvK2lm3pSSydIi/tBXyO1k8K6BPVVl2bFmWlsFgMBgMBsN+\\\\\\n\",\n       \"Bv47yf2tNMdrGBY0jMAyGB4V+GYZw2fZwFUX3znpAFfmIZXNfCcH3jkiiwmsqMA+qFU6Qn3FpEYw\\\\\\n\",\n       \"PU1xh+8hcSSFVOa0SvQmUOyA1CgbxuvMIxBWmsjKEVUesovtc7kZ6TSRUWYxy2xlrMrxkRiyjnWI\\\\\\n\",\n       \"uk+BJbOqpE2w79mDHmmlFViapOTbLboH195R4PKmvNZJvU0SlZlaK6zXqcOW0U6nLw8r9tAzmCtT\\\\\\n\",\n       \"K/AkkeVra197F5FXUnkn29+RdSArfe3sa/fuJAZMYBUTV0V2XWkrTAlJnyXQtz7M70DRW2QwGAwG\\\\\\n\",\n       \"g8Gwn8EysAxDwAgsg+FRtxxi6O7br5cltFIjnzyUDp6TnGKErU9cpCJIZiJJ1RB/jo5WKOEZ53hQ\\\\\\n\",\n       \"z7axmZneTjnQ1/saDQpnZqjSavVpxCpKPZUoZY00WJURWDq8WxJT2kLms5h1rWYgLvgZuDARh088\\\\\\n\",\n       \"I1sL9fPWaq5uqFKl1q4gV7+oR72uLWVaGaXJj9IelAWFM4nFn5hIUM5CKBVZfB/yGNxTHAeU1NJn\\\\\\n\",\n       \"C6CumprqETr87Ny2ICn52eGH42Vua67LRiNniJPqOtnOaDMQXfKcG5btpNuWTNPz71g+FIHF7flP\\\\\\n\",\n       \"j9lEj906Sk/cPJEnq5SFkIsjKtHOsq1lrpvex9bBbF9zul/FJt8hEFqyzXu2Qn4npYoSVJ7Ou/K9\\\\\\n\",\n       \"52W/BTpPywgsg8FgMBgMBsPChBFYBsNuQ+pIivZj8Bnt5vV9Qc96EBwW7OtQux1Ss9lTB4EgSYmL\\\\\\n\",\n       \"HsECUY0mXTrjMYWxUlyBCUEOEoO/gEkOfAGTGu22C/iO2+3ckDoRxEXgUeXIJ5Ecjhzaw2Dpm2FO\\\\\\n\",\n       \"Eli8XFVkBtadxQzKq7ExovHxlKxBDhaWsS63ZUqdJK5QoxnQTD19fFl3PhJD79OKHdlOIKhgI2Si\\\\\\n\",\n       \"CrZBPgaiKXk+CCscz82E7wVpxftxD7ycHhdQNWaiMmNf+BlliBc/O6Rh09O9ds8ekNs5arepkm2X\\\\\\n\",\n       \"SXBoF7R7RxFX6MU/WbaT3nru3TQTJ5SECb349hW5tmbomSY/u3oj/e0p62mkFdDHvn8Mnbt5Iqe+\\\\\\n\",\n       \"QnHEVhSlwe38LLKtufA6F51/Jj47YewlJYuIStmmaVtrskq+w/JTh7jPJteq6HdEkmWDjjUYDAaD\\\\\\n\",\n       \"wWDY+3B/P87xT5G9Nbe84dGDEVgGw5zJK6k18QW1Q3+iCa9+21/eROWzFflmJiNFBbS6pj228Ekb\\\\\\n\",\n       \"ocxj0kXnMzUaATU4BimKKdYDeiiWcEEQAyA8ajUKMs8UCCw5DJe1RYLYIDHU1ro0+bQyE8lnI/Rl\\\\\\n\",\n       \"Xmkbocu94vuUaiupMvIFfUsVVqVCSVTpy74qqletetMqLF8elo/AQgYWtvG5ABNSILJgK0Sou74n\\\\\\n\",\n       \"JlxSByQTnAlVIn6mdu8ZZai7b5kvnvWDgO2ibCGcmaEOL3vaUBJX0jaI7bcvmXbkFePjp6x3bfSS\\\\\\n\",\n       \"21fkrIaynf8+I68YfN4tS6bpqYrAkkosJq9cW6Nt0e4yoF+2u+jzbUdepeHt/sy4flshPnv2QamS\\\\\\n\",\n       \"RNHvsY/kkm+N/k0YRp2lf0+KvtP3phkMBoPBYDDsJcg/fOdyDcOChhFYBsOcoQksKiCsfARVUf6N\\\\\\n\",\n       \"jraGzkgfo8+Tqo6UKtA5V0WDbm1nw2A9imM3056zl/GAHpIeHuyDtQHpA/9URmY5ZU6j4cgNWQu6\\\\\\n\",\n       \"tiSxgRwlBMAX6UYkoSEtiL5g777CMxkye6PtZCggMnSYu9jGtrJOFFMz75wsrFtdz3K2Qkl8yMwy\\\\\\n\",\n       \"H6CwksQWAJUVjkOIOwgsKO+kKovX0yaMKaTMRojZJmW+GW6SFUu4WdQVtzUTWGwZzeyF+g3AslRn\\\\\\n\",\n       \"SW3Qy+5YTp0wof+bkVIfy0isl2YkliQsJXnFeOPNK+kP7ljebfu+2Sa5AoraWQa56/3cztUqdYKe\\\\\\n\",\n       \"+qqMrPSRlr3sK0leaeuvJpfKtvmOKVrXlsRBJJfBYDAYDAaDwbDvwjfVmcFgKIQvo2Y2KBpAFh3b\\\\\\n\",\n       \"bwssL3Jw3HZqGD2glpYnXdgGxw6xej09jpdbFFOCwb20XGFZ2+94eWKia8sKxscpjiJHJtQyC1+t\\\\\\n\",\n       \"pPD+kQHH1MQxlWwZ51ULrgX7IJeImRt1n93Cz8PPgX28Lp89I0KaVKF6I+irM17nZW0n9OVj6Rwl\\\\\\n\",\n       \"EEvDFNmevmv6zuHtfG98j7hXvveZmYDq9cC1dZ9dkpfRxlwnss1lyeqL1XqoZ7R5UbvgE8f9we0r\\\\\\n\",\n       \"6I9uXtl9A5jM+tzqjbl2/4fVG+mvBXn1pptX0utuX9HXh/DJfc93n9129tkJs+dOuNRqrl64nmT9\\\\\\n\",\n       \"Scuor541mcXvYl5fKC2DvnWfLbjst2LQ78ze/q0zGAwGg8FgGB5sH5yPMlt8+MMfpqOPPppGRkbo\\\\\\n\",\n       \"CU94Al1zzTWFx1555ZX0lKc8hQ466CBXLrrootLjDfMPU2AZDnBIu59v3+44qrXyygffd0qSSkZf\\\\\\n\",\n       \"azVFEXnVErbFdFuScA5Wx9mfuEB9AyUOBuRQ4vDgm9cx+VrqoAoooJBGQWRAIsTLUjLEJwP8Jbyd\\\\\\n\",\n       \"lS9JkiqkGg0K6vVcFhKyq7SpqsgoKTHIQojlbt5VRmYEo6OpyggklSQu+JlAbEh1liA8HKlRqVKz\\\\\\n\",\n       \"HjniRxIZWNaEEtcpCC4f2STJKDkDIayEDK5KLtpiiE8c062fIP1OWA+huOJjmNPhe5XL1WpAQS2m\\\\\\n\",\n       \"qBY4qx0soN0bw5dx3fAnpkDENIh8IVZi8fY4psrMjLsGPwpcjtxDO1mbYBnraOtX377Crf9VRlL9\\\\\\n\",\n       \"zSnr3frv376CPr56I31QkFd/lpFXUnUl2z1kiyh34snJHjEF8k0SWGh3SVZmy/Vm2G1nFBCURW2b\\\\\\n\",\n       \"zzxLw9v5XfS/s77cK/mu+xSWRW+HT3Xlw2z/utM2RI3dzecyGAwGg8FgEH9mzPXPiVme/8///M90\\\\\\n\",\n       \"2WWX0Uc/+lFHXn3wgx+kiy++mG677TZasSLNY5X49re/TS960Yvo3HPPdYTXe97zHnrGM55BP/vZ\\\\\\n\",\n       \"z2jVqlXWlHsBRmAZDKW/dMOQUbtzvB4QFqmy9ODVl12jFRp5JVZKYkW5jCVpKZRKEZ+FEDPVVasV\\\\\\n\",\n       \"CtlKKGchhLUMwd+MLMS9S3JkXjkmNkK2FPJyp5MLaJcElB6e+4bjMiBczkIoLYTY5sirIHCZV0xo\\\\\\n\",\n       \"uPvEJ8gK+akzsHQeFmciJRE1W4FXZVUU4K4tZ7r+dduAlBLuy26V5npKNhNhxhu5ayErC0QlgtsR\\\\\\n\",\n       \"4s5Fz0qYhrpzO0dp5pnMO+M6AZEFqyh/MR4MUyFmJGbAF+W2ZmZHMGzIvZIzUErNIB71/8tIqb/M\\\\\\n\",\n       \"yComsz6xehNt55D5DGtuXkl/nB2ns85Cbus4TolKEK9SZSWLz0oI62BUoWajl3Em1VVFVkKZb4Y2\\\\\\n\",\n       \"Tskr+W5KImrY99v3W+HbPuxfbrtLYs3HtQwGg8FgMBgefXzgAx+gV73qVfSKV7zCrTOR9d///d/0\\\\\\n\",\n       \"yU9+ktasWdN3/Oc+97nc+sc//nH60pe+RFdddRW99KUv3Wv3fSDDCCyD4VEDBrGR+Cw6rqj46B6p\\\\\\n\",\n       \"Z0pVWZ1O1DfohgJLzkjHY3dsg7KEx/RxHFJ7pEJBhbOwMobF+QvTvKPu6B3sCi9LSRAfw+onthLu\\\\\\n\",\n       \"3JnOnchqnQEKLP30gMxE0rMQgriSxAaTGSFsg1plA3KjiOQQpBbbyZJqzc06KG2CKL5tRVlJPvID\\\\\\n\",\n       \"giepwgJAZCEDC9tAdPEnZhUEgYXvgUCKqwD7oLTjZd7O67wcM8GVEVZMNHbJSSiwIBPDDUCBJdrZ\\\\\\n\",\n       \"tTVIxWaTQp6pULQx2kia53TP/qOMnHpPRmJJ8uotirzKtTXnm8E2iHbWiiuttpPtnJFaSaVG7bCa\\\\\\n\",\n       \"s4VCaSXbWxNZWlWXtg/eRdnTi97holIErdYyGAwGg8Fg2P/A2blc5noNxvbt23Pba7WaKxKNRoOu\\\\\\n\",\n       \"u+46Wrt2bXcb/x3JtsAf/OAHQ33f1NQUNZtNWrp06Zzu2zA8jMAyGHYbw1oMMcCEvihRr167O2tg\\\\\\n\",\n       \"b3iP4T40K6ADdGZOS+3Den5gzINtWNB8yhtpIWReCiRISl5lxEZMND42RmEl2wDLYGYT7DIomP6O\\\\\\n\",\n       \"l/kCvI6LZSqXcGaGwnqd4pmZnImqzEKoaxu1pK2EXSKDFV98D1JdA/ICqhu2loG84GUuID14GSRH\\\\\\n\",\n       \"lpvUjmvUbMe0axeyo9JPXwGZpTOxJOkhQ9+l8goklv43HK49GdAuLYWyKXTgu7QgotnAO6F9u83I\\\\\\n\",\n       \"FsDqaBp+DuJKXkC2Le+H55TX0c5ZpwoaDafEcjMUttvUSZIuleOjbWSbX3b7Cvro6k20TZBXixsR\\\\\\n\",\n       \"ven2Fd22ltbRnIJO2kC5zWXbIgdLZ52JjKxOXKXpKX87S6toUdaZLP09Gu+ufpd9FK5+57WSC78h\\\\\\n\",\n       \"Ej6CrAyzVW8ZDD386+030aLJ/TNS9eLDzni0b8FgMBgMwDB/sgxCdv4RRxyR2/z2t7+d3vGOd+S2\\\\\\n\",\n       \"bd68mdrtNh1yyCG57bx+6623DvV1f/Znf0aHHXaYI70MewdGYBkMs4bOqJKEkfwjHoNBOfOg3Cft\\\\\\n\",\n       \"hkXr8rqa2sE2n6KjJRKB2pQkbWq3Q2o2QzegZo6BOQiQVrCZwTGGfcjHSgkOztAKKQkiqvBBPPiH\\\\\\n\",\n       \"TAgsDMDLIhcp/bXpkRwBL2d2vIgVOu22m6kwYoJDWct0baJGSc1C2F2OIkdc8WeA+8SDSSWOtJZp\\\\\\n\",\n       \"m5lS5iSjoyl5lUQuuB1B3iCqUHwElVa0+exoELJJ9VURgQUOSXJLIJ7AFQJYB98IfhGqK0lOcknP\\\\\\n\",\n       \"SZ+PqtwJahSPZrIi1wiZbRAMJ1g3XBgkJqRgfM+wI3K7cA4aK7vabYqzttbpT7Kt/2r1xhx5xeD1\\\\\\n\",\n       \"D63eSH/GJBa3Mfcn/uTvkLNHgqjEMhNTktAqshRWq9RMYmrUwxxhJdtXF6m+k23L+XOpfVCrIiVt\\\\\\n\",\n       \"p2cmLMq4K7MZ6t8M/VujjwV8FPF8BFAYDAaDwWAwPHq4//77adGiRd11rb6aD1xxxRX0+c9/3uVi\\\\\\n\",\n       \"cR6WYe/ACCyDYd6yrSQJJcmrQccXLft0KUXHYJAsia78ersd9GUxSfuTDhhnPgDES4/cCiishhQ5\\\\\\n\",\n       \"K2EtDfr2EVjIRQLJ4X5tMpZEKnaY1MhYnYSzsRBDnyQuL4s/8bQSqFWXq5URJU5xFQQpOSbzm0Bg\\\\\\n\",\n       \"8T9cvqBumYGlrYPZTHRUG6E2xdRshX2Ehc8yCGWVnmlQW82k8gokFgoHf/vAOVUgq/g4flyQViCn\\\\\\n\",\n       \"pAIL3BIUd0VKvB5RCTthRCHvr3E9NFJJNuyiICVx42DKEMgl0+TR7tw2TDSxnTDrH6zG4sLoqPb+\\\\\\n\",\n       \"y9Ub6XIR2L6kEdHWjMx62ynrKQoDWnvPEb321tllksDSM0kWWEWdRbRSpVY7zBGV2jpYNJOkzjtL\\\\\\n\",\n       \"21C+j0UzDxZlXQ2yFGqyqey/LQedW3aewWAwGAwGw/5jIWTyShJYPixbtszFTmzYsCG3nddXruzN\\\\\\n\",\n       \"iu3DX/7lXzoC63/+53/otNNOm9M9G2YHI7AMhnkhr/TxNIswd6ip5GDXd64c+MJiqJOEoEeS60ws\\\\\\n\",\n       \"tRyBxeuNLJRahnlDMAMugJeRiQUCBJxQGMYUc9D32BglUFPpECYwK5D58CemcMP0eGBQsuAtZzVD\\\\\\n\",\n       \"+DsCwzPyyw21xT9ojrQCEyNvEEybDCFHUDevi9nlXNGqHKxnFkJHXo2MUKc2StM7eqorthDKWemm\\\\\\n\",\n       \"pnpEB+8HwYX9vtkH/QqsRORf+QiGICd4YjILhBeawfUUIXrThJY8Hk0FxR0AnrEzElE8OUJhq5W2\\\\\\n\",\n       \"NS6AzoILo51lJ8JFwYJyW2QP7Qgsbu9WyxUpO2Ml3hXHb3AkFbDuZytpze2H0BUnbKK1Jz/otr3l\\\\\\n\",\n       \"5IcoHB2lNRtW99paBrHrtpXtDrsgrKKirdtRjer1PHkl2xpFK7P6iS2efRBqSJl/pRVZPkJLbi/6\\\\\\n\",\n       \"zZDqqdnkX+3OH4ZGYhkMBoPBYNjDmA8R+CzOr1ardNZZZ7kA9ksuucRt63Q6bv21r31t4Xnvfe97\\\\\\n\",\n       \"6V3vehd97Wtfo7PPPnuON2yYLYzAMhgcJPmzJyDzrRBbjnnzSIW4S4uiVFFJYqqrVVIDWuxriYSg\\\\\\n\",\n       \"ZtdOmCRMXsVu4A3ugcf6UPCA9+n+QGS/ELCsgb/gcyc4DyuI0sBsqKxAXEg/IvyJIBeQGI6AKDnq\\\\\\n\",\n       \"B4Glp+Nj25muUhAmYHOg9AGZoQksEBtQZCH/CPt1TtL4eGodjGo0vSslrUBacMG6zLyS+UjSZqjz\\\\\\n\",\n       \"kXwZWGm9wnKGPuNDSmJ1OqGbXRJKLDlbIdpWTALpII/VvCMDx/E+VD9bCkdHximqxN3ZBbt1K5lO\\\\\\n\",\n       \"ZGKBlEQdozK4XsvZO3ft9xx2F735uB559e47j6E1W44hWhbQmq2HEN03QWuPvN3tW3vMXUQTk7Rm\\\\\\n\",\n       \"x+np90oLoZxlUIf3IwsNhCZnXlVHqBPXaOeulJAEUYl23rkzLbIP+EitVK3FRKS0DPI7KNc1eaXV\\\\\\n\",\n       \"lD77oC8fC78XEr5ZDvcU8D0Gg8FgMBgM+x8uu+wyetnLXuaIqHPOOYc++MEP0q5du7qzEvLMgqtW\\\\\\n\",\n       \"raJ169a59fe85z30tre9jf7xH/+Rjj76aFq/Pv2bdWJiwhXDnocRWAbDvKDIOohBqc7G8mVdFdmH\\\\\\n\",\n       \"ZAi8b6Arw951AQGWDn75fxXAGTDvAC4BHBPEMiCrYB/U5BZb9zgTa4Rn96uNUDCWTaEHQKUj5T/4\\\\\\n\",\n       \"EnjW+MvwKRkdMCcIguLZCiU7A0DtJQksKIFAYMFCJhVYUOFAmYPgb5F7lWSfLaq43DCpuEHRMw/6\\\\\\n\",\n       \"gtp9sw5iey8nickOLjoRqgxMRsJyF1KrxbbCLHMqc25KkRov4x4ABPtDEAe1llZjpZxkSJWwQpXR\\\\\\n\",\n       \"tG3dN8EeKsP70c5cQbKtQS5KL5702mUE1hUrbqO1h93d/e51vzyR1jzyGKKJ7EHCMCWrNo7Q2hU3\\\\\\n\",\n       \"umPWLv+pa6s1rSembYl21zMLSgWWJLRYScgW0SCmeiPsklc6vF1ybzrLTPJx+MxnXxVNUeCzFvrs\\\\\\n\",\n       \"wb4MrKLfDrmv+0Kq/qOvYzAYDAaDwfAoQ85ENJdrzAKXXnopbdq0yZFSTEadccYZ9NWvfrUb7H7f\\\\\\n\",\n       \"ffe5mQmBj3zkI272whe84AUDQ+INewZGYBkMc4YmpIqC233n6U+5LIPaJUGl94VqBsL+WQjl/lYr\\\\\\n\",\n       \"cYNsVtboEHdNZEh7IQ/mpTrLERvjFQrikKLRMfcPBgdq90m2GJLIgDoLXyyZHjABMmtJppQDkp2R\\\\\\n\",\n       \"rAtILBQogVBAUvEyrGTSVsbklVPpjFE7HqFGPfCSV5LE8mVh+fKRtPAo3ZaSV7320aRlUfoX+hyT\\\\\\n\",\n       \"krFTY6UcX+CdFJKBqkf1yZkpZYg7XIC5dmbhVY3Jyoii0ZQ4YxKzK/uSXyTbGmFbsl18oVHtNr1/\\\\\\n\",\n       \"8mZau+yW7veu23gardl5MtGkYuPimNY0ziHaMUprJ3/kjl078UOqtCfoDbWn5bPP5KyEyMQSQf3d\\\\\\n\",\n       \"tq5UqdmIcoQV2lgTk7JoJV36SEmmZPNZBKWaSge6+z6L9vl+L8p092W/Nb5+ZjAYDAaDwbB3EXCU\\\\\\n\",\n       \"6hz/JNmd89kuWGQZ5IB2iXvuuWd3b80wTzACy2DYLfiUVb5jZpOFJfNscN0iEgvLkuzg11mSIXKu\\\\\\n\",\n       \"PkluNaher3QVO+AZpJjJ3XW2Lme44wJhFGxmIyMhjY+NUYQAdUlSMQPAnyxr0VYyaSH0EVjSQuiq\\\\\\n\",\n       \"otMfEo6bwtSJMqyL70MTWHJ2Ol5nqS+WkYtUrVGnWqNdO3sKnB07ejlXsJOB3IDNDI8HtQ4eD4+I\\\\\\n\",\n       \"fT1FFhNB0u6lZ6LT/SJQbQobaUpYdjoBNRpxNyMfdsBeplbXjdnN0QJPiCpGqDxDVj8mH+T1iYnR\\\\\\n\",\n       \"9H+i5HSV3KaYspLJISxz3Upmj7f72rnRoLPDo2gs+SlNBS1at/OJtCZ5HNHSoL9DZmVNfCELtmkt\\\\\\n\",\n       \"XUVjVKGzJ1YTTRyUJ7Bk20rlXZaP5ZRXldFcppm0ikqbqLaMFmViNRpcmU2RfdVSVsJWgTWwyD7o\\\\\\n\",\n       \"6xO+/jGb35gimB3QYDAYDAaDwbDvwggsg2EozIaMKruGDlrX1sIi8opU0DvOx8x/er2l8rbEDIEU\\\\\\n\",\n       \"uewktp01m2mgO/MJmsCS5JYU2kAUxdtTMiatk9FajeLRiCJkU4EwghrHE+bdDYiSBJawDnaXfQos\\\\\\n\",\n       \"bR8U5EZuFkJZQGBIAivLTXJ5V/EINZOI6juCHJHB5BWvg4SCzUySVFqdowksqchi1VVKXoHM0Bay\\\\\\n\",\n       \"2RBYyE9jWyFXY+TISZCOmDwQQHXKtoTKDtWN80BmwYKYWhWJatUKVTjIH3WPh4UfERZO6bXUEjVp\\\\\\n\",\n       \"FW216PzOEvpKe4KupQfpDbUnEGG2Y+mHRHtny2uqv06V5iSdXTuGzh9/bEpayRkJdXg/7KTj49Su\\\\\\n\",\n       \"1KhFMU1PBV1CUhJVILDQ7ugHPitpT1CG4PZ2RlaBsGqXZGDhd0ESW9IyKDOvdPaVVlFpImxfSFM1\\\\\\n\",\n       \"GAwGg8Fg2DcthIb9D0ZgGQxDk1TSKjhovz7Wl42FT62+8lmDsA/FF+AuCS+dkSWzsHigzLYzHnDH\\\\\\n\",\n       \"OZsgXF56hkL3YxGng3eIoHQIeBhG1MEEdGOUBn7LoHXpVQSRgeWMxMgRGyLYu8u6FFkIJYHlsxGC\\\\\\n\",\n       \"0AKBpYK+k2qV2lGVGp3I5SDpmQX1bHQy90rGOhXNSAfFVeqKRN6VbyY6TT4UEVhQ/8n+k04KkJJV\\\\\\n\",\n       \"KcGVKuvSc6SjE02CakTuGfah2RioVqnES5KIkiofWKNoNFPe8QmQf8lOhLoHsSXtg4LA4hs/v3MK\\\\\\n\",\n       \"nd852d/WkrAU135D/Jzed6Jt0dYgKmERZaLSqa5SorLZivryrnQ7Y91nEZUlfQRNUhVlXPkUV77c\\\\\\n\",\n       \"K90PfHbCQVlYvt+psv1Fx/r22R+JBoPBYDAY5gcBR+jO8f/f5nq+Yd+HEVgGw7yorHT2FQgFQKut\\\\\\n\",\n       \"9Llyvy/jSg9cobCCGguDZJAckrwCcQXVTqoOabcrjkxJVVZBl7iQWUg8oHd3n6lyZOwRCA8QWoxa\\\\\\n\",\n       \"LSIaDSkcZ/IoDe0OpJ0QRANG/VBjMYkB8grEhpw+jwE5EEMzMSBMYG2TweE+BValQolT6aQ5SZ2o\\\\\\n\",\n       \"Qo1mSFNqlkEQUr5Qb7lP5mHpzKSU3EjJq2ZT5pH5MpB85ISEzjiTfaN3TqcTuVysNHQytRdCyARu\\\\\\n\",\n       \"CNwfILOzdNvCOsoFSq12OyQaq1BtJKaQ6ztMSaUAJBXqHJXB9S0T7THjpGx73JyvrRk6aV5bVrVl\\\\\\n\",\n       \"VCjuEnxWR5zycHom6FpAZdsycSmD3HUellbZpcuJ+0yD27XiykdUFhGYON+XeVVEWGkllkanZH0u\\\\\\n\",\n       \"BJQRWAaDwWAwGAyGvQsjsAyGOQEEUplqa7akGA9oI0VMSGIK15P7cC8Y+Mt7kllJcj3lC2ZmKn1E\\\\\\n\",\n       \"lM5CQlwROCWs6xn3mDPgAf/EREDV6ijFYzWqMHHAG5GNBNtgln3UZyHU9kEUDR3i7svA0gQWVFfu\\\\\\n\",\n       \"mBq1AlagBVQXhAUUN5K4QEYSbl+SW9gHnsaXgZUSPpKc8BFYchnt6UOo2jHOtanMZ6vXY2q1wpyC\\\\\\n\",\n       \"CkSU+4aOnDWvJ5DCcXJWPW5GNFtPlRakUVPVKlXHKhTzSiPrEJLl09ZBX9bZbNpaZp/J8H65jgws\\\\\\n\",\n       \"Jit5RsmwSq1OSI2dRDuz9uMi7aH8TJx3hlvn7bwf7c5WQ7SvJreSRFoGGyoDS5bmEAotrFOBSksQ\\\\\\n\",\n       \"fPNCNhkZZTAYDAaD4VGGWQgNQ8AILINhr2dhyUwrvawzsWTmFUgrfEpVVTBAgaVD3ZvdZVbSNJtp\\\\\\n\",\n       \"XhZUOm5PZi2TCiyp0mGOQLr8GCnZkV7AiWEqIbXjClVYlVVtpeocJIxLJQ5YMklgyYv7/OzSRijz\\\\\\n\",\n       \"r0BmeAgstgom1Rq1KaJWO6Q6k1f1NAdMk1QgJ2TulVRZSdIKJJ5U5qSPw5lI0jIo1Tk680jOQoh+\\\\\\n\",\n       \"4lNgyT6o89G0pZCrMc3HajRYkZVXYKFtIWSTWWcgsbBNTBiYE8px3pZryhYTWRHF8QhFcYVCKOOk\\\\\\n\",\n       \"3062Oy4gZ5vUVlHZ1tJCKAksqO+08i6zhnbCmJqdyD1/o9lTXUkCEnZRqaiT4exaWScJTlbV9XKv\\\\\\n\",\n       \"QFC1PSHuRSos+Z7rQHetshqUeTVf+VdmDTQYDAaDwbCXMR//n2Z/wix4GIFlMHh/OfdEDpbcJr/H\\\\\\n\",\n       \"l3mlc658tiGfOktaCmG/4+tEBZlYLUqS0JFOQZA4NRJcWoiW0llIDNgNpWCmZy3rLbeqAXVGYkpq\\\\\\n\",\n       \"McVx5HKyuFC7RQFIDElgSSuZnoVQQ4d7yxwskBpZDpYjrqIKdeKYOmGFmi0mdHpqGihxJImhrYEy\\\\\\n\",\n       \"+0oSWVpk1BMbJa7kyQ2fvQzqK20HS4YgsEBGxtm5aQ6WPFeGsbNVFLNPSpsg7KFytkkZ1g/rqGyK\\\\\\n\",\n       \"fnKLrx05G2nC7VzlDK6YgkqTAqijpNpOM2G+sH7d3mhfaR2VBFYcU+LWY+pUmLyqUItD+Zv5tpRk\\\\\\n\",\n       \"JOyCsj119pnPHtqzhspA/iLLYJmV0FeK3vuy7CvdZyz/ymAwGAwGg8GwsGAElsHQB5BHc83C0tcZ\\\\\\n\",\n       \"ZDeU19DKGmkVlNeXVqJIrGMZ3wdiA9eUsxIG1G5z+Hc6w1yqvuFt/bPYyZnqYCdEgaWQeQRYzmA7\\\\\\n\",\n       \"44F/pRJTtRrT6MQIhZ0WJRx4LVLOA1xEE1hFqhyfrSwjNRKpxuKAdp55MWEVTp6EkC43TVCxlUwq\\\\\\n\",\n       \"blipg2fR6ix9TWRetduS2IB1TNrEmiVKmjKAvJIkqO4feTVPux07SyErwjCboOSStGtTWg0lv4h1\\\\\\n\",\n       \"mccOdybav1oNqVarUbVao6jmar+nwGq3KZC5V8PYRSVRKQmsMMwIK6HA4skEwjglJ8UMkDKcXRKX\\\\\\n\",\n       \"UGNp5Z0vyJ+PTc9LMkIM5FWzYNZBaRWVhKUksjSxJS2Euj8M2z+oRLHl2zcbyOsYDAaDwWAwzA+C\\\\\\n\",\n       \"JHFlrtcwLGwYgWUwzBm9zKHy/XoWOQxEoY6SBASuJQeKMucI5JQ8D6RUIBQ9gAyUB/D9KcmWJKzA\\\\\\n\",\n       \"qlAUpTPZwVomSQ6GjC/i7Ty4Hx9P1zHRnFS3IIoIzr40yz2iKIyoUqlQPDlKISV8Bz011jAKLFdN\\\\\\n\",\n       \"/QQWExp8tTZb29oBNWdSi6CcFVASU7D/ScWVJLekvbCI+JL7eJktg2mgd8NDZHSGDHAvg8w1S+2f\\\\\\n\",\n       \"vf7AP+upbbDX11KFVsoTseIu7Q+6iiVnCGIKbf//t3cmwHJU1Rs/My8LIGFfAwmEyCoQlpgIQgES\\\\\\n\",\n       \"CUhRogiUIoTFKBYgEFRWBZQiKIthk01ZSqVARFAWkR1kE9ksQQOyRCgxAVwg4N+85E3/69zOee+8\\\\\\n\",\n       \"k3O7e5b3Zvt+VZPXe9/uczMz/c13zu1dWoed1+ka6bydDPY4IGAN6EkjR5aXvkbQiFEJ9ZSWxjom\\\\\\n\",\n       \"YEUv2XFgsbOOR14kTmMs0eJFqfC6pG+g1Jr0UZn34jUgTA2OtQhY+jUggrJ4pePbqwQs+eu9tHCl\\\\\\n\",\n       \"57VbS/8f1S+JZ6wulida5fUliFEAAAAAaAFQAwsUAAIWADVRNJXQ1syy6YGxbUiJUzZtkEx6oT6e\\\\\\n\",\n       \"LeSu6yuREbjI1MfiB/IS9faOWCpolPq1gjCnRqOTgu+iPYgzSxcEF5eOiCGS7cXLR45Mjz1qVJqy\\\\\\n\",\n       \"2FNOqMyv0igq96TXVR7Bzqv0fpSdW10J2WYlChlxpTJVknKqfyzuCWJGXyUVM3T5JV1L3BsxUEQO\\\\\\n\",\n       \"mbbF2PV2NpVwoOaVdtN4ooWejgkUWsSw/YNUkX+JYdnpUzqdUI5TDml+7MLq7U3X6+L9WkOy6aEc\\\\\\n\",\n       \"S60tSpxF0BKh0wpZHOs0gzCNOcd6xAjekahcGpnGuadCpdCOeKzDtXCfWyrWVUolqizm0RbTWEt8\\\\\\n\",\n       \"pR1pfaoB0TImQOp46ppX8dRRTg1lgTLmsNLuqyWRWmfabeWlBcbSCXUfoYy0QSuC5qUWavDLJQAA\\\\\\n\",\n       \"AAAAaE0gYAFQNdXWwSKzfVLwGGQcVl6dLF3zyqaQJeqBWacXaveOpBfKcdN6WCxyiGAlIoeIWVrY\\\\\\n\",\n       \"EDFDixoyL7W6RdjSZZCk1vZACSOul8QjF6aFxuWly1xZ5DySYSjuIRGtRFwTUU3cN54TS4tUnoCl\\\\\\n\",\n       \"i7bLtBZG/ve/NGWQUweXTSHTgoVM2zQxPeqcFRu0aOnVV5MaZ7pfaQGj7KzrCYX7B+pjpceS+yn1\\\\\\n\",\n       \"sHScRRiSfThuco91KqkWK9l9pwcJTI1ypaViVjo6ovSrsjJWWXR5LJ1paOOsYy3xsQKWHSBRi5OS\\\\\\n\",\n       \"Qmj7hQhX6TKpaxZzV+XFPZY2aAUr+3/eK+Qee++w23jOrLxjAAAAAAAMI42oUoCvMB0PBCwAXEQY\\\\\\n\",\n       \"Kle5T9b2nphl0wi9lMKyKrouf7UYIcfWbhtxViURgUOLGtKOgU8MfkD/739HhtpYOs1MXC6SSsbz\\\\\\n\",\n       \"LEzIw75OJZO0QRYEONVMC1bLlC1SWYCyLlzFUhFLT2thRddrKiJs8EunlolYZYUp2U6cVTbtLK1z\\\\\\n\",\n       \"Jfsn4ZU6cvjVa4SLXhVb68ixaYRFBSydjiriZI/qOxJf2VY7umRbvgZ2Yw04sfiapDi/TiG0cedp\\\\\\n\",\n       \"3k7um9TAktguHQQw3KfBQuXA4IFeCTMRKr1Y62ldd02nPNqBDiWWEjudTmhjq4VLu27AiZWYNMFe\\\\\\n\",\n       \"Na3rX3mClhYqvWVazPRcWFkpgzJNQ5w+WLT+FgAAAABAdaAGFigCBCwAakI/xHlOqiRH3LIF3rOQ\\\\\\n\",\n       \"bb0UQnFX6RpbInJJO7T7SgStxeZYts381sCOk1FhLi3yPpAupl1X4sThF0+L60oELX6lRdwH0spk\\\\\\n\",\n       \"wEDtzJGRDUXQsG4cEbJCS5PBooZXfFxefG5dxymWZqYdOuLS0etkXruy0mLtfUq8EjHDppNZIUNi\\\\\\n\",\n       \"FxMoJB46Jroof7gjTtqg1MDS4ocIWxJzEbnSOHOtLk4nrFTS1EuOj3bUebGVuMr9kdpmIlTyS4Qt\\\\\\n\",\n       \"iTMLXOK4kpcWsPJinfbDgbaJgCrzIlZJu3W6qP1rY2vFyWVdefx/IVGCla155cXeSx21o0/alNJY\\\\\\n\",\n       \"CqEWmpIqf7qMubq8ffOODwAAAAAAQPOAgAWGhEWLFtHUqVPpj3/8Iz377LO0zTbbtOmdzkr189bZ\\\\\\n\",\n       \"9EE9rYUGL6VQz9t1ts6VFbZ00XebUqhrXpGzTudsDXadcSphmlKY1ljSKYTikBFRwaaZiTuLXzIt\\\\\\n\",\n       \"ooGIHEsHDewXMkTAUoPMDRIzYqllWsiwIyTKOUXAirmxRJTyBCxd50pEjyVLuCh6QpWKN9KgFa1s\\\\\\n\",\n       \"yph23XiChe0HGu3Mk/6hp0W09IQwvc1AH0vvF8eZhco0/gPphYNjax1QIm6Jc0tia2Otp7VwJcJl\\\\\\n\",\n       \"LFV0oC8OHqRSYixtkBhrx5iufWbrYelYSmx1zasB5xbHmWteJQXSBm2ctcvOClVaaIr1A5s66MUx\\\\\\n\",\n       \"lnJoY2/7lNe/8sQxAAAAAIAhInxtqfP7Br6udDwQsMCQ8M1vfpPGjh0bBKz2RYsB1exDOaIXOUKW\\\\\\n\",\n       \"Tln0BCmd6mcLuOti7frctnC8LeQuWNVgcCoip5ixUMMuLCYUSF8qbIhwIM4XSSEU5xPPy0h1uhaS\\\\\\n\",\n       \"roFlBpXrx7py3LsZcWBpAcuKWdqBJamAukaWTOtUsoF1Sf90OspgJZI6tiSjiLsWMWwamO4jOu1P\\\\\\n\",\n       \"o2uWaeeViJEieGjB0xNEhHSei6GnIxSmcU7FoIHUQnHPpX1g8EiUElsRsySWVrTS09aBlSdWSpuk\\\\\\n\",\n       \"7zF20EpbA8vG1hMrvfTCVPBKwnRalF+n/ekUwr6IcCnrbIqoFbesiKkFKb1+IE6Dt42l9OV9eyuS\\\\\\n\",\n       \"XmiptygFAAAAAEAGGIUQFAACFmg4v/nNb+juu++mm2++OUx3NtUIVraulogWWpDQdZBkZLnYNtqB\\\\\\n\",\n       \"Jdg0Rd22ckT4kG35HCPVvLz4bWJEEAg++GBEfzoYixUiUkndK50mKPWtWCCQtEF+Sf0jcV+JUCWO\\\\\\n\",\n       \"LFu8Pc+BJaJVuLJkwImj62GJkKFFDitgWZeOTUHj60gFlIpT5yrLlSNx1m6cSoaAZdPFdB/Sdc8k\\\\\\n\",\n       \"njLaoBZFtdApf6VNklIqL51ymI5S+H//N4p6e8shJiJeyciC8teLrdTG0uKkjbuOvcTW1sDy0AX7\\\\\\n\",\n       \"tXApcZXYSux13PNiK2KWrn2Wuvq0YOVNa6FKUjRtP5BldnRKm14Yc+KRs94Tr6zgmZWOuszdxU+W\\\\\\n\",\n       \"AAAAAACg5YGABRrKggULaObMmXTrrbfSCius0KV3N0/Usttox1WWEKZTCbUzg5waWHIs25YlZn6E\\\\\\n\",\n       \"cf7YEQ8Ht5fTqPr6yvS//6X1u0aMKA0qpq3T9cSZI6KHuK5YHBDRSotZti6SiFiCuLG8wt76r26P\\\\\\n\",\n       \"Hh1PCxwyrYULnXKmhY50Oh15LnVdafeNdVmJwKELctt0spgQ4QkX5AhWernuN1aw0vuJQKmFSy8d\\\\\\n\",\n       \"bUAQrVRGhJEKuTaWFYp0bCU91DqwtEApIpYWKXXaoBUr9bR2XNmRCG0hd3Fk6djr+Oa5sdhhxyNK\\\\\\n\",\n       \"ViperLXzyhMrbV/IEqysK8sTr2ztKg/tzPT+38b2gb8eAAAAAC2G/NZf7zFARwMBCzQMFjcOPfRQ\\\\\\n\",\n       \"OvLII2ny5Mk0b968wvWy+CW89957LRYVLewU3SapIo1Qb58407LeihKxeRHFtCPD1uUqZaQTZhel\\\\\\n\",\n       \"Z0EjdV9xulmaZsZICqGukyQOHql/pYu3819Z5qWS2fRBPa8dV9qVI0KGLeSuxQy9TJw2Mi0CiMxz\\\\\\n\",\n       \"Ghm/WNjw08ViooVOEdSilexDBWpgDb7vy4oOuo9o8UqOLbG0Li4tZuk+qPuR3NM01mltrPQl95nj\\\\\\n\",\n       \"odM19eiFWsDSwpUVKiV91ApYXqz1vJc6quOri7nblEKbKjrgxGORkmOthUfPZRWLd5aoFROvbLpg\\\\\\n\",\n       \"bF6/pC94AqRd5+GL09lA8AIAAADA0IJRCEERIGCBXE466ST63ve+l7nNX/7yl5A2uHDhQjr55JOr\\\\\\n\",\n       \"uquzZ8+mM888s4UjocWAWtMItciQmJED7bbWOaPTBPW0XaddGCNU+qE+jwgXul12XtIGBXk4HzUo\\\\\\n\",\n       \"1XDxYnbo9ASxQUYnXLyYXVmD6yLZmlfivrEuLBE0wp1cKmhk1cAS4UqmRdjQhb21M0yKuGt3ljis\\\\\\n\",\n       \"Bhd4ZxFDxCweYVCEB0kR8wp2Fy3mHXNcWcGiCNq9J/1TT+tYSj/R/VD3N+vA0m6/kbRkCaeQloMj\\\\\\n\",\n       \"ayC2pWUKtUsKoQhUOr1Qu+u0A0uW67jHEMFK4m5TRbU4qeuz2ZpYA+mFPLpgKlayeLWsUNXnpIta\\\\\\n\",\n       \"Ecs6tWIvfV+tEy8mZFbj1JN4hv8R+n9KTj/K62/6PQkAAAAAAIDmAQEL5HLCCScEZ1UWG220Ed1/\\\\\\n\",\n       \"//30+OOP02guiKRgN9ZBBx1E1113nbsvC16zZs0a5MAaN25cB0RG3FClKrYtRx5GrUtKpxCWHBeO\\\\\\n\",\n       \"PCRrRw5FXBuSdtij3hK0Y6hHFQcftXR6ydJ6WZxexjWTWNAq9burRLiQeevEsY4c68DS9ZC0K0eL\\\\\\n\",\n       \"FzqdLFyhKeKu53VBd+uysumP6XacQpblsNHiha1x5K3LEydEPNGxyUL3K4mNFbBkWmIsta7Kah8d\\\\\\n\",\n       \"W+kv0g/klbYtHZEyjXe5XO6PK99PiRv/15fYch9gp1NMwLJ1r2zaqIhZ2m2n4+wV79cClpdGqIXL\\\\\\n\",\n       \"gdTShJLEFmSvKPEqJk6KO0vHWY84qFNJtfuqklEHLUvM8vpFTMjyQOogAAAAAFoYFHEHBYCABXJZ\\\\\\n\",\n       \"c801wyuPiy66iM4666z++TfffJOmT59ON954I02dOjW6HwteVvRqPfJcVkW28VIHBZt+GFtvU4V0\\\\\\n\",\n       \"HSQRm7z0Qe2gWOKkEGqrUyx9URDRY6ANaVoZ10viUQtTl87IkakbSzuyPPFKj0Ko08psAXeeF7Gq\\\\\\n\",\n       \"/045Apakk+mUQk/AEtdVOp2mj7FwVamwoOGJUiJI2BRCnXLmOa9iBbiz3Fd5jhdd+0pES+3w09M6\\\\\\n\",\n       \"bdTGUm8jx9CiiHZxpe3kVGEZrVD+9vSk4iXfX4kp329v5EGOqU4btQLWoKs0MdcpozpdVOazRKwB\\\\\\n\",\n       \"IYtjLSKl1LrSBdi1mOUV5dfTNvZazLJilRWytHiVlS5o4+S9P8T2yaJo6iDSBwEAAAAwDEDAAgWA\\\\\\n\",\n       \"gAUaxvjx4wfNr7jiiuHvxIkTaf3112/zO11UwCq6XgtPVtjSqWFZx9MphPJXnDfWtWWPs0T997fr\\\\\\n\",\n       \"YgKWdgppp1YqlnDR79SRlSyTaibFvCWtLObE0YIWkzcKoRWwPPeVVwsr3Y7bOeDCWVaMiLmqPAdW\\\\\\n\",\n       \"TLyKiVhkhAydplUkZUv3JV3/zNbAkuUy8qAnhFgBSwsWfa5bi91Y7MRKnWvlfmGS73m5nIpZuuaZ\\\\\\n\",\n       \"57bTsa821lqwijnvdLqoTg1N65npuGhxUqcIWhHTSw/NShe0fSPPgVc07jE3pVBpoIgFAQsAAAAA\\\\\\n\",\n       \"ALQOELAAGFK0OJCXNqi3FRErUQKCns4Sp+z5SaWxlY34pJ1UIk7Z1LIeZ147TSSlMBWwJA1tyRIW\\\\\\n\",\n       \"sXqoVBoxyInDBbNjTpxYWlkMWw8pS9jQAtaAk0cECbn2mFiROCKWFidkPjHTi530MCtgkPkbEyYk\\\\\\n\",\n       \"1iVHrJQ+ZIVM7aqStE89YmGf6hM6xrJO0gklzjKv+wQLWaUgaPX2prGW2OrUwZhQaeueRXtygXTR\\\\\\n\",\n       \"uPOOXXVaSNJ/vdS/voLrkpzUUXsuLWQWEbX6nGmKiF1Z6YR5whgAAAAAQJOBAwsUAAIWGDI23HDD\\\\\\n\",\n       \"kG7UOSQF6lrV49SKua88Z1W1ApadF6FC9pcHZ51KqB+WxXWlhQ1JLRMRRIshkpbYE+oLsbjBI9il\\\\\\n\",\n       \"IxZy4fdS1IlTjwNLp5TpkerSOkdp+lv6sulcIg7o+kdW5LBihRWpvLpXRdMHKSJgeZScVNQ+x4ml\\\\\\n\",\n       \"p3V/kjpXImhKLEeq42ihUsRJfV9EqBRBLJ1nQZBTSEslTiflIu+lMC0phrrOVbVipefAijvv0nuf\\\\\\n\",\n       \"Clc6NlaQtOl+XnF2HcuYAyuJ9JNKQfEqz5WV5Liwlrlb8RvZvz5rm1iqIgAAAADAEGF/o6/1GKCj\\\\\\n\",\n       \"gYAFQFXoB7pq3mFFnPL291IIPeeNTRPTD5jyjl9xjq/rYenlklZmi8eXlONG11iSc4r4IfNWEBHx\\\\\\n\",\n       \"Y7DYlSRcHys9HmsKpRKLGyxkpWIWnysVN2R+sCNHT2shQ79SwSJtV1qriZb+FSHDpnZ5QlbMZeW5\\\\\\n\",\n       \"tDwxYkmOYBVb5glXsX4g01bQtLHy6mJJjESQ1PvY2Or+aIUxG3MRMVm0ZDErFc5KJY49O7TSuHJ8\\\\\\n\",\n       \"JdYcexG0dAF3L9Z6WuIqsU6FKxEn0/llBSMvhjGxMpYSGNtPi6CxFEJPvLLx94Qr76X7hhWavPlq\\\\\\n\",\n       \"gHgFAAAAAABaEwhYAFRNLS4rb15PWwEpcVL8tJCgU8ls3SN54hc3jV6mz9HnHFfW6Qdsm1qmH661\\\\\\n\",\n       \"68qmmYk4pqfT9rA7Z8AVJNc4UIPJSyfjdDTrvvFSCYsJRtol5bmmPGeOddZ4Aph33Lx26HYnBX5C\\\\\\n\",\n       \"sn0ly3mVJUDpe97jCF3SPm9/nZaoXXgS7wHXVypc6pERS7mx1i48TgHMjzUZkci71zouXnqoFSDz\\\\\\n\",\n       \"nHd6ve4Dug/pZTHHlf0/ZQXNQVevppOII8vulzdvgfMKAAAAAMNPKUnCq95jgM4GAhYAw+bSsm4Z\\\\\\n\",\n       \"ctZ5aYL6gbIcSRuzrhuvLXIcEZu086rsCBW65pWIVJWIYCVOqyXO8UdExAtvOr1nqWNH2rX0aq2R\\\\\\n\",\n       \"bJl7o6dlY08w0gKBpP9VnHmvrpXnoNHbZQlYnphVRIDw+kp6nwaESF03LSYW2Wkdd0kR1aKnxN3W\\\\\\n\",\n       \"1dLnG7n0eu28rcGl50mJljrWA33ejzVF7lOl4P2OxclLB4wJWvavFs2841eqTBu04pUVOWPX7hET\\\\\\n\",\n       \"s/DFDgAAAAAtCGpggQJAwAKgJrTQk7ddPSMXWrcVRQQqvS7LuaMfpEVEkHktbFhRSBw6ImLpZXJM\\\\\\n\",\n       \"Eaq06GXT3GKihhbsdDvsX3vv7D2wrpQiDihPmLJCVJEaRp64FRMnkkh79fXYaXsf9P3Sopb8zXJf\\\\\\n\",\n       \"ybTESbuvtCNLHHKyTqeU6nRRPR8TzvQysVUNFi6Lx9oT/fLEylhKoRarYutibjvPYeU5wWz/8fqH\\\\\\n\",\n       \"JzZXI2zWuz5PEAOdyqWXXkrnnnsuzZ8/nyZNmkQXX3wxTZkypdnNAgAAAABYBghYANRMkQfGUsay\\\\\\n\",\n       \"Ius9MaKI48KKJFrsELeUtrnYdDMtXNnr1S4wESy0CCEP5dYVJPvGhA0tYFihplzgYdtzpmjhoqiA\\\\\\n\",\n       \"5TloslxXer09hnd+Lz62/XINHtptp4VN6+CzcZV9tGCl42pFWS10JRHHnhat8sRJqalmRat6Y23F\\\\\\n\",\n       \"Ihtb2T8mQMZi623n1bfyxKvY8mpfNj5Z4iZVud4D4lW3ceONN9KsWbPo8ssvp6lTp9KcOXNo+vTp\\\\\\n\",\n       \"9OKLL9Jaa63V7OYBAADoJipcJDep/xigo4GABcCwo0UC7XzRopEWHbSDSR6OtWgkx9FuJ0GnfckD\\\\\\n\",\n       \"tU4V024aLXp4KYXivrLCRWxepxAWcVyVM0SMLFeOvq9WwNIiBmU4bTxxK1YjyxPBbP0je0zPbWXn\\\\\\n\",\n       \"dX/I6z8UuYc6PjalUGIt20iKqBWhrACpU0etA0vSD3VstSPLClVDHWvKiacndGWl/llBq2if8ETO\\\\\\n\",\n       \"LHHNa7e+dk+Ysv3a6yMAZHPBBRfQzJkz6bDDDgvzLGTdcccddPXVV9NJJ52E2wcAAGD4QAohKAAE\\\\\\n\",\n       \"LADqQtcD8pCHTbtei1J2Oy1CaSHL1joiIwR4bdHTIjwsVuKFCBRyrCUZgpakCVqRQ4tbnlClayR5\\\\\\n\",\n       \"7ity3D2CTS+z997eaytq6OksB5ZdJ0JUTJiKpaN5ApZuRyWjnUXEK4tOL9X30M7LMi0eSt/y0j51\\\\\\n\",\n       \"/5DtdLqhTQktkh7qiVbWgUXG9adjK9egr8e7h148s6atSFWriLkk0j/yzh8Tr2LCpufO0vcp5rzK\\\\\\n\",\n       \"6lv6XKBb6O3tpaeffppOPvnk/mXlcpmmTZtGjz/+eFPbBgAAAADgAQELgLqJiVR2vd1G7yeigH3I\\\\\\n\",\n       \"tEKW3cceWz/oawcXGaeNdVLJdnrUQ7vOpgHqh245vxUvyAgjnrBhUwe9ZbH7ap0p+iXLYgJWlluK\\\\\\n\",\n       \"nHQxu79OG/TOY5fZdbb9WogpihaD5Hj6Pssx7T0VQVKmZV9xUMm0dunpv7ofZKUJ2rhnxVqWxyq4\\\\\\n\",\n       \"eyJObJmNs8SJMgQs2wdkH/1/wO6rjxkTx7JE0rxrkWl7D7z1nkgVE7pi9xV0E++88w719fXR2muv\\\\\\n\",\n       \"PWg5z8+dO3eZ7RctWhRewnvvvTcs7QQAANAtJHqo6dqPAToaCFgADLmAJdvEUqM8t1WeuGXTC3V6\\\\\\n\",\n       \"lxafrECh97Hiia2tJH/tOj3inN7Wc+LoY8fEK8+FlSVceXiuFVnuzVcrNhQRPfS5rTvIW+c5yOy8\\\\\\n\",\n       \"jpsn+HjOGRGgBHu/7TqJnW6bbCex09OVDDedF2t9LjuvXX5FsX05JgR58ZN9skQlOzKlJ1pascs7\\\\\\n\",\n       \"R5ZwqWOm19lrzBOpYtP2fhW9nwDEmT17Np155pm4RQAAAIYGpBCCAkDAAqBlkQdm/XAvwoIUYtdC\\\\\\n\",\n       \"g6zXKYZeCqF232jBQaduyX5LIs6qmFgR29ZO67bq83pChk2FqzaF0C7PEqW0o8Y6drJcNJ6oodto\\\\\\n\",\n       \"hQsrTlgRSo7p4d0LLQbZ2HrCqK1PJecTB1QsNVA76mQ6L+ZUpVDppRDG3Gn6Hmk3nd6nkaJlJad+\\\\\\n\",\n       \"ltzjvGPZ7XRf0P06r48AUDtrrLEG9fT00IIFCwYt5/l11llnme051ZALvmsH1rhx4xACAAAAAAwb\\\\\\n\",\n       \"ELAAaAjygJmX8kbOeutwEmJuLJkWEUtv49U8kgdfEa608KQdMFqw0emGelpfZ09OQXD90J3lylns\\\\\\n\",\n       \"iBqaIqmZdpkWAbKEhTzxSfbx0gStAJElbMn57Xq93F5HlqPGuyc2Fc9Lw9R9youvdmnpeOpYy73R\\\\\\n\",\n       \"7i3Z1hZ0t31MkH6bdx32ur15G0shJhrFhEsb66KClhd72ya7vW0LOYKnvk7PaaWXVWpwVlmXF+g2\\\\\\n\",\n       \"Ro0aRdtvvz3dd999tO+++4ZllUolzB999NHLbD969OjwAgAAAIaESgO+l2AUwo4HAhYADcMTn2Lb\\\\\\n\",\n       \"2fXWJRNLHSSzTotm1oXliVhWBLPphUucURB1O2Ra18OSdTp1TU/r9mrRzbY5JmBVQ56A5QlQVkjI\\\\\\n\",\n       \"Ey1i4pVdFnPY2Hn917Y5do3WhWUdd3I/7f0VgUmvl+MlkXRDvc5LOdQimO6LWe66mJhbDTGR0PYB\\\\\\n\",\n       \"T1DS67JGjbTClBW69Pltf7DnjvUf2257LbF19j7YewPxCuTDjqoZM2bQ5MmTacqUKTRnzhz64IMP\\\\\\n\",\n       \"+kclBAAAAIaNpJK+6j0G6GggYAHQUPIezGMil93PilzyQOqJS/p42kmjH9itg8YKWXpdzMGjBSz7\\\\\\n\",\n       \"YN2T4SqzNZk8oc2KYrWQVOHKEax4QQXcNlTlOn1Mrz0xASIL78NZ30O9vyzT7igbayualiPrstx1\\\\\\n\",\n       \"nmCl26mP6fWBaqnkCFj2PtuU0Kx1RQQsG08rgkp7dBu9/hATqew1UES8SqoUr4puA7qBAw88kN5+\\\\\\n\",\n       \"+2369re/TfPnz6dtttmG7rrrrmUKuwMAAAAAtAIQsABoGaFLHirLGdvomlhWyNK1qchxV5Wd4+gH\\\\\\n\",\n       \"ZO3I0iKHTgGzYoV24mgxQq9bEqmH5KWWyXwtooYnBnkiQcz9IuKELIuJGPpcnhgSSwnLE1kE3bYY\\\\\\n\",\n       \"3j3yxExZruMibdIx8epeyXG82la6b+iRByXWOsZZsdbnqgbvHsUEoSzByhOjPEeWPmctwmWsj2S5\\\\\\n\",\n       \"sCo5olMtaYMALAunC3opgwAAAMCwgiLuoAAQsABoONqpkrcdFUgnzKqJpbe3jiq9n7RJCwnSRpt+\\\\\\n\",\n       \"plPNvHPbFEXbfuv40efX62WdiAk2FVKf2xO0Yu6T2IO/JxB4biw9L+tj4lbMvRVz1ViRLUtwiC3X\\\\\\n\",\n       \"Dji7PCZIxuKnxU1pm3ZdyXGk7Z4ApbHnsyKWTu0sO8uqjbVd7omDNiZ5Tjw9bQUp3Q+0sGnPExNO\\\\\\n\",\n       \"bbs815V3Td42Re6RR8z1BwAAAADQRFADCxQAAhYAQ4I8TOY5iaoRqLx9ZLuYmGHFB3tsKypZoasv\\\\\\n\",\n       \"4rKyBbv1ce2DtFcPS6Y9AcS7ZzFRw1umhQnP+aSXeU6cmMiVtU2We8arx1VUTIjF2tvHupls39KO\\\\\\n\",\n       \"PD2tU0/1depYiLNKH9cTyOSaPPeVjXfS4Fjrtks7dExsHLLi6AmUtv/EBEzbrpigWWQZ1ShwxSgq\\\\\\n\",\n       \"cgEAAAAAANB6QMACYMgQUaCIiOW5sEREkHkraun1sk6W29EJ7f46ZUza6olJXsqZFqG0k0uOb69b\\\\\\n\",\n       \"PzB7da70ttq1VS3eg73ndrHiQl6qlxVEYseJ1WLSbcpLCytyjVl47jW7n8RIYi5x1XHW+3gF26uJ\\\\\\n\",\n       \"tU0hHOpYS1v1Xz3tiY4x55Tn1MpKGY0JYzJt26KX5wlydj+7XR7e8QEAAAAAWgSkEIICQMACYEjR\\\\\\n\",\n       \"IkEWVmDS+3uFua2zSjuubFqeFal0EW4tUlhBQh7Gteigj6HPqYUNiow+p1PcitZCyhM4YgJQVqpe\\\\\\n\",\n       \"kZpDuk4S5ThuiggnnmPGHrceYk4m3Q8oIiT2KUFT9wERVrXAKqNIxgRIr96VjeFQx1qW2X2yXHEx\\\\\\n\",\n       \"N5Y+vieA6XnvfDFHGBVYp//a9ufdEwvSBgEAAADQ4oSvNXV+J4bRvOOBgAXAkCMPuPWMrufVu8pK\\\\\\n\",\n       \"OZR5fe6sVCPrwPKELzmniB7ajaUfpD03mSyPpUV6aZDesbx745GVqpcnalixSm/nCVhFhAzb5kaK\\\\\\n\",\n       \"WF56aSwGFCneL+20MfHEKHEhebGxoxfKtO37sWutJd5Zbqwsx5wnHul9vbRBvTzWB2L9LPb/LzYf\\\\\\n\",\n       \"Ez2rBeIVAAAAAADoDCBgATAsyMNsremEeTWxElNrKqtmUiXHCWMf+L1RD7WbymtXTEiJXYM+TyPI\\\\\\n\",\n       \"E7CoCiGqmm1jQkasLTHy1sdSTqmAaKTFJz2tt7fLbaxt2qA3rf/miTb14AmEsbQ9T5D0Yi3Ls+Jc\\\\\\n\",\n       \"RKjy+pzXHyyewJm1TYx6hFEAAAAAgGEEKYSgABCwAGiZdEIrQNh1iVNomzLSBvV6LxVRH6NcwIFF\\\\\\n\",\n       \"kVpJJWe5Pp8uBC+Uh1nA0gKEzBd1ZFGVjh5vu2oECNtWj1jdKS0Y2dH99LQXay+utu+QUxfNbmuP\\\\\\n\",\n       \"bx1fer/hiDVVmeYZq5uVVFnnyu6X1SdiQlOlDmEKzisAAAAAtBEVW1u01mOATgYCFgAtR8y9RBmp\\\\\\n\",\n       \"iNYFY9MGddFsMul/pcjodBpPoNDn9JbbZfpYet6r8VUv1iVDkXlP1PL2zXNZZTm+9PEbJTJ4H85W\\\\\\n\",\n       \"uNTL9T5WRLWx0dt5fTCJ9IGYEGqPH0sXrRUvBrHY29jlLfeO5QlcVEDQyhKvqMHiFQAAAAAAAJ0H\\\\\\n\",\n       \"BCwAhh370J+1nWBTBks528VEKC1YeW2S/bSQkZWSpgUJLZ5YgcweR4t02inkXW8Rsh7oPXFCr7MC\\\\\\n\",\n       \"SNY2RV003rm8dhYRMvIoEnMrilqRKi+tVLvwdNxjRfr1sbNSCe01FCXLvabb7N1fK1wWESeL9Idq\\\\\\n\",\n       \"/9r9s66v2r4BgQsAAAAAbQZSCEEBIGABMKzIA2tPge2KphPafTxXlKz3xA4tNmUJGd46fcyS4/bK\\\\\\n\",\n       \"SlWTc8eoJs2sGreKFSSK1lCy+3pCl3esIu30ti2Kvsd5qXpW0IqJVXad7Vt6nU0njLnBYo6uWDti\\\\\\n\",\n       \"ZN3DPCdcrD/IOm8/z4HliVJ5sc8SRrOuIXa8LGCfBwAAAECbAQELFAACFgBNQY/il4cVDwQv1ctu\\\\\\n\",\n       \"mzgCQxKpcaQdMjFXl8x7AsgSZ5mdt/WwdNti11cLsdS8Sg3zWYJVUSFsKNPA7Dl0f4ilGsbiYfe1\\\\\\n\",\n       \"Dipd18wr/J4VayogjjYz1la4zHPqFd0vVqS9iJiVt87bFuIVAAAAAADoTCBgAdA0Yk6q2LaUUZPI\\\\\\n\",\n       \"rssToOy8ThHz0spsnaOY08qmkcl58kSV2AN6kXtT1LHiCQZ5LplYjazY9rH2ZAkQjRCzbIzs8WLO\\\\\\n\",\n       \"O3JGGNTrk5xj5sVa113L2k+3J4tq3ElJFbHOE56y4l5U4KxFoKqmb0C4AgAAAEAbU2nAd+JwDNDJ\\\\\\n\",\n       \"QMACoGkkDaqJZY8R284TIOwDti2y7dUt8grJJwVrZelzF6mNlPdQnvchVdQBo89XRPjKOk7s2Fli\\\\\\n\",\n       \"RiMErFh/8px1RQqpy3Gs0ElVxlqwLj+LJ3Z5bcpbV9TdlFVMPat+Vuy4eYJWrP154lsRGiGCAgAA\\\\\\n\",\n       \"AAA0jySphFe9xwCdDQQsAJqOTuHLI0vssilfsn3MgeMVVJfjxEQHmfZSyOT4nsAVE7zkmNUW8S5C\\\\\\n\",\n       \"Xr2pLIeNPkae8FRtzaJaRx6sNo0wNrpjzAlXzhGUrGAl157l0POONxSxznMx5aUPxrbLcmV528Ri\\\\\\n\",\n       \"W43Q6R03i6w+CAAAAAAAQOcAAQuAlkCEgEakE9oUsZiAoR98vbRCL9XLCm069TCv1lKszXa0ukYQ\\\\\\n\",\n       \"K8KetcwTAYoKHXkiWN75s5bnEesHMYHKiphFhMus9nnCV6xdXhH4epHrqTfWjahfFbtfVuRqlJtq\\\\\\n\",\n       \"KMRQAAAAAIAmFXGvNwWQjwE6GghYALQUsbpTlpgoZbfJKsAew0tF1Ptqgcw+bHtOr6w22rY1QsTK\\\\\\n\",\n       \"EwCqLaxejTjiLS+aLjjUH7hZQqZd7sXVEzS9bSlDpNJCz3DEOi92jRAcYwJWkXlveV4/QLogAAAA\\\\\\n\",\n       \"ADqQID5BwALZQMACoGXwhKAi24uI4NXFsseKncNzbsXOmSd8xIp05znMkjqdOVmiRL2pW0UFCiqY\\\\\\n\",\n       \"ztVIsco7VqlAu3oKiFdZdcryRjrMu8f62LVSqcOhlBfTrP6UlbaXNFBMq+Y4AAAAAAAAdDYQsADo\\\\\\n\",\n       \"mJRCiohYMYdTkVSynozzxNILY4JKotLLPOp15GSJCt621CAnVhGhZLgFh5iDKpbqF0s3lfVZ6Ygx\\\\\\n\",\n       \"smKtj1OvgFXk3mbFppp00L4q41urQywGUgYBAAAA0KFUKkSlOut6ooh7xwMBC4CWRR6ui6bWycNw\\\\\\n\",\n       \"bPs8l5Xn2LJ1kfR2mjzXVT0iQ7VU62SpJRUwL82s2muptwh3PUKnJ+LUGms7imUWWemHQ3Hfirix\\\\\\n\",\n       \"vPlqnVZF2lXtdef1VQAAAACANgcphKAAELAA6Ki0wqL72G3yHoy9gt61tCfr+NTg0dSKima11CUq\\\\\\n\",\n       \"IlgVXdYIYsct1RjvWmNdbY21pA1irZdV0yeyzgPxCgAAAAAAgGqBgAVAy+M5o4rso8WEWH2srHWx\\\\\\n\",\n       \"dMO89MJqRamiDq1qqUYgyUvzalRdq2YJWFnbFqmXpVP96ol1I0eatDQifbTIcYq6uGLrqu0DcF4B\\\\\\n\",\n       \"AAAAoPNJKhVK6kwhTJBC2PFAwAKgLdD1o4rWDSoiVMTSBIvs35chaMn+WcLKULiuGiVmVStiZNXG\\\\\\n\",\n       \"aiax1EBNliCVdZw8gVMfayhcV82ItT1uUWGzFtGq2X0HAAAAAGAYQQohKAAELADajqTGEfuKOLli\\\\\\n\",\n       \"qWZZo9AJWXWR8s411HiCU7VpXFnz3vJarq/afap1NElNNbt/0bS/agWrIsceLorGPC/1sxGuviwg\\\\\\n\",\n       \"XAEAAAAAAOABAQuAtiNpYB2qoqmFnnhlz1+PINTo1LJGpvNVI3w0KmWx3npTRUXK2LZ5rqykyna1\\\\\\n\",\n       \"SryL1v6qNT6NEDBbRfADAAAAABhGKglRKWmAiwt0MhCwAGhbKlWkE9ZSU6uS4aKKPeh77psiHyQy\\\\\\n\",\n       \"WmGjqFUIqFaEqudDst4P2FrEK+8YVrTMG8Eyb9sidbAaKWBljS7YjFjXGlekDQIAAACgiwniU51O\\\\\\n\",\n       \"dAhYHQ8ELADamkpGDapqHsrzUv2KiBx6e0tpmB/eizptqtmv1vYNt6umGrGpyL4xYTHPhZV1jmaM\\\\\\n\",\n       \"NtmqQqatJQcAAAAAAADwgIAFQMeQ5ZgqQix9MGs7u329jqRGOHMa5ZSpx0nTiOM0klpExdi+eamE\\\\\\n\",\n       \"WamN7RLroeobev9W6BcAAAAAAK1BUkkoqTOFMIEDq+NpZM4OAKCpyENxLSlVsq9ODcyr9WP3KXr8\\\\\\n\",\n       \"2KsRFDlPrW2u9ZytQq3tHIpYD3fMqz1G3nZ2n2rbW2nB/gEAAAAA0ESSSmNeVXLppZfShhtuSMst\\\\\\n\",\n       \"txxNnTqVnnzyycztb7rpJtpss83C9ltttRXdeeeddVw0qBYIWAB0JLXWBaIaRYaK86r1wb6eVy3X\\\\\\n\",\n       \"HDtv0X1bVbAaqrYP9X0fyng3Mta1IOcHAAAAAADN5sYbb6RZs2bR6aefTs888wxNmjSJpk+fTm+9\\\\\\n\",\n       \"9Za7/WOPPUaf//zn6YgjjqBnn32W9t133/B6/vnnh73t3QoELAA6Fv2w3ohjVCsY5AkUwyX2NFIE\\\\\\n\",\n       \"qed+tDpDGevhEm2SFo11J/YXAAAAAIAGpxA24FUNF1xwAc2cOZMOO+ww2mKLLejyyy+nFVZYga6+\\\\\\n\",\n       \"+mp3+wsvvJD23HNP+sY3vkGbb745ffe736XtttuOLrnkkgbdBZAHBCwAOpahSttq1PGSYXq1wrXW\\\\\\n\",\n       \"cq7hTMMr2ibq4HgP9f+TdnPoAQAAAAB0bgphb28vPf300zRt2rT+ZeVyOcw//vjj7j68XG/PsGMr\\\\\\n\",\n       \"tj1oPCjiDloOKb7X19fb7KZ0ILUWeB+u47Uawyk6VFr8dwjEujogWDUa+UxAgdbWQOLw3vvtmxa7\\\\\\n\",\n       \"JFnc7CYAAOrkvffewz1sgfvfiM/mJbS47q/d4RhOvxg9enR4ad555x3q6+ujtddee9Bynp87d657\\\\\\n\",\n       \"/Pnz57vb83IwPEDAAi3HP//5z/B37txrm90UAAAALfgZsfLKKze7GV3PwoULwz3YYLt5bXwvXm12\\\\\\n\",\n       \"AwAAdYLPg9b5TKg1FqNGjaJ11lmHHpnfmGLoK664Io0bN27QMq5xdcYZZzTk+KC5QMACLcdqq60W\\\\\\n\",\n       \"/r7++utd+6HEvxrwG+8bb7xBK620EnUjuAe4B+gL+P+geffdd2n8+PH9nxGguYwdOzZ8Ro0ZM4ZK\\\\\\n\",\n       \"pcY7cTvhM6DdrwHtbz6IAe5/q/cfdl6xeMWfCbXCo/m99tprIaWvUW2yn0vWfcWsscYa1NPTQwsW\\\\\\n\",\n       \"LBi0nOdZUPPg5dVsDxoPBCzQcnDuMcPiVTt+4WskfP24B7gH6Af4/4D3hGU/I0Dz47D++usP+Xk6\\\\\\n\",\n       \"4f2v3a8B7W8+iAHufyv3n0YYDljE4tdwws6v7bffnu67774wkiBTqVTC/NFHH+3us8MOO4T1xx13\\\\\\n\",\n       \"XP+ye+65JywHwwMELAAAAAAAAAAAAHQVs2bNohkzZtDkyZNpypQpNGfOHPrggw/CqITMIYccQuut\\\\\\n\",\n       \"tx7Nnj07zB977LG0yy670Pnnn09777033XDDDfTUU0/RlVde2eQr6R4gYAEAAAAAAAAAAKCrOPDA\\\\\\n\",\n       \"A+ntt9+mb3/726EQ+zbbbEN33XVXf6F2Lmmjnd877rgjXX/99XTaaafRKaecQhtvvDHdeuuttOWW\\\\\\n\",\n       \"WzbxKroLCFig5eAcZS605+Uqdwu4B7gH6Af4/4D3BLwvdjOd8DnY7teA9jcfxAD3v5v7z3DB6YKx\\\\\\n\",\n       \"lMEHH3xwmWX7779/eIHmUEowHjUAAAAAAAAAAAAAaGFQCRUAAAAAAAAAAAAAtDQQsAAAAAAAAAAA\\\\\\n\",\n       \"AABASwMBCwAAAAAAAAAAAAC0NBCwAAAAAAAAAAAAAEBLAwELtDx33HEHTZ06lZZffnladdVVad99\\\\\\n\",\n       \"96VuZNGiRWFo11KpRM899xx1C/PmzaMjjjiCJkyYEPrAxIkTw4gqvb291OlceumltOGGG9Jyyy0X\\\\\\n\",\n       \"/g88+eST1C3Mnj2bPvrRj9KYMWNorbXWCv/vX3zxRepmzjnnnPD//7jjjqNu4+9//zt98YtfpNVX\\\\\\n\",\n       \"Xz28D2y11Vb01FNPNbtZYAhp5/e/hx9+mPbZZx8aO3Zs+D/LQ6y3E+3+/nvZZZfR1ltvTSuttFJ4\\\\\\n\",\n       \"7bDDDvSb3/yG2pV2fO8/44wzQpv1a7PNNqN2op0/d/i9095/fh111FHNbhoAdQMBC7Q0N998Mx18\\\\\\n\",\n       \"8MF02GGH0R//+Ed69NFH6Qtf+AJ1I9/85jfDl+FuY+7cuVSpVOiKK66gF154gX7wgx/Q5ZdfTqec\\\\\\n\",\n       \"cgp1MjfeeCPNmjUriHXPPPMMTZo0iaZPn05vvfUWdQMPPfRQ+KL1xBNP0D333EOLFy+mPfbYgz74\\\\\\n\",\n       \"4APqRv7whz+E/wP8UNZt/Pvf/6aPf/zjNHLkyPAQ+uc//5nOP//88IMG6Eza/f2P36e4zSzCtSPt\\\\\\n\",\n       \"/v67/vrrB9Hn6aefDoLDJz7xCfr0pz8dvkO0G+383v+Rj3yE/vGPf/S/HnnkEWoX2v1zh/uNvvf8\\\\\\n\",\n       \"/5jZf//9m900AOonAaBFWbx4cbLeeuslP/rRj5Ju584770w222yz5IUXXkj4v+2zzz6bdDPf//73\\\\\\n\",\n       \"kwkTJiSdzJQpU5Kjjjqqf76vry8ZO3ZsMnv27KQbeeutt0Lff+ihh5JuY+HChcnGG2+c3HPPPcku\\\\\\n\",\n       \"u+ySHHvssUk3ceKJJyY77bRTs5sBhpFOev/j961bbrklaWc64f131VVXbbvvk+383n/66acnkyZN\\\\\\n\",\n       \"StqVTvvc4b4zceLEpFKpNLspANQNHFigZeFfXdm+Wy6Xadttt6V1112X9tprL3r++eepm1iwYAHN\\\\\\n\",\n       \"nDmTfvKTn9AKK6zQ7Oa0BO+++y6tttpq1KlweiT/cjxt2rT+Zfz/gOcff/xx6taYM50c9xjshNh7\\\\\\n\",\n       \"770H9Ydu4te//jVNnjw5/HLM6Uz8eXDVVVc1u1lgiMD7X+vRzu+/fX19dMMNNwT3GKcSthPt/t7/\\\\\\n\",\n       \"17/+NWQObLTRRnTQQQfR66+/Tu1CJ33u8HvqT3/6Uzr88MNDGiEA7Q4ELNCyvPrqq/159Keddhrd\\\\\\n\",\n       \"fvvtwbq766670r/+9S/qBvjH20MPPZSOPPLI8EEKiF5++WW6+OKL6Stf+UrH3o533nknfOlee+21\\\\\\n\",\n       \"By3n+fnz51O3wSmkXPuD7fxbbrkldRP84MViPtek6ebPAq5ps/HGG9Nvf/tb+upXv0pf+9rX6Lrr\\\\\\n\",\n       \"rmt208AQgPe/1qJd33//9Kc/0YorrkijR48O36FuueUW2mKLLahdaPf3fq5bd+2119Jdd90V3r9f\\\\\\n\",\n       \"e+012nnnnWnhwoXUDnTS5w7X4PvPf/4TnicA6AQgYIFh56STTnILC+qX1D1iTj31VNpvv/1o++23\\\\\\n\",\n       \"p2uuuSasv+mmm7riHrBQwx/2J598MnUaRe+Bhh15e+65Z/hFjF1poDvgX6HZeclf6LuJN954g449\\\\\\n\",\n       \"9lj62c9+FgpZdyv8WbDddtvR2WefHX4F//KXvxz+/3MtPADA0NKu77+bbrppGPDm97//fRAfZsyY\\\\\\n\",\n       \"EeoYtQOd8N7PGRP8XY1rd3H9ujvvvDOIKD//+c+pHeikz50f//jHIR7dWEcXdCYjmt0A0H2ccMIJ\\\\\\n\",\n       \"ub8CsN2Yiw4y+hcz/iWN17WTDbmee3D//feHlDG+bg27sdiO3Y6/BFV7D4Q333yTdtttN9pxxx3p\\\\\\n\",\n       \"yiuvpE5mjTXWoJ6enpA+quH5ddZZh7qJo48+OrgveVQvLszbTXAaKRet5i/RAjvz+F5ccsklYWRS\\\\\\n\",\n       \"7iedDqePW+fE5ptvHgb5AJ0H3v9ah3Z+/x01ahR9+MMfDtP8AygXtb7wwgtDQfRWpxPf+1dZZRXa\\\\\\n\",\n       \"ZJNNgou+HeiUz52//e1vdO+999Ivf/nLZjcFgIYBAQsMO2uuuWZ45cFfOFi44aGbd9ppp7CMR8KZ\\\\\\n\",\n       \"N28ebbDBBtQN9+Ciiy6is846a5CIw79k8QhNbM/uhnsgzisWr8SFx/WgOhn+4s3Xet9994Xhy+XX\\\\\\n\",\n       \"QJ7nB4puSZ895phjQtrHgw8+SBMmTKBuY/fddw9pMBoekZWHIj/xxBPb7gGmVjh1iT8HNC+99FLb\\\\\\n\",\n       \"fw4AH7z/NZ9OfP/lz1AWftqBTnzvf//99+mVV14JI4u3A53yucPfmbmGF9dSA6BTgIAFWpaVVlop\\\\\\n\",\n       \"1C3gYbTHjRsXPjTOPffcrhoGdvz48YPmuZ4DM3HixLb7NbRWWLziumcc//POO4/efvvt/nWd7Ebi\\\\\\n\",\n       \"IeQ55YHddlOmTKE5c+aEIrT8JbZb0lauv/56+tWvfkVjxozpr/218sor0/LLL0/dAF+3rTnzoQ99\\\\\\n\",\n       \"iFZfffW2qkVTL8cff3xwXnIqxwEHHEBPPvlkcGF2uhOzm2n39z9+WNdOE67/w+lsXATdfq63Iu3+\\\\\\n\",\n       \"/stlFzhliu81l2Hga2EhjmsZtQOd8N7/9a9/nfbZZ5/w3Y1/fOXv8iy8ff7zn6d2oBM+d1i0ZQGL\\\\\\n\",\n       \"30tHjMAjP+gg6h/IEICho7e3NznhhBOStdZaKxkzZkwybdq05Pnnn+/aW/7aa6+FoayfffbZpFu4\\\\\\n\",\n       \"5pprwjV7r07n4osvTsaPH5+MGjUqDCv/xBNPJN1CLObcH7qZdhtKvVHcdtttyZZbbpmMHj062Wyz\\\\\\n\",\n       \"zZIrr7yy2U0CQ0w7v/898MAD7vvXjBkzknag3d9/Dz/88GSDDTYIfWfNNddMdt999+Tuu+9O2pl2\\\\\\n\",\n       \"e+8/8MADk3XXXTfEYL311gvzL7/8ctJOtPvnzm9/+9vw//bFF19sdlMAaCgl/qfZIhoAAAAAAAAA\\\\\\n\",\n       \"AAAAADE6u5AMAAAAAAAAAAAAAGh7IGABAAAAAAAAAAAAgJYGAhYAAAAAAAAAAAAAaGkgYAEAAAAA\\\\\\n\",\n       \"AAAAAACAlgYCFgAAAAAAAAAAAABoaSBgAQAAAAAAAAAAAICWBgIWAAAAAAAAAAAAAGhpIGABAAAA\\\\\\n\",\n       \"AAAAOooHH3yQSqUS/ec//2l2UwAAADQICFgAANDC/OMf/6AvfOELtMkmm1C5XKbjjjuu2U0CAAAA\\\\\\n\",\n       \"Wo5dd9110GfkjjvuGD5DV1555aa1CSIaAAA0FghYAADQwixatIjWXHNNOu2002jSpEnNbg4AAADQ\\\\\\n\",\n       \"FowaNYrWWWed4MICAADQGUDAAgCAJvL222+HL9hnn312/7LHHnssfPG+7777aMMNN6QLL7yQDjnk\\\\\\n\",\n       \"kKb+igwAAAC0Koceeig99NBD4fOSBSt+XXvttYNSCHl+lVVWodtvv5023XRTWmGFFehzn/sc/fe/\\\\\\n\",\n       \"/6XrrrsufN6uuuqq9LWvfY36+voG/ZD09a9/ndZbbz360Ic+RFOnTg3OKuFvf/sb7bPPPmFfXv+R\\\\\\n\",\n       \"j3yE7rzzTpo3bx7ttttuYRtex23hdjKVSoVmz55NEyZMoOWXXz78QPWLX/xiGefWHXfcQVtvvTUt\\\\\\n\",\n       \"t9xy9LGPfYyef/75YbyrAADQeoxodgMAAKCbYXfV1VdfTfvuuy/tscce4Uv1wQcfTEcffTTtvvvu\\\\\\n\",\n       \"zW4eAAAA0PKwcPXSSy/RlltuSd/5znfCshdeeGGZ7Visuuiii+iGG26ghQsX0mc/+1n6zGc+E4Qt\\\\\\n\",\n       \"Fp1effVV2m+//ejjH/84HXjggWEf/jz+85//HPYZO3Ys3XLLLbTnnnvSn/70J9p4443pqKOOot7e\\\\\\n\",\n       \"Xnr44YeDgMXbrrjiijRu3Di6+eabw/FefPFFWmmllYJYxbB49dOf/pQuv/zycAze94tf/GL4TrDL\\\\\\n\",\n       \"Lrv0t/cb3/hGuDb+oeuUU04JQhlf58iRI4ft3gIAQCsBAQsAAJrMpz71KZo5cyYddNBBNHny5PAF\\\\\\n\",\n       \"mL/cAgAAACAfdiizc5ldVSz2MHPnzl1mu8WLF9Nll11GEydODPPswPrJT35CCxYsCKLTFltsEVxT\\\\\\n\",\n       \"DzzwQBCwXn/9dbrmmmvCXxavGHZj3XXXXWE5u6d5HYtUW221VVi/0UYb9Z9vtdVWC3/XWmutIJKJ\\\\\\n\",\n       \"o4v3u/fee2mHHXbo3+eRRx6hK664YpCAdfrpp9MnP/nJMM0usfXXXz8IaAcccAC6BQCgK4GABQAA\\\\\\n\",\n       \"LcB5550Xfjm+6aab6Omnn6bRo0c3u0kAAABAR8ECl4hXzNprrx1SB1m80sveeuutMM0uK04n5IFU\\\\\\n\",\n       \"NCxCrb766mGaUw6/+tWv0t13303Tpk0LYhan/cV4+eWXgxNMhCmBXVzbbrvtoGUicIkYxi7tv/zl\\\\\\n\",\n       \"LzVfPwAAtDsQsAAAoAV45ZVX6M033wx1MbhuhvySCwAAAIDGYFPvuM6Ut4w/i5n333+fenp6wg9L\\\\\\n\",\n       \"/FcjoteXvvQlmj59eqhXxSIWO6jPP/98OuaYY9w28DEZ3p7ramnw4xUAAGQDAQsAAJoM/+rKtS84\\\\\\n\",\n       \"XYF/XeUvw/yrL6ccAAAAACAfTiHUxdcbATui+JjsyNp5552j23G9qyOPPDK8Tj75ZLrqqquCgMVt\\\\\\n\",\n       \"YnS7OE2RhSpOPdTpgh5PPPEEjR8/Pkz/+9//DvWvNt9884ZdHwAAtBsQsAAAoMmceuqp9O6774bC\\\\\\n\",\n       \"svyLLheSPfzww8NIScxzzz3X/6stj1rI8/ylmL8EAwAAAIBCKuDvf//74GLmz1JxUdUDpw5yfUoe\\\\\\n\",\n       \"CZhdVSxo8ecwjxLMaYJ77703HXfccbTXXnuFbVlk4vpZIjJtsMEGwdHFn+dc75KLuI8ZMybU0Tr+\\\\\\n\",\n       \"+ONDG3faaafwHeDRRx8Nhd5nzJjRf34uSM+pipzWyN8V1lhjjTDoCwAAdCvlZjcAAAC6GR4qe86c\\\\\\n\",\n       \"OaGILH9xLZfLYfp3v/tdKDTL8BdmfnEKw/XXXx+m+YswAAAAAFJYFOI0P/5xh0fzY4dTI+Bi7Sxg\\\\\\n\",\n       \"nXDCCcElzQLSH/7wh35nFLureCRCFq14dEIWsn74wx+GdZwieOaZZ9JJJ50URCge0ZD57ne/S9/6\\\\\\n\",\n       \"1rdCuqHsxymFEyZMGHTuc845h4499ljafvvtaf78+XTbbbf1u7oAAKAbKSVJkjS7EQAAAAAAAAAA\\\\\\n\",\n       \"0h+3eDREdnTJ6IUAAADgwAIAAAAAAAAAAAAALQ5SCAEAAAAAAAAAAABAS4MUQgAAAAAAAAAAAADQ\\\\\\n\",\n       \"0sCBBQAAAAAAAAAAAABaGghYAAAAAAAAAAAAAKClgYAFAAAAAAAAAAAAAFoaCFgAAAAAAAAAAAAA\\\\\\n\",\n       \"oKWBgAUAAAAAAAAAAAAAWhoIWAAAAAAAAAAAAACgpYGABQAAAAAAAAAAAABaGghYAAAAAAAAAAAA\\\\\\n\",\n       \"AKClgYAFAAAAAAAAAAAAAFoaCFgAAAAAAAAAAAAAoKWBgAUAAAAAAAAAAAAAqJX5f1+C2oDCac32\\\\\\n\",\n       \"AAAAAElFTkSuQmCC\\\\\\n\",\n       \"\\\"\\n\",\n       \"  frames[6] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQABAABJREFUeJzsnQeYJFXV/k91mpnNhF2WnHMWRAElSFIxopj4CCqYEEn+gUUl\\\\\\n\",\n       \"qoAo4ieKgIIJFUkfCAoiCqgEyRlWclx2F1g2Tuju+j/vrT49p8/cW10907M7O3N++9ROV75161Z1\\\\\\n\",\n       \"1dvvOTeK4zgmwzAMwzAMwzAMwzAMwxih5JZ1AQzDMAzDMAzDMAzDMAwjDROwDMMwDMMwDMMwDMMw\\\\\\n\",\n       \"jBGNCViGYRiGYRiGYRiGYRjGiMYELMMwDMMwDMMwDMMwDGNEYwKWYRiGYRiGYRiGYRiGMaIxAcsw\\\\\\n\",\n       \"DMMwDMMwDMMwDMMY0ZiAZRiGYRiGYRiGYRiGYYxoTMAyDMMwDMMwDMMwDMMwRjQmYBmGYRiGYRiG\\\\\\n\",\n       \"YRiGYRgjGhOwDMMYcey22250yCGHLOtiGEsRnG+c99HKL3/5S4qiiJ577rm21tk666zTtu3pbU+Y\\\\\\n\",\n       \"MIGWFjiOLNf8cNTjSLmfDfXY/vvf/9Lee+9NkydPdtv5v//7PxrpZD3vxvJ7Lz3llFNce1we4bLP\\\\\\n\",\n       \"nTuXRjI33HADbbPNNtTZ2enKO2/ePBqNLI/3f8Mw2o8JWIYxxrn99tvdQ1q7H3gWLFhAxx13HK27\\\\\\n\",\n       \"7rrU0dFBq6++On384x+nxYsXj/iyLwteeeUVdywPPPDAoLfx5z//2W1jWYPzMW3aNPegecUVVyzr\\\\\\n\",\n       \"4hhG23j66afrL4n33HPPiKrZgw8+mB5++GH6zne+Q7/5zW9o++23p7GI3UuXPvhex3fPLbfcQiOF\\\\\\n\",\n       \"kVim4eD111+nT3ziE9TV1UU/+clP3LU/fvz4ZV0swzCMYcMELMMY40AEOvXUU9sqAr311lv07ne/\\\\\\n\",\n       \"my6++GL69Kc/Teeffz597Wtfo+7uburp6RnRZV+WL104lqEKWNjGsuakk05qq1BpjH6efPJJuuii\\\\\\n\",\n       \"i2ikc/TRR1OhUBiWbR944IG0ZMkSWnvttVteF+vdcccd9PnPf56++tWv0v/8z//QGmusQWMRu5cu\\\\\\n\",\n       \"fXC/x3ePTyz65je/6drnSCrTaOLuu+92Pxiefvrp7vrHtV8sFpd1sQzDMIYNE7AMw2g7M2bMoOef\\\\\\n\",\n       \"f949WH33u9+lz33uc3T88cfTddddRyussMIyqfFqteoENGN4eeSRR5xgifNtGFmBS3Okv3TdeOON\\\\\\n\",\n       \"boCINRzk8/m6u6tV5syZ4/5OmTKlbeXB/RL3TR+LFi1q236M0X0vheCLdm0MD7Nnz277tb+srm97\\\\\\n\",\n       \"TjMMIwsmYBnGGAb2+v/3//6f+4xQP7w4DTW/ANxQl1xyCX3hC19w2+zt7W2r6ypr2fEZToRLL72U\\\\\\n\",\n       \"Nt98c/eCjDwR+DUW8/SvslgP05FjQfLEE0+40McVV1zRPYQjLOfaa69tubw33XQTvetd73IPmcgt\\\\\\n\",\n       \"tPHGG9OJJ57o5qEsb3/7293nz372s/Vj4bL885//pP3335/WWmstdxxrrrmme4mWv2oj7wnCB/jY\\\\\\n\",\n       \"eZAPhueee66rCxzHKqusQl/84hfpzTffpHZy5JFH0kc/+lHnwBsu0MaOOuooVw+ojw022IDOOuus\\\\\\n\",\n       \"hpdtPp/f//736cILL6T111/fLYt6hrCqwXlGGMbUqVNdKAbOzze+8Y2GZe6//3563/veR5MmTXLn\\\\\\n\",\n       \"cI899qA777xzwLYeffRRes973uO2AxfMt7/97aAQ8Je//MXVFUI+Jk6cSPvuu69bX4N8RltssYU7\\\\\\n\",\n       \"d/h79dVXD7L2iC6//HLabrvtXPlWXnll94v9yy+/7F32mWeeoX322ceVb7XVVqPTTjuN4jhuWOYP\\\\\\n\",\n       \"f/iD2x7Kj7rZcsst6Uc/+tGQcyFlqce///3vlMvlnOtP8rvf/c6dfwgA7aCvr8+1bQxoS0srvwvq\\\\\\n\",\n       \"5QMf+AD961//oh122MGd//XWW49+/etfN9wL2bWFeyK2IXOj4dziRwRc87gGcA+AO1bC90WcSzhm\\\\\\n\",\n       \"EPI9btw4mj9/fj0fGsIn3//+97vzfMABB7R0X0GbwfnDecR2d999d287z4LdS9vDG2+8QV//+tfd\\\\\\n\",\n       \"9Yrzi2sX97cHH3zQK2ainW200UbuPK+66qq03377uTaB9or7JoDjib97OJzdlwOrXC47xxDfl9Fe\\\\\\n\",\n       \"8X2onxWytH8fzcr00EMPuXaNbWGb06dPd9cIwvGagR/n8J2D+/Brr702LN9JuN/gO+nVV19NLQty\\\\\\n\",\n       \"nSF0GGA72L68j2a514eu7//93/91orp0uP/gBz9w+zjmmGPq0yqViltHCq04xp122olWWmklt2+U\\\\\\n\",\n       \"wZdOIPSc1ur3qGEYY4vh8cEbhrFcgAfQmTNn0u9//3v64Q9/6B5wAD/4IRQQD1LNwAMgJ3zGgyYe\\\\\\n\",\n       \"dvEAB+EHL9546Nhxxx2dwIJEo0uj7Pxy+8c//tE9IGE+HoZbCTfEA9TOO+/sXuZOOOEE9xKP7X3k\\\\\\n\",\n       \"Ix+hK6+80gk1WbeDh/CtttrKCQB4SHvqqafo3//+t5u/6aabuul4CYfwx+IPHgD5IRThEF/+8pfd\\\\\\n\",\n       \"A+F//vMf+vGPf0wvvfSSmwfw0ojQGbzcIQeGBvPxggyBDOGczz77LJ133nlOlEE52P2ycOHCTE41\\\\\\n\",\n       \"LI9k0RKUBWGdjz/++LAlWUU97Lrrru4hHMcEUQ/7hOsPD/t4mdZCBsIrsCwelr/3ve+5tgNhho8Z\\\\\\n\",\n       \"LzOoc4yj/tFO8DD/pz/9yeUT4nOIZfCSh9xuWPaCCy5wLxC33norveMd73DLzZo1y72c4wWN2wxe\\\\\\n\",\n       \"VvAQrsF5wssHBCK87ODYILhA6MR5YRHir3/9K33sYx+jzTbbjM444wz3koXzOJgQMW4DeNnBtvAC\\\\\\n\",\n       \"BrEJbQD7lL/i48Xkve99L73zne909YYXi5NPPtkdG9orQHtDmDDEPBwDwPnH9iD2DJas9YgXnK98\\\\\\n\",\n       \"5SvuWHBdvu1tb3Pt4IgjjqA999yTvvSlL9WXHcz9jEG7gigDceeqq66ipQnuFbiXIjwI7QXiE146\\\\\\n\",\n       \"8VKIlz60Z5w3iNo4F3gJ5fLj/OL88Ysi7o8QTbEtiFN46ZZAVCiVSk7YgJiAzwDnAe0UbRMvpxCh\\\\\\n\",\n       \"Wrmv4N6GF1CUDcN9993nEs7jB45WsHtp+8A9EN/P+HEEPwKhreCehvvrY4895gRrvg/g++vmm2+m\\\\\\n\",\n       \"T33qU+66xj0V1z5cYrjOcN/C9xO+E9EeAb7vQhx66KH0q1/9yrXrY489lu666y53DePeocX5Zu3f\\\\\\n\",\n       \"B9p5WplQdhw/2i3EK7Qr3F/wFz9KhFyQ+F7APQc/aGEbeK4Yju8kbAvPBThe/aOaBD+y4McWlB33\\\\\\n\",\n       \"ZJxHFthbudf7rm8IdHh2wzMdzj//mIYfDPCXwbbw3LDLLrvUp2E/H/rQh5wQhmscwjjaGVz4+JFG\\\\\\n\",\n       \"4ntOa+V71DCMMUhsGMaY5uyzz4adIn722WcHzNt1113dvGbDwQcfXF/nnHPOcdNWWmmleIcddogv\\\\\\n\",\n       \"vfTS+Kc//Wm8yiqrxCussEL8yiuvNC0T9iu3OZiyY3oul4sfffTRhun/+Mc/3Dz8lWAbmH7JJZfU\\\\\\n\",\n       \"p+2xxx7xlltuGXd3d9enVavVeKeddoo33HDDOCs//OEP3bbnzJkTXObuu+8esH9m8eLFA6adccYZ\\\\\\n\",\n       \"cRRF8fPPP1+fdvjhh7ttaP75z3+66TgXkhtuuGHAdNR7lnOOc6TLuNZaa8UzZsxoqOfLL7+8af3w\\\\\\n\",\n       \"fvU2fZx++unx+PHj45kzZzZMP+GEE+J8Ph+/8MILDecT7fCNN96oL3fNNde46X/605/q03bZZZd4\\\\\\n\",\n       \"4sSJDXXJ55r5yEc+EpdKpfjpp5+uT0NbxnpYnznqqKPc9u+66676tNmzZ8eTJ09uaKsLFiyIp0yZ\\\\\\n\",\n       \"Eh922GEN+5w1a5ZbVk7fZptt4lVXXTWeN29efdpf//pXt7211147zkpvb288bdq0eIsttoiXLFlS\\\\\\n\",\n       \"n37ddde5bZ100kkD2sERRxzRUB/77ruvqwduy0ceeWQ8adKkuFwux0MBxyGv+az1CBYtWhRvsMEG\\\\\\n\",\n       \"8eabb+6uVZQRZdLnczD3M/Dqq6+683zBBRe4cVyjWA7XbBay3s94u/LYUC+YdttttzXUQ0dHR3zs\\\\\\n\",\n       \"scfWp3F7xz1R8vnPf961nblz5zZM/9SnPuXqku8tfL2ut956A+433BZwjQ3mvoLyos3gvMhr6sQT\\\\\\n\",\n       \"T/TWdxp2L23fvRTXSqVSaZiGdoS2ddppp9WnXXzxxe484btdw+cT9wMsc/LJJw9YBtPk99IDDzzg\\\\\\n\",\n       \"xg899NCG5b7+9a+76X//+99bbv8+0srk+079/e9/P2BfXHZs6/HHH49XW221+O1vf3vDd8pwfCfx\\\\\\n\",\n       \"sq3cN+T9aDD3en19o23gPnrcccfVzzXKvv/++7vjwncYQLvAs9abb74ZrF+UB2V5z3vek+k5rZX7\\\\\\n\",\n       \"v2EYYw9zYBmGEQR28SwhZvxLLcAvcQC/LOIXW3YCbLvttnUXFn6JXxrgV1G4VgYbXoFfBvGrJn4t\\\\\\n\",\n       \"xcDgl0o4UfArKdxZzeBfOq+55hr3iyh+wWwF+asjclMgdBDuLDz/4ddP/OKbBpxRcEvttddeDd2B\\\\\\n\",\n       \"4xdsnJ9//OMf9JnPfMZNg7sIYQbN0LnMzjzzTOdu4bDI4QLHAicU9i+PBS4AlOG2226rhzeBT37y\\\\\\n\",\n       \"kw1lZXcbfu3m3EFYB64CXY/8KzwcCHBBweGDkBMGYTSoNyQfh5sF7iwk0ofjBeEu0g2AMv30pz+t\\\\\\n\",\n       \"T8Ov93ADwjEjjwMhG3Bz4ZwA/IKPxP74FVo63nAu0bZbyVWCXvOQLwVhNDInDX4R32STTej6668f\\\\\\n\",\n       \"0AkAfhWX9YFxLPe3v/3NuTHQtlEGHA/cWu0iaz0CuAXgNoADAAMcir/4xS8GnM/B3M8AQmNw3uEa\\\\\\n\",\n       \"WRbgPMuQXNQDXBfchkPg/gCnKEJj8Vm2M9zD4IqAEwouUwaOj5DLAW6WwdxX0FbgwoArTjpb4P5C\\\\\\n\",\n       \"jsRWsHtp+4ATmME9DvcjDm9Hu2DQhuCMwfnTDCZfG65tIMPQAJxYcP/g/gL3zVDbfxqyjcNxjOcW\\\\\\n\",\n       \"3G8Ajl2HwMNphu8SOMvhYMS9fri+kwBcSDpUuxUGc6/X1zeeU/CcgfIDuOPg/sV3EdoEOo3AtQ83\\\\\\n\",\n       \"Ftxa0tEl6xf3XLQvHCcc81me01q5/xuGMfYwAcswjCB4EWkVfnD54Ac/2BCGg4cR2NthrV9aYH+D\\\\\\n\",\n       \"BWELeID81re+5QYfeEDMImDhgfXnP/+5ewHGwx/CrRAygLCILGLWCy+84EJwkHtLv4AjLKoZ//3v\\\\\\n\",\n       \"f91y06ZNCx4HgwfJVkU/hAueffbZTpzUoVftBseCkD8ZKho6FqBFDH5x4HrklwY8gIeAyIUwEbw0\\\\\\n\",\n       \"aRDmgTCLF1980YWzID8KhxNK9Lo4DoBwFB/8goTtgQ033NC7Tfmi2Qzelu848FKDUBEJ2qYU7ABy\\\\\\n\",\n       \"4AAOEUX4HsI/kDsH1wLCwiCYDFXMylqPDEQYvIChDUKcQT6bdtzPEE6EUE+I8a0Kz+3CJ1CjHTcT\\\\\\n\",\n       \"49BuIUog9AZDlusldM9EIm4dspr1vhJqw7iGW+3Uw+6l7QP3LYR6QRBA6CdEBgah6jJsDtddu3rf\\\\\\n\",\n       \"RHvAtQQxSIJQPogg3F6G2v6b/UAFAQcirr4GfN+peJ5Bfjd04qC/49r9ndQOWr3X+65vANEJIhh+\\\\\\n\",\n       \"NINQhR9tEKa99dZbu3EIWNgW7vkShArih0r8+CLzmvkET989p9X7v2EYYwsTsAzDSH3Iy5KjBKIV\\\\\\n\",\n       \"u0PYvYCHPQ1edNqdNLxZubL+Yiwf3gEnC0UuGLwQ+9AP4GnlwK+YcCTgl0/kErrsssuceAFnD1w3\\\\\\n\",\n       \"IVAuPCTiXMAJgodP5IOA+wt5QLIkNcUyqHskSvUhH7zx8J6ly3PkxkEeEABxDeIF8kGxsIEcFvwS\\\\\\n\",\n       \"jWl4aG+HAIBjQX3AKeaDBRYmVLdD+XW7HfB5gziCFzdNu14Whxu0K7yk4MUOzgQM6MThoIMOcjlu\\\\\\n\",\n       \"lhZ4SeKOGfDCDcGR8zQN5X6GdoaXOLxkcdtmlwXccRCXmzkgh8pg2zC3MTgqOdGzRucpCrmv4NbR\\\\\\n\",\n       \"128r95V2YffS9t1L4X7DjzMQe5H7DPdzbBfOuKWRLDure2s47uEQXPBjGjo9QF5OiFI4ZgjvvmNH\\\\\\n\",\n       \"DkLcz9DWkbtqtH0n+a5vgJxYcFbDbQXBit1i+ItxJJrHd7x0rGE68l/BDQtxFKIXcnvhewH5vzSW\\\\\\n\",\n       \"18owjFZZPp6QDcNYJg+RcAkhQXUzZKJRdjn4ejVDknEIMO1iMOEL/GunTuauf/Vl5wkevBAKMFTw\\\\\\n\",\n       \"cAjnFYZzzjnHvTwgAStELWw/dCwPP/ywS1aPh2eIAgxCtjShbSCpK8J44FJp9rCIULoswgNs/ywY\\\\\\n\",\n       \"4CUejjXt1mGHDoBw2Y5uvnEsCPdoxzkBXGaEiITAizjEkCeffHLAPDzA49yi9ymA3uDYXSXR63Ki\\\\\\n\",\n       \"XQgAacfCvctl2WYzeFtYTzu/MI3nyxczONTkCxjaIpC93EHMhEMBA9bBOUcyaLwcZxV5fWVt5ZgR\\\\\\n\",\n       \"0osQF4QgQeiF0xG9aA31foa2jXuDzyWAlzQIXa10DLE0QbtF72AQwdt1vQzmviLbsLxH4MV3MD9o\\\\\\n\",\n       \"2L20PfdS9AqHUD2E20rQnrlTFD7PSLIOIYOTjA/luxjtAfcJtAc4WBkkGce+9X1osITKhDYHRyUc\\\\\\n\",\n       \"WLL3Ut/9hoHDGD8q4N6Ga4pD7ofjO6kdtHqvD4EQPtzfIUph4J6fIU4hdB71yOMMwgsRtogfNWSY\\\\\\n\",\n       \"KgSsVsrfju88wzBGJyZgGcYYB24e4HsJG0zOGFi8YS9Hvic4FfhBGE4jhFn58mgMR9nTHozwCygc\\\\\\n\",\n       \"UchpxOi8ChAW4CjCizjKjF8RJXj5yuowgPOD3UoM98bI9vrQsfCvtfLXWXxG6IdGbkO+4ODXZhwf\\\\\\n\",\n       \"fmXXOWfQyw8evnn5weTAQqiAzP3BghAEDGwPuc+4bEMFx4KQBjwca2cc53Bpxb2Ec4iHb/RshZws\\\\\\n\",\n       \"0k2DesZLEM4BQuPQpuHCYfEGL1z4RRm/UnPIH3pYQ69TyMPE+TvQVrRLBWXHOjgfeInUL4bcvtDu\\\\\\n\",\n       \"0FYgKso8WBAw0VNYKy9722+/vWvXP/vZz5zrgl8u4JqC+CNf5hj0KMdCEOoD4ygrhFiAnCgy3Aji\\\\\\n\",\n       \"Art6ZOhIq2StR4CXawhXcI4gjw7aInpEhGsCQutQ7mcIvYObS4LceOgFFPtspyDfbtBuUQdoo7ge\\\\\\n\",\n       \"dZhsK/cwH1nvK3ixR5tBneE6YmFB986WBbuXtu9eivahXT/I54Qfn6TwjDYE5zCuffR0KeF7JLsd\\\\\\n\",\n       \"s3wX49pGrkScf3y/MvhhB+he6gZLqEy+79Rm7RHHiHsBcmFC4Mb3DATs4fhOAhAL4STF/V4/ewzX\\\\\\n\",\n       \"vd4HhCj0YojcVRDzpQMLTm18N0DAk2VE/aK+pKsd35vo8XI47v+GYYw9TMAyjDEOO6bgBkJSZrxo\\\\\\n\",\n       \"wEmBh+TB5IwBP/zhD52lHi/2sNsjLA0Pp3By6EShw1X2EHggRHfOeJnCQxYevpCvQeepAMing2PY\\\\\\n\",\n       \"csst6bDDDnPuAYgWsNO/9NJL9OCDD2YqJxLBQzDDgzkEB+wLL37IOYHtA5QDL3t44MQvvDgG5IDA\\\\\\n\",\n       \"CzLmIZQRLxYQPfALp+9FnOsD3dnjQRoPkqgXvMTjPKArbYR74SUSdYVfOPHCAjEM+bgGmwOLj0HC\\\\\\n\",\n       \"ghgefqVQOFTwCzBygaFbb+5KHUnE4VSDowAPytI9kAU8hOMYkNvjC1/4Qj1cDC9tqC8W6SAaYTn8\\\\\\n\",\n       \"Co8XErx8QaRBN+gMBDuEBSIUBW427v4b5x15UhicR3TzfuCBB7r94jxBTMBLAvYLVwteGAHOG9oO\\\\\\n\",\n       \"9o2XEbzEo/0i5xZ3mpAFnHMIO+hIAG0CCeS5a3WIcvrlFC8vCHfFCxvaIl5+UDa8fLLwgbxuKA9+\\\\\\n\",\n       \"5Ud7hlsJZYPoJt0VrZK1HpGAGeVDfqXvfOc7bhqcFX/605/ccaJd8P1gMPczXCsafiFGHeJFcSSD\\\\\\n\",\n       \"JNJweeL84R6GaxvnC7nT4J7C58GS9b6CtoL7F5bDdYuXU3Q+gfbU6rVq99L23UtxLlCfuE6QrBvX\\\\\\n\",\n       \"CgQC7aSF8/fXv/61E/ghKEC8wD0X7Qf3wg9/+MPOgYe2hdB4fM/jBxsIpr7cgviBC9csrmdcS2hH\\\\\\n\",\n       \"2C5EenxXyATuQyGtTPjRAvdtCEUIf8cPbMgDlgbE+d/+9reujBCtkGgc973h+E7Cdz3un9IN2gqt\\\\\\n\",\n       \"3uvTwPnGfQTPTngWAhDH8GMlHFE4Zgm+q/C8h3s3nGp43sGzFERRee9ux/3fMIwxyrLuBtEwjGUP\\\\\\n\",\n       \"uoFeffXVXXfG7eqi+Kabborf+c53xp2dnfGKK64YH3jgga47+nZ2O59Wdnw+/PDDveugS+yPfexj\\\\\\n\",\n       \"8bhx4+IVVlgh/uIXvxg/8sgjbh10SS15+umn44MOOiiePn16XCwW3b4+8IEPxFdccUWclZtvvjn+\\\\\\n\",\n       \"8Ic/7LrgRnfy+PvpT396QLfb6E57s802iwuFQkNZHnvssXjPPfeMJ0yYEK+88srxYYcdFj/44IMD\\\\\\n\",\n       \"ylsul+Mjjjginjp1ahxFUUPX5eDCCy+Mt9tuu7irqyueOHFivOWWW7ousl955ZW43fzjH/9w+7/8\\\\\\n\",\n       \"8svb2vU7QPfdM2bMiDfYYANXn6iTnXbaKf7+97/vuuuW3ZCfffbZA9b3da2O8//Rj340njJlimuz\\\\\\n\",\n       \"G2+8cfytb32rYZn77rsv3meffdx5QNvZfffd49tvv33A9h966CF3LNgO2gva6C9+8QvvtYV6wjbR\\\\\\n\",\n       \"PTiWX3/99eNDDjkkvueeexqWu/LKK+NNN93UdR+PNnLVVVe5OkM3861y2WWXxdtuu63bFq7NAw44\\\\\\n\",\n       \"IH7ppZcalsG20TU82v/ee+/tjneVVVZx9Ybu1RlcB5iPLttxLtZaay13PWW91hkch77ms9Tj0Ucf\\\\\\n\",\n       \"7bp0l92tA9QfrqMvf/nLcbvxdVvfjvsZb1e2EdTLvvvu692mvF7S2vtrr73m7oVrrrmmu4fhXrbH\\\\\\n\",\n       \"Hnu4+0GW65XbQogs9xW0mVNPPTVeddVV3XK77babu+Z85z0Nu5e2717a3d0dH3vssfVzsvPOO8d3\\\\\\n\",\n       \"3HHHgLYFFi9eHH/jG9+I11133Xob+vjHP+7uDwzuhWgHuA/Ieyz+6u+ivr4+1x54e2ibuKejTJKs\\\\\\n\",\n       \"7T9EqEy43/H9Hvfe/fff37VX/d3AZcczg6wL7BvfA3feeeewfCfxsq3cN3z3o1bu9SGuv/56t/33\\\\\\n\",\n       \"ve99DdMPPfRQNx33ZA2mbbjhhm6/m2yyiSujrx2kPae18j1qGMbYIsJ/y1pEMwzDkCB0D78SDuaX\\\\\\n\",\n       \"R2P5BL/i4pdqzqtlGKMFu58ZSxO7lxqGYRijmWXTJ7RhGIZhGIZhGIZhGIZhZMRyYBmGYQyBWbNm\\\\\\n\",\n       \"Nc3DwYm3DWO4QC6j3t7e4HzkQxtKwu7BYteHYW3FMAzDMIx2YQKWYRjGEGjWQ9Bgk7AaRivst99+\\\\\\n\",\n       \"dOuttwbnI/ktQjSXNnZ9GNZWDMMwDMNoF5YDyzAMYwigJ6Y0VltttZZ79TOMVrn33nu9PVNKJyB6\\\\\\n\",\n       \"Nlza2PVhWFsxDMMwDKNdmIBlGIZhGIZhGIZhGIZhjGgsibthGIZhGIZhGIZhGIYxojEByzAMwzAM\\\\\\n\",\n       \"wzAMwzAMwxjRmIBlGIZhGIZhGIZhGIZhjGhMwDIMwzAMwzAMwzAMwzBGNCZgGYZhGIZhGIZhGIZh\\\\\\n\",\n       \"GCMaE7AMwzAMwzAMwzAMwzCMEY0JWIZhGIZhGIZhGIZhGMaIxgQswzAMwzAMwzAMwzAMY0RjApZh\\\\\\n\",\n       \"LEf88pe/pCiK6J577lnWRRmznHLKKe4cGGHGcjvlY3/uueeWdVFGLHYNGcbIYuHChXTooYfS9OnT\\\\\\n\",\n       \"3f3rqKOOWtZFMlI45JBDaJ111lnmdfTiiy9SZ2cn/fvf/14q+3v99ddp/Pjx9Oc//3mp7M8wjJGJ\\\\\\n\",\n       \"CVjGiODhhx+mj3/847T22mu7L8PVV1+d9tprL/rxj3/csNx3v/td+r//+79B7+exxx5zL0/tfrm8\\\\\\n\",\n       \"5ZZb3EMfD8VikdZbbz066KCD6Jlnnml5ez/96U/di/BYZ/78+XTqqafS1ltvTRMmTKCuri7aYost\\\\\\n\",\n       \"6Pjjj6dXXnll2Pa7ePFi105wXo2EF154gb70pS+5h+aOjg6aNm0afeQjH1lqD64jjaHei4YDnBu+\\\\\\n\",\n       \"B+VyOZoyZQptueWW9IUvfIHuuusuGsmMxPo0jLHyowGuP2zjy1/+Mv3mN7+hAw88kMYy8nkOw6RJ\\\\\\n\",\n       \"k2jXXXel66+/nkYiy+qZ5bTTTqN3vOMdtPPOO7d1uxCocDyalVZayQmt3/rWt9q6P8Mwli9MwDKW\\\\\\n\",\n       \"Obfffjttv/329OCDD9Jhhx1G5513nvuCwgvYj370o7YLWBBEhssd8bWvfc09/F144YW077770mWX\\\\\\n\",\n       \"XUZvf/vbWxZbTMAiJ/xts802dPrpp9Nmm21GZ511Fv3v//4v7b777vSLX/yCdtttNxrOh0G0E9/D\\\\\\n\",\n       \"4De/+U1asmQJjSUgUkEI+f3vf08f+9jHXPs88sgj6dFHH6V3v/vdA4TmsUDoXoQXP7QPiPHLAlwz\\\\\\n\",\n       \"uAf9+te/pjPOOMNdL3/605/one98Jx1zzDE0EvBdQyZgGcay4+9//7u7R5x88sn0P//zP7TddtuN\\\\\\n\",\n       \"+dOBH1H5XnrcccfRU089RR/84AfpxhtvHHF1k/bMMlzMmTOHfvWrX7kfttoNBCwcjw/s77777nNt\\\\\\n\",\n       \"1jCMsUlhWRfAML7zne/Q5MmT6e6773aOAcns2bOXqwrCyzycZOCzn/0sbbTRRk7Uwpf8jBkzlnXx\\\\\\n\",\n       \"RhSLFi1yVnAf5XKZ9ttvP3rttdfcA9m73vWuAW0GgtayoFAouGGs8Oabb7o2DfcbhKz111+/Pg+C\\\\\\n\",\n       \"yD777OPCTfDCs9NOO9FIIo5j6u7udmVfWuTzeTcsK+BexQuoBNfKZz7zGfrhD39IG264oXNZLEvG\\\\\\n\",\n       \"2jVkGCMdPGvhh6J2Ua1Wqbe31znql1fw/CbvpfjxBnWEH1bxvTfW+e1vf+vu4xD1liabbrqpc+LD\\\\\\n\",\n       \"Mfie97xnqe7bMIyRgTmwjGXO008/TZtvvvkA8QogTImBjRuiB8QgtnUjDwB4/vnn6Stf+QptvPHG\\\\\\n\",\n       \"7mUVNuP999+/wWmFLztMA3Al8DbkL1Z/+ctfnAgFYWXixInORQWXyWDhL9dnn33W/b3kkkvcNBwX\\\\\\n\",\n       \"wrDwMHT++ecPCAPCPm+99dZ6GbXbqKenx4kHU6dOdWX96Ec/6n4NywJ+teJjRJ1/+MMfpscff7w+\\\\\\n\",\n       \"/4orrnD7xP41F1xwgZv3yCOP1Kc98cQTTuBYccUV3cMq3HTXXnutN7wB28R5wvGvscYawTJeeeWV\\\\\\n\",\n       \"zpH3jW98Y4B4BWDnh4glufzyy52IgvO/8soruwfPl19+uWEZtBeEImI6wt/wGXX49a9/nSqVilsG\\\\\\n\",\n       \"bQbTAH4B5HPAdnZf/h6Mf/WrX3WOHDxY4dyiTd9www2Z8lb4tgkRD+4zCEbYHtY78cQT3bnX+/ZZ\\\\\\n\",\n       \"7bE8Xx+gr6/PHQ8EDJwnXCOo25tuuonSwDmfNWsWnX322Q3iFUBd8/WIUALfr8Jf/OIX3b5wzhBS\\\\\\n\",\n       \"C0FMgpAXvAzgnGF76667Ln3uc58b8DJ07rnnujpF2VdZZRW3Xb0tHPMHPvAB9ws52iG2h/LjnOCa\\\\\\n\",\n       \"12C7EHxYdAbf//73nRCHMmN9tClcE5K0e1EoBxZcayg/zuVqq61Ghx9+OM2bN69hGVznKCucoijv\\\\\\n\",\n       \"uHHjXPm+973v0VDAccBJgGsU1w2EvcHW7b/+9S/aYYcd3LIIk4Y7QZKlnen2HqrPf/zjH+7z1Vdf\\\\\\n\",\n       \"PeCYfve737l5d9xxx5DqxjBGK1m+7zj9AZ5REB7H1x/fv/B9A1fWBhts4O5da665pnMj+b6H8B14\\\\\\n\",\n       \"6aWX1u9z/P2H/eOejnsLfzdefPHFDetzOf74xz+6exSeD3D/2GOPPZzzSYOQ6Pe///20wgoruGeZ\\\\\\n\",\n       \"rbbaaoBjP8uzSavCCb6n8MwqyVpHuAfiXojnLpwLPK/iO50JfXdw3YTcVc2eWXBPRl28+uqrmY6T\\\\\\n\",\n       \"n2NQZ/iL+6/v2QXLIXwQxyL573//68Q+5FPDNnAuP/WpT9Fbb72Vaf/Y109+8hP3WYZxanccnMXy\\\\\\n\",\n       \"u8wwjLGD/QRqLHMQaoOXEIgi+LIMgRcwhBbi5Qk5XQC/UMO9hVBEfEniyxJf6BCG8EKIl0G8CO6y\\\\\\n\",\n       \"yy7ODYUwNDw04GEE8F9s/+CDD3Yv03As4OUb28ADx/333z+ohJn8oIOXOIDt4eHtQx/6kPvlCl/A\\\\\\n\",\n       \"EHTwEokXWoCXySOOOMI9FEDAAXjwk2A+Htzw0IRjxTp4eETIYhp/+9vf6H3ve5978cTDDcJ4EP6F\\\\\\n\",\n       \"/AWwZOMYIdph33iQRM4HCbaP8vN5gtCGdfGSfcIJJ7gHSayHh2WIUBDWJDhWPGiddNJJ7oU1BD9k\\\\\\n\",\n       \"Zs3DgQc/ON4QromwKTi38DALxxDOnRRH8eCOc4wHL4gVqJMf/OAHri3BmYLy4TzhM8oPJxjAA3Ia\\\\\\n\",\n       \"eLG/6qqr3DFC/EQ7w0Mcckfx+W8FtHW80OMB/Nhjj3UP7Dg2iI2+F/pm4Hxjfb6GkF8M4hHOOx4G\\\\\\n\",\n       \"Q6CN4iH0E5/4hHc+BCdcIxBG0Z6k2wltEnWPfT/55JOuXiE28wM5fvXfe++9XZ2j/WBZtGfUowSC\\\\\\n\",\n       \"Cp9jXMN42UKoMc4tzjFyzjHYz6c//Wm3DkKS8ZLwyU9+0pUBQhwequU5Q3gv7hsM2g2uzwMOOMA5\\\\\\n\",\n       \"CP7whz844fu6665z10aze1Go7vFiseeee7p2xXWB+5YuP4Sj9773va7doc4hniHnG0I4ce0OFlzT\\\\\\n\",\n       \"aM8Iv8U9Eddxq3WLF0m0x89//vPuXomXULxsQOTj7Q2mnYXqEyFNeBnES7G+l2Aaltlxxx0HXSeG\\\\\\n\",\n       \"Mdpp9n2H5x9cf0cffbR7dsJ3DcA9Gc8luBfiPonrEssiXymcnDNnzhwQQo3vAHz/474PoQfPE/gu\\\\\\n\",\n       \"xnXMAhe2ix8KcQ/BvUEniz/zzDNd+giIbBA8IN7jXixz+EEIgpi+6qqrulB23NPxvYh7NMYH82yS\\\\\\n\",\n       \"BZQH92d5r89aRygPyoznCPzYA6EL99N25JBs9swCARHlwj27WW7Vv/71r3WnGe7jSJqO7wb9gyNE\\\\\\n\",\n       \"MXx/aTcvvjPR3iDe4TkV5wb7x7nBDzaItmgGvpPwvYzzjLbpA985qGPUa9p7g2EYo5TYMJYxf/3r\\\\\\n\",\n       \"X+N8Pu+GHXfcMT7uuOPiG2+8Me7t7R2w7Pjx4+ODDz54wPTFixcPmHbHHXfgp5n417/+dX3a5Zdf\\\\\\n\",\n       \"7qb94x//aFh2wYIF8ZQpU+LDDjusYfqsWbPiyZMnD5iuwfaw3YsvvjieM2dO/Morr8TXX399vM46\\\\\\n\",\n       \"68RRFMV33313sJz77LNPvN566zVM23zzzeNdd911wLKXXHKJ28+ee+4ZV6vV+vSjjz7a1d+8efNS\\\\\\n\",\n       \"y7nNNtvE06ZNi19//fX6tAcffDDO5XLxQQcdVJ/26U9/2i1XLpfr01599VW33GmnnVaftscee8Rb\\\\\\n\",\n       \"brll3N3dXZ+Gcu20007xhhtuOKDc73rXuxq2GWLbbbd19Z4FtBOUdYsttoiXLFlSn37ddde5fZ50\\\\\\n\",\n       \"0kn1aWg7mCaPgfe33Xbb1cdxDrHcySefPGB/mKZvnRgvlUrxU0891VCvmP7jH/+4Yf9rr712020+\\\\\\n\",\n       \"8MADbvzQQw9tWO7rX/+6m/73v/+9Yd++cmI/8lrZeuut43333TduFVwXWDeNr33ta64cDz30UMP5\\\\\\n\",\n       \"Rp3K6/h73/uem37NNde48auvvtqN8/Xh45///Kdb5tJLL22YfsMNNwyYjmPGNMyTPPnkkwPOBfjK\\\\\\n\",\n       \"V74ST5gwoeG61Ncoyo+29Z73vCfTvYiP/dlnn3Xjs2fPdm1j7733jiuVSn258847r37PYHDN63tW\\\\\\n\",\n       \"T09PPH369PhjH/tYsI7k8aed4x/+8IcN9T+Yur3tttvq03BsHR0d8bHHHttSO/NdQ6H6nDFjhtuH\\\\\\n\",\n       \"vLdhv4VCwdvuDWMswvcdeS/N+n0Xunf85je/cd/5uE9Ifvazn7nt/vvf/65PwziWffTRRxuW/fzn\\\\\\n\",\n       \"Px+vuuqq8dy5cxumf+pTn3Lf8Xy/5WeoTTfd1N3zmB/96Edu+sMPP+zG8fyw7rrruvK++eabDduU\\\\\\n\",\n       \"z0RZn01CYJ8oO54FcL+555574ve+971u+tlnn91yHfG9F9sLob87GK4b+dyqnyXSnlmwPczz3V99\\\\\\n\",\n       \"z4g4X/J+i2d0rC/3h2cd33fq/fff76bjWXsoHH744QO+IyS33367m3/ZZZcNaT+GYSyfWAihsczB\\\\\\n\",\n       \"r/JwYOFXLISN4Rc3/IKDX86y2r2l6wO/DOFXI9i54ejAL//NwC89+HUIzo25c+fWB+SywS+XCGXJ\\\\\\n\",\n       \"Amzy+DUMIUJwa3BYDKzrupz4NQ/7gMsJCcuz2qsBfumTlmqEBOKXVrhbQsA+/sADDzjHBCz1DH6l\\\\\\n\",\n       \"wzmQ3RLDsQJ3jLSswwmCXxsxD7zxxhvuF1e4RBYsWFCvM9Q9zh9s5DqED46YLPmB8MssXExZgLsD\\\\\\n\",\n       \"ZYXzSebbQP1vsskm3l6DdNJR1N9geouUwF0jf5lFvSJsbjDb5XOhk27zr+OD6QkJ1wJ+rcR5aQWc\\\\\\n\",\n       \"22bngufjvOl2Kh08+LUWzkM+PnbG4ddZXLc+EBqKX23RRuW1iV9g4SrS1yYcYTo/CXKZILm5dCji\\\\\\n\",\n       \"ekGbRv4OeV3Kz/i1Hdcl2keW+4gPOB7wqzScBnAWyGsB7UOfSxyTzLtSKpWcM2mo7ZO3zed0MHWL\\\\\\n\",\n       \"X+VRFwzudXC4ybINtp2FQNgpfs2XYZw4jwix1bm+DMOgtn3f4f4A5w6+R+X9gVMj6PsDnmVkHi3o\\\\\\n\",\n       \"QHA74R6Lz3IbuEfj3qrvq3D74J4nywq4vHCGwiWK+6lOO8HPRIN5NvEBtyrucUh5gGe4m2++2YUG\\\\\\n\",\n       \"yu/lrHXEZb3mmmvcc9TSBE441H8z9xU/I8KpJZ1S+H7Q+dFQlwCRABJeD2H8iGIYLni/qGvDMMYe\\\\\\n\",\n       \"JmAZIwKEfiFsCC+M//nPf1zCczx4IFwF4S7NQOgSwtIQbgJrNuzrePCAKJVFGOKXLTx0YD05wFKd\\\\\\n\",\n       \"NZk8ygAxDA9PDz30kLNByzA42MUhdHD+KWyfcyC0ImCttdZa3i9znbdGwuIWXjg1eADDgwCH9SGE\\\\\\n\",\n       \"CQ8i8oUfnyECQAwAsL/joQjdGes6Q2gj0PUGcSELeLHnl+xmpB0XHiq1qAeRi/NFyPpLq7vBnJOh\\\\\\n\",\n       \"bBdlhtgBEVYCOz7aTZpQGQJhC7gecP4Qjvb//t//c220GRCnmp0Lnq+FLuRBkkAUQdgH5/jACw/C\\\\\\n\",\n       \"FRBeh2sW+diQJ07mDsG1iWsDLxG6nS1cuDBzG4PwiuuPX1wgzmJdFmQZiGkIeUE7gdDL4RmtXJ9Z\\\\\\n\",\n       \"2ide0hDKq88lQjV0vo92tE+A+pLnqdW6zdLGB9vOQuAaxvcDQgYZfMY50teHYRjUtu873B8gRut7\\\\\\n\",\n       \"Az8DNLv3Ii8n7gXolVlvA0KVbxvNnm04LUNa2Nhgnk184PsIz3P4kYHz9kGUkT9EZK0jfM8gpBGh\\\\\\n\",\n       \"0kgJgbB1hDQubTErDf4u0t/boecroHNQoQ1A4Pv5z3/uvtMhGCKf1WC/P0PwfvV3pWEYYwPLgWWM\\\\\\n\",\n       \"KPBSh5cVDHgAwEMOfuHih44QiLXHiy9+lUNOFIgv+GLDQ0KWBwReBvH2MkcOk7XHLLywQaDygQcv\\\\\\n\",\n       \"JCTFC9k555zjxDYcL9woiOVv5UEm5GJqV0JLiIDIFYFcS0g+jTwWePlHV/cMlxe5KkI98ugXzKy9\\\\\\n\",\n       \"waGO8Evriy++6OqpnQxXD3FZzknoYYsT6mqG8nCmt4kccGiD+AUYoiweMNHufvazn7mH6hAQN3Eu\\\\\\n\",\n       \"ICqhXfiAQAGnle/BNw0cH5w1d955p8u1hV9t4WJEjhZMg+CFdgaBRQoYEv1yFmpjeIGAMI77Ce4T\\\\\\n\",\n       \"eHnAfQJiLfPPf/7TOUFRV2j3ENtwXLi3IGn40mA4r23ufIGvy1brNkvZBtvOmrmwkNvmpZdecu0Q\\\\\\n\",\n       \"bQN5ugzDGL7vO9wf8EyD5xUf+rtZ33v5GQFOSbh6fOjcku24/w3m2cQHfkzg5zkkjIcggzxe6GCD\\\\\\n\",\n       \"80xlrSPUzW233eYcWRDEkOAePwriR1PcJ3HcrT4fLEs4r6dPCMX3N5z+/B2A3IrIp4X7dlrnPa3A\\\\\\n\",\n       \"+8U5MQxj7GECljFi4bA72XNK6AseL8F4QMIXJ9Pd3T2gl6/Q+hz6hZe5kAA1VPCCjpcvhEXKXxl9\\\\\\n\",\n       \"4YnD8asSkuUDJJDWoIcaPAjAGSZf+BH+CNs8EqTiAVK6VeAeAXjBb3edIeTg97//veumGaJD1uPS\\\\\\n\",\n       \"XSpjGs9vheH6VQ+/Jus2CbQLB2XGgzF+3eVOBgCERKwvj8m3TYSs+XocgqMIojAGOGwgNuCX5TRh\\\\\\n\",\n       \"AYlnEeIL4ccXsgU3FYQftAH9AoPyy97/sE+UCy8DErhpMKD3KQhFSNqL5OkoF65NhOHh1+usAqgP\\\\\\n\",\n       \"/DKMUDy8NOAlBI5PiLRSlEO4CxwLENLkdAhYg20jsn3yNcPnCKEww3W/0aDuIUjjhYrbVLvqth3t\\\\\\n\",\n       \"LK0+8UMEftXHPQFuW9xztHPOMIz2gvsD0jrgh7fBfCdCAIfbEwJMu+5z/KwGMT60zeF6NkFycYjx\\\\\\n\",\n       \"3/zmN12ydNRJK3UE5xaWwwDBCz8IoqMePAOinOw209/nWRzX7Xhm4e8qX/i3fm7EMyy+M7iHbQ1E\\\\\\n\",\n       \"PQyoK3SwhO8Y/Ijx7W9/O1NZmh0P71c+HxmGMXawEEJjmYMvb9+va5wnR1qXIbD4BAD8eqW3gd71\\\\\\n\",\n       \"9C9XLNDobeBXOoSt4YHCl4sHVvihwr8synLCVu17OQ4d51CAmwQhgBCl5LbxIIhfybSogAcqvIji\\\\\\n\",\n       \"hR8DXv5liADEPvTyeMEFF3jFkqHUGUJH8fADQQPiiS9kjXtohNCJsuDhSIaeoacjCG/cc1wroNdK\\\\\\n\",\n       \"0O5zgIddnHMZUoW6070K8rlA75IS/pVXHhO2iV92JQjZ0G2fc1YwcDfhV2jd1bfvoR31i1AwnTcF\\\\\\n\",\n       \"IjFECrRphM9qUA55PSEUD7mLuDc9/Iqqr1u0UcDlQh4THMvpp58+YPvYVivnCKIHfgVG73kImdUi\\\\\\n\",\n       \"CP8KLusOAp3ubauVaxTXEZyW6JVSHivyq6AtDKZ9tgpEH4QyIzcMrht+OWhn3Q61naXVJ8R1tBkI\\\\\\n\",\n       \"2nCLwTVnv7wbxvCC+wNCri+66CLvPSWtJ2G+nyJEHD8MsPtzqM8Ib3vb29xzCL4b9f2C76/D9WwC\\\\\\n\",\n       \"Jz7yUOK5Au6iVuoI916N/q5jcU5+n+P+jO/RoTyz4DsYP1L66iL0jChD/hBGqVN5QBzEsxdykEqQ\\\\\\n\",\n       \"BxPfHRI8y0G8a/YdkOVZnbn33nudg5p7vzUMY2xhDixjmYPwP+QVwC9aCB2DMwG/2EA0QfJJzpUA\\\\\\n\",\n       \"kFwYjgG8yCNROh5kkGQdLhGE/+ELDckmIXpgObY5M/hyxkPVWWed5b6g4bKAawcPPHi5xkseHpDw\\\\\\n\",\n       \"iz9+PXzhhRec3Ru/Hg01ZGXvvfd2L7JwF0EUgDMBDz3Yt36wwHGiPPi1Ci9/WEa7iwbD2Wef7V4E\\\\\\n\",\n       \"EWaJbqzxgAWhD/UGh4R+QIFNHk4YPIShC24Nchu8613vcg8oSEqNXz7hEkL9I9wHv0wOBuwbDhm8\\\\\\n\",\n       \"/MO9gYdEnANMR74JuHTwayUELkzD+UQ7QU4lJOJHGX70ox+59oPuwVsFvyyiHaENIpQVQh5ybgy1\\\\\\n\",\n       \"u2a0q+OPP961ddjq0e5xnrEPmcx26623do5CPLjiAQ7HhdxweLCEa0i6muBqQZJevCgg2SrqHA4i\\\\\\n\",\n       \"/YKP48FDPdoWjgcPnnAuwo2UBq4hLAehBdcG9odtzZo1yyWFRb4R1PVOO+00YF1cy/i1GecPv+Ai\\\\\\n\",\n       \"LA/tBWF6AMeDaagPPLxDmMQ1ATGZRTwcO64XhCAgwSyuI5xz/EoMVxj2DcEzCygHwkowoA70r/M4\\\\\\n\",\n       \"RtxbIJB85jOfcflL0MZxDeo8TqF7kQb3EbgIkecL28Wxc10gVLrdicjxMgWhB+AegxcP1BPOF16+\\\\\\n\",\n       \"UJdMO+t2qO2sWX0ijJDL4hPcDMNoL3geQqg1vl/wQyO+gyGoQAzBdHzPsFM+xJlnnunWxbWMZwTc\\\\\\n\",\n       \"HyDm4PsO17tP2EkDQgi+M/Echec5fO9DeEGZ8GyAMg3nswlC4/BjDZ458F2ctY6QGxDCFL5j4HTC\\\\\\n\",\n       \"dwu+AxBSh3ICiDFwIuP7AvWC+yeev7Qg1OozC74T4FTCM0WzRO74LkAZUSaE86MceEZE2TiHoswR\\\\\\n\",\n       \"hh9EIFrhOxsg/yvu9fvvv78rB8qOZ3MWM7OC7wOA5yT8wIz18fwkRTW0AcuBZRhjlGXdDaJh/OUv\\\\\\n\",\n       \"f4k/97nPxZtssonr0h5dzm+wwQbxEUccEb/22msNFfTEE0/Eu+yyS9zV1dXQLTC6U/7sZz8br7zy\\\\\\n\",\n       \"ym4b++yzj1sW3f7qroMvuuiieL311ovz+fyAronxGeuie+fOzs54/fXXjw855BDXhXIa3M1xs66D\\\\\\n\",\n       \"r7322nirrbZy215nnXXis846K7744osHdJ08a9Ys16X1xIkT3bxdd9012FW23L88lhB/+9vf4p13\\\\\\n\",\n       \"3tnV4aRJk+IPfvCD8WOPPeZd9qabbnLbjaIofvHFF73LPP300/FBBx0UT58+PS4Wi/Hqq68ef+AD\\\\\\n\",\n       \"H4ivuOKK+jKhcjcD5/Wkk05y3WGPGzfO1dsWW2wRz5gxI3711VcblkV3yugevKOjI15xxRXjAw44\\\\\\n\",\n       \"IH7ppZcalkFbGD9+/ID9oOtpfTtEN83oahztUXZP7VsW4+j2WeNrf+iSGseA7W688cbxb3/7W+82\\\\\\n\",\n       \"+/r64lNPPdV1GY56XXPNNd1xy27BQaVSiY8//njX9lFHaL/o4lrv+9vf/na8ww47xFOmTHHnHtfb\\\\\\n\",\n       \"d77znbi3tzfOAtrnYYcdFq+11lquPNjfhz70oQHdh8vzfeutt8Zf+MIX4hVWWMFdlzgnr7/+en25\\\\\\n\",\n       \"++67L/70pz/ttonzNm3aNNd2fNfbhRde6M4Hyo7rAm3iuOOOi1955ZXUruA1aPso26GHHuqd/4tf\\\\\\n\",\n       \"/MJ1s47yoI5wLL7zE7oXhbpCP++889z2UHerrLJK/OUvf3lAN/C4zjfffPMBZdJdpofAMtg3X7O4\\\\\\n\",\n       \"vrE9nLe77roruN5Q6hZl5vtT1nbWSn0yPT09rh3h3rxkyZKmdWEYYwnfd2wr33eh6xvXLZ5TcB/B\\\\\\n\",\n       \"PRHXIO4V+G566623mn4HAjzHYR6+w3D/w7PCHnvs4e47zZ6hcB/FdByf5F//+le81157ufsVjhHP\\\\\\n\",\n       \"VT/+8Y9bfjYJkXY8p5xySsPzVpY6uvnmm+MPf/jD8Wqrrea++/EX330zZ84cUOY999zTbQffEyee\\\\\\n\",\n       \"eGL9OUw+3/m+E0LPLFyH+p4a4sorr4w33XRTV4bNNtssvuqqq7z7w3ktFArxb37zm/q0Z555xj3P\\\\\\n\",\n       \"49kZz2t4Ftt9993dc2crlMtl9w4wdepU910m2+vjjz/uxlvdpmEYo4cI/y1rEc0wDMMwDCMEfsmH\\\\\\n\",\n       \"Mwu/uiP80jAMw1g6wHmGnnu5B2EGTv6ZM2e6PJhLC3TCAjcbwgjNgWUYYxPLgWUYhmEYxogGeciQ\\\\\\n\",\n       \"uwahhIZhGMayBz2E33333a6X6qUBciyiZ1uk1zDxyjDGLpYDyzAMwzCMEcldd93l8o8h79W2227r\\\\\\n\",\n       \"8nYZhmEYyx70RojOXLKC3LPIvZrG9OnTU3Ny6lxchmGMPUzAMgzDMAxjRIKEzUhKj4TNzRIQG4Zh\\\\\\n\",\n       \"GCOXI4880nXekoZltjEMoxmWA8swDMMwDMMwDMMYNtAr7iuvvJK6jO4d2DCGG+RUQy/tyKuGXuGv\\\\\\n\",\n       \"vvpq18toGsgJd8wxx7jeT9dcc0365je/6XLFGUsHc2AZhmEYhmEYhmEYw8Zmm23mBsMYSSxatIi2\\\\\\n\",\n       \"3npr+tznPkf77bdf0+WfffZZ2nfffelLX/oSXXrppXTzzTfToYceSquuuirts88+S6XMYx1zYBmG\\\\\\n\",\n       \"YRiGYRiGYRiGMWZB5wDNHFjHH388XX/99fTII4/Up33qU5+iefPm0Q033LCUSjq2MQeWMeKoVqvO\\\\\\n\",\n       \"Yjxx4kTrZcQwDMOo50ZZsGABrbbaapTLWSfKyxr7rjYMwzDa9d2MDgF6e3vbVibdU2VHR4cbhsod\\\\\\n\",\n       \"d9wxINQVzqujjjpqyNs2smECljHigHiFeGLDMAzD0Lz44ou0xhprWMUsY+y72jAMw2jHdzPEq3XX\\\\\\n\",\n       \"nkCzZlfaUqETJkwY0GPlySefTKeccsqQtz1r1ixaZZVVGqZhfP78+a6Xza6uriHvw0jHBCxjxAHn\\\\\\n\",\n       \"Fdhkk0Mony8t6+IYyy1Rk/GRsq3hIm7juiNlW8ZYplLppSee+GX9O8JYtvB5eBe9nwpUtNNhjEmu\\\\\\n\",\n       \"nvnwsi6CMQrIrXI/La9AuIHxYCjfzXBeQbx6/t51aNLEoTms5y+o0trbPecEtUmTJtWnt8N9ZYwM\\\\\\n\",\n       \"TMAy2s7LL7/s4oP/8pe/0OLFi2mDDTagSy65hLbffvtM67PlE+KVCVjG0ESiXJu21U7RaWmFPlXb\\\\\\n\",\n       \"uK24TcITl8lELGPw6LAAY9meB4hXhcgELGNsMtSXbcMAOSG0jOXv5gkTIzcMhWrtmR3ilRSw2sX0\\\\\\n\",\n       \"6dPptddea5iGcezL3FdLBxOwjLby5ptv0s4770y77767E7CmTp1K//3vf2mFFVawmjaWIkMRnYYq\\\\\\n\",\n       \"WI2Uh9lcGwUuXSeDFbRybRTDDMMwDMMwjNFCJa5SJR76NoaTHXfckf785z83TLvpppvcdGPpYAKW\\\\\\n\",\n       \"0VbOOussZyOF44pZd911rZaNpSzYDEaAipaRM6sd2xmMKJQb4na4zK3uNxL7NjHLMAzDMAzDWDYg\\\\\\n\",\n       \"V9ZTTz1VH3/22WfpgQceoBVXXJHWWmstmjFjhosu+vWvf+3mf+lLX6LzzjuPjjvuOPrc5z5Hf//7\\\\\\n\",\n       \"3+mPf/yj65nQWDqMFKuAMUq49tprXajg/vvvT9OmTaNtt92WLrroomVdLGPUwuJPNEgxSK6vt5Vl\\\\\\n\",\n       \"2cFsu5VttEI79jeUuhiuejcMwzAMwzBGO1WK2zK0wj333OPeVzGAY445xn0+6aST3Pirr75KL7zw\\\\\\n\",\n       \"QoMxA2IVXFdbb701/eAHP6Cf//znridCY+lgDiyjrTzzzDN0/vnnu4v/xBNPpLvvvpu+9rWvUalU\\\\\\n\",\n       \"ooMPPti7Tk9PjxtkMkDDWHo6fNSG5dKEnnbtv9k2snxhx4H9yXX1/HiYnFi8Lq8/vJZvwzAMwzAM\\\\\\n\",\n       \"Y+RSdf+Gvo1W2G233SiOw8+wv/zlL73r3H//8pt4f3nHBCyjrVSrVefA+u53v+vGoWA/8sgj9LOf\\\\\\n\",\n       \"/SwoYJ1xxhl06qmn2pkwBiFcDTZUMGqzMBYt5WPwgS/fZl/aoX3FLdRDNUO9DjakMcsxGIZhGIZh\\\\\\n\",\n       \"GIYxFrEQQqOtrLrqqrTZZps1TNt0000brJcaxBa/9dZb9QHdnhpGev6kVoWfVkLoePvNtpVrsqxe\\\\\\n\",\n       \"xje0O4RwsPvTy6SVK2vZBxtaOBx1YxiGYRiGYYxkKnHclsEY3ZgDy2gr6IHwySefbJg2c+ZMWnvt\\\\\\n\",\n       \"tYPrdHR0uMEwhkcQ8X0OLedbJsu00DJZlmsnrYb/+ZbjcMRm24pamNdKmOFgj8EwDMMwDMNYXhlM\\\\\\n\",\n       \"DivfNozRjQlYRls5+uijaaeddnIhhJ/4xCfoP//5D1144YVuMIylaxjNKnZlEZqiNpVtabuKfMKS\\\\\\n\",\n       \"TyBKE6B4GZ9glSZipW0rC1zWSsblDcMwDMMwDMMYzZiAZbSVt7/97XT11Ve7sMDTTjvN9dRw7rnn\\\\\\n\",\n       \"0gEHHGA1bQyCwYSSpbmp5DLRIOfl2iRmDVcEdzXjPqrimPKB+T6hKuTaypL/KovgpeGyWX4swzAM\\\\\\n\",\n       \"wzCM0QrcUxVzYBlNMAHLaDsf+MAH3GAYQ2Mwea7k31aWSQs1DAlagxXIsqw/FJoJYywwNUvoniZK\\\\\\n\",\n       \"pbmqmolUQ3Fk4dgsybthGIZhGMZow0IIjSyYgGUYxgik1VxXcr1WthkNk4g1mFxdgxW0molLoXVC\\\\\\n\",\n       \"riot8vkEL53XKhpkaGGreQq4niy/gWEYhmEYhmGMNUzAMgxjOXZeZRF+0noJDIlSaeuE9tGqSyvr\\\\\\n\",\n       \"PpvRiiMp9oQMytC8kDsq10J4YSi00FfOrKGHEpTFwgkNwzAMwzBGE+3oRdB6IRz9mIBlGMZyLF6l\\\\\\n\",\n       \"bSdtPZ/DyrdOyJWVa2F/zY4pS+hjGll6+GPBJ6vI1oqgpcUsdkjp8uh1fGR1V1k4oWEYhmEYxmii\\\\\\n\",\n       \"2oZEEZZoYvRjApZhGCOAVkWctOWjIQhRvvWz9FIYWi60j2brtEKrydOz5MPS9RUKIwy5rJrluYpS\\\\\\n\",\n       \"prUiYmUR7wzDMAzDMAzDGA2YgGUYxgghawhdM9EnJMb4RKy0HFbyc65NLq4syw8F6YbS+PblE5zi\\\\\\n\",\n       \"QMigJJRzK5QXS4tSIZEqS+4siSV1NwzDMAzDGA1U2tAL4VDXN0Y+JmAZhrGchA2mCVet5LnS+0tz\\\\\\n\",\n       \"TrWS2N033iy0sN00E3QqnuXlF33IaZXzhCLqZXzLpYlSaSGFaaGIGsuJZRiGYRiGsbxTiZNhqNsw\\\\\\n\",\n       \"RjcmYBmGsQyQAkgz8arZciHXU0hwColOzfJaZRG0chmTxLfqItOkfTunCT95NT0kHMn9VDPky9Kh\\\\\\n\",\n       \"fFwXcQv5sUJJ3mVZQsi6z5oM3jAMwzAMwzCM5QkTsAzDWMpkEXDksvJvaH7a8lETAUvOS9t+Whhh\\\\\\n\",\n       \"lpDCVvJ1ZRGwfCINu6dCwk81IGjFGXNVhfJl+ab7ykYpZUsLK8ySG6tZ3i3DMAzDMAxjpGJJ3I0s\\\\\\n\",\n       \"mIBlGMZSptXQuSzOqzRnVLO8VNJZ5fsbEtH0es3CCX3HAQGpnegQQVIClRas9HztuCLlbCIlJHHY\\\\\\n\",\n       \"oO7l0JfgvZIieknhLeTEyipI8XZ8dWEYhmEYhmGMRKoUUSXTD9zp2zBGNyZgGYaxlGg1aXnWnFeD\\\\\\n\",\n       \"yXOV5p6S5dQhhiExK99i6GGaoyzrF28oFC+UdF1Pk+MVT+gfr+fbHyeL9znUtNOK1+M60mKX3H6W\\\\\\n\",\n       \"cMKsQla+SVJ7wzAMwzAMwzCWJ0zAMgxjKdCKMBMNIjxQ7ye0jBSmQuukiVZyui5T1GT/zcIJ06aH\\\\\\n\",\n       \"lo0zbCeUdD0KiEu8DuNLzB4SuXS5ZCL3tPxYepnQ9kPhhyFaFb0MwzAMwzCMZUE1ToahbsMY3ZiA\\\\\\n\",\n       \"ZRjGCBOwePlm07KE/TWbLudJgSnkwEpbLyR8+croW6Yd+EL5dOJ2uYx2VcmyscjlE7PkPrRIJZ1Z\\\\\\n\",\n       \"accnRTT9V67bLC9XGiZgGYZhGIZhLA9U2hBCONT1jZGPCViGYYxwoSskfjVbLiQWNROffNOzhBT6\\\\\\n\",\n       \"nFbaddWsp8OhwOKR3KYOoWPhSYbpyfWky0q6rXg7Wgjj+T4RrFl+LF8vhXI+E3Jr+ZY1DMMwDMMw\\\\\\n\",\n       \"DGO0YgKWYRjDTBanUdRiAvaQc0rOzxIWmOa68uW14v01c26F8mXlh+hMazUnlkxkLt1YVU+uKRap\\\\\\n\",\n       \"pPvKJxBVPKJV1CTnls6PxZ9lPev9a8FKu8GyhhNqwc4wDMMwDMMYaZgDy8iCCViGYQwTvnxQoeXk\\\\\\n\",\n       \"X2phPC1U0CdgacEptE7URPRqtu00R5Z2hqXVSYiQYKMdUL55OsRPO7dCTivyCExyXJa7FYdUyIHl\\\\\\n\",\n       \"24YW1Xyhhz743PhEPsMwDMMwDGNZU40jNwx1G8boxgQswzCGiVbcRWkhgj6By+e80su2KiDlAiF/\\\\\\n\",\n       \"IeHKN8+XJL6VHgp12UP4hBifMBPajhSJpFtKhvvJedK5JctXDYQH8rFVlHtKLhdlcFnpMvuEqmbi\\\\\\n\",\n       \"la4LE7AMwzAMwzAMY3nEBCzDMIYBHSoXolmIoJwmP/ucTnLfvhA/6ZIKCV0+IUqPy+XSBKy0MEUu\\\\\\n\",\n       \"Z7O6yEI1JWwwFMYnw/+0gMXjMqSvqkL+dG4t8vRmKIUvuQzXjRS35L7l/nwCVdYQQx9cfllHhmEY\\\\\\n\",\n       \"hmEYxrLGQgiNLJiAZRjGMnBdhZYJ5bPyzW823SdWaeEpHxC39OfQPF6XRbO0MMOQ6KbDFZvVkU84\\\\\\n\",\n       \"koJOPiBSyekyQXtcE3RiJTJp4Uquq8MG+bMUhnTeKb09nWxebqtZOGFIsMrqsrJwQsMwDMMwjJFE\\\\\\n\",\n       \"hXJuGNo2jNGOCViGYbSJkBDjW07+1dNDy/hcU2nijxagfOITZRCqdGJ2HWqYb+LU8u0nS72FvsCr\\\\\\n\",\n       \"TQQsPV1ul4UqGQLI4/IrX4b8yV4JpXglP8txCszn7fJ837nV03maXEZPG2xOLL0twzAMwzAMwzBG\\\\\\n\",\n       \"MiZgGYaxlN1XvGyzdUOCTsjZJJcJJVr3iUpZhancELahy+o73qxhl/kmvzVp95WvB0Cex0KPz8kk\\\\\\n\",\n       \"xSC5HV6PHVUy3E86qeS4dF3JXFrSCeYL//MJa1qw0sfWTLxKW9cwDMMwDMNYFsRtSOKObRijGxOw\\\\\\n\",\n       \"DMMYIlpESltO/s0aNhgSfkLhgdREaErLc6WFKDmPhSM9T25L70OWU47LMvmmt4JOwO6bzvMKKseV\\\\\\n\",\n       \"dFdJJ5ecV1HztWjF+wjlx+JcWPxZimEsYsneDHWyd73NLOGEWR1WXGYznBuGYRiGYSxLLAeWkYWh\\\\\\n\",\n       \"BZkahmFkIkvYII/7wvv0sqHeAn1iVGhcClO+gecVxDh/5ulyKNaG0DLFJkNhkEMr25XlCu1XLuOr\\\\\\n\",\n       \"g7T6CoVghsZDIZ2+dqOnZ2lLvuk+7Nc6Y2xz5plnUhRFdNRRRy3rohiGYRiGYQQxB5ZhGEuJNLHK\\\\\\n\",\n       \"Jzb4QgD1ZzkunUxp+a+00BJyXjULIZT7yKfsz5conkkLKfTVmc9NpEMGGels8jmppOuJc2PJXgKr\\\\\\n\",\n       \"ns850XugDBfULjAZbijzYMnySKeVDFf0Hbesj1BOrKGEExrG2OXuu++mCy64gLbaaqtlXRTDMAxj\\\\\\n\",\n       \"DFOJc24Y2jbaVhxjhGIClmEYQ0C7Z0LLaJo5aAYTNkgpApVePk28YtEpJGw1E758y4bCCfMZ6kkK\\\\\\n\",\n       \"Pr5vZSlacSic7m1Qh+LJMECdC4v3mbasDLnzCVa+3Fsy75VcXh67FLlkgnnyTG8lJ5YOMdTI8EXD\\\\\\n\",\n       \"GDssXLiQDjjgALrooovo29/+9rIujmEYhjGGqVJE1SEGiFXth8tRjwlYhmEMo3g11O1q8YfRQpGc\\\\\\n\",\n       \"xo4oSsldlUWQKqTM0yFzWberyynH9TFmQeewKgohhkUcnwjlmyY/V1LmlUVZs25XlpdzTmmBi0Um\\\\\\n\",\n       \"KVxJ9xcvO1xikxTuDGNscPjhh9O+++5Le+65pwlYhmEYhmGMeEzAMgyjRbLmFkoLA9NuKyaU50h/\\\\\\n\",\n       \"znmW1Y4ruUyzMMG0sECeVlDztGMrtJ9QziffMaXVkw4XZLRYJd1XvsTsPnGJBSspFrFQVFZCknRs\\\\\\n\",\n       \"aZFJClPVJp/lXy6/DHcMhRfKZWUYYyjJOzWZHqpz86Abo5s//OEPdN9997kQwiz09PS4gZk/f/4w\\\\\\n\",\n       \"ls4wDMMYa1gSdyMLJmAZhjEIsjqFmuV1ShOpfOKOFoFkebRIlMUh5Us+LkUpKVhp0Uo7tbgcvtxZ\\\\\\n\",\n       \"etu63L469TncfM6jtF4ItVglRS0WrXhfZVVGLXCxSCS3J49T7iuLiCWPu+IRztLCCWX70fXD030C\\\\\\n\",\n       \"VhZRylxYxujnxRdfpCOPPJJuuukm6uzszLTOGWecQaeeeuqwl80wDMMYm7QnB5b9ADnaMQHLMIxh\\\\\\n\",\n       \"wOce8jmv0kQqCoTahcLxsghWvrBALUzp6VrA0q6tQpP9FjzHo51Z+lj52HzIL2ad58oXwkciLFDO\\\\\\n\",\n       \"L6hldUggC1xcVpkDSwpivF0S25ThhiERS5Zf5ufi+tZlk/unFHFLOrS0Y83cVYYB7r33Xpo9eza9\\\\\\n\",\n       \"7W1vq1dIpVKh2267jc477zzntMrnZY4+ohkzZtAxxxzT4MBac801rUINwzAMw1hqmIBlGEYL5AYZ\\\\\\n\",\n       \"XpgmXmlByudIaua60iF8WrTSzi0pRqWJUnJ+PiCEaVFMhxo2E9eoTQ4s/hzKRaV7GyynJHJnNxaL\\\\\\n\",\n       \"RCwUcYggz4+Ug0r+lfXL++NjCOXEksennV1cJ2k5sbRA5ROsZJ2GfqWToZGGMfrYY4896OGHH26Y\\\\\\n\",\n       \"9tnPfpY22WQTOv744weIV6Cjo8MNhmEYhjF8SdyjIW/DGN2YgGUYRkZC4lRouSziVdo+9OfQNBm+\\\\\\n\",\n       \"J0Utn1jkc1j58ln5lik0EbC040rvr5mAlc9Q1zLXFaN7BExLpq4FIZ0LS7u2fMIPu7cqTUQeuR1f\\\\\\n\",\n       \"+KB2Zel8VmliKM9PE6CaiVjNcmE124dhLL9MnDiRtthii4Zp48ePp5VWWmnAdMMwDMNYGqAHwkrT\\\\\\n\",\n       \"H8ubbcOe20Y7JmAZhpEBKTi0SjPxSo+HQgTl/Cxhg1qMko6qkIAVEqYKKqSQx/Vy+RZ6MtTHlubG\\\\\\n\",\n       \"oiauK/L0BBjqQZDH2fkk81mxS0tuT7qR2H2V8zix5LnkaeyQCh2DT8SS07gu5DFpEU7jc1gNRoiS\\\\\\n\",\n       \"x20PQ4ZhGIZhGIaxrDEByzCMJvhC2XykOatCy+eaCFvSlZRLCRuUoXpaRGomUul5MlywoBxYPkHL\\\\\\n\",\n       \"t30un68sITGLyBO1k0qlbr5KE61CAhZ/5tDAgvgsc1CxYMWfWfjinUsBjAUtnsfblMhwRBn2p8MJ\\\\\\n\",\n       \"WTziZXieFJNY3HK116LY5HNm+dChjYYxOrnllluWdREMwzCMMYwlcTeyYAKWYRhtwCdc+UIHffN8\\\\\\n\",\n       \"033r6fBA/VnnmwoJTFrskoNvWr6JgKX/6uX6y5TPJ4JdLhe5AdOiiCiKMI6/tSNtYsCq1rQUdLSC\\\\\\n\",\n       \"z/gbx9h/TNVqjqrVRJSpVLQjSwpTUkiSbiyfeJRT+a3kuZFils5F5Qv7lPmu5DivL8MJpUAl3VTa\\\\\\n\",\n       \"haXDDn3OK97WYHsnNAzDMAzDMIYzhBDD0LZhz3SjHROwDMNIYSjOK58IJQUqn7gRynvUTLySriwt\\\\\\n\",\n       \"ZknRSidj9wlV0nHVTMDyCV/9Dq8oSm6xUZRzIlWhkAhXEKhYsOK/BXE3bubE6ndeEZXLELGimogV\\\\\\n\",\n       \"OUEL82PXjXDO/Y3jRBDC/H6RiUUpGbrHIhWp3Fi+86zFLLcHIQj5RCQZush/5bmUgpkUsWR+LLkf\\\\\\n\",\n       \"vV+NzmOlxSpfuGEIE7oMwzAMwzAMY1liApZhGCnkBile6fXkMr6wQRlOKJcL5YxiwUgup+f5cllp\\\\\\n\",\n       \"sUrO9wlWafNCrq3EdQXRCo4riFEYIFDhL4tX8jOPswMrq4AFjQqfIVrx0D8eUaUSOYGrUslTpRJT\\\\\\n\",\n       \"uSzD7GQoILuv+LOcx3UneyfUYpd0yfF6sUr6zutKV5h0WGXJiaXFLN6ehsU1X5ig3IZcXi+n5/sE\\\\\\n\",\n       \"O8MwDMMwDKMdVOLIDUPdhjG6MQHLMIw25LMaynakcKVFKp3zSn+WIpXOO6XD+3ziU0iw0ss1m5fs\\\\\\n\",\n       \"J4ryVCzCadUvSpVK/SKV/MwCFgtXQ3FgSSFLClq9vfIzBC18zrt1+vryFMdSuCor0UqKW9KtlTZP\\\\\\n\",\n       \"OqrIkw/L91nmzpLhhzrEUIpVUghLE7KoSfhgq7RrO4ZhGIZhGIak0oZeCCv2jDbqMQHLMAyFLw+V\\\\\\n\",\n       \"j2gQ00Mhgr48V7750qmlwwdDidtDTimdnF3msPK5r4pqfv/ycFohNBB/i8VEjOIB4yxWaQGLxSue\\\\\\n\",\n       \"746wNp5GEiKYfO4PGUz+SgEL++f5+FwuJ46sZH8saOGvzBvGghEnbO8LhGwyvtxTlEHokY4q7eCS\\\\\\n\",\n       \"Oa5CYX9SMNPzOZdWqAyhcMBmYYKthBwahmEYhmEYhtFOTMAyDGMI7quoRZHKlxeL6e+Nr/n2dR4s\\\\\\n\",\n       \"HUaoXVi+PFdaiJJOKzmPpxcHuK6S3FaFBtEKn3mcP2sBS7uvWMxyR1jLi5UGJ24HLFr5XFhSwOrr\\\\\\n\",\n       \"S4bEfZXsr1zOuSHJk4U8WjKJOwtEst5lsvZQ/qmyWqacso4UI3XOqyxtQYcDpuW7ktN8glvWHFfN\\\\\\n\",\n       \"wg0NwzAMwzCMVqnGOTcMhSo/IBujFhOwDMNIyUM1lLxXvCzPk58ZDgXU64TyX+nBFy4oHVXSYVXw\\\\\\n\",\n       \"jEuhqpAiYJUGLCMFq87OftEKIpV2X/G4dGDpPFj8uVkeLJn/SocM6nxYCCGEWMUiFwtYGHgePnd3\\\\\\n\",\n       \"Ry6kEDmyyuViTXTiAQXp9eTE6lMhhfI86qTrPC5DCOX0gghllEgxqiocYnqeFNhkSCG7sFgQ04KV\\\\\\n\",\n       \"Dj3kac3cYyySyp4QDcMwDMMwjMFiIYRGFkzAMgyjBddVlDGPVdqyvv2Fcl+liVdynsyBFXJd6aGo\\\\\\n\",\n       \"RCo5XlSuq+QzHFe5XI46Oqie6wqfpWiFzxik+4pFLOnAwjwtZukQQunG0q4r+VmKVixYsYCVJHFv\\\\\\n\",\n       \"dGFhehJSmAwoS09PEl7Y1xdTT0++1rOhDCGsiM98zsqBsFOZxN03DvJqOxz2J9EJ3lnE4h4SZagh\\\\\\n\",\n       \"t8M08ckXAuhL6s7LZumZUG7LMAzDMAzDMIzhwgQswxjzZM15xbQqdPnCCvU0nc+KPCKWb/AleQ8J\\\\\\n\",\n       \"VtqVFUrUzgOLWMmQz+drvQpGznHFghU+s4AFIUgKWPgreyDkcYhSMrSQQwlZsJL5sHwCFotVGNeh\\\\\\n\",\n       \"gxCoZN4r/GURi4UrFtXYgcX7SKZDuIKYFdXyY+nzpc+xTKQuxSMtJGmRRzqq+FzKbUWBNuFLFC/L\\\\\\n\",\n       \"oUMIo8D0Zu23lXBC3/EZhmEYhmEYWam2oRfBtC59jNGBCViGMeYZWqx59rDEkAiSlrg95MqSrisd\\\\\\n\",\n       \"Upg26FxW/DnncWD1hw1GUbFBpOrq6v/MDiz+LPNfcWihzIHFApLsqZB7INRurBDSdQVYoMI4f2Zn\\\\\\n\",\n       \"lRS2eF8srvX09E/HflnQAn19ELHy1N2NHFn6XMrzKfNZ6dBBV9qAwBMLZ5ZsIzJnltwfhwL62giL\\\\\\n\",\n       \"ZVLEksKWdmq1E50fzDAMwzAMw2iVKuXcMBSGur4x8jEByzDGJL6E6c0IiUwht5Xch2+6b/+s3Oie\\\\\\n\",\n       \"Bn05ryKRz8qXxF26qnSY4ECH1cA8Vx0uXBCuKwhR7LpiAUu6rFjE4sGXG8sXQujLgSUdWCFkyKDO\\\\\\n\",\n       \"geULIeTE7Sgni1SYxwOELJ6HcenOKhQi6u4uUqWCsEKZaJ3zY7HoxMKTDDMMtZuqEp84Bxa2ETr4\\\\\\n\",\n       \"2BNKqEWjKJAIXvZKqKfz8tox1mp4YD5FaDMMwzAMwzAMY6iYgGUYY45WxatQTqs08Sq0HR36pcMB\\\\\\n\",\n       \"uXxa/ArlwuJp2mXlc2NJ4Uo7srSgVaRCIUfFIoYkZFAKVixg8YBx6cCSy3LYoOydkMMJ0xK6p9Es\\\\\\n\",\n       \"cTs7sLAPFrRk3it8ZgeWDHNk8QqwiJWENiLJe64manWI+ufcVVLskeNSyJEuKf7qkQKUFJmka0pO\\\\\\n\",\n       \"k+1EilkUWC5NSNIClU+wGkyIYJZ9G4ZhGIZhGJJKnHPDUBjq+sbIxwQswxgTaKFpKOuHpkUtfPbl\\\\\\n\",\n       \"sPKFCmrnVmhdKViFQglzTfJe9Tu0crm8E646OqKGMEF2W7GghYHdWVLQkgKWDCmUid15OidtDzmw\\\\\\n\",\n       \"uFdC2SuwdmBxUncOG5QJ2/udVMmAcSlW4a/MvcX75s+Yh21DxEIdIi9WYsTiUL2Cch7JxOv5gIAl\\\\\\n\",\n       \"wwOlK0qKVhVPzis5n/fhc13p3FehHFg615Uv91XWfFh6HcuPZRiGYRiGkZUqRW4YCkNd3xj5mIBl\\\\\\n\",\n       \"GGOCwf4akSVsMG1/abmtfE6wUM4rKUBx/ivtxvK5sDjMUIcSyrBB+bnoQgbhvNIi1fjx/S4r6cBi\\\\\\n\",\n       \"AUsLXTK8kMUqnu4LI/Q5sNJ6IdQOLBk+yA4sDiHEdLitMM5hghw6iHEW1ng6C274vHhx7cy4siUJ\\\\\\n\",\n       \"3pP9+Nx3Ujiq1gRBPg8sSBWEIMQhg+yeotp8DkeUxCnuK9mueL52Vsnl0vJVtSOckLfDWH4swzAM\\\\\\n\",\n       \"wzAMwxgqJmAZxqhlKBbaUNhgaFkd7tdK3iuf00rmsvIJWmlhgxwKqHsd5DDBkvjMQzJeLMJ5lYhO\\\\\\n\",\n       \"EKy0gCVDBlmYwnSfA0vmxpLhhLIXQJ3gXYpW3DOhRPY4yGIWRKY0AUuKVixi6YHDCDmskHtJxGd2\\\\\\n\",\n       \"iLHI5c5QDiJW3m238RzK8yfbADu1WNiqH5FqRxUlIklBinNe8TTde2Fagned9yovRC6fYOVjKI4q\\\\\\n\",\n       \"eS1aaKFhGIZhGIbGQgiNLJiAZRijiqGGCsr1QmGDre7D57LSAocMCZTL8d8oYw4sPU26rrToxW6g\\\\\\n\",\n       \"ZIDzKhGlEDrYL1zxX0zj6ePG9QtYmIdxKXbJXgkxsPuKP/OQz8euv5UorlI+ioniRJmKKkQ5qbkw\\\\\\n\",\n       \"MVEOi3HdRTkqlCKKo6TXFriiOGk7BghQKAe7rLgcEK26u/vL4TYd9/dIiM8cPsh529kJlvRSGFEu\\\\\\n\",\n       \"F1O1in3KEMJKrW5jJTjxuZBtgqeDqsp35ctnJUMKKdDzYSj/VZYwQB1ayMfkW6bVsMLQNTMcvSIa\\\\\\n\",\n       \"hmEYhmEsf1TwLDvEXgSHur4x8jEByzBGFVnC+7Jup9l0n9AVclj5yhfKd6XdXFrACjm1pDDVKE4N\\\\\\n\",\n       \"FLPynpxXiYDFQhMPLF5x2CA+a8FKjkt3VmNPhDF1uZ4MY8rD4VSIk0h/KETOOlWzUbHNSia9krXJ\\\\\\n\",\n       \"lqja3yKUpUKR4lyOIIf1lSO3qXI5qrmqkpA/CFYsZrHLigWsJMdVf14sFInDGfE5SeSeLMfjcGFB\\\\\\n\",\n       \"zIpj9E7IpeOk7ixgya8YPh4WqGR+rHLAWaV7K5RiVVpeLPKENKaF8TXLleVbdrDI3F8mYBmGYRiG\\\\\\n\",\n       \"YRhGVkzAMozlGl8eqcHQSl6r0PJaXPJtP/SriHTk6DBBHi963FVyGSlSFYNhgo0hhAUqFJKE7ZzL\\\\\\n\",\n       \"igcIUSxGcUihnMefZbihzo/F407AQk9/EGoqtaRUS2o2KY73090JYtyHzvbO8X25HEWFApU4gVVX\\\\\\n\",\n       \"gbq6CtRX282SJY0hhBwuyKIVygqRCwM2y59Bv2OsMV8XErpDzEI4YeLMkj0U+toFo3sqlOGFMn8V\\\\\\n\",\n       \"zlGfEMRcBaiQwGoLQpHMz+UTxWT5eBu+7cv2P1ghitus3KeFFxqGYRiGMTapxpEbhroNY3RjApZh\\\\\\n\",\n       \"LHdol1I7tpd1f2njadPlfnw5reQ6Ov+VDA2U7ik5ryCm+RK26x4HEwErn887hxJ6G4SLSgpYGGeh\\\\\\n\",\n       \"SopZ+AvBioUqX34sFrY6O+GJqlCuWqaoG4moeijiRFWcnIrFKoz7klwNOB0qSVYtgVXEiatq43Gx\\\\\\n\",\n       \"SPlSB+WKRSp2FKijo+AEKYhW+Ms5r7BbuSonmZdCFcQr2SOhbh/J9DxVKkUh6Mhk7bESpwpCROLP\\\\\\n\",\n       \"vByLOhVPzisWr7Sw5HNh6fxaOixRrqtFLi6Lb773pLTBTSWvBXNnGYZhGIYxtnDpMIYYAohtGKMb\\\\\\n\",\n       \"E7AMY8QTDUOYYJY8VllCBH3iVbNp0qETCiHU+9a5r3xJ3aWgxc4snR+rX9jK5XJUKEROwGK3lMx1\\\\\\n\",\n       \"JR1WUsCSghYLVhC7OOeVy49VrFKxGFORKhT19SaiFZQi2KC4W0DOss5Z1zFtMAIWZ4KXXQcWCs6N\\\\\\n\",\n       \"FXVh2yXKFUsUF6tEpTzlI4QW5urJ2WUIIee5YvOX7AGRQbF5HOsl41Et6jFH1SrnwNI5sfhc6Oky\\\\\\n\",\n       \"55XskVDOY8eVFJ90W5F5slyplRiV5gKT02Tb9vVk6MuLpRmsmJV2XVu4oWEYhmEYhjG2MQHLMMZM\\\\\\n\",\n       \"XivfdlvZZ5ZpWlxgfHms9LgOO+O/oXVlrivd42Doc+K8Qs6rfL4woLdALVhJ1xU7tNiBxevgc5LU\\\\\\n\",\n       \"PXbjE8YT5aMK5REquLi7MW4PAhaLV/jLn3ngJFMsavngLgylTYpj/DjxFn/GNkslijB0dFBHZycV\\\\\\n\",\n       \"OgtU6khcU0lPg9GATevPnBNLi1sc/ZgUO6JqNXFdJQIXC1XakSUdWL55OreVbBvsspK9FfK+pDNL\\\\\\n\",\n       \"J4OXid95eZ9AlSZYpYlYvm0MBX39mCPLMAzDMIzRTRU/hMZDdGANcX1j5GMClmGM6txWjE94Stu3\\\\\\n\",\n       \"b329Tn4Q+01bTjunfK4qXw4sGTbYGCLY/7nUkA+rUMgNyGelBasJE/rHWaSSAhZ/xvR6DqxilSIX\\\\\\n\",\n       \"p1dLIMXxelLA0g4sFq/YjcUurDREEvd63B9/ZvEKf2VCrpo6l+vspFxHJ02Z1Ek9fbl6T4VYnBO9\\\\\\n\",\n       \"S3cWhw5yDiwpYLFRDPPdWYxwiAXXO6E/11Uo3xM7sjg/lXRfyW352mZWcadZmB+3tUoTUUrm0Qpt\\\\\\n\",\n       \"x1fGoSDzZVmuLMMwDMMwRh8Vitww1G0YoxsTsIxh5cwzz6QZM2bQkUceSeeee67V9lJ1WWUJE8wy\\\\\\n\",\n       \"vxUnVrOBBYhmTqxQmKBO7h7qXVC7svqnI3wOoYMQZGRvg1rAYs1Hils8cA6sRNyKqbNUoXxcptzi\\\\\\n\",\n       \"XqLFi/tFK/4sQwhZvGJnlsyBxQIW25q8p6OmJkkBix1ZbCdTDqx6sqtx45Jwxr4+iqoVKhY6KNeR\\\\\\n\",\n       \"pyhKvgpYpGJRSvY8CPAX9SEFLGkcw2ckxIeAVakUamJQVdQ/J2znadKBJXNgaRFL/pVhhdKl5XNq\\\\\\n\",\n       \"scjE6zJyPfLM06KYT/xqNawwtOxgkEKeubMMwzAMwzCMsYEJWMawcffdd9MFF1xAW221ldVykFDI\\\\\\n\",\n       \"XbtoxQGVNj2Ud4hSxkMhgzpvkc6JJffnE7lCQ75JDiwINehxsD/SjhOX+8IIZS4sHVbIQ2cHxKsq\\\\\\n\",\n       \"FalMuXJNoFq0KBGnMEgxSwtYLGzJHFhawOLBVUlNUdICFruv+DO2wwIWtofCs9OLt43pUUSFLnL5\\\\\\n\",\n       \"saiUiE65XFLvXAz+LI1h2DzgTbEGl4hX/TmykAsLid37xSqZA0t+ZrFJn1+eJ899JfCXqaj2JduR\\\\\\n\",\n       \"dkyxKNUsfFAup0UtuVwa7Q4vDGF5sgzDMAzDWD6xEEIjCyZgGcPCwoUL6YADDqCLLrqIvv3tb1st\\\\\\n\",\n       \"L7UwwaiNy2fNeaXFJjmv2TFKgYo87iotavh6IPSJXHlP+CDyXuW8risZRsg9EHLYIDuuEFIoeyiE\\\\\\n\",\n       \"86qjFFOx0tsvWkGgWriwP3wQ4xCxfAKWDieE6sO9EmIcSPsTx/JJqxTH+OmwQZnQnRU63g+rcjUF\\\\\\n\",\n       \"KtfRQaXx4yk3vqMWPggxq3+zrKHxrmUCdy4qz+s3jkW1yEgZZsqheXHKOePlpNAlHVEc4ieX1QJX\\\\\\n\",\n       \"qC2ziKV7F/Q5sZqJWr52zPOahSnqbbUjvFCWNxTaaBiGYRiGMXJJ+p8eagihMdoxAcsYFg4//HDa\\\\\\n\",\n       \"d999ac899zQBqwGfO2Sw+MSlLDRLbhgSrvR6IfFK5uuR++Tl84F19TI6H5YMC0wEqUahigee35gH\\\\\\n\",\n       \"C0nbdc+CPC6FKZnnikMFdd6rSZOw5TLl+3oTwUoLWPjLDix8ZvFKilYcQihzYCXWpf6wQh8ygTuH\\\\\\n\",\n       \"DXISd3zGPqSYxfGQLKKxI4sFs44OiioVKkyYQFG+RPlJqLN+UxcXg01frK1xCCHPl7oblkNS9yVL\\\\\\n\",\n       \"ilSpsHMp2W5CWYUNSiGHl+NxKTrFSriSoYTsxmK3lBxnUYfbFieXl9vwiVYynFG2+ZDwJNt1FiHJ\\\\\\n\",\n       \"d80ORdCS16mFFhqGYRiGYRijCxOwjLbzhz/8ge677z4XQpiFnp4eNzDz588fhWelHaGCgxWssiyn\\\\\\n\",\n       \"nVN6nm++T4xLmyZFKi146ZxXcn1fYnfp2mFxS+e/6h8475UOG+TQQQ4fZHMSi1y8TGOi95iKUZly\\\\\\n\",\n       \"vd0U9dZEKg4VxAAxCyISPrNoxSGFmJdVwGI1SMOuKylgySTu2DYLWBz3h4OR22WLFStQUURRPk85\\\\\\n\",\n       \"OMrc8Rbq9c+Rjbwq6oGTt+MQeD6n2+IIxcQAFlEcJ+GJjedE90IoXVfy/LLrSjulZJshlevK91mH\\\\\\n\",\n       \"AUqxKnRNhtxYcppellpcxrdcqBxZabcoZhiGYRiGMfxYCKGRBetn0mgrL774okvYfumll1InZ3tu\\\\\\n\",\n       \"whlnnEGTJ0+uD2uuueYoOyvyZXso4pUehrqenpY2PySeSceHbzmdiF1vs9k8PT8t75XvczIgtxOb\\\\\\n\",\n       \"lDi6TopYPPB0FqtkHiwnXnXGbshX+iiHngYhSLGAhQHjcGCxKwvT+DMPPF8ux58XLGj4G6vBt0xw\\\\\\n\",\n       \"0PsMlU8MuZ4l7tj4OFm4kyGXPM51JQVArkPWz5JIR18y/bRz50vgr9tDWhvSIqcWu3T75nYackY2\\\\\\n\",\n       \"u35811Kzay+Nwa43HPcdwzAMwzCMpUMlzrVlaJWf/OQntM4667h313e84x30n//8J3V5dEy28cYb\\\\\\n\",\n       \"U1dXl3tvPfroo6kbP1wbSwVzYBlt5d5776XZs2fT2972tvq0SqVCt912G5133nnOaZWHU0SAXgqP\\\\\\n\",\n       \"OeaYBgfW6BCxdBjdYGj1JtzqC29oWSlMhbbre+mXwkGz/focVXqaLzG7dmPJeTqckMMHG51UMmE7\\\\\\n\",\n       \"R9khx5UOK+QQQg4nLOUrVKj0ES2Y35/rCuIPXIPsuMJndmCxaAR3FYcYsm2Jk7hLB5bMll773OAD\\\\\\n\",\n       \"4sTtGGQvhFKZQ8Hxl0MF+WBrvRC6+ZyJnXtHBNhvzU5VmBxRZ6lIuXyh7r7iPFcoPhdTDrIjRdBv\\\\\\n\",\n       \"9oqor4/PBR+NdGBVAufSbcUzLtuXDP/TbqxQu+O26nNnye1p55VcbzDJ3PU1lDXEz1fmVtGJ7g3D\\\\\\n\",\n       \"MAzDMIzLLrvMvYf+7Gc/c+IVxKl99tmHnnzySZo2bdqACvrd735HJ5xwAl188cW000470cyZM+mQ\\\\\\n\",\n       \"Qw5xOWTPOeccq9ClgAlYRlvZY4896OGHH26Y9tnPfpY22WQTOv744weIV6Cjo8MNo4OhmBoH45IY\\\\\\n\",\n       \"jLMjy3ztJPEtp5fVLpeQO0Y6tnxCVBRw42gRS+a84r8cntY/JCJVVHcN6bxXMmwQ+o5M4N4/HlNH\\\\\\n\",\n       \"oUL5ci9F3TVRisMD4YTCwAIWPmsBi8Ur2SNhTcCKKxWKy+VEVoBgFceJTCHEq3qN1pSiXKXiviih\\\\\\n\",\n       \"KuW7uykqFFwIoDtA7IvtUNgPHySHC7JoxgmtMM7qVBwnZ7NQoELXOIryOPZExNKJ2pM8V/2Rjyxg\\\\\\n\",\n       \"ce+FtfRaLoQQQk13txawOA+V/EwqtFCed9l7YcUz3R2AaIu8LZkni7fNbawqBCspYmlxKVLbljm5\\\\\\n\",\n       \"4kGKVIMRtNoRHiivUUv4bhiGYRjGyABPodUhusZrT7KZgeh02GGHufdVACHr+uuvdwIVhCrN7bff\\\\\\n\",\n       \"TjvvvDN95jOfceNwbn3605+mu+66a0jlNrJjApbRViZOnEhbbLFFw7Tx48fTSiutNGD66CEUXjeY\\\\\\n\",\n       \"9VsRo5ot36xcIWEqVK6oyWcdSihdMqHQLt/gCxfUoplP2OJ1+nsvhMgjQwelUckXRqjzYSXTY/c3\\\\\\n\",\n       \"X+2jXF8tlxULUtzLoBSsOB8Wz8OA5XlaTw/FEK56e51wVa0llCoLSUF6ZAb0gxfHiVTHSpFbqUq5\\\\\\n\",\n       \"XM4lY4+qVYpYpOKuAqUCxZYpVASPc8UACGE9PZTD346ISqU8dZSwiaRnQa4bFq8wzroY6pQNZbKu\\\\\\n\",\n       \"E70M+bC0QKnPs08ElaKSFqNC7Ue7qHJC9GLRhrcnBSBfniw5XX/2MUB2bDLft1zWfFm6XFkIHYfl\\\\\\n\",\n       \"yTIMwzAMY9kx2BBAvY2s9Pb2uughRAMxeJ5GJ2R33HGHdx24rn7729+6MMMddtiBnnnmGfrzn/9M\\\\\\n\",\n       \"Bx544JDKbWTHBCzDGDKthu351m/H/gYjpIVu8qGQwdAyOs9OLqMo5RMu9HqhwefaksncIWAV6vmY\\\\\\n\",\n       \"5F+OsJO5m7SQJQWtrlKVaIEQrVic4hxTehqHCnKeqSVLKGYBC+JVX58Lra0IwYq9QLJPPunJkbVS\\\\\\n\",\n       \"FkePz/k4dq6sPAaoRTjAWjhgxFnVGQ5PlAIWJ4THZw5LjCLKRRF1TixRb2eOKrWQQNQHb5LriJO4\\\\\\n\",\n       \"8zwWsFCMJKF75M5FHFeVg46PPq1NSEeUT8iUwguLWxJOAC9FMO7FUIpiUtjRIXchEUpfJ9VBXIOD\\\\\\n\",\n       \"CUcc7PJ6XXnMJmAZhmEYhjE60J2C+SJ+5s6d657HV1lllYbpGH/iiSe824XzCuu9613vclET5XKZ\\\\\\n\",\n       \"vvSlL9GJJ544DEdh+DAByxh2brnlllFYy9JhNNj1s5Jrk4iWlsw5tL5PtGLyAUeWFK/SyiEdWr4w\\\\\\n\",\n       \"QT2tEFimqMIJk3lIHq6dVshn5UvazgnK5TBxYi1lVLGaCE++ROz8mcMGeZxFLBlC2N1NlZ4eqsax\\\\\\n\",\n       \"k0TKQrgqC5mFJRDpE5I1r2stEjXjZKGakJVDvjnOcYWBXVkIKWRBi0MIWcTi2ED+XHNnjevsolwO\\\\\\n\",\n       \"yfCTxbkXQqyOQ+PNcCeI2DzqkDs8ZLGrry9HlYpM3C5zYVU959cXUpgPhA36wgV97ZzbrsyBJUME\\\\\\n\",\n       \"tf9Nh9ylhf6FxDNfGfRyehm9XHWYxSxd34ZhGMPPja88sFxX8z6rbbOsi2CMAm6yiH5HFT1Xu9QT\\\\\\n\",\n       \"g4fX1/mUTz75ZDrllFOoHe+13/3ud+mnP/2py5n11FNPuQ7MTj/9dPrWt7415O0bzTEByzCWmuMq\\\\\\n\",\n       \"a6hglm0Pxl2V1aGlBams87OGBmrnlHZo8bT+UMBGUUMKVVrC4WXyFEW5BucVf9Zhgpwby+fKKiLv\\\\\\n\",\n       \"VVzuDxGUoYM8TbqvWLDisMKa4FXt66NquUx9NfGKRas+kcZcOrAqTYLRdM2wrFIU68OVBTUJoYY5\\\\\\n\",\n       \"DicEUJRc86i5rgBXDsQrWWkISyyVKJ8vUrGAOsm7emEHFg6fQwg5vJBFK2hmst7xt1zmNinPX6FW\\\\\\n\",\n       \"G3zu2KXFNcDOKZ4uXVbaQcXT5bj8LGuU50mJUO5vQPCm2m8W55RP6E4T1nzbyLpM6HoejJg1mPUM\\\\\\n\",\n       \"wzAMwzAGT4VybhgKvP6LL75IkyZNqk/35VteeeWVXX7m1157rWE6xqdPn+7dPkQqhAseeuihbnzL\\\\\\n\",\n       \"LbekRYsW0Re+8AX6xje+4UIQjeHFatgwMqMFmcGQZV3ffrJMSxtyGbbh2z8FBCffNmQIoJ6uBSrp\\\\\\n\",\n       \"I9Lra4eV71j7hSqfawtfHoVCImAhIs4XQigH7shPO7byVKVcubcx8Trns9KDzo1VE7WqPT1U6euj\\\\\\n\",\n       \"cqXiBCs5QLbprX3mv32B8bRleoUg1rD9SiURz1AuFtV4CB2HPJbacecqfa4upHON61OOy+myzvkc\\\\\\n\",\n       \"wBWXfLH7QkF9PUzKdqadebL9+EJQfWGmWnj1TdftLDeI66XZtZc2tHIPaHYPWVb3OcMwDMMwjGUH\\\\\\n\",\n       \"xCs5+ASsUqlE2223Hd188831achNi/Edd9zRu93FixcPEKm4kzKEFBrDjzmwDCMTaeF3aWR9Ccwa\\\\\\n\",\n       \"JjjYbUSDOLYoo6NLv6TLbfrEKwr4iCI1TQob8rNP+JBungIVCknydhajdB4sFl6kC6uxd8LYTcsv\\\\\\n\",\n       \"6Qk7rHwDz1u0iOJaj4QcKshCEz5zCGFZOK94Ont7Qm5yXbPy6HkbLAWBuFqlfLVKxVpvg0jy7kAl\\\\\\n\",\n       \"wHHFea9kEvea+8rNr6lShS6iqCvp1REJ3bEZfIbGJZO4SyGwMQ8W55WPqLe3oI6eexaUR6bbBanw\\\\\\n\",\n       \"QNkboXRosX+NtyUdWzrMUDq4GJlri9eR7V32YijXkXm0NNr5JZEhi3I/vnUlOrTRx2DzXOn1LLbB\\\\\\n\",\n       \"MAzDMIzlJ4QwK8cccwwdfPDBtP3227uk7Oeee65zVHGvhAcddBCtvvrqdMYZZ7jxD37wg67nwm23\\\\\\n\",\n       \"3bYeQghXFqazkGUMLyZgGUbbxauoTeJW2nzpWGq1DGlCVLN9aJFKTpM3be164XlScvE5XLRgJYWp\\\\\\n\",\n       \"kHQzMKzQ18OgzHnFAwQYKWCxoNUJ8cr1ONg9MFQQn3WOK+S9kjmwFi92SdvZYcWCFTuldA6sSiAP\\\\\\n\",\n       \"VihITAdP5j0CVqE2PxY3+sLixY0CFoC6BLGKQwjxWap+HGOZy1GuUKDOjo56onbUGefA4rrkHFhc\\\\\\n\",\n       \"15wDi4WsJLxQhgvGIoTQN7DYxWKTbE9a9NJJ3LXQFXnEGCmCSWTeLbk9TZwhVDBNlNIPOzoHVRYR\\\\\\n\",\n       \"KhTaqJHlaEXM0iKfYRiGYRhGe6lSzg1D3UYrfPKTn6Q5c+bQSSedRLNmzaJtttmGbrjhhnpi9xde\\\\\\n\",\n       \"eKHBcfXNb37T9ayNvy+//DJNnTrViVff+c53hlRuIzsmYBlGkJCwM9R10gSjwYpZ7Vq+WZm0aMWf\\\\\\n\",\n       \"5ZeFL4SK19WffQ4tnwsn5OgauE4uhx7vEiMRBnznsOtKhrZJh5AMg2NxC9aiiJOfy0To+Mvhdxxm\\\\\\n\",\n       \"J8eRqB29DFarDe4rdlxJAavscV/JXFjkycSkj1z3sSfXGXBWoB4hLxbKCrWJ82BxeCRXFh8vH19f\\\\\\n\",\n       \"X1IXpV4qlTqoVKsGWWec84o7QOS65vPAn5NdwsHlO395JWbJo43VZ+2w0kKTz3Ul26esJSnOyO37\\\\\\n\",\n       \"ErD7RKC4ybWTRTgK9WyYlm9Lby9tP3qerINmaBHNMAzDMAxjdPDVr37VDVk6IysUCi4hPAZj2WAC\\\\\\n\",\n       \"lmGkMphfAVoVokIvunI8i1sry76azQu5s3zztTzCf32iVEio0oJVlFHM0i6sxJUTRegpLzdANOHP\\\\\\n\",\n       \"IQGrMZ9TTMVCTLS43C/k+AYpWtVyR7mwQfQ2WC7XBSwe+jwCVp8KIZT98bFsoWUNXatSwGJ86cfd\\\\\\n\",\n       \"8hCwymWKatnXI6hJqBw+BilesULFn5Ms7FQcF9dEqyRMk3se5M8yebsUsfrPReRErETAkoKVTNDu\\\\\\n\",\n       \"G0KJ2XXvgFrY4vm+aTJckGurmiLW+ML/QoKT797B87KKUDwvdB3Leb6zHhKbWhGvGHNhGYZhGIYx\\\\\\n\",\n       \"fFTiyA1D3YYxujEByzAa8IUCNaOZuEQp22wmMuVaFJ9CQlaWfWfZrlzGJ2ZpwYnnyRDCkBDFoYNJ\\\\\\n\",\n       \"HquBohdP1/PlupETSdhRhc+hcEI9dHXVouVyVYoqNfEKygyLO7r3QZ6mwgkrPT11ccqXiF07sCoB\\\\\\n\",\n       \"B1ZaDixZM3kx6L76pAjGckWxUqGoUqE8yg2rGvc8KJUmHA/nweLYwJqYFVX6qJArUEdH3tUZqgfV\\\\\\n\",\n       \"JOtSjnN+LD4X3Hsh8mghH1Z/6TmUr6CCKKVYxfN5nmzfPglP9miofWpyOR+x6g3Rl+OKa50C+bL0\\\\\\n\",\n       \"9vh45TQpvsnpPh+dL7xQ70POk6JcM1dVFkErrSyGYRiGYRjLVw4sY/nDBCzDaEmI0kSDFK1864b2\\\\\\n\",\n       \"H3Jl5VrcbprzK6tg1kzM8jmo+sWlsIDF8325rvQyeh4LIAXK5fKcrqlByJKhbr7PDb0R5ioUyR76\\\\\\n\",\n       \"VHhgQ+99+jN6HFThgtJ5NRwCllwe6980bx5d8Npr9EpvL63d0UHHT59Oe02a1HAmXK2hvKzycUIw\\\\\\n\",\n       \"tqRhHnfNiGOrzYtq84qFHFVLSV03q1/kx+JxCFlJuq2IyuWCE7P6RaY0x5UMIawGcmP5BCyfECUd\\\\\\n\",\n       \"Ur68V7lA8nLftVFtImjJfbaSOytNAAsJXTxPB5K2kvC9FUEq5FIzDMMwDMMwjJETH2UYo5CQyNNs\\\\\\n\",\n       \"2ayik1xPz/dtT0oUvIxPyNFlCM3zrUdNRKKQiCTL49u2dmPp5X1l8oUaptUJyzH9Li8kVMTAIYOc\\\\\\n\",\n       \"b8n3N5Qbq1CIXfpIp7RAecFf/pwWTtjXR3FfH1UrlQZBioc7Vl5Iv9hgTsM0nRNLJnbHcOUGc+jB\\\\\\n\",\n       \"lRd6hS69LC9z/6JF9M0XXqAPrbAC/X7DDek9kybRl59/nh5DWKNaB2WN+Rh1ji856HoolykXVVxd\\\\\\n\",\n       \"6frT9av/yvl8vgY69Zq1W90WfO1Ij1Pgs6/9+a65rNeH7xocyjXbyj1A33sGc28a7H3QMAzDMAxj\\\\\\n\",\n       \"aMRxjqpDHLANY3RjDizDcAwmbDBtXuiF0rdsM6dW2nK+fbXy0qq32cp4KITQJzD4XFVp4oNPOPBt\\\\\\n\",\n       \"oz8HFhKDa2FKi1YyFxZ/7s+FFVMhH1O+lidKCjYNydvlIKZVkffKI0zdvvJCOmynZ2lJIaYluZj+\\\\\\n\",\n       \"Z+a0ActwP3zspLpyo9n02y1mUakc0VduXZO2eWMijUcvgFHk5t8xbx79cfZserWnhzpyOVq/q4tO\\\\\\n\",\n       \"W2cd+uPcufSOiRPpM9OmuZv74dOn0x0LF9Kv5s6ls9ZYo55tqsw3/74+ynOvg3ws0oHFtilZD1in\\\\\\n\",\n       \"s0rVPHJhJXmw0hK2y7/syOLxOE5CCdNzYEVNkrj7ErrLEMJcyme5XOTJK6VDAqsZ3FI+R5LvutTO\\\\\\n\",\n       \"rFDurGoLYYK+PFh6vahJOUPzfPD+nZXOMAzDMAxj0FQocsNQGOr6xsjHBCxjjJMmIIWWD90YswhM\\\\\\n\",\n       \"TD7jslIYkn9b3U5+iIJWM7FLh3CFwgZ94lQ+NTF7Y44rvW7/Ouy+4sg32cOgDG3T8/CXUzxF5VrO\\\\\\n\",\n       \"K52sXbmt6gMngFqyxAlY2i2FkMEHpyxx4hU4b4tZbtqnZ06rhxOyaOU+xzFdsO7LdNMWb7jlewsx\\\\\\n\",\n       \"nVt+gehRognFIu0xZQptP3kynfPCC3TgqqvSOydPpt5KhR5ftIj64pgeXbyYPrHyyvXk8KixHSdM\\\\\\n\",\n       \"oFvmz3fTWLyK+G9vL+WhIiFEkMUrfXxS2BL1kIsQQtjh6o5zXvnql3Ngyd4JMR2brFR851+3FxmW\\\\\\n\",\n       \"x3myyBMGKP/KdlttkhA9FFLH7bhZric5T4YqphESmrQQpI9R58sK5cqS24ma9HQYyo+V5ThaqSfD\\\\\\n\",\n       \"MAzDMAzDGBomYBljmFbCX5q5qLJMz+K00us1c2GF1m3mygptxxfWFDoWvU5aiKEv9E+GjDUTuULO\\\\\\n\",\n       \"q/7P6N2Ow9hkuJoOXZNOIR3uRnBfseLCriOfG0v8RehgHMfu1Z17EpThegc+NZW6czH9eItZrmYu\\\\\\n\",\n       \"2GKWm/fxmdPqy2K4b8EC+vHaL9Fbb4PUlDD+1d1o/Bq7U/VDi6nn5cfpuodvomvmzHHz1hs3jlYq\\\\\\n\",\n       \"ldzRr93V5f6+WS7T5EKh3jce/q5QKNAc4Q7jGqtwuvRqlXLqmBpCBn11gTqqVmuhgGGHm65/eW6w\\\\\\n\",\n       \"DNxX5bJ2X+WbOLCkU0mOS5E2Cgg7Ms09qXWluCNFHX0d+ESjuMXcWDq1vryu9Hak6Cb3l+aoktvR\\\\\\n\",\n       \"LjLfPn1l8QlfabQqehmGYRiGYfRTjYeehB3bMEY3JmAZY5TB5G8JLRtl/Jx1uTSnUzNxKot4FVom\\\\\\n\",\n       \"y3Z8opYetGsriyjlE7pC6w0coijXEELYn2epf1x+DgldUV9NwOKBRRs9TYk6cE5xKCCLWCxO4e/B\\\\\\n\",\n       \"M6e5zz+tiVi/2GKWG9+vNv2vr79OP1v3ZaLd+mt8St/BNHnK/kRTkvHxm76bpuxyEC187Baa97cL\\\\\\n\",\n       \"6KSnn6Ytxo+nnadMoXdNnuyEKxJl4IA66V2S5aovF8eU84l1+pjVeAThq+ivy3p91uqcPw/Mj4U8\\\\\\n\",\n       \"WJyvIK19sPDERyXbRxQIE2RRLC2MkJfTgpKcJh1QWsDiGtfT5DohUcy3HS22RWpZee2lOccoIObp\\\\\\n\",\n       \"e4E+rrR1s+xHb9cwDMMwDCMbnMdqKAx1fWPkYwKWMQbxiUSh5dJEq5DrKsv+fI6okMsrFJqo16NB\\\\\\n\",\n       \"uq/yLTjHQiGFcnqaMKVDw7RgEVo+Lbk3xCu/C0jmYuLQNV6msRfCmEoIIexWgpXMf+VzJtUGCFgc\\\\\\n\",\n       \"BshOJykWYTigFjZ4UU3E+mXNibXyf0qJeLWnEq/K+w8467lSJ03a5r00boN30JzfHU9PzptFb/T1\\\\\\n\",\n       \"0e9nzaKzNtyQphQK9DoENbHfueUyrVQoNIQqciihk3gQQijDBrVAJ8MmpYBVKVNpHPJgJb0Kcsgg\\\\\\n\",\n       \"QgNlKGfInSWFwySU0CdccjuJPW4sX0+CLHDpdipFLylqydA8ppoynfE5lnT4X7WJGOQTsHidZmGB\\\\\\n\",\n       \"ch6vFxKQtJSZtpyvXPJ+EOpRUS9r4YSGYRiGYRhG+zEByxhjaMEnRNoyIUGp1bxTch2f6yrKuFza\\\\\\n\",\n       \"/pq5qHz78227mftK7y9LDiwWsAoBp1VBLVsQQ2OomS9hu3QEcU4mX9hg3S2EF/NqTaBBKCGLVhxS\\\\\\n\",\n       \"KJ1Jsse+moDFDieWE2Q4IQ+frCVwv6QmYiFRO61PRF3NxStJYcIKNO3A79PsXx9LUfc8KlSrdMdb\\\\\\n\",\n       \"b9HG48bR/QsX0n5Tp7oaxT7vWriQthg3rl4W6WfCuMuBxcfCydzlMbNwxWIW6sYNSJMZ151vvnBN\\\\\\n\",\n       \"zonlq3MpaiUClj73UjCpiunS8cRtlCW5gqj5LDmwtBDG86WAxOtr55bcRlV9nept6v2RR5jy3XOk\\\\\\n\",\n       \"oJUPCFa+49HTQkKYr4xShKJBurK0aGYYhmEYhpFOldBZUTTkbRijGxOwjDFE1htayAmVdZoWdULb\\\\\\n\",\n       \"9bmyfPO0u0lO921fLpsmYvnK5ROoQuvq8upx7YKRgpZM1K7FK07aHnJmDXTrhEIFZWibDmnT86OY\\\\\\n\",\n       \"hZlaL4R1oaY2eMLp4to8KbPoQU/fvxY2+OuaiBUSr3JxlTaf+wyt2LOA3uiYSI+uvB5Voxz1vPIk\\\\\\n\",\n       \"dT//IHWusy1N2uVAevna77naWr2jgzYZN46+9fTTdMWcOfTOiRPpn/Pm0RNLltCJa6wRLJsbascR\\\\\\n\",\n       \"yWPkY9b1UDt+hBDGcdUlc88SPtgQqqnmhZ13ofOvhRnpsGKkCKWXlctIQUiKOSExSAo4OuRQbzc0\\\\\\n\",\n       \"LZSvSgtHXHbfdF8ZebmQyBQS1nzLp03LImJJ15ZhGIZhGEY6lThyw1AY6vrGyMcELGMMMdSwQZ4v\\\\\\n\",\n       \"//rWCwlE/NnnbArN0+UOfdbbColeaU6xLM4sX1l9xyD/Uop4lSZc+ZxbkfezzrOkRZIBua4iJaI4\\\\\\n\",\n       \"95USqaSAI4UcJepoWUL6W+SruxSOPjZzGl250WxaVOoXJXLx+Lp4tdMrD9OXHvo/mtr9Vn3+nM7J\\\\\\n\",\n       \"9LOtPkK3lqZQ94uP0Px7rqFqz2KKcgVavVSgbSZNcjf0Y9daiy6dNYt+NWsWrV4q0Rlrr03rd3Y2\\\\\\n\",\n       \"lIVzYMkBghTFqh4wrkUsFvBY9KrlH9P16kvgHhIX085t/18WX/IB0UiHD8qQPDmN26N0aUlBRiZO\\\\\\n\",\n       \"94X4+RxPXKvyOklzX0lnVehewcv5hCCeJo9Bu9J0Anid78onzOnxUF4suVwIrlcd+mgYhmEYhmEY\\\\\\n\",\n       \"g8MELGMMoIWhwYhXvnlpwlSW8D69ns/R5Juut5+2DV9ZdHnSyq2330w08y0bctY0hgEOnBYJUcvX\\\\\\n\",\n       \"W2EyRFF/8nZOKO7rZVAncW/Iz4RNsSgD0QZo8Yr/8rzauHY0gVS3ExFdrsQrt060iN4qXE7ve2ET\\\\\\n\",\n       \"+uZ/fqXqmWil7reS6TscTLd/4rT69Pn3/olevPlCmtvXR9OKRdpxyhR695Qp7uZeIqKipyzkcYbl\\\\\\n\",\n       \"pTjlCiScaDKBu1u5JmxVKpTPFYI5rrTjbWASd3bNRSmJ3KVQxUGQfAQsbJEIH+RlXB+L6kilUCPn\\\\\\n\",\n       \"8fZ0uF1VLeubx4TC9PSyMv8WhwY2C7fzhRDyPrUoJutGloev1WqT49CiYCjvVVaHVZbjMwzDMAxj\\\\\\n\",\n       \"rGNJ3I0smIBljHKyCFeUIlzlMohZPlEntGxIoAoJUT4hK+T2SltW70vuR5ctSy4tn1OMRSa5jBSd\\\\\\n\",\n       \"eDtajPIlc9fTeb2B4pXOwaQTh/ucQDqs0L1c+4Qqdh2xM4nnu1WSaTrojP/K4DQ5HeKVy33FZyIe\\\\\\n\",\n       \"78QrMK/4K5rYvSb6HPR64bCtLz58Dd256uYunBCM2/Ad9ObfLqDnlyyhqUg65SmLFtB8ZfWKdzzO\\\\\\n\",\n       \"x86fZV1RnOp2852TRqExcW9Vqz4RKy/SzrOII4WmUDtmLxyvpwM6pfhVCfjlpGgkhSJGryeX0eKO\\\\\\n\",\n       \"FIKks4nL4+v1MLQsb4/LKVuIXi60fzkvy7h2fElCTi29jHS9GYZhGIZheHJgDTEE0HJgjX6yvt0b\\\\\\n\",\n       \"xnKIFm3SlmvmsAot5xOMKBBGFxJ0fOJNzrNu2nJa3PGJQtLNpJfRCdL1tvS6zdbT+5CilF+M8h+j\\\\\\n\",\n       \"Xq9R5OOQQZ1TSYay+XIx6eWciAWxRgpVLNjwdB7EtLg2rsPxfJ4VjF+20ez+3FeotbtWpjW7L3O5\\\\\\n\",\n       \"r5gLN3+Rfr7p696WiiOftmSey41Vn9Y50f1dWBPWmpUhVM44cIxeIUssp+uxPyxwYL3L5aRLi8/h\\\\\\n\",\n       \"wGtFthXf9eIbdBvTgmgrbTjU7uV6cp7cR8g5mOVa9d0Dstwr9P1FCnwDrx+/yO27n8nplGG5wd6L\\\\\\n\",\n       \"DcMwDMMwDCOMObCMUYp2CaUt53upCq3r88Xo7fgcSiHXkp4uXSVy+6EXUrkN33ohh5Y+Pr2cPkbf\\\\\\n\",\n       \"y62e16w8vpduLQjIF38tKAx0dSX5lwaGprlSePItuZKow3OCSk5HeQmRhkUciRR1FHFg2u83mk2/\\\\\\n\",\n       \"EuLVev/uolcemky0FdVzX8GBBX64zRz397DHV/LuA4nd+8uSCFf5RAEaUIZQefyFV8cqBSyfoIX6\\\\\\n\",\n       \"q7vY+gnlw+Ll/Pmxcir0zddefF9ZcGjVS6OcVr4k7zrJufwr27WuRX3t6/xTvnna8aRdTrys9unp\\\\\\n\",\n       \"sEA5Lt1QvpxcvP3QdD2NxDxfHq8sTirt2vIh17VwQsMwDMMwGonb0AshtmGMbkzAMkYhWnBph3gV\\\\\\n\",\n       \"Em3S5vlEKukqkev7clJJwcbnTJHj8qXftw1fOX37C81LGw+tl0XACrlX9LLaBZOMQ/QI5VUKhbAN\\\\\\n\",\n       \"7AFPIMMHfXBeqBb53Uaz6RdCvPqfR6bT/Acq9NKSN53zCaGQELGmL3qdnphyXXMRSwhIlYVvur8T\\\\\\n\",\n       \"WLlrh+eFE7iHkKGUAp1MX+bD8gmN8nO5zO2Fz7UMGawGkrTXC1Qbyh6hRGb+osA4b0+f+7Rxn7jk\\\\\\n\",\n       \"myfn688s2IXycVFKSCHP07nBGL19OZ23qZPE6zxbIWFKbzOriCWPx8IJDcMwDMPoB+GDQw4htF4I\\\\\\n\",\n       \"Rz1ZLCqGMQqbdNSCa0uH32jxyrfvUHiPT1DyzQ+FO+UDTiUp8Oj5oaGQsi3fvKIKtypmWM837hej\\\\\\n\",\n       \"+ssuj5PHdWhUMiQ5sBrFKF+4mrcFSHdQ1u9KVmbSFlFS4e83mEMXCvHqoEem034zp9HWEyZQ78I3\\\\\\n\",\n       \"qOelR+vzekpfoC88ihxYVBexLtlkYDjhEQ9cSbu89ID7vPCxf1BHvkAbjBvnLYP26mUJ+PKre4FF\\\\\\n\",\n       \"a1XSHwao6kNM0+ejMZRQl1iLnjpkT7YVX+hes3Yo22yWNp62XuiaSbv2soz7xF4dUtlM6Pbdi+pn\\\\\\n\",\n       \"T54p9VlvY8CZT7mPZmo5GZczDMMwDMMwjAR7gjRGGVlez0MvZb5xnwQQmu+TCnyuo5C4xS+nvs/y\\\\\\n\",\n       \"hV2/qLc6rrcTevH2iVKh9XwilV429CLerG64HuTykTefVf3MpAhXPD945putKIZEdElvCZvO66LO\\\\\\n\",\n       \"cjL22Uem0/4zp7l5W06YQKt0dtHC+xLHFUBi9gWdX6GjHpjqxrvKEW3xetcAT874Sg/NuOe3dOR9\\\\\\n\",\n       \"f6D4wRto1ymTqSuf97bskIA1oMUOSAqWVmH9y2SRK3x5yeT0RhFSO+9kG0hrK6G2FWqPQ23nPuFK\\\\\\n\",\n       \"73Ow16jvmpfXgP6c5R6Ta6E1yDMbmu87+1kl0kwyqmEYhmEYY7AXwqEOxujGQgiNMUaamyC0vG+9\\\\\\n\",\n       \"kNtBjstty+1r4QrkU5YNzcun7Nvn8tLlltP1Pn0vsr75ut6y7JvFCJ845XOd6JfvZB56H5S5rSB+\\\\\\n\",\n       \"cMiaTBTezFyESLlKnHhtvDaixizj/RupDbr2ZY3h73ZzJ9DZt69Lj01ZQh9+amq9Tz3krNpnxRXo\\\\\\n\",\n       \"N0/eTuX5s6kwaZpb5/bVtqSdXjmGvvLw+fSO14jePidxVs3pmkKXbPo+evvsJ+k9L93npr33hXto\\\\\\n\",\n       \"w2kr0UulYlASlX/TzkpDF4Ly2FGpGladELwm8r7LzWhkFWrHVv+uI6pU+Chk3ioZTsjj9cKIv7Ln\\\\\\n\",\n       \"wYpaV4bt6ZA+biiyR0Ad4qZzYumQQbkPXsYXMijHZa+CPF4Rxy3D+CqeXF46n5Teh2zLugdDHaLo\\\\\\n\",\n       \"CxlMC19kuCwSvR3DMAzDMIx0LITQyIIJWMYoIeuv/lnX84lLchs+SYCn63m+cZ+IpZ0TUuTh+ZQy\\\\\\n\",\n       \"TwtLWpxqVi4tWmkVIuu4TyTTwpt2jWgBK83tkizD4X8sWuGvzoPlSqXyLzWNjJNxbWkbqi0jz6as\\\\\\n\",\n       \"ZS4xZIe3zZ1AW86dQL1CEsAyu6+wAl0793Wae+VpNO0z36Ncx7i6iJWLz6MXJj9DN6+9gN7omEiP\\\\\\n\",\n       \"rryec2jdsubb6P5pG9JXHriSuqplWr+jg9YlolmVCs1HeRBWqVqJLI+vlbiy62RhXAfulKmEVU0q\\\\\\n\",\n       \"kavQl0Bfbl6eO142EbDkNVcQ4lR9D0JwYcFHJmePB5EonVoYD4lGLATpcbkdmYNL5+iSopvM+8XH\\\\\\n\",\n       \"zPuS03g5PY+372pejfN6UrSSy+gk9NySQ8KU3L8kJHo1W88wDMMwDMMwBmICljEKyBK2kjVkRQs6\\\\\\n\",\n       \"Ucp03zQp1DTzwGifjBavQoKWXtcXIuRbPq0MvuMcjIDlE8TSRDzfcfoErsbjgFNH9mync17pEDU5\\\\\\n\",\n       \"LuGO9fpPmYhn81mEpCKjHFhSDAqdET0+MZ+nb6y9Fn3zmWdpzh9OpJU/fgrlx09xu4RY9fDUDVQd\\\\\\n\",\n       \"J2W8Pj+Bbn3xRfrh1JVo/VLJbWu1coUm5qr0eqGQ5AbLUJYGCVVWphxkJcrjl70e6npUVZoWmSh3\\\\\\n\",\n       \"i81XKhFVq1q40S4hFrikWMXLaWGG50uBxicwDUbA0oKYdohJQYuncxll2eXx6u3IebyePjYtaunj\\\\\\n\",\n       \"lWJYSNSSaJebz/kWWpeJMiyXZRnDMAzDMMYC1Tb0QjjU9Y2RjwlYxihgOMQr33ohcUY6GOTyA4WX\\\\\\n\",\n       \"gctKvw4vFxJwpM8nJHClCVchgSnfxEWl5zE6Ps9XX77jlfN02X35rhqHJHF74sDyRb15otyCQkt9\\\\\\n\",\n       \"3OkAKkmTVlc8Ak+Uy1GMaehJ0HPm5JmS8hzLARjW6eqik9Zdh858/gWa9fMv07ht308Tt9mnHlLY\\\\\\n\",\n       \"X9aYel+dSQvuu46WPH4bTezqolc7O2gyRbRyrefEidWYunr76I1igaop7jBdVpf/yifQSRdWKJFV\\\\\\n\",\n       \"rQ5RBK5bn5jl2wxP76/eJCy0WpXtQQo7fDQy1I/nRSrELiT4hNxTjO5d0RdK6HNvVZo4snTPg1pY\\\\\\n\",\n       \"4nLL/Usxjge9fRkuKXtplPuX12ElZTwkjlHgs5wWQm5vMPMNwzAMwxgLWAihkQUTsIzlGJ9LqBV8\\\\\\n\",\n       \"6/rEKLmcL5wwTSQKiUxp4tNQlpX71qKYPG55TFpqCQlYPsHKV39y21rsa/D8eMpfUJ9lL4T9opZ0\\\\\\n\",\n       \"X7mSqTA0qbtIKpVEaKnpPY5EfPHkueINF4v9G5VxipheKrkh39vrBKaKCNWr1krvk19YeuFX9k3G\\\\\\n\",\n       \"jaMz1l+Prp0zh279z5U0/84/Ute6b6PCimtQVOykuGcR9b30KHXPfpZW6uikD02bSu9deWXqyOVo\\\\\\n\",\n       \"DhF1V6q0arlcD7Kc2lemRfk8VfI5l2tL1qROG46QQz4ObyViwLHqhGI1R1a1EjUIVly/qGstZOmw\\\\\\n\",\n       \"QuwOy4nN1dbNufocGLpW30sgn5R2MYXCBvU20r4WtaDly2Xljk5tW4tbUmwKCVyy1chpvs/SeZVL\\\\\\n\",\n       \"WVaWm4U/PS6FPl/YIIuD2gnXYF8Uy7UK7y90TgzDMAzDMAzDBCxj1BNyXmmRhf/qQS6j3VU+N5HP\\\\\\n\",\n       \"2eQL5vI5sHjZxt72WnNn+cQ0n2Dlc2r53Fm8fNSCABhybvncWFrIYgHL51tK6gUuHV+aJm0MSsMl\\\\\\n\",\n       \"bq8IkcVVrVJWWLTBZ4g7GOfpPK8mZOX6+igXxw2lZSmC5Qoe99UYlpleKtGhq69OB0yfTrfNm0f/\\\\\\n\",\n       \"nj2T3nz1ceqtVKkrn6NVi0V6zzrr0DYTJ1IBPSCK2unO5+jlXJGm9ZWps+YGm1CpUF+1StViwYlU\\\\\\n\",\n       \"MqNYg6cNFSaPlY+PP7OwxeMs4rHIVROseAiFEmqwarnc78Ji8QpiYmJq43bDtejOnDgCKSLp5OtS\\\\\\n\",\n       \"nPG5pXhbvsLq5YqB3FK+8EEpnMnlpTjjK6cWofj4fEnppaOKj5HncXlkOcmzLCNdW3KbOrm8dGbJ\\\\\\n\",\n       \"6bo+5TY1WdxahmEYhmGMVcyBZWTBHFjGckoGlaJBkAmt20y88k3TTqeQA8snFrXitpIpt/X0rNvQ\\\\\\n\",\n       \"08gzT07z1Y9PlOJj89VrmrNN7keXq0FW8dRZ0kud7H1QpqoK5VnyoR1DcSxC43xZ34VYNSDzeCER\\\\\\n\",\n       \"iKTMxnICS45SwNKSQr1MteXH5fO0z0or0V4rreStRV0rvE+EMiJ0cHKlQuMqFYLEVYxjqvb2Ua5Y\\\\\\n\",\n       \"cOGO0nlVF7K4p0F5XFKs0gntVcWj7jgUMy0XlkSn1tLhoDjHOLrEKcdHyx42ri0WZGQtS7eWdl9p\\\\\\n\",\n       \"B6F0a/mmN7SYQPih3o8OF5RlDQlWWriSkqdcn6VOeTzseNKhllxXvpBKXYdScOJWqIUyecy+Cywt\\\\\\n\",\n       \"3FCOZxGxTOgyDMMwjLGICVhGFkzAMpZTQqKKXibLeiHnkW+6djNldTqFxCkKCFXsRJJilZ7n275v\\\\\\n\",\n       \"f9q5xWXzjbea50riE65883zhjL5ySkdWshyEDWkA0knc3RYDxdDCihRcnIiVS0SqiAUcLdpIYUc4\\\\\\n\",\n       \"lCIMImm6DCGUvptQkBtLEixFaN+Nr/Z1q6j30xhF1F0oUJzLUVdfElLoqqOvTNV8jqJ83i3T4MLi\\\\\\n\",\n       \"EEE+Pile6coWy2IflMsPCMlsVu/uOGrnyi9eJbstlzmZuxZWWeDgdiNrV7ZNnUsqRGhe1vxYWmzy\\\\\\n\",\n       \"jcsQQp+YJcdZPKoEhJ9cQGzieXpb5Pks61MneJfXuKxTn0jlm67npU3TSMeXYRiGYRiGYTRiApax\\\\\\n\",\n       \"HKJFFU1WgSWXYTsh8UpKCXKez/2U5pKSXhgtSfB8uW0tfPnWbcWdxWWXx6rrTy7bSv2lbSMkpulw\\\\\\n\",\n       \"yX6pJp/PNRiFeNDTXM2odFac+0p+5jxNbhxCFjxLUrzhvFC9vcnfjo4k5o2nd3YmG+nuJurqolxP\\\\\\n\",\n       \"DxV6ewdkOJKeFSkzSJmOXVs6GM6HXE+2CM5/5SS/XI7KpSJFfWUX2pgcd5UWVavUUSy6EESXE4uP\\\\\\n\",\n       \"C8fc1ZUcEx+fHrAc/tadaEVXZxVRl7JO3fEqcYvNbHyO5PmT5wXjrv7iHFUqMicUu5BkzYZEI/56\\\\\\n\",\n       \"0+F/zQg5sKq1cEI5TYcNymWlQMXHoB1aelpFiGQ8LkUuKWjpdXkdFn5D+9AOMV5P9+woBS/pgmvW\\\\\\n\",\n       \"MquBcbkcNdmODnU0DMMwDGO0Yw4sIwsmYBmjlDR3VkiMkQ6PkEOJ50u3UijkLSRYabHLl/PKJ1rJ\\\\\\n\",\n       \"z9Kh5NufXIc8wlfasWohK+S6SqtjPd+3jcgjSA50pnGvg4kRqj98UOfAathyoGico0kKLslnCDEx\\\\\\n\",\n       \"FWourLrzSDuueICYA2EL02ufo2qV8pWKG6STKu+RCHTNSCnGl35b15r24/E4C1jsxsoj/1WlSpWa\\\\\\n\",\n       \"ogShbm5vH61cyNO4Usm5x1z5WcTicXm8OpRQfK5UkzA/nbid6zgrLGxh/X5XHXKdJUJKct6ahfrJ\\\\\\n\",\n       \"8DpJKPQvhG++3IYOJ5QClpymhSj+LIUpLSpJoYjH5To8zkIeO6ekK43H5TK8b54vl/PN9zm85L1Q\\\\\\n\",\n       \"CopynawClTmsRgLnn3++G5577jk3vvnmm9NJJ51E73vf+5Z10QzDMIwxSPL0Ew15G8boxgQsYzkj\\\\\\n\",\n       \"GobthMSb0LRWHE5amJLTtNtKyhChcS1Y6V760gQs7RrT4+RxmOnPrZDm0EoTBxsFQYhXWriSOZRk\\\\\\n\",\n       \"Evdm+a9kjiYWWRoSkOdyzr3ktXjpEEIeagneI7iz+vqoIAQsdkWR8OHwUcqakBmU+IyE9B8tm8pg\\\\\\n\",\n       \"U9nboPscRVQs5CnKRbS4r1zfz9xyhfqoj6ZPmJCIWJyoXSar14PKnI+6GlB/qm5D4YM6XxkndJch\\\\\\n\",\n       \"hFgX5z05Z9zTIbcLHQYnfW7NQtBacWMxPsFKb0s6w7isPjeTDtnTOa+0q8p3LfrCAbXTjFtgmogl\\\\\\n\",\n       \"p+n5FJBZeZz3ETXJfzVYTOgabtZYYw0688wzacMNN3QC8a9+9Sv68Ic/TPfff78TswzDMAzDMEYa\\\\\\n\",\n       \"JmAZyxHyxS1tGZ/TJ8qwzTSXEA1RvCqkjGtXlc9xJaUKKVnkU/ahezbkz75yM3qcp7VLONR16RtP\\\\\\n\",\n       \"yhVFuQbRSuoquhdCnVu8mYAFpw8EExnyBkNVoSR2IAUqhNYhVBArYejpcWKV2wD+YuXahvO9vS7Q\\\\\\n\",\n       \"LApkFZIeGum3aacDiz+XeFouR+NLRVpYLtNi2LCI6K1ymZa8+SatPm48deL4MMB9xaGEHDLIYYWy\\\\\\n\",\n       \"90XkwMoX3GFz/XGdynDNEPp8YZ3+XgjFsdabCNoD5sU1J5a8bn0Oq3b//uYLQ5QZzeQ4LytlyIr6\\\\\\n\",\n       \"LEMKyypnFQta5dp4WcwrN3FAyW3KlsbrDUbECglTUsSSZdJIIc+3boi0bRrt4IMf/GDD+He+8x3n\\\\\\n\",\n       \"yLrzzjtNwDIMwzCWOhZCaGTBBCxjlKCdAUyuBeePnJ4LhNj5xB85XwpFaW4pljhYXNI5r+ppuT1i\\\\\\n\",\n       \"lp4n//pEsCwCW6gufOODQb/ADhTFtJtKC1PQUKSYJfUUnfNqwN7jgYIVf64Zp+oOrAHuKiyEz5zz\\\\\\n\",\n       \"CuNLlvSPY2UMNQErgojV0+P+8hHLpOz8Ws5nm7Meydd8GVgm5QPdGqXzis9mUbSAuoCF6VFEEwsF\\\\\\n\",\n       \"WkhEr/X2uW329pXpueefp1UKeZqy8soU4Zj4WHngepBDsVh3YOHQuW4Hhmam90qoO3jUcHtgcQuh\\\\\\n\",\n       \"nomzK7nO/C4vLTYNR/vVjqxm+ab0ZxlCWFDTZIuQYhKLYnI+i10yvNAXxsj9X7K4JbelXW28rqvh\\\\\\n\",\n       \"FNebDCuMPaGPcjt8DnyhhnI5Y1mBMOPLL7+cFi1aRDvuuKOdCMMwDGOpYwKWkQUTsIzlhCwvoWnu\\\\\\n\",\n       \"Kb0NKQPIeWnTtJDlm08B8SjfJOeVFqrkNO2x0Z99ApYWz+Q8djhFbsB4Iv4kYXo83i8IDU4A6A/X\\\\\\n\",\n       \"k/6i8DZ1aBmLG7p3Op/rSvdKKMUs3dugFFfYMdQvauWoit4OZbigTNzOahc+s+oFG1LNioQ8WFgG\\\\\\n\",\n       \"f91ZqIUTyld+lh1IyAc8aOHKJ2DpFqilzHoOLJUTy/0tFGhKsUjjJ02il+cvoJ7eXudomvXU07Rw\\\\\\n\",\n       \"8RJabeedKK+Ttmv3VT7v6gh1JZ1X0n3Ff2Xd6/PsO3fsxkLVYxlsE5/5nGEahxP6tu0XrvvbWpYw\\\\\\n\",\n       \"00Brrp8J2a4TtxhcYUnafdRl4hDTIpbOecUikpQ0pbTJZ1M6rthVxYMUreR1JsUpaUesqnuBFMlk\\\\\\n\",\n       \"PelyhMI1ucX66t4nYvE20sY1WZxaxlB4+OGHnWDV3d1NEyZMoKuvvpo222wz77I9PT1uYObPn2+V\\\\\\n\",\n       \"bxiGYRjGUsUELGM5YTAiSshF5HMYyek+mSDkWgrN1+PSYeUTrKTgxJKDnqe9Nr71pLil95+IVlK8\\\\\\n\",\n       \"6k+Y3T+4mqhNa+VlXwsJ/e4YWb8ZzppwYmlxQ4cOStGK/+oQQp2bSYorUnTp60t61ItYwGLxih1Y\\\\\\n\",\n       \"7ERiQYu72oN4xQ4sDH19lKtWnZCRr1apEKOvvtr+PZ49OU16dCggYLl68QhY3AJ8ApabhvONXF0d\\\\\\n\",\n       \"HdQxbhyts8oqNHvuXHrztdlumwtfeYWe/vOfaY33vpfGTZ/uzfPFQ4WSBO6s4dV0uwEiIde5DinU\\\\\\n\",\n       \"50yfZ92meHvcLkL5tQbWVLhtyWnNSbapc3uxw0x2DiBFrH4xS/YmKEUrmYCdBSsWoWSydhl+qFuC\\\\\\n\",\n       \"DmOUohCLWNpR5Wq3xXBCvS9GC9SyZfucWK2IUSZgDTcbb7wxPfDAA/TWW2/RFVdcQQcffDDdeuut\\\\\\n\",\n       \"XhHrjDPOoFNPPXXYy2QYhmGMTcyBZWTBBCxjhCOdTWnLDDVESIe06bBAKWj5xCpqEiYoxSUpMEmp\\\\\\n\",\n       \"gadL8cnnqdGhhL71ZDnQmxv34ufPGSXFKhYQfGJQGjpcTAsXrfRM5xOxtGglxSxeLlReKajoMEKI\\\\\\n\",\n       \"MFgP0XL4HBVzVORcULwiO5F4fPz4/o2zisOViAOtHYA7O729VIGYVTsjZZEFiT+zxCFlhrQk7tzi\\\\\\n\",\n       \"oiZSZ1GIVxHKj2PCMH485SZMoOnTp9P4Nd6ilx96iOK+PqosWkzPX3U1TV2wgFbaZ59kHenIwrql\\\\\\n\",\n       \"ElUqOafbsQGNq0DWK7eJ0DnnsED+LPOTyTYgQxL5/KWFJTbUlRJh9fhQ2jiXM9SrZbWaF3UifXXa\\\\\\n\",\n       \"gYXPOqyPWwT79Vi4YhGJ7wO8njsaFYyqHVS8vz5xP5P5tXSIJKPDDWVoot7HYGgmUnErH8o+jBCl\\\\\\n\",\n       \"Uok22GAD93m77baju+++m370ox/RBRdcMGDZGTNm0DHHHNPgwFpzzTWtcg3DMIy2YAKWkQUTsIxR\\\\\\n\",\n       \"iM9hJR0LcrpvXSlYhbbvc17pXFYhx1XBIzX4lpWClRS45HJa3EqOL5/P1wSdSAg9kQvH8olAOu9U\\\\\\n\",\n       \"/UibOLG0u4mnyRd8uax05TQTIXQ4oRSxtAtL58CSbjKGHVcwEUmxhYUHCDGYl4ty1OfylBcSAQcz\\\\\\n\",\n       \"oW5xonYMCKPhmDY+UN5hTcCKON5x8WLKw5UFlUe87ssALu3PSUtDrv2BMohUypssYKGXQTeMG0eE\\\\\\n\",\n       \"gUWs2vjElVai9ddbl17617+p+9VXXfnn/PUmWvT8C7Tal75IxalT6+GEcaFAZcpTXzlXz13vq0ue\\\\\\n\",\n       \"pkkTkPg8srmNt4HpzUMGB7abUDuQ++Pl+a9eVrYdLZxJJx+PJ9OiBldapRI7wS+Zj7DDvBtvFIdw\\\\\\n\",\n       \"tipC0pS5qWQooZQ8dYY1GW5IKuSQl2PpVObGktuT7jBv7XItKslVztfOKy1QsQhmYYEjkWq12hAm\\\\\\n\",\n       \"KOmAexP3AsMwDMMwjGWECVjGCCZqwzJpoYLysxx862sRTDrDdNigzyGlpYZmydhZjCo2Eaz658Fl\\\\\\n\",\n       \"hf0jNLBQyDX01id77/OJWNJ91cy1wmhBQeea8s2XLposbiwpLnA5fbmTdO4rX64jWTadq0nmwipX\\\\\\n\",\n       \"IipUc1SQIYTcGx9vAC9xbMeBkiM3xBnNawWIEEKYy1GM81KpuPDCahzXW4v0t0iPjitzoDVqf6CU\\\\\\n\",\n       \"Rt24Cw/NUS6fT0Q4lJfFK+5hUAzF8eNpnU9/iubefQ/N/de/3HEtfvJJeuakk2n1Y46hCbvu0h8+\\\\\\n\",\n       \"6HJfRQN6Hgzlv9Ln0ydMYjkpVGkHlhZJ05CilWy7ep9yXM/XhNyE0oUlxTvZpsrlSNQRPscURfl6\\\\\\n\",\n       \"b4qY1niPYCGKz7J0X/HZ554LuRXo3vr4PlIvcUqNaSFMZmrT4YC+ngQpIFhRi+GDWcILh+q0NbSj\\\\\\n\",\n       \"6n3vex+ttdZatGDBAvrd735Ht9xyC914441WUYZhGMZSJ8lzOrTv+qGub4x8TMAyRjhZwgezzpeB\\\\\\n\",\n       \"V1KY0uGDchmdscjnvOKXRS0n6OTq0nWlA758IpUMAuPlWNBqdHLlcvnEPVR7eee0RdLVwp9ZzJJJ\\\\\\n\",\n       \"0nWPcPVaSHmp9zlS5GcpGKUJWFlDwnRoY1pooa+sumc8FhmgP2E97kyQk8V3dHVQXE56FWwQsDDO\\\\\\n\",\n       \"4YVSuZAHqa1rcED19FBxyRIXqletVJwEkfc4sFx5Ax4V2QopIIu6FpHLOdeVKycnY4eAJXsXZEcW\\\\\\n\",\n       \"Pnd1UdTVRVP32ZvGbbUlvfzbS6ny1ltUXbCAXjz1VFrxU5+iqUd+jaJSB5WX9NcVD1K306GEWqj0\\\\\\n\",\n       \"iZC+diCFpcGEnPJn6caSnQPodqW3I/G5v/gYpfOQx3VS+1qO/9pn5A7rd2klTYZbgHRRyRBCmcRd\\\\\\n\",\n       \"OqtYZKoE3E4Y70sRszj3Fn/25byS4YU+aTUtjFCWUa+nl0ubn+W7wGiV2bNn00EHHUSvvvoqTZ48\\\\\\n\",\n       \"mbbaaisnXu21115WmYZhGMZSp0qRG4a6DWN0YwKWsZwSteElx5f3KiRQaZeEdFvJHv58AlUUCBtk\\\\\\n\",\n       \"oUqKVA1pt9VndmT1z4MuwaIU59mWgpXsTI8dTDyuxZ+0l3ufm0mHiPlyAjEywbd2rch19GeJL9RR\\\\\\n\",\n       \"H4MP7EMekw55Y9GKQwi5DkqliPLFEuWdwaWmNHAlyeRNXHmyojlvFJ8A7ARhOZjW2+vyYpW6uymu\\\\\\n\",\n       \"9VIo+6fT4pWUIvhvqGVG2DdEK1YwWcDCOIQq5O7iXFYTJvTPx/SamDV+yy1pvbPOolcuvJAW3Xef\\\\\\n\",\n       \"2+cbf/gDLXzoIZr+/R9S75Q16x0vcv4rNqH5RCtfW2Gk4MhVx+dL55rS62lhik+Hz02IUyDbkS/n\\\\\\n\",\n       \"m5zva+/NRFrpPmNRj49di3yoNx5PjH65Wl4xmRlNJnSX/VXyMjIHVplbtyg1r0tqW670XJMqabs7\\\\\\n\",\n       \"Wq6JgLtLtkgpu7LQlSVXlXSO6elyH8Zw8otf/MIq2DAMwzCM5QoTsIzlmFC4n++zfP33bSereCVD\\\\\\n\",\n       \"DaW7yuek8oUKalEqFBpYVJ/7xS2ECsJhUyhE7uWXNRItYHHIoHRjsTuLnVbSdaXDqkLOq5ArpdFR\\\\\\n\",\n       \"0vhXvsxLoUq6oZqFF+pwLxn+KMMLQ2WV4gqLBxhYNGGRgXOHQW/qKOYpKpYo11FbmAsLMYgLIl1X\\\\\\n\",\n       \"PM7qIRcOikUtdtOF9GFntb+5SoWimvoRo/dCcfChXgjdOLZVqwT3GX9ZqGIxzSdgsQOLwwn5M493\\\\\\n\",\n       \"dVFhwgRa8/TT6M3rr6fXLrzIHXvvY4/Ri/vvR+OOOZWqO+/b4L7iUEIp0sjz64NDBlms0mGrfN58\\\\\\n\",\n       \"jjrtspI9UEphS4q2utdD6QST7Strm9chqXysUhjl9sZCH9cTyiXbH4cZJp+R/B2hhTKkUHckUW8F\\\\\\n\",\n       \"wn1VVGF/cp4UrUJuLA7h454M5f58PRNW1LRQPiyZ88rnEPOVwTAMwzCMsYYlcTeyYAKWMYJpxQKq\\\\\\n\",\n       \"X++ziFja0yI/y2n8IkkBMUvnsErLh+XPX9U43uiyYgErigoud04iXCXilRSwoFOwaMVilpzHL/gs\\\\\\n\",\n       \"YPHLO+fE8gkAoXxAjE5iLUUsnzNFhln5em/zhR2G0OKVzzmjy6xzFLEDxufGSkTAPOVQVxjBwrwR\\\\\\n\",\n       \"LKizd/POWY2R2cL5xGA6qz5IEt/bm4QoChUIriwtYsnW6j7XBKuGxGZ84rkhsGjFIYScuB3jUrji\\\\\\n\",\n       \"XFgqN1bU2UkrfuYz1LXTzvTSjBlUfvFFihctokWnf52ive6gyiEnUqU6bkB9yjoOnUPp9mPHlXbK\\\\\\n\",\n       \"+QiFA8qwUjndF2Yq82BJB5gWQJvlwtICrA6hZMGKRThOqcZtjE87h6/yKezrQ4J85IDIiVwQUiDy\\\\\\n\",\n       \"3dd4Po9rD5/8LAUlWeEsXElRSt4HpTjmzoJaRgpUUQuClZzfDAsLMAzDMIzRiuXAMrJgApaxHOIT\\\\\\n\",\n       \"q7Kux7CjIQs6B5YvpNCXA0uLVDohu3RZlcQ6JbEMPheShNy5fIM+wSIVO6y0A0u7s/hlXQtYmBdK\\\\\\n\",\n       \"4u4TFHQuKy1g+VJCaQeWzpUk50nXTij0rH5GVTihr0dCWW7u1Q4DlwHige6BEePd3bX1OnOU70gc\\\\\\n\",\n       \"V87xxCGEcgWuWOm6kifI2blqIhE+Y6f4LGPLaooGBC0naunK1idGC1gsWvHAwpVM4o598jyEEOqc\\\\\\n\",\n       \"WOpz3NlJndtuS6v+7iqac/pp1P3XPyXFuulKih+5jypfOpf6pm7U4DaS4Zkh8UrmvdLnKE3E8uVB\\\\\\n\",\n       \"8zkJdVuQIi1XpVxflysk3obCZDHOPTJqAQvjrH+ygCVDCGtRpXVHWxLKCgdgRL29ScL8JOE7Ctdb\\\\\\n\",\n       \"E5L4fsM5s1yphcuKxSOf+6lPiVSywqXbipfhfTe5GOvb5y4JBhsOaGGEhmEYhmEYhh8TsIxRgI4b\\\\\\n\",\n       \"0y6BkBMrLXyQX+rSkrb70mdncVX1C1PJeiUhWvF4f5hhsZhzL7Ssh3BEmI4WY22Cx2V+LBa9fCJW\\\\\\n\",\n       \"KAl6s1AqLVJpl5UMH9SiFf+Via71eiCUCLx+9gJCmwwNY3OUFKl4XxAL5DYw7jtW/CLUWeqgvHRZ\\\\\\n\",\n       \"6e4dZaVDpGIbFysUGKCKsWjFqoUSsOqqSEi9k6KZT8Di+FFuFFwGFqdY0OJ8WBjn0ELlzqoWStTd\\\\\\n\",\n       \"HVFPbjyVjj+L+jbfico/OZWi3m7Kv/osTTz941T+yAxatMOnXHJyeW71wOdFJ2qXh5MWbugTm7Rw\\\\\\n\",\n       \"ydXha9cyjNDnzmrmPJTtgU9PqF3rjinRHLSAxcvJJoHPHGHKwnNvb576+mLnyuoPC+ReCKULypU+\\\\\\n\",\n       \"xVkqRSV85vbF22Jkzi13xCqpe94zn9fjz1I4k+OyrDo4NkvuLMMwDMMwRisWQmhkwQQsY5TRaiih\\\\\\n\",\n       \"dlfJEBodDigFKy1mhUIFm4UO+nJiJWGDUYQ8Vznq6EhCBqWhhoUsKVohGkzqGCxa8YuwL+LM51qR\\\\\\n\",\n       \"YVZp+JJY+1w4+kXf1zubz52FgcUmGV7I8GcpOPjKLdeTYlstis/9xTqcg0gKHonAFVEuFyd5x6IC\\\\\\n\",\n       \"FVHR9eakBC22dnElS8WQTwKrG1rA0nFouls+3p9WZXS2fpk8HmXVDYYbkQ4fZAGrlg+rLyq45OIQ\\\\\\n\",\n       \"prio8W4fob41t6bcD4+iwoszKVfuo5WuOI1Kj99BL3zodCpHkxvaha5/X44rPiwWKeX50+F+vkE6\\\\\\n\",\n       \"sHRvm3q5LG2+WRhjljYvNUkMqH6pW3I4oQwh5M8QuxrdZWh/rtaoXC6I7qFlLipOps45r+RXu06s\\\\\\n\",\n       \"HuqFkMdZGOPp2pHl66lQ5spit5cOeRxK6KBhGIZhGKMdCyE0smACljGK8LmrdL4raiJe+UIFdbig\\\\\\n\",\n       \"Xk6LVzq0UItUuofBgQIWcl3l8/kGkUoKWGyiYdGK83VLHUOP8wu9TOIueyOUL+9pCdEZ7Y7SL/NS\\\\\\n\",\n       \"lwm5Uzj3kRS3fK4WHa7F+9OClUzQrdE5uTgPEW8D5ZLJ4FlQALlcTUQoFShfzFFUTQoBcWHAjrEj\\\\\\n\",\n       \"2SMhVzrvIE3AYvWHx+UBS4uQDFX0CVh8crnx8Gcel44sIVzFTtDqpLhYonJfv3jFUY9umLYu9Xzj\\\\\\n\",\n       \"j9R52fdp3D9+64o08dGbaIMXH6H/fvAH1L3KtgNCQRuuPNG25Hx2Z8mk6iCUy0rqd1InDLkMddSl\\\\\\n\",\n       \"3I7P5RVCOwSl+Cp7Y+SwSg4T5NO8ZEnjaZdp0XwOseQ0J/cb5MVKQgpdSQI5sKTzqV5qvgqEG4rH\\\\\\n\",\n       \"5We5TblcKD+W3p4OWdR/mwlbhmEYhmEYhhHGBCxjOXdXhVQW+bIll20175XPhaVFK18+LBalOHRQ\\\\\\n\",\n       \"9iyIoUNMLzUsl88X6mJVyDQjNQk5zxdOyA4sqXHIqLPBClg+vSUtnErlKm940ZeOrLT8WHJeM6FB\\\\\\n\",\n       \"wttgwQzHx/tmMYK3J3N4aeEsKVOOurq6KKetbVJlZMWHlUR8xjT+zAIWx5T5KlDulAvoU3VYyeET\\\\\\n\",\n       \"Lk82NyJp0+NysjtLhhSWSlTNF53IIqMeOcwNh+DmVTpowYe/QaW13klT//gNKix5izrmv0qb/e5/\\\\\\n\",\n       \"6Pkdv0bPbHOoa+fNeiEMEcplpd1TvtxuIadhWtis1gPbJWCxSCVzXqHaZdggysV1jf3jVMi65vl8\\\\\\n\",\n       \"PMiL1dNTqvVSWK4NWmgnMY6cV6DsOwtCdJLr1o9WOVKl66oZ0pUl9+frsVDO43VDYpxhGIZhGKPV\\\\\\n\",\n       \"gYUwwqFuwxjdmIBljHJ8NzHOceULHfTlu+J1ci2ECfqdVY09C8plEDKYd4naE1EqCRnkvNocBcYC\\\\\\n\",\n       \"lha3eJ7WKaSGITuq0y/9ute2tBBCdjLpMCopMklRSr/UszNFjvPLPYf0yfmcL10KZtLBk9ZToS63\\\\\\n\",\n       \"TC/FIhYfK+e/4m2yI6jRIRbVE9IXCwUqFHNUmJTvt9Vw/BcnMkLFs5iFk+JLhuTrto4LyQXS8XSA\\\\\\n\",\n       \"T5ZUZnzdT2pxjR1YQg2Nu7qokitSuZKjvp5ogIDFZjHpxsIhLNpoD3rji5vRmld8nSa9dB/l4iqt\\\\\\n\",\n       \"e/u5NPH5O+jh3b9HvR3TvOfCJz7KNqfbpDSy6VBAnb9eVoUWsLRTSydzl1Wc1v61m4/biRZjWazl\\\\\\n\",\n       \"lGh82rmdsymP65fz/bNgxQno+TiSeoooimLq7s7XrkMp9EhHlnZnudLro+HaV/mxfKKSDiHk9bSo\\\\\\n\",\n       \"xTmy9L6k+8owDMMwDGPgU0nW5/oQ9qQx+jEBy1hOaKamN0vUHgon1NPThpAbK03Y0tMbRStO8M7i\\\\\\n\",\n       \"FRK2c1oi1hlk6CBHe7F4JeexaOXTKmQ+LJ9TpeFlPopFdI9wRNTe6N0XC17inRslGuC40uFTnO+H\\\\\\n\",\n       \"cwHxiz2HEGJgTYfzUMnE3zLUkCP0+K9MJp8GryPDDnUoIYsNDAsGvB9eh7cRd+QoLkLtIMp1EkWF\\\\\\n\",\n       \"AkVSdWBFQh4gKxesXuDksAIiBSyptmmk0sJqjFQ6fAIWBhlOWGswcalEcaFI1VyR+qpIFo7e7xpF\\\\\\n\",\n       \"Kxk+6Ms73zthVXr8M7+iVf95Pq15x/kIdKOVX76Ldrz8I/TgbmfRa6u9u6H4IYeTzkPFh6QdV1q4\\\\\\n\",\n       \"0tGT3I65/csIS18YbaMjK06avhRwucG76aycJolGdYirznslc61xFCnqkPNecQ+YnG9N5+RiIZXF\\\\\\n\",\n       \"VA4zRAERSsjXWRwX1SObbDtoyHwM/LmqpsvcVyxIyfDA0D2R8YUHyvVIzdPjaY+bJnwZhmEYhmEY\\\\\\n\",\n       \"CSZgGaNQxPK9XPnemvUylOK68uXDilpI5l70hBP2i1m5XKGeqF2mKtJCVS2/doOIJfNhadHKl+A9\\\\\\n\",\n       \"EQGQlNwjYOHFmaoUyURTrN4I5QGv+XEUUQWz8fKOl3i8uIsk7exWYl2GRQ82J7FYJTUdmeCaX+5l\\\\\\n\",\n       \"mKLMW8VFY3dWvWxxetiXL+E7H6IUxuRnuR8ZXohjpC44sZAbqyYO5XIUcdIjKEEyYzcfrC9+0pft\\\\\\n\",\n       \"3ocvO3kojk4nQqs1rLg2D+JVhZCsvdFEpjtLlA4sKWDVP1cL9Ow7jqA5q7yDNvvr16lr8Rzq7HmT\\\\\\n\",\n       \"3nHjF+i/m3+OHtv2SKKoNCBfmU+8kjmruOhSq2MRS7qspANL9sSpO4lMxuOBPRZi/+5v7No+RLgB\\\\\\n\",\n       \"jccVLpmOth9TLmn3SsBKPie5w+Rp5yaB+uVrgJ1WmCbdY3yKgewbQPcVgHsNRMdE69QOLL6HaZFK\\\\\\n\",\n       \"JnXnz3FKniudM4vvkyR6NkwTo3TYoBSwTLwyDMMwDIOfPCL3b6jbMEY3JmAZoygfVrP5WnzSTiot\\\\\\n\",\n       \"YmnxSiZol8KUnB5K0O4bivWcV7X0QwNEKugNmMfaAz6zmCU/y4gw6driF37Ze2GxGDuXVQTFicWU\\\\\\n\",\n       \"PryFw1Yiug30KUEitgpuo0JNRCmyrSWXozjKU7na707RoocMpeJwKdZytNaDgQUsLMvj7DzxaT3a\\\\\\n\",\n       \"uMQhiHKePDw2O8k8Wbwf3asc16csL8qFc1Mo5N3QOQkL1A4QM3QCJGlPk10y+jLWh/BlNpeKD38O\\\\\\n\",\n       \"5cPKF6i7L0fl7n6dTbqs+LzUE7fXpvMgNTgZBTlnlR3on/tdQ1vfOoNWefFWV9QNH72YVnz1Lrp7\\\\\\n\",\n       \"lx/SoglrJm1H6KE6fFU7pFBsKWDp3G68rBZttbjV0EOhE6pEjGtfIP+Yz95XK3zS/p1lsX/DHQWK\\\\\\n\",\n       \"c3nnzpL1htOuwzD5r8yBheayaFHymYU6FrxY2MK54rrjdRctKtSKrcMAWczSx8HiETuxtINK3gfZ\\\\\\n\",\n       \"icXruSvII3jJ+b7wRS2u+ZBJ4A3DMAzDGEtYL4RGFkzAMtrKGWecQVdddRU98cQTLtH1TjvtRGed\\\\\\n\",\n       \"dRZtvPHGw+y8kuJTWjhh2jZ8IYI+0UvPZ3GrIEQs/qt7H+wXrqIIziv0NJg4r6STSnYQx84q/iw6\\\\\\n\",\n       \"jXM5snRO7oEdzsVUhOskrlBULVN+CZSHMkUsomg1SIaxDaimxCYT+bqF47fsHHpQxLHl3Mt8cVye\\\\\\n\",\n       \"+spJyBM7fVgMYqFBulFY1+HNytA+2TOg1HvYLaWdWNItxaIJC1oyJJF1OSlsyTxbsnpCPS0WCpGr\\\\\\n\",\n       \"67iac466fD5H+XEFijo6KGLFS6s/IQdWWnIvaVXSGci1A6vWIOJ8nuJ8gSpIrF7NUbWcox4nmiTn\\\\\\n\",\n       \"RIcJavFK5yqT2pvMWebGO1agu/Y4n9Z99Ne02T3fp3xcppXeeJTec91H6IEdT6NX1tu3Xr/9vewN\\\\\\n\",\n       \"7E1QhwnydBkV2SjMNopWbD6D2xDtH4ItRKuot0qRa/9Neg5IuQaikOpWs06h/eM6KBQKVCrmqa8D\\\\\\n\",\n       \"jqxE1IIAJcU46cDSrit2XHER+dTLUFqUJTmHnBNLOqzclaK+6mX4YEHlz2K3lLzXSfeVL+F71oTu\\\\\\n\",\n       \"vA15r66qeWnrm6hlGIZhGIYx1jEBy2grt956Kx1++OH09re/ncrlMp144om0995702OPPUbjYRlq\\\\\\n\",\n       \"ayL2Zp953BdaGGUc94lVLFjJkEFepqDW9SVw57DBnMt5pZ1SUrTiUEEpbEl3llxOdirnRK5S1b24\\\\\\n\",\n       \"F/JVKkRVirQqobv+k0JKWgZFn3jFb9n5vBO38kJJiPMlyhVyVMlFVMgndYOwJxlCKDfFmhq/oHPe\\\\\\n\",\n       \"Hxn6xy/zMgm7znnOy8ppUpNgEYuns2DA43JdmW9LG6X4c+LaSnKCsRurWEzCQ6N8haJCkaJi4s6K\\\\\\n\",\n       \"WPUJiSfA54LzWZc8IqILEcwX3F+IiM4VFBUaRCidWFw6hKRpTDYXKWRp3Y2L7g4njujpzQ6mOVO3\\\\\\n\",\n       \"p7ffdjRNXPgilcqLaYd/fp2em3UHPbLDiUSd47zNSIa2SreVzEUvxU8tYiXLxdTZEbuQQAxo/1QR\\\\\\n\",\n       \"B+VLnu87qSF8GeZrde/yoBWLVKgVqFAqUR7J/nM56itEibBZu1yk9ojPsm2ySMW7484DuF3yOAbs\\\\\\n\",\n       \"ulpFOGFMlUpBOJ9YpPKFCRYCYYMyzDAK5MPSebHqFeOZL0Ur2Z71eqEwxCwCl2EYhmEYyzt4foyG\\\\\\n\",\n       \"2IvgUHsxNEY+JmAZbeWGG25oGP/lL39J06ZNo3vvvZd22WWXNu2lST/3XtdVMxeVXk8KVixKSQFK\\\\\\n\",\n       \"hhWGeiIsNSRqb+xxsOhyXkmnFQ/c8yAPHCqIzxMm+MMLMY55HR1x0iNhJ/ZaoRxC2bp7/ImMfC/w\\\\\\n\",\n       \"OnzQlwPLl39JOrCk8lAsUtTZ6V7mMcRF5PoqULkS19woiStFChXsxMLAoW0ybzm7sTgBO+bXz3zt\\\\\\n\",\n       \"9LGwJfNjsbgi8wkxLARwsnj8ZYMal0m6e2S+LnbP8XIsTCSHH7njxVBA9XQS5aplimN/3Ue6YDp5\\\\\\n\",\n       \"l8yAjjxMoRxYUY6quUI9Qq4sHFZSw+Hd694Fez1ajxS0Qmm7dCeKb664Of1936tp27tOobWeu85N\\\\\\n\",\n       \"X+e/V9JKcx6gB/Y8hxavvJE3bFCHCaoUXg2CLwtayfyk/RcgCFGFojLiVGuFlom9fAKu74BC14BM\\\\\\n\",\n       \"1qXrng+mpqohH1oRQ0cHdXQVqKsroiUdHEILQas/wbtclcUtFvQA1w+LuNI5WFvCCVmJC0sPMoQP\\\\\\n\",\n       \"fyviXsXjZSFuuStD3Bv7PC4tfb+UPRTqz/L+LLftQ/ZqaBiGYRjGWKCV3sXTtmGMbkzAMoaVt956\\\\\\n\",\n       \"y/1dccUVg8v09PS4gZk/f37GrWvHlBa2dDhhaBvslAr1KijHQwnbpbAlx+XnUv2zdlQl4lO/SMVh\\\\\\n\",\n       \"ghCoIGixC0vP49xZPF4qwm1Soah7SSJc9YnERdKBxYmndDyYfGn3OVD47Zk/c7Zp2b2hTE6Ez4gZ\\\\\\n\",\n       \"TJJEJY6Ujk4XYlXsgPusWHcCcT4fFlI41w+LKPxZ5rtiUQvzZVJw4OvIT4cZsgjGGgQ7u1jIYicQ\\\\\\n\",\n       \"z+PDkyIV5yjieWk9PiYaX971OplH4v5SKdk/joNf2NN6IPScByQTd+nLIFYhVLMvqh+nL18Vn3aU\\\\\\n\",\n       \"W4pSUrSSTYO1Ht3LHhezmWGpXBxP97zrezRn9Z1p6ztPpUKlmybOe5p2ump/mvnuE+iVLT5FpVIi\\\\\\n\",\n       \"5LCAw82F65MFHXYXSuGwX8iKqRgloYFRb4WoRwhWWrySFcPTWaWTtjzfeeAGw599sY46rrE2QMwq\\\\\\n\",\n       \"dHTQhM4uKnck4cMcQiiFW94MkInr5a5YcOXlpEuxu5tDA9nNJE+ODBvkz0lLSu5X9QMV41XPPE0z\\\\\\n\",\n       \"wUmKX0xeuL4s/5VhGIZhGIaRjglYxrBRrVbpqKOOop133pm22GKL1LxZp556qmdO1vxVIdJCB+V8\\\\\\n\",\n       \"vbwOF/TlxwrlzNKhhY0hhE64yPfnvJIJ11mkkmGAMmQQA7uz+HN/TqyYOvJlypfLlKv0JaKR7FaO\\\\\\n\",\n       \"B5/FRiZy0vl/pCohu4qT4Wv8Vi27f2NFihWIWtKrCNOqVfciH7k3ceh6CLOLtLmo/penyxxAbIph\\\\\\n\",\n       \"fYEFJ90jIaPdVnqeTDsl82mxaIVBOrQ4ybusNl6O83uxjsH6HgtfONakyiLqq3coiF4hc/Xe76Im\\\\\\n\",\n       \"LsO4nMxHf3lJOaMBIpN0TcmIRemskqm45LgUsqSApcMFdcqoEFEuohc3+Ai9NX1r2u4fx9DkN56g\\\\\\n\",\n       \"fLWXNr31NFrppdvp2fd/m6g0uUH78eW54uuARR3uhdOFykZlypV7k/BMHAzaPx8w/kLE0nGRsitF\\\\\\n\",\n       \"eZCtXAPyBMsTL2Mea9dAVHM+Ou9mvkgdyJU1vuDaArcx2dOgFFh1mCY2ycvLc5ycd7SHfM2JhYus\\\\\\n\",\n       \"IoQsKRrpfFehHFg6ZFDnr6qf6UD4oA4lHAxD/T4wDMMwDGMkY0ncjSyYgGUMG8iF9cgjj9C//vWv\\\\\\n\",\n       \"1OVmzJhBxxxzTIMDa801k97Khv7C4stfpcMIfcukjfuEKu3cKjTNe6V7DNQ5r6SIJcUsFq0gYI0f\\\\\\n\",\n       \"H1MH1ismOa4ivKRDqMJfDOy8wsu8zNStX+DTQgh9L+++8EFf93Acb8dxgpheUz4gZuURUgf3TS5H\\\\\\n\",\n       \"OYTEud1GA6K1+CWdkY4fzl9VP+MiybVE5rca0EqiRgGLhSvZMyHvB4fCjhgpLHCVyB4UOfxRumqk\\\\\\n\",\n       \"04iNVBA1k+pN2jvyJKWhO8qTgpKMDtWuKRlCKE87C1i8noyq4+W044rHfam6uE7lX7Bo8rp0+4f+\\\\\\n\",\n       \"QJvefTat8+ilbtq0p/9Gk375CD273znUu+62Dc1Im5hkCCFE205cJ0XkuapQjkUq2eZl2CwLWNpu\\\\\\n\",\n       \"Jg9eXwMhAYs/6xBCWWgeuAKxryRZlRvPd3RQrrOT8h051/6TU87nvz+vG+9SnlsUS/a9IJ2JEDOR\\\\\\n\",\n       \"MB7iVX8+LBaw4tpn7kVQilR8P/PlwKqmiFda9HKlCPxYMBRfv4lXhmEYhjGaMQHLyIIJWMaw8NWv\\\\\\n\",\n       \"fpWuu+46uu2222iNNdZIXbYDuWGg2LTlF/hci+vr0EMtRPFfKXqxMCWTITcKVY09Dib5r/L5vAuV\\\\\\n\",\n       \"kr0JanGKwwJlaCG7rjA+aZIUsGIa1xlTDsmpF3UTLVzYH4u0eHH/yzymyZd5js+TcWWthBD6cmCl\\\\\\n\",\n       \"2Wawb6nWsQIEFxb23dFBBeTJ6uqkXB45o/r1BmlyARxKCHRaIpkbi+dLZG6mEDJCkg+Py8AhXixM\\\\\\n\",\n       \"qdz1Kkyw0YE1oKPG2ny5famNcFjYYAQsGdIndRkel6mf0jpE9JmSZBNpFuko67JBXOzooJm7fJMW\\\\\\n\",\n       \"rLsjbXLTDCr2LKDOBbNok18fSHP2OoIW7nUolUpIgJ/UFzsQufmw68oJWqU4CRVcJIRbLdryNZCW\\\\\\n\",\n       \"pV53ZCDFrKwhhDLOTyfrkgfB6nPtgKIJE6izs5NKE0qUL0QN+i/XI9elDBvUqdI471v/tZBzQla/\\\\\\n\",\n       \"iFVvPZ5k7e6Mirx+bquBXgeTbScD148v/E86rzQyH1cICyk0DMMwDMMwGjEBy2gr+NX/iCOOoKuv\\\\\\n\",\n       \"vppuueUWWnfddYephn0JhH3zQkhHFY/rlzTelnZYaeHK38tg43ixJl4lAha/iPNfmbhdhgYmLqv+\\\\\\n\",\n       \"hO0Y3LtwKaauUplyS5YkIhBe1iFg8Qs8xiFi8Ys7O7NYwMJ8nezIFz7FL/CsFEkHlk7azpYil0W+\\\\\\n\",\n       \"qzGEikUrFg74ZZ4Tl1erFFerVCp2UL4DPfjlvI4qHVLI81l34OKwW4pzVzHaMaRD3+Q2OeeWTKQt\\\\\\n\",\n       \"Iyc5/ZcUs1h8k7qG1Px4XIpWUtDifWcRsKQgpzUX6cyR03V4oRSttGDF++BtSEOSTwzUPUX6UqZx\\\\\\n\",\n       \"E8LnNzfcgx5c/Rra6PpjadJL91MUV2jaX8+lSc/dSYsOPYvyE6YNFKxq10QxX6V8VCFa0kMRi7Mc\\\\\\n\",\n       \"Nsttnqfr9o8D4vBa3bUiDozFLN8By94EdGPgk4u/aP/9VrF+ByJ/rrmx0MEBV3Ku1EFdHZ0Ux/0h\\\\\\n\",\n       \"tbIdA9ke+bywY1CKmknHBknFL1lSVCGDuldCmbAdn8sed5Y726oVynk+h1ZWYYrHpavLMrAahmEY\\\\\\n\",\n       \"xljDeiE0smACltH2sMHf/e53dM0119DEiRNp1qxZbvrkyZOpCy91SwVfzis9hIQv3/pyWV+4oJ42\\\\\\n\",\n       \"MBE8QsJkWJRMPi2dJTKEkAUt+TkRr6pUKlSo0FdzVrHzRL7ASwFLO1PYkaJzYOkERzp8it+iQ93G\\\\\\n\",\n       \"sQMFn7ENtpFohQRod0uMbE5EeScKIH8QjjvX4PaRQgqH6XERWahiEUsLKhIpWsmwRJ4nRRip1/G2\\\\\\n\",\n       \"sY7srZDH5TwdNhjquFHPk/vkMujyyWOQubq0eOUTtrRIJXN46WWk40rqObIM2qTHveX5kMfFx1tZ\\\\\\n\",\n       \"YVV66uBf0xq3n09Tbzmfojimzpl3UvG0j1Dfl8+kwg67DOxxsFClfFyhfFkIU7L9S9ehT8DlcZ3U\\\\\\n\",\n       \"nStAxuYB2U7lSZLhgzKJO4fNcqF5P5wLjiuOP9cU1whhhbmIOiCUunx5uQHngnvcxDg2x/Nkx6IY\\\\\\n\",\n       \"UGfJNZLk1kI+rEZRKnSv0vc5X8hgKI+gL9eVvufKxPKGYRiGYRiNz7nWC6HRDBOwjLZy/vnnu7+7\\\\\\n\",\n       \"7bZbw/RLLrmEDjnkkKVc277cVT5xS76s6enyry/nlc6TxctEInE78l75I+x0/isIVOw04XxX/UPs\\\\\\n\",\n       \"HFjFqEKFuEy0aFF/qKB0YGHAdMzXIYT65Z0TXEuVQ74xa6QNSSev5sTVHGPH2bZlNnCdEdxjhcp3\\\\\\n\",\n       \"EUXFEnV1JgnK+bzI/D8yVI71A5mHSodY+fAlH9eCjA7rk8ITDkuOa0OOzHflE6tkaBjvR+7PHbly\\\\\\n\",\n       \"nOlk9DzNVy8hUUsLWVqo8q3j2/+Aq63mhEtzj8k6qrvSSgV6Y+8jqLzJO2jqpV+n4vw5lF/4JuXP\\\\\\n\",\n       \"/iLRhz9HpS8eSaVSyeW8wnUA8SoH8ZbbvWzz/JnnyTbP7Z6vB9n+5fUgRVytcHJD8B2IbP/claIU\\\\\\n\",\n       \"sfha9Am6tZOBU98xKZ9ouMWoVpykQXBx+HyhLvgcYRdSG9M5xKrVHMUxu0ahgklBy5cbMPb0EMjz\\\\\\n\",\n       \"tUAlk79LsUv2LChdVyZeGYZhGIZhGIPDBCyjrSS9XrUL+et+ro09VMm8V/pzyFHly3mVC+S8kn/z\\\\\\n\",\n       \"lMsl+Xyki0qKVJznioUqjEOowjQ5D3/R02C0ZHHyAg6BasGC/pdzCFiYxuP4zC/r8mWeXSlawNJZ\\\\\\n\",\n       \"on3o+DfZ65rM+cN5rzickHP+cBJrFrhYMFBhjMiTVBg3njo7UH/JeZUGPp2iC6tJR1bIeaUFnrQk\\\\\\n\",\n       \"5L5D1+mPsriqtOan9Q/pShpsDix9fFKU0qGAWdxaso7T8lwxMsxSJtWXyfV9y7LQ53L7b74DzTv5\\\\\\n\",\n       \"Gpr8qxOo9NBtycLXXExLnvgPTTjzHOpcZ3UqxBWixapds9NKi7a4HqSAK3vl5GuBRVV5PeikYmkH\\\\\\n\",\n       \"zO1f5oHjA5LqtOx9AftAGfi64IRkmFar/HxnJ+W6xtH48YWGtsMuQA4blOdehnXytYLl+voi6uvL\\\\\\n\",\n       \"U6XC4lEtuVaytAr3K9fuW5yfKgqIUHxP9OXAkqGFzWiW50rnyrJE7oZhGIYxWkmeZ4b2Xd/WV1Fj\\\\\\n\",\n       \"RGIClrEco8NTeFqWdfRnHTLT7LMWu/LeAaGDxWJU13JCvQ6yuKXn3//mrfTfl+6hY955DHV2VCnq\\\\\\n\",\n       \"XpLk/OEQQRasMD5/vvv7gzeup+0r02jXnlX7Qwj5xd4XQsgv78hDxTaO0N0/l0t6yvM5sPggWa3j\\\\\\n\",\n       \"vFcsBrDLBetjPmedll0A1lQfd1YKBSqWOgnBhZVKNMCwIrUvmV8p5GYCOuROD3pZ10pq29DpwELR\\\\\\n\",\n       \"ZFrYkmGIWsySIYM6zVgaOj2TDikM5a8KOa101KgU9aRIIuuDkSIcu+B4umo6DedGC35O0JuyAlWO\\\\\\n\",\n       \"/xnRzb+m+Fffp6hSpuqTj9Ds//korXLSydS5x+79bZqFKem4kiG17MhCu+PrRLsQWdCSDqxapTgx\\\\\\n\",\n       \"XjcKJkJPmVF/IjS2VfL1IPNesWgrrzU5cMWxfQ3tvxbL2tk5geKaC5GjEGWHhny58qZZg+blMCRF\\\\\\n\",\n       \"Se5fSSihdFZpwZ7naTcWC1MyDFEmeff1OpiWC0vnupJCmT15GoZhGMZYxHohNLJgApaxHJImWKXl\\\\\\n\",\n       \"Z/Etlzbo8BpfqI0vL1b/kM8nvYrJ8EFfDiyZ/4pFrIfm30pf/tf7aUl5MeWLPfStnb/e+LKOF3R+\\\\\\n\",\n       \"ga+Nn/nGtTRjyZ9oHBXpz0s+Rrt2r9L/Mi97YuvuTsSqcpniWlgfkqi7vymvkE6bqKkQEV60a/Fy\\\\\\n\",\n       \"Eee66o9ZanS04GWfxQEtWMns5exgqX3OF4tUyEWuVzoUHbM55w+nGkoL7ZMilo5W9AlYUreT+prG\\\\\\n\",\n       \"J0BxsVmk0oKNL3E7V6f83Ey8YrTIpJ1T2mGmxSnpyPIJYBqeL4Up6R7jcXl6pejF9aDrQIZTOkdW\\\\\\n\",\n       \"IaLifgdT/m3bU+8Zx1D15RcoXrSIZh1/HC35wAdo+hcOoxxWYiGW81tpMUu2edkrp0fActcArgW+\\\\\\n\",\n       \"DmqVkia/uEPP59114P5iG7gWOJ6VBVwpUsmQRK547m4QiCz/2G6xs5MqxTxV46T9s0jFYhZvAtN5\\\\\\n\",\n       \"V2wok/cb/EUoYqXi64zCJ1pVU+57HEKof0Dw/aDA06VQJUMQ4ybLGYZhGIZhGEY/JmAZyxlZQwXT\\\\\\n\",\n       \"nFM8nwI5sNISHfuSt0vXFY8nIYVwX0GcYtGK/+oE7bI3Qu5tcOZr9zjxCpx02zeoWO6hE9Y/OHGT\\\\\\n\",\n       \"4AUd4YP8edEiOnPu/9GMnuvd8oupj+7pe552nd/V/0KPF3WZ0Bov65WKCwLCwMJVs/7DXK+BOLra\\\\\\n\",\n       \"S7qrBRFGiPC/AUmsOVEP9s/qCefD4uRJLGixglJTNArFmHKdSUJrnCO5qeTFvLFDRe2+kj226Rzy\\\\\\n\",\n       \"IbcSL+Mzosm8VPKzFGfkPClo8XLtELCkQSgkYMnj8B0f14E+3rRj1040DhvU9SPFMV9ifRb7ZAeW\\\\\\n\",\n       \"Mhq1c8vNacpvrqRF55xKC667zq3z1nXX0eL776c1jjqSOqdNaxRxcT3IPFgIIWQBi8NpWQVasoRi\\\\\\n\",\n       \"kdS9WqnU2z1LTJmuhUqFchj6+ijf3e0E3RgHgf13dlIke97EX1adZO+fshtB7kWAT0yxSKWu8ZQf\\\\\\n\",\n       \"n6sJUP31J82SOg89HyaWYXMkcmD19nJuvmptkI6sSuBep0MD+bM7i4FwwooSvVyrUp9DyAvARCzD\\\\\\n\",\n       \"MAzDGCu0w4dtTw6jHxOwjDGGfKHy5dWS83whMfqvFrL682GxfsMv6JykXeZ2lmIWz+PPR+1wLHWO\\\\\\n\",\n       \"76WTbj3RlWDG7acRvfUWnbD6JxtzYLHzqiZegTPeejsd+9q6RD1JWKFMal2puUxYuNLiVbNXS18A\\\\\\n\",\n       \"JV7i8QKf7+mhCOXinD98gP2xTP0v6KyEcJd+OgM4qxrVqttHqdTRkITc5U2qCTMyopE1gRC+3E9S\\\\\\n\",\n       \"TwC+6DEp6mgXknZiMRxhpvNc+QQt3pYvb1SrDizdiaTs+E7Wgw4/lPNC5ZHHw70OymOW+qMPriOu\\\\\\n\",\n       \"G5lOTYq8TsSaNJ4mn3Yazd92G3r1e2c7Earv5Zfp2Rkn0vT9P05Ttt6aIhkyyKIVC1gs1soQwlqo\\\\\\n\",\n       \"IUIEK7WB2z3LOFnSjfsCivO4DpDDrVx210NdmWZFScb2SQFLdjHoumesnYBSKdl2RyeNG9fVEELL\\\\\\n\",\n       \"KbNYwMLueDN8yfE8mXqut5cFLBxdOSDKy3uczD+l75/aqsfT0sIHDcMwDMMwBmIhhEYWTMAylgOy\\\\\\n\",\n       \"5LXKgk+U8oUFandBaBlf3qtkHnoe1CE8uhdC2XGfDil04YSlmGbsdBwV+rrpRIhXELEe/ZF7GT9h\\\\\\n\",\n       \"6kfrotSZ8/7UKF7N34FOmL1hkuwaoYK15ap9fVSFcCXEK35h55d36TrRL++yNkikeuaagCBQjeNk\\\\\\n\",\n       \"HEIW5ssQQn6jliFTrFywUoKyskJSy6mFUKoYTqxSqVZ/SVgmR2pJIUSKQ1IY0uhwOZH6qCHUTi4r\\\\\\n\",\n       \"BR4tkukcVowuk853xeu2w4Gl3VO+PFky+bteVm634byLMnMZuZw61BDTU9KnBXOH8flsHGIq5GOK\\\\\\n\",\n       \"eis0Za+9qGuddeil006n3uefdydg1u//QIsefIhW3Wdv1/4a8l/pnFg1ZxZCBeG8gojLbb4srgGW\\\\\\n\",\n       \"dFw9iGkN9cHH45F5KnwnQA4tTO/uduIuKto5F3XeN61ystrNDbqrKwnTjSIqjCtRRwlOxKghZBAD\\\\\\n\",\n       \"319Y2NX3Hjn09XGPhPIeJksvnVj63sd3B+3O0s5YuU6GXgCahgxaSKFhGIZhGIZhApaxXBAN4zK+\\\\\\n\",\n       \"PC9yui+kJpQDq1/IiqJ84KV8YB4s+VnmwCoWYyrEZZqx1Vdc4vYZ95/tSjbjuZ+7F/MTuvaiM9/8\\\\\\n\",\n       \"E81YkoRXsfPKiVdwnCxenIRJQbzq7q6LVuXaIMUr7cLyvUr6XmW5Bgpi3KniCC2Ec6pcriekrqst\\\\\\n\",\n       \"aQKWjCXjpFfItVUsUrGzSuVCjsoBAUv37JdFDNLile7BL+RQ8rYu5VbSIpVM9aVFLLl8qwKWzu2l\\\\\\n\",\n       \"y8vH5AsNzNIDoy/RvBTmJOzICm0ndJ6810ghpmKuZhvr66OOVVahdb/zbZp9ySX05s1/d9tc8Nhj\\\\\\n\",\n       \"tPiFF2iNPfegcYi71eKVcB9CyHUibqUy4BooKwditYkLS0vbLPvwX1QDXI4QslD+XBw7gZfDbxuu\\\\\\n\",\n       \"B9mA+YbASh/KX8uzle/qomKxSB0dkdPk2NDIq7C5q5aKKzAg+Xye4phFq3xKqHXo3ucTqngIyX2p\\\\\\n\",\n       \"LSyD4d8ELMMwDMMY9VgMoZEBc2AZyynSC0QqtEXjm+d7GWPynldUn2Dlz4mF3slYi+FBO6z4hVP3\\\\\\n\",\n       \"PoiouwkTkr8dhQrRgiTHlct9tXAhzfjv+a6EM167lM6KrqJ58ZJ6qc94czs64bX1ibproYWLFrmc\\\\\\n\",\n       \"V9VymXrFCzu/vOsQQvnynlbrvlqoiFrAtjtq4VQQsYqyqzSOYePPrIaw4iKSWA9wo3R0UD4qUqmU\\\\\\n\",\n       \"awiLgs7FIWm8yTRYqPL1yMfpunQCdOBLbD4YMaveyvLh3vyyIl1VjB4fjGjlK6cUr7i3QZnPShqM\\\\\\n\",\n       \"0s6BdMjx6cagQwjzUS3mjUP/aqLo9I9+lMavsSa9ctlliTC7cCE9f821NHWzTWmlVVeliMMJcQ3U\\\\\\n\",\n       \"QgiRBL5cLtcFqx7R9qULSwq4Wa8Fvh6kD5O3zYJuCU4siLm13HMO2akBK6lcqXySUBHCndUxcSJR\\\\\\n\",\n       \"hHxY/R0nYlXu9JPzX3HqOYyzU4v7WEhccpFwYckcVqGk7lq6ljmv6mfW49TimgrJgLJHRLmshR8a\\\\\\n\",\n       \"hmEYxpjDPZ9EQ95Gq/zkJz+hs88+m2bNmkVbb701/fjHP6YddtghuPy8efPoG9/4Bl111VX0xhtv\\\\\\n\",\n       \"0Nprr03nnnsuvf/97x9a2Y1MmIBljLIE7vIlil+Q0oQunyClBTKfYCW3LyWdgushjYUqfkHXuX2c\\\\\\n\",\n       \"QNUxsAdCFrUK1EcR5+vBy/jixXTC9I+7l/IZs37rSjVPildwXr26LtHihYnbZNEiqvT0uJBBvJz3\\\\\\n\",\n       \"KveVdJ/wSzyp8Cn+66s9XbvYRlG99LtMYDWFpbBkiUt4XRepOIRKClZ4s0YFaAGLLTu9vZTvyNdf\\\\\\n\",\n       \"zqEFsPCBAdNYDOHeCCW+cDoZQsgv/DIpvC8hus6N5W2Fqpn6whm1gCXXySLCyeNqJmDpMmcRsLjM\\\\\\n\",\n       \"qBcZ/odtceJ2Nsnx8pz7iutXO7Kk+0oKV2y8wzb4GnHupZ5a7ijuZbDmqJq4wfq03uc+Sy9ddRV1\\\\\\n\",\n       \"z3rN7XDOo4/RwhdfotXXWZuKKDTnuurtpbJwXWHoE+2+TziwtJgrq0leCzKM1h27CiLm64qdiW5Z\\\\\\n\",\n       \"CLo9Pf1fuhxeKyuJbxoAFYJrv1YxrqfPjk4quMsETqz+RO24Z3BOetxbcOgypBDzZKhyT0+OKpVC\\\\\\n\",\n       \"7eiliKXvh3Kcj1xK1jrBe731qJ9RpU8tl/FnVq5lS8dqGIZhGMbwcNlll9ExxxxDP/vZz+gd73iH\\\\\\n\",\n       \"E6L22WcfevLJJ2kaOgxS9Pb20l577eXmXXHFFbT66qvT888/T1OmTLFTtJQwAcsYhehwQD0vtIwv\\\\\\n\",\n       \"nNDnxNKuLCliwX2Vq7+Myxd11mp8oT3SnYXxfz5/C93/8l107Hr/058AureXTpi8L531GpxXSe+E\\\\\\n\",\n       \"YEq1RCe8vin9YPK9tH25k3Z5s9O9tLtcV3Hc8OJeES/vviTuWQUsftXV810uLP3qidAphFHBmca5\\\\\\n\",\n       \"rThsimOhuGLYPpIk60kGvInXLFO5uELVqEr5fH8dy0Tg0hHkC3HTIXaypzz+LHs0DAlYAwWg0Et2\\\\\\n\",\n       \"UgBfWdLCBVsRsPTx+cSq/vKml9PnkuLyaBFO6pCyXkLhljoUUTq69LUSRVV3rutWObYbcZvo7aVi\\\\\\n\",\n       \"Zyet87730dy776a5jzzq9rFk/nx69tHHaLWpU2lCuY+qNQdiOY7r7V47EMseAUvmxEoTsGT2J9mv\\\\\\n\",\n       \"n7x+6n32xTEVqlVXJuS1glPTHSyrSxjgGHP2s9p0vvZr6lTU10u5Us6FEspOPkMhg7JOG68VCFhc\\\\\\n\",\n       \"+lCYYM4TLBwKuaZAGHaonVlIoGEYhmEYjWRJ2dGMVtc/55xz6LDDDqPPfvazbhxC1vXXX08XX3wx\\\\\\n\",\n       \"nXDCCQOWx3S4rm6//Xb3PAbWWWedoRXaaAkTsIwxhHRVNcuHxeO+F7dQCCEuJwgrSY4m7TDh3Fe+\\\\\\n\",\n       \"8X4BK6bbX76VPnjFR2hxeTH1vfUmnbDaJ+qhUGfOuqJBvALzcr303qk30o0TX6Nx03N0/cIN6F0L\\\\\\n\",\n       \"Ogc4Tvilncf5hbsv0AuhLz2zzPnDr7b8Ksov/mwsqkqHSi3Wz7mw0LOazPmDl3OOJ8PLOidy57dz\\\\\\n\",\n       \"McCFksslLjf5ki5fzkM5phgdFijDBaXzigUsHscR6vxYYqspbS5MqKe+wdI8zLF5OXWeq0SUbaxn\\\\\\n\",\n       \"uayMgguJaG4PngT3WrxKdM2YctWkJ7/6uefPaCs8oD2VyzR1o41o3Lhx9NL9D7gcV0jQ/uKsWbRi\\\\\\n\",\n       \"sUAr5nL1Ni6vAXYkypBaKVxJUTd0Lcj2HwkHIrsRubYbRF50coAeChHWiOnczrkhc2wxVwj35Inp\\\\\\n\",\n       \"tePO5QtULMW1+0VU13j1/UXfa6SAnsv1O0b7ayUkZPlCA7P+SKDDCQ3DMAzDMIa/F8L58+c3TO/o\\\\\\n\",\n       \"6HCDdlPde++9NGPGjPo0vGPsueeedMcdd3i3f+2119KOO+5Ihx9+OF1zzTU0depU+sxnPkPHH388\\\\\\n\",\n       \"5dv9YG94MQHLGOUhhWnIEBlfqKF2Wclu5rWQlcyTvar5cl/xuygGmf+qnsC9SHTfS3c68QrMeOgc\\\\\\n\",\n       \"FzZ4wkofpjNf+gPNeOvKegmnVDtoXg7ZfMiJV2Bxvkr/mbCAdqDOet4rDiEMOVDkC3soebV8adci\\\\\\n\",\n       \"lsz5wzIeifApXt6FE+LlHQnmWQniUEG3cfEyL8UsfrGvxatFuQKVSsV6CKEUQEJCi4Z3rwfpvuK/\\\\\\n\",\n       \"iZCVJOFu9OXIWhrMSzpcMDQMDK4sCcmDQ1IfUUNON3laOIRQ9yroCxts2ItyzGnxit2IkXBa1dsB\\\\\\n\",\n       \"58LSIYVLltD4ri5af6MN6dVnn6WFi5PQ2jf6yrQgIlqpWKQ4ihrCaLWg67sWQj1y+ryZMok7t3sd\\\\\\n\",\n       \"QsjTQLG314m6eZnnikNq5fWA45NxyDVxK1fIU6nYWdd48RdaF+fG4nsPhxDqBO9c55WKvLexiKXv\\\\\\n\",\n       \"e1wToSTuMo/VYAUr6WMzBovrKKDVRHrGcs+NrzxAyzP7rLbNsi6CYRijkDXXXLNh/OSTT6ZTTjml\\\\\\n\",\n       \"YdrcuXPdD5+rrLJKw3SMP/HEE97tPvPMM/T3v/+dDjjgAPrzn/9MTz31FH3lK1+hvr4+tw9j+DEB\\\\\\n\",\n       \"yxgDyLxXOgeWbzn517dMKOwmcQX5hBQpAOiu7fX4sW87nMqL3qIZd5/p9jjj2Yvoljl3040L+x9S\\\\\\n\",\n       \"z+jblU6Yuwm9d+I1dOOEWfXpe702kY54amr9BT3kwNJJ3H0CVtqRy/BBn6Qja65P13BNmEAYVV2M\\\\\\n\",\n       \"YAWDRQvOyK4cWM6FVShQrqNrgBjCf9PwJWiXYYJyYPEKL4VxHOqnUcscrfiWh+tFs9UyREq84OlJ\\\\\\n\",\n       \"HqM4rrpe68rl/nBI1A/nw9JhmJwHKyTO8fu1Dm2TYYtRRZ17bgv4yyIWO7JqbQjheWussAK9QRHN\\\\\\n\",\n       \"Ru4otL2YaFZvH40v5CmXzw/IgaWvh3gQ14JMa67F34YQwhos/KKy4MTingbrAi6H2OKzFOxqn5EI\\\\\\n\",\n       \"Pu7oaLh3pN1T5D1IXitJL54y55/PfdXsHpklJFXnw0rDQgubccghh7hks+PR66bgueeeowMPPJD+\\\\\\n\",\n       \"+c9/ZqhnwzAMwxiBwD3VpiTuL774Ik2aNKk+WbuvBgvyCyP/1YUXXugcV9tttx29/PLLLgm8CVhL\\\\\\n\",\n       \"hyave4axrImGcf1meVx04Jx+bR24DYTm8EujL2G1DOPhxNVsMCrkY8rnE+XkhM2+SGdscWS9VA3i\\\\\\n\",\n       \"VWV3OmHRtnRm5z0N4hW4aZUF9L2NZjeIV1q48g3SmaLFL/3S32y7vmXkUK1UKGahSrpsWDGSogUP\\\\\\n\",\n       \"DVapKuWQIwmhZsoBxAKWz4Sg81+FxKvEeRW7Ac4rfFENTHkfOsK0WvbV6HAMrZQhVPbG40UdQMjj\\\\\\n\",\n       \"evH14qhzYDXLQeDPhRVTLoI9TsRzSiucr30IQQvOrRUKeVqzWGj4cltUrtDivj7qq+WEy9pu066F\\\\\\n\",\n       \"rDWtRbJ6DSMfVrlMMYtTfC3I3FdykNcMnIx55IKLG+4jvtxXjbnF+sX0JIzQ3bU8wZF6WuheGLqX\\\\\\n\",\n       \"poUWDhZzFoEHH3yQttpqq4bQhl/96leu16SVV155iHVsGIZhGMsO37P6YAYA8UoOPgEL35sQoV57\\\\\\n\",\n       \"LYlkYTA+ffp0bxlXXXVV2mijjRrCBTfddFPXgyFCEo3hxwQsYxSECEpBybeNXBMXgXxh08vlUwSt\\\\\\n\",\n       \"gdvgF3HpgJC9rMkeCfmFsx41l69SMS47hwVeUk9Y72DaZ8rbG0q0D21AJyzZjs7M30EzVri3f/rs\\\\\\n\",\n       \"/l8YTtliFp0jRKw+EUI4VFkky3LXzZtHmz70EH3xueeC4kAsX9zlCzuHiWnnlXhxj5AfqYKk8BD8\\\\\\n\",\n       \"+vNI6VDCZm4shkUrDrHioVKBaKPlN5+8wVmVWOLz1Qrmd2ccejLUck8L2wudfVlWKWH6A02r1Yqr\\\\\\n\",\n       \"k8Y6kjnCmiPdPzLxfv2cRTHlKsk5dhuW4o0eZEhhbUCbQtsq5HI0rVSkjrpIA00spjJErGq17W1e\\\\\\n\",\n       \"D092d9PRzz1Hez/+OG3y0EN00Zw5XvELnSyg/cccIlnLddfwV4tXEOp6ety9opivNt5DROiyTKul\\\\\\n\",\n       \"70f9bkVfj4P6Xqf7HNX3yNA2Gs58yr087f6t92Ui1n/+8x/ab7/9aLfddqMTTzyRPvGJT9BXv/pV\\\\\\n\",\n       \"+v73v09XX311tgvRMAzDMAwqlUrOQXXzzTfXawM/MGIcea587Lzzzi5sMPmBO2HmzJlO2ML2jOHH\\\\\\n\",\n       \"QgiN5ZCsCfJyLbxE6eX0sjJXVn9+mIUr30lLpjxMU586tkHAkmE8Opn7DfN/QFt3bE87Tdm1IYl7\\\\\\n\",\n       \"PkoSnfPwg5m/pBvn3d1QshvpKVph3I/rua/Ad2euRcc/ugJ9Z8PX6KQtEkfWd7aYRdVqRIekhBOy\\\\\\n\",\n       \"x4YTWFdTcmDJ2uNXWQ4VlGfj5d5e+uGrr9K248e7+X2ewDSXcadSSbaFF3QOmcKARD61XFd1hYRd\\\\\\n\",\n       \"NzLjeqVC+VyhISQqLfWLTLouBSu5yYGCTFUNXGu6tmTqe16vYe8thvUNBz4hV477crvpRN/J9Go1\\\\\\n\",\n       \"yd2F+kadcf3rOgWyB0dvqUTYoLtOsAu9Iem2ko49mRurJgLB2QeHnztTUURdaFPVKvWUOcM8Ub6v\\\\\\n\",\n       \"TH2FPPUhwXsUeUMIfXmwZE3KjE1cUzL31YJqlVYtlWiPKVPo3FdeaegsYUD2vFpYoKsAJMXjnjhl\\\\\\n\",\n       \"+KDslVMcfz7KUamUDyZr1+4seU9qFLDqV6bKf1UJ3AfdicrY5mQNZl2P921o0OMRwhTQccHpp59O\\\\\\n\",\n       \"hUKBbr311uCDtmEYhmEsN7SajSO0jRY45phj6OCDD6btt9+edthhBzr33HNp0aJF9V4JDzroIFp9\\\\\\n\",\n       \"9dXpjDPOcONf/vKX6bzzzqMjjzySjjjiCPrvf/9L3/3ud+lrX/vaEAtuZMUELGOUocP7JFnEq5DD\\\\\\n\",\n       \"QIfORLRw5Tvo2Z0OpriwmOJcTNOf+qbXVSJDpG5YeCZdNX8GXfnGODpnwp/p3ZN37X/pzCHJeX/y\\\\\\n\",\n       \"pe3Hb0jjch20uNpD+xQ3pRv7HnclkuLVGU+vQ8c9NY0qcTcdPXOae0k+fYtZ1FWOaPN5XQ2JqX0D\\\\\\n\",\n       \"z2OJBY6Q57q76fW+PuquVqkzl6OVSiVas6ODclFEd82bR5fPnk2zenqoI5ej9bq66JR11qEJEAPi\\\\\\n\",\n       \"mE594QX6/Cqr0MOLFtGiSqW+fflKzNOiWo9sDfmNfIMSrliNiuDWEfl9ZDhalhBCnQ+rPyROJmzX\\\\\\n\",\n       \"4YM+8UpmTpLZjxhfKvCliS9BNue9kq4WztYkMzfpjGZJTrCkniJP3WULI/SHD2I85eToUELPgDbI\\\\\\n\",\n       \"7dkNSECfzzuhpwz3HtoNEXWVKxRFVZpfLFAlihrOrhR0e+OYnlq8mBaUyy78cFw+T2t0dNDKpZKr\\\\\\n\",\n       \"nX/Pm0d/FNfD+l1ddOo669BG48bRFuPGufb+k1dfbbgOyrUv3vp1GMeUR9m028x3bcjPyKFViBty\\\\\\n\",\n       \"X0nxSroRG/KL1escyflxLpuFUYdcVYO9n/LfLGKWoUGSWHTrjTxY6DXpX//6l3Nk/eIXv6D3v//9\\\\\\n\",\n       \"VmGGYRjGcks7eyHMyic/+UmaM2cOnXTSSS4McJtttqEbbrihntj9hRdecD0TyuTwN954Ix199NEu\\\\\\n\",\n       \"pB/iFsQs9EJoLB1MwDKWE7I6p2Qel8HsIy3vS2M5lkx5yIlXYNYW36JcrkCTXzuhwREkX87/1n0m\\\\\\n\",\n       \"Xbs46aa1p7qYZi68h3Yv9AtYObw2i5f0XSduSX9e7yS6Z+6DdGzuXbTCG8fRPBcSljClXKAT/jud\\\\\\n\",\n       \"Kn09dQnliJnT8NZOm83rom3nThjgtgoJWhCbbps3j/7y5pv0Ui0BtmSt8eNpl0mT6PevvkoHrLoq\\\\\\n\",\n       \"vXPyZOqtVOiJRYvqeYV+99prNKVQoPevuCI9tGhRXQSQvbE1DLVeCesiFb+cy3g+nWxJZArPiVxj\\\\\\n\",\n       \"WshK63lQOrF0Ivdkfki88vXX6BOzfL0UZv1JqVWRK6uIEGrLLCRowYqPx+fCQWglnFiRtw7dUdTG\\\\\\n\",\n       \"Q8jzpc8hwS2lN6oFHOnMUwKWbmfuSHIRVYouazkVkF+LiDohHPX20evFAnXn3NVXP9Nz+/rob6+/\\\\\\n\",\n       \"Tn+d9wbN70XrbmSbSRPpXZMm0/kvvUT/s+qqtOPkydRTux4gSLFfr7/G+gUs2d9fXfZkK5sUsZqI\\\\\\n\",\n       \"de4aKMVUyIXFK30PahQLORG/L6eVbFvNcmG1inRlZem1kNujAfAL8eLFi+mWW26hd77zne5+9b3v\\\\\\n\",\n       \"fc+JWJ/73Ofopz/9qVWUYRiGYbQAQvEx+MD3rQau5zvvvNPqeBlhApaxnNCu3Cehly4tfvle5uT8\\\\\\n\",\n       \"HE196ssU5yKatcVpbuorm81wEXCbvp6IWDJU55/xmXRjTbwCh617Bh20wbGNPejBfcWiTc2FsWvH\\\\\\n\",\n       \"RrRr50p05hvXNohXYF6hTGeu9QId+8TKDdmKDn1qqst61OMJG9TJpfHq+Nc33qBLZs1yL+Cd73w3\\\\\\n\",\n       \"TfnQ/lRYbyOKxo2jePFiKj/1BL12zWX02//c7vaLV8kVSyX3Ir5WV5erlQcXLaI/v/kmXbDhhg1e\\\\\\n\",\n       \"JA4hZAlEpkCHG6bBcdKfQX2g80Y6cGrzkC9pMD3GS6FFR6slg0+0YhlQeta0cCWnDbaHQl/QWois\\\\\\n\",\n       \"IbG67erPMoRMyiwsAnO5OVi0UhM9BoYOZgkbDJYSggocWLod+LLFyzYiQgshHmnBloc+hAsWCs55\\\\\\n\",\n       \"1YUk6AjHQlfJfWWam8/T3HzOtddfvvIK3fjG65Qr5mjSTpNpvXevQKWVSxQVIqosrtDCxxbSzJve\\\\\\n\",\n       \"oAdeesmVe5VSyV0P+DJdu6vLbbfsOaOuzddqkQMyuWVFCInVnRqEErkLwTfXCRfWwPxvMmywIURT\\\\\\n\",\n       \"9ULI5y/5tVLn9dNtp5VeXaM2CU/SHWj8f/beA1yuq7wafk+ZmdtULEuybFmuuOKGbQzYgLFNMGlg\\\\\\n\",\n       \"SkIJoQWS8EMIMYRIQADDBzI1lPABMS0EEgjp7aPEFNONbYxtcMG2XLCtatVbpp7/efc5a+Y97+xz\\\\\\n\",\n       \"Zq50JUtX73qe/czpc87e+4zuXlprbRBYH/nIR7qzEAZB4P7X92lPe5qbhdBgMBgMhgMa9k++YQCM\\\\\\n\",\n       \"wDIcBNCDLAwj9WDNd44MLu4/dvkdl7vXaP1pb3Xrdx27xuXMnLlztVvnweKP4ivpW+0eefXiI9bS\\\\\\n\",\n       \"i49b3R1MxnHSDSbPDdyzGdau3Pn/aE3jf7rnL25XaVuUznKx5tQHqdXp0GvvWO61BWoNEQbM2P/l\\\\\\n\",\n       \"DRtcGb30t2npS/6YohVH5KthfIKiZcup9oQnU+uB+2jra19Of/fQQ/TtrVvp0kMPpfMXLaJqENAH\\\\\\n\",\n       \"77uPXrtyJU3EcZfAIvX9csCODC0mHMJs9rhcQHcZeZGxI6GYXW0QfG40qbrCzIOp+korsDRxJU1m\\\\\\n\",\n       \"MJ1JokorsXwZWEX/OstzyiBpQR+KSAdpG9RkllZfxep+5LGswgqo1QodEaLrU9fzIHRJXNcxSqaH\\\\\\n\",\n       \"1En7WXHZV0nSrfVWybvQikLaFVZoUbNFo5mlcFm7TbVOm1avf4i+s307LX/uYbTkoiUUjeU7VzQe\\\\\\n\",\n       \"0ZILl9AhTz6Epn45Rfd+8F5677330smsUFy8mJ64aBEtZJJMGeRkj9IqSLwPzkrIJJVUl0kVopyp\\\\\\n\",\n       \"M3s/+DcjCFsuB0mSVJKsAlHlI3vT7SzX91mvfel1Ou+t24IiEQxvt95nmAuwVdCHxzzmMXT99b2J\\\\\\n\",\n       \"PQwGg8FgONDwSFgIDQcebBZCw0GMouwX37I8Ru4PaPkdb6DDf/6u7hG3HbmGbj30Sjdg/EntSvpW\\\\\\n\",\n       \"1COvnr90Lf3O4alCS1oNg6STKpJgq8u8bldu+XdaM/nv3fPXbn8sbf3ls2ntr07ubvvLbNbBIrpF\\\\\\n\",\n       \"B1Lj8/9t2eLIq/GXvYoWvPGKfvJKIV55FB36la9T7dd+k+6fmaF/2biRXnf77fRgo0Ebm0264p57\\\\\\n\",\n       \"6DduuomedtNN9LWtW+m7O3bQ42+6ie6t1/stXVJrpJkPqGo0eaH8aoHKUiqzDsplFNgJ80VH2ftq\\\\\\n\",\n       \"VZrNpPbNRxP69vvmZdTzNRallu3JNQZdt+V5Rp8hLy1cV7r+ZJ3Kuh8mC8sVHOwjrnx9Qewr0sN5\\\\\\n\",\n       \"idwgoI2VmB6OUusgY2FC9M5Dl9Gzf+9YWvaby/rIq/x9BzR+4jid9KGTaPTYUfrl1CT9x6ZN9Jrb\\\\\\n\",\n       \"b6eHeDZEz3tXVNwjZ9lifWrDgr7v9jH5huKx0co8OJ9ls/998f0e6uWi30jfumFv4e/+7u/cLEhH\\\\\\n\",\n       \"HHEE3XvvvW4bh85yZofBYDAYDAbDfIYRWAbDrAdgeqp5osN++UY66o50dgrGTcvX0GcPO4S+W+uR\\\\\\n\",\n       \"V89ZtJaetSxVXumwd2LiBAPXjAG48oEv0ZqH/7F7/trGk2n1ttPc4HX1r46hd9++qrvvitPW04c9\\\\\\n\",\n       \"JJaMGJeE1qZGgz794IM0etnzaPxFr3QD8qF+MMKQFq1+J43++jNpW6vlgt1v2LmT/urEE+lDJ55I\\\\\\n\",\n       \"HznxRPq/J55I5y9cSI+ZmKC/PfFEWlapeOgPoU7xyXb6g6n614XKoyz7Ss5ACEiSJb1kklngNN0h\\\\\\n\",\n       \"SR9tI9RammZWpFKr5dkPU2dRGZbAGnQNeT+S7PLdr7xnSVzp58/rmtJ6YzIrX6+axCojsPIKugL1\\\\\\n\",\n       \"lSya6Ol00j5UQhrhrmXfYxJrSxzTfZWYdmXnHxrH9M6f1OhF32xT1B6sYY9GIjrmL46h2pEjLhQ9\\\\\\n\",\n       \"DgL60fbtuVrq9kMPJdin15N5X1KJqcksWQdJO5dx5bMLFuaNpa0gW0RNhFEGI6weCXz84x93MyZx\\\\\\n\",\n       \"YPu2bduonXl3F/OMlx/60CNyTwaDwWAwzAmSOSqGeQ0jsAyGoV+VsHTfynWr6YR7eyRWI9zWXf6t\\\\\\n\",\n       \"kbX0m4tW984QOTRuUKlmWrty3d/Rmgc+3z1+bXIJrZ45N2cxXH3X4fTOn6/oHXPaevq/gsQqihjn\\\\\\n\",\n       \"z288/DBRtUYTf/CaPvKq2mjQa//hM/Sej7zbffI6o3nrzTT5xU9T645f0OizXkCdIKQdrRYdPTJC\\\\\\n\",\n       \"R46M0KqREbfMZTyKaCwM6diREYp5hsJBCiztN/OpUeYAWriT/1qfVkYrkXyqJ0lW+QqnkTVUIplM\\\\\\n\",\n       \"JWtmx+xJ0deT6w31/a0hn6GIbslvk5FU2vE5J9CNJeVegtQp6vO+O5ck164wpNdsfIi+m0x3v/IZ\\\\\\n\",\n       \"P07onX/XpuVb2d6b0Kn3duiCn3fcJ68zpu6aoo3/uZEaDzXokKcfSg9M12l7q0VH1GpU73Torulp\\\\\\n\",\n       \"+uX0NLWSxCkUb5uepvuEGrHPVigmKMhVqM6Fk+QW2wg5D05YBSUhKFVYxTN0Dv5tM+w/+OhHP0pX\\\\\\n\",\n       \"XXUVvfnNb6ZINDZnY918882P6L0ZDAaDwbBnCOaoGOYzLAPLYBiIIjthfh8PDI97cDXds/I91Ix7\\\\\\n\",\n       \"5NUILaZfG+3ZBuUAsqtAcSPadAD7gXVfpDX39nJO1lZ+nVbXH0vU2ZFuEAPdP7/jMGKhyNtPW+92\\\\\\n\",\n       \"vZc/OwG96M5lfbZBdypTG50OfX3bdqo9/RkUjk/knuYdH38/PfGm63tPeevNdNk136DvnXEOvek3\\\\\\n\",\n       \"nk2Nm26gyX/+IiWTkxSMjNBIo06nL1jg/Y8P37pPieWdvs7HgPikVAXQl5DiHXmJ/HFFejX56Qtz\\\\\\n\",\n       \"15Sc1gDpPCyJYf67CPvK/kHuFPyjLXONOirrCmob+Sw4XmqHZNYWovhx7Q51OlFfE+r6LWvW4sdW\\\\\\n\",\n       \"UxlKgsfzJboP6n5fVNgOe+32nfTg8xfRC6OQXvStDsUdokc9RPSBT7WpERMtEPMnbF5A9LlfC+ma\\\\\\n\",\n       \"BSFN3T5FW76+hTrTHQoioqOqI/SYhQvpYSaBf/nL7jlf2rzZlbPHx+lzxx/f11O6TyMVVng2dFr9\\\\\\n\",\n       \"7OI4nQMnCSu5zbWaUmL12tX321a0z/BIYd26dS7vSqNWq9Hk5OQjck8Gg8FgMBgM+wpGYBnmOWY7\\\\\\n\",\n       \"8BpmINfP8mMwuG7llTnyijFD2+gbM1fS7yxenRs0YkCZy/5JEjp34Sk0FtZoqlOntQueRavbTyCa\\\\\\n\",\n       \"2dnvz+JBe5LQ5VmA+ztPW0+jrYAevW20dAB//c6dtKNRpyXP+B0veeUDb383Eb31PR/rbmveegs9\\\\\\n\",\n       \"/Orfp5t37aJzFIn156tWuRne5HdL5AbuRZ4zH9tUAn24p7r69vUIFk17yM/2ENlQPp2Pu2lFWkli\\\\\\n\",\n       \"aBidc1enNuSsg2VkA9gKEFW+0G65rkkrkF84P31mrjuelVByLbJ+i2yF3ScsqgLdaO7WFUsmLlxE\\\\\\n\",\n       \"BeptmsD65sMPU2UiooXnLqT/qYR066qAXvfvbTp8K1GtlRaJJTuJXv8vHaJnV+naNxzT3b75/22m\\\\\\n\",\n       \"e/9xA+1stWhZtUr/ccYZ7h9YLtVsxkPE4sv3sve4BRXmey9EHegsONeSiizXpLlWZvW3d1keljxm\\\\\\n\",\n       \"NsAEAYY9wbHHHks33ngjHX300bntnH91yimnWOUaDAaD4cDFXFgA7U+NeQ8jsAzzHLs70Brmmnlr\\\\\\n\",\n       \"zf1HX0n3HtXLvKp1FlM9sxH+1/QaGt1G9LzxvI1QKiSACxefSf9z8v+h6x6+hV4fXkDEdj8MWpWF\\\\\\n\",\n       \"Cr/zf3LHcko6AZ2ybZTO3jxBEIxoLRCXB+t1ikbHqHLcCd3vZJsgyCvfUJWvwfv5uEaVh+NE8cmP\\\\\\n\",\n       \"piCKaD3bohYs6FIaWnNURKb1YQ88Z1KYIpelcMXnzMriY3ADQxJTmsSSsxL6CDD99LJWZvMvd3vI\\\\\\n\",\n       \"vi2Jro4n20jONIhtHfXPARRbuAbm1JOtjJLKf7QlU8Y2acJKqrLybTBLePqMrFmf0km3ykONOo0c\\\\\\n\",\n       \"P0ZhJX0Z1x0e0OqXhPQ3f93pI69Qu3zuS7/RoZ+cEFASpnU9duKYswFuajbdTISDNHiaMu2qEaVF\\\\\\n\",\n       \"UlaYrEBPpZXlwGk1VjG4LVtD/gbOFqbimgtw/tWrX/1qmpmZcaTntddeS//wD/9Aa9eupU996lNz\\\\\\n\",\n       \"8h0Gg8FgMDwiMALLMASMwDIcRNh7Vpj1J7yHHjrhTd31x2xZSxckq+mWxVfSt+OU1PrK1jXE3M+L\\\\\\n\",\n       \"F/RIrC46+VH+hYvOoAuj44i2bBlOmUJEf3jnsm4aUhmmODNnbDy37Y//+QulNROI4z7ygpen24LA\\\\\\n\",\n       \"EWF8PR+KKJrdBof8lITNa3takQtRRSeJDCxNQMlZ+fS6VGVJAstHZGnKoqh2dudf7SLboM/+JQks\\\\\\n\",\n       \"SVzJ492MAuJ+5HFB9qxQYqXP4KtLkFeSSJQRZ0Xtk3+MLNhpjlBUuxzgHo7mv+fYjf3Kq9ytEdHS\\\\\\n\",\n       \"nUSn3J/QL45O6w6zFk4PQcSWtvQsrLJpJbbBIe5nMOvh3sArXvEKGh0dpbe85S00NTVFL3zhC91s\\\\\\n\",\n       \"hB/+8Ifp+c9//l75ToPBYDAYDIb9BUZgGQ4i7B1N6cYT30frT31Ld/3RD62l06dXEy0kekJ7NVUq\\\\\\n\",\n       \"RN9IUhLrixvWUK1G9MeHKBJryFkA5wLVIKCkIUJ9iGjlpjRDaxD0cZ1Gg6pBPkdr2OSw/hPUVumL\\\\\\n\",\n       \"8shHfJlK2rqmj9PWwZRUYRucL7uqTFElLYVl52jySs9Ll3si2j2EJf08Ei2B+5UEFM4N1f1JG5l8\\\\\\n\",\n       \"nqDvObnu2ELYbqc2wqK6R/voY/RxfS0t2173A897U2R+K3rDRvh9aOZ/Gw7ZRUNBHtdppA9Z2dN3\\\\\\n\",\n       \"ebbnB/tzyLrp+PcGfu/3fs8VJrB27dpFy5cv3yvfYzAYDAbDPkUSpGVPr2GY19if//I1GOYIOgFn\\\\\\n\",\n       \"7q678cQP0PrTeuTVifetpZM25cmpJ4er6bdGe7MTfua+NfS3d12ZF1nwIHTYgatnOrFBccty/+I4\\\\\\n\",\n       \"ptaundTZ3svqemBZbzbDMsjj2ls2UadRp0VKJaPJA52o4yUUfKE8MixMLmf7k6RHmEjoGCEd3q4J\\\\\\n\",\n       \"LT8JpbfpwPZ2AXEFdVZ7iG0+u2J7lqXoGrO9H589Uj6r3OavKx3UXpaFpdssRzrq90AGOukwpwLf\\\\\\n\",\n       \"XFlqne57i+IKNR+qZzloKbb6Odk+yOMaG9LZOsveB7mtkFjzPWcRynyDu4W5/X007F2MjY0ZeWUw\\\\\\n\",\n       \"GAyGeQNfDOjuFMP8himwDPMcvYye4TCM8S0duG961Mdo/WlXdLce/cu1dPzDq4lGxZHZYP7XRlbT\\\\\\n\",\n       \"6EhqI2R87PY1ND5Sodc+9vX9l+cpxeSgVA5SYaPLBu9hu51L5JJmMT1whxHsvEWL6KqHHqLpr/4H\\\\\\n\",\n       \"jT/vxe74TzznRW62QYZvOIx/C/g4YPq//4UqUeRmXQs9BrVBRFo3RYyfFwQVyApMqyafHcd5wsNk\\\\\\n\",\n       \"9pJe19lM/TlNg4grTf7gmNYQOVhawUWeRCRNsA77L69UVmFdBrFDLaVbRNOc+D7YAxE1juviuV2D\\\\\\n\",\n       \"eOqJQ9yTXOaVr67luruqWO/9sZGRUtzWKJrExHbZZ6LIvQv6KX01Jvsof+35ixbRNfdspem7p2ns\\\\\\n\",\n       \"+DF3HAe582yDHNju+18efuqHF6THAdu+9TAdPz5Ky6vVvvdBv4f6Xrrb5fSAIMK0AlG+HzScJXO4\\\\\\n\",\n       \"2R81MVkG3W+HwZwaig8q8KyDbNkeBjfccMNevx+DwWAwGAyGRwqmwDIYBkIP2FOMbjuTglY64D38\\\\\\n\",\n       \"5++mI+5enRuo6/8B+I2Fq+mFy1Ml1kg0Ro9ecm43G8gdKokZSeT4BuzZAJcHNXrQrgfFehsrsJ6w\\\\\\n\",\n       \"aBHV/+1LlGSjWg5m/94Z57jlomEp70eAe9JqUv3fv0JPXLSIJqKoL2VJ/8gU3U930D6bZ8+2dYQC\\\\\\n\",\n       \"SxMkWNekig5x781AOEgZJUtLKbDk7IQoOEYTYC21b1il1GyUXfj+Vsl2fa5UWOE4n23Sp/RqZzbC\\\\\\n\",\n       \"fN366r6onbqFZd8lbe5IHV9fYTK3pM/7+iS2nbVgAR06UqGHr364u5+D2T/3a6GXBAMlyPsR4F5/\\\\\\n\",\n       \"qE47b52kS5cs7VNXFd1P3zFMUOD5pApR1ofex/ZHNXGBu0dRz3333ylTIeonxT4jnx5JXHbZZfTM\\\\\\n\",\n       \"Zz7TlUsvvZTuuusuqtVq9JSnPMWVkZERt433GQwGg8FwwCKZo2KY1zAFlsEwFPp/ESc2n0/H/uAr\\\\\\n\",\n       \"NL34Jjrs7j93yistX5WzrfHnMw9dTWO1Cp1z+Ln02GUX9uxUPBDWNjqtONLrQeC1SPnIIlL7nr5k\\\\\\n\",\n       \"CX3vrruo/u2v08jFT3f73/qqN9A7Pv7+7myEEnetXOX2AzPf+B9qbd1CTz3hBC9JEBREhnvtXHhu\\\\\\n\",\n       \"TVrJ7XLwni13VJZVj5DKK3uKbW2p7a2/jbUaa5hcLJ+lUOZeacWV7k++f3GL/gUOhkh98m1j1Y7r\\\\\\n\",\n       \"bIKQkAouGdYuSaqgoC6gYcruNmElVmrtlBPpybqXbZTPIQOBpSyDJe0v3weoU4reAd0HAac3CwK6\\\\\\n\",\n       \"dPGh9KUfb6D6Zcuotrzm9l17Ukh3Hd6hRz2Ur21WXjF5xfuBTf+zicYrET1+0SJvH/eRWH3F997r\\\\\\n\",\n       \"9wDrchvls8d8ReeQ5X+nyv7as78E9we87W1vy4W4v/a1r6V3vvOdfcfcf//9j8DdGQwGg8EwR7AM\\\\\\n\",\n       \"LMMQMALLYBgK/oHcxOYn0sTmi4jCPBnSVVapQTvj2Ye/ng45JD94T2IPieMbuLJCAwPcbFuQJLkB\\\\\\n\",\n       \"uk/dIQfQTGOcPDZG5y1aTNe99+0UHb6SKqec7o5nkqraaLjZBk+4fx2dtu5Ot/3hRYd0n61x0w20\\\\\\n\",\n       \"86/+D11wyCF03OhodwAeqXvAdxXZC7sDfDlglwoUrTxRpEUiQsOLiCut8ulXX/kIp6KcJ63CKlMn\\\\\\n\",\n       \"gSAqWmZoeczuqly0vsg3k6ALl1IklTwfpBXOicVxOsDdX0+pCivsq2OtStTtkgt273C7FxC2cptW\\\\\\n\",\n       \"Y2UqQB9hhD4o6TupwOJWeOqhh9L/bnuY7n/fvXTMXx5H8cKYKs2EVm1Kj9k1QvTppwW0dSJwtkEo\\\\\\n\",\n       \"rxibv7qZtn13G71i5UoayZRg+E4fcabf1RyphvdcPp/vHcA2VmAxmSvUbUUB+fI3ybVyMowd0Ais\\\\\\n\",\n       \"/Q1f+cpX6Lrrruvb/qIXvYjOPfdc+sxnPvOI3JfBYDAYDAbDvoBZCA2GLoa1yvTnxMiBuR64M4os\\\\\\n\",\n       \"bN3cpkAoj6RdSg5Wsc6fbOXjwXKmwvIRR7GYg04PqqMgoD9ddSQdV63QtstfSfUfXtN9FrYJfuQF\\\\\\n\",\n       \"L6c/+fN30PolS922x9z+cxqdmqSZa/6Xtv/5q+ik0VH645Ur3TVRfISBjzzDJ4qbppGnZuRnwvPy\\\\\\n\",\n       \"Ni6yPni/qJN2gWUN1sFBOUypvarIrieJK2mz0xlYrQLrIa83s6L3t8R2uU2vl5Wyc5se+yC2631y\\\\\\n\",\n       \"P64tlWO6LvR5+WO8tkBBWHG7SGsh1rttwpeR/V/2CV7nPiHfC97PpVLp9qdY9DGtvtJ9E8Trwiii\\\\\\n\",\n       \"txx9LFW2deied95N9QfrdPo9CdW4OojoxycF9P1HR/SLo3u2waSd0IZ/3kDrv7SenrFsGT3t0EP7\\\\\\n\",\n       \"iKuo4J3U9+COB2GdPU/f70FBSYLQS87KenU93dMemuzy/bYN/h007EuMjo7S97///b7tvI2thAaD\\\\\\n\",\n       \"wWAwHKgIkrkphvkNU2AZDgL47Fpy8AUeVx6j1TfyPAmpWsmW1KxrRYP5niqCVRQRJawi0coSOZDl\\\\\\n\",\n       \"7Shsm6pUcsonPViWg2hocmRNjIUhXXHMMfT+++6nn775T6l64ik08uwX0MhTnkZBtebUHT8442x6\\\\\\n\",\n       \"9re/TpV2m0593cvpf+68gx67aBG9ZtUqqoWhl5DyKa/0vXWJLamoATkhCQr1zE55xYP2MKJWO3CD\\\\\\n\",\n       \"9GazOFvJR1zlyUWtJPIpsHzHaRuhL0dL9hff9fV1ZT8a9K8v9kO7A4WVVFbh+7T+R/dhKLS0fbDI\\\\\\n\",\n       \"OohlqLl6x2giRQe6a6Uc2oHbMCVcAuqEEQWuCFVeUZ/I3g+23yUiyL1MdRVlLYQYdNz9ylqN1h7/\\\\\\n\",\n       \"KHrnPevozjf/kl5+yioiGnfHXHdCr16b25q09ZqttO2bD1NjW4uev2IFXbZsWfc7Y0FUyXdCEmZ6\\\\\\n\",\n       \"Ge+rex75zFKFhX2C3E4i3h/11XERkZib7TGnwir6bdO/fUWklU+xKPfZX5Nzhde97nX0qle9yoW1\\\\\\n\",\n       \"n3feeW7bj3/8Y6e8+su//Ms5+x6DwWAwGPY55uJPBvuTY97DCCzDAQIM0PfkfL1eRBZoi5QejMlj\\\\\\n\",\n       \"egM23xSuPgLLS2ZR6JQUbtBepL6SA/nsM3RKpA5FmY0Qg3MsS6pBK7XijMRaffRR9JMdO+hr6x+g\\\\\\n\",\n       \"m698K01+5D0UrzyKaGycvj61i56d8XvPrM/QqcccQ49ZsIAqWXi8HHwPYyHM3Ye0CZYQVn0ERsB1\\\\\\n\",\n       \"FXlD2n2ZV2XrxUSVT3HkI6vIQ2Zp8kqqtuTxuj/NRs0i+6QkYLVRDd+L2pfEk868ijzElXx2aSfU\\\\\\n\",\n       \"z5NuG6budQ5WTjHUCfLvgewTZe8C3odOh0JlqfUpFFFQYyCzVlSr9L5HnUDf2bqVntQYcTumkw79\\\\\\n\",\n       \"5z/cT40KUWeyTdMP1t27c8HixfS0E5bS8aOjuXfK9z1aqaiX3WQMOqheP6cuTOYGgfvtKKpzrQT1\\\\\\n\",\n       \"TzPtI3B1Hyv7TdT9uGjf7sL+EpVYvXo1HXfccfThD3+YvvCFL7htp5xyCn32s5+l3/3d393DujYY\\\\\\n\",\n       \"DAaDwWDYv2EEluEAgVac7Ml1fAMiDOixXHZefw4QDwalbU2qTHyZQD5lSicIKYTiCuoSWKQajZ6t\\\\\\n\",\n       \"DiWzGvGgPWq1uqlFsUcDFBdQJW57ELhZCR+3aBE9VK+7wfvDm9fTdKdD1SiimaVLaSQI6fFjY3RI\\\\\\n\",\n       \"tdKd+VCSU7FSn0irlFajdM/jQTpbXrjAQqifTyptspLEcV/9oe75k6tK2wf71UCJsBD6rIOarNKZ\\\\\\n\",\n       \"V4lnxj5tFSTPsvycqwwsKsnAoqy222o5zO5b6pDkuSCsguw4Sfn4bIRpj0jrmImswNsGWOc2gn3Q\\\\\\n\",\n       \"Z/cMeIZN2RekpVD3Ee47fJGRkVSB1W7n+hreC0kjyprm9cwp6J52PAzpWYccQkua6da7m006bVuV\\\\\\n\",\n       \"Gp0OjUc1WrViCT3pkENoQZa7BZIsLrALyv6v1Vldmy8UVng+/ZxyGwitSoU6GZE7jF3WRxxyteWD\\\\\\n\",\n       \"3HUNFRGrg/bPlerK1Fs+MFFlZJXBYDAY5h0sxN0wBIzAMhyAkINrvZ1UlPNs4FNb+axfPoUBB1j7\\\\\\n\",\n       \"iROpggDBIgvbp/gzjEOK5cDVN5hVA3Y3aM8uLIkrDI71cFQbzEBrgI44slajF65YkdMIzTSbNNJJ\\\\\\n\",\n       \"qEJEC5KEZgSBBRWJJK4qal1vq4DEYgWWfC5ZigbvjsCquDpDvUkyBHZCDM55XbYJrGrpoN2nrpLL\\\\\\n\",\n       \"vlwrSdoUneu7VpGlUPfdsj7p6/M4V/d1qKpAOoG4wrLsEdo2qL9Lz0oISsivUkuSsFv3UiHXswnm\\\\\\n\",\n       \"bYM4ltuRm5mXo1i1vY+4kqXRcIQX96ko62NoId3XUau+moZ6cREkS0S0eGyMXrNgQa5mc9lViqjV\\\\\\n\",\n       \"RK4umlxz5/AzjY6m7zR/akK34LeAFWsNUX+yyLouIhLTx9SWP9nvitRZum/OBrrv+FrCVFeD0Gg0\\\\\\n\",\n       \"aOPGjdQRfZVx1FFH7UabGAwGg8GwH2Au/gSwPyHmPYzAMhyAkFYprJOwOGEfqJyigf4gi6DvOE1I\\\\\\n\",\n       \"SBVWJ1OepOoT34BRDyilCqXDs69VRFC1VB9hoC7VSFCktFoUNBpd5UlH5fxgXT8ZButYBq0haQ/G\\\\\\n\",\n       \"VBjS4k46/F/Y6VCL87eUmkoO0H1KLB1gzXapQJMT+pml4kbsc/lX9eLBuQ4G18Hh6Tk+NZUmtIrU\\\\\\n\",\n       \"WLI/FZGcRfskgeXTxPn6elG/15B5WFqxKFtVLut1rUSUtsEygq63zu9AkuQVWGXt4VPTJTVlJ5V9\\\\\\n\",\n       \"ouT9cCRWknTfBZC4WAZAw0nIFhh3afLpudz/5bGSHteWXKm+8ikPfUpEp77yvQPo/yXvR7sZepVs\\\\\\n\",\n       \"PpVn/28S/2Zposr3G+frh75tvt9S3a+19k33V73PoPHLX/6SXv7yl9MPfvCDfI2xdTbg904rOw0G\\\\\\n\",\n       \"g8FgMBjmD4zAMswD6MG63O4beEnIQTr2azJCbvMRHpLECvoG6VJ9pe1ScvDZqqYB5TwwdeROEYGl\\\\\\n\",\n       \"tgcsv+BZ2BSBFStliR528lNjqIMaAJElUeesHWq7YybaHdoR8RQfQZ/ipOLJ+9EWqq5qS848KAfo\\\\\\n\",\n       \"kpyTihuQV3ElJbDUbI6yXqWdsCjQOh24ozbKiKoiEqpIdeUnN/sJAfSpon7JKBqIRiX9GK0pt8uM\\\\\\n\",\n       \"rKSAnJLbpBrLp76RNKd+/rRui4gU2Ta67eR6Mhq5tg7KiBzZT4QaK2BLrXgXuECdiKeICmrKqQmT\\\\\\n\",\n       \"hDCX2wxPDJgpDjV07ltZny9TX7nJGLTKbMBzs43WzcRZ9xNY+p3QvzfIi/OTtz4iSx5b9H4Uqan0\\\\\\n\",\n       \"ub5jjLAaFi996UspjmP6r//6Lzr88MMdaWUwGAwGw7zAXPxJYH9SzHsYgWXYj6EVIXtyjajgulq1\\\\\\n\",\n       \"gmNhOpIzrcmBvhzs9bRO7XYvUBm2KZ/NDZFWPA7Ffl5v1SKK2UaEgzE4z0gqZy8CMzMz0/PMsYWw\\\\\\n\",\n       \"XnejUtAOpJ4OJjJYn6DSQhKSfPIcgoDqQUAjSWojHOV8L85f96hO8FlV6zlFFhQnyL+CLRIWKtio\\\\\\n\",\n       \"sE+UdpDOPqjtUtKO6bNyos57Ye9oN5+qCLVSZCGUy76Bvm+7VrP41jWKVFk+yHcE/RZkFFq/26Ci\\\\\\n\",\n       \"B0giCveB84oshNI4p8mPtrMQyv7Pzc3Nq61r8j2Q70CjEVCLc7CCzFIrC/oG2Bi8D7DUjo5SkCRp\\\\\\n\",\n       \"Jly73UevyLtGC6P2Otm2Wqa+YjTCyPX5ohqXkxj4CN1ILFfEu1HFusyBk4Wfi4tWKYp3o9WJiGO6\\\\\\n\",\n       \"it4DVIu2FMp28PdlSUbp7dqYWaS68imq9vQvSt91Dz7ceOONdP3119PJJ5/8SN+KwWAwGAxzCyOw\\\\\\n\",\n       \"DEPACCzDQfZrOOiXsYhM0Pv9dqpWK6FWKyhUPyC7yV8CajYTiqV9jgerTFSJzKtusNP4eJfMCni9\\\\\\n\",\n       \"XndWQh64+4Z6vlQj0Bx+PVkPjTCkkcyaMtbp0EwY5QisUA3Y5afOxOJnCJjRkKQV1mWoOwgsocTi\\\\\\n\",\n       \"zJ9mRmDJQbqsX5krhrrNh7enJT9wl+SVT22l217v85FWvuNlHyyzV5VBHyftgFiXBJTMvELr65kI\\\\\\n\",\n       \"JXUpCSxpQRymrtrUbqeUDpO5IExkW4C05WVuXqkM6rUbz8oXpu+CzIHiPoH3gQ/kfgJmkk+emXHv\\\\\\n\",\n       \"QtJuUzw52Xd3qP2KqAVdYyMiU6gZho5sku8CakXPdFiUgSXJK7nsbLT8TGNjPcKK32lNZMl3RdiI\\\\\\n\",\n       \"e78Zxb8pRbbCtL61us5H6Jb1wUG/o1KxZ8TTXOHUU0+lzZs3z9n1DAaDwWAwGA4kGIFlOIChdUbD\\\\\\n\",\n       \"HCuXfcSWXNfbi2xhvUEgbFLSNqitUvJTF1ZUjIykA9TuLGxQYMkgZz4YFjycXKu5/B9WYcWdTo6y\\\\\\n\",\n       \"wB36LFN4Sk1RyFpocT5XRmDVOm1ig5Yv90fbpXLKK7ZiQX0FgkoG02u1jbARJo7Uq1CnlVqmwFfI\\\\\\n\",\n       \"oHBNZhXNQJiqrzpDFt1vfO1fVIOaICi6RlE/HQba/ir1d3rd1+JUkHnlu7/h602qsIqKDN2X5C72\\\\\\n\",\n       \"Vdi6moW5d98FELsgr+SkBrClZhcI63VH5vL7AHpG17LMgHO1kSRUzeylrMZid5acwVNH3JcRWCB0\\\\\\n\",\n       \"pQqrmxPHOXK4X/kccr0gxJ7fhSSKqZnxeIOKz9KMZX8/LSuy9nzb9TH7+r9d5z/e85730Bvf+EZ6\\\\\\n\",\n       \"97vfTaeffjpVuF8ILFy48BG7N4PBYDAY9gg2C6FhCBiBZTiISKyiczHwlpoMPajTpIafxOJgZC5Q\\\\\\n\",\n       \"RsiBuU+BJWdr4896PaDx8SpFFR60NnsDWqk4kRZCVmXAjzU66mYk5AwgPlYSWL4BuFZgYZCvh6Hu\\\\\\n\",\n       \"nCCgJgbhCblBPmZ88wVXVz35P05xIu1RUFppFZYcwIv1TlyhVjPM1Z9U9ui6lsoTuY/D9nvtKFUn\\\\\\n\",\n       \"syG29DnyE9DKK92vyHO83laGoMAeKPuybF2ptpL3InuDb12+H8Xqw17vYQKrQ81m1FVc+dpBqq6k\\\\\\n\",\n       \"nRDrlUpEnTigEAQObLRQYvE63odMgej6Ettos3cinJmhuNXqtrRWXTmSSjwpE79dzRkrwES+kCSA\\\\\\n\",\n       \"pQkTy2WzEGoVYsQ5d1BYajutVCH6SrVGnajqHrfst6Tstwe/U37itaifF/VxqUTcXQLKyKth8dSn\\\\\\n\",\n       \"PtV9XnLJJfkatBB3g8FgMBzgCDhmdw//L2tPzzfs/zACax7iZz/7Gf3nf/4nLVmyhH73d3+Xli5d\\\\\\n\",\n       \"2t23Y8cOet3rXkef+cxn6OCDtEVJNYqEVtX48mGQMdQWyzwUZoondrOwpbMR9jKAMEDnZWT+4JP3\\\\\\n\",\n       \"TU+zKiPdxssjUZUqoykR5UaqmbLKrWMZDAACyWF9iiKndqo0Gi4PSBrJMPtaS2QA6YBrrRkCAqfC\\\\\\n\",\n       \"Sgf4tU7HEVIyvFrOQKgtUxEUJmyRWrAgtU1xmZhIB/FyWZeM9Go0A8fZcf2gWqRdUBaoTmT+DxRB\\\\\\n\",\n       \"PQVWu494GUxc+tRZ+ho+y1QRRSjJLd96GSQppaGT0PSsnVJ9Jakd3c99oe6+upLvRJwLcpftwP0b\\\\\\n\",\n       \"lkJuP2knlO8Et3E6n0FAIzL3jU+SkjvuM3gf8IX8InHhPsqqP7YVNpvu7ptZv6fsE/0Xb3Jb2AcD\\\\\\n\",\n       \"ts16aleqrySRVTQDYe49YNJX2gYHvQ9cpMVwdJRaYYVmpnu/G4jCA6Gls7Ak0ds/CydqpFsDJWSt\\\\\\n\",\n       \"nArC18d139LkrWEu8K1vfcsq0mAwGAwGw0ELI7DmGb7+9a/Tb//2b9MJJ5xAO3fupLe+9a30la98\\\\\\n\",\n       \"hS666CK3f3p6mv72b//2ACawpA6iaL8cnOvjfbYon01GDti1AsWnXOh98kyEzUwphInDpOKECw82\\\\\\n\",\n       \"ISrBMtGThJ8AAO7ZSURBVNxRTmgSR06F5dQnUFnJ0Gqse8itgEf+HGTNj8FWqsz6B3pBqk4wZEUC\\\\\\n\",\n       \"UlEtuBpkUiALuGalVyUjsELPoL2rOIFtsFajQJNSUF/5Atu1tSqOqZkN2kGI+FQmqBptL0wJLV/2\\\\\\n\",\n       \"lRyco2hlXhGl57Ne6ev69hVZsTSKBv+h5xi0Evq7fAatKsQ1ZOsWTZgg712SZahHSeJKMosJXM6E\\\\\\n\",\n       \"CxwJJdVXUGRpBZbMwEIbO0HSqHgxkHmVO2Akz5SJ98HlYfHdsa02sxNqQhfvA5O9bUfspE9SCYLc\\\\\\n\",\n       \"00qtmy8Hq2zWQadI5PeFlVcy68pD1OYKrLajo5RUq5RUqtROUmUbCFz+BK8niSxZv7qu8yrEMrVV\\\\\\n\",\n       \"0XZZKz5llq9P+96NMth/ofpw4YUX0lxh7dq19C//8i9022230ejoKJ1//vnOonjSSSfN2XcYDAaD\\\\\\n\",\n       \"wbBPBdn258O8hxFY8wxvf/vb6Q1veAO9613vciqI973vffSMZzzDkVhPf/rT6cCGj4zyreuBlRzQ\\\\\\n\",\n       \"a4ommUXB8dIyoymgDnU6vfBqHVDtZhpUg0mfJa5dY/tUQiEPYDEiBZkjQ6sxeIc6BWosEFdB4Abm\\\\\\n\",\n       \"FVajqHkX5bqPitE1nIgBPXUSipgUYIKqQHXi9oVh+gwDbVGKtBLZP5z3w5lbUlGirVIy70fWuc5d\\\\\\n\",\n       \"StVXvkG0Vkf5lFhF/cFHSPnUXGX9Tp4v+3PReyARlGzTdKSPuCq6Dx95pZ8HyVKa9EsyFVaqRNQ5\\\\\\n\",\n       \"cLqdcjlw6n1oj0YUxZU0+F/2DfQXSItgscX7kOVhuf7L/Z/thGkIWl//dzUhyK0oDFz/lRSifBc0\\\\\\n\",\n       \"gaUthCBwu6QWvweViiu5WTaLinwXBKnbCSIXkq/ts77gdk3s5rPgfAQ82tJHMA3726iPLTt3mD5v\\\\\\n\",\n       \"f4UybrrpJjrttNPc7ykvl+GMM86gYfGd73yHXv3qV9NjH/tYarVa9KY3vYme9rSn0S9+8QsaZ5LV\\\\\\n\",\n       \"YDAYDAaDYT+DEVjzDD//+c/p7/7u79xyEAQu7PXII4+k5z73ufSlL33J/aF64MGnDMlpg5RGIhiC\\\\\\n\",\n       \"zk9KtmuljE+JgAFf3Lc9HbhzDhaPO1P1iVaYQDkB2yCPWWGpmppK7VPBaEjR2HiqJJEkFV+IAQaA\\\\\\n\",\n       \"D+YC+5Q7OXDLzj7Fn1NTOa0M6IhWNsCWdESh6YdzsMKQWpnNKuokVIt6OVhagcUZPy7nhwdCbIPC\\\\\\n\",\n       \"wB3rchCvt2frycgItaMKNZqhe3S2S0nroLRR6e1agZLetlZb+drVR14VqVN8RJbso/Javv4otw9r\\\\\\n\",\n       \"t9LHyUwrbR3E8TLpKSq5F1xbKg5RpMVQK660pTbqkrloA2nrRBuhzzNXg4x2+W6weouto9WoQtFI\\\\\\n\",\n       \"QgH3kVRClJ8lgdfR0Nz/+WReTi/iVImORKrXKWo0+u6W+249Uxcyatksm2UtgqeUNkJpo5XvA2e/\\\\\\n\",\n       \"ufw3LvwMXGAVhIUQ6yh8bLad3wMaG3fvAfd3/o1An/e9AxCpybpPSa1E2Wh1X/apEyVhrwndYX9T\\\\\\n\",\n       \"fUSU7G+Djj24rYhnnXUWrV+/npYvX+6W+d/2tA3z4O3tTHE7DL761a/m1j/3uc+577j++uvpyU9+\\\\\\n\",\n       \"8pzcu8FgMBgMBsNcwgiseYZarUbbtm3LbXvhC1/o/uf2ec97Hn3gAx+g+Qc9YC9CkUVKWgRBAGAQ\\\\\\n\",\n       \"gIG6tElp25nMwErpnNRGGPflXiGehwfs/Mk8E+/jwScvZ247ty0MA6pUYopHx7LbzwgsBggrLrzM\\\\\\n\",\n       \"wICdTwaplak4mMSKm02KWi2K2qxnSp9A0m8+SkbCqUzCkHZmBFan06GRKMxl//AAiomCnC2QPznL\\\\\\n\",\n       \"Rw7eMYCXxBUG+NkAngftSbVGzXbczb6SnyhFuT96VjsevOdJKJmBJcksHexOBYN9nwoJ5xcN4jUR\\\\\\n\",\n       \"IM/z9ekiyL6OPqiz3eR7oZWKsn/jGjrjSubFyfvUah1Ji+ZJXa5z7scQSKFbos24q8AdyG2J7ssF\\\\\\n\",\n       \"7wN3kXC0QmE1oGCkmfYPd8vZRblx+WAM3JkF43Ue4OML3aOmL14wM0PV6WmXd8UkgHtzk4QaWb/m\\\\\\n\",\n       \"pxwLg775HXXNS/ugtBF2yVyetAAzaSLbCjlwiqjtvg/8iWMFyZWMjlGbYpqp9/d/uS6XfRlxKfeH\\\\\\n\",\n       \"BLzWkBlY+t3QiXlFlkBfv/ahiLQyAOvWraNly5Z1l/cWtm/f7j45P9NgMBgMhn2NNNJhz69hmN8w\\\\\\n\",\n       \"Amuegf93lkNezznnnNz25z//+W6w9pKXvIQOXmhqRhNackAmVS1AkTJBEhdI1enNlgceSZJZWh3E\\\\\\n\",\n       \"+6A+4ZIO5gOqVhMK4hpFIx0XRN3Nw0LmlVajZMqr9NbTATyTSm5/djwrUHg96XScDVBqLoq0FfgH\\\\\\n\",\n       \"oRoGtDNbn+l0KOasrcxG6PJ9spIjsHTOjywgrmCZUvapVofrMcjNuObL9vHZ0fL7U0vbcIPwotoo\\\\\\n\",\n       \"swUWKVSGUWD5KMPZ/OutVVea0JWEVNl7oJ9HKrbkNr1fk3o9spfrnO1qnIUlM7CK2qpodkJWYoVB\\\\\\n\",\n       \"SFVYB+GRgyIRkxrIQHfI7kBmsZ0W6kS+Q56dsNVysxQygYXaqAUBjbDCpYRa0SHuXfKKvyMMHYnr\\\\\\n\",\n       \"FIiwO4Kw4nuXCivxXnynczddt+0Bev3yl+ashEzkduIa1RtBn8rqS/d+gFbF59Kq9oV9dlqpxJKW\\\\\\n\",\n       \"Q78KUb4b+l3QfdKnQJTbfX3MsCc4+uijvctzCf4PCZ7g5YILLnB2RR/q9borclIYg8FgMBgMhn0J\\\\\\n\",\n       \"I7DmGV71qlfRNddc4933ghe8wA0or7rqKjp4kahBObbpZTm4l9t96hupzurlYcFGGEW9wTuPn6E4\\\\\\n\",\n       \"QSYWxuHprGs9WxWvz8wEVFlQoaDSoWg0G5VqyxQAAguKEwYG7Hw8k0s8GxsTTs0mddptVxwlkQ3g\\\\\\n\",\n       \"iyiXroYnCGg0CGg6O56ftsYDdv4OmVGEwToshFwQ2q4JLE1u8aA9C6xuNkKvJUoTHj5iS5Javcwf\\\\\\n\",\n       \"3wC9U9DuehCva8bXH3QfGkRe+QiCYfuxbB1cV6aa6eMl6SSD3eX+ItJLWwp9hJeu07SuOQcLBFZP\\\\\\n\",\n       \"DecnsfA+yLy47vvAuVSZLZXD2bs7MXNgb5rJ3jLeAQD2Qn4HMkaHA95nhH1wQRS60HWfVs5HXrkC\\\\\\n\",\n       \"EpeD2sFSc5/mT5BW6OO8LN+HsTH6Dt1Dv/HAe2mqU6fm+CitPv1VXYKrU6lRm2cenOwFtnP5/N1X\\\\\\n\",\n       \"0qfvX0O1YIxec8j/0OGtlMTSGWK9+sYkBkWqQ6kk1H0bfWBYEraIBjfsr+AsrFtuuYW+973vlYa+\\\\\\n\",\n       \"X3HFFfv0vgwGg8FwECHhMcseaqj29HzDfg8jsOYZnvWsZ7nCKizMPKjthDw74YELDJa0LUoDAyg5\\\\\\n\",\n       \"vx5Iq0BYnfRATQ7gpU2KPJlAuIYmsDCvWUytFoePB12FFY9tkeUkLYRc3LdmrifeLvfVqjFFPOhF\\\\\\n\",\n       \"xg8TQzgIF2bwdr442DAZAg0ZEw+aORsLlkL47FiVxaRWSa3yUy6KQppupXUzHUY0wRk+uFEM2Pk7\\\\\\n\",\n       \"8L068wp2Qp0HhOWJCWcdrLdjmlZWKZ9dij99Ae9SecLqgn5LFNpKk1o+VZbOlfFZDMsG7UXkl+zT\\\\\\n\",\n       \"Zeeh9n19Xtv9JInVHnAeSC+prAJFA8j+XTQTZyerS6RA9ZQ9TI6ifbh7QDwFRSJ3S25D/T7Abstd\\\\\\n\",\n       \"KH0neEbLmGqjY07llN5aO686hKUW7wSfzBeHlRBsqHgfeFbAnRs2dJ92cRS5DDdNL2q4WgUhBtIK\\\\\\n\",\n       \"lkH0b/k+SNIWsxBm78N1Ox9w5BVjze0fc9tWn3e5O67Ziaku+jznX11165X06XvXuOPryRTdOX0d\\\\\\n\",\n       \"LW5c2H035PvQI4DRH5qKwJKKxGEshD5CVvZtTYRJtaPPXuvr80Z+7Uu85jWvof/6r/9y//nFmZlF\\\\\\n\",\n       \"WLNmDV1++eU5BdaqVav20V0aDAaDYd5jLv4EsD8h5j2MwJqn4BkHX/va19K73/1uqmTsyObNm+ll\\\\\\n\",\n       \"L3uZ+x/WP/qjP6IDH1JVAsgBfNE5WjkQFJBUJAbjcuDe9hwrLTkgBFpOfdJshm5QKaOpsMxjX/BN\\\\\\n\",\n       \"mcvJjXdBYuH4djukpFahkQULeoNmqE1wEMgsjP4xgOcLgsziEW1m0QvA8mQqFrYUOlILihYfgoAm\\\\\\n\",\n       \"+HPLw251Z7tNy5mQkt8D9QnsgAinhjUQFiqd/5MN7Jm8akdVmpkMugP2yclero8cpEuFiZ7JEYqf\\\\\\n\",\n       \"1HGJdmsVKKQwsJYDd9nHimxT6HNFfW0QfEqpMjLLq4sT+wf9r1PRMfo9ku+WT42FdR/Zh5LmLHU6\\\\\\n\",\n       \"acS5DHEHScXdRaroeJ3blrsTCKxepBXPakkUj1cpqGV3A9sgCCwGn8DrmsyCvBEvHPdFtg/u2kWN\\\\\\n\",\n       \"jJCtVmKqLl6cvguZxbYQWWBX15aI/s8F9llJ4sr+LxVYExP0+sNeTM2xkZS8YqLg+vdQMj5Orzvv\\\\\\n\",\n       \"zTRdT62D/A7wu/Cp266kT92TkleMZ4ytpfOT19PO7NH4nZH5V3hX2k5lpvOufEosHDPo/ZCEl+6f\\\\\\n\",\n       \"g/4C9dGDptra1+DfxT/5kz+hf/3Xf6Vvf/vbdOyxxw7M2ORiMBgMBoPB8EjBCKx5ClZgvfjFL6Zv\\\\\\n\",\n       \"fOMb9Pd///cu+PUP/uAP6MQTT6Qbb7yRDgwkQwy8JQk1zABenlNkfdFqE/IM3iR5JW05eUIrSWKn\\\\\\n\",\n       \"/mm10kwsHWINUQgILW0hhKCKvy9kfmq0QlGl5mxPfRk/UKOADWNIdRZCtvBlILAyWUzXllU2i1UY\\\\\\n\",\n       \"UiUMaXTXJE3X69RoNqlRqVAVmT4gyoQdsJv1g+3SMohBvci/agUxNVupdVDm/WhySn7qPKzeo8js\\\\\\n\",\n       \"K5/FzdcH9CBcD8bLBun6HN8gftD1yggsH3Tfx3G+2Tj192gCbFAdDNqvCY50OUlSK2Fa8vZOST4i\\\\\\n\",\n       \"H0tPfoBZCR0HW2NmK6YK+gyIXNl35fsAcgtsmFRjtVq06+GUjGUsXLjIkUvdWT/LyFxJjuFllQQW\\\\\\n\",\n       \"8q9AWoHUAoEr342xsdQ2OD5Oa254r7v8m655K820Yvrj09Z0bYNMXv3N3T3y6rKJtfTkcLUjt+S7\\\\\\n\",\n       \"Id+ZlONL88jKJywoKvK3URO6w/QVH4r6UdmxetkwF7ZB/vvg3//932nBggVupkPGokWLaJT7pcFg\\\\\\n\",\n       \"MBgM+xKmwDIMASOw5inOP/98R1T98R//MZ199tmORHnnO99Jb3zjG9NQ7wMORYPyYffL42RGkE9p\\\\\\n\",\n       \"4iOxpEVLq0zwndJChWNZgcIDydANQDGe1gQWRCP8Ke1UGA+nfFRA1RornGoUREE6yGbgYIacdQ3+\\\\\\n\",\n       \"LMmGQZKhk+SFjTCXq6WRqb8m6g2afught2lnvUGHHn54sYUQA3VpG8SyCHhPXGZQlZr10M22hkG4\\\\\\n\",\n       \"zP1B0XZB3wyEeLwkGWSLkoor38Dd18/0IJ5KiB5NggxLbA3CIKJKElqJshb6SAbZ3/VsnfLaZXUm\\\\\\n\",\n       \"FYi97dwGrVbs2gX9XxK6MiMOmXB4H1DwrjhCtxZRXAtcv+m+B5jcANZarU4EI4actqwj7dg12X26\\\\\\n\",\n       \"BcuWpv0S5FUZmYuXFteFpEySuNpCiHdBhrizgjFTJK5+3Oud8upN332b+4p3/OBNND0d0EsftZo+\\\\\\n\",\n       \"+fMr6ZN39cirZy9MyStYaDXRi3eHZ4LsdKCs0mpRqcgqUif6CK0ickv2v2GQ7IO/ZOcfeKbhf/qn\\\\\\n\",\n       \"f6K77rqL/vzP/9zNGnjDDTfQYYcdRitXrhz6Oh//+Mfd51Oe8pTc9s9+9rP00pe+dM7v22AwGAyG\\\\\\n\",\n       \"MvAMhHs8C6H92TDvYQTWPMYdd9xB1113ncu0ePDBB+n222+nqakpGmcCYS/jYx/7GL3vfe9z/6N7\\\\\\n\",\n       \"5pln0kc/+lE677zzaN8CigNpKZQh1toWJUkqbZEKPBHOyMCSgzkQWmF3ma1PjUYl5+zjQae7Q/Ej\\\\\\n\",\n       \"iwnUdLwPF6hWeN/oaEy1SkS1xdkFpW1Qqp8gy+AifUXMAOigKJBXCIkfQGAtGB2lTSCwduygQ3na\\\\\\n\",\n       \"dTmAlyHucuCODCwQW9wXOUPLHTNCU/Wwm221a1dqmUL2lS5wg8kBvFRpYVsvnwkDeK3A0qQWGsWn\\\\\\n\",\n       \"VvERUviOQX1RK0nm+l9YSVTJbTREXpwmrHSfl+syO85nr5X7e+8DtwVsgRACyvdBRrqBj8XxeCdw\\\\\\n\",\n       \"jOOqKKSxsfEeOYsDQRrBJoi+By8dd5yMwG1PT9PUtm3u2hHbo3jwjxD4QQSW/F6ZgSVzsNDPQehK\\\\\\n\",\n       \"NRbui/t/RnAlCxbQ5U94C9U7Fbri+29yX/O+n66hT9z8HtrZSu+T8ZxFa+mJtLr7fnCsIS8XvQ8p\\\\\\n\",\n       \"iSvfASxrMmo2+XDoX4PUWlq5ZdgT3HTTTfTUpz7VqaTuueceeuUrX+kIrH/5l3+h++67jz7/+c8P\\\\\\n\",\n       \"fa1UlWcwGAwGg8Fw4MAIrHmKK6+8kt72trfRH/7hHzoi6c4776Tf//3fpzPOOIO+8IUv0BOe8IS9\\\\\\n\",\n       \"9t1f/vKXXdDrJz7xCXrc4x5HH/rQh+jSSy91BNry5cvn8Ju0mkqTUeGAc+XAXRNVcpsktzThgQF6\\\\\\n\",\n       \"kC1DfdLOrSdJkxoNft3SHB+4+DBgl4N7GfCO/GmIS1I1VkBtzgAajSgeHUtnPeMTcABSr8EU4IJQ\\\\\\n\",\n       \"XfF+EFVafcXLGMD7kN1kdeFCisfGqDU1RdNbt1I7jiliYkoP3rEMQgvLGMBnypNWWHEqtZS8SjN/\\\\\\n\",\n       \"oLbKq0n6w6n1rIRY5pkH/fZBSVRp5YgcpJfBN1gfxjLlG8QPslyVkVC6H+vvKnsH9DWiAefp6/qU\\\\\\n\",\n       \"ZiBB0twrWZ9upkvn7ONcuN58BLI9wQmhLcE1gexC98K7GLKlNapSPJqxvAyorsAGQ76Fd0CEb00y\\\\\\n\",\n       \"CZsN4hceeSQFixb13oUyC6FMnNcqLDyEtNSiz2OZ+z2Oyd6BTrVGrU5EU9MB/dGj19DUVODIK4Yk\\\\\\n\",\n       \"r567eC09JV7tCF79fmjVYqPBda5VVmUKrGEmNND9xtcHivoO+k8RmWuEyiDwv62sjnrve9/rbH/A\\\\\\n\",\n       \"b/zGb7hJWgwGg8FgOGBhFkLDEDACa57iwx/+MP3bv/0b/fqv/7pbP+200+jaa6+lN73pTc4uUOfR\\\\\\n\",\n       \"zV7CBz/4Qfe/whwYz2Ai67//+7/pM5/5DK1evXoOCCvfss4C0gMkaZ3yHZcMWSTxoUPcMeOhJEmg\\\\\\n\",\n       \"AGu7IPY0CyudlRAEFtxMGAfzsg54Z2As7u42CSiOQwoqrOrgfCxhmcJBOEEOtpkZAGMmp4OD2gSh\\\\\\n\",\n       \"2EUkVkZgcXD1wmOOoYd/8Qt37K7NW2gRk5My9wfLOg9LltFRasdVarXT2RqhqvINzH0zDGJZ5l/1\\\\\\n\",\n       \"uAdNWPnUIEUD8kEWP91vivrrMNuG3S77vO++iqyENItrDKMS0+9C0fZ+0pDfASaw4FRNJyjob1PY\\\\\\n\",\n       \"CWVsG/gn/HSxFZrXg2pMAXNUTAxpCyGsg/DuyulAGw3a9cCD3buf4ABrJmEhdywisPA+SQIL6kdJ\\\\\\n\",\n       \"YBVNagDSSoS6M3nVDipUb0Zu5k1+RrYNauXVWLiYnjqSKq+KiKte9lWSBbfrsHb9PrSHeEcGFZrF\\\\\\n\",\n       \"uzHouKJlA+MnP/kJffKTn+yrDLYOIsPKYDAYDIYDEkZgGYaAEVjzFDfffDMtXbo0t41nI2Q11m/9\\\\\\n\",\n       \"1m/tte9tNBp0/fXXu+m2AVZJsOXhhz/8ofccJtMkocZTcxdjkKrEp1bxqVQkQDLJ68tfUKnAgnXQ\\\\\\n\",\n       \"PZkYAOI6yI/qWQix3m5H3WtIm5QUjPB4uTfrWvYkmWXKXSWbXC3NrQ6oMx5TrRpRbUEWID0zQwEY\\\\\\n\",\n       \"MFipUCBh4gE0pu/TFkJcvGjwDmaNbYQnnZQSWKwQeeABWnT+E/IZQCggq3A/TBLUapS4QOtxqteD\\\\\\n\",\n       \"PvIKs65xgZoEsw/KWQilIkuKydLcH1ilNJEiB+toXz2bmh7g+4itIpWWvNaeYDYE1GyuiWfxvQ9S\\\\\\n\",\n       \"iSUJKT3zpnw3pOJKkyJ4t9K26HQqGbGSqrDkZJnglSRpKy2F6I56n3sPqjGNsp0wSSgAaQTyCsQS\\\\\\n\",\n       \"EuG5VKuU1Bu0495702tVKjR20om9LyqzEIKwEu+CV4ElM+FAXuF94Nk2hSKx0Qip3gi6Mw1yHXzi\\\\\\n\",\n       \"litz5BVjqrON/nPrlXRBkga363dCviv8DvRmHmwK22BbrOv3AQq6oow4H5lPwl5b1t/09kHk1Fy8\\\\\\n\",\n       \"Q/MPPAug799IjgxYtmzZI3JPBoPBYDAYDPsKRmDNU2jySuLCCy/ca9+7efNmarfbLkxWgtdvu+02\\\\\\n\",\n       \"7zlr166lK664YhbKkmEh86+kvVBeH6SSHNT7Buy4BuyBILLktaUKC/bBfHZWSjylVjl3B5nLCQ5A\\\\\\n\",\n       \"Bo+/pRiKIWfXwxgc29JxcEijNbYTxi7LpytV0RlYOuVcsj5yZsMyAitj3kYXLaKAc3tmZmjXunXU\\\\\\n\",\n       \"GR+nEN8NwgozsnnygDpR7OyCPBCHXQyDcuRgYVAuc698FsI8H8cD97T0k1FlWT3oE2UD50H7O/vx\\\\\\n\",\n       \"IFyTuLJfDzq2bL+vDrUCK11OCRUmr4JcMDsUV1BZpdllecJKvit4F7grujZ3OU8BjYyOUVTNZtaE\\\\\\n\",\n       \"nDEjrHLexJkZmr7tNtd3GRMnnkAh/2b6ZjLUkMFcYNd0kDuWiyY1YMtgXKFOWKXpyZ5lFgTWVbde\\\\\\n\",\n       \"SZ+4c01OecXkFeO/62toqk10xkwa4K4JLGRgpcHtTFQ1BHmls+B8dkJsL3p3fGotQJ9Hnj7xSP63\\\\\\n\",\n       \"7IGPZzzjGfSOd7yD/vEf/7GrROTsq7/4i7+g5zznOY/07RkMBoPBsNuwEHfDMDACy/CIg9VanOsB\\\\\\n\",\n       \"8P8ur1q1KlsbRGAV2QqHhRxYFamw5MBLz7Cm7YQ9y2CP4MorsjqdgFqt1DIHFxIEI1CVADLeCuvu\\\\\\n\",\n       \"roU6i9UsmKWwEsVUiUOKx0VgEJgCXvZN0wcLIRQnILOKBu/ZjTob4amn0vYbbqCk0aCpBx6kiTNO\\\\\\n\",\n       \"75FW+H4owCqVVHXCWT9JRM1GlKmv+lVWclY1kFOauNL2QVlS+6AkUXRAu2z7MiuTb9A8Wxvg/owy\\\\\\n\",\n       \"SyHNoi6K6lKrs1gZl3R5Iv7kLiXFgLAMwvWHLqrfFQZm6GTyKooTCiiiCnf9aiphdDOu4iVC4Fbm\\\\\\n\",\n       \"Xdx5xx3dp1hw5pnphAKy/xfZaOWshlKFBRmZj8BCyQisZlihVoftxGGOnGXy6m9uvZI+Kcgrzrxi\\\\\\n\",\n       \"2yArr5i8YnwrWkOTEdEp9dWed0XOOghSSi4XWQnzZGO/+lCqEDXhu7vk0mzsggfi+zX3+MAHPkDP\\\\\\n\",\n       \"fe5zXZ7k9PS0+w8ptg5yruW73vWuR/r2DAaDwWDYfST891uw59cwzGsYgWWYc+VXFEW0YcOG3HZe\\\\\\n\",\n       \"X7FiRaElgsvsIe2CGEBFA47FMgbuRQNvSUwVqUuguJKKLKn4kvYpqLLS+2UCKwzTATbGvIC2F2IG\\\\\\n\",\n       \"NqxryPH2yAjb95I0FyjgrCrOBxK2PskAgUGYDYHFELapibMf4wgsxq7bbqUJ2AilGiVTXyVxTEml\\\\\\n\",\n       \"Su2o6ograRksI6+0YMxHYOFREOuVJEUDcz0Il6RWmc3pYB48DyL4sFxWv711JpuazcibgQVFlnQA\\\\\\n\",\n       \"wmooI6x87wq/S45zqsVEtYiiapqB5fq/lHc1m5REEe342U3piWFIE+eck/bTQRbaYQgsWAiVjZD7\\\\\\n\",\n       \"fsIkbqVGrWZA9WaqvAKBxctF5BXvY9sgK6+YvGJcu3CN2/6onatF9lVKDuZtg768qyIyS9sJfW1Y\\\\\\n\",\n       \"9ptZ1E+KoFVahkHg2Qe/8Y1v0Pe//3362c9+Rrt27aKzzz7b2fQNBoPBYDAY5juMwDLMKarVKp1z\\\\\\n\",\n       \"zjl09dVX02WXXea2cRYRr7/mNa+Zo28psz5pYktuA6EEUkkeA8UV1Fc+VVWSDQpJWA+RcwUSC2wT\\\\\\n\",\n       \"luX1e/fDeViNRuTUWCCoQMBg1kGZpy6JGk3gSLKHB7RpZnRAtdoIVUdHqDLRSUfIYIHSgJzeYF0T\\\\\\n\",\n       \"WGX5P+5Revk/4zyb5ec+R9Rq046f3kiHLVjg8oT61CgjI9SmiJqtgKZ39pxdIK6wDPuTXsZAX9sG\\\\\\n\",\n       \"i7i4/GC7qSxNcqAuj6USa9T+ZAXc19C5WPr90+pF7Mc6rGxxl9zgNsLMmyCtIO7Duvu2bGJNAKos\\\\\\n\",\n       \"dE+8K3DByvdhdLRGldEqxfz93IFgIWy1qHHnndTauNFdc/TkkylaubI/+6qMwPLlYMnZP7WNdnSU\\\\\\n\",\n       \"mm1WXBHVd/ZeR/Rzvr3P3HElXbWuR149Z1F+tkG2F545tZqmIqIfL0iPu2n5Gnf+EVtSkivNF2sL\\\\\\n\",\n       \"26DMvioqeBdAdoHYanosgfpdkVZcrdTyvUfoQ2VklVkFy/D5z3+enve859EFF1zgisyf/NKXvkQv\\\\\\n\",\n       \"fvGLS883GAwGg2G/xVz8CWD/HzbvYQSWYc7BdsCXvOQldO6559J5551HH/rQh2hycrI7K+HeJax8\\\\\\n\",\n       \"g2tJLJV9Bylyy7cPRBi+D3ZBQBJYRblbvL2ZZTSFNDPTew0xgNcCEIynpbMJYilNblUqaUA2x+5U\\\\\\n\",\n       \"KglVKyFVohGKR2sU8b2y2g1kFi6AL0zlS3n7lLwR+ByzG40WLaKxM86kqRtuoPaWLVRfv4FGTj2l\\\\\\n\",\n       \"qzxJophaSao4S5VUQdcuBcJNBrJDjSX3gcDSNkId3p4SfokrvYF4S9V9mYpob5BUvv40LOZaAj3o\\\\\\n\",\n       \"HdgTcqtIkSPrupcLxwo5VmK1WmlflSIpzD4IsiqLqeoC7wcm3ZTqu95yqsZKu2FEcXWU4lqNgkyi\\\\\\n\",\n       \"t/OnP+1eb8GTnkS0YEGevMI7AK+uq76wfBZCPARI22qVWvzGdQJqToXUEP0fHDLi6b5w1wfoqnt6\\\\\\n\",\n       \"5NWzF6bkFQLdufAyH8u2QV7/2bL0+F8evYbqUzEdesfrRGi7DGpveHKwypRYKFpJV6bQGqaflKn3\\\\\\n\",\n       \"ymCElgT/O/r0pz/dWQgldu7c6fYZgWUwGAyGAxWWgWUYBkZgGeYc/L/DmzZtore+9a0um+Oss86i\\\\\\n\",\n       \"r371q33B7nsnx0daA30qLD1w0jZCX5HnynwsOagjFfCOZZAGGCxCtZUqWjqd2Nl+UldSmoklbYIY\\\\\\n\",\n       \"0AOwS/lnJcyHv3OpVlOCgK2FlTihKAwpjEMKwwoFlTaFSTbql6N/H4GFgTwG74yMZVj45Cc5Aoux\\\\\\n\",\n       \"89prqXb22S6gPQlC6iQhtdphLnxdElbaLujbrkmqPFGRF42ltywH33qQ3BmyvXcHMrBf9kF9zGy2\\\\\\n\",\n       \"D/u9wSwIMHn8ns5oWFakwo36Msm472vnqm5f8EJcZA6W4FDTK6duwW5eHNaZyOJSqwWURNzvQwqq\\\\\\n\",\n       \"Ee36QW9G1AUXX0w0Ntbr56kHL/8O4OKawAJplZVOEFESRtThkjB5FTrVIQgr9H+sQ4F1dPVcqgVj\\\\\\n\",\n       \"VE+m6FkL1tJFlZSkkspDkLtcjt+RkltMXoXtMao9fK6YdVNnX0lSShNVIOQ1MaWVVMO0d9Exvj4j\\\\\\n\",\n       \"+4VeNpS+dch2U/jVr37l7IUGg8FgMBgM8xlGYBn2CtguOHeWQR8wECpTlUgSC2SVT2klLYNUkH8V\\\\\\n\",\n       \"esgraR0kEVQtt+FTzkrYU4Sl42W2E4aZeihwY2EMwvWsawzYC7GMic0goOJ1EABwMKXLnLcVOUVK\\\\\\n\",\n       \"OkkbD4TAIHTTz7tf5O4czJhEGFIimLXxSy4h+tCH3fKO736Xlrzu8pwyDIN2EFDSzSgVVyh6Xedd\\\\\\n\",\n       \"aUKr5/hKA8LzdihXSwV2pr0xgJb9UQ7+5X59H+gTPrvVIPjUhfk+1v/92Je3te4+yupU1j2Jtgmz\\\\\\n\",\n       \"9kpJJrQh1Fgy9wq2QJBS3He7T5MRVnw+OCX5rvB1+Hi26qb9PyTavpmmb0rzr6rHH0+VE0+gBMpD\\\\\\n\",\n       \"RrtNgS8DK2PMuk8IyZgjsWK33E54ptGgr49yn0fflbZZKLCODS6kyw/7H/rl1HV0QfB6R07BNgjy\\\\\\n\",\n       \"V2bG8XlH3L2aGtOxI69GNjyJEqp7bIOaxCoKcy8jsaiA2KISy6Bsc01uleFgtuqW4zGPeUz2nxwB\\\\\\n\",\n       \"XXLJJRQLby3bRtetW+eUWQaDwWAwHLAwC6FhCBiBZThA4FNUFe3XtkFJdg2a0RCqBOT1yPwrkA/S\\\\\\n\",\n       \"QijXW55fXkmeFZFtPBNfhdrtdPDL4PgcKIt44Iv8dR5jg6Tq2QRTAosHtciO5kGujOABMSDz1dPx\\\\\\n\",\n       \"d0jVakhRyGHv2MbEljN69VupoELhwGwKyTmWjlpI8cmnUOu2W6lx2220/a711D5kRS6jS096KDO7\\\\\\n\",\n       \"pOJKDtB9BYN5nXeEAOvUQuULEtckii/HZ19CqrSSEnJr0DVknyqz2e5taLJD2mdl6WVlpW2VvpNS\\\\\\n\",\n       \"ZQgiS05k4L5BEbrgl7SVFu8Ab0OfRwSWI3O/9p1ufx558sU0QyMU1UYoYE6WxVV8n+jvUoGVFZ7r\\\\\\n\",\n       \"MCXNWN1FxJxpJ+uDkoiTfV4SWHqyAlhqj2heSIe0LqSdQp0FAstnqeXzltzOZHEnswg2VZFqLORZ\\\\\\n\",\n       \"FeVf6eKboRC/ja7Wh+yrPhJXE2Bl1zD7IIBMyRtvvJEuvfRSmpiYyGVPHnPMMfSc5zxnQHsYDAaD\\\\\\n\",\n       \"wbAfg/+zck//LDdR97yHEViGgwAgkICOUkyRIKmw36e8koNweZ5PSSOthFBqgeDCsflzO500JyoM\\\\\\n\",\n       \"0+tI7ggDduT/SGEUVEhYBsEjB/BSjYWs6ThOiQOoXXp51Bwsn1AIBsF9UfZlblu6ncfNrBhj1J54\\\\\\n\",\n       \"iSOwGNuv/iZFv/nC7n34CCypRsFgHwNzmXEllVdagZVXX6XWGr8CaC4UHtoeKhV6g3KuZMB52ta9\\\\\\n\",\n       \"+8O6JLF89+27puzTelmvD8q/ktlt+vrhHuZjyfW8hYzbTLYhyB9M9AcFFogr9NXukwV5xysUWb7+\\\\\\n\",\n       \"j/Xmd77Ze+rHXUzT0+lMoOn1Upst7q83FXNGYPFTZOSVznuXkwmg30vSCv1XWgi5gMAqI7ckuZuW\\\\\\n\",\n       \"xBG2nQ5+V0BYtT2kVZnSCsdr4sqnqPJ9aqIY7az7r/01uad429ve5j6ZqGKb/gj/D4XBYDAYDAbD\\\\\\n\",\n       \"QQYjsAwHOBlVtt+n2sJ+DLwkeaBVXFIRoy0zgFRjtbMBe7uAyMLAGMsIGE/382A+tR9FbiDN22X0\\\\\\n\",\n       \"DoMH2r6Ad+F+ymWyYwDP25m4YhJLhmZjcC8JLORx9eKu/PUtvzc472KiT/21W5655psUXfLCPsIJ\\\\\\n\",\n       \"5IQkp3yB7GXkFcgBxBXlc7fLcnn2FD6CyJcl5SOl5Dm6f8ptySyUVD7ySmdwFV3Lt+4rRcfvDvwZ\\\\\\n\",\n       \"SZKc1ZMAcltzX5QEFvooAKJLCgT5XO7ncrKD7vvQniG6/vtpbS9aQq3jzqBkpqfy4n7fU4P1Pzeu\\\\\\n\",\n       \"Ke9bElhyXgTZv5l0kgSWzoQrIrBAWMnrNBpMXvH3wI6plVU686qIuJKqqiLVlVYxyt8/vSzbV26T\\\\\\n\",\n       \"fWA2tl0jvXzgCVIMBoPBYJiXMAuhYQgYgWU4gKAJAVK2JN+AKSw4dpjv0iSWVNpItZYc9EubjZ6h\\\\\\n\",\n       \"UN87zs+/jjxTWZKkGUFdtVM2SObBOgbCyLziwToGzyCpQAJBdcXr0kIIOxUXGZQtQ+N1oLwPIAZa\\\\\\n\",\n       \"y0+mzqErKNyynpKbfkxTm3dRqzrRVVxpa5UcwPu2SXuhr/jC23tRXXKAjvXdHQwXkUlSsYf1vEXO\\\\\\n\",\n       \"r7ySOWzyO8hzvdncow/6GjL3Si/La/m+exgVVxE00QGiN09CyjB3bmN3x1nfzIkBcUeZKEoTmWnm\\\\\\n\",\n       \"VW+d+zDstbWbf0gjDc6KIqLHXky7JkOlPix/Ek0Ww+Ir38ci1SHWZb+WKis9yYFUXfXIrZS8arU6\\\\\\n\",\n       \"yirYLJhpUB4DgqrMOugjsoryr4Zp9yJFpO8vVPlemHWwuA+26a/+6q/oH//xH+m+++6jBncUgYcf\\\\\\n\",\n       \"fnjI9jEYDAaDYT+DEViGIWAEluEggMzAktuQbyVnDPQpT7SFUO73Dcgi8X1yu7wezpEMUW+Q2Grx\\\\\\n\",\n       \"DG0RtdtxLgOLB8fIu+LCy3IfCCt2l4C04m0yD4s/eTAMBRY+NYHF6Fmr8oN7OUFbqkYJKDr7Eqp+\\\\\\n\",\n       \"44sUtFvU+Mn3afqsS7uKFL4/EAraWiXVWFKBBUIA26RlUOYe9dRo2sqENi6Dtv9JMhRqOtnekpTU\\\\\\n\",\n       \"62XQ5FVQ8N2z+ZfbR67pPjwb0sl3rr5+JN6ZYYgvCTkrJ9qJz4u6RBAUVLDKgvyReVggtySpBaJI\\\\\\n\",\n       \"2gnR7/iaUB5Wf9yzD06ffjF1dvUmEcT15ESb7k4FOYrJE3wElp5FUfZr3c9hKYSFUE9gIGco7O1L\\\\\\n\",\n       \"qNXi2Rt9NsFGVqC0apQos3zLRWSWthMOshf6CK7dte0afLjiiivoU5/6FL3+9a+nt7zlLfTmN7+Z\\\\\\n\",\n       \"7rnnHvq3f/s3N/OvwWAwGAwGw3yGEViGeWor9NmyysgsTVTJ43VOFvZrQkvul5lJ+H75nWIk3J2h\\\\\\n\",\n       \"MD/wSwfHbOVje2GauQPFCQbJUn3Cy1Bg4RhYBDHI54E61FcgqzR5hcE8SCuRX11op3IB26dd5Ags\\\\\\n\",\n       \"RnT9N2nm5EtzRIK2WulcqyK7oLQM+lRX6eyNui318iD4rHOyXWXmlc+ip7OxZH6UJjHldWS7+yyv\\\\\\n\",\n       \"Zdvlvctr62Wsy1kw5T377JB6uUiVNYzdsQjpc6H90MfRZ6C+kuvcJ9AXJenk7iboTXQAUhN9mrdF\\\\\\n\",\n       \"QYeqP/t2+p2VEdp13OMpnPH399xdiiw62d9l39T9VRK1UF1JNRbW9aybUp0lM+FaLSavOoq88gWy\\\\\\n\",\n       \"S1JK2wmlMrHIIujLuCqyFOrj5Pvmy8Aqs/SaXXBYfPGLX6SrrrqKfvM3f5Pe/va30wte8AI6/vjj\\\\\\n\",\n       \"6YwzzqAf/ehH9NrXvnboaxkMBoPBsD8hmIMQ9z0OgTfs9zACy3CAQmcJkSdbSO8rGjjpHKygIIBa\\\\\\n\",\n       \"Z2PBMojrS1UJllvZawbbVKDIK5zrv79OJ3SWwnRgn2ZiycEzQ5I6WgUCxZXMw8IshhjcY0ZCkAK9\\\\\\n\",\n       \"HKziQX3v/sSEbUc/liZqYxTVp6h687epMd2iNrGSLE9gIQ8I91qWd6XtZZqw8xNXsl7L4CNpNNFU\\\\\\n\",\n       \"lC+liSjftSTxiYG+3KfPlYSnfK5BeVSaXJLElF4vIrKKns+3rei6w9S5D+kzFpFEsg/IPCyQWd2n\\\\\\n\",\n       \"zvor+oomsMZ+dTNFOze77dMnnU/1ZJTCem5izUILYdF9oU/6SNoiC6FUWenZNTWBlb4rnI3Hge34\\\\\\n\",\n       \"PZHqK01g6UB3aQmUYe0+IkqTW5LU0u2FzyLFoCaryvKvZpuNdXBj/fr1dPrpp7tlnolw+/btbvm3\\\\\\n\",\n       \"fuu36C//8i8f4bszGAwGg8Fg2LswAsswTxRXw57nU2MxfCNXrb7SBEOSvUKaLPNdV9oLKwV2Ql8W\\\\\\n\",\n       \"DQ9eY2q3eYbCSnegzAQU2wJhG8Q2thQiA4sHvyCtoMyCAgt2QlgIdUi2b72wVruKlypNnvRkWnjT\\\\\\n\",\n       \"Vyme3kHh7TfQ5NHn5WZow7LOxJIDfUlayMwrEBhSkQVlmR+pPS1PGErrmxwoS2IJFlBJUoVq1kpf\\\\\\n\",\n       \"nlqRVQokT942108OYJu+r7LnK8q50utl6q2oZKIBuU0SWPIcTbBJm6EEzukH1IHoSyCneJvMxMK6\\\\\\n\",\n       \"JK4kkQkyifsrZiXEOUtu/lb3nO0n8eyDvX5dRtIy9IyDvnVfeLueeVNaZUFSgcTyZWBxSRJJTsEa\\\\\\n\",\n       \"6COvpIUQx2hFlszA0jMQYt8gy6C3hgaormYLI7GKcOSRR9JDDz1ERx11lFNeff3rX6ezzz6bfvKT\\\\\\n\",\n       \"n1CN/wEwGAwGg8FgmMcwAsuwH2M2g5giayAICBAOuKbMvJL7tWpGjmp1iHtRqLtc96Wg+wi0qrpn\\\\\\n\",\n       \"eS3+rLjBOc9QyPtZjcWDZh6vyDwoEFooUGDxPiyD7IJdkLcVkVZSiVU2wHd32SHa+qiLHYHFGPv5\\\\\\n\",\n       \"t2jzivNypJPPHigJLElYyVndpOLM1ZJQwQyGzprSbaHtm5rM6T6hInjkulRXyWM7BftwDa082R1L\\\\\\n\",\n       \"nu6jcrlIiaX3+QLe9bokporsiUX3NziLS8+uyUC7o/8hrxqkFRSJXRVgp2eL5W2YgZPLxC/+Nz2X\\\\\\n\",\n       \"AtpyzIXUni5XXfkshJqwkmSWJGZlzpvs1zrrTc/A2VNncVg7Wyu1qqrpIahAXpXZCMtIq6LQ9qL8\\\\\\n\",\n       \"qyIbYVq7+eNcq5TYB2ebj2XE1rOe9Sy6+uqr6XGPexz9yZ/8Cb3oRS+iT3/60y7Q/c/+7M9mWZ8G\\\\\\n\",\n       \"g8FgMOxH2JP/+5LXMMxrGIFlmGdKLG0J1OqoYe2DpMgJH+kgLTSaACOVhySthj6LF5QPIMZ8v+BJ\\\\\\n\",\n       \"NxeLZynkwgB5JWdHkxZCSWwhEF6rU4oUWHIGuEEqFb7OlqOfTEcFEQVJmxbdfjXVL3gjdZKgT0FV\\\\\\n\",\n       \"ViQ54J46ZxUcFj7bXZEFThJHUnGlM60kaVVmsSsjsbRdVPen3VEW+ux7vnv0kVe+e/d9aqKr6LnL\\\\\\n\",\n       \"6trXNnn42tmnsAKhJZc1EdXNZguJqg/fR+Nb7nLbdx5+Bk3XlqacT6bqKrsf2Q99tlZJYGEdBBUI\\\\\\n\",\n       \"Wp8CS+dhwV7IWVftdsdlg+WVVtIa6Mu4kkRU0fZBeVe6aOJKbnO1on6ryuyEZctl2wwSV155ZXf5\\\\\\n\",\n       \"ec97Hh199NH0gx/8gE444QT67d/+bassg8FgMBywsAwswzAwAstwgKLIZqWJq0HX0FYwraSSpIUc\\\\\\n\",\n       \"8BWta0JMkl/yO4ICxZW8liRPetdhOyFn4vDMfy6cOgocOZXu65FWUF1BhQKbFpbLCCwor0BgDWO1\\\\\\n\",\n       \"cra+cBFtP/IcWnz/tTS6/X6KN9xNOxcd35dj5MsN0uHsuwdJSsl612QVlmX7SgUf6l73Ddm/NGGp\\\\\\n\",\n       \"iSt5HZyvSVHfvm6NFjxjWaA69st71ySTJrL0NXzHa9LLt71o3afWKlNsFUPmZGkiKVdzWR8CUXvE\\\\\\n\",\n       \"HT374ObjLnFE0bC5V/J6su/OBYElc6/4nU7PkdlVRbbAjlJgSaJKK7VQkgF5V8N+FlkJy5RWfbXr\\\\\\n\",\n       \"JeiNwBqMa665hs4//3yKsyliH//4x7vSarXcvic/+clDXMVgMBgMBoPhwIQRWIb9GD6CyXcMlQyG\\\\\\n\",\n       \"5X7YBrFdDvoTsb/s+xDGjmPxmZSoaqT9qq32IW9JKxki8XqiDiAV4WXOxerQzEyFwjDoKptAWDGh\\\\\\n\",\n       \"BZsgbIPYx4NkhLg7dUp2HDKHZKi7uxOVg1VEYmGQv+Goix2BxVhy5zdpy+l5AkvOoAi7lVa0yCwk\\\\\\n\",\n       \"H0GB++oRGimZl4e2v8m61G2DfQjc1+2I/ZH6lISlJq6ktEcr9bQSxWetKiN4wiEILLkcePqQzyJY\\\\\\n\",\n       \"RkSF6lh5vLQX6msVWQ+zOw+CbhabTw0lZyDkT/QN3Y+4HzNA1IK84rJ0XY/AWr8qzb8qI7A0eSX7\\\\\\n\",\n       \"oCZfff24KMQdx/n2dTpsGZS5VXwDdQ8xVWQLlCQXzsfvmryGzLmSx0lllqv5kv43TO6VJJF3h9Dy\\\\\\n\",\n       \"fZ8ptC666CKXgbV8+fJc7XCYO+9LCVCDwWAwGA5Q2D/1hgEwAsswDyFJK23L8lkLNfFAKrBbEg5S\\\\\\n\",\n       \"FSUHcFI1Jc8BYQWboCRL5OBRq3sAaWmThEt63+lAO8xlY8nZ+jADoZy5EGQXCAMsM4kAokBbCSWB\\\\\\n\",\n       \"BaKrr9YzMumhIy+ikyi1uSxddzXdesorc7O4yUG/tGfpZWkbK4e2rWnrn09RJAlMyWC0PGosQKq1\\\\\\n\",\n       \"iogq3Zd0v9I2v6KBviSkhnl2n31P10m4h+RV5Nkfi+3acuhTbRXtK4fsAyCmsAwyFf1HBr27HKyZ\\\\\\n\",\n       \"7bRk/XVu3+TCo2jbxHEpx5P1ZR8Ziz6K6/oUX9oWK+2xUF/5FFdysgKeYZCzrjqdNiWJT1UFwqlT\\\\\\n\",\n       \"YBvUMxBqi6CeiVDbAAflXBVZBzV5pcmlIoVV0T7DsGBrKZO+Glu2bKHx8XGrSIPBYDAcuJiLPxHs\\\\\\n\",\n       \"T4x5DyOwDAfIL9mgQa6PqPKd4yOw9HatlJHrgVqW/9vdI5ZSSFJCkwqa3AK0Kkzft1Z78YCGLYXp\\\\\\n\",\n       \"96ch1kGf3crdTTbwhjoFiiwEX0tSqyzQnSH/k1+PpXaOH0XbFx1Pi7bfRUs23UTxrs00M7LUS2LJ\\\\\\n\",\n       \"2QRlgLckLDTJIEPlZUkSSV7JetIEpN4HaCuhtg8Oshfq6xQto82L7IfD9HcqsAnKa5XZBouUVUUk\\\\\\n\",\n       \"k4+88l2n7Dt8xFXQ145o46L216HtUpWFXCzZn5fdfw2FLgydydWLqd0JhiLJsK0ouF1nt8kJCqC2\\\\\\n\",\n       \"wnZtIUwJrCQrZWoqLIPckmSWj9CSpJMkr6RlUNsAJdlFnt8wTbD7rIL6L86yv0CLiK0yGOn17Gc/\\\\\\n\",\n       \"29UEk1cvfelLczMOch+66aabnLXQYDAYDAaDYT7DCCzDAQBJGPkwaMBfZDOU52mrolbMgBjBMgaE\\\\\\n\",\n       \"UqlF6hworqJsOSixGsr7xOAThBheVbmMwWncHYC221WXj8UDegywK5VegDrIKKiyeCAtLYPYh9wr\\\\\\n\",\n       \"nYfls3gV2QkfWvVUR2AFlNBh93+H7jzmOd19PhKgTGUFmxdUNSDgZHZXSmKwjbCI1JHtovdx25Cq\\\\\\n\",\n       \"b2kNxLp8+LJ2H0Ri6eP0fQ77X0eaRCMP8TaIWNLElM8qqI+X58jlWCmyKmJZ70vvg+2vWuWHfjbs\\\\\\n\",\n       \"5AEy2B3Hd2u3Q7Tivm921391xEXdmQx91ymaBVHnXiEPK7X+9ee59WyB+Zk209kFe5bBfM6VVlJJ\\\\\\n\",\n       \"9ZW2D/r2S6KqqVRb2kqI42TAu1ynAYqtbq0V/IblanZIC2HZPv2uHXxYtGhRV4G1YMECGh0d7e6r\\\\\\n\",\n       \"VqsuB+uVr3zlI3iHBoPBYDDsGSzE3TAMjMAyzGPovCPfPp8Sx6fm0vlZktAipajBdfF6YbmpsoNk\\\\\\n\",\n       \"/hXOIw+ZQorQwr1jQMnbsxR3p8KKqNFgVVaajYXcKxnoLvOBQARJ1UrRrITD5mHdt+IiOvmWT7rl\\\\\\n\",\n       \"w3/1TUdgyeyiMoCkwr2A3AIxB0JLZmBx/hHPzpgG3MOuKduqKANL5ozJupbtgU+QkJLc1A+vv1v3\\\\\\n\",\n       \"KRBfRYN+TUgNgiblNEkl71Pvi9V2uR4rm6A+Fv0YWW3yHE18+UiymKIo7FpXQVqhf+mZBaVtVZJb\\\\\\n\",\n       \"PoBsYsTUoMPXX+OWZyoLaf3is7v2wWFzr4pmHfTlXknCStoIpUKLVVeJU4RJFZXMvpIqKxna3hpA\\\\\\n\",\n       \"YEkllQ5vl/tlBpa0EEoFl7YW9tWWWvfZCbVKSx9nmA0++9nPus9jjjmG3vCGN5hd0GAwGAzzD2Yh\\\\\\n\",\n       \"NAwBI7AMBwiKVFSD9ksySi9L9YtcBwElyQ5NaPkUW/o8qRwAAYXv0CwO1kF+6PvFq+p7Frk9HTzy\\\\\\n\",\n       \"/9Kn2Vih+4RVUFr2QB4woGpymUFZFpYOwgZhBDKBPyWhJLF58ek0XVtKo/XNtGLDDyhsTlMrGp3V\\\\\\n\",\n       \"7IKwhknCTJJZuCdsZzUPPzersPiZ821TZnWKPKQhiC+0lbaHDmMflO0i7wPkoySZfPasQdAkFZXk\\\\\\n\",\n       \"TeH5JCk3KPNKk1E+UkoqsrTVsFit1VNepZ8gsXxKLKwX5VUVgfvEsk0/oWpryq0/ePhTqBPwi9B/\\\\\\n\",\n       \"rHwvdE5bEYnVI6Q0QZXPveqRWJxZl5Z+pZW2A8rtWmGlySupomqXqKp8iiqtbpLkVa42S6yE+t0q\\\\\\n\",\n       \"Imd3R51l1kGNN77xje53Drj33nvpX//1X+nUU0+lpz3taSV1aTAYDAaDwXDgY7b/3W8wPELwDY6G\\\\\\n\",\n       \"OWZQFotv8DVMrotvWasWytQNcsCpj5HLcsDaKRnMwl7UW+502FbYcbYlhEXD2oRPvSxnR5PLvqIz\\\\\\n\",\n       \"gHKlE9KvDn+Kq524PUPL1/+oz54F6Nwjqb7RqhyoyCTJkVfwpLa0IJDkiW9Zq4Jij6oIqiN5bhFR\\\\\\n\",\n       \"o8kfrUbS2U96n94+bJHnDfM9+t7KnkfXm1RjybryzUBYXP/cNmHI6qug226awEI7F/UDX5/xYeUD\\\\\\n\",\n       \"wj54+MXlfdaTZaWLfj9871D+Heu9e/wu8jtZ9L72Z1vJ9933m6B/V3zkVdlvTxkJNezvX9nxEkXX\\\\\\n\",\n       \"mu3vueGZz3wmff7zn3cVsW3bNjrvvPPoAx/4gNv+8Y9/3CrIYDAYDAe8hXBPy2zxsY99zCmcR0ZG\\\\\\n\",\n       \"6HGPexxde206m/ogfOlLX3LZlJdddtnsv9Sw2zACy3AAYZgslEG/WsMMiLRix2etkcfqQWSiiCY5\\\\\\n\",\n       \"cNQ5NBjAyvWyUs+Ob2SlXrDcW0+SBjUane6gGgPsep1oZiZdl8vT0+l6/2C8/1MqTrRS5f7DL+7W\\\\\\n\",\n       \"0pEPpUSCJrE0QaELyAy2CMpMLl5H4dyu/HJAccxEliSiikots1+WHTPMdfTxg8io3SGrZkNqDdo/\\\\\\n\",\n       \"zDPJYwYdX8nqsvyaURS5tvG3W6/otpaqwKJ+0vcWtxNalfW7dlChBw97YrcPSjUV+q4MWC/75HeD\\\\\\n\",\n       \"3xFe53eG1+Wyfs/43eN3sOwd7V9uZuuDfg98Ae9lSiw586mPPJe/k5oES2b5OzzMb3EZZqNGPHhw\\\\\\n\",\n       \"ww030JOe9CS3/E//9E+0YsUKp8JiUusjH/nII317BoPBYDDsPpI5KrPAl7/8Zbr88svpbW97m/s3\\\\\\n\",\n       \"9swzz6RLL72UNm7cWHrePffc4yz9+DfZsO9gBJbhIIBvwOUbjA2yxxTlw/iW5afMofHNLqazbiSR\\\\\\n\",\n       \"JY/3hT3rvJt24TE8U1Wr1XEDbZBVUkWic3ukIguWKWmhkp+uxoRFkfHg0idQM0xnylrJRELSydnB\\\\\\n\",\n       \"GDrvSOdvSSKDSQ4UkB4oUOz09gVZOD0UQEywVLPPiliPCsgarcTSx2hlkQwol9f0qZz0/mCAoslX\\\\\\n\",\n       \"9H1KFZa+F63E8t2r73l8xJWvbuQ1Ucf6M3JtkbZRj8CS7VbUtrIP+PLZfHlZvHzozttofHq927Z+\\\\\\n\",\n       \"2eOoEY3n+qfsr74+Lfu8fh+Qf+V7f9L3i5VXrIAseyd9729L/R40PL8DZb8dvt8NTVbtzm+Y/H0s\\\\\\n\",\n       \"+72Uv62AEVFziampKRfizvj617/uZidkRSOHuDORZTAYDAaDYXh88IMfdJOgvOxlL3N2/E984hM0\\\\\\n\",\n       \"NjZGn/nMZwrP4b/vfu/3fo+uuOIKOu6446y69zGMwDIcgNjd/93fHWug3CbLsAPAQQNHn9VHfkrV\\\\\\n\",\n       \"hCa4tNrCR47ls3Q4f4etTGxrKrMDYrueKVDPyAYCQGcIuWOiEXpo+QWuBsfqD9OyrTd1yQaQDL4C\\\\\\n\",\n       \"S5lW3IDsgN1MroMMAeGRkh+sxEpJrCDQ9jZN4vjIJb3sy3fykU1F27RVT6uiqCCXSha93XfOMN9Z\\\\\\n\",\n       \"tK3sOX1EX1H99b6D616SV7KNZNsVta1PkafzsmRB/1q1Xs4+2FMDMrz9Vc0y6MvBGvS+pIXtgpzF\\\\\\n\",\n       \"1il5X7VlUL+v2iKobcP6s+g3ZtBvUdlvV5FNsOw3s+g3dNBvs95vyqsiPOpRj6J/+7d/o/vvv5++\\\\\\n\",\n       \"9rWvdXOv+H+KFy5cOKBuDQaDwWDYj7GPFViNRoOuv/56eupTn9rdxv8pxOs//OEPC897xzveQcuX\\\\\\n\",\n       \"L6c/+IM/2NMnNuwGLMTdcACiM4B7LQt0922X1wzUcYn6lNfpiGB2ys7HAFAu41pSuVARA0p5Py2x\\\\\\n\",\n       \"j7JP7I+y/bEKfEcIubwOzsM+XC/9ZW+14iwImPOi0j1MDLCKBOQSAtvdWWLZfWMW8I592CaP5Ws8\\\\\\n\",\n       \"sPJiOiojEo586Fu0+dCz0jsVOUb4Lr4eZh/ENSShgBkTESyPc2TYO+/Hd6ezK/LzBe65ONg9vVfd\\\\\\n\",\n       \"ljJQPxR1hwB3fMrzQjErYeIhlCT42I7oA1q5gr6sVYI4RyMsWPcRXEXWQp3rJZeR/aWVWT5SD8f7\\\\\\n\",\n       \"CDDOu4pdG0BZJQkpXgfpxPul0k6r8DBxALbJWQmLZsJc+cDV3eUHDr+o20/Qn7q1rGYX1GSWJHJB\\\\\\n\",\n       \"XvF62qd0RlZKXhXn2WkSykc+y324lj4Xik5JhOt9mrySfU8vF2Vi4R3Rn1qZ6kPRX5HD/GU5yKJ4\\\\\\n\",\n       \"8OKtb30rvfCFL6Q/+7M/o0suuYSe8IQndNVYj3nMYx7p2zMYDAaDYbexuxlW+hqMHTt25LbXajVX\\\\\\n\",\n       \"JDZv3uzUVIcddlhuO6/fdttt3ut/73vfo09/+tN044037tmNGnYbRmAZDmJoQguEQagGYBj8S6IK\\\\\\n\",\n       \"aAuCAggKrg1yJMxsP5H4jlgNBrGOgmNjRUbJ+5TLvn0d8cqzpZBnKOSZ+3pkEJMKPBDHjINy9j9J\\\\\\n\",\n       \"UHHhY32QeUQPrLiQEibJKHE5WDef+WelLcLfjfNBFIBs0FlbINEk8cXLIOJ4HWof3pYSDLF77t6A\\\\\\n\",\n       \"P/QQCFoRJckpkJYt1WckwSXbWhIIgadfdTykZzKkQFbelySo5D6flVAHuuvAdhlgL+2KIKqkjdJn\\\\\\n\",\n       \"K0yvw6or5FmBwNJ2UJBSkszStlH0O2kzxTqWNUan1tPS7be65S2LT6GpsRW5/XydokkFQFjpWQc1\\\\\\n\",\n       \"mcWfsNzCPpiSwv3KR78NUKqxtOVPX0MWEFTyWJ9qS5JSUmGFa/iUVxLyGkX7fUSXYW/iuc99Lj3x\\\\\\n\",\n       \"iU+khx56yOV0AExmPetZz7LKnyW+9uCBPwC59Ij0P4YMBoPB0MOqVaty1cEZV29/+9v3qIp27txJ\\\\\\n\",\n       \"v//7v09XXXUVLV261Kr7EYIRWIYDFJIEKDuGIeUZg9RV+nxNRmkSS56n94GUkANBrcbBp1ZxgVzR\\\\\\n\",\n       \"BIokQSTpBRKFBhBprdx6SlwF1G6nSiwejEt1FRRODKibBgFEA382xpY61dWyLT+lxTvupAWT99H0\\\\\\n\",\n       \"oqO819GKLyadoJbh+4BqSytmpBIM94jjsC+1nnGwO5MNYfeZ/aolqcDS+0AQoF4lcdUWBKNWakmV\\\\\\n\",\n       \"nGxvtKVsq2H0z7pPyPvF98p8LSiqNKmlrYa+LK5Btsr8OhNXPMMgwto1gQXFlQxrl/s0iSWzriR5\\\\\\n\",\n       \"xYAaS2PVhm91lx9ceUm3D0vicxCkWgt9UBNbPXshWwYlIeRTW2krsFZQod21Ckseo4/V2zQZVbRf\\\\\\n\",\n       \"K69kX9T7NCHurS3Ppz7WlFdzBQ5u5yLBsxEaDAaDwXBAY5YWwMJrEDmrvbTWa/UVg0konmBow4YN\\\\\\n\",\n       \"ue28rv+dZdx1110uvP23f/u3u9vSGaZ5nBHT7bffTscff/wePoBhEIzAMhygkAOlIlaliKDSFrIi\\\\\\n\",\n       \"i6AkFUhtk9YvfbwkruQ1fSSW/H456ATCkn0Y5OK79ae2IQbe86DCkvYpJgV0RpC0Xfkg861ANvDn\\\\\\n\",\n       \"AysvcgQW48j136K7l7ykkAjT26XKCoSGJNlkiDy24zpyH5/L6pl0X0CtVlof6TMXkUFyvXuHqh10\\\\\\n\",\n       \"22GbVGihvSW5JdV4UiGnyawiIlben091JZddTSo7oVZeScugzrXSAe46yD7dx1lXPPMjE1cymF0u\\\\\\n\",\n       \"g4zyKbJ0rpUkseR23T98WPmrXv7V+lWpfRD9QpKcg4A+L98BaTWU671+IEknaQHUdsIiq6FvOfHk\\\\\\n\",\n       \"WMnvoBLySqoyNZGF+/Yd49snt+n+WabGGkSA+a5rMBgMBoPhoMIcElhMXg3KhqxWq3TOOefQ1Vdf\\\\\\n\",\n       \"TZdddlmXkOL117zmNX3Hn3zyyXTzzTfntr3lLW9xyqwPf/jDfaovw96BEViGAxwgCAaRWEXn4Rh9\\\\\\n\",\n       \"jhwpg1DgghGzJqr0PUhLmLSV+ZRWAL5TKnya6h590hGfQkzfmx7Y9kg0ttQFzjDOxE7PXiVVK2V2\\\\\\n\",\n       \"Ld6H0HVNPnDZdMzFRDd90B278ldX072nv6Qwt4iJDADkU1HAtlRh4Z7T3Kv0OrB84X5gjewpewJq\\\\\\n\",\n       \"NNhSyOH2IG5aHvVSS7WNJgJBWEnFityPbVrRIjOxOspSKttWtm8whIUQhQpmOpSqK58VUOdaydka\\\\\\n\",\n       \"9bHpMgdeckHOFRc906DOwCqzEBblXrknKuiHQNiYpGUbfuyWJ8cOo51LT6FqRlxp5dUwiiyp5EN/\\\\\\n\",\n       \"RPZV2g859wrtLdvTp5by7ZPqLD0BgyxND+k1SJnl63f6YX33KPfJvohPnzrLd47EIPJqCFmcwWAw\\\\\\n\",\n       \"GAwGwxzi8ssvp5e85CV07rnnOjXzhz70IZqcnHSzEjJe/OIX08qVK2nt2rU0MjJCp512Wu78xYsX\\\\\\n\",\n       \"u0+93bD3YASW4SCAJAyGkF04SFIKaimomiRZpVVWICGKgrm1uiZShJW0sLXFfuyDHU0SINr2hu/V\\\\\\n\",\n       \"+8izL11mAkfbo6RaJfcEKkAbRJckreTy5OLjaOeCVbRg5/106MbraQFto2Y1/bHHefo7QFJhWaqp\\\\\\n\",\n       \"fDPDMQEic4kQsI0cLIRs8z4+lvfjvEaDQ94jV/LZVZK8ApEIkqGoL5CHtNTKPFzf1WABeTBoMK+D\\\\\\n\",\n       \"2zWZpbOufAorTWBpVZXcVylUX0FdJQkrfGpCq0iB5Zt5UhJWkvAc1F8Ou+97FHXS9tp09CVUqTJJ\\\\\\n\",\n       \"2+u7OBfLID3lRAJabSj7nOx7vUB4TUhJ9ZQOZJeEk2+f/tSKLa3E0llrWrUlvw/Asp6ZUCux0J+1\\\\\\n\",\n       \"ymtYmKrKYDAYDAbDvg9xHxbPe97zaNOmTW6SlPXr19NZZ51FX/3qV7vB7vfdd5/7T1rD/gMjsAzz\\\\\\n\",\n       \"AD6L1bDnBSXbitRbvu+VAzxtH5RkUViwDQNGEBIgULRyS5JWcqApSRKt7JHHygFtWGiXGjbnShJY\\\\\\n\",\n       \"2CaJiJTsCmjzMZfQgps/R2HSoeUPfJc2ndLzjhepsXy2LShhZJg2FDRQxEirIfaDsMIyPlMSI83G\\\\\\n\",\n       \"CkOenTEl8lJFVvdpC4glqXiTbdrynCvbr+9JPaqrQX3Zp76S69IaqEkrqbKKhiSwZJB7nNkF05wr\\\\\\n\",\n       \"EFggpUBaaQuhVl9hXRNX6EPoGyjSnurrKyBVD7uvZx/cfNzF7lqSqAIpy/1BzpiJSQuGycfCdxa3\\\\\\n\",\n       \"ZRkhpG18RSopSUgVnV+k8PJdv+ze5HcPC9+xu/NXp5FcBoPBYDAY5uhPgt04n+2CPssg49vf/nbp\\\\\\n\",\n       \"uZ/73Odm/4WGPYIRWIZ5APlLNWjgrwkqec4wxIHvOnKbVNZowkpb+sqKJLP04FWSIj4ljx4Ua5WP\\\\\\n\",\n       \"z6pWDqlaAbRl0FdgL9x8/MV07M3pD/zye79J28747VyeEUgEDShnsKxnHZT2QqiuQFRBdQWiBGSW\\\\\\n\",\n       \"JkRAmDDRNjMTZSQWq9LcnXlyqiRRJC2gcp9UaUkiSVtGoY6Tqi1878BW8ZBXmqQqIrEkKRV61qG4\\\\\\n\",\n       \"0goszrpKLYOVSkCchylVVpLEwjL2oZ41odVPePar+QCffVDOVEmdFh16T/qHRrMyRjuOeizFYlIB\\\\\\n\",\n       \"EFY95VR+ds09/w82n1pJE8dF73uRDbDIGjhsKSLKitRUu0ti+YjYYetrT/9aNRgMBoPBYDAcDDAC\\\\\\n\",\n       \"yzBPgEFQtBukU6LysLAOBQQIH/JYCnGMzB2S50lSA+eTUlVRQTi3tPngWvJ68l6G2adH53JAq+5C\\\\\\n\",\n       \"EAl6RjippMG6DunWAd31Yx9DzZFFVJnZTofe810aiRqUxNXuNcoABZYkK6DAkpZHaRuE4gqqLF6H\\\\\\n\",\n       \"nZDvl9dT+2DvWJmVxSTW9HSYKbGgZmoIyxfIJ6m20uSW7CcgC7SCTtsPJangG9hLsgrEFL5vEIEl\\\\\\n\",\n       \"c6x8CqyKUlpFIgMrDX1n8mp0NE9EjYz0WwZ5XZNb6CvYr/uTJEShmgKhVKTSk+D2HV33U6rWd7j1\\\\\\n\",\n       \"7cc9mUYmqrk+ARKT211en/ehr0kLoQ5sBxHqh48Qwjumw9d99sBh9mn1le8Y3EuRUks/gLYXFqmy\\\\\\n\",\n       \"NFmrr+HDIGJqSLmbwWAwGAyGeY9HwkJoOPBgBJbhIINWXQE+gkfu842eJUGhrzFIQeOzBkpCSZ4v\\\\\\n\",\n       \"lVuaPNMkiVSTSbUXeVRYfmiywDcrnLaG+WaZyxNdMW1/1IW09Jb/oKgxSUs3/IQmT7jAa0XUAJkA\\\\\\n\",\n       \"pZW0FSKoXeZh9cK1U2JCklmSwOLCy7wdtsKU0OJw97QOOBeLQ+7bbamskqonTRhin865ansyyTSR\\\\\\n\",\n       \"JYnTQQN7mb0VFIS4ywwsXzi7j8CS9sHeMk8xzAo1Vl0xKcXkFAgrJrBkzpVUXw0b4q6JLKmOkzNL\\\\\\n\",\n       \"+iCJzGXrvtXdvuvUi913IOQf9kFYB+VEBfL6sn+BsNLHDZ7BUBJGcpuPgPKRTJJU8imy5PG+aw+r\\\\\\n\",\n       \"lvIRVz4Cq+yvQd/3marKYDAYDAbDLDEXfz4YgTXvYQSW4SAhqPQxRVlEPjuhTwWjv8envCiy15QN\\\\\\n\",\n       \"EsuKvlaRHZEGfBb/ssucIVm0VVDawWTRGUc9ex7RrlMudgQWY/Ed36TWaXkCaxAxANsX1FiStJLh\\\\\\n\",\n       \"2pLEwneDrJIKH6yDvGL053qlMzMymdNT3hTdpFbA4QQ5U6FW42ml3J5kYOnZE3VQO7blZxDMWwbj\\\\\\n\",\n       \"PgKLySsmrpB3xYQVyCkoraTqSmdioT9IAkv3F20lRFuUzX7pakpmpLUTWnDr/6bbg5BmTnlSN9wf\\\\\\n\",\n       \"15JWQmRh4Rq4ns5R0/lb8p0ouTPPuyf30RB2P32tYUqZvVDfV9G9Fd2f75xkN/96tL8uDQaDwWAw\\\\\\n\",\n       \"GAyzhxFYhnmGMiWVxCCSoIig0tYv3/WkKkJbE4tC3bGdlApHqq70oE8qLnzX098rn6cfclA+iLSS\\\\\\n\",\n       \"eUWaxJJqLJAXfG7j0U+kzr9UKGw3afwXV9PO57+FojgNUB+GFJBZR3ImOBRYxLSFEPcI+xjuEbZB\\\\\\n\",\n       \"qLCQ14VjGKmlEGQRK7FCRUT5FHi94/PHyTZG2+A4rZ5LZklgSRJLElhafeULZpfrvRIEMYUhk1c9\\\\\\n\",\n       \"lRUvs4VQElh6n87D0gosbSFE/9D9TffJsj7h8qsevJtqD9/vtk8few7Fhyx2TQW7KV8LqqtUXZcn\\\\\\n\",\n       \"sGBNxT0xsC5VXLKvDlZiybb2kUU+JZbvPJ/FtMj6V6TgkgSX/g7f/fruO5lDcsrsgwaDwWAwGGb5\\\\\\n\",\n       \"Z8Yg2P+RzXsYgWWYhwAZEM5SqYVfzbDkGN93SaJC2woHQQ5OITXRtkCZxyW3R7v5y43zenWkM69A\\\\\\n\",\n       \"4kBdowkIWMUkkVGktsExYThO9RMfR6O3fo8q2zfQoq23ER17SqGFECSSnH3QPZ2wD8oMLG0dBIHF\\\\\\n\",\n       \"dkAs8/aZmfyshNgurYX1eno/ch+fx9lYzWY1I7KirE0a2bJWWOl2xDHIM2t5LGTy3DLIytIEFkgq\\\\\\n\",\n       \"qb4qmnVQElnVLvHFlk+o6JigkjZBJqmk0kpmYIHA0tvLCCydgSVthN0nFP0jVcSJmsr6QHx7b/bB\\\\\\n\",\n       \"9jkXu3uRAf9QVOF89Hk9u6G0EvI9S+JU9zuQW712kO9yYVjWgPZFn0DemiSs3J2p8+VMhcPCR0x1\\\\\\n\",\n       \"ZnnO7loHZ3uvBoPBYDAYDgbMZgRVdg3D/IYRWAbD0NC2PR8BJrdpFRV5ZiWU5/muvyekWNkgMZ/f\\\\\\n\",\n       \"5FPAgESQBIPPNiitY1KBpUksN9g/52KiW7/nvnX05m8SnZonsCSJhWVt8ZIWQli+pHUQhIXMvcI6\\\\\\n\",\n       \"k1mwDXJxyrBG7z6ZuIKVjYHjUReNBtdVQvV6RJ1OkIW8Q0mli1RV6YwjEhY/qcQaxr46KAMrKiGw\\\\\\n\",\n       \"tAJLZl1VKAhCN8NgGsDeswzKNpUEFoLasU8SWzLEXauxoLrSVkJpGZQkliSYJJkpFXj00x6BRY9N\\\\\\n\",\n       \"CSyQmrgu2tzVfkZeShWWvB4UWXx/RdbCXp/1KfJ8GIYoKjtHKzl9dr+ybCzf8Vgvu77BYDAYDAaD\\\\\\n\",\n       \"wfDIwwgswzwFBmKDSJ/ZHiOvKz/Jk5+VeNZ9A0U5mCyykRXZeGabQaMH2jyzHJMyeRJLBmtLUkvP\\\\\\n\",\n       \"JCdJK6nAkuSFJLCCx15E9IV3uDuIb7iaohe/uo+8KLNl6RB3rcACgcXEE7bhnmAZ1BlYUgUkLWvO\\\\\\n\",\n       \"libIK9jQuL6YvEpnPWQSCz+j+salegZqnFgo6WiIDCxJXmjSqigDyzcToS//Kk9g8QyDTF4hqF0S\\\\\\n\",\n       \"U7Jw26J9ZR6WJrB0wDvUfOgPmsCSfW8YSylIJdf+WzZT886fpTW98niqHnUUhVnbg8CChVTaZNHX\\\\\\n\",\n       \"kG+m+xX6plN4ifvMk1j8DvG5krwsw6B3tuzd1+vJEEUfV3Y/w97DbJ5LH2OkmMFgMBgMhr30Z4L9\\\\\\n\",\n       \"mTHvYQSWYR5D2/uGJa986igacJ1EWPOkkmpYaOWDzsGS94ZB8my/x3f/PeJKElTS+qWtgFJhoxU3\\\\\\n\",\n       \"2komrWNu36IVRMefSnTXLyhYdyuNTq2n2hEr1GxzyUDigokjzCanZyAEgYV1/n5YAfke0pkG00/e\\\\\\n\",\n       \"x59c2CIoZ1DURBcD9ZOSbWwnTKjRqIiZBosIDE02oe9J+5e0nEkyS85sKa8DgLAKS8LbpYUQMw7K\\\\\\n\",\n       \"mQc566pHXmkrIIgqrcDS+zTxJfsEtvsILLQ/FH+schtMZKYHcPtPf/s71MpketUnXkIjEz3VnWx3\\\\\\n\",\n       \"KKrwPbyvW4vZ9/tmusQ6n4P9IMRAZPVmqpRtPqxqsmwWQnmM3I/+Mdu/1LSyarbWwbJzkjlWnxkM\\\\\\n\",\n       \"BoPBYDhYECRp2dNrGOY3jMAyHOSQyqei/KIyYkwfV2QtbItcHB8hQR5CShNpsyGrQGKg6HWodcLc\\\\\\n\",\n       \"7HyayMIn1DSSrJDWMuzzKXG0faz95Itp5q5fuLuMf/otmjjxBXn1DSW9WkmYPciWw17mV4eCPgWW\\\\\\n\",\n       \"zDuSCiy2BYLMYpJKEli8zvtBrPD98Xas+/bxNlfDXVVaSPV66Ei1fLvKzCv5ifaUVkNNpvryjsLd\\\\\\n\",\n       \"ILCkZVDOPIh9FRfUrq2A3JbYxp9od15GiLtvn+wfMuBd56mhX2jLaloSCiUR0smIPVddkXhre31g\\\\\\n\",\n       \"14979sEFF11EwUSexESb+qyjenZB2bZQbrnbyFRYUsklFX1pLprMI9P9QK6X5WMNSzZ1hgiGp4Lv\\\\\\n\",\n       \"8p03jHXQR2aZqspgMBgMBoPBsG9gBJZhnsNHKO3JtbRNkErUUT6roSashiGmdve/ErSlqZ+8Yjuc\\\\\\n\",\n       \"DHDXmUS+/CKdfQXyAqQFlFkgLPT5wUUX08xn/9rdUf17V1P1Bc91y2GnQ0EnoSDhkslcZOBR5i1L\\\\\\n\",\n       \"+J5ZOZaRGEkQUhIF1Kkw7RG6WQOhuoLiBmocKKwQzC5nUtR2Qnylb2ZGrKP++FabzSgjO2R9SzCJ\\\\\\n\",\n       \"EWaqJ2kjlDla5FkuUmBhWZKTUnWFttakVdRVXjH5BtWVzLXykVRoUyiwfKRVWcC7JrDi2FFQabsH\\\\\\n\",\n       \"aZsH7YQCtvxxy0oZVF8fCF0/CCmg1kyDZn70/bSGDllCE2efQe1s1kC0s7bESiBfTYbEd4PhM/IW\\\\\\n\",\n       \"t1H0nqTB8Pr98r17u/M7NAxBpPPV5Ln6s8gmWPTdcwEjuQwGg8FgMOyDPxdMgTXvYQSWYZ5jNgRW\\\\\\n\",\n       \"kaVw0L6iY3Rwu+9433V9g9DZDHzlsT7yqjeQ5tBuqSbJEwz9BJRUVWFwL0kMreDJH5+k1zztRHp4\\\\\\n\",\n       \"+WHU2biBZq79MYW7tlHEJ0i/FuRUfY8WUBAybSE8X10JT0xJGFJSCalZCZylq5WpZZjUgvIGKhxp\\\\\\n\",\n       \"WYPKCnUg87B8BBbfogwcT281dLa2dFkqrHyZRby9lf0EYxvC/jWBlQyRexWUzEIIVVbPLsglDHmm\\\\\\n\",\n       \"wTSoXSrqNCklSSveLkkqXpbKu2ICK0ltia6pEqrEGWHlmCJmGtv5tkelgl2S4PaPIkcecgNM/fD7\\\\\\n\",\n       \"XVncwosvct/ZandcNhW3Jbc9SCdudxCO2aVyhBZ/NULbEeKOmQixD7cllYtRlObIpSo82RYyyN/3\\\\\\n\",\n       \"Xhata5TlYOm+VQSfLXFPs62G/SvRCCyDwWAwGAx7+GeHwWAElsGwuySRtAUW7d9d1VcRseWDL+NL\\\\\\n\",\n       \"D5Ql2dEjPdIZ5/LZRVj3ERIytBv7sL/IZiaJDEdehGlA1cILn0zbvvIVxxBMXn01LXziE3tTxrkq\\\\\\n\",\n       \"EMobMAZyWjr36MLDhZR4JjeqVaq6L46JRmIaHQ0cv8HkBd8XLyP3ik/DPjyjtA3qcHpYCKHogZ2w\\\\\\n\",\n       \"l93Ex8SOPEsSaRVrC/soltHWIBZAeAxjFdXkVVhAWsnlahbWzoROlFNdwQKqSSocMzaWV2BpRVaR\\\\\\n\",\n       \"ckuq8uKQyalMFjeZeTjBDGG5O6Ug5fuBTHSX/SCKaNf//m/38InHPY7i+iTFcUwj41Vqd0LHjbFV\\\\\\n\",\n       \"FMSltIdilkkdGC/tg7gdrIPcQv8B+HpMYKYzU2oboZyJVL+jsj3b+4AMKju3PcfXMxgMBoPBYDAY\\\\\\n\",\n       \"5g6mwDIcBNidUHWcJy1cNEAxtSc2xd25P21J0rPUaXJDBnqnihHkEJUprYpykZjUgMKGP0FyQJnj\\\\\\n\",\n       \"jq0kVKkmFLVbFDRaFLRS4mLBY89NCSwi2vntb9PCM87IB1lJJU7fY2dsAz6F74/VWZJ1SuIKRbUa\\\\\\n\",\n       \"jUQx1aKQWiMxTU+nRAYTDggUh9VMFmkv1LlgUoEFDo0JjVSJw8tsJ2QVGN8wQt5hFZTtgRB3FB/Z\\\\\\n\",\n       \"4YOvbfWMg0Gf6ootg1yq1aAvz0wSkGhLXkc7Y318PE9egcDShOfoaEIxtSmgNoWNtqtw1/4grLjS\\\\\\n\",\n       \"ZQK/bPsi9RVDyOPYRrjj+z9Iu0W1ShOnnEzBzp3dG4riCoVRTNF4TM1GQI1mqsbCZbg9uzWadSm0\\\\\\n\",\n       \"LQLdpSCML4tbgzILt8/7mLxqt2UbRyozz/eOFr3Pw2AugtGLCLFhg9sHoSxTy2AwGAwGgyGFhbgb\\\\\\n\",\n       \"hoERWIaDBHMxgBqGqCo7ZpBFcTbQKitdigKl05Kqr9LBvC6SwNI2QqmswWdR0Hcl7lAcdqjCIdyN\\\\\\n\",\n       \"LEk9k72Mn3ACBSMjlMzM0M6fXEfJzp2pJYxJDZBXkLoMIrDAKoHMEiFXQaVCQadNYbVKSRRTwAqw\\\\\\n\",\n       \"akRxzPYyVqHlZxbE5aG2kcocrDPSzKOenRCkB45LZ8jjYPeEkiQW7RUXEAFFtrMi+NRXmsAKcyqs\\\\\\n\",\n       \"1C6aklcybF+2n8wwk+SkDmrHpyQxQXxVKh2qhAlVqE1Rp0UBq64gXYMMCin6MoUf4VNlBJb0cQYB\\\\\\n\",\n       \"zdx3H3W2b3e7xs843eVpdRnKVouCWo0C7gd8c852yP0+bVBcBl2tl2XW+2rMYoguyc8Jnk12uV4Q\\\\\\n\",\n       \"PdsIUytpvi0Hv5P+d5v2ksVvX+dfGQwGg8FgMAzxJ4NlYBkGwAgsg2FOMYjAmovBnM82KIO+fblI\\\\\\n\",\n       \"+fWUvOplA2Ew7ps5UFoMNXmlbWfpvsStR0xgMHkxU+9N/5eVoNWiiTPPpJ0//jElk5M0ddNNNH78\\\\\\n\",\n       \"8T1SQwZ4ayJDEldSBiUfQvogM68Xk1lxtUpxrUbVakztWhrAzjlQqXqqfwY6uSxJC17GV+q4rp6C\\\\\\n\",\n       \"h8kMVmKB0EAfkAHu0jqGvCytzPFBK+xAWMkMrF5wexCk6ivZjpKAlPZQaROUOVco0kLIaqyekiuh\\\\\\n\",\n       \"iXGiKMjaHR49kFUoWOdPkFcy/0wSWb52B8MYhrTzRz/u7l5w5plEk5M91hVEGbd9p0OVWo3COKYo\\\\\\n\",\n       \"TuseBK50KPJX8nPh6zSBBdUVr8NSmlfppTlY6YyExe9fXmWnrYOzsROWoez3xjKpDAaDwWAwGAwH\\\\\\n\",\n       \"HozAMhxEQAZRMAvL4FxAXnd37IzaJuZTX2G5SJkj1TmxG2hrcgpFqnNkzpVcBpEBMoOVN0xmuGuw\\\\\\n\",\n       \"LXFmKlVd8eifFTEyeIpLq0ULTj3FEViMXT++lsYPOaQ/yL3IRqh9YDKBHiosKRtTieRhpUJhtUaL\\\\\\n\",\n       \"Fo5RI7MT4nReRh4YXwL7eJ15OCiy5FdLJY5rsWydSSw+p92OnDInn4ElLYT8U9xSs8kVkQ9aaQeF\\\\\\n\",\n       \"V15xheU0zDzoU8nJZUlElbUtjpX9YFbtDuIK9kFMFSlthIyydhfs4o4bbujumjjmWCJWY6EhZbtz\\\\\\n\",\n       \"I4h2j8bGugSUDuuXXwOBGPbJmC5YTxlQbqVcHBNY3AZt9b4XZZbp91i/y8luWPiG6Ud7is4+sDca\\\\\\n\",\n       \"DAaDwWA4WGAWQsMwMALLYBiIMuuftAgVnUtKXYPz9pQo8wVF+8isfkILHI/kfnTulbSTScWOJLB6\\\\\\n\",\n       \"ZEdCI7XEqW/CJquupimAZWxqqqfAwrZGgyaOPrrr29pxy820/PwnZLPSdYZT4jDwINJKyEVOhSfT\\\\\\n\",\n       \"xDPyjPOSklrTWc4qcZXCGtvLmNjr1QmDORhkXkmboLwNcG6S5IBIKD0vyHga/kTov5ydUC5L4qFo\\\\\\n\",\n       \"8K/VPJGHwEqX2SaZ8jkpgVVk+/Sp6fLt28u4yhNYCY1U2xQlbQqnGkTTU2m7cz1z5XG788Oj7bP6\\\\\\n\",\n       \"d8sgKEFcSQJrCOVdY8dOam7a5HbVVq4kJ6zi/CuQV/xdfJNglvgSrRYlnQ6FUUiVMHbtnlr+el+D\\\\\\n\",\n       \"tkYXhF2UbwkB/8i8wqyEyFCDxbDs3fPn1AVzpLwq6jeDiKxh9hsMBoPBYDDsRZiF0DAEjMAyHGTY\\\\\\n\",\n       \"ncB1fY4kogbNFlj0fXs6INTKqyISDdt6KiydfQXeRwaYY3AuhUxS0IRspJTIYPKKqBK2KXSWwZl0\\\\\\n\",\n       \"pA/SiokMLkqJEyUJja5aRdP33Uetbdup8atfUW3hwp76SiZoa+gMLBTp68MDQN3D67hus5mSZfwj\\\\\\n\",\n       \"OJpQWOEH62WDwTLoajDLw5ITJErCQ1oIJf+GfWl2VkpSMVnCuVgpJJkl7WSDQq+jIUL606yntApS\\\\\\n\",\n       \"tZ2vHaWdEOSVLDrzitu7F+qeUI3zrqhFYUu0M9qa2x8EFhRZWTaVW0blaCWWnIGy79F7dtFdv/h5\\\\\\n\",\n       \"d/PC449LiVJMM8jX4ofD9cE+tjlUPr1OPDJCQUQ0UkPYfvqu4BZBTME2CNIKnyCt0NV67xQH+XNb\\\\\\n\",\n       \"ywB3+S5K+JRXezIZBJUEss8m80ovz/b3yiyKBoPBYDAYDIa5hxFYhoMMczFj4FxcowxlNkd8b1hw\\\\\\n\",\n       \"rCQxZC5SehwTKSAuwPdIxVWPlOqJmLTiKh/gneZdjdY6RJOZZYxJC6hvUJhckAqs7HPhUUc5Aoux\\\\\\n\",\n       \"87bbqXbySYOzkAA5BWA262DO9wcWjpfxMCIXyW3PiJOQc7HGxykcqWV1wVlGvRws+ZUgt6QQjG8R\\\\\\n\",\n       \"3Jnex0itZik50WzyTHWasJKzEQ4Kcvcpe2RbV1zelRSg5WaGzNpf2gJzFtBs5kFtIYSNdMGClLyK\\\\\\n\",\n       \"o4Qq7UaaO8V1yW2+a1ePpETbo70lgYXtICl1oLu32+cVWDvvuqu7a8HhhxPt2NFj6GTn5WuDyOIH\\\\\\n\",\n       \"EjMfRiMjNDI2Rokj/BL3fsgQdx3NxZeT+3DbUOBJorBeD0SYu8/Oizw0tCn6uczH8lbEEMfsD//9\\\\\\n\",\n       \"aaotg8FgMBgMw8MshIZhYASWwTBrW2DZgG3Y86CiAXx2QrlNDoT1/rKgaB3mzQP1nuJKjvcR2o0B\\\\\\n\",\n       \"uA7vRt6RXB8bTagat1PyShIZvAwlDn8ygSWtZZkqZ+LQJbQhe4odd99NSw9b3iMYysgM9/hhnsDC\\\\\\n\",\n       \"g4GVAYHFZIn0yTEjAyYHMhuera7dptjlJNUoHq91g7r5tnWoO4MfAxZC5CRx4UeTUU2utcVyGg7O\\\\\\n\",\n       \"RElV5F5BhQX1VcdDBMi+VURgxbnZI0E44tG1ZVBaCXEst/vERG8bE1aSwOJlVlyFM6KtNYHF69I6\\\\\\n\",\n       \"qtq92xfQ1pLAKlJfoSJDJgDbNLVxo9tUGR+nKp+zbVu+3XuzCvi/NytBktAItzvLsSi1e+L9gBiQ\\\\\\n\",\n       \"gVPQLUH46oB3kFlMhqUzUCainaNZBLrrfXq/b1uQfUfme9wrJJORUwaDwWAwGPYCzEJoGAJGYBkM\\\\\\n\",\n       \"+wUGWQClTTAo2a+zdnolFbD0Zh7UlkFpG4RCS9rLpPUMZEbM9jFOQYdtEMorfGKbJrCyLKRqFDkC\\\\\\n\",\n       \"ojk5SfVt26i1dSvFcmo/BBANo8ACgQXCAg8HdkFOIcdkBrMPMsQqCNIa7CQUECvLat16490I7GbI\\\\\\n\",\n       \"2+rZBNN1/hqfggfraC+2EvbylwLPTITDElgpKcKESRrY3iMnZfyXDumXJJYkrzRpmS8JRa06BfWZ\\\\\\n\",\n       \"NOuK2xVEFZR20joK5Z0ksJCBhRwsTWCVkZaZbHDXloe71bJg6VIK+HtgRURnhmxKNg4aQMrqwpDC\\\\\\n\",\n       \"KKIorNLISNgVhnFBXeHSEPZBNCbttiggwNjCmSSdTIUVDHhH5btc9L6X/T4YDAaDwWAwGAzzH0Zg\\\\\\n\",\n       \"GQz7LXzh7NjuU1/5BsahykTqERw670rnJOllaT+rVll5lVBYZ1VLRl5o8gqz0LFCh4skMjAbXaNB\\\\\\n\",\n       \"C5csoS28n2cjfOghWrx4cT4fqQhSFsU3CNkTQsNlqjasZJDL8Dq8fkr147KxkoRqE/zQaV1CqAXw\\\\\\n\",\n       \"V2iSCpfiS7vrKOIL6ziPiY1mEyHi+H4fgSXVOX4CC9ldmoRE++ltMpBfWkR9OVhdUoszr+I2Bbum\\\\\\n\",\n       \"KZBtC9IKhBX28Tbd7rAQ8mc6PWOvkuTsk2VtHkW0M1NfMSYWTKTKL1wXD4prSbaxgMBymVg1cqHu\\\\\\n\",\n       \"9SpnYqVtDi5UcmPgQfV7k3+vUqI4SVgtVkQq63dW9gHf+15mKzUYDAaDwWA4wGEKLMMQMALLYDig\\\\\\n\",\n       \"IEkMX9aVb3Cc2geRi+RT4UibmbaV+WakGx8jCutCeQOSCpYyJhSgwJIEFhRZIDXqdVowUqMt2RPt\\\\\\n\",\n       \"3LSZFoN4mC2BBRKLry9ZN2ReYWY6+OFgJcuItC5TkZEpfOnayBjFE9UuOQWCApngMuAdIh8sMy8C\\\\\\n\",\n       \"ToYvz+Cv4H1asZPmYqF9Z2MhDLrtqpV0WJfEo2xfn9oKIe3SQsjVxSVqNyiAVZQL2l0SWLrdtYUQ\\\\\\n\",\n       \"GWiyzkE8DUlgJazA4rwrfvowpDFe2L49vb58WMxCKMPcdSYWvosbK+EkrIQmxse7bStvC7MQgu/k\\\\\\n\",\n       \"ukFelt6HR0wJrPT9SxV2mrDyZWNBibens5QaDAaDwWAwHDiwDCzDMDACy2B4xK2C0iJUlIWlrURS\\\\\\n\",\n       \"gaNJq8hDbrG9rCdS8imssO5T4YDIcPFRlRZFPNtgvZ4qcZjAAGmFWeiwXKTAAsnRbNJIs0kR5xp1\\\\\\n\",\n       \"OrRraoo622OXS5S0WqUJPe6p2fbnmKZavx9ShniD1IA/DBY22MzAVDCYvBKSqqg2QuPjYyLbqEdc\\\\\\n\",\n       \"aGca3ImSwHL3mhEiILNwXu9JEkdEpZyKntnSN2lA6Ga76+XW92YalG2pM68kgSXbGW2rScs08yqh\\\\\\n\",\n       \"qDGd2ga57Xbu7LUhL0sCi4klWEVBboG4FG3eLcJSmHCbcxnQ5lOuntOjFlSrFDB5hcAv/g48GMhI\\\\\\n\",\n       \"zEQJqyJ/HxL20UBRlPa5gOs0ppFqhYIg6pthUroecWmosyRPhvcs/ZrimSL7s8x0QHvZDKMgO30z\\\\\\n\",\n       \"oc7FbIYGg8FgMBgMBsP+BSOwDAchigZ9ewOaeCojsPQ5vnNpwLpvQIzsqzyJhSKJD5BbMkdJqrXY\\\\\\n\",\n       \"OhhTh8JmRkrIomce1AUz04HwyEK1OUtpolKh7XwNDnOfnqGJKKSk0ylVEudqKUkoyB6I84y6oV2Y\\\\\\n\",\n       \"yRAkFQDCCnIqsBRSXsXkSMY0RZUK1ar8c8nB3D0iA/wXiAzYzhC1BVKDl3GstB72JlhMLWu9feXq\\\\\\n\",\n       \"G7QnZpJEe0lyUhdtDdVF5p11ya5KQlHSSskrn01UZmCBzERbg9iUsxDCOlqvUydrm6Td7pKVw7T3\\\\\\n\",\n       \"jlZPoTURBpRMTVGArDPp+UO7glHKVFZo2y6LyBXC9xyGrg8FlQrFlYiSakjVamrLBEGFd4UfAXUN\\\\\\n\",\n       \"nkySVr3l9J1Lu1eZ1XfQe+0runaK3g5tSd3bsJB3g8FgMBgMj9CfEDYJ8ryHEViGOcM999xD73zn\\\\\\n\",\n       \"O+mb3/wmrV+/no444gh60YteRG9+85upyqO//Qqw7+xtEkvbvoY9R2Zc5ZU3/hB3eWy/MguDahAY\\\\\\n\",\n       \"el0SHJLQyhMbCVXiDsVMIEBJpQuIDN86iCxWZ7HiBsocno0w6dD27Cl2tlpUC5gm6/075vu3KEfT\\\\\\n\",\n       \"tVoUtVq92spsgwEUV9lMgw4gOkBgyeDwNLgot+yu5wisUQrDdKY6ZI6DlGKyRyqwcDmuP3BoyE1y\\\\\\n\",\n       \"rdglNXroCcDSDKYySPJRhvJDdDZMtpkkrGQmVld9NcLt3aawLtoQhBWyrkBSSSupzMBS4f0JFFgz\\\\\\n\",\n       \"M932bQvTZKekrV2NJAntEhbDESa++Du4EjJyjAmorkQOkihI59C2aAgGKgkyuWqVYld5IdVqkWtb\\\\\\n\",\n       \"cKA+UhAzEnLhW5DvFcReKSHpezfL3uWw5Hdk2L/OdHbW3v6rTtpfDQaDwWAwGIaH+w/p3v/u7hb2\\\\\\n\",\n       \"9HzD/g8jsAxzhttuu406nQ598pOfpEc96lF0yy230Ctf+UqanJyk97///Qd4TYNG2Z1cmmHsPIOO\\\\\\n\",\n       \"kQPasMAyqG2DyN6Ju+oRDK6l8kYSGtI6xgXWM6yHjnQSNkEQFmwlg22QCQW5T+YkCQKLSYZ2u+0I\\\\\\n\",\n       \"DBGpTbs6HRrLlDKSxPLVhqQB5NPHM+kseTETEgh74gfk72e/HCxmDGkn1MnrmYqHlVjxAs7b4kqq\\\\\\n\",\n       \"dDOtwHcxwaFdabAQYh9yw8GlyKwsHMufmMVOfH3uPCxL1ZV2T0orqGxrOdsg8q6wjNwrrFeCFsXN\\\\\\n\",\n       \"eq8tQVaxTRCEJO/jddm2aHe0Ocis6WlqZzZBjlXnauoIAgvFR2Khjfl80Fe1IKAm95FOh0K2erIV\\\\\\n\",\n       \"FdMEgqBE28KuiPwrBuyL7guyBuHKzma0DF09jeai0bhepJpO7oNDVSqy0CatFr+HkrKLsnW8t9gn\\\\\\n\",\n       \"321kZnX28LdFWg1nCyOjDAaDwWAwGAz7D4zAMswZnv70p7sCHHfccXT77bfTxz/+8XlAYO0N+FQW\\\\\\n\",\n       \"Rful+sI3o5kuvePSGeqKFTsy+FvHR6FU2EpGbQqY0JAzDMpgdqnSkaSVVukwkdFuO+KB6QMunSCg\\\\\\n\",\n       \"ahBQI/tfk+kkoSgjsGiAKidUw33QAWFGloQzM47gcLlWIKnACmlVDleO9P+BSYpjp+yJWEhYDWhk\\\\\\n\",\n       \"hGcPTG1/UmXFn9JCKN1sWJdqLPmfRCCo5O1JWyHILhyLNpTLejY83Z5SeaWXe6RXQpWwTVGjTkGj\\\\\\n\",\n       \"QFEHBZbe5pmVkJV2HS5Ze/OjSQJLljK1HaPR6e2tRCE1FF3LttOQiSw5w6RkFH1sIFcUPzheDL5v\\\\\\n\",\n       \"thKGobOOViqswuIZI3tzAhS9M5pUhFKO30EOdB/+3e0UvPvBXiKqDAcjrrnmGnrf+95H119/PT30\\\\\\n\",\n       \"0EP0r//6r3TZZZc90rdlMBgMhoMVZiE0DAEjsAx7Fdu3b6clS5YcJLU8WzviIMVVWQ6Wpm/81sGU\\\\\\n\",\n       \"wAoKCQ9pRSsjtypxQlEnU7CAtMKnXIbiRloGM6LD2cfYOsbKq0xJwzonkBqOkMjyjWY6HaqEPCec\\\\\\n\",\n       \"/98zXTsyFltqWfgzZgKj0XCElsu0QhaSnMmQgQpg8DHw4vEyszv1OoWck1SNaaSWBnxzgfIGOUly\\\\\\n\",\n       \"QkPUH0grRDWBV5E2QhBdWC7jXHw5ZmVlmEysbv4VPza1KGipnDNkmMmiLaQgtrK25jZvN5vUabd7\\\\\\n\",\n       \"ZKWHwNIqLF9bp/2iZx/ktsD1uqY6Jj6zimXi0p0PCRxXhNuQZWAhsIofmu8XFcnLbD+NYwpHWlSJ\\\\\\n\",\n       \"Q2pVgoEklVyXhDHnYKU8qY+oKiOyyt79ot+Q3fkNMsLrYAWro88880x6+ctfTs9+9rMf6dsxGAwG\\\\\\n\",\n       \"w0EOm4XQMAyMwDLsNdx555300Y9+dKD6ql6vuwLsYEvSAYdhrDzDXGNQuLMvAwvnYL038yAPnHkg\\\\\\n\",\n       \"LcfrvjBvH5HB66kFLaE47PTUVDrAW69j1kGRi5RksxCyGqchCAyQGo6WcPKilKBodpIuuQFoUkPW\\\\\\n\",\n       \"UqSeHCYtkCRMYjGxEWceL5eN1QsoylvJwBhBkcXbUDlZhdYmatRqJ06FxZeCMw2XArkF5ZO7f6HA\\\\\\n\",\n       \"wlfhE+0kLYQi6ikHHKcJSbSXJqpke/pmJMR5yDlz97ur7ierZBvDOsoF+7PlJGv3VmYRbWVkJS9j\\\\\\n\",\n       \"XRJX7RILYTe9ycnYetvZPoh4cqjuYMqLk4RqbCPNQuLdNaCuA5MIoFLQGCAus33xCFtwWXUXuEeH\\\\\\n\",\n       \"O1Hab6UqC5fjKsC7l3KmgUeF5Tq+eIKiHg6AqpN07e5CXtdIrIMRv/7rv+6KwWAwGAwGw4ECI7AM\\\\\\n\",\n       \"A7F69Wp6z3veU3rMrbfeSieffHJ3/YEHHnB2wt/5nd9xOVhlWLt2LV1xxRUHWUuEs7QG+UgrmRyl\\\\\\n\",\n       \"B8bpMqs/ENqOwbVUh+g8rB6R0cvAqkRtipM0eNsbzi4JDWRegcBi5dXkJHWmp7sqHElggdRwqhww\\\\\\n\",\n       \"OZnfrs4WwIykIDFUl1Qe1mUCmCSwkDzUhsWMSaxdu1ICCyFUYJsgowHDBNaP7wfhYRnTFFSrVI0r\\\\\\n\",\n       \"lIzEjrzgAkKKuViQVuBLoLjSsxDiktwmTIKBkEIels6hBNEFEguEpJ6FUJKSWAdpBZILeVdyezVu\\\\\\n\",\n       \"U9DI2lqTkiAr0b667bGdbYP1OrU6na7CThZJYKFtQGChnaUKC+3MtsBuj48iqmfXicU1QGChrzBh\\\\\\n\",\n       \"GTJ5yRUpQ8lQ0SAnZbo+V0pGXPLMi3GtRpzBXqnEbhcISq4vrqJM4NdVZ0miGPtSAR+H8/tmIpQ2\\\\\\n\",\n       \"Ykm76ve9gNHM2Q7lssFgMBgMBsMBBLMQGoaAEViGgXj9619PL33pS0uP4bwr4MEHH6SLLrqIzj//\\\\\\n\",\n       \"fPqbv/mbgddfs2YNXX755TkF1qpVq/bDlgkege/zWY4G5ej0joN9UBIe2j5YZEHrzliYtCloZTIj\\\\\\n\",\n       \"Hr1DciRtg3o5s5s5JQ7byDqdLmEF0kqqcmAr63B4diY96rQ71IqjHLEhTVSSwIJyB7ReaRg4q3I4\\\\\\n\",\n       \"J4nvDRUBWxlIK35wfh4QHbDRMXmVzXIXVSKqVhKnzgFZASWOtBD2grx7kx5CqSWFQJLsApfngyaw\\\\\\n\",\n       \"ZJv52lIrsmRWliQv+Vki6qTknrSHyqLb2lOcZVDkm6GAzALZJImrlofAIjVtQtTukTIttuUpu6jM\\\\\\n\",\n       \"S4Myy1kK2U6Yhbt3LaSwQ2L2Ql4GywvGKasHro8wDqlajfsyxnSR9Y/2QVu57869w4Py6zQxta9/\\\\\\n\",\n       \"fxhmMTTMN7W0wWAwGPZXmIXQMAyMwDIMxLJly1wZBqy8YvLqnHPOoc9+9rMup2YQarWaK/s39tUA\\\\\\n\",\n       \"0mcdlNuL7IM+BRZbCIMc2aEJjqIA8HSZyRmeeTCTkXCB3EgSWJLc0HlJ9XqaeSUIDF/pKnHCkGoZ\\\\\\n\",\n       \"gcVEU5P6CSwfiSWtZJq88hkx2VLoSA0OZ5dKHNjHuPD9g/WRhEdGbsWukiKqVqOc2sZHbPA+1Kt0\\\\\\n\",\n       \"sUmFlVRqDSKwJDFSlns1TC5WSmAlFMcdiput/vb0tTW2CTUeyEqZd1XW3i1FYKGNde6Za+MkSWem\\\\\\n\",\n       \"zI5h+yCoFZl31ndedi7PUOjaGxUGchLLIDML+nkYxlkdcZ0FuTqUyjlNZsn3LiWwfES0z1boe+eL\\\\\\n\",\n       \"lvcmugbOffBdhv0dB6da2mAwGAwGw/4EI7AMcwYmr57ylKfQ0Ucf7XKvNm3a1N23YsUKq+lS6PB1\\\\\\n\",\n       \"pDoNGqz6rIhhzkIIYYlUhfhmTvNlYsVRQgHC25seG6EusJTt2pVmX9XrzjII8oo/izKwXGGLXPbD\\\\\\n\",\n       \"xDlGDWUjlJBPKq1kvFwRyyC0cuRIFkgVQ3kDAovvHVMG9sKLehUEliIjusIRVl9FXYUVrJcgo7jK\\\\\\n\",\n       \"+DIgpmRQu1RaydkMeR2RXD4LIW6hFxLebxeU+Uz6M2cPFeeErLLzKatgD5QWQm5faSXNjm21Wt22\\\\\\n\",\n       \"lu3OpS7Udk3RJkVtJDHSSbq9vBGG1GBlobAMgriU19FvTG1qKg10hyUUlYmAMDkLISqWK4oJLA51\\\\\\n\",\n       \"DxNHXvneE/Ca6AdSHYduw++iX2Ele7MPmriCkVJezyyDhr2PA0ctbTAYDIYDEmYhNAwBI7AMc4Zv\\\\\\n\",\n       \"fOMbLridy5FHHpnb5wgDwywGrT74VBtyXz7APVWApGoRnXml7YNyIC7VO2yf6lrKMLscSA4fiSUI\\\\\\n\",\n       \"kHarlSOpQF5JK1mfCsspxkKK251UKdXp0FTUU2Hp2pAB7iAtsjSjnPkKxEa3P+IaTl0TpjUp2Qau\\\\\\n\",\n       \"CKh0eJmfiUOPoMzKiI0giqg6VnUB3xzSzQRV5lbrWgoRtyUzsLhIy2DmSsyRjIhrwqsDvkVbCNFu\\\\\\n\",\n       \"CAz3zTgIu6Aks9yMgy77KnH2wWAqUx9BbSaXpSJLfmaklss4azS6FtGmaG9tHQVp1VQB7jLIXWNC\\\\\\n\",\n       \"zD44E4XuXBncLnOzsKy1TI7ognUUpBXaU1pHsQ4ya3Q0C/1vUhxXc1lX+t3R7YBAfsxGGEXcRyRJ\\\\\\n\",\n       \"3fKEtBcpsgZBElnQpNnvrmHucGCopQ0Gg8FwoMIshIZhYASWYc7AOVmDsrIMs4VWX8ht2kyXV3Eh\\\\\\n\",\n       \"8LuI+PDlYeUshU7SlGVe8Ugc+Vd6nT9BdmQzDfL2TpLkZp3z5R/5tk+HIY1leUfVTkI7OEe9oGYw\\\\\\n\",\n       \"TAdJpeOwKbsmaqqlaopVXo6cQAYW/GDwhoGd8D03k3uVissIi6PYm4ekLZuS5ECbgNDCLIW5Z8wy\\\\\\n\",\n       \"7bFclGcmLWtF2Wa+7ZkLkqIkY9fkc2JZFtHO0laYtFquvWVbSpJSzz4oyaz2IAUWzyjYSbfysVOZ\\\\\\n\",\n       \"+gr0jKRp5BuB75MR6EGSUIhsK7SvtAzqZ5ft3W5RJa722W9Rn/rdku0s38V+tWU44N3WvwMGw9xg\\\\\\n\",\n       \"165d7j+cgHXr1tGNN95IS5YsoaOOOsqq2WAwGAwGw34HI7AMhv0Wwwxa+3Ov8An7oM7i6SOqMvWI\\\\\\n\",\n       \"tBpy/hUXmhbklI/IKgj85pB0GdztIzOkrVCSGfUgoMUZATXKYeCZjXCQAktnIWkrGYguSR/w94Wt\\\\\\n\",\n       \"llMIBqwskCFW/CwI88azQcIkSQ+2IkZR114mQ9ulrUzmxcs2YIIKGVkMaR/0Rchp8kpmm8n21gqh\\\\\\n\",\n       \"oiB3tonm2hTPJtsV+2QGVvaZZLlXmpSUbSsVWLIfdIZQYI0kSfcfqukwcPlXOqxfG+gCQVbmaCKe\\\\\\n\",\n       \"ybDToQBti7B+TdTJfo7+z+08inejN7unVi3qd66XgSVthEV5WHv6e2AwDI/rrrvOZVYCsAe+5CUv\\\\\\n\",\n       \"oc997nNWlQaDwWDYtzALoWEIGIFlMMwpymw/PsugHMQWHYvhejiLgS/nX/WrcjCghkNKElfM3/Rm\\\\\\n\",\n       \"pCOKw05v5kEM5nVIO/KwZC5WRl75iCo9I52emc4tBwFNhiEt5Nnj2BKYJLRTEFiaAnAklJiFkP/t\\\\\\n\",\n       \"u2b7dvrixo30QL3uCLCjajV66bJl9JxDDslpWvj7GUmnQxW+f64EVAiykLiSQG6B+ACpkSl4KmMV\\\\\\n\",\n       \"aidh1z6GKtNkIe9jYoofR1sE+XIIdx8mAwvtirbUNkHdxnDI6ckWK3GHiO2DaF+tsoJ9FIWPy5aT\\\\\\n\",\n       \"6WlqZTMOyjZF0eHtsp2lhVDbAOXfL4u5UjLsDFP7IIjLOPv8zy1b6Otbt9K6bIa0U0dH6fIVK+ic\\\\\\n\",\n       \"sbFuW8Ow5/oU8txQgeylRLuDtMIyvJ+NBsXjbapWImpmdcjdgg+R7YzoNF/YPh/rf999RLS0GqI2\\\\\\n\",\n       \"fHlXUouor1lkIcQ+y846mMGZlWbvNxgMBsP+ZiM0GMpgBJbBsM8wGzVV0fll++Q18uoPnwLLR251\\\\\\n\",\n       \"l6lDAVgYbRcsWmclU7Pp7GTSEtgpsQ3qWQixvDMjsBjj7Q5tE1Ikn3kSdkEMx8eiiF60fDkdU6vR\\\\\\n\",\n       \"WBDQD3bupL+8/37asrJJlSMCetWdy7r342qMmSKpwBGqnA80v0PnTp9AF048Nq9Qgo3QsRIJhUEa\\\\\\n\",\n       \"8q0JIzkLoa8dtFIHGeNF0CouFGzzWQxlTpO8N75nttX12eek4k7b6rhuRB+QVtFhimz/RPUTPZMg\\\\\\n\",\n       \"V8aCzE7K69uzfiBT5Bg3TE7SxYsX01nj4zQaBPSFTZvoFXffTf990kl0ZKXi+gfamj/j7P6DMruk\\\\\\n\",\n       \"UmThfQidujHKtYMsept+B/M9l/bgfQcJ1csH8x9nMBgMBoPBYDDMDxiBZTDsEYYdIAZDrOtSdH3f\\\\\\n\",\n       \"vv7zJbEhl+W63tb9ZDpBJo9zkcu+9WxbIuxkmsDqeD4leYVtO8KADmdSiO+k0aA/u2cdNTodGg1D\\\\\\n\",\n       \"OqxSoYuXLKGzFiyg67Zvp3/auJE21OtUDUM6fnSU3nbMMXTGxIQb3sdZqPvzajX6x/HN9OFL1lOr\\\\\\n\",\n       \"QtQJE3rtHcvzIeDZ8zhSI1PeXBn9kNbQ92ls8lv0P2NjdGH1Mb1nFyVotykMWIEVeUkpTSyhznkb\\\\\\n\",\n       \"83SahGIgFyvX8p4cLG1Tk+1bRJR1rxF0KOCAdPU8he0skumTbF3Woa9NNWHpO54/J9tt+u62bfTD\\\\\\n\",\n       \"bdtoW7tFjU5CJ1Zr9OmVK92z7woC+q6nvd9+zDG0+qijum3Nn28+8kj65vbt9P1du+i5hxzS/Q4Q\\\\\\n\",\n       \"WNzWfQStr79jXbY1MXkV5XKtdJ3rd4rRI7C0ykq/x8O8977firLflmH+O3PY4wwGg8FgMBj2Anx/\\\\\\n\",\n       \"/O7ONQzzGkZgGQx7hHA3jxt2hrEyFUZYeHwQpBZCGR2FAbdUAvkUWLCdUUsM4KWVCgQPMy9KvYIs\\\\\\n\",\n       \"JElS+BRXZdayzY0G/dumTfTc0TG6YHyclsUxPfHRj6b1o6NUr9fpV/fdR++75x5aUq3S1kaDnr9i\\\\\\n\",\n       \"BV2weDHNtNt0++QkNbMw8a6+JUno+l276KHDG468Yrz3tPXu8/I7lnc1a/z9EauLMlvZlaPX05rR\\\\\\n\",\n       \"n7rjpqhJ103fTRcuOD1PbIh6CaOQqlXOwsrPQKdJJN82qb7SQe4aRbbQomvLNsW9wUbIAfQuqB/E\\\\\\n\",\n       \"lCZutOIMy5mV1Kes0vlWer/uE5saDfrXTZvomq1bHUl58uHL6IQFE1SJInpKq/dHyGc2baK/2bKZ\\\\\\n\",\n       \"XrBiBZ2ftfcdor3lG1HPstMWRJHbB7uhJM74GXlWwpz6jPu03Oapl4hVbZlKrmxyBElk4f3jDKw0\\\\\\n\",\n       \"mL/ovQ73MP9KRtbLaw6yCkpDrsFgMBgMBsO+h81CaBgGRmAZDPs9fCoNmY8FEx3izHtWJW0100or\\\\\\n\",\n       \"bX/qElz8LwgG81J5A3WKCLbu7uNA74zA8s046CM1dLlzaoquvPdeasUxnXvMsXTBrl3uOZ579DH0\\\\\\n\",\n       \"i9Me3a2BBx54gK75znfo4V/+kn64fTs9ZckSWlat0tGjo+5HDYqe37/1VmpycHcQ0BubR9LOW1r0\\\\\\n\",\n       \"0Yy8YhKLa+z1QonFM9Tx7HRXLr2N1hz6y+73rQ2eSq+vPLkvvF2SWEHU6SOMhin4jyKuRpwPDKPA\\\\\\n\",\n       \"8s0yqItsa0lgcqh5nx1UzziI9lbb2S4qiUrZtsO2/x1TU/See+6hThjSk04+jh5/3FG0eGy0+7yP\\\\\\n\",\n       \"/+UDRFMzbvn2WuT0QT8S7X3s6GjXHojgdsZfr19PSysVeuzERO77QnFvIVc4nkvkXPX1a6E643ci\\\\\\n\",\n       \"CDjEvcB6q94xmVkmlVh8yRR4b2WWnSa3LbzdYDAYDAaDwWDAX8oGg2G/RFGw+yDLUL9tUKpBZPFZ\\\\\\n\",\n       \"y9w+pgqY3EDSuCx6Gwb7nY4LQ9ezACLPSK53PGXd9DS9Y906mli6lF716lfTgot7s2OtfOCB3POt\\\\\\n\",\n       \"XLmSnvf859MRRxxB90xP0+tuu43+e9Mm2tFqda/HFrOPnXAC/d8TTqBXrFhBH3nwQXr0DWP0p7es\\\\\\n\",\n       \"6F5n7Wnr6a9O3NglOJgxuvLo+2nN0YK8mjqfVncuyD8/itjGSq8iolC3h65vhi/Tytc2WnGl29v3\\\\\\n\",\n       \"fb1Z8NQ+Zsh023qeLbcP21X2lWzbojaW6ry7p6fpnXffTYcsnKA3PP3J9PTTTsqRV9Vmiw7JyKud\\\\\\n\",\n       \"IxX6jfPPoSMPWeTO4/b+H9Xe+N4vbNxIV2/bRu89+mjXB3T/c82cBfd3n0v04cJ+nq3zFbVlUFtD\\\\\\n\",\n       \"fe9gPgNLv7e7/64bDAaDwWAwzAskc1QM8xpGYBkMewV7OtAsy8Ypy8kRZ4icpaI8nqLSJbB8A3qQ\\\\\\n\",\n       \"HjIvKCOveJ8mL+S/J5rEQNnVbtO7772XFh16KP3+S15C4+PjND02Rg8fcoi73yVbt9Lo1FTu+cIw\\\\\\n\",\n       \"pFe84hX0zGc+kxpE9JUNG+jPbr+dHmo0UkVOENCKWo2OGx2l3122jJ6yaBF9duNGevkdy+l1gsR6\\\\\\n\",\n       \"V0Zi8f1d+aj1tOak+7v71m47h1ZPn9NfF/Doox6SxNUZK9fCsEdkFeVP+TKSigjF0nYaQJbITKZ8\\\\\\n\",\n       \"oHh6n10CS7atJLUkeSX2JYKslG1btC77ArcNE09X3nMPLV04QX944eNoYqTW13+X75jq9vANC8ed\\\\\\n\",\n       \"/e5Pn3oB/e5jz6B6ktA/bthAf5q1N67/5U2b6B82bqT3HXusy8fS9yA/XV8tI7H4WT0ErmvnElKx\\\\\\n\",\n       \"iCCW5Fb5e+975+W2ufhtMRgMBoPBYNi/EHTmphjmN4zAMhj2+iu2N16zsgDn4u/zWQc12eIG2Ri8\\\\\\n\",\n       \"M7QaRQ70obzi8HZBXsnZ5CRp5ftPEt73ra1baVuzSc97wQuoVuuRGQ+uPKK7fNrNt9CyDRtT21v3\\\\\\n\",\n       \"eQI666yz6BnPfCZN8/YgoB9v3973nSA4GlleEpNYlwsS652nraeVv/VzenNmL2SsfehUWv3wo/sD\\\\\\n\",\n       \"znXQt6gTR/xlBKG2lzGwTbdJ2ayDgzIpQVBJSHWWvpcu6eVISqGq8gWYy7aX+zxEZZGFULYB1r+5\\\\\\n\",\n       \"dasjsV72xMdSraKc7ElCS3ZN01Fbtnc3bVw43m3v845dRc8993TX3oFobw53//sNG+jdxx5LJ4+N\\\\\\n\",\n       \"lfa97jr6uVac6eeXPk8mK9V75LNolpNVReqqvWUXLP9dMBgMBoPBYDAYDgRYBpbBcEBDDoQR4O4n\\\\\\n\",\n       \"RLRqxwfO92FiA0RMnzqnF97TZy3TBIGPNPBuSxL62sMP08knn0yLFy/O3U+T2YAMx61b58rU6Cjd\\\\\\n\",\n       \"cPbZ9OOAaN26dXT88cfTkUceSSPVKu1sNOjwWo3+eeNGOmF0lFZVq46kuH7nTvra1q30hmxGO/7u\\\\\\n\",\n       \"V9yx3P0AItB9W7X3bGvvOoZW7ziBaEGBrU4Wd8FMzaRUVbr+0zruJw979Z9fR7XL9vOd51Ncye/E\\\\\\n\",\n       \"tbvf71R2wkKorYRllkKhvioihty9F1j3OFz96w8/TGccuYIWjY3k6uiwbbvo1Ac302iz1xZ8Tq3Z\\\\\\n\",\n       \"onu3bKU7N2yhE1cspWOXHkK1OHIkGLf3v2zcSF/esIHeeNRRdFi1SpubTaoS0YIwpEVRVNoH+8jJ\\\\\\n\",\n       \"rD27bSvfge5b5hLT+htZtbevH3CXTqtcqyn3JsFkMwwaDAaDwWDYzzEXFkCzEM57GIFlMMwb9EbL\\\\\\n\",\n       \"2q40nH1JkBywi4E9kevSaib2639zfHZ0n73slslJenBmhn7tvPNy97Ly/l/RWTf+zB0jb310epou\\\\\\n\",\n       \"+P73acfpp9G3772XfvSjH7nZCavVqgtrP3F83IXBX/XAA7SFiYwwpKNqNXrzUUfRpYsX5+7xVXcs\\\\\\n\",\n       \"p0+euIm2C/JqcSOi1XevJFoi2CNdB/LZlfUuCHrsoY9AytWzIJpAXsmvlOdIAkzb1PT2su9MV9R9\\\\\\n\",\n       \"+9rZ95wZmQO1nWxTCd86tt2yaxdtqNfpuY86po+8OvveDeQDb9++fCF9ffPDdM0v11G92aJqHFEc\\\\\\n\",\n       \"dOiUiQn6zAMPOGKMbagSr1i+nF61YoU3FsH7N5J+bl1HmVVUtkcZBlsHzc5nMBgMBoPB4P4q4v8L\\\\\\n\",\n       \"3kMCak/PN+z/MALLYDjgMVi9Mcxgu6vc0hZCQKiNussCPhUOtutj5HE/27mTFk5M0NFHH927l06H\\\\\\n\",\n       \"zr7hhu7T6afl8y6+45c0dsklXXZgx44d9O///u+0a3qa/mD5cvrD5ctdrVTEXG+xC+HuXfNjJ+XJ\\\\\\n\",\n       \"KyixrjjyXnr9xmr6rDwrXb1ONDlJNDqalk2biThwfGSEaGyMaHycqDbi1mfqETVniJIGUTRDFE8R\\\\\\n\",\n       \"1RpEAQd1zbCaKHXijdazyf/gSswmvGsrcZdGN9MKMx5Wss+IqFIlqlZTlU+lQjQ6kq1XiaIxomSE\\\\\\n\",\n       \"qFUjmqkRRbU20cwMUX2GaNck0fRUuj41TbRrJ9H0dFp4Jkh+ds4g41JvUJvD0zsdlz3WFLZBtE8o\\\\\\n\",\n       \"/nGRc2TyI03OzNDTDllM59ZqFOzMcs2ShE771abS9n7C1kmaedJju+29fvtOev/XrnFk5cdOOcV9\\\\\\n\",\n       \"XzX7Hm7zkezT1wclgdrnzfQRewDshCVKuyLicXZ2QoPBYDAYDAaDwaBhBJbBcBBBhrrvMVSwtx7s\\\\\\n\",\n       \"D6sC5gD3iYkJl2cELN20mcaYPCkAHzlSr9NTvnNNbvszVh2VLjRBpxTjqlO20F+dnpImjIWNkHZU\\\\\\n\",\n       \"U9bo7af8irbX6/TKWw+lPQGTKQtp/0EzK5NE9PBe/EeFS94c2MMrFy4i4rKulzc2CNzebCtcMjlD\\\\\\n\",\n       \"D0+kMxUuzILfuf8Mg0LFlZ6YYH96xwwGg8FgMBgOFvj+83B3rmGY17BUV4Nhr0DHmO9NDP4Oqebx\\\\\\n\",\n       \"cE3DQUtJ9JRru4l2wrO65a89OlNMXs0FHHl1Vo+8+rMbl9GP/vlE9wnwfj7OsP+As7AAnpWQsgy1\\\\\\n\",\n       \"YeHtpT4/ptw+S2g+t0hJ14PWLO4N6KkVDAaDwWAwGPZPC+GeFsP8himwDIY9gk5omu3+uURS+B8Y\\\\\\n\",\n       \"vkgj7xWSASFacnvBcj5SPg/fvokoommltpoeSVU2g7DumKNpiu17xC6/Ov3oRz+mJyxeTCtr1a4x\\\\\\n\",\n       \"KxJzQfLy3568mT5yRo+8esNNy+nVdyx1qpk/v2MZjUUhvev0DV0Sa3zxInrtw6emFkH243Fx3rxa\\\\\\n\",\n       \"b53VQJUqJZUK1ZuhswY6e2DTOe66E/ixG5E/5aR+Mi8dywUuzb68LB3qztZBzILHn7ATcqnxciW1\\\\\\n\",\n       \"FnKpVToUuBttEM3UiRpcmunn9Ex6s1zYVsjt08S+aepkFkI526AsfOvYJ2co5M+f7txJ69steoLI\\\\\\n\",\n       \"wBptNOnIrbsGtnddzFg4xfdKRONqxoKit01HgKULnhAxX2XL4xkiMswH6bYtf+f25V9Zg77L/uIz\\\\\\n\",\n       \"GAwGg8FgMOzfMALLYNgjYDayR8ovpJUViTe+ahh0z+MBdxBQAGJAT18opzkEARAE3VqQxZ0uakgX\\\\\\n\",\n       \"3n7c6Cj91/3306ZNm2jZslQBtXnZUjfbIAe2+2qWn3RqbJR+ct55lGQExE9+8hP66sNb6OTly6gS\\\\\\n\",\n       \"x10rG+ciYflLJ26kT5y2sXudN96ygl5753JiXoQtb0ybXXHPkTQxOkprHnWPO+b/HHMnja9cSavH\\\\\\n\",\n       \"H080MUG0YAHRIYekn7zOMyfy8vg4JeMTtGNXQJOTASXTRFM7etFSXDhOiuO0mAtiTgjLktySE+JJ\\\\\\n\",\n       \"IgtNgBkMXe6VIKkcKVVLI7qwzLfHMV1cwnGikQVEzA2Ojye0cCKhYDLLt9qxg2j79vQGd+4k2ro1\\\\\\n\",\n       \"/eR13r5tW25fe2qKOs0mMe04I6yJvN7JluvZZysrjezzl5w99uBD9BdnnkTLFqTkIz/oobumaaTZ\\\\\\n\",\n       \"LmzvmUpED4/3jIk/f2CDC+0/emSk25fQz2R/w3Yq6H+5ymVo/5+c8pFnNMz2cVvtDvi8lNBK9rFS\\\\\\n\",\n       \"swyP9PcbDAaDwWA46GGzEBqGgFkIDYYD8hfcN69a+UBU2pqg9pGqn5T04jnW0pIbzIOokoN7uS+K\\\\\\n\",\n       \"+ogDua7JBVkuWLSIFlQqdN111/WeIgzphrPP7j6RfkLGTx9zdpe84lnxrrv2Wjp74UJaWql47+Mf\\\\\\n\",\n       \"H7WJPnFaL3fp8ltW0P93Rxr0niPZwpBW3380rX3o1O6xayrfoQ8k3+/JncAggdgoS/QuIAp99Q+1\\\\\\n\",\n       \"jiQgi3LE5XXktbB/KEgFkn4uLe8S+5BX1ld3BW0vt5+/aJFTTf3oLjFjYBDQL45Ymmvf7vNnn25/\\\\\\n\",\n       \"9r3c3j+88146d+FCWlKpdFV2ReSVXpbH6X7crRc8u9on3w8Qjah3FEZZEL/fNlj0TvuOMRgMBoPB\\\\\\n\",\n       \"YJhfMAuhYRgYgWUwDIU9HTh2diP3Jq+s8i+XnK3y1X1FHoflTocH6ILc0J41uS4G+T7yoojUkFbC\\\\\\n\",\n       \"ShjSUxcvpp/deCM1WIaU4YFVR9L3L7iApllSJMDKK97O+4H77ruPNm7eTL+2ZEkfqYLPk7eN0kgr\\\\\\n\",\n       \"/ebX3bKC/viO5d57dORMFNHqzafQ2q0piTaWVOjcaFU/qSPqgsk0JjZ0fct13wR3g5a7rrUhzilr\\\\\\n\",\n       \"9777YCImEM8hiyay1D4m+Xx1J+2avjbgz9EwpIsPOYR+su5+avAUjBk2LJ6gG44+zCmtJHidt/N+\\\\\\n\",\n       \"4M6NW2jjrkl62qGH9tlSy/ogebbnZG1S5ubr+0H6bvA7ot+1omVd9+Xwzd85/DvvJ7D3RFllhJnB\\\\\\n\",\n       \"YDAYDAaDYf+BWQgNhqExbJ6V77giXclsvhuD08HnYtAsy+zUPWoQX0RuZD62AOudDoVJ4iUOJMnR\\\\\\n\",\n       \"Fuw5fzIR8Z9bttB//sd/0LOf85yuwodJqgdXHuFmJeRgd87GYnshlFcMzs/6r//4DzpydJRO59kM\\\\\\n\",\n       \"CxQ3Z2+eoA/94Fi6Y/E0veLOZV6SA0QcSIvVO8+iSm2Mzq0dRxdWT8yr0XSdBCF1kiA3oZ2sf6mc\\\\\\n\",\n       \"8tW/bDNf2D7ILP4q3qczx32kllZ64ZPbt5MQRb72laqjgn0g+gLR1kVKJ7kfPfjSQw+l/7dlC/3z\\\\\\n\",\n       \"9TfT8887s9veTFJtWDTuZhvkwHbOvHK2QaFum6w36J+vu5mOGh2h08bHvRbBqKDv5ayDfP+yP8s+\\\\\\n\",\n       \"rdtWLLu68yjdZP1rlZxu2+yMgmVS7/ru/FaUrRdtG+ZaBoPBYDAYDHsJNguhYQgYgWUwzCk6aug8\\\\\\n\",\n       \"LIoGqkVWI4yEEY+Nkh7rsy5pQkMvy3BxzhbKDd59wUtynUOXqlVHXoWtliMQuHSyzzi7s7YgGBLx\\\\\\n\",\n       \"A3R4tUp/euSR9MGf/5yqtRr95m/+ZndmQiarNh223Ftrk5OT9A9f/CLN7NhBbz7+eIqDoPt9Mrgd\\\\\\n\",\n       \"5bGbJ+iCzSnJ5dvvCA2knmfP9/rGuURji/Mp6bI+sjrqBCmxgRwrSVxhXWZc+fbrbWXgJsKxaC5f\\\\\\n\",\n       \"exZdOyXBAor0s6BNfc8p9nEAfNRud9sZpKQkkdDOiSCwuG2OqNXo1atW0YfvvY9qcUSXPea07qyC\\\\\\n\",\n       \"/DAPT/hD/HfO1OnT11xL9XqD3iLaG23ebUfRtnI7imt7fhbux9x35bMiVEyTWmjnJKS2qsvZWDnz\\\\\\n\",\n       \"76aMvZfv9LDW4N2dwdCUVQaDwWAwGPYvzMUsgjYL4fyHEViGgxjdKfdmuW9Pvg+Ujt4m9SlYHwTf\\\\\\n\",\n       \"gBZB7h1nc+IiB9ma2NADcOxL4jAd2PPgXQ7w5TR3mM4uI68wwJfEUNszCyDILKkpYzxx8WKa7nTo\\\\\\n\",\n       \"Ez/9KW3ZvJme+KQn0fHHH99V50g0m026+eab6bvf+Q51pqfpzcccQ0fWat3vkN8n7WyaxND7A/lM\\\\\\n\",\n       \"+vnkuiQ2svWEwkJSUBOGmsyS+6VKTqqwQFLxPk1WYR9fk2/HR1T6vs+1lniG3DMVPXtWmMAK2+2+\\\\\\n\",\n       \"ugZphV4s9+Ot4uUnc3u32/Spu+6jDTsm6eJTjqcTDltKoae9660W/fTeB+nqX/zSzYD4lmOPzbW3\\\\\\n\",\n       \"Jqqw7Lu3rmILz6qfTxOV6P9Zn3dE5RDvka/NOx1+N8uyroax+8nfCbmezBG5Nei7i65pIfAGg8Fg\\\\\\n\",\n       \"MBgMhr0LI7AMBzH2Bkk16PuCWQwOdQaOzsHRx+ZLSmDl7Us6k8enynGfceZVw0BeElhFSh1W5WTZ\\\\\\n\",\n       \"SJI4kGoYTWrImeB4/1OXLKFDKxX6/Pr19MUvfpGWLF5MjznnHDr00EOpUqnQzMwM/epXv6Kf/fSn\\\\\\n\",\n       \"VG806KyFC+llxx/vFFzyu8Iy5Y2H1MBy3zP7nl1YJ2VdsJlOq3F8da23FWVUuVZVsxDK7UXn+75P\\\\\\n\",\n       \"29hwn3Gk8p+KnrGgLiRRKZdlm6NHSgILbfD0Qw+lZdUq/d1DD9FV11xLS8fH6LzjjqJlC8aoEkU0\\\\\\n\",\n       \"02zRPVu20nXr7qd6q+1C+l9+9DG0nNV+qk31BAGyXXU+F8L6S59Ptq9YTzJSuEw9J9tEt0e/PbDo\\\\\\n\",\n       \"nS97932/F0W/KfsSZjk0GAwGg8GwB39G7OmfEvanyLyHEVgGw34JPWiF4gIDX2k3kkqLnjJDW5qK\\\\\\n\",\n       \"rIPNZqoY4cLLyEhKwoyUwuAdShSpVpH7mFRoNJxiqpUkOQuhJhXkU8BaiCd9zIIFdObEBN02NUVf\\\\\\n\",\n       \"3bKFvvOtb1FL+K54xsJLFy+mXzv0UEdkSLsaiCsfeaUJK2k3c9dAwJR8JvnMmuAQypwkjqnTiVz9\\\\\\n\",\n       \"oT79Chx/LpVvv6sPlVkGcZLcJhVYw34f7rMSR5RESd46qUkc3c7ZOveLMMvB0vWKNtUElnsG0cv5\\\\\\n\",\n       \"Mc/J2vv2qSn62pYt9PVbbnf9B1gYx/T0JYc6cvOwjLiSbV5WfMo7p9Di+5bqMvnsBc+bgMBqp8Sw\\\\\\n\",\n       \"fm/QjmizovbPv9P6/Uat+N55/bswV7C/9AwGg8FgMDzyMAuhYRgYgWUwzAkwsByUf+WzDBbZBQeF\\\\\\n\",\n       \"tmuCC5RBOujtdPotbRhEa8JK2t14IsBqNaQkCihAHhAG8rUaDugVuc77m02K6/Vusk9FDc3xo6MD\\\\\\n\",\n       \"tkE2uCSvIHAB3aeOj1M7SWiy3Xb2wrEocrPYMdlUNPtdRWRgwU5WyZaxD5/dZWaA+P55xsORkbx9\\\\\\n\",\n       \"jp8Jzw7CQ3wmXLIAd1m/qFuQRUU2Tm05lPlXUoHl6kp0Ld7OTQNLobSvYR1kFYLfuangmnP3ykRl\\\\\\n\",\n       \"EKbtzM/HJ8tndCxXpbevXk/XuY744vU6xXzRjHCCPRRtLTWHSIcL1TbXbkFAjx4fd4XJq13tNtWz\\\\\\n\",\n       \"9h5nW2r24FLV5yMtZbuGYhvaH/ty/Vf2Xb0uySxu5zCmVidw9aitgpLQ8hGH2J4npvCW+BRWs/kt\\\\\\n\",\n       \"kDWul4tgOVgGg8FgMBgMhgMLRmAZDPsFdCqUj9SS+8sCn9NjOW8HGVhagSXJEq0kSZcDarVZoZMF\\\\\\n\",\n       \"tms1UtHAPyM8okaDoiTpKrAiRWbp4ToTEjKzXFrNmKzi+1gk9uuZ73zqqiIbIUgM7HOfzPjIZ+FP\\\\\\n\",\n       \"+Vzy2TWxUalQux24OgNZJQvqOV+/eVJLW9Ck9QzQMw8ixF0GuYOswqR5LpA/yn93/t4CR96FWoWU\\\\\\n\",\n       \"EZE5Io/XUS/ZQzDxFWUPCHISvRR0qo+4xGOBvglkzw8COoTvQbW1nmHQl3sl1ytFCjyuKElO+sgr\\\\\\n\",\n       \"rTbMiNxW1s66LSWRpUP8pa2Q38niWQF9qsqyY8uytAwGg8FgMBgOMPDfSe5vpT28hmFewwgsg+ER\\\\\\n\",\n       \"gW+WMXyWDVx18Z2TDnBlHlLZzHdy4J0jspjAigrsg1qlI9RXTGoE09MUd/geEkdSSGVOq0RvAsUO\\\\\\n\",\n       \"SI2yYbzOPAJhpYmsHFHlIbvYPpebkU4TGWUWs8xWxqocH4kh61iHqPsUWDKrStoE+5496JFWWoGl\\\\\\n\",\n       \"SUq+3aJ7cO0dBS5vymud1NskUZmptcJ6nTpsGe10+vKwYg89g7kytQJPElm+tva1dxF5JZV3sv0d\\\\\\n\",\n       \"WQey0tfOvnbvTmLABFYxcVVk15W2wpSQ9FkCfevD/A4UvUUGg8FgMBgMBxgsA8swBIzAMhgeccsh\\\\\\n\",\n       \"hu6+/XpZQis18slD6eA5ySlG2PrERSqCZCaSVA3x5+hohRKecY4H9Wwbm5np7ZQDfb2v0aBwZoYq\\\\\\n\",\n       \"rVafRqyi1FOJUtZIg1UZgaXDuyUxpS1kPotZ12oG4oKfgQsTcfjEM7K1UD9vrebqhipVak0GufpF\\\\\\n\",\n       \"Pep1bSnTyihNfpT2oCwonEks/sREgnIWQqnI4vuQx+Ce4jigpJY+WwB11dRUj9DhZ+e2BUnJzw4/\\\\\\n\",\n       \"HC9zW3NdNho5Q5xU18l2RpuB6JLn3Lh0F92+eJqec+eyoQgsbs9/eNQmevS2UXr85ok8WaUshFwc\\\\\\n\",\n       \"UYl2lm0tc930PrYOZvua0/0qNvkOgdCSbd6zFfI7KVWUoPJ03pXvPS/7LdB5WkZgGQwGg8FgMBjm\\\\\\n\",\n       \"J4zAMhh2G1JHUrQfg89oN6/vC3rWg+CwYF+H2u2Qms2eOggESUpc9AgWiGo06dIZjymMleIKTAhy\\\\\\n\",\n       \"kBj8BUxy4AuY1Gi3XcB33G7nhtSJIC4CjypHPonkcOTQHgZL3wxzksDi5aoiM7DuLGZQXo2NEY2P\\\\\\n\",\n       \"p2QNcrCwjHW5LVPqJHGFGs2AZurp48u685EYep9W7Mh2AkEFGyETVbAN8jEQTcnzQVjheG4mfC9I\\\\\\n\",\n       \"K96Pe+Dl9LiAqjETlRn7ws8oQ7z42SENm57utXv2gNzOUbtNlWy7TIJDu6DdO4q4Qi/+6dJd9Jbz\\\\\\n\",\n       \"19FMnFASJvTCO5bn2pqhZ5r8wokb6a9PW08jrYA++YNj6fzNEzn1FYojtqIoDW7nZ5FtzYXXuej8\\\\\\n\",\n       \"M/HZCWMvKVlEVMo2Tdtak1XyHZafOsR9NrlWRb8jkiwbdKzBYDAYDAbDvof7+3EP/xTZV3PLGx45\\\\\\n\",\n       \"GIFlMOwxeSW1Jr6gduhPNOHVb/vLm6h8tiLfzGSkqIBW17THFj5pI5R5TLrofKZGI6AGxyBFMcV6\\\\\\n\",\n       \"QA/FEi4IYgCER61GQeaZAoElh+GytkgQGySG2lqXJp9WZiL5bIS+zCttI3S5V3yfUm0lVUa+oG+p\\\\\\n\",\n       \"wqpUKIkqfdlXRfWqVW9aheXLw/IRWMjAwjY+F2BCCkQWbIUIddf3xIRL6oBkgjOhSsTP1O49owx1\\\\\\n\",\n       \"9y3zxbN+ELBdlC2EMzPU4WVPG0riStoGsf2OxdOOvGJ86rT1ro1edMfynNVQtvPfZuQVg8+7dfE0\\\\\\n\",\n       \"PVkRWFKJxeSVa2u0LdpdBvTLdhd9vu3IqzS83Z8Z128rxGfPPihVkij6PfaRXPKt0b8Jw6iz9O9J\\\\\\n\",\n       \"0Xf63jSDwWAwGAyGfQT5h++eXMMwr2EElsGwx9AEFhUQVj6Cqij/RkdbQ2ekj9HnSVVHShXonKui\\\\\\n\",\n       \"Qbe2s2GwHsWxm2nP2ct4QA9JDw/2wdqA9IF/KiOznDKn0XDkhqwFXVuS2ECOEgLgi3QjktCQFkRf\\\\\\n\",\n       \"sHdf4ZkMmb3RdjIUEBk6zF1sY1tZJ4qpmXdOFtatrmc5W6EkPmRmmQ9QWEliC4DKCschxB0EFpR3\\\\\\n\",\n       \"UpXF62kTxhRSZiPEbJMy3ww3yYol3CzqituaCSy2jGb2Qv0GYFmqs6Q26CV3LqNOmND/zUipT2Yk\\\\\\n\",\n       \"1oszEksSlpK8YrzhlhX0R3cu67Z932yTXAFF7SyD3PV+budqlTpBT31VRlb6SMte9pUkr7T1V5NL\\\\\\n\",\n       \"Zdt8xxSta0viIJLLYDAYDAaDwWDYf+Gb6sxgMBTCl1EzGxQNIIuO7bcFlhc5OG47NYweUEvLky5s\\\\\\n\",\n       \"g2OHWL2eHsfLLYopweBeWq6wrO13vDwx0bVlBePjFEeRIxNqmYWvVlJ4/8iAY2rimEq2jPOqBdeC\\\\\\n\",\n       \"fZBLxMyNus9u4efh58A+XpfPnhEhTapQvRH01Rmv87K2E/rysXSOEoilYYpsT981fefwdr43vkfc\\\\\\n\",\n       \"K9/7zExA9Xrg2rrPLsnLaGOuE9nmsmT1xWo91DPavKhd8Inj/uiO5fQnt6zovgFMZn3xxI25dv+7\\\\\\n\",\n       \"EzfSRwR59cZbVtBr71je14fwyX3Pd5/ddvbZCbPnTrjUaq5euJ5k/UnLqK+eNZnF72JeXygtg751\\\\\\n\",\n       \"ny247Ldi0O/Mvv6tMxgMBoPBYBgebB+cizJbfOxjH6NjjjmGRkZG6HGPexxde+21hcdeddVV9KQn\\\\\\n\",\n       \"PYkOOeQQV5761KeWHm+Ye5gCy3CQQ9r9fPt2x1GtlVc++L5TklQy+lqrKYrIq5awLabbkoRzsDrO\\\\\\n\",\n       \"/sQF6hsocTAghxKHB9+8jsnXUgdVQAGFNAoiAxIhXpaSIT4Z4C/h7ax8SZJUIdVoUFCv57KQkF2l\\\\\\n\",\n       \"TVVFRkmJQRZCLHfzrjIyIxgdTVVGIKkkccHPBGJDqrME4eFIjUqVmvXIET+SyMCyJpS4TkFw+cgm\\\\\\n\",\n       \"SUbJGQhhJWRwVXLRFkN84phu/QTpd8J6CMUVH8OcDt+rXK5WAwpqMUW1wFntYAHt3hi+jOuGPzEF\\\\\\n\",\n       \"IqZB5AuxEou3xzFVZmbcNfhR4HLkHtrJ2gTLWEdbv+qO5W79rzKS6qOnrXfrf3jHcvrUiRvpQ4K8\\\\\\n\",\n       \"+ouMvJKqK9nuIVtEuRMvWNAjpkC+SQIL7S7Jymy53gy77YwCgrKobfOZZ2l4O7+L/nfWl3sl33Wf\\\\\\n\",\n       \"wrLo7fCprnyY7V932oaosbv5XAaDwWAwGAziz4w9/XNilud/+ctfpssvv5w+8YlPOPLqQx/6EF16\\\\\\n\",\n       \"6aV0++230/LlaR6rxLe//W16wQteQOeff74jvN7znvfQ0572NPr5z39OK1eutKbcBzACy2Ao/aUb\\\\\\n\",\n       \"hozaneP1gLBIlaUHr77sGq3QyCuxUhIrymUsSUuhVIr4LISYqa5arVDIVkI5CyGsZQj+ZmQh7l2S\\\\\\n\",\n       \"I/PKMbERsqWQlzudXEC7JKD08Nw3HJcB4XIWQmkhxDZHXgWBy7xiQsPdJz5BVshPnYGl87A4EymJ\\\\\\n\",\n       \"qNkKvCqrogB3bTnT9a/bBqSUcF92qzTXU7KZCDPeyF0LWVkgKhHcjhB3LnpWwjTUnds5SjPPZN4Z\\\\\\n\",\n       \"1wmILFhF+YvxYJgKMSMxA74otzUzO4JhQ+6VnIFSagbxqP9fRkq9PyOrmMz69ImbaAeHzGdYfcsK\\\\\\n\",\n       \"+tPsOJ11FnJbx3FKVIJ4lSorWXxWQlgHowo1G72MM6muKrISynwztHFKXsl3UxJRw77fvt8K3/Zh\\\\\\n\",\n       \"/3LbXRJrLq5lMBgMBoPB8Mjjgx/8IL3yla+kl73sZW6diaz//u//ps985jO0evXqvuO/+MUv5tY/\\\\\\n\",\n       \"9alP0T//8z/T1VdfTS9+8Yv32X0fzDACy2B4xIBBbCQ+i44rKj66R+qZUlVWpxP1DbqhwJIz0vHY\\\\\\n\",\n       \"HdugLOExfRyH1B6pUFDhLKyMYXH+wjTvqDt6B7vCy1ISxMew+omthLt2pXMnslpngAJLPz0gM5H0\\\\\\n\",\n       \"LIQgriSxwWRGCNugVtmA3CgiOQSpxXaypFpzsw5KmyCKb1tRVpKP/IDgSaqwABBZyMDCNhBd/IlZ\\\\\\n\",\n       \"BUFg4XsgkOIqwD4o7XiZt/M6L8dMcGWEFRONXXISCizIxHADUGCJdnZtDVKx2aSQZyoUbYw2kuY5\\\\\\n\",\n       \"3bP/JCOn3pORWJK8erMir3JtzflmsA2inbXiSqvtZDtnpFZSqVE7rOZsoVBayfbWRJZW1aXtg3dR\\\\\\n\",\n       \"9vSid7ioFEGrtQwGg8FgMBgOPHB2Lpc9vQZjx44due21Ws0ViUajQddffz2tWbOmu43/jmRb4A9/\\\\\\n\",\n       \"+MOhvm9qaoqazSYtWbJkj+7bMDyMwDIYdhvDWgwxwIS+KFGvXrs7a2BveI/hPjQroAN0Zk5L7cN6\\\\\\n\",\n       \"fmDMg21Y0HzKG2khZF4KJEhKXmXERkw0PjZGYSXbAMtgZhPsMiiY/o6X+QK8jotlKpdwZobCep3i\\\\\\n\",\n       \"mZmciarMQqhrG7WkrYRdIoMVX3wPUl0D8gKqG7aWgbzgZS4gPXgZJEeWm9SOa9RsxzQ5ieyo9NNX\\\\\\n\",\n       \"QGbpTCxJesjQd6m8Aoml/w2Ha08GtEtLoWwKHfguLYhoNvBOaN9uM7IFsDqahp+DuJIXkG3L++E5\\\\\\n\",\n       \"5XW0c9apgkbDKbHcDIXtNnWSpEvl+Ggb2eaX37GcPnHiJtouyKtFjYjeeMfybltL62hOQSdtoNzm\\\\\\n\",\n       \"sm2Rg6WzzkRGVieu0vSUv52lVbQo60yW/h6Nd1e/yz4KV7/zWsmF3xAJH0FWhtmqtwyGHv71jptp\\\\\\n\",\n       \"4YIDM1L10iPOeqRvwWAwGAzAMH+yDEJ2/qpVq3Kb3/a2t9Hb3/723LbNmzdTu92mww47LLed12+7\\\\\\n\",\n       \"7bahvu4v/uIv6IgjjnCkl2HfwAgsg2HW0BlVkjCSf8RjMChnHpT7pN2waF1eV1M72OZTdLREIlCb\\\\\\n\",\n       \"kqRN7XZIzWboBtTMMTAHAdIKNjM4xrAP+VgpwcEZWiElQUQVPogH/5AJgYUBeFnkIqW/Nj2SI+Dl\\\\\\n\",\n       \"zI4XsUKn3XYzFUZMcChrma5N1CipWQi7y1HkiCv+DHCfeDCpxJHWMm0zU8qcZHQ0Ja+SyAW3I8gb\\\\\\n\",\n       \"RBWKj6DSijafHQ1CNqm+KiKwwCFJbgnEE7hCAOvgG8EvQnUlyUku6Tnp81GVO0GN4tFMVuQaIbMN\\\\\\n\",\n       \"guEE64YLg8SEFIzvGXZEbhfOQWNlV7tNcdbWOv1JtvVfnbgxR14xeP3DJ26kv2ASi9uY+xN/8nfI\\\\\\n\",\n       \"2SNBVGKZiSlJaBVZCqtVaiYxNephjrCS7auLVN/JtuX8udQ+qFWRkrbTMxMWZdyV2Qz1b4b+rdHH\\\\\\n\",\n       \"Aj6KeC4CKAwGg8FgMBgeOdx///20cOHC7rpWX80FrrzySvrSl77kcrE4D8uwb2AElsEwZ9lWkoSS\\\\\\n\",\n       \"5NWg44uWfbqUomMwSJZEV3693Q76spik/UkHjDMfAOKlR24FFFZDipyVsJYGffsILOQigeRwvzYZ\\\\\\n\",\n       \"SyIVO0xqZKxOwtlYiKFPEpeXxZ94WgnUqsvVyogSp7gKgpQck/lNILD4Hy5fULfMwNLWwWwmOqqN\\\\\\n\",\n       \"UJtiarbCPsLCZxmEskrPNKitZlJ5BRILhYO/feCcKpBVfBw/LkgrkFNSgQVuCYq7IiVej6iEnTCi\\\\\\n\",\n       \"kPfXuB4aqSQbdlGQkrhxMGUI5JJp8mh3bhsmmthOmPUPVmNxYXRUe7//xI10hQhsX9yIaFtGZr31\\\\\\n\",\n       \"tPUUhQGtuWdVr711dpkksPRMkgVWUWcRrVSp1Q5zRKW2DhbNJKnzztI2lO9j0cyDRVlXgyyFmmwq\\\\\\n\",\n       \"+2/LQeeWnWcwGAwGg8Fw4FgImbySBJYPS5cudbETGzZsyG3n9RUrerNi+/D+97/fEVj/+7//S2ec\\\\\\n\",\n       \"ccYe3bNhdjACy2CYE/JKH0+zCHOHmkoOdn3nyoEvLIY6SQh6JLnOxFLLEVi83shCqWWYNwQz4AJ4\\\\\\n\",\n       \"GZlYIEDACYVhTDEHfY+NUQI1lQ5hArMCmQ9/Ygo3TI8HBiUL3nJWM4S/IzA8I7/cUFv8g+ZIKzAx\\\\\\n\",\n       \"8gbBtMkQcgR187qYXc4VrcrBemYhdOTVyAh1aqM0vbOnumILoZyVbmqqR3TwfhBc2O+bfdCvwEpE\\\\\\n\",\n       \"/pWPYAhygicms0B4oRlcTxGiN01oyePRVFDcAeAZOyMRxQtGKGy10rbGBdBZcGG0s+xEuChYUG6L\\\\\\n\",\n       \"7KEdgcXt3Wq5ImVnrMS78oQNjqQC1v58Ba2+4zC68qRNtObUB922N5/6EIWjo7R6w4m9tpZB7Lpt\\\\\\n\",\n       \"ZbvDLgirqGjrdlSjej1PXsm2RtHKrH5ii2cfhBpS5l9pRZaP0JLbi34zpHpqNvlXu/OHoZFYBoPB\\\\\\n\",\n       \"YDAY9jLmQgQ+i/Or1Sqdc845LoD9sssuc9s6nY5bf81rXlN43nvf+15617veRV/72tfo3HPP3cMb\\\\\\n\",\n       \"NswWRmAZDA6S/NkbkPlWiC3HvHmkQtylRVGqqCQx1dUqqQEt9rVEQlCzaydMEiavYjfwBvfAY30o\\\\\\n\",\n       \"eMD7dH8gsl8IWNbAX/C5E5yHFURpYDZUViAupB8R/kSQC0gMR0CUHPWDwNLT8bHtTFcpCBOwOVD6\\\\\\n\",\n       \"gMzQBBaIDSiykH+E/TonaXw8tQ5GNZqeTEkrkBZcsC4zr2Q+krQZ6nwkXwZWWq+wnKHP+JCSWJ1O\\\\\\n\",\n       \"6GaXhBJLzlaIthWTQDrIYzXvyMBxvA/Vz5bC0ZFxiipxd3bBbt1KphOZWCAlUceoDK7XcvbOXfs9\\\\\\n\",\n       \"R9xNbzq+R169+65jafWWY4mWBrR622FE903QmqPucPvWHHs30cQCWr3zzPR7pYVQzjKow/uRhQZC\\\\\\n\",\n       \"kzOvqiPUiWu0azIlJEFUop137UqL7AM+UitVazERKS2D/A7KdU1eaTWlzz7oy8fC74WEb5bDvQV8\\\\\\n\",\n       \"j8FgMBgMBsOBh8svv5xe8pKXOCLqvPPOow996EM0OTnZnZWQZxZcuXIlrV271q2/5z3vobe+9a30\\\\\\n\",\n       \"93//93TMMcfQ+vXp36wTExOuGPY+jMAyGOYERdZBDEp1NpYv66rIPiRD4H0DXRn2rgsIsHTwy/+r\\\\\\n\",\n       \"AM6AeQdwCeCYIJYBWQX7oCa32LrHmVgjPLtfbYSCsWwKPQAqHSn/wZfAs8Zfhk/J6IA5QRAUz1Yo\\\\\\n\",\n       \"2RkAai9JYEEJBAILFjKpwIIKB8ocBH+L3Ksk+2xRxeWGScUNip550BfU7pt1ENt7OUlMdnDRiVBl\\\\\\n\",\n       \"YDISlruQWi22FWaZU5lzU4rUeBn3ACDYH4I4qLW0GivlJEOqhBWqjKZt674J9lAZ3o925gqSbQ1y\\\\\\n\",\n       \"UXrxpNcuI7CuXH47rTliXfe71/7qZFq99VFEE9mDhGFKVm0coTXLb3LHrFn2M9dWq1uPT9sS7a5n\\\\\\n\",\n       \"FpQKLElosZKQLaJBTPVG2CWvdHi75N50lpnk4/CZz74qmqLAZy302YN9GVhFvx1yX/eFVP1HX8dg\\\\\\n\",\n       \"MBgMBoPhEYaciWhPrjELPO95z6NNmzY5UorJqLPOOou++tWvdoPd77vvPjczIfDxj3/czV743Oc+\\\\\\n\",\n       \"d2BIvGHvwAgsg2GPoQmpouB233n6Uy7LoHZJUOl9oZqBsH8WQrm/1UrcIJuVNTrEXRMZ0l7Ig3mp\\\\\\n\",\n       \"znLExniFgjikaHTM/YPBgdp9ki2GJDKgzsIXS6YHTIDMWpIp5YBkZyTrAhILBUogFJBUvAwrmbSV\\\\\\n\",\n       \"MXnlVDpj1I5HqFEPvOSVJLF8WVi+fCQtPEq3peRVr300aVmU/oU+x6Rk7NRYKccXeCeFZKDqUX1y\\\\\\n\",\n       \"ZkoZ4g4XYK6dWXhVY7Iyomg0Jc6YxOzKvuQXybZG2JZsF19oVLtNH1hwC61Zemv3e9duPINW7zqV\\\\\\n\",\n       \"aIFi4+KYVjfOI9o5SmsW/Ngdu2biR1RpT9Dra0/JZ5/JWQmRiSWC+rttXalSsxHlCCu0sSYmZdFK\\\\\\n\",\n       \"uvSRkkzJ5rMISjWVDnT3fRbt8/1elOnuy35rfP3MYDAYDAaDYd8i4CjVPfyTZHfOZ7tgkWWQA9ol\\\\\\n\",\n       \"7rnnnt29NcMcwQgsg2G34FNW+Y6ZTRaWzLPBdYtILCxLsoNfZ0mGyLn6JLnVoHq90lXsgGeQYiZ3\\\\\\n\",\n       \"19m6nOGOC4RRsJmNjIQ0PjZGEQLUJUnFDAB/sqxFW8mkhdBHYEkLoauKTn9IOG4KUyfKsC6+D01g\\\\\\n\",\n       \"ydnpeJ2lvlhGLlK1Rp1qjSZ39RQ4O3f2cq5gJwO5AZsZHg9qHTweHhH7eoosJoKk3UvPRKf7RaDa\\\\\\n\",\n       \"FDbSlLDsdAJqNOJuRj7sgL1Mra4bs5ujBZ4QVYxQeYasfkw+yOsTE6Pp/0TJ6Sq5TTFlJZNDWOa6\\\\\\n\",\n       \"lcweb/e1c6NB54ZH01jyM5oKWrR21+NpdfIYoiVBf4fMyur4EhZs0xq6msaoQudOnEg0cUiewJJt\\\\\\n\",\n       \"K5V3WT6WU15VRnOZZtIqKm2i2jJalInVaHBlNkX2VUtZCVsF1sAi+6CvT/j6x2x+Y4pgdkCDwWAw\\\\\\n\",\n       \"GAwGw/4LI7AMhqEwGzKq7Bo6aF1bC4vIK1JB7zgfM//p9ZbK2xIzBFLkspPYdtZspoHuzCdoAkuS\\\\\\n\",\n       \"W1JoA1EUb0/JmLRORms1ikcjipBNBcIIahxPmHc3IEoSWMI62F32KbC0fVCQG7lZCGUBgSEJrCw3\\\\\\n\",\n       \"yeVdxSPUTCKq7wxyRAaTV7wOEgo2M0lSaXWOJrCkIotVVyl5BTJDW8hmQ2AhP41thVyNkSMnQTpi\\\\\\n\",\n       \"8kAA1SnbEio7VDfOA5kFC2JqVSSqVStU4SB/1D0eFn5EWDil11JL1KRVtNWiCzuL6X/aE3QdPUiv\\\\\\n\",\n       \"rz2OCLMdSz8k2jtbXl39Lao0F9C5tWPpwvFHp6SVnJFQh/fDTjo+Tu1KjVoU0/RU0CUkJVEFAgvt\\\\\\n\",\n       \"jn7gs5L2BGUIbm9nZBUIq3ZJBhZ+FySxJS2DMvNKZ19pFZUmwvaHNFWDwWAwGAyG/dNCaDjwYASW\\\\\\n\",\n       \"wTA0SSWtgoP262N92Vj41OornzUI+1B8Ae6S8NIZWTILiwfKbDvjAXecswnC5aVnKHQ/FnE6eIcI\\\\\\n\",\n       \"SoeAh2FEHUxAN0Zp4LcMWpdeRRAZWM5IjByxIYK9u6xLkYVQElg+GyEILRBYKug7qVapHVWp0Ylc\\\\\\n\",\n       \"DpKeWVDPRidzr2SsU9GMdFBcpa5I5F35ZqLT5EMRgQX1n+w/6aQAKVmVElypsi49Rzo60SSoRuSe\\\\\\n\",\n       \"YR+ajYFqlUq8JIkoqfKBNYpGM+UdnwD5l+xEqHsQW9I+KAgsvvELO6fRhZ1T/W0tCUtx7dfHz+x9\\\\\\n\",\n       \"J9oWbQ2iEhZRJiqd6iolKputqC/vSrcz1n0WUVnSR9AkVVHGlU9x5cu90v3AZycclIXl+50q2190\\\\\\n\",\n       \"rG+f/ZFoMBgMBoNhbhBwhO4e/v/bnp5v2P9hBJbBMCcqK519BUIB0Gorfa7c78u40gNXKKygxsIg\\\\\\n\",\n       \"GSSHJK9AXEG1k6pD2u2KI1NSlVXQJS5kFhIP6N3dZ6ocGXsEwgOEFqNWi4hGQwrHmTxKQ7sDaScE\\\\\\n\",\n       \"0YBRP9RYTGKAvAKxIafPY0AOxNBMDAgTWNtkcLhPgVWpUOJUOmlOUieqUKMZ0pSaZRCElC/UW+6T\\\\\\n\",\n       \"eVg6MyklN1LyqtmUeWS+DCQfOSGhM85k3+id0+lELhcrDZ1M7YUQMoEbAvcHyOws3bawjnKBUqvd\\\\\\n\",\n       \"DonGKlQbiSnk+g5TUikASYU6R2VwfctEe8w4KdseN+dra4ZOmteWVW0ZFYq7BJ/VEac8nJ4JuhZQ\\\\\\n\",\n       \"2bZMXMogd52HpVV26XLiPtPgdq248hGVRQQmzvdlXhURVlqJpdEpWd8TAsoILIPBYDAYDAbDvoUR\\\\\\n\",\n       \"WAbDHgEEUplqa7akGA9oI0VMSGIK15P7cC8Y+Mt7kllJcj3lC2ZmKn1ElM5CQlwROCWs6xn3mDPg\\\\\\n\",\n       \"Af/EREDV6ijFYzWqMHHAG5GNBNtgln3UZyHU9kEUDR3i7svA0gQWVFfumBq1AlagBVQXhAUUN5K4\\\\\\n\",\n       \"QEYSbl+SW9gHnsaXgZUSPpKc8BFYchnt6UOo2jHOtanMZ6vXY2q1wpyCCkSU+4aOnDWvJ5DCcXJW\\\\\\n\",\n       \"PW5GNFtPlRakUVPVKlXHKhTzSiPrEJLl09ZBX9bZbNpaZp/J8H65jgwsJit5RsmwSq1OSI1dRLuy\\\\\\n\",\n       \"9uMi7aH8TJx3hlvn7bwf7c5WQ7SvJreSRFoGGyoDS5bmEAotrFOBSksQfHNCNhkZZTAYDAaD4RGG\\\\\\n\",\n       \"WQgNQ8AILINhn2dhyUwrvawzsWTmFUgrfEpVVTBAgaVD3ZvdZVbSNJtpXhZUOm5PZi2TCiyp0mGO\\\\\\n\",\n       \"QLr8GCnZkV7AiWEqIbXjClVYlVVtpeocJIxLJQ5YMklgyYv7/OzSRijzr0BmeAgstgom1Rq1KaJW\\\\\\n\",\n       \"O6Q6k1f1NAdMk1QgJ2TulVRZSdIKJJ5U5qSPw5lI0jIo1Tk680jOQoh+4lNgyT6o89G0pZCrMc3H\\\\\\n\",\n       \"ajRYkZVXYKFtIWSTWWcgsbBNTBiYE8px3pZryhYTWRHF8QhFcYVCKOOk3062Oy4gZ5vUVlHZ1tJC\\\\\\n\",\n       \"KAksqO+08i6zhnbCmJqdyD1/o9lTXUkCEnZRqaiT4exaWScJTlbV9XKvQFC1PSHuRSos+Z7rQHet\\\\\\n\",\n       \"shqUeTVX+VdmDTQYDAaDwbCPMRf/n2Z/wsx7GIFlMHh/OfdGDpbcJr/Hl3mlc658tiGfOktaCmG/\\\\\\n\",\n       \"4+tEBZlYLUqS0JFOQZA4NRJcWoiW0llIDNgNpWCmZy3rLbeqAXVGYkpqMcVx5HKyuFC7RQFIDElg\\\\\\n\",\n       \"SSuZnoVQQ4d7yxwskBpZDpYjrqIKdeKYOmGFmi0mdHpqGihxJImhrYEy+0oSWVpk1BMbJa7kyQ2f\\\\\\n\",\n       \"vQzqK20HS4YgsEBGxtm5aQ6WPFeGsbNVFLNPSpsg7KFytkkZ1g/rqGyKfnKLrx05G2nC7VzlDK6Y\\\\\\n\",\n       \"gkqTAqijpNpOM2G+sH7d3mhfaR2VBFYcU+LWY+pUmLyqUItD+Zv5tpRkJOyCsj119pnPHtqzhspA\\\\\\n\",\n       \"/iLLYJmV0FeK3vuy7CvdZyz/ymAwGAyG/7+9MwGyo6re+HlvkglLwr4GEggRBASDEBPZCpVIQIoS\\\\\\n\",\n       \"V0pRAmgUiz0sAiKLUsQFMIAooLKUSIGIuIEIIqAoyCJasgRkCVBCArhAwL+Zybz+17mdM3PmzLnd\\\\\\n\",\n       \"/ZaZt32/qpfpvW/3uXnv9fe+cy4BADoKCFgAjEDEo3prYdnj5KUb6mNYZ41OFdTH16lEPWpepuV8\\\\\\n\",\n       \"ImzIMfWohCUaGODi3+kIc6n7hpeNHMVOj1Qn6YTykpRC1hEk5UzSzvjBf/z4cdTbO45Wn7galSsr\\\\\\n\",\n       \"KeGC16rKeUkOYgWsmCvHSytbJWok2o3FBdp55MWEXTjDRQid5WYFKk4l044bdurItVh3lj2m1Lwa\\\\\\n\",\n       \"GNDChqSO6TSx/gwnTRYiXmkR1PaP4W6egYFxIaWQHWEymqDWkmzWpk411PqizOt67JKdKfHv7S3T\\\\\\n\",\n       \"hAkTqLd3AvVMCHd/yIE1MEAlXfeqSLqoFiq1gFUurxKslAOLBxMoj0vFSTUCpC7OroVLcWNZ551X\\\\\\n\",\n       \"yJ+3TfdLVgliIl71R0Yd1KmiWrDUQpYVtnQKoe0PRfsHZTi2vHXVoI8DAAAAANAYSkkSXvUeA3Q2\\\\\\n\",\n       \"ELAAqJuhmkPZ6+0ocvIgKu4oLUDIsfSDoq5zJOKU3k9EqZJy9Ai6oLwg509FtiRhB9Z46ulJR7KT\\\\\\n\",\n       \"1DItcjC6fBEv54f7NddM52WgOe1ukVJEktmX1nLvoZ5yD40fP57GTVqdypRwC4bcWEUcWOE2jRSw\\\\\\n\",\n       \"WNDgow1wattAifr/l6YI6lEBtTAl6X/acaXFLZ1eGBO+9Dqe5pTBtKB3nyNkVAoWcM9C1zVL0z+H\\\\\\n\",\n       \"+gO/radpg0N9LXVopToRO+7S/mBvsdYMRZiS2Esddl6na6TzdjLY45CANaQnjR9fXvUaR+N6E+op\\\\\\n\",\n       \"rYp1TMCKXrLjwGJnHY+8SJzGWKL+FanwunJgqNSa9FGZ9+I1JEwNj7UIWPo1JIKyeKXj26cELPnr\\\\\\n\",\n       \"vbRwpee1W0v/H9UviWesLpYnWuX1JYhRAAAAAGgBUAMLFAACFgA1UTSV0NbMsumBsW1IiVM2bZBM\\\\\\n\",\n       \"eqE+ni3krusrkRG4yNTH4gfyEvX1jVslaJQGtYIwp0ajk4Lvoj2IM0sXBBeXjoghku3Fy8ePT4/d\\\\\\n\",\n       \"25umLPaUEyrzq9RL5Z70usrj2HmV3o+yc6srIdusRCEjrlSmSlJO9Y/+niBmDFRSMUOXX9K1xL0R\\\\\\n\",\n       \"A0XkkGlbjF1vZ1MJh2peaTeNJ1ro6ZhAoUUM2z9IFfmXGJadPqXTCeU45ZDmxy6svr50vS7erzUk\\\\\\n\",\n       \"mx7KsdTaosRZBC0ROq2QxbFOMwjTmHOsx43jHYnKpfFpnHsqVArtiMc6XAv3uVViXaVUoko/j7aY\\\\\\n\",\n       \"xlriK+1I61MNiZYxAVLHU9e8iqeOcmooC5Qxh5V2X62M1DrTbisvLTCWTqj7CGWkDVoRNC+1UINf\\\\\\n\",\n       \"LgEAAAAAQGsCAQuAqqm2DhaZ7ZOCxyDjsPLqZOmaVzaFLFEPzDq9ULt3JL1QjpvWw2KRQwQrETlE\\\\\\n\",\n       \"zNLChogZWtSQeanVLcKWLoMktbaHShhxvSQeuTAtNC4vXebKIueRDENxD4loJeKaiGrivvGcWFqk\\\\\\n\",\n       \"8gQsXbRdprUw8r//pSmDnDo4MoVMCxYybdPE9KhzVmzQoqVXX01qnOl+pQWMsrOuJxTuH6qPlR5L\\\\\\n\",\n       \"7qfUw9JxFmFI9uG4yT3WqaRarGT3nR4kMDXKlVaJWenoiNKvyspYZdHlsXSmoY2zjrXExwpYdoBE\\\\\\n\",\n       \"LU5KCqHtFyJcpcukrlnMXZUX91jaoBWs7P95r5B77L3DbuM5s/KOAQAAAAAwhjSiSgG+wnQ8ELAA\\\\\\n\",\n       \"cBFhqFzlPlnbe2KWTSP0UgrLqui6/NVihBxbu23EWZVEBA4takg7hj4x+AH9v/8dH2pj6TQzcblI\\\\\\n\",\n       \"KhnPszAhD/s6lUzSBlkQ4FQzLViNKFuksgBlXbiKVSKWntbCiq7XVETY4JdOLROxygpTsp04q2za\\\\\\n\",\n       \"WVrnSvZPwit15PCrzwgXfSq21pFj0wiLClg6HVXEyR7VdyS+sq12dMm2fA3sxhpyYvE1SXF+nUJo\\\\\\n\",\n       \"487TvJ3cN6mBJbFdNQhguE/DhcqhwQO9EmYiVHqx1tO67ppOebQDHUosJXY6ndDGVguXdt2QEysx\\\\\\n\",\n       \"aYJ9alrXv/IELS1Uesu0mOm5sLJSBmWaRjl9sGj9LQAAAACA6kANLFAECFgA1IR+iPOcVEmOuGUL\\\\\\n\",\n       \"vGch23ophOKu0jW2ROSSdmj3lQha/eZYts381sCOk94wlxZ5H0oX064rceLwi6fFdSWCFr/SIu5D\\\\\\n\",\n       \"aWUyYKB25sjIhiJoWDeOCFmhpclwUcMrPi4vPreu4xRLM9MOHXHp6HUyr11ZabH2ASVeiZhh08ms\\\\\\n\",\n       \"kCGxiwkUEg8dE12UP9wRJ21QamBp8UOELYm5iFxpnLlWF6cTVipp6iXHRzvqvNhKXOX+SG0zESr5\\\\\\n\",\n       \"JcKWxJkFLnFcyUsLWHmxTvvhUNtEQJV5Eauk3Tpd1P61sbXi5EhXHv9fSJRgZWteebH3Ukft6JM2\\\\\\n\",\n       \"pTSWQqiFpqTKny5jri5v37zjAwAAAAAA0DwgYIFRYcWKFTR79mz661//Sg8//DDttNNObXqns1L9\\\\\\n\",\n       \"vHU2fVBPa6HBSynU83adrXNlhS1d9N2mFOqaV+Ss0zlbw11nnEqYphSmNZZ0CqE4ZERUsGlm4s7i\\\\\\n\",\n       \"l0yLaCAix6pBAweFDBGw1CBzw8SMWGqZFjLsCIlyThGwYm4sEaU8AUvXuRLRY+VKLoqeUKXijTRo\\\\\\n\",\n       \"RSubMqZdN55gYfuBRjvzpH/oaREtPSFMbzPUx9L7xXFmoTKN/1B64fDYWgeUiFvi3JLY2ljraS1c\\\\\\n\",\n       \"iXAZSxUd6ovDB6mUGEsbJMbaMaZrn9l6WDqWEltd82rIucVx5ppXSYG0QRtn7bKzQpUWmmL9wKYO\\\\\\n\",\n       \"enGMpRza2Ns+5fWvPHEMAAAAAGCUCF9b6vy+ga8rHQ8ELDAqnHzyyTR58uQgYLUvWgyoZh/KEb3I\\\\\\n\",\n       \"EbJ0yqInSOlUP1vAXRdr1+e2heNtIXfBqgbDUxE5xYyFGnZhMaFA+iphQ4QDcb5ICqE4n3heRqrT\\\\\\n\",\n       \"tZB0DSwzqNwg1pXj3s2IA0sLWFbM0g4sSQXUNbJkWqeSDa1LBqfTUQYrkdSxlRlF3LWIYdPAdB/R\\\\\\n\",\n       \"aX8aXbNMO69EjBTBQwueniAipPNcDD0doTCNcyoGDaUWinsu7QPDR6KU2IqYJbG0opWetg6sPLFS\\\\\\n\",\n       \"2iR9j7GDVtoaWDa2nljppRemglcSptOi/DrtT6cQDkSES1lnU0StuGVFTC1I6fVDcRq+bSylL+/b\\\\\\n\",\n       \"W5H0Qku9RSkAAAAAADLAKISgABCwQMP51a9+RbfddhvdeOONYbqzqUawsnW1RLTQgoSugyQjy8W2\\\\\\n\",\n       \"0Q4swaYp6raVI8KHbMvnGK/m5cVvE+OCQPDmm+MG08FYrBCRSupe6TRBqW/FAoGkDfJL6h+J+0qE\\\\\\n\",\n       \"KnFk2eLteQ4sEa3ClSVDThxdD0uEDC1yWAHLunRsChpfRyqgVJw6V1muHImzduNUMgQsmy6m+5Cu\\\\\\n\",\n       \"eybxlNEGtSiqhU75K22SlFJ56ZTDdJTC//u/XurrK4eYiHglIwvKXy+2UhtLi5M27jr2EltbA8tD\\\\\\n\",\n       \"F+zXwqXEVWIrsddxz4utiFm69lnq6tOClTethSpJ0bT9QJbZ0SltemHMiUfOek+8soJnVjrqiLuL\\\\\\n\",\n       \"nywBAAAAAEDLAwELNJRly5bR/Pnz6ac//SmtscYaXXp380Qtu412XGUJYTqVUDszyKmBJceybVlp\\\\\\n\",\n       \"5scZ548d8XB4ezmNamCgTP/7X1q/a9y40rBi2jpdT5w5InqI64rFARGttJhl6yKJiCWIG8sr7K3/\\\\\\n\",\n       \"6vbo0fG0wCHTWrjQKWda6Ein05HnUteVdt9Yl5UIHLogt00niwkRnnBBjmCll+t+YwUrvZ8IlFq4\\\\\\n\",\n       \"9NLRhgTRSmVcGKmQa2NZoUjHVtJDrQNLC5QiYmmRUqcNWrFST2vHlR2J0BZyF0eWjr2Ob54bix12\\\\\\n\",\n       \"PKJkpeLFWjuvPLHS9oUswcq6sjzxytau8tDOTO//bWwf+OsBAAAA0GLIb/31HgN0NBCwQMNgcePQ\\\\\\n\",\n       \"Qw+lI444gmbOnElLliwpXC+LX8Lrr7/eYlHRwk7RbZIq0gj19okzLeutKBGbF1FMOzJsXa5SRjph\\\\\\n\",\n       \"dlF6FjRS9xWnm6VpZoykEOo6SeLgkfpXung7/5VlXiqZTR/U89pxpV05ImTYQu5azNDLxGkj0yKA\\\\\\n\",\n       \"yDynkfGLhQ0/XSwmWugUQS1ayT5UoAbW8Ps+UnTQfUSLV3JsiaV1cWkxS/dB3Y/knqaxTmtjpS+5\\\\\\n\",\n       \"zxwPna6pRy/UApYWrqxQKemjVsDyYq3nvdRRHV9dzN2mFNpU0SEnHouUHGstPHouq1i8s0StmHhl\\\\\\n\",\n       \"0wVj8/olfcETIO06D1+czgaCFwAAAABGF4xCCIoAAQvkcsopp9DXvva1zG0ef/zxkDa4fPlyOvXU\\\\\\n\",\n       \"U6u6qwsXLqSzzz67hSOhxYBa0wi1yJCYkQPtttY5o9ME9bRdp10Y41T6oT6PCBe6XXZe0gYFeTjv\\\\\\n\",\n       \"HZZq2N/PDp2eIDbI6IT9/ezKGl4Xyda8EveNdWGJoBHu5CpBI6sGlghXMi3Chi7srZ1hUsRdu7PE\\\\\\n\",\n       \"YTW8wDuLGCJm8QiDIjxIiphXsLtoMe+Y48oKFkXQ7j3pn3pax1L6ie6Hur9ZB5Z2+42nlSs5hbQc\\\\\\n\",\n       \"HFlDsS2NKNQuKYQiUOn0Qu2u0w4sWa7jHkMEK4m7TRXV4qSuz2ZrYg2lF/LogqlYyeLVSKFqwEkX\\\\\\n\",\n       \"tSKWdWrFXvq+WideTMisxqkn8Qz/I/T/lJx+lNff9HsSAAAAAAAAzQMCFsjlhBNOCM6qLLbaaiv6\\\\\\n\",\n       \"7W9/S/feey9N4IJICnZjHXzwwXT11Ve7+7LgtWDBgmEOrClTpnRAZMQNVapi23LkYdS6pHQKYclx\\\\\\n\",\n       \"4chDsnbkUMS1IWmHPeotQTuGelRx8N5V0ytX1cvi9DKumcSCVmnQXSXChcxbJ4515FgHlq6HpF05\\\\\\n\",\n       \"WrzQ6WThCk0Rdz2vC7pbl5VNf0y34xSyLIeNFi9sjSNvXZ44IeKJjk0Wul9JbKyAJdMSY6l1VVb7\\\\\\n\",\n       \"6NhKf5F+IK+0bemIlGm8y+XyYFz5fkrc+L++xJb7ADudYgKWrXtl00ZFzNJuOx1nr3i/FrC8NEIt\\\\\\n\",\n       \"XA6lliaUJLYge0WJVzFxUtxZOs56xEGdSqrdV5WMOmhZYpbXL2JClgdSBwEAAADQwqCIOygABCyQ\\\\\\n\",\n       \"y4YbbhheeVx00UV0zjnnDM6/+OKLNHfuXLr++utp9uzZ0f1Y8LKiV+uR57Iqso2XOijY9MPYepsq\\\\\\n\",\n       \"pOsgidjkpQ9qB8VKJ4VQW51i6YuCiB5DbUjTyrheEo9amLp0xo9P3VjakeWJV3oUQp1WZgu487yI\\\\\\n\",\n       \"VYN3yhGwJJ1MpxR6Apa4rtLpNH2MhatKhQUNT5QSQcKmEOqUM895FSvAneW+ynO86NpXIlpqh5+e\\\\\\n\",\n       \"1mmjNpZ6GzmGFkW0iyttJ6cKy2iF8renJxUv+f5KTPl+eyMPckx12qgVsIZdpYm5ThnV6aIynyVi\\\\\\n\",\n       \"DQlZHGsRKaXWlS7ArsUsryi/nrax12KWFauskKXFq6x0QRsn7/0htk8WRVMHkT4IAAAAgDEAAhYo\\\\\\n\",\n       \"AAQs0DCmTp06bH7ixInh7/Tp02nzzTdv8ztdVMAqul4LT1bY0qlhWcfTKYTyV5w31rVlj7NS/fe3\\\\\\n\",\n       \"62IClnYKaadWKpZw0e/UkZWMSDWTYt6SVhZz4mhBi8kbhdAKWJ77yquFlW7H7Rxy4YwUI2KuKs+B\\\\\\n\",\n       \"FROvYiIWGSFDp2kVSdnSfUnXP7M1sGS5jDzoCSFWwNKCxYDr1mI3FjuxUudaeVCY5HteLqdilq55\\\\\\n\",\n       \"5rntdOyrjbUWrGLOO50uqlND03pmOi5anNQpglbE9NJDs9IFbd/Ic+AVjXvMTSlUGihiQcACAAAA\\\\\\n\",\n       \"AACtAwQsAEYVLQ7kpQ3qbUXESpSAoKezxCl7flJpbGUjPmknlYhTNrWsx5nXThNJKUwFLElDW7mS\\\\\\n\",\n       \"RaweKpXGDXPicMHsmBMnllYWw9ZDyhI2tIA15OQRQUKuPSZWJI6IpcUJmU/MdL+THmYFDDJ/Y8KE\\\\\\n\",\n       \"xLrkiJXSh6yQqV1VkvapRywcUH1Cx1jWSTqhxFnmdZ9gIasUBK2+vjTWEludOhgTKm3ds2hPLpAu\\\\\\n\",\n       \"GnfesatOC0n6r5f6N1BwXZKTOmrPpYXMIqLWgDNNEbErK50wTxgDAAAAAGgycGCBAkDAAqPGlltu\\\\\\n\",\n       \"GdKNOoekQF2repxaMfeV56yqVsCy8yJUyP7y4KxTCfXDsriutLAhqWUigmgxRNISe0J9IRY3eAS7\\\\\\n\",\n       \"dMRCLvxeijpx6nFg6ZQyPVJdWucoTX9LXzadS8QBXf/IihxWrLAilVf3qmj6IEUELI+Sk4o64Dix\\\\\\n\",\n       \"9LTuT1LnSgRNieV4dRwtVIo4qe+LCJUiiKXzLAhyCmmpxOmkXOS9FKYlxVDXuapWrPQcWHHnXXrv\\\\\\n\",\n       \"U+FKx8YKkjbdzyvOrmMZc2AlkX5SKShe5bmykhwX1oi7Fb+Rg+uztomlKgIAAAAAjBL2N/pajwE6\\\\\\n\",\n       \"GghYAFSFfqCr5h1WxClvfy+F0HPe2DQx/YAp7/gV5/i6HpZeLmlltnh8STludI0lOaeIHzJvBRER\\\\\\n\",\n       \"P4aLXUnC9bHS47GmUCqxuMFCVipm8blScUPmhzty9LQWMvQrFSzSdqW1mmjVXxEybGqXJ2TFXFae\\\\\\n\",\n       \"S8sTI1bmCFaxZZ5wFesHMm0FTRsrry6WxEgESb2Pja3uj1YYszEXEZNFSxazUuGsVOLYs0MrjSvH\\\\\\n\",\n       \"V2LNsRdBSxdw92KtpyWuEutUuBJxMp0fKRh5MYyJlbGUwNh+WgSNpRB64pWNvydceS/dN6zQ5M1X\\\\\\n\",\n       \"A8QrAAAAAADQmkDAAqBqanFZefN62gpIiZPip4UEnUpm6x7JE7+4afQyfY4B57iyTj9g29Qy/XCt\\\\\\n\",\n       \"XVc2zUzEMT2dtofdOUOuILnGoRpMXjoZp6NZ942XSlhMMNIuKc815TlzrLPGE8C84+a1Q7c7KfAT\\\\\\n\",\n       \"ku0rWc6rLAFK3/MeR+iS9nn767RE7cKTeA+5vlLhUo+MWMqNtXbhcQpgfqzJiETevdZx8dJDrQCZ\\\\\\n\",\n       \"57zT63Uf0H1IL4s5ruz/KStoDrt6NZ1EHFl2v7x5C5xXAAAAABh7SkkSXvUeA3Q2ELAAGDOXlnXL\\\\\\n\",\n       \"kLPOSxPUD5TlSNqYdd14bZHjiNiknVdlR6jQNa9EpKpEBCtxWq10jj8uIl540+k9Sx070q5VV2uN\\\\\\n\",\n       \"ZCPujZ6WjT3BSAsEkv5Xcea9ulaeg0ZvlyVgeWJWEQHC6yvpfRoSInXdtJhYZKd13CVFVIueEndb\\\\\\n\",\n       \"V0ufb/yq67XztgaXniclWupYD/V5P9YUuU+Vgvc7FicvHTAmaNm/WjTzjl+pMm3QildW5Ixdu0dM\\\\\\n\",\n       \"zMIXOwAAAAC0IKiBBQoAAQuAmtBCT9529YxcaN1WFBGo9Los545+kBYRQea1sGFFIXHoiIill8kx\\\\\\n\",\n       \"RajSopdNc4uJGlqw0+2wf+29s/fAulKKOKA8YcoKUUVqGHniVkycSCLt1ddjp+190PdLi1ryN8t9\\\\\\n\",\n       \"JdMSJ+2+0o4sccjJOp1SqtNF9XxMONPLxFY1XLgsHmtP9MsTK2MphVqsiq2Lue08h5XnBLP9x+sf\\\\\\n\",\n       \"nthcjbBZ7/o8QQx0Kpdccgl94xvfoKVLl9KMGTPo4osvplmzZjW7WQAAAAAAI4CABUDNFHlgLGUs\\\\\\n\",\n       \"K7LeEyOKOC6sSKLFDnFLaZuLTTfTwpW9Xu0CE8FCixDyUG5dQbJvTNjQAoYVasoFHrY9Z4oWLooK\\\\\\n\",\n       \"WJ6DJst1pdfbY3jn9+Jj2y/X4KHddlrYtA4+G1fZRwtWOq5WlNVCVxJx7GnRKk+clJpqVrSqN9ZW\\\\\\n\",\n       \"LLKxlf1jAmQstt52Xn0rT7yKLa/2ZeOTJW5Sles9IF51G9dffz0tWLCALr30Upo9ezYtWrSI5s6d\\\\\\n\",\n       \"S0888QRttNFGzW4eAACAbqLCRXKT+o8BOhoIWACMOVok0M4XLRpp0UE7mOThWItGchztdhJ02pc8\\\\\\n\",\n       \"UOtUMe2m0aKHl1Io7isrXMTmdQphEcdVOUPEyHLl6PtqBSwtYlCG08YTt2I1sjwRzNY/ssf03FZ2\\\\\\n\",\n       \"XveHvP5DkXuo42NTCiXWso2kiFoRygqQOnXUOrAk/VDHVjuyrFA12rGmnHh6QldW6p8VtIr2CU/k\\\\\\n\",\n       \"zBLXvHbra/eEKduvvT4CQDYXXHABzZ8/nw477LAwz0LWzTffTFdccQWdcsopuH0AAADGDqQQggJA\\\\\\n\",\n       \"wAKgLnQ9IA952LTrtShlt9MilBaybK0jMkKA1xY9LcJDvxIvRKCQY63MELQkTdCKHFrc8oQqXSPJ\\\\\\n\",\n       \"c1+R4+4RbHqZvff2XltRQ09nObDsOhGiYsJULB3NE7B0OyoZ7SwiXll0eqm+h3ZelmnxUPqWl/ap\\\\\\n\",\n       \"+4dsp9MNbUpokfRQT7SyDiwyrj8dW7kGfT3ePfTimTVtRapaRcyVkf6Rd/6YeBUTNj13lr5PMedV\\\\\\n\",\n       \"Vt/S5wLdQl9fHz300EN06qmnDi4rl8s0Z84cuvfee5vaNgAAAAAADwhYANRNTKSy6+02ej8RBexD\\\\\\n\",\n       \"phWy7D722PpBXzu4yDhtrJNKttOjHtp1Ng1QP3TL+a14QUYY8YQNmzroLYvdV+tM0S9ZFhOwstxS\\\\\\n\",\n       \"5KSL2f112qB3HrvMrrPt10JMUbQYJMfT91mOae+pCJIyLfuKg0qmtUtP/9X9ICtN0MY9K9ayPFbB\\\\\\n\",\n       \"3RNxYstsnCVOlCFg2T4g++j/A3ZffcyYOJYlkuZdi0zbe+Ct90SqmNAVu6+gm3j11VdpYGCANt54\\\\\\n\",\n       \"42HLeX7x4sUjtl+xYkV4Ca+//vqYtBMAAEC3kOihpms/BuhoIGABMOoClmwTS43y3FZ54pZNL9Tp\\\\\\n\",\n       \"XVp8sgKF3seKJ7a2kvy16/SIc3pbz4mjjx0TrzwXVpZw5eG5VmS5N1+t2FBE9NDntu4gb53nILPz\\\\\\n\",\n       \"Om6e4OM5Z0SAEuz9tuskdrptsp3ETk9XMtx0Xqz1uey8dvkVxfblmBDkxU/2yRKV7MiUnmhpxS7v\\\\\\n\",\n       \"HFnCpY6ZXmevMU+kik3b+1X0fgIQZ+HChXT22WfjFgEAABgdkEIICgABC4CWRR6Y9cO9CAtSiF0L\\\\\\n\",\n       \"DbJepxh6KYTafaMFB526JfutjDirYmJFbFs7rduqz+sJGTYVrtoUQrs8S5TSjhrr2Mly0Xiihm6j\\\\\\n\",\n       \"FS6sOGFFKDmmh3cvtBhkY+sJo7Y+lZxPHFCx1EDtqJPpvJhTlUKll0IYc6fpe6TddHqfRoqWlZz6\\\\\\n\",\n       \"WXKP845lt9N9QffrvD4CQO1ssMEG1NPTQ8uWLRu2nOc32WSTEdtzqiEXfNcOrClTpiAEAAAAABgz\\\\\\n\",\n       \"IGAB0BDkATMv5Y2c9dbhJMTcWDItIpbexqt5JA++Ilxp4Uk7YLRgo9MN9bS+zp6cguD6oTvLldPv\\\\\\n\",\n       \"iBqaIqmZdpkWAbKEhTzxSfbx0gStAJElbMn57Xq93F5HlqPGuyc2Fc9Lw9R9youvdmnpeOpYy73R\\\\\\n\",\n       \"7i3Z1hZ0t31MkH6bdx32ur15G0shJhrFhEsb66KClhd72ya7vW0LOYKnvk7PaaWXVWpwVlmXF+g2\\\\\\n\",\n       \"ent7aZdddqE77riDDjzwwLCsUqmE+aOOOmrE9hMmTAgvAAAAYFSoNOB7CUYh7HggYAHQMDzxKbad\\\\\\n\",\n       \"XW9dMrHUQTLrtGhmXVieiGVFMJteuNIZBVG3Q6Z1PSxZp1PX9LRurxbdbJtjAlY15AlYngBlhYQ8\\\\\\n\",\n       \"0SImXtllMYeNndd/bZtj12hdWNZxJ/fT3l8RmPR6OV4SSTfU67yUQy2C6b6Y5a6LibnVEBMJbR/w\\\\\\n\",\n       \"BCW9LmvUSCtMWaFLn9/2B3vuWP+x7bbXEltn74O9NxCvQD7sqJo3bx7NnDmTZs2aRYsWLaI333xz\\\\\\n\",\n       \"cFRCAAAAYMxIKumr3mOAjgYCFgANJe/BPCZy2f2syCUPpJ64pI+nnTT6gd06aKyQpdfFHDxawLIP\\\\\\n\",\n       \"1j0ZrjJbk8kT2qwoVgtJFa4cwYoXVMBtQ1Wu08f02hMTILLwPpz1PdT7yzLtjrKxtqJpObIuy13n\\\\\\n\",\n       \"CVa6nfqYXh+olkqOgGXvs00JzVpXRMCy8bQiqLRHt9HrDzGRyl4DRcSrpErxqug2oBs46KCD6JVX\\\\\\n\",\n       \"XqEzzjiDli5dSjvttBPdeuutIwq7AwAAAAC0AhCwAGgZoUseKssZ2+iaWFbI0rWpyHFXlZ3j6Adk\\\\\\n\",\n       \"7cjSIodOAbNihXbiaDFCr1sZqYfkpZbJfC2ihicGeSJBzP0i4oQsi4kY+lyeGBJLCcsTWQTdthje\\\\\\n\",\n       \"PfLETFmu4yJt0jHx6l7JcbzaVrpv6JEHJdY6xlmx1ueqBu8exQShLMHKE6M8R5Y+Zy3CZayPZLmw\\\\\\n\",\n       \"KjmiUy1pgwCMhNMFvZRBAAAAYExBEXdQAAhYADQc7VTJ244KpBNm1cTS21tHld5P2qSFBGmjTT/T\\\\\\n\",\n       \"qWbeuW2Kom2/dfzo8+v1sk7EBJsKqc/tCVox90nswd8TCDw3lp6X9TFxK+beirlqrMiWJTjElmsH\\\\\\n\",\n       \"nF0eEyRj8dPiprRNu67kONJ2T4DS2PNZEUundpadZdXG2i73xEEbkzwnnp62gpTuB1rYtOeJCae2\\\\\\n\",\n       \"XZ7ryrsmb5si98gj5voDAAAAAGgiqIEFCgABC4BRQR4m85xE1QhU3j6yXUzMsOKDPbYVlazQNRBx\\\\\\n\",\n       \"WdmC3fq49kHaq4cl054A4t2zmKjhLdPChOd80ss8J05M5MraJss949XjKiomxGLt7WPdTLZvaUee\\\\\\n\",\n       \"ntapp/o6dSzEWaWP6wlkck2e+8rGO2lwrHXbpR06JjYOWXH0BErbf2ICpm1XTNAssoxqFLhiFBW5\\\\\\n\",\n       \"AAAAAAAAaD0gYAEwaogoUETE8lxYIiLIvBW19HpZJ8vt6IR2f50yJm31xCQv5UyLUNrJJce3160f\\\\\\n\",\n       \"mL06V3pb7dqqFu/B3nO7WHEhL9XLCiKx48RqMek25aWFFbnGLDz3mt1PYiQxl7jqOOt9vILt1cTa\\\\\\n\",\n       \"phCOdqylrfqvnvZEx5hzynNqZaWMxoQxmbZt0cvzBDm7n90uD+/4AAAAAAAtAlIIQQEgYAEwqmiR\\\\\\n\",\n       \"IAsrMOn9vcLc1lmlHVc2Lc+KVLoItxYprCAhD+NadNDH0OfUwgZFRp/TKW5FayHlCRwxASgrVa9I\\\\\\n\",\n       \"zSFdJ4lyHDdFhBPPMWOPWw8xJ5PuBxQREgeUoKn7gAirWmCVUSRjAqRX78rGcLRjLcvsPlmuuJgb\\\\\\n\",\n       \"Sx/fE8D0vHe+mCOMCqzTf2378+6JBWmDAAAAAGhxwteaOr8Tw2je8UDAAmDUkQfcekbX8+pdZaUc\\\\\\n\",\n       \"yrw+d1aqkXVgecKXnFNED+3G0g/SnptMlsfSIr00SO9Y3r3xyErVyxM1rFilt/MErCJChm1zI0Us\\\\\\n\",\n       \"L700FgOKFO+XdtqYeGKUuJC82NjRC2Xa9v3YtdYS7yw3VpZjzhOP9L5e2qBeHusDsX4W+/8Xm4+J\\\\\\n\",\n       \"ntUC8QoAAAAAAHQGELAAGBPkYbbWdMK8mliJqTWVVTOpkuOEsQ/83qiH2k3ltSsmpMSuQZ+nEeQJ\\\\\\n\",\n       \"WFSFEFXNtjEhI9aWGHnrYymnVEA00uKTntbb2+U21jZt0JvWf/NEm3rwBMJY2p4nSHqxluVZcS4i\\\\\\n\",\n       \"VHl9zusPFk/gzNomRj3CKAAAAADAGIIUQlAACFgAtEw6oRUg7LrEKbRNGWmDer2XiqiPUS7gwKJI\\\\\\n\",\n       \"raSSs1yfTxeCF8pjLGBpAULmizqyqEpHj7ddNQKEbatHrO6UFozs6H562ou1F1fbd8ipi2a3tce3\\\\\\n\",\n       \"ji+931jEmqpM84zVzUqqrHNl98vqEzGhqVKHMAXnFQAAAADaiIqtLVrrMUAnAwELgJYj5l6ijFRE\\\\\\n\",\n       \"64KxaYO6aDaZ9L9SZHQ6jSdQ6HN6y+0yfSw979X4qhfrkqHIvCdqefvmuayyHF/6+I0SGbwPZytc\\\\\\n\",\n       \"6uV6Hyui2tjo7bw+mET6QEwItcePpYvWiheDWOxt7PKWe8fyBC4qIGhliVfUYPEKAAAAAACAzgMC\\\\\\n\",\n       \"FgBjjn3oz9pOsCmDpZztYiKUFqy8Nsl+WsjISknTgoQWT6xAZo+jRTrtFPKutwhZD/SeOKHXWQEk\\\\\\n\",\n       \"a5uiLhrvXF47iwgZeRSJuRVFrUiVl1aqXXg67rEi/frYWamE9hqKkuVe02327q8VLouIk0X6Q7V/\\\\\\n\",\n       \"7f5Z11dt34DABQAAAIA2AymEoAAQsAAYU+SBtafAdkXTCe0+nitK1ntihxabsoQMb50+Zslxe2Wl\\\\\\n\",\n       \"qsm5Y1STZlaNW8UKEkVrKNl9PaHLO1aRdnrbFkXf47xUPStoxcQqu872Lb3OphPG3GAxR1esHTGy\\\\\\n\",\n       \"7mGeEy7WH2Sdt5/nwPJEqbzYZwmjWdcQO14WsM8DAAAAoM2AgAUKAAELgKagR/HLw4oHgpfqZbdN\\\\\\n\",\n       \"HIEhidQ40g6ZmKtL5j0BZKWzzM7beli6bbHrq4VYal6lhvkswaqoEDaaaWD2HLo/xFINY/Gw+1oH\\\\\\n\",\n       \"la5r5hV+z4o1FRBHmxlrK1zmOfWK7hcr0l5EzMpb520L8QoAAAAAAHQmELAAaBoxJ1VsW8qoSWTX\\\\\\n\",\n       \"5QlQdl6niHlpZbbOUcxpZdPI5Dx5okrsAb3IvSnqWPEEgzyXTKxGVmz7WHuyBIhGiFk2RvZ4Mecd\\\\\\n\",\n       \"OSMM6vVJzjHzYq3rrmXtp9uTRTXupKSKWOcJT1lxLypw1iJQVdM3IFwBAAAAoI2pNOA7cTgG6GQg\\\\\\n\",\n       \"YAHQNJIG1cSyx4ht5wkQ9gHbFtn26hZ5heSTgrWy9LmL1EbKeyjP+5Aq6oDR5ysifGUdJ3bsLDGj\\\\\\n\",\n       \"EQJWrD95zroihdTlOFbopCpjLViXn8UTu7w25a0r6m7KKqaeVT8rdtw8QSvW/jzxrQiNEEEBAAAA\\\\\\n\",\n       \"AJpHklTCq95jgM4GAhYATUen8OWRJXbZlC/ZPubA8Qqqy3FiooNMeylkcnxP4IoJXnLMaot4FyGv\\\\\\n\",\n       \"3lSWw0YfI094qrZmUa0jD1abRhgb3THmhCvnCEpWsJJrz3LoeccbjVjnuZjy0gdj22W5srxtYrGt\\\\\\n\",\n       \"Ruj0jptFVh8EAAAAAACgc4CABUBLIEJAI9IJbYpYTMDQD75eWqGX6mWFNp16mFdrKdZmO1pdI4gV\\\\\\n\",\n       \"Yc9a5okARYWOPBEs7/xZy/OI9YOYQGVFzCLCZVb7POEr1i6vCHy9yPXUG+tG1K+K3S8rcjXKTTUa\\\\\\n\",\n       \"YigAAAAAQJOKuNebAsjHAB0NBCwAWopY3SlLTJSy22QVYI/hpSLqfbVAZh+2PadXVhtt2xohYuUJ\\\\\\n\",\n       \"ANUWVq9GHPGWF00XHO0P3Cwh0y734uoJmt62lCFSaaFnLGKdF7tGCI4xAavIvLc8rx8gXRAAAAAA\\\\\\n\",\n       \"HUgQnyBggWwgYAHQMnhCUJHtRUTw6mLZY8XO4Tm3YufMEz5iRbrzHGZJnc6cLFGi3tStogIFFUzn\\\\\\n\",\n       \"aqRY5R2rVKBdPQXEq6w6ZXkjHebdY33sWqnU4VDKi2lWf8pK20saKKZVcxwAAAAAAAA6GwhYAHRM\\\\\\n\",\n       \"SiFFRKyYw6lIKllPxnli6YUxQSVR6WUe9TpyskQFb1tqkBOriFAy1oJDzEEVS/WLpZvK+qx0xBhZ\\\\\\n\",\n       \"sdbHqVfAKnJvs2JTTTroQJXxrdUhFgMpgwAAAADoUCoVolKddT1RxL3jgYAFQMsiD9dFU+vkYTi2\\\\\\n\",\n       \"fZ7LynNs2bpIejtNnuuqHpGhWqp1stSSCpiXZlbttdRbhLseodMTcWqNtR3FMous9MPRuG9F3Fje\\\\\\n\",\n       \"fLVOqyLtqva68/oqAAAAAECbgxRCUAAIWAB0VFph0X3sNnkPxl5B71rak3V8avBoakVFs1rqEhUR\\\\\\n\",\n       \"rIouawSx45ZqjHetsa62xlrSBrHWy6rpE1nngXgFAAAAAABAtUDAAqDl8ZxRRfbRYkKsPlbWuli6\\\\\\n\",\n       \"YV56YbWiVFGHVrVUI5DkpXk1qq5VswSsrG2L1MvSqX71xLqRI01aGpE+WuQ4RV1csXXV9gE4rwAA\\\\\\n\",\n       \"AADQ+SSVCiV1phAmSCHseCBgAdAW6PpRResGFREqYmmCRfYfyBC0ZP8sYWU0XFeNErOqFTGyamM1\\\\\\n\",\n       \"k1hqoCZLkMo6Tp7AqY81Gq6rZsTaHreosFmLaNXsvgMAAAAAMIYghRAUAAIWAG1HUuOIfUWcXLFU\\\\\\n\",\n       \"s6xR6ISsukh55xptPMGp2jSurHlveS3XV+0+1TqapKaa3b9o2l+1glWRY48VRWOel/rZCFdfFhCu\\\\\\n\",\n       \"AAAAAAAA8ICABUDbkTSwDlXR1EJPvLLnr0cQanRqWSPT+aoRPhqVslhvvamiImVs2zxXVlJlu1ol\\\\\\n\",\n       \"3kVrf9Uan0YImK0i+AEAAAAAjCGVhKiUNMDFBToZCFgAtC2VKtIJa6mpVclwUcUe9D33TZEPEhmt\\\\\\n\",\n       \"sFHUKgRUK0LV8yFZ7wdsLeKVdwwrWuaNYJm3bZE6WI0UsLJGF2xGrGuNK9IGAQAAANDFBPGpTic6\\\\\\n\",\n       \"BKyOBwIWAG1NJaMGVTUP5XmpfkVEDr29pTTGD+9FnTbV7Fdr+8baVVON2FRk35iwmOfCyjpHM0ab\\\\\\n\",\n       \"bFUh09aSAwAAAAAAAHhAwAKgY8hyTBUhlj6YtZ3dvl5HUiOcOY1yytTjpGnEcRpJLaJibN+8VMKs\\\\\\n\",\n       \"1MZ2ifVo9Q29fyv0CwAAAACA1iCpJJTUmUKYwIHV8TQyZwcA0FTkobiWlCrZV6cG5tX6sfsUPX7s\\\\\\n\",\n       \"1QiKnKfWNtd6zlah1naORqzHOubVHiNvO7tPte2ttGD/AAAAAABoIkmlMa8queSSS2jLLbek1VZb\\\\\\n\",\n       \"jWbPnk33339/5vY33HADbbvttmH7HXfckW655ZY6LhpUCwQsADqSWusCUY0iQ8V51fpgX8+rlmuO\\\\\\n\",\n       \"nbfovq0qWI1W20f7vo9mvBsZ61qQ8wMAAAAAgGZz/fXX04IFC+jMM8+kP//5zzRjxgyaO3cuvfzy\\\\\\n\",\n       \"y+72f/zjH+njH/84ffrTn6aHH36YDjzwwPB65JFHxrzt3QoELAA6Fv2w3ohjVCsY5AkUYyX2NFIE\\\\\\n\",\n       \"qed+tDqjGeuxEm2SFo11J/YXAAAAAIAGpxA24FUNF1xwAc2fP58OO+ww2n777enSSy+lNdZYg664\\\\\\n\",\n       \"4gp3+wsvvJD23XdfOumkk2i77bajr3zlK7TzzjvTt771rQbdBZAHBCwAOpbRSttq1PGSMXq1wrXW\\\\\\n\",\n       \"cq6xTMMr2ibq4HiP9v+TdnPoAQAAAAB0bgphX18fPfTQQzRnzpzBZeVyOczfe++97j68XG/PsGMr\\\\\\n\",\n       \"tj1oPCjiDloOKb43MNDX7KZ0ILUWeB+r47UaYyk6VFr8dwjEujogWDUa+UxAgdbWQOLw+hvtmxa7\\\\\\n\",\n       \"MulvdhMAAIBef/31tm97Iz6bV1J/3V+7wzFUu4QJEyaEl+bVV1+lgYEB2njjjYct5/nFixe7x1+6\\\\\\n\",\n       \"dKm7PS8HYwMELNBy/POf/wx/Fy++qtlNAQAA0IKfEWuvvXazm9H1LF++PNyDLXZe0sb34plmNwAA\\\\\\n\",\n       \"ADriM40/E2q9jt7eXtpkk03onqWNKYY+ceJEmjJlyrBlXOPqrLPOasjxQXOBgAVajvXWWy/8ff75\\\\\\n\",\n       \"5zviDb0W+FcDfuN94YUXaK211qJuBPcA9wB9Af8fNK+99hpNnTp18DMCNJfJkyeHz6hJkyZRqdR4\\\\\\n\",\n       \"J24nfAa0+zWg/c0HMcD9b/X+w84rFq/4M6FWeDS/Z599NqT0NapN9nPJuq+YDTbYgHp6emjZsmXD\\\\\\n\",\n       \"lvM8C2oevLya7UHjgYAFWg7OPWZYvGrHL3yNhK8f9wD3AP0A/x/wnjDyMwI0Pw6bb775qJ+nE97/\\\\\\n\",\n       \"2v0a0P7mgxjg/rdy/2mE4YBFLH6NJez82mWXXeiOO+4IIwkylUolzB911FHuPrvuumtYf9xxxw0u\\\\\\n\",\n       \"u/3228NyMDZAwAIAAAAAAAAAAEBXsWDBApo3bx7NnDmTZs2aRYsWLaI333wzjErIHHLIIbTZZpvR\\\\\\n\",\n       \"woULw/yxxx5Le+21F51//vm0//7703XXXUcPPvggXX755U2+ku4BAhYAAAAAAAAAAAC6ioMOOohe\\\\\\n\",\n       \"eeUVOuOMM0Ih9p122oluvfXWwULtXNJGO7932203uvbaa+n000+n0047jbbeemv66U9/SjvssEMT\\\\\\n\",\n       \"r6K7gIAFWg7OUeZCe16ucreAe4B7gH6A/w94T8D7YjfTCZ+D7X4NaH/zQQxw/7u5/4wVnC4YSxm8\\\\\\n\",\n       \"6667Riz76Ec/Gl6gOZQSjEcNAAAAAAAAAAAAAFoYVEIFAAAAAAAAAAAAAC0NBCwAAAAAAAAAAAAA\\\\\\n\",\n       \"0NJAwAIAAAAAAAAAAAAALQ0ELAAAAAAAAAAAAADQ0kDAAi3PzTffTLNnz6bVV1+d1l13XTrwwAOp\\\\\\n\",\n       \"G1mxYkUY2rVUKtFf/vIX6haWLFlCn/70p2natGmhD0yfPj2MqNLX10edziWXXEJbbrklrbbaauH/\\\\\\n\",\n       \"wP3330/dwsKFC+md73wnTZo0iTbaaKPw//6JJ56gbuarX/1q+P9/3HHHUbfxj3/8gz75yU/S+uuv\\\\\\n\",\n       \"H94HdtxxR3rwwQeb3SwwirTz+9/vfvc7OuCAA2jy5Mnh/ywPsd5OtPv773e+8x16+9vfTmuttVZ4\\\\\\n\",\n       \"7brrrvSrX/2K2pV2fO8/66yzQpv1a9ttt6V2op0/d/i9095/fh155JHNbhoAdQMBC7Q0N954I33q\\\\\\n\",\n       \"U5+iww47jP7617/SH/7wB/rEJz5B3cjJJ58cvgx3G4sXL6ZKpUKXXXYZPfroo/TNb36TLr30Ujrt\\\\\\n\",\n       \"tNOok7n++utpwYIFQaz785//TDNmzKC5c+fSyy+/TN3A3XffHb5o3XfffXT77bdTf38/7bPPPvTm\\\\\\n\",\n       \"m29SN/LAAw+E/wP8UNZt/Pvf/6bdd9+dxo8fHx5CH3vsMTr//PPDDxqgM2n39z9+n+I2swjXjrT7\\\\\\n\",\n       \"++/mm28eRJ+HHnooCA7vfe976QMf+ED4DtFutPN7/9ve9jZ66aWXBl/33HMPtQvt/rnD/Ubfe/5/\\\\\\n\",\n       \"zHz0ox9tdtMAqJ8EgBalv78/2WyzzZLvfe97Sbdzyy23JNtuu23y6KOPJvzf9uGHH066ma9//evJ\\\\\\n\",\n       \"tGnTkk5m1qxZyZFHHjk4PzAwkEyePDlZuHBh0o28/PLLoe/ffffdSbexfPnyZOutt05uv/32ZK+9\\\\\\n\",\n       \"9kqOPfbYpJv4whe+kOyxxx7NbgYYQzrp/Y/ft2666aaknemE999111237b5PtvN7/5lnnpnMmDEj\\\\\\n\",\n       \"aVc67XOH+8706dOTSqXS7KYAUDdwYIGWhX91ZftuuVymd7zjHbTpppvSfvvtR4888gh1E8uWLaP5\\\\\\n\",\n       \"8+fTD37wA1pjjTWa3ZyW4LXXXqP11luPOhVOj+RfjufMmTO4jP8f8Py9995L3RpzppPjHoOdEPvv\\\\\\n\",\n       \"v/+w/tBN/PznP6eZM2eGX445nYk/D7773e82u1lglMD7X+vRzu+/AwMDdN111wX3GKcSthPt/t7/\\\\\\n\",\n       \"97//PWQObLXVVnTwwQfT888/T+1CJ33u8HvqNddcQ4cffnhIIwSg3YGABVqWZ555ZjCP/vTTT6df\\\\\\n\",\n       \"/vKXwbr77ne/m/71r39RN8A/3h566KF0xBFHhA9SQPTUU0/RxRdfTJ/73Oc69na8+uqr4Uv3xhtv\\\\\\n\",\n       \"PGw5zy9dupS6DU4h5dofbOffYYcdqJvgBy8W87kmTTd/FnBNm6233pp+/etf0+c//3k65phj6Oqr\\\\\\n\",\n       \"r25208AogPe/1qJd33//9re/0cSJE2nChAnhO9RNN91E22+/PbUL7f7ez3XrrrrqKrr11lvD+/ez\\\\\\n\",\n       \"zz5Le+65Jy1fvpzagU763OEafP/5z3/C8wQAnQAELDDmnHLKKW5hQf2SukfMF7/4Rfrwhz9Mu+yy\\\\\\n\",\n       \"C1155ZVh/Q033NAV94CFGv6wP/XUU6nTKHoPNOzI23fffcMvYuxKA90B/wrNzkv+Qt9NvPDCC3Ts\\\\\\n\",\n       \"scfSD3/4w1DIulvhz4Kdd96Zzj333PAr+Gc/+9nw/59r4QEARpd2ff9961vfGga8+dOf/hTEh3nz\\\\\\n\",\n       \"5oU6Ru1AJ7z3c8YEf1fj2l1cv+6WW24JIsqPfvQjagc66XPn+9//fohHN9bRBZ3JuGY3AHQfJ5xw\\\\\\n\",\n       \"Qu6vAGw35qKDjP7FjH9J43XtZEOu5x789re/DSljfN0admOxHbsdfwmq9h4IL774Ir3nPe+h3Xbb\\\\\\n\",\n       \"jS6//HLqZDbYYAPq6ekJ6aMant9kk02omzjqqKOC+5JH9eLCvN0Ep5Fy0Wr+Ei2wM4/vxbe+9a0w\\\\\\n\",\n       \"Min3k06H08etc2K77bYLg3yAzgPvf61DO7//9vb20lve8pYwzT+AclHrCy+8MBREb3U68b1/nXXW\\\\\\n\",\n       \"oW222Sa46NuBTvncee655+g3v/kN/eQnP2l2UwBoGBCwwJiz4YYbhlce/IWDhRseunmPPfYIy3gk\\\\\\n\",\n       \"nCVLltAWW2xB3XAPLrroIjrnnHOGiTj8SxaP0MT27G64B+K8YvFKXHhcD6qT4S/efK133HFHGL5c\\\\\\n\",\n       \"fg3keX6g6Jb02aOPPjqkfdx11100bdo06jb23nvvkAaj4RFZeSjyL3zhC233AFMrnLrEnwOaJ598\\\\\\n\",\n       \"su0/B4AP3v+aTye+//JnKAs/7UAnvve/8cYb9PTTT4eRxduBTvnc4e/MXMOLa6kB0ClAwAIty1pr\\\\\\n\",\n       \"rRXqFvAw2lOmTAkfGt/4xje6ahjYqVOnDpvneg7M9OnT2+7X0Fph8YrrnnH8zzvvPHrllVcG13Wy\\\\\\n\",\n       \"G4mHkOeUB3bbzZo1ixYtWhSK0PKX2G5JW7n22mvpZz/7GU2aNGmw9tfaa69Nq6++OnUDfN225sya\\\\\\n\",\n       \"a65J66+/flvVoqmX448/PjgvOZXjYx/7GN1///3BhdnpTsxupt3f//hhXTtNuP4Pp7NxEXT7ud6K\\\\\\n\",\n       \"tPv7L5dd4JQpvtdchoGvhYU4rmXUDnTCe/+JJ55IBxxwQPjuxj++8nd5Ft4+/vGPUzvQCZ87LNqy\\\\\\n\",\n       \"gMXvpePG4ZEfdBD1D2QIwOjR19eXnHDCCclGG22UTJo0KZkzZ07yyCOPdO0tf/bZZ8NQ1g8//HDS\\\\\\n\",\n       \"LVx55ZXhmr1Xp3PxxRcnU6dOTXp7e8Ow8vfdd1/SLcRizv2hm2m3odQbxS9+8Ytkhx12SCZMmJBs\\\\\\n\",\n       \"u+22yeWXX97sJoFRpp3f/+688073/WvevHlJO9Du77+HH354ssUWW4S+s+GGGyZ77713cttttyXt\\\\\\n\",\n       \"TLu99x900EHJpptuGmKw2WabhfmnnnoqaSfa/XPn17/+dfh/+8QTTzS7KQA0lBL/02wRDQAAAAAA\\\\\\n\",\n       \"AAAAAACAGJ1dSAYAAAAAAAAAAAAAtD0QsAAAAAAAAAAAAABASwMBCwAAAAAAAAAAAAC0NBCwAAAA\\\\\\n\",\n       \"AAAAAAAAAEBLAwELAAAAAAAAAAAAALQ0ELAAAAAAAAAAAAAAQEsDAQsAAAAAAAAAAAAAtDQQsAAA\\\\\\n\",\n       \"AAAAAAAdxV133UWlUon+85//NLspAAAAGgQELAAAaGFeeukl+sQnPkHbbLMNlctlOu6445rdJAAA\\\\\\n\",\n       \"AKDlePe73z3sM3K33XYLn6Frr71209oEEQ0AABoLBCwAAGhhVqxYQRtuuCGdfvrpNGPGjGY3BwAA\\\\\\n\",\n       \"AGgLent7aZNNNgkuLAAAAJ0BBCwAAGgir7zySviCfe655w4u++Mf/xi+eN9xxx205ZZb0oUXXkiH\\\\\\n\",\n       \"HHJIU39FBgAAAFqVQw89lO6+++7wecmCFb+uuuqqYSmEPL/OOuvQL3/5S3rrW99Ka6yxBn3kIx+h\\\\\\n\",\n       \"//73v3T11VeHz9t1112XjjnmGBoYGBj2Q9KJJ55Im222Ga255po0e/bs4KwSnnvuOTrggAPCvrz+\\\\\\n\",\n       \"bW97G91yyy20ZMkSes973hO24XXcFm4nU6lUaOHChTRt2jRaffXVww9UP/7xj0c4t26++WZ6+9vf\\\\\\n\",\n       \"Tqutthq9613vokceeWQM7yoAALQe45rdAAAA6GbYXXXFFVfQgQceSPvss0/4Uv2pT32KjjrqKNp7\\\\\\n\",\n       \"772b3TwAAACg5WHh6sknn6QddtiBvvzlL4dljz766IjtWKy66KKL6LrrrqPly5fThz70IfrgBz8Y\\\\\\n\",\n       \"hC0WnZ555hn68Ic/TLvvvjsddNBBYR/+PH7sscfCPpMnT6abbrqJ9t13X/rb3/5GW2+9NR155JHU\\\\\\n\",\n       \"19dHv/vd74KAxdtOnDiRpkyZQjfeeGM43hNPPEFrrbVWEKsYFq+uueYauvTSS8MxeN9PfvKT4TvB\\\\\\n\",\n       \"XnvtNdjek046KVwb/9B12mmnBaGMr3P8+PFjdm8BAKCVgIAFAABN5v3vfz/Nnz+fDj74YJo5c2b4\\\\\\n\",\n       \"AsxfbgEAAACQDzuU2bnMrioWe5jFixeP2K6/v5++853v0PTp08M8O7B+8IMf0LJly4LotP322wfX\\\\\\n\",\n       \"1J133hkErOeff56uvPLK8JfFK4bdWLfeemtYzu5pXsci1Y477hjWb7XVVoPnW2+99cLfjTbaKIhk\\\\\\n\",\n       \"4uji/X7zm9/QrrvuOrjPPffcQ5dddtkwAevMM8+k973vfWGaXWKbb755ENA+9rGPoVsAALoSCFgA\\\\\\n\",\n       \"ANACnHfeeeGX4xtuuIEeeughmjBhQrObBAAAAHQULHCJeMVsvPHGIXWQxSu97OWXXw7T7LLidEIe\\\\\\n\",\n       \"SEXDItT6668fpjnl8POf/zzddtttNGfOnCBmcdpfjKeeeio4wUSYEtjF9Y53vGPYMhG4RAxjl/bj\\\\\\n\",\n       \"jz9e8/UDAEC7AwELAABagKeffppefPHFUBeD62bIL7kAAAAAaAw29Y7rTHnL+LOYeeONN6inpyf8\\\\\\n\",\n       \"sMR/NSJ6feYzn6G5c+eGelUsYrGD+vzzz6ejjz7abQMfk+Htua6WBj9eAQBANhCwAACgyfCvrlz7\\\\\\n\",\n       \"gtMV+NdV/jLMv/pyygEAAAAA8uEUQl18vRGwI4qPyY6sPffcM7od17s64ogjwuvUU0+l7373u0HA\\\\\\n\",\n       \"4jYxul2cpshCFace6nRBj/vuu4+mTp0apv/973+H+lfbbbddw64PAADaDQhYAADQZL74xS/Sa6+9\\\\\\n\",\n       \"FgrL8i+6XEj28MMPDyMlMX/5y18Gf7XlUQt5nr8U85dgAAAAAFBIBfzTn/4UXMz8WSouqnrg1EGu\\\\\\n\",\n       \"T8kjAbOrigUt/hzmUYI5TXD//fen4447jvbbb7+wLYtMXD9LRKYtttgiOLr485zrXXIR90mTJoU6\\\\\\n\",\n       \"Wscff3xo4x577BG+A/zhD38Ihd7nzZs3eH4uSM+pipzWyN8VNthggzDoCwAAdCvlZjcAAAC6GR4q\\\\\\n\",\n       \"e9GiRaGILH9xLZfLYfr3v/99KDTL8BdmfnEKw7XXXhum+YswAAAAAFJYFOI0P/5xh0fzY4dTI+Bi\\\\\\n\",\n       \"7SxgnXDCCcElzQLSAw88MOiMYncVj0TIohWPTshC1re//e2wjlMEzz77bDrllFOCCMUjGjJf+cpX\\\\\\n\",\n       \"6Etf+lJIN5T9OKVw2rRpw8791a9+lY499ljaZZddaOnSpfSLX/xi0NUFAADdSClJkqTZjQAAAAAA\\\\\\n\",\n       \"AAAAkP64xaMhsqNLRi8EAAAABxYAAAAAAAAAAAAAaHGQQggAAAAAAAAAAAAAWhqkEAIAAAAAAAAA\\\\\\n\",\n       \"AACAlgYOLAAAAAAAAAAAAADQ0kDAAgAAAAAAAAAAAAAtDQQsAAAAAAAAAAAAANDSQMACAAAAAAAA\\\\\\n\",\n       \"AAAAAC0NBCwAAAAAAAAAAAAA0NJAwAIAAAAAAAAAAAAALQ0ELAAAAAAAAAAAAADQ0kDAAgAAAAAA\\\\\\n\",\n       \"AAAAAAAtDQQsAAAAAAAAAAAAANDSQMACAAAAAAAAAAAAAC0NBCwAAAAAAAAAAAAAQK3M/wPrqI6H\\\\\\n\",\n       \"ajVrpAAAAABJRU5ErkJggg==\\\\\\n\",\n       \"\\\"\\n\",\n       \"  frames[7] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQABAABJREFUeJzsnQeYJFXV/k91mLCZsMuSc86CKKAESSpGFEVRQAUTIsk/7KIS\\\\\\n\",\n       \"1QVRxE/8BFQwoSLpA0FBRAEVRHKGlRyXXcKycUJ31/95b/XpPn3m3urqmZ7d2Znz26d2uvKtW7eq\\\\\\n\",\n       \"q95+z7lRHMcxGYZhGIZhGIZhGIZhGMYIJbe8C2AYhmEYhmEYhmEYhmEYaZiAZRiGYRiGYRiGYRiG\\\\\\n\",\n       \"YYxoTMAyDMMwDMMwDMMwDMMwRjQmYBmGYRiGYRiGYRiGYRgjGhOwDMMwDMMwDMMwDMMwjBGNCViG\\\\\\n\",\n       \"YRiGYRiGYRiGYRjGiMYELMMwDMMwDMMwDMMwDGNEYwKWYRiGYRiGYRiGYRiGMaIxAcswDMMwDMMw\\\\\\n\",\n       \"DMMwDMMY0ZiAZRjGiGOPPfagww47bHkXw1iG4HzjvI9WfvGLX1AURfTMM8+0tc7WW2+9tm1Pb3vC\\\\\\n\",\n       \"hAm0rMBxZLnmh6MeR8r9bKjH9t///pf23Xdfmjx5stvO//3f/9FIJ+t5N1bce+mpp57q2uOKCJf9\\\\\\n\",\n       \"1VdfpZHM9ddfT9tttx11dXW58s6fP59GIyvi/d8wjPZjApZhjHFuu+0295DWrgeem2++2T1ghIZv\\\\\\n\",\n       \"f/vbNFLLvjx56aWX3LHcd999g97Gn/70J7eN5Q3Ox7Rp09z5vvzyy5d3cQyjbTz55JO1l8S77rpr\\\\\\n\",\n       \"RNXsoYceSg8++KC7x/7617+mHXfckcYidi9d9ixZssR99+D7f6QwEss0HLz22mv0sY99jLq7u+nH\\\\\\n\",\n       \"P/6xu/bHjx+/vItlGIYxbJiAZRhjHIhAp512WttEoM0339w9QOkBzgDAf0di2Zf3SxeOZagCFrax\\\\\\n\",\n       \"vDn55JPdy4NhZOXxxx+nn/70pyO+wo499lgqFArDsu1Pf/rTtHTpUlp33XVbXhfr3X777fS5z32O\\\\\\n\",\n       \"vvKVr9CnPvUpWmuttWgsYvfSZQ/u9/ju8YlF3/jGN1z7HEllGk3ceeedtHDhQjrjjDPc9Y9rv1gs\\\\\\n\",\n       \"Lu9iGYZhDBsmYBmG0VZWW2019wClh6eeeoo23nhjeutb37pcarxSqVBPT89y2fdY4qGHHqKf/OQn\\\\\\n\",\n       \"dOKJJy7vohgrEJ2dnSP+peuGG25wA0Ss4SCfz9fcXa0yb94893fKlCltKw/ul7hv+li8eHHb9mOM\\\\\\n\",\n       \"7nspBF+0a2N4mDt3btuv/eV1fdtzmmEYWTAByzDGMLDX/7//9//c5/XXX78W5tfu/AL/+c9/6Ikn\\\\\\n\",\n       \"nqCDDz54mZUdn+FEuOSSS2jLLbd0L8jIE8EhjvpXWayH6cixIHnsscfoox/9KK288sruIRxhOddc\\\\\\n\",\n       \"c03L5b3xxhvpHe94h3vIRG6hTTfdlE466SQ3D2VhYe8zn/lM7Vi4LP/4xz/owAMPpHXWWccdx9pr\\\\\\n\",\n       \"r+1eouWv2sh7gvABPnYe5IPhueee6+oCxwGh8Qtf+AK98cYb1E6OPvpo+vCHP0zvfOc7abiA4+6Y\\\\\\n\",\n       \"Y45x9YD62Gijjeiss85qeNnm8/m9732PLrzwQtpwww3dsqhn/GKtwXlGGMbUqVNdKAbOz9e//vWG\\\\\\n\",\n       \"Ze699156z3veQ5MmTXLncK+99qJ///vfA7b18MMP07ve9S63HbhgvvWtbwWFgD//+c+urhDyMXHi\\\\\\n\",\n       \"RNp///3d+hrkM9pqq63cucPfq666apC1R3TZZZfRDjvs4Mq36qqrOoH5xRdf9C4L4Xm//fZz5Vtj\\\\\\n\",\n       \"jTXo9NNPpziOG5b5/e9/77aH8qNutt56a/rhD3845FxIWerxb3/7G+VyOef6k/z2t7915x8CQDvo\\\\\\n\",\n       \"7+93bRsD2tKyyu+Cennf+95H//znP2mnnXZy53+DDTagX/3qVw33QnZt4Z6IbcjcaDi3n/3sZ901\\\\\\n\",\n       \"j2sA94CLLrqoYd98X8S5hGNmzTXXpHHjxtGCBQtq+dAQPvne977XnWe+l2e9r6DN4PzhPGK7e+65\\\\\\n\",\n       \"p7edZ8Hupe3h9ddfp6997WvuesX5xbWL+9v999/vFTPRzjbZZBN3nldffXU64IADXJtAe8V9E8Dx\\\\\\n\",\n       \"xN89HM7uy4FVKpWcY4jvy2iv+D7s7e1tWC5L+/fRrEwPPPCAa9fYFrY5ffp0d40gHK8Zzz77rPvO\\\\\\n\",\n       \"wX34lVdeGZbvJNxv8J308ssvp5YFuc4QOgywHWxf3kez3OtD1/f//M//OFFdOty///3vu30cd9xx\\\\\\n\",\n       \"tWnlctmtI4VWHOMuu+xCq6yyits3yuBLJxB6Tmv1e9QwjLHF8PjgDcNYIcAD6OzZs+l3v/sd/eAH\\\\\\n\",\n       \"P3APOIAf/N588033INUMPACmJXzGwwlop4DVrOz8cvuHP/zBPSBhPh6GWwk3xAPUrrvu6l7mZsyY\\\\\\n\",\n       \"4V7isb0PfehDdMUVVzihJut28BC+zTbbOAEAD2kQ9P71r3/Vwi4xHS/hn//852viDx4A+SEU4RBf\\\\\\n\",\n       \"+tKX3AMhBMEf/ehH9MILL7h5AC+NCJ3Byx1CNjWYjxdkCGRf/epX6emnn6bzzjvPiTIoB7tfFi1a\\\\\\n\",\n       \"lMmphuWRLFqCsiCs89FHHx22JKuoh9133909hOOYIOphnzNnznQP+3iZ1kIGwiuwLB6Wv/vd77q2\\\\\\n\",\n       \"A2GGjxkvM6hzjKP+0U7wMP/HP/6xlrMN5xDL4CXvhBNOcMtecMEF7gXilltuobe97W1uuTlz5riX\\\\\\n\",\n       \"c7ygcZvBywoewjU4T3j5gECElx0cGwQXCJ04LyxC/OUvf6GPfOQjtMUWW9CsWbPcSxbO42BCxLgN\\\\\\n\",\n       \"4GUH28ILGMQmtAHsU/6KjxeTd7/73fT2t7/d1RteLE455RR3bGivAO3tE5/4hBPzcAwA5x/bg9gz\\\\\\n\",\n       \"WLLWI15wvvzlL7tjwXX5lre8xbWDo446ivbee2/64he/WFt2KPcztCuIMhB3rrzySlqW4F4BER3h\\\\\\n\",\n       \"QWgvEJ/w0omXQrz0oT3jvEHUxrnASyiXH+cX549fFHF/hGiKbUGcwku3BKJCR0eHEzYgJuAzwHlA\\\\\\n\",\n       \"O0XbxMspRKhW7iu4t+EFFGXDcM8997hw8r6+vpbqwu6l7QP3QAjj+HEEPwKhreCehvvrI4884gRr\\\\\\n\",\n       \"vg/g++umm26igw46yF3XuKfi2odLDNcZ7lv4fsJ3ItojwPddiMMPP5x++ctfunZ9/PHH0x133OGu\\\\\\n\",\n       \"Ydw7tDjfrP37QDtPKxPKjuNHu4V4hXaF+wv+4keJkAsS3wu45+AHLWwDzxXD8Z2EbeG5AMerf1ST\\\\\\n\",\n       \"4EcW/NiCsuOejPPIAnsr93rf9Q2BDoIRxEOcf/4xDT8Y4C+DbeG5YbfddqtNw34+8IEPuGc+XOMQ\\\\\\n\",\n       \"xtHOrr32WvcjjcT3nNbK96hhGGOQ2DCMMc3ZZ58NO0X89NNPD5i3++67u3nNhkMPPTS4/VKpFK+2\\\\\\n\",\n       \"2mrxTjvtlLlM2G/aNrOUHdNzuVz88MMPN0z/+9//7ubhrwTbwPSLL764Nm2vvfaKt95667inp6c2\\\\\\n\",\n       \"rVKpxLvssku88cYbZz6eH/zgB27b8+bNCy5z5513Dtg/s2TJkgHTZs2aFUdRFD/77LO1aUceeaTb\\\\\\n\",\n       \"huYf//iHm37JJZc0TL/++usHTEe9ZznnOEe6jOuss048c+bMhnq+7LLLmtYP71dv08cZZ5wRjx8/\\\\\\n\",\n       \"Pp49e3bD9BkzZsT5fD5+7rnnGs7nKqusEr/++uu15a6++mo3/Y9//GNt2m677RZPnDixoS75XDMf\\\\\\n\",\n       \"+tCH4o6OjvjJJ5+sTXvppZfcelifOeaYY9z277jjjtq0uXPnxpMnT25oqwsXLoynTJkSH3HEEQ37\\\\\\n\",\n       \"nDNnjltWTt9uu+3i1VdfPZ4/f35t2l/+8he3vXXXXTfOSl9fXzxt2rR4q622ipcuXVqbfu2117pt\\\\\\n\",\n       \"nXzyyQPawVFHHdVQH/vvv7+rB27LRx99dDxp0iR3nQ8FHIe85rPWI1i8eHG80UYbxVtuuaW7VlFG\\\\\\n\",\n       \"lEmfz8Hez15++WV3ni+44AI3jmsUy+Gabef9jLcrjw31gmm33nprQz10dnbGxx9/fG0at3fcEyWf\\\\\\n\",\n       \"+9znXNt59dVXG6YfdNBBri753sLX6wYbbDDgfsNtAdfYYO4rKC/aDM6LvKZOOumkpt8fGruXtu9e\\\\\\n\",\n       \"imulXC43TEM7Qts6/fTTa9Muuugid57OOeecAdvg84n7AZY55ZRTBiyDafJ76b777nPjhx9+eMNy\\\\\\n\",\n       \"X/va19z0v/3tby23fx9pZfJ9p/7ud78bsC8uO7b16KOPxmussUb81re+teE7ZTi+k3jZVu4b8n40\\\\\\n\",\n       \"mHu9vr7RNnAfPeGEE2rnGmU/8MAD3XHhOwygXeBZ64033gjWL8qDsrzrXe/K9JzWyv3fMIyxhzmw\\\\\\n\",\n       \"DMMIArt4lhAz/qXWB361xS9/HC63LMGvonCtDDa8Ar8M4ldN/FqKgcEvlXCi4FdSuLOawb90Xn31\\\\\\n\",\n       \"1e4XUfyC2QryV0fkpkDoINxZeP7Dr5/4xTcNOKPgltpnn30augPHL9hwavz973+nT37yk24a3EUI\\\\\\n\",\n       \"M2jGSiut1DB+5plnOnfLcJ9nHAucUNi/PBa4AFCGW2+9tcHp9/GPf7yhrOxuw6/dnDsI68BVoOuR\\\\\\n\",\n       \"f4WHAwEuKDh8EHLCIIwG9Ybk43CzwJ2FRPpwvCDcRboBUKb//d//rU3Dr/dwA8IxI48DIRtwc+Gc\\\\\\n\",\n       \"APyCj8T++BVaOt5wLtG2W8lVgl7zkC8FYTQyJw1+Ed9ss83ouuuuG9AJAH4Vl/WBcSz317/+1bkx\\\\\\n\",\n       \"0LZRBhwP3FrtIms9ArgF4DaAAwADHIo///nPB5zPwd7PEBqD8w7XyPIA51mG5KIe4LrgNhwC9wc4\\\\\\n\",\n       \"RREai8+yneEeBlcEnFBwmTJwfIRcDnCzDOa+grYCFwZccdLZAvfXd77znZbqwu6l7QNOYAb3ONyP\\\\\\n\",\n       \"OLwd7YJBG4IzBudPM5h8bbi2gQxDA3Biwf2D+wvcN0Nt/2nINg7HMRxEuN8AHLsOgYfTDN8lCA2E\\\\\\n\",\n       \"gxH3+uH6TgJwIelQ7VYYzL1eX994TsFzBsoP4I6D+xffRWgT6DQC1z7cWHBrSUeXrF/cc9G+cJxw\\\\\\n\",\n       \"zGd5Tmvl/m8YxtjDBCzDMILgRWSoIHwQL+V4aFvWwE4/WBC2gAfIb37zm27wgQfELAIWjv1nP/uZ\\\\\\n\",\n       \"ewHGwx/CrRAygLCILGLWc88950JwkHtLv4AjLKoZ//3vf91y06ZNCx4HgwfJVkU/hAueffbZLgdX\\\\\\n\",\n       \"WihpO8CxIORPhoqGjgVoEYNfHLge+aUBD+AhIHIhTAQvTRqEeSDM4vnnn3fhLMiPwuGEEr0ujgMg\\\\\\n\",\n       \"HMUHvyBhewAdIPi2KV80m8Hb8h0HXmoQKiJB25SCHUAOHMAhogjfQ/gHcufgWkBYGASToYpZWeuR\\\\\\n\",\n       \"gQiDFzC0QYgzyGfTjvsZwokQ6gkhvlXhuV34BGq042ZiHNotRAmE3mDIcr2E7plIxK1DVrPeV0Jt\\\\\\n\",\n       \"GNewFsKbYffS9oH7FkK9IAgg9BMiA4NQdRk2h+uuXb1voj3gWoIYJEEoH0QQbi9Dbf/NfqCCgAMR\\\\\\n\",\n       \"V18Dvu/U97///S6/Gzpx0N9x7f5Oaget3ut91zeA6AQRDD+aQajCjzYI0952223dOAQsbAv3fAlC\\\\\\n\",\n       \"BREyjB9fZF4zn+Dpu+e0ev83DGNsYQKWYRipD3lZcpTg1zadDwngoQf5LPBLJB7+ljU+J0HoF2P5\\\\\\n\",\n       \"8A44WShyweCF2Id+AE8rB37FhCMBv3wil9Cll17qxAs4eyDwhUC58JCIcwEnCB4+kQ8C7i/kAcmS\\\\\\n\",\n       \"1BTL4CWTc5Fp5IM3Ht6zdHmO3DjIAwIgrkG8QD4oFjaQw4JfojEND+3tEABwLKgPOMV8sMDChOp2\\\\\\n\",\n       \"KL9utwM+bxBH8OKmadfL4nCDdoWXFLzYwZmA4eKLL6ZDDjnE5bhZVuAliTtmwAs3BEfO0zSU+xna\\\\\\n\",\n       \"GV7i8JLFbZtdFnDHQVxu5oAcKoNtw9zG4KjkRM8anaco5L6CW0dfv63cV9qF3Uvbdy+F+w0/zkDs\\\\\\n\",\n       \"Re4z3M+xXTjjlkWy7KzureG4h0NwQZ4qdHqw3XbbOVEKxwzh3XfsyEGI+xnaOnJXjbbvJN/1DZAT\\\\\\n\",\n       \"C85quK0gWLFbDH8xjkTz+I6XjjVMR/4ruGEhjkL0Qm4vfC8g/5fG8loZhtEqK8YTsmEYy+UhEi4h\\\\\\n\",\n       \"JKhuRijRKBxDCL1rZ/L2oYYv8K+dOpm7/tWXnSd48IIAN1TwcAjnFYZzzjnHvTwgAStELWw/dCwP\\\\\\n\",\n       \"PvigS1aPh2eIAgxCtjShbSCpK8J44FJp9rCIULoswgNs/ywY4CUejjXt1mGHDv+63I5uvnEsCPdo\\\\\\n\",\n       \"xzkBXGaEiITAizjEkMcff3zAPDzA49yi9ymA3uDYXSXR63KiXQgAacfCvctl2WYzeFtYTzu/MI3n\\\\\\n\",\n       \"yxczONTkCxjaIpC93EHMhEMBA9bBOUcyaLwcZxV5fWVt5ZgR0osQF4QgQeiF0xG9aA31foa2jXuD\\\\\\n\",\n       \"zyWAlzQIXa10DLEsQbtF72AQwdt1vQzmviLbsLxH4MV3MK4Tu5e2516KXuEQqodwWwnaM3eKwucZ\\\\\\n\",\n       \"SdYhZHCS8aF8F6M94D6B9gAHK4NUA9i3vg8NllCZ0ObgqIQDS/Ze6rvfMHAY40cF3NtwTXHI/XB8\\\\\\n\",\n       \"J7WDVu/1IRDCh/s7RCkM3PMzxCmEzqMeeZxBeCHCFvGjhgxThYDVSvnb8Z1nGMboxAQswxjjwM0D\\\\\\n\",\n       \"fC9hQ82BhV/b8OKftbe+dpY97cEIv4DCEYWcRozOqwBhAY4ivIgj9wd+RZTg5SurwwDOD3YrMfjV\\\\\\n\",\n       \"F7C9PnQs/Gut/HUWnxH6oZHbkC84+LUZx4df2XXOGfTyg4dvXn4wObAQKiBzf7AgBAED29t5551r\\\\\\n\",\n       \"ZRsqOBaENODhWDvjOIdLK+4lnEM8fKNnK+RkkW4a1DNegnAOEBqHHGZw4bB4gxcutHH8Ss0hf+hh\\\\\\n\",\n       \"Db1OIQ8T5+9AW9EuFZQd6+B84CVSvxhy+0K7Q1uBqCjzYEHARE9hrbzs7bjjjq5dn3/++c51wS8X\\\\\\n\",\n       \"cE1B/JEvcwx6lGMhCPWBcZQVQixAThQZbgRxgV09MnSkVbLWI8DLNYQrOEeQRwdtET0iwjUBoXUo\\\\\\n\",\n       \"9zOE3sHNJUFuPPQCin3CETlSQbtFHaCN4nrUYbKt3MN8ZL2v4MUebQZ1huuIhQXdO1sW7F7avnsp\\\\\\n\",\n       \"2od2/SCfE9y9UnhGG4JzGNc+erqU8D2S3Y5ZvotxbSNXIs4/vl8Z/LADdC91gyVUJt93arP2iGPE\\\\\\n\",\n       \"vQA/yEHgxvcMBOzh+E4CEAvhJMX9Xj97DNe93geEKPRiiNxVEPOlAwtObXw3QMCTZUT9or6kqx3f\\\\\\n\",\n       \"m+jxcjju/4ZhjD1MwDKMMQ7nhYEbCEmZ8aIBJwUekoeSAwsvGnhYwsPvcOVFSit7CDwQojtnvEzh\\\\\\n\",\n       \"IQsPX8jXoPNUAOTTgTix9dZb0xFHHOHcAxAtYKd/4YUX6P77789UTiSCh2CGB3MIDtgXXvyQcwLb\\\\\\n\",\n       \"BygHXvbwwIlfeHEMyAGBF2TMQygjXiwgeuAXTt+LONcHurPHgzQeJFEveIlH2AO60ka4F14iUVf4\\\\\\n\",\n       \"hRMvLBDDkI9rsDmw+BgkLIjh4VcKhUMFvwDD2YduvbkrdSQRh1MNjgI8KEv3QBbwEI5jQG6Pz3/+\\\\\\n\",\n       \"87VwMby0ob5YpINohOXwKzxeSPDyBZEG3aAzEOwQFohQFLjZuPtvnHfkSWFwHtHN+6c//Wm3X5wn\\\\\\n\",\n       \"iAl4ScB+4WrBCyPAeUPbwb7xMoJrC+0XObcgEmQF5xzCDjoSQJtAAnnuWh2inH45xcsLwl3xwoa2\\\\\\n\",\n       \"iOsZZcPLJwsfyOuG8uBXfrRnuJVQNohu0l3RKlnrEQmYUT7kV/r2t7/tpsFZ8cc//tEdJ9oF3w8G\\\\\\n\",\n       \"cz/DtaLhF2LUIV4URzJIIg2XJ84f7mG4tnG+kDsN7il8HixZ7ytoK7h/YTlct3g5RecTaE+tXqt2\\\\\\n\",\n       \"L23fvRTnAvWJ6wTJunGtQCDQTlo4f3/1q185gR+CAsQL3HPRfnAv/OAHP+gceGhbCI2HYxM/2EAw\\\\\\n\",\n       \"9eUWRP4kXLO4nnEtoR1huxDp8V0hE7gPhbQy4UcL3LchFCH8HaH8yAOWBsT53/zmN66MEK2QaBz3\\\\\\n\",\n       \"veH4TsJ3Pe6fIXd7u+/1aeB84z6CZyc8CwGIY8hHBUcUjlmC7yqIkbh3w6mG5x08S0EUlffudtz/\\\\\\n\",\n       \"DcMYoyzvbhANw1j+oBvoNddc03Vn3K4uis8//3y3rWuuuabldbN2O59Wdnw+8sgjveugS+yPfOQj\\\\\\n\",\n       \"8bhx4+KVVlop/sIXvhA/9NBDbh10SS158skn40MOOSSePn16XCwW3b7e9773xZdffnnm47npppvi\\\\\\n\",\n       \"D37wg64LbnQnj7+f+MQnBnS7je60t9hii7hQKDSU5ZFHHon33nvveMKECfGqq64aH3HEEfH9998/\\\\\\n\",\n       \"oLylUik+6qij4qlTp8ZRFDV0XQ4uvPDCeIcddoi7u7vjiRMnxltvvbXrIvull16K283f//53t//L\\\\\\n\",\n       \"LrusrV2/A3TfPXPmzHijjTZy9Yk62WWXXeLvfe97rrtu2Q352WefPWB9X9fqOP8f/vCH4ylTpsRd\\\\\\n\",\n       \"XV3xpptuGn/zm99sWOaee+6J99tvP3ce0Hb23HPP+Lbbbhuw/QceeMAdC7aD9oI2+vOf/9x7baGe\\\\\\n\",\n       \"sE10D47lN9xww/iwww6L77rrroblrrjiinjzzTd33cejjVx55ZWuztDNfKtceuml8fbbb++2tfLK\\\\\\n\",\n       \"K8cHH3xw/MILLzQsg22ja3i0/3333dcd72qrrebqDd2rM7gOMB9dtuNcrLPOOu56evnll1sqE45D\\\\\\n\",\n       \"X/NZ6vHYY491XbrL7tYB6g/X0Ze+9KW43fi6rW/H/Yy3K9sI6mX//ff3blNeL2nt/ZVXXnH3wrXX\\\\\\n\",\n       \"Xtvdw3Av22uvvdz9IMv1ym0hRJb7CtrMaaedFq+++upuuT322MNdc77znobdS9t3L+3p6YmPP/74\\\\\\n\",\n       \"2jnZdddd49tvv31A2wJLliyJv/71r8frr79+rQ199KMfdfcHBvdCtAPcB+Q9Fn/1d1F/f79rD7w9\\\\\\n\",\n       \"tE3c01EmSdb2HyJUJtzv+H6Pe++BBx7o2qv+buCy45lB1gX2je+Bf//738PyncTLtnLf8N2PWrnX\\\\\\n\",\n       \"h7juuuvc9t/znvc0TD/88MPddNyTNZi28cYbu/1uttlmroy+dpD2nNbK96hhGGOLCP8tbxHNMAxD\\\\\\n\",\n       \"gtA9/Eo4mF8ejRUT/IqLX6o5r5ZhjBbsfmYsS+xeahiGYYxmlk+f0IZhGIZhGIZhGIZhGIaREcuB\\\\\\n\",\n       \"ZRiGMQTmzJnTNA8HJ942jOECuYz6+vqC85EPbSgJuweLXR+GtRXDMAzDMNqFCViGYRhDoFkPQYNN\\\\\\n\",\n       \"wmoYrXDAAQfQLbfcEpyP5LcI0VzW2PVhWFsxDMMwDKNdWA4swzCMIYCemNJYY401Wu7VzzBa5e67\\\\\\n\",\n       \"7/b2TCmdgOjZcFlj14dhbcUwDMMwjHZhApZhGIZhGIZhGIZhGIYxorEk7oZhGIZhGIZhGIZhGMaI\\\\\\n\",\n       \"xgQswzAMwzAMwzAMwzAMY0RjApZhGIZhGIZhGIZhGIYxojEByzAMwzAMwzAMwzAMwxjRmIBlGIZh\\\\\\n\",\n       \"GIZhGIZhGIZhjGhMwDIMwzAMwzAMwzAMwzBGNCZgGYZhGIZhGIZhGIZhGCMaE7AMwzAMwzAMwzAM\\\\\\n\",\n       \"wzCMEY0JWIaxAvGLX/yCoiiiu+66a3kXZcxy6qmnunNghBnL7ZSP/ZlnnlneRRmx2DVkGCOLRYsW\\\\\\n\",\n       \"0eGHH07Tp093969jjjlmeRfJSOGwww6j9dZbb7nX0fPPP09dXV30r3/9a5ns77XXXqPx48fTn/70\\\\\\n\",\n       \"p2WyP8MwRiYmYBkjggcffJA++tGP0rrrruu+DNdcc03aZ5996Ec/+lHDct/5znfo//7v/wa9n0ce\\\\\\n\",\n       \"ecS9PLX75fLmm292D308FItF2mCDDeiQQw6hp556quXt/e///q97ER7rLFiwgE477TTadtttacKE\\\\\\n\",\n       \"CdTd3U1bbbUVnXjiifTSSy8N236XLFni2gnOq5Hw3HPP0Re/+EX30NzZ2UnTpk2jD33oQ8vswXWk\\\\\\n\",\n       \"MdR70XCAc8P3oFwuR1OmTKGtt96aPv/5z9Mdd9xBI5mRWJ+GMVZ+NMD1h2186Utfol//+tf06U9/\\\\\\n\",\n       \"msYy8nkOw6RJk2j33Xen6667jkYiy+uZ5fTTT6e3ve1ttOuuu7Z1uxCocDyaVVZZxQmt3/zmN9u6\\\\\\n\",\n       \"P8MwVixMwDKWO7fddhvtuOOOdP/999MRRxxB5513nvuCwgvYD3/4w7YLWBBEhssd8dWvftU9/F14\\\\\\n\",\n       \"4YW0//7706WXXkpvfetbWxZbTMAiJ/xtt912dMYZZ9AWW2xBZ511Fv3P//wP7bnnnvTzn/+c9thj\\\\\\n\",\n       \"DxrOh0G0E9/D4De+8Q1aunQpjSUgUkEI+d3vfkcf+chHXPs8+uij6eGHH6Z3vvOdA4TmsUDoXoQX\\\\\\n\",\n       \"P7QPiPHLA1wzuAf96le/olmzZrnr5Y9//CO9/e1vp+OOO45GAr5ryAQsw1h+/O1vf3P3iFNOOYU+\\\\\\n\",\n       \"9alP0Q477DDmTwd+ROV76QknnEBPPPEEvf/976cbbrhhxNVN2jPLcDFv3jz65S9/6X7YajcQsHA8\\\\\\n\",\n       \"PrC/e+65x7VZwzDGJoXlXQDD+Pa3v02TJ0+mO++80zkGJHPnzl2hKggv83CSgc985jO0ySabOFEL\\\\\\n\",\n       \"X/IzZ85c3sUbUSxevNhZwX2USiU64IAD6JVXXnEPZO94xzsGtBkIWsuDQqHghrHCG2+84do03G8Q\\\\\\n\",\n       \"sjbccMPaPAgi++23nws3wQvPLrvsQiOJOI6pp6fHlX1Zkc/n3bC8gHsVL6ASXCuf/OQn6Qc/+AFt\\\\\\n\",\n       \"vPHGzmWxPBlr15BhjHTwrIUfitpFpVKhvr4+56hfUcHzm7yX4scb1BF+WMX33ljnN7/5jbuPQ9Rb\\\\\\n\",\n       \"lmy++ebOiQ/H4Lve9a5lum/DMEYG5sAyljtPPvkkbbnllgPEK4AwJQY2bogeEIPY1o08AODZZ5+l\\\\\\n\",\n       \"L3/5y7Tpppu6l1XYjA888MAGpxW+7DANwJXA25C/WP35z392IhSElYkTJzoXFVwmg4W/XJ9++mn3\\\\\\n\",\n       \"9+KLL3bTcFwIw8LD0E9+8pMBYUDY5y233FIro3Yb9fb2OvFg6tSprqwf/vCH3a9hWcCvVnyMqPMP\\\\\\n\",\n       \"fvCD9Oijj9bmX3755W6f2L/mggsucPMeeuih2rTHHnvMCRwrr7yye1iFm+6aa67xhjdgmzhPOP61\\\\\\n\",\n       \"1lorWMYrrrjCOfK+/vWvDxCvAOz8ELEkl112mRNRcP5XXXVV9+D54osvNiyD9oJQRExH+Bs+ow6/\\\\\\n\",\n       \"9rWvUblcdsugzWAawC+AfA7Yzu7L34Pxr3zlK86RgwcrnFu06euvvz5T3grfNiHiwX0GwQjbw3on\\\\\\n\",\n       \"nXSSO/d63z6rPZbn6wP09/e744GAgfOEawR1e+ONN1IaOOdz5syhs88+u0G8Aqhrvh4RSuD7VfgL\\\\\\n\",\n       \"X/iC2xfOGUJqIYhJEPKClwGcM2xv/fXXp89+9rMDXobOPfdcV6co+2qrrea2q7eFY37f+97nfiFH\\\\\\n\",\n       \"O8T2UH6cE1zzGmwXgg+LzuB73/ueE+JQZqyPNoVrQpJ2LwrlwIJrDeXHuVxjjTXoyCOPpPnz5zcs\\\\\\n\",\n       \"g+scZYVTFOUdN26cK993v/tdGgo4DjgJcI3iuoGwN9i6/ec//0k77bSTWxZh0nAnSLK0M93eQ/X5\\\\\\n\",\n       \"97//3X2+6qqrBhzTb3/7Wzfv9ttvH1LdGMZoJcv3Hac/wDMKwuP4+uP7F75v4MraaKON3L1r7bXX\\\\\\n\",\n       \"dm4k3/cQvgMvueSS2n2Ov/+wf9zTcW/h78aLLrqoYX0uxx/+8Ad3j8LzAe4fe+21l3M+aRAS/d73\\\\\\n\",\n       \"vpdWWmkl9yyzzTbbDHDsZ3k2aVU4wfcUnlklWesI90DcC/HchXOB51V8pzOh7w6um5C7qtkzC+7J\\\\\\n\",\n       \"qIuXX34503HycwzqDH9x//U9u2A5hA/iWCT//e9/ndiHfGrYBs7lQQcdRG+++Wam/WNfP/7xj91n\\\\\\n\",\n       \"Gcap3XFwFsvvMsMwxg72E6ix3EGoDV5CIIrgyzIEXsAQWoiXJ+R0AfxCDfcWQhHxJYkvS3yhQxjC\\\\\\n\",\n       \"CyFeBvEiuNtuuzk3FMLQ8NCAhxHAf7H9Qw891L1Mw7GAl29sAw8c995776ASZvKDDl7iALaHh7cP\\\\\\n\",\n       \"fOAD7pcrfAFD0MFLJF5oAV4mjzrqKPdQAAEH4MFPgvl4cMNDE44V6+DhESGLafz1r3+l97znPe7F\\\\\\n\",\n       \"Ew83CONB+BfyF8CSjWOEaId940ESOR8k2D7Kz+cJQhvWxUv2jBkz3IMk1sPDMkQoCGsSHCsetE4+\\\\\\n\",\n       \"+WT3whqCHzKz5uHAgx8cbwjXRNgUnFt4mIVjCOdOiqN4cMc5xoMXxArUyfe//33XluBMQflwnvAZ\\\\\\n\",\n       \"5YcTDOABOQ282F955ZXuGCF+op3hIQ65o/j8twLaOl7o8QB+/PHHuwd2HBvERt8LfTNwvrE+X0PI\\\\\\n\",\n       \"LwbxCOcdD4Mh0EbxEPqxj33MOx+CE64RCKNoT9LthDaJuse+H3/8cVevEJv5gRy/+u+7776uztF+\\\\\\n\",\n       \"sCzaM+pRAkGFzzGuYbxsIdQY5xbnGDnnGOznE5/4hFsHIcl4Sfj4xz/uygAhDg/V8pwhvBf3DQbt\\\\\\n\",\n       \"BtfnwQcf7BwEv//9753wfe2117pro9m9KFT3eLHYe++9XbviusB9S5cfwtG73/1u1+5Q5xDPkPMN\\\\\\n\",\n       \"IZy4dgcLrmm0Z4Tf4p6I67jVusWLJNrj5z73OXevxEsoXjYg8vH2BtPOQvWJkCa8DOKlWN9LMA3L\\\\\\n\",\n       \"7LzzzoOuE8MY7TT7vsPzD66/Y4891j074bsG4J6M5xLcC3GfxHWJZZGvFE7O2bNnDwihxncAvv9x\\\\\\n\",\n       \"34fQg+cJfBfjOmaBC9vFD4W4h+DeoJPFn3nmmS59BEQ2CB4Q73Evljn8IARBTF999dVdKDvu6fhe\\\\\\n\",\n       \"xD0a44N5NskCyoP7s7zXZ60jlAdlxnMEfuyB0IX7aTtySDZ7ZoGAiHLhnt0st+pf/vKXmtMM93Ek\\\\\\n\",\n       \"Tcd3g/7BEaIYvr+0mxffmWhvEO/wnIpzg/3j3OAHG0RbNAPfSfhexnlG2/SB7xzUMeo17b3BMIxR\\\\\\n\",\n       \"SmwYy5m//OUvcT6fd8POO+8cn3DCCfENN9wQ9/X1DVh2/Pjx8aGHHjpg+pIlSwZMu/322/HTTPyr\\\\\\n\",\n       \"X/2qNu2yyy5z0/7+9783LLtw4cJ4ypQp8RFHHNEwfc6cOfHkyZMHTNdge9juRRddFM+bNy9+6aWX\\\\\\n\",\n       \"4uuuuy5eb7314iiK4jvvvDNYzv322y/eYIMNGqZtueWW8e677z5g2YsvvtjtZ++9944rlUpt+rHH\\\\\\n\",\n       \"Huvqb/78+anl3G677eJp06bFr732Wm3a/fffH+dyufiQQw6pTfvEJz7hliuVSrVpL7/8slvu9NNP\\\\\\n\",\n       \"r03ba6+94q233jru6empTUO5dtlll3jjjTceUO53vOMdDdsMsf3227t6zwLaCcq61VZbxUuXLq1N\\\\\\n\",\n       \"v/baa90+Tz755No0tB1Mk8fA+9thhx1q4ziHWO6UU04ZsD9M07dOjHd0dMRPPPFEQ71i+o9+9KOG\\\\\\n\",\n       \"/a+77rpNt3nfffe58cMPP7xhua997Wtu+t/+9reGffvKif3Ia2XbbbeN999//7hVcF1g3TS++tWv\\\\\\n\",\n       \"unI88MADDecbdSqv4+9+97tu+tVXX+3Gr7rqKjfO14ePf/zjH26ZSy65pGH69ddfP2A6jhnTME/y\\\\\\n\",\n       \"+OOPDzgX4Mtf/nI8YcKEhutSX6MoP9rWu971rkz3Ij72p59+2o3PnTvXtY199903LpfLteXOO++8\\\\\\n\",\n       \"2j2DwTWv71m9vb3x9OnT44985CPBOpLHn3aOf/CDHzTU/2Dq9tZbb61Nw7F1dnbGxx9/fEvtzHcN\\\\\\n\",\n       \"hepz5syZbh/y3ob9FgoFb7s3jLEI33fkvTTr913o3vHrX//afefjPiE5//zz3Xb/9a9/1aZhHMs+\\\\\\n\",\n       \"/PDDDct+7nOfi1dfffX41VdfbZh+0EEHue94vt/yM9Tmm2/u7nnMD3/4Qzf9wQcfdON4flh//fVd\\\\\\n\",\n       \"ed94442GbcpnoqzPJiGwT5QdzwK439x1113xu9/9bjf97LPPbrmO+N6L7YXQ3x0M1418btXPEmnP\\\\\\n\",\n       \"LNge5vnur75nRJwveb/FMzrWl/vDs47vO/Xee+910/GsPRSOPPLIAd8Rkttuu83Nv/TSS4e0H8Mw\\\\\\n\",\n       \"VkwshNBY7uBXeTiw8CsWwsbwixt+wcEvZ1nt3tL1gV+G8KsR7NxwdOCX/2bglx78OgTnxquvvlob\\\\\\n\",\n       \"kMsGv1wilCULsMnj1zCECMGtwWExsK7rcuLXPOwDLickLM9qrwb4pU9aqhESiF9a4W4JAfv4fffd\\\\\\n\",\n       \"5xwTsNQz+JUO50B2SwzHCtwx0rIOJwh+bcQ88Prrr7tfXOESWbhwYa3OUPc4f7CR6xA+OGKy5AfC\\\\\\n\",\n       \"L7NwMWUB7g6UFc4nmW8D9b/ZZpt5ew3SSUdRf4PpLVICd438ZRb1irC5wWyXz4VOus2/jg+mJyRc\\\\\\n\",\n       \"C/i1EuelFXBum50Lno/zptupdPDg11o4D/n42BmHX2dx3fpAaCh+tUUbldcmfoGFq0hfm3CE6fwk\\\\\\n\",\n       \"yGWC5ObSoYjrBW0a+TvkdSk/49d2XJdoH1nuIz7geMCv0nAawFkgrwW0D30ucUwy70pHR4dzJg21\\\\\\n\",\n       \"ffK2+ZwOpm7xqzzqgsG9Dg43WbbBtrMQCDvFr/kyjBPnESG2OteXYRjUtu873B/g3MH3qLw/cGoE\\\\\\n\",\n       \"fX/As4zMowUdCG4n3GPxWW4D92jcW/V9FW4f3PNkWQGXF85QuERxP9VpJ/iZaDDPJj7gVsU9DikP\\\\\\n\",\n       \"8Ax30003udBA+b2ctY64rFdffbV7jlqWwAmH+m/mvuJnRDi1pFMK3w86PxrqEiASQMLrIYwfUQzD\\\\\\n\",\n       \"Be8XdW0YxtjDBCxjRIDQL4QN4YXxP//5j0t4jgcPhKsg3KUZCF1CWBrCTWDNhn0dDx4QpbIIQ/yy\\\\\\n\",\n       \"hYcOrCcHWKqzJpNHGSCG4eHpgQcecDZoGQYHuziEDs4/he1zDoRWBKx11lnH+2Wu89ZIWNzCC6cG\\\\\\n\",\n       \"D2B4EOCwPoQw4UFEvvDjM0QAiAEA9nc8FKE7Y11nCG0Eut4gLmQBL/b8kt2MtOPCQ6UW9SBycb4I\\\\\\n\",\n       \"WX9pdTeYczKU7aLMEDsgwkpgx0e7SRMqQyBsAdcDzh/C0f7f//t/ro02A+JUs3PB87XQhTxIEogi\\\\\\n\",\n       \"CPvgHB944UG4AsLrcM0iHxvyxMncIbg2cW3gJUK3s0WLFmVuYxBecf3xiwvEWazLgiwDMQ0hL2gn\\\\\\n\",\n       \"EHo5PKOV6zNL+8RLGkJ59blEqIbO99GO9glQX/I8tVq3Wdr4YNtZCFzD+H5AyCCDzzhH+vowDIPa\\\\\\n\",\n       \"9n2H+wPEaH1v4GeAZvde5OXEvQC9MuttQKjybaPZsw2nZUgLGxvMs4kPfB/heQ4/MnDePogy8oeI\\\\\\n\",\n       \"rHWE7xmENCJUGikhELaOkMZlLWalwd9F+ns79HwFdA4qtAEIfD/72c/cdzoEQ+SzGuz3Zwjer/6u\\\\\\n\",\n       \"NAxjbGA5sIwRBV7q8LKCAQ8AeMjBL1z80BECsfZ48cWvcsiJAvEFX2x4SMjygMDLIN5e5shhsvaY\\\\\\n\",\n       \"hRc2CFQ+8OCFhKR4ITvnnHOc2IbjhRsFsfytPMiEXEztSmgJERC5IpBrCcmnkccCL//o6p7h8iJX\\\\\\n\",\n       \"RahHHv2CmbU3ONQRfml9/vnnXT21k+HqIS7LOQk9bHFCXc1QHs70NpEDDm0QvwBDlMUDJtrd+eef\\\\\\n\",\n       \"7x6qQ0DcxLmAqIR24QMCBZxWvgffNHB8cNb8+9//drm28KstXIzI0YJpELzQziCwSAFDol/OQm0M\\\\\\n\",\n       \"LxAQxnE/wX0CLw+4T0CsZf7xj384JyjqCu0eYhuOC/cWJA1fFgzntc2dL/B12WrdZinbYNtZMxcW\\\\\\n\",\n       \"ctu88MILrh2ibSBPl2EYw/d9h/sDnmnwvOJDfzfrey8/I8ApCVePD51bsh33v8E8m/jAjwn8PIeE\\\\\\n\",\n       \"8RBkkMcLHWxwnqmsdYS6ufXWW50jC4IYEtzjR0H8aIr7JI671eeD5Qnn9fQJofj+htOfvwOQWxH5\\\\\\n\",\n       \"tHDfTuu8pxV4vzgnhmGMPUzAMkYsHHYne04JfcHjJRgPSPjiZHp6egb08hVan0O/8DIXEqCGCl7Q\\\\\\n\",\n       \"8fKFsEj5K6MvPHE4flVCsnyABNIa9FCDBwE4w+QLP8IfYZtHglQ8QEq3CtwjAC/47a4zhBz87ne/\\\\\\n\",\n       \"c900Q3TIely6S2VM4/mtMFy/6uHXZN0mgXbhoMx4MMavu9zJAICQiPXlMfm2iZA1X49DcBRBFMYA\\\\\\n\",\n       \"hw3EBvyynCYsIPEsQnwh/PhCtuCmgvCDNqBfYFB+2fsf9oly4WVAAjcNBvQ+BaEISXuRPB3lwrWJ\\\\\\n\",\n       \"MDz8ep1VAPWBX4YRioeXBryEwPEJkVaKcgh3gWMBQpqcDgFrsG1Etk++ZvgcIRRmuO43GtQ9BGm8\\\\\\n\",\n       \"UHGbalfdtqOdpdUnfojAr/q4J8Bti3uOds4ZhtFecH9AWgf88DaY70QI4HB7QoBp132On9Ugxoe2\\\\\\n\",\n       \"OVzPJkguDjH+G9/4hkuWjjpppY7g3MJyGCB44QdBdNSDZ0CUk91m+vs8i+O6Hc8s/F3lC//Wz414\\\\\\n\",\n       \"hsV3BvewrYGohwF1hQ6W8B2DHzG+9a1vZSpLs+Ph/crnI8Mwxg4WQmgsd/Dl7ft1jfPkSOsyBBaf\\\\\\n\",\n       \"AIBfr/Q20Lue/uWKBRq9DfxKh7A1PFD4cvHACj9U+JdFWU7Yqn0vx6HjHApwkyAEEKKU3DYeBPEr\\\\\\n\",\n       \"mRYV8ECFF1G88GPAy78MEYDYh14eL7jgAq9YMpQ6Q+goHn4gaEA88YWscQ+NEDpRFjwcydAz9HQE\\\\\\n\",\n       \"4Y17jmsF9FoJ2n0O8LCLcy5DqlB3uldBPhfoXVLCv/LKY8I28cuuBCEbuu1zzgoG7ib8Cq27+vY9\\\\\\n\",\n       \"tKN+EQqm86ZAJIZIgTaN8FkNyiGvJ4TiIXcR96aHX1H1dYs2CrhcyGOCYznjjDMGbB/bauUcQfTA\\\\\\n\",\n       \"r8DoPQ8hs1oE4V/BZd1BoNO9bbVyjeI6gtMSvVLKY0V+FbSFwbTPVoHog1Bm5IbBdcMvB+2s26G2\\\\\\n\",\n       \"s7T6hLiONgNBG24xuObsl3fDGF5wf0DI9U9/+lPvPSWtJ2G+nyJEHD8MsPtzqM8Ib3nLW9xzCL4b\\\\\\n\",\n       \"9f2C76/D9WwCJz7yUOK5Au6iVuoI916N/q5jcU5+n+P+jO/RoTyz4DsYP1L66iL0jChD/hBGqVN5\\\\\\n\",\n       \"QBzEsxdykEqQBxPfHRI8y0G8a/YdkOVZnbn77rudg5p7vzUMY2xhDixjuYPwP+QVwC9aCB2DMwG/\\\\\\n\",\n       \"2EA0QfJJzpUAkFwYjgG8yCNROh5kkGQdLhGE/+ELDckmIXpgObY5M/hyxkPVWWed5b6g4bKAawcP\\\\\\n\",\n       \"PHi5xkseHpDwiz9+PXzuueec3Ru/Hg01ZGXfffd1L7JwF0EUgDMBDz3Yt36wwHGiPPi1Ci9/WEa7\\\\\\n\",\n       \"iwbD2Wef7V4EEWaJbqzxgAWhD/UGh4R+QIFNHk4YPIShC24Nchu84x3vcA8oSEqNXz7hEkL9I9wH\\\\\\n\",\n       \"v0wOBuwbDhm8/MO9gYdEnANMR74JuHTwayUELkzD+UQ7QU4lJOJHGX74wx+69oPuwVsFvyyiHaEN\\\\\\n\",\n       \"IpQVQh5ybgy1u2a0qxNPPNG1ddjq0e5xnrEPmcx22223dY5CPLjiAQ7HhdxweLCEa0i6muBqQZJe\\\\\\n\",\n       \"vCgg2SrqHA4i/YKP48FDPdoWjgcPnnAuwo2UBq4hLAehBdcG9odtzZkzxyWFRb4R1PUuu+wyYF1c\\\\\\n\",\n       \"y/i1GecPv+AiLA/tBWF6AMeDaagPPLxDmMQ1ATGZRTwcO64XhCAgwSyuI5xz/EoMVxj2DcEzCygH\\\\\\n\",\n       \"wkowoA70r/M4RtxbIJB88pOfdPlL0MZxDeo8TqF7kQb3EbgIkecL28Wxc10gVLrdicjxMgWhB+Ae\\\\\\n\",\n       \"gxcP1BPOF16+UJdMO+t2qO2sWX0ijJDL4hPcDMNoL3geQqg1vl/wQyO+gyGoQAzBdHzPsFM+xJln\\\\\\n\",\n       \"nunWxbWMZwTcHyDm4PsO17tP2EkDQgi+M/Echec5fO9DeEGZ8GyAMg3nswlC4/BjDZ458F2ctY6Q\\\\\\n\",\n       \"GxDCFL5j4HTCdwu+AxBSh3ICiDFwIuP7AvWC+yeev7Qg1OozC74T4FTCM0WzRO74LkAZUSaE86Mc\\\\\\n\",\n       \"eEZE2TiHoswRhh9EIFrhOxsg/yvu9QceeKArB8qOZ3MWM7OC7wOA5yT8wIz18fwkRTW0AcuBZRhj\\\\\\n\",\n       \"lOXdDaJh/PnPf44/+9nPxptttpnr0h5dzm+00UbxUUcdFb/yyisNFfTYY4/Fu+22W9zd3d3QLTC6\\\\\\n\",\n       \"U/7MZz4Tr7rqqm4b++23n1sW3f7qroN/+tOfxhtssEGcz+cHdE2Mz1gX3Tt3dXXFG264YXzYYYe5\\\\\\n\",\n       \"LpTT4G6Om3UdfM0118TbbLON2/Z6660Xn3XWWfFFF100oOvkOXPmuC6tJ06c6Obtvvvuwa6y5f7l\\\\\\n\",\n       \"sYT461//Gu+6666uDidNmhS///3vjx955BHvsjfeeKPbbhRF8fPPP+9d5sknn4wPOeSQePr06XGx\\\\\\n\",\n       \"WIzXXHPN+H3ve198+eWX15YJlbsZOK8nn3yy6w573Lhxrt622mqreObMmfHLL7/csCy6U0b34J2d\\\\\\n\",\n       \"nfHKK68cH3zwwfELL7zQsAzawvjx4wfsB11P69shumlGV+Noj7J7at+yGEe3zxpf+0OX1DgGbHfT\\\\\\n\",\n       \"TTeNf/Ob33i32d/fH5922mmuy3DU69prr+2OW3YLDsrlcnziiSe6to86QvtFF9d639/61rfinXba\\\\\\n\",\n       \"KZ4yZYo797jevv3tb8d9fX1xFtA+jzjiiHidddZx5cH+PvCBDwzoPlye71tuuSX+/Oc/H6+00kru\\\\\\n\",\n       \"usQ5ee2112rL3XPPPfEnPvEJt02ct2nTprm247veLrzwQnc+UHZcF2gTJ5xwQvzSSy+ldgWvQdtH\\\\\\n\",\n       \"2Q4//HDv/J///Oeum3WUB3WEY/Gdn9C9KNQV+nnnnee2h7pbbbXV4i996UsDuoHHdb7lllsOKJPu\\\\\\n\",\n       \"Mj0ElsG++ZrF9Y3t4bzdcccdwfWGUrcoM9+fsrazVuqT6e3tde0I9+alS5c2rQvDGEv4vmNb+b4L\\\\\\n\",\n       \"Xd+4bvGcgvsI7om4BnGvwHfTm2++2fQ7EOA5DvPwHYb7H54V9tprL3ffafYMhfsopuP4JP/85z/j\\\\\\n\",\n       \"ffbZx92vcIx4rvrRj37U8rNJiLTjOfXUUxuet7LU0U033RR/8IMfjNdYYw333Y+/+O6bPXv2gDLv\\\\\\n\",\n       \"vffebjv4njjppJNqz2Hy+c73nRB6ZuE61PfUEFdccUW8+eabuzJsscUW8ZVXXundH85roVCIf/3r\\\\\\n\",\n       \"X9emPfXUU+55Hs/OeF7Ds9iee+7pnjtboVQquXeAqVOnuu8y2V4fffRRN97qNg3DGD1E+G95i2iG\\\\\\n\",\n       \"YRiGYRgh8Es+nFn41R3hl4ZhGMayAc4z9NzLPQgzcPLPnj3b5cFcVqATFrjZEEZoDizDGJtYDizD\\\\\\n\",\n       \"MAzDMEY0yEOG3DUIJTQMwzCWP+gh/M4773S9VC8LkGMRPdsivYaJV4YxdrEcWIZhGIZhjEjuuOMO\\\\\\n\",\n       \"l38Mea+23357l7fLMAzDWP6gN0J05pIV5J5F7tU0pk+fnpqTU+fiMgxj7GEClmEYhmEYIxIkbEZS\\\\\\n\",\n       \"eiRsbpaA2DAMwxi5HH300a7zljQss41hGM2wHFiGYRiGYRiGYRjGsIFecV966aXUZXTvwIYx3CCn\\\\\\n\",\n       \"GnppR1419Ap/1VVXuV5G00BOuOOOO871frr22mvTN77xDZcrzlg2mAPLMAzDMAzDMAzDGDa22GIL\\\\\\n\",\n       \"NxjGSGLx4sW07bbb0mc/+1k64IADmi7/9NNP0/77709f/OIX6ZJLLqGbbrqJDj/8cFp99dVpv/32\\\\\\n\",\n       \"WyZlHuuYA8swDMMwDMMwDMMwjDELOgdo5sA68cQT6brrrqOHHnqoNu2ggw6i+fPn0/XXX7+MSjq2\\\\\\n\",\n       \"MQeWMeKoVCrOYjxx4kTrZcQwDMOo5UZZuHAhrbHGGpTLWSfKyxv7rjYMwzDa9d2MDgH6+vraVibd\\\\\\n\",\n       \"U2VnZ6cbhsrtt98+INQVzqtjjjlmyNs2smECljHigHiFeGLDMAzD0Dz//PO01lprWcUsZ+y72jAM\\\\\\n\",\n       \"w2jHdzPEq/XXnUBz5pbbUqETJkwY0GPlKaecQqeeeuqQtz1nzhxabbXVGqZhfMGCBa6Xze7u7iHv\\\\\\n\",\n       \"w0jHBCxjxAHnFdhss8Mon+9Y3sUxVliiJuMjZVvDRdzGdUfKtoyxTLncR4899ovad4SxfOHz8A56\\\\\\n\",\n       \"LxWoaKfDGJNcNfvB5V0Ew1iuLFhUoXXf8syQvpvhvIJ49ezd69GkiUNzWC9YWKF1d3jGCWqTJk2q\\\\\\n\",\n       \"TW+H+8oYGZiAZbSdF1980cUH//nPf6YlS5bQRhttRBdffDHtuOOOmdZnyyfEKxOwjKGJRLk2baud\\\\\\n\",\n       \"otOyCn2qtHFbcZuEJy6TiVjG4NFhAcbyPQ8QrwqRCVjG2GSoL9uGMVpox3fzhImRG4ZCpfrMDvFK\\\\\\n\",\n       \"CljtYvr06fTKK680TMM49mXuq2WDCVhGW3njjTdo1113pT333NMJWFOnTqX//ve/tNJKK1lNG8uQ\\\\\\n\",\n       \"oYhOQxWsRsrDbK6NApeuk8EKWrk2imGGYRiGYRjGaKEcV6gcD30bw8nOO+9Mf/rTnxqm3XjjjW66\\\\\\n\",\n       \"sWwwActoK2eddZbLXwXHFbP++utbLRvLWLAZjAAVLSdnVju2MxhRKDfE7XCZW91vJPZtYpZhGIZh\\\\\\n\",\n       \"GIaxfECurCeeeKI2/vTTT9N9991HK6+8Mq2zzjo0c+ZMF130q1/9ys3/4he/SOeddx6dcMIJ9NnP\\\\\\n\",\n       \"fpb+9re/0R/+8AfXM6GxbBgpVgFjlHDNNde4UMEDDzyQpk2bRttvvz399Kc/Xd7FMkYtLP5EgxSD\\\\\\n\",\n       \"5Pp6W1mWHcy2W9lGK7Rjf0Opi+Gqd8MwDMMwDGO0U6G4LUMr3HXXXe59FQM47rjj3OeTTz7Zjb/8\\\\\\n\",\n       \"8sv03HPPNRgzIFbBdbXtttvS97//ffrZz37meiI0lg3mwDLaylNPPUU/+clP3MV/0kkn0Z133klf\\\\\\n\",\n       \"/epXqaOjgw499FDvOr29vW5g0IuDYSw7HT5qw3JpQk+79t9sG1m+sOPA/uS6en48TE4sXpfXH17L\\\\\\n\",\n       \"t2EYhmEYhjFyqbh/Q99GK+yxxx4Ux+Fn2F/84hfede69995Blc8YOiZgGW2lUqk4B9Z3vvMdNw4F\\\\\\n\",\n       \"+6GHHqLzzz8/KGDNmjWLTjvtNDsTxiCEq8GGCkZtFsaiZXwMPvDl2+xLO7SvuIV6qGSo18GGNGY5\\\\\\n\",\n       \"BsMwDMMwDMMwxiIWQmi0ldVXX5222GKLhmmbb755g/VSg9jiN998szag21PDSM+f1Krw00oIHW+/\\\\\\n\",\n       \"2bZyTZbVy/iGdocQDnZ/epm0cmUt+2BDC4ejbgzDMAzDMIyRTDmO2zIYoxtzYBltBT0QPv744w3T\\\\\\n\",\n       \"Zs+eTeuuu25wnc7OTjcYxvAIIr7PoeV8y2SZFlomy3LtpNXwP99yHI7YbFtRC/NaCTMc7DEYhmEY\\\\\\n\",\n       \"hmEYKyqDyWHl24YxujEBy2grxx57LO2yyy4uhPBjH/sY/ec//6ELL7zQDYaxbA2jWcWuLEJT1Kay\\\\\\n\",\n       \"LWtXkU9Y8glEaQIUL+MTrNJErLRtZYHLWs64vGEYhmEYhmEYoxkTsIy28ta3vpWuuuoqFxZ4+umn\\\\\\n\",\n       \"u54azj33XDr44IOtpo1BMJhQsjQ3lVwmGuS8XJvErOGK4K5k3EdFHFM+MN8nVIVcW1nyX2URvDRc\\\\\\n\",\n       \"NsuPZRiGYRiGMVqBe6psDiyjCSZgGW3nfe97nxsMY2gMJs+V/NvKMmmhhiFBa7ACWZb1h0IzYYwF\\\\\\n\",\n       \"pmYJ3dNEqTRXVTORaiiOLBybJXk3DMMwDMMYbVgIoZEFE7AMwxiBtJrrSq7XyjajYRKxBpOra7CC\\\\\\n\",\n       \"VjNxKbROyFWlRT6f4KXzWkWDDC1sNU8B15PlNzAMwzAMwzCMsYYJWIZhrMDOqyzCT1ovgSFRKm2d\\\\\\n\",\n       \"0D5adWll3WczWnEkxZ6QQRmaF3JH5VoILwyFFvrKmTX0UIKyWDihYRiGYRjGaKIdvQhaL4SjHxOw\\\\\\n\",\n       \"DMNYgcWrtO2kredzWPnWCbmyci3sr9kxZQl9TCNLD38s+GQV2VoRtLSYxQ4pXR69jo+s7ioLJzQM\\\\\\n\",\n       \"wzAMwxhNVNqQKMISTYx+TMAyDGME0KqIk7Z8NAQhyrd+ll4KQ8uF9tFsnVZoNXl6lnxYur5CYYQh\\\\\\n\",\n       \"l1WzPFdRyrRWRKws4p1hGIZhGIZhGKMBE7AMwxghZA2hayb6hMQYn4iVlsNKfs61ycWVZfmhIN1Q\\\\\\n\",\n       \"Gt++fIJTHAgZlIRyboXyYmlRKiRSZcmdJbGk7oZhGIZhGKOBcht6IRzq+sbIxwQswzBWkLDBNOGq\\\\\\n\",\n       \"lTxXen9pzqlWErv7xpuFFrabZoJO2bO8/KIPOa1ynlBEvYxvuTRRKi2kMC0UUWM5sQzDMAzDMFZ0\\\\\\n\",\n       \"ynEyDHUbxujGBCzDMJYDUgBpJl41Wy7kegoJTiHRqVleqyyCVi5jkvhWXWSatG/nNOEnr6aHhCO5\\\\\\n\",\n       \"n0qGfFk6lI/rIm4hP1YoybssSwhZ91mTwRuGYRiGYRiGsSJhApZhGMuYLAKOXFb+Dc1PWz5qImDJ\\\\\\n\",\n       \"eWnbTwsjzBJS2Eq+riwClk+kYfdUSPipBAStOGOuqlC+LN90X9kopWxpYYVZcmM1y7tlGIZhGIZh\\\\\\n\",\n       \"jFQsibuRBROwDMNYxrQaOpfFeZXmjGqWl0o6q3x/QyKaXq9ZOKHvOCAgtRMdIkhKoNKClZ6vHVek\\\\\\n\",\n       \"nE2khCQOG9S9HPoSvJdTRC8pvIWcWFkFKd6Ory4MwzAMwzCMkUiFIipn+oE7fRvG6MYELMMwlhGt\\\\\\n\",\n       \"Ji3PmvNqMHmu0txTspw6xDAkZuVbDD1Mc5Rl/eINheKFkq7raXK87An94/V8++Nk8T6HmnZa8Xpc\\\\\\n\",\n       \"R1rsktvPEk6YVcjKN0lqbxiGYRiGYRjGioQJWIZhLANaEWaiQYQH6v2ElpHCVGidNNFKTtdliprs\\\\\\n\",\n       \"v1k4Ydr00LJxhu2Ekq5HAXGJ12F8idlDIpcul0zknpYfSy8T2n4o/DBEq6KXYRiGYRiGsTyoxMkw\\\\\\n\",\n       \"1G0YoxsTsAzDGGECFi/fbFqWsL9m0+U8KTCFHFhp64WEL18Zfcu0A18on07cLpfRripZNha5fGKW\\\\\\n\",\n       \"3IcWqaQzK+34pIim/8p1m+XlSsMELMMwDMMwjBWBchtCCIe6vjHyMQHLMIwRLnSFxK9my4XEombi\\\\\\n\",\n       \"k296lpBCn9NKu66a9XQ4FFg8ktvUIXQsPMkwPbmedFlJtxVvRwthPN8ngjXLj+XrpVDOZ0JuLd+y\\\\\\n\",\n       \"hmEYhmEYhmGMVkzAMgxjmMniNIpaTMAeck7J+VnCAtNcV768Vry/Zs6tUL6s/BCdaa3mxJKJzKUb\\\\\\n\",\n       \"q+LJNcUilXRf+QSiske0iprk3NL5sfizrGe9fy1YaTdY1nBCLdgZhmEYhmEYIw1zYBlZMAHLMIxh\\\\\\n\",\n       \"wpcPKrSc/EstjKeFCvoELC04hdaJmohezbad5sjSzrC0OgkREmy0A8o3T4f4aedWyGlFHoFJjsty\\\\\\n\",\n       \"t+KQCjmwfNvQopov9NAHnxufyGcYhmEYhmEsbypx5IahbsMY3ZiAZRjGMNGKuygtRNAncPmcV3rZ\\\\\\n\",\n       \"VgWkXCDkLyRc+eb5ksS30kOhLnsInxDjE2ZC25EikXRLyXA/OU86t2T5KoHwQD62snJPyeWiDC4r\\\\\\n\",\n       \"XWafUNVMvNJ1YQKWYRiGYRiGYayImIBlGMYwoEPlQjQLEZTT5Gef00nu2xfiJ11SIaHLJ0Tpcblc\\\\\\n\",\n       \"moCVFqbI5WxWF1mopIQNhsL4ZPifFrB4XIb0VVTIn86tRZ7eDKXwJZfhupHilty33J9PoMoaYuiD\\\\\\n\",\n       \"yy/ryDAMwzAMw1jeWAihkQUTsAzDWA6uq9AyoXxWvvnNpvvEKi085QPilv4cmsfrsmiWFmYYEt10\\\\\\n\",\n       \"uGKzOvIJR1LQyQdEKjldJmiPq4JOrEQmLVzJdXXYIH+WwpDOO6W3p5PNy201CycMCVZZXVYWTmgY\\\\\\n\",\n       \"hmEYhjGSKFPODUPbhjHaMQHLMIw2ERJifMvJv3p6aBmfaypN/NEClE98ogxClU7MrkMN802cWr79\\\\\\n\",\n       \"ZKm30Bd4pYmApafL7bJQJUMAeVx+5cuQP9kroRSv5Gc5ToH5vF2e7zu3ejpPk8voaYPNiaW3ZRiG\\\\\\n\",\n       \"YRiGYRjGSMYELMMwlrH7ipdttm5I0Ak5m+QyoUTrPlEpqzCVG8I2dFl9x5s17DLf5Lcm7b7y9QDI\\\\\\n\",\n       \"81jo8TmZpBgkt8PrsaNKhvtJJ5Ucl64rmUtLOsF84X8+YU0LVvrYmolXaesahmEYhmEYy4O4DUnc\\\\\\n\",\n       \"sQ1jdGMClmEYQ0SLSGnLyb9ZwwZDwk8oPJCaCE1pea60ECXnsXCk58lt6X3IcspxWSbf9FbQCdh9\\\\\\n\",\n       \"03leQeW4ku4q6eSS88pqvhateB+h/FicC4s/SzGMRSzZm6FO9q63mSWcMKvDistshnPDMAzDMIzl\\\\\\n\",\n       \"ieXAMrIwtCBTwzCMTGQJG+RxX3ifXjbUW6BPjAqNS2HKN/C8ghjnzzxdDsXqEFqm2GQoDHJoZbuy\\\\\\n\",\n       \"XKH9ymV8dZBWX6EQzNB4KKTT12709CxtyTfdh/1aZ4xtzjzzTIqiiI455pjlXRTDMAzDMIwg5sAy\\\\\\n\",\n       \"DGMZkSZW+cQGXwig/izHpZMpLf+VFlpCzqtmIYRyH/mU/fkSxTNpIYW+OvO5iXTIICOdTT4nlXQ9\\\\\\n\",\n       \"cW4s2UtgxfM5J3oPlOGC2gUmww1lHixZHum0kuGKvuOW9RHKiTWUcELDGLvceeeddMEFF9A222yz\\\\\\n\",\n       \"vItiGIZhjGHKcc4NQ9tG24pjjFBMwDIMYwho90xoGU0zB81gwgYpRaDSy6eJVyw6hYStZsKXb9lQ\\\\\\n\",\n       \"OGE+Qz1Jwcf3rSxFKw6F070N6lA8GQaoc2HxPtOWlSF3PsHKl3tL5r2Sy8tjlyKXTDBPnumt5MTS\\\\\\n\",\n       \"IYYaGb5oGGOHRYsW0cEHH0w//elP6Vvf+tbyLo5hGIYxhqlQRJUhBohV7IfLUY8JWIZhDKN4NdTt\\\\\\n\",\n       \"avGH0UKRnMaOKErJXZVFkCqkzNMhc1m3q8spx/UxZkHnsCoKIYZFHJ8I5ZsmP5dT5pVEWbNuV5aX\\\\\\n\",\n       \"c05pgYtFJilcSfcXLztcYpMU7gxjbHDkkUfS/vvvT3vvvbcJWIZhGIZhjHhMwDIMo0Wy5hZKCwPT\\\\\\n\",\n       \"bismlOdIf855ltWOK7lMszDBtLBAnlZQ87RjK7SfUM4n3zGl1ZMOF2S0WCXdV77E7D5xiQUrKRax\\\\\\n\",\n       \"UFRSQpJ0bGmRSQpTlSaf5V8uvwx3DIUXymVlGGMoyTs1mR6qc/OgG6Ob3//+93TPPfe4EMIs9Pb2\\\\\\n\",\n       \"uoFZsGDBMJbOMAzDGGtYEncjCyZgGYYxCLI6hZrldUoTqXzijhaBZHm0SJTFIeVLPi5FKSlYadFK\\\\\\n\",\n       \"O7W4HL7cWXrbuty+OvU53HzOo7ReCLVYJUUtFq14XyVVRi1wsUgktyePU+4ri4glj7vsEc7Swgll\\\\\\n\",\n       \"+9H1w9N9AlYWUcpcWMbo5/nnn6ejjz6abrzxRurq6sq0zqxZs+i0004b9rIZhmEYY5P25MCyHyBH\\\\\\n\",\n       \"OyZgGYYxDPjcQz7nVZpIRYFQu1A4XhbByhcWqIUpPV0LWNq1VWiy34LneLQzSx8rH5sP+cWs81z5\\\\\\n\",\n       \"QvhIhAXK+QW1rA4JZIGLyypzYElBjLdLYpsy3DAkYsnyy/xcXN+6bHL/lCJuSYeWdqyZu8owwN13\\\\\\n\",\n       \"301z586lt7zlLbUKKZfLdOutt9J5553nnFb5vMzRRzRz5kw67rjjGhxYa6+9tlWoYRiGYRjLDBOw\\\\\\n\",\n       \"DMNogdwgwwvTxCstSPkcSc1cVzqET4tW2rklxag0UUrOzweEMC2K6VDDZuIatcmBxZ9Duah0b4Ol\\\\\\n\",\n       \"lETu7MZikYiFIg4R5PmRclDJv7J+eX98DKGcWPL4tLOL6yQtJ5YWqHyClazT0K90MjTSMEYfe+21\\\\\\n\",\n       \"Fz344IMN0z7zmc/QZpttRieeeOIA8Qp0dna6wTAMwzCGL4l7NORtGKMbE7AMw8hISJwKLZdFvErb\\\\\\n\",\n       \"h/4cmibD96So5ROLfA4rXz4r3zKFJgKWdlzp/TUTsPIZ6lrmumJ0j4BpydS1IKRzYWnXlk/4YfdW\\\\\\n\",\n       \"uYnII7fjCx/UriydzypNDOX5aQJUMxGrWS6sZvswjBWXiRMn0lZbbdUwbfz48bTKKqsMmG4YhmEY\\\\\\n\",\n       \"ywL0QFhu+mN5s23Yc9toxwQswzAyIAWHVmkmXunxUIignJ8lbFCLUdJRFRKwQsJUQYUU8rheLt9C\\\\\\n\",\n       \"T4b62NLcWNTEdUWengBDPQjyODufZD4rdmnJ7Uk3Eruvch4nljyXPI0dUqFj8IlYchrXhTwmLcJp\\\\\\n\",\n       \"fA6rwQhR8rjtYcgwDMMwDMMwljcmYBmG0QRfKJuPNGdVaPlcE2FLupJyKWGDMlRPi0jNRCo9T4YL\\\\\\n\",\n       \"FpQDyydo+bbP5fOVJSRmEXmidlIp18xXaaJVSMDizxwaWBCfZQ4qFqz4MwtfvHMpgLGgxfN4mxIZ\\\\\\n\",\n       \"jijD/nQ4IYtHvAzPk2ISi1uu9loUm3zOLB86tNEwRic333zz8i6CYRiGMYaxJO5GFkzAMgyjDfiE\\\\\\n\",\n       \"K1/ooG+eb7pvPR0eqD/rfFMhgUmLXXLwTcs3EbD0X71cvUz5fCLY5XKRGzAtioiiCOP4Wz3SJgas\\\\\\n\",\n       \"SlVLQUcr+Iy/cYz9x1Sp5KhSSUSZclk7sqQwJYUk6cbyiUc5ld9KnhspZulcVL6wT5nvSo7z+jKc\\\\\\n\",\n       \"UApU0k2lXVg67NDnvOJtDbZ3QsMwDMMwDGM4QwgxDG0b9kw32jEByzCMFIbivPKJUFKg8okbobxH\\\\\\n\",\n       \"zcQr6crSYpYUrXQydp9QJR1XzQQsn/BVd3hFUXKLjaKcE6kKhUS4gkDFghX/LYi7cTMnVt15RVQq\\\\\\n\",\n       \"QcSKqiJW5AQtzI9dN8I59zeOE0EI8+siE4tSMnSPRSpSubF851mLWW4PQhDyiUgydJH/ynMpBTMp\\\\\\n\",\n       \"Ysn8WHI/er8ancdKi1W+cMMQJnQZhmEYhmEYxvLEBCzDMFLIDVK80uvJZXxhgzKcUC4XyhnFgpFc\\\\\\n\",\n       \"Ts/z5bLSYpWc7xOs0uaFXFuJ6wqiFRxXEKMwQKDCXxav5GceZwdWVgELGhU+Q7TioT4eUbkcOYGr\\\\\\n\",\n       \"XM5TuRxTqSTD7GQoILuv+LOcx3UneyfUYpd0yfF6sUr6zutKV5h0WGXJiaXFLN6ehsU1X5ig3IZc\\\\\\n\",\n       \"Xi+n5/sEO8MwDMMwDKMdlOPIDUPdhjG6MQHLMIw25LMaynakcKVFKp3zSn+WIpXOO6XD+3ziU0iw\\\\\\n\",\n       \"0ss1m5fsJ4ryVCzCaVUXpTo66iKV/MwCFgtXQ3FgSSFLClp9ffIzBC18zrt1+vvzFMdSuCop0UqK\\\\\\n\",\n       \"W9KtlTZPOqrIkw/L91nmzpLhhzrEUIpVUghLE7KoSfhgq7RrO4ZhGIZhGIak3IZeCMv2jDbqMQHL\\\\\\n\",\n       \"MAyFLw+Vj2gQ00Mhgr48V7750qmlwwdDidtDTimdnF3msPK5r4pqfn15OK0QGoi/xWIiRvGAcRar\\\\\\n\",\n       \"tIDF4hXPd0dYHU8jCRFMPtdDBpO/UsDC/nk+PpdKiSMr2R8LWvgr84axYMQJ2/sDIZuML/cUZRB6\\\\\\n\",\n       \"pKNKO7hkjqtQ2J8UzPR8zqUVKkMoHLBZmGArIYeGYRiGYRiGYbQTE7AMwxiC+ypqUaTy5cVi6r3x\\\\\\n\",\n       \"Nd++zoOlwwi1C8uX50oLUdJpJefx9OIA11WS26rQIFrhM4/zZy1gafcVi1nuCKt5sdLgxO2ARSuf\\\\\\n\",\n       \"C0sKWP39yZC4r5L9lUo5NyR5spBHSyZxZ4FI1rtM1h7KP1VSy5RS1pFipM55laUt6HDAtHxXcppP\\\\\\n\",\n       \"cMua46pZuKFhGIZhGIbRKpU454ahUOEHZGPUYgKWYRgpeaiGkveKl+V58jPDoYB6nVD+Kz34wgWl\\\\\\n\",\n       \"o0o6rAqecSlUFVIErI4By0jBqqurLlpBpNLuKx6XDiydB4s/N8uDJfNf6ZBBnQ8LIYQQq1jkYgEL\\\\\\n\",\n       \"A8/D556eyIUUIkdWqVSsik48oCB9npxY/SqkUJ5HnXSdx2UIoZxeEKGMEilGVYRDTM+TApsMKWQX\\\\\\n\",\n       \"FgtiWrDSoYc8rZl7jEVS2ROiYRiGYRiGMVgshNDIgglYhmG04LqKMuaxSlvWt79Q7qs08UrOkzmw\\\\\\n\",\n       \"Qq4rPRSVSCXHi8p1lXyG4yqXy1FnJ9VyXeGzFK3wGYN0X7GIJR1YmKfFLB1CKN1Y2nUlP0vRigUr\\\\\\n\",\n       \"FrCSJO6NLixMT0IKkwFl6e1Nwgv7+2Pq7c1XezaUIYRl8ZnPWSkQdiqTuPvGQV5th8P+JDrBO4tY\\\\\\n\",\n       \"3EOiDDXkdpgmPvlCAH1J3XnZLD0Tym0ZhmEYhmEYhjFcmIBlGGOerDmvmFaFLl9YoZ6m81mRR8Ty\\\\\\n\",\n       \"Db4k7yHBSruyQonaeWARKxny+Xy1V8HIOa5YsMJnFrAgBEkBC39lD4Q8DlFKhhZyKCELVjIflk/A\\\\\\n\",\n       \"YrEK4zp0EAKVzHuFvyxisXDFoho7sHgfyXQIVxCzomp+LH2+9DmWidSleKSFJC3ySEcVn0u5rSjQ\\\\\\n\",\n       \"JnyJ4mU5dAhhFJjerP22Ek7oOz7DMAzDMAwjK5U29CKY1qWPMTowAcswxjxDizXPHpYYEkHSEreH\\\\\\n\",\n       \"XFnSdaVDCtMGncuKP+c8Dqx62GAUFRtEqu7u+md2YPFnmf+KQwtlDiwWkGRPhdwDoXZjhZCuK8AC\\\\\\n\",\n       \"Fcb5MzurpLDF+2Jxrbe3Ph37ZUEL9PdDxMpTTw9yZOlzKc+nzGelQwddaQMCTyycWbKNyJxZcn8c\\\\\\n\",\n       \"CuhrIyyWSRFLClvaqdVOdH4wwzAMwzAMo1UqlHPDUBjq+sbIxwQswxiT+BKmNyMkMoXcVnIfvum+\\\\\\n\",\n       \"/bNyo3sa9OW8ikQ+K18Sd+mq0mGCAx1WA/NcdbpwQbiuIESx64oFLOmyYhGLB19uLF8IoS8HlnRg\\\\\\n\",\n       \"hZAhgzoHli+EkBO3o5wsUmEeDxCyeB7GpTurUIiop6dI5TLCCmWidc6PxaITC08yzDDUbipKfOIc\\\\\\n\",\n       \"WNhG6OBjTyihFo2iQCJ42Suhns7La8dYq+GB+RShzTAMwzAMwzCMoWIClmGMOVoVr0I5rdLEq9B2\\\\\\n\",\n       \"dOiXDgfk8mnxK5QLi6dpl5XPjSWFK+3I0oJWkQqFHBWLGJKQQSlYsYDFA8alA0suy2GDsndCDidM\\\\\\n\",\n       \"S+ieRrPE7ezAwj5Y0JJ5r/CZHVgyzJHFK8AiVhLaiCTvuaqo1Snqn3NXSbFHjkshR7qk+KtHClBS\\\\\\n\",\n       \"ZJKuKTlNthMpZlFguTQhSQtUPsFqMCGCWfZtGIZhGIZhSMpxzg1DYajrGyMfE7AMY0yghaahrB+a\\\\\\n\",\n       \"FrXw2ZfDyhcqqJ1boXWlYBUKJcw1yXtVd2jlcnknXHV2Rg1hguy2YkELA7uzpKAlBSwZUigTu/N0\\\\\\n\",\n       \"TtoecmBxr4SyV2DtwOKk7hw2KBO2151UyYBxKVbhr8y9xfvmz5iHbUPEQh0iL1ZixOJQvYJyHsnE\\\\\\n\",\n       \"6/mAgCXDA6UrSopWZU/OKzmf9+FzXencV6EcWDrXlS/3VdZ8WHody49lGIZhGIaRlQpFbhgKQ13f\\\\\\n\",\n       \"GPmYgGUYY4LB/hqRJWwwbX9pua18TrBQzispQHH+K+3G8rmwOMxQhxLKsEH5uehCBuG80iLV+PF1\\\\\\n\",\n       \"l5V0YLGApYUuGV7IYhVP94UR+hxYab0QageWDB9kBxaHEGI63FYY5zBBDh3EOAtrPJ0FN3xesqR6\\\\\\n\",\n       \"ZlzZkgTvyX587jspHFWqgiCfBxakCkIQ4pBBdk9RdT6HI0riFPeVbFc8Xzur5HJp+araEU7I22Es\\\\\\n\",\n       \"P5ZhGIZhGIZhDBUTsAxj1DIUC20obDC0rA73ayXvlc9pJXNZ+QSttLBBDgXUvQ5ymGCH+MxDMl4s\\\\\\n\",\n       \"wnmViE4QrLSAJUMGWZjCdJ8DS+bGkuGEshdAneBdilbcM6FE9jjIYhZEpjQBS4pWLGLpgcMIOayQ\\\\\\n\",\n       \"e0nEZ3aIscjlzlAOIlbebbfxHMrzJ9sAO7VY2KodkWpHZSUiSUGKc17xNN17YVqCd533Ki9ELp9g\\\\\\n\",\n       \"5WMojip5LVpooWEYhmEYhsZCCI0smIBlGKOKoYYKyvVCYYOt7sPnstIChwwJlMvx3yhjDiw9Tbqu\\\\\\n\",\n       \"tOjFbqBkgPMqEaUQOlgXrvgvpvH0cePqAhbmYVyKXbJXQgzsvuLPPOTzsetvJYorlI9iojhRpqIy\\\\\\n\",\n       \"UU5qLkxMlMNiXHdRjgodEcVR0msLXFGctB0DBCiUg11WXA6IVj099XK4Tcf1HgnxmcMHOW87O8GS\\\\\\n\",\n       \"XgojyuViqlSwTxlCWK7WbawEJz4Xsk3wdFBR+a58+axkSCEFej4M5b/KEgaoQwv5mHzLtBpWGLpm\\\\\\n\",\n       \"hqNXRMMwDMMwjBWPMp5lh9iL4FDXN0Y+JmAZxqgiS3hf1u00m+4TukIOK1/5QvmutJtLC1ghp5YU\\\\\\n\",\n       \"phrFqYFiVt6T8yoRsFho4oHFKw4bxGctWMlx6c5q7Ikwpm7Xk2FMeTicCnES6Q+FyFmnqjYqtlnJ\\\\\\n\",\n       \"pFeyNtkSVf1bhLJUKFKcyxHksP5S5DZVKkVVV1US8gfBisUsdlmxgJXkuKrnxUKROJwRn5NE7sly\\\\\\n\",\n       \"PA4XFsSsOEbvhFw6TurOApb8iuHjYYFK5scqBZxVurdCKVal5cUiT0hjWhhfs1xZvmUHi8z9ZQKW\\\\\\n\",\n       \"YRiGYRiGYWTFBCzDWKHx5ZEaDK3ktQotr8Ul3/ZDv4pIR44OE+TxosddJZeRIlUxGCbYGEJYoEIh\\\\\\n\",\n       \"SdjOuax4gBDFYhSHFMp5/FmGG+r8WDzuBCz09AehplxNSrW0apPieD/dnSDGfehs7xzfl8tRVChQ\\\\\\n\",\n       \"Byew6i5Qd3eB+qu7Wbq0MYSQwwVZtEJZIXJhwGb5M6g7xhrzdSGhO8QshBMmzizZQ6GvXTC6p0IZ\\\\\\n\",\n       \"XijzV+Ec9QtBzFWACgmstCAUyfxcPlFMlo+34du+bP+DFaK4zcp9WnihYRiGYRhjk0ocuWGo2zBG\\\\\\n\",\n       \"NyZgGcYKh3YptWN7WfeXNp42Xe7Hl9NKrqPzX8nQQOmekvMKYpovYbvucTARsPL5vHMoobdBuKik\\\\\\n\",\n       \"gIVxFqqkmIW/EKxYqPLlx2Jhq6sLnqgy5SolinqQiKqXIk5UxcmpWKzCuC/J1YDToZJkVRNYRZy4\\\\\\n\",\n       \"qjoeF4uU7+ikXLFIxc4CdXYWnCAF0Qp/OecVditX5STzUqiCeCV7JNTtI5mep3K5KAQdmaw9VuJU\\\\\\n\",\n       \"QYhI/JmXY1Gn7Ml5xeKVFpZ8LiydX0uHJcp1tcjFZfHN956UNrip5LVg7izDMAzDMMYWLh3GEEMA\\\\\\n\",\n       \"sQ1jdGMClmGMeKJhCBPMkscqS4igT7xqNk06dEIhhHrfOveVL6m7FLTYmaXzY9WFrVwuR4VC5AQs\\\\\\n\",\n       \"dkvJXFfSYSUFLClosWAFsYtzXrn8WMUKFYsxFalMUX9fIlpBKYINirsF5CzrnHUd0wYjYHEmeNl1\\\\\\n\",\n       \"YKHg3FhRN7bdQbliB8XFClFHnvIRQgtzteTsMoSQ81yx+Uv2gMig2DyO9ZLxqBr1mKNKhXNg6ZxY\\\\\\n\",\n       \"fC70dJnzSvZIKOex40qKT7qtyDxZrtRKjEpzgclpsm37ejL05cXSDFbMSruuLdzQMAzDMAzDGNuY\\\\\\n\",\n       \"gGUYYyavlW+7rewzyzQtLjC+PFZ6XIed8d/QujLXle5xMPQ5cV4h51U+XxjQW6AWrKTrih1a7MDi\\\\\\n\",\n       \"dfA5Seoeu/EJ44nyUZnyCBVc0tMYtwcBi8Ur/OXPPHCSKRa1fHAXhtImxTF+nHiLP2ObHR0UYejs\\\\\\n\",\n       \"pM6uLip0FaijM3FNJT0NRgM2rT9zTiwtbnH0Y1LsiCqVxHWVCFwsVGlHlnRg+ebp3FaybbDLSvZW\\\\\\n\",\n       \"yPuSziydDF4mfuflfQJVmmCVJmL5tjEU9PVjjizDMAzDMEY3FfwQGg/RgTXE9Y2RjwlYhjGqc1sx\\\\\\n\",\n       \"PuEpbd++9fU6+UHsN2057Zzyuap8ObBk2GBjiGD9c0dDPqxCITcgn5UWrCZMqI+zSCUFLP6M6bUc\\\\\\n\",\n       \"WMUKRS5Or5pAiuP1pIClHVgsXrEbi11YaYgk7rW4P/7M4hX+yoRcVXUu19VFuc4umjKpi3r7c7We\\\\\\n\",\n       \"CrE4J3qX7iwOHeQcWFLAYqMY5ruzGOEQC653Qn+uq1C+J3ZkcX4q6b6S2/K1zaziTrMwP25r5Sai\\\\\\n\",\n       \"lMyjFdqOr4xDQebLslxZhmEYhmGMPsoUuWGo2zBGNyZgGcPKmWeeSTNnzqSjjz6azj33XKvtZeqy\\\\\\n\",\n       \"yhImmGV+K06sZgMLEM2cWKEwQZ3cPdS7oHZl1acjfA6hgxBkZG+DWsBizUeKWzxwDqxE3Iqpq6NM\\\\\\n\",\n       \"+bhEuSV9REuW1EUr/ixDCFm8YmeWzIHFAhbbmryno6omSQGLHVlsJ1MOrFqyq3HjknDG/n6KKmUq\\\\\\n\",\n       \"Fjop15mnKEq+ClikYlFK9jwI8Bf1IQUsaRzDZyTEh4BVLheqYlBF1D8nbOdp0oElc2BpEUv+lWGF\\\\\\n\",\n       \"0qXlc2qxyMTrMnI98szTophP/Go1rDC07GCQQp65swzDMAzDMIyxgQlYxrBx55130gUXXEDbbLON\\\\\\n\",\n       \"1XKQUMhdu2jFAZU2PZR3iFLGQyGDOm+Rzokl9+cTuUJDvkkOLAg16HGwHmnHict9YYQyF5YOK+Sh\\\\\\n\",\n       \"qxPiVYWKVKJcqSpQLV6ciFMYpJilBSwWtmQOLC1g8eCqpKooaQGL3Vf8GdthAQvbQ+HZ6cXbxvQo\\\\\\n\",\n       \"okI3ufxY1JGITrlcUu9cDP4sjWHYPOBNsQaXiFf1HFnIhYXE7nWxSubAkp9ZbNLnl+fJc18O/GXK\\\\\\n\",\n       \"qn3JdqQdUyxKNQsflMtpUUsul0a7wwtDWJ4swzAMwzBWTCyE0MiCCVjGsLBo0SI6+OCD6ac//Sl9\\\\\\n\",\n       \"61vfslpeZmGCURuXz5rzSotNcl6zY5QCFXncVVrU8PVA6BO58p7wQeS9ynldVzKMkHsg5LBBdlwh\\\\\\n\",\n       \"pFD2UAjnVWdHTMVyX120gkC1aFE9fBDjELF8ApYOJ4Tqw70SYhxI+xPH8kmrFMf46bBBmdCdFTre\\\\\\n\",\n       \"D6tyVQUq19lJHePHU258ZzV8EGJWfbOsofGuZQJ3LirPqxvHompkpAwz5dC8OOWc8XJS6JKOKA7x\\\\\\n\",\n       \"k8tqgSvUllnE0r0L+pxYzUQtXzvmec3CFPW22hFeKMsbCm00DMMwDMMYuST9Tw81hNAY7ZiAZQwL\\\\\\n\",\n       \"Rx55JO2///609957m4DVgM8dMlh84lIWmiU3DAlXer2QeCXz9ch98vL5wLp6GZ0PS4YFJoJUo1DF\\\\\\n\",\n       \"A89vzIOFpO26Z0Eel8KUzHPFoYI679WkSdhyifL9fYlgpQUs/GUHFj6zeCVFKw4hlDmwEutSPazQ\\\\\\n\",\n       \"h0zgzmGDnMQdn7EPKWZxPCSLaOzIYsGss5OicpkKEyZQlO+g/CTUWd3UxcVg0xdraxxCyPOl7obl\\\\\\n\",\n       \"kNR96dIilcvsXEq2m1BSYYNSyOHleFyKTrESrmQoIbux2C0lx1nU4bbFyeXlNnyilQxnlG0+JDzJ\\\\\\n\",\n       \"dp1FSPJds0MRtOR1aqGFhmEYhmEYxujCBCyj7fz+97+ne+65x4UQZqG3t9cNzIIFC0bhWWlHqOBg\\\\\\n\",\n       \"Bassy2nnlJ7nm+8T49KmSZFKC14655Vc35fYXbp2WNzS+a/qA+e90mGDHDrI4YNsTmKRi5dpTPQe\\\\\\n\",\n       \"UzEqUa6vh6K+qkjFoYIYIGZBRMJnFq04pBDzsgpYrAZp2HUlBSyZxB3bZgGL4/5wMHK7bLFiBSqK\\\\\\n\",\n       \"KMrnKQdHmTveQq3+ObKRV0U9cPJ2HALP53RbHKGYGMAiiuMkPLHxnOheCKXrSp5fdl1pp5RsM6Ry\\\\\\n\",\n       \"Xfk+6zBAKVaFrsmQG0tO08tSi8v4lguVIyvtFsUMwzAMwzCGHwshNLJg/UwabeX55593CdsvueQS\\\\\\n\",\n       \"6uJsz02YNWsWTZ48uTasvfbao+ysyJftoYhXehjqenpa2vyQeCYdH77ldCJ2vc1m8/T8tLxXvs/J\\\\\\n\",\n       \"gNxObFLi6DopYvHA01msknmwnHjVFbshX+6nHHoahCDFAhYGjMOBxa4sTOPPPPB8uRx/Xriw4W+s\\\\\\n\",\n       \"Bt8ywUHvM1Q+MeR6l7pj4+Nk4U6GXPI415UUALkOWT9LIh19yfTTzp0vgb9uD2ltSIucWuzS7Zvb\\\\\\n\",\n       \"acgZ2ez68V1Lza69NAa73nDcdwzDMAzDMJYN5TjXlqFVfvzjH9N6663n3l3f9ra30X/+85/U5dEx\\\\\\n\",\n       \"2aabbkrd3d3uvfXYY4+lHvxwbSwTzIFltJW7776b5s6dS295y1tq08rlMt1666103nnnOadVHk4R\\\\\\n\",\n       \"AXopPO644xocWKNDxNJhdIOh1Ztwqy+8oWWlMBXaru+lXwoHzfbrc1Tpab7E7NqNJefpcEIOH2x0\\\\\\n\",\n       \"UsmE7RxlhxxXOqyQQwg5nLAjX6ZCuZ9o4YJ6riuIP3ANsuMKn9mBxaIR3FUcYsi2JU7iLh1YMlt6\\\\\\n\",\n       \"9XODD4gTt2OQvRBKZQ4Fx18OFeSDrfZC6OZzJnbuHRFgv1U7VWFyRF0dRcrlCzX3Fee5QvG5mHKQ\\\\\\n\",\n       \"HSmCutkrov5+Phd8NNKBVQ6cS7cVz7hsXzL8T7uxQu2O26rPnSW3p51Xcr3BJHPX11DWED9fmVtF\\\\\\n\",\n       \"J7o3DMMwDMMwLr30Uvceev755zvxCuLUfvvtR48//jhNmzZtQAX99re/pRkzZtBFF11Eu+yyC82e\\\\\\n\",\n       \"PZsOO+wwl0P2nHPOsQpdBpiAZbSVvfbaix588MGGaZ/5zGdos802oxNPPHGAeAU6OzvdMDoYiqlx\\\\\\n\",\n       \"MC6JwTg7sszXThLfcnpZ7XIJuWOkY8snREUBN44WsWTOK/7L4Wn1IRGpopprSOe9kmGD0HdkAvf6\\\\\\n\",\n       \"eEydhTLlS30U9VRFKQ4PhBMKAwtY+KwFLBavZI+EVQErLpcpLpUSWQGCVRwnMoUQr2o1WlWKcuWy\\\\\\n\",\n       \"+6KEqpTv6aGoUHAhgO4AsS+2Q2E/fJAcLsiiGSe0wjirU3GcnM1CgQrd4yjK49gTEUsnak/yXNUj\\\\\\n\",\n       \"H1nA4t4Lq+m1XAghhJqeHi1gcR4q+ZlUaKE877L3wrJnujsA0RZ5WzJPFm+b21hFCFZSxNLiUqS2\\\\\\n\",\n       \"LXNyxYMUqQYjaLUjPFBeo5bw3TAMwzCMkQGeQitDdI1Xn2QzA9HpiCOOcO+rAELWdddd5wQqCFWa\\\\\\n\",\n       \"2267jXbddVf65Cc/6cbh3PrEJz5Bd9xxx5DKbWTHBCyjrUycOJG22mqrhmnjx4+nVVZZZcD00UMo\\\\\\n\",\n       \"vG4w67ciRjVbvlm5QsJUqFxRk886lFC6ZEKhXb7BFy6oRTOfsMXr1HsvhMgjQwelUckXRqjzYSXT\\\\\\n\",\n       \"Y/c3X+mnXH81lxULUtzLoBSsOB8Wz8OA5Xlaby/FEK76+pxwVakmlCoJSUF6ZAb0gxfHiVTHSpFb\\\\\\n\",\n       \"qUK5XM4lY48qFYpYpOKuAqUCxZYpVASPc8UACGG9vZTD386IOjry1NmBTSQ9C3LdsHiFcdbFUKds\\\\\\n\",\n       \"KJN1nehlyIelBUp9nn0iqBSVtBgVaj/aRZUToheLNrw9KQD58mTJ6fqzjwGyY5P5vuWy5svS5cpC\\\\\\n\",\n       \"6DgsT5ZhGIZhGMuPwYYA6m1kpa+vz0UPIRqIwfM0OiG7/fbbvevAdfWb3/zGhRnutNNO9NRTT9Gf\\\\\\n\",\n       \"/vQn+vSnPz2kchvZMQHLMIZMq2F7vvXbsb/BCGmhm3woZDC0jM6zk8soSvmEC71eaPC5tmQydwhY\\\\\\n\",\n       \"hVo+JvmXI+xk7iYtZElBq7ujQrRQiFYsTnGOKT2NQwU5z9TSpRSzgAXxqr/fhdaWhWDFXiDZJ5/0\\\\\\n\",\n       \"5MhaKYmjx+d8HDtXVh4D1CIcYDUcMOKs6gyHJ0oBixPC4zOHJUYR5aKIuiZ2UF9XjsrVkEDUB2+S\\\\\\n\",\n       \"64iTuPM8FrBQjCShe+TORRxXlIOOjz6tTUhHlE/IlMILi1sSTgAvRTDuxVCKYlLY0SF3IRFKXyeV\\\\\\n\",\n       \"QVyDgwlHHOzyel15zCZgGYZhGIYxOtCdgvkifl599VX3PL7aaqs1TMf4Y4895t0unFdY7x3veIeL\\\\\\n\",\n       \"miiVSvTFL36RTjrppGE4CsOHCVjGsHPzzTePwlqWDqPBrp+VXJtEtLRkzqH1faIVkw84sqR4lVYO\\\\\\n\",\n       \"6dDyhQnqaYXAMkUVTpjMQ/Jw7bRCPitf0nZOUC6HiROrKaOKlUR48iVi588cNsjjLGLJEMKeHir3\\\\\\n\",\n       \"9lIljp0kUhLCVUnILCyBSJ+QrHlda5GoGScLVYWsHPLNcY4rDOzKQkghC1ocQsgiFscG8ueqO2tc\\\\\\n\",\n       \"VzflckiGnyzOvRBidRwab4Y7QcTmUYfc4SGLXf39OSqXZeJ2mQur4jm/vpDCfCBs0Bcu6Gvn3HZl\\\\\\n\",\n       \"DiwZIqj9bzrkLi30LySe+cqgl9PL6OUqwyxm6fo2DMMYfm546b4Vupr3W2O75V0Ew1iulGLkVX2q\\\\\\n\",\n       \"LduqoOdql3piaNsAOp/yKaecQqeeeiq14732O9/5Dv3v//6vy5n1xBNPuA7MzjjjDPrmN7855O0b\\\\\\n\",\n       \"zTEByzCWmeMqa6hglm0Pxl2V1aGlBams87OGBmrnlHZo8bR6KGCjqCGFKi3h8DJ5iqJcg/OKP+sw\\\\\\n\",\n       \"Qc6N5XNlFZH3Ki7VQwRl6CBPk+4rFqw4rLAqeFX6+6lSKlF/Vbxi0apfpDGXDqxyk2A0XTMsqxTF\\\\\\n\",\n       \"+nBlQU1CqGGOwwkBFCXXPKquK8CVA/FKVhrCEjs6KJ8vUrGAOsm7emEHFg6fQwg5vJBFK2hmst7x\\\\\\n\",\n       \"t1TiNinPX6FaG3zu2KXFNcDOKZ4uXVbaQcXT5bj8LGuU50mJUO5vQPCm2m8W55RP6E4T1nzbyLpM\\\\\\n\",\n       \"6HoejJg1mPUMwzAMwzAGT5lybhgKvP7zzz9PkyZNqk335VteddVVXX7mV155pWE6xqdPn+7dPkQq\\\\\\n\",\n       \"hAsefvjhbnzrrbemxYsX0+c//3n6+te/7kIQjeHFatgwMqMFmcGQZV3ffrJMSxtyGbbh2z8FBCff\\\\\\n\",\n       \"NmQIoJ6uBSrpI9Lra4eV71jrQpXPtYUvj0IhEbAQEecLIZQDd+SnHVt5qlCu1NeYeJ3zWelB58aq\\\\\\n\",\n       \"ilqV3l4q9/dTqVx2gpUcINv0VT/z3/7AeNoyfUIQa9h+uZyIZygXi2o8hI5DHkv1uHPlflcX0rnG\\\\\\n\",\n       \"9SnH5XRZ53wO4IpLvth9oaC+HiZlO9POPNl+fCGovjBTLbz6put2lhvE9dLs2ksbWrkHNLuHLK/7\\\\\\n\",\n       \"nGEYhmEYxvID4pUcfAJWR0cH7bDDDnTTTTfVpiE3LcZ33nln73aXLFkyQKTiTsoQUmgMP+bAMoxM\\\\\\n\",\n       \"pIXfpZH1JTBrmOBgtxEN4tiijI4u/ZIut+kTryjgI4rUNClsyM8+4UO6eQpUKCTJ21mM0nmwWHiR\\\\\\n\",\n       \"LqzG3gljNy2/tDfssPINPG/xYoqrPRJyqCALTfjMIYQl4bzi6eztCQWM6ZqVR8/bYCkIxJUK5SsV\\\\\\n\",\n       \"KlZ7G0SSdwcqAY4rznslk7hX3VduflWVKnQTRd1Jr45I6I7N4DM0LpnEXQqBjXmwOK98RH19BXX0\\\\\\n\",\n       \"3LOgPDLdLkiFB8reCKVDi/1rvC3p2NJhhtLBxchcW7yObO+yF0O5jsyjpdHOL4kMWZT78a0r0aGN\\\\\\n\",\n       \"Pgab50qvZ70VGoZhGIYxvLQzhDArxx13HB166KG04447uqTs5557rnNUca+EhxxyCK255po0a9Ys\\\\\\n\",\n       \"N/7+97/f9Vy4/fbb10II4crCdBayjOHFBCzDaLt4FbVJ3EqbLx1LrZYhTYhqtg8tUslp8qatXS88\\\\\\n\",\n       \"T0ouPoeLFqykMBWSbgaGFfp6GJQ5r3iAACMFLBa0uiBeuR4HewaGCuKzznGFvFcyB9aSJS5pOzus\\\\\\n\",\n       \"WLBip5TOgVUO5MEKBYnp4Mm8R8AqVOfH4kZfWLKkUcACUJcgVnEIIT5L1Y9jLHM5yhUK1NXZWUvU\\\\\\n\",\n       \"jjrjHFhcl5wDi+uac2CxkJWEF8pwwViEEPoGFrtYbJLtSYteOom7FroijxgjRTCJzLslt6eJM4QK\\\\\\n\",\n       \"polS+mFH56DKIkKFQhs1shytiFla5DMMwzAMw2gvFcq5YajbaIWPf/zjNG/ePDr55JNpzpw5tN12\\\\\\n\",\n       \"29H1119fS+z+3HPPNTiuvvGNb7ietfH3xRdfpKlTpzrx6tvf/vaQym1kxwQswwgSEnaGuk6aYDRY\\\\\\n\",\n       \"Matdyzcrkxat+LP8svCFUPG6+rPPoeVz4YQcXQPXyeXQ411iJMKA7xx2XcnQNukQkmFwLG7BWhRx\\\\\\n\",\n       \"8nOZCB1/OfyOw+zkOBK1o5fBSqXBfcWOKylglTzuK5kLizyZmPSR6z725DoDzgrUI+TFQlmhNnEe\\\\\\n\",\n       \"LA6P5Mri4+Xj6+9P6qKjjzo6OqmjWg2yzjjnFXeAyHXN54E/J7uEg8t3/vJKzJJHG6vP2mGlhSaf\\\\\\n\",\n       \"60q2T1lLUpyR2/clYPeJQHGTayeLcBTq2TAt35beXtp+9DxZB83QIpphGIZhGMbo4Ctf+YobsnRG\\\\\\n\",\n       \"VigUXEJ4DMbywQQsw0hlML8CtCpEhV505XgWt1aWfTWbF3Jn+eZreYT/+kSpkFClBasoo5ilXViJ\\\\\\n\",\n       \"KyeK0FNeboBowp9DAlZjPqeYioWYaEmpLuT4BilaVXNHubBB9DZYKtUELB76PQJWvwohlP3xsWyh\\\\\\n\",\n       \"ZQ1dq1LAYnzpx93yELBKJYqq2dcjqEmoHD4GKV6xQsWfkyzsVBwXV0WrJEyTex7kzzJ5uxSx6uci\\\\\\n\",\n       \"ciJWImBJwUomaPcNocTsundALWzxfN80GS7ItVVJEWt84X8hwcl37+B5WUUonhe6juU831kPiU2t\\\\\\n\",\n       \"iFeMubAMwzAMwxg+ynHkhqFuwxjdmIBlGA34QoGa0UxcopRtNhOZci2KTyEhK8u+s2xXLuMTs7Tg\\\\\\n\",\n       \"xPNkCGFIiOLQwSSP1UDRi6fr+XLdyIkk7KjC51A4oR66u6vRcrkKReWqeAVlhsUd3fsgT1PhhOXe\\\\\\n\",\n       \"3po45UvErh1Y5YADKy0HlqyZvBh0X31SBGO5olguU1QuUx7lhlWNex6UShOOh/NgcWxgVcyKyv1U\\\\\\n\",\n       \"yBWoszPv6gzVg2qSdSnHOT8WnwvuvRB5tJAPq156DuUrqCBKKVbxfJ4n27dPwpM9GmqfmlzOR6x6\\\\\\n\",\n       \"Q/TluOJap0C+LL09Pl45TYpvcrrPR+cLL9T7kPOkKNfMVZVF0Eori2EYhmEYxoqVA8tY8TAByzBa\\\\\\n\",\n       \"EqI00SBFK9+6of2HXFm5Freb5vzKKpg1E7N8Dqq6uBQWsHi+L9eVXkbPYwGkQLlcntM1NQhZMtTN\\\\\\n\",\n       \"97mhN8JcmSLZQ58KD2zovU9/Ro+DKlxQOq+GQ8CSy2P9G+fPpwteeYVe6uujdTs76cTp02mfSZMa\\\\\\n\",\n       \"zoSrNZSXVT5OCMaWNMzjrhlxbNV5UXVesZCjSkdS183qF/mxeBxCVpJuK6JSqeDErLrIlOa4kiGE\\\\\\n\",\n       \"lUBuLJ+A5ROipEPKl/cqF0he7rs2Kk0ELbnPVnJnpQlgIaGL5+lA0lYSvrciSIVcaoZhGIZhGIYx\\\\\\n\",\n       \"cuKjDGMUEhJ5mi2bVXSS6+n5vu1JiYKX8Qk5ugyheb71qIlIFBKRZHl829ZuLL28r0y+UMO0OmE5\\\\\\n\",\n       \"pu7yQkJFDBwyyPmWfH9DubEKhdilj3RKC5QX/OXPaeGE/f0U9/dTpVxuEKR4uH3VRfTzjeY1TNM5\\\\\\n\",\n       \"sWRidwxXbDSP7l91kVfo0svyMvcuXkzfeO45+sBKK9HvNt6Y3jVpEn3p2WfpEYQ1qnVQ1piPUef4\\\\\\n\",\n       \"koOuh1KJclHZ1ZWuP12/+q+cz+droFOvWbvVbcHXjvQ4BT772p/vmst6ffiuwaFcs63cA/S9ZzD3\\\\\\n\",\n       \"psHeBw3DMAzDMIZGHOeoMsQB2zBGN+bAMgzHYMIG0+aFXih9yzZzaqUt59tXKy+teputjIdCCH0C\\\\\\n\",\n       \"g89VlSY++IQD3zbqObCQGFwLU1q0krmw+HM9F1ZMhXxM+WqeKCnYNCRvl4OYVkHeK48wdduqi+iI\\\\\\n\",\n       \"XZ6mpYWYluZi+tTsaQOW4X742El1xSZz6TdbzaGOUkRfvmVt2u71iTQevQBGkZt/+/z59Ie5c+nl\\\\\\n\",\n       \"3l7qzOVow+5uOn299egPr75Kb5s4kT45bZq7uR85fTrdvmgR/fLVV+mstdaqZZsq8c2/v5/y3Osg\\\\\\n\",\n       \"H4t0YLFtStYD1umqUCWPXFhJHqy0hO3yLzuyeDyOk1DC9BxYUZMk7r6E7jKEMJfyWS4XefJK6ZDA\\\\\\n\",\n       \"Sga3lM+R5LsutTMrlDur0kKYoC8Pll4valLO0DwfvH9npTMMwzAMwxg0ZYrcMBSGur4x8jEByxjj\\\\\\n\",\n       \"pAlIoeVDN8YsAhOTz7isFIbk31a3kx+ioNVM7NIhXKGwQZ84lU9NzN6Y40qvW1+H3Vcc+SZ7GJSh\\\\\\n\",\n       \"bXoe/nKKp6hUzXmlk7Urt1Vt4ARQS5c6AUu7pRAyeP+UpU68AudtNcdN+8TsabVwQhat3Oc4pgvW\\\\\\n\",\n       \"f5Fu3Op1t3xfIaZzS88RPUw0oVikvaZMoR0nT6ZznnuOPr366vT2yZOpr1ymRxcvpv44poeXLKGP\\\\\\n\",\n       \"rbpqLTk8amznCRPo5gUL3DQWryL+29dHeahICBFk8UofnxS2RD3kIoQQdrq645xXvvrlHFiyd0JM\\\\\\n\",\n       \"xybLZd/51+1FhuVxnizyhAHKv7LdVpokRA+F1HE7bpbrSc6ToYpphIQmLQTpY9T5skK5suR2oiY9\\\\\\n\",\n       \"HYbyY2U5jlbqyTAMwzAMwzCGhglYxhimlfCXZi6qLNOzOK30es1cWKF1m7myQtvxhTWFjkWvkxZi\\\\\\n\",\n       \"6Av9kyFjzUSukPOq/hm923EYmwxX06Fr0imkw90I7itWXNh15HNjib8IHYzj2L26c0+CMlzv009M\\\\\\n\",\n       \"pZ5cTD/aao6rmQu2muPmfXT2tNqyGO5ZuJB+tO4L9OZbIDUljH95Dxq/1p5U+cAS6n3xUbr2wRvp\\\\\\n\",\n       \"6nnz3LwNxo2jVTo63NGv293t/r5RKtHkQqHWNx7+rlQo0DzhDuMaK3O69EqFcuqYGkIGfXWBOqpU\\\\\\n\",\n       \"qqGAYYebrn95brAM3FelknZf5Zs4sKRTSY5LkTYKCDsyzT2pdaW4I0UdfR34RKO4xdxYOrW+vK70\\\\\\n\",\n       \"dqToJveX5qiS29EuMt8+fWXxCV9ptCp6GYZhGIZh1KnEQ0/Cjm0YoxsTsIwxymDyt4SWjTJ+zrpc\\\\\\n\",\n       \"mtOpmTiVRbwKLZNlOz5RSw/atZVFlPIJXaH1Bg5RlGsIIaznWaqPy88hoSvqrwpYPLBoo6cpUQfO\\\\\\n\",\n       \"KQ4FZBGLxSn8PXT2NPf5f6si1s+3muPGD6hO/8trr9H5679ItEe9xqf0H0qTpxxINCUZH7/5O2nK\\\\\\n\",\n       \"bofQokdupvl/vYBOfvJJ2mr8eNp1yhR6x+TJTrgiUQYOqJPeJVmu2nJxTDmfWKePWY1HEL6K/rqs\\\\\\n\",\n       \"1We1zvnzwPxYyIPF+QrS2gcLT3xUsn1EgTBBFsXSwgh5OS0oyWnSAaUFLK5xPU2uExLFfNvRYluk\\\\\\n\",\n       \"lpXXXppzjAJinr4X6ONKWzfLfvR2DcMwDMMwssF5rIbCUNc3Rj4mYBljEJ9IFFouTbQKua6y7M/n\\\\\\n\",\n       \"iAq5vEKhiXo9GqT7Kt+CcywUUiinpwlTOjRMCxah5dOSe0O88ruAZC4mDl3jZRp7IYypAyGEPUqw\\\\\\n\",\n       \"kvmvfM6k6gABi8MA2ekkxSIMB1fDBn9aFbF+UXVirfqfjkS82luJV6UDB5z1XEcXTdru3TRuo7fR\\\\\\n\",\n       \"vN+eSI/Pn0Ov9/fT7+bMobM23pimFAr0GgQ1sd9XSyVapVBoCFXkUEIn8SCEUIYNaoFOhk1KAatc\\\\\\n\",\n       \"oo5xyIOV9CrIIYMIDZShnCF3lhQOk1BCn3DJ7ST2uLF8PQmywKXbqRS9pKglQ/OYSsp0xudY0uF/\\\\\\n\",\n       \"lSZikE/A4nWahQXKebxeSEDSUmbacr5yyftBqEdFvayFExqGYRiGYRjtxwQsY4yhBZ8QacuEBKVW\\\\\\n\",\n       \"807JdXyuqyjjcmn7a+ai8u3Pt+1m7iu9vyw5sFjAKgScVgW1bEEMjaFmvoTt0hHEOZl8YYM1txBe\\\\\\n\",\n       \"zCtVgQahhCxacUihdCbJHvuqAhY7nFhOkOGEPHy8msD94qqIhUTttCERdTcXrySFCSvRtE9/j+b+\\\\\\n\",\n       \"6niKeuZToVKh2998kzYdN47uXbSIDpg61dUo9nnHokW01bhxtbJIPxPGXQ4sPhZO5i6PmYUrFrNQ\\\\\\n\",\n       \"N25Amsy45nzzhWtyTixfnUtRKxGw9LmXgklFTJeOJ26jLMkVRM1nyYGlhTCeLwUkXl87t+Q2Kurr\\\\\\n\",\n       \"VG9T7488wpTvniMFrXxAsPIdj54WEsJ8ZZQiFA3SlaVFM8MwDMMwjHQqhM6KoiFvwxjdmIBljCGy\\\\\\n\",\n       \"3tBCTqis07SoE9quz5Xlm6fdTXK6b/ty2TQRy1cun0AVWleXV49rF4wUtGSidi1ecdL2kDNroFsn\\\\\\n\",\n       \"FCooQ9t0SJueH8UszFR7IawJNdXBE04XV+dJmUUPevqB1bDBX1VFrJB4lYsrtOWrT9HKvQvp9c6J\\\\\\n\",\n       \"9PCqG1AlylHvS49Tz7P3U9d629Ok3T5NL17zXVdba3Z20mbjxtE3n3ySLp83j94+cSL9Y/58emzp\\\\\\n\",\n       \"UjpprbWCZXND9TgieYx8zLoeqsePEMI4rrhk7lnCBxtCNdW8sPMudP61MCMdVowUofSychkpCEkx\\\\\\n\",\n       \"JyQGSQFHhxzq7YamhfJVaeGIy+6b7isjLxcSmULCmm/5tGlZRCzp2jIMwzAMw0inHEduGApDXd8Y\\\\\\n\",\n       \"+ZiAZYwhhho2yPPlX996IYGIP/ucTaF5utyhz3pbIdErzSmWxZnlK6vvGORfShGv0oQrn3Mr8n7W\\\\\\n\",\n       \"eZa0SDIg11WkRBTnvlIilRRwpJCjRB0tS0h/i3x1l8LRR2ZPoys2mUuLO+qiRC4eXxOvdnnpQfri\\\\\\n\",\n       \"A/9HU3verM2f1zWZzt/mQ3RLxxTqef4hWnDX1VTpXUJRrkBrdhRou0mT3A39+HXWoUvmzKFfzplD\\\\\\n\",\n       \"a3Z00Kx116UNu7oaysI5sOQAQYpiVQ8Y1yIWC3gselXzj+l69SVwD4mLaee2/pfFl3xANNLhgzIk\\\\\\n\",\n       \"T07j9ihdWlKQkYnTfSF+PscT16q8TtLcV9JZFbpX8HI+IYinyWPQrjSdAF7nu/IJc3o8lBdLLheC\\\\\\n\",\n       \"61WHPhqGYRiGYRjG4DAByxgDaGFoMOKVb16aMJUlvE+v53M0+abr7adtw1cWXZ60cuvtNxPNfMuG\\\\\\n\",\n       \"nDWNYYADp0VC1PL1VpgMUVRP3s4JxX29DOok7g35mbApFmUg2gAtXvFfnlcd144mkOp2IqLLlHjl\\\\\\n\",\n       \"1okW05uFy+g9z21G3/jPL1U9E63S82YyfadD6baPnV6bvuDuP9LzN11Ir/b307RikXaeMoXeOWWK\\\\\\n\",\n       \"u7l3EFHRUxbyOMPyUpxyBRJONJnA3a1cFbbKZcrnCsEcV9rxNjCJO7vmopRE7lKo4iBIPgIWtkiE\\\\\\n\",\n       \"D/Iyro9FdaRSqJHzeHs63K6ilvXNY0JhenpZmX+LQwObhdv5Qgh5n1oUk3Ujy8PXaqXJcWhRMJT3\\\\\\n\",\n       \"KqvDKsvxGYZhGIYx1rEk7kYWTMAyRjlZhCtKEa5yGcQsn6gTWjYkUIWEKJ+QFXJ7pS2r9yX3o8uW\\\\\\n\",\n       \"JZeWzynGIpNcRopOvB0tRvmSuevpvN5A8UrnYNKJw31OIB1W6F6ufUIVu47YmcTz3SrJNB10xn9l\\\\\\n\",\n       \"cJqcDvHK5b7iMxGPd+IVmF/8JU3sWRt9Dnq9cNjWFx68mv69+pYunBCM2/ht9MZfL6Bnly6lqUg6\\\\\\n\",\n       \"5SmLFtB8ZfWKdzzOx86fZV1RnOp2852TRqExcW9VKj4RKy/SzrOII4WmUDtmLxyvpwM6pfhVDvjl\\\\\\n\",\n       \"pGgkhSJGryeX0eKOFIKks4nL4+v1MLQsb4/LKVuIXi60fzkvy7h2fElCTi29jHS9GYZhGIZheHJg\\\\\\n\",\n       \"DTEE0HJgjX6yvt0bxgqIFm3SlmvmsAot5xOMKBBGFxJ0fOJNzrNu2nJa3PGJQtLNpJfRCdL1tvS6\\\\\\n\",\n       \"zdbT+5CilF+M8h+jXq9R5OOQQZ1TSYay+XIx6eWciAWxRgpVLNjwdB7EtLg6rsPxfJ4VjF+6ydx6\\\\\\n\",\n       \"7ivU2h2r0to9l7rcV8yFWz5PP9v8NW9LxZFPWzrf5caqTeua6P4uqgprzcoQKmccOEavkCWW0/VY\\\\\\n\",\n       \"DwscWO9yOenS4nM48FqRbcV3vfgG3ca0INpKGw61e7menCf3EXIOZrlWffeALPcKfX+RAt/A68cv\\\\\\n\",\n       \"cvvuZ3I6ZVhusPdiwzAMwzAMwwhjDixjlKJdQmnL+V6qQuv6fDF6Oz6HUsi1pKdLV4ncfuiFVG7D\\\\\\n\",\n       \"t17IoaWPTy+nj9H3cqvnNSuP76VbCwLyxV8LCgNdXUn+pYGhaa4UnnxLriTq8JygktNRXkKkYRFH\\\\\\n\",\n       \"IkUdRRyY9rtN5tIvhXi1wb+66aUHJhNtQ7XcV3BggR9sN8/9PeLRVbz7QGL3elkS4SqfKEADyhAq\\\\\\n\",\n       \"j7/w6lilgOUTtFB/NRdbnVA+LF7Onx8rp0LffO3F95UFh1atNMpp5UvyrpOcy7+yXeta1Ne+zj/l\\\\\\n\",\n       \"m6cdT9rlxMtqn54OC5Tj0g3ly8nF2w9N19NIzPPl8cripNKuLR9yXQsnNAzDMAyjkbgNvRBiG8bo\\\\\\n\",\n       \"xgQsYxSiBZd2iFch0SZtnk+kkq4Sub4vJ5UUbHzOFDkuX/p92/CV07e/0Ly08dB6WQSskHtFL6td\\\\\\n\",\n       \"MMk4RI9QXqVQCNvAHvAEMnzQB+eFapHfbjKXfi7Eq089NJ0W3FemF5a+4ZxPCIWEiDV98Wv02JRr\\\\\\n\",\n       \"m4tYQkAqL3rD/Z3Ayl07PC+cwD2EDKUU6GT6Mh+WT2iUn0slbi98rmXIYCWQpL1WoOpQ8gglMvMX\\\\\\n\",\n       \"BcZ5e/rcp437xCXfPDlff2bBLpSPi1JCCnmezg3G6O3L6bxNnSRe59kKCVN6m1lFLHk8Fk5oGIZh\\\\\\n\",\n       \"GEYdhA8OOYTQeiEc9WSxqBjGKGzSUQuuLR1+o8Ur375D4T0+Qck3PxTulA84laTAo+eHhkLKtnzz\\\\\\n\",\n       \"iircqphhPd+4X4yql10eJ4/r0KhkSHJgNYpRvnA1bwuQ7qCs35WszKQtoqTC3200jy4U4tUhD02n\\\\\\n\",\n       \"A2ZPo20nTKC+Ra9T7wsP1+b1dnyePv8wcmBRTcS6eLOB4YRH3XcF7fbCfe7zokf+Tp35Am00bpy3\\\\\\n\",\n       \"DNqrlyXgy6/uBRatVkk9DFDVh5imz0djKKEusRY9dciebCu+0L1m7VC22SxtPG290DWTdu1lGfeJ\\\\\\n\",\n       \"vTqkspnQ7bsX1c6ePFPqs97GgDOfch/N1HIyLmcYhmEYhmEYCfYEaYwysryeh17KfOM+CSA03ycV\\\\\\n\",\n       \"+FxHIXGLX059n+ULu35Rb3Vcbyf04u0TpULr+UQqvWzoRbxZ3XA9yOUjbz6r2plJEa54fvDMN1tR\\\\\\n\",\n       \"DInokt4SNp/fTV2lZOwzD02nA2dPc/O2njCBVuvqpkX3JI4rgMTsC7u+TMfcN9WNd5ci2uq17gGe\\\\\\n\",\n       \"nPHlXpp512/o6Ht+T/H919PuUyZTdz7vbdkhAWtAix2QFCytwurLZJErfHnJ5PRGEVI772QbSGsr\\\\\\n\",\n       \"obYVao9Dbec+4Urvc7DXqO+al9eA/pzlHpNroTXIMxua7zv7WSXSTDKqYRiGYRhjsBfCoQ7G6MZC\\\\\\n\",\n       \"CI0xRpqbILS8b72Q20GOy23L7WvhCuRTlg3Ny6fs2+fy0uWW0/U+fS+yvvm63rLsm8UInzjlc53o\\\\\\n\",\n       \"l+9kHnoflLmtIH5wyJpMFN7MXIRIuXKceG28NqLGLOP1jVQHXfuyxvB3h1cn0Nm3rU+PTFlKH3xi\\\\\\n\",\n       \"aq1PPeSs2m/llejXj99GpQVzqTBpmlvntjW2pl1eOo6+/OBP6G2vEL11XuKsmtc9hS7e/D301rmP\\\\\\n\",\n       \"07teuMdNe/dzd9HG01ahFzqKQUlU/k07Kw1dCMpjR6VqWHVC8JrI+y43o5FVqB1b9V1HVC7zUci8\\\\\\n\",\n       \"VTKckMdrhRF/Zc+DZbWuDNvTIX3cUGSPgDrETefE0iGDch+8jC9kUI7LXgV5vCyOW4bxlT25vHQ+\\\\\\n\",\n       \"Kb0P2ZZ1D4Y6RNEXMpgWvshwWSR6O4ZhGIZhGOlYCKGRBROwjFFC1l/9s67nE5fkNnySAE/X83zj\\\\\\n\",\n       \"PhFLOyekyMPzKWWeFpa0ONWsXFq00ipE1nGfSKaFN+0a0QJWmtslWYbD/1i0wl+dB8uVSuVfahoZ\\\\\\n\",\n       \"J+Pa0jZUXUaeTVnLXGLIDm95dQJt/eoE6hOSAJbZc6WV6JpXX6NXrzidpn3yu5TrHFcTsXLxefTc\\\\\\n\",\n       \"5KfopnUX0uudE+nhVTdwDq2b134L3TttY/ryfVdQd6VEG3Z20vpENKdcpgUoD8IqVSuR5fG1Eld2\\\\\\n\",\n       \"nSyM68CdMpWwqkklchX6EujLzctzx8smApa85gpCnKrtQQguLPjI5OzxIBKlUwvjIdGIhSA9Lrcj\\\\\\n\",\n       \"c3DpHF1SdJN5v/iYeV9yGi+n5/H2Xc2rcV5PilZyGZ2EnltySJiS+5eERK9m6xmGYRiGYRjGQEzA\\\\\\n\",\n       \"MkYBWcJWsoasaEEnSpnumyaFmmYeGO2T0eJVSNDS6/pChHzLp5XBd5yDEbB8gliaiOc7Tp/A1Xgc\\\\\\n\",\n       \"cOrInu10zisdoibHJdyxXv2UiXg2n0VIKjLKgSXFoNAZ0eMT83n6+rrr0Deeeprm/f4kWvWjp1J+\\\\\\n\",\n       \"/BS3S4hVD07dSNVxUsbr8hPoluefpx9MXYU27Ohw21qjVKaJuQq9VigkucEylKVBQpWVKQdZifL4\\\\\\n\",\n       \"Za+Huh5VlaZFJsrdYvPlckSVihZutEuIBS4pVvFyWpjh+VKg8QlMgxGwtCCmHWJS0OLpXEZZdnm8\\\\\\n\",\n       \"ejtyHq+nj02LWvp4pRgWErUk2uXmc76F1mWiDMtlWcYwDMMwjLFApQ29EA51fWPkYwKWMQoYDvHK\\\\\\n\",\n       \"t15InJEOBrn8QOFl4LLSr8PLhQQc6fMJCVxpwlVIYMo3cVHpeYyOz/PVl+945Txddl++q8YhSdye\\\\\\n\",\n       \"OLB8UW+eKLeg0FIbdzqAStKk1RWPwBPlchRjGnoS9Jw5eaakPMdyAIb1urvp5PXXozOffY7m/OxL\\\\\\n\",\n       \"NG7799LE7farhRTWyxpT38uzaeE919LSR2+lid3d9HJXJ02miFat9pw4sRJTd18/vV4sUCXFHabL\\\\\\n\",\n       \"6vJf+QQ66cIKJbKq1iGKwHXrE7N8m+Hp9epNwkIrFdkepLDDRyND/XhepELsQoJPyD3F6N4VfaGE\\\\\\n\",\n       \"PvdWuYkjS/c8qIUlLrfcvxTjeNDbl+GSspdGuX95HZZTxkPiGAU+y2kh5PYGM98wDMMwjLGAhRAa\\\\\\n\",\n       \"WTABy1iB8bmEWsG3rk+Mksv5wgnTRKKQyJQmPg1lWblvLYrJ45bHpKWWkIDlE6x89Se3rcW+Bs+P\\\\\\n\",\n       \"p/wF9Vn2QlgXtaT7ypVMhaFJ3UVSLidCS1XvcSTiiyfPFW+4WKxvVMYpYnpHhxvyfX1OYCqLUL1K\\\\\\n\",\n       \"tfQ++YWlF35l32zcOJq14QZ0zbx5dMt/rqAF//4Dda//FiqsvBZFxS6KexdT/wsPU8/cp2mVzi76\\\\\\n\",\n       \"wLSp9O5VV6XOXI7mEVFPuUKrl0q1IMup/SVanM9TOZ9zubZkTeq04Qg55OPwViIGHKtOKFZ1ZFXK\\\\\\n\",\n       \"UYNgxfWLutZClg4rxO6wnNhcdd2cq8+BoWu1vQTySWkXUyhsUG8j7WtRC1q+XFbu6NS2tbglxaaQ\\\\\\n\",\n       \"wCVbjZzm+yydV7mUZWW5WfjT41Lo84UNsjionXAN9kWxXKvw/kLnxDAMwzAMwzBMwDJGPSHnlRZZ\\\\\\n\",\n       \"+K8e5DLaXeVzE/mcTb5gLp8Di5dt7G2vNXeWT0zzCVY+p5bPncXLRy0IgCHnls+NpYUsFrB8vqWk\\\\\\n\",\n       \"XuDS8aVp0sagNFzi9rIQWVzVKmWFRRt8hriDcZ7O86pCVq6/n3Jx3FBaliJYruBxX41hmekdHXT4\\\\\\n\",\n       \"mmvSwdOn063z59O/5s6mN15+lPrKFerO52j1YpHetd56tN3EiVRAD4iidnryOXoxV6Rp/SXqqrrB\\\\\\n\",\n       \"JpTL1F+pUKVYcCKVzCjW4GlDhclj5ePjzyxs8TiLeCxyVQUrHkKhhBqsWirVXVgsXkFMTExt3G64\\\\\\n\",\n       \"Ft2ZE0cgRSSdfF2KMz63FG/LV1i9XDGQW8oXPiiFM7m8FGd85dQiFB+fLym9dFTxMfI8Lo8sJ3mW\\\\\\n\",\n       \"ZaRrS25TJ5eXziw5Xden3KYmi1vLMAzDMIyxijmwjCyYA8tYQcmgUjQIMqF1m4lXvmna6RRyYPnE\\\\\\n\",\n       \"olbcVjLltp6edRt6GnnmyWm++vGJUnxsvnpNc7bJ/ehyNcgqnjpLeqmTvQ/KVFWhPEs+tGMojkVo\\\\\\n\",\n       \"nC/ruxCrBmQeLyQCkZTZWE5gyVEKWFpSqJWpuvy4fJ72W2UV2meVVby1qGuF94lQRoQOTi6XaVy5\\\\\\n\",\n       \"TJC4inFMlb5+yhULLtxROq9qQhb3NCiPS4pVOqG9qnjUHYdipuXCkujUWjocFOcYR5c45fho2cPG\\\\\\n\",\n       \"tcWCjKxl6dbS7ivtIJRuLd/0hhYTCD/U+9HhgrKsIcFKC1dS8pTrs9Qpj4cdTzrUkuvKF1Kp61AK\\\\\\n\",\n       \"TtwKtVAmj9l3gaWFG8rxLCKWCV2GYRiGMRYxAcvIgglYxgpKSFTRy2RZL+Q88k3XbqasTqeQOEUB\\\\\\n\",\n       \"oYqdSFKs0vN82/ftTzu3uGy+8VbzXEl8wpVvni+c0VdO6chKloOwIQ1AOom722KgGFpYkYKLE7Fy\\\\\\n\",\n       \"iUgVsYCjRRsp7AiHUoRBJE2XIYTSdxMKcmNJgqUI7bvx1b5uFbV+GqOIegoFinM56u5PQgpddfSX\\\\\\n\",\n       \"qJLPUZTPu2UaXFgcIsjHJ8UrXdliWeyDcvkBIZnN6t0dR/Vc+cWrZLelEidz18IqCxzcbmTtyrap\\\\\\n\",\n       \"c0mFCM3Lmh9Li02+cRlC6BOz5DiLR+WA8JMLiE08T2+LPJ9lfeoE7/Ial3XqE6l80/W8tGka6fgy\\\\\\n\",\n       \"DMMwDMMwjEZMwDJWQLSooskqsOQybCckXkkpQc7zuZ/SXFLSC6MlCZ4vt62FL9+6rbizuOzyWHX9\\\\\\n\",\n       \"yWVbqb+0bYTENB0uWZdq8vlcg1GIBz3N1YxKZ8W5r+RnztPkxiFkwbMkxRvOC9XXl/zt7Exi3nh6\\\\\\n\",\n       \"V1eykZ4eou5uyvX2UqGvb0CGI+lZkTKDlOnYtaWD4XzI9WSL4PxXTvLL5ajUUaSov+RCG5PjrtDi\\\\\\n\",\n       \"SoU6i0UXguhyYvFx4Zi7u5Nj4uPTA5bD35oTrejqrCzqUtapO14lbrGZjc+RPH/yvGDc1V+co3JZ\\\\\\n\",\n       \"5oRiF5Ks2ZBoxF9vOvyvGSEHVqUaTiin6bBBuawUqPgYtENLTysLkYzHpcglBS29Lq/Dwm9oH9oh\\\\\\n\",\n       \"xuvpnh2l4CVdcM1aZiUwLpejJtvRoY6GYRiGYYx2zIFlZMEELGOUkubOCokx0uERcijxfOlWCoW8\\\\\\n\",\n       \"hQQrLXb5cl75RCv5WTqUfPuT65BH+Eo7Vi1khVxXaXWs5/u2EXkEyYHONO51MDFC1cMHdQ6shi0H\\\\\\n\",\n       \"isY5mqTgknyGEBNToerCqjmPtOOKB4g5ELYwvfo5qlQoXy67QTqp8h6JQNeMlGJ86bd1rWk/Ho+z\\\\\\n\",\n       \"gMVurDzyX5UrVK4qShDqXu3rp1ULeRrX0eHcY678LGLxuDxeHUooPpcrSZifTtzOdZwVFrawft1V\\\\\\n\",\n       \"h1xniZCSnLdmoX4yvE4SCv0L4Zsvt6HDCaWAJadpIYo/S2FKi0pSKOJxuQ6Ps5DHzinpSuNxuQzv\\\\\\n\",\n       \"m+fL5XzzfQ4veS+UgqJcJ6tAZQ6rkcBPfvITNzzzzDNufMstt6STTz6Z3vOe9yzvohmGYRhjkOTp\\\\\\n\",\n       \"JxryNozRjQlYxgpGNAzbCYk3oWmtOJy0MCWnabeVlCFC41qw0r30pQlY2jWmx8njMNOfWyHNoZUm\\\\\\n\",\n       \"DjYKghCvtHAlcyjJJO7N8l/JHE0ssjQkIM/lnHvJa/HSIYQ8VBO8R3Bn9fdTQQhY7Ioi4cPho5Q1\\\\\\n\",\n       \"ITMo8RkJ6T9aNpXBprK3Qfc5iqhYyFOUi2hJf6m2n1dLZeqnfpo+YUIiYnGidpmsXg8qcz7qakD9\\\\\\n\",\n       \"qboNhQ/qfGWc0F2GEGJdnPfknHFPh9wudBic9Lk1C0FrxY3F+AQrvS3pDOOy+txMOmRP57zSrirf\\\\\\n\",\n       \"tegLB9ROM26BaSKWnKbnU0Bm5XHeR9Qk/9VgMaFruFlrrbXozDPPpI033tgJxL/85S/pgx/8IN17\\\\\\n\",\n       \"771OzDIMwzAMwxhpmIBlrEDIF7e0ZXxOnyjDNtNcQjRE8aqQMq5dVT7HlZQqpGSRT9mH7tmQP/vK\\\\\\n\",\n       \"zehxntYu4VDXpW88KVcU5RpEK6mr6F4IdW7xZgIWnD4QTGTIGwxVhQ6xAylQIbQOoYJYCUNvrxOr\\\\\\n\",\n       \"3AbwFytXN5zv63OBZlEgq5D00Ei/TTsdWPy5g6flcjS+o0iLSiVaAhsWEb1ZKtHSN96gNceNpy4c\\\\\\n\",\n       \"Hwa4rziUkEMGOaxQ9r6IHFj5gjtsrj+uUxmuGUKfL6xT74VQHGutiaA9YF5cdWLJ69bnsGr372++\\\\\\n\",\n       \"MESZ0UyO87JShiyrzzKksKRyVrGgVaqOl8S8UhMHlNymbGm83mBErJAwJUUsWSaNFPJ864ZI26bR\\\\\\n\",\n       \"Dt7//vc3jH/72992jqx///vfJmAZhmEYyxwLITSyYAKWMUrQzgAm14LzR07PBULsfOKPnC+FojS3\\\\\\n\",\n       \"FEscLC7pnFe1tNweMUvPk399IlgWgS1UF77xhEWr3kJLp9xNU584LsP5SV5g5230A+qevwNNeHWP\\\\\\n\",\n       \"AdvUbiotTEFDkWKW1FN0zqsBe48HClb8uWqcqjmwBrirsBA+c84rjC9dWh/HyhiqAlYEEau31/3l\\\\\\n\",\n       \"V2+ZlJ1fy/lsc9Yj+ZovA8ukfKBbo3Re8dksihZQE7AwPYpoYqFAi4jolb5+t82+/hI98+yztFoh\\\\\\n\",\n       \"T1NWXZUiHBMfKw9cD3IoFmsOLBw61+3A0Mz0Xgl1B48abg8sbiHUM3F2JdeZ3+WlxabBOgj1NkMi\\\\\\n\",\n       \"WVpOK980HUJYUNNki5BiEoticj6LXTK80BfGyP1fsrglt6Vdbbyuq+EU15sMK4w9oY9yO3wOfKGG\\\\\\n\",\n       \"cjljeYEw48suu4wWL15MO++8s50IwzAMY5ljApaRBROwjBWELC+hae4pvQ0pA8h5adO0kOWbTwHx\\\\\\n\",\n       \"KN8k55UWquQ07bHRn30ClhbP5Dx2OEVuwHgi/iRhejxeF4QG1v2ClW+hZ976PqoUllC+o0SrPzkj\\\\\\n\",\n       \"JVwvcYrM2ehMennzkyhXGkcb/ec6mvjaHqmhZSxu6N7pfK4r3SuhFLN0b4NSXGHHUF3UylEFvR3K\\\\\\n\",\n       \"cEGZuJ3VLnxm1Qs2pKoVCXmwsAz+urNQDSeUr/wsO5CQD3jQwpVPwNItUEuZtRxYKieW+1so0JRi\\\\\\n\",\n       \"kcZPmkQvLlhIvX19ztE054knadGSpbTGrrtQXidt1+6rfN7VEepKOq+k+4r/yrrX59l37tiNharH\\\\\\n\",\n       \"MtgmPvM5wzQOJ/Rt2y9c19tvljBTP/UzIdt14haDKyxJu4+6TBxiWsTSOa9YRJKSppQ2+WxKxxW7\\\\\\n\",\n       \"qniQolX9OmsUp6QdsaLuBVIkk/WkyxEK1+QW66t7n4jF20gb12RxahlD4cEHH3SCVU9PD02YMIGu\\\\\\n\",\n       \"uuoq2mKLLbzL9vb2uoFZsGCBVb5hGIZhGMsUE7CMFYTBuChCLiKfw0hO98kEIddSaL4elw4rn2Al\\\\\\n\",\n       \"BSeWHPQ87bXxrSfFLb3/RLSS4lU9YXZ9cDVRnRZ62X9t1buceAVe2GwmOqSjtZ9pFLHq7piIXljv\\\\\\n\",\n       \"THpxk5OS6YUl1LvK3bTqokYBy+fE0uKGDh2UohX/1SGEOjeTFFek6NLfn/SoF7GAxeIVO7DYicSC\\\\\\n\",\n       \"Fne1B/GKHVgY+vspV6k4ISNfqVAhRl991f17PHtymvToUEDAcvXiEbC4BfgELDcN5xu5ujo7qXPc\\\\\\n\",\n       \"OFpvtdVo7quv0huvzHXbXPTSS/Tkn/5Ea7373TRu+nRvni8eypQkcGcNr6rbDRAJuc51SKE+Z/o8\\\\\\n\",\n       \"M3zeeHvcLkL5tQbWVLhtyWnNSbapc3uxw0x2DiBFrLqYJXsTlKKVTMDOghWLUDJZuww/1C1BhzFK\\\\\\n\",\n       \"UYhFLO2ocrXbYjih3hcjA2Bl/eu8ZDyvFTHKBKzhZtNNN6X77ruP3nzzTbr88svp0EMPpVtuucUr\\\\\\n\",\n       \"Ys2aNYtOO+20YS+TYRiGMTYxB5aRBROwjBGOdDalLTPUECEZQifHWSKQgpZPrKImYYJSXJICk5Qa\\\\\\n\",\n       \"eLoUn3yeGh1K6FtPlgO9uXEvfv6cUVKsYgHBJwYxW7x5PHW80E+PrTXTjT+z4UzqKBJt8FJdxOIX\\\\\\n\",\n       \"+qfXPJOeWy9ZDmzw9Cxa75XjibrCZ8MnYmnRSopZvFyovFJQ0WGEEGGwHqLl8Dkq5qjIuaB4RXYi\\\\\\n\",\n       \"8fj48fWNs4rDlYgDrx6AOzt9fVSGmFU9IyWRBYk/s8QhZYa0JO7c4qImUmdRiFcRyo9jwjB+POUm\\\\\\n\",\n       \"TKDp06fT+LXepBcfeIDi/n4qL15Cz155FU1duJBW2W+/ZB3pyMK6HR1ULuecbscGNK4CWa8gLR8W\\\\\\n\",\n       \"hwXyZ5mfTLYBGZLI5y8tLLGhrpQIq8fT2rgPGRLJ5Qz1almp5EWdSF+ddmDhsw7r4xbBfj0WrlhE\\\\\\n\",\n       \"4vsAr+eORgWjagcV769f3M9kfi0dIsnocEMZmqj3MRiaiVTcyoeyDyNER0cHbbTRRu7zDjvsQHfe\\\\\\n\",\n       \"eSf98Ic/pAsuuGDAsjNnzqTjjjuuwYG19tprW+UahmEYbcEELCMLJmAZoxCfw0o6FuR037pSsApt\\\\\\n\",\n       \"3+e80rmsQo6rgkdq8C0rBSspcMnltLiVHF8+n68KOpEQeiIXjuUTgXTeqdqRpjixtl88gzrmEj0w\\\\\\n\",\n       \"LRGnZq8z02kcm8xNRCy8uM+ediY9sUZdvNrshVm00WszKO5uLkLocEIpYmkXls6BJd1kDDuuYCKS\\\\\\n\",\n       \"YgsLDxBiMC8X5ajf5SkvJAIOZkLd4kTtGBBGwzFtrGTwDqsCVsTxjkuWUB6uLKg84nVfBnBpf05a\\\\\\n\",\n       \"GnLtD5RBpFLeZAELvQy6Ydw4IgwsYlXHJ66yCm24wfr0wj//RT0vv+zKP+8vN9LiZ5+jNb74BSpO\\\\\\n\",\n       \"nVoLJ4wLBSpRnvpLuVruel9d8jRNmoDE55HNbbwNTG8eMjiw3YTagdwfL89/9bKy7WjhTDr5eDyZ\\\\\\n\",\n       \"FjW40srl2Al+yXyEHebdeKM4hLNVFpKmzE0lQwml5KkzrMlwQ1Ihh7wcS6cyN5bcnnSHeWuXa1FJ\\\\\\n\",\n       \"rnK+dl5pgYpFMAsLHIlUKpWGMEFJJ9ybuBcYhmEYhmEsJ0zAMkYwURuWSQsVlJ/l4Ftfi2DSGabD\\\\\\n\",\n       \"Bn0OKS01NEvGzmJUsYlgVZ8HlxX2j9DAQiHX0Fuf7L3PJ2JJ91Uz1wqDF/e3LJlBhdeJ7lk5Eake\\\\\\n\",\n       \"XG2m28YWr8+gh1c6kx6ZWhevtn5lFm06f4ZzXune5oJnT4gLXE5f7iSd+8qX60jmwdK5mmQurFI5\\\\\\n\",\n       \"okIlRwUZQsi98fEG8BLHdhwoOXJDnNG8WoAIIYS5HMU4L+WyCy+sxHGttUh/i/TouDIHWqP2B0pp\\\\\\n\",\n       \"1I278NAc5fL5RIRDeVm84h4GxVAcP57W+8RB9Oqdd9Gr//ynO64ljz9OT518Cq153HE0Yffd6uGD\\\\\\n\",\n       \"LvdVNKDnwVD+K30+fcIklpNClXZgyRDQZkjRSrZdvU85rudrdBikbEc8LsU72aZKpUjUET7HFEX5\\\\\\n\",\n       \"Wm+KmNZ4j2Ahis+ydF/x2eeeC7kV6N76+D5SK3FKjWkhTGZq0+GAvp4EKSBYUYvhg1nCC4fqtDW0\\\\\\n\",\n       \"o+o973kPrbPOOrRw4UL67W9/SzfffDPdcMMNVlGGYRjGMifJczq07/qhrm+MfEzAMkY4WcIHs86X\\\\\\n\",\n       \"gVdSmNLhg3IZnbHI57zil0UtJ+jk6tJ1pQO+fCKVDALj5VjQanRy5XL5xD1UfXnntEXS1cKfWcyS\\\\\\n\",\n       \"SdJ1j3C1Wkh5qWeR4u2lGdSxiOjfExKx6r5VZ9IjK59Ffbn5tWXf8sYs2nrJDKp019dtNSRMhzam\\\\\\n\",\n       \"hRb6yqp7xmORAfoT1uPOBDlZfGd3J8WlpFfBBgEL4xxeKJULwBvW1jU4oHp7qbh0qQvVq5TLToLI\\\\\\n\",\n       \"exxYrrwBj4pshRSQRV2LyOWc68qVk5OxQ8CSvQuyIwufu7sp6u6mqfvtS+O22Zpe/M0lVH7zTaos\\\\\\n\",\n       \"XEjPn3YarXzQQTT16K9S1NFJpaX1uuJB6nY6lFALlT4R0tcOpLDUDF/IKX+WbizZOYBuV3o7Ep/7\\\\\\n\",\n       \"i49R5unicZ3Uvprjv/oZucPqLq2kyXALkC4qGUIok7hLZxWLTOWA2wnj/SliFufe4s++nFcyvNAn\\\\\\n\",\n       \"raaFEcoy6vX0cmnzs3wXGK0yd+5cOuSQQ+jll1+myZMn0zbbbOPEq3322ccq0zAMw1jmVChyw1C3\\\\\\n\",\n       \"YYxuTMAyVlCiNrzk+PJehQQq7ZKQbivZw59PoIoCYYMsVEmRqiHttvrMjqz6POgSLEpxnm0pWMnO\\\\\\n\",\n       \"9NjBxONa/El7ufe5mWSI2J40gzr6iG7tSEQsKV7tunQWbV+eQfEEv2uFP6cl/dZl0eGEvlAxBvuQ\\\\\\n\",\n       \"x6RD3li04hBCroOOjojyxQ7KO4NLVWngSpLJm7jyZEVz3ig+AdgJwnIwra/P5cXq6OmhuNpLoeyf\\\\\\n\",\n       \"TotXUorgv6GWGWHfEK1YwWQBC+MQqpC7i3NZTZhQn4/pVTFr/NZb0wZnnUUvXXghLb7nHrfP13//\\\\\\n\",\n       \"e1r0wAM0/Xs/oL4pa9c6XuT8V2xC84lWuq1IpODIVcfnS+ea0utpYYpPh89NiFMg25Ev55uc72vv\\\\\\n\",\n       \"uiwsVsnE9TKvGie15zYmRT7UG48nRr9cNa+YzIwmE7rL/ip5GZkDq8StW5Sa1yW1LVd6rkmVtN0d\\\\\\n\",\n       \"LddEwN0lW6SUXVnoypKrSjrH9HS5D2M4+fnPf24VbBiGYRjGCoUJWMYKTCjcz/dZvv77tpNVvJKh\\\\\\n\",\n       \"htJd5XNS+UIFtSgVCg0sqs91cQuhgnDYFAqRe/lljUQLWBwyKN1Y7M5ip5V0XemwqpDzKuRK2bsy\\\\\\n\",\n       \"g/5TOYt6qC5edcVTaLfcDCp1+81K0g0lHVk+AUuHe8nwRxleGCqrFFdYPMDAogmLDJw7DHpTZzFP\\\\\\n\",\n       \"UbGDcp3VhbmwEIO4INJ1xeOsHnLhoFhUYzddSB92Vv2bK5cpqqofMXovFAcf6oXQjWNb1Upwn/GX\\\\\\n\",\n       \"hSoW03wCFjuwOJyQP/N4dzcVJkygtc84nd647jp65cKfumPve+QRev7AA2jccadRZdf9G9xXHEoo\\\\\\n\",\n       \"RRp5fn1wyCCLVTpslc+bz1GnXVayB0opbEnRVvd6KJ1gsn1lbfM6JJWPVQqj3N5Y6ON6Qrlk++Mw\\\\\\n\",\n       \"w+Qzkr8jtFCGFOqOJGqtQLiviirsT86TolXIjcUhfNyTodyfr2fCspoWyoclc175HGK+MhiGYRiG\\\\\\n\",\n       \"MdawJO5GFkzAMkYwrVhA9et9FhFLe1rkZzmNXyQpIGbpHFZp+bD8+asaxxtdVixgRVHB5c5JhKtE\\\\\\n\",\n       \"vJICFnQKFq1YzJLz+AWfBSx+eeecWD4BIJQPiJFhXzcuPZN6KnXxCvRE8+nOzjNpl+KMASF8vt7b\\\\\\n\",\n       \"5HS9L40Wr3zOGV1mnaOIHTA+N1YiAuYph7rCCBbmjWBBnb2bd85qjMwWzicG01n1QZL4vr4kRFGo\\\\\\n\",\n       \"QHBlaRFLtlb3uSpYNSQ24xPPDYFFKw4h5MTtGJfCFefCUrmxoq4uWvmTn6TuXXalF2bOpNLzz1O8\\\\\\n\",\n       \"eDEtPuNrFO1zO5UPO4nKlXED6lPWcegcSrcfO660U85HKBxQhpXK6b4wU5kHSzrAtADaLBeWFmB1\\\\\\n\",\n       \"CCULVizCcUo1bmN82jl8lU9hfz8S5CMHRE7kgpACke++xvN5XHv45GcpKMkKZ+FKilLyPijFMXcW\\\\\\n\",\n       \"1DJSoIpaEKzk/GZYWIBhGIZhjFYsB5aRBROwjBUQn1iVdT2GHQ1Z0DmwfCGFvhxYWqTSCdmly6pD\\\\\\n\",\n       \"rNMhlsHnQpKQO5dv0CdYpGKHlXZgaXcWv6xrAQvzQkncfYKCfIln0enPC8+kP/fXE7Z3R1NoaZyI\\\\\\n\",\n       \"WX+lmVTsJNqjMGNAomvtXJECFwiFntXOqAon9PVIKMvNvdph4DJAPNA9MGK8p6e6XleO8p2J48o5\\\\\\n\",\n       \"njiEUK7AFStdV/IEOTtXVSTCZ+wUn2VsWVXRgKDlRC1d2frEaAGLRSseWLiSSdyxT56HEEKdE0t9\\\\\\n\",\n       \"jru6qGv77Wn1315J8844nXr+8sekWDdeQfFD91D5i+dS/9RNGtxGMjwzJF7JvFf6HKWJWL48aD4n\\\\\\n\",\n       \"oW4LUqTlqpTr63KFxFt9WuQ498ioBSyMs/7JApYMIaxGldYcbUkoKxyAEfX1JQnzk4TvKFxfVUji\\\\\\n\",\n       \"+w3nzHKlFi4rFo987qd+JVLJCpduK16G993kYqxtn7skGGw4oIURGoZhGIZhGH5MwDJGATpuTLsE\\\\\\n\",\n       \"Qk6stPBBfqlLS9ruS5+dxVVVF6aS9TqEaMXj9TDDYjHnXmhZD+GIMB0txtoEj8v8WCx6+USsUBL0\\\\\\n\",\n       \"ZqFULD5cOfdMunJBXbw6cOVZ9N6JM+ja+WfSFW8m0yFuYZ97T6iLWNJ4pHMISQErrcfCkNAmQ8PY\\\\\\n\",\n       \"HCVFKt4XxAK5DYz7jhW/CHV1dFJeuqx0946y0iFSsY2LFQoMUMVYtGLVQglYNVUkpN5J0cwnYHH8\\\\\\n\",\n       \"KDcKLgOLUyxocT4sjHNooXJnVQod1NMTUW9uPHWceBb1b7kLlX58GkV9PZR/+WmaeMZHqfShmbR4\\\\\\n\",\n       \"p4NccnJ5bvXA50UnapeHkxZu6BObtHDJ1eFr1zKM0OfOauY8lO2BT48WY33iFU4pmoMWsHg52STw\\\\\\n\",\n       \"mSNMWXju68tTf3/sXFn1sEDuhVC6oFzpU5ylUlTCZ25fvC1G5txyR6ySuuc983k9/iyFMzkuy6qD\\\\\\n\",\n       \"Y7PkzjIMwzAMY7RiIYRGFkzAMkYZrYYSaneVDKHR4YBSsNJiVihUsFnooC8nVhI2GEXIc5Wjzs4k\\\\\\n\",\n       \"ZFAaaljIkqIVosGkjsGiFb8I+yLOfK4VGWaVBl7AL33xTPrt3Lp49enVZ9GHpyYi1YHdM9x+Ln0t\\\\\\n\",\n       \"mX/NkplufN9xdRGLX+R1jioeWGyS4YUMf5aCg6/ccj3pnKlG8bm/WIdzEEnBIxG4Isrl4iTvWFSg\\\\\\n\",\n       \"Iiq61pyUoMXWLq5kqRjySWB1QwtYOg7N1z2j7sKP9+ETsLhR6AbDjUiHD7KAVc2H1R8VXHJxCFNc\\\\\\n\",\n       \"1HiPD1H/2ttS7gfHUOH52ZQr9dMql59OHY/eTs994AwqRZMbQkR1/ftyXPFhsUgpz58O9/MN0oGl\\\\\\n\",\n       \"e9vUy2Vp883CGHXidp/zTGqSGFD9UrfkcEIZQsifIXY1usvQ/lytUalUEN1Dy1xUnEydc17Jr3ad\\\\\\n\",\n       \"WD3UCyGPszDG07Ujy9dTocyVxW4vHfI4lNBBwzAMwzBGOxZCaGTBBCxjFOFzV+l8V9REvPKFCupw\\\\\\n\",\n       \"Qb2cFq90aKEWqXQPgwMFLOS6yufzDSKVFLDYRMOiFefrljqGHucXepnEXfZGKF/e0xKiM7948ky6\\\\\\n\",\n       \"+Pm6eHX4erPooLWSXFf8En9QZyJiXfJKshycWtjueyYmy3HuI5lHyedq0eFaQOZNr51VkaBbo3uL\\\\\\n\",\n       \"4zxEvA2ICDIZPAsKIJeriggdBcoXcxRVkkJAXBiwY+xI9kjIlc47SBOwWP3hcXnA0iIkQxV9Ahaf\\\\\\n\",\n       \"XG48/JnHpSNLCFexE7S6KC52UKm/Ll5x1KMbpq1PvV//A3Vd+j0a9/ffuCJNfPhG2uj5h+i/7/8+\\\\\\n\",\n       \"9ay2/YBQ0IYrT7QtOZ/dWTKpOgjlspL6ndQJQy5DHXUpt+NzeYXQDkEpvsreGDmsksME+TQvXdp4\\\\\\n\",\n       \"2mVaNJ9DLDnNyf0GebGSkEJXkkAOLOl8qpWarwLhhuJx+VluUy4Xyo+lt6dDFvXfZsKWYRiGYRiG\\\\\\n\",\n       \"YYQxActYwd1VIZVFvmzJZVvNe+VzYWnRypcPi0UpDh2UPQti6BTTOxqWy+cLNbEqZJqRmoSc5wsn\\\\\\n\",\n       \"ZAeW1Dhk1NlgBKyLHvs+XfBEXbw6avNZdOiGjYna+e9hE2a4/bPYdfn8mdTdWaT3Tjl+QLiVziMU\\\\\\n\",\n       \"cmdlSfgt4W2wYIbj432zGMHbkz0lauEsKVOOuru7KaetbVJlZMWHlUR8xjT+zAIWx5T5lDu5Uy6g\\\\\\n\",\n       \"T9VhJYdPuDzZ3IikTY/Lye4sGVLY0UGVfNGJLDLqkcPccAhuXrmTFn7w69Sxzttp6h++ToWlb1Ln\\\\\\n\",\n       \"gpdpi99+ip7d+av01HaHu3berBfCEKFcVto95cvtFnIapoXNaj2wXQIWi1Qy5xWqXYYNolxc19g/\\\\\\n\",\n       \"ToWsa57Px4O8WL29HdVeCkvVQQvtJMaR8wqUfGdBiE5y3drRKkeqdF01Q7qy5P58PRbKebxuSIwz\\\\\\n\",\n       \"DMMwDGO0OrAQRjjUbRijGxOwjFGO7ybGOa58oYO+fFe8Tq6FMEG/s6qxZ0G5DEIG8y5ReyJKJSGD\\\\\\n\",\n       \"nFebo8BYwNLiFs/TOoXUMGRHdfqlX/falhZCiBf2ndbakbofGkdLS0vohLfMoi9u1ZigXYpS+Hz4\\\\\\n\",\n       \"ZjPcvi58aiZ15sbRVivtSBPG1109/HLPIX0ylxDnS5euHungSeupUJdbppdiEYuPlfNf8TbZEdTo\\\\\\n\",\n       \"EItc+TC9WChQoZijwqR83VbD8V+cyAgVz2IWToovGZKv2zouJBdIx9MBPllSmfF1P6nFNXZgCTU0\\\\\\n\",\n       \"7u6mcq5IpXKO+nujAQIWm8WkGwuHsHiTvej1L2xBa1/+NZr0wj2Uiyu0/m3n0sRnb6cH9/wu9XVO\\\\\\n\",\n       \"854Ln/go25xuk9LIpkMBdf56WRVawNJOLZ3MXVZxWvvXbj5uJ1qMZScip0Tj087tnE15XL+c758F\\\\\\n\",\n       \"K05Az8eR1FNEURRTT0++KqZJoUc6srQ7y5VeHw3XvsqP5ROVdAghr6dFLc6Rpfcl3VeGYRiGYRgD\\\\\\n\",\n       \"n0qyPteHsCeN0Y8JWMYKQjM1vVmi9lA4oZ6eNoTcWGnClp7eKFpxgncWr5CwndMSsc4gQwc52ovF\\\\\\n\",\n       \"KzmPRSufViHzYfmcKg0v81EsonuEI6L6Ro8vln022o0u+9B1dM+cu+nL2yVOKumakuFTnO/niM1n\\\\\\n\",\n       \"UGexSBt170hbT9q9FkKIgTUdzkMlE3/LUEOO0OO/Mpl8GryODDvUoYQsNjAsGPB+eB3eRtyZo7gI\\\\\\n\",\n       \"tYMo10UUFQoUSdWBFQl5gKxcsHqBk8MKiBSwpNqmkUoLqzFS6fAJWBhkOGG1wcQdHRQXilTJFam/\\\\\\n\",\n       \"gmTh6P2uUbSS4YO+vPN9E1anRz/5S1r9Hz+htW//CQLdaNUX76CdL/sQ3b/HWfTKGu9sKH7I4aTz\\\\\\n\",\n       \"UPEhaceVFq509CS3Y27/MsLSF0bb6MiKk6YvBVz3JMUiIiunSaJRHeKq817JXGscRYo65LxX3AMm\\\\\\n\",\n       \"51vTOblYSGUxlcMMUUCEEvJ1FsdF9cgm2w4aMh8Df66o6TL3FQtSMjwwdE9kfOGBcj1S8/R42uOm\\\\\\n\",\n       \"CV+GYRiGYRhGgglYxigUsXwvV763Zr0MpbiufPmwohaSuRc94YR1MSuXK9QStctURVqoqubXbhCx\\\\\\n\",\n       \"ZD4sLVr5ErwnIgCSknsELLw4U4UimWiK1RuhPOA1/z2b7Ub7brI7xZWYyniJx4t7VbRKXtwTtxLr\\\\\\n\",\n       \"Mk7E2vL4BtcVCxEy1IoFL365l2mhZN4qLhq7s2pli9PDvnwJ3/kQpTAmP8v9yPBCHCN1w4mF3FhV\\\\\\n\",\n       \"cSiXo4iTHkEJkhm7+WCl0ifVPxlGKNU0iS87eSiOTidCqzasuDoP4lWZkKy90USmO0uUDiwpYNU+\\\\\\n\",\n       \"Vwr09NuOonmrvY22+MvXqHvJPOrqfYPedsPn6b9bfpYe2f5ooqhjQL4yn3glc1Zx0aVWxyKWdFlJ\\\\\\n\",\n       \"B5bsiVN3EpmMxwN7LMT+3d/YtX2IcAMajytcMj2OsEQuafdKwEo+J7nD5GnnJoH6ZYMeO60wTbrH\\\\\\n\",\n       \"+BQD2TeA7isA9xqIjonWqR1YfA/TIpVM6s6f45Q8VzpnFt8nSfRsmCZG6bBBKWCZeGUYhmEYBj95\\\\\\n\",\n       \"RO7fULdhjG5MwDJGUT6sZvO1+KSdVFrE0uKVTNAuhSk5PZSg3TcUazmvqumHBohU0Bswj7UHfGYx\\\\\\n\",\n       \"S36WEWHStcUv/LL3wmIxdi6rCIoTiyn9eAuHraQqrPh6wHNVU4+tgtuoUBVRimxryeUojvJUqtTd\\\\\\n\",\n       \"KVr0kKFUHC7FWo7WejCwgIVleZydJz6tRxuXOARRzpOHx2YnmSeL96N7leP6lOVFuXBuCoW8G7om\\\\\\n\",\n       \"YYHqAWKGToAk7Wlc/6GM9SF8mc2l4sOfQ/mw8gXq6c9Rqaeus0mXFZ+XWuL26nQepAYnoyDnrbYT\\\\\\n\",\n       \"/eOAq2nbW2bSas/f4oq68cMX0cov30F37vYDWjxh7aTtCD1Uh69qhxSKLQUsnduNl9WirRa3Gnoo\\\\\\n\",\n       \"dEKViHHtD+Qf89n7qoVP2r+zLNY33FmgOJd37ixZbzjtOgyT/8ocWGguixcnn1moY8GLhS2cK647\\\\\\n\",\n       \"Xnfx4kK12DoMkMUsfRwsHrETSzuo5H2QnVi8nruCPIKXnO8LX9Timg+ZBN4wDMMwjLGE9UJoZMEE\\\\\\n\",\n       \"LKOtzJo1i6688kp67LHHXKLrXXbZhc466yzadNNNh9l5JcWntHDCtG34QgR9opeez+JWQYhY/Ff3\\\\\\n\",\n       \"PlgXrqIIziv0NJg4r6STSnYQx84q/iw6jXM5snRO7oEdzsVUhOskLlNUKVF+KZSHEkUsomg1SIax\\\\\\n\",\n       \"DaimxCYT+bqF47fsHHpQxLHl3Mt8cVye+ktJyBM7fVgMYqFBulFY1+HNytA+2TOg1HvYLaWdWNIt\\\\\\n\",\n       \"xaIJC1oyJJF1OSlsyTxbsnq044ZdN4VC5Oo6ruScoy6fz1F+XIGizk6KWPHS6k/IgZWW3EtalXQG\\\\\\n\",\n       \"cu3AqjaIOJ+nOF+gMhKrV3JUKeWo14kmyTnRYYJavNK5yqT2JnOWufHOleiOvX5C6z/8K9riru9R\\\\\\n\",\n       \"Pi7RKq8/TO+69kN0386n00sb7F+r33ovewN7E9RhgjxdRkU2CrONohWbz+A2RPuHYAvRKuqrUOTa\\\\\\n\",\n       \"f5OeA1KugSikulWtU2j/uA4KhQJ1FPPU3wlHViJqQYCSYpx0YGnXFTuuuIh86mUoLcqSnEPOiSUd\\\\\\n\",\n       \"Vu5KUV/1MnywoPJnsVtK3uuk+8qX8D1rQnfehrxXV9S8tPVN1DIMwzAMwxjrmIBltJVbbrmFjjzy\\\\\\n\",\n       \"SHrrW99KpVKJTjrpJNp3333pkUceofGwDLU1EXuzzzzuCy2MMo77xCoWrGTIIC9TUOv6Erhz2GDO\\\\\\n\",\n       \"5bzSTikpWnGooBS2pDtLLic7lXMiV0fFvbgX8hUqRBWKtCqhu/6TQkpaBkWfeMVv2fm8E7fyQkmI\\\\\\n\",\n       \"8x2UK+SonIuokE/qBmFPMoRQboo1NX5B57w/MvSPX+ZlEnad85yXldOkJsEiFk9nwYDH5boy35Y2\\\\\\n\",\n       \"SvHnxLUVVT8nbqxiMQkPjfJligpFioqJOyti1SckngCfC85nXfKIiC5EMF9wfyEiOldQVGgQoXRi\\\\\\n\",\n       \"cekQkqYx2VykkKV1Ny66O5w4oie3OJTmTd2R3nrrsTRx0fPUUVpCO/3ja/TMnNvpoZ1OIuoa521G\\\\\\n\",\n       \"MrRVuq1kLnopfmoRK1kupq7O2IUEYkD7p7I4KF/yfN9JDeHLMF+te5cHrVikQrVAhY4OyiPZfy5H\\\\\\n\",\n       \"/YUoETarl4vUHvFZtk0WqXh33HkAt0sex4BdVyoIJ4ypXC4I5xOLVL4wwUIgbFCGGUaBfFg6L1at\\\\\\n\",\n       \"YjzzpWgl27NeLxSGmEXgMgzDMAxjRQfPj9EQexEcai+GxsjHBCyjrVx//fUN47/4xS9o2rRpdPfd\\\\\\n\",\n       \"d9Nuu+3Wpr006efe67pq5qLS60nBikUpKUDJsMJQT4QdDYnaG3scLLqcV9JpxQP3PMgDhwri84QJ\\\\\\n\",\n       \"/vBCjGNeZ2ec9EjYhb2WKYdQtp5efyIj3wu8Dh/05cDy5V+SDiypPBSLFHV1uZd5DHERub4KVCrH\\\\\\n\",\n       \"VTdK4kqRQgU7sTBwaJvMW85uLE7Ajvm1M189fSxsyfxYLK7IfEIMCwGcLB5/2aDGZZLuHpmvi91z\\\\\\n\",\n       \"vBwLE8nhR+54MRRQPV1EuUqJ4thf95EumE7eJTOgIw9TKAdWlKNKrlCLkCsJh5XUcHj3unfBPo/W\\\\\\n\",\n       \"IwWtUNou3YniGytvSX/b/yra/o5TaZ1nrnXT1/vvFbTKvPvovr3PoSWrbuING9RhgiqFV4Pgy4JW\\\\\\n\",\n       \"Mj9p/wUIQlSmqIQ41WqhZWIvn4DrO6DQNSCTdem654OpqmrIh1bE0NlJnd0F6u6OaGknh9BC0Kon\\\\\\n\",\n       \"eJersrjFgh7g+mERVzoHq0s4IStxYelBhvDhb1ncq3i8JMQtd2WIe2O/x6Wl75eyh0L9Wd6f5bZ9\\\\\\n\",\n       \"yF4NDcMwDMMYC7TSu3jaNozRjQlYxrDy5ptvur8rr7xycJne3l43MAsWLMi4de2Y0sKWDicMbYOd\\\\\\n\",\n       \"UqFeBeV4KGG7FLbkuPzcUfusHVWJ+FQXqThMEAIVBC12Yel5nDuLxzuKcJuUKepZmghX/SJxkXRg\\\\\\n\",\n       \"ceIpHQ8mX9p9DhR+e+bPnG1adm8okxPhM2IGkyRRiSOls8uFWBU74T4r1pxAnM+HhRTO9cMiCn+W\\\\\\n\",\n       \"+a5Y1MJ8mRQc+Dry02GGLIKxBsHOLhay2AnE8/jwpEjFOYp4XlqPj4nGl3e9TuaRuL+jI9k/joNf\\\\\\n\",\n       \"2NN6IPScByQTd+nLIFYhVLM/qh2nL18Vn3aUW4pSUrSSTYO1Ht3LHhezmWGpVBxPd73juzRvzV1p\\\\\\n\",\n       \"23+fRoVyD02c/yTtcuWBNPudM+ilrQ6ijo5EyGEBh5sL1ycLOuwulMJhXciKqRgloYFRX5moVwhW\\\\\\n\",\n       \"WrySFcPTWaWTtjzfeeAGw599sY46rrE6QMwqdHbShK5uKnUm4cMcQiiFW94MkInr5a5YcOXlpEux\\\\\\n\",\n       \"p4dDA9nNJE+ODBvkz0lLSu5XtQMV4xXPPE0zwUmKX0xeuL4s/5VhGIZhGIaRjglYxrBRqVTomGOO\\\\\\n\",\n       \"oV133ZW22mqr1LxZp512mmdO1vxVIdJCB+V8vbwOF/TlxwrlzNKhhY0hhE64yNdzXsmE6yxSyTBA\\\\\\n\",\n       \"GTKIgd1Z/LmeEyumznyJ8qUS5cr9iWgku5XjwWexkYmcdP4fqUrIruJk+Bq/Vcvu31iRYgWimvQq\\\\\\n\",\n       \"wrRKxb3IR+5NHLoewuwibS6q/eXpMgcQm2JYX2DBSfdIyGi3lZ4n007JfFosWmGQDi1O8i6rjZfj\\\\\\n\",\n       \"/F6sY7C+x8IXjjWpsoj6ax0KolfIXK33u6iJyzAuJfPRX15SzmiAyCRdUzJiUTqrZCouOS6FLClg\\\\\\n\",\n       \"6XBBnTIqRJSL6PmNPkRvTt+Wdvj7cTT59ccoX+mjzW85nVZ54TZ6+r3fIuqY3KD9+PJc8XXAog73\\\\\\n\",\n       \"wulCZaMS5Up9SXgmDgbtnw8YfyFi6bhI2ZWiPMhWrgF5guWJlzGP1WsgqjofnXczX6RO5MoaX3Bt\\\\\\n\",\n       \"gduY7GlQCqw6TBOb5OXlOU7OO9pDvurEwkVWFkKWFI10vqtQDiwdMqjzV9XOdCB8UIcSDoahfh8Y\\\\\\n\",\n       \"hmEYhjGSsSTuRhZMwDKGDeTCeuihh+if//xn6nIzZ86k4447rsGBtfbaSW9lQ39h8eWv0mGEvmXS\\\\\\n\",\n       \"xn1ClXZuFZrmvdI9BuqcV1LEkmIWi1YQsMaPj6kT6xWTHFcRXtIhVOEvBnZe4WVeZurWL/BpIYS+\\\\\\n\",\n       \"l3df+KCveziOt+M4QUyvKh8Qs/IIqYP7JpejHELi3G6jAdFa/JLOSMcP56+qnXGR5Foi81sNaCVR\\\\\\n\",\n       \"o4DFwpXsmZD3g0NhR4wUFrhKZA+KHP4oXTXSacRGKoiaSfUm7R15ktLQHeVJQUlGh2rXlAwhlKed\\\\\\n\",\n       \"BSxeT0bV8XLaccXjvlRdXKfyL1g8eX267QO/p83vPJvWe/gSN23ak3+lSb94iJ4+4BzqW3/7hmak\\\\\\n\",\n       \"TUwyhBCibReukyLyXJUpxyKVbPMybJYFLG03kwevr4GQgMWfdQihLDQPXIHYV5Ksyo3nOzsp19VF\\\\\\n\",\n       \"+c6ca//JKefzX8/rxruU5xbFkn0vSGcixEwkjId4Vc+HxQJWXP3MvQhKkYrvZ74cWJUU8UqLXq4U\\\\\\n\",\n       \"gR8LhuLrN/HKMAzDMEYzJmAZWTAByxgWvvKVr9C1115Lt956K6211lqpy3YiNwwUm7b8Ap9rcX0d\\\\\\n\",\n       \"eqiFKP4rRS8WpmQy5EahqrHHwST/VT6fd6FSsjdBLU5xWKAMLWTXFcYnTZICVkzjumLKITn14h6i\\\\\\n\",\n       \"RYvqsUhLltRf5jFNvsxzfJ6MK2slhNCXAyvNNoN9S7WOFSC4sLDvzk4qIE9Wdxfl8sgZVdcbpMkF\\\\\\n\",\n       \"cCgh0GmJZG4sni+RuZlCyAhJPjwuA4d4sTClcterMMFGB9aAjhqr8+X2pTbCYWGDEbBkSJ/UZXhc\\\\\\n\",\n       \"pn5K6xDRZ0qSTaRZpKOsywZxsbOTZu/2DVq4/s602Y0zqdi7kLoWzqHNfvVpmrfPUbRon8OpowMJ\\\\\\n\",\n       \"8JP6YgciNx92XTlBqyNOQgUXC+FWi7Z8DaRlqdcdGUgxK2sIoYzz08m65EGw+lw9oGjCBOrq6qKO\\\\\\n\",\n       \"CR2UL0QN+i/XI9elDBvUqdI471v9Wsg5IasuYtVajydZuzujIq+f22qg18Fk28nA9eML/5POK43M\\\\\\n\",\n       \"xxXCQgoNwzAMwzCMRkzAMtoKfvU/6qij6KqrrqKbb76Z1l9//WGqYV8CYd+8ENJRxeP6JY23pR1W\\\\\\n\",\n       \"Wrjy9zLYOF6sileJgMUv4vxXJm6XoYGJy6qesB2DexfuiKm7o0S5pUsTEQgv6xCw+AUe4xCx+MWd\\\\\\n\",\n       \"nVksYGG+TnbkC5/iF3hWiqQDSydtZ0uRyyLf3RhCxaIVCwf8Ms+JyysViisV6ih2Ur4TPfjlvI4q\\\\\\n\",\n       \"HVLI81l34OKwW4pzVzHaMaRD3+Q2OeeWTKQtIyc5/ZcUs1h8k7qG1Px4XIpWUtDifWcRsKQgpzUX\\\\\\n\",\n       \"6cyR03V4oRSttGDF++BtSEOSTwzUPUX6UqZxE8LnNzbei+5f82ra5LrjadIL91IUl2naX86lSc/8\\\\\\n\",\n       \"mxYffhblJ0wbKFhVr4livkL5qEy0tJciFmc5bJbbPE/X7R8HxOG1umtFHBiLWb4Dlr0J6MbAJxd/\\\\\\n\",\n       \"0f7rVrG6A5E/V91Y6OCAKznX0UndnV0Ux/WQWtmOgWyPfF7YMShFzaRjg6Tily4tqpBB3SuhTNiO\\\\\\n\",\n       \"zyWPO8udbdUK5TyfQyurMMXj0tVlGVgNwzAMY6xhvRAaWTABy2h72OBvf/tbuvrqq2nixIk0Z84c\\\\\\n\",\n       \"N33y5MnUjZe6ZYIv55UeQsKXb325rC9cUE8bmAgeIWEyLEomn5bOEhlCyIKW/JyIVxXqKJSp0F91\\\\\\n\",\n       \"VrHzRL7ASwFLO1PYkaJzYOkERzp8it+iQ93GsQMFn7ENtpFohQRod0uMbE5EeScKIH8QjjvX4PaR\\\\\\n\",\n       \"QgqH6XERWahiEUsLKhIpWsmwRJ4nRRip1/G2sY7srZDH5TwdNhjquFHPk/vkMujyyWOQubq0eOUT\\\\\\n\",\n       \"trRIJXN46WWk40rqObIM2qTHveX5kMfFx1teaXV64tBf0Vq3/YSm3vwTiuKYumb/m4qnf4j6v3Qm\\\\\\n\",\n       \"FXbabWCPg4UK5eMy5UtCmJLtX7oOfQIuj+uk7lwBMjYPyHYqT5IMH5RJ3DlslgvN++FccFxx/Lmq\\\\\\n\",\n       \"uEYIK8xF1Amh1OXLyw04F9zjJsaxOZ4nOxbFgDpLrpEktxbyYTWKUqF7lb7P+UIGQ3kEfbmu9D1X\\\\\\n\",\n       \"JpY3DMMwDMNofM61XgiNZpiAZbSVn/zkJ+7vHnvs0TD94osvpsMOO2wZ17Yvd5VP3JIva3q6/OvL\\\\\\n\",\n       \"eaXzZPEykUjcjrxX/gg7nf8KAhU7TTjfVX2InQOrGJWpEJeIFi+uhwpKBxYGTMd8HUKoX945wbVU\\\\\\n\",\n       \"OeQbs0bakHTyak5czTF2nG1bZgPXGcE9Vqh8N1FU7KDuriRBOZ8Xmf9HhsqxfiDzUOkQKx++5ONa\\\\\\n\",\n       \"kNFhfVJ4wmHJcW3IkfmufGKVDA3j/cj9uSNXjjOdjJ6n+eolJGppIUsLVb51fPsfcLVVnXBp7jFZ\\\\\\n\",\n       \"RzVXWkeBXt/3KCpt9jaaesnXqLhgHuUXvUH5s79A9MHPUscXjqaOjg6X8wrXAcSrHMRbbveyzfNn\\\\\\n\",\n       \"nifbPLd7vh5k+5fXgxRxtcLJDcF3ILL9c1eKUsTia9En6FZPBk5956R8ouEWo2pxkgbBxeHzhbrg\\\\\\n\",\n       \"c4RdSG1M5xCrVHIUx+wahQomBS1fbsDY00Mgz9cClUz+LsUu2bOgdF2ZeGUYhmEYhmEMDhOwjLaS\\\\\\n\",\n       \"9HrVLuSv+7k29lAl817pzyFHlS/nVS6Q80r+zVMul+TzkS4qKVJxnisWqjAOoQrT5Dz8RU+D0dIl\\\\\\n\",\n       \"yQs4BKqFC+sv5xCwMI3H8Zlf1uXLPLtStICls0T70PFvstc1mfOH815xOCHn/OEk1ixwsWCgwhiR\\\\\\n\",\n       \"J6kwbjx1daL+kvMqDXw6RRdWk46skPNKCzxpSch9h67TH2VxVWnNT+sf0pU02BxY+vikKKVDAbO4\\\\\\n\",\n       \"tWQdp+W5YmSYpUyqL5Pr+5Zloc/l9t9yJ5p/ytU0+ZczqOOBW5OFr76Ilj72H5pw5jnUtd6aVIjL\\\\\\n\",\n       \"REtUu2anlRZtcT1IAVf2ysnXAouq8nrQScXSDpjbv8wDxwck1WnZ+wL2gTLwdcEJyTCtWvn5ri7K\\\\\\n\",\n       \"dY+j8eMLDW2HXYAcNijPvQzr5GsFy/X3R9Tfn6dymcWjanKtZGkV7leq3rc4P1UUEKH4nujLgSVD\\\\\\n\",\n       \"C5vRLM+VzpVlidwNwzAMY7SSPM8M7bu+ra+ixojEBCxjBUaHp/C0LOvozzpkptlnLXblvQNCB4vF\\\\\\n\",\n       \"qKblhHodZHFLz7/3jVvovy/cRce9/Tjq6qxQ1LM0yfnDIYIsWGF8wQL39/uvX0c7lqfR7r2r10MI\\\\\\n\",\n       \"+cXeF0LIL+/IQ8U2jtDdP5dLesrzObD4IFmt47xXLAawywXrYz5nnZZdAFZVH3dWCgUqdnQRggvL\\\\\\n\",\n       \"5WiAYUVqXzK/UsjNBHTInR70sq6VVLeh04GFosm0sCXDELWYJUMGdZqxNHR6Jh1SGMpfFXJa6ahR\\\\\\n\",\n       \"KepJkUTWByNFOHbB8XTVdBrOjRb8nKA3ZSUqn3g+0U2/oviX36OoXKLK4w/R3E99mFY7+RTq2mvP\\\\\\n\",\n       \"eptmYUo6rmRILTuy0O74OtEuRBa0pAOrWilOjNeNgonQU2ZUT4TGtkq+HmTeKxZt5bUmB644tq+h\\\\\\n\",\n       \"/VdjWbu6JlBcdSFyFKLs0JAvV940a9C8HIakKMn9KwkllM4qLdjzPO3GYmFKhiHKJO++XgfTcmHp\\\\\\n\",\n       \"XFdSKLMnT8MwDMMYi1gvhEYWTMAyVkDSBKu0/Cy+5dIGHV7jC7Xx5cWqD/l80quYDB/05cCS+a9Y\\\\\\n\",\n       \"xHpgwS30pX++l5aWllC+2Evf3PVrjS/reEHnF/jq+JmvX0Mzl/6RxlGR/rT0I7R7z2r1l3nZE1tP\\\\\\n\",\n       \"TyJWlUoUV8P6kETd/U15hXTaRFWFiPCiXY2XizjXVT1mqdHRgpd9Fge0YCWzl7ODpfo5XyxSIRe5\\\\\\n\",\n       \"XulQdMzmnD+caigttE+KWDpa0SdgSd1O6msanwDFxWaRSgs2vsTtXJ3yczPxitEik3ZOaYeZFqek\\\\\\n\",\n       \"I8sngGl4vhSmpHuMx+XplaIX14OuAxlO6RxZhYiKBxxK+bfsSH2zjqPKi89RvHgxzTnxBFr6vvfR\\\\\\n\",\n       \"9M8fQTmsxEIs57fSYpZs87JXTo+A5a4BXAt8HVQrJU1+cYeez7vrwP3FNnAtcDwrC7hSpJIhiVzx\\\\\\n\",\n       \"3N0gEFn+sd1iVxeVi3mqxEn7Z5GKxSzeBKbzrthQJu83+ItQxHLZ1xmFT7SqpNz3OIRQ/4Dg+0GB\\\\\\n\",\n       \"p0uhSoYgxk2WMwzDMAzDMIw6JmAZKxhZQwXTnFM8nwI5sNISHfuSt0vXFY8nIYVwX0GcYtGK/+oE\\\\\\n\",\n       \"7bI3Qu5tcPYrdznxCpx869epWOqlGRsemrhJ8IKO8EH+vHgxnfnq/9HM3uvc8kuon+7qf5Z2X9Bd\\\\\\n\",\n       \"f6HHi7pMaI2X9XLZBQFhYOGqWf9hrtdAHF31Jd3VgggjRPjfgCTWnKgH+2f1hPNhcfIkFrRYQakq\\\\\\n\",\n       \"GoViTLmuJKE1zpHcVPJi3tihonZfyR7bdA75kFuJl/EZ0WReKvlZijNynhS0eLl2CFjSIBQSsORx\\\\\\n\",\n       \"+I6P60Afb9qxaycahw3q+pHimC+xPot9sgNLGY3atfWWNOXXV9Dic06jhdde69Z589pracm999Ja\\\\\\n\",\n       \"xxxNXdOmNYq4uB5kHiyEELKAxeG0rAItXUqxSOpeKZdr7Z4lpkzXQrlMOQz9/ZTv6XGCboyDwP67\\\\\\n\",\n       \"uiiSPW/iL6tOsvdP2Y0g9yLAJ6ZYpI7u8ZQfn6sKUPX6k2ZJnYeeDxPLsDkSObD6+jg3X6U6SEdW\\\\\\n\",\n       \"OXCv06GB/NmdxUA4YVmJXq5Vqc8h5AVgIpZhGIZhjBXa4cO2J4fRjwlYxhhDvlD58mrJeb6QGP1X\\\\\\n\",\n       \"C1n1fFis3/ALOidpl7mdpZjF8/jzMTsdT13j++jkW05yJZh52+lEb75JM9b8eGMOLHZeVcUrMOvN\\\\\\n\",\n       \"t9Lxr6xP1JuEFcqk1uWqy4SFKy1eNXu19AVQ4iUeL/D53l6KUC7O+cMHWI9lqr+gsxLCXfrpDOCs\\\\\\n\",\n       \"alQqbh8dHZ0NSchd3qSqMCMjGlkTCOHL/ST1BOCLHpOijnYhaScWwxFmOs+VT9DibfnyRrXqwNKd\\\\\\n\",\n       \"SMqO72Q96PBDOS9UHnk83OugPGapP/rgOuK6kenUpMjrRKxJ42ny6afTgu23o5e/e7YTofpffJGe\\\\\\n\",\n       \"nnkSTT/wozRl220pkiGDLFqxgMVirQwhrIYaIkSwXB243bOMkyXduC+gOI/rADncSiV3PdSUaVaU\\\\\\n\",\n       \"ZGyfFLBkF4Oue8bqCejoSLbd2UXjxnU3hNByyiwWsLA73gxfcjxPpp7r62MBC0dXCojy8h4n80/p\\\\\\n\",\n       \"+6e26vG0tPBBwzAMwzCMgVgIoZEFE7CMFYAsea2y4BOlfGGB2l0QWsaX9yqZh54HdQiP7oVQdtyn\\\\\\n\",\n       \"QwpdOGFHTDN3OYEK/T10EsQriFgP/9C9jM+Y+uGaKHXm/D82ilcLdqIZczdOkl0jVLC6XKW/nyoQ\\\\\\n\",\n       \"roR4xS/s/PIuXSf65V3WBolUz1wTEAQqcZyMQ8jCfBlCyG/UMmSKlQtWSlBWVkiqObUQShXDidXR\\\\\\n\",\n       \"Ua2/JCyTI7WkECLFISkMaXS4nEh91BBqJ5eVAo8WyXQOK0aXSee74nXb4cDS7ilfniyZ/F0vK7fb\\\\\\n\",\n       \"cN5FmbmMXE4daojpKenTgrnD+Hw2DjEV8jFFfWWass8+1L3eevTC6WdQ37PPuhMw53e/p8X3P0Cr\\\\\\n\",\n       \"77eva38N+a90TqyqMwuhgnBeQcTlNl8S1wBLOq4exLSG+uDj8cg8Zb4TIIcWpvf0OHEXFe2cizrv\\\\\\n\",\n       \"m1Y5We3mBt3dnYTpRhEVxnVQZweciFFDyCAGvr+wsKvvPXLo7+ceCeU9TJZeOrH0vY/vDtqdpZ2x\\\\\\n\",\n       \"cp0MvQA0DRm0kELDMAzDMAzDBCxjhSAaxmV8eV7kdF9ITSgHVl3IiqJ84KV8YB4s+VnmwCoWYyrE\\\\\\n\",\n       \"JZq5zZdd4vaZ957tSjbzmZ+5F/MZ3fvQmW/8kWYuTcKr2HnlxCs4TpYsScKkIF719NREq1J1kOKV\\\\\\n\",\n       \"dmH5XiV9r7JcAwUx7lRxhBbCOVUq1RJS19SWNAFLxpJx0ivk2ioWqdhVoVIhR6WAgKV79ssiBmnx\\\\\\n\",\n       \"SvfgF3IoeVuXcitpkUqm+tIilly+VQFL5/bS5eVj8oUGZumB0ZdoXgpzEnZkhbYTOk/ea6QQUzFX\\\\\\n\",\n       \"tY3191PnaqvR+t/+Fs29+GJ646a/uW0ufOQRWvLcc7TW3nvROMTdavFKuA8h5DoRt1wecA2UlAOx\\\\\\n\",\n       \"0sSFpaVtln34L6oBLkcIWSh/Lo6dwMvhtw3Xg2zAfENgpQ/lr+bZynd3U7FYpM7OyGlybGjkVdjc\\\\\\n\",\n       \"VU3FFRiQfD5PccyiVT4l1Dp07/MJVTyE5L7UFpbB8G8ClmEYhmGMeiyG0MiAObCMFRTpBSIV2qLx\\\\\\n\",\n       \"zfO9jDF5zyuqT7Dy58RC72SsxfCgHVb8wql7H0TU3YQJyd/OQploYZLjyuW+WrSIZv73J66EM1+5\\\\\\n\",\n       \"hM6KrqT58dJaqWe9sQPNeGVDop5qaOHixS7nVaVUoj7xws4v7zqEUL68p9W6rxbKohaw7c5qOBVE\\\\\\n\",\n       \"rKLsKo1j2PgzqyGsuIgk1gPcKJ2dlI+K1NGRawiLgs7FIWm8yTRYqPL1yMfpunQCdOBLbD4YMavW\\\\\\n\",\n       \"yvLh3vyyIl1VjB4fjGjlK6cUr7i3QZnPShqM0s6BdMjx6cagQwjzUTXmjUP/qqLo9A9/mMavtTa9\\\\\\n\",\n       \"dOmliTC7aBE9e/U1NHWLzWmV1VeniMMJcQ1UQwiRBL5UKtUEq17R9qULSwq4Wa8Fvh6kD5O3zYJu\\\\\\n\",\n       \"B5xYEHOrueccslMDVlK5UvkkoSKEO6tz4kSiCPmw6h0nYlXu9JPzX3HqOYyzU4v7WEhccpFwYckc\\\\\\n\",\n       \"VqGk7lq6ljmvamfW49TimgrJgLJHRLmshR8ahmEYxpjDPZ9EQ95Gq/z4xz+ms88+m+bMmUPbbrst\\\\\\n\",\n       \"/ehHP6KddtopuPz8+fPp61//Ol155ZX0+uuv07rrrkvnnnsuvfe97x1a2Y1MmIBljLIE7vIlil+Q\\\\\\n\",\n       \"0oQunyClBTKfYCW3LyWdgushjYUqfkHXuX2cQNU5sAdCFrUK1E8R5+vBy/iSJTRj+kfdS/nMOb9x\\\\\\n\",\n       \"pZovxSs4r15en2jJosRtsngxlXt7XcggXs77lPtKuk/4JZ5U+BT/9dWerl1so6he+l0msKrCUli6\\\\\\n\",\n       \"1CW8rolUHEIlBSu8WaMCtIDFlp2+Psp35msv59ACWPjAgGkshnBvhBJfOJ0MIeQXfpkU3pcQXefG\\\\\\n\",\n       \"8rZC1Ux94YxawJLrZBHh5HE1E7B0mbMIWFxm1IsM/8O2OHE7m+R4ec59xfWrHVnSfSWFKzbeYRt8\\\\\\n\",\n       \"jTj3Um81dxT3Mlh1VE3caEPa4LOfoReuvJJ65rzidjjv4Udo0fMv0JrrrUtFFJpzXfX1UUm4rjD0\\\\\\n\",\n       \"i3bfLxxYWsyV1SSvBRlG645dBRHzdcXORLcsBN3e3vqXLofXykrimwZAheDar1aM6+mzs4sK7jKB\\\\\\n\",\n       \"E6ueqB33DM5Jj3sLDl2GFGKeDFXu7c1RuVyoHr0UsfT9UI7zkUvJWid4r7Ue9TOq9KnlMv7MyrVs\\\\\\n\",\n       \"6VgNwzAMwxgeLr30UjruuOPo/PPPp7e97W1OiNpvv/3o8ccfp2noMEjR19dH++yzj5t3+eWX05pr\\\\\\n\",\n       \"rknPPvssTZkyxU7RMsIELGMUosMB9bzQMr5wQp8TS7uypIgF91Wu9jIuX9RZq/GF9kh3Fsb/8ezN\\\\\\n\",\n       \"dO+Ld9DxG3yqngC6r49mTN6fznoFzqukd0IwpdJBM17bnL4/+W7asdRFu73R5V7aXa6rOG54cS+L\\\\\\n\",\n       \"l3dfEvesAha/6ur5LheWfvVE6BTCqOBM49xWHDbFsVBcMWwfSZL1JAPexKuWqVxcpkpUoXy+Xscy\\\\\\n\",\n       \"Ebh0BPlC3HSInewpjz/LHg1DAtZAASj0kp0UwFeWtHDBVgQsfXw+sape3vRy+lxSXB4twkkdUtZL\\\\\\n\",\n       \"KNxShyJKR5e+VqKo4s51zSrHdiNuE319VOzqovXe8x569c476dWHHnb7WLpgAT398CO0xtSpNKHU\\\\\\n\",\n       \"T5WqA7EUx7V2rx2IJY+AJXNipQlYMvuT7NdPXj+1PvvimAqViisT8lrBqekOltUlDHCMOftZdTpf\\\\\\n\",\n       \"+1V1Kurvo1xHzoUSyk4+QyGDsk4brxUIWFz6UJhgzhMsHAq5pkAYdqidWUigYRiGYRiNZEnZ0YxW\\\\\\n\",\n       \"1z/nnHPoiCOOoM985jNuHELWddddRxdddBHNmDFjwPKYDtfVbbfd5p7HwHrrrTe0QhstYQKWMYaQ\\\\\\n\",\n       \"rqpm+bB43PfiFgohxOUEYSXJ0aQdJpz7yjdeF7Biuu3FW+j9l3+IlpSWUP+bb9CMNT5WC4U6c87l\\\\\\n\",\n       \"DeIVmJ/ro3dPvYFumPgKjZueo+sWbUTvWNg1wHHCL+08zi/c/YFeCH3pmWXOH3615VdRfvFnY1FF\\\\\\n\",\n       \"OlSqsX7OhYWe1WTOH7ycczwZXtY5kTu/nYsBLpRcLnG5yZd0+XIeyjHF6LBAGS4onVcsYPE4jlDn\\\\\\n\",\n       \"xxJbTWlzYUI99Q2W5mGOzcup81wlomxjPctlZRRcSERze/AkuNfiVaJrxpSrJD351c49f0Zb4QHt\\\\\\n\",\n       \"qVSiqZtsQuPGjaMX7r3P5bhCgvbn58yhlYsFWjmXq7VxeQ2wI1GG1ErhSoq6oWtBtv9IOBDZjci1\\\\\\n\",\n       \"3SDyopMD9FCIsEZM53bODZlji7lCuCdPTK8edy5foGJHXL1fRDWNV99f9L1GCui5XN0xWq+VkJDl\\\\\\n\",\n       \"Cw3M+iOBDic0DMMwDMMY/l4IFyxY0DC9s7PTDdpNdffdd9PMmTNr0/COsffee9Ptt9/u3f4111xD\\\\\\n\",\n       \"O++8Mx155JF09dVX09SpU+mTn/wknXjiiZRv94O94cUELGOUhxSmIUNkfKGG2mUlu5nXQlYyT/aq\\\\\\n\",\n       \"5st9xe+iGGT+q1oC9yLRPS/824lXYOYD57iwwRmrfJDOfOH3NPPNK2olnFLppPk5ZPMhJ16BJfkK\\\\\\n\",\n       \"/WfCQtqJump5rziEMORAkS/soeTV8qVdi1gy5w/LeCTCp3h5F06Il3ckmGcliEMF3cbFy7wUs/jF\\\\\\n\",\n       \"vhqvFuUK1NFRrIUQSgEkJLRoePd6kO4r/psIWUkS7kZfjqylwbykwwVDw8DgypKQPDgk9RE15HST\\\\\\n\",\n       \"p4VDCHWvgr6wwYa9KMecFq/YjRgJp1WtHXAuLB1SuHQpje/upg032ZhefvppWrQkCa19vb9ECyOi\\\\\\n\",\n       \"VYpFiqOoIYxWC7q+ayHUI6fPmymTuHO71yGEPA0U+/qcqJuXea44pFZeDzg+GYdcFbdyhTx1FLtq\\\\\\n\",\n       \"Gi/+Quvi3Fh87+EQQp3gneu8XJb3Nhax9H2PayKUxF3msRqsYCV9bMZgcR0FtJpIz1jhueGl+2hF\\\\\\n\",\n       \"Zr81tlveRTAMYxSy9tprN4yfcsopdOqppzZMe/XVV90Pn6uttlrDdIw/9thj3u0+9dRT9Le//Y0O\\\\\\n\",\n       \"Pvhg+tOf/kRPPPEEffnLX6b+/n63D2P4MQHLGAPIvFc6B5ZvOfnXt0wo7CZxBfmEFCkA6K7t9fjx\\\\\\n\",\n       \"bzmSSovfpJl3nun2OPPpn9LN8+6kGxbVH1Jn9e9OM17djN498Wq6YcKc2vR9XplIRz0xtfaCHnJg\\\\\\n\",\n       \"6STuPgEr7chl+KBP0pE1169ruCpMIIyqJkawgsGiBWdkVw4s58IqFCjX2T1ADOG/afgStMswQTmw\\\\\\n\",\n       \"eIWXwjgO9dOoZY5WfMvD9aLZahkiJV7w9CSPURxXXK91pVI9HBL1w/mwdBgm58EKiXP8fq1D22TY\\\\\\n\",\n       \"YlRW557bAv6yiMWOrGobQnjeWiutRK9TRHOROwptLyaa09dP4wt5yuXzA3Jg6eshHsS1INOaa/G3\\\\\\n\",\n       \"IYSwCgu/qCw4sbinwZqAyyG2+CwFu+pnJIKPOzsb7h1p9xR5D5LXStKLp8z553NfNbtHZglJ1fmw\\\\\\n\",\n       \"0rDQwmYcdthhLtnsePS6KXjmmWfo05/+NP3jH//IUM+GYRiGMQKBe6pNSdyff/55mjRpUm2ydl8N\\\\\\n\",\n       \"FuQXRv6rCy+80DmudthhB3rxxRddEngTsJYNTV73DGN5Ew3j+s3yuOjAOf3aOnAbCM3hl0ZfwmoZ\\\\\\n\",\n       \"xsOJq9lgVMjHlM8nysmMLb5As7Y6ulaqBvGqvCfNWLw9ndl1V4N4BW5cbSF9d5O5DeKVFq58g3Sm\\\\\\n\",\n       \"aPFLv/Q3265vGTlUymWKWaiSLhtWjKRowUODVapCOeRIQqiZcgCxgOUzIej8VyHxKnFexW6A8wpf\\\\\\n\",\n       \"VANT3oeOMK2WfTU6HEMrZQiVvfF4UQcQ8rhefL046hxYzXIQ+HNhxZSLYI8T8ZzSCudrH0LQgnNr\\\\\\n\",\n       \"pUKe1i4WGr7cFpfKtKS/n/qrOeGyttu0ayFrTWuRrFbDyIdVKlHM4hRfCzL3lRzkNQMnYx654OKG\\\\\\n\",\n       \"+4gv91VjbrG6mJ6EEbq7lic4Uk8L3QtD99K00MLBYs4icP/999M222zTENrwy1/+0vWatOqqqw6x\\\\\\n\",\n       \"jg3DMAxj+eF7Vh/MACBeycEnYOF7EyLUK68kkSwMxqdPn+4t4+qrr06bbLJJQ7jg5ptv7nowREii\\\\\\n\",\n       \"MfyYgGWMghBBKSj5tpFr4iKQL2x6uXyKoDVwG/wiLh0Qspc12SMhv3DWoubyFSrGJeewwEvqjA0O\\\\\\n\",\n       \"pf2mvLWhRPvRRjRj6Q50Zv52mrnS3fXpc+u/MJy61Rw6R4hY/SKEcKiySJblrp0/nzZ/4AH6wjPP\\\\\\n\",\n       \"BMWBWL64yxd2DhPTzivx4h4hP1IZSeEh+NXzSOlQwmZuLIZFKw6x4qFchmij5TefvMFZlVji89UK\\\\\\n\",\n       \"5vdkHHoz1HJvC9sLnX1ZVilh+gNNK5Wyq5PGOpI5wpoj3T8y8X7tnEUx5crJOXYbluKNHmRIYXVA\\\\\\n\",\n       \"m0LbKuRyNK2jSJ01kQaaWEwliFiVStvbvB4e7+mhY595hvZ99FHa7IEH6Kfz5nnFL3SygPYfc4hk\\\\\\n\",\n       \"Ndddw18tXkGo6+1194pivtJ4DxGhyzKtlr4f1d2Kvh4H9b1O9zmq75GhbTSc+ZR7edr9W+/LRKz/\\\\\\n\",\n       \"/Oc/dMABB9Aee+xBJ510En3sYx+jr3zlK/S9732PrrrqqmwXomEYhmEY1NHR4RxUN910U6028AMj\\\\\\n\",\n       \"xpHnyseuu+7qwgaTH7gTZs+e7YQtbM8YfiyE0FgByZogL9fCS5ReTi8rc2XV88MsWvXftHTKgzT1\\\\\\n\",\n       \"ieMbBCwZxqOTuV+/4Pu0beeOtMuU3RuSuOejJNE5D9+f/Qu6Yf6dDSW7gZ6glcb9qJb7Cnxn9jp0\\\\\\n\",\n       \"4sMr0bc3foVO3ipxZH17qzlUqUR0WEo4IXtsOIF1JSUHlqw9fpXlUEF5Nl7s66MfvPwybT9+vJvf\\\\\\n\",\n       \"7wlMcxl3yuVkW3hB55ApDEjkU811VVNI2HUjM66Xy5TPFRpCotJSv8ik61KwkpscKMhU1MC1pmtL\\\\\\n\",\n       \"pr7n9Rr23mJY33DgE3LluC+3m070nUyvVJLcXahv1BnXv65TIHtw9JZKhA266wS70BuSbivp2JO5\\\\\\n\",\n       \"saoiEJx9cPi5MxVF1I02ValQb4kzzBPl+0vUX8hTPxK8R5E3hNCXB0vWpMzYxDUlc18trFRo9Y4O\\\\\\n\",\n       \"2mvKFDr3pZcaOksYkD2vGhboKgBJ8bgnThk+KHvlFMefj3LU0ZEPJmvX7ix5T2oUsGpXpsp/VQ7c\\\\\\n\",\n       \"B92JytjmZA1mXY/3bWjQ4xHCFNBxwRlnnEGFQoFuueWW4IO2YRiGYawwtJqNI7SNFjjuuOPo0EMP\\\\\\n\",\n       \"pR133JF22mknOvfcc2nx4sW1XgkPOeQQWnPNNWnWrFlu/Etf+hKdd955dPTRR9NRRx1F//3vf+k7\\\\\\n\",\n       \"3/kOffWrXx1iwY2smIBljDJ0eJ8ki3gVchjo0JmIFq16Oz29y6EUF5ZQnItp+hPf8LpKZIjU9YvO\\\\\\n\",\n       \"pCsXzKQrXh9H50z4E71z8u71l84ckpzXky/tOH5jGpfrpCWVXtqvuDnd0P+oK5EUr2Y9uR6d8MQ0\\\\\\n\",\n       \"Ksc9dOzsae4l+Yyt5lB3KaIt53c3JKb2DTyPJRY4Qp7p6aHX+vupp1KhrlyOVunooLU7OykXRXTH\\\\\\n\",\n       \"/Pl02dy5NKe3lzpzOdqgu5tOXW89mgAxII7ptOeeo8+ttho9uHgxLS6Xa9uXr8Q8Lar2yNaQ38g3\\\\\\n\",\n       \"KOGK1agIbh2R30eGo2UJIdT5sOohcTJhuw4f9IlXMnOSzH7E+FKBL0t8CbI575V0tXC2Jpm5SWc0\\\\\\n\",\n       \"S3KCJfUUeeouWxihP3wQ4yknR4cSega0QW7PbkAC+nzeCT0luPfQboiou1SmKKrQgmKBylHUcHal\\\\\\n\",\n       \"oNsXx/TEkiW0sFRy4Yfj8nlaq7OTVu3ocLXzr/nz6Q/ietiwu5tOW2892mTcONpq3DjX3n/88ssN\\\\\\n\",\n       \"10Gp+sVbuw7jmPIom3ab+a4N+Rk5tApxQ+4rKV5JN2JDfrFanSM5P85lszDqkKtqsPdT/ptFzDI0\\\\\\n\",\n       \"SBKLbr2RBwu9Jv3zn/90jqyf//zn9N73vtcqzDAMw1hhaWcvhFn5+Mc/TvPmzaOTTz7ZhQFut912\\\\\\n\",\n       \"dP3119cSuz/33HOuZ0KZHP6GG26gY4891oX0Q9yCmIVeCI1lgwlYxgpCVueUzOMymH2k5X1pLMfS\\\\\\n\",\n       \"KQ848QrM2eqblMsVaPIrMxocQfLl/K89Z9I1S5JuWnsrS2j2ortoz0JdwMrhtVm8pO8+cWv60wYn\\\\\\n\",\n       \"012v3k/H595BK71+As13IWEJU0oFmvHf6VTu761JKEfNnoa3dtpifjdt/+qEAW6rkKAFsenW+fPp\\\\\\n\",\n       \"z2+8QS9UE2BL1hk/nnabNIl+9/LLdPDqq9PbJ0+mvnKZHlu8uJZX6LevvEJTCgV678or0wOLF9dE\\\\\\n\",\n       \"ANkbW8NQ7ZWwJlLxy7mM59PJlkSm8JzINaaFrLSeB6UTSydyT+aHxCtff40+McvXS2HWn5RaFbmy\\\\\\n\",\n       \"igihtsxCghas+Hh8LhyEVsKJFXnr0B1FdTyEPF/6HBLcUnqjWsCRzjwlYOl29v/Zew9wO67yavid\\\\\\n\",\n       \"mVPuufeqWJZk2bIsV7nghm0M2ICxTTApgCkJJYQWSMIPIcQmRAICOHwgAYFA8hEgpoWSQEgvfJSY\\\\\\n\",\n       \"YkIztjG2wQX3qt5vOXX+590z65x33rNnzrnSlSxdvet59nOmn5m99xzdvbTW2u5JwoDaZZdaTiXO\\\\\\n\",\n       \"1yKiESaOGk3aUi7RdOjevm5Lb2426X+2bKFvbN9KOxvcu7M4e/48esr8BfSxhx6ilx15JD15wQKq\\\\\\n\",\n       \"p+8DE1LQ6/VqrEdgyfn+urQnpGySxBpA1rl3oBJTKcwnr/RvUJYsRBC/L9NK9q1BWVgzhVRlDTNr\\\\\\n\",\n       \"IfqjgcH/Qzw5OUnf+c536ElPepL7vXr/+9/vSKxXv/rV9Dd/8zdWUQaDwWAwzABsxefiA/97q8Gq\\\\\\n\",\n       \"5x/96EdWx48RjMAyHCSYreyTvEGXJr98gzm5P6Qld72O4jCg9af/udv6yGlrnAPu1C0JiSWtOt+L\\\\\\n\",\n       \"19HXU/KK8drj1tLLT7wyO4Meq69A2qQqjIuqq+iikcNp3db/yJBXjO2lFq075gG68vbFmbSi19y1\\\\\\n\",\n       \"xKUe1T22QR0uzUPHb2zdSp9Zv94NwEee9FRa+JzfpNLxqygYHaV4cpJad91OG/79y/SF637gvpeH\\\\\\n\",\n       \"kosqFTcQP6ZWc7Xys4kJ+uq2bfSJk07KaJFgIQQFIiPQWQ2TUZz0EtT7lTdSgZPu47ykPZkxXhIt\\\\\\n\",\n       \"2q2WFB9pBRpQatY0cSW37ekMhT7TWh6GtcTqvquXpYVM0iwggXHfMIu2U9Kj3zo4jG0w9y6ZUGEF\\\\\\n\",\n       \"lu4HvrR42UeEtZDJI03YojTZLlgqOeVVjUPQ2Y7FUyU3W7Q5imhzFLr++tlHHqGvb91CYTmk+Rcs\\\\\\n\",\n       \"oOOfehhVFlcoKAXUnmzT7l/spju/uZVueughd99HVCrufeB/TFfWau66LU+Luj6f1iIMmehZAVti\\\\\\n\",\n       \"9aQGeUHugvANR1iF1Z//Jm2DGYummoUQ7Zf8b6XO9dN9ZyazugazRDxJdaABBNZf/dVfdWchDILA\\\\\\n\",\n       \"/a/vM5/5TDcLocFgMBgMBzXsn3zDABiBZTgEoAdZGEbqwZrvHBlc3H/s0juvcK/R+tPf4dbvPm6N\\\\\\n\",\n       \"y5k5a9dqt86DxR+V1tG32z3y6uVHraWXH7+6O5gsleJuMHlm4J7OsLZu1/+jNY2vds9f2K7Q9iiZ\\\\\\n\",\n       \"5WLNaY9Qq9OhN9651GsL1BoiDJix/8sbNrhSu+zZtPgVf0DRsqOy1TA2TtGSpVR98tOo9fADtO2N\\\\\\n\",\n       \"r6bPP/oofWfbNrrs8MPpggULqBIE9KEHHqA3Ll9O46VSl8Ai9f1ywI4MLSYcwnT2uExAdxF5kbIj\\\\\\n\",\n       \"oZhdbRB8bjSpusLMg4n6SiuwNHElTWYwnUmiSiuxfBlYef86y3OKIGlBH/JIB2kb1GSWVl+V1P3I\\\\\\n\",\n       \"Y1mFFVCrFToiRNenrudB6JK4rmMUTA+pk/bT4rKv4rhb662Cd6EVhbQ7LNOCZotqqaVwSbtN1U6b\\\\\\n\",\n       \"Vq9/lL67YwctfeERtOjiRRSNZjtXNBbRoosW0WFPO4wmfzlJ93/ofnr//ffTKaxQXLiQnrJgAc1n\\\\\\n\",\n       \"kkwZ5GSP0ipIvA/OSsgklVSXSRWinKkzfT/4NyMIWy4HSZJUkqwCUeUje5PtLNf3Wa996XU6763b\\\\\\n\",\n       \"giIRDG+33meYDbBV0IfHP/7xdMMNvYk9DAaDwWA42PBYWAgNBx9sFkLDIYy87BffsjxG7g9o6Z1v\\\\\\n\",\n       \"piN//p7uEbcfvYZuO3ydGzD+pLqOvh31yKsXL15Lv3lkotCSVsMg7iSKJNjqUq/bui3/Tmsm/r17\\\\\\n\",\n       \"/todT6Btv3w+rX3olO62P0tnHcyjW3QgNT7/35Ytjrwae9XraN5bruonrxRKy4+hw7/yDar+yq/T\\\\\\n\",\n       \"g9PT9C8bN9Kb7riDHmk0aGOzSVfddx/92s030zNvvpm+vm0bfW/nTnrSzTfT/fV6v6VLao008wFV\\\\\\n\",\n       \"jSYvlF8tUFlKRdZBuYwCO2G26Ch7X61Ks5nUvvloQt9+37yMer7GvNSyvbnGoOu2PM/oM+QlhetK\\\\\\n\",\n       \"15+sU1n3w2RhuYKDfcSVry+IfXl6OC+RGwS0sVyirVFiHWTMj4neffgSev5vH0dLfn1JH3mVve+A\\\\\\n\",\n       \"xlaN0ckfPplqx9Xol5MT9B+bNtEb7riDHuXZED3vXV5xj5xmi/WpDXP6vtvH5BuKx0Yr8+B8ls3+\\\\\\n\",\n       \"98X3e6iX834jfeuGfYXPf/7zbhako446iu6//363jUNnObPDYDAYDAaDYS7DCCyDYcYDMD3VPNER\\\\\\n\",\n       \"v3wLHXNnMjsF4+ala+gzRxxG36v2yKsXLFhLz1uSKK902DsxcYKBa8oArHv4S7Rm6z92z1/beBqt\\\\\\n\",\n       \"3n66G7yufuhYeu8dK7r7rjp9PX3EQ2LJiHFJaG1qNOhTjzxCtctfRGMve60bkA/1gxGGtGD1u6n2\\\\\\n\",\n       \"q8+l7a2WC3a/cdcu+stVq+jDq1bRX61aRX+zahVdMH8+PX58nP5u1SpaUi576A+hTvHJdvqDqfrX\\\\\\n\",\n       \"hcqjKPtKzkAISJIluWScWuA03SFJH20j1FqaZlqkUqvl2Q9TZ14ZlsAadA15P5Ls8t2vvGdJXOnn\\\\\\n\",\n       \"z+qaknpjMitbr5rEKiKwsgq6HPWVLJro6XSSPlRAGuGuZd9jEmtLqUQPlEu0Oz3/8FKJ3v2TKr3s\\\\\\n\",\n       \"W22K2oM17NFIRMf+6bFUPXrEhaKXgoB+tGNHppa6/dBDCfbp9WTel1RiajJL1kHczmRc+eyCuXlj\\\\\\n\",\n       \"SSvIFlETYRTBCKvHAh/72MfcjEkc2L59+3Zqp97dhTzj5Yc//Jjck8FgMBgMs4J4lophTsMILINh\\\\\\n\",\n       \"6FclLNy3/N7VdNL9PRKrEW7vLv/GyFr69QWre2eIHBo3qFQzra279/O05uHPdY9fG19Kq6fPy1gM\\\\\\n\",\n       \"V999JL3758t6x5y+nv5GkFh5EeP8+c2tW4kqVRr/3Tf0kVcj09P05x/7C7r63W9xn7zOaN52C018\\\\\\n\",\n       \"8VPUuvMXVHveS6gThLSz1aKVIyN09MgIrRgZcctcxqKIRsOQjhsZoRLPUDhIgaX9Zj41yixAC3ey\\\\\\n\",\n       \"X+vTymglkk/1JMkqX+E0soZKJJOpZM30mL0p+npyvaG+vzXkM+TRLdltMpJKOz5nBbqxpNxLkDp5\\\\\\n\",\n       \"fd5355Lk2h2G9IaNj9L34qnuVz7nxzG9+/NtWrqN7b0xnXZ/hy78ecd98jpj8u5J2vifG6nxaIMO\\\\\\n\",\n       \"e9bh9PBUnXa0WnRUtUr1TofunpqiX05NUSuOnULx9qkpekCoEftshWKCgkyF6lw4SW6xjZDz4IRV\\\\\\n\",\n       \"UBKCUoWVP0Pn4N82w4GDv/7rv6arr76a3va2t1EkGpuzsW655ZbH9N4MBoPBYNg7BLNUDHMZloFl\\\\\\n\",\n       \"MAxEnp0wu48Hhsc/spruW/4+apZ65NUILaRfqfVsg3IA2VWguBFtMoD94L1fpDX393JO1pZ/lVbX\\\\\\n\",\n       \"n0DU2ZlsEAPdP7nzCGKhyLtOX+92vZ8/OwG97K4lfbZBdypTG50OfWP7Dqo+6zkUjo1nnuaj695G\\\\\\n\",\n       \"p95/T/cpT3zkQfrqH7+Kblt5PP3+S36XGjffSBP//EWKJyYoGBmhkUadzpg3z/sfH751nxLLO32d\\\\\\n\",\n       \"jwHxSalyoC8hxTvyEtnj8vRq8tMX5q4pOa0B0nlYEsP8dxH2Ff2D3Mn5R1vmGnVU1hXUNvJZcLzU\\\\\\n\",\n       \"DsmsLUTx49od6nSivibU9VvUrPmPraYylASP50t0H9T9Pq+wHfa6HbvokRcvoJdGIb3s2x0qdYhO\\\\\\n\",\n       \"fJTog59sU6NENE/Mn7B5HtFnfyWka+eFNHnHJG35xhbqTHUoiIiOqYzQ4+fPp62NBr3xl7/snvOl\\\\\\n\",\n       \"zZtdOWdsjD57wgl9PaX7NFJhhWdDp9XPLo7TOXCSsJLbXKspJVavXX2/bXn7DI8V7r33Xpd3pVGt\\\\\\n\",\n       \"VmliYuIxuSeDwWAwGAyG/QUjsAxzHDMdeA0zkOtn+TEYvHf5ugx5xZim7fTN6XX0mwtXZwaNGFBm\\\\\\n\",\n       \"sn/imM6bfyqNhlWa7NRp7bzn0er2k4mmd/X7s3jQHsd0RRrg/u7T11OtFdDjttcKB/A37NpFOxt1\\\\\\n\",\n       \"WvSc3/SSVz7w9k/8w6fo9e/7aHdb87Zbaevrf4du2b2bzlUk1p+sWOFmeJPfLZEZuOd5znxsUwH0\\\\\\n\",\n       \"4Z7q6tvXI1g07SE/20NkQ/l0Pu6mFWkliaFhdM5dndqQsw4WkQ1gK0BU+UK75bomrUB+4fzkmbnu\\\\\\n\",\n       \"eFZCybXI+s2zFXafMK8KdKO5W1csmbhwHhWot2kC61tbt1J5PKL5582nr5ZDum1FQG/69zYduY2o\\\\\\n\",\n       \"2kqKxKJdRFf+S4fo+RW67s3Hdrdv/n+b6f5/3EC7Wi1aUqnQf5x5pvsHlkslnfEQsfjyvew9bk6F\\\\\\n\",\n       \"+d4LUQc6C861pCLLNWmulVn97V2UhyWPmQkwQYBhb3DcccfRTTfdRCtXrsxs5/yrU0891SrXYDAY\\\\\\n\",\n       \"DAcvZsMCaH9qzHkYgWWY49jTgdYw18xaax5cuY7uP6aXeVXtLKR6aiP8r6k1VNtO9KKxrI1QKiSA\\\\\\n\",\n       \"ixaeRV895f/Q9VtvpSvDC4nY7odBq7JQ4Xf+D+9cSnEnoFO31+iczeMEwYjWAnF5pF6nqDZK5eNP\\\\\\n\",\n       \"6n4n2wRBXvmGqnwN3s/HTY+MuO2lUx5HQRTRerZFzZvXpTS05iiPTOvDXnjOpDBFLkvhis+ZlcbH\\\\\\n\",\n       \"4AaGJKY0iSVnJfQRYPrpZa3M5F/u9pB9WxJdHU+2kZxpENs66p8DKLZwDcypJ1sZJZH/aEumjG3S\\\\\\n\",\n       \"hJVUZWXbYIbw9BlZsz6lk26VRxt1GjlhlMJy8jLee2RAq18R0t/+304feYXa5XNf+c0O/eSkgOIw\\\\\\n\",\n       \"qevRVaPOBrip2XQzEQ7S4GnKtKtGlBZJWWGyAj2VVpQDp9VY+eC2bA35GzhTmIprNsD5V69//etp\\\\\\n\",\n       \"enrakZ7XXXcd/cM//AOtXbuWPvnJT87KdxgMBoPB8JjACCzDEDACy3AIYd9ZYdaf9D569KS3dtcf\\\\\\n\",\n       \"v2UtXRivplsXrqPvlBJS6yvb1lClQvTyeT0Sq4tOdpR/0YIz6aLoeKItW4ZTphDR7921pJuGVIRJ\\\\\\n\",\n       \"zswZHctse+tn/m9hzQTiuHe87s3JtiBwRBhfz4c8imaPwSE/BWHz2p6W50JU0UkiA0sTUHJWPr0u\\\\\\n\",\n       \"VVmSwPIRWZqyyKudPflXO8826LN/SQJLElfyeDejgLgfeVyQPiuUWMkz+OoS5JUkEmXEWV77ZB8j\\\\\\n\",\n       \"DXaaJeTVLge4h7Xs9xy3sV95lbk1Ilq8i+jUB2P6xcqk7jBr4dQQRGxhS8/AKptUYhsc4gEGsx7u\\\\\\n\",\n       \"C7zmNa+hWq1Gb3/722lycpJe+tKXutkIP/KRj9CLX/ziffKdBoPBYDAYDAcKjMAyHELYN5rSjas+\\\\\\n\",\n       \"QOtPe3t3/XGPrqUzplYTzSd6cns1lctE34wTEuuLG9ZQtUr0B4cpEmvIWQBnA5UgoLghQn2I6MjN\\\\\\n\",\n       \"G4c6Vx/XaTSoEmRztIZNDus/QW2VviiPfMSXqaSta/o4bR1MSBW2wfmyq4oUVdJSWHSOJq/0vHSZ\\\\\\n\",\n       \"J6I9Q1jQzyPRErhfSUDh3FDdn7SRyecJ+p6T644thO12YiPMq3u0jz5GH9fX0rLtdT/wvDd55re8\\\\\\n\",\n       \"N2yE34dm9rfhsN00FORxnUbykOW9fZdnen5wIIesm45/X+C3f/u3XWECa/fu3bR06dJ98j0Gg8Fg\\\\\\n\",\n       \"MOxXxEFS9vYahjmNA/kvX4NhlqATcGbvuhtXfZDWn94jr1Y9sJZO3pQlp54WrqbfqPVmJ/z0A2vo\\\\\\n\",\n       \"7+5elxVZ8CB02IGrZzqxQXHLcv/CUolau3dRZ0cvq+vRxcMNgORx7S2bqNOo0wKlktHkgU7U8RIK\\\\\\n\",\n       \"vlAeGRYml9P9cdwjTCR0jJAOb9eElp+E0tt0YHs7h7iCOqs9xDafXbE9w5J3jZnej88eKZ9VbvPX\\\\\\n\",\n       \"lQ5qL8rC0m2WIR31eyADnXSYU45vrii1Tve9BaUyNR+tpzloCbb5Odk+yOMaGxrp9fLfB7ktl1jz\\\\\\n\",\n       \"PWceinyDe4TZ/X007FuMjo4aeWUwGAyGOQNfDOieFMPchimwDHMcvYye4TCM8S0ZuG868aO0/vSr\\\\\\n\",\n       \"ultX/nItnbB1NVFNHJkO5n9lZDXVRhIbIeOjd6yhsZEyvfEJV/ZfnqcUk4NSOUiFjS4dvIftdiaR\\\\\\n\",\n       \"S5rF9MAdRrDzFyygqx99lKa+9h809qKXu+Pf+6o3uNkGGb7hMP4t4OOAqf/+FypHkZt1LfQY1AYR\\\\\\n\",\n       \"ad0UMX5eEFQgKzCtmnx2HOcJD5PZS3pdZzP15zQNIq40+YNjWkPkYGkFF3kSkTTBOuy/vFJZhXUZ\\\\\\n\",\n       \"xA61lG4RTXPi+2APRNQ4rovndg3iqScOcY8zmVe+upbr7qpivffHRkpKcVujaBIT22WfiSL3Luin\\\\\\n\",\n       \"9NWY7KP8tRcsWEDX3reNpu6ZotETRt1xHOTOsw1yYLvvf3n4qbfOS44Dtn97K50wVqOllUrf+6Df\\\\\\n\",\n       \"Q30v3e1yekAQYVqBKN8PGs6SOdzsj5qYLILut8NgVg3FhxR41kG2bA+DG2+8cZ/fj8FgMBgMBsNj\\\\\\n\",\n       \"BVNgGQwDoQfsCWrbz6KglQx4j/z5e+moe1ZnBur6fwB+bf5qeunSRIk1Eo3S4xad180GcodKYkYS\\\\\\n\",\n       \"Ob4BezrA5UGNHrTrQbHexgqsJy9YQPV/+xLF6aiWg9lvW3m8W84blvJ+BLjHrSbV//0r9JQFC2g8\\\\\\n\",\n       \"ivpSlvSPTN79dAftM3n2dFtHKLA0QYJ1TaroEPfeDISDlFGytJQCS85OiIJjNAHWUvuGVUrNRNmF\\\\\\n\",\n       \"728VbNfnSoUVjvPZJn1Kr3ZqI8zWra/u89qpW1j2XdDmjtTx9RUmcwv6vK9PYtvZ8+bR4SNl2nrN\\\\\\n\",\n       \"1u5+Dmb/7K+EXhIMlCDvR4B7/dE67bptgi5btLhPXZV3P33HMEGB55MqRFkfeh/bH9XEBe4eRT33\\\\\\n\",\n       \"3X+nSIWonxT7jHx6LHH55ZfTc5/7XFcuu+wyuvvuu6lardLTn/50V0ZGRtw23mcwGAwGw0GLeJaK\\\\\\n\",\n       \"YU7DFFgGw1Do/0Uc33wBHfeDr9DUwpvpiHv+xCmvtHxVzrbGn889fDWNVst07pHn0ROWXNSzU/FA\\\\\\n\",\n       \"WNvotOJIrweB1yLlI4tI7XvWokX0v3ffTfXvfINGLnmW2//61e+hj657W3c2Qon1iw53+4Hpb36V\\\\\\n\",\n       \"Wtu20DNOOslLEgQ5keFeOxeeW5NWcrscvKfLHZVl1SOkssqefFtbYnvrb2OtxhomF8tnKZS5V1px\\\\\\n\",\n       \"pfuT71/cvH+BgyFSn3zbWLXjOpsgJKSCS4a1S5IqyKkLaJjSu41ZiZVYO+VEerLuZRtlc8hAYCnL\\\\\\n\",\n       \"YEH7y/cB6pS8d0D3QcDpzYKALlt4OH3pxxuofvkSqi6tun3XnRzS3Ud26MRHs7XNyismr3g/sOmr\\\\\\n\",\n       \"m2isHNGTFizw9nEfidVXfO+9fg+wLrdRNnvMV3QOWfZ3quivPftL8EDAO9/5zkyI+xvf+EZ697vf\\\\\\n\",\n       \"3XfMgw8++BjcncFgMBgMswTLwDIMASOwDIah4B/IjW9+Co1vvpgozJIhXWWVGrQznn/klXTYYdnB\\\\\\n\",\n       \"e1zykDi+gSsrNDDATbcFcZwZoPvUHXIAzTTGKaOjdP6ChXT9+99F0ZHLqXzqGe54JqlGpqfdbIPH\\\\\\n\",\n       \"PvoQrdi0wW1/cNny7rM1br6Rdv3l/6ELDzuMjq/VugPwSN0DvivPXtgd4MsBu1SgaOWJIi1iERqe\\\\\\n\",\n       \"R1xplU+/+spHOOXlPGkVVpE6CQRR3jJDy2P2VOWi9UW+mQRduJQiqeT5IK1wTkkcpwPc/fWUqLDC\\\\\\n\",\n       \"vjrWqkTdLplg9w63ew5hK7dpNVaqAvQRRuiDkr6TCixuhWccfjj9z/at9OAH7qdj/+x4Ks0vUbkZ\\\\\\n\",\n       \"04pNyTG7R4g+9cyAto0HzjYI5RVj89c20/bvbafXLF9OI6kSDN/pI870u5oh1fCey+fzvQPYxgos\\\\\\n\",\n       \"JnOFui0vIF/+JrlWjoexAxqBdaDhK1/5Cl1//fV921/2spfReeedR5/+9Kcfk/syGAwGg8Fg2B8w\\\\\\n\",\n       \"C6HB0MWwVpn+nBg5MNcDd0aeha2b2xQI5ZG0S8nBKtb5s1JJbFOpCstHHJXEHHR6UB0FAf3RiqPp\\\\\\n\",\n       \"+EqZtl/xWqr/8Nrus7BN8B2vezO9/Kq/pPWLFrttj7/j51SbnKDpa/+HdvzJ6+jkWo3+YPlyd00U\\\\\\n\",\n       \"H2HgI8/wieKmaeSpGfmZ8Ly8jYusD94v6qSdY1mDdXBQDlNir8qz60niStrsdAZWK8d6yOvNtOj9\\\\\\n\",\n       \"LbFdbtPrRaXo3KbHPojtep/cj2tL5ZiuC31e9hivLVAQVtwu0lqI9W6b8GVk/5d9gte5T8j3gvdz\\\\\\n\",\n       \"KZe7/akk+phWX+m+CeJ1fhTR21ceR+XtHbrv3fdQ/ZE6nXFfTFWuDiL68ckBff9xEf1iZc82GLdj\\\\\\n\",\n       \"2vDPG2j9l9bTc5YsoWcefngfcRXlvJP6HtzxIKzT5+n7PcgpcRB6yVlZr66ne9pDk12+37bBv4OG\\\\\\n\",\n       \"/YlarUbf//73+7bzNrYSGgwGg8FwsCKIZ6cY5jZMgWU4BOCza8nBF3hceYxW38jzJKRqJV1Ss67l\\\\\\n\",\n       \"DeZ7qghWUUQUs4pEK0vkQJa3o7BtqlzOKJ/0YFkOoqHJkTUxGoZ01bHH0l888CD99G1/RJVVp9LI\\\\\\n\",\n       \"819CI09/JgWVqlN3/ODMc+j53/kGldttOu1Nr6av3nUnPWHBAnrDihVUDUMvIeVTXul76xJbUlED\\\\\\n\",\n       \"ckISFOqZnfKKB+1hRK124AbpzWZ+tpKPuMqSi1pJ5FNg+Y7TNkJfjpbsL77r6+vKfjToX1/sh3YH\\\\\\n\",\n       \"CiuprML3af2P7sNQaGn7YJ51EMtQc/WO0USKDnTXSjm0A7dhQrgE1AkjClwRqry8PpG+H2y/i0WQ\\\\\\n\",\n       \"e5HqKkpbCDHouPvl1SqtPeFEevd999Jdb/slvfrUFUQ05o65/qRevTa3N2nbtdto+7e2UmN7i168\\\\\\n\",\n       \"bBldvmRJ9ztLgqiS74QkzPQy3lf3PPKZpQoL+wS5HUe8P+qr4zwiMTPbY0aFlffbpn/78kgrn2JR\\\\\\n\",\n       \"7rO/JmcLb3rTm+h1r3udC2s///zz3bYf//jHTnn1Z3/2Z7P2PQaDwWAw7HfMxp8M9ifHnIcRWIaD\\\\\\n\",\n       \"BBig7835ej2PLNAWKT0Yk8f0Bmy+KVx9BJaXzKLQKSncoD1PfSUH8uln6JRIHYpSGyEG51iWVINW\\\\\\n\",\n       \"apVSEmv1ymPoJzt30tfXP0y3rHsHTfzV+6i0/Bii0TH6xuRuen7K7z23Pk2nHXssPX7ePCqn4fFy\\\\\\n\",\n       \"8D2MhTBzH9ImWEBY9REYAddV5A1p92VeFa3nE1U+xZGPrCIPmaXJK6naksfr/jQTNYvsk5KA1UY1\\\\\\n\",\n       \"fC9qXxJPOvMq8hBX8tmlnVA/T7JtmLrXOVgZxVAnyL4Hsk8UvQt4HzodCpWl1qdQREGNgcxaVqnQ\\\\\\n\",\n       \"B048ib67bRs9tTHidkzFHfrPf3iQGmWizkSbph6pu3fnwoUL6ZknLaYTarXMO+X7Hq1U1MtuMgYd\\\\\\n\",\n       \"VK+fUxcmc4PA/Xbk1blWgvqnmfYRuLqPFf0m6n6ct29PYX+JSqxevZqOP/54+shHPkJf+MIX3LZT\\\\\\n\",\n       \"Tz2VPvOZz9Bv/dZv7WVdGwwGg8FgMBzYMALLcJBAK0725jq+AREG9FguOq8/B4gHg9K2JlUmvkwg\\\\\\n\",\n       \"nzKlE4QUQnEFdQksUo1Gz1aHklqNeNAetVrd1KKSRwNUyqFK3PYgcLMSPnHBAnq0XneD962b19NU\\\\\\n\",\n       \"p0OVKKLpxYtpJAjpSaOjdFil3J35UJJTJaU+kVYprUbpnseDdLa8cIGFUD+fVNqkJS6V+uoPdc+f\\\\\\n\",\n       \"XFXaPtivBoqFhdBnHdRklc68ij0z9mmrIHmW5edsZWBRQQYWpbXdVsthet9ShyTPBWEVpMdJysdn\\\\\\n\",\n       \"I0x6RFLHTGQF3jbAOrcR7IM+u2fAM2zKviAthbqPcN/hi4yMJAqsdjvT1/BeSBpR1jSvp05B97Rj\\\\\\n\",\n       \"YUjPO+wwWtRMtt7TbNLp2yvU6HRoLKrSimWL6KmHHUbz0twtkGSlHLug7P9andW1+UJhhefTzym3\\\\\\n\",\n       \"gdAql6mTErnD2GV9xCFXWzbIXddQHrE6aP9sqa5MveUDE1VGVhkMBoNhzsFC3A1DwAgsw0EIObjW\\\\\\n\",\n       \"20lFOc8EPrWVz/rlUxhwgLWfOJEqCBAssrB9ij/DUkglOXD1DWbVgN0N2tMLS+IKg2M9HNUGM9Aa\\\\\\n\",\n       \"oCOOrlbppcuWZTRC080mjXRiKhPRvDimaUFgQUUiiauyWtfbyiCxWIEln0uWvMG7I7DKrs5Qb5IM\\\\\\n\",\n       \"gZ0Qg3Nel20Cq1oyaPepq+SyL9dKkjZ55/qulWcp1H23qE/6+jzO1X0dqiqQTiCusCx7hLYN6u/S\\\\\\n\",\n       \"sxKCEvKr1OI47Na9VMj1bIJZ2yCO5XbkZublqKTa3kdcydJoOMKL+1SU9jG0kO7rqFVfTUO9uACS\\\\\\n\",\n       \"JSJaODpKb5g3L1OzmewqRdRqIlcXTa65c/iZarXkneZPTejm/BawYq0h6k8WWdd5RGLymNryJ/td\\\\\\n\",\n       \"njpL982ZQPcdX0uY6moQGo0Gbdy4kTqirzKOOeaYPWgTg8FgMBgOAMzGnwD2J8SchxFYhoMQ0iqF\\\\\\n\",\n       \"dRIWJ+wDlZM30B9kEfQdpwkJqcLqpMqTRH3iGzDqAaVUoXR49rWyCKqW6iMM1KUaCYqUVouCRqOr\\\\\\n\",\n       \"POmonB+s6yfDYB3LoDUk7cGYDENa2EmG//M7HWpx/pZSU8kBuk+JpQOs2S4VaHJCP7NU3Ih9Lv+q\\\\\\n\",\n       \"nj8418HgOjg8OcenptKEVp4aS/anPJIzb58ksHyaOF9fz+v3GjIPSysWZavKZb2ulYjSNlhE0PXW\\\\\\n\",\n       \"+R2I46wCq6g9fGq6uKrspLJPFLwfjsSK4+67ABIXywBoOAnZAmMuTT45l/u/PFbS49qSK9VXPuWh\\\\\\n\",\n       \"T4no1Fe+dwD9v+D9aDdDr5LNp/Ls/03i3yxNVPl+43z90LfN91uq+7XWvun+qvcZNH75y1/Sq1/9\\\\\\n\",\n       \"avrBD36QrTG2zgb83mllp8FgMBgMBsPcgRFYhjkAPViX230DLwk5SMd+TUbIbT7CQ5JYQd8gXaqv\\\\\\n\",\n       \"tF1KDj5blSSgnAemjtzJI7DU9oDlFzwLmyKwSkpZooed/NQY6qAGQGRJ1Dlrh9rumPF2h3ZGPMVH\\\\\\n\",\n       \"0Kc4KXvyfrSFqqvakjMPygG6JOek4gbkVamcEFhqNkdZr9JOmBdonQzcURtFRFUeCZWnuvKTm/2E\\\\\\n\",\n       \"APpUXr9k5A1Eo4J+jNaU22VGVpxDTsltUo3lU99ImlM/f1K3eUSKbBvddnI9rkWurYMiIkf2E6HG\\\\\\n\",\n       \"CthSK94FLlAn4iminJpyasI4JszlNs0TA6aKQw2d+1bU54vUV24yBq0yG/DcbKN1M3HW/QSWfif0\\\\\\n\",\n       \"7w3y4vzkrY/IksfmvR95aip9ru8YI6yGxStf+UoqlUr0X//1X3TkkUc60spgMBgMhjmB2fiTwP6k\\\\\\n\",\n       \"mPMwAstwAEMrQvbmGlHOdbVqBcfCdCRnWpMDfTnY62md2u1eoDJsUz6bGyKteByK/bzeqkZUYhsR\\\\\\n\",\n       \"DsbgPCWpnL0IzMz0dM8zxxbCet2NSkE7kHo6mMhgfYJKC0lI8skzCAKqBwGNxImNsMb5Xpy/7lGd\\\\\\n\",\n       \"4LOi1jOKLChOkH8FWyQsVLBRYZ8o7SCZfVDbpaQd02flRJ33wt7Rbj5VEWolz0Iol30Dfd92rWbx\\\\\\n\",\n       \"rWvkqbJ8kO8I+i3IKLR+t0FFD5BEFO4D5+VZCKVxTpMfbWchlP2fm5ubV1vX5Hsg34FGI6AW52AF\\\\\\n\",\n       \"qaVWFvQNsDF4H2CprdUoiOMkE67d7qNX5F2jhVF7nXRbNVVfMRph5Pp8Xo3LSQx8hG4klsvi3ahg\\\\\\n\",\n       \"XebAycLPxUWrFMW70epExDFdee8BqkVbCmU7+PuyJKP0dm3MzFNd+RRVe/sXpe+6hx5uuukmuuGG\\\\\\n\",\n       \"G+iUU055rG/FYDAYDIbZhRFYhiFgBJbhEPs1HPTLmEcm6P1+O1WrFVOrFeSqH5Dd5C8BNZsxlaR9\\\\\\n\",\n       \"jgerTFSJzKtusNPYWJfMCni9XndWQh64+4Z6vlQj0Bx+PVkPjTCkkdSaMtrp0HQYZQisUA3Y5afO\\\\\\n\",\n       \"xOJnCJjRkKQV1mWoOwgsocTizJ9mSmDJQbqsX5krhrrNhrcnJTtwl+SVT22l217v85FWvuNlHyyy\\\\\\n\",\n       \"VxVBHyftgFiXBJTMvELr65kIJXUpCSxpQRymrtrUbieUDpO5IExkW4C05WVuXqkM6rUbz8oXJu+C\\\\\\n\",\n       \"zIHiPoH3gQ/kfgJmkk+ennbvQtxuU2liou/uUPtlUQu6xkZEplAzDB3ZJN8F1Iqe6TAvA0uSV3LZ\\\\\\n\",\n       \"2Wj5mUZHe4QVv9OayJLvirAR934z8n9T8myFSX1rdZ2P0C3qg4N+R6Viz4in2cJpp51GmzdvnrXr\\\\\\n\",\n       \"GQwGg8FgMBxMMALLcBBD64yGOVYu+4gtua6359nCeoNA2KSkbVBbpeSnLqyoGBlJBqjdWdigwJJB\\\\\\n\",\n       \"znwwLHg4uVp1+T+swip1OhnKAnfos0zhKTVFIWuhxflcKYFV7bSJDVq+3B9tl8oor9iKBfUVCCoZ\\\\\\n\",\n       \"TK/VNsJGGDtSr0ydVmKZAl8hg8I1mZU3A2GivuoMWXS/8bV/Xg1qgiDvGnn9dBho+6vU3+l1X4tT\\\\\\n\",\n       \"TuaV7/6GrzepwsorMnRfkrvYV2brahrm3n0XQOyCvJKTGsCWml4grNcdmcvvA+gZXcsyA87VRhxT\\\\\\n\",\n       \"JbWXshqL3VlyBk8dcV9EYIHQlSqsbk4c58jhfuVzyPWcEHt+F+KoRM2UxxtUfJZmLPv7aVGRtefb\\\\\\n\",\n       \"ro/Z3//tOvfxvve9j97ylrfQe9/7XjrjjDOozP1CYP78+Y/ZvRkMBoPBsFewWQgNQ8AILMMhRGLl\\\\\\n\",\n       \"nYuBt9Rk6EGdJjX8JBYHI3OBMkIOzH0KLDlbG3/W6wGNjVUoKvOgtdkb0ErFibQQsioDfqxazc1I\\\\\\n\",\n       \"yBlAfKwksHwDcK3AwiBfD0PdOUFATQzCY3KDfMz45guurnjyf5ziRNqjoLTSKiw5gBfrnVKZWs0w\\\\\\n\",\n       \"U39S2aPrWipP5D4O2++1o1SdzITY0ufIT0Arr3S/Is/xelsRghx7oOzLsnWl2krei+wNvnX5fuSr\\\\\\n\",\n       \"D3u9hwmsDjWbUVdx5WsHqbqSdkKsl8sRdUoBhSBwYKOFEovX8T6kCkTXl9hGm74T4fQ0lVqtbktr\\\\\\n\",\n       \"1ZUjqcSTMvHb1ZyxAkzkC0kCWJowsVw0C6FWIUaccweFpbbTShWir1Sq1Ikq7nGLfkuKfnvwO+Un\\\\\\n\",\n       \"XvP6eV4fl0rEPSWgjLwaFs94xjPc56WXXpqtQQtxNxgMBsNBjoBjdvfy/7L29nzDgQ8jsOYgfvaz\\\\\\n\",\n       \"n9F//ud/0qJFi+i3fuu3aPHixd19O3fupDe96U306U9/mg49SFuUVKNIaFWNLx8GGUNtscxDYaZ4\\\\\\n\",\n       \"Sm4WtmQtoPAAAPCUSURBVGQ2wl4GEAbovIzMH3zyvqkpVmUk23h5JKpQuZYQUW6kmiqr3DqWwQAg\\\\\\n\",\n       \"kBzWpyhyaqdyo+HygKSRDLOvtUQGkA641pohIHAqrGSAX+10HCElw6vlDITaMhVBYcIWqXnzEtsU\\\\\\n\",\n       \"l/HxZBAvl3VJSa9GM3CcHdcPqkXaBWWB6kTm/0AR1FNgtfuIl8HEpU+dpa/hs0zlUYSS3PKtF0GS\\\\\\n\",\n       \"Uho6CU3P2inVV5La0f3cF+ruqyv5TpQyQe6yHbh/w1LI7SfthPKd4DZO5jMIaETmvvFJUnLHfQbv\\\\\\n\",\n       \"A76QXyQu3EdZ9ce2wmbT3X0z7feUfqL/4k1uC/tgwLZZT+1K9ZUksvJmIMy8B0z6StvgoPeBi7QY\\\\\\n\",\n       \"1mrUCss0PdX73UAUHggtnYUlid7+WThRI90aKCBr5VQQvj6u+5Ymbw2zgW9/+9tWkQaDwWAwGA5Z\\\\\\n\",\n       \"GIE1x/CNb3yDnv3sZ9NJJ51Eu3btone84x30la98hS6++GK3f2pqiv7u7/7uICawpA4ib78cnOvj\\\\\\n\",\n       \"fbYon01GDti1AsWnXOh98kyEzVQphInDpOKECw82ISrBMtxRTmhSipwKy6lPoLKSodVY95BbAY/8\\\\\\n\",\n       \"OciaH4OtVKn1D/SCVJ1gyIoEpLxacDXIpEAacM1Kr3JKYIWeQXtXcQLbYLVKgSaloL7yBbZra1Wp\\\\\\n\",\n       \"RM100A5CxKcyQdVoe2FCaPmyr+TgHEUr8/IoPZ/1Sl/Xty/PiqWRN/gPPcegldDf5TNoVSGuIVs3\\\\\\n\",\n       \"b8IEee+SLEM9ShJXkllM4HImXOBIKKm+giJLK7BkBhba2AmSauLFQOZV5oCRLFMm3geXh8V3x7ba\\\\\\n\",\n       \"1E6oCV28D0z2th2xkzxJOQgyTyu1br4crKJZB50ikd8XVl7JrCsPUZspsNrWahRXKhSXK9SOE2Ub\\\\\\n\",\n       \"CFz+BK8niSxZv7qusyrEIrVV3nZZKz5llq9P+96NIth/ofpw0UUX0Wxh7dq19C//8i90++23U61W\\\\\\n\",\n       \"owsuuMBZFE8++eRZ+w6DwWAwGParINv+fJjzMAJrjuFd73oXvfnNb6b3vOc9TgXxgQ98gJ7znOc4\\\\\\n\",\n       \"EutZz3oWHdzwkVG+dT2wkgN6TdHEMyg4XlpmNAXUoU6nF16tA6rdTINqMOmzxLWrbJ+KKeQBLEak\\\\\\n\",\n       \"IHNkaDUG71CnQI0F4ioI3MC8zGoUNe+iXPdRMbqGYzGgp05MEZMCTFDlqE7cvjBMnmGgLUqRViL7\\\\\\n\",\n       \"h/N+OHNLKkq0VUrm/cg617lLifrKN4jW6iifEiuvP/gIKZ+aq6jfyfNlf857DySCgm2ajvQRV3n3\\\\\\n\",\n       \"4SOv9PMgWUqTfnGqwkqUiDoHTrdTJgdOvQ/tWkRRqZwE/8u+gf4CaREstngf0jws13+5/7OdMAlB\\\\\\n\",\n       \"6+v/riYEuRWFgeu/kkKU74ImsLSFEARul9Ti96BcdiUzy2Zeke+CIHU7QeRC8rV91hfcrondbBac\\\\\\n\",\n       \"j4BHW/oIpmF/G/WxRecO0+ftr1DGzTffTKeffrr7PeXlIpx55pk0LL773e/S61//enrCE55ArVaL\\\\\\n\",\n       \"3vrWt9Izn/lM+sUvfkFjTLIaDAaDwWAwHGAwAmuO4ec//zl9/vOfd8tBELiw16OPPppe+MIX0pe+\\\\\\n\",\n       \"9CX3h+rBB58yJKMNUhqJYAg6Py7YrpUyPiUCBnylvu3JwJ1zsHjcmahPtMIEygnYBnnMCkvV5GRi\\\\\\n\",\n       \"nwpqIUWjY4mSRJJUfCEGGAA+mAvsU+7kwC07+xR/Tk5mtDKgI1rpAFvSEbmmH87BCkNqpTarqBNT\\\\\\n\",\n       \"NerlYGkFFmf8uJwfHgixDQoDd6zLQbzenq7HIyPUjsrUaIbu0dkuJa2D0kalt2sFSnLbWm3la1cf\\\\\\n\",\n       \"eZWnTvERWbKPymv5+qPcPqzdSh8nM620dRDHy6SnqOBecG2pOESRFkOtuNKW2qhL5qINpK0TbYQ+\\\\\\n\",\n       \"z1wNMtrlu8HqLbaOVqIyRSMxBdxHEglRdpYEXkdDc//nk3k5uYhTJToSqV6nqNHou1vuu/VUXcio\\\\\\n\",\n       \"prNsFrUInlLaCKWNVr4PnP3m8t+48DNwgVUQFkKso/Cx6XZ+D2h0zL0H3N/5NwJ93vcOQKQm6z4h\\\\\\n\",\n       \"tWJlo9V92adOlIS9JnSH/U31EVGyvw069tC2Ip599tm0fv16Wrp0qVvmf9uTNsyCt7dTxe0w+NrX\\\\\\n\",\n       \"vpZZ/+xnP+u+44YbbqCnPe1ps3LvBoPBYDAYDLMJI7DmGKrVKm3fvj2z7aUvfan7n9sXvehF9MEP\\\\\\n\",\n       \"fpDmHvSAPQ95FilpEQQBgEEABurSJqVtZzIDK6FzEhthqS/3CvE8PGDnT+aZeB8PPnk5ddu5bWEY\\\\\\n\",\n       \"ULlcolJtNL39lMBigLDiwssMDNj5ZJBaqYqDSaxSs0lRq0VRm/VMyRNI+s1HyUg4lUkY0q6UwOp0\\\\\\n\",\n       \"OjQShZnsHx5AMVGQsQXyJ2f5yME7BvCSuMIAPx3A86A9rlSp2S51s6/kJ0pe7o+e1Y4H71kSSmZg\\\\\\n\",\n       \"STJLB7tTzmDfp0LC+XmDeE0EyPN8fToPsq+jD+psN/leaKWi7N+4hs64knlx8j61WkfSollSl+uc\\\\\\n\",\n       \"+zEEUuiWaDPuKnAHclui+3LB+8BdJKyVKawEFIw0k/7hbjm9KDcuH4yBO7NgvM4DfHyhe9TkxQum\\\\\\n\",\n       \"p6kyNeXyrpgEcG9uHFMj7df8lKNh0De/o655aR+UNsIumcuTFmAmTWRbIQdOEbXd94E/cawgueLa\\\\\\n\",\n       \"KLWpRNP1/v4v1+WyLyMu4f6QgNcaMgNLvxs6MS/PEujr1z7kkVYG4N5776UlS5Z0l/cVduzY4T45\\\\\\n\",\n       \"P9NgMBgMhv2NJNJh769hmNswAmuOgf93lkNezz333Mz2F7/4xW6w9opXvIIOXWhqRhNackAmVS1A\\\\\\n\",\n       \"njJBEhdI1enNlgceSZJZWh3E+6A+4ZIM5gOqVGIKSlWKRjouiLqbh4XMK61GSZVXya0nA3gmldz+\\\\\\n\",\n       \"9HhWoPB63Ok4G6DUXORpK/APQiUMaFe6Pt3pUImztlIbocv3SUuGwNI5P7KAuIJlStmnWh2uxyAz\\\\\\n\",\n       \"45ov28dnR8vuTyxtww3C82qjyBaYp1AZRoHlowxn8q+3Vl1pQlcSUkXvgX4eqdiS2/R+Ter1yF6u\\\\\\n\",\n       \"c7arcRaWzMDKa6u82QlZiRUGIVVgHYRHDopETGogA90huwOZxXZaqBP5Dnl2wlbLzVLIBBZqoxoE\\\\\\n\",\n       \"NMIKlwJqRYe4d8kr/o4wdCSuUyDC7gjCiu9dKqzEe/Hdzj10/faH6cqlr8xYCZnI7ZSqVG8EfSqr\\\\\\n\",\n       \"L93/QVpROo9WtC/qs9NKJZa0HPpViPLd0O+C7pM+BaLc7utjhr3BypUrvcuzCf4PCZ7g5cILL3R2\\\\\\n\",\n       \"RR/q9borclIYg8FgMBgMhv0JI7DmGF73utfRtdde6933kpe8xA0or776ajp0EatBObbpZTm4l9t9\\\\\\n\",\n       \"6hupzurlYcFGGEW9wTuPn6E4QSYWxuHJrGs9WxWvT08HVJ5XpqDcoaiWjkq1ZQoAgQXFCQMDdj6e\\\\\\n\",\n       \"ySWejY0Jp2aTOu22K46SSAfweZRLV8MTBFQLAppKj+enrfKAnb9DZhRhsA4LIReEtmsCS5NbPGhP\\\\\\n\",\n       \"A6ubjdBridKEh4/YkqRWL/PHN0Dv5LS7HsTrmvH1B92HBpFXPoJg2H4sWwfXlalm+nhJOslgd7k/\\\\\\n\",\n       \"j/TSlkIf4aXrNKlrzsECgdVTw/lJLLwPMi+u+z5wLlVqS+Vw9u5OzBzYm2ayt4x3AIC9kN+BlNHh\\\\\\n\",\n       \"gPdpYR+cF4UudN2nlfORV66AxOWgdrDU3Kf5E6QV+jgvy/dhdJS+S/fRrz38fprs1Kk5VqPVZ7yu\\\\\\n\",\n       \"S3B1ylVq88yDE73Adi6fu2cdferBNVQNRukNh32VjmwlJJbOEOvVNyYxyFMdSiWh7tvoA8OSsHk0\\\\\\n\",\n       \"uOFABWdh3XrrrfS///u/haHvV1111X69L4PBYDAcQoh5zLKXGqq9Pd9wwMMIrDmG5z3vea6wCgsz\\\\\\n\",\n       \"D2o7Ic9OePACgyVti9LAAErOrwfSKhBWJz1QkwN4aZMiTyYQrqEJLMxrVqJWi8PHg67Cise2yHKS\\\\\\n\",\n       \"FkIu7ltT1xNvl/uqlRJFPOhFxg8TQzgIF2bwdr442DAZAg0ZEw+aORsLlkL47FiVxaRWQa3yUy6I\\\\\\n\",\n       \"QppqJXUzFUY0zhk+uFEM2Pk78L068wp2Qp0HhOXxcWcdrLdLNKWsUj67FH/6At6l8oTVBf2WKLSV\\\\\\n\",\n       \"JrV8qiydK+OzGBYN2vPIL9mni85D7fv6vLb7SRKrPeA8kF5SWQWKBpD9O28mzk5al0iB6il7mBxF\\\\\\n\",\n       \"+3D3gHgKikTultyG+n2A3Za7UPJO8IyWJarWRp3KKbm1dlZ1CEst3gk+mS8OKyHYUPE+8KyAuzZs\\\\\\n\",\n       \"6D7twihyGW6aXtRwtQpCDKQVLIPo3/J9kKQtZiFM34frdz3syCvGmjs+6ratPv8Kd1yzU6K66POc\\\\\\n\",\n       \"f3X1bevoU/evccfX40m6a+p6Wti4qPtuyPehRwCjPzQVgSUVicNYCH2ErOzbmgiTakefvdbX5438\\\\\\n\",\n       \"2p94wxveQP/1X//l/vOLMzPzsGbNGrriiisyCqwVK1bsp7s0GAwGw5zHbPwJYH9CzHkYgTVHwTMO\\\\\\n\",\n       \"vvGNb6T3vve9VE7Zkc2bN9OrXvUq9z+sv//7v08HP6SqBJAD+LxztHIgyCGpSAzG5cC97TlWWnJA\\\\\\n\",\n       \"CLSc+qTZDN2gUkZTYZnHvuCbUpeTG++CxMLx7XZIcbVMI/Pm9QbNUJvgIJBZGP1jAM8XBJnFI9rU\\\\\\n\",\n       \"oheA5UlVLGwpdKQWFC0+BAGN8+eWrW51V7tNS5mQkt8D9QnsgAinhjUQFiqd/5MO7Jm8akcVmp4I\\\\\\n\",\n       \"ugP2iYlero8cpEuFiZ7JEYqfxHGJdmvlKKQwsJYDd9nH8mxT6HN5fW0QfEqpIjLLq4sT+wf9r1Pe\\\\\\n\",\n       \"Mfo9ku+WT42FdR/Zh5LkLHU6ScS5DHEHScXdRaroeJ3blrsTCKxepBXPaklUGqtQUE3vBrZBEFgM\\\\\\n\",\n       \"PoHXNZkFeSNeOO6LbB/cvZsaKSFbKZeosnBh8i6kFttcpIFdXVsi+j8X2GcliSv7v1RgjY/TlUe8\\\\\\n\",\n       \"nJqjIwl5xUTBDe+jeGyM3nT+22iqnlgH+R3gd+GTt6+jT96XkFeM54yupQviK2lX+mj8zsj8K7wr\\\\\\n\",\n       \"bacy03lXPiUWjhn0fkjCS/fPQX+B+uhBU23tb/Dv4h/+4R/Sv/7rv9J3vvMdOu644wZmbHIxGAwG\\\\\\n\",\n       \"g8FgeKxgBNYcBSuwXv7yl9M3v/lN+vu//3sX/Pq7v/u7tGrVKrrpppvo4EA8xMBbklDDDODlOXnW\\\\\\n\",\n       \"F602Ic/gTZJX0paTJbTiuOTUP61WkomlQ6whCgGhpS2EEFTx94XMT9XKFJWrzvbUl/EDNQrYMIZU\\\\\\n\",\n       \"ZyFkC18GAiuVxXRtWUWzWIUhlcOQarsnaKpep0azSY1ymSrI9AFRJuyA3awfbJeWQQzqRf5VKyhR\\\\\\n\",\n       \"s5VYB2Xejyan5KfOw+o9isy+8lncfH1AD8L1YLxokK7P8Q3iB12viMDyQfd9HOebjVN/jybABtXB\\\\\\n\",\n       \"oP2a4EiW4zixEiYla++U5CPysfTkB5iV0HGwVWa2SlRGnwGRK/uufB9AboENk2qsVot2b03IWMb8\\\\\\n\",\n       \"+QscudSd9bOIzJXkGF5WSWAh/wqkFUgtELjy3RgdTWyDY2O05sb3u8u/9dp30HSrRH9w+pqubZDJ\\\\\\n\",\n       \"q7+9p0deXT6+lp4Wrnbklnw35DuTcHxJHlnxhAV5Rf42akJ3mL7iQ14/KjpWLxtmwzbIfx/8+7//\\\\\\n\",\n       \"O82bN8/NdMhYsGAB1bhfGgwGg8GwP2EKLMMQMAJrjuKCCy5wRNUf/MEf0DnnnONIlHe/+930lre8\\\\\\n\",\n       \"JQn1PuiQNygfdr88TmYE+ZQmPhJLWrS0ygTfKS1UOJYVKDyQDN0AFONpTWBBNMKf0k6F8XDCRwVU\\\\\\n\",\n       \"qbLCqUpBFCSDbAYOZshZ1+DPkmwYJBk6SV7YCDO5Whqp+mu83qCpRx91m3bVG3T4kUfmWwgxUJe2\\\\\\n\",\n       \"QSyLgPfYZQZVqFkP3WxrGITL3B8UbRf0zUCIx4vjQbYoqbjyDdx9/UwP4qmA6NEkyLDE1iAMIqok\\\\\\n\",\n       \"oRUra6GPZJD9Xc/WKa9dVGdSgdjbzm3QapVcu6D/S0JXZsQhEw7vAwreFUfoViMqVQPXb7rvASY3\\\\\\n\",\n       \"gLVWqxPBiCGnLe1IO3dPdJ9u3pLFSb8EeVVE5uKlxXUhKZMkrrYQ4l2QIe6sYEwViaufeKVTXr31\\\\\\n\",\n       \"e+90X/HnP3grTU0F9MoTV9Mnfr6OPnF3j7x6/vyEvIKFVhO9eHd4JshOB8oqrRaViqw8daKP0Moj\\\\\\n\",\n       \"t2T/GwbxfvhLdu6BZxr+p3/6J7r77rvpT/7kT9ysgTfeeCMdccQRtHz58qGv87GPfcx9Pv3pT89s\\\\\\n\",\n       \"/8xnPkOvfOUrZ/2+DQaDwWAoAs9AuNezENqfDXMeRmDNYdx55510/fXXu0yLRx55hO644w6anJyk\\\\\\n\",\n       \"MSYQ9jE++tGP0gc+8AH3P7pnnXUW/fVf/zWdf/75tH8BxYG0FMoQa22LkiSVtkgFnghnZGDJwRwI\\\\\\n\",\n       \"rbC7zNanRqOccfbxoNPdofiRxQRqOt6HC1QrvK9WK1G1HFF1YXpBaRuU6ifIMrhIXxEzADooCuQV\\\\\\n\",\n       \"QuIHEFjzajXaBAJr5046nKddlwN4GeIuB+7IwAKxxX2RM7TcMSM0WQ+72Va7dyeWKWRf6QI3mBzA\\\\\\n\",\n       \"S5UWtvXymTCA1wosTWqhUXxqFR8hhe8Y1Be1kmS2/4WVRJXcRkPkxWnCSvd5uS6z43z2Wrm/9z5w\\\\\\n\",\n       \"W8AWCCGgfB9kpBv4WByPdwLHOK6KQhodHeuRszgQpBFsguh78NJxx0kJ3PbUFE1u3+6uHbE9igf/\\\\\\n\",\n       \"CIEfRGDJ75UZWDIHC/0chK5UY+G+uP+nBFc8bx5d8eS3U71Tpqu+/1b3NR/46Rr6+C3vo12t5D4Z\\\\\\n\",\n       \"L1iwlp5Cq7vvB8ca8nLe+5CQuPIdwLImo2aSD4f+NUitpZVbhr3BzTffTM94xjOcSuq+++6j1772\\\\\\n\",\n       \"tY7A+pd/+Rd64IEH6HOf+9zQ10pUeQaDwWAwGAwHD4zAmqNYt24dvfOd76Tf+73fc0TSXXfdRb/z\\\\\\n\",\n       \"O79DZ555Jn3hC1+gJz/5yfvsu7/85S+7oNePf/zj9MQnPpE+/OEP02WXXeYItKVLl87iN2k1lSaj\\\\\\n\",\n       \"wgHnyoG7JqrkNkluacIDA/QgXYb6pJ1Zj+MmNRr8uiU5PnDxYcAuB/cy4B350xCXJGqsgNqcAVSL\\\\\\n\",\n       \"qFQbTWY94xNwAFKvwRTgglBd8X4QVVp9xcsYwPuQ3mRl/nwqjY5Sa3KSprZto3apRBETU3rwjmUQ\\\\\\n\",\n       \"WljGAD5VnrTCslOpJeRVkvkDtVVWTdIfTq1nJcQyzzzotw9KokorR+QgvQi+wfowlinfIH6Q5aqI\\\\\\n\",\n       \"hNL9WH9X0TugrxENOE9f16c0AwmS5F7J+nQzXTpnH+fC9eYjkO0JTghtCa4JZBe6F97FkC2tUYVK\\\\\\n\",\n       \"tZTlZUB1BTYY8i28AyJ8a4JJ2HQQP//ooylYsKD3LhRZCGXivFZh4SGkpRZ9Hsvc73FM+g50KlVq\\\\\\n\",\n       \"dSKanAro9x+3hiYnA0deMSR59cKFa+nppdWO4NXvh1YtNhpc51plVaTAGmZCA91vfH0gr++g/+SR\\\\\\n\",\n       \"uUaoDAL/28rqqPe///3O9gf82q/9mpukxWAwGAyGgxZmITQMASOw5ig+8pGP0L/927/Rr/7qr7r1\\\\\\n\",\n       \"008/na677jp661vf6uwCdR7d7CN86EMfcv8rzIHxDCay/vu//5s+/elP0+rVq2eBsPIt6ywgPUCS\\\\\\n\",\n       \"1infcfGQRRIfOsQdMx5KkgQKsLYLYk+ysJJZCUFgwc2EcTAv64B3Bsbi7m7jgEqlkIIyqzo4H0tY\\\\\\n\",\n       \"pnAQTpCDbWYGwJjJ6eCgNkEodh6JlRJYHFw9/9hjaesvfuGO3b15Cy1gclLm/mBZ52HJUqtRu1Sh\\\\\\n\",\n       \"VjuZrRGqKt/A3DfDIJZl/lWPe9CElU8NkjcgH2Tx0/0mr78Os23Y7bLP++4rz0pIM7jGMCox/S7k\\\\\\n\",\n       \"be8nDfkdYAILTtVkgoL+NoWdUMa2gX/CTxdboXk9qJQoYI6KiSFtIYR1EN5dOR1oo0G7H36ke/fj\\\\\\n\",\n       \"HGDNJCzkjnkEFt4nSWBB/SgJrLxJDUBaiVB3Jq/aQZnqzcjNvMnPyLZBrbwaDRfSM0YS5VUecdXL\\\\\\n\",\n       \"vorT4HYd1q7fh/YQ78igQjN4NwYdl7dsYPzkJz+hT3ziE32VwdZBZFgZDAaDwXBQwggswxAwAmuO\\\\\\n\",\n       \"4pZbbqHFixdntvFshKzG+o3f+I199r2NRoNuuOEGN902wCoJtjz88Ic/9J7DZJok1Hhq7nwMUpX4\\\\\\n\",\n       \"1Co+lYoESCZ5ffkLKhVYsA66JxMDQFwH+VE9CyHW2+2oew1pk5KCER4v92ZdS58ktUy5q6STqyW5\\\\\\n\",\n       \"1QF1xkpUrURUnZcGSE9PUwAGDFYqFEiYeACN6fu0hRAXzxu8g1ljG+HJJycEFitEHn6YFlzw5GwG\\\\\\n\",\n       \"EArIKtwPkwTVKsUu0HqM6vWgj7zCrGtcoCbB7INyFkKpyJJisiT3B1YpTaTIwTraV8+mpgf4PmIr\\\\\\n\",\n       \"T6Ulr7U3mAkBNZNr4ll874NUYklCSs+8Kd8NqbjSpAjeraQtOp1ySqwkKiw5WSZ4JUnaSkshuqPe\\\\\\n\",\n       \"596DSolqbCeMYwpAGoG8ArGERHgulQrF9QbtvP/+5FrlMo2evKr3RUUWQhBW4l3wKrBkJhzIK7wP\\\\\\n\",\n       \"PNumUCQ2GiHVG0F3pkGug4/fui5DXjEmO9vpP7etowvjJLhdvxPyXeF3oDfzYFPYBttiXb8PUNDl\\\\\\n\",\n       \"ZcT5yHwS9tqi/qa3DyKnZuMdmnvgWQB9/0ZyZMCSJUsek3syGAwGg8Fg2F8wAmuOQpNXEhdddNE+\\\\\\n\",\n       \"+97NmzdTu912YbISvH777bd7z1m7di1dddVVM1CWDAuZfyXthfL6IJXkoN43YMc1YA8EkSWvLVVY\\\\\\n\",\n       \"sA9ms7MS4imxyrk7SF1OcAAyePwtxVAMObsexuDYloyDQ6pV2U5Yclk+XamKzsDSKeeS9ZEzGxYR\\\\\\n\",\n       \"WCnzVluwgALO7Zmept333kudsTEK8d0grDAjmycPqBOVnF2QB+Kwi2FQjhwsDMpl7pXPQpjl43jg\\\\\\n\",\n       \"npR+Mqooqwd9omjgPGh/5wAehGsSV/brQccW7ffVoVZgJcsJocLkVZAJZofiCiqrJLssS1jJdwXv\\\\\\n\",\n       \"AndF1+Yu5ymgkdooRZV0Zk3IGVPCKuNNnJ6mqdtvd32XMb7qJAr5N9M3k6GGDOYCu6aD3LGcN6kB\\\\\\n\",\n       \"WwZLZeqEFZqa6FlmQWBdfds6+vhdazLKKyavGP9dX0OTbaIzp5MAd01gIQMrCW5noqohyCudBeez\\\\\\n\",\n       \"E2J73rvjU2sB+jzy9InH8r9lD3485znPoT//8z+nf/zHf+wqETn76k//9E/pBS94wWN9ewaDwWAw\\\\\\n\",\n       \"7DEsxN0wDIzAMjzmYLUW53oA/L/LK1asSNcGEVh5tsJhIQdWeSosOfDSM6xpO2HPMtgjuLKKrE4n\\\\\\n\",\n       \"oFYrsczBhQTBCFQlgIy3wrq7a6HOYjULZiksRyUql0IqjYnAIDAFvOybpg8WQihOQGblDd7TG3U2\\\\\\n\",\n       \"wtNOox033khxo0GTDz9C42ee0SOt8P1QgJXLieqEs37iiJqNKFVf9aus5KxqIKc0caXtg7Ik9kFJ\\\\\\n\",\n       \"ouiAdtn2RVYm36B5pjbAAxlFlkKaQV3k1aVWZ7EyLu7yRPzJXUqKAWEZhOsPXVS/KwzM0MnkVVSK\\\\\\n\",\n       \"KaCIytz1K4mE0c24ipcIgVupd3HXnXd2n2LeWWclEwrI/p9no5WzGkoVFmRkPgILJSWwmmGZWh22\\\\\\n\",\n       \"E4cZcpbJq7+9bR19QpBXnHnFtkFWXjF5xfh2tIYmIqJT66s974qcdRCklFzOsxJmycZ+9aFUIWrC\\\\\\n\",\n       \"d0/JpZnYBQ/G92v28cEPfpBe+MIXujzJqakp9x9SbB3kXMv3vOc9j/XtGQwGg8Gw54j577dg769h\\\\\\n\",\n       \"mNMwAssw68qvKIpow4YNme28vmzZslxLBJeZQ9oFMYCKBhyLZQzc8wbekpjKU5dAcSUVWVLxJe1T\\\\\\n\",\n       \"UGUl98sEVhgmA2yMeQFtL8QMbFjXkOPtkRG278VJLlDAWVWcDyRsfZIBAoMwEwKLIWxT4+c83hFY\\\\\\n\",\n       \"jN2330bjsBFKNUqqvopLJYrLFWpHFUdcSctgEXmlBWM+AguPglivOM4bmOtBuCS1imxOh/LgeRDB\\\\\\n\",\n       \"h+Wi+u2tM9nUbEbeDCwosqQDEFZDGWHle1f4XXKcU7VEVI0oqiQZWK7/S3lXs0lxFNHOn92cnBiG\\\\\\n\",\n       \"NH7uuUk/HWShHYbAgoVQ2Qi578dM4par1GoGVG8myisQWLycR17xPrYNsvKKySvGdfPXuO0n7lot\\\\\\n\",\n       \"sq8ScjBrG/TlXeWRWdpO6GvDot/MvH6SB63SMgwCzz74zW9+k77//e/Tz372M9q9ezedc845zqZv\\\\\\n\",\n       \"MBgMBoPBMNdhBJZhVlGpVOjcc8+la665hi6//HK3jbOIeP0Nb3jDLH1LkfVJE1tyGwglkEryGCiu\\\\\\n\",\n       \"oL7yqaridFBIwnqInCuQWGCbsCyv37sfzsNqNCKnxgJBBQIGsw7KPHVJ1GgCR5I9PKBNMqMDqlZH\\\\\\n\",\n       \"qFIbofJ4JxkhgwVKAnJ6g3VNYBXl/7hH6eX/jPFslp/9LFGrTTt/ehMdMW+eyxPqU6OMjFCbImq2\\\\\\n\",\n       \"Apra1XN2gbjCMuxPehkDfW0bzOPisoPtprI0yYG6PJYKrFEHkhVwf0PnYun3T6sXsR/rsLKVuuQG\\\\\\n\",\n       \"txFm3gRpBXEf1t23pRNrAlBloXviXYELVr4PtVqVyrUKlfj7uQPBQthqUeOuu6i1caO7Zu2UUyha\\\\\\n\",\n       \"vrw/+6qIwPLlYMnZP7WNtlajZpsVV0T1Xb3XEf2cb+/Td66jq+/tkVcvWJCdbZDthWdNrqbJiOjH\\\\\\n\",\n       \"85Ljbl66xp1/1JaE5EryxdrCNiizr/IK3gWQXSC2mh5LoH5XpBVXK7V87xH6UBFZZVbBInzuc5+j\\\\\\n\",\n       \"F73oRXThhRe6IvMnv/SlL9HLX/7ywvMNBoPBYDhgMRt/Atj/h815GIFlmHWwHfAVr3gFnXfeeXT+\\\\\\n\",\n       \"+efThz/8YZqYmOjOSrhvCSvf4FoSS0XfQYrc8u0DEYbvg10QkARWXu4Wb2+mGU0hTU/3XkMM4LUA\\\\\\n\",\n       \"BONp6WyCWEqTW+VyEpDNsTvlckyVckjlaIRKtSpFfK+sdgOZhQvgCxP5UtY+JW8EPsf0RqMFC2j0\\\\\\n\",\n       \"zLNo8sYbqb1lC9XXb6CR007tKk/iqEStOFGcJUqqoGuXAuEmA9mhxpL7QGBpG6EOb08Iv9iV3kC8\\\\\\n\",\n       \"peq+SEW0L0gqX38aFrMtgR70DuwNuZWnyJF13cuFY4UcK7FaraSvSpEUZh8EWZXGVHWB9wOTbkr1\\\\\\n\",\n       \"XW85UWMl3TCiUqVGpWqVglSit+unP+1eb95Tn0o0b16WvMI7AK+uq76weBZCPARI20qFWvzGdQJq\\\\\\n\",\n       \"TobUEP0fHDLi6b5w9wfp6vt65NXz5yfkFQLdufAyH8u2QV7/2ZLk+F+uXEP1yRIdfuebRGi7DGpv\\\\\\n\",\n       \"eHKwipRYKFpJV6TQGqafFKn3imCElgT/O/qsZz3LWQgldu3a5fYZgWUwGAyGgxWWgWUYBkZgGWYd\\\\\\n\",\n       \"/L/DmzZtone84x0um+Pss8+mr33ta33B7vsmx0daA30qLD1w0jZCX5HnynwsOagjFfCOZZAGGCxC\\\\\\n\",\n       \"tZUoWjqdkrP9JK6kJBNL2gQxoAdgl/LPSpgNf+dSqSQEAVsLy6WYojCksBRSGJYpKLcpjNNRvxz9\\\\\\n\",\n       \"+wgsDOQxeGekLMP8pz3VEViMXdddR9VzznEB7XEQUicOqdUOM+HrkrDSdkHfdk1SZYmKrGgsuWU5\\\\\\n\",\n       \"+NaD5M6Q7b0nkIH9sg/qY2ayfdjvDWZAgMnj93ZGw6IiFW7Ul0nGfV87V3X7ghfiInOwBIeaXDlx\\\\\\n\",\n       \"C3bz4rDORBaXajWgOOJ+H1JQiWj3D3ozos675BKi0dFeP088eNl3ABfXBBZIq7R0gojiMKIOl5jJ\\\\\\n\",\n       \"q9CpDkFYof9jHQqslZXzqBqMUj2epOfNW0sXlxOSSioPQe5yOWFnQm4xeRW2R6m69Twx66bOvpKk\\\\\\n\",\n       \"lCaqQMhrYkorqYZp77xjfH1G9gu9bCh865DtpvDQQw85e6HBYDAYDAbDXIYRWIZ9ArYLzp5l0AcM\\\\\\n\",\n       \"hIpUJZLEAlnlU1pJyyDl5F+FHvJKWgdJBFXLbfiUsxL2FGHJeJnthGGqHgrcWBiDcD3rGgP2Qixj\\\\\\n\",\n       \"YjMIqHgdBAAcTMky521FTpGSTNLGAyEwCN308+4XuTsHMyYRhhQLZm3s0kuJPvwRt7zze9+jRW+6\\\\\\n\",\n       \"IqMMw6AdBJR0M0rFFYpe13lXmtDqOb6SgPCsHcrVUo6daV8MoGV/lIN/uV/fB/qEz241CD51YbaP\\\\\\n\",\n       \"9X8/9mVtrXuOojqVdU+ibcK0vRKSCW0INZbMvYItEKQU993u06SEFZ8PTkm+K3wdPp6tukn/D4l2\\\\\\n\",\n       \"bKapm5P8q8oJJ1B51UkUQ3nIaLcp8GVgpYxZ9wkhGXMkVsktt2OeaTTo66Pc59F3pW0WCqzjgovo\\\\\\n\",\n       \"iiO+Sr+cvJ4uDK505BRsgyB/ZWYcn3fUPaupMVVy5NXIhqdSTHWPbVCTWHlh7kUkFuUQW1RgGZRt\\\\\\n\",\n       \"rsmtIhzKVt1iPP7xj0//kyOgSy+9lErCW8u20XvvvdcpswwGg8FgOGhhFkLDEDACy3CQwKeoytuv\\\\\\n\",\n       \"bYOS7Bo0oyFUCcjrkflXIB+khVCutzy/vJI8yyPbeCa+MrXbyeCXwfE5UBbxwBf56zzGBknVswkm\\\\\\n\",\n       \"BBYPapEdzYNcGcEDYkDmqyfj75AqlZCikMPesY2JLWf06rdSQYXCgdkUknMsHTOfSqecSq3bb6PG\\\\\\n\",\n       \"7bfTjrvXU/uwZZmMLj3poczskoorOUD3FQzmdd4RAqwTC5UvSFyTKL4cn/0JqdKKC8itQdeQfarI\\\\\\n\",\n       \"ZruvockOaZ+VpZeVlbRV8k5KlSGILDmRgfsGReiCX9JWWrwDvA19HhFYjsz9+ne7/XnkaZfQNI1Q\\\\\\n\",\n       \"VB2hgDlZFlfxfaK/SwVWWniuw4Q0Y3UXEXOmnbQPSiJO9nlJYOnJCmCpPap5ER3Wuoh2CXUWCCyf\\\\\\n\",\n       \"pZbPW3QHk8Wd1CLYVEWqsZBnlZd/pYtvhkL8NrpaH7Kv+khcTYAVXcPsgwAyJW+66Sa67LLLaHx8\\\\\\n\",\n       \"PJM9eeyxx9ILXvCCAe1hMBgMBsMBDP7Pyr39s9xE3XMeRmAZDgGAQAI6SjFFgqTCfp/ySg7C5Xk+\\\\\\n\",\n       \"JY20EkKpBYILx2bP7XSSnKgwTK4juSMM2JH/I4VRUCFhGQSPHMBLNRaypkulhDiA2qWXR83B8jGF\\\\\\n\",\n       \"YBDcF6Vf5rYl23nczIoxRvUplzoCi7Hjmm9R9Osv7d6Hj8CSahQM9jEwlxlXUnmlFVhZ9VVirfEr\\\\\\n\",\n       \"gGZD4aHtoVKhNyjnSgacJ23duz+sSxLLd9++a8o+rZf1+qD8K5ndpq8f7mU+llzPWsi4zWQbgvzB\\\\\\n\",\n       \"RH9QYIG4Ql/tPlmQdbxCkeXr/1hvfvdbvad+4iU0NZXMBJpcL7HZ4v56UzGnBBY/RUpe6bx3OZkA\\\\\\n\",\n       \"+r0krdB/pYWQCwisInJLkrtJiR1h2+ngdwWEVdtDWhUprXC8Jq58iirfpyaK0c66/9pfk3uLd77z\\\\\\n\",\n       \"ne6TiSq26Y/w/1AYDAaDwWAwHGIwAstwkJNRRft9qi3sx8BLkgdaxSUVMdoyA0g1VjsdsLdziCwM\\\\\\n\",\n       \"jLGMgPFkPw/mE/tR5AbSvF1G7zB4oO0LeBfup0wmOwbwvJ2JKyaxZGg2BveSwEIeVy/uyl/f8nuD\\\\\\n\",\n       \"8y8h+uT/dcvT136Loktf2kc4gZyQ5JQvkL2IvAI5gLiibO52US7P3sJHEPmypHyklDxH90+5LZ6B\\\\\\n\",\n       \"kspHXukMrrxr+dZ9Je/4PYE/I0mSs3oSQG5r7ouSwEIfBUB0SYEgn8v9XE520H0f2tNEN3w/qe0F\\\\\\n\",\n       \"i6h1/JkUT/dUXtzve2qw/ufGNeV9SwJLzosg+zeTTpLA0plweQQWCCt5nUaDySv+HtgxtbJKZ17l\\\\\\n\",\n       \"EVdSVZWnutIqRvn7p5dl+8ptsg/MxLZrpJcPPEGKwWAwGAxzEmYhNAwBI7AMBxE0IUDKluQbMIU5\\\\\\n\",\n       \"xw7zXZrEkkobqdaSg35ps9EzFOp7x/nZ15FnKovjJCOoq3ZKB8k8WMdAGJlXPFjH4BkkFUggqK54\\\\\\n\",\n       \"XVoIYafiIoOyZWi8DpT3AcRAa+kp1Dl8GYVb1lN8849pcvNualXGu4orba2SA3jfNmkv9BVfeHsv\\\\\\n\",\n       \"qksO0LG+p4PhPDJJKvawnrXI+ZVXModNfgd5rjeTe/RBX0PmXulleS3fdw+j4sqDJjpA9GZJSBnm\\\\\\n\",\n       \"zm3s7jjtmxkxIO4oFUVpIjPJvOqtcx+GvbZ6yw9ppMFZUUT0hEto90So1IfFT6LJYlh85fuYpzrE\\\\\\n\",\n       \"uuzXUmWlJzmQqqseuZWQV61WR1kFmzkzDcpjQFAVWQd9RFZe/tUw7Z6niPT9hSrfC7MO5vfBNv3l\\\\\\n\",\n       \"X/4l/eM//iM98MAD1OCOIrB169Yh28dgMBgMhgMMRmAZhoARWIZDADIDS25DvpWcMdCnPNEWQrnf\\\\\\n\",\n       \"NyCLxPfJ7fJ6OEcyRL1BYqvFM7RF1G6XMhlYPDhG3hUXXpb7QFixuwSkFW+TeVj8yYNhKLDwqQks\\\\\\n\",\n       \"Rs9alR3cywnaEjVKQNE5l1Llm1+koN2ixk++T1NnX9ZVpPD9gVDQ1iqpxpIKLBAC2CYtgzL3qKdG\\\\\\n\",\n       \"01YmtHERtP1PkqFQ08n2lqSkXi+CJq+CnO+eyb/cPnJN9+GZkE6+c/X1I/HODEN8SchZOdFOfF7U\\\\\\n\",\n       \"JYKgoIJVFuSPzMMCuSVJLRBF0k6IfsfXhPKw8uOefXDqjEuos7s3iSCuJyfadHcqyFFMnuAjsPQs\\\\\\n\",\n       \"irJf634OSyEshHoCAzlDYW9fTK0Wz97oswk20gKlVaNAmeVbziOztJ1wkL3QR3DtqW3X4MNVV11F\\\\\\n\",\n       \"n/zkJ+nKK6+kt7/97fS2t72N7rvvPvq3f/s3N/OvwWAwGAwGw1yGEViGOWor9NmyisgsTVTJ43VO\\\\\\n\",\n       \"FvZrQkvul5lJ+H75nWIk3J2hMDvwSwbHbOVje2GSuQPFCQbJUn3Cy1Bg4RhYBDHI54E61FcgqzR5\\\\\\n\",\n       \"hcE8SCuRX51rp3IB26df7AgsRnTDt2j6lMsyRIK2Wulcqzy7oLQM+lRXyeyNui318iD4rHOyXWXm\\\\\\n\",\n       \"lc+ip7OxZH6UJjHldWS7+yyvRdvlvctr62Wsy1kw5T377JB6OU+VNYzdMQ/Jc6H90MfRZ6C+kuvc\\\\\\n\",\n       \"J9AXJenk7iboTXQAUhN9mrdFQYcqP/tO8p3lEdp9/JMonPb398xdiiw62d9l39T9VRK1UF1JNRbW\\\\\\n\",\n       \"9aybUp0lM+FaLSavOoq88gWyS1JK2wmlMjHPIujLuMqzFOrj5Pvmy8AqsvSaXXBYfPGLX6Srr76a\\\\\\n\",\n       \"fv3Xf53e9a530Ute8hI64YQT6Mwzz6Qf/ehH9MY3vnHoaxkMBoPBcCAhmIUQ970OgTcc8DACy3CQ\\\\\\n\",\n       \"QmcJkSdbSO/LGzjpHKwgJ4BaZ2PBMojrS1UJllvpawbbVKDIK5zrv79OJ3SWwmRgn2RiycEzQ5I6\\\\\\n\",\n       \"WgUCxZXMw8IshhjcY0ZCkAK9HKz8QX3v/sSEbSufQOPVUYrqk1S55TvUmGpRm1hJliWwkAeEey3K\\\\\\n\",\n       \"u9L2Mk3Y+YkrWa9F8JE0mmjKy5fSRJTvWpL4xEBf7tPnSsJTPtegPCpNLkliSq/nEVl5z+fblnfd\\\\\\n\",\n       \"Yerch+QZ80gi2QdkHhbIrO5Tp/0VfUUTWKMP3ULRrs1u+9TJF1A9rlFYz0ysmWshzLsv9EkfSZtn\\\\\\n\",\n       \"IZQqKz27piawkneFs/E4sB2/J1J9pQksHeguLYEyrN1HRGlyS5Jaur3wmacY1GRVUf7VTLOxDm2s\\\\\\n\",\n       \"X7+ezjjjDLfMMxHu2LHDLf/Gb/wG/dmf/dljfHcGg8FgMBgM+xZGYBnmiOJq2PN8aiyGb+Sq1Vea\\\\\\n\",\n       \"YIjTV0iTZb7rSnthOcdO6Mui4cFridptnqGw3B0oMwHFtkDYBrGNLYXIwOLBL0grKLOgwIKdEBZC\\\\\\n\",\n       \"HZLtW8+t1a7ipUITJz+N5t/8NSpN7aTwjhtpYuX5mRnasKwzseRAX5IWMvMKBIZUZEFZ5kdiT8sS\\\\\\n\",\n       \"htL6JgfKkliCBVSSVKGatdKXp5ZnlQLJk7XN9ZMD2Kbvq+j58nKu9HqReisqmGhAbpMEljxHE2zS\\\\\\n\",\n       \"ZiiBc/oBdSD6Esgp3iYzsbAuiStJZIJM4v6KWQlxzqJbvt09Z8fJPPtgr18XkbQMPeOgb90X3q5n\\\\\\n\",\n       \"3pRWWZBUILF8GVhc4liSU7AG+sgraSHEMVqRJTOw9AyE2DfIMuitoQGqq5nCSKw8HH300fToo4/S\\\\\\n\",\n       \"Mccc45RX3/jGN+icc86hn/zkJ1TlfwAMBoPBYDAY5jCMwDIcwJjJICbPGggCAoQDrikzr+R+rZqR\\\\\\n\",\n       \"o1od4p4X6i7XfSnoPgKtou5ZXos/y25wzjMU8n5WY/GgmccrMg8KhBYKFFi8D8sgu2AX5G15pJVU\\\\\\n\",\n       \"YhUN8N1ddoi2nXiJI7AYoz//Nm1edn6GdPLZAyWBJQkrOaubVJy5WhIqmMHQWVO6LbR9U5M53SdU\\\\\\n\",\n       \"BI9cl+oqeWwnZx+uoZUne2LJ031ULucpsfQ+X8C7XpfEVJ49Me/+Bmdx6dk1GWh39D/kVYO0giKx\\\\\\n\",\n       \"qwLs9GyxvA0zcHIZ/8X/JOdSQFuOvYjaU8WqK5+FUBNWksySxKzMeZP9Wme96Rk4e+osDmtna6VW\\\\\\n\",\n       \"VTU9BBXIqyIbYRFplRfanpd/lWcjTGo3e5xrlQL74EzzsYzYet7znkfXXHMNPfGJT6Q//MM/pJe9\\\\\\n\",\n       \"7GX0qU99ygW6//Ef//EM69NgMBgMhgMIe/N/X/IahjkNI7AMc0yJpS2BWh01rH2QFDnhIx2khUYT\\\\\\n\",\n       \"YKTykKTV0GfxgvIBxJjvFzzu5mLxLIVcGCCv5Oxo0kIoiS0Ewmt1Sp4CS84AN0ilwtfZsvJpdEwQ\\\\\\n\",\n       \"URC3acEd11D9wrdQJw76FFRFRZID7qkzVsFh4bPd5VngJHEkFVc600qSVkUWuyISS9tFdX/aE2Wh\\\\\\n\",\n       \"z77nu0cfeeW7d9+nJrrynruorn1tk4WvnX0KKxBaclkTUd1stpCosvUBGttyt9u+68gzaaq6OOF8\\\\\\n\",\n       \"UlVX0f3IfuiztUoCC+sgqEDQ+hRYOg8L9kLOumq3Oy4bLKu0ktZAX8aVJKLytg/Ku9JFE1dym6sV\\\\\\n\",\n       \"9VtVZCcsWi7aZpBYt25dd/lFL3oRrVy5kn7wgx/QSSedRM9+9rOtsgwGg8Fw0MIysAzDwAgsw0GK\\\\\\n\",\n       \"PJuVJq4GXUNbwbSSSpIWcsCXt64JMUl+ye8IchRX8lqSPOldh+2EnInDM/+5cOoocORUsq9HWkF1\\\\\\n\",\n       \"BRUKbFpYLiKwoLwCgTWM1crZ+sIFtOPoc2nhg9dRbceDVNpwD+1acEJfjpEvN0iHs+8ZJCkl612T\\\\\\n\",\n       \"VViW7SsVfKh73Tdk/9KEpSau5HVwviZFffu6NZrzjEWB6tgv712TTJrI0tfwHa9JL9/2vHWfWqtI\\\\\\n\",\n       \"sZUPmZOliaRMzaV9CETtUXf27IObj7/UEUXD5l7J68m+OxsElsy94nc6OUdmV+XZAjtKgSWJKq3U\\\\\\n\",\n       \"QokH5F0N+5lnJSxSWvXVrpegNwJrMK699lq64IILqJROEfukJz3JlVar5fY97WlPG+IqBoPBYDAY\\\\\\n\",\n       \"DAcnjMAyHMDwEUy+Y6hgMCz3wzaI7XLQH4v9Rd+HMHYci8+4QFUj7VdttQ95S1rJEInXE3UAqQgv\\\\\\n\",\n       \"cy5Wh6anyxSGQVfZBMKKCS3YBGEbxD4eJCPE3alT0uOQOSRD3d2dqBysPBILg/wNx1ziCCzGoru+\\\\\\n\",\n       \"RVvOyBJYcgZF2K20okVmIfkICtxXj9BIyLwstP1N1qVuG+xD4L5uR+yP1KckLDVxJaU9WqmnlSg+\\\\\\n\",\n       \"a1URwRMOQWDJ5cDTh3wWwSIiKlTHyuOlvVBfK896mN55EHSz2HxqKDkDIX+ib+h+xP2YAaIW5BWX\\\\\\n\",\n       \"xff2CKz1K5L8qyICS5NXsg9q8tXXj/NC3HGcb1+nw5ZBmVvFN1D3EFN5tkBJcuF8/K7Ja8icK3mc\\\\\\n\",\n       \"VGa5mi/of8PkXkkSeU8ILd/3mULr4osvdhlYS5cuzdQOh7nzvoQANRgMBoPhIIX9U28YACOwDHMQ\\\\\\n\",\n       \"krTStiyftVATD6QCuyXhIFVRcgAnVVPyHBBWsAlKskQOHrW6B5CWNkm4JPedDLTDTDaWnK0PMxDK\\\\\\n\",\n       \"mQtBdoEwwDKTCCAKtJVQElgguvpqPSWTHj36YjqZEpvL4nuvodtOfW1mFjc56Jf2LL0sbWPF0LY1\\\\\\n\",\n       \"bf3zKYokgSkZjJZHjQVItVYeUaX7ku5X2uaXN9CXhNQwz+6z7+k6CfeSvIo8+0tiu7Yc+lRbefuK\\\\\\n\",\n       \"IfsAiCksg0xF/5FB7y4Ha3oHLVp/vds3Mf8Y2j5+fMLxpH3ZR8aij+K6PsWXtsVKeyzUVz7FlZys\\\\\\n\",\n       \"gGcY5KyrTqdNcexTVYFw6uTYBvUMhNoiqGci1DbAQTlXedZBTV5pcilPYZW3zzAs2FrKpK/Gli1b\\\\\\n\",\n       \"aGxszCrSYDAYDAcvZuNPBPsTY87DCCzDQfJLNmiQ6yOqfOf4CCy9XStl5HqgluX/dveIpQSSlNCk\\\\\\n\",\n       \"gia3AK0K0/et1V48oGFLYfL9SYh10Ge3cneTDryhToEiC8HXktQqCnRnyP/k12OpXWPH0I4FJ9CC\\\\\\n\",\n       \"HXfTok03U2n3ZpoeWewlseRsgjLAWxIWmmSQofKyxLEkr2Q9aQJS7wO0lVDbBwfZC/V18pbR5nn2\\\\\\n\",\n       \"w2H6O+XYBOW1imyDecqqPJLJR175rlP0HT7iKuhrR7RxXvvr0HapykIuluzPSx68lkIXhs7k6iXU\\\\\\n\",\n       \"7gRDkWTYlhfcrrPb5AQFUFthu7YQJgRWnJYiNRWWQW5JMstHaEnSSZJX0jKobYCS7CLPb5gm2H1W\\\\\\n\",\n       \"Qf0XZ9FfoHnEVhGM9Hr+85/vaoLJq1e+8pWZGQe5D918883OWmgwGAwGg8Ewl2EEluEggCSMfBg0\\\\\\n\",\n       \"4M+zGcrztFVRK2ZAjGAZA0Kp1CJ1DhRXUbocFFgN5X1i8AlCDK+qXMbgtNQdgLbbFZePxQN6DLDL\\\\\\n\",\n       \"5V6AOsgoqLJ4IC0tg9iH3Cudh+WzeOXZCR9d8QxHYAUU0xEPfpfuOvYF3X0+EqBIZQWbF1Q1IOBk\\\\\\n\",\n       \"dldCYrCNMI/Uke2i93HbkKpvaQ3Eunz4onYfRGLp4/R9DvtfR5pEIw/xNohY0sSUzyqoj5fnyOWS\\\\\\n\",\n       \"UmSVxbLel9wH21+1yg/9bNjJA2SwO47v1m6HaNkD3+quP3TUxd2ZDH3XyZsFUedeIQ8rsf7157n1\\\\\\n\",\n       \"bIHZmTaT2QV7lsFszpVWUkn1lbYP+vZLoqqpVFvaSojjZMC7XKcBiq1ureX8hmVqdkgLYdE+/a4d\\\\\\n\",\n       \"eliwYEFXgTVv3jyq1WrdfZVKxeVgvfa1r30M79BgMBgMhr2DhbgbhoERWIY5DJ135NvnU+L41Fw6\\\\\\n\",\n       \"P0sSWqQUNbguXi8sN1V2kMy/wnnkIVNIEVq4dwwoeXua4u5UWBE1GqzKSrKxkHslA91lPhCIIKla\\\\\\n\",\n       \"yZuVcNg8rAeWXUyn3PoJt3zkQ99yBJbMLioCSCrcC8gtEHMgtGQGFucf8eyMScA97JqyrfIysGTO\\\\\\n\",\n       \"mKxr2R74BAkpyU398Pq7dZ8C8ZU36NeE1CBoUk6TVPI+9b6S2i7XS8omqI9FP0ZWmzxHE18+kqxE\\\\\\n\",\n       \"URR2rasgrdC/9MyC0rYqyS0fQDYxStSgI9df65any/Np/cJzuvbBYXOv8mYd9OVeScJK2gilQotV\\\\\\n\",\n       \"V7FThEkVlcy+kiorGdreGkBgSSWVDm+X+2UGlrQQSgWXthb21ZZa99kJtUpLH2eYCT7zmc+4z2OP\\\\\\n\",\n       \"PZbe/OY3m13QYDAYDHMPZiE0DAEjsAwHCfJUVIP2SzJKL0v1i1wHASXJDk1o+RRb+jypHAABhe/Q\\\\\\n\",\n       \"LA7WQX7o+8Wr6nsWuT0ZPPL/0ifZWKH7hFVQWvZAHjCganKZQWkWlg7CBmEEMoE/JaEksXnhGTRV\\\\\\n\",\n       \"XUy1+mZatuEHFDanqBXVZjS7IKxhkjCTZBbuCdtZzcPPzSosfuZs2xRZnSIPaQjiC22l7aHD2Adl\\\\\\n\",\n       \"u8j7APkoSSafPWsQNElFBXlTeD5Jyg3KvNJklI+UkoosbTXMV2v1lFfJJ0gsnxIL63l5VXngPrFk\\\\\\n\",\n       \"00+o0pp0648c+XTqBPwi9B8r3wud05ZHYvUIKU1QZXOveiQWZ9YlpV9ppe2AcrtWWGnySqqo2gWq\\\\\\n\",\n       \"Kp+iSqubJHmVqc0CK6F+t/LI2T1RZ5l1UOMtb3mL+50D7r//fvrXf/1XOu200+iZz3xmQV0aDAaD\\\\\\n\",\n       \"wWAwHPyY6X/3GwyPEXyDo2GOGZTF4ht8DZPr4lvWqoUidYMccOpj5LIcsHYKBrOwF/WWOx22FXac\\\\\\n\",\n       \"bQlh0bA24VMvy9nR5LKv6AygTOmE9NCRT3e1U2pP09L1P+qzZwE690iqb7QqByoySXJkFTyJLS0I\\\\\\n\",\n       \"JHniW9aqoJJHVQTVkTw3j6jR5I9WI+nsJ71Pbx+2yPOG+R59b0XPo+tNqrFkXflmIMyvf26bMGT1\\\\\\n\",\n       \"VdBtN01goZ3z+oGvz/iw/GFhHzzykuI+68my0kW/H753KPuO9d49fhf5ncx7X/uzreT77vtN0L8r\\\\\\n\",\n       \"PvKq6LeniIQa9vev6HiJvGvN9Pfc8NznPpc+97nPuYrYvn07nX/++fTBD37Qbf/Yxz5mFWQwGAyG\\\\\\n\",\n       \"g95CuLdlpvjoRz/qFM4jIyP0xCc+ka67LplNfRC+9KUvuWzKyy+/fOZfathjGIFlOIgwTBbKoF+t\\\\\\n\",\n       \"YQZEWrHjs9bIY/UgMlZEkxw46hwaDGDlelGpp8c30lLPWe6tx3GDGo1Od1CNAXa9TjQ9nazL5amp\\\\\\n\",\n       \"ZL1/MN7/KRUnWqny4JGXdGvp6EcTIkGTWJqg0AVkBlsEZSYXr6Nwbld2OaBSiYksSUTllWpqvyw6\\\\\\n\",\n       \"Zpjr6OMHkVF7QlbNhNQatH+YZ5LHDDq+nNZl8TWjKHJt42+3XtFtLVWBef2k7y1ux7Qi7XftoEyP\\\\\\n\",\n       \"HPGUbh+Uair0XRmwXvTJ7wa/I7zO7wyvy2X9nvG7x+9g0Tvav9xM1wf9HvgC3ouUWHLmUx95Ln8n\\\\\\n\",\n       \"NQkWz/B3eJjf4iLMRI146ODGG2+kpz71qW75n/7pn2jZsmVOhcWk1l/91V891rdnMBgMBsOeI56l\\\\\\n\",\n       \"MgN8+ctfpiuuuILe+c53un9jzzrrLLrsssto48aNhefdd999ztKPf5MN+w9GYBkOAfgGXL7B2CB7\\\\\\n\",\n       \"TF4+jG9ZfsocGt/sYjrrRhJZ8nhf2LPOu2nnHsMzVbVaHTfQBlklVSQ6t0cqsmCZkhYq+elqTFgU\\\\\\n\",\n       \"GY8sfjI1w2SmrOVMJMSdjB2MofOOdP6WJDKY5EAB6YECxU5vX5CG00MBxARLJf0si/Uoh6zRSix9\\\\\\n\",\n       \"jFYWyYByeU2fyknvDwYomnxF36dUYel70Uos3736nsdHXPnqRl4Tdaw/I9cWSRv1CCzZbnltK/uA\\\\\\n\",\n       \"L5/Nl5fFy4fvup3Gpta7beuXPJEa0Vimf8r+6uvTss/r9wH5V773J3m/WHnFCsiid9L3/rbU70HD\\\\\\n\",\n       \"8ztQ9Nvh+93QZNWe/IbJ38ei30v52woYETWbmJycdCHujG984xtudkJWNHKIOxNZBoPBYDAYhseH\\\\\\n\",\n       \"PvQhNwnKq171KmfH//jHP06jo6P06U9/Ovcc/vvut3/7t+mqq66i448/3qp7P8MILMNBiD393/09\\\\\\n\",\n       \"sQbKbbIMOwAcNHD0WX3kp1RNaIJLqy185Fg2S4fzd9jKxLamIjsgtuuZAvWMbCAAdIaQOyYaoUeX\\\\\\n\",\n       \"XuhqcLS+lZZsu7lLNoBk8BVYyrTiBmQH7GZyHWQICI+E/GAlVkJiBYG2t2kSx0cu6WVfvpOPbMrb\\\\\\n\",\n       \"pq16WhVFOblUsujtvnOG+c68bUXP6SP68uqv9x1c95K8km0k2y6vbX2KPJ2XJQv614r1cvbBnhqQ\\\\\\n\",\n       \"4e2vapZBXw7WoPclKWwX5Cy2TsH7qi2D+n3VFkFtG9afeb8xg36Lin678myCRb+Zeb+hg36b9X5T\\\\\\n\",\n       \"XuXhxBNPpH/7t3+jBx98kL7+9a93c6/4f4rnz58/oG4NBoPBYDiAsZ8VWI1Gg2644QZ6xjOe0d3G\\\\\\n\",\n       \"/ynE6z/84Q9zz/vzP/9zWrp0Kf3u7/7u3j6xYQ9gIe6GgxCdAdxrUaC7b7u8ZqCOi9WnvE5HBLNT\\\\\\n\",\n       \"ej4GgHIZ15LKhbIYUMr7aYl9lH5if5TuL6nAd4SQy+vgPOzD9ZJf9larlAYBc15UsoeJAVaRgFxC\\\\\\n\",\n       \"YLs7Syy7b0wD3rEP2+SxfI2Hl19Cx6REwtGPfps2H352cqcixwjfxdfD7IO4hiQUMGMiguVxjgx7\\\\\\n\",\n       \"5/347mR2RX6+wD0XB7sn96rbUgbqh6LuEOCOT3leKGYljD2EkgQf2xF9QCtX0Je1ShDnaIQ56z6C\\\\\\n\",\n       \"K89aqHO95DKyv7Qyy0fq4XgfAcZ5VyXXBlBWSUKK10E68X6ptNMqPEwcgG1yVsK8mTCXP3xNd/nh\\\\\\n\",\n       \"Iy/u9hP0p24tq9kFNZkliVyQV7ye9CmdkZWQV/l5dpqE8pHPch+upc+FolMS4XqfJq9k39PLeZlY\\\\\\n\",\n       \"eEf0p1am+pD3V+Qwf1kOsigeunjHO95BL33pS+mP//iP6dJLL6UnP/nJXTXW4x//+Mf69gwGg8Fg\\\\\\n\",\n       \"2GPsaYaVvgZj586dme3VatUVic2bNzs11RFHHJHZzuu333679/r/+7//S5/61Kfopptu2rsbNewx\\\\\\n\",\n       \"jMAyHMLQhBYIg1ANwDD4l0QV0BYEBRDkXBvkSJjafiLxHSU1GMQ6Co4tKTJK3qdc9u3riFeeLYU8\\\\\\n\",\n       \"QyHP3Ncjg5hU4IE4ZhyUs/9JgooLH+uDzCN6eNlFFDNJRrHLwbrlrD8ubBH+bpwPogBkg87aAokm\\\\\\n\",\n       \"iS9eBhHH61D78LaEYCi55+4N+EMPgaAVUZKcAmnZUn1GElyyrSWBEHj6VcdDesZDCmTlfUmCSu7z\\\\\\n\",\n       \"WQl1oLsObJcB9tKuCKJK2ih9tsLkOqy6Qp4VCCxtBwUpJcksbRtFv5M2U6xjWaM2uZ4W77jNLW9Z\\\\\\n\",\n       \"eCpNji7L7Ofr5E0qAMJKzzqoySz+hOUW9sGEFO5XPvptgFKNpS1/+hqygKCSx/pUW5KUkgorXMOn\\\\\\n\",\n       \"vJKQ18jb7yO6DPsSL3zhC+kpT3kKPfrooy6nA2Ay63nPe55V/gzx9UcO/gHIZUcl/zFkMBgMhh5W\\\\\\n\",\n       \"rFiRqQ7OuHrXu961V1W0a9cu+p3f+R26+uqrafHixVbdjxGMwDIcpJAkQNExDCnPGKSu0udrMkqT\\\\\\n\",\n       \"WPI8vQ+khBwIajUOPrWKC+SKJlAkCSJJL5AoNIBIa2XWE+IqoHY7UWLxYFyqq6BwYkDdNAggGviz\\\\\\n\",\n       \"MbrYqa6WbPkpLdx5F82beICmFhzjvY5WfDHpBLUM3wdUW1oxI5VguEcch32J9YyD3ZlsCLvP7Fct\\\\\\n\",\n       \"SQWW3geCAPUqiau2IBi1Ukuq5GR7oy1lWw2jf9Z9Qt4vvlfma0FRpUktbTX0ZXENslVm15m44hkG\\\\\\n\",\n       \"EdauCSwormRYu9ynSSyZdSXJKwbUWBorNny7u/zI8ku7fVgSn4Mg1Vrog5rY6tkL2TIoCSGf2kpb\\\\\\n\",\n       \"gbWCCu2uVVjyGH2s3qbJqLz9Wnkl+6Lepwlxb215PvWxpryaLXBwOxcJno3QYDAYDIaDGjO0AOZe\\\\\\n\",\n       \"g8hZ7aW1XquvGExC8QRDGzZsyGzndf3vLOPuu+924e3Pfvazu9uSGaZ5nFGiO+64g0444YS9fADD\\\\\\n\",\n       \"IBiBZThIIQdKeaxKHkGlLWR5FkFJKpDaJq1f+nhJXMlr+kgs+f1y0AmEBfswyMV3609tQwy850GF\\\\\\n\",\n       \"Je1TTArojCBpu/JB5luBbODPh5df7AgsxtHrv033LHpFLhGmt0uVFQgNSbLJEHlsx3XkPj6X1TPJ\\\\\\n\",\n       \"voBaraQ+kmfOI4PkevcOVTvotsM2qdBCe0tyS6rxpEJOk1l5RKy8P5/qSi67mlR2Qq28kpZBnWul\\\\\\n\",\n       \"A9x1kH2yj7OueOZHJq5kMLtcBhnlU2TpXCtJYsntun/4sPyhXv7V+hWJfRD9QpKcg4A+L98BaTWU\\\\\\n\",\n       \"671+IEknaQHUdsI8q6FvOfbkWMnvoALySqoyNZGF+/Yd49snt+n+WaTGGkSA+a5rMBgMBoPhkMIs\\\\\\n\",\n       \"ElhMXg3KhqxUKnTuuefSNddcQ5dffnmXkOL1N7zhDX3Hn3LKKXTLLbdktr397W93yqyPfOQjfaov\\\\\\n\",\n       \"w76BEViGgxwgCAaRWHnn4Rh9jhwpg1DgghGzJqr0PUhLmLSV+ZRWAL5TKnya6h590hGfQkzfmx7Y\\\\\\n\",\n       \"9kg0ttQFzjDOxE7PXiVVK0V2Ld6H0HVNPnDZdOwlRDd/yB27/KFr6P4zXpGbW8REBgDyKS9gW6qw\\\\\\n\",\n       \"cM9J7lVyHVi+cD+wRvaUPQE1Gmwp5HB7EDctj3qppdpGE4EgrKRiRe7HNq1okZlYHWUplW0r2zcY\\\\\\n\",\n       \"wkKIQjkzHUrVlc8KqHOt5GyN+thkmQMvuSDnioueaVBnYBVZCPNyr9wT5fRDIGxM0JINP3bLE6NH\\\\\\n\",\n       \"0K7Fp1IlJa608moYRZZU8qE/Ivsq6Yece4X2lu3pU0v59kl1lp6AQZamh/QapMzy9Tv9sL57lPtk\\\\\\n\",\n       \"X8SnT53lO0diEHk1hCzOYDAYDAaDYRZxxRVX0Cte8Qo677zznJr5wx/+ME1MTLhZCRkvf/nLafny\\\\\\n\",\n       \"5bR27VoaGRmh008/PXP+woUL3afebth3MALLcAhAEgZDyC4cJCkFtRRUTZKs0iorkBB5wdxaXRMp\\\\\\n\",\n       \"wkpa2NpiP/bBjiYJEG17w/fqfeTZlywzgaPtUVKtknkCFaANokuSVnJ5YuHxtGveCpq360E6fOMN\\\\\\n\",\n       \"NI+2U7OS/NjjPP0dIKmwLNVUvpnhmACRuUQI2EYOFkK2eR8fy/txXqPBIe+RK9nsKklegUgEyZDX\\\\\\n\",\n       \"F8hDWmplHq7vajCHPBg0mNfB7ZrM0llXPoWVJrC0qkruK+eqr6CukoQVPjWhlafA8s08KQkrSXgO\\\\\\n\",\n       \"6i9HPPC/FHWS9tq08lIqV5ik7fVdnItlkJ5yIgGtNpR9Tva9XiC8JqSkekoHskvCybdPf2rFllZi\\\\\\n\",\n       \"6aw1rdqS3wdgWc9MqJVY6M9a5TUsTFVlMBgMBoNh/4e4D4sXvehFtGnTJjdJyvr16+nss8+mr33t\\\\\\n\",\n       \"a91g9wceeMD9J63hwIERWIY5AJ/FatjzgoJteeot3/fKAZ62D0qyKMzZhgEjCAkQKFq5JUkrOdCU\\\\\\n\",\n       \"JIlW9shj5YA2zLVLDZtzJQksbJNEREJ2BbT52Etp3i2fpTDu0NKHv0ebTu15x/PUWD7bFpQwMkwb\\\\\\n\",\n       \"ChooYqTVEPtBWGEZnwmJkWRjhSHPzpgQeYkiq/u0OcSSVLzJNm15zpXt1/ekHtXVoL7sU1/JdWkN\\\\\\n\",\n       \"1KSVVFlFQxJYMsi9lNoFk5wrEFggpUBaaQuhVl9hXRNX6EPoGyjSnurrKyBVj3igZx/cfPwl7lqS\\\\\\n\",\n       \"qAIpy/1BzpiJSQuGycfCd+a3ZREhpG18eSopSUjlnZ+n8PJdv+je5HcPC9+xe/JXp5FcBoPBYDAY\\\\\\n\",\n       \"ZulPgj04n+2CPssg4zvf+U7huZ/97Gdn/oWGvYIRWIY5APlLNWjgrwkqec4wxIHvOnKbVNZowkpb\\\\\\n\",\n       \"+oqKJLP04FWSIj4ljx4Ua5WPz6pWDKlaAbRl0FdgL9x8wiV03C3JD/zS+79F2898dibPCCSCBpQz\\\\\\n\",\n       \"WNazDkp7IVRXIKqgugJRAjJLEyIgTJhom56OUhKLVWnuzjw5VZIokhZQuU+qtCSRpC2jUMdJ1Ra+\\\\\\n\",\n       \"d2CreMgrTVLlkViSlAo961BcaQUWZ10llsFyOSDOw5QqK0liYRn7UM+a0OonPPvVfIDPPihnqqRO\\\\\\n\",\n       \"iw6/L/lDo1kepZ3HPIFKYlIBEFY95VR2ds29/w82n1pJE8d573ueDTDPGjhsySPK8tRUe0pi+YjY\\\\\\n\",\n       \"Yetrb/9aNRgMBoPBYDAcCjACyzBHgEFQtAekU6zysLAOBQQIH/JYCnGMzB2S50lSA+eTUlVRTji3\\\\\\n\",\n       \"tPngWvJ68l6G2adH53JAq+5CEAl6RjippMG6DunWAd314x5PzZEFVJ7eQYff9z0aiRoUlyrdaxQB\\\\\\n\",\n       \"CixJVkCBJS2P0jYIxRVUWbwOOyHfL68n9sHesTIri0msqakwVWJBzdQQli+QT1Jtpckt2U9AFmgF\\\\\\n\",\n       \"nbYfSlLBN7CXZBWIKXzfIAJL5lj5FFhlpbSKRAZWEvrO5FWtliWiRkb6LYO8rskt9BXs1/1JEqJQ\\\\\\n\",\n       \"TYFQylPpSXD71u79KVXqO936juOfRiPjlUyfAInJ7S6vz/vQ16SFUAe2gwj1w0cI4R3T4es+e+Aw\\\\\\n\",\n       \"+7T6yncM7iVPqaUfQNsL81RZmqzV1/BhEDE1pNzNYDAYDAbDnMdjYSE0HHwwAstwiEGrrgAfwSP3\\\\\\n\",\n       \"+UbPkqDQ1xikoPFZAyWhJM+Xyi1NnmmSRKrJpNqLPCosPzRZ4JsVTlvDfLPMZYmuEu048SJafOt/\\\\\\n\",\n       \"UNSYoMUbfkITJ13otSJqgEyA0kraChHULvOweuHaCTEhySxJYHHhZd4OW2FCaHG4e1IHnIvFIfft\\\\\\n\",\n       \"tlRWSdWTJgyxT+dctT2ZZJrIksTpoIG9zN4KckLcZQaWL5zdR2BJ+2BvmacYZoUaq66YlGJyCoQV\\\\\\n\",\n       \"E1gy50qqr4YNcddEllTHyZklfZBE5pJ7v93dvvu0S9x3IOQf9kFYB+VEBfL6sn+BsNLHDZ7BUBJG\\\\\\n\",\n       \"cpuPgPKRTJJU8imy5PG+aw+rlvIRVz4Cq+ivQd/3marKYDAYDAbDDDEbfz4YgTXnYQSW4RAhqPQx\\\\\\n\",\n       \"eVlEPjuhTwWjv8envMiz1xQNEouKvlaeHZEGfOb/ssucIVm0VVDawWTRGUc9ex7R7lMvcQQWY+Gd\\\\\\n\",\n       \"36LW6VkCaxAxANsX1FiStJLh2pLEwneDrJIKH6yDvGL053olMzMymdNT3uTdpFbA4QQ5U6FW42ml\\\\\\n\",\n       \"3N5kYOnZE3VQO7ZlZxDMWgZLfQQWk1dMXCHvigkrkFNQWknVlc7EQn+QBJbuL9pKiLYomv3S1ZTM\\\\\\n\",\n       \"SGvHNO+2/0m2ByFNn/rUbrg/riWthMjCwjVwPZ2jpvO35DtRcGeed0/uoyHsfvpaw5Qie6G+r7x7\\\\\\n\",\n       \"y7s/3znxHv71aH9dGgwGg8FgMBhmDiOwDHMMRUoqiUEkQR5Bpa1fvutJVYS2JuaFumM7KRWOVF3p\\\\\\n\",\n       \"QZ9UXPiup79XPk8/5KB8EGkl84o0iSXVWCAv+NzG455CnX8pU9hu0tgvrqFdL347RaUkQH0YUkBm\\\\\\n\",\n       \"HcmZ4FBgEdMWQtwj7GO4R9gGocJCXheOYSSWQpBFrMQKFRHlU+D1js8eJ9sYbYPjtHouniGBJUks\\\\\\n\",\n       \"SWBp9ZUvmF2u90oQlCgMmbzqqax4mS2EksDS+3QellZgaQsh+ofub7pPFvUJl1/1yD1U3fqg2z51\\\\\\n\",\n       \"3LlUOmyhayrYTflaUF0l6rosgQVrKu6JgXWp4pJ9dbASS7a1jyzyKbF85/kspnnWvzwFlyS49Hf4\\\\\\n\",\n       \"7td33/EsklNmHzQYDAaDwTDDPzMGwf6PbM7DCCzDHATIgHCGSi38aoYFx/i+SxIV2lY4CHJwCqmJ\\\\\\n\",\n       \"tgXKPC65PdrDX26c16sjnXkFEgfqGk1AwComiYw8tQ2OCcMxqq96ItVu+18q79hAC7bdTnTcqbkW\\\\\\n\",\n       \"QpBIcvZB93TCPigzsLR1EAQW2wGxzNunp7OzEmK7tBbW68n9yH18HmdjNZuVlMiK0jZppMtaYaXb\\\\\\n\",\n       \"Eccgz6zlsZDJc4sgK0sTWCCppPoqb9ZBSWRVusQXWz6homOCStoEmaSSSiuZgQUCS28vIrB0Bpa0\\\\\\n\",\n       \"EXafUPSPRBEnairtA6U7erMPts+9xN2LDPiHogrno8/r2Q2llZDvWRKnut+B3Oq1g3yXc8OyBrQv\\\\\\n\",\n       \"+gTy1iRh5e5MnS9nKhwWPmKqM8Nz9tQ6ONN7NRgMBoPBcChgJiOoomsY5jaMwDIYhoa27fkIMLlN\\\\\\n\",\n       \"q6jIMyuhPM93/b0hxYoGidn8Jp8CBiSCJBh8tkFpHZMKLE1iucH+uZcQ3fa/7ltrt3yL6LQsgSVJ\\\\\\n\",\n       \"LCxri5e0EMLyJa2DICxk7hXWmcyCbZCLU4Y1evfJxBWsbAwcj7poNLiuYqrXI+p0gjTkHUoqXaSq\\\\\\n\",\n       \"SmcckbD4SSXWMPbVQRlYUQGBpRVYMuuqTEEQuhkGkwD2nmVQtqkksBDUjn2S2JIh7lqNBdWVthJK\\\\\\n\",\n       \"y6AksSTBJMlMqcCjn/YILHpCQmCB1MR10eau9lPyUqqw5PWgyOL7y7MW9vqsT5HnwzBEUdE5Wsnp\\\\\\n\",\n       \"s/sVZWP5jsd60fUNBoPBYDAYDIbHHkZgGeYoMBAbRPrM9Bh5XflJnvys2LPuGyjKwWSejSzPxjPT\\\\\\n\",\n       \"DBo90OaZ5ZiUyZJYMlhbklp6JjlJWkkFliQvJIEVPOFioi/8ubuD0o3XUPTy1/eRF0W2LB3irhVY\\\\\\n\",\n       \"ILCYeMI23BMsgzoDS6qApGXN2dIEeQUbGtcXk1fJrIdMYuFnVN+4VM9AjVMSSjoaIgNLkheatMrL\\\\\\n\",\n       \"wPLNROjLv8oSWDzDIJNXCGqXxJQs3LZoX5mHpQksHfAONR/6gyawZN8bxlIKUsm1/5bN1LzrZ0lN\\\\\\n\",\n       \"Lz+BKsccQ2Ha9iCwYCGVNln0NeSb6X6FvukUXuI+syQWv0N8riQvizDonS169/V6PETRxxXdz7D3\\\\\\n\",\n       \"MJPn0scYKWYwGAwGg2Ef/Zlgf2bMeRiBZZjD0Pa+YckrnzqKBlwnFtY8qaQaFlr5oHOw5L1hkDzT\\\\\\n\",\n       \"7/Hdf4+4kgSVtH5pK6BU2GjFjbaSSeuY27dgGdEJpxHd/QsK7r2NapPrqXrUMjXbXDyQuGDiCLPJ\\\\\\n\",\n       \"6RkIQWBhnb8fVkC+h2SmweST9/EnF7YIyhkUNdHFQP0kZBvbCWNqNMpipsE8AkOTTeh70v4lLWeS\\\\\\n\",\n       \"zJIzW8rrACCswoLwdmkhxIyDcuZBzrrqkVfaCgiiSiuw9D5NfMk+ge0+AgvtD8Ufq9wGE5nJAdz+\\\\\\n\",\n       \"U9/5LrVSmV7lKZfSyHhPdSfbHYoqfA/v69Zi+v2+mS6xzudgPwgxEFm9mSplmw+rmiyahVAeI/ej\\\\\\n\",\n       \"f8z0LzWtrJqpdbDonHiW1WcGg8FgMBgOFQRxUvb2Goa5DSOwDIc4pPIpL7+oiBjTx+VZC9siF8dH\\\\\\n\",\n       \"SJCHkNJE2kzIKpAYKHodap0wMzufJrLwCTWNJCuktQz7fEocbR9rP+0Smr77F+4uSz/9No2veklW\\\\\\n\",\n       \"fUNxr1ZiZg/S5bCX+dWhoE+BJfOOpAKLbYEgs5ikkgQWr/N+ECt8f7wd6759vM3VcFeVFlK9HjpS\\\\\\n\",\n       \"LduuMvNKfqI9pdVQk6m+vKNwDwgsaRmUMw9iX9kFtWsrILcltvEn2p2XEeLu2yf7hwx413lq6Bfa\\\\\\n\",\n       \"spqUmEJJhHRSYs9VVyTe2l4f2P3jnn1w3sUXUzCeJTHRpj7rqJ5dULYtlFvuNlIVllRySUVfkosm\\\\\\n\",\n       \"88h0P5DrRflYw5JNnSGC4Snnu3znDWMd9JFZpqoyGAwGg8FgMOwfGIFlmOPwEUp7cy1tE6QCdZTP\\\\\\n\",\n       \"aqgJq2GIqT39rwRtaeonr9gOJwPcdSaRL79IZ1+BvABpAWUWCAt9fnDxJTT9mf/r7qj+v9dQ5SUv\\\\\\n\",\n       \"dMthp0NBJ6Yg5pLKXGTgUeoti/meWTmWkhhxEFIcBdQpM+0RulkDobqC4gZqHCisEMwuZ1LUdkJ8\\\\\\n\",\n       \"pW9mRqyj/vhWm80oJTtkfUswiRGmqidpI5Q5WuRZzlNgYVmSk1J1hbbWpFXUVV4x+QbVlcy18pFU\\\\\\n\",\n       \"aFMosHykVVHAuyawSiVHQSXtHiRtHrRjCtjyxy0rZVB9fSB0/SCkgFrTDZr+0feTGjpsEY2fcya1\\\\\\n\",\n       \"01kD0c7aEiuBfDUZEt8Nhk/JW9xG3nuSBMPr98v37u3J79AwBJHOV5Pn6s88m2Ded88GjOQyGAwG\\\\\\n\",\n       \"g8GwH/5cMAXWnIcRWIY5jpkQWHmWwkH78o7Rwe2+433X9Q1CZzLwlcf6yKveQJpDu6WaJEsw9BNQ\\\\\\n\",\n       \"UlWFwb0kMbSCJ3t8nFzz9FW0dekR1Nm4gaav+zGFu7dTxCdIvxbkVH2PFlAQMm0hPF9dCU+J4jCk\\\\\\n\",\n       \"uBxSsxw4S1crVcswqQXlDVQ40rIGlRXqQOZh+QgsvkUZOJ7cauhsbcmyVFj5Mot4eyv9CcY2hP1r\\\\\\n\",\n       \"AiseIvcqKJiFEKqsnl2QSxjyTINJULtU1GlSSpJWvF2SVLwslXf5BFac2BJdU8VULqWElWOKmGls\\\\\\n\",\n       \"Z9selQp2SYLbP4ocecgNMPnD73dlcfMvudh9Z6vdcdlU3Jbc9iCduN1BOKaXyhBa/NUIbUeIO2Yi\\\\\\n\",\n       \"xD7cllQuRlGSI5eo8GRbyCB/33uZt65RlIOl+1YefLbEvc22GvavRCOwDAaDwWAw7OWfHQaDEVgG\\\\\\n\",\n       \"w56SRNIWmLd/T1VfecSWD76MLz1QlmRHj/RIZpzLZhdh3UdIyNBu7MP+PJuZJDIceREmAVXzL3oa\\\\\\n\",\n       \"bf/KVxxDMHHNNTT/KU/pTRnnqkAob8AYyGnp3KMLDxdS4pncqFSo4r64RDRSolotcPwGkxd8X7yM\\\\\\n\",\n       \"3Cs+DfvwjNI2qMPpYSGEogd2wl52Ex9TcuRZHEurWFvYR7GMtgaxAMJjGKuoJq/CHNJKLlfSsHYm\\\\\\n\",\n       \"dKKM6goWUE1S4ZjR0awCSyuy8pRbUpVXCpmcSmVxE6mHE8wQlrtTClK2H8hEd9kPooh2/8//dA8f\\\\\\n\",\n       \"f+ITqVSfoFKpRCNjFWp3QseNsVUUxKW0h2KWSR0YL+2DuB2sg9xC/wH4ekxgJjNTahuhnIlUv6Oy\\\\\\n\",\n       \"Pdv7gQwqOrc9y9czGAwGg8FgMBhmD6bAMhwC2JNQdZwnLVw0QDG1NzbFPbk/bUnSs9RpckMGeieK\\\\\\n\",\n       \"EeQQFSmt8nKRmNSAwoY/QXJAmeOOLcdUrsQUtVsUNFoUtBLiYt4TzksILCLa9Z3v0Pwzz8wGWUkl\\\\\\n\",\n       \"Tt9jp2wDPoXvj9VZknWKS2WKqlUaiUpUjUJqjZRoaiohMphwQKA4rGaySHuhzgWTCixwaExoJEoc\\\\\\n\",\n       \"XmY7IavA+IYR8g6roGwPhLij+MgOH3xtq2ccDPpUV2wZ5FKpBH15ZpKARFvyOtoZ62NjWfIKBJYm\\\\\\n\",\n       \"PGu1mErUpoDaFDbarsJd+4Ow4kqXCfyy7fPUVwwhj2Mb4c7v/yDpFpUKjZ96CgW7dnVvKCqVKYxK\\\\\\n\",\n       \"FI2VqNkIqNFM1Fi4DLdnt0bTLoW2RaC7FITxZXFrUGbh9nkfk1fttmzjSGXm+d7RvPd5GMxGMHoe\\\\\\n\",\n       \"ITZscPsgFGVqGQwGg8FgMCSwEHfDMDACy3CIYDYGUMMQVUXHDLIozgRaZaVLXqB0UhL1VTKY10US\\\\\\n\",\n       \"WNpGKJU1+MwL+i6XOlQKO1TmEO5GmqSeyl7GTjqJgpERiqenaddPrqd4167EEsakBsgrSF0GEVhg\\\\\\n\",\n       \"lUBmiZCroFymoNOmsFKhOCpRwAqwSkSlEtvLWIWWnVkQl4faRipzsM5IMo96dkKQHjgumSGPg91j\\\\\\n\",\n       \"iuOSaK9SDhGQZzvLg099pQmsMKPCSuyiCXklw/Zl+8kMM0lO6qB2fEoSE8RXudyhchhTmdoUdVoU\\\\\\n\",\n       \"sOoK0jXIoJCiL1P4ET5VRGBJH2cQ0PQDD1Bnxw63a+zMM1yeVpehbLUoqFYp4H7AN+dsh9zvkwbF\\\\\\n\",\n       \"ZdDVellmva/GLIbokvyc4Nlkl+sF0bONMLGSZtty8Dvpf7dpH1n89nf+lcFgMBgMBsMQfzJYBpZh\\\\\\n\",\n       \"AIzAMhhmFYMIrNkYzPlsgzLo25eLlF1PyKteNhAG476ZA6XFUJNX2naW7IvdesQEBpMX0/Xe9H9p\\\\\\n\",\n       \"CVotGj/rLNr14x9TPDFBkzffTGMnnNAjNWSAtyYyJHElZVDyIaQPMvV6MZlVqlSoVK1SpVKidjUJ\\\\\\n\",\n       \"YOccqEQ91T8DnVyWpAUv4yt1XFdPwcNkBiuxQGigD8gAd2kdQ16WVub4oBV2IKxkBlYvuD0IEvWV\\\\\\n\",\n       \"bEdJQEp7qLQJypwrFGkhZDVWT8kV0/gYURSk7Q6PHsgqFKzzJ8grmX8miSxfu4NhDEPa9aMfd3fP\\\\\\n\",\n       \"O+ssoomJHusKoozbvtOhcrVKYalEUSmpexC40qHIX8nPha/TBBZUV7wOS2lWpZfkYCUzEua/f1mV\\\\\\n\",\n       \"nbYOzsROWISi3xvLpDIYDAaDwWAwHHwwAstwCAEZRMEMLIOzAXndPbEzapuYT32F5TxljlTnlNxA\\\\\\n\",\n       \"W5NTKFKdI3Ou5DKIDJAZrLxhMsNdg22J05OJ6opH/6yIkcFTXFotmnfaqY7AYuz+8XU0dthh/UHu\\\\\\n\",\n       \"eTZC7QOTCfRQYUnZmEokD8tlCitVWjB/lBqpnRCn8zLywPgS2MfrzMNBkSW/WipxXIul60xi8Tnt\\\\\\n\",\n       \"duSUOdkMLGkh5J/ilppNLo980Eo7KLyyiissJ2HmQZ9KTi5LIqqobXGs7AczancQV7APYqpIaSNk\\\\\\n\",\n       \"FLW7YBd33nhjd9f4sccRsRoLDSnbnRtBtHs0OtoloHRYv/waCMSwT8Z0wXrKgHIr4eKYwOI2aKv3\\\\\\n\",\n       \"PS+zTL/H+l2O98DCN0w/2lt09oO90WAwGAwGw6ECsxAahoERWAbDQBRZ/6RFKO9cUuoanLe3RJkv\\\\\\n\",\n       \"KNpHZvUTWuB4JPejc6+knUwqdiSB1SM7Yhqpxk59EzZZdTVFASxjk5M9BRa2NRo0vnJl17e189Zb\\\\\\n\",\n       \"aOkFT05npesMp8Rh4EGklZCLnApPpomn5BnnJcXVprOclUsVCqtsL2Nir1cnDOZgkHklbYLyNsC5\\\\\\n\",\n       \"SZIDIqHkvCDlafgTof9ydkK5LImHvMG/VvNEHgIrWWabZMLnJARWnu3Tp6bLtm8v4ypLYMU0UmlT\\\\\\n\",\n       \"FLcpnGwQTU0m7c71zJXH7c4Pj7ZP698tg6AEcSUJrCGUd42du6i5aZPbVV2+nJywivOvQF7xd/FN\\\\\\n\",\n       \"glniS7RaFHc6FEYhlcOSa/fE8tf7GrQ1uiDsonxLCPhH5hVmJUSGGiyGRe+eP6cumCXlVV6/GURk\\\\\\n\",\n       \"DbPfYDAYDAaDYR/CLISGIWAEluEQw54ErutzJBE1aLbAvO/b2wGhVl7lkWjY1lNh6ewr8D4ywByD\\\\\\n\",\n       \"cylkkoImZCMlRAaTV0TlsE2hswxOJyN9kFZMZHBRSpwojqm2YgVNPfAAtbbvoMZDD1F1/vye+kom\\\\\\n\",\n       \"aGvoDCwU6evDA0Ddw+u4brOZkGX8I1iLKSzzg/WywWAZdDWY5mHJCRIl4SEthJJ/w74kOyshqZgs\\\\\\n\",\n       \"4VysBJLMknayQaHX0RAh/UnWU1IFidrO147STgjyShadecXt3Qt1j6nKeVfUorAl2hltze0PAguK\\\\\\n\",\n       \"rDSbyi2jcrQSS85A2ffoPbvo7l/8vLt5/gnHJ0Qpphnka/HD4fpgH9scKp9cpzQyQkFENFJF2H7y\\\\\\n\",\n       \"ruAWQUzBNgjSCp8grdDVeu8UB/lzW8sAd/kuSviUV3szGQQVBLLPJPNKL8/098osigaDwWAwGAyG\\\\\\n\",\n       \"2YcRWIZDDLMxY+BsXKMIRTZHfG+Yc6wkMWQuUnIcEykgLsD3SMVVj5TqiZi04iob4J3kXdWqHaKJ\\\\\\n\",\n       \"1DLGpAXUNyhMLkgFVvo5/5hjHIHF2HX7HVQ95eTBWUiAnAIwnXUw4/sDC8fLeBiRi+S2p8RJyLlY\\\\\\n\",\n       \"Y2MUjlTTuuAso14OlvxKkFtSCMa3CO5M72MkVrOEnGg2eaY6TVjJ2QgHBbn7lD2yrcsu70oK0DIz\\\\\\n\",\n       \"Q6btL22BGQtoOvOgthDCRjpvXkJelaKYyu1GkjvFdcltvnt3j6RE26O9JYGF7SApdaC7t9tnFVi7\\\\\\n\",\n       \"7r67u2vekUcS7dzZY+hk5+Vrg8jiBxIzH0YjIzQyOkqxI/xi937IEHcdzcWXk/tw21DgSaKwXg9E\\\\\\n\",\n       \"mLvPzos8NLQp+rnMx/JWxBDHHAj//WmqLYPBYDAYDMPDLISGYWAElsEwY1tg0YBt2POgogF8dkK5\\\\\\n\",\n       \"TQ6E9f6ioGgd5s0D9Z7iSo73EdqNAbgO70bekVwfrcVUKbUT8koSGbwMJQ5/MoElrWWpKmf88EW0\\\\\\n\",\n       \"IX2KnffcQ4uPWNojGIrIDPf4YZbAwoOBlQGBxWSJ9MkxIwMmBzIbnq2u3aaSy0mqUmms2g3q5tvW\\\\\\n\",\n       \"oe4MfgxYCJGTxIUfTUY1udYWy0k4OBMlFZF7BRUW1FcdDxEg+1YegVXKzB4JwhGPri2D0kqIY7nd\\\\\\n\",\n       \"x8d725iwkgQWL7PiKpwWba0JLF6X1lHV7t2+gLaWBFae+goVGTIB2KbJjRvdpvLYGFX4nO3bs+3e\\\\\\n\",\n       \"m1XA/71pCeKYRrjdWY5Fid0T7wfEgAycgm4JwlcHvIPMYjIsmYEyFu0czSDQXe/T+33bgvQ7Ut/j\\\\\\n\",\n       \"PiGZjJwyGAwGg8GwD2AWQsMQMALLYDggMMgCKG2CQcF+nbXTK4mApTfzoLYMStsgFFrSXiatZyAz\\\\\\n\",\n       \"Smwf4xR02AahvMIntmkCK81CqkSRIyCaExNU376dWtu2UUlO7YcAomEUWCCwQFjg4cAuyCnkmMxg\\\\\\n\",\n       \"9kGGWAVBUoOdmAJiZVm1W2+8G4HdDHlbPZtgss5f41PwYB3txVbCXv5S4JmJcFgCKyFFmDBJAtt7\\\\\\n\",\n       \"5KSM/9Ih/ZLEkuSVJi2zJaaoVaegPp1kXXG7gqiC0k5aR6G8kwQWMrCQg6UJrCLSMpUN7t6ytVst\\\\\\n\",\n       \"8xYvpoC/B1ZEdGbIpmTjoAGkrC4MKYwiisIKjYyEXWEYF9QVLg1hH0Rj0m6LAgKMLZxx3ElVWMGA\\\\\\n\",\n       \"d1S+y3nve9Hvg8FgMBgMBoPBMPdhBJbBcMDCF86O7T71lW9gHKpMpB7BofOudE6SXpb2s0qFlVcx\\\\\\n\",\n       \"hXVWtaTkhSavMAsdK3S4SCIDs9E1GjR/0SLawvt5NsJHH6WFCxdm85HyIGVRfIOQPSE0XKZqw0oG\\\\\\n\",\n       \"uQyvw+unVD8uGyuOqTrOD53UJYRaAH+FJqlwKb60u44ivrCO85jYaDYRIo7v9xFYUp3jJ7CQ3aVJ\\\\\\n\",\n       \"SLSf3iYD+aVF1JeD1SW1OPOq1KZg9xQFsm1BWoGwwj7eptsdFkL+TKZn7FWSnH2yqM2jiHal6ivG\\\\\\n\",\n       \"+LzxRPmF6+JBcS3JNuYQWC4Tq0ou1L1e4UyspM3BhUpuDDyofm+y71VCFMcxq8XySGX9zso+4Hvf\\\\\\n\",\n       \"i2ylBoPBYDAYDAc5TIFlGAJGYBkMBxUkieHLuvINjhP7IHKRfCocaTPTtjLfjHRjo0RhXShvQFLB\\\\\\n\",\n       \"UsaEAhRYksCCIgukRr1O80aqtCV9ol2bNtNCEA8zJbBAYvH1JeuGzCvMTAc/HKxkKZHWZSpSMoUv\\\\\\n\",\n       \"XR0ZpdJ4pUtOgaBAJrgMeIfIB8vMi4CT4csz+Ct4n1bsJLlYaN+ZWAiDbrtqJR3WJfEo29entkJI\\\\\\n\",\n       \"u7QQcnVxidoNCmAV5YJ2lwSWbndtIUQGmqxzEE9DElgxK7A474qfPgxplBd27EiuLx8WsxDKMHed\\\\\\n\",\n       \"iYXv4saKOQkrpvGxsW7bytvCLITgO7lukJel9+EREwIref8ShZ0mrHzZWFDi7e0spQaDwWAwGAwH\\\\\\n\",\n       \"DywDyzAMjMAyGB5zq6C0COVlYWkrkVTgaNIq8pBbbC/riZR8Cius+1Q4IDJcfFS5RRHPNlivJ0oc\\\\\\n\",\n       \"JjBAWmEWOiznKbBAcjSbNNJsUsS5Rp0O7Z6cpM6OksslilutwoQe99Rs+3NMU7XfDylDvEFqwB8G\\\\\\n\",\n       \"CxtsZmAqGExeCUlVVB2hsbFRkW3UIy60Mw3uRElguXtNCRGQWTiv9ySxI6ISTkXPbOmbNCB0s931\\\\\\n\",\n       \"cut7Mw3KttSZV5LAku2MttWkZZJ5FVPUmEpsg9x2u3b12pCXJYHFxBKsoiC3QFyKNu8WYSmMuc25\\\\\\n\",\n       \"DGjzSVfPyVHzKhUKmLxC4Bd/Bx4MZCRmooRVkb8PCftooChK+lzAdVqikUqZgiDqm2FSuh5xaaiz\\\\\\n\",\n       \"JE+G9yz5mvyZIvuzzHRAe9EMoyA7fTOhzsZshgaDwWAwGAwGw4EFI7AMhyDyBn37App4KiKw9Dm+\\\\\\n\",\n       \"c2nAum9AjOyrLImFIokPkFsyR0mqtdg6WKIOhc2UlJBFzzyoC2amA+GRhmpzltJ4uUw7+Boc5j41\\\\\\n\",\n       \"TeNRSHGnU6gkztRSHFOQPhDnGXVDuzCTIUgqAIQV5FRgKaS8ismRlGmKymWqVvjnkoO5e0QG+C8Q\\\\\\n\",\n       \"GbCdIWoLpAYv41hpPexNsJhY1nr7itU3aE/MJIn2kuSkLtoaqovMO+uSXeWYoriVkFc+m6jMwAKZ\\\\\\n\",\n       \"ibYGsSlnIYR1tF6nTto2cbvdJSuHae+drZ5CazwMKJ6cpABZZ9Lzh3YFo5SqrNC2XRaRK4TvOQxd\\\\\\n\",\n       \"HwrKZSqVI4orIVUqiS0TBBXeFX4E1DV4Mkla9ZaTdy7pXkVW30Hvta/o2sl7O7QldV/DQt4NBoPB\\\\\\n\",\n       \"YDA8Rn9C2CTIcx5GYBlmDffddx+9+93vpm9961u0fv16Ouqoo+hlL3sZve1tb6MKj/4OKMC+s69J\\\\\\n\",\n       \"LG37GvYcmXGVVd74Q9zlsf3KLAyqQWDodUlwSEIrS2zEVC51qMQEApRUuoDI8K2DyGJ1FituoMzh\\\\\\n\",\n       \"2QjjDu1In2JXq0XVgGmy3r9jvn+LMjRdq0VRq9WrrdQ2GEBxlc406ACiAwSWDA5Pgosyy+56jsCq\\\\\\n\",\n       \"URgmM9UhcxykFJM9UoGFy3H9gUNDbpJrxS6p0UNPAJZkMBVBko8ylB+is2GyzSRhJTOxuuqrEW7v\\\\\\n\",\n       \"NoV10YYgrJB1BZJKWkllBpYK74+hwJqe7rZvW5gmOwVt7Wokjmm3sBiOMPHF38GVkJJjTEB1JXKQ\\\\\\n\",\n       \"REE6h7ZFQzBQSZDJVSpUcpUXUrUaubYFB+ojBTEjIRe+BfleQeyVEJK+d7PoXQ4LfkeG/etMZ2ft\\\\\\n\",\n       \"67/qpP3VYDAYDAaDYXi4/5Du/e/uHmFvzzcc+DACyzBruP3226nT6dAnPvEJOvHEE+nWW2+l1772\\\\\\n\",\n       \"tTQxMUF/8Rd/cZDXNGiUPcmlGcbOM+gYOaANcyyD2jaI7J1SVz2CwbVU3khCQ1rHuMB6hvXQkU7C\\\\\\n\",\n       \"JgjCgq1ksA0yoSD3yZwkQWAxydButx2BISK1aXenQ6OpUkaSWL7akDSAfPrSdDJLXokJCYQ98QPy\\\\\\n\",\n       \"97NfDhYzhrQT6uT1VMXDSqzSPM7b4koqdzOtwHcxwaFdabAQYh9yw8GlyKwsHMufmMVOfH3mPCxL\\\\\\n\",\n       \"1ZV2T0orqGxrOdsg8q6wjNwrrJeDFpWa9V5bgqximyAISd7H67Jt0e5oc5BZU1PUTm2CHKvO1dQR\\\\\\n\",\n       \"BBaKj8RCG/P5oK+qQUBN7iOdDoVs9WQrKqYJBEGJtoVdEflXDNgX3RekDcKVnc5oGbp6qmWi0bhe\\\\\\n\",\n       \"pJpO7oNDVSqy0CatFr+HkrKL0nW8t9gn321kZnX28rdFWg1nCiOjDAaDwWAwGAwHDozAMswanvWs\\\\\\n\",\n       \"Z7kCHH/88XTHHXfQxz72sTlAYO0L+FQWeful+sI3o5kuveOSGeryFTsy+FvHR6GU2UpGbQqY0JAz\\\\\\n\",\n       \"DMpgdqnSkaSVVukwkdFuO+KB6QMunSCgShBQI/1fk6k4piglsGiAKidUw33QAWFKloTT047gcLlW\\\\\\n\",\n       \"IKnACmlVDleO9P+BSSqVnLInYiFhJaCREZ49MLH9SZUVf0oLoXSzYV2qseR/EoGgkrcnbYUgu3As\\\\\\n\",\n       \"2lAu69nwdHtK5ZVe7pFeMZXDNkWNOgWNHEUdFFh6m2dWQlbadbik7c2PJgksWYrUdoxGp7e3HIXU\\\\\\n\",\n       \"UHQt205DJrLkDJOSUfSxgVxR/OB4Mfi+2UoYhs46Wi6zCotnjOzNCZD3zmhSEUo5fgc50H34d7eT\\\\\\n\",\n       \"8+4H+4ioMhyKuPbaa+kDH/gA3XDDDfToo4/Sv/7rv9Lll1/+WN+WwWAwGA5VmIXQMASMwDLsU+zY\\\\\\n\",\n       \"sYMWLVp0iNTyTO2IgxRXRTlYmr7xWwcTAivIJTykFa2I3CqXYoo6qYIFpBU+5TIUN9IymBIdzj7G\\\\\\n\",\n       \"1jFWXqVKGtY5gdRwhESabzTd6VA55Dnh/P+e6dqRsdhSy8KfJSYwGg1HaLlMK2QhyZkMGagABh8D\\\\\\n\",\n       \"Lx4vM7tTr1PIOUmVEo1Uk4BvLlDeICdJTmiI+gNphagm8CrSRgiiC8tFnIsvx6yoDJOJ1c2/4sem\\\\\\n\",\n       \"FgUtlXOGDDNZtIUUxFba1tzm7WaTOu12j6z0EFhaheVr66Rf9OyD3Ba4XtdUx8RnWrFMXLrzIYHj\\\\\\n\",\n       \"inAb0gwsBFbxQ/P9oiJ5me2npRKFIy0ql0JqlYOBJJVcl4Qx52AlPKmPqCoisore/bzfkD35DTLC\\\\\\n\",\n       \"61AFq6PPOussevWrX03Pf/7zH+vbMRgMBsMhDpuF0DAMjMAy7DPcdddd9Nd//dcD1Vf1et0VYCdb\\\\\\n\",\n       \"kg46DGPlGeYag8KdfRlYOAfrvZkHeeDMA2k5XveFefuIDF5PLGgxlcJOT02lA7z1OmYdFLlIcToL\\\\\\n\",\n       \"IatxGoLAAKnhaAknL0oIimYn7pIbgCY1ZC1F6slh0gJJwiQWExul1OPlsrF6AUVZKxkYIyiyeBsq\\\\\\n\",\n       \"J63Q6niVWu3YqbD4UnCm4VIgt6B8cvcvFFj4KnyinaSFUEQ9ZYDjNCGJ9tJElWxP34yEOA85Z+5+\\\\\\n\",\n       \"d9f9ZJVsY1hHuWB/uhyn7d5KLaKtlKzkZaxL4qpdYCHspjc5GVtvO9sHEU8O1R1MeaU4pirbSNOQ\\\\\\n\",\n       \"eHcNqOvAJAKoFDQGiMt0X2mELbisugvco8OdKO23UpWFy3EV4N1LONPAo8JyHV88QV4PB0DVSbp2\\\\\\n\",\n       \"TyGvayTWoYhf/dVfdcVgMBgMBoPhYIERWIaBWL16Nb3vfe8rPOa2226jU045pbv+8MMPOzvhb/7m\\\\\\n\",\n       \"b7ocrCKsXbuWrrrqqkOsJcIZWoN8pJVMjtID42SZ1R8IbcfgWqpDdB5Wj8joZWCVozaV4iR42xvO\\\\\\n\",\n       \"LgkNZF6BwGLl1cQEdaamuiocSWCB1HCqHDA5qd+uzhbAlKQgMVSXVB7WZQKYJLCQPNSGxYxJrN27\\\\\\n\",\n       \"EwILIVRgmyCjAcME1o/vB+FhKdMUVCpUKZUpHik58oILCCnmYkFagS+B4krPQohLcpswCQZCCnlY\\\\\\n\",\n       \"OocSRBdILBCSehZCSUpiHaQVSC7kXcntlVKbgkba1pqUBFmJ9tVtj+1sG6zXqdXpdBV2skgCC20D\\\\\\n\",\n       \"AgvtLFVYaGe2BXZ7fBRRPb1OSVwDBBb6ChOWIZOXXJEylAwVDXJSputzpaTEJc+8WKpWiTPYy+WS\\\\\\n\",\n       \"2wWCkuuLqygV+HXVWZIoxr5EwMfh/L6ZCKWNWNKu+n3PYTQztkO5bDAYDAaDwXAQwSyEhiFgBJZh\\\\\\n\",\n       \"IK688kp65StfWXgM510BjzzyCF188cV0wQUX0N/+7d8OvP6aNWvoiiuuyCiwVqxYcQC2TPAYfJ/P\\\\\\n\",\n       \"cjQoR6d3HOyDkvDQ9sE8C1p3xsK4TUErlRnx6B2SI2kb1Mup3cwpcdhG1ul0CSuQVlKVA1tZh8Oz\\\\\\n\",\n       \"U+lRp92hVinKEBvSRCUJLCh3QOsVhoGzKodzkvjeUBGwlYG04gfn5wHRARsdk1fpLHdROaJKOXbq\\\\\\n\",\n       \"HJAVUOJIC2EvyLs36SGUWlIIJMkucHk+aAJLtpmvLbUiS2ZlSfKSnyWiTkLuSXuoLLqtPcVZBkW+\\\\\\n\",\n       \"GQrILJBNkrhqeQgsUtMmRO0eKdNiW56yi8q8NCiznKWQ7YRpuHvXQgo7JGYv5GWwvGCc0nrg+ghL\\\\\\n\",\n       \"IVUqpb6MMV1k/aN90FbuuzPv8KD8Ok1M7e/fH4ZZDA1zTS1tMBgMhgMVZiE0DAMjsAwDsWTJEleG\\\\\\n\",\n       \"ASuvmLw699xz6TOf+YzLqRmEarXqyoGN/TWA9FkH5fY8+6BPgcUWwiBDdmiCIy8APFlmcoZnHkxl\\\\\\n\",\n       \"JFwgN5IEliQ3dF5SvZ5kXgkCw1e6SpwwpGpKYDHR1KR+AstHYkkrmSavfEZMthQ6UoPD2aUSB/Yx\\\\\\n\",\n       \"Lnz/YH0k4ZGSWyVXSRFVKlFGbeMjNngf6lW62KTCSiq1BhFYkhgpyr0aJhcrIbBiKpU6VGq2+tvT\\\\\\n\",\n       \"19bYJtR4ICtl3lVRe7cUgYU21rlnro3jOJmZMj2G7YOgVmTeWd956bk8Q6Frb1QYyEksg8zM6edh\\\\\\n\",\n       \"WErriOssyNShVM5pMku+dwmB5SOifbZC3zuft7wv0TVw7ofvMhzoODTV0gaDwWAwGA4kGIFlmDUw\\\\\\n\",\n       \"efX0pz+dVq5c6XKvNm3a1N23bNkyq+lC6PB1pDoNGqz6rIhhxkIIYYlUhfhmTvNlYpWimAKEtzc9\\\\\\n\",\n       \"NkJdYCnbvTvJvqrXnWUQ5BV/5mVgucIWufSHiXOMGspGKCGfVFrJeLkslkFoZciRNJCqBOUNCCy+\\\\\\n\",\n       \"d0wZ2Asv6lUQWIqU6ApHWH0VdRVWsF6CjOIq48uAmJJB7VJpJWcz5HVEcvkshLiFXkh4v11Q5jPp\\\\\\n\",\n       \"z4w9VJwTssrOp6yCPVBaCLl9pZU0PbbVanXbWrY7l7pQ2zVFm+S1kcRIJ+728kYYUoOVhcIyCOJS\\\\\\n\",\n       \"Xke/MdXJySTQHZZQVCYCwuQshKhYrigmsDjUPYwdeeV7T8Broh9IdRy6Db+LfoWV7M0+aOIKRkp5\\\\\\n\",\n       \"PbMMGvY9Dh61tMFgMBgOSpiF0DAEjMAyzBq++c1vuuB2LkcffXRmnyMMDDMYtPrgU23IfdkA90QB\\\\\\n\",\n       \"kqhFdOaVtg/KgbhU77B9qmspw+xyIDl8JJYgQNqtVoakAnklrWR9KiynGAup1O4kSqlOhyajngpL\\\\\\n\",\n       \"14YMcAdpkaYZZcxXIDa6/RHXcOqaMKlJyTZwRUClw8v8TBx6BGVWSmwEUUSV0YoL+OaQbiaoUrda\\\\\\n\",\n       \"11KIuC2ZgcVFWgZTV2KGZERcE14d8C3aQoh2Q2C4b8ZB2AUlmeVmHHTZV7GzDwaTqfoIajO5LBVZ\\\\\\n\",\n       \"8jMltVzGWaPRtYg2RXtr6yhIq6YKcJdB7hrjYvbB6Sh058rgdpmbhWWtZXJEF6yjIK3QntI6inWQ\\\\\\n\",\n       \"WbVaGvrfpFKpksm60u+ObgcE8mM2wijiPiJJ6pYnpD1PkTUIksiCJs1+dw2zh4NDLW0wGAyGgxVm\\\\\\n\",\n       \"ITQMAyOwDLMGzskalJVlmCm0+kJu02a6rIoLgd95xIcvDytjKXSSpjTzikfiyL/S6/wJsiOdaZC3\\\\\\n\",\n       \"d+I4M+ucL//It30qDGk0zTuqdGLayTnqOTWDYTpIKh2HTek1UVMtVVOs8nLkBDKw4AeDNwzshO+5\\\\\\n\",\n       \"mdwrl11GWCkqefOQtGVTkhxoExBamKUw84xppj2W8/LMpGUtL9vMtz11QVIUp+yafE4syyLaWdoK\\\\\\n\",\n       \"41bLtbdsS0lS6tkHJZnVHqTA4hkFO8lWPnYyVV+BnpE0jXwj8H0yAj2IYwqRbYX2lZZB/eyyvdst\\\\\\n\",\n       \"KpcqffZb1Kd+t2Q7y3exX20ZDni39e+AwTA72L17t/sPJ+Dee++lm266iRYtWkTHHHOMVbPBYDAY\\\\\\n\",\n       \"DIYDDkZgGQwHLIYZtPbnXuET9kGdxdNHVKXqEWk15PwrLjQlyCkfkZUT+M0h6TK420dmSFuhJDPq\\\\\\n\",\n       \"QUALUwKqxmHgqY1wkAJLZyFpKxmILkkf8PeFrZZTCAasLJAhVvwsCPPGs0HCJEkPtiJGUddeJkPb\\\\\\n\",\n       \"pa1M5sXLNmCCChlZDGkf9EXIafJKZpvJ9tYKobwgd7aJZtoUzybbFftkBlb6Gae5V5qUlG0rFViy\\\\\\n\",\n       \"H3SGUGCNxHH3H6qpMHD5VzqsXxvoAkFWZmginsmw06EAbYuwfk3UyX6O/s/tXMO70ZvdU6sW9TvX\\\\\\n\",\n       \"y8CSNsK8PKy9/T0wGIbH9ddf7zIrAdgDX/GKV9BnP/tZq0qDwWAw7F+YhdAwBIzAMhhmFUW2H59l\\\\\\n\",\n       \"UA5i847FcD2cwcCX86/6VTkYUMMhJYkr5m96M9IRlcJOb+ZBDOZ1SDvysGQuVkpe+YgqPSOdnpnO\\\\\\n\",\n       \"LQcBTYQhzefZ49gSGMe0SxBYmgJwJJSYhZD/7bt2xw764saN9HC97giwY6pVeuWSJfSCww7LaFr4\\\\\\n\",\n       \"+xlxp0Nlvn+uBFQIspC4kkBugfgAqZEqeMqjZWrHYdc+hirTZCHvY2KKH0dbBPlyCHcfJgML7Yq2\\\\\\n\",\n       \"1DZB3cZwyOnJFsulDhHbB9G+WmUF+ygKH5cux1NT1EpnHJRtiqLD22U7SwuhtgHKv18WcqWk2BUm\\\\\\n\",\n       \"9kEQl6X08z+3bKFvbNtG96YzpJ1Wq9EVy5bRuaOj3baGYc/1KeS5oQLZS4l2B2mFZXg/Gw0qjbWp\\\\\\n\",\n       \"Uo6omdYhdws+RLYzotN8Yft8rP999xHR0mqI2vDlXUktor5mnoUQ+yw761AGZ1aavd9gMBgMB5qN\\\\\\n\",\n       \"0GAoghFYBsN+w0zUVHnnF+2T18iqP3wKLB+51V2mDgVgYbRdMG+dlUzNprOTSUtgp8A2qGchxPKu\\\\\\n\",\n       \"lMBijLU7tF1IkXzmSdgFMRwfjSJ62dKldGy1SqNBQD/YtYv+7MEHacvyJpWPCuh1dy3p3o+rMWaK\\\\\\n\",\n       \"pAJHqHI+2PwunTd1El00/oSsQgk2QsdKxBQGSci3JozkLIS+dtBKHWSM50GruFCwzWcxlDlN8t74\\\\\\n\",\n       \"ntlW12efk4o7bavjuhF9QFpFhymy/WPVT/RMglwZ81I7Ka/vSPuBTJFj3DgxQZcsXEhnj41RLQjo\\\\\\n\",\n       \"C5s20WvuuYf+++ST6ehy2fUPtDV/ltL7D4rskkqRhfchdOrGKNMOsuht+h3M9lzai/cdJFQvH8x/\\\\\\n\",\n       \"nMFgMBgMBoPBMDdgBJbBsFcYdoAYDLGuS971ffv6z5fEhlyW63pb95PpBJk8zkUu+9bTbbGwk2kC\\\\\\n\",\n       \"q+P5lOQVtu0MAzqSSSG+k0aD/vi+e6nR6VAtDOmIcpkuWbSIzp43j67fsYP+aeNG2lCvUyUM6YRa\\\\\\n\",\n       \"jd557LF05vi4G96X0lD3F1Wr9I9jm+kjl66nVpmoE8b0xjuXZkPA0+dxpEaqvFkX/ZDW0PdpdOLb\\\\\\n\",\n       \"9NXRUbqo8vjes4sStNsUBqzAiryklCaWUOe8jXk6TUIxkIuVaXlPDpa2qcn2zSPKutcIOhRwQLp6\\\\\\n\",\n       \"ntx2Fsn0cbou69DXppqw9B3PnxPtNn1v+3b64fbttL3dokYnplWVKn1q+XL37LuDgL7nae93HXss\\\\\\n\",\n       \"rT7mmG5b8+fbjj6avrVjB31/92564WGHdb8DBBa3dR9B6+vvWJdtTUxeRZlcK13n+p1i9AgsrbLS\\\\\\n\",\n       \"7/Ew773vt6Lot2WY/84c9jiDwWAwGAyGfQDfH797cg3DnIYRWAbDXiHcw+OGnWGsSIUR5h4fBImF\\\\\\n\",\n       \"UEZHYcAtlUA+BRZsZ9QSA3hppQLBw8yLUq8gC0mSFD7FVZG1bHOjQf+2aRO9sDZKF46N0ZJSiZ7y\\\\\\n\",\n       \"uMfR+lqN6vU6PfTAA/SB++6jRZUKbWs06MXLltGFCxfSdLtNd0xMUDMNE+/qW+KYbti9mx49suHI\\\\\\n\",\n       \"K8b7T1/vPq+4c2lXs8bfH7G6KLWVravdQGtqP3XHTVKTrp+6hy6ad0aW2BD1EkYhVSqchZWdgU6T\\\\\\n\",\n       \"SL5tUn2lg9w18myhedeWbYp7g42QA+hdUD+IKU3caMUZllMrqU9ZpfOt9H7dJzY1GvSvmzbRtdu2\\\\\\n\",\n       \"OZLylCOX0EnzxqkcRfT0Vu+PkE9v2kR/u2UzvWTZMrogbe87RXvLN6KeZqfNiyK3D3ZDSZzxM/Ks\\\\\\n\",\n       \"hBn1Gfdpuc1TLxGr2lKVXNHkCJLIwvvHGVhJMH/eex3uZf6VjKyX1xxkFZSGXIPBYDAYDIb9D5uF\\\\\\n\",\n       \"0DAMjMAyGA54+FQaMh8LJjrEmfesStpqppVW2v7UJbj4XxAM5qXyBuoUEWzd3ceB3imB5Ztx0Edq\\\\\\n\",\n       \"6HLX5CStu/9+apVKdN6xx9GFu3e753jhymPpF6c/rlsDDz/8MF373e/S1l/+kn64Ywc9fdEiWlKp\\\\\\n\",\n       \"0Mpazf2oQdHzO7fdRk0O7g4CekvzaNp1a4v+OiWvmMTiGrtSKLF4hjqenW7d4ttpzeG/7H7f2uAZ\\\\\\n\",\n       \"dGX5aX3h7ZLECqJOH2E0TMF/FHE14nxgGAWWb5ZBXWRbSwKTQ8377KB6xkG0t9rOdlFJVMq2Hbb9\\\\\\n\",\n       \"75ycpPfddx91wpCeesrx9KTjj6GFo7Xu8z7plw8TTU675TuqkdMH/Ui093G1WtceiOB2xv9dv54W\\\\\\n\",\n       \"l8v0hPHxzPeF4t5CrnA8l8i56uvXQnXG70QQcIh7jvVWvWMys0wqsfiSCfDeyiw7TW5beLvBYDAY\\\\\\n\",\n       \"DAaDwYC/lA0GwwGJvGD3QZahftugVIPI4rOWuX1MFTC5gaRxWfQ2DPY7HReGrmcBRJ6RXO94yr1T\\\\\\n\",\n       \"U/Tn995L44sX0+te/3qad0lvdqzlDz+ceb7ly5fTi178YjrqqKPovqkpetPtt9N/b9pEO1ut7vXY\\\\\\n\",\n       \"YvbRk06ivznpJHrNsmX0V488Qo+7cZT+6NZl3eusPX09/eWqjV2CgxmjdSsfpDUrBXk1eQGt7lyY\\\\\\n\",\n       \"fX4UsY2VXnlEoW4PXd8MX6aVr2204kq3t+/7erPgqX3MkOm29TxbZh+2q+wr2bZ5bSzVefdMTdG7\\\\\\n\",\n       \"77mHDps/Tm9+1tPoWaefnCGvKs0WHZaSV7tGyvRrF5xLRx+2wJ3H7f1V1d743i9s3EjXbN9O71+5\\\\\\n\",\n       \"0vUB3f9cM6fB/d3nEn04t5+n63xFbRnU1lDfO5jNwNLv7Z6/6waDwWAwGAxzAvEsFcOchhFYBsM+\\\\\\n\",\n       \"wd4ONIuycYpycsQZImcpL48nr3QJLN+AHqSHzAtKySvep8kL+e+JJjFQdrfb9N7776cFhx9Ov/OK\\\\\\n\",\n       \"V9DY2BhNjY7S1sMOc/e7aNs2qk1OZp4vDEN6zWteQ8997nOpQURf2bCB/viOO+jRRiNR5AQBLatW\\\\\\n\",\n       \"6fhajX5ryRJ6+oIF9JmNG+nVdy6lNwkS6z0picX3t+7E9bTm5Ae7+9ZuP5dWT53bXxfw6KMe4tjV\\\\\\n\",\n       \"GSvXwrBHZOXlT/kykvIIxcJ2GkCWyEymbKB4cp9dAku2rSS1JHkl9sWCrJRtm7cu+wK3DRNP6+67\\\\\\n\",\n       \"jxbPH6ffu+iJND5S7eu/S3dOdnv4hvljzn73R8+4kH7rCWdSPY7pHzdsoD9K2xvX//KmTfQPGzfS\\\\\\n\",\n       \"B447zuVj6XuQn66vFpFY/KweAte1cwGpmEcQS3Kr+L33vfNy22z8thgMBoPBYDAcWAg6s1MMcxtG\\\\\\n\",\n       \"YBkM+/wV2xevWVGAc/73+ayDmmxxg2wM3hlajSIH+lBecXi7IK/kbHKStPL9Jwnv+/a2bbS92aQX\\\\\\n\",\n       \"veQlVK32yIxHlh/VXT79lltpyYaNie2t+zwBnX322fSc5z6Xpnh7ENCPd+zo+04QHI00L4lJrCsE\\\\\\n\",\n       \"ifXu09fT8t/4Ob0ttRcy1j56Gq3e+rj+gHMd9C3qxBF/KUGo7WUMbNNtUjTr4KBMShBUElKdpe+l\\\\\\n\",\n       \"S3o5klKoqnwB5rLt5T4PUZlnIZRtgPVvbdvmSKxXPeUJVC0rJ3sc06LdU3TMlh3dTRvnj3Xb+/zj\\\\\\n\",\n       \"VtALzzvDtXcg2pvD3f9+wwZ673HH0Smjo4V9r7uOfq4VZ/r5pc+TyUr1HvksmsVkVZ66al/ZBYt/\\\\\\n\",\n       \"FwwGg8FgMBgMhoMBloFlMBzUkANhBLj7CRGt2vGB832Y2AAR06fO6YX39FnLNEHgIw282+KYvr51\\\\\\n\",\n       \"K51yyim0cOHCzP00mQ1Icfy997oyWavRjeecQz8OiO6991464YQT6Oijj6aRSoV2NRp0ZLVK/7xx\\\\\\n\",\n       \"I51Uq9GKSsWRFDfs2kVf37aN3pzOaMff/Zo7l7ofQAS6b6/0nm3t3cfS6p0nEc3LsdXJ4i6YqpmU\\\\\\n\",\n       \"qkrXf1LH/eRhr/6z66h22X6+83yKK/mduHb3+53KTlgItZWwyFIo1Fd5xJC79xzrHoerf2PrVjrz\\\\\\n\",\n       \"6GW0YHQkU0dHbN9Npz2ymWrNXlvwOdVmi+7fso3u2rCFVi1bTMctPoyqpciRYNze/7JxI315wwZ6\\\\\\n\",\n       \"yzHH0BGVCm1uNqlCRPPCkBZEUWEf7CMn0/bstq18B7pvmUtM629k1d6+fsBdOqlyrabclwSTzTBo\\\\\\n\",\n       \"MBgMBoPhAMdsWADNQjjnYQSWwTBn0Bsta7vScPYlQXLALgb2RK5Lq5nYr//N8dnRffayWycm6JHp\\\\\\n\",\n       \"afqV88/P3MvyBx+is2/6mTtG3nptaoou/P73aecZp9N37r+ffvSjH7nZCSuVigtrXzU25sLgr374\\\\\\n\",\n       \"YdrCREYY0jHVKr3tmGPosoULM/f4ujuX0idWbaIdgrxa2Iho9T3LiRYJ9kjXgXx2Zb0Lgh576COQ\\\\\\n\",\n       \"MvUsiCaQV/Ir5TmSANM2Nb296DuTFXXfvnb2PWdK5kBtJ9tUwreObbfu3k0b6nV64YnH9pFX59y/\\\\\\n\",\n       \"gXzg7TuWzqdvbN5K1/7yXqo3W1QpRVQKOnTq+Dh9+uGHHTHGNlSJ1yxdSq9btswbi+D9G0k/t66j\\\\\\n\",\n       \"1Coq26MIg62DZuczGAwGg8FgcH8V8f8F7yUBtbfnGw58GIFlMBz0GKzeGGaw3VVuaQshINRG3WUB\\\\\\n\",\n       \"nwoH2/Ux8rif7dpF88fHaeXKlb176XTonBtv7D6dflo+75I7f0mjl17aZQd27txJ//7v/067p6bo\\\\\\n\",\n       \"d5cupd9butTVSlnM9VZyIdy9a3705Cx5BSXWVUffT1durCTPyrPS1etEExNEtVpSNm0m4sDxkRGi\\\\\\n\",\n       \"0VGisTGi6ohbn65H1JwmihtE0TRRaZKo2iAKOKhrmtVEiROvVk8n/4MrMZ3wrq3EXRrdTCvMeFhO\\\\\\n\",\n       \"PyOicoWoUklUPuUyUW0kXa8QRaNE8QhRq0o0XSWKqm2i6Wmi+jTR7gmiqclkfXKKaPcuoqmppPBM\\\\\\n\",\n       \"kPzsnEHGpd6gNoendzoue6wpbINon1D84yLnyORHmpiepmcetpDOq1Yp2JXmmsUxnf7QpsL2fvK2\\\\\\n\",\n       \"CZp+6hO67b1+xy76i69f68jKj556qvu+Svo93OYj6aevD0oCtc+b6SP2ANgJC5R2ecTjzOyEBoPB\\\\\\n\",\n       \"YDAYDAaDQcMILIPhEIIMdd9rqGBvPdgfVgXMAe7j4+MuzwhYvGkzjTJ5kgM+cqRep6d/99rM9ues\\\\\\n\",\n       \"OCZZaIJOycfVp26hvzwjIU0Y8xsh7awkrNG7Tn2IdtTr9NrbDqe9AZMp8+nAQTMtE0S0dR/+o8Il\\\\\\n\",\n       \"aw7s4bXzFxBxubeXNzYI3N5sK1w0MU1bx5OZCuenwe/cf4ZBruJKT0xwIL1jBoPBYDAYDIcKfP95\\\\\\n\",\n       \"uCfXMMxpWKqrwbBPoGPM9yUGf4dU83i4puGgpSR6yrU9RDvmWd2y165N55NXswFHXp3dI6/++KYl\\\\\\n\",\n       \"9KN/XuU+Ad7PxxkOHHAWFsCzElKaoTYsvL3U58eU22cIzefmKel60JrFfQE9tYLBYDAYDAbDgWkh\\\\\\n\",\n       \"3NtimNswBZbBsFfQCU0z3T+biHP/A8MXaeS9QjwgREtuz1nORspn4ds3HkU0pdRWUyOJymYQ7j12\\\\\\n\",\n       \"JU2yfY/Y5VenH/3ox/TkhQtpebXSNWZFYi5IXv67UzbTX53ZI6/efPNSev2di51q5k/uXEKjUUjv\\\\\\n\",\n       \"OWNDl8QaW7iA3rj1tMQiyH48Ls6bV+2tsxqoXKG4XKZ6M3TWQGcPbDrHXXcCP3Yj8qec1E/mpWM5\\\\\\n\",\n       \"x6XZl5elQ93ZOohZ8PgTdkIuVV4uJ9ZCLtVyhwJ3ow2i6TpRg0sz+ZyaTm6WC9sKuX2a2DdFndRC\\\\\\n\",\n       \"KGcblIVvHfvkDIX8+dNdu2h9u0VPFhlYtUaTjt62e2B718WMhZN8r0Q0pmYsyHvbdARYsuAJEfNV\\\\\\n\",\n       \"tjyeISLDfJBu2+J3bn/+lTXou+wvPoPBYDAYDAbDgQ0jsAyGvQJmI3us/EJaWRF746uGQfc8HnAH\\\\\\n\",\n       \"AQUgBvT0hXKaQxAAQdCtBVnc6aKGdOHtx9dq9F8PPkibNm2iJUsSBdTmJYvdbIMc2O6rWX7SydEa\\\\\\n\",\n       \"/eT88ylOCYif/OQn9LWtW+iUpUuoXCp1rWyci4TlL63aSB8/fWP3Om+5dRm98a6lxLwIW96YNrvq\\\\\\n\",\n       \"vqNpvFajNSfe5475P8feRWPLl9PqsScRjY8TzZtHdNhhySev88yJvDw2RvHYOO3cHdDEREDxFNHk\\\\\\n\",\n       \"zl60FBeOk+I4LeaCmBPCsiS35IR4kshCE2AGQ5d7JUgqR0pVk4guLPPtcUwXl3CMaGQeEXODY2Mx\\\\\\n\",\n       \"zR+PKZhI86127iTasSO5wV27iLZtSz55nbdv357Z156cpE6zSUw7TgtrIq930uV6+tlKSyP9/CVn\\\\\\n\",\n       \"jz3yKP3pWSfTknkJ+cgPevjuKRpptnPbe7oc0daxnjHx5w9vcKH9K0dGun0J/Uz2N2ynnP6XqVyG\\\\\\n\",\n       \"9v/JKR95RsN0H7fVnoDPSwiteD8rNYvwWH+/wWAwGAyGQx42C6FhCJiF0GA4KH/BffOqFQ9Epa0J\\\\\\n\",\n       \"ah+p+klIL55jLSmZwTyIKjm4l/uiqI84kOuaXJDlwgULaF65TNdff33vKcKQbjznnO4T6Sdk/PTx\\\\\\n\",\n       \"53TJK54V7/rrrqNz5s+nxeWy9z7+8cRN9PHTe7lLV9y6jP6/O5Og9wzJFoa0+sGVtPbR07rHril/\\\\\\n\",\n       \"lz4Yf78ndwKDBGKjKNE7hyj01T/UOpKAzMsRl9eR18L+oSAVSPq5tLxL7ENeWV/d5bS93H7BggVO\\\\\\n\",\n       \"NfWju8WMgUFAvzhqcaZ9u8+ffrr96fdye//wrvvpvPnzaVG53FXZ5ZFXelkep/txt17w7GqffD9A\\\\\\n\",\n       \"NKLeURhFQfx+22DeO+07xmAwGAwGg2FuwSyEhmFgBJbBMBT2duDY2YPcm6yyyr9ccLbKV/cVeRyW\\\\\\n\",\n       \"Ox0eoAtyQ3vW5LoY5PvIizxSQ1oJy2FIz1i4kH52003UYBlSiodXHE3fv/BCmmJJkQArr3g77wce\\\\\\n\",\n       \"eOAB2rh5M/3KokV9pAo+T9leo5FW8s1vunUZ/cGdS7336MiZKKLVm0+ltdsSEm00LtN50Yp+UkfU\\\\\\n\",\n       \"BZNpTGzo+pbrvgnuBi13XWtDnFPU7n33wURMIJ5DFk1kqX1M8vnqTto1fW3An7UwpEsOO4x+cu+D\\\\\\n\",\n       \"1OApGFNsWDhON648wimtJHidt/N+4K6NW2jj7gl65uGH99lSi/ogebZnZG1S5ubr+0HybvA7ot+1\\\\\\n\",\n       \"vGVd98Xwzd85/DvvJ7D3RlllhJnBYDAYDAaD4cCBWQgNhqExbJ6V77g8XclMvhuD08HnYtAsy8zU\\\\\\n\",\n       \"PWoQn0dupD62AOudDoVx7CUOJMnRFuw5fzIR8Z9bttB//sd/0PNf8IKuwodJqkeWH+VmJeRgd87G\\\\\\n\",\n       \"YnshlFcMzs/6r//4Dzq6VqMzeDbDHMXNOZvH6cM/OI7uXDhFr7lriZfkABEH0mL1rrOpXB2l86rH\\\\\\n\",\n       \"00WVVVk1mq6TIKROHGQmtJP1L5VTvvqXbeYL2weZxV/F+3TmuI/U0kovfHL7dmKiyNe+UnWUsw9E\\\\\\n\",\n       \"XyDaOk/pJPejB192+OH0/7ZsoX++4RZ68flnddubSaoNC8bcbIMc2M6ZV842KNRtE/UG/fP1t9Ax\\\\\\n\",\n       \"tRE6fWzMaxGMcvpexjrI9y/7s+zTum3Fsqs7j9JN1r9Wyem2Tc/IWSb1ru/Jb0XRet62Ya5lMBgM\\\\\\n\",\n       \"BoPBsI9gsxAahoARWAbDrKKjhs7DIm+gmmc1wkgY8dgoybE+65ImNPSyDBfnbKHM4N0XvCTXOXSp\\\\\\n\",\n       \"UnHkVdhqOQKBSyf9LKV31hYEQyx+gI6sVOiPjj6aPvTzn1OlWqVf//Vf785MyGTVpiOWemttYmKC\\\\\\n\",\n       \"/uGLX6TpnTvpbSecQKUg6H6fDG5HecLmcbpwc0Jy+fY7QgOp5+nzXdk4j2h0YTYlXdZHWkedICE2\\\\\\n\",\n       \"kGMliSusy4wr3369rQjcRDgWzeVrz7xrJyRYQJF+FrSp7znFPg6Aj9rtbjuDlJQkEto5FgQWt81R\\\\\\n\",\n       \"1Sq9fsUK+sj9D1C1FNHljz+9O6sgP8zWcX+I/67pOn3q2uuoXm/Q20V7o8277SjaVm5HcW3Pz8L9\\\\\\n\",\n       \"mPuufFaEimlSC+0ch9RWdTkTK2f23ZSx9/KdHtYavKczGJqyymAwGAwGw4GF2ZhF0GYhnPswAstw\\\\\\n\",\n       \"CKM75d4M9+3N94HS0dukPgXrg+Ab0CLIveNsTlzkIFsTG3oAjn1xKUwG9jx4lwN8Oc0dprNLySsM\\\\\\n\",\n       \"8CUx1PbMAggyS2rKGE9ZuJCmOh36+E9/Sls2b6anPPWpdMIJJ3TVORLNZpNuueUW+t53v0udqSl6\\\\\\n\",\n       \"27HH0tHVavc75PdJO5smMfT+QD6Tfj65LomNdD2mMJcU1IShJrPkfqmSkyoskFS8T5NV2MfX5Nvx\\\\\\n\",\n       \"EZW+73OtJZ4h80x5z54WJrDCdruvrkFaoRfL/XirePlp3N7tNn3y7gdow84JuuTUE+ikIxZT6Gnv\\\\\\n\",\n       \"eqtFP73/EbrmF790MyC+/bjjMu2tiSos++6tq9jCs+rn00Ql+n/a5x1ROcR75GvzToffzaKsq2Hs\\\\\\n\",\n       \"fvJ3Qq7Hs0RuDfruvGtaCLzBYDAYDAaDYd/CCCzDIYx9QVIN+r5gBoNDnYGjc3D0sdmSEFhZ+5LO\\\\\\n\",\n       \"5PGpctxnKfWqYSAvCaw8pQ6rctJsJEkcSDWMJjXkTHC8/xmLFtHh5TJ9bv16+uIXv0iLFi6kx597\\\\\\n\",\n       \"Lh1++OFULpdpenqaHnroIfrZT39K9UaDzp4/n151wglOwSW/KyxS3nhIDSz3PbPv2YV1UtYFm+m0\\\\\\n\",\n       \"GsdX13pbXkaVa1U1C6Hcnne+7/u0jQ33WYpU/lPeM+bUhSQq5bJsc/RISWChDZ51+OG0pFKhzz/6\\\\\\n\",\n       \"KF197XW0eGyUzj/+GFoyb5TKUUTTzRbdt2UbXX/vg1RvtV1I/6tXHktLWe2n2lRPECDbVedzIay/\\\\\\n\",\n       \"8Plk+4r1OCWFi9Rzsk10e/TbA/Pe+aJ33/d7kfebsj9hlkODwWAwGAx78WfE3v4pYX+KzHkYgWUw\\\\\\n\",\n       \"HJDQg1YoLjDwlXYjqbToKTO0pSnPOthsJooRLryMjKQ4TEkpDN6hRJFqFbmPSYVGwymmWnGcsRBq\\\\\\n\",\n       \"UkE+BayFeNLHz5tHZ42P0+2Tk/S1LVvou9/+NrWE74pnLLxs4UL6lcMPd0SGtKuBuPKRV5qwknYz\\\\\\n\",\n       \"dw0ETMlnks+sCQ6hzIlLJep0Ild/qE+/AsefS+Xb7+pDZZZBnCS3SQXWsN+H+yyXIoqjOGud1CSO\\\\\\n\",\n       \"bud0nftFmOZg6XpFm2oCyz2D6OX8mOem7X3H5CR9fcsW+satd7j+A8wvlehZiw535OYRKXEl27yo\\\\\\n\",\n       \"+JR3TqHF9y3VZfLZc543BoHVTohh/d6gHdFmee2ffaf1+41a8b3z+ndhtmB/6RkMBoPBYHjsYRZC\\\\\\n\",\n       \"wzAwAstgmBVgYDko/8pnGcyzCw4KbdcEFyiDZNDb6fRb2jCI1oSVtLvxRICVSkhxFFCAPCAM5KtV\\\\\\n\",\n       \"HNArcp33N5tUqte7yT5lNTTHj44O2AbZ4JK8gsAFdJ82NkbtOKaJdtvZC0ejyM1ix2RT3ux3ZZGB\\\\\\n\",\n       \"BTtZOV3GPnx2l5kB4vvnGQ9HRrL2OX4mPDsID/EZc0kD3GX9om5BFuXZOLXlUOZfSQWWqyvRtXg7\\\\\\n\",\n       \"Nw0shdK+hnWQVQh+56aCa87dKxOVQZi0Mz8fnyyf0bFc5d6+ej1Z5zrii9frVOKLpoQT7KFoa6k5\\\\\\n\",\n       \"RDpcqLa5dgsCetzYmCtMXu1ut6metvcY21LTB5eqPh9pKds1FNvQ/tiX6b+y7+p1SWZxO4clanUC\\\\\\n\",\n       \"V4/aKigJLR9xiO1ZYgpviU9hNZPfAlnjejkPloNlMBgMBoPBYDi4YASWwXBAQKdC+Ugtub8o8Dk5\\\\\\n\",\n       \"lvN2kIGlFViSLNFKkmQ5oFabFTppYLtWI+UN/FPCI2o0KIrjrgIrUmSWHq4zISEzy6XVjMkqvo8F\\\\\\n\",\n       \"Yr+e+c6nrsqzEYLEwD73yYyPfBb+lM8ln10TG+UytduBqzOQVbKgnrP1myW1tAVNWs8APfMgQtxl\\\\\\n\",\n       \"kDvIKkya5wL5o+x3Z+8tcORdqFVIKRGZIfJ4HfWSPgQTX1H6gCAn0UtBp/qISzwW6JtA9vwgoMP4\\\\\\n\",\n       \"HlRb6xkGfblXcr2cp8DjipLkpI+80mrDlMhtpe2s21ISWTrEX9oK+Z3MnxXQp6osOrYoS8tgMBgM\\\\\\n\",\n       \"BoPhIAP/neT+VtrLaxjmNIzAMhgeE/hmGcNn0cBVF985yQBX5iEVzXwnB94ZIosJrCjHPqhVOkJ9\\\\\\n\",\n       \"xaRGMDVFpQ7fQ+xICqnMaRXoTaDYAalRNIzXmUcgrDSRlSGqPGQX2+cyM9JpIqPIYpbayliV4yMx\\\\\\n\",\n       \"ZB3rEHWfAktmVUmbYN+zBz3SSiuwNEnJt5t3D669o8DlTXmtk3qbJCpTtVZYr1OHLaOdTl8eVslD\\\\\\n\",\n       \"z2CuTK3Ak0SWr6197Z1HXknlnWx/R9aBrPS1s6/du5MYMIGVT1zl2XWlrTAhJH2WQN/6ML8DeW+R\\\\\\n\",\n       \"wWAwGAwGw0EGy8AyDAEjsAyGx9xyiKG7b79eltBKjWzyUDJ4jjOKEbY+cZGKIJmJJFVD/FmrlSnm\\\\\\n\",\n       \"Ged4UM+2senp3k450Nf7Gg0Kp6ep3Gr1acTKSj0VK2WNNFgVEVg6vFsSU9pC5rOYda1mIC74Gbgw\\\\\\n\",\n       \"EYdPPCNbC/XzVquubqhcodZEkKlf1KNe15YyrYzS5EdhD0qDwpnE4k9MJChnIZSKLL4PeQzuqVQK\\\\\\n\",\n       \"KK4mzxZAXTU52SN0+Nm5bUFS8rPDD8fL3NZcl41GxhAn1XWyndFmILrkOTct3k13LJyiF9y1ZCgC\\\\\\n\",\n       \"i9vzH07cRI/bXqMnbR7PklXKQsjFEZVoZ9nWMtdN72PrYLqvOdWvYpPvEAgt2eY9WyG/k1JFCSpP\\\\\\n\",\n       \"51353vOi3wKdp2UElsFgMBgMBoNhbsIILINhjyF1JHn7MfiM9vD6vqBnPQgOc/Z1qN0OqdnsqYNA\\\\\\n\",\n       \"kCTERY9ggahGky6dsRKFJaW4AhOCHCQGfwGTHPgCJjXabRfwXWq3M0PqWBAXgUeVI59EcjhyaA+D\\\\\\n\",\n       \"pW+GOUlg8XJFkRlYdxYzKK9GR4nGxhKyBjlYWMa63JYqdeJSmRrNgKbryePLuvORGHqfVuzIdgJB\\\\\\n\",\n       \"BRshE1WwDfIxEE3J80FY4XhuJnwvSCvej3vg5eS4gColJipT9oWfUYZ48bNDGjY11Wv39AG5naN2\\\\\\n\",\n       \"m8rpdpkEh3ZBu3cUcYVe/NPFu+ntF9xL06WY4jCml965NNPWDD3T5BdWbaT/e/p6GmkF9IkfHEcX\\\\\\n\",\n       \"bB7PqK9QHLEVRUlwOz+LbGsuvM5F55+Jz05Y8pKSeUSlbNOkrTVZJd9h+alD3GeSa5X3OyLJskHH\\\\\\n\",\n       \"GgwGg8FgMOx/uL8f9/JPkf01t7zhsYMRWAbDXpNXUmviC2qH/kQTXv22v6yJymcr8s1MRooKaHVN\\\\\\n\",\n       \"e2zhkzZCmceki85najQCanAMUlSikh7QQ7GEC4IYAOFRrVKQeqZAYMlhuKwtEsQGiaG21qXJp5WZ\\\\\\n\",\n       \"SD4boS/zStsIXe4V36dUW0mVkS/oW6qwymWKo3Jf9lVevWrVm1Zh+fKwfAQWMrCwjc8FmJACkQVb\\\\\\n\",\n       \"IULd9T0x4ZI4IJngjKkc8TO1e88oQ919y3zxtB8EbBdlC+H0NHV42dOGkriStkFsv3PhlCOvGJ88\\\\\\n\",\n       \"fb1ro5fduTRjNZTt/HcpecXg825bOEVPUwSWVGIxeeXaGm2LdpcB/bLdRZ9vO/IqCW/3Z8b12wrx\\\\\\n\",\n       \"2bMPSpUkin6PfSSXfGv0b8Iw6iz9e5L3nb43zWAwGAwGg2E/Qf7huzfXMMxpGIFlMOw1NIFFOYSV\\\\\\n\",\n       \"j6DKy7/R0dbQGelj9HlS1ZFQBTrnKm/Qre1sGKxHpZKbac/Zy3hAD0kPD/bB2oD0gX8qJbOcMqfR\\\\\\n\",\n       \"cOSGrAVdW5LYQI4SAuDzdCOS0JAWRF+wd1/hmQyZvdF2MhQQGTrMXWxjW1knKlEz65zMrVtdz3K2\\\\\\n\",\n       \"Qkl8yMwyH6CwksQWAJUVjkOIOwgsKO+kKovXkyYsUUipjRCzTcp8M9wkK5Zws6grbmsmsNgymtoL\\\\\\n\",\n       \"9RuAZanOktqgV9y1hDphTH+TklKfSEmsl6ckliQsJXnFePOty+j371rSbfu+2Sa5AvLaWQa56/3c\\\\\\n\",\n       \"zpUKdYKe+qqIrPSRlr3sK0leaeuvJpeKtvmOyVvXlsRBJJfBYDAYDAaDwXDgwjfVmcFgyIUvo2Ym\\\\\\n\",\n       \"yBtA5h3bbwssLnJw3HZqGD2glpYnXdgGxw6xej05jpdbVKIYg3tpucKytt/x8vh415YVjI1RKYoc\\\\\\n\",\n       \"mVBNLXzVgsL7RwYcUxXHlNNlnFfJuRbsg1wiZm7UfXYLPw8/B/bxunz2lAhpUpnqjaCvznidl7Wd\\\\\\n\",\n       \"0JePpXOUQCwNU2R7+q7pO4e3873xPeJe+d6npwOq1wPX1n12SV5GG3OdyDaXJa0vVuuhntHmee2C\\\\\\n\",\n       \"Txz3+3cupT+8dVn3DWAy64urNmba/fOrNtJfCfLqLbcuozfeubSvD+GT+57vPrvt7LMTps8dc6lW\\\\\\n\",\n       \"Xb1wPcn6k5ZRXz1rMovfxay+UFoGfes+W3DRb8Wg35n9/VtnMBgMBoPBMDzYPjgbZab46Ec/Ssce\\\\\\n\",\n       \"eyyNjIzQE5/4RLruuutyj7366qvpqU99Kh122GGuPOMZzyg83jD7MAWW4RCHtPv59u2Jo1orr3zw\\\\\\n\",\n       \"fackqWT0tVZT5JFXLWFbTLbFMedgdZz9iQvUN1DiYEAOJQ4Pvnkdk68lDqqAAgqpBiIDEiFelpIh\\\\\\n\",\n       \"PhngL+HtrHyJ40Qh1WhQUK9nspCQXaVNVXlGSYlBFkIsd/OuUjIjqNUSlRFIKklc8DOB2JDqLEF4\\\\\\n\",\n       \"OFKjXKFmPXLEjyQysKwJJa5TEFw+skmSUXIGQlgJGVyVXLTFEJ84pls/QfKdsB5CccXHMKfD9yqX\\\\\\n\",\n       \"K5WAgmqJomrgrHawgHZvDF/GdcOfmAIR0yDyhViJxdtLJSpPT7tr8KPA5cg9tJO2CZaxjrZ+3Z1L\\\\\\n\",\n       \"3fpfpiTVX5++3q3/3p1L6ZOrNtKHBXn1pyl5JVVXst1DtohyJ543r0dMgXyTBBbaXZKV6XK9GXbb\\\\\\n\",\n       \"GQUEZV7bZjPPkvB2fhf976wv90q+6z6FZd7b4VNd+TDTv+60DVFjT/O5DAaDwWAwGMSfGXv758QM\\\\\\n\",\n       \"z//yl79MV1xxBX384x935NWHP/xhuuyyy+iOO+6gpUuTPFaJ73znO/SSl7yELrjgAkd4ve9976Nn\\\\\\n\",\n       \"PvOZ9POf/5yWL19uTbkfYASWwVD4SzcMGbUnx+sBYZ4qSw9efdk1WqGRVWIlJFaUyViSlkKpFPFZ\\\\\\n\",\n       \"CDFTXaVSppCthHIWQljLEPzNSEPcuyRH6pVjYiNkSyEvdzqZgHZJQOnhuW84LgPC5SyE0kKIbY68\\\\\\n\",\n       \"CgKXecWEhrtPfIKskJ86A0vnYXEmUhxRsxV4VVZ5Ae7acqbrX7cNSCnhvuxWaaanpDMRpryRuxay\\\\\\n\",\n       \"skBUIrgdIe5c9KyESag7t3OUZJ7JvDOuExBZsIryF+PBMBViSmIGfFFua2Z2BMOG3Cs5A6XUDOJR\\\\\\n\",\n       \"/7+UlPqLlKxiMutTqzbRTg6ZT7H61mX0R+lxOuss5LYulRKiEsSrVFnJ4rMSwjoYlanZ6GWcSXVV\\\\\\n\",\n       \"npVQ5puhjRPySr6bkoga9v32/Vb4tg/7l9ueklizcS2DwWAwGAyGxx4f+tCH6LWvfS296lWvcutM\\\\\\n\",\n       \"ZP33f/83ffrTn6bVq1f3Hf/FL34xs/7JT36S/vmf/5muueYaevnLX77f7vtQhhFYBsNjBgxiI/GZ\\\\\\n\",\n       \"d1xe8dE9Us+UqLI6nahv0A0FlpyRjsfu2AZlCY/pS6WQ2iNlCsqchZUyLM5fmOQddUfvYFd4WUqC\\\\\\n\",\n       \"+BhWP7GVcPfuZO5EVusMUGDppwdkJpKehRDElSQ2mMwIYRvUKhuQG3kkhyC12E4WV6pu1kFpE0Tx\\\\\\n\",\n       \"bcvLSvKRHxA8SRUWACILGVjYBqKLPzGrIAgsfA8EUlwF2AelHS/zdl7n5RITXClhxURjl5yEAgsy\\\\\\n\",\n       \"MdwAFFiinV1bg1RsNinkmQpFG6ONpHlO9+w/TMmp96UkliSv3qbIq0xbc74ZbINoZ6240mo72c4p\\\\\\n\",\n       \"qRWXq9QOKxlbKJRWsr01kaVVdUn74F2UPT3vHc4redBqLYPBYDAYDIaDD5ydy2Vvr8HYuXNnZnu1\\\\\\n\",\n       \"WnVFotFo0A033EBr1qzpbuO/I9kW+MMf/nCo75ucnKRms0mLFi3aq/s2DA8jsAyGPcawFkMMMKEv\\\\\\n\",\n       \"itWr1+7OGtgb3mO4D80K6ACdmdNS+7CeHRjzYBsWNJ/yRloImZcCCZKQVymxUSIaGx2lsJxugGUw\\\\\\n\",\n       \"tQl2GRRMf8fLfAFex8VSlUs4PU1hvU6l6emMiarIQqhrG7WkrYRdIoMVX3wPUl0D8gKqG7aWgbzg\\\\\\n\",\n       \"ZS4gPXgZJEeam9QuVanZLtHEBLKjkk9fAZmlM7Ek6SFD36XyCiSW/jccrj0Z0C4thbIpdOC7tCCi\\\\\\n\",\n       \"2cA7oX27zcgWwEotCT8HcSUvINuW98Nzyuto57RTBY2GU2K5GQrbberEcZfK8dE2ss2vuHMpfXzV\\\\\\n\",\n       \"JtohyKsFjYjecufSbltL62hGQSdtoNzmsm2Rg6WzzkRGVqdUoalJfztLq2he1pks/T0a765+l30U\\\\\\n\",\n       \"rn7ntZILvyESPoKsCDNVbxkMPfzrnbfQ/HkHZ6TqZUed/VjfgsFgMBiAYf5kGYT0/BUrVmQ2v/Od\\\\\\n\",\n       \"76R3vetdmW2bN2+mdrtNRxxxRGY7r99+++1Dfd2f/umf0lFHHeVIL8P+gRFYBsOMoTOqJGEk/4jH\\\\\\n\",\n       \"YFDOPCj3Sbth3rq8rqZ2sM2n6GiJRKA2xXGb2u2Qms3QDaiZY2AOAqQVbGZwjGEf8rESgoMztEKK\\\\\\n\",\n       \"g4jKfBAP/iETAgsD8LLIRUp+bXokR8DLqR0vYoVOu+1mKoyY4FDWMl2bqFFSsxB2l6PIEVf8GeA+\\\\\\n\",\n       \"8WBSiSOtZdpmppQ5ca2WkFdx5ILbEeQNogrFR1BpRZvPjgYhm1Rf5RFY4JAktwTiCVwhgHXwjeAX\\\\\\n\",\n       \"obqS5CSX5Jzk+ajCnaBKpVoqK3KNkNoGwXCCdcOFQWJCCsb3DDsitwvnoLGyq92mUtrWOv1JtvVf\\\\\\n\",\n       \"rtqYIa8YvP6RVRvpT5nE4jbm/sSf/B1y9kgQlVhmYkoSWnmWwkqFmnGJGvUwQ1jJ9tVFqu9k23L+\\\\\\n\",\n       \"XGIf1KpISdvpmQnzMu6KbIb6N0P/1uhjAR9FPBsBFAaDwWAwGAyPHR588EGaP39+d12rr2YD69at\\\\\\n\",\n       \"oy996UsuF4vzsAz7B0ZgGQyzlm0lSShJXg06Pm/Zp0vJOwaDZEl0Zdfb7aAvi0nan3TAOPMBIF56\\\\\\n\",\n       \"5FZAYSWkyFkJq0nQt4/AQi4SSA73a5OyJFKxw6RGyurEnI2FGPo4dnlZ/ImnlUCtulytlChxiqsg\\\\\\n\",\n       \"SMgxmd8EAov/4fIFdcsMLG0dTGeio+oItalEzVbYR1j4LINQVumZBrXVTCqvQGKhcPC3D5xTBbKK\\\\\\n\",\n       \"j+PHBWkFckoqsMAtQXGXp8TrEZWwE0YU8v4q10MjkWTDLgpSEjcOpgyBXDJNHu3ObcNEE9sJ0/7B\\\\\\n\",\n       \"aiwujI5q779YtZGuEoHtCxsRbU/JrHecvp6iMKA1963otbfOLpMElp5JMscq6iyi5Qq12mGGqNTW\\\\\\n\",\n       \"wbyZJHXeWdKG8n3Mm3kwL+tqkKVQk01F/2056Nyi8wwGg8FgMBgOHgshk1eSwPJh8eLFLnZiw4YN\\\\\\n\",\n       \"me28vmxZb1ZsH/7iL/7CEVj/8z//Q2eeeeZe3bNhZjACy2CYFfJKH08zCHOHmkoOdn3nyoEvLIY6\\\\\\n\",\n       \"SQh6JLnOxFLLEVi83khDqWWYNwQz4AJ4GZlYIEDACYVhiUoc9D06SjHUVDqECcwKZD78iSncMD0e\\\\\\n\",\n       \"GJQ0eMtZzRD+jsDwlPxyQ23xD5ojrcDEyBsE0yZDyBHUzetidjlXtCoH66mF0JFXIyPUqdZoaldP\\\\\\n\",\n       \"dcUWQjkr3eRkj+jg/SC4sN83+6BfgRWL/CsfwRBkBE9MZoHwQjO4niJEb5rQksejqaC4A8AzdkYi\\\\\\n\",\n       \"Ks0bobDVStoaF0BnwYXRzrIT4aJgQbkt0od2BBa3d6vlipSdsRJv3UkbHEkFrP35Mlp95xG07uRN\\\\\\n\",\n       \"tOa0R9y2t532KIW1Gq3esKrX1jKIXbetbHfYBWEVFW3djqpUr2fJK9nWKFqZ1U9s8eyDUEPK/Cut\\\\\\n\",\n       \"yPIRWnJ73m+GVE/NJP9qT/4wNBLLYDAYDAbDPsZsiMBncH6lUqFzzz3XBbBffvnlblun03Hrb3jD\\\\\\n\",\n       \"G3LPe//730/vec976Otf/zqdd955e3nDhpnCCCyDwUGSP/sCMt8KseWYN49UiLu0KEoVlSSmulol\\\\\\n\",\n       \"NaDFvpZICGp27YRxzORVyQ28wT3wWB8KHvA+3R+I9BcCljXwF3zuOOdhBVESmA2VFYgL6UeEPxHk\\\\\\n\",\n       \"AhLDERAlR/0gsPR0fGw701UKwgRsDpQ+IDM0gQViA4os5B9hv85JGhtLrINRlaYmEtIKpAUXrMvM\\\\\\n\",\n       \"K5mPJG2GOh/Jl4GV1CssZ+gzPiQkVqcTutklocSSsxWibcUkkA7yWM07MnAc70P1s6WwNjJGUbnU\\\\\\n\",\n       \"nV2wW7eS6UQmFkhJ1DEqg+u1mL1z137fUffQW0/okVfvvfs4Wr3lOKLFAa3efgTRA+O05pg73b41\\\\\\n\",\n       \"x91DND6PVu86K/leaSGUswzq8H5koYHQ5Myrygh1SlXaPZEQkiAq0c67dydF9gEfqZWotZiIlJZB\\\\\\n\",\n       \"fgfluiavtJrSZx/05WPh90LCN8vhvgK+x2AwGAwGg+HgwxVXXEGveMUrHBF1/vnn04c//GGamJjo\\\\\\n\",\n       \"zkrIMwsuX76c1q5d69bf97730Tve8Q76+7//ezr22GNp/frkb9bx8XFXDPseRmAZDLOCPOsgBqU6\\\\\\n\",\n       \"G8uXdZVnH5Ih8L6Brgx71wUEWDL45f9VAGfAvAO4BHBMEMuArIJ9UJNbbN3jTKwRnt2vOkLBaDqF\\\\\\n\",\n       \"HgCVjpT/4EvgWeMvw6dkdMCcIAiKZyuU7AwAtZcksKAEAoEFC5lUYEGFA2UOgr9F7lWcfrao7HLD\\\\\\n\",\n       \"pOIGRc886Atq9806iO29nCQmO7joRKgiMBkJy11IrRbbCtPMqdS5KUVqvIx7ABDsD0Ec1FpajZVw\\\\\\n\",\n       \"kiGVwzKVa0nbum+CPVSG96OduYJkW4NclF486bVLCax1S++gNUfd2/3utQ+dQqu3nUg0nj5IGCZk\\\\\\n\",\n       \"1cYRWrP0ZnfMmiU/c221uvWkpC3R7npmQanAkoQWKwnZIhqUqN4Iu+SVDm+X3JvOMpN8HD6z2Vd5\\\\\\n\",\n       \"UxT4rIU+e7AvAyvvt0Pu676Qqv/o6xgMBoPBYDA8xpAzEe3NNWaAF73oRbRp0yZHSjEZdfbZZ9PX\\\\\\n\",\n       \"vva1brD7Aw884GYmBD72sY+52Qtf+MIXDgyJN+wbGIFlMOw1NCGVF9zuO09/ymUZ1C4JKr0vVDMQ\\\\\\n\",\n       \"9s9CKPe3WrEbZLOyRoe4ayJD2gt5MC/VWY7YGCtTUAopqo26fzA4ULtPssWQRAbUWfhiyfSACZBZ\\\\\\n\",\n       \"SzKlHJDsjGRdQGKhQAmEApKKl2Elk7YyJq+cSmeU2qURatQDL3klSSxfFpYvH0kLj5JtCXnVax9N\\\\\\n\",\n       \"Wualf6HPMSlZcmqshOMLvJNCMlD1qD45M6UMcYcLMNPOLLyqMlkZUVRLiDMmMbuyL/lFsq0RtiXb\\\\\\n\",\n       \"xRca1W7TB+fdSmsW39b93rUbz6TVu08jmqfYuFKJVjfOJ9pVozXzfuyOXTP+Iyq3x+nK6tOz2Wdy\\\\\\n\",\n       \"VkJkYomg/m5blyvUbEQZwgptrIlJWbSSLnmkOFWy+SyCUk2lA919n3n7fL8XRbr7ot8aXz8zGAwG\\\\\\n\",\n       \"g8Fg2L8IOEp1L/8k2ZPz2S6YZxnkgHaJ++67b09vzTBLMALLYNgj+JRVvmNmkoUl82xw3TwSC8uS\\\\\\n\",\n       \"7ODXWZIhcq4+SW41qF4vdxU74BmkmMnddbouZ7jjAmEUbGYjIyGNjY5ShAB1SVIxA8CfLGvRVjJp\\\\\\n\",\n       \"IfQRWNJC6Kqi0x8SjpvC1IkyrIvvQxNYcnY6XmepL5aRi1SpUqdSpYndPQXOrl29nCvYyUBuwGaG\\\\\\n\",\n       \"x4NaB4+HR8S+niKLiSBp99Iz0el+Eag2hY00ISw7nYAajVI3Ix92wF6mVteN2c3RAk+IKkaoPENW\\\\\\n\",\n       \"PyYf5PXx8VryP1FyukpuU0xZyeQQlrluJbPH233t3GjQeeFKGo1/RpNBi9bufhKtjh9PtCjo75Bp\\\\\\n\",\n       \"WV26lAXbtIauoVEq03njq4jGD8sSWLJtpfIuzcdyyqtyLZNpJq2i0iaqLaN5mViNBldmU2RftZSV\\\\\\n\",\n       \"sJVjDcyzD/r6hK9/zOQ3Jg9mBzQYDAaDwWAwHLgwAstgGAozIaOKrqGD1rW1MI+8IhX0jvMx859e\\\\\\n\",\n       \"b6m8LTFDIEUuO4ltZ81mEujOfIImsCS5JYU2EEXx9oSMSeqkVq1SqRZRhGwqEEZQ43jCvLsBUZLA\\\\\\n\",\n       \"EtbB7rJPgaXtg4LcyMxCKAsIDElgpblJLu+qNELNOKL6riBDZDB5xesgoWAzkySVVudoAksqslh1\\\\\\n\",\n       \"lZBXIDO0hWwmBBby09hWyNUYOXISpCMmDwRQnbItobJDdeM8kFmwICZWRaJqpUxlDvJH3eNh4UeE\\\\\\n\",\n       \"hVN6LbVETVpFWy26qLOQvtoep+vpEbqy+kQizHYs/ZBo73R5deU3qNycR+dVj6OLxh6XkFZyRkId\\\\\\n\",\n       \"3g876dgYtctValGJpiaDLiEpiSoQWGh39AOflbQnKENwezslq0BYtQsysPC7IIktaRmUmVc6+0qr\\\\\\n\",\n       \"qDQRdiCkqRoMBoPBYDAcmBZCw8EHI7AMhqFJKmkVHLRfH+vLxsKnVl/5rEHYh+ILcJeEl87IkllY\\\\\\n\",\n       \"PFBm2xkPuEsZmyBcXnqGQvdjUUoG7xBB6RDwMIyogwnoRikJ/JZB69KrCCIDyymJkSE2RLB3l3XJ\\\\\\n\",\n       \"sxBKAstnIwShBQJLBX3HlQq1owo1OpHLQdIzC+rZ6GTulYx1ypuRDoqrxBWJvCvfTHSafMgjsKD+\\\\\\n\",\n       \"k/0nmRQgIasSgitR1iXnSEcnmgTViNwz7EOzMVCtUokXxxHFFT6wSlEtVd7xCZB/yU6EugexJe2D\\\\\\n\",\n       \"gsDiG7+oczpd1DnN39aSsBTXvrL03N53om3R1iAqYRFlotKprhKistmK+vKudDtj3WcRlSV5BE1S\\\\\\n\",\n       \"5WVc+RRXvtwr3Q98dsJBWVi+36mi/XnH+vbZH4kGg8FgMBhmBwFH6O7l/7/t7fmGAx9GYBkMs6Ky\\\\\\n\",\n       \"0tlXIBQArbbS58r9vowrPXCFwgpqLAySQXJI8grEFVQ7iTqk3S47MiVRWQVd4kJmIfGA3t19qsqR\\\\\\n\",\n       \"sUcgPEBoMarViKgWUjjG5FES2h1IOyGIBoz6ocZiEgPkFYgNOX0eA3IghmZiQJjA2iaDw30KrHKZ\\\\\\n\",\n       \"YqfSSXKSOlGZGs2QJtUsgyCkfKHecp/Mw9KZSQm5kZBXzabMI/NlIPnICQmdcSb7Ru+cTidyuVhJ\\\\\\n\",\n       \"6GRiL4SQCdwQuD9AZmfptoV1lAuUWu12SDRapupIiUKu7zAhlQKQVKhzVAbXt0y0x4yTsu1xc762\\\\\\n\",\n       \"ZuikeW1Z1ZZRobiL8VkZccrDqemgawGVbcvEpQxy13lYWmWXLMfuMwlu14orH1GZR2DifF/mVR5h\\\\\\n\",\n       \"pZVYGp2C9b0hoIzAMhgMBoPBYDDsXxiBZTDsFUAgFam2ZkqK8YA2UsSEJKZwPbkP94KBv7wnmZUk\\\\\\n\",\n       \"1xO+YHq63EdE6SwkxBWBU8K6nnGPOQMe8I+PB1Sp1Kg0WqUyEwe8EdlIsA2m2Ud9FkJtH0TR0CHu\\\\\\n\",\n       \"vgwsTWBBdeWOqVIrYAVaQHVBWEBxI4kLZCTh9iW5hX3gaXwZWAnhI8kJH4Ell9GePoSqHUuZNv3/\\\\\\n\",\n       \"2zsTILmq6o2f7lkCIWHfDCQQIgoIBiEmglioRIJSlLhSihpAo1igYHABRBG1jBsaQBRRWUqlQETc\\\\\\n\",\n       \"QARRUBREES1BgyJELDEBXCDg38xM9/vXuS9n+syZc997vcz09v2qOvP2d987N939vv7OuaTqs23c\\\\\\n\",\n       \"OEhjY+UJDioRosIZqnrUvJpBSrbTo+pxGCVsNVdaKS01NTxMwzOHaJBnRjZ1CK3y2dRBr9ZZPbHW\\\\\\n\",\n       \"tc908X49LzWwWKzkESXLwzRWLdPIk0RPboofv3R6KF8T1zuTpvNyXi9x51RDia8Vt5JEpwyOmBpY\\\\\\n\",\n       \"+jVawKEl8xRxaSmBryViE8QoAAAAALQZpBCCAkDAAmDaa2HpmlZ22tbE0jWvRLSSv9pVVcpxYNmi\\\\\\n\",\n       \"7qPj0+ykGR1N62WJSyes2ZRaph1Y2qXDGoHO8mNSsSM9QDDDDJWpMjhEQ+zKGh5L3TlSYVw7cUQl\\\\\\n\",\n       \"0wKWPriXz67TCHX9KxEzHAGLUwWT4RlUoQEaq5RpI4tXG9M6YFakEnFC173SListWomIp5056eVw\\\\\\n\",\n       \"TSSdMqjdObbmkR6FUPqJ58DSfdDWR7MphXwb0/pYIyPsyJrowJLYipFN1zoTEUuWqQEDJxjluN5W\\\\\\n\",\n       \"COUYC1kDNDi4GQ0MDlFZnHE6307HXQ6gR5u0qaI61jqFUAtY4r6zzrtNqaHV8iCNVgfC9Y+M1lxX\\\\\\n\",\n       \"WoCUdFHtqNPF2a2zTguc7Kqr1b0SgariFHGPubD0/3Nb0N26rPJqXrWq/hVSAwEAAAAwzbTi9zR8\\\\\\n\",\n       \"hel5IGAB4L5zTkUdLL1Mn8ereWXrXHlpQ547S6cUSvodH2cgUhNrjJKkHESnUikJbiTJ0pLSUrYW\\\\\\n\",\n       \"EiPphtowU0stq02PDZeoutkgJTMGaXBwINTJ4hdVxqgkIoYWsHQqmR2F0GKLe+s6WCJqbKqDFYSr\\\\\\n\",\n       \"gSGqDg5StTxEo2Ms6NTcNOLE0SKGTQ3Uta+0kGVNRjWzURJeE8UNL71M3Fc2HSwpIGCJGDm4ad+0\\\\\\n\",\n       \"DpbeVxdj51RRGX1SpwlKeqgebVIX65fUUR2KyeIWH3sgpJEmHOdhrsE1SKWhUSqJO0q77awS5hXr\\\\\\n\",\n       \"t/GW+OrUUS1gDQ5SEuYHqTrE4tUQjXFR/tGJsdRipKQL6nja2mdeemgtNVQX5I+lDGalEnqv2P/7\\\\\\n\",\n       \"rNpXts+g/hUAAAAAAOgtIGABMAkRj5qthWWPk5duqI9hnTU6VVAfX6cSDah5mZbzibAhx9SjEpao\\\\\\n\",\n       \"UuHi3+kIc6n7hpdNHsVOj1Qn6YTykpRC1hEk5UzSzvjBf2hokIaHB2nzWZtRuTpGCRe8VlXOS3IQ\\\\\\n\",\n       \"K2DFXDleWtkmUSPRbiwu0M4jLybswpkoQugsNytQcSqZdtywU0euxbqz7DGl5lWlooUNSR3TaWKj\\\\\\n\",\n       \"GU6aLES80iKo7R8T3TyVymBIKWRHmIwmqLUkm7WpUw21vijzuh67ZGdK/IeHyzRjxgwaHp5BAzPC\\\\\\n\",\n       \"3a85sCoVKum6V0XSRbVQqQWscnmTYKUcWDyYQHkwFSfVCJC6OLsWLsWNZZ13XiF/3jbdL9kkiIl4\\\\\\n\",\n       \"NRoZdVCnimrBUgtZVtjSKYS2PxTtH5Th2PLW1YM+DgAAAABAayglSXg1ewzQ20DAAqBpajWHstfb\\\\\\n\",\n       \"UeTkQVTcUVqAkGPpB0Vd50jEKb2fiFIl5egRdEF5Qc6fimxJwg6sIRoYSEeyk9QyLXIwunwRL+eH\\\\\\n\",\n       \"+y22SOdloDntbpFSRJLZl9ZyH6CB8gANDQ3R4OzNqUwJt6DmxiriwAq3abKAxYIGH63CqW2VEo3+\\\\\\n\",\n       \"L00R1KMCamFK0v+040qLWzq9MCZ86XU8zSmDaUHvEUfIqBYs4J6FrmuWpn/W+gO/radpg7W+ljq0\\\\\\n\",\n       \"Up2IHXdpf7C3WGuGIkxJ7KUOO6/TNdJ5OxnssSZg1fSkoaHyptcgDQ4nNFDaFOuYgBW9ZMeBxc46\\\\\\n\",\n       \"HnmROI2xRKMbU+F1rFIrtSZ9VOa9eNWEqYmxFgFLv2oiKItXOr4jSsCSv95LC1d6Xru19P9R/ZJ4\\\\\\n\",\n       \"xupieaJVXl+CGAUAAACADgA1sEABIGAB0BBFUwltzSybHhjbhpQ4ZdMGyaQX6uPZQu66vhIZgYtM\\\\\\n\",\n       \"fSx+IC/RyMjgJkGjNK4VhDk1Gp0UfBftQZxZuiC4uHREDJFsL14+NJQee3g4TVkcKCdU5ldpmMoD\\\\\\n\",\n       \"6XWVB9l5ld6PsnOrqyHbrEQhI65UpmpSTvWP0YEgZlSqqZihyy/pWuLeiIEicsi0Lcaut7OphLWa\\\\\\n\",\n       \"V9pN44kWejomUGgRw/YPUkX+JYZlp0/pdEI5Tjmk+bELa2QkXa+L92sNyaaHciy1tihxFkFLhE4r\\\\\\n\",\n       \"ZHGs0wzCNOYc68FB3pGoXBpK4zxQpVJoRzzW4Vq4z20S66qlElVHebTFNNYSX2lHWp+qJlrGBEgd\\\\\\n\",\n       \"T13zKp46yqmhLFDGHFbafTUWqXWm3VZeWmAsnVD3EcpIG7QiaF5qoQa/XAIAAAAAgM4EAhYAdVNv\\\\\\n\",\n       \"HSwy2ycFj0HGYeXVydI1r2wKWaIemHV6oXbvSHqhHDeth8UihwhWInKImKWFDREztKgh81KrW4Qt\\\\\\n\",\n       \"XQZJam3XShhxvSQeuTAtNC4vXebKIueRDENxD4loJeKaiGrivvGcWFqk8gQsXbRdprUw8r//pSmD\\\\\\n\",\n       \"nDo4OYVMCxYybdPE9KhzVmzQoqVXX01qnOl+pQWMsrNuIBTur9XHSo8l91PqYek4izAk+3Dc5B7r\\\\\\n\",\n       \"VFItVrL7Tg8SmBrlSpvErHR0ROlXZWWssujyWDrT0MZZx1riYwUsO0CiFiclhdD2CxGu0mVS1yzm\\\\\\n\",\n       \"rsqLeyxt0ApW9v+8V8g99t5ht/GcWXnHAAAAAACYRlpRpQBfYXoeCFgAuIgwVK5zn6ztPTHLphF6\\\\\\n\",\n       \"KYVlVXRd/moxQo6t3TbirEoiAocWNaQdtU8MfkD/73+HQm0snWYmLhdJJeN5FibkYV+nkknaIAsC\\\\\\n\",\n       \"nGqmBatJZYtUFqCsC1exScTS01pY0fWaiggb/NKpZSJWWWFKthNnlU07S+tcyf5JeKWOHH6NGOFi\\\\\\n\",\n       \"RMXWOnJsGmFRAUuno4o4OaD6jsRXttWOLtmWr4HdWDUnFl+TFOfXKYQ27jzN28l9kxpYEttNgwCG\\\\\\n\",\n       \"+zRRqKwNHuiVMBOh0ou1ntZ113TKox3oUGIpsdPphDa2Wri062pOrMSkCY6oaV3/yhO0tFDpLdNi\\\\\\n\",\n       \"pufCykoZlGma4vTBovW3AAAAAADqAzWwQBEgYAHQEPohznNSJTnili3wnoVs66UQirtK19gSkUva\\\\\\n\",\n       \"od1XImiNmmPZNvNbAztOhsNcWuS9li6mXVfixOEXT4vrSgQtfqVF3GtpZTJgoHbmyMiGImhYN44I\\\\\\n\",\n       \"WaGlyURRwys+Li8+t67jFEsz0w4dcenodTKvXVlpsfaKEq9EzLDpZFbIkNjFBAqJh46JLsof7oiT\\\\\\n\",\n       \"Nig1sLT4IcKWxFxErjTOXKuL0wmr1TT1kuOjHXVebCWucn+ktpkIlfwSYUvizAKXOK7kpQWsvFin\\\\\\n\",\n       \"/bDWNhFQZV7EKmm3The1f21srTg52ZXH/xcSJVjZmlde7L3UUTv6pE0pjaUQaqEpqfOny5iry9s3\\\\\\n\",\n       \"7/gAAAAAAAC0DwhYYErYuHEjLVmyhH73u9/R3XffTfvvv3+X3umsVD9vnU0f1NNaaPBSCvW8XWfr\\\\\\n\",\n       \"XFlhSxd9tymFuuYVOet0ztZE1xmnEqYphWmNJZ1CKA4ZERVsmpm4s/gl0yIaiMixadDAcSFDBCw1\\\\\\n\",\n       \"yNwEMSOWWqaFDDtCopxTBKyYG0tEKU/A0nWuRPQYG+Oi6AlVq95Ig1a0silj2nXjCRa2H2i0M0/6\\\\\\n\",\n       \"h54W0dITwvQ2tT6W3i+OMwuVafxr6YUTY2sdUCJuiXNLYmtjrae1cCXCZSxVtNYXJw5SKTGWNkiM\\\\\\n\",\n       \"tWNM1z6z9bB0LCW2uuZVzbnFceaaV0mBtEEbZ+2ys0KVFppi/cCmDnpxjKUc2tjbPuX1rzxxDAAA\\\\\\n\",\n       \"AABgighfW5r8voGvKz0PBCwwJbz3ve+lOXPmBAGre9FiQD37UI7oRY6QpVMWPUFKp/rZAu66WLs+\\\\\\n\",\n       \"ty0cbwu5C1Y1mJiKyClmLNSwC4sJBdI3CRsiHIjzRVIIxfnE8zJSna6FpGtgmUHlxrGuHPduRhxY\\\\\\n\",\n       \"WsCyYpZ2YEkqoK6RJdM6lay2LhmfTkcZrEZSx8YyirhrEcOmgek+otP+NLpmmXZeiRgpgocWPD1B\\\\\\n\",\n       \"REjnuRh6OkJhGudUDKqlFop7Lu0DE0eilNiKmCWxtKKVnrYOrDyxUtokfY+xg1baGlg2tp5Y6aUX\\\\\\n\",\n       \"poJXEqbTovw67U+nEFYiwqWssymiVtyyIqYWpPT6WpwmbhtL6cv79lYkvdDSbFEKAAAAAIAMMAoh\\\\\\n\",\n       \"KAAELNByfvCDH9CNN95I11xzTZjubeoRrGxdLREttCCh6yDJyHKxbbQDS7Bpirpt5YjwIdvyOYbU\\\\\\n\",\n       \"vLz4bWIwCARPPTU4ng7GYoWIVFL3SqcJSn0rFggkbZBfUv9I3FciVIkjyxZvz3NgiWgVriypOXF0\\\\\\n\",\n       \"PSwRMrTIYQUs69KxKWh8HamAUnXqXGW5ciTO2o1TzRCwbLqY7kO67pnEU0Yb1KKoFjrlr7RJUkrl\\\\\\n\",\n       \"pVMO01EK/+//hmlkpBxiIuKVjCwof73YSm0sLU7auOvYS2xtDSwPXbBfC5cSV4mtxF7HPS+2Imbp\\\\\\n\",\n       \"2mepq08LVt60FqokRdP2A1lmR6e06YUxJx456z3xygqeWemok+4ufrIEAAAAAAAdDwQs0FLWr19P\\\\\\n\",\n       \"K1asoG9/+9s0c+bMPr27eaKW3UY7rrKEMJ1KqJ0Z5NTAkmPZtoyZ+UHj/LEjHk5sL6dRVSpl+t//\\\\\\n\",\n       \"0vpdg4OlCcW0dbqeOHNE9BDXFYsDIlppMcvWRRIRSxA3llfYW//V7dGj42mBQ6a1cKFTzrTQkU6n\\\\\\n\",\n       \"I8+lrivtvrEuKxE4dEFum04WEyI84YIcwUov1/3GClZ6PxEotXDppaPVBNFqdTCMVMi1saxQpGMr\\\\\\n\",\n       \"6aHWgaUFShGxtEip0watWKmntePKjkRoC7mLI0vHXsc3z43FDjseUbJa9WKtnVeeWGn7QpZgZV1Z\\\\\\n\",\n       \"nnhla1d5aGem9/82tg/89QAAAADoMOS3/maPAXoaCFigZbC4cdxxx9GJJ55IixYtorVr1xaul8Uv\\\\\\n\",\n       \"4YknnuiwqGhhp+g2SR1phHr7xJmW9VaUiM2LKKYdGbYuVykjnTC7KD0LGqn7itPN0jQzRlIIdZ0k\\\\\\n\",\n       \"cfBI/StdvJ3/yjIvlcymD+p57bjSrhwRMmwhdy1m6GXitJFpEUBkntPI+MXChp8uFhMtdIqgFq1k\\\\\\n\",\n       \"HypQA2vifZ8sOug+osUrObbE0rq4tJil+6DuR3JP01intbHSl9xnjodO19SjF2oBSwtXVqiU9FEr\\\\\\n\",\n       \"YHmx1vNe6qiOry7mblMKbapozYnHIiXHWguPnssqFu8sUSsmXtl0wdi8fklf8ARIu87DF6ezgeAF\\\\\\n\",\n       \"AAAAgKkFoxCCIkDAArmcfvrp9IlPfCJzmz/+8Y8hbXDDhg10xhln1HVXV61aReecc04HR0KLAY2m\\\\\\n\",\n       \"EWqRITEjB9ptrXNGpwnqabtOuzAGVfqhPo8IF7pddl7SBgV5OB+ekGo4OsoOnYEgNsjohKOj7Mqa\\\\\\n\",\n       \"WBfJ1rwS9411YYmgEe7kJkEjqwaWCFcyLcKGLuytnWFSxF27s8RhNbHAO4sYImbxCIMiPEiKmFew\\\\\\n\",\n       \"u2gx75jjygoWRdDuPemfelrHUvqJ7oe6v1kHlnb7DdHYGKeQloMjqxbb0qRC7ZJCKAKVTi/U7jrt\\\\\\n\",\n       \"wJLlOu4xRLCSuNtUUS1O6vpstiZWLb2QRxdMxUoWryYLVRUnXdSKWNapFXvp+2qdeDEhsx6nnsQz\\\\\\n\",\n       \"/I/Q/1Ny+lFef9PvSQAAAAAAALQPCFggl9NOOy04q7LYY4896Mc//jHdfvvtNIMLIinYjXXsscfS\\\\\\n\",\n       \"5Zdf7u7LgtfKlSsnOLDmzp3bA5ERN1Spjm3LkYdR65LSKYQlx4UjD8nakUMR14akHQ6otwTtGBpQ\\\\\\n\",\n       \"xcGHN02PbaqXxellXDOJBa3SuLtKhAuZt04c68ixDixdD0m7crR4odPJwhWaIu56Xhd0ty4rm/6Y\\\\\\n\",\n       \"bscpZFkOGy1e2BpH3ro8cULEEx2bLHS/kthYAUumJcZS66qs9tGxlf4i/UBeadvSESnTeJfL5fG4\\\\\\n\",\n       \"8v2UuPF/fYkt9wF2OsUELFv3yqaNipil3XY6zl7xfi1geWmEWrispZYmlCS2IHtViVcxcVLcWTrO\\\\\\n\",\n       \"esRBnUqq3VfVjDpoWWKW1y9iQpYHUgcBAAAA0MGgiDsoAAQskMsOO+wQXnmcf/759NGPfnR8/uGH\\\\\\n\",\n       \"H6Zly5bRVVddRUuWLInux4KXFb06jzyXVZFtvNRBwaYfxtbbVCFdB0nEJi99UDsoxpwUQm11iqUv\\\\\\n\",\n       \"CiJ61NqQppVxvSQetTB16QwNpW4s7cjyxCs9CqFOK7MF3HlexKrxO+UIWJJOplMKPQFLXFfpdJo+\\\\\\n\",\n       \"xsJVtcqChidKiSBhUwh1ypnnvIoV4M5yX+U5XnTtKxEttcNPT+u0URtLvY0cQ4si2sWVtpNThWW0\\\\\\n\",\n       \"Qvk7MJCKl3x/JaZ8v72RBzmmOm3UClgTrtLEXKeM6nRRmc8SsWpCFsdaREqpdaULsGsxyyvKr6dt\\\\\\n\",\n       \"7LWYZcUqK2Rp8SorXdDGyXt/iO2TRdHUQaQPAgAAAGAagIAFCgABC7SMefPmTZifNWtW+LtgwQLa\\\\\\n\",\n       \"ddddu/xOFxWwiq7XwpMVtnRqWNbxdAqh/BXnjXVt2eOMqf/+dl1MwNJOIe3USsUSLvqdOrKSSalm\\\\\\n\",\n       \"Usxb0spiThwtaDF5oxBaActzX3m1sNLtuJ01F85kMSLmqvIcWDHxKiZikREydJpWkZQt3Zd0/TNb\\\\\\n\",\n       \"A0uWy8iDnhBiBSwtWFRctxa7sdiJlTrXyuPCJN/zcjkVs3TNM89tp2Nfb6y1YBVz3ul0UZ0amtYz\\\\\\n\",\n       \"03HR4qROEbQippcempUuaPtGngOvaNxjbkqh2kIRCwIWAAAAAADoHCBgATClaHEgL21QbysiVqIE\\\\\\n\",\n       \"BD2dJU7Z85NKYysb8Uk7qUScsqllA868dppISmEqYEka2tgYi1gDVCoNTnDicMHsmBMnllYWw9ZD\\\\\\n\",\n       \"yhI2tIBVc/KIICHXHhMrEkfE0uKEzCdmetRJD7MCBpm/MWFCYl1yxErpQ1bI1K4qSfvUIxZWVJ/Q\\\\\\n\",\n       \"MZZ1kk4ocZZ53SdYyCoFQWtkJI21xFanDsaESlv3LNqTC6SLxp137KrTQpL+66X+VQquS3JSR+25\\\\\\n\",\n       \"tJBZRNSqONMUEbuy0gnzhDEAAAAAgDYDBxYoAAQsMGXsvvvuId2od0gK1LVqxqkVc195zqp6BSw7\\\\\\n\",\n       \"L0KF7C8PzjqVUD8si+tKCxuSWiYiiBZDJC1xINQXYnGDR7BLRyzkwu+lqBOnGQeWTinTI9WldY7S\\\\\\n\",\n       \"9Lf0ZdO5RBzQ9Y+syGHFCitSeXWviqYPUkTA8ig5qagVx4mlp3V/kjpXImhKLIfUcbRQKeKkvi8i\\\\\\n\",\n       \"VIogls6zIMgppKUSp5NykfdSmJYUQ13nql6x0nNgxZ136b1PhSsdGytI2nQ/rzi7jmXMgZVE+km1\\\\\\n\",\n       \"oHiV58pKclxYk+5W/EaOr8/aJpaqCAAAAAAwRdjf6Bs9BuhpIGABUBf6ga6ed1gRp7z9vRRCz3lj\\\\\\n\",\n       \"08T0A6a841ed4+t6WHq5pJXZ4vEl5bjRNZbknCJ+yLwVRET8mCh2JQnXx0qPx5pCqcTiBgtZqZjF\\\\\\n\",\n       \"50rFDZmf6MjR01rI0K9UsEjbldZqok1/RciwqV2ekBVzWXkuLU+MGMsRrGLLPOEq1g9k2gqaNlZe\\\\\\n\",\n       \"XSyJkQiSeh8bW90frTBmYy4iJouWLGalwlmpxLFnh1YaV46vxJpjL4KWLuDuxVpPS1wl1qlwJeJk\\\\\\n\",\n       \"Oj9ZMPJiGBMrYymBsf20CBpLIfTEKxt/T7jyXrpvWKHJm68HiFcAAAAAAKAzgYAFQN004rLy5vW0\\\\\\n\",\n       \"FZASJ8VPCwk6lczWPZInfnHT6GX6HBXnuLJOP2Db1DL9cK1dVzbNTMQxPZ22h905NVeQXGOtBpOX\\\\\\n\",\n       \"TsbpaNZ946USFhOMtEvKc015zhzrrPEEMO+4ee3Q7U4K/IRk+0qW8ypLgNL3fMARuqR93v46LVG7\\\\\\n\",\n       \"8CTeNddXKlzqkRFLubHWLjxOAcyPNRmRyLvXOi5eeqgVIPOcd3q97gO6D+llMceV/T9lBc0JV6+m\\\\\\n\",\n       \"k4gjy+6XN2+B8woAAAAA008pScKr2WOA3gYCFgDT5tKybhly1nlpgvqBshxJG7OuG68tchwRm7Tz\\\\\\n\",\n       \"quwIFbrmlYhU1YhgJU6rMef4gxHxwptO71nq2JF2bbpaaySbdG/0tGzsCUZaIJD0v6oz79W18hw0\\\\\\n\",\n       \"erssAcsTs4oIEF5fSe9TTYjUddNiYpGd1nGXFFEtekrcbV0tfb6hTddr520NLj1PSrTUsa71eT/W\\\\\\n\",\n       \"FLlP1YL3OxYnLx0wJmjZv1o0845frTNt0IpXVuSMXbtHTMzCFzsAAAAAdCCogQUKAAELgIbQQk/e\\\\\\n\",\n       \"ds2MXGjdVhQRqPS6LOeOfpAWEUHmtbBhRSFx6IiIpZfJMUWo0qKXTXOLiRpasNPtsH/tvbP3wLpS\\\\\\n\",\n       \"ijigPGHKClFFahh54lZMnEgi7dXXY6ftfdD3S4ta8jfLfSXTEiftvtKOLHHIyTqdUqrTRfV8TDjT\\\\\\n\",\n       \"y8RWNVG4LB5rT/TLEytjKYVarIqti7ntPIeV5wSz/cfrH57YXI+w2ez6PEEM9CoXXnghfepTn6J1\\\\\\n\",\n       \"69bRwoUL6YILLqDFixe3u1kAAAAAAJOAgAVAwxR5YCxlLCuy3hMjijgurEiixQ5xS2mbi00308KV\\\\\\n\",\n       \"vV7tAhPBQosQ8lBuXUGyb0zY0AKGFWrKBR62PWeKFi6KCliegybLdaXX22N45/fiY9sv1+Ch3XZa\\\\\\n\",\n       \"2LQOPhtX2UcLVjquVpTVQlcScexp0SpPnJSaala0ajbWViyysZX9YwJkLLbedl59K0+8ii2v92Xj\\\\\\n\",\n       \"kyVuUp3rPSBe9RtXXXUVrVy5ki666CJasmQJrV69mpYtW0b33Xcf7bjjju1uHgAAgH6iykVyk+aP\\\\\\n\",\n       \"AXoaCFgATDtaJNDOFy0aadFBO5jk4ViLRnIc7XYSdNqXPFDrVDHtptGih5dSKO4rK1zE5nUKYRHH\\\\\\n\",\n       \"VTlDxMhy5ej7agUsLWJQhtPGE7diNbI8EczWP7LH9NxWdl73h7z+Q5F7qONjUwol1rKNpIhaEcoK\\\\\\n\",\n       \"kDp11DqwJP1Qx1Y7sqxQNdWxppx4ekJXVuqfFbSK9glP5MwS17x262v3hCnbr70+AkA2n/nMZ2jF\\\\\\n\",\n       \"ihV0/PHHh3kWsq677jq65JJL6PTTT8ftAwAAMH0ghRAUAAIWAE2h6wF5yMOmXa9FKbudFqG0kGVr\\\\\\n\",\n       \"HZERAry26GkRHkaVeCEChRxrLEPQkjRBK3JoccsTqnSNJM99RY67R7DpZfbe23ttRQ09neXAsutE\\\\\\n\",\n       \"iIoJU7F0NE/A0u2oZrSziHhl0eml+h7aeVmmxUPpW17ap+4fsp1ON7QpoUXSQz3RyjqwyLj+dGzl\\\\\\n\",\n       \"GvT1ePfQi2fWtBWpGhUxxyL9I+/8MfEqJmx67ix9n2LOq6y+pc8F+oWRkRG666676IwzzhhfVi6X\\\\\\n\",\n       \"aenSpXT77be3tW0AAAAAAB4QsABomphIZdfbbfR+IgrYh0wrZNl97LH1g752cJFx2lgnlWynRz20\\\\\\n\",\n       \"62waoH7olvNb8YKMMOIJGzZ10FsWu6/WmaJfsiwmYGW5pchJF7P767RB7zx2mV1n26+FmKJoMUiO\\\\\\n\",\n       \"p++zHNPeUxEkZVr2FQeVTGuXnv6r+0FWmqCNe1asZXmsgrsn4sSW2ThLnChDwLJ9QPbR/wfsvvqY\\\\\\n\",\n       \"MXEsSyTNuxaZtvfAW++JVDGhK3ZfQT/x2GOPUaVSoZ122mnCcp5fs2bNpO03btwYXsITTzwxLe0E\\\\\\n\",\n       \"AADQLyR6qOnGjwF6GghYAEy5gCXbxFKjPLdVnrhl0wt1epcWn6xAofex4omtrSR/7To94pze1nPi\\\\\\n\",\n       \"6GPHxCvPhZUlXHl4rhVZ7s3XKzYUET30ua07yFvnOcjsvI6bJ/h4zhkRoAR7v+06iZ1um2wnsdPT\\\\\\n\",\n       \"1Qw3nRdrfS47r11+RbF9OSYEefGTfbJEJTsypSdaWrHLO0eWcKljptfZa8wTqWLT9n4VvZ8AxFm1\\\\\\n\",\n       \"ahWdc845uEUAAACmBqQQggJAwAKgY5EHZv1wL8KCFGLXQoOs1ymGXgqhdt9owUGnbsl+YxFnVUys\\\\\\n\",\n       \"iG1rp3Vb9Xk9IcOmwtWbQmiXZ4lS2lFjHTtZLhpP1NBttMKFFSesCCXH9PDuhRaDbGw9YdTWp5Lz\\\\\\n\",\n       \"iQMqlhqoHXUynRdzqlOo9FIIY+40fY+0m07v00rRsppTP0vucd6x7Ha6L+h+nddHAGic7bffngYG\\\\\\n\",\n       \"Bmj9+vUTlvP8zjvvPGl7TjXkgu/agTV37lyEAAAAAADTBgQsAFqCPGDmpbyRs946nISYG0umRcTS\\\\\\n\",\n       \"23g1j+TBV4QrLTxpB4wWbHS6oZ7W1zmQUxBcP3RnuXJGHVFDUyQ10y7TIkCWsJAnPsk+XpqgFSCy\\\\\\n\",\n       \"hC05v12vl9vryHLUePfEpuJ5aZi6T3nx1S4tHU8da7k32r0l29qC7raPCdJv867DXrc3b2MpxESj\\\\\\n\",\n       \"mHBpY11U0PJib9tkt7dtIUfw1NfpOa30smoDzirr8gL9xvDwMB144IF0880309FHHx2WVavVMH/y\\\\\\n\",\n       \"ySdP2n7GjBnhBQAAAEwJ1RZ8L8EohD0PBCwAWoYnPsW2s+utSyaWOkhmnRbNrAvLE7GsCGbTC8ec\\\\\\n\",\n       \"URB1O2Ra18OSdTp1TU/r9mrRzbY5JmDVQ56A5QlQVkjIEy1i4pVdFnPY2Hn917Y5do3WhWUdd3I/\\\\\\n\",\n       \"7f0VgUmvl+MlkXRDvc5LOdQimO6LWe66mJhbDzGR0PYBT1DS67JGjbTClBW69Pltf7DnjvUf2257\\\\\\n\",\n       \"LbF19j7YewPxCuTDjqrly5fTokWLaPHixbR69Wp66qmnxkclBAAAAKaNpJq+mj0G6GkgYAHQUvIe\\\\\\n\",\n       \"zGMil93PilzyQOqJS/p42kmjH9itg8YKWXpdzMGjBSz7YD2Q4SqzNZk8oc2KYo2Q1OHKEax4QQXc\\\\\\n\",\n       \"NlTnOn1Mrz0xASIL78NZ30O9vyzT7igbayualiPrstx1nmCl26mP6fWBeqnmCFj2PtuU0Kx1RQQs\\\\\\n\",\n       \"G08rgkp7dBu9/hATqew1UES8SuoUr4puA/qBY445hh599FH64Ac/SOvWraP999+fbrjhhkmF3QEA\\\\\\n\",\n       \"AAAAOgEIWAB0jNAlD5XljG10TSwrZOnaVOS4q8rOcfQDsnZkaZFDp4BZsUI7cbQYodeNReoheall\\\\\\n\",\n       \"Mt+IqOGJQZ5IEHO/iDghy2Iihj6XJ4bEUsLyRBZBty2Gd488MVOW67hIm3RMvLpXchyvtpXuG3rk\\\\\\n\",\n       \"QYm1jnFWrPW56sG7RzFBKEuw8sQoz5Glz9mIcBnrI1kurGqO6NRI2iAAk+F0QS9lEAAAAJhWUMQd\\\\\\n\",\n       \"FAACFgAtRztV8rajAumEWTWx9PbWUaX3kzZpIUHaaNPPdKqZd26bomjbbx0/+vx6vawTMcGmQupz\\\\\\n\",\n       \"e4JWzH0Se/D3BALPjaXnZX1M3Iq5t2KuGiuyZQkOseXaAWeXxwTJWPy0uClt064rOY603ROgNPZ8\\\\\\n\",\n       \"VsTSqZ1lZ1m9sbbLPXHQxiTPiaenrSCl+4EWNu15YsKpbZfnuvKuydumyD3yiLn+AAAAAADaCGpg\\\\\\n\",\n       \"gQJAwAJgSpCHyTwnUT0ClbePbBcTM6z4YI9tRSUrdFUiLitbsFsf1z5Ie/WwZNoTQLx7FhM1vGVa\\\\\\n\",\n       \"mPCcT3qZ58SJiVxZ22S5Z7x6XEXFhFisvX2sm8n2Le3I09M69VRfp46FOKv0cT2BTK7Jc1/ZeCct\\\\\\n\",\n       \"jrVuu7RDx8TGISuOnkBp+09MwLTtigmaRZZRgwJXjKIiFwAAAAAAAJ0HBCwApgwRBYqIWJ4LS0QE\\\\\\n\",\n       \"mbeill4v62S5HZ3Q7q9TxqStnpjkpZxpEUo7ueT49rr1A7NX50pvq11b9eI92HtuFysu5KV6WUEk\\\\\\n\",\n       \"dpxYLSbdpry0sCLXmIXnXrP7SYwk5hJXHWe9j1ewvZ5Y2xTCqY61tFX/1dOe6BhzTnlOrayU0Zgw\\\\\\n\",\n       \"JtO2LXp5niBn97Pb5eEdHwAAAACgQ0AKISgABCwAphQtEmRhBSa9v1eY2zqrtOPKpuVZkUoX4dYi\\\\\\n\",\n       \"hRUk5GFciw76GPqcWtigyOhzOsWtaC2kPIEjJgBlpeoVqTmk6yRRjuOmiHDiOWbscZsh5mTS/YAi\\\\\\n\",\n       \"QmJFCZq6D4iwqgVWGUUyJkB69a5sDKc61rLM7pPliou5sfTxPQFMz3vniznCqMA6/de2P++eWJA2\\\\\\n\",\n       \"CAAAAIAOJ3ytafI7MYzmPQ8ELACmHHnAbWZ0Pa/eVVbKoczrc2elGlkHlid8yTlF9NBuLP0g7bnJ\\\\\\n\",\n       \"ZHksLdJLg/SO5d0bj6xUvTxRw4pVejtPwCoiZNg2t1LE8tJLYzGgSPF+aaeNiSdGiQvJi40dvVCm\\\\\\n\",\n       \"bd+PXWsj8c5yY2U55jzxSO/rpQ3q5bE+EOtnsf9/sfmY6FkvEK8AAAAAAEBvAAELgGlBHmYbTSfM\\\\\\n\",\n       \"q4mVmFpTWTWTqjlOGPvA7416qN1UXrtiQkrsGvR5WkGegEV1CFH1bBsTMmJtiZG3PpZySgVEIy0+\\\\\\n\",\n       \"6Wm9vV1uY23TBr1p/TdPtGkGTyCMpe15gqQXa1meFeciQpXX57z+YPEEzqxtYjQjjAIAAAAATCNI\\\\\\n\",\n       \"IQQFgIAFQMekE1oBwq5LnELblJE2qNd7qYj6GOUCDiyK1EoqOcv1+XQheKE8zQKWFiBkvqgji+p0\\\\\\n\",\n       \"9Hjb1SNA2LZ6xOpOacHIju6np71Ye3G1fYecumh2W3t86/jS+01HrKnONM9Y3aykzjpXdr+sPhET\\\\\\n\",\n       \"mqpNCFNwXgEAAACgi6ja2qKNHgP0MhCwAOg4Yu4lykhFtC4Ymzaoi2aTSf8rRUan03gChT6nt9wu\\\\\\n\",\n       \"08fS816Nr2axLhmKzHuilrdvnssqy/Glj98qkcH7cLbCpV6u97Eiqo2N3s7rg0mkD8SEUHv8WLpo\\\\\\n\",\n       \"o3gxiMXexi5vuXcsT+CiAoJWlnhFLRavAAAAAAAA6D0gYAEw7diH/qztBJsyWMrZLiZCacHKa5Ps\\\\\\n\",\n       \"p4WMrJQ0LUho8cQKZPY4WqTTTiHveouQ9UDviRN6nRVAsrYp6qLxzuW1s4iQkUeRmFtR1IpUeWml\\\\\\n\",\n       \"2oWn4x4r0q+PnZVKaK+hKFnuNd1m7/5a4bKIOFmkP9T71+6fdX319g0IXAAAAADoMpBCCAoAAQuA\\\\\\n\",\n       \"aUUeWAcKbFc0ndDu47miZL0ndmixKUvI8NbpY5Yct1dWqpqcO0Y9aWb1uFWsIFG0hpLd1xO6vGMV\\\\\\n\",\n       \"aae3bVH0Pc5L1bOCVkyssuts39LrbDphzA0Wc3TF2hEj6x7mOeFi/UHWeft5DixPlMqLfZYwmnUN\\\\\\n\",\n       \"seNlAfs8AAAAALoMCFigABCwAGgLehS/PKx4IHipXnbbxBEYkkiNI+2Qibm6ZN4TQMacZXbe1sPS\\\\\\n\",\n       \"bYtdXyPEUvOqDcxnCVZFhbCpTAOz59D9IZZqGIuH3dc6qHRdM6/we1asqYA42s5YW+Eyz6lXdL9Y\\\\\\n\",\n       \"kfYiYlbeOm9biFcAAAAAAKA3gYAFQNuIOali21JGTSK7Lk+AsvM6RcxLK7N1jmJOK5tGJufJE1Vi\\\\\\n\",\n       \"D+hF7k1Rx4onGOS5ZGI1smLbx9qTJUC0QsyyMbLHiznvyBlhUK9Pco6ZF2tddy1rP92eLOpxJyV1\\\\\\n\",\n       \"xDpPeMqKe1GBsxGBqp6+AeEKAAAAAF1MtQXficMxQC8DAQuAtpG0qCaWPUZsO0+AsA/Ytsi2V7fI\\\\\\n\",\n       \"KySfFKyVpc9dpDZS3kN53odUUQeMPl8R4SvrOLFjZ4kZrRCwYv3Jc9YVKaQux7FCJ9UZa8G6/Cye\\\\\\n\",\n       \"2OW1KW9dUXdTVjH1rPpZsePmCVqx9ueJb0VohQgKAAAAANA+kqQaXs0eA/Q2ELAAaDs6hS+PLLHL\\\\\\n\",\n       \"pnzJ9jEHjldQXY4TEx1k2kshk+N7AldM8JJj1lvEuwh59aayHDb6GHnCU701ixodebDeNMLY6I4x\\\\\\n\",\n       \"J1w5R1CygpVce5ZDzzveVMQ6z8WUlz4Y2y7LleVtE4ttPUKnd9wssvogAAAAAAAAvQMELAA6AhEC\\\\\\n\",\n       \"WpFOaFPEYgKGfvD10gq9VC8rtOnUw7xaS7E229HqWkGsCHvWMk8EKCp05IlgeefPWp5HrB/EBCor\\\\\\n\",\n       \"YhYRLrPa5wlfsXZ5ReCbRa6n2Vi3on5V7H5ZkatVbqqpEEMBAAAAANpUxL3ZFEA+BuhpIGAB0FHE\\\\\\n\",\n       \"6k5ZYqKU3SarAHsMLxVR76sFMvuw7Tm9stpo29YKEStPAKi3sHo94oi3vGi64FR/4GYJmXa5F1dP\\\\\\n\",\n       \"0PS2pQyRSgs90xHrvNi1QnCMCVhF5r3lef0A6YIAAAAA6EGC+AQBC2QDAQuAjsETgopsLyKCVxfL\\\\\\n\",\n       \"Hit2Ds+5FTtnnvARK9Kd5zBLmnTmZIkSzaZuFRUoqGA6VyvFKu9YpQLtGiggXmXVKcsb6TDvHutj\\\\\\n\",\n       \"N0q1CYdSXkyz+lNW2l7SQjGtnuMAAAAAAADQ20DAAqBnUgopImLFHE5FUskGMs4TSy+MCSqJSi/z\\\\\\n\",\n       \"aNaRkyUqeNtSi5xYRYSS6RYcYg6qWKpfLN1U1melI8bIirU+TrMCVpF7mxWbetJBK3XGt1GHWAyk\\\\\\n\",\n       \"DAIAAACgR6lWiUpN1vVEEfeeBwIWAB2LPFwXTa2Th+HY9nkuK8+xZesi6e00ea6rZkSGeqnXydJI\\\\\\n\",\n       \"KmBemlm919JsEe5mhE5PxGk01nYUyyyy0g+n4r4VcWN58/U6rYq0q97rzuurAAAAAABdDlIIQQEg\\\\\\n\",\n       \"YAHQU2mFRfex2+Q9GHsFvRtpT9bxqcWjqRUVzRqpS1REsCq6rBXEjltqMN6NxrreGmtJF8RaL6un\\\\\\n\",\n       \"T2SdB+IVAAAAAAAA9QIBC4COx3NGFdlHiwmx+lhZ62LphnnphfWKUkUdWvVSj0CSl+bVqrpW7RKw\\\\\\n\",\n       \"srYtUi9Lp/o1E+tWjjRpaUX6aJHjFHVxxdbV2wfgvAIAAABA75NUq5Q0mUKYIIWw54GABUBXoOtH\\\\\\n\",\n       \"Fa0bVESoiKUJFtm/kiFoyf5ZwspUuK5aJWbVK2Jk1cZqJ7HUQE2WIJV1nDyBUx9rKlxX7Yi1PW5R\\\\\\n\",\n       \"YbMR0ardfQcAAAAAYBpBCiEoAAQsALqOpMER+4o4uWKpZlmj0AlZdZHyzjXVeIJTvWlcWfPe8kau\\\\\\n\",\n       \"r9596nU0SU01u3/RtL96Basix54uisY8L/WzFa6+LCBcAQAAAAAA4AEBC4CuI2lhHaqiqYWeeGXP\\\\\\n\",\n       \"34wg1OrUslam89UjfLQqZbHZelNFRcrYtnmurKTOdnVKvIvW/mo0Pq0QMDtF8AMAAAAAmEaqCVEp\\\\\\n\",\n       \"aYGLC/QyELAA6FqqdaQTNlJTq5rhooo96HvumyIfJDJaYatoVAioV4Rq5kOy2Q/YRsQr7xhWtMwb\\\\\\n\",\n       \"wTJv2yJ1sFopYGWNLtiOWDcaV6QNAgAAAKCPCeJTk050CFg9DwQsALqaakYNqnoeyvNS/YqIHHp7\\\\\\n\",\n       \"S2maH96LOm3q2a/R9k23q6YesanIvjFhMc+FlXWOdow22alCpq0lBwAAAAAAAPCAgAVAz5DlmCpC\\\\\\n\",\n       \"LH0wazu7fbOOpFY4c1rllGnGSdOK47SSRkTF2L55qYRZqY3dEuup6ht6/07oFwAAAAAAnUFSTShp\\\\\\n\",\n       \"MoUwgQOr52llzg4AoK3IQ3EjKVWyr04NzKv1Y/cpevzYqxUUOU+jbW70nJ1Co+2cilhPd8zrPUbe\\\\\\n\",\n       \"dnafettb7cD+AQAAAADQRpJqa151cuGFF9Luu+9Om222GS1ZsoTuvPPOzO2vvvpq2muvvcL2++23\\\\\\n\",\n       \"H11//fVNXDSoFwhYAPQkjdYFogZFhqrzavTBvplXI9ccO2/RfTtVsJqqtk/1fZ/KeLcy1o0g5wcA\\\\\\n\",\n       \"AAAAAO3mqquuopUrV9LZZ59Nv/nNb2jhwoW0bNkyeuSRR9ztf/GLX9DrXvc6evOb30x33303HX30\\\\\\n\",\n       \"0eF1zz33THvb+xUIWAD0LPphvRXHqFcwyBMopkvsaaUI0sz96HSmMtbTJdokHRrrXuwvAAAAAAAt\\\\\\n\",\n       \"TiFswasePvOZz9CKFSvo+OOPp3322YcuuugimjlzJl1yySXu9ueddx4dccQR9J73vIf23ntv+shH\\\\\\n\",\n       \"PkIHHHAAfe5zn2vRXQB5QMACoGeZqrStVh0vmaZXJ1xrI+eazjS8om2iHo73VP8/6TaHHgAAAABA\\\\\\n\",\n       \"76YQjoyM0F133UVLly4dX1Yul8P87bff7u7Dy/X2DDu2YtuD1oMi7qDjkOJ7lcpIu5vSgzRa4H26\\\\\\n\",\n       \"jtdpTKfoUO3w3yEQ6/qAYNVq5DMBBVo7A4nDE092b1rsWDLa7iYAAEBXM0ajLftsDsdKWtOeJ554\\\\\\n\",\n       \"YsLyGTNmhJfmscceo0qlQjvttNOE5Ty/Zs0a9/jr1q1zt+flYHqAgAU6jn/+85/h75o1l7W7KQAA\\\\\\n\",\n       \"ADrwM2KrrbZqdzP6ng0bNoR7sNsBa7v4XjzQ7gYAAEDPfCY0+tk8PDxMO++8M922rjXF0GfNmkVz\\\\\\n\",\n       \"586dsIxrXH3oQx9qyfFBe4GABTqObbfdNvx96KGH+vYhhX814Dfev/3tb7TllltSP4J7gHuAvoD/\\\\\\n\",\n       \"D5rHH3+c5s2bN/4ZAdrLnDlzwmfU7NmzqVRqvRO3Fz4Duv0a0P72gxjg/nd6/2HnFYtX/JnQKDya\\\\\\n\",\n       \"34MPPhhS+lrVJvu5ZN1XzPbbb08DAwO0fv36Cct5ngU1D15ez/ag9UDAAh0H5x4zLF514xe+VsLX\\\\\\n\",\n       \"j3uAe4B+gP8PeE+Y/BkB2h+HXXfddcrP0wvvf91+DWh/+0EMcP87uf+0wnDAIha/phN2fh144IF0\\\\\\n\",\n       \"8803h5EEmWq1GuZPPvlkd5+DDjoorD/11FPHl910001hOZgeIGABAAAAAAAAAACgr1i5ciUtX76c\\\\\\n\",\n       \"Fi1aRIsXL6bVq1fTU089FUYlZN70pjfRLrvsQqtWrQrzp5xyCh166KF07rnn0pFHHklXXnkl/frX\\\\\\n\",\n       \"v6aLL764zVfSP0DAAgAAAAAAAAAAQF9xzDHH0KOPPkof/OAHQyH2/fffn2644YbxQu1c0kY7vw8+\\\\\\n\",\n       \"+GC64oor6KyzzqIzzzyT9txzT/r2t79N++67bxuvor+AgAU6Ds5R5kJ7Xq5yv4B7gHuAfoD/D3hP\\\\\\n\",\n       \"wPtiP9MLn4Pdfg1of/tBDHD/+7n/TBecLhhLGbzlllsmLXvNa14TXqA9lBKMRw0AAAAAAAAAAAAA\\\\\\n\",\n       \"OhhUQgUAAAAAAAAAAAAAHQ0ELAAAAAAAAAAAAADQ0UDAAgAAAAAAAAAAAAAdDQQsAAAAAAAAAAAA\\\\\\n\",\n       \"ANDRQMACHc91111HS5Ysoc0335y22WYbOvroo6kf2bhxYxjatVQq0W9/+1vqF9auXUtvfvObaf78\\\\\\n\",\n       \"+aEPLFiwIIyoMjIyQr3OhRdeSLvvvjttttlm4f/AnXfeSf3CqlWr6LnPfS7Nnj2bdtxxx/D//r77\\\\\\n\",\n       \"7qN+5uMf/3j4/3/qqadSv/H3v/+d3vCGN9B2220X3gf2228/+vWvf93uZoEppJvf/37605/SUUcd\\\\\\n\",\n       \"RXPmzAn/Z3mI9W6i299/v/CFL9Czn/1s2nLLLcProIMOoh/84AfUrXTje/+HPvSh0Gb92muvvaib\\\\\\n\",\n       \"6ObPHX7vtPefXyeddFK7mwZA00DAAh3NNddcQ2984xvp+OOPp9/97nf085//nF7/+tdTP/Le9743\\\\\\n\",\n       \"fBnuN9asWUPVapW++MUv0r333kuf/exn6aKLLqIzzzyTepmrrrqKVq5cGcS63/zmN7Rw4UJatmwZ\\\\\\n\",\n       \"PfLII9QP3HrrreGL1h133EE33XQTjY6O0uGHH05PPfUU9SO/+tWvwv8BfijrN/7973/T85//fBoa\\\\\\n\",\n       \"GgoPoX/4wx/o3HPPDT9ogN6k29//+H2K28wiXDfS7e+/u+66axB97rrrriA4vPjFL6aXv/zl4TtE\\\\\\n\",\n       \"t9HN7/3Petaz6B//+Mf467bbbqNuods/d7jf6HvP/4+Z17zmNe1uGgDNkwDQoYyOjia77LJL8uUv\\\\\\n\",\n       \"fznpd66//vpkr732Su69996E/9vefffdST/zyU9+Mpk/f37SyyxevDg56aSTxucrlUoyZ86cZNWq\\\\\\n\",\n       \"VUk/8sgjj4S+f+uttyb9xoYNG5I999wzuemmm5JDDz00OeWUU5J+4n3ve19yyCGHtLsZYBrppfc/\\\\\\n\",\n       \"ft+69tprk26mF95/t9lmm677PtnN7/1nn312snDhwqRb6bXPHe47CxYsSKrVarubAkDTwIEFOhb+\\\\\\n\",\n       \"1ZXtu+VymZ7znOfQ0572NHrpS19K99xzD/UT69evpxUrVtBXv/pVmjlzZrub0xE8/vjjtO2221Kv\\\\\\n\",\n       \"wumR/Mvx0qVLx5fx/wOev/3226lfY870ctxjsBPiyCOPnNAf+onvfve7tGjRovDLMacz8efBl770\\\\\\n\",\n       \"pXY3C0wReP/rPLr5/bdSqdCVV14Z3GOcSthNdPt7/5///OeQObDHHnvQscceSw899BB1C730ucPv\\\\\\n\",\n       \"qV/72tfohBNOCGmEAHQ7ELBAx/LAAw+M59GfddZZ9P3vfz9Yd1/4whfSv/71L+oH+Mfb4447jk48\\\\\\n\",\n       \"8cTwQQqI7r//frrgggvobW97W8/ejsceeyx86d5pp50mLOf5devWUb/BKaRc+4Pt/Pvuuy/1E/zg\\\\\\n\",\n       \"xWI+16Tp588Crmmz55570g9/+EN6+9vfTu985zvp8ssvb3fTwBSA97/Oolvff3//+9/TrFmzaMaM\\\\\\n\",\n       \"GeE71LXXXkv77LMPdQvd/t7Pdesuu+wyuuGGG8L794MPPkgveMELaMOGDdQN9NLnDtfg+89//hOe\\\\\\n\",\n       \"JwDoBSBggWnn9NNPdwsL6pfUPWLe//7306te9So68MAD6dJLLw3rr7766r64ByzU8If9GWecQb1G\\\\\\n\",\n       \"0XugYUfeEUccEX4RY1ca6A/4V2h2XvIX+n7ib3/7G51yyin09a9/PRSy7lf4s+CAAw6gj33sY+FX\\\\\\n\",\n       \"8Le+9a3h/z/XwgMATC3d+v77zGc+Mwx488tf/jKID8uXLw91jLqBXnjv54wJ/q7Gtbu4ft31118f\\\\\\n\",\n       \"RJRvfOMb1A300ufOV77ylRCPfqyjC3qTwXY3APQfp512Wu6vAGw35qKDjP7FjH9J43XdZENu5h78\\\\\\n\",\n       \"+Mc/DiljfN0admOxHbsbfwmq9x4IDz/8ML3oRS+igw8+mC6++GLqZbbffnsaGBgI6aMant95552p\\\\\\n\",\n       \"nzj55JOD+5JH9eLCvP0Ep5Fy0Wr+Ei2wM4/vxec+97kwMin3k16H08etc2LvvfcOg3yA3gPvf51D\\\\\\n\",\n       \"N7//Dg8P09Of/vQwzT+AclHr8847LxRE73R68b1/6623pmc84xnBRd8N9Mrnzl//+lf60Y9+RN/6\\\\\\n\",\n       \"1rfa3RQAWgYELDDt7LDDDuGVB3/hYOGGh24+5JBDwjIeCWft2rW02267UT/cg/PPP58++tGPThBx\\\\\\n\",\n       \"+JcsHqGJ7dn9cA/EecXilbjwuB5UL8NfvPlab7755jB8ufwayPP8QNEv6bPveMc7QtrHLbfcQvPn\\\\\\n\",\n       \"z6d+47DDDgtpMBoekZWHIn/f+97XdQ8wjcKpS/w5oPnTn/7U9Z8DwAfvf+2nF99/+TOUhZ9uoBff\\\\\\n\",\n       \"+5988kn6y1/+EkYW7wZ65XOHvzNzDS+upQZArwABC3QsW265ZahbwMNoz507N3xofOpTn+qrYWDn\\\\\\n\",\n       \"zZs3YZ7rOTALFizoul9DG4XFK657xvH/9Kc/TY8++uj4ul52I/EQ8pzywG67xYsX0+rVq0MRWv4S\\\\\\n\",\n       \"2y9pK1dccQV95zvfodmzZ4/X/tpqq61o8803p36Ar9vWnNliiy1ou+2266paNM3yrne9KzgvOZXj\\\\\\n\",\n       \"ta99Ld15553BhdnrTsx+ptvf//hhXTtNuP4Pp7NxEXT7ud6JdPv7L5dd4JQpvtdchoGvhYU4rmXU\\\\\\n\",\n       \"DfTCe/+73/1uOuqoo8J3N/7xlb/Ls/D2ute9jrqBXvjcYdGWBSx+Lx0cxCM/6CGaH8gQgKljZGQk\\\\\\n\",\n       \"Oe2005Idd9wxmT17drJ06dLknnvu6dtb/uCDD4ahrO++++6kX7j00kvDNXuvXueCCy5I5s2blwwP\\\\\\n\",\n       \"D4dh5e+4446kX4jFnPtDP9NtQ6m3iu9973vJvvvum8yYMSPZa6+9kosvvrjdTQJTTDe///3kJz9x\\\\\\n\",\n       \"37+WL1+edAPd/v57wgknJLvttlvoOzvssENy2GGHJTfeeGPSzXTbe/8xxxyTPO1pTwsx2GWXXcL8\\\\\\n\",\n       \"/fffn3QT3f6588Mf/jD8v73vvvva3RQAWkqJ/2m3iAYAAAAAAAAAAAAAQIzeLiQDAAAAAAAAAAAA\\\\\\n\",\n       \"ALoeCFgAAAAAAAAAAAAAoKOBgAUAAAAAAAAAAAAAOhoIWAAAAAAAAAAAAACgo4GABQAAAAAAAAAA\\\\\\n\",\n       \"AAA6GghYAAAAAAAAAAAAAKCjgYAFAAAAAAAAAAAAADoaCFgAAAAAAACAnuKWW26hUqlE//nPf9rd\\\\\\n\",\n       \"FAAAAC0CAhYAAHQw//jHP+j1r389PeMZz6ByuUynnnpqu5sEAAAAdBwvfOELJ3xGHnzwweEzdKut\\\\\\n\",\n       \"tmpbmyCiAQBAa4GABQAAHczGjRtphx12oLPOOosWLlzY7uYAAAAAXcHw8DDtvPPOwYUFAACgN4CA\\\\\\n\",\n       \"BQAAbeTRRx8NX7A/9rGPjS/7xS9+Eb5433zzzbT77rvTeeedR29605va+isyAAAA0Kkcd9xxdOut\\\\\\n\",\n       \"t4bPSxas+HXZZZdNSCHk+a233pq+//3v0zOf+UyaOXMmvfrVr6b//ve/dPnll4fP22222Ybe+c53\\\\\\n\",\n       \"UqVSmfBD0rvf/W7aZZddaIsttqAlS5YEZ5Xw17/+lY466qiwL69/1rOeRddffz2tXbuWXvSiF4Vt\\\\\\n\",\n       \"eB23hdvJVKtVWrVqFc2fP58233zz8APVN7/5zUnOreuuu46e/exn02abbUbPe97z6J577pnGuwoA\\\\\\n\",\n       \"AJ3HYLsbAAAA/Qy7qy655BI6+uij6fDDDw9fqt/4xjfSySefTIcddli7mwcAAAB0PCxc/elPf6J9\\\\\\n\",\n       \"992XPvzhD4dl995776TtWKw6//zz6corr6QNGzbQK1/5SnrFK14RhC0WnR544AF61ateRc9//vPp\\\\\\n\",\n       \"mGOOCfvw5/Ef/vCHsM+cOXPo2muvpSOOOIJ+//vf05577kknnXQSjYyM0E9/+tMgYPG2s2bNorlz\\\\\\n\",\n       \"59I111wTjnfffffRlltuGcQqhsWrr33ta3TRRReFY/C+b3jDG8J3gkMPPXS8ve95z3vCtfEPXWee\\\\\\n\",\n       \"eWYQyvg6h4aGpu3eAgBAJwEBCwAA2szLXvYyWrFiBR177LG0aNGi8AWYv9wCAAAAIB92KLNzmV1V\\\\\\n\",\n       \"LPYwa9asmbTd6OgofeELX6AFCxaEeXZgffWrX6X169cH0WmfffYJrqmf/OQnQcB66KGH6NJLLw1/\\\\\\n\",\n       \"Wbxi2I11ww03hOXsnuZ1LFLtt99+Yf0ee+wxfr5tt902/N1xxx2DSCaOLt7vRz/6ER100EHj+9x2\\\\\\n\",\n       \"2230xS9+cYKAdfbZZ9NLXvKSMM0usV133TUIaK997WvRLQAAfQkELAAA6AA+/elPh1+Or776arrr\\\\\\n\",\n       \"rrtoxowZ7W4SAAAA0FOwwCXiFbPTTjuF1EEWr/SyRx55JEyzy4rTCXkgFQ2LUNttt12Y5pTDt7/9\\\\\\n\",\n       \"7XTjjTfS0qVLg5jFaX8x7r///uAEE2FKYBfXc57znAnLROASMYxd2n/84x8bvn4AAOh2IGABAEAH\\\\\\n\",\n       \"8Je//IUefvjhUBeD62bIL7kAAAAAaA029Y7rTHnL+LOYefLJJ2lgYCD8sMR/NSJ6veUtb6Fly5aF\\\\\\n\",\n       \"elUsYrGD+txzz6V3vOMdbhv4mAxvz3W1NPjxCgAAsoGABQAAbYZ/deXaF5yuwL+u8pdh/tWXUw4A\\\\\\n\",\n       \"AAAAkA+nEOri662AHVF8THZkveAFL4hux/WuTjzxxPA644wz6Etf+lIQsLhNjG4XpymyUMWphzpd\\\\\\n\",\n       \"0OOOO+6gefPmhel///vfof7V3nvv3bLrAwCAbgMCFgAAtJn3v//99Pjjj4fCsvyLLheSPeGEE8JI\\\\\\n\",\n       \"Scxvf/vb8V9tedRCnucvxfwlGAAAAAAUUgF/+ctfBhczf5aKi6oZOHWQ61PySMDsqmJBiz+HeZRg\\\\\\n\",\n       \"ThM88sgj6dRTT6WXvvSlYVsWmbh+lohMu+22W3B08ec517vkIu6zZ88OdbTe9a53hTYecsgh4TvA\\\\\\n\",\n       \"z3/+81Doffny5ePn54L0nKrIaY38XWH77bcPg74AAEC/Um53AwAAoJ/hobJXr14disjyF9dyuRym\\\\\\n\",\n       \"f/azn4VCswx/YeYXpzBcccUVYZq/CAMAAAAghUUhTvPjH3d4ND92OLUCLtbOAtZpp50WXNIsIP3q\\\\\\n\",\n       \"V78ad0axu4pHImTRikcnZCHr85//fFjHKYLnnHMOnX766UGE4hENmY985CP0gQ98IKQbyn6cUjh/\\\\\\n\",\n       \"/vwJ5/74xz9Op5xyCh144IG0bt06+t73vjfu6gIAgH6klCRJ0u5GAAAAAAAAAABIf9zi0RDZ0SWj\\\\\\n\",\n       \"FwIAAIADCwAAAAAAAAAAAAB0OEghBAAAAAAAAAAAAAAdDVIIAQAAAAAAAAAAAEBHAwcWAAAAAAAA\\\\\\n\",\n       \"AAAAAOhoIGABAAAAAAAAAAAAgI4GAhYAAAAAAAAAAAAA6GggYAEAAAAAAAAAAACAjgYCFgAAAAAA\\\\\\n\",\n       \"AAAAAADoaCBgAQAAAAAAAAAAAICOBgIWAAAAAAAAAAAAAOhoIGABAAAAAAAAAAAAgI4GAhYAAAAA\\\\\\n\",\n       \"AAAAAAAA6GggYAEAAAAAAAAAAACAjgYCFgAAAAAAAAAAAACgTub/Ad3WOqU6GvjlAAAAAElFTkSu\\\\\\n\",\n       \"QmCC\\\\\\n\",\n       \"\\\"\\n\",\n       \"\\n\",\n       \"\\n\",\n       \"    /* set a timeout to make sure all the above elements are created before\\n\",\n       \"       the object is initialized. */\\n\",\n       \"    setTimeout(function() {\\n\",\n       \"        animd4f6703c1d0e4c8881d941793d878412 = new Animation(frames, img_id, slider_id, 899.0,\\n\",\n       \"                                 loop_select_id);\\n\",\n       \"    }, 0);\\n\",\n       \"  })()\\n\",\n       \"</script>\\n\"\n      ],\n      \"text/plain\": [\n       \"<matplotlib.animation.FuncAnimation at 0x362ec01a0>\"\n      ]\n     },\n     \"execution_count\": 7,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"def gaussian_pdf_sum_grid(means: jnp.ndarray, sigma: float, x_min: float, x_max: float, y_min: float, y_max: float, n: int = 280):\\n\",\n    \"    xs = jnp.linspace(x_min, x_max, n)\\n\",\n    \"    ys = jnp.linspace(y_min, y_max, n)\\n\",\n    \"    xx, yy = jnp.meshgrid(xs, ys)\\n\",\n    \"    grid = jnp.stack([xx, yy], axis=-1)  # (n, n, 2)\\n\",\n    \"\\n\",\n    \"    diffs = grid[:, :, None, :] - means[None, None, :, :]  # (n, n, K, 2)\\n\",\n    \"    sq_maha = jnp.sum((diffs / sigma) ** 2, axis=-1)\\n\",\n    \"\\n\",\n    \"    norm = 1.0 / (2.0 * jnp.pi * (sigma ** 2))\\n\",\n    \"    pdf_each = norm * jnp.exp(-0.5 * sq_maha)\\n\",\n    \"    pdf_sum = jnp.sum(pdf_each, axis=-1)  # (n, n)\\n\",\n    \"\\n\",\n    \"    return pdf_sum, norm\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def normalize_density_for_display(pdf_sum: jnp.ndarray, mode_peak: float):\\n\",\n    \"    # Saturate at single-Gaussian mode height so each cluster center can reach max color.\\n\",\n    \"    capped = jnp.minimum(pdf_sum, mode_peak)\\n\",\n    \"\\n\",\n    \"    lo = jnp.min(capped)\\n\",\n    \"    hi = jnp.max(capped)\\n\",\n    \"    denom = jnp.maximum(hi - lo, 1e-12)\\n\",\n    \"\\n\",\n    \"    return (capped - lo) / denom\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def make_rollout_gif(rollout_data: dict):\\n\",\n    \"    states = rollout_data['states']\\n\",\n    \"    actions = rollout_data['actions']\\n\",\n    \"    obs_points = rollout_data['obs_points']\\n\",\n    \"    obs_probs = rollout_data['obs_probs']\\n\",\n    \"    qs = rollout_data['qs']\\n\",\n    \"\\n\",\n    \"    horizon = actions.shape[0]\\n\",\n    \"\\n\",\n    \"    fig, (ax_l, ax_r) = plt.subplots(1, 2, figsize=(12, 5))\\n\",\n    \"\\n\",\n    \"    pad = 3 * GAUSSIAN_SCALE\\n\",\n    \"    x_min = float(jnp.min(GAUSSIAN_MEANS[:, 0])) - pad\\n\",\n    \"    x_max = float(jnp.max(GAUSSIAN_MEANS[:, 0])) + pad\\n\",\n    \"    y_min = float(jnp.min(GAUSSIAN_MEANS[:, 1])) - pad\\n\",\n    \"    y_max = float(jnp.max(GAUSSIAN_MEANS[:, 1])) + pad\\n\",\n    \"\\n\",\n    \"    # Left: line-world geometry on top of summed Gaussian PDF background.\\n\",\n    \"    region_cmap = plt.get_cmap('tab10', K)\\n\",\n    \"    pdf_bg_sum, mode_peak = gaussian_pdf_sum_grid(GAUSSIAN_MEANS, GAUSSIAN_SCALE, x_min, x_max, y_min, y_max)\\n\",\n    \"    pdf_bg = normalize_density_for_display(pdf_bg_sum, mode_peak)\\n\",\n    \"\\n\",\n    \"    ax_l.imshow(\\n\",\n    \"        pdf_bg,\\n\",\n    \"        extent=[x_min, x_max, y_min, y_max],\\n\",\n    \"        origin='lower',\\n\",\n    \"        cmap='seismic',\\n\",\n    \"        vmin=0.0,\\n\",\n    \"        vmax=1.0,\\n\",\n    \"        alpha=0.82,\\n\",\n    \"        aspect='auto',\\n\",\n    \"        zorder=0,\\n\",\n    \"    )\\n\",\n    \"\\n\",\n    \"    ax_l.plot(GAUSSIAN_MEANS[:, 0], GAUSSIAN_MEANS[:, 1], 'k--', alpha=0.35, linewidth=1.0, zorder=2)\\n\",\n    \"    ax_l.scatter(GAUSSIAN_MEANS[:, 0], GAUSSIAN_MEANS[:, 1], s=180, c=jnp.arange(K), cmap=region_cmap, zorder=3, edgecolors='black')\\n\",\n    \"    for s in range(K):\\n\",\n    \"        ax_l.text(float(GAUSSIAN_MEANS[s, 0]) + 0.08, float(GAUSSIAN_MEANS[s, 1]) + 0.08, f's{s}', fontsize=10)\\n\",\n    \"\\n\",\n    \"    path_line, = ax_l.plot([], [], '-o', color='tab:red', linewidth=2.0, markersize=6, zorder=4)\\n\",\n    \"    obs_dot = ax_l.scatter([], [], s=112, marker='x', color='green', linewidths=2.0, zorder=5)\\n\",\n    \"\\n\",\n    \"    ax_l.set_title('State Path over Continuous Observation Density')\\n\",\n    \"    ax_l.set_xlabel('x1')\\n\",\n    \"    ax_l.set_ylabel('x2')\\n\",\n    \"    ax_l.set_aspect('equal', adjustable='box')\\n\",\n    \"    ax_l.set_xlim(x_min, x_max)\\n\",\n    \"    ax_l.set_ylim(y_min, y_max)\\n\",\n    \"\\n\",\n    \"    # Right: inferred state posterior q(s_t) over time.\\n\",\n    \"    heat_init = jnp.full((K, horizon), jnp.nan)\\n\",\n    \"    heat = ax_r.imshow(heat_init, vmin=0.0, vmax=1.0, cmap='viridis', origin='lower', aspect='auto')\\n\",\n    \"    ax_r.set_title('Inference Result: q(s_t)')\\n\",\n    \"    ax_r.set_xlabel('timestep')\\n\",\n    \"    ax_r.set_ylabel('state index')\\n\",\n    \"    ax_r.set_xticks(range(horizon))\\n\",\n    \"    ax_r.set_yticks(range(K))\\n\",\n    \"    fig.colorbar(heat, ax=ax_r, fraction=0.046, pad=0.04)\\n\",\n    \"\\n\",\n    \"    title = fig.suptitle('', fontsize=12)\\n\",\n    \"\\n\",\n    \"    def update(frame):\\n\",\n    \"        # Show states only up to current time t (edge for a_t appears at frame t+1).\\n\",\n    \"        state_path = states[: frame + 1]\\n\",\n    \"        coords = GAUSSIAN_MEANS[state_path]\\n\",\n    \"        path_line.set_data(coords[:, 0], coords[:, 1])\\n\",\n    \"\\n\",\n    \"        # Continuous observation sampled at current timestep t.\\n\",\n    \"        obs_dot.set_offsets(obs_points[: frame + 1])\\n\",\n    \"\\n\",\n    \"        # Show inference results up to current frame.\\n\",\n    \"        heat_arr = jnp.full((K, horizon), jnp.nan)\\n\",\n    \"        heat_arr = heat_arr.at[:, : frame + 1].set(jnp.stack(qs[: frame + 1], axis=1))\\n\",\n    \"        heat.set_data(heat_arr)\\n\",\n    \"\\n\",\n    \"        enc_idx = int(jnp.argmax(obs_probs[frame]))\\n\",\n    \"        q_idx = int(jnp.argmax(qs[frame]))\\n\",\n    \"        action_taken = 'None' if frame == 0 else action_names[int(actions[frame - 1])]\\n\",\n    \"\\n\",\n    \"        title.set_text(\\n\",\n    \"            f't={frame} | true_state={int(states[frame])} | encoded_obs_idx={enc_idx} | inferred_state={q_idx} | action taken: {action_taken}'\\n\",\n    \"        )\\n\",\n    \"\\n\",\n    \"        return path_line, obs_dot, heat\\n\",\n    \"\\n\",\n    \"    ani = animation.FuncAnimation(fig, update, frames=horizon, interval=900, blit=False, repeat=True)\\n\",\n    \"    plt.close(fig)\\n\",\n    \"    return ani\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"make_rollout_gif_anim = make_rollout_gif(rollout)\\n\",\n    \"make_rollout_gif_anim\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"21\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 11. Animation: Encoder Decision Regions + Control Trajectory\\n\",\n    \"\\n\",\n    \"The second GIF replaces the left-panel density background with encoder decision regions.\\n\",\n    \"\\n\",\n    \"Each region corresponds to the observation index predicted by the encoder, making the learned continuous-to-discrete partition explicit during rollout.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"id\": \"22\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"\\n\",\n       \"<link rel=\\\"stylesheet\\\"\\n\",\n       \"href=\\\"https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css\\\">\\n\",\n       \"<script language=\\\"javascript\\\">\\n\",\n       \"  function isInternetExplorer() {\\n\",\n       \"    ua = navigator.userAgent;\\n\",\n       \"    /* MSIE used to detect old browsers and Trident used to newer ones*/\\n\",\n       \"    return ua.indexOf(\\\"MSIE \\\") > -1 || ua.indexOf(\\\"Trident/\\\") > -1;\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  /* Define the Animation class */\\n\",\n       \"  function Animation(frames, img_id, slider_id, interval, loop_select_id){\\n\",\n       \"    this.img_id = img_id;\\n\",\n       \"    this.slider_id = slider_id;\\n\",\n       \"    this.loop_select_id = loop_select_id;\\n\",\n       \"    this.interval = interval;\\n\",\n       \"    this.current_frame = 0;\\n\",\n       \"    this.direction = 0;\\n\",\n       \"    this.timer = null;\\n\",\n       \"    this.frames = new Array(frames.length);\\n\",\n       \"\\n\",\n       \"    for (var i=0; i<frames.length; i++)\\n\",\n       \"    {\\n\",\n       \"     this.frames[i] = new Image();\\n\",\n       \"     this.frames[i].src = frames[i];\\n\",\n       \"    }\\n\",\n       \"    var slider = document.getElementById(this.slider_id);\\n\",\n       \"    slider.max = this.frames.length - 1;\\n\",\n       \"    if (isInternetExplorer()) {\\n\",\n       \"        // switch from oninput to onchange because IE <= 11 does not conform\\n\",\n       \"        // with W3C specification. It ignores oninput and onchange behaves\\n\",\n       \"        // like oninput. In contrast, Microsoft Edge behaves correctly.\\n\",\n       \"        slider.setAttribute('onchange', slider.getAttribute('oninput'));\\n\",\n       \"        slider.setAttribute('oninput', null);\\n\",\n       \"    }\\n\",\n       \"    this.set_frame(this.current_frame);\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.get_loop_state = function(){\\n\",\n       \"    var button_group = document[this.loop_select_id].state;\\n\",\n       \"    for (var i = 0; i < button_group.length; i++) {\\n\",\n       \"        var button = button_group[i];\\n\",\n       \"        if (button.checked) {\\n\",\n       \"            return button.value;\\n\",\n       \"        }\\n\",\n       \"    }\\n\",\n       \"    return undefined;\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.set_frame = function(frame){\\n\",\n       \"    this.current_frame = frame;\\n\",\n       \"    document.getElementById(this.img_id).src =\\n\",\n       \"            this.frames[this.current_frame].src;\\n\",\n       \"    document.getElementById(this.slider_id).value = this.current_frame;\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.next_frame = function()\\n\",\n       \"  {\\n\",\n       \"    this.set_frame(Math.min(this.frames.length - 1, this.current_frame + 1));\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.previous_frame = function()\\n\",\n       \"  {\\n\",\n       \"    this.set_frame(Math.max(0, this.current_frame - 1));\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.first_frame = function()\\n\",\n       \"  {\\n\",\n       \"    this.set_frame(0);\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.last_frame = function()\\n\",\n       \"  {\\n\",\n       \"    this.set_frame(this.frames.length - 1);\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.slower = function()\\n\",\n       \"  {\\n\",\n       \"    this.interval /= 0.7;\\n\",\n       \"    if(this.direction > 0){this.play_animation();}\\n\",\n       \"    else if(this.direction < 0){this.reverse_animation();}\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.faster = function()\\n\",\n       \"  {\\n\",\n       \"    this.interval *= 0.7;\\n\",\n       \"    if(this.direction > 0){this.play_animation();}\\n\",\n       \"    else if(this.direction < 0){this.reverse_animation();}\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.anim_step_forward = function()\\n\",\n       \"  {\\n\",\n       \"    this.current_frame += 1;\\n\",\n       \"    if(this.current_frame < this.frames.length){\\n\",\n       \"      this.set_frame(this.current_frame);\\n\",\n       \"    }else{\\n\",\n       \"      var loop_state = this.get_loop_state();\\n\",\n       \"      if(loop_state == \\\"loop\\\"){\\n\",\n       \"        this.first_frame();\\n\",\n       \"      }else if(loop_state == \\\"reflect\\\"){\\n\",\n       \"        this.last_frame();\\n\",\n       \"        this.reverse_animation();\\n\",\n       \"      }else{\\n\",\n       \"        this.pause_animation();\\n\",\n       \"        this.last_frame();\\n\",\n       \"      }\\n\",\n       \"    }\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.anim_step_reverse = function()\\n\",\n       \"  {\\n\",\n       \"    this.current_frame -= 1;\\n\",\n       \"    if(this.current_frame >= 0){\\n\",\n       \"      this.set_frame(this.current_frame);\\n\",\n       \"    }else{\\n\",\n       \"      var loop_state = this.get_loop_state();\\n\",\n       \"      if(loop_state == \\\"loop\\\"){\\n\",\n       \"        this.last_frame();\\n\",\n       \"      }else if(loop_state == \\\"reflect\\\"){\\n\",\n       \"        this.first_frame();\\n\",\n       \"        this.play_animation();\\n\",\n       \"      }else{\\n\",\n       \"        this.pause_animation();\\n\",\n       \"        this.first_frame();\\n\",\n       \"      }\\n\",\n       \"    }\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.pause_animation = function()\\n\",\n       \"  {\\n\",\n       \"    this.direction = 0;\\n\",\n       \"    if (this.timer){\\n\",\n       \"      clearInterval(this.timer);\\n\",\n       \"      this.timer = null;\\n\",\n       \"    }\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.play_animation = function()\\n\",\n       \"  {\\n\",\n       \"    this.pause_animation();\\n\",\n       \"    this.direction = 1;\\n\",\n       \"    var t = this;\\n\",\n       \"    if (!this.timer) this.timer = setInterval(function() {\\n\",\n       \"        t.anim_step_forward();\\n\",\n       \"    }, this.interval);\\n\",\n       \"  }\\n\",\n       \"\\n\",\n       \"  Animation.prototype.reverse_animation = function()\\n\",\n       \"  {\\n\",\n       \"    this.pause_animation();\\n\",\n       \"    this.direction = -1;\\n\",\n       \"    var t = this;\\n\",\n       \"    if (!this.timer) this.timer = setInterval(function() {\\n\",\n       \"        t.anim_step_reverse();\\n\",\n       \"    }, this.interval);\\n\",\n       \"  }\\n\",\n       \"</script>\\n\",\n       \"\\n\",\n       \"<style>\\n\",\n       \".animation {\\n\",\n       \"    display: inline-block;\\n\",\n       \"    text-align: center;\\n\",\n       \"}\\n\",\n       \"input[type=range].anim-slider {\\n\",\n       \"    width: 374px;\\n\",\n       \"    margin-left: auto;\\n\",\n       \"    margin-right: auto;\\n\",\n       \"}\\n\",\n       \".anim-buttons {\\n\",\n       \"    margin: 8px 0px;\\n\",\n       \"}\\n\",\n       \".anim-buttons button {\\n\",\n       \"    padding: 0;\\n\",\n       \"    width: 36px;\\n\",\n       \"}\\n\",\n       \".anim-state label {\\n\",\n       \"    margin-right: 8px;\\n\",\n       \"}\\n\",\n       \".anim-state input {\\n\",\n       \"    margin: 0;\\n\",\n       \"    vertical-align: middle;\\n\",\n       \"}\\n\",\n       \"</style>\\n\",\n       \"\\n\",\n       \"<div class=\\\"animation\\\">\\n\",\n       \"  <img id=\\\"_anim_img343974fe52204feeaa071e5e2dc61a2d\\\">\\n\",\n       \"  <div class=\\\"anim-controls\\\">\\n\",\n       \"    <input id=\\\"_anim_slider343974fe52204feeaa071e5e2dc61a2d\\\" type=\\\"range\\\" class=\\\"anim-slider\\\"\\n\",\n       \"           name=\\\"points\\\" min=\\\"0\\\" max=\\\"1\\\" step=\\\"1\\\" value=\\\"0\\\"\\n\",\n       \"           oninput=\\\"anim343974fe52204feeaa071e5e2dc61a2d.set_frame(parseInt(this.value));\\\">\\n\",\n       \"    <div class=\\\"anim-buttons\\\">\\n\",\n       \"      <button title=\\\"Decrease speed\\\" aria-label=\\\"Decrease speed\\\" onclick=\\\"anim343974fe52204feeaa071e5e2dc61a2d.slower()\\\">\\n\",\n       \"          <i class=\\\"fa fa-minus\\\"></i></button>\\n\",\n       \"      <button title=\\\"First frame\\\" aria-label=\\\"First frame\\\" onclick=\\\"anim343974fe52204feeaa071e5e2dc61a2d.first_frame()\\\">\\n\",\n       \"        <i class=\\\"fa fa-fast-backward\\\"></i></button>\\n\",\n       \"      <button title=\\\"Previous frame\\\" aria-label=\\\"Previous frame\\\" onclick=\\\"anim343974fe52204feeaa071e5e2dc61a2d.previous_frame()\\\">\\n\",\n       \"          <i class=\\\"fa fa-step-backward\\\"></i></button>\\n\",\n       \"      <button title=\\\"Play backwards\\\" aria-label=\\\"Play backwards\\\" onclick=\\\"anim343974fe52204feeaa071e5e2dc61a2d.reverse_animation()\\\">\\n\",\n       \"          <i class=\\\"fa fa-play fa-flip-horizontal\\\"></i></button>\\n\",\n       \"      <button title=\\\"Pause\\\" aria-label=\\\"Pause\\\" onclick=\\\"anim343974fe52204feeaa071e5e2dc61a2d.pause_animation()\\\">\\n\",\n       \"          <i class=\\\"fa fa-pause\\\"></i></button>\\n\",\n       \"      <button title=\\\"Play\\\" aria-label=\\\"Play\\\" onclick=\\\"anim343974fe52204feeaa071e5e2dc61a2d.play_animation()\\\">\\n\",\n       \"          <i class=\\\"fa fa-play\\\"></i></button>\\n\",\n       \"      <button title=\\\"Next frame\\\" aria-label=\\\"Next frame\\\" onclick=\\\"anim343974fe52204feeaa071e5e2dc61a2d.next_frame()\\\">\\n\",\n       \"          <i class=\\\"fa fa-step-forward\\\"></i></button>\\n\",\n       \"      <button title=\\\"Last frame\\\" aria-label=\\\"Last frame\\\" onclick=\\\"anim343974fe52204feeaa071e5e2dc61a2d.last_frame()\\\">\\n\",\n       \"          <i class=\\\"fa fa-fast-forward\\\"></i></button>\\n\",\n       \"      <button title=\\\"Increase speed\\\" aria-label=\\\"Increase speed\\\" onclick=\\\"anim343974fe52204feeaa071e5e2dc61a2d.faster()\\\">\\n\",\n       \"          <i class=\\\"fa fa-plus\\\"></i></button>\\n\",\n       \"    </div>\\n\",\n       \"    <form title=\\\"Repetition mode\\\" aria-label=\\\"Repetition mode\\\" action=\\\"#n\\\" name=\\\"_anim_loop_select343974fe52204feeaa071e5e2dc61a2d\\\"\\n\",\n       \"          class=\\\"anim-state\\\">\\n\",\n       \"      <input type=\\\"radio\\\" name=\\\"state\\\" value=\\\"once\\\" id=\\\"_anim_radio1_343974fe52204feeaa071e5e2dc61a2d\\\"\\n\",\n       \"             >\\n\",\n       \"      <label for=\\\"_anim_radio1_343974fe52204feeaa071e5e2dc61a2d\\\">Once</label>\\n\",\n       \"      <input type=\\\"radio\\\" name=\\\"state\\\" value=\\\"loop\\\" id=\\\"_anim_radio2_343974fe52204feeaa071e5e2dc61a2d\\\"\\n\",\n       \"             checked>\\n\",\n       \"      <label for=\\\"_anim_radio2_343974fe52204feeaa071e5e2dc61a2d\\\">Loop</label>\\n\",\n       \"      <input type=\\\"radio\\\" name=\\\"state\\\" value=\\\"reflect\\\" id=\\\"_anim_radio3_343974fe52204feeaa071e5e2dc61a2d\\\"\\n\",\n       \"             >\\n\",\n       \"      <label for=\\\"_anim_radio3_343974fe52204feeaa071e5e2dc61a2d\\\">Reflect</label>\\n\",\n       \"    </form>\\n\",\n       \"  </div>\\n\",\n       \"</div>\\n\",\n       \"\\n\",\n       \"\\n\",\n       \"<script language=\\\"javascript\\\">\\n\",\n       \"  /* Instantiate the Animation class. */\\n\",\n       \"  /* The IDs given should match those used in the template above. */\\n\",\n       \"  (function() {\\n\",\n       \"    var img_id = \\\"_anim_img343974fe52204feeaa071e5e2dc61a2d\\\";\\n\",\n       \"    var slider_id = \\\"_anim_slider343974fe52204feeaa071e5e2dc61a2d\\\";\\n\",\n       \"    var loop_select_id = \\\"_anim_loop_select343974fe52204feeaa071e5e2dc61a2d\\\";\\n\",\n       \"    var frames = new Array(8);\\n\",\n       \"    \\n\",\n       \"  frames[0] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQAA1OVJREFUeJzs3Qd4FNXaB/D/7qb3XgkECL2DgHQVBBUVexcrlosF0atgwS6o\\\\\\n\",\n       \"165XEcXuBQt2BRQQkSZFeq8J6YX0vjvf8x6+jZtNAptkky35/3xGksnu7Jkzs1PeOec9Ok3TNBAR\\\\\\n\",\n       \"ERERERERETkpvaMLQEREREREREREdDIMYBERERERERERkVNjAIuIiIiIiIiIiJwaA1hERERERERE\\\\\\n\",\n       \"ROTUGMAiIiIiIiIiIiKnxgAWERERERERERE5NQawiIiIiIiIiIjIqTGARURERERERERETo0BLCIi\\\\\\n\",\n       \"IiIiIiIicmoMYBGRyzrjjDNw4403OroY1Ipke8t2d1cffvghdDodjhw5Ytc6S0xMtNvyrJcdEBCA\\\\\\n\",\n       \"1iLrYct3viXq0VmOZ81dt/3792P8+PEIDg5Wy/n222/h7Gzd7uS6x9InnnhC7Y+uyFz2nJwcRxeF\\\\\\n\",\n       \"iMjtMYBFRDZZs2aNukjLz8+3a419//33GDhwIHx8fNC+fXs8/vjjqK6udomyO0JaWppaly1btjR5\\\\\\n\",\n       \"GT///LNahqPI9hg5ciT8/PwQExODe+65B8XFxQ4rD5ErHc+a64YbbsD27dvx7LPP4pNPPsFpp52G\\\\\\n\",\n       \"tojH0tZXWlqqzj2///47nIUzlqklg2zR0dFqnesLEp9//vkOKRsRUWMwgEVENgcdnnzySbsGgX75\\\\\\n\",\n       \"5RdcdNFFCAkJwRtvvKF+fuaZZ3D33Xc7fdkdedMl69LcAJYswxGk3GPHjlUX0C+//DJuvfVWvPvu\\\\\\n\",\n       \"u7j88ssdUh5yLXv37sW8efPgjFrreHb99dejrKwMHTp0aPR75X1r167FLbfcgrvuugvXXXcd2rVr\\\\\\n\",\n       \"h7aIx9LWJ8d9OffUFyx69NFH1f7pTGVyR1lZWXj77bcdXQwioibzaPpbiYia54EHHkDfvn2xdOlS\\\\\\n\",\n       \"eHicOBwFBQXhueeew7333ovu3bu3ehWbTCZUVlaqFhRkfw8//DBCQ0PVzYJsa/OT3ylTpqj9QLo2\\\\\\n\",\n       \"ETXE29sbbf14ZjAY1NQU2dnZ6l8JstlLeXk5vLy8oNfXfSZaUlICf39/u30Wue+xVL4z5u8NtZz+\\\\\\n\",\n       \"/fvjxRdfxL/+9S/4+vqyqonI5bAFFhHZ1PT83//+t/q5Y8eOqhl6c/PL7Nq1S0233XZbrYtWuajS\\\\\\n\",\n       \"NA1fffVVq5RdfpaWCJ999hl69eqlbpAXL16sbgrkb9ZPZeV9Ml/y0Fjas2cPLrvsMoSFhangl3TL\\\\\\n\",\n       \"ke5EjfXrr7+q7nVygym5hbp166ZuVISUZfDgwernm266qWZdzGVZtWqVaskkXZdkPRISEnDffffV\\\\\\n\",\n       \"eqoteU/eeuutmnU3T5YBvFdffVXVhayHdDe4/fbbcfz4cTRXYWGhWj9p9WG+4RKTJ09W6/rFF1/A\\\\\\n\",\n       \"nqTF3bRp01Q9SH0kJSXh+eefV+tovT3/85//qJZgnTt3Vq+Vet6wYUOdZcp2vuKKKxAZGaku/mX7\\\\\\n\",\n       \"PPLII7Ve8/fff+Pcc89V6yjrJS3O1q1bV2dZO3fuxFlnnaWWI61gpLWOZdmsW/eMGjVKBQMCAwMx\\\\\\n\",\n       \"ceJE9X5rks+od+/eatvJv998800Taw/48ssvMWjQIFW+iIgItd1SU1Prfe2hQ4cwYcIEVb64uDg8\\\\\\n\",\n       \"9dRT6ntsacGCBWp5Un6pmz59+uC1115rdi4kW+px+fLlKsAya9asWvM///xztf2b2yKhtY5nDeXA\\\\\\n\",\n       \"Mnf/+fPPPzFkyBC1/Tt16oSPP/641rHQ3GpLjomyDMvcaLJtb775ZvWdl++AHAPmz59f67PNx0XZ\\\\\\n\",\n       \"ltJiJj4+XnUFlu+2OR/awYMHcd5556ntfO211zbquCJ1JdtPtqMs98wzz6x3P7cFj6X2kZeXp4Kz\\\\\\n\",\n       \"8n2V7SvfXTm+bd26td5gpuxnXbt2Vds5NjYWl1xyidonZH+V46aQFk/mc4+5O3t9ObCk++3TTz9d\\\\\\n\",\n       \"c1yW/VXOhxUVFbVeZ8v+X59TlWnbtm1qv5ZlyTKly7t8R3Jzc09Zb0ePHlXnHDkOZ2Zmtsg5qaqq\\\\\\n\",\n       \"Sp2T0tPTYSs5Bkp5bDnmSQD6/vvvrymvnO+kXNbHdvN1lPn8Yz5+yLWUNVuOM0REJ8NHHUR0SnIB\\\\\\n\",\n       \"um/fPvzvf//DK6+8om5mhfnCr6CgQF1InYpcAJoTPstNvrDOvyI3v3LzYv57S5fdfHMrwRO5AJO/\\\\\\n\",\n       \"y8VwY7obyg3WiBEj1M3cjBkz1E28LE+6EH399de4+OKLbV6OXIRLKw4JAMjF3YEDB7B69Wr19x49\\\\\\n\",\n       \"eqj5cgEqN8oS0BDDhw+vCThId4g777wT4eHh+Ouvv1RXpmPHjqm/CblplK4zcnMn+W+syd/lBlkC\\\\\\n\",\n       \"ZJKb6vDhw3jzzTfV9pByeHp6qtdJziq5WTkVeb0kixaSd0duSKy3ubTekKfC9trmQuphzJgx6mJZ\\\\\\n\",\n       \"1kmCetKVdObMmepiX26mrQMZRUVF6rVyMf7CCy+ofUcCM+Z1lpsZqXP5Xepf9hO5Mfvhhx9UPiHz\\\\\\n\",\n       \"NpTXyE3egw8+qF47d+5clSx55cqVGDp0qHpdRkaGujmX+jDvM3KzUt8TcdlOkrdIAkRysyPrJjcf\\\\\\n\",\n       \"EuiUOjMHIaTVxaWXXoqePXti9uzZ6iZLtmNTuoiZ9wG5aZJlyQ2PBJtkH5DPtGzBYzQacc455+D0\\\\\\n\",\n       \"009X9SY3LebcT7K/Ctnfrr76ahXMk3UQu3fvVsuT1klNZWs9SoBLgkmyLvK9lDxVsh9I975x48bh\\\\\\n\",\n       \"jjvuqHmtMx/PTkaOFRJEl+6Bsr/ITaHcfEvQUG4SZX+W7SZBbdkWEmQyl1+2r2w/842oHB8laCrL\\\\\\n\",\n       \"kuCU3HRbkqCCfG8lsCHBBPlZyHaQ/VT2TbnRlSBUY44rcmyTAJaUTabNmzerlkTSKrYxeCy13/4m\\\\\\n\",\n       \"x0AJTMjDEXkIJPuKHNPk+CpBW9nHzccBOX8tW7YMV111lfpeyzFVvvs7duxQ3zM5bsn5Sc6Jsj8K\\\\\\n\",\n       \"Od81RLqYf/TRR2q/lkDK+vXr1XdYjh3WwflT7f/1kf38ZGWSssv6y34rwSvZr+T4Iv/KQ4mGks7L\\\\\\n\",\n       \"eUGOOfJAS5Yh1xUtcU6SZcl1gayv9UO1hsj5Scomy5P1bqgVlgSpLrzwQqxYsULVqZyjlyxZooLf\\\\\\n\",\n       \"8rlyPWVJgoeLFi1Sx1kJXr/++uvqfJScnKyuR5pynCEiqpdGRGSDF198UR65aYcPH67ztzFjxqi/\\\\\\n\",\n       \"nWq64YYb6iwvOTm5zvIGDx6snX766acsk3yu5TKbUnaZr9frtZ07d9aav2LFCvU3+deSLEPmf/DB\\\\\\n\",\n       \"BzXzxo4dq/Xp00crLy+vmWcymbThw4drXbp00Wz1yiuvqGVnZ2c3+JoNGzbU+Xyz0tLSOvNmz56t\\\\\\n\",\n       \"6XQ67ejRozXzpk6dqpZhbdWqVWr+Z599Vmv+4sWL68yXerdlm8s2Mvvyyy/VvD/++KPOZ19++eVa\\\\\\n\",\n       \"TExMg+tt+bmWy2zI008/rfn7+2v79u2rNX/GjBmawWCo2e/M2zM8PFzLy8ured13332n5v/www81\\\\\\n\",\n       \"80aPHq0FBgbWqkvztja76KKLNC8vL+3gwYM189LS0tT75P1m06ZNU8tfv359zbysrCwtODi41r5a\\\\\\n\",\n       \"VFSkhYSEaFOmTKn1mRkZGeq1lvP79++vxcbGavn5+TXzli5dqpbXoUMHzVaVlZVaVFSU1rt3b62s\\\\\\n\",\n       \"rKxm/o8//qiWNWvWrDr7wd13312rPiZOnKjqwbwv33vvvVpQUJBWXV2tNYesh+V33tZ6FCUlJVpS\\\\\\n\",\n       \"UpLWq1cv9V2VMkqZrLensx/P5LtvvW5SL9bfLakHb29v7f7776+ZZ97fpbyWbrnlFrXv5OTk1Jp/\\\\\\n\",\n       \"1VVXqbo0H1vMx8VOnTrVOd6Y9wX5jjXluCLllX1Gtovld+rhhx+uU9+nwmOp/Y6l8l0xGo215sl+\\\\\\n\",\n       \"JPvWU089VTNv/vz5aju9/PLLdZZh3p5yPJDXPP7443VeI/Msz0tbtmxRv9966621XvfAAw+o+cuX\\\\\\n\",\n       \"L2/0/l+fk5WpvnPq//73vzqfZS67LGv37t1aXFyc+t5bnlNa4pxkfq0t3w3LMq5cubLOtpI6lO+e\\\\\\n\",\n       \"2bfffqte88wzz9RazmWXXaauKQ4cOFAzT14n313LeVu3blXz33jjjUYfZ4iIToYtsIio2V566SWb\\\\\\n\",\n       \"upiZn9QKc7e2+nLaSMsGeRrXWuSpqLRaaWr3CmnBJS1N5GmpTGbSEkFaosjTSmmddSrmVi3fffed\\\\\\n\",\n       \"euJbX06Zk7F8kipN/6WOpXWWXF9KSwd54nsy0kpLWkudffbZtYYDlyfY0lJDnsRec801ap60LpIu\\\\\\n\",\n       \"ZaciOVps3eb2TOAr6yJPmuXzLddFWgHMmTMHf/zxR033JnHllVfWKqu5dZs87TbnDpL3SKsC63o0\\\\\\n\",\n       \"P4WXFgjSCkpa+EiXEzPpRiP1JsnHZb+W1lmSSF+eREt3FzN5Gi1l+u9//1szT57eS2tAaTFjuR6S\\\\\\n\",\n       \"A0lac8k2EfIEXxLkSyskc4s3IdtS9m3ZH2y1ceNGlehXutFY5oKTbouSx+mnn36qMwiAPE23rA/5\\\\\\n\",\n       \"XV7322+/qdYYsm9LGWR9pLWWvdhaj0JaA0krhdGjR6tJWii+//77dbanqx7PZDub91tzPUiXH/M+\\\\\\n\",\n       \"3BA5PkhLUekaKz9b7mdyDJPugtISSlqZmkmLj4ZabkirjqYcV2RfkZZW0irOsmWLtMqQPGKNwWOp\\\\\\n\",\n       \"/Y6llvu0HOPkeGTu3i77hZnsQ9LSqL5BCxpqqXSq77aYPn16rfnSEkta98nxRVpfNnf/PxnLfVxa\\\\\\n\",\n       \"HEvLYzneCFl3y88T0tJMziXSNVBaFll2lbf3OUlI61vr7ny2kOOf1J20wpLWp/V9l6X+5TwjLSat\\\\\\n\",\n       \"61+6RMv6WR73ZT2ku6OZtGKT9TeXtynHGSKi+jCARUTNJjcijWW+YLLOZWG+UGzN5KLSLaKppNuC\\\\\\n\",\n       \"XIw99thjaqqPBANsCWDJBet7772nuk1IIEK6W0mXAekWYUswS5rqSxccyb1lfQMu3aJOZf/+/ep1\\\\\\n\",\n       \"UVFRDa6H5c1CY4N+rbnNZV2ky59lV9GG1kVYBzHMNw7mejRfhEt+j4ZIkEu6ichNkzXp5iF5TlJS\\\\\\n\",\n       \"UlR3FsmPYu5OaMn6vbIeQrp81Md8gyTLE126dKl3mZY3mqdiXlZ96yEBLOkqYkn2TcuAnZAcOMKc\\\\\\n\",\n       \"p0m6lUi3WsmdI98F6RYmNzLNDWbZWo9mcnMkARbJAyc3TZKLxV2OZ/UFqGU/PlUwTvZbCUpI1yiZ\\\\\\n\",\n       \"bPm+NHTMlPxf1l1WbT2uNLQPy3fY8kbeFjyW2m9/k+OWdB+WgLB0/ZQglpm5a5i525x87+yViF32\\\\\\n\",\n       \"Bzm2SDDIknTlkwCleX9p7v5/qgdUEqyX4Ir1d6C+c+oFF1ygcjtJVztz99yWOic1lzygkId377zz\\\\\\n\",\n       \"jupWbE3qV4L00h3Q+lxm/vvJymsus7m8TTnOEBHVhwEsImo2ucizJUeJ3MSZW4dIqxRzyxFJEGpJ\\\\\\n\",\n       \"5lm2qGhp9d1cNvTE2PLiXZiTr0ouGLkhro/1BfjJyiFPYaVFgjxdllxCCxcuVMELadlzspHHpFzS\\\\\\n\",\n       \"wkG2xUMPPaQCDZIPSFp/SR6QhpKDW6+L3GRKQvv6WF54y8W7LS2mJDeO5AGx3ubWZJ5li5bmknWR\\\\\\n\",\n       \"+pCWYvUxB1jMGqrbpjzdtifzdpM8WHLjZs1VRu2S/UpaiMmNnTy5l+mDDz5QCfwlx01rkQCTeWAG\\\\\\n\",\n       \"ueGWgKM5T5OrH8+aug+b9zFpUSktq+pjnaeooYCctNaxDrY35rhiLzyW2u9YKq3f5OGMBHsl95kc\\\\\\n\",\n       \"z2UbS8s4W84rzWVr662WOIZLkF3yVEneJ8kBJUEpWWcJvNe37pLzSY5nsq9L7ipnPidJKyzJzWhu\\\\\\n\",\n       \"hdVcpypvU44zRET1cY0rXyJyuJNdREorIUlQfSqWiUblYtDcXcny5k4SjEvScUmSbS9N6b5gftpp\\\\\\n\",\n       \"nczd+qmjueWJJFWVJvTNJTcG0vJKppdfflndPMgodxLUkuU3tC6SIF2S1cvFswQFzKTLlrWGliHN\\\\\\n\",\n       \"/6Ubj7RSOVWLEelKZ0vgQZ7wmgMG0npJAi6yzeXGwEyCBRLcsJzXXLIu0t3DHtvEcjtLF5GGyI24\\\\\\n\",\n       \"BEP27t1b528yUpRsW3NwQ0aDM7eusmT9XnOXDAkAnGxdzKPL2bLMUzEvS95n3fJL5pn/biY3JtJC\\\\\\n\",\n       \"zfIGTPZFYTnKnQQzpYWCTPIeaZUlyaDl5tjWIG99ZW3MOkuXXkkALV2QJNArLR0l2bArHc/sTfZb\\\\\\n\",\n       \"aWUhQXB7fV+aclyx3IctW/RJy42mtDrhsdQ+pLuYdDeT7raW5NxoHhTFvJ0lyboMgGBOMt6cc7Hs\\\\\\n\",\n       \"D3KckP3B3OrHnAhcPtv6ONRUDZVJ9jlJSC8tsCxHL63veGP24osvqnOcOZG5uct9S5yT7NUKS4JY\\\\\\n\",\n       \"chy2JvUr31tJi2DZCkvOZea/O9NxhojajsYlWCGiNkta84j6RueTnDESKDnVZPnkUbpRSSshaUpu\\\\\\n\",\n       \"2apJRgSSC0rpNtcaZW+IXJzJE0VpEWXJOq+OBBbMF4D1tSySmy9bScsPa+YbY3PXpIbWxfz00/Lp\\\\\\n\",\n       \"rPwsXT+sNbQMCSDJtpCn7NZkdDHL18u2tGWby75hJq1V5ML1008/rZUrTFoXyYW9jHJlL7Iua9eu\\\\\\n\",\n       \"VS1+rMl6yPo09uJbnljLyFbSVdOSuc5lG0jXOMlhZu46Z77hkhGlZGQ2c5c/GWFNRrGSPEyW+4p1\\\\\\n\",\n       \"KxVp1SfvkUBmfSPjmfcvaQEk+4oEFS27tsg2kJHCGkNG0pP9WrqWWHaJk1ZTEvyRXFjWZEQ5y/qQ\\\\\\n\",\n       \"3+UmVgKxwnrYeQkumJ+219ftzla21qOQm2sJXEnLEcnjIq0qpJzWwSpnP57Zm+y30nJE8tPUF6Bt\\\\\\n\",\n       \"zDGsPrYeV+TYIPuMjJxqeRyzHp3NFjyWXm7X/cO61Y/kc5LWvZZkH5K8RpbHAjPz+82tHW05F8t3\\\\\\n\",\n       \"u77tLw92RH3HoaZoqEz1nVPrK48l+a7LMUC+7xLglu78LXVOEnJOkIBSfdcetpAHTHL9IiPDWo8q\\\\\\n\",\n       \"LPUv31vr7SmjD8p6SndwZzrOEFHbwRZYRGQTc14YaQ0kSZnlRkNaUkgwpCk5Y8xPK2WYZrnpl2XK\\\\\\n\",\n       \"RY1cLEkOKMsnri1Z9oZIsEUCKnIzJRdr8vT0xx9/rDdHg+TTkeBEnz59MGXKFNV6QIIWcrEqrS+2\\\\\\n\",\n       \"bt1qUzklEbwEzOTCXAJo8lkSMJOcMrJ8IeWQ/B8SXJCnmbIOkgNIbp7lb9KVUW4sJOghF4r1tVww\\\\\\n\",\n       \"14ckZ5UAiVxYSr3Ixax0e5BhyqVFlGwXqSt54iw3LBIMM9+INyUHlnj22WdVYnn5LGmVIvUjAQP5\\\\\\n\",\n       \"LHsm95bghNw8yLDu5qHUJYm4tFSTFgUSYLJsPWALaakj22HgwIGq7JIHSJYj3T2lvsQzzzyjghvy\\\\\\n\",\n       \"OnkKL0/jJbgpQRrpqmEmwQ8J3Mk6S2s22Y5y4yPbXfKkmMl2lCDI9ddfrz5XtpME0ySIJp8rrVrM\\\\\\n\",\n       \"Nxiy3WTfkc+W7j5yEy/7rwRXJEBoK9nmckMjAwnIdpIE8rI/y/aXFlXW+VIkSbl0d5UbNtkXJdAl\\\\\\n\",\n       \"ZXv44YdruofJd1rKIy26ZH+WloxSNgm6Nee7bms9ys2ZlE/yK8k+KKRlxQ8//KDWU/YL8/HA2Y9n\\\\\\n\",\n       \"LUGSSEsrT9l+cgyT77ZsL8mdJq0w6gsI2crW44rsK3L8ktfJ91ZuoGXwCdmfGvtd5bHUfsdS2RZS\\\\\\n\",\n       \"n/I9kWO3fFckQGyd905a/n788ccq6boElCXpuBxzZf+RY+GkSZNUCzzZt6RrvLTYlO6I0jK3vtyC\\\\\\n\",\n       \"/fr1U99Z+T5LgEf2I1muBOlloAzLBO7NcbIyyUMLOW5LoEhy90lXfskDdjISnJeHNFJGCVpJMnQ5\\\\\\n\",\n       \"7rXEOUnO9XJssWwN2ljSKrW+upRrJJkv101SNtkesv7ygEYeAlgmbHeG4wwRtSEnHaOQiMiCDAMd\\\\\\n\",\n       \"Hx+v6fX6OsO4N9U333yj9e/fXw133a5dO+3RRx/VKisrbXqvrcPOn6zs8vPUqVPrfY8MN33ppZdq\\\\\\n\",\n       \"fn5+WmhoqHb77bdrO3bsUO+RoewtHTx4UJs8ebIWExOjeXp6qs86//zzta+++kqz1bJly7RJkyap\\\\\\n\",\n       \"IbhlSGr59+qrr64z7LYMp92zZ0/Nw8OjVll27dqljRs3TgsICNAiIiK0KVOm1AxlbVne6upq7e67\\\\\\n\",\n       \"79YiIyPVcNjWp4J3331XGzRokObr66sFBgZqffr00R588EEtLS1Ns4dVq1Zpw4cP13x8fFQZpP4L\\\\\\n\",\n       \"Cwtteq+tQ7+LoqIibebMmVpSUpKqT6kT+dz//Oc/NfuYeRjyF198sc776xtaXbb/xRdfrIWEhKjy\\\\\\n\",\n       \"d+vWTXvsscdqvWbz5s3ahAkT1HaQfefMM8/U1qxZU2f527ZtU+siy5H9RfbR999/v97v1ooVK9Qy\\\\\\n\",\n       \"ZahxeX3nzp21G2+8Udu4cWOt13399ddajx491PdJ9pFFixapOpMh0htr4cKF2oABA9SywsLCtGuv\\\\\\n\",\n       \"vVY7duxYrdfIsmVoeNn/x48fr9Y3Ojpa1ZvRaKx5nXwP5O9RUVFqW7Rv3159n9LT0xtVJlkP6++8\\\\\\n\",\n       \"LfV43333qaHq169fX+u9Un/yPbrzzjs1e2iN45l8l633EamXiRMn1rtMy+/Lyfb3zMxM9V1MSEhQ\\\\\\n\",\n       \"xzA5lo0dO1YdDyz3Q3n/l19+Wef95n2hIbYcV2SfefLJJ7XY2Fj1ujPOOEN95+rb7ifDY6n9jqXl\\\\\\n\",\n       \"5eXa/fffX7NNRowYoa1du7bOviVKS0u1Rx55ROvYsWPNPnTZZZep44OZHAtlP5DjgOUxVv61PhdV\\\\\\n\",\n       \"VVWp/cG8PNk35ZguZbJk6/7fkIbKJMc78/Fejr2XX3652l+tzw3msss1g2VdyGfLeWDdunUtck4y\\\\\\n\",\n       \"v9aW70Z9ZbSsJ/mbdR1KeeXYKdciUv9dunRR5TKZTHXKVd91VH3fW1uOM0REJ6OT/zk6iEZE1BTS\\\\\\n\",\n       \"9F1ahDT1ySO5HnlyLU+DzXm1iNwFj2fUmngsJSIiV8QcWERERERERERE5NSYA4uIqBVkZGScMg+H\\\\\\n\",\n       \"5N0iakmSY0RGfWyI5EMz561qTfx+EPcVIiIiOhUGsIiIWoGMEncyzUnCSmSrSy65pM6oe5Yk+bnl\\\\\\n\",\n       \"CIqthd8P4r5CREREp8IcWERErUBG2DmZuLi4Jo3qR9QYmzZtqndkSsuWgDKyYWvj94O4rxAREdGp\\\\\\n\",\n       \"MIBFREREREREREROjUnciYiIiIiIiIjIqTGARURERERERERETo0BLCIiIiIiIiIicmoMYBERERER\\\\\\n\",\n       \"ERERkVNjAIuIiIiIiIiIiJwaA1hEREREREREROTUGMAiIiIiIiIiIiKnxgAWERERERERERE5NQaw\\\\\\n\",\n       \"iNzUhx9+CJ1Oh40bNzq6KFSPI0eOqO0j26ktSExMxI033tio9zzxxBOqjtrqd1f2ESKillZcXIxb\\\\\\n\",\n       \"b70VMTEx6tgzbdo0VroTk3OpnFMdLSUlBT4+Pli9enWrfF5ubi78/f3x888/t8rnEZFzYgCLXM72\\\\\\n\",\n       \"7dtx2WWXoUOHDurEGR8fj7PPPhtvvPFGrdc999xz+Pbbb5v8Obt27VI30Pa+ifz999/VBaJ58vT0\\\\\\n\",\n       \"RKdOnTB58mQcOnSo0cv773//22aCICcLBDU0zZkzB22ddR3JPhcREYHhw4fj4YcfRnJysqOL6HSs\\\\\\n\",\n       \"96OgoCCMGTMGP/30k6OLRkRk1wdWcr0ky7jzzjvxySef4Prrr2/TNexqx//S0lJ1vSrXl63pqaee\\\\\\n\",\n       \"wtChQzFixAi7LlcCVLI+1sLDw1Wg9bHHHrPr5xGRa/FwdAGIGmPNmjU488wz0b59e0yZMkU9LZQn\\\\\\n\",\n       \"QOvWrcNrr72Gu+++u9YFmQS6LrrooiYHsJ588kmcccYZLfKk65577sHgwYNRVVWFzZs3491331UX\\\\\\n\",\n       \"RxKgi4uLa1QAS4IRjW3d4m6uvvpqnHfeeXXmDxgwwCHlceY6MplMOH78ODZs2IBXX31VfXfef/99\\\\\\n\",\n       \"XHXVVS322Xv37oVe37hnJo8++ihmzJgBR5HAuASWNU3D0aNH8fbbb+OCCy7AL7/8ggkTJrTY58rN\\\\\\n\",\n       \"o2wLb2/vFvsMIiKz5cuX4/TTT8fjjz/OSnHw8b+pASy5XhVyzdoasrOz8dFHH6nJ3iSA9dZbb9Ub\\\\\\n\",\n       \"xLrjjjvw+uuvq332rLPOsvtnE5HzYwCLXMqzzz6L4OBgdeMdEhJS629ZWVlwJaNGjVIBNnHTTTeh\\\\\\n\",\n       \"a9euKqglFwMzZ850dPGcSklJiWo2fjIDBw7Eddddh7aqqXUkF+bjx4/HDTfcgB49eqBfv34tUr6m\\\\\\n\",\n       \"BGM8PDzU5CjynbSsr0svvRQ9e/ZUAb+WvIExGAxqIiJqDXL9JMc2e5GHJJWVlaqVvKty1PHfVXz6\\\\\\n\",\n       \"6afq/CxBvdYk1ym9e/dWLQYZwCJqm9iFkFzKwYMH0atXrzrBKxEVFVXzszT5lht6CQaZm4CbWyjJ\\\\\\n\",\n       \"Dfu//vUvdOvWDb6+vqpJ8uWXX16rq6CcGGWekBZf5mVYNs+Wp3AShJKgQWBgICZOnIidO3c2ed3M\\\\\\n\",\n       \"J+LDhw+rfz/44AM1T9ZLbv7lwkmeAFqSlmHymStXrqwpo/XTt4qKCkyfPh2RkZGqrBdffLF6cmYL\\\\\\n\",\n       \"ecJlXkep80mTJmH37t01f//qq6/UZ8rnW5s7d676244dO2rm7dmzRwXtwsLC1IXtaaedhu+//77e\\\\\\n\",\n       \"rhCyTNlOsv7t2rWDPUh9nX/++fjzzz8xZMgQVQbpvvnxxx/XeW1+fj7uu+8+9R6pfymDPI3Nycmp\\\\\\n\",\n       \"ddF/yy23IDo6Wi1Lgj/1PY2UZcn+J8FXqUcJFsm8+rR2HUlXXFme3Gy88MILdcotuVASEhJUHSQl\\\\\\n\",\n       \"JeH5559XNyeW5He5qO/Tp48qs+xr55xzTq3uLNY5sKTloTwx7tKli3qPfA9HjhyJX3/99aQ5sKqr\\\\\\n\",\n       \"q/H000+jc+fOqkyyXOkGKft5U7d1Yy6cpbWjHIcsyWdLywWpHymT1NeDDz5Yp0xlZWUqSC3LkGPG\\\\\\n\",\n       \"hRdeiNTUVLWOlk+aG8qBJa0t5fgnnyGtNKdOnVpnP5Lvv1zcSwtSOXb5+fmpbtbW21ZIt2tZnrwm\\\\\\n\",\n       \"NDRU7Wuff/55k+uHiJyHHG8DAgLUMUZaosvPcmx+4IEHYDQaa6U0kOsOaQFuvo4wH3tsPbbJe+66\\\\\\n\",\n       \"6y589tlnNceoxYsXq7/J5998883qPCnz5e/z58+v9X5zOb744gv1oFLOZ3LMHjt2LA4cOFBn3dav\\\\\\n\",\n       \"X69aE8txS65P+vbtq85BjT2XtubxX85tco6TawDZFnINKueuUx33zXXTUPdAeb1sVyHnVPM2NJ9T\\\\\\n\",\n       \"5FwrdZGenm7TekrqDTmHSJ3Jv9988029ObfkddJ9UNbF0v79+1WwT3pIyDJkW0qL4oKCAps+Xz5L\\\\\\n\",\n       \"Wl8Jy26c1q3jfvjhB9U6jojaHrbAIpciN9tr165VQRE5sTZEcjhIP3m5cb3tttvUPLnhFdJ6S7oi\\\\\\n\",\n       \"yglVTqxy8pfAkNz4yU2f3MyNHj1a3WhKM2W5wJALF2H+V5YvQQh5Cic39NJ8W5YhFyd///13k7oc\\\\\\n\",\n       \"mi+K5EZeyPLkQk9ucuUpl5ysJVghwQK5cRXS/Uu6TcoFxCOPPKLmyUWiJfm7XOTJBZasq7xHLjQX\\\\\\n\",\n       \"Llx40vL89ttvOPfcc9VNv1wIyc233PBKrgPp8ijrKEE7+Wy56JT8EJZk+VJ+83aSQJu8V26mpVuY\\\\\\n\",\n       \"XHTK++TC+uuvv1aBNUuyrnJRNmvWLBWMPBXZBpbBJTO5WLRsxSMXw3JRK4En2YZyIS0XTIMGDVLl\\\\\\n\",\n       \"NSe0lcCdBOvkwltaLsmy5eL32LFj6iJW6kP2GVme1GfHjh3x5ZdfqmVJUOHee+9Vy5ILLAn8SSBF\\\\\\n\",\n       \"mr7LPiQXhPLZ1lq6jhoybNgw9f2wDB5Jfco2lZuP22+/XXXble+NtA6UC2HZj8ykLuXiW/YX+d5J\\\\\\n\",\n       \"kGnVqlWqa6/cNNRH9qnZs2fXfE8LCwtVwEv2Lbk4bYi8XoKEsg3vv/9+dSMjy5FtJfVqyZZt3Rhy\\\\\\n\",\n       \"AS5dL83HEiHfR/mOyvaVY41sX+kG/Morr2Dfvn218vDJZ8v2lC6C0l1HApDyHbKF1JfcnIwbN07l\\\\\\n\",\n       \"qZEumXKMkOOZJNCVvGZmUkYJIF5yySW44oorVKD5oYceUgFG2UZi3rx56hgn9SP7anl5ObZt26bq\\\\\\n\",\n       \"85prrml03RCR85FAlVynSKDhP//5jzqvv/TSS+oYJscROV7J9Yw8rJHrITmmCjmvNObYZn7gJcc3\\\\\\n\",\n       \"OR/KOVKuETIzM9WxzhzgkuXKwz85Jssx3zpZvOSslK7mEmST460E3q+99lp1XDKT85Q8nIiNjVXH\\\\\\n\",\n       \"LgmUyPH/xx9/rDnvNvZc2tLHfymPlFkCbZI3SgJdcn6yR/JzqVM5F8j2lPWS476QzxJyDpdyyTnw\\\\\\n\",\n       \"VPlSly5dWtPSTM6rkjRdeghYPyCToJice+QzLcmDMNnfJHgn156ybeTzZdvIdZE8xDsVud5IS0tT\\\\\\n\",\n       \"21n2zfrIOVzqWOr1ZPcCROSmNCIXsnTpUs1gMKhp2LBh2oMPPqgtWbJEq6ysrPNaf39/7YYbbqgz\\\\\\n\",\n       \"v7S0tM68tWvXymMc7eOPP66Z9+WXX6p5K1asqPXaoqIiLSQkRJsyZUqt+RkZGVpwcHCd+dZkebLc\\\\\\n\",\n       \"+fPna9nZ2VpaWpr2008/aYmJiZpOp9M2bNjQYDknTJigderUqda8Xr16aWPGjKnz2g8++EB9zrhx\\\\\\n\",\n       \"4zSTyVQz/7777lP1l5+ff9Jy9u/fX4uKitJyc3Nr5m3dulXT6/Xa5MmTa+ZdffXV6nXV1dU189LT\\\\\\n\",\n       \"09XrnnrqqZp5Y8eO1fr06aOVl5fXzJNyDR8+XOvSpUudco8cObLWMhty+PBh9fqGJtm2Zh06dFDz\\\\\\n\",\n       \"/vjjj5p5WVlZmre3t3b//ffXzJs1a5Z63aJFi+p8nrkuX331VfWaTz/9tOZvsh/KfhkQEKAVFhaq\\\\\\n\",\n       \"ed9++6163QsvvFDzOlmvUaNGqfmyvq1VRy+++GKDr5k0aZJ6TUFBgfr96aefVt+hffv21XrdjBkz\\\\\\n\",\n       \"1P6TnJysfl++fLl63z333NNgXZnr3vL72K9fP23ixIknLffjjz+ulm22ZcsW9futt95a63UPPPCA\\\\\\n\",\n       \"mi9laey2boi895ZbblHfUXnfxo0btXPOOadOPX7yySdqX1+1alWt97/zzjvqtatXr1a/b9q0Sf0+\\\\\\n\",\n       \"bdq0Wq+78cYb1XxZV+vtK9vNXG4vLy9t/PjxmtForHndm2++WXMsMZNjgfWxrKKiQouJidEuvfTS\\\\\\n\",\n       \"Wttbjh1E5PrMxwzz9YOQ463MszwPiwEDBmiDBg2qNU+Ol9bHY1uPbUJ+l9fu3Lmz1mvlGBobG6vl\\\\\\n\",\n       \"5OTUmn/VVVep6yXzdY75uqhHjx7qeGX22muvqfnbt29Xv8v5rmPHjqq8x48fb/B8Y+u5tLWO/6+8\\\\\\n\",\n       \"8or6XZbXEOvjvpm5biyvRWXbSh2YyXKtzyPW5//6rofru+6T7WV5fSjX3fJ+y887cOCAmvfGG2/U\\\\\\n\",\n       \"ev/ff/+t5sv1c3NMnTq11rnf2po1a9TfFy5c2KzPISLXxC6E5FKkZYa0wJInXlu3blVP5+Rpjzxl\\\\\\n\",\n       \"s7VpuHQbtHyKJE+YpOm3tNSR1h+nIk+F5EmSJMSWVjnmSXLWyFPOFStW2FQOadkjT86kK5C0wjB3\\\\\\n\",\n       \"eTS3WLEspzz5k8+QFjEyUqGtTbGFPBW0bH4tLYvkqax0pWyItLDZsmWLajEize/N5ImebAPLIYyv\\\\\\n\",\n       \"vPJK1ZXOsnm7tPiQJ5PyN5GXl6eezkprkKKiopo6k7qX7SdNzuUpnSVJ0t+YPECynrJtrCfrvB7y\\\\\\n\",\n       \"u9SBmWwDacpvOQKkPKGV7oD1PaU116XUgTxdlP3ATFrBSKsWacFl7lYpr5MWYJZPKmW9LAccaK06\\\\\\n\",\n       \"OhlzNwD5bCGtyaSepPWe5X4uLYBk//njjz9q6krqpL7kv9bN/i3J902ensp62cq830mXWEvmVgPW\\\\\\n\",\n       \"I0TZsq1PRhLby3uki6Z8L5ctW6a6hlh+vtSTPN3u3r17rXoydwk2Hw/M3Wmk1Zwl6/2gPtJqQp5s\\\\\\n\",\n       \"S2sFy0T4sv1ldCzr9ZZtaZm7xcvLS7Vys1xvqX9pTShP0YnIfUnLX0tyTLTlGGjrsc1Mrk8sz7cS\\\\\\n\",\n       \"B5Lzg+RIkp8tlyHnNLmOsb7mktY+cryyLKswl1dauEt3RzkWWqeSMJ9vmnIubenjv7ms3333XZ0u\\\\\\n\",\n       \"+C1NWsJJ/Z+q9ZX5uk9aalm2lJJrPuvrKKlLIdcHlszvW7JkiWrF3VLMn1tfq3sicn/sQkguR0bu\\\\\\n\",\n       \"W7RokbqhkyCWdBuSpsTSFUZOvqdKRCpdv6RptOSYkosYyz70tgSGzDfcDSWPlBtKW0i3L7k4kwCE\\\\\\n\",\n       \"NLeXiyDLrm7StFyCAhKws74QkHLa0hRbSNev+k780hS+IebgltzsW5NyysWJOWm4dFWSskiXQclX\\\\\\n\",\n       \"IeTn/v37qySoQprKSz3L0McNDX8sQTAJRJpJl7zGkFxKElxpbH2Y68SyPqQ7pzSjPxmpI/lM65H1\\\\\\n\",\n       \"zN1MzXUo/0pXB+s8EdZ12xp1dDISdBOSm8m8n0uXMnNujfrKYq4rCcJaBjptId0opGul7CPSBUD2\\\\\\n\",\n       \"I+laZ+72UB+pS6lvCThbkkCi3CBYB2Vt2dYnI+WTbi9yrJFAj4xsKt9Fy20u9STdV05VT+ayW28z\\\\\\n\",\n       \"63VpzPdRbvSki6/1ekt3D+vgoay3bE8z6VIogTEJbEkZJJG/dB2093DoROQ45pyETTkG2npsM7M+\\\\\\n\",\n       \"tkmuTXnYJyMsy2TLMk51vWJOtXCybmNNOZe29PFfHua99957qgu8dGmUayXp6ifXrY0dnbelmM8j\\\\\\n\",\n       \"cl1jTc499T3gtc5BJfuABPhefvlllQ9NrnHlgbM8ULH1mtUW5s892UMyInJfDGCRy5KbNwlmySQ3\\\\\\n\",\n       \"wfLkTp6GnWoYaGnxIMEreYInuX/kpConQcmJZcuTMfNrpG++3Dhbs3XUNMlH01DARS7S5AJHnurJ\\\\\\n\",\n       \"hYAkBZX1lRYoEqxrzBO8hlro2Cv5peRykLwSEkiUJNOS80KCb3KxZ2Yur+S1aGj0HusbecsWaPbU\\\\\\n\",\n       \"0vXRVI6uI8krJ0+azQFYKY88eZUnzvUxByebSvLMyX4uT6Ql74Zc3Mu+/c4776iL/JOx9aK1udta\\\\\\n\",\n       \"AkHm76gkDJZAs9zQSHJ0c54RqSf5Lsv3tD7y3W1ttqy3BFolj5bkJpHWYdJSQr6/Elg3D8dORK6t\\\\\\n\",\n       \"OS10G3tssz4fmc9pEryoL+ejsH5gYY/zc1POpS19/Je6kVbL0iJLWszKMVce9MmDUDn/yXo3dF4z\\\\\\n\",\n       \"J9x3JuZcrfUFQiXHmrTeN5/bpVW6PDSWnJj2GpDH/LmyTYio7WEAi9yCudud5SgrDV0MSPc2uZiS\\\\\\n\",\n       \"k6yZJDC2Hs2rofebE3jKzb4tLX6aQhK2SxJM6RZp+USyvu6JLfEESpLlC7nBtSaj2chFg7S+MpOn\\\\\\n\",\n       \"i9L9UZrYy9NIudg0dx8U0krE3MWuperMnmQbW46e2FAdSYsWuYC1fIIq9WP+u/lfqRdp4WTZCsu6\\\\\\n\",\n       \"bh1ZR9LKT4JJlt3OpA6kzKcqi7xOWuRJt43GtsKS10vgWSb5LAlqSbLyhgJYUpdS3/LU29zSTUjQ\\\\\\n\",\n       \"VL6/5jpvKZJcVoJsjz76qOpeKt89WX9pCSoB55N9F81ll+4vlk+46xthq773mvcZ834ipGWALK+p\\\\\\n\",\n       \"+4t8h+V7KpMsS27KZAQwSdQvLTeIqO2y9djWEGmVJC16JQBjr3Oa+fpLzs8NLbOlzqXNOf4LuU6Q\\\\\\n\",\n       \"18kkAS95yCeD78h1nZTT3NrM+lr0ZOke7HkdaD7P1Net3/p6Ra5LJShnHjXbmgT1ZJK6ksFfpGWv\\\\\\n\",\n       \"PJx65plnbCrLqdbH/LmW1wFE1HY4R7tVIhvJib6+J3Hm3DiWXWzk5sz6QkDIky7rZcjoetZPucwB\\\\\\n\",\n       \"GutlyBM9aaUiFx+SQ8uaNJtvLvNTSOvujdJyzFpD69kc0uVNugBKUMpy2XLRKE/U5GmkJbn4kmCE\\\\\\n\",\n       \"PFGUSbolWXYnkGCfjNg3d+7ceodytked2ZN0HzR3T7Vm3iZSBxkZGbVGc5TR92RfkkCVeVRGeZ3M\\\\\\n\",\n       \"l1GCzGRfk9dZclQdycWxPC2VFn7//ve/a+ZL/hAJbElwyprsE7JO5rqSOqmv1c7Jnpqbc2iYSZ3J\\\\\\n\",\n       \"U3Hrocctmfc7yxEQhfnpt60j+jWVtK6UfFsSpJWny+Z6kq7IMqpffd2VzaNDmlsCSCsnS9b7QX3k\\\\\\n\",\n       \"+yXbR0ZFtaxTydEix4WmrLd1/cvypfu1LL++4xoRtS22HttOdh0j5wdp3VnfA6GmnNNkRGC5tpBz\\\\\\n\",\n       \"gPV1j/nY2FLn0uYc/+UBjzW5xhLmc545OGfOL2m+Vmio+6UlGT1b1HctKMdzebBWX100dN1nmU5D\\\\\\n\",\n       \"conKCN2WJDgoD45l5GBLMrKk+drATAJZErw72bndWkPX32abNm1SvSeaMpowEbk+tsAilyLd/yQH\\\\\\n\",\n       \"gTz9ku510mpAnu5IEEESVUpLDsthdiXHi9zcSo4eueiRJOsylLF0/5OTn9ywyU26vM7cJNpMTuRy\\\\\\n\",\n       \"Afb888+rk7l0lZPm3nJxJMEIydcjF1PS9VCeNCYnJ6um4fKk6c0332zWeko+GrmhlOSn8tRPWqfI\\\\\\n\",\n       \"BZJ8tvVFiKynlEeebEkAQF7TUH6uxnjxxRdx7rnnqm6WMuS1XIzJzbbUm7SSsb6YkdYbCxYsUBds\\\\\\n\",\n       \"Mly3tbfeegsjR45UFzOSfFqekkrLGal/SSYtAaPmkPwMn376aZ35clEo69AYEsiRlnqXX365SrYv\\\\\\n\",\n       \"dSwXoNIiTp4iSoJ3SRovF8gS/JGLKdn/5D3SfVIurs25pGQbyj4heS+OHDmi9jnJ4VZfvrXWqiNp\\\\\\n\",\n       \"CSQXhpLXw5yEXb4Tlt05pA5kfeX7IusodSDbVoYIl/WUdZGWeNKdQr4LElyRJ7eSy0qWv2rVKvU3\\\\\\n\",\n       \"6XJRH6kHucmQ5UrwUy6EZbkNvV5IvUvrSbmgl/JLkPCvv/5SF9zSjVU+r6VJXUg3OzkuyGfKusvw\\\\\\n\",\n       \"7JIoWQLssq3lpkNuGGS+BADlQl/WU27mZN+Q4JEMLS+J/mWo9VM9cZbji7SKkiCh1K/kFJEn4hIM\\\\\\n\",\n       \"ky7Uli3nGnOMkS7QUt7o6Gh1UybHLQmGmfddImq7bD22ncycOXPUe+XaS85pctyXc6mci+S6q77A\\\\\\n\",\n       \"zslIIESud+S8Ktdocs0ngRcpkwwKYn7g0lLn0qYe/yXnowSm5PgqLZ0kN5Ycv6VLnZRTSDBGzgty\\\\\\n\",\n       \"rDe3aJZrKuuAUH2kNZTUrVwLS/d+ea/kCZNJAmzSUknOnadK5C5d/aSMUia59pFyyHWflM2cJ9My\\\\\\n\",\n       \"R5i0IJOglTn1gCTPl3O4XDtJOaTscm1hDmbaSs6XQrofysMfeb9ca1sG1WQfYA4sojbK0cMgEjXG\\\\\\n\",\n       \"L7/8ot18881a9+7dtYCAADW0fFJSknb33XdrmZmZtV67Z88ebfTo0Zqvr2+tIYRl6OWbbrpJi4iI\\\\\\n\",\n       \"UMuYMGGCeq0MEWw9zPC8efO0Tp06aQaDoc4wxvKzvFeGgvbx8dE6d+6s3XjjjWq45ZMxD4l8qmGG\\\\\\n\",\n       \"v//+e61v375q2YmJidrzzz+vzZ8/v84wyxkZGWr468DAQPW3MWPGNDistuXnW65LQ3777TdtxIgR\\\\\\n\",\n       \"qg6DgoK0Cy64QNu1a1e9r/3111/VcnU6nZaSklLvaw4ePKhNnjxZi4mJ0Tw9PbX4+Hjt/PPP1776\\\\\\n\",\n       \"6qua1zRU7oaYh4huaLLcpvUNFS6kzsz1Zpabm6vdddddqoyyn7Vr104ty3I4cNnnzPuSvEaG7Zby\\\\\\n\",\n       \"W5NlXX/99aoOZX+Rn83DTVu/vjXqyMPDQwsLC9OGDh2qzZw5Uzt69Gi97ysqKlJ/l++YrJ+spwxD\\\\\\n\",\n       \"/p///EerrKyseZ0MbS5Di8v3Ul4XGRmpnXvuudqmTZtq1b3ltnjmmWe0IUOGaCEhIWr/kvc+++yz\\\\\\n\",\n       \"tZYrQ4Jbn6aqqqq0J598Ug2lLvWTkJCgymg5XHpjt3V95HNlKO/6PPHEE7W+Q1Jm+X726tVL8/b2\\\\\\n\",\n       \"1kJDQ9Uw9VLOgoKCmveVlJSoZUrdy7Hnoosu0vbu3auWNWfOnFMOp/7mm2+qepL1jo6O1u688846\\\\\\n\",\n       \"Q8nLukk5rFkPuz537lx1fAwPD1dlluPXv//971rlJSLXUN85Qb7z/v7+dV5b33G1oeOlrce2kx0v\\\\\\n\",\n       \"5Twpf5NjtRy75Nw2duxY7d133z3ldZH53GV9nvzzzz+1s88+W133yDrKtdIbb7zR6HNpax3/ly1b\\\\\\n\",\n       \"pk2aNEmLi4tT50j59+qrr9b27dtXp8zjxo1Ty5Fj/MMPP1xzbWV5zWZ9PBdr1qxRnyvLl9fLdras\\\\\\n\",\n       \"Q+vr24Z8/fXXWo8ePVQZevbsqS1atKjez5PtKtcSn3zySc28Q4cOqWt0OZ/Itauc684880x1LdkY\\\\\\n\",\n       \"ck0h1/VyLSHXlJb76+7du9XvjV0mEbkPnfzP0UE0IiKitkhGTh0wYIBqGXfttdc6ujhERER1Wp79\\\\\\n\",\n       \"/vvvquW1JWmdL62IpcV1a5EBmKQ1m7R8ZwssoraJObCIiIhagXTDtSZdCqVbjCSwJyIichUy6rek\\\\\\n\",\n       \"IpDUCa1But/LiMWSMoPBK6K2izmwiIiIWsELL7ygnhpLri5JCPzLL7+oSfKpWQ9JT0RE5MxkNEIZ\\\\\\n\",\n       \"xdtWkvuzvgc5liQ3Y0MkV611Li4iansYwCIiImoFw4cPV8lnn376aXURLhf/MiCCJMIlIiJyZ/fe\\\\\\n\",\n       \"e68adOVkmNmGiE6FObCIiIiIiIioxezatQtpaWknfc24ceO4BahVSU41GXldWsjLSO/ffPONGmX0\\\\\\n\",\n       \"ZCQn3PTp09Xop9KC/tFHH1W54qh1sAUWERERERERtZiePXuqiciZlJSUoF+/frj55ptxySWXnPL1\\\\\\n\",\n       \"hw8fxsSJE3HHHXfgs88+w7Jly3DrrbciNjYWEyZMaJUyt3VsgUVEREREREREbZYMDnCqFlgPPfQQ\\\\\\n\",\n       \"fvrpJ+zYsaNm3lVXXYX8/HwsXry4lUratrEFFtmdyWRSTYQDAwM5SggREdXkNikqKkJcXJwaedEW\\\\\\n\",\n       \"kiC4srLSbjXo5eUFHx8fbhE74LmeiIiacm5v6fO9lMl6pEpvb281NdfatWvrdHWVllfTpk1r9rLJ\\\\\\n\",\n       \"Ngxgkd1J8IojahERUX1SUlLQrl07my5mQxPaozwn224VKSNcSfN/BrGaj+d6IiJq7Lm9ofN9xw4B\\\\\\n\",\n       \"yMgy2qVCAwIC6oxY+fjjj6uBc5orIyMD0dHRtebJ74WFhWqUTV9f32Z/Bp0cA1hkd9LySly4ZBU8\\\\\\n\",\n       \"/QMcXsPx3l54LCkOHjodlu7IwDdbUh1dJCIiDO8cjnP6+eGT3Z/gWNExt6+RytJKfHbNZzXniFO+\\\\\\n\",\n       \"vrJSBa/sdS6pKinG9xNGqeUygNV85u04EufBA55wRd8VfOzoIhARuTQJ3EjDBVvP7fWR87IEr45u\\\\\\n\",\n       \"SkRQoL555SkyocOgIyqgFhQUVDPfHq2vyDkwgEV1pKamqv69v/zyC0pLS5GUlIQPPvgAp512mk21\\\\\\n\",\n       \"ZW6yKTccngFNP5jZSxaA2RkFmN01AZcND0JgUBAWbEhxdLGIqA0b2D4Elw8Lwvs73keWKQte/l5o\\\\\\n\",\n       \"K6yb9Z+Ks5xLqP7tKMErD51rBrAsb26IiKj1zu31CQjUqak5TNDVHN9b4hgvLbkzMzNrzZPf5bPY\\\\\\n\",\n       \"+qp1MIBFtRw/fhwjRozAmWeeqQJYkZGR2L9/P0JDQ126ptIqqjFjbwpmd0vAhN4x0Ot0+PyvZEcX\\\\\\n\",\n       \"i4jaqE6RAdiYuREpRQymExERERk1E4xa85fRkoYNG4aff/651rxff/1VzafWwQAW1fL888+rZqDS\\\\\\n\",\n       \"4sqsY8eOblFL6ZXVeGhvCp7vmoDxvaKh1wGfrmcQi4haV/eYQAzpGIb/HTjAqiciIiJyEMmVdcDi\\\\\\n\",\n       \"ekzyZG7ZsgVhYWFo3749Zs6cqXonffzxiS7nd9xxB9588008+OCDuPnmm7F8+XJ88cUXamRCah3N\\\\\\n\",\n       \"62RKbuf7779XXQUvv/xyREVFYcCAAZg3bx7cRWZlNR7cmwKJzZ/RIwoGiWIREbWSnnFBuGVkRyw6\\\\\\n\",\n       \"/AH25O1hvRMRERGp7n+aXabG2Lhxo7rflUlMnz5d/Txr1iz1e3p6OpKTk2s17JBglbS66tevH156\\\\\\n\",\n       \"6SW89957aiRCah1sgUW1HDp0CG+//bb68j788MPYsGED7rnnHjX0+A033FBvbVVUVKjJMpmfM8uq\\\\\\n\",\n       \"qkaVSYOXXocRncPxx/4cRxeJiNoASQ9x8+hwfL3/Q2zN3uro4hARERE5DZP6r/nLaIwzzjgDmtZw\\\\\\n\",\n       \"0OvDDz+s9z1///13k8pHzccWWFSLyWTCwIED8dxzz6no82233YYpU6bgnXfeabCmZs+ejeDg4JpJ\\\\\\n\",\n       \"uiA6u5ePZKj4/E0jO2JM1whHF4eI2oCYIB94Gjyx7/g+RxeFiIiIiMjlMIBFtcTGxqJnz5615vXo\\\\\\n\",\n       \"0aNW00lr0je4oKCgZpJhS53d9uIyPHcwTQWxbhzREWd2YxCLiFpObLAP7p4Qjt+O/obS6lJWNRER\\\\\\n\",\n       \"EZEFo6bZZSL3xgAW1SIjEO7du7fWvH379qFDhw4N1pS3t3fNUKUtNWRpS9hVUo5nDpwIYk0e1hHj\\\\\\n\",\n       \"ekQ6ukhE5IaiAr1x91lJWJ26Gr8l/+bo4hARERE5HUfkwCLXwwAW1XLfffdh3bp1qguhjMjw+eef\\\\\\n\",\n       \"491338XUqVPdsqb2lJbjqQOpMOmAa4cmYkKvaEcXiYjcTJ92wUgp34blKcsdXRQiIiIiIpfFABbV\\\\\\n\",\n       \"MnjwYHzzzTf43//+h969e+Ppp5/Gq6++imuvvdZta2pfaQWelCAWgKsGt8fE3rGOLhIRuYlAHw8M\\\\\\n\",\n       \"TgxDWnGao4tCRERE5LSk9ZSxmRNbYLk/jkJIdZx//vlqaksOlFZg1oFjeLpLO1xyWjz+PJiDgrIq\\\\\\n\",\n       \"RxeLiFw8eCVdB9OrNrPrIBEREdFJ2KMLIANY7o8tsIj+3+GyShRXG6HX6dA9OoD1QkTNcuuoTkit\\\\\\n\",\n       \"3IiFexfCpDV3YGgiIiIioraNASwiC5+n56p/bz8zCX3jg1k3RNQkHnodooO8sTptNTQmFCUiIiI6\\\\\\n\",\n       \"KY5CSLZgAIvIwh/Hi/H20UzoAEw7uyv6JzCIRUSN42nQYcroTsgoKEdmSSarj4iIiOgUTHaayL0x\\\\\\n\",\n       \"gEVk5c+CErwpQSwdcM/YrhjUPoR1REQ2B69uG90JPgEp+PDgE6jWqllzRERERER2wAAWUT3WFpTg\\\\\\n\",\n       \"1SMnglhTz+qCIR1CWU9EdEq944MRHpqP+Tvmo8JYwRojIiIiskFzRyA0T+TeGMAiasCGwhK8fCRD\\\\\\n\",\n       \"BbHuOCsJp3cKY10RUYOk63GPmCBklWah0lTJmiIiIiKykVGzz0TujQEsopPYVFiK/xxOVzemktMm\\\\\\n\",\n       \"OsiH9UVEdcgx4vLTEtAloRTfHfyONUREREREZGcMYBGdwt9FZUgtr4Rep0OHMF/WFxHVIq00rxrS\\\\\\n\",\n       \"Ht3bl2Lu1rnIr8hnDRERERE1ApO4ky0YwCKywfLcQtXC4vbRndAhnEEsIvrHVYPbo3OkP+Zum4uC\\\\\\n\",\n       \"ygJWDREREVEjmaCDsZmTLIPcGwNYRDZYnFuIBel5MBj0mDWxFzpF+LPeiEiNOnh6Fx98uH8OCisL\\\\\\n\",\n       \"WSNERERERC2EASwiG32fnY/P03KhN+jwyMQeSIpiEIuorRuZFIGy6jK2vCIiIiJqBpNmn4ncGwNY\\\\\\n\",\n       \"RI3wY04BPknLgV6vw8xze6BbdADrj6iNGtsjChP6++C97e+h2lTt6OIQERERuazmdh80T+TeGMAi\\\\\\n\",\n       \"aqTFOYX4IDUbBr0O95/bHQHeHqxDojZmQEIIxvXxwrxt85BanOro4hARERERuT0GsIia4LfcIhRU\\\\\\n\",\n       \"G+Gh0yE62Jt1SNTGxIf6Yk/eHqSVpDm6KEREREQujy2wyBYMYBE10fqCYvUF+vf4bgj392Q9ErUR\\\\\\n\",\n       \"fdsFY0zXSGzN3uroohARERG5BZOms8tE7o0BLKIm+jA1FyvyCuHjacCzF/dBRIAX65LIzfVrF4zr\\\\\\n\",\n       \"T++ABQfexd7jex1dHCIiIiKiNoMBLKJmmHcsB7/l/n8Q66LeiApkEIvInV1+WgIWHf4Qu/J2Oboo\\\\\\n\",\n       \"RERERG6DXQjJFgxgETXT/NQcLMkpgLenAc9c1BvRQcyJReSO4kN84etlQEpRiqOLQkRERORWjNDb\\\\\\n\",\n       \"ZSL3xi1MZAcfpeXi5+x8eHkY8PTFfRAb7MN6JXIjCWG+uHtCBH49tgi55bmOLg4RERERUZvDABaR\\\\\\n\",\n       \"nXyanocfs/LhpdfhyYt6I9iXid2J3EFUoDfuOjsSy5KXYeWxlY4uDhEREZHb0eyQwF2WQe6NASwi\\\\\\n\",\n       \"O/o8Iw9pFVXw1OvQIdyPdUvkBjpF+iOtJA1/pv7p6KIQERERuSXmwCJbMIBFZGd7S8ogsf9bRnaE\\\\\\n\",\n       \"n5eB9UvkwqQl5bge0UguTHZ0UciB5syZA51Oh2nTprnldnD39SMiIiL3wAAWkZ29dywH24vK1I3v\\\\\\n\",\n       \"nEv7IMDbg3VM5IJC/Txxz9guOFK+DkuOLHF0cchBNmzYgLlz56Jv375uuQ3cff2IiMg1GDW9XSZy\\\\\\n\",\n       \"b9zCRHamydPsw+nYUlSKIB9PzL6kDwIZxCJyOded3gGHy9Zi0f5F0NQ3m9qa4uJiXHvttZg3bx5C\\\\\\n\",\n       \"Q0Phbtx9/YiIyHWYoIMJ+mZOzIHl7hjAImoBcqv7wuEMbCwoQaCPB2Zf2gdBPmyJReQqvAx6RAZ6\\\\\\n\",\n       \"Y1v2Ngav2rCpU6di4sSJGDduHNyRu68fERERuRfeURO1oJePZuLeDtEYGuyvglgPL9qOgrJq1jmR\\\\\\n\",\n       \"E/P20OP2MZ2QVViBw4WHHV0csrPCwsJav3t7e6vJ2oIFC7B582bVxc4dNXb9Kioq1NRQPRIREdkj\\\\\\n\",\n       \"iXtzl0HujS2wiFrYa0czsTa/GP5eHpgj3QnZEovIqVte3TGmMzTvQ/j48OOoNjHg7G4SEhIQHBxc\\\\\\n\",\n       \"M82ePbvOa1JSUnDvvffis88+g4+PD9xNU9ZP6smy3qQeiYiI7IU5sMgWbIFF1AreSM5CtJcnOvp5\\\\\\n\",\n       \"Y1incCzdlcl6J3JCnSL9ERFahBc2fsjglZuS4E1QUFDN7/W1vtq0aROysrIwcODAmnlGoxF//PEH\\\\\\n\",\n       \"3nzzTdUSyWBw3VFmm7J+M2fOxPTp02u1wGIQi4iIiFoTA1hErWR/aTk6+XljbI8orNibhSojk0IT\\\\\\n\",\n       \"OROdDhjUIRTZZakMXrkxCV5ZBrDqM3bsWGzfvr3WvJtuugndu3fHQw895NLBq6auX0NdLYmIiOyX\\\\\\n\",\n       \"xL15XQCZxN39MYBF1Eo+Tc9F9wBfdAjywbMX9caj3+5EpdHE+idykuDVNUPao2NcEd7dvsDRxSEH\\\\\\n\",\n       \"CwwMRO/evWvN8/f3R3h4eJ35rsjd14+IiFyPjCJobGaGIxNHjXZ7zIFF1EqkwdWj+47hSFkFov4/\\\\\\n\",\n       \"iCXJoonI8S7sF4fEuEK8u+1dFFUWObo4RERERERkhS2wiFqREcBj+1PxRFI8Ogd547mLe+ORb3ag\\\\\\n\",\n       \"vJotsYgcqX2YH/44thhFVQxeUf1+//13t64ad18/IiJyjSTuzVsGU7S4Ozb/IHJAEOvxA6kqJ1Z4\\\\\\n\",\n       \"gDeeu6QPfDz5VSRylHE9ohEb7IvDBYe5EYiIiIgc1IXQHhO5N25hIgeQ9lZPHkjDnpJyhPl7YTaD\\\\\\n\",\n       \"WEQOMaFXNM7sHon39ryA3PJcbgUiIiIiIifFABaRA4NYTx9Mw+GyCoT6eeHi/vHcFkStKCLACxP6\\\\\\n\",\n       \"BmDe7ueRXpLOuiciIiJyEKOms8tE7o0BLCIHkl7amwpL1M+94oKh5zGXqNV0igxAWXUZMkszWetE\\\\\\n\",\n       \"REREDiQjENpjIvfGLUzkYD9nFyCvqhrtwnzxyHk9YNAxikXU0vonhOCKocH4ev/XrGwiIiIiIhfA\\\\\\n\",\n       \"ABaRg5WbNNy/NwU5ldXoHBWAR8/vziAWUQvqHReEa4a2x6e7P8XuvN2sayIiIiIHM2l6u0zk3riF\\\\\\n\",\n       \"iZxAhUnDv/elIKuyCh0jAjDr/B4wsD8hUYvomxCCNZm/YO/xvaxhIiIiIifALoRkCwawiJwoiPXg\\\\\\n\",\n       \"3mPIqKhChwh/PHFBT3gwiEVkV+3D/NAnPhipxamsWSIiIiIiF8IAFpETqdQ0PLTvGNIqqpAQ5ocn\\\\\\n\",\n       \"L+wFTwNzYhHZQ2K4H+48ozOWpX2FHbk7WKlERERETjRCe3NHIJRlkHtjAIvIyVRpGmbsS1FBrPhQ\\\\\\n\",\n       \"X9wwLNHRRSJyeRIIvnNcBH5N/QKr01Y7ujhEREREZMEEvV0mcm/cwkROqFoDvsk8Dg1Ax0h/RxeH\\\\\\n\",\n       \"yOWF+nnBx8MHGzI2OLooRERERETUBAxgETmprUWlKDWaEB/ii7vP7Ozo4hC5rFA/T9w+pjPWpa9D\\\\\\n\",\n       \"tVbt6OIQERERkRWjprfLRO6NW5jISRUbTbh/T7L6d1BiGO4d2wXMhkXU+ODVPWO7YH/JKnx34DtW\\\\\\n\",\n       \"HxEREZETMkFnl4ncGwNYRE6s8P+DWEVGEwa0D8F9Z3flYZmoEYZ1DkdW9Q58d/A7aKpTLhERERER\\\\\\n\",\n       \"uSIGsIicnASvpu9JRmG1EX3bBeOB8d2g48MFolPy9tCjW0wQ0ovTWVtEREREToxdCMkWDGARuYAS\\\\\\n\",\n       \"FcRKUUGsnvFBmNQvztFFInJqPp563HlGZ1R57seylGWOLg4RERERnYQRertM5N64hYlcRKnJhF9z\\\\\\n\",\n       \"C9XPSVEcmZDo5MGrJBW8+mjnR6g2MXE7EREREZGrYwCLyIWsyitCtaahV3wIrhqc4OjiEDkdT4MO\\\\\\n\",\n       \"U89MQnF5NT7a9RFHHSQiIiJyASZNZ5eJ3BsDWEQuJKuqGjP2paBK0zChdwyuGcIgFpGl6CAfRIWW\\\\\\n\",\n       \"4/PkWTBqRlYOERERkQsw2aH7oCyD3Bu3MJGLSa+oxkN7U1Bl0jC+VwyuH9re0UUicgp6HTC2RzQy\\\\\\n\",\n       \"SzNh0kyOLg4REREREdkRA1hELiizshoP7k1BhUnD2J7RuGF4B0cXicihDDodbhieiLioPHy862Nu\\\\\\n\",\n       \"DSIiIiIXYtL0dpnIvXELE7lwd8IH9yaj3KThzG5RuGVkoqOLROQw5/aJQXRELt7d9i5Kqkq4JYiI\\\\\\n\",\n       \"iIhciBE6u0zk3hjAInJh2VVGPLAnGWUmDSO7ROLSAfGOLhKRQ8SH+GJL9haUVpdyCxARERERuSEG\\\\\\n\",\n       \"sOik5syZA51Oh2nTprGmnFRetREfHMtWP/eMD3Z0cYha3Xl9YtEuzA87cnaw9omIiIhcELsQki0Y\\\\\\n\",\n       \"wKIGbdiwAXPnzkXfvn1ZS05uf2k5TBrQKcIfY7tHOro4RK3m/L6xOL1TGN7bPQe55bmseSIiIiIX\\\\\\n\",\n       \"JGNHN78LIbk7BrCoXsXFxbj22msxb948hIaGspZcIKn7MwdTYdIB152eiAm9oh1dJKIW5+9lwNl9\\\\\\n\",\n       \"AvHenjnIKstijRMRERERuTEGsKheU6dOxcSJEzFu3LhT1lBFRQUKCwtrTdT69pZW4MkDqTABuGpI\\\\\\n\",\n       \"e0zsHcPNQG6tV3wwKo2VyCnLcXRRiIiIiKgZ2IWQbMEAFtWxYMECbN68GbNnz7apduR1wcHBNVNC\\\\\\n\",\n       \"QgJr1UEOlFbg8QPHYNQ0XDY4ARf0i+W2ILc0pGMYLh8ahI93fQwNmqOLQ0RERETNYNT0dpka6623\\\\\\n\",\n       \"3kJiYiJ8fHwwdOhQ/PXXXyd9/auvvopu3brB19dX3ffed999KC8vb8aaU2MwgEW1pKSk4N5778Vn\\\\\\n\",\n       \"n32mvsS2mDlzJgoKCmomWQY5zqGySjy2P1UFsS4Z2A4jk8K5Ocit9I4PVsGrj3Z+hAP5BxxdHCIi\\\\\\n\",\n       \"IiJyQQsXLsT06dPx+OOPqwYc/fr1w4QJE5CVVX9qis8//xwzZsxQr9+9ezfef/99tYyHH3641cve\\\\\\n\",\n       \"VjGARbVs2rRJfWEHDhwIDw8PNa1cuRKvv/66+tlorJsaz9vbG0FBQbUmcqyj5ZX4Litf/dwvIYSb\\\\\\n\",\n       \"g9xKUlQANmVuwsGCg44uChERERHZgQYdTM2cZBmN8fLLL2PKlCm46aab0LNnT7zzzjvw8/PD/Pnz\\\\\\n\",\n       \"6339mjVrMGLECFxzzTWq1db48eNx9dVXn7LVFtkPA1hUy9ixY7F9+3Zs2bKlZjrttNNUQnf52WAw\\\\\\n\",\n       \"sMZcxPaiMvXvoA6h6JcQ7OjiENmFjLQ5rFM4DhUcYo0SERERuYnW7kJYWVmpGm9Y5nzW6/Xq97Vr\\\\\\n\",\n       \"19b7nuHDh6v3mANWhw4dws8//4zzzjvPDjVAtvCw6VXUZgQGBqJ379615vn7+yM8PLzOfHJu+0rL\\\\\\n\",\n       \"8dbRTEztEI17x3bFW8v3Y1PyiVZZRK7a8mrKqE74OeVzbM/Z7ujiEBEREZETsh5UTHoMyWQpJydH\\\\\\n\",\n       \"9S6Kjq49erv8vmfPnnqXKy2v5H0jR46Epmmorq7GHXfcwS6ErYgBLCI3tqagBFVHMjEtMRpTz+qC\\\\\\n\",\n       \"d1YcwF9Hjzu6WERNcsvIjvgl5X/4K4PNtNuS8Tv/UolSm6usrAxf26VEREREZG8mTaem5i5DWA8q\\\\\\n\",\n       \"JjmrnnjiCTTX77//jueeew7//e9/VcL3AwcOqPzRTz/9NB577LFmL59OjQEssumLSq5rQ2EJXjmS\\\\\\n\",\n       \"gfsSY3DHWUnQrzyIdYfyHF0sokYJ9/eCr5cBu/J2seaIiIiI3IwRejU1dxlCBhWzzMts3fpKRERE\\\\\\n\",\n       \"qPQ4mZmZtebL7zExMfUuX4JU119/PW699Vb1e58+fVBSUoLbbrsNjzzyiOqCSC2LNUzUBmwsLMV/\\\\\\n\",\n       \"Dqern28b0xndYwIdXSQim0UEeOHec0OxOmMpiiqLWHNERERE1CDrAcbqC2B5eXlh0KBBWLZsWc08\\\\\\n\",\n       \"k8mkfh82bFi9yy0tLa0TpDLniJYuhdTy2AKLqI34u6gMa44XY0RoAPq1C8aeDAYCyPmF+XvhnrFd\\\\\\n\",\n       \"sDV7GX4+/LOji0NERERETt6F0FbTp0/HDTfcoAYtGzJkCF599VXVokpGJRSTJ09GfHw8Zs+erX6/\\\\\\n\",\n       \"4IIL1MiFAwYMqOlCKK2yZD4HO2sdDGARtSHbikpVAOvsntFYdzgXR3NPjFRI5Kz6tgtGTvUeBq+I\\\\\\n\",\n       \"iIiI3JgJejU1dxmNceWVVyI7OxuzZs1CRkYG+vfvj8WLF9ckdk9OTq7V4urRRx+FTqdT/6ampiIy\\\\\\n\",\n       \"MlIFr5599tlmlZtsxwAWURvyZ34xwr08cGVMGGZN7IVnftqNw7klji4WUb18PQ0Y1CEUySU7WUNE\\\\\\n\",\n       \"REREZHd33XWXmmzJBe3h4aESwstEjsEcWERtzHdZ+fg8LRd6gw6Pnt8DSVH+ji4SUR1+XgbcdVYS\\\\\\n\",\n       \"SvS78cvhX1hDRERERG7MqOnsMpF7YwCLqA36MacAn6TlwKDXYeZ5PdA1OsDRRSKq5aYRHVGAHfhk\\\\\\n\",\n       \"9ycwakbWDhEREVEbyIHV3IncGwNYRG3U4pxCfJCaDb1Ohxnn9kD3aI5MSM7BoNMhLsQHK4+thEkz\\\\\\n\",\n       \"Obo4RERERETkBBjAImrDfs0twvsp2dDpgAfP6YZubIlVr4y9m7FzyWeNqlt5vbyvsY5sWIZvH7kC\\\\\\n\",\n       \"n94+Ct/PugbHtq1GWwte3TC8AwrKqpBRkuHo4hARERFRK9A0PUzNnGQZ5N64hYnauOXHi7AkpwB6\\\\\\n\",\n       \"vQ5je5wYcYP+IUGo5a/eh01fvI7tP39kU9XI6+T18r7GBLGyDmzDqncfQ9KoC3D+4x8jYcBo/P7m\\\\\\n\",\n       \"gzh+7GCbCV7dNDIRERHZeG/fE6g0VTq6SERERETUCozQ2WUi98ZRCIkIe0rKMCEiGP3aBSMiwAs5\\\\\\n\",\n       \"xQwcmOUe2Y3qynL1899f/1f92+e8Gxrca7Z8Mxfbfpyvfpb3LX/9AfiFRiE4tgO6jrkYcT2HIHnz\\\\\\n\",\n       \"Cmz9/n0UZR2DwcsbYe274cy7X8Tu3xYirvfp6H3O9er9Ay6+A+m7/sLe5V/i9Mkz3H5P7RUfhPbR\\\\\\n\",\n       \"pXhl0zyUG0/UORERERERkWAAi4jwV0EplucWYmx4EJ69qDce/XYHshnEOhFUmXAtTMbqmuBVQ0Gs\\\\\\n\",\n       \"wsxk/DH3MeQd3VMzz7tdL/i07wtTRTEyU3Yg5ZV74RcWg7LjWRh42VR0OO0sVJWXInPfFmk3jeyD\\\\\\n\",\n       \"29Fz/NW1lhvX63Sk/L2yTeylXaIDkV2axuAVERERURtj0k4kcm/uMsi9MYBFRMr7qTkwahrGRwTj\\\\\\n\",\n       \"2Yt747HvdiKzsIK1YxGsaiiIlbFnE357ZRpM1f+0XAsZcwOCT7+85ndN01CZtgf5axZCy8tA8t9/\\\\\\n\",\n       \"oMuYixAQEYfQdknqNeUFufANCqtV5z5BYSgrzHX77XBhvzj071SNd7d96+iiEBEREVErM+exau4y\\\\\\n\",\n       \"yL1xCxNRjQ/TcvFLdgG8PAx4+uI+iA32Ye38PwlWDbj0XzX1IUEsyXWVuX8Lfn3p7pMGr4ROp4N3\\\\\\n\",\n       \"fA9EXfoYvKI7I/vAVix66BLsXf4VKkoK23Q9n9M7BoO7mDB361zklOU4ujhEREREROSEGMAiolo+\\\\\\n\",\n       \"Sc/Fj1n58NLr8NSFvRAV6MUaOkkQa8mc26GZjCcNXlnS6Q2IueFVhI2fisrSIvz9zTv47pErUJSd\\\\\\n\",\n       \"Bp/gcJQV5tV6fXlhHnyDwt16G/SKC8JPh39Cbrn7tzQjIiIiorpM0NllIvfGABYR1fF5Rh42F5bC\\\\\\n\",\n       \"00OPM7tzZMKTBbEsWQav9JoJfbIPYMyxv9W/8rtla6zAAecidOwUVJYWA3o9Ujb/jsjOfZCxe2Ot\\\\\\n\",\n       \"ZUoSd5nvroZ0DENUoA/SS9IdXRQiIiIichCjprPLRO6NObCIqF57SsoxMMgPI5PC8cPWNJRW/tPK\\\\\\n\",\n       \"qK2TINbOXz5RLajM9N7+NcGr4Wnbcce2bxFZXlDz92yfYLzT9yKsgBfKj26FT+IA+LTvB52HJyqK\\\\\\n\",\n       \"jiM4LhERnXtjyQt3YOeSz9Cu7wgc/utXNQri6ZNnwh0N6xSOiwbE4+N9ryOrNMvRxSEiIiIiIifG\\\\\\n\",\n       \"ABYR1eun7Hz0CfBFn0BfzLm0D2Z+vR0lDGIpkvvKMnglTBUlKFj3Jc5t3x2P/vVRnfoMLy9Q843d\\\\\\n\",\n       \"J+L7lB0o3PgdTBWl0Hl4wWAwIKbHYBg8PDFqytPY8s07+HvR2wiKSsAZd72A0Had3W4vjQnywWVD\\\\\\n\",\n       \"g/He9ldxpPCIo4tDRERERA7EJO5kCwawiKheMgrtnMPp+HfHGPQP9MOcS/vi4UXbUVRRjbYevDKP\\\\\\n\",\n       \"QmhueSXBK5G/8iMExiQAwf51euBLf23pRPivo6ux4fInYNKd6MFdkbobGZ/+G8ePHUBEYg8kDh6r\\\\\\n\",\n       \"JncXG+KDwspCBq+IiIiI6EQOq2Z2AWQOLPfHHFhEdNIg1ouHM7CpoASBPh6YfUVfBPm03bi3dfDK\\\\\\n\",\n       \"IzQOCdMWqtxXZu9mpOC93NwGD7hRZfnolXOoZp4h4ESC9srif7obursuUQG4ZngIliUvc3RRiIiI\\\\\\n\",\n       \"iIjIRTCARUSnDGK9dDQTGwpKEOBhwOxL+iDAu+0FsayDV0GxifAMjVM/S+4ryyDWKznZmNdAEEuE\\\\\\n\",\n       \"VVh0P/z/lliaRZJ3dw9eTRndCd8d+A6bMjc5ujhERERE5AQ0O4xAKMsg98YAFhHZ5JWjmThaVgk/\\\\\\n\",\n       \"bw8MTgxt08ErGYUwslMvmMr/CURJEKv7oPNtCmLleQfW/GwqL1T/evn9M8+dje4aidWZP2NTFoNX\\\\\\n\",\n       \"RERERHSCdB+0x0TujQEsIrLZgdJy9VxjQq8YeBraxglCRgS0Dl7JKIThiT1RkbEf1UU5NX+rGHsb\\\\\\n\",\n       \"bpMcWBZBrA/y/gliSRurLN8Q7IzoVDOvdP96GLx8EBzbEe4uMtAbiRH+yCjJcHRRiIiIiIjIxTCA\\\\\\n\",\n       \"RUQ2+ygtB8fKKxET7IOnLuzVJoJY4Yk94OHlUyt4JToNOwcGD28Ub11S81pJzF509r8wLSJS/e6r\\\\\\n\",\n       \"06G3j++Jv0lvQQBz+0yqSeCumYwo2boYnU6fAC+/ALizqEBv3H1WEv4+/iu25WxzdHGIiIiIyAlH\\\\\\n\",\n       \"IWzuRO6NW5iIbFatATP3H0NyeSViQ3zxzEW94WVw78NITLeBOGvaKxh0xT01wSvh5RuAzsPPRcnW\\\\\\n\",\n       \"JdCM/4zMuCauDzLPnY5/xbbHO+0SMNjPT83P8Q3BM0NuUH83K9u/HtVFueh25mVwZ94eetx7Tjg2\\\\\\n\",\n       \"5S3BL4d/cXRxiIiIiMjJsAsh2aLtZWImomYxasAj+47h6S7xSAzywRMX9sQj3+xQyd7dOYglk7Xu\\\\\\n\",\n       \"Z12O/X98h7zf5iJs/L+g051okSZBKv31byI55xCWVRSpnFfSbdDc8kpUF+Yg77d3ENKuC4Ji2sOd\\\\\\n\",\n       \"hfh5wc/TD0uPLnV0UYiIiIiIyEW5d9MJImoRRgCP7U9VLbKig3zg52VokzUdEt8Jp0+egeItvyB/\\\\\\n\",\n       \"xfxaIwlKsGp7ZBJWthug/q0VvCrIQtYXj8HLw4Ae465A6va1KM3/J5eWO5F9Y/KwDtiRs8PRRSEi\\\\\\n\",\n       \"IiIiJ9XcEQjNE7k3tsAioiYHsXKrqhDt5Ynbx3TGK7/uc+tWWA3pMupCVFeWY8P/XkZl9hEEDbkE\\\\\\n\",\n       \"Pon9oLMIWJmZyotRvGMZCtd9BR9fX5z97//CPzwa2Qd3wFhVAXfj7+2BqWd2xnFtOxbsXeDo4hAR\\\\\\n\",\n       \"ERGRk7LHKIIchdD9MYBFRE326P5UvNQtAX3bBeOB8d3wn1/3QmuDUaweY69AYEQcNn31lmpZ5RkW\\\\\\n\",\n       \"D/8+Z8MjJAY6Dy+YKkpQkbwdJbtXAsZqtB90JoZcPR2+weHq/THdB9UsKz/tMPzDouHpcyJ3lis7\\\\\\n\",\n       \"u0cUSvX78PnOz2GyaJ1GRERERETUWAxgEVGTlRhNmL4nBS91T0Cv+CA8OL4bXljaNoNY7fqNRHzf\\\\\\n\",\n       \"EcjavwV7V3yNo39+Wiu5u29oFPpNvAFJoybBLySi3mUYq6tQlHUMBWmHEJ7YEwERsXBVBp0O7cP9\\\\\\n\",\n       \"cLjwKINXRERERHRSbIFFtmAAi4iapdQkQaxk/Kd7e/SIC8LMc7pjzuI9MLXBIJYkcY/uOkBNmsmE\\\\\\n\",\n       \"qvISVFdWwMsvAAZP75ok7w0xeHgivvcw5BzZheyD21BWmIvwDt2hN7jWodqg1+HmER3h45+O1YdX\\\\\\n\",\n       \"O7o4REREROTkGMAiWzCJOxE1W5lJwwN7kpFXVY2uMYGqO2Fbp9Pr4eUXqFpbeXj5nDJ4Zab38EBU\\\\\\n\",\n       \"Ul9EdOqNktwMFGYkw9VI8Co4NB3zts9DWXWZo4tDRERERERugAEsIrJbEOuR/amQTEddogNYq80U\\\\\\n\",\n       \"GBmvWmMFxXZQv1eWFrtEnXrodao76ae7PkW5sdzRxSEiIiIiF2qB1dyJ3BsDWERkN8XVRpQZTfA0\\\\\\n\",\n       \"6DH59Pas2Wby9PWHXm9Qoxym7VyHzP1bVJ4sZzaxbywKSqtQXOUaATei+rz99tvo27cvgoKC1DRs\\\\\\n\",\n       \"2DD88ssvblVZbWEdiYjIdUj2ERN0zZraYAaTNocBLCKyGyOAR/YdQ4VJw1k9onHj8BOth6h5pAti\\\\\\n\",\n       \"ZOc+KC/IQ+r2NSgvynfKKr14QDwGJRkxb89zMGqyNxC5pnbt2mHOnDnYtGkTNm7ciLPOOguTJk3C\\\\\\n\",\n       \"zp074S7awjoSERGRe2EAi4jsKquqGg/uTUa5ScMZ3aJw66hE1rAd+IdFI77PcHh4+yJ9118ozkl3\\\\\\n\",\n       \"qnod2jEMAzpX452t7yC3PNfRxSFqlgsuuADnnXceunTpgq5du+LZZ59FQEAA1q1b5zY12xbWkYiI\\\\\\n\",\n       \"XAe7EJItGMAiIrvLrjKqpO4SxBqRFIkL+8Wxlu3Aw9sHsT0GIyS+M3wCQ52qTuNCfHEg/wCOVxx3\\\\\\n\",\n       \"dFGI7MpoNGLBggUoKSlR3ezcUVtYRyIicm4MYJEtXGtsdiJyGXnVRvwvPRc3xUegZ1wgvt/q6BK5\\\\\\n\",\n       \"BxnNMLRdZ/Wz5MPK2LMJoe2S1GiHjjK8czhO7xSO+XvWO6wMRLYqLCys9bu3t7earG3fvl0Fc8rL\\\\\\n\",\n       \"y1XLpG+++QY9e/Z0q4puzDpWVFSoqaF6JCIiImppbIFFRC1mR1EZjBrQLToI47pHsqbtTdNg8PBE\\\\\\n\",\n       \"5t5NyD26F5pJxoBsXSOSwnFh/zh8sPcVJBclt/rnEzVWQkICgoODa6bZs2fX+7pu3bphy5YtWL9+\\\\\\n\",\n       \"Pe68807ccMMN2LVrl1tVeGPWUerJst6kHomIiOyFLbDIFmyBRUQtJr2yCs8cTMWjSfG49vREGAx6\\\\\\n\",\n       \"LNmZyRq3E4OnF6K7DURhxlHkJe9DedFxRCX1haePX6vV8Xl9YvHFwXdxtPBoq30mUXOkpKSoUffM\\\\\\n\",\n       \"6mt9Jby8vJCUlKR+HjRoEDZs2IDXXnsNc+fOdZsN0Jh1nDlzJqZPn16rBRaDWEREZO8AVnOXQe6N\\\\\\n\",\n       \"ASwialF7Syvw5IFUPN45HlcNbg8PnQ4/7chgrduxS2FwbKLKiZV9cDuqK8tbLYDVJToAPp4GpJc4\\\\\\n\",\n       \"V0J5opOR4JVlAMtWJpOpVhc6d3SydWyoqyURERFRa2EAi4ha3IHSCsw6cAxPJsXjssEJ0Bt0+GEr\\\\\\n\",\n       \"gx725B0QjPi+I1RAS9M01SorMKod9IaWOcx3iwnErWeEY9GBj5Bfkd8in0HkKNLa6Nxzz0X79u1R\\\\\\n\",\n       \"VFSEzz//HL///juWLFniNhulLawjERG5Dk2Ta9jmtaBq7vvJ+TGARUSt4nBZJR7bn4qnu8TjkoHt\\\\\\n\",\n       \"kFNcibUHc1n7diTBK1FZWoTjxw6gKOsYorr0g5dfoF3ruV2orwpefb3/a2zNZnZ+cj9ZWVmYPHky\\\\\\n\",\n       \"0tPTVb6nvn37qsDO2WefDXfRFtaRiIhchwk6NTV3GeTeGMAiolZztLwSS3IKcV5kMHrFBTGA1UK8\\\\\\n\",\n       \"/YMQ1/t0ZB/YhtQd6xDeoRuCotvbbfkJoX5IKUph8Irc1vvvvw931xbWkYiIiNwLRyEkola1pahE\\\\\\n\",\n       \"/Tu8czj6JQSz9luIl28AYnsNVd0Ic4/sRunxLLssNyrQG+f1jcW+4/vssjwiIiIiIo5CSLZgAIuI\\\\\\n\",\n       \"WtXO4nK8eTRTdXe7d2xXDGofwi3QQvR6AyISeyC25xD4hUapeVUVZc1a5hndInGwZD1WHltpp1IS\\\\\\n\",\n       \"ERERUVtnzoHV3IncGwNYRNTq1haU4DUVxAKmntUFQzqEciu0IBmhUJQV5uHYllXITz2kEr03lp+X\\\\\\n\",\n       \"AZ0iA5BWnNYCpSQiIiIiImoYA1hE5BB/FZTglSMZKoh1+5mdEebvxS3RCoGskLiOOH5sPzL2bEJ1\\\\\\n\",\n       \"ZbnN7/X3MuCus5KQZ9qO1WmrW7ScRERERNS2sAsh2YIBLCJymI2FpcirqoZep0NCqC+3RAuTbpuh\\\\\\n\",\n       \"CV0Q0/00VJUVI3X7WlSUFNrwPmkpl4Rc01Z8tuczmDQTtxURERER2Q27EJItGMAiIof6LbdQDXh7\\\\\\n\",\n       \"91lJaB/GIFZr8A0OR3yfYfAPj4Gnj98pX+/jYUBciC8W7V/E4BURERERETkEA1hE5FDfZeXj68w8\\\\\\n\",\n       \"eBj0mHV+T3QIZxCrNRg8vVWCd73BA1VlJUjfvRFV5aV1X6fX4drT2yMlrxQVxopWKRsRERERtb0W\\\\\\n\",\n       \"WM3tRsgk7u6PASwicrivM/OxMOP/g1gTe6FThL+ji9SmaJoJ1RVlSNuxFsU56TXzPfQ63DKyI0JD\\\\\\n\",\n       \"MzF//xPQ0PjE70REREREp7weVdekzZxYzW6PASwicpqWWF9lHIfBoMM9Y5McXZw2xcsvEPG9h8E3\\\\\\n\",\n       \"JBLZB7ch59BOmIzVGN01EuFhOXhv+3soN9qe8J2IiIiIiMjeGMAiIqfx+/FCSHrwAG9PBPl4OLo4\\\\\\n\",\n       \"bYrewwNRSX0R0ak3SvOzYayqVIn1jxQeYfCKiIiIiFqUCTq7TOTeGMAiIqeRV2XEhoISeBh0mHNp\\\\\\n\",\n       \"HwT7MojV2gIj49Gu/yhcMawLOkQV44e/fmj1MhARERFR28JRCMkWDGBRHbNnz8bgwYMRGBiIqKgo\\\\\\n\",\n       \"XHTRRdi7dy9rilrFa0czsSa/GH5eHphzSR+E+nmy5lvZJQMT0LddMF5a/hL2btmL9B3pMFYZuR2I\\\\\\n\",\n       \"iIiIiMhhGMCiOlauXImpU6di3bp1+PXXX1FVVYXx48ejpKSEtUWt4s3kLKw6XgRfLw/MvqQPwv0Z\\\\\\n\",\n       \"xGpNwzpHYMGh12EKNSGmTwzKjpchZUMKygrKWrUcRERERNQ2NHcEQvNE7o39c6iOxYsX1/r9ww8/\\\\\\n\",\n       \"VC2xNm3ahNGjR7PGqFW8nZKNYA8D+gb64fy+cfho7VHWfCsY1ilc/Ztbnqv+DYgMgHegNzJ3ZSJ1\\\\\\n\",\n       \"cyo6nN4Bnr4MKBIRERGR/ZhHEmzuMsi9sQUWnVJBQYH6NywsrN6/V1RUoLCwsNZEZA9bi060+OmX\\\\\\n\",\n       \"EAIvAw9XLW1EUjguHhyAD/e+ipKqf1pcevp4In5APGL7xtYEr4yV7FJIRERERESth3eEdFImkwnT\\\\\\n\",\n       \"pk3DiBEj0Lt37wZzZgUHB9dMCQkJrFWyi6U5BThcVoEwfy88e3FveHvwkNVSukUH4sJB/nh/x/tq\\\\\\n\",\n       \"5EFrOp0O/uH+6ueCYwU4uv4oSnLZrZiIiIiImo9J3MkWvBukk5JcWDt27MCCBQsafM3MmTNVKy3z\\\\\\n\",\n       \"lJKSwlolu5A2PrP2p+JgaQUiA73x3MW94cMgVouIC/HB0cKjSC5KPuVr/aP84RPkg/St6cg5kAPN\\\\\\n\",\n       \"xPbaRERERNR0DGCRLRjAogbddddd+PHHH7FixQq0a9euwdd5e3sjKCio1kRkzyDW4wdSsb+0HOEB\\\\\\n\",\n       \"3nj2oj7wNDBBo71bX53bJxabMjfZ9HoPLw/VnTA8KRz5Kfk4tukYuxQSEREREVGLYgCL6tA0TQWv\\\\\\n\",\n       \"vvnmGyxfvhwdO3ZkLZFDmQA8eSANRUYTQgO9kBDqxy1iJ91jAnHLqI745vCH2Jazzeb3SZfC0Pah\\\\\\n\",\n       \"aDeonUryrvfk6YSIiIiImoajEJIteMdB9XYb/PTTT/H5558jMDAQGRkZaiorO5FQm8hRQaz08kp1\\\\\\n\",\n       \"0LpqcAJ0bIRlFxcNiMfilIXYkr2lSe+XroRR3aNUQKv0eCmy9mTBZJStRURERETUuFEImzuRe2MA\\\\\\n\",\n       \"i+p4++23VS6rM844A7GxsTXTwoULWVvkUM8fTsfxKiO6xgTi4XO6Q88gVrNEB3kj1M8LqcWpdtk+\\\\\\n\",\n       \"xiojijKLkLIxBRXFFXZZJhERERERkWAAi+rtQljfdOONN7K2yKHKTBru35uMvKpqdIkJxA3DErlF\\\\\\n\",\n       \"migmyAd3ndUFa7J+tilxuy0CowKRcJq0jtOpIJaMVkhEREREdConWlDpmjmxnt0dA1hE5FLKTRo+\\\\\\n\",\n       \"S8uFnJ86Rfk7ujguKcTXE/ecE46/cn7G0qNL7bpsL38vlRcrODYYx5OPszshEREREZ0SRyEkWzCA\\\\\\n\",\n       \"RUQuZ1dJOSpNmkrmPvn0Do4ujstpF+qL4spi/Jb8W4ssX2/QI7JbJBKGJKifq8qrUFbAHHpERERE\\\\\\n\",\n       \"RNR0DGARkcspqDbiob0pqDBpOKtHFG4awSCWrfy9PXBe31gcLTyKlmbwMKh/85Pzkbo5FXlH8lR3\\\\\\n\",\n       \"ZCJ3l5KSgmPHjtX8/tdff2HatGl49913HVouIiIiZ6XZaSL3xgAWEbmkrKpq/HtPMowARiVFItjX\\\\\\n\",\n       \"09FFcgmjukSgwnAQ3x78ttU+M6JLBEI7hCLvUB7StqShuqK61T6byBGuueYarFixQv0so/ieffbZ\\\\\\n\",\n       \"Koj1yCOP4KmnnuJGISIissIuhGQLBrCIyGXlVBtRUm1UScOHdAx1dHGcnkGvQ+dIfxwrPgaTZmq1\\\\\\n\",\n       \"z5XtE94pHHED4lBZUoljm45BM/EZGbmvHTt2YMiQIernL774Ar1798aaNWvw2Wef4cMPP3R08YiI\\\\\\n\",\n       \"iIhcEgNYROTSXj+aCU0HXDO0A8Z2j3R0cZw6eHXziI7wD8zAipQTLUNam1+on8qLJfmxdHqdSvDO\\\\\\n\",\n       \"QBa5o6qqKnh7e6uff/vtN1x44YXq5+7duyM9Pd3BpSMiInJC7ENINmAAi4hcPqH7MwdS1TnvumGJ\\\\\\n\",\n       \"GNczytFFcko3DU9EcGg65m2fh7JqxyVU9/DygH/4idEjcw/kqtZYVWVVDisPUUvo1asX3nnnHaxa\\\\\\n\",\n       \"tQq//vorzjnnHDU/LS0N4eHhrHQiIiJrmq7Z3QjVU+1Geuutt5CYmAgfHx8MHTpUdfk/mfz8fEyd\\\\\\n\",\n       \"OhWxsbHqYVXXrl3x888/c3u2EgawiMjl7SmtwFMHUiGd4q4d0gFje7AllrUecUH4cu+XKDeWw1kE\\\\\\n\",\n       \"xgbCWG1EyoYUFGUWObo4RHbz/PPPY+7cuTjjjDNw9dVXo1+/fmr+999/X9O1kIiIiBxr4cKFmD59\\\\\\n\",\n       \"Oh5//HFs3rxZna8nTJiArKysel9fWVmp8loeOXIEX331Ffbu3Yt58+YhPj6+1cveVnk4ugBERPaw\\\\\\n\",\n       \"r7QCbxzNwL0dYnBur1gs253Niv1/F/WPQ3F5NfIr8p2qTnyCfJAwOAHZe7ORuTMTpXmliOoepXJm\\\\\\n\",\n       \"EbkyCVzl5OSgsLAQoaH/5Oe77bbb4Ofn59CyEREROSMZqLq5g1U39v0vv/wypkyZgptuukn9Lq2n\\\\\\n\",\n       \"f/rpJ8yfPx8zZsyo83qZn5eXp/JaenqeGEBKWm9R62ELLCJyG4dKK1VXwrAAb/SMDXR0cZzCJQPj\\\\\\n\",\n       \"MTDJiHl7nkOlqRLOxuBhQEyvGET1iILB08DgFbmFsrIyVFRU1ASvjh49ildffVU9qY2KYjdnIiKi\\\\\\n\",\n       \"lhyFUB4gWU5yTq6vNdWmTZswbty4mnl6vV79vnbt2no3kLSkHjZsmOpCGB0drQZpee6552A0yrjo\\\\\\n\",\n       \"1BrYAouI3EZOVTXeT8nGrQmReGBCN7y0dB92phWirRrQPgQDOhvx9pZ3cLziOJxZUGxQzc+F6YXQ\\\\\\n\",\n       \"jBqC2wU7tEzkHHyPHYSfz4mE6M1SXvfitaVMmjQJl1xyCe644w6VK0NyasiTWmmVJU9777zzTrt/\\\\\\n\",\n       \"pqZpDAATEREBSEhIqFUP0kXwiSeeqDVPzskSeJJAlCX5fc+ePfXW46FDh7B8+XJce+21Ku/VgQMH\\\\\\n\",\n       \"8K9//UsN3iKfQS2PLbCIyK2sOF6EuSlZ6kbuvvFdEe7vhbYqPsQXKUUpTh+8slZZUonsfdlI35EO\\\\\\n\",\n       \"YxWfaJHrkTwao0aNUj9Ljgy5GJZWWB9//DFef/31Ji/3xhtvRElJSZ35kotj9OjRzSozERGRQ5mT\\\\\\n\",\n       \"sDd3ApCSkoKCgoKaaebMmXYposlkUi2p3333XQwaNAhXXnklHnnkEdX1kFoHA1hE5Hb+OF6MzIoq\\\\\\n\",\n       \"GHQ6xIf6oi0a3jkco3t4YdWxVXA1EUkRiOkTg7LjZSrBe1mB40ZNJGqK0tJSBAae6Ma8dOlS1RpL\\\\\\n\",\n       \"uiWcfvrpKpDVVFu3bkXfvn1rdW346KOPVNLZiIgIbiwiInL5HFjNnURQUFCtSUYLtCbnTYPBgMzM\\\\\\n\",\n       \"zFrz5feYmJh6yygjD8qog/I+sx49eiAjI0N1SaSWxwAWEdVydPGPWNA/Caum3eHSNbM2vxjyDGbq\\\\\\n\",\n       \"mZ0RHWSH7kcuFry6sH8c5u+cjyOFR+CKAiIDVIJ3Dx8P5B7MbbXPzTuSh6VPLsVn132GuWfPxbZF\\\\\\n\",\n       \"21rts8l9JCUl4dtvv1VPgJcsWYLx48er+TKqkVxIN5UM7S3BMEkS//DDD+OKK67AXXfdhf/85z/4\\\\\\n\",\n       \"5ptv7LgGRERE7s3Ly0u1olq2bFmtFlbyu+S5qs+IESNUt0F5ndm+fftUYEuWRy2PASwiqlGcegxb\\\\\\n\",\n       \"Xp6NyIGDXb5Wvsw8jl+yC+DtYcDTk3ohJtgHbcXYHtFYdHg+jhY2vaWHM/D08UT8gHjE9o5Vv1cU\\\\\\n\",\n       \"V6C6orpFP1OWHxgbiKG3DIVfGEeLo6aZNWsWHnjgATUykeS/Ml8IS2usAQMGNLlaJY/Wiy++qEZG\\\\\\n\",\n       \"mjNnjgqSyTJlBCUiIiKXptlpaoTp06dj3rx5qjXz7t27VY5K6apvHpVw8uTJtbofyt9lFMJ7771X\\\\\\n\",\n       \"Ba5kxEJJ4i5J3al1MIk7kZspy8lGSWoKqoqLYPDxhU9YOAITO6mcUCm//oIdc99AccpR9bfQ7j0x\\\\\\n\",\n       \"6tV34OHrB5PRiHUPT0fvO+9F9uaNqCpy/eTnn6TnwtegwxlhQbhxWAfMWbwX7q5rdACCfT2RWVq7\\\\\\n\",\n       \"ObSrkv3W4HWimXb23mxUllYiumc0/MP9T/neqrIq5Cfnq8CXNMfzDvRGWIcwtbxDfxzCpk82oSCt\\\\\\n\",\n       \"AB7eHqrb4oQnJyCqW5SaxPr317f4+pF7uuyyyzBy5Eikp6er7n1mY8eOxcUXX9zk5UqSWAlevfXW\\\\\\n\",\n       \"W+qC+s8//1Qtst5//32cd955dio9ERFR67McRbA5y2gMyWGVnZ2tHjxJN8D+/ftj8eLFNYndk5OT\\\\\\n\",\n       \"VQoAy+Tw0rL6vvvuU1364+PjVTDroYceala5yXYMYBG5Ac1kQsa6P7F/4WdIW7VC2r/W+ntwl27o\\\\\\n\",\n       \"cN4kbH/zZfSf9iDizxqP6tISZG/eoEauEjvnvgHvsHB0vvgKFcByF2vzSzAmLAjtw/zg46lHeVXt\\\\\\n\",\n       \"unEn3WMCcfPIjvjm8EfIKs2Cu5G8WFm7s5C+NR0h7UMQ3ikcOn3dC5Xjycex64dd2Lt0L6pKq2r9\\\\\\n\",\n       \"zTvYG0lnJGHXj7tw+pTT0XFER1SWVSJje0Yrrgm1BZI/wzqHxpAhQ5q1zNNOO03l1/r9999VPi05\\\\\\n\",\n       \"fr/wwgsqiHXzzTfjv//9bzNLTURE1LZIV3yZ6iPnW2vSqnrdunWtUDKqDwNYRC4uZ9vfWPvIAyhJ\\\\\\n\",\n       \"OQrPTl0ReO9MePXuD51/ALTychhTk1H20yJse/1FldmwsrgI/nHxqmVLSJduahnZf2/EoW+/xDkL\\\\\\n\",\n       \"f4C72VFcht3FZegZ4Is5l/TFw99sR2ml+41sFxvsg1vOCMfX+z/A1uytcEceXh6I7RuL/JR8lRdL\\\\\\n\",\n       \"WmPF9Y2r+Xt5YTmWv7AcKetT4BHkgZCzQhA0MAgegSdOddUF1ShYX4Ddi3dDM2pI25qGHuf1QGBM\\\\\\n\",\n       \"IMI7hjtwzcgdbdy4EV988YV6emud2HXRokVNDmDJKIb+/idaIMpxXJ76So6t66+/3i7lJiIicphG\\\\\\n\",\n       \"dgGktocBLCIXlrpyGVY/eA8MSd0R+voT8OzVT93QWPJonwjvYaNRnZaC49NuVS2tjv7yPbrfMAXt\\\\\\n\",\n       \"zz4XOoMB6x55AINnPQfv0DC443nw2UPpmNkxFr0DffHsRb3x76+2odqkuV0AK7s0222DV2ayf4e2\\\\\\n\",\n       \"D4VviC+0/9+G8m9xTjF+fPBHlBaWot1t7RA0OAh6z9ppHr0iveCX5IfIiyNx6KlDOLr2KD695lMM\\\\\\n\",\n       \"um4Quo3vproYEtnDggULVN6MCRMmqBxVEmCSXBkyslFzuhBKV8H6SF6tTZs2NaPEREREba8LIbke\\\\\\n\",\n       \"JnEnclE5WzZj9b/vhufgEQh9ae6JVldWwStLHnEJiFi4GL6XX4/i5KPY/tar+GnS2SofVknaMay6\\\\\\n\",\n       \"9zYsHNRNTUd+/EYFx+TnohTXTgQuJMwx+3A6ykwmBPt5IjzAvQIVMsrixQPbYWfuTrQVPkE+J4JY\\\\\\n\",\n       \"moaj64/i+/u/R3lFOTo+1hEhw0PqBK8sefh5oMvsLoi7JQ5VlVXY8MEGLLhpAQrTXT/vGzkHSej6\\\\\\n\",\n       \"yiuv4IcfflCjEr322mvYs2ePGjWwffv2zVr2J598okZBiouLw9GjJ47Pr776qsrZQUREROTOGMAi\\\\\\n\",\n       \"ckGm6mqsnjENHt16IfjR2dB52RaQkQBX0J3T4X/TnajIy5EZSPtzJc756mdMWPhDzRQ/ZiyiBp+u\\\\\\n\",\n       \"fvaLOTECnDsEsdLKq6DX6XDH6E4wnCTY52otr+4+qws25P6C5SnL0dbIPn1wxUGUFZahw/QO8I6y\\\\\\n\",\n       \"/bsQNioMHR/siGpjNYxVRhxZfaTFy0ttw8GDBzFx4kT1swSwZEQj2eck6eu7777b5OW+/fbbasQk\\\\\\n\",\n       \"Sdien58Po/FEd+iQkBAVxCIiInJZDhiFkFwPA1hELijtjxUoy0hDwN0PQeflZdN7qnZvR8ln76Nq\\\\\\n\",\n       \"7074jJsIfXAIKvKPI7R7L4Qkda01eQYGwdPPX/1s8LRt+a7gmUNpyKqsRsdIfzx2fg+3CGJdMjAe\\\\\\n\",\n       \"W/OX49ejv6ItkhEGD685jPAJ4fCOsy14VXqwFFk/ZKHscBk8Qj3g39VfJXsPig9SgaycAzlqMlWZ\\\\\\n\",\n       \"UJJTon4uSC1o8XUh9xEaGoqioiL1s4xQtGPHDvWzBJ0kCXtTvfHGG2q470ceeQQGw4nROc25sbZv\\\\\\n\",\n       \"326HkhMRETmKzk4TuTPmwCJyQfsWfgKvXn3hmXQiCbstdH7+qNy2GSVffwZNWgP4+UGn1yOib3+0\\\\\\n\",\n       \"FRUmDQ/uTcGL3RKQGOGPKwa3w//+SoGr8vcyICrQB+tSDqGt2vfrPpiqTQgdE2rze/S+epTuLUXu\\\\\\n\",\n       \"0lyYykzwCD5xKpTllOaW4us7v6557bYvt6lJksdf+NKFLbIO5H5Gjx6NX3/9FX369MHll1+uhthe\\\\\\n\",\n       \"vny5mjd27NgmL/fw4cMq35U1b29v1cqLiIiIyJ0xgEXkYoqPJSNr/RoEzXymUe/z6NAJoc+/VfO7\\\\\\n\",\n       \"MS8XuVedgyM/fYeuV0+u9drTn34B7qpS07AkpwDXxYUjKTIArirA2wNTz0xCcvkm7Mnbg7Zq10+7\\\\\\n\",\n       \"EDgoEJ4hnja/xyfOB4kPJNaad+jZQ9j14y6c//z5uP3X21ugpNSWvPnmmygvL1c/S2spT09PrFmz\\\\\\n\",\n       \"BpdeeikeffTRJi+3Y8eO2LJlCzp06FBrvuS/6tGjR7PLTURE5DD26ALILoRujwEsIhdTeOSw+ter\\\\\\n\",\n       \"/2nNWo4hLFwFtQoPH0Rbszq/GJfGhKJzVACuO70DPl3nWonqvT30uPe8AKQX/42F+xbCpJnQFkkC\\\\\\n\",\n       \"94KUAsSMiWn2svy7+yN/Xb5dykUUFvbPiK56vR4zZsywS6VI/qupU6eq4Jjs/3/99Rf+97//Yfbs\\\\\\n\",\n       \"2XjvvfdY8URE5LoYwCIbMIBF5GKqik/kVdEFBDZ7WTr/AFT9f56WtqSg2ogXD2fgsc5xGNQ+xOUC\\\\\\n\",\n       \"WDHBPvD39MeCvQugteFHTdXl1dBMGgx+/+QCaipZhuTTImqqwkLbR7EMCgpq0mfceuut8PX1Va24\\\\\\n\",\n       \"JJfWNddco0YjlFEOr7rqqiYtk4iIiMhVMIBF5GIM5hEHKysAX79mLUurrITBx7bE1+4mvaIKRk1D\\\\\\n\",\n       \"iJ8XxnaPxLI92XAFHnodJvSKQXrxkTYdvBIGrxOBK62q+fUgCds9vHlKpKaTkQBlpMGTkVZT8hrz\\\\\\n\",\n       \"6IFNce2116pJAljFxcWIiopq8rKIiIichqY7MTV3GeTWeLVO5GK8Q090TTGmpUIfbHviamua0QhT\\\\\\n\",\n       \"Vga8hw1HWyStsJ49mIZHk+Jx3emJ8DDosWRnJpyZp0GHW0Z2gn9QKubv+BRtnd6gh1eAFyqzKpu9\\\\\\n\",\n       \"rMrsSvgE+9ilXNQ2rVixolU/z8/PT01ERETuQNNOTM1dBrk3BrCIXEx4n37wiYxC2S/fwrNH7yYv\\\\\\n\",\n       \"p3L9nzDm5SDh7PPQVu0trcCTB1LxRFI8rhzSHttTC5CWfyLxsjO6oF+cCl69v+N9VBjZ3U10GtUJ\\\\\\n\",\n       \"B1cfRNRFUdAZmvbUzVhmROFfhRhwRd3R3YhsNWbMmBapLBl18FQtu8w2b97cImUgIiIicgZ6RxeA\\\\\\n\",\n       \"iBpH7+GBpMuuRvlvP8H0//mwmqLs+y8Q2qsvwno2PQjmDg6UViCtvBJye9jJyUcljA32xbacbQxe\\\\\\n\",\n       \"Weh5QU9U5VWhaEvTvwv5a/JVN8Qe53EUN7KPDz74AF9++WWd+TLvo48+atSyLrroIkyaNElNEyZM\\\\\\n\",\n       \"wMGDB+Ht7Y0zzjhDTT4+Pmqe/I2IiMjlk7g3dyK3xgAWkQvqfPEVQFU1yr77oknvrzqwFxV/rUGX\\\\\\n\",\n       \"K661e9lc0Q9ZJ0afu2lEIjqGO2eXnEsHtUNUWCF25OxwdFGcSmSXSER2j0TO4hxoxsZftZgqTcj7\\\\\\n\",\n       \"LQ8dhneAf4R/i5SR2h4ZFTAiIqLOfMlX9dxzzzVqWY8//njNlJ2djXvuuQdr167Fyy+/rKY1a9Zg\\\\\\n\",\n       \"2rRpyMx07i7QRERENuXAau5Ebo0BLCIX5BsVja7X3oDiD/6LijUrG/VeY3YWCh6dhuCu3dHhnPNb\\\\\\n\",\n       \"rIyuZFV+MdbmF0Ov02Fop3A4m8tPa4decUGYu20u8itOBNvoH0NuGoKyg2VI/yxdJcm2lQS8js09\\\\\\n\",\n       \"huq8agy6dhCrlOwmOTkZHTt2rDO/Q4cO6m9NJS24Jk+eXGf+ddddh6+//rrJyyUiIiJyBQxgEbmo\\\\\\n\",\n       \"fvc+iPgzxqHgiQdQtuR7m27cqw8fwPF7boSXTocxb7wHg3fbHIGwPnuKy1Q3wjO7RSIiwAvOIsjH\\\\\\n\",\n       \"AyOSIjBvzzM4XnHc0cVxSu0GtsOoe0chb3keUt9PVSMK2pL3Kvn1ZBT9XYRxD49DRFLd1jJETSUt\\\\\\n\",\n       \"rbZt21Zn/tatWxEe3vQgua+vL1avXl1nvsyTroRERESuSqfZZyL3xiTuRC5KbzBgxPOvYcOzs3D4\\\\\\n\",\n       \"+cdRtmgBfCddDp+zzoHOx7fmdRLYqty8HmXffYmKtSsR3CkJY958D37RMQ4tv7P5La8I7X29MS48\\\\\\n\",\n       \"CM9e1BuPfbcDWUXNH92uufolhKC0wsiWV6cg+as8fDyw4sUVKNlegpDRIQg9IxRe4bWDkRUZFchb\\\\\\n\",\n       \"kYf8VfnQaTqc+8y5SBic0JKbkNqgq6++WnX1CwwMxOjRo9W8lStX4t5778VVV13V5OVKV8E777xT\\\\\\n\",\n       \"JWsfMmSImrd+/XrMnz8fjz32mN3KT0RE1OrskcOKASy3xwAWkQvTe3piyOPPIWHsBOz/4lOkv/Q0\\\\\\n\",\n       \"it95BR5J3aDzD4BWXg5TWgqq01MR2CkJvR98DB0vvAQevs6Z58nR5qfmqPPe2eFBePi8Hpi2cKtD\\\\\\n\",\n       \"yzOqSwTOH+iH+TtecWg5XEWXs7ogonMEdn6/E3t/3YvsH7Ph18kPhgCD+nt1QTXKjpTBO8gbvc/v\\\\\\n\",\n       \"jV4X9kJgdKCji01u6Omnn8aRI0cwduxYeHicuNQymUyq+19jc2BZmjFjBjp16oTXXnsNn376qZrX\\\\\\n\",\n       \"o0cPlTT+iiuusFv5iYiIiJwRA1hELk6GV48bdYaailNTcOjbr1CcchRVRUUwhAbDOzERPuERSLzw\\\\\\n\",\n       \"EgS2a+/o4jq9LzLyMDY8CAE+nvDx0KO8+tTd0VrCwPYhKnj1/o73kVKU4pAyuKLQDqEYefdIDLll\\\\\\n\",\n       \"CA4sO4CMXRmoKKqATq+Dd5Q34q+IR6cxneDhxdMftRwvLy8sXLgQzzzzDLZs2aK6/vXp00flwGou\\\\\\n\",\n       \"CVQxWEVERG7HHknYmcTd7fEKnsiNBMQnoO/U++rMz9u1Ax7ezI9iixKjCftKytDd3xezL+mDmd9s\\\\\\n\",\n       \"R7kNOZXsrWNkADZmbmTwqgmMlUaU5ZWh27nd0POCnvbfOEQ26tKli5rsrbKyEllZWapVl6X27fmQ\\\\\\n\",\n       \"goiIXBS7EJINmMSdqA0I69kbvpFRji6Gy3jmYDr2lJQj1N9LBbF8PFv3UNk9JhBDO4bhQP6BVv1c\\\\\\n\",\n       \"d1GSW4LsfdnQTEyEQO5l//79GDVqlGrRJa25ZKRDmRITE+sd9ZCIiIjInbAFFlEbUZ6bA72XN7wC\\\\\\n\",\n       \"mfPnVKRNw9MH0/CfbgmI8fNSwaSV+3JaZTv1jAvCjcMT8fWh+diTt6dVPtPdlOSUwCfYh90Eye3c\\\\\\n\",\n       \"eOONKqfWjz/+iNjYWNWFnIiIyC2wBRbZgAEsojYid8dW+EZEIaxXH0cXxWXOoQdKyxHr7YkxXSOx\\\\\\n\",\n       \"an8OWrpBj9yK3jQiEYsOfYhtOdta9sPclMloQmleKcISwxxdFCK7k3xamzZtQvfu3Vm7RETkXhjA\\\\\\n\",\n       \"IhuwCyFRG+EbFY3SzAxHF8OlfJCag+NVRnSKDMCVgxNa/PNign3gadBjf/7+Fv8sd1V2vAyaUYN/\\\\\\n\",\n       \"hL+ji0JtVHV1NZ566ikcO3bM7svu2bMncnJapzUoERERkbNhAIuojfCLioGxohyVhQWOLorLKDdp\\\\\\n\",\n       \"+C7ruPq5c2TLBkRig31w94RwLDv2PUqqSlr0s9yZwcuA4HbB8PL3cnRRqI2SLn4vvviiCmTZ2/PP\\\\\\n\",\n       \"P48HH3wQv//+O3Jzc1FYWFhrIiIicvlRCJs7kVtjF0KiNsI7NAx6T0/VCssrKNjRxXEZGwpKcHVs\\\\\\n\",\n       \"ODpHBapWWAs3pNj9M+JDfHHX+HD8mfonlqcst/vy2xKfIB81ETnSWWedhZUrV6rk6vY0btw49e/Y\\\\\\n\",\n       \"sWNrzdc0TeXDMhqNdv08IiKi1qLTTkzNXQa5NwawnNTWrVvxww8/ICwsDFdccQUiIiJq/iZPWadN\\\\\\n\",\n       \"m4b58+c7tIzkWnR6PQLbJ8Lg7e3ooriU49VGvHA4HY92jsPwzuF2D2C1C/XFv85Iwspj32LlsZV2\\\\\\n\",\n       \"XXZbU1laicriStV9UKfnEzhynHPPPRczZszA9u3bMWjQIPj7127BeeGFFzZpuStWrLBTCYmIiIhc\\\\\\n\",\n       \"DwNYTmjp0qW44IIL0KVLFxQVFWHWrFn48ssvceaZZ6q/l5WV4aOPPmIAixotpCsT/zZFakUVjJqG\\\\\\n\",\n       \"IB9PjEwKx58Hcu22953dMxpbji9n8MoOijKKUJBagI6RHe2xOGrDZs+ejUWLFmHPnj3w9fXF8OHD\\\\\\n\",\n       \"Vfe9bt262fT+f/3rX+rfl19+uc7fmtNSasyYMXCWdSQiIrIrJnEnGzAHlhN64okn8MADD2DHjh04\\\\\\n\",\n       \"cuSIynchT2sXL17s6KKRG6gsKkJFQb6ji+FSClUrrAzVrf6WkZ0wpus/LSKbI8jHAwlhfkgtTrXL\\\\\\n\",\n       \"8tq6kuwS+If7qwABUXNI97+pU6di3bp1+PXXX1FVVYXx48ejpMS2/HQmk6nBqbHBq23btqn3mX8+\\\\\\n\",\n       \"2dSa60hERETU2tgCywnt3LkTn3zyifpZbsQkgNWuXTtcdtllWLBgAQYPHuzoIpILO75nh/o3evAw\\\\\\n\",\n       \"RxfFpewoLsNzB9PwcOc43DC8I/ZnFSMtv7zJywv29cRdZyXhSNl6/J31t13L2hZVlVWhsqQSYR3D\\\\\\n\",\n       \"HF0UcgPWD4w+/PBDREVFYdOmTRg9enSjllVeXg4fn6bnZevfvz8yMjLU58vPcl0gOa+a27LLnutI\\\\\\n\",\n       \"RERE1BoYwHJC3t7eyM+v3ULmmmuugV6vx5VXXomXXnrJYWUj1+cbFYP8PbtgqqpSSd3JdrtKynGs\\\\\\n\",\n       \"vBIJPl7oGOHf5ACWp0GHu89KwtHy9fh6/9fQVJtpao6SnBLVptg3zJcVSXZXUHBi9FbJS2kLCSQ9\\\\\\n\",\n       \"99xzeOedd5CZmYl9+/ahU6dOeOyxx1Ri91tuucXmzz58+DAiIyNrfnaWdSQiIrInaT/f7CTu9ioM\\\\\\n\",\n       \"OS0GsJyQPGGVRK2S+NXSVVddpZ663nDDDQ4rG7k+v6hoHN+1A2U52fCPjXN0cVzO0pwC3NouEjeP\\\\\\n\",\n       \"6IiUvFIk55U1qfVVmL8XXt7O4JW9ePh4IDQhFAYPg92WSe5JBkKxJA+NZGqIdN+TgVNGjBiB3r17\\\\\\n\",\n       \"2/QZzz77rMpV+cILL2DKlCk18+X9r776aqMCWB06dKj3Z3uyZR0rKirU1FA9EhEREbU05sByQnfe\\\\\\n\",\n       \"eSdSU+vPiXP11VerZv5s3k9N5eHrB6+gIJRlZbASm2B5XhHW5BdDr9dhVNcTrSIaw8ugx5WDE3Aw\\\\\\n\",\n       \"u5gtr+woIDIA4Z3D7blIclMJCQkIDg6umSSZ+clInijJSSld+G318ccf491338W1114Lg+GfoGq/\\\\\\n\",\n       \"fv1U0nRnY8s6Sj1Z1pvUIxERkd1Isll7TOTW2ALLCV188cVqklZY5pEHrbsTyuiERE3lH58AY3nT\\\\\\n\",\n       \"8ze1dXuLyzE8JAAjO4fjp23pyC+tsul9Xh563D66E/R+R/Dhjg9bvJxtRUVRBUxGE3xD2H2QTi0l\\\\\\n\",\n       \"JQVBQUE1v5+s9dVdd92FH3/8EX/88YfKRWkreQiVlJRUb0snSZbuTGxdx5kzZ2L69Om1WmAxiEVE\\\\\\n\",\n       \"RHbDUQjJBmyB5cTOOecc/Pvf/651sZuTk4MLLrgAM2bMcGjZyLUFJXZCaPeeji6Gy/o1rxB/Hi+G\\\\\\n\",\n       \"r5cHZl/cB2F+p84l5u2hxx1jOkPnexgf7PgAlabKVilrW3D86HHk7M9xdDHIRUjwynKqL4Al3fUl\\\\\\n\",\n       \"sPPNN99g+fLl6NixY6M+o2fPnli1alWd+V999RUGDBgAZ9DYdZR6sq47IiIiotbEFlhOTFpgTZ48\\\\\\n\",\n       \"WQ1v/fnnn6vkrZI3o2vXrtiyZYuji0cuzlhRgerSEniHMmFvU/w3JUt1ARwVGojHzu+J+77YetLX\\\\\\n\",\n       \"XzO0PUzeB/DRzo9Qbapu4lYja5pJQ2leKUISQlg5ZNcudXLe/e677xAYGKhGARTSdc7X99Qt/WbN\\\\\\n\",\n       \"mqXyVUpLLGl1tWjRIuzdu1d1LZTWTu6wjkRERHbFFlhkA7bAcmLDhw9XgSpJqDpw4EDVrfC+++7D\\\\\\n\",\n       \"ypUrWyyRK7Ud+fv3Imfb344uhkv7MDUHJgCBvp4qt1VDdDogPsQXa9LWMHhlZ2X5ZTBVm+Af6W/v\\\\\\n\",\n       \"RVMb9vbbb6tR+c444wzExsbWTAsXLrTp/ZMmTcIPP/yA3377Df7+/iqgtXv3bjXv7LPPblbZZJTi\\\\\\n\",\n       \"9957T3Xpy8vLU/M2b97cYO7MllpHIiIie5IRCO0xkXtjCywnJ0Nvb9y4UeWlSEtLU09wS0tL1QVx\\\\\\n\",\n       \"S3rrrbfw4osvqieyknT2jTfewJAhQ1r0M6l1+UXHoDjlKCqLiuAVGMjqb4Iyk4aDpeXo4ueDpyf1\\\\\\n\",\n       \"wsPf7IBR0+oEr64e0l49VDpaeJT1bGclOSVqBELvgIbzGBE1pXtdc40aNUq1oLanbdu2Ydy4caqV\\\\\\n\",\n       \"1JEjR9QIh2FhYaqFV3Jysmrh1ZrrSERERNSa2ALLic2ZMwfDhg1TT2tldKC//voLf//9N/r27Yu1\\\\\\n\",\n       \"a9e22OfK01dJ1Pr444+rp7oSwJowYQKysrJa7DOp9fmER0BnMKAsM53V3wxPHUhDqcmEyCAfxAT7\\\\\\n\",\n       \"1PqbXgdcN7QDEsP9MG/vUyitLmVd25mnryeC44NZr9QmyLn5xhtvxP79++Hj88/x5rzzzlNJ2ImI\\\\\\n\",\n       \"iFy+C2FzJ3JrDGA5sddeew3ffvutav0kF6rSlVCCWJdccolq8t9SXn75ZfVU96abblKJaN955x34\\\\\\n\",\n       \"+flh/vz5LfaZ1Pp0ej18I6NQmpXJ6m8GI4DsimoVrLpqSALMg/cadDpcPywRCTH5KnhVVMmRQ1uC\\\\\\n\",\n       \"5L4K7RDaIssmaozQ0FDVGsqWqak2bNiA22+/vc78+Pj4mhxWRERELokBLLIBuxA6se3btyMiIqLW\\\\\\n\",\n       \"PE9PT9W17/zzz2+Rz6ysrMSmTZtUbg0zvV6vuiw01OqroqJCTZZDa5Nr8IuJQ0l6qupKopO+btQo\\\\\\n\",\n       \"3nodBgf748/8IsT5hKF3fDBevqIfyqpM8DTokFd9BO9un4eSqhLWbAsoKyiDwcMAL38v1i853Kuv\\\\\\n\",\n       \"vlrzc25uLp555hnVellaUgs5hy5ZsgSPPfZYkz9DRgKs7xwr6QYiIyObvFwiIiIiV8AAlhOzDl5Z\\\\\\n\",\n       \"GjNmTIt8Zk5ODoxGI6Kjo2vNl9/37NlT73tmz56NJ598skXKQy3LPzZOTdQ4AQY9orw8cUl0KOJK\\\\\\n\",\n       \"C1FaWozkQ/kICQlRrTCC/38Ar8rSAOh1bOjaUnL25aguhDG9Y1rsM4hsJaMOml166aV46qmncNdd\\\\\\n\",\n       \"d9XMu+eee/Dmm2+qxO4yIEtTXHjhhWq5X3zxhfpdHjxI7quHHnpIfSYREZGrskcSdiZxd38MYFGz\\\\\\n\",\n       \"SWstycthJk+HExISWLMuwmQ0oqqoEN4h7IZ1MuYwVIy3Jx6NDlSt1nKz0rBiwwaYTDIW4T8tJMwB\\\\\\n\",\n       \"6BEjRmDawGmY89ccVJmqWnQ7tjVV5VWoKKpASPsQRxeFqA5pafX888/XmX/OOedgxowZTa6xl156\\\\\\n\",\n       \"CZdddhmioqJQVlamHmZJ10Fp5fXss89ySxARkevSdCem5i6D3BoDWFSL3HQbDAZkZtbOiyS/x8TU\\\\\\n\",\n       \"38pBbtjNN+3keoqTjyB/3x60GzsBeg8eEuozKSoEEyL+SRR+aNtW7N69u97XmrvTypD2kmg5sUsi\\\\\\n\",\n       \"Qr1DkVXGQRDsqTS3FJJwzC/Mz67LJbKH8PBwfPfdd7j//vtrzZd58remktEHZWTD1atXY+vWrSgu\\\\\\n\",\n       \"LsbAgQNVN38iIiIid8e7VarFy8sLgwYNwrJly3DRRRepedK6RH637ApB7sM3KhrH9+xCeW42/KJj\\\\\\n\",\n       \"HV0cp+Gl0+G6uHC08/GCj16P1UsWo7y8XH0fJFecLaSFRKWpEjf0ugEH8w/i24PfwqT901qLmq4k\\\\\\n\",\n       \"pwS+Ib4weBpYjeR0pFv9rbfeit9//x1Dhw5V89avX4/Fixdj3rx5TV7uxx9/jCuvvFK17pTJTI5J\\\\\\n\",\n       \"CxYswOTJk+1SfiIiolZnj1EEOQqh22MAi+qQ7oCSy+O0007DkCFDVGLakpISNSohuR9P/wA1lWVl\\\\\\n\",\n       \"tvkAVlc/H5WUXST4eCE0Pwf7tuzD8ePHaw1UYCvp2tMjqTNKNh9E/46dEdXnNqSXpGN58nIUVXFU\\\\\\n\",\n       \"wmbttz6e8A5iy09yTjfeeCN69OiB119/HYsWLVLz5Pc///yzJqDVFHIelm6I0oXQUlFRkfobA1hE\\\\\\n\",\n       \"ROSqmAOLbMEAFtUhT3ezs7Mxa9YsdQPev39/9dTYOrE7uVcrrOLUFIS10dEI+wT4qtxW50WGIGvv\\\\\\n\",\n       \"blRVVaHCaMTqgwfVoAZNlZ+fjw1btuK0IcOxcv7biO/RCz1j4pDU9zb8mfYnjhQcQWZp7e66ZJvI\\\\\\n\",\n       \"bhxxjZybBKo+++wzuy6zoRFjjx07proXEhEREbkzBrCoXtJdkF0G2w6/6BhU5B+HqbIShjaQz8xH\\\\\\n\",\n       \"r1OjCIoBQX44x9eAvLw87PxzG9LT0+36WWlpadDr9SoQdnDjehk2DN1OH4lxUachpNsF+DD5f8iv\\\\\\n\",\n       \"yFddCzNKMqCx7fMpleWXwcvPCwYvdh8k5yXf+W+//bYmX16vXr3UKIKSZ7KxBgwYoAJXMo0dOxYe\\\\\\n\",\n       \"FvkK5XMOHz6sWmYRERG5LHYhJBswgEVE8A4NQ8zp/+RTcWehHgZMS4xBdHVFTT6rlSv/VF1wWoWm\\\\\\n\",\n       \"Ye/aVerHhJ59cP3pl0Gn08Pg6YkNxVvxxd4vGMQ6afVpSN+ejuD4YIR3anoybKKWdODAAUycOFG1\\\\\\n\",\n       \"jOrWrZuaN3v2bDVC708//YTOnTs3annmnJRbtmzBhAkTEBAQUCt3ZWJiIi699FI7rwUREVEr0k50\\\\\\n\",\n       \"I2zuMsi9MYBFRDWBgaqiQngFBbttfqvbEiLhZ9Djz+NF+GvpT44uElJ2bVeT8PbzR9fJF2H2qNk4\\\\\\n\",\n       \"VnQM83fMR2l1qaOL6HTKC8phqjLBP+JErjIiZ3TPPfegU6dOWLt2LcLCwtS83NxcXHfddepvEsRq\\\\\\n\",\n       \"jMcff1z9K4Eq6ebv4+PTIuUmIiIicmYMYBGRIkncszdvQNzoM1VSd1cnnXQujwlDe18v9XustxcO\\\\\\n\",\n       \"bFiv8rrJaILOpqK0BDveXQAff390HzEG0wZNQ2FFoWqNtTp1NbZkb3F0EZ1m9EHpOugd6P5dXcl1\\\\\\n\",\n       \"rVy5EuvWrasJXonw8HDMmTOn1uiBjSUDrBAREbkldiEkGzCARUSKT3gEdHq9CmR5dnTdAFagQY/x\\\\\\n\",\n       \"EcFqFEF/gx7ZG9er1mWppaUqqboz00xGlBUVYsuSnxC5JxF6gwGePr64buTl6BraVY1g+Gfqn226\\\\\\n\",\n       \"i6EEsKT1VVscbIBch7e3d73dkouLi1WXv6aSfFevvPIKvvjiCyQnJ6su0JYklx8REZFLYgCLbMAA\\\\\\n\",\n       \"FhEpeg8P+EREojQrE0EdG5efxdG6+HkjwssTEtIYFx4En+wM5KXmYdfBg3Vu8FyBppmQdeRQze9F\\\\\\n\",\n       \"OdmI7pSEfl1GIz4gHgfyD6j5B/MP4njFcbQVJqMJnn6e8I9k90Fybueffz5uu+02vP/++xgyZIia\\\\\\n\",\n       \"t379etxxxx0qkXtTPfnkk3jvvfdw//3349FHH8UjjzyCI0eOqGTxMnIwERERkTtjAIuIavhGRSNv\\\\\\n\",\n       \"53YYKytg8HLeLloeOtSMItjd3wdXBvvUtDzIP5COzTt3qlZX7iI/M11NR7f9jZ6jz0Jnr6EweHjC\\\\\\n\",\n       \"v9v5ePfoJyipKkG1Vo2cshy4M71Bj7i+cY4uBtEpvf7666q737Bhw+DpeeJYVV1drYJXr732WpNr\\\\\\n\",\n       \"8LPPPsO8efNUgvgnnngCV199tUoI37dvX9VlUfJrERERuSKdHZK4NzsJPDk9BrCIqIZvZDQ8/A6i\\\\\\n\",\n       \"uqzMaQNYfno97ukQjU46oxpFUG4KV69erRIku7vykmJs/uX7mt+TTjsdtw+4EdKbTu/hiWU5f+Dn\\\\\\n\",\n       \"wz/DXZXll6ncVxLIInJmISEh+O6779RohLt371bzevTogaSkpGYtV3L49enTR/0sIxEWFBTUtPh6\\\\\\n\",\n       \"7LHH7FByIiIiIufFABYR/XNA8PFB/OiznLJG2nl74l/toxHkYcD24lJ8/8sPbtXKqikObFynJuEX\\\\\\n\",\n       \"HIJ+112CkfEjVdfCj3d9jCpTFdxFdWU1UjenIqpHFIJigxxdHCKbSMCquUErS+3atUN6ejrat2+v\\\\\\n\",\n       \"Wl4tXboUAwcOxIYNG1TeLSIiIiJ3xgAWEdVRVVoCDx9fldTdkc6PDFFdBEWMtyfStm/FlmPHUFJS\\\\\\n\",\n       \"4tByOaPSgnz8/e4n8PEPQO8zzsZ9g+5DUWWRCvItT1mOfcf3wZWV5paqf/3C/RxdFKJTuvTSS1Xu\\\\\\n\",\n       \"q4ceeqjW/BdeeEEFm7788ssm1eLFF1+MZcuWYejQobj77rtx3XXXqTxbktD9vvvu45YhIiLXxSTu\\\\\\n\",\n       \"ZAMGsIiolqriIqSt+h1Rpw2Fb2RUq9eOt16H8eHBaOfjhTgfT6RuODGKYHZ5OXJy3DvHU3MZq6pQ\\\\\\n\",\n       \"kn8cG35YhKjEjtDp9PANCsL1o67HpqxNMJqMKK0uxe8pv8OoGeFqow/6BPvAw4unLXJ+f/zxh8pR\\\\\\n\",\n       \"Ze3cc8/FSy+91OTlzpkzp+bnK6+8Eh06dMCaNWvQpUsXXHDBBU1eLhERkaMxBxbZgncCRFSLZ0Ag\\\\\\n\",\n       \"PPz8UJaV2WoBrPY+XqqFlRgdGoiowjzkHE3G1kOHUFZW5tJbSIJvkqsrJDoG2UcPt8pnmozVyDi4\\\\\\n\",\n       \"v+b3wuwsJLRPVD9HJHRHh54dsCV7i/o9tTgVmaWZcPbRB0vzShGWGOboohDZpLi4GF5eXnXmS0L3\\\\\\n\",\n       \"wsLCZgXGhg8fDg+PE5dvp59+upokF6D8bfTo0dxCRERE5LYYwCKiekcjLE1PR1ivE8mCW0qEpwc6\\\\\\n\",\n       \"+XnjmthwVGSmq3nFqUexassWFfRxBxLA2rRpEwZecCnWfDYfxcdPjJbYmnJSjqpJeHh5o/eZ4zDR\\\\\\n\",\n       \"byR0eh2C2kVh/pHP1AiGJpiQW5YLTbXhdh7GSiO8/L3gH+Hv6KIQ2UQSrS9cuBCzZs2qNX/BggXo\\\\\\n\",\n       \"2bNnk2vxzDPPVDmwoqJqP1yQZO7yN6PRtVpWEhER1eJcl6DkhBjAIqI6/KJiUHTkMCoK8uEdHNIi\\\\\\n\",\n       \"NXRxVAgmBvmgqqoKm/78Q92UuauUlBR07doVfiGhDglgWaqurMCWJT/V/N6uRy/cNOpqle9Mpzdg\\\\\\n\",\n       \"Y9FWLNy7ECbNeQKInr6eSDgtwdHFILKZjAh4ySWX4ODBgzjrrBMDY0juqv/9739Nzn9lDojrZNhR\\\\\\n\",\n       \"KzIKq78/A7xEROTCmAOLbMAAFhHV4R0aproRVpeV2i2AFe7pgX+1j0KYpwfk9qvUaMLSJT8zIbuD\\\\\\n\",\n       \"Hdu9U03Cy9cPXSZPwlPDn1IBrLLqMjWaoXQzdBS5Ya8oqoB3oHe9N+5EzkjyUX377bd47rnn8NVX\\\\\\n\",\n       \"X8HX1xd9+/bFb7/9hjFjxjR6eRIME/IduPHGG2uNOCitrrZt26a6FhIRERG5MwawiKgOaY0TP2as\\\\\\n\",\n       \"XWqmh78PxkcEI87bEwUH9mHdwYNqfnl5ucrbQs6jsqwUu9/7Ar5Bwer36I6dMWXkFKSVpKnfjxYc\\\\\\n\",\n       \"xdKjS1u1i6EEr45tPIb4gfHwDfFttc8laq6JEyeqyR6Cg4NrArqBgYEqIGYmubYkD9aUKVPs8llE\\\\\\n\",\n       \"RESOwCTuZAsGsIioQcaqSuigg97zRIJ1WxgAjIsIgr/BAA+dDsNDAnB069/YV1iIjIwM1raTMxmN\\\\\\n\",\n       \"KPn/bo6HjuehIDMD3gEBquXH6MHDENMzBtll2SqItSFjg8qd1dKjD+o99WoEQiJXU1lZiaysrDo5\\\\\\n\",\n       \"/dq3b9+o5XzwwQfq38TERDzwwAPsLkhERO6HXQjJBgxgEVGDgYzU5b8itHsvBHY4MYLdyQQY9Ojm\\\\\\n\",\n       \"74OhwQFIqihGTvaJYNW2bRnIzHTuUe6oYbmpKf/8nJKMxP6DEGIIhrefPwb1HYRfjvyCalO16m64\\\\\\n\",\n       \"7/g+u1dlSXYJ/MP92X2QXMr+/ftx8803Y82aNfXmsGpqsvUHH3xQLcPs6NGj+Oabb1Ri+PHjxze7\\\\\\n\",\n       \"3ERERETOjAEsIqqX3mCAd1gYSrPSGwxgBXsY4KnTwdegx63tIhFUlI+i3Az8sXmzSs5O7qW8pBh7\\\\\\n\",\n       \"Vq+s+b3jgNMwsfMo9XNASBhWhqzHuvR16vfCykJUmZq3D1SVVaGypBJhHcOaWXKi1iV5qjw8PPDj\\\\\\n\",\n       \"jz8iNjbWbgHYSZMmqXxYd9xxB/Lz8zFkyBDVhTAnJwcvv/wy7rzzTrt8DhERUVvpQvjWW2/hxRdf\\\\\\n\",\n       \"VD1F+vXrhzfeeEOdX09FRha++uqr1blZ8l5S62AAi4ga5BsVg/w9u2CqqqrTjfCssEBcE+Zf0xrg\\\\\\n\",\n       \"8KH9+G3rVtZmG3L4741qEn7BIRh24aU4q8+JgFZFaQn+c/At5JU3fdTF6vJqePp7wi/cz25lJmoN\\\\\\n\",\n       \"W7ZswaZNm9C9e3e7Lnfz5s145ZVX1M+SHD4mJgZ///03vv76a8yaNYsBLCIicl0O6EK4cOFCTJ8+\\\\\\n\",\n       \"He+88w6GDh2KV199FRMmTMDevXsRFRXV4PuOHDmiuvSPGnXiupdaDwNYRNQgv6hoHN+1A2U52fCP\\\\\\n\",\n       \"jVP5ra6NC0ffwBMBhRW/LVWtAIhKC/Kx8pP3ayqix8gzcP9p96tWWJIva2XKSvx+7PdGVZRvqC86\\\\\\n\",\n       \"DO3AyiWXI136pFWUvZWWlqok7mLp0qWqNZZer1dJ3KU7IREREdlOWi/LICg33XST+l0CWT/99BPm\\\\\\n\",\n       \"z5+PGTNm1PseSQNw7bXX4sknn8SqVat4L9TKGMAiooYPEL5+8AoOhndFGW5pF4EYrxOtsP7+bam6\\\\\\n\",\n       \"kZIExUT12f3n70jesVV1RfXy9cOoi89Bj/AeqDJWodxYju8OfoeiyqIGK89kNMFYaYSnr+0DCBA5\\\\\\n\",\n       \"i+eff17lq3ruuefQp08feFq1YA0KCmrScpOSklQ3hYsvvhhLlizBfffdp+ZLovimLpOIiKgttsCS\\\\\\n\",\n       \"+xhpLT1z5syaefJQaNy4cVi7dm2D73vqqadU66xbbrlFBbCodTGARUT16hfoi0Rfb2iTLsCAIH8Y\\\\\\n\",\n       \"0o+pvuFpaWnMb0U2Kck/XvNz2UcLERafoH6Oa5+IO/rege0529Xvx4qOYUfujtrvzSlB5s5MJI5M\\\\\\n\",\n       \"hIcXT1XkWuTiV4wdO9auSdylm+A111yjAley7GHDhtW0xhowYIAdSk5EROT6ObAKCwtrzff29laT\\\\\\n\",\n       \"JWkpLefj6OjoWvPl9z179tS7/D///BPvv/++ShVAjsG7AiKqIWmGewb4or2PF86OCELegf3qhis/\\\\\\n\",\n       \"uVj1BTcYpBMhUeOVFhaoSRzbvROdBp6G7oHhkNzWY7uOwFL/WKSXpKvuhgfzDyIjOwPegd4MXhFW\\\\\\n\",\n       \"DMyGl79Xs2tCBgRoLStWrGiR5V522WUYOXIk0tPTVaJZMwlmSassIiIiAhISTjw0NXv88cfxxBNP\\\\\\n\",\n       \"NKtqioqKcP3112PevHmIiIhgNTsIA1hEbZy3Xgc/vV4FEi6IDMFQDw3FxcX4e9lfyMs7kYBbnjKE\\\\\\n\",\n       \"hIQgMbH+0QiJGkfDoc0ban5L2b0Dw0aeAX1QH3h4+yAroRizVs9CeEI4/Dz8UFpdygomlzJmzJgW\\\\\\n\",\n       \"W7YkbpfJki2jJREREbWVLoQpKSm1utZbt74SEoSSh/OZmZm15svv1udZcfDgQZW8/YILLqiZZzKZ\\\\\\n\",\n       \"1L8y8rA87O/cuXMzV4BOhQEsojasnbcn7ukQg3CtWv1eUFCAZStXo7y8vNbr5AQgwSwGsKglFGRm\\\\\\n\",\n       \"YO3XC9TPOr0ecf0H44K48zD+rHEIDg7GZ0e+wKasTax8cimSF2Pu3Lk4dOgQvvzyS8THx+OTTz5B\\\\\\n\",\n       \"x44dVSsqIiIiapkAlty7nCo3pJeXFwYNGoRly5bhoosuqglIye933XVXndfLyMLbt59If2H26KOP\\\\\\n\",\n       \"qpZZr732Wp1WX9QyGMAiaoOGBPvj4uhQ+Bv0+CErH16/Lznp68PCwtTTCEnc7ud3YgRCopagmUzY\\\\\\n\",\n       \"/NtipGbnICDzKMLbtcekSyfhvE7nqb+nFafh092fosJYwQ1ATuvrr79W3QxklKLNmzejoqKi5iGB\\\\\\n\",\n       \"JHb/+eefHV1EIiKiNm/69Om44YYbcNppp6nWzK+++ipKSkpqRiWcPHmyegA1e/Zs+Pj4oHfv3rXq\\\\\\n\",\n       \"THqoCOv51HIYwCJqQ/mtzosMRidfb3Ty88GetavVsK9excWnfK88wZBROaQVFgNY1NKiw0LVJHKP\\\\\\n\",\n       \"JeOveR/C299f7cXdho3EPQPuQU5ZjsqXtT59PXbn7eZGIafyzDPPqKG45cJ3wYITrQvFiBEj1N+I\\\\\\n\",\n       \"iIio5ZK42+rKK69Edna2GiRFBqvq378/Fi9eXJPYPTk5Wd0DkfNgAIvIjUV6eajWVjroEOftiXgf\\\\\\n\",\n       \"L2Rv2YQNeXmqJYCt5MAtTxisuxYS2VtVtVHlY/OwGDCgorRETWLTT98itkt3GDwM8PT2xTUjr8H6\\\\\\n\",\n       \"jPWqRValsRKr01aj2nSiSyyRo0gejNGjR9eZL11i5cEBERERtVwXwsaQ7oL1dRkUv//++0nf++GH\\\\\\n\",\n       \"Hzb+A6lZGMAickMSrIr19sTlMWGoTjumuq/IMLHb9+1DWVlZk5bZpUsXPoFoBulTHxgegazDB5uz\\\\\\n\",\n       \"GLeXnpOLtJxcDO3VHTqJZFkxGY1I3bOz5vf8zHR07dpd/RwcFYOuvbriz9Q/kVKUguKqU7cuJGoJ\\\\\\n\",\n       \"kvz1wIEDdfIGyvDbnTp1YqUTERERNQEDWERuJMCgR48AX1wbGw5TXg5Stm/Fvn377LJsc/PZ6upq\\\\\\n\",\n       \"NdIGNc62bdswYsRIlBzPQ8bB/ay+BuQVFiIk0L/e4FV9pIuhTMLg6Ym+Z03ANRGTYIj1xBtH3lNB\\\\\\n\",\n       \"LKPJyJEMqVVNmTIF9957L+bPn6/25bS0NKxduxYPPPAAHnvsMW4NIiIiJ+hCSK6Hd6FEbuKS6FBM\\\\\\n\",\n       \"DPJRLa3Wr1qp+nHbmwTDpCWRjMJBjZObm6v60UsrIQaw6ldRWYXisnLER0Y0afcyVlXh7yU/qp+7\\\\\\n\",\n       \"jxiDBwfcV/O3H9IWY3nKcu621CpmzJihjpVjx45Vg19Id0IZwlsCWHfffTe3AhERkZN0ISTXwgAW\\\\\\n\",\n       \"kYuK8PTAbQmRCPQwQNpGVWsaliz5RY2c0VICAgKQkpKigmQGixxFRPZqfSVCAgObvaw9q1diz5o/\\\\\\n\",\n       \"1M+BYeEYcc0lGBY3TCV+zy/Pxye7P0FRZVGzP4eoPtLq6pFHHsG///1v1ZWwuLgYPXv2VMdQIiIi\\\\\\n\",\n       \"ImoaBrCIXEwPfx+MDgtER19vFOzfi13Hjqn5RUVFqKqqatHPDg0NxdGjR1UC+LCwsBb9LGp7Kqqq\\\\\\n\",\n       \"ERIYAE8POwVHtROP4Ypyc7D5vU/hFxysfm/fqx/u6n8X0orT1O87cndgU+Ym+3wmkQUvLy8VuCIi\\\\\\n\",\n       \"IqJTYAsssgEDWEQuYnCwv0rOfmZYEI7t2IZDhYVITU1t1TL4+vqqKS8vjwEssrvE2Gho/x90srfK\\\\\\n\",\n       \"slI1ifyMDMSldIentzcMHp64avBFaBfQDlmlWWpEQ5NmapEyEBEREVH9JPupbRlQG9bc95PzYwCL\\\\\\n\",\n       \"yEn5G/To4OOlfpbE7BLAKj1yCNt2bEZmZqbDyiWtsKQFFpE9VcngAAaDzcnbm0dD2r7dNb/lHEtG\\\\\\n\",\n       \"Ut8BGBzXCx2DO2Jj5kY1XwJa+RX5rVAeIiIiIiI6FQawiJyMl06HME8P/Kt9FEJKi1S+qerqUmxc\\\\\\n\",\n       \"8ofKo+JoCQkJ6NChg6OLQW7mcFoGyisr0TepU6t/dmF2JrYtWwwvX1/0O/s8dI+4WAXSfPz98dbB\\\\\\n\",\n       \"91UgS3JnlVWXtXrZiIiIiNoEdiEkGzCAReREuvv7YHp0kEqQfvDgfizZuhXORq+XlPFQI2yZfyZq\\\\\\n\",\n       \"Duk2mFdYhJhwx+ZVqywrw4bvv675PbHfINwz8s6aVmF/5K7Ftwe+VcEsIiIiIrIfnXZiau4yyL0x\\\\\\n\",\n       \"gEXkBMaFB2FMWCCCDAb8vX4tjh07pgJEzkpGIszNzUX//v0dXRRyA4Ulpag2GhEe3PzRB+3pyNZN\\\\\\n\",\n       \"OLp9S01rrK7XTsLMoTORUZyBz/d8jnJjuaOLSERERETUZjCAReQAwR4GTIoKgZdeDx+9Du19vLFv\\\\\\n\",\n       \"zSo1kqAzdBM8FX9/fxVkKysrU0ndiZojt7AQnh4eCHDCfUkzGVV7q9LCAux4fyECIyLQeeAQTO0/\\\\\\n\",\n       \"FRklGeo1m7M2Y3fePzm1iIiIiKixF13/PzUHW2C5PQawiFpROx8v9PD3wfDQABjSjqlWTGJjejpK\\\\\\n\",\n       \"SkpcZlsEBwer7oPHjx9nAIuarbyiEmFBga2UwL3pqisrcDwtFZsyvkO7Hr3h7+kJD08vXD38aqxN\\\\\\n\",\n       \"W4vS6lJUmaqwIWOD+peIiIiIGoEBKDoFBrCIWilwFevtiatjw1CSkoz83UexZ88el617ydElQSwJ\\\\\\n\",\n       \"YMXFxTm6OOTienbsAJPJda5YNJMJKTu31fyel56K3j37qJ8Dw8LR+//auxPwKqtr/+O/zAMhIRBI\\\\\\n\",\n       \"GMKsIjITQVBRKwrq0zqXqihqS69WqxS1lepfaK1Fr0Md69SLcqtcqVqsVUuZBERAJlFmRIZEIAlh\\\\\\n\",\n       \"SAIJmf/P2pg0gQCBc8KZvp/neUnO9PKefZK856y91to9emhO5hztPLBTB8oCJzANAAAA+DMCWEAj\\\\\\n\",\n       \"sDwSKw00g5s11Yhmsa7cbsOSL7Rt27agGPPk5GT3XGjmDk+UlVcoKjJC4d//vgSi3d9lus1EREap\\\\\\n\",\n       \"9yWX6fY2P1FYeLie2/ya9pXsU2VVpUorS319qAAAAH6JJu5oCAJYgJclRITrng6p6hJx6HJpaanm\\\\\\n\",\n       \"z5/vspWCScuWLd3GSoTwxNotW9UkLlZd27UNioGsKC/Tin996L4/Y/AQ/abf2JrbPt45Q7MyZ/nw\\\\\\n\",\n       \"6AAAAPwUPbDQAASwAC/pGBetG1u3UHJUpNbvL9ba2dNVVVWliooK9zXYVAeuyMDCySotK1dhUbHS\\\\\\n\",\n       \"WjQPykHcsHC+Ni1d5Hp7xSc20zk/uVL9UvspqyBL7258V+VV5b4+RAAAACBgEMACTpIVPA1PSXK9\\\\\\n\",\n       \"rUz3hDjtWPWVVuXlac+ePUEZtDpcXl6etmzZov79+5OJhRO2t7DQfU1u2jRoR6+i7FAz94K8XK2c\\\\\\n\",\n       \"NEUJzVvojHPO05197lReUZ6qVKXFOxdra8FWXx8qAACAz1BCiIYggAWcoLjwMA1slqCu8bFKj43W\\\\\\n\",\n       \"vu+bOa8rKFB2dnZIjWd8fLzKy8tVUFCgZs2a+fpwEGB25xeoaXycoqNC41RUUnTAbV/84z2ld++h\\\\\\n\",\n       \"xIgIRcfF6/aM2zU3a66yD2Rr7Z61vj5MAACAU48SQjRAaHxqALwgKTJCqdFRuiY1WSmFe1WQu1tf\\\\\\n\",\n       \"r1mjgwcPhuz4WgArJibGZZwRwMKJsAzFopISpSYnh9zAVZSVautXK2ou78vZqYyuZyil/UWamTBf\\\\\\n\",\n       \"m/ZtctfbKoYHK0L37wsAAABQGwEs4Biiwg6tjGZlgr/skKq4A4XatSNTc5cvD4kSwYZo3ry5KyXs\\\\\\n\",\n       \"3Lmzrw8FAcT6QvU/4zRV8nuk7E0b3dY0paXOv+RyXdRuoMIjIpQbXahJqyepoLTArWIIAAAQrCgh\\\\\\n\",\n       \"REMQwAKO4rrUZF2WGFtzefXXK7Vx40bG6zDJycnauXOniouLFRcXx/igQSoqKxURHq6I74PEkArz\\\\\\n\",\n       \"dumz/5t8aCjCwtTr4mEa3+e3Ki8t0Yvf/kXbCrYxTAAAIDhRQogGIIAF1BIbHqZb2qSobWy0bI29\\\\\\n\",\n       \"WbNmuBJBy7Yq+74ZM+pKTExURkaGoqIONbMHjsd+n5av36i2LVPchnoHSV/Pmq51n81Vm9O76Wc/\\\\\\n\",\n       \"+Jn2lux1N32771t9+O2HrgE8AAAAECoIYAGSUqMjdUlKkjrERqugvELbFn6mvXv3qrS0lPFpQCmY\\\\\\n\",\n       \"Ba8sKGHfA8ezv7hYpWXlSiBj77jKSg5q26qV2rtzh6Lj491qnxnnXqC0Xmmu6fvMbTNVVF7EDx0A\\\\\\n\",\n       \"AAhsZGChAQhgIWT1bRqvpKgIl2k1LCVJB7ZuVn5+vrZu3qzKSvrNnIjCwkJt2LBBPXv2dE3dgWPZ\\\\\\n\",\n       \"nV+oyIgIJTaJZ6AaqCAvt+b7fTnZandmD53Vtp069fq5lmQvcdfnHMjRt/nfMqYAACDg0AMLDUEA\\\\\\n\",\n       \"CyElIkxqHxutfolNdHZSE5Xv+M5dv+Orzdq06dDKXzhx1vuqvLzcZa2lpaUxhDimPQUFap7YlIy9\\\\\\n\",\n       \"k1RaXKTNK5Zoy8plOuOc8zQkuae7PqXrFfr7zo9dr6wd+3dQYggAAICgQgALIcEK22LCw/Rf6a10\\\\\\n\",\n       \"ZliFioqKtHj6PB04cMDXhxYUIiMjXS+sPXv2EMDCMZWVl+tgSanap7ZipDxUVVmp9Qvn11xu0TZd\\\\\\n\",\n       \"V/zgUsWkNdHCguX64NsPDt2vyrpl0S8LAAD4MUoI0QAEsFBj69atevTRRzVnzhxlZ2erTZs2Gjly\\\\\\n\",\n       \"pB566CFFR0cH7EilREXq3g6pahNWqV27dumThQtVUVHh68MKytUIt23b5jKxLKAF1CcqMlIDe5yp\\\\\\n\",\n       \"MBdWhjft3p6luX/9H8UmNNXAq3+s8wc87q4/eGC//rT5FeUW/acMEQAAwJ+EWT/dKs8m3Dx9PPwf\\\\\\n\",\n       \"nzJRY/369a7306uvvqquXbtq9erVGj16tMtSeuqppwJqpC5pkehKBE3zqEgt3LdfX342WyUlJb4+\\\\\\n\",\n       \"tKAOYFkQtMDKw5o39/XhwE9VVlYpItw6z6GxHNxfqPlvv6Ho2Dh3uX2P3vrFOb/QnoN7NCdzjlbv\\\\\\n\",\n       \"Xs3gAwAAIOAQwEKN4cOHu61a586dXWPul19+OSACWJFh0uUtm6l1TJQ6x8Vo8xeLXDbQ9vJyleTl\\\\\\n\",\n       \"+frwgl5sbKz69u3rvgL1KSuv0LJ1G9StQ7qSE5sySI1cXlhSdKhE+pslC5WXtU1NW6RoxMUj1D2v\\\\\\n\",\n       \"uyqqKtzqhbO2zVJZZRmvRT3mz5+vJ598UsuXL9fOnTs1bdo0XXXVVUEzVsH+/AAAAYYSQjQAASwc\\\\\\n\",\n       \"k63Kd7xsGstqqp3ZZBk4p0pbC1bFH1r1rk/TeDWJiFD5N+u0IitL+/fvP2XHgUMIXuFY9hUWqqKy\\\\\\n\",\n       \"UvEEOU+5vTu3u61wd55S0ju461q276YOPTroy11fasOeDdpXsu/UH5gfs+zj3r176/bbb9c111yj\\\\\\n\",\n       \"YBPszw8AEFhYhRANQQALR2Wr8r3wwgvHzb6aOHGifve7353SkWwVHal2sdEa2aaFSnbucKWPJdl7\\\\\\n\",\n       \"9NVXX7msK/hGaWmp1q5dq06dOikpKYmXAXXsLihQQlysYqKjGBkfB7LM5hVLdeb5F2pY80G6uPfF\\\\\\n\",\n       \"mrphqnYf3E0g63uXXXaZ24JVsD8/AAAQfAhghYAHH3xQTzzxxDHvs27dOnXr1q3m8vbt21054fXX\\\\\\n\",\n       \"X+/6YB3LuHHjNHbs2DoZWOnp6WosQ1skakSzOBcsWf3FYmVmZjba/4UTY83+LYC4d+9eAlg4ovfV\\\\\\n\",\n       \"3oL9atsyhZHxExXlZVr96Uz3/ekDz9XPe9ysyKho/WXLX7VuzzpfHx4AAAgllBCiAQhghYD77rtP\\\\\\n\",\n       \"t9566zHvY/2uqu3YsUMXXXSRBg8erNdee+24+4+JiXFbY4qQdGvbFPVPaqIDFZX6dOa/XXkj/I+V\\\\\\n\",\n       \"nO7Zs0cdO3b09aHAj+wvLnblgy2SEn19KKjHxi8+d1tq564a+aORigi3v7rSut3r9Pa6t1VeFTyZ\\\\\\n\",\n       \"rYeXuZ+Kc1gw8GW7AABA8KOEEA1BACsEtGzZ0m0NYZlXFrzq37+/3njjDYX7cLWwTnHRuja1uSLC\\\\\\n\",\n       \"whQfEa6DlZWa9/FHKrYPwhUVPjsuHD+AlZOTo6KiIsXHxzNccBKbxGtA926KjuK0489yNm/S7pdf\\\\\\n\",\n       \"dZlY4RERanv9xRqbMVa7i3fr/W/eD4rywsMzhMePH68JEyb47HgChS/aBQAAANTGJwnUCV5deOGF\\\\\\n\",\n       \"6tChg+t7tWvXrprb0tLSTtlI9U+M1+lNYpWR2EQ716zSnvx87ZGUm5tLf6sAkJiY6AKfVkZIAAvV\\\\\\n\",\n       \"qqqqCF4FiPKSEreZzZM/dE3fW3Xsojt63aH1e9e767MKsrQ8d7kCUVZWlvs7VY3sq4Y51e0CAAAh\\\\\\n\",\n       \"hhJCNAABLNSYOXOma9xuW7t27Y748NlY4sLD1btpnMLCwlxz9iHJTZW7fq3Wr97jyhkRWCx41atX\\\\\\n\",\n       \"L1YkRJ3ywTWbt6lnl06Kj6VUK5BUlJW5rCzb2uf2VrumiVJYmAafdaVaJ7RWVmGWVuWtUmVVpQKF\\\\\\n\",\n       \"Ba9qB7DQMJRaAgAaEyWEaAgCWKhhfbKO1yvLm5pEhKtFVKRbSTBlf75KSg6qsrhSX65Y7LJ3ELji\\\\\\n\",\n       \"4uJ8fQjwI3vyC91KobHR0b4+FHggc/VXNd/v2LBOPQedp0EpvdW7ZW/N3DbTlRmWVpYGzRjv37/f\\\\\\n\",\n       \"TehU27Jli1auXOnKpNu3b69AF+zPDwAABB8CWPCJ9rHRuqdDqhJKirVze6bmLF/eqFleOLXstVy7\\\\\\n\",\n       \"dq3rvdaqVasTfvzSpUv1z3/+0/XSslUNrYTVlns/77zzGuV40bj2FBQoOTFB4eFhR9w2c+kKzVvx\\\\\\n\",\n       \"lbJyDpUsd27bWjde+gOdlt6Wl8WPFe7epWUfTVNUTKz6X36lxp5+l3Ii9um1r19TQWlwNPdetmyZ\\\\\\n\",\n       \"6wlZrbp8btSoUXrzzTcV6IL9+QEAAgwlhGgAAlg4pc5p1kQj0looOjxM03L2Kmbuv3kFgpCVgxpb\\\\\\n\",\n       \"jfBkAlgJCQn60Y9+pNatWysyMtJlBbz++uuu7MfKExE4SkrLtL/4oNq2TKn39jWbt+q83j10Rvt0\\\\\\n\",\n       \"RUdG6oP5n+vRN97Sn+69kxULA0BZyUEtnjbVlRUm3XCexg0Y58oJbftkyydatHORApX1hAzmiZVg\\\\\\n\",\n       \"f34AgMAsIwSOhQAWGlVceJhubN1CyVGR9vlGrWOitPqzedq3b59iDh5k9INYcnKya5ZsGVSlpaVu\\\\\\n\",\n       \"+fXY2Fi3VQe4lixZomnTprlMK+uvYgsIjBkzRmeeeWadfQ0bNkyfffaZNm7cSADLz1VUVOrAwYOq\\\\\\n\",\n       \"qKxUk9hY7du/312/IfM7Tfzfd5S9e4+io6LUqU2afnPzCI0ZcU2dx99xzQ+1eM06rfp2iy7s19tH\\\\\\n\",\n       \"zwInrKpK+VM+06KmX7nf7/ikZhp29eXql9pPmQWZ+njLxwwqAAAAPEIAC43mylbN1CetlfLLK1T4\\\\\\n\",\n       \"5VJ3XVZ+vgoLCxn1EGD9VebMmeMypyx4Vc1WJhwyZIgyMjL05z//WSNGjHDfHzx4UBs2bDhqOeLO\\\\\\n\",\n       \"nTvdfeGfQavlG77Rvxcv1debNrsM8GptW7bQoB7dNW3e5xo5fKgGntVNxSUlWrc102IeRygtK3P7\\\\\\n\",\n       \"S4inj1ogKi48VD5YVJCvosn/p6RWqTr77EFK65GmeZvm+frwAACAv7I3hp5mBpNZHPQIYKHRdC/Y\\\\\\n\",\n       \"rYP7dinzm29cA2eEhs2bN+utt97SN99840oBBwwYoNTUVEVFRblMLFtZcv78+Zo+fbq7vy3Dbr2y\\\\\\n\",\n       \"qr+vVlRUpHvuucdlcNnKhtaXpWfPnj57XlC9wcVZS1fovTnztbugUO1bNNOVfc9SUlys63dVVFqm\\\\\\n\",\n       \"dTty9P6nn7mg1tad2bp0QH+1Sm6mDmmp9Q7pW9NnKzmxqXp16cyQB7ii/H1u2/1dpjr27q8emU19\\\\\\n\",\n       \"fUgAAMBPsQohGoIAFhrNihUrWI0uBF/zF198USkpKbr++ut1xhlnKCIios59evTooR/84AdavXq1\\\\\\n\",\n       \"PvnkEz3xxBPq1q2bBg8e7IJdTZo0cfezUsPHHnvMZWatWbNGU6ZMcf20Di8vhG9UVlbpzY//rU8W\\\\\\n\",\n       \"LVG/9m00ckAvpTdvdsT9zu7YTnuLivXyp4s078uvtWz9Rl130RBd1L+3Eg5brXLavAX6/OvVmvCz\\\\\\n\",\n       \"UYqO4vQULEqLi7Vx8QIVHfxPJiYAAABwoviEAMArrMzv+eef1+mnn66rr77aZVwd9Q9PZKT69Onj\\\\\\n\",\n       \"Alz/+7//67K19u7dq3fffVcTJkxwgSrLurLMLWO9sSxzy1YmJIDlH96eMVv/WrRE1/TrocFdOxzz\\\\\\n\",\n       \"vsnxcRp3+UVauuU7Tftyjf5vxhxNm7tAE3/xU6U2T3b3+cdnC12Z4SO336yOrevPzgIAAECQYhVC\\\\\\n\",\n       \"NEB4Q+4EAMdy4MABPffccy7QdO211x4zeFVbXFycbrvtNheosvJCC2wtX778qOVqZWVlvBB+YOm6\\\\\\n\",\n       \"DfrH/IX6YZ/uxw1eVbPG3gM6p+uuHwxyr2VJWZmWrF3vbrOVB9+f85kevvUmdW3XppGPHgAAAP4m\\\\\\n\",\n       \"rNI7G4IbASwAHluwYIFr1G6ZV4eXDB7Nd99951YWzMvL08UXX+wysPLz89WmTRt9+OGHWrVqlXJz\\\\\\n\",\n       \"c7V9+3ZXavj555/r3HPP5dXyAx8tWKxOKc015PRODbr/tt17NXvtJmXt2acm0dE6q22qC2A1T0x0\\\\\\n\",\n       \"WVfvzJyrX1z7I7VMbqa9hfvdVlxS2ujPAwAAAEDgoIQQgOeNvGfNcqV91rS9oWJiYrRt2zYtXrzY\\\\\\n\",\n       \"Bb8s+6p58+bq3bu3Nm7cqMmTJ2vPnj2Kjo5W69atdccdd+icc87h1fKxrJxdWrNlm246p2+DHxMb\\\\\\n\",\n       \"FanNeXs0/5stKikrd03eLSNrT0GBZnyxTOUVFXpqyrt1HnP9D4ZoxNALG+EZAAAAwO9QQogGIIAF\\\\\\n\",\n       \"wOPeV9nZ2Ro+fPgJPc5WHhw5cmTNZWvU/t5777nMLGsAbxv8z4wly5UQG6OebdMa/JjUxKYaPWRA\\\\\\n\",\n       \"neveXvyl/r14mf78wD0umAUAAIDQxSqEaAhKCAF4ZPPmzW7FwPbt23u0H2voXr0/+K9NWdvVLa2l\\\\\\n\",\n       \"IiM8O32c1SZV2Xv26sDBg147NgAAAADBiwwsAB43cLdm7J5m0VgJoTV/37Rpk5o1a1ZzvfXESklJ\\\\\\n\",\n       \"0b59+5SZmVnnMfb/nnbaae77r7/++oh92oqIFlzLyspyPbZqs5UO09LSVFhYqC1bttS5zY6jerVD\\\\\\n\",\n       \"yzArLy+vc3uXLl3UpEkT7dy5U7t27apzm5VBtmvXTsXFxW51xdqKioo0+PTO7vv12zKP6PPUqXWa\\\\\\n\",\n       \"mjVNUM6evdqRt7vObUkJTdS5TWuVlZdr9eatRzzXXl07KyI8XJu+267CouI6t6W3aqmUZknanV+g\\\\\\n\",\n       \"zJzcOrc1iYvV6entXCnoym++PWK/3Tt1UExUlLbuzHa9qazsr3VaijwVHxPtvh4oPqiEuDiP9wcA\\\\\\n\",\n       \"AIAAVlV1aPN0HwhqBLAAeCQ8PNwFP7zB9mMBp9q9tKpXNLQA1+E9tqyPVrX6+m/ZsVXf7/DbrbfW\\\\\\n\",\n       \"0fZr11WzQFVFRUW9+7V9HO2Y7D6H35aUlPSf/cbGKvKwhveRkYcuR0dFqWl83aBO3Pf7tUDh4be5\\\\\\n\",\n       \"6xVW5361RX3/fOzrEfuN/s/969tv+PeBydjoaHd7RIR3Xu/qfVSPJQAAAEIXJYRoCAJYADxiQRrL\\\\\\n\",\n       \"wrIgT0NXIKyPZSxZplOHDh3UuXPnev+fYzWJr+8xtbOtbKuPZXEd67F2PEfTokULt9XHAlmH7/es\\\\\\n\",\n       \"s86S8rLd9+mp9R+PSW6a4Lb6WNCra7u2R31s25ZHz45KbBLvtvpYYOxY+01r0dx9tZUD84tL5Kn8\\\\\\n\",\n       \"4kOlg2RfAQAAAGgIpr4BeKRnz54qKyvThg0bPNrPqlWrXDZO9+7deUX8WO/TumjdzlwVl5Z5tJ8v\\\\\\n\",\n       \"M3fo9PS2ivu+lBAAAAAhrMpLG4IaASwAHklPT3e9ppYuXepROdmyZcvUv39/JScn84r4saEZfVVp\\\\\\n\",\n       \"r9fW7056H7kF+/VNTp6Gn3O2V48NAAAAgV1C6OmG4EYAC4DHhg4dqq1btyonJ+ekHm8rD1ozdNsP\\\\\\n\",\n       \"/FtyYlMNOKubFn6bqYrKypPax4JNW10/rXN6kG0HAAAAoGEIYAHw2Nlnn+1W9Pvb3/7mVto7Eba6\\\\\\n\",\n       \"4AcffKCuXbvWrPwH/3bl+YO150CR3l226oQbuq/M3KGFm7bpR+cPVnQUbRgBAABQaxVCTzcENQJY\\\\\\n\",\n       \"ADxmq/Y98MADrhfW5MmTlZ+f36DHWdaV3d9WHhwzZoxrJA7/17VdG9113ZWujPDdZV83OBPL7j/l\\\\\\n\",\n       \"i5U6v09PXTVkcKMfJwAAAAIDJYRoCKa/AXiFrfL38MMP68knn9Srr76qvn37KiMjo96eVrm5ua7n\\\\\\n\",\n       \"1VdffeUed//99yspKYlXIoAM6dPTzXK99P6H2rYnX+d26aB+Hdoq9rCsqsrKKq3PznUlh+t35uri\\\\\\n\",\n       \"jL4afeXlBCsBAAAAnBACWAC8pk2bNpowYYI+/vhjzZs3T4sWLVLnzp3VsmVLRUdHq6SkRNnZ2dq2\\\\\\n\",\n       \"bZsSExM1fPhwXXHFFYqPj+dVCEBD+vZS65QWmjZvgaZ9uUYff71eZ7VNVVJcrCLCwlRUWqb12btc\\\\\\n\",\n       \"uWGn1mn65fVXucAXmXYAAACowxurCFJBGPQIYAHwKsukuvHGG3Xttdfqiy++0IIFC1yD94MHDyou\\\\\\n\",\n       \"Lk4pKSm66667XHaWlR4isJ2W3la/HjlCu/MLNGvpCi1fv1HfFeSpoqJSTeJi1euM0zRsYIYrOyRw\\\\\\n\",\n       \"BQAAgPp4YxVBViEMfnx6BNAoYmJiNGTIELch+LVIStSIoRe6DQAAAAC8jQAWAAAAAADwncqqQ5un\\\\\\n\",\n       \"+0BQI4AFAAAAAAB8hx5YaIDwhtwJAAAAAAAA8BUysAAAAAAAgM+EeaEJu+0DwY0AFgAAAAAA8J2q\\\\\\n\",\n       \"qkObp/tAUKOEEAAAAAAAAH6NABYAAAAAAPAZKx/0xnaiXnrpJXXs2FGxsbEaOHCglixZctT7vv76\\\\\\n\",\n       \"6zr//POVnJzstqFDhx7z/vA+AlgAAAAAAMD3qxB6up2AqVOnauzYsRo/frxWrFih3r17a9iwYcrN\\\\\\n\",\n       \"za33/nPnztUNN9ygTz/9VIsWLVJ6erouvfRSbd++3TtjgOMigAUAAAAAAELKM888o9GjR+u2225T\\\\\\n\",\n       \"9+7d9corryg+Pl6TJk2q9/5vv/22fvGLX6hPnz7q1q2b/vKXv6iyslKzZ88+5cceqghgAQAAAAAA\\\\\\n\",\n       \"nwmrqvLKZgoKCupsJSUlR/x/paWlWr58uSsDrBYeHu4uW3ZVQxQVFamsrEzNmzf34kjgWFiFEAAA\\\\\\n\",\n       \"+K2i7SNVHpfg8X5Ki/dLesMrx4T/mLZxlRKbMh8KAPBQ5febp/uQXGlfbVYiOGHChDrX5eXlqaKi\\\\\\n\",\n       \"QqmpqXWut8vr169v0H/3m9/8Rm3atKkTBEPjIoAFAAAAAACCQlZWlhITE2sux8TEeP3/ePzxx/XO\\\\\\n\",\n       \"O++4vljWAB6nBgEsAAAAAADgM7VLAD3Zh7HgVe0AVn1SUlIUERGhnJycOtfb5bS0tGM+9qmnnnIB\\\\\\n\",\n       \"rFmzZqlXr14eHTNODDnfAAAAAAAgZFYhjI6OVv/+/es0YK9uyD5o0KCjPu6///u/9eijj2r69OnK\\\\\\n\",\n       \"yMjw9FnjBJGBBQAAAAAAQsrYsWM1atQoF4gaMGCAnn32WR04cMCtSmhuueUWtW3bVhMnTnSXn3ji\\\\\\n\",\n       \"CT3yyCOaMmWKOnbsqOzsbHd9QkKC29D4CGABAAAAAADfsfI/D0sIT/TxI0aM0K5du1xQyoJRffr0\\\\\\n\",\n       \"cZlV1Y3dMzMz3cqE1V5++WW3euF111133CbxaBwEsAAAAAAAgM+EVR3aPN3Hibr77rvdVh9r0F7b\\\\\\n\",\n       \"1q1bT/bQ4CX0wAIAAAAAAIBfIwMLAAAAAACEVAkhAg8BLAAAAAAA4DNhlYc2T/eB4EYJIQAAAAAA\\\\\\n\",\n       \"APwaGVgAAAAAAMB3KCFEAxDAAgAAAAAAvmPtqzxtYUULrKBHCSEAAAAAAAD8GhlYAAAAAADAZ8Kq\\\\\\n\",\n       \"qtzm6T4Q3AhgAQAAAAAA36EHFhqAEkIAAAAAAAD4NQJYAHAKREREKDk5WRXlZYw3AAAAUJtV/1V6\\\\\\n\",\n       \"uFFBGPQoIQSAU6B///7S/nxtWbmc8QYAAABqoQcWGoIMLAA4BZo2barNXy5TRRkZWAAAAABwoghg\\\\\\n\",\n       \"oV4lJSXq06ePwsLCtHLlSkYJAAAAANA4qmo1cj/pjRcn2BHAQr1+/etfq02bNowOAAAAAKBxeRy8\\\\\\n\",\n       \"+n5DUCOAhSP861//0owZM/TUU08xOgAAAAAAwOdo4o46cnJyNHr0aH3wwQeKj49vcLmhbdUKCgoY\\\\\\n\",\n       \"VQAAAABAw9gqgmFe2AeCGhlYqFFVVaVbb71Vd9xxhzIyMho8MhMnTlRSUlLNlp6ezqgCAAAAAE5o\\\\\\n\",\n       \"FUJPNwQ3Algh4MEHH3TN2I+1rV+/Xi+88IIKCws1bty4E9q/3T8/P79my8rKarTnAgAAAAAAQg8l\\\\\\n\",\n       \"hCHgvvvuc5lVx9K5c2fNmTNHixYtUkxMTJ3bLBvrpptu0uTJk+t9rN3/8McAAAAAANAg3mjCTgZW\\\\\\n\",\n       \"0COAFQJatmzptuN5/vnn9Yc//KHm8o4dOzRs2DBNnTpVAwcObOSjBAAAAACEJAJYaAACWKjRvn37\\\\\\n\",\n       \"OqORkJDgvnbp0kXt2rVjpAAAAAAAgE8QwAIAAAAAAL5DBhYagAAWjqpjx45uZUIAAAAAABpNpS1F\\\\\\n\",\n       \"6IV9IKixCiEAAAAAAAD8GhlYAAAAAADAZ8Kqqtzm6T4Q3AhgAQAAAAAA36EHFhqAEkIAAIB6vPTS\\\\\\n\",\n       \"S64fZGxsrAYOHKglS5YE3TiFwnMEAADBgQAWAADAYaZOnaqxY8dq/PjxWrFihXr37q1hw4YpNzc3\\\\\\n\",\n       \"aMYqFJ4jACBAVFZ5Z0NQI4AFAABwmGeeeUajR4/Wbbfdpu7du+uVV15RfHy8Jk2aFDRjFQrPEQAQ\\\\\\n\",\n       \"YCWEnm4IagSwAAAAaiktLdXy5cs1dOjQ/7xhCg93lxctWhQUYxUKzxEAAAQXmrgDAICQUVBQUOdy\\\\\\n\",\n       \"TEyM22rLy8tTRUWFUlNT61xvl9evX69gcKLPsaSkxG1HG0cAADzjjQwqMrCCHRlYAAAgZKSnpysp\\\\\\n\",\n       \"Kalmmzhxoq8PKSDYONUeNxtHAAC8hhJCNAAZWADQyJo1a6YmTZqotLiYsQZ8LCsrS4mJiTWXD8++\\\\\\n\",\n       \"MikpKYqIiFBOTk6d6+1yWlqagsGJPsdx48a5hu+1M7AIYgEAgFOJDCwAaERhYWE677zz9O2i+dqX\\\\\\n\",\n       \"vYOxBnzMgle1t/oCWNHR0erfv79mz55dc11lZaW7PGjQIAWDE32ONk6Hjx0AAF7DKoRoADKwAKCR\\\\\\n\",\n       \"A1j2QTFr7WrGGQgglm00atQoZWRkaMCAAXr22Wd14MABt2JfsAiF5wgACBBVlYc2T/eBoEYACwAA\\\\\\n\",\n       \"4DAjRozQrl279Mgjjyg7O1t9+vTR9OnTj2h6HshC4TkCAIDgQQALAACgHnfffbfbglkoPEcAQAA1\\\\\\n\",\n       \"cfd0HwhqBLAAAAAAAIBve2Cpygv7QDCjiTsAAAAAAAD8GhlYAAAAAADAdyghRAMQwAIAAAAAAL7j\\\\\\n\",\n       \"Kgg97YHlrYOBv6KEEAAAAAAAAH6NDCwAAAAAAOA7lBCiAQhgAQAAAAAA36mstH+8sA8EM0oIAQAA\\\\\\n\",\n       \"AAAA4NfIwAIAAAAAAL5DCSEagAAWAAAAAADwHQJYaABKCAEAAAAAAODXyMACAAAAAAC+U1llaVhe\\\\\\n\",\n       \"2AeCGQEsAAAAAADgM1VVlW7zdB8IbpQQAgAAAAAAwK+RgQUAAAAAAHzbxN3TEkDbB4IaASwAaERR\\\\\\n\",\n       \"UVGMLwAAAHDc4BMBLBwbJYQA0EgiIyN1QUY/5Wxcp7KDxYwzAAAAAJzs5ytGDgAaR3JysqLj4rXg\\\\\\n\",\n       \"b28xxAAAAMDRVFZKYR42YaeJe9AjgAUAjaiivExVdkIGAAAAUD9KCNEAlBACAAAAAADAr5GBBQAA\\\\\\n\",\n       \"AAAAfMYqFqo8LCGsooQw6BHAAgAAAAAAvkMJIRqAEkIAAAAAAAD4NTKwAAAAAACA71RWSWFVXsji\\\\\\n\",\n       \"QjAjgAUAAAAAAHzHBZ88XLmbAFbQo4QQAAAAAAAAfo0MLAAAAAAA4DNVlVWq8rCEsIoMrKBHBhYA\\\\\\n\",\n       \"AAAAAPCdqkrvbCfopZdeUseOHRUbG6uBAwdqyZIlx7z/u+++q27durn79+zZU5988okHTxonigAW\\\\\\n\",\n       \"AAAAAAAIKVOnTtXYsWM1fvx4rVixQr1799awYcOUm5tb7/0XLlyoG264QT/96U/15Zdf6qqrrnLb\\\\\\n\",\n       \"6tWrT/mxhyoCWAAAAAAAwLclhF7YTsQzzzyj0aNH67bbblP37t31yiuvKD4+XpMmTar3/s8995yG\\\\\\n\",\n       \"Dx+uBx54QGeeeaYeffRR9evXTy+++KKXRgHHQwALAAAAAACETAlhaWmpli9frqFDh9ZcFx4e7i4v\\\\\\n\",\n       \"WrSo3sfY9bXvbyxj62j3h/fRxB1eV908r7i4mNFFSMvLy9O6pV+o6GCJrw8F8LnikpKTarBaVnzA\\\\\\n\",\n       \"K/+/t/YD1XkdC/Z7uOS5D4XHF/j6EAAgoBUUFHiteXq5yqQqL+yj1nFVi4mJcdvh79MrKiqUmppa\\\\\\n\",\n       \"53q7vH79+nr3n52dXe/97XqcGgSw4HW7d+92X++9915GFwBwxDkiKSnpuKMSHR2ttLQ0/f2BH3lt\\\\\\n\",\n       \"BG1/tl94rrCw0H3t0G9rAA/n8X8OAQANOyc05Nx+rPP9gmzvNENPSEhQenp6neusx9WECRO8sn/4\\\\\\n\",\n       \"FgEseF3z5s3d18zMzJP+QxboLOpvfzizsrKUmJioUMQYMAb8HPD7UFt+fr7at29fc444HlvdZ8uW\\\\\\n\",\n       \"LS7F31vsTbLtF55r06aNO8c1bdpUYWFhXh/SYDiHBPpz4Ph9j9eA8ff3nx/LvLLglZ0TTpa3z/d2\\\\\\n\",\n       \"TIeflw7PvjIpKSmKiIhQTk5OnevtsgXU6mPXn8j94X0EsOB1VjtsLHgViG/YvMmeP2PAGPBzwO8C\\\\\\n\",\n       \"fxOOPEc09E0tASf/fR3btWvX6P9PMPz9DPTnwPH7Hq8B4+/PPz/eSFjwxfneJrX69++v2bNnu5UE\\\\\\n\",\n       \"TWVlpbt899131/uYQYMGudvHjBlTc93MmTPd9Tg1CGABAAAAAICQMnbsWI0aNUoZGRkaMGCAnn32\\\\\\n\",\n       \"WR04cMCtSmhuueUWtW3bVhMnTqxpkXPBBRfo6aef1hVXXKF33nlHy5Yt02uvvebjZxI6CGABAAAA\\\\\\n\",\n       \"AICQMmLECO3atUuPPPKIa8Tep08fTZ8+vaZRu7XEqZ05PnjwYE2ZMkUPP/ywfvvb3+q0007TBx98\\\\\\n\",\n       \"oB49evjwWYQWAljwOqsxtkZ59dUahwrGgDHg54DfBf4m8HcRoX0eDfTnwPH7Hq8B4x/KPz+nipUL\\\\\\n\",\n       \"Hq1kcO7cuUdcd/3117sNvhFW5Y01LwEAAAAAAIBG0vBOqgAAAAAAAIAPEMACAAAAAACAXyOABQAA\\\\\\n\",\n       \"AAAAAL9GAAuN7uOPP9bAgQMVFxen5ORkXXXVVSE56iUlJW5li7CwMK1cuVKhYuvWrfrpT3+qTp06\\\\\\n\",\n       \"uZ+BLl26uIaSpaWlCnYvvfSSOnbsqNjYWPc7sGTJEoUKW2747LPPVtOmTdWqVSv3e79hwwaFsscf\\\\\\n\",\n       \"f9z9/o8ZM0ahZPv27Ro5cqRatGjh/gb07NnTLTkNAAAAnAgCWGhU77//vm6++Wbddttt+uqrr/T5\\\\\\n\",\n       \"55/rxhtvDMlR//Wvf602bdoo1Kxfv16VlZV69dVXtWbNGv3pT3/SK6+84paeDWZTp07V2LFjXbBu\\\\\\n\",\n       \"xYoV6t27t4YNG6bc3FyFgnnz5umuu+7S4sWLNXPmTJWVlenSSy/VgQMHFIqWLl3qfgd69eqlULJ3\\\\\\n\",\n       \"716de+65ioqK0r/+9S+tXbtWTz/9tJvMAIJ1AmD+/Pn64Q9/6M75FrS2JdYDSaBPQLz88svub21i\\\\\\n\",\n       \"YqLbBg0a5P7+BKpAnPyYMGGCO+baW7du3RRIAnnyxf52Hj7+ttn7MiDQRfr6ABC8ysvLde+99+rJ\\\\\\n\",\n       \"J590GTjVunfvrlBjb5xmzJjhAnqB/CbqZAwfPtxt1Tp37uzeCNsbzKeeekrB6plnntHo0aNd8NZY\\\\\\n\",\n       \"0M6yESdNmqQHH3xQwW769Ol1Lr/55pvug9Dy5cs1ZMgQhZL9+/frpptu0uuvv64//OEPCiVPPPGE\\\\\\n\",\n       \"0tPT9cYbb9RcZ9mYQEMmAOzvpgWvnn32WTcBYOcO+zvi7yxQb5MWt99+u6655hoF6gSEBbHsvZxN\\\\\\n\",\n       \"ONkEhAWgmzRpIn/Xrl07F/Q57bTTZIutT548WVdeeaW+/PJLnXXWWQokgTz5YWM9a9asmsuRkZEB\\\\\\n\",\n       \"N/ly0UUXufftLVu21DfffBMwky/2c1NRUVFzefXq1brkkkt0/fXX+/S4AG8gAwuNxrJObPYiPDxc\\\\\\n\",\n       \"ffv2VevWrXXZZZe5P6KhJCcnxwUy/vrXvyo+Pt7Xh+MX8vPz1bx5cwUrK4+0QM3QoUNrrrPfA7u8\\\\\\n\",\n       \"aNEiheprboL5dT8a+yB4xRVX1Pl5CBUffvihMjIy3JtmCzzYucACeUBDJwBs0ssCWXb+tAmAQGDv\\\\\\n\",\n       \"dSxYffXVVytQJyBuvfVWF4CwQJxNQGRmZrrzWiCw7LfLL7/cBbBOP/10PfbYY0pISHAZwYE6+REo\\\\\\n\",\n       \"gZPaLGCVlpZWs6WkpCgQJ18GDBjgJl4siGttMAKBBdxqj/1HH33kjv2CCy7w9aEBHiOAhUazefPm\\\\\\n\",\n       \"mjTihx9+2P3xtBPwhRdeqD179oTEyNvMn70JvOOOO9yHOEibNm3SCy+8oP/6r/8K2uHIy8tzM1+p\\\\\\n\",\n       \"qal1rrfL2dnZCjVWQmqlDzab2aNHD4WSd955xwXzrSQnVM8Dlm1pHyT//e9/684779Q999zjMiKA\\\\\\n\",\n       \"+jAB4H8CeQLCzsX2d9iy4qyUMJAE+uSHZSxZGa1l3lsgzoKggSKYJl/sb+pbb73lMkKtjBAIdASw\\\\\\n\",\n       \"cMKs/Km+uuraW3XfI/PQQw/p2muvVf/+/d1Mht3+7rvvhsQYWKCmsLBQ48aNU7Bp6BjUZhl5Vk5o\\\\\\n\",\n       \"bwhsdh2hwd6EW+alfYgIJVlZWa6M+u2333Z9fEKRnQf69eunP/7xj+4DwM9//nP3u28ZNUB9mADw\\\\\\n\",\n       \"L4E6AbFq1SqXdRUTE+MmEadNmxZQLSwCffLDSn8tc8+y+WwSY8uWLTr//PPde+JAEEyTL9aDb9++\\\\\\n\",\n       \"fW5CHQgGgVOMDL9x3333HfePoM227Ny5031f+w2DvZGw2wJpFsaTMZgzZ44rGbPnXZvN6thsVCCe\\\\\\n\",\n       \"CE90DKrt2LHD9RIYPHiwXnvtNQUzS5OPiIhw5aO12WVL5Q4ld999t8u+tKbG1pcklFi5jTXttwBO\\\\\\n\",\n       \"7WwAG4sXX3zRrUxqPyfBzErHD//QeOaZZ7p+gAACZwJiwYIFCiRnnHGGW/HZssfee+89jRo1yvX2\\\\\\n\",\n       \"CoQgVvXkhy2AEqiTH1ZGW836d1lAq0OHDvrb3/5Wpy+uPwdu7b26Tb4Ym4Cx3wObfLGfpUDyP//z\\\\\\n\",\n       \"P+71CMWFpBCcCGDhpOqqbTsey7iywI01XT3vvPPcdbYS2datW91JLBTG4Pnnn6/TtNmCONaI1hrU\\\\\\n\",\n       \"2sk8FMagOvPKglfVWXjWDyqYRUdHu+c6e/Zst3pT9Zshu2wBnVApn/3lL3/pZr3nzp0bko27L774\\\\\\n\",\n       \"YpcFUJv19LGVmH7zm98EffDKWNbG4auXbdy4MeDPAWg8TAD4j0CegLDzcNeuXd33dj62ptbPPfec\\\\\\n\",\n       \"a4ju74Jx8qNZs2auH5m1kQgEwTL5sm3bNtdI/+9//7uvDwXwGgJYaDS2dLGlbY8fP941QrQPLLYi\\\\\\n\",\n       \"oQmVVTDat29f57KlsxtrpBhobwZPlgWvrO+Zvf626uCuXbtqbgvmbCRbQctm6WwGzxqA2ipa1oOj\\\\\\n\",\n       \"elXCUJi1nzJliv7xj3+4pdire38lJSW55ahDgT3vw0tubAUvW5I7kEpxPPGrX/3KZV3aLPaPf/xj\\\\\\n\",\n       \"LVmyxGVgBnsWJk4eEwC+F4wTEDaJZIGfQBCMkx/WkP7bb7/VzTffrEAQLJMvNmlsPbyslxoQLAhg\\\\\\n\",\n       \"oVFZwMpWIbETVnFxscs6srK6QFxNBSfHUuBtxs22w4N29iY5WI0YMcIF6x555BEXvOnTp4/rBXF4\\\\\\n\",\n       \"Y/dgZb0jjAUvD38zRR+G0HH22We7D8HWB/D3v/+9+yBswVwroQaCdQLAPqzXzjSx/j9WzmZN0A+f\\\\\\n\",\n       \"2PJHgT4BYX9vrGTKxtp6LtlzsUCc9TIKBMEw+XH//fe71SAt4GPVBzaZbYG3G264QYEgGCZfLGhr\\\\\\n\",\n       \"77nsb6l9FgOCRVhVMH+CBAAAQMCxUimbBKueALCS/EApvbdgiZXNH84+SFpja393tJXKAmUCwnos\\\\\\n\",\n       \"Wcm+9WK1oJv1YLLMpUsuuUSByiaD7PfAgrmB4Cc/+Ykredy9e7drN2GtRB577DFXgRAorHzWgqG2\\\\\\n\",\n       \"mqJNvlhgPZAWIJoxY4ZrW2KZZFa+CQQLAlgAAAAAAADwa8HdSRkAAAAAAAABjwAWAAAAAAAA/BoB\\\\\\n\",\n       \"LAAAAAAAAPg1AlgAAAAAAADwawSwAAAAAAAA4NcIYAEAAAAAAMCvEcACAAAAAACAXyOABQAAACCo\\\\\\n\",\n       \"zJ07V2FhYdq3b5+vDwUA4CUEsACgEe3cuVM33nijTj/9dIWHh2vMmDGMNwAAXnbhhRfWOccOHjzY\\\\\\n\",\n       \"nYOTkpJ8NtYE0QDAuwhgAUAjKikpUcuWLfXwww+rd+/ejDUAAKdAdHS00tLSXBYWACA4EMACAA/s\\\\\\n\",\n       \"2rXLvUH+4x//WHPdwoUL3Rvn2bNnq2PHjnruued0yy23+HQWGACAYHXrrbdq3rx57nxrASvb3nzz\\\\\\n\",\n       \"zTolhHa5WbNm+uijj3TGGWcoPj5e1113nYqKijR58mR3vk5OTtY999yjioqKOhNR999/v9q2basm\\\\\\n\",\n       \"TZpo4MCBLrOq2rZt2/TDH/7QPdZuP+uss/TJJ59o69atuuiii9x97DY7FjtOU1lZqYkTJ6pTp06K\\\\\\n\",\n       \"i4tzE1zvvffeEZlbH3/8sXr16qXY2Fidc845Wr169SkcVQDwP5G+PgAACGSWXTVp0iRdddVVuvTS\\\\\\n\",\n       \"S92b4ptvvll33323Lr74Yl8fHgAAQc8CVxs3blSPHj30+9//3l23Zs2aI+5nwarnn39e77zzjgoL\\\\\\n\",\n       \"C3XNNdfo6quvdoEtCzpt3rxZ1157rc4991yNGDHCPcbO52vXrnWPadOmjaZNm6bhw4dr1apVOu20\\\\\\n\",\n       \"03TXXXeptLRU8+fPdwEsu29CQoLS09P1/vvvu/1t2LBBiYmJLlhlLHj11ltv6ZVXXnH7sMeOHDnS\\\\\\n\",\n       \"vae44IILao73gQcecM/NJsp++9vfukCZPc+oqKhTNrYA4E8IYAGAhy6//HKNHj1aN910kzIyMtwb\\\\\\n\",\n       \"WHtzCgAAGp9lOFvms2VVWbDHrF+//oj7lZWV6eWXX1aXLl3cZcvA+utf/6qcnBwXdOrevbvLmvr0\\\\\\n\",\n       \"009dACszM1NvvPGG+2rBK2PZWNOnT3fXW/a13WZBqp49e7rbO3fuXPP/NW/e3H1t1aqVC5JVZ3TZ\\\\\\n\",\n       \"42bNmqVBgwbVPGbBggV69dVX6wSwxo8fr0suucR9b1li7dq1cwG0H//4x402lgDgzwhgAYAXPPXU\\\\\\n\",\n       \"U27m991339Xy5csVExPDuAIA4EcswFUdvDKpqamudNCCV7Wvy83Ndd9blpWVE9pCLLVZEKpFixbu\\\\\\n\",\n       \"eys5vPPOOzVjxgwNHTrUBbOs7O9oNm3a5DLBqgNT1SyLq2/fvnWuqw5wVQfDLMt73bp1J/38ASDQ\\\\\\n\",\n       \"EcACAC/49ttvtWPHDtfXwvpeVM/EAgAA/3B46Z31marvOjuXm/379ysiIsJNTNnX2qqDXj/72c80\\\\\\n\",\n       \"bNgw16/KgliWgf3000/rl7/8Zb3HYPs0dn/rq1Ubk18AcGwEsADAQzZrar0rrNzAZkftzazN2lrJ\\\\\\n\",\n       \"AAAAaHxWQli7+bo3WEaU7dMyss4///yj3s/6Xd1xxx1uGzdunF5//XUXwLJjMrWPy8oULVBlpYe1\\\\\\n\",\n       \"ywXrs3jxYrVv3959v3fvXtf/6swzz/Ta8wOAQEMACwA89NBDDyk/P981hrUZWWsEe/vtt7uVjszK\\\\\\n\",\n       \"lStrZl1t1UK7bG9q7U0sAADwnJUCfvHFFy4L2s7F1VlUnrDSQetvaSsJW1aVBbTsPG6rDFuZ4BVX\\\\\\n\",\n       \"XKExY8bosssuc/e1IJP1z6oOMnXo0MFldNn7AeuXaU3cmzZt6vpo/epXv3LHeN5557n3EJ9//rlr\\\\\\n\",\n       \"9D5q1Kia/98a0lupopU12nuNlJQUt2gMAISqcF8fAAAEMlvq+tlnn3VNYO2NZ3h4uPv+s88+c41i\\\\\\n\",\n       \"jb3htc1KEKZMmeK+tzeyAADAOywoZGV+Njlkq/lZhpM3WLN2C2Ddd999LsvaAkhLly6tyYyy7Cpb\\\\\\n\",\n       \"idCCVrY6oQWy/vznP7vbrETwd7/7nR588EEXhLIVDc2jjz6q//f//p8rN6x+nJUUdurUqc7//fjj\\\\\\n\",\n       \"j+vee+9V//79lZ2drX/+8581WV0AEIrCqqqqqnx9EAAAAACAQ5NjthqiZXRVr14IACADCwAAAAAA\\\\\\n\",\n       \"AH6OEkIAAAAAAAD4NUoIAQAAAAAA4NfIwAIAAAAAAIBfI4AFAAAAAAAAv0YACwAAAAAAAH6NABYA\\\\\\n\",\n       \"AAAAAAD8GgEsAAAAAAAA+DUCWAAAAAAAAPBrBLAAAAAAAADg1whgAQAAAAAAwK8RwAIAAAAAAIBf\\\\\\n\",\n       \"I4AFAAAAAAAAv0YACwAAAAAAAPJn/x8K72ZHVSTNcgAAAABJRU5ErkJggg==\\\\\\n\",\n       \"\\\"\\n\",\n       \"  frames[1] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQAA25ZJREFUeJzs3Qd4FFXbBuBnN733AiHU0HvvRUBRUClWREHsXSyfggW7YMf2\\\\\\n\",\n       \"W1DEgh+gglgBBQSp0ntvCemF9L67//Uevo2bTWGTbLIlz+01kkx2Z8+cmZ3yzjnv0RgMBgOIiIiI\\\\\\n\",\n       \"iIiIiIjslNbWBSAiIiIiIiIiIqoOA1hERERERERERGTXGMAiIiIiIiIiIiK7xgAWERERERERERHZ\\\\\\n\",\n       \"NQawiIiIiIiIiIjIrjGARUREREREREREdo0BLCIiIiIiIiIismsMYBERERERERERkV1jAIuIiIiI\\\\\\n\",\n       \"iIiIiOwaA1hEZFduvfVWjBgxwtbFoAa0cOFCaDQap63zM2fOqPWT9bR2ncmyrc247B07dqChvvMt\\\\\\n\",\n       \"W7a0ST3a074tr3v++edr9TmlpaV44oknEB0dDa1WiwkTJsDeybo68/feFozfkb/++gv2oi77tT2U\\\\\\n\",\n       \"/YEHHoA9y83NxR133IHIyEhV3hkzZsBZyXlCzhdE1LgxgEXUiG3evFldWGZmZlptmUuWLMHNN9+M\\\\\\n\",\n       \"tm3bqoup+gpGHTp0SJW9Pm7gG1p+fr5al7rcdNTHtrTUP//8g/vuuw+9e/eGm5sbb0rJaTjKvr1g\\\\\\n\",\n       \"wQK88cYbuPbaa/Hll1/ikUceQWP1f//3f3UKciYkJKhj6Z49e9DQEhMTMXPmTFxyySXw8/Ozu2BU\\\\\\n\",\n       \"VX777Te7C1LZY5nqw6uvvqr293vvvRdff/01brnlFlsXiYioXjGARdSISdDjhRdesGrQ46OPPsKK\\\\\\n\",\n       \"FStUS4CgoCDUFwlgSdmdJYAl61LXAJa1t2VNbhQ+++wzdbPVunXrBv98cmzz58/H0aNHYY8act8u\\\\\\n\",\n       \"KCjAM888U6v3rl27FlFRUXjnnXfUDezw4cPRWFkjgCXHUlsEsOR78NprryE+Ph5du3aFo5DvidSZ\\\\\\n\",\n       \"tffr+iqTM5Hv/oABA/Dcc8+ph4cSbCcicmYMYBGRVckTwKysLHVR1bRpU7uoXYPBoC6iqX7Ik1/Z\\\\\\n\",\n       \"5tLl7NJLL2U1U41IyyYPDw809n3b09MTrq6utXpvSkoKAgMDG+SYWVhYCL1eb7XPon9J8CE9PR3H\\\\\\n\",\n       \"jh3Do48+6hRVU5f9mhr+uy/dkYuLi21S9Xl5eTb5XCJyLAxgETVS0rT+P//5j/q5VatWqoWBNXLq\\\\\\n\",\n       \"GHOw1Cd5un7dddepn6WrhbHsxhZMkifhyiuvxKpVq9CnTx94eXnhk08+qTaHTmV5OuQp+G233YaI\\\\\\n\",\n       \"iAh1g925c2fVVaem5OZ3zJgxCA0NVWWR+pblCilTWFiY+lmeFhvXxViWffv2qZwP0vpDbgQkz4W8\\\\\\n\",\n       \"V25yarItv/nmG3VzJJ8fHByMG2+8EXFxcbAGqR9ZbkOQG+d58+apbSH1IZ9999134/z58+VeZ9wH\\\\\\n\",\n       \"Nm7ciH79+qnXSh1+9dVXFZYprdaky5W8R7Zzs2bNMHXqVKSlpZW7Sbj99tvV58myunfvrrpqVbYs\\\\\\n\",\n       \"2V4BAQHqpmLatGlVtoo7cuSI6vIl20OWKfvqTz/9VOF1Bw8exMiRI1UdS9lefvnlWgcQdu/ejSuu\\\\\\n\",\n       \"uAL+/v7w9fXFqFGjsHXr1ipbBkrdhoSEqNdLnZjXc3X7dl1yYFlSj7JN5Lsj3ZQl4GJ04sQJ+Pj4\\\\\\n\",\n       \"4IYbboAj7dvmxyBjjihZH6kLqQepj+nTp6ttI4zHtHXr1qn9xPxYWNPvi/kxU5Yjy1u8eLFqRSOt\\\\\\n\",\n       \"vLy9vZGdna3et23bNlx++eWqXDJfWn5t2rSpwrrJ97Bv376qDG3atFHLro2kpCS1/vI9kO9qkyZN\\\\\\n\",\n       \"MH78+LJjnayH1MP69evL6sLYjT0jIwOPP/64atkk+77s0/Jd2Lt3b9nyZX2lnEI+x7gM03OGpetc\\\\\\n\",\n       \"G9JtUI4HDUFaSo8bN049aJK6lO3y0ksvQafTVXitrPPYsWNVq2r5bnXr1g3vvvuu+pvsmx9++KH6\\\\\\n\",\n       \"2Vhfpl1tKzu3WnIcMuaPk7qVYJ581+WzJ06ciNTU1GrX7WJlevPNNzFo0CB1bJN9Xc6N33//vUX1\\\\\\n\",\n       \"JsdfucZ5//33y+b9/vvvGDp0qCqfbEOpV9kPzcsk6yrXFZKjTn6WdZJ90rzOpSupnB9KSkqqLIfx\\\\\\n\",\n       \"u3n69Gn8+uuvFc77lpyzjMcPqQ85Tsg+IPuClF2O6aZBVDmWyDHIxcWl3LFYWgxKgFJycVl6zWJ6\\\\\\n\",\n       \"fJPW9DfddJPat4YMGaL+JsdzqWf5nst3TK7zzOuTiBovPhIhaqQmTZqknvL+97//Vd1O5GJFGIMp\\\\\\n\",\n       \"0uqguosnI7lAkQuxhjRs2DA89NBDeO+99/DUU0+hY8eOar7xX2NXjMmTJ6ubtTvvvBPt27ev0Wck\\\\\\n\",\n       \"JyerZvnGJK5SL3KRKheEcvNmaaJUuYi87LLL1Pslt4lcAMpF47Jly9TfZb50u5SWHnJhLttFyA2C\\\\\\n\",\n       \"+OOPP3Dq1Cl1MyUXgnIR9+mnn6p/5YJfynexbfnKK6/g2WefxfXXX6+SvcrFv1x8Sz3KjYTx6a3c\\\\\\n\",\n       \"FBtvjKsjF7D12T20OrI95cZG6kP2Abl4/+CDD9R6yI2OtOYxkht/CRDJNpMAiAQf5cJablbkhl7I\\\\\\n\",\n       \"RbfceBw+fFhdZPfq1UsFriSQdO7cOVWX0hJFboJlebIvSJDmu+++U8uSC/mHH3647KJbbqblZv2e\\\\\\n\",\n       \"e+5R++Py5cvVZ5uT7Td48GAVEJD9Qm58li5dqm5sfvjhB7UvGG/Y5eJdnoobXyfbvzZBFflMWVe5\\\\\\n\",\n       \"aZSE31JXEkiQdZMb/v79+5d7vayr7BtyoyHfJ9lPz549W3bjdLF9u7Ysrcfw8HBVJglmy/4s+4Pc\\\\\\n\",\n       \"ZMl2kZtI6Upm5Aj7dlXkeyv73Jw5c7Br1y7VpVHWXW4cpe6l1at8x2VflteYHgtr8n2p7pgpgQ13\\\\\\n\",\n       \"d3d1s11UVKR+lla2EoSQ75N0X5Kb+i+++EIFW//++28VOBb79+8v209kX5J9WV4vN9Y1dc0116j9\\\\\\n\",\n       \"+MEHH1TBKtkH5RgZGxurfpebcPmbnJOefvpp9R7j58hx9Mcff1T7i9SnHONl/5cAlNxESyBH6u3F\\\\\\n\",\n       \"F1/E7Nmzcdddd6nvi5Bgh7B0neXcKedQS0jAqr4f+lRG9gupJwlSyL+ybrLecn6TfGpGUr8S3JRg\\\\\\n\",\n       \"oRzr5Dwkx8tffvlF/S77i3S7lNfJvmjt45BsT/lOSn3L8UW2sRybJN9mVS5WJgm+XX311ZgyZYpq\\\\\\n\",\n       \"bSQBWtkvZJ0k+FQVCeJKzikpr3xHhCxfjk0SyJfvpBxn5LgkwRj5npkG5yVQJa+TdZSg0Z9//om3\\\\\\n\",\n       \"3npLBY7kGsBo1qxZKtgk39eqBriQfVU+Wx6+SKDnscceU/Ple2bpOctI9mFpWSn7vASwJLAn56cN\\\\\\n\",\n       \"GzaUvUYCU7JPy74qxw5jPcl+37Nnz7LrQEuuWUxJvUvOVKlX44MI2Q8lgCVBU5nkuCfHEFu1DCMi\\\\\\n\",\n       \"O2MgokbrjTfekKsFw+nTpyv8bfjw4epvF5umTZtW5fI7d+6sllMTsjxL3vPdd9+pz1+3bl2Fv7Vo\\\\\\n\",\n       \"0UL9beXKleXmy3rK/C+++KLCe2T+c889V/b77bffbmjSpIkhLS2t3OtuvPFGQ0BAgCE/P9+i9Vm+\\\\\\n\",\n       \"fLla9vbt26t8TWpqaoXPN6rsc/773/+q12/YsOGi2/LMmTMGFxcXwyuvvFJu/v79+w2urq7l5svn\\\\\\n\",\n       \"W7LNpX6rcv/996vX1IRsD0ve8/fff6vXLVq0qNx82c7m8437gGkdpaSkGDw8PAyPPfZY2bzZs2er\\\\\\n\",\n       \"1y1btqzC5+n1evXvvHnz1Gu++eabsr8VFxcbBg4caPD19TVkZ2ereT/++KN63euvv172utLSUsPQ\\\\\\n\",\n       \"oUMr7HejRo0ydO3a1VBYWFju8wYNGmRo27Zt2bwZM2ao927btq3cesg+WNV3tyoTJkwwuLu7G06e\\\\\\n\",\n       \"PFk2LyEhweDn52cYNmxYhe3Ru3dvtZ5Gsl4yf8WKFRbv25Z+5033qZrUo5g8ebLB29vbcOzYsbLv\\\\\\n\",\n       \"gSzDlL3v28L8GGAs82233VbudRMnTjSEhISUmyfHTDne1vX7Yn7MlOOrzG/dunW5Y5Hsq7Kfjhkz\\\\\\n\",\n       \"pux7IuQ1rVq1Mlx66aXl9jtPT0/D2bNny+YdOnRIHZdqUp/nz59Xr5dtXJ2qzjvyXdPpdOXmyfdH\\\\\\n\",\n       \"jgkvvvhi2TzZnyvbz2qyzsZ6s2Sq6jtc3TmuKsZznCXvqezccvfdd6vvkvG4JN87WTfZP6T+zevD\\\\\\n\",\n       \"ku+G+X5d0+PQ6NGjy33WI488ovadzMzMatevujKZr7sc57p06WIYOXJkhbLLcoScN7RarWHhwoVl\\\\\\n\",\n       \"f8/JyTEEBgYa7rzzznLvS0pKUsdo0/lynJPlme5romfPnupYa8r4WkuO77Jtxo0bV26epecs4/7i\\\\\\n\",\n       \"7++vzium5Hsm9Wx87Xvvvac+q1+/foYnn3xSzZPvk6y/bJOaXrMYj29y/DYl5ZD9Q9bJdLs/9dRT\\\\\\n\",\n       \"F73mJKLGgS2wiKhS8lTQvJtJZewlz5U5eeIoTzprQ65bpRWMtHyQn027ksky5WmtPBGUJ5QXY2zd\\\\\\n\",\n       \"JE92pQm/aYsHS5i2tJEnpNLKQlqGCSmDsYVAVaQ1jLRKkXUxXQ95MipPPaXrkbRiE9JFzNiE39Iy\\\\\\n\",\n       \"NSR5gizddiQXkem6SGsIefor6yJdEYw6depUrn7kybS0KpGnw0aynWW7GFs8mTI+KZZkwFJf0jrF\\\\\\n\",\n       \"SLajtGiRedJqQFooyOukK4Xpk3Rp0SMtCOQptZF0ZZLWDtLSIycnR02m+5e0NJBuJtI6S5Yp29vY\\\\\\n\",\n       \"ssO4HtJywLSF0cXIk//Vq1erFl6mycilVYXUmSRSl5YX0irCSJ7Gm+6vsl6yr0iZpPVCXfftqlha\\\\\\n\",\n       \"j0bSokhahUlrO2mJKEnMpQWXKXvft6sjrdBMyT4tLdLMt1ddvy/VHTOlhYlp3UiC8+PHj6sWKeZd\\\\\\n\",\n       \"g6Q7mLQMkeOOHD+lW6Lsd82bNy/XekQ+S7a1peTzpeWXbGtpVVnTlnKmedbk+yAtUaQe5Jggx9KL\\\\\\n\",\n       \"sXSdpYWKfB+kJYol5NhiC6bbU45B0rJO9i1pXSTd12QdpAWRtAKSlr3meZZqMyJnbY9Dpp8lZZTy\\\\\\n\",\n       \"SGtQY0vluqy7XOdIuWS50orZnOzD0opJ6kW64pueB2Qby34k80y/Y3K8klZW8h2z5Pts3kpMWsfV\\\\\\n\",\n       \"ZSACS89Zpi0bjS22Tcsl9SIDxMh3VY69Mk9aNBqPwwcOHFDrb3qerek1i3l9SKs0aWklx3vT7S6t\\\\\\n\",\n       \"3qWVFhERA1hEVClHH8lGbsZqS7rYyUWZNHuXqTLSdcUS0j1FLg4lv5VcdEuzfrl4l4t1SxJXS7BD\\\\\\n\",\n       \"3itBM/PPtKSLitxwyQW4BKsqYxp0kBsKex5FUNZF1lm6T1XGvH5Mb5iN5KbXNDB78uRJtX2qIzdK\\\\\\n\",\n       \"Un/m3XyM3bTk78Z/5UbMvEutefdV6dYh20S6dcpU1bpIAEuWad6lprJlWrJPS9eWyt4n6yE33pIT\\\\\\n\",\n       \"zdi1UpjvM7Jesn7GHCt13berYmk9mnbBku7E0hVFbq7kZ3P2vm9Xx3w/NgZuZD+uLoBV0+9LdcdM\\\\\\n\",\n       \"87/JskVl3WON5LMlKCLdmSo7/sj2rEkAS/Yp6aIlXaVkO8tNsdyES3DSkiCQ7OPSdUwCvxKUMc07\\\\\\n\",\n       \"JF2mLsbSdZbtI9Po0aNhz6RLlwTjJJhuzGlmfm6R46Po0qWLVT6zNseh6vb/2pKgu3RRk6Ck7KPV\\\\\\n\",\n       \"BeUkb6IEYaRboGlAyHSfkC6klTH/fkrKBfNAkfk5yRosPWdV992X7vSSf0qCVcYAlhzr5bsmXbYl\\\\\\n\",\n       \"OGUMZJk+HKjpNYv5ZxvLZn7MkHqzt+7dRGQbDGARUaXkIsSSfAPytE2e8tubylpSVPXE2DyBqjFB\\\\\\n\",\n       \"tgxJXdXNiqVPfuUzJTms5H74+eefVWsEybUkLdxk3sXyh0nLKXkCKknae/TooV4v5ZMkwpYk8pbX\\\\\\n\",\n       \"SBkkf5c8FTZn+vlykW5MxFodWY75RXhDkHWRm/FFixZV+nfzMlW2vsI04bctGLeb5BOqqsVLTEwM\\\\\\n\",\n       \"7F1d921rks8WciMoucvMW4vY+75dndruxzX9vlTX+sz8b8Z9WHIlyXGpMrL9TYMD1iCtMK666iqV\\\\\\n\",\n       \"y0q2uQSAJe+XBGEkD091pPWGvF72UcnpZcw9Jcu09FhqyToLOXfKOdQSsh2q2sb1RR7QSABaAizS\\\\\\n\",\n       \"ElRyMElwRVrIPPnkk3Y1yqS1j+MSdJEWpJIDUoKZEiyXBzmSB+rbb7+t8HppaS2BLmnpKedj0yT7\\\\\\n\",\n       \"xnqSFlSVBVHNR19s6O1sqcq++1In8vBE8mDJQxfJx2hsgSU53iSxv9Rlhw4dyh1LanrNYo+tXonI\\\\\\n\",\n       \"vjGARdSIVdcFQBKDSzPzi5EAT12autdWbbovGJ/emY9mZv40Ui7GJAm0BLas9RRdWgvIJMmW5SJZ\\\\\\n\",\n       \"uoDJE0pJql7VusjN+Jo1a9TTTElqav7U11RVy5AbE7nQl6ec7dq1q7aMklRWPutiWrRoUefRKmtD\\\\\\n\",\n       \"1kW6F8gNhbUuemWZ0g3iYusrCWyN3YOMpJuN8e/Gf2V7SaDENHgjybFNGVsCyQ3CxfYvWWZl29t8\\\\\\n\",\n       \"mRcj+7Q8Ta/sfbIesl4ygqgp+VxJIG8k6yWjY0lSXUv37dqwtB6NVq5cqRKbS0JoCdbIMUlurkxv\\\\\\n\",\n       \"Hu1933aU74vpsoUEQKrbh2W/k8+2xj5s+tnSCksmWa7cJEvQVLp3VXcslGCr7M+ff/55uflyPjAO\\\\\\n\",\n       \"fFHd+y1dZyE38KbfnepUl6i7vkg3TOkGKV3MJZBjWpbK1lmOkdWts6Xn49och2qrqjJJt3EJ1kkA\\\\\\n\",\n       \"1LSlqASwqnqY8Prrr6sWphKEkWOTXB+Y1o8Eiu2pxZ2l56yLkYCVtHqU44h8RyRYJfUqLeQkeCWT\\\\\\n\",\n       \"aVfEmlyzVFd243tMW81K6z1rt1QjIsfU8MOeEJHdkBHNKgvoCLkhkPwOF5vkptHeyl4VufGQizDT\\\\\\n\",\n       \"kXWEeS4heUoqXaPkQrey4MbFhvA2JRdc5k+KjU/vja0T5IK+snUxPq01f7+MwmRpfUggUpYjF5Tm\\\\\\n\",\n       \"y5HfTXO5SFccS7Z5VS066ps82ZWgorSeMCcjm9VkXzCS7bx3716VU8icsb4kYCNPn01HvZLPk24U\\\\\\n\",\n       \"EmCRlgzG18l86WpiJOU1HW7deLMjN0OSU0UCQtXtX7JMac30zz//lPt7TbeB7AMyitOKFSvKBWhk\\\\\\n\",\n       \"JDYJOkkXEPPuLtJ91nQkUlkvWT8Zhc3Sfbs2LK1HIdtcAmWSI0xa2EggS1qRmOdKsfd921G+L6Zd\\\\\\n\",\n       \"zOXmXQKDlbVsM+7Dst9JK0NpMSUjBRrJKHbGVnOWkq5n0m3JlJRBggmm+5scCytbNymL+f4qecIk\\\\\\n\",\n       \"35wlx1JL11kYc2BZMtkiB1Zl5xZpNWZ+LpRuZPLwQ8455vVh+l5Lz8e1OQ7VVlVlkjJIEMa05bWU\\\\\\n\",\n       \"RfbRqkiLa+nuKvuttACUbrFC9m0prxxvKhu1uSbXCqbkvCDBJktGgq6MpecsSwJY8t2S7S/bxhgU\\\\\\n\",\n       \"NObtkpEeTXNa1eSapSoSCJSHO1JW0+XUZBlE5NzYAouoETPmuZLhxm+88UZ10SAXZ3LhV9scWBIc\\\\\\n\",\n       \"MgaI5OItLy9P5ZoQ8qTX9GlvXciNslwsydNByasgT1IlD0VV+V6M5GZ37ty56t8+ffqoskriZ3Py\\\\\\n\",\n       \"GknAKk3oZbhsSQguXULk5lieRlraPUSGwpabAkkSLjc/kixXEtXKRa+xJYu0UJDly8WmtJKSLgqS\\\\\\n\",\n       \"c0QmqS95+isXspITSRLgmj8lr25bymdK/cuw3HKRLjmK5IZPliFBG0mQK13Z6pInSFqwGZPQ7tix\\\\\\n\",\n       \"Q/1r3ObyNFWSaluDXHTL8OjSZUi6dMiNkKynPKmVG1HJbyOJvGtCujlIywzJnyRdi6QeZdv+9NNP\\\\\\n\",\n       \"+Pjjj9WNqNSRBJtkCPKdO3eq1hLyHhlKXC6qjU/jpb6ltcvMmTNVXcs2lRYOleX9+PDDD9UNQdeu\\\\\\n\",\n       \"XdX+JfUuN3FbtmxRXeAkqCYkQCx1K0/+Zehz+W5KYMn4hL0mZJvIDbN87n333adaKMl6yQ2K7GPm\\\\\\n\",\n       \"5IZWklNLIERaTMh+LO+V7jeW7tu1UZN6lDqRIKx8J+V4IPUk321ZV0nkLtvPEfbt+lAf3xcjadUh\\\\\\n\",\n       \"wUIJZkprjOnTp6vjkwSD5Lgp+4B0KxUSPJdWcnKjK/ud8UZa3leTfViO08b9UfYJ2X/lGCbfGznm\\\\\\n\",\n       \"Gcl3WIKfsp2k9YycE+TcIC1FpLuclHXQoEHYv3+/Clia7xeyL0sXVPn+y3dbvnNyHpBAjqXrXJcc\\\\\\n\",\n       \"WMb9S3JUCdn/Nm7cqH6WnFXWIOsvZZTWipLYWwIT8jnmgQfZzlKX8p2Uc66ss3S5k+CKlM8YhDSe\\\\\\n\",\n       \"f2RZEtSR76LpNqnLcai2qirTuHHj8Pbbb6tjheTrkzxNcjyWfaW6/VFamUrgTY5t8r2RgJdsc6kf\\\\\\n\",\n       \"OQ5IsE+WL63MJFj766+/quOYdD2sKTlfy/G1tq3zLD1nXczAgQPV9pHjvyzTSK5LjA8YTANYUh+W\\\\\\n\",\n       \"XrNURepPrknkuCXfWalvGUxA0iCYtpQkokbM1sMgEpFtvfTSS4aoqCg1PLSlwzZXp7rh6k2H0q6K\\\\\\n\",\n       \"DJFc2RDolZk/f74a3t04HLtx6PDKhpU2HeL59ttvV0Ncy7Dd119/vRq2ubLyJScnqyG0o6OjDW5u\\\\\\n\",\n       \"bobIyEjDqFGjDJ9++qnBUrt27VLDRDdv3lwN1x4eHm648sorDTt27Cj3us2bN6uhtGX4aNOynDt3\\\\\\n\",\n       \"zjBx4kQ1VLWU+brrrlNDjldW3uq25Q8//GAYMmSIwcfHR00dOnRQ63b06FFDXVU3ZLwl29I4XLql\\\\\\n\",\n       \"pP6lrry8vNQ27Nq1q+GJJ55Q9WJU1T4g5TEvU3p6uuGBBx5QdSf136xZM7UfpqWlldsXpk+fbggN\\\\\\n\",\n       \"DVWvkc+UcpuTZd1yyy1qWHLZXvLz7t271fqZv16GkZ86darar2T/ks+XfeP7778v97p9+/apMnt6\\\\\\n\",\n       \"eqrXyHb+/PPPa/V9lf1xzJgxaih1b29vwyWXXKL2vcq2x/r16w133XWXISgoSL1+ypQpav1qum9f\\\\\\n\",\n       \"jNS1bK+a1uOKFSvU72+99Va598qw77K87t27q6HjHWXfNv9OG4+lqamplS7TdNtLWTp37mz174tx\\\\\\n\",\n       \"/b/77rtKly3bZNKkSYaQkBC1D8hy5Ji6Zs2acq+Tfcl4fJNj9scff1y2fpaS76Mcs+TYJccw2S/6\\\\\\n\",\n       \"9+9vWLp0abnXJSUlqXWRdTXdToWFhYbHHnvM0KRJE1UXgwcPNmzZsqXSY4LsW506dTK4urpW+O5a\\\\\\n\",\n       \"us61VdX+ZkldyT5hei6szqZNmwwDBgxQddG0aVO1T6xatarS92/cuNFw6aWXqjqVuu/WrZvh/fff\\\\\\n\",\n       \"L/t7aWmp4cEHHzSEhYUZNBpNubJWdq6qyXFo+/btle6TF1vH6sokx8+2bduq7Sf7k3xWZfuj/C77\\\\\\n\",\n       \"nPm+IfvFDTfcYNDpdGVlkvWRfVKO023atDHceuut5Y6FcpyTujNX2efKay09vlf13bXknGXcX954\\\\\\n\",\n       \"440ql9+3b1/1mm3btpXNk+sSmSfXRuYsvWap6vgmpF5feOGFsu/qiBEjDAcOHFDrKnVDRI2bRv5n\\\\\\n\",\n       \"6yAaEZGRPDGUVheSo4MaB8mhJk/2eToiZ8N9mxqSnDulpZi0CJNuykRERM6GObCIiIiIiIiIiMiu\\\\\\n\",\n       \"MQcWEVEtSY4v00Sw5tzd3csNuU1UHyShdGVJpc3zijT0EO6SS0zyaFVFymM6/Do1XpLfzJgYuyq2\\\\\\n\",\n       \"SHZORERE9oUBLCKiWurbt69K8lxdEmV2haT6JqOiSaLs6tQ2GXBdyAiY69evr/LvkgTddCQyarwk\\\\\\n\",\n       \"Gb8kra4OuxgTERERc2AREdWSjOhTXasBGeWptqM5Elnq1KlTaqqOjPjl6enZoJUqo1+dP3++yr/L\\\\\\n\",\n       \"6JsyShfRoUOHkJCQUG1F1HZUPyIiInIeDGAREREREREREZFdYxJ3IiIiIiIiIiKyawxgERERERER\\\\\\n\",\n       \"ERGRXWMAi4iIiIiIiIiI7BoDWEREREREREREZNcYwCIiIiIiIiIiIrvGABYREREREREREdk1BrCI\\\\\\n\",\n       \"iIiIiIiIiMiuMYBFRERERERERER2jQEsIie1cOFCaDQa7Nixw9ZFoUqcOXNGbR/ZTo1By5Ytceut\\\\\\n\",\n       \"t9boPc8//7yqo8b63ZV9hIiovuXm5uKOO+5AZGSkOvbMmDGDlW7H5Fwq51Rbi4uLg6enJzZt2tQg\\\\\\n\",\n       \"n5eeng4fHx/89ttvDfJ5RGSfGMAih7N//35ce+21aNGihTpxRkVF4dJLL8X7779f7nWvvvoqfvzx\\\\\\n\",\n       \"x1p/zqFDh9QNtLVvIv/66y91gWic3Nzc0Lp1a0ydOhWnTp2q8fL+7//+r9EEQaoLBFU1zZ07F42d\\\\\\n\",\n       \"eR3JPhcaGopBgwbhqaeeQmxsrK2LaHfM9yN/f38MHz4cv/76q62LRkRk1QdWcr0ky7j33nvx9ddf\\\\\\n\",\n       \"45ZbbmnUNexox//8/Hx1vSrXlw3pxRdfRP/+/TF48GCrLlcCVLI+5kJCQlSg9dlnn7Xq5xGRY3G1\\\\\\n\",\n       \"dQGIamLz5s245JJL0Lx5c9x5553qaaE8Adq6dSveffddPPjgg+UuyCTQNWHChFoHsF544QWMGDGi\\\\\\n\",\n       \"Xp50PfTQQ+jbty9KSkqwa9cufPrpp+riSAJ0TZs2rVEAS4IRNW3d4mwmT56MsWPHVpjfs2dPm5TH\\\\\\n\",\n       \"nutIr9fj/Pnz2L59O+bNm6e+O59//jluvPHGevvso0ePQqut2TOTZ555BjNnzoStSGBcAssGgwFn\\\\\\n\",\n       \"z57FRx99hKuuugq///47xowZU2+fKzePsi08PDzq7TOIiIzWrl2LAQMG4LnnnmOl2Pj4X9sAllyv\\\\\\n\",\n       \"CrlmbQipqan48ssv1WRtEsD68MMPKw1i3XPPPXjvvffUPjty5EirfzYR2T8GsMihvPLKKwgICFA3\\\\\\n\",\n       \"3oGBgeX+lpKSAkcydOhQFWAT06dPR7t27VRQSy4GZs2aZevi2ZW8vDzVbLw6vXr1ws0334zGqrZ1\\\\\\n\",\n       \"JBfml112GaZNm4aOHTuie/fu9VK+2gRjXF1d1WQr8p00ra9rrrkGnTp1UgG/+ryBcXFxURMRUUOQ\\\\\\n\",\n       \"6yc5tlmLPCQpLi5WreQdla2O/47im2++UednCeo1JLlO6dKli2oxyAAWUePELoTkUE6ePInOnTtX\\\\\\n\",\n       \"CF6J8PDwsp+lybfc0EswyNgE3NhCSW7Y77vvPrRv3x5eXl6qSfJ1111XrqugnBhlnpAWX8ZlmDbP\\\\\\n\",\n       \"lqdwEoSSoIGfnx/GjRuHgwcP1nrdjCfi06dPq3+/+OILNU/WS27+5cJJngCakpZh8pnr168vK6P5\\\\\\n\",\n       \"07eioiI8+uijCAsLU2WdOHGienJmCXnCZVxHqfPx48fj8OHDZX///vvv1WfK55v75JNP1N8OHDhQ\\\\\\n\",\n       \"Nu/IkSMqaBccHKwubPv06YOffvqp0q4QskzZTrL+zZo1gzVIfV155ZXYuHEj+vXrp8og3Te/+uqr\\\\\\n\",\n       \"Cq/NzMzEI488ot4j9S9lkKexaWlp5S76b7/9dkRERKhlSfCnsqeRsizZ/yT4KvUowSKZV5mGriPp\\\\\\n\",\n       \"iivLk5uN119/vUK5JRdKdHS0qoOYmBi89tpr6ubElPwuF/Vdu3ZVZZZ97fLLLy/XncU8B5a0PJQn\\\\\\n\",\n       \"xm3btlXvke/hkCFD8Mcff1SbA6u0tBQvvfQS2rRpo8oky5VukLKf13Zb1+TCWVo7ynHIlHy2tFyQ\\\\\\n\",\n       \"+pEySX098cQTFcpUUFCggtSyDDlmXH311YiPj1fraPqkuaocWNLaUo5/8hnSSvP++++vsB/J918u\\\\\\n\",\n       \"7qUFqRy7vL29VTdr820rpNu1LE9eExQUpPa1b7/9ttb1Q0T2Q463vr6+6hgjLdHlZzk2P/7449Dp\\\\\\n\",\n       \"dOVSGsh1h7QAN15HGI89lh7b5D0PPPAAFi1aVHaMWrlypfqbfP5tt92mzpMyX/6+YMGCcu83lmPp\\\\\\n\",\n       \"0qXqQaWcz+SYPWrUKJw4caLCum3btk21JpbjllyfdOvWTZ2Danoubcjjv5zb5Bwn1wCyLeQaVM5d\\\\\\n\",\n       \"FzvuG+umqu6B8nrZrkLOqcZtaDynyLlW6iIxMdGi9ZTUG3IOkTqTf5cvX15pzi15nXQflHUxdfz4\\\\\\n\",\n       \"cRXskx4SsgzZltKiOCsry6LPl8+S1lfCtBuneeu4n3/+WbWOI6LGhy2wyKHIzfaWLVtUUEROrFWR\\\\\\n\",\n       \"HA7ST15uXO+66y41T254hbTekq6IckKVE6uc/CUwJDd+ctMnN3PDhg1TN5rSTFkuMOTCRRj/leVL\\\\\\n\",\n       \"EEKewskNvTTflmXIxcnu3btr1eXQeFEkN/JClicXenKTK0+55GQtwQoJFsiNq5DuX9JtUi4gnn76\\\\\\n\",\n       \"aTVPLhJNyd/lIk8usGRd5T1yoblkyZJqy/Pnn3/iiiuuUDf9ciEkN99ywyu5DqTLo6yjBO3ks+Wi\\\\\\n\",\n       \"U/JDmJLlS/mN20kCbfJeuZmWbmFy0SnvkwvrH374QQXWTMm6ykXZ7NmzVTDyYmQbmAaXjORi0bQV\\\\\\n\",\n       \"j1wMy0WtBJ5kG8qFtFww9e7dW5XXmNBWAncSrJMLb2m5JMuWi99z586pi1ipD9lnZHlSn61atcJ3\\\\\\n\",\n       \"332nliVBhYcfflgtSy6wJPAngRRp+i77kFwQymebq+86qsrAgQPV98M0eCT1KdtUbj7uvvtu1W1X\\\\\\n\",\n       \"vjfSOlAuhGU/MpK6lItv2V/keydBpr///lt17ZWbhsrIPjVnzpyy72l2drYKeMm+JRenVZHXS5BQ\\\\\\n\",\n       \"tuFjjz2mbmRkObKtpF5NWbKta0IuwKXrpfFYIuT7KN9R2b5yrJHtK92A33nnHRw7dqxcHj75bNme\\\\\\n\",\n       \"0kVQuutIAFK+Q5aQ+pKbk9GjR6s8NdIlU44RcjyTBLqS18xIyigBxEmTJuH6669XgeYnn3xSBRhl\\\\\\n\",\n       \"G4n58+erY5zUj+yrhYWF2Ldvn6rPm266qcZ1Q0T2RwJVcp0igYY333xTndffeustdQyT44gcr+R6\\\\\\n\",\n       \"Rh7WyPWQHFOFnFdqcmwzPvCS45ucD+UcKdcIycnJ6lhnDHDJcuXhnxyT5ZhvnixeclZKV3MJssnx\\\\\\n\",\n       \"VgLvU6ZMUcclIzlPycOJJk2aqGOXBErk+P/LL7+UnXdrei6t7+O/lEfKLIE2yRslgS45P1kj+bnU\\\\\\n\",\n       \"qZwLZHvKeslxX8hnCTmHS7nkHHixfKmrV68ua2km51VJmi49BMwfkElQTM498pmm5EGY7G8SvJNr\\\\\\n\",\n       \"T9k28vmybeS6SB7iXYxcbyQkJKjtLPtmZeQcLnUs9VrdvQAROSkDkQNZvXq1wcXFRU0DBw40PPHE\\\\\\n\",\n       \"E4ZVq1YZiouLK7zWx8fHMG3atArz8/PzK8zbsmWLPMYxfPXVV2XzvvvuOzVv3bp15V6bk5NjCAwM\\\\\\n\",\n       \"NNx5553l5iclJRkCAgIqzDcny5PlLliwwJCammpISEgw/Prrr4aWLVsaNBqNYfv27VWWc8yYMYbW\\\\\\n\",\n       \"rVuXm9e5c2fD8OHDK7z2iy++UJ8zevRog16vL5v/yCOPqPrLzMystpw9evQwhIeHG9LT08vm7d27\\\\\\n\",\n       \"16DVag1Tp04tmzd58mT1utLS0rJ5iYmJ6nUvvvhi2bxRo0YZunbtaigsLCybJ+UaNGiQoW3bthXK\\\\\\n\",\n       \"PWTIkHLLrMrp06fV66uaZNsatWjRQs3bsGFD2byUlBSDh4eH4bHHHiubN3v2bPW6ZcuWVfg8Y13O\\\\\\n\",\n       \"mzdPveabb74p+5vsh7Jf+vr6GrKzs9W8H3/8Ub3u9ddfL3udrNfQoUPVfFnfhqqjN954o8rXjB8/\\\\\\n\",\n       \"Xr0mKytL/f7SSy+p79CxY8fKvW7mzJlq/4mNjVW/r127Vr3voYceqrKujHVv+n3s3r27Ydy4cdWW\\\\\\n\",\n       \"+7nnnlPLNtqzZ4/6/Y477ij3uscff1zNl7LUdFtXRd57++23q++ovG/Hjh2Gyy+/vEI9fv3112pf\\\\\\n\",\n       \"//vvv8u9/+OPP1av3bRpk/p9586d6vcZM2aUe92tt96q5su6mm9f2W7Gcru7uxsuu+wyg06nK3vd\\\\\\n\",\n       \"Bx98UHYsMZJjgfmxrKioyBAZGWm45pprym1vOXYQkeMzHjOM1w9Cjrcyz/Q8LHr27Gno3bt3uXly\\\\\\n\",\n       \"vDQ/Hlt6bBPyu7z24MGD5V4rx9AmTZoY0tLSys2/8cYb1fWS8TrHeF3UsWNHdbwyevfdd9X8/fv3\\\\\\n\",\n       \"q9/lfNeqVStV3vPnz1d5vrH0XNpQx/933nlH/S7Lq4r5cd/IWDem16KybaUOjGS55ucR8/N/ZdfD\\\\\\n\",\n       \"lV33yfYyvT6U6255v+nnnThxQs17//33y71/9+7dar5cP9fF/fffX+7cb27z5s3q70uWLKnT5xCR\\\\\\n\",\n       \"Y2IXQnIo0jJDWmDJE6+9e/eqp3PytEeeslnaNFy6DZo+RZInTNL0W1rqSOuPi5GnQvIkSRJiS6sc\\\\\\n\",\n       \"4yQ5a+Qp57p16ywqh7TskSdn0hVIWmEYuzwaW6yYllOe/MlnSIsYGanQ0qbYQp4Kmja/lpZF8lRW\\\\\\n\",\n       \"ulJWRVrY7NmzR7UYkeb3RvJET7aB6RDGN9xwg+pKZ9q8XVp8yJNJ+ZvIyMhQT2elNUhOTk5ZnUnd\\\\\\n\",\n       \"y/aTJufylM6UJOmvSR4gWU/ZNuaTeV4P+V3qwEi2gTTlNx0BUp7QSnfAyp7SGutS6kCeLsp+YCSt\\\\\\n\",\n       \"YKRVi7TgMnarlNdJCzDTJ5WyXqYDDjRUHVXH2A1APltIazKpJ2m9Z7qfSwsg2X82bNhQVldSJ5Ul\\\\\\n\",\n       \"/zVv9m9Kvm/y9FTWy1LG/U66xJoythowHyHKkm1dHUlsL++RLpryvVyzZo3qGmL6+VJP8nS7Q4cO\\\\\\n\",\n       \"5erJ2CXYeDwwdqeRVnOmzPeDykirCXmyLa0VTBPhy/aX0bHM11u2pWnuFnd3d9XKzXS9pf6lNaE8\\\\\\n\",\n       \"RSci5yUtf03JMdGSY6ClxzYjuT4xPd9KHEjOD5IjSX42XYac0+Q6xvyaS1r7yPHKtKzCWF5p4S7d\\\\\\n\",\n       \"HeVYaJ5Kwni+qc25tL6P/8ayrlixokIX/PomLeGk/i/W+sp43ScttUxbSsk1n/l1lNSlkOsDU8b3\\\\\\n\",\n       \"rVq1SrXiri/Gz62s1T0ROT92ISSHIyP3LVu2TN3QSRBLug1JU2LpCiMn34slIpWuX9I0WnJMyUWM\\\\\\n\",\n       \"aR96SwJDxhvuqpJHyg2lJaTbl1ycSQBCmtvLRZBpVzdpWi5BAQnYmV8ISDktaYotpOtXZSd+aQpf\\\\\\n\",\n       \"FWNwS272zUk55eLEmDRcuipJWaTLoOSrEPJzjx49VBJUIU3lpZ5l6OOqhj+WIJgEIo2kS15NSC4l\\\\\\n\",\n       \"Ca7UtD6MdWJaH9KdU5rRV0fqSD7TfGQ9YzdTYx3Kv9LVwTxPhHndNkQdVUeCbkJyMxn3c+lSZsyt\\\\\\n\",\n       \"UVlZjHUlQVjTQKclpBuFdK2UfUS6AMh+JF3rjN0eKiN1KfUtAWdTEkiUGwTzoKwl27o6Uj7p9iLH\\\\\\n\",\n       \"Ggn0yMim8l003eZST9J95WL1ZCy7+TYzX5eafB/lRk+6+Jqvt3T3MA8eynrL9jSSLoUSGJPAlpRB\\\\\\n\",\n       \"EvlL10FrD4dORLZjzElYm2Ogpcc2I/Njm+TalId9MsKyTJYs42LXK8ZUC9V1G6vNubS+j//yMO+z\\\\\\n\",\n       \"zz5TXeClS6NcK0lXP7lurenovPXFeB6R6xpzcu6p7AGveQ4q2QckwPf222+rfGhyjSsPnOWBiqXX\\\\\\n\",\n       \"rJYwfm51D8mIyHkxgEUOS27eJJglk9wEy5M7eRp2sWGgpcWDBK/kCZ7k/pGTqpwEJSeWJU/GjK+R\\\\\\n\",\n       \"vvly42zO0lHTJB9NVQEXuUiTCxx5qicXApIUVNZXWqBIsK4mT/CqaqFjreSXkstB8kpIIFGSTEvO\\\\\\n\",\n       \"Cwm+ycWekbG8kteiqtF7zG/kTVugWVN910dt2bqOJK+cPGk2BmClPPLkVZ44V8YYnKwtyTMn+7k8\\\\\\n\",\n       \"kZa8G3JxL/v2xx9/rC7yq2PpRWtdt7UEgozfUUkYLIFmuaGR5OjGPCNST/Jdlu9pZeS729AsWW8J\\\\\\n\",\n       \"tEoeLclNIq3DpKWEfH8lsG4cjp2IHFtdWujW9Nhmfj4yntMkeFFZzkdh/sDCGufn2pxL6/v4L3Uj\\\\\\n\",\n       \"rZalRZa0mJVjrjzokwehcv6T9a7qvGZMuG9PjLlaKwuESo41ab1vPLdLq3R5aCw5Ma01II/xc2Wb\\\\\\n\",\n       \"EFHjwwAWOQVjtzvTUVaquhiQ7m1yMSUnWSNJYGw+mldV7zcm8JSbfUta/NSGJGyXJJjSLdL0iWRl\\\\\\n\",\n       \"3RPr4wmUJMsXcoNrTkazkYsGaX1lJE8XpfujNLGXp5FysWnsPiiklYixi1191Zk1yTY2HT2xqjqS\\\\\\n\",\n       \"Fi1yAWv6BFXqx/h3479SL9LCybQVlnnd2rKOpJWfBJNMu51JHUiZL1YWeZ20yJNuGzVthSWvl8Cz\\\\\\n\",\n       \"TPJZEtSSZOVVBbCkLqW+5am3saWbkKCpfH+NdV5fJLmsBNmeeeYZ1b1Uvnuy/tISVALO1X0XjWWX\\\\\\n\",\n       \"7i+mT7grG2Grsvca9xnjfiKkZYAsr7b7i3yH5XsqkyxLbspkBDBJ1C8tN4io8bL02FYVaZUkLXol\\\\\\n\",\n       \"AGOtc5rx+kvOz1Uts77OpXU5/gu5TpDXySQBL3nIJ4PvyHWdlNPY2sz8WrS6dA/WvA40nmcq69Zv\\\\\\n\",\n       \"fr0i16USlDOOmm1OgnoySV3J4C/SslceTr388ssWleVi62P8XNPrACJqPOyj3SqRheREX9mTOGNu\\\\\\n\",\n       \"HNMuNnJzZn4hIORJl/kyZHQ986dcxgCN+TLkiZ60UpGLD8mhZU6azdeV8SmkefdGaTlmrqr1rAvp\\\\\\n\",\n       \"8iZdACUoZbpsuWiUJ2ryNNKUXHxJMEKeKMok3ZJMuxNIsE9G7Pvkk08qHcrZGnVmTdJ90Ng91Zxx\\\\\\n\",\n       \"m0gdJCUllRvNUUbfk31JAlXGURnldTJfRgkykn1NXmfKVnUkF8fytFRa+P3nP/8pmy/5QySwJcEp\\\\\\n\",\n       \"c7JPyDoZ60rqpLJWO9U9NTfm0DCSOpOn4uZDj5sy7nemIyAK49NvS0f0qy1pXSn5tiRIK0+XjfUk\\\\\\n\",\n       \"XZFlVL/KuisbR4c0tgSQVk6mzPeDysj3S7aPjIpqWqeSo0WOC7VZb/P6l+VL92tZfmXHNSJqXCw9\\\\\\n\",\n       \"tlV3HSPnB2ndWdkDodqc02REYLm2kHOA+XWP8dhYX+fSuhz/5QGPObnGEsZznjE4Z8wvabxWqKr7\\\\\\n\",\n       \"pSkZPVtUdi0ox3N5sFZZXVR13WeaTkNyicoI3aYkOCgPjmXkYFMysqTx2sBIAlkSvKvu3G6uqutv\\\\\\n\",\n       \"o507d6reE7UZTZiIHB9bYJFDke5/koNAnn5J9zppNSBPdySIIIkqpSWH6TC7kuNFbm4lR49c9EiS\\\\\\n\",\n       \"dRnKWLr/yclPbtjkJl1eZ2wSbSQncrkAe+2119TJXLrKSXNvuTiSYITk65GLKel6KE8aY2NjVdNw\\\\\\n\",\n       \"edL0wQcf1Gk9JR+N3FBK8lN56ietU+QCST7b/CJE1lPKI0+2JAAgr6kqP1dNvPHGG7jiiitUN0sZ\\\\\\n\",\n       \"8louxuRmW+pNWsmYX8xI643FixerCzYZrtvchx9+iCFDhqiLGUk+LU9JpeWM1L8kk5aAUV1IfoZv\\\\\\n\",\n       \"vvmmwny5KJR1qAkJ5EhLveuuu04l25c6lgtQaREnTxElwbskjZcLZAn+yMWU7H/yHuk+KRfXxlxS\\\\\\n\",\n       \"sg1ln5C8F2fOnFH7nORwqyzfWkPVkbQEkgtDyethTMIu3wnT7hxSB7K+8n2RdZQ6kG0rQ4TLesq6\\\\\\n\",\n       \"SEs86U4h3wUJrsiTW8llJcv/+++/1d+ky0VlpB7kJkOWK8FPuRCW5Vb1eiH1Lq0n5YJeyi9Bwn/+\\\\\\n\",\n       \"+UddcEs3Vvm8+iZ1Id3s5LggnynrLsOzS6JkCbDLtpabDrlhkPkSAJQLfVlPuZmTfUOCRzK0vCT6\\\\\\n\",\n       \"l6HWL/bEWY4v0ipKgoRSv5JTRJ6ISzBMulCbtpyryTFGukBLeSMiItRNmRy3JBhm3HeJqPGy9NhW\\\\\\n\",\n       \"nblz56r3yrWXnNPkuC/nUjkXyXVXZYGd6kggRK535Lwq12hyzSeBFymTDApifOBSX+fS2h7/Jeej\\\\\\n\",\n       \"BKbk+CotnSQ3lhy/pUudlFNIMEbOC3KsN7Zolmsq84BQZaQ1lNStXAtL9355r+QJk0kCbNJSSc6d\\\\\\n\",\n       \"F0vkLl39pIxSJrn2kXLIdZ+UzZgn0zRHmLQgk6CVMfWAJM+Xc7hcO0k5pOxybWEMZlpKzpdCuh/K\\\\\\n\",\n       \"wx95v1xrmwbVZB9gDiyiRsrWwyAS1cTvv/9uuO222wwdOnQw+Pr6qqHlY2JiDA8++KAhOTm53GuP\\\\\\n\",\n       \"HDliGDZsmMHLy6vcEMIy9PL06dMNoaGhahljxoxRr5Uhgs2HGZ4/f76hdevWBhcXlwrDGMvP8l4Z\\\\\\n\",\n       \"CtrT09PQpk0bw6233qqGW66OcUjkiw0z/NNPPxm6deumlt2yZUvDa6+9ZliwYEGFYZaTkpLU8Nd+\\\\\\n\",\n       \"fn7qb8OHD69yWG3Tzzddl6r8+eefhsGDB6s69Pf3N1x11VWGQ4cOVfraP/74Qy1Xo9EY4uLiKn3N\\\\\\n\",\n       \"yZMnDVOnTjVERkYa3NzcDFFRUYYrr7zS8P3335e9pqpyV8U4RHRVk+k2rWyocCF1Zqw3o/T0dMMD\\\\\\n\",\n       \"Dzygyij7WbNmzdSyTIcDl33OuC/Ja2TYbim/OVnWLbfcoupQ9hf52TjctPnrG6KOXF1dDcHBwYb+\\\\\\n\",\n       \"/fsbZs2aZTh79myl78vJyVF/l++YrJ+spwxD/uabbxqKi4vLXidDm8vQ4vK9lNeFhYUZrrjiCsPO\\\\\\n\",\n       \"nTvL1b3ptnj55ZcN/fr1MwQGBqr9S977yiuvlFuuDAlufpoqKSkxvPDCC2oodamf6OhoVUbT4dJr\\\\\\n\",\n       \"uq0rI58rQ3lX5vnnny/3HZIyy/ezc+fOBg8PD0NQUJAapl7KmZWVVfa+vLw8tUypezn2TJgwwXD0\\\\\\n\",\n       \"6FG1rLlz5150OPUPPvhA1ZOsd0REhOHee++tMJS8rJuUw5z5sOuffPKJOj6GhISoMsvx6z//+U+5\\\\\\n\",\n       \"8hKRY6jsnCDfeR8fnwqvrey4WtXx0tJjW3XHSzlPyt/kWC3HLjm3jRo1yvDpp59e9LrIeO4yP09u\\\\\\n\",\n       \"3LjRcOmll6rrHllHuVZ6//33a3wubajj/5o1awzjx483NG3aVJ0j5d/Jkycbjh07VqHMo0ePVsuR\\\\\\n\",\n       \"Y/xTTz1Vdm1les1mfjwXmzdvVp8ry5fXy3Y2rUPz69uq/PDDD4aOHTuqMnTq1MmwbNmySj9Ptqtc\\\\\\n\",\n       \"S3z99ddl806dOqWu0eV8Iteucq675JJL1LVkTcg1hVzXy7WEXFOa7q+HDx9Wv9d0mUTkPDTyP1sH\\\\\\n\",\n       \"0YiIiBojGTm1Z8+eqmXclClTbF0cIiKiCi3P/vrrL9Xy2pS0zpdWxNLiuqHIAEzSmk1avrMFFlHj\\\\\\n\",\n       \"xBxYREREDUC64ZqTLoXSLUYS2BMRETkKGfVbUhFI6oSGIN3vZcRiSZnB4BVR48UcWERERA3g9ddf\\\\\\n\",\n       \"V0+NJVeXJAT+/fff1ST51MyHpCciIrJnMhqhjOJtKcn9WdmDHFOSm7EqkqvWPBcXETU+DGARERE1\\\\\\n\",\n       \"gEGDBqnksy+99JK6CJeLfxkQQRLhEhERObOHH35YDbpSHWa2IaKLYQ4sIiIiIiIiqjeHDh1CQkJC\\\\\\n\",\n       \"ta8ZPXo0twA1KMmpJiOvSwt5Gel9+fLlapTR6khOuEcffVSNfiot6J955hmVK44aBltgERERERER\\\\\\n\",\n       \"Ub3p1KmTmojsSV5eHrp3747bbrsNkyZNuujrT58+jXHjxuGee+7BokWLsGbNGtxxxx1o0qQJxowZ\\\\\\n\",\n       \"0yBlbuzYAouIiIiIiIiIGi0ZHOBiLbCefPJJ/Prrrzhw4EDZvBtvvBGZmZlYuXJlA5W0cWMLLLI6\\\\\\n\",\n       \"vV6vmgj7+flxlBAiIirLbZKTk4OmTZuqkRctIQmCi4uLrVaD7u7u8PT05BaxAp7riYioNuf2+j7f\\\\\\n\",\n       \"S5nMR6r08PBQU11t2bKlQldXaXk1Y8aMOi+bLMMAFlmdBK84ohYREVUmLi4OzZo1s+hiNii6OQrT\\\\\\n\",\n       \"Uq1WkTLClTT/ZxCr7niuJyKimp7bqzrft2rhi6QUnVUq1NfXt8KIlc8995waOKeukpKSEBERUW6e\\\\\\n\",\n       \"/J6dna1G2fTy8qrzZ1D1GMAiq5OWV+LqVX/DzcfX5jUc5eGOZ2OawlWjweoDSVi+J97WRSIiwqA2\\\\\\n\",\n       \"Ibi8uze+Pvw1zuWcc/oaKc4vxqKbFpWdIy76+uJiFbyy1rmkJC8XP40ZqpbLAFbdGbfjEIyFK9ys\\\\\\n\",\n       \"sESqjRVZX7HiiMhmJHAjDRcsPbdXRs7LErw6u7Ml/P20dStPjh4tep9RATV/f/+y+dZofUX2gQEs\\\\\\n\",\n       \"qiA+Pl717/3999+Rn5+PmJgYfPHFF+jTp49FtWVssik3HG6+tT+YWUsKgDlJWZjTLhrXDvKHn78/\\\\\\n\",\n       \"Fm+Ps3WxiKgR69U8ENcN9MfnBz5Hij4F7j7uaCzMm/VfjL2cS6jy7SjBK1cNA1i2YnqDRkTkKOf2\\\\\\n\",\n       \"yvj6adRUF3poyo6N9XF8lJbcycnJ5ebJ7/JZbH3VMBjAonLOnz+PwYMH45JLLlEBrLCwMBw/fhxB\\\\\\n\",\n       \"QUEOXVMJRaWYeTQOc9pHY0yXSGg1Gnz7T6yti0VEjVTrMF/sSN6BuBwG04mIiIh0Bj10hrovoz4N\\\\\\n\",\n       \"HDgQv/32W7l5f/zxh5pPDYMBLCrntddeU81ApcWVUatWrZyilhKLS/Hk0Ti81i4al3WOgFYDfLON\\\\\\n\",\n       \"QSwialgdIv3Qr1Uw/nviBKueiIiIyEYkV9YJk+sxyZO5Z88eBAcHo3nz5pg1a5bqnfTVVxe6a99z\\\\\\n\",\n       \"zz344IMP8MQTT+C2227D2rVrsXTpUjUyITWMunUyJafz008/qa6C1113HcLDw9GzZ0/Mnz8fziK5\\\\\\n\",\n       \"uBRPHI2DxOZHdAyHi0SxiIgaSKem/rh9SCssO/0FjmQcYb0TERERqe5/BqtMNbFjxw51vyuTePTR\\\\\\n\",\n       \"R9XPs2fPVr8nJiYiNja2XMMOCVZJq6vu3bvjrbfewmeffaZGIqSGwRZYVM6pU6fw0UcfqS/vU089\\\\\\n\",\n       \"he3bt+Ohhx5SQ49Pmzat0toqKipSk2kyP3uWUlKKEr0B7loNBrcJwYbjabYuEhE1ApIe4rZhIfjh\\\\\\n\",\n       \"+ELsTd1r6+IQERER2Q29+q/uy6iJESNGwGCoOui1cOHCSt+ze/fuWpWP6o4tsKgcvV6PXr164dVX\\\\\\n\",\n       \"X1XR57vuugt33nknPv744ypras6cOQgICCibpAuivXv7TJKKz08f0grD24XaujhE1AhE+nvCzcUN\\\\\\n\",\n       \"x84fs3VRiIiIiIgcDgNYVE6TJk3QqVOncvM6duxYrumkOekbnJWVVTbJsKX2bn9uAV49maCCWLcO\\\\\\n\",\n       \"boVL2jOIRUT1p0mAJx4cE4I/z/6J/NJ8VjURERGRCZ3BYJWJnBsDWFSOjEB49OjRcvOOHTuGFi1a\\\\\\n\",\n       \"VFlTHh4eZUOV1teQpfXhUF4hXj5xIYg1dWArjO4YZusiEZETCvfzwIMjY7ApfhP+jP3T1sUhIiIi\\\\\\n\",\n       \"sju2yIFFjocBLCrnkUcewdatW1UXQhmR4dtvv8Wnn36K+++/3ylr6kh+IV48EQ+9BpjSvyXGdI6w\\\\\\n\",\n       \"dZGIyMl0bRaAuMJ9WBu31tZFISIiIiJyWAxgUTl9+/bF8uXL8d///hddunTBSy+9hHnz5mHKlClO\\\\\\n\",\n       \"W1PH8ovwggSxANzYtznGdWli6yIRkZPw83RF35bBSMhNsHVRiIiIiOyWtJ7S1XFiCyznx1EIqYIr\\\\\\n\",\n       \"r7xSTY3JifwizD5xDi+1bYZJfaKw8WQasgpKbF0sInLw4JV0HUws2cWug0RERETVsEYXQAawnB9b\\\\\\n\",\n       \"YBH9z+mCYuSW6qDVaNAhwpf1QkR1csfQ1ogv3oElR5dAb6jrwNBERERERI0bA1hEJr5NTFf/3n1J\\\\\\n\",\n       \"DLpFBbBuiKhWXLUaRPh7YFPCJhiYUJSIiIioWhyFkCzBABaRiQ3nc/HR2WRoAMy4tB16RDOIRUQ1\\\\\\n\",\n       \"4+aiwZ3DWiMpqxDJecmsPiIiIqKL0FtpIufGABaRmY1ZefhAglga4KFR7dC7eSDriIgsDl7dNaw1\\\\\\n\",\n       \"PH3jsPDk8yg1lLLmiIiIiIisgAEsokpsycrDvDMXglj3j2yLfi2CWE9EdFFdogIQEpSJBQcWoEhX\\\\\\n\",\n       \"xBojIiIiskBdRyA0TuTcGMAiqsL27Dy8fSZJBbHuGRmDAa2DWVdEVCXpetwx0h8p+Sko1hezpoiI\\\\\\n\",\n       \"iIgspDNYZyLnxgAWUTV2ZufjzdOJ6sZUctpE+HuyvoioAjlGXNcnGm2j87Hi5ArWEBERERGRlTGA\\\\\\n\",\n       \"RXQRu3MKEF9YDK1GgxbBXqwvIipHWmne2K85OjTPxyd7P0FmUSZriIiIiKgGmMSdLMEAFpEF1qZn\\\\\\n\",\n       \"qxYWdw9rjRYhDGIR0b9u7NscbcJ88Mm+T5BVnMWqISIiIqohPTTQ1XGSZZBzYwCLyAIr07OxODED\\\\\\n\",\n       \"Li5azB7XGa1DfVhvRKRGHRzQ1hMLj89FdnE2a4SIiIiIqJ4wgEVkoZ9SM/FtQjq0Lho8Pa4jYsIZ\\\\\\n\",\n       \"xCJq7IbEhKKgtIAtr4iIiIjqQG+wzkTOjQEsohr4JS0LXyekQavVYNYVHdE+wpf1R9RIjeoYjjE9\\\\\\n\",\n       \"PPHZ/s9Qqi+1dXGIiIiIHFZduw8aJ3JuDGAR1dDKtGx8EZ8KF60Gj13RAb4erqxDokamZ3QgRnd1\\\\\\n\",\n       \"x/x98xGfG2/r4hAREREROT0GsIhq4c/0HGSV6uCq0SAiwIN1SNTIRAV54UjGESTkJdi6KEREREQO\\\\\\n\",\n       \"jy2wyBIMYBHV0rasXPUF+s9l7RHi48Z6JGokujULwPB2YdibutfWRSEiIiJyCnqDxioTOTcGsIhq\\\\\\n\",\n       \"aWF8OtZlZMPTzQWvTOyKUF931iWRk+veLAC3DGiBxSc+xdHzR21dHCIiIiKiRoMBLKI6mH8uDX+m\\\\\\n\",\n       \"/y+INaELwv0YxCJyZtf1icay0wtxKOOQrYtCRERE5DTYhZAswQAWUR0tiE/DqrQseLi54OUJXRDh\\\\\\n\",\n       \"z5xYRM4oKtALXu4uiMuJs3VRiIiIiJyKDlqrTOTcuIWJrODLhHT8lpoJd1cXvDSxK5oEeLJeiZxI\\\\\\n\",\n       \"dLAXHhwTij/OLUN6Ybqti0NERERE1OgwgEVkJd8kZuCXlEy4azV4YUIXBHgxsTuRMwj388ADl4Zh\\\\\\n\",\n       \"TewarD+33tbFISIiInI6BiskcJdlkHNjAIvIir5NykBCUQnctBq0CPFm3RI5gdZhPkjIS8DG+I22\\\\\\n\",\n       \"LgoRERGRU2IOLLIEA1hEVnY0rwAS+799SCt4u7uwfokcmLSkHN0xArHZsbYuCtnQ3LlzodFoMGPG\\\\\\n\",\n       \"DKfcDs6+fkREROQcGMAisrLPzqVhf06BuvGde01X+Hq4so6JHFCQtxseGtUWZwq3YtWZVbYuDtnI\\\\\\n\",\n       \"9u3b8cknn6Bbt25OuQ2cff2IiMgx6Axaq0zk3LiFiazMIE+zTydiT04+/D3dMGdSV/gxiEXkcG4e\\\\\\n\",\n       \"0AKnC7Zg2fFlMKhvNjU2ubm5mDJlCubPn4+goCA4G2dfPyIichx6aKCHto4Tc2A5OwawiOqB3Oq+\\\\\\n\",\n       \"fjoJO7Ly4OfpijnXdIW/J1tiETkKdxctwvw8sC91H4NXjdj999+PcePGYfTo0XBGzr5+RERE5Fx4\\\\\\n\",\n       \"R01Uj94+m4yHW0Sgf4CPCmI9tWw/sgpKWedEdszDVYu7h7dGSnYRTmeftnVxyMqys7PL/e7h4aEm\\\\\\n\",\n       \"c4sXL8auXbtUFztnVNP1KyoqUlNV9UhERGSNJO51XQY5N7bAIqpn755NxpbMXPi4u2KudCdkSywi\\\\\\n\",\n       \"u255dc/wNjB4nMJXp59DqZ4BZ2cTHR2NgICAsmnOnDkVXhMXF4eHH34YixYtgqenJ5xNbdZP6sm0\\\\\\n\",\n       \"3qQeiYiIrIU5sMgSbIFF1ADej01BhLsbWnl7YGDrEKw+lMx6J7JDrcN8EBqUg9d3LGTwyklJ8Mbf\\\\\\n\",\n       \"37/s98paX+3cuRMpKSno1atX2TydTocNGzbggw8+UC2RXFwcd5TZ2qzfrFmz8Oijj5ZrgcUgFhER\\\\\\n\",\n       \"ETUkBrCIGsjx/EK09vbAqI7hWHc0BSU6JoUmsicaDdC7RRBSC+IZvHJiErwyDWBVZtSoUdi/f3+5\\\\\\n\",\n       \"edOnT0eHDh3w5JNPOnTwqrbrV1VXSyIiIuslca9bF0AmcXd+DGARNZBvEtPRwdcLLfw98cqELnjm\\\\\\n\",\n       \"x4Mo1ulZ/0R2Ery6qV9ztGqag0/3L7Z1ccjG/Pz80KVLl3LzfHx8EBISUmG+I3L29SMiIscjowjq\\\\\\n\",\n       \"6pjhSM9Ro50ec2ARNRBpcPXMsXM4U1CE8P8FsSRZNBHZ3tXdm6Jl02x8uu9T5BTn2Lo4RERERERk\\\\\\n\",\n       \"hi2wiBqQDsCzx+PxfEwU2vh74NWJXfD08gMoLGVLLCJbah7sjQ3nViKnhMErqtxff/3l1FXj7OtH\\\\\\n\",\n       \"RESOkcS9bstgihZnx+YfRDYIYj13Il7lxArx9cCrk7rC041fRSJbGd0xAk0CvHA66zQ3AhEREZGN\\\\\\n\",\n       \"uhBaYyLnxi1MZAPS3uqFEwk4kleIYB93zGEQi8gmxnSOwCUdwvDZkdeRXpjOrUBEREREZKcYwCKy\\\\\\n\",\n       \"YRDrpZMJOF1QhCBvd0zsEcVtQdSAQn3dMaabL+Yffg2JeYmseyIiIiIb0Rk0VpnIuTGARWRD0kt7\\\\\\n\",\n       \"Z3ae+rlz0wBoecwlajCtw3xRUFqA5Pxk1joRERGRDckIhNaYyLlxCxPZ2G+pWcgoKUWzYC88PbYj\\\\\\n\",\n       \"XDSMYhHVtx7Rgbi+fwB+OP4DK5uIiIiIyAEwgEVkY4V6Ax47Goe04lK0CffFM1d2YBCLqB51aeqP\\\\\\n\",\n       \"m/o3xzeHv8HhjMOsayIiIiIb0xu0VpnIuXELE9mBIr0B/zkWh5TiErQK9cXsKzvChf0JiepFt+hA\\\\\\n\",\n       \"bE7+HUfPH2UNExEREdkBdiEkSzCARWRHQawnjp5DUlEJWoT64PmrOsGVQSwiq2oe7I2uUQGIz41n\\\\\\n\",\n       \"zRIRERERORAGsIjsSLHBgCePnUNCUQmig73xwtWd4ebCnFhE1tAyxBv3jmiDNQnf40D6AVYqERER\\\\\\n\",\n       \"kR2N0F7XEQhlGeTcGMAisjMlBgNmHotTQayoIC9MG9jS1kUicngSCL53dCj+iF+KTQmbbF0cIiIi\\\\\\n\",\n       \"IjKhh9YqEzk3bmEiO1RqAJYnn4cBQKswH1sXh8jhBXm7w9PVE9uTttu6KEREREREVAsMYBHZqb05\\\\\\n\",\n       \"+cjX6REV6IUHL2lj6+IQOawgbzfcPbwNtiZuRamh1NbFISIiIiIzOoPWKhM5N25hIjuVq9PjsSOx\\\\\\n\",\n       \"6t/eLYPx8Ki2YDYsopoHrx4a1RbH8/7GihMrWH1EREREdkgPjVUmcm4MYBHZsez/BbFydHr0bB6I\\\\\\n\",\n       \"Ry5tx8MyUQ0MbBOClNIDWHFyBQyqUy4RERERETkiBrCI7JwErx49EovsUh26NQvA45e1h4YPF4gu\\\\\\n\",\n       \"ysNVi/aR/kjMTWRtEREREdkxdiEkSzCAReQA8lQQK04FsTpF+WN896a2LhKRXfN00+LeEW1Q4nYc\\\\\\n\",\n       \"a+LW2Lo4RERERFQNHbRWmci5cQsTOYh8vR5/pGern2PCOTIhUfXBqxgVvPry4Jco1TNxOxERERGR\\\\\\n\",\n       \"o2MAi8iB/J2Rg1KDAZ2jAnFj32hbF4fI7ri5aHD/JTHILSzFl4e+5KiDRERERA5Ab9BYZSLnxgAW\\\\\\n\",\n       \"kQNJKSnFzGNxKDEYMKZLJG7qxyAWkakIf0+EBxXi29jZ0Bl0rBwiIiIiB6C3QvdBWQY5N25hIgeT\\\\\\n\",\n       \"WFSKJ4/GoURvwGWdI3FL/+a2LhKRXdBqgFEdI5Ccnwy9QW/r4hARERERkRUxgEXkgJKLS/HE0TgU\\\\\\n\",\n       \"6Q0Y1SkC0wa1sHWRiGzKRaPBtEEt0TQ8A18d+opbg4iIiMiB6A1aq0zk3LiFiRy4O+ETR2NRqDfg\\\\\\n\",\n       \"kvbhuH1IS1sXichmrugaiYjQdHy671PkleRxSxARERE5EB00VpnIuTGAReTAUkt0ePxILAr0Bgxp\\\\\\n\",\n       \"G4ZrekbZukhENhEV6IU9qXuQX5rPLUBERERE5IQYwKJqzZ07FxqNBjNmzGBN2amMUh2+OJeqfu4U\\\\\\n\",\n       \"FWDr4hA1uLFdm6BZsDcOpB1g7RMRERE5IHYhJEswgEVV2r59Oz755BN069aNtWTnjucXQm8AWof6\\\\\\n\",\n       \"YFSHMFsXh6jBXNmtCQa0DsZnh+civTCdNU9ERETkgGTs6Lp3ISRnxwAWVSo3NxdTpkzB/PnzERQU\\\\\\n\",\n       \"xFpygKTuL5+Mh14D3DygJcZ0jrB1kYjqnY+7Cy7t6ofPjsxFSkEKa5yIiIiIyIkxgEWVuv/++zFu\\\\\\n\",\n       \"3DiMHj36ojVUVFSE7OzschM1vKP5RXjhRDz0AG7s1xzjukRyM5BT6xwVgGJdMdIK0mxdFCIiIiKq\\\\\\n\",\n       \"A3YhJEswgEUVLF68GLt27cKcOXMsqh15XUBAQNkUHR3NWrWRE/lFeO7EOegMBlzbNxpXdW/CbUFO\\\\\\n\",\n       \"qV+rYFzX3x9fHfoKBhhsXRwiIiIiqgOdQWuVqaY+/PBDtGzZEp6enujfvz/++eefal8/b948tG/f\\\\\\n\",\n       \"Hl5eXuq+95FHHkFhYWEd1pxqggEsKicuLg4PP/wwFi1apL7Elpg1axaysrLKJlkG2c6pgmI8ezxe\\\\\\n\",\n       \"BbEm9WqGITEh3BzkVLpEBajg1ZcHv8SJzBO2Lg4REREROaAlS5bg0UcfxXPPPacacHTv3h1jxoxB\\\\\\n\",\n       \"SkrlqSm+/fZbzJw5U73+8OHD+Pzzz9UynnrqqQYve2PFABaVs3PnTvWF7dWrF1xdXdW0fv16vPfe\\\\\\n\",\n       \"e+pnna5iajwPDw/4+/uXm8i2zhYWY0VKpvq5e3QgNwc5lZhwX+xM3omTWSdtXRQiIiIisgIDNNDX\\\\\\n\",\n       \"cZJl1MTbb7+NO++8E9OnT0enTp3w8ccfw9vbGwsWLKj09Zs3b8bgwYNx0003qVZbl112GSZPnnzR\\\\\\n\",\n       \"VltkPQxgUTmjRo3C/v37sWfPnrKpT58+KqG7/Ozi4sIacxD7cwrUv71bBKF7dICti0NkFTLS5sDW\\\\\\n\",\n       \"ITiVdYo1SkREROQkGroLYXFxsWq8YZrzWavVqt+3bNlS6XsGDRqk3mMMWJ06dQq//fYbxo4da4Ua\\\\\\n\",\n       \"IEu4WvQqajT8/PzQpUuXcvN8fHwQEhJSYT7Zt2P5hfjwbDLubxGBh0e1w4drj2Nn7IVWWUSO2vLq\\\\\\n\",\n       \"zqGt8Vvct9iftt/WxSEiIiIiO2Q+qJj0GJLJVFpamupdFBFRfvR2+f3IkSOVLldaXsn7hgwZAoPB\\\\\\n\",\n       \"gNLSUtxzzz3sQtiAGMAicmKbs/JQciYZM1pG4P6RbfHxuhP45+x5WxeLqFZuH9IKv8f9F/8ksZl2\\\\\\n\",\n       \"Y3LZwX9UotS6KigowA9WKRERERFZm96gUVNdlyHMBxWTnFXPP/886uqvv/7Cq6++iv/7v/9TCd9P\\\\\\n\",\n       \"nDih8ke/9NJLePbZZ+u8fLo4BrDIoi8qOa7t2Xl450wSHmkZiXtGxkC7/iS2nsqwdbGIaiTExx1e\\\\\\n\",\n       \"7i44lHGINUdERETkZHTQqqmuyxAyqJhpXmbz1lciNDRUpcdJTk4uN19+j4yMrHT5EqS65ZZbcMcd\\\\\\n\",\n       \"d6jfu3btiry8PNx11114+umnVRdEql+sYaJGYEd2Pt48nah+vmt4G3SI9LN1kYgsFurrjoevCMKm\\\\\\n\",\n       \"pNXIKc5hzRERERFRlcwHGKssgOXu7o7evXtjzZo1ZfP0er36feDAgZUuNz8/v0KQypgjWroUUv1j\\\\\\n\",\n       \"CyyiRmJ3TgE2n8/F4CBfdG8WgCNJDASQ/Qv2ccdDo9pib+oa/Hb6N1sXh4iIiIjsvAuhpR599FFM\\\\\\n\",\n       \"mzZNDVrWr18/zJs3T7WoklEJxdSpUxEVFYU5c+ao36+66io1cmHPnj3LuhBKqyyZz8HOGgYDWESN\\\\\\n\",\n       \"yL6cfBXAurRTBLaeTsfZ9AsjFRLZq27NApBWeoTBKyIiIiInpodWTXVdRk3ccMMNSE1NxezZs5GU\\\\\\n\",\n       \"lIQePXpg5cqVZYndY2Njy7W4euaZZ6DRaNS/8fHxCAsLU8GrV155pU7lJssxgEXUiGzMzEWIuytu\\\\\\n\",\n       \"iAzG7HGd8fKvh3E6Pc/WxSKqlJebC3q3CEJs3kHWEBERERFZ3QMPPKAmS3JBu7q6qoTwMpFtMAcW\\\\\\n\",\n       \"USOzIiUT3yakQ+uiwTNXdkRMuI+ti0RUgbe7Cx4YGYM87WH8fvp31hARERGRE9MZNFaZyLkxgEXU\\\\\\n\",\n       \"CP2SloWvE9LgotVg1tiOaBfha+siEZUzfXArZOEAvj78NXQGHWuHiIiIqBHkwKrrRM6NASyiRmpl\\\\\\n\",\n       \"Wja+iE+FVqPBzCs6okMERyYk++Ci0aBpoCfWn1sPvUFv6+IQEREREZEdYACLqBH7Iz0Hn8elQqMB\\\\\\n\",\n       \"nri8PdqzJValko7uwsFVi2pUt/J6eV9Nndm+Bj8+fT2+uXsofpp9E87t24TGFryaNqgFsgpKkJSX\\\\\\n\",\n       \"ZOviEBEREVEDMBi00NdxkmWQc+MWJmrk1p7Pwaq0LGi1GozqeGHEDfqXBKHWznsEO5e+h/2/fWlR\\\\\\n\",\n       \"1cjr5PXyvpoEsVJO7MPfnz6LmKFX4crnvkJ0z2H464MncP7cyUYTvJo+pCVCQ1Px2bHnUawvtnWR\\\\\\n\",\n       \"iIiIiKgB6KCxykTOjaMQEhGO5BVgTGgAujcLQKivO9JyGTgwSj9zGKXFhern3T/8n/q369hpVe41\\\\\\n\",\n       \"e5Z/gn2/LFA/y/vWvvc4vIPCEdCkBdoNn4imnfohdtc67P3pc+SknIOLuweCm7fHJQ++gcN/LkHT\\\\\\n\",\n       \"LgPQ5fJb1Pt7TrwHiYf+wdG132HA1JlOv6d2jvJH84h8vLNzPgp1F+qciIiIiIhIMIBFRPgnKx9r\\\\\\n\",\n       \"07MxKsQfr0zogmd+PIBUBrEuBFXGTIFeV1oWvKoqiJWdHIsNnzyLjLNHyuZ5NOsMz+bdoC/KRXLc\\\\\\n\",\n       \"AcS98zC8gyNRcD4Fva69Hy36jERJYT6Sj+2RdtNIPbkfnS6bXG65TTsPQNzu9Y1iL20b4YfU/AQG\\\\\\n\",\n       \"r4iIiIgaGb3hQiL3ui6DnBsDWESkfB6fBp3BgMtCA/DKxC54dsVBJGcXsXZMglVVBbGSjuzEn+/M\\\\\\n\",\n       \"gL7035ZrgcOnIWDAdWW/GwwGFCccQebmJTBkJCF29wa0HT4BvqFNEdQsRr2mMCsdXv7B5erc0z8Y\\\\\\n\",\n       \"BdnpTr8dru7eFD1al+LTfT/auihERERE1MCMeazqugxybtzCRFRmYUI6fk/NgrurC16a2BVNAjxZ\\\\\\n\",\n       \"O/8jwaqe19xXVh8SxJJcV8nH9+CPtx6sNnglNBoNPKI6IvyaZ+Ee0QapJ/Zi2ZOTcHTt9yjKy27U\\\\\\n\",\n       \"9Xx5l0j0bavHJ3s/QVpBmq2LQ0REREREdogBLCIq5+vEdPySkgl3rQYvXt0Z4X7urKFqglir5t4N\\\\\\n\",\n       \"g15XbfDKlEbrgshp8xB82f0ozs/B7uUfY8XT1yMnNQGeASEoyM4o9/rC7Ax4+Yc49Tbo3NQfv57+\\\\\\n\",\n       \"FemFzt/SjIiIiIgq0kNjlYmcGwNYRFTBt0kZ2JWdDzdXLS7pwJEJqwtimTINXmkNenRNPYHh53ar\\\\\\n\",\n       \"f+V309ZYfj2vQNCoO1GcnwtotYjb9RfC2nRF0uEd5ZYpSdxlvrPq1yoY4X6eSMxLtHVRiIiIiMhG\\\\\\n\",\n       \"dAaNVSZybsyBRUSVOpJXiF7+3hgSE4Kf9yYgv/jfVkaNnQSxDv7+tWpBZaT18CkLXg1K2I979v2I\\\\\\n\",\n       \"sMKssr+negbg424TsA7uKDy7F54te8KzeXdoXN1QlHMeAU1bIrRNF6x6/R4cXLUIzboNxul//lCj\\\\\\n\",\n       \"IA6YOgvOaGDrEEzoGYWvjr2HlPwUWxeHiIiIiIjsGANYRFSpX1Mz0dXXC139vDD3mq6Y9cN+5DGI\\\\\\n\",\n       \"pUjuK9PgldAX5SFr63e4onkHPPPPlxXqM6QwS83XdRiHn+IOIHvHCuiL8qFxdYeLiwsiO/aFi6sb\\\\\\n\",\n       \"ht75EvYs/xi7l30E//BojHjgdQQ1a+N0e2mkvyeu7R+Az/bPw5nsM7YuDhERERHZEJO4kyUYwCKi\\\\\\n\",\n       \"SskotHNPJ+I/rSLRw88bc6/phqeW7UdOUSkae/DKOAqhseWVBK9E5vov4RcZDQT4VOiBL/21pRPh\\\\\\n\",\n       \"fWc3Yft1z0OvudCDuyj+MJK++Q/OnzuB0JYd0bLvKDU5uyaBnsguzmbwioiIiIgu5LCqYxdA5sBy\\\\\\n\",\n       \"fsyBRUTVBrHeOJ2EnVl58PN0xZzru8Hfs/HGvc2DV65BTRE9Y4nKfWX0aVIcPktPr/KAG16Qic5p\\\\\\n\",\n       \"p8rmufheSNBenPtvd0Nn1zbcFzcNCsSa2DW2LgoRERERETkIBrCI6KJBrLfOJmN7Vh58XV0wZ1JX\\\\\\n\",\n       \"+Ho0viCWefDKv0lLuAU1VT9L7ivTINY7aamYX0UQSwQXmXQ//F9LLINJkndnD17dOaw1VpxYgZ3J\\\\\\n\",\n       \"O21dHCIiIiKyAwYrjEAoyyDnxgAWEVnknbPJOFtQDG8PV/RtGdSog1cyCmFY687QF/4biJIgVofe\\\\\\n\",\n       \"V1oUxMpy9y77WV+Yrf519/ZDYzCsXRg2Jf+GnSkMXhERERHRBdJ90BoTOTcGsIjIYifyC9VzjTGd\\\\\\n\",\n       \"I+Hm0jhOEDIioHnwSkYhDGnZCUVJx1Gak1b2t6JRd+EuyYFlEsT6IqNiEGvaod8RmXdhfv7xbXBx\\\\\\n\",\n       \"90RAk1ZwdmF+HmgZ6oOkvCRbF4WIiIiIiBwMA1hEZLEvE9JwrrAYkQGeePHqzo0iiBXSsiNc3T3L\\\\\\n\",\n       \"Ba9E64GXw8XVA7l7V5W9VhKz51x6H2aEhqnfvTQadPH0KuuKKZPokHkOH6x7B0PjdiFv70q0HjAG\\\\\\n\",\n       \"7t6+cGbhfh54cGQMdp//A/vS9tm6OERERERkh6MQ1nUi58YtTEQWKzUAs46fQ2xhMZoEeuHlCV3g\\\\\\n\",\n       \"7uLch5HI9r0wcsY76H39Q2XBK+Hu5Ys2g65A3t5VMOj+HZlxc9OuSL7iUdzXpDk+bhaNvt4Xugum\\\\\\n\",\n       \"egXi885XIsHnQtJ2n9JCPLXzWzzr7YYuQ8fDmXm4avHw5SHYmbEKv5/+3dbFISIiIiI7wy6EZInG\\\\\\n\",\n       \"l4mZiOpEZwCePnYOL7WNQkt/Tzx/dSc8vfxAWesiZw1iyWSuw8jrcHzDCmT8+QmCL7sPGo2mLIil\\\\\\n\",\n       \"veUDxKadwpqiHGR4+OFgaGvVQuv3lgNw/95lGHlul3rtdYGBGLH2a/zkdz9Sw/7tfuhMAr3d4e3m\\\\\\n\",\n       \"jdVnV9u6KERERERE5KCcu+kEEdULHYBnj8erFlkR/p7wdndplDUdGNUaA6bORO6e35G5bkG5kQQl\\\\\\n\",\n       \"WLU/LAbrm/VU/8rvIt/NE3NiRuGZnCIUGC6E/cIyEjH1q+fRY886GY4QzkT2jakDW+BA2gFbF4WI\\\\\\n\",\n       \"iIiI7FRdRyA0TuTcGMAioloHsdJLSuCi1eDu4W0a7emi7dCr0femx5C940ekLH0OBad3lwtkmdIX\\\\\\n\",\n       \"5iJ7xwokffM4VhUX4aMJDyM5rJn6m5uuFJevXogJKz6AR2EenIGPhyseGBmDTOzH4qOLbV0cIiIi\\\\\\n\",\n       \"IrJT7EJIlmAXQiKqtWeOx+Ot9tHo1iwAj1/WHm/+cdTZGhBZpOOo6+EX2hQ7v/8QKUufhVtwFHy6\\\\\\n\",\n       \"XgrXwEhoXN2hL8pDUex+5B1eD+hK0bz3Jeg3+VEUB4TgqzZdcclfS9Fn1x9qWR2O7UBk4in8dPX9\\\\\\n\",\n       \"SIiKgSO7tGM48rXH8O3Bb6GvIqhHRERERERkCQawiKjW8nR6PHokDm91iEbnKH88cVl7vL66cQax\\\\\\n\",\n       \"mnUfgqhug5FyfA+OrvsBZzd+Uy65u1dQOLqPm4aYoePhHRhaNl/n6o4/R9+Msy06Yexv8+FVlI/A\\\\\\n\",\n       \"nAxM+fYV/D30GmztPxb4X/dDR+Ki0aB5iDdOZ59l8IqIiIiILGqBVRd1fT/ZPwawiKhO8vUSxIrF\\\\\\n\",\n       \"mx2ao2NTf8y6vAPmrjwCfSMMYkkS94h2PdVk0OtRUpiH0uIiuHv7wsXNoyzJe2WOt+2FBdNfxtU/\\\\\\n\",\n       \"f4To+ONwMegxYsN3aHHmIH658m7k+QbCUUi30tsGt4KnTyI2nd5k6+IQERERkZ1jAIss4XiP9YnI\\\\\\n\",\n       \"7hToDXj8SCwySkrRLtJPdSds7DRaLdy9/VRrK1d3z2qDV0Y5/iH4dvIsbBw0viwJZavYQ7ht4bNo\\\\\\n\",\n       \"dXo/HIUErwKCEjF//3wUlBbYujhEREREROQEGMAiIqsFsZ4+Hg/JdNQ2wpe1WksGrQs2DpmExTc8\\\\\\n\",\n       \"iWyfADXPJz8bN3z3Jkb8tQRak26J9shVq1HdSb859A0KdYW2Lg4REREROQAmcSdLMIBFRFaTW6pD\\\\\\n\",\n       \"gU4PNxctpg5ozpqtg9gWHfHF9JdxonX3snkD/vkNUxa9jIDMFLut23HdmiArvwS5Jbm2LgpRrX30\\\\\\n\",\n       \"0Ufo1q0b/P391TRw4ED8/vvvTlWjjWEdiYjIcUj2EemBUJepEWYwaXQYwCIiq9EBePrYORTpDRjZ\\\\\\n\",\n       \"MQK3DmrB2q2DAm9/fH/NI1hzyWSUal3UvKik05i+8Fl0OLzN7up2Ys8o9I7RYf6RV6EzyN5A5Jia\\\\\\n\",\n       \"NWuGuXPnYufOndixYwdGjhyJ8ePH4+DBg3AWjWEdiYiIyLkwgEVEVpVSUoonjsaiUG/AiPbhuGNo\\\\\\n\",\n       \"S9ZwXWg02N73cnx987PICAhTszyLCzHh5//D5SsXwLWkyC7qt3+rYPRsU4qP936M9MJ0WxeHqE6u\\\\\\n\",\n       \"uuoqjB07Fm3btkW7du3wyiuvwNfXF1u3bnWamm0M60hERI6DXQjJEgxgEZHVpZboVFJ3CWINjgnD\\\\\\n\",\n       \"1d2bspbrKDmyFRbe+hIOdBxYNq/HvvWY9tXzCEuNs3n9Ng30wonMEzhfdN7WRSGyKp1Oh8WLFyMv\\\\\\n\",\n       \"L091s3NGjWEdiYjIvjGARZZgAIuI6kVGqQ7/TUxXY+l1aurHWraCYg8v/HLl3fhl7J0odnNX88LS\\\\\\n\",\n       \"EzD1q+fRY886wGCbnv+D2oRgQOsQbEu0v26NROays7PLTUVFlbdi3L9/v2qR5OHhgXvuuQfLly9H\\\\\\n\",\n       \"p06dnKpCa7KOUk/mdUdERETUkBjAIqJ6cyCnADoD0D7CH6M7XOj+RnWk0eBAlyFYOPVFJIc1U7Pc\\\\\\n\",\n       \"dKW4fPVCTPjxA3gU5jVoFQ+OCcHVPZrii6PvIDYntkE/m6g2oqOjERAQUDbNmTOn0te1b98ee/bs\\\\\\n\",\n       \"wbZt23Dvvfdi2rRpOHTokFNVek3WUerJtN6kHomIiKyFLbDIEgxgEVG9SSwuwcsn46HXAFMGtMSY\\\\\\n\",\n       \"zhGsbSvJCGmCr255Djt6jS6b1+H4Dkz/4hk0jT/RYPU8tmsTLD35Kc5mn22wzySqi7i4OGRlZZVN\\\\\\n\",\n       \"s2bNqvR17u7uiImJQe/evVXwpnv37nj33XedqvJrso5ST6b1JvVIRERkLQxgkSUYwCKienU0vwgv\\\\\\n\",\n       \"nIiHHsCNfZtjXJdI1riV6Fzd8efoW/DDxIdR4OGt5gXmZODmb1/BgK2/AAap9frTNsIXnm4uSMxL\\\\\\n\",\n       \"rNfPIbImf3//cpN0n7OEXq+vsruhs6huHaWezOuOiIiIqCExgEVE9e5EfhFmnzgHHQy4tm80rure\\\\\\n\",\n       \"hLVuRcfb9sKC6S8jLqqd+l1r0GPEhu9ww5I34JObWS913T7SD3ddEoplp75EZlH9fAaRrUhrow0b\\\\\\n\",\n       \"NuDMmTMqT5T8/tdff2HKlClOs1EawzoSEZHjMBg0VpnIuTGARUQN4nRBMZ49Hg+dwYBJvZphYJsQ\\\\\\n\",\n       \"1rwV5fiH4NvJM7Fx0HgYVOp8oFXsIdWlsNXp/Vat62ZBXrhjRAh+OP4DdqXssuqyiexBSkoKpk6d\\\\\\n\",\n       \"qnJEjRo1Ctu3b8eqVatw6aWXwlk0hnUkIiLHoYfGKhM5N1dbF4CIGo+zhcVYlZaNsWEB6NzUH1tO\\\\\\n\",\n       \"ptu6SE7FoHXBxiGTEBvdEVf+8hH887LgW5CDG757E1v7jcWGoddA71L3w350kDficuKwN3WvVcpN\\\\\\n\",\n       \"ZG8+//xzOLvGsI5ERETkXNgCi4ga1J6cC6PkDWoTgu7RAaz9ehDboiO+mP4yTrTqVjZvwD+/qdxY\\\\\\n\",\n       \"AZkpdVp2uJ8HxnZrgmPnj1mhpERERERETOJOlmEAi4ga1MHcQnxwNhkajQYPj2qH3s0DuQXqQYG3\\\\\\n\",\n       \"P76/9lGsuWQydFoXNa9p4ilMX/gsOhzeVuvljmgfhpN527D+3HorlpaIiIiIGjPmwCJLMIBFRA1u\\\\\\n\",\n       \"S1Ye3lVBLOD+kW3Rr0UQt0J90Giwve/l+OrmZ3E+MFzN8iwuxISf/w+Xr/wcriU1G1HN290FrcN8\\\\\\n\",\n       \"kZCbwO1FREREREQNigEsIrKJf7Ly8M6ZJBXEuvuSNgj2ceeWqCfJka3wxbQXcbDjgLJ5PfZtwLQv\\\\\\n\",\n       \"n0NYapxFy/Bxd8EDI2OQod+PTQmbuK2IiIiIyGr0Bo1VJnJuDGARkc3syM5HRkkptBoNooO8uCXq\\\\\\n\",\n       \"UbGHF36+8h78esUdKHa9ECwMy0jE1K9eQI8966TddpXvvdBSLgbp+r1YdGQR9AY9txURERERWQ27\\\\\\n\",\n       \"EJIlGMAiIpv6Mz1bDXj74MgYNA9mEKteaTTY33UoFk57EclhzdQsN10JLl+9EBNWfACPwgsJ9s15\\\\\\n\",\n       \"urqgaaAXlh1fxuAVERERERHZBANYRGRTK1Iy8UNyBlxdtJh9ZSe0CGEQq75lhDTBV7c8hx29Li2b\\\\\\n\",\n       \"1+HYDkz/4hk0jT9R7rUuWg2mDGiOuIx8FOlqljOLiIiIiMjSFlh17T4oyyDnxgAWEdncD8mZWJL0\\\\\\n\",\n       \"vyDWuM5oHepj6yI5PZ2rO/4cfTN+mPgwCjy81bzAnAxM+fYVDNj6C2DQw1Wrwe1DWiEoKBkLjj8P\\\\\\n\",\n       \"A6ruZkhEREREVFtylSkZLeo0sfqdHgNYRGQ3LbG+TzoPFxcNHhoVY+viNBrH2/bCgukvIy6qrfrd\\\\\\n\",\n       \"xaDHiA3f4YYlb2BUhAtCgtPw2f7PUKgrtHVRiYiIiIioEWMAi4jsxl/nsyHpwX093ODv6Wrr4jQa\\\\\\n\",\n       \"Of4h+HbyLGwcNB56lZEMaBV7CN2efwBJa1cyeEVERERE9UquQa0xkXNjAIuI7EZGiQ7bs/Lg6qLB\\\\\\n\",\n       \"3Gu6IsCLQayGYtC6YOOQSVh8w5PI8Q1U81yyziPimU8w+MdT0Oo48iARERER1dO16P9yWNV1IufG\\\\\\n\",\n       \"ABZVMGfOHPTt2xd+fn4IDw/HhAkTcPToUdYUNYh3zyZjc2YuvN1dMXdSVwR5u7HmG1Bsi45IenM+\\\\\\n\",\n       \"tAMGl83r82ccrn1rN/zTCrgtiIiIiIjIJhjAogrWr1+P+++/H1u3bsUff/yBkpISXHbZZcjLy2Nt\\\\\\n\",\n       \"UYP4IDYFf5/PgZe7K+ZM6ooQHwaxGlK/njH44Z5W2DCpDXTaC0+ymsTmYvKcnWi7M6VBy0JERERE\\\\\\n\",\n       \"zq+uIxAaJ3Ju7J9DFaxcubLc7wsXLlQtsXbu3Ilhw4axxqhBfBSXigBXF3Tz88aV3Zriyy1nWfMN\\\\\\n\",\n       \"YGDrEPVvelEGYkc2Q3xMAC7//BCC0gvhWaTD2C8O48DR81h/bQxK3V24TYiIiIiozowjCdZ1GeTc\\\\\\n\",\n       \"2AKLLiorK0v9GxwcXOnfi4qKkJ2dXW4isoa9ORe6rHWPDoS7Cw9X9W1wTAgm9vXFwqPzkFdyocVl\\\\\\n\",\n       \"SnM/LJ7ZG0f6hJW9rsvmJNzw2i6ExOfWe5mIiIiIiIgE7wipWnq9HjNmzMDgwYPRpUuXKnNmBQQE\\\\\\n\",\n       \"lE3R0dGsVbKK1WlZOF1QhGAfd7wysQs8XHnIqi/tI/xwdW8ffH7gc5zJPlPub8Verlg1rSNW39we\\\\\\n\",\n       \"Je4XtkFocj5ueGMXumxM4OMuIiIiIqoTJnEnS/BukKolubAOHDiAxYsXV/maWbNmqVZaxikuLo61\\\\\\n\",\n       \"SlahAzD7eDxO5hchzM8Dr07sAk8GsepF00BPnM0+i9ic2MpfoNHg8IBIfPtkb6Q09VGz3EoNGLX4\\\\\\n\",\n       \"OMZ+dgju+aX1UzAiIiIicnoMYJElGMCiKj3wwAP45ZdfsG7dOjRr1qzK13l4eMDf37/cRGTNINZz\\\\\\n\",\n       \"J+JxPL8QIb4eeGVCV7i5MEGjtVtfXdG1CXYm77zoazMjvLH0P72we3jTsnlt96bhpjk7EHnqQndj\\\\\\n\",\n       \"IiIiIiIia2MAiyowGAwqeLV8+XKsXbsWrVq1Yi2RTekBvHAiATk6PYL83BEd5M0tYiUdIv1w+9BW\\\\\\n\",\n       \"WH56Ifal7bPoPTo3LTZc1xY/39UZBV4XErkHnC/CdfP2oM/qWBlGhtuHiIiIiCzGUQjJEgxgUaXd\\\\\\n\",\n       \"Br/55ht8++238PPzQ1JSkpoKCi4k1CayVRArsbBYHbRu7BstPdrICib0jMLKuCXYk7qnxu891S0U\\\\\\n\",\n       \"3z7VB/FtLrS61OqBwT+dxoQP9sE7u5jbh4iIiIhqNAphXSdybgxgUQUfffSRymU1YsQINGnSpGxa\\\\\\n\",\n       \"smQJa4ts6rXTiThfokO7SD88dXkHaBnEqpMIfw8EebsjPje+1svIDfLEDw/1wLYrWsB4zdDiWCZu\\\\\\n\",\n       \"enUHmh/KqFsBiYiIiIiI/ocBLKq0C2Fl06233sraIpsq0Bvw2NFYZJSUom2kH6YNbMktUkuR/p54\\\\\\n\",\n       \"YGRbbE75rerE7RYyuGiwdVxLLHuoG3L83dQ8n9wSTPy//Rj84yloddJ+joiIiIioiutJ1YJKU8eJ\\\\\\n\",\n       \"tevsGMAiIodSqDdgUUK6au3TOvzCaHhUM4Febnjo8hD8k/YbVp9dbbXqO9cuCP+d1QenOgWVzevz\\\\\\n\",\n       \"Zxyue3sP/NPYBZmIiIiIKsdRCMkSDGARkcM5lFeIYr1BJXOfOqCFrYvjcJoFeSG3OBd/xv5p9WUX\\\\\\n\",\n       \"+Lnj53u7YsOkNtD9b7TIyLM5mDxnJ9ruTLH65xERERERUePAABYROZysUh2ePBqHIr0BIzuGY/pg\\\\\\n\",\n       \"BrEs5ePhirHdmuBs9tn620AaDXaPbIalj/VEZqinmuVZpMPYLw5j5KKjcC3W1d9nE9mBuLg4nDt3\\\\\\n\",\n       \"ruz3f/75BzNmzMCnn35q03IRERHZK4OVJnJuDGARkUNKKSnFf47EQkIhQ2PCEOB1IfcSVW9o21AU\\\\\\n\",\n       \"uZzEjyd/rP9t1NwP/32yN470CSub13VLEm54bSdC4nPr/fOJbOWmm27CunXr1M8yiu+ll16qglhP\\\\\\n\",\n       \"P/00XnzxRW4YIiIiM+xCSJZgAIuIHFZaqQ55pTpoNBr0a/Vv3iWqnItWgzZhPjiXew56Q8MkVi/2\\\\\\n\",\n       \"csWqaR2x+ub2KHa7cMoJTS7AjW/uRpeNCRzvmJzSgQMH0K9fP/Xz0qVL0aVLF2zevBmLFi3CwoUL\\\\\\n\",\n       \"bV08IiIiIofEABYRObT3zibDoAFu6t8Cozr829KHKgavbhvcCj5+SVgXd6FlSIPRaHB4QCQWP9kb\\\\\\n\",\n       \"KU0vJN53LdFj1OLjGPvZIbjnl3JzkVMpKSmBh4eH+vnPP//E1VdfrX7u0KEDEhMTbVw6IiIiO8Q+\\\\\\n\",\n       \"hGQBBrCIyOETur98Il6d824e2BKjO4Xbukh2afqglggISsT8/fNRUGqbEQHPR3pj6X96Yc/wqLJ5\\\\\\n\",\n       \"bfem4aY5OxB5KssmZSKqD507d8bHH3+Mv//+G3/88Qcuv/xyNT8hIQEhISGsdCIiInMGTZ27Eaqn\\\\\\n\",\n       \"2jX04YcfomXLlvD09ET//v1Vl//qZGZm4v7770eTJk3Uw6p27drht99+4/ZsIAxgEZHDO5JfhBdP\\\\\\n\",\n       \"xEM6xU3p1wKjOrIllrmOTf3x3dHvUKgrhC3p3LRYf10Mfr6rMwq8XNS8gPNFuO6dPeizOhbQM/0m\\\\\\n\",\n       \"Ob7XXnsNn3zyCUaMGIHJkyeje/fuav5PP/1U1rWQiIiIbGvJkiV49NFH8dxzz2HXrl3qfD1mzBik\\\\\\n\",\n       \"pFQ+cnZxcbHKa3nmzBl8//33OHr0KObPn4+oqH8fzlL9cq3n5RMRNYhj+UV4/2wSHm4RiSs6N8Ga\\\\\\n\",\n       \"w6ms+f+Z0KMpcgtLkVmUaTd1cqpbKL59qg/GfHEYzU5lQ2sABv90Gs2OnsfqaR2R7+9u6yIS1ZoE\\\\\\n\",\n       \"rtLS0pCdnY2goH/z8911113w9vZmzRIREZkxGOqeGrWm73/77bdx5513Yvr06ep3aT3966+/YsGC\\\\\\n\",\n       \"BZg5c2aF18v8jIwMldfSze3CAFLSeosaDltgEZHTOJVfrLoSBvt6oFMTP1sXxy5M6hWFXjE6zD/y\\\\\\n\",\n       \"Kor1xbAnuUGeWPZwD2y7okXZsMctjmZiypwdaH4ow8alI6q9goICFBUVlQWvzp49i3nz5qknteHh\\\\\\n\",\n       \"7OZMRERUn6MQygMk00nOyZW1ptq5cydGjx5dNk+r1arft2zZUukGkpbUAwcOVF0IIyIi1CAtr776\\\\\\n\",\n       \"KnQ6GRedGgJbYBGR00grKcXncam4IzoMj49pj7dWH8PBhGw0Vj2bB6JnGx0+2vMxzhedhz0yuGiw\\\\\\n\",\n       \"dVxLnGsbgDFfHoFvVjG8c0ow8f/2Y8foaGy5qiX0LnzW0ph5nTsJb88LCdHrpLDixWt9GT9+PCZN\\\\\\n\",\n       \"moR77rlH5cqQnBrypFZaZcnT3nvvvdfqn2kwGNSIrERERI1ddHR0ud+li+Dzzz9fbp6ckyXwJIEo\\\\\\n\",\n       \"U/L7kSNHKl3uqVOnsHbtWkyZMkXlvTpx4gTuu+8+NXiLfAbVP94VEJFTWXc+B5/EpagbuUcua4cQ\\\\\\n\",\n       \"n8bbFS0q0AtxOXF2G7wyda5dEL6d2RunOweXzevzZxyufXsP/NNsk3SeqLYkj8bQoUPVz5IjQy6G\\\\\\n\",\n       \"pRXWV199hffee6/Wy7311luRl5dXYb7k4hg2bBg3GBEROS5jEva6TgDi4uKQlZVVNs2aNcsqRdTr\\\\\\n\",\n       \"9aol9aefforevXvjhhtuwNNPP626HlLDYACLiJzOhvO5SC4qgYtGg6ggLzRGg9qEYFhHd/x97m84\\\\\\n\",\n       \"igI/d/x0TxdsmNQGOu2FC5AmZ3Mwec5OtN1ZeTJNInuUn58PP78L3ZhXr16tWmNJt4QBAwaoQFZt\\\\\\n\",\n       \"7d27F926dSvXteHLL79USWdDQ0OtUnYiIiJb5sCq6yT8/f3LTTJaoDk5b7q4uCA5ObncfPk9MjKy\\\\\\n\",\n       \"0jLKyIMy6qC8z6hjx45ISkpSXRKp/jGARUTlnF35Cxb3iMHfM+5x6JrZkpkLCYHcf0kbRPhbofuR\\\\\\n\",\n       \"gwWvru7RFAsOLsCZ7DNwKBoNdo9shqWP98T5EE81y7NIh7FfHMaob4/Ctbh+cwxknMnA6hdWY9HN\\\\\\n\",\n       \"i/DJpZ9g37J99fp55JxiYmLw448/qifAq1atwmWXXabmy6hGciFdWzK0twTDJEn8U089heuvvx4P\\\\\\n\",\n       \"PPAA3nzzTSxfvtyKa0BEROTc3N3dVSuqNWvWlGthJb9LnqvKDB48WHUblNcZHTt2TAW2ZHlU/xjA\\\\\\n\",\n       \"IqIyufHnsOftOQjr1dfha+W75PP4PTULHq4ueGl8Z0QGXAiGNAajOkZg2ekFOJtd+5YetpbS3A+L\\\\\\n\",\n       \"Z/bGkT5hZfO6bE7CDa/tREh8br19bmlRKfya+KH/7f3hHczR4qh2Zs+ejccff1yNTCT5r4wXwtIa\\\\\\n\",\n       \"q2fPnrWuVsmj9cYbb6iRkebOnauCZLJMGUGJiIjIoRmsNNXAo48+ivnz56vWzIcPH1Y5KqWrvnFU\\\\\\n\",\n       \"wqlTp5brfih/l1EIH374YRW4khELJYm7JHWnhsEk7kROpiAtFXnxcSjJzYGLpxc8g0Pg17K1ygkV\\\\\\n\",\n       \"98fvOPDJ+8iNO6v+FtShE4bO+xiuXt7Q63TY+tSj6HLvw0jdtQMlOY6f/PzrxHR4uWgwItgftw5s\\\\\\n\",\n       \"gbkrj8LZtYvwRYCXG5LzyzeHdkTFXq5YNa0jYjsE45Klx+FWrEdocgFueGMXNlwbgwODm6gWW1Up\\\\\\n\",\n       \"KShBZmwminKLIM3xPPw8ENwiGC7uLji14RR2fr0TWQlZcPVwRWhMKMa8MAbh7cPVJLZ9vq0B15ac\\\\\\n\",\n       \"ybXXXoshQ4YgMTFRde8zGjVqFCZOnFjr5UqSWAleffjhh+qCeuPGjapF1ueff46xY8daqfREREQN\\\\\\n\",\n       \"z3QUwbosoyYkh1Vqaqp68CTdAHv06IGVK1eWJXaPjY1VKQBMk8NLy+pHHnlEdemPiopSwawnn3yy\\\\\\n\",\n       \"TuUmyzGAReQEDHo9krZuxPEli5Dw9zpp/1ru7wFt26PF2PHY/8Hb6DHjCUSNvAyl+XlI3bVdjVwl\\\\\\n\",\n       \"Dn7yPjyCQ9Bm4vUqgOUstmTmYXiwP5oHe8PTTYvCkvJ140w6RPrhtiGtsPz0l0jJd5KcURoNDg+I\\\\\\n\",\n       \"RFJLf1y+4BDCE/LgVmrAqMXH0fzwefw5pT2Kvcufys7Hnsehnw/h6OqjKMkvKfc3jwAPxIyIwaFf\\\\\\n\",\n       \"DmHAnQPQanArFBcUI2l/UgOvGDk7yZ9hnkOjX79+dVpmnz59VH6tv/76S+XTkuP366+/roJYt912\\\\\\n\",\n       \"G/7v//6vjqUmIiJqXKQrvkyVkfOtOWlVvXXr1gYoGVWGASwiB5e2bze2PP048uLOwq11O/g9PAvu\\\\\\n\",\n       \"XXpA4+MLQ2EhdPGxKPh1Gfa994bKbFicmwOfplGqRVZg2/ZqGam7d+DUj9/h8iU/w9kcyC3A4dwC\\\\\\n\",\n       \"dPL1wtxJ3fDU8v3Ir+c8SrbQJMATt48IwQ/Hv8De1L1wNucjvbH0P70w+MeT6Lk+Qc1ruzcNEXE5\\\\\\n\",\n       \"+P3WjkhqHYDC7EKsfX0t4rbFwdXfFYEjA+Hfyx+ufhdOdaVZpcjaloXDKw/DoDMgYW8COo7tCL9I\\\\\\n\",\n       \"P4S0CrHxGpKz2bFjB5YuXaqe3pondl22bFmtA1gyiqGPj4/6XY7j8tRXcmzdcsstVik3ERGRzdSw\\\\\\n\",\n       \"CyA1PsyBReTA4tevwdo7b0axfyCC3vsCQfMXw/uqa+HaKgYu4ZFwbd4SHgOHIfDleQj5egW0oeGq\\\\\\n\",\n       \"pdWv40fjxA+LUZydhZK8XGx9+nH0nf0qPIKC4YznwVdOJeJATgECvd3wyoQucP3fCHfOFsBKzU91\\\\\\n\",\n       \"yuCVkc5Niw3XtcXPd3VGgdeF0V/8M4pw3bw96LrsOH58aDkSDyWi2V3N0O6tdoi8NhLerb3hHuau\\\\\\n\",\n       \"Ju8YbzSZ0gTt3mkH90h3nN1yFt/c9A32/bAPRTlFtl49ciKLFy/GoEGDVD4NSa4uXf8OHjyItWvX\\\\\\n\",\n       \"IiAgoNbLla6CxuCVKcmrtXPnzjqWmoiIyPZdCOs6kXNjAIvIQaXt2YVN/3kQbn0HI+itTy60uqom\\\\\\n\",\n       \"H5Br02iELlkJr+tuQW7sWez/cB5+HX+pyoeVl3AOfz98F5b0bq+mM78sV8Ex+TknznETgZsGseac\\\\\\n\",\n       \"TkSBXo8AbzeE+DrXqIQyyuLEXs1wMP0gGoNT3ULx7VN9EN/mwmhuWj0wcm0C3nEPRM/HWiFwUCC0\\\\\\n\",\n       \"blWf3ly9XdF2Tls0vb0pSopLsP2L7Vg8fTGyEx0/7xvZB0no+s477+Dnn39WoxK9++67OHLkiBo1\\\\\\n\",\n       \"sHnz5nVa9tdff61GQWratCnOnr1wfJ43b57K2UFERETkzBjAInJA+tJSbJo5A67tOyPgmTnQuFsW\\\\\\n\",\n       \"kJEAl/+9j8Jn+r0oykhT+YUSNq7H5d//hjFLfi6booaPQnjfAepn78gmcAYSxEooLIFWo8E9w1rD\\\\\\n\",\n       \"pZpgn6O1vHpwZFtsT/8da+PWorHIDfLEDw/1wLYrWkD/v/bmA9y98e4KF3Q/pbfouxA8NBitnmiF\\\\\\n\",\n       \"Ul0pdCU6nNl0pgFKTo3ByZMnMW7cOPWzBLBkRCPZ5yTp66efflrr5X700UdqxCRJ2J6ZmQmd7kJ3\\\\\\n\",\n       \"6MDAQBXEIiIiclg2GIWQHA8DWEQOKGHDOhQkJcD3wSehcXe36D0lh/cjb9HnKDl6EJ6jx0EbEIii\\\\\\n\",\n       \"zPMI6tAZgTHtyk1ufv5w8/ZRP7u4WbZ8R/DyqQSkFJeiVZgPnr2yo1MEsSb1isLezLX44+wfaGwM\\\\\\n\",\n       \"LhqsH94EdyTFI9X1QtAqMB94eokeU9bp4KIzQKM3oNNZPQYf1Kt/5ff8k/lI+TkFBacL4BrkCp92\\\\\\n\",\n       \"PirZu3+UvwpkpZ1IU5O+RI+8tDz1c1Z8lq1XlxxIUFAQcnJy1M8yQtGBAwfUzxJ0kiTstfX++++r\\\\\\n\",\n       \"4b6ffvppuLhc6EZrzI21f/9+K5SciIjIVjRWmsiZMYk7kQM6tuRruHfuBreYC0nYLaHx9kHxvl3I\\\\\\n\",\n       \"+2ERDNIawNsbGq0Wod16oLEo0hvwxNE4vNE+Gi1DfXB932b47z9xcFQ+7i4I9/PE1rhTaKyO/XEM\\\\\\n\",\n       \"23Lz8PjNGjz8twa9Tl549DZ+qwF9j+rgVQwE5f37+jQ/YH5vFyw/mo/01enQF+jhGnDhVKgv1SM/\\\\\\n\",\n       \"PR8/3PtD2ev3fbdPTU26NcHVb13d8CtIDmnYsGH4448/0LVrV1x33XVqiG3JfyXzRo0aVevlnj59\\\\\\n\",\n       \"WuW7Mufh4aFaeRERERE5MwawiBxM7rlYpGzbDP9ZL9fofa4tWiPotQ/LftdlpCP9xstx5tcVaDd5\\\\\\n\",\n       \"arnXDnjpdTirYoMBq9KycHPTEMSE+cJR+Xq44v5LYhBbuBNHMo6gsTr06yH49fZDQRM3zL3OgHHb\\\\\\n\",\n       \"DZiyTg9pkNX0fMWW5ME5wMy/XOA2qTn+af9vI+RTr5zCoV8O4crXrsTdf9zd4OtBzuWDDz5AYWGh\\\\\\n\",\n       \"+llaS7m5uWHz5s245ppr8Mwzz9R6ua1atcKePXvQokWLcvMl/1XHjh3rXG4iIiKbsUYXQHYhdHoM\\\\\\n\",\n       \"YBE5mOwzp9W/7j361Gk5LsEhKqiVffokGptNmbm4JjIIbcJ9cfOAFvhmq2Mlqvdw1eLhsb5IzN2N\\\\\\n\",\n       \"JceWQG+4eM4nZ2QwGJAVl4XI4ZEXZmg0+LWfBoejgFe+1sPFULEhuYSspLZu/UOP7W01MPxvREqf\\\\\\n\",\n       \"Dj7I3JrZ8CtBTik4+N8RXbVaLWbOnGmV5Ur+q/vvv18Fx2T//+eff/Df//4Xc+bMwWeffWaVzyAi\\\\\\n\",\n       \"IrIJBrDIAgxgETmYktwLeVU0vn51XpbGxxcl/8vT0phklerwxukkPNumKXo3D3S4AFZkgCd83Hyw\\\\\\n\",\n       \"+OhiGBrxo6bSwlIY9Aa4eP+bC0h4lkIFr6oiQazQHKBjnAGHWlwIYMkyinKL6rvI5MSysy0fxdLf\\\\\\n\",\n       \"/8IImjV1xx13wMvLS7XiklxaN910kxqNUEY5vPHGG2u1TCIiIiJHwQAWkYNxMY44WFwEeHnXaVmG\\\\\\n\",\n       \"4mK4eFo2gqGzSSwqgc5gQKC3O0Z1CMOaI6lwBK5aDcZ0jkRi7plGHbwSLu4XAleGkvL1EJRr2ftN\\\\\\n\",\n       \"XycJ2109eEqk2pORAGWkwepIqyl5jXH0wNqYMmWKmiSAlZubi/Dw8Fovi4iIyG4YNBemui6DnBqv\\\\\\n\",\n       \"1okcjEfQha4puoR4aAOCar0cg04HfUoSPAYOQmMkrbBeOZmAZ2KicPOAlnB10WLVwWTYMzcXDW4f\\\\\\n\",\n       \"0ho+/vFYcOAbNHZaFy3cfd1RnFJcbv55C1Obmb6uOLUYngGeVi4hNSbr1q1r0M/z9vZWExERkTMw\\\\\\n\",\n       \"GC5MdV0GOTcGsIgcTEjX7vAMC0fB7z/CrWOXWi+neNtG6DLSEH3pWDRWR/OL8MKJeDwfE4Ub+jXH\\\\\\n\",\n       \"/vgsJGReSLxsj67q3lQFrz4/8DmKdOzuJloPbY2Tm04ifEI4NC4Xnrodjtao0QYlYfu/adr/JTmw\\\\\\n\",\n       \"MvwuvE7oCnTI/icbPa+vOLobkaWGDx9eL5Ulow5erGWX0a5du+qlDERERET2oLJreyKyY1pXV8Rc\\\\\\n\",\n       \"OxmFf/4K/f/yYdVGwU9LEdS5G4I71T4I5gxO5BchobBYJftubeejEjYJ8MK+tH0MXpnodFUnlGSU\\\\\\n\",\n       \"IGfPv98FScy+8FKt2qbm6e3ld5kvfzcmcM/cnKm6IXYcy1HcyDq++OILfPfddxXmy7wvv/yyRsua\\\\\\n\",\n       \"MGECxo8fr6YxY8bg5MmT8PDwwIgRI9Tk6emp5snfiIiIHD6Je10ncmoMYBE5oDYTrwdKSlGwYmmt\\\\\\n\",\n       \"3l9y4iiK/tmMttdPsXrZHNHPKRdGn5s+uCVahdhnl5xrejdDeHA2DqQdsHVR7EpY2zCEdQhD2so0\\\\\\n\",\n       \"GHT/XrX8016LtyZpVUsrU/K7zJe/C32xHhl/ZqDFoBbwCfVp6OKTk5JRAUNDQyvMl3xVr776ao2W\\\\\\n\",\n       \"9dxzz5VNqampeOihh7Blyxa8/fbbatq8eTNmzJiB5GT77gJNRERkUQ6suk7k1NiFkMgBeYVHoN2U\\\\\\n\",\n       \"aTj6xf/BtVUMPAZZ3nVFl5qCrGdmIKBdB7S4/Mp6Laej+DszF939vTEw0Bf9W4fgdHo+7Ml1fZqh\\\\\\n\",\n       \"YxN/fLLvFWQWXQi20b/6Te+H32b9hsRFiWhyS5Oy7lYSpNreVqNGG5SE7ZLzSroNGlteScDr3Cfn\\\\\\n\",\n       \"UJpRit6ze7NKyWpiY2PRqlWrCvNbtGih/lZb0oJrx44dFebffPPN6NOnDxYsWFDrZRMRERHZO7bA\\\\\\n\",\n       \"InJQ3R9+AlEjRiPr+cdRsOonNbrVxZSePoHzD90Kd40Gw9//DC4ejXMEwsocyS1QXcsuaR+GUF93\\\\\\n\",\n       \"2At/T1cMjgnF/CMv43zReVsXxy4169UMQx8eioy1GYj/PF6NKGgkwapDLbTY1Fmr/jUGryTvVex7\\\\\\n\",\n       \"scjZnYPRT41GaEzF1jJEtSUtrfbt21dh/t69exESElLr5Xp5eWHTpk0V5ss86UpIRETkqDQG60zk\\\\\\n\",\n       \"3NgCi8hBaV1cMPi1d7H9ldk4/dpzKFi2GF7jr4PnyMuh8fQqe50Etop3bUPBiu9QtGU9AlrHYPgH\\\\\\n\",\n       \"n8E7ItKm5bc3f2bkoLmXB0aH+OOVCV3w7IoDSMkpP7qdLXSPDkR+kY4try5C8le5erpi3RvrkLc/\\\\\\n\",\n       \"D4HDAhE0IgjuIeWDkUVJRchYl4HMvzOhMWhwxctXILpvdH1uQmqEJk+erLr6+fn5YdiwYWre+vXr\\\\\\n\",\n       \"8fDDD+PGG2+s9XKlq+C9996rkrX369dPzdu2bZtqefXss89arfxEREQNzho5rBjAcnoMYBE5MK2b\\\\\\n\",\n       \"G/o99yqiR43B8aXfIPGtl5D78TtwjWkPjY8vDIWF0CfEoTQxHn6tY9DliWfR6upJcPWyzzxPtrYg\\\\\\n\",\n       \"Pk2d9y4N8cdTYztixpK9Ni3P0LahuLKXNxYceMem5XAUbUe2RWibUBz86SCO/nEUqb+kwru1N1x8\\\\\\n\",\n       \"XdTfS7NKUXCmAB7+HuhyZRd0vroz/CLMkmQRWcFLL72EM2fOYNSoUXB1vXCppdfrMXXq1BrnwDI1\\\\\\n\",\n       \"c+ZMtG7dGu+++y6++eYbNa9jx44qafz111/PbUdEREROjQEsIgcn+X6aDh2hptz4OJz68Xvkxp1F\\\\\\n\",\n       \"SU4OXIIC4NGyJTxDQtHy6knwa9bc1sW1e0uTMjAqxB++nm7wdNWisNR8HLuG0at5oApefX7gc8Tl\\\\\\n\",\n       \"xNmkDI4oqEUQhjw4BP1u74cTa04g6VASinKKoNFq4BHugajro9B6eGu4uvP0R/XH3d0dS5Yswcsv\\\\\\n\",\n       \"v4w9e/aorn9du3ZVObDqSgJVDFYREZHTsUYSdiZxd3q8gidyIr5R0eh2/yMV5mccOgBXD+ZHsUSe\\\\\\n\",\n       \"To9jeQXo4OOFOZO6Ytby/Sg0yanUUFqF+WJH8g4Gr2pBV6xDQUYB2l/RHp2u6mT9jUNkobZt26rJ\\\\\\n\",\n       \"2oqLi5GSkqJadZlq3pwPKYiIyEGxCyFZgEnciRqB4E5d4BUWbutiOIyXTybiSF4hgnzcVRDL061h\\\\\\n\",\n       \"D5UdIv3Qv1UwTmSeaNDPdRZ56XlIPZYKg56JEMi5HD9+HEOHDlUtuqQ1l4x0KFPLli0rHfWQiIiI\\\\\\n\",\n       \"yJmwBRZRI1GYngatuwfc/Zjz52KkTcNLJxPwZvtoRHq7q2DS+mNpDbKdOjX1x62DWuKHUwtwJONI\\\\\\n\",\n       \"g3yms8lLy4NngCe7CZLTufXWW1VOrV9++QVNmjRRXciJiIicAltgkQUYwCJqJNIP7IVXaDiCO3e1\\\\\\n\",\n       \"dVEc5hx6Ir8QTTzcMLxdGP4+nob6btAjt6LTB7fEslMLsS9tX/1+mJPS6/TIz8hHcMtgWxeFyOok\\\\\\n\",\n       \"n9bOnTvRoUMH1i4RETkXBrDIAuxCSNRIeIVHID85ydbFcChfxKfhfIkOrcN8cUPf6Hr/vMgAT7i5\\\\\\n\",\n       \"aHE883i9f5azKjhfAIPOAJ9QH1sXhRqp0tJSvPjiizh37pzVl92pUyekpTVMa1AiIiIie8MAFlEj\\\\\\n\",\n       \"4R0eCV1RIYqzs2xdFIdRqDdgRcp59XObsPoNiDQJ8MSDY0Kw5txPyCvJq9fPcmYu7i4IaBYAdx93\\\\\\n\",\n       \"WxeFGinp4vfGG2+oQJa1vfbaa3jiiSfw119/IT09HdnZ2eUmIiIihx+FsK4TOTV2ISRqJDyCgqF1\\\\\\n\",\n       \"c1OtsNz9A2xdHIexPSsPk5uEoE24n2qFtWR7nNU/IyrQCw9cFoKN8RuxNm6t1ZffmHj6e6qJyJZG\\\\\\n\",\n       \"jhyJ9evXq+Tq1jR69Gj176hRo8rNNxgMKh+WTqez6ucRERE1FI3hwlTXZZBzYwDLTu3duxc///wz\\\\\\n\",\n       \"goODcf311yM0NLTsb/KUdcaMGViwYIFNy0iORaPVwq95S7h4eNi6KA7lfKkOr59OxDNtmmJQmxCr\\\\\\n\",\n       \"B7CaBXnhvhExWH/uR6w/t96qy25sivOLUZxbrLoParR8Ake2c8UVV2DmzJnYv38/evfuDR+f8i04\\\\\\n\",\n       \"r7766lotd926dVYqIREREZHjYQDLDq1evRpXXXUV2rZti5ycHMyePRvfffcdLrnkEvX3goICfPnl\\\\\\n\",\n       \"lwxgUY0FtmPi39qILyqBzmCAv6cbhsSEYOOJdKvtfZd2isCe82sZvLKCnKQcZMVnoVVYK2ssjhqx\\\\\\n\",\n       \"OXPmYNmyZThy5Ai8vLwwaNAg1X2vffv2Fr3/vvvuU/++/fbbFf5Wl5ZSw4cPh72sIxERkVUxiTtZ\\\\\\n\",\n       \"gDmw7NDzzz+Pxx9/HAcOHMCZM2dUvgt5Wrty5UpbF42cQHFODoqyMm1dDIeSrVphJalu9bcPaY3h\\\\\\n\",\n       \"7f5tEVkX/p6uiA72RnxuvFWW19jlpebBJ8RHBQiI6kK6/91///3YunUr/vjjD5SUlOCyyy5DXp5l\\\\\\n\",\n       \"+en0en2VU02DV/v27VPvM/5c3dSQ60hERETU0NgCyw4dPHgQX3/9tfpZbsQkgNWsWTNce+21WLx4\\\\\\n\",\n       \"Mfr27WvrIpIDO3/kgPo3ou9AWxfFoRzILcCrJxPwVJummDaoFY6n5CIhs7DWywvwcsMDI2NwpmAb\\\\\\n\",\n       \"dqfstmpZG6OSghIU5xUjuFWwrYtCTsD8gdHChQsRHh6OnTt3YtiwYTVaVmFhITw9a5+XrUePHkhK\\\\\\n\",\n       \"SlKfLz/LdYHkvKpryy5rriMRERFRQ2AAyw55eHggM7N8C5mbbroJWq0WN9xwA9566y2blY0cn1d4\\\\\\n\",\n       \"JDKPHIK+pEQldSfLHcorxLnCYkR7uqNVqE+tA1huLho8ODIGZwu34YfjP8Cg2kxTXeSl5ak2xV7B\\\\\\n\",\n       \"XqxIsrqsrAujt0peSktIIOnVV1/Fxx9/jOTkZBw7dgytW7fGs88+qxK733777RZ/9unTpxEWFlb2\\\\\\n\",\n       \"s72sIxERkTVJ+/k6J3G3VmHIbrELoR2SJ6yVJWq98cYb8dlnn+Ghhx6ySbnIOXiHR8Cg16MgLdXW\\\\\\n\",\n       \"RXFIq9Oy1MnxtsGt0LyWwRJpfRXs487glRW5eroiKDoILq4usIWEvQnY+93eGr1HXi/vo4YlA6GY\\\\\\n\",\n       \"TkVFRdW+XrrvycApgwcPRpcuXSz6jFdeeUW1aHr99dfh7u5eNl/eL+fxmmjRokVZt1j5ubqptixZ\\\\\\n\",\n       \"R6kn87ojIiIiakgMYNmhe++9F/HxlefEmTx5srooZvN+qi1XL2+4+/ujICWJlVgLazNysDkzF1qt\\\\\\n\",\n       \"BkPbXWgVURPuLlrc0DcaJ1Nz2fLKinzDfBHSJgS2IEGo35/5HVs/3Yrdiy3rDiqvk9fL+xjEaljR\\\\\\n\",\n       \"0dEICAgomySZeXUkT5TkpJQu/Jb66quv8Omnn2LKlClwcfk3qNq9e3eVNN3eWLKOUk+m9Sb1SERE\\\\\\n\",\n       \"ZDWSbNYaEzk1diG0QxMnTlSTtMIyjjxo3p1QRickqi2fqGjoCmufv6mxO5pbiEGBvhjSJgS/7ktE\\\\\\n\",\n       \"Zn6JRe9zd9Xi7mGtofU+g4UHFtZ7ORuLopwi6HV6eAXapvtg6rFUlBaWqp//+fwf9W/PG3tWG7wy\\\\\\n\",\n       \"vk7eJ+9v2r1pA5WW4uLi4O/vX67bflUeeOAB/PLLL9iwYYPKRWkpeQgVExNTaUsnSZZuTyxdx1mz\\\\\\n\",\n       \"ZuHRRx8t+11aYDGIRUREVsNRCMkCbIFlxy6//HL85z//KXexm5aWhquuugozZ860adnIsfm3bI2g\\\\\\n\",\n       \"Dp1sXQyH9UdGNjaez4WXuyvmTOyKYO+L5xLzcNXinuFtoPE6jS8OfIFifXGDlLUxOH/2PNKOp9ns\\\\\\n\",\n       \"87tf1x39bu9X9rsEp6pqiWUavBLyPnk/NRwJXplOlQWwJEm6BHaWL1+OtWvXolWrVjX6jE6dOuHv\\\\\\n\",\n       \"v/+uMP/7779Hz55VBzcbUk3XUerJvO6IiIiIGhJbYNkxaYE1depUNbz1t99+q5K3SuLXdu3aYc+e\\\\\\n\",\n       \"PbYuHjk4XVERSvPz4BHEhL218X9xKaoL4NAgPzx7ZSc8srT6/Ec39W8OvccJfHnwS5TqL7TWoboz\\\\\\n\",\n       \"6A3Iz8hHYHSgTavT2OLKGJyqrCVWZcGr6lpqkW271Ml5d8WKFfDz81OjAArpOufldfGWfrNnz8a0\\\\\\n\",\n       \"adNUSyxpdbVs2TIcPXpUdS2U1k7OsI5ERERWxRZYZAG2wLJjgwYNUoEqSajaq1cv1a3wkUcewfr1\\\\\\n\",\n       \"6+uUrJVIZB4/irR9luXrocotjE+DHoCfl5vKbVUVyb8cFeiFzQmbGbyysoLMAuhL9fAJ87H5birB\\\\\\n\",\n       \"qKpaYjF45Vg++ugjNSrfiBEj0KRJk7JpyZIlFr1//Pjx+Pnnn/Hnn3/Cx8dHBbQOHz6s5l166aV1\\\\\\n\",\n       \"KpuMUiyJ4KVLX0ZGhpq3a9euKnNn1tc6EhERWZOMQGiNiZwbW2DZORl6e8eOHSovRUJCgnqCm5+f\\\\\\n\",\n       \"ry6I69OHH36IN954Qz2RlaSz77//Pvr1+/fGjByfd0QkcuPOojgnB+5+frYujkMq0BtwMr8Qbb09\\\\\\n\",\n       \"8dL4znhq+QHoDIYKwavJ/Zqrh0pns8/arKzOKi8tT41A6OFbdR4jW7fE2rNkD4pz/+0yypZX9k+6\\\\\\n\",\n       \"19XV0KFDVQtqa9q3bx9Gjx6tWkmdOXMGd955J4KDg1ULr9jYWNXCqyHXkYiIiKghsQWWHZs7dy4G\\\\\\n\",\n       \"DhyontbK6ED//PMPdu/ejW7dumHLli319rny9FUStT733HPqqa4EsMaMGYOUlJR6+0xqeJ4hodC4\\\\\\n\",\n       \"uKAgOZHVXwcvnkhAvl6PMH9PRAZ4lvubVgPc3L8FWoZ4Y/7RF5Ffms+6tjI3LzcERAXYVb2at8Ri\\\\\\n\",\n       \"8IqsRc7Nt956K44fPw5Pz3+PN2PHjlVJ2ImIiBy+C2FdJ3JqDGDZsXfffRc//vijav0kF6rSlVCC\\\\\\n\",\n       \"WJMmTVJN/uvL22+/rZ7qTp8+XSWi/fjjj+Ht7Y0FCxbU22dSw9NotfAKC0d+SjKrvw50MgpdUakK\\\\\\n\",\n       \"Vt3YLxrGwXtdNBrcMrAloiMzVfAqp5gjh9YHyX0V1CII9kaCWO6+7uXmye/MeeW8goKCVGsoS6ba\\\\\\n\",\n       \"2r59O+6+++4K86OiospyWBERETkkBrDIAuxCaMf279+P0NDQcvPc3NxU174rr7yyXj6zuLgYO3fu\\\\\\n\",\n       \"VLk1jLRareqyUFWrr6KiIjWZDq1NjsE7sinyEuNVVxKN9HWjGvHQatA3wAcbM3PQ1DMYXaIC8Pb1\\\\\\n\",\n       \"3VFQooebiwYZpWfw6f75yCvJY83Wg4KsAri4usDdp3ygyB5IzivTlldCfpf5DGI5p3nz5pX9nJ6e\\\\\\n\",\n       \"jpdfflm1XpaW1ELOoatWrcKzzz5b68+QkQArO8dKuoGwsLBaL5eIiIjIETCAZcfMg1emhg8fXi+f\\\\\\n\",\n       \"mZaWBp1Oh4iIiHLz5fcjR45U+p45c+bghRdeqJfyUP3yadJUTVQzvi5ahLu7YVJEEJrmZyM/Pxex\\\\\\n\",\n       \"pzIRGBioWmEE/G8Ar+J8X2g1bOhaX9KOpakuhJFdImFPzBO2S8srYzCrstEJyTnIqING11xzDV58\\\\\\n\",\n       \"8UU88MADZfMeeughfPDBByqxuwzIUhtXX321Wu7SpUvV7/LgQXJfPfnkk+oziYiIHJU1krAzibvz\\\\\\n\",\n       \"450V1Zm01pKRjIxTXFwca9WB6HU6FGWet3UxHOJgKVNTDze8HhWIx0K94Z+SgHXr1qmWFVu3bsXK\\\\\\n\",\n       \"lStVMmWZJB9NuEc4ZvSaATetm62L73RKCktQlFNkF6MPmqpstMHpy6dXOTohOSdpaXX55ZdXmC/z\\\\\\n\",\n       \"JIBVW2+99RZyc3MRHh6OgoIC9TArJiYGfn5+eOWVV+pYaiIiIhsyaKwzkVNjCyyq0OrLxcUFycnl\\\\\\n\",\n       \"8yLJ75GRkVV2aZCJHFNu7BlkHjuCZqPGQOvKQ0JlxocHYkzov4nCT+3bi8OHD1f6WmN3WhnSXhIt\\\\\\n\",\n       \"t2zbEkEeQUgp4CAI1pSfng9JOOYd7A17Dl4ZW1pVNjqh6XxyLiEhIVixYgUee+yxcvNlnvyttmT0\\\\\\n\",\n       \"QRnZcNOmTdi7d68KZvXq1Ut18yciIiJydrxbpXLc3d3Ru3dvrFmzBhMmTFDz9Hq9+t20KwQ5D6/w\\\\\\n\",\n       \"CJw/cgiF6anwjmhi6+LYDXeNBjc3DUEzT3d4arXYtGolCgsL1fdBcsVZQlpIFOuLMa3zNJzMPIkf\\\\\\n\",\n       \"T/4IvUFf72VvDPLS8uAV6AUXNxfYe/DKiEGsxkO61d9xxx3466+/0L9/fzVv27ZtqpXm/Pnza73c\\\\\\n\",\n       \"r776CjfccAMGDx6sJiM5Ji1evBhTp061SvmJiIganDVGEeQohE6PASyqdJhuyeXRp08f9OvXTyWm\\\\\\n\",\n       \"zcvLU6MSkvNx8/FVU0FKcqMPYLXz9lRJ2UW0pzuCMtNwbM8xnD9/vtxABZaSUcE6xrRB3q6T6NGq\\\\\\n\",\n       \"DcK73oXEvESsjV2LnBKOSlin/dbTDR7+9tHyc+93ey8avKouiKV10aL7dd0bqLTUEG699VZ07NgR\\\\\\n\",\n       \"7733nupSLOT3jRs3lgW0akPOw9INUboQmsrJyVF/YwCLiIgcFXNgkSUYwKIK5OluamoqZs+erW7A\\\\\\n\",\n       \"e/TooZ4amyd2J+dqhZUbH4fgRjoaYVdfL0R6uGFsWCBSjh5GSUkJinQ6bDp5Ug1qUFuZmZnYvmcv\\\\\\n\",\n       \"+vQbhPULPkJUx87oFNkUMd3uwsaEjTiTdQbJ+eW765Jlwtrbz4hrYe3C4OrpitLC0mqDV5UFseR9\\\\\\n\",\n       \"8n5yPhKoWrRokVWXWdWIsefOnVPdC4mIiIicGQNYVCnpLsgug42Hd0SkSuSuLy6GSyPIZ+ap1ahR\\\\\\n\",\n       \"BEVPf29c7uWCjIwMHNy4D4mJiVb9rISEBGi1WhUIO7ljmwwbhvYDhmB0eB8Etr8KC2P/i8yiTNW1\\\\\\n\",\n       \"MCkvCQa2fb6ogswCuHu7w8XdProPNu3eFFe8fAVSj6Va3JJKgljS8kqCV/J+cj7ynf/xxx/L8uV1\\\\\\n\",\n       \"7txZjSIoeSZrqmfPnipwJdOoUaPgapKvUD7n9OnTlSaNJyIichjsQkgWYACLiOARFIzIAf/mU3Fm\\\\\\n\",\n       \"Qa4umNEyEhGlRWX5rNav36i64DQIgwFHt/ytfozu1BW3DLgWGo0WLm5u2J67F0uPLmUQq9rqMyBx\\\\\\n\",\n       \"fyICogIQ0rr2ybCtTYJQNQ1Esdug8zpx4gTGjRunWka1b99ezZszZw6io6Px66+/ok2bNjVanjEn\\\\\\n\",\n       \"5Z49ezBmzBj4+vqWy13ZsmVLXHPNNVZeCyIiogZkuNCNsK7LIOfGABYRlQUGSnKy4e4f4LT5re6K\\\\\\n\",\n       \"DoO3ixYbz+fgn9W/2rpIiDu0X03Cw9sH7aZOwJyhc3Au5xwWHFiA/NJ8WxfR7hRmFUJfoodP6IVc\\\\\\n\",\n       \"ZUT26KGHHkLr1q2xZcsWBAcHq3np6em4+eab1d8kiFUTzz33nPpXAlXSzd/T07Neyk1ERERkzxjA\\\\\\n\",\n       \"IiJFkrin7tqOpsMuUUndHZ100rkuMhjNvdzV70083HFi+zaV101GE7Q3Rfl5OPDpYnj6+KDD4OGY\\\\\\n\",\n       \"0XsGsouyVWusTfGbsCd1j62LaDejD0rXQQ8/5+/qSo5r/fr12Lp1a1nwSoSEhGDu3LnlRg+sKRlg\\\\\\n\",\n       \"hYiIyCmxCyFZgAEsIlI8Q0Kh0WpVIMutleMGsPxctLgsNECNIujjokXqjm2qdVl8fr5Kqm7PDHod\\\\\\n\",\n       \"CnKysWfVrwg70hJaFxe4eXrh5iHXoV1QOzWC4cb4jY26i6EEsKT1VWMcbIAch4eHR6XdknNzc1WX\\\\\\n\",\n       \"v9qSfFfvvPMOli5ditjYWNUF2pTk8iMiInJIDGCRBRjAIiJF6+oKz9Aw5Kckw79VzfKz2Fpbbw+E\\\\\\n\",\n       \"urtBQhqjQ/zhmZqEjPgMHDp5ssINniMwGPRIOXOq7PectFREtI5B97bDEOUbhROZJ9T8k5kncb7o\\\\\\n\",\n       \"PBoLvU4PN283+ISx+yDZtyuvvBJ33XUXPv/8c/Tr10/N27ZtG+655x6VyL22XnjhBXz22Wd47LHH\\\\\\n\",\n       \"8Mwzz+Dpp5/GmTNnVLJ4GTmYiIiIyJkxgEVEZbzCI5BxcD90xUVwcbffLlquGpSNItjBxxM3BHiW\\\\\\n\",\n       \"tTzIPJGIXQcPqlZXziIzOVFNZ/ftRqdhI9HGvT9cXN3g0/5KfHr2a+SV5KHUUIq0gjQ4Mxm1r2k3\\\\\\n\",\n       \"jthH9u+9995T3f0GDhwIN7cLx6rS0lIVvHr33XdrvdxFixZh/vz5KkH8888/j8mTJ6uE8N26dVNd\\\\\\n\",\n       \"FiW/FhERkSPSWCGJe52TwJPdYwCLiMp4hUXA1fskSgsK7DaA5a3V4qEWEWit0alRBOWmcNOmTSpB\\\\\\n\",\n       \"srMrzMvFrt9/Kvs9ps8A3N3zVkhvOq2rG9akbcBvp3+DsyrILFC5rySQRWTPAgMDsWLFCjUa4eHD\\\\\\n\",\n       \"h9W8jh07IiYmpk7LlRx+Xbt2VT/LSIRZWVllLb6effZZK5SciIiIyH4xgEVE/x4QPD0RNWykXdZI\\\\\\n\",\n       \"Mw833Nc8Av6uLtifm4+ffv/ZqVpZ1caJHVvVJLwDAtH95kkYEjVEdS386tBXKNGXwFmUFpciflc8\\\\\\n\",\n       \"wjuGw7+Jv62LQ2QRCVjVNWhlqlmzZkhMTETz5s1Vy6vVq1ejV69e2L59u8q7RUREROTMGMAiogpK\\\\\\n\",\n       \"8vPg6umlkrrb0pVhgaqLoIj0cEPC/r3Yc+4c8vLybFoue5SflYndn34NTx9fdBlxKR7p/QhyinNU\\\\\\n\",\n       \"kG9t3FocO38Mjiw/PV/96x3ibeuiEF3UNddco3JfPfnkk+Xmv/766yrY9N1339WqFidOnIg1a9ag\\\\\\n\",\n       \"f//+ePDBB3HzzTerPFuS0P2RRx7hliEiIsfFJO5kAQawiKicktwcJPz9F8L79IdXWHiD146HVoPL\\\\\\n\",\n       \"QgLQzNMdTT3dEL/9wiiCqYWFSEtz7hxPdaUrKUFe5nls/3kZwlu2gkajhZe/P24Zegt2puyETq9D\\\\\\n\",\n       \"fmk+/or7CzqDDo42+qBngCdc3XnaIvu3YcMGlaPK3BVXXIG33nqr1sudO3du2c833HADWrRogc2b\\\\\\n\",\n       \"N6Nt27a46qqrar1cIiIiW2MOLLIE7wSIqBw3Xz+4enujICW5wQJYzT3dVQsrMSzID+HZGUg7G4u9\\\\\\n\",\n       \"p06hoKDAobeQBN8kV1dgRCRSz55ukM/U60qRdPJ42e/ZqSmIbt5S/Rwa3QEtOrXAntQ96vf43Hgk\\\\\\n\",\n       \"5yfD3kcfzM/IR3DLYFsXhcgiubm5cHd3rzBfErpnZ2fXKTA2aNAguLpeuHwbMGCAmiQXoPxt2LBh\\\\\\n\",\n       \"3EJERETktBjAIqJKRyPMT0xEcOcLyYLrS6ibK1p7e+CmJiEoSk5U83Ljz+LvPXtU0McZSABr586d\\\\\\n\",\n       \"6HXVNdi8aAFyz18YLbEhpcWdVZNwdfdAl0tGY5z3EGi0Gvg3C8eCM4vUCIZ66JFekA6DasNtP3TF\\\\\\n\",\n       \"Orj7uMMn1MfWRSGyiCRaX7JkCWbPnl1u/uLFi9GpU6da1+Ill1yicmCFh5d/uCDJ3OVvOp1jtawk\\\\\\n\",\n       \"IiIqx74uQckOMYBFRBV4h0ci58xpFGVlwiMgsF5qaGJ4IMb5e6KkpAQ7N25QN2XOKi4uDu3atYN3\\\\\\n\",\n       \"YJBNAlimSouLsGfVr2W/N+vYGdOHTlb5zjRaF+zI2YslR5dAb7CfAKKblxui+0TbuhhEFpMRASdN\\\\\\n\",\n       \"moSTJ09i5MgLA2NI7qr//ve/tc5/ZQyIa2TYUTMyCquPDwO8RETkwJgDiyzAABYRVeARFKy6EZYW\\\\\\n\",\n       \"5FstgBXi5or7mocj2M0VcvuVr9Nj9arfmJDdxs4dPqgm4e7ljbZTx+PFQS+qAFZBaYEazVC6GdqK\\\\\\n\",\n       \"3LAX5RTBw8+j0ht3Insk+ah+/PFHvPrqq/j+++/h5eWFbt264c8//8Tw4cNrvDwJhgn5Dtx6663l\\\\\\n\",\n       \"RhyUVlf79u1TXQuJiIiInBkDWERUgbTGiRo+yio109HHE5eFBqCphxuyThzD1pMn1fzCwkKVt4Xs\\\\\\n\",\n       \"R3FBPg5/thRe/gHq94hWbXDnkDuRkJegfj+bdRarz65u0C6GErw6t+MconpFwSvQq8E+l6iuxo0b\\\\\\n\",\n       \"pyZrCAgIKAvo+vn5qYCYkeTakjxYd955p1U+i4iIyBaYxJ0swQAWEVVJV1IMDTTQul1IsG4JFwCj\\\\\\n\",\n       \"Q/3h4+ICV40GgwJ9cXbvbhzLzkZSUhJr287pdTrk/a+b46nzGchKToKHr69q+TGs70BEdopEakGq\\\\\\n\",\n       \"CmJtT9qucmfV9+iDWjetGoGQyNEUFxcjJSWlQk6/5s2b12g5X3zxhfq3ZcuWePzxx9ldkIiInA+7\\\\\\n\",\n       \"EJIFGMAioioDGfFr/0BQh87wa3FhBLvq+Lpo0d7HE/0DfBFTlIu01AvBqn37kpCcbN+j3FHV0uPj\\\\\\n\",\n       \"/v05LhYte/RGoEsAPLx90Ltbb/x+5neU6ktVd8Nj549ZvSrzUvPgE+LD7oPkUI4fP47bbrsNmzdv\\\\\\n\",\n       \"rjSHVW2TrT/xxBNqGUZnz57F8uXLVWL4yy67rM7lJiIiIrJnDGARUaW0Li7wCA5GfkpilQGsAFcX\\\\\\n\",\n       \"uGk08HLR4o5mYfDPyUROehI27NqlkrOTcynMy8WRTevLfm/Vsw/GtRmqfvYNDMb6wG3YmrhV/Z5d\\\\\\n\",\n       \"nI0Sfd32gZKCEhTnFSO4VXAdS07UsCRPlaurK3755Rc0adLEagHY8ePHq3xY99xzDzIzM9GvXz/V\\\\\\n\",\n       \"hTAtLQ1vv/027r33Xqt8DhERUWPpQvjhhx/ijTfeUD1Funfvjvfff1+dXy9GRhaePHmyOjdL3ktq\\\\\\n\",\n       \"GAxgEVGVvMIjkXnkEPQlJRW6EY4M9sNNwT5lrQFOnzqOP/fuZW02Iqd371CT8A4IxMCrr8HIrhcC\\\\\\n\",\n       \"WkX5eXjz5IfIKKz9qIulhaVw83GDd4i31cpM1BD27NmDnTt3okOHDlZd7q5du/DOO++onyU5fGRk\\\\\\n\",\n       \"JHbv3o0ffvgBs2fPZgCLiIgclw26EC5ZsgSPPvooPv74Y/Tv3x/z5s3DmDFjcPToUYSHh1f5vjNn\\\\\\n\",\n       \"zqgu/UOHXrjupYbDABYRVck7PALnDx1AQVoqfJo0VfmtpjQNQTe/CwGFdX+uVq0AiPKzMrH+68/L\\\\\\n\",\n       \"KqLjkBF4rM9jqhWW5MtaH7cef537q0YV5RXkhRb9W7ByyeFIlz5pFWVt+fn5Kom7WL16tWqNpdVq\\\\\\n\",\n       \"VRJ36U5IRERElpPWyzIIyvTp09XvEsj69ddfsWDBAsycObPS90gagClTpuCFF17A33//zXuhBsYA\\\\\\n\",\n       \"FhFVfYDw8oZ7QAA8igpwe7NQRLpfaIW1+8/V6kZKEhQTVebwxr8Qe2Cv6orq7uWNoRMvR8eQjijR\\\\\\n\",\n       \"laBQV4gVJ1cgpzinysrT6/TQFevg5mX5AAJE9uK1115T+apeffVVdO3aFW5mLVj9/f1rtdyYmBjV\\\\\\n\",\n       \"TWHixIlYtWoVHnnkETVfEsXXdplERESNsQWW3MdIa+lZs2aVzZOHQqNHj8aWLVuqfN+LL76oWmfd\\\\\\n\",\n       \"fvvtKoBFDYsBLCKqVHc/L7T08oBh/FXo6e8Dl8Rzqm94QkIC81uRRfIyz5f9XPDlEgRHRaufmzZv\\\\\\n\",\n       \"iXu63YP9afvV7+dyzuFA+oHy703LQ/LBZLQc0hKu7jxVkWORi18xatQoqyZxl26CN910kwpcybIH\\\\\\n\",\n       \"DhxY1hqrZ8+eVig5ERGR4+fAys7OLjffw8NDTaakpbScjyMiIsrNl9+PHDlS6fI3btyIzz//XKUK\\\\\\n\",\n       \"INvgXQERlZE0w518vdDc0x2Xhvoj48RxdcOVGZur+oK7uEgnQqKay8/OUpM4d/ggWvfqgw5+IZDc\\\\\\n\",\n       \"1qPaDcZqnyZIzEtU3Q1PZp5EUmoSPPw8GLwirOuVCncf9zrXhAwI0FDWrVtXL8u99tprMWTIECQm\\\\\\n\",\n       \"JqpEs0YSzJJWWVQzqxJ4A0JE5Iyioy88NDV67rnn8Pzzz9dpmTk5Objlllswf/58hIaG1rGEVFsM\\\\\\n\",\n       \"YBE1ch5aDby1WhVIuCosEP1dDcjNzcXuNf8gI+NCAm55yhAYGIiWLSsfjZCoZgw4tWt72W9xhw9g\\\\\\n\",\n       \"4JAR0Pp3hauHJ1KiczF702yERIfA29Ub+aX5rGByKMOHD6+3ZUvidplMWTJaEhERUWPpQhgXF1eu\\\\\\n\",\n       \"a7156yshQSh5OJ+cnFxuvvxufp4VJ0+eVMnbr7rqqrJ5er1e/SsjD8vD/jZt2tRxBehiGMAiasSa\\\\\\n\",\n       \"ebjhoRaRCDGUqt+zsrKwZv0mFBYWlnudnAAkmMUAFtWHrOQkbPlhsfpZo9WiaY++uKrpWFw2cjQC\\\\\\n\",\n       \"AgKw6MxS7EzZyconhyJ5MT755BOcOnUK3333HaKiovD111+jVatWqhUVERER1U8AS+5dLpYb0t3d\\\\\\n\",\n       \"Hb1798aaNWswYcKEsoCU/P7AAw9UeL2MLLx//4X0F0bPPPOMapn17rvvVmj1RfWDASyiRqhfgA8m\\\\\\n\",\n       \"RgTBx0WLn1My4f7XqmpfHxwcrJ5GSOJ2b+8LIxAS1QeDXo9df65EfGoafJPPIqRZc4y/ZjzGth6r\\\\\\n\",\n       \"/p6Qm4BvDn+DIl0RNwDZrR9++EF1M5BRinbt2oWioqKyhwSS2P23336zdRGJiIgavUcffRTTpk1D\\\\\\n\",\n       \"nz59VGvmefPmIS8vr2xUwqlTp6oHUHPmzIGnpye6dOlSrs6kh4own0/1hwEsokaU32psWABae3mg\\\\\\n\",\n       \"tbcnjmzZpIZ9dc/Nveh75QmGjMohrbAYwKL6FhEcpCaRfi4W/8xfCA8fH7UXtx84BA/1fAhpBWkq\\\\\\n\",\n       \"X9a2xG04nHGYG4Xsyssvv6yG4pYL38WLL7QuFIMHD1Z/IyIiovpL4m6pG264AampqWqQFBmsqkeP\\\\\\n\",\n       \"Hli5cmVZYvfY2Fh1D0T2gwEsIicW5u6qWltpoEFTDzdEebojdc9ObM/IUC0BLCUHbnnCYN61kMja\\\\\\n\",\n       \"Skp1Kh+bq8mAAUX5eWoSO3/9EU3adoCLqwvcPLxw05CbsC1pm2qRVawrxqaETSjVX+gSS2Qrkgdj\\\\\\n\",\n       \"2LBhFeZLl1h5cEBERET114WwJqS7YGVdBsVff/1V7XsXLlxY8w+kOmEAi8gJSbCqiYcbrosMRmnC\\\\\\n\",\n       \"OdV9RYaJ3X/sGAoKCmq1zLZt2/IJRB1In3q/kFCknD5Zl8U4vcS0dCSkpf9/e/cBXnV5/n/8k70T\\\\\\n\",\n       \"EgIJgbBF9hYEEbWioF6tu1RFUVv607ooaivVCq1t0V+tddbVov5U/lK1WOtAGQIiIBD2CMhKAmSQ\\\\\\n\",\n       \"BJKQhKyT//U8mDSBAIFzwlnv13V94cxvvuc5yRn3c9/3o+F9eirARLKO4aip0b70zfXnD+Vmq0eP\\\\\\n\",\n       \"nvZ0XNtk9ejTQ0v3LVVWSZYOV506uxBoCab5644dO47rG2iW3+7atSuDDgAAcAYIYAE+JDooUL2i\\\\\\n\",\n       \"I3RLu9ZyFOYra+N6bd++3SX7rkufra6utitt4PRs2LBBF1wwSqUHC5Wz8zuG7wQKi4vVKiaqyeBV\\\\\\n\",\n       \"U0yJodmMoJAQ9f/BWN2ceLWC2oXohT1/t0GsGkcNKxnirJo0aZIeeOABzZw50/4u79+/X8uXL9dD\\\\\\n\",\n       \"Dz2k3/72tzwbAAB4QAkhvA/fQgEfcV1SvK6KDbeZVt9+vdjWcbuaCYaZTCKzCgdOT0FBga2jN1lC\\\\\\n\",\n       \"BLCaVlFZpcPlR9S+TeIZ/XrVVFVp7Ref2NM9L7hIvxr0y/rr/rN/rhZmLeTXFmfFI488Yl8rL730\\\\\\n\",\n       \"Urv4hSknNEt4mwDWfffdx7MAAICHlBDCuxDAArxUYkiwfp7aRjHBQTK5UdW1tfrii8/tyhktJTo6\\\\\\n\",\n       \"WllZWTZIFtSgRxHgquwro1VMjNP7Sv9msdKXLbGnYxJa64Kbr9OIlBG28fuhI4f09ta3VVJZ4vTP\\\\\\n\",\n       \"AZpisq4effRRPfzww7aU8PDhw+rdu7d9DQUAAMCZIYAFeJleUeEanRCjLhFhKvpum7bs3WsvLykp\\\\\\n\",\n       \"UVVVVYv+7Pj4eGVkZNgG8AkJCS36s+B/Kqqq1SomWiHBLgqO1h6dhispyNeav7+jyLg4e75jnwG6\\\\\\n\",\n       \"d+C92n94vz2/qWCT0nLTXPMzgQZCQ0Nt4AoAAJwCGVhoBgJYgJc4Ly7KNme/JCFWezdt0K7iYu3b\\\\\\n\",\n       \"t++sHkNERITdCgsLCWDB5Tq3S1Lt90EnV6ssL7ObcSgnRylZPRUSFqag4BD95Lxr1CG6g/LK8uyK\\\\\\n\",\n       \"ho5aR4scAwAAAJpmup82rwPqiTl7f3g+AliAh4oKClSn8FB72jRmNwGssj27tGHTGuXm5rrtuEwW\\\\\\n\",\n       \"lsnAAlypyiwOEBTU7ObtzqnV/u1b68/l781U9/6DdF5KH3WJ66LVuavt5Sagdaji0Fk4HgAAAACn\\\\\\n\",\n       \"QgAL8DChAQFKCAnWLzq2VauyEttvqrq6TKu/WGL7qLhbamqqOnXq5O7DgI/ZvT9HRyor1b9717P+\\\\\\n\",\n       \"s4sP5GrDgrkKjYjQgMuuVM/Ea20gLTwqSi/t/IcNZJneWeXV5Wf92AAAAPwCJYRoBgJYgAfpGRWu\\\\\\n\",\n       \"KUmxtkH6zp3f6Yv16+VpAgNNy3jZFbbqTgPOMGWDhcUlSm7t3r5qleXlWvXxh/XnOw8YovtH3V2f\\\\\\n\",\n       \"FbakYLk+2vGRDWYBAADAdQJqj27O7gO+jQAW4AHGtI7VRQkxig0K0tpvl2vv3r02QOSpzEqEBQUF\\\\\\n\",\n       \"GjhwoLsPBT6guLRM1TU1ah3n/OqDrrRnfZoyNq6rz8bqccvVmjp8qnIO52hW+iwdqTni7kMEAAAA\\\\\\n\",\n       \"/AYBLMAN4oKDdHXbVgoNDFR4YIA6hodp+7Kv7UqCnlAmeCpRUVE2yFZeXm6bugPOKCguVkhwsKI9\\\\\\n\",\n       \"8Hep1lFj863Kiou06R+zFZOYqG6Dh+megfcopzTH3mZN3hptLfxvTy0AAACc7oeu7zdnkIHl8whg\\\\\\n\",\n       \"AWdRh/BQ9YoK18j4aAXt32uzmIzV2dkqLS31muciLi7Olg8ePHiQABacdqSiUgmxMWepgfuZq66s\\\\\\n\",\n       \"0MH9+5SW82916NVXUSEhCg4J1U0jb9Ly/ctVVl2mKkeVVuWssv8DAADgNBCAwikQwALOUuCqXViI\\\\\\n\",\n       \"bmqXoNKsTB3amqH09HSvHXvTo8sEsUwAKyUlxd2HAy/Xu0snORze84ml1uFQ1uYN9ecLs/epb+9+\\\\\\n\",\n       \"9nRMQmv17dtXCzMXKrs0W6VV3hOYBgAAADwZASygBZg8ElMaaIxsFaPxrcJtud22ld8qIyPDJ8Y8\\\\\\n\",\n       \"Pj7ePhaaucMZVdU1CgkOUuD3fy/eqGBvpt2MoOAQDbjsCt2Z8hMFBAbquV2v6VDFITlqHap0VLr7\\\\\\n\",\n       \"UAEAADwSTdzRHASwABeLDgrU/Z2S1C3o6PnKykotWbLEZiv5kjZt2tiNlQjhjC279ygqIlzdO7T3\\\\\\n\",\n       \"iYGsqa7Sms8/tqfPHTlavx48pf66T7O/1PzM+W48OgAAAA9FDyw0AwEswEU6R4Tq5natFR8SrPTD\\\\\\n\",\n       \"5dqyYK5qa2tVU1Nj//c1dYErMrBwpiqrqlVSVq7k1gk+OYjbli3RjlXLbW+vyNhWOv8nV2tw0mBl\\\\\\n\",\n       \"FWfp/e3vq7q22t2HCAAAAHgNAljAGTIFT+MS42xvK6N3dIT2b1yvjfn5Kiws9Mmg1bHy8/O1e/du\\\\\\n\",\n       \"DRkyhEwsnLaDJSX2//iYGJ8dvZqqo83ci/PztG7mLEUntNa554/S3QPvVn5ZvmpVqxXZK7SneI+7\\\\\\n\",\n       \"DxUAAMBtKCFEcxDAAk5TRGCAhreKVvfIcKWGh+rQ982ctxYXKycnx6/GMzIyUtXV1SouLlarVq3c\\\\\\n\",\n       \"fTjwMgVFxYqJjFBoiH+8FVWUldrt239/oNTefRUbFKTQiEjdOfROLcpapJzSHG0p3OLuwwQAADj7\\\\\\n\",\n       \"KCFEM/jHtwbABeKCg5QUGqLrkuKVWHJQxXkF2rB5s44cOeK342sCWGFhYTbjjAAWTofJUCyrqFBS\\\\\\n\",\n       \"fLzfDVxNVaX2rF9Tf/5QbraGdj9XiR0v0bzoJdpxaIe93KxieKTGf19fAAAAgIYIYAEnERJwdGU0\\\\\\n\",\n       \"UyZ4X6ckRZSW6MD+TC1KS/OLEsHmSEhIsKWEXbt2dfehwIuYvlBDzj1HDv6OlLNju91iEtvowsuu\\\\\\n\",\n       \"1CUdhiswKEh5oSWauWmmiiuL7SqGAAAAvooSQjQHASzgBG5IitcVseH15zdtWKft27czXseIj49X\\\\\\n\",\n       \"dna2ysvLFRERwfigWWocDgUFBiro+yAxpJL8A/r6/711dCgCAtT/0rGaNvA3qq6s0Is7/66M4gyG\\\\\\n\",\n       \"CQAA+CZKCNEMBLCABsIDA3RbSqLah4fKrLE3f/6XtkTQZFtVfd+MGY3FxsZq6NChCgk52sweOBXz\\\\\\n\",\n       \"95SWvl3t2yTaDU0OkjbMn6utXy9SSo+e+tkPfqaDFQftVTsP7dTHOz+2DeABAAAAf0EAC5CUFBqs\\\\\\n\",\n       \"yxLj1Ck8VMXVNcpY9rUOHjyoyspKxqcZpWAmeGWCEuY0cCqHy8tVWVWtaDL2Tqmq4ogyNq7Twez9\\\\\\n\",\n       \"Co2MtKt9Dr3gIiX3T7ZN3+dlzFNZdRm/dAAAwLuRgYVmIIAFvzUoJlJxIUE202psYpxK9+xSUVGR\\\\\\n\",\n       \"9uzaJYeDfjOno6SkRNu2bVO/fv1sU3fgZAqKShQcFKTYqEgGqpmK8/PqTx/KzVGHXn3Vp30Hden/\\\\\\n\",\n       \"c63MWWkvzy3N1c6inYwpAADwOvTAQnMQwIJfCQqQOoaHanBslM6Li1L1/r328v3rd2nHjqMrf+H0\\\\\\n\",\n       \"md5X1dXVNmstOTmZIcRJFRYXKyE2hoy9M1RZXqZda1Zq97rVOvf8URod389entj9Kv0r+1PbK2v/\\\\\\n\",\n       \"4f2UGAIAAMCnEMCCXzCFbWGBAfqf1LbqFVCjsrIyrZi7WKWlpe4+NJ8QHBxse2EVFhYSwMJJVVVX\\\\\\n\",\n       \"60hFpTomtWWknFTrcCh92ZL6863bp+qqH1yusOQoLStO00c7Pzp6u1rTLYt+WQAAwINRQohmIICF\\\\\\n\",\n       \"env27NETTzyhhQsXKicnRykpKZowYYIeffRRhYaGeu1IJYYE64FOSUoJcOjAgQP6bNky1dTUuPuw\\\\\\n\",\n       \"fHI1woyMDJuJZQJaQFNCgoM1vG8vBdiwMlypYF+WFr39D4VHx2j4tT/WhcOetJcfKT2sv+56RXll\\\\\\n\",\n       \"/y1DBAAA8CQBpp9urXMTbs7eH56Pb5mol56ebns/vfrqq+revbs2bdqkSZMm2Sylp59+2qtG6rLW\\\\\\n\",\n       \"sbZE0EgICdayQ4e19usFqqiocPeh+XQAywRBi015WEKCuw8HHsrhqFVQoOk8h5Zy5HCJlrz7hkLD\\\\\\n\",\n       \"I+z5jn0H6Bfn/0KFRwq1MHOhNhVsYvABAADgdQhgod64cePsVqdr1662MffLL7/sFQGs4ADpyjat\\\\\\n\",\n       \"1C4sRF0jwrTr2+U2G2hfdbUq8vPdfXg+Lzw8XIMGDbL/A02pqq7R6q3b1LNTquJjYxikFi4vrCg7\\\\\\n\",\n       \"WiL93cplys/KUEzrRI2/dLx65/dWTW2NXb1wfsZ8VTmqeC6asGTJEv35z39WWlqasrOzNWfOHF1z\\\\\\n\",\n       \"zTU+M1a+/vgAAF6GEkI0AwEsnJRZle9U2TQmq6lhZpPJwDlb2ptgVeTRVe8GxkQqKihI1d9t1Zqs\\\\\\n\",\n       \"LB0+fPisHQeOIniFkzlUUqIah0ORBDnPuoPZ++xWUpCvxNRO9rI2HXuqU99OWntgrbYVbtOhikNn\\\\\\n\",\n       \"/8A8mMk+HjBggO68805dd9118jW+/vgAAN6FVQjRHASwcEJmVb4XXnjhlNlXM2bM0O9+97uzOpJt\\\\\\n\",\n       \"Q4PVITxUE1JaqyJ7vy19rMgp1Pr1623WFdyjsrJSW7ZsUZcuXRQXF8fTgEYKiosVHRGusNAQRsbN\\\\\\n\",\n       \"gSxj15pV6nXhxRqbMEKXDrhUs7fNVsGRAgJZ37viiivs5qt8/fEBAADfQwDLDzzyyCN66qmnTnqb\\\\\\n\",\n       \"rVu3qmfPnvXn9+3bZ8sJb7zxRtsH62SmTp2qKVOmNMrASk1NVUsZ0zpW41tF2GDJpm9XKDMzs8V+\\\\\\n\",\n       \"Fk6PafZvAogHDx4kgIXjel8dLD6s9m0SGRkPUVNdpU1fzbOnewy/QD/ve6uCQ0L1991va2vhVncf\\\\\\n\",\n       \"HgAA8CeUEKIZCGD5gQcffFC33377SW9j+l3V2b9/vy655BKNHDlSr7322in3HxYWZreWFCTp9vaJ\\\\\\n\",\n       \"GhIXpdIah76a94Utb4TnMSWnhYWF6ty5s7sPBR7kcHm5LR9sHRfr7kNBE7Z/+43dkrp214QfTVBQ\\\\\\n\",\n       \"oHnVlbYWbNW7W99Vda3vZLYeW+Z+Nt7DfIE72wUAAHwfJYRoDgJYfqBNmzZ2aw6TeWWCV0OGDNEb\\\\\\n\",\n       \"b7yhQDeuFtYlIlTXJyUoKCBAkUGBOuJwaPGnn6jcfBGuqXHbceHUAazc3FyVlZUpMjKS4YIVGxWp\\\\\\n\",\n       \"Yb17KjSEtx1PlrtrhwpeftVmYgUGBan9jZdqytApKigv0IfffegT5YXHZghPmzZN06dPd9vxeAt3\\\\\\n\",\n       \"tAsAAABoiG8SaBS8uvjii9WpUyfb9+rAgQP11yUnJ5+1kRoSG6keUeEaGhul7M0bVVhUpEJJeXl5\\\\\\n\",\n       \"9LfyArGxsTbwacoICWChTm1tLcErL1FdUWE3Y9dbH9um7207d9Nd/e9S+sF0e3lWcZbS8tLkjbKy\\\\\\n\",\n       \"suzrVB2yr5rnbLcLAAD4GUoI0QwEsFBv3rx5tnG72Tp06HDcl8+WEhEYqAExEQoICLDN2UfHxygv\\\\\\n\",\n       \"fYvSNxXackZ4FxO86t+/PysSolH54OZdGerXrYsiwynV8iY1VVU2K8tsHfMGqENMrBQQoJF9rla7\\\\\\n\",\n       \"6HbKKsnSxvyNctQ65C1M8KphAAvNQ6klAKAlUUKI5iCAhXqmT9apemW5UlRQoFqHBNuVBBMPF6mi\\\\\\n\",\n       \"4ogc5Q6tXbPCZu/Ae0VERLj7EOBBCotK7Eqh4aGh7j4UOCFz0/r60/u3bVW/EaM0InGABrQZoHkZ\\\\\\n\",\n       \"82yZYaWj0mfG+PDhw3ZCp87u3bu1bt06WybdsWNHeTtff3wAAMD3EMCCW3QMD9X9nZIUXVGu7H2Z\\\\\\n\",\n       \"WpiW1qJZXji7zHO5ZcsW23utbdu2p33/VatW6T//+Y/tpWVWNTQlrGa591GjRrXI8aJlFRYXKz42\\\\\\n\",\n       \"WoGBAcddN2/VGi1es15ZuUdLlru2b6ebL/+Bzkltz9PiwUoKDmj1J3MUEhauIVderSk97lFu0CG9\\\\\\n\",\n       \"tuE1FVf6RnPv1atX256QderK5yZOnKg333xT3s7XHx8AwMtQQohmIICFs+r8VlEan9xaoYEBmpN7\\\\\\n\",\n       \"UGGLvuAZ8EGmHNQwqxGeSQArOjpaP/rRj9SuXTsFBwfbrIDXX3/dlv2Y8kR4j4rKKh0uP6L2bRKb\\\\\\n\",\n       \"vH7zrj0aNaCvzu2YqtDgYH205Bs98cY7+usDd7NioReoqjiiFXNm27LCuJtGaeqwqbac0Gyf7f5M\\\\\\n\",\n       \"y7OXy1uZnpC+PLHi648PAOCdZYTAyRDAQouKCAzQze1aKz4k2Hy/UbuwEG36erEOHTqksCNHGH0f\\\\\\n\",\n       \"Fh8fb5slmwyqyspKu/x6eHi43eoCXCtXrtScOXNsppXpr2IWEJg8ebJ69erVaF9jx47V119/re3b\\\\\\n\",\n       \"txPA8nA1NQ6VHjmiGodDUeHhOnT4sL18W+Zezfi/95RTUKjQkBB1SUnWr28dr8njr2t0/7uu+6FW\\\\\\n\",\n       \"bN6qjTt36+LBA9z0KHDaamtVNOtrLY9Zb/++I+Naaey1V2pw0mBlFmfq092fMqgAAABwCgEstJir\\\\\\n\",\n       \"27bSwOS2KqquUcnaVfayrKIilZSUMOp+wPRXWbhwoc2cMsGrOmZlwtGjR2vo0KH629/+pvHjx9vT\\\\\\n\",\n       \"R44c0bZt205YjpidnW1vC88MWqVt+05frFilDTt22QzwOu3btNaIvr01Z/E3mjBujIb36anyigpt\\\\\\n\",\n       \"3ZNpYh7HqayqsvuLjqSPmjcqLzlaPlhWXKSyt/6f4tom6bzzRii5b7IW71js7sMDAACeynwwdDYz\\\\\\n\",\n       \"mMxin0cACy2md3GBjhw6oMzvvrMNnOEfdu3apXfeeUffffedLQUcNmyYkpKSFBISYjOxzMqSS5Ys\\\\\\n\",\n       \"0dy5c+3tzTLspldW3ek6ZWVluv/++20Gl1nZ0PRl6devn9seF9RkcHH+qjX6YOESFRSXqGPrVrp6\\\\\\n\",\n       \"UB/FRYTbfldllVXauj9XH371tQ1q7cnO0eXDhqhtfCt1Sk5qckjfmbtA8bEx6t+tK0Pu5cqKDtmt\\\\\\n\",\n       \"YG+mOg8Yor6ZMe4+JAAA4KFYhRDNQQALLWbNmjWsRueHz/mLL76oxMRE3XjjjTr33HMVFBTU6DZ9\\\\\\n\",\n       \"+/bVD37wA23atEmfffaZnnrqKfXs2VMjR460wa6oqCh7O1Nq+Mc//tFmZm3evFmzZs2y/bSOLS+E\\\\\\n\",\n       \"ezgctXrz0y/02fKVGtwxRROG9VdqQqvjbnde5w46WFaul79arsVrN2h1+nbdcMloXTJkgKKPWa1y\\\\\\n\",\n       \"zuKl+mbDJk3/2USFhvD25Csqy8u1fcVSlR35byYmAAAAcLr4hgDAJUyZ3/PPP68ePXro2muvtRlX\\\\\\n\",\n       \"J3zhCQ7WwIEDbYDr//7v/2y21sGDB/X+++9r+vTpNlBlsq5M5pZhemOZzC2zMiEBLM/w7pcL9Pny\\\\\\n\",\n       \"lbpucF+N7N7ppLeNj4zQ1Csv0ardezVn7Wb9vy8Xas6ipZrxi58qKSHe3ubfXy+zZYaP33mrOrdr\\\\\\n\",\n       \"OjsLAAAAPopVCNEMgc25EQCcTGlpqZ577jkbaLr++utPGrxqKCIiQnfccYcNVJnyQhPYSktLO2G5\\\\\\n\",\n       \"WlVVFU+EB1i1dZv+vWSZfjiw9ymDV3VMY+9hXVN1zw9G2OeyoqpKK7ek2+vMyoMfLvxaj91+i7p3\\\\\\n\",\n       \"SGnhowcAAICnCXC4ZoNvI4AFwGlLly61jdpN5tWxJYMnsnfvXruyYH5+vi699FKbgVVUVKSUlBR9\\\\\\n\",\n       \"/PHH2rhxo/Ly8rRv3z5bavjNN9/oggsu4NnyAJ8sXaEuiQka3aNLs26fUXBQC7bsUFbhIUWFhqpP\\\\\\n\",\n       \"+yQbwEqIjbVZV+/NW6RfXP8jtYlvpYMlh+1WXlHZ4o8DAAAAgPeghBCA842858+3pX2maXtzhYWF\\\\\\n\",\n       \"KSMjQytWrLDBL5N9lZCQoAEDBmj79u166623VFhYqNDQULVr10533XWXzj//fJ4tN8vKPaDNuzN0\\\\\\n\",\n       \"y/mDmn2f8JBg7cov1JLvdquiqto2eTcZWYXFxfry29WqrqnR07Peb3SfG38wWuPHXNwCjwAAAAAe\\\\\\n\",\n       \"hxJCNAMBLABO977KycnRuHHjTut+ZuXBCRMm1J83jdo/+OADm5llGsCbDZ7ny5Vpig4PU7/2yc2+\\\\\\n\",\n       \"T1JsjCaNHtbosndXrNUXK1brbw/fb4NZAAAA8F+sQojmoIQQgFN27dplVwzs2LGjU/sxDd3r9gfP\\\\\\n\",\n       \"tSNrn3omt1FwkHNvH31SkpRTeFClR4647NgAAAAA+C4ysAA43cDdNGN3NovGlBCa5u87duxQq1at\\\\\\n\",\n       \"6i83PbESExN16NAhZWZmNrqP+bnnnHOOPb1hw4bj9mlWRDTBtaysLNtjqyGz0mFycrJKSkq0e/fu\\\\\\n\",\n       \"RteZ46hb7dBkmFVXVze6vlu3boqKilJ2drYOHDjQ6DpTBtmhQweVl5fb1RUbKisr08geXe3p9IzM\\\\\\n\",\n       \"4/o8dWmXrFYx0cotPKj9+QWNrouLjlLXlHaqqq7Wpl17jnus/bt3VVBgoHbs3aeSsvJG16W2baPE\\\\\\n\",\n       \"VnEqKCpWZm5eo+uiIsLVI7WDLQVd993O4/bbu0snhYWEaE92ju1NZcr+2iUnylmRYaH2/9LyI4qO\\\\\\n\",\n       \"iHB6fwAAAPBitbVHN2f3AZ9GAAuAUwIDA23wwxXMfkzAqWEvrboVDU2A69geW6aPVp2m+m+ZY6u7\\\\\\n\",\n       \"3bHXm95aJ9qvuayOCVTV1NQ0uV+zjxMdk7nNsdfFxcX9d7/h4Qo+puF9cPDR86EhIYqJbBzUifh+\\\\\\n\",\n       \"vyZQeOx19nIFNLpdQyHfPx7z/3H7Df3v7Zvab+D3gcnw0FB7fVCQa57vun3UjSUAAAD8FyWEaA4C\\\\\\n\",\n       \"WACcYoI0JgvLBHmauwJhU0zGksl06tSpk7p27drkzzlZk/im7tMw28psTTFZXCe7rzmeE2ndurXd\\\\\\n\",\n       \"mmICWcfut0+fPlJ+jj2dmtT08RjxMdF2a4oJenXv0P6E923f5sTZUbFRkXZrigmMnWy/ya0T7P9m\\\\\\n\",\n       \"5cCi8go5q6j8aOkg2VcAAAAAmoOpbwBO6devn6qqqrRt2zan9rNx40abjdO7d2+eEQ824Jxu2pqd\\\\\\n\",\n       \"p/LKKqf2szZzv3qktlfE96WEAAAA8GO1Ltrg0whgAXBKamqq7TW1atUqp8rJVq9erSFDhig+Pp5n\\\\\\n\",\n       \"xIONGTpIDvN87dl7xvvIKz6s73LzNe7881x6bAAAAPDuEkJnN/g2AlgAnDZmzBjt2bNHubm5Z3R/\\\\\\n\",\n       \"s/KgaYZu9gPPFh8bo2F9emrZzkzVOBxntI+lO/bYflrn9yXbDgAAAEDzEMAC4LTzzjvPruj3z3/+\\\\\\n\",\n       \"0660dzrM6oIfffSRunfvXr/yHzzb1ReOVGFpmd5fvfG0G7qvy9yvZTsy9KMLRyo0hDaMAAAAaLAK\\\\\\n\",\n       \"obMbfBoBLABOM6v2Pfzww7YX1ltvvaWioqJm3c9kXZnbm5UHJ0+ebBuJw/N175Cie2642pYRvr96\\\\\\n\",\n       \"Q7MzscztZ327ThcO7KdrRo9s8eMEAACAd6CEEM3B9DcAlzCr/D322GP685//rFdffVWDBg3S0KFD\\\\\\n\",\n       \"m+xplZeXZ3terV+/3t7voYceUlxcHM+EFxk9sJ+d5Xrpw4+VUVikC7p10uBO7RV+TFaVw1Gr9Jw8\\\\\\n\",\n       \"W3KYnp2nS4cO0qSrryRYCQAAAOC0EMAC4DIpKSmaPn26Pv30Uy1evFjLly9X165d1aZNG4WGhqqi\\\\\\n\",\n       \"okI5OTnKyMhQbGysxo0bp6uuukqRkZE8C15o9KD+apfYWnMWL9WctZv16YZ09WmfpLiIcAUFBKis\\\\\\n\",\n       \"skrpOQdsuWGXdsm678ZrbOCLTDsAAAA04opVBKkg9HkEsAC4lMmkuvnmm3X99dfr22+/1dKlS22D\\\\\\n\",\n       \"9yNHjigiIkKJiYm65557bHaWKT2Edzsntb1+NWG8CoqKNX/VGqWlb9fe4nzV1DgUFRGu/ueeo7HD\\\\\\n\",\n       \"h9qyQwJXAAAAaIorVhFkFULfx7dHAC0iLCxMo0ePtht8X+u4WI0fc7HdAAAAAMDVCGABAAAAAAD3\\\\\\n\",\n       \"cdQe3ZzdB3waASwAAAAAAOA+9MBCMwQ250YAAAAAAACAu5CBBQAAAAAA3CbABU3YzT7g2whgAQAA\\\\\\n\",\n       \"AAAA96mtPbo5uw/4NEoIAQAAAAAA4NEIYAEAAAAAALcx5YOu2E7XSy+9pM6dOys8PFzDhw/XypUr\\\\\\n\",\n       \"T3jb119/XRdeeKHi4+PtNmbMmJPeHq5HAAsAAAAAALh/FUJnt9Mwe/ZsTZkyRdOmTdOaNWs0YMAA\\\\\\n\",\n       \"jR07Vnl5eU3eftGiRbrpppv01Vdfafny5UpNTdXll1+uffv2uWYMcEoEsAAAAAAAgF955plnNGnS\\\\\\n\",\n       \"JN1xxx3q3bu3XnnlFUVGRmrmzJlN3v7dd9/VL37xCw0cOFA9e/bU3//+dzkcDi1YsOCsH7u/IoAF\\\\\\n\",\n       \"AAAAAADcJqC21iWbUVxc3GirqKg47udVVlYqLS3NlgHWCQwMtOdNdlVzlJWVqaqqSgkJCS4cCZwM\\\\\\n\",\n       \"qxACAACPVbZvgqojop3eT2X5YUlvuOSY8F9ztm9UbIx3zoeOTRkobzfP4e4jAAAXMa9nzr6mfX9/\\\\\\n\",\n       \"U9rXkCkRnD59eqPL8vPzVVNTo6SkpEaXm/Pp6enN+nG//vWvlZKS0igIhpZFAAsAAAAAAPiErKws\\\\\\n\",\n       \"xcbG1p8PCwtz+c948skn9d5779m+WKYBPM4OAlgAAAAAAMBtGpYAOrMPwwSvGgawmpKYmKigoCDl\\\\\\n\",\n       \"5uY2utycT05OPul9n376aRvAmj9/vvr37+/UMeP0eGfONwAAAAAA8A1neRXC0NBQDRkypFED9rqG\\\\\\n\",\n       \"7CNGjDjh/f73f/9XTzzxhObOnauhQ4c6+6hxmsjAAgAAAAAAfmXKlCmaOHGiDUQNGzZMzz77rEpL\\\\\\n\",\n       \"S+2qhMZtt92m9u3ba8aMGfb8U089pccff1yzZs1S586dlZOTYy+Pjo62G1oeASwAAAAAAOA+pvzP\\\\\\n\",\n       \"yRLC073/+PHjdeDAARuUMsGogQMH2syqusbumZmZdmXCOi+//LJdvfCGG244ZZN4tAwCWAAAAAAA\\\\\\n\",\n       \"wG0Cao9uzu7jdN177712a4pp0N7Qnj17zvTQ4CL0wAIAAAAAAIBHIwMLAAAAAAD4VQkhvA8BLAAA\\\\\\n\",\n       \"AAAA4DYBjqObs/uAb6OEEAAAAAAAAB6NDCwAAAAAAOA+lBCiGQhgAQAAAAAA9zHtq5xtYUULLJ9H\\\\\\n\",\n       \"CSEAAAAAAAA8GhlYAAAAAADAbQJqa+3m7D7g2whgAQAAAAAA96EHFpqBEkIAAAAAAAB4NAJYAHAW\\\\\\n\",\n       \"BAUFKT4+XjXVVYw3AAAA0JCp/nM4uVFB6PMoIQSAs2DIkCHS4SLtXpfGeAMAAAAN0AMLzUEGFgCc\\\\\\n\",\n       \"BTExMdq1drVqqsjAAgAAAIDTRQALTaqoqNDAgQMVEBCgdevWMUoAAAAAgJZR26CR+xlvPDm+jgAW\\\\\\n\",\n       \"mvSrX/1KKSkpjA4AAAAAoGU5Hbz6foNPI4CF43z++ef68ssv9fTTTzM6AAAAAADA7WjijkZyc3M1\\\\\\n\",\n       \"adIkffTRR4qMjGx2uaHZ6hQXFzOqAAAAAIDmMasIBrhgH/BpZGChXm1trW6//XbdddddGjp0aLNH\\\\\\n\",\n       \"ZsaMGYqLi6vfUlNTGVUAAAAAwGmtQujsBt9GAMsPPPLII7YZ+8m29PR0vfDCCyopKdHUqVNPa//m\\\\\\n\",\n       \"9kVFRfVbVlZWiz0WAAAAAADgfygh9AMPPvigzaw6ma5du2rhwoVavny5wsLCGl1nsrFuueUWvfXW\\\\\\n\",\n       \"W03e19z+2PsAAAAAANAsrmjCTgaWzyOA5QfatGljt1N5/vnn9Yc//KH+/P79+zV27FjNnj1bw4cP\\\\\\n\",\n       \"b+GjBAAAAAD4JQJYaAYCWKjXsWPHRqMRHR1t/+/WrZs6dOjASAEAAAAAALcggAUAAAAAANyHDCw0\\\\\\n\",\n       \"AwEsnFDnzp3tyoQAAAAAALQYh1mK0AX7gE9jFUIAAAAAAAB4NDKwAAAAAACA2wTU1trN2X3AtxHA\\\\\\n\",\n       \"AgAAAAAA7kMPLDQDJYQAAABNeOmll2w/yPDwcA0fPlwrV670uXHyh8cIAAB8AwEsAACAY8yePVtT\\\\\\n\",\n       \"pkzRtGnTtGbNGg0YMEBjx45VXl6ez4yVPzxGAICXcNS6ZoNPI4AFAABwjGeeeUaTJk3SHXfcod69\\\\\\n\",\n       \"e+uVV15RZGSkZs6c6TNj5Q+PEQDgZSWEzm7waQSwAAAAGqisrFRaWprGjBnz3w9MgYH2/PLly31i\\\\\\n\",\n       \"rPzhMQIAAN9CE3cAAOA3iouLG50PCwuzW0P5+fmqqalRUlJSo8vN+fT0dPmC032MFRUVdjvROAIA\\\\\\n\",\n       \"4BxXZFCRgeXryMACAAB+IzU1VXFxcfXbjBkz3H1IXsGMU8NxM+MIAIDLUEKIZiADCwBaWKtWrRQV\\\\\\n\",\n       \"FaXK8nLGGnCzrKwsxcbG1p8/NvvKSExMVFBQkHJzcxtdbs4nJyfLF5zuY5w6dapt+N4wA4sgFgAA\\\\\\n\",\n       \"OJvIwAKAFhQQEKBRo0Zp5/IlOpSzn7EG3MwErxpuTQWwQkNDNWTIEC1YsKD+MofDYc+PGDFCvuB0\\\\\\n\",\n       \"H6MZp2PHDgAAl2EVQjQDGVgA0MIBLPNFMWvLJsYZ8CIm22jixIkaOnSohg0bpmeffValpaV2xT5f\\\\\\n\",\n       \"4Q+PEQDgJWodRzdn9wGfRgALAADgGOPHj9eBAwf0+OOPKycnRwMHDtTcuXOPa3ruzfzhMQIAAN9B\\\\\\n\",\n       \"AAsAAKAJ9957r918mT88RgCAFzVxd3Yf8GkEsAAAAAAAgHt7YKnWBfuAL6OJOwAAAAAAADwaGVgA\\\\\\n\",\n       \"AAAAAMB9KCFEMxDAAgAAAAAA7mMrCJ3tgeWqg4GnooQQAAAAAAAAHo0MLAAAAAAA4D6UEKIZCGAB\\\\\\n\",\n       \"AAAAAAD3cTjMPy7YB3wZJYQAAAAAAADwaGRgAQAAAAAA96GEEM1AAAsAAAAAALgPASw0AyWEAAAA\\\\\\n\",\n       \"AAAA8GhkYAEAAAAAAPdx1Jo0LBfsA76MABYAAAAAAHCb2lqH3ZzdB3wbJYQAAAAAAADwaGRgAQAA\\\\\\n\",\n       \"AAAA9zZxd7YE0OwDPo0AFgC0oJCQEMYXAAAAOGXwiQAWTo4SQgBoIcHBwbpo6GDlbt+qqiPljDMA\\\\\\n\",\n       \"AAAAnOn3K0YOAFpGfHy8QiMitfSf7zDEAAAAwIk4HFKAk03YaeLu8whgAUALqqmuUq15QwYAAADQ\\\\\\n\",\n       \"NEoI0QyUEAIAAAAAAMCjkYEFAAAAAADcxlQs1DpZQlhLCaHPI4AFAAAAAADchxJCNAMlhAAAAAAA\\\\\\n\",\n       \"APBoZGABAAAAAAD3cdRKAbUuyOKCLyOABQAAAAAA3McGn5xcuZsAls+jhBAAAAAAAAAejQwsAAAA\\\\\\n\",\n       \"AADgNrWOWtU6WUJYSwaWzyMDCwAAAAAAuE+twzXbaXrppZfUuXNnhYeHa/jw4Vq5cuVJb//++++r\\\\\\n\",\n       \"Z8+e9vb9+vXTZ5995sSDxukigAUAAAAAAPzK7NmzNWXKFE2bNk1r1qzRgAEDNHbsWOXl5TV5+2XL\\\\\\n\",\n       \"lummm27ST3/6U61du1bXXHON3TZt2nTWj91fEcACAAAAAADuLSF0wXY6nnnmGU2aNEl33HGHevfu\\\\\\n\",\n       \"rVdeeUWRkZGaOXNmk7d/7rnnNG7cOD388MPq1auXnnjiCQ0ePFgvvviii0YBp0IACwAAAAAA+E0J\\\\\\n\",\n       \"YWVlpdLS0jRmzJj6ywIDA+355cuXN3kfc3nD2xsmY+tEt4fr0cQdLlfXPK+8vJzRhV/Lz8/X1lXf\\\\\\n\",\n       \"quxIhbsPBXC78oqKM2qwWlVe6pKf76r9QI2ex+LDTi557kbVtVXydsXFxe4+BAB+rO41yBXN06tV\\\\\\n\",\n       \"JdW6YB9NvDaGhYXZ7djP6TU1NUpKSmp0uTmfnp7e5P5zcnKavL25HGcHASy4XEFBgf3/gQceYHQB\\\\\\n\",\n       \"AMe9R8TFxZ1yVEJDQ5WcnKx/Pfwjl42g2Z/ZL5xXUlJi/+80eI8XD+cuebvm/C0BwNl4TzjT16O6\\\\\\n\",\n       \"9/ulOa5phh4dHa3U1NRGl5keV9OnT3fJ/uFeBLDgcgkJCfb/zMxMv/1gZaL+5oUzKytLsbGx8keM\\\\\\n\",\n       \"AWPA7wF/Dw0VFRWpY8eO9e8Rp2JW99m9e7dN8XcV8yHZ7BfOS0lJse9xMTExCggIcPmQ+sJ7iLc/\\\\\\n\",\n       \"Bo7f/XgOGH9P//0xmVcmeGXeE86Uq9/vzTEd+750bPaVkZiYqKCgIOXm5ja63Jw3AbWmmMtP5/Zw\\\\\\n\",\n       \"PQJYcDlTO2yY4JU3fmBzJfP4GQPGgN8D/hZ4TTj+PaK5H2oJOHnu89ihQ4cW/zm+8Prp7Y+B43c/\\\\\\n\",\n       \"ngPG35N/f1yRsOCO93szqTVkyBAtWLDAriRoOBwOe/7ee+9t8j4jRoyw10+ePLn+snnz5tnLcXYQ\\\\\\n\",\n       \"wAIAAAAAAH5lypQpmjhxooYOHaphw4bp2WefVWlpqV2V0LjtttvUvn17zZgxo75FzkUXXaS//OUv\\\\\\n\",\n       \"uuqqq/Tee+9p9erVeu2119z8SPwHASwAAAAAAOBXxo8frwMHDujxxx+3jdgHDhyouXPn1jdqNy1x\\\\\\n\",\n       \"GmaOjxw5UrNmzdJjjz2m3/zmNzrnnHP00UcfqW/fvm58FP6FABZcztQYm0Z5TdUa+wvGgDHg94C/\\\\\\n\",\n       \"BV4TeF2Ef7+Pevtj4Pjdj+eA8ffn35+zxZQLnqhkcNGiRcddduONN9oN7hFQ64o1LwEAAAAAAIAW\\\\\\n\",\n       \"0vxOqgAAAAAAAIAbEMACAAAAAACARyOABQAAAAAAAI9GAAst7tNPP9Xw4cMVERGh+Ph4XXPNNX45\\\\\\n\",\n       \"6hUVFXZli4CAAK1bt07+Ys+ePfrpT3+qLl262N+Bbt262YaSlZWV8nUvvfSSOnfurPDwcPs3sHLl\\\\\\n\",\n       \"SvkLs9zweeedp5iYGLVt29b+3W/btk3+7Mknn7R//5MnT5Y/2bdvnyZMmKDWrVvb14B+/frZJacB\\\\\\n\",\n       \"AACA00EACy3qww8/1K233qo77rhD69ev1zfffKObb77ZL0f9V7/6lVJSUuRv0tPT5XA49Oqrr2rz\\\\\\n\",\n       \"5s3661//qldeecUuPevLZs+erSlTpthg3Zo1azRgwACNHTtWeXl58geLFy/WPffcoxUrVmjevHmq\\\\\\n\",\n       \"qqrS5ZdfrtLSUvmjVatW2b+B/v37y58cPHhQF1xwgUJCQvT5559ry5Yt+stf/mInMwBfnQBYsmSJ\\\\\\n\",\n       \"fvjDH9r3fBO0NkusexNvn4B4+eWX7WttbGys3UaMGGFff7yVN05+TJ8+3R5zw61nz57yJt48+WJe\\\\\\n\",\n       \"O48df7OZz2WAtwt29wHAd1VXV+uBBx7Qn//8Z5uBU6d3797yN+aD05dffmkDet78IepMjBs3zm51\\\\\\n\",\n       \"unbtaj8Imw+YTz/9tHzVM888o0mTJtngrWGCdiYbcebMmXrkkUfk6+bOndvo/Jtvvmm/CKWlpWn0\\\\\\n\",\n       \"6NHyJ4cPH9Ytt9yi119/XX/4wx/kT5566imlpqbqjTfeqL/MZGMCzZkAMK+bJnj17LPP2gkA895h\\\\\\n\",\n       \"Xkc8nQnUm0mLO++8U9ddd528dQLCBLHMZzkz4WQmIEwAOioqSp6uQ4cONuhzzjnnyCy2/tZbb+nq\\\\\\n\",\n       \"q6/W2rVr1adPH3kTb578MGM9f/78+vPBwcFeN/lyySWX2M/tbdq00Xfffec1ky/m96ampqb+/KZN\\\\\\n\",\n       \"m3TZZZfpxhtvdOtxAa5ABhZajMk6MbMXgYGBGjRokNq1a6crrrjCvoj6k9zcXBvIePvttxUZGenu\\\\\\n\",\n       \"w/EIRUVFSkhIkK8y5ZEmUDNmzJj6y8zfgTm/fPly+etzbvjy834i5ovgVVdd1ej3wV98/PHHGjp0\\\\\\n\",\n       \"qP3QbAIP5r3ABPKA5k4AmEkvE8gy759mAsAbmM86Jlh97bXXylsnIG6//XYbgDCBODMBkZmZad/X\\\\\\n\",\n       \"vIHJfrvyyittAKtHjx764x//qOjoaJsR7K2TH94SOGnIBKySk5Prt8TERHnj5MuwYcPsxIsJ4po2\\\\\\n\",\n       \"GN7ABNwajv0nn3xij/2iiy5y96EBTiOAhRaza9eu+jTixx57zL54mjfgiy++WIWFhX4x8mbmz3wI\\\\\\n\",\n       \"vOuuu+yXOEg7duzQCy+8oP/5n//x2eHIz8+3M19JSUmNLjfnc3Jy5G9MCakpfTCzmX379pU/ee+9\\\\\\n\",\n       \"92ww35Tk+Ov7gMm2NF8kv/jiC9199926//77bUYE0BQmADyPN09AmPdi8zpssuJMKaE38fbJD5Ox\\\\\\n\",\n       \"ZMpoTea9CcSZIKi38KXJF/Oa+s4779iMUFNGCHg7Alg4bab8qam66oZbXd8j49FHH9X111+vIUOG\\\\\\n\",\n       \"2JkMc/3777/vF2NgAjUlJSWaOnWqfE1zx6Ahk5FnygnNBwIzuw7/YD6Em8xL8yXCn2RlZdky6nff\\\\\\n\",\n       \"fdf28fFH5n1g8ODB+tOf/mS/APz85z+3f/smowZoChMAnsVbJyA2btxos67CwsLsJOKcOXO8qoWF\\\\\\n\",\n       \"t09+mNJfk7lnsvnMJMbu3bt14YUX2s/E3sCXJl9MD75Dhw7ZCXXAF3hPMTI8xoMPPnjKF0Ez25Kd\\\\\\n\",\n       \"nW1PN/zAYD5ImOu8aRbGmTFYuHChLRkzj7shM6tjZqO88Y3wdMegzv79+20vgZEjR+q1116TLzNp\\\\\\n\",\n       \"8kFBQbZ8tCFz3qRy+5N7773XZl+apsamL4k/MeU2pmm/CeA0zAYwY/Hiiy/alUnN74kvM6Xjx35p\\\\\\n\",\n       \"7NWrl+0HCMB7JiCWLl0qb3LuuefaFZ9N9tgHH3ygiRMn2t5e3hDEqpv8MAugeOvkhymjrWP6d5mA\\\\\\n\",\n       \"VqdOnfTPf/6zUV9cTw7cms/qZvLFMBMw5u/ATL6Y3yVv8o9//MM+H/64kBR8EwEsnFFdtdlOxWRc\\\\\\n\",\n       \"mcCNabo6atQoe5lZiWzPnj32TcwfxuD5559v1LTZBHFMI1rToNa8mfvDGNRlXpngVV0WnukH5ctC\\\\\\n\",\n       \"Q0PtY12wYIFdvanuw5A5bwI6/lI+e99999lZ70WLFvll4+5LL73UZgE0ZHr6mJWYfv3rX/t88Mow\\\\\\n\",\n       \"WRvHrl62fft2r38PQMthAsBzePMEhHkf7t69uz1t3o9NU+vnnnvONkT3dL44+dGqVSvbj8y0kfAG\\\\\\n\",\n       \"vjL5kpGRYRvp/+tf/3L3oQAuQwALLcYsXWzStqdNm2YbIZovLGZFQsNfVsHo2LFjo/Mmnd0wjRS9\\\\\\n\",\n       \"7cPgmTLBK9P3zDz/ZtXBAwcO1F/ny9lIZgUtM0tnZvBMA1CzipbpwVG3KqE/zNrPmjVL//73v+1S\\\\\\n\",\n       \"7HW9v+Li4uxy1P7APO5jS27MCl5mSW5vKsVxxi9/+UubdWlmsX/84x9r5cqVNgPT17MwceaYAHA/\\\\\\n\",\n       \"X5yAMJNIJvDjDXxx8sM0pN+5c6duvfVWeQNfmXwxk8amh5fppQb4CgJYaFEmYGVWITFvWOXl5Tbr\\\\\\n\",\n       \"yJTVeeNqKjgzJgXezLiZ7dignfmQ7KvGjx9vg3WPP/64Dd4MHDjQ9oI4trG7rzK9IwwTvDz2wxR9\\\\\\n\",\n       \"GPzHeeedZ78Emz6Av//97+0XYRPMNSXUgK9OAJgv6w0zTUz/H1POZpqgHzux5Ym8fQLCvN6Ykikz\\\\\\n\",\n       \"1qbnknksJhBnehl5A1+Y/HjooYfsapAm4GOqD8xktgm83XTTTfIGvjD5YoK25jOXeS0138UAXxFQ\\\\\\n\",\n       \"68vfIAEAAOB1TKmUmQSrmwAwJfneUnpvgiWmbP5Y5oukaWzt6U60Upm3TECYHkumZN/0YjVBN9OD\\\\\\n\",\n       \"yWQuXXbZZfJWZjLI/B2YYK43+MlPfmJLHgsKCmy7CdNK5I9//KOtQPAWpnzWBEPNaopm8sUE1r1p\\\\\\n\",\n       \"AaIvv/zSti0xmWSmfBPwFQSwAAAAAAAA4NF8u5MyAAAAAAAAvB4BLAAAAAAAAHg0AlgAAAAAAADw\\\\\\n\",\n       \"aASwAAAAAAAA4NEIYAEAAAAAAMCjEcACAAAAAACARyOABQAAAAAAAI9GAAsAAACAT1m0aJECAgJ0\\\\\\n\",\n       \"6NAhdx8KAMBFCGABQAvKzs7WzTffrB49eigwMFCTJ09mvAEAcLGLL7640XvsyJEj7XtwXFyc28aa\\\\\\n\",\n       \"IBoAuBYBLABoQRUVFWrTpo0ee+wxDRgwgLEGAOAsCA0NVXJyss3CAgD4BgJYAOCEAwcO2A/If/rT\\\\\\n\",\n       \"n+ovW7Zsmf3gvGDBAnXu3FnPPfecbrvtNrfOAgMA4Ktuv/12LV682L7fmoCV2d58881GJYTmfKtW\\\\\\n\",\n       \"rfTJJ5/o3HPPVWRkpG644QaVlZXprbfesu/X8fHxuv/++1VTU9NoIuqhhx5S+/btFRUVpeHDh9vM\\\\\\n\",\n       \"qjoZGRn64Q9/aO9rru/Tp48+++wz7dmzR5dccom9jbnOHIs5TsPhcGjGjBnq0qWLIiIi7ATXBx98\\\\\\n\",\n       \"cFzm1qeffqr+/fsrPDxc559/vjZt2nQWRxUAPE+wuw8AALyZya6aOXOmrrnmGl1++eX2Q/Gtt96q\\\\\\n\",\n       \"e++9V5deeqm7Dw8AAJ9nAlfbt29X37599fvf/95etnnz5uNuZ4JVzz//vN577z2VlJTouuuu07XX\\\\\\n\",\n       \"XmsDWybotGvXLl1//fW64IILNH78eHsf836+ZcsWe5+UlBTNmTNH48aN08aNG3XOOefonnvuUWVl\\\\\\n\",\n       \"pZYsWWIDWOa20dHRSk1N1Ycffmj3t23bNsXGxtpglWGCV++8845eeeUVuw9z3wkTJtjPFBdddFH9\\\\\\n\",\n       \"8T788MP2sZmJst/85jc2UGYeZ0hIyFkbWwDwJASwAMBJV155pSZNmqRbbrlFQ4cOtR9gzYdTAADQ\\\\\\n\",\n       \"8kyGs8l8NllVJthjpKenH3e7qqoqvfzyy+rWrZs9bzKw3n77beXm5tqgU+/evW3W1FdffWUDWJmZ\\\\\\n\",\n       \"mXrjjTfs/yZ4ZZhsrLlz59rLTfa1uc4Eqfr162ev79q1a/3PS0hIsP+3bdvWBsnqMrrM/ebPn68R\\\\\\n\",\n       \"I0bU32fp0qV69dVXGwWwpk2bpssuu8yeNlliHTp0sAG0H//4xy02lgDgyQhgAYALPP3003bm9/33\\\\\\n\",\n       \"31daWprCwsIYVwAAPIgJcNUFr4ykpCRbOmiCVw0vy8vLs6dNlpUpJzQLsTRkglCtW7e2p03J4d13\\\\\\n\",\n       \"360vv/xSY8aMscEsU/Z3Ijt27LCZYHWBqTomi2vQoEGNLqsLcNUFw0yW99atW8/48QOAtyOABQAu\\\\\\n\",\n       \"sHPnTu3fv9/2tTB9L+pmYgEAgGc4tvTO9Jlq6jLzXm4cPnxYQUFBdmLK/N9QXdDrZz/7mcaOHWv7\\\\\\n\",\n       \"VZkglsnA/stf/qL77ruvyWMw+zTM7U1frYaY/AKAkyOABQBOMrOmpneFKTcws6Pmw6yZtTUlAwAA\\\\\\n\",\n       \"oOWZEsKGzdddwWREmX2ajKwLL7zwhLcz/a7uuusuu02dOlWvv/66DWCZYzIaHpcpUzSBKlN62LBc\\\\\\n\",\n       \"sCkrVqxQx44d7emDBw/a/le9evVy2eMDAG9DAAsAnPToo4+qqKjINoY1M7KmEeydd95pVzoy1q1b\\\\\\n\",\n       \"Vz/ralYtNOfNh1rzIRYAADjPlAJ+++23NgvavBfXZVE5w5QOmv6WZiVhk1VlAlrmfdysMmzKBK+6\\\\\\n\",\n       \"6ipNnjxZV1xxhb2tCTKZ/ll1QaZOnTrZjC7zecD0yzRN3GNiYmwfrV/+8pf2GEeNGmU/Q3zzzTe2\\\\\\n\",\n       \"0fvEiRPrf75pSG9KFU1Zo/mskZiYaBeNAQB/FejuAwAAb2aWun722WdtE1jzwTMwMNCe/vrrr22j\\\\\\n\",\n       \"WMN84DWbKUGYNWuWPW0+yAIAANcwQSFT5mcmh8xqfibDyRVMs3YTwHrwwQdtlrUJIK1atao+M8pk\\\\\\n\",\n       \"V5mVCE3QyqxOaAJZf/vb3+x1pkTwd7/7nR555BEbhDIrGhpPPPGEfvvb39pyw7r7mZLCLl26NPrZ\\\\\\n\",\n       \"Tz75pB544AENGTJEOTk5+s9//lOf1QUA/iigtra21t0HAQAAAAA4OjlmVkM0GV11qxcCAMjAAgAA\\\\\\n\",\n       \"AAAAgIejhBAAAAAAAAAejRJCAAAAAAAAeDQysAAAAAAAAODRCGABAAAAAADAoxHAAgAAAAAAgEcj\\\\\\n\",\n       \"gAUAAAAAAACPRgALAAAAAAAAHo0AFgAAAAAAADwaASwAAAAAAAB4NAJYAAAAAAAA8GgEsAAAAAAA\\\\\\n\",\n       \"AODRCGABAAAAAADAoxHAAgAAAAAAgDzZ/wd1T4E4NSQ4OwAAAABJRU5ErkJggg==\\\\\\n\",\n       \"\\\"\\n\",\n       \"  frames[2] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQAA35JJREFUeJzs3Qd4FFXbBuBnN733QkKAhNB770VAQUQFrIiC2LtYfhULdkH9\\\\\\n\",\n       \"VGyfBUXsoAJiBwVEqdJ7bwnpIaT37P7Xe/Jt3CybsEk22ZLn9hpJJruzZ87MTnnnnPdo9Hq9HkRE\\\\\\n\",\n       \"RERERERERHZKa+sCEBERERERERER1YYBLCIiIiIiIiIismsMYBERERERERERkV1jAIuIiIiIiIiI\\\\\\n\",\n       \"iOwaA1hERERERERERGTXGMAiIiIiIiIiIiK7xgAWERERERERERHZNQawiIiIiIiIiIjIrjGARURE\\\\\\n\",\n       \"REREREREdo0BLCKyKzfeeCNGjhxp62JQE1q4cCE0Go3T1vnJkyfV+sl6WrvOZNnWZlj21q1b0VTf\\\\\\n\",\n       \"+TZt2tikHu1p35bXPfPMM/X6nPLycjzyyCOIiYmBVqvFxIkTYe9kXZ35e28Lhu/In3/+CXvRkP3a\\\\\\n\",\n       \"Hsp+zz33wJ7l5+fjlltuQWRkpCrvzJkz4azkPCHnCyJq3hjAImrGNmzYoC4ss7OzrbK8M2fO4NVX\\\\\\n\",\n       \"X8Xw4cMRFhaGwMBADBw4EIsXL4a17d+/X5W9MW7gm1phYaFal4bcdFh7W1pKp9Opm/TLLrtM3Tz7\\\\\\n\",\n       \"+Piga9eueOGFF1BcXNykZSFqrvv2ggUL1LH3yiuvxKeffooHHngAzdV///vfBgU5k5OT1bF0586d\\\\\\n\",\n       \"aGqrVq3CTTfdhPbt28Pb2xtxcXEqOJGSkgJ79ssvv9hdkMoey9QYXnrpJbW/33nnnfj8889xww03\\\\\\n\",\n       \"2LpIRESNyrVxF09E9kyCHs8++6x6oiXBpobauHEjnnjiCYwfPx5PPvkkXF1dsWTJElx77bUq4CSf\\\\\\n\",\n       \"ZS2G5UlrLUtab9h7AMtQN/VtfWbtbVmXss+YMUMFKu+44w6Eh4er/eDpp59WN2OrV69mKwuq1fz5\\\\\\n\",\n       \"81WwyN409b5dVFSkjpn1IWWJjo7GG2+8geZOAlihoaH1bqkhASw5lsp5pWfPnmhKjz76KLKysnDV\\\\\\n\",\n       \"VVehXbt2OH78ON555x389NNPKqAmrWzskQSL3n33XbMBo4bs141VJmci3305RslxiYioOWAAi4is\\\\\\n\",\n       \"pkuXLjhy5Ahat25dNe+uu+7CmDFj8PLLL6suLtKKoanp9XrVYsLLy6vJP9vZubu7Y/369Rg8eHDV\\\\\\n\",\n       \"vFtvvVXd/Blu9GX7E9XEzc3NLiunqfdtT0/Per83PT3dqoHr2o6ZMl/qRroqknW9/vrrGDp0aLW6\\\\\\n\",\n       \"HTduHEaMGKECWdL6z9E0ZL8my777nTt3tlpVSXdkeaAg3/GmVlBQYJNrRCJyLLz6IGqm5Knk//3f\\\\\\n\",\n       \"/6mfY2NjVUuChubUkeUYB6+ELFPysZSUlKinydYgzeXlCbW44IILqspu6IInN5gTJkzAihUr0Ldv\\\\\\n\",\n       \"X3UT9sEHH9SaQ8dcno6kpCTVnSMiIgIeHh4qQCdddepKcgmNHTtWtQqQskg9yXKFlEm6Wwp56m9Y\\\\\\n\",\n       \"F0NZdu/erVoSSFcSuRGQJ/DyXumuWZdt+cUXX6BPnz7q84ODg1WruMTERDSUXOQa3+AbTJo0Sf17\\\\\\n\",\n       \"4MABWJNcWM+bN09tC6kP2Ta33347zp49W+11hn1g3bp16N+/v3qt1OFnn312zjKl26V0uZL3yHZu\\\\\\n\",\n       \"2bIlpk2bhszMzGo3CTfffLP6PFlWjx49VFctc8uS7RUQEKACCtOnT6+xW+fBgwdVly/ZHrJM2Vd/\\\\\\n\",\n       \"+OGHc163b98+jBo1Sm07KZvcxNa3xdKOHTtw8cUXw9/fH76+vhg9ejQ2bdpUYwskqduQkBD1eqkT\\\\\\n\",\n       \"03qubd9uSA4sS+pRtol8d6TVogRcDI4ePapugq655ho40r5tegwy5IiS9TG0rJT6kFZhsm2E4Zi2\\\\\\n\",\n       \"Zs0atZ+YHgvr+n0xPWbKcmR5ixYtUq1qpZWXdG3Lzc1V79u8ebMKsEi5ZL4EWiToZ0q+h/369VNl\\\\\\n\",\n       \"aNu2rVp2faSmpqr1l++BfFdbtGiByy+/vOpYJ+sh9bB27dqqujC0apWWTQ8//DC6deum9n3Zp+W7\\\\\\n\",\n       \"sGvXrqrly/pKOYV8jmEZxucMS9e5PqT7vWlgUObJMcLa+9vy5ctxySWXICoqStWlbJfnn38eFRUV\\\\\\n\",\n       \"57xW1llaVgcFBanvVvfu3fHmm2+qv8m+KS2dhKG+jFsmmju3WnIcMuSPk7p98MEH1XddPlu+fxkZ\\\\\\n\",\n       \"GbWu2/nK9J///Ed9t+XYJvu6nBu/++47i+pNjr+yjd5+++2qeb/++iuGDRumyufn56fqVfZD0zLJ\\\\\\n\",\n       \"usp1hVwTyc+yTrJPmta5dBmV80NZWVmN5TB8N0+cOIGff/75nPO+Jecsw/FD6kOOE7IPyL4gZZdj\\\\\\n\",\n       \"utS7gRxL5Bjk4uJS7VgsDyelhZ3k4rL0msX4+Cat6a+77jq1b0nwVsjxXOpZvufyHZPrPNP6JKLm\\\\\\n\",\n       \"iy2wiJqpyZMn4/Dhw/j6669VtxO5WBGGYEpOTk6tF08GcoEiF2Lnu+kQhs9oKLmgv++++/DWW2/h\\\\\\n\",\n       \"8ccfR6dOndR8w7/i0KFDmDJlirpZk1YTHTp0qNNnpKWlqWb5hiSuUi9ykSoXhHLzZmmiVLmIvOii\\\\\\n\",\n       \"i9T7H3vsMXUBKBeNS5cuVX+X+e+9957KXyEX5rJdhNwgiN9//10F/uRmSi4E5SLuww8/VP/KBb+U\\\\\\n\",\n       \"73zb8sUXX8RTTz2Fq6++WuVTkYt/ufiWepQbCUPLDbkpNtwY10YuYOVisym3uYFsT7mxkfqQfUAu\\\\\\n\",\n       \"3qVlgqyH3OgYt+aRG38JEMk2kwCIBB/lwlpuVuSGXshFt9x4yM2hXGT37t1bBa4kkHT69GlVfukC\\\\\\n\",\n       \"IzfBsjzZFyRI8+2336plyYX8/fffX3XRLTfTcrMuXc5kf1y2bJn6bFOy/YYMGaICArJfyI3PN998\\\\\\n\",\n       \"o25spNutIUgi9SgX7/JU3PA62f71aU0onynrKjeN0hpS6koCCbJucsM/YMCAaq+XdZV9Q2405Psk\\\\\\n\",\n       \"++mpU6eqbpzOt2/Xl6X1KF36pEwSzJb9WfYHucmS7SI3kdKVzMAR9u2ayPdW9rk5c+Zg+/bt+Oij\\\\\\n\",\n       \"j9S6y42j1L3kvZHvuOzL8hrjY2Fdvi+1HTMlsCEBPbnZlocR8rN0XZIghHyfpEWa3NR/8sknKtj6\\\\\\n\",\n       \"999/q8Cx2LNnT9V+IvuS7MvyermxrqsrrrhC7cf33nuvClbJPijHyISEBPW73ITL3+ScJN3ZheFz\\\\\\n\",\n       \"5Dj6/fffq/1F6lOO8bL/SwBKbqIlkCP19txzz2H27Nm47bbb1PdFGAKZlq6znDvlHGoJCU7V1ppN\\\\\\n\",\n       \"tqtM1t7fZL+QepIghfwr6ybrLec3yadmIPUrwU0JFsqxTs5DcryUbo3yu+wv0u1SXif7orWPQ7I9\\\\\\n\",\n       \"5Tsp9S3HF9nGcmyqLbfm+cokwTfJbTd16lSUlpaqAK3sF7JOEnyqiQRxJeeUlFe+I0KWL8cmCeTL\\\\\\n\",\n       \"d1KOM3JckmCMfM+Mg/MSqJLXyTpK0OiPP/7Aa6+9pgJHcg1gMGvWLBVsku9rTSkSZF+Vz5aHLxLo\\\\\\n\",\n       \"eeihh9R8+Z5Zes4ykH1YWlbKPi8BLAnsyfnpr7/+qnqNBKZkn5Z9VY4dhnqS/b5Xr15V14GWXLMY\\\\\\n\",\n       \"M3SXlXo1PIiQ/VACWBI0lUmOe3IMkW1FRCQHCyJqpl599VW5WtCfOHHinL+NGDFC/e180/Tp02v9\\\\\\n\",\n       \"jDNnzujDw8P1w4YNs6hMsjz57PP59ttv1eevWbPmnL+1bt1a/e23336rNl/WU+Z/8skn57xH5j/9\\\\\\n\",\n       \"9NNVv9988836Fi1a6DMzM6u97tprr9UHBAToCwsLLVqfZcuWqWVv2bKlxtdkZGSc8/kG5j7n66+/\\\\\\n\",\n       \"Vq//66+/zrstT548qXdxcdG/+OKL1ebv2bNH7+rqWm2+fL4l21zq93zGjBmj9/f31589e/a8r5Xt\\\\\\n\",\n       \"URm3qN3ff/+tXvfll19Wmy/b2XS+YR8wrqP09HS9h4eH/qGHHqqaN3v2bPW6pUuXnvN5Op1O/Ttv\\\\\\n\",\n       \"3jz1mi+++KLqb6WlpfpBgwbpfX199bm5uWre999/r173yiuvVL2uvLxc7fum+93o0aP13bp10xcX\\\\\\n\",\n       \"F1f7vMGDB+vbtWtXNW/mzJnqvZs3b662HrIP1vTdrcnEiRP17u7u+mPHjlXNS05O1vv5+emHDx9+\\\\\\n\",\n       \"zvbo06ePWk8DWS+Zv3z5cov3bUu/88b7VF3qUUyZMkXv7e2tP3z4cNX3QJZhzN73bWF6DDCU+aab\\\\\\n\",\n       \"bqr2ukmTJulDQkKqzZNjZpcuXRr8fTE9ZsrxVebHxcVVOxbJvir76dixY6u+J0JeExsbq7/wwgur\\\\\\n\",\n       \"7Xeenp76U6dOVc3bv3+/Oi5ZWjdC6lteL9u4NlIP5s4h8l2rqKioNk++P3JMeO6556rmyf5sbj+r\\\\\\n\",\n       \"yzob6s2S6Xzf4eeff169btWqVbW+zrA+NZ0XLTm33H777eq7ZDguyfdO1k32D9P93bgO7r777hq3\\\\\\n\",\n       \"pel+XdfjkHzfjD/rgQceUPtOdnZ2retXW5lM112Oc127dtWPGjXqnLLLcoScN7RarX7hwoVVf8/L\\\\\\n\",\n       \"y9MHBgbqb7311mrvS01NVcdo4/lynJPlGe9rolevXupYa8zwWkuO77JtLrnkkmrzLD1nGfYXOZ7J\\\\\\n\",\n       \"ecWYfM+kng2vfeutt9Rn9e/fX//oo4+qefJ9kvWXbVLXaxbD8U2O38akHLJ/yDoZb/fHH3/comtO\\\\\\n\",\n       \"InJ+bIFFRGbJU0HTbibmyFPrmkhrCHnCKU/8jJvbNwV54ihPOutDrlulFYy0fJCfjbuSyTLlaa08\\\\\\n\",\n       \"EZQnlOdjaN0kT3alCX9d8/0Yt7SRJ6TyJF5ahgkpg6GFQE2kNYxsB1kX4/WQJ6Py1FO6HkkrNiFd\\\\\\n\",\n       \"xAxN+C0tkznyJFWeLEsLGGvm5ZEnyNJt58ILL6y2LtIaQp7+yrpIVwQDyQtiXD/yZFpalRh3ZZXt\\\\\\n\",\n       \"LNvF0OLJmOFJsSQDlvqS1ikGsh2lRYvMk1YD0kJBXiddKYyfpEuLHmlBIE+pDaQrk7R2kJYeeXl5\\\\\\n\",\n       \"ajLev6SlgXQzkdZZskzZ3oaWHYb1kO+VcQuj85En/ytXrlQtvKRrh4G0qpA6k0Tq0vJCWkUYyNN4\\\\\\n\",\n       \"4/1V1kv2FSmTtF5o6L5dE0vr0UBaFEmrMGltJy0RZRQuacFlzN737dpIKzRjsk9LizTT7dXQ70tt\\\\\\n\",\n       \"x0xpYWJcN5JQXPIdSosU065B0h1MWobIcUeOn9ItUfa7Vq1aVWs9Ip8l29pS8vnS8ku2tbSqPF9L\\\\\\n\",\n       \"OVPSssT4+yDnJakHOSbIsfR8LF1naaEi3wdpiWKJ2hKzSwsY6Voux29p5WVNxttTjkHSsk72LWld\\\\\\n\",\n       \"JN3XZB2kBZG0ApKWvab7e30GMKjvccj4s6SMUh5pDWpoqdyQdZfrHCmXLFdaMZuSfVhaMUm9SFd8\\\\\\n\",\n       \"4/OAbGPZj2Se8XdMjlfSykq+Y5Z8n01biUnruIaMpGnpOcu4ZaOhxbZxuaReZIAY+a7KsVfmSYtG\\\\\\n\",\n       \"w3F47969av2Nz7N1vWYxrQ85vkpLKzneG293afUux18iIgawiMgsuclpKLkA+e2331TeIbkYbkpy\\\\\\n\",\n       \"M1Zf0sVOLsqk2btM5kjXFUtI9xS5OJSbELnolmb9cvEuF+vGN1Q1kWCHvFeCZqafaUkXFbnhkgtw\\\\\\n\",\n       \"CVaZYxx0kBsK45uK+pBuHXKDJzeYxgEIa5B1kXWW7lPmmNaP8Q2zgdz0Ggdmjx07prZPbeRGSerP\\\\\\n\",\n       \"tJuPoZuW/N3wr9yImXapNe2+Kt06ZJtIt06ZaloXCWDJMk271JhbpiX7tHRtMfc+WQ+58ZacaIau\\\\\\n\",\n       \"lcJ0n5H1kvUz5Fhp6L5dE0vr0bgLlnQnlq4ocnMlP5uy9327Nqb7sSFwI/txbQGsun5fajtmmv5N\\\\\\n\",\n       \"li3MdY81kM+WoIh0ZzJ3/JHtWZcAluxT0kVLukrJdpabYrkJl+CkJaPzyT4uXcck+ChBGeO8Q9Jl\\\\\\n\",\n       \"6nwsXWfZPjI1NMG/BJEksN61a1fVbdTapEuX7M8STDfkNDM9t8jxUUgZrKE+x6Ha9v/6kqC7dFGT\\\\\\n\",\n       \"oKTso7UF5eT6RYIw0i3QOCBkvE/UFFw0/X5KygXTQJHpOckaLD1n1fbdl+70kn9KglWGAJYc6+W7\\\\\\n\",\n       \"Jg8kJThlCGQZPxyo6zWL6WcbymZ6zJB6q2vQmoicEwNYRGSWXIRYkm9AnrbJU35TcgEjNwpz585V\\\\\\n\",\n       \"LSKamrmWFDU9MTZNoGpIkH399dfXeLNi6ZNf+UxJDiu5H3788UfVGkFyLUkLN5l3vvxh8uRdnoBK\\\\\\n\",\n       \"knYZ0l1eL+WTJMKWJPKW10gZJH+XPBU2Zfz5hlwr5yPLMb0INzyNlptJyY3x/vvvw9pkXeRm/Msv\\\\\\n\",\n       \"vzT7d9MymVtfYZzw2xYM203yCdXU4iU+Ph72rqH7tjXJZwu5EZTcZaatRex93z5fmeqzH9f1+1Jb\\\\\\n\",\n       \"6zPTvxn2YcmVJMclc2T7GwcHrEFaYVx66aUql5VscwkAS94vCcJIHp7aSOsNeb3so5LTy5B7SpZp\\\\\\n\",\n       \"6bHUknUWcu6Uc6glZDuYbmMJ4kjOHzm3SpBPcrpZkzygkQC0BFikJajkYJLgirSQefTRR+s9SERj\\\\\\n\",\n       \"sPZxXIIu0oJUckDKNYoEy+VBjuSB+uqrr855vbS0lkCXtPSU87HsNwaGepIWVOaCqNKS1JJ1sTVz\\\\\\n\",\n       \"332pE3l4Iq0A5aGL5P4ztMCSHG+S2F/qsmPHjtWOJXW9ZuHo0ERUVwxgETVjtXUBkMTg0sz8fCTA\\\\\\n\",\n       \"Y9rUXUb/kWS9cmMgF8ONoT7dFwxP70xHMzN9GikXY3LDIIGthj5FN5DWAjJJsmW5SJYuYPKEUpKq\\\\\\n\",\n       \"17QucjO+atUqFQyUpKamT32N1bQMuTGRC315ytm+fftayyhJZeWzzkdGmjQdrVIuZqW1gIxgJsnI\\\\\\n\",\n       \"TS/crUHWRboXyA2FtS56ZZnSDeJ86ysJbA3dg4xbSBj+bvhXtpcESoyDN5Ic25ihJZDcIJxv/5Jl\\\\\\n\",\n       \"mtvepss8H9mn5Wm6uffJesh6xcTEVJsvnysJ5A1kvWR0LEmqa+m+XR+W1qOBtPKUFiqSEFqCNXJM\\\\\\n\",\n       \"kv3ReB+09327MTTG98V42UICILXtw7LfyWdbYx82/mxphSWTLFdukiVoKt27ajsWSrBV9uePP/64\\\\\\n\",\n       \"2nw5HxgnSK/tWGrJOgu5gTf+7tTGNFG3dE+U4JUE/+R7IAEWa5NumPI50sVcAjnGZTG3znKMrG2d\\\\\\n\",\n       \"LT0f1+c4VF81lUm6jUuwTgKgxi1FJYBV08OEV155RbUwlSCMbBNDQNFQPxIotta1gjVYes46HwlY\\\\\\n\",\n       \"SatHOY7Id0SCVVKv0kJOglcyGXdFrMs1S21lN7zHuNWstN6zdks1InJMNQ97QkROT0Y0MxfQEXJD\\\\\\n\",\n       \"IK0OzjfJTaNpNxvJsyA3sa+//rpNyl4TufGQizDjkXWEaS4heUoqXaPkQtdccON8Q3gbkwsu0yfF\\\\\\n\",\n       \"hqf3htYJckFvbl0MT2tN3y+jMFlaHxKIlOXIBaXpcuR341wu0sLEkm1u2qJDRqSSlilyEyZdMxrr\\\\\\n\",\n       \"iao82ZWgorSeMCUjm9VlXzCQ7bxr1y6VU8iUob4kYCNPn41HvZLPk24UEmCRlgyG18l86WpiIOU1\\\\\\n\",\n       \"zf8mNztyMyQ5VSQgVNv+JcuU1kz//PNPtb/X1KqmJrIPyE3x8uXLqwVoZCQ2CTpJFxDT7i7SfdZ4\\\\\\n\",\n       \"JFJZL1k/GYXN0n27PiytRyHbXAJlkiNMWthIIEtakZjmSrH3fdtRvi/GXczl5l0Cg+Zathn2Ydnv\\\\\\n\",\n       \"pJWhtJiSkQKN69XQas5S0vVMui0ZkzJIMMF4f5Njobl1k7KY7q+SJ0zyzVlyLLV0nYUhB5Ylk3HL\\\\\\n\",\n       \"nYKCArX/S5mk5VVNXb8byty5RVqNmZ4LpRuZPPyQc45pfRi/19LzcX2OQ/VVU5mkDBKEMW55LWWR\\\\\\n\",\n       \"fbQm0uJatofst9ICULrFCtm3pbxyvDE3anNdrhWMyXlBgk2WjARtjqXnLEsCWPLdku0v28YQFDTk\\\\\\n\",\n       \"7ZKRHo1zWtXlmqUmEgiUhztSVuPl1GUZROTcHOMxIhE1ap4rGW782muvVRcNcnEmF371yYElN9ly\\\\\\n\",\n       \"oyj5RCSprenNoAxF3tA8NMY3ynKxJE8HJa+CPEmVPBQ15XsxkJtd6dYo/0qLCglmSeJnU/IaScAq\\\\\\n\",\n       \"TehluGxJCC5dQuTmWJ5GWto9RIbClpsCacEhNz+SLFcS1cpFr6Eli9wUy/LlYlNaSUkXBck5IpM8\\\\\\n\",\n       \"HZenv3IhKzmRJAGu6VPy2ralfKbk+pBhueUiXXIUyQ2fLEOCNpIgV7qy1TdPkKyPXMRLMEO6DPz8\\\\\\n\",\n       \"88/V/i6fP2jQIFiDXHTL8OjSZUi6dMiNkKynPKmVG1HJbyOJvOtCyiwtMyR/knQtknqUbfvDDz+o\\\\\\n\",\n       \"rmJyIyp1JMEmGYJ827ZtKpgh75GhxOWi2vA0XupbWrs89thjqq5lm0oLB3N5P6SVotwQdOvWTe1f\\\\\\n\",\n       \"Uu9yE7dx40bVBU6CakICxHKjIE/+Zehz+W5KYMnwhL0uZD+QG2b53Lvuuku1JJL1khsU2cdMyQ2t\\\\\\n\",\n       \"fI8lECItJmQ/lvdK9xtL9+36qEs9Sp1IEFa+k3I8kHqS77asqyRyN+Tes/d9uzE0xvfFQFp1SLBQ\\\\\\n\",\n       \"gpnSGmPGjBnq+CSBFzluyj4g3UqFBM+llZzc6Mp+Z7iRlvfVZR+W47Rhf5R9QvZfOYbJ90aOeQby\\\\\\n\",\n       \"HZbgp+wD0npGzglybpCWItJdTsoq56I9e/aoc5TpfiHbVbqgyvdfvtvynZPzgARyLF3n+ubAkgc/\\\\\\n\",\n       \"ch6VY5EES2QykMCDHL+tQdZfyiitFeWBkwQm5DhjGniQ7Sx1Kd9JOefKOkuLMAmuSA4tQxDScP6R\\\\\\n\",\n       \"Zcl3Rr6LxtukIceh+qqpTBKQlodrcqyQfH2Sp0mOx7Kv1LY/SitTCbzJsU2+NxLwkm0u9SNpEiTY\\\\\\n\",\n       \"J8uXVmYSrJXjhRzHpOthXcn5Wo6vpq3zLGXpOet85Pgm20eO/7JMA7kuMTxgMA5gSX1Yes1SE6k/\\\\\\n\",\n       \"uSaR45Z8Z6W+ZTABSYNg3FKSiJoxWw+DSES2JUN0R0dHq+GhLR22uSaGYa9rmkyHJTdHhkg2NwS6\\\\\\n\",\n       \"OfPnz1fDuxuGYzcMHW5uWGnjIZ5vvvlmNcS1DNt99dVXq2GbTYf6FmlpaWoI7ZiYGL2bm5s+MjJS\\\\\\n\",\n       \"P3r0aP2HH36ot9T27dvVMNGtWrVSw7WHh4frJ0yYoN+6dWu1123YsEENpS3DRxuX5fTp0/pJkyap\\\\\\n\",\n       \"oaqlzFdddZUactxceWvblkuWLNEPHTpU7+Pjo6aOHTuqdTt06JC+IQzDcNc0WTLktWG/sZTUv9SV\\\\\\n\",\n       \"l5eX2obdunXTP/LII6peDGraB2TfMt2/zpw5o7/nnntU3Un9t2zZUpU7MzOz2r4wY8YMfWhoqHqN\\\\\\n\",\n       \"fKa5/VmWdcMNN6hhyWV7yc87duwwu//LMPLTpk1T+5XsX/L5sm9899131V63e/duVWZPT0/1GtnO\\\\\\n\",\n       \"H3/8cb2+r7I/jh07Vg2l7u3trb/gggvUvmdue6xdu1Z/22236YOCgtTrp06dqtavrvv2+Uhdy/aq\\\\\\n\",\n       \"az0uX75c/f7aa69Ve68M+y7L69Gjhxo63lH2bdPvtGGY+YyMDLPLNN72sn906dLF6t8XOabKZ337\\\\\\n\",\n       \"7bdmly3bZPLkyfqQkBC1D8hy5Ji6atWqaq+TfclwfJNj9vvvv1+1fpaS76Mcs+TYJccw2S8GDBig\\\\\\n\",\n       \"/+abb6q9LjU1Va2LrKss3/B9Ly4u1j/00EP6Fi1aqLoYMmSIfuPGjWaPCbJvde7cWe/q6nrOd9fS\\\\\\n\",\n       \"da4PWVZN+5vpd6S2fdZwLqzN+vXr9QMHDlR1ERUVpfaJFStWmH3/unXr9BdeeKGqU6n77t27699+\\\\\\n\",\n       \"++2qv5eXl+vvvfdefVhYmF6j0VTbrubOVXU5Dm3ZssXsPnm+daytTHL8bNeundp+sj/JZ5nbH+V3\\\\\\n\",\n       \"2edM9w3ZL6655hp9RUVFVZlkfWSflON027Zt9TfeeGO1Y6EcL6TuTJn7XHmtpcf3mr67lpyzDPvL\\\\\\n\",\n       \"q6++WuPy+/Xrp16zefPmqnlyXSLz5NrIlKXXLDUd34TU67PPPlv1XR05cqR+7969al0tOe4SkXPT\\\\\\n\",\n       \"yP9sHUQjIjKQJ4bS6kJydFDzIDnU5Mk+T0fkbLhvU1OSc6e0FJMWYdJNmYiIyNkwBxYRERERERER\\\\\\n\",\n       \"Edk15sAiIqonSdBqnAjWlLu7e7Uht4kagySUNpdU2jSvSFMP4S65xCSPVk2kPMbDr1PzJfnNDImx\\\\\\n\",\n       \"a2Kc7JyIiIiaJwawiIjqqV+/fjh16lStSZTZFZIam4yKJomya1PfZMANISNgrl27tsa/SyJ645HI\\\\\\n\",\n       \"qPmSZPyStLo27GJMREREzIFFRFRPMqJPba0GZJSn+ozmSFQXx48fV1NtZMQvT0/PJq1YGf1KRvCr\\\\\\n\",\n       \"iYy+KaN0Ee3fvx/Jycm1VkR9RvUjIiIi58IAFhERERERERER2TUmcSciIiIiIiIiIrvGABYRERER\\\\\\n\",\n       \"EREREdk1BrCIiIiIiIiIiMiuMYBFRERERERERER2jQEsIiIiIiIiIiKyawxgERERERERERGRXWMA\\\\\\n\",\n       \"i4iIiIiIiIiI7BoDWEREREREREREZNcYwCJyUgsXLoRGo8HWrVttXRQy4+TJk2r7yHZqDtq0aYMb\\\\\\n\",\n       \"b7yxTu955plnVB011++u7CNERI0tPz8ft9xyCyIjI9WxZ+bMmax0OybnUjmn2lpiYiI8PT2xfv36\\\\\\n\",\n       \"Jvm8M2fOwMfHB7/88kuTfB4R2ScGsMjh7NmzB1deeSVat26tTpzR0dG48MIL8fbbb1d73UsvvYTv\\\\\\n\",\n       \"v/++3p+zf/9+dQNt7ZvIP//8U10gGiY3NzfExcVh2rRpOH78eJ2X99///rfZBEFqCwTVNM2dOxfN\\\\\\n\",\n       \"nWkdyT4XGhqKwYMH4/HHH0dCQoKti2h3TPcjf39/jBgxAj///LOti0ZEZNUHVnK9JMu488478fnn\\\\\\n\",\n       \"n+OGG25o1jXsaMf/wsJCdb0q15dN6bnnnsOAAQMwZMgQqy5XAlSyPqZCQkJUoPWpp56y6ucRkWNx\\\\\\n\",\n       \"tXUBiOpiw4YNuOCCC9CqVSvceuut6mmhPAHatGkT3nzzTdx7773VLsgk0DVx4sR6B7CeffZZjBw5\\\\\\n\",\n       \"slGedN13333o168fysrKsH37dnz44Yfq4kgCdFFRUXUKYEkwoq6tW5zNlClTMH78+HPm9+rVyybl\\\\\\n\",\n       \"sec60ul0OHv2LLZs2YJ58+ap787HH3+Ma6+9ttE++9ChQ9Bq6/bM5Mknn8Rjjz0GW5HAuASW9Xo9\\\\\\n\",\n       \"Tp06hffeew+XXnopfv31V4wdO7bRPlduHmVbeHh4NNpnEBEZrF69GgMHDsTTTz/NSrHx8b++ASy5\\\\\\n\",\n       \"XhVyzdoUMjIy8Omnn6rJ2iSA9e6775oNYt1xxx1466231D47atQoq382Edk/BrDIobz44osICAhQ\\\\\\n\",\n       \"N96BgYHV/paeng5HMmzYMBVgEzNmzED79u1VUEsuBmbNmmXr4tmVgoIC1Wy8Nr1798b111+P5qq+\\\\\\n\",\n       \"dSQX5hdddBGmT5+OTp06oUePHo1SvvoEY1xdXdVkK/KdNK6vK664Ap07d1YBv8a8gXFxcVETEVFT\\\\\\n\",\n       \"kOsnObZZizwkKS0tVa3kHZWtjv+O4osvvlDnZwnqNSW5TunatatqMcgAFlHzxC6E5FCOHTuGLl26\\\\\\n\",\n       \"nBO8EuHh4VU/S5NvuaGXYJChCbihhZLcsN91113o0KEDvLy8VJPkq666qlpXQTkxyjwhLb4MyzBu\\\\\\n\",\n       \"ni1P4SQIJUEDPz8/XHLJJdi3b1+9181wIj5x4oT695NPPlHzZL3k5l8unOQJoDFpGSafuXbt2qoy\\\\\\n\",\n       \"mj59KykpwYMPPoiwsDBV1kmTJqknZ5aQJ1yGdZQ6v/zyy3HgwIGqv3/33XfqM+XzTX3wwQfqb3v3\\\\\\n\",\n       \"7q2ad/DgQRW0Cw4OVhe2ffv2xQ8//GC2K4QsU7aTrH/Lli1hDVJfEyZMwLp169C/f39VBum++dln\\\\\\n\",\n       \"n53z2uzsbDzwwAPqPVL/UgZ5GpuZmVntov/mm29GRESEWpYEf8w9jZRlyf4nwVepRwkWyTxzmrqO\\\\\\n\",\n       \"pCuuLE9uNl555ZVzyi25UGJiYlQdxMfH4+WXX1Y3J8bkd7mo79atmyqz7Gvjxo2r1p3FNAeWtDyU\\\\\\n\",\n       \"J8bt2rVT75Hv4dChQ/H777/XmgOrvLwczz//PNq2bavKJMuVbpCyn9d3W9flwllaO8pxyJh8trRc\\\\\\n\",\n       \"kPqRMkl9PfLII+eUqaioSAWpZRlyzLjsssuQlJSk1tH4SXNNObCktaUc/+QzpJXm3Xfffc5+JN9/\\\\\\n\",\n       \"ubiXFqRy7PL29lbdrE23rZBu17I8eU1QUJDa17766qt61w8R2Q853vr6+qpjjLREl5/l2Pzwww+j\\\\\\n\",\n       \"oqKiWkoDue6QFuCG6wjDscfSY5u855577sGXX35ZdYz67bff1N/k82+66SZ1npT58vcFCxZUe7+h\\\\\\n\",\n       \"HN988416UCnnMzlmjx49GkePHj1n3TZv3qxaE8txS65Punfvrs5BdT2XNuXxX85tco6TawDZFnIN\\\\\\n\",\n       \"Kueu8x33DXVTU/dAeb1sVyHnVMM2NJxT5FwrdZGSkmLRekrqDTmHSJ3Jv8uWLTObc0teJ90HZV2M\\\\\\n\",\n       \"HTlyRAX7pIeELEO2pbQozsnJsejz5bOk9ZUw7sZp2jruxx9/VK3jiKj5YQsscihys71x40YVFJET\\\\\\n\",\n       \"a00kh4P0k5cb19tuu03NkxteIa23pCuinFDlxConfwkMyY2f3PTJzdzw4cPVjaY0U5YLDLlwEYZ/\\\\\\n\",\n       \"ZfkShJCncHJDL823ZRlycbJjx456dTk0XBTJjbyQ5cmFntzkylMuOVlLsEKCBXLjKqT7l3SblAuI\\\\\\n\",\n       \"J554Qs2Ti0Rj8ne5yJMLLFlXeY9caC5evLjW8vzxxx+4+OKL1U2/XAjJzbfc8EquA+nyKOsoQTv5\\\\\\n\",\n       \"bLnolPwQxmT5Un7DdpJAm7xXbqalW5hcdMr75MJ6yZIlKrBmTNZVLspmz56tgpHnI9vAOLhkIBeL\\\\\\n\",\n       \"xq145GJYLmol8CTbUC6k5YKpT58+qryGhLYSuJNgnVx4S8slWbZc/J4+fVpdxEp9yD4jy5P6jI2N\\\\\\n\",\n       \"xbfffquWJUGF+++/Xy1LLrAk8CeBFGn6LvuQXBDKZ5tq7DqqyaBBg9T3wzh4JPUp21RuPm6//XbV\\\\\\n\",\n       \"bVe+N9I6UC6EZT8ykLqUi2/ZX+R7J0Gmv//+W3XtlZsGc2SfmjNnTtX3NDc3VwW8ZN+Si9OayOsl\\\\\\n\",\n       \"SCjb8KGHHlI3MrIc2VZSr8Ys2dZ1IRfg0vXScCwR8n2U76hsXznWyPaVbsBvvPEGDh8+XC0Pn3y2\\\\\\n\",\n       \"bE/pIijddSQAKd8hS0h9yc3JmDFjVJ4a6ZIpxwg5nkkCXclrZiBllADi5MmTcfXVV6tA86OPPqoC\\\\\\n\",\n       \"jLKNxPz589UxTupH9tXi4mLs3r1b1ed1111X57ohIvsjgSq5TpFAw3/+8x91Xn/ttdfUMUyOI3K8\\\\\\n\",\n       \"kusZeVgj10NyTBVyXqnLsc3wwEuOb3I+lHOkXCOkpaWpY50hwCXLlYd/ckyWY75psnjJWSldzSXI\\\\\\n\",\n       \"JsdbCbxPnTpVHZcM5DwlDydatGihjl0SKJHj/08//VR13q3rubSxj/9SHimzBNokb5QEuuT8ZI3k\\\\\\n\",\n       \"51Knci6Q7SnrJcd9IZ8l5Bwu5ZJz4Pnypa5cubKqpZmcVyVpuvQQMH1AJkExOffIZxqTB2Gyv0nw\\\\\\n\",\n       \"Tq49ZdvI58u2kesieYh3PnK9kZycrLaz7JvmyDlc6ljqtbZ7ASJyUnoiB7Jy5Uq9i4uLmgYNGqR/\\\\\\n\",\n       \"5JFH9CtWrNCXlpae81ofHx/99OnTz5lfWFh4zryNGzfKYxz9Z599VjXv22+/VfPWrFlT7bV5eXn6\\\\\\n\",\n       \"wMBA/a233lptfmpqqj4gIOCc+aZkebLcBQsW6DMyMvTJycn6n3/+Wd+mTRu9RqPRb9mypcZyjh07\\\\\\n\",\n       \"Vh8XF1dtXpcuXfQjRow457WffPKJ+pwxY8bodTpd1fwHHnhA1V92dnat5ezZs6c+PDxcf+bMmap5\\\\\\n\",\n       \"u3bt0mu1Wv20adOq5k2ZMkW9rry8vGpeSkqKet1zzz1XNW/06NH6bt266YuLi6vmSbkGDx6sb9eu\\\\\\n\",\n       \"3TnlHjp0aLVl1uTEiRPq9TVNsm0NWrdureb99ddfVfPS09P1Hh4e+oceeqhq3uzZs9Xrli5des7n\\\\\\n\",\n       \"Gepy3rx56jVffPFF1d9kP5T90tfXV5+bm6vmff/99+p1r7zyStXrZL2GDRum5sv6NlUdvfrqqzW+\\\\\\n\",\n       \"5vLLL1evycnJUb8///zz6jt0+PDhaq977LHH1P6TkJCgfl+9erV633333VdjXRnq3vj72KNHD/0l\\\\\\n\",\n       \"l1xSa7mffvpptWyDnTt3qt9vueWWaq97+OGH1XwpS123dU3kvTfffLP6jsr7tm7dqh83btw59fj5\\\\\\n\",\n       \"55+rff3vv/+u9v73339fvXb9+vXq923btqnfZ86cWe11N954o5ov62q6fWW7Gcrt7u6uv+iii/QV\\\\\\n\",\n       \"FRVVr3vnnXeqjiUGciwwPZaVlJToIyMj9VdccUW17S3HDiJyfIZjhuH6QcjxVuYZn4dFr1699H36\\\\\\n\",\n       \"9Kk2T46XpsdjS49tQn6X1+7bt6/aa+UY2qJFC31mZma1+ddee626XjJc5xiuizp16qSOVwZvvvmm\\\\\\n\",\n       \"mr9nzx71u5zvYmNjVXnPnj1b4/nG0nNpUx3/33jjDfW7LK8mpsd9A0PdGF+LyraVOjCQ5ZqeR0zP\\\\\\n\",\n       \"/+auh81d98n2Mr4+lOtueb/x5x09elTNe/vtt6u9f8eOHWq+XD83xN13313t3G9qw4YN6u+LFy9u\\\\\\n\",\n       \"0OcQkWNiF0JyKNIyQ1pgyROvXbt2qadz8rRHnrJZ2jRcug0aP0WSJ0zS9Fta6kjrj/ORp0LyJEkS\\\\\\n\",\n       \"YkurHMMkOWvkKeeaNWssKoe07JEnZ9IVSFphGLo8GlqsGJdTnvzJZ0iLGBmp0NKm2EKeCho3v5aW\\\\\\n\",\n       \"RfJUVrpS1kRa2OzcuVO1GJHm9wbyRE+2gfEQxtdcc43qSmfcvF1afMiTSfmbyMrKUk9npTVIXl5e\\\\\\n\",\n       \"VZ1J3cv2kybn8pTOmCTpr0seIFlP2Tamk2leD/ld6sBAtoE05TceAVKe0Ep3QHNPaQ11KXUgTxdl\\\\\\n\",\n       \"PzCQVjDSqkVacBm6VcrrpAWY8ZNKWS/jAQeaqo5qY+gGIJ8tpDWZ1JO03jPez6UFkOw/f/31V1Vd\\\\\\n\",\n       \"SZ2YS/5r2uzfmHzf5OmprJelDPuddIk1Zmg1YDpClCXbujaS2F7eI1005Xu5atUq1TXE+POlnuTp\\\\\\n\",\n       \"dseOHavVk6FLsOF4YOhOI63mjJnuB+ZIqwl5si2tFYwT4cv2l9GxTNdbtqVx7hZ3d3fVys14vaX+\\\\\\n\",\n       \"pTWhPEUnIuclLX+NyTHRkmOgpcc2A7k+MT7fShxIzg+SI0l+Nl6GnNPkOsb0mkta+8jxyriswlBe\\\\\\n\",\n       \"aeEu3R3lWGiaSsJwvqnPubSxj/+Gsi5fvvycLviNTVrCSf2fr/WV4bpPWmoZt5SSaz7T6yipSyHX\\\\\\n\",\n       \"B8YM71uxYoVqxd1YDJ9rrtU9ETk/diEkhyMj9y1dulTd0EkQS7oNSVNi6QojJ9/zJSKVrl/SNFpy\\\\\\n\",\n       \"TMlFjHEfeksCQ4Yb7pqSR8oNpSWk25dcnEkAQprby0WQcVc3aVouQQEJ2JleCEg5LWmKLaTrl7kT\\\\\\n\",\n       \"vzSFr4khuCU3+6aknHJxYkgaLl2VpCzSZVDyVQj5uWfPnioJqpCm8lLPMvRxTcMfSxBMApEG0iWv\\\\\\n\",\n       \"LiSXkgRX6lofhjoxrg/pzinN6GsjdSSfaTqynqGbqaEO5V/p6mCaJ8K0bpuijmojQTchuZkM+7l0\\\\\\n\",\n       \"KTPk1jBXFkNdSRDWONBpCelGIV0rZR+RLgCyH0nXOkO3B3OkLqW+JeBsTAKJcoNgGpS1ZFvXRson\\\\\\n\",\n       \"3V7kWCOBHhnZVL6Lxttc6km6r5yvngxlN91mputSl++j3OhJF1/T9ZbuHqbBQ1lv2Z4G0qVQAmMS\\\\\\n\",\n       \"2JIySCJ/6Tpo7eHQich2DDkJ63MMtPTYZmB6bJNcm/KwT0ZYlsmSZZzvesWQaqG2bmP1OZc29vFf\\\\\\n\",\n       \"HuZ99NFHqgu8dGmUayXp6ifXrXUdnbexGM4jcl1jSs495h7wmuagkn1AAnyvv/66yocm17jywFke\\\\\\n\",\n       \"qFh6zWoJw+fW9pCMiJwXA1jksOTmTYJZMslNsDy5k6dh5xsGWlo8SPBKnuBJ7h85qcpJUHJiWfJk\\\\\\n\",\n       \"zPAa6ZsvN86mLB01TfLR1BRwkYs0ucCRp3pyISBJQWV9pQWKBOvq8gSvphY61kp+KbkcJK+EBBIl\\\\\\n\",\n       \"ybTkvJDgm1zsGRjKK3ktahq9x/RG3rgFmjU1dn3Ul63rSPLKyZNmQwBWyiNPXuWJszmG4GR9SZ45\\\\\\n\",\n       \"2c/libTk3ZCLe9m333//fXWRXxtLL1obuq0lEGT4jkrCYAk0yw2NJEc35BmRepLvsnxPzZHvblOz\\\\\\n\",\n       \"ZL0l0Cp5tCQ3ibQOk5YS8v2VwLphOHYicmwNaaFb12Ob6fnIcE6T4IW5nI/C9IGFNc7P9TmXNvbx\\\\\\n\",\n       \"X+pGWi1LiyxpMSvHXHnQJw9C5fwn613Tec2QcN+eGHK1mguESo41ab1vOLdLq3R5aCw5Ma01II/h\\\\\\n\",\n       \"c2WbEFHzwwAWOQVDtzvjUVZquhiQ7m1yMSUnWQNJYGw6mldN7zck8JSbfUta/NSHJGyXJJjSLdL4\\\\\\n\",\n       \"iaS57omN8QRKkuULucE1JaPZyEWDtL4ykKeL0v1RmtjL00i52DR0HxTSSsTQxa6x6syaZBsbj55Y\\\\\\n\",\n       \"Ux1Jixa5gDV+gir1Y/i74V+pF2nhZNwKy7RubVlH0spPgknG3c6kDqTM5yuLvE5a5Em3jbq2wpLX\\\\\\n\",\n       \"S+BZJvksCWpJsvKaAlhSl1Lf8tTb0NJNSNBUvr+GOm8sklxWgmxPPvmk6l4q3z1Zf2kJKgHn2r6L\\\\\\n\",\n       \"hrJL9xfjJ9zmRtgy917DPmPYT4S0DJDl1Xd/ke+wfE9lkmXJTZmMACaJ+qXlBhE1X5Ye22oirZKk\\\\\\n\",\n       \"Ra8EYKx1TjNcf8n5uaZlNta5tCHHfyHXCfI6mSTgJQ/5ZPAdua6Tchpam5lei9aW7sGa14GG84y5\\\\\\n\",\n       \"bv2m1ytyXSpBOcOo2aYkqCeT1JUM/iIte+Xh1AsvvGBRWc63PobPNb4OIKLmwz7arRJZSE705p7E\\\\\\n\",\n       \"GXLjGHexkZsz0wsBIU+6TJcho+uZPuUyBGhMlyFP9KSVilx8SA4tU9JsvqEMTyFNuzdKyzFTNa1n\\\\\\n\",\n       \"Q0iXN+kCKEEp42XLRaM8UZOnkcbk4kuCEfJEUSbplmTcnUCCfTJi3wcffGB2KGdr1Jk1SfdBQ/dU\\\\\\n\",\n       \"U4ZtInWQmppabTRHGX1P9iUJVBlGZZTXyXwZJchA9jV5nTFb1ZFcHMvTUmnh93//939V8yV/iAS2\\\\\\n\",\n       \"JDhlSvYJWSdDXUmdmGu1U9tTc0MODQOpM3kqbjr0uDHDfmc8AqIwPP22dES/+pLWlZJvS4K08nTZ\\\\\\n\",\n       \"UE/SFVlG9TPXXdkwOqShJYC0cjJmuh+YI98v2T4yKqpxnUqOFjku1Ge9Tetfli/dr2X55o5rRNS8\\\\\\n\",\n       \"WHpsq+06Rs4P0rrT3AOh+pzTZERgubaQc4DpdY/h2NhY59KGHP/lAY8pucYShnOeIThnyC9puFao\\\\\\n\",\n       \"qfulMRk9W5i7FpTjuTxYM1cXNV33GafTkFyiMkK3MQkOyoNjGTnYmIwsabg2MJBAlgTvaju3m6rp\\\\\\n\",\n       \"+ttg27ZtqvdEfUYTJiLHxxZY5FCk+5/kIJCnX9K9TloNyNMdCSJIokppyWE8zK7keJGbW8nRIxc9\\\\\\n\",\n       \"kmRdhjKW7n9y8pMbNrlJl9cZmkQbyIlcLsBefvlldTKXrnLS3FsujiQYIfl65GJKuh7Kk8aEhATV\\\\\\n\",\n       \"NFyeNL3zzjsNWk/JRyM3lJL8VJ76SesUuUCSzza9CJH1lPLIky0JAMhrasrPVRevvvoqLr74YtXN\\\\\\n\",\n       \"Uoa8losxudmWepNWMqYXM9J6Y9GiReqCTYbrNvXuu+9i6NCh6mJGkk/LU1JpOSP1L8mkJWDUEJKf\\\\\\n\",\n       \"4YsvvjhnvlwUyjrUhQRypKXeVVddpZLtSx3LBai0iJOniJLgXZLGywWyBH/kYkr2P3mPdJ+Ui2tD\\\\\\n\",\n       \"LinZhrJPSN6LkydPqn1OcriZy7fWVHUkLYHkwlDyehiSsMt3wrg7h9SBrK98X2QdpQ5k28oQ4bKe\\\\\\n\",\n       \"si7SEk+6U8h3QYIr8uRWclnJ8v/++2/1N+lyYY7Ug9xkyHIl+CkXwrLcml4vpN6l9aRc0Ev5JUj4\\\\\\n\",\n       \"zz//qAtu6cYqn9fYpC6km50cF+QzZd1leHZJlCwBdtnWctMhNwwyXwKAcqEv6yk3c7JvSPBIhpaX\\\\\\n\",\n       \"RP8y1Pr5njjL8UVaRUmQUOpXcorIE3EJhkkXauOWc3U5xkgXaClvRESEuimT45YEwwz7LhE1X5Ye\\\\\\n\",\n       \"22ozd+5c9V659pJzmhz35Vwq5yK57jIX2KmNBELkekfOq3KNJtd8EniRMsmgIIYHLo11Lq3v8V9y\\\\\\n\",\n       \"PkpgSo6v0tJJcmPJ8Vu61Ek5hQRj5Lwgx3pDi2a5pjINCJkjraGkbuVaWLr3y3slT5hMEmCTlkpy\\\\\\n\",\n       \"7jxfInfp6idllDLJtY+UQ677pGyGPJnGOcKkBZkErQypByR5vpzD5dpJyiFll2sLQzDTUnK+FNL9\\\\\\n\",\n       \"UB7+yPvlWts4qCb7AHNgETVTth4Gkagufv31V/1NN92k79ixo97X11cNLR8fH6+/99579WlpadVe\\\\\\n\",\n       \"e/DgQf3w4cP1Xl5e1YYQlqGXZ8yYoQ8NDVXLGDt2rHqtDBFsOszw/Pnz9XFxcXoXF5dzhjGWn+W9\\\\\\n\",\n       \"MhS0p6envm3btvobb7xRDbdcG8OQyOcbZviHH37Qd+/eXS27TZs2+pdfflm/YMGCc4ZZTk1NVcNf\\\\\\n\",\n       \"+/n5qb+NGDGixmG1jT/feF1q8scff+iHDBmi6tDf319/6aWX6vfv32/2tb///rtarkaj0ScmJpp9\\\\\\n\",\n       \"zbFjx/TTpk3TR0ZG6t3c3PTR0dH6CRMm6L/77ruq19RU7poYhoiuaTLepuaGChdSZ4Z6Mzhz5oz+\\\\\\n\",\n       \"nnvuUWWU/axly5ZqWcbDgcs+Z9iX5DUybLeU35Qs64YbblB1KPuL/GwYbtr09U1RR66urvrg4GD9\\\\\\n\",\n       \"gAED9LNmzdKfOnXK7Pvy8vLU3+U7Jusn6ynDkP/nP//Rl5aWVr1OhjaXocXleymvCwsL01988cX6\\\\\\n\",\n       \"bdu2Vat7423xwgsv6Pv3768PDAxU+5e898UXX6y2XBkS3PQ0VVZWpn/22WfVUOpSPzExMaqMxsOl\\\\\\n\",\n       \"13VbmyOfK0N5m/PMM89U+w5JmeX72aVLF72Hh4c+KChIDVMv5czJyal6X0FBgVqm1L0ceyZOnKg/\\\\\\n\",\n       \"dOiQWtbcuXPPO5z6O++8o+pJ1jsiIkJ/5513njOUvKyblMOU6bDrH3zwgTo+hoSEqDLL8ev//u//\\\\\\n\",\n       \"qpWXiByDuXOCfOd9fHzOea2542pNx0tLj221HS/lPCl/k2O1HLvk3DZ69Gj9hx9+eN7rIsO5y/Q8\\\\\\n\",\n       \"uW7dOv2FF16orntkHeVa6e23367zubSpjv+rVq3SX3755fqoqCh1jpR/p0yZoj98+PA5ZR4zZoxa\\\\\\n\",\n       \"jhzjH3/88aprK+NrNtPjudiwYYP6XFm+vF62s3Edml7f1mTJkiX6Tp06qTJ07txZv3TpUrOfJ9tV\\\\\\n\",\n       \"riU+//zzqnnHjx9X1+hyPpFrVznXXXDBBepasi7kmkKu6+VaQq4pjffXAwcOqN/rukwich4a+Z+t\\\\\\n\",\n       \"g2hERETNkYyc2qtXL9UyburUqbYuDhER0Tktz/7880/V8tqYtM6XVsTS4rqpyABM0ppNWr6zBRZR\\\\\\n\",\n       \"88QcWERERE1AuuGaki6F0i1GEtgTERE5Chn1W1IRSOqEpiDd72XEYkmZweAVUfPFHFhERERN4JVX\\\\\\n\",\n       \"XlFPjSVXlyQE/vXXX9Uk+dRMh6QnIiKyZzIaoYzibSnJ/WnuQY4xyc1YE8lVa5qLi4iaHwawiIiI\\\\\\n\",\n       \"msDgwYNV8tnnn39eXYTLxb8MiCCJcImIiJzZ/fffrwZdqQ0z2xDR+TAHFhERERERETWa/fv3Izk5\\\\\\n\",\n       \"udbXjBkzhluAmpTkVJOR16WFvIz0vmzZMjXKaG0kJ9yDDz6oRj+VFvRPPvmkyhVHTYMtsIiIiIiI\\\\\\n\",\n       \"iKjRdO7cWU1E9qSgoAA9evTATTfdhMmTJ5/39SdOnMAll1yCO+64A19++SVWrVqFW265BS1atMDY\\\\\\n\",\n       \"sWObpMzNHVtgEREREREREVGzJYMDnK8F1qOPPoqff/4Ze/furZp37bXXIjs7G7/99lsTlbR5Ywss\\\\\\n\",\n       \"sjqdTqeaCPv5+XGUECIiqsptkpeXh6ioKDXyoiUkQXBpaanVatDd3R2enp7cIlbAcz0REdXn3N7Y\\\\\\n\",\n       \"53spk+lIlR4eHmpqqI0bN57T1VVaXs2cObPByybLMIBFVifBK46oRURE5iQmJqJly5YWXcwGxbRC\\\\\\n\",\n       \"cWaG1SpSRriS5v8MYjUcz/VERFTXc3tN5/vY1r5ITa+wSoX6+vqeM2Ll008/rQbOaajU1FRERERU\\\\\\n\",\n       \"mye/5+bmqlE2vby8GvwZVDsGsMjqpOWVuGzF33Dz8bV5DUd7uOOp+Ci4ajRYuTcVy3Ym2bpIREQY\\\\\\n\",\n       \"3DYE43p44/MDn+N03mmnr5HSwlJ8ed2XVeeI876+tFQFr6x1LikryMcPY4ep5TKA1XCG7TgU4+EK\\\\\\n\",\n       \"NysskZqj5Tmf2boIRNQAEriRhguWntvNkfOyBK9ObWsDfz9tw8qTp0PrPidVQM3f379qvjVaX5F9\\\\\\n\",\n       \"YACLzpGUlKT69/76668oLCxEfHw8PvnkE/Tt29ei2jI02ZQbDjff+h/MrCUdwJzUHMxpH4MrB/vD\\\\\\n\",\n       \"z98fi7Yk2rpYRNSM9W4ViKsG+ePjvR8jXZcOdx93NBemzfrPx17OJWR+O0rwylXDABbVj/ENJhE1\\\\\\n\",\n       \"n3O7Ob5+GjU1hA6aqmNLYxxfpCV3WlpatXnyu3wWW181DQawqJqzZ89iyJAhuOCCC1QAKywsDEeO\\\\\\n\",\n       \"HEFQUJBD11RySTkeO5SIOR1iMLZrJLQaDb76J8HWxSKiZiouzBdb07YiMY/BdCIiIqIKvQ4V+oYv\\\\\\n\",\n       \"ozENGjQIv/zyS7V5v//+u5pPTYMBLKrm5ZdfVs1ApcWVQWxsrFPUUkppOR49lIiX28fgoi4R0GqA\\\\\\n\",\n       \"LzYziEVETatjpB/6xwbj66NHWfVERERENiK5so4aXY9JnsydO3ciODgYrVq1wqxZs1TvpM8+q+zu\\\\\\n\",\n       \"fMcdd+Cdd97BI488gptuugmrV6/GN998o0YmpKbRsE6m5HR++OEH1VXwqquuQnh4OHr16oX58+fD\\\\\\n\",\n       \"WaSVluORQ4mQ2PzITuFwkSgWEVET6Rzlj5uHxmLpiU9wMOsg652IiIhIdf/TW2Wqi61bt6r7XZnE\\\\\\n\",\n       \"gw8+qH6ePXu2+j0lJQUJCQnVGnZIsEpaXfXo0QOvvfYaPvroIzUSITUNtsCiao4fP4733ntPfXkf\\\\\\n\",\n       \"f/xxbNmyBffdd58aenz69Olma6ukpERNxsn87Fl6WTnKdHq4azUY0jYEfx3JtHWRiKgZkPQQNw0P\\\\\\n\",\n       \"wZIjC7ErY5eti0NERERkN3Tqv4Yvoy5GjhwJvb7moNfChQvNvmfHjh31Kh81HFtgUTU6nQ69e/fG\\\\\\n\",\n       \"Sy+9pKLPt912G2699Va8//77NdbUnDlzEBAQUDVJF0R79/rJVBWfnzE0FiPah9q6OETUDET6e8LN\\\\\\n\",\n       \"xQ2Hzx62dVGIiIiIiBwOA1hUTYsWLdC5c+dq8zp16lSt6aQp6Ruck5NTNcmwpfZuT34RXjqWrIJY\\\\\\n\",\n       \"Nw6JxQUdGMQiosbTIsAT944NwR+n/kBheSGrmoiIiMhIhV5vlYmcGwNYVI2MQHjo0KFq8w4fPozW\\\\\\n\",\n       \"rVvXWFMeHh5VQ5U21pCljWF/QTFeOFoZxJo2KBZjOoXZukhE5ITC/Txw76h4rE9ajz8S/rB1cYiI\\\\\\n\",\n       \"iIjsji1yYJHjYQCLqnnggQewadMm1YVQRmT46quv8OGHH+Luu+92ypo6WFiM544mQacBpg5og7Fd\\\\\\n\",\n       \"ImxdJCJyMt1aBiCxeDdWJ662dVGIiIiIiBwWA1hUTb9+/bBs2TJ8/fXX6Nq1K55//nnMmzcPU6dO\\\\\\n\",\n       \"ddqaOlxYgmcliAXg2n6tcEnXFrYuEhE5CT9PV/RrE4zk/GRbF4WIiIjIbknrqYoGTmyB5fw4CiGd\\\\\\n\",\n       \"Y8KECWpqTo4WlmD20dN4vl1LTO4bjXXHMpFTVGbrYhGRgwevpOtgStl2dh0kIiIiqoU1ugAygOX8\\\\\\n\",\n       \"2AKL6H9OFJUiv7wCWo0GHSN8WS9E1CC3DItDUulWLD60GDp9QweGJiIiIiJq3hjAIjLyVcoZ9e/t\\\\\\n\",\n       \"F8Sje3QA64aI6sVVq0GEvwfWJ6+HnglFiYiIiGrFUQjJEgxgERn562w+3juVBg2AmRe2R88YBrGI\\\\\\n\",\n       \"qG7cXDS4dXgcUnOKkVaQxuojIiIiOg+dlSZybgxgEZlYl1OAdySIpQHuG90efVoFso6IyOLg1W3D\\\\\\n\",\n       \"4+Dpm4iFx55Bub6cNUdEREREZAUMYBGZsTGnAPNOVgax7h7VDv1bB7GeiOi8ukYHICQoGwv2LkBJ\\\\\\n\",\n       \"RQlrjIiIiMgCDR2B0DCRc2MAi6gGW3IL8PrJVBXEumNUPAbGBbOuiKhG0vW4U6Q/0gvTUaorZU0R\\\\\\n\",\n       \"ERERWahCb52JnBsDWES12JZbiP+cSFE3ppLTJsLfk/VFROeQY8RVfWPQLqYQy48tZw0REREREVkZ\\\\\\n\",\n       \"A1hE57EjrwhJxaXQajRoHezF+iKiaqSV5rX9W6Fjq0J8sOsDZJdks4aIiIiI6oBJ3MkSDGARWWD1\\\\\\n\",\n       \"mVzVwuL24XFoHcIgFhH969p+rdA2zAcf7P4AOaU5rBoiIiKiOtJBg4oGTrIMcm4MYBFZ4LczuViU\\\\\\n\",\n       \"kgUXFy1mX9IFcaE+rDciUqMODmzniYVH5iK3NJc1QkRERETUSBjAIrLQDxnZ+Cr5DLQuGjxxSSfE\\\\\\n\",\n       \"hzOIRdTcDY0PRVF5EVteERERETWATm+diZwbA1hEdfBTZg4+T86EVqvBrIs7oUOEL+uPqJka3Skc\\\\\\n\",\n       \"Y3t64qM9H6FcV27r4hARERE5rIZ2HzRM5NwYwCKqo98yc/FJUgZctBo8dHFH+Hq4sg6JmpleMYEY\\\\\\n\",\n       \"080d83fPR1J+kq2LQ0RERETk9BjAIqqHP87kIae8Aq4aDSICPFiHRM1MdJAXDmYdRHJBsq2LQkRE\\\\\\n\",\n       \"ROTw2AKLLMEAFlE9bc7JV1+g/7uoA0J83FiPRM1E95YBGNE+DLsydtm6KEREREROQafXWGUi58YA\\\\\\n\",\n       \"FlE9LUw6gzVZufB0c8GLk7oh1NeddUnk5Hq0DMANA1tj0dEPcejsIVsXh4iIiIio2WAAi6gB5p/O\\\\\\n\",\n       \"xB9n/hfEmtgV4X4MYhE5s6v6xmDpiYXYn7Xf1kUhIiIichrsQkiWYACLqIEWJGViRWYOPNxc8MLE\\\\\\n\",\n       \"rojwZ04sImcUHegFL3cXJOYl2rooRERERE6lAlqrTOTcuIWJrODT5DP4JSMb7q4ueH5SN7QI8GS9\\\\\\n\",\n       \"EjmRmGAv3Ds2FL+fXoozxWdsXRwiIiIiomaHASwiK/kiJQs/pWfDXavBsxO7IsCLid2JnEG4nwfu\\\\\\n\",\n       \"uTAMqxJWYe3ptbYuDhEREZHT0Vshgbssg5wbA1hEVvRVahaSS8rgptWgdYg365bICcSF+SC5IBnr\\\\\\n\",\n       \"ktbZuihERERETok5sMgSDGARWdmhgiJI7P/mobHwdndh/RI5MGlJOaZTBBJyE2xdFLKhuXPnQqPR\\\\\\n\",\n       \"YObMmU65HZx9/YiIiMg5MIBFZGUfnc7EnrwideM794pu8PVwZR0TOaAgbzfcN7odThZvwoqTK2xd\\\\\\n\",\n       \"HLKRLVu24IMPPkD37t2dchs4+/oREZFjqNBrrTKRc+MWJrIyvTzNPpGCnXmF8Pd0w5zJ3eDHIBaR\\\\\\n\",\n       \"w7l+YGucKNqIpUeWQq++2dTc5OfnY+rUqZg/fz6CgoLgbJx9/YiIyHHooIEO2gZOzIHl7BjAImoE\\\\\\n\",\n       \"cqv7yolUbM0pgJ+nK+Zc0Q3+nmyJReQo3F20CPPzwO6M3QxeNWN33303LrnkEowZMwbOyNnXj4iI\\\\\\n\",\n       \"iJwL76iJGtHrp9Jwf+sIDAjwUUGsx5fuQU5ROeucyI55uGpx+4g4pOeW4ETuCVsXh6wsNze32u8e\\\\\\n\",\n       \"Hh5qMrVo0SJs375ddbFzRnVdv5KSEjXVVI9ERETWSOLe0GWQc2MLLKJG9uapNGzMzoePuyvmSndC\\\\\\n\",\n       \"tsQisuuWV3eMaAu9x3F8duJplOsYcHY2MTExCAgIqJrmzJlzzmsSExNx//3348svv4SnpyecTX3W\\\\\\n\",\n       \"T+rJuN6kHomIiKyFObDIEmyBRdQE3k5IR4S7G2K9PTAoLgQr96ex3onsUFyYD0KD8vDK1oUMXjkp\\\\\\n\",\n       \"Cd74+/tX/W6u9dW2bduQnp6O3r17V82rqKjAX3/9hXfeeUe1RHJxcdxRZuuzfrNmzcKDDz5YrQUW\\\\\\n\",\n       \"g1hERETUlBjAImoiRwqLEeftgdGdwrHmUDrKKpgUmsieaDRAn9ZByChKYvDKiUnwyjiAZc7o0aOx\\\\\\n\",\n       \"Z8+eavNmzJiBjh074tFHH3Xo4FV916+mrpZERETWS+LesC6ATOLu/BjAImoiX6ScQUdfL7T298SL\\\\\\n\",\n       \"E7viye/3obRCx/onspPg1XX9WyE2Kg8f7llk6+KQjfn5+aFr167V5vn4+CAkJOSc+Y7I2dePiIgc\\\\\\n\",\n       \"j4wiWNHADEc6jhrt9JgDi6iJSIOrJw+fxsmiEoT/L4glyaKJyPYu6xGFNlG5+HD3h8grzbN1cYiI\\\\\\n\",\n       \"iIiIyARbYBE1oQoATx1JwjPx0Wjr74GXJnXFE8v2oricLbGIbKlVsDf+Ov0b8soYvCLz/vzzT6eu\\\\\\n\",\n       \"GmdfPyIicowk7g1bBlO0ODs2/yCyQRDr6aNJKidWiK8HXprcDZ5u/CoS2cqYThFoEeCFEzknuBGI\\\\\\n\",\n       \"iIiIbNSF0BoTOTduYSIbkPZWzx5NxsGCYgT7uGMOg1hENjG2SwQu6BiGjw6+gjPFZ7gViIiIiIjs\\\\\\n\",\n       \"FANYRDYMYj1/LBknikoQ5O2OST2juS2ImlCorzvGdvfF/AMvI6UghXVPREREZCMVeo1VJnJuDGAR\\\\\\n\",\n       \"2ZD00t6WW6B+7hIVAC2PuURNJi7MF0XlRUgrTGOtExEREdmQjEBojYmcG7cwkY39kpGDrLJytAz2\\\\\\n\",\n       \"whPjO8FFwygWUWPrGROIqwcEYMmRJaxsIiIiIiIHwAAWkY0V6/R46FAiMkvL0TbcF09O6MggFlEj\\\\\\n\",\n       \"6hrlj+sGtMIXB77AgawDrGsiIiIiG9PptVaZyLlxCxPZgRKdHv93OBHppWWIDfXF7Amd4ML+hESN\\\\\\n\",\n       \"ontMIDak/YpDZw+xhomIiIjsALsQkiUYwCKyoyDWI4dOI7WkDK1DffDMpZ3hyiAWkVW1CvZGt+gA\\\\\\n\",\n       \"JOUnsWaJiIiIiBwIA1hEdqRUr8ejh08juaQMMcHeePayLnBzYU4sImtoE+KNO0e2xark77D3zF5W\\\\\\n\",\n       \"KhEREZEdjdDe0BEIZRnk3BjAIrIzZXo9HjucqIJY0UFemD6oja2LROTwJBB855hQ/J70DdYnr7d1\\\\\\n\",\n       \"cYiIiIjIiA5aq0zk3LiFiexQuR5YlnYWegCxYT62Lg6Rwwvydoenqye2pG6xdVGIiIiIiKgeGMAi\\\\\\n\",\n       \"slO78gpRWKFDdKAX7r2gra2LQ+SwgrzdcPuIttiUsgnl+nJbF4eIiIiITFTotVaZyLlxCxPZqfwK\\\\\\n\",\n       \"HR46mKD+7dMmGPePbgdmwyKqe/DqvtHtcKTgbyw/upzVR0RERGSHdNBYZSLnxgAWkR3L/V8QK69C\\\\\\n\",\n       \"h16tAvHAhe15WCaqg0FtQ5BevhfLjy2HXnXKJSIiIiIiR8QAFpGdk+DVgwcTkFtege4tA/DwRR2g\\\\\\n\",\n       \"4cMFovPycNWiQ6Q/UvJTWFtEREREdoxdCMkSDGAROYACFcRKVEGsztH+uLxHlK2LRGTXPN20uHNk\\\\\\n\",\n       \"W5S5HcGqxFW2Lg4RERER1aICWqtM5Ny4hYkcRKFOh9/P5Kqf48M5MiFR7cGreBW8+nTfpyjXMXE7\\\\\\n\",\n       \"EREREZGjYwCLyIH8nZWHcr0eXaIDcW2/GFsXh8juuLlocPcF8cgvLsen+z/lqINEREREDkCn11hl\\\\\\n\",\n       \"IufGABaRA0kvK8djhxNRptdjbNdIXNefQSwiYxH+nggPKsZXCbNRoa9g5RARERE5AJ0Vug/KMsi5\\\\\\n\",\n       \"cQsTOZiUknI8eigRZTo9LuoSiRsGtLJ1kYjsglYDjO4UgbTCNOj0OlsXh4iIiIiIrIgBLCIHlFZa\\\\\\n\",\n       \"jkcOJaJEp8fozhGYPri1rYtEZFMuGg2mD26DqPAsfLb/M24NIiIiIgei02utMpFz4xYmcuDuhI8c\\\\\\n\",\n       \"SkCxTo8LOoTj5qFtbF0kIpu5uFskIkLP4MPdH6KgrIBbgoiIiMiBVEBjlYmcGwNYRA4so6wCDx9M\\\\\\n\",\n       \"QJFOj6HtwnBFr2hbF4nIJqIDvbAzYycKywu5BYiIiIiInBADWFSruXPnQqPRYObMmawpO5VVXoFP\\\\\\n\",\n       \"TmeonztHB9i6OERNbny3FmgZ7I29mXtZ+0REREQOiF0IyRIMYFGNtmzZgg8++ADdu3dnLdm5I4XF\\\\\\n\",\n       \"0OmBuFAfjO4YZuviEDWZCd1bYGBcMD46MBdnis+w5omIiIgckIwd3fAuhOTsGMAis/Lz8zF16lTM\\\\\\n\",\n       \"nz8fQUFBrCUHSOr+wrEk6DTA9QPbYGyXCFsXiajR+bi74MJufvjo4FykF6WzxomIiIiInBgDWGTW\\\\\\n\",\n       \"3XffjUsuuQRjxow5bw2VlJQgNze32kRN71BhCZ49mgQdgGv7t8IlXSO5GcipdYkOQGlFKTKLMm1d\\\\\\n\",\n       \"FCIiIiJqAHYhJEswgEXnWLRoEbZv3445c+ZYVDvyuoCAgKopJiaGtWojRwtL8PTR06jQ63Flvxhc\\\\\\n\",\n       \"2qMFtwU5pf6xwbhqgD8+2/8Z9NDbujhERERE1AAVeq1Vprp699130aZNG3h6emLAgAH4559/an39\\\\\\n\",\n       \"vHnz0KFDB3h5ean73gceeADFxcUNWHOqCwawqJrExETcf//9+PLLL9WX2BKzZs1CTk5O1STLINs5\\\\\\n\",\n       \"XlSKp44kqSDW5N4tMTQ+hJuDnErX6AAVvPp036c4mn3U1sUhIiIiIge0ePFiPPjgg3j66adVA44e\\\\\\n\",\n       \"PXpg7NixSE83n5riq6++wmOPPaZef+DAAXz88cdqGY8//niTl725YgCLqtm2bZv6wvbu3Ruurq5q\\\\\\n\",\n       \"Wrt2Ld566y31c0XFuanxPDw84O/vX20i2zpVXIrl6dnq5x4xgdwc5FTiw32xLW0bjuUcs3VRiIiI\\\\\\n\",\n       \"iMgK9NBA18BJllEXr7/+Om699VbMmDEDnTt3xvvvvw9vb28sWLDA7Os3bNiAIUOG4LrrrlOtti66\\\\\\n\",\n       \"6CJMmTLlvK22yHoYwKJqRo8ejT179mDnzp1VU9++fVVCd/nZxcWFNeYg9uQVqX/7tA5Cj5gAWxeH\\\\\\n\",\n       \"yCpkpM1BcSE4nnOcNUpERETkJJq6C2FpaalqvGGc81mr1arfN27caPY9gwcPVu8xBKyOHz+OX375\\\\\\n\",\n       \"BePHj7dCDZAlXC16FTUbfn5+6Nq1a7V5Pj4+CAkJOWc+2bfDhcV491Qa7m4dgftHt8e7q49gW0Jl\\\\\\n\",\n       \"qywiR215deuwOPyS+BX2ZO6xdXGIiIiIyA6ZDiomPYZkMpaZmal6F0VEVB+9XX4/ePCg2eVKyyt5\\\\\\n\",\n       \"39ChQ6HX61FeXo477riDXQibEANYRE5sQ04Byk6mYWabCNw9qh3eX3MU/5w6a+tiEdXLzUNj8Wvi\\\\\\n\",\n       \"1/gnlc20m5OL9v2jEqU2VFFREZZYpURERERkbTq9Rk0NXYYwHVRMclY988wzaKg///wTL730Ev77\\\\\\n\",\n       \"3/+qhO9Hjx5V+aOff/55PPXUUw1ePp0fA1hk0ReVHNeW3AK8cTIVD7SJxB2j4qFdewybjmfZulhE\\\\\\n\",\n       \"dRLi4w4vdxfsz9rPmiMiIiJyMhXQqqmhyxAyqJhxXmbT1lciNDRUpcdJS0urNl9+j4yMNLt8CVLd\\\\\\n\",\n       \"cMMNuOWWW9Tv3bp1Q0FBAW677TY88cQTqgsiNS7WMFEzsDW3EP85kaJ+vm1EW3SM9LN1kYgsFurr\\\\\\n\",\n       \"jvsvDsL61JXIK81jzRERERFRjUwHGDMXwHJ3d0efPn2watWqqnk6nU79PmjQILPLLSwsPCdIZcgR\\\\\\n\",\n       \"LV0KqfGxBRZRM7EjrwgbzuZjSJAverQMwMFUBgLI/gX7uOO+0e2wK2MVfjnxi62LQ0RERER23oXQ\\\\\\n\",\n       \"Ug8++CCmT5+uBi3r378/5s2bp1pUyaiEYtq0aYiOjsacOXPU75deeqkaubBXr15VXQilVZbM52Bn\\\\\\n\",\n       \"TYMBLKJmZHdeoQpgXdg5AptOnMGpM5UjFRLZq+4tA5BZfpDBKyIiIiInpoNWTQ1dRl1cc801yMjI\\\\\\n\",\n       \"wOzZs5GamoqePXvit99+q0rsnpCQUK3F1ZNPPgmNRqP+TUpKQlhYmApevfjiiw0qN1mOASyiZmRd\\\\\\n\",\n       \"dj5C3F1xTWQwZl/SBS/8fAAnzhTYulhEZnm5uaBP6yAkFOxjDRERERGR1d1zzz1qsiQXtKurq0oI\\\\\\n\",\n       \"LxPZBnNgETUzy9Oz8VXyGWhdNHhyQifEh/vYukhE5/B2d8E9o+JRoD2AX0/8yhoiIiIicmIVeo1V\\\\\\n\",\n       \"JnJuDGARNUM/Zebg8+RMuGg1mDW+E9pH+Nq6SETVzBgSixzsxecHPkeFvoK1Q0RERNQMcmA1dCLn\\\\\\n\",\n       \"xgAWUTP1W2YuPknKgFajwWMXd0LHCI5MSPbBRaNBVKAn1p5eC51eZ+viEBERERGRHWAAi6gZ+/1M\\\\\\n\",\n       \"Hj5OzIBGAzwyrgM6sCWWWamHtmPfii/rVLfyenlfXZ3csgrfP3E1vrh9GH6YfR1O716P5ha8mj64\\\\\\n\",\n       \"NXKKypBakGrr4hARERFRE9DrtdA1cJJlkHPjFiZq5lafzcOKzBxotRqM7lQ54gb9S4JQq+c9gG3f\\\\\\n\",\n       \"vIU9v3xqUdXI6+T18r66BLHSj+7G3x8+hfhhl2LC058hptdw/PnOIzh7+lizCV7NGNoGoaEZ+Ojw\\\\\\n\",\n       \"MyjVldq6SERERETUBCqgscpEzo2jEBIRDhYUYWxoAHq0DECorzsy8xk4MDhz8gDKS4vVzzuW/Ff9\\\\\\n\",\n       \"22389Br3mp3LPsDunxaon+V9q996GN5B4Qho0RrtR0xCVOf+SNi+Brt++Bh56afh4u6B4FYdcMG9\\\\\\n\",\n       \"r+LAH4sR1XUguo67Qb2/16Q7kLL/Hxxa/S0GTnvM6ffULtH+aBVRiDe2zUdxRWWdExERERERCQaw\\\\\\n\",\n       \"iAj/5BRi9ZlcjA7xx4sTu+LJ7/cig0GsyqDK2KnQVZRXBa9qCmLlpiXgrw+eQtapg1XzPFp2gWer\\\\\\n\",\n       \"7tCV5CMtcS8S37gf3sGRKDqbjt5X3o3WfUehrLgQaYd3SrtpZBzbg84XTam23KguA5G4Y22z2Evb\\\\\\n\",\n       \"RfghozCZwSsiIiKiZkanr0zk3tBlkHNjAIuIlI+TMlGh1+Oi0AC8OKkrnlq+D2m5Jawdo2BVTUGs\\\\\\n\",\n       \"1IPb8McbM6Er/7flWuCI6QgYeFXV73q9HqXJB5G9YTH0WalI2PEX2o2YCN/QKAS1jFevKc45Ay//\\\\\\n\",\n       \"4Gp17ukfjKLcM06/HS7rEYWeceX4cPf3ti4KERERETUxQx6rhi6DnBu3MBFVWZh8Br9m5MDd1QXP\\\\\\n\",\n       \"T+qGFgGerJ3/kWBVryvuqqoPCWJJrqu0Izvx+2v31hq8EhqNBh7RnRB+xVNwj2iLjKO7sPTRyTi0\\\\\\n\",\n       \"+juUFOQ263oe1zUS/drp8MGuD5BZlGnr4hARERERkR1iAIuIqvk85Qx+Ss+Gu1aD5y7rgnA/d9ZQ\\\\\\n\",\n       \"LUGsFXNvh15XUWvwyphG64LI6fMQfNHdKC3Mw45l72P5E1cjLyMZngEhKMrNqvb64twsePmHOPU2\\\\\\n\",\n       \"6BLlj59P/Iwzxc7f0oyIiIiIzqWDxioTOTcGsIjoHF+lZmF7biHcXLW4oCNHJqwtiGXMOHil1evQ\\\\\\n\",\n       \"LeMoRpzeof6V341bY/n1uhhBo29FaWE+oNUicfufCGvbDakHtlZbpiRxl/nOqn9sMML9PJFSkGLr\\\\\\n\",\n       \"ohARERGRjVToNVaZyLkxBxYRmXWwoBi9/b0xND4EP+5KRmHpv62MmjsJYu379XPVgspA6+FTFbwa\\\\\\n\",\n       \"nLwHd+z+HmHFOVV/z/AMwPvdJ2IN3FF8ahc82/SCZ6se0Li6oSTvLAKi2iC0bVeseOUO7FvxJVp2\\\\\\n\",\n       \"H4IT//yuRkEcOG0WnNGguBBM7BWNzw6/hfTCdFsXh4iIiIiI7BgDWERk1s8Z2ejm64Vufl6Ye0U3\\\\\\n\",\n       \"zFqyBwUMYimS+8o4eCV0JQXI2fQtLm7VEU/+8+k59RlSnKPmV3S8BD8k7kXu1uXQlRRC4+oOFxcX\\\\\\n\",\n       \"RHbqBxdXNwy79XnsXPY+dix9D/7hMRh5zysIatnW6fbSSH9PXDkgAB/tmYeTuSdtXRwiIiIisiEm\\\\\\n\",\n       \"cSdLMIBFRGbJKLRzT6Tg/2Ij0dPPG3Ov6I7Hl+5BXkk5mnvwyjAKoaHllQSvRPbaT+EXGQME+JzT\\\\\\n\",\n       \"A1/6a0snwrtOrceWq56BTlPZg7sk6QBSv/g/nD19FKFtOqFNv9FqcnYtAj2RW5rL4BURERERVeaw\\\\\\n\",\n       \"amAXQObAcn7MgUVEtQaxXj2Rim05BfDzdMWcq7vD37P5xr1Ng1euQVGImblY5b4y+DA1ER+dOVPj\\\\\\n\",\n       \"ATe8KBtdMo9XzXPxrUzQXpr/b3dDZ9cu3BfXDQ7EqoRVti4KERERERE5CAawiOi8QazXTqVhS04B\\\\\\n\",\n       \"fF1dMGdyN/h6NL8glmnwyr9FG7gFRamfJfeVcRDrjcwMzK8hiCWCS4y6H/6vJZbeKMm7swevbh0e\\\\\\n\",\n       \"h+VHl2Nb2jZbF4eIiIiI7IDeCiMQyjLIuTGARUQWeeNUGk4VlcLbwxX92gQ16+CVjEIYFtcFuuJ/\\\\\\n\",\n       \"A1ESxOrYZ4JFQawcd++qn3XFuepfd28/NAfD24dhfdov2JbO4BURERERVZLug9aYyLkxgEVEFjta\\\\\\n\",\n       \"WKyea4ztEgk3l+ZxgpARAU2DVzIKYUibzihJPYLyvMyqv5WMvg23SQ4soyDWJ1nnBrGm7/8VkQWV\\\\\\n\",\n       \"8wuPbIaLuycCWsTC2YX5eaBNqA9SC1JtXRQiIiIiInIwDGARkcU+Tc7E6eJSRAZ44rnLujSLIFZI\\\\\\n\",\n       \"m05wdfesFrwScYPGwcXVA/m7VlS9VhKz5114F2aGhqnfvTQadPX0quqKKZPomH0a76x5A8MSt6Ng\\\\\\n\",\n       \"12+IGzgW7t6+cGbhfh64d1Q8dpz9Hbszd9u6OERERERkh6MQNnQi58YtTEQWK9cDs46cRkJxKVoE\\\\\\n\",\n       \"euGFiV3h7uLch5HIDr0xauYb6HP1fVXBK+Hu5Yu2gy9Gwa4V0Ff8OzLjhqhuSLv4QdzVohXebxmD\\\\\\n\",\n       \"ft6V3QUzvALxcZcJSPapTNruU16Mx7d9hae83dB12OVwZh6uWtw/LgTbslbg1xO/2ro4RERERGRn\\\\\\n\",\n       \"2IWQLNH8MjETUYNU6IEnDp/G8+2i0cbfE89c1hlPLNtb1brIWYNYMpnqOOoqHPlrObL++ADBF90F\\\\\\n\",\n       \"jUZTFcTS3vAOEjKPY1VJHrI8/LAvNE610Pq1zUDcs2sJLji9Q732qsBAjFz9OX7wuxsZYf92P3Qm\\\\\\n\",\n       \"gd7u8HbzxspTK21dFCIiIiIiclDO3XSCiBpFBYCnjiSpFlkR/p7wdndpljUdGB2HgdMeQ/7OX5G9\\\\\\n\",\n       \"ZkG1kQQlWLUnLB5rW/ZS/8rvotDNEy/Fj8FTeSUo0leG/cKyUjDts2fQc+caGY4QzkT2jWmDWmNv\\\\\\n\",\n       \"5l5bF4WIiIiI7FRDRyA0TOTcGMAionoHsc6UlcFFq8HtI9o229NFu2GXod91DyF36/dI/+ZpFJ3Y\\\\\\n\",\n       \"US2QZUxXnI/crcuR+sXD+K20BO9NvB9pYS3V39wqyjFu5UJMXP4OPIoL4Ax8PFxxz6h4ZGMPFh1a\\\\\\n\",\n       \"ZOviEBEREZGdYhdCsgS7EBJRvT15JAmvdYhB95YBePiiDvjP74ecrQGRRTqNvhp+oVHY9t27SP/m\\\\\\n\",\n       \"KbgFR8On24VwDYyExtUdupIClCTsQcGBtUBFOVr1uQD9pzyI0oAQfNa2Gy748xv03f67WlbHw1sR\\\\\\n\",\n       \"mXIcP1x2N5Kj4+HILuwUjkLtYXy17yvoagjqERERERERWYIBLCKqt4IKHR48mIjXOsagS7Q/Hrmo\\\\\\n\",\n       \"A15Z2TyDWC17DEV09yFIP7ITh9Yswal1X1RL7u4VFI4el0xH/LDL4R0YWjW/wtUdf4y5Hqdad8b4\\\\\\n\",\n       \"X+bDq6QQgXlZmPrVi/h72BXYNGA88L/uh47ERaNBqxBvnMg9xeAVEREREVnUAqshGvp+sn8MYBFR\\\\\\n\",\n       \"gxTqJIiVgP90bIVOUf6YNa4j5v52ELpmGMSSJO4R7XupSa/Toay4AOWlJXD39oWLm0dVkndzjrTr\\\\\\n\",\n       \"jQUzXsBlP76HmKQjcNHrMPKvb9H65D78NOF2FPgGwlFIt9KbhsTC0ycF60+st3VxiIiIiMjOMYBF\\\\\\n\",\n       \"lnC8x/pEZHeKdHo8fDABWWXlaB/pp7oTNncarRbu3n6qtZWru2etwSuDPP8QfDVlFtYNvrwqCWVs\\\\\\n\",\n       \"wn7ctPApxJ7YA0chwauAoBTM3zMfReVFti4OERERERE5AQawiMhqQawnjiRBMh21i/BlrdaTXuuC\\\\\\n\",\n       \"dUMnY9E1jyLXJ0DN8ynMxTXf/gcj/1wMrVG3RHvkqtWo7qRf7P8CxRXFti4OERERETkAJnEnSzCA\\\\\\n\",\n       \"RURWk19egaIKHdxctJg2sBVrtgESWnfCJzNewNG4HlXzBv7zC6Z++QICstPttm4v6d4COYVlyC/L\\\\\\n\",\n       \"t3VRiOrtvffeQ/fu3eHv76+mQYMG4ddff3WqGm0O60hERI5Dso9ID4SGTM0wg0mzwwAWEVlNBYAn\\\\\\n\",\n       \"Dp9GiU6PUZ0icOPg1qzdBijy9sd3VzyAVRdMQbnWRc2LTj2BGQufQscDm+2ubif1ikaf+ArMP/gS\\\\\\n\",\n       \"KvSyNxA5ppYtW2Lu3LnYtm0btm7dilGjRuHyyy/Hvn374CyawzoSERGRc2EAi4isKr2sHI8cSkCx\\\\\\n\",\n       \"To+RHcJxy7A2rOGG0Giwpd84fH79U8gKCFOzPEuLMfHH/2LcbwvgWlZiF/U7IDYYvdqW4/1d7+NM\\\\\\n\",\n       \"8RlbF4eoQS699FKMHz8e7dq1Q/v27fHiiy/C19cXmzZtcpqabQ7rSEREjoNdCMkSDGARkdVllFWo\\\\\\n\",\n       \"pO4SxBoSH4bLekSxlhsoLTIWC298Hvs6Daya13P3Wkz/7BmEZSTavH6jAr1wNPsozpactXVRiKyq\\\\\\n\",\n       \"oqICixYtQkFBgepm54yawzoSEZF9YwCLLMEAFhE1iqzyCnydckaNpdc5yo+1bAWlHl74ccId+Pni\\\\\\n\",\n       \"W1Dq5q7mhZ1JxrTPnkHPnWsAvW16/g9uG4KBcSHYnGJ/3RqJTOXm5labSkrMt2Lcs2ePapHk4eGB\\\\\\n\",\n       \"O+64A8uWLUPnzp2dqkLrso5ST6Z1R0RERNSUGMAiokazN68IFXqgQ4Q/xnSs7P5GDaTRYE+3YVg4\\\\\\n\",\n       \"7VmkhbVUs9wqyjFu5UJM/P4deBQXNGkVD4kPwWU9o/DJoTeQkJfQpJ9NVB8xMTEICAiomubMmWP2\\\\\\n\",\n       \"dR06dMDOnTuxefNm3HnnnZg+fTr279/vVJVel3WUejKuN6lHIiIia2ELLLIEA1hE1GhSSsvwwrEk\\\\\\n\",\n       \"6DTA1IFtMLZLBGvbSrJCovDZDU9ja6/RVfM6HtmKGZ88iaiko01Wz+O7tcA3xz7EqdxTTfaZRA2R\\\\\\n\",\n       \"mJiInJycqmnWrFlmX+fu7o74+Hj06dNHBW969OiBN99806kqvy7rKPVkXG9Sj0RERNbCABZZggEs\\\\\\n\",\n       \"ImpUhwpL8OzRJOgAXNuvFS7pGskat5IKV3f8ceE0LJl0H4o8vNW8wLwsXP/Vixi46SdAL7XeeNpF\\\\\\n\",\n       \"+MLTzQUpBSmN+jlE1uTv719tku5zltDpdDV2N3QWta2j1JNp3RERERE1Jdcm/TQiapaOFpZg9tHT\\\\\\n\",\n       \"eDY+Glf2i4HWRYMfdzHoYS1H2vXBJzPa4NIf30dM0mFo9TqM/OtbtD65Dz9NuB0FvoGwtg6Rfrhl\\\\\\n\",\n       \"ZAiWHv0U2SXZVl8+kS1Ja6OLL74YrVq1Ql5eHr766iv8+eefWLFihdNsmOawjkRE5Dj0eo2aGroM\\\\\\n\",\n       \"cm5sgUVETeJEUSmeOpKECr0ek3u3xKC2Iax5K8r1D8FXUx7DusGXQ69S5wOxCftVl8LYE3usWtct\\\\\\n\",\n       \"g7xU8GrJkSXYnr7dqssmsgfp6emYNm2ayhE1evRobNmyRQV2LrzwQjiL5rCORETkOHTQWGUi58YW\\\\\\n\",\n       \"WETUZE4Vl2JFZi7GhwWgS5Q/Nh47w9q3Ir3WBeuGTkZCTCdM+Ok9+BfkwLcoD9d8+x9s6j8efw27\\\\\\n\",\n       \"AjqXhh/2Y4K8kZiXiF0Zu6xSbiJ78/HHH8PZNYd1JCIiIufCFlhE1KR25lWOkje4bQh6xASw9htB\\\\\\n\",\n       \"QutO+GTGCzga271q3sB/flG5sQKy0xu07HA/D4zv3gKHzx62QkmJiIiIiJjEnSzDABYRNal9+cV4\\\\\\n\",\n       \"51QaNBoN7h/dHn1aWT8/EwFF3v747soHseqCKajQuqgqiUo5jhkLn0LHA5vrXUUjO4ThWMFmrD29\\\\\\n\",\n       \"ltVMRERERFbNgdXQiZwbA1hE1OQ25hTgTRXEAu4e1Q79WwdxKzQGjQZb+o3DZ9c/hbOB4WqWZ2kx\\\\\\n\",\n       \"Jv74X4z77WO4ltVtRDVvdxfEhfkiOT+Z24uIiIiIiJoUA1hEZBP/5BTgjZOpKoh1+wVtEezjzi3R\\\\\\n\",\n       \"SNIiY/HJ9Oewr9PAqnk9d/+F6Z8+jbCMRIuW4ePugntGxSNLtwfrk9dzWxERERGR1ej0GqtM5NwY\\\\\\n\",\n       \"wCIim9maW4issnJoNRrEBHlxSzSiUg8v/DjhDvx88S0oda0MFoZlpWDaZ8+i58410m67xvdWtpSL\\\\\\n\",\n       \"xxndLnx58Evo9DpuKyIiIiKyGnYhJEswgEVENvXHmVw14O29o+LRKphBrEal0WBPt2FYOP1ZpIW1\\\\\\n\",\n       \"VLPcKsowbuVCTFz+DjyKKxPsm/J0dUFUoBeWHlnK4BUREREREdkEA1hEZFPL07OxJC0Lri5azJ7Q\\\\\\n\",\n       \"Ga1DGMRqbFkhUfjshqexrfeYqnkdD2/FjE+eRFTS0WqvddFqMHVgKyRmFaKkom45s4iIiIiILG2B\\\\\\n\",\n       \"1dDug0zi7vwYwCIim1uSlo3Fqf8LYl3SBXGhPrYuktOrcHXH72NuwJJJ96HIw1vNC8zLwtSvXsTA\\\\\\n\",\n       \"TT8Ceh1ctRrcPDQWQUFpWHDkGehRczdDIiIiIqL6kqtMyWjRoInV7/QYwCIiu2mJ9V3qWbi4aHDf\\\\\\n\",\n       \"6HhbF6fZONKuDz6Z8QISo9up3130Ooz86ztcs/hVjI5wQUhwJj7a8xGKK4ptXVQiIiIiImrGGMAi\\\\\\n\",\n       \"Irvx59lcSHpwXw83+Hu62ro4zUaufwi+mjIL6wddDp3KSAbEJuxH92fuQerq3xi8IiIiIqJGJdeg\\\\\\n\",\n       \"1pjIuTGARUR2I6usAltyCuDqosHcK7ohwItBrKai17rg72GTseiaR5HnE6DmueScRcSTH2DI98eg\\\\\\n\",\n       \"LefIg0RERETUSNei/8th1dCJnBsDWHSOOXPmoF+/fvDz80N4eDgmTpyIQ4cOsaaoSbx5Kg0bsvPh\\\\\\n\",\n       \"7e6KuZO7IcjbjTXfhBJad0Lqax9BO3BI1by+f5zGla/vgH9mEbcFERERERHZBANYdI61a9fi7rvv\\\\\\n\",\n       \"xqZNm/D777+jrKwMF110EQoKClhb1CTeSUjH32fz4OXuijmTuyHEh0GsptS/VzyW3B6Lvya3RYW2\\\\\\n\",\n       \"8klWi4R8TJmzDe22pTdpWYiIiIjI+TV0BELDRM6N/XPoHL/99lu13xcuXKhaYm3btg3Dhw9njVGT\\\\\\n\",\n       \"eC8xAwGuLuju540J3aPw6cZTrPkmMCguRP17pjQLCaNaIik+AOM+3o+gM8XwLKnA+E8OYO+hs1h7\\\\\\n\",\n       \"ZTzK3V24TYiIiIiowQwjCTZ0GeTc2AKLzisnJ0f9GxwcbPbvJSUlyM3NrTYRWcOuvMouaz1iAuHu\\\\\\n\",\n       \"wsNVYxsSH4JJ/Xyx8NA8FJRVtrhMb+WHRY/1wcG+YVWv67ohFde8vB0hSfmNXiYiIiIiIiLBO0Kq\\\\\\n\",\n       \"lU6nw8yZMzFkyBB07dq1xpxZAQEBVVNMTAxrlaxiZWYOThSVINjHHS9O6goPVx6yGkuHCD9c1scH\\\\\\n\",\n       \"H+/9GCdzT1b7W6mXK1ZM74SV13dAmXvlNghNK8Q1r25H13XJfNxFRERERA3CJO5kCd4NUq0kF9be\\\\\\n\",\n       \"vXuxaNGiGl8za9Ys1UrLMCUmJrJWySoqAMw+koRjhSUI8/PAS5O6wpNBrEYRFeiJU7mnkJCXYP4F\\\\\\n\",\n       \"Gg0ODIzE14/0QXqUj5rlVq7H6EVHMP6j/XAvLG+cghERERGR02MAiyzBABbV6J577sFPP/2ENWvW\\\\\\n\",\n       \"oGXLljW+zsPDA/7+/tUmImsGsZ4+moQjhcUI8fXAixO7wc2FCRqt3frq4m4tsC1t23lfezbSG9/8\\\\\\n\",\n       \"X2/sHB5VNa/drkxcN2crIo9XdjcmIiIiIiKyNgaw6Bx6vV4Fr5YtW4bVq1cjNjaWtUQ2pQPw7NFk\\\\\\n\",\n       \"5FXoEOTnjpggb24RK+kY6Yebh8Vi2YmF2J2526L3VLhpsfbqdvjx1i4o8qpM5B5wtgRXzduJvisS\\\\\\n\",\n       \"ZBgZbh8iIiIishhHISRLMIBFZrsNfvHFF/jqq6/g5+eH1NRUNRUVVSbUJrJVECuluFQdtK7tFyM9\\\\\\n\",\n       \"2sgKJvaKxm+Ji7EzY2ed33u8Ryi+ntUXSW0rW11qdcCQH09g4ju74Z1byu1DRERERHUahbChEzk3\\\\\\n\",\n       \"BrDoHO+9957KZTVy5Ei0aNGialq8eDFri2zq5RMpOFtWgfaRfnh8XEdoGcRqkAh/DwR5uyMpP6ne\\\\\\n\",\n       \"y8gL9sSS+3pi87hWMFwztD6cjete2opW+7MaVkAiIiIiIqL/YQCLzHYhNDfdeOONrC2yqSKdHg8d\\\\\\n\",\n       \"SkBWWTnaRfph+qA23CL1FOnviXtGtcOG9F9qTtxuIb2LBpsmxGLpfd2R7+em5vnkl2HSf/dgyPfH\\\\\\n\",\n       \"oC2X9nNERERERDVcT6oWVJoGTqxdZ8cAFhE5lGKdHl8mn1GtfeLCK0fDo7oJ9HLDfeNC8E/mL1h5\\\\\\n\",\n       \"aqXVqu90+yB89XhfHO8cVDWv7x+ncdUbO+GfyS7IRERERGQeRyEkSzCARUQOZ39BMUp1epXMfdrA\\\\\\n\",\n       \"1rYujsNpGeSF/NJ8/JHwh9WXXeTnjh/v6Ia/JrdFxf9Gi4w8lYcpc7ah3bZ0q38eERERERE1Dwxg\\\\\\n\",\n       \"EZHDySmvwKOHElGi02NUp3DMGMIglqV8PFwxvnsLnMo91XgbSKvBjlEt8c2DvZAd6qlmeZZUYPwn\\\\\\n\",\n       \"BzDqy0NwLa1ovM8msgOJiYk4ffp01e///PMPZs6ciQ8//NCm5SIiIrJXeitN5NwYwCIih5ReVo7/\\\\\\n\",\n       \"O5gACYUMiw9DgFdl7iWq3bB2oShxOYbvj33f+NuotR++frQPDvYNq5rXbWMqrnl5G0KS8hv984ls\\\\\\n\",\n       \"5brrrsOaNWvUzzKK74UXXqiCWE888QSee+45bhgiIiIT7EJIlmAAi4gcVmZ5BQrKK6DRaNA/9t+8\\\\\\n\",\n       \"S2Sei1aDtmE+OJ1/Gjp90yRWL/VyxYrpnbDy+g4odas85YSmFeHa/+xA13XJHO+YnNLevXvRv39/\\\\\\n\",\n       \"9fM333yDrl27YsOGDfjyyy+xcOFCWxePiIiIyCExgEVEDu2tU2nQa4DrBrTG6I7/tvShc4NXNw2J\\\\\\n\",\n       \"hY9fKtYkVrYMaTIaDQ4MjMSiR/sgvYW3muVapsPoRUcw/qP9cC8s5+Yip1JWVgYPDw/18x9//IHL\\\\\\n\",\n       \"LrtM/dyxY0ekpKTYuHRERER2iH0IyQIMYBGRwyd0f+FokjrnXT+oDcZ0Drd1kezSjMFtEBCUgvl7\\\\\\n\",\n       \"5qOo3DYjAp6N9MY3j/TBzuFRVfPa7crEdXO2IvJ4jk3KRNQYunTpgvfffx9///03fv/9d4wbN07N\\\\\\n\",\n       \"T05ORkhICCudiIjIlF7T4G6E6ql2Hb377rto06YNPD09MWDAANXlvzbZ2dm4++670aJFC/Wwqn37\\\\\\n\",\n       \"9vjll1+4PZsIA1hE5PAOFpbguaNJkE5xU/u3xuhObIllqlOUP7499C2KK4phSxVuWqy9uh1+vLUL\\\\\\n\",\n       \"irxc1LyAsyW46o2d6LsiAdAx/SY5vpdffhkffPABRo4ciSlTpqBHjx5q/g8//FDVtZCIiIhsa/Hi\\\\\\n\",\n       \"xXjwwQfx9NNPY/v27ep8PXbsWKSnmx85u7S0VOW1PHnyJL777jscOnQI8+fPR3R0dJOXvblytXUB\\\\\\n\",\n       \"iIis4XBhCd4+lYr7W0fi4i4tsOpABiv2fyb2jEJ+cTmyS7Ltpk6O9wjF1zF9cdHCA2h5PBdaPTDk\\\\\\n\",\n       \"xxNoefgsVk7vhEJ/d1sXkajeJHCVmZmJ3NxcBAX9m5/vtttug7d3ZTdaIiIi+pde3/DUqHV9/+uv\\\\\\n\",\n       \"v45bb70VM2bMUL9L6+mff/4ZCxYswGOPPXbO62V+VlaWymvp5lY5gJS03qKmwxZYROQ0jheWqq6E\\\\\\n\",\n       \"wb4e6NzCz9bFsQuTe0ejd3wF5h98CaW6UtiTvGBPLL2/JzaPa1U17HHrQ9mYOmcrWu3PsnHpiOqv\\\\\\n\",\n       \"qKgIJSUlVcGrU6dOYd68eepJbXg4uzkTERE15iiE8gDJeJJzsrnWVNu2bcOYMWOq5mm1WvX7xo0b\\\\\\n\",\n       \"zW4gaUk9aNAg1YUwIiJCDdLy0ksvoaJCxkWnpsAWWETkNDLLyvFxYgZuiQnDw2M74LWVh7EvORfN\\\\\\n\",\n       \"Va9WgejVtgLv7XwfZ0vOwh7pXTTYNCEWp9sHYuzCg/DNLYV3Xhkm/XcPto5piY0TYqFz5bOW5szr\\\\\\n\",\n       \"9DF4e1YmRG+Q4nMvXhvL5ZdfjsmTJ+OOO+5QuTIkp4Y8qZVWWfK0984777T6Z+r1ejUiKzUvK5J3\\\\\\n\",\n       \"2roIRER2JyYmptrv0kXwmWeeqTZPzskSeJJAlDH5/eDBg2aXe/z4caxevRpTp05Vea+OHj2Ku+66\\\\\\n\",\n       \"Sw3eIp9BjY93BUTkVNaczcMHienqRu6Bi9ojxKf5dkWLDvRCYl6i3QavjJ1uH4SvZvXBiS7BVfP6\\\\\\n\",\n       \"/nEaV76+A/6Ztkk6T1Rfkkdj2LBh6mfJkSEXw9IK67PPPsNbb71V7+XeeOONKCgoOGe+5OIYPnw4\\\\\\n\",\n       \"NxgRETkuQxL2hk4AEhMTkZOTUzXNmjXLKkXU6XSqJfWHH36IPn364JprrsETTzyhuh5S02AAi4ic\\\\\\n\",\n       \"zl9n85FWUgYXjQbRQV5ojga3DcHwTu74+/TfcBRFfu744fau+GtyW1RoKy9AWiTkY8qcbWi3zXwy\\\\\\n\",\n       \"TSJ7VFhYCD+/ym7MK1euVK2xpFvCwIEDVSCrvnbt2oXu3btX69rw6aefqqSzoaGhVik7ERGRLXNg\\\\\\n\",\n       \"NXQS/v7+1SYZLdCUnDddXFyQlpZWbb78HhkZabaMMvKgjDoo7zPo1KkTUlNTVZdEanwMYBFRNad+\\\\\\n\",\n       \"+wmLesbj75l3OHTNbMzOh4RA7r6gLSL8rdD9yMGCV5f1jMKCfQtwMvckHIpWgx2jWuKbh3rhbIin\\\\\\n\",\n       \"muVZUoHxnxzA6K8OwbW0cXMMZJ3MwspnV+LL67/EBxd+gN1Ldzfq55Fzio+Px/fff6+eAK9YsQIX\\\\\\n\",\n       \"XXSRmi+jGsmFdH3J0N4SDJMk8Y8//jiuvvpq3HPPPfjPf/6DZcuWWXENiIiInJu7u7tqRbVq1apq\\\\\\n\",\n       \"Lazkd8lzZc6QIUNUt0F5ncHhw4dVYEuWR42PASwiqpKfdBo7X5+DsN79HL5Wvk07i18zcuDh6oLn\\\\\\n\",\n       \"L++CyIDKYEhzMLpTBJaeWIBTufVv6WFr6a39sOixPjjYN6xqXtcNqbjm5W0IScpvtM8tLymHXws/\\\\\\n\",\n       \"DLh5ALyDOVoc1c/s2bPx8MMPq5GJJP+V4UJYWmP16tWr3tUqebReffVVNTLS3LlzVZBMlikjKBER\\\\\\n\",\n       \"ETk0vZWmOnjwwQcxf/581Zr5wIEDKkeldNU3jEo4bdq0at0P5e8yCuH999+vAlcyYqEkcZek7tQ0\\\\\\n\",\n       \"mMSdyMkUZWagICkRZfl5cPH0gmdwCPzaxKmcUIm//4q9H7yN/MRT6m9BHTtj2Lz34erlDV1FBTY9\\\\\\n\",\n       \"/iC63nk/MrZvRVme4yc//zzlDLxcNBgZ7I8bB7XG3N8Owdm1j/BFgJcb0gqrN4d2RKVerlgxvRMS\\\\\\n\",\n       \"Ogbjgm+OwK1Uh9C0Ilzz6nb8dWU89g5pAdSStLqsqAzZCdkoyS+BNMfz8PNAcOtguLi74Phfx7Ht\\\\\\n\",\n       \"823ISc6Bq4crQuNDMfbZsQjvEK4msfnjzU24tuRMrrzySgwdOhQpKSmqe5/B6NGjMWnSpHovV5LE\\\\\\n\",\n       \"SvDq3XffVRfU69atUy2yPv74Y4wfP95KpSciImp6xqMINmQZdSE5rDIyMtSDJ+kG2LNnT/z2229V\\\\\\n\",\n       \"id0TEhJUCgDj5PDSsvqBBx5QXfqjo6NVMOvRRx9tULnJcgxgETkBvU6H1E3rcGTxl0j+e420f632\\\\\\n\",\n       \"94B2HdB6/OXY887r6DnzEUSPugjlhQXI2L5FjVwl9n3wNjyCQ9B20tUqgOUsNmYXYESwP1oFe8PT\\\\\\n\",\n       \"TYvisup140w6RvrhpqGxWHbiU6QXOknOKI0GBwZGIrWNP8Z9vA/hKYVwK9dj9KIjaHXgLFZNbY8S\\\\\\n\",\n       \"b7dqbzmbcBb7f9yPQysPoaywrNrfPAI8ED8yHvt/2o+Btw5E7JBYlBaVInVPahOvGDk7yZ9hmkOj\\\\\\n\",\n       \"f//+DVpm3759VX6tP//8U+XTkuP3K6+8ooJYN910E/773/82sNRERETNi3TFl8kcOd+aklbVmzZt\\\\\\n\",\n       \"aoKSkTkMYBE5uMzdO7DxiYdRkHgKbnHt4Xf/LLh37QmNjy/0xcWoSEpA0c9LsfutV1Vmw9L8PPhE\\\\\\n\",\n       \"RasWWYHtOqhlZOzYiuPff4txi3+Es9mbX4QD+UXo7OuFuZO74/Fle1DYyHmUbKFFgCduHhmCJUc+\\\\\\n\",\n       \"wa6MXXA2ZyO98c0jfTB06TH0/DtZzWu3KxMRiXn49cZOSI0LQHFuMVa/shqJmxPh6u+KwFGB8O/t\\\\\\n\",\n       \"D1e/ylNdeU45cjbn4MBvB6Cv0CN5VzI6je8Ev0g/hMSG2HgNydls3boV33zzjXp6a5rYdenSpfUO\\\\\\n\",\n       \"YMkohj4+Pup3OY7LU1/JsXXDDTdYpdxEREQ2U8cugNT8MAcWkQNLWrsKq2+9HqX+gQh66xMEzV8E\\\\\\n\",\n       \"70uvhGtsPFzCI+Haqg08Bg1H4AvzEPL5cmhDw1VLq58vH4OjSxahNDcHZQX52PTEw+g3+yV4BAXD\\\\\\n\",\n       \"Gc+DLx5Pwd68IgR6u+HFiV3h+r8R7pwtgJVRmOGUwSuDCjct1l7TDj/d2gVFXpWjv/hnleCqeTvR\\\\\\n\",\n       \"bekRfH/fMqTsT0HL21qi/WvtEXllJLzjvOEe5q4m73hvtJjaAu3faA/3SHec2ngKX1z3BXYv2Y2S\\\\\\n\",\n       \"vBJbrx45kUWLFmHw4MEqn4YkV5euf/v27cPq1asREBBQ7+VKV0FD8MqY5NXatm1bA0tNRERk+y6E\\\\\\n\",\n       \"DZ3IuTGAReSgMndux/r/uxdu/YYg6LUPKltd1ZIPyDUqBqGLf4PXVTcgP+EU9rw7Dz9ffqHKh1WQ\\\\\\n\",\n       \"fBp/338bFvfpoKaTPy1TwTH5OS/RcROBGwex5pxIQZFOhwBvN4T4OteohDLK4qTeLbHvzD40B8d6\\\\\\n\",\n       \"hOLrWX2RHFc5mptWB4xanYw33APR66FYBA4OhNat5tObq7cr2s1ph6ibo1BWWoYtn2zBohmLkJvi\\\\\\n\",\n       \"+HnfyD5IQtc33ngDP/74oxqV6M0338TBgwfVqIGtWrVq0LI///xzNQpSVFQUTp2qPD7PmzdP5ewg\\\\\\n\",\n       \"IiIicmYMYBE5IF15OdY/NhOuHbog4Mk50LhbFpCRAJf/nQ/CZ8adKMnKVPmFktetxbjvfsHYxT9W\\\\\\n\",\n       \"TdEjRiO830D1s3dkCzgDCWIlF5dBq9HgjuFxcKkl2OdoLa/uHdUOW878itWJq9Fc5AV74rv7e2Lz\\\\\\n\",\n       \"uFbQ/a+9+UB3b7y53AU9juss+i4EDwtG7COxKK8oR0VZBU6uP9kEJafm4NixY7jkkkvUzxLAkhGN\\\\\\n\",\n       \"ZJ+TpK8ffvhhvZf73nvvqRGTJGF7dnY2Kioqu0MHBgaqIBYREZHDssEohOR4GMAickDJf61BUWoy\\\\\\n\",\n       \"fO99FBp3d4veU3ZgDwq+/Bhlh/bBc8wl0AYEoiT7LII6dkFgfPtqk5ufP9y8fdTPLm6WLd8RvHA8\\\\\\n\",\n       \"Geml5YgN88FTEzo5RRBrcu9o7Mpejd9P/Y7mRu+iwdqRUbglNQmZrpVBq8BC4InFOkxdXQGXCj00\\\\\\n\",\n       \"Oj06n9JhyD6d+ld+LzxWiPQf01F0ogiuQa7wae+jkr37R/urQFbm0Uw16cp0KMgsUD/nJOXYenXJ\\\\\\n\",\n       \"gQQFBSEvL0/9LCMU7d27V/0sQSdJwl5fb7/9thru+4knnoCLS2U3WkNurD179lih5ERERLaisdJE\\\\\\n\",\n       \"zoxJ3Ikc0OHFn8O9S3e4xVcmYbeExtsHpbu3o2DJl9BLawBvb2i0WoR274nmokSnxyOHEvFqhxi0\\\\\\n\",\n       \"CfXB1f1a4ut/EuGofNxdEO7niU2Jx9FcHf79MDbnF+Ch6zW4/28Neh+rfPR2+WY9+h2qgFcZEFTw\\\\\\n\",\n       \"7+sz/YD5fVyw7FAhzqw8A12RDq4BladCXbkOhWcKseTOJVWv3/3tbjW16N4Cl712WdOvIDmk4cOH\\\\\\n\",\n       \"4/fff0e3bt1w1VVXqSG2Jf+VzBs9enS9l3vixAmV78qUh4eHauVFRERE5MwYwCJyMPmnE5C+eQP8\\\\\\n\",\n       \"Z71Qp/e5to5D0MvvVv1ekXUGZ64dh5M/L0f7KdOqvXbg86/AWZXq9ViRmYPro0IQH+YLR+Xr4Yq7\\\\\\n\",\n       \"L4hHQvE2HMw6iOZq/8/74dfHD0Ut3PDyVXqM36LH1DU6SIOsqOxzW5IH5wGP/ekCt8mt8E+Hfxsh\\\\\\n\",\n       \"H3/xOPb/tB8TXp6A23+/vcnXg5zLO++8g+LiYvWztJZyc3PDhg0bcMUVV+DJJ5+s93JjY2Oxc+dO\\\\\\n\",\n       \"tG7dutp8yX/VqVOnBpebiIjIZqzRBZBdCJ0eA1hEDib35An1r3vPvg1ajktwiApq5Z44huZmfXY+\\\\\\n\",\n       \"rogMQttwX1w/sDW+2ORYieo9XLW4f7wvUvJ3YPHhxdDpz5/zyRnp9XrkJOYgckRk5e8aDX7ur8HB\\\\\\n\",\n       \"aOCFz3Vw0Z/bkFxCVlJbN/6uw5Z2Guj/NyKlT0cfZG/KtsFakDMKDv53RFetVovHHnvMKsuV/Fd3\\\\\\n\",\n       \"3323Co7J/v/PP//g66+/xpw5c/DRRx9Z5TOIiIhsggEssgADWEQOpiy/Mq+KxtevwcvS+Pii7H95\\\\\\n\",\n       \"WpqTnPIKvHoiFU+1jUKfVoEOF8CKDPCEj5sPFh1aBH0zftRUXlwOvU4PF+9/cwEJj3Ko4FVNJIgV\\\\\\n\",\n       \"mgd0StRjf+vKAJYsoyS/pLGLTE4sN9fyUSz9/StH0KyrW265BV5eXqoVl+TSuu6669RohDLK4bXX\\\\\\n\",\n       \"XluvZRIRERE5CgawiByMi2HEwdISwMu7QcvSl5bCxdOyEQydTUpJGSr0egR6u2N0xzCsOpgBR+Cq\\\\\\n\",\n       \"1WBsl0ik5J9s1sEr4eJeGbjSl1Wvh6B8y95v/DpJ2O7qwVMi1Z+MBCgjDdZGWk3JawyjB9bH1KlT\\\\\\n\",\n       \"1SQBrPz8fISHh9d7WURERHZDr6mcGroMcmq8WidyMB5BlV1TKpKToA0Iqvdy9BUV0KWnwmPQYDRH\\\\\\n\",\n       \"0grrxWPJeDI+GtcPbANXFy1W7EuDPXNz0eDmoXHw8U/Cgr1foLnTumjh7uuO0vTSavPPWpjazPh1\\\\\\n\",\n       \"pRml8AzwtHIJqTlZs2ZNk36et7e3moiIiJyBXl85NXQZ5NwYwCJyMCHdesAzLBxFv34Pt05d672c\\\\\\n\",\n       \"0s3rUJGViZgLx6O5OlRYgmePJuGZ+Ghc078V9iTlIDm7MvGyPbq0R5QKXn2892OUVLC7m4gbFodj\\\\\\n\",\n       \"648hfGI4NC6VT90OxGjUaIMheeYHU5YcWFl+la8TFUUVyP0nF72uPnd0NyJLjRgxolEqS0YdPF/L\\\\\\n\",\n       \"LoPt27c3ShmIiIiI7MG/QzARkUPQuroi/sopKP7jZ+j+lw+rPop++AZBXbojuHP9g2DO4GhhCZKL\\\\\\n\",\n       \"S1WgI87ORyVsEeCF3Zm7Gbwy0vnSzijLKkPezn+/C5KYfeGF5k9vErySbS1/NyRwz96QrbohdhrP\\\\\\n\",\n       \"UdzIOj755BN8++2358yXeZ9++mmdljVx4kRcfvnlaho7diyOHTsGDw8PjBw5Uk2enp5qnvyNiIjI\\\\\\n\",\n       \"4ZO4N3Qip8YAFpEDajvpaqCsHEXLv6nX+8uOHkLJPxvQ7uqpVi+bI/oxvXL0uRlD2iA2xD675FzR\\\\\\n\",\n       \"pyXCg3OxN3OvrYtiV8LahSGsYxgyf8uEvuLfq5btbTUoNdPGWFpevTZZi386VJ7+dKU6ZP2RhdaD\\\\\\n\",\n       \"W8Mn1Kcpi05OTEYFDA0NPWe+5Kt66aWX6rSsp59+umrKyMjAfffdh40bN+L1119X04YNGzBz5kyk\\\\\\n\",\n       \"pdl3F2giIiKLcmA1dCKnxgAWkQPyCo9A+6nTkf/Jf1GyYW2d3luRkY6cJ2cioH1HtB43odHK6Ej+\\\\\\n\",\n       \"zs7Hxux8aDUaDIgLgb25qm9LdInyxwe7P0B2SWWwjf7Vf0Z/FB0rQsqXKSpJtuicoFejEYqdbYA3\\\\\\n\",\n       \"L9Pimeu0uPsul6rglQS8Tn9wGuVZ5egztQ+rlKwmISEBsbGx58xv3bq1+lt9SQuuadOmnTP/+uuv\\\\\\n\",\n       \"x5IlS+q9XCIiIiJHwAAWkYPqcf8jiB45BjnPPIyiFT9U3bjXpvzEUZy970a4azQY8fZHcPFoniMQ\\\\\\n\",\n       \"mnMwv0h1LbugQxhCfd1hL/w9XTEkPhTzD76AsyVnbV0cu9Syd0sMu38YslZnIenjJDWiYN8j/34f\\\\\\n\",\n       \"VvXSYn0XLfa3/rfboOS9SngrAXk78jDm8TEIjT+3tQxRfUlLq927d58zf9euXQgJqX+Q3MvLC+vX\\\\\\n\",\n       \"rz9nvsyTroRERESOSqO3zkTOjUnciRyU1sUFQ15+E1tenI0TLz+NoqWL4HX5VfAcNQ4aT6+q10lg\\\\\\n\",\n       \"q3T7ZhQt/xYlG9ciIC4eI975CN4RkTYtv735IysPrbw8MCbEHy9O7Iqnlu9Fel710e1soUdMIApL\\\\\\n\",\n       \"Ktjy6jwkf5WrpyvWvLoGBXsK0KtlGwAuKHMBdsX+25y8JLUEWWuykP13NjR6DS5+4WLE9Itp7M1I\\\\\\n\",\n       \"zcyUKVNUVz8/Pz8MHz5czVu7di3uv/9+XHvttfVernQVvPPOO1Wy9v79+6t5mzdvxoIFC/DUU09Z\\\\\\n\",\n       \"rfxERERNzho5rBjAcnoMYBE5MK2bG/o//RJiRo/FkW++QMprzyP//TfgGt8BGh9f6IuLoUtORHlK\\\\\\n\",\n       \"Evzi4tH1kacQe9lkuHrZZ54nW1uQlKnOexeG+OPx8Z0wc/Eum5ZnWLtQTOjtjQV737BpORxFu1Ht\\\\\\n\",\n       \"ENo2FAXf7EXEKUnXDvxTVoRD/81SP5fnlKPoZBE8/D3QdUJXdLmsC/wi/GxcanJGzz//PE6ePInR\\\\\\n\",\n       \"o0fD1bXyUkun06nuf3XNgWXsscceQ1xcHN5880188cUXal6nTp1U0virr77aauUnIiIiskcMYBE5\\\\\\n\",\n       \"OBlePWrYSDXlJyXi+PffIT/xFMry8uASFACPNm3gGRKKNpdNhl/LVrYurt37JjULo0P84evpBk9X\\\\\\n\",\n       \"LYrLKwMhTa13q0AVvPp478dIzEu0SRkcUVDrIIzrEgOcOqV+3x3igSB9EDRaDTzCPRB9dTTiRsTB\\\\\\n\",\n       \"1Z2nP2o87u7uWLx4MV544QXs3LlTdf3r1q2byoHVUBKoYrCKiIicjjWSsDOJu9PjFTyRE/GNjkH3\\\\\\n\",\n       \"ux84Z37W/r1w9WB+FEsUVOhwuKAIHX28MGdyN8xatgfFZU0fxIoN88XWtK0MXtWn7nZnVv3s/uBg\\\\\\n\",\n       \"XBzEXG9kG+3atVOTtZWWliI9PV216jLWqhUfUhARkYNiF0KyAJO4EzUDwZ27wiss3NbFcBgvHEvB\\\\\\n\",\n       \"wYJiBPm4qyCWp1vTHio7RvphQGwwjmYfbdLPdQa+Z0sQcbpA/ZzW0gf5DF6REzly5AiGDRumWnRJ\\\\\\n\",\n       \"ay4Z6VCmNm3amB31kIiIiMiZsAUWUTNRfCYTWncPuPsx58/5SJuG548l4z8dYhDp7a6CSWsP/9uq\\\\\\n\",\n       \"pzF1jvLHjYPbYMnxBTiYdbBJPtOZxO35dzsd78GRBcm53HjjjSqn1k8//YQWLVqoLuREREROgS2w\\\\\\n\",\n       \"yAIMYBE1E2f27oJXaDiCu3SzdVEc5hx6tLAYLTzcMKJ9GP4+kgldI49sIreiM4a0wdLjC7E7c3fj\\\\\\n\",\n       \"fpiTit19purn490YwCLnIvm0tm3bho4dO9q6KERERNbFABZZgF0IiZoJr/AIFKal2roYDuWTpEyc\\\\\\n\",\n       \"LatAXJgvrukX0+ifFxngCTcXLY5kH2n0z3JG7kXliDmcrX7ODXBHZrSPrYtEzVB5eTmee+45nD59\\\\\\n\",\n       \"2urL7ty5MzIzm6Y1KBEREZG9YQCLqJnwDo9ERUkxSnNzbF0Uh1Gs02N5+ln1c9uwxg2GtAjwxL1j\\\\\\n\",\n       \"Q7Dq9A8oKKvM4UR10+rgWbj8r5ncCek+yO5VZAPSxe/VV19VgSxre/nll/HII4/gzz//xJkzZ5Cb\\\\\\n\",\n       \"m1ttIiIicvhRCBs6kVNjF0KiZsIjKBhaNzfVCsvdP8DWxXEYW3IKMKVFCNqG+6lWWIu3JFr9M6ID\\\\\\n\",\n       \"vXDPRSFYl7QOqxNXW335zUXcHuPugyE2LQs1b6NGjcLatWtVcnVrGjNmjPp39OjR1ebr9XqVD6ui\\\\\\n\",\n       \"osKqn0dERNRUNPrKqaHLIOfGAJad2rVrF3788UcEBwfj6quvRmjov7lc5CnrzJkzsWDBApuWkRyL\\\\\\n\",\n       \"RquFX6s2cPHwsHVRHMrZ8gq8ciIFT7aNwuC2IVYPYLUM8sJdI+Ox9vT3WHt6rVWX3ZxoKvRos7cy\\\\\\n\",\n       \"gFXi4YLT7QJtXSRqxi6++GI89thj2LNnD/r06QMfn+otOC+77LJ6LXfNmjVWKiERERGR42EAyw6t\\\\\\n\",\n       \"XLkSl156Kdq1a4e8vDzMnj0b3377LS644AL196KiInz66acMYFGdBbZn4t/6SCopQ4VeD39PNwyN\\\\\\n\",\n       \"D8G6o/+29GmoCztHYOfZ1QxeNVDU8Rx4FVZ22TrVORg6V/aQp/qbM2cOli5dioMHD8LLywuDBw9W\\\\\\n\",\n       \"3fc6dOhg0fvvuusu9e/rr79+zt8a0lJqxIgRsJd1JCIisiomcScL8ArfDj3zzDN4+OGHsXfvXpw8\\\\\\n\",\n       \"eVLlu5Cntb/99puti0ZOoDQvDyU5lYmuyTK5qhVWqupWf/PQOIxob53R7fw9XRET7I2k/CRuCmt2\\\\\\n\",\n       \"H+zO7oPUMNL97+6778amTZvw+++/o6ysDBdddBEKCizLT6fT6Wqc6hq82r17t3qf4efapqZcRyIi\\\\\\n\",\n       \"IqKmxhZYdmjfvn34/PPPq57USgCrZcuWuPLKK7Fo0SL069fP1kUkB3b24F71b0S/QbYuikPZm1+E\\\\\\n\",\n       \"l44l4/G2UZg+OBZH0vORnF1c7+UFeLnhnlHxOFm0GTvSd1i1rM2OXo/YXZUjs+k0wMnOwbYuETk4\\\\\\n\",\n       \"0wdGCxcuRHh4OLZt24bhw4fXaVnFxcXw9PSsd1l69uyJ1NRU9fnys1wXSM6rhrbssuY6EhERETUF\\\\\\n\",\n       \"BrDskIeHB7Kzq7eQue6666DVanHNNdfgtddes1nZyPF5hUci++B+6MrKVFJ3stz+gmKcLi5FjKc7\\\\\\n\",\n       \"YkN96h3AcnPR4N5R8ThVvBlLjiyBXrWZpvoKTi1E0JnKbXE6PgAlPtyvybpycipHb5W8lJaQQNJL\\\\\\n\",\n       \"L72E999/H2lpaTh8+DDi4uLw1FNPqcTuN998s8WffeLECYSFhVX9bC/rSEREZE0yfmCDk7hbqzBk\\\\\\n\",\n       \"t9iF0A7JE1ZziVqvvfZafPTRR7jvvvtsUi5yDt7hEdDrdCjKzLB1URzSyswcdXK8aUgsWgV71bv1\\\\\\n\",\n       \"VbCPO4NXjdB98ER363TvrKvkXcnY9e2uOr1HXi/vo6YlA6EYTyUlJbW+XrrvycApQ4YMQdeuXS36\\\\\\n\",\n       \"jBdffFG1aHrllVfg7u5eNV/eL+fxumjdurVqXWX4ubapvixZR6kn07ojIiIiakoMYNmhO++8E0lJ\\\\\\n\",\n       \"5nPiTJkyRV0Us3k/1Zerlzfc/f1RlJ7KSqyH1Vl52JCdD61Wg2HtK1tF1IW7ixbX9IvBsYx8tryy\\\\\\n\",\n       \"kljjAFbXps9/JUGoX5/8FZs+3IQdiyzrDiqvk9fL+xjEaloxMTEICAiomiSZeW0kT5TkpJQu/Jb6\\\\\\n\",\n       \"7LPP8OGHH2Lq1KlwcXGpmt+jRw+VNN3eWLKOUk/G9Sb1SEREZDWSbNYaEzk1diG0Q5MmTVKTtMIy\\\\\\n\",\n       \"jDxo2p1QRickqi+f6BhUFNc/f1Nzdyi/GIMDfTG0bQh+3p2C7MIyi97n7qrF7cPjoPU+iYV7FzZ6\\\\\\n\",\n       \"OZsD79xStDhZ2RIks4U3csLq1yquITIOZ6C8uHIExH8+/kf92+vaXrUGrwyvk/fJ+6N6RDVRaSkx\\\\\\n\",\n       \"MRH+/v7Vuu3X5J577sFPP/2Ev/76S+WitJQ8hIqPjzfb0kmSpdsTS9dx1qxZePDBB6t+lxZYDGIR\\\\\\n\",\n       \"EZHVcBRCsgBbYNmxcePG4f/+7/+qXexmZmbi0ksvxWOPPWbTspFj828Th6COnW1dDIf1e1Yu1p3N\\\\\\n\",\n       \"h5e7K+ZM6oZg7/PnXPJw1eKOEW2h8TqBT/Z+glJdaZOU1dm12XemKl/C8W626T7Y46oe6H9z/6rf\\\\\\n\",\n       \"JThVU0ss4+CVkPfJ+6npSPDKeDIXwJIk6RLYWbZsGVavXo3Y2Ng6fUbnzp3x999/nzP/u+++Q69e\\\\\\n\",\n       \"NQc3m1Jd11HqybTuiIiIiJoSW2DZMWmBNW3aNDW89VdffaWSt0ri1/bt22Pnzp22Lh45uIqSEpQX\\\\\\n\",\n       \"FsAjiAl76+O/iemqC+CwID88NaEzHvim9vxH1w1oBZ3HUXy671OU6ypb61DDxe36t/vg8e5N333Q\\\\\\n\",\n       \"wNDiyhCcMtcSy1zwqraWWmTbLnVy3l2+fDn8/PzUKIBCus55eZ2/ld/s2bMxffp01RJLWl0tXboU\\\\\\n\",\n       \"hw4dUl0LpbWTM6wjERGRVbEFFlmALbDs2ODBg1WgShKq9u7dW3UrfOCBB7B27doGJWslEtlHDiFz\\\\\\n\",\n       \"t2X5esi8hUmZ0AHw83JTua1qIvmXowO9sCF5A4NXVuRaWoFWh86qn/N93ZDWys+mu6oEo2pqicXg\\\\\\n\",\n       \"lWN577331Kh8I0eORIsWLaqmxYsXW/T+yy+/HD/++CP++OMP+Pj4qIDWgQMH1LwLL7ywQWWTUYol\\\\\\n\",\n       \"Ebx06cvKylLztm/fXmPuzMZaRyIiImuSFvXWmMi5sQWWnZOht7du3aryUiQnJ6snuIWFheqCuDG9\\\\\\n\",\n       \"++67ePXVV9UTWUk6+/bbb6N//39vzMjxeUdEIj/xFErz8uDuZ9sbf0dVpNPjWGEx2nl74vnLu+Dx\\\\\\n\",\n       \"ZXtRodefE7ya0r+Veqh0KveUzcrqjGIOnYVbmYQQgZPS+kpr+8Sd5lpi7Vy8E6X5/3YZZcsr+yfd\\\\\\n\",\n       \"6xpq2LBhqgW1Ne3evRtjxoxRraROnjyJW2+9FcHBwaqFV0JCgmrh1ZTrSERERNSU2ALLjs2dOxeD\\\\\\n\",\n       \"Bg1ST2tldKB//vkHO3bsQPfu3bFx48ZG+1x5+iqJWp9++mn1VFcCWGPHjkV6enqjfSY1Pc+QUGhc\\\\\\n\",\n       \"XFCUlsLqb4DnjiajUKdDmL8nIgM8q/1N4inXD2iNNiHemH/oORSWF7KurSjOaPTB491s133wfC2x\\\\\\n\",\n       \"GLwia5Fz84033ogjR47A0/Pf48348eNVEnYiIiKH70LY0ImcGgNYduzNN9/E999/r1o/yYWqdCWU\\\\\\n\",\n       \"INbkyZNVk//G8vrrr6unujNmzFCJaN9//314e3tjwYIFjfaZ1PQ0Wi28wsJRmJ7G6m+AChmFrqRc\\\\\\n\",\n       \"Bauu7R8DQxsgF40GNwxqg5jIbBW8yivlyKFWpdMj9n8BrDI3LRI6BMGeSBDL3de92jz5nTmvnFdQ\\\\\\n\",\n       \"UJBqDWXJVF9btmzB7bfffs786OjoqhxWREREDokBLLIAuxDasT179iA0tPqoWm5ubqpr34QJExrl\\\\\\n\",\n       \"M0tLS7Ft2zaVW8NAq9WqLgs1tfoqKSlRk/HQ2uQYvCOjUJCSpLqSaKSvG9WJh1aDfgE+WJedhyjP\\\\\\n\",\n       \"YHSNDsDrV/dAUZkObi4aZJWfxId75qOgrIA1a2WRp/Lgk1c5QmtCpyBUuLvYVR1LzivjlldCfpf5\\\\\\n\",\n       \"DGI5p3nz5lX9fObMGbzwwguq9bK0pBZyDl2xYgWeeuqpen+GjARo7hwr6QbCwsLqvVwiIiIiR8AA\\\\\\n\",\n       \"lh0zDV4ZGzFiRKN8ZmZmJioqKhAREVFtvvx+8OBBs++ZM2cOnn322UYpDzUunxZRaqK68XXRItzd\\\\\\n\",\n       \"DZMjghBVmIvCwnwkHM9GYGCgaoUR8L8BvEoLfaHVsKFrY4jbk2mX3QfNJWyXlleGYJa50QnJOcio\\\\\\n\",\n       \"gwZXXHEFnnvuOdxzzz1V8+677z688847KrG7DMhSH5dddpla7jfffKN+lwcPkvvq0UcfVZ9JRETk\\\\\\n\",\n       \"qKyRhJ1J3J0f76yowaS1loxkZJgSExNZqw5EV1GBkuzKkdyo9oOlTFEebnglOhAPhXrDPz0Za9as\\\\\\n\",\n       \"US0rNm3ahN9++00lU5ZJ8tGEe4RjZu+ZcNO6sWqtLHZXZQBLrnNOdrGfAJa50QZnLJtR4+iE5Jyk\\\\\\n\",\n       \"pdW4cePOmS/zJIBVX6+99hry8/MRHh6OoqIi9TArPj4efn5+ePHFFxtYaiIiIhvSa6wzkVNjCyw6\\\\\\n\",\n       \"p9WXi4sL0tKq50WS3yMjI2vs0iATOab8hJPIPnwQLUePhdaVhwRzLg8PxNjQgKrfj+/ehQMHDph9\\\\\\n\",\n       \"raE7rQxpL4mW27RrgyCPIKQXcRAEawnIKEJoWpH6ObmNHwr9q+easqfglaGllbnRCY3nk3MJCQnB\\\\\\n\",\n       \"8uXL8dBDD1WbL/Pkb/Ulow/KyIbr16/Hrl27VDCrd+/eqps/ERERkbPj3SpV4+7ujj59+mDVqlWY\\\\\\n\",\n       \"OHGimqfT6dTvxl0hyHl4hUfg7MH9KD6TAe+IFrYujt1w12hwfVQIWnq6w1OrxfoVv6G4uFh9HyRX\\\\\\n\",\n       \"nCWkhUSprhTTu0zHsexj+P7Y99DpdY1e9uY0+uCJHjV3tbaX4JUBg1jNh3Srv+WWW/Dnn39iwIAB\\\\\\n\",\n       \"at7mzZtVK8358+fXe7mfffYZrrnmGgwZMkRNBnJMWrRoEaZNm2aV8hMRETU5a4wiyFEInR4DWGR2\\\\\\n\",\n       \"mG7J5dG3b1/0799fJaYtKChQoxKS83Hz8VVTUXpasw9gtff2VEnZRYynO4KyM3F452GcPXu22kAF\\\\\\n\",\n       \"lpJRwTrFt0XB9mPoGdsW4d1uQ0pBClYnrEZeGUclrK9YO8t/tevbXecNXtUWxNK6aNHjqh5NVFpq\\\\\\n\",\n       \"CjfeeCM6deqEt956S3UpFvL7unXrqgJa9SHnYemGKF0IjeXl5am/MYBFRESOijmwyBIMYNE55Olu\\\\\\n\",\n       \"RkYGZs+erW7Ae/bsqZ4amyZ2J+dqhZWflIjgZjoaYTdfL0R6uGF8WCDSDx1AWVkZSioqsP7YMTWo\\\\\\n\",\n       \"QX1lZ2djy85d6Nt/MNYueA/Rnbqgc2QU4rvfhnXJ63Ay5yTSCqt316XaeRSUIfpYTmX9hnnhbIS3\\\\\\n\",\n       \"zassrH0YXD1dUV5cXmvwylwQS94n7yfnI4GqL7/80qrLrGnE2NOnT6vuhURERETOjAEsMku6C7LL\\\\\\n\",\n       \"YPPhHRGpErnrSkvh0gzymXlqNWoUQdHL3xvjvFyQlZWFfet2IyUlxaqflZycDK1WqwJhx7ZulmHD\\\\\\n\",\n       \"0GHgUIwJ74vADpdiYcLXyC7JVl0LUwtSoWfb51q12Z8Frc6o9ZUdBFyjekTh4hcuRsbhDItbUkkQ\\\\\\n\",\n       \"S1peSfBK3k/OR77z33//fVW+vC5duqhRBCXPZF316tVLBa5kGj16NFyN8hXK55w4ccJs0ngiIiKH\\\\\\n\",\n       \"wS6EZAEGsIgIHkHBiBz4bz4VZxbk6oKZbSIRUV5Slc9q7dp1qgtOk9DrcWjj3+rHmM7dcMPAK6HR\\\\\\n\",\n       \"aOHi5oYt+bvwzaFvGMSqRdzuf7sPHutu++6DBhKEqmsgit0GndfRo0dxySWXqJZRHTp0UPPmzJmD\\\\\\n\",\n       \"mJgY/Pzzz2jbtm2dlmfISblz506MHTsWvr6+1XJXtmnTBldccYWV14KIiKgJ6Su7ETZ0GeTcGMAi\\\\\\n\",\n       \"oqquKWV5uXD3D3Da/Fa3xYTB20WLdWfz8M/Kn21dJCTu36Mm4eHtg/bTJmLOsDk4nXcaC/YuQGF5\\\\\\n\",\n       \"oa2LaFdcynRovT9L/Vzk5YqUWOfcV8nx3XfffYiLi8PGjRsRHBys5p05cwbXX3+9+psEseri6aef\\\\\\n\",\n       \"Vv9KoEq6+Xt6ejZKuYmIiIjsGQNYRKRIEveM7VsQNfwCldTd0Uknnasig9HKy1393sLDHUe3bFZ5\\\\\\n\",\n       \"3WQ0QXtTUliAvR8ugqePDzoOGYGZfWYityRXtcZan7QeOzN2ormLPpoNj5LK/oMnugZD72L77oNE\\\\\\n\",\n       \"5qxduxabNm2qCl6JkJAQzJ07t9rogXUlA6wQERE5JXYhJAswgEVEimdIKDRarQpkucU6bgDLz0WL\\\\\\n\",\n       \"i0ID1CiCPi5aZGzdrFqXJRUWqqTq9kyvq0BRXi52rvgZYQfbQOviAjdPL1w/9Cq0D2qvRjBcl7Su\\\\\\n\",\n       \"2XYxjNtzpurnE91DbVoWotp4eHiY7Zacn5+vuvzVl+S7euONN/DNN98gISFBdYE2Jrn8iIiIHBID\\\\\\n\",\n       \"WGQBBrCISNG6usIzNAyF6Wnwj61bfhZba+ftgVB3N0h7nDEh/vDMSEVWUhb2Hzt2zg2eI9DrdUg/\\\\\\n\",\n       \"ebzq97zMDETExaNHu+GI9o3G0eyjav6x7GM4W3IWzYJej9jdlQGschcNTnUKsnWJiGo0YcIE3Hbb\\\\\\n\",\n       \"bfj444/Rv39/NW/z5s244447VCL3+nr22Wfx0Ucf4aGHHsKTTz6JJ554AidPnlTJ4mXkYCIiIiJn\\\\\\n\",\n       \"xgAWEVXxCo9A1r49qCgtgYu7/Y5G6KpB1SiCHX08cU2AZ1XLg+yjKdi+b59qdeUsstNS1HRq9w50\\\\\\n\",\n       \"Hj4Kbd0HwMXVDT4dJuDDU5+joKwA5fpyZBb9m+Dc2YSdzod/don6+XSHQJR58vRF9uutt95S3f0G\\\\\\n\",\n       \"DRoEN7fKY1V5ebkKXr355pv1Xu6XX36J+fPnqwTxzzzzDKZMmaISwnfv3l11WZT8WkRERI5IY4Uk\\\\\\n\",\n       \"7g1OAk92j3cARFTFKywCrt7HUF5UZLcBLG+tFve1jkCcpkKNIig3hevXr1cJkp1dcUE+tv/6Q9Xv\\\\\\n\",\n       \"8X0H4vZeN0KjkRZ0bliV+Rd+OfELnL374PFu7D5I9i0wMBDLly9XoxEeOHBAzevUqRPi4+MbtFzJ\\\\\\n\",\n       \"4detWzf1s4xEmJOTU9Xi66mnnrJCyYmIiIjsFwNYRPTvAcHTE9HDR9lljbT0cMNdrSLg7+qCPfmF\\\\\\n\",\n       \"+OHXH52qlVV9HN26SU3COyAQPa6fjKHRQ1XXws/2f4YyXRmcRezuf1uXnegaYtOyEFlKAlYNDVoZ\\\\\\n\",\n       \"a9myJVJSUtCqVSvV8mrlypXo3bs3tmzZovJuERERETkzBrCI6BxlhQVw9fRSSd1taUJYoOoiKCI9\\\\\\n\",\n       \"3JC8Zxd2nj6NgoICm5bLHhXmZGPHh5/D08cXXUdeiAf6PIC80jwV5FuduBqHzx6Go/I9W4KI05Xb\\\\\\n\",\n       \"PK2lD/KDeKNO9u2KK65Qua8effTRavNfeeUVFWz69ttv67XcSZMmYdWqVRgwYADuvfdeXH/99SrP\\\\\\n\",\n       \"liR0f+CBB6xUeiIiIhtgEneyAANYRFRNWX4ekv/+E+F9B8ArLLzJa8dDq8FFIQFo6emOKE83JG2p\\\\\\n\",\n       \"HEUwo7gYmZnOm+PJGirKylCQfRZbflyK8Dax0Gi08PL3xw3DbsC29G2o0FWgsLwQfyb+iQp9BRxF\\\\\\n\",\n       \"3J5/t/vxHuw+SPbvr7/+UjmqTF188cV47bXX6r3cuXPnVv18zTXXoHXr1tiwYQPatWuHSy+9tN7L\\\\\\n\",\n       \"JSIisjXmwCJLMIBFRNW4+frB1dsbRelpTRbAauXprlpYieFBfgjPzULmqQTsOn4cRUVFDr2FJPgm\\\\\\n\",\n       \"uboCIyKRcepEk3ymrqIcqceOVP2em5GOmFZt1M+hMR3RunNr7MzYqX5Pyk9CWmEa7Jlh9EHB/Ffk\\\\\\n\",\n       \"CPLz8+Hu7n7OfEnonpub26DA2ODBg+HqWnn5NnDgQDVJLkD52/DhwxtUbiIiIiJ7xgAWEZkdjbAw\\\\\\n\",\n       \"JQXBXSqTBTeWUDdXxHl74LoWIShJS1Hz8pNO4e+dO1XQxxlIAGvbtm3ofekV2PDlAuSfrRwtsSll\\\\\\n\",\n       \"Jp5Sk3B190DXC8bgEu+h0Gg18G8ZjgUnv1QjGOqgw5miM9CrNtz2wb2oHDFHstXPuQHuyIz2sXWR\\\\\\n\",\n       \"iM5LEq0vXrwYs2fPrjZ/0aJF6Ny5c71r8IILLlA5sMLDqz9ckGTu8reKCsdpWUlERHQO+7kEJTvF\\\\\\n\",\n       \"ABYRncM7PBJ5J0+gJCcbHgGBjVJDk8IDcYm/J8rKyrBt3V/qpsxZJSYmon379vAODLJJAMtYeWkJ\\\\\\n\",\n       \"dq74uer3lp26YMawKSrfmUbrgq15u7D40GLo9PYRQGx18CxcKiqvZk5I90EZcpHIzsmIgJMnT8ax\\\\\\n\",\n       \"Y8cwalTlwBiSu+rrr7+ud/4rQ0BcY+Y7IKOw+vgwuEtERA6MObDIAgxgEdE5PIKCVTfC8qJCqwWw\\\\\\n\",\n       \"QtxccVercAS7uUJuvwordFi54hcmZLex0wf2qUm4e3mj3bTL8dzg51QAq6i8SI1mKN0M7WH0wePd\\\\\\n\",\n       \"OPogOQbJR/X999/jpZdewnfffQcvLy90794df/zxB0aMGFHn5UkwTEjw6sYbb6w24qC0utq9e7fq\\\\\\n\",\n       \"WkhERETkzBjAIqJzSGuc6BGjrVIznXw8cVFoAKI83JBz9DA2HTum5hcXF6u8LWQ/SosKceCjb+Dl\\\\\\n\",\n       \"H6B+j4hti1uH3orkgmT1+6mcU1h5amWTdTHUVOgRu7eyxVqJhxan2zVOa0CixnDJJZeoyRoCAgKq\\\\\\n\",\n       \"WmD5+fmpgJiB5NqSPFi33nqrVT6LiIjIFpjEnSzBABYR1aiirBQaaKB1q0ywbgkXAGNC/eHj4gJX\\\\\\n\",\n       \"jQaDA31xatcOHM7NRWpqKmvbzukqKlDwv26Ox89mISctFR6+vqrlx/B+gxDZORIZRRkqiLUldYvK\\\\\\n\",\n       \"ndVYoo7nwKuoMsh5qnMIdK7aRvssosZQWlqK9PT0c3L6tWrVqk7L+eSTT9S/bdq0wcMPP8zugkRE\\\\\\n\",\n       \"5HzYhZAswAAWEdUYyEha/TuCOnaBX+vKEexq4+uiRQcfTwwI8EV8ST4yMyqDVbt3pyItzb5HuaOa\\\\\\n\",\n       \"nUlK/PfnxAS06dkHgS4B8PD2QZ/uffDryV9RritX3Q0Pnz1s1aqM22M0+mB3dh8kx3HkyBHcdNNN\\\\\\n\",\n       \"2LBhg9kcVvVNtv7II4+oZRicOnUKy5YtU4nhL7roogaXm4iIiMieMYBFRGZpXVzgERyMwvSUGgNY\\\\\\n\",\n       \"Aa4ucNNo4OWixS0tw+Cfl428M6n4a/t2lZydnEtxQT4Orl9b9Xtsr764pO0w9bNvYDDWBm7GppRN\\\\\\n\",\n       \"6vfc0lyU6RqwD+j1iN1V2bpLpwFOdg5uaPGJmozkqXJ1dcVPP/2EFi1amE28Xh+XX365yod1xx13\\\\\\n\",\n       \"IDs7G/3791ddCDMzM/H666/jzjvvtMrnEBERNZcuhO+++y5effVV1VOkR48eePvtt9X59XxkZOEp\\\\\\n\",\n       \"U6aoc7PkvaSmwQAWEdXIKzwS2Qf3Q1dWdk43wlHBfrgu2KeqNcCJ40fwx65drM1m5MSOrWoS3gGB\\\\\\n\",\n       \"GHTZFRjVrTKgVVJYgP8cexdZxfUbdTE4tRBBZ4rVz6fjA1DiY3k3ViJb27lzJ7Zt24aOHTtadbnb\\\\\\n\",\n       \"t2/HG2+8oX6W5PCRkZHYsWMHlixZgtmzZzOARUREjssGXQgXL16MBx98EO+//z4GDBiAefPmYezY\\\\\\n\",\n       \"sTh06BDCw8NrfN/JkydVl/5hwyqve6npMIBFRDXyDo/A2f17UZSZAZ8WUSq/1dSoEHT381Z/X/PH\\\\\\n\",\n       \"StUKgKgwJxtrP/+4qiI6DR2Jh/o+pFphSb6stYlr8efpP+vVffBE91BWMDkU6dInraKsrbCwUCVx\\\\\\n\",\n       \"FytXrlStsbRarUriLt0JiYiIyHLSelkGQZkxY4b6XQJZP//8MxYsWIDHHnvM7HskDcDUqVPx7LPP\\\\\\n\",\n       \"4u+//+a9UBNjAIuIaj5AeHnDPSAAHiVFuLllKCLdK1vB7PhjpbqRkgTFROYcWPcnEvbuUl1R3b28\\\\\\n\",\n       \"MWzSOHQK6YSyijIUVxRj+bHlyCvNq7HyYnf/e/N/oivzX5Fjefnll1W+qpdeegndunWDm0kLVn9/\\\\\\n\",\n       \"/3otNz4+XnVTmDRpElasWIEHHnhAzZdE8fVdJhERUXNsgSX3MdJaetasWVXz5KHQmDFjsHHjxhrf\\\\\\n\",\n       \"99xzz6nWWTfffLMKYFHTYgCLiMzq4eeFNl4e0F9+KXr5+8Al5bTqG56cnMz8VmSRguyzVT8XfboY\\\\\\n\",\n       \"wdEx6ueoVm1wR/c7sCdzj/r9dN5p7D2zt+q13rmlaHGyMriVGemNnDAv1jg5FLn4FaNHj7ZqEnfp\\\\\\n\",\n       \"JnjdddepwJUse9CgQVWtsXr16mWFkhMRETl+Dqzc3Nxq8z08PNRkTFpKy/k4IiKi2nz5/eDBg2aX\\\\\\n\",\n       \"v27dOnz88ccqVQDZBgNYRFRF0gx39vVCK093XBjqj6yjR9QNV3ZCvuoL7uIinQiJ6q4wN0dN4vSB\\\\\\n\",\n       \"fYjr3Rcd/UIgua1Htx+ClT4tkFKQorobum5eq/ZFcZzdB5u9Nb0z4O7j3uB6KC1ouhaja9asaZTl\\\\\\n\",\n       \"XnnllRg6dChSUlJUolkDCWZJqyyqmxXJjn8DMjaqJxzZ7zpbl4CInFFMTOVDU4Onn34azzzzTIOW\\\\\\n\",\n       \"mZeXhxtuuAHz589HaCjTW9gKA1hEzZyHVgNvrVYFEi4NC8QAVz3y8/OxY9U/yMqqTMAtTxkCAwPR\\\\\\n\",\n       \"po350QiJ6kaP49u3VP2WeGAvBg0dCa1/N7h6eCL9xL9/S+4VzcolhzNixIhGW7YkbpfJmCWjJRER\\\\\\n\",\n       \"ETWXLoSJiYnVutabtr4SEoSSh/NpaWnV5svvpudZcezYMZW8/dJLL62ap9NVRuFl5GF52N+2bdsG\\\\\\n\",\n       \"rgCdDwNYRM1YSw833Nc6EiH6cvV7Tk4OVq1dj+LiytHfDOQEIMEsBrCoMeSkpWLjkkXqZ61Ohw6b\\\\\\n\",\n       \"K1tFaIKCcN+k1/BVwnfYlr6NlU8ORfJifPDBBzh+/Di+/fZbREdH4/PPP0dsbKxqRUVERESNE8CS\\\\\\n\",\n       \"e5fz5YZ0d3dHnz59sGrVKkycOLEqICW/33PPPee8XkYW3rOnMv2FwZNPPqlaZr355pvntPqixsEA\\\\\\n\",\n       \"FlEz1D/AB5MiguDjosWP6dlw/3NFra8PDg5WTyMkcbu3d+UIhESNwTspFZqyMvVzVmggUn9cisuv\\\\\\n\",\n       \"uBzj48arecn5yfjiwBcoqSjhBiC7tWTJEtXNQEYp2r59O0pKSqoeEkhi919++cXWRSQiImr2Hnzw\\\\\\n\",\n       \"QUyfPh19+/ZVrZnnzZuHgoKCqlEJp02bph5AzZkzB56enujatWu1OpMeKsJ0PjUeBrCImgnJKTQ+\\\\\\n\",\n       \"LABxXh6I8/bEwY3r1bCv7vn5532vPMGQUTmkFRYDWNSY/BKTqn7Oi4lG/ukE/DN/ITx8fNRe3GHQ\\\\\\n\",\n       \"UNzX6z5kFmWqfFmbUzbjQNYBbhSyKy+88IIailsufBctqmxdKIYMGaL+RkRERI2XxN1S11xzDTIy\\\\\\n\",\n       \"MtQgKTJYVc+ePfHb/7d3H+BVl+f/xz/ZOyEhkBAIS0VkKwiCiAvFcbWuWupEbenP1lnUVqtVW9ta\\\\\\n\",\n       \"f7VWba2rRf1XqVb9YW21OKCACMgSBSEgMwEyCIEkJCHz/K/7CUkTCBDIOOv9uq4vOfOb73kOOeN+\\\\\\n\",\n       \"7vt+Zs1qbOyenZ3tvgPBdxDAAgJYt8hwl20VohBlREWoZ3Skdq5crqVFRS4ToLXshdtmGA4sLQTa\\\\\\n\",\n       \"lcej+Jwd7mRdWJjKenR3pyvLy9xmlr/3jnqcMFBh4WGKiIrR1eOv1md5n7mMrKraKn2641PV1NWX\\\\\\n\",\n       \"xALeYn0wJkyYcNDlSUlJbuIAAAB0XAnh0bBywZZKBs3cuXMPe9+XX3756H8h2oQAFhCALFjVIypC\\\\\\n\",\n       \"V6anqGbHNle+YsvErlq/XhUVFce0zxNOOIEZiDawmvqErqkq2LyxLbsJaDGFRYrYV19qtTcjTZ7w\\\\\\n\",\n       \"g9+i6mprtT3rq8bze/JzNWDAQHc6qXu6BgweoAXbFyinNEd7q4+cXQh0BGv+umHDhoP6Btry2/37\\\\\\n\",\n       \"92fQAQAAjgEBLCCAxIeF6qT4GF3To6vqigqVs+oLrV+/vl323ZA+W1NT41bawNH58ssvdfrp41W2\\\\\\n\",\n       \"u0h5G79m+I5QPrg3M6NVY7RrW7bbTFhEhIadM0lXp16isB4R+sOWP7sgVm1drcpryhlzdJqpU6fq\\\\\\n\",\n       \"jjvu0PTp0xUSEqIdO3Zo0aJFuvvuu/Wzn/2MZwIAAB8oIYT/4VsoECAuT0vWxYnRLtPqs0/muTru\\\\\\n\",\n       \"9mbBMMskslU4cHR27drl6ugtS4gAVsvisusDWPbZo7RX6wJYTdVWV+vzD/7lTg88/Uz9+OQfNV73\\\\\\n\",\n       \"zx2zNCdnDv9t0Snuvfde91p57rnnusUvrJzQlvC2ANZtt93GswAAgI+UEMK/EMAC/FRqRLi+n9lN\\\\\\n\",\n       \"CeFhstyoGo9HH3zwb7dyRkeJj49XTk6OC5KFhYV12O9B8Iko2auY4lJ3ujy1q2pjotu0v6xP5ylr\\\\\\n\",\n       \"4Xx3OiGlq06/+nKNzRjrGr/v2bdHf137V5VW1f8+oL1Z1tX999+ve+65x5US7t27V4MGDXKvoQAA\\\\\\n\",\n       \"ADg2BLAAP3NSXLQmpCSoX0yUir9epzXbtrnLS0tLVV1d3aG/Ozk5WVu3bnUN4FNSUjr0dyGIywd7\\\\\\n\",\n       \"H332VYs89dNwpbsKteLPryo2Kcmd7z14uG4dcat27K1vGL9612otz1/ePr8TaCIyMtIFrgAAwBGQ\\\\\\n\",\n       \"gYVWIIAF+IlTk+Jcc/azUxK1bfWX2lRSou3b//ulvzPExMS4raioiAAW2lXCtvpgkinN7Nnuo1tV\\\\\\n\",\n       \"Ue42sycvTxk5AxURFaWw8Ah959RL1Su+lwrKC9yKhnWeunb//QAAADi0kP1bW7T1/vB9BLAAHxUX\\\\\\n\",\n       \"Fqo+0ZHutDVmtwBW+ZZN+nL1CuXn53vtuCwLyzKwgPYSWlmp2PxCd7oyIV5VSQkdPLge7Vi/tvFc\\\\\\n\",\n       \"4bZsHT/sZJ2aMVj9kvppWf4yd7kFtPZU7ungYwEAAADQGgSwAB8TGRKilIhw/bB3d3UpL3X9pmpq\\\\\\n\",\n       \"yrXsg/muj4q3ZWZmqk+fPt4+DASQ+O15Ctlf7udWHwzp3Pmzkp35+nL2LEXGxGj4eRdpYOplrodR\\\\\\n\",\n       \"dFycntn4FxfIst5ZFTUVnXpcAAAAQYMSQrQCASzAhwyMi9a0tETXIH3jxq/1wRdfyNeEhlrLeLkV\\\\\\n\",\n       \"thpOA22RsH/1wY4qH2ytqooKLX337cbzfYeP1O3jf+CCWWb+rkV6Z8M7LpgFAACA9hPiqd/aug8E\\\\\\n\",\n       \"NgJYgA+Y2DVRZ6YkKDEsTJ9/tkjbtm1zASJfZSsR7tq1SyNGjPD2ocDPhdTWKm57njtdHRmh8u5d\\\\\\n\",\n       \"5Su2fLFcW1etbMzGGnDNJbpvzH3K25unGVkztK92n7cPEQAAAAgaBLAAL0gKD9Ml3bsoMjRU0aEh\\\\\\n\",\n       \"6h0dpfULP3ErCfpCmeCRxMXFuSBbRUWFa+oOHKvYvJ0Kr6lxp8t6ZViKn08Npqeu1uVblZcUa/Vf\\\\\\n\",\n       \"3lBCaqqOO2W0bhlxi/LK6gNvKwpWaG3Rf3tqAQAA4Gg/dO3f2oIMrIBHAAvoRL2iI3VSXLTGJccr\\\\\\n\",\n       \"bMc2l8VkluXmqqyszG+ei6SkJFc+uHv3bgJYaJOEnKarD2b49GjWVFVq947tWp73D/U6aYjiIiIU\\\\\\n\",\n       \"HhGpq8ZdpUU7Fqm8plzVddVamrfU/QQAAMBRIACFIyCABXRS4KpHVISu6pGispxs7Vm7VVlZWX47\\\\\\n\",\n       \"9tajy4JYFsDKyPDtoAN8mMejhG31Aay60FCV9UyXP/DU1Snnqy8bzxflbteQQUPd6YSUrhoyZIjm\\\\\\n\",\n       \"ZM9Rblmuyqr9JzANAAAA+DICWEAHsJbPVhpoxnVJ0OQu0a7cbt2Sz7R169aAGPPk5GT3WGjmjmMV\\\\\\n\",\n       \"XbRHEWXl7nR5j+6qi4jwy8HctS3bbSYsPELDz7tQN2V8RyGhoXpq0wvaU7lHdZ46VdVVeftQAQAA\\\\\\n\",\n       \"fBJN3NEaBLCAdhYfFqrb+6TpuLD681VVVZo/f77LVgok3bp1cxsrEeJYxTctH7T+VwGgtqZaK/79\\\\\\n\",\n       \"rjt94rgJ+skp0xqvey/3Q32c/bEXjw4AAMBH0QMLrUAAC2gnfWMidXWPrkqOCFfW3gqtmT1LHo9H\\\\\\n\",\n       \"tbW17megaQhckYGFYxWfvd1v+l8di3UL52vD0kVuFcPYxC467TuX6JS0U5RTkqM317+pGk9983oA\\\\\\n\",\n       \"AAAAR0YACzhGViB4QWqS621lBsXHaMeqL7SqsFBFRUUBGbQ6UGFhoTZv3qyRI0eSiYWjEl5Wrtjd\\\\\\n\",\n       \"e9zp8pQuqomLDcgRrK2ub+ZeUligldNnKD6lq048bbx+MOIHKiwvlEceLc5drC0lW7x9qAAAAF5D\\\\\\n\",\n       \"CSFagwAWcJRiQkM0pku8jo+NVmZ0pPbsb+a8tqREeXl5QTWesbGxqqmpUUlJibp06eLtw4Gfrj64\\\\\\n\",\n       \"t3dPBYPK8jK3ffaPt5Q5aIgSw8IUGROrm0bdpLk5c5VXlqc1RWu8fZgAAACdjxJCtAIBLKCVksLD\\\\\\n\",\n       \"lBYZocvTkpVaulslBbv05Vdfad++fUE7hhbAioqKchlnBLBwNOJzArt88HBqq6u05YsVjef35Odq\\\\\\n\",\n       \"1PEnKrX32foofr427NngLrdVDPfVBu/rCwAAANAUASzgMCJC6lcStDLB2/qkKaasVDt3ZGvu8uVB\\\\\\n\",\n       \"USLYGikpKa6UsH///t4+FPiJ0KpqxeftdKerYmNUmRzc2Xt5G9a7LSG1m8447yKd3WuMQsPCVBBZ\\\\\\n\",\n       \"qumrp6ukqsStYggAABCoKCFEaxDAAg7hW2nJujAxuvH86i9Xav369YzXAZKTk5Wbm6uKigrFxMQw\\\\\\n\",\n       \"PjiiuB15CqmrD8jszewp7Q8UB7vSwp365G+v1J8JCdGwcyfpoRE/VU1Vpf648c/aWrLV24cIAADQ\\\\\\n\",\n       \"MSghRCsQwAKaiA4N0fUZqeoZHSlbY+/jjz90JYKWbVW9vxkzmktMTNSoUaMUEVHfzB44mv5Xpb2D\\\\\\n\",\n       \"q3yw1TweffnxLK39ZK4yBgzU9875nnZX7nZXbdyzUe9ufNc1gAcAAACCBQEsQFJaZLjOS01Sn+hI\\\\\\n\",\n       \"ldTUauvCT7R7925VVVUxPkcQEhLiglcW5LPTwGHV1SluW30AqyY8XGVp3Riww6iu3Ketq1Zqd+4O\\\\\\n\",\n       \"RcbGutU+R51+ptKHpbum7x9t/UjlNeWMIQAA8G9kYKEVCGAhaJ2cEKukiDCXaTUpNUllWzapuLhY\\\\\\n\",\n       \"WzZtUt3+8ia0TmlpqdatW6ehQ4e6pu7AocQWFCqiqj6bsaxnuhQWxmC1QklhQePpPfl56nXSEA3u\\\\\\n\",\n       \"2Uv9hn1fS/KWuMvzy/K1sXgj4wkAAPwOPbDQGgSwEFTCQqTe0ZE6JTFOpybFqWbHNnf5ji82acOG\\\\\\n\",\n       \"+pW/cPSs91VNTY3LWktPT2cI0crywZ6M1DGoqijXphVLtHnlMp142nhNSB7qLk89/mL9X+57rlfW\\\\\\n\",\n       \"jr07KDEEAABAQCGAhaBghW1RoSH6n8zuOimkVuXl5Vo8a57Kysq8fWgBITw83PXCKioqIoCFQ/N4\\\\\\n\",\n       \"FJ+9vf5kSIj29uzBaLWBp65OWQvnN57v2jNTF59zvqLS47SwZLne2fjO/mG3bln0ywIAAD6MEkK0\\\\\\n\",\n       \"AgEsNNqyZYseeeQRzZkzR3l5ecrIyNC1116r+++/X5GRkX47UqkR4bqjT5oyQuq0c+dOvb9woWpr\\\\\\n\",\n       \"a719WAG5GuHWrVtdJpYFtIADRRaXKGpvfdC4rHuq6qL893XFF+3anqO5f/2LouMTNOayb+uM0b9x\\\\\\n\",\n       \"l+8r26vfb3pOBeX/LUMEAADwJSHWT9fTtgm3tt4fvo9vmWiUlZXlej89//zzOv7447V69WpNnTrV\\\\\\n\",\n       \"ZSk9/vjjfjVS53VNdCWCJiUiXAv37NXnn8xWZWWltw8toANYFgQtKSlRSkqKtw8HPl4+uJfywQ6z\\\\\\n\",\n       \"b2+p5r/2kiKjY9z53kOG64en/VBF+4o0J3uOVu9a3XG/HAAAAOggBLDQ6IILLnBbg/79+7vG3M8+\\\\\\n\",\n       \"+6xfBLDCQ6SLunVRj6gI9Y+J0qbPFrlsoO01NaosLPT24QW86OhonXzyye4n0JKG8kFT2iuDQerg\\\\\\n\",\n       \"8sLK8vpst6+XLFRhzlYldE3V5HMna1DhINV6at3qhR9v/VjVdfVN9dHc/Pnz9dvf/lbLly9Xbm6u\\\\\\n\",\n       \"Zs6cqUsvvTRghinQHx8AwM9QQohWIICFw7JV+Y6UTWNZTU0zmywDp7P0tGBVbP2qdyMSYhUXFqaa\\\\\\n\",\n       \"r9dqRU6O9u7d22nHgXoEr3AoYRX7FFtY5E5XJCWoOjGewepEu3O3u610V6FSM/u4y7r1Hqg+Q/ro\\\\\\n\",\n       \"852fa13ROu2p3MNz0oRlHw8fPlw33XSTLr/88oAbm0B/fAAA/8IqhGgNAlg4JFuV7w9/+MMRs68e\\\\\\n\",\n       \"ffRR/fznP+/UkeweGa5e0ZG6NqOrKnN3uNLHyrwiffHFFy7rCt5RVVWlNWvWqF+/fkpKSuJpQKOE\\\\\\n\",\n       \"bTvcYgpmb+9ejIyXA1lm04qlOumMszQpZazOHX6u3lj3hnbt20Uga78LL7zQbYEq0B8fAAAIPASw\\\\\\n\",\n       \"gsC9996rxx577LC3Wbt2rQYOHNh4fvv27a6c8Morr3R9sA7nvvvu07Rp05plYGVmZqqjTOyaqMld\\\\\\n\",\n       \"YlywZPVni5Wdnd1hvwtHx5r9WwBx9+7dBLDQTHx2k/5XmZQP+oLammqt/s9H7vSAMafr+0OuU3hE\\\\\\n\",\n       \"pP68+a9aW7TW24cHAACCCSWEaAUCWEHgrrvu0g033HDY21i/qwY7duzQ2WefrXHjxumFF1444v6j\\\\\\n\",\n       \"oqLc1pHCJN3QM1Ujk+JUVlun/3z0gStvhO+xktOioiL17dvX24cCHxFSU6O43Dx3ujo6ShWpNPn3\\\\\\n\",\n       \"Nes/+9Rtaf2P17XfvFZhofaqK63dtVavrX1NNZ7AyWw9sMy9M97DAoE32wUAAAIfJYRoDQJYQaBb\\\\\\n\",\n       \"t25uaw3LvLLg1ciRI/XSSy8pNDRU3tIvJlJXpKUoLCREsWGh2ldXp3nv/UsVFRWqra312nHhyAGs\\\\\\n\",\n       \"/Px8lZeXKzY2luGC4nILFFZb99/sq5CGYkL4mvxNG7Tr2eddJlZoWJh6Xnmupo2apl0Vu/T2128H\\\\\\n\",\n       \"RHnhgRnCDz30kB5++GGvHY+/8Ea7AAAAgKYIYKFZ8Oqss85Snz59XN+rnTt3Nl6Xnp7eaSM1MjFW\\\\\\n\",\n       \"A+KiNSoxTrlfrVJRcbGs9XNBQQH9rfxAYmKiC3xaGSEBLJiEnCarD2b2ZFB8XE1lpdvMplfedU3f\\\\\\n\",\n       \"u/c9TjcPu1lZu7Pc5TklOVpesFz+KCcnx71ONSD7qnU6u10AACDIUEKIViCAhUYfffSRa9xuW69e\\\\\\n\",\n       \"zZssezz2itIxYkJDNTwhRiEhIa45+4TkBBVkrVHW6iJXzgj/YsGrYcOGsSIh6nk8isup/zuuDQtT\\\\\\n\",\n       \"WY/ujIwfqa2udllZtvUuGK5eCYkug27c4EvUI76HckpztKpwleo89Rl2/sCCV00DWGgdSi0BAB2J\\\\\\n\",\n       \"EkK0BgEsNLI+WUfqldWe4sJC1TUi3K0kmLq3WJWV+1RXUafPVyx22TvwXzExMd4+BPiImMIiRe6r\\\\\\n\",\n       \"z+Yp65EmTzhvO/4qe/UXjad3rFuroWPHa2zqcA3vNlwfbf3IlRlW1VUpUOzdu9dN6DTYvHmzVq5c\\\\\\n\",\n       \"6cqke/fuLX8X6I8PAAAEHr5JwCt6R0fq9j5piq+sUO72bM1ZvrxDs7zQuey5XLNmjeu91r370Wfc\\\\\\n\",\n       \"LF26VP/85z9dLy1b1dBKWG259/Hjx3fI8aJzygf39j549cGPlq7QvBVfKCe/vmS5f88euvr8c3QC\\\\\\n\",\n       \"pYY+rXTXTi3710xFREVr5EWXaNqAW5QftkcvfPmCSqoCo7n3smXLXE/IBg3lc1OmTNHLL78sfxfo\\\\\\n\",\n       \"jw8A4GcoIUQrEMBCpzqtS5wmp3dVZGiIZubvVtTcD3gGApCVgxpbjfBYAljx8fH65je/qR49eig8\\\\\\n\",\n       \"PNxlBbz44ouu7MfKE+E/4rK3N34mKe11cADrq01bNH74EJ3YO1OR4eF6Z/6neuSlV/X7O36grkmU\\\\\\n\",\n       \"efm66sp9WjzzDVdWmHTVeN03+j5XTmjb+5vf16LcRfJX1hMykCdWAv3xAQD8s4wQOBwCWOhQMaEh\\\\\\n\",\n       \"urpHVyVHhLuFx3pERWj1J/O0Z88eRe3bx+gHsOTkZNcs2TKoqqqq3PLr0dHRbmsIcC1ZskQzZ850\\\\\\n\",\n       \"mVbWX8UWELjzzjt10kknNdvXpEmT9Mknn2j9+vUEsHxcbW2dyvbtU21dnZKraxRTXOouz4+L0R0v\\\\\\n\",\n       \"vKy8XUWKjIhQv4x0/eS6ybpz8uXN7n/z5d/Q4q/WatXGzTrrlOFeehQ4ah6Pimd8okUJX7i/79ik\\\\\\n\",\n       \"Lpp02UU6Je0UZZdk673N7zGoAAAAaBMCWOgwl3TvohHp3VVcU6vSz5e6y3KKi1VaWv+FFoHN+qvM\\\\\\n\",\n       \"mTPHZU5Z8KqBrUw4YcIEjRo1Sn/60580efJkd3rfvn1at27dIcsRc3Nz3W3hm0Gr5eu+1geLl+rL\\\\\\n\",\n       \"DZtctpW5PjlZg7qnudN/25qts8eM1JjBA1VRWam1W7It5nGQqupqt7/4WPqo+aOK0vrywfKSYpW/\\\\\\n\",\n       \"8jcldU/TqaeOVfqQdM3bMM/bhwcAAHyVfTBsa2YwmcUBjwAWOsygkl3at2ensr/+WnV1/rNCFdpm\\\\\\n\",\n       \"06ZNevXVV/X111+7UsDRo0crLS1NERERLhPLVpacP3++Zs2a5W5vy7Bbr6yG0w3Ky8t1++23uwwu\\\\\\n\",\n       \"W9nQ+rIMHTqUp8eHWHDx46Ur9Nac+dpVUqreXbvokpMHKykmWqGhIfpWUZlUW/9BZHZpqTJz83T+\\\\\\n\",\n       \"6JHqntxFfdLrA1sHenXWbCUnJmjYcf07+dGgvZUX73Hbrm3Z6jt8pIZkJzDIAACgRaxCiNYggIUO\\\\\\n\",\n       \"s2LFClajC8Ln/I9//KNSU1N15ZVX6sQTT1RYWFiz2wwZMkTnnHOOVq9erffff1+PPfaYBg4cqHHj\\\\\\n\",\n       \"xrlgV1xcnLudlRr+6le/cplZX331lWbMmOH6aR1YXgjvqKvz6OX3PtD7i5bolN4Zunb0MGWmdGm8\\\\\\n\",\n       \"PqKmVn127nWnSyLCtCciTJs+/1LLstbrW2dP0Nkjhyv+gNUqZ85boE+/XK2HvzdFkRG8PQWKqooK\\\\\\n\",\n       \"rV+8QOX7V6MEAAAAjgXfEAC0Cyvze/rppzVgwABddtllLuPqkC884eEaMWKEC3D9v//3/1y21u7d\\\\\\n\",\n       \"u/Xmm2/q4YcfdoEqy7qyzC1jvbEsc8tWJiSA5Rte+3C2/r1oiS4/ZYjGHd/noOu7lZYrdP/pwi7x\\\\\\n\",\n       \"uu+is7V08zbN/Pwr/e3DOZo5d4Ee/eF3lZaS7G7zj08Waua8T/XgTdepb4+Ws7MAAAAQoFiFEK3Q\\\\\\n\",\n       \"8P0CAI5ZWVmZnnrqKRdouuKKKw4bvGoqJiZGN954owtUWXmhBbaWL19+yHK16upqniUfsHTtOv1j\\\\\\n\",\n       \"/kJ9Y8SgFoNXJq24rPF0fmKca+w9un+mbjlnrHsuK6urtWRNlrveVh58e84neuCGa3R8CysVAgAA\\\\\\n\",\n       \"ILCF1LXPhsBGAAtAmy1YsMA1arfMqwNLBg9l27ZtbmXBwsJCnXvuuS4Dq7i4WBkZGXr33Xe1atUq\\\\\\n\",\n       \"FRQUaPv27a7U8NNPP9Xpp5/Os+UD/rVgsfqlpmjCgH4HX+nxKLWkXN1K6gNYVaEh+mJfhWav2aCc\\\\\\n\",\n       \"oj2Ki4zU4J5pLoCVkpjosq5e/2iufnjFN9UtuYt2l+51W0VlVec/MAAAAAA+ixJCAG1v5P3xx660\\\\\\n\",\n       \"z5q2t1ZUVJS2bt2qxYsXu+CXZV+lpKRo+PDhWr9+vV555RUVFRUpMjJSPXr00M0336zTTjuNZ8vL\\\\\\n\",\n       \"cvJ36qvNW3XNaScfdF3anr0atKNQMdW1jZeFeqQB1bX6oLBI87/erMrqGtfk3TKyikpK9OFny1RT\\\\\\n\",\n       \"W6vHZ7zZbF9XnjNBkyee1SmPCQAAAF5GCSFagQAWgDb3vsrLy9MFF1xwVPezlQevvfbaxvPWqP2t\\\\\\n\",\n       \"t95ymVnWAN42+J4PlyxXfHSUhvZMPyh4dcrW/INuH+bx6OyCEiUNG6T8Lv8NcL62+HN9sHiZ/nTP\\\\\\n\",\n       \"7S6YBQAAgODFKoRoDUoIAbTJpk2b3IqBvXv3btN+rKF7w/7guzbkbNfA9G4KD2vy9uHxuMwrc2Ao\\\\\\n\",\n       \"quG8u95jU2v1BmekKa9ot8r27euMwwYAAADg58jAAtDmBu7WjL2tWTRWQmjN3zds2KAuXbo0Xm49\\\\\\n\",\n       \"sVJTU7Vnzx5lZ2c3u4/93hNOOMGd/vLLLw/ap62IaMG1nJwc12OrKVvpMD09XaWlpdq8eXOz6+w4\\\\\\n\",\n       \"GlY7tAyzmpqaZtcfd9xxiouLU25urnbu3NnsOiuD7NWrlyoqKtzqik2Vl5dr3ID+7nTW1uyD+jz1\\\\\\n\",\n       \"65GuLgnxyi/arR2Fu5pdlxQfp/4ZPVRdU6PVm7Yc9FiHHd9fYaGh2rBtu0rLK5pdl9m9m1K7JGlX\\\\\\n\",\n       \"cYmy8wuaXRcXE60Bmb1cKejKrzcetN9B/fooKiJCW3LzXG8qK/vrkZ7a/DGX7WtWNngg+59h19vt\\\\\\n\",\n       \"iuJj3GWxUZHuZ1nFPsXH1F8GAACAIGUTnU0mO495HwhoBLAAtEloaKgLfrQH248FnJr20mpY0dAC\\\\\\n\",\n       \"XAf22LI+Wg1a6r9lx9ZwuwOvt95ah9qvXdbAAlW1tbUt7tf2cahjstsceF1SUtJ/9xsdrfADGt6H\\\\\\n\",\n       \"h9efj4yIUEJs86BOzP79WqDwwOvc5ftznRpu11TE/sdjPw/ab+R/b9/SfkP3ByajIyPd9WFhBz/f\\\\\\n\",\n       \"UdXNA3yH0vR2DftoGEsAAAAEL0oI0RoEsAC0iQVpLAvLgjytXYGwJZaxZJlOffr0Uf/+/Vv8PYdr\\\\\\n\",\n       \"Et/SfZpmW9nWEsviOtx97XgOpWvXrm5riQWyDtzv4MGDpcI8dzozreXjMckJ8W5riQW9ju/V85D3\\\\\\n\",\n       \"7dmteXZUU4lxsW5riQXGDrff9K4p7qetHFhcUdnsusqI1r2VNL1dcUV96SDZVwAAAABag6lvAG0y\\\\\\n\",\n       \"dOhQVVdXa926dW3az6pVq1w2zqBBg3hGfNjwE47T2twCVVRVN15WFBetiogwt3hMS+xyu95u1+Dz\\\\\\n\",\n       \"7B0akNlTMftLCQEAABDEPO20IaARwALQJpmZma7X1NKlS495H1ZOtmzZMo0cOVLJyck8Iz5s4qiT\\\\\\n\",\n       \"VWfP15Zt/70wJERrMuozvw783NBw3l2/vxyxoGSvvs4v1AWnndpZhw0AAAA/KCFs64bARgALQJtN\\\\\\n\",\n       \"nDhRW7ZsUX5+/jHd31YetGboth/4tuTEBI0ePFALN2artq6u8fL8LvFa0SdN+yKal5Haebvcrm+w\\\\\\n\",\n       \"YMMW10/rtCFk2wEAAABoHQJYANrs1FNPdSv6/f3vf3cr7R0NW13wnXfe0fHHH9+48h982yVnjFNR\\\\\\n\",\n       \"WbneXLaqWUN3C1L956Q+Wnxchj7v3d39tPNNg1crs3do4Yat+uYZ4xTZyt5ZAAAACJJVCNu6IaAR\\\\\\n\",\n       \"wALQZrZq3z333ON6Yb3yyisqLi5u1f0s68pubysP3nnnna6ROHzf8b0ydMu3LnFlhG8u+7JZJpaV\\\\\\n\",\n       \"CRbFxyg3OcH9bCgbNHb7GZ+t1BkjhurSCeO8c/AAAADwOZQQojWY/gbQLmyVvwceeEC//e1v9fzz\\\\\\n\",\n       \"z+vkk0/WqFGjWuxpVVBQ4HpeffHFF+5+d999t5KSkngm/MiEEUPdLNczb7+rrUXFOv24PjqlT09F\\\\\\n\",\n       \"H5BVVVfnUVZegSs5zMot0LmjTtbUSy4iWAkAAADgqBDAAtBuMjIy9PDDD+u9997TvHnztGjRIvXv\\\\\\n\",\n       \"31/dunVTZGSkKisrlZeXp61btyoxMVEXXHCBLr74YsXGxvIs+KEJJw9Tj9SumjlvgWZ+/pXe+zJL\\\\\\n\",\n       \"g3umKSkmWmEhISqvqlZW3k5XbtivR7puu/JSF/gi0w4AAADNtMcqglQQBjwCWADalWVSXX311bri\\\\\\n\",\n       \"iiv02WefacGCBa7B+759+xQTE6PU1FTdcsstLjvLSg/h307I7KkfXztZu4pL9PHSFVqetV7bSgpV\\\\\\n\",\n       \"W1unuJhoDTvxBE0aM8qVHRK4AgAAQEvaYxVBViEMfHx7BNAhoqKiNGHCBLch8HVNStTkiWe5DQAA\\\\\\n\",\n       \"AADaGwEsAAAAAADgPXWe+q2t+0BAI4AFAAAAAAC8hx5YaIXQ1twIAIAj+WrTFr37yaKjGii7vd0P\\\\\\n\",\n       \"AAAAAA6HDCwAQJtZEOrXr/xNldXVqq2r1WVnjj/ifWz1wtc+mKOoiAj9dMpVGty/L88EAABAEApp\\\\\\n\",\n       \"hybstg8ENjKwAABttnF7rgteGQtKWXCqNcErY/ez+wMAACBIeTztsyGgEcACALTZN88Yq2smndN4\\\\\\n\",\n       \"/nBBrKbBK2P3s/sDAAAAwKEQwAIAtAsrGzxSEKul4FVryg0BAAAQuKx8sD22o/XMM8+ob9++io6O\\\\\\n\",\n       \"1pgxY7RkyZJD3vbFF1/UGWecoeTkZLdNnDjxsLdH+yOABQDolCAWwSsAAAAcdhXCtm5H4Y033tC0\\\\\\n\",\n       \"adP00EMPacWKFRo+fLgmTZqkgoKCFm8/d+5cXXXVVfrPf/6jRYsWKTMzU+eff762b9/Ok9pJCGAB\\\\\\n\",\n       \"ADo8iDXlF/9L5hUAAAB8xhNPPKGpU6fqxhtv1KBBg/Tcc88pNjZW06dPb/H2r732mn74wx9qxIgR\\\\\\n\",\n       \"GjhwoP785z+rrq5Os2fP7vRjD1YEsAAAHR7EKtu3r/E0ZYMAAABoKsTjaZfNlJSUNNsqKysPGuyq\\\\\\n\",\n       \"qiotX77clQE2CA0Ndectu6o1ysvLVV1drZSUFJ7MThLeWb8IABB8Qax35i1sFryKi46m5xWOSvn2\\\\\\n\",\n       \"a1UTE9/mUauq2CvpJUa/nc1cv0qJCf45HzopY4S3DwEA0KBu/9YW++9vpX1NWYngww8/3OyywsJC\\\\\\n\",\n       \"1dbWKi0trdnldj4rK6tVv+4nP/mJMjIymgXB0LEIYAEAOoT1vGoavDJ23i6ncTsAAAA6Qk5OjhIT\\\\\\n\",\n       \"ExvPR0VFtfvv+M1vfqPXX3/d9cWyBvDoHASwAADt7sCG7ZZ51RDMaricIBYAAABM0xLAY9Vwfwte\\\\\\n\",\n       \"NQ1gtSQ1NVVhYWHKz89vdrmdT09PP+x9H3/8cRfA+vjjjzVs2DCewE7knznfAACf1dJqg688+OND\\\\\\n\",\n       \"rk4IAACAINfJqxBGRkZq5MiRzRqwNzRkHzt27CHv97//+7965JFHNGvWLI0aNaqtjxpHiQwsAECH\\\\\\n\",\n       \"Bq8aMq0afjZcTyYWAAAAvGXatGmaMmWKC0SNHj1aTz75pMrKytyqhOb6669Xz5499eijj7rzjz32\\\\\\n\",\n       \"mB588EHNmDFDffv2VV5enrs8Pj7ebeh4BLAAAB0evGpAEAsAAAAHsfK/NpYQHu39J0+erJ07d7qg\\\\\\n\",\n       \"lAWjRowY4TKrGhq7Z2dnu5UJGzz77LNu9cJvfetbR2wSj45BAAsA0GbvfrLoiMGrwwWxwkLD9M0z\\\\\\n\",\n       \"Dp2uDQAAgMAV4qnf2rqPo3Xrrbe6rSXWoL2pLVu2HOuhoZ3QAwsA0GbH9eyhqIiIIwavGtj1DT2x\\\\\\n\",\n       \"7H52fwAAAAA4FDKwAABtNrh/X/10ylXauD231ZlUFsSyzCsLXtn9AQAAEKS8UEII/0MACwDQLiwI\\\\\\n\",\n       \"dbSBKMoGAQAAEFInt7VFW+8P30cJIQAAAAAAAHwaGVgAAAAAAMB7KCFEKxDAAgAAAAAA3mPtq9ra\\\\\\n\",\n       \"wooWWAGPEkIAAAAAAAD4NDKwAAAAAACA14R4PG5r6z4Q2AhgAQAAAAAA76EHFlqBEkIAAAAAAAD4\\\\\\n\",\n       \"NAJYANAJwsLClJycrNqaasYbAAAAaMqq/+rauFFBGPAoIQSATjBy5Ehpb7E2r1zOeAMAAABN0AML\\\\\\n\",\n       \"rUEGFgB0goSEBG36fJlqq8nAAgAAAICjRQALLaqsrNSIESMUEhKilStXMkoAAAAAgI7hadLI/Zg3\\\\\\n\",\n       \"npxARwALLfrxj3+sjIwMRgcAAAAA0LHaHLzavyGgEcDCQf7973/rww8/1OOPP87oAAAAAAAAr6OJ\\\\\\n\",\n       \"O5rJz8/X1KlT9c477yg2NrbV5Ya2NSgpKWFUAQAAAACtY6sIhrTDPhDQyMBCI4/HoxtuuEE333yz\\\\\\n\",\n       \"Ro0a1eqRefTRR5WUlNS4ZWZmMqoAAAAAgKNahbCtGwIbAawgcO+997pm7IfbsrKy9Ic//EGlpaW6\\\\\\n\",\n       \"7777jmr/dvvi4uLGLScnp8MeCwAAAAAACD6UEAaBu+66y2VWHU7//v01Z84cLVq0SFFRUc2us2ys\\\\\\n\",\n       \"a665Rq+88kqL97XbH3gfAAAAAABapT2asJOBFfAIYAWBbt26ue1Inn76af3yl79sPL9jxw5NmjRJ\\\\\\n\",\n       \"b7zxhsaMGdPBRwkAAAAACEoEsNAKBLDQqHfv3s1GIz4+3v087rjj1KtXL0YKAAAAAAB4BQEsAAAA\\\\\\n\",\n       \"AADgPWRgoRUIYOGQ+vbt61YmBAAAAACgw9TZUoTtsA8ENFYhBAAAAAAAgE8jAwsAAAAAAHhNiMfj\\\\\\n\",\n       \"trbuA4GNABYAAAAAAPAeemChFSghBAAAaMEzzzzj+kFGR0drzJgxWrJkScCNUzA8RgAAEBgIYAEA\\\\\\n\",\n       \"ABzgjTfe0LRp0/TQQw9pxYoVGj58uCZNmqSCgoKAGatgeIwAAD9R52mfDQGNABYAAMABnnjiCU2d\\\\\\n\",\n       \"OlU33nijBg0apOeee06xsbGaPn16wIxVMDxGAICflRC2dUNAI4AFAADQRFVVlZYvX66JEyf+9wNT\\\\\\n\",\n       \"aKg7v2jRooAYq2B4jAAAILDQxB0AAASNkpKSZuejoqLc1lRhYaFqa2uVlpbW7HI7n5WVpUBwtI+x\\\\\\n\",\n       \"srLSbYcaRwAA2qY9MqjIwAp0ZGABAICgkZmZqaSkpMbt0Ucf9fYh+QUbp6bjZuMIAEC7oYQQrUAG\\\\\\n\",\n       \"FgB0sC5duiguLk5VFRWMNeBlOTk5SkxMbDx/YPaVSU1NVVhYmPLz85tdbufT09MVCI72Md53332u\\\\\\n\",\n       \"4XvTDCyCWAAAoDORgQUAHSgkJETjx4/XxkXztSdvB2MNeJkFr5puLQWwIiMjNXLkSM2ePbvxsrq6\\\\\\n\",\n       \"Ond+7NixCgRH+xhtnA4cOwAA2g2rEKIVyMACgA4OYNkXxZw1qxlnwI9YttGUKVM0atQojR49Wk8+\\\\\\n\",\n       \"+aTKysrcin2BIhgeIwDAT3jq6re27gMBjQAWAADAASZPnqydO3fqwQcfVF5enkaMGKFZs2Yd1PTc\\\\\\n\",\n       \"nwXDYwQAAIGDABYAAEALbr31VrcFsmB4jAAAP2ri3tZ9IKARwAIAAAAAAN7tgSVPO+wDgYwm7gAA\\\\\\n\",\n       \"AAAAAPBpZGABAAAAAADvoYQQrUAACwAAAAAAeI+rIGxrD6z2Ohj4KkoIAQAAAAAA4NPIwAIAAAAA\\\\\\n\",\n       \"AN5DCSFagQAWAAAAAADwnro6+6cd9oFARgkhAAAAAAAAfBoZWAAAAAAAwHsoIUQrEMACAAAAAADe\\\\\\n\",\n       \"QwALrUAJIQAAAAAAAHwaGVgAAAAAAMB76jyWhtUO+0AgI4AFAAAAAAC8xuOpc1tb94HARgkhAAAA\\\\\\n\",\n       \"AAAAfBoZWAAAAAAAwLtN3NtaAmj7QEAjgAUAHSgiIoLxBQAAAI4YfCKAhcOjhBAAOkh4eLjOHHWK\\\\\\n\",\n       \"8tevVfW+CsYZAAAAAI71+xUjBwAdIzk5WZExsVrw91cZYgAAAOBQ6uqkkDY2YaeJe8AjgAUAHai2\\\\\\n\",\n       \"ploee0MGAAAA0DJKCNEKlBACAAAAAADAp5GBBQAAAAAAvMYqFjxtLCH0UEIY8AhgAQAAAAAA76GE\\\\\\n\",\n       \"EK1ACSEAAAAAAAB8GhlYAAAAAADAe+o8UoinHbK4EMgIYAEAAAAAAO9xwac2rtxNACvgUUIIAAAA\\\\\\n\",\n       \"AAAAn0YGFgAAAAAA8BpPnUeeNpYQesjACnhkYAEAAAAAAO/x1LXPdpSeeeYZ9e3bV9HR0RozZoyW\\\\\\n\",\n       \"LFly2Nu/+eabGjhwoLv90KFD9f7777fhQeNoEcACAAAAAABB5Y033tC0adP00EMPacWKFRo+fLgm\\\\\\n\",\n       \"TZqkgoKCFm+/cOFCXXXVVfrud7+rzz//XJdeeqnbVq9e3enHHqwIYAEAAAAAAO+WELbDdjSeeOIJ\\\\\\n\",\n       \"TZ06VTfeeKMGDRqk5557TrGxsZo+fXqLt3/qqad0wQUX6J577tFJJ52kRx55RKeccor++Mc/ttMo\\\\\\n\",\n       \"4EgIYAEAAAAAgKApIayqqtLy5cs1ceLExstCQ0Pd+UWLFrV4H7u86e2NZWwd6vZofzRxR7traJ5X\\\\\\n\",\n       \"UVHB6CKoFRYWau3Sz1S+r9LbhwJ4XUVl5TE1WK2uKGuX399e+4GaPY8le9u45LkX1XiqvX0IQa+k\\\\\\n\",\n       \"pCToxwAIhL/h9mieXqNqydMO+2hyXA2ioqLcduDn9NraWqWlpTW73M5nZWW1uP+8vLwWb2+Xo3MQ\\\\\\n\",\n       \"wEK727Vrl/t5xx13MLoAgIPeI5KSko44KpGRkUpPT9f/3fPNdhtB25/tF21XWlrqfvY5ZYsfD+cm\\\\\\n\",\n       \"bx9A0GvNawEA/3hPONa/54b3+wV57dMMPT4+XpmZmc0usx5XDz/8cLvsH95FAAvtLiUlxf3Mzs4O\\\\\\n\",\n       \"2g8mFvW3F86cnBwlJiYqGDEGjAH/D/h7aKq4uFi9e/dufI84ElvdZ/PmzS7Fv73Yh2TbL9ouIyPD\\\\\\n\",\n       \"vcclJCQoJCSk3Yc0EN5D/P0xcPzex3PA+Pv6/x/LvLLglb0nHKv2fr+3YzrwfenA7CuTmpqqsLAw\\\\\\n\",\n       \"5efnN7vczltArSV2+dHcHu2PABbandUOGwte+eMHtvZkj58xYAz4f8DfAq8JB79HtPZDLQEn330e\\\\\\n\",\n       \"e/Xq1eG/JxBeP/39MXD83sdzwPj78v+f9khY8Mb7vU1qjRw5UrNnz3YrCZq6ujp3/tZbb23xPmPH\\\\\\n\",\n       \"jnXX33nnnY2XffTRR+5ydA4CWAAAAAAAIKhMmzZNU6ZM0ahRozR69Gg9+eSTKisrc6sSmuuvv149\\\\\\n\",\n       \"e/bUo48+2tgi58wzz9Tvfvc7XXzxxXr99de1bNkyvfDCC15+JMGDABYAAAAAAAgqkydP1s6dO/Xg\\\\\\n\",\n       \"gw+6RuwjRozQrFmzGhu1W0ucppnj48aN04wZM/TAAw/opz/9qU444QS98847GjJkiBcfRXAhgIV2\\\\\\n\",\n       \"ZzXG1iivpVrjYMEYMAb8P+BvgdcEXhcR3O+j/v4YOH7v4zlg/IP5/09nsXLBQ5UMzp0796DLrrzy\\\\\\n\",\n       \"SrfBO0I87bHmJQAAAAAAANBBWt9JFQAAAAAAAPACAlgAAAAAAADwaQSwAAAAAAAA4NMIYKHDvffe\\\\\\n\",\n       \"exozZoxiYmKUnJysSy+9NChHvbKy0q1sERISopUrVypYbNmyRd/97nfVr18/93/guOOOcw0lq6qq\\\\\\n\",\n       \"FOieeeYZ9e3bV9HR0e5vYMmSJQoWttzwqaeeqoSEBHXv3t393a9bt07B7De/+Y37+7/zzjsVTLZv\\\\\\n\",\n       \"365rr71WXbt2da8BQ4cOdUtOAwAAAEeDABY61Ntvv63rrrtON954o7744gt9+umnuvrqq4Ny1H/8\\\\\\n\",\n       \"4x8rIyNDwSYrK0t1dXV6/vnn9dVXX+n3v/+9nnvuObf0bCB74403NG3aNBesW7FihYYPH65Jkyap\\\\\\n\",\n       \"oKBAwWDevHm65ZZbtHjxYn300Ueqrq7W+eefr7KyMgWjpUuXur+BYcOGKZjs3r1bp59+uiIiIvTv\\\\\\n\",\n       \"f/9ba9as0e9+9zs3mQEE6gTA/Pnz9Y1vfMO951vQ2pZY9yf+PgHx7LPPutfaxMREt40dO9a9/vgr\\\\\\n\",\n       \"f5z8ePjhh90xN90GDhwof+LPky/22nng+Ntmn8sAfxfu7QNA4KqpqdEdd9yh3/72ty4Dp8GgQYMU\\\\\\n\",\n       \"bOyD04cffugCev78IepYXHDBBW5r0L9/f/dB2D5gPv744wpUTzzxhKZOneqCt8aCdpaNOH36dN17\\\\\\n\",\n       \"770KdLNmzWp2/uWXX3ZfhJYvX64JEyYomOzdu1fXXHONXnzxRf3yl79UMHnssceUmZmpl156qfEy\\\\\\n\",\n       \"y8YEWjMBYK+bFrx68skn3QSAvXfY64ivs0C9TVrcdNNNuvzyy+WvExAWxLLPcjbhZBMQFoCOi4uT\\\\\\n\",\n       \"r+vVq5cL+pxwwgmyxdZfeeUVXXLJJfr88881ePBg+RN/nvywsf74448bz4eHh/vd5MvZZ5/tPrd3\\\\\\n\",\n       \"69ZNX3/9td9Mvtj/m9ra2sbzq1ev1nnnnacrr7zSq8cFtAcysNBhLOvEZi9CQ0N18sknq0ePHrrw\\\\\\n\",\n       \"wgvdi2gwyc/Pd4GMv/71r4qNjfX24fiE4uJipaSkKFBZeaQFaiZOnNh4mf0d2PlFixYpWJ9zE8jP\\\\\\n\",\n       \"+6HYF8GLL7642f+HYPHuu+9q1KhR7kOzBR7svcACeUBrJwBs0ssCWfb+aRMA/sA+61iw+rLLLpO/\\\\\\n\",\n       \"TkDccMMNLgBhgTibgMjOznbva/7Ast8uuugiF8AaMGCAfvWrXyk+Pt5lBPvr5Ie/BE6asoBVenp6\\\\\\n\",\n       \"45aamip/nHwZPXq0m3ixIK61wfAHFnBrOvb/+te/3LGfeeaZ3j40oM0IYKHDbNq0qTGN+IEHHnAv\\\\\\n\",\n       \"nvYGfNZZZ6moqCgoRt5m/uxD4M033+y+xEHasGGD/vCHP+h//ud/AnY4CgsL3cxXWlpas8vtfF5e\\\\\\n\",\n       \"noKNlZBa6YPNZg4ZMkTB5PXXX3fBfCvJCdb3Acu2tC+SH3zwgX7wgx/o9ttvdxkRQEuYAPA9/jwB\\\\\\n\",\n       \"Ye/F9jpsWXFWSuhP/H3ywzKWrIzWMu8tEGdBUH8RSJMv9pr66quvuoxQKyME/B0BLBw1K39qqa66\\\\\\n\",\n       \"6dbQ98jcf//9uuKKKzRy5Eg3k2HXv/nmm0ExBhaoKS0t1X333adA09oxaMoy8qyc0D4Q2Ow6goN9\\\\\\n\",\n       \"CLfMS/sSEUxycnJcGfVrr73m+vgEI3sfOOWUU/TrX//afQH4/ve/7/72LaMGaAkTAL7FXycgVq1a\\\\\\n\",\n       \"5bKuoqKi3CTizJkz/aqFhb9Pfljpr2XuWTafTWJs3rxZZ5xxhvtM7A8CafLFevDt2bPHTagDgcB/\\\\\\n\",\n       \"ipHhM+66664jvgjabEtubq473fQDg32QsOv8aRamLWMwZ84cVzJmj7spm9Wx2Sh/fCM82jFosGPH\\\\\\n\",\n       \"DtdLYNy4cXrhhRcUyCxNPiwszJWPNmXnLZU7mNx6660u+9KaGltfkmBi5TbWtN8COE2zAWws/vjH\\\\\\n\",\n       \"P7qVSe3/SSCz0vEDvzSedNJJrh8gAP+ZgFiwYIH8yYknnuhWfLbssbfeektTpkxxvb38IYjVMPlh\\\\\\n\",\n       \"C6D46+SHldE2sP5dFtDq06eP/v73vzfri+vLgVv7rG6TL8YmYOzvwCZf7P+SP/nLX/7ino9gXEgK\\\\\\n\",\n       \"gYkAFo6prtq2I7GMKwvcWNPV8ePHu8tsJbItW7a4N7FgGIOnn366WdNmC+JYI1prUGtv5sEwBg2Z\\\\\\n\",\n       \"Vxa8asjCs35QgSwyMtI91tmzZ7vVmxo+DNl5C+gES/nsbbfd5ma9586dG5SNu88991yXBdCU9fSx\\\\\\n\",\n       \"lZh+8pOfBHzwyljWxoGrl61fv97v3wPQcZgA8B3+PAFh78PHH3+8O23vx9bU+qmnnnIN0X1dIE5+\\\\\\n\",\n       \"dOnSxfUjszYS/iBQJl+2bt3qGun/3//9n7cPBWg3BLDQYWzpYkvbfuihh1wjRPvCYisSmmBZBaN3\\\\\\n\",\n       \"797Nzls6u7FGiv72YfBYWfDK+p7Z82+rDu7cubPxukDORrIVtGyWzmbwrAGoraJlPTgaViUMhln7\\\\\\n\",\n       \"GTNm6B//+Idbir2h91dSUpJbjjoY2OM+sOTGVvCyJbn9qRSnLX70ox+5rEubxf72t7+tJUuWuAzM\\\\\\n\",\n       \"QM/CxLFjAsD7AnECwiaRLPDjDwJx8sMa0m/cuFHXXXed/EGgTL7YpLH18LJeakCgIICFDmUBK1uF\\\\\\n\",\n       \"xN6wKioqXNaRldX542oqODaWAm8zbrYdGLSzD8mBavLkyS5Y9+CDD7rgzYgRI1wviAMbuwcq6x1h\\\\\\n\",\n       \"LHh54Icp+jAEj1NPPdV9CbY+gL/4xS/cF2EL5loJNRCoEwD2Zb1ppon1/7FyNmuCfuDEli/y9wkI\\\\\\n\",\n       \"e72xkikba+u5ZI/FAnHWy8gfBMLkx9133+1Wg7SAj1Uf2GS2Bd6uuuoq+YNAmHyxoK195rLXUvsu\\\\\\n\",\n       \"BgSKEE8gf4MEAACA37FSKZsEa5gAsJJ8fym9t2CJlc0fyL5IWmNrX3eolcr8ZQLCeixZyb71YrWg\\\\\\n\",\n       \"m/Vgssyl8847T/7KJoPs78CCuf7gO9/5jit53LVrl2s3Ya1EfvWrX7kKBH9h5bMWDLXVFG3yxQLr\\\\\\n\",\n       \"/rQA0YcffujallgmmZVvAoGCABYAAAAAAAB8WmB3UgYAAAAAAIDfI4AFAAAAAAAAn0YACwAAAAAA\\\\\\n\",\n       \"AD6NABYAAAAAAAB8GgEsAAAAAAAA+DQCWAAAAAAAAPBpBLAAAAAAAADg0whgAQAAAAgoc+fOVUhI\\\\\\n\",\n       \"iPbs2ePtQwEAtBMCWADQgXJzc3X11VdrwIABCg0N1Z133sl4AwDQzs4666xm77Hjxo1z78FJSUle\\\\\\n\",\n       \"G2uCaADQvghgAUAHqqysVLdu3fTAAw9o+PDhjDUAAJ0gMjJS6enpLgsLABAYCGABQBvs3LnTfUD+\\\\\\n\",\n       \"9a9/3XjZwoUL3Qfn2bNnq2/fvnrqqad0/fXXe3UWGACAQHXDDTdo3rx57v3WAla2vfzyy81KCO18\\\\\\n\",\n       \"ly5d9K9//UsnnniiYmNj9a1vfUvl5eV65ZVX3Pt1cnKybr/9dtXW1jabiLr77rvVs2dPxcXFacyY\\\\\\n\",\n       \"MS6zqsHWrVv1jW98w93Xrh88eLDef/99bdmyRWeffba7jV1nx2LHaerq6vToo4+qX79+iomJcRNc\\\\\\n\",\n       \"b7311kGZW++9956GDRum6OhonXbaaVq9enUnjioA+J5wbx8AAPgzy66aPn26Lr30Up1//vnuQ/F1\\\\\\n\",\n       \"112nW2+9Veeee663Dw8AgIBngav169dryJAh+sUvfuEu++qrrw66nQWrnn76ab3++usqLS3V5Zdf\\\\\\n\",\n       \"rssuu8wFtizotGnTJl1xxRU6/fTTNXnyZHcfez9fs2aNu09GRoZmzpypCy64QKtWrdIJJ5ygW265\\\\\\n\",\n       \"RVVVVZo/f74LYNlt4+PjlZmZqbffftvtb926dUpMTHTBKmPBq1dffVXPPfec24fd99prr3WfKc48\\\\\\n\",\n       \"88zG473nnnvcY7OJsp/+9KcuUGaPMyIiotPGFgB8CQEsAGijiy66SFOnTtU111yjUaNGuQ+w9uEU\\\\\\n\",\n       \"AAB0PMtwtsxny6qyYI/Jyso66HbV1dV69tlnddxxx7nzloH117/+Vfn5+S7oNGjQIJc19Z///McF\\\\\\n\",\n       \"sLKzs/XSSy+5nxa8MpaNNWvWLHe5ZV/bdRakGjp0qLu+f//+jb8vJSXF/ezevbsLkjVkdNn9Pv74\\\\\\n\",\n       \"Y40dO7bxPgsWLNDzzz/fLID10EMP6bzzznOnLUusV69eLoD27W9/u8PGEgB8GQEsAGgHjz/+uJv5\\\\\\n\",\n       \"ffPNN7V8+XJFRUUxrgAA+BALcDUEr0xaWporHbTgVdPLCgoK3GnLsrJyQluIpSkLQnXt2tWdtpLD\\\\\\n\",\n       \"H/zgB/rwww81ceJEF8yysr9D2bBhg8sEawhMNbAsrpNPPrnZZQ0BroZgmGV5r1279pgfPwD4OwJY\\\\\\n\",\n       \"ANAONm7cqB07dri+Ftb3omEmFgAA+IYDS++sz1RLl9l7udm7d6/CwsLcxJT9bKoh6PW9731PkyZN\\\\\\n\",\n       \"cv2qLIhlGdi/+93vdNttt7V4DLZPY7e3vlpNMfkFAIdHAAsA2shmTa13hZUb2OyofZi1WVsrGQAA\\\\\\n\",\n       \"AB3PSgibNl9vD5YRZfu0jKwzzjjjkLezflc333yz2+677z69+OKLLoBlx2SaHpeVKVqgykoPm5YL\\\\\\n\",\n       \"tmTx4sXq3bu3O717927X/+qkk05qt8cHAP6GABYAtNH999+v4uJi1xjWZmStEexNN93kVjoyK1eu\\\\\\n\",\n       \"bJx1tVUL7bx9qLUPsQAAoO2sFPCzzz5zWdD2XtyQRdUWVjpo/S1tJWHLqrKAlr2P2yrDViZ48cUX\\\\\\n\",\n       \"684779SFF17obmtBJuuf1RBk6tOnj8voss8D1i/TmrgnJCS4Plo/+tGP3DGOHz/efYb49NNPXaP3\\\\\\n\",\n       \"KVOmNP5+a0hvpYpW1mifNVJTU92iMQAQrEK9fQAA4M9sqesnn3zSNYG1D56hoaHu9CeffOIaxRr7\\\\\\n\",\n       \"wGublSDMmDHDnbYPsgAAoH1YUMjK/GxyyFbzswyn9mDN2i2Addddd7ksawsgLV26tDEzyrKrbCVC\\\\\\n\",\n       \"C1rZ6oQWyPrTn/7krrMSwZ///Oe69957XRDKVjQ0jzzyiH72s5+5csOG+1lJYb9+/Zr97t/85je6\\\\\\n\",\n       \"4447NHLkSOXl5emf//xnY1YXAASjEI/H4/H2QQAAAAAA6ifHbDVEy+hqWL0QAEAGFgAAAAAAAHwc\\\\\\n\",\n       \"JYQAAAAAAADwaZQQAgAAAAAAwKeRgQUAAAAAAACfRgALAAAAAAAAPo0AFgAAAAAAAHwaASwAAAAA\\\\\\n\",\n       \"AAD4NAJYAAAAAAAA8GkEsAAAAAAAAODTCGABAAAAAADApxHAAgAAAAAAgE8jgAUAAAAAAACfRgAL\\\\\\n\",\n       \"AAAAAAAAPo0AFgAAAAAAAOTL/j/XSXwWM+wIyAAAAABJRU5ErkJggg==\\\\\\n\",\n       \"\\\"\\n\",\n       \"  frames[3] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQAA4MhJREFUeJzs3Qd4FFXbBuBnN733QkKAQOi99yKgIKACVkRB7F0sv4oFu6B+\\\\\\n\",\n       \"KrbPgiB2UAGxgwKiVOm9t4T0ENJ7dv/rPfk2bpZN2CSbbMlze40kk93ZM2dmp7xzzns0er1eDyIi\\\\\\n\",\n       \"IiIiIiIiIjultXUBiIiIiIiIiIiIasIAFhERERERERER2TUGsIiIiIiIiIiIyK4xgEVERERERERE\\\\\\n\",\n       \"RHaNASwiIiIiIiIiIrJrDGAREREREREREZFdYwCLiIiIiIiIiIjsGgNYRERERERERERk1xjAIiIi\\\\\\n\",\n       \"IiIiIiIiu8YAFhHZlZtuugkjRoywdTGoES1atAgajcZp6/zUqVNq/WQ9rV1nsmxrMyx727ZtaKzv\\\\\\n\",\n       \"fKtWrWxSj/a0b8vrnn322Tp9TllZGR599FHExMRAq9Vi4sSJsHeyrs78vbcFw3fkzz//hL2oz35t\\\\\\n\",\n       \"D2W/9957Yc/y8vJw6623IjIyUpV35syZcFZynpDzBRE1bQxgETVhGzduVBeWWVlZVlvmgw8+iF69\\\\\\n\",\n       \"eiE4OBje3t7o2LGj+gy5yLKmAwcOqOU2xA18YysoKFDrUp+bjobYlpaaP38+hg8fjoiICHh4eCA2\\\\\\n\",\n       \"NhYzZsxwim1DTZuj7NsLFy7Ea6+9hquuugqffvqpOg43Vf/973/rFeRMSkpSx9Jdu3ahsf3111+4\\\\\\n\",\n       \"/PLLVSDS09NTBSXGjh2LDRs2wJ798ssvdheksscyNYSXX35Z7e933XUXPv/8c9x44422LhIRUYNy\\\\\\n\",\n       \"bdjFE5E9k6DHc889p55oBQYGWmWZW7duxdChQ9VNnlyA79y5E3PnzsUff/yhLs6ldYC1AlhSdmmt\\\\\\n\",\n       \"ZUnrDXsPYMm6iLq2PmuIbWkp2cZyYy83XkFBQTh58qS68f/pp5+we/duREVFNWp5yLHIvqLT6WCP\\\\\\n\",\n       \"GnPfLiwshKtr3S7L1qxZg+joaLz55pto6iSAFRoaWueWGhLAkmOpnFd69OiBxnTkyBF1jrzzzjtV\\\\\\n\",\n       \"8OrcuXP44osvMGzYMPz8888qmGWPJFj03nvvmQ0Y1We/bqgyORP57g8YMADPPPOMrYtCRNQoGMAi\\\\\\n\",\n       \"Iqtav379efPatGmDRx55BP/884+60Gpser0eRUVF8PLyavTPbio3jKakC1OfPn3w2Wef4fHHH7dJ\\\\\\n\",\n       \"ucgxuLm5wV415r4tAf+6SktLs2rguqZjpsx3d3e32sMI+pd0BZPJ2N13343WrVtj3rx5dhvAaqj9\\\\\\n\",\n       \"miz77nfq1MlqVSXdkeWBgnzHG1t+fj58fHwa/XOJyLHw6oOoiZKnkv/3f/+nfpYWBpI7oaFy6hha\\\\\\n\",\n       \"SFmre5s0l7/66qvVzxdddFFl2Q1d8OTzJkyYgJUrV6obTbkJ+/DDD2vMoWMuT0diYiJuvvnmyu5D\\\\\\n\",\n       \"nTt3Vl11aktyCY0ZM0a1CpCySH3LcoWUKSwsTP0sT/0N62Ioy549e1RLArmBMXQpkfeePXu2VttS\\\\\\n\",\n       \"nuL37t1bfb5077zuuuuQkJCAhmLtbW4gF9ZyIyfbQupDts0dd9yhWiqYfr7sAxJQ7devn3qt1KEE\\\\\\n\",\n       \"HUxJGaXLlbxHtnPz5s0xbdo0ZGRkVLlJuOWWW9TnybK6d++uumqZW5Zsr4CAABVQmD59erV1cOjQ\\\\\\n\",\n       \"IdXlS7aHLFP21R9++OG81+3fvx8jR45U207K9uKLL9a5xZK0KLr00kvh7+8PX19fjBo1Cps3b662\\\\\\n\",\n       \"ZaDUbUhIiHq91IlpPde0b9cnB5Yl9SjbRL470mpRAi4Gx44dUzdB1157LRxp3zY9BhlyRMn6GFpW\\\\\\n\",\n       \"Sn1I61bZNsJwTFu7dq3aT0yPhbX9vpgeM2U5srzFixfjqaeeUq28pGt4Tk6Oet+WLVtUUEXKJfOl\\\\\\n\",\n       \"u6W57m7yPezbt68qgzzQkGXXRUpKilp/+R7Id7VZs2a44oorKo91sh5SD+vWrausC0Or1szMTPUg\\\\\\n\",\n       \"pWvXrmrfl31avgvSks5A1lfKKeRzDMswPmdYus7WIp8h+7m197cVK1Zg/PjxqhWh1KVslxdeeAHl\\\\\\n\",\n       \"5eXnvVbWedy4caoVony3unXrhrfeekv9TfZNaekkDPVlnNvM3LnVkuOQIX+c1O1DDz2k6kA+e9Kk\\\\\\n\",\n       \"SUhPT69x3S5Upv/85z8YNGiQOrbJvi7nxu+++86iepPjrwRv33nnncp5v/76q2p5LuXz8/NT9Sr7\\\\\\n\",\n       \"oWmZZF3lukKC4PKzrJPsk6Z1npycrM4PpaWl1ZbD8N2UVqHSOs/0vG/JOctw/JD6kOOE7AOyL0jZ\\\\\\n\",\n       \"5Zgu9W4gxxI5Brm4uFTZF1955RXVws6QJsKSaxbj45u0pr/++uvVvjVkyBD1NzmeSz3L91z2f7nO\\\\\\n\",\n       \"M61PImq62AKLqImaPHmy6q7w9ddfq24ncrEiDMGU7OzsGi+eDOQCRS7ETJ/gyQVOSUkJ9u3bp258\\\\\\n\",\n       \"5KJOAgnWIN0p7r//frz99tt44oknVJ4tYfhXHD58GFOmTFE3a7fddhvat29fq89ITU1VrcUMSVyl\\\\\\n\",\n       \"XuQiVS4I5ebN0kSpchF5ySWXqPdLaw25AJSLxmXLlqm/y/z3339f5a+QC3PZLkJuEMTvv/+OEydO\\\\\\n\",\n       \"qJspuRCUi7iPPvpI/SsX/FK+C23Ll156CU8//TSuueYa9XRfLv7l4lvqUW4kDC035KbYcGNcE7mA\\\\\\n\",\n       \"lYtNU3KBKhfi8fHxeP7559U8uTGxJtmecmMj9SH7gFy8v/vuu2o95EbHuDWP3PhLgEi2mQRAJPgo\\\\\\n\",\n       \"F9ZysyI39EIuuuXG4+DBg+oiW/K3SeBKAklnzpxRdSldYOQmWJYn+4IEab799lu1LNnPH3jggcqL\\\\\\n\",\n       \"brmZlpt16QIk++Py5cvVZ5uS7Td48GAVEJD9Qm58vvnmG3Vjs3TpUrUvGG7Y5eJdvlOG18n2r0tr\\\\\\n\",\n       \"QvlMWVe5aZSE31JXEkiQdZMb/v79+1d5vayr7BtyoyHfJ9lPT58+XXnjdKF9u64srcfw8HBVJglm\\\\\\n\",\n       \"y/4s+4PcZMl2keONcespR9i3qyPfW9nn5syZgx07duDjjz9W6y43jlL3kvdGvuOyL8trjI+Ftfm+\\\\\\n\",\n       \"1HTMlMCGtMiQm+3i4mL1s3RdkiCEfJ+k+5Lc1H/yyScq2Pr3339XHu/37t1buZ/IviT7srxebqxr\\\\\\n\",\n       \"68orr1T78X333aeCVbIPyjFStov8Ljfh8jc5Jz355JPqPYbPkePo999/r/YXqU85xsv+LwEouYmW\\\\\\n\",\n       \"QI7Um2zf2bNn4/bbb1ffFyHBDmHpOsu5U86hlpAAtmlrNjnHyPlTjkUSdJfzqJzrrEn2C6knCVLI\\\\\\n\",\n       \"v7Just7y2ZJPzUDqV4KbEiyUY52ch+R4Kd1o5XfZX6TbpbxO9kVrH4dke8p3Uupbji+yjeXYtGTJ\\\\\\n\",\n       \"kmo/40JlkuCbdAueOnWqqmcJ0Mp+IeskwafqyLWM5JyS8sp3RMjy5dgkgXz5TspxRo5LEoyR75lx\\\\\\n\",\n       \"cF6OIfI6WUcJGklqhddff10FjuQawGDWrFkq2CTf1+pSJMi+Kp8tD18k0PPwww+r+fI9s/ScZSD7\\\\\\n\",\n       \"sLSslH1eAlgS2JPzk6R9MJDAlOzTsq/KscNQT7Lf9+zZs/I60JJrFmNS723btlX1angQIfuhBLAk\\\\\\n\",\n       \"aCqTHPfkGCLbiohIDhZE1ES99tprcrWgP3ny5Hl/Gz58uPrbhabp06ef995NmzZVeU379u31a9eu\\\\\\n\",\n       \"tahMsjz57Av59ttv1bLNLbdly5bqb7/99luV+bKeMv+TTz457z0y/5lnnqn8/ZZbbtE3a9ZMn5GR\\\\\\n\",\n       \"UeV11113nT4gIEBfUFBg0fosX75cLXvr1q3VviY9Pf28zzcw9zlff/21ev1ff/11wW156tQpvYuL\\\\\\n\",\n       \"i/6ll16qMn/v3r16V1fXKvPl8y3Z5lK/5nh4eFS+JiQkRP/222/rLSHboyJuUbO///5bve7LL7+s\\\\\\n\",\n       \"Ml+2s+l8wz5gXEdpaWmqjA8//HDlvNmzZ6vXLVu27LzP0+l06t958+ap13zxxReVfyspKdEPHDhQ\\\\\\n\",\n       \"7+vrq8/JyVHzvv/+e/W6V199tfJ1ZWVl+qFDh563340aNUrftWtXfVFRUZXPGzRokL5t27aV82bO\\\\\\n\",\n       \"nKneu2XLlirrIftgdd/d6kycOFHv7u6uP378eOW8pKQkvZ+fn37YsGHnbY/evXur9TSQ9ZL5K1as\\\\\\n\",\n       \"sHjftvQ7b7xP1aYexZQpU/Te3t76I0eOVH4PZBnG7H3fFqbHAEOZb7755iqvmzRpkiqDMTlmdu7c\\\\\\n\",\n       \"ud7fF9NjphxfZX7r1q2rHItkX5X9dMyYMZXfEyGviY2N1V988cVV9jtPT0/96dOnK+cdOHBAHZcs\\\\\\n\",\n       \"rRtx7tw59XrZxjWRejB3DpHvWnl5eZV58v2Rbfv8889XzpP92dx+Vpt1NtSbJZO577B8huHv8p29\\\\\\n\",\n       \"44479IWFhResI8M5zpLzrblzi3yOfJcMxyX53sm6yf4h9W9aHwb33HNPtdvSdL+u7XFo9OjRVT7r\\\\\\n\",\n       \"wQcfVPtOVlZWjetXU5lM112Oc126dNGPHDnyvLLLcoScN7RarX7RokWVf8/NzdUHBgbqb7vttirv\\\\\\n\",\n       \"S0lJUcdo4/lynJPlGe9romfPnupYa8zwWkuO77Jtxo8fX2Wepecsw/7i7++vzivG5Hsm9Wx4rRzz\\\\\\n\",\n       \"5LP69eunf+yxx9Q8+T7J+ss2qe01i+H4JsdvY1IO2T9knYy3+xNPPFHtNScRNS1sgUVEZslTQdNu\\\\\\n\",\n       \"JuaYS2Is+RjkKZzkM5Dk4vKU0dqjEF6IPHGUJ511Idet0gpGWj7Iz8ZdyWSZ8rRWngjKE8oLMbRu\\\\\\n\",\n       \"kie70oS/tvl+jFvayBNSqUdDHjEpg6GFQHWkNYy0SpF1MV4PeTIqTz2l65Hhyb50ETM04be0TMak\\\\\\n\",\n       \"hZqUUZ7OS5dF2f7WJE+QpdvOxRdfXGVdpDWEPP2VdZGuCMb7oXH9yJNpaVUiT4cNZDvLdjG0eDJm\\\\\\n\",\n       \"eFIsyYClvqR1ioFsR2nRIvOk1YC0UJDXSVcK4yfp0qJHWhDIU2oD6cokrR2kpUdubq6ajPcvaWkg\\\\\\n\",\n       \"3UykdZYsU7a3cetFWQ9pOWAuP1N15Mn/qlWrVAsv6dphIK0qpM4kMbm0vJBWEQbyNN54f5X1kn1F\\\\\\n\",\n       \"yiStF+q7b1fH0no0kBZF0ipMWttJS0QZhUtacBmz9327JtIKzZjs09IizXR71ff7UtMxU1qYGNeN\\\\\\n\",\n       \"jNB39OhR1SLFtGuQtEyTliFy3JHjp3RLlP2uRYsWVVqPyGfJtraUfL60/JJtLa0qzbWUq4m0LDH+\\\\\\n\",\n       \"PkhLFKkHOSbIsfRCLF1naaEi3wc5B1pCji2mZOATaVEj3bylJY60PJGWa9ZkvD3lGCQt62TfktZF\\\\\\n\",\n       \"0n1N1kFaEEkrIGnZa5pjzbQlTUMeh4w/S8oo5ZHWoIaWyvVZd7nOkXLJcqUVsynZh6UVk9SLfPeN\\\\\\n\",\n       \"zwOyjWU/knnG3zE5XkkrK/mOWfJ9Nm0lJq3j6jOSpqXnLOOWjYYW28blknqRazj5rsqxV+ZJi0bD\\\\\\n\",\n       \"cVhaBsr6G59na3vNYlofcr0o+7sc7423u7R6l1ZaREQMYBGRWXKTU1dy8Tl69Gj1s9xIfvXVV+pf\\\\\\n\",\n       \"uXiRi+LGIDdjdSVd7OSiTJq9y2SOdF2xhHRPkYtDyW8lF93SrF8u3uVi3fiGqjoS7JD3StDM9DMt\\\\\\n\",\n       \"6aIiN1xyAS7BKnOMgw5yQ2F8U1Fb0tVNSBcb2d5dunRRN4hy8W8Nsi6yztJ9yhzT+jG+YTaQm17j\\\\\\n\",\n       \"wOzx48fV9qmJ3ChJ/Zl28zF005K/G/6VGzHTLrWm3VelW4dsE+nWKVN16yIBLFmmaZcac8u0ZJ+W\\\\\\n\",\n       \"ri3m3ifrITfecrNs6FopTPcZWS9ZP0OOlfru29WxtB6Nu2BJd2LpiiI3V/KzKXvft2tiuh8bAjey\\\\\\n\",\n       \"H9cUwKrt96WmY6bp32TZwlz3WAP5bAmKSHcmc8cf2Z61CWDJPiVdtCSwI9tZborlJlyCk+aCQKZk\\\\\\n\",\n       \"H5euYxL4laCMcd4h6TJ1IZaus2wfmQznwLowHv3whhtuUF2bpfuXpXmaLCFduiQYJ8F0Q04z03OL\\\\\\n\",\n       \"HB+F7O/WUJfjUE37f11J0F26qElQUvbRmoJy0oVTgjDSLdA4IGS8T0gXUnNMv5+ScsE0UGR6TrIG\\\\\\n\",\n       \"S89ZNX33ZZ+T/FMSrDIEsORYL9816bItwSlDIMv44UBtr1lMP9tQNtNjhtRbbYPWROScGMAiIrPk\\\\\\n\",\n       \"IsSSfAPytE2e8tdEcjRJqwi5oGmsAJa5lhTVPTE2TaBqSJAtNw7V3axY+uRXPlNuOiT3w48//qha\\\\\\n\",\n       \"I0iuJWnhJvNMb9JNScspeQIqSdrlpkZeL+WTJMKWJPKW10gZpAWJPBU2Zfz5cpFuSUs5WY7pRbgp\\\\\\n\",\n       \"yekheTG+/PJLq93ky7rIzbgs0xzTMplbX2Gc8NsWDNtN8glV1+IlLi4O9q6++7Y1yWcLuRGU3GWm\\\\\\n\",\n       \"rUXsfd++UJnqsh/X9vtSU141078Z9mHJlWQcbDEm2984OGAN0grjsssuU7msZJtLAFjyfkkQRrZJ\\\\\\n\",\n       \"TaT1hrxe9lHJ6WXIPSXLtPRYask6Czl3yjnUErIdqtvGQlqdSYtHaZUlwUBrjKYrD2gkAC0BFmkJ\\\\\\n\",\n       \"Kvu0BFfkIdNjjz1W50EiGoK1j+MSdJH6lByQEsyUYLk8yJE8UPKwzZS0tJZAl7T0lPOx7DcGhnqS\\\\\\n\",\n       \"FlTmgqjSktSSdbE1c/uU1Ik8PJE8WPLQRfIxGlpgSY43SewvddmhQ4cqx5LaXrNwdGgiqi0GsIia\\\\\\n\",\n       \"sJq6AEjQSZqZX4gEeC7U1F1uYuTCxdKktpaoS/cFw9M709GcTJ9GysWYJIGWwFZ9nqIbk9YCMkmy\\\\\\n\",\n       \"ZblIli5gEtCTpOrVrYvcjK9evVo9zZSkpqZPfY1Vtwy5MZELfXnK2a5duxrLKEll5bMupGXLlhaN\\\\\\n\",\n       \"Vik3W9a8gZV1ke4FckNhrYteWaZ0g7jQ+koCW0P3IAPpZmP4u+Ff2V4SKDEO3khybGOGlkByg3Ch\\\\\\n\",\n       \"/UuWaW57my7zQmSflqfp5t4n6yHrFRMTU2W+fK6h5ZGQ9ZLRsSSprqX7dl1YWo8Gv/32m0psLgmh\\\\\\n\",\n       \"JVgjxyS5uTK+ebT3fbshNMT3xXjZpq1tq9vv5LOtsQ8bf7a0wpJJlis3yRI0le5dNR0LJdgq+/OC\\\\\\n\",\n       \"BQuqzJfzgWHgi5reb+k6C7mBN/7u1KSmRN3G+5scx6WrnzW2pXTDlG6Q0sVcAjnGZTG3znKMrGmd\\\\\\n\",\n       \"LT0f1+U4VFfVlUm6jUuwTgKgxi1FJYBV3cOEV199VbUwlSCMHJvk+sC4fiRQbK1rBWuw9Jx1IRKw\\\\\\n\",\n       \"klaPchyR74gEq6RepYWcBK9kMu6KWJtrlprKbniPcatZab1n7ZZqROSYqrYtJaImRUY0E+aG55Yb\\\\\\n\",\n       \"AsnvcKFJbhoNZDnmRi6Um0shw7M3RtmrIzcechFmPLKOMM0lJE9JpWuUXOiaC25caAhvY3LBZfqk\\\\\\n\",\n       \"2PD03nADLBf05tbF8LTW9P0yCpOl9SGBSFmOXFCaLkd+N87lIl1xLNnmxi06JC+LuYvKf/75R40+\\\\\\n\",\n       \"Zs1tLk92JagorSdMGUa+rC3Zzrt371Y5hUwZ6ksCNvL02XjUK/k86UYhARZpyWB4ncyXriYGUl7j\\\\\\n\",\n       \"4dYNNztyMyQ5VSQgVNP+JcuU1kxSn8Z/r65VTXVkH5BRnFasWFElQCMjsUnQSbqAmHZ3ke6zxt9n\\\\\\n\",\n       \"WS9ZP+lGZ+m+XReW1qOQbS6BMskRJi1s5FgjrUhMc6XY+77dEBri+2LcxVxu3iUwaK5lm2Eflv1O\\\\\\n\",\n       \"WhlKiykZKdBAcokZWs1ZSrqeSbclY1IGCSYY729yLDS3blIW0/1V8oRJvjlLjqWWrrMw5MCyZDJu\\\\\\n\",\n       \"uWOua7qUQ85FEtiprjtobZk7t0irMdNzoXQjk4cfcs4xrQ/j91p6Pq7LcaiuqiuTlEGCMMYtr6Us\\\\\\n\",\n       \"so9WR1pcS3dX2W+lBaAEFIXs21JeOd6Yu/apzbWCMTkvSLDJkpGgzbH0nGVJAEu+W7L9ZdsYgoKG\\\\\\n\",\n       \"vF0y0qNxTqvaXLNURwKB8nBHymq8nNosg4icG1tgETVhhjxXMtz4ddddpy4a5OJMLvzqkgNLnupK\\\\\\n\",\n       \"klBJpiz5C+SCWJ7QyVNeudmTLnnWIjfKcrEkTwelZZc8SZU8FBe6wJebXemKIf9KmSSYJYmfTclr\\\\\\n\",\n       \"JAGrNKGX4bIlIbh0CZGbY3kaaWn3EEnAKzcFkiRcbn7kCbokqpWLXkNLFnmiLsuXi01pJSVdFCTn\\\\\\n\",\n       \"iEzydFye/sqFrOREkgS4pk/Ja9qW8pmS60OG5ZaLdMlRJDd8sgwJ2kiCXOnKVtc8QXIjJzdW1157\\\\\\n\",\n       \"rXoqK/uO3NzL02zpWlpdjqe6kItuGR5dugxJlw65EZL1lCe1ciMq+W1k36sN6eYgLTMkf5J0LZJ6\\\\\\n\",\n       \"lG37ww8/4IMPPlA3olJHEmySHDTbt29XrSXkPTKUuFxUG57GS31La5fHH39c1bVsU9n3zbU8fO+9\\\\\\n\",\n       \"99QNQdeuXdX+JfUuN3GbNm1SXeAkqCYkQCw3CvLkX4Y+l/qVwJLhCXttyH4gN8zyuXfffbdqoSTr\\\\\\n\",\n       \"JTcoso+Zku+vJKeWQIi0mJD9WN4r3W8s3bfrojb1KHUiQVj5TsrxQOpJvtuyrpKrytBl2d737YbQ\\\\\\n\",\n       \"EN8XA2nVIcFCCWZK3cyYMUMdnyQYJMdN2QekW6mQ4Lm0kpMbXdnvDDfS8r7a7MNynDbsj7JPyP4r\\\\\\n\",\n       \"xzD53sgxz0C+wxL8lH1AWs/IOUHODdJSRLrLSVkHDRqktqUELE33C9mXpQuqfP/luy3bXc4DEsix\\\\\\n\",\n       \"dJ3rmgNLlt28eXP1eVJuCfrJ/iaBAuNgRH3J+ksZpbWinLMlMCHHGdPAg2xnqUv5Tso5V9ZZutxJ\\\\\\n\",\n       \"cEVyaBmCkIbzjyxLgjryXTTeJvU5DtVVdWUaP3483njjDXWskHx9EjSU47HsKzXtj9LKVAJvcmyT\\\\\\n\",\n       \"740EvGSbS/1IigQJ9snypZWZbLeff/5ZHcek62Ftyflajq+WtM4zx9Jz1oUMHDhQbR85/ssyDeS6\\\\\\n\",\n       \"xPCAwTiAJfVh6TVLdaT+5JpEjlvynZX6lsEEJA2CcUtJImrCbD0MIhHZ1gsvvKCPjo5Ww0NbOmxz\\\\\\n\",\n       \"dY4dO6afNm2aGnLdy8tLDZ0uQ5rLcMl5eXkWLUOGSDY3BLo58+fPV59lGI7dMHS4uWGljYd4vuWW\\\\\\n\",\n       \"W9QQ1zJs9zXXXKOGbTYd6lukpqaqIbRjYmL0bm5u+sjISP2oUaP0H330kd5SO3bsUMNEt2jRQg3X\\\\\\n\",\n       \"Hh4erp8wYYJ+27ZtVV63ceNGNZS2DB9tXJYzZ87oJ02apIaqljJfffXVashxc+WtaVsuXbpUP2TI\\\\\\n\",\n       \"EL2Pj4+aOnTooNbt8OHD+vooLi7WP/DAA/pu3bqpobilnqT+pY4t3ZcMw6VbSupf6kr2MdmGXbt2\\\\\\n\",\n       \"1T/66KOqXgyq2wdk3zLdv86ePau/9957Vd1J/Tdv3lzthxkZGVX2hRkzZuhDQ0PVa+QzpdymZFk3\\\\\\n\",\n       \"3nijqgvZXvLzzp071fqZvl6GkZfvi+xXUm/y+bJvfPfdd1Vet2fPHlVm+T7Ja2Q7L1iwoE7fV9kf\\\\\\n\",\n       \"x4wZo4ZS9/b21l900UVq3zO3PdatW6e//fbb9UFBQer1U6dOVetX2337QqSuZXvVth5XrFihfn/9\\\\\\n\",\n       \"9dervFeGfZflde/eXQ0d7yj7tul32jDMfHp6utllGpdB9g851lr7+yLHVPmsb7/91uyyZZtMnjxZ\\\\\\n\",\n       \"HxISovYBWY4cU1evXl3ldbIvGY5vcsz+4IMPKtfPUvJ9lGOWHLvkGCb7Rf/+/fXffPNNldelpKSo\\\\\\n\",\n       \"dZF1leUbvu9FRUX6hx9+WN+sWTNVF4MHD9Zv2rTJ7DFB9q1OnTrpXV1dz/vuWrrOdfHuu++q47Qc\\\\\\n\",\n       \"Z+Szw8LC9Jdddpn+r7/+suj9sk8YnwtrsmHDBv2AAQNUXURFRal9YuXKlWbfv379ev3FF1+s6lTq\\\\\\n\",\n       \"Xr4T77zzTuXfy8rK9Pfdd58qr0ajqbJdzZ2ranMc2rp1q9l98kLrWFOZ5PjZtm1btf1kf5LPMrc/\\\\\\n\",\n       \"yu+yz5nuG7Jtrr32Wn15eXllmWR9ZJ+U43SbNm30N910U5VjoRznpO5Mmftcea2lx/fqvruWnLMM\\\\\\n\",\n       \"+8trr71W7fL79u2rXrNly5bKeXJdIvPk2siUpdcs1R3fhNTrc889V/ldHTFihH7fvn1qXaVuiKhp\\\\\\n\",\n       \"08j/bB1EIyIykCeG0upCWnNR0yA51OTJPk9H5Gy4b1NjknOntBSTFmHSTZmIiMjZMAcWERERERER\\\\\\n\",\n       \"ERHZNebAIiKqI0nQapwI1tzw58ZDbhM1BMnVZC6ptGlekcYewl1yiUkerepIeYyHX6emS/KbGRJj\\\\\\n\",\n       \"V8c42TkRERE1TQxgERHVUd++fXH69OkakyizKyQ1NBkVTRJl16SuyYDrQ0bAXLduXbV/l0T0xiOR\\\\\\n\",\n       \"UdMlyfglaXVN2MWYiIiImAOLiKiOZESfmloNyChPdRnNkag2Tpw4oaaayIhfnp6ejVqxMvrVuXPn\\\\\\n\",\n       \"qv27jL4po3QRHThwQI20V5O6jOpHREREzoUBLCIiIiIiIiIismtM4k5ERERERERERHaNASwiIiIi\\\\\\n\",\n       \"IiIiIrJrDGAREREREREREZFdYwCLiIiIiIiIiIjsGgNYRERERERERERk1xjAIiIiIiIiIiIiu8YA\\\\\\n\",\n       \"FhERERERERER2TUGsIiIiIiIiIiIyK4xgEXkpBYtWgSNRoNt27bZuihkxqlTp9T2ke3UFLRq1Qo3\\\\\\n\",\n       \"3XRTrd7z7LPPqjpqqt9d2UeIiBpaXl4ebr31VkRGRqpjz8yZM1npdkzOpXJOtbWEhAR4enpiw4YN\\\\\\n\",\n       \"jfJ5Z8+ehY+PD3755ZdG+Twisk8MYJHD2bt3L6666iq0bNlSnTijo6Nx8cUX45133qnyupdffhnf\\\\\\n\",\n       \"f/99nT/nwIED6gba2jeRf/75p7pANExubm5o3bo1pk2bhhMnTtR6ef/973+bTBCkpkBQddPcuXPR\\\\\\n\",\n       \"1JnWkexzoaGhGDRoEJ544gnEx8fbuoh2x3Q/8vf3x/Dhw/Hzzz/bumhERFZ9YCXXS7KMu+66C59/\\\\\\n\",\n       \"/jluvPHGJl3Djnb8LygoUNercn3ZmJ5//nn0798fgwcPtupyJUAl62MqJCREBVqffvppq34eETkW\\\\\\n\",\n       \"V1sXgKg2Nm7ciIsuuggtWrTAbbfdpp4WyhOgzZs346233sJ9991X5YJMAl0TJ06scwDrueeew4gR\\\\\\n\",\n       \"IxrkSdf999+Pvn37orS0FDt27MBHH32kLo4kQBcVFVWrAJYEI2rbusXZTJkyBePGjTtvfs+ePW1S\\\\\\n\",\n       \"HnuuI51Oh3PnzmHr1q2YN2+e+u4sWLAA1113XYN99uHDh6HV1u6ZyVNPPYXHH38ctiKBcQks6/V6\\\\\\n\",\n       \"nD59Gu+//z4uu+wy/PrrrxgzZkyDfa7cPMq28PDwaLDPICIyWLNmDQYMGIBnnnmGlWLj439dA1hy\\\\\\n\",\n       \"vSrkmrUxpKen49NPP1WTtUkA67333jMbxLrzzjvx9ttvq3125MiRVv9sIrJ/DGCRQ3nppZcQEBCg\\\\\\n\",\n       \"brwDAwOr/C0tLQ2OZOjQoSrAJmbMmIF27dqpoJZcDMyaNcvWxbMr+fn5qtl4TXr16oUbbrgBTVVd\\\\\\n\",\n       \"60guzC+55BJMnz4dHTt2RPfu3RukfHUJxri6uqrJVuQ7aVxfV155JTp16qQCfg15A+Pi4qImIqLG\\\\\\n\",\n       \"INdPcmyzFnlIUlJSolrJOypbHf8dxRdffKHOzxLUa0xyndKlSxfVYpABLKKmiV0IyaEcP34cnTt3\\\\\\n\",\n       \"Pi94JcLDwyt/libfckMvwSBDE3BDCyW5Yb/77rvRvn17eHl5qSbJV199dZWugnJilHlCWnwZlmHc\\\\\\n\",\n       \"PFuewkkQSoIGfn5+GD9+PPbv31/ndTOciE+ePKn+/eSTT9Q8WS+5+ZcLJ3kCaExahslnrlu3rrKM\\\\\\n\",\n       \"pk/fiouL8dBDDyEsLEyVddKkSerJmSXkCZdhHaXOr7jiChw8eLDy79999536TPl8Ux9++KH62759\\\\\\n\",\n       \"+yrnHTp0SAXtgoOD1YVtnz598MMPP5jtCiHLlO0k69+8eXNYg9TXhAkTsH79evTr10+VQbpvfvbZ\\\\\\n\",\n       \"Z+e9NisrCw8++KB6j9S/lEGexmZkZFS56L/lllsQERGhliXBH3NPI2VZsv9J8FXqUYJFMs+cxq4j\\\\\\n\",\n       \"6Yory5ObjVdfffW8cksulJiYGFUHcXFxeOWVV9TNiTH5XS7qu3btqsos+9rYsWOrdGcxzYElLQ/l\\\\\\n\",\n       \"iXHbtm3Ve+R7OGTIEPz+++815sAqKyvDCy+8gDZt2qgyyXKlG6Ts53Xd1rW5cJbWjnIcMiafLS0X\\\\\\n\",\n       \"pH6kTFJfjz766HllKiwsVEFqWYYcMy6//HIkJiaqdTR+0lxdDixpbSnHP/kMaaV5zz33nLcfyfdf\\\\\\n\",\n       \"Lu6lBakcu7y9vVU3a9NtK6TbtSxPXhMUFKT2ta+++qrO9UNE9kOOt76+vuoYIy3R5Wc5Nj/yyCMo\\\\\\n\",\n       \"Ly+vktJArjukBbjhOsJw7LH02Cbvuffee/Hll19WHqN+++039Tf5/JtvvlmdJ2W+/H3hwoVV3m8o\\\\\\n\",\n       \"xzfffKMeVMr5TI7Zo0aNwrFjx85bty1btqjWxHLckuuTbt26qXNQbc+ljXn8l3ObnOPkGkC2hVyD\\\\\\n\",\n       \"yrnrQsd9Q91U1z1QXi/bVcg51bANDecUOddKXSQnJ1u0npJ6Q84hUmfy7/Lly83m3JLXSfdBWRdj\\\\\\n\",\n       \"R48eVcE+6SEhy5BtKS2Ks7OzLfp8+SxpfSWMu3Gato778ccfVes4Imp62AKLHIrcbG/atEkFReTE\\\\\\n\",\n       \"Wh3J4SD95OXG9fbbb1fz5IZXSOst6YooJ1Q5scrJXwJDcuMnN31yMzds2DB1oynNlOUCQy5chOFf\\\\\\n\",\n       \"Wb4EIeQpnNzQS/NtWYZcnOzcubNOXQ4NF0VyIy9keXKhJze58pRLTtYSrJBggdy4Cun+Jd0m5QLi\\\\\\n\",\n       \"ySefVPPkItGY/F0u8uQCS9ZV3iMXmkuWLKmxPH/88QcuvfRSddMvF0Jy8y03vJLrQLo8yjpK0E4+\\\\\\n\",\n       \"Wy46JT+EMVm+lN+wnSTQJu+Vm2npFiYXnfI+ubBeunSpCqwZk3WVi7LZs2erYOSFyDYwDi4ZyMWi\\\\\\n\",\n       \"cSseuRiWi1oJPMk2lAtpuWDq3bu3Kq8hoa0E7iRYJxfe0nJJli0Xv2fOnFEXsVIfss/I8qQ+Y2Nj\\\\\\n\",\n       \"8e2336plSVDhgQceUMuSCywJ/EkgRZq+yz4kF4Ty2aYauo6qM3DgQPX9MA4eSX3KNpWbjzvuuEN1\\\\\\n\",\n       \"25XvjbQOlAth2Y8MpC7l4lv2F/neSZDp77//Vl175abBHNmn5syZU/k9zcnJUQEv2bfk4rQ68noJ\\\\\\n\",\n       \"Eso2fPjhh9WNjCxHtpXUqzFLtnVtyAW4dL00HEuEfB/lOyrbV441sn2lG/Cbb76JI0eOVMnDJ58t\\\\\\n\",\n       \"21O6CEp3HQlAynfIElJfcnMyevRoladGumTKMUKOZ5JAV/KaGUgZJYA4efJkXHPNNSrQ/Nhjj6kA\\\\\\n\",\n       \"o2wjMX/+fHWMk/qRfbWoqAh79uxR9Xn99dfXum6IyP5IoEquUyTQ8J///Eed119//XV1DJPjiByv\\\\\\n\",\n       \"5HpGHtbI9ZAcU4WcV2pzbDM88JLjm5wP5Rwp1wipqanqWGcIcMly5eGfHJPlmG+aLF5yVkpXcwmy\\\\\\n\",\n       \"yfFWAu9Tp05VxyUDOU/Jw4lmzZqpY5cESuT4/9NPP1Wed2t7Lm3o47+UR8osgTbJGyWBLjk/WSP5\\\\\\n\",\n       \"udSpnAtke8p6yXFfyGcJOYdLueQceKF8qatWrapsaSbnVUmaLj0ETB+QSVBMzj3ymcbkQZjsbxK8\\\\\\n\",\n       \"k2tP2Tby+bJt5LpIHuJdiFxvJCUlqe0s+6Y5cg6XOpZ6relegIiclJ7IgaxatUrv4uKipoEDB+of\\\\\\n\",\n       \"ffRR/cqVK/UlJSXnvdbHx0c/ffr08+YXFBScN2/Tpk3yGEf/2WefVc779ttv1by1a9dWeW1ubq4+\\\\\\n\",\n       \"MDBQf9ttt1WZn5KSog8ICDhvvilZnix34cKF+vT0dH1SUpL+559/1rdq1Uqv0Wj0W7durbacY8aM\\\\\\n\",\n       \"0bdu3brKvM6dO+uHDx9+3ms/+eQT9TmjR4/W63S6yvkPPvigqr+srKway9mjRw99eHi4/uzZs5Xz\\\\\\n\",\n       \"du/erddqtfpp06ZVzpsyZYp6XVlZWeW85ORk9brnn3++ct6oUaP0Xbt21RcVFVXOk3INGjRI37Zt\\\\\\n\",\n       \"2/PKPWTIkCrLrM7JkyfV66ubZNsatGzZUs3766+/KuelpaXpPTw89A8//HDlvNmzZ6vXLVu27LzP\\\\\\n\",\n       \"M9TlvHnz1Gu++OKLyr/Jfij7pa+vrz4nJ0fN+/7779XrXn311crXyXoNHTpUzZf1baw6eu2116p9\\\\\\n\",\n       \"zRVXXKFek52drX5/4YUX1HfoyJEjVV73+OOPq/0nPj5e/b5mzRr1vvvvv7/aujLUvfH3sXv37vrx\\\\\\n\",\n       \"48fXWO5nnnlGLdtg165d6vdbb721yuseeeQRNV/KUtttXR157y233KK+o/K+bdu26ceOHXtePX7+\\\\\\n\",\n       \"+edqX//777+rvP+DDz5Qr92wYYP6ffv27er3mTNnVnndTTfdpObLuppuX9luhnK7u7vrL7nkEn15\\\\\\n\",\n       \"eXnl6959993KY4mBHAtMj2XFxcX6yMhI/ZVXXllle8uxg4gcn+GYYbh+EHK8lXnG52HRs2dPfe/e\\\\\\n\",\n       \"vavMk+Ol6fHY0mObkN/ltfv376/yWjmGNmvWTJ+RkVFl/nXXXaeulwzXOYbroo4dO6rjlcFbb72l\\\\\\n\",\n       \"5u/du1f9Lue72NhYVd5z585Ve76x9FzaWMf/N998U/0uy6uO6XHfwFA3xteism2lDgxkuabnEdPz\\\\\\n\",\n       \"v7nrYXPXfbK9jK8P5bpb3m/8eceOHVPz3nnnnSrv37lzp5ov18/1cc8991Q595vauHGj+vuSJUvq\\\\\\n\",\n       \"9TlE5JjYhZAcirTMkBZY8sRr9+7d6umcPO2Rp2yWNg2XboPGT5HkCZM0/ZaWOtL640LkqZA8SZKE\\\\\\n\",\n       \"2NIqxzBJzhp5yrl27VqLyiEte+TJmXQFklYYhi6PhhYrxuWUJ3/yGdIiRkYqtLQptpCngsbNr6Vl\\\\\\n\",\n       \"kTyVla6U1ZEWNrt27VItRqT5vYE80ZNtYDyE8bXXXqu60hk3b5cWH/JkUv4mMjMz1dNZaQ2Sm5tb\\\\\\n\",\n       \"WWdS97L9pMm5PKUzJkn6a5MHSNZTto3pZJrXQ36XOjCQbSBN+Y1HgJQntNId0NxTWkNdSh3I00XZ\\\\\\n\",\n       \"DwykFYy0apEWXIZulfI6aQFm/KRS1st4wIHGqqOaGLoByGcLaU0m9SSt94z3c2kBJPvPX3/9VVlX\\\\\\n\",\n       \"Uifmkv+aNvs3Jt83eXoq62Upw34nXWKNGVoNmI4QZcm2rokktpf3SBdN+V6uXr1adQ0x/nypJ3m6\\\\\\n\",\n       \"3aFDhyr1ZOgSbDgeGLrTSKs5Y6b7gTnSakKebEtrBeNE+LL9ZXQs0/WWbWmcu8Xd3V21cjNeb6l/\\\\\\n\",\n       \"aU0oT9GJyHlJy19jcky05Bho6bHNQK5PjM+3EgeS84PkSJKfjZch5zS5jjG95pLWPnK8Mi6rMJRX\\\\\\n\",\n       \"WrhLd0c5FpqmkjCcb+pyLm3o47+hrCtWrDivC35Dk5ZwUv8Xan1luO6TllrGLaXkms/0OkrqUsj1\\\\\\n\",\n       \"gTHD+1auXKlacTcUw+eaa3VPRM6PXQjJ4cjIfcuWLVM3dBLEkm5D0pRYusLIyfdCiUil65c0jZYc\\\\\\n\",\n       \"U3IRY9yH3pLAkOGGu7rkkXJDaQnp9iUXZxKAkOb2chFk3NVNmpZLUEACdqYXAlJOS5piC+n6Ze7E\\\\\\n\",\n       \"L03hq2MIbsnNvikpp1ycGJKGS1clKYt0GZR8FUJ+7tGjh0qCKqSpvNSzDH1c3fDHEgSTQKSBdMmr\\\\\\n\",\n       \"DcmlJMGV2taHoU6M60O6c0oz+ppIHclnmo6sZ+hmaqhD+Ve6OpjmiTCt28aoo5pI0E1IbibDfi5d\\\\\\n\",\n       \"ygy5NcyVxVBXEoQ1DnRaQrpRSNdK2UekC4DsR9K1ztDtwRypS6lvCTgbk0Ci3CCYBmUt2dY1kfJJ\\\\\\n\",\n       \"txc51kigR0Y2le+i8TaXepLuKxeqJ0PZTbeZ6brU5vsoN3rSxdd0vaW7h2nwUNZbtqeBdCmUwJgE\\\\\\n\",\n       \"tqQMkshfug5aezh0IrIdQ07CuhwDLT22GZge2yTXpjzskxGWZbJkGRe6XjGkWqip21hdzqUNffyX\\\\\\n\",\n       \"h3kff/yx6gIvXRrlWkm6+sl1a21H520ohvOIXNeYknOPuQe8pjmoZB+QAN8bb7yh8qHJNa48cJYH\\\\\\n\",\n       \"KpZes1rC8Lk1PSQjIufFABY5LLl5k2CWTHITLE/u5GnYhYaBlhYPErySJ3iS+0dOqnISlJxYljwZ\\\\\\n\",\n       \"M7xG+ubLjbMpS0dNk3w01QVc5CJNLnDkqZ5cCEhSUFlfaYEiwbraPMGrroWOtZJfSi4HySshgURJ\\\\\\n\",\n       \"Mi05LyT4Jhd7BobySl6L6kbvMb2RN26BZk0NXR91Zes6krxy8qTZEICV8siTV3nibI4hOFlXkmdO\\\\\\n\",\n       \"9nN5Ii15N+TiXvbtDz74QF3k18TSi9b6bmsJBBm+o5IwWALNckMjydENeUaknuS7LN9Tc+S729gs\\\\\\n\",\n       \"WW8JtEoeLclNIq3DpKWEfH8lsG4Yjp2IHFt9WujW9thmej4ynNMkeGEu56MwfWBhjfNzXc6lDX38\\\\\\n\",\n       \"l7qRVsvSIktazMoxVx70yYNQOf/Jeld3XjMk3Lcnhlyt5gKhkmNNWu8bzu3SKl0eGktOTGsNyGP4\\\\\\n\",\n       \"XNkmRNT0MIBFTsHQ7c54lJXqLgake5tcTMlJ1kASGJuO5lXd+w0JPOVm35IWP3UhCdslCaZ0izR+\\\\\\n\",\n       \"Immue2JDPIGSZPlCbnBNyWg2ctEgra8M5OmidH+UJvbyNFIuNg3dB4W0EjF0sWuoOrMm2cbGoydW\\\\\\n\",\n       \"V0fSokUuYI2foEr9GP5u+FfqRVo4GbfCMq1bW9aRtPKTYJJxtzOpAynzhcoir5MWedJto7atsOT1\\\\\\n\",\n       \"EniWST5LglqSrLy6AJbUpdS3PPU2tHQTEjSV76+hzhuKJJeVINtTTz2lupfKd0/WX1qCSsC5pu+i\\\\\\n\",\n       \"oezS/cX4Cbe5EbbMvdewzxj2EyEtA2R5dd1f5Dss31OZZFlyUyYjgEmifmm5QURNl6XHtupIqyRp\\\\\\n\",\n       \"0SsBGGud0wzXX3J+rm6ZDXUurc/xX8h1grxOJgl4yUM+GXxHruuknIbWZqbXojWle7DmdaDhPGOu\\\\\\n\",\n       \"W7/p9Ypcl0pQzjBqtikJ6skkdSWDv0jLXnk49eKLL1pUlgutj+Fzja8DiKjpsI92q0QWkhO9uSdx\\\\\\n\",\n       \"htw4xl1s5ObM9EJAyJMu02XI6HqmT7kMARrTZcgTPWmlIhcfkkPLlDSbry/DU0jT7o3ScsxUdetZ\\\\\\n\",\n       \"H9LlTboASlDKeNly0ShP1ORppDG5+JJghDxRlEm6JRl3J5Bgn4zY9+GHH5odytkadWZN0n3Q0D3V\\\\\\n\",\n       \"lGGbSB2kpKRUGc1RRt+TfUkCVYZRGeV1Ml9GCTKQfU1eZ8xWdSQXx/K0VFr4/d///V/lfMkfIoEt\\\\\\n\",\n       \"CU6Zkn1C1slQV1In5lrt1PTU3JBDw0DqTJ6Kmw49bsyw3xmPgCgMT78tHdGvrqR1peTbkiCtPF02\\\\\\n\",\n       \"1JN0RZZR/cx1VzaMDmloCSCtnIyZ7gfmyPdLto+Mimpcp5KjRY4LdVlv0/qX5Uv3a1m+ueMaETUt\\\\\\n\",\n       \"lh7barqOkfODtO4090CoLuc0GRFYri3kHGB63WM4NjbUubQ+x395wGNKrrGE4ZxnCM4Z8ksarhWq\\\\\\n\",\n       \"635pTEbPFuauBeV4Lg/WzNVFddd9xuk0JJeojNBtTIKD8uBYRg42JiNLGq4NDCSQJcG7ms7tpqq7\\\\\\n\",\n       \"/jbYvn276j1Rl9GEicjxsQUWORTp/ic5COTpl3Svk1YD8nRHggiSqFJachgPsys5XuTmVnL0yEWP\\\\\\n\",\n       \"JFmXoYyl+5+c/OSGTW7S5XWGJtEGciKXC7BXXnlFncylq5w095aLIwlGSL4euZiSrofypDE+Pl41\\\\\\n\",\n       \"DZcnTe+++2691lPy0cgNpSQ/lad+0jpFLpDks00vQmQ9pTzyZEsCAPKa6vJz1cZrr72GSy+9VHWz\\\\\\n\",\n       \"lCGv5WJMbral3qSVjOnFjLTeWLx4sbpgk+G6Tb333nsYMmSIupiR5NPylFRazkj9SzJpCRjVh+Rn\\\\\\n\",\n       \"+OKLL86bLxeFsg61IYEcaal39dVXq2T7UsdyASot4uQpoiR4l6TxcoEswR+5mJL9T94j3Sfl4tqQ\\\\\\n\",\n       \"S0q2oewTkvfi1KlTap+THG7m8q01Vh1JSyC5MJS8HoYk7PKdMO7OIXUg6yvfF1lHqQPZtjJEuKyn\\\\\\n\",\n       \"rIu0xJPuFPJdkOCKPLmVXFay/L///lv9TbpcmCP1IDcZslwJfsqFsCy3utcLqXdpPSkX9FJ+CRL+\\\\\\n\",\n       \"888/6oJburHK5zU0qQvpZifHBflMWXcZnl0SJUuAXba13HTIDYPMlwCgXOjLesrNnOwbEjySoeUl\\\\\\n\",\n       \"0b8MtX6hJ85yfJFWURIklPqVnCLyRFyCYdKF2rjlXG2OMdIFWsobERGhbsrkuCXBMMO+S0RNl6XH\\\\\\n\",\n       \"tprMnTtXvVeuveScJsd9OZfKuUiuu8wFdmoigRC53pHzqlyjyTWfBF6kTDIoiOGBS0OdS+t6/Jec\\\\\\n\",\n       \"jxKYkuOrtHSS3Fhy/JYudVJOIcEYOS/Isd7QolmuqUwDQuZIayipW7kWlu798l7JEyaTBNikpZKc\\\\\\n\",\n       \"Oy+UyF26+kkZpUxy7SPlkOs+KZshT6ZxjjBpQSZBK0PqAUmeL+dwuXaSckjZ5drCEMy0lJwvhXQ/\\\\\\n\",\n       \"lIc/8n651jYOqsk+wBxYRE2UrYdBJKqNX3/9VX/zzTfrO3TooPf19VVDy8fFxenvu+8+fWpqapXX\\\\\\n\",\n       \"Hjp0SD9s2DC9l5dXlSGEZejlGTNm6ENDQ9UyxowZo14rQwSbDjM8f/58fevWrfUuLi7nDWMsP8t7\\\\\\n\",\n       \"ZShoT09PfZs2bfQ33XSTGm65JoYhkS80zPAPP/yg79atm1p2q1at9K+88op+4cKF5w2znJKSooa/\\\\\\n\",\n       \"9vPzU38bPnx4tcNqG3++8bpU548//tAPHjxY1aG/v7/+sssu0x84cMDsa3///Xe1XI1Go09ISDD7\\\\\\n\",\n       \"muPHj+unTZumj4yM1Lu5uemjo6P1EyZM0H/33XeVr6mu3NUxDBFd3WS8Tc0NFS6kzgz1ZnD27Fn9\\\\\\n\",\n       \"vffeq8oo+1nz5s3VsoyHA5d9zrAvyWtk2G4pvylZ1o033qjqUPYX+dkw3LTp6xujjlxdXfXBwcH6\\\\\\n\",\n       \"/v3762fNmqU/ffq02ffl5uaqv8t3TNZP1lOGIf/Pf/6jLykpqXydDG0uQ4vL91JeFxYWpr/00kv1\\\\\\n\",\n       \"27dvr1L3xtvixRdf1Pfr108fGBio9i9570svvVRluTIkuOlpqrS0VP/cc8+podSlfmJiYlQZjYdL\\\\\\n\",\n       \"r+22Nkc+V4byNufZZ5+t8h2SMsv3s3PnznoPDw99UFCQGqZeypmdnV35vvz8fLVMqXs59kycOFF/\\\\\\n\",\n       \"+PBhtay5c+decDj1d999V9WTrHdERIT+rrvuOm8oeVk3KYcp02HXP/zwQ3V8DAkJUWWW49f//d//\\\\\\n\",\n       \"VSkvETkGc+cE+c77+Pic91pzx9XqjpeWHttqOl7KeVL+JsdqOXbJuW3UqFH6jz766ILXRYZzl+l5\\\\\\n\",\n       \"cv369fqLL75YXffIOsq10jvvvFPrc2ljHf9Xr16tv+KKK/RRUVHqHCn/TpkyRX/kyJHzyjx69Gi1\\\\\\n\",\n       \"HDnGP/HEE5XXVsbXbKbHc7Fx40b1ubJ8eb1sZ+M6NL2+rc7SpUv1HTt2VGXo1KmTftmyZWY/T7ar\\\\\\n\",\n       \"XEt8/vnnlfNOnDihrtHlfCLXrnKuu+iii9S1ZG3INYVc18u1hFxTGu+vBw8eVL/XdplE5Dw08j9b\\\\\\n\",\n       \"B9GIiIiaIhk5tWfPnqpl3NSpU21dHCIiovNanv3555+q5bUxaZ0vrYilxXVjkQGYpDWbtHxnCyyi\\\\\\n\",\n       \"pok5sIiIiBqBdMM1JV0KpVuMJLAnIiJyFDLqt6QikNQJjUG638uIxZIyg8EroqaLObCIiIgawauv\\\\\\n\",\n       \"vqqeGkuuLkkI/Ouvv6pJ8qmZDklPRERkz2Q0QhnF21KS+9PcgxxjkpuxOpKr1jQXFxE1PQxgERER\\\\\\n\",\n       \"NYJBgwap5LMvvPCCugiXi38ZEEES4RIRETmzBx54QA26UhNmtiGiC2EOLCIiIiIiImowBw4cQFJS\\\\\\n\",\n       \"Uo2vGT16NLcANSrJqSYjr0sLeRnpffny5WqU0ZpITriHHnpIjX4qLeifeuoplSuOGgdbYBERERER\\\\\\n\",\n       \"EVGD6dSpk5qI7El+fj66d++Om2++GZMnT77g60+ePInx48fjzjvvxJdffonVq1fj1ltvRbNmzTBm\\\\\\n\",\n       \"zJhGKXNTxxZYRERERERERNRkyeAAF2qB9dhjj+Hnn3/Gvn37Kuddd911yMrKwm+//dZIJW3a2AKL\\\\\\n\",\n       \"rE6n06kmwn5+fhwlhIiIKnOb5ObmIioqSo28aAlJEFxSUmK1GnR3d4enpye3iBXwXE9ERHU5tzf0\\\\\\n\",\n       \"+V7KZDpSpYeHh5rqa9OmTed1dZWWVzNnzqz3sskyDGCR1UnwiiNqERGROQkJCWjevLlFF7NBMS1Q\\\\\\n\",\n       \"lJFutYqUEa6k+T+DWPXHcz0REdX23F7d+T62pS9S0sqtUqG+vr7njVj5zDPPqIFz6islJQURERFV\\\\\\n\",\n       \"5snvOTk5apRNLy+ven8G1YwBLLI6aXklLl/5N9x8fG1ew9Ee7ng6LgquGg1W7UvB8l2Jti4SEREG\\\\\\n\",\n       \"tQnB2O7e+Pzg5ziTe8bpa6SkoARfXv9l5Tnigq8vKVHBK2udS0rz8/DDmKFquQxg1Z9hOw7BOLjC\\\\\\n\",\n       \"zQpLJHI8K7I/s3URiGxKAjfScMHSc7s5cl6W4NXp7a3g76etX3lydWjZ+5QKqPn7+1fOt0brK7IP\\\\\\n\",\n       \"DGDReRITE1X/3l9//RUFBQWIi4vDJ598gj59+lhUW4Ymm3LD4eZb94OZtaQBmJOSjTntYnDVIH/4\\\\\\n\",\n       \"+ftj8dYEWxeLiJqwXi0CcfVAfyzYtwBpujS4+7ijqTBt1n8h9nIuIfPbUYJXrhoGsKhpMr5BJmrK\\\\\\n\",\n       \"antuN8fXT6Om+tBBU/ndbIjvp7TkTk1NrTJPfpfPYuurxsEAFlVx7tw5DB48GBdddJEKYIWFheHo\\\\\\n\",\n       \"0aMICgpy6JpKKi7D44cTMKd9DMZ0iYRWo8FX/8TbulhE1ES1DvPFttRtSMhlMJ2IiIioXK9Dub7+\\\\\\n\",\n       \"y2hIAwcOxC+//FJl3u+//67mU+NgAIuqeOWVV1QzUGlxZRAbG+sUtZRcUobHDifglXYxuKRzBLQa\\\\\\n\",\n       \"4IstDGIRUePqEOmHfrHB+PrYMVY9ERERkY1IrqxjRtdjkidz165dCA4ORosWLTBr1izVO+mzzyq6\\\\\\n\",\n       \"C995551499138eijj+Lmm2/GmjVr8M0336iRCalx1K+TKTmdH374QXUVvPrqqxEeHo6ePXti/vz5\\\\\\n\",\n       \"cBapJWV49HACJDY/omM4XCSKRUTUSDpF+eOWIbFYdvITHMo8xHonIiIiUt3/9FaZamPbtm3qflcm\\\\\\n\",\n       \"8dBDD6mfZ8+erX5PTk5GfHx8lYYdEqySVlfdu3fH66+/jo8//liNREiNgy2wqIoTJ07g/fffV1/e\\\\\\n\",\n       \"J554Alu3bsX999+vhh6fPn262doqLi5Wk3EyP3uWVlqGUp0e7loNBrcJwV9HM2xdJCJqAiQ9xM3D\\\\\\n\",\n       \"QrD06CLsTt9t6+IQERER2Q2d+q/+y6iNESNGQK+vPui1aNEis+/ZuXNnncpH9ccWWFSFTqdDr169\\\\\\n\",\n       \"8PLLL6vo8+23347bbrsNH3zwQbU1NWfOHAQEBFRO0gXR3r1xKkXF52cMicXwdqG2Lg4RNQGR/p5w\\\\\\n\",\n       \"c3HDkXNHbF0UIiIiIiKHwwAWVdGsWTN06tSpyryOHTtWaTppSvoGZ2dnV04ybKm925tXiJePJ6kg\\\\\\n\",\n       \"1k2DY3FRewaxiKjhNAvwxH1jQvDH6T9QUFbAqiYiIiIyUq7XW2Ui58YAFlUhIxAePny4yrwjR46g\\\\\\n\",\n       \"ZcuW1daUh4dH5VClDTVkaUM4kF+EF49VBLGmDYzF6I5hti4SETmhcD8P3DcyDhsSN+CP+D9sXRwi\\\\\\n\",\n       \"IiIiu2OLHFjkeBjAoioefPBBbN68WXUhlBEZvvrqK3z00Ue45557nLKmDhUU4fljidBpgKn9W2FM\\\\\\n\",\n       \"5whbF4mInEzX5gFIKNqDNQlrbF0UIiIiIiKHxQAWVdG3b18sX74cX3/9Nbp06YIXXngB8+bNw9Sp\\\\\\n\",\n       \"U522po4UFOM5CWIBuK5vC4zv0szWRSIiJ+Hn6Yq+rYKRlJdk66IQERER2S1pPVVez4ktsJwfRyGk\\\\\\n\",\n       \"80yYMEFNTcmxgmLMPnYGL7Rtjsl9orH+eAayC0ttXSwicvDglXQdTC7dwa6DRERERDWwRhdABrCc\\\\\\n\",\n       \"H1tgEf3PycIS5JWVQ6vRoEOEL+uFiOrl1qGtkViyDUsOL4FOX9+BoYmIiIiImjYGsIiMfJV8Vv17\\\\\\n\",\n       \"x0Vx6BYdwLohojpx1WoQ4e+BDUkboGdCUSIiIqIacRRCsgQDWERG/jqXh/dPp0IDYObF7dAjhkEs\\\\\\n\",\n       \"IqodNxcNbhvWGinZRUjNT2X1EREREV2AzkoTOTcGsIhMrM/Ox7sSxNIA949qh94tAllHRGRx8Or2\\\\\\n\",\n       \"Ya3h6ZuARcefRZm+jDVHRERERGQFDGARmbEpOx/zTlUEse4Z2Rb9WgaxnojogrpEByAkKAsL9y1E\\\\\\n\",\n       \"cXkxa4yIiIjIAvUdgdAwkXNjAIuoGltz8vHGqRQVxLpzZBwGtA5mXRFRtaTrccdIf6QVpKFEV8Ka\\\\\\n\",\n       \"IiIiIrJQud46Ezk3BrCIarA9pwD/OZmsbkwlp02Evyfri4jOI8eIq/vEoG1MAVYcX8EaIiIiIiKy\\\\\\n\",\n       \"MgawiC5gZ24hEotKoNVo0DLYi/VFRFVIK83r+rVAhxYF+HD3h8gqzmINEREREdUCk7iTJRjAIrLA\\\\\\n\",\n       \"mrM5qoXFHcNao2UIg1hE9K/r+rZAmzAffLjnQ2SXZLNqiIiIiGpJBw3K6znJMsi5MYBFZIHfzuZg\\\\\\n\",\n       \"cXImXFy0mD2+M1qH+rDeiEiNOjigrScWHZ2LnJIc1ggRERERUQNhAIvIQj+kZ+GrpLPQumjw5PiO\\\\\\n\",\n       \"iAtnEIuoqRsSF4rCskK2vCIiIiKqB53eOhM5NwawiGrhp4xsfJ6UAa1Wg1mXdkT7CF/WH1ETNapj\\\\\\n\",\n       \"OMb08MTHez9Gma7M1sUhIiIiclj17T5omMi5MYBFVEu/ZeTgk8R0uGg1ePjSDvD1cGUdEjUxPWMC\\\\\\n\",\n       \"MbqrO+bvmY/EvERbF4eIiIiIyOkxgEVUB3+czUV2WTlcNRpEBHiwDomamOggLxzKPISk/CRbF4WI\\\\\\n\",\n       \"iIjI4bEFFlmCASyiOtqSnae+QP93SXuE+LixHomaiG7NAzC8XRh2p++2dVGIiIiInIJOr7HKRM6N\\\\\\n\",\n       \"ASyiOlqUeBZrM3Pg6eaClyZ1RaivO+uSyMl1bx6AGwe0xOJjH+HwucO2Lg4RERERUZPBABZRPcw/\\\\\\n\",\n       \"k4E/zv4viDWxC8L9GMQicmZX94nBspOLcCDzgK2LQkREROQ02IWQLMEAFlE9LUzMwMqMbHi4ueDF\\\\\\n\",\n       \"iV0Q4c+cWETOKDrQC17uLkjITbB1UYiIiIicSjm0VpnIuXELE1nBp0ln8Ut6FtxdXfDCpK5oFuDJ\\\\\\n\",\n       \"eiVyIjHBXrhvTCh+P7MMZ4vO2ro4RERERERNDgNYRFbyRXImfkrLgrtWg+cmdkGAFxO7EzmDcD8P\\\\\\n\",\n       \"3HtxGFbHr8a6M+tsXRwiIiIip6O3QgJ3WQY5NwawiKzoq5RMJBWXwk2rQcsQb9YtkRNoHeaDpPwk\\\\\\n\",\n       \"rE9cb+uiEBERETkl5sAiSzCARWRlh/MLIbH/W4bEwtvdhfVL5MCkJeXojhGIz4m3dVHIhubOnQuN\\\\\\n\",\n       \"RoOZM2c65XZw9vUjIiIi58AAFpGVfXwmA3tzC9WN79wru8LXw5V1TOSAgrzdcP+otjhVtBkrT620\\\\\\n\",\n       \"dXHIRrZu3YoPP/wQ3bp1c8pt4OzrR0REjqFcr7XKRM6NW5jIyvTyNPtkMnblFsDf0w1zJneFH4NY\\\\\\n\",\n       \"RA7nhgEtcbJwE5YdXQa9+mZTU5OXl4epU6di/vz5CAoKgrNx9vUjIiLHoYMGOmjrOTEHlrNjAIuo\\\\\\n\",\n       \"Acit7qsnU7AtOx9+nq6Yc2VX+HuyJRaRo3B30SLMzwN70vcweNWE3XPPPRg/fjxGjx4NZ+Ts60dE\\\\\\n\",\n       \"RETOhXfURA3ojdOpeKBlBPoH+Kgg1hPL9iK7sIx1TmTHPFy1uGN4a6TlFONkzklbF4esLCcnp8rv\\\\\\n\",\n       \"Hh4eajK1ePFi7NixQ3Wxc0a1Xb/i4mI1VVePRERE1kjiXt9lkHNjCyyiBvbW6VRsysqDj7sr5kp3\\\\\\n\",\n       \"QrbEIrLrlld3Dm8DvccJfHbyGZTpGHB2NjExMQgICKic5syZc95rEhIS8MADD+DLL7+Ep6cnnE1d\\\\\\n\",\n       \"1k/qybjepB6JiIishTmwyBJsgUXUCN6JT0OEuxtivT0wsHUIVh1IZb0T2aHWYT4IDcrFq9sWMXjl\\\\\\n\",\n       \"pCR44+/vX/m7udZX27dvR1paGnr16lU5r7y8HH/99Rfeffdd1RLJxcVxR5mty/rNmjULDz30UJUW\\\\\\n\",\n       \"WAxiERERUWNiAIuokRwtKEJrbw+M6hiOtYfTUFrOpNBE9kSjAXq3DEJ6YSKDV05MglfGASxzRo0a\\\\\\n\",\n       \"hb1791aZN2PGDHTo0AGPPfaYQwev6rp+1XW1JCIisl4S9/p1AWQSd+fHABZRI/ki+Sw6+Hqhpb8n\\\\\\n\",\n       \"XprYBU99vx8l5TrWP5GdBK+u79cCsVG5+GjvYlsXh2zMz88PXbp0qTLPx8cHISEh5813RM6+fkRE\\\\\\n\",\n       \"5HhkFMHyemY40nHUaKfHHFhEjUQaXD115AxOFRYj/H9BLEkWTUS2d3n3KLSKysFHez5CbkmurYtD\\\\\\n\",\n       \"REREREQm2AKLqBGVA3j6aCKejYtGG38PvDypC55cvg9FZWyJRWRLLYK98deZ35BbyuAVmffnn386\\\\\\n\",\n       \"ddU4+/oREZFjJHGv3zKYosXZsfkHkQ2CWM8cS1Q5sUJ8PfDy5K7wdONXkchWRneMQLMAL5zMPsmN\\\\\\n\",\n       \"QERERGSjLoTWmMi5cQsT2YC0t3ruWBIO5Rch2McdcxjEIrKJMZ0jcFGHMHx86FWcLTrLrUBERERE\\\\\\n\",\n       \"ZKcYwCKyYRDrheNJOFlYjCBvd0zqEc1tQdSIQn3dMaabL+YffAXJ+cmseyIiIiIbKddrrDKRc2MA\\\\\\n\",\n       \"i8iGpJf29px89XPnqABoecwlajStw3xRWFaI1IJU1joRERGRDckIhNaYyLlxCxPZ2C/p2cgsLUPz\\\\\\n\",\n       \"YC88Oa4jXDSMYhE1tB4xgbimfwCWHl3KyiYiIiIicgAMYBHZWJFOj4cPJyCjpAxtwn3x1IQODGIR\\\\\\n\",\n       \"NaAuUf64vn8LfHHwCxzMPMi6JiIiIrIxnV5rlYmcG7cwkR0o1unxf0cSkFZSithQX8ye0BEu7E9I\\\\\\n\",\n       \"1CC6xQRiY+qvOHzuMGuYiIiIyA6wCyFZggEsIjsKYj16+AxSikvRMtQHz17WCa4MYhFZVYtgb3SN\\\\\\n\",\n       \"DkBiXiJrloiIiIjIgTCARWRHSvR6PHbkDJKKSxET7I3nLu8MNxfmxCKyhlYh3rhrRBusTvoO+87u\\\\\\n\",\n       \"Y6USERER2dEI7fUdgVCWQc6NASwiO1Oq1+PxIwkqiBUd5IXpA1vZukhEDk8CwXeNDsXvid9gQ9IG\\\\\\n\",\n       \"WxeHiIiIiIzooLXKRM6NW5jIDpXpgeWp56AHEBvmY+viEDm8IG93eLp6YmvKVlsXhYiIiIiI6oAB\\\\\\n\",\n       \"LCI7tTu3AAXlOkQHeuG+i9rYujhEDivI2w13DG+DzcmbUaYvs3VxiIiIiMhEuV5rlYmcG7cwkZ3K\\\\\\n\",\n       \"K9fh4UPx6t/erYLxwKi2YDYsotoHr+4f1RZH8//GimMrWH1EREREdkgHjVUmcm4MYBHZsZz/BbFy\\\\\\n\",\n       \"y3Xo2SIQD17cjodloloY2CYEaWX7sOL4CuhVp1wiIiIiInJEDGAR2TkJXj10KB45ZeXo1jwAj1zS\\\\\\n\",\n       \"Hho+XCC6IA9XLdpH+iM5L5m1RURERGTH2IWQLMEAFpEDyFdBrAQVxOoU7Y8rukfZukhEds3TTYu7\\\\\\n\",\n       \"RrRBqdtRrE5YbeviEBEREVENyqG1ykTOjVuYyEEU6HT4/WyO+jkunCMTEtUcvIpTwatP93+KMh0T\\\\\\n\",\n       \"txMREREROToGsIgcyN+ZuSjT69E5OhDX9Y2xdXGI7I6biwb3XBSHvKIyfHrgU446SEREROQAdHqN\\\\\\n\",\n       \"VSZybgxgETmQtNIyPH4kAaV6PcZ0icT1/RjEIjIW4e+J8KAifBU/G+X6clYOERERkQPQWaH7oCyD\\\\\\n\",\n       \"nBu3MJGDSS4uw2OHE1Cq0+OSzpG4sX8LWxeJyC5oNcCojhFILUiFTq+zdXGIiIiIiMiKGMAickCp\\\\\\n\",\n       \"JWV49HACinV6jOoUgemDWtq6SEQ25aLRYPqgVogKz8RnBz7j1iAiIiJyIDq91ioTOTduYSIH7k74\\\\\\n\",\n       \"6OF4FOn0uKh9OG4Z0srWRSKymUu7RiIi9Cw+2vMR8kvzuSWIiIiIHEg5NFaZyLkxgEXkwNJLy/HI\\\\\\n\",\n       \"oXgU6vQY0jYMV/aMtnWRiGwiOtALu9J3oaCsgFuAiIiIiMgJMYBFNZo7dy40Gg1mzpzJmrJTmWXl\\\\\\n\",\n       \"+ORMuvq5U3SArYtD1OjGdW2G5sHe2Jexj7VPRERE5IDYhZAswQAWVWvr1q348MMP0a1bN9aSnTta\\\\\\n\",\n       \"UASdHmgd6oNRHcJsXRyiRjOhWzMMaB2Mjw/Oxdmis6x5IiIiIgckY0fXvwshOTsGsMisvLw8TJ06\\\\\\n\",\n       \"FfPnz0dQUBBryQGSur94PBE6DXDDgFYY0znC1kUianA+7i64uKsfPj40F2mFaaxxIiIiIiInxgAW\\\\\\n\",\n       \"mXXPPfdg/PjxGD169AVrqLi4GDk5OVUmanyHC4rx3LFE6ABc168FxneJ5GYgp9Y5OgAl5SXIKMyw\\\\\\n\",\n       \"dVGIiIiIqB7YhZAswQAWnWfx4sXYsWMH5syZY1HtyOsCAgIqp5iYGNaqjRwrKMYzx86gXK/HVX1j\\\\\\n\",\n       \"cFn3ZtwW5JT6xQbj6v7++OzAZ9BDb+viEBEREVE9lOu1Vplq67333kOrVq3g6emJ/v37459//qnx\\\\\\n\",\n       \"9fPmzUP79u3h5eWl7nsffPBBFBUV1WPNqTYYwKIqEhIS8MADD+DLL79UX2JLzJo1C9nZ2ZWTLINs\\\\\\n\",\n       \"50RhCZ4+mqiCWJN7NceQuBBuDnIqXaIDVPDq0/2f4ljWMVsXh4iIiIgc0JIlS/DQQw/hmWeeUQ04\\\\\\n\",\n       \"unfvjjFjxiAtzXxqiq+++gqPP/64ev3BgwexYMECtYwnnnii0cveVDGARVVs375dfWF79eoFV1dX\\\\\\n\",\n       \"Na1btw5vv/22+rm8/PzUeB4eHvD3968ykW2dLirBirQs9XP3mEBuDnIqceG+2J66Hcezj9u6KERE\\\\\\n\",\n       \"RERkBXpooKvnJMuojTfeeAO33XYbZsyYgU6dOuGDDz6At7c3Fi5caPb1GzduxODBg3H99derVluX\\\\\\n\",\n       \"XHIJpkyZcsFWW2Q9DGBRFaNGjcLevXuxa9euyqlPnz4qobv87OLiwhpzEHtzC9W/vVsGoXtMgK2L\\\\\\n\",\n       \"Q2QVMtLmwNYhOJF9gjVKRERE5CQauwthSUmJarxhnPNZq9Wq3zdt2mT2PYMGDVLvMQSsTpw4gV9+\\\\\\n\",\n       \"+QXjxo2zQg2QJVwtehU1GX5+fujSpUuVeT4+PggJCTlvPtm3IwVFeO90Ku5pGYEHRrXDe2uOYnt8\\\\\\n\",\n       \"RassIkdteXXb0Nb4JeEr7M3Ya+viEBEREZEdMh1UTHoMyWQsIyND9S6KiKg6erv8fujQIbPLlZZX\\\\\\n\",\n       \"8r4hQ4ZAr9ejrKwMd955J7sQNiIGsIic2MbsfJSeSsXMVhG4Z2RbfLD2GP45fc7WxSKqk1uGxOLX\\\\\\n\",\n       \"hK/xTwqbaTcll+z/RyVKra/CwkIstUqJiMhaVibtYmUSkaLTa9RUH4b3mw4qJjmrnn322XrX9J9/\\\\\\n\",\n       \"/omXX34Z//3vf1XC92PHjqn80S+88AKefvrpei+fLowBLLLoi0qOa2tOPt48lYIHW0XizpFx0K47\\\\\\n\",\n       \"js0nMm1dLKJaCfFxh5e7Cw5kHmDNERERETmZcmjVVN9lCBlUzDgvs2nrKxEaGqrS46SmplaZL79H\\\\\\n\",\n       \"RkaaXb4EqW688Ubceuut6veuXbsiPz8ft99+O5588knVBZEaFmuYqAnYllOA/5xMVj/fPrwNOkT6\\\\\\n\",\n       \"2bpIRBYL9XXHA5cGYUPKKuSW5LLmiIiIiKhapgOMmQtgubu7o3fv3li9enXlPJ1Op34fOHCg2eUW\\\\\\n\",\n       \"FBScF6Qy5IiWLoXU8NgCi6iJ2JlbiI3n8jA4yBfdmwfgUAoDAWT/gn3ccf+ottidvhq/nPzF1sUh\\\\\\n\",\n       \"IiIiIjvvQmiphx56CNOnT1eDlvXr1w/z5s1TLapkVEIxbdo0REdHY86cOer3yy67TI1c2LNnz8ou\\\\\\n\",\n       \"hNIqS+ZzsLPGwQAWUROyJ7dABbAu7hSBzSfP4vTZipEKiexVt+YByCg7xOAVERERkRPTQaum+i6j\\\\\\n\",\n       \"Nq699lqkp6dj9uzZSElJQY8ePfDbb79VJnaPj4+v0uLqqaeegkajUf8mJiYiLCxMBa9eeumlepWb\\\\\\n\",\n       \"LMcAFlETsj4rDyHurrg2Mhizx3fGiz8fxMmz+bYuFpFZXm4u6N0yCPH5+1lDRERERGR19957r5os\\\\\\n\",\n       \"yQXt6uqqEsLLRLbBHFhETcyKtCx8lXQWWhcNnprQEXHhPrYuEtF5vN1dcO/IOORrD+LXk7+yhoiI\\\\\\n\",\n       \"iIicWLleY5WJnBsDWERN0E8Z2fg8KQMuWg1mjeuIdhG+ti4SURUzBsciG/vw+cHPUa4vZ+0QERER\\\\\\n\",\n       \"NYEcWPWdyLkxgEXURP2WkYNPEtOh1Wjw+KUd0SGCIxOSfXDRaBAV6Il1Z9ZBp9fZujhERERERGQH\\\\\\n\",\n       \"GMAiasJ+P5uLBQnp0GiAR8e2R3u2xDIr5fAO7F/5Za3qVl4v76utU1tX4/snr8EXdwzFD7Ovx5k9\\\\\\n\",\n       \"G9DUglfTB7VEdmEpUvJTbF0cIiIiImoEer0WunpOsgxybtzCRE3cmnO5WJmRDa1Wg1EdK0bcoH9J\\\\\\n\",\n       \"EGrNvAex/Zu3sfeXTy2qGnmdvF7eV5sgVtqxPfj7o6cRN/QyTHjmM8T0HIY/330U584cbzLBqxlD\\\\\\n\",\n       \"WiE0NB0fH3kWJboSWxeJiIiIiBpBOTRWmci5cRRCIsKh/EKMCQ1A9+YBCPV1R0YeAwcGZ08dRFlJ\\\\\\n\",\n       \"kfp559L/qn+7jpte7V6za/mH2PPTQvWzvG/N24/AOygcAc1aot3wSYjq1A/xO9Zi9w8LkJt2Bi7u\\\\\\n\",\n       \"Hghu0R4X3fcaDv6xBFFdBqDL2BvV+3tOuhPJB/7B4TXfYsC0x51+T+0c7Y8WEQV4c/t8FJVX1DkR\\\\\\n\",\n       \"EREREZFgAIuI8E92AdaczcGoEH+8NLELnvp+H9IZxKoIqoyZCl15WWXwqrogVk5qPP768Glknj5U\\\\\\n\",\n       \"Oc+jeWd4tugGXXEeUhP2IeHNB+AdHInCc2noddU9aNlnJEqLCpB6ZJe0m0b68b3odMmUKsuN6jwA\\\\\\n\",\n       \"CTvXNYm9tG2EH9ILkhi8IiIiImpidPqKRO71XQY5NwawiEhZkJiBcr0el4QG4KVJXfD0iv1IzSlm\\\\\\n\",\n       \"7RgFq6oLYqUc2o4/3pwJXdm/LdcCh09HwICrK3/X6/UoSTqErI1LoM9MQfzOv9B2+ET4hkYhqHmc\\\\\\n\",\n       \"ek1R9ll4+QdXqXNP/2AU5px1+u1wefco9Ghdho/2fG/rohARERFRIzPksarvMsi5cQsTUaVFSWfx\\\\\\n\",\n       \"a3o23F1d8MKkrmgW4Mna+R8JVvW88u7K+pAgluS6Sj26C7+/fl+NwSuh0WjgEd0R4Vc+DfeINkg/\\\\\\n\",\n       \"thvLHpuMw2u+Q3F+TpOu57FdItG3rQ4f7v4QGYUZti4OERERERHZIQawiKiKz5PP4qe0LLhrNXj+\\\\\\n\",\n       \"8s4I93NnDdUQxFo59w7odeU1Bq+MabQuiJw+D8GX3IOSglzsXP4BVjx5DXLTk+AZEILCnMwqry/K\\\\\\n\",\n       \"yYSXf4hTb4POUf74+eTPOFvk/C3NiIiIiOh8OmisMpFzYwCLiM7zVUomduQUwM1Vi4s6cGTCmoJY\\\\\\n\",\n       \"xoyDV1q9Dl3Tj2H4mZ3qX/nduDWWX89LETTqNpQU5AFaLRJ2/ImwNl2RcnBblWVKEneZ76z6xQYj\\\\\\n\",\n       \"3M8TyfnJti4KEREREdlIuV5jlYmcG3NgEZFZh/KL0MvfG0PiQvDj7iQUlPzbyqipkyDW/l8/Vy2o\\\\\\n\",\n       \"DLQePpXBq0FJe3Hnnu8RVpRd+fd0zwB80G0i1sIdRad3w7NVT3i26A6NqxuKc88hIKoVQtt0wcpX\\\\\\n\",\n       \"78T+lV+iebfBOPnP72oUxAHTZsEZDWwdgok9o/HZkbeRVpBm6+IQEREREZEdYwCLiMz6OT0LXX29\\\\\\n\",\n       \"0NXPC3Ov7IpZS/cin0EsRXJfGQevhK44H9mbv8WlLTrgqX8+Pa8+Q4qy1fzyDuPxQ8I+5GxbAV1x\\\\\\n\",\n       \"ATSu7nBxcUFkx75wcXXD0NtewK7lH2DnsvfhHx6DEfe+iqDmbZxuL43098RV/QPw8d55OJVzytbF\\\\\\n\",\n       \"ISIiIiIbYhJ3sgQDWERkloxCO/dkMv4vNhI9/Lwx98pueGLZXuQWl6GpB68MoxAaWl5J8EpkrfsU\\\\\\n\",\n       \"fpExQIDPeT3wpb+2dCK8+/QGbL36Weg0FT24ixMPIuWL/8O5M8cQ2qojWvUdpSZn1yzQEzklOQxe\\\\\\n\",\n       \"EREREVFFDqt6dgFkDiznxxxYRFRjEOu1kynYnp0PP09XzLmmG/w9m27c2zR45RoUhZiZS1TuK4OP\\\\\\n\",\n       \"UhLw8dmz1R5wwwuz0DnjROU8F9+KBO0lef92N3R2bcN9cf2gQKyOX23rohARERERkYNgAIuILhjE\\\\\\n\",\n       \"ev10KrZm58PX1QVzJneFr0fTC2KZBq/8m7WCW1CU+llyXxkHsd7MSMf8aoJYIrjYqPvh/1pi6Y2S\\\\\\n\",\n       \"vDt78Oq2Ya2x4tgKbE/dbuviEBEREZEd0FthBEJZBjk3BrCIyCJvnk7F6cISeHu4om+roCYdvJJR\\\\\\n\",\n       \"CMNad4au6N9AlASxOvSeYFEQK9vdu/JnXVGO+tfd2w9NwbB2YdiQ+gu2pzF4RUREREQVpPugNSZy\\\\\\n\",\n       \"bgxgEZHFjhUUqecaYzpHws2laZwgZERA0+CVjEIY0qoTilOOoiw3o/JvxaNux+2SA8soiPVJ5vlB\\\\\\n\",\n       \"rOkHfkVkfsX8gqNb4OLuiYBmsXB2YX4eaBXqg5T8FFsXhYiIiIiIHAwDWERksU+TMnCmqASRAZ54\\\\\\n\",\n       \"/vLOTSKIFdKqI1zdPasEr0TrgWPh4uqBvN0rK18ridlzL74bM0PD1O9eGg26eHpVdsWUSXTIOoN3\\\\\\n\",\n       \"176JoQk7kL/7N7QeMAbu3r5wZuF+HrhvZBx2nvsdezL22Lo4RERERGSHoxDWdyLnxi1MRBYr0wOz\\\\\\n\",\n       \"jp5BfFEJmgV64cWJXeDu4tyHkcj2vTBy5pvofc39lcEr4e7lizaDLkX+7pXQl/87MuPGqK5IvfQh\\\\\\n\",\n       \"3N2sBT5oHoO+3hXdBdO9ArGg8wQk+VQkbfcpK8IT27/C095u6DL0CjgzD1ctHhgbgu2ZK/HryV9t\\\\\\n\",\n       \"XRwiIiIisjPsQkiWaHqZmImoXsr1wJNHzuCFttFo5e+JZy/vhCeX76tsXeSsQSyZTHUYeTWO/rUC\\\\\\n\",\n       \"mX98iOBL7oZGo6kMYmlvfBfxGSewujgXmR5+2B/aWrXQ+rXVANy7eykuOrNTvfbqwECMWPM5fvC7\\\\\\n\",\n       \"B+lh/3Y/dCaB3u7wdvPGqtOrbF0UIiIiIiJyUM7ddIKIGkQ5gKePJqoWWRH+nvB2d2mSNR0Y3RoD\\\\\\n\",\n       \"pj2OvF2/ImvtwiojCUqwam9YHNY176n+ld9FgZsnXo4bjadzi1Gorwj7hWUmY9pnz6LHrrUyHCGc\\\\\\n\",\n       \"iewb0wa2xL6MfbYuChERERHZqfqOQGiYyLkxgEVEdQ5inS0thYtWgzuGt2myp4u2Qy9H3+sfRs62\\\\\\n\",\n       \"75H2zTMoPLmzSiDLmK4oDznbViDli0fwW0kx3p/4AFLDmqu/uZWXYeyqRZi44l14FOXDGfh4uOLe\\\\\\n\",\n       \"kXHIwl4sPrzY1sUhIiIiIjvFLoRkCXYhJKI6e+poIl5vH4NuzQPwyCXt8Z/fDztbAyKLdBx1DfxC\\\\\\n\",\n       \"o7D9u/eQ9s3TcAuOhk/Xi+EaGAmNqzt0xfkojt+L/IPrgPIytOh9EfpNeQglASH4rE1XXPTnN+iz\\\\\\n\",\n       \"43e1rA5HtiEy+QR+uPweJEXHwZFd3DEcBdoj+Gr/V9BVE9QjIiIiIiKyBANYRFRn+eU6PHQoAa93\\\\\\n\",\n       \"iEHnaH88ekl7vLqqaQaxmncfguhug5F2dBcOr12K0+u/qJLc3SsoHN3HT0fc0CvgHRhaOb/c1R1/\\\\\\n\",\n       \"jL4Bp1t2wrhf5sOruACBuZmY+tVL+Hvoldjcfxzwv+6HjsRFo0GLEG+czDnN4BURERERWdQCqz7q\\\\\\n\",\n       \"+36yfwxgEVG9FOgkiBWP/3RogY5R/pg1tgPm/nYIuiYYxJIk7hHteqpJr9OhtCgfZSXFcPf2hYub\\\\\\n\",\n       \"R2WSd3OOtu2FhTNexOU/vo+YxKNw0esw4q9v0fLUfvw04Q7k+wbCUUi30psHx8LTJxkbTm6wdXGI\\\\\\n\",\n       \"iIiIyM4xgEWWcLzH+kRkdwp1ejxyKB6ZpWVoF+mnuhM2dRqtFu7efqq1lau7Z43BK4Nc/xB8NWUW\\\\\\n\",\n       \"1g+6ojIJZWz8Ady86GnEntwLRyHBq4CgZMzfOx+FZYW2Lg4RERERETkBBrCIyGpBrCePJkIyHbWN\\\\\\n\",\n       \"8GWt1pFe64L1QyZj8bWPIccnQM3zKcjBtd/+ByP+XAKtUbdEe+Sq1ajupF8c+AJF5UW2Lg4RERER\\\\\\n\",\n       \"OQAmcSdLMIBFRFaTV1aOwnId3Fy0mDagBWu2HuJbdsQnM17EsdbdK+cN+OcXTP3yRQRkpdlt3Y7v\\\\\\n\",\n       \"1gzZBaXIK82zdVGI6uz9999Ht27d4O/vr6aBAwfi119/daoabQrrSEREjkOyj0gPhPpMTTCDSZPD\\\\\\n\",\n       \"ABYRWU05gCePnEGxTo+RHSNw06CWrN16KPT2x3dXPojVF01BmdZFzYtOOYkZi55Gh4Nb7K5uJ/WM\\\\\\n\",\n       \"Ru+4csw/9DLK9bI3EDmm5s2bY+7cudi+fTu2bduGkSNH4oorrsD+/fvhLJrCOhIREZFzYQCLiKwq\\\\\\n\",\n       \"rbQMjx6OR5FOjxHtw3Hr0Fas4frQaLC171h8fsPTyAwIU7M8S4ow8cf/YuxvC+FaWmwX9ds/Nhg9\\\\\\n\",\n       \"25Thg90f4GzRWVsXh6heLrvsMowbNw5t27ZFu3bt8NJLL8HX1xebN292mpptCutIRESOg10IyRIM\\\\\\n\",\n       \"YBGR1aWXlquk7hLEGhwXhsu7R7GW6yk1MhaLbnoB+zsOqJzXY886TP/sWYSlJ9i8fqMCvXAs6xjO\\\\\\n\",\n       \"FZ+zdVGIrKq8vByLFy9Gfn6+6mbnjJrCOhIRkX1jAIsswQAWETWIzLJyfJ18Vo2l1ynKj7VsBSUe\\\\\\n\",\n       \"Xvhxwp34+dJbUeLmruaFnU3CtM+eRY9dawG9bXr+D2oTggGtQ7Al2f66NRKZysnJqTIVF5tvxbh3\\\\\\n\",\n       \"717VIsnDwwN33nknli9fjk6dOjlVhdZmHaWeTOuOiIiIqDExgEVEDWZfbiHK9UD7CH+M7lDR/Y3q\\\\\\n\",\n       \"SaPB3q5DsWjac0gNa65muZWXYeyqRZj4/bvwKMpv1CoeHBeCy3tE4ZPDbyI+N75RP5uoLmJiYhAQ\\\\\\n\",\n       \"EFA5zZkzx+zr2rdvj127dmHLli246667MH36dBw4cMCpKr026yj1ZFxvUo9ERETWwhZYZAkGsIio\\\\\\n\",\n       \"wSSXlOLF44nQaYCpA1phTOcI1raVZIZE4bMbn8G2nqMq53U4ug0zPnkKUYnHGq2ex3Vthm+Of4TT\\\\\\n\",\n       \"Oacb7TOJ6iMhIQHZ2dmV06xZs8y+zt3dHXFxcejdu7cK3nTv3h1vvfWWU1V+bdZR6sm43qQeiYiI\\\\\\n\",\n       \"rIUBLLIEA1hE1KAOFxTjuWOJ0AG4rm8LjO8SyRq3knJXd/xx8TQsnXQ/Cj281bzA3Ezc8NVLGLD5\\\\\\n\",\n       \"J0Avtd5w2kb4wtPNBcn5yQ36OUTW5O/vX2WS7nOW0Ol01XY3dBY1raPUk2ndERERETUm10b9NCJq\\\\\\n\",\n       \"ko4VFGP2sTN4Li4aV/WNgdZFgx93M+hhLUfb9sYnM1rhsh8/QEziEWj1Ooz461u0PLUfP024A/m+\\\\\\n\",\n       \"gbC29pF+uHVECJYd+xRZxVlWXz6RLUlro0svvRQtWrRAbm4uvvrqK/z5559YuXKl02yYprCORETk\\\\\\n\",\n       \"OPR6jZrquwxybmyBRUSN4mRhCZ4+mohyvR6TezXHwDYhrHkryvEPwVdTHsf6QVdAr1LnA7HxB1SX\\\\\\n\",\n       \"wtiTe61a182DvFTwaunRpdiRtsOqyyayB2lpaZg2bZrKETVq1Chs3bpVBXYuvvhiOIumsI5EROQ4\\\\\\n\",\n       \"dNBYZSLnxhZYRNRoTheVYGVGDsaFBaBzlD82HT/L2rcivdYF64dMRnxMR0z46X3452fDtzAX1377\\\\\\n\",\n       \"H2zuNw5/Db0SOpf6H/ZjgryRkJuA3em7rVJuInuzYMECOLumsI5ERETkXNgCi4ga1a7cilHyBrUJ\\\\\\n\",\n       \"QfeYANZ+A4hv2RGfzHgRx2K7Vc4b8M8vKjdWQFZavZYd7ueBcd2a4ci5I1YoKRERERERk7iTZRjA\\\\\\n\",\n       \"IqJGtT+vCO+eToVGo8EDo9qhdwvr52cioNDbH99d9RBWXzQF5VoXVSVRyScwY9HT6HBwS52raET7\\\\\\n\",\n       \"MBzP34J1Z9axmomIiIjIqjmw6juRc2MAi4ga3absfLylgljAPSPbol/LIG6FhqDRYGvfsfjshqdx\\\\\\n\",\n       \"LjBczfIsKcLEH/+Lsb8tgGtp7UZU83Z3QeswXyTlJXF7ERERERFRo2IAi4hs4p/sfLx5KkUFse64\\\\\\n\",\n       \"qA2Cfdy5JRpIamQsPpn+PPZ3HFA5r8eevzD902cQlp5g0TJ83F1w78g4ZOr2YkPSBm4rIiIiIrIa\\\\\\n\",\n       \"nV5jlYmcGwNYRGQz23IKkFlaBq1Gg5ggL26JBlTi4YUfJ9yJny+9FSWuFcHCsMxkTPvsOfTYtVba\\\\\\n\",\n       \"bVf73oqWcnE4q9uNLw99CZ1ex21FRERERFbDLoRkCQawiMim/jibowa8vW9kHFoEM4jVoDQa7O06\\\\\\n\",\n       \"FIumP4fUsOZqllt5KcauWoSJK96FR1FFgn1Tnq4uiAr0wrKjyxi8IiIiIiIim2AAi4hsakVaFpam\\\\\\n\",\n       \"ZsLVRYvZEzqhZQiDWA0tMyQKn934DLb3Gl05r8ORbZjxyVOISjxW5bUuWg2mDmiBhMwCFJfXLmcW\\\\\\n\",\n       \"EREREZGlLbDq232QSdydHwNYRGRzS1OzsCTlf0Gs8Z3ROtTH1kVyeuWu7vh99I1YOul+FHp4q3mB\\\\\\n\",\n       \"uZmY+tVLGLD5R0Cvg6tWg1uGxCIoKBULjz4LParvZkhEREREVFdylSkZLeo1sfqdHgNYRGQ3LbG+\\\\\\n\",\n       \"SzkHFxcN7h8VZ+viNBlH2/bGJzNeREJ0W/W7i16HEX99h2uXvIZRES4ICc7Ax3s/RlF5ka2LSkRE\\\\\\n\",\n       \"RERETRgDWERkN/48lwNJD+7r4QZ/T1dbF6fJyPEPwVdTZmHDwCugUxnJgNj4A+j27L1IWfMbg1dE\\\\\\n\",\n       \"RERE1KDkGtQaEzk3BrCIyG5klpZja3Y+XF00mHtlVwR4MYjVWPRaF/w9dDIWX/sYcn0C1DyX7HOI\\\\\\n\",\n       \"eOpDDP7+OLRlHHmQiIiIiBroWvR/OazqO5FzYwCLzjNnzhz07dsXfn5+CA8Px8SJE3H48GHWFDWK\\\\\\n\",\n       \"t06nYmNWHrzdXTF3clcEebux5htRfMuOSHn9Y2gHDK6c1+ePM7jqjZ3wzyjktiAiIiIiIptgAIvO\\\\\\n\",\n       \"s27dOtxzzz3YvHkzfv/9d5SWluKSSy5Bfn4+a4saxbvxafj7XC683F0xZ3JXhPgwiNWY+vWMw9I7\\\\\\n\",\n       \"YvHX5DYo11Y8yWoWn4cpc7aj7fa0Ri0LERERETm/+o5AaJjIubF/Dp3nt99+q/L7okWLVEus7du3\\\\\\n\",\n       \"Y9iwYawxahTvJ6QjwNUF3fy8MaFbFD7ddJo13wgGtg5R/54tyUT8yOZIjAvA2AUHEHS2CJ7F5Rj3\\\\\\n\",\n       \"yUHsO3wO666KQ5m7C7cJEREREdWbYSTB+i6DnBtbYNEFZWdnq3+Dg4PN/r24uBg5OTlVJiJr2J1b\\\\\\n\",\n       \"0WWte0wg3F14uGpog+NCMKmvLxYdnof80ooWl2kt/LD48d441Ces8nVdNqbg2ld2ICQxr8HLRERE\\\\\\n\",\n       \"REREJHhHSDXS6XSYOXMmBg8ejC5dulSbMysgIKByiomJYa2SVazKyMbJwmIE+7jjpUld4OHKQ1ZD\\\\\\n\",\n       \"aR/hh8t7+2DBvgU4lXOqyt9KvFyxcnpHrLqhPUrdK7ZBaGoBrn1tB7qsT+LjLiIiIiKqFyZxJ0vw\\\\\\n\",\n       \"bpBqJLmw9u3bh8WLF1f7mlmzZqlWWoYpISGBtUpWUQ5g9tFEHC8oRpifB16e1AWeDGI1iKhAT5zO\\\\\\n\",\n       \"OY343HjzL9BocHBAJL5+tDfSonzULLcyPUYtPopxHx+Ae0FZwxSMiIiIiJweA1hkCQawqFr33nsv\\\\\\n\",\n       \"fvrpJ6xduxbNmzev9nUeHh7w9/evMhFZM4j1zLFEHC0oQoivB16a2BVuLkzQaO3WV5d2bYbtqdsv\\\\\\n\",\n       \"+Npzkd745v96YdewqMp5bXdn4Po52xB5oqK7MRERERERkbUxgEXn0ev1Kni1fPlyrFmzBrGxsawl\\\\\\n\",\n       \"sikdgOeOJSG3XIcgP3fEBHlzi1hJh0g/3DI0FstPLsKejD0WvafcTYt117TFj7d1RqFXRSL3gHPF\\\\\\n\",\n       \"uHreLvRZGS/DyHD7EBEREZHFOAohWYIBLDLbbfCLL77AV199BT8/P6SkpKipsLAioTaRrYJYyUUl\\\\\\n\",\n       \"6qB1Xd8Y6dFGVjCxZzR+S1iCXem7av3eE91D8fWsPkhsU9HqUqsDBv94EhPf3QPvnBJuHyIiIiKq\\\\\\n\",\n       \"1SiE9Z3IuTGARed5//33VS6rESNGoFmzZpXTkiVLWFtkU6+cTMa50nK0i/TDE2M7QMsgVr1E+Hsg\\\\\\n\",\n       \"yNsdiXmJdV5GbrAnlt7fA1vGtoDhmqHlkSxc//I2tDiQWb8CEhERERER/Q8DWGS2C6G56aabbmJt\\\\\\n\",\n       \"kU0V6vR4+HA8MkvL0DbSD9MHtuIWqaNIf0/cO7ItNqb9Un3idgvpXTTYPCEWy+7vhjw/NzXPJ68U\\\\\\n\",\n       \"k/67F4O/Pw5tmbSfIyIiIiKq5npStaDS1HNi7To7BrCIyKEU6fT4Mumsau3TOrxiNDyqnUAvN9w/\\\\\\n\",\n       \"NgT/ZPyCVadXWa36zrQLwldP9MGJTkGV8/r8cQZXv7kL/hnsgkxERERE5nEUQrIEA1hE5HAO5Beh\\\\\\n\",\n       \"RKdXydynDWhp6+I4nOZBXsgrycMf8X9YfdmFfu748c6u+GtyG5T/b7TIyNO5mDJnO9puT7P65xER\\\\\\n\",\n       \"ERERUdPAABYROZzssnI8djgBxTo9RnYMx4zBDGJZysfDFeO6NcPpnNMNt4G0Guwc2RzfPNQTWaGe\\\\\\n\",\n       \"apZncTnGfXIQI788DNeS8ob7bCI7kJCQgDNnzlT+/s8//2DmzJn46KOPbFouIiIie6W30kTOjQEs\\\\\\n\",\n       \"InJIaaVl+L9D8ZBQyNC4MAR4VeReopoNbRuKYpfj+P749w2/jVr64evHeuNQn7DKeV03peDaV7Yj\\\\\\n\",\n       \"JDGvwT+fyFauv/56rF27Vv0so/hefPHFKoj15JNP4vnnn+eGISIiMsEuhGQJBrCIyGFllJUjv6wc\\\\\\n\",\n       \"Go0G/WL/zbtE5rloNWgT5oMzeWeg0zdOYvUSL1esnN4Rq25ojxK3ilNOaGohrvvPTnRZn8Txjskp\\\\\\n\",\n       \"7du3D/369VM/f/PNN+jSpQs2btyIL7/8EosWLbJ18YiIiIgcEgNYROTQ3j6dCr0GuL5/S4zq8G9L\\\\\\n\",\n       \"Hzo/eHXz4Fj4+KVgbUJFy5BGo9Hg4IBILH6sN9KaeatZrqU6jFp8FOM+PgD3gjJuLnIqpaWl8PDw\\\\\\n\",\n       \"UD//8ccfuPzyy9XPHTp0QHJyso1LR0REZIfYh5AswAAWETl8QvcXjyWqc94NA1thdKdwWxfJLs0Y\\\\\\n\",\n       \"1AoBQcmYv3c+CstsMyLguUhvfPNob+waFlU5r+3uDFw/ZxsiT2TbpExEDaFz58744IMP8Pfff+P3\\\\\\n\",\n       \"33/H2LFj1fykpCSEhISw0omIiEzpNfXuRqieatfSe++9h1atWsHT0xP9+/dXXf5rkpWVhXvuuQfN\\\\\\n\",\n       \"mjVTD6vatWuHX375hduzkTCARUQO71BBMZ4/lgjpFDe1X0uM6siWWKY6Rvnj28Pfoqi8CLZU7qbF\\\\\\n\",\n       \"umva4sfbOqPQy0XNCzhXjKvf3IU+K+MBHdNvkuN75ZVX8OGHH2LEiBGYMmUKunfvrub/8MMPlV0L\\\\\\n\",\n       \"iYiIyLaWLFmChx56CM888wx27NihztdjxoxBWpr5kbNLSkpUXstTp07hu+++w+HDhzF//nxER0c3\\\\\\n\",\n       \"etmbKldbF4CIyBqOFBTjndMpeKBlJC7t3AyrD6azYv9nYo8o5BWVIas4y27q5ET3UHwd0weXLDqI\\\\\\n\",\n       \"5idyoNUDg388ieZHzmHV9I4o8He3dRGJ6kwCVxkZGcjJyUFQ0L/5+W6//XZ4e1d0oyUiIqJ/6fX1\\\\\\n\",\n       \"T41a2/e/8cYbuO222zBjxgz1u7Se/vnnn7Fw4UI8/vjj571e5mdmZqq8lm5uFQNISestajxsgUVE\\\\\\n\",\n       \"TuNEQYnqShjs64FOzfxsXRy7MLlXNHrFlWP+oZdRoiuBPckN9sSyB3pgy9gWlcMetzychalztqHF\\\\\\n\",\n       \"gUwbl46o7goLC1FcXFwZvDp9+jTmzZunntSGh7ObMxERUUOOQigPkIwnOSeba021fft2jB49unKe\\\\\\n\",\n       \"VqtVv2/atMnsBpKW1AMHDlRdCCMiItQgLS+//DLKy2VcdGoMbIFFRE4jo7QMCxLScWtMGB4Z0x6v\\\\\\n\",\n       \"rzqC/Uk5aKp6tghEzzbleH/XBzhXfA72SO+iweYJsTjTLhBjFh2Cb04JvHNLMem/e7FtdHNsmhAL\\\\\\n\",\n       \"nSuftTRlXmeOw9uzIiF6vRSdf/HaUK644gpMnjwZd955p8qVITk15EmttMqSp7133XWX1T9Tr9er\\\\\\n\",\n       \"EVmpaVmZtAuObExUDziy3xtnQF8iqqWYmJgqv0sXwWeffbbKPDknS+BJAlHG5PdDhw6ZXe6JEyew\\\\\\n\",\n       \"Zs0aTJ06VeW9OnbsGO6++241eIt8BjU83hUQkVNZey4XHyakqRu5By9phxCfptsVLTrQCwm5CXYb\\\\\\n\",\n       \"vDJ2pl0QvprVGyc7B1fO6/PHGVz1xk74Z9gm6TxRXUkejaFDh6qfJUeGXAxLK6zPPvsMb7/9dp2X\\\\\\n\",\n       \"e9NNNyE/P/+8+ZKLY9iwYdxgRETkuAxJ2Os7AUhISEB2dnblNGvWLKsUUafTqZbUH330EXr37o1r\\\\\\n\",\n       \"r70WTz75pOp6SI2DASwicjp/nctDanEpXDQaRAd5oSka1CYEwzq64+8zf8NRFPq544c7uuCvyW1Q\\\\\\n\",\n       \"rq24AGkWn4cpc7aj7XbzyTSJ7FFBQQH8/Cq6Ma9atUq1xpJuCQMGDFCBrLravXs3unXrVqVrw6ef\\\\\\n\",\n       \"fqqSzoaGhlql7ERERLbMgVXfSfj7+1eZZLRAU3LedHFxQWpqapX58ntkZKTZMsrIgzLqoLzPoGPH\\\\\\n\",\n       \"jkhJSVFdEqnhMYBFRFWc/u0nLO4Rh79n3unQNbMpKw8SArnnojaI8LdC9yMHC15d3iMKC/cvxKmc\\\\\\n\",\n       \"U3AoWg12jmyObx7uiXMhnmqWZ3E5xn1yEKO+OgzXkobNMZB5KhOrnluFL2/4Eh9e/CH2LNvToJ9H\\\\\\n\",\n       \"zikuLg7ff/+9egK8cuVKXHLJJWq+jGokF9J1JUN7SzBMksQ/8cQTuOaaa3DvvffiP//5D5YvX27F\\\\\\n\",\n       \"NSAiInJu7u7uqhXV6tWrq7Swkt8lz5U5gwcPVt0G5XUGR44cUYEtWR41PAawiKhSXuIZ7HpjDsJ6\\\\\\n\",\n       \"9XX4Wvk29Rx+Tc+Gh6sLXriiMyIDKoIhTcGojhFYdnIhTufUvaWHraW19MPix3vjUJ+wynldNqbg\\\\\\n\",\n       \"2le2IyQxr8E+t6y4DH7N/ND/lv7wDuZocVQ3s2fPxiOPPKJGJpL8V4YLYWmN1bNnzzpXq+TReu21\\\\\\n\",\n       \"19TISHPnzlVBMlmmjKBERETk0PRWmmrhoYcewvz581Vr5oMHD6ocldJV3zAq4bRp06p0P5S/yyiE\\\\\\n\",\n       \"DzzwgApcyYiFksRdkrpT42ASdyInU5iRjvzEBJTm5cLF0wuewSHwa9Va5YRK+P1X7PvwHeQlnFZ/\\\\\\n\",\n       \"C+rQCUPnfQBXL2/oysux+YmH0OWuB5C+YxtKcx0/+fnnyWfh5aLBiGB/3DSwJeb+dhjOrl2ELwK8\\\\\\n\",\n       \"3JBaULU5tCMq8XLFyukdEd8hGBd9cxRuJTqEphbi2td24K+r4rBvcDOghqTVpYWlyIrPQnFeMaQ5\\\\\\n\",\n       \"noefB4JbBsPF3QUn/jqB7Z9vR3ZSNlw9XBEaF4oxz41BePtwNYktC7Y04tqSM7nqqqswZMgQJCcn\\\\\\n\",\n       \"q+59BqNGjcKkSZPqvFxJEivBq/fee09dUK9fv161yFqwYAHGjRtnpdITERE1PuNRBOuzjNqQHFbp\\\\\\n\",\n       \"6enqwZN0A+zRowd+++23ysTu8fHxKgWAcXJ4aVn94IMPqi790dHRKpj12GOP1avcZDkGsIicgF6n\\\\\\n\",\n       \"Q8rm9Ti65Esk/b1W2r9W+XtA2/ZoOe4K7H33DfSY+SiiR16CsoJ8pO/YqkauEvs/fAcewSFoM+ka\\\\\\n\",\n       \"FcByFpuy8jE82B8tgr3h6aZFUanzDhnUIdIPNw+JxfKTnyKtwElyRmk0ODggEimt/DF2wX6EJxfA\\\\\\n\",\n       \"rUyPUYuPosXBc1g9tR2Kvd2qvOVc/Dkc+PEADq86jNKC0ip/8wjwQNyIOBz46QAG3DYAsYNjUVJY\\\\\\n\",\n       \"gpS9KY28YuTsJH+GaQ6Nfv361WuZffr0Ufm1/vzzT5VPS47fr776qgpi3Xzzzfjvf/9bz1ITERE1\\\\\\n\",\n       \"LdIVXyZz5HxrSlpVb968uRFKRuYwgEXk4DL27MSmJx9BfsJpuLVuB78HZsG9Sw9ofHyhLypCeWI8\\\\\\n\",\n       \"Cn9ehj1vv6YyG5bk5cInKlq1yAps214tI33nNpz4/luMXfIjnM2+vEIczCtEJ18vzJ3cDU8s34uC\\\\\\n\",\n       \"Bs6jZAvNAjxxy4gQLD36CXan74azORfpjW8e7Y0hy46jx99Jal7b3RmISMjFrzd1RErrABTlFGHN\\\\\\n\",\n       \"q2uQsCUBrv6uCBwZCP9e/nD1qzjVlWWXIXtLNg7+dhD6cj2Sdieh47iO8Iv0Q0hsiI3XkJzNtm3b\\\\\\n\",\n       \"8M0336int6aJXZctW1bnAJaMYujj46N+l+O4PPWVHFs33nijVcpNRERkM7XsAkhND3NgETmwxHWr\\\\\\n\",\n       \"sea2G1DiH4igtz9B0PzF8L7sKrjGxsElPBKuLVrBY+AwBL44DyGfr4A2NFy1tPr5itE4tnQxSnKy\\\\\\n\",\n       \"UZqfh81PPoK+s1+GR1AwnPE8+NKJZOzLLUSgtxtemtgFrv8b4c7ZAljpBelOGbwyKHfTYt21bfHT\\\\\\n\",\n       \"bZ1R6FUx+ot/ZjGunrcLXZcdxff3L0fygWQ0v7052r3eDpFXRcK7tTfcw9zV5B3njWZTm6Hdm+3g\\\\\\n\",\n       \"HumO05tO44vrv8CepXtQnFts69UjJ7J48WIMGjRI5dOQ5OrS9W///v1Ys2YNAgIC6rxc6SpoCF4Z\\\\\\n\",\n       \"k7xa27dvr2epiYiIbN+FsL4TOTcGsIgcVMauHdjwf/fBre9gBL3+YUWrqxryAblGxSB0yW/wuvpG\\\\\\n\",\n       \"5MWfxt735uHnKy5W+bDyk87g7wdux5Le7dV06qflKjgmP+cmOG4icOMg1pyTySjU6RDg7YYQX+ca\\\\\\n\",\n       \"lVBGWZzUqzn2n92PpuB491B8PasPklpXjOam1QEj1yThTfdA9Hw4FoGDAqF1q/705urtirZz2iLq\\\\\\n\",\n       \"liiUlpRi6ydbsXjGYuQkO37eN7IPktD1zTffxI8//qhGJXrrrbdw6NAhNWpgixYt6rXszz//XI2C\\\\\\n\",\n       \"FBUVhdOnK47P8+bNUzk7iIiIiJwZA1hEDkhXVoYNj8+Ea/vOCHhqDjTulgVkJMDlf9dD8JlxF4oz\\\\\\n\",\n       \"M1R+oaT16zD2u18wZsmPlVP08FEI7ztA/ewd2QzOQIJYSUWl0Go0uHNYa7jUEOxztJZX941si61n\\\\\\n\",\n       \"f8WahDVoKnKDPfHdAz2wZWwL6P7X3nyAuzfeWuGC7id0Fn0XgocGI/bRWJSVl6G8tBynNpxqhJJT\\\\\\n\",\n       \"U3D8+HGMHz9e/SwBLBnRSPY5Sfr60Ucf1Xm577//vhoxSRK2Z2Vloby8ojt0YGCgCmIRERE5LBuM\\\\\\n\",\n       \"QkiOhwEsIgeU9NdaFKYkwfe+x6Bxd7foPaUH9yL/ywUoPbwfnqPHQxsQiOKscwjq0BmBce2qTG5+\\\\\\n\",\n       \"/nDz9lE/u7hZtnxH8OKJJKSVlCE2zAdPT+joFEGsyb2isTtrDX4//TuaGr2LButGROHWlERkuFYE\\\\\\n\",\n       \"rQILgCeX6DB1TTlcyvXQ6PTodFqHwft16l/5veB4AdJ+TEPhyUK4BrnCp52PSvbuH+2vAlkZxzLU\\\\\\n\",\n       \"pCvVIT8jX/2cnZht69UlBxIUFITc3Fz1s4xQtG/fPvWzBJ0kCXtdvfPOO2q47yeffBIuLhXdaA25\\\\\\n\",\n       \"sfbu3WuFkhMREdmKxkoTOTMmcSdyQEeWfA73zt3gFleRhN0SGm8flOzZgfylX0IvrQG8vaHRahHa\\\\\\n\",\n       \"rQeaimKdHo8eTsBr7WPQKtQH1/Rtjq//SYCj8nF3QbifJzYnnEBTdeT3I9iSl4+Hb9Dggb816HW8\\\\\\n\",\n       \"4tHbFVv06Hu4HF6lQFD+v6/P8APm93bB8sMFOLvqLHSFOrgGVJwKdWU6FJwtwNK7lla+fs+3e9TU\\\\\\n\",\n       \"rFszXP765Y2/guSQhg0bht9//x1du3bF1VdfrYbYlvxXMm/UqFF1Xu7JkydVvitTHh4eqpUXERER\\\\\\n\",\n       \"kTNjAIvIweSdiUfalo3wn/Vird7n2rI1gl55r/L38syzOHvdWJz6eQXaTZlW5bUDXngVzqpEr8fK\\\\\\n\",\n       \"jGzcEBWCuDBfOCpfD1fcc1Ec4ou241DmITRVB34+AL/efihs5oZXrtZj3FY9pq7VQRpkRWWd35I8\\\\\\n\",\n       \"OBd4/E8XuE1ugX/a/9sI+cRLJ3DgpwOY8MoE3PH7HY2+HuRc3n33XRQVFamfpbWUm5sbNm7ciCuv\\\\\\n\",\n       \"vBJPPfVUnZcbGxuLXbt2oWXLllXmS/6rjh071rvcRERENmONLoDsQuj0GMAicjA5p06qf9179KnX\\\\\\n\",\n       \"clyCQ1RQK+fkcTQ1G7LycGVkENqE++KGAS3xxWbHSlTv4arFA+N8kZy3E0uOLIFOf+GcT85Ir9cj\\\\\\n\",\n       \"OyEbkcMjK37XaPBzPw0ORQMvfq6Di/78huQSspLauul3Hba21UD/vxEpfTr4IGtzlg3WgpxRcPC/\\\\\\n\",\n       \"I7pqtVo8/vjjVlmu5L+65557VHBM9v9//vkHX3/9NebMmYOPP/7YKp9BRERkEwxgkQUYwCJyMKV5\\\\\\n\",\n       \"FXlVNL5+9V6WxscXpf/L09KUZJeV47WTKXi6TRR6twh0uABWZIAnfNx8sPjwYuib8KOmsqIy6HV6\\\\\\n\",\n       \"uHj/mwtIeJRBBa+qI0Gs0FygY4IeB1pWBLBkGcV5xQ1dZHJiOTmWj2Lp718xgmZt3XrrrfDy8lKt\\\\\\n\",\n       \"uCSX1vXXX69GI5RRDq+77ro6LZOIiIjIUTCAReRgXAwjDpYUA17e9VqWvqQELp6WjWDobJKLS1Gu\\\\\\n\",\n       \"1yPQ2x2jOoRh9aF0OAJXrQZjOkciOe9Ukw5eCRf3isCVvrRqPQTlWfZ+49dJwnZXD54Sqe5kJEAZ\\\\\\n\",\n       \"abAm0mpKXmMYPbAupk6dqiYJYOXl5SE8PLzOyyIiIrIbek3FVN9lkFPj1TqRg/EIquiaUp6UCG1A\\\\\\n\",\n       \"UJ2Xoy8vhy4tBR4DB6EpklZYLx1PwlNx0bhhQCu4umixcn8q7Jmbiwa3DGkNH/9ELNz3BZo6rYsW\\\\\\n\",\n       \"7r7uKEkrqTL/nIWpzYxfV5JeAs8ATyuXkJqStWvXNurneXt7q4mIiMgZ6PUVU32XQc6NASwiBxPS\\\\\\n\",\n       \"tTs8w8JR+Ov3cOvYpc7LKdmyHuWZGYi5eByaqsMFxXjuWCKejYvGtf1aYG9iNpKyKhIv26PLukep\\\\\\n\",\n       \"4NWCfQtQXM7ubqL10NY4vuE4wieGQ+NS8dTtYIxGjTYYkmt+MGXJgZXpV/E6UV5Yjpx/ctDzmvNH\\\\\\n\",\n       \"dyOy1PDhwxuksmTUwQu17DLYsWNHg5SBiIiIyB78OwQTETkErasr4q6agqI/fobuf/mw6qLwh28Q\\\\\\n\",\n       \"1LkbgjvVPQjmDI4VFCOpqEQFOlrb+aiEzQK8sCdjD4NXRjpd1gmlmaXI3fXvd0ESsy+62PzpTYJX\\\\\\n\",\n       \"sq3l74YE7lkbs1Q3xI7jOIobWccnn3yCb7/99rz5Mu/TTz+t1bImTpyIK664Qk1jxozB8ePH4eHh\\\\\\n\",\n       \"gREjRqjJ09NTzZO/EREROXwS9/pO5NQYwCJyQG0mXQOUlqFwxTd1en/pscMo/mcj2l4z1eplc0Q/\\\\\\n\",\n       \"plWMPjdjcCvEhthnl5wrezdHeHAO9mXss3VR7EpY2zCEdQhDxm8Z0Jf/e9Wyo40GJWbaGEvLq9cn\\\\\\n\",\n       \"a/FP+4rTn65Eh8w/MtFyUEv4hPo0ZtHJicmogKGhoefNl3xVL7/8cq2W9cwzz1RO6enpuP/++7Fp\\\\\\n\",\n       \"0ya88cYbatq4cSNmzpyJ1FT77gJNRERkUQ6s+k7k1BjAInJAXuERaDd1OvI++S+KN66r1XvL09OQ\\\\\\n\",\n       \"/dRMBLTrgJZjJzRYGR3J31l52JSVB61Gg/6tQ2Bvru7THJ2j/PHhng+RVVwRbKN/9ZvRD4XHC5H8\\\\\\n\",\n       \"ZbJKki06xevVaIRiVyvgrcu1ePZ6Le6526UyeCUBrzMfnkFZZhl6T+3NKiWriY+PR2xs7HnzW7Zs\\\\\\n\",\n       \"qf5WV9KCa9q0aefNv+GGG7B06dI6L5eIiIjIETCAReSguj/wKKJHjEb2s4+gcOUPlTfuNSk7eQzn\\\\\\n\",\n       \"7r8J7hoNhr/zMVw8muYIhOYcyitUXcsuah+GUF932At/T1cMjgvF/EMv4lzxOVsXxy4179UcQx8Y\\\\\\n\",\n       \"isw1mUhckKhGFOxz9N/vw+qeWmzorMWBlv92G5S8V/FvxyN3Zy5GPzEaoXHnt5YhqitpabVnz57z\\\\\\n\",\n       \"5u/evRshIXUPknt5eWHDhg3nzZd50pWQiIjIUWn01pnIuTGJO5GD0rq4YPArb2HrS7Nx8pVnULhs\\\\\\n\",\n       \"MbyuuBqeI8dC4+lV+ToJbJXs2ILCFd+ieNM6BLSOw/B3P4Z3RKRNy29v/sjMRQsvD4wO8cdLE7vg\\\\\\n\",\n       \"6RX7kJZbdXQ7W+geE4iC4nK2vLoAyV/l6umKta+tRf7efPRs3gqAC0pdgN2x/zYnL04pRubaTGT9\\\\\\n\",\n       \"nQWNXoNLX7wUMX1jGnozUhMzZcoU1dXPz88Pw4YNU/PWrVuHBx54ANddd12dlytdBe+66y6VrL1f\\\\\\n\",\n       \"v35q3pYtW7Bw4UI8/fTTVis/ERFRo7NGDisGsJweA1hEDkzr5oZ+z7yMmFFjcPSbL5D8+gvI++BN\\\\\\n\",\n       \"uMa1h8bHF/qiIuiSElCWnAi/1nHo8ujTiL18Mly97DPPk60tTMxQ572LQ/zxxLiOmLlkt03LM7Rt\\\\\\n\",\n       \"KCb08sbCfW/atByOou3ItghtE4r8b/Yh4rSkawf+KS3E4f9mqp/LsstQeKoQHv4e6DKhCzpf3hl+\\\\\\n\",\n       \"EX42LjU5oxdeeAGnTp3CqFGj4Opacaml0+lU97/a5sAy9vjjj6N169Z466238MUXX6h5HTt2VEnj\\\\\\n\",\n       \"r7nmGquVn4iIiMgeMYBF5OBkePWooSPUlJeYgBPff4e8hNMozc2FS1AAPFq1gmdIKFpdPhl+zVvY\\\\\\n\",\n       \"urh275uUTIwK8Yevpxs8XbUoKqsIhDS2Xi0CVfBqwb4FSMhNsEkZHFFQyyCM7RwDnD6tft8T4oEg\\\\\\n\",\n       \"fRA0Wg08wj0QfU00Wg9vDVd3nv6o4bi7u2PJkiV48cUXsWvXLtX1r2vXrioHVn1JoIrBKiIicjrW\\\\\\n\",\n       \"SMLOJO5Oj1fwRE7ENzoG3e558Lz5mQf2wdWD+VEskV+uw5H8QnTw8cKcyV0xa/leFJU2fhArNswX\\\\\\n\",\n       \"21K3MXhVl7rbk1H5s/tDg3BpEHO9kW20bdtWTdZWUlKCtLQ01arLWIsWfEhBREQOil0IyQJM4k7U\\\\\\n\",\n       \"BAR36gKvsHBbF8NhvHg8GYfyixDk466CWJ5ujXuo7BDph/6xwTiWdaxRP9cZ+J4rRsSZfPVzanMf\\\\\\n\",\n       \"5DF4RU7k6NGjGDp0qGrRJa25ZKRDmVq1amV21EMiIiIiZ8IWWERNRNHZDGjdPeDux5w/FyJtGl44\\\\\\n\",\n       \"noT/tI9BpLe7CiatO/Jvq56G1CnKHzcNaoWlJxbiUOahRvlMZxK772zlzye6c2RBci433XSTyqn1\\\\\\n\",\n       \"008/oVmzZqoLORERkVNgCyyyAANYRE3E2X274RUajuDOXW1dFIc5hx4rKEIzDzcMbxeGv49mQNfA\\\\\\n\",\n       \"I5vIreiMwa2w7MQi7MnY07Af5qRa7/430HiiKwNY5Fwkn9b27dvRoUMHWxeFiIjIuhjAIguwCyFR\\\\\\n\",\n       \"E+EVHoGC1BRbF8OhfJKYgXOl5Wgd5otr+8Y0+OdFBnjCzUWLo1lHG/yznJF7YRlijmSpn3MC3JER\\\\\\n\",\n       \"7WPrIlETVFZWhueffx5nzpyx+rI7deqEjIzGaQ1KREREZG8YwCJqIrzDI1FeXISSnGxbF8VhFOn0\\\\\\n\",\n       \"WJF2Tv3cJqxhgyHNAjxx35gQrD7zA/JLK3I4Ue20OHQOLv9rJndSug+yexXZgHTxe+2111Qgy9pe\\\\\\n\",\n       \"eeUVPProo/jzzz9x9uxZ5OTkVJmIiIgcfhTC+k7k1NiFkKiJ8AgKhtbNTbXCcvcPsHVxHMbW7HxM\\\\\\n\",\n       \"aRaCNuF+qhXWkq0JVv+M6EAv3HtJCNYnrseahDVWX35T0XqvUf6rriE2LQs1bSNHjsS6detUcnVr\\\\\\n\",\n       \"Gj16tPp31KhRVebr9XqVD6u8vNyqn0dERNRYNPqKqb7LIOfGAJad2r17N3788UcEBwfjmmuuQWjo\\\\\\n\",\n       \"v7lc5CnrzJkzsXDhQpuWkRyLRquFX4tWcPHwsHVRHMq5snK8ejIZT7WJwqA2IVYPYDUP8sLdI+Kw\\\\\\n\",\n       \"7sz3WHdmnVWX3ZRoyvVo9b8E7sUeLjjTNtDWRaIm7NJLL8Xjjz+OvXv3onfv3vDxqdqC8/LLL6/T\\\\\\n\",\n       \"cteuXWulEhIRERE5Hgaw7NCqVatw2WWXoW3btsjNzcXs2bPx7bff4qKLLlJ/LywsxKeffsoAFtVa\\\\\\n\",\n       \"YDsm/q2LxOJSlOv18Pd0w5C4EKw/9m9Ln/q6uFMEdp1bw+BVPUWdyIZXQUWXrdOdgqFzZQ95qrs5\\\\\\n\",\n       \"c+Zg2bJlOHToELy8vDBo0CDVfa99+/YWvf/uu+9W/77xxhvn/a0+LaWGDx8Oe1lHIiIiq2ISd7IA\\\\\\n\",\n       \"r/Dt0LPPPotHHnkE+/btw6lTp1S+C3la+9tvv9m6aOQESnJzUZxdkeiaLJOjWmGlqG71twxpjeHt\\\\\\n\",\n       \"rDO6nb+nK2KCvZGYl8hNYc3ug93YfZDqR7r/3XPPPdi8eTN+//13lJaW4pJLLkF+vmX56XQ6XbVT\\\\\\n\",\n       \"bYNXe/bsUe8z/FzT1JjrSERERNTY2ALLDu3fvx+ff/555ZNaCWA1b94cV111FRYvXoy+ffvauojk\\\\\\n\",\n       \"wM4d2qf+jeg70NZFcSj78grx8vEkPNEmCtMHxeJoWh6SsorqvLwALzfcOzIOpwq3YGfaTquWtcnR\\\\\\n\",\n       \"6xG7u2JkNp0GONUp2NYlIgdn+sBo0aJFCA8Px/bt2zFs2LBaLauoqAienp51LkuPHj2QkpKiPl9+\\\\\\n\",\n       \"lusCyXlV35Zd1lxHIiIiosbAAJYd8vDwQFZW1RYy119/PbRaLa699lq8/vrrNisbOT6v8EhkHToA\\\\\\n\",\n       \"XWmpSupOljuQX4QzRSWI8XRHbKhPnQNYbi4a3DcyDqeLtmDp0aXQqzbTVFdBqQUIOluxLc7EBaDY\\\\\\n\",\n       \"h/s1WVd2dsXorZKX0hISSHr55ZfxwQcfIDU1FUeOHEHr1q3x9NNPq8Tut9xyi8WfffLkSYSFhVX+\\\\\\n\",\n       \"bC/rSEREZE0yfmC9k7hbqzBkt9iF0A7JE1ZziVqvu+46fPzxx7j//vttUi5yDt7hEdDrdCjMSLd1\\\\\\n\",\n       \"URzSqoxsdXK8eXAsWgR71bn1VbCPO4NXVtJmz7/dB092s073ztpK2p2E3d/urtV75PXyPmpcMhCK\\\\\\n\",\n       \"8VRcXFzj66X7ngycMnjwYHTp0sWiz3jppZdUi6ZXX30V7u7ulfPl/XIer42WLVuq1lWGn2ua6sqS\\\\\\n\",\n       \"dZR6Mq07IiIiosbEAJYduuuuu5CYaD4nzpQpU9RFMZv3U125ennD3d8fhWkprMQ6WJOZi41ZedBq\\\\\\n\",\n       \"NRjarqJVRG24u2hxbd8YHE/PY8srK4k1yn91skvj57+SINSvT/2KzR9txs7FlnUHldfJ6+V9DGI1\\\\\\n\",\n       \"rpiYGAQEBFROksy8JpInSnJSShd+S3322Wf46KOPMHXqVLi4uFTO7969u0qabm8sWUepJ+N6k3ok\\\\\\n\",\n       \"IiKyGkk2a42JnBq7ENqhSZMmqUlaYRlGHjTtTiijExLVlU90DMqL6p6/qak7nFeEQYG+GNImBD/v\\\\\\n\",\n       \"SUZWQalF73N31eKOYa2h9T6FRfsWNXg5mwLvnBI0O1XREiSjmTeyw+rWKq4+0o+ko6yoYgTEfxb8\\\\\\n\",\n       \"o/7teV3PGoNXhtfJ++T9Ud2jGqm0lJCQAH9//yrd9qtz77334qeffsJff/2lclFaSh5CxcXFmW3p\\\\\\n\",\n       \"JMnS7Yml6zhr1iw89NBDlb9LCywGsYiIyGo4CiFZgC2w7NjYsWPxf//3f1UudjMyMnDZZZfh8ccf\\\\\\n\",\n       \"t2nZyLH5t2qNoA6dbF0Mh/V7Zg7Wn8uDl7sr5kzqimDvC+dc8nDV4s7hbaDxOolP9n2CEl1Jo5TV\\\\\\n\",\n       \"2bXaf7YyX8KJrrbpPtj96u7od0u/yt8lOFVdSyzj4JWQ98n7qfFI8Mp4MhfAkiTpEthZvnw51qxZ\\\\\\n\",\n       \"g9jY2Fp9RqdOnfD333+fN/+7775Dz57VBzcbU23XUerJtO6IiIiIGhNbYNkxaYE1bdo0Nbz1V199\\\\\\n\",\n       \"pZK3SuLXdu3aYdeuXbYuHjm48uJilBXkwyOICXvr4r8JaaoL4NAgPzw9oRMe/Kbm/EfX928Bnccx\\\\\\n\",\n       \"fLr/U5TpKlrrUP213v1v98ET3Rq/+6CBocWVIThlriWWueBVTS21yLZd6uS8u2LFCvj5+alRAIV0\\\\\\n\",\n       \"nfPyunArv9mzZ2P69OmqJZa0ulq2bBkOHz6suhZKaydnWEciIiKrYgsssgBbYNmxQYMGqUCVJFTt\\\\\\n\",\n       \"1auX6lb44IMPYt26dfVK1kokso4eRsYey/L1kHmLEjOgA+Dn5aZyW1VH8i9HB3phY9JGBq+syLWk\\\\\\n\",\n       \"HC0On1M/5/m6IbWFn013VQlGVdcSi8Erx/L++++rUflGjBiBZs2aVU5Lliyx6P1XXHEFfvzxR/zx\\\\\\n\",\n       \"xx/w8fFRAa2DBw+qeRdffHG9yiajFEsieOnSl5mZqebt2LGj2tyZDbWORERE1iQt6q0xkXNjCyw7\\\\\\n\",\n       \"J0Nvb9u2TeWlSEpKUk9wCwoK1AVxQ3rvvffw2muvqSeyknT2nXfeQb9+/96YkePzjohEXsJplOTm\\\\\\n\",\n       \"wt3Ptjf+jqpQp8fxgiK09fbEC1d0xhPL96Fcrz8veDWlXwv1UOl0zmmbldUZxRw+B7dSCSECp6T1\\\\\\n\",\n       \"ldb2iTvNtcTatWQXSvL+7TLKllf2T7rX1dfQoUNVC2pr2rNnD0aPHq1aSZ06dQq33XYbgoODVQuv\\\\\\n\",\n       \"+Ph41cKrMdeRiIiIqDGxBZYdmzt3LgYOHKie1sroQP/88w927tyJbt26YdOmTQ32ufL0VRK1PvPM\\\\\\n\",\n       \"M+qprgSwxowZg7S0tAb7TGp8niGh0Li4oDA1mdVfD88fS0KBTocwf09EBnhW+ZvEU27o3xKtQrwx\\\\\\n\",\n       \"//DzKCgrYF1bUWuj0QdPdLVd98ELtcRi8IqsRc7NN910E44ePQpPz3+PN+PGjVNJ2ImIiBy+C2F9\\\\\\n\",\n       \"J3JqDGDZsbfeegvff/+9av0kF6rSlVCCWJMnT1ZN/hvKG2+8oZ7qzpgxQyWi/eCDD+Dt7Y2FCxc2\\\\\\n\",\n       \"2GdS49NotfAKC0dBWiqrvx7KZRS64jIVrLquXwwMbYBcNBrcOLAVYiKzVPAqt4Qjh1qVTo/Y/wWw\\\\\\n\",\n       \"St20iG8fBHsiQSx3X/cq8+R35rxyXkFBQao1lCVTXW3duhV33HHHefOjo6Mrc1gRERE5JAawyALs\\\\\\n\",\n       \"QmjH9u7di9DQqqNqubm5qa59EyZMaJDPLCkpwfbt21VuDQOtVqu6LFTX6qu4uFhNxkNrk2PwjoxC\\\\\\n\",\n       \"fnKi6kqikb5uVCseWg36BvhgfVYuojyD0SU6AG9c0x2FpTq4uWiQWXYKH+2dj/zSfNaslUWezoVP\\\\\\n\",\n       \"bsUIrfEdg1Du7mJXdSw5r4xbXgn5XeYziOWc5s2bV/nz2bNn8eKLL6rWy9KSWsg5dOXKlXj66afr\\\\\\n\",\n       \"/BkyEqC5c6ykGwgLC6vzcomIiIgcAQNYdsw0eGVs+PDhDfKZGRkZKC8vR0RERJX58vuhQ4fMvmfO\\\\\\n\",\n       \"nDl47rnnGqQ81LB8mkWpiWrH10WLcHc3TI4IQlRBDgoK8hB/IguBgYGqFUbA/wbwKinwhVbDhq4N\\\\\\n\",\n       \"ofXeDLvsPmguYbu0vDIEs8yNTkjOQUYdNLjyyivx/PPP4957762cd//99+Pdd99Vid1lQJa6uPzy\\\\\\n\",\n       \"y9Vyv/nmG/W7PHiQ3FePPfaY+kwiIiJHZY0k7Ezi7vx4Z0X1Jq21ZCQjw5SQkMBadSC68nIUZ1WM\\\\\\n\",\n       \"5EY1HyxlivJww6vRgXg41Bv+aUlYu3atalmxefNm/PbbbyqZskySjybcIxwze82Em9aNVWtlsbsr\\\\\\n\",\n       \"AlhynXOqs/0EsMyNNjhj+YxqRyck5yQtrcaOHXvefJknAay6ev3115GXl4fw8HAUFhaqh1lxcXHw\\\\\\n\",\n       \"8/PDSy+9VM9SExER2ZBeY52JnBpbYNF5rb5cXFyQmlo1L5L8HhkZWW2XBpnIMeXFn0LWkUNoPmoM\\\\\\n\",\n       \"tK48JJhzRXggxoQGVP5+Ys9uHDx40OxrDd1pZUh7SbTcqm0rBHkEIa2QgyBYS0B6IUJTC9XPSa38\\\\\\n\",\n       \"UOBfNdeUPQWvDC2tzI1OaDyfnEtISAhWrFiBhx9+uMp8mSd/qysZfVBGNtywYQN2796tglm9evVS\\\\\\n\",\n       \"3fyJiIiInB3vVqkKd3d39O7dG6tXr8bEiRPVPJ1Op3437gpBzsMrPALnDh1A0dl0eEc0s3Vx7Ia7\\\\\\n\",\n       \"RoMbokLQ3NMdnlotNqz8DUVFRer7ILniLCEtJEp0JZjeeTqOZx3H98e/h06va/CyN6XRB092r76r\\\\\\n\",\n       \"tb0ErwwYxGo6pFv9rbfeij///BP9+/dX87Zs2aJaac6fP7/Oy/3ss89w7bXXYvDgwWoykGPS4sWL\\\\\\n\",\n       \"MW3aNKuUn4iIqNFZYxRBjkLo9BjAIrPDdEsujz59+qBfv34qMW1+fr4alZCcj5uPr5oK01KbfACr\\\\\\n\",\n       \"nbenSsouYjzdEZSVgSO7juDcuXNVBiqwlIwK1jGuDfJ3HEeP2DYI73o7kvOTsSZ+DXJLOSphXcXa\\\\\\n\",\n       \"Wf6r3d/uvmDwqqYgltZFi+5Xd2+k0lJjuOmmm9CxY0e8/fbbqkuxkN/Xr19fGdCqCzkPSzdE6UJo\\\\\\n\",\n       \"LDc3V/2NASwiInJUzIFFlmAAi84jT3fT09Mxe/ZsdQPeo0cP9dTYNLE7OVcrrLzEBAQ30dEIu/p6\\\\\\n\",\n       \"IdLDDePCApF2+CBKS0tRXF6ODcePq0EN6iorKwtbd+1Gn36DsG7h+4ju2BmdIqMQ1+12rE9aj1PZ\\\\\\n\",\n       \"p5BaULW7LtXMI78U0cezK+o3zAvnIrxtXmVh7cLg6umKsqKyGoNX5oJY8j55PzkfCVR9+eWXVl1m\\\\\\n\",\n       \"dSPGnjlzRnUvJCIiInJmDGCRWdJdkF0Gmw7viEiVyF1XUgKXJpDPzFOrUaMIip7+3hjr5YLMzEzs\\\\\\n\",\n       \"X78HycnJVv2spKQkaLVaFQg7vm2LDBuG9gOGYHR4HwS2vwyL4r9GVnGW6lqYkp8CPds+16jVgUxo\\\\\\n\",\n       \"dUatr+wg4BrVPQqXvngp0o+kW9ySSoJY0vJKglfyfnI+8p3//vvvK/Plde7cWY0iKHkma6tnz54q\\\\\\n\",\n       \"cCXTqFGj4GqUr1A+5+TJk2aTxhMRETkMdiEkCzCARUTwCApG5IB/86k4syBXF8xsFYmIsuLKfFbr\\\\\\n\",\n       \"1q1XXXAahV6Pw5v+Vj/GdOqKGwdcBY1GCxc3N2zN241vDn/DIFYNWu/5N//V8W627z5oIEGo2gai\\\\\\n\",\n       \"2G3QeR07dgzjx49XLaPat2+v5s2ZMwcxMTH4+eef0aZNm1otz5CTcteuXRgzZgx8fX2r5K5s1aoV\\\\\\n\",\n       \"rrzySiuvBRERUSPSV3QjrO8yyLkxgEVElV1TSnNz4O4f4LT5rW6PCYO3ixbrz+Xin1U/27pISDiw\\\\\\n\",\n       \"V03Cw9sH7aZNxJyhc3Am9wwW7luIgrICWxfRrriU6tDyQEUAq9DLFcmxzrmvkuO7//770bp1a2za\\\\\\n\",\n       \"tAnBwcFq3tmzZ3HDDTeov0kQqzaeeeYZ9a8EqqSbv6enZ4OUm4iIiMieMYBFRIokcU/fsRVRwy5S\\\\\\n\",\n       \"Sd0dnXTSuToyGC283NXvzTzccWzrFpXXTUYTtDfFBfnY99FiePr4oMPg4ZjZeyZyinNUa6wNiRuw\\\\\\n\",\n       \"K30XmrroY1nwKK7oP3iySzD0LrbvPkhkzrp167B58+bK4JUICQnB3Llzq4weWFsywAoREZFTYhdC\\\\\\n\",\n       \"sgADWESkeIaEQqPVqkCWW6zjBrD8XLS4JDRAjSLo46JF+rYtqnVZYkGBSqpuz/S6chTm5mDXyp8R\\\\\\n\",\n       \"dqgVtC4ucPP0wg1Drka7oHZqBMP1ieubbBfD1nv/7T54sluoTctCVBMPDw+z3ZLz8vJUl7+6knxX\\\\\\n\",\n       \"b775Jr755hvEx8erLtDGJJcfERGRQ2IAiyzAABYRKVpXV3iGhqEgLRX+sbXLz2Jrbb09EOruBmmP\\\\\\n\",\n       \"MzrEH57pKchMzMSB48fPu8FzBHq9DmmnTlT+npuRjojWcejedhiifaNxLOuYmn886zjOFZ9Dk6DX\\\\\\n\",\n       \"I/Z/+a/KXDQ43THI1iUiqtaECRNw++23Y8GCBejXr5+at2XLFtx5550qkXtdPffcc/j444/x8MMP\\\\\\n\",\n       \"46mnnsKTTz6JU6dOqWTxMnIwERERkTNjAIuIKnmFRyBz/16UlxTDxd1+RyN01aByFMEOPp64NsCz\\\\\\n\",\n       \"suVB1rFk7Ni/X7W6chZZqclqOr1nJzoNG4k27v3h4uoGn/YT8NHpz5Ffmo8yfRkyCjPgrEIT8+Gf\\\\\\n\",\n       \"Vax+PtM+EKWePH2R/Xr77bdVd7+BAwfCza3iWFVWVqaCV2+99Vadl/vll19i/vz5KkH8s88+iylT\\\\\\n\",\n       \"pqiE8N26dVNdFiW/FhERkSPSWCGJe72TwJPd4x0AEVXyCouAq/dxlBUW2m0Ay1urxf0tI9BaU65G\\\\\\n\",\n       \"EZSbwg0bNqgEyc6uKD8PO379ofL3uD4DcEfPm6DRSAs6N6zO+Au/nPwFzqjNnn+Dcye6svsg2bfA\\\\\\n\",\n       \"wECsWLFCjUZ48OBBNa9jx46Ii4ur13Ilh1/Xrl3VzzISYXZ2dmWLr6efftoKJSciIiKyXwxgEdG/\\\\\\n\",\n       \"BwRPT0QPG2mXNdLcww13t4iAv6sL9uYV4Idff3SqVlZ1cWzbZjUJ74BAdL9hMoZED1FdCz878BlK\\\\\\n\",\n       \"daVwFrFGAayTXUJsWhYiS0nAqr5BK2PNmzdHcnIyWrRooVperVq1Cr169cLWrVtV3i0iIiIiZ8YA\\\\\\n\",\n       \"FhGdp7QgH66eXiqpuy1NCAtUXQRFpIcbkvbuxq4zZ5Cfn2/Tctmjguws7Pzoc3j6+KLLiIvxYO8H\\\\\\n\",\n       \"kVuSq4J8axLW4Mi5I3BUvueKEXGmYpunNvdBXhBv1Mm+XXnllSr31WOPPVZl/quvvqqCTd9++22d\\\\\\n\",\n       \"ljtp0iSsXr0a/fv3x3333YcbbrhB5dmShO4PPviglUpPRERkA0ziThZgAIuIqijNy0XS338ivE9/\\\\\\n\",\n       \"eIWFN3rteGg1uCQkAM093RHl6YbErRWjCKYXFSEjw3lzPFlDeWkp8rPOYeuPyxDeKhYajRZe/v64\\\\\\n\",\n       \"ceiN2J62HeW6chSUFeDPhD9Rri+Ho4jd92/30BPd2X2Q7N9ff/2lclSZuvTSS/H666/Xeblz586t\\\\\\n\",\n       \"/Pnaa69Fy5YtsXHjRrRt2xaXXXZZnZdLRERka8yBRZZgAIuIqnDz9YOrtzcK01IbLYDVwtNdtbAS\\\\\\n\",\n       \"w4L8EJ6TiYzT8dh94gQKCwsdegtJ8E1ydQVGRCL99MlG+UxdeRlSjh+t/D0nPQ0xLVqpn0NjOqBl\\\\\\n\",\n       \"p5bYlb5L/Z6Yl4jUglTYs9a7mf+KHEteXh7c3d3Pmy8J3XNycuoVGBs0aBBcXSsu3wYMGKAmyQUo\\\\\\n\",\n       \"fxs2bFi9yk1ERERkzxjAIiKzoxEWJCcjuHNFsuCGEurmitbeHri+WQiKU5PVvLzE0/h71y4V9HEG\\\\\\n\",\n       \"EsDavn07el12JTZ+uRB55ypGS2xMGQmn1SRc3T3Q5aLRGO89BBqtBv7Nw7Hw1JdqBEMddDhbeBZ6\\\\\\n\",\n       \"1YbbPrgXliHmaJb6OSfAHRnRPrYuEtEFSaL1JUuWYPbs2VXmL168GJ06dapzDV500UUqB1Z4eNWH\\\\\\n\",\n       \"C5LMXf5WXu44LSuJiIjOYz+XoGSnGMAiovN4h0ci99RJFGdnwSMgsEFqaFJ4IMb7e6K0tBTb1/+l\\\\\\n\",\n       \"bsqcVUJCAtq1awfvwCCbBLCMlZUUY9fKnyt/b96xM2YMnaLynWm0LtiWuxtLDi+BTm8fAcQWh87B\\\\\\n\",\n       \"pbziauakdB+UIReJ7JyMCDh58mQcP34cI0dWDIwhuau+/vrrOue/MgTENWa+AzIKq48Pg7tEROTA\\\\\\n\",\n       \"mAOLLMAAFhGdxyMoWHUjLCsssFoAK8TNFXe3CEewmyvk9qugXIdVK39hQnYbO3Nwv5qEu5c32k67\\\\\\n\",\n       \"As8Pel4FsArLCtVohtLN0B5GHzzRlaMPkmOQfFTff/89Xn75ZXz33Xfw8vJCt27d8Mcff2D48OG1\\\\\\n\",\n       \"Xp4Ew4QEr2666aYqIw5Kq6s9e/aoroVEREREzowBLCI6j7TGiR4+yio109HHE5eEBiDKww3Zx45g\\\\\\n\",\n       \"8/Hjan5RUZHK20L2o6SwAAc//gZe/gHq94jYNrhtyG1Iyk9Sv5/OPo1Vp1c1WhdDTbkesfsqWqwV\\\\\\n\",\n       \"e2hxpm3DtAYkagjjx49XkzUEBARUtsDy8/NTATEDybUlebBuu+02q3wWERGRLTCJO1mCASwiqlZ5\\\\\\n\",\n       \"aQk00EDrVpFg3RIuAEaH+sPHxQWuGg0GBfri9O6dOJKTg5SUFNa2ndOVlyP/f90cT5zLRHZqCjx8\\\\\\n\",\n       \"fVXLj2F9ByKyUyTSC9NVEGtrylaVO6uhRJ3IhldhRZDzdKcQ6Fy1DfZZRA2hpKQEaWlp5+X0a9Gi\\\\\\n\",\n       \"Ra2W88knn6h/W7VqhUceeYTdBYmIyPmwCyFZgAEsIqo2kJG45ncEdegMv5YVI9jVxNdFi/Y+nugf\\\\\\n\",\n       \"4Iu44jxkpFcEq/bsSUFqqn2PckfVO5uY8O/PCfFo1aM3Al0C4OHtg97deuPXU7+iTFemuhseOXfE\\\\\\n\",\n       \"qlXZeu/Zyp9PdGP3QXIcR48exc0334yNGzeazWFV12Trjz76qFqGwenTp7F8+XKVGP6SSy6pd7mJ\\\\\\n\",\n       \"iIiI7BkDWERkltbFBR7BwShIS642gBXg6gI3jQZeLlrc2jwM/rlZyD2bgr927FDJ2cm5FOXn4dCG\\\\\\n\",\n       \"dZW/x/bsg/FthqqffQODsS5wCzYnb1a/55TkoFRXj31Ar0fs7orWXToNcKpTcH2LT9RoJE+Vq6sr\\\\\\n\",\n       \"fvrpJzRr1sxs4vW6uOKKK1Q+rDvvvBNZWVno16+f6kKYkZGBN954A3fddZdVPoeIiKipdCF87733\\\\\\n\",\n       \"8Nprr6meIt27d8c777yjzq8XIiMLT5kyRZ2bJe8lNQ4GsIioWl7hkcg6dAC60tLzuhGODPbD9cE+\\\\\\n\",\n       \"la0BTp44ij9272ZtNiEnd25Tk/AOCMTAy6/EyK4VAa3ignz85/h7yCyq26iLQakFCDpbpH4+ExeA\\\\\\n\",\n       \"Yh/Lu7ES2dquXbuwfft2dOjQwarL3bFjB9588031sySHj4yMxM6dO7F06VLMnj2bASwiInJcNuhC\\\\\\n\",\n       \"uGTJEjz00EP44IMP0L9/f8ybNw9jxozB4cOHER4eXu37Tp06pbr0Dx1acd1LjYcBLCKqlnd4BM4d\\\\\\n\",\n       \"2IfCjHT4NItS+a2mRoWgm5+3+vvaP1apVgBEBdlZWPf5gsqK6DhkBB7u87BqhSX5stYlrMOfZ/60\\\\\\n\",\n       \"uKLa7Pm3++DJbqGsYHIo0qVPWkVZW0FBgUriLlatWqVaY2m1WpXEXboTEhERkeWk9bIMgjJjxgz1\\\\\\n\",\n       \"uwSyfv75ZyxcuBCPP/642fdIGoCpU6fiueeew99//817oUbGABYRVX+A8PKGe0AAPIoLcUvzUES6\\\\\\n\",\n       \"V7SC2fnHKnUjJQmKicw5uP5PxO/brbqiunt5Y+iksegY0hGl5aUoKi/CiuMrkFuSW23lxe759+b/\\\\\\n\",\n       \"ZBfmvyLH8sorr6h8VS+//DK6du0KN5MWrP7+/nVablxcnOqmMGnSJKxcuRIPPvigmi+J4uu6TCIi\\\\\\n\",\n       \"oqbYAkvuY6S19KxZsyrnyUOh0aNHY9OmTdW+7/nnn1ets2655RYVwKLGxQAWEZnV3c8Lrbw8oL/i\\\\\\n\",\n       \"MvT094FL8hnVNzwpKYn5rcgi+VnnKn8u/HQJgqNj1M9RLVrhzm53Ym/GXvX7mdwz2Hd2X+VrvXNK\\\\\\n\",\n       \"0OxURXArI9Ib2WFerHFyKHLxK0aNGmXVJO7STfD6669XgStZ9sCBAytbY/Xs2dMKJSciInL8HFg5\\\\\\n\",\n       \"OTlV5nt4eKjJmLSUlvNxRERElfny+6FDh8wuf/369ViwYIFKFUC2wQAWEVWSNMOdfL3QwtMdF4f6\\\\\\n\",\n       \"I/PYUXXDlRWfp/qCu7hIJ0Ki2ivIyVaTOHNwP1r36oMOfiGQ3Naj2g3GKp9mSM5PVt0NXbesU/ui\\\\\\n\",\n       \"OMHug03e2l7pcPdxr3c9lOQ3XovRtWvXNshyr7rqKgwZMgTJyckq0ayBBLOkVRbVzsokx78BGRPV\\\\\\n\",\n       \"w9ZFICKyOzExFQ9NDZ555hk8++yz9Vpmbm4ubrzxRsyfPx+hoUxvYSsMYBE1cR5aDby1WhVIuCws\\\\\\n\",\n       \"EP1d9cjLy8PO1f8gM7MiAbc8ZQgMDESrVuZHIySqHT1O7Nha+VvCwX0YOGQEtP5d4erhibRT//4t\\\\\\n\",\n       \"qWc0K5cczvDhwxts2ZK4XSZjloyWRERE1FS6ECYkJFTpWm/a+kpIEEoezqemplaZL7+bnmfF8ePH\\\\\\n\",\n       \"VfL2yy67rHKeTqdT/8rIw/Kwv02bNvVcAboQBrCImrDmHm64v2UkQvRl6vfs7GysXrcBRUUVo78Z\\\\\\n\",\n       \"yAlAglkMYFFDyE5Nwaali9XPWp0O7TdXtIrQBAXh/kmv46v477A9bTsrnxyK5MX48MMPceLECXz7\\\\\\n\",\n       \"7beIjo7G559/jtjYWNWKioiIiBomgCX3LhfKDenu7o7evXtj9erVmDhxYmVASn6/9957z3u9jCy8\\\\\\n\",\n       \"d29F+guDp556SrXMeuutt85r9UUNgwEsoiaoX4APJkUEwcdFix/TsuD+58oaXx8cHKyeRkjidm/v\\\\\\n\",\n       \"ihEIiRqCd2IKNKWl6ufM0ECk/LgMV1x5Bca1HqfmJeUl4YuDX6C4vJgbgOzW0qVLVTcDGaVox44d\\\\\\n\",\n       \"KC4urnxIIIndf/nlF1sXkYiIqMl76KGHMH36dPTp00e1Zp43bx7y8/MrRyWcNm2aegA1Z84ceHp6\\\\\\n\",\n       \"okuXLlXqTHqoCNP51HAYwCJqIiSn0LiwALT28kBrb08c2rRBDfvqnpd3wffKEwwZlUNaYTGARQ3J\\\\\\n\",\n       \"LyGx8ufcmGjknYnHP/MXwcPHR+3F7QcOwf0970dGYYbKl7UleQsOZh78//buA7zq8uzj+C97JwQC\\\\\\n\",\n       \"gUDYIiAbBEHEAYrjsm6pq6gtfW3dqK1Wq7a2tb611lHralEuR7Xqq7VqUQERERBkKUgAWQkjiwCZ\\\\\\n\",\n       \"ZJ73up+QmDADSTjr+7muPznnf0b+5znkjPu57/vhSYFP+d3vfueW4rYPvq+/XptdaE4++WR3GQAA\\\\\\n\",\n       \"aL0m7k01adIk5eXluUVSbLGqIUOGaMaMGfWN3TMzM913IPgOAlhAAGsfGe6yrUIUorSoCHWOjlTe\\\\\\n\",\n       \"8iVaXFDgMgGayl64bYZh39JCoEV5PIrP2uZO1oSFqaRTB3e6vLTEbWbJB++q03F9FRYepoioGF05\\\\\\n\",\n       \"9kp9mf2ly8iqqK7QF9u+UFVNbUks4C3WB2PcuHH77U9KSnITBwAAoPVKCI+ElQseqGTQzJkz55C3\\\\\\n\",\n       \"femll478F6JZCGABAciCVZ2iInRZx7aq2rbFla/YMrHfrF2rsrKyo7rP4447jhmIZrCa+oR2Kcrd\\\\\\n\",\n       \"uL45dxPQYvILFLGnttSqOC1VnvD936Jqqqu1NWNV/fldOdvVp09fdzqpQ0f1OaGP5m2dp6yiLBVX\\\\\\n\",\n       \"Hj67EGgN1vz1u+++269voC2/3bNnTwYdAADgKBDAAgJIfFio+sXH6KpO7VRTkK+sb1Zo7dq1LXLf\\\\\\n\",\n       \"demzVVVVbqUNHJmvv/5aJ588ViU7C5S9fh3Dd5jyweL0tCaN0Y4tmW4zYRERGnTGRF2ZcoHCOkXo\\\\\\n\",\n       \"qU1/d0Gs6ppqlVaVMuY4ZqZMmaJbb71V06ZNU0hIiLZt26YFCxbozjvv1K9//WueCQAAfKCEEP6H\\\\\\n\",\n       \"b6FAgLg4NVnnJUa7TKsvP//M1XG3NAuGWSaRrcKBI7Njxw5XR29ZQgSwDiwuszaAZZ89iro0LYDV\\\\\\n\",\n       \"UHVlpZZ99L473ffkU/WLobfXX/afbTM0O2s2/21xTNx9993utXL8+PFu8QsrJ7QlvC2AdfPNN/Ms\\\\\\n\",\n       \"AADgIyWE8C8EsAA/lRIRrp+mt1dCeJgsN6rK49FHH/3XrZzRWuLj45WVleWCZGFhYa32exB8IgqL\\\\\\n\",\n       \"FbO7yJ0uTWmn6pjoZt1fxhefKWP+XHc6oW07nXzlxRqdNto1ft+1Z5deXv2yiipqfx/Q0izr6t57\\\\\\n\",\n       \"79Vdd93lSgmLi4vVv39/9xoKAACAo0MAC/Az/eKiNa5tgnrERGn3ujX6dssWt7+oqEiVlZWt+ruT\\\\\\n\",\n       \"k5O1efNm1wC+bdu2rfq7EFwSttQ2bzfFXY88++qAPLXTcEU78rX0768oNinJne96wmDdNOQmbSuu\\\\\\n\",\n       \"/Z0rd6zUkpwlLfM7gQYiIyNd4AoAABwGGVhoAgJYgJ84MSnONWc/vW2itqz8WhsKC7V16/c9g46F\\\\\\n\",\n       \"mJgYtxUUFBDAQqv1vypK79zio1tRVuo2sys7W2lZfRURFaWw8Aj98MQL1SW+i3JLc92KhjWemhb/\\\\\\n\",\n       \"/QAAADi4kL1bczT39vB9BLAAHxUXFqpu0ZHutDVmtwBW6aYN+nrlUuXk5HjtuCwLyzKwgJYSWl6u\\\\\\n\",\n       \"2Jx8d7o8IV4VSQmtPLgebVu7uv5c/pZM9R40VCemnaAeST30Vc5Xbr8FtHaV72rlYwEAAADQFASw\\\\\\n\",\n       \"AB8TGRKithHh+nnXDmpTWuT6TVVVleqrj+a6Pirelp6erm7dunn7MBBA4rdmK2RvuZ9bfTDk2M6f\\\\\\n\",\n       \"Febl6OtZMxQZE6PBZ56rvikXuR5G0XFxenr9P1wgy3pnlVWVHdPjAgAACBqUEKIJCGABPqRvXLSm\\\\\\n\",\n       \"pia6Bunr16/TRytWyNeEhlrLeLkVtupOA82RsHf1wdYqH2yqirIyLX7v7frz3QcP1y1jf+aCWWbu\\\\\\n\",\n       \"jgV697t3XTALAAAALSfEU7s19z4Q2AhgAT5gQrtEndo2QYlhYVr25QJt2bLFBYh8la1EuGPHDg0Z\\\\\\n\",\n       \"MsTbhwJ/V12tuK3Z7mRlZIRKO7STr9i0Yok2f7O8Phurz1UX6J5R9yi7OFuvZbymPdV7vH2IAAAA\\\\\\n\",\n       \"QNAggAV4QVJ4mC7o0EaRoaGKDg1R1+gorZ3/uVtJ0BfKBA8nLi7OBdnKyspcU3fgqP8vZecpvKrK\\\\\\n\",\n       \"nS7pkmYpfj41mJ6aapdvVVq4Wyv/8YYSUlLUa9hI3TjkRmWX1AbeluYu1eqC73tqAQAA4Eg/dO3d\\\\\\n\",\n       \"moMMrIBHAAs4hrpER6pfXLTGJMcrbNsWl8Vkvtq+XSUlJX7zXCQlJbnywZ07dxLAQrMkZG2rP11k\\\\\\n\",\n       \"/a98WFVFuXZu26ol2f9Wl34DFBcRofCISF0x5got2LZApVWlqqyp1OLsxe4nAAAAjgABKBwGASzg\\\\\\n\",\n       \"GAWuOkVF6IpObVWSlaldqzcrIyPDb8feenRZEMsCWGlpvh10gA/zeJSwpTaAVRMaqpLOHeUPPDU1\\\\\\n\",\n       \"ylr1df35gu1bNaD/QHc6oW07DRgwQLMzZ2t7yXaVVPpPYBoAAADwZQSwgFZgLZ+tNNCMaZOgSW2i\\\\\\n\",\n       \"XbndmkVfavPmzQEx5snJye6x0MwdRytq5y5FlJS606WdOqgmIsIvB3PHlky3mbDwCA0+8xxdn/ZD\\\\\\n\",\n       \"hYSG6okNz2tX+S7VeGpUUVPh7UMFAADwSTRxR1MQwAJaWHxYqG7plqpeYbXnKyoqNHfuXJetFEja\\\\\\n\",\n       \"t2/vNlYixNFKyGxQPmj9rwJAdVWllv73PXf6+DHj9MthU+sv+2D7x5qZOdOLRwcAAOCj6IGFJiCA\\\\\\n\",\n       \"BbSQ7jGRurJTOyVHhCujuEzfzpohj8ej6upq9zPQ1AWuyMDC0YrP3Oo3/a+Oxpr5c/Xd4gVuFcPY\\\\\\n\",\n       \"xDY66YcXaFjqMGUVZunNtW+qylPbvB4AAADA4RHAAo6SFQienZLkeluZ/vEx2vbNCn2Tn6+CgoKA\\\\\\n\",\n       \"DFrtKz8/Xxs3btTw4cPJxMIRCS8pVezOXe50aXIbVcXFBuQIVlfWNnMvzM/V8mmvKb5tOx1/0lj9\\\\\\n\",\n       \"bMjPlF+aL488Wrh9oTYVbvL2oQIAAHgNJYRoCgJYwBGKCQ3RqDbx6h0brfToSO3a28x5dWGhsrOz\\\\\\n\",\n       \"g2o8Y2NjVVVVpcLCQrVp08bbhwM/XX2wuFtnBYPy0hK3ffnvt5Tef4ASw8IUGROr60dcrzlZc5Rd\\\\\\n\",\n       \"kq1vC7719mECAAAce5QQogkIYAFNlBQeptTICF2cmqyUop0qzN2hr1et0p49e4J2DC2AFRUV5TLO\\\\\\n\",\n       \"CGDhSMQ3CGAFYvngoVRXVmjTiqX153flbNeI3scrpevp+iR+rr7b9Z3bb6sY7qkO3tcXAAAAoCEC\\\\\\n\",\n       \"WMAhRITUriRoZYI3d0tVTEmR8rZlas6SJUFRItgUbdu2daWEPXv29PahwE+EVlYqLjvXna6IjVF5\\\\\\n\",\n       \"cnBn72V/t9ZtCSntdcqZ5+r0LqMUGham3MgiTVs5TYUVhW4VQwAAgEBFCSGaggAWcBCXpibrnMTo\\\\\\n\",\n       \"+vMrv16utWvXMl77SE5O1vbt21VWVqaYmBjGB4cVtzVboTW1AZni9M7S3kBxsCvKz9Pn/5xeeyYk\\\\\\n\",\n       \"RIPGT9QDQ36lqopy/XX937W5cLO3DxEAAKB1UEKIJiCABTQQHRqiH6WlqHN0pGyNvZkzP3YlgpZt\\\\\\n\",\n       \"Vbm3GTMaS0xM1IgRIxQRUdvMHjiS/ldFXYOrfLDJPB59PXOGVn8+R2l9+uonZ/xEO8t3uovW71qv\\\\\\n\",\n       \"99a/5xrAAwAAAMGCABYgKTUyXGemJKlbdKQKq6q1ef7n2rlzpyoqKhifwwgJCXHBKwvy2WngkGpq\\\\\\n\",\n       \"FLelNoBVFR6uktT2DNghVJbv0eZvlmvn9m2KjI11q32OOPlUdRzU0TV9/2TzJyqtKmUMAQCAfyMD\\\\\\n\",\n       \"C01AAAtBa2hCrJIiwlym1cSUJJVs2qDdu3dr04YNqtlb3oSmKSoq0po1azRw4EDX1B04mNjcfEVU\\\\\\n\",\n       \"1GYzlnTuKIWFMVhNUJhf2zPM7MrJVpd+A3RC5y7qMeinWpS9yO3PKcnR+t3rGU8AAOB36IGFpiCA\\\\\\n\",\n       \"haASFiJ1jY7UsMQ4nZgUp6ptW9z+bSs26Lvvalf+wpGz3ldVVVUua61jx44MIZpYPtiZkToKFWWl\\\\\\n\",\n       \"2rB0kTYu/0rHnzRW45IHuv0pvc/T/23/wPXK2la8jRJDAAAABBQCWAgKVtgWFRqi/0nvoH4h1Sot\\\\\\n\",\n       \"LdXCGZ+ppKTE24cWEMLDw10vrIKCAgJYODiPR/GZW2tPhoSo2DKwcNQ8NTXKmD+3/ny7zuk674yz\\\\\\n\",\n       \"FNUxTvMLl+jd9e/uHXbrlkW/LAAA4MMoIUQTEMBCvU2bNumhhx7S7NmzlZ2drbS0NF199dW69957\\\\\\n\",\n       \"FRkZ6bcjlRIRrlu7pSotpEZ5eXn6cP58VVdXe/uwAnI1ws2bN7tMLAtoAfuK3F2kqOLaoHFJhxTV\\\\\\n\",\n       \"UG7aonZszdKcl/+h6PgEjbrocp0y8o9u/56SYv1lw7PKLf2+DBEAAMCXhFg/XU/zJtyae3v4Pr5l\\\\\\n\",\n       \"ol5GRobr/fTcc8+pd+/eWrlypaZMmeKylB599FG/Gqkz2yW6EkHTNiJc83cVa9nns1ReXu7tQwvo\\\\\\n\",\n       \"AJYFQQsLC9W2bVtvHw58UEJWbfaVKaZ8sNXsKS7S3FdfVGR0jDvfdcBg/fykn6tgT4FmZ87Wyh0r\\\\\\n\",\n       \"W++XAwAAAK2EABbqnX322W6r07NnT9eY+5lnnvGLAFZ4iHRu+zbqFBWhnjFR2vDlApcNtLWqSuX5\\\\\\n\",\n       \"+d4+vIAXHR2toUOHup/AgdSVD5qiLmkMUiuXF5aX1ma7rVs0X/lZm5XQLkWTxk9S//z+qvZUu9UL\\\\\\n\",\n       \"Z26eqcqa2qb6aGzu3Ln605/+pCVLlmj79u165513dOGFFwbMMAX64wMA+BlKCNEEBLBwSLYq3+Gy\\\\\\n\",\n       \"aSyrqWFmk2XgHCudLVgVW7vq3ZCEWMWFhalq3WotzcpScXHxMTsO1CJ4hYMJK9uj2PwCd7osKUGV\\\\\\n\",\n       \"ifEM1jG0c/tWtxXtyFdKeje3r33Xvuo2oJuW5S3TmoI12lW+i+ekAcs+Hjx4sK6//npdfPHFATc2\\\\\\n\",\n       \"gf74AAD+hVUI0RQEsHBQtirfU089ddjsq4cffli/+c1vjulIdogMV5foSF2d1k7l27e50sfy7AKt\\\\\\n\",\n       \"WLHCZV3BOyoqKvTtt9+qR48eSkpK4mlAvYQt29xiCqa4axdGxsuBLLNh6WL1O+U0TWw7WuMHj9cb\\\\\\n\",\n       \"a97Qjj07CGTtdc4557gtUAX64wMAAIGHAFYQuPvuu/XII48c8jqrV69W3759689v3brVlRNedtll\\\\\\n\",\n       \"rg/Wodxzzz2aOnVqowys9PR0tZYJ7RI1qU2MC5as/HKhMjMzW+134chYs38LIO7cuZMAFhqJz9xW\\\\\\n\",\n       \"f7o4nfJBX1BdVamVn37iTvcZdbJ+OuAahUdE6u8bX9bqgtXePjwAABBMKCFEExDACgJ33HGHrr32\\\\\\n\",\n       \"2kNex/pd1dm2bZtOP/10jRkzRs8///xh7z8qKsptrSlM0rWdUzQ8KU4l1TX69JOPXHkjfI+VnBYU\\\\\\n\",\n       \"FKh79+7ePhT4iJCqKsVtz3anK6OjVJZCk39fs/bLL9yW2rO3rv7B1QoLtVddafWO1Xp19auq8gRO\\\\\\n\",\n       \"Zuu+Ze7H4j0sEHizXQAAIPBRQoimIIAVBNq3b++2prDMKwteDR8+XC+++KJCQ0PlLT1iInVJaluF\\\\\\n\",\n       \"hYQoNixUe2pq9NkH76usrEzV1dVeOy4cPoCVk5Oj0tJSxcbGMlxQ3PZchVXXfJ99FVJXTAhfk7Ph\\\\\\n\",\n       \"O+145jmXiRUaFqbOl43X1BFTtaNsh95e93ZAlBfumyH8wAMP6MEHH/Ta8fgLb7QLAAAAaIgAFhoF\\\\\\n\",\n       \"r0477TR169bN9b3Ky8urv6xjx47HbKSGJ8aqT1y0RiTGafuqb1Swe7es9XNubi79rfxAYmKiC3xa\\\\\\n\",\n       \"GSEBLJiErAarD6Z3ZlB8XFV5udvMhunvuabvHbr30g2DblDGzgy3P6swS0tyl8gfZWVludepOmRf\\\\\\n\",\n       \"Nc2xbhcAAAgylBCiCQhgod4nn3ziGrfb1qVL4ybLHo+9orSOmNBQDU6IUUhIiGvOPi45QbkZ3ypj\\\\\\n\",\n       \"ZYErZ4R/seDVoEGDWJEQtTwexWXV/h1Xh4WppFMHRsaPVFdWuqws27rmDlaXhESXQTfmhAvUKb6T\\\\\\n\",\n       \"soqy9E3+N6rx1GbY+QMLXjUMYKFpKLUEALQmSgjRFASwUM/6ZB2uV1ZLigsLVbuIcLeSYErxbpWX\\\\\\n\",\n       \"71FNWY2WLV3osnfgv2JiYrx9CPARMfkFitxTm81T0ilVnnDedvxV5soV9ae3rVmtgaPHanTKYA1u\\\\\\n\",\n       \"P1ifbP7ElRlW1FQoUBQXF7sJnTobN27U8uXLXZl0165d5e8C/fEBAIDAwzcJeEXX6Ejd0i1V8eVl\\\\\\n\",\n       \"2r41U7OXLGnVLC8cW/Zcfvvtt673WocOR55xs3jxYv3nP/9xvbRsVUMrYbXl3seOHdsqx4tjUz5Y\\\\\\n\",\n       \"3HX/1Qc/WbxUny1doayc2pLlnp076cqzztBxlBr6tKIdefrq/XcUERWt4edeoKl9blRO2C49//Xz\\\\\\n\",\n       \"KqwIjObeX331lesJWaeufG7y5Ml66aWX5O8C/fEBAPwMJYRoAgJYOKZOahOnSR3bKTI0RO/k7FTU\\\\\\n\",\n       \"nI94BgKQlYMaW43waAJY8fHx+sEPfqBOnTopPDzcZQW88MILruzHyhPhP+Iyt9Z/Jinqsn8Aa9WG\\\\\\n\",\n       \"TRo7eICO75quyPBwvTv3Cz304iv6y60/U7skyrx8XWX5Hi185w1XVph0xVjdM/IeV05o24cbP9SC\\\\\\n\",\n       \"7Qvkr6wnZCBPrAT64wMA+GcZIXAoBLDQqmJCQ3Rlp3ZKjgh3C491iorQys8/065duxS1Zw+jH8CS\\\\\\n\",\n       \"k5Nds2TLoKqoqHDLr0dHR7utLsC1aNEivfPOOy7Tyvqr2AICt912m/r169foviZOnKjPP/9c8+fP\\\\\\n\",\n       \"15YtW3Tuuec2+Tg+/PBD9ejRY7/7ROuorq5RyZ49qq6pUXJllWJ2F7n9OXExuvX5l5S9o0CRERHq\\\\\\n\",\n       \"kdZRv7xmkm6bdHGj299w8flauGq1vlm/UacNG8zT5C88Hu1+7XMtSFjh/r5jk9po4kXnaljqMGUW\\\\\\n\",\n       \"ZuqDjR94+wgBAADg5whgodVc0KGNhnTsoN1V1Spattjty9q9W0VFtV9oEdisv8rs2bNd5pQFr+rY\\\\\\n\",\n       \"yoTjxo3TiBEj9Le//U2TJk1yp/fs2aM1a9YctBzRVsm0pv5ffPGFqqurdf755x/2GKwM8V//+pci\\\\\\n\",\n       \"IyN15513EsRqxaDVkjXr9NHCxfr6uw0u28pck5ys/h1S3el/bs7U6aOGa9QJfVVWXq7VmzIt5rGf\\\\\\n\",\n       \"ispKd3/xsfRR80dlRbXlg6WFu1U6/Z9K6pCqE08crY4DOuqz7z7z9uEBAABfZR8Mm5sZTGZxwCOA\\\\\\n\",\n       \"hVbTv3CH9uzKU+a6daqp8Z8VqtA8GzZs0CuvvKJ169a5UsCRI0cqNTVVERERLhPLglBz587VjBkz\\\\\\n\",\n       \"3PVtGXbrlVV3uk5paaluueUWl8FlKxsOGzbMZWwZC0qZQwWx6oJXxn6vNSgmC6tlWXBx5uKlemv2\\\\\\n\",\n       \"XO0oLFLXdm10wdATlBQTrdDQEF1aUCJV134QmVVUpPTt2Tpr5HB1SG6jbh1rA1v7emXGLCUnJmhQ\\\\\\n\",\n       \"r54tfLQ41kp373Lbji2Z6j54uAZkJvAkAACAA2IVQjQFASy0mqVLl7IaXRA+53/961+VkpKiyy67\\\\\\n\",\n       \"TMcff7zCwsIaXWfAgAE644wztHLlSlfe98gjj6hv374aM2aMC3bFxcW561mp4e9//3uXmbVq1Sr9\\\\\\n\",\n       \"+9//dj1b5syZc9ggVsPglbn88suPqOwQh1dT49FLH3ykDxcs0rCuabp65CClt21Tf3lEVbW65RW7\\\\\\n\",\n       \"04URYdoVEaYNy77WVxlrdenp43T68MGK32e1ync+m6cvvl6pB38yWZERvD0FioqyMq1dOE+le1ej\\\\\\n\",\n       \"BAAAAI5G6FHdCgD2YWV+Tz75pHr37q3rrrtO/fv33y94Vccasw8ZMkS33367W2HQsrU++OAD3XXX\\\\\\n\",\n       \"XcrNza19cQoNdZlb1hfLgk8nnniiduzY4YJRdSxIZcGqwwWvmlJuiCPz6sez9N8Fi3TxsAG68qSh\\\\\\n\",\n       \"jYJXpn1Raf0bTH6beN1z7um6fMQgVVRU6p8fz9Ytf35aOQU766//78/n653PvtB9112t7p0OnJ0F\\\\\\n\",\n       \"AACAAF+FsLkbAhoBLADNVlJSoieeeMIFmy655BJXLtgUMTExLthlgSor87PA1pIlSw5arlZZWemC\\\\\\n\",\n       \"UQcLYhG8OjYWr16jf8+dr/OH9NeY3t0OeJ0Ou0vqT+ckxrnG3iN7puvGM0a757K8slKLvs1wl9vK\\\\\\n\",\n       \"g2/P/lz3XXuVeh9gpUIAAAAEtpCaltkQ2KjRANBs8+bNc43aL7roov2yrkJqapSSl6+YPWUqi45R\\\\\\n\",\n       \"fvsUeUJD3WqC1peqV69eGj9+vF5++WWXdZWWlqb33nvPrRxogS0LWq1YscI1b7/22mvdfdZlVNVl\\\\\\n\",\n       \"WtnP999/3/XNqkPmVet5f95C9Uhpq3F9eux/ocejdkVl6lBYG8CqCA3Rij1lWpe5VX06pig+Kkon\\\\\\n\",\n       \"dE7V8sxtapuY6LKu3pg5x61G2D65jXYW1ZYdRkdGKiYqshUfBQAAAAB/QgALQPMbec+c6RqkW9P2\\\\\\n\",\n       \"hjpnbdGwpUsVW1ZWv680JkZLhw1TXnSUNm/erIULF7rgl2VftW3bVoMHD9batWs1ffp0FRQUuBUE\\\\\\n\",\n       \"O3XqpBtuuEEnnXRS/f3sG8QieHVsZOXkadXGzbrqpKH7XZa6q1j9t+UrprK6fl+oR+pTWa2P8gs0\\\\\\n\",\n       \"d91GlVdWuSbvlpFVUFioj7/8SlXV1Xr0tTcb3ddlZ4zTpAmnHZPHBAAAAC9riRJASggDHgEsAM3u\\\\\\n\",\n       \"fZWdna2zzz57v+DVyV98sd/1Y8rKaveffLLaX311/X5r1P7WW2+5zCxrAG/b4VgQa9/Mq9jYWHpe\\\\\\n\",\n       \"taKPFy1RfHSUBnbuuF/watjmnP2uH+bx6PTcQiUN6q+cNt8HOF9duEwfLfxKf7vrFhfMAgAAQPBi\\\\\\n\",\n       \"FUI0BQEsAM2yYcMGt2Jg165dG5UNWuaVO73P9UP2To6MXLRIa3btkvYGL/rW1Kh9u3Zq/+mn6tSt\\\\\\n\",\n       \"e5N+9z+XL28UvDJ2fs6TT+mKIUN87pkNWbdOKi1WStZm+avh2Xka0zlNffN2fb/T41GP/N2HfL4t\\\\\\n\",\n       \"MysnKa7++T4hLVXLFi5TyZ49+61GCAAAAAD7IoAFoNkN3K0Ze8MsGut51bBscF92zcjKSg1ctarR\\\\\\n\",\n       \"/sEp7aXNmbXbYbywY4f+kZ9Xfz4xNFSFNbWdG/+xeJESN27UlHbt5Is6yH9dGRlVeyLn+xUED8ee\\\\\\n\",\n       \"bysrbFuyRwXxtcGq2L39rUrKCGABAAAEPY/HTYo2S3NvD5/HKoQAmvciEhrq+mA1ZA3bW5MFr/7S\\\\\\n\",\n       \"IHh1e0p7LTyuj/tZxy6368F3RFVW1Z+u+z9j/38AAAAQ3OpKCJu7IbCRgQWgWaxxu2VhVVdX169A\\\\\\n\",\n       \"aKsNNsXyQYO0u00bd7qiotz1wDr33HPVv3//g97mrXnz9PKajPrz14wfr9PGjtU6SdbyO98unzWr\\\\\\n\",\n       \"PoiVP3iQLh071iee5Z49e0mFBdq6unHmmT+Z/t9PFFFTrfH9etXvSygrV9/sw2dklUd8/5azu2yP\\\\\\n\",\n       \"+0n5IAAAAICmIIAFoFkGDhyof/7zn1qzZk194Cm/fYpbbdAath+oPbdNjpTGxmht3+Pl2ZuBs2jR\\\\\\n\",\n       \"In1RVqbLTjlFhcnJB/xd//nPf/SvvcEpc/nll+us889XYYPrnNW7t8rbtatfndCCWXa+btVCr7K+\\\\\\n\",\n       \"XPnZKi4qkL+q6dVd//z0cx03tJ9iIiPcvryEWHXbUajoyuqDPt97IsJUEBddv29Z5jb1Se+smL2l\\\\\\n\",\n       \"hAAAAAhirEKIJqB2A0CzpKenq0+fPlq8eHH9PgtKLR02rPb0PtevO79s6LD64JWVk3311VcaPny4\\\\\\n\",\n       \"kg8SvPrwww/rg1J1wauDBaVsv11ex25nt0fzTRgxVDX2fG3a8v3OkBB9m5ZS+1zuc/268+7yvX3S\\\\\\n\",\n       \"cguLtS4nX2efdCJPCQAAACghRJMQwALQbBMmTNCmTZuUk5NTv29rehd9cfLJKttnhTnLvLL9dnnD\\\\\\n\",\n       \"lQzz8vLc/RxMjx49FBkZedjg1YGCWHY7uz2aLzkxQSNP6Kv56zNVvbdpvslpE6+l3VJdplVDdt72\\\\\\n\",\n       \"2+V15n23SQmxMTppwMFLRQEAAACgIUoIATTbiSeeqI4dO7pMpx//+MeKjY11+y1Ita1zmluV0Bq7\\\\\\n\",\n       \"W28sKy+sy7wyu3bt0rvvvqvevXurX79+B/0ddtmdd96pjRs3uj5ZTWFBLOvLZcGrQ903jswFp4zR\\\\\\n\",\n       \"vasy9OZX32jSiYPqV6C0IFVOUpxbbdAatlvPK1c22GCFyuWZ2zT/u826auJ4RTboiQUAAIAgxiqE\\\\\\n\",\n       \"aAIysAA0W3h4uO666y5VVlZq+vTp2r17d/1lFqzKS+2gzG7d3M+GwSvLurLrR0dH67bbbqsPhByM\\\\\\n\",\n       \"BaGaGryqY9cneNWyendJ042XXuDKCN/86utGmVgWrCqIj9H25AT3s2Hwyq7/2pfLdcqQgbpw3JgW\\\\\\n\",\n       \"PioAAAD4K1YhRFMw/Q2gRXTo0EH33Xef/vSnP+m5557T0KFDNWLEiAP2tMrNzXU9r1asWOFuZ5lV\\\\\\n\",\n       \"SUlJPBN+ZNyQgW6m7Om339Pmgt06uVc3DevWWdH7ZFXV1HiUkZ3rSg4ztudq/IihmnLBuYcNVgIA\\\\\\n\",\n       \"AABAQwSwALSYtLQ0Pfjgg/rggw/02WefacGCBerZs6fat2/v+lCVl5crOztbmzdvVmJios4++2yd\\\\\\n\",\n       \"d9559SWH8C/jhg5Sp5R2euezeXpn2Sp98HWGTuicqqSYaIWFhKi0olIZ2XkqKClVj04ddfNlF7rA\\\\\\n\",\n       \"F8ErAAAANMIqhGgCAlgAWpRlUl155ZW65JJL9OWXX2revHmuwfuePXsUExOjlJQU3XjjjS47y0oP\\\\\\n\",\n       \"4d+OS++sX1w9STt2F2rm4qVakrFWWwrzVV1do7iYaA06/jhNHDXClR0SuAIAAMChSgibo7m3h+/j\\\\\\n\",\n       \"2yOAVhEVFaVx48a5DYGvXVKiJk04zW0AAAAA0NIIYAEAAAAAAO+p8dRuzb0PBDQCWAAAAAAAwHvo\\\\\\n\",\n       \"gYUm+H49ewAAmmHVhk167/MFR3Qbu77dDgAAAAAOhQwsAECzWRDqD9P/qfLKSlXXVOuiU8ce9ja2\\\\\\n\",\n       \"euGrH81WVESEfjX5Cp3QszvPBAAAQBAKaYEm7HYfCGxkYAEAmm391u0ueGUsKGXBqaYEr4zdzm4P\\\\\\n\",\n       \"AACAIOXxtMyGgEYACwDQbD84ZbSumnhG/flDBbEaBq+M3c5uDwAAAAAHQwALANAirGzwcEGsAwWv\\\\\\n\",\n       \"mlJuCAAAgMBl5YMtsR2pp59+Wt27d1d0dLRGjRqlRYsWHfS6L7zwgk455RQlJye7bcKECYe8Ploe\\\\\\n\",\n       \"ASwAwDEJYhG8AgAAwCFXIWzudgTeeOMNTZ06VQ888ICWLl2qwYMHa+LEicrNzT3g9efMmaMrrrhC\\\\\\n\",\n       \"n376qRYsWKD09HSdddZZ2rp1K0/qMUIACwDQ6kGsyb/9XzKvAAAA4DMee+wxTZkyRdddd5369++v\\\\\\n\",\n       \"Z599VrGxsZo2bdoBr//qq6/q5z//uYYMGaK+ffvq73//u2pqajRr1qxjfuzBigAWAKDVg1gle/bU\\\\\\n\",\n       \"n6ZsEAAAAA2FeDwtspnCwsJGW3l5+X6DXVFRoSVLlrgywDqhoaHuvGVXNUVpaakqKyvVtm1bnsxj\\\\\\n\",\n       \"JPxY/SIAQPAFsd79bH6j4FVcdDQ9r3BESrderaqY+GaPWkVZsaQXGf0W9s7ab5SY4J/zoRPThnj7\\\\\\n\",\n       \"EAAAdWr2bs2x9/ZW2teQlQg++OCDjfbl5+erurpaqampjfbb+YyMjCb9ul/+8pdKS0trFARD6yKA\\\\\\n\",\n       \"BQBoFdbzqmHwyth520/jdgAAALSGrKwsJSYm1p+Piopq8d/xxz/+Ua+//rrri2UN4HFsEMACALS4\\\\\\n\",\n       \"fRu2W+ZVXTCrbj9BLAAAAJiGJYBHq+72FrxqGMA6kJSUFIWFhSknJ6fRfjvfsWPHQ9720UcfdQGs\\\\\\n\",\n       \"mTNnatCgQTyBx5B/5nwDAHzWgVYbnH7/Lw66OiEAAACC3DFehTAyMlLDhw9v1IC9riH76NGjD3q7\\\\\\n\",\n       \"//3f/9VDDz2kGTNmaMSIEc191DhCZGABAFo1eFWXaVX3s+5yMrEAAADgLVOnTtXkyZNdIGrkyJF6\\\\\\n\",\n       \"/PHHVVJS4lYlND/60Y/UuXNnPfzww+78I488ovvvv1+vvfaaunfvruzsbLc/Pj7ebWh9BLAAAK0e\\\\\\n\",\n       \"vKpDEAsAAAD7sfK/ZpYQHuntJ02apLy8PBeUsmDUkCFDXGZVXWP3zMxMtzJhnWeeecatXnjppZce\\\\\\n\",\n       \"tkk8WgcBLABAs733+YLDBq8OFcQKCw3TD045eLo2AAAAAleIp3Zr7n0cqZtuusltB2IN2hvatGnT\\\\\\n\",\n       \"0R4aWgg9sAAAzdarcydFRUQcNnhVxy6v64llt7PbAwAAAMDBkIEFAGi2E3p2168mX6H1W7c3OZPK\\\\\\n\",\n       \"gliWeWXBK7s9AAAAgpQXSgjhfwhgAQBahAWhjjQQRdkgAAAAQmrktuZo7u3h+yghBAAAAAAAgE8j\\\\\\n\",\n       \"AwsAAAAAAHgPJYRoAgJYAAAAAADAe6x9VXNbWNECK+BRQggAAAAAAACfRgYWAAAAAADwmhCPx23N\\\\\\n\",\n       \"vQ8ENgJYAAAAAADAe+iBhSaghBAAAAAAAAA+jQAWABwDYWFhSk5OVnVVJeMNAAAANGTVfzXN3Kgg\\\\\\n\",\n       \"DHiUEALAMTB8+HCpeLc2Ll/CeAMAAAAN0AMLTUEGFgAcAwkJCdqw7CtVV5KBBQAAAABHigAWDqi8\\\\\\n\",\n       \"vFxDhgxRSEiIli9fzigBAAAAAFqHp0Ej96PeeHICHQEsHNAvfvELpaWlMToAAAAAgNbV7ODV3g0B\\\\\\n\",\n       \"jQAW9vPf//5XH3/8sR599FFGBwAAAAAAeB1N3NFITk6OpkyZonfffVexsbFNLje0rU5hYSGjCgAA\\\\\\n\",\n       \"AABoGltFMKQF7gMBjQws1PN4PLr22mt1ww03aMSIEU0emYcfflhJSUn1W3p6OqMKAAAAADiiVQib\\\\\\n\",\n       \"uyGwEcAKAnfffbdrxn6oLSMjQ0899ZSKiop0zz33HNH92/V3795dv2VlZbXaYwEAAAAAAMGHEsIg\\\\\\n\",\n       \"cMcdd7jMqkPp2bOnZs+erQULFigqKqrRZZaNddVVV2n69OkHvK1df9/bAAAAAADQJC3RhJ0MrIBH\\\\\\n\",\n       \"ACsItG/f3m2H8+STT+p3v/td/flt27Zp4sSJeuONNzRq1KhWPkoAAAAAQFAigIUmIICFel27dm00\\\\\\n\",\n       \"GvHx8e5nr1691KVLF0YKAAAAAAB4BQEsAAAAAADgPWRgoQkIYOGgunfv7lYmBAAAAACg1dTYUoQt\\\\\\n\",\n       \"cB8IaKxCCAAAAAAAAJ9GBhYAAAAAAPCaEI/Hbc29DwQ2AlgAAAAAAMB76IGFJqCEEAAA4ACefvpp\\\\\\n\",\n       \"1w8yOjpao0aN0qJFiwJunILhMQIAgMBAAAsAAGAfb7zxhqZOnaoHHnhAS5cu1eDBgzVx4kTl5uYG\\\\\\n\",\n       \"zFgFw2MEAPiJGk/LbAhoBLAAAAD28dhjj2nKlCm67rrr1L9/fz377LOKjY3VtGnTAmasguExAgD8\\\\\\n\",\n       \"rISwuRsCGgEsAACABioqKrRkyRJNmDDh+w9MoaHu/IIFCwJirILhMQIAgMBCE3cAABA0CgsLG52P\\\\\\n\",\n       \"iopyW0P5+fmqrq5Wampqo/12PiMjQ4HgSB9jeXm52w42jgAANE9LZFCRgRXoyMACAABBIz09XUlJ\\\\\\n\",\n       \"SfXbww8/7O1D8gs2Tg3HzcYRAIAWQwkhmoAMLABoZW3atFFcXJwqysoYa8DLsrKylJiYWH9+3+wr\\\\\\n\",\n       \"k5KSorCwMOXk5DTab+c7duyoQHCkj/Gee+5xDd8bZmARxAIAAMcSGVgA0IpCQkI0duxYrV8wV7uy\\\\\\n\",\n       \"tzHWgJdZ8KrhdqAAVmRkpIYPH65Zs2bV76upqXHnR48erUBwpI/RxmnfsQMAoMWwCiGagAwsAGjl\\\\\\n\",\n       \"AJZ9Ucz6diXjDPgRyzaaPHmyRowYoZEjR+rxxx9XSUmJW7EvUATDYwQA+AlPTe3W3PtAQCOABQAA\\\\\\n\",\n       \"sI9JkyYpLy9P999/v7KzszVkyBDNmDFjv6bn/iwYHiMAAAgcBLAAAAAO4KabbnJbIAuGxwgA8KMm\\\\\\n\",\n       \"7s29DwQ0AlgAAAAAAMC7PbDkaYH7QCCjiTsAAAAAAAB8GhlYAAAAAADAeyghRBMQwAIAAAAAAN7j\\\\\\n\",\n       \"Kgib2wOrpQ4GvooSQgAAAAAAAPg0MrAAAAAAAID3UEKIJiCABQAAAAAAvKemxv5pgftAIKOEEAAA\\\\\\n\",\n       \"AAAAAD6NDCwAAAAAAOA9lBCiCQhgAQAAAAAA7yGAhSaghBAAAAAAAAA+jQwsAAAAAADgPTUeS8Nq\\\\\\n\",\n       \"gftAICOABQAAAAAAvMbjqXFbc+8DgY0SQgAAAAAAAPg0MrAAAAAAAIB3m7g3twTQ7gMBjQAWALSi\\\\\\n\",\n       \"iIgIxhcAAAA4bPCJABYOjRJCAGgl4eHhOnXEMOWsXa3KPWWMMwAAAAAc7fcrRg4AWkdycrIiY2I1\\\\\\n\",\n       \"71+vMMQAAADAwdTUSCHNbMJOE/eARwALAFpRdVWlPPaGDAAAAODAKCFEE1BCCAAAAAAAAJ9GBhYA\\\\\\n\",\n       \"AAAAAPAaq1jwNLOE0EMJYcAjgAUAAAAAALyHEkI0ASWEAAAAAAAA8GlkYAEAAAAAAO+p8UghnhbI\\\\\\n\",\n       \"4kIgI4AFAAAAAAC8xwWfmrlyNwGsgEcJIQAAAAAAAHwaGVgAAAAAAMBrPDUeeZpZQughAyvgkYEF\\\\\\n\",\n       \"AAAAAAC8x1PTMtsRevrpp9W9e3dFR0dr1KhRWrRo0SGv/+abb6pv377u+gMHDtSHH37YjAeNI0UA\\\\\\n\",\n       \"CwAAAAAABJU33nhDU6dO1QMPPKClS5dq8ODBmjhxonJzcw94/fnz5+uKK67Qj3/8Yy1btkwXXnih\\\\\\n\",\n       \"21auXHnMjz1YEcACAAAAAADeLSFsge1IPPbYY5oyZYquu+469e/fX88++6xiY2M1bdq0A17/iSee\\\\\\n\",\n       \"0Nlnn6277rpL/fr100MPPaRhw4bpr3/9awuNAg6HABYAAAAAAAiaEsKKigotWbJEEyZMqN8XGhrq\\\\\\n\",\n       \"zi9YsOCAt7H9Da9vLGPrYNdHy6OJO1pcXfO8srIyRhdBLT8/X6sXf6nSPeXePhTA68rKy4+qwWpl\\\\\\n\",\n       \"WUmL/P6Wuh+o0fNYWNzMJc+9qMpT6e1DgJ8rLCz09iEAPvE30BLN06tUKXla4D4O8LcZFRXltn0/\\\\\\n\",\n       \"p1dXVys1NbXRfjufkZFxwPvPzs4+4PVtP44NAlhocTt27HA/b731VkYXALDfe0RSUtJhRyUyMlId\\\\\\n\",\n       \"O3bU/931gxYbQbs/u180X1FRkfvZbdgmPx7ODd4+APi5pryWAcHynnC0fw917/fzslumGXp8fLzS\\\\\\n\",\n       \"09Mb7bMeVw8++GCL3D+8iwAWWlzbtm3dz8zMzKB9Y7eov71wZmVlKTExUcGIMWAM+H/A30NDu3fv\\\\\\n\",\n       \"VteuXevfIw7HVvfZuHGjS/FvKfYh2e4XzZeWlube4xISEhQSEtLiQxoI7yH+/hg4fu/jOWD8ff3/\\\\\\n\",\n       \"j2VeWfDK3hOOVku/39sx7fu+tG/2lUlJSVFYWJhycnIa7bfzFlA7ENt/JNdHyyOAhRZntcPGglf+\\\\\\n\",\n       \"+IGtJdnjZwwYA/4f8LfAa8L+7xFN/VBLwMl3n8cuXbq0+u8JhNdPf38MHL/38Rww/r78/6clEha8\\\\\\n\",\n       \"8X5vk1rDhw/XrFmz3EqCpqamxp2/6aabDnib0aNHu8tvu+22+n2ffPKJ249jgwAWAAAAAAAIKlOn\\\\\\n\",\n       \"TtXkyZM1YsQIjRw5Uo8//rhKSkrcqoTmRz/6kTp37qyHH364vkXOqaeeqj//+c8677zz9Prrr+ur\\\\\\n\",\n       \"r77S888/7+VHEjwIYAEAAAAAgKAyadIk5eXl6f7773eN2IcMGaIZM2bUN2q3ljgNM8fHjBmj1157\\\\\\n\",\n       \"Tffdd59+9atf6bjjjtO7776rAQMGePFRBBcCWGhxVmNsjfIOVGscLBgDxoD/B/wt8JrA6yKC+33U\\\\\\n\",\n       \"3x8Dx+99PAeMfzD//zlWrFzwYCWDc+bM2W/fZZdd5jZ4R4inJda8BAAAAAAAAFpJ0zupAgAAAAAA\\\\\\n\",\n       \"AF5AAAsAAAAAAAA+jQAWAAAAAAAAfBoBLLS6Dz74QKNGjVJMTIySk5N14YUXBuWol5eXu5UtQkJC\\\\\\n\",\n       \"tHz5cgWLTZs26cc//rF69Ojh/g/06tXLNZSsqKhQoHv66afVvXt3RUdHu7+BRYsWKVjYcsMnnnii\\\\\\n\",\n       \"EhIS1KFDB/d3v2bNGgWzP/7xj+7v/7bbblMw2bp1q66++mq1a9fOvQYMHDjQLTkNAAAAHAkCWGhV\\\\\\n\",\n       \"b7/9tq655hpdd911WrFihb744gtdeeWVQTnqv/jFL5SWlqZgk5GRoZqaGj333HNatWqV/vKXv+jZ\\\\\\n\",\n       \"Z591S88GsjfeeENTp051wbqlS5dq8ODBmjhxonJzcxUMPvvsM914441auHChPvnkE1VWVuqss85S\\\\\\n\",\n       \"SUmJgtHixYvd38CgQYMUTHbu3KmTTz5ZERER+u9//6tvv/1Wf/7zn91kBhCoEwBz587V+eef797z\\\\\\n\",\n       \"LWhtS6z7E3+fgHjmmWfca21iYqLbRo8e7V5//JU/Tn48+OCD7pgbbn379pU/8efJF3vt3Hf8bbPP\\\\\\n\",\n       \"ZYC/C/f2ASBwVVVV6dZbb9Wf/vQnl4FTp3///go29sHp448/dgE9f/4QdTTOPvtst9Xp2bOn+yBs\\\\\\n\",\n       \"HzAfffRRBarHHntMU6ZMccFbY0E7y0acNm2a7r77bgW6GTNmNDr/0ksvuS9CS5Ys0bhx4xRMiouL\\\\\\n\",\n       \"ddVVV+mFF17Q7373OwWTRx55ROnp6XrxxRfr91k2JtCUCQB73bTg1eOPP+4mAOy9w15HfJ0F6m3S\\\\\\n\",\n       \"4vrrr9fFF18sf52AsCCWfZazCSebgLAAdFxcnHxdly5dXNDnuOOOky22Pn36dF1wwQVatmyZTjjh\\\\\\n\",\n       \"BPkTf578sLGeOXNm/fnw8HC/m3w5/fTT3ef29u3ba926dX4z+WL/b6qrq+vPr1y5UmeeeaYuu+wy\\\\\\n\",\n       \"rx4X0BLIwEKrsawTm70IDQ3V0KFD1alTJ51zzjnuRTSY5OTkuEDGyy+/rNjYWG8fjk/YvXu32rZt\\\\\\n\",\n       \"q0Bl5ZEWqJkwYUL9Pvs7sPMLFixQsD7nJpCf94OxL4LnnXdeo/8PweK9997TiBEj3IdmCzzYe4EF\\\\\\n\",\n       \"8oCmTgDYpJcFsuz90yYA/IF91rFg9UUXXSR/nYC49tprXQDCAnE2AZGZmene1/yBZb+de+65LoDV\\\\\\n\",\n       \"p08f/f73v1d8fLzLCPbXyQ9/CZw0ZAGrjh071m8pKSnyx8mXkSNHuokXC+JaGwx/YAG3hmP//vvv\\\\\\n\",\n       \"u2M/9dRTvX1oQLMRwEKr2bBhQ30a8X333edePO0N+LTTTlNBQUFQjLzN/NmHwBtuuMF9iYP03Xff\\\\\\n\",\n       \"6amnntL//M//BOxw5Ofnu5mv1NTURvvtfHZ2toKNlZBa6YPNZg4YMEDB5PXXX3fBfCvJCdb3Acu2\\\\\\n\",\n       \"tC+SH330kX72s5/plltucRkRwIEwAeB7/HkCwt6L7XXYsuKslNCf+Pvkh2UsWRmtZd5bIM6CoP4i\\\\\\n\",\n       \"kCZf7DX1lVdecRmhVkYI+DsCWDhiVv50oLrqhltd3yNz77336pJLLtHw4cPdTIZd/uabbwbFGFig\\\\\\n\",\n       \"pqioSPfcc48CTVPHoCHLyLNyQvtAYLPrCA72IdwyL+1LRDDJyspyZdSvvvqq6+MTjOx9YNiwYfrD\\\\\\n\",\n       \"H/7gvgD89Kc/dX/7llEDHAgTAL7FXycgvvnmG5d1FRUV5SYR33nnHb9qYeHvkx9W+muZe5bNZ5MY\\\\\\n\",\n       \"Gzdu1CmnnOI+E/uDQJp8sR58u3btchPqQCDwn2Jk+Iw77rjjsC+CNtuyfft2d7rhBwb7IGGX+dMs\\\\\\n\",\n       \"THPGYPbs2a5kzB53QzarY7NR/vhGeKRjUGfbtm2ul8CYMWP0/PPPK5BZmnxYWJgrH23IzlsqdzC5\\\\\\n\",\n       \"6aabXPalNTW2viTBxMptrGm/BXAaZgPYWPz1r391K5Pa/5NAZqXj+35p7Nevn+sHCMB/JiDmzZsn\\\\\\n\",\n       \"f3L88ce7FZ8te+ytt97S5MmTXW8vfwhi1U1+2AIo/jr5YWW0dax/lwW0unXrpn/961+N+uL6cuDW\\\\\\n\",\n       \"Pqvb5IuxCRj7O7DJF/u/5E/+8Y9/uOcjGBeSQmAigIWjqqu27XAs48oCN9Z0dezYsW6frUS2adMm\\\\\\n\",\n       \"9yYWDGPw5JNPNmrabEEca0RrDWrtzTwYxqAu88qCV3VZeNYPKpBFRka6xzpr1iy3elPdhyE7bwGd\\\\\\n\",\n       \"YCmfvfnmm92s95w5c4Kycff48eNdFkBD1tPHVmL65S9/GfDBK2NZG/uuXrZ27Vq/fw9A62ECwHf4\\\\\\n\",\n       \"8wSEvQ/37t3bnbb3Y2tq/cQTT7iG6L4uECc/2rRp4/qRWRsJfxAoky+bN292jfT/7//+z9uHArQY\\\\\\n\",\n       \"AlhoNbZ0saVtP/DAA64Ron1hsRUJTbCsgtG1a9dG5y2d3VgjRX/7MHi0LHhlfc/s+bdVB/Py8uov\\\\\\n\",\n       \"C+RsJFtBy2bpbAbPGoDaKlrWg6NuVcJgmLV/7bXX9O9//9stxV7X+yspKcktRx0M7HHvW3JjK3jZ\\\\\\n\",\n       \"ktz+VIrTHLfffrvLurRZ7Msvv1yLFi1yGZiBnoWJo8cEgPcF4gSETSJZ4McfBOLkhzWkX79+va65\\\\\\n\",\n       \"5hr5g0CZfLFJY+vhZb3UgEBBAAutygJWtgqJvWGVlZW5rCMrq/PH1VRwdCwF3mbcbNs3aGcfkgPV\\\\\\n\",\n       \"pEmTXLDu/vvvd8GbIUOGuF4Q+zZ2D1TWO8JY8HLfD1P0YQgeJ554ovsSbH0Af/vb37ovwhbMtRJq\\\\\\n\",\n       \"IFAnAOzLesNME+v/Y+Vs1gR934ktX+TvExD2emMlUzbW1nPJHosF4qyXkT8IhMmPO++8060GaQEf\\\\\\n\",\n       \"qz6wyWwLvF1xxRXyB4Ew+WJBW/vMZa+l9l0MCBQhnkD+BgkAAAC/Y6VSNglWNwFgJfn+UnpvwRIr\\\\\\n\",\n       \"m9+XfZG0xta+7mArlfnLBIT1WLKSfevFakE368FkmUtnnnmm/JVNBtnfgQVz/cEPf/hDV/K4Y8cO\\\\\\n\",\n       \"127CWon8/ve/dxUI/sLKZy0Yaqsp2uSLBdb9aQGijz/+2LUtsUwyK98EAgUBLAAAAAAAAPi0wO6k\\\\\\n\",\n       \"DAAAAAAAAL9HAAsAAAAAAAA+jQAWAAAAAAAAfBoBLAAAAAAAAPg0AlgAAAAAAADwaQSwAAAAAAAA\\\\\\n\",\n       \"4NMIYAEAAAAAAMCnEcACAAAAEFDmzJmjkJAQ7dq1y9uHAgBoIQSwAKAVbd++XVdeeaX69Omj0NBQ\\\\\\n\",\n       \"3XbbbYw3AAAt7LTTTmv0HjtmzBj3HpyUlOS1sSaIBgAtiwAWALSi8vJytW/fXvfdd58GDx7MWAMA\\\\\\n\",\n       \"cAxERkaqY8eOLgsLABAYCGABQDPk5eW5D8h/+MMf6vfNnz/ffXCeNWuWunfvrieeeEI/+tGPvDoL\\\\\\n\",\n       \"DABAoLr22mv12WefufdbC1jZ9tJLLzUqIbTzbdq00fvvv6/jjz9esbGxuvTSS1VaWqrp06e79+vk\\\\\\n\",\n       \"5GTdcsstqq6ubjQRdeedd6pz586Ki4vTqFGjXGZVnc2bN+v88893t7XLTzjhBH344YfatGmTTj/9\\\\\\n\",\n       \"dHcdu8yOxY7T1NTU6OGHH1aPHj0UExPjJrjeeuut/TK3PvjgAw0aNEjR0dE66aSTtHLlymM4qgDg\\\\\\n\",\n       \"e8K9fQAA4M8su2ratGm68MILddZZZ7kPxddcc41uuukmjR8/3tuHBwBAwLPA1dq1azVgwAD99re/\\\\\\n\",\n       \"dftWrVq13/UsWPXkk0/q9ddfV1FRkS6++GJddNFFLrBlQacNGzbokksu0cknn6xJkya529j7+bff\\\\\\n\",\n       \"futuk5aWpnfeeUdnn322vvnmGx133HG68cYbVVFRoblz57oAll03Pj5e6enpevvtt939rVmzRomJ\\\\\\n\",\n       \"iS5YZSx49corr+jZZ59192G3vfrqq91nilNPPbX+eO+66y732Gyi7Fe/+pULlNnjjIiIOGZjCwC+\\\\\\n\",\n       \"hAAWADTTueeeqylTpuiqq67SiBEj3AdY+3AKAABan2U4W+azZVVZsMdkZGTsd73Kyko988wz6tWr\\\\\\n\",\n       \"lztvGVgvv/yycnJyXNCpf//+Lmvq008/dQGszMxMvfjii+6nBa+MZWPNmDHD7bfsa7vMglQDBw50\\\\\\n\",\n       \"l/fs2bP+97Vt29b97NChgwuS1WV02e1mzpyp0aNH199m3rx5eu655xoFsB544AGdeeaZ7rRliXXp\\\\\\n\",\n       \"0sUF0C6//PJWG0sA8GUEsACgBTz66KNu5vfNN9/UkiVLFBUVxbgCAOBDLMBVF7wyqamprnTQglcN\\\\\\n\",\n       \"9+Xm5rrTlmVl5YS2EEtDFoRq166dO20lhz/72c/08ccfa8KECS6YZWV/B/Pdd9+5TLC6wFQdy+Ia\\\\\\n\",\n       \"OnRoo311Aa66YJhlea9evfqoHz8A+DsCWADQAtavX69t27a5vhbW96JuJhYAAPiGfUvvrM/UgfbZ\\\\\\n\",\n       \"e7kpLi5WWFiYm5iynw3VBb1+8pOfaOLEia5flQWxLAP7z3/+s26++eYDHoPdp7HrW1+thpj8AoBD\\\\\\n\",\n       \"I4AFAM1ks6bWu8LKDWx21D7M2qytlQwAAIDWZyWEDZuvtwTLiLL7tIysU0455aDXs35XN9xwg9vu\\\\\\n\",\n       \"uecevfDCCy6AZcdkGh6XlSlaoMpKDxuWCx7IwoUL1bVrV3d6586drv9Vv379WuzxAYC/IYAFAM10\\\\\\n\",\n       \"7733avfu3a4xrM3IWiPY66+/3q10ZJYvX14/62qrFtp5+1BrH2IBAEDzWSngl19+6bKg7b24Louq\\\\\\n\",\n       \"Oax00Ppb2krCllVlAS17H7dVhq1M8LzzztNtt92mc845x13XgkzWP6suyNStWzeX0WWfB6xfpjVx\\\\\\n\",\n       \"T0hIcH20br/9dneMY8eOdZ8hvvjiC9foffLkyfW/3xrSW6milTXaZ42UlBS3aAwABKtQbx8AAPgz\\\\\\n\",\n       \"W+r68ccfd01g7YNnaGioO/3555+7RrHGPvDaZiUIr732mjttH2QBAEDLsKCQlfnZ5JCt5mcZTi3B\\\\\\n\",\n       \"mrVbAOuOO+5wWdYWQFq8eHF9ZpRlV9lKhBa0stUJLZD1t7/9zV1mJYK/+c1vdPfdd7sglK1oaB56\\\\\\n\",\n       \"6CH9+te/duWGdbezksIePXo0+t1//OMfdeutt2r48OHKzs7Wf/7zn/qsLgAIRiEej8fj7YMAAAAA\\\\\\n\",\n       \"ANROjtlqiJbRVbd6IQCADCwAAAAAAAD4OEoIAQAAAAAA4NMoIQQAAAAAAIBPIwMLAAAAAAAAPo0A\\\\\\n\",\n       \"FgAAAAAAAHwaASwAAAAAAAD4NAJYAAAAAAAA8GkEsAAAAAAAAODTCGABAAAAAADApxHAAgAAAAAA\\\\\\n\",\n       \"gE8jgAUAAAAAAACfRgALAAAAAAAAPo0AFgAAAAAAAHwaASwAAAAAAADIl/0/NThDOle0kxwAAAAA\\\\\\n\",\n       \"SUVORK5CYII=\\\\\\n\",\n       \"\\\"\\n\",\n       \"  frames[4] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQAA4lFJREFUeJzs3Qd8U1X7B/Bf0r13KS0FCmXvvYeAgoKCW0RB3L44cPxVVNwK\\\\\\n\",\n       \"bn3VVxHBreDArYAMEVmyN2UVWiilLaV7N/f/eU5NSdNB2qbN6O/r50pym9ycnHtzx3PPeY5O0zQN\\\\\\n\",\n       \"REREREREREREdkpv6wIQERERERERERHVhAEsIiIiIiIiIiKyawxgERERERERERGRXWMAi4iIiIiI\\\\\\n\",\n       \"iIiI7BoDWEREREREREREZNcYwCIiIiIiIiIiIrvGABYREREREREREdk1BrCIiIiIiIiIiMiuMYBF\\\\\\n\",\n       \"RERERERERER2jQEsIrI7I0eOxE033WTrYlAjkvUt691Zffzxx9DpdDh27JhV66x169ZWW575sn19\\\\\\n\",\n       \"fdFY5HtY8ptviHq0l/1Zfb/boUOHcNFFFyEgIEAt54cffoC9s3S9k+PuS59++mm1PToiY9nT0tJg\\\\\\n\",\n       \"z5YuXYqePXvC09NTlTcjIwPOyBH3/0RkfQxgETVx69evVydpDXXCc+TIkfKTqi1btjhU2RtTUlKS\\\\\\n\",\n       \"+i47duyo8zJ+++03tQxbk/URHh6u1vm3335r6+IQOcT+rL6mTZuG3bt344UXXsBnn32Gvn37oini\\\\\\n\",\n       \"vrTx5eXlqWPPn3/+CXthj2VqCGfOnME111wDLy8vvPvuu+q37+PjY+tiERE1GAawiJo4CQI988wz\\\\\\n\",\n       \"DRYEuv/+++Hq6uqQZW/siy75LvUNYMkybO3JJ59UFw9EloqLi8P8+fPtvsIacn924403Ij8/H61a\\\\\\n\",\n       \"tar1e+V9GzZswC233IK7774bN9xwA1q0aIGmiPvSxif7ezn2VBUseuKJJ9T2aU9lciabN29GdnY2\\\\\\n\",\n       \"nnvuOfX7l9++m5ubrYtFRNRgGMAiogazbNkyNclFn60ZDAYUFBTYuhhOb8+ePXjvvffwyCOP2Loo\\\\\\n\",\n       \"5EA8PDzs/qKrofdnLi4u5a27ais1NVX9GxgYaLXyyP5S9ptVyc3NtdrnkHPvSyXgK9s1NYyUlBSr\\\\\\n\",\n       \"//Zt9fvmeRoRWYIBLKImTJrX/9///Z96HBMToy6crJVfoLi4GPfdd5+a2rZti8YuuzyWlghffPEF\\\\\\n\",\n       \"unTpoi6QJU+E3I2Vv5nflZX3yXzJsWDqwIEDuOqqqxAcHKxOwqVbzk8//VTr8v7xxx8YOnSoOsmU\\\\\\n\",\n       \"3EIdOnTAY489pv4mZenXr596PH369PLvYizL2rVrcfXVV6Nly5bqe0RHR6uLaNO72pL3RLoPGL+7\\\\\\n\",\n       \"cTI9MXzzzTdVXcj3aNasGe644w6cPXsW1iTr+/LLL8ewYcPQUKTF3cyZM1U9SH3ExsbipZdeqnCx\\\\\\n\",\n       \"bVyfr776Kj744AO1DcprpZ7ljrU5Wc/SDSMsLEx1xZD18/jjj1d4zfbt23HxxRfD399frcPRo0dj\\\\\\n\",\n       \"48aNlZa1d+9ejBo1Si1HWsE8//zz1QYCfv/9d1VX0uXDz88P48ePV+83J/mMunbtqtad/Pv999/X\\\\\\n\",\n       \"sfaAb775Bn369FHlCw0NVXfsT548WeVrjx49irFjx6ryRUZG4tlnn4WmaRVes2jRIrU8Kb/UTbdu\\\\\\n\",\n       \"3fDWW2/VOxeSJfW4atUq6PV61erP1JdffqnWvwQArKGh92fV5XeRepkwYQL+/vtv9O/fX63/Nm3a\\\\\\n\",\n       \"4NNPP62wLzS22pJ9oizDNDearNubb75Z/eblNyD7gIULF1b4bON+UdaltJiJioqCt7c3srKyyvOh\\\\\\n\",\n       \"SffJSy65RK3nKVOm1Gq/ItuMrD9Zj7LcCy64oMrt3BLcl1pHeno6HnroIfV7lfUrv13Zv+3cubPK\\\\\\n\",\n       \"YKZsZ+3bt1fruXnz5rjiiivUNiHbq+w3hbR4Mh57jN3Zq8qBVVJSoloMGffLsr3K8bCwsLDC6yzZ\\\\\\n\",\n       \"/qtyvjLt2rVLbdeyLFlmRESE+o1Id7zzOX78uDrmyH749OnTDXJMkv2NHJNOnTpVY1kk15l0HRay\\\\\\n\",\n       \"HFm+6X7Ukn19db/v//73vyqobtrC/bXXXlOf8cADD5TPKy0tVe8xDbTKdxw8eDBCQkLUZ0sZqkon\\\\\\n\",\n       \"UN15Wm2Po0TUtDRMO3gicghyAnrw4EF89dVXeOONN9QJjjCe+GVmZqoTqfORE0DzhM9yUSMXMXIx\\\\\\n\",\n       \"tGTJkkYvu/Hi9uuvv1YnSPJ3ORmuTXdDOYEaMmSIuph79NFH1UW8LG/SpEn47rvvVKDG0uXISXj3\\\\\\n\",\n       \"7t1VAEBO0g4fPox169apv3fq1EnNl4vw22+/vTz4IyeAxpNQ6Q5x1113qRPCf/75B2+//TZOnDih\\\\\\n\",\n       \"/ibkolG6zsjFneTAMCd/lwtkCZDde++9iI+PxzvvvKOCMlIOY+uXnJwci1qqyeslWbQpKYt069y/\\\\\\n\",\n       \"f3+DJVmVehgxYoQ6CZfvJEE9+cxZs2apk33Z7swDGdK9Ql4rJ8svv/yy2nYkMGP8znIxI3Uuz6X+\\\\\\n\",\n       \"ZTuRk/mff/5Z5RMyrkN5jVzkPfzww+q18+bNUxcQa9aswYABA9TrkpOT1cW5XKAZtxm5WJGTcHOy\\\\\\n\",\n       \"nuTiQwJEcrEj300CLhLolPViDEIsX74cV155JTp37ow5c+aoiyxZj3XpImbcBuRiR5YlF2ASbJJt\\\\\\n\",\n       \"QD7T9C6+XJiMGzcOAwcOVPUmFxZPPfWU+m6yvQrZ3iZPnqyCefIdhKx/WZ4Ee+rK0nqUC5z//Oc/\\\\\\n\",\n       \"6rvI77J3795qO7jnnnswZswY3HnnneWvtef9WU1kXyFBdOkeJNuLBJ/kolMuCuWiT7ZnWW8S1JZ1\\\\\\n\",\n       \"IRehxvLL+pX1Z7xQlP2jBE1lWRKckotuUxJUcHd3V4ENCSbIYyHrQbZT2Tbl4lSCULXZr8i+TS5A\\\\\\n\",\n       \"pWwybdu2TSWcLyoqqlVdcF9qPbIPlMC43ByRm0Cyrcg+Tfav+/btUwFr435Ajl8rV67Eddddp37X\\\\\\n\",\n       \"sk+V3760EpPfmey35Pgkx0TZHoUc76pz66234pNPPlHb9YMPPohNmzap37DsO8yD8+fb/qsi23lN\\\\\\n\",\n       \"ZZKyy/eX7VaCV7Jdyf5F/pWbEtW1gpTjguxz5IaWLEPOKxrimCTLkvMC+b7mN9VMyU0WudkiZZd9\\\\\\n\",\n       \"sqxHY4C9Nvv6qn7fEqCTgJEED2X9G2+myQ0D+ddIliXnDcOHDy+fJ59z2WWXqUCY/MYlMC7b2S+/\\\\\\n\",\n       \"/KJu0piq6jytNsdRImqCNCJq0l555RVpTqHFx8dX+tuIESPU3843TZs2rcL7Tp06pfn5+Wnz5s1T\\\\\\n\",\n       \"zz/66CP1us2bN1tUJvlc82XWtuwyX6/Xa3v37q0wf/Xq1epv8q8pWYbMl7IajR49WuvWrZtWUFBQ\\\\\\n\",\n       \"Ps9gMGiDBw/W2rVrp1nqjTfeUMtOTU2t9jVSN+afb5SXl1dp3pw5czSdTqcdP368fN6MGTPUMsyt\\\\\\n\",\n       \"XbtWzf/iiy8qzF+6dGml+VLvlqxzWUfmZWzZsqU2a9asCvX8zTffnLd+jJ9rvsyqPPfcc5qPj492\\\\\\n\",\n       \"8ODBCvMfffRRzcXFRUtISKiwPkNCQrT09PTy1/34449q/s8//1w+b/jw4Wp7Na1L47o2mjRpkubu\\\\\\n\",\n       \"7q4dOXKkfF5SUpJ6n7zfaObMmWr5mzZtKp+XkpKiBQQEVNhWs7OztcDAQO22226r8JnJycnqtabz\\\\\\n\",\n       \"e/bsqTVv3lzLyMgon7d8+XK1vFatWmmWKioq0sLDw7WuXbtq+fn55fN/+eUXtawnn3yy0nZwzz33\\\\\\n\",\n       \"VKiP8ePHq3owbsv33Xef5u/vr5WUlGj1Id/D9DdvaT2K3NxcLTY2VuvSpYv6rUoZpUzm69Pe92fG\\\\\\n\",\n       \"5Zp+N6kXmffXX39VqAcPDw/twQcfLJ9n3N5ln2jqlltuUdtOWlpahfnXXXedqkvjvsX4e23Tpk2l\\\\\\n\",\n       \"/Y1xW5DfWF32K1Je2WZkvZj+ph577LEq67sm3Jdab18qv5XS0tIK82Q7km3r2WefLZ+3cOFCtZ5e\\\\\\n\",\n       \"f/31Ssswrk/ZH8hrnnrqqUqvkXmmx6UdO3ao57feemuF1z300ENq/qpVq2q9/VelpjJVdUz96quv\\\\\\n\",\n       \"Kn2WseyyrP3792uRkZFav379KhxTGuKYZHxtbfYbpvujuuzrzX/fsm3IfvThhx8uX9dS9quvvlp9\\\\\\n\",\n       \"LzmGCdku5Fzr7Nmz1davlEfKMmrUKIvO02qz/yeipoctsIioWtJc3JIuZsY7tUbSlFya5stdVluS\\\\\\n\",\n       \"u6LSaqWu3SvkzqDc1ZS7pTIZyZ1KaYkid0mlddb5GO90/vjjj+qOqNzBrA3Tu46Sm0K6DkrrLDn/\\\\\\n\",\n       \"k7ufcse3JtIySlpLXXjhhRWGA5c72NJSY/Xq1bj++uvVPGldJN0MzicoKKjC87lz56rWLcZukQ1F\\\\\\n\",\n       \"vou0hJLPN/0u0gpAyvDXX3+Vd28S1157bYWyGlu3yd1uY+4geY+0KjCvR+NdeGmBIK2gpIWPbNdG\\\\\\n\",\n       \"0o1G6k2Sj0trFmmdJYn0pcWLdHcxbQ0gZfrf//5XPk/u3ktrQGkxY/o9pMuGtOaSdSLkDr4k9pe7\\\\\\n\",\n       \"0KYt3mRdyrZdm1wlMmqe5EuRbjSmOWnkjnjHjh3x66+/VhoEQO6Km9aHPJfXrVixQrXGkG1byiDf\\\\\\n\",\n       \"R1prWYul9SiktYC0NpAWADJJC8UFCxZUWp+Ouj+T9WzaJVfqQVpdGLfh6sj+QVqKStdYeWy6nck+\\\\\\n\",\n       \"TFpFSEsoaWVqJC0+qmvlIK1Z6rJfkW1FWmFIqzjTli3S+uvFF1+sVV1wX2o90hLYSPZxsj8ydm+X\\\\\\n\",\n       \"7cJItiFpGSPrz1xd8rXJb1uYdkMT0hJLWv/I/kVa39R3+6+J6TYuLY6lBZHsb4R8d/Mu8NLSTI4l\\\\\\n\",\n       \"0jVQWjDKvr6hjklCWiGZd9Wujbrs681/33KeIucZUn4hreOk9a8ci2SbkEEj5LcvrbGktZZpiy7T\\\\\\n\",\n       \"+pV9rmxf8j2lxbwl52m12f8TUdPDABYRVUsuRGpLmt9L1yjpblDbQI21SXP6upJuC3ICOXv2bDVV\\\\\\n\",\n       \"RU4QLQlgyQnrhx9+qC6A5eRPultJlwHpFmFJHSUkJKguOJJ7y/wCXLpFnc+hQ4fU68LDw6v9HkZy\\\\\\n\",\n       \"IlnboJ90F3zllVdUDi7zrlfWJt9FuvyZdhWt7rsI8yCG8cLBWI/GiwY5Aa+OBLmkm4hcNJmTbh7S\\\\\\n\",\n       \"zSIxMVF1Z5H8KMbuhKbM3yvfQ0h3lKoYL5BkeaJdu3ZVLtP0QvN8jMuq6nvIRY10FTEl26ZpwE5I\\\\\\n\",\n       \"Dhxh7CIq3fek+4fkzpHfgnQLk4BJfYNZltajkQRh5AJMtkEJzkg+G2fZn1UVoJbt+HzBONluJSgh\\\\\\n\",\n       \"XW9ksuT3Ut0+UxJxm3dZtXS/Ut02LL9h80D4+XBfaj2y35KuXhIQkK6fEmQwkq7qpt3m5HdnrdE3\\\\\\n\",\n       \"ZXuQ35IEg0xJVz4Jghi3l/pu/+e7QSUBHAnimv8GqjqmXnrppSq/mwziYH6Ms/YxyRpqu6+v6vct\\\\\\n\",\n       \"JOgkQTC5aSaBKrlpI920e/TooZ5LAEuWJft8U9JVULoMy80X07xmVQU8q9rn1Hb/T0RNCwNYRFTj\\\\\\n\",\n       \"SZ4lOUrkbpuxdYi04JGTHjkpMV7kGu9KSmsSCcacr8WQtVTVkqC6O8amJ+/CmCxUcsHIBXFVzE/A\\\\\\n\",\n       \"ayqH3MWUFgly51NyCS1evFgFL6Rlj7S6qY6US04SZV1ISxA5+ZR8ENL6S/KAWJLUVF4jF5mSKLUq\\\\\\n\",\n       \"pifecvJuyZDnkhtH8oAICa5J8ELyQRnXueSwMF5EyzxZ59YIAMh3kfqQ7awqxgCLUXV1W5+729Zg\\\\\\n\",\n       \"XG8SHJELN3PWulhsaLJdyUWKXNhJywSZPvroI0ydOlXluGkscpFkHJhBLrgl4GjM0+To+7O6bsPG\\\\\\n\",\n       \"bUxaVBoTPZszz1NUXesraa1j/vutzX7FWrgvtd6+VFq/yc0ZCfZK7jPZn8typWVcYyTLtrT1VkPs\\\\\\n\",\n       \"wyXgInmqZNCDnj17qqCUfGcJvFf13SUHoezPZFuX3FXOdkyq6vctJCeWtKyW1lYSsDK2FpN/5bkk\\\\\\n\",\n       \"mpdjvGmLNZkv+a+kNawERyXoJbm95Lgg+b/MMa8VEdWWY5whE5FNTiKllZAkqD4f00SjckEnd8+q\\\\\\n\",\n       \"uqsmJzVyYVibROo1qUv3BePdTvMymN/1NbY8kRMv6QpQX3JyKC2vZHr99dfVxYMkYJWgliy/uu+y\\\\\\n\",\n       \"e/dulaxeTp4lKGAkXbbMVbcMSeoq3Xiklcr5ThalK50lgQdp9m8MGMg6lxZr5q11jC10jHeXrTHM\\\\\\n\",\n       \"t3wX6e5hjXUijGWWLiLVkQtxCYbExcVV+pucwMu6ldGnhIwGZ2xdZcr8vcZEuxIAqOm7GEeXs2SZ\\\\\\n\",\n       \"52NclrzPvOWXzDP+3fTCTFqomV6AybYoTEe5k2CmtFCQSd4j61ySQcvFsaVB3qrKWpvvLF16pYuL\\\\\\n\",\n       \"dEGSQK+0dJRRtBxpf2Ztst3K6GASBLfW76Uu+xXTbdh0HyEXvnVpdcJ9qXX2pTIqnHTVk+62pmR7\\\\\\n\",\n       \"Ng6KYlzPkmRdAhnGJOP1ORbL9iD7CdkepAWrkSQZl8823w/VVXVlkm1OWlRKCyzT0Uur2t8YSQtj\\\\\\n\",\n       \"uakg+zb5TRm73DfEMckaaruvr4504ZP9uwSlZDKO/CzBKek6L/VofG4k3Qul26Lc1DDtpioBrNqU\\\\\\n\",\n       \"3xrHPCJyTgxgETVx0ppHVHURVpecMdJVRVo/mJJcUjJqnlxcSguixih7TSdGcgdUWkRJTiMj87wK\\\\\\n\",\n       \"EliQFkVyIS65P+Quoim5+LK0hYG0/DC2VjKSu77C2Ly+uu9ivFtrendWHkvXD3OmyzC9wJG7zfL9\\\\\\n\",\n       \"5C67ec4ZGeVHTr6Nr69LDizpKmCa+8MYEJIAhixv0KBB5WWrL/ku0qVBTo7NW8YZc7jUpvWSrEM5\\\\\\n\",\n       \"+ZaRrSQni2lrGqlnuQiSdSBd4ySHmbTCMQZv5IJL7ijLXWpjlz8ZYU1GnZI8TMb8HbKtmLdSkbLL\\\\\\n\",\n       \"e2R9yEWk+YWhcfuS7U62FQkqmubBkgCmjBRWm4u9vn37qu36/fffV60ujBcX0mpKgj+mF3NGMqKc\\\\\\n\",\n       \"MRAk9SHPpawSiBWSE8W0u5EEF4yteky7jtSWpfUo5OJa9i3SckTy6Mi2KCMiSqsJCbQ6yv7M2mS7\\\\\\n\",\n       \"lTqQbVR+j+bdZGuzD6uKpfsVubCXbUbqTH5HxsCC+ehsluC+1Hr7Utk+zFv9SD4nad1rGniWbUha\\\\\\n\",\n       \"DstvX0a6NGXcRxpbO1pyLJbftuRKlPUvx1cjubEjzEepq6vqylTVMfV826N8R9kXSC5MCXDLcUYC\\\\\\n\",\n       \"2A1xTBISLJSWpLK/Nz/3aKh9fVUkECWjGEruKgnmm7bAkpbacmyQAJ5pGaV+pb5MW7XLcVNGvGyI\\\\\\n\",\n       \"/T8RNT0MYBE1cca8MNIaSJIyy4WGtKSQk+S65IyRCxRzxhNIuZiUE6vGKHt15IRQhnOWiyk5yZKT\\\\\\n\",\n       \"L8nXYJ6nQkg+HQlOdOvWDbfddptqPSBBC2lOf+LECezcudOickoieAmYyYm5BBzks+TCT3JOyPKF\\\\\\n\",\n       \"lEMu9uSEU+7wyneQHBBygSx/k66McmEhQQ+5w1nVhbixPmQ4ezmRlhNJqRepd+n2IENpS3cvWUdS\\\\\\n\",\n       \"V3KHUy5YJBgm+bjqmgPL+B1MGQNicvJrGiisL7kDLLnAZFhv41DqkkRcWqpJiwI5UTZtPWAJOQmX\\\\\\n\",\n       \"7yC5PW6//fby7mJy0Sb1ZQzSSdBIXid34eWCRC6+JEgjw6AbScBOugVKVxRpzWYc/lvWu+RJMZL1\\\\\\n\",\n       \"KMO833jjjepzZT1JMEEuEuRzpVWLXDAKWW+y7chny8WIXMTL9is5tyRIYClZ5xLYkYEEZJuQBPLG\\\\\\n\",\n       \"odUlKGd+cSoXL9LdVS7YZFuUix8pm1x8GgMfktdNyiN3+WV7ltZKUjYJupm2rqgtS+tREjBL+SS/\\\\\\n\",\n       \"0gsvvKDmScuKn3/+WX1P2S6M+wN73581BEkiLa08Zf3JPkx+27K+JHeatJ6Sx3Vl6X5FthXZf8nr\\\\\\n\",\n       \"5HcrF6cy+IRsT7X9rXJfar19qawLqU/5nUiybvmtSIDAvCWttPz99NNPVYBfAgoSvJB9rmw/si+c\\\\\\n\",\n       \"OHGiaoEn25Z0jZcWm3LDRgKmVeUWlPxJ8puV37P8lmQ7kuVKkF6OFaYJ3OujpjLJTQvZb0ugSLq/\\\\\\n\",\n       \"S1d+yQNWEwnOf/7556qMErSSROOy32uIY5Ic62X/adoatDZqu6+viaxv2Y/IuZOcCwkJjkk+KmkR\\\\\\n\",\n       \"Jd/ZlByrJBgp+25pqSbnO3IuJUFR0323Nfb/RNRE2XoYRCKyPRkGOioqSg1n3BBDFDfUsPM1lV0e\\\\\\n\",\n       \"z5gxo8r3yJDYV155pebt7a0FBQVpd9xxh7Znzx71HimrqSNHjmhTp07VIiIiNDc3N/VZEyZM0L79\\\\\\n\",\n       \"9lvNUitXrtQmTpyohuCW4eTl38mTJ1cadluG0+7cubPm6upaoSz79u3TxowZo/n6+mqhoaHabbfd\\\\\\n\",\n       \"pu3cubNSeUtKSrR77rlHCwsL03Q6XYWhy8UHH3yg9enTR/Py8tL8/Py0bt26qSGyk5KSNGtbvXq1\\\\\\n\",\n       \"+vxvvvnGqkO/Cxm+e9asWVpsbKyqT6mTwYMHa6+++qoartt0GPJXXnml0vurGlpd1v/ll1+uBQYG\\\\\\n\",\n       \"ap6enlqHDh202bNnV3jNtm3btLFjx6r1INvOBRdcoK1fv77S8nft2qW+iyxHthfZRhcsWFDlb0vq\\\\\\n\",\n       \"SZYpw4PL69u2bavddNNN2pYtWyq87rvvvtM6deqkho+XbWTJkiWqzmSY+dpavHix1qtXL7Ws4OBg\\\\\\n\",\n       \"bcqUKdqJEycqvEaWLUPDy/Z/0UUXqe/brFkzVW8yvLqR/A7k7zJku6yLli1bqt/TqVOnalUm+R7m\\\\\\n\",\n       \"v3lL6vH+++9XQ7qbDrcupP7kd3TXXXdp1tZQ+zPjck23EamX8ePHV7lM099LTdv76dOn1b4wOjpa\\\\\\n\",\n       \"7cNkXzZ69Gi1P7Dk92rcFqpjyX5FtplnnnlGa968uXrdyJEj1W+uqvVeE+5LrbcvLSgo0B588MHy\\\\\\n\",\n       \"dTJkyBBtw4YNlbYtkZeXpz3++ONaTExM+TZ01VVXqf2DkewLZTuQ/YDpPlb+NT8WFRcXq+3BuDzZ\\\\\\n\",\n       \"NmWfLmUyZen2X53qyiT7O+P+Xva9V199tdpezY8NxrLLOYNpXchny3Fg48aNDXJMMr62NvuNqvZH\\\\\\n\",\n       \"tdnXV+fXX39Vy7/44osrzL/11lvVfNknm5N57dq1U5/bsWNHVcaqtoOaztNqcxwloqZFJ/+zdRCN\\\\\\n\",\n       \"iMiUdN2Tu4R1ufNIjknu4sqdamNeLSJnwf0ZNSbuS4mIyJnZdox7IiIiIiIiIiKi82AOLCKiekhO\\\\\\n\",\n       \"Tj5vHg5j4m2ihiK5jIqKiqr9u+RDq0/C7rri74O4rRAREZG1MIBFRFQP5xshqK5JWIlq44orrsCa\\\\\\n\",\n       \"NWuq/bskv5Uumo2Nvw/itkJERETWwhxYRET1ICMx1SQyMrLWo/oR1dbWrVurHJnStCWgjGzY2Pj7\\\\\\n\",\n       \"IG4rREREZC0MYBERERERERERkV1jEnciIiIiIiIiIrJrDGAREREREREREZFdYwCLiIiIiIiIiIjs\\\\\\n\",\n       \"GgNYRERERERERERk1xjAIiIiIiIiIiIiu8YAFhERERERERER2TUGsIiIiIiIiIiIyK4xgEVERERE\\\\\\n\",\n       \"RERERHaNASwiJ/Xxxx9Dp9Nhy5Ytti4KVeHYsWNq/ch6agpat26Nm266qVbvefrpp1UdNdXfrmwj\\\\\\n\",\n       \"REQNLScnB7feeisiIiLUvmfmzJmsdDsmx1I5ptpaYmIiPD09sW7dukb5vDNnzsDHxwe//fZbo3we\\\\\\n\",\n       \"EdknBrDI4ezevRtXXXUVWrVqpQ6cUVFRuPDCC/H2229XeN2LL76IH374oc6fs2/fPnUBbe2LyD//\\\\\\n\",\n       \"/FOdIBonNzc3tGnTBlOnTsXRo0drvbz//e9/TSYIUlMgqLpp7ty5aOrM60i2udDQUAwePBiPPfYY\\\\\\n\",\n       \"EhISbF1Eu2O+Hfn7+2PEiBH49ddfbV00IiKr3rCS8yVZxl133YXPPvsMN954Y5OuYUfb/+fl5anz\\\\\\n\",\n       \"VTm/bEzPPvssBgwYgCFDhlh1uRKgku9jLiQkRAVaZ8+ebdXPIyLH4mrrAhDVxvr163HBBRegZcuW\\\\\\n\",\n       \"uO2229TdQrkDtHHjRrz11lu45557KpyQSaBr0qRJdQ5gPfPMMxg5cmSD3Om699570a9fPxQXF2Pb\\\\\\n\",\n       \"tm344IMP1MmRBOgiIyNrFcCSYERtW7c4m8mTJ+OSSy6pNL9Xr142KY8915HBYMDZs2exefNmvPnm\\\\\\n\",\n       \"m+q3s2DBAlx33XUN9tlxcXHQ62t3z+SJJ57Ao48+CluRwLgEljVNw/Hjx/Hee+/h0ksvxe+//46x\\\\\\n\",\n       \"Y8c22OfKxaOsCw8Pjwb7DCIio1WrVmHgwIF46qmnWCk23v/XNYAl56tCzlkbQ2pqKj755BM1WZsE\\\\\\n\",\n       \"sN59990qg1h33nkn/vvf/6ptdtSoUVb/bCKyfwxgkUN54YUXEBAQoC68AwMDK/wtJSUFjmTYsGEq\\\\\\n\",\n       \"wCamT5+O9u3bq6CWnAzMmjXL1sWzK7m5uarZeE169+6NG264AU1VXetITswvuugiTJs2DZ06dUKP\\\\\\n\",\n       \"Hj0apHx1Cca4urqqyVbkN2laX1deeSU6d+6sAn4NeQHj4uKiJiKixiDnT7Jvsxa5SVJUVKRayTsq\\\\\\n\",\n       \"W+3/HcXnn3+ujs8S1GtMcp7StWtX1WKQASyipoldCMmhHDlyBF26dKkUvBLh4eHlj6XJt1zQSzDI\\\\\\n\",\n       \"2ATc2EJJLtj/85//oEOHDvDy8lJNkq+++uoKXQXlwCjzhLT4Mi7DtHm23IWTIJQEDfz8/DB+/Hjs\\\\\\n\",\n       \"3bu3zt/NeCCOj49X/3700UdqnnwvufiXEye5A2hKWobJZ65Zs6a8jOZ33woLC/HAAw8gLCxMlfXy\\\\\\n\",\n       \"yy9Xd84sIXe4jN9R6nzixInYv39/+d+//fZb9Zny+ebmzZun/rZnz57yeQcOHFBBu+DgYHVi27dv\\\\\\n\",\n       \"X/z0009VdoWQZcp6ku/fokULWIPU14QJE/D333+jf//+qgzSffPTTz+t9NqMjAzcf//96j1S/1IG\\\\\\n\",\n       \"uRublpZW4aT/lltuQbNmzdSyJPhT1d1IWZZsfxJ8lXqUYJHMq0pj15F0xZXlycXGyy+/XKnckgsl\\\\\\n\",\n       \"Ojpa1UFsbCxeeukldXFiSp7LSX23bt1UmWVbGzduXIXuLOY5sKTlodwxbteunXqP/A6HDh2KP/74\\\\\\n\",\n       \"o8YcWCUlJXjuuefQtm1bVSZZrnSDlO28ruu6NifO0tpR9kOm5LOl5YLUj5RJ6uvhhx+uVKb8/HwV\\\\\\n\",\n       \"pJZlyD7jsssuw8mTJ9V3NL3TXF0OLGltKfs/+QxppTljxoxK25H8/uXkXlqQyr7L29tbdbM2X7dC\\\\\\n\",\n       \"ul3L8uQ1QUFBalv78ssv61w/RGQ/ZH/r6+ur9jHSEl0ey775oYceQmlpaYWUBnLeIS3AjecRxn2P\\\\\\n\",\n       \"pfs2ec/dd9+NL774onwftXTpUvU3+fybb75ZHSdlvvx94cKFFd5vLMfXX3+tblTK8Uz22aNHj8bh\\\\\\n\",\n       \"w4crfbdNmzap1sSy35Lzk+7du6tjUG2PpY25/5djmxzj5BxA1oWcg8qx63z7fWPdVNc9UF4v61XI\\\\\\n\",\n       \"MdW4Do3HFDnWSl2cOnXKou8pqTfkGCJ1Jv9+//33VebcktdJ90H5LqYOHTqkgn3SQ0KWIetSWhRn\\\\\\n\",\n       \"ZmZa9PnyWdL6Sph24zRvHffzzz+r1nFE1PSwBRY5FLnY3rBhgwqKyIG1OpLDQfrJy4Xr7bffrubJ\\\\\\n\",\n       \"Ba+Q1lvSFVEOqHJglYO/BIbkwk8u+uRibvjw4epCU5opywmGnLgI47+yfAlCyF04uaCX5tuyDDk5\\\\\\n\",\n       \"2b59e526HBpPiuRCXsjy5ERPLnLlLpccrCVYIcECuXAV0v1Luk3KCcTjjz+u5slJoin5u5zkyQmW\\\\\\n\",\n       \"fFd5j5xoLl68uMbyrFixAhdffLG66JcTIbn4lgteyXUgXR7lO0rQTj5bTjolP4QpWb6U37ieJNAm\\\\\\n\",\n       \"75WLaekWJied8j45sf7uu+9UYM2UfFc5KXvyySdVMPJ8ZB2YBpeM5GTRtBWPnAzLSa0EnmQdyom0\\\\\\n\",\n       \"nDD16dNHldeY0FYCdxKskxNvabkky5aT3xMnTqiTWKkP2WZkeVKfMTEx+Oabb9SyJKhw3333qWXJ\\\\\\n\",\n       \"CZYE/iSQIk3fZRuSE0L5bHMNXUfVGTRokPp9mAaPpD5lncrFxx133KG67crvRloHyomwbEdGUpdy\\\\\\n\",\n       \"8i3bi/zuJMi0du1a1bVXLhqqItvUnDlzyn+nWVlZKuAl25acnFZHXi9BQlmHDz74oLqQkeXIupJ6\\\\\\n\",\n       \"NWXJuq4NOQGXrpfGfYmQ36P8RmX9yr5G1q90A37jjTdw8ODBCnn45LNlfUoXQemuIwFI+Q1ZQupL\\\\\\n\",\n       \"Lk7GjBmj8tRIl0zZR8j+TBLoSl4zIymjBBCvuOIKXHPNNSrQ/Mgjj6gAo6wjMX/+fLWPk/qRbbWg\\\\\\n\",\n       \"oAC7du1S9Xn99dfXum6IyP5IoErOUyTQ8Oqrr6rj+muvvab2YbIfkf2VnM/IzRo5H5J9qpDjSm32\\\\\\n\",\n       \"bcYbXrJ/k+OhHCPlHOH06dNqX2cMcMly5eaf7JNln2+eLF5yVkpXcwmyyf5WAu9TpkxR+yUjOU7J\\\\\\n\",\n       \"zYnmzZurfZcESmT//8svv5Qfd2t7LG3o/b+UR8osgTbJGyWBLjk+WSP5udSpHAtkfcr3kv2+kM8S\\\\\\n\",\n       \"cgyXcskx8Hz5UpcvX17e0kyOq5I0XXoImN8gk6CYHHvkM03JjTDZ3iR4J+eesm7k82XdyHmR3MQ7\\\\\\n\",\n       \"HznfSEpKUutZts2qyDFc6ljqtaZrASJyUhqRA1m+fLnm4uKipkGDBmkPP/ywtmzZMq2oqKjSa318\\\\\\n\",\n       \"fLRp06ZVmp+Xl1dp3oYNG+Q2jvbpp5+Wz/vmm2/UvNWrV1d4bXZ2thYYGKjddtttFeYnJydrAQEB\\\\\\n\",\n       \"leabk+XJchcuXKilpqZqSUlJ2q+//qq1bt1a0+l02ubNm6st59ixY7U2bdpUmNelSxdtxIgRlV77\\\\\\n\",\n       \"0Ucfqc8ZM2aMZjAYyufff//9qv4yMjJqLGfPnj218PBw7cyZM+Xzdu7cqen1em3q1Knl8yZPnqxe\\\\\\n\",\n       \"V1JSUj7v1KlT6nXPPvts+bzRo0dr3bp10woKCsrnSbkGDx6stWvXrlK5hw4dWmGZ1YmPj1evr26S\\\\\\n\",\n       \"dWvUqlUrNe+vv/4qn5eSkqJ5eHhoDz74YPm8J598Ur1uyZIllT7PWJdvvvmmes3nn39e/jfZDmW7\\\\\\n\",\n       \"9PX11bKystS8H374Qb3u5ZdfLn+dfK9hw4ap+fJ9G6uOXnnllWpfM3HiRPWazMxM9fy5555Tv6GD\\\\\\n\",\n       \"Bw9WeN2jjz6qtp+EhAT1fNWqVep99957b7V1Zax7099jjx49tPHjx9dY7qeeekot22jHjh3q+a23\\\\\\n\",\n       \"3lrhdQ899JCaL2Wp7bqujrz3lltuUb9Red+WLVu0cePGVarHzz77TG3ra9eurfD+999/X7123bp1\\\\\\n\",\n       \"6vnWrVvV85kzZ1Z43U033aTmy3c1X7+y3ozldnd31y666CKttLS0/HXvvPNO+b7ESPYF5vuywsJC\\\\\\n\",\n       \"LSIiQrvyyisrrG/ZdxCR4zPuM4znD0L2tzLP9DgsevXqpfXp06fCPNlfmu+PLd23CXkur927d2+F\\\\\\n\",\n       \"18o+tHnz5lpaWlqF+dddd506XzKe5xjPizp16qT2V0ZvvfWWmr979271XI53MTExqrxnz56t9nhj\\\\\\n\",\n       \"6bG0sfb/b7zxhnouy6uO+X7fyFg3pueism6lDoxkuebHEfPjf1Xnw1Wd98n6Mj0/lPNueb/p5x0+\\\\\\n\",\n       \"fFjNe/vttyu8f/v27Wq+nD/Xx4wZMyoc+82tX79e/X3x4sX1+hwickzsQkgORVpmSAssueO1c+dO\\\\\\n\",\n       \"dXdO7vbIXTZLm4ZLt0HTu0hyh0mafktLHWn9cT5yV0juJElCbGmVY5wkZ43c5Vy9erVF5ZCWPXLn\\\\\\n\",\n       \"TLoCSSsMY5dHY4sV03LKnT/5DGkRIyMVWtoUW8hdQdPm19KySO7KSlfK6kgLmx07dqgWI9L83kju\\\\\\n\",\n       \"6Mk6MB3C+Nprr1Vd6Uybt0uLD7kzKX8T6enp6u6stAbJzs4urzOpe1l/0uRc7tKZkiT9tckDJN9T\\\\\\n\",\n       \"1o35ZJ7XQ55LHRjJOpCm/KYjQModWukOWNVdWmNdSh3I3UXZDoykFYy0apEWXMZulfI6aQFmeqdS\\\\\\n\",\n       \"vpfpgAONVUc1MXYDkM8W0ppM6kla75lu59ICSLafv/76q7yupE6qSv5r3uzflPze5O6pfC9LGbc7\\\\\\n\",\n       \"6RJrythqwHyEKEvWdU0ksb28R7poyu9y5cqVqmuI6edLPcnd7Y4dO1aoJ2OXYOP+wNidRlrNmTLf\\\\\\n\",\n       \"DqoirSbkzra0VjBNhC/rX0bHMv/esi5Nc7e4u7urVm6m31vqX1oTyl10InJe0vLXlOwTLdkHWrpv\\\\\\n\",\n       \"M5LzE9PjrcSB5PggOZLkseky5Jgm5zHm51zS2kf2V6ZlFcbySgt36e4o+0LzVBLG401djqUNvf83\\\\\\n\",\n       \"lvXHH3+s1AW/oUlLOKn/87W+Mp73SUst05ZScs5nfh4ldSnk/MCU8X3Lli1TrbgbivFzq2p1T0TO\\\\\\n\",\n       \"j10IyeHIyH1LlixRF3QSxJJuQ9KUWLrCyMH3fIlIpeuXNI2WHFNyEmPah96SwJDxgru65JFyQWkJ\\\\\\n\",\n       \"6fYlJ2cSgJDm9nISZNrVTZqWS1BAAnbmJwJSTkuaYgvp+lXVgV+awlfHGNySi31zUk45OTEmDZeu\\\\\\n\",\n       \"SlIW6TIo+SqEPO7Zs6dKgiqkqbzUswx9XN3wxxIEk0CkkXTJqw3JpSTBldrWh7FOTOtDunNKM/qa\\\\\\n\",\n       \"SB3JZ5qPrGfsZmqsQ/lXujqY54kwr9vGqKOaSNBNSG4m43YuXcqMuTWqKouxriQIaxrotIR0o5Cu\\\\\\n\",\n       \"lbKNSBcA2Y6ka52x20NVpC6lviXgbEoCiXKBYB6UtWRd10TKJ91eZF8jgR4Z2VR+i6brXOpJuq+c\\\\\\n\",\n       \"r56MZTdfZ+bfpTa/R7nQky6+5t9bunuYBw/le8v6NJIuhRIYk8CWlEES+UvXQWsPh05EtmPMSViX\\\\\\n\",\n       \"faCl+zYj832b5NqUm30ywrJMlizjfOcrxlQLNXUbq8uxtKH3/3Iz78MPP1Rd4KVLo5wrSVc/OW+t\\\\\\n\",\n       \"7ei8DcV4HJHzGnNy7KnqBq95DirZBiTA9/rrr6t8aHKOKzec5YaKpeesljB+bk03yYjIeTGARQ5L\\\\\\n\",\n       \"Lt4kmCWTXATLnTu5G3a+YaClxYMEr+QOnuT+kYOqHAQlJ5Yld8aMr5G++XLhbM7SUdMkH011ARc5\\\\\\n\",\n       \"SZMTHLmrJycCkhRUvq+0QJFgXW3u4FXXQsdayS8ll4PklZBAoiSZlpwXEnyTkz0jY3klr0V1o/eY\\\\\\n\",\n       \"X8ibtkCzpoauj7qydR1JXjm502wMwEp55M6r3HGuijE4WVeSZ062c7kjLXk35ORetu33339fneTX\\\\\\n\",\n       \"xNKT1vquawkEGX+jkjBYAs1yQSPJ0Y15RqSe5Lcsv9OqyG+3sVnyvSXQKnm0JDeJtA6TlhLy+5XA\\\\\\n\",\n       \"unE4diJybPVpoVvbfZv58ch4TJPgRVU5H4X5DQtrHJ/rcixt6P2/1I20WpYWWdJiVva5cqNPboTK\\\\\\n\",\n       \"8U++d3XHNWPCfXtizNVaVSBUcqxJ633jsV1apctNY8mJaa0BeYyfK+uEiJoeBrDIKRi73ZmOslLd\\\\\\n\",\n       \"yYB0b5OTKTnIGkkCY/PRvKp7vzGBp1zsW9Lipy4kYbskwZRukaZ3JKvqntgQd6AkWb6QC1xzMpqN\\\\\\n\",\n       \"nDRI6ysjubso3R+lib3cjZSTTWP3QSGtRIxd7BqqzqxJ1rHp6InV1ZG0aJETWNM7qFI/xr8b/5V6\\\\\\n\",\n       \"kRZOpq2wzOvWlnUkrfwkmGTa7UzqQMp8vrLI66RFnnTbqG0rLHm9BJ5lks+SoJYkK68ugCV1KfUt\\\\\\n\",\n       \"d72NLd2EBE3l92us84YiyWUlyPbEE0+o7qXy25PvLy1BJeBc02/RWHbp/mJ6h7uqEbaqeq9xmzFu\\\\\\n\",\n       \"J0JaBsjy6rq9yG9YfqcyybLkokxGAJNE/dJyg4iaLkv3bdWRVknSolcCMNY6phnPv+T4XN0yG+pY\\\\\\n\",\n       \"Wp/9v5DzBHmdTBLwkpt8MviOnNdJOY2tzczPRWtK92DN80Djcaaqbv3m5ytyXipBOeOo2eYkqCeT\\\\\\n\",\n       \"1JUM/iIte+Xm1PPPP29RWc73fYyfa3oeQERNh320WyWykBzoq7oTZ8yNY9rFRi7OzE8EhNzpMl+G\\\\\\n\",\n       \"jK5nfpfLGKAxX4bc0ZNWKnLyITm0zEmz+foy3oU0794oLcfMVfc960O6vEkXQAlKmS5bThrljprc\\\\\\n\",\n       \"jTQlJ18SjJA7ijJJtyTT7gQS7JMR++bNm1flUM7WqDNrku6Dxu6p5ozrROogOTm5wmiOMvqebEsS\\\\\\n\",\n       \"qDKOyiivk/kySpCRbGvyOlO2qiM5OZa7pdLC7//+7//K50v+EAlsSXDKnGwT8p2MdSV1UlWrnZru\\\\\\n\",\n       \"mhtzaBhJncldcfOhx00ZtzvTERCF8e63pSP61ZW0rpR8WxKklbvLxnqSrsgyql9V3ZWNo0MaWwJI\\\\\\n\",\n       \"KydT5ttBVeT3JetHRkU1rVPJ0SL7hbp8b/P6l+VL92tZflX7NSJqWizdt9V0HiPHB2ndWdUNoboc\\\\\\n\",\n       \"02REYDm3kGOA+XmPcd/YUMfS+uz/5QaPOTnHEsZjnjE4Z8wvaTxXqK77pSkZPVtUdS4o+3O5sVZV\\\\\\n\",\n       \"XVR33meaTkNyicoI3aYkOCg3jmXkYFMysqTx3MBIAlkSvKvp2G6uuvNvo61bt6reE3UZTZiIHB9b\\\\\\n\",\n       \"YJFDke5/koNA7n5J9zppNSB3dySIIIkqpSWH6TC7kuNFLm4lR4+c9EiSdRnKWLr/ycFPLtjkIl1e\\\\\\n\",\n       \"Z2wSbSQHcjkBe+mll9TBXLrKSXNvOTmSYITk65GTKel6KHcaExISVNNwudP0zjvv1Ot7Sj4auaCU\\\\\\n\",\n       \"5Kdy109ap8gJkny2+UmIfE8pj9zZkgCAvKa6/Fy18corr+Diiy9W3SxlyGs5GZOLbak3aSVjfjIj\\\\\\n\",\n       \"rTcWLVqkTthkuG5z7777LoYOHapOZiT5tNwllZYzUv+STFoCRvUh+Rk+//zzSvPlpFC+Q21IIEda\\\\\\n\",\n       \"6l199dUq2b7UsZyASos4uYsoCd4labycIEvwR06mZPuT90j3STm5NuaSknUo24TkvTh27Jja5iSH\\\\\\n\",\n       \"W1X51hqrjqQlkJwYSl4PYxJ2+U2YdueQOpDvK78X+Y5SB7JuZYhw+Z7yXaQlnnSnkN+CBFfkzq3k\\\\\\n\",\n       \"spLlr127Vv1NulxURepBLjJkuRL8lBNhWW51rxdS79J6Uk7opfwSJPznn3/UCbd0Y5XPa2hSF9LN\\\\\\n\",\n       \"TvYL8pny3WV4dkmULAF2Wddy0SEXDDJfAoByoi/fUy7mZNuQ4JEMLS+J/mWo9fPdcZb9i7SKkiCh\\\\\\n\",\n       \"1K/kFJE74hIMky7Upi3narOPkS7QUt5mzZqpizLZb0kwzLjtElHTZem+rSZz585V75VzLzmmyX5f\\\\\\n\",\n       \"jqVyLJLzrqoCOzWRQIic78hxVc7R5JxPAi9SJhkUxHjDpaGOpXXd/0vORwlMyf5VWjpJbizZf0uX\\\\\\n\",\n       \"OimnkGCMHBdkX29s0SznVOYBoapIayipWzkXlu798l7JEyaTBNikpZIcO8+XyF26+kkZpUxy7iPl\\\\\\n\",\n       \"kPM+KZsxT6ZpjjBpQSZBK2PqAUmeL8dwOXeSckjZ5dzCGMy0lBwvhXQ/lJs/8n451zYNqsk2wBxY\\\\\\n\",\n       \"RE2UrYdBJKqN33//Xbv55pu1jh07ar6+vmpo+djYWO2ee+7RTp8+XeG1Bw4c0IYPH655eXlVGEJY\\\\\\n\",\n       \"hl6ePn26FhoaqpYxduxY9VoZIth8mOH58+drbdq00VxcXCoNYyyP5b0yFLSnp6fWtm1b7aabblLD\\\\\\n\",\n       \"LdfEOCTy+YYZ/umnn7Tu3burZbdu3Vp76aWXtIULF1YaZjk5OVkNf+3n56f+NmLEiGqH1Tb9fNPv\\\\\\n\",\n       \"Up0VK1ZoQ4YMUXXo7++vXXrppdq+ffuqfO0ff/yhlqvT6bTExMQqX3PkyBFt6tSpWkREhObm5qZF\\\\\\n\",\n       \"RUVpEyZM0L799tvy11RX7uoYh4iubjJdp1UNFS6kzoz1ZnTmzBnt7rvvVmWU7axFixZqWabDgcs2\\\\\\n\",\n       \"Z9yW5DUybLeU35ws68Ybb1R1KNuLPDYON23++saoI1dXVy04OFgbMGCANmvWLO348eNVvi87O1v9\\\\\\n\",\n       \"XX5j8v3ke8ow5K+++qpWVFRU/joZ2lyGFpffpbwuLCxMu/jii7WtW7dWqHvTdfH8889r/fv31wID\\\\\\n\",\n       \"A9X2Je994YUXKixXhgQ3P0wVFxdrzzzzjBpKXeonOjpaldF0uPTaruuqyOfKUN5Vefrppyv8hqTM\\\\\\n\",\n       \"8vvs0qWL5uHhoQUFBalh6qWcmZmZ5e/Lzc1Vy5S6l33PpEmTtLi4OLWsuXPnnnc49XfeeUfVk3zv\\\\\\n\",\n       \"Zs2aaXfddVeloeTlu0k5zJkPuz5v3jy1fwwJCVFllv3X//3f/1UoLxE5hqqOCfKb9/HxqfTaqvar\\\\\\n\",\n       \"1e0vLd231bS/lOOk/E321bLvkmPb6NGjtQ8++OC850XGY5f5cfLvv//WLrzwQnXeI99RzpXefvvt\\\\\\n\",\n       \"Wh9LG2v/v3LlSm3ixIlaZGSkOkbKv5MnT9YOHjxYqcxjxoxRy5F9/GOPPVZ+bmV6zma+Pxfr169X\\\\\\n\",\n       \"nyvLl9fLejatQ/Pz2+p89913WqdOnVQZOnfurC1ZsqTKz5P1KucSn332Wfm8o0ePqnN0OZ7Iuasc\\\\\\n\",\n       \"6y644AJ1Llkbck4h5/VyLiHnlKbb6/79+9Xz2i6TiJyHTv5n6yAaERFRUyQjp/bq1Uu1jJsyZYqt\\\\\\n\",\n       \"i0NERFSp5dmff/6pWl6bktb50opYWlw3FhmASVqzSct3tsAiapqYA4uIiKgRSDdcc9KlULrFSAJ7\\\\\\n\",\n       \"IiIiRyGjfksqAkmd0Bik+72MWCwpMxi8Imq6mAOLiIioEbz88svqrrHk6pKEwL///ruaJJ+a+ZD0\\\\\\n\",\n       \"RERE9kxGI5RRvC0luT+rupFjSnIzVkdy1Zrn4iKipocBLCIiokYwePBglXz2ueeeUyfhcvIvAyJI\\\\\\n\",\n       \"IlwiIiJndt9996lBV2rCzDZEdD7MgUVEREREREQNZt++fUhKSqrxNWPGjOEaoEYlOdVk5HVpIS8j\\\\\\n\",\n       \"vX///fdqlNGaSE64Bx54QI1+Ki3on3jiCZUrjhoHW2ARERERERFRg+ncubOaiOxJbm4uevTogZtv\\\\\\n\",\n       \"vhlXXHHFeV8fHx+P8ePH484778QXX3yBlStX4tZbb0Xz5s0xduzYRilzU8cWWERERERERETUZMng\\\\\\n\",\n       \"AOdrgfXII4/g119/xZ49e8rnXXfddcjIyMDSpUsbqaRNG1tgkdUZDAbVRNjPz4+jhBARUXluk+zs\\\\\\n\",\n       \"bERGRqqRFy0hCYKLioqsVoPu7u7w9PTkGrECHuuJiKgux/aGPt5LmcxHqvTw8FBTfW3YsKFSV1dp\\\\\\n\",\n       \"eTVz5sx6L5sswwAWWZ0ErziiFhERVSUxMREtWrSw6GQ2KLolCtJSrVaRMsKVNP9nEKv+eKwnIqLa\\\\\\n\",\n       \"HturO97HtPJFckqpVSrU19e30oiVTz31lBo4p76Sk5PRrFmzCvPkeVZWlhpl08vLq96fQTVjAIus\\\\\\n\",\n       \"TlpeicuWrYWbj6/NazjKwx2zYyPhqtNh+Z5kfL/jpK2LRESEwW1DMK6HNz7b/xlOZJ9w+hopyivC\\\\\\n\",\n       \"F9d/UX6MOO/ri4pU8Mpax5Li3Bz8NHaYWi4DWPVnXI9DcQlc4WaFJRI5nu8P7oaj0zfbbusikAOT\\\\\\n\",\n       \"wI00XLD02F4VOS5L8Or41tbw99PXrzzZBrTqc0wF1Pz9/cvnW6P1FdkHBrCokpMnT6r+vb///jvy\\\\\\n\",\n       \"8vIQGxuLjz76CH379rWotoxNNuWCw8237jsza0kBMCc5E3PaR+Oqwf7w8/fHos2Jti4WETVhvVsG\\\\\\n\",\n       \"4upB/liwZwFSDClw93FHU2HerP987OVYQlWvRwleueoYwKKmqb4X2/ZAb3KRT9RYx/aq+Prp1FQf\\\\\\n\",\n       \"BpS9X4JXpgEsa7bkPn36dIV58lw+i62vGgcDWFTB2bNnMWTIEFxwwQUqgBUWFoZDhw4hKCjIoWsq\\\\\\n\",\n       \"qbAEj8YlYk6HaIztGgG9Tocv/0mwdbGIqIlqE+aLLae3IDGbwXQiIiKiUs2AUq3+y2hIgwYNwm+/\\\\\\n\",\n       \"/VZh3h9//KHmU+NgAIsqeOmll1QzUGlxZRQTE+MUtXSqqASPxCXipfbRuKhLM+h1wOebGMQiosbV\\\\\\n\",\n       \"McIP/WOC8dXhw6x6IiIiIhuRXFmHTc7HJE/mjh07EBwcjJYtW2LWrFmqd9Knn36q/n7nnXfinXfe\\\\\\n\",\n       \"wcMPP4ybb74Zq1atwtdff61GJqTG4fjtXsmqfvrpJ9VV8Oqrr0Z4eDh69eqF+fPnO00tny4qwcNx\\\\\\n\",\n       \"iZDY/MhO4XCRKBYRUSPpHOmPW4bGYEn8RziQfoD1TkRERKS6/2lWmWpjy5Yt6npXJvHAAw+ox08+\\\\\\n\",\n       \"+aR6furUKSQkJFRo2CHBKml11aNHD7z22mv48MMP1UiE1DjYAosqOHr0KN577z31433sscewefNm\\\\\\n\",\n       \"3HvvvWro8WnTplVZW4WFhWoyTeZnz1KKS1Bs0OCu12FI2xD8dSjN1kUioiZA0kPcPDwE3x36GDtT\\\\\\n\",\n       \"d9q6OERERER2w6D+q/8yamPkyJHQtOqDXh9//HGV79m+nYMf2ApbYFEFBoMBvXv3xosvvqiiz7ff\\\\\\n\",\n       \"fjtuu+02vP/++9XW1Jw5cxAQEFA+SRdEe/f6sWQVn58+NAYj2ofaujhE1ARE+HvCzcUNB88etHVR\\\\\\n\",\n       \"iIiIiIgcDgNYVEHz5s3RuXPnCvM6depUoemkOekbnJmZWT7JsKX2bndOPl48kqSCWDcNicEFHRjE\\\\\\n\",\n       \"IqKG0zzAE/eMDcGK4yuQV5LHqiYiIiIyUappVpnIuTGARRXICIRxcXEV5h08eBCtWrWqtqY8PDzK\\\\\\n\",\n       \"hyptqCFLG8K+3AI8f7gsiDV1UAzGdAqzdZGIyAmF+3ngnlGxWHdyHVYkrLB1cYiIiIjsji1yYJHj\\\\\\n\",\n       \"YQCLKrj//vuxceNG1YVQRmT48ssv8cEHH2DGjBlOWVMH8grw7OGTMOiAKQNaY2yXZrYuEhE5mW4t\\\\\\n\",\n       \"ApBYsAurElfZuihERERERA6LASyqoF+/fvj+++/x1VdfoWvXrnjuuefw5ptvYsqUKU5bUwfzCvGM\\\\\\n\",\n       \"BLEAXNevJcZ3bW7rIhGRk/DzdEW/1sFIykmydVGIiIiI7Ja0niqt58QWWM6PoxBSJRMmTFBTU3I4\\\\\\n\",\n       \"rxBPHj6B59q1wBV9o/D3kTRk5hfbulhE5ODBK+k6eKp4G7sOEhEREdXAGl0AGcByfmyBRfSv+Pwi\\\\\\n\",\n       \"5JSUQq/ToWMzX9YLEdXLrcPa4GTRFiyOWwyDVt+BoYmIiIiImjYGsIhMfHnqjPr3jgti0T0qgHVD\\\\\\n\",\n       \"RHXiqtehmb8H1iWtg8aEokREREQ14iiEZAkGsIhM/HU2B+8dPw0dgJkXtkfPaAaxiKh23Fx0uG14\\\\\\n\",\n       \"GyRnFuB07mlWHxEREdF5GKw0kXNjAIvIzN+ZuXhHglg64N7R7dGnZSDriIgsDl7dPrwNPH0T8fGR\\\\\\n\",\n       \"p1GilbDmiIiIiIisgAEsoipsyMzFm8fKglgzRrVD/1ZBrCciOq+uUQEICcrAwj0LUVhayBojIiIi\\\\\\n\",\n       \"skB9RyA0TuTcGMAiqsbmrFy8fixZBbHuHBWLgW2CWVdEVC3petwpwh8peSkoMhSxpoiIiIgsVKpZ\\\\\\n\",\n       \"ZyLnxgAWUQ22ZuXh1fhT6sJUcto08/dkfRFRJbKPuLpvNNpF5+HHIz+yhoiIiIiIrIwBLKLz2J6d\\\\\\n\",\n       \"j5MFRdDrdGgV7MX6IqIKpJXmdf1bomPLPMzbOQ8ZhRmsISIiIqJaYBJ3sgQDWEQWWHUmS7WwuGN4\\\\\\n\",\n       \"G7QKYRCLiM65rl9LtA3zwbxd85BZlMmqISIiIqolA3QoreckyyDnxgAWkQWWnsnColPpcHHR48nx\\\\\\n\",\n       \"XdAm1If1RkRq1MGB7Tzx8aG5yCrKYo0QERERETUQBrCILPRTaga+TDoDvYsOj4/vhNhwBrGImrqh\\\\\\n\",\n       \"saHIL8lnyysiIiKiejBo1pnIuTGARVQLv6Rl4rOkNOj1Osy6uBM6NPNl/RE1UaM7hWNsT098uPtD\\\\\\n\",\n       \"lBhKbF0cIiIiIodV3+6DxomcGwNYRLW0NC0LH51MhYtehwcv7ghfD1fWIVET0ys6EGO6uWP+rvk4\\\\\\n\",\n       \"mXPS1sUhIiIiInJ6DGAR1cGKM9nILCmFq06HZgEerEOiJiYqyAsH0g8gKTfJ1kUhIiIicnhsgUWW\\\\\\n\",\n       \"YACLqI42ZeaoH9D/XdQBIT5urEeiJqJ7iwCMaB+Gnak7bV0UIiIiIqdg0HRWmci5MYBFVEcfnzyD\\\\\\n\",\n       \"1elZ8HRzwQuXd0OorzvrksjJ9WgRgBsHtsKiwx8g7mycrYtDRERERNRkMIBFVA/zT6RhxZl/g1iT\\\\\\n\",\n       \"uiLcj0EsImd2dd9oLIn/GPvS99m6KEREREROg10IyRIMYBHV08KTaViWlgkPNxc8P6krmvkzJxaR\\\\\\n\",\n       \"M4oK9IKXuwsSsxNtXRQiIiIip1IKvVUmcm5cw0RW8EnSGfyWmgF3Vxc8d3k3NA/wZL0SOZHoYC/c\\\\\\n\",\n       \"MzYUf5xYgjMFZ2xdHCIiIiKiJocBLCIr+fxUOn5JyYC7XodnJnVFgBcTuxM5g3A/D9x9YRhWJqzE\\\\\\n\",\n       \"mhNrbF0cIiIiIqejWSGBuyyDnBsDWERW9GVyOpIKi+Gm16FViDfrlsgJtAnzQVJuEv4++beti0JE\\\\\\n\",\n       \"RETklJgDiyzBABaRlcXl5kNi/7cMjYG3uwvrl8iBSUvKMZ2aISErwdZFIRuaO3cudDodZs6c6ZTr\\\\\\n\",\n       \"wdm/HxERETkHBrCIrOzDE2nYnZ2vLnznXtkNvh6urGMiBxTk7YZ7R7fDsYKNWHZsma2LQzayefNm\\\\\\n\",\n       \"zJs3D927d3fKdeDs34+IiBxDqaa3ykTOjWuYyMo0uZsdfwo7svPg7+mGOVd0gx+DWEQO54aBrRCf\\\\\\n\",\n       \"vwFLDi2Bpn7Z1NTk5ORgypQpmD9/PoKCguBsnP37ERGR4zBABwP09ZyYA8vZMYBF1ADkUvfl+GRs\\\\\\n\",\n       \"ycyFn6cr5lzZDf6ebIlF5CjcXfQI8/PArtRdDF41YTNmzMD48eMxZswYOCNn/35ERETkXHhFTdSA\\\\\\n\",\n       \"Xj9+Gve1aoYBAT4qiPXYkt3IzC9hnRPZMQ9XPe4Y0QYpWYWIz4q3dXHIyrKysio89/DwUJO5RYsW\\\\\\n\",\n       \"Ydu2baqLnTOq7fcrLCxUU3X1SEREZI0k7vVdBjk3tsAiamBvHT+NDRk58HF3xVzpTsiWWER23fLq\\\\\\n\",\n       \"zhFtoXkcxafxT6HEwICzs4mOjkZAQED5NGfOnEqvSUxMxH333YcvvvgCnp6ecDZ1+X5ST6b1JvVI\\\\\\n\",\n       \"RERkLcyBRZZgCyyiRvB2QgqaubshxtsDg9qEYPm+06x3IjvUJswHoUHZeHnLxwxeOSkJ3vj7+5c/\\\\\\n\",\n       \"r6r11datW5GSkoLevXuXzystLcVff/2Fd955R7VEcnFx3FFm6/L9Zs2ahQceeKBCCywGsYiIiKgx\\\\\\n\",\n       \"MYBF1EgO5RWgjbcHRncKx+q4FBSXMik0kT3R6YA+rYKQmn+SwSsnJsEr0wBWVUaPHo3du3dXmDd9\\\\\\n\",\n       \"+nR07NgRjzzyiEMHr+r6/arraklERGS9JO716wLIJO7OjwEsokby+akz6OjrhVb+nnhhUlc88cNe\\\\\\n\",\n       \"FJUaWP9EdhK8ur5/S8REZuOD3YtsXRyyMT8/P3Tt2rXCPB8fH4SEhFSa74ic/fsREZHjkVEES+uZ\\\\\\n\",\n       \"4cjAUaOdHnNgETUSaXD1xMETOJZfiPB/g1iSLJqIbO+yHpFoHZmFD3Z9gOyibFsXh4iIiIiIzLAF\\\\\\n\",\n       \"FlEjKgUw+9BJPB0bhbb+Hnjx8q54/Ps9KChhSywiW2oZ7I2/TixFdjGDV1S1P//806mrxtm/HxER\\\\\\n\",\n       \"OUYS9/otgylanB2bfxDZIIj11OGTKidWiK8HXryiGzzd+FMkspUxnZqheYAX4jPjuRKIiIiIbNSF\\\\\\n\",\n       \"0BoTOTeuYSIbkPZWzxxOwoHcAgT7uGMOg1hENjG2SzNc0DEMHx54GWcKznAtEBERERHZKQawiGwY\\\\\\n\",\n       \"xHruSBLi8wsR5O2Oy3tGcV0QNaJQX3eM7e6L+ftfwqncU6x7IiIiIhsp1XRWmci5MYBFZEPSS3tr\\\\\\n\",\n       \"Vq563CUyAHruc4kaTZswX+SX5ON03mnWOhEREZENyQiE1pjIuXENE9nYb6mZSC8uQYtgLzx+SSe4\\\\\\n\",\n       \"6BjFImpoPaMDcc2AAHx36DtWNhERERGRA2AAi8jGCgwaHoxLRFpRCdqG++KJCR0ZxCJqQF0j/XH9\\\\\\n\",\n       \"gJb4fP/n2J++n3VNREREZGMGTW+ViZwb1zCRHSg0aPi/g4lIKSpGTKgvnpzQCS7sT0jUILpHB2L9\\\\\\n\",\n       \"6d8RdzaONUxERERkB9iFkCzBABaRHQWxHo47geTCYrQK9cHTl3aGK4NYRFbVMtgb3aICcDLnJGuW\\\\\\n\",\n       \"iIiIiMiBMIBFZEeKNA2PHDyBpMJiRAd745nLusDNhTmxiKyhdYg37hrZFiuTvsWeM3tYqURERER2\\\\\\n\",\n       \"NEJ7fUcglGWQc2MAi8jOFGsaHj2YqIJYUUFemDaota2LROTwJBB815hQ/HHya6xLWmfr4hARERGR\\\\\\n\",\n       \"CQP0VpnIuXENE9mhEg34/vRZaABiwnxsXRwihxfk7Q5PV09sTt5s66IQEREREVEdMIBFZKd2Zuch\\\\\\n\",\n       \"r9SAqEAv3HNBW1sXh8hhBXm74Y4RbbHx1EaUaCW2Lg4RERERmSnV9FaZyLlxDRPZqZxSAx48kKD+\\\\\\n\",\n       \"7dM6GPeNbgdmwyKqffDq3tHtcCh3LX48/COrj4iIiMgOGaCzykTOjQEsIjuW9W8QK7vUgF4tA3H/\\\\\\n\",\n       \"he25WyaqhUFtQ5BSsgc/HvkRmuqUS0REREREjogBLCI7J8GrBw4kIKukFN1bBOChizpAx5sLROfl\\\\\\n\",\n       \"4apHhwh/nMo5xdoiIiIismPsQkiWYACLyAHkqiBWogpidY7yx8QekbYuEpFd83TT466RbVHsdggr\\\\\\n\",\n       \"E1faujhEREREVINS6K0ykXPjGiZyEHkGA/44k6Uex4ZzZEKimoNXsSp49cneT1BiYOJ2IiIiIiJH\\\\\\n\",\n       \"xwAWkQNZm56NEk1Dl6hAXNcv2tbFIbI7bi46zLggFjkFJfhk3yccdZCIiIjIARg0nVUmcm4MYBE5\\\\\\n\",\n       \"kJTiEjx6MBHFmoaxXSNwfX8GsYhMNfP3RHhQAb5MeBKlWikrh4iIiMgBGKzQfVCWQc6Na5jIwZwq\\\\\\n\",\n       \"LMEjcYkoNmi4qEsEbhzQ0tZFIrILeh0wulMznM47DYNmsHVxiIiIiIjIihjAInJAp4tK8HBcIgoN\\\\\\n\",\n       \"GkZ3boZpg1vZukhENuWi02Ha4NaIDE/Hp/s+5dogIiIiciAGTW+ViZwb1zCRA3cnfDguAQUGDRd0\\\\\\n\",\n       \"CMctQ1vbukhENnNxtwg0Cz2DD3Z9gNziXK4JIiIiIgdSCp1VJnJuDGARObDU4lI8dCAB+QYNQ9uF\\\\\\n\",\n       \"4cpeUbYuEpFNRAV6YUfqDuSV5HENEBERERE5IQawqEZz586FTqfDzJkzWVN2Kr2kFB+dSFWPO0cF\\\\\\n\",\n       \"2Lo4RI3ukm7N0SLYG3vS9rD2iYiIiBwQuxCSJRjAompt3rwZ8+bNQ/fu3VlLdu5QXgEMGtAm1Aej\\\\\\n\",\n       \"O4bZujhEjWZC9+YY2CYYH+6fizMFZ1jzRERERA5Ixo6ufxdCcnYMYFGVcnJyMGXKFMyfPx9BQUGs\\\\\\n\",\n       \"JQdI6v78kZMw6IAbBrbG2C7NbF0kogbn4+6CC7v54cMDc5GSn8IaJyIiIiJyYgxgUZVmzJiB8ePH\\\\\\n\",\n       \"Y8yYMeetocLCQmRlZVWYqPHF5RXimcMnYQBwXf+WGN81gquBnFqXqAAUlRYhLT/N1kUhIiIionpg\\\\\\n\",\n       \"F0KyBANYVMmiRYuwbds2zJkzx6LakdcFBASUT9HR0axVGzmcV4inDp9Aqabhqn7RuLRHc64Lckr9\\\\\\n\",\n       \"Y4Jx9QB/fLrvU2jQbF0cIiIiIqqHUk1vlam23n33XbRu3Rqenp4YMGAA/vnnnxpf/+abb6JDhw7w\\\\\\n\",\n       \"8vJS1733338/CgoK6vHNqTYYwKIKEhMTcd999+GLL75QP2JLzJo1C5mZmeWTLINs52h+EWYfOqmC\\\\\\n\",\n       \"WFf0boGhsSFcHeRUukYFqODVJ3s/weGMw7YuDhERERE5oMWLF+OBBx7AU089pRpw9OjRA2PHjkVK\\\\\\n\",\n       \"StWpKb788ks8+uij6vX79+/HggUL1DIee+yxRi97U8UAFlWwdetW9YPt3bs3XF1d1bRmzRr897//\\\\\\n\",\n       \"VY9LSyunxvPw8IC/v3+FiWzreEERfkzJUI97RAdydZBTiQ33xdbTW3Ek84iti0JEREREVqBBB0M9\\\\\\n\",\n       \"J1lGbbz++uu47bbbMH36dHTu3Bnvv/8+vL29sXDhwipfv379egwZMgTXX3+9arV10UUXYfLkyedt\\\\\\n\",\n       \"tUXWwwAWVTB69Gjs3r0bO3bsKJ/69u2rErrLYxcXF9aYg9idna/+7dMqCD2iA2xdHCKrkJE2B7UJ\\\\\\n\",\n       \"wdHMo6xRIiIiIifR2F0Ii4qKVOMN05zPer1ePd+wYUOV7xk8eLB6jzFgdfToUfz222+45JJLrFAD\\\\\\n\",\n       \"ZAlXi15FTYafnx+6du1aYZ6Pjw9CQkIqzSf7djCvAO8eP40ZrZrhvtHt8e6qQ9iaUNYqi8hRW17d\\\\\\n\",\n       \"NqwNfkv8ErvTdtu6OERERERkh8wHFZMeQzKZSktLU72LmjWrOHq7PD9w4ECVy5WWV/K+oUOHQtM0\\\\\\n\",\n       \"lJSU4M4772QXwkbEABaRE1ufmYviY6cxs3UzzBjVDu+vPox/jp+1dbGI6uSWoTH4PfEr/JPMZtpN\\\\\\n\",\n       \"yUV7/1GJUusrPz8f31mlRERkLcuSdjh0ZY6N7AlH94cMX01kBwyaTk31XYYwH1RMclY9/fTTqK8/\\\\\\n\",\n       \"//wTL774Iv73v/+phO+HDx9W+aOfe+45zJ49u97Lp/NjAIss+qGS49qclYs3jiXj/tYRuHNULPRr\\\\\\n\",\n       \"jmDj0XRbF4uoVkJ83OHl7oJ96ftYc0REREROphR6NdV3GUIGFTPNy2ze+kqEhoaq9DinT5+uMF+e\\\\\\n\",\n       \"R0REVLl8CVLdeOONuPXWW9Xzbt26ITc3F7fffjsef/xx1QWRGhZrmKgJ2JKVh1fjT6nHt49oi44R\\\\\\n\",\n       \"frYuEpHFQn3dcd/FQViXvBzZRdmsOSIiIiKqlvkAY1UFsNzd3dGnTx+sXLmyfJ7BYFDPBw0aVOVy\\\\\\n\",\n       \"8/LyKgWpjDmipUshNTy2wCJqIrZn52P92RwMCfJFjxYBOJDMQADZv2Afd9w7uh12pq7Eb/G/2bo4\\\\\\n\",\n       \"RERERGTnXQgt9cADD2DatGlq0LL+/fvjzTffVC2qZFRCMXXqVERFRWHOnDnq+aWXXqpGLuzVq1d5\\\\\\n\",\n       \"F0JplSXzOdhZ42AAi6gJ2ZWdpwJYF3Zuho3xZ3D8TNlIhUT2qnuLAKSVHGDwioiIiMiJGaBXU32X\\\\\\n\",\n       \"URvXXnstUlNT8eSTTyI5ORk9e/bE0qVLyxO7JyQkVGhx9cQTT0Cn06l/T548ibCwMBW8euGFF+pV\\\\\\n\",\n       \"brIcA1hETcjfGTkIcXfFtRHBeHJ8Fzz/637En8m1dbGIquTl5oI+rYKQkLuXNUREREREVnf33Xer\\\\\\n\",\n       \"yZJc0K6uriohvExkG8yBRdTE/JiSgS+TzkDvosMTEzohNtzH1kUiqsTb3QV3j4pFrn4/fo//nTVE\\\\\\n\",\n       \"RERE5MRKNZ1VJnJuDGARNUG/pGXis6Q0uOh1mHVJJ7Rv5mvrIhFVMH1IDDKxB5/t/wylWilrh4iI\\\\\\n\",\n       \"iKgJ5MCq70TOjQEsoiZqaVoWPjqZCr1Oh0cv7oSOzTgyIdkHF50OkYGeWHNiDQyawdbFISIiIiIi\\\\\\n\",\n       \"O8AAFlET9seZbCxITIVOBzw8rgM6sCVWlZLjtmHvsi9qVbfyenlfbR3bvBI/PH4NPr9jGH568nqc\\\\\\n\",\n       \"2LUOTS14NW1wK2TmFyM5N9nWxSEiIiKiRqBpehjqOckyyLlxDRM1cavOZmNZWib0eh1GdyobcYPO\\\\\\n\",\n       \"kSDUqjfvx9av/4vdv31iUdXI6+T18r7aBLFSDu/C2g9mI3bYpZjw1KeI7jUcf77zMM6eONJkglfT\\\\\\n\",\n       \"h7ZGaGgqPjz4NIoMRbYuEhERERE1glLorDKRc+MohESEA7n5GBsagB4tAhDq6460HAYOjM4c24+S\\\\\\n\",\n       \"ogL1ePt3/1P/drtkWrVbzY7v52HXLwvVY3nfqv8+BO+gcAQ0b4X2Iy5HZOf+SNi2Gjt/WoDslBNw\\\\\\n\",\n       \"cfdAcMsOuOCeV7B/xWJEdh2IruNuVO/vdfmdOLXvH8St+gYDpz7q9Ftqlyh/tGyWhze2zkdBaVmd\\\\\\n\",\n       \"ExERERERCQawiAj/ZOZh1ZksjA7xxwuTuuKJH/YglUGssqDK2CkwlJaUB6+qC2JlnU7AX/NmI/34\\\\\\n\",\n       \"gfJ5Hi26wLNldxgKc3A6cQ8S37gP3sERyD+bgt5XzUCrvqNQXJCH0wd3SLtppB7Zjc4XTa6w3Mgu\\\\\\n\",\n       \"A5G4fU2T2ErbNfNDal4Sg1dERERETYxBK0vkXt9lkHNjAIuIlAUn01CqabgoNAAvXN4Vs3/ci9NZ\\\\\\n\",\n       \"hawdk2BVdUGs5ANbseKNmTCUnGu5FjhiGgIGXl3+XNM0FCUdQMb6xdDSk5Gw/S+0GzEJvqGRCGoR\\\\\\n\",\n       \"q15TkHkGXv7BFerc0z8Y+VlnnH49XNYjEj3blOCDXT/YuihERERE1MiMeazquwxyblzDRFTu46Qz\\\\\\n\",\n       \"+D01E+6uLnju8m5oHuDJ2vmXBKt6Xfmf8vqQIJbkujp9aAf+eO2eGoNXQqfTwSOqE8KvnA33Zm2R\\\\\\n\",\n       \"engnljxyBeJWfYvC3KwmXc/jukagXzsD5u2ch7T8NFsXh4iIiIiI7BADWERUwWenzuCXlAy463V4\\\\\\n\",\n       \"9rIuCPdzZw3VEMRaNvcOaIbSGoNXpnR6F0RMexPBF81AUV42tn//Pn58/BpkpybBMyAE+VnpFV5f\\\\\\n\",\n       \"kJUOL/8Qp14HXSL98Wv8rzhT4PwtzYiIiIioMgN0VpnIuTGARUSVfJmcjm1ZeXBz1eOCjhyZsKYg\\\\\\n\",\n       \"linT4JVeM6Bb6mGMOLFd/SvPTVtj+fW6GEGjb0NRXg6g1yNx258Ia9sNyfu3VFimJHGX+c6qf0ww\\\\\\n\",\n       \"wv08cSr3lK2LQkREREQ2UqrprDKRc2MOLCKq0oHcAvT298bQ2BD8vDMJeUXnWhk1dRLE2vv7Z6oF\\\\\\n\",\n       \"lZHew6c8eDU4aTfu3PUDwgoyy/+e6hmA97tPwmq4o+D4Tni27gXPlj2gc3VDYfZZBES2Rmjbrlj2\\\\\\n\",\n       \"8p3Yu+wLtOg+BPH//KFGQRw4dRac0aA2IZjUKwqfHvwvUvJSbF0cIiIiIiKyYwxgEVGVfk3NQDdf\\\\\\n\",\n       \"L3Tz88LcK7th1ne7kcsgliK5r0yDV8JQmIvMjd/g4pYd8cQ/n1Sqz5CCTDW/tON4/JS4B1lbfoSh\\\\\\n\",\n       \"MA86V3e4uLggolM/uLi6Ydhtz2HH9+9j+5L34B8ejZF3v4ygFm2dbiuN8PfEVQMC8OHuN3Es65it\\\\\\n\",\n       \"i0NERERENsQk7mQJBrCIqEoyCu3c+FP4v5gI9PTzxtwru+OxJbuRXViCph68Mo5CaGx5JcErkbHm\\\\\\n\",\n       \"E/hFRAMBPpV64Et/belE+J/j67D56qdh0JX14C48uR/Jn/8fzp44jNDWndC632g1ObvmgZ7IKspi\\\\\\n\",\n       \"8IqIiIiIynJY1bMLIHNgOT/mwCKiGoNYr8QnY2tmLvw8XTHnmu7w92y6cW/z4JVrUCSiZy5Wua+M\\\\\\n\",\n       \"PkhOxIdnzlS7ww3Pz0CXtKPl81x8yxK0F+Wc627o7NqF++L6wYFYmbDS1kUhIiIiIiIHwQAWEZ03\\\\\\n\",\n       \"iPXa8dPYnJkLX1cXzLmiG3w9ml4Qyzx45d+8NdyCItVjyX1lGsR6Iy0V86sJYongQpPuh/+2xNJM\\\\\\n\",\n       \"krw7e/DqtuFt8OPhH7H19FZbF4eIiIiI7IBmhREIZRnk3BjAIiKLvHH8NI7nF8HbwxX9Wgc16eCV\\\\\\n\",\n       \"jEIY1qYLDAXnAlESxOrYZ4JFQaxMd+/yx4aCLPWvu7cfmoLh7cOw7vRv2JrC4BURERERlZHug9aY\\\\\\n\",\n       \"yLkxgEVEFjucV6Dua4ztEgE3l6ZxgJARAc2DVzIKYUjrzihMPoSS7LTyvxWOvh23Sw4skyDWR+mV\\\\\\n\",\n       \"g1jT9v2OiNyy+XmHNsHF3RMBzWPg7ML8PNA61AfJucm2LgoRERERETkYBrCIyGKfJKXhREERIgI8\\\\\\n\",\n       \"8exlXZpEECukdSe4untWCF6JNoPGwcXVAzk7l5W/VhKzZ1/4H8wMDVPPvXQ6dPX0Ku+KKZPomHEC\\\\\\n\",\n       \"76x+A8MStyF351K0GTgW7t6+cGbhfh64Z1Qstp/9A7vSdtm6OERERERkh6MQ1nci58Y1TEQWK9GA\\\\\\n\",\n       \"WYdOIKGgCM0DvfD8pK5wd3Hu3UhEh94YNfMN9Lnm3vLglXD38kXbwRcjd+cyaKXnRmZcH9kNpy9+\\\\\\n\",\n       \"AP9p3hLvt4hGP++y7oKpXoFY0GUCknzKkrb7lBTgsa1fYra3G7oOmwhn5uGqx33jQrA1fRl+j//d\\\\\\n\",\n       \"1sUhIiIiIjvDLoRkiaaXiZmI6qVUAx4/eALPtYtCa39PPH1ZZzz+/Z7y1kXOGsSSyVzHUVfj0F8/\\\\\\n\",\n       \"In3FPARf9B/odLryIJb+xneQkHYUKwuzke7hh72hbVQLrd9bD8TdO7/DBSe2q9deHRiIkas+w09+\\\\\\n\",\n       \"M5Aadq77oTMJ9HaHt5s3lh9fbuuiEBERERGRg3LuphNE1CBKAcw+dFK1yGrm7wlvd5cmWdOBUW0w\\\\\\n\",\n       \"cOqjyNnxOzJWL6wwkqAEq3aHxWJNi17qX3ku8tw88WLsGMzOLkS+Vhb2C0s/hamfPo2eO1bLcIRw\\\\\\n\",\n       \"JrJtTB3UCnvS9ti6KERERERkp+o7AqFxIufGABYR1TmIdaa4GC56He4Y0bbJHi7aDbsM/a5/EFlb\\\\\\n\",\n       \"fkDK108hP357hUCWKUNBDrK2/Ijkzx/C0qJCvDfpPpwOa6H+5lZagnHLP8akH9+BR0EunIGPhyvu\\\\\\n\",\n       \"HhWLDOzGorhFti4OEREREdkpdiEkS7ALIRHV2ROHTuK1DtHo3iIAD13UAa/+EedsDYgs0mn0NfAL\\\\\\n\",\n       \"jcTWb99Fytez4RYcBZ9uF8I1MAI6V3cYCnNRmLAbufvXAKUlaNnnAvSf/ACKAkLwadtuuODPr9F3\\\\\\n\",\n       \"2x9qWR0PbkHEqaP46bIZSIqKhSO7sFM48vQH8eXeL2GoJqhHRERERERkCQawiKjOcksNeOBAIl7r\\\\\\n\",\n       \"GI0uUf54+KIOeHl50wxitegxFFHdhyDl0A7Erf4Ox//+vEJyd6+gcPQYPw2xwybCOzC0fH6pqztW\\\\\\n\",\n       \"jLkBx1t1xiW/zYdXYR4Cs9Mx5csXsHbYldg44BLg3+6HjsRFp0PLEG/EZx1n8IqIiIiILGqBVR/1\\\\\\n\",\n       \"fT/ZPwawiKhe8gwSxErAqx1bolOkP2aN64i5Sw/A0ASDWJLEvVn7XmrSDAYUF+SipKgQ7t6+cHHz\\\\\\n\",\n       \"KE/yXpVD7Xpj4fTncdnP7yH65CG4aAaM/OsbtDq2F79MuAO5voFwFNKt9OYhMfD0OYV18etsXRwi\\\\\\n\",\n       \"IiIisnMMYJElHO+2PhHZnXyDhocOJCC9uATtI/xUd8KmTqfXw93bT7W2cnX3rDF4ZZTtH4IvJ8/C\\\\\\n\",\n       \"34MnliehjEnYh5s/no2Y+N1wFBK8Cgg6hfm75yO/JN/WxSEiIiIiIifAABYRWS2I9fihk5BMR+2a\\\\\\n\",\n       \"+bJW60jTu+DvoVdg0bWPIMsnQM3zycvCtd+8ipF/LobepFuiPXLV61R30s/3fY6C0gJbF4eIiIiI\\\\\\n\",\n       \"HACTuJMlGMAiIqvJKSlFfqkBbi56TB3YkjVbDwmtOuGj6c/jcJse5fMG/vMbpnzxPAIyUuy2bsd3\\\\\\n\",\n       \"b47MvGLkFOfYuihEdfbee++he/fu8Pf3V9OgQYPw+++/O1WNNoXvSEREjkOyj0gPhPpMTTCDSZPD\\\\\\n\",\n       \"ABYRWU0pgMcPnkChQcOoTs1w0+BWrN16yPf2x7dX3o+VF0xGid5FzYtKjsf0j2ej4/5Ndle3l/eK\\\\\\n\",\n       \"Qp/YUsw/8CJKNdkaiBxTixYtMHfuXGzduhVbtmzBqFGjMHHiROzduxfOoil8RyIiInIuDGARkVWl\\\\\\n\",\n       \"FJfg4bgEFBg0jOwQjluHtWYN14dOh839xuGzG2YjPSBMzfIsKsCkn/+HcUsXwrW40C7qd0BMMHq1\\\\\\n\",\n       \"LcH7O9/HmYIzti4OUb1ceumluOSSS9CuXTu0b98eL7zwAnx9fbFx40anqdmm8B2JiMhxsAshWYIB\\\\\\n\",\n       \"LCKyutTiUpXUXYJYQ2LDcFmPSNZyPZ2OiMHHNz2HvZ0Gls/ruWsNpn36NMJSE21ev5GBXjiccRhn\\\\\\n\",\n       \"C8/auihEVlVaWopFixYhNzdXdbNzRk3hOxIRkX1jAIsswQAWETWI9JJSfHXqjBpLr3OkH2vZCoo8\\\\\\n\",\n       \"vPDzhDvx68W3osjNXc0LO5OEqZ8+jZ47VgOabXr+D24bgoFtQrDplP11ayQyl5WVVWEqLKy6FePu\\\\\\n\",\n       \"3btViyQPDw/ceeed+P7779G5c2enqtDafEepJ/O6IyIiImpMDGARUYPZk52PUg3o0MwfYzqWdX+j\\\\\\n\",\n       \"etLpsLvbMHw89RmcDmuhZrmVlmDc8o8x6Yd34FGQ26hVPCQ2BJf1jMRHcW8gITuhUT+bqC6io6MR\\\\\\n\",\n       \"EBBQPs2ZM6fK13Xo0AE7duzApk2bcNddd2HatGnYt2+fU1V6bb6j1JNpvUk9EhERWQtbYJElGMAi\\\\\\n\",\n       \"ogZzqqgYzx85CYMOmDKwNcZ2acbatpL0kEh8euNT2NJrdPm8joe2YPpHTyDy5OFGq+dLujXH10c+\\\\\\n\",\n       \"wPGs4432mUT1kZiYiMzMzPJp1qxZVb7O3d0dsbGx6NOnjwre9OjRA2+99ZZTVX5tvqPUk2m9ST0S\\\\\\n\",\n       \"ERFZCwNYZAkGsIioQcXlFeKZwydhAHBdv5YY3zWCNW4lpa7uWHHhVHx3+b3I9/BW8wKz03HDly9g\\\\\\n\",\n       \"4MZfAE1qveG0a+YLTzcXnMo91aCfQ2RN/v7+FSbpPmcJg8FQbXdDZ1HTd5R6Mq87IiIiosbk2qif\\\\\\n\",\n       \"RkRN0uG8Qjx5+ASeiY3CVf2ioXfR4eedDHpYy6F2ffDR9Na49Of3EX3yIPSaASP/+gatju3FLxPu\\\\\\n\",\n       \"QK5vIKytQ4Qfbh0ZgiWHP0FGYYbVl09kS9La6OKLL0bLli2RnZ2NL7/8En/++SeWLVvmNCumKXxH\\\\\\n\",\n       \"IiJyHJqmU1N9l0HOjS2wiKhRxOcXYfahkyjVNFzRuwUGtQ1hzVtRln8Ivpz8KP4ePBGaSp0PxCTs\\\\\\n\",\n       \"U10KY+J3W7WuWwR5qeDVd4e+w7aUbVZdNpE9SElJwdSpU1WOqNGjR2Pz5s0qsHPhhRfCWTSF70hE\\\\\\n\",\n       \"RI7DAJ1VJnJubIFFRI3meEERlqVl4ZKwAHSJ9MeGI2dY+1ak6V3w99ArkBDdCRN+eQ/+uZnwzc/G\\\\\\n\",\n       \"td+8io39L8Ffw66EwaX+u/3oIG8kZidiZ+pOq5SbyN4sWLAAzq4pfEciIiJyLmyBRUSNakd22Sh5\\\\\\n\",\n       \"g9uGoEd0AGu/ASS06oSPpj+PwzHdy+cN/Oc3lRsrICOlXssO9/PAJd2b4+DZg1YoKRERERERk7iT\\\\\\n\",\n       \"ZRjAIqJGtTenAO8cPw2dTof7RrdHn5bWz89EQL63P7696gGsvGAySvUuqkoiTx3F9I9no+P+TXWu\\\\\\n\",\n       \"opEdwnAkdxPWnFjDaiYiIiIiq+bAqu9Ezo0BLCJqdBsyc/GWCmIBM0a1Q/9WQVwLDUGnw+Z+4/Dp\\\\\\n\",\n       \"DbNxNjBczfIsKsCkn/+HcUsXwLW4diOqebu7oE2YL5Jykri+iIiIiIioUTGARUQ28U9mLt44lqyC\\\\\\n\",\n       \"WHdc0BbBPu5cEw3kdEQMPpr2LPZ2Glg+r+euvzDtk6cQlppo0TJ83F1w96hYpBt2Y13SOq4rIiIi\\\\\\n\",\n       \"IrIag6azykTOjQEsIrKZLVl5SC8ugV6nQ3SQF9dEAyry8MLPE+7ErxffiiLXsmBhWPopTP30GfTc\\\\\\n\",\n       \"sVrabVf73rKWcrE4Y9iJLw58AYNm4LoiIiIiIqthF0KyBANYRGRTK85kqQFv7xkVi5bBDGI1KJ0O\\\\\\n\",\n       \"u7sNw8fTnsHpsBZqlltpMcYt/xiTfnwHHgVlCfbNebq6IDLQC0sOLWHwioiIiIiIbIIBLCKyqR9T\\\\\\n\",\n       \"MvDd6XS4uujx5ITOaBXCIFZDSw+JxKc3PoWtvceUz+t4cAumf/QEIk8ervBaF70OUwa2RGJ6HgpL\\\\\\n\",\n       \"a5czi4iIiIjI0hZY9e0+yCTuzo8BLCKyue9OZ2Bx8r9BrPFd0CbUx9ZFcnqlru74Y8yN+O7ye5Hv\\\\\\n\",\n       \"4a3mBWanY8qXL2Dgxp8BzQBXvQ63DI1BUNBpLDz0NDRU382QiIiIiKiu5CxTMlrUa2L1Oz0GsIjI\\\\\\n\",\n       \"blpifZt8Fi4uOtw7OtbWxWkyDrXrg4+mP4/EqHbquYtmwMi/vsW1i1/B6GYuCAlOw4e7P0RBaYGt\\\\\\n\",\n       \"i0pERERERE0YA1hEZDf+PJsFSQ/u6+EGf09XWxenycjyD8GXk2dh3aCJMKiMZEBMwj50f/puJK9a\\\\\\n\",\n       \"yuAVERERETUoOQe1xkTOjQEsIrIb6cWl2JyZC1cXHeZe2Q0BXgxiNRZN74K1w67AomsfQbZPgJrn\\\\\\n\",\n       \"knkWzZ6YhyE/HIG+hCMPEhEREVEDnYv+m8OqvhM5NwawqJI5c+agX79+8PPzQ3h4OCZNmoS4uDjW\\\\\\n\",\n       \"FDWKt46fxvqMHHi7u2LuFd0Q5O3Gmm9ECa06Ifm1D6EfOKR8Xt8VJ3DV69vhn5bPdUFERERERDbB\\\\\\n\",\n       \"ABZVsmbNGsyYMQMbN27EH3/8geLiYlx00UXIzc1lbVGjeCchBWvPZsPL3RVzruiGEB8GsRpT/16x\\\\\\n\",\n       \"+O6OGPx1RVuU6svuZDVPyMHkOVvRbmtKo5aFiIiIiJxffUcgNE7k3Ng/hypZunRphecff/yxaom1\\\\\\n\",\n       \"detWDB8+nDVGjeK9xFQEuLqgu583JnSPxCcbjrPmG8GgNiHq3zNF6UgY1QInYwMwbsE+BJ0pgGdh\\\\\\n\",\n       \"KS75aD/2xJ3FmqtiUeLuwnVCRERERPVmHEmwvssg58YWWHRemZmZ6t/g4OAq/15YWIisrKwKE5E1\\\\\\n\",\n       \"7Mwu67LWIzoQ7i7cXTW0IbEhuLyfLz6OexO5xWUtLlNa+mHRo31woG9Y+eu6rk/GtS9tQ8jJnAYv\\\\\\n\",\n       \"ExERERERkeAVIdXIYDBg5syZGDJkCLp27VptzqyAgIDyKTo6mrVKVrE8LRPx+YUI9nHHC5d3hYcr\\\\\\n\",\n       \"d1kNpUMzP1zWxwcL9izAsaxjFf5W5OWKZdM6YfkNHVDsXrYOQk/n4dpXtqHr30m83UVERERE9cIk\\\\\\n\",\n       \"7mQJXg1SjSQX1p49e7Bo0aJqXzNr1izVSss4JSYmslbJKkoBPHnoJI7kFSLMzwMvXt4VngxiNYjI\\\\\\n\",\n       \"QE8czzqOhOyEql+g02H/wAh89XAfpET6qFluJRpGLzqESz7cB/e8koYpGBERERE5PQawyBIMYFG1\\\\\\n\",\n       \"7r77bvzyyy9YvXo1WrRoUe3rPDw84O/vX2EismYQ66nDJ3EorwAhvh54YVI3uLkwQaO1W19d3K05\\\\\\n\",\n       \"tp7eet7Xno3wxtf/1xs7hkeWz2u3Mw3Xz9mCiKNl3Y2JiIiIiIisjQEsqkTTNBW8+v7777Fq1SrE\\\\\\n\",\n       \"xMSwlsimDACeOZyE7FIDgvzcER3kzTViJR0j/HDLsBh8H/8xdqXtsug9pW56rLmmHX6+rQvyvcoS\\\\\\n\",\n       \"uQecLcTVb+5A32UJMowM1w8RERERWYyjEJIlGMCiKrsNfv755/jyyy/h5+eH5ORkNeXnlyXUJrJV\\\\\\n\",\n       \"EOtUQZHaaV3XL1p6tJEVTOoVhaWJi7EjdUet33u0Ryi+mtUXJ9uWtbrUG4AhP8dj0ju74J1VxPVD\\\\\\n\",\n       \"RERERLUahbC+Ezk3BrCokvfee0/lsho5ciSaN29ePi1evJi1RTb1UvwpnC0uRfsIPzw2riP0DGLV\\\\\\n\",\n       \"SzN/DwR5u+Nkzsk6LyM72BPf3dsTm8a1hPGcodXBDFz/4ha03JdevwISERERERH9iwEsqrILYVXT\\\\\\n\",\n       \"TTfdxNoim8o3aHgwLgHpxSVoF+GHaYNac43UUYS/J+4e1Q7rU36rPnG7hTQXHTZOiMGSe7sjx89N\\\\\\n\",\n       \"zfPJKcbl/9uNIT8cgb5E2s8REREREVVzPqlaUOnqObF2nR0DWETkUAoMGr5IOqNa+7QJLxsNj2on\\\\\\n\",\n       \"0MsN944LwT9pv2H58eVWq74T7YPw5WN9cbRzUPm8vitO4Oo3dsA/jV2QiYiIiKhqHIWQLMEAFhE5\\\\\\n\",\n       \"nH25BSgyaCqZ+9SBrWxdHIfTIsgLOUU5WJGwwurLzvdzx893dsNfV7RF6b+jRUYcz8bkOVvRbmuK\\\\\\n\",\n       \"1T+PiIiIiIiaBgawiMjhZJaU4pG4RBQaNIzqFI7pQxjEspSPhysu6d4cx7OON9wK0uuwfVQLfP1A\\\\\\n\",\n       \"L2SEeqpZnoWluOSj/Rj1RRxci0ob7rOJ7EBiYiJOnDhR/vyff/7BzJkz8cEHH9i0XERERPZKs9JE\\\\\\n\",\n       \"zo0BLCJySCnFJfi/AwmQUMiw2DAEeJXlXqKaDWsXikKXI/jhyA8Nv45a+eGrR/rgQN+w8nndNiTj\\\\\\n\",\n       \"2pe2IuRkToN/PpGtXH/99Vi9erV6LKP4XnjhhSqI9fjjj+PZZ5/liiEiIjLDLoRkCQawiMhhpZWU\\\\\\n\",\n       \"IrekFDqdDv1jzuVdoqq56HVoG+aDEzknYNAaJ7F6kZcrlk3rhOU3dECRW9khJ/R0Pq57dTu6/p3E\\\\\\n\",\n       \"8Y7JKe3Zswf9+/dXj7/++mt07doV69evxxdffIGPP/7Y1sUjIiIickgMYBGRQ/vv8dPQdMD1A1ph\\\\\\n\",\n       \"dMdzLX2ocvDq5iEx8PFLxurEspYhjUanw/6BEVj0SB+kNPdWs1yLDRi96BAu+XAf3PNKuLrIqRQX\\\\\\n\",\n       \"F8PDw0M9XrFiBS677DL1uGPHjjh16pSNS0dERGSH2IeQLMAAFhE5fEL35w+fVMe8Gwa1xpjO4bYu\\\\\\n\",\n       \"kl2aPrg1AoJOYf7u+cgvsc2IgGcjvPH1w32wY3hk+bx2O9Nw/ZwtiDiaaZMyETWELl264P3338fa\\\\\\n\",\n       \"tWvxxx9/YNy4cWp+UlISQkJCWOlERETmNF29uxGqu9q19O6776J169bw9PTEgAEDVJf/mmRkZGDG\\\\\\n\",\n       \"jBlo3ry5ulnVvn17/Pbbb1yfjYQBLCJyeAfyCvHs4ZOQTnFT+rfC6E5siWWuU6Q/von7BgWlBbCl\\\\\\n\",\n       \"Ujc91lzTDj/f1gX5Xi5qXsDZQlz9xg70XZYAGJh+kxzfSy+9hHnz5mHkyJGYPHkyevTooeb/9NNP\\\\\\n\",\n       \"5V0LiYiIyLYWL16MBx54AE899RS2bdumjtdjx45FSkrVI2cXFRWpvJbHjh3Dt99+i7i4OMyfPx9R\\\\\\n\",\n       \"UVGNXvamytXWBSAisoaDeYV4+3gy7msVgYu7NMfK/ams2H9N6hmJnIISZBRm2E2dHO0Riq+i++Ki\\\\\\n\",\n       \"j/ejxdEs6DVgyM/xaHHwLJZP64Q8f3dbF5GoziRwlZaWhqysLAQFncvPd/vtt8Pbu6wbLREREZ2j\\\\\\n\",\n       \"afVPjVrb97/++uu47bbbMH36dPVcWk//+uuvWLhwIR599NFKr5f56enpKq+lm1vZAFLSeosaD1tg\\\\\\n\",\n       \"EZHTOJpXpLoSBvt6oHNzP1sXxy5c0TsKvWNLMf/AiygyFMGeZAd7Ysl9PbFpXMvyYY9bxWVgypwt\\\\\\n\",\n       \"aLkv3calI6q7/Px8FBYWlgevjh8/jjfffFPdqQ0PZzdnIiKihhyFUG4gmU5yTK6qNdXWrVsxZsyY\\\\\\n\",\n       \"8nl6vV4937BhQ5UrSFpSDxo0SHUhbNasmRqk5cUXX0RpqYyLTo2BLbCIyGmkFZdgQWIqbo0Ow0Nj\\\\\\n\",\n       \"O+C15QexNykLTVWvloHo1bYU7+14H2cLz8IeaS46bJwQgxPtAzH24wPwzSqCd3YxLv/fbmwZ0wIb\\\\\\n\",\n       \"JsTA4Mp7LU2Z14kj8PYsS4heLwWVT14bysSJE3HFFVfgzjvvVLkyJKeG3KmVVllyt/euu+6y+mdq\\\\\\n\",\n       \"mqZGZKWmZVnSDjiysZE9bV0EInJC0dHRFZ5LF8Gnn366wjw5JkvgSQJRpuT5gQMHqlzu0aNHsWrV\\\\\\n\",\n       \"KkyZMkXlvTp8+DD+85//qMFb5DOo4fGqgIicyuqz2ZiXmKIu5O6/qD1CfJpuV7SoQC8kZifabfDK\\\\\\n\",\n       \"1In2QfhyVh/Edwkun9d3xQlc9fp2+KfZJuk8UV1JHo1hw4apx5IjQ06GpRXWp59+iv/+9791Xu5N\\\\\\n\",\n       \"N92E3NzcSvMlF8fw4cO5woiIyHEZk7DXdwKQmJiIzMzM8mnWrFlWKaLBYFAtqT/44AP06dMH1157\\\\\\n\",\n       \"LR5//HHV9ZAaBwNYROR0/jqbg9OFxXDR6RAV5IWmaHDbEAzv5I61J9bCUeT7ueOnO7riryvaolRf\\\\\\n\",\n       \"dgLSPCEHk+dsRbutVSfTJLJHeXl58PMr68a8fPly1RpLuiUMHDhQBbLqaufOnejevXuFrg2ffPKJ\\\\\\n\",\n       \"SjobGhpqlbITERHZMgdWfSfh7+9fYZLRAs3JcdPFxQWnT5+uMF+eR0REVFlGGXlQRh2U9xl16tQJ\\\\\\n\",\n       \"ycnJqksiNTwGsIioguNLf8GinrFYO/NOh66ZDRk5kBDIjAvaopm/FbofOVjw6rKekVi4dyGOZR2D\\\\\\n\",\n       \"Q9HrsH1UC3z9YC+cDfFUszwLS3HJR/sx+ss4uBY1bI6B9GPpWP7McnxxwxeYd+E87Fqyq0E/j5xT\\\\\\n\",\n       \"bGwsfvjhB3UHeNmyZbjooovUfBnVSE6k60qG9pZgmCSJf+yxx3DNNdfg7rvvxquvvorvv//eit+A\\\\\\n\",\n       \"iIjIubm7u6tWVCtXrqzQwkqeS56rqgwZMkR1G5TXGR08eFAFtmR51PAYwKImLWXLJhz49MNavUde\\\\\\n\",\n       \"L+9zRjknT2DH63MQ1rsfHN03p8/i99RMeLi64LmJXRARUBYMaQpGd2qGJfELcTyr7i09bC2llR8W\\\\\\n\",\n       \"PdoHB/qGlc/ruj4Z1760FSEncxrsc0sKS+DX3A8DbhkA72COFkd18+STT+Khhx5SIxNJ/ivjibC0\\\\\\n\",\n       \"xurVq1edq1XyaL3yyitqZKS5c+eqIJksU0ZQIiIicmialaZaeOCBBzB//nzVmnn//v0qR6V01TeO\\\\\\n\",\n       \"Sjh16tQK3Q/l7zIK4X333acCVzJioSRxl6Tu1DiYxJ2aLAlCrbn7VpQW5MNQUoLON5+/xdG+he9j\\\\\\n\",\n       \"139fhYunF0a88yHC+w6AvclPS0XuyUQU52SrcnoGh8CvdRuVEyrxj9+xZ97byEk8rv4W1LEzhr35\\\\\\n\",\n       \"Ply9vGEoLcXGxx5A17vuQ+q2LSjOdvzk55+dOgMvFx1GBvvjpkGtMHdpHJxd+2a+CPByw+m8is2h\\\\\\n\",\n       \"HVGRlyuWTeuEhI7BuODrQ3ArMiD0dD6ufWUb/roqFnuGNAdqSFpdnF+MjIQMFOYUQprjefh5ILhV\\\\\\n\",\n       \"MFzcXXD0r6PY+tlWZCZlwtXDFaGxoRj7zFiEdwhXk9i0wDkD1dTwrrrqKgwdOhSnTp1S3fuMRo8e\\\\\\n\",\n       \"jcsvv7zOy5UksRK8evfdd9UJ9d9//61aZC1YsACXXHKJlUpPRETU+ExHEazPMmpDclilpqaqG0/S\\\\\\n\",\n       \"DbBnz55YunRpeWL3hIQElQLANDm8tKy+//77VZf+qKgoFcx65JFH6lVushwDWNRkpe/brYJXQoJS\\\\\\n\",\n       \"oqYgljF4JeR98n57CWBpBgOSN/6NQ4u/QNLa1dL+tcLfA9p1QKtLJmL3O6+j58yHETXqIpTk5SJ1\\\\\\n\",\n       \"22Y1cpXYO+9teASHoO3l16gAlrPYkJGLEcH+aBnsDU83PQqKK9aNM+kY4Yebh8bg+/hPkJLnJDmj\\\\\\n\",\n       \"dDrsHxiB5Nb+GLdgL8JP5cGtRMPoRYfQcv9ZrJzSHoXebhXecjbhLPb9vA9xy+NQnFdc4W8eAR6I\\\\\\n\",\n       \"HRmLfb/sw8DbBiJmSAyK8ouQvDu5kb8YOTvJn2GeQ6N///71Wmbfvn1Vfq0///xT5dOS/ffLL7+s\\\\\\n\",\n       \"glg333wz/ve//9Wz1ERERE2LdMWXqSpyvDUnrao3btzYCCWjqjCARU1Wx6m3qpZXxqBUTUEs0+CV\\\\\\n\",\n       \"6H7vQ+r99iBt13ZsePwh5CYeh1ub9vC7bxbcu/aEzscXWkEBSk8mIP/XJdj131dUZsOinGz4REap\\\\\\n\",\n       \"FlmB7TqoZaRu34KjP3yDcYt/hrPZk5OP/Tn56OzrhblXdMdj3+9GXgPnUbKF5gGeuGVkCL479BF2\\\\\\n\",\n       \"pu6Eszkb4Y2vH+6DoUuOoOfaJDWv3c40NEvMxu83dUJymwAUZBVg1curkLgpEa7+rggcFQj/3v5w\\\\\\n\",\n       \"9Ss71JVkliBzUyb2L90PrVRD0s4kdLqkE/wi/BASE2Ljb0jOZsuWLfj666/V3VvzxK5LliypcwBL\\\\\\n\",\n       \"RjH08fFRz2U/Lnd9JcfWjTfeaJVyExER2UwtuwBS08McWNSkSbBKglFGEqSSYNX5gleWdDdsDCfX\\\\\\n\",\n       \"rMSq225AkX8ggv77EYLmL4L3pVfBNSYWLuERcG3ZGh6DhiPw+TcR8tmP0IeGq5ZWv04cg8PfLUJR\\\\\\n\",\n       \"ViaKc3Ow8fGH0O/JF+ERFAxnPA6+cPQU9mTnI9DbDS9M6grXf0e4c7YAVmpeqlMGr4xK3fRYc207\\\\\\n\",\n       \"/HJbF+R7lY3+4p9eiKvf3IFuSw7hh3u/x6l9p9Di9hZo/1p7RFwVAe823nAPc1eTd6w3mk9pjvZv\\\\\\n\",\n       \"tId7hDuObziOz6//HLu+24XC7EJbfz1yIosWLcLgwYNVPg1Jri5d//bu3YtVq1YhICCgzsuVroLG\\\\\\n\",\n       \"4JUpyau1devWepaaiIjI9l0I6zuRc2MAi5q8moJY9hy8StuxDev+7x649RuCoNfmlbW6qiEfkGtk\\\\\\n\",\n       \"NEIXL4XX1TciJ+E4dr/7Jn6deKHKh5WbdAJr77sdi/t0UNOxX75XwTF5nJ3ouInATYNYc+JPId9g\\\\\\n\",\n       \"QIC3G0J8nWtUQhll8fLeLbD3zF40BUd6hOKrWX2R1KZsNDe9ARi1KglvuAei14MxCBwcCL1b9Yc3\\\\\\n\",\n       \"V29XtJvTDpG3RKK4qBibP9qMRdMXIeuU4+d9I/sgCV3feOMN/Pzzz2pUorfeegsHDhxQowa2bNmy\\\\\\n\",\n       \"Xsv+7LPP1ChIkZGROH68bP/85ptvqpwdRERERM6MASyialpifTest90Gr6Tr47pHZ8K1QxcEPDEH\\\\\\n\",\n       \"OnfLAjIS4PK/6wH4TL8LhelpKr9Q0t9rMO7b3zB28c/lU9SI0QjvN1A99o5oDmcgQaykgmLodTrc\\\\\\n\",\n       \"ObwNXGoI9jlay6t7RrXD5jO/Y1XiKjQV2cGe+Pa+ntg0riUM/7Y3H+jujbd+dEGPowaLfgvBw4IR\\\\\\n\",\n       \"83AMSkpLUFpcimPrjjVCyakpOHLkCMaPH68eSwBLRjSSbU6Svn7wwQd1Xu57772nRkyShO0ZGRko\\\\\\n\",\n       \"LS3rDh0YGKiCWERERA7LBqMQkuNhAIuomiCW6Sh89hS8Ekl/rUZ+chJ873kEOnf3Sn/XGwzocXAf\\\\\\n\",\n       \"Rm1ep/6V58X7dyP3iwUojtsLzzHjoQ8IRGHGWQR17ILA2PYVJjc/f7h5+6jHLm6Vl++onj+ahJSi\\\\\\n\",\n       \"EsSE+WD2hE5OEcS6oncUdmaswh/H/0BTo7nosGZkJG5NPok017KgVWAe8PhiA6asKoVLqQadQUPn\\\\\\n\",\n       \"4wYM2WtQ/8rzvCN5SPk5Bfnx+XANcoVPex+V7N0/yl8FstIOp6nJUGxAblquepx5MtPWX5ccSFBQ\\\\\\n\",\n       \"ELKzs9VjGaFoz5496rEEnSQJe129/fbbarjvxx9/HC4uZd1ojbmxdu/ebYWSExER2YrOShM5MyZx\\\\\\n\",\n       \"JzIhQar9H31QIXglwRx7Cl6Jg4s/g3uX7nCLLUvCbmrY9n9w99efIDwjvXxeSmAw3rpgHH7dtQ25\\\\\\n\",\n       \"330BTVoDeHtDp9cjtHtPNBWFBg0PxyXilQ7RaB3qg2v6tcBX/yTCUfm4uyDczxMbE4+iqTr4x0Fs\\\\\\n\",\n       \"ysnFgzfocN9aHXofKbv1NnGThn5xpfAqBoJyz70+zQ+Y38cF38fl4czyMzDkG+AaUHYoNJQYkHcm\\\\\\n\",\n       \"D9/d9V3563d9s0tNzbs3x2WvXdb4X5Ac0vDhw/HHH3+gW7duuPrqq9UQ25L/SuaNHj26zsuNj49X\\\\\\n\",\n       \"+a7MeXh4qFZeRERERM6MASwiE5LzyjR4JeS5zLeXIFbOiQSkbFoP/1nPVxm8euaDNyrND81Ix/Pf\\\\\\n\",\n       \"fwmX2+/H2l5lw7iXpp/BmevG4divP6L95KkVXj/wuZfhrIo0DcvSMnFDZAhiw3zhqHw9XDHjglgk\\\\\\n\",\n       \"FGzFgfQDaKr2/boPfn38kN/cDS9dreGSzRqmrDZAGmRFZlRuSR6cDTz6pwvcrmiJfzqca4R89IWj\\\\\\n\",\n       \"2PfLPkx4aQLu+OOORv8e5FzeeecdFBQUqMfSWsrNzQ3r16/HlVdeiSeeeKLOy42JicGOHTvQqlWr\\\\\\n\",\n       \"CvMl/1WnTp3qXW4iIiKbsUYXQHYhdHoMYBH9yzxhu7S8MgazjPPtIYiVdSxe/eves2+F+dJNUFpe\\\\\\n\",\n       \"oYrGs3KZLh2sZnzzKdb16AuDXg+X4BC4tmqDrPgjaGrWZeTgyoggtA33xQ0DW+HzjY6VqN7DVY/7\\\\\\n\",\n       \"LvHFqZztWHxwMQza+XM+OSNN05CZmImIERFlz3U6/NpfhwNRwPOfGeCiVf9buOkPAza300H7d0RK\\\\\\n\",\n       \"n44+yNiYYYNvQc4oOPjciK56vR6PPvqoVZYr+a9mzJihgmOy/f/zzz/46quvMGfOHHz44YdW+Qwi\\\\\\n\",\n       \"IiKbYACLLMAAFlENow2azreXIFZxTlleFZ2vX4X53Q4fqNBtEFVcuDc7e0a9bmf7zmXL8PFF8b95\\\\\\n\",\n       \"WpqSzJJSvBKfjNltI9GnZaDDBbAiAjzh4+aDRXGLoDXhW00lBSXQDBpcvM/lAhIeJVDBq5p+C6HZ\\\\\\n\",\n       \"QKdEDftalQWwZBmFOYUNXWRyYllZlo9i6e9fNoJmbd16663w8vJSrbgkl9b111+vRiOUUQ6vu+66\\\\\\n\",\n       \"Oi2TiIiIyFEwgEVNXnXBK2H8156CWC7GEQeLCgEv7/L5IZlnLXq/6eu0oiK4eFo2gqGzOVVYjFJN\\\\\\n\",\n       \"Q6C3O0Z3DMPKA6lwBK56HcZ2icCpnGNNOnglXNzLAldaccV6CMqx7P2mr5OE7a4ePCRS3clIgDLS\\\\\\n\",\n       \"YE2k1ZS8xjh6YF1MmTJFTRLAysnJQXh4eJ2XRUREZDc0XdlU32WQU+PZOjVpNQWvjOwtiOURVNY1\\\\\\n\",\n       \"pTTpJPQBQeXzz5g8ronxdVppKQwpyfAYNBhNkbTCeuFIEp6IjcINA1vD1UWPZXtPw565uehwy9A2\\\\\\n\",\n       \"8PE/iYV7PkdTp3fRw93XHUUpRRXmn7UwtZnp64pSi+AZ4GnlElJTsnr16kb9PG9vbzURERE5A00r\\\\\\n\",\n       \"m+q7DHJuDGBRk3Xg0w/PG7yqKYild3VFx6m3orGFdOsBz7Bw5P/+A9w6dS2fvzu2oxptUBK2n0tN\\\\\\n\",\n       \"fY7k/UkNClGvE0Wb/kZpehqiL7wETVVcXiGeOXwST8dG4dr+LbH7ZCaSMsoSL9ujS3tEquDVgj0L\\\\\\n\",\n       \"UFjK7m6izbA2OLLuCMInhUPnUnbXbX+0To02GJJd9WDK8ltI9yt7nSjNL0XWP1nodU3l0d2ILDVi\\\\\\n\",\n       \"xIgGqSwZdfB8LbuMtm3b1iBlICIiIrIHVV3nEjUJwZ27wcXT67zBKyP5u7xOyPvk/bYggbPYqyaj\\\\\\n\",\n       \"YMWvMPybD0tIYvZ3rpmmLtjNU3rLzQiZ/+7VU9XrRP5PXyOoS3cEdz4XBGuKDucVIqmgSNVPGzsf\\\\\\n\",\n       \"lbB5gBd2pe1i8MpE50s7ozi9GNk7zv0WJDH7xxdWfXiT34asa/m7MYF7xvoM1Q2x0yUcxY2s46OP\\\\\\n\",\n       \"PsI333xTab7M++STssE2LDVp0iRMnDhRTWPHjsWRI0fg4eGBkSNHqsnT01PNk78RERE5fBL3+k7k\\\\\\n\",\n       \"1NgCi5qs8L4DMOKdD5G+b7fFLakkiCUBJAleyfttpe3l12DvB+8i/8ev4TPllvL5a3v1x1O3369G\\\\\\n\",\n       \"IzRN6J7v4Ym50+5SfxfFh+NQ+M969HjmJZuU3978nJKBO1uGY/qQ1jiZnof4M3mwN1f2aYHw4Cws\\\\\\n\",\n       \"2bXH1kWxK2HtwhDWMQxpS9Pg19OvvBXWtrY6FLmWJXQ3JS2vJHj1T4eyAJehyID0FeloNbgVfEJ9\\\\\\n\",\n       \"bPEVyAnJqIDz5s2rNF/yVd1+++2YNm2axct66qmnKiRxv/fee/Hcc89Vek1iYmI9S01ERGRDzIFF\\\\\\n\",\n       \"FmAAi5o0CULVNhBli26D5rzCm6H9lGmI++h/cI2Jhcfgc11XJEi1rkdf9N+zHc+//xpcNA2ZPr5Y\\\\\\n\",\n       \"27Of+ntpagoyn5iJgPYd0WrcBBt+C/uxNiMHPfy9MSjQFwPahNhdAOvqvi3Qqbk/5u16ARmFGbYu\\\\\\n\",\n       \"jt3pP70/fpv1G059cQrNb2yuult1TtDKg1c7WgNruutVzivpNmhseaWVajgx7wRK0kvQ58k+tv0S\\\\\\n\",\n       \"5FQSEhIQExNTaX6rVq3U3+pKWnBt2bKl0vwbbrgBffv2xcKFC+u8bCIiIiJ7xy6ERA6qx30PI2rk\\\\\\n\",\n       \"GGQ+/RDyl/2kRrcykm6CG7v3wY72XdTz5ulpiElKREn8YZy99ya463QY8faHcPFomiMQVuVATr7q\\\\\\n\",\n       \"WnZBhzCE+rrDXvh7umJIbCjmH3geZwstG2myqWnRuwWG3TcM6avScXLBSTWiYN9D534PK3vpsa6L\\\\\\n\",\n       \"Hvtanes2KHmvEv6bgOzt2Rjz2BiExoba8BuQs5GWVrt27ao0f+fOnQgJCanzcr28vLBu3bpK82We\\\\\\n\",\n       \"dCUkIiJyVDrNOhM5N7bAInJQehcXDHnpLWx+4UnEv/QU8pcsgtfEq+E5ahx0/+b2Wt+9D/rElXU5\\\\\\n\",\n       \"6/3689i4axsC2sSqrpPezSJs/A3sy4r0bLT08sCYEH+8MKkrZv+4BynZFUe3s4Ue0YHIKyxly6vz\\\\\\n\",\n       \"kPxVrp6uWP3KauTuzkWvFq0lWx2KXYCdMecSYBcmFyJ9dToy1mZAp+lw8fMXI7pfdEOvRmpiJk+e\\\\\\n\",\n       \"rLr6+fn5Yfjw4WremjVrcN999+G6666r83JnzpyJu+66SyVr79+/rEv4pk2bVMur2bNnW638RERE\\\\\\n\",\n       \"jc4aOawYwHJ6DGAROTC9mxv6P/UiokePxaGvP8ep155DzvtvwDW2A3Q+vvg9Lxf3/PvakTlZ2PTw\\\\\\n\",\n       \"bMRcdgVcvTj0elUWnkxTx70LQ/zx2CWdMHPxTtjSsHahmNDbGwv3vGHTcjiKdqPaIbRtKHK/3oNm\\\\\\n\",\n       \"x8uGMvinOB9x/yvLB1eSWYL8Y/nw8PdA1wld0eWyLvBr5mfjUpMzkhxVx44dw+jRo+HqWnaqZTAY\\\\\\n\",\n       \"MHXqVLz44ot1Xu6jjz6KNm3a4K233sLnn3+u5nXq1Ekljb/mmmusVn4iIiIie8QAFpGDk3w/kcNG\\\\\\n\",\n       \"qinnZCKO/vAtchKPozg7GyUhwYg3FCOmoABd9Tr0uvBi5DB4VaOvk9MxOsQfvp5u8HTVo6DEfEzH\\\\\\n\",\n       \"xtG7ZaAKXi3YswCJ2UzObKmgVkEY1yUaOH5cPd8V4oEgLQg6vQ4e4R6IuiYKbUa0gas7D3/UcNzd\\\\\\n\",\n       \"3bF48WI8//zz2LFjh+r6161bN5UDq74kUMVgFREROR0mcScL8AyeyIn4RkWj+4z7K8xLXPwZYpYs\\\\\\n\",\n       \"Vo/bb9uMbWPG2ah0jiG31ICDufno6OOFOVd0w6zvd6OguPGDWDFhvthyeguDV3Wpu11p5Y/dHxiM\\\\\\n\",\n       \"i4OY641so127dmqytqKiIqSkpKhWXaZatmxp9c8iIiJqFOxCSBZgEnciJ3ewz7lRFttv3WTTsjiK\\\\\\n\",\n       \"54+cwoHcAgT5uKsglqdb4+4qO0b4YUBMMA5nHG7Uz3UGvmcL0exErnp8uoUPchi8Iidy6NAhDBs2\\\\\\n\",\n       \"TLXoktZcMtKhTK1bt65y1EMiIiIiZ8IWWEROLqlNLLKCguF/Nh0xu3bAraAAxRytqkbSpuG5I0l4\\\\\\n\",\n       \"tUM0IrzdVTBpzcFzrXoaUudIf9w0uDW+O7oQB9IPNMpnOpOYPWfKHx/twZEFybncdNNNKqfWL7/8\\\\\\n\",\n       \"gubNm6su5ERERE6BLbDIAgxgETk7vR4H+/RH3xVL4VZSjDa7tiGu/2Bbl8ohjqGH8wrQ3MMNI9qH\\\\\\n\",\n       \"Ye2hNBgaeGQTuRSdPqQ1lhz9GLvSdjXshzmpNjvPBRqPdmMAi5yL5NPaunUrOnbsaOuiEBERWRcD\\\\\\n\",\n       \"WGQBdiEkagIO9j3XjbDDln9sWhZH8tHJNJwtLkWbMF9c2y+6wT8vIsATbi56HMo41OCf5Yzc80sQ\\\\\\n\",\n       \"fTBDPc4KcEdalI+ti0RNUElJCZ599lmcOHHC6svu3Lkz0tIapzUoERERkb1hAIuoCYjv0gNF7u7q\\\\\\n\",\n       \"cbutm6AzlNq6SA6hwKDhx5Sz6nHbsIYNhjQP8MQ9Y0Ow8sRPyC0uy+FEtdPywFm4/NtMLl66D7J7\\\\\\n\",\n       \"FdmAdPF75ZVXVCDL2l566SU8/PDD+PPPP3HmzBlkZWVVmIiIiBx+FML6TuTUGMAiagJK3d1xpEdv\\\\\\n\",\n       \"9dgnJxstDsbZukgOY3NmLgoNGtqG+zVYK6yoQC/cOzYU606uw4qEFQ3yGU1Bm90m+a+6hdi0LNS0\\\\\\n\",\n       \"jRo1CmvWrLH6cseMGYONGzdi9OjRCA8PR1BQkJoCAwPVv0RERI5Kp1lnIufGHFh2aufOnfj5558R\\\\\\n\",\n       \"HByMa665BqGh53K5yF3WmTNnYuHChTYtIzmWuH6D0GnzxvLRCBM7drZ1kRzC2ZJSvBx/Ck+0jcTg\\\\\\n\",\n       \"tiFYvDnRqstvEeSF/4yMxZoTP2DNCetf8DYVulINrf9N4F7o4YIT7QJtXSRqwi6++GI8+uij2L17\\\\\\n\",\n       \"N/r06QMfn4otOC+77LI6LXf16tVWKiERERGR42EAyw4tX74cl156Kdq1a4fs7Gw8+eST+Oabb3DB\\\\\\n\",\n       \"BReov+fn5+OTTz5hAItq5XCvvjDo9NBrBnTYsgkrp0xnDVroZGExSjUN/p5uGBobgr8Pn2vpU18X\\\\\\n\",\n       \"dm6GHWdXMXhVT5FHM+GVV9Zl63jnYBhc2cCY6m7OnDlYsmQJDhw4AC8vLwwePFh13+vQoYNF7//P\\\\\\n\",\n       \"f/6j/n399dcr/U1GDiwtrVs37hEjRsBeviMREZFVMYk7WYBn+Hbo6aefxkMPPYQ9e/bg2LFjKt+F\\\\\\n\",\n       \"3K1dunSprYtGDizPPwAnOpSNXBWadAIhSdZPMOysslQrrGTVrf6WoW0wor11Rrfz93RFdLA3Tuac\\\\\\n\",\n       \"tMrymrIK3Qe7s/sg1Y90/5sxY4bqrvfHH3+guLgYF110EXJzLctPZzAYqp1qG7zatWuXep/xcU1T\\\\\\n\",\n       \"Y35HIiIiosbGFlh2aO/evfjss8/K79RKAKtFixa46qqrsGjRIvTr18/WRSQHFddnAFoe2Kcet9/6\\\\\\n\",\n       \"DzZEtrB1kRzGnpx8vHgkCY+1jcS0wTE4lJKDpIyCOi8vwMsNd4+KxbH8Tdiest2qZW1yNA0xO8tG\\\\\\n\",\n       \"ZjPogGOdg21dInJw5jeMPv74Y5VzauvWrRg+fHitllVQUABPT886l6Vnz55ITk5Wny+P5bxA07R6\\\\\\n\",\n       \"t+yy5nckIiIiagxsgWWHPDw8kJFRNhS80fXXX48PP/wQ1157Lb7//nublY0cW1zfgeWP2/+bD4ss\\\\\\n\",\n       \"ty+3ACcKitTgdjGhdR+V0M1Fh3tGxSKhYBO+PfgtNNVmmuoq6HQegs6UBRNPxAag0MeNlUlWlZmZ\\\\\\n\",\n       \"qf6VvJSWkEDSc889h6ioKPj6+uLo0aNq/uzZs7FgwYJafXZ8fDzCwsLKH8uy5F/zyfgZjfUdiYiI\\\\\\n\",\n       \"rEnGD6x3EneuEqfHAJYdkjusVSVqve6661QQ695777VJucjxpUdGITUiUj2OPrgfXlllFyxkueVp\\\\\\n\",\n       \"mergePOQGLQM9qpz66tgH3d8d+g7Bq+soO2uc90H47tbp3tnbSXtTMLOb3bW6j3yenkfNS4ZCMV0\\\\\\n\",\n       \"KiwsrPH10n1PBk4ZMmQIunbtatFnvPDCC6pF08svvwx3d/fy+fJ+OY7XRqtWrVTrKuPjmqa6suQ7\\\\\\n\",\n       \"Sj2Z1x0RERFRY2IAyw7dddddOHmy6pw4kydPVifFbN5PdXWoX1krLL2mod32LazIWlqVno31GTnQ\\\\\\n\",\n       \"63UY1r6sVURtuLvocW2/aBxJzWHwykpiTPJfxXdt/PxXEoT6/YnfsfGDjdi+yLLuoPI6eb28j0Gs\\\\\\n\",\n       \"xhUdHY2AgIDySZKZ10TyRElOSunCb6lPP/0UH3zwAaZMmQIXF5fy+T169FBJ0+2NJd9R6sm03qQe\\\\\\n\",\n       \"iYiIrEaSzVpjIqfGAJYduvzyy/HGG29UO1y2dCeU1lhEdRHXd0D5YxmNkOpQhzkFqhXW0LYhCPS2\\\\\\n\",\n       \"vLuau6sed4xoA1ef4/g8/hlWvRV4ZxWh+bGyliBpzb2RGVa3VnH1kXowFSUFZSMg/rPgn/MGseTv\\\\\\n\",\n       \"8joh75P3U+NJTExU3eWM06xZs6p97d13341ffvlFHY8lF6Wl5CZUbGxslS2dJFm6PbH0O0o9mdab\\\\\\n\",\n       \"1CMREZHVRyGs70ROjQEsOzZu3Dj83//9X4WT3bS0NFx66aV49NFHbVo2clwn2ndErp+/etx25za4\\\\\\n\",\n       \"FBXZukgO54/0LPx9Ngde7q6Yc3k3BFsQxPJw1ePOEW2h84rHR3s+QpGB9W4NrfeeUTkPxNFutuk+\\\\\\n\",\n       \"2OPqHuh/S//y5zUFsUyDV0LeJ++nxuPv719hkryT5iRJugR2JOfkqlWrEBMTU6vP6Ny5M9auXVtp\\\\\\n\",\n       \"/rfffotevXrBHtT2O0o9mdcdERERUWPiKIR2TO6GTp06VQ1v/eWXX6okrbfccgvat2+PHTt22Lp4\\\\\\n\",\n       \"5KA0vQsO9e6PnmtWwL2wADF7d+Fwr762LpbD+V9iiuoCOCzID7MndMb9X9ec/+j6AS1h8DiMT/Z+\\\\\\n\",\n       \"ghJDWWsdqr82O891HzzavfG7Dxr1uq4sKGEMThn/Nc6vLnhl+neyry51ctz98ccf4efnp0YBFNJ1\\\\\\n\",\n       \"zsvr/K38nnzySUybNk21xJJWV0uWLEFcXJzqWiitnZzhOxIREVmVNVpQsQWW02MLLDs2ePBgFaiS\\\\\\n\",\n       \"hKq9e/dWXQvvv/9+rFmzpl7JWoni+p5rLdJ+C0cjrKuPT6bBAMDPy03ltqqO5F+OCvTC+qT1DF5Z\\\\\\n\",\n       \"kWtRKVrGnVWPc3zdcLqlH2xJglHVtcRi8MqxvPfee6qb3MiRI9G8efPyafHixRa9f+LEifj555+x\\\\\\n\",\n       \"YsUK+Pj4qIDW/v371bwLL7ywXmWTUYolEbx06UtPT1fztm3bVm3uzIb6jkRERNZU7xEI/53IubEF\\\\\\n\",\n       \"lp07ePAgtmzZovJSJCUlqTu4eXl56oS4Ib377rt45ZVX1B1ZSTr79ttvo3//cxdm5NiOdu+FYldX\\\\\\n\",\n       \"uJWUoP2WTfjtlv8AesazayvfoOFIXgHaeXviuYld8Nj3e1CqaZWCV5P7t1Q3hI5nHbfiWqTouLNw\\\\\\n\",\n       \"K5YQInBMWl/pbZ+4s6qWWDsW70BRzrkuo2x5Zf+ke119DRs2TLWgtqZdu3ZhzJgxqpXUsWPHcNtt\\\\\\n\",\n       \"tyE4OFi18EpISFAtvBrzOxIRERE1Jl6x2rG5c+di0KBB6m6tjA70zz//YPv27ejevTs2bNjQYJ8r\\\\\\n\",\n       \"d18feOABPPXUU+qurgSwxo4di5SUlAb7TGpcxZ5eiO/aUz32zziL5vFHuArq6NnDScgzGBDm74mI\\\\\\n\",\n       \"AM8Kf5N4yg0DWqF1iDfmxz2LvJI81rMVtTEZffBoN9t1HzxfSywGr8ha5Nh800034dChQ/D0PLe/\\\\\\n\",\n       \"ueSSS/DXX3+xoomIyHExiTtZgAEsO/bWW2/hhx9+UK2f5ERVuhJKEOuKK65QTf4byuuvv67u6k6f\\\\\\n\",\n       \"Pl0lon3//ffh7e2NhQsXNthnUuM72G9g+eMOWzkaYV2Vyih0hSUqWHVd/2g1OqFw0elw46DWiI7I\\\\\\n\",\n       \"UMGr7KJsK6w1KmfQEPNvAKvYTY+EDkF2VTkSxHL3da8wT54z55XzCgoKUq2hLJnqavPmzbjjjjsq\\\\\\n\",\n       \"zY+KiirPYUVEROSQGMAiC7ALoR3bvXs3QkMrjqrl5uamuvZNmDChQT6zqKgIW7durTCsuF6vV10W\\\\\\n\",\n       \"qmv1VVhYqCajrKyyIe3Jvh3s3a/8cfvNG/HnNTfYtDyOyEOvQ78AH/ydkY1Iz2B0jQrA69f0QH6x\\\\\\n\",\n       \"AW4uOqSXHMMHu+cjtzjX1kV1OhHHs+GTXTZCa0KnIJS6u8CeSM4r05ZXQp7LfAaxnNObb75Z/vjM\\\\\\n\",\n       \"mTN4/vnnVetlaUkt5Bi6bNkyzJ49u86fISMBVnWMlXQDYWFhdV4uERERkSNgAMuOmQevTI0YMaJB\\\\\\n\",\n       \"PjMtLQ2lpaVo1qxZhfny/MCBA1W+Z86cOXjmmWcapDzUcHKCQ3CybTtEHTmEiIRjCEg5jczwiuud\\\\\\n\",\n       \"qubroke4uxuuaBaEyLws5OXlIOFoBgIDA1UrjIB/B/AqyvOFXseGrg2hze40u+w+WFXCdml5ZQxm\\\\\\n\",\n       \"VTU6ITkHGXXQ6Morr8Szzz6Lu+++u3zevffei3feeUcldpcBWerisssuU8v9+uuv1XOdTqdyXz3y\\\\\\n\",\n       \"yCPqM4mIiByVNZKwM4m78+OVFdWbtNaSkYyMU2JiImvVQRzsM6D8cfut5y64qeqdpUyRHm54OSoQ\\\\\\n\",\n       \"D4Z6wz8lCatXr1YtKzZu3IilS5eqZMoyST6acI9wzOw9E256N1aplcXsLAtgyXnOsS72E8CqarTB\\\\\\n\",\n       \"6d9Pr3Z0QnJO0tJq3LhxlebLPAlg1dVrr72GnJwchIeHIz8/X93Mio2NhZ+fH1544YV6lpqIiMiG\\\\\\n\",\n       \"NJ11JnJqbIFFlVp9ubi44PTp0xXmy/OIiIhquzTIRI4nru8AXPD15+px+y0bsfniS21dJLs0MTwQ\\\\\\n\",\n       \"Y0MDyp8f3bUT+/fvr/K1xu60MqS9JFpu3a41gjyCkJLPQRCsJSA1H6Gn89XjpNZ+yPOvmGvKnoJX\\\\\\n\",\n       \"xpZWVY1OaDqfnEtISAh+/PFHPPjggxXmyzz5W13J6IMysuG6deuwc+dOFczq3bu36uZPRERE5OwY\\\\\\n\",\n       \"wKIK3N3d0adPH6xcuRKTJk1S8wwGg3pu2hWCnENKy9Y4GxqGoLRUtN63Bx55uSj09rF1seyCu06H\\\\\\n\",\n       \"GyJD0MLTHZ56PdYtW4qCggL1e5BccZaQFhJFhiJM6zINRzKO4IcjP8CgGRq87E1p9MH4HtV3tbaX\\\\\\n\",\n       \"4JURg1hNh3Srv/XWW/Hnn39iwICylq6bNm1SrTTnz59f5+V++umnuPbaazFkyBA1Gck+adGiRZg6\\\\\\n\",\n       \"dapVyk9ERGSzJO71XQY5NXYhpCqH6ZYT7E8++US1MrnrrruQm5urRiUkJ6PTlY9G6GIoRez2LWjK\\\\\\n\",\n       \"2nt7YkrzEDU90DoCHfIycXLjOmz59SdkZGSoAJalwSsho4K5FwC5246gp9YWt3e7HRPbToSfm1+D\\\\\\n\",\n       \"fg9nF2Nn+a92frPzvMErI5lv3p1Q3k/O5aabblKtpPz9/cu7Fcvjv//+W/2truQ4LF31zWVnZ/MY\\\\\\n\",\n       \"TURETpEDq74TOTe2wKJK5O5uamoqnnzySXUB3rNnT3XX2DyxOzlPHqwBv/+sHrffsgl7hzTMAAH2\\\\\\n\",\n       \"rJuvFyI83HBJWCBS4vajuLgYhaWlWHfkiBrUoK4k6LV5x0707T8Yaxa+h6hOXdA5IhKx3W/H30l/\\\\\\n\",\n       \"41jmMZzOq9hdl2rmkVuMqCNlF/AZYV4428zb5lUW1j4Mrp6uKCkoqTF4VVVLLHmfvJ+cj7S8+uKL\\\\\\n\",\n       \"L6y6TE3TVOJ2cydOnFDdC4mIiIicGQNYVCXpLsgug03D8U5dke/lDa/8PMTu2AJ9SQkMrs69a/DU\\\\\\n\",\n       \"69QogqKXvzfGebkgPT0de//ehVOnTln1s5KSkqDX61Ug7MiWTarVW4eBQzEmvC8CO1yKjxO+QkZh\\\\\\n\",\n       \"hupamJybDI1tn2vUel869AaT1ldVXMw3tsgekbj4+YuRejAVPa7uYdF7JIild9Gr4JW8n5yP/OZ/\\\\\\n\",\n       \"+OGH8nx5Xbp0UaMISp7J2urVq5cKXMk0evRouJrso+Vz4uPjq0waT0RE5DDYhZAs4NxXqUR0XhKs\\\\\\n\",\n       \"Oty7H7qtWwOvvDy0PLAXx7padhHuiIJcXTCzdQSalRSW57Nas+Zv1QWnUWga4jasVQ+jO3fDjQOv\\\\\\n\",\n       \"gk6nh4ubGzbn7MTXcV8ziFWDNrvO5b860t323QeNJAhV20CUpcEucjyHDx/G+PHjVcuoDh06qHlz\\\\\\n\",\n       \"5sxBdHQ0fv31V7Rt27ZWyzPmpNyxYwfGjh0LX1/fCrkrW7dujSuvvNLK34KIiKgRWaMLILsQOj0G\\\\\\n\",\n       \"sIgIB/v0VwEsYzdCZwxgSX6r26PD4O2ix99ns/HP8l9tXSQk7tutJuHh7YP2UydhzrA5OJF9Agv3\\\\\\n\",\n       \"LEReSZ6ti2hXXIoNaLWvLICV7+WKUzHsMkX26d5770WbNm2wYcMGBAcHq3lnzpzBDTfcoP4mQaza\\\\\\n\",\n       \"eOqpp9S/EqiSbv6enp4NUm4iIiIie8YAFhHhcM8+KNW7qETuHTZvwPJpt9lF16z6kE46V0cEo6WX\\\\\\n\",\n       \"u3re3MMdhzdvUnndJBm7vSnMy8WeDxbB08cHHYeMwMw+M5FVmKVaY607uQ47UnegqYs6nAGPwrL+\\\\\\n\",\n       \"g/Fdg6G5OPY2Ss5rzZo12LhxY3nwSoSEhGDu3LkVRg+srWnTplmphERERHaGXQjJAgxgEREKfXxx\\\\\\n\",\n       \"vFMXtNm7C0FpqQhPPI6Ulq0dsmb8XPS4KDQA0Z7u8HHRI3XLJpX4+GRenkqqbs80Qynys7OwY9mv\\\\\\n\",\n       \"CDvQGnoXF7h5euGGoVejfVB7nMo9hb9P/t1kuxi22X2u+2B891CbloWoJh4eHlV2S87JyVFd/upK\\\\\\n\",\n       \"8l298cYb+Prrr5GQkFBpVFTJ5UdEROSQGMAiCzCARUTKwX4DVQDL2I3QkQJY7bw9EOruBmmPMybE\\\\\\n\",\n       \"H56pyUg/mY59R45UusBzBJpmQMqxo+XPs9NS0axNLHq0G44o3ygczjis5h/JOIKzhWfRJGgaYv7N\\\\\\n\",\n       \"f1XiosPxTkG2LhFRtSZMmIDbb78dCxYsQP/+/dW8TZs24c4771SJ3OvqmWeewYcffogHH3wQTzzx\\\\\\n\",\n       \"BB5//HEcO3ZMJYuXkYOJiIiInJne1gUgIvsQ12dA+eP2mzfCnrnqgEgPNzWNCvbDQ838cZmWj0u1\\\\\\n\",\n       \"fBQejsP69evVyF+OGLyqSsbpUyrx+8bvFqHVGT+MdRmASzyG4tEO96FtQFtEeEcg1Mu5WySFnsyF\\\\\\n\",\n       \"f0ahenyiQyCKPXn/hezXf//7X5WofdCgQSpflUzSdTA2NhZvvfVWnZf7xRdfYP78+SqAJSMRTp48\\\\\\n\",\n       \"WQW0JHglXRaJiIgclSRwt8ZEzo1XAESkZIY3Q3J0K0QkHkeLo4fgm34GOcH2M8qbkbdej3tbNUMb\\\\\\n\",\n       \"XakaRbCkpATr1q1TCZKdXUFuDrb9/lP589i+A3FHr5tUujK9qxtWpv2F3+J/gzNquyut/PHRbs4d\\\\\\n\",\n       \"rCPHFxgYiB9//FGNRijBdNGpUycVwKoPyeHXrVs39VhGIszMzCxv8TV79mwrlJyIiIjIfjGARUQV\\\\\\n\",\n       \"uhFKAEu037YZ28aMs5vaaeHhhv+0bAZ/VxfszsnDT7//rHJbNWWHt2xUk/AOCESPG67A0Kihqmvh\\\\\\n\",\n       \"p/s+RbGhGM4ixiSAFd/V/gKrRFWRgFV9g1amWrRogVOnTqFly5aqhdfy5cvRu3dvbN68WeXdIiIi\\\\\\n\",\n       \"InJmDGARUbmDfQZg+JLF6nH7LRttHsCaEBaIjj5lw8VHeLghafdO7DhxArm5uTYtlz3Ky8zA9g8+\\\\\\n\",\n       \"g6ePL7qOvBD397kf2UXZKsi3KnEVDp49CEfle7YQzU6UrfPTLXyQE8QLdbJvV155pcp99cgjj1SY\\\\\\n\",\n       \"//LLL6tg0zfffFOn5V5++eVYuXIlBgwYgHvuuQc33HCDyrMlCd3vv/9+K5WeiIjIBpjEnSzAABYR\\\\\\n\",\n       \"lUtqE4uswCD4Z5xFzO4dcCsoQLFnWQCpsXjodbgoJAAtPN0R6emGk5vLRhFMLShAWtq5VjhUWWlx\\\\\\n\",\n       \"MXIzzmLzz0sQ3joGOp0eXv7+uHHYjdiashWlhlLkleThz8Q/UaqVOkwVxuw51z30aA92HyT799df\\\\\\n\",\n       \"f+Hpp5+uNP/iiy/Ga6+9Vuflzp07t/zxtddei1atWqmcf+3atcOll15a5+USERHZmjVyWDEHlvNj\\\\\\n\",\n       \"AIuIztHrcbDvAPRdsRRuJSVos3s74voNavAaaunprlpYieFBfgjPSkfa8QTsPHoU+fn5Dr2GJPgm\\\\\\n\",\n       \"uboCm0Ug9Xh8o3ymobQEyUcOlT/PSk1B9L+jSoZGd0Srzq2wI3WHen4y5yRO552GPWuzk/mvyLHk\\\\\\n\",\n       \"5OTA3d290nw3NzdkZWXVKzA2ePBglcBdDBw4UE2SC1D+Nnz48HqVm4iIiMiecRRCIqpAAlhGHTZv\\\\\\n\",\n       \"atDaCXVzRf8AHzzQOgJX6ovU5HXyONauXYu9e/c6fPDKGMDaunUrel16JXyDgm1ShrTE4ziwbo2a\\\\\\n\",\n       \"Ni5ZjJBTwHj3oZjgOQz/1/FedA7ujHCvcDWSoQ462BP3/BJEH8pQj7MC3JEW5WPrIhGdlyRaX7y4\\\\\\n\",\n       \"rDu2qUWLFqFz5851rsELLrgA6enpleZLMnf5GxERkVN0I6zrRE6PLbCIqIL4Lj1Q5O4O96IitNu6\\\\\\n\",\n       \"CTpDKTS9i9Vr6fLwQIz390RxcTG2/v2XSkzsrBITE9G+fXt4BwYh52zli8/GVFJUiB3Lfi1/3qJT\\\\\\n\",\n       \"F0wfNhk6vR46vQu2ZO/E4rjFMGgG2IOWB87CpbTsjCReug/KkItEdk5GBLziiitw5MgRjBo1Ss2T\\\\\\n\",\n       \"3FVfffVVnfNfGQPiuip+AzIKq48Pg7tEROTAmAOLLMAAFhFVUOrujiM9eqPT5o3wyclGi4NxSOxY\\\\\\n\",\n       \"9xYDRiFurvhPy3AEu7mqNj55pQYsX/YbE7Lb2In9e9Uk3L280W7qRDw7+FkVwMovyVejGUo3Q3sY\\\\\\n\",\n       \"ffBoN44+SI5B8lH98MMPePHFF/Htt9/Cy8sL3bt3x4oVKzBixIhaL0+CYUKCVzfddFOFEQdLS0ux\\\\\\n\",\n       \"a9cu1bWQiIiIyJkxgEVElUjeKwlgifZbN9UrgNXJxxMXhQYg0sMNmYcPYuORI2p+QUGByttC9qMo\\\\\\n\",\n       \"Pw/7P/waXv4B6nmzmLa4behtSMpNUs+PZx7H8uPLoTVSG21dqYaYPWUt1go99DjRLrBRPpfIGsaP\\\\\\n\",\n       \"H68mawgICChvgeXn56cCYkaSa0vyYN12221W+SwiIiJbYBJ3sgQDWERUyeFefWHQ6aHXDOiweSNW\\\\\\n\",\n       \"TplucS1JZ8Mxof7wcXGBq06HwYG+OL5zOw5mZSE5OZm1becMpaXI/beb49Gz6cg8nQwPX1/V8mN4\\\\\\n\",\n       \"v0GI6ByB1PxUFcTanLwZafkNNzJk5NFMeOWXBTmPdw6BwZVpG8mxFBUVISUlRQ3kYKply5a1Ws5H\\\\\\n\",\n       \"H32k/m3dujUeeughdhckIiLnwy6EZAEGsIiokjz/ACS274hWcfsQeuokQpJO4ExkixprytdFjw4+\\\\\\n\",\n       \"nhgQ4IvYwhykpZYFq3btSsbp0/Y9yh1V78zJxHOPExPQumcfBLoEwMPbB32698Hvx35HiaFEdTc8\\\\\\n\",\n       \"ePagVauyze4z5Y+Pdmf3QXIchw4dws0334z169dXmcNKuv3VxcMPP6yWYXT8+HF8//33KjH8RRdd\\\\\\n\",\n       \"VO9yExEREdkzBrCIqNrRCCWAJdpv/QcbqghgBbi6wE2ng5eLHre2CIN/dgayzyTjr23bVHJ2ci4F\\\\\\n\",\n       \"uTlqJEOjmF59Mb7tMPXYNzAYawI3YeOpsq6nWUVZKDbUYxvQNMTsLGvdZdABxzrbZgRHorqQPFWu\\\\\\n\",\n       \"rq745Zdf0Lx58yoTr9fFxIkTVT6sO++8ExkZGejfv7/qQpiWlobXX38dd911F1cYERE5JFt1IXz3\\\\\\n\",\n       \"3XfxyiuvqJ4iPXr0wNtvv62Or+cjIwtPnjxZHZsl7yU1DgawiKhKcX0H4sIvyrqttN+8ERsuLUsi\\\\\\n\",\n       \"bDQq2A/XB/uUtwaIP3oIK3buZG02IfHbt6hJeAcEYtBlV2JUt7KAVmFeLl498i7SC+o26mLQ6TwE\\\\\\n\",\n       \"nSlQj0/EBqDQx82KJSdqWDt27MDWrVvRsWNHqy5327ZteOONN9RjSQ4fERGB7du347vvvsOTTz7J\\\\\\n\",\n       \"ABYRETkuG3QhXLx4MR544AG8//77GDBgAN58802MHTsWcXFxCA8Pr/Z9x44dU136hw0rO++lxsMA\\\\\\n\",\n       \"FhFVKT0yCqkRkQhLTkL0wf3wyspEkX8ApkSGoLuft3rN6hXLVSsAorzMDKz5bEF5RXQaOhIP9n1Q\\\\\\n\",\n       \"tcKSfFlrEtfgzxN/WlxRbXed6z4Y3z2UFUwORbr0Sasoa8vLy1NJ3MXy5ctVayy9Xq+SuEt3QiIi\\\\\\n\",\n       \"IrKctF6WQVCmTy/L9yuBrF9//RULFy7Eo48+WuV7JA3AlClT8Mwzz2Dt2rW8FmpkDGARUbUO9RuI\\\\\\n\",\n       \"sJ+XQK9puPXYAfhPmqTmb1+xXF1ISYJioqrs//tPJOzZCb2LC9y9vDHs8nHoFNIJxaXFKCgtwI9H\\\\\\n\",\n       \"fkR2UXa1lRez69zFf3xX5r8ix/LSSy+pfFUvvvgiunXrBje3ii0I/f3967Tc2NhY1U3h8ssvx7Jl\\\\\\n\",\n       \"y3D//fer+ZIovq7LJCIiaootsOQ6RlpLz5o1q3ye3BQaM2YMNmzYUO37nn32WdU665ZbblEBLGpc\\\\\\n\",\n       \"DGARUZV6+Hkh/MLRwM9L1PPgVSuQ2joaSUlJzG9FFsnNOFv+OP+TxQiOilaPI1u2xp3d78TutN3q\\\\\\n\",\n       \"+YnsE9hzZk/5a72zitD8WFlwKy3CG5lhXqxxcihy8itGjx5t1STu0k3w+uuvV4ErWfagQYPKW2P1\\\\\\n\",\n       \"6tXLCiUnIiJy/BxYWVlZFeZ7eHioyZS0lJbjcbNmzSrMl+cHDhyocvl///03FixYoFIFkG0wgEVE\\\\\\n\",\n       \"5STNcGdfL7T0dMeFof5IzwmF5u8HXVY2SrZsQcKI4dBcudug2svLylSTOLF/L9r07ouOfiGQ3Naj\\\\\\n\",\n       \"2w/Bcp/mOJV7SnU3dN20Rm2L4ii7DzZ5q3unwt3Hvd71UJTbeC1GV69e3SDLveqqqzB06FCcOnVK\\\\\\n\",\n       \"JZo1kmCWtMqi2lmW5PgXIGMje9q6CEREdic6uuymqdFTTz2Fp59+ul7LzM7Oxo033oj58+cjNJTp\\\\\\n\",\n       \"LWyFV6JETZyHXgdvvV4FEi4NC8QAVw05OTnYvvIfpKeno1XrGITu2gWX4mL4HTuGrNhYWxeZHJ6G\\\\\\n\",\n       \"o9s2lz9L3L8Hg4aOhN6/G1w9PJFy7NzfknpF2aiMRHU3YsSIBqs+SdwukylLRksiIiJqKl0IExMT\\\\\\n\",\n       \"K3StN299JSQI5eLigtOnT1eYL8/Nj7PiyJEjKnn7pZdeWj7PYDCof2XkYUn83rZt23p+ATofBrCI\\\\\\n\",\n       \"mrAWHm64t1UEQrQS9TwzMxMr16xDQUHZ6G9qXvt2KoAlAg8eZACLrC7zdDI2fLdIPdYbDOiwsaxV\\\\\\n\",\n       \"hC4oCPde/hq+TPgWW1O2subJoUhejHnz5uHo0aP45ptvEBUVhc8+++z/27sP8KrL8//jn5O9EyAQ\\\\\\n\",\n       \"CIS9QUCmIOIARfGybqkTtaV/rRu11WrV1ra0v1rrqHW1jstdtVonDhCQvVGQEHYC2YTsfc75X88T\\\\\\n\",\n       \"EhNmIAlnvV/X9SXf8z0j3/OckHNyP/d9P+rVq5fNogIAAG0TwDLBq6P1hgwLC9OoUaM0d+5cXbS/\\\\\\n\",\n       \"z68JSJnLt95660G3NysLf/99XfuLeg8++KDNzHryyScPyvpC2yCABQSgsfHRujipnaKDg/RxbqHC\\\\\\n\",\n       \"5n9x2NsW9+4tZ3Cwgp1OxW1Ok847TzZdC2gDUXuy5aipsfsFiQnK/vi/uvDSCzWt9zR7LLM0U69v\\\\\\n\",\n       \"el1VzirGH17r/ffft2UGZpWiNWvWqKqqqmGSwDR2/+yzzzx9igAABLxZs2ZpxowZGj16tM1mfuKJ\\\\\\n\",\n       \"J1RWVtawKuF1111nJ6Bmz56tiIgIDR06tMmYJSQk2K8HHkfbIYAFBAgTcprWMV69I8PVOypCqUsX\\\\\\n\",\n       \"22Vfw0pLj3g/V1iYSnr2VMK2bQovK1NUVpbKk5NP2HkjsMRm7GnYL0npqtLd6Vrx4isKj462P8UD\\\\\\n\",\n       \"xk/U7SffrvyKfNsva3nWcm0q2OTRcwYO9Ic//MEuxW0++L79dl12oXHqqafa6wAAQNs1cW+u6dOn\\\\\\n\",\n       \"Ky8vzy6Skp2drREjRmjOnDkNjd3T09PtyoTwHgSwAD/WMSzEZls55FByeKi6RoQpb91qrSwosJkA\\\\\\n\",\n       \"zVU0oL8NYBnxaVsIYKFtuN2Kyci0u67gYJV16WT3q8rL7Gas/vRDdek3UMEhwQoNj9RVE6/S8uzl\\\\\\n\",\n       \"NiOr2lmtxZmLVeuqK4kFPMX0wZg0adJBx+Pj4+3EAQAAaLsSwmNhygUPVTJozJ8//4j3feWVV479\\\\\\n\",\n       \"G6JFCGABfsgEq7qEh+ryzu1Vm7nblq+YZWK/T0tTRUXFMT9eUb9+kj63+wlb0pR1Rts1KPZXpqY+\\\\\\n\",\n       \"tkOicnfUBQJxsMj8AoVW1pValSYnHXLFS5fTqT2pGxsuF+ZkqX//gXY/vlNn9R/SX4v2LFJGSYZK\\\\\\n\",\n       \"a46cXQi0FdP8devWrerZs+dBy2/37t2bgQcAADgOBLAAPxITHKRBMZG6uksHuQrylfH9eqWlpbX4\\\\\\n\",\n       \"cWtiY1WW3EXRmVmKyslVWGGhqvfXfKN5vvvuO5166kSV7StQ9rYtDNtRygdLU5pXprp3d7rdjODQ\\\\\\n\",\n       \"UA07a6quSrxQwV1C9fTOf9kgltPlVHltOWOOE2bmzJm644479NJLL8nhcCgzM1NLly7VPffco9/+\\\\\\n\",\n       \"9re8EgAAeEEJIXwPASzAT1yS1E7nx0XYTKvl3y6wddytqbBffxvAMuK3bFHemDGt+vj+bu/evbaO\\\\\\n\",\n       \"3mQJEcA6tOj0ugCW+exR0u3Y+6w5a2q09otP7P7AU0/Xr06+q+G6jzPnaF7GvON89YBjc99999ms\\\\\\n\",\n       \"y8mTJ6u8vNyWE5olvE0A67bbbmM4AQDwkhJC+BYCWICPSgwN0S9SOio2JFimtWCt260vvvjcrpzR\\\\\\n\",\n       \"FgoH9FfXBQvsfvzmNAJYaFWhxaWKLCqx++WJHeSMjGjR46UuXqDUJQvtfmz7Djr1qks0Pnm8bfxe\\\\\\n\",\n       \"WFmo1za9ppLquu8HtDaTdfXAAw/o3nvvtaWEpaWlGjx4sGJiYhhsAACA40QAC/Axg6IjNKl9rHpF\\\\\\n\",\n       \"hqtoy2b9sHu3PV5SUqKampo2+76VHTuqMi5OEcXFijUrclRWyhXRsiADUC92d13zdqO0eyutcumu\\\\\\n\",\n       \"m4Yr2ZuvNf96XVHx8fZy9yHDdeuIW5VZWvc9N+zdoNU5q3kx0OrCwsJs4AoAABwFGVhoBgJYgI8Y\\\\\\n\",\n       \"Ex9tm7Of2T5Ouzd8p+3Fxdqz58eeQW3O4VDRgAGKWLlSQS6X4rdt074hQ07c90fA9L8qSena6o9f\\\\\\n\",\n       \"XVFuN6MwO1vJGQMVGh6u4JBQ/XTMReoW00255bl2RUOX29Xq3x8AAACH59i/tURL7w/vRwAL8FLR\\\\\\n\",\n       \"wUHqERFm901jdhPAKt+5Xd9tWKOcnByPnFNR/35KWrnS7iekbSGAhVYRVFWlqJx8u18VG6Pq+Ng2\\\\\\n\",\n       \"Hlm3MtM2NVzK352uvsNO1pjkIeoV30urclbZ4yagVVhV2MbnAgAAAKA5CGABXibM4VD70BD9snsn\\\\\\n\",\n       \"JZSX2KbstbXlWvXFQttHxZNKundXbXi4QqqqFLd1q+R0SsHBHj0n+L6YPdly7C/3s6sPOk7s/Flx\\\\\\n\",\n       \"Xo6+mztHYZGRGn72NA1MvNj2MIqIjtYz2/5tA1mmd1ZFbcUJPS8AAICAQQkhmoEAFuBFBkZHaFZS\\\\\\n\",\n       \"nIKDg7Vt2xZ9sX69vEpwsIr79lX7jRttECs2PUMlvXp6+qzg42L3rz7YVuWDzVVdUaGVH73fcLnn\\\\\\n\",\n       \"8FG6feLNNphlLNy7VB9u/dAGswAAANB6HO66raWPAf9GAAvwAlM6xOn09rGKCw7W2uVLtXv3brsE\\\\\\n\",\n       \"uzcq7N/PBrCM+C1pBLDQMk6novdk292asFCVd+rgNSO6c/1q7fp+XUM2Vv+rL9T94+5Xdmm23kx9\\\\\\n\",\n       \"U5XOSk+fIgAAABAwCGABHhAfEqwLOyUoLChIEUEOdY8IV9qSb+1Kgp4uEzya4j595AoKqmvknrpZ\\\\\\n\",\n       \"u88++4SXfMF/RGfnKaS21u6XdUuWgoLkTdwup823Ki8u0oZ/v6PYxET1GTlWt4y4RdlldYG3Nblr\\\\\\n\",\n       \"tKngx55aAAAAONYPXfu3liADy+8RwAJOoG4RYRoUHaEJ7WIUnLlbe/futcdXZWWprKzMJ14LZ0SE\\\\\\n\",\n       \"SrqnKH7nLkUUFysiL0+VnTp5+rTgo2IzMhv2S0z/Ky9WW12lfZl7tDr7f+o2aKiiQ0MVEhqmKydc\\\\\\n\",\n       \"qaWZS1VeW64aV41WZq+0XwEAAHAMCEDhKAhgAScocNUlPFRXdmmvsox0FW7apdTUVJ8d+6IBA2wA\\\\\\n\",\n       \"y0hIS1M2ASwcD7dbsbvrAlgmq6+sa2efGEe3y6WMjd81XC7I2qOhg0+y+7HtO2jo0KGalz5PWWVZ\\\\\\n\",\n       \"KqvxjcA0AAAA4O0IYAFtwBTUmdJAY0JCrKYnRKiiokKbVyzXrl11gR9fVtSvn/TFl3Y/3gSwJk70\\\\\\n\",\n       \"9CnBB4XvK1RoWbndL+/SSa7QUPmivbvT7WYEh4Rq+Nnn6cbkn8oRFKQnt7+gwqpCudwuVbuqPX2q\\\\\\n\",\n       \"AAAAXokm7mgOAlhAK4sJDtLtPZLUJ7jucnV1tRYuXKh9+/b5zVhXJySovFMnReXmKiYzS6ElJaqJ\\\\\\n\",\n       \"jfX0acHHxKY3Kh80/a/8gLO2Rms+/8juD5gwSb8eOavhuk+zvtTX6V978OwAAAC8FD2w0AwEsIBW\\\\\\n\",\n       \"0jMyTFd16aB2oSFKLa3QD3PnyO12y+l02q/+pqh/PxvAMuK3bFH+yJGePiX4mJj0PT7T/+p4bF6y\\\\\\n\",\n       \"UFtXLrWrGEbFJeiUn16okUkjlVGcoXfT3lWtu655PQAAAICjI4AFHCdTIHhuYrztbWUMjolU5vfr\\\\\\n\",\n       \"9X1+vgoKCvwyaNVYYf/+6rJocUMZIQEsHIuQsnJF7Su0++XtElQbHeWXA+isqWvmXpyfq3UvvamY\\\\\\n\",\n       \"9h004JSJunnEzcovz5dbbi3LWqadxTs9faoAAAAeQwkhmoMAFnCMIoMcGpcQo75REUqJCFPh/mbO\\\\\\n\",\n       \"m4qLlZ2dHTDjWd6li6qioxVeVqbYHTsVVF0tV1iYp08LPrj6YGmPrgoEVeVldlv+v/eUMnio4oKD\\\\\\n\",\n       \"FRYZpRtH36j5GfOVXZatHwp+8PRpAgAAnHiUEKIZCGABzRQfEqyksFBdktROiSX7VJy7V99t3KjK\\\\\\n\",\n       \"ysrAHEOHQ8UD+qvjmrUKdjoVu2OHXZ0QaI6YRgEsfywfPBJnTbV2rl/TcLkwJ0uj+w5QYvcz9VXM\\\\\\n\",\n       \"Qm0t3GqPm1UMK50B+vsFAAAAOAABLOAIQh11KwmaMsHbeiQpsqxEeZnpmr96td+XCDa3jNAEsIyE\\\\\\n\",\n       \"zWkEsNAsQTU1is6u659WHRWpqnYJAT1y2VvT7Bab2FGnnT1NZ3Ybp6DgYOWGleilDS+puLrYrmII\\\\\\n\",\n       \"AADgryghRHMQwAIO47KkdjovLqLh8obv1iktLY3xaqSkZ0/VhoYqpKbGNnKXyyUFBTFGOKLoPdkK\\\\\\n\",\n       \"Mj8rpnwwpavN5oNUkp+nb996tW4oHA4NmzxVD4/4jWqrq/SPbf/SruJdDBMAAPBPlBCiGQhgAY1E\\\\\\n\",\n       \"BDl0XXKiukaEyYRhvv76S1siaLKtavY3Y8aP3CEhKundW+02b1ZoRYWi9+xRWUoKQ4Rm978q6R5Y\\\\\\n\",\n       \"5YPN5nbru6/naNO385Xcf6B+ftbPta9qn71qW+E2fbTtI9sAHgAAAAgUBLAASUlhITo7MV49IsJU\\\\\\n\",\n       \"XOvUriXfat++faqurmZ8mlFGaAJYRkLaFgJYODKXS9G76wJYtSEhKkvqyIgdQU1VpXZ9v077sjIV\\\\\\n\",\n       \"FhWloKAgjT71dHUe1tk2ff9q11cqry1nDAEAgG8jAwvNQAALAevk2CjFhwbbTKupifEq27ldRUVF\\\\\\n\",\n       \"2rl9u1z7y5twdMV9+8jtcMjhditu82btmXwWw4bDisrNV2h1XTZjWdfOUnAwo9Wc/2f5dT3DjMKc\\\\\\n\",\n       \"bHUbNFRDunZTr2G/0IrsFfZ4TlmOthVtYzwBAIDPoQcWmoMAFgJKsEPqHhGmkXHRGhMfrdrM3fZ4\\\\\\n\",\n       \"5vrt2rq1buUvHJva6GiVdO2quN27FVVQoPC9e1XVoQPDiGaUD3ZllI5DdUW5tq9ZoR3rVmnAKRM1\\\\\\n\",\n       \"qd1J9nhi3/P136xPba+szNJMSgwBAADgVwhgISCYFtHhQQ79v5ROGuRwqry8XMvmLFBZWZmnT80v\\\\\\n\",\n       \"FA/obwNY9WWEOeMJYOEQ3G7FpO+p23U4VGoysHDc3C6XUpcsbLjcoWuKzj/rHIV3jtaS4tX6cNuH\\\\\\n\",\n       \"+4fddMuiXxYAAPBilBCiGQhgocHOnTv16KOPat68ecrOzlZycrKuueYaPfDAAwoLC/PZkUoMDdEd\\\\\\n\",\n       \"PZKU7HApLy9Pny1ZIqfT6enT8rs+WN3mzrP7powwZ/wpnj4leKGwohKFl9YFjcs6JcoVHu7pU/Ir\\\\\\n\",\n       \"e/dkaP5r/1ZETKzGXXyFThv7Z3u8sqxUf9/+nHLLfyxDBAAA8CamHYnZWvoY8G8EsNAgNTXV9n56\\\\\\n\",\n       \"/vnn1bdvX23YsEEzZ860WUqPPfaYT43U2R3ibImg0T40REsKS7X227mqqqry9Kn5JVMyWN6+naIK\\\\\\n\",\n       \"9il2zx4Fl5fLGRXl6dOCl4nNqMu+MkopH2wzlaUlWvjGywqLiLSXuw8drl+e8ksVVBZoXvo8bdi7\\\\\\n\",\n       \"oe2+OQAAANBGCGChwbnnnmu3er1799bmzZv17LPP+kQAK8QhTeuYoC7hoeodGa7ty5eqtrZWe2pr\\\\\\n\",\n       \"VZWf7+nT83vFAwYoaukyO/MRv2WrCoYP8/QpwcvUlw8aJd2SPXougVBeWFVel+22ZcUS5WfsUmyH\\\\\\n\",\n       \"RE2fPF2D8wfL6Xba1Qu/3vW1alx1TfXR1MKFC/XXv/5Vq1evVlZWlj744ANddNFFfjNM/v78AAA+\\\\\\n\",\n       \"hhJCNAMBLByRWZWvffv2R7yNyWpqnNlUXFx8wka1qwlWRdWVIY2IjVJ0cLBqt2zSmowMlZaWnrDz\\\\\\n\",\n       \"gFTYr786L11mhyJhSxoBLDQRXFGpqPwCu18RH6uauBhG6ATal7XHbiV785WY0sMe69h9oHoM7aG1\\\\\\n\",\n       \"eWu1uWCzCqsKeU0aMdnHw4cP14033qhLLrnE78bG358fAMC3sAohmoMAFg7LrMr39NNPHzX7avbs\\\\\\n\",\n       \"2frd7353QkeyU1iIukWE6ZrkDqrKyrSlj1XZBVq/fr3NusKJV9atq2oiIxVaUaHYbdvlqK2VO4Rf\\\\\\n\",\n       \"MagTuzvTLqZglHbvxrB4OJBlbF+zUoNOO0NT24/X5OGT9c7md7S3ci+BrP3OO+88u/krf39+AADA\\\\\\n\",\n       \"/wR5+gTQ9u677z45HI4jbqb/VWN79uyx5YSXX3657YN1JPfff7/N1KrfMjIy2vT5TOkQpz+mdNDP\\\\\\n\",\n       \"4sO1ZfkyLVq0SEuWLLFlEASvPCgoSEX9+tndkJoaxe7c6cmzgZeJSc9s2C9NoXzQGzhra7Thm6+0\\\\\\n\",\n       \"9P23VLQqVb/oca1+O/RXGtR+kKdPDQAABGoJYUs3+DXSIwLA3Xffreuvv/6ItzH9ruplZmbqzDPP\\\\\\n\",\n       \"1IQJE/TCCy8c9fHDw8Pt1paCJV3fNVGj4qNV5nTpm6++sMEyeJei/v2U+N13dj8hbYuK+/b19CnB\\\\\\n\",\n       \"C5hsvOisbLtfExGuisQjlyXjxEtbvthuSb376pqfXKPgIPNbV9q0d5Pe2PSGat3+k9l6YJn7iXgP\\\\\\n\",\n       \"8weebBcAAPB/lBCiOQhgBYCOHTvarTlM5pUJXo0aNUovv/yygoI8l6TXKzJMlya1V7DDoajgIFW6\\\\\\n\",\n       \"XFrw6SeqqKiQ0+n02Hnh8Ip795YzOFjBTqfiNm+WzjtXctQXjiFQRWflKtjp+jH7ip8Jr5Wzfav2\\\\\\n\",\n       \"Pvu8QkLDFBQcrK6XT9as0bO0t2Kv3t/yvl+UF6akpDS5/PDDD+uRRx7x2Pn4Ck+0CwAAAGiMABaa\\\\\\n\",\n       \"BK/OOOMM9ejRw/a9ysvLa7iuc+fOJ2ykRsVFqX90hEbHRStr4/cqKCqSaf2cm5tLiaCXc4WFqaRn\\\\\\n\",\n       \"TyVs26bwsjJFZWWpPJlysUAXm9Fo9cGUrh49FxxdbVWV3Yztr35km7536tlHNw27San76srNM4oz\\\\\\n\",\n       \"tDp3tU8Opylzj4uLa7hM9lXzmHYBs2bNapKBdWAwEACA48YqhGgGAlho8NVXX9nG7Wbr1q1pk2W3\\\\\\n\",\n       \"u+0KiiODgjQ8NtL24jLN2Se1i1Vu6g9K3VBgyxnhW4oG9LcBLCM+bQsBrEDndis6o+7/scnOK+vS\\\\\\n\",\n       \"ydNnhGPgrKmxWVlm6547XN1i42wG3YQhF6pLTBdllGTo+/zv5XLXZdj5AhO8ahzAQvNQagkAaEuU\\\\\\n\",\n       \"EKI5CGChgemTdbReWa0pOjhIHUJD7EqCiaVFqqqqlKvCpbVrlmnfvn28Mj6qrpH753Y/YUuass44\\\\\\n\",\n       \"3dOnBA+KzC9QWGVdNk9ZlyRWpvRh6RvWN+xnbt6kk8ZP1PjE4Rrecbi+2vWVLTOsdlXLX5SWltoJ\\\\\\n\",\n       \"nXo7duzQunXr1L59e3Xv3l2+zt+fHwAA8D8EsOAR3SPCdHuPJMVUVShrT7rmrV7dplleOHFqYmNV\\\\\\n\",\n       \"1qWLorOyFJWTq7DCQlUnJBzTY6xcuVIff/yxcnJybNmoKWE1y71PnDixzc4bbV8+WNr94HLSr1au\\\\\\n\",\n       \"0YI165WRU1ey3LtrF111zlnqR6mhVyvZm6dVn3yg0PAIjZp2oWb1v0U5wYV64bsXVFztH829V61a\\\\\\n\",\n       \"ZXtC1qsvn5sxY4ZeeeUV+Tp/f34AAB9DCSGagQAWTqhTEqI1vXMHhQU59EHOPoXP/4JXwA8V9u9v\\\\\\n\",\n       \"A1hG/JYtyhsz5pjuHxMTo5/85Cfq0qWLQkJCbFbAiy++aMt+hg0b1kZnjbYQnb6n4TNJSbeDA1gb\\\\\\n\",\n       \"t+/UxOFDNaB7isJCQvThwsV69OXX9fc7blaHeMq8vF1NVaWWffCOLSuMv3Ki7h97vy0nNNtnOz7T\\\\\\n\",\n       \"0qyl8lWmJ6Q/T6z4+/MDAPhmGSFwJASw0KYigxy6qksHtQsNsQuPdQkP1YZvF6iwsFDhlZWMvp8q\\\\\\n\",\n       \"HNBfXRcssPvxmzdr15Ahdvn1iIgIu5l+Z8aKFSv0wQcf2Ewr01/FLCBw5513atCgQU0eb+rUqfr2\\\\\\n\",\n       \"22+1ZMkS7d69W9OmTWv2uXz22Wfq1avXQY+JtuF0ulRWWSmny6V2NbWKLCqxx3OiI3XHC68oe2+B\\\\\\n\",\n       \"wkJD1Su5s3597XTdOf2SJve/6ZILtGzjJn2/bYfOGDmcl8lXuN0qevNbLY1db/9/R8UnaOrF0zQy\\\\\\n\",\n       \"aaTSi9P16Y5PPX2GAAAA8HEEsNBmLuyUoBGdO6mo1qmStSvtsYyiIpWU1P1BC/9V2bGjSqOjFFNW\\\\\\n\",\n       \"rqgdO3X3zTer1FXX5DkqKkqTJk3S6NGj9c9//lPTp0+3+5WVldq8efNBj2UyBH744Qe7SqZp6r94\\\\\\n\",\n       \"8WI5nU5dcMEFRz0PU4b4n//8R2FhYbrnnnsIYrVh0Gr15i36YtlKfbd1u822Mq5t106DOyXZ/bd2\\\\\\n\",\n       \"pevMcaM0bshAVVRVadPOdBPzOEh1TY19vJioyLY6XbShipK68sHy4iKVv/qW4jslacyY8eo8tLMW\\\\\\n\",\n       \"bK0LagMAABzEfDBsaWYwmcV+jwAW2szg4r2qLMxT+pYtcu0PXsD/bd++Xa+//rouKyrSte3aK9Th\\\\\\n\",\n       \"0D1nTdbmjomqrq62QaiFCxdqzpw59vZmGfaOHTs27NcrLy/X7bffbntgBQUFaeTIkTZjyzBBKeNI\\\\\\n\",\n       \"Qaz64JVhvq9pUEwWVusywcWvV67Re/MWam9xibp3SNCFJw9RfGSEgoIcuqygTHLWfRCZW1KilKxs\\\\\\n\",\n       \"nTN2lDq1S1CPznWBrQO9Pmeu2sXFalif3q18tjjRyosK7bZ3d7p6Dh+loemxvAgAAOCQWIUQzUEA\\\\\\n\",\n       \"C21mzZo1iowkiyLQXvN//OMfSkxMlHPkKLOslT0+zuGQu39/uz906FCdddZZ2rBhgy3v+8tf/qKB\\\\\\n\",\n       \"AwdqwoQJGjt2rKKjo+3tTKnhH//4R5uZtXHjRv3vf/+zPVvmz59/1CBW4+CVccUVVxxT2SGOzuVy\\\\\\n\",\n       \"65VPv9BnS1doZPdkXTN2mFLa/9isP7TWqR55pXa/ODRYhaHB2r72O61KTdNlZ07SmaOGK+aA3w8f\\\\\\n\",\n       \"LFikxd9t0CM/n6GwUN6e/EV1RYXSli1S+f7VKAEAAIDjEXRc9wKAA5gyv6eeekp9+/bVDTfcoKgx\\\\\\n\",\n       \"o1UdGmqv65KVJUejLDzTmH3EiBG666677AqDW7Zs0aeffqp7771Xubm5db+cgoKUlJRk+2KZ4NOY\\\\\\n\",\n       \"MWO0d+9eG4yqZ4JUJlh1tOBVc8oNcWze+HKuPl+6QpeMHKqrTjm5SfDK6FhS3vAGk58Qo/unnakr\\\\\\n\",\n       \"Rg9TdXWN3vpynm7/2zPKKdjXcPv/fbtEHyxYrAdvuEY9uxw6OwsAAAB+vgphSzf4NQJYAFqsrKxM\\\\\\n\",\n       \"Tz75pA02XXrppQoNDZU7KEhZXbrY68NqatQxL++g+5kMPRPsMoEqU+ZnAlurV68+bLlaTU2NDUYd\\\\\\n\",\n       \"LohF8OrEWLlps/63cIkuGDFYE/r2OORtOhWVNeznxEXbxt5je6folrPG29eyqqZGK35ItdeblQff\\\\\\n\",\n       \"n/etHrz+avU9xEqFAAAA8G8OV+ts8G/UaABosUWLFtlVBi+++GIFBwc3HN/Ttat6pKfb/YGbUuWW\\\\\\n\",\n       \"Q/kdE21wy6wmaPpS9enTR5MnT9Zrr71ms66Sk5P10Ucf2ZUDTWDLBK3Wr19vm7dff/319rHqM6rq\\\\\\n\",\n       \"M63M108++cT2zapH5lXb+WTRMvVKbK9J/XsdfKXbrQ4lFepUXBfAqg5yaH1lhbak71H/zomKCQ/X\\\\\\n\",\n       \"kK5JWpeeqfZxcTbr6p2v59vVCDu2S9C+krqyw4iwMEWGh7XhswAAAADgSwhgAWh5I++vv7YN0mNi\\\\\\n\",\n       \"YppcF+Ry2kxehykjzM62W3lkpNaMHKm8iHDt2rVLy5Yts8Evk33Vvn17DR8+XGlpaXr11VdVUFBg\\\\\\n\",\n       \"VxDs0qWLbrrpJp1yyikNj31gEIvg1YmRkZOnjTt26epTTj7ouqTCUg3OzFdkjbPhWJBb6l/j1Bf5\\\\\\n\",\n       \"BVq4ZYeqamptk3eTkVVQXKwvl69SrdOpx958t8ljXX7WJE2fcsYJeU4AAADwsNYoAaSE0O8RwALQ\\\\\\n\",\n       \"4t5X2dnZOvfcc5sc75qxW+OW160a2FhkRYVOXbxYOvVUdbzmmobjplH7e++9ZzOzLr/8crsdjQli\\\\\\n\",\n       \"HZh5FRUVRc+rNvTlitWKiQjXSV07HxS8Grkr56DbB7vdOjO3WPHDBisn4ccA5xvL1uqLZav0z3tv\\\\\\n\",\n       \"t8EsAAAABC5WIURzEMAC0CLbt2+3KwZ279694Zhp2D5yzZq6/QNu79g/OTJ2xQptLiyU9gcvBrpc\\\\\\n\",\n       \"6tihgzp+84269OjZrO/91rp1TYJXhrk8/6mndeWIEV73yjq2bJHKS5WYsUu+alR2niZ0TdbAvMIf\\\\\\n\",\n       \"D7rd6pVfdMTX22Rm5cRHN7zeQ5KTtHbZWpVVVh60GiEAAAAAHIgAFoAWN3A3zdgbZ9Ek5uUrqqLi\\\\\\n\",\n       \"sPdx7G/sftLGjU2OD0/sKO1Kr9uO4sW9e/Xv/B8bw8cFBal4/0qH/165QnE7dmhmhw7yRp3ku64K\\\\\\n\",\n       \"C6/byflxBcGjMa+3KStsX1apgpi6YFXU/v5WZRUEsAAAAAKe220nRVukpfeH12MVQgAt+yUSFGT7\\\\\\n\",\n       \"YDUWWXn44FVrMMGrvzcKXt2V2FHL+vW3X+uZ683t4D3Ca2ob9ut/ZszPDwAAAAJbfQlhSzf4NzKw\\\\\\n\",\n       \"ALSIadxusrCcTmfDCoQVEc0rCVs3bJiKEhLsfnV1le2BNW3aNA0ePPiw93lv0SK9tjm14fK1kyfr\\\\\\n\",\n       \"jIkTtUWSafmdb66fO7chiJU/fJgumzjRK17l3r37SMUF2rOpaeaZL3n1868U6nJq8qA+DcdiK6o0\\\\\\n\",\n       \"MPvoGVlVoT++5RRVVNqvlA8CAAAAaA4CWABa5KSTTtJbb72lzZs3NwSe8jsm2tUGTcP2Q7XnNpMj\\\\\\n\",\n       \"5VGRShs4QO79GTgrVqzQ4ooKXX7aaSpu1+6Q3+vjjz/Wf/YHp4wrrrhC51xwgYob3eacvn1V1aFD\\\\\\n\",\n       \"w+qEJphlLtevWuhRpi9XfrZKSwrkq1x9euqtb75Vv5MHKTIs1B7Li41Sj73FiqhxHvb1rgwNVkF0\\\\\\n\",\n       \"RMOxtemZ6p/SVZH7SwkBAAAQwFiFEM1A7QaAFklJSVH//v21cuXKhmMmKLVm5Mi6/QNuX3957ckj\\\\\\n\",\n       \"G4JXppxs1apVGjVqlNodJnj12WefNQSl6oNXhwtKmePm+nrmfub+aLkpo0+Wy7xeO3f/eNDh0A/J\\\\\\n\",\n       \"iXWv5QG3r79sr9/fJy23uFRbcvJ17iljeEkAAABACSGahQAWgBabMmWKdu7cqZycnIZje1K6afGp\\\\\\n\",\n       \"p6rigBXmTOaVOW6ub7ySYV5enn2cw+nVq5fCwsKOGrw6VBDL3M/cHy3XLi5WY4cM1JJt6XLub5pv\\\\\\n\",\n       \"5CTEaE2PJJtp1Zi5bI6b6+st2rpTsVGROmXo4UtFAQAAAKAxSggBtNiYMWPUuXNnm+n0s5/9TFFR\\\\\\n\",\n       \"Ufa4CVJldk22qxKaxu6mN5YpL6zPvDIKCwv14Ycfqm/fvho0aNBhv4e57p577tGOHTtsn6zmMEEs\\\\\\n\",\n       \"05fLBK+O9Ng4NheeNkEPbEzVu6u+1/QxwxpWoDRBqpz4aLvaoGnYbnpe2bLBRitUrkvP1JKtu3T1\\\\\\n\",\n       \"1MkKa9QTCwAAAAGMVQjRDGRgAWixkJAQ3XvvvaqpqdGrr76qoqKihutMsCovqZPSe/SwXxsHr0zW\\\\\\n\",\n       \"lbl9RESE7rzzzoZAyOGYIFRzg1f1zO0JXrWuvt2SdctlF9oywndXfdckE8sEqwpiIpXVLtZ+bRy8\\\\\\n\",\n       \"Mrd/c/k6nTbiJF00aUIrnxUAAAB8FasQojmY/gbQKjp16qQHH3xQf/3rX/X888/r5JNP1ujRow/Z\\\\\\n\",\n       \"0yo3N9f2vFq/fr29n8msio+P55XwIZNGnGRnyp55/yPtKijSqX16aGSProo4IKvK5XIrNTvXlhym\\\\\\n\",\n       \"ZuVq8uiTNfPCaUcNVgIAAABAYwSwALSa5ORkPfLII/r000+1YMECLV26VL1791bHjh1tH6qqqipl\\\\\\n\",\n       \"Z2dr165diouL07nnnqvzzz+/oeQQvmXSycPUJbGDPliwSB+s3ahPv0vVkK5Jio+MULDDofLqGqVm\\\\\\n\",\n       \"56mgrFy9unTWbZdfZANfBK8AAADQBKsQohkIYAFoVSaT6qqrrtKll16q5cuXa9GiRbbBe2VlpSIj\\\\\\n\",\n       \"I5WYmKhbbrnFZmeZ0kP4tn4pXfWra6Zrb1Gxvl65RqtT07S7OF9Op0vRkREaNqCfpo4bbcsOCVwB\\\\\\n\",\n       \"AADgSCWELdHS+8P78dcjgDYRHh6uSZMm2Q3+r0N8nKZPOcNuAAAAANDaCGABAAAAAADPcbnrtpY+\\\\\\n\",\n       \"BvwaASwAAAAAAOA59MBCM/y4nj0AAC2wcftOffTt0mO6j7m9uR8AAAAAHAkZWACAFjNBqD+9+paq\\\\\\n\",\n       \"amrkdDl18ekTj3ofs3rhG1/MU3hoqH4z40oN6d2TVwIAACAAOVqhCbt5DPg3MrAAAC22bU+WDV4Z\\\\\\n\",\n       \"JihlglPNCV4Z5n7m/gAAAAhQbnfrbPBrBLAAAC32k9PG6+qpZzVcPlIQq3HwyjD3M/cHAAAAgMMh\\\\\\n\",\n       \"gAUAaBWmbPBoQaxDBa+aU24IAAAA/2XKB1tjO1bPPPOMevbsqYiICI0bN04rVqw47G1ffPFFnXba\\\\\\n\",\n       \"aWrXrp3dpkyZcsTbo/URwAIAnJAgFsErAAAAHHEVwpZux+Cdd97RrFmz9PDDD2vNmjUaPny4pk6d\\\\\\n\",\n       \"qtzc3EPefv78+bryyiv1zTffaOnSpUpJSdE555yjPXv28KKeIASwAABtHsSa8fv/I/MKAAAAXuPx\\\\\\n\",\n       \"xx/XzJkzdcMNN2jw4MF67rnnFBUVpZdeeumQt3/jjTf0y1/+UiNGjNDAgQP1r3/9Sy6XS3Pnzj3h\\\\\\n\",\n       \"5x6oCGABANo8iFVWWdmwT9kgAAAAGnO43a2yGcXFxU22qqqqgwa7urpaq1evtmWA9YKCguxlk13V\\\\\\n\",\n       \"HOXl5aqpqVH79u15MU+QkBP1jQAAgRfE+nDBkibBq+iICHpe4ZiU77lGtZExLR616opSSS8z+q3s\\\\\\n\",\n       \"g7TvFRfrm/OhU5NHePoUAAD1XPu3lth/f1Pa15gpEXzkkUeaHMvPz5fT6VRSUlKT4+Zyampqs77d\\\\\\n\",\n       \"r3/9ayUnJzcJgqFtEcACALQJ0/OqcfDKMJfNcRq3AwAAoC1kZGQoLi6u4XJ4eHirf48///nPevvt\\\\\\n\",\n       \"t21fLNMAHicGASwAQKs7sGG7ybyqD2bVHyeIBQAAAKNxCeDxqr+/CV41DmAdSmJiooKDg5WTk9Pk\\\\\\n\",\n       \"uLncuXPnI973scceswGsr7/+WsOGDeMFPIF8M+cbAOC1DrXa4KsP/eqwqxMCAAAgwJ3gVQjDwsI0\\\\\\n\",\n       \"atSoJg3Y6xuyjx8//rD3+7//+z89+uijmjNnjkaPHt3SZ41jRAYWAKBNg1f1mVb1X+uvJxMLAAAA\\\\\\n\",\n       \"njJr1izNmDHDBqLGjh2rJ554QmVlZXZVQuO6665T165dNXv2bHv5L3/5ix566CG9+eab6tmzp7Kz\\\\\\n\",\n       \"s+3xmJgYu6HtEcACALR58KoeQSwAAAAcxJT/tbCE8FjvP336dOXl5dmglAlGjRgxwmZW1Td2T09P\\\\\\n\",\n       \"tysT1nv22Wft6oWXXXbZUZvEo20QwAIAtNhH3y49avDqSEGs4KBg/eS0w6drAwAAwH853HVbSx/j\\\\\\n\",\n       \"WN166612OxTToL2xnTt3Hu+poZXQAwsA0GJ9unZReGjoUYNX9cz19T2xzP3M/QEAAADgcMjAAgC0\\\\\\n\",\n       \"2JDePfWbGVdq256sZmdSmSCWybwywStzfwAAAAQoD5QQwvcQwAIAtAoThDrWQBRlgwAAAHC4ZLeW\\\\\\n\",\n       \"aOn94f0oIQQAAAAAAIBXIwMLAAAAAAB4DiWEaAYCWAAAAAAAwHNM+6qWtrCiBZbfo4QQAAAAAAAA\\\\\\n\",\n       \"Xo0MLAAAAAAA4DEOt9tuLX0M+DcCWAAAAAAAwHPogYVmoIQQAAAAAAAAXo0AFgCcAMHBwWrXrp2c\\\\\\n\",\n       \"tTWMNwAAANCYqf5ztXCjgtDvUUIIACfAqFGjpNIi7Vi3mvEGAAAAGqEHFpqDDCwAOAFiY2O1fe0q\\\\\\n\",\n       \"OWvIwAIAAACAY0UAC4dUVVWlESNGyOFwaN26dYwSAAAAAKBtuBs1cj/ujRfH3xHAwiH96le/UnJy\\\\\\n\",\n       \"MqMDAAAAAGhbLQ5e7d/g1whg4SCff/65vvzySz322GOMDgAAAAAA8DiauKOJnJwczZw5Ux9++KGi\\\\\\n\",\n       \"oqKaXW5otnrFxcWMKgAAAACgecwqgo5WeAz4NTKw0MDtduv666/XTTfdpNGjRzd7ZGbPnq34+PiG\\\\\\n\",\n       \"LSUlhVEFAAAAABzTKoQt3eDfCGAFgPvuu882Yz/SlpqaqqefflolJSW6//77j+nxze2LiooatoyM\\\\\\n\",\n       \"jDZ7LgAAAAAAIPBQQhgA7r77bptZdSS9e/fWvHnztHTpUoWHhze5zmRjXX311Xr11VcPeV9z+wPv\\\\\\n\",\n       \"AwAAAABAs7RGE3YysPweAawA0LFjR7sdzVNPPaU//OEPDZczMzM1depUvfPOOxo3blwbnyUAAAAA\\\\\\n\",\n       \"ICARwEIzEMBCg+7duzcZjZiYGPu1T58+6tatGyMFAAAAAAA8ggAWAAAAAADwHDKw0AwEsHBYPXv2\\\\\\n\",\n       \"tCsTAgAAAADQZlxmKcJWeAz4NVYhBAAAAAAAgFcjAwsAAAAAAHiMw+22W0sfA/6NABYAAAAAAPAc\\\\\\n\",\n       \"emChGSghBAAAOIRnnnnG9oOMiIjQuHHjtGLFCr8bp0B4jgAAwD8QwAIAADjAO++8o1mzZunhhx/W\\\\\\n\",\n       \"mjVrNHz4cE2dOlW5ubl+M1aB8BwBAD7C5W6dDX6NABYAAMABHn/8cc2cOVM33HCDBg8erOeee05R\\\\\\n\",\n       \"UVF66aWX/GasAuE5AgB8rISwpRv8GgEsAACARqqrq7V69WpNmTLlxw9MQUH28tKlS/1irALhOQIA\\\\\\n\",\n       \"AP9CE3cAABAwiouLm1wODw+3W2P5+flyOp1KSkpqctxcTk1NlT841udYVVVlt8ONIwAALdMaGVRk\\\\\\n\",\n       \"YPk7MrAAAEDASElJUXx8fMM2e/ZsT5+STzDj1HjczDgCANBqKCFEM5CBBQBtLCEhQdHR0aquqGCs\\\\\\n\",\n       \"AQ/LyMhQXFxcw+UDs6+MxMREBQcHKycnp8lxc7lz587yB8f6HO+//37b8L1xBhZBLAAAcCKRgQUA\\\\\\n\",\n       \"bcjhcGjixInatnShCrMzGWvAw0zwqvF2qABWWFiYRo0apblz5zYcc7lc9vL48ePlD471OZpxOnDs\\\\\\n\",\n       \"AABoNaxCiGYgAwsA2jiAZf5QzPhhA+MM+BCTbTRjxgyNHj1aY8eO1RNPPKGysjK7Yp+/CITnCADw\\\\\\n\",\n       \"EW5X3dbSx4BfI4AFAABwgOnTpysvL08PPfSQsrOzNWLECM2ZM+egpue+LBCeIwAA8B8EsAAAAA7h\\\\\\n\",\n       \"1ltvtZs/C4TnCADwoSbuLX0M+DUCWAAAAAAAwLM9sORuhceAP6OJOwAAAAAAALwaGVgAAAAAAMBz\\\\\\n\",\n       \"KCFEMxDAAgAAAAAAnmMrCFvaA6u1TgbeihJCAAAAAAAAeDUysAAAAAAAgOdQQohmIIAFAAAAAAA8\\\\\\n\",\n       \"x+Uy/7TCY8CfUUIIAAAAAAAAr0YGFgAAAAAA8BxKCNEMBLAAAAAAAIDnEMBCM1BCCAAAAAAAAK9G\\\\\\n\",\n       \"BhYAAAAAAPAcl9ukYbXCY8CfEcACAAAAAAAe43a77NbSx4B/o4QQAAAAAAAAXo0MLAAAAAAA4Nkm\\\\\\n\",\n       \"7i0tATSPAb9GAAsA2lBoaCjjCwAAABw1+EQAC0dGCSEAtJGQkBCdPnqkctI2qaaygnEGAAAAgOP9\\\\\\n\",\n       \"+4qRA4C20a5dO4VFRmnRf15niAEAAIDDcbkkRwubsNPE3e8RwAKANuSsrZHbvCEDAAAAODRKCNEM\\\\\\n\",\n       \"lBACAAAAAADAq5GBBQAAAAAAPMZULLhbWELopoTQ7xHAAgAAAAAAnkMJIZqBEkIAAAAAAAB4NTKw\\\\\\n\",\n       \"AAAAAACA57jcksPdCllc8GcEsAAAAAAAgOfY4FMLV+4mgOX3KCEEAAAAAACAVyMDCwAAAAAAeIzb\\\\\\n\",\n       \"5Za7hSWEbjKw/B4ZWAAAAAAAwHPcrtbZjtEzzzyjnj17KiIiQuPGjdOKFSuOePt3331XAwcOtLc/\\\\\\n\",\n       \"6aST9Nlnn7XgSeNYEcACAAAAAAAB5Z133tGsWbP08MMPa82aNRo+fLimTp2q3NzcQ95+yZIluvLK\\\\\\n\",\n       \"K/Wzn/1Ma9eu1UUXXWS3DRs2nPBzD1QEsAAAAAAAgGdLCFthOxaPP/64Zs6cqRtuuEGDBw/Wc889\\\\\\n\",\n       \"p6ioKL300kuHvP2TTz6pc889V/fee68GDRqkRx99VCNHjtQ//vGPVhoFHA0BLAAAAAAAEDAlhNXV\\\\\\n\",\n       \"1Vq9erWmTJnScCwoKMheXrp06SHvY443vr1hMrYOd3u0Ppq4o9XVN8+rqKhgdBHQ8vPztWnlcpVX\\\\\\n\",\n       \"Vnn6VACPq6iqOq4GqzUVZa3y/VvrcaAmr2NxaQuXPPegWneNp08B8Lji4mJPnwL84OenNZqn16pG\\\\\\n\",\n       \"crfCYxzi5zo8PNxuB35OdzqdSkpKanLcXE5NTT3k42dnZx/y9uY4TgwCWGh1e/futV/vuOMORhcA\\\\\\n\",\n       \"cNB7RHx8/FFHJSwsTJ07d9Z/7/1Jq42geTzzuGi5kpIS+7XHyJ0+PJzbPX0CgMc15/cx0Jz3hOP9\\\\\\n\",\n       \"Wap/v1+U3TrN0GNiYpSSktLkmOlx9cgjj7TK48OzCGCh1bVv395+TU9PD9g3RRP1N784MzIyFBcX\\\\\\n\",\n       \"p0DEGDAG/Bzw/6GxoqIide/eveE94mjM6j47duywKf6txXxINo+LlktOTrbvcbGxsXI4HK0+pP7w\\\\\\n\",\n       \"HuLrz4Hz9zxeA8bf239+TOaVCV6Z94Tj1drv9+acDnxfOjD7ykhMTFRwcLBycnKaHDeXTUDtUMzx\\\\\\n\",\n       \"Y7k9Wh8BLLQ6UztsmOCVL35ga03m+TMGjAE/B/xf4HfCwe8Rzf1QS8DJe1/Hbt26tfn38Yffn77+\\\\\\n\",\n       \"HDh/z+M1YPy9+eenNRIWPPF+bya1Ro0apblz59qVBA2Xy2Uv33rrrYe8z/jx4+31d955Z8Oxr776\\\\\\n\",\n       \"yh7HiUEACwAAAAAABJRZs2ZpxowZGj16tMaOHasnnnhCZWVldlVC47rrrlPXrl01e/bshhY5p59+\\\\\\n\",\n       \"uv72t7/p/PPP19tvv61Vq1bphRde8PAzCRwEsAAAAAAAQECZPn268vLy9NBDD9lG7CNGjNCcOXMa\\\\\\n\",\n       \"GrWbljiNM8cnTJigN998Uw8++KB+85vfqF+/fvrwww81dOhQDz6LwEIAC63O1BibRnmHqjUOFIwB\\\\\\n\",\n       \"Y8DPAf8X+J3A70UE9vuorz8Hzt/zeA0Y/0D++TlRTLng4UoG58+ff9Cxyy+/3G7wDIe7Nda8BAAA\\\\\\n\",\n       \"AAAAANpI8zupAgAAAAAAAB5AAAsAAAAAAABejQAWAAAAAAAAvBoBLLS5Tz/9VOPGjVNkZKTatWun\\\\\\n\",\n       \"iy66KCBHvaqqyq5s4XA4tG7dOgWKnTt36mc/+5l69eplfwb69OljG0pWV1fL3z3zzDPq2bOnIiIi\\\\\\n\",\n       \"7P+BFStWKFCY5YbHjBmj2NhYderUyf6/37x5swLZn//8Z/v//84771Qg2bNnj6655hp16NDB/g44\\\\\\n\",\n       \"6aST7JLTAAAAwLEggIU29f777+vaa6/VDTfcoPXr12vx4sW66qqrAnLUf/WrXyk5OVmBJjU1VS6X\\\\\\n\",\n       \"S88//7w2btyov//973ruuefs0rP+7J133tGsWbNssG7NmjUaPny4pk6dqtzcXAWCBQsW6JZbbtGy\\\\\\n\",\n       \"Zcv01VdfqaamRuecc47KysoUiFauXGn/DwwbNkyBZN++fTr11FMVGhqqzz//XD/88IP+9re/2ckM\\\\\\n\",\n       \"wF8nABYuXKgLLrjAvueboLVZYt2X+PoExLPPPmt/18bFxdlt/Pjx9vePr/LFyY9HHnnEnnPjbeDA\\\\\\n\",\n       \"gfIlvjz5Yn53Hjj+ZjOfywBfF+LpE4D/qq2t1R133KG//vWvNgOn3uDBgxVozAenL7/80gb0fPlD\\\\\\n\",\n       \"1PE499xz7Vavd+/e9oOw+YD52GOPyV89/vjjmjlzpg3eGiZoZ7IRX3rpJd13333yd3PmzGly+ZVX\\\\\\n\",\n       \"XrF/CK1evVqTJk1SICktLdXVV1+tF198UX/4wx8USP7yl78oJSVFL7/8csMxk40JNGcCwPzeNMGr\\\\\\n\",\n       \"J554wk4AmPcO83vE25lAvZm0uPHGG3XJJZfIVycgTBDLfJYzE05mAsIEoKOjo+XtunXrZoM+/fr1\\\\\\n\",\n       \"k1ls/dVXX9WFF16otWvXasiQIfIlvjz5Ycb666+/brgcEhLic5MvZ555pv3c3rFjR23ZssVnJl/M\\\\\\n\",\n       \"z43T6Wy4vGHDBp199tm6/PLLPXpeQGsgAwttxmSdmNmLoKAgnXzyyerSpYvOO+88+0s0kOTk5NhA\\\\\\n\",\n       \"xmuvvaaoqChPn45XKCoqUvv27eWvTHmkCdRMmTKl4Zj5f2AuL126VIH6mhv+/LofjvlD8Pzzz2/y\\\\\\n\",\n       \"8xAoPvroI40ePdp+aDaBB/NeYAJ5QHMnAMyklwlkmfdPMwHgC8xnHROsvvjii+WrExDXX3+9DUCY\\\\\\n\",\n       \"QJyZgEhPT7fva77AZL9NmzbNBrD69++vP/7xj4qJibEZwb46+eErgZPGTMCqc+fODVtiYqJ8cfJl\\\\\\n\",\n       \"7NixduLFBHFNGwxfYAJujcf+k08+sed++umne/rUgBYjgIU2s3379oY04gcffND+8jRvwGeccYYK\\\\\\n\",\n       \"CgoCYuTNzJ/5EHjTTTfZP+Igbd26VU8//bT+3//7f347HPn5+XbmKykpqclxczk7O1uBxpSQmtIH\\\\\\n\",\n       \"M5s5dOhQBZK3337bBvNNSU6gvg+YbEvzh+QXX3yhm2++WbfffrvNiAAOhQkA7+PLExDmvdj8HjZZ\\\\\\n\",\n       \"caaU0Jf4+uSHyVgyZbQm894E4kwQ1Ff40+SL+Z36+uuv24xQU0YI+DoCWDhmpvzpUHXVjbf6vkfG\\\\\\n\",\n       \"Aw88oEsvvVSjRo2yMxnm+nfffTcgxsAEakpKSnT//ffL3zR3DBozGXmmnNB8IDCz6wgM5kO4ybw0\\\\\\n\",\n       \"f0QEkoyMDFtG/cYbb9g+PoHIvA+MHDlSf/rTn+wfAL/4xS/s/32TUQMcChMA3sVXJyC+//57m3UV\\\\\\n\",\n       \"Hh5uJxE/+OADn2ph4euTH6b012TumWw+M4mxY8cOnXbaafYzsS/wp8kX04OvsLDQTqgD/sB3ipHh\\\\\\n\",\n       \"Ne6+++6j/hI0sy1ZWVl2v/EHBvNBwlznS7MwLRmDefPm2ZIx87wbM7M6ZjbKF98Ij3UM6mVmZtpe\\\\\\n\",\n       \"AhMmTNALL7wgf2bS5IODg235aGPmsknlDiS33nqrzb40TY1NX5JAYsptTNN+E8BpnA1gxuIf//iH\\\\\\n\",\n       \"XZnU/Jz4M1M6fuAfjYMGDbL9AAH4zgTEokWL5EsGDBhgV3w22WPvvfeeZsyYYXt7+UIQq37ywyyA\\\\\\n\",\n       \"4quTH6aMtp7p32UCWj169NB//vOfJn1xvTlwaz6rm8kXw0zAmP8HZvLF/Cz5kn//+9/29QjEhaTg\\\\\\n\",\n       \"nwhg4bjqqs12NCbjygRuTNPViRMn2mNmJbKdO3faN7FAGIOnnnqqSdNmE8QxjWhNg1rzZh4IY1Cf\\\\\\n\",\n       \"eWWCV/VZeKYflD8LCwuzz3Xu3Ll29ab6D0PmsgnoBEr57G233WZnvefPnx+QjbsnT55sswAaMz19\\\\\\n\",\n       \"zEpMv/71r/0+eGWYrI0DVy9LS0vz+fcAtB0mALyHL09AmPfhvn372n3zfmyaWj/55JO2Ibq388fJ\\\\\\n\",\n       \"j4SEBNuPzLSR8AX+Mvmya9cu20j/v//9r6dPBWg1BLDQZszSxSZt++GHH7aNEM0fLGZFQiNQVsHo\\\\\\n\",\n       \"3r17k8smnd0wjRR97cPg8TLBK9P3zLz+ZtXBvLy8huv8ORvJrKBlZunMDJ5pAGpW0TI9OOpXJQyE\\\\\\n\",\n       \"Wfs333xT//vf/+xS7PW9v+Lj4+1y1IHAPO8DS27MCl5mSW5fKsVpibvuustmXZpZ7CuuuEIrVqyw\\\\\\n\",\n       \"GZj+noWJ48cEgOf54wSEmUQygR9f4I+TH6Yh/bZt23TttdfKF/jL5IuZNDY9vEwvNcBfEMBCmzIB\\\\\\n\",\n       \"K7MKiXnDqqiosFlHpqzOF1dTwfExKfBmxs1sBwbtzIdkfzV9+nQbrHvooYds8GbEiBG2F8SBjd39\\\\\\n\",\n       \"lekdYZjg5YEfpujDEDjGjBlj/wg2fQB///vf2z+ETTDXlFAD/joBYP5Yb5xpYvr/mHI20wT9wIkt\\\\\\n\",\n       \"b+TrExDm940pmTJjbXoumediAnGml5Ev8IfJj3vuuceuBmkCPqb6wExmm8DblVdeKV/gD5MvJmhr\\\\\\n\",\n       \"PnOZ36XmbzHAXzjc/vwXJAAAAHyOKZUyk2D1EwCmJN9XSu9NsMSUzR/I/CFpGlt7u8OtVOYrExCm\\\\\\n\",\n       \"x5Ip2Te9WE3QzfRgMplLZ599tnyVmQwy/w9MMNcX/PSnP7Ulj3v37rXtJkwrkT/+8Y+2AsFXmPJZ\\\\\\n\",\n       \"Eww1qymayRcTWPelBYi+/PJL27bEZJKZ8k3AXxDAAgAAAAAAgFfz707KAAAAAAAA8HkEsAAAAAAA\\\\\\n\",\n       \"AODVCGABAAAAAADAqxHAAgAAAAAAgFcjgAUAAAAAAACvRgALAAAAAAAAXo0AFgAAAAAAALwaASwA\\\\\\n\",\n       \"AAAAfmX+/PlyOBwqLCz09KkAAFoJASwAaENZWVm66qqr1L9/fwUFBenOO+9kvAEAaGVnnHFGk/fY\\\\\\n\",\n       \"CRMm2Pfg+Ph4j401QTQAaF0EsACgDVVVValjx4568MEHNXz4cMYaAIATICwsTJ07d7ZZWAAA/0AA\\\\\\n\",\n       \"CwBaIC8vz35A/tOf/tRwbMmSJfaD89y5c9WzZ089+eSTuu666zw6CwwAgL+6/vrrtWDBAvt+awJW\\\\\\n\",\n       \"ZnvllVealBCaywkJCfrkk080YMAARUVF6bLLLlN5ebleffVV+37drl073X777XI6nU0mou655x51\\\\\\n\",\n       \"7dpV0dHRGjdunM2sqrdr1y5dcMEF9r7m+iFDhuizzz7Tzp07deaZZ9rbmOvMuZjzNFwul2bPnq1e\\\\\\n\",\n       \"vXopMjLSTnC99957B2Vuffrppxo2bJgiIiJ0yimnaMOGDSdwVAHA+4R4+gQAwJeZ7KqXXnpJF110\\\\\\n\",\n       \"kc455xz7ofjaa6/VrbfeqsmTJ3v69AAA8HsmcJWWlqahQ4fq97//vT22cePGg25nglVPPfWU3n77\\\\\\n\",\n       \"bZWUlOiSSy7RxRdfbANbJui0fft2XXrppTr11FM1ffp0ex/zfv7DDz/Y+yQnJ+uDDz7Queeeq++/\\\\\\n\",\n       \"/179+vXTLbfcourqai1cuNAGsMxtY2JilJKSovfff98+3ubNmxUXF2eDVYYJXr3++ut67rnn7GOY\\\\\\n\",\n       \"+15zzTX2M8Xpp5/ecL733nuvfW5mouw3v/mNDZSZ5xkaGnrCxhYAvAkBLABooWnTpmnmzJm6+uqr\\\\\\n\",\n       \"NXr0aPsB1nw4BQAAbc9kOJvMZ5NVZYI9Rmpq6kG3q6mp0bPPPqs+ffrYyyYD67XXXlNOTo4NOg0e\\\\\\n\",\n       \"PNhmTX3zzTc2gJWenq6XX37ZfjXBK8NkY82ZM8ceN9nX5joTpDrppJPs9b179274fu3bt7dfO3Xq\\\\\\n\",\n       \"ZINk9Rld5n5ff/21xo8f33CfRYsW6fnnn28SwHr44Yd19tln232TJdatWzcbQLviiivabCwBwJsR\\\\\\n\",\n       \"wAKAVvDYY4/Zmd93331Xq1evVnh4OOMKAIAXMQGu+uCVkZSUZEsHTfCq8bHc3Fy7b7KsTDmhWYil\\\\\\n\",\n       \"MROE6tChg903JYc333yzvvzyS02ZMsUGs0zZ3+Fs3brVZoLVB6bqmSyuk08+ucmx+gBXfTDMZHlv\\\\\\n\",\n       \"2rTpuJ8/APg6AlgA0Aq2bdumzMxM29fC9L2on4kFAADe4cDSO9Nn6lDHzHu5UVpaquDgYDsxZb42\\\\\\n\",\n       \"Vh/0+vnPf66pU6faflUmiGUysP/2t7/ptttuO+Q5mMc0zO1NX63GmPwCgCMjgAUALWRmTU3vClNu\\\\\\n\",\n       \"YGZHzYdZM2trSgYAAEDbMyWEjZuvtwaTEWUe02RknXbaaYe9nel3ddNNN9nt/vvv14svvmgDWOac\\\\\\n\",\n       \"jMbnZcoUTaDKlB42Lhc8lGXLlql79+52f9++fbb/1aBBg1rt+QGAryGABQAt9MADD6ioqMg2hjUz\\\\\\n\",\n       \"sqYR7I033mhXOjLWrVvXMOtqVi00l82HWvMhFgAAtJwpBVy+fLnNgjbvxfVZVC1hSgdNf0uzkrDJ\\\\\\n\",\n       \"qjIBLfM+blYZNmWC559/vu68806dd9559rYmyGT6Z9UHmXr06GEzusznAdMv0zRxj42NtX207rrr\\\\\\n\",\n       \"LnuOEydOtJ8hFi9ebBu9z5gxo+H7m4b0plTRlDWazxqJiYl20RgACFRBnj4BAPBlZqnrJ554wjaB\\\\\\n\",\n       \"NR88g4KC7P63335rG8Ua5gOv2UwJwptvvmn3zQdZAADQOkxQyJT5mckhs5qfyXBqDaZZuwlg3X33\\\\\\n\",\n       \"3TbL2gSQVq5c2ZAZZbKrzEqEJmhlVic0gax//vOf9jpTIvi73/1O9913nw1CmRUNjUcffVS//e1v\\\\\\n\",\n       \"bblh/f1MSWGvXr2afO8///nPuuOOOzRq1ChlZ2fr448/bsjqAoBA5HC73W5PnwQAAAAAoG5yzKyG\\\\\\n\",\n       \"aDK66lcvBACQgQUAAAAAAAAvRwkhAAAAAAAAvBolhAAAAAAAAPBqZGABAAAAAADAqxHAAgAAAAAA\\\\\\n\",\n       \"gFcjgAUAAAAAAACvRgALAAAAAAAAXo0AFgAAAAAAALwaASwAAAAAAAB4NQJYAAAAAAAA8GoEsAAA\\\\\\n\",\n       \"AAAAAODVCGABAAAAAADAqxHAAgAAAAAAgFcjgAUAAAAAAAB5s/8P66NuqEx18NIAAAAASUVORK5C\\\\\\n\",\n       \"YII=\\\\\\n\",\n       \"\\\"\\n\",\n       \"  frames[5] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQAA43pJREFUeJzs3Qd4FNXXBvB3N733EAIBAqH33ouAgoJiV0RB7F0sn4q9g73/\\\\\\n\",\n       \"VRDsCijYC0gRkSa9EzoJhBBCSO/Z+Z5z48TNprBJNtmS9+czsjvZnb17Z3bKmXvPNWiapoGIiIiI\\\\\\n\",\n       \"iIiIiMhBGe1dACIiIiIiIiIiouowgEVERERERERERA6NASwiIiIiIiIiInJoDGAREREREREREZFD\\\\\\n\",\n       \"YwCLiIiIiIiIiIgcGgNYRERERERERETk0BjAIiIiIiIiIiIih8YAFhEREREREREROTQGsIiIiIiI\\\\\\n\",\n       \"iIiIyKExgEVEDmfEiBG4/vrr7V0MakCyvmW9u6pPPvkEBoMBR44csWmdtWrVymbLs1y2v78/Gop8\\\\\\n\",\n       \"D2t+8/VRj46yP6vrd9u/fz/OO+88BAUFqeV8//33cHTWrndy3n3p008/rbZHZ6SXPTU1FY7s999/\\\\\\n\",\n       \"R48ePeDt7a3Km56eDlfkjPt/IrI9BrCIGrk1a9aokzRbnvDIRYmcZFhOt912Gxy97PaSlJSkvsvW\\\\\\n\",\n       \"rVtrvYxff/1VLcPeZH1ERkaqdf7tt9/auzhENnPw4MGyi8SNGzc6VM1OmTIFO3bswAsvvIDPP/8c\\\\\\n\",\n       \"ffr0QWPEfWnDy83NVceeP//8E47CEctUH06fPo0rr7wSPj4+eO+999Rv38/Pz97FIiKqNwxgETVy\\\\\\n\",\n       \"EgR65plnbB4EkruBciJlPt1www1OUXZ7XXTJd6lrAEuWYW9PPvmkunggslZ8fDxmz57t8BV23333\\\\\\n\",\n       \"wd3dvV6Wfd111yEvLw8tW7as8XvlfWvXrsWNN96Iu+66C9deey2aN2+Oxoj70oYn+3s59lQWLHr8\\\\\\n\",\n       \"8cfV9ulIZXIlGzZsQFZWFp577jn1+5ffvoeHh72LRURUbxjAIqJ60axZM3UiZT7169fPbrVtMpmQ\\\\\\n\",\n       \"n59vt89vLHbu3In3338fDz/8sL2LQk7Ey8vL4S+6Fi9erCYJYtUHNze3stZdNXXq1Cn1b3BwsM3K\\\\\\n\",\n       \"I/tL2W9WJicnx2afQ669L5WAr2zXVD9SUlJs/tu31++b52lEZA0GsIgaMWle/3//93/qcWxsbFlX\\\\\\n\",\n       \"P1vlFygsLKy3E6GzlV0eS0uEL7/8Ep07d1YXyJInQu7Gyt8s78rK+2S+5Fgwt3fvXlx++eUIDQ1V\\\\\\n\",\n       \"J+HSLefHH3+scXn/+OMPDBkyRJ1kSm6h9u3b49FHH1V/k7L07dtXPZ46dWrZd9HLsmrVKlxxxRVo\\\\\\n\",\n       \"0aKF+h4xMTHqItr8rrbkPZHuA/p31yfzE8M333xT1YV8jyZNmuDWW2/FmTNnYEv33nsvLrnkEgwd\\\\\\n\",\n       \"OhT1RVrcTZs2TdWD1EdcXBxeeumlchfb+vp89dVXMWvWLLRp00a9VupZ7lhbkvUs3TAiIiJUVwxZ\\\\\\n\",\n       \"P4899li512zZsgXnn38+AgMD1TocNWoU1q1bV2FZu3btwsiRI9VypBXM888/X2Ug4LffflN1JV0+\\\\\\n\",\n       \"AgICMG7cOPV+S5LPqEuXLmrdyb/fffddLWsP+Oabb9C7d29VvvDwcBVcPn78eKWvPXToEMaMGaPK\\\\\\n\",\n       \"Fx0djWeffRaappV7zbx589TypPxSN127dsVbb71V51xI1tTj8uXLYTQaVas/c1999ZVa/xIAsIWi\\\\\\n\",\n       \"oiK1bcsk21JD5XeRehk/fjz+/vtvdQNA1n/r1q3x2WefldsX6q22ZJ8oyzDPjSbrVlq/ym9efgOy\\\\\\n\",\n       \"D5g7d265z9b3i7IupcWM3IDw9fVFZmZmWT406T55wQUXqPU8adKkGu1XZJuR9SfrUZZ7zjnnVLqd\\\\\\n\",\n       \"W4P7UttIS0vDgw8+qH6vsn7ltyv7t23btlUazJTtrF27dmo9N23aFJdeeqnaJmR7lf2mkBZP+rFH\\\\\\n\",\n       \"785eWQ6s4uJi1WJI3y/L9irHw4KCgnKvs2b7r8zZyrR9+3a1XcuyZJlRUVHqNyLd8c7m6NGj6pgj\\\\\\n\",\n       \"++GTJ0/WyzFJ9jdyTDpx4kS1ZZFcZ9J1WMhyZPnm+1Fr9vVV/b7ffvttFVQ3b+H+2muvqc+4//77\\\\\\n\",\n       \"y+aVlJSo95gHWuU7Dho0CGFhYeqzpQyVpROo6jytpsdRImpc6qcdPBE5BTkB3bdvH77++mu88cYb\\\\\\n\",\n       \"6gRH6Cd+GRkZ6kTqbOQE0DLhs1xYyoWKnNzIxZUEXOTir6HKrpdhwYIF6gRJ/i4nwzXpbignUIMH\\\\\\n\",\n       \"D1YXc4888oi6iJflXXzxxVi4cKEK1Fi7HDkJ79atmwoAyEnagQMHsHr1avX3jh07qvlyEX7LLbeU\\\\\\n\",\n       \"BX/kBFA/CZXuELfffrs6Ifznn3/wzjvv4NixY+pvQi4apeuMXNxJd01L8ne5QJYA2T333IPDhw/j\\\\\\n\",\n       \"3XffVUEZKYfe+iU7O9uqlmryekkWbU7KIt069+zZU29JVqUehg8frk7C5TtJUE8+c/r06epkXy6m\\\\\\n\",\n       \"LQMZ0r1CXisnyy+//LLadiQwo39nuZiROpfnUv+yncjJ/E8//aTyCenrUF4jF3kPPfSQeu2HH36o\\\\\\n\",\n       \"LiBWrlyJ/v37q9clJyeri3O5QNO3GblYkZNwS7Ke5OJDAkRysSPfTQIuEuiU9aIHIZYsWYLLLrsM\\\\\\n\",\n       \"nTp1wowZM9RFlqzH2nQR07cBudiRZckFmASbZBuQzzS/iy+/3bFjx2LAgAGq3uTC4qmnnlLfTbZX\\\\\\n\",\n       \"IdvbxIkTVTBPvoOQ9S/Lq8vv3dp6lAucO+64Q30X+V326tVLbQd33303Ro8eXS7vXl32Z7JdSVBG\\\\\\n\",\n       \"gjuLFi1CQ5J9hQTRpXuQbC8SfJKLTrkolIs+2Z5lvck+VtaFXITq5Zf1K+tPv1CU/aMETWVZEpyS\\\\\\n\",\n       \"i25zElTw9PRUgQ0JJshjIetBtlPZNuXiVPbtNdmvyL5NLkClbDJt3rxZJZyXmxw1wX2p7cg+UALj\\\\\\n\",\n       \"cnNEbgLJtiL7NNm/7t69WwWs9f2AHL+WLVuGq6++Wv2uZZ8qv31pJSa/M9lvyfFJjomyPQo53lXl\\\\\\n\",\n       \"pptuwqeffqq26wceeADr169Xv2HZd1gG58+2/VdGtvPqyiRll+8v260Er2S7kv2L/Cs3JapqBSnH\\\\\\n\",\n       \"BdnnyA0tWYacV9THMUmWJecF8n0tb6qZk5sscrNFyi77ZFmPeoC9Jvv6yn7fEqCTgJEED2X96zfT\\\\\\n\",\n       \"5IaB/KuTZcl5w7Bhw8rmyedcdNFFKhAmv3EJjMt29vPPP6ubNOYqO0+ryXGUiBohjYgatVdeeUWa\\\\\\n\",\n       \"U2iHDx+u8Lfhw4erv51tmjJlSrn3XXjhhdpLL72kff/999qcOXO0oUOHqtc99NBDVpVJPtdymTUt\\\\\\n\",\n       \"u8w3Go3arl27ys1fsWKF+pv8a06WIfM//vjjsnmjRo3SunbtquXn55fNM5lM2qBBg7S2bdtq1nrj\\\\\\n\",\n       \"jTfUsk+dOlXlazZs2FDh83W5ubkV5s2YMUMzGAza0aNHy+bdeeedahmWVq1apeZ/+eWX5eb//vvv\\\\\\n\",\n       \"FeZLvVuzzmUdWZaxRYsW2vTp08vV8zfffHPW+tE/13KZlXnuuec0Pz8/bd++feXmP/LII5qbm5uW\\\\\\n\",\n       \"kJBQbn2GhYVpaWlpZa/74Ycf1PyffvqpbN6wYcO0gICAcnWpr2vdxRdfrHl6emoHDx4sm5eUlKTe\\\\\\n\",\n       \"J+/XTZs2TS1//fr1ZfNSUlK0oKCgcttqVlaWFhwcrN18883lPjM5OVm91nx+jx49tKZNm2rp6ell\\\\\\n\",\n       \"85YsWaKW17JlS81ahYWFWmRkpNalSxctLy+vbP7PP/+slvXkk09W2A7uvvvucvUxbtw4VQ/6tnzv\\\\\\n\",\n       \"vfdqgYGBWnFxsVYX8j3Mf/PW1qPIycnR4uLitM6dO6vfqpRRymS5Pmu7Pztx4oRazx9++KF6Lr9R\\\\\\n\",\n       \"eZ38Zm25P9OXa/7dpF5k3l9//VWuHry8vLQHHnigbJ6+vcs+0dyNN96otp3U1NRy86+++mpVl/q+\\\\\\n\",\n       \"Rf+9tm7dusL+Rt8W5DdWm/2KlFe2GVkv5r+pRx99tNL6rg73pbbbl8pvpaSkpNw82Y5k23r22WfL\\\\\\n\",\n       \"5s2dO1etp9dff73CMvT1KfsDec1TTz1V4TUyz/y4tHXrVvX8pptuKve6Bx98UM1fvnx5jbf/ylRX\\\\\\n\",\n       \"psqOqV9//XWFz9LLLsvas2ePFh0drfXt27fcMaU+jkn6a2uy3zDfH9VmX2/5+5ZtQ/aj+nmbrGsp\\\\\\n\",\n       \"+xVXXKG+lxzDhGwXcq515syZKutXyiNlGTlypFXnaTXZ/xNR48MWWERUJWkubk0XM/1Orc6yi53c\\\\\\n\",\n       \"BZSuCa+//rpqGdFQyYXlrqi0Wqlt9wq5Myh3NeVuqUw6uVMpLVHkLqm0zjob/U7nDz/8oOpC7mDW\\\\\\n\",\n       \"hPldR+mSKV0HpXWWnP/J3U+541sdaRklraXOPffccsOByx1saamxYsUKXHPNNWqetC6SbgZnExIS\\\\\\n\",\n       \"Uu75zJkzVesWvVtkfZHvIi2h5PPNv4u0ApAy/PXXX2Xdm8RVV11Vrqx66za5263nDpL3SKsCy3rU\\\\\\n\",\n       \"78JLCwRpBSUtfKTLiU660Ui9SfJxac0irbMkkb60eDHP9yatAaRM//vf/8rmyd17aQ0oLWbMv4d0\\\\\\n\",\n       \"2ZDWXLJOhNzBl8T+chfavMWbrEvZtmvSRVdGzZN8KdKNxjwnjdwR79ChA3755ZcKgwDIXXHz+pDn\\\\\\n\",\n       \"8rqlS5eq1hiybUsZ5PtIay1bsbYehbQWkNYG0gJAJmmhOGfOnArrs7b7M+kaI+tdWo3Yg6xn8y65\\\\\\n\",\n       \"Ug/S6kLfhqsi+wdpKSpdY+Wx+XYm+zBpFSEtoaSVqU5afFTVykFas9RmvyLbirTCkH2/ecsWaf31\\\\\\n\",\n       \"4osv1qguuC+1HWkJrJN9nOyP9O7tsl3oZBuSljGy/izVJl+b/LaFeTc0IS2xpPWP7F+k9U1dt//q\\\\\\n\",\n       \"mG/j0uJYWhDJ/kbId7fsAi8tzeRYIl0DpQWj7Ovr65gkpBWSZVftmqjNvt7y9y3nKXKeIeUX0jpO\\\\\\n\",\n       \"Wv/KsUi2CRk0Qn770hpLWmuZt+gyr1/Z58r2Jd9TWsxbc55Wk/0/ETU+DGARUZXkQsQW5CRXurdI\\\\\\n\",\n       \"AmTJtWJNgMQWpDl9bUm3BTmBfOKJJ9RUGTlBtCaAJSesH330kboAlpM/6W4lXQakW4Q1wayEhATV\\\\\\n\",\n       \"BUcCg5YX4NIt6mz279+vXhcZGVnl99DJiWRNg37SXfCVV15RObgsu17ZmnwX6fJn3lW0qu8iLIMY\\\\\\n\",\n       \"+oWDXo/6RYOcgFdFglzSTUQumixJNw/pZpGYmKi6s0h+FL07oTnL98r3ENIdpTL6BZIsT7Rt27bS\\\\\\n\",\n       \"ZZpfaJ6NvqzKvodc1EhXEXOybZoH7ITkwBF6F1HpvifdPyRALb8F6RYmAZO6BrOsrUedBGHkAky2\\\\\\n\",\n       \"QQnOVDbiaW32Z9KdSLp6SvepmgaebaWyALVsx2cLxsl2K0EJ6XojkzW/l6r2mZKI2/LGg7X7laq2\\\\\\n\",\n       \"YfkNWwbCz4b7UtuR/ZZ09ZKAgHT9lCCDTrqqm3ebk9+drUbflO1BfksSDDInXfkkCKJvL3Xd/s92\\\\\\n\",\n       \"g0oCOBLEtfwNVHZMvfDCC1V+NzmHsTzG2fqYZAs13ddX9vsWEnSSIJjcNJNAldy0kW7a3bt3V88l\\\\\\n\",\n       \"gCXLkn2+OekqKF2G5eaLeV6zygKele1zarr/J6LGhQEsIqr2JM+aHCVyt80yH5IlSW6qL7OhVNaS\\\\\\n\",\n       \"oKo7xuYn70JPFiq5YOSCuDKWJ+DVlUPuYkqLBLnzKbmE5s+fr4IX0rJHWt1URcolJ4lSb9ISRE4+\\\\\\n\",\n       \"JR+EtP6SPCDWJDWV18hFpiRKrYz5ibecvFsz5LnkxpE8IEKCaxK8kHxQemBDcljoF9EyT07abREA\\\\\\n\",\n       \"kO8i9SEtxSqjB1h0VdVtXe5u24K+3iQ4Ihdulmx1sVjfZLuSixS5sJOWCTJ9/PHHmDx5sspx01Dk\\\\\\n\",\n       \"IkkfmEEuuCXgqOdpqsv+TLYzuYiTiyx929ZbWUjrOAkun60FZF3VdhvWtzG5YaAnerZkmaeoqtZX\\\\\\n\",\n       \"0lrH8vdbk/2KrXBfart9qbR+k5szEuyV3GeyP5flSsu4hkiWbW3rrfrYh0vARfJUyaAHPXr0UEEp\\\\\\n\",\n       \"+c4SeK/su0sOQtmfybYuuatc7ZhU2e9bSE4saVktra0kYKW3FpN/5bkkmpdjvHmLNZkv+a+kNawE\\\\\\n\",\n       \"RyXoJbm95Lgg+b8sMa8VEdWUc5whE5FdTiKllZAkqD6bsyUaNW/pYsuLmtp0X9Dvdlomc7e866u3\\\\\\n\",\n       \"PJETL+kKUFdycigtr2SSrpRy8SAJWCWoJcuv6rvs2LFDJauXk2cJCuiky5alqpYhSV2lG4+0Ujnb\\\\\\n\",\n       \"yaJ0pbMm8CDN/vWAgVzES4s1y9Y6egsd/e6yLYb5lu8i3T1ssU6EXmbpIlIV2WYlGBIfH1/hb3IC\\\\\\n\",\n       \"L+tWD9DKgAV66ypzlu/VE+1KAKC676KPLmfNMs9GX5a8z7Lll8zT/25+YSa/W/MLMNkWhfkodxLM\\\\\\n\",\n       \"lBYKMsl7ZJ1LMmi5OLY2yFtZWWvynaVLr3RxkS5IEuiVlo4yilZd92eybcu+obJWAnKRJoGumgwM\\\\\\n\",\n       \"0ZBku5XRwSQIbqvfS232K+bbsPk+Qi58a9PqhPtS2+xLZVQ46aon3W3NyfasD4qir2dJsi6BDD3J\\\\\\n\",\n       \"eF2OxbI9yH5CtgdpwaqTJOPy2Zb7odqqqkyyzUmLSmmBZT56aWX7G520MJabCrJvk9+U3uW+Po5J\\\\\\n\",\n       \"tlDTfX1VpAuf7N8lKCWTPvKzBKek67zUo/5cJ90Lpdui3NQw76YqAayalN8Wxzwick0MYBE1ctKa\\\\\\n\",\n       \"R1R2EVabnDHSykEu6szvMsqJr+SCkBMh89wW9Vn26k6MpGzSIkpyGuks8ypIYEFaFMmFuOT+kLuI\\\\\\n\",\n       \"5uTiy9pgnNSJ3lpJJ3d9hd68vqrvotej+d1ZeSxdPyyZL8P8AkfuNsv3k7vsljlnZJQfOfnWX1+b\\\\\\n\",\n       \"HFjSVcA894ceEJIAhixv4MCBZWWrK/ku0qVBTo4tW8bpOVxq0npJ1qGcfMvIVpKTxbw1jdSzXATJ\\\\\\n\",\n       \"OpCucZLDTFrh6MEbueCSO8pyl1rv8icjrMmoU5KHSc/fIduKZSsVKbu8R9aH/CYsLwz17Uu2O9lW\\\\\\n\",\n       \"JKhongdLApgyUlhNLvb69OmjtusPPvhAtbrQLy6k1ZQEf8wv5nQyopweCJL6kOdSVgnECsmJYt7d\\\\\\n\",\n       \"SIILeqse864jNWVtPQq5uJbAlbQckTw6si3KiIjSakICrXXZn0nXO2nNZU5y48kooPKZ0iLSUcl2\\\\\\n\",\n       \"K3Ug26j8Hi27ydZkH1YZa/crcmEv24zUmfyO9MCC5ehs1uC+1Hb7Utk+LFv9SD4nad1rHniWbUha\\\\\\n\",\n       \"DstvX1IBmNP3kXprR2uOxfLbllyJsv7l+KqTGzvCcpS62qqqTJUdU8+2Pcp3lH2B5MKUALccZySA\\\\\\n\",\n       \"XR/HJP2cSVqSyv7e8tyjvvb1lZFAlIxiKLmrJJhv3gJLWmrLsUECeOZllPqV+jJv1S7HTRnxsj72\\\\\\n\",\n       \"/0TU+DCARdTI6XlhpDWQJGWWCw1pSSEnybXJGSN5miSgIfmdpNWCXHDoF1BykVNZd6n6KHtV5IRQ\\\\\\n\",\n       \"hnOWiyk5yZKTL8nXYJmnQkg+HQlOdO3aFTfffLNqPSBBC2lOf+zYMWzbts2qckoieAmYyYm5BBzk\\\\\\n\",\n       \"s+TCT3JOyPKFlEMu9uSEU+7wyneQHBBygSx/k66McmEhQQ+5w1nZhbheHzKcvZxIy4mk1ItcxEu3\\\\\\n\",\n       \"BxlKW7p7yUWk1JXc4ZQLFgmGyfqqbQ4s/TuY0wNicvJrHiisK7kDLNuYDOutD6UuScSlpZq0KJAT\\\\\\n\",\n       \"ZfPWA9aQk3D5DpLb45ZbbinrLiYXbVJfQrZpCRrJ6+QuvFyQyMWXBGlkGHSdBOykW6B0RZHWbPrw\\\\\\n\",\n       \"37LeJU+KTtajDPN+3XXXqc+V9STBBLlIkM+VVi1ywShkvcm2I58tFyPym5LtV3JuSZDAWrLOJbAj\\\\\\n\",\n       \"AwnINiEJ5PWh1SUoZ3lxKhcv0t1VLthkW5SLHymbXHzqgQ/J6yblkbv8sj1LayUpmwTdzFtX1JS1\\\\\\n\",\n       \"9SgJmKV8kl/phRdeUPOkZcVPP/2kvqdsF/r+oDb7M/mtWNIviKUO5ULRkcmNA2nlKetP9mHy25b1\\\\\\n\",\n       \"JbnTpPVUXbp0W7tfkW1F9l/yOvndysWpDD4h21NNf6vcl9puXyrrQupTfieSrFt+KxIgsGxJKy1/\\\\\\n\",\n       \"P/vsMxXgl4CCBC9knyvbj+wLJ0yYoFrgybYlXeOlxabcsJGAaWW5BSV/kvxm5fcsvyXZjmS5EqSX\\\\\\n\",\n       \"Y4WtbnJVVya5aSH7bQkUSfd36covecCqI8H5L774QpVRglaSaFz2e/VxTJJjvew/rWndbot9fXVk\\\\\\n\",\n       \"fct+RM6d5FxISHBM8lFJiyj5zubkWCXBSNl3S0s1Od+RcykJiprvu22x/yeiRsrewyASkf3JMNDN\\\\\\n\",\n       \"mjVTwxnXdYjijRs3ahdeeKFangyd7u/vrw0ZMkRbsGCB1cuwdtj56souj++8885K3yNDYl922WWa\\\\\\n\",\n       \"r6+vFhISot16663azp071XtkSGpzBw8e1CZPnqxFRUVpHh4e6rPGjx+vffvtt1Z/n2XLlmkTJkxQ\\\\\\n\",\n       \"Q3BLnci/EydOrDDstgyn3alTJ83d3b1cWXbv3q2NHj1a1WV4eLh28803a9u2batQ3uLiYu3uu+/W\\\\\\n\",\n       \"IiIiNIPBUG7ocjFr1iytd+/emo+PjxYQEKB17dpVDZGdlJSk2dqKFSvU53/zzTc2HfpdyPDd06dP\\\\\\n\",\n       \"1+Li4lR9Sp0MGjRIe/XVV9Vw3ebDkL/yyisV3l/Z0Oqy/i+55BItODhY8/b21tq3b6898cQT5V6z\\\\\\n\",\n       \"efNmbcyYMWo9yLZzzjnnaGvWrKmw/O3bt6vvIsuR7UW20Tlz5lT625J6kmXK8ODy+jZt2mjXX3+9\\\\\\n\",\n       \"+h2ZW7hwodaxY0c1fLxsI4sWLVJ1JsPM19T8+fO1nj17qmWFhoZqkyZN0o4dO1buNbJsGRpetv/z\\\\\\n\",\n       \"zjtPfd8mTZqoepPh1XXyO5C/y5Dtsi5atGihfk8nTpyoUZnke1j+5q2px/vuu08N6W4+3LqQ+pPf\\\\\\n\",\n       \"0e23367ZWmXD1ttif6Yv13wbkXoZN25cpcs0/71Ut72fPHlS7QtjYmLUPkz2ZaNGjVL7A2t+r/q2\\\\\\n\",\n       \"UBVr9iuyzTzzzDNa06ZN1etGjBihfnOVrffqcF9qu31pfn6+9sADD5Stk8GDB2tr166tsG2J3Nxc\\\\\\n\",\n       \"7bHHHtNiY2PLtqHLL79c7R90si+U7UD2A+b7WPnX8lhUVFSktgd9ebJtyj5dymTO2u2/KlWVSfZ3\\\\\\n\",\n       \"+v5e9r1XXHGF2l4tjw162eWcwbwu5LPlOLBu3bp6OSbpr63JfqOy/VFN9vVV+eWXX9Tyzz///HLz\\\\\\n\",\n       \"b7rpJjVf9smWZF7btm3V53bo0EGVsbLtoLrztJocR4mocTHI/+wdRCMiMidd9+QuYW3uPJJzkru4\\\\\\n\",\n       \"cqdaz6tF5Cq4P6OGxH0pERG5MvuMCU1ERERERERERGQl5sAiIqqD5OTks+bh0BNvE9UXyWVUWFhY\\\\\\n\",\n       \"5d8lH5otRwC1Fn8fxG2FiIiIbIUBLCKiOjjbCEG1TcJKVBOXXnopVq5cWeXfJfmtdNFsaPx9ELcV\\\\\\n\",\n       \"IiIishXmwCIiqgMZiak60dHRNR7Vj6imNm3aVOnIlOYtAWVkw4bG3wdxWyEiIiJbYQCLiIiIiIiI\\\\\\n\",\n       \"iIgcGpO4ExERERERERGRQ2MAi4iIiIiIiIiIHBoDWERERERERERE5NAYwCIiIiIiIiIiIofGABYR\\\\\\n\",\n       \"ERERERERETk0BrCIiIiIiIiIiMihMYBFREREREREREQOjQEsIiIiIiIiIiJyaAxgEbmoTz75BAaD\\\\\\n\",\n       \"ARs3brR3UagSR44cUetH1lNj0KpVK1x//fU1es/TTz+t6qix/nZlGyEiqm/Z2dm46aabEBUVpfY9\\\\\\n\",\n       \"06ZNY6U7MDmWyjHV3hITE+Ht7Y3Vq1c3yOedPn0afn5++PXXXxvk84jIMTGARU5nx44duPzyy9Gy\\\\\\n\",\n       \"ZUt14GzWrBnOPfdcvPPOO+Ve9+KLL+L777+v9efs3r1bXUDb+iLyzz//VCeI+uTh4YHWrVtj8uTJ\\\\\\n\",\n       \"OHToUI2X97///a/RBEGqCwRVNc2cORONnWUdyTYXHh6OQYMG4dFHH0VCQoK9i+hwLLejwMBADB8+\\\\\\n\",\n       \"HL/88ou9i0ZEZNMbVnK+JMu4/fbb8fnnn+O6665r1DXsbPv/3Nxcdb4q55cN6dlnn0X//v0xePBg\\\\\\n\",\n       \"my5XAlTyfSyFhYWpQOsTTzxh088jIufibu8CENXEmjVrcM4556BFixa4+eab1d1CuQO0bt06vPXW\\\\\\n\",\n       \"W7j77rvLnZBJoOviiy+udQDrmWeewYgRI+rlTtc999yDvn37oqioCJs3b8asWbPUyZEE6KKjo2sU\\\\\\n\",\n       \"wJJgRE1bt7iaiRMn4oILLqgwv2fPnnYpjyPXkclkwpkzZ7Bhwwa8+eab6rczZ84cXH311fX22fHx\\\\\\n\",\n       \"8TAaa3bP5PHHH8cjjzwCe5HAuASWNU3D0aNH8f777+PCCy/Eb7/9hjFjxtTb58rFo6wLLy+vevsM\\\\\\n\",\n       \"IiLd8uXLMWDAADz11FOsFDvv/2sbwJLzVSHnrA3h1KlT+PTTT9VkaxLAeu+99yoNYt122214++23\\\\\\n\",\n       \"1TY7cuRIm382ETk+BrDIqbzwwgsICgpSF97BwcHl/paSkgJnMnToUBVgE1OnTkW7du1UUEtOBqZP\\\\\\n\",\n       \"n27v4jmUnJwc1Wy8Or169cK1116Lxqq2dSQn5ueddx6mTJmCjh07onv37vVSvtoEY9zd3dVkL/Kb\\\\\\n\",\n       \"NK+vyy67DJ06dVIBv/q8gHFzc1MTEVFDkPMn2bfZitwkKSwsVK3knZW99v/O4osvvlDHZwnqNSQ5\\\\\\n\",\n       \"T+nSpYtqMcgAFlHjxC6E5FQOHjyIzp07VwheicjIyLLH0uRbLuglGKQ3AddbKMkF+x133IH27dvD\\\\\\n\",\n       \"x8dHNUm+4oorynUVlAOjzBPS4ktfhnnzbLkLJ0EoCRoEBARg3Lhx2LVrV62/m34gPnz4sPr3448/\\\\\\n\",\n       \"VvPke8nFv5w4yR1Ac9IyTD5z5cqVZWW0vPtWUFCA+++/HxEREaqsl1xyibpzZg25w6V/R6nzCRMm\\\\\\n\",\n       \"YM+ePWV///bbb9Vnyudb+vDDD9Xfdu7cWTZv7969KmgXGhqqTmz79OmDH3/8sdKuELJMWU/y/Zs3\\\\\\n\",\n       \"bw5bkPoaP348/v77b/Tr10+VQbpvfvbZZxVem56ejvvuu0+9R+pfyiB3Y1NTU8ud9N94441o0qSJ\\\\\\n\",\n       \"WpYEfyq7GynLku1Pgq9SjxIsknmVaeg6kq64sjy52Hj55ZcrlFtyocTExKg6iIuLw0svvaQuTszJ\\\\\\n\",\n       \"czmp79q1qyqzbGtjx44t153FMgeWtDyUO8Zt27ZV75Hf4ZAhQ/DHH39UmwOruLgYzz33HNq0aaPK\\\\\\n\",\n       \"JMuVbpCyndd2XdfkxFlaO8p+yJx8trRckPqRMkl9PfTQQxXKlJeXp4LUsgzZZ1x00UU4fvy4+o7m\\\\\\n\",\n       \"d5qryoElrS1l/yefIa0077zzzgrbkfz+5eReWpDKvsvX11d1s7Zct0K6Xcvy5DUhISFqW/vqq69q\\\\\\n\",\n       \"XT9E5Dhkf+vv76/2MdISXR7LvvnBBx9ESUlJuZQGct4hLcD18wh932Ptvk3ec9ddd+HLL78s20f9\\\\\\n\",\n       \"/vvv6m/y+TfccIM6Tsp8+fvcuXPLvV8vx4IFC9SNSjmeyT571KhROHDgQIXvtn79etWaWPZbcn7S\\\\\\n\",\n       \"rVs3dQyq6bG0Iff/cmyTY5ycA8i6kHNQOXadbb+v101V3QPl9bJehRxT9XWoH1PkWCt1ceLECau+\\\\\\n\",\n       \"p6TekGOI1Jn8+91331Wac0teJ90H5buY279/vwr2SQ8JWYasS2lRnJGRYdXny2dJ6yth3o3TsnXc\\\\\\n\",\n       \"Tz/9pFrHEVHjwxZY5FTkYnvt2rUqKCIH1qpIDgfpJy8XrrfccouaJxe8QlpvSVdEOaDKgVUO/hIY\\\\\\n\",\n       \"kgs/ueiTi7lhw4apC01ppiwnGHLiIvR/ZfkShJC7cHJBL823ZRlycrJly5ZadTnUT4rkQl7I8uRE\\\\\\n\",\n       \"Ty5y5S6XHKwlWCHBArlwFdL9S7pNygnEY489pubJSaI5+buc5MkJlnxXeY+caM6fP7/a8ixduhTn\\\\\\n\",\n       \"n3++uuiXEyG5+JYLXsl1IF0e5TtK0E4+W046JT+EOVm+lF9fTxJok/fKxbR0C5OTTnmfnFgvXLhQ\\\\\\n\",\n       \"BdbMyXeVk7Inn3xSBSPPRtaBeXBJJyeL5q145GRYTmol8CTrUE6k5YSpd+/eqrx6QlsJ3EmwTk68\\\\\\n\",\n       \"peWSLFtOfo8dO6ZOYqU+ZJuR5Ul9xsbG4ptvvlHLkqDCvffeq5YlJ1gS+JNAijR9l21ITgjlsy3V\\\\\\n\",\n       \"dx1VZeDAger3YR48kvqUdSoXH7feeqvqtiu/G2kdKCfCsh3ppC7l5Fu2F/ndSZBp1apVqmuvXDRU\\\\\\n\",\n       \"RrapGTNmlP1OMzMzVcBLti05Oa2KvF6ChLIOH3jgAXUhI8uRdSX1as6adV0TcgIuXS/1fYmQ36P8\\\\\\n\",\n       \"RmX9yr5G1q90A37jjTewb9++cnn45LNlfUoXQemuIwFI+Q1ZQ+pLLk5Gjx6t8tRIl0zZR8j+TBLo\\\\\\n\",\n       \"Sl4znZRRAoiXXnoprrzyShVofvjhh1WAUdaRmD17ttrHSf3Itpqfn4/t27er+rzmmmtqXDdE5Hgk\\\\\\n\",\n       \"UCXnKRJoePXVV9Vx/bXXXlP7MNmPyP5KzmfkZo2cD8k+VchxpSb7Nv2Gl+zf5Hgox0g5Rzh58qTa\\\\\\n\",\n       \"1+kBLlmu3PyTfbLs8y2TxUvOSulqLkE22d9K4H3SpElqv6ST45TcnGjatKnad0mgRPb/P//8c9lx\\\\\\n\",\n       \"t6bH0vre/0t5pMwSaJO8URLokuOTLZKfS53KsUDWp3wv2e8L+Swhx3AplxwDz5YvdcmSJWUtzeS4\\\\\\n\",\n       \"KknTpYeA5Q0yCYrJsUc+05zcCJPtTYJ3cu4p60Y+X9aNnBfJTbyzkfONpKQktZ5l26yMHMOljqVe\\\\\\n\",\n       \"q7sWICIXpRE5kSVLlmhubm5qGjhwoPbQQw9pixcv1goLCyu81s/PT5syZUqF+bm5uRXmrV27Vm7j\\\\\\n\",\n       \"aJ999lnZvG+++UbNW7FiRbnXZmVlacHBwdrNN99cbn5ycrIWFBRUYb4lWZ4sd+7cudqpU6e0pKQk\\\\\\n\",\n       \"7ZdfftFatWqlGQwGbcOGDVWWc8yYMVrr1q3LzevcubM2fPjwCq/9+OOP1eeMHj1aM5lMZfPvu+8+\\\\\\n\",\n       \"VX/p6enVlrNHjx5aZGSkdvr06bJ527Zt04xGozZ58uSyeRMnTlSvKy4uLpt34sQJ9bpnn322bN6o\\\\\\n\",\n       \"UaO0rl27avn5+WXzpFyDBg3S2rZtW6HcQ4YMKbfMqhw+fFi9vqpJ1q2uZcuWat5ff/1VNi8lJUXz\\\\\\n\",\n       \"8vLSHnjggbJ5Tz75pHrdokWLKnyeXpdvvvmmes0XX3xR9jfZDmW79Pf31zIzM9W877//Xr3u5Zdf\\\\\\n\",\n       \"LnudfK+hQ4eq+fJ9G6qOXnnllSpfM2HCBPWajIwM9fy5555Tv6F9+/aVe90jjzyitp+EhAT1fPny\\\\\\n\",\n       \"5ep999xzT5V1pde9+e+xe/fu2rhx46ot91NPPaWWrdu6dat6ftNNN5V73YMPPqjmS1lquq6rIu+9\\\\\\n\",\n       \"8cYb1W9U3rdx40Zt7NixFerx888/V9v6qlWryr3/gw8+UK9dvXq1er5p0yb1fNq0aeVed/3116v5\\\\\\n\",\n       \"8l0t16+sN73cnp6e2nnnnaeVlJSUve7dd98t25foZF9guS8rKCjQoqKitMsuu6zc+pZ9BxE5P32f\\\\\\n\",\n       \"oZ8/CNnfyjzz47Do2bOn1rt373LzZH9puT+2dt8m5Lm8dteuXeVeK/vQpk2baqmpqeXmX3311ep8\\\\\\n\",\n       \"ST/P0c+LOnbsqPZXurfeekvN37Fjh3oux7vY2FhV3jNnzlR5vLH2WNpQ+/833nhDPZflVcVyv6/T\\\\\\n\",\n       \"68b8XFTWrdSBTpZreRyxPP5Xdj5c2XmfrC/z80M575b3m3/egQMH1Lx33nmn3Pu3bNmi5sv5c13c\\\\\\n\",\n       \"eeed5Y79ltasWaP+Pn/+/Dp9DhE5J3YhJKciLTOkBZbc8dq2bZu6Oyd3e+Qum7VNw6XboPldJLnD\\\\\\n\",\n       \"JE2/paWOtP44G7krJHeSJCG2tMrRJ8lZI3c5V6xYYVU5pGWP3DmTrkDSCkPv8qi3WDEvp9z5k8+Q\\\\\\n\",\n       \"FjEyUqG1TbGF3BU0b34tLYvkrqx0payKtLDZunWrajEize91ckdP1oH5EMZXXXWV6kpn3rxdWnzI\\\\\\n\",\n       \"nUn5m0hLS1N3Z6U1SFZWVlmdSd3L+pMm53KXzpwk6a9JHiD5nrJuLCfLvB7yXOpAJ+tAmvKbjwAp\\\\\\n\",\n       \"d2ilO2Bld2n1upQ6kLuLsh3opBWMtGqRFlx6t0p5nbQAM79TKd/LfMCBhqqj6ujdAOSzhbQmk3qS\\\\\\n\",\n       \"1nvm27m0AJLt56+//iqrK6mTypL/Wjb7Nye/N7l7Kt/LWvp2J11izemtBixHiLJmXVdHEtvLe6SL\\\\\\n\",\n       \"pvwuly1bprqGmH++1JPc3e7QoUO5etK7BOv7A707jbSaM2e5HVRGWk3InW1prWCeCF/Wv4yOZfm9\\\\\\n\",\n       \"ZV2a527x9PRUrdzMv7fUv7QmlLvoROS6pOWvOdknWrMPtHbfppPzE/PjrcSB5PggOZLksfky5Jgm\\\\\\n\",\n       \"5zGW51zS2kf2V+ZlFXp5pYW7dHeUfaFlKgn9eFObY2l97//1sv7www8VuuDXN2kJJ/V/ttZX+nmf\\\\\\n\",\n       \"tNQybykl53yW51FSl0LOD8zp71u8eLFqxV1f9M+trNU9Ebk+diEkpyMj9y1atEhd0EkQS7oNSVNi\\\\\\n\",\n       \"6QojB9+zJSKVrl/SNFpyTMlJjHkfemsCQ/oFd1XJI+WC0hrS7UtOziQAIc3t5STIvKubNC2XoIAE\\\\\\n\",\n       \"7CxPBKSc1jTFFtL1q7IDvzSFr4oe3JKLfUtSTjk50ZOGS1clKYt0GZR8FUIe9+jRQyVBFdJUXupZ\\\\\\n\",\n       \"hj6uavhjCYJJIFInXfJqQnIpSXClpvWh14l5fUh3TmlGXx2pI/lMy5H19G6meh3Kv9LVwTJPhGXd\\\\\\n\",\n       \"NkQdVUeCbkJyM+nbuXQp03NrVFYWva4kCGse6LSGdKOQrpWyjUgXANmOpGud3u2hMlKXUt8ScDYn\\\\\\n\",\n       \"gUS5QLAMylqzrqsj5ZNuL7KvkUCPjGwqv0XzdS71JN1XzlZPetkt15nld6nJ71Eu9KSLr+X3lu4e\\\\\\n\",\n       \"lsFD+d6yPnXSpVACYxLYkjJIIn/pOmjr4dCJyH70nIS12Qdau2/TWe7bJNem3OyTEZZlsmYZZztf\\\\\\n\",\n       \"0VMtVNdtrDbH0vre/8vNvI8++kh1gZcujXKuJF395Ly1pqPz1hf9OCLnNZbk2FPZDV7LHFSyDUiA\\\\\\n\",\n       \"7/XXX1f50OQcV244yw0Va89ZraF/bnU3yYjIdTGARU5LLt4kmCWTXATLnTu5G3a2YaClxYMEr+QO\\\\\\n\",\n       \"nuT+kYOqHAQlJ5Y1d8b010jffLlwtmTtqGmSj6aqgIucpMkJjtzVkxMBSQoq31daoEiwriZ38Kpq\\\\\\n\",\n       \"oWOr5JeSy0HySkggUZJMS84LCb7JyZ5OL6/ktahq9B7LC3nzFmi2VN/1UVv2riPJKyd3mvUArJRH\\\\\\n\",\n       \"7rzKHefK6MHJ2pI8c7Kdyx1pybshJ/eybX/wwQfqJL861p601nVdSyBI/41KwmAJNMsFjSRH1/OM\\\\\\n\",\n       \"SD3Jb1l+p5WR325Ds+Z7S6BV8mhJbhJpHSYtJeT3K4F1fTh2InJudWmhW9N9m+XxSD+mSfCispyP\\\\\\n\",\n       \"wvKGhS2Oz7U5ltb3/l/qRlotS4ssaTEr+1y50Sc3QuX4J9+7quOannDfkei5WisLhEqONWm9rx/b\\\\\\n\",\n       \"pVW63DSWnJi2GpBH/1xZJ0TU+DCARS5B73ZnPspKVScD0r1NTqbkIKuTBMaWo3lV9X49gadc7FvT\\\\\\n\",\n       \"4qc2JGG7JMGUbpHmdyQr655YH3egJFm+kAtcSzKajZw0SOsrndxdlO6P0sRe7kbKyabefVBIKxG9\\\\\\n\",\n       \"i1191ZktyTo2Hz2xqjqSFi1yAmt+B1XqR/+7/q/Ui7RwMm+FZVm39qwjaeUnwSTzbmdSB1Lms5VF\\\\\\n\",\n       \"Xict8qTbRk1bYcnrJfAsk3yWBLUkWXlVASypS6lvueutt3QTEjSV369e5/VFkstKkO3xxx9X3Uvl\\\\\\n\",\n       \"tyffX1qCSsC5ut+iXnbp/mJ+h7uyEbYqe6++zejbiZCWAbK82m4v8huW36lMsiy5KJMRwCRRv7Tc\\\\\\n\",\n       \"IKLGy9p9W1WkVZK06JUAjK2Oafr5lxyfq1pmfR1L67L/F3KeIK+TSQJecpNPBt+R8zopp97azPJc\\\\\\n\",\n       \"tLp0D7Y8D9SPM5V167c8X5HzUgnK6aNmW5KgnkxSVzL4i7TslZtTzz//vFVlOdv30T/X/DyAiBoP\\\\\\n\",\n       \"x2i3SmQlOdBXdidOz41j3sVGLs4sTwSE3OmyXIaMrmd5l0sP0FguQ+7oSSsVOfmQHFqWpNl8Xel3\\\\\\n\",\n       \"IS27N0rLMUtVfc+6kC5v0gVQglLmy5aTRrmjJncjzcnJlwQj5I6iTNItybw7gQT7ZMS+Dz/8sNKh\\\\\\n\",\n       \"nG1RZ7Yk3Qf17qmW9HUidZCcnFxuNEcZfU+2JQlU6aMyyutkvowSpJNtTV5nzl51JCfHcrdUWvj9\\\\\\n\",\n       \"3//9X9l8yR8igS0JTlmSbUK+k15XUieVtdqp7q65nkNDJ3Umd8Uthx43p2935iMgCv3ut7Uj+tWW\\\\\\n\",\n       \"tK6UfFsSpJW7y3o9SVdkGdWvsu7K+uiQeksAaeVkznI7qIz8vmT9yKio5nUqOVpkv1Cb721Z/7J8\\\\\\n\",\n       \"6X4ty69sv0ZEjYu1+7bqzmPk+CCtOyu7IVSbY5qMCCznFnIMsDzv0feN9XUsrcv+X27wWJJzLKEf\\\\\\n\",\n       \"8/TgnJ5fUj9XqKr7pTkZPVtUdi4o+3O5sVZZXVR13meeTkNyicoI3eYkOCg3jmXkYHMysqR+bqCT\\\\\\n\",\n       \"QJYE76o7tluq6vxbt2nTJtV7ojajCROR82MLLHIq0v1PchDI3S/pXietBuTujgQRJFGltOQwH2ZX\\\\\\n\",\n       \"crzIxa3k6JGTHkmyLkMZS/c/OfjJBZtcpMvr9CbROjmQywnYSy+9pA7m0lVOmnvLyZEEIyRfj5xM\\\\\\n\",\n       \"SddDudOYkJCgmobLnaZ33323Tt9T8tHIBaUkP5W7ftI6RU6Q5LMtT0Lke0p55M6WBADkNVXl56qJ\\\\\\n\",\n       \"V155Beeff77qZilDXsvJmFxsS71JKxnLkxlpvTFv3jx1wibDdVt67733MGTIEHUyI8mn5S6ptJyR\\\\\\n\",\n       \"+pdk0hIwqgvJz/DFF19UmC8nhfIdakICOdJS74orrlDJ9qWO5QRUWsTJXURJ8C5J4+UEWYI/cjIl\\\\\\n\",\n       \"25+8R7pPysm1nktK1qFsE5L34siRI2qbkxxuleVba6g6kpZAcmIoeT30JOzymzDvziF1IN9Xfi/y\\\\\\n\",\n       \"HaUOZN3KEOHyPeW7SEs86U4hvwUJrsidW8llJctftWqV+pt0uaiM1INcZMhyJfgpJ8Ky3KpeL6Te\\\\\\n\",\n       \"pfWknNBL+SVI+M8//6gTbunGKp9X36QupJud7BfkM+W7y/DskihZAuyyruWiQy4YZL4EAOVEX76n\\\\\\n\",\n       \"XMzJtiHBIxlaXhL9y1DrZ7vjLPsXaRUlQUKpX8kpInfEJRgmXajNW87VZB8jXaClvE2aNFEXZbLf\\\\\\n\",\n       \"kmCYvu0SUeNl7b6tOjNnzlTvlXMvOabJfl+OpXIskvOuygI71ZFAiJzvyHFVztHknE8CL1ImGRRE\\\\\\n\",\n       \"v+FSX8fS2u7/JeejBKZk/yotnSQ3luy/pUudlFNIMEaOC7Kv11s0yzmVZUCoMtIaSupWzoWle7+8\\\\\\n\",\n       \"V/KEySQBNmmpJMfOsyVyl65+UkYpk5z7SDnkvE/KpufJNM8RJi3IJGilpx6Q5PlyDJdzJymHlF3O\\\\\\n\",\n       \"LfRgprXkeCmk+6Hc/JH3y7m2eVBNtgHmwCJqpOw9DCJRTfz222/aDTfcoHXo0EHz9/dXQ8vHxcVp\\\\\\n\",\n       \"d999t3by5Mlyr927d682bNgwzcfHp9wQwjL08tSpU7Xw8HC1jDFjxqjXyhDBlsMMz549W2vdurXm\\\\\\n\",\n       \"5uZWYRhjeSzvlaGgvb29tTZt2mjXX3+9Gm65OvqQyGcbZvjHH3/UunXrppbdqlUr7aWXXtLmzp1b\\\\\\n\",\n       \"YZjl5ORkNfx1QECA+tvw4cOrHFbb/PPNv0tVli5dqg0ePFjVYWBgoHbhhRdqu3fvrvS1f/zxh1qu\\\\\\n\",\n       \"wWDQEhMTK33NwYMHtcmTJ2tRUVGah4eH1qxZM238+PHat99+W/aaqspdFX2I6Kom83Va2VDhQupM\\\\\\n\",\n       \"rzfd6dOntbvuukuVUbaz5s2bq2WZDwcu25y+LclrZNhuKb8lWdZ1112n6lC2F3msDzdt+fqGqCN3\\\\\\n\",\n       \"d3ctNDRU69+/vzZ9+nTt6NGjlb4vKytL/V1+Y/L95HvKMOSvvvqqVlhYWPY6GdpchhaX36W8LiIi\\\\\\n\",\n       \"Qjv//PO1TZs2lat783Xx/PPPa/369dOCg4PV9iXvfeGFF8otV4YEtzxMFRUVac8884waSl3qJyYm\\\\\\n\",\n       \"RpXRfLj0mq7rysjnylDelXn66afL/YakzPL77Ny5s+bl5aWFhISoYeqlnBkZGWXvy8nJUcuUupd9\\\\\\n\",\n       \"z8UXX6zFx8erZc2cOfOsw6m/++67qp7kezdp0kS7/fbbKwwlL99NymHJctj1Dz/8UO0fw8LCVJll\\\\\\n\",\n       \"//V///d/5cpLRM6hsmOC/Ob9/PwqvLay/WpV+0tr923V7S/lOCl/k3217Lvk2DZq1Cht1qxZZz0v\\\\\\n\",\n       \"0o9dlsfJv//+Wzv33HPVeY98RzlXeuedd2p8LG2o/f+yZcu0CRMmaNHR0eoYKf9OnDhR27dvX4Uy\\\\\\n\",\n       \"jx49Wi1H9vGPPvpo2bmV+Tmb5f5crFmzRn2uLF9eL+vZvA4tz2+rsnDhQq1jx46qDJ06ddIWLVpU\\\\\\n\",\n       \"6efJepVzic8//7xs3qFDh9Q5uhxP5NxVjnXnnHOOOpesCTmnkPN6OZeQc0rz7XXPnj3qeU2XSUSu\\\\\\n\",\n       \"wyD/s3cQjYiIqDGSkVN79uypWsZNmjTJ3sUhIiKq0PLszz//VC2vzUnrfGlFLC2uG4oMwCSt2aTl\\\\\\n\",\n       \"O1tgETVOzIFFRETUAKQbriXpUijdYiSBPRERkbOQUb8lFYGkTmgI0v1eRiyWlBkMXhE1XsyBRURE\\\\\\n\",\n       \"1ABefvlldddYcnVJQuDffvtNTZJPzXJIeiIiIkcmoxHKKN7Wktyfld3IMSe5GasiuWotc3ERUePD\\\\\\n\",\n       \"ABYREVEDGDRokEo++9xzz6mTcDn5lwERJBEuERGRK7v33nvVoCvVYWYbIjob5sAiIiIiIiKierN7\\\\\\n\",\n       \"924kJSVV+5rRo0dzDVCDkpxqMvK6tJCXkd6/++47NcpodSQn3P33369GP5UW9I8//rjKFUcNgy2w\\\\\\n\",\n       \"iIiIiIiIqN506tRJTUSOJCcnB927d8cNN9yASy+99KyvP3z4MMaNG4fbbrsNX375JZYtW4abbroJ\\\\\\n\",\n       \"TZs2xZgxYxqkzI0dW2ARERERERERUaMlgwOcrQXWww8/jF9++QU7d+4sm3f11VcjPT0dv//+ewOV\\\\\\n\",\n       \"tHFjCyyyOZPJpJoIBwQEcJQQIiIqy22SlZWF6OhoNfKiNSRBcGFhoc1q0NPTE97e3lwjNsBjPRER\\\\\\n\",\n       \"1ebYXt/HeymT5UiVXl5eaqqrtWvXVujqKi2vpk2bVudlk3UYwCKbk+AVR9QiIqLKJCYmonnz5lad\\\\\\n\",\n       \"zIbEtEB+6imbVaSMcCXN/xnEqjse64mIqKbH9qqO97Et/ZGcUmKTCvX3968wYuVTTz2lBs6pq+Tk\\\\\\n\",\n       \"ZDRp0qTcPHmemZmpRtn08fGp82dQ9RjAIpuTllfiosWr4OHnb/cabubliSfiouFuMGDJzmR8t/W4\\\\\\n\",\n       \"vYtERIRBbcIwtrsvPt/zOY5lHXP5GinMLcSX13xZdow46+sLC1XwylbHkqKcbPw4ZqhaLgNYdaev\\\\\\n\",\n       \"xyG4AO7wsMESiZzPd/t22LsIjZ6xyZZGXwf2JIEbabhg7bG9MnJcluDV0U2tEBhgrFt5skxo2fuI\\\\\\n\",\n       \"CqgFBgaWzbdF6ytyDAxgUQXHjx9X/Xt/++035ObmIi4uDh9//DH69OljVW3pTTblgsPDv/Y7M1tJ\\\\\\n\",\n       \"ATAjOQMz2sXg8kGBCAgMxLwNifYuFhE1Yr1aBOOKgYGYs3MOUkwp8PTzRGNh2az/bBzlWEKVr0cJ\\\\\\n\",\n       \"XrkbGMCixqmuF9tUd0azIAU5z7G9Mv4BBjXVhQml75fglXkAy5YtuU+ePFlunjyXz2Lrq4bBABaV\\\\\\n\",\n       \"c+bMGQwePBjnnHOOCmBFRERg//79CAkJceqaSiooxiPxiZjRPgZjukTBaDDgq38S7F0sImqkWkf4\\\\\\n\",\n       \"Y+PJjUjMYjCdiIiIqEQzoUSr+zLq08CBA/Hrr7+Wm/fHH3+o+dQwGMCicl566SXVDFRaXOliY2Nd\\\\\\n\",\n       \"opZOFBbj4fhEvNQuBud1bgKjAfhiPYNYRNSwOkQFoF9sKL4+cIBVT0RERGQnkivrgNn5mOTJ3Lp1\\\\\\n\",\n       \"K0JDQ9GiRQtMnz5d9U767LPP1N9vu+02vPvuu3jooYdwww03YPny5ViwYIEamZAaBtu9Ujk//vij\\\\\\n\",\n       \"6ip4xRVXIDIyEj179sTs2bNdppZOFhbjofhESGx+RMdIuEkUi4iogXSKDsSNQ2Kx6PDH2Ju2l/VO\\\\\\n\",\n       \"REREpLr/aTaZamLjxo3qelcmcf/996vHTz75pHp+4sQJJCQklGvYIcEqaXXVvXt3vPbaa/joo4/U\\\\\\n\",\n       \"SITUMNgCi8o5dOgQ3n//ffXjffTRR7Fhwwbcc889aujxKVOmVFpbBQUFajJP5ufIUoqKUWTS4Gk0\\\\\\n\",\n       \"YHCbMPy1P9XeRSKiRkDSQ9wwLAwL93+Cbae22bs4RERERA7DpP6r+zJqYsSIEdC0qoNen3zySaXv\\\\\\n\",\n       \"2bKFgwfYC1tgUTkmkwm9evXCiy++qKLPt9xyC26++WZ88MEHVdbUjBkzEBQUVDZJF0RH9/qRZBWf\\\\\\n\",\n       \"nzokFsPbhdu7OETUCEQFesPDzQP7zuyzd1GIiIiIiJwOA1hUTtOmTdGpU6dy8zp27Fiu6aQl6Ruc\\\\\\n\",\n       \"kZFRNsmwpY5uR3YeXjyYpIJY1w+OxTntGcQiovrTNMgbd48Jw9KjS5FbnMuqJiIiIjJTomk2mci1\\\\\\n\",\n       \"MYBF5cgIhPHx8eXm7du3Dy1btqyypry8vMqGKq2vIUvrw+6cfDx/oDSINXlgLEZ3jLB3kYjIBUUG\\\\\\n\",\n       \"eOHukXFYfXw1liYstXdxiIiIiByOPXJgkfNhAIvKue+++7Bu3TrVhVBGZPjqq68wa9Ys3HnnnS5Z\\\\\\n\",\n       \"U3tz8/HsgeMwGYBJ/VthTOcm9i4SEbmYrs2DkJi/HcsTl9u7KERERERETosBLCqnb9+++O677/D1\\\\\\n\",\n       \"11+jS5cueO655/Dmm29i0qRJLltT+3IL8IwEsQBc3bcFxnVpau8iEZGLCPB2R99WoUjKTrJ3UYiI\\\\\\n\",\n       \"iIgclrSeKqnjxBZYro+jEFIF48ePV1NjciC3AE8eOIbn2jbHpX2a4e+DqcjIK7J3sYjIyYNX0nXw\\\\\\n\",\n       \"RNFmdh0kIiIiqoYtugAygOX62AKL6F+H8wqRXVwCo8GADk38WS9EVCc3DW2N44UbMT9+PkxaXQeG\\\\\\n\",\n       \"JiIiIiJq3BjAIjLz1YnT6t9bz4lDt2ZBrBsiqhV3owFNAr2wOmk1NCYUJSIiIqoWRyEkazCARWTm\\\\\\n\",\n       \"rzPZeP/oSRgATDu3HXrEMIhFRDXj4WbAzcNaIzkjHydzTrL6iIiIiM7CZKOJXBsDWEQW/s7IwbsS\\\\\\n\",\n       \"xDIA94xqh94tgllHRGR18OqWYa3h7Z+ITw4+jWKtmDVHRERERGQDDGARVWJtRg7ePFIaxLpzZFv0\\\\\\n\",\n       \"axnCeiKis+rSLAhhIemYu3MuCkoKWGNEREREVqjrCIT6RK6NASyiKmzIzMHrR5JVEOu2kXEY0DqU\\\\\\n\",\n       \"dUVEVZKuxx2jApGSm4JCUyFrioiIiMhKJZptJnJtDGARVWNTZi5ePXxCXZhKTpsmgd6sLyKqQPYR\\\\\\n\",\n       \"V/SJQduYXPxw8AfWEBERERGRjTGARXQWW7LycDy/EEaDAS1DfVhfRFSOtNK8ul8LdGiRiw+3fYj0\\\\\\n\",\n       \"gnTWEBEREVENMIk7WYMBLCIrLD+dqVpY3DqsNVqGMYhFRP+5um8LtInww4fbP0RGYQarhoiIiKiG\\\\\\n\",\n       \"TDCgpI6TLINcGwNYRFb4/XQm5p1Ig5ubEU+O64zW4X6sNyJSow4OaOuNT/bPRGZhJmuEiIiIiKie\\\\\\n\",\n       \"MIBFZKUfT6Xjq6TTMLoZ8Ni4joiLZBCLqLEbEheOvOI8trwiIiIiqgOTZpuJXBsDWEQ18HNqBj5P\\\\\\n\",\n       \"SoXRaMD08zuifRN/1h9RIzWqYyTG9PDGRzs+QrGp2N7FISIiInJade0+qE/k2hjAIqqh31Mz8fHx\\\\\\n\",\n       \"U3AzGvDA+R3g7+XOOiRqZHrGBGN0V0/M3j4bx7OP27s4REREREQujwEsolpYejoLGcUlcDcY0CTI\\\\\\n\",\n       \"i3VI1Mg0C/HB3rS9SMpJsndRiIiIiJweW2CRNRjAIqql9RnZ6gf0f+e1R5ifB+uRqJHo1jwIw9tF\\\\\\n\",\n       \"YNupbfYuChEREZFLMGkGm0zk2hjAIqqlT46fxoq0THh7uOGFS7oi3N+TdUnk4ro3D8J1A1pi3oFZ\\\\\\n\",\n       \"iD8Tb+/iEBERERE1GgxgEdXB7GOpWHr63yDWxV0QGcAgFpEru6JPDBYd/gS703bbuyhERERELoNd\\\\\\n\",\n       \"CMkaDGAR1dHc46lYnJoBLw83PH9xFzQJZE4sIlfULNgHPp5uSMxKtHdRiIiIiFxKCYw2mci1cQ0T\\\\\\n\",\n       \"2cCnSafx66l0eLq74blLuqJpkDfrlciFxIT64O4x4fjj2CKczj9t7+IQERERETU6DGAR2cgXJ9Lw\\\\\\n\",\n       \"c0o6PI0GPHNxFwT5MLE7kSuIDPDCXedGYFnCMqw8ttLexSEiIiJyOZoNErjLMsi1MYBFZENfJach\\\\\\n\",\n       \"qaAIHkYDWob5sm6JXEDrCD8k5STh7+N/27soRERERC6JObDIGgxgEdlYfE4eJPZ/45BY+Hq6sX6J\\\\\\n\",\n       \"nJi0pBzdsQkSMhPsXRSyo5kzZ8JgMGDatGkuuR5c/fsRERGRa2AAi8jGPjqWih1ZeerCd+ZlXeHv\\\\\\n\",\n       \"5c46JnJCIb4euGdUWxzJX4fFRxbbuzhkJxs2bMCHH36Ibt26ueQ6cPXvR0REzqFEM9pkItfGNUxk\\\\\\n\",\n       \"Y5rczT58AluzchHo7YEZl3ZFAINYRE7n2gEtcThvLRbtXwRN/bKpscnOzsakSZMwe/ZshISEwNW4\\\\\\n\",\n       \"+vcjIiLnYYIBJhjrODEHlqtjAIuoHsil7suHk7ExIwcB3u6YcVlXBHqzJRaRs/B0MyIiwAvbT21n\\\\\\n\",\n       \"8KoRu/POOzFu3DiMHj0arsjVvx8RERG5Fl5RE9Wj14+exL0tm6B/kJ8KYj26aAcy8opZ50QOzMvd\\\\\\n\",\n       \"iFuHt0ZKZgEOZx62d3HIxjIzM8s99/LyUpOlefPmYfPmzaqLnSuq6fcrKChQU1X1SEREZIsk7nVd\\\\\\n\",\n       \"Brk2tsAiqmdvHT2JtenZ8PN0x0zpTsiWWEQO3fLqtuFtoHkdwmeHn0KxiQFnVxMTE4OgoKCyacaM\\\\\\n\",\n       \"GRVek5iYiHvvvRdffvklvL294Wpq8/2knszrTeqRiIjIVpgDi6zBFlhEDeCdhBQ08fRArK8XBrYO\\\\\\n\",\n       \"w5LdJ1nvRA6odYQfwkOy8PLGTxi8clESvAkMDCx7Xlnrq02bNiElJQW9evUqm1dSUoK//voL7777\\\\\\n\",\n       \"rmqJ5ObmvKPM1ub7TZ8+Hffff3+5FlgMYhEREVFDYgCLqIHsz81Ha18vjOoYiRXxKSgqYVJoIkdi\\\\\\n\",\n       \"MAC9W4bgVN5xBq9cmASvzANYlRk1ahR27NhRbt7UqVPRoUMHPPzww04dvKrt96uqqyUREZHtkrjX\\\\\\n\",\n       \"rQsgk7i7PgawiBrIFydOo4O/D1oGeuOFi7vg8e93obDExPoncpDg1TX9WiA2Oguzdsyzd3HIzgIC\\\\\\n\",\n       \"AtClS5dy8/z8/BAWFlZhvjNy9e9HRETOR0YRLKljhiMTR412ecyBRdRApMHV4/uO4UheASL/DWJJ\\\\\\n\",\n       \"smgisr+LukejVXQmZm2fhazCLHsXh4iIiIiILLAFFlEDKgHwxP7jeDquGdoEeuHFS7rgse92Ir+Y\\\\\\n\",\n       \"LbGI7KlFqC/+OvY7sooYvKLK/fnnny5dNa7+/YiIyDmSuNdtGUzR4urY/IPIDkGspw4cVzmxwvy9\\\\\\n\",\n       \"8OKlXeHtwZ8ikb2M7tgETYN8cDjjMFcCERERkZ26ENpiItfGNUxkB9Le6pkDSdibk49QP0/MYBCL\\\\\\n\",\n       \"yC7GdG6CczpE4KO9L+N0/mmuBSIiIiIiB8UAFpEdg1jPHUzC4bwChPh64pIezbguiBpQuL8nxnTz\\\\\\n\",\n       \"x+w9L+FEzgnWPREREZGdlGgGm0zk2hjAIrIj6aW9KTNHPe4cHQQj97lEDaZ1hD/yivNwMvcka52I\\\\\\n\",\n       \"iIjIjmQEQltM5Nq4hons7NdTGUgrKkbzUB88dkFHuBkYxSKqbz1ignFl/yAs3L+QlU1ERERE5AQY\\\\\\n\",\n       \"wCKys3yThgfiE5FaWIw2kf54fHwHBrGI6lGX6EBc078FvtjzBfak7WFdExEREdmZSTPaZCLXxjVM\\\\\\n\",\n       \"5AAKTBr+b18iUgqLEBvujyfHd4Qb+xMS1YtuMcFYc/I3xJ+JZw0TEREROQB2ISRrMIBF5EBBrIfi\\\\\\n\",\n       \"jyG5oAgtw/3w9IWd4M4gFpFNtQj1RddmQTiefZw1S0RERETkRBjAInIghZqGh/cdQ1JBEWJCffHM\\\\\\n\",\n       \"RZ3h4cacWES20CrMF7ePaINlSd9i5+mdrFQiIiIiBxqhva4jEMoyyLUxgEXkYIo0DY/sS1RBrGYh\\\\\\n\",\n       \"PpgysJW9i0Tk9CQQfPvocPxxfAFWJ622d3GIiIiIyIwJRptM5Nq4hokcULEGfHfyDDQAsRF+9i4O\\\\\\n\",\n       \"kdML8fWEt7s3NiRvsHdRiIiIiIioFhjAInJQ27JykVtiQrNgH9x9Tht7F4fIaYX4euDW4W2w7sQ6\\\\\\n\",\n       \"FGvF9i4OEREREVko0Yw2mci1cQ0TOajsEhMe2Jug/u3dKhT3jmoLZsMiqnnw6p5RbbE/ZxV+OPAD\\\\\\n\",\n       \"q4+IiIjIAZlgsMlEro0BLCIHlvlvECurxISeLYJx37ntuFsmqoGBbcKQUrwTPxz8AZrqlEtERERE\\\\\\n\",\n       \"RM6IASwiByfBq/v3JiCzuATdmgfhwfPaw8CbC0Rn5eVuRPuoQJzIPsHaIiIiInJg7EJI1mAAi8gJ\\\\\\n\",\n       \"5KggVqIKYnVqFogJ3aPtXSQih+btYcTtI9qgyGM/liUus3dxiIiIiKgaJTDaZCLXxjVM5CRyTSb8\\\\\\n\",\n       \"cTpTPY6L5MiERNUHr+JU8OrTXZ+i2MTE7UREREREzo4BLCInsiotC8Wahs7NgnF13xh7F4fI4Xi4\\\\\\n\",\n       \"GXDnOXHIzi/Gp7s/5aiDRERERE7ApBlsMpFrYwCLyImkFBXjkX2JKNI0jOkShWv6MYhFZK5JoDci\\\\\\n\",\n       \"Q/LxVcKTKNFKWDlERERETsBkg+6DsgxybVzDRE7mREExHo5PRJFJw3mdo3Bd/xb2LhKRQzAagFEd\\\\\\n\",\n       \"m+Bk7kmYNJO9i0NERERERDbEABaREzpZWIyH4hNRYNIwqlMTTBnU0t5FIrIrN4MBUwa1QnRkGj7b\\\\\\n\",\n       \"/RnXBhEREZETMWlGm0zk2riGiZy4O+FD8QnIN2k4p30kbhzSyt5FIrKb87tGoUn4aczaPgs5RTlc\\\\\\n\",\n       \"E0REREROpAQGm0zk2hjAInJip4pK8ODeBOSZNAxpG4HLejazd5GI7KJZsA+2ntqK3OJcrgEiIiIi\\\\\\n\",\n       \"IhfEABZVa+bMmTAYDJg2bRprykGlFZfg42On1ONOzYLsXRyiBndB16ZoHuqLnak7WftERERETohd\\\\\\n\",\n       \"CMkaDGBRlTZs2IAPP/wQ3bp1Yy05uP25+TBpQOtwP4zqEGHv4hA1mPHdmmJA61B8tGcmTuefZs0T\\\\\\n\",\n       \"EREROSEZO7ruXQjJ1TGARZXKzs7GpEmTMHv2bISEhLCWnCCp+/MHj8NkAK4d0ApjOjexd5GI6p2f\\\\\\n\",\n       \"pxvO7RqAj/bOREpeCmuciIiIiMiFMYBFlbrzzjsxbtw4jB49+qw1VFBQgMzMzHITNbz43AI8c+A4\\\\\\n\",\n       \"TACu7tcC47pEcTWQS+vcLAiFJYVIzUu1d1GIiIiIqA7YhZCswQAWVTBv3jxs3rwZM2bMsKp25HVB\\\\\\n\",\n       \"QUFlU0xMDGvVTg7kFuCpA8dQomm4vG8MLuzelOuCXFK/2FBc0T8Qn+3+DBo0exeHiIiIiOqgRDPa\\\\\\n\",\n       \"ZKqp9957D61atYK3tzf69++Pf/75p9rXv/nmm2jfvj18fHzUde99992H/Pz8OnxzqgkGsKicxMRE\\\\\\n\",\n       \"3Hvvvfjyyy/Vj9ga06dPR0ZGRtkkyyD7OZRXiCf2H1dBrEt7NceQuDCuDnIpXZoFqeDVp7s+xYH0\\\\\\n\",\n       \"A/YuDhERERE5ofnz5+P+++/HU089pRpwdO/eHWPGjEFKSuWpKb766is88sgj6vV79uzBnDlz1DIe\\\\\\n\",\n       \"ffTRBi97Y8UAFpWzadMm9YPt1asX3N3d1bRy5Uq8/fbb6nFJScXUeF5eXggMDCw3kX0dzS/EDynp\\\\\\n\",\n       \"6nH3mGCuDnIpcZH+2HRyEw5mHLR3UYiIiIjIBjQYYKrjJMuoiddffx0333wzpk6dik6dOuGDDz6A\\\\\\n\",\n       \"r68v5s6dW+nr16xZg8GDB+Oaa65RrbbOO+88TJw48ayttsh2GMCickaNGoUdO3Zg69atZVOfPn1U\\\\\\n\",\n       \"Qnd57ObmxhpzEjuy8tS/vVuGoHtMkL2LQ2QTMtLmwNZhOJRxiDVKRERE5CIaugthYWGharxhnvPZ\\\\\\n\",\n       \"aDSq52vXrq30PYMGDVLv0QNWhw4dwq+//ooLLrjABjVA1nC36lXUaAQEBKBLly7l5vn5+SEsLKzC\\\\\\n\",\n       \"fHJs+3Lz8d7Rk7izZRPcO6od3lu+H5sSSltlETlry6ubh7bGr4lfYUfqDnsXh4iIiIgckOWgYtJj\\\\\\n\",\n       \"SCZzqampqndRkyblR2+X53v37q10udLySt43ZMgQaJqG4uJi3HbbbexC2IAYwCJyYWsyclB05CSm\\\\\\n\",\n       \"tWqCO0e2xQcrDuCfo2fsXSyiWrlxSCx+S/wa/ySzmXZjct6uf1Si1LrKy8vDQpuUiIhsZXHSVqeu\\\\\\n\",\n       \"zDHRPexdhEbvDxl+m1yCSTOoqa7LEJaDiknOqqeffhp19eeff+LFF1/E//73P5Xw/cCBAyp/9HPP\\\\\\n\",\n       \"PYcnnniizsuns2MAi6z6oZLz2pCZgzeOJOO+VlG4bWQcjCsPYt2hNHsXi6hGwvw84ePpht1pu1lz\\\\\\n\",\n       \"RERERC6mBEY11XUZQgYVM8/LbNn6SoSHh6v0OCdPniw3X55HRUVVunwJUl133XW46aab1POuXbsi\\\\\\n\",\n       \"JycHt9xyCx577DHVBZHqF2uYqBHYmJmLVw+fUI9vGd4GHaIC7F0kIquF+3vi3vNDsDp5CbIKs1hz\\\\\\n\",\n       \"RERERFQlywHGKgtgeXp6onfv3li2bFnZPJPJpJ4PHDiw0uXm5uZWCFLpOaKlSyHVP7bAImoktmTl\\\\\\n\",\n       \"Yc2ZbAwO8Uf35kHYm8xAADm+UD9P3DOqLbadWoZfD/9q7+IQERERkYN3IbTW/fffjylTpqhBy/r1\\\\\\n\",\n       \"64c333xTtaiSUQnF5MmT0axZM8yYMUM9v/DCC9XIhT179izrQiitsmQ+BztrGAxgETUi27NyVQDr\\\\\\n\",\n       \"3E5NsO7waRw9XTpSIZGj6tY8CKnFexm8IiIiInJhJhjVVNdl1MRVV12FU6dO4cknn0RycjJ69OiB\\\\\\n\",\n       \"33//vSyxe0JCQrkWV48//jgMBoP69/jx44iIiFDBqxdeeKFO5SbrMYBF1Ij8nZ6NME93XBUViifH\\\\\\n\",\n       \"dcbzv+zB4dM59i4WUaV8PNzQu2UIEnJ2sYaIiIiIyObuuusuNVmTC9rd3V0lhJeJ7IM5sIgamR9S\\\\\\n\",\n       \"0vFV0mkY3Qx4fHxHxEX62btIRBX4errhrpFxyDHuwW+Hf2MNEREREbmwEs1gk4lcGwNYRI3Qz6kZ\\\\\\n\",\n       \"+DwpFW5GA6Zf0BHtmvjbu0hE5UwdHIsM7MTnez5HiVbC2iEiIiJqBDmw6jqRa2MAi6iR+j01Ex8f\\\\\\n\",\n       \"PwWjwYBHzu+IDk04MiE5BjeDAdHB3lh5bCVMmsnexSEiIiIiIgfAABZRI/bH6SzMSTwFgwF4aGx7\\\\\\n\",\n       \"tGdLrEolx2/GrsVf1qhu5fXyvpo6smEZvn/sSnxx61D8+OQ1OLZ9NRpb8GrKoJbIyCtCck6yvYtD\\\\\\n\",\n       \"RERERA1A04ww1XGSZZBr4xomauSWn8nC4tQMGI0GjOpYOuIG/UeCUMvfvA+bFryNHb9+alXVyOvk\\\\\\n\",\n       \"9fK+mgSxUg5sx6pZTyBu6IUY/9RniOk5DH+++xDOHDvYaIJXU4e0Qnj4KXy072kUmgrtXSQiIiIi\\\\\\n\",\n       \"agAlMNhkItfGUQiJCHtz8jAmPAjdmwch3N8TqdkMHOhOH9mD4sJ89XjLwv+pf7teMKXKrWbrdx9i\\\\\\n\",\n       \"+89z1WN53/K3H4RvSCSCmrZEu+GXILpTPyRsXoFtP85BVsoxuHl6IbRFe5xz9yvYs3Q+orsMQJex\\\\\\n\",\n       \"16n397zkNpzY/Q/il3+DAZMfcfkttXOzQLRokos3Ns1GfklpnRMREREREQkGsIgI/2TkYvnpTIwK\\\\\\n\",\n       \"C8QLF3fB49/vxCkGsUqDKmMmwVRSXBa8qiqIlXkyAX99+ATSju4tm+fVvDO8W3SDqSAbJxN3IvGN\\\\\\n\",\n       \"e+EbGoW8MynodfmdaNlnJIryc3Fy31ZpN41TB3eg03kTyy03uvMAJG5Z2Si20rZNAnAqN4nBKyIi\\\\\\n\",\n       \"IqJGxqSVJnKv6zLItTGARUTKnOOpKNE0nBcehBcu6YInftiFk5kFrB2zYFVVQazkvZuw9I1pMBX/\\\\\\n\",\n       \"13ItePgUBA24ouy5pmkoTNqL9DXzoaUlI2HLX2g7/GL4h0cjpHmcek1+xmn4BIaWq3PvwFDkZZ52\\\\\\n\",\n       \"+fVwUfdo9GhdjFnbv7d3UYiIiIiogel5rOq6DHJtXMNEVOaTpNP47VQGPN3d8NwlXdE0yJu18y8J\\\\\\n\",\n       \"VvW87I6y+pAgluS6Orl/K/547e5qg1fCYDDAq1lHRF72BDybtMGpA9uw6OFLEb/8WxTkZDbqeh7b\\\\\\n\",\n       \"JQp925rw4bYPkZqXau/iEBERERGRA2IAi4jK+fzEafyckg5PowHPXtQZkQGerKFqgliLZ94KzVRS\\\\\\n\",\n       \"bfDKnMHohqgpbyL0vDtRmJuFLd99gB8euxJZp5LgHRSGvMy0cq/Pz0yDT2CYS6+DztGB+OXwLzid\\\\\\n\",\n       \"7/otzYiIiIioIhMMNpnItTGARUQVfJWchs2ZufBwN+KcDhyZsLogljnz4JVRM6HrqQMYfmyL+lee\\\\\\n\",\n       \"m7fGCuh5PkJG3YzC3GzAaETi5j8R0aYrkvdsLLdMSeIu811Vv9hQRAZ440TOCXsXhYiIiIjspEQz\\\\\\n\",\n       \"2GQi18YcWERUqb05+egV6IshcWH4aVsScgv/a2XU2EkQa9dvn6sWVDqjl19Z8GpQ0g7ctv17RORn\\\\\\n\",\n       \"lP39lHcQPuh2MVbAE/lHt8G7VU94t+gOg7sHCrLOICi6FcLbdMHil2/DrsVfonm3wTj8zx9qFMQB\\\\\\n\",\n       \"k6fDFQ1sHYaLezbDZ/veRkpuir2LQ0REREREDowBLCKq1C+n0tHV3wddA3ww87KumL5wB3IYxFIk\\\\\\n\",\n       \"95V58EqYCnKQse4bnN+iAx7/59MK9RmWn6Hml3QYhx8TdyJz4w8wFeTC4O4JNzc3RHXsCzd3Dwy9\\\\\\n\",\n       \"+Tls/e4DbFn0PgIjYzDirpcR0ryNy22lUYHeuLx/ED7a8SaOZB6xd3GIiIiIyI6YxJ2swQAWEVVK\\\\\\n\",\n       \"RqGdefgE/i82Cj0CfDHzsm54dNEOZBUUo7EHr/RRCPWWVxK8EukrP0VAVAwQ5FehB77015ZOhHcc\\\\\\n\",\n       \"XY0NVzwNk6G0B3fB8T1I/uL/cObYAYS36ohWfUepydU1DfZGZmEmg1dEREREVJrDqo5dAJkDy/Ux\\\\\\n\",\n       \"BxYRVRvEeuVwMjZl5CDA2x0zruyGQO/GG/e2DF65h0QjZtp8lftKNys5ER+dPl3lDjcyLx2dUw+V\\\\\\n\",\n       \"zXPzL03QXpj9X3dDV9c20h/XDArGsoRl9i4KERERERE5CQawiOisQazXjp7Ehowc+Lu7YcalXeHv\\\\\\n\",\n       \"1fiCWJbBq8CmreAREq0eS+4r8yDWG6mnMLuKIJYILTDrfvhvSyzNLMm7qwevbh7WGj8c+AGbTm6y\\\\\\n\",\n       \"d3GIiIiIyAFoNhiBUJZBro0BLCKyyhtHT+JoXiF8vdzRt1VIow5eySiEEa07w5T/XyBKglgdeo+3\\\\\\n\",\n       \"KoiV4elb9tiUn6n+9fQNQGMwrF0EVp/8FZtSGLwiIiIiolLSfdAWE7k2BrCIyGoHcvPVfY0xnaPg\\\\\\n\",\n       \"4dY4DhAyIqBl8EpGIQxr1QkFyftRnJVa9reCUbfgFsmBZRbE+jitYhBryu7fEJVTOj93/3q4eXoj\\\\\\n\",\n       \"qGksXF1EgBdahfshOSfZ3kUhIiIiIiInwwAWEVnt06RUHMsvRFSQN569qHOjCGKFteoId0/vcsEr\\\\\\n\",\n       \"0XrgWLi5eyF72+Ky10pi9qxz78C08Aj13MdgQBdvn7KumDKJDunH8O6KNzA0cTNytv2O1gPGwNPX\\\\\\n\",\n       \"H64sMsALd4+Mw5Yzf2B76nZ7F4eIiIiIHHAUwrpO5Nq4honIasUaMH3/MSTkF6JpsA+ev7gLPN1c\\\\\\n\",\n       \"ezcS1b4XRk57A72vvKcseCU8ffzRZtD5yNm2GFrJfyMzronuipPn3487mrbAB81j0Ne3tLvgKZ9g\\\\\\n\",\n       \"zOk8Hkl+pUnb/Yrz8eimr/CErwe6DJ0AV+blbsS9Y8OwKW0xfjv8m72LQ0REREQOhl0IyRqNLxMz\\\\\\n\",\n       \"EdVJiQY8tu8YnmvbDK0CvfH0RZ3w2Hc7y1oXuWoQSyZLHUZegf1//YC0pR8i9Lw7YDAYyoJYxuve\\\\\\n\",\n       \"RULqISwryEKaVwB2hbdWLbR+azUAd21biHOObVGvvSI4GCOWf44fA+7EqYj/uh+6kmBfT/h6+GLJ\\\\\\n\",\n       \"0SX2LgoRERERETkp1246QUT1ogTAE/uPqxZZTQK94evp1ihrOrhZawyY/Aiyt/6G9BVzy40kKMGq\\\\\\n\",\n       \"HRFxWNm8p/pXnotcD2+8GDcaT2QVIE8rDftFpJ3A5M+eRo+tK2Q4QrgS2TYmD2yJnak77V0UIiIi\\\\\\n\",\n       \"InJQdR2BUJ/ItTGARUS1DmKdLiqCm9GAW4e3abSHi7ZDL0Lfax5A5sbvkbLgKeQd3lIukGXOlJ+N\\\\\\n\",\n       \"zI0/IPmLB/F7YQHev/henIxorv7mUVKMsUs+wcU/vAuv/By4Aj8vd9w1Mg7p2IF58fPsXRwiIiIi\\\\\\n\",\n       \"clDsQkjWYBdCIqq1x/cfx2vtY9CteRAePK89Xv0j3tUaEFml46grERAejU3fvoeUBU/AI7QZ/Lqe\\\\\\n\",\n       \"C/fgKBjcPWEqyEFBwg7k7FkJlBSjRe9z0G/i/SgMCsNnbbrinD8XoM/mP9SyOuzbiKgTh/DjRXci\\\\\\n\",\n       \"qVkcnNm5HSORa9yHr3Z9BVMVQT0iIiIiIiJrMIBFRLWWU2LC/XsT8VqHGHRuFoiHzmuPl5c0ziBW\\\\\\n\",\n       \"8+5D0KzbYKTs34r4FQtx9O8vyiV39wmJRPdxUxA3dAJ8g8PL5pe4e2Lp6GtxtGUnXPDrbPgU5CI4\\\\\\n\",\n       \"Kw2TvnoBq4ZehnX9LwD+7X7oTNwMBrQI88XhzKMMXhERERGRVS2w6qKu7yfHxwAWEdVJrkmCWAl4\\\\\\n\",\n       \"tUMLdIwOxPSxHTDz970wNcIgliRxb9Kup5o0kwlF+TkoLiyAp68/3Dy8ypK8V2Z/216YO/V5XPTT\\\\\\n\",\n       \"+4g5vh9umgkj/voGLY/sws/jb0WOfzCchXQrvWFwLLz9TmD14dX2Lg4REREROTgGsMgazndbn4gc\\\\\\n\",\n       \"Tp5Jw4N7E5BWVIx2UQGqO2FjZzAa4ekboFpbuXt6Vxu80mUFhuGridPx96AJZUkoYxN244ZPnkDs\\\\\\n\",\n       \"4R1wFhK8Cgo5gdk7ZiOvOM/exSEiIiIiIhfAABYR2SyI9dj+45BMR22b+LNWa0kzuuHvIZdi3lUP\\\\\\n\",\n       \"I9MvSM3zy83EVd+8ihF/zofRrFuiI3I3GlR30i92f4H8knx7F4eIiIiInACTuJM1GMAiIpvJLi5B\\\\\\n\",\n       \"XokJHm5GTB7QgjVbBwktO+Ljqc/jQOvuZfMG/PMrJn35PILSUxy2bsd1a4qM3CJkF2XbuyhEtfb+\\\\\\n\",\n       \"+++jW7duCAwMVNPAgQPx22+/uVSNNobvSEREzkOyj0gPhLpMjTCDSaPDABYR2UwJgMf2HUOBScPI\\\\\\n\",\n       \"jk1w/aCWrN06yPMNxLeX3Ydl50xEsdFNzWuWfBhTP3kCHfasd7i6vaRnM/SOK8HsvS+iRJOtgcg5\\\\\\n\",\n       \"NW/eHDNnzsSmTZuwceNGjBw5EhMmTMCuXbvgKhrDdyQiIiLXwgAWEdlUSlExHopPQL5Jw4j2kbhp\\\\\\n\",\n       \"aCvWcF0YDNjQdyw+v/YJpAVFqFnehfm4+Kf/Yezvc+FeVOAQ9ds/NhQ92xTjg20f4HT+aXsXh6hO\\\\\\n\",\n       \"LrzwQlxwwQVo27Yt2rVrhxdeeAH+/v5Yt26dy9RsY/iORETkPNiFkKzBABYR2dypohKV1F2CWIPj\\\\\\n\",\n       \"InBR92jWch2djIrFJ9c/h10dB5TN67F9JaZ89jQiTiXavX6jg31wIP0AzhScsXdRiGyqpKQE8+bN\\\\\\n\",\n       \"Q05Ojupm54oaw3ckIiLHxgAWWYMBLCKqF2nFJfj6xGk1ll6n6ADWsg0Uevngp/G34Zfzb0Khh6ea\\\\\\n\",\n       \"F3E6CZM/exo9tq4ANPv0/B/UJgwDWodh/QnH69ZIZCkzM7PcVFBQeSvGHTt2qBZJXl5euO222/Dd\\\\\\n\",\n       \"d9+hU6dOLlWhNfmOUk+WdUdERETUkBjAIqJ6szMrDyUa0L5JIEZ3KO3+RnVkMGBH16H4ZPIzOBnR\\\\\\n\",\n       \"XM3yKCnG2CWf4OLv34VXfk6DVvHguDBc1CMaH8e/gYSshAb9bKLaiImJQVBQUNk0Y8aMSl/Xvn17\\\\\\n\",\n       \"bN26FevXr8ftt9+OKVOmYPfu3S5V6TX5jlJP5vUm9UhERGQrbIFF1mAAi4jqzYnCIjx/8DhMBmDS\\\\\\n\",\n       \"gFYY07kJa9tG0sKi8dl1T2Fjz1Fl8zrs34ipHz+O6OMHGqyeL+jaFAsOzsLRzKMN9plEdZGYmIiM\\\\\\n\",\n       \"jIyyafr06ZW+ztPTE3Fxcejdu7cK3nTv3h1vvfWWS1V+Tb6j1JN5vUk9EhER2QoDWGQNBrCIqF7F\\\\\\n\",\n       \"5xbgmQPHYQJwdd8WGNclijVuIyXunlh67mQsvOQe5Hn5qnnBWWm49qsXMGDdz4AmtV5/2jbxh7eH\\\\\\n\",\n       \"G07knKjXzyGypcDAwHKTdJ+zhslkqrK7oauo7jtKPVnWHREREVFDcm/QTyOiRulAbgGePHAMz8Q1\\\\\\n\",\n       \"w+V9Y2B0M+CnbQx62Mr+tr3x8dRWuPCnDxBzfB+Mmgkj/voGLY/sws/jb0WOfzBsrX1UAG4aEYZF\\\\\\n\",\n       \"Bz5FekG6zZdPZE/S2uj8889HixYtkJWVha+++gp//vknFi9e7DIrpjF8RyIich6aZlBTXZdBro0t\\\\\\n\",\n       \"sIioQRzOK8QT+4+jRNNwaa/mGNgmjDVvQ5mBYfhq4iP4e9AEaCp1PhCbsFt1KYw9vMOmdd08xEcF\\\\\\n\",\n       \"rxbuX4jNKZttumwiR5CSkoLJkyerHFGjRo3Chg0bVGDn3HPPhatoDN+RiIichwkGm0zk2tgCi4ga\\\\\\n\",\n       \"zNH8QixOzcQFEUHoHB2ItQdPs/ZtSDO64e8hlyIhpiPG//w+AnMy4J+Xhau+eRXr+l2Av4ZeBpNb\\\\\\n\",\n       \"3Xf7MSG+SMxKxLZT22xSbiJHM2fOHLi6xvAdiYiIyLWwBRYRNaitWaWj5A1qE4buMUGs/XqQ0LIj\\\\\\n\",\n       \"Pp76PA7EdiubN+CfX1VurKD0lDotOzLACxd0a4p9Z/bZoKREREREREziTtZhAIuIGtSu7Hy8e/Qk\\\\\\n\",\n       \"DAYD7h3VDr1b2D4/EwF5voH49vL7seyciSgxuqkqiT5xCFM/eQId9qyvdRWNaB+BgznrsfLYSlYz\\\\\\n\",\n       \"EREREdk0B1ZdJ3JtDGARUYNbm5GDt1QQC7hzZFv0axnCtVAfDAZs6DsWn137BM4ER6pZ3oX5uPin\\\\\\n\",\n       \"/2Hs73PgXlSzEdV8Pd3QOsIfSdlJXF9ERERERNSgGMAiIrv4JyMHbxxJVkGsW89pg1A/T66JenIy\\\\\\n\",\n       \"KhYfT3kWuzoOKJvXY/tfmPLpU4g4lWjVMvw83XDXyDikmXZgddJqrisiIiIishmTZrDJRK6NASwi\\\\\\n\",\n       \"spuNmblIKyqG0WBATIgP10Q9KvTywU/jb8Mv59+EQvfSYGFE2glM/uwZ9Ni6QtptV/ne0pZycTht\\\\\\n\",\n       \"2oYv934Jk2biuiIiIiIim2EXQrIGA1hEZFdLT2eqAW/vHhmHFqEMYtUrgwE7ug7FJ1OewcmI5mqW\\\\\\n\",\n       \"R0kRxi75BBf/8C688ksT7FvydndDdLAPFu1fxOAVERERERHZBQNYRGRXP6SkY+HJNLi7GfHk+E5o\\\\\\n\",\n       \"GcYgVn1LC4vGZ9c9hU29RpfN67BvI6Z+/Diijx8o91o3owGTBrRAYlouCkpqljOLiIiIiMjaFlh1\\\\\\n\",\n       \"7T7IJO6ujwEsIrK7hSfTMT/53yDWuM5oHe5n7yK5vBJ3T/wx+josvOQe5Hn5qnnBWWmY9NULGLDu\\\\\\n\",\n       \"J0Azwd1owI1DYhESchJz9z8NDVV3MyQiIiIiqi05y5SMFnWaWP0ujwEsInKYlljfJp+Bm5sB94yK\\\\\\n\",\n       \"s3dxGo39bXvj46nPI7FZW/XcTTNhxF/f4qr5r2BUEzeEhabiox0fIb8k395FJSIiIiKiRowBLCJy\\\\\\n\",\n       \"GH+eyYSkB/f38kCgt7u9i9NoZAaG4auJ07F64ASYVEYyIDZhN7o9fReSl//O4BURERER1Ss5B7XF\\\\\\n\",\n       \"RK6NASwichhpRSXYkJEDdzcDZl7WFUE+DGI1FM3ohlVDL8W8qx5Gll+QmueWcQZNHv8Qg78/CGMx\\\\\\n\",\n       \"Rx4kIiIiono6F/03h1VdJ3JtDGBRBTNmzEDfvn0REBCAyMhIXHzxxYiPj2dNUYN46+hJrEnPhq+n\\\\\\n\",\n       \"O2Ze2hUhvh6s+QaU0LIjkl/7CMYBg8vm9Vl6DJe/vgWBqXlcF0REREREZBcMYFEFK1euxJ133ol1\\\\\\n\",\n       \"69bhjz/+QFFREc477zzk5OSwtqhBvJuQglVnsuDj6Y4Zl3ZFmB+DWA2pX884LLw1Fn9d2gYlxtI7\\\\\\n\",\n       \"WU0TsjFxxia03ZTSoGUhIiIiItdX1xEI9YlcG/vnUAW///57ueeffPKJaom1adMmDBs2jDVGDeL9\\\\\\n\",\n       \"xFMIcndDtwBfjO8WjU/XHmXNN4CBrcPUv6cL05AwsjmOxwVh7JzdCDmdD++CElzw8R7sjD+DlZfH\\\\\\n\",\n       \"odjTjeuEiIiIiOpMH0mwrssg18YWWHRWGRkZ6t/Q0NBK/15QUIDMzMxyE5EtbMsq7bLWPSYYnm7c\\\\\\n\",\n       \"XdW3wXFhuKSvPz6JfxM5RaUtLlNaBGDeI72xt09E2eu6rEnGVS9tRtjx7HovExERERERkeAVIVXL\\\\\\n\",\n       \"ZDJh2rRpGDx4MLp06VJlzqygoKCyKSYmhrVKNrEkNQOH8woQ6ueJFy7pAi937rLqS/smAbiotx/m\\\\\\n\",\n       \"7JyDI5lHyv2t0Mcdi6d0xJJr26PIs3QdhJ/MxVWvbEaXv5N4u4uIiIiI6oRJ3MkavBqkakkurJ07\\\\\\n\",\n       \"d2LevHlVvmb69OmqlZY+JSYmslbJJkoAPLn/OA7mFiAiwAsvXtIF3gxi1YvoYG8czTyKhKyEyl9g\\\\\\n\",\n       \"MGDPgCh8/VBvpET7qVkexRpGzduPCz7aDc/c4vopGBERERG5PAawyBoMYFGV7rrrLvz8889YsWIF\\\\\\n\",\n       \"mjdvXuXrvLy8EBgYWG4ismUQ66kDx7E/Nx9h/l544eKu8HBjgkZbt746v2tTbDq56ayvPRPliwX/\\\\\\n\",\n       \"1wtbh0WXzWu7LRXXzNiIqEOl3Y2JiIiIiIhsjQEsqkDTNBW8+u6777B8+XLExsaylsiuTACeOZCE\\\\\\n\",\n       \"rBITQgI8ERPiyzViIx2iAnDj0Fh8d/gTbE/dbtV7SjyMWHllW/x0c2fk+ZQmcg86U4Ar3tyKPosT\\\\\\n\",\n       \"ZBgZrh8iIiIishpHISRrMIBFlXYb/OKLL/DVV18hICAAycnJasrLK02oTWSvINaJ/EK107q6b4z0\\\\\\n\",\n       \"aCMbuLhnM/yeOB9bT22t8XsPdQ/H19P74Hib0laXRhMw+KfDuPjd7fDNLOT6ISIiIqIajUJY14lc\\\\\\n\",\n       \"GwNYVMH777+vclmNGDECTZs2LZvmz5/P2iK7eunwCZwpKkG7qAA8OrYDjAxi1UmTQC+E+HriePbx\\\\\\n\",\n       \"Wi8jK9QbC+/pgfVjW0A/Z2i5Lx3XvLgRLXan1a2ARERERERE/2IAiyrtQljZdP3117O2yK7yTBoe\\\\\\n\",\n       \"iE9AWlEx2kYFYMrAVlwjtRQV6I27RrbFmpRfq07cbiXNzYB142Ox6J5uyA7wUPP8sotwyf92YPD3\\\\\\n\",\n       \"B2EslvZzRERERERVnE+qFlSGOk6sXVfHABYROZV8k4Yvk06r1j6tI0tHw6OaCfbxwD1jw/BP6q9Y\\\\\\n\",\n       \"cnSJzarvWLsQfPVoHxzqFFI2r8/SY7jija0ITGUXZCIiIiKqHEchJGswgEVETmd3Tj4KTZpK5j55\\\\\\n\",\n       \"QEt7F8fpNA/xQXZhNpYmLLX5svMCPPHTbV3x16VtUPLvaJFRR7MwccYmtN2UYvPPIyIiIiKixoEB\\\\\\n\",\n       \"LCJyOhnFJXg4PhEFJg0jO0Zi6mAGsazl5+WOC7o1xdHMo/W3gowGbBnZHAvu74n0cG81y7ugBBd8\\\\\\n\",\n       \"vAcjv4yHe2FJ/X02kQNITEzEsWPHyp7/888/mDZtGmbNmmXXchERETkqzUYTuTYGsIjIKaUUFeP/\\\\\\n\",\n       \"9iZAQiFD4yIQ5FOae4mqN7RtOArcDuL7g9/X/zpqGYCvH+6NvX0iyuZ1XZuMq17ahLDj2fX++UT2\\\\\\n\",\n       \"cs0112DFihXqsYzie+6556og1mOPPYZnn32WK4aIiMgCuxCSNRjAIiKnlVpcgpziEhgMBvSL/S/v\\\\\\n\",\n       \"ElXOzWhAmwg/HMs+BpPWMInVC33csXhKRyy5tj0KPUoPOeEn83D1q1vQ5e8kjndMLmnnzp3o16+f\\\\\\n\",\n       \"erxgwQJ06dIFa9aswZdffolPPvnE3sUjIiIickoMYBGRU3v76EloBuCa/i0xqsN/LX2oYvDqhsGx\\\\\\n\",\n       \"8AtIxorE0pYhDcZgwJ4BUZj3cG+kNPVVs9yLTBg1bz8u+Gg3PHOLubrIpRQVFcHLy0s9Xrp0KS66\\\\\\n\",\n       \"6CL1uEOHDjhx4oSdS0dEROSA2IeQrMAAFhE5fUL35w8cV8e8awe2wuhOkfYukkOaOqgVgkJOYPaO\\\\\\n\",\n       \"2cgrts+IgGeifLHgod7YOiy6bF7bbam4ZsZGRB3KsEuZiOpD586d8cEHH2DVqlX4448/MHbsWDU/\\\\\\n\",\n       \"KSkJYWFhrHQiIiJLmqHO3QjVXe0aeu+999CqVSt4e3ujf//+qst/ddLT03HnnXeiadOm6mZVu3bt\\\\\\n\",\n       \"8Ouvv3J9NhAGsIjI6e3NLcCzB45DOsVN6tcSozqyJZaljtGB+Cb+G+SX5MOeSjyMWHllW/x0c2fk\\\\\\n\",\n       \"+bipeUFnCnDFG1vRZ3ECYGL6TXJ+L730Ej788EOMGDECEydORPfu3dX8H3/8saxrIREREdnX/Pnz\\\\\\n\",\n       \"cf/99+Opp57C5s2b1fF6zJgxSEmpfOTswsJCldfyyJEj+PbbbxEfH4/Zs2ejWbNmDV72xsrd3gUg\\\\\\n\",\n       \"ckUpG9cjbfcOdJh8k9Xv2fvZRwjt1BWRffrXa9lc1b7cArxzNBn3tozC+Z2bYtmeU/YuksO4uEc0\\\\\\n\",\n       \"svOLkV6QDkdxqHs4vo7pg/M+2YPmhzJh1IDBPx1G831nsGRKR+QGetq7iES1JoGr1NRUZGZmIiTk\\\\\\n\",\n       \"v/x8t9xyC3x9S7vREhER0X80re6pUWv6/tdffx0333wzpk6dqp5L6+lffvkFc+fOxSOPPFLh9TI/\\\\\\n\",\n       \"LS1N5bX08CgdQEpab1HDYQssonoIXq286yZsfX0mds/9wKr3yOvk9fI+eT/VzqHcQtWVMNTfC52a\\\\\\n\",\n       \"BrAaAVzaqxl6xZVg9t4XUWgqdKg6yQr1xqJ7e2D92BZlwx63jE/HpBkb0WJ3mp1LR1R7eXl5KCgo\\\\\\n\",\n       \"KAteHT16FG+++aa6UxsZyW7ORERE9TkKodxAMp/kmFxZa6pNmzZh9OjRZfOMRqN6vnbt2kpXkLSk\\\\\\n\",\n       \"HjhwoOpC2KRJEzVIy4svvoiSEhkXnRoCW2AR2Zi0vCrJL80xtP3tV9W/nW64rdrglf46eZ+8n62w\\\\\\n\",\n       \"aie1qBhzEk/hppgIPDimPV5bsg+7kjLRWPVsEYyebUrw/tYPcKbgDByR5mbAuvGxONYuGGM+2Qv/\\\\\\n\",\n       \"zEL4ZhXhkv/twMbRzbF2fCxM7rzX0pj5HDsIX+/ShOh1kl/x5LW+TJgwAZdeeiluu+02lStDcmrI\\\\\\n\",\n       \"nVpplSV3e2+//Xabf6amaWpEVmpcFidthTMbE93D3kUgIhcUExNT7rl0EXz66afLzZNjsgSeJBBl\\\\\\n\",\n       \"Tp7v3bu30uUeOnQIy5cvx6RJk1TeqwMHDuCOO+5Qg7fIZ1D941UBkY1Jt8Fu9zxY9lyCU1W1xDIP\\\\\\n\",\n       \"Xgl5X026HVJFK85k4cPEFHUhd9957RDm13i7ojUL9kFiVqLDBq/MHWsXgq+m98bhzqFl8/osPYbL\\\\\\n\",\n       \"X9+CwFT7JJ0nqi3JozF06FD1WHJkyMmwtML67LPP8Pbbb9d6uddffz1ycnIqzJdcHMOGDeMKIyIi\\\\\\n\",\n       \"56UnYa/rBCAxMREZGRll0/Tp021SRJPJpFpSz5o1C71798ZVV12Fxx57THU9pIbBABZRPZAWV2cL\\\\\\n\",\n       \"YlUWvKqupRZZ768z2ThZUAQ3gwHNQnwaZdUNahOGYR09serYKjiLvABP/HhrF/x1aRuUGEtPQJom\\\\\\n\",\n       \"ZGPijE1ou6nyZJpEjig3NxcBAaXdmJcsWaJaY0m3hAEDBqhAVm1t27YN3bp1K9e14dNPP1VJZ8PD\\\\\\n\",\n       \"w21SdiIiInvmwKrrJAIDA8tNMlqgJTluurm54eTJk+Xmy/OoqKhKyygjD8qog/I+XceOHZGcnKy6\\\\\\n\",\n       \"JFL9YwCLyA5BLEcOXh39/WfM6xGHVdMcozy1tTY9GxICufOcNmgSaIPuR04WvLqoRzTm7pqLI5lH\\\\\\n\",\n       \"4FSMBmwZ2RwLHuiJM2HeapZ3QQku+HgPRn0VD/fC+s0xkHYkDUueWYIvr/0SH577IbYv2l6vn0eu\\\\\\n\",\n       \"KS4uDt9//726A7x48WKcd955ar6MaiQn0rUlQ3tLMEySxD/66KO48sorcdddd+HVV1/Fd999Z8Nv\\\\\\n\",\n       \"QERE5No8PT1VK6ply5aVa2ElzyXPVWUGDx6sug3K63T79u1TgS1ZHtU/BrCoUZOE6TL6X03I661N\\\\\\n\",\n       \"tF5ZEGvh0F4OG7zKPn4MW1+fgYhefeHsvjl5Br+dyoCXuxuem9AZUUGlwZDGYFTHJlh0eC6OZta+\\\\\\n\",\n       \"pYe9pbQMwLxHemNvn4iyeV3WJOOqlzYh7Hh2vX1ucUExApoGoP+N/eEbytHiqHaefPJJPPjgg2pk\\\\\\n\",\n       \"Isl/pZ8IS2usnj171rpaJY/WK6+8okZGmjlzpgqSyTJlBCUiIiKnptloqoH7778fs2fPVq2Z9+zZ\\\\\\n\",\n       \"o3JUSld9fVTCyZMnl+t+KH+XUQjvvfdeFbiSEQslibskdaeGwSTuhMY+WqAkTjcVF1sVRNJbTrl5\\\\\\n\",\n       \"+2D4ux9ZlWxdX64etCrKyqzX4FVe6inkHE9EUXaWKqd3aBgCWrVWOaES//gNOz98B9mJR9XfQjp0\\\\\\n\",\n       \"wtA3P4C7jy9MJSVY9+j96HL7vTi1eWO5cjqrz0+cho+bASNCA3H9wJaY+Xs8XF27Jv4I8vHAydzy\\\\\\n\",\n       \"zaGdUaGPOxZP6YiEDqE4Z8F+eBSaEH4yD1e9shl/XR6HnYObAtUkrS7KK0J6QjoKsgsgzfG8ArwQ\\\\\\n\",\n       \"2jIUbp5uOPTXIWz6fBMykjLg7uWO8LhwjHlmDCLbR6pJrJ/DEUGpdi6//HIMGTIEJ06cUN37dKNG\\\\\\n\",\n       \"jcIll1xS62qVJLESvHrvvffUCfXff/+tWmTNmTMHF1xwAVcXERE5LfNRBOuyjJqQHFanTp1SN56k\\\\\\n\",\n       \"G2CPHj3w+++/lyV2T0hIUCkAzJPDS8vq++67T3Xpb9asmQpmPfzww3UqN1mPASxqtBpytEBZ7p6P\\\\\\n\",\n       \"Z5ULCnkEBNoseKWZTEhe9zf2z/8SSatWSPvXcn8PatseLS+YgB3vvo4e0x5Cs5HnoTg3B6c2b1Aj\\\\\\n\",\n       \"V4ldH74Dr9AwtLnkShXAchVr03MwPDQQLUJ94e1hRH5R+bpxJR2iAnDDkFh8d/hTpOS6SM4ogwF7\\\\\\n\",\n       \"BkQhuVUgxs7ZhcgTufAo1jBq3n602HMGyya1Q4GvR7m3nEk4g90/7Ub8kngU5RaV+5tXkBfiRsRh\\\\\\n\",\n       \"98+7MeDmAYgdHIvCvEIk70hu4C9Grk7yZ1jm0OjXr1+dltmnTx+VX+vPP/9U+bRk//3yyy+rINYN\\\\\\n\",\n       \"N9yA//3vf3UsNRERUeMiXfFlqowcby1Jq+p169Y1QMmoMgxgUaMlo/1Jyys9KFVdEKuuowXK+y1b\\\\\\n\",\n       \"NMlzmV/XIFbq9i1Y+9iDyEk8Co/W7RBw73R4dukBg58/tPx8lBxPQN4vi7D97VdUZsPC7Cz4RTdT\\\\\\n\",\n       \"LbKC27ZXyzi1ZSMOff8Nxs7/Ca5mZ3Ye9mTnoZO/D2Ze2g2PfrcDufWcR8kemgZ548YRYVi4/2Ns\\\\\\n\",\n       \"O7UNruZMlC8WPNQbQxYdRI9VSWpe222paJKYhd+u74jk1kHIz8zH8peXI3F9ItwD3RE8MhiBvQLh\\\\\\n\",\n       \"HlB6qCvOKEbG+gzs+X0PtBINSduS0PGCjgiICkBYbJidvyG5mo0bN2LBggXq7q1lYtdFixbVOoAl\\\\\\n\",\n       \"oxj6+fmp57Ifl7u+kmPruuuus0m5iYiI7KaGXQCp8WEOLGrUGmK0QMv3S8ur6j6vJo6vXIblN1+L\\\\\\n\",\n       \"wsBghLz9MUJmz4PvhZfDPTYObpFRcG/RCl4DhyH4+TcR9vkPMIZHqpZWv0wYjQML56EwMwNFOdlY\\\\\\n\",\n       \"99iD6Pvki/AKCYUrHgdfOHQCO7PyEOzrgRcu7gL3f0e4c7UA1qncUy4ZvNKVeBix8qq2+Pnmzsjz\\\\\\n\",\n       \"KR39JTCtAFe8uRVdF+3H9/d8hxO7T6D5Lc3R7rV2iLo8Cr6tfeEZ4akm3zhfNJ3UFO3eaAfPKE8c\\\\\\n\",\n       \"XXsUX1zzBbYv3I6CrAJ7fz1yIfPmzcOgQYNUPg1Jri5d/3bt2oXly5cjKCio1suVroJ68Mqc5NXa\\\\\\n\",\n       \"tGlTHUtNRERk/y6EdZ3ItTGARY1efY4WWNn7L1u1+axBM2ukbt2M1f93Nzz6DkbIax+WtrqqJh+Q\\\\\\n\",\n       \"e3QMwuf/Dp8rrkN2wlHseO9N/DLhXJUPKyfpGFbdewvm926vpiM/f6eCY/I4K9F5E4GbB7FmHD6B\\\\\\n\",\n       \"PJMJQb4eCPN3rVEJZZTFS3o1x67Tu9AYHOwejq+n90FS69JgsNEEjFyehDc8g9HzgVgEDwqG0aPq\\\\\\n\",\n       \"w5u7rzvazmiL6BujUVRYhA0fb8C8qfOQecL5876RY5CErm+88QZ++uknNSrRW2+9hb1796pRA1u0\\\\\\n\",\n       \"aFGnZX/++edqFKTo6GgcPVq6f37zzTdVzg4iIiIiV8YAFlE9jRZYXfDLmpZf1ZGuj6sfmQb39p0R\\\\\\n\",\n       \"9PgMGDytC8hIgCvw9vvhN/V2FKSlqvxCSX+vxNhvf8WY+T+VTc2Gj0Jk3wHqsW9UU7gCCWIl5RfB\\\\\\n\",\n       \"aDDgtmGt4VZNsM/ZWl7dPbItNpz+DcsTl6OxyAr1xrf39sD6sS1g+re9+QBPX7z1gxu6HzJZ9VsI\\\\\\n\",\n       \"HRqK2IdiUVxSjJKiEhxZfaQBSk6NwcGDBzFu3Dj1WAJYMqKRbHOS9HXWrFm1Xu7777+vRkyShO3p\\\\\\n\",\n       \"6ekoKSntDh0cHKyCWERERE7LDqMQkvNhAIvoX5ZBpbqMFmhNy626BLGS/lqBvOQk+N/9MAyenhX+\\\\\\n\",\n       \"7l5cjMuW/Yq7532s/pXnRXt2IOfLOSiK3wXv0eNgDApGQfoZhHTojOC4duUm6ebo4eunHrt5VFy+\\\\\\n\",\n       \"s3r+UBJSCosRG+GHJ8Z3dIkg1qW9mmFb+nL8cfQPNDaamwErR0TjpuTjSHUvDVoF5wKPzTdh0vIS\\\\\\n\",\n       \"uJVoMJg0dDpqwuBdJvWvPM89mIuUn1KQdzgP7iHu8Gvnp5K9BzYLVIGs1AOpajIVmZCTmqMeZxzP\\\\\\n\",\n       \"sPfXJScSEhKCrKws9VhGKNq5c6d6LEEnScJeW++8844a7vuxxx6Dm1tpN1o9N9aOHTtsUHIiIiJ7\\\\\\n\",\n       \"MdhoIlfGJO5ENh4tcO9nH1ndckufb55I3ujuftYE8fvmfw7Pzt3gEVeahN3cLYu+xJVLf4Hbv6ML\\\\\\n\",\n       \"itsXfoF5fYfglb27kLPwS2jSGsDXFwajEeHdejSabaDApOGh+ES80j4GrcL9cGXf5vj6n0Q4Kz9P\\\\\\n\",\n       \"N0QGeGNd4iE0Vvv+2If12Tl44FoD7l1lQK+Dpdv9hPUa+saXwKcICMn57/WpAcDs3m74Lj4Xp5ec\\\\\\n\",\n       \"hinPBPeg0kOhqdiE3NO5WHj7wrLXb/9mu5qadmuKi167qOG/IDmlYcOG4Y8//kDXrl1xxRVXqCG2\\\\\\n\",\n       \"Jf+VzBs1alStl3v48GGV78qSl5eXauVFRERE5MoYwCKy8WiBoZ26ws3bByX5eVa13DIPYsn75P3V\\\\\\n\",\n       \"yT6WgJT1axA4/flKg1dX//FzhflGTcM1/6yC8dzxmPXSe2peSdppnL56LI788gPaTZxc7vUDnnsZ\\\\\\n\",\n       \"rqpQ07A4NQPXRochLsIfzsrfyx13nhOHhPxN2Ju2F43V7l92I6B3APKaeuClKzRcsEHDpBUmSIOs\\\\\\n\",\n       \"6PSKLclDs4BH/nSDx6Ut8E/7/xohH3rhEHb/vBvjXxqPW/+4tcG/B7mWd999F/n5+eqxtJby8PDA\\\\\\n\",\n       \"mjVrcNlll+Hxxx+v9XJjY2OxdetWtGzZstx8yX/VsWPHOpebiIjIbmzRBZBdCF0eA1hE1YwWqAez\\\\\\n\",\n       \"9PnWBLEi+/TH8Hc/QtruHWdtSaWT5UrLKwleyfurk3nksPrXs0ef8j/m4mLV8gqVNJ41/Ls/v3Lp\\\\\\n\",\n       \"r5h70VUodneHW2gY3Fu2Rubhg2hsVqdn47KoELSJ9Me1A1rii3XOlajey92Iey/wx4nsLZi/bz5M\\\\\\n\",\n       \"2tlzPrkiTdOQkZiBqOFRpc8NBvzSz4C9zYDnPzfBTav4W5CQldTW9X+YsKGtAdq/I1L6dfBD+rp0\\\\\\n\",\n       \"O3wLckWhof+N6Go0GvHII4/YZLmS/+rOO+9UwTHZ/v/55x98/fXXmDFjBj766CObfAYREZFdMIBF\\\\\\n\",\n       \"VmAAi6ianFXm82saxDpbIMqStcGuouzSvCoG/4By8yesXFKu26AluUx300zqdQtHXVA6z88fRf/m\\\\\\n\",\n       \"aWlMMopL8MrhZDzRJhq9WwQ7XQArKsgbfh5+mBc/D1ojvtVUnF8MzaTBzfe/XEDCq1i29arfJ0Gs\\\\\\n\",\n       \"8CygY6KG3S1LA1iyjILsgvouMrmwzEzrR7EMDCwdQbOmbrrpJvj4+KhWXJJL65prrlGjEcooh1df\\\\\\n\",\n       \"fXWtlklERETkLBjAokbvbKMFitoEseqLmz7iYGEB4ONbNj/61Emr3m/+Oq2wEG7e1o1g6GpOFBSh\\\\\\n\",\n       \"RNMQ7OuJUR0isGzvKTgDd6MBYzpH4UT2kUYdvBJunqWBK62ofD2EZFv3fvPXScJ2dy8eEqn2ZCRA\\\\\\n\",\n       \"GWmwOtJqSl6jjx5YG5MmTVKTBLCys7MRGRlZ62URERE5DM1QOtV1GeTSeLZOjZq1owU6UhDLK6S0\\\\\\n\",\n       \"a0pJ0nEYg0LK5idFNLHq/frrtJISmFKS4TVwEBojaYX1wsEkPB7XDNcOaAV3NyMW77IuCGgvHm4G\\\\\\n\",\n       \"3DikNfwCj2Puzi/Q2BndjPD090RhSmG5+WesTG1m/rrCU4XwDvK2cQmpMVmxYkWDfp6vr6+aiIiI\\\\\\n\",\n       \"XIF0JKmmM4nVyyDXxgAWNVoNMVpgfQjr2h3eEZHI++17eHTsUjb/h+HnqdEGJWF7ZfceZH9uMhjV\\\\\\n\",\n       \"60Th+r9RkpaKmHNLuxM2RvG5BXjmwHE8HdcMV/VrgR3HM5CUXpp42RFd2D1aBa/m7JyDghJ2dxOt\\\\\\n\",\n       \"h7bGwdUHEXlxJAxupVv+nhiDGm0wLKvywZQlB1ZaQOnrREleCTL/yUTPKyuO7kZkreHDh9dLZcmo\\\\\\n\",\n       \"g2dr2aXbvHlzvZSBiIiIyBH8NwQTUSOjjxYorB0tUF4nrBktsL5I4Czu8onIX/oLTP/mwxKSmH3B\\\\\\n\",\n       \"6HHqseXNB/35gtEXqNeJvB8XIKRzN4R2+i8I1hgdyC1AUn6hCnS0dvBRCZsG+WB76nYGr8x0urAT\\\\\\n\",\n       \"itKKkLX1v9+CJGb/5NzKD28SvJJ1LX/XE7inr0lX3RA7XsBR3Mg2Pv74Y3zzzTcV5su8Tz/9tEbL\\\\\\n\",\n       \"uvjiizFhwgQ1jRkzBgcPHoSXlxdGjBihJm9vbzVP/kZEROT0SdzrOpFLYwssarTqe7TA+tTmkiux\\\\\\n\",\n       \"a9Z7yPthAfwm3Vg2f9alk9S/MhqheUJ3eTT/3PFlfy86EI+Cf9ag+zMv2aH0juenlHTc1iISUwe3\\\\\\n\",\n       \"wvG0XBw+nQtHc1nv5ogMzcSi7TvtXRSHEtE2AhEdIpD6eyoCegSUtcLa3MaAQvfShO7mpOWVBK/+\\\\\\n\",\n       \"aV8a4DIVmpC2NA0tB7WEX7ifPb4CuSAZFfDDDz+sMF/yVd1yyy2YMmWK1ct66qmnyiVxv+eee/Dc\\\\\\n\",\n       \"c89VeE1iYmIdS01ERGRHzIFFVmALLGrUJAhV026A8np7Bq+ET2QTtJs0Bdkf/w8Fa1aW+5sEqca+\\\\\\n\",\n       \"/RlmXXSlam0iToaEYdYl16jHJadSkPH4NAS164CWY8fbofSOZ1V6NtamZ8NoMKB/6zA4miv6NEfn\\\\\\n\",\n       \"6EB8uP1DpBek27s4Dqff1H7IO5iHE1+eUEmyRacErSx4tbUV8NZFRjx9jRF33uFWFrzSSjQc+/AY\\\\\\n\",\n       \"itOK0XtSb3t+BXIxCQkJiI2NrTC/ZcuW6m+1JS24Jk+eXGH+tddei4ULF9Z6uURERETOgAEsIifV\\\\\\n\",\n       \"/d6H0GzEaGQ8/SDyFv9YduEupJvg1+dfgi3tS7sHNj1zGrFJiSg+fABn7rkengYDhr/zEdy8GucI\\\\\\n\",\n       \"hJXZm52nupad0z4C4f6ecBSB3u4YHBeO2Xufx5mCM/YujkNq3qs5ht47FGnL03B8znE1omCf/f/9\\\\\\n\",\n       \"Hpb1NGJ1ZyN2t/yv26DkvUp4OwFZW7Iw+tHRCI8Lt+M3IFcjLa22b99eYf62bdsQFlb7ILmPjw9W\\\\\\n\",\n       \"r15dYb7Mk66EREREzsqg2WYi18YuhEROyujmhsEvvYUNLzyJwy89hbxF8+Az4Qp4jxwLw7+5vdZ0\\\\\\n\",\n       \"643e8aVdznq9/jzWbd+MoNZxquukb5MoO38Dx7I0LQstfLwwOiwQL1zcBU/8sBMpWeVHt7OH7jHB\\\\\\n\",\n       \"yC0oYcurs5D8Ve7e7ljxygrk7MhBz+atJFsdityAbbH/JcAuSC5A2oo0pK9Kh0Ez4Pznz0dM35j6\\\\\\n\",\n       \"Xo3UyEycOFF19QsICMCwYcPUvJUrV+Lee+/F1VdfXevlTps2DbfffrtK1t6vXz81b/369Zg7dy6e\\\\\\n\",\n       \"eOIJm5WfiIiowdkihxUDWC6PASwiJ2b08EC/p15EzKgx2L/gC5x47Tlkf/AG3OPaw+Dnj99yc3D3\\\\\\n\",\n       \"v68dkZ2J9Q89gdiLLoW7D4der8zc46nquHduWCAevaAjps3fBnsa2jYc43v5Yu7ON+xaDmfRdmRb\\\\\\n\",\n       \"hLcJR86CnWhytLQD7T9FeYj/X5p6XJxRjLwjefAK9EKX8V3Q+aLOCGgSYOdSkyuSHFVHjhzBqFGj\\\\\\n\",\n       \"4P7vwBkmk0l1/3vxxRdrvdxHHnkErVu3xltvvYUvvvhCzevYsaNKGn/llVfarPxEREREjogBLCIn\\\\\\n\",\n       \"J8OrRw8doabs44k49P23yE48iqKsLBSHheKwqQix+fnoYjSg57nnI5vBq2otSE7DqLBA+Ht7wNvd\\\\\\n\",\n       \"iPxiPZNYw+rVIlgFr+bsnIPELCZntlZIyxCM7RwDHD2qnm8P80KIFgKD0QCvSC80u7IZWg9vDXdP\\\\\\n\",\n       \"Hv6o/nh6emL+/Pl4/vnnsXXrVtX1r2vXrioHVl1JoIrBKiIicjlM4k5W4Bk8kQvxbxaDbnfeV25e\\\\\\n\",\n       \"4vzPEbtovnrcbvMGbB491k6lcw45JSbsy8lDBz8fzLi0K6Z/twP5RQ0fxIqN8MfGkxsZvKpN3W1P\\\\\\n\",\n       \"LXvsef8gnB/CXG9kH23btlWTrRUWFiIlJUW16jLXokULm38WERFRg2AXQrICk7gTubh9vf8bMbHd\\\\\\n\",\n       \"pvV2LYuzeP7gCezNyUeIn6cKYnl7NOyuskNUAPrHhuJA+oEG/VxX4H+mAE2O5ajHJ5v7IZvBK3Ih\\\\\\n\",\n       \"+/fvx9ChQ1WLLmnNJSMdytSqVatKRz0kIiIiciVsgUXk4pJaxyEzJBSBZ9IQu30rPPLzUcTRqqol\\\\\\n\",\n       \"bRqeO5iEV9vHIMrXUwWTVu77r1VPfeoUHYjrB7XCwkNzsTdtb4N8piuJ3Xm67PGh7hxZkFzL9ddf\\\\\\n\",\n       \"r3Jq/fzzz2jatKnqQk5EROQS2AKLrMAAFpGrMxqxr3c/9Fn6OzyKi9B6+2bE9xtk71I5xTH0QG4+\\\\\\n\",\n       \"mnp5YHi7CKzanwpTPY9sIpeiUwe3wqJDn2B76vb6/TAX1Xrbf4HGQ10ZwCLXIvm0Nm3ahA4dOti7\\\\\\n\",\n       \"KERERLbFABZZgV0IiRqBfX3+60bYfuM/di2LM/n4eCrOFJWgdYQ/ruobU++fFxXkDQ83I/an76/3\\\\\\n\",\n       \"z3JFnnnFiNmXrh5nBnkitZmfvYtEjVBxcTGeffZZHDt2zObL7tSpE1JTG6Y1KBEREZGjYQCLqBE4\\\\\\n\",\n       \"3Lk7Cj091eO2m9bDYCqxd5GcQr5Jww8pZ9TjNhH1GwxpGuSNu8eEYdmxH5FTVJrDiWqmxd4zcPu3\\\\\\n\",\n       \"mdxh6T7I7lVkB9LF75VXXlGBLFt76aWX8NBDD+HPP//E6dOnkZmZWW4iIiJy+lEI6zqRS2MAi6gR\\\\\\n\",\n       \"KPH0xMHuvdRjv+wsNN8Xb+8iOY0NGTkoMGloExlQb62wmgX74J4x4Vh9fDWWJiytl89oDFrvMMt/\\\\\\n\",\n       \"1TXMrmWhxm3kyJFYuXKlzZc7evRorFu3DqNGjUJkZCRCQkLUFBwcrP4lIiJyVgbNNhO5NubAclDb\\\\\\n\",\n       \"tm3DTz/9hNDQUFx55ZUID/8vl4vcZZ02bRrmzp1r1zKSc4nvOxAdN6wrG40wsUMnexfJKZwpLsHL\\\\\\n\",\n       \"h0/g8TbRGNQmDPM3JNp0+c1DfHDHiDisPPY9Vh6z/QVvY2Eo0dDq3wTuBV5uONY22N5Fokbs/PPP\\\\\\n\",\n       \"xyOPPIIdO3agd+/e8PMr34LzoosuqtVyV6xYYaMSEhERETkfBrAc0JIlS3DhhReibdu2yMrKwpNP\\\\\\n\",\n       \"PolvvvkG55xzjvp7Xl4ePv30UwawqEYO9OwDk8EIo2ZC+43rsWzSVNaglY4XFKFE0xDo7YEhcWH4\\\\\\n\",\n       \"+8B/LX3q6txOTbD1zHIGr+oo+lAGfHJLu2wd7RQKkzsbGFPtzZgxA4sWLcLevXvh4+ODQYMGqe57\\\\\\n\",\n       \"7du3t+r9d9xxh/r39ddfr/A3GTmwpKR23biHDx8OR/mORERENsUk7mQFnuE7oKeffhoPPvggdu7c\\\\\\n\",\n       \"iSNHjqh8F3K39vfff7d30ciJ5QYG4Vj70pGrwpOOISzJ9gmGXVWmaoWVrLrV3zikNYa3s83odoHe\\\\\\n\",\n       \"7ogJ9cXx7OM2WV5jVq77YDd2H6S6ke5/d955p+qu98cff6CoqAjnnXcecnKsy09nMpmqnGoavNq+\\\\\\n\",\n       \"fbt6n/64uqkhvyMRERFRQ2MLLAe0a9cufP7552V3aiWA1bx5c1x++eWYN28e+vbta+8ikpOK790f\\\\\\n\",\n       \"LfbuVo/bbfoHa6Ob27tITmNndh5ePJiER9tEY8qgWOxPyUZSen6tlxfk44G7RsbhSN56bEnZYtOy\\\\\\n\",\n       \"NjqahthtpSOzmQzAkU6h9i4ROTnLG0affPKJyjm1adMmDBs2rEbLys/Ph7e3d63L0qNHDyQnJ6vP\\\\\\n\",\n       \"l8dyXqBpWp1bdtnyOxIRERE1BLbAckBeXl5ITy8dCl53zTXX4KOPPsJVV12F7777zm5lI+cW32dA\\\\\\n\",\n       \"2eN2/+bDIuvtzsnHsfxCNbhdbHjtRyX0cDPg7pFxSMhfj2/3fQtNtZmm2go5mYuQ06XBxGNxQSjw\\\\\\n\",\n       \"82Blkk1lZGSofyUvpTUkkPTcc8+hWbNm8Pf3x6FDh9T8J554AnPmzKnRZx8+fBgRERFlj2VZ8q/l\\\\\\n\",\n       \"pH9GQ31HIiIiW5LxA+ucxJ2rxOUxgOWA5A5rZYlar776ahXEuueee+xSLnJ+adHNcCoqWj2O2bcH\\\\\\n\",\n       \"PpmlFyxkvSWpGergeMPgWLQI9al166tQP08s3L+QwSsbaLP9v+6Dh7vZpntnTSVtS8K2b7bV6D3y\\\\\\n\",\n       \"enkfNSwZCMV8KigoqPb10n1PBk4ZPHgwunTpYtVnvPDCC6pF08svvwxPT8+y+fJ+OY7XRMuWLVXr\\\\\\n\",\n       \"Kv1xdVNtWfMdpZ4s646IiIioITGA5YBuv/12HD9eeU6ciRMnqpNiNu+n2trft7QVllHT0HbLRlZk\\\\\\n\",\n       \"DS1Py8Ka9GwYjQYMbVfaKqImPN2MuKpvDA6eymbwykZizfJfHe7S8PmvJAj12+O/Yd2sddgyz7ru\\\\\\n\",\n       \"oPI6eb28j0GshhUTE4OgoKCySZKZV0fyRElOSunCb63PPvsMs2bNwqRJk+Dm5lY2v3v37ippuqOx\\\\\\n\",\n       \"5jtKPZnXm9QjERGRzUiyWVtM5NIYwHJAl1xyCd54440qh8uW7oTSGouoNuL79C97LKMRUi3qMDtf\\\\\\n\",\n       \"tcIa0iYMwb7Wd1fzdDfi1uGt4e53FF8cfoZVbwO+mYVoeqS0JUhqU19kRNSuVVxdnNp3CsX5pSMg\\\\\\n\",\n       \"/jPnn7MGseTv8joh75P3U8NJTExU3eX0afr06VW+9q677sLPP/+sjseSi9JachMqLi6u0pZOkizd\\\\\\n\",\n       \"kVj7HaWezOtN6pGIiMjmoxDWdSKXxgCWAxs7diz+7//+r9zJbmpqKi688EI88sgjdi0bOa9j7Tog\\\\\\n\",\n       \"JyBQPW6zbTPcCgvtXSSn80daJv4+kw0fT3fMuKQrQq0IYnm5G3Hb8DYw+BzGxzs/RqGJ9W4LrXad\\\\\\n\",\n       \"VjkPxKGu9uk+2P2K7uh3Y7+y59UFscyDV0LeJ++nhhMYGFhukryTliRJugR2JOfk8uXLERsbW6PP\\\\\\n\",\n       \"6NSpE1atWlVh/rfffouePXvCEdT0O0o9WdYdERERUUPiKIQOTO6GTp48WQ1v/dVXX6kkrTfeeCPa\\\\\\n\",\n       \"tWuHrVu32rt45KQ0oxv29+qHHiuXwrMgH7G7tuNAzz72LpbT+V9iiuoCODQkAE+M74T7FlSf/+ia\\\\\\n\",\n       \"/i1g8jqAT3d9imJTaWsdqrvW2/7rPnioW8N3H9T1vLo0KKEHp/R/9flVBa/M/06O1aVOjrs//PAD\\\\\\n\",\n       \"AgIC1CiAQrrO+ficvZXfk08+iSlTpqiWWNLqatGiRYiPj1ddC6W1kyt8RyIiIpuyRQsqtsByeWyB\\\\\\n\",\n       \"5cAGDRqkAlWSULVXr16qa+F9992HlStX1ilZK1F8n/9ai7TbyNEIa+uT46kwAQjw8VC5raoi+Zeb\\\\\\n\",\n       \"BftgTdIaBq9syL2wBC3iz6jH2f4eONkiAPYkwaiqWmIxeOVc3n//fdVNbsSIEWjatGnZNH/+fKve\\\\\\n\",\n       \"P2HCBPz0009YunQp/Pz8VEBrz549at65555bp7LJKMWSCF669KWlpal5mzdvrjJ3Zn19RyIiIluq\\\\\\n\",\n       \"8wiE/07k2tgCy8Ht27cPGzduVHkpkpKS1B3c3NxcdUJcn9577z288sor6o6sJJ1955130K/ffxdm\\\\\\n\",\n       \"5NwOdeuJInd3eBQXo93G9fj1xjsAI+PZNZVn0nAwNx9tfb3x3ITOePS7nSjRtArBq4n9WqgbQkcz\\\\\\n\",\n       \"j9pwLVJM/Bl4FEkIETgira+M9k/cWVlLrK3zt6Iw+78uo2x55fike11dDR06VLWgtqXt27dj9OjR\\\\\\n\",\n       \"qpXUkSNHcPPNNyM0NFS18EpISFAtvBryOxIRERE1JF6xOrCZM2di4MCB6m6tjA70zz//YMuWLejW\\\\\\n\",\n       \"rRvWrl1bb58rd1/vv/9+PPXUU+qurgSwxowZg5SUlHr7TGpYRd4+ONylh3ocmH4GTQ8f5CqopWcP\\\\\\n\",\n       \"JCHXZEJEoDeigrzL/U3iKdf2b4lWYb6YHf8scotzWc821Nps9MFDXe3XffBsLbEYvCJbkWPz9ddf\\\\\\n\",\n       \"j/3798Pb+7/9zQUXXIC//vqLFU1ERM6LSdzJCgxgObC33noL33//vWr9JCeq0pVQgliXXnqpavJf\\\\\\n\",\n       \"X15//XV1V3fq1KkqEe0HH3wAX19fzJ07t94+kxrevr4Dyh6338TRCGurREahKyhWwaqr+8Wo0QmF\\\\\\n\",\n       \"m8GA6wa2QkxUugpeZRVm2WCtURmThth/A1hFHkYktA9xqMqRIJanv2e5efKcOa9cV0hIiGoNZc1U\\\\\\n\",\n       \"Wxs2bMCtt95aYX6zZs3KclgRERE5JQawyArsQujAduzYgfDw8qNqeXh4qK5948ePr5fPLCwsxKZN\\\\\\n\",\n       \"m8oNK240GlWXhapafRUUFKhJl5lZOqQ9ObZ9vfqWPW63YR3+vPJau5bHGXkZDegb5Ie/07MQ7R2K\\\\\\n\",\n       \"Ls2C8PqV3ZFXZIKHmwFpxUcwa8ds5BTl2LuoLifqaBb8skpHaE3oGIISTzc4Esl5Zd7ySshzmc8g\\\\\\n\",\n       \"lmt68803yx6fPn0azz//vGq9LC2phRxDFy9ejCeeeKLWnyEjAVZ2jJV0AxEREbVeLhEREZEzYADL\\\\\\n\",\n       \"gVkGr8wNHz68Xj4zNTUVJSUlaNKkSbn58nzv3r2VvmfGjBl45pln6qU8VH+yQ8NwvE1bNDu4H1EJ\\\\\\n\",\n       \"RxCUchIZkeXXO1XO382ISE8PXNokBNG5mcjNzUbCoXQEBwerVhhB/w7gVZjrD6OBDV3rQ+sdqQ7Z\\\\\\n\",\n       \"fbCyhO3S8koPZlU2OiG5Bhl1UHfZZZfh2WefxV133VU275577sG7776rErvLgCy1cdFFF6nlLliw\\\\\\n\",\n       \"QD03GAwq99XDDz+sPpOIiMhZ2SIJO5O4uz5eWVGdSWstGclInxITE1mrTmJf7/5lj9tt+u+Cmyrf\\\\\\n\",\n       \"WcoU7eWBl5sF44FwXwSmJGHFihWqZcW6devw+++/q2TKMkk+mkivSEzrNQ0eRg9WqY3FbisNYMl5\\\\\\n\",\n       \"zpHOjhPAqmy0wanfTa1ydEJyTdLSauzYsRXmyzwJYNXWa6+9huzsbERGRiIvL0/dzIqLi0NAQABe\\\\\\n\",\n       \"eOGFOpaaiIjIjjSDbSZyaWyBRRVafbm5ueHkyZPl5svzqKioKrs0yETOJ75Pf5yz4Av1uN3Gddhw\\\\\\n\",\n       \"/oX2LpJDmhAZjDHhQWXPD23fhj179lT6Wr07rQxpL4mWW7VthRCvEKTkcRAEWwk6lYfwk3nqcVKr\\\\\\n\",\n       \"AOQGls815UjBK72lVWWjE5rPJ9cSFhaGH374AQ888EC5+TJP/lZbMvqgjGy4evVqbNu2TQWzevXq\\\\\\n\",\n       \"pbr5ExEREbk6BrCoHE9PT/Tu3RvLli3DxRdfrOaZTCb13LwrBLmGlBatcCY8AiGpp9Bq90545eag\\\\\\n\",\n       \"wNfP3sVyCJ4GA66NDkNzb094G41Yvfh35Ofnq9+D5IqzhrSQKDQVYkrnKTiYfhDfH/weJs1U72Vv\\\\\\n\",\n       \"TKMPHu5edVdrRwle6RjEajykW/1NN92EP//8E/37l7Z0Xb9+vWqlOXv27Fov97PPPsNVV12FwYMH\\\\\\n\",\n       \"q0kn+6R58+Zh8uTJNik/ERGR3ZK413UZ5NLYhZAqHaZbTrA//fRT1crk9ttvR05OjhqVkFyMwVA2\\\\\\n\",\n       \"GqGbqQRxWzaiMWvn641JTcPUdH+rKLTPzcDxdaux8ZcfkZ6ergJY1gavhIwK5pkP5Gw+iB5aG9zS\\\\\\n\",\n       \"9RZMaDMBAR4B9fo9XF2sg+W/2vbNtrMGr3Qy37I7obyfXMv111+vWkkFBgaWdSuWx3///bf6W23J\\\\\\n\",\n       \"cVi66lvKysriMZqIiFwiB1ZdJ3JtbIFFFcjd3VOnTuHJJ59UF+A9evRQd40tE7uT6+TB6v/bT+px\\\\\\n\",\n       \"u43rsWtw/QwQ4Mi6+vsgyssDF0QEIyV+D4qKilBQUoLVBw+qQQ1qS4JeG7ZuQ59+g7By7vto1rEz\\\\\\n\",\n       \"OkVFI67bLfg76W8cyTiCk7nlu+tS9bxyitDsYOkFfHqED8408bV7lUW0i4C7tzuK84urDV5V1hJL\\\\\\n\",\n       \"3ifvJ9cjLa++/PJLmy5T0zSVuN3SsWPHVPdCIiIiIlfGABZVSroLsstg43C0Yxfk+fjCJy8XcVs3\\\\\\n\",\n       \"wlhcDJO7a+8avI0GNYqg6Bnoi7E+bkhLS8Ouv7fjxIkTNv2spKQkGI1GFQg7uHG9avXWfsAQjI7s\\\\\\n\",\n       \"g+D2F+KThK+RXpCuuhYm5yRDY9vnarXanQajyaz1VSUX8w0tuns0zn/+fJzadwrdr+hu1XskiGV0\\\\\\n\",\n       \"M6rglbyfXI/85r///vuyfHmdO3dWowhKnsma6tmzpwpcyTRq1Ci4m+2j5XMOHz5cadJ4IiIip8Eu\\\\\\n\",\n       \"hGQF175KJaKzkmDVgV590XX1Svjk5qLF3l040sW6i3BnFOLuhmmtotCkuKAsn9XKlX+rLjgNQtMQ\\\\\\n\",\n       \"v3aVehjTqSuuG3A5DAYj3Dw8sCF7GxbEL2AQqxqtt/+X/+pgN/t3H9RJEKqmgShrg13kfA4cOIBx\\\\\\n\",\n       \"48apllHt27dX82bMmIGYmBj88ssvaNOmTY2Wp+ek3Lp1K8aMGQN/f/9yuStbtWqFyy67zMbfgoiI\\\\\\n\",\n       \"qAHZogsguxC6PAawiAj7evdTASy9G6ErBrAkv9UtMRHwdTPi7zNZ+GfJL/YuEhJ371CT8PL1Q7vJ\\\\\\n\",\n       \"F2PG0Bk4lnUMc3fORW5xrr2L6FDcikxoubs0gJXn444TsewyRY7pnnvuQevWrbF27VqEhoaqeadP\\\\\\n\",\n       \"n8a1116r/iZBrJp46qmn1L8SqJJu/t7e3vVSbiIiIiJHxgAWEeFAj94oMbqpRO7tN6zFkik3O0TX\\\\\\n\",\n       \"rLqQTjpXRIWihY+net7UyxMHNqxXed0kGbujKcjNwc5Z8+Dt54cOg4djWu9pyCzIVK2xVh9fja2n\\\\\\n\",\n       \"tqKxa3YgHV4Fpf0HD3cJhebm3Nsoua6VK1di3bp1ZcErERYWhpkzZ5YbPbCmpkyZYqMSEhERORh2\\\\\\n\",\n       \"ISQrMIBFRCjw88fRjp3Retd2hKSeQmTiUaS0aOWUNRPgZsR54UGI8faEn5sRpzauV4mPj+fmqqTq\\\\\\n\",\n       \"jkwzlSAvKxNbF/+CiL2tYHRzg4e3D64dcgXahbTDiZwT+Pv43422i2HrHf91HzzcLdyuZSGqjpeX\\\\\\n\",\n       \"V6XdkrOzs1WXv9qSfFdvvPEGFixYgISEhAqjokouPyIiIqfEABZZgQEsIlL29R2gAlh6N0JnCmC1\\\\\\n\",\n       \"9fVCuKcHpD3O6LBAeJ9KRtrxNOw+eLDCBZ4z0DQTUo4cKnuelXoKTVrHoXvbYWjm3wwH0g+o+QfT\\\\\\n\",\n       \"D+JMwRk0CpqG2H/zXxW7GXC0Y4i9S0RUpfHjx+OWW27BnDlz0K9fPzVv/fr1uO2221Qi99p65pln\\\\\\n\",\n       \"8NFHH+GBBx7A448/jsceewxHjhxRyeJl5GAiIiIiV2a0dwGIyDHE9+5f9rjdhnVwZO4GINrLQ00j\\\\\\n\",\n       \"QwPwYJNAXKTl4UItDwUH4rFmzRo18pczBq8qk37yhEr8vm7hPLQ8HYAxbv1xgdcQPNL+XrQJaoMo\\\\\\n\",\n       \"3yiE+7h2i6Tw4zkITC9Qj4+1D0aRN++/kON6++23VaL2gQMHqnxVMknXwbi4OLz11lu1Xu6XX36J\\\\\\n\",\n       \"2bNnqwCWjEQ4ceJEFdCS4JV0WSQiInJWksDdFhO5Nl4BEJGSEdkEyTEtEZV4FM0P7Yd/2mlkhzrO\\\\\\n\",\n       \"KG86X6MR97RsgtaGEjWKYHFxMVavXq0SJLu6/JxsbP7tx7LncX0G4Nae16t0ZUZ3DyxL/Qu/Hv4V\\\\\\n\",\n       \"rqjN9tSyx4e6unawjpxfcHAwfvjhBzUaoQTTRceOHVUAqy4kh1/Xrl3VYxmJMCMjo6zF1xNPPGGD\\\\\\n\",\n       \"khMRERE5LgawiKhcN0IJYIl2mzdg8+ixDlM7zb08cEeLJgh0d8OO7Fz8+NtPKrdVY3Zg4zo1Cd+g\\\\\\n\",\n       \"YHS/9lIMaTZEdS38bPdnKDIVwVXEmgWwDndxvMAqUWUkYFXXoJW55s2b48SJE2jRooVq4bVkyRL0\\\\\\n\",\n       \"6tULGzZsUHm3iIiIiFwZA1hEVGZf7/4Ytmi+etxu4zq7B7DGRwSjg1/pcPFRXh5I2rENW48dQ05O\\\\\\n\",\n       \"jl3L5YhyM9KxZdbn8PbzR5cR5+K+3vchqzBLBfmWJy7HvjP74Kz8zxSgybHSdX6yuR+yQ3ihTo7t\\\\\\n\",\n       \"sssuU7mvHn744XLzX375ZRVs+uabb2q13EsuuQTLli1D//79cffdd+Paa69VebYkoft9991no9IT\\\\\\n\",\n       \"ERHZAZO4kxUYwCKiMkmt45AZHILA9DOI3bEVHvn5KPIuDSA1FC+jAeeFBaG5tyeivT1wfEPpKIKn\\\\\\n\",\n       \"8vORmvpfKxyqqKSoCDnpZ7Dhp0WIbBULg8EIn8BAXDf0OmxK2YQSUwlyi3PxZ+KfKNFKnKYKY3f+\\\\\\n\",\n       \"1z30UHd2HyTH99dff+Hpp5+uMP/888/Ha6+9Vuvlzpw5s+zxVVddhZYtW6qcf23btsWFF15Y6+US\\\\\\n\",\n       \"ERHZmy1yWDEHlutjAIuI/mM0Yl+f/uiz9Hd4FBej9Y4tiO87sN5rqIW3p2phJYaFBCAyMw2pRxOw\\\\\\n\",\n       \"7dAh5OXlOfUakuCb5OoKbhKFU0cPN8hnmkqKkXxwf9nzzFMpiPl3VMnwmA5o2akltp7aqp4fzz6O\\\\\\n\",\n       \"k7kn4chab2P+K3Iu2dnZ8PT0rDDfw8MDmZmZdQqMDRo0SCVwFwMGDFCT5AKUvw0bNqxO5SYiIiJy\\\\\\n\",\n       \"ZByFkIjKkQCWrv2G9fVaO+Ee7ugX5If7W0XhMmOhmnyOH8WqVauwa9cupw9e6QGsTZs2oeeFl8E/\\\\\\n\",\n       \"JNQuZUhNPIq9q1eqad2i+Qg7AYzzHILx3kPxfx3uQafQToj0iVQjGRpggCPxzCtGzP509TgzyBOp\\\\\\n\",\n       \"zfzsXSSis5JE6/Pnl3bHNjdv3jx06tSp1jV4zjnnIC0trcJ8SeYufyMiInKJboS1ncjlsQUWEZVz\\\\\\n\",\n       \"uHN3FHp6wrOwEG03rYfBVALN6GbzWrokMhjjAr1RVFSETX//pRITu6rExES0a9cOvsEhyD5T8eKz\\\\\\n\",\n       \"IRUXFmDr4l/Knjfv2BlTh06EwWiEweiGjVnbMD9+PkyaCY6gxd4zcCspPSM5LN0HZchFIgcnIwJe\\\\\\n\",\n       \"eumlOHjwIEaOHKnmSe6qr7/+utb5r/SAuKGS34CMwurnx+AuERE5MebAIiswgEVE5ZR4euJg917o\\\\\\n\",\n       \"uGEd/LKz0HxfPBI71L7FgC7Mwx13tIhEqIe7auOTW2LCksW/MiG7nR3bs0tNwtPHF20nT8Czg55V\\\\\\n\",\n       \"Aay84jw1mqF0M3SE0QcPdeXog+QcJB/V999/jxdffBHffvstfHx80K1bNyxduhTDhw+v8fIkGCYk\\\\\\n\",\n       \"eHX99deXG3GwpKQE27dvV10LiYiIiFwZA1hEVIHkvZIAlmi3aX2dAlgd/bxxXngQor08kHFgH9Yd\\\\\\n\",\n       \"PKjm5+fnq7wt5DgK83Kx56MF8AkMUs+bxLbBzUNuRlJOknp+NOMolhxdAq2B2mgbSjTE7ixtsVbg\\\\\\n\",\n       \"ZcSxtsEN8rlEtjBu3Dg12UJQUFBZC6yAgAAVENNJri3Jg3XzzTfb5LOIiIjsgUncyRoMYBFRBQd6\\\\\\n\",\n       \"9oHJYIRRM6H9hnVYNmmq1bUknQ1HhwfCz80N7gYDBgX74+i2LdiXmYnk5GTWtoMzlZQg599ujofO\\\\\\n\",\n       \"pCHjZDK8/P1Vy49hfQciqlMUTuWdUkGsDckbkJpXfyNDRh/KgE9eaZDzaKcwmNyZtpGcS2FhIVJS\\\\\\n\",\n       \"UtRADuZatGhRo+V8/PHH6t9WrVrhwQcfZHdBIiJyPexCSFZgAIuIKsgNDEJiuw5oGb8b4SeOIyzp\\\\\\n\",\n       \"GE5HN6+2pvzdjGjv543+Qf6IK8hG6qnSYNX27ck4edKxR7mjqp0+nvjf48QEtOrRG8FuQfDy9UPv\\\\\\n\",\n       \"br3x25HfUGwqVt0N953ZZ9OqbL3jdNnjQ93YfZCcx/79+3HDDTdgzZo1leawkm5/tfHQQw+pZeiO\\\\\\n\",\n       \"Hj2K7777TiWGP++88+pcbiIiIiJHxgAWEVU5GqEEsES7Tf9gbSUBrCB3N3gYDPBxM+Km5hEIzEpH\\\\\\n\",\n       \"1ulk/LV5s0rOTq4lPydbjWSoi+3ZB+PaDFWP/YNDsTJ4PdadKO16mlmYiSJTHbYBTUPsttLWXSYD\\\\\\n\",\n       \"cKSTfUZwJKoNyVPl7u6On3/+GU2bNq008XptTJgwQeXDuu2225Ceno5+/fqpLoSpqal4/fXXcfvt\\\\\\n\",\n       \"t3OFERGRU7JXF8L33nsPr7zyiuop0r17d7zzzjvq+Ho2MrLwxIkT1bFZ8l5Sw2AAi4gqFd9nAM79\\\\\\n\",\n       \"srTbSrsN67D2wtIkwrqRoQG4JtSvrDXA4UP7sXTbNtZmI3J4y0Y1Cd+gYAy86DKM7Foa0CrIzcGr\\\\\\n\",\n       \"B99DWn7tRl0MOZmLkNP56vGxuCAU+HnYsORE9Wvr1q3YtGkTOnToYNPlbt68GW+88YZ6LMnho6Ki\\\\\\n\",\n       \"sGXLFixcuBBPPvkkA1hEROS87NCFcP78+bj//vvxwQcfoH///njzzTcxZswYxMfHIzIyssr3HTly\\\\\\n\",\n       \"RHXpHzq09LyXGg4DWERUqbToZjgVFY2I5CTE7NsDn8wMFAYGYVJ0GLoF+KrXrFi6RLUCIMrNSMfK\\\\\\n\",\n       \"z+eUVUTHISPwQJ8HVCssyZe1MnEl/jz2p9UV1Wb7f90HD3cLZwWTU5EufdIqytZyc3NVEnexZMkS\\\\\\n\",\n       \"1RrLaDSqJO7SnZCIiIisJ62XZRCUqVNL8/1KIOuXX37B3Llz8cgjj1T6HkkDMGnSJDzzzDNYtWoV\\\\\\n\",\n       \"r4UaGANYRFSl/X0HIOKnRTBqGm46sheBF1+s5m9ZukRdSEmCYqLK7Pn7TyTs3Aajmxs8fXwx9JKx\\\\\\n\",\n       \"6BjWEUUlRcgvyccPB39AVmFWlZUXu/2/i//DXZj/ipzLSy+9pPJVvfjii+jatSs8PMq3IAwMDKzV\\\\\\n\",\n       \"cuPi4lQ3hUsuuQSLFy/Gfffdp+ZLovjaLpOIiKgxtsCS6xhpLT19+vSyeXJTaPTo0Vi7dm2V73v2\\\\\\n\",\n       \"2WdV66wbb7xRBbCoYTGARUSV6h7gg8hzRwE/LVLPQ5cvxalWMUhKSmJ+K7JKTvqZssd5n85HaLMY\\\\\\n\",\n       \"9Ti6RSvc1u027EjdoZ4fyzqGnad3lr3WN7MQTY+UBrdSo3yREeHDGienIie/YtSoUTZN4i7dBK+5\\\\\\n\",\n       \"5hoVuJJlDxw4sKw1Vs+ePW1QciIiIufPgZWZmVluvpeXl5rMSUtpOR43adKk3Hx5vnfv3kqX//ff\\\\\\n\",\n       \"f2POnDkqVQDZBwNYRFRG0gx38vdBC29PnBseiLTscGiBATBkZqF440YkDB8GzZ27Daq53MwMNYlj\\\\\\n\",\n       \"e3ahda8+6BAQBsltPardYCzxa4oTOSdUd0P39SvVtigOsftgo7ei1yl4+nnWuR4KcxquxeiKFSvq\\\\\\n\",\n       \"ZbmXX345hgwZghMnTqhEszoJZkmrLKqZxUnOfwEyJrqHvYtARORwYmJKb5rqnnrqKTz99NN1WmZW\\\\\\n\",\n       \"Vhauu+46zJ49G+HhTG9hL7wSJWrkvIwG+BqNKpBwYUQw+rtryM7OxpZl/yAtLQ0tW8UifPt2uBUV\\\\\\n\",\n       \"IeDIEWTGxdm7yOT0NBzavKHsWeKenRg4ZASMgV3h7uWNlCP//S2pZzM7lZGo9oYPH15v1SeJ22Uy\\\\\\n\",\n       \"Z81oSURERI2lC2FiYmK5rvWWra+EBKHc3Nxw8uTJcvPlueVxVhw8eFAlb7/wwgvL5plM/9/efYBX\\\\\\n\",\n       \"XZ7/H/+c7J0AgUBC2BsEZAoiDlAUL+uWOlFb+te6UVutVm2ttf1VraPW1Toud9VqnThQQJZsFCSE\\\\\\n\",\n       \"nUA2kL3POf/reUJiwgxknPV+XdeXfM/3jHzPc0LOyf3c9/247Fez8rBp/N63b98WPgEcCQEsIIB1\\\\\\n\",\n       \"Dw/VzT27qpO71l4uKirS3PmLVFlZt/qbPTagvw1gGQnp6QSw0OqKcnO05L237H6Qy6WBS+uyIhwd\\\\\\n\",\n       \"Oujm8x/VGxnvamXeSkYePsX0xXjuuee0detWvfPOO0pJSdGrr76q3r172ywqAADQNgEsE7w6Um/I\\\\\\n\",\n       \"sLAwjR49WnPnztV5+/r8moCUuXzjjTcecHuzsvAPP9S1v6h377332sysJ5544oCsL7QNAlhAABoX\\\\\\n\",\n       \"H63zkzooOjhIH+UVKmze54e8bXGfPnIGByvY6VTcxnTprLNk07WANhC1K0eOmhq7vycxQTkf/Vfn\\\\\\n\",\n       \"XniupveZbo9llWbptQ2vqcpZxfjDa7333nu2zMCsUrRq1SpVVVU1TBKYxu6ffvqpp08RAICAN3v2\\\\\\n\",\n       \"bM2cOVNjxoyx2cyPP/64ysrKGlYlvOqqq+wE1MMPP6yIiAgNGzasyZglJCTYr/sfR9shgAUECBNy\\\\\\n\",\n       \"mt45Xn0iw9UnKkJpSxbZZV/DSksPez9XWJhKevVSwpYtCi8rU1R2tsqTk9vtvBFYYjN3NeyXpKao\\\\\\n\",\n       \"dGeGlr3wssKjo+1P8cAJk3Tz8TeroKLA9sv6Lvs7bdizwaPnDOzvT3/6k12K23zwfeutuuxC48QT\\\\\\n\",\n       \"T7TXAQCAtmvi3lwzZsxQfn6+XSQlJydHI0eO1Jw5cxoau2dkZNiVCeE9CGABfqxzWIjNtnLIoeTw\\\\\\n\",\n       \"UKVEhCl/zUot37PHZgI0V9HAATaAZcSnbyKAhbbhdismM8vuuoKDVdati92vKi+zm7Hykw/Urf8g\\\\\\n\",\n       \"BYcEKzQ8UpdNukzf5XxnM7KqndValLVIta66kljAU0wfjMmTJx9wPD4+3k4cAACAtishPBqmXPBg\\\\\\n\",\n       \"JYPGvHnzDnvfl19++ei/IVqEABbgh0ywqlt4qC7u2lG1WTtt+YpZJvaH9HRVVFQc9eMV9e8v6TO7\\\\\\n\",\n       \"n7ApXdmntF2DYn9laupjOyUqb1tdIBAHiizYo9DKulKr0uSkg6546XI6tSttfcPlwtxsDRgwyO7H\\\\\\n\",\n       \"d+mqAUMHaOGuhcosyVRpzeGzC4G2Ypq/bt68Wb169Tpg+e0+ffow8AAAAMeAABbgR2KCgzQ4JlKX\\\\\\n\",\n       \"d+sk154CZf6wVunp6S1+3JrYWJUld1N0VraicvMUVlio6n0132ie77//XieeOElle/coZ8smhu0I\\\\\\n\",\n       \"5YOlqc0rU929M8NuRnBoqIafNk2XJZ6r4G6hemr7v2wQy+lyqry2nDFHu5k1a5ZuueUWvfjii3I4\\\\\\n\",\n       \"HMrKytKSJUt0xx136Pe//z2vBAAAXlBCCN9DAAvwExckddDZcRE20+q7b+fbOu7WVNh/gA1gGfGb\\\\\\n\",\n       \"Nil/7NhWfXx/t3v3bltHb7KECGAdXHRGXQDLfPYo6X70fdacNTVa/fnHdn/QiSfrN8ff1nDdR1lz\\\\\\n\",\n       \"9HXm18f46gFH56677rJZl1OmTFF5ebktJzRLeJsA1k033cRwAgDgJSWE8C0EsAAflRgaol+ldlZs\\\\\\n\",\n       \"SLBMa8Fat1uff/6ZXTmjLRQOHKCU+fPtfvzGdAJYaFWhxaWKLCqx++WJneSMjGjR46Utmq+0xQvs\\\\\\n\",\n       \"fmzHTjrxsgs0IXmCbfxeWFmoVze8qpLquu8HtDaTdXXPPffozjvvtKWEpaWlGjJkiGJiYhhsAACA\\\\\\n\",\n       \"Y0QAC/Axg6MjNLljrHpHhqto00b9uHOnPV5SUqKampo2+76VnTurMi5OEcXFijUrclRWyhXRsiAD\\\\\\n\",\n       \"UC92Z13zdqO0Ryutcumum4Yr2V2gVf96TVHx8fZyj6EjdOPIG5VVWvc91+1ep5W5K3kx0OrCwsJs\\\\\\n\",\n       \"4AoAABwBGVhoBgJYgI8YGx9tm7Of2jFOO9d9r63Fxdq166eeQW3O4VDRwIGKWL5cQS6X4rds0d6h\\\\\\n\",\n       \"Q9vv+yNg+l+VpKa0+uNXV5TbzSjMyVFy5iCFhocrOCRUPx97nrrHdFdeeZ5d0dDldrX69wcAAMCh\\\\\\n\",\n       \"OfZtLdHS+8P7EcACvFR0cJB6RoTZfdOY3QSwyrdv1ffrVik3N9cj51Q0oL+Sli+3+wnpmwhgoVUE\\\\\\n\",\n       \"VVUpKrfA7lfFxqg6PraNR9atrPQNDZcKdmao3/DjNTZ5qHrH99aK3BX2uAloFVYVtvG5AAAAAGgO\\\\\\n\",\n       \"AliAlwlzONQxNES/7tFFCeUltil7bW25Vny+wPZR8aSSHj1UGx6ukKoqxW3eLDmdUnCwR88Jvi9m\\\\\\n\",\n       \"V44c+8r97OqDjvadPyvOz9X3c+coLDJSI06frkGJ59seRhHR0Xp6y79tIMv0zqqorWjX8wIAAAgY\\\\\\n\",\n       \"lBCiGQhgAV5kUHSEZifFKTg4WFu2bNLna9fKqwQHq7hfP3Vcv94GsWIzMlXSu5enzwo+Lnbf6oNt\\\\\\n\",\n       \"VT7YXNUVFVr+4XsNl3uNGK2bJ11vg1nGgt1L9MHmD2wwCwAAAK3H4a7bWvoY8G8EsAAvMLVTnE7u\\\\\\n\",\n       \"GKu44GCt/m6Jdu7caZdg90aFA/rbAJYRvymdABZaxulU9K4cu1sTFqryLp28ZkS3r12pHT+sacjG\\\\\\n\",\n       \"GnD5ubp7/N3KKc3RG2lvqNJZ6elTBAAAAAIGASzAA+JDgnVulwSFBQUpIsihHhHhSl/8rV1J0NNl\\\\\\n\",\n       \"gkdS3LevXEFBdY3c0zZq5+mnt3vJF/xHdE6+Qmpr7X5Z92QpKEjexO1y2nyr8uIirfv324pNTFTf\\\\\\n\",\n       \"UeN0w8gblFNWF3hblbdKG/b81FMLAAAAR/uha9/WEmRg+T0CWEA76h4RpsHREZrYIUbBWTu1e/du\\\\\\n\",\n       \"e3xFdrbKysp84rVwRkSopEeq4rfvUERxsSLy81XZpYunTws+KjYzq2G/xPS/8mK11VXam7VLK3P+\\\\\\n\",\n       \"p+6Dhyk6NFQhoWG6dOKlWpK1ROW15apx1Wh5znL7FQAAAEeBABSOgAAW0E6Bq27hobq0W0eVZWao\\\\\\n\",\n       \"cMMOpaWl+ezYFw0caANYRkJ6unIIYOFYuN2K3VkXwDJZfWUpXX1iHN0ulzLXf99weU/2Lg0bcpzd\\\\\\n\",\n       \"j+3YScOGDdPXGV8ruyxbZTW+EZgGAAAAvB0BLKANmII6UxpoTEyI1YyECFVUVGjjsu+0Y0dd4MeX\\\\\\n\",\n       \"FfXvL33+hd2PNwGsSZM8fUrwQeF7CxVaVm73y7t1kSs0VL5o984MuxnBIaEacfpZujb553IEBemJ\\\\\\n\",\n       \"rc+rsKpQLrdL1a5qT58qAACAV6KJO5qDABbQymKCg3RzzyT1Da67XF1drQULFmjv3r1+M9bVCQkq\\\\\\n\",\n       \"79JFUXl5isnKVmhJiWpiYz19WvAxsRmNygdN/ys/4Kyt0arPPrT7AydO1m9HzW647pPsL/RVxlce\\\\\\n\",\n       \"PDsAAAAvRQ8sNAMBLKCV9IoM02XdOqlDaIjSSiv049w5crvdcjqd9qu/KRrQ3wawjPhNm1QwapSn\\\\\\n\",\n       \"Twk+JiZjl8/0vzoWGxcv0OblS+wqhlFxCTrh5+dqVNIoZRZn6p30d1TrrmteDwAAAODICGABx8gU\\\\\\n\",\n       \"CJ6ZGG97WxlDYiKV9cNa/VBQoD179vhl0KqxwgED1G3hooYyQgJYOBohZeWK2lto98s7JKg2Osov\\\\\\n\",\n       \"B9BZU9fMvbggT2tefEMxHTtp4AmTdP3I61VQXiC33FqavVTbi7d7+lQBAAA8hhJCNAcBLOAoRQY5\\\\\\n\",\n       \"ND4hRv2iIpQaEabCfc2cNxQXKycnJ2DGs7xbN1VFRyu8rEyx27YrqLparrAwT58WfHD1wdKeKQoE\\\\\\n\",\n       \"VeVldvvuf+8qdcgwxQUHKywySteOuVbzMucppyxHP+750dOnCQAA0P4oIUQzEMACmik+JFhJYaG6\\\\\\n\",\n       \"IKmDEkv2qjhvt75fv16VlZWBOYYOh4oHDlDnVasV7HQqdts2uzoh0BwxjQJY/lg+eDjOmmptX7uq\\\\\\n\",\n       \"4XJhbrbG9BuoxB6n6suYBdpcuNkeN6sYVjoD9PcLAAAAsB8CWMBhhDrqVhI0ZYI39UxSZFmJ8rMy\\\\\\n\",\n       \"NG/lSr8vEWxuGaEJYBkJG9MJYKFZgmpqFJ1T1z+tOipSVR0SAnrkcjan2y02sbNOOn26Tu0+XkHB\\\\\\n\",\n       \"wcoLK9GL615UcXWxXcUQAADAX1FCiOYggAUcwkVJHXRWXETD5XXfr1F6ejrj1UhJr16qDQ1VSE2N\\\\\\n\",\n       \"beQul0sKCmKMcFjRu3IUZH5WTPlgaorN5oNUUpCvb998pW4oHA4NnzJN94/8nWqrq/SPLf/SjuId\\\\\\n\",\n       \"DBMAAPBPlBCiGQhgAY1EBDl0VXKiUiLCZMIwX331hS0RNNlWNfuaMeMn7pAQlfTpow4bNyq0okLR\\\\\\n\",\n       \"u3apLDWVIUKz+1+V9Ais8sFmc7v1/VdztOHbeUoeMEi/PO2X2lu11161pXCLPtzyoW0ADwAAAAQK\\\\\\n\",\n       \"AliApKSwEJ2eGK+eEWEqrnVqx+JvtXfvXlVXVzM+zSgjNAEsIyF9EwEsHJ7LpeiddQGs2pAQlSV1\\\\\\n\",\n       \"ZsQOo6aqUjt+WKO92VkKi4pSUFCQxpx4sroO72qbvn+540uV15YzhgAAwLeRgYVmIICFgHV8bJTi\\\\\\n\",\n       \"Q4NtptW0xHiVbd+qoqIibd+6Va595U04suJ+feV2OORwuxW3caN2TTmNYcMhReUVKLS6LpuxLKWr\\\\\\n\",\n       \"FBzMaDXn/1lBXc8wozA3R90HD9PQlO7qPfxXWpazzB7PLcvVlqItjCcAAPA59MBCcxDAQkAJdkg9\\\\\\n\",\n       \"IsI0Ki5aY+OjVZu10x7PWrtVmzfXrfyFo1MbHa2SlBTF7dypqD17FL57t6o6dWIY0YzywRRG6RhU\\\\\\n\",\n       \"V5Rr66pl2rZmhQaeMEmTOxxnjyf2O1v/zf7E9srKKs2ixBAAAAB+hQAWAoJpER0e5ND/S+2iwQ6n\\\\\\n\",\n       \"ysvLtXTOfJWVlXn61PxC8cABNoBVX0aYO4EAFg7C7VZMxq66XYdDpSYDC8fM7XIpbfGChsudUlJ1\\\\\\n\",\n       \"9mlnKLxrtBYXr9QHWz7YN+ymWxb9sgAAgBejhBDNQAALDbZv364HH3xQX3/9tXJycpScnKwrrrhC\\\\\\n\",\n       \"99xzj8LCwnx2pBJDQ3RLzyQlO1zKz8/Xp4sXy+l0evq0/K4PVve5X9t9U0aYO+EET58SvFBYUYnC\\\\\\n\",\n       \"S+uCxmVdEuUKD/f0KfmV3bsyNe/VfysiJlbjz79EJ437iz1eWVaqv299VnnlP5UhAgAAeBPTjsRs\\\\\\n\",\n       \"LX0M+DcCWGiQlpZmez8999xz6tevn9atW6dZs2bZLKVHHnnEp0bq9E5xtkTQ6BgaosWFpVr97VxV\\\\\\n\",\n       \"VVV5+tT8kikZLO/YQVF79ip21y4Fl5fLGRXl6dOCl4nNrMu+MkopH2wzlaUlWvD6SwqLiLSXewwb\\\\\\n\",\n       \"oV+f8GvtqdyjrzO+1rrd69rumwMAAABthAAWGpx55pl2q9enTx9t3LhRzzzzjE8EsEIc0vTOCeoW\\\\\\n\",\n       \"Hqo+keHa+t0S1dbWaldtraoKCjx9en6veOBARS1Zamc+4jdt1p4Rwz19SvAy9eWDRkn3ZI+eSyCU\\\\\\n\",\n       \"F1aV12W7bVq2WAWZOxTbKVEzpszQkIIhcrqddvXCr3Z8pRpXXVN9NLVgwQL97W9/08qVK5Wdna33\\\\\\n\",\n       \"339f5513nt8Mk78/PwCAj6GEEM1AAAuHZVbl69ix42FvY7KaGmc2FRcXt9uopphgVVRdGdLI2ChF\\\\\\n\",\n       \"BwerdtMGrcrMVGlpabudB6TC/gPUdclSOxQJm9IJYKGJ4IpKRRXssfsV8bGqiYthhNrR3uxddivZ\\\\\\n\",\n       \"XaDE1J72WOceg9RzWE+tzl+tjXs2qrCqkNekEZN9PGLECF177bW64IIL/G5s/P35AQB8C6sQojkI\\\\\\n\",\n       \"YOGQzKp8Tz311BGzrx5++GH94Q9/aNeR7BIWou4RYboiuZOqsrNs6WNVzh6tXbvWZl2h/ZV1T1FN\\\\\\n\",\n       \"ZKRCKyoUu2WrHLW1cofwKwZ1Yndm2cUUjNIe3RkWDweyjK2rlmvwSadoWscJmjJiit7e+LZ2V+4m\\\\\\n\",\n       \"kLXPWWedZTd/5e/PDwAA+J8gT58A2t5dd90lh8Nx2M30v2ps165dtpzw4osvtn2wDufuu++2mVr1\\\\\\n\",\n       \"W2ZmZps+n6md4vRQaif9Ij5cm75bqoULF2rx4sW2DILglQcFBamof3+7G1JTo9jt2z15NvAyMRlZ\\\\\\n\",\n       \"DfulqZQPegNnbY3WffOllrz3popWpOlXPa/U74f9RoM7Dvb0qQEAgEAtIWzpBr9GekQAuP3223X1\\\\\\n\",\n       \"1Vcf9jam31W9rKwsnXrqqZo4caKef/75Iz5+eHi43dpSsKSrUxI1Oj5aZU6Xvvnycxssg3cpGtBf\\\\\\n\",\n       \"id9/b/cT0jepuF8/T58SvIDJxovOzrH7NRHhqkg8fFky2l/6d4vsltSnn6742RUKDjK/daUNuzfo\\\\\\n\",\n       \"9Q2vq9btP5mt+5e5t8d7mD/wZLsAAID/o4QQzUEAKwB07tzZbs1hMq9M8Gr06NF66aWXFBTkuSS9\\\\\\n\",\n       \"3pFhujCpo4IdDkUFB6nS5dL8Tz5WRUWFnE6nx84Lh1bcp4+cwcEKdjoVt3GjdNaZkqO+cAyBKjo7\\\\\\n\",\n       \"T8FO10/ZV/xMeK3crZu1+5nnFBIapqDgYKVcPEWzx8zW7ordem/Te35RXpiamtrk8v33368HHnjA\\\\\\n\",\n       \"Y+fjKzzRLgAAAKAxAlhoErw65ZRT1LNnT9v3Kj8/v+G6rl27tttIjY6L0oDoCI2Ji1b2+h+0p6hI\\\\\\n\",\n       \"pvVzXl4eJYJezhUWppJevZSwZYvCy8oUlZ2t8mTKxQJdbGaj1QdTUzx6Ljiy2qoquxlbX/nQNn3v\\\\\\n\",\n       \"0quvrht+ndL21pWbZxZnamXeSp8cTlPmHhcX13CZ7KvmMe0CZs+e3SQDa/9gIAAAx4xVCNEMBLDQ\\\\\\n\",\n       \"4Msvv7SN283WvXvTJstud9sVFEcGBWlEbKTtxWWas0/uEKu8tB+Vtm6PLWeEbykaOMAGsIz49E0E\\\\\\n\",\n       \"sAKd263ozLr/xyY7r6xbF0+fEY6Cs6bGZmWZrUfeCHWPjbMZdBOHnqtuMd2UWZKpHwp+kMtdl2Hn\\\\\\n\",\n       \"C0zwqnEAC81DqSUAoC1RQojmIICFBqZP1pF6ZbWm6OAgdQoNsSsJJpYWqaqqUq4Kl1avWqq9e/fy\\\\\\n\",\n       \"yvioukbun9n9hE3pyj7lZE+fEjwosmCPwirrsnnKuiWxMqUPy1i3tmE/a+MGHTdhkiYkjtCIziP0\\\\\\n\",\n       \"5Y4vbZlhtata/qK0tNRO6NTbtm2b1qxZo44dO6pHjx7ydf7+/AAAgP8hgAWP6BERppt7JimmqkLZ\\\\\\n\",\n       \"uzL09cqVbZrlhfZTExursm7dFJ2drajcPIUVFqo6IeGoHmP58uX66KOPlJuba8tGTQmrWe590qRJ\\\\\\n\",\n       \"bXbeaPvywdIeB5aTfrl8leavWqvM3LqS5T4p3XTZGaepP6WGXq1kd75WfPy+QsMjNHr6uZo94Abl\\\\\\n\",\n       \"Bhfq+e+fV3G1fzT3XrFihe0JWa++fG7mzJl6+eWX5ev8/fkBAHwMJYRoBgJYaFcnJERrRtdOCgty\\\\\\n\",\n       \"6P3cvQqf9zmvgB8qHDDABrCM+E2blD927FHdPyYmRj/72c/UrVs3hYSE2KyAF154wZb9DB8+vI3O\\\\\\n\",\n       \"Gm0hOmNXw2eSku4HBrDWb92uSSOGaWCPVIWFhOiDBYv04Euv6e+3XK9O8ZR5ebuaqkotff9tW1YY\\\\\\n\",\n       \"f+kk3T3ubltOaLZPt32qJdlL5KtMT0h/nljx9+cHAPDNMkLgcAhgoU1FBjl0WbdO6hAaYhce6xYe\\\\\\n\",\n       \"qnXfzldhYaHCKysZfT9VOHCAUubPt/vxGzdqx9Chdvn1iIgIu5l+Z8ayZcv0/vvv20wr01/FLCBw\\\\\\n\",\n       \"6623avDgwU0eb9q0afr222+1ePFi7dy5U9OnT2/2uXz66afq3bv3AY+JtuF0ulRWWSmny6UONbWK\\\\\\n\",\n       \"LCqxx3OjI3XL8y8rZ/cehYWGqndyV/32yhm6dcYFTe5/3QXnaOn6DfphyzadMmoEL5OvcLtV9Ma3\\\\\\n\",\n       \"WhK71v7/jopP0LTzp2tU0ihlFGfok22fePoMAQAA4OMIYKHNnNslQSO7dlFRrVMlq5fbY5lFRSop\\\\\\n\",\n       \"qfuDFv6rsnNnlUZHKaasXFHbtuv2669XqauuyXNUVJQmT56sMWPG6J///KdmzJhh9ysrK7Vx48YD\\\\\\n\",\n       \"HstkCPz44492lUzT1H/RokVyOp0655xzjngepgzxP//5j8LCwnTHHXcQxGrDoNXKjZv0+dLl+n7z\\\\\\n\",\n       \"VpttZVzZoYOGdEmy+2/uyNCp40dr/NBBqqiq0obtGSbmcYDqmhr7eDFRkW11umhDFSV15YPlxUUq\\\\\\n\",\n       \"f+VNxXdJ0tixE9R1WFfN31wX1AYAADiA+WDY0sxgMov9HgEstJkhxbtVWZivjE2b5NoXvID/27p1\\\\\\n\",\n       \"q1577TVdVFSkKzt0VKjDoTtOm6KNnRNVXV1tg1ALFizQnDlz7O3NMuydO3du2K9XXl6um2++2fbA\\\\\\n\",\n       \"CgoK0qhRo2zGlmGCUsbhglj1wSvDfF/ToJgsrNZlgotfLV+ld79eoN3FJerRKUHnHj9U8ZERCgpy\\\\\\n\",\n       \"6KI9ZZKz7oPI3JISpWbn6Ixxo9WlQ4J6dq0LbO3vtTlz1SEuVsP79mnls0V7Ky8qtNvunRnqNWK0\\\\\\n\",\n       \"hmXE8iIAAICDYhVCNAcBLLSZVatWKTKSLIpAe83/8Y9/KDExUc5Ro82yVvb4eIdD7gED7P6wYcN0\\\\\\n\",\n       \"2mmnad26dba8769//asGDRqkiRMnaty4cYqOjra3M6WGDz30kM3MWr9+vf73v//Zni3z5s07YhCr\\\\\\n\",\n       \"cfDKuOSSS46q7BBH5nK59fInn+vTJcs0qkeyrhg3XKkdf2rWH1rrVM/8UrtfHBqswtBgbV39vVak\\\\\\n\",\n       \"peuiUyfr1NEjFLPf74f35y/Uou/X6YFfzlRYKG9P/qK6okLpSxeqfN9qlAAAAMCxCDqmewHAfkyZ\\\\\\n\",\n       \"35NPPql+/frpmmuuUdTYMaoODbXXdcvOlqNRFp5pzD5y5EjddtttdoXBTZs26ZNPPtGdd96pvLy8\\\\\\n\",\n       \"ul9OQUFKSkqyfbFM8Gns2LHavXu3DUbVM0EqE6w6UvCqOeWGODqvfzFXny1ZpgtGDdNlJxzfJHhl\\\\\\n\",\n       \"dC4pb3iDKUiI0d3TT9UlY4arurpGb37xtW5+9Gnl7tnbcPv/fbtY789fpHuvuUK9uh08OwsAAAB+\\\\\\n\",\n       \"vgphSzf4NQJYAFqsrKxMTzzxhA02XXjhhQoNDZU7KEjZ3brZ68NqatQ5P/+A+5kMPRPsMoEqU+Zn\\\\\\n\",\n       \"AlsrV648ZLlaTU2NDUYdKohF8Kp9LN+wUf9bsFjnjByiif16HvQ2XYrKGvZz46JtY+9xfVJ1w2kT\\\\\\n\",\n       \"7GtZVVOjZT+m2evNyoPvff2t7r36cvU7yEqFAAAA8G8OV+ts8G/UaABosYULF9pVBs8//3wFBwc3\\\\\\n\",\n       \"HN+VkqKeGRl2f9CGNLnlUEHnRBvcMqsJmr5Uffv21ZQpU/Tqq6/arKvk5GR9+OGHduVAE9gyQau1\\\\\\n\",\n       \"a9fa5u1XX321faz6jKr6TCvz9eOPP7Z9s+qRedV2Pl64VL0TO2rygN4HXul2q1NJhboU1wWwqoMc\\\\\\n\",\n       \"WltZoU0ZuzSga6JiwsM1NCVJazKy1DEuzmZdvf3VPLsaYecOCdpbUld2GBEWpsjwsDZ8FgAAAAB8\\\\\\n\",\n       \"CQEsAC1v5P3VV7ZBekxMTJPrglxOm8nrMGWEOTl2K4+M1KpRo5QfEa4dO3Zo6dKlNvhlsq86duyo\\\\\\n\",\n       \"ESNGKD09Xa+88or27NljVxDs1q2brrvuOp1wwgkNj71/EIvgVfvIzM3X+m07dPkJxx9wXVJhqYZk\\\\\\n\",\n       \"FSiyxtlwLMgtDahx6vOCPVqwaZuqamptk3eTkbWnuFhffLdCtU6nHnnjnSaPdfFpkzVj6int8pwA\\\\\\n\",\n       \"AADgYa1RAkgJod8jgAWgxb2vcnJydOaZZzY5npK5U+O/q1s1sLHIigqduGiRdOKJ6nzFFQ3HTaP2\\\\\\n\",\n       \"d99912ZmXXzxxXY7EhPE2j/zKioqip5XbeiLZSsVExGu41K6HhC8GrUj94DbB7vdOjWvWPHDhyg3\\\\\\n\",\n       \"4acA5+tLV+vzpSv0zztvtsEsAAAABC5WIURzEMAC0CJbt261Kwb26NGj4Zhp2D5q1aq6/f1u79g3\\\\\\n\",\n       \"OTJu2TJtLCyU9gUvBrlc6typkzp/84269ezVrO/95po1TYJXhrk878mndOnIkV73yjo2bZLKS5WY\\\\\\n\",\n       \"uUO+anROviamJGtQfuFPB91u9S4oOuzrbTKzcuOjG17voclJWr10tcoqKw9YjRAAAAAA9kcAC0CL\\\\\\n\",\n       \"G7ibZuyNs2gS8wsUVVFxyPs49jV2P279+ibHRyR2lnZk1G1H8MLu3fp3wU+N4eOCglS8b6XDfy9f\\\\\\n\",\n       \"prht2zSrUyd5oy7yXZeFhdft5P60guCRmNfblBV2LKvUnpi6YFXUvv5WZRUEsAAAAAKe220nRVuk\\\\\\n\",\n       \"pfeH12MVQgAt+yUSFGT7YDUWWXno4FVrMMGrvzcKXt2W2FlL+w+wX+uZ683t4D3Ca2ob9ut/ZszP\\\\\\n\",\n       \"DwAAAAJbfQlhSzf4NzKwALSIadxusrCcTmfDCoQVEc0rCVszfLiKEhLsfnV1le2BNX36dA0ZMuSQ\\\\\\n\",\n       \"93l34UK9ujGt4fKVU6bolEmTtEmSafldYK6fO7chiFUwYrgumjTJK17lPn36SsV7tGtD08wzX/LK\\\\\\n\",\n       \"Z18q1OXUlMF9G47FVlRpUM6RM7KqQn96yymqqLRfKR8EAAAA0BwEsAC0yHHHHac333xTGzdubAg8\\\\\\n\",\n       \"FXROtKsNmobtB2vPbSZHyqMilT5ooNz7MnCWLVumRRUVuvikk1TcocNBv9dHH32k/+wLThmXXHKJ\\\\\\n\",\n       \"zjjnHBU3us0Z/fqpqlOnhtUJTTDLXK5ftdCjTF+ughyVluyRr3L17aU3v/lW/Y8frMiwUHssPzZK\\\\\\n\",\n       \"PXcXK6LGecjXuzI0WHuiIxqOrc7I0oDUFEXuKyUEAABAAGMVQjQDtRsAWiQ1NVUDBgzQ8uXLG46Z\\\\\\n\",\n       \"oNSqUaPq9ve7ff3l1cePaghemXKyFStWaPTo0epwiODVp59+2hCUqg9eHSooZY6b6+uZ+5n7o+Wm\\\\\\n\",\n       \"jjleLvN6bd/500GHQz8mJ9a9lvvdvv6yvX5fn7S84lJtyi3QmSeM5SUBAAAAJYRoFgJYAFps6tSp\\\\\\n\",\n       \"2r59u3JzcxuO7UrtrkUnnqiK/VaYM5lX5ri5vvFKhvn5+fZxDqV3794KCws7YvDqYEEscz9zf7Rc\\\\\\n\",\n       \"h7hYjRs6SIu3ZMi5r2m+kZsQo1U9k2ymVWPmsjlurq+3cPN2xUZF6oRhhy4VBQAAAIDGKCEE0GJj\\\\\\n\",\n       \"x45V165dbabTL37xC0VFRdnjJkiVlZJsVyU0jd1NbyxTXlifeWUUFhbqgw8+UL9+/TR48OBDfg9z\\\\\\n\",\n       \"3R133KFt27bZPlnNYYJYpi+XCV4d7rFxdM49aaLuWZ+md1b8oBljhzesQGmCVLnx0Xa1QdOw3fS8\\\\\\n\",\n       \"smWDjVaoXJORpcWbd+jyaVMU1qgnFgAAAAIYqxCiGcjAAtBiISEhuvPOO1VTU6NXXnlFRUVFDdeZ\\\\\\n\",\n       \"YFV+Uhdl9OxpvzYOXpmsK3P7iIgI3XrrrQ2BkEMxQajmBq/qmdsTvGpd/bon64aLzrVlhO+s+L5J\\\\\\n\",\n       \"JpYJVu2JiVR2h1j7tXHwytz+je/W6KSRx+m8yRNb+awAAADgq1iFEM3B9DeAVtGlSxfde++9+tvf\\\\\\n\",\n       \"/qbnnntOxx9/vMaMGXPQnlZ5eXm259XatWvt/UxmVXx8PK+ED5k88jg7U/b0ex9qx54indi3p0b1\\\\\\n\",\n       \"TFHEfllVLpdbaTl5tuQwLTtPU8Ycr1nnTj9isBIAAAAAGiOABaDVJCcn64EHHtAnn3yi+fPna8mS\\\\\\n\",\n       \"JerTp486d+5s+1BVVVUpJydHO3bsUFxcnM4880ydffbZDSWH8C2Tjx+ubomd9P78hXp/9Xp98n2a\\\\\\n\",\n       \"hqYkKT4yQsEOh8qra5SWk689ZeXq3a2rbrr4PBv4IngFAACAJliFEM1AAAtAqzKZVJdddpkuvPBC\\\\\\n\",\n       \"fffdd1q4cKFt8F5ZWanIyEglJibqhhtusNlZpvQQvq1/aop+c8UM7S4q1lfLV2llWrp2FhfI6XQp\\\\\\n\",\n       \"OjJCwwf217TxY2zZIYErAAAAHK6EsCVaen94P/56BNAmwsPDNXnyZLvB/3WKj9OMqafYDQAAAABa\\\\\\n\",\n       \"GwEsAAAAAADgOS533dbSx4BfI4AFAAAAAAA8hx5YaIaf1rMHAKAF1m/drg+/XXJU9zG3N/cDAAAA\\\\\\n\",\n       \"gMMhAwsA0GImCPXnV95UVU2NnC6nzj950hHvY1YvfP3zrxUeGqrfzbxUQ/v04pUAAAAIQI5WaMJu\\\\\\n\",\n       \"HgP+jQwsAECLbdmVbYNXhglKmeBUc4JXhrmfuT8AAAAClNvdOhv8GgEsAECL/eykCbp82mkNlw8X\\\\\\n\",\n       \"xGocvDLM/cz9AQAAAOBQCGABAFqFKRs8UhDrYMGr5pQbAgAAwH+Z8sHW2I7W008/rV69eikiIkLj\\\\\\n\",\n       \"x4/XsmXLDnnbF154QSeddJI6dOhgt6lTpx729mh9BLAAAO0SxCJ4BQAAgMOuQtjS7Si8/fbbmj17\\\\\\n\",\n       \"tu6//36tWrVKI0aM0LRp05SXl3fQ28+bN0+XXnqpvvnmGy1ZskSpqak644wztGvXLl7UdkIACwDQ\\\\\\n\",\n       \"5kGsmX/8PzKvAAAA4DUee+wxzZo1S9dcc42GDBmiZ599VlFRUXrxxRcPevvXX39dv/71rzVy5EgN\\\\\\n\",\n       \"GjRI//rXv+RyuTR37tx2P/dARQALANDmQayyysqGfcoGAQAA0JjD7W6VzSguLm6yVVVVHTDY1dXV\\\\\\n\",\n       \"WrlypS0DrBcUFGQvm+yq5igvL1dNTY06duzIi9lOQtrrGwEAAi+I9cH8xU2CV9EREfS8wlEp33WF\\\\\\n\",\n       \"aiNjWjxq1RWlkl5i9FvZ++k/KC7WN+dDpyWP9PQpAADqufZtLbHv/qa0rzFTIvjAAw80OVZQUCCn\\\\\\n\",\n       \"06mkpKQmx83ltLS0Zn273/72t0pOTm4SBEPbIoAFAGgTpudV4+CVYS6b4zRuBwAAQFvIzMxUXFxc\\\\\\n\",\n       \"w+Xw8PBW/x5/+ctf9NZbb9m+WKYBPNoHASwAQKvbv2G7ybyqD2bVHyeIBQAAAKNxCeCxqr+/CV41\\\\\\n\",\n       \"DmAdTGJiooKDg5Wbm9vkuLnctWvXw973kUcesQGsr776SsOHD+cFbEe+mfMNAPBaB1tt8JX7fnPI\\\\\\n\",\n       \"1QkBAAAQ4Np5FcKwsDCNHj26SQP2+obsEyZMOOT9/u///k8PPvig5syZozFjxrT0WeMokYEFAGjT\\\\\\n\",\n       \"4FV9plX91/rrycQCAACAp8yePVszZ860gahx48bp8ccfV1lZmV2V0LjqqquUkpKihx9+2F7+61//\\\\\\n\",\n       \"qvvuu09vvPGGevXqpZycHHs8JibGbmh7BLAAAG0evKpHEAsAAAAHMOV/LSwhPNr7z5gxQ/n5+TYo\\\\\\n\",\n       \"ZYJRI0eOtJlV9Y3dMzIy7MqE9Z555hm7euFFF110xCbxaBsEsAAALfbht0uOGLw6XBArOChYPzvp\\\\\\n\",\n       \"0OnaAAAA8F8Od93W0sc4WjfeeKPdDsY0aG9s+/btx3pqaCX0wAIAtFjflG4KDw09YvCqnrm+vieW\\\\\\n\",\n       \"uZ+5PwAAAAAcChlYAIAWG9qnl34381Jt2ZXd7EwqE8QymVcmeGXuDwAAgADlgRJC+B4CWACAVmGC\\\\\\n\",\n       \"UEcbiKJsEAAAAA6X7NYSLb0/vB8lhAAAAAAAAPBqZGABAAAAAADPoYQQzUAACwAAAAAAeI5pX9XS\\\\\\n\",\n       \"Fla0wPJ7lBACAAAAAADAq5GBBQAAAAAAPMbhdtutpY8B/0YACwAAAAAAeA49sNAMlBACAAAAAADA\\\\\\n\",\n       \"qxHAAoB2EBwcrA4dOshZW8N4AwAAAI2Z6j9XCzcqCP0eJYQA0A5Gjx4tlRZp25qVjDcAAADQCD2w\\\\\\n\",\n       \"0BxkYAFAO4iNjdXW1SvkrCEDCwAAAACOFgEsHFRVVZVGjhwph8OhNWvWMEoAAAAAgLbhbtTI/Zg3\\\\\\n\",\n       \"Xhx/RwALB/Wb3/xGycnJjA4AAAAAoG21OHi1b4NfI4CFA3z22Wf64osv9MgjjzA6AAAAAADA42ji\\\\\\n\",\n       \"jiZyc3M1a9YsffDBB4qKimp2uaHZ6hUXFzOqAAAAAIDmMasIOlrhMeDXyMBCA7fbrauvvlrXXXed\\\\\\n\",\n       \"xowZ0+yRefjhhxUfH9+wpaamMqoAAAAAgKNahbClG/wbAawAcNddd9lm7Ifb0tLS9NRTT6mkpER3\\\\\\n\",\n       \"3333UT2+uX1RUVHDlpmZ2WbPBQAAAAAABB5KCAPA7bffbjOrDqdPnz76+uuvtWTJEoWHhze5zmRj\\\\\\n\",\n       \"XX755XrllVcOel9z+/3vAwAAAABAs7RGE3YysPweAawA0LlzZ7sdyZNPPqk//elPDZezsrI0bdo0\\\\\\n\",\n       \"vf322xo/fnwbnyUAAAAAICARwEIzEMBCgx49ejQZjZiYGPu1b9++6t69OyMFAAAAAAA8ggAWAAAA\\\\\\n\",\n       \"AADwHDKw0AwEsHBIvXr1sisTAgAAAADQZlxmKcJWeAz4NVYhBAAAAAAAgFcjAwsAAAAAAHiMw+22\\\\\\n\",\n       \"W0sfA/6NABYAAAAAAPAcemChGSghBAAAOIinn37a9oOMiIjQ+PHjtWzZMr8bp0B4jgAAwD8QwAIA\\\\\\n\",\n       \"ANjP22+/rdmzZ+v+++/XqlWrNGLECE2bNk15eXl+M1aB8BwBAD7C5W6dDX6NABYAAMB+HnvsMc2a\\\\\\n\",\n       \"NUvXXHONhgwZomeffVZRUVF68cUX/WasAuE5AgB8rISwpRv8GgEsAACARqqrq7Vy5UpNnTr1pw9M\\\\\\n\",\n       \"QUH28pIlS/xirALhOQIAAP9CE3cAABAwiouLm1wODw+3W2MFBQVyOp1KSkpqctxcTktLkz842udY\\\\\\n\",\n       \"VVVlt0ONIwAALdMaGVRkYPk7MrAAAEDASE1NVXx8fMP28MMPe/qUfIIZp8bjZsYRAIBWQwkhmoEM\\\\\\n\",\n       \"LABoYwkJCYqOjlZ1RQVjDXhYZmam4uLiGi7vn31lJCYmKjg4WLm5uU2Om8tdu3aVPzja53j33Xfb\\\\\\n\",\n       \"hu+NM7AIYgEAgPZEBhYAtCGHw6FJkyZpy5IFKszJYqwBDzPBq8bbwQJYYWFhGj16tObOndtwzOVy\\\\\\n\",\n       \"2csTJkyQPzja52jGaf+xAwCg1bAKIZqBDCwAaOMAlvlDMfPHdYwz4ENMttHMmTM1ZswYjRs3To8/\\\\\\n\",\n       \"/rjKysrsin3+IhCeIwDAR7hddVtLHwN+jQAWAADAfmbMmKH8/Hzdd999ysnJ0ciRIzVnzpwDmp77\\\\\\n\",\n       \"skB4jgAAwH8QwAIAADiIG2+80W7+LBCeIwDAh5q4t/Qx4NcIYAEAAAAAAM/2wJK7FR4D/owm7gAA\\\\\\n\",\n       \"AAAAAPBqZGABAAAAAADPoYQQzUAACwAAAAAAeI6tIGxpD6zWOhl4K0oIAQAAAAAA4NXIwAIAAAAA\\\\\\n\",\n       \"AJ5DCSGagQAWAAAAAADwHJfL/NMKjwF/RgkhAAAAAAAAvBoZWAAAAAAAwHMoIUQzEMACAAAAAACe\\\\\\n\",\n       \"QwALzUAJIQAAAAAAALwaGVgAAAAAAMBzXG6ThtUKjwF/RgALAAAAAAB4jNvtsltLHwP+jRJCAAAA\\\\\\n\",\n       \"AAAAeDUysAAAAAAAgGebuLe0BNA8BvwaASwAaEOhoaGMLwAAAHDE4BMBLBweJYQA0EZCQkJ08phR\\\\\\n\",\n       \"yk3foJrKCsYZAAAAAI717ytGDgDaRocOHRQWGaWF/3mNIQYAAAAOxeWSHC1swk4Td79HAAsA2pCz\\\\\\n\",\n       \"tkZu84YMAAAA4OAoIUQzUEIIAAAAAAAAr0YGFgAAAAAA8BhTseBuYQmhmxJCv0cACwAAAAAAeA4l\\\\\\n\",\n       \"hGgGSggBAAAAAADg1cjAAgAAAAAAnuNySw53K2RxwZ8RwAIAAAAAAJ5jg08tXLmbAJbfo4QQAAAA\\\\\\n\",\n       \"AAAAXo0MLAAAAAAA4DFul1vuFpYQusnA8ntkYAEAAAAAAM9xu1pnO0pPP/20evXqpYiICI0fP17L\\\\\\n\",\n       \"li077O3feecdDRo0yN7+uOOO06efftqCJ42jRQALAAAAAAAElLfffluzZ8/W/fffr1WrVmnEiBGa\\\\\\n\",\n       \"Nm2a8vLyDnr7xYsX69JLL9UvfvELrV69Wuedd57d1q1b1+7nHqgIYAEAAAAAAM+WELbCdjQee+wx\\\\\\n\",\n       \"zZo1S9dcc42GDBmiZ599VlFRUXrxxRcPevsnnnhCZ555pu68804NHjxYDz74oEaNGqV//OMfrTQK\\\\\\n\",\n       \"OBICWAAAAAAAIGBKCKurq7Vy5UpNnTq14VhQUJC9vGTJkoPexxxvfHvDZGwd6vZofTRxR6urb55X\\\\\\n\",\n       \"UVHB6CKgFRQUaMPy71ReWeXpUwE8rqKq6pgarNZUlLXK92+tx4GavI7FpS1c8tyDat01nj4FAC1U\\\\\\n\",\n       \"XFzMGHrB+LdG8/Ra1UjuVniMg/xchIeH223/z+lOp1NJSUlNjpvLaWlpB338nJycg97eHEf7IICF\\\\\\n\",\n       \"Vrd792779ZZbbmF0AQAHvEfEx8cfcVTCwsLUtWtX/ffOn7XaCJrHM4+LlispKbFfe47a7sPDudXT\\\\\\n\",\n       \"JwCghZrzfoL2eU841tei/v1+YU7rNEOPiYlRampqk2Omx9UDDzzQKo8PzyKAhVbXsWNH+zUjIyNg\\\\\\n\",\n       \"31RM1N/84szMzFRcXJwCEWPAGPBzwP+HxoqKitSjR4+G94gjMav7bNu2zab4txbzIdk8LlouOTnZ\\\\\\n\",\n       \"vsfFxsbK4XC0+pD6w3uIrz8Hzt/zeA0Yf2//+TGZVyZ4Zd4TjlVrv9+bc9r/fWn/7CsjMTFRwcHB\\\\\\n\",\n       \"ys3NbXLcXDYBtYMxx4/m9mh9BLDQ6kztsGGCV774ga01mefPGDAG/Bzwf4HfCQe+RzT3Qy0BJ+99\\\\\\n\",\n       \"Hbt3797m38cffn/6+nPg/D2P14Dx9+afn9ZIWPDE+72Z1Bo9erTmzp1rVxI0XC6XvXzjjTce9D4T\\\\\\n\",\n       \"Jkyw1996660Nx7788kt7HO2DABYAAAAAAAgos2fP1syZMzVmzBiNGzdOjz/+uMrKyuyqhMZVV12l\\\\\\n\",\n       \"lJQUPfzwww0tck4++WQ9+uijOvvss/XWW29pxYoVev755z38TAIHASwAAAAAABBQZsyYofz8fN13\\\\\\n\",\n       \"3322EfvIkSM1Z86chkbtpiVO48zxiRMn6o033tC9996r3/3ud+rfv78++OADDRs2zIPPIrAQwEKr\\\\\\n\",\n       \"MzXGplHewWqNAwVjwBjwc8D/BX4n8HsRgf0+6uvPgfP3PF4Dxj+Qf37aiykXPFTJ4Lx58w44dvHF\\\\\\n\",\n       \"F9sNnuFwt8aalwAAAAAAAEAbaX4nVQAAAAAAAMADCGABAAAAAADAqxHAAgAAAAAAgFcjgIU298kn\\\\\\n\",\n       \"n2j8+PGKjIxUhw4ddN555wXkqFdVVdmVLRwOh9asWaNAsX37dv3iF79Q79697c9A3759bUPJ6upq\\\\\\n\",\n       \"+bunn35avXr1UkREhP0/sGzZMgUKs9zw2LFjFRsbqy5dutj/9xs3blQg+8tf/mL//996660KJLt2\\\\\\n\",\n       \"7dIVV1yhTp062d8Bxx13nF1yGgAAADgaBLDQpt577z1deeWVuuaaa7R27VotWrRIl112WUCO+m9+\\\\\\n\",\n       \"8xslJycr0KSlpcnlcum5557T+vXr9fe//13PPvusXXrWn7399tuaPXu2DdatWrVKI0aM0LRp05SX\\\\\\n\",\n       \"l6dAMH/+fN1www1aunSpvvzyS9XU1OiMM85QWVmZAtHy5cvt/4Hhw4crkOzdu1cnnniiQkND9dln\\\\\\n\",\n       \"n+nHH3/Uo48+aiczAH+dAFiwYIHOOecc+55vgtZmiXVf4usTEM8884z9XRsXF2e3CRMm2N8/vsoX\\\\\\n\",\n       \"Jz8eeOABe86Nt0GDBsmX+PLki/nduf/4m818LgN8XYinTwD+q7a2Vrfccov+9re/2QycekOGDFGg\\\\\\n\",\n       \"MR+cvvjiCxvQ8+UPUcfizDPPtFu9Pn362A/C5gPmI488In/12GOPadasWTZ4a5ignclGfPHFF3XX\\\\\\n\",\n       \"XXfJ382ZM6fJ5Zdfftn+IbRy5UpNnjxZgaS0tFSXX365XnjhBf3pT39SIPnrX/+q1NRUvfTSSw3H\\\\\\n\",\n       \"TDYm0JwJAPN70wSvHn/8cTsBYN47zO8Rb2cC9WbS4tprr9UFF1wgX52AMEEs81nOTDiZCQgTgI6O\\\\\\n\",\n       \"jpa36969uw369O/fX2ax9VdeeUXnnnuuVq9eraFDh8qX+PLkhxnrr776quFySEiIz02+nHrqqfZz\\\\\\n\",\n       \"e+fOnbVp0yafmXwxPzdOp7Ph8rp163T66afr4osv9uh5Aa2BDCy0GZN1YmYvgoKCdPzxx6tbt246\\\\\\n\",\n       \"66yz7C/RQJKbm2sDGa+++qqioqI8fTpeoaioSB07dpS/MuWRJlAzderUhmPm/4G5vGTJEgXqa274\\\\\\n\",\n       \"8+t+KOYPwbPPPrvJz0Og+PDDDzVmzBj7odkEHsx7gQnkAc2dADCTXiaQZd4/zQSALzCfdUyw+vzz\\\\\\n\",\n       \"z5evTkBcffXVNgBhAnFmAiIjI8O+r/kCk/02ffp0G8AaMGCAHnroIcXExNiMYF+d/PCVwEljJmDV\\\\\\n\",\n       \"tWvXhi0xMVG+OPkybtw4O/FigrimDYYvMAG3xmP/8ccf23M/+eSTPX1qQIsRwEKb2bp1a0Ma8b33\\\\\\n\",\n       \"3mt/eZo34FNOOUV79uwJiJE3M3/mQ+B1111n/4iDtHnzZj311FP6f//v//ntcBQUFNiZr6SkpCbH\\\\\\n\",\n       \"zeWcnBwFGlNCakofzGzmsGHDFEjeeustG8w3JTmB+j5gsi3NH5Kff/65rr/+et188802IwI4GCYA\\\\\\n\",\n       \"vI8vT0CY92Lze9hkxZlSQl/i65MfJmPJlNGazHsTiDNBUF/hT5Mv5nfqa6+9ZjNCTRkh4OsIYOGo\\\\\\n\",\n       \"mfKng9VVN97q+x4Z99xzjy688EKNHj3azmSY6995552AGAMTqCkpKdHdd98tf9PcMWjMZOSZckLz\\\\\\n\",\n       \"gcDMriMwmA/hJvPS/BERSDIzM20Z9euvv277+AQi8z4watQo/fnPf7Z/APzqV7+y//dNRg1wMEwA\\\\\\n\",\n       \"eBdfnYD44YcfbNZVeHi4nUR8//33faqFha9PfpjSX5O5Z7L5zCTGtm3bdNJJJ9nPxL7AnyZfTA++\\\\\\n\",\n       \"wsJCO6EO+APfKUaG17j99tuP+EvQzLZkZ2fb/cYfGMwHCXOdL83CtGQMvv76a1syZp53Y2ZWx8xG\\\\\\n\",\n       \"+eIb4dGOQb2srCzbS2DixIl6/vnn5c9MmnxwcLAtH23MXDap3IHkxhtvtNmXpqmx6UsSSEy5jWna\\\\\\n\",\n       \"bwI4jbMBzFj84x//sCuTmp8Tf2ZKx/f/o3Hw4MG2HyAA35mAWLhwoXzJwIED7YrPJnvs3Xff1cyZ\\\\\\n\",\n       \"M21vL18IYtVPfpgFUHx18sOU0dYz/btMQKtnz576z3/+06QvrjcHbs1ndTP5YpgJGPP/wEy+mJ8l\\\\\\n\",\n       \"X/Lvf//bvh6BuJAU/BMBLBxTXbXZjsRkXJnAjWm6OmnSJHvMrES2fft2+yYWCGPw5JNPNmnabII4\\\\\\n\",\n       \"phGtaVBr3swDYQzqM69M8Ko+C8/0g/JnYWFh9rnOnTvXrt5U/2HIXDYBnUApn73pppvsrPe8efMC\\\\\\n\",\n       \"snH3lClTbBZAY6anj1mJ6be//a3fB68Mk7Wx/+pl6enpPv8egLbDBID38OUJCPM+3K9fP7tv3o9N\\\\\\n\",\n       \"U+snnnjCNkT3dv44+ZGQkGD7kZk2Er7AXyZfduzYYRvp//e///X0qQCthgAW2oxZutikbd9///22\\\\\\n\",\n       \"EaL5g8WsSGgEyioYPXr0aHLZpLMbppGir30YPFYmeGX6npnX36w6mJ+f33CdP2cjmRW0zCydmcEz\\\\\\n\",\n       \"DUDNKlqmB0f9qoSBMGv/xhtv6H//+59dir2+91d8fLxdjjoQmOe9f8mNWcHLLMntS6U4LXHbbbfZ\\\\\\n\",\n       \"rEszi33JJZdo2bJlNgPT37MwceyYAPA8f5yAMJNIJvDjC/xx8sM0pN+yZYuuvPJK+QJ/mXwxk8am\\\\\\n\",\n       \"h5fppQb4CwJYaFMmYGVWITFvWBUVFTbryJTV+eJqKjg2JgXezLiZbf+gnfmQ7K9mzJhhg3X33Xef\\\\\\n\",\n       \"Dd6MHDnS9oLYv7G7vzK9IwwTvNz/wxR9GALH2LFj7R/Bpg/gH//4R/uHsAnmmhJqwF8nAMwf640z\\\\\\n\",\n       \"TUz/H1POZpqg7z+x5Y18fQLC/L4xJVNmrE3PJfNcTCDO9DLyBf4w+XHHHXfY1SBNwMdUH5jJbBN4\\\\\\n\",\n       \"u/TSS+UL/GHyxQRtzWcu87vU/C0G+AuH25//ggQAAIDPMaVSZhKsfgLAlOT7Sum9CZaYsvn9mT8k\\\\\\n\",\n       \"TWNrb3eolcp8ZQLC9FgyJfumF6sJupkeTCZz6fTTT5evMpNB5v+BCeb6gp///Oe25HH37t223YRp\\\\\\n\",\n       \"JfLQQw/ZCgRfYcpnTTDUrKZoJl9MYN2XFiD64osvbNsSk0lmyjcBf0EACwAAAAAAAF7NvzspAwAA\\\\\\n\",\n       \"AAAAwOcRwAIAAAAAAIBXI4AFAAAAAAAAr0YACwAAAAAAAF6NABYAAAAAAAC8GgEsAAAAAAAAeDUC\\\\\\n\",\n       \"WAAAAAAAAPBqBLAAAAAA+JV58+bJ4XCosLDQ06cCAGglBLAAoA1lZ2frsssu04ABAxQUFKRbb72V\\\\\\n\",\n       \"8QYAoJWdcsopTd5jJ06caN+D4+PjPTbWBNEAoHURwAKANlRVVaXOnTvr3nvv1YgRIxhrAADaQVhY\\\\\\n\",\n       \"mLp27WqzsAAA/oEAFgC0QH5+vv2A/Oc//7nh2OLFi+0H57lz56pXr1564okndNVVV3l0FhgAAH91\\\\\\n\",\n       \"9dVXa/78+fb91gSszPbyyy83KSE0lxMSEvTxxx9r4MCBioqK0kUXXaTy8nK98sor9v26Q4cOuvnm\\\\\\n\",\n       \"m+V0OptMRN1xxx1KSUlRdHS0xo8fbzOr6u3YsUPnnHOOva+5fujQofr000+1fft2nXrqqfY25jpz\\\\\\n\",\n       \"LuY8DZfLpYcffli9e/dWZGSkneB69913D8jc+uSTTzR8+HBFRETohBNO0Lp169pxVAHA+4R4+gQA\\\\\\n\",\n       \"wJeZ7KoXX3xR5513ns444wz7ofjKK6/UjTfeqClTpnj69AAA8HsmcJWenq5hw4bpj3/8oz22fv36\\\\\\n\",\n       \"A25nglVPPvmk3nrrLZWUlOiCCy7Q+eefbwNbJui0detWXXjhhTrxxBM1Y8YMex/zfv7jjz/a+yQn\\\\\\n\",\n       \"J+v999/XmWeeqR9++EH9+/fXDTfcoOrqai1YsMAGsMxtY2JilJqaqvfee88+3saNGxUXF2eDVYYJ\\\\\\n\",\n       \"Xr322mt69tln7WOY+15xxRX2M8XJJ5/ccL533nmnfW5moux3v/udDZSZ5xkaGtpuYwsA3oQAFgC0\\\\\\n\",\n       \"0PTp0zVr1ixdfvnlGjNmjP0Aaz6cAgCAtmcynE3ms8mqMsEeIy0t7YDb1dTU6JlnnlHfvn3tZZOB\\\\\\n\",\n       \"9eqrryo3N9cGnYYMGWKzpr755hsbwMrIyNBLL71kv5rglWGysebMmWOPm+xrc50JUh133HH2+j59\\\\\\n\",\n       \"+jR8v44dO9qvXbp0sUGy+owuc7+vvvpKEyZMaLjPwoUL9dxzzzUJYN1///06/fTT7b7JEuvevbsN\\\\\\n\",\n       \"oF1yySVtNpYA4M0IYAFAK3jkkUfszO8777yjlStXKjw8nHEFAMCLmABXffDKSEpKsqWDJnjV+Fhe\\\\\\n\",\n       \"Xp7dN1lWppzQLMTSmAlCderUye6bksPrr79eX3zxhaZOnWqDWabs71A2b95sM8HqA1P1TBbX8ccf\\\\\\n\",\n       \"3+RYfYCrPhhmsrw3bNhwzM8fAHwdASwAaAVbtmxRVlaW7Wth+l7Uz8QCAADvsH/pnekzdbBj5r3c\\\\\\n\",\n       \"KC0tVXBwsJ2YMl8bqw96/fKXv9S0adNsvyoTxDIZ2I8++qhuuummg56DeUzD3N701WqMyS8AODwC\\\\\\n\",\n       \"WADQQmbW1PSuMOUGZnbUfJg1s7amZAAAALQ9U0LYuPl6azAZUeYxTUbWSSeddMjbmX5X1113nd3u\\\\\\n\",\n       \"vvtuvfDCCzaAZc7JaHxepkzRBKpM6WHjcsGDWbp0qXr06GH39+7da/tfDR48uNWeHwD4GgJYANBC\\\\\\n\",\n       \"99xzj4qKimxjWDMjaxrBXnvttXalI2PNmjUNs65m1UJz2XyoNR9iAQBAy5lSwO+++85mQZv34vos\\\\\\n\",\n       \"qpYwpYOmv6VZSdhkVZmAlnkfN6sMmzLBs88+W7feeqvOOusse1sTZDL9s+qDTD179rQZXebzgOmX\\\\\\n\",\n       \"aZq4x8bG2j5at912mz3HSZMm2c8QixYtso3eZ86c2fD9TUN6U6poyhrNZ43ExES7aAwABKogT58A\\\\\\n\",\n       \"APgys9T1448/bpvAmg+eQUFBdv/bb7+1jWIN84HXbKYE4Y033rD75oMsAABoHSYoZMr8zOSQWc3P\\\\\\n\",\n       \"ZDi1BtOs3QSwbr/9dptlbQJIy5cvb8iMMtlVZiVCE7QyqxOaQNY///lPe50pEfzDH/6gu+66ywah\\\\\\n\",\n       \"zIqGxoMPPqjf//73ttyw/n6mpLB3795Nvvdf/vIX3XLLLRo9erRycnL00UcfNWR1AUAgcrjdbren\\\\\\n\",\n       \"TwIAAAAAUDc5ZlZDNBld9asXAgDIwAIAAAAAAICXo4QQAAAAAAAAXo0SQgAAAAAAAHg1MrAAAAAA\\\\\\n\",\n       \"AADg1QhgAQAAAAAAwKsRwAIAAAAAAIBXI4AFAAAAAAAAr0YACwAAAAAAAF6NABYAAAAAAAC8GgEs\\\\\\n\",\n       \"AAAAAAAAeDUCWAAAAAAAAPBqBLAAAAAAAADg1QhgAQAAAAAAwKsRwAIAAAAAAIC82f8Hxw0dQRA6\\\\\\n\",\n       \"Hh8AAAAASUVORK5CYII=\\\\\\n\",\n       \"\\\"\\n\",\n       \"  frames[6] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQAA5IhJREFUeJzs3Qd4U9X7B/Bv0r0XLaVQoFD23nsIKCgouEUUxO3PheOv4sAt\\\\\\n\",\n       \"uPdEcCuo4B4gQ0SW7E3ZtLSUUkr3bu7/eU+9NU3TkrZpk6bfj8+V5Da5OTn35o73nvMeg6ZpGoiI\\\\\\n\",\n       \"iIiIiIiIiJyU0dEFICIiIiIiIiIiqgoDWERERERERERE5NQYwCIiIiIiIiIiIqfGABYRERERERER\\\\\\n\",\n       \"ETk1BrCIiIiIiIiIiMipMYBFREREREREREROjQEsIiIiIiIiIiJyagxgERERERERERGRU2MAi4iI\\\\\\n\",\n       \"iIiIiIiInBoDWETkdEaOHInrrrvO0cWgeiTrW9a7q/r4449hMBhw9OhRu9ZZ69at7bY8y2X7+/uj\\\\\\n\",\n       \"vsj3sOU3Xxf16Cz7s9p+twMHDuC8885DUFCQWs73338PZ2freqeGuy994okn1PbYEOllT01NhTP7\\\\\\n\",\n       \"/fff0bNnT3h7e6vypqenwxU1xP0/EdkfA1hEjdzatWvVSZq9T3iysrLwwAMPICYmBl5eXmjevDku\\\\\\n\",\n       \"u+wy5ObmOn3ZHSEpKUl9l23bttV4Gb/++qtahqPJ+oiIiFAnmt9++62ji0NkN4cOHSq7SNy0aZNT\\\\\\n\",\n       \"1ey0adOwc+dOPPvss/jss8/Qt29fNEbcl9Y/Oa7LsefPP/+Es3DGMtWF06dP44orroCPjw/efvtt\\\\\\n\",\n       \"9dv38/NzdLGIiOoMA1hEjZwEgZ588km7BoEyMjIwbNgwzJ8/H5MnT8a7776Lu+66C/n5+SgoKHDq\\\\\\n\",\n       \"sjvyoku+S20DWLIMR5s1a5ZdA5Xk+uLi4jB37lw4u3vuuQfu7u51suxrr70WeXl5aNWqVbXfK+9b\\\\\\n\",\n       \"t24dbrjhBtxxxx245ppr0KJFCzRG3JfWP9nfy7HHWrDo0UcfVdunM5XJlWzcuFHdMHz66afV719+\\\\\\n\",\n       \"+x4eHo4uFhFRnWEAi4jsbubMmTh27Jg6sXruuedw/fXX48EHH8TPP/+MkJAQh9S4yWRSATSqW7t2\\\\\\n\",\n       \"7VIBS1nfRLaSVprOftG1ZMkSNUkQqy64ubmVte6qrlOnTql/g4OD7VYe2V/KftOanJwcu30Oufa+\\\\\\n\",\n       \"VAK+sl1T3UhJSbH7b99Rv2+epxGRLRjAImrEpHn9//3f/6nH0tVPLpxqm19AWkN99NFHuPnmm9Uy\\\\\\n\",\n       \"CwsL7drqytayy2NpifDFF1+gS5cu6gJZ8kTI3Vj5m+VdWXmfzJccC+b27dunuj6Ghoaqk3DplvPj\\\\\\n\",\n       \"jz9Wu7x//PEHhg4dqk4yJbdQhw4d8PDDD6u/SVn69eunHk+fPr3su+hlWb16NS6//HK0bNlSfY/o\\\\\\n\",\n       \"6Gh1EW1+V1vynkj3Af2765P5ieFrr72m6kK+R9OmTXHLLbfgzJkzsKe7774bF198sWqBV1dkG5sx\\\\\\n\",\n       \"Y4aqB6mP2NhYPP/88+UutvX1+dJLL+GDDz5A27Zt1WulniWwaknWs3TDCA8PV10xZP088sgj5V6z\\\\\\n\",\n       \"detWnH/++QgMDFTrcPTo0Vi/fn2FZe3evRujRo1Sy5FWMM8880ylgYDffvtN1ZV0+QgICMD48ePV\\\\\\n\",\n       \"+y1JPqOuXbuqdSf/fvfddzWsPeCbb75Bnz59VPmaNGmi7tgnJiZafe3hw4cxduxYVb6oqCg89dRT\\\\\\n\",\n       \"0DSt3GsWLFiglifll7rp1q0bXn/99VrnQrKlHlesWAGj0aha/Zn78ssv1fqXAIA9FBUVqW1bJtmW\\\\\\n\",\n       \"6iu/i9TLhAkT8Pfff6N///5q/bdp0waffvppuX2h3mpL9omyDPPcaLJu5SaC/OblNyD7AGkda07f\\\\\\n\",\n       \"L8q6lBYz0uXb19cXmZmZZfnQpPvkBRdcoNbzlClTqrVfkW1G1p+sR1nuOeecY3U7twX3pfaRlpaG\\\\\\n\",\n       \"+++/X/1eZf3Kb1f2b9u3b7cazJTtrH379mo9N2vWDJdcconaJmR7lf2mkBZP+rFH785uLQdWcXGx\\\\\\n\",\n       \"ajGk75dle5XjoeW5gi3bvzVnK9OOHTvUdi3LkmVGRkaq34h0xzsbuTknxxzZD588ebJOjkmyv5Fj\\\\\\n\",\n       \"0okTJ6osi+Q6k67DQpYjyzffj9qyr6/s9/3GG2+ooLp5C/eXX35Zfca9995bNq+kpES9xzzQKt9x\\\\\\n\",\n       \"8ODBCAsLU58tZbCWTqCy87TqHkeJqHGpm3bwRNQgyAno/v378dVXX+HVV19VJzhCP/GTroByInU2\\\\\\n\",\n       \"cgKoJ3yWE0052ZUTOAn8yIW3nHQMGjRIBVgk0Wh9lF2/uP3666/VCZL8XU6Gq9PdUE6ghgwZoi7m\\\\\\n\",\n       \"HnroIXURL8ubNGkSFi1apAI1ti5HTsK7d++uAgByknbw4EGsWbNG/b1Tp05qvlyES+BPD/7ICaB+\\\\\\n\",\n       \"EirdIW677TZ1QvjPP//gzTffxPHjx9XfhFw0StcZubiTHBiW5O9ygSwBMunOeeTIEbz11lsqKCPl\\\\\\n\",\n       \"0Fu/ZGdn29RSTV4vyaLNSVmkW+fevXvrLMmq1MOIESPUSbh8JwnqyWdKqz852ZeLactAhnSvkNfK\\\\\\n\",\n       \"yfILL7ygth0JzOjfWS5mpM7ludS/bCdyMv/TTz+pfEL6OpTXyEWe5HaT177//vvqAmLVqlUYMGCA\\\\\\n\",\n       \"el1ycrK6OJcLNH2bkYsVOQm3JOtJLj4kQCQXO/LdJOAigU5ZL3oQYunSpbj00kvRuXNnzJ49W11k\\\\\\n\",\n       \"yXqsSRcxfRuQix1ZllyASbBJtgH5TPO7+HJhMm7cOAwcOFDVm1xYPP744+q7yfYqZHuTbsISzJPv\\\\\\n\",\n       \"IGT9y/Ik2FNTttajXOD873//U99Ffpe9e/dW28Gdd96JMWPG4NZbby17bU32ZzrZriQoI8GdxYsX\\\\\\n\",\n       \"oz7JvkL2pdI9SLYXCT7JRadcFMpFn2zPst4kqC3rQi5C9fLL+pX1p18oyv5RgqayLAlOyUW3OQkq\\\\\\n\",\n       \"eHp6qsCGBBPksZD1INupbJtycSpBqOrsV2TfJhegUjaZtmzZohLOyw2O6uC+1H5kHyjHZ7k5IjeB\\\\\\n\",\n       \"ZFuRfZrsX/fs2aMC1vp+QI5fy5cvx1VXXaV+17JPld++tBKT35nst+T4JMdE2R6FHO8qc+ONN+KT\\\\\\n\",\n       \"Tz5R2/V9992HDRs2qN+w7Dssg/Nn2/6tke28qjJJ2eX7y3YrwSvZrmT/Iv/KTYnKWkHKcUH2OXJD\\\\\\n\",\n       \"S5Yh5xV1cUySZcl5gXxfy5tq5uQmi9xskbLLPlnWox5gr86+3trvWwJ0cu4m53Sy/vWbaXLDQP7V\\\\\\n\",\n       \"ybLkvGH48OFl8+RzLrroIhUIk9+4BMZlO5NW+HKTxpy187TqHEeJqBHSiKhRe/HFF6U5hXbkyJEK\\\\\\n\",\n       \"fxsxYoT629mmadOmlb3nlVdeUfPCwsK0/v37a1988YX2zjvvaE2bNtVCQkK0pKSks5ZJPtd8mTUp\\\\\\n\",\n       \"u8w3Go3a7t27y81fuXKl+pv8a06WIfM/+uijsnmjR4/WunXrpuXn55fNM5lM2uDBg7V27dpptnr1\\\\\\n\",\n       \"1VfVsk+dOlXpazZu3Fjh83W5ubkV5s2ePVszGAzasWPHyubdfvvtahmWVq9erebLujD3+++/V5gv\\\\\\n\",\n       \"9W7LOpd1ZFnGli1bajNnzixXz998881Z60f/XMtlWvP0009rfn5+2v79+8vNf+ihhzQ3NzctPj6+\\\\\\n\",\n       \"3PqU7TAtLa3sdT/88IOa/9NPP5XNGz58uBYQEFCuLvV1rZs0aZLm6empHTp0qGyebMvyPnm/bsaM\\\\\\n\",\n       \"GWr5GzZsKJuXkpKiBQUFldtWs7KytODgYO2mm24q95nJycnqtebze/bsqTVr1kxLT08vm7d06VK1\\\\\\n\",\n       \"vFatWmm2Kiws1CIiIrSuXbtqeXl5ZfN//vlntaxZs2ZV2A7uvPPOcvUxfvx4VQ/6tnz33XdrgYGB\\\\\\n\",\n       \"WnFxsVYb8j3Mf/O21qPIycnRYmNjtS5duqjfqpRRymS5PmuyPxMnTpxQ6/n9999Xz+U3Kq+T36wt\\\\\\n\",\n       \"bN2f6cs1/25SLzLvr7/+KlcPXl5e2n333Vc2T9/eZZ9o7oYbblDbTmpqarn5V111lapLfd+i/17b\\\\\\n\",\n       \"tGlTYX+jbwvyG6vJfkXKK9uMrBfz39TDDz9stb6rwn2p/fal8lspKSkpN0+2I9m2nnrqqbJ58+fP\\\\\\n\",\n       \"V+tJju2W9PUp+wN5zeOPP17hNTLP/Li0bds29fzGG28s97r7779fzV+xYkW1t39rqiqTtWPqV199\\\\\\n\",\n       \"VeGz9LLLsvbu3atFRUVp/fr1K3dMqYtjkv7a6uw3zPdHNdnXW/6+ZduQ/egDDzxQtq6l7Jdffrn6\\\\\\n\",\n       \"XnIME7JdyLnWmTNnKq1fKY+UZdSoUTadp1Vn/09EjQ9bYBFRpaS5uC1dzPQ7tULuxAm5syh3bPWW\\\\\\n\",\n       \"AL169SprhSV34uuD3BWVVis17V4hdwblrqbcLZVJJ3cqpSWK3CWV1llno9/p/OGHH9QdUbmDWR3m\\\\\\n\",\n       \"dx0lN4V0HZTWWXL+J3c/5Y5vVaRllLSWOvfcc8sNBy53sGX9rFy5EldffbWaJ62LpJvB2VjmMpsz\\\\\\n\",\n       \"Z45q3aJ3i6wr8l2kJZR8vvl3kVYAUoa//vqrrHuTuPLKK8uVVW/dJne79dxB8h5pVWBZj/pdeGmB\\\\\\n\",\n       \"IK2gpIWPdDnRSTcaqTdJPi6tWaR1liTSlxYv0t3FvDWAlOmdd94pmyd376U1oLSYMf8e0mVDWnPJ\\\\\\n\",\n       \"OhFyB18S+8tdaPMWb7IuZduuTq4SGTVP8qVINxrznDRyR7xjx4745ZdfKgwCIHfFzetDnsvrli1b\\\\\\n\",\n       \"plpjyLYtZZDvI6217MXWehTSWkBaG0gLAJmkheK8efMqrM+a7M+EdI2R9S6tRhxB1rN5l1ypB2l1\\\\\\n\",\n       \"oW/DlZH9g7QUla6x8th8O5N9mLSKkJZQ0spUJy0+KmvlIK1ZarJfkW1FWmFIqzjzli3S+ktyJFYH\\\\\\n\",\n       \"96X2Iy2BdbKPk/2R3r1dtgudbEPSMkbWn6Wa5GuT37Yw74YmpCWWtP6R/Yu0vqnt9l8V821cWhzL\\\\\\n\",\n       \"eYvsb4R8d8su8NLSTI4l0rJcWjDKvr6ujklCWiFZdtWujprs6y1/33KeIucZUn4hreOk9a8ci2Sb\\\\\\n\",\n       \"kEEj5LcvrbGktZZ5iy7z+pV9rmxf8j2lxbwt52nV2f8TUePDABYRVUouRKpLP3G58MILy3XDkZMR\\\\\\n\",\n       \"ad4uTevri3xeTUm3BTmBfOyxx9RkjZwg2hLAkhPWDz/8UF0Ay8mfdLeSLgPSLcKWYFZ8fLzqgiO5\\\\\\n\",\n       \"tywvwKVb1NkcOHBAvS4iIqLS76GTE8nqBv2ku+CLL76ogpOWXa/sTb6LdPkz7ypa2XcRlkEM/cJB\\\\\\n\",\n       \"r0f9okFOwCsjQS7pJiIXTZakm4d0s0hISFDdWSQ/it6d0Jzle+V7COmOYo1+gSTLE+3atbO6TPML\\\\\\n\",\n       \"zbPRl2Xte8hFjXQVMSfbpnnATkgOHKF3EZXue9L9Q3LnyG9BuoVJwKS2wSxb61EnQRi5AJNtUIIz\\\\\\n\",\n       \"ks/GHvsz6U4kXT0lGF/dwLO9WAtQy3Z8tmCcbLcSlJCuNzLZ8nupbJ8pibgtu6zaul+pbBuW33B1\\\\\\n\",\n       \"B/XgvtR+ZL8lXb0kICBdPyXIoJOu6ubd5uR3Z6/RN2V7kN+SBIPMSVc+CYLo20ttt/+z3aCSAI4E\\\\\\n\",\n       \"cS1/A9aOqXI+I/ndZBAHy2OcvY9J9lDdfb2137eQoJMEweSmmQSq5KaNdNPu0aOHei4BLFmW7PPN\\\\\\n\",\n       \"SVdBuVEpN1/M85pZC3ha2+dUd/9PRI0LA1hEVOVJni05SiRopbcO0VsvyMmeJbnQsXfS8LOVy9Y7\\\\\\n\",\n       \"xuYn70JPFiq5YOSC2BrLE/CqyiF3MaVFgtz5lFxCCxcuVMELadkjrW4qI+WSk0RZF9ISRE4+JR+E\\\\\\n\",\n       \"tP6SPCC2JDWV10jdS6JUa8xPvOXk3ZYhzyU3juQBERJck+CF5IPSAxuSw0K/iJZ5ctJujwCAfBep\\\\\\n\",\n       \"D2kpZo0eYNFVVre1ubttD/p6k+CIXLhZstfFYl2T7UouUuTCTlomyCSDOEydOlXluKkvcpGkD8wg\\\\\\n\",\n       \"F9wScNTzNNVmfybbmVzEyUWWvm3rrSykdZwEl8/WArK2aroN69uYtKjUEz1bssxTVFnrK2mtY/n7\\\\\\n\",\n       \"rc5+xV64L7XfvlRav8nNGQn2Su4z2Z/LcqVlXH0ky7a19VZd7MMl4CI302TQA8nLKUEp+c4SeLf2\\\\\\n\",\n       \"3SUHoezPZFuX3FWudkyy9vsWkhNLWlZLaysJWOmtxeRfeS6J5uUYb95iTeZL/itpDSvBUQl6SW4v\\\\\\n\",\n       \"OS5I/i9LzGtFRNXVMM6QicghJ5HSSkgSVJ+NeaJRvZWDtVHNJMm4BGDspSbdF/S7nZbJ3C3v+uot\\\\\\n\",\n       \"T+TES7oC1JacHErLK5leeeUVdfEgCVglqCXLr+y77Ny5UyWrl5NnCQropMuWpcqWIUldpRuPtFI5\\\\\\n\",\n       \"28midKWzJfAgzf71gIFcxEuLNcvWOnoLHSGBS3sM8y3fRbp72GOdCL3M0kWkMnIhLsGQuLi4Cn+T\\\\\\n\",\n       \"E3hZtzL6lJDR4PTWVeYs36sn2pUAQFXfRR9dzpZlno2+LHmfZcsvmaf/3fzCTFqomV+AybYozEe5\\\\\\n\",\n       \"k2CmtFCQSd4j61ySQcvFsa1BXmtlrc53li690sVFuiBJoFdaOsooWrXdn8m2LfsGa60E5CJNAl3V\\\\\\n\",\n       \"GRiiPsl2K6ODSRDcXr+XmuxXzLdh832EXPjW5IYG96X22ZfKqHDSVU+625qT7VkfFEVfz5JkXQIZ\\\\\\n\",\n       \"epLx2hyLZXuQ/YRsD9KCVSdJxuWzLfdDNVVZmWSbkxaV0gLLfPRSa/sbnbQwlpsKsm+T35Te5b4u\\\\\\n\",\n       \"jkn2UN19fWWkC5/s3yUoJZM+8rMEp6TrvNSj/lwn3Qul26Lc1DDvpioBrOqU3x7HPCJyTQxgETVy\\\\\\n\",\n       \"0ppHWLsIq0nOGGniLc3LJd+TtFTQT4SlpZF0s7KWR6Muyl7ViZHcAZUWUZLTSGeZV0ECC9KiSC7E\\\\\\n\",\n       \"pcxyF9GcXHzZ2sJAWn7orZV0+miMevP6yr6LfrfW/O6sPJauH5bMl2F+gSN3m+X7yV12y5wzMsqP\\\\\\n\",\n       \"nHzrr69JDizpKmCe+0MPCEkAQ5Ynuc/0stWWfBfp0iAnx5Yt4/QcLtVpvSTrUE6+ZWQrycli3ppG\\\\\\n\",\n       \"6lkugmQdSNc42aalFY4evJELLrmjLHep9S5/MsKajDoleZj0/B2yrVi2UpGyy3tkfchFpOWFob59\\\\\\n\",\n       \"yXYn24oEFc3zYEkAU0YKq87FXt++fdV2/d5776lWF/rFhbSakuCP+cWcTkaU0wNBUh/yXMoqgVgh\\\\\\n\",\n       \"OVHMuxtJcEFv1WPedaS6bK1HIRfXEriSliOSR0e2RRkRUVpNSKC1Nvsz6XonrbnMSW48GQVUPtOe\\\\\\n\",\n       \"AXl7k+1W6kC2Ufk9WnaTrc4+zBpb9ytyYS/bjNSZ/I70wILl6Gy24L7UfvtS2T4sW/1IPie5+WQe\\\\\\n\",\n       \"eJZtSFoOy29fRro0p+8j9daOthyL5bctuRJl/cvxVSc3doTlKHU1VVmZrB1Tz7Y9yneUfYHkwpQA\\\\\\n\",\n       \"txxnJIBdF8ckIcFCaUkq+3vLc4+62tdbI4EoGcVQcldJMN+8BZa01JZjgwTwzMso9Sv1Zd6qXY6b\\\\\\n\",\n       \"MuJlXez/iajxYQCLqJHTW0xJayBJyiwXGtKSQk6Sa5IzRrz66quqSb1c2Etze+mWJien0pLDMlFo\\\\\\n\",\n       \"XZW9MnJCKMM5y8WUnGTJyZfka7DMUyEkn458h27duuGmm25SrQckaCHN6Y8fP47t27fbVE5JBC8B\\\\\\n\",\n       \"Mzkxl4CDfJZc+EnOCVm+kHLIxZ6ccModXvkOkgNCLpDlb9KVUS4sJOghdzitXYjr9SHD2cuJtJxI\\\\\\n\",\n       \"Sr3IRbysBxlKW7p7yUWk1JXc4ZQLFgmGST6umubA0r+DOT0gJie/5oHC2pI7wJILTIb11odSlyTi\\\\\\n\",\n       \"0lJNWhTIibJ56wFbyEm4fAfJ7XHzzTeXdReTizapLz1IJ0EjeZ3chZcLErn4kiCNDIOuk4CddAuU\\\\\\n\",\n       \"rijSmk0f/lvWu+RJ0cl6lGHer732WvW5sp4kmCAXCfK50qpFLhiFrDfZduSz5WJELuJl+5WcW/qg\\\\\\n\",\n       \"CbaQdS6BHRlIQLYJSSCvD60uQTnLi1O5eJHurnLBJtuiXPxI2eTiUw98SF43KY/c5ZftWVorSdkk\\\\\\n\",\n       \"6GbeuqK6bK1HScAs5ZP8Ss8++6yaJy0rfvrpJ/U9ZbvQ9wc12Z/Jb8WSfkEsdSgXis5MkkhLK09Z\\\\\\n\",\n       \"f7IPk9+2rC/JnSatp+RxTdm6X5FtRfZf8jr53crFqQw+IdtTdX+r3Jfab18q60LqU34nkqxbfisS\\\\\\n\",\n       \"ILBsSSstfz/99FMV4JeAggQvZJ8r24/sCydOnKha4Mm2JV3j5TgvN2wkYGott6Dc4JLfrPye5bck\\\\\\n\",\n       \"25EsV4L0cqwwT+BeG1WVSW5ayH5bAkXS/V1usEkesKpIcP7zzz9XZZSglSQal/1eXRyT5Fgv+0/z\\\\\\n\",\n       \"1qDVUd19fVVkfct+RM6d5FxISHBMblZKiyj5zubkWCXne7LvlpZqcr4j51ISFDXfd9tj/09EjZSj\\\\\\n\",\n       \"h0EkIseTYaCbN2+uhjO21xDFf/zxhzZw4EDN29tbCw0N1a699lo1HL09h52vquzy+Pbbb7f6HhkS\\\\\\n\",\n       \"+9JLL9V8fX21kJAQ7ZZbbtF27dql3iNDUps7dOiQNnXqVC0yMlLz8PBQnzVhwgTt22+/1Wy1fPly\\\\\\n\",\n       \"beLEiWoIbhlOXv6dPHlyhWG3ZTjtzp07a+7u7uXKsmfPHm3MmDGav7+/1qRJE+2mm27Stm/fXqG8\\\\\\n\",\n       \"xcXF2p133qmFh4drBoOh3NDl4oMPPtD69Omj+fj4aAEBAVq3bt3UENlJSUmava1cuVJ9/jfffGPX\\\\\\n\",\n       \"od+FDN89c+ZMLTY2VtWn1MngwYO1l156SQ3XbT4M+Ysvvljh/daGVpf1f/HFF2vBwcFqm+3QoYP2\\\\\\n\",\n       \"2GOPlXvNli1btLFjx6r1INvOOeeco61du7bC8nfs2KG+iyxHthfZRufNm2f1tyX1JMuU4cHl9W3b\\\\\\n\",\n       \"ttWuu+46bdOmTeVet2jRIq1Tp05q+HjZRhYvXqzqTIaZr66FCxdqvXr1UsuS3+aUKVO048ePl3uN\\\\\\n\",\n       \"LFuGhpft/7zzzlPft2nTpqreZHh1nfwO5O8yZLusi5YtW6rfk62/dZ18D8vfvC31eM8996gh3c2H\\\\\\n\",\n       \"WxdSf/I7uu222zR7szZsvT32Z/pyzbcRqZfx48dbXab576Wq7f3kyZNqXxgdHa32YbIvGz16tNof\\\\\\n\",\n       \"2PJ71beFytiyX5Ft5sknn9SaNWumXjdy5Ej1m7O23qvCfan99qX5+fnafffdV7ZOhgwZoq1bt67C\\\\\\n\",\n       \"tiVyc3O1Rx55RIuJiSnbhi677DK1f9DJvlC2A9kPmO9j5V/LY1FRUZHaHvTlybYp+3Qpkzlbt//K\\\\\\n\",\n       \"VFYm2d/p+3vZ915++eVqe7U8Nuhll3MG87qQz5bjwPr16+vkmKS/tjr7DWv7o+rs6yvzyy+/qOWf\\\\\\n\",\n       \"f/755ebfeOONar7sky3JvHbt2qnP7dixoyqjte2gqvO06hxHiahxMcj/HB1EIyIyJ1335C5hTe48\\\\\\n\",\n       \"UsMkd3HlTrWeV4vIVXB/RvWJ+1IiInJljhkTmoiIiIiIiIiIyEbMgUVEVAvJyclnzcOhJ94mqiuS\\\\\\n\",\n       \"y6iwsLDSv0s+tNok7K4p/j6I2woRERHZCwNYRES1cLYRgmqahJWoOi655BKsWrWq0r9L8lvpolnf\\\\\\n\",\n       \"+PsgbitERERkL8yBRURUCzISU1WioqKqPaofUXVt3rzZ6siU5i0BZWTD+sbfB3FbISIiInthAIuI\\\\\\n\",\n       \"iIiIiIiIiJwak7gTEREREREREZFTYwCLiIiIiIiIiIicGgNYRERERERERETk1BjAIiIiIiIiIiIi\\\\\\n\",\n       \"p8YAFhEREREREREROTUGsIiIiIiIiIiIyKkxgEVERERERERERE6NASwiIiIiIiIiInJqDGARuaiP\\\\\\n\",\n       \"P/4YBoMBmzZtcnRRyIqjR4+q9SPrqTFo3bo1rrvuumq954knnlB11Fh/u7KNEBHVtezsbNx4442I\\\\\\n\",\n       \"jIxU+54ZM2aw0p2YHEvlmOpoCQkJ8Pb2xpo1a+rl806fPg0/Pz/8+uuv9fJ5ROScGMCiBmfnzp24\\\\\\n\",\n       \"7LLL0KpVK3XgbN68Oc4991y8+eab5V733HPP4fvvv6/x5+zZs0ddQNv7IvLPP/9UJ4j65OHhgTZt\\\\\\n\",\n       \"2mDq1Kk4fPhwtZf3zjvvNJogSFWBoMqmOXPmoLGzrCPZ5po0aYLBgwfj4YcfRnx8vKOL6HQst6PA\\\\\\n\",\n       \"wECMGDECv/zyi6OLRkRk1xtWcr4ky7jtttvw2Wef4dprr23UNdzQ9v+5ubnqfFXOL+vTU089hQED\\\\\\n\",\n       \"BmDIkCF2Xa4EqOT7WAoLC1OB1scee8yun0dEDYu7owtAVB1r167FOeecg5YtW+Kmm25SdwvlDtD6\\\\\\n\",\n       \"9evx+uuv48477yx3QiaBrkmTJtU4gPXkk09i5MiRdXKn66677kK/fv1QVFSELVu24IMPPlAnRxKg\\\\\\n\",\n       \"i4qKqlYAS4IR1W3d4momT56MCy64oML8Xr16OaQ8zlxHJpMJZ86cwcaNG/Haa6+p3868efNw1VVX\\\\\\n\",\n       \"1dlnx8XFwWis3j2TRx99FA899BAcRQLjEljWNA3Hjh3Du+++iwsvvBC//fYbxo4dW2efKxePsi68\\\\\\n\",\n       \"vLzq7DOIiHQrVqzAwIED8fjjj7NSHLz/r2kAS85XhZyz1odTp07hk08+UZO9SQDr7bffthrEuvXW\\\\\\n\",\n       \"W/HGG2+obXbUqFF2/2wicn4MYFGD8uyzzyIoKEhdeAcHB5f7W0pKChqSYcOGqQCbmD59Otq3b6+C\\\\\\n\",\n       \"WnIyMHPmTEcXz6nk5OSoZuNV6d27N6655ho0VjWtIzkxP++88zBt2jR06tQJPXr0qJPy1SQY4+7u\\\\\\n\",\n       \"riZHkd+keX1deuml6Ny5swr41eUFjJubm5qIiOqDnD/Jvs1e5CZJYWGhaiXfUDlq/99QfP755+r4\\\\\\n\",\n       \"LEG9+iTnKV27dlUtBhnAImqc2IWQGpRDhw6hS5cuFYJXIiIiouyxNPmWC3oJBulNwPUWSnLB/r//\\\\\\n\",\n       \"/Q8dOnSAj4+PapJ8+eWXl+sqKAdGmSekxZe+DPPm2XIXToJQEjQICAjA+PHjsXv37hp/N/1AfOTI\\\\\\n\",\n       \"EfXvRx99pObJ95KLfzlxkjuA5qRlmHzmqlWryspoefetoKAA9957L8LDw1VZL774YnXnzBZyh0v/\\\\\\n\",\n       \"jlLnEydOxN69e8v+/u2336rPlM+39P7776u/7dq1q2zevn37VNAuNDRUndj27dsXP/74o9WuELJM\\\\\\n\",\n       \"WU/y/Vu0aAF7kPqaMGEC/v77b/Tv31+VQbpvfvrppxVem56ejnvuuUe9R+pfyiB3Y1NTU8ud9N9w\\\\\\n\",\n       \"ww1o2rSpWpYEf6zdjZRlyfYnwVepRwkWyTxr6ruOpCuuLE8uNl544YUK5ZZcKNHR0aoOYmNj8fzz\\\\\\n\",\n       \"z6uLE3PyXE7qu3Xrpsos29q4cePKdWexzIElLQ/ljnG7du3Ue+R3OHToUPzxxx9V5sAqLi7G008/\\\\\\n\",\n       \"jbZt26oyyXKlG6Rs5zVd19U5cZbWjrIfMiefLS0XpH6kTFJfDzzwQIUy5eXlqSC1LEP2GRdddBES\\\\\\n\",\n       \"ExPVdzS/01xZDixpbSn7P/kMaaV5++23V9iO5PcvJ/fSglT2Xb6+vqqbteW6FdLtWpYnrwkJCVHb\\\\\\n\",\n       \"2pdfflnj+iEi5yH7W39/f7WPkZbo8lj2zffffz9KSkrKpTSQ8w5pAa6fR+j7Hlv3bfKeO+64A198\\\\\\n\",\n       \"8UXZPur3339Xf5PPv/7669VxUubL3+fPn1/u/Xo5vv76a3WjUo5nss8ePXo0Dh48WOG7bdiwQbUm\\\\\\n\",\n       \"lv2WnJ90795dHYOqeyytz/2/HNvkGCfnALIu5BxUjl1n2+/rdVNZ90B5vaxXIcdUfR3qxxQ51kpd\\\\\\n\",\n       \"nDhxwqbvKak35BgidSb/fvfdd1ZzbsnrpPugfBdzBw4cUME+6SEhy5B1KS2KMzIybPp8+SxpfSXM\\\\\\n\",\n       \"u3Fato776aefVOs4Imp82AKLGhS52F63bp0KisiBtTKSw0H6ycuF680336zmyQWvkNZb0hVRDqhy\\\\\\n\",\n       \"YJWDvwSG5MJPLvrkYm748OHqQlOaKcsJhpy4CP1fWb4EIeQunFzQS/NtWYacnGzdurVGXQ71kyK5\\\\\\n\",\n       \"kBeyPDnRk4tcucslB2sJVkiwQC5chXT/km6TcgLxyCOPqHlykmhO/i4neXKCJd9V3iMnmgsXLqyy\\\\\\n\",\n       \"PMuWLcP555+vLvrlREguvuWCV3IdSJdH+Y4StJPPlpNOyQ9hTpYv5dfXkwTa5L1yMS3dwuSkU94n\\\\\\n\",\n       \"J9aLFi1SgTVz8l3lpGzWrFkqGHk2sg7Mg0s6OVk0b8UjJ8NyUiuBJ1mHciItJ0x9+vRR5dUT2krg\\\\\\n\",\n       \"ToJ1cuItLZdk2XLye/z4cXUSK/Uh24wsT+ozJiYG33zzjVqWBBXuvvtutSw5wZLAnwRSpOm7bENy\\\\\\n\",\n       \"Qiifbamu66gygwYNUr8P8+CR1KesU7n4uOWWW1S3XfndSOtAORGW7UgndSkn37K9yO9OgkyrV69W\\\\\\n\",\n       \"XXvlosEa2aZmz55d9jvNzMxUAS/ZtuTktDLyegkSyjq877771IWMLEfWldSrOVvWdXXICbh0vdT3\\\\\\n\",\n       \"JUJ+j/IblfUr+xpZv9IN+NVXX8X+/fvL5eGTz5b1KV0EpbuOBCDlN2QLqS+5OBkzZozKUyNdMmUf\\\\\\n\",\n       \"IfszSaArec10UkYJIF5yySW44oorVKD5wQcfVAFGWUdi7ty5ah8n9SPban5+Pnbs2KHq8+qrr652\\\\\\n\",\n       \"3RCR85FAlZynSKDhpZdeUsf1l19+We3DZD8i+ys5n5GbNXI+JPtUIceV6uzb9Btesn+T46EcI+Uc\\\\\\n\",\n       \"4eTJk2pfpwe4ZLly80/2ybLPt0wWLzkrpau5BNlkfyuB9ylTpqj9kk6OU3JzolmzZmrfJYES2f//\\\\\\n\",\n       \"/PPPZcfd6h5L63r/L+WRMkugTfJGSaBLjk/2SH4udSrHAlmf8r1kvy/ks4Qcw6Vccgw8W77UpUuX\\\\\\n\",\n       \"lrU0k+OqJE2XHgKWN8gkKCbHHvlMc3IjTLY3Cd7JuaesG/l8WTdyXiQ38c5GzjeSkpLUepZt0xo5\\\\\\n\",\n       \"hksdS71WdS1ARC5KI2pAli5dqrm5ualp0KBB2gMPPKAtWbJEKywsrPBaPz8/bdq0aRXm5+bmVpi3\\\\\\n\",\n       \"bt06uY2jffrpp2XzvvnmGzVv5cqV5V6blZWlBQcHazfddFO5+cnJyVpQUFCF+ZZkebLc+fPna6dO\\\\\\n\",\n       \"ndKSkpK0X375RWvdurVmMBi0jRs3VlrOsWPHam3atCk3r0uXLtqIESMqvPajjz5SnzNmzBjNZDKV\\\\\\n\",\n       \"zb/nnntU/aWnp1dZzp49e2oRERHa6dOny+Zt375dMxqN2tSpU8vmTZ48Wb2uuLi4bN6JEyfU6556\\\\\\n\",\n       \"6qmyeaNHj9a6deum5efnl82Tcg0ePFhr165dhXIPHTq03DIrc+TIEfX6yiZZt7pWrVqpeX/99VfZ\\\\\\n\",\n       \"vJSUFM3Ly0u77777yubNmjVLvW7x4sUVPk+vy9dee0295vPPPy/7m2yHsl36+/trmZmZat7333+v\\\\\\n\",\n       \"XvfCCy+UvU6+17Bhw9R8+b71VUcvvvhipa+ZOHGiek1GRoZ6/vTTT6vf0P79+8u97qGHHlLbT3x8\\\\\\n\",\n       \"vHq+YsUK9b677rqr0rrS697899ijRw9t/PjxVZb78ccfV8vWbdu2TT2/8cYby73u/vvvV/OlLNVd\\\\\\n\",\n       \"15WR995www3qNyrv27RpkzZu3LgK9fjZZ5+pbX316tXl3v/ee++p165Zs0Y937x5s3o+Y8aMcq+7\\\\\\n\",\n       \"7rrr1Hz5rpbrV9abXm5PT0/tvPPO00pKSspe99Zbb5XtS3SyL7DclxUUFGiRkZHapZdeWm59y76D\\\\\\n\",\n       \"iBo+fZ+hnz8I2d/KPPPjsOjVq5fWp0+fcvNkf2m5P7Z13ybkubx29+7d5V4r+9BmzZppqamp5eZf\\\\\\n\",\n       \"ddVV6nxJP8/Rz4s6deqk9le6119/Xc3fuXOnei7Hu5iYGFXeM2fOVHq8sfVYWl/7/1dffVU9l+VV\\\\\\n\",\n       \"xnK/r9PrxvxcVNat1IFOlmt5HLE8/ls7H7Z23ifry/z8UM675f3mn3fw4EE178033yz3/q1bt6r5\\\\\\n\",\n       \"cv5cG7fffnu5Y7+ltWvXqr8vXLiwVp9DRA0TuxBSgyItM6QFltzx2r59u7o7J3d75C6brU3Dpdug\\\\\\n\",\n       \"+V0kucMkTb+lpY60/jgbuSskd5IkIba0ytEnyVkjdzlXrlxpUzmkZY/cOZOuQNIKQ+/yqLdYMS+n\\\\\\n\",\n       \"3PmTz5AWMTJSoa1NsYXcFTRvfi0ti+SurHSlrIy0sNm2bZtqMSLN73VyR0/WgfkQxldeeaXqSmfe\\\\\\n\",\n       \"vF1afMidSfmbSEtLU3dnpTVIVlZWWZ1J3cv6kybncpfOnCTpr04eIPmesm4sJ8u8HvJc6kAn60Ca\\\\\\n\",\n       \"8puPACl3aKU7oLW7tHpdSh3I3UXZDnTSCkZatUgLLr1bpbxOWoCZ36mU72U+4EB91VFV9G4A8tlC\\\\\\n\",\n       \"WpNJPUnrPfPtXFoAyfbz119/ldWV1Im15L+Wzf7Nye9N7p7K97KVvt1Jl1hzeqsByxGibFnXVZHE\\\\\\n\",\n       \"9vIe6aIpv8vly5erriHmny/1JHe3O3bsWK6e9C7B+v5A704jrebMWW4H1kirCbmzLa0VzBPhy/qX\\\\\\n\",\n       \"0bEsv7esS/PcLZ6enqqVm/n3lvqX1oRyF52IXJe0/DUn+0Rb9oG27tt0cn5ifryVOJAcHyRHkjw2\\\\\\n\",\n       \"X4Yc0+Q8xvKcS1r7yP7KvKxCL6+0cJfujrIvtEwloR9vanIsrev9v17WH374oUIX/LomLeGk/s/W\\\\\\n\",\n       \"+ko/75OWWuYtpeScz/I8SupSyPmBOf19S5YsUa2464r+udZa3ROR62MXQmpwZOS+xYsXqws6CWJJ\\\\\\n\",\n       \"tyFpSixdYeTge7ZEpNL1S5pGS44pOYkx70NvS2BIv+CuLHmkXFDaQrp9ycmZBCCkub2cBJl3dZOm\\\\\\n\",\n       \"5RIUkICd5YmAlNOWpthCun5ZO/BLU/jK6MEtudi3JOWUkxM9abh0VZKySJdByVch5HHPnj1VElQh\\\\\\n\",\n       \"TeWlnmXo48qGP5YgmAQiddIlrzokl5IEV6pbH3qdmNeHdOeUZvRVkTqSz7QcWU/vZqrXofwrXR0s\\\\\\n\",\n       \"80RY1m191FFVJOgmJDeTvp1LlzI9t4a1suh1JUFY80CnLaQbhXStlG1EugDIdiRd6/RuD9ZIXUp9\\\\\\n\",\n       \"S8DZnAQS5QLBMihry7quipRPur3IvkYCPTKyqfwWzde51JN0XzlbPellt1xnlt+lOr9HudCTLr6W\\\\\\n\",\n       \"31u6e1gGD+V7y/rUSZdCCYxJYEvKIIn8peugvYdDJyLH0XMS1mQfaOu+TWe5b5Ncm3KzT0ZYlsmW\\\\\\n\",\n       \"ZZztfEVPtVBVt7GaHEvrev8vN/M+/PBD1QVeujTKuZJ09ZPz1uqOzltX9OOInNdYkmOPtRu8ljmo\\\\\\n\",\n       \"ZBuQAN8rr7yi8qHJOa7ccJYbKraes9pC/9yqbpIRketiAIsaLLl4k2CWTHIRLHfu5G7Y2YaBlhYP\\\\\\n\",\n       \"ErySO3iS+0cOqnIQlJxYttwZ018jffPlwtmSraOmST6aygIucpImJzhyV09OBCQpqHxfaYEiwbrq\\\\\\n\",\n       \"3MGrrIWOvZJfSi4HySshgURJMi05LyT4Jid7Or28kteistF7LC/kzVug2VNd10dNObqOJK+c3GnW\\\\\\n\",\n       \"A7BSHrnzKnecrdGDkzUleeZkO5c70pJ3Q07uZdt+77331El+VWw9aa3tupZAkP4blYTBEmiWCxpJ\\\\\\n\",\n       \"jq7nGZF6kt+y/E6tkd9ufbPle0ugVfJoSW4SaR0mLSXk9yuBdX04diJq2GrTQre6+zbL45F+TJPg\\\\\\n\",\n       \"hbWcj8LyhoU9js81OZbW9f5f6kZaLUuLLGkxK/tcudEnN0Ll+Cffu7Ljmp5w35nouVqtBUIlx5q0\\\\\\n\",\n       \"3teP7dIqXW4aS05Mew3Io3+urBMianwYwCKXoHe7Mx9lpbKTAeneJidTcpDVSQJjy9G8Knu/nsBT\\\\\\n\",\n       \"LvZtafFTE5KwXZJgSrdI8zuS1ron1sUdKEmWL+QC15KMZiMnDdL6Sid3F6X7ozSxl7uRcrKpdx8U\\\\\\n\",\n       \"0kpE72JXV3VmT7KOzUdPrKyOpEWLnMCa30GV+tH/rv8r9SItnMxbYVnWrSPrSFr5STDJvNuZ1IGU\\\\\\n\",\n       \"+WxlkddJizzptlHdVljyegk8yySfJUEtSVZeWQBL6lLqW+566y3dhARN5fer13ldkeSyEmR79NFH\\\\\\n\",\n       \"VfdS+e3J95eWoBJwruq3qJddur+Y3+G2NsKWtffq24y+nQhpGSDLq+n2Ir9h+Z3KJMuSizIZAUwS\\\\\\n\",\n       \"9UvLDSJqvGzdt1VGWiVJi14JwNjrmKaff8nxubJl1tWxtDb7fyHnCfI6mSTgJTf5ZPAdOa+Tcuqt\\\\\\n\",\n       \"zSzPRatK92DP80D9OGOtW7/l+Yqcl0pQTh8125IE9WSSupLBX6Rlr9yceuaZZ2wqy9m+j/655ucB\\\\\\n\",\n       \"RNR4OEe7VSIbyYHe2p04PTeOeRcbuTizPBEQcqfLchkyup7lXS49QGO5DLmjJ61U5ORDcmhZkmbz\\\\\\n\",\n       \"taXfhbTs3igtxyxV9j1rQ7q8SRdACUqZL1tOGuWOmtyNNCcnXxKMkDuKMkm3JPPuBBLskxH73n//\\\\\\n\",\n       \"fatDOdujzuxJug/q3VMt6etE6iA5ObncaI4y+p5sSxKo0kdllNfJfBklSCfbmrzOnKPqSE6O5W6p\\\\\\n\",\n       \"tPD7v//7v7L5kj9EAlsSnLIk24R8J72upE6stdqp6q65nkNDJ3Umd8Uthx43p2935iMgCv3ut60j\\\\\\n\",\n       \"+tWUtK6UfFsSpJW7y3o9SVdkGdXPWndlfXRIvSWAtHIyZ7kdWCO/L1k/MiqqeZ1KjhbZL9Tke1vW\\\\\\n\",\n       \"vyxful/L8q3t14iocbF131bVeYwcH6R1p7UbQjU5psmIwHJuIccAy/Mefd9YV8fS2uz/5QaPJTnH\\\\\\n\",\n       \"EvoxTw/O6fkl9XOFyrpfmpPRs4W1c0HZn8uNNWt1Udl5n3k6DcklKiN0m5PgoNw4lpGDzcnIkvq5\\\\\\n\",\n       \"gU4CWRK8q+rYbqmy82/d5s2bVe+JmowmTEQNH1tgUYMi3f8kB4Hc/ZLuddJqQO7uSBBBElVKSw7z\\\\\\n\",\n       \"YXYlx4tc3EqOHjnpkSTrMpSxdP+Tg59csMlFurxObxKtkwO5nIA9//zz6mAuXeWkubecHEkwQvL1\\\\\\n\",\n       \"yMmUdD2UO43x8fGqabjcaXrrrbdq9T0lH41cUEryU7nrJ61T5ARJPtvyJES+p5RH7mxJAEBeU1l+\\\\\\n\",\n       \"rup48cUXcf7556tuljLktZyMycW21Ju0krE8mZHWGwsWLFAnbDJct6W3334bQ4cOVSczknxa7pJK\\\\\\n\",\n       \"yxmpf0kmLQGj2pD8DJ9//nmF+XJSKN+hOiSQIy31Lr/8cpVsX+pYTkClRZzcRZQE75I0Xk6QJfgj\\\\\\n\",\n       \"J1Oy/cl7pPuknFzruaRkHco2IXkvjh49qrY5yeFmLd9afdWRtASSE0PJ66EnYZffhHl3DqkD+b7y\\\\\\n\",\n       \"e5HvKHUg61aGCJfvKd9FWuJJdwr5LUhwRe7cSi4rWf7q1avV36TLhTVSD3KRIcuV4KecCMtyK3u9\\\\\\n\",\n       \"kHqX1pNyQi/llyDhP//8o064pRurfF5dk7qQbnayX5DPlO8uw7NLomQJsMu6losOuWCQ+RIAlBN9\\\\\\n\",\n       \"+Z5yMSfbhgSPZGh5SfQvQ62f7Y6z7F+kVZQECaV+JaeI3BGXYJh0oTZvOVedfYx0gZbyNm3aVF2U\\\\\\n\",\n       \"yX5LgmH6tktEjZet+7aqzJkzR71Xzr3kmCb7fTmWyrFIzrusBXaqIoEQOd+R46qco8k5nwRepEwy\\\\\\n\",\n       \"KIh+w6WujqU13f9LzkcJTMn+VVo6SW4s2X9Llzopp5BgjBwXZF+vt2iWcyrLgJA10hpK6lbOhaV7\\\\\\n\",\n       \"v7xX8oTJJAE2aakkx86zJXKXrn5SRimTnPtIOeS8T8qm58k0zxEmLcgkaKWnHpDk+XIMl3MnKYeU\\\\\\n\",\n       \"Xc4t9GCmreR4KaT7odz8kffLubZ5UE22AebAImqkHD0MIlF1/Pbbb9r111+vdezYUfP391dDy8fG\\\\\\n\",\n       \"xmp33nmndvLkyXKv3bdvnzZ8+HDNx8en3BDCMvTy9OnTtSZNmqhljB07Vr1Whgi2HGZ47ty5Wps2\\\\\\n\",\n       \"bTQ3N7cKwxjLY3mvDAXt7e2ttW3bVrvuuuvUcMtV0YdEPtswwz/++KPWvXt3tezWrVtrzz//vDZ/\\\\\\n\",\n       \"/vwKwywnJyer4a8DAgLU30aMGFHpsNrmn2/+XSqzbNkybciQIaoOAwMDtQsvvFDbs2eP1df+8ccf\\\\\\n\",\n       \"arkGg0FLSEiw+ppDhw5pU6dO1SIjIzUPDw+tefPm2oQJE7Rvv/227DWVlbsy+hDRlU3m69TaUOFC\\\\\\n\",\n       \"6kyvN93p06e1O+64Q5VRtrMWLVqoZZkPBy7bnL4tyWtk2G4pvyVZ1rXXXqvqULYXeawPN235+vqo\\\\\\n\",\n       \"I3d3dy00NFQbMGCANnPmTO3YsWNW35eVlaX+Lr8x+X7yPWUY8pdeekkrLCwse50MbS5Di8vvUl4X\\\\\\n\",\n       \"Hh6unX/++drmzZvL1b35unjmmWe0/v37a8HBwWr7kvc+++yz5ZYrQ4JbHqaKioq0J598Ug2lLvUT\\\\\\n\",\n       \"HR2tymg+XHp117U18rkylLc1TzzxRLnfkJRZfp9dunTRvLy8tJCQEDVMvZQzIyOj7H05OTlqmVL3\\\\\\n\",\n       \"su+ZNGmSFhcXp5Y1Z86csw6n/tZbb6l6ku/dtGlT7bbbbqswlLx8NymHJcth199//321fwwLC1Nl\\\\\\n\",\n       \"lv3X//3f/5UrLxE1DNaOCfKb9/Pzq/Baa/vVyvaXtu7bqtpfynFS/ib7atl3ybFt9OjR2gcffHDW\\\\\\n\",\n       \"8yL92GV5nPz777+1c889V533yHeUc6U333yz2sfS+tr/L1++XJs4caIWFRWljpHy7+TJk7X9+/dX\\\\\\n\",\n       \"KPOYMWPUcmQf//DDD5edW5mfs1nuz8XatWvV58ry5fWyns3r0PL8tjKLFi3SOnXqpMrQuXNnbfHi\\\\\\n\",\n       \"xVY/T9arnEt89tlnZfMOHz6sztHleCLnrnKsO+ecc9S5ZHXIOYWc18u5hJxTmm+ve/fuVc+ru0wi\\\\\\n\",\n       \"ch0G+Z+jg2hERESNkYyc2qtXL9UybsqUKY4uDhERUYWWZ3/++adqeW1OWudLK2JpcV1fZAAmac0m\\\\\\n\",\n       \"Ld/ZAouocWIOLCIionog3XAtSZdC6RYjCeyJiIgaChn1W1IRSOqE+iDd72XEYkmZweAVUePFHFhE\\\\\\n\",\n       \"RET14IUXXlB3jSVXlyQE/u2339Qk+dQsh6QnIiJyZjIaoYzibSvJ/WntRo45yc1YGclVa5mLi4ga\\\\\\n\",\n       \"HwawiIiI6sHgwYNV8tmnn35anYTLyb8MiCCJcImIiFzZ3XffrQZdqQoz2xDR2TAHFhEREREREdWZ\\\\\\n\",\n       \"PXv2ICkpqcrXjBkzhmuA6pXkVJOR16WFvIz0/t1336lRRqsiOeHuvfdeNfqptKB/9NFHVa44qh9s\\\\\\n\",\n       \"gUVERERERER1pnPnzmoiciY5OTno0aMHrr/+elxyySVnff2RI0cwfvx43Hrrrfjiiy+wfPly3Hjj\\\\\\n\",\n       \"jWjWrBnGjh1bL2Vu7NgCi4iIiIiIiIgaLRkc4GwtsB588EH88ssv2LVrV9m8q666Cunp6fj999/r\\\\\\n\",\n       \"qaSNG1tgkd2ZTCbVRDggIICjhBARUVluk6ysLERFRamRF20hCYILCwvtVoOenp7w9vbmGrEDHuuJ\\\\\\n\",\n       \"iKgmx/a6Pt5LmSxHqvTy8lJTba1bt65CV1dpeTVjxoxaL5tswwAW2Z0ErziiFhERWZOQkIAWLVrY\\\\\\n\",\n       \"dDIbEt0S+amn7FaRMsKVNP9nEKv2eKwnIqLqHtsrO97HtPJHckqJXSrU39+/woiVjz/+uBo4p7aS\\\\\\n\",\n       \"k5PRtGnTcvPkeWZmphpl08fHp9afQVVjAIvsTlpeiYuWrIaHn7/Da7i5lycei42Cu8GApbuS8d22\\\\\\n\",\n       \"REcXiYgIg9uGYVwPX3y29zMczzru8jVSmFuIL67+ouwYcdbXFxaq4JW9jiVFOdn4cewwtVwGsGpP\\\\\\n\",\n       \"X49DcQHc4WGHJRI1PN/t3+noIpALMDbdioZKAjfScMHWY7s1clyW4NWxza0RGGCsXXmyTGjV56gK\\\\\\n\",\n       \"qAUGBpbNt0frK3IODGBRBYmJiap/72+//Ybc3FzExsbio48+Qt++fW2qLb3JplxwePjXfGdmLykA\\\\\\n\",\n       \"ZidnYHb7aFw2OBABgYFYsDHB0cUiokasd8tgXD4oEPN2zUOKKQWefp5oLCyb9Z+NsxxLyPp6lOCV\\\\\\n\",\n       \"u4EBLGqcanuxTSSMZoGWxnJst8Y/wKCm2jCh9P0SvDIPYNmzJffJkyfLzZPn8llsfVU/GMCics6c\\\\\\n\",\n       \"OYMhQ4bgnHPOUQGs8PBwHDhwACEhIQ26ppIKivFQXAJmd4jG2K6RMBoM+PKfeEcXi4gaqTbh/th0\\\\\\n\",\n       \"chMSshhMJyIiIirRTCjRar+MujRo0CD8+uuv5eb98ccfaj7VDwawqJznn39eNQOVFle6mJgYl6il\\\\\\n\",\n       \"E4XFeDAuAc+3j8Z5XZrCaAA+38AgFhHVr46RAegfE4qvDh5k1RMRERE5iOTKOmh2PiZ5Mrdt24bQ\\\\\\n\",\n       \"0FC0bNkSM2fOVL2TPv30U/X3W2+9FW+99RYeeOABXH/99VixYgW+/vprNTIh1Q+2e6VyfvzxR9VV\\\\\\n\",\n       \"8PLLL0dERAR69eqFuXPnukwtnSwsxgNxCZDY/MhOEXCTKBYRUT3pHBWIG4bGYPGRj7AvbR/rnYiI\\\\\\n\",\n       \"iEh1/9PsMlXHpk2b1PWuTOLee+9Vj2fNmqWenzhxAvHx8eUadkiwSlpd9ejRAy+//DI+/PBDNRIh\\\\\\n\",\n       \"1Q+2wKJyDh8+jHfffVf9eB9++GFs3LgRd911lxp6fNq0aVZrq6CgQE3myfycWUpRMYpMGjyNBgxp\\\\\\n\",\n       \"G4a/DqQ6ukhE1AhIeojrh4dh0YGPsf3UdkcXh4iIiMhpmNR/tV9GdYwcORKaVnnQ6+OPP7b6nq1b\\\\\\n\",\n       \"G27i/YaOLbCoHJPJhN69e+O5555T0eebb74ZN910E957771Ka2r27NkICgoqm6QLorN75Wiyis9P\\\\\\n\",\n       \"HxqDEe2bOLo4RNQIRAZ6w8PNA/vP7Hd0UYiIiIiIGhwGsKicZs2aoXPnzuXmderUqVzTSUvSNzgj\\\\\\n\",\n       \"I6NskmFLnd3O7Dw8dyhJBbGuGxKDczowiEVEdadZkDfuHBuGZceWIbc4l1VNREREZKZE0+wykWtj\\\\\\n\",\n       \"AIvKkREI4+Liys3bv38/WrVqVWlNeXl5lQ1VWldDltaFPTn5eOZgaRBr6qAYjOkU7ugiEZELigjw\\\\\\n\",\n       \"wp2jYrEmcQ2WxS9zdHGIiIiInI4jcmBRw8MAFpVzzz33YP369aoLoYzI8OWXX+KDDz7A7bff7pI1\\\\\\n\",\n       \"tS83H08dTITJAEwZ0BpjuzR1dJGIyMV0axGEhPwdWJGwwtFFISIiIiJqsBjAonL69euH7777Dl99\\\\\\n\",\n       \"9RW6du2Kp59+Gq+99hqmTJnisjW1P7cAT0oQC8BV/VpifNdmji4SEbmIAG939GsdiqTsJEcXhYiI\\\\\\n\",\n       \"iMhpSeupklpObIHl+jgKIVUwYcIENTUmB3MLMOvgcTzdrgUu6dscfx9KRUZekaOLRUQNPHglXQdP\\\\\\n\",\n       \"FG1h10EiIiKiKtijCyADWK6PLbCI/nUkrxDZxSUwGgzo2NSf9UJEtXLjsDZILNyEhXELYdJqOzA0\\\\\\n\",\n       \"EREREVHjxgAWkZkvT5xW/95yTiy6Nw9i3RBRjbgbDWga6IU1SWugMaEoERERUZU4CiHZggEsIjN/\\\\\\n\",\n       \"ncnGu8dOwgBgxrnt0TOaQSwiqh4PNwNuGt4GyRn5OJlzktVHREREdBYmO03k2hjAIrLwd0YO3pIg\\\\\\n\",\n       \"lgG4a3R79GkZzDoiIpuDVzcPbwNv/wR8fOgJFGvFrDkiIiIiIjtgAIvIinUZOXjtaGkQ6/ZR7dC/\\\\\\n\",\n       \"VQjriYjOqmvzIISFpGP+rvkoKClgjRERERHZoLYjEOoTuTYGsIgqsTEzB68cTVZBrFtHxWJgm1DW\\\\\\n\",\n       \"FRFVSroed4oMREpuCgpNhawpIiIiIhuVaPaZyLUxgEVUhc2ZuXjpyAl1YSo5bZoGerO+iKgC2Udc\\\\\\n\",\n       \"3jca7aJz8cOhH1hDRERERER2xgAW0VlszcpDYn4hjAYDWoX6sL6IqBxppXlV/5bo2DIX729/H+kF\\\\\\n\",\n       \"6awhIiIiompgEneyBQNYRDZYcTpTtbC4ZXgbtApjEIuI/nNVv5ZoG+6H93e8j4zCDFYNERERUTWZ\\\\\\n\",\n       \"YEBJLSdZBrk2BrCIbPD76UwsOJEGNzcjZo3vgjZN/FhvRKRGHRzYzhsfH5iDzMJM1ggRERERUR1h\\\\\\n\",\n       \"AIvIRj+eSseXSadhdDPgkfGdEBvBIBZRYzc0tgnyivPY8oqIiIioFkyafSZybQxgEVXDz6kZ+Cwp\\\\\\n\",\n       \"FUajATPP74QOTf1Zf0SN1OhOERjb0xsf7vwQxaZiRxeHiIiIqMGqbfdBfSLXxgAWUTX9npqJjxJP\\\\\\n\",\n       \"wc1owH3nd4S/lzvrkKiR6RUdjDHdPDF3x1wkZic6ujhERERERC6PASyiGlh2OgsZxSVwNxjQNMiL\\\\\\n\",\n       \"dUjUyDQP8cG+tH1IyklydFGIiIiIGjy2wCJbMIBFVEMbMrLVD+j/zuuAMD8P1iNRI9G9RRBGtA/H\\\\\\n\",\n       \"9lPbHV0UIiIiIpdg0gx2mci1MYBFVEMfJ57GyrRMeHu44dmLu6GJvyfrksjF9WgRhGsHtsKCgx8g\\\\\\n\",\n       \"7kyco4tDRERERNRoMIBFVAtzj6di2el/g1iTuiIigEEsIld2ed9oLD7yMfak7XF0UYiIiIhcBrsQ\\\\\\n\",\n       \"ki0YwCKqpfmJqViSmgEvDzc8M6krmgYyJxaRK2oe7AMfTzckZCU4uihERERELqUERrtM5Nq4hons\\\\\\n\",\n       \"4JOk0/j1VDo83d3w9MXd0CzIm/VK5EKiQ31w59gm+OP4YpzOP+3o4hARERERNToMYBHZyecn0vBz\\\\\\n\",\n       \"Sjo8jQY8OakrgnyY2J3IFUQEeOGOc8OxPH45Vh1f5ejiEBEREbkczQ4J3GUZ5NoYwCKyoy+T05BU\\\\\\n\",\n       \"UAQPowGtwnxZt0QuoE24H5JykvB34t+OLgoRERGRS2IOLLIFA1hEdhaXkweJ/d8wNAa+nm6sX6IG\\\\\\n\",\n       \"TFpSjunUFPGZ8Y4uCjnQnDlzYDAYMGPGDJdcD67+/YiIiMg1MIBFZGcfHk/Fzqw8deE759Ju8Pdy\\\\\\n\",\n       \"Zx0TNUAhvh64a3Q7HM1fjyVHlzi6OOQgGzduxPvvv4/u3bu75Dpw9e9HREQNQ4lmtMtEro1rmMjO\\\\\\n\",\n       \"NLmbfeQEtmXlItDbA7Mv6YYABrGIGpxrBrbCkbx1WHxgMTT1y6bGJjs7G1OmTMHcuXMREhICV+Pq\\\\\\n\",\n       \"34+IiBoOEwwwwVjLiTmwXB0DWER1QC51XziSjE0ZOQjwdsfsS7sh0JstsYgaCk83I8IDvLDj1A4G\\\\\\n\",\n       \"rxqx22+/HePHj8eYMWPgilz9+xEREZFr4RU1UR165dhJ3N2qKQYE+akg1sOLdyIjr5h1TuTEvNyN\\\\\\n\",\n       \"uGVEG6RkFuBI5hFHF4fsLDMzs9xzLy8vNVlasGABtmzZorrYuaLqfr+CggI1VVaPRERE9kjiXttl\\\\\\n\",\n       \"kGtjCyyiOvb6sZNYl54NP093zJHuhGyJReTULa9uHdEWmtdhfHrkcRSbGHB2NdHR0QgKCiqbZs+e\\\\\\n\",\n       \"XeE1CQkJuPvuu/HFF1/A29sbrqYm30/qybzepB6JiIjshTmwyBZsgUVUD96MT0FTTw/E+HphUJsw\\\\\\n\",\n       \"LN1zkvVO5ITahPuhSUgWXtj0MYNXLkqCN4GBgWXPrbW+2rx5M1JSUtC7d++yeSUlJfjrr7/w1ltv\\\\\\n\",\n       \"qZZIbm4Nd5TZmny/mTNn4t577y3XAotBLCIiIqpPDGAR1ZMDuflo4+uF0Z0isDIuBUUlTApN5EwM\\\\\\n\",\n       \"BqBPqxCcyktk8MqFSfDKPIBlzejRo7Fz585y86ZPn46OHTviwQcfbNDBq5p+v8q6WhIREdkviXvt\\\\\\n\",\n       \"ugAyibvrYwCLqJ58fuI0Ovr7oFWgN56d1BWPfr8bhSUm1j+RkwSvru7fEjFRWfhg5wJHF4ccLCAg\\\\\\n\",\n       \"AF27di03z8/PD2FhYRXmN0Su/v2IiKjhkVEES2qZ4cjEUaNdHnNgEdUTaXD16P7jOJpXgIh/g1iS\\\\\\n\",\n       \"LJqIHO+iHlFoHZWJD3Z8gKzCLEcXh4iIiIiILLAFFlE9KgHw2IFEPBHbHG0DvfDcxV3xyHe7kF/M\\\\\\n\",\n       \"llhEjtQy1Bd/Hf8dWUUMXpF1f/75p0tXjat/PyIiahhJ3Gu3DKZocXVs/kHkgCDW4wcTVU6sMH8v\\\\\\n\",\n       \"PHdJN3h78KdI5ChjOjVFsyAfHMk4wpVARERE5KAuhPaYyLVxDRM5gLS3evJgEvbl5CPUzxOzGcQi\\\\\\n\",\n       \"coixXZrinI7h+HDfCzidf5prgYiIiIjISTGAReTAINbTh5JwJK8AIb6euLhnc64LonrUxN8TY7v7\\\\\\n\",\n       \"Y+7e53Ei5wTrnoiIiMhBSjSDXSZybQxgETmQ9NLenJmjHneJCoKR+1yietMm3B95xXk4mXuStU5E\\\\\\n\",\n       \"RETkQDICoT0mcm1cw0QO9uupDKQVFaNFqA8euaAT3AyMYhHVtZ7RwbhiQBAWHVjEyiYiIiIiagAY\\\\\\n\",\n       \"wCJysHyThvviEpBaWIy2Ef54dEJHBrGI6lDXqEBcPaAlPt/7Ofam7WVdExERETmYSTPaZSLXxjVM\\\\\\n\",\n       \"5AQKTBr+b38CUgqLENPEH7MmdIIb+xMS1Ynu0cFYe/I3xJ2JYw0TEREROQF2ISRbMIBF5ERBrAfi\\\\\\n\",\n       \"jiO5oAitmvjhiQs7w51BLCK7ahnqi27Ng5CYnciaJSIiIiJqQBjAInIihZqGB/cfR1JBEaJDffHk\\\\\\n\",\n       \"RV3g4cacWET20DrMF7eNbIvlSd9i1+ldrFQiIiIiJxqhvbYjEMoyyLUxgEXkZIo0DQ/tT1BBrOYh\\\\\\n\",\n       \"Ppg2qLWji0TU4Ekg+LYxTfBH4tdYk7TG0cUhIiIiIjMmGO0ykWvjGiZyQsUa8N3JM9AAxIT7Obo4\\\\\\n\",\n       \"RA1eiK8nvN29sTF5o6OLQkRERERENcAAFpGT2p6Vi9wSE5oH++DOc9o6ujhEDVaIrwduGdEW60+s\\\\\\n\",\n       \"R7FW7OjiEBEREZGFEs1ol4lcG9cwkZPKLjHhvn3x6t8+rUNx9+h2YDYsouoHr+4a3Q4Hclbjh4M/\\\\\\n\",\n       \"sPqIiIiInJAJBrtM5NoYwCJyYpn/BrGySkzo1TIY95zbnrtlomoY1DYMKcW78MOhH6CpTrlERERE\\\\\\n\",\n       \"RNQQMYBF5OQkeHXvvnhkFpege4sg3H9eBxh4c4HorLzcjegQGYgT2SdYW0REREROjF0IyRYMYBE1\\\\\\n\",\n       \"ADkqiJWgglidmwdiYo8oRxeJyKl5exhx28i2KPI4gOUJyx1dHCIiIiKqQgmMdpnItXENEzUQuSYT\\\\\\n\",\n       \"/jidqR7HRnBkQqKqg1exKnj1ye5PUGxi4nYiIiIiooaOASyiBmR1WhaKNQ1dmgfjqn7Rji4OkdPx\\\\\\n\",\n       \"cDPg9nNikZ1fjE/2fMJRB4mIiIgaAJNmsMtEro0BLKIGJKWoGA/tT0CRpmFs10hc3Z9BLCJzTQO9\\\\\\n\",\n       \"ERGSjy/jZ6FEK2HlEBERETUAJjt0H5RlkGvjGiZqYE4UFOPBuAQUmTSc1yUS1w5o6egiETkFowEY\\\\\\n\",\n       \"3akpTuaehEkzObo4RERERERkRwxgETVAJwuL8UBcAgpMGkZ3boppg1s5ukhEDuVmMGDa4NaIikjD\\\\\\n\",\n       \"p3s+5dogIiIiakBMmtEuE7k2rmGiBtyd8IG4eOSbNJzTIQI3DG3t6CIROcz53SLRtMlpfLDjA+QU\\\\\\n\",\n       \"5XBNEBERETUgJTDYZSLXxgAWUQN2qqgE9++LR55Jw9B24bi0V3NHF4nIIZoH+2DbqW3ILc7lGiAi\\\\\\n\",\n       \"IiIickEMYFGV5syZA4PBgBkzZrCmnFRacQk+On5KPe7cPMjRxSGqdxd0a4YWob7YlbqLtU9ERETU\\\\\\n\",\n       \"ALELIdmCASyq1MaNG/H++++je/furCUndyA3HyYNaNPED6M7hju6OET1ZkL3ZhjYJhQf7p2D0/mn\\\\\\n\",\n       \"WfNEREREDZCMHV37LoTk6hjAIquys7MxZcoUzJ07FyEhIaylBpDU/ZlDiTAZgGsGtsbYLk0dXSSi\\\\\\n\",\n       \"Oufn6YZzuwXgw31zkJKXwhonIiIiInJhDGCRVbfffjvGjx+PMWPGnLWGCgoKkJmZWW6i+heXW4An\\\\\\n\",\n       \"DybCBOCq/i0xvmskVwO5tC7Ng1BYUojUvFRHF4WIiIiIaoFdCMkWDGBRBQsWLMCWLVswe/Zsm2pH\\\\\\n\",\n       \"XhcUFFQ2RUdHs1Yd5GBuAR4/eBwlmobL+kXjwh7NuC7IJfWPCcXlAwLx6Z5PoUFzdHGIiIiIqBZK\\\\\\n\",\n       \"NKNdpup6++230bp1a3h7e2PAgAH4559/qnz9a6+9hg4dOsDHx0dd995zzz3Iz8+vxTen6mAAi8pJ\\\\\\n\",\n       \"SEjA3XffjS+++EL9iG0xc+ZMZGRklE2yDHKcw3mFeOxAogpiXdK7BYbGhnF1kEvp2jxIBa8+2f0J\\\\\\n\",\n       \"DqYfdHRxiIiIiKgBWrhwIe699148/vjjqgFHjx49MHbsWKSkWE9N8eWXX+Khhx5Sr9+7dy/mzZun\\\\\\n\",\n       \"lvHwww/Xe9kbKwawqJzNmzerH2zv3r3h7u6uplWrVuGNN95Qj0tKKqbG8/LyQmBgYLmJHOtYfiF+\\\\\\n\",\n       \"SElXj3tEB3N1kEuJjfDH5pObcSjjkKOLQkRERER2oMEAUy0nWUZ1vPLKK7jpppswffp0dO7cGe+9\\\\\\n\",\n       \"9x58fX0xf/58q69fu3YthgwZgquvvlq12jrvvPMwefLks7baIvthAIvKGT16NHbu3Ilt27aVTX37\\\\\\n\",\n       \"9lUJ3eWxm5sba6yB2JmVp/7t0yoEPaKDHF0cIruQkTYHtQnD4YzDrFEiIiIiF1HfXQgLCwtV4w3z\\\\\\n\",\n       \"nM9Go1E9X7dundX3DB48WL1HD1gdPnwYv/76Ky644AI71ADZwt2mV1GjERAQgK5du5ab5+fnh7Cw\\\\\\n\",\n       \"sArzybntz83H28dO4vZWTXH36PZ4e8UBbI4vbZVF1FBbXt00rA1+TfgSO1N3Oro4REREROSELAcV\\\\\\n\",\n       \"kx5DMplLTU1VvYuaNi0/ers837dvn9XlSssred/QoUOhaRqKi4tx6623sgthPWIAi8iFrc3IQdHR\\\\\\n\",\n       \"k5jRuiluH9UO7608iH+OnXF0sYhq5IahMfgt4Sv8k8xm2o3Jebv/UYlSaysvLw+L7FIiIrKXJUnb\\\\\\n\",\n       \"GnRljo3q6egikAv4Q4YQJ5g0g5pqQ3+/5aBikrPqiSeeqHUt//nnn3juuefwzjvvqITvBw8eVPmj\\\\\\n\",\n       \"n376aTz22GO1Xj6dHQNYZNMPlRqujZk5ePVoMu5pHYlbR8XCuOoQ1h9Oc3SxiKolzM8TPp5u2JO2\\\\\\n\",\n       \"hzVHRERE5GJKYFRTbZchZFAx87zMlq2vRJMmTVR6nJMnT5abL88jIyOtLl+CVNdeey1uvPFG9bxb\\\\\\n\",\n       \"t27IycnBzTffjEceeUR1QaS6xRomagQ2ZebipSMn1OObR7RFx8gARxeJyGZN/D1x9/khWJO8FFmF\\\\\\n\",\n       \"Waw5IiIiIqqU5QBj1gJYnp6e6NOnD5YvX142z2QyqeeDBg2yutzc3NwKQSo9R7R0KaS6xxZYRI3E\\\\\\n\",\n       \"1qw8rD2TjSEh/ujRIgj7khkIIOcX6ueJu0a3w/ZTy/HrkV8dXRwiIiIicvIuhLa69957MW3aNDVo\\\\\\n\",\n       \"Wf/+/fHaa6+pFlUyKqGYOnUqmjdvjtmzZ6vnF154oRq5sFevXmVdCKVVlsznYGf1gwEsokZkR1au\\\\\\n\",\n       \"CmCd27kp1h85jWOnS0cqJHJW3VsEIbV4H4NXRERERC7MBKOaaruM6rjyyitx6tQpzJo1C8nJyejZ\\\\\\n\",\n       \"syd+//33ssTu8fHx5VpcPfroozAYDOrfxMREhIeHq+DVs88+W6tyk+0YwCJqRP5Oz0aYpzuujAzF\\\\\\n\",\n       \"rPFd8Mwve3HkdI6ji0VklY+HG/q0CkF8zm7WEBERERHZ3R133KEmW3JBu7u7q4TwMpFjMAcWUSPz\\\\\\n\",\n       \"Q0o6vkw6DaObAY9O6ITYCD9HF4moAl9PN9wxKhY5xr347chvrCEiIiIiF1aiGewykWtjAIuoEfo5\\\\\\n\",\n       \"NQOfJaXCzWjAzAs6oX1Tf0cXiaic6UNikIFd+GzvZyjRSlg7RERERI0gB1ZtJ3JtDGARNVK/p2bi\\\\\\n\",\n       \"o8RTMBoMeOj8TujYlCMTknNwMxgQFeyNVcdXwaSZHF0cIiIiIiJyAgxgETVif5zOwryEUzAYgAfG\\\\\\n\",\n       \"dUAHtsSyKjluC3Yv+aJadSuvl/dV19GNy/H9I1fg81uG4cdZV+P4jjVobMGraYNbISOvCMk5yY4u\\\\\\n\",\n       \"DhERERHVA00zwlTLSZZBro1rmKiRW3EmC0tSM2A0GjC6U+mIG/QfCUKteO0ebP76Dez89RObqkZe\\\\\\n\",\n       \"J6+X91UniJVycAdWf/AYYoddiAmPf4roXsPx51sP4MzxQ40meDV9aGs0aXIKH+5/AoWmQkcXiYiI\\\\\\n\",\n       \"iIjqQQkMdpnItXEUQiLCvpw8jG0ShB4tgtDE3xOp2Qwc6E4f3Yviwnz1eOuid9S/3S6YVulWs+27\\\\\\n\",\n       \"97Hj5/nqsbxvxRv3wzckAkHNWqH9iIsR1bk/4resxPYf5yEr5TjcPL0Q2rIDzrnzRexdthBRXQei\\\\\\n\",\n       \"67hr1ft7XXwrTuz5B3ErvsHAqQ+5/JbapXkgWjbNxaub5yK/pLTOiYiIiIiIBANYRIR/MnKx4nQm\\\\\\n\",\n       \"RocF4tlJXfHo97twikGs0qDK2CkwlRSXBa8qC2JlnozHX+8/hrRj+8rmebXoAu+W3WEqyMbJhF1I\\\\\\n\",\n       \"ePVu+IZGIu9MCnpfdjta9R2FovxcnNy/TdpN49Shneh83uRyy43qMhAJW1c1iq20XdMAnMpNYvCK\\\\\\n\",\n       \"iIiIqJExaaWJ3Gu7DHJtDGARkTIvMRUlmobzmgTh2Yu74rEfduNkZgFrxyxYVVkQK3nfZix7dQZM\\\\\\n\",\n       \"xf+1XAseMQ1BAy8ve65pGgqT9iF97UJoacmI3/oX2o2YBP8mUQhpEatek59xGj6BoeXq3DswFHmZ\\\\\\n\",\n       \"p11+PVzUIwo92xTjgx3fO7ooRERERFTP9DxWtV0GuTauYSIq83HSafx2KgOe7m54+uJuaBbkzdr5\\\\\\n\",\n       \"lwSrel36v7L6kCCW5Lo6eWAb/nj5ziqDV8JgMMCreSdEXPoYPJu2xamD27H4wUsQt+JbFORkNup6\\\\\\n\",\n       \"Htc1Ev3amfD+9veRmpfq6OIQEREREZETYgCLiMr57MRp/JySDk+jAU9d1AURAZ6soSqCWEvm3ALN\\\\\\n\",\n       \"VFJl8MqcweiGyGmvIfS821GYm4Wt372HHx65AlmnkuAdFIa8zLRyr8/PTINPYJhLr4MuUYH45cgv\\\\\\n\",\n       \"OJ3v+i3NiIiIiKgiEwx2mci1MYBFRBV8mZyGLZm58HA34pyOHJmwqiCWOfPglVEzodupgxhxfKv6\\\\\\n\",\n       \"V56bt8YK6HU+QkbfhMLcbMBoRMKWPxHethuS924qt0xJ4i7zXVX/mFBEBHjjRM4JRxeFiIiIiByk\\\\\\n\",\n       \"RDPYZSLXxhxYRGTVvpx89A70xdDYMPy0PQm5hf+1MmrsJIi1+7fPVAsqndHLryx4NThpJ27d8T3C\\\\\\n\",\n       \"8zPK/n7KOwjvdZ+ElfBE/rHt8G7dC94te8Dg7oGCrDMIimqNJm27YskLt2L3ki/QovsQHPnnDzUK\\\\\\n\",\n       \"4sCpM+GKBrUJw6RezfHp/jeQkpvi6OIQEREREZETYwCLiKz65VQ6uvn7oFuAD+Zc2g0zF+1EDoNY\\\\\\n\",\n       \"iuS+Mg9eCVNBDjLWf4PzW3bEo/98UqE+w/Iz1PySjuPxY8IuZG76AaaCXBjcPeHm5obITv3g5u6B\\\\\\n\",\n       \"YTc9jW3fvYeti99FYEQ0Rt7xAkJatHW5rTQy0BuXDQjChztfw9HMo44uDhERERE5EJO4ky0YwCIi\\\\\\n\",\n       \"q2QU2jlHTuD/YiLRM8AXcy7tjocX70RWQTEae/BKH4VQb3klwSuRvuoTBERGA0F+FXrgS39t6UT4\\\\\\n\",\n       \"v2NrsPHyJ2AylPbgLkjci+TP/w9njh9Ek9ad0LrfaDW5umbB3sgszGTwioiIiIhKc1jVsgsgc2C5\\\\\\n\",\n       \"PubAIqIqg1gvHknG5owcBHi7Y/YV3RHo3Xjj3pbBK/eQKETPWKhyX+k+SE7Ah6dPV7rDjchLR5fU\\\\\\n\",\n       \"w2Xz3PxLE7QXZv/X3dDVtYvwx9WDg7E8frmji0JERERERA0EA1hEdNYg1svHTmJjRg783d0w+5Ju\\\\\\n\",\n       \"8PdqfEEsy+BVYLPW8AiJUo8l95V5EOvV1FOYW0kQS4QWmHU//LcllmaW5N3Vg1c3DW+DHw7+gM0n\\\\\\n\",\n       \"Nzu6OERERETkBDQ7jEAoyyDXxgAWEdnk1WMncSyvEL5e7ujXOqRRB69kFMLwNl1gyv8vECVBrI59\\\\\\n\",\n       \"JtgUxMrw9C17bMrPVP96+gagMRjePhxrTv6KzSkMXhERERFRKek+aI+JXBsDWERks4O5+eq+xtgu\\\\\\n\",\n       \"kfBwaxwHCBkR0DJ4JaMQhrXujILkAyjOSi37W8Hom3Gz5MAyC2J9lFYxiDVtz2+IzCmdn3tgA9w8\\\\\\n\",\n       \"vRHULAauLjzAC62b+CE5J9nRRSEiIiIiogaGASwistknSak4nl+IyCBvPHVRl0YRxApr3Qnunt7l\\\\\\n\",\n       \"gleizaBxcHP3Qvb2JWWvlcTsWef+DzOahKvnPgYDunr7lHXFlEl0TD+Ot1a+imEJW5Cz/Xe0GTgW\\\\\\n\",\n       \"nr7+cGURAV64c1Qstp75AztSdzi6OERERETkhKMQ1nYi18Y1TEQ2K9aAmQeOIz6/EM2CffDMpK7w\\\\\\n\",\n       \"dHPt3Uhkh94YNeNV9LnirrLglfD08UfbwecjZ/sSaCX/jcy4NqobTp5/L/7XrCXeaxGNfr6l3QVP\\\\\\n\",\n       \"+QRjXpcJSPIrTdruV5yPhzd/icd8PdB12ES4Mi93I+4eF4bNaUvw25HfHF0cIiIiInIy7EJItmh8\\\\\\n\",\n       \"mZiJqFZKNOCR/cfxdLvmaB3ojScu6oxHvttV1rrIVYNYMlnqOOpyHPjrB6Qtex+h5/0PBoOhLIhl\\\\\\n\",\n       \"vPYtxKcexvKCLKR5BWB3kzaqhdZvrQfiju2LcM7xreq1lwcHY+SKz/BjwO04Ff5f90NXEuzrCV8P\\\\\\n\",\n       \"Xyw9ttTRRSEiIiIiogbKtZtOEFGdKAHw2IFE1SKraaA3fD3dGmVNBzdvg4FTH0L2tt+QvnJ+uZEE\\\\\\n\",\n       \"JVi1MzwWq1r0Uv/Kc5Hr4Y3nYsfgsawC5GmlYb/wtBOY+ukT6LltpQxHCFci28bUQa2wK3WXo4tC\\\\\\n\",\n       \"RERERE6qtiMQ6hO5NgawiKjGQazTRUVwMxpwy4i2jfZw0W7YReh39X3I3PQ9Ur5+HHlHtpYLZJkz\\\\\\n\",\n       \"5Wcjc9MPSP78fvxeWIB3J92Nk+Et1N88SooxbunHmPTDW/DKz4Er8PNyxx2jYpGOnVgQt8DRxSEi\\\\\\n\",\n       \"IiIiJ8UuhGQLdiEkohp79EAiXu4Qje4tgnD/eR3w0h9xrtaAyCadRl+BgCZR2Pzt20j5+jF4hDaH\\\\\\n\",\n       \"X7dz4R4cCYO7J0wFOSiI34mcvauAkmK07HMO+k++F4VBYfi0bTec8+fX6LvlD7Wsjvs3IfLEYfx4\\\\\\n\",\n       \"0e1Iah6LhuzcThHINe7Hl7u/hKmSoB4REREREZEtGMAiohrLKTHh3n0JeLljNLo0D8QD53XAC0sb\\\\\\n\",\n       \"ZxCrRY+haN59CFIObEPcykU49vfn5ZK7+4REoMf4aYgdNhG+wU3K5pe4e2LZmGtwrFVnXPDrXPgU\\\\\\n\",\n       \"5CI4Kw1TvnwWq4ddivUDLgD+7X7YkLgZDGgZ5osjmccYvCIiIiIim1pg1UZt30/OjwEsIqqVXJME\\\\\\n\",\n       \"seLxUseW6BQViJnjOmLO7/tgaoRBLEni3rR9LzVpJhOK8nNQXFgAT19/uHl4lSV5t+ZAu96YP/0Z\\\\\\n\",\n       \"XPTTu4hOPAA3zYSRf32DVkd34+cJtyDHPxgNhXQrvX5IDLz9TmDNkTWOLg4REREROTkGsMgWDe+2\\\\\\n\",\n       \"PhE5nTyThvv3xSOtqBjtIwNUd8LGzmA0wtM3QLW2cvf0rjJ4pcsKDMOXk2fi78ETy5JQxsTvwfUf\\\\\\n\",\n       \"P4aYIzvRUEjwKijkBObunIu84jxHF4eIiIiIiFwAA1hEZLcg1iMHEiGZjto19Wet1pBmdMPfQy/B\\\\\\n\",\n       \"gisfRKZfkJrnl5uJK795CSP/XAijWbdEZ+RuNKjupJ/v+Rz5JfmOLg4RERERNQBM4k62YACLiOwm\\\\\\n\",\n       \"u7gEeSUmeLgZMXVgS9ZsLcS36oSPpj+Dg216lM0b+M+vmPLFMwhKT3Hauh3fvRkycouQXZTt6KIQ\\\\\\n\",\n       \"1di7776L7t27IzAwUE2DBg3Cb7/95lI12hi+IxERNRySfUR6INRmaoQZTBodBrCIyG5KADyy/zgK\\\\\\n\",\n       \"TBpGdWqK6wa3Yu3WQp5vIL699B4sP2cyio1ual7z5COY/vFj6Lh3g9PV7cW9mqNPbAnm7nsOJZps\\\\\\n\",\n       \"DUQNU4sWLTBnzhxs3rwZmzZtwqhRozBx4kTs3r0brqIxfEciIiJyLQxgEZFdpRQV44G4eOSbNIzs\\\\\\n\",\n       \"EIEbh7VmDdeGwYCN/cbhs2seQ1pQuJrlXZiPST+9g3G/z4d7UYFT1O+AmFD0aluM97a/h9P5px1d\\\\\\n\",\n       \"HKJaufDCC3HBBRegXbt2aN++PZ599ln4+/tj/fr1LlOzjeE7EhFRw8EuhGQLBrCIyO5OFZWopO4S\\\\\\n\",\n       \"xBoSG46LekSxlmvpZGQMPr7uaezuNLBsXs8dqzDt0ycQfirB4fUbFeyDg+kHcabgjKOLQmRXJSUl\\\\\\n\",\n       \"WLBgAXJyclQ3O1fUGL4jERE5NwawyBYMYBFRnUgrLsFXJ06rsfQ6RwWwlu2g0MsHP024Fb+cfyMK\\\\\\n\",\n       \"PTzVvPDTSZj66RPouW0loDmm5//gtmEY2CYMG044X7dGIkuZmZnlpoIC660Yd+7cqVokeXl54dZb\\\\\\n\",\n       \"b8V3332Hzp07u1SFVuc7Sj1Z1h0RERFRfWIAi4jqzK6sPJRoQIemgRjTsbT7G9WSwYCd3Ybh46lP\\\\\\n\",\n       \"4mR4CzXLo6QY45Z+jEnfvwWv/Jx6reIhsWG4qGcUPop7FfFZ8fX62UQ1ER0djaCgoLJp9uzZVl/X\\\\\\n\",\n       \"oUMHbNu2DRs2bMBtt92GadOmYc+ePS5V6dX5jlJP5vUm9UhERGQvbIFFtmAAi4jqzInCIjxzKBEm\\\\\\n\",\n       \"AzBlYGuM7dKUtW0naWFR+PTax7Gp1+iyeR0PbML0jx5FVOLBeqvnC7o1w9eHPsCxzGP19plEtZGQ\\\\\\n\",\n       \"kICMjIyyaebMmVZf5+npidjYWPTp00cFb3r06IHXX3/dpSq/Ot9R6sm83qQeiYiI7IUBLLIFA1hE\\\\\\n\",\n       \"VKficgvw5MFEmABc1a8lxneNZI3bSYm7J5adOxWLLr4LeV6+al5wVhqu+fJZDFz/M6BJrdeddk39\\\\\\n\",\n       \"4e3hhhM5J+r0c4jsKTAwsNwk3edsYTKZKu1u6Cqq+o5ST5Z1R0RERFSf3Ov104ioUTqYW4BZB4/j\\\\\\n\",\n       \"ydjmuKxfNIxuBvy0nUEPeznQrg8+mt4aF/70HqIT98OomTDyr2/Q6uhu/DzhFuT4B8PeOkQG4MaR\\\\\\n\",\n       \"YVh88BOkF6TbfflEjiStjc4//3y0bNkSWVlZ+PLLL/Hnn39iyZIlLrNiGsN3JCKihkPTDGqq7TLI\\\\\\n\",\n       \"tbEFFhHViyN5hXjsQCJKNA2X9G6BQW3DWPN2lBkYhi8nP4S/B0+EplLnAzHxe1SXwpgjO+1a1y1C\\\\\\n\",\n       \"fFTwatGBRdiSssWuyyZyBikpKZg6darKETV69Ghs3LhRBXbOPfdcuIrG8B2JiKjhMMFgl4lcG1tg\\\\\\n\",\n       \"EVG9OZZfiCWpmbggPAhdogKx7tBp1r4daUY3/D30EsRHd8KEn99FYE4G/POycOU3L2F9/wvw17BL\\\\\\n\",\n       \"YXKr/W4/OsQXCVkJ2H5qu13KTeRs5s2bB1fXGL4jERERuRa2wCKierUtq3SUvMFtw9AjOoi1Xwfi\\\\\\n\",\n       \"W3XCR9OfwcGY7mXzBv7zq8qNFZSeUqtlRwR44YLuzbD/zH47lJSIiIiIiEncyTYMYBFRvdqdnY+3\\\\\\n\",\n       \"jp2EwWDA3aPbo09L++dnIiDPNxDfXnYvlp8zGSVGN1UlUScOY/rHj6Hj3g01rqKRHcJxKGcDVh1f\\\\\\n\",\n       \"xWomIiIiIrvmwKrtRK6NASwiqnfrMnLwugpiAbePaof+rUK4FuqCwYCN/cbh02sew5ngCDXLuzAf\\\\\\n\",\n       \"k356B+N+nwf3ouqNqObr6YY24f5Iyk7i+iIiIiIionrFABYROcQ/GTl49WiyCmLdck5bhPp5ck3U\\\\\\n\",\n       \"kZORMfho2lPY3Wlg2byeO/7CtE8eR/ipBJuW4efphjtGxSLNtBNrktZwXRERERGR3Zg0g10mcm0M\\\\\\n\",\n       \"YBGRw2zKzEVaUTGMBgOiQ3y4JupQoZcPfppwK345/0YUupcGC8PTTmDqp0+i57aV0m670veWtpSL\\\\\\n\",\n       \"xWnTdnyx7wuYNBPXFRERERHZDbsQki0YwCIih1p2OlMNeHvnqFi0DGUQq04ZDNjZbRg+nvYkToa3\\\\\\n\",\n       \"ULM8SoowbunHmPTDW/DKL02wb8nb3Q1RwT5YfGAxg1dEREREROQQDGARkUP9kJKORSfT4O5mxKwJ\\\\\\n\",\n       \"ndEqjEGsupYWFoVPr30cm3uPKZvXcf8mTP/oUUQlHiz3WjejAVMGtkRCWi4KSqqXM4uIiIiIyNYW\\\\\\n\",\n       \"WLXtPsgk7q6PASwicrhFJ9OxMPnfINb4LmjTxM/RRXJ5Je6e+GPMtVh08V3I8/JV84Kz0jDly2cx\\\\\\n\",\n       \"cP1PgGaCu9GAG4bGICTkJOYfeAIaKu9mSERERERUU3KWKRktajWx+l0eA1hE5DQtsb5NPgM3NwPu\\\\\\n\",\n       \"Gh3r6OI0Ggfa9cFH059BQvN26rmbZsLIv77FlQtfxOimbggLTcWHOz9Efkm+o4tKRERERESNGANY\\\\\\n\",\n       \"ROQ0/jyTCUkP7u/lgUBvd0cXp9HIDAzDl5NnYs2giTCpjGRATPwedH/iDiSv+J3BKyIiIiKqU3IO\\\\\\n\",\n       \"ao+JXBsDWETkNNKKSrAxIwfubgbMubQbgnwYxKovmtENq4ddggVXPogsvyA1zy3jDJo++j6GfH8I\\\\\\n\",\n       \"xmKOPEhEREREdXQu+m8Oq9pO5NoYwKIKZs+ejX79+iEgIAARERGYNGkS4uLiWFNUL14/dhJr07Ph\\\\\\n\",\n       \"6+mOOZd0Q4ivB2u+HsW36oTklz+EceCQsnl9lx3HZa9sRWBqHtcFERERERE5BANYVMGqVatw++23\\\\\\n\",\n       \"Y/369fjjjz9QVFSE8847Dzk5Oawtqhdvxadg9Zks+Hi6Y/Yl3RDmxyBWferfKxaLbonBX5e0RYmx\\\\\\n\",\n       \"9E5Ws/hsTJ69Ge02p9RrWYiIiIjI9dV2BEJ9ItfG/jlUwe+//17u+ccff6xaYm3evBnDhw9njVG9\\\\\\n\",\n       \"eDfhFILc3dA9wBcTukfhk3XHWPP1YFCbMPXv6cI0xI9qgcTYIIybtwchp/PhXVCCCz7ai11xZ7Dq\\\\\\n\",\n       \"slgUe7pxnRARERFRrekjCdZ2GeTa2AKLziojI0P9GxoaavXvBQUFyMzMLDcR2cP2rNIuaz2ig+Hp\\\\\\n\",\n       \"xt1VXRsSG4aL+/nj47jXkFNU2uIypWUAFjzUB/v6hpe9ruvaZFz5/BaEJWbXeZmIiIiIiIgErwip\\\\\\n\",\n       \"SiaTCTNmzMCQIUPQtWvXSnNmBQUFlU3R0dGsVbKLpakZOJJXgFA/Tzx7cVd4uXOXVVc6NA3ARX38\\\\\\n\",\n       \"MG/XPBzNPFrub4U+7lgyrROWXtMBRZ6l66DJyVxc+eIWdP07ibe7iIiIiKhWmMSdbMGrQaqS5MLa\\\\\\n\",\n       \"tWsXFixYUOlrZs6cqVpp6VNCQgJrleyiBMCsA4k4lFuA8AAvPHdxV3gziFUnooK9cSzzGOKz4q2/\\\\\\n\",\n       \"wGDA3oGR+OqBPkiJ8lOzPIo1jF5wABd8uAeeucV1UzAiIiIicnkMYJEtGMCiSt1xxx34+eefsXLl\\\\\\n\",\n       \"SrRo0aLS13l5eSEwMLDcRGTPINbjBxNxIDcfYf5eeHZSN3i4MUGjvVtfnd+tGTaf3HzW156J9MXX\\\\\\n\",\n       \"/9cb24ZHlc1rtz0VV8/ehMjDpd2NiYiIiIiI7I0BLKpA0zQVvPruu++wYsUKxMTEsJbIoUwAnjyY\\\\\\n\",\n       \"hKwSE0ICPBEd4ss1YicdIwNww7AYfHfkY+xI3WHTe0o8jFh1RTv8dFMX5PmUJnIPOlOAy1/bhr5L\\\\\\n\",\n       \"4mUYGa4fIiIiIrIZRyEkWzCARVa7DX7++ef48ssvERAQgOTkZDXl5ZUm1CZyVBDrRH6h2mld1S9a\\\\\\n\",\n       \"erSRHUzq1Ry/JyzEtlPbqv3ewz2a4KuZfZHYtrTVpdEEDPnpCCa9tQO+mYVcP0RERERUrVEIazuR\\\\\\n\",\n       \"a2MAiyp49913VS6rkSNHolmzZmXTwoULWVvkUM8fOYEzRSVoHxmAh8d1hJFBrFppGuiFEF9PJGYn\\\\\\n\",\n       \"1ngZWaHeWHRXT2wY1xL6OUOr/em4+rlNaLknrXYFJCIiIiIi+hcDWGS1C6G16brrrmNtkUPlmTTc\\\\\\n\",\n       \"FxePtKJitIsMwLRBrblGaigy0Bt3jGqHtSm/Vp643UaamwHrJ8Rg8V3dkR3goeb5ZRfh4nd2Ysj3\\\\\\n\",\n       \"h2AslvZzRERERESVnE+qFlSGWk6sXVfHABZRHUrZtAH7Pv2wWu+R18v7yLp8k4Yvkk6r1j5tIkpH\\\\\\n\",\n       \"w6PqCfbxwF3jwvBP6q9Yemyp3arvePsQfPlwXxzuHFI2r++y47j81W0ITGUXZCIiIiKyjqMQki0Y\\\\\\n\",\n       \"wCKqIxKEWnXHjdj2yhzsmf+eTe+R18nr5X0MYlVRTzn5KDRpKpn71IGt7LbOGosWIT7ILszGsvhl\\\\\\n\",\n       \"dl92XoAnfrq1G/66pC1K/h0tMvJYFibP3ox2m1Ps/nlERERERNQ4MIBFVEfS9uxESX5pq5Mdb7x0\\\\\\n\",\n       \"1iCW/F1eJ+R98n6yLqO4BA/GJaDApGFUpwhMH8Iglq38vNxxQfdmOJZ5rO42L6MBW0e1wNf39kJ6\\\\\\n\",\n       \"E281y7ugBBd8tBejvoiDe2FJ3X02kRNISEjA8ePHy57/888/mDFjBj744AOHlouIiMhZaXaayLUx\\\\\\n\",\n       \"gEVURzpOvRHd77q/7HlVQSzz4JWQ98n7qXIpRcX4v33xkFDIsNhwBPmU5l6iqg1r1wQFbofw/aHv\\\\\\n\",\n       \"67yqUloF4KsH+2Bf3/Cyed3WJePK5zcjLDG7zj+fyFGuvvpqrFy5Uj2WUXzPPfdcFcR65JFH8NRT\\\\\\n\",\n       \"T3HFEBERWWAXQrIFA1hEdajz9beeNYhlLXgl76OzSy0uQU5xCQwGA/rH/Jd3iaxzMxrQNtwPx7OP\\\\\\n\",\n       \"w6TVT2L1Qh93LJnWCUuv6YBCj9JDTpOTebjqpa3o+ncSxzsml7Rr1y70799fPf7666/RtWtXrF27\\\\\\n\",\n       \"Fl988QU+/vhjRxePiIiIqEFiAIvIgUEsBq9q741jJ6EZgKsHtMLojv+19KGKwavrh8TALyAZKxNK\\\\\\n\",\n       \"W4bUG4MBewdGYsGDfZDSzFfNci8yYfSCA7jgwz3wzC3m6iKXUlRUBC8vL/V42bJluOiii9Tjjh07\\\\\\n\",\n       \"4sSJEw4uHRERkRNiH0KyAQNYRA4KYi0a1pstr+yU0P2Zg4nqmHfNoNYY0znCHot1OdMHt0ZQyAnM\\\\\\n\",\n       \"3TkXecWOGRHwTKQvvn6gD7YNjyqb1257Kq6evQmRhzMcUiaiutClSxe89957WL16Nf744w+MGzdO\\\\\\n\",\n       \"zU9KSkJYWBgrnYiIyJJmqHU3QnVXu5refvtttG7dGt7e3hgwYIDq8l+V9PR03H777WjWrJm6WdW+\\\\\\n\",\n       \"fXv8+uuvXJ/1hAEsIgcFsYqyMsses9tg7ezLLcBTBxMhneKm9G+F0Z3YEstSp6hAfBP3DfJL8uFI\\\\\\n\",\n       \"JR5GrLqiHX66qQvyfNzUvKAzBbj81W3ouyQeMDH9JjV8zz//PN5//32MHDkSkydPRo8ePdT8H3/8\\\\\\n\",\n       \"saxrIRERETnWwoULce+99+Lxxx/Hli1b1PF67NixSEmxPnJ2YWGhymt59OhRfPvtt4iLi8PcuXPR\\\\\\n\",\n       \"vHnzei97Y8UAFlEdSNm0Afs+/dBqEMsjILDcPHku8+X18j6qmf25BXjzWDJgAM7v0ozVaGZSzyhk\\\\\\n\",\n       \"5xcjvSDdaerlcI8m+GpmXxxvU/p7MGrAkJ+OYNLbO+CbWejo4hHVigSuUlNT1TR//vyy+TfffLNq\\\\\\n\",\n       \"mUVERETlaZp9pup45ZVXcNNNN2H69Ono3LmzOkb7+vqWO3abk/lpaWn4/vvvMWTIENVya8SIEWU3\\\\\\n\",\n       \"qqjuMYBFZGcShFp1x43Y9socqwnbzVteCXn+5/+mq9fL+xjEqrnDuYWqK2Govxc6NwuoxZJcxyW9\\\\\\n\",\n       \"m6N3bAnm7nsOhSbnCgxlhXpj8d09sWFcy7Jhj1vFpWPK7E1ouSfNwaUjqrm8vDwUFBQgJKR0cIlj\\\\\\n\",\n       \"x47htddeU3dqIyLYzZmIiKguRyHMzMwsN8kx2Vprqs2bN2PMmDFl84xGo3q+bt06qytIWlIPGjRI\\\\\\n\",\n       \"dSFs2rSpGqTlueeeQ0mJjItO9cG9Xj6FqBFJ27MTJfmlOYb00QWlhZVlwnZpeaUHs5LXrlb/yvvk\\\\\\n\",\n       \"/RF9Bzik7A1dalEx5iWcwo3R4bh/bAe8vHQ/dieVDxg2Jr1aBqNX2xK8u+09nCk4A2ekuRmwfkIM\\\\\\n\",\n       \"jrcPxtiP98E/sxC+WUW4+J2d2DSmBdZNiIHJnfdaGjOf44fg612aEL1W8iuevNaViRMn4pJLLsGt\\\\\\n\",\n       \"t96qcmVITg0PDw/VIkvu9t522212/0xN09SIrNS4LEnahoZsbFRPRxeBiFxQdHR0uefSRfCJJ54o\\\\\\n\",\n       \"N0+OyRJ4kkCUOXm+b98+q8s9fPgwVqxYgSlTpqi8VwcPHsT//vc/NXiLfAbVPV4VENlZx6k3VkjY\\\\\\n\",\n       \"Li2szINX8vdLV29B5OBh5d4rz+X9VHMrz2Th/YQUdSF3z3ntEebn2Wirs3mwDxKyEpw2eGXuePsQ\\\\\\n\",\n       \"fDmzD450CS2b13fZcVz2ylYEpjom6TxRTUkejWHDSvfvkiNDToalFdann36KN954o8bLve6665CT\\\\\\n\",\n       \"k1NhvuTiGD58OFcYERE1XHoS9tpOABISEpCRkVE2zZw50y5FNJlMqiX1Bx98gD59+uDKK6/EI488\\\\\\n\",\n       \"wvQA9YgBLKJ6SNiut7AyT9guLbLM5+uvs+x2SNX315lsnCwogpvBgOYhPo2yCge3DcPwTp5Yfbz8\\\\\\n\",\n       \"NubM8gI88eMtXfHXJW1RYiw9AWkWn43Jszej3WbryTSJnFFubi4CAkq7MS9dulS1xpJuCQMHDlSB\\\\\\n\",\n       \"rJravn07unfvXq5rwyeffKJybzRp0sQuZSciImroObACAwPLTTJaoCU5brq5ueHkyZPl5svzyMhI\\\\\\n\",\n       \"q2WUkQdl1EF5n65Tp05ITk5WXRKp7jGARVRHJEhlrYWVte6E5q+T+Y4MYh37/Wcs6BmL1TNuRUO2\\\\\\n\",\n       \"Lj1b8rnj9nPaommgHbofNbDg1UU9ozB/93wczTyKBsVowNZRLfD1fb1wJsxbzfIuKMEFH+3F6C/j\\\\\\n\",\n       \"4F5YtzkG0o6mYemTS/HFNV/g/XPfx47FO+r088g1xcbGqgSvcgd4yZIlOO+889R8GdVITqRrSob2\\\\\\n\",\n       \"lmCYJIl/+OGHccUVV+COO+7ASy+9hO+++86O34CIiMi1eXp6qlZUy5cvL9fCSp5LnitrJHG7dBuU\\\\\\n\",\n       \"1+n279+vAluyPKp7DGBRo1bZaIFVsXW0QHmdtRZWi4b1rtCdcOQ7H1XodljdctlDduJxbHtlNsJ7\\\\\\n\",\n       \"90ND983JM/jtVAa83N3w9MQuiAwqDYY0BqM7NcXiI/NxLLPmLT0cLaVVABY81Af7+oaXzeu6NhlX\\\\\\n\",\n       \"Pr8ZYYnZdfa5xQXFCGgWgAE3DIBvqG+dfQ65tlmzZuH+++9XoxNJ/iv9RFhaY/Xq1avGy5U8Wi++\\\\\\n\",\n       \"+CIeeughzJkzRwXJZJkyghIREVGDptlpqoZ7770Xc+fOVa2Z9+7dq3JUSld9GZVQTJ06tVz3Q/m7\\\\\\n\",\n       \"jEJ49913q8DVL7/8opK4S1J3qh9M4k5o7KMFSuJ0U3Gxahl1NnrLKTdvH4x468Mqk62Hdu6mXifL\\\\\\n\",\n       \"lxZWejDLfBRCvTuh0P/Vly/vr4m81FPISUxAUXaWWo53aBgCWrdROaES/vgNu95/E9kJx9TfQjp2\\\\\\n\",\n       \"xrDX3oO7jy9MJSVY//C96Hrb3Ti1ZVOF0RIbos9OnIaPmwEjQwNx3aBWmPN7HFxd+6b+CPLxwMnc\\\\\\n\",\n       \"8s2hG6JCH3csmdYJ8R1Dcc7XB+BRaEKTk3m48sUt+OuyWOwa0gyoIml1UV4R0uPTUZBdAGmO5xXg\\\\\\n\",\n       \"hdBWoXDzdMPhvw5j82ebkZGUAXcvdzSJbYKxT45FRIcINYkN884eqCay5rLLLsPQoUNx4sSJckNr\\\\\\n\",\n       \"jx49GhdffHGNK02SxErw6u2331Yn1H///bdqkTVv3jxccMEFXBlERNRgmY8iWJtlVIfksDp16pS6\\\\\\n\",\n       \"8STdAHv27Inff/+9LLF7fHy8SgFgnhxeWlbfc889qkt/8+bNVTDrwQcfrFW5yXYMYFGjVdlogZUx\\\\\\n\",\n       \"7/Zny2iB8jcJcsnrJDG7tLwyDwrJKISWnyfPje7uKnhVnZEINZMJyev/xoGFXyBp9Upp/1ru70Ht\\\\\\n\",\n       \"OqDVBROx861X0HPGA2g+6jwU5+bg1JaNauQqsfv9N+EVGoa2F1+hAliuYl16DkaEBqJlqC+8PYzI\\\\\\n\",\n       \"LypfN66kY2QArh8ag++OfIKUXBfJGWUwYO/ASCS3DsS4ebsRcSIXHsUaRi84gJZ7z2D5lPYo8PUo\\\\\\n\",\n       \"95Yz8Wew56c9iFsah6LconJ/8wryQuzIWOz5eQ8G3jQQMUNiUJhXiOSdyfX8xcjVSf4Myxwa/fv3\\\\\\n\",\n       \"r9Uy+/btq/Jr/fnnnyqfluy/X3jhBRXEuv766/HOO+/UstRERESNi3TFl8kaOd5aklbV69evr4eS\\\\\\n\",\n       \"kTUMYFGjJUElaXmlB6WqCmJZ5qySllO2jBYoQSiZ5P2WLZrkucy3/LzqjkKYumMr1j1yP3ISjsGj\\\\\\n\",\n       \"TXsE3D0Tnl17wuDnDy0/HyWJ8cj7ZTF2vPGiymxYmJ0Fv6jmqkVWcLsOahmntm7C4e+/wbiFP8HV\\\\\\n\",\n       \"7MrOw97sPHT298GcS7rj4e92IreO8yg5QrMgb9wwMgyLDnyE7ae2w9WcifTF1w/0wdDFh9BzdZKa\\\\\\n\",\n       \"1257KpomZOG36zohuU0Q8jPzseKFFUjYkAD3QHcEjwpGYO9AuAeUHuqKM4qRsSEDe3/fC61EQ9L2\\\\\\n\",\n       \"JHS6oBMCIgMQFhPm4G9IrmbTpk34+uuv1d1by8SuixcvrnEAS0Yx9PPzU89lPy53fSXH1rXXXmuX\\\\\\n\",\n       \"chMRETlMNbsAUuPDHFjUqFmOFmgtgbq14JUt3Q0re7+0vKrq86ojcdVyrLjpGhQGBiPkjY8QMncB\\\\\\n\",\n       \"fC+8DO4xsXCLiIR7y9bwGjQcwc+8hrDPfoCxSYRqafXLxDE4uGgBCjMzUJSTjfWP3I9+s56DV0go\\\\\\n\",\n       \"XPE4+OzhE9iVlYdgXw88O6kr3P8d4c7VAlinck+5ZPBKV+JhxKor2+Hnm7ogz6d09JfAtAJc/to2\\\\\\n\",\n       \"dFt8AN/f9R1O7DmBFje3QPuX2yPyskj4tvGFZ7inmnxjfdFsSjO0f7U9PCM9cWzdMXx+9efYsWgH\\\\\\n\",\n       \"CrIKHP31yIUsWLAAgwcPVvk0JLm6dP3bvXs3VqxYgaCgoBovV7oK6sErc5JXa/PmzbUsNRERkeO7\\\\\\n\",\n       \"ENZ2ItfGABY1elUFsewdvJL3X7p6y1mDZrZI3bYFa/7vTnj0G4KQl98vbXVVRT4g96hoNFn4O3wu\\\\\\n\",\n       \"vxbZ8cew8+3X8MvEc1U+rJyk41h9981Y2KeDmo7+/J0KjsnjrISGmwjcPIg1+8gJ5JlMCPL1QJi/\\\\\\n\",\n       \"a41KKKMsXty7BXaf3o3G4FCPJvhqZl8ktSkNBhtNwKgVSXjVMxi97otB8OBgGD0qP7y5+7qj3ex2\\\\\\n\",\n       \"iLohCkWFRdj40UYsmL4AmScaft43cg6S0PXVV1/FTz/9pEYlev3117Fv3z41amDLli1rtezPPvtM\\\\\\n\",\n       \"jYIUFRWFY8dK98+vvfaaytlBRERE5MoYwCKqpCWWtdECaxu8Mk/YXpsglnR9XPPQDLh36IKgR2fD\\\\\\n\",\n       \"4GlbQEYCXIG33Qu/6behIC1V5RdK+nsVxn37K8Yu/Klsaj5iNCL6DVSPfSObwRVIECspvwhGgwG3\\\\\\n\",\n       \"Dm8DtyqCfQ2t5dWdo9ph4+nfsCJhBRqLrFBvfHt3T2wY1xKmf9ubD/T0xes/uKHHYZNNv4XQYaGI\\\\\\n\",\n       \"eSAGxSXFKCkqwdE1R+uh5NQYHDp0COPHj1ePJYAlIxrJNidJXz/44IMaL/fdd99VIyZJwvb09HSU\\\\\\n\",\n       \"lJR2hw4ODlZBLCIiogbLAaMQUsPDABbRvyyDSpWNFmgLW1pu1SaIlfTXSuQlJ8H/zgdh8PSs8HfP\\\\\\n\",\n       \"wkLc9dV8PP/Gc+pfeV60dydyvpiHorjd8B4zHsagYBSkn0FIxy4Ijm1fbpJujh6+fuqxm0fF5TdU\\\\\\n\",\n       \"zxxOQkphMWLC/fDYhE4uEcS6pHdzbE9fgT+O/YHGRnMzYNXIKNyYnIhU99KgVXAu8MhCE6asKIFb\\\\\\n\",\n       \"iQaDSUPnYyYM2W1S/8rz3EO5SPkpBXlH8uAe4g6/9n4q2Xtg80AVyEo9mKomU5EJOak56nFGYoaj\\\\\\n\",\n       \"vy41ICEhIcjKylKPZYSiXbt2qccSdJIk7DX15ptvquG+H3nkEbi5lXaj1XNj7dy50w4lJyIichSD\\\\\\n\",\n       \"nSZyZUziTmQRVNr70QdnHS2wKvs+/dDmllv6fPNE8jIK4dkSue9f+Bk8u3SHR2xpEnZzT737Eobu\\\\\\n\",\n       \"2Pzf7nvvTkz66w+sju2Eu1JOImfRF9CkNYCvLwxGI5p079lotoECk4YH4hLwYodotG7ihyv6tcBX\\\\\\n\",\n       \"/ySgofLzdENEgDfWJxxGY7X/j/3YkJ2D+64x4O7VBvQ+VHrrbeIGDf3iSuBTBITk/Pf61ABgbh83\\\\\\n\",\n       \"fBeXi9NLT8OUZ4J7UOmh0FRsQu7pXCy6bVHZ63d8s0NNzbo3w0UvX1T/X5AapOHDh+OPP/5At27d\\\\\\n\",\n       \"cPnll6shtiX/lcwbPXp0jZd75MgRle/KkpeXl2rlRUREROTKGMAiMlOd0QIrE9q5G9y8fVCSn2dT\\\\\\n\",\n       \"yy3zIJa8T95flezj8UjZsBaBM5+pNHhlzbCDe/Fm9z6Y9fzb6nlJ2mmcvmocjv7yA9pPnlrutQOf\\\\\\n\",\n       \"fgGuqlDTsCQ1A9dEhSE23B8Nlb+XO24/Jxbx+ZuxL20fGqs9v+xBQJ8A5DXzwPOXa7hgo4YpK02Q\\\\\\n\",\n       \"BllR6RVbkodmAQ/96QaPS1rinw7/NUI+/Oxh7Pl5DyY8PwG3/HFLvX8Pci1vvfUW8vPz1WNpLeXh\\\\\\n\",\n       \"4YG1a9fi0ksvxaOPPlrj5cbExGDbtm1o1apVufmS/6pTp061LjcREZHD2KMLILsQujwGsIiqGC1Q\\\\\\n\",\n       \"D2bp820JYkX0HYARb32ItD07z9qSSifLlZZXEryS91cl8+gR9a9nz77l5ks3QT14Zdl41vDv/lz+\\\\\\n\",\n       \"Lq8r9PSEW2gY3Fu1QeaRQ2hs1qRn49LIELSN8Mc1A1vh8/UNK1G9l7sRd1/gjxPZW7Fw/0KYtLPn\\\\\\n\",\n       \"fHJFmqYhIyEDkSMiS58bDPilvwH7mgPPfGaCm1bxtyAhK6mt6/4wYWM7A7R/R6T06+iH9PXpDvgW\\\\\\n\",\n       \"5IpCQ/8b0dVoNOKhhx6yy3Il/9Xtt9+ugmOy/f/zzz/46quvMHv2bHz44Yd2+QwiIiKHYACLbMAA\\\\\\n\",\n       \"FlEVOavM51c3iHW2QJQlW4NdRdmleVUM/gHl5t+66PMqe30bzF73xuTrS+f5+aPo3zwtjUlGcQle\\\\\\n\",\n       \"PJKMx9pGoU/L4AYXwIoM8oafhx8WxC2A1ohvNRXnF0MzaXDz/S8XkPAqhgpeVUaCWE2ygE4JGva0\\\\\\n\",\n       \"Kv1lyDIKsgvqusjkwjIzbR/FMjCwdATN6rrxxhvh4+OjWnFJLq2rr75ajUYooxxeddVVNVomERER\\\\\\n\",\n       \"UUPBABY1emcbLVDUJIhVV9z0EQcLCwAf37L5zU8l2/R+89dphYVw87ZtBENXc6KgCCWahmBfT4zu\\\\\\n\",\n       \"GI7l+06hIXA3GjC2SyROZB9t1MEr4eZZGrjSisrXQ0i2be83f50kbHf34iGRak5GApSRBqsirabk\\\\\\n\",\n       \"NfrogTUxZcoUNUkAKzs7GxERETVeFhERkdPQDKVTbZdBLo1n69So2TpaoDMFsbxCSrumlCQlwhgU\\\\\\n\",\n       \"UjY/MTxSJWw/G/U62b+XlMCUkgyvQYPRGEkrrGcPJeHR2Oa4ZmBruLsZsWT3STgzDzcDbhjaBn6B\\\\\\n\",\n       \"iZi/63M0dkY3Izz9PVGYUlhu/hkbU5uZv67wVCG8g7ztXEJqTFauXFmvn+fr66smIiIiV6BppVNt\\\\\\n\",\n       \"l0GujQEsarTqY7TAuhDWrQe8wyOQ99v38OjUtWz+e5deo0YbFNbuPWhmrxOFG/5GSVoqos+9AI1V\\\\\\n\",\n       \"XG4BnjyYiCdim+PK/i2xMzEDSemliZed0YU9olTwat6ueSgoYXc30WZYGxxacwgRkyJgcCvd8vdG\\\\\\n\",\n       \"G9Rog2FZ1n8LkgMrLaD0daIkrwSZ/2Si1xUVR3cjstWIESPqpLJk1MGztezSbdmypU7KQEREROQM\\\\\\n\",\n       \"/huCiaiR0UcLFLaOFiivE7aMFlhXJHAWe9lk5C/7BaZ/82EJScz+d/c+6rHlzQf9ufxdXifyfvwa\\\\\\n\",\n       \"IV26I7Tzf0GwxuhgbgGS8gtVoKONk49K2CzIBztSdzB4ZabzhZ1RlFaErG3//RYkMfvH51o/vEnw\\\\\\n\",\n       \"Sta1/F1P4J6+Nl11Q+x0AUdxI/v46KOP8M0331SYL/M++eSTai1r0qRJmDhxoprGjh2LQ4cOwcvL\\\\\\n\",\n       \"CyNHjlSTt7e3mid/IyIiavBJ3Gs7kUtjCyxqtOp6tMC61PbiK7D7g7eR98PX8JtyQ9n8Wbfdj6fe\\\\\\n\",\n       \"falsNEJzErySv4uig3Eo+Gctejz5fL2W21n9lJKOW1tGYPqQ1khMy8WR07lwNpf2aYGI0Ews3rHL\\\\\\n\",\n       \"0UVxKuHtwhHeMRypv6cioGdAWSusLW0NKHQvTehuTlpeSfDqnw6lAS5ToQlpy9LQanAr+DXxc8RX\\\\\\n\",\n       \"IBckowK+//77FeZLvqqbb74Z06ZNs3lZjz/+eLkk7nfddReefvrpCq9JSEioZamJiIgciDmwyAZs\\\\\\n\",\n       \"gUWNmgShqtsNUF7vyOCV8IloivZTpiH7o3dQsHZVub9JkGrc65/gp8EjVWsTkRwcilm33qcel5xK\\\\\\n\",\n       \"QcajMxDUviNajZvggNI7n9Xp2ViXng2jwYABbcLgbC7v2wJdogLx/o73kV6Q7ujiOJ3+0/sj71Ae\\\\\\n\",\n       \"TnxxQiXJFp3jtbLg1bbWwOsXGfHE1Ubc/j+3suCVVqLh+PvHUZxWjD5TSlsvEtlDfHw8YmJiKsxv\\\\\\n\",\n       \"1aqV+ltNSQuuqVOnVph/zTXXYNGiRTVeLhEREVFDwAAWUQPV4+4H0HzkGGQ8cT/ylvxYduEupJvg\\\\\\n\",\n       \"K9fegq0dSrsHNktPQ0xSAoqPHMSZu66Dp8GAEW9+CDevxjkCoTX7svNU17JzOoSjiX9pN0tnEOjt\\\\\\n\",\n       \"jiGxTTB33zM4U3DG0cVxSi16t8Cwu4chbUUaEuclqhEF+x747/ewvJcRa7oYsafVf90GJe9V/Bvx\\\\\\n\",\n       \"yNqahTEPj0GT2CYO/AbkaqSl1Y4dOyrM3759O8LCah4k9/HxwZo1ayrMl3nSlZCIiKihMmj2mci1\\\\\\n\",\n       \"sQshUQNldHPDkOdfx8ZnZ+HI848jb/EC+Ey8HN6jxsHwb26vtd37oE9caZez3q88g/U7tiCoTazq\\\\\\n\",\n       \"OunbtHQ0Qiq1LC0LLX28MCYsEM9O6orHftiFlKzyo9s5Qo/oYOQWlLDl1VlI/ip3b3esfHElcnbm\\\\\\n\",\n       \"oFeL1pKtDkVuwPaY/xJgFyQXIG1lGtJXp8OgGXD+M+cjul90Xa9GamQmT56suvoFBARg+PDhat6q\\\\\\n\",\n       \"Vatw991346qrrqrxcmfMmIHbbrtNJWvv37+/mrdhwwbMnz8fjz32mN3KT0REVO/skcOKASyXxwAW\\\\\\n\",\n       \"UQNm9PBA/8efQ/TosTjw9ec48fLTyH7vVbjHdoDBzx+/5ebgzn9fOzI7ExseeAwxF10Cdx8OvW7N\\\\\\n\",\n       \"/MRUddw7NywQD1/QCTMWbocjDWvXBBN6+2L+rlcdWo6Got2odmjStglyvt6FpsdKO9D+U5SHuHfS\\\\\\n\",\n       \"1OPijGLkHc2DV6AXuk7oii4XdUFA0wAHl5pckeSoOnr0KEaPHg1399JTLZPJpLr/PffcczVe7kMP\\\\\\n\",\n       \"PYQ2bdrg9ddfx+eff67mderUSSWNv+KKK+xWfiIiIiJnxAAWUQMnw6tHDRuppuzEBBz+/ltkJxxD\\\\\\n\",\n       \"UVYWisNCccRUhJj8fHQ1GtDr3PORzeBVlb5OTsPosED4e3vA292I/GI9k1j96t0yWAWv5u2ah4Qs\\\\\\n\",\n       \"Jme2VUirEIzrEg0cO6ae7wjzQogWAoPRAK8ILzS/ojnajGgDd08e/qjueHp6YuHChXjmmWewbds2\\\\\\n\",\n       \"1fWvW7duKgdWbUmgisEqIiJyOUziTjbgGTyRC/FvHo3ut99Tbl7Cws8Qs3ihetx+y0ZsGTPOQaVr\\\\\\n\",\n       \"GHJKTNifk4eOfj6YfUk3zPxuJ/KL6j+IFRPuj00nNzF4VZO625Fa9tjz3sE4P4S53sgx2rVrpyZ7\\\\\\n\",\n       \"KywsREpKimrVZa5ly5Z2/ywiIqJ6wS6EZAMmcSdycfv7/DdiYvvNGxxalobimUMnsC8nHyF+niqI\\\\\\n\",\n       \"5e1Rv7vKjpEBGBATioPpB+v1c12B/5kCND2eox6fbOGHbAavyIUcOHAAw4YNUy26pDWXjHQoU+vW\\\\\\n\",\n       \"ra2OekhERETkStgCi8jFJbWJRWZIKALPpCFmxzZ45OejiKNVVUnaNDx9KAkvdYhGpK+nCiat2v9f\\\\\\n\",\n       \"q5661DkqENcNbo1Fh+djX9q+evlMVxKz63TZ48M9OLIguZbrrrtO5dT6+eef0axZM9WFnIiIyCWw\\\\\\n\",\n       \"BRbZgAEsIldnNGJ/n/7ou+x3eBQXoc2OLYjrP9jRpWoQx9CDuflo5uWBEe3DsfpAKkx1PLKJXIpO\\\\\\n\",\n       \"H9Iaiw9/jB2pO+r2w1xUm+3/BRoPd2MAi1yL5NPavHkzOnbs6OiiEBER2RcDWGQDdiEkagT29/2v\\\\\\n\",\n       \"G2GHTf84tCwNyUeJqThTVII24f64sl90nX9eZJA3PNyMOJB+oM4/yxV55hUjen+6epwZ5InU5n6O\\\\\\n\",\n       \"LhI1QsXFxXjqqadw/Phxuy+7c+fOSE2tn9agRERERM6GASyiRuBIlx4o9PRUj9tt3gCDqcTRRWoQ\\\\\\n\",\n       \"8k0afkg5ox63Da/bYEizIG/cOTYMy4//iJyi0hxOVD0t952B27/N5I5I90F2ryIHkC5+L774ogpk\\\\\\n\",\n       \"2dvzzz+PBx54AH/++SdOnz6NzMzMchMREVGDH4WwthO5NAawiBqBEk9PHOrRWz32y85Ci/1xji5S\\\\\\n\",\n       \"g7ExIwcFJg1tIwLqrBVW82Af3DW2CdYkrsGy+GV18hmNQZudZvmvuoU5tCzUuI0aNQqrVq2y+3LH\\\\\\n\",\n       \"jBmD9evXY/To0YiIiEBISIiagoOD1b9EREQNlUGzz0SujTmwnNT27dvx008/ITQ0FFdccQWaNPkv\\\\\\n\",\n       \"l4vcZZ0xYwbmz5/v0DJSwxLXbxA6bVxfNhphQsfOji5Sg3CmuAQvHDmBR9tGYXDbMCzcmGDX5bcI\\\\\\n\",\n       \"8cH/RsZi1fHvseq4/S94GwtDiYbW/yZwL/Byw/F2wY4uEjVi559/Ph566CHs3LkTffr0gZ9f+Rac\\\\\\n\",\n       \"F110UY2Wu3LlSjuVkIiIiKjhYQDLCS1duhQXXngh2rVrh6ysLMyaNQvffPMNzjnnHPX3vLw8fPLJ\\\\\\n\",\n       \"JwxgUbUc7NUXJoMRRs2EDps2YPmU6axBGyUWFKFE0xDo7YGhsWH4++B/LX1q69zOTbHtzAoGr2op\\\\\\n\",\n       \"6nAGfHJLu2wd6xwKkzsbGFPNzZ49G4sXL8a+ffvg4+ODwYMHq+57HTp0sOn9//vf/9S/r7zySoW/\\\\\\n\",\n       \"yciBJSU168Y9YsQIOMt3JCIisismcScb8AzfCT3xxBO4//77sWvXLhw9elTlu5C7tb///ruji0YN\\\\\\n\",\n       \"WG5gEI53KB25qknScYQl2T/BsKvKVK2wklW3+huGtsGI9vYZ3S7Q2x3Rob5IzE60y/Ias3LdB7uz\\\\\\n\",\n       \"+yDVjnT/u/3221V3vT/++ANFRUU477zzkJNjW346k8lU6VTd4NWOHTvU+/THVU31+R2JiIiI6htb\\\\\\n\",\n       \"YDmh3bt347PPPiu7UysBrBYtWuCyyy7DggUL0K9fP0cXkRqouD4D0HLfHvW4/eZ/sC6qhaOL1GDs\\\\\\n\",\n       \"ys7Dc4eS8HDbKEwbHIMDKdlISs+v8fKCfDxwx6hYHM3bgK0pW+1a1kZH0xCzvXRkNpMBONo51NEl\\\\\\n\",\n       \"ogbO8obRxx9/rHJObd68GcOHD6/WsvLz8+Ht7V3jsvTs2RPJycnq8+WxnBdomlbrll32/I5ERERE\\\\\\n\",\n       \"9YEtsJyQl5cX0tNLh4LXXX311fjwww9x5ZVX4rvvvnNY2ahhi+s7sOxx+3/zYZHt9uTk43h+oRrc\\\\\\n\",\n       \"LqZJzUcl9HAz4M5RsYjP34Bv938LTbWZppoKOZmLkNOlwcTjsUEo8PNgZZJdZWRkqH8lL6UtJJD0\\\\\\n\",\n       \"9NNPo3nz5vD398fhw4fV/Mceewzz5s2r1mcfOXIE4eHhZY9lWfKv5aR/Rn19RyIiInuS8QNrncSd\\\\\\n\",\n       \"q8TlMYDlhOQOq7VErVdddZUKYt11110OKRc1fGlRzXEqMko9jt6/Fz6ZpRcsZLulqRnq4Hj9kBi0\\\\\\n\",\n       \"DPWpceurUD9PLDqwiMErO2i747/ug0e626d7Z3UlbU/C9m+2V+s98np5H9UvGQjFfCooKKjy9dJ9\\\\\\n\",\n       \"TwZOGTJkCLp27WrTZzz77LOqRdMLL7wAT0/PsvnyfjmOV0erVq1U6yr9cVVTTdnyHaWeLOuOiIiI\\\\\\n\",\n       \"qD4xgOWEbrvtNiQmWs+JM3nyZHVSzOb9VFMH+pW2wjJqGtpt3cSKrKYVaVlYm54No9GAYe1LW0VU\\\\\\n\",\n       \"h6ebEVf2i8ahU9kMXtlJjFn+qyNd6z//lQShfnv0N6z/YD22LrCtO6i8Tl4v72MQq35FR0cjKCio\\\\\\n\",\n       \"bJJk5lWRPFGSk1K68Nvq008/xQcffIApU6bAzc2tbH6PHj1U0nRnY8t3lHoyrzepRyIiIruRZLP2\\\\\\n\",\n       \"mMilMYDlhC6++GK8+uqrlQ6XLd0JpTUWUU3E9R1Q9lhGI6Qa1GF2vmqFNbRtGIJ9be+u5uluxC0j\\\\\\n\",\n       \"2sDd7xg+P/Ikq94OfDML0exoaUuQ1Ga+yAivWau42ji1/xSK80tHQPxn3j9nDWLJ3+V1Qt4n76f6\\\\\\n\",\n       \"k5CQoLrL6dPMmTMrfe0dd9yBn3/+WR2PJRelreQmVGxsrNWWTpIs3ZnY+h2lnszrTeqRiIjI7qMQ\\\\\\n\",\n       \"1nYil8YAlhMbN24c/u///q/cyW5qaiouvPBCPPTQQw4tGzVcx9t3RE5AoHrcdvsWuBUWOrpIDc4f\\\\\\n\",\n       \"aZn4+0w2fDzdMfvibgi1IYjl5W7ErSPawuBzBB/t+giFJta7PbTefVrlPBCHuzmm+2CPy3ug/w39\\\\\\n\",\n       \"y55XFcQyD14JeZ+8n+pPYGBguUnyTlqSJOkS2JGckytWrEBMTEy1PqNz585YvXp1hfnffvstevXq\\\\\\n\",\n       \"BWdQ3e8o9WRZd0RERET1iaMQOjG5Gzp16lQ1vPWXX36pkrTecMMNaN++PbZt2+bo4lEDpRndcKB3\\\\\\n\",\n       \"f/RctQyeBfmI2b0DB3v1dXSxGpx3ElJUF8BhIQF4bEJn3PN11fmPrh7QEiavg/hk9ycoNpW21qHa\\\\\\n\",\n       \"a7P9v+6Dh7vXf/dBXa+rSoMSenBK/1efX1nwyvzv5Fxd6uS4+8MPPyAgIECNAiik65yPz9lb+c2a\\\\\\n\",\n       \"NQvTpk1TLbGk1dXixYsRFxenuhZKaydX+I5ERER2ZY8WVGyB5fLYAsuJDR48WAWqJKFq7969VdfC\\\\\\n\",\n       \"e+65B6tWrapVslaiuL7/tRZpv4mjEdbUx4mpMAEI8PFQua0qI/mXmwf7YG3SWgav7Mi9sAQt486o\\\\\\n\",\n       \"x9n+HjjZMgCOJMGoylpiMXjVsLz77ruqm9zIkSPRrFmzsmnhwoU2vX/ixIn46aefsGzZMvj5+amA\\\\\\n\",\n       \"1t69e9W8c889t1Zlk1GKJRG8dOlLS0tT87Zs2VJp7sy6+o5ERET2VOsRCP+dyLWxBZaT279/PzZt\\\\\\n\",\n       \"2qTyUiQlJak7uLm5ueqEuC69/fbbePHFF9UdWUk6++abb6J///8uzKhhO9y9F4rc3eFRXIz2mzbg\\\\\\n\",\n       \"1xv+BxgZz66uPJOGQ7n5aOfrjacndsHD3+1CiaZVCF5N7t9S3RA6lnnMjmuRouPOwKNIQojAUWl9\\\\\\n\",\n       \"ZXR84k5rLbG2LdyGwuz/uoyy5ZXzk+51tTVs2DDVgtqeduzYgTFjxqhWUkePHsVNN92E0NBQ1cIr\\\\\\n\",\n       \"Pj5etfCqz+9IREREVJ94xerE5syZg0GDBqm7tTI60D///IOtW7eie/fuWLduXZ19rtx9vffee/H4\\\\\\n\",\n       \"44+ru7oSwBo7dixSUlLq7DOpfhV5++BI157qcWD6GTQ7coiroIaeOpiEXJMJ4YHeiAzyLvc3iadc\\\\\\n\",\n       \"M6AVWof5Ym7cU8gtzmU921Ebs9EHD3dzXPfBs7XEYvCK7EWOzddddx0OHDgAb+//9jcXXHAB/vrr\\\\\\n\",\n       \"L1Y0ERE1XEziTjZgAMuJvf766/j+++9V6yc5UZWuhBLEuuSSS1ST/7ryyiuvqLu606dPV4lo33vv\\\\\\n\",\n       \"Pfj6+mL+/Pl19plU//b3G1j2uMNmjkZYUyUyCl1BsQpWXdU/Wo1OKNwMBlw7qDWiI9NV8CqrMMsO\\\\\\n\",\n       \"a43KmDTE/BvAKvIwIr5DiFNVjgSxPP09y82T58x55bpCQkJUayhbpprauHEjbrnllgrzmzdvXpbD\\\\\\n\",\n       \"ioiIqEFiAItswC6ETmznzp1o0qT8qFoeHh6qa9+ECRPq5DMLCwuxefPmcsOKG41G1WWhslZfBQUF\\\\\\n\",\n       \"atJlZpYOaU/ObX/vfmWP229cjz+vuMah5WmIvIwG9Avyw9/pWYjyDkXX5kF45YoeyCsywcPNgLTi\\\\\\n\",\n       \"o/hg51zkFOU4uqguJ/JYFvyySkdoje8UghJPNzgTyXll3vJKyHOZzyCWa3rttdfKHp8+fRrPPPOM\\\\\\n\",\n       \"ar0sLamFHEOXLFmCxx57rMafISMBWjvGSrqB8PDwGi+XiIiIqCFgAMuJWQavzI0YMaJOPjM1NRUl\\\\\\n\",\n       \"JSVo2rRpufnyfN++fVbfM3v2bDz55JN1Uh6qO9mhYUhs2w7NDx1AZPxRBKWcREZE+fVO1vm7GRHh\\\\\\n\",\n       \"6YFLmoYgKjcTubnZiD+cjuDgYNUKI+jfAbwKc/1hNLCha11oszPVKbsPWkvYLi2v9GCWtdEJyTXI\\\\\\n\",\n       \"qIO6Sy+9FE899RTuuOOOsnl33XUX3nrrLZXYXQZkqYmLLrpILffrr79Wzw0Gg8p99eCDD6rPJCIi\\\\\\n\",\n       \"aqjskYSdSdxdH6+sqNaktZaMZKRPCQkJrNUGYn+fAWWP22/+74KbrO8sZYry8sALzYNxXxNfBKYk\\\\\\n\",\n       \"YeXKlaplxfr16/H777+rZMoyST6aCK8IzOg9Ax5GD1apncVsLw1gyXnO0S7OE8CyNtrg9O+mVzo6\\\\\\n\",\n       \"IbkmaWk1bty4CvNlngSwaurll19GdnY2IiIikJeXp25mxcbGIiAgAM8++2wtS01ERORAmsE+E7k0\\\\\\n\",\n       \"tsCiCq2+3NzccPLkyXLz5XlkZGSlXRpkooYnru8AnPP15+px+03rsfH8Cx1dJKc0MSIYY5sElT0/\\\\\\n\",\n       \"vGM79u7da/W1endaGdJeEi23btcaIV4hSMnjIAj2EnQqD01O5qnHSa0DkBtYPteUMwWv9JZW1kYn\\\\\\n\",\n       \"NJ9PriUsLAw//PAD7rvvvnLzZZ78raZk9EEZ2XDNmjXYvn27Cmb17t1bdfMnIiIicnUMYFE5np6e\\\\\\n\",\n       \"6NOnD5YvX45JkyapeSaTST037wpBriGlZWucaRKOkNRTaL1nF7xyc1Dg6+foYjkFT4MB10SFoYW3\\\\\\n\",\n       \"J7yNRqxZ8jvy8/PV70FyxdlCWkgUmgoxrcs0HEo/hO8PfQ+TZqrzsjem0QeP9Ki8q7WzBK90DGI1\\\\\\n\",\n       \"HtKt/sYbb8Sff/6JAQNKW7pu2LBBtdKcO3dujZf76aef4sorr8SQIUPUpJN90oIFCzB16lS7lJ+I\\\\\\n\",\n       \"iMhhSdxruwxyaexCSFaH6ZYT7E8++US1MrntttuQk5OjRiUkF2MwlI1G6GYqQezWTWjM2vt6Y0qz\\\\\\n\",\n       \"MDXd2zoSHXIzkLh+DTb98iPS09NVAMvW4JWQUcE884GcLYfQU2uLm7vdjIltJyLAI6BOv4eri3Gy\\\\\\n\",\n       \"/Ffbv9l+1uCVTuZbdieU95Nrue6661QrqcDAwLJuxfL477//Vn+rKTkOS1d9S1lZWTxGExGRS+TA\\\\\\n\",\n       \"qu1Ero0tsKgCubt76tQpzJo1S12A9+zZU901tkzsTq6TB2vAbz+px+03bcDuIXUzQIAz6+bvg0gv\\\\\\n\",\n       \"D1wQHoyUuL0oKipCQUkJ1hw6pAY1qCkJem3cth19+w/GqvnvonmnLugcGYXY7jfj76S/cTTjKE7m\\\\\\n\",\n       \"lu+uS1XzyilC80OlF/Dp4T4409TX4VUW3j4c7t7uKM4vrjJ4Za0llrxP3k+uR1peffHFF3ZdpqZp\\\\\\n\",\n       \"KnG7pePHj6vuhURERESujAEsskq6C7LLYONwrFNX5Pn4wicvF7HbNsFYXAyTu2vvGryNBjWKoOgV\\\\\\n\",\n       \"6ItxPm5IS0vD7r934MSJE3b9rKSkJBiNRhUIO7Rpg2r11mHgUIyJ6IvgDhfi4/ivkF6QrroWJuck\\\\\\n\",\n       \"Q2Pb5yq13pMGo8ms9ZWVi/n6FtUjCuc/cz5O7T+FHpf3sOk9EsQyuhlV8EreT65HfvPff/99Wb68\\\\\\n\",\n       \"Ll26qFEEJc9kdfXq1UsFrmQaPXo03M320fI5R44csZo0noiIqMFgF0KygWtfpRLRWUmw6mDvfui2\\\\\\n\",\n       \"ZhV8cnPRct9uHO1q20V4QxTi7oYZrSPRtLigLJ/VqlV/qy449ULTELdutXoY3bkbrh14GQwGI9w8\\\\\\n\",\n       \"PLAxezu+jvuaQawqtNnxX/6rQ90d331QJ0Go6gaibA12UcNz8OBBjB8/XrWM6tChg5o3e/ZsREdH\\\\\\n\",\n       \"45dffkHbtm2rtTw9J+W2bdswduxY+Pv7l8td2bp1a1x66aV2/hZERET1yB5dANmF0OUxgEVE2N+n\\\\\\n\",\n       \"vwpg6d0IXTGAJfmtbo4Oh6+bEX+fycI/S39xdJGQsGenmoSXrx/aT52E2cNm43jWcczfNR+5xbmO\\\\\\n\",\n       \"LqJTcSsyodWe0gBWno87TsSwyxQ5p7vuugtt2rTBunXrEBoaquadPn0a11xzjfqbBLGq4/HHH1f/\\\\\\n\",\n       \"SqBKuvl7e3vXSbmJiIiInBkDWESEgz37oMTophK5d9i4Dkun3eQUXbNqQzrpXB4ZipY+nup5My9P\\\\\\n\",\n       \"HNy4QeV1k2TszqYgNwe7PlgAbz8/dBwyAjP6zEBmQaZqjbUmcQ22ndqGxq75wXR4FZT2HzzSNRSa\\\\\\n\",\n       \"W8PeRsl1rVq1CuvXry8LXomwsDDMmTOn3OiB1TVt2jQ7lZCIiMjJsAsh2YABLCJCgZ8/jnXqgja7\\\\\\n\",\n       \"dyAk9RQiEo4hpWXrBlkzAW5GnNckCNHenvBzM+LUpg0q8XFibq5Kqu7MNFMJ8rIysW3JLwjf1xpG\\\\\\n\",\n       \"Nzd4ePvgmqGXo31Ie5zIOYG/E/9utF0M2+z8r/vgke5NHFoWoqp4eXlZ7ZacnZ2tuvzVlOS7evXV\\\\\\n\",\n       \"V/H1118jPj6+wqioksuPiIioQWIAi2zAABYRKfv7DVQBLL0bYUMKYLXz9UITTw9Ie5wxYYHwPpWM\\\\\\n\",\n       \"tMQ07Dl0qMIFXkOgaSakHD1c9jwr9RSatolFj3bD0dy/OQ6mH1TzD6UfwpmCM2gUNA0x/+a/KnYz\\\\\\n\",\n       \"4FinEEeXiKhSEyZMwM0334x58+ahf//+at6GDRtw6623qkTuNfXkk0/iww8/xH333YdHH30Ujzzy\\\\\\n\",\n       \"CI4ePaqSxcvIwURERESuzOjoAhCRc4jrM6DscfuN6+HM3A1AlJeHmkaFBuD+poG4SMvDhVoeCg7G\\\\\\n\",\n       \"Ye3atWrkr4YYvLIm/eQJlfh9/aIFaHU6AGPdBuACr6F4qMPdaBvUFpG+kWji49otkpok5iAwvUA9\\\\\\n\",\n       \"Pt4hGEXevP9CzuuNN95QidoHDRqk8lXJJF0HY2Nj8frrr9d4uV988QXmzp2rAlgyEuHkyZNVQEuC\\\\\\n\",\n       \"V9JlkYiIqKGSBO72mMi18QqAiJSMiKZIjm6FyIRjaHH4APzTTiM71HlGedP5Go24q1VTtDGUqFEE\\\\\\n\",\n       \"i4uLsWbNGpUg2dXl52Rjy28/lj2P7TsQt/S6TqUrM7p7YHnqX/j1yK9wRW13pJY9PtzNtYN11PAF\\\\\\n\",\n       \"Bwfjhx9+UKMRSjBddOrUSQWwakNy+HXr1k09lpEIMzIyylp8PfbYY3YoOREREZHzYgCLiMp1I5QA\\\\\\n\",\n       \"lmi/ZSO2jBnnNLXTwssD/2vZFIHubtiZnYsff/tJ5bZqzA5uWq8m4RsUjB7XXIKhzYeqroWf7vkU\\\\\\n\",\n       \"RaYiuIoYswDWka7OF1glskYCVrUNWplr0aIFTpw4gZYtW6oWXkuXLkXv3r2xceNGlXeLiIiIyJUx\\\\\\n\",\n       \"gEVEZfb3GYDhixeqx+03rXd4AGtCeDA6+pUOFx/p5YGkndux7fhx5OTkOLRczig3Ix1bP/gM3n7+\\\\\\n\",\n       \"6DryXNzT5x5kFWapIN+KhBXYf2Y/Gir/MwVoerx0nZ9s4YfsEF6ok3O79NJLVe6rBx98sNz8F154\\\\\\n\",\n       \"QQWbvvnmmxot9+KLL8by5csxYMAA3HnnnbjmmmtUni1J6H7PPffYqfREREQOwCTuZAMGsIioTFKb\\\\\\n\",\n       \"WGQGhyAw/Qxidm6DR34+irxLA0j1xctowHlhQWjh7Ykobw8kbiwdRfBUfj5SU/9rhUMVlRQVISf9\\\\\\n\",\n       \"DDb+tBgRrWNgMBjhExiIa4ddi80pm1FiKkFucS7+TPgTJVpJg6nCmF3/dQ893IPdB8n5/fXXX3ji\\\\\\n\",\n       \"iScqzD///PPx8ssv13i5c+bMKXt85ZVXolWrVirnX7t27XDhhRfWeLlERESOZo8cVsyB5foYwCKi\\\\\\n\",\n       \"/xiN2N93APou+x0excVos3Mr4voNqvMaauntqVpYieEhAYjITEPqsXhsP3wYeXl5DXoNSfBNcnUF\\\\\\n\",\n       \"N43EqWNH6uUzTSXFSD50oOx55qkURP87qmST6I5o1bkVtp3app4nZifiZO5JOLM225n/ihqW7Oxs\\\\\\n\",\n       \"eHp6Vpjv4eGBzMzMWgXGBg8erBK4i4EDB6pJcgHK34YPH16rchMRERE5M45CSETlSABL12Hjhjqt\\\\\\n\",\n       \"nSYe7ugf5Id7W0fiUmOhmnwSj2H16tXYvXt3gw9e6QGszZs3o9eFl8I/JNQhZUhNOIZ9a1apaf3i\\\\\\n\",\n       \"hQg7AYz3HIoJ3sPwfx3vQufQzojwiVAjGRpggDPxzCtG9IF09TgzyBOpzf0cXSSis5JE6wsXlnbH\\\\\\n\",\n       \"NrdgwQJ07ty5xjV4zjnnIC0trcJ8SeYufyMiInKJboQ1ncjlsQUWEZVzpEsPFHp6wrOwEO02b4DB\\\\\\n\",\n       \"VALN6Gb3Wro4IhjjA71RVFSEzX//pRITu6qEhAS0b98evsEhyD5T8eKzPhUXFmDbkl/Knrfo1AXT\\\\\\n\",\n       \"h02GwWiEweiGTVnbsTBuIUyaCc6g5b4zcCspPSM5It0HZchFIicnIwJecsklOHToEEaNGqXmSe6q\\\\\\n\",\n       \"r776qsb5r/SAuMHKb0BGYfXzY3CXiIgaMObAIhswgEVE5ZR4euJQj97otHE9/LKz0GJ/HBI61rzF\\\\\\n\",\n       \"gC7Mwx3/axmBUA931cYnt8SEpUt+ZUJ2Bzu+d7eahKePL9pNnYinBj+lAlh5xXlqNEPpZugMow8e\\\\\\n\",\n       \"7sbRB6lhkHxU33//PZ577jl8++238PHxQffu3bFs2TKMGDGi2suTYJiQ4NV1111XbsTBkpIS7Nix\\\\\\n\",\n       \"Q3UtJCIiInJlDGARUQWS90oCWKL95g21CmB18vPGeU2CEOXlgYyD+7H+0CE1Pz8/X+VtIedRmJeL\\\\\\n\",\n       \"vR9+DZ/AIPW8aUxb3DT0JiTlJKnnxzKOYemxpdDqqY22oURDzK7SFmsFXkYcbxdcL59LZA/jx49X\\\\\\n\",\n       \"kz0EBQWVtcAKCAhQATGd5NqSPFg33XSTXT6LiIjIEZjEnWzBABYRVXCwV1+YDEYYNRM6bFyP5VOm\\\\\\n\",\n       \"21xL0tlwTJNA+Lm5wd1gwOBgfxzbvhX7MzORnJzM2nZyppIS5PzbzfHwmTRknEyGl7+/avkxvN8g\\\\\\n\",\n       \"RHaOxKm8UyqItTF5I1Lz6m5kyKjDGfDJKw1yHuscBpM70zZSw1JYWIiUlBQ1kIO5li1bVms5H330\\\\\\n\",\n       \"kfq3devWuP/++9ldkIiIXA+7EJINGMAiogpyA4OQ0L4jWsXtQZMTiQhLOo7TUS2qrCl/NyM6+Hlj\\\\\\n\",\n       \"QJA/YguykXqqNFi1Y0cyTp507lHuqHKnExP+e5wQj9Y9+yDYLQhevn7o070Pfjv6G4pNxaq74f4z\\\\\\n\",\n       \"++1alW12ni57fLg7uw9Sw3HgwAFcf/31WLt2rdUcVtLtryYeeOABtQzdsWPH8N1336nE8Oedd16t\\\\\\n\",\n       \"y01ERETkzBjAIqJKRyOUAJZov/kfrLMSwApyd4OHwQAfNyNubBGOwKx0ZJ1Oxl9btqjk7ORa8nOy\\\\\\n\",\n       \"1UiGuphefTG+7TD12D84FKuCN2D9idKup5mFmSgy1WIb0DTEbC9t3WUyAEc7O2YER6KakDxV7u7u\\\\\\n\",\n       \"+Pnnn9GsWTOriddrYuLEiSof1q233or09HT0799fdSFMTU3FK6+8gttuu40rjIiIGiRHdSF8++23\\\\\\n\",\n       \"8eKLL6qeIj169MCbb76pjq9nIyMLT548WR2bJe8l1Q8GsIjIqri+A3HuF6XdVtpvXI91F5YmEdaN\\\\\\n\",\n       \"Cg3A1aF+Za0Bjhw+gGXbt7M2G5EjWzepSfgGBWPQRZdiVLfSgFZBbg5eOvQ20vJrNupiyMlchJzO\\\\\\n\",\n       \"V4+PxwahwM/DjiUnqlvbtm3D5s2b0bFjR7sud8uWLXj11VfVY0kOHxkZia1bt2LRokWYNWsWA1hE\\\\\\n\",\n       \"RNRwOaAL4cKFC3Hvvffivffew4ABA/Daa69h7NixiIuLQ0RERKXvO3r0qOrSP2xY6Xkv1R8GsIjI\\\\\\n\",\n       \"qrSo5jgVGYXw5CRE798Ln8wMFAYGYUpUGLoH+KrXrFy2VLUCIMrNSMeqz+aVVUSnoSNxX9/7VCss\\\\\\n\",\n       \"yZe1KmEV/jz+p80V1XbHf90Hj3RvwgqmBkW69EmrKHvLzc1VSdzF0qVLVWsso9GokrhLd0IiIiKy\\\\\\n\",\n       \"nbRelkFQpk8vzfcrgaxffvkF8+fPx0MPPWT1PZIGYMqUKXjyySexevVqXgvVMwawiKhSB/oNRPhP\\\\\\n\",\n       \"i2HUNNx4dB8CJ01S87cuW6oupCRBMZE1e//+E/G7tsPo5gZPH18Mu3gcOoV1QlFJEfJL8vHDoR+Q\\\\\\n\",\n       \"VZhVaeXF7Pjv4v9IV+a/oobl+eefV/mqnnvuOXTr1g0eHuVbEAYGBtZoubGxsaqbwsUXX4wlS5bg\\\\\\n\",\n       \"nnvuUfMlUXxNl0lERNQYW2DJdYy0lp45c2bZPLkpNGbMGKxbt67S9z311FOqddYNN9ygAlhUvxjA\\\\\\n\",\n       \"IiKregT4IOLc0cBPi9Xz0BXLcKp1NJKSkpjfimySk36m7HHeJwsR2jxaPY5q2Rq3dr8VO1N3qufH\\\\\\n\",\n       \"s45j1+ldZa/1zSxEs6Olwa3USF9khPuwxqlBkZNfMXr0aLsmcZdugldffbUKXMmyBw0aVNYaq1ev\\\\\\n\",\n       \"XnYoORERUcPPgZWZmVluvpeXl5rMSUtpOR43bdq03Hx5vm/fPqvL//vvvzFv3jyVKoAcgwEsIioj\\\\\\n\",\n       \"aYY7+/ugpbcnzm0SiLTsJtACA2DIzELxpk2IHzEcmjt3G1R9uZkZahLH9+5Gm9590TEgDJLbenT7\\\\\\n\",\n       \"IVjq1wwnck6o7obuG1apbVEcZvfBRm9l71Pw9POsdT0U5tRfi9GVK1fWyXIvu+wyDB06FCdOnFCJ\\\\\\n\",\n       \"ZnUSzJJWWVQ9S5Ia/gXI2Kieji4CEZHTiY4uvWmqe/zxx/HEE0/UaplZWVn/3959gFddnv8f/5zs\\\\\\n\",\n       \"nQCBQELYG2QPQcQBiuJl3VInakv/WmdRW61WbW1r+6taR62rdVzuqtU6caCALNkoSAg7gWxC9j7n\\\\\\n\",\n       \"/K/nCYkJM5CEs96v6/qS7/meke95Tsg5uZ/7vh9dddVVev7555WYSHsLT+EvUSDAhQc5FBUUZAMJ\\\\\\n\",\n       \"53ZO0IQQt8rKyrRm3nIVFhaqZ6/eSvzuOwXX1ip2xw6V9Ovn6VOGz3Nr2+oVjZcyN67XxMmnKiju\\\\\\n\",\n       \"BIWERyhvx4/XZY1K8dA5AsfulFNOabfhM43bzdZUS1ZLAgAgUEoIMzMzm5XW7599ZZggVHBwsHJz\\\\\\n\",\n       \"c5sdN5f3f581tm7dapu3n3vuuY3HXC6X/WpWHjaN3/v27dvKJ4AjIYAFBLDu4aG6pWdXdXLX2cvF\\\\\\n\",\n       \"xcWat2CxqqrqV3+zxwb0twEsIyE9nQAW2lxxbo6Wvvum3Q9yuTRwWX1WhKNDB91ywSN6PeMdrcpb\\\\\\n\",\n       \"xcjDp5i+GM8++6y2bdumt99+WykpKXrllVfUu3dvm0UFAADaJ4BlgldH6g0ZFhamMWPGaN68eTp/\\\\\\n\",\n       \"X59fE5Ayl2+66aYDbm9WFv7++/r2Fw3uvfdem5n1+OOPH5D1hfZBAAsIQOPjo3VBUgdFBwfpw7wi\\\\\\n\",\n       \"hc3/7JC3LenTR87gYAU7nYrblC6dfbZsuhbQDqJ258hRW2v3CxMTlPPhf3XeRedpRp8Z9lhWWZZe\\\\\\n\",\n       \"3fiqqp3VjD+81rvvvmvLDMwqRatXr1Z1dXXjJIFp7P7JJ594+hQBAAh4c+bM0axZszR27FibzfzY\\\\\\n\",\n       \"Y4+pvLy8cVXCq6++2k5APfTQQ4qIiNCwYcOajVlCQoL9uv9xtB8CWECAMCGnGZ3j1ScyXH2iIpS2\\\\\\n\",\n       \"dLFd9jWsrOyw93OFham0Vy8lbN2q8PJyRWVnqyI5+bidNwJLbObuxv3S1BSV7crQ8udfUnh0tP0p\\\\\\n\",\n       \"Hjhxsm4ZdYsKKgtsv6xvs7/VxsKNHj1nYH9//OMf7VLc5oPvm2/WZxcaJ510kr0OAAC0XxP3lpo5\\\\\\n\",\n       \"c6by8/PtIik5OTkaOXKk5s6d29jYPSMjw65MCO9BAAvwY53DQmy2lUMOJYeHKiUiTPlrV2lFYaHN\\\\\\n\",\n       \"BGip4oEDbADLiE/fTAAL7cPtVkxmlt11BQervFsXu19dUW43Y9XH76tb/0EKDglWaHikLp98ub7N\\\\\\n\",\n       \"+dZmZNU4a7Q4a7HqXPUlsYCnmD4YU6ZMOeB4fHy8nTgAAADtV0J4NEy54MFKBo358+cf9r4vvfTS\\\\\\n\",\n       \"0X9DtAoBLMAPmWBVt/BQXdK1o+qydtnyFbNM7Pfp6aqsrDzqxyvu31/Sp3Y/YXO6sk9tvwbF/srU\\\\\\n\",\n       \"1Md2SlTe9vpAIA4UWVCo0Kr6Uquy5KSDrnjpcjq1O21D4+Wi3GwNGDDI7sd36aoBQwdo0e5FyizN\\\\\\n\",\n       \"VFnt4bMLgfZimr9u2bJFvXr1OmD57T59+jDwAAAAx4AAFuBHYoKDNDgmUld06yRXYYEyv1+n9PT0\\\\\\n\",\n       \"Vj9ubWysypO7KTorW1G5eQorKlLNvppvtMx3332nk06arPK9hcrZuplhO0L5YFlqy8pU9+zKsJsR\\\\\\n\",\n       \"HBqq4adP1+WJ5ym4W6ie3PEvG8RyupyqqKtgzHHczJ49W7feeqteeOEFORwOZWVlaenSpbrjjjv0\\\\\\n\",\n       \"u9/9jlcCAAAvKCGE7yGABfiJC5M66Jy4CJtp9e03C2wdd1sq6j/ABrCM+M2blT9uXJs+vr/bs2eP\\\\\\n\",\n       \"raM3WUIEsA4uOqM+gGU+e5R2P/o+a87aWq357CO7P+ikU/TrUb9qvO7DrLn6KvOrY3z1gKNz1113\\\\\\n\",\n       \"2azLqVOnqqKiwpYTmiW8TQDr5ptvZjgBAPCSEkL4FgJYgI9KDA3RL1I7KzYkWKa1YJ3brc8++9Su\\\\\\n\",\n       \"nNEeigYOUMqCBXY/flM6ASy0qdCSMkUWl9r9isROckZGtOrx0hYvUNqShXY/tmMnnXT5hZqYPNE2\\\\\\n\",\n       \"fi+qKtIrG19RaU399wPamsm6uueee3TnnXfaUsKysjINGTJEMTExDDYAAMAxIoAF+JjB0RGa0jFW\\\\\\n\",\n       \"vSPDVbx5k37YtcseLy0tVW1tbbt936rOnVUVF6eIkhLFmhU5qqrkimhdkAFoELurvnm7UdajjVa5\\\\\\n\",\n       \"dNdPw5XuKdDqf72qqPh4e7nH0BG6aeRNyiqr/57r96zXqtxVvBhoc2FhYTZwBQAAjoAMLLQAASzA\\\\\\n\",\n       \"R4yLj7bN2U/rGKdd67/TtpIS7d79Y8+gdudwqHjgQEWsWKEgl0vxW7dq79Chx+/7I2D6X5WmprT5\\\\\\n\",\n       \"49dUVtjNKMrJUXLmIIWGhys4JFQ/HXe+usd0V15Fnl3R0OV2tfn3BwAAwKE59m2t0dr7w/sRwAK8\\\\\\n\",\n       \"VHRwkHpGhNl905jdBLAqdmzTd+tXKzc31yPnVDygv5JWrLD7CembCWChTQRVVysqt8DuV8fGqCY+\\\\\\n\",\n       \"tp1H1q2s9I2Nlwp2Zajf8FEalzxUveN7a2XuSnvcBLSKqova+VwAAAAAtAQBLMDLhDkc6hgaol/2\\\\\\n\",\n       \"6KKEilLblL2urkIrP1to+6h4UmmPHqoLD1dIdbXitmyRnE4pONij5wTfF7M7R4595X529UHH8Z0/\\\\\\n\",\n       \"K8nP1Xfz5iosMlIjzpihQYkX2B5GEdHRemrrv20gy/TOqqyrPK7nBQAAEDAoIUQLEMACvMig6AjN\\\\\\n\",\n       \"SYpTcHCwtm7drM/WrZNXCQ5WSb9+6rhhgw1ixWZkqrR3L0+fFXxc7L7VB9urfLClaiorteKDdxsv\\\\\\n\",\n       \"9xoxRrdMvsEGs4yFe5bq/S3v22AWAAAA2o7DXb+19jHg3whgAV5gWqc4ndIxVnHBwVrz7VLt2rXL\\\\\\n\",\n       \"LsHujYoG9LcBLCN+czoBLLSO06no3Tl2tzYsVBVdOnnNiO5Yt0o7v1/bmI014IrzdPeEu5VTlqPX\\\\\\n\",\n       \"015XlbPK06cIAAAABAwCWIAHxIcE67wuCQoLClJEkEM9IsKVvuQbu5Kgp8sEj6Skb1+5goLqG7mn\\\\\\n\",\n       \"bdKuM8447iVf8B/ROfkKqauz++Xdk6WgIHkTt8tp860qSoq1/t9vKTYxUX1Hj9eNI29UTnl94G11\\\\\\n\",\n       \"3mptLPyxpxYAAACO9kPXvq01yMDyewSwgOOoe0SYBkdHaFKHGAVn7dKePXvs8ZXZ2SovL/eJ18IZ\\\\\\n\",\n       \"EaHSHqmK37FTESUlisjPV1WXLp4+Lfio2Mysxv1S0//Ki9XVVGtv1m6tyvmfug8epujQUIWEhumy\\\\\\n\",\n       \"SZdpadZSVdRVqNZVqxU5K+xXAAAAHAUCUDgCAljAcQpcdQsP1WXdOqo8M0NFG3cqLS3NZ8e+eOBA\\\\\\n\",\n       \"G8AyEtLTlUMAC8fC7VbsrvoAlsnqK0/p6hPj6Ha5lLnhu8bLhdm7NWzICXY/tmMnDRs2TF9lfKXs\\\\\\n\",\n       \"8myV1/pGYBoAAADwdgSwgHZgCupMaaAxKSFWMxMiVFlZqU3Lv9XOnfWBH19W3L+/9Nnndj/eBLAm\\\\\\n\",\n       \"T/b0KcEHhe8tUmh5hd2v6NZFrtBQ+aI9uzLsZgSHhGrEGWfruuSfyhEUpMe3Paei6iK53C7VuGo8\\\\\\n\",\n       \"faoAAABeiSbuaAkCWEAbiwkO0i09k9Q3uP5yTU2NFi5cqL179/rNWNckJKiiSxdF5eUpJitboaWl\\\\\\n\",\n       \"qo2N9fRpwcfEZjQpHzT9r/yAs65Wqz/9wO4PnDRFvxk9p/G6j7M/15cZX3rw7AAAALwUPbDQAgSw\\\\\\n\",\n       \"gDbSKzJMl3frpA6hIUorq9QP8+bK7XbL6XTar/6meEB/G8Ay4jdvVsHo0Z4+JfiYmIzdPtP/6lhs\\\\\\n\",\n       \"WrJQW1YstasYRsUl6MSfnqfRSaOVWZKpt9PfVp27vnk9AAAAgCMjgAUcI1MgeFZivO1tZQyJiVTW\\\\\\n\",\n       \"9+v0fUGBCgsL/TJo1VTRgAHqtmhxYxkhASwcjZDyCkXtLbL7FR0SVBcd5ZcD6Kytb+ZeUpCntS+8\\\\\\n\",\n       \"rpiOnTTwxMm6YeQNKqgokFtuLcteph0lOzx9qgAAAB5DCSFaggAWcJQigxyakBCjflERSo0IU9G+\\\\\\n\",\n       \"Zs4bS0qUk5MTMONZ0a2bqqOjFV5ertjtOxRUUyNXWJinTws+uPpgWc8UBYLqinK7ffu/d5Q6ZJji\\\\\\n\",\n       \"goMVFhml68Zep/mZ85VTnqMfCn/w9GkCAAAcf5QQogUIYAEtFB8SrKSwUF2Y1EGJpXtVkrdH323Y\\\\\\n\",\n       \"oKqqqsAcQ4dDJQMHqPPqNQp2OhW7fbtdnRBoiZgmASx/LB88HGdtjXasW914uSg3W2P7DVRij9P0\\\\\\n\",\n       \"RcxCbSnaYo+bVQyrnAH6+wUAAADYDwEs4DBCHfUrCZoywZt7JimyvFT5WRmav2qV35cItrSM0ASw\\\\\\n\",\n       \"jIRN6QSw0CJBtbWKzqnvn1YTFanqDgkBPXI5W9LtFpvYWSefMUOndZ+goOBg5YWV6oX1L6ikpsSu\\\\\\n\",\n       \"YggAAOCvKCFESxDAAg7h4qQOOjsuovHy+u/WKj09nfFqorRXL9WFhiqkttY2cpfLJQUFMUY4rOjd\\\\\\n\",\n       \"OQoyPyumfDA1xWbzQSotyNc3b7xcPxQOh4ZPna77R/5WdTXV+sfWf2lnyU6GCQAA+CdKCNECBLCA\\\\\\n\",\n       \"JiKCHLo6OVEpEWEyYZgvv/zclgiabKvafc2Y8SN3SIhK+/RRh02bFFpZqejdu1WemsoQocX9r0p7\\\\\\n\",\n       \"BFb5YIu53fruy7na+M18JQ8YpJ+f/nPtrd5rr9patFUfbP3ANoAHAAAAAgUBLEBSUliIzkiMV8+I\\\\\\n\",\n       \"MJXUObVzyTfau3evampqGJ8WlBGaAJaRkL6ZABYOz+VS9K76AFZdSIjKkzozYodRW12lnd+v1d7s\\\\\\n\",\n       \"LIVFRSkoKEhjTzpFXYd3tU3fv9j5hSrqKhhDAADg28jAQgsQwELAGhUbpfjQYJtpNT0xXuU7tqm4\\\\\\n\",\n       \"uFg7tm2Ta195E46spF9fuR0OOdxuxW3apN1TT2fYcEhReQUKranPZixP6SoFBzNaLfl/VlDfM8wo\\\\\\n\",\n       \"ys1R98HDNDSlu3oP/4WW5yy3x3PLc7W1eCvjCQAAfA49sNASBLAQUIIdUo+IMI2Oi9a4+GjVZe2y\\\\\\n\",\n       \"x7PWbdOWLfUrf+Ho1EVHqzQlRXG7dimqsFDhe/aoulMnhhEtKB9MYZSOQU1lhbatXq7ta1dq4ImT\\\\\\n\",\n       \"NaXDCfZ4Yr9z9N/sj22vrKyyLEoMAQAA4FcIYCEgmBbR4UEO/b/ULhrscKqiokLL5i5QeXm5p0/N\\\\\\n\",\n       \"L5QMHGADWA1lhLkTCWDhINxuxWTsrt91OFRmMrBwzNwul9KWLGy83CklVeecfqbCu0ZrSckqvb/1\\\\\\n\",\n       \"/X3Dbrpl0S8LAAB4MUoI0QIEsNBox44devDBB/XVV18pJydHycnJuvLKK3XPPfcoLCzMZ0cqMTRE\\\\\\n\",\n       \"t/ZMUrLDpfz8fH2yZImcTqenT8vv+mB1n/eV3TdlhLkTT/T0KcELhRWXKrysPmhc3iVRrvBwT5+S\\\\\\n\",\n       \"X9mzO1PzX/m3ImJiNeGCS3Xy+L/Y41XlZfr7tmeUV/FjGSIAAIA3Me1IzNbax4B/I4CFRmlpabb3\\\\\\n\",\n       \"07PPPqt+/fpp/fr1mj17ts1Sevjhh31qpM7oFGdLBI2OoSFaUlSmNd/MU3V1tadPzS+ZksGKjh0U\\\\\\n\",\n       \"VbhXsbt3K7iiQs6oKE+fFrxMbGZ99pVRRvlgu6kqK9XC115UWESkvdxj2Aj98sRfqrCqUF9lfKX1\\\\\\n\",\n       \"e9a33zcHAAAA2gkBLDQ666yz7NagT58+2rRpk55++mmfCGCFOKQZnRPULTxUfSLDte3bpaqrq9Pu\\\\\\n\",\n       \"ujpVFxR4+vT8XsnAgYpauszOfMRv3qLCEcM9fUrwMg3lg0Zp92SPnksglBdWV9Rnu21evkQFmTsV\\\\\\n\",\n       \"2ylRM6fO1JCCIXK6nXb1wi93fqlaV31TfTS3cOFC/e1vf9OqVauUnZ2t9957T+eff77fDJO/Pz8A\\\\\\n\",\n       \"gI+hhBAtQAALh2VW5evYseNhb2OymppmNpWUlBy3UU0xwaqo+jKkkbFRig4OVt3mjVqdmamysrLj\\\\\\n\",\n       \"dh6QivoPUNely+xQJGxOJ4CFZoIrqxRVUGj3K+NjVRsXwwgdR3uzd9utdE+BElN72mOdewxSz2E9\\\\\\n\",\n       \"tSZ/jTYVblJRdRGvSRMm+3jEiBG67rrrdOGFF/rd2Pj78wMA+BZWIURLEMDCIZlV+Z588skjZl89\\\\\\n\",\n       \"9NBD+v3vf39cR7JLWIi6R4TpyuROqs7OsqWP1TmFWrdunc26wvFX3j1FtZGRCq2sVOzWbXLU1ckd\\\\\\n\",\n       \"wq8Y1IvdlWUXUzDKenRnWDwcyDK2rV6hwSefqukdJ2rqiKl6a9Nb2lO1h0DWPmeffbbd/JW/Pz8A\\\\\\n\",\n       \"AOB/gjx9Amh/d911lxwOx2E30/+qqd27d9tywksuucT2wTqcu+++22ZqNWyZmZnt+nymdYrTn1I7\\\\\\n\",\n       \"6Wfx4dr87TItWrRIS5YssWUQBK88KChIxf37292Q2lrF7tjhybOBl4nJyGrcL0ulfNAbOOtqtf7r\\\\\\n\",\n       \"L7T03TdUvDJNv+h5lX437Nca3HGwp08NAAAEaglhazf4NdIjAsDtt9+ua6655rC3Mf2uGmRlZem0\\\\\\n\",\n       \"007TpEmT9Nxzzx3x8cPDw+3WnoIlXZOSqDHx0Sp3uvT1F5/ZYBm8S/GA/kr87ju7n5C+WSX9+nn6\\\\\\n\",\n       \"lOAFTDZedHaO3a+NCFdl4uHLknH8pX+72G5Jffrpyp9cqeAg81tX2rhno17b+Jrq3P6T2bp/mfvx\\\\\\n\",\n       \"eA/zB55sFwAA8H+UEKIlCGAFgM6dO9utJUzmlQlejRkzRi+++KKCgjyXpNc7MkwXJXVUsMOhqOAg\\\\\\n\",\n       \"VblcWvDxR6qsrJTT6fTYeeHQSvr0kTM4WMFOp+I2bZLOPktyNBSOIVBFZ+cp2On6MfuKnwmvlbtt\\\\\\n\",\n       \"i/Y8/axCQsMUFByslEumas7YOdpTuUfvbn7XL8oLU1NTm12+//779cADD3jsfHyFJ9oFAAAANEUA\\\\\\n\",\n       \"C82CV6eeeqp69uxp+17l5+c3Xte1a9fjNlJj4qI0IDpCY+Oilb3hexUWF8u0fs7Ly6NE0Mu5wsJU\\\\\\n\",\n       \"2quXErZuVXh5uaKys1WRTLlYoIvNbLL6YGqKR88FR1ZXXW03Y9vLH9im71169dX1w69X2t76cvPM\\\\\\n\",\n       \"kkytylvlk8Npytzj4uIaL5N91TKmXcCcOXOaZWDtHwwEAOCYsQohWoAAFhp98cUXtnG72bp3b95k\\\\\\n\",\n       \"2e1uv4LiyKAgjYiNtL24THP2KR1ilZf2g9LWF9pyRviW4oEDbADLiE/fTAAr0Lndis6s/39ssvPK\\\\\\n\",\n       \"u3Xx9BnhKDhra21Wltl65I1Q99g4m0E3aeh56hbTTZmlmfq+4Hu53PUZdr7ABK+aBrDQMpRaAgDa\\\\\\n\",\n       \"EyWEaAkCWGhk+mQdqVdWW4oODlKn0BC7kmBiWbGqq6vkqnRpzepl2rt3L6+Mj6pv5P6p3U/YnK7s\\\\\\n\",\n       \"U0/x9CnBgyILChVWVZ/NU94tiZUpfVjG+nWN+1mbNuqEiZM1MXGERnQeoS92fmHLDGtcNfIXZWVl\\\\\\n\",\n       \"dkKnwfbt27V27Vp17NhRPXr0kK/z9+cHAAD8DwEseESPiDDd0jNJMdWVyt6doa9WrWrXLC8cP7Wx\\\\\\n\",\n       \"sSrv1k3R2dmKys1TWFGRahISjuoxVqxYoQ8//FC5ubm2bNSUsJrl3idPntxu5432Lx8s63FgOekX\\\\\\n\",\n       \"K1Zrwep1ysytL1nuk9JNl595uvpTaujVSvfka+VH7yk0PEJjZpynOQNuVG5wkZ777jmV1PhHc++V\\\\\\n\",\n       \"K1fanpANGsrnZs2apZdeekm+zt+fHwDAx1BCiBYggIXj6sSEaM3s2klhQQ69l7tX4fM/4xXwQ0UD\\\\\\n\",\n       \"BtgAlhG/ebPyx407qvvHxMToJz/5ibp166aQkBCbFfD888/bsp/hw4e301mjPURn7G78TFLa/cAA\\\\\\n\",\n       \"1oZtOzR5xDAN7JGqsJAQvb9wsR588VX9/dYb1CmeMi9vV1tdpWXvvWXLCuMvm6y7x99tywnN9sn2\\\\\\n\",\n       \"T7Q0e6l8lekJ6c8TK/7+/AAAvllGCBwOASy0q8gghy7v1kkdQkPswmPdwkO1/psFKioqUnhVFaPv\\\\\\n\",\n       \"p4oGDlDKggV2P37TJu0cOtQuvx4REWE30+/MWL58ud577z2baWX6q5gFBG677TYNHjy42eNNnz5d\\\\\\n\",\n       \"33zzjZYsWaJdu3ZpxowZLT6XTz75RL179z7gMdE+nE6Xyquq5HS51KG2TpHFpfZ4bnSkbn3uJeXs\\\\\\n\",\n       \"KVRYaKh6J3fVb66aqdtmXtjs/tdfeK6Wbdio77du16mjR/Ay+Qq3W8Wvf6Olsevs/++o+ARNv2CG\\\\\\n\",\n       \"RieNVkZJhj7e/rGnzxAAAAA+jgAW2s15XRI0smsXFdc5VbpmhT2WWVys0tL6P2jhv6o6d1ZZdJRi\\\\\\n\",\n       \"yisUtX2Hbr/hBpW56ps8R0VFacqUKRo7dqz++c9/aubMmXa/qqpKmzZtOuCxTIbADz/8YFfJNE39\\\\\\n\",\n       \"Fy9eLKfTqXPPPfeI52HKEP/zn/8oLCxMd9xxB0Gsdgxardq0WZ8tW6Hvtmyz2VbGVR06aEiXJLv/\\\\\\n\",\n       \"xs4MnTZhjCYMHaTK6mpt3JFhYh4HqKmttY8XExXZXqeLdlRZWl8+WFFSrIqX31B8lySNGzdRXYd1\\\\\\n\",\n       \"1YIt9UFtAACAA5gPhq3NDCaz2O8RwEK7GVKyR1VF+crYvFmufcEL+L9t27bp1Vdf1cXFxbqqQ0eF\\\\\\n\",\n       \"Ohy64/Sp2tQ5UTU1NTYItXDhQs2dO9fe3izD3rlz58b9BhUVFbrllltsD6ygoCCNHj3aZmwZJihl\\\\\\n\",\n       \"HC6I1RC8Msz3NQ2KycJqWya4+OWK1Xrnq4XaU1KqHp0SdN6ooYqPjFBQkEMXF5ZLzvoPIvNKS5Wa\\\\\\n\",\n       \"naMzx49Rlw4J6tm1PrC1v1fnzlOHuFgN79unjc8Wx1tFcZHd9uzKUK8RYzQsI5YXAQAAHBSrEKIl\\\\\\n\",\n       \"CGCh3axevVqRkWRRBNpr/o9//EOJiYlyjh5jlrWyxyc4HHIPGGD3hw0bptNPP13r16+35X1//etf\\\\\\n\",\n       \"NWjQIE2aNEnjx49XdHS0vZ0pNfzTn/5kM7M2bNig//3vf7Zny/z5848YxGoavDIuvfTSoyo7xJG5\\\\\\n\",\n       \"XG699PFn+mTpco3ukawrxw9Xascfm/WH1jnVM7/M7peEBqsoNFjb1nynlWnpuvi0KTptzAjF7Pf7\\\\\\n\",\n       \"4b0Fi7T4u/V64OezFBbK25O/qKmsVPqyRarYtxolAAAAcCyCjuleALAfU+b3xBNPqF+/frr22msV\\\\\\n\",\n       \"NW6sakJD7XXdsrPlaJKFZxqzjxw5Ur/61a/sCoObN2/Wxx9/rDvvvFN5eXn1v5yCgpSUlGT7Ypng\\\\\\n\",\n       \"07hx47Rnzx4bjGpgglQmWHWk4FVLyg1xdF77fJ4+XbpcF44epstPHNUseGV0Lq1ofIMpSIjR3TNO\\\\\\n\",\n       \"06Vjh6umplZvfP6VbnnkKeUW7m28/f++WaL3FizWvddeqV7dDp6dBQAAAD9fhbC1G/waASwArVZe\\\\\\n\",\n       \"Xq7HH3/cBpsuuugihYaGyh0UpOxu3ez1YbW16pyff8D9TIaeCXaZQJUp8zOBrVWrVh2yXK22ttYG\\\\\\n\",\n       \"ow4VxCJ4dXys2LhJ/1u4ROeOHKJJ/Xoe9DZdissb93Pjom1j7/F9UnXj6RPta1ldW6vlP6TZ683K\\\\\\n\",\n       \"g+9+9Y3uveYK9TvISoUAAADwbw5X22zwb9RoAGi1RYsW2VUGL7jgAgUHBzce352Sop4ZGXZ/0MY0\\\\\\n\",\n       \"ueVQQedEG9wyqwmavlR9+/bV1KlT9corr9isq+TkZH3wwQd25UAT2DJBq3Xr1tnm7ddcc419rIaM\\\\\\n\",\n       \"qoZMK/P1o48+sn2zGpB51X4+WrRMvRM7asqA3gde6XarU2mlupTUB7BqghxaV1WpzRm7NaBromLC\\\\\\n\",\n       \"wzU0JUlrM7LUMS7OZl299eV8uxph5w4J2ltaX3YYERamyPCwdnwWAAAAAHwJASwArW/k/eWXtkF6\\\\\\n\",\n       \"TExMs+uCXE6byeswZYQ5OXariIzU6tGjlR8Rrp07d2rZsmU2+GWyrzp27KgRI0YoPT1dL7/8sgoL\\\\\\n\",\n       \"C+0Kgt26ddP111+vE088sfGx9w9iEbw6PjJz87Vh+05dceKoA65LKirTkKwCRdY6G48FuaUBtU59\\\\\\n\",\n       \"VlCohZu3q7q2zjZ5NxlZhSUl+vzblapzOvXw6283e6xLTp+imdNOPS7PCQAAAB7WFiWAlBD6PQJY\\\\\\n\",\n       \"AFrd+yonJ0dnnXVWs+Mpmbs04dv6VQObiqys1EmLF0snnaTOV17ZeNw0an/nnXdsZtYll1xityMx\\\\\\n\",\n       \"Qaz9M6+ioqLoedWOPl++SjER4TohpesBwavRO3MPuH2w263T8koUP3yIchN+DHC+tmyNPlu2Uv+8\\\\\\n\",\n       \"8xYbzAIAAEDgYhVCtAQBLACtsm3bNrtiYI8ePRqPmYbto1evrt/f7/aOfZMj45cv16aiImlf8GKQ\\\\\\n\",\n       \"y6XOnTqp89dfq1vPXi363m+sXdsseGWYy/OfeFKXjRzpda+sY/NmqaJMiZk75avG5ORrUkqyBuUX\\\\\\n\",\n       \"/XjQ7VbvguLDvt4mMys3Prrx9R6anKQ1y9aovKrqgNUIAQAAAGB/BLAAtLqBu2nG3jSLJjG/QFGV\\\\\\n\",\n       \"lYe8j2NfY/cTNmxodnxEYmdpZ0b9dgTP79mjfxf82Bg+LihIJftWOvz3iuWK275dszt1kjfqIt91\\\\\\n\",\n       \"eVh4/U7ujysIHol5vU1ZYcfyKhXG1Aerovb1tyqvJIAFAAAQ8NxuOynaKq29P7weqxACaN0vkaAg\\\\\\n\",\n       \"2werqciqQwev2oIJXv29SfDqV4mdtaz/APu1gbne3A7eI7y2rnG/4WfG/PwAAAAgsDWUELZ2g38j\\\\\\n\",\n       \"AwtAq5jG7SYLy+l0Nq5AWBnRspKwtcOHqzghwe7X1FTbHlgzZszQkCFDDnmfdxYt0iub0hovXzV1\\\\\\n\",\n       \"qk6dPFmbJZmW3wXm+nnzGoNYBSOG6+LJk73iVe7Tp69UUqjdG5tnnvmSlz/9QqEup6YO7tt4LLay\\\\\\n\",\n       \"WoNyjpyRVR3641tOcWWV/Ur5IAAAAICWIIAFoFVOOOEEvfHGG9q0aVNj4Kmgc6JdbdA0bD9Ye24z\\\\\\n\",\n       \"OVIRFan0QQPl3peBs3z5ci2urNQlJ5+skg4dDvq9PvzwQ/1nX3DKuPTSS3XmueeqpMltzuzXT9Wd\\\\\\n\",\n       \"OjWuTmiCWeZyw6qFHmX6chXkqKy0UL7K1beX3vj6G/UfNViRYaH2WH5slHruKVFErfOQr3dVaLAK\\\\\\n\",\n       \"oyMaj63JyNKA1BRF7islBAAAQABjFUK0ALUbAFolNTVVAwYM0IoVKxqPmaDU6tGj6/f3u33D5TWj\\\\\\n\",\n       \"RjcGr0w52cqVKzVmzBh1OETw6pNPPmkMSjUErw4VlDLHzfUNzP3M/dF608aOksu8Xjt2/XjQ4dAP\\\\\\n\",\n       \"yYn1r+V+t2+4bK/f1yctr6RMm3MLdNaJ43hJAAAAQAkhWoQAFoBWmzZtmnbs2KHc3NzGY7tTu2vx\\\\\\n\",\n       \"SSepcr8V5kzmlTlurm+6kmF+fr59nEPp3bu3wsLCjhi8OlgQy9zP3B+t1yEuVuOHDtKSrRly7mua\\\\\\n\",\n       \"b+QmxGh1zySbadWUuWyOm+sbLNqyQ7FRkTpx2KFLRQEAAACgKUoIAbTauHHj1LVrV5vp9LOf/UxR\\\\\\n\",\n       \"UVH2uAlSZaUk21UJTWN30xvLlBc2ZF4ZRUVFev/999WvXz8NHjz4kN/DXHfHHXdo+/bttk9WS5gg\\\\\\n\",\n       \"lunLZYJXh3tsHJ3zTp6kezak6e2V32vmuOGNK1CaIFVufLRdbdA0bDc9r2zZYJMVKtdmZGnJlp26\\\\\\n\",\n       \"YvpUhTXpiQUAAIAAxiqEaAEysAC0WkhIiO68807V1tbq5ZdfVnFxceN1JliVn9RFGT172q9Ng1cm\\\\\\n\",\n       \"68rcPiIiQrfddltjIORQTBCqpcGrBub2BK/aVr/uybrx4vNsGeHbK79rlollglWFMZHK7hBrvzYN\\\\\\n\",\n       \"Xpnbv/7tWp088gSdP2VSG58VAAAAfBWrEKIlmP4G0Ca6dOmie++9V3/729/07LPPatSoURo7duxB\\\\\\n\",\n       \"e1rl5eXZnlfr1q2z9zOZVfHx8bwSPmTKyBPsTNlT736gnYXFOqlvT43umaKI/bKqXC630nLybMlh\\\\\\n\",\n       \"Wnaepo4dpdnnzThisBIAAAAAmiKABaDNJCcn64EHHtDHH3+sBQsWaOnSperTp486d+5s+1BVV1cr\\\\\\n\",\n       \"JydHO3fuVFxcnM466yydc845jSWH8C1TRg1Xt8ROem/BIr23ZoM+/i5NQ1OSFB8ZoWCHQxU1tUrL\\\\\\n\",\n       \"yVdheYV6d+uqmy853wa+CF4BAACgGVYhRAsQwALQpkwm1eWXX66LLrpI3377rRYtWmQbvFdVVSky\\\\\\n\",\n       \"MlKJiYm68cYbbXaWKT2Eb+ufmqJfXzlTe4pL9OWK1VqVlq5dJQVyOl2KjozQ8IH9NX3CWFt2SOAK\\\\\\n\",\n       \"AAAAhyshbI3W3h/ej78eAbSL8PBwTZkyxW7wf53i4zRz2ql2AwAAAIC2RgALAAAAAAB4jstdv7X2\\\\\\n\",\n       \"MeDXCGABAAAAAADPoQcWWuDH9ewBAGiFDdt26INvlh7Vfcztzf0AAAAA4HDIwAIAtJoJQv355TdU\\\\\\n\",\n       \"XVsrp8upC06ZfMT7mNULX/vsK4WHhuq3sy7T0D69eCUAAAACkKMNmrCbx4B/IwMLANBqW3dn2+CV\\\\\\n\",\n       \"YYJSJjjVkuCVYe5n7g8AAIAA5Xa3zQa/RgALANBqPzl5oq6Yfnrj5cMFsZoGrwxzP3N/AAAAADgU\\\\\\n\",\n       \"AlgAgDZhygaPFMQ6WPCqJeWGAAAA8F+mfLAttqP11FNPqVevXoqIiNCECRO0fPnyQ972+eef18kn\\\\\\n\",\n       \"n6wOHTrYbdq0aYe9PdoeASwAwHEJYhG8AgAAwGFXIWztdhTeeustzZkzR/fff79Wr16tESNGaPr0\\\\\\n\",\n       \"6crLyzvo7efPn6/LLrtMX3/9tZYuXarU1FSdeeaZ2r17Ny/qcUIACwDQ7kGsWX/4PzKvAAAA4DUe\\\\\\n\",\n       \"ffRRzZ49W9dee62GDBmiZ555RlFRUXrhhRcOevvXXntNv/zlLzVy5EgNGjRI//rXv+RyuTRv3rzj\\\\\\n\",\n       \"fu6BigAWAKDdg1jlVVWN+5QNAgAAoCmH290mm1FSUtJsq66uPmCwa2pqtGrVKlsG2CAoKMheNtlV\\\\\\n\",\n       \"LVFRUaHa2lp17NiRF/M4CTle3wgAEHhBrPcXLGkWvIqOiKDnFY5Kxe4rVRcZ0+pRq6ksk/Qio9/G\\\\\\n\",\n       \"3kv/XnGxvjkfOj15pKdPAQDQwLVva4199zelfU2ZEsEHHnig2bGCggI5nU4lJSU1O24up6Wltejb\\\\\\n\",\n       \"/eY3v1FycnKzIBjaFwEsAEC7MD2vmgavDHPZHKdxOwAAANpDZmam4uLiGi+Hh4e3+ff4y1/+ojff\\\\\\n\",\n       \"fNP2xTIN4HF8EMACALS5/Ru2m8yrhmBWw3GCWAAAADCalgAeq4b7m+BV0wDWwSQmJio4OFi5ubnN\\\\\\n\",\n       \"jpvLXbt2Pex9H374YRvA+vLLLzV8+HBewOPIN3O+AQBe62CrDb58368PuTohAAAAAtxxXoUwLCxM\\\\\\n\",\n       \"Y8aMadaAvaEh+8SJEw95v//7v//Tgw8+qLlz52rs2LGtfdY4SmRgAQDaNXjVkGnV8LXhejKxAAAA\\\\\\n\",\n       \"4Clz5szRrFmzbCBq/Pjxeuyxx1ReXm5XJTSuvvpqpaSk6KGHHrKX//rXv+q+++7T66+/rl69eikn\\\\\\n\",\n       \"J8cej4mJsRvaHwEsAEC7B68aEMQCAADAAUz5XytLCI/2/jNnzlR+fr4NSplg1MiRI21mVUNj94yM\\\\\\n\",\n       \"DLsyYYOnn37arl548cUXH7FJPNoHASwAQKt98M3SIwavDhfECg4K1k9OPnS6NgAAAPyXw12/tfYx\\\\\\n\",\n       \"jtZNN91kt4MxDdqb2rFjx7GeGtoIPbAAAK3WN6WbwkNDjxi8amCub+iJZe5n7g8AAAAAh0IGFgCg\\\\\\n\",\n       \"1Yb26aXfzrpMW3dntziTygSxTOaVCV6Z+wMAACBAeaCEEL6HABYAoE2YINTRBqIoGwQAAIDDJbu1\\\\\\n\",\n       \"RmvvD+9HCSEAAAAAAAC8GhlYAAAAAADAcyghRAsQwAIAAAAAAJ5j2le1toUVLbD8HiWEAAAAAAAA\\\\\\n\",\n       \"8GpkYAEAAAAAAI9xuN12a+1jwL8RwAIAAAAAAJ5DDyy0ACWEAAAAAAAA8GoEsADgOAgODlaHDh3k\\\\\\n\",\n       \"rKtlvAEAAICmTPWfq5UbFYR+jxJCADgOxowZI5UVa/vaVYw3AAAA0AQ9sNASZGABwHEQGxurbWtW\\\\\\n\",\n       \"yllLBhYAAAAAHC0CWDio6upqjRw5Ug6HQ2vXrmWUAAAAAADtw92kkfsxb7w4/o4AFg7q17/+tZKT\\\\\\n\",\n       \"kxkdAAAAAED7anXwat8Gv0YACwf49NNP9fnnn+vhhx9mdAAAAAAAgMfRxB3N5Obmavbs2Xr//fcV\\\\\\n\",\n       \"FRXV4nJDszUoKSlhVAEAAAAALWNWEXS0wWPAr5GBhUZut1vXXHONrr/+eo0dO7bFI/PQQw8pPj6+\\\\\\n\",\n       \"cUtNTWVUAQAAAABHtQphazf4NwJYAeCuu+6yzdgPt6WlpenJJ59UaWmp7r777qN6fHP74uLixi0z\\\\\\n\",\n       \"M7PdngsAAAAAAAg8lBAGgNtvv91mVh1Onz599NVXX2np0qUKDw9vdp3Jxrriiiv08ssvH/S+5vb7\\\\\\n\",\n       \"3wcAAAAAgBZpiybsZGD5PQJYAaBz5852O5InnnhCf/zjHxsvZ2Vlafr06Xrrrbc0YcKEdj5LAAAA\\\\\\n\",\n       \"AEBAIoCFFiCAhUY9evRoNhoxMTH2a9++fdW9e3dGCgAAAAAAeAQBLAAAAAAA4DlkYKEFCGDhkHr1\\\\\\n\",\n       \"6mVXJgQAAAAAoN24zFKEbfAY8GusQggAAAAAAACvRgYWAAAAAADwGIfbbbfWPgb8GwEsAAAAAADg\\\\\\n\",\n       \"OfTAQgtQQggAAHAQTz31lO0HGRERoQkTJmj58uV+N06B8BwBAIB/IIAFAACwn7feektz5szR/fff\\\\\\n\",\n       \"r9WrV2vEiBGaPn268vLy/GasAuE5AgB8hMvdNhv8GgEsAACA/Tz66KOaPXu2rr32Wg0ZMkTPPPOM\\\\\\n\",\n       \"oqKi9MILL/jNWAXCcwQA+FgJYWs3+DUCWAAAAE3U1NRo1apVmjZt2o8fmIKC7OWlS5f6xVgFwnME\\\\\\n\",\n       \"AAD+hSbuAAAgYJSUlDS7HB4ebremCgoK5HQ6lZSU1Oy4uZyWliZ/cLTPsbq62m6HGkcAAFqnLTKo\\\\\\n\",\n       \"yMDyd2RgAQCAgJGamqr4+PjG7aGHHvL0KfkEM05Nx82MIwAAbYYSQrQAGVgA0M4SEhIUHR2tmspK\\\\\\n\",\n       \"xhrwsMzMTMXFxTVe3j/7ykhMTFRwcLByc3ObHTeXu3btKn9wtM/x7rvvtg3fm2ZgEcQCAADHExlY\\\\\\n\",\n       \"ANCOHA6HJk+erK1LF6ooJ4uxBjzMBK+abgcLYIWFhWnMmDGaN29e4zGXy2UvT5w4Uf7gaJ+jGaf9\\\\\\n\",\n       \"xw4AgDbDKoRoATKwAKCdA1jmD8XMH9YzzoAPMdlGs2bN0tixYzV+/Hg99thjKi8vtyv2+YtAeI4A\\\\\\n\",\n       \"AB/hdtVvrX0M+DUCWAAAAPuZOXOm8vPzdd999yknJ0cjR47U3LlzD2h67ssC4TkCAAD/QQALAADg\\\\\\n\",\n       \"IG666Sa7+bNAeI4AAB9q4t7ax4BfI4AFAAAAAAA82wNL7jZ4DPgzmrgDAAAAAADAq5GBBQAAAAAA\\\\\\n\",\n       \"PIcSQrQAASwAAAAAAOA5toKwtT2w2upk4K0oIQQAAAAAAIBXIwMLAAAAAAB4DiWEaAECWAAAAAAA\\\\\\n\",\n       \"wHNcLvNPGzwG/BklhAAAAAAAAPBqZGABAAAAAADPoYQQLUAACwAAAAAAeA4BLLQAJYQAAAAAAADw\\\\\\n\",\n       \"amRgAQAAAAAAz3G5TRpWGzwG/BkBLAAAAAAA4DFut8turX0M+DdKCAEAAAAAAODVyMACAAAAAACe\\\\\\n\",\n       \"beLe2hJA8xjwawSwAKAdhYaGMr4AAADAEYNPBLBweJQQAkA7CQkJ0SljRys3faNqqyoZZwAAAAA4\\\\\\n\",\n       \"1r+vGDkAaB8dOnRQWGSUFv3nVYYYAAAAOBSXS3K0sgk7Tdz9HgEsAGhHzrpauc0bMgAAAICDo4QQ\\\\\\n\",\n       \"LUAJIQAAAAAAALwaGVgAAAAAAMBjTMWCu5UlhG5KCP0eASwAAAAAAOA5lBCiBSghBAAAAAAAgFcj\\\\\\n\",\n       \"AwsAAAAAAHiOyy053G2QxQV/RgALAAAAAAB4jg0+tXLlbgJYfo8SQgAAAAAAAHg1MrAAAAAAAIDH\\\\\\n\",\n       \"uF1uuVtZQugmA8vvkYEFAAAAAAA8x+1qm+0oPfXUU+rVq5ciIiI0YcIELV++/LC3f/vttzVo0CB7\\\\\\n\",\n       \"+xNOOEGffPJJK540jhYBLAAAAAAAEFDeeustzZkzR/fff79Wr16tESNGaPr06crLyzvo7ZcsWaLL\\\\\\n\",\n       \"LrtMP/vZz7RmzRqdf/75dlu/fv1xP/dARQALAAAAAAB4toSwDbaj8eijj2r27Nm69tprNWTIED3z\\\\\\n\",\n       \"zDOKiorSCy+8cNDbP/744zrrrLN05513avDgwXrwwQc1evRo/eMf/2ijUcCREMACAAAAAAABU0JY\\\\\\n\",\n       \"U1OjVatWadq0aY3HgoKC7OWlS5ce9D7meNPbGyZj61C3R9ujiTvaXEPzvMrKSkYXAa2goEAbV3yr\\\\\\n\",\n       \"iqpqT58K4HGV1dXH1GC1trK8Tb5/Wz0O1Ox1LClr5ZLnHlTnrvX0KQCASkpKfP7c26J5ep1qJXcb\\\\\\n\",\n       \"PEaT82oQHh5ut/0/pzudTiUlJTU7bi6npaUd9PFzcnIOentzHMcHASy0uT179tivt956K6MLADjg\\\\\\n\",\n       \"PSI+Pv6IoxIWFqauXbvqv3f+pM1G0DyeeVy0Xmlpqf3ac/QOHx7ObZ4+AQBo0XuiL7wnHOvzaHi/\\\\\\n\",\n       \"X5TTNs3QY2JilJqa2uyY6XH1wAMPtMnjw7MIYKHNdezY0X7NyMjwi1/Ix8JE/c0vzszMTMXFxSkQ\\\\\\n\",\n       \"MQaMAT8H/H9oqri4WD169Gh8jzgSs7rP9u3bbYp/WzEfks3jovWSk5Pte1xsbKwcDkebD6k/vIf4\\\\\\n\",\n       \"+nPg/D2P14Dx9/afH5N5ZYJX5j3hWLX1+705p/3fl/bPvjISExMVHBys3NzcZsfNZRNQOxhz/Ghu\\\\\\n\",\n       \"j7ZHAAttztQOGyZ45Ysf2NqSef6MAWPAzwH/F/idcOB7REs/1BJw8t7XsXv37u3+ffzh96evPwfO\\\\\\n\",\n       \"3/N4DRh/b/75aYuEBU+835tJrTFjxmjevHl2JUHD5XLZyzfddNNB7zNx4kR7/W233dZ47IsvvrDH\\\\\\n\",\n       \"cXwQwAIAAAAAAAFlzpw5mjVrlsaOHavx48frscceU3l5uV2V0Lj66quVkpKihx56qLFFzimnnKJH\\\\\\n\",\n       \"HnlE55xzjt58802tXLlSzz33nIefSeAggAUAAAAAAALKzJkzlZ+fr/vuu882Yh85cqTmzp3b2Kjd\\\\\\n\",\n       \"tMRpmjk+adIkvf7667r33nv129/+Vv3799f777+vYcOGefBZBBYCWGhzpsbYNMo7WK1xoGAMGAN+\\\\\\n\",\n       \"Dvi/wO8Efi8isN9Hff05cP6ex2vA+Afyz8/xYsoFD1UyOH/+/AOOXXLJJXaDZzjcbbHmJQAAAAAA\\\\\\n\",\n       \"ANBOWt5JFQAAAAAAAPAAAlgAAAAAAADwagSwAAAAAAAA4NUIYKHdffzxx5owYYIiIyPVoUMHnX/+\\\\\\n\",\n       \"+QE56tXV1XZlC4fDobVr1ypQ7NixQz/72c/Uu3dv+zPQt29f21CypqZG/u6pp55Sr169FBERYf8P\\\\\\n\",\n       \"LF++XIHCLDc8btw4xcbGqkuXLvb//aZNmxTI/vKXv9j//7fddpsCye7du3XllVeqU6dO9nfACSec\\\\\\n\",\n       \"YJecBgAAAI4GASy0q3fffVdXXXWVrr32Wq1bt06LFy/W5ZdfHpCj/utf/1rJyckKNGlpaXK5XHr2\\\\\\n\",\n       \"2We1YcMG/f3vf9czzzxjl571Z2+99ZbmzJljg3WrV6/WiBEjNH36dOXl5SkQLFiwQDfeeKOWLVum\\\\\\n\",\n       \"L774QrW1tTrzzDNVXl6uQLRixQr7f2D48OEKJHv37tVJJ52k0NBQffrpp/rhhx/0yCOP2MkMwF8n\\\\\\n\",\n       \"ABYuXKhzzz3XvueboLVZYt2X+PoExNNPP21/18bFxdlt4sSJ9vePr/LFyY8HHnjAnnPTbdCgQfIl\\\\\\n\",\n       \"vjz5Yn537j/+ZjOfywBfF+LpE4D/qqur06233qq//e1vNgOnwZAhQxRozAenzz//3Ab0fPlD1LE4\\\\\\n\",\n       \"66yz7NagT58+9oOw+YD58MMPy189+uijmj17tg3eGiZoZ7IRX3jhBd11113yd3Pnzm12+aWXXrJ/\\\\\\n\",\n       \"CK1atUpTpkxRICkrK9MVV1yh559/Xn/84x8VSP76178qNTVVL774YuMxk40JtGQCwPzeNMGrxx57\\\\\\n\",\n       \"zE4AmPcO83vE25lAvZm0uO6663ThhRfKVycgTBDLfJYzE05mAsIEoKOjo+XtunfvboM+/fv3l1ls\\\\\\n\",\n       \"/eWXX9Z5552nNWvWaOjQofIlvjz5Ycb6yy+/bLwcEhLic5Mvp512mv3c3rlzZ23evNlnJl/Mz43T\\\\\\n\",\n       \"6Wy8vH79ep1xxhm65JJLPHpeQFsgAwvtxmSdmNmLoKAgjRo1St26ddPZZ59tf4kGktzcXBvIeOWV\\\\\\n\",\n       \"VxQVFeXp0/EKxcXF6tixo/yVKY80gZpp06Y1HjP/D8zlpUuXKlBfc8OfX/dDMX8InnPOOc1+HgLF\\\\\\n\",\n       \"Bx98oLFjx9oPzSbwYN4LTCAPaOkEgJn0MoEs8/5pJgB8gfmsY4LVF1xwgXx1AuKaa66xAQgTiDMT\\\\\\n\",\n       \"EBkZGfZ9zReY7LcZM2bYANaAAQP0pz/9STExMTYj2FcnP3wlcNKUCVh17dq1cUtMTJQvTr6MHz/e\\\\\\n\",\n       \"TryYIK5pg+ELTMCt6dh/9NFH9txPOeUUT58a0GoEsNButm3b1phGfO+999pfnuYN+NRTT1VhYWFA\\\\\\n\",\n       \"jLyZ+TMfAq+//nr7RxykLVu26Mknn9T/+3//z2+Ho6CgwM58JSUlNTtuLufk5CjQmBJSU/pgZjOH\\\\\\n\",\n       \"DRumQPLmm2/aYL4pyQnU9wGTbWn+kPzss890ww036JZbbrEZEcDBMAHgfXx5AsK8F5vfwyYrzpQS\\\\\\n\",\n       \"+hJfn/wwGUumjNZk3ptAnAmC+gp/mnwxv1NfffVVmxFqyggBX0cAC0fNlD8drK666dbQ98i45557\\\\\\n\",\n       \"dNFFF2nMmDF2JsNc//bbbwfEGJhATWlpqe6++275m5aOQVMmI8+UE5oPBGZ2HYHBfAg3mZfmj4hA\\\\\\n\",\n       \"kpmZacuoX3vtNdvHJxCZ94HRo0frz3/+s/0D4Be/+IX9v28yaoCDYQLAu/jqBMT3339vs67Cw8Pt\\\\\\n\",\n       \"JOJ7773nUy0sfH3yw5T+msw9k81nJjG2b9+uk08+2X4m9gX+NPlievAVFRXZCXXAH/hOMTK8xu23\\\\\\n\",\n       \"337EX4JmtiU7O9vuN/3AYD5ImOt8aRamNWPw1Vdf2ZIx87ybMrM6ZjbKF98Ij3YMGmRlZdleApMm\\\\\\n\",\n       \"TdJzzz0nf2bS5IODg235aFPmsknlDiQ33XSTzb40TY1NX5JAYsptTNN+E8Bpmg1gxuIf//iHXZnU\\\\\\n\",\n       \"/Jz4M1M6vv8fjYMHD7b9AAH4zgTEokWL5EsGDhxoV3w22WPvvPOOZs2aZXt7+UIQq2HywyyA4quT\\\\\\n\",\n       \"H6aMtoHp32UCWj179tR//vOfZn1xvTlwaz6rm8kXw0zAmP8HZvLF/Cz5kn//+9/29QjEhaTgnwhg\\\\\\n\",\n       \"4Zjqqs12JCbjygRuTNPVyZMn22NmJbIdO3bYN7FAGIMnnniiWdNmE8QxjWhNg1rzZh4IY9CQeWWC\\\\\\n\",\n       \"Vw1ZeKYflD8LCwuzz3XevHl29aaGD0PmsgnoBEr57M0332xnvefPnx+QjbunTp1qswCaMj19zEpM\\\\\\n\",\n       \"v/nNb/w+eGWYrI39Vy9LT0/3+fcAtB8mALyHL09AmPfhfv362X3zfmyaWj/++OO2Ibq388fJj4SE\\\\\\n\",\n       \"BNuPzLSR8AX+Mvmyc+dO20j/v//9r6dPBWgzBLDQbszSxSZt+/7777eNEM0fLGZFQiNQVsHo0aNH\\\\\\n\",\n       \"s8smnd0wjRR97cPgsTLBK9P3zLz+ZtXB/Pz8xuv8ORvJrKBlZunMDJ5pAGpW0TI9OBpWJQyEWfvX\\\\\\n\",\n       \"X39d//vf/+xS7A29v+Lj4+1y1IHAPO/9S27MCl5mSW5fKsVpjV/96lc269LMYl966aVavny5zcD0\\\\\\n\",\n       \"9yxMHDsmADzPHycgzCSSCfz4An+c/DAN6bdu3aqrrrpKvsBfJl/MpLHp4WV6qQH+ggAW2pUJWJlV\\\\\\n\",\n       \"SMwbVmVlpc06MmV1vriaCo6NSYE3M25m2z9oZz4k+6uZM2faYN19991ngzcjR460vSD2b+zur0zv\\\\\\n\",\n       \"CMMEL/f/MEUfhsAxbtw4+0ew6QP4hz/8wf4hbIK5poQa8NcJAPPHetNME9P/x5SzmSbo+09seSNf\\\\\\n\",\n       \"n4Awv29MyZQZa9NzyTwXE4gzvYx8gT9Mftxxxx12NUgT8DHVB2Yy2wTeLrvsMvkCf5h8MUFb85nL\\\\\\n\",\n       \"/C41f4sB/sLh9ue/IAEAAOBzTKmUmQRrmAAwJfm+UnpvgiWmbH5/5g9J09ja2x1qpTJfmYAwPZZM\\\\\\n\",\n       \"yb7pxWqCbqYHk8lcOuOMM+SrzGSQ+X9ggrm+4Kc//aktedyzZ49tN2FaifzpT3+yFQi+wpTPmmCo\\\\\\n\",\n       \"WU3RTL6YwLovLUD0+eef27YlJpPMlG8C/oIAFgAAAAAAALyaf3dSBgAAAAAAgM8jgAUAAAAAAACv\\\\\\n\",\n       \"RgALAAAAAAAAXo0AFgAAAAAAALwaASwAAAAAAAB4NQJYAAAAAAAA8GoEsAAAAAAAAODVCGABAAAA\\\\\\n\",\n       \"8Cvz58+Xw+FQUVGRp08FANBGCGABQDvKzs7W5ZdfrgEDBigoKEi33XYb4w0AQBs79dRTm73HTpo0\\\\\\n\",\n       \"yb4Hx8fHe2ysCaIBQNsigAUA7ai6ulqdO3fWvffeqxEjRjDWAAAcB2FhYeratavNwgIA+AcCWADQ\\\\\\n\",\n       \"Cvn5+fYD8p///OfGY0uWLLEfnOfNm6devXrp8ccf19VXX+3RWWAAAPzVNddcowULFtj3WxOwMttL\\\\\\n\",\n       \"L73UrITQXE5ISNBHH32kgQMHKioqShdffLEqKir08ssv2/frDh066JZbbpHT6Ww2EXXHHXcoJSVF\\\\\\n\",\n       \"0dHRmjBhgs2sarBz506de+659r7m+qFDh+qTTz7Rjh07dNppp9nbmOvMuZjzNFwulx566CH17t1b\\\\\\n\",\n       \"kZGRdoLrnXfeOSBz6+OPP9bw4cMVERGhE088UevXrz+OowoA3ifE0ycAAL7MZFe98MILOv/883Xm\\\\\\n\",\n       \"mWfaD8VXXXWVbrrpJk2dOtXTpwcAgN8zgav09HQNGzZMf/jDH+yxDRs2HHA7E6x64okn9Oabb6q0\\\\\\n\",\n       \"tFQXXnihLrjgAhvYMkGnbdu26aKLLtJJJ52kmTNn2vuY9/MffvjB3ic5OVnvvfeezjrrLH3//ffq\\\\\\n\",\n       \"37+/brzxRtXU1GjhwoU2gGVuGxMTo9TUVL377rv28TZt2qS4uDgbrDJM8OrVV1/VM888Yx/D3PfK\\\\\\n\",\n       \"K6+0nylOOeWUxvO988477XMzE2W//e1vbaDMPM/Q0NDjNrYA4E0IYAFAK82YMUOzZ8/WFVdcobFj\\\\\\n\",\n       \"x9oPsObDKQAAaH8mw9lkPpusKhPsMdLS0g64XW1trZ5++mn17dvXXjYZWK+88opyc3Nt0GnIkCE2\\\\\\n\",\n       \"a+rrr7+2AayMjAy9+OKL9qsJXhkmG2vu3Ln2uMm+NteZINUJJ5xgr+/Tp0/j9+vYsaP92qVLFxsk\\\\\\n\",\n       \"a8joMvf78ssvNXHixMb7LFq0SM8++2yzANb999+vM844w+6bLLHu3bvbANqll17abmMJAN6MABYA\\\\\\n\",\n       \"tIGHH37Yzvy+/fbbWrVqlcLDwxlXAAC8iAlwNQSvjKSkJFs6aIJXTY/l5eXZfZNlZcoJzUIsTZkg\\\\\\n\",\n       \"VKdOney+KTm84YYb9Pnnn2vatGk2mGXK/g5ly5YtNhOsITDVwGRxjRo1qtmxhgBXQzDMZHlv3Ljx\\\\\\n\",\n       \"mJ8/APg6AlgA0Aa2bt2qrKws29fC9L1omIkFAADeYf/SO9Nn6mDHzHu5UVZWpuDgYDsxZb421RD0\\\\\\n\",\n       \"+vnPf67p06fbflUmiGUysB955BHdfPPNBz0H85iGub3pq9UUk18AcHgEsACglcysqeldYcoNzOyo\\\\\\n\",\n       \"+TBrZm1NyQAAAGh/poSwafP1tmAyosxjmoysk08++ZC3M/2urr/+ervdfffdev75520Ay5yT0fS8\\\\\\n\",\n       \"TJmiCVSZ0sOm5YIHs2zZMvXo0cPu79271/a/Gjx4cJs9PwDwNQSwAKCV7rnnHhUXF9vGsGZG1jSC\\\\\\n\",\n       \"ve666+xKR8batWsbZ13NqoXmsvlQaz7EAgCA1jOlgN9++63NgjbvxQ1ZVK1hSgdNf0uzkrDJqjIB\\\\\\n\",\n       \"LfM+blYZNmWC55xzjm677TadffbZ9rYmyGT6ZzUEmXr27GkzusznAdMv0zRxj42NtX20fvWrX9lz\\\\\\n\",\n       \"nDx5sv0MsXjxYtvofdasWY3f3zSkN6WKpqzRfNZITEy0i8YAQKAK8vQJAIAvM0tdP/bYY7YJrPng\\\\\\n\",\n       \"GRQUZPe/+eYb2yjWMB94zWZKEF5//XW7bz7IAgCAtmGCQqbMz0wOmdX8TIZTWzDN2k0A6/bbb7dZ\\\\\\n\",\n       \"1iaAtGLFisbMKJNdZVYiNEErszqhCWT985//tNeZEsHf//73uuuuu2wQyqxoaDz44IP63e9+Z8sN\\\\\\n\",\n       \"G+5nSgp79+7d7Hv/5S9/0a233qoxY8YoJydHH374YWNWFwAEIofb7XZ7+iQAAAAAAPWTY2Y1RJPR\\\\\\n\",\n       \"1bB6IQCADCwAAAAAAAB4OUoIAQAAAAAA4NUoIQQAAAAAAIBXIwMLAAAAAAAAXo0AFgAAAAAAALwa\\\\\\n\",\n       \"ASwAAAAAAAB4NQJYAAAAAAAA8GoEsAAAAAAAAODVCGABAAAAAADAqxHAAgAAAAAAgFcjgAUAAAAA\\\\\\n\",\n       \"AACvRgALAAAAAAAAXo0AFgAAAAAAALwaASwAAAAAAADIm/1/34ndLWmRfhYAAAAASUVORK5CYII=\\\\\\n\",\n       \"\\\"\\n\",\n       \"  frames[7] = \\\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABLAAAAH0CAYAAAAt0NQSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90\\\\\\n\",\n       \"bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAP\\\\\\n\",\n       \"YQAAD2EBqD+naQAA5TtJREFUeJzs3Qd4U9X7B/Bv0r0XLaVQoFD23lsQUFBQcYsoiFtx4PgruDe4\\\\\\n\",\n       \"98+BgOICB+4BMkRkyd6UTUtLKaV07+b+n/fUW9M0LWmbNmn6/fhcSW6Tm5Nzb+547znvMWiapoGI\\\\\\n\",\n       \"iIiIiIiIiMhJGR1dACIiIiIiIiIioqowgEVERERERERERE6NASwiIiIiIiIiInJqDGARERERERER\\\\\\n\",\n       \"EZFTYwCLiIiIiIiIiIicGgNYRERERERERETk1BjAIiIiIiIiIiIip8YAFhEREREREREROTUGsIiI\\\\\\n\",\n       \"iIiIiIiIyKkxgEVETmfEiBG44YYbHF0MqkeyvmW9u6qPP/4YBoMBR48etWudtW7d2m7Ls1y2v78/\\\\\\n\",\n       \"6ot8D1t+83VRj86yP6vtdztw4ADOP/98BAUFqeV8//33cHa2rndquPvSp556Sm2PDZFe9tTUVDiz\\\\\\n\",\n       \"33//HT179oS3t7cqb3p6OlxRQ9z/E5H9MYBF1MitXbtWnaTZ64Tnzz//VCcYlU3PP/88nLXsjpSU\\\\\\n\",\n       \"lKS+y7Zt22q8jF9//VUtw9FkfURERKj1/c033zi6OER2c+jQobKLxE2bNjlVzU6ZMgU7d+5U+9hP\\\\\\n\",\n       \"P/0Uffv2RWPEfWn9y83NVcceOf47C2csU104ffo0rrrqKvj4+ODdd99Vv30/Pz9HF4uIqM4wgEXU\\\\\\n\",\n       \"yEkQ6Omnn7ZbEKhTp07qBMpykpYBQv/XGcvu6Isu+S61DWDJMhztiSeeUBcPRLaKi4vDnDlznL7C\\\\\\n\",\n       \"7rvvPri7u9fJsq+//nrk5eWhVatW1X6vvG/dunW46aabcNddd+G6665DixYt0BhxX1r/ZH8vxx5r\\\\\\n\",\n       \"waLHHntMbZ/OVCZXsnHjRmRlZeHZZ59Vv3/57Xt4eDi6WEREdYYBLCKyq6ZNm6oTKMvp8OHDaNeu\\\\\\n\",\n       \"Hfr16+eQGjeZTMjPz3fIZzcmu3btwnvvvYeHH37Y0UWhBsTLy8vpL7qWLFmiJgli1QU3N7ey1l3V\\\\\\n\",\n       \"derUKfVvcHCw3coj+0vZb1qTk5Njt88h196XSsBXtmuqGykpKXb/7Tvq983zNCKyBQNYRI2YNK//\\\\\\n\",\n       \"v//7P/U4JiamrJufvfML/PPPPzh48CAmTZpUb2WXx9IS4fPPP0eXLl3UBbLkidC7OFrelZX3yXzJ\\\\\\n\",\n       \"sWBu3759uOKKKxAaGqpOwqVbzo8//ljt8v7xxx8YOnSoOsmU3EIdOnTAI488ov4mZdEDe1OnTi37\\\\\\n\",\n       \"LnpZVq9ejSuvvBItW7ZU3yM6OlpdRJvf1Za8J9J9QP/u+mR+YvjGG2+oupDvIYHG2267DWfOnIE9\\\\\\n\",\n       \"3Xvvvbj00ksxbNgw1BVpcTd9+nRVD1IfsbGxePHFF8tdbOvr85VXXsGHH36Itm3bqtdKPcsda0uy\\\\\\n\",\n       \"nqUbRnh4uOqKIevn0UcfLfearVu34oILLkBgYKBah6NGjcL69esrLGv37t0YOXKkWo60gnnuuecq\\\\\\n\",\n       \"DQT89ttvqq6ky0dAQADGjRun3m9J8hl17dpVrTv597vvvqth7QFff/01+vTpo8rXpEkTFWBOTEy0\\\\\\n\",\n       \"+loJPI8ZM0aVLyoqCs888ww0TSv3moULF6rlSfmlbrp164Y333yz1rmQbKnHFStWwGg0qlZ/5r74\\\\\\n\",\n       \"4gu1/iUAYA9FRUVq25ZJtqX6yu8i9TJ+/Hj8/fff6N+/v1r/bdq0wYIFC8rtC/VWW7JPlGWY50aT\\\\\\n\",\n       \"dXvjjTeq37z8BmQfMG/evHKfre8XZV1Ki5nmzZvD19cXmZmZZfnQpPvkhRdeqNazvi+3db8i24ys\\\\\\n\",\n       \"P1mPstxzzz3X6nZuC+5L7SMtLQ0PPvig+r3K+pXfruzftm/fbjWYKdtZ+/bt1Xpu1qwZLrvsMrVN\\\\\\n\",\n       \"yPYq+00hLZ70Y4/end1aDqzi4mLVYkjfL8v2KsfDgoKCcq+zZfu35mxl2rFjh9quZVmyzMjISPUb\\\\\\n\",\n       \"ke54Z3Ps2DF1zJH98MmTJ+vkmCT7GzkmnThxosqySK4z6TosZDmyfPP9qC37+sp+32+99ZYKqpu3\\\\\\n\",\n       \"cH/11VfVZ9x///1l80pKStR7zAOt8h0HDx6MsLAw9dlSBmvpBCo7T6vucZSIGpe6aQdPRA2CnIDu\\\\\\n\",\n       \"378fX375JV5//XV1giP0E7+MjAx1InU2cgJYVcJnOTkR9gxgna3s+sXtV199pU6Q5O9yMlyd7oZy\\\\\\n\",\n       \"AjVkyBB1MTdjxgx1ES/LmzBhAr799lsVqLF1OXIS3r17dxUAkJM0CeitWbOmrNulzJeL8FtvvbUs\\\\\\n\",\n       \"+CMngPpJqHSHuOOOO9QJoQQE3377bRw/flz9TchFo3SdkYs76bJpSf4uF8gSILvnnntw5MgRvPPO\\\\\\n\",\n       \"OyooI+XQW79kZ2fb1FJNXi/Jos1JWaRb5969e+ssyarUw/Dhw9VJuHwnCerJZ86cOVOd7MvFtGUg\\\\\\n\",\n       \"Q7pXyGvlZPmll15S244EZvTvLBczUufyXOpfthM5mf/pp5/KcrbJOpTXyEXeQw89pF77wQcfqAuI\\\\\\n\",\n       \"VatWYcCAAep1ycnJ6uJcLtD0bUYuVuQk3JKsJ7n4kACRXOzId5OAiwQ6Zb3oQYilS5fi8ssvR+fO\\\\\\n\",\n       \"nTFr1ix1kSXrsSZdxPRtQC52ZFlyASbBJtkG5DPN7+LLhcnYsWMxcOBAVW9yYfHkk0+q7ybbq5Dt\\\\\\n\",\n       \"beLEiSqYJ99ByPqX5Umwp6ZsrUe5wLnzzjvVd5HfZe/evdV2cPfdd2P06NG4/fbby15bm/2ZbFcS\\\\\\n\",\n       \"lJHgzuLFi1GfZF8hQXTpHiTbiwSf5KJTLgrlok+2Z1lvEtSWdSEXoXr5Zf3K+tMvFGX/KEFTWZYE\\\\\\n\",\n       \"p+Si25wEFTw9PVVgQ4IJ8ljIepDtVLZNuTiVIFR19iuyb5MLUCmbTFu2bFHdyQsLC6tVF9yX2o/s\\\\\\n\",\n       \"AyUwLjdH5CaQbCuyT5P96549e1TAWt8PyPFr+fLluOaaa9TvWvap8tuXVmLyO5P9lhyf5Jgo26OQ\\\\\\n\",\n       \"411lbr75ZnzyySdqu37ggQewYcMG9RuWfYdlcP5s2781sp1XVSYpu3x/2W4leCXblexf5F+5KVFZ\\\\\\n\",\n       \"K0g5Lsg+R25oyTLkvKIujkmyLDkvkO9reVPNnNxkkZstUnbZJ8t61APs1dnXW/t9S4BOAkYSPJT1\\\\\\n\",\n       \"r99MkxsG8q9OliXnDeecc07ZPPmciy++WJ3zyW9cAuOynf3888/qJo05a+dp1TmOElEjpBFRo/by\\\\\\n\",\n       \"yy9LcwrtyJEjFf42fPhw9bezTVOmTKl0+cXFxVrTpk21/v3721wm+dyqlmlL2WW+0WjUdu/eXW7+\\\\\\n\",\n       \"ypUr1d/kX3OyDJk/f/78snmjRo3SunXrpuXn55fNM5lM2uDBg7V27drZ/H1ef/11texTp05V+pqN\\\\\\n\",\n       \"GzdW+Hxdbm5uhXmzZs3SDAaDduzYsbJ506ZNU8uwtHr1ajX/888/Lzf/999/rzBf6t2WdS7ryLKM\\\\\\n\",\n       \"LVu21GbOnFmunr/++uuz1o/+uZbLtObZZ5/V/Pz8tP3795ebP2PGDM3NzU2Lj48vtz7DwsK0tLS0\\\\\\n\",\n       \"stf98MMPav5PP/1UNu+cc87RAgICytWlvq51EyZM0Dw9PbVDhw6VzUtKSlLvk/frpk+frpa/YcOG\\\\\\n\",\n       \"snkpKSlaUFBQuW01KytLCw4O1m655ZZyn5mcnKxeaz6/Z8+eWrNmzbT09PSyeUuXLlXLa9WqlWar\\\\\\n\",\n       \"wsJCLSIiQuvatauWl5dXNv/nn39Wy3riiScqbAd33313ufoYN26cqgd9W7733nu1wMBA9TuvDfke\\\\\\n\",\n       \"5r95W+tR5OTkaLGxsVqXLl3Ub1XKKGWyXJ813Z+dOHFCrecPPvhAPZffqLxOfrP23J/pyzX/blIv\\\\\\n\",\n       \"Mu+vv/4qVw9eXl7aAw88UDZP395ln2jupptuUttOampqufnXXHONqkt936L/Xtu0aVNhf6NvC/Ib\\\\\\n\",\n       \"q8l+Rcor24ysF/Pf1COPPHLW44cl7kvtty+V30pJSUm5ebIdybb1zDPPlM2bN2+eWk+vvfZahWXo\\\\\\n\",\n       \"61P2B/KaJ598ssJrZJ75cWnbtm3q+c0331zudQ8++KCav2LFimpv/9ZUVSZrx9Qvv/yywmfpZZdl\\\\\\n\",\n       \"7d27V4uKitL69etX7phSF8ck/bXV2W+Y749qsq+3/H3LtiH70YceeqhsXUvZr7zySvW95BgmZLuQ\\\\\\n\",\n       \"c60zZ85UWr9SHinLyJEjbTpPq87+n4gaH7bAIqJKSXNxW7qY6XdqrZG7tnLnT+8uV5/krqi0Wqlp\\\\\\n\",\n       \"9wq5Myh3NeVuqUw6uVMpLVHkLqm0zjob/U7nDz/8oO6Iyh3M6jC/6yi5KaTroLTOkvM/ufspd3yr\\\\\\n\",\n       \"Ii2jpLXUeeedV244cLmDLS01Vq5ciWuvvVbNk9ZF0s3gbEJCQso9nz17tmrdUtfrWb6LtISSzzf/\\\\\\n\",\n       \"LtIKQMrw119/lWvpd/XVV5crq966Te5267mD5D3SqsCyHvW78NICQVpBSQsf6XKik240Um+SfFxa\\\\\\n\",\n       \"s0jrLEmkLy1epLuLeWsAKdP//ve/snly915aA0qLGfPvIV02pDWXrBMhd/Alsb/chTZv8SbrUrbt\\\\\\n\",\n       \"6uQqkVHzJF+KdKMxz0kjd8Q7duyIX375pcIgAHJX3Lw+5Lm8btmyZao1hmzbUgb5PtJay15srUch\\\\\\n\",\n       \"rQWktYG0AJBJWijOnTu3wvqs6f5MusbIepdWI44g69m8S67Ug7S60Lfhysj+QVqKStdYeWy+nck+\\\\\\n\",\n       \"TFpFSEsoaWWqkxYflbVykNYsNdmvyLYirTCkVZx5yxZp/fXCCy9Uqy64L7UfaQmsk32c7I/07u2y\\\\\\n\",\n       \"XehkG5KWMbL+LNUkX5v8toV5NzQhLbGk9Y/sX6T1TW23/6qYb+PS4lhaEMn+Rsh3t+wCLy3N5Fgi\\\\\\n\",\n       \"XQOlBaPs6+vqmCSkFZJlV+3qqMm+3vL3Lecpcp4h5RfSOk5a/8qxSLYJGTRCfvvSGktaa5m36DKv\\\\\\n\",\n       \"X9nnyvYl31NazNtynlad/T8RNT4MYBFRpeRCpLak+6BclMtJW32T5vQ1Jd0W5ATy8ccfV5M1coJo\\\\\\n\",\n       \"SwBLvvtHH32kLoDl5E+6W0mXAekWYUswKz4+XnXBkdxblhfg0i3qbA4cOKBeFxERUen30MmJZHWD\\\\\\n\",\n       \"ftJd8OWXX1Y5uKrqSmoP8l2ky595V9HKvouwDGLoFw56PeoXDXICXhkJckk3EblosiTdPKSbRUJC\\\\\\n\",\n       \"gurOIvlR9O6E5izfK99DSHcUa/QLJFmekAEQrC3T/ELzbPRlWfseclEjXUXMybZpHrATkgNH6F1E\\\\\\n\",\n       \"pfuedP+Q3DnyW5BuYRIwqW0wy9Z61EkQRi7AZBuU4Izks7HH/ky6E0lXTwnEVzfwbC/WAtSyHZ8t\\\\\\n\",\n       \"GCfbrQQlpOuNTLb8XirbZ0oibssuq7buVyrbhuU3bBkIPxvuS+1H9lvS1UsCAtL1U4IMOumqbt5t\\\\\\n\",\n       \"Tn539hp9U7YH+S1JMMicdOWTIIi+vdR2+z/bDSoJ4EgQ1/I3YO2YetFFF6n8bjKIg+Uxzt7HJHuo\\\\\\n\",\n       \"7r7e2u9bSNBJgmBy00wCVXLTRrpp9+jRQz2XAJYsS/b55qSroHQZlpsv5nnNrAU8re1zqrv/J6LG\\\\\\n\",\n       \"hQEsIqryJM+WHCVyt80yH5KQkx7JZyF3IuXkr75Za0lQ2R1j85N3oScLlVwwckFsjeUJeFXlkLuY\\\\\\n\",\n       \"0iJB7nxKLqFFixap4IW07JEAX2WkXHKSKOtCWoLIyafkg5DWX5IHxJakpvIaucjUc5FZMj/xlpN3\\\\\\n\",\n       \"W4Y8l9w4kgdESHBNgheSD0oPbEgOC/0iWubJSbs9AgDyXaQ+pKWYNXqARVdZ3dbm7rY96OtNgiNy\\\\\\n\",\n       \"4WbJXheLdU22K7lIkQs7aZkg0/z58zF58mSV46a+yEWSPjCDXHBLwFHP01Sb/ZlsZ3IRJxdZ+rat\\\\\\n\",\n       \"t7KQ1nESXD5bC8jaquk2rG9j0qJST/RsyTJPUWWtr6S1juXvtzr7FXvhvtR++1Jp/SY3ZyTYK7nP\\\\\\n\",\n       \"ZH8uy5WWcfWRLNvW1lt1sQ+XgIvkqZJBD3r27KmCUvKdJfBu7btLDkLZn8m2LrmrXO2YZO33LSQn\\\\\\n\",\n       \"lrSsltZWErDSW4vJv/JcEs3LMd68xZrMl/xX0hpWgqMS9JLcXnJckPxflpjXioiqq2GcIRORQ04i\\\\\\n\",\n       \"pZWQJKg+m8oSjUqLIel6Z8/k7bXtvqDf7bRM5m5511dveSInXhKAqy05OZSWVzK99tpr6uJBErBK\\\\\\n\",\n       \"UEuWX9l32blzp0pWLyfPEhTQSZctS5UtQ5K6SjceaaVytpNF6UpnS+BBmv3rAQO5iJcWa5atdfQW\\\\\\n\",\n       \"OvrdZXsM8y3fRbp72GOdCL3M0kWkMnIhLsGQuLi4Cn+TE3hZtzL6lJDR4PTWVeYs36sn2pUAQFXf\\\\\\n\",\n       \"RR9dzpZlno2+LHmfZcsvmaf/3fzCTFqomV+AybYozEe5k2CmtFCQSd4j61ySQcvFsa1BXmtlrc53\\\\\\n\",\n       \"li690sVFuiBJoFdaOsooWrXdn8m2LfsGa60E5CJNAl3VGRiiPsl2K6ODSRDcXr+XmuxXzLdh832E\\\\\\n\",\n       \"XPjWpNUJ96X22ZfKqHDSVU+625qT7VkfFEVfz5JkXQIZepLx2hyLZXuQ/YRsD9KCVSepBuSzLfdD\\\\\\n\",\n       \"NVVZmWSbkxaV0gLLfPRSa/sbnbQwlpsKsm+T35Te5b4ujkn2UN19fWWkC5/s3yUoJZM+8rMEp6Tr\\\\\\n\",\n       \"vNSj/lwn3Qul26Lc1DDvpioBrOqU3x7HPCJyTQxgETVy0ppHWLsIq20OLLnbJhf+to7WZ8+yV3Vi\\\\\\n\",\n       \"JHdApUWU5DTSWeZVkMCCtCiSC3HJ/SF3Ec3JxZetLQyk5YfeWkknd32F3ry+su+i3601vzsrj6Xr\\\\\\n\",\n       \"hyXzZZhf4MjdZvl+cpfdMueMjPIjJ9/662uSA0u6Cpjn/tADQhLAkOUNGjSorGy1Jd9FujTIybFl\\\\\\n\",\n       \"yzg9h0t1Wi/JOpSTbxnZSnKymLemkXqWiyBZB9I1TnKYSSscPXgjF1yyjctdar3Ln4ywJqNOSR4m\\\\\\n\",\n       \"PX+HbCuWrVSk7PIeWR9yEWl5YahvX7LdybYiQUXzPFgSwJSRwqpzsde3b1+1Xb///vuq1YV+cSGt\\\\\\n\",\n       \"piT4Y34xp5MR5fRAkNSHPJeySiBWSE4U8+5GElzQW/WYdx2pLlvrUcjFtQSupOWI5NGRbVFGRJRW\\\\\\n\",\n       \"ExJorc3+TLreSWsuc5IbT0YBlc+UFpHOSrZbqQPZRuX3aNlNtjr7MGts3a/Ihb1sM1Jn8jvSAwuW\\\\\\n\",\n       \"o7PZgvtS++1LZfuwbPUj+Zykda954Fm2IWk5LL99GenSnL6P1Fs72nIslt+25EqU9S/HV53c2BGW\\\\\\n\",\n       \"o9TVVGVlsnZMPdv2KN9R9gVyQ04C3HKckQB2XRyThAQLpSWp7O8tzz3qal9vjQSiZBRDyV0lwXzz\\\\\\n\",\n       \"FljSUluODRLAMy+j1K/Ul3mrdjluyoiXdbH/J6LGhwEsokZOzwsjrYEkKbNcaEhLCjlJrk0OLLnQ\\\\\\n\",\n       \"kJMlOfmtq7xIVZW9MnJCKMM5y8WUnGTJyZfka7DMUyEkn44EJ7p164ZbbrlFtR6QoIU0pz9+/Di2\\\\\\n\",\n       \"b99uUzklEbwEzOTEXAIO8lly4Sc5J2T5QsohF3tywil3eOU7SA4IuUCWv0lXRrmwkKCH3OG0diGu\\\\\\n\",\n       \"14cMZy8n0nIiKfUiF/HS7UGG0pbuXnIRKXUldzjlgkWCYZKPq6Y5sPTvYE4PiMnJr3mgsLbkDrC0\\\\\\n\",\n       \"7JNhvfWh1CWJuLRUkxYFcqJs3nrAFnISLt9BcnvceuutZd3F5KJN6ksP0knQSF4nd+HlgkQuviRI\\\\\\n\",\n       \"I8Og6yRgJ90CpSuKtGbTh/+W9S55UnSyHmWY9+uvv159rqwnCSbIRYJ8rrRqkQtGIetNth35bLkY\\\\\\n\",\n       \"kd+WbL+Sc0uCBLaSdS6BHRlIQLYJSSCvD60uQTnLi1O5eJHurnLBJtui/J6lbHLxqQc+JK+blEfu\\\\\\n\",\n       \"8sv2LK2VpGwSdDNvXVFdttajJGCW8kl+peeff17Nk5YVP/30k/qesl3o+4Oa7M/kt2JJvyCWOpQL\\\\\\n\",\n       \"RWcmSaSllaesP9mHyW9b1pfkTpPWU/K4pmzdr8i2IvsveZ38buXiVAafkO2pur9V7kvtty+VdSH1\\\\\\n\",\n       \"Kb8TSdYtvxUJEFi2pJWWvwsWLFABfgkoSPBC9rmy/ci+8JJLLlEt8GTbkq7x0mJTbthIwNRabkHJ\\\\\\n\",\n       \"nyS/Wfk9y29JtiNZrgTp5VhhnsC9Nqoqk9y0kP22BIqk+7t05Zc8YFWR4Pxnn32myihBK0k0Lvu9\\\\\\n\",\n       \"ujgmybFe9p+VtW63976+KrK+ZT8i505yLiQkOCb5qKRFlHxnc3KskmCk7LulpZqc78i5lARFzffd\\\\\\n\",\n       \"9tj/E1Ej5ehhEInI8WQY6ObNm6vhjO01RPH777+vlvXjjz9W+722DjtfVdnl8bRp06y+R4bEvvzy\\\\\\n\",\n       \"yzVfX18tJCREu+2227Rdu3ap98iQ1OYOHTqkTZ48WYuMjNQ8PDzUZ40fP1775ptvbP4+y5cv1y65\\\\\\n\",\n       \"5BI1BLcMJy//Tpw4scKw2zKcdufOnTV3d/dyZdmzZ482evRozd/fX2vSpIl2yy23aNu3b69Q3uLi\\\\\\n\",\n       \"Yu3uu+/WwsPDNYPBUG7ocvHhhx9qffr00Xx8fLSAgACtW7duaojspKQkzd5WrlypPv/rr7+269Dv\\\\\\n\",\n       \"QobvnjlzphYbG6vqU+pk8ODB2iuvvKKG6zYfhvzll1+u8H5rQ6vL+r/00ku14OBgzdvbW+vQoYP2\\\\\\n\",\n       \"+OOPl3vNli1btDFjxqj1INvOueeeq61du7bC8nfs2KG+iyxHthfZRufOnWv1tyX1JMuU4cHl9W3b\\\\\\n\",\n       \"ttVuuOEGbdOmTeVe9+2332qdOnVSw8fLNrJ48WJVZzLMfHUtWrRI69Wrl1pWaGioNmnSJO348ePl\\\\\\n\",\n       \"XiPLlqHhZfs///zz1fdt2rSpqjcZXl0nvwP5uwzZLuuiZcuW6vd04sSJapVJvoflb96WerzvvvvU\\\\\\n\",\n       \"kO7mw60LqT/5Hd1xxx2avVkbtt4e+zN9uebbiNTLuHHjrC7T/PdS1fZ+8uRJtS+Mjo5W+zDZl40a\\\\\\n\",\n       \"NUrtD2z5verbQmVs2a/INvP0009rzZo1U68bMWKE+s1ZW+9V4b7UfvvS/Px87YEHHihbJ0OGDNHW\\\\\\n\",\n       \"rVtXYdsSubm52qOPPqrFxMSUbUNXXHGF2j/oZF8o24HsB8z3sfKv5bGoqKhIbQ/68mTblH26lMmc\\\\\\n\",\n       \"rdt/ZSork+zv9P297HuvvPJKtb1aHhv0sss5g3ldyGfLcWD9+vV1ckzSX1ud/Ya1/VF19vWV+eWX\\\\\\n\",\n       \"X9TyL7jggnLzb775ZjVf9smWZF67du3U53bs2FGV0dp2UNV5WnWOo0TUuBjkf44OohERmZOue3KX\\\\\\n\",\n       \"sCZ3Hqlhkru4cqdaz6tF5Cq4P6P6xH0pERG5MseMCU1ERERERERERGQj5sAiIqqF5OTks+bh0BNv\\\\\\n\",\n       \"E9UVyWVUWFhY6d8lH1ptEnbXFH8fxG2FiIiI7IUBLCKiWjjbCEE1TcJKVB2XXXYZVq1aVenfJfmt\\\\\\n\",\n       \"dNGsb/x9ELcVIiIishfmwCIiqgUZiakqUVFR1R7Vj6i6Nm/ebHVkSvOWgDKyYX3j74O4rRAREZG9\\\\\\n\",\n       \"MIBFREREREREREROjUnciYiIiIiIiIjIqTGARURERERERERETo0BLCIiIiIiIiIicmoMYBERERER\\\\\\n\",\n       \"ERERkVNjAIuIiIiIiIiIiJwaA1hEREREREREROTUGMAiIiIiIiIiIiKnxgAWERERERERERE5NQaw\\\\\\n\",\n       \"iFzUxx9/DIPBgE2bNjm6KGTF0aNH1fqR9dQYtG7dGjfccEO13vPUU0+pOmqsv13ZRoiI6lp2djZu\\\\\\n\",\n       \"vvlmREZGqn3P9OnTWelOTI6lckx1tISEBHh7e2PNmjX18nmnT5+Gn58ffv3113r5PCJyTgxgUYOz\\\\\\n\",\n       \"c+dOXHHFFWjVqpU6cDZv3hznnXce3n777XKve+GFF/D999/X+HP27NmjLqDtfRH5559/qhNEffLw\\\\\\n\",\n       \"8ECbNm0wefJkHD58uNrL+9///tdogiBVBYIqm2bPno3GzrKOZJtr0qQJBg8ejEceeQTx8fGOLqLT\\\\\\n\",\n       \"sdyOAgMDMXz4cPzyyy+OLhoRkV1vWMn5kizjjjvuwKefforrr7++UddwQ9v/5+bmqvNVOb+sT888\\\\\\n\",\n       \"8wwGDBiAIUOG2HW5EqCS72MpLCxMBVoff/xxu34eETUs7o4uAFF1rF27Fueeey5atmyJW265Rd0t\\\\\\n\",\n       \"lDtA69evx5tvvom777673AmZBLomTJhQ4wDW008/jREjRtTJna577rkH/fr1Q1FREbZs2YIPP/xQ\\\\\\n\",\n       \"nRxJgC4qKqpaASwJRlS3dYurmThxIi688MIK83v16uWQ8jhzHZlMJpw5cwYbN27EG2+8oX47c+fO\\\\\\n\",\n       \"xTXXXFNnnx0XFwejsXr3TB577DHMmDEDjiKBcQksa5qGY8eO4b333sNFF12E3377DWPGjKmzz5WL\\\\\\n\",\n       \"R1kXXl5edfYZRES6FStWYODAgXjyySdZKQ7e/9c0gCXnq0LOWevDqVOn8Mknn6jJ3iSA9e6771oN\\\\\\n\",\n       \"Yt1+++1466231DY7cuRIu382ETk/BrCoQXn++ecRFBSkLryDg4PL/S0lJQUNybBhw1SATUydOhXt\\\\\\n\",\n       \"27dXQS05GZg5c6aji+dUcnJyVLPxqvTu3RvXXXcdGqua1pGcmJ9//vmYMmUKOnXqhB49etRJ+WoS\\\\\\n\",\n       \"jHF3d1eTo8hv0ry+Lr/8cnTu3FkF/OryAsbNzU1NRET1Qc6fZN9mL3KTpLCwULWSb6gctf9vKD77\\\\\\n\",\n       \"7DN1fJagXn2S85SuXbuqFoMMYBE1TuxCSA3KoUOH0KVLlwrBKxEREVH2WJp8ywW9BIP0JuB6CyW5\\\\\\n\",\n       \"YL/zzjvRoUMH+Pj4qCbJV155ZbmugnJglHlCWnzpyzBvni134SQIJUGDgIAAjBs3Drt3767xd9MP\\\\\\n\",\n       \"xEeOHFH/zp8/X82T7yUX/3LiJHcAzUnLMPnMVatWlZXR8u5bQUEB7r//foSHh6uyXnrpperOmS3k\\\\\\n\",\n       \"Dpf+HaXOL7nkEuzdu7fs79988436TPl8Sx988IH6265du8rm7du3TwXtQkND1Ylt37598eOPP1rt\\\\\\n\",\n       \"CiHLlPUk379FixawB6mv8ePH4++//0b//v1VGaT75oIFCyq8Nj09Hffdd596j9S/lEHuxqamppY7\\\\\\n\",\n       \"6b/pppvQtGlTtSwJ/li7GynLku1Pgq9SjxIsknnW1HcdSVdcWZ5cbLz00ksVyi25UKKjo1UdxMbG\\\\\\n\",\n       \"4sUXX1QXJ+bkuZzUd+vWTZVZtrWxY8eW685imQNLWh7KHeN27dqp98jvcOjQofjjjz+qzIFVXFyM\\\\\\n\",\n       \"Z599Fm3btlVlkuVKN0jZzmu6rqtz4iytHWU/ZE4+W1ouSP1ImaS+HnrooQplysvLU0FqWYbsMy6+\\\\\\n\",\n       \"+GIkJiaq72h+p7myHFjS2lL2f/IZ0kpz2rRpFbYj+f3Lyb20IJV9l6+vr+pmbbluhXS7luXJa0JC\\\\\\n\",\n       \"QtS29sUXX9S4fojIecj+1t/fX+1jpCW6PJZ984MPPoiSkpJyKQ3kvENagOvnEfq+x9Z9m7znrrvu\\\\\\n\",\n       \"wueff162j/r999/V3+Tzb7zxRnWclPny93nz5pV7v16Or776St2olOOZ7LNHjRqFgwcPVvhuGzZs\\\\\\n\",\n       \"UK2JZb8l5yfdu3dXx6DqHkvrc/8vxzY5xsk5gKwLOQeVY9fZ9vt63VTWPVBeL+tVyDFVX4f6MUWO\\\\\\n\",\n       \"tVIXJ06csOl7SuoNOYZIncm/3333ndWcW/I66T4o38XcgQMHVLBPekjIMmRdSovijIwMmz5fPkta\\\\\\n\",\n       \"XwnzbpyWreN++ukn1TqOiBoftsCiBkUuttetW6eCInJgrYzkcJB+8nLheuutt6p5csErpPWWdEWU\\\\\\n\",\n       \"A6ocWOXgL4EhufCTiz65mDvnnHPUhaY0U5YTDDlxEfq/snwJQshdOLmgl+bbsgw5Odm6dWuNuhzq\\\\\\n\",\n       \"J0VyIS9keXKiJxe5cpdLDtYSrJBggVy4Cun+Jd0m5QTi0UcfVfPkJNGc/F1O8uQES76rvEdONBct\\\\\\n\",\n       \"WlRleZYtW4YLLrhAXfTLiZBcfMsFr+Q6kC6P8h0laCefLSedkh/CnCxfyq+vJwm0yXvlYlq6hclJ\\\\\\n\",\n       \"p7xPTqy//fZbFVgzJ99VTsqeeOIJFYw8G1kH5sElnZwsmrfikZNhOamVwJOsQzmRlhOmPn36qPLq\\\\\\n\",\n       \"CW0lcCfBOjnxlpZLsmw5+T1+/Lg6iZX6kG1Glif1GRMTg6+//lotS4IK9957r1qWnGBJ4E8CKdL0\\\\\\n\",\n       \"XbYhOSGUz7ZU13VUmUGDBqnfh3nwSOpT1qlcfNx2222q2678bqR1oJwIy3akk7qUk2/ZXuR3J0Gm\\\\\\n\",\n       \"1atXq669ctFgjWxTs2bNKvudZmZmqoCXbFtycloZeb0ECWUdPvDAA+pCRpYj60rq1Zwt67o65ARc\\\\\\n\",\n       \"ul7q+xIhv0f5jcr6lX2NrF/pBvz6669j//795fLwyWfL+pQugtJdRwKQ8huyhdSXXJyMHj1a5amR\\\\\\n\",\n       \"Lpmyj5D9mSTQlbxmOimjBBAvu+wyXHXVVSrQ/PDDD6sAo6wjMWfOHLWPk/qRbTU/Px87duxQ9Xnt\\\\\\n\",\n       \"tddWu26IyPlIoErOUyTQ8Morr6jj+quvvqr2YbIfkf2VnM/IzRo5H5J9qpDjSnX2bfoNL9m/yfFQ\\\\\\n\",\n       \"jpFyjnDy5Em1r9MDXLJcufkn+2TZ51smi5ecldLVXIJssr+VwPukSZPUfkknxym5OdGsWTO175JA\\\\\\n\",\n       \"iez/f/7557LjbnWPpXW9/5fySJkl0CZ5oyTQJccneyQ/lzqVY4GsT/lest8X8llCjuFSLjkGni1f\\\\\\n\",\n       \"6tKlS8tamslxVZKmSw8ByxtkEhSTY498pjm5ESbbmwTv5NxT1o18vqwbOS+Sm3hnI+cbSUlJaj3L\\\\\\n\",\n       \"tmmNHMOljqVeq7oWICIXpRE1IEuXLtXc3NzUNGjQIO2hhx7SlixZohUWFlZ4rZ+fnzZlypQK83Nz\\\\\\n\",\n       \"cyvMW7dundzG0RYsWFA27+uvv1bzVq5cWe61WVlZWnBwsHbLLbeUm5+cnKwFBQVVmG9JlifLnTdv\\\\\\n\",\n       \"nnbq1CktKSlJ++WXX7TWrVtrBoNB27hxY6XlHDNmjNamTZty87p06aINHz68wmvnz5+vPmf06NGa\\\\\\n\",\n       \"yWQqm3/fffep+ktPT6+ynD179tQiIiK006dPl83bvn27ZjQatcmTJ5fNmzhxonpdcXFx2bwTJ06o\\\\\\n\",\n       \"1z3zzDNl80aNGqV169ZNy8/PL5sn5Ro8eLDWrl27CuUeOnRouWVW5siRI+r1lU2ybnWtWrVS8/76\\\\\\n\",\n       \"66+yeSkpKZqXl5f2wAMPlM174okn1OsWL15c4fP0unzjjTfUaz777LOyv8l2KNulv7+/lpmZqeZ9\\\\\\n\",\n       \"//336nUvvfRS2evkew0bNkzNl+9bX3X08ssvV/qaSy65RL0mIyNDPX/22WfVb2j//v3lXjdjxgy1\\\\\\n\",\n       \"/cTHx6vnK1asUO+75557Kq0rve7Nf489evTQxo0bV2W5n3zySbVs3bZt29Tzm2++udzrHnzwQTVf\\\\\\n\",\n       \"ylLddV0Zee9NN92kfqPyvk2bNmljx46tUI+ffvqp2tZXr15d7v3vv/++eu2aNWvU882bN6vn06dP\\\\\\n\",\n       \"L/e6G264Qc2X72q5fmW96eX29PTUzj//fK2kpKTsde+8807ZvkQn+wLLfVlBQYEWGRmpXX755eXW\\\\\\n\",\n       \"t+w7iKjh0/cZ+vmDkP2tzDM/DotevXppffr0KTdP9peW+2Nb921Cnstrd+/eXe61sg9t1qyZlpqa\\\\\\n\",\n       \"Wm7+Nddco86X9PMc/byoU6dOan+le/PNN9X8nTt3qudyvIuJiVHlPXPmTKXHG1uPpfW1/3/99dfV\\\\\\n\",\n       \"c1leZSz3+zq9bszPRWXdSh3oZLmWxxHL47+182Fr532yvszPD+W8W95v/nkHDx5U895+++1y79+6\\\\\\n\",\n       \"dauaL+fPtTFt2rRyx35La9euVX9ftGhRrT6HiBomdiGkBkVaZkgLLLnjtX37dnV3Tu72yF02W5uG\\\\\\n\",\n       \"S7dB87tIcodJmn5LSx1p/XE2cldI7iRJQmxplaNPkrNG7nKuXLnSpnJIyx65cyZdgaQVht7lUW+x\\\\\\n\",\n       \"Yl5OufMnnyEtYmSkQlubYgu5K2je/FpaFsldWelKWRlpYbNt2zbVYkSa3+vkjp6sA/MhjK+++mrV\\\\\\n\",\n       \"lc68ebu0+JA7k/I3kZaWpu7OSmuQrKyssjqTupf1J03O5S6dOUnSX508QPI9Zd1YTpZ5PeS51IFO\\\\\\n\",\n       \"1oE05TcfAVLu0Ep3QGt3afW6lDqQu4uyHeikFYy0apEWXHq3SnmdtAAzv1Mp38t8wIH6qqOq6N0A\\\\\\n\",\n       \"5LOFtCaTepLWe+bbubQAku3nr7/+KqsrqRNryX8tm/2bk9+b3D2V72UrfbuTLrHm9FYDliNE2bKu\\\\\\n\",\n       \"qyKJ7eU90kVTfpfLly9XXUPMP1/qSe5ud+zYsVw96V2C9f2B3p1GWs2Zs9wOrJFWE3JnW1ormCfC\\\\\\n\",\n       \"l/Uvo2NZfm9Zl+a5Wzw9PVUrN/PvLfUvrQnlLjoRuS5p+WtO9om27ANt3bfp5PzE/HgrcSA5PkiO\\\\\\n\",\n       \"JHlsvgw5psl5jOU5l7T2kf2VeVmFXl5p4S7dHWVfaJlKQj/e1ORYWtf7f72sP/zwQ4Uu+HVNWsJJ\\\\\\n\",\n       \"/Z+t9ZV+3icttcxbSsk5n+V5lNSlkPMDc/r7lixZolpx1xX9c621uici18cuhNTgyMh9ixcvVhd0\\\\\\n\",\n       \"EsSSbkPSlFi6wsjB92yJSKXrlzSNlhxTchJj3ofelsCQfsFdWfJIuaC0hXT7kpMzCUBIc3s5CTLv\\\\\\n\",\n       \"6iZNyyUoIAE7yxMBKactTbGFdP2yduCXpvCV0YNbcrFvScopJyd60nDpqiRlkS6Dkq9CyOOePXuq\\\\\\n\",\n       \"JKhCmspLPcvQx5UNfyxBMAlE6qRLXnVILiUJrlS3PvQ6Ma8P6c4pzeirInUkn2k5sp7ezVSvQ/lX\\\\\\n\",\n       \"ujpY5omwrNv6qKOqSNBNSG4mfTuXLmV6bg1rZdHrSoKw5oFOW0g3CulaKduIdAGQ7Ui61undHqyR\\\\\\n\",\n       \"upT6loCzOQkkygWCZVDWlnVdFSmfdHuRfY0EemRkU/ktmq9zqSfpvnK2etLLbrnOLL9LdX6PcqEn\\\\\\n\",\n       \"XXwtv7d097AMHsr3lvWpky6FEhiTwJaUQRL5S9dBew+HTkSOo+ckrMk+0NZ9m85y3ya5NuVmn4yw\\\\\\n\",\n       \"LJMtyzjb+YqeaqGqbmM1OZbW9f5fbuZ99NFHqgu8dGmUcyXp6ifnrdUdnbeu6McROa+xJMceazd4\\\\\\n\",\n       \"LXNQyTYgAb7XXntN5UOTc1y54Sw3VGw9Z7WF/rlV3SQjItfFABY1WHLxJsEsmeQiWO7cyd2wsw0D\\\\\\n\",\n       \"LS0eJHgld/Ak948cVOUgKDmxbLkzpr9G+ubLhbMlW0dNk3w0lQVc5CRNTnDkrp6cCEhSUPm+0gJF\\\\\\n\",\n       \"gnXVuYNXWQsdeyW/lFwOkldCAomSZFpyXkjwTU72dHp5Ja9FZaP3WF7Im7dAs6e6ro+acnQdSV45\\\\\\n\",\n       \"udOsB2ClPHLnVe44W6MHJ2tK8szJdi53pCXvhpzcy7b9/vvvq5P8qth60lrbdS2BIP03KgmDJdAs\\\\\\n\",\n       \"FzSSHF3PMyL1JL9l+Z1aI7/d+mbL95ZAq+TRktwk0jpMWkrI71cC6/pw7ETUsNWmhW51922WxyP9\\\\\\n\",\n       \"mCbBC2s5H4XlDQt7HJ9rciyt6/2/1I20WpYWWdJiVva5cqNPboTK8U++d2XHNT3hvjPRc7VaC4RK\\\\\\n\",\n       \"jjVpva8f26VVutw0lpyY9hqQR/9cWSdE1PgwgEUuQe92Zz7KSmUnA9K9TU6m5CCrkwTGlqN5VfZ+\\\\\\n\",\n       \"PYGnXOzb0uKnJiRhuyTBlG6R5nckrXVPrIs7UJIsX8gFriUZzUZOGqT1lU7uLkr3R2liL3cj5WRT\\\\\\n\",\n       \"7z4opJWI3sWururMnmQdm4+eWFkdSYsWOYE1v4Mq9aP/Xf9X6kVaOJm3wrKsW0fWkbTyk2CSebcz\\\\\\n\",\n       \"qQMp89nKIq+TFnnSbaO6rbDk9RJ4lkk+S4Jakqy8sgCW1KXUt9z11lu6CQmayu9Xr/O6IsllJcj2\\\\\\n\",\n       \"2GOPqe6l8tuT7y8tQSXgXNVvUS+7dH8xv8NtbYQta+/Vtxl9OxHSMkCWV9PtRX7D8juVSZYlF2Uy\\\\\\n\",\n       \"Apgk6peWG0TUeNm6b6uMtEqSFr0SgLHXMU0//5Ljc2XLrKtjaW32/0LOE+R1MknAS27yyeA7cl4n\\\\\\n\",\n       \"5dRbm1mei1aV7sGe54H6ccZat37L8xU5L5WgnD5qtiUJ6skkdSWDv0jLXrk59dxzz9lUlrN9H/1z\\\\\\n\",\n       \"zc8DiKjxcI52q0Q2kgO9tTtxem4c8y42cnFmeSIg5E6X5TJkdD3Lu1x6gMZyGXJHT1qpyMmH5NCy\\\\\\n\",\n       \"JM3ma0u/C2nZvVFajlmq7HvWhnR5ky6AEpQyX7acNModNbkbaU5OviQYIXcUZZJuSebdCSTYJyP2\\\\\\n\",\n       \"ffDBB1aHcrZHndmTdB/Uu6da0teJ1EFycnK50Rxl9D3ZliRQpY/KKK+T+TJKkE62NXmdOUfVkZwc\\\\\\n\",\n       \"y91SaeH3f//3f2XzJX+IBLYkOGVJtgn5TnpdSZ1Ya7VT1V1zPYeGTupM7opbDj1uTt/uzEdAFPrd\\\\\\n\",\n       \"b1tH9KspaV0p+bYkSCt3l/V6kq7IMqqfte7K+uiQeksAaeVkznI7sEZ+X7J+ZFRU8zqVHC2yX6jJ\\\\\\n\",\n       \"97asf1m+dL+W5VvbrxFR42Lrvq2q8xg5PkjrTms3hGpyTJMRgeXcQo4Bluc9+r6xro6ltdn/yw0e\\\\\\n\",\n       \"S3KOJfRjnh6c0/NL6ucKlXW/NCejZwtr54KyP5cba9bqorLzPvN0GpJLVEboNifBQblxLCMHm5OR\\\\\\n\",\n       \"JfVzA50EsiR4V9Wx3VJl59+6zZs3q94TNRlNmIgaPrbAogZFuv9JDgK5+yXd66TVgNzdkSCCJKqU\\\\\\n\",\n       \"lhzmw+xKjhe5uJUcPXLSI0nWZShj6f4nBz+5YJOLdHmd3iRaJwdyOQF78cUX1cFcuspJc285OZJg\\\\\\n\",\n       \"hOTrkZMp6Xoodxrj4+NV03C50/TOO+/U6ntKPhq5oJTkp3LXT1qnyAmSfLblSYh8TymP3NmSAIC8\\\\\\n\",\n       \"prL8XNXx8ssv44ILLlDdLGXIazkZk4ttqTdpJWN5MiOtNxYuXKhO2GS4bkvvvvsuhg4dqk5mJPm0\\\\\\n\",\n       \"3CWVljNS/5JMWgJGtSH5GT777LMK8+WkUL5DdUggR1rqXXnllSrZvtSxnIBKizi5iygJ3iVpvJwg\\\\\\n\",\n       \"S/BHTqZk+5P3SPdJObnWc0nJOpRtQvJeHD16VG1zksPNWr61+qojaQkkJ4aS10NPwi6/CfPuHFIH\\\\\\n\",\n       \"8n3l9yLfUepA1q0MES7fU76LtMST7hTyW5Dgity5lVxWsvzVq1erv0mXC2ukHuQiQ5YrwU85EZbl\\\\\\n\",\n       \"VvZ6IfUurSflhF7KL0HCf/75R51wSzdW+by6JnUh3exkvyCfKd9dhmeXRMkSYJd1LRcdcsEg8yUA\\\\\\n\",\n       \"KCf68j3lYk62DQkeydDykuhfhlo/2x1n2b9IqygJEkr9Sk4RuSMuwTDpQm3ecq46+xjpAi3lbdq0\\\\\\n\",\n       \"qbook/2WBMP0bZeIGi9b921VmT17tnqvnHvJMU32+3IslWORnHdZC+xURQIhcr4jx1U5R5NzPgm8\\\\\\n\",\n       \"SJlkUBD9hktdHUtruv+XnI8SmJL9q7R0ktxYsv+WLnVSTiHBGDkuyL5eb9Es51SWASFrpDWU1K2c\\\\\\n\",\n       \"C0v3fnmv5AmTSQJs0lJJjp1nS+QuXf2kjFImOfeRcsh5n5RNz5NpniNMWpBJ0EpPPSDJ8+UYLudO\\\\\\n\",\n       \"Ug4pu5xb6MFMW8nxUkj3Q7n5I++Xc23zoJpsA8yBRdRIOXoYRKLq+O2337Qbb7xR69ixo+bv76+G\\\\\\n\",\n       \"lo+NjdXuvvtu7eTJk+Veu2/fPu2cc87RfHx8yg0hLEMvT506VWvSpIlaxpgxY9RrZYhgy2GG58yZ\\\\\\n\",\n       \"o7Vp00Zzc3OrMIyxPJb3ylDQ3t7eWtu2bbUbbrhBDbdcFX1I5LMNM/zjjz9q3bt3V8tu3bq19uKL\\\\\\n\",\n       \"L2rz5s2rMMxycnKyGv46ICBA/W348OGVDqtt/vnm36Uyy5Yt04YMGaLqMDAwULvooou0PXv2WH3t\\\\\\n\",\n       \"H3/8oZZrMBi0hIQEq685dOiQNnnyZC0yMlLz8PDQmjdvro0fP1775ptvyl5TWbkrow8RXdlkvk6t\\\\\\n\",\n       \"DRUupM70etOdPn1au+uuu1QZZTtr0aKFWpb5cOCyzenbkrxGhu2W8luSZV1//fWqDmV7kcf6cNOW\\\\\\n\",\n       \"r6+POnJ3d9dCQ0O1AQMGaDNnztSOHTtm9X1ZWVnq7/Ibk+8n31OGIX/llVe0wsLCstfJ0OYytLj8\\\\\\n\",\n       \"LuV14eHh2gUXXKBt3ry5XN2br4vnnntO69+/vxYcHKy2L3nv888/X265MiS45WGqqKhIe/rpp9VQ\\\\\\n\",\n       \"6lI/0dHRqozmw6VXd11bI58rQ3lb89RTT5X7DUmZ5ffZpUsXzcvLSwsJCVHD1Es5MzIyyt6Xk5Oj\\\\\\n\",\n       \"lil1L/ueCRMmaHFxcWpZs2fPPutw6u+8846qJ/neTZs21e64444KQ8nLd5NyWLIcdv2DDz5Q+8ew\\\\\\n\",\n       \"sDBVZtl//d///V+58hJRw2DtmCC/eT8/vwqvtbZfrWx/aeu+rar9pRwn5W+yr5Z9lxzbRo0apX34\\\\\\n\",\n       \"4YdnPS/Sj12Wx8m///5bO++889R5j3xHOVd6++23q30sra/9//Lly7VLLrlEi4qKUsdI+XfixIna\\\\\\n\",\n       \"/v37K5R59OjRajmyj3/kkUfKzq3Mz9ks9+di7dq16nNl+fJ6Wc/mdWh5fluZb7/9VuvUqZMqQ+fO\\\\\\n\",\n       \"nbXFixdb/TxZr3Iu8emnn5bNO3z4sDpHl+OJnLvKse7cc89V55LVIecUcl4v5xJyTmm+ve7du1c9\\\\\\n\",\n       \"r+4yich1GOR/jg6iERERNUYycmqvXr1Uy7hJkyY5ujhEREQVWp79+eefquW1OWmdL62IpcV1fZEB\\\\\\n\",\n       \"mKQ1m7R8ZwssosaJObCIiIjqgXTDtSRdCqVbjCSwJyIiaihk1G9JRSCpE+qDdL+XEYslZQaDV0SN\\\\\\n\",\n       \"F3NgERER1YOXXnpJ3TWWXF2SEPi3335Tk+RTsxySnoiIyJnJaIQyiretJPentRs55iQ3Y2UkV61l\\\\\\n\",\n       \"Li4ianwYwCIiIqoHgwcPVslnn332WXUSLif/MiCCJMIlIiJyZffee68adKUqzGxDRGfDHFhERERE\\\\\\n\",\n       \"RERUZ/bs2YOkpKQqXzN69GiuAapXklNNRl6XFvIy0vt3332nRhmtiuSEu//++9Xop9KC/rHHHlO5\\\\\\n\",\n       \"4qh+sAUWERERERER1ZnOnTuriciZ5OTkoEePHrjxxhtx2WWXnfX1R44cwbhx43D77bfj888/x/Ll\\\\\\n\",\n       \"y3HzzTejWbNmGDNmTL2UubFjCywiIiIiIiIiarRkcICztcB6+OGH8csvv2DXrl1l86655hqkp6fj\\\\\\n\",\n       \"999/r6eSNm5sgUV2ZzKZVBPhgIAAjhJCRERluU2ysrIQFRWlRl60hSQILiwstFsNenp6wtvbm2vE\\\\\\n\",\n       \"DnisJyKimhzb6/p4L2WyHKnSy8tLTbW1bt26Cl1dpeXV9OnTa71ssg0DWGR3ErziiFpERGRNQkIC\\\\\\n\",\n       \"WrRoYdPJbEh0S+SnnrJbRcoIV9L8n0Gs2uOxnoiIqntsr+x4H9PKH8kpJXapUH9//wojVj755JNq\\\\\\n\",\n       \"4JzaSk5ORtOmTcvNk+eZmZlqlE0fH59afwZVjQEssjtpeSUuXrIaHn7+Dq/h5l6eeDw2Cu4GA5bu\\\\\\n\",\n       \"SsZ32xIdXSQiIgxuG4axPXzx6d5PcTzruMvXSGFuIT6/9vOyY8RZX19YqIJX9jqWFOVk48cxw9Ry\\\\\\n\",\n       \"GcCqPX09DsWFcIeHHZZI1PB8t3+no4tA5FCZ2Sa06n3U5mO7NXJcluDVsc2tERhgrF15skxo1eeo\\\\\\n\",\n       \"CqgFBgaWzbdH6ytyDgxgUQWJiYmqf+9vv/2G3NxcxMbGYv78+ejbt69NtaU32ZQLDg//mu/M7CUF\\\\\\n\",\n       \"wKzkDMxqH40rBgciIDAQCzcmOLpYRNSI9W4ZjCsHBWLurrlIMaXA088TjYVls/6zcZZjCVlfjxK8\\\\\\n\",\n       \"cjcwgEWNU20vtoka67HdGv8Ag5pqw4TS90vwyjyAZc+W3CdPniw3T57LZ7H1Vf1gAIvKOXPmDIYM\\\\\\n\",\n       \"GYJzzz1XBbDCw8Nx4MABhISENOiaSiooxoy4BMzqEI0xXSNhNBjwxT/xji4WETVSbcL9senkJiRk\\\\\\n\",\n       \"MZhOREREVKKZUKLVfhl1adCgQfj111/Lzfvjjz/UfKofDGBROS+++KLKXyUtrnQxMTEuUUsnCovx\\\\\\n\",\n       \"cFwCXmwfjfO7NIXRAHy2gUEsIqpfHSMD0D8mFF8ePMiqJyIiInIQyZV10Ox8TPJkbtu2DaGhoWjZ\\\\\\n\",\n       \"siVmzpypeictWLBA/f3222/HO++8g4ceegg33ngjVqxYga+++kqNTEj1g+1eqZwff/xRdRW88sor\\\\\\n\",\n       \"ERERgV69emHOnDkuU0snC4vxUFwCJDY/olME3CSKRURUTzpHBeKmoTFYfGQ+9qXtY70TERERqe5/\\\\\\n\",\n       \"ml2m6ti0aZO63pVJ3H///erxE088oZ6fOHEC8fHx5Rp2SLBKWl316NEDr776Kj766CM1EiHVD7bA\\\\\\n\",\n       \"onIOHz6M9957T/14H3nkEWzcuBH33HOPGnp8ypQpVmuroKBATToZhcGZpRQVo8ikwdNowJC2Yfjr\\\\\\n\",\n       \"QKqji0REjYCkh7jxnDB8e+BjbD+13dHFISIiInIaJvVf7ZdRHSNGjICmVR70+vjjj62+Z+vWrTUq\\\\\\n\",\n       \"H9UeW2BROSaTCb1798YLL7ygos+33norbrnlFrz//vuV1tSsWbMQFBRUNkkXRGf32tFkFZ+fOjQG\\\\\\n\",\n       \"w9s3cXRxiKgRiAz0hoebB/af2e/oohARERERNTgMYFE5zZo1Q+fOncvN69SpU7mmk5akb3BGRkbZ\\\\\\n\",\n       \"JMOWOrud2Xl44VCSCmLdMCQG53ZgEIuI6k6zIG/cPSYMy44tQ25xLquaiIiIyEyJptllItfGABaV\\\\\\n\",\n       \"IyMQxsXFlZu3f/9+tGrVqtKa8vLyKhuqtK6GLK0Le3Ly8dzB0iDW5EExGN0p3NFFIiIXFBHghbtH\\\\\\n\",\n       \"xmJN4hosi1/m6OIQEREROR1H5MCihocBLCrnvvvuw/r161UXQhmR4YsvvsCHH36IadOmuWRN7cvN\\\\\\n\",\n       \"xzMHE2EyAJMGtMaYLk0dXSQicjHdWgQhIX8HViSscHRRiIiIiIgaLAawqJx+/frhu+++w5dffomu\\\\\\n\",\n       \"Xbvi2WefxRtvvIFJkya5bE3tzy3A0xLEAnBNv5YY17WZo4tERC4iwNsd/VqHIik7ydFFISIiInJa\\\\\\n\",\n       \"0nqqpJYTW2C5Po5CSBWMHz9eTY3JwdwCPHHwOJ5t1wKX9W2Ovw+lIiOvyNHFIqIGHrySroMniraw\\\\\\n\",\n       \"6yARERFRFezRBZABLNfHFlhE/zqSV4js4hIYDQZ0bOrPeiGiWrl5WBskFm7CorhFMGm1HRiaiIiI\\\\\\n\",\n       \"iKhxYwCLyMwXJ06rf287NxbdmwexboioRtyNBjQN9MKapDXQmFCUiIiIqEochZBswQAWkZm/zmTj\\\\\\n\",\n       \"vWMnYQAw/bz26BnNIBYRVY+HmwG3nNMGyRn5OJlzktVHREREdBYmO03k2hjAIrLwd0YO3pEglgG4\\\\\\n\",\n       \"Z1R79GkZzDoiIpuDV7ee0wbe/gn4+NBTKNaKWXNERERERHbAABaRFesycvDG0dIg1rSR7dC/VQjr\\\\\\n\",\n       \"iYjOqmvzIISFpGPernkoKClgjRERERHZoLYjEOoTuTYGsIgqsTEzB68dTVZBrNtHxmJgm1DWFRFV\\\\\\n\",\n       \"Sroed4oMREpuCgpNhawpIiIiIhuVaPaZyLUxgEVUhc2ZuXjlyAl1YSo5bZoGerO+iKgC2Udc2Tca\\\\\\n\",\n       \"7aJz8cOhH1hDRERERER2xgAW0VlszcpDYn4hjAYDWoX6sL6IqBxppXlN/5bo2DIXH2z/AOkF6awh\\\\\\n\",\n       \"IiIiompgEneyBQNYRDZYcTpTtbC47Zw2aBXGIBYR/eeafi3RNtwPH+z4ABmFGawaIiIiomoywYCS\\\\\\n\",\n       \"Wk6yDHJtDGAR2eD305lYeCINbm5GPDGuC9o08WO9EZEadXBgO298fGA2MgszWSNERERERHWEASwi\\\\\\n\",\n       \"G/14Kh1fJJ2G0c2AR8d1QmwEg1hEjd3Q2CbIK85jyysiIiKiWjBp9pnItTGARVQNP6dm4NOkVBiN\\\\\\n\",\n       \"Bsy8oBM6NPVn/RE1UqM6RWBMT298tPMjFJuKHV0cIiIiogartt0H9YlcGwNYRNX0e2om5ieegpvR\\\\\\n\",\n       \"gAcu6Ah/L3fWIVEj0ys6GKO7eWLOjjlIzE50dHGIiIiIiFweA1hENbDsdBYyikvgbjCgaZAX65Co\\\\\\n\",\n       \"kWke4oN9afuQlJPk6KIQERERNXhsgUW2YACLqIY2ZGSrH9D/nd8BYX4erEeiRqJ7iyAMbx+O7ae2\\\\\\n\",\n       \"O7ooRERERC7BpBnsMpFrYwCLqIY+TjyNlWmZ8PZww/OXdkMTf0/WJZGL69EiCNcPbIWFBz9E3Jk4\\\\\\n\",\n       \"RxeHiIiIiKjRYACLqBbmHE/FstP/BrEmdEVEAINYRK7syr7RWHzkY+xJ2+PoohARERG5DHYhJFsw\\\\\\n\",\n       \"gEVUS/MSU7EkNQNeHm54bkJXNA1kTiwiV9Q82Ac+nm5IyEpwdFGIiIiIXEoJjHaZyLVxDRPZwSdJ\\\\\\n\",\n       \"p/HrqXR4urvh2Uu7oVmQN+uVyIVEh/rg7jFN8MfxxTidf9rRxSEiIiIianQYwCKyk89OpOHnlHR4\\\\\\n\",\n       \"Gg14ekJXBPkwsTuRK4gI8MJd54VjefxyrDq+ytHFISIiInI5mh0SuMsyyLUxgEVkR18kpyGpoAge\\\\\\n\",\n       \"RgNahfmybolcQJtwPyTlJOHvxL8dXRQiIiIil8QcWGQLBrCI7CwuJw8S+79paAx8Pd1Yv0QNmLSk\\\\\\n\",\n       \"HN2pKeIz4x1dFHKg2bNnw2AwYPr06S65Hlz9+xEREZFrYACLyM4+Op6KnVl56sJ39uXd4O/lzjom\\\\\\n\",\n       \"aoBCfD1wz6h2OJq/HkuOLnF0cchBNm7ciA8++ADdu3d3yXXg6t+PiIgahhLNaJeJXBvXMJGdaXI3\\\\\\n\",\n       \"+8gJbMvKRaC3B2Zd1g0BDGIRNTjXDWyFI3nrsPjAYmjql02NTXZ2NiZNmoQ5c+YgJCQErsbVvx8R\\\\\\n\",\n       \"ETUcJhhggrGWE3NguToGsIjqgFzqvnQkGZsychDg7Y5Zl3dDoDdbYhE1FJ5uRoQHeGHHqR0MXjVi\\\\\\n\",\n       \"06ZNw7hx4zB69Gi4Ilf/fkRERORaeEVNVIdeO3YS97ZqigFBfiqI9cjincjIK2adEzkxL3cjbhve\\\\\\n\",\n       \"BimZBTiSecTRxSE7y8zMLPfcy8tLTZYWLlyILVu2qC52rqi636+goEBNldUjERGRPZK413YZ5NrY\\\\\\n\",\n       \"Aouojr157CTWpWfDz9Mds6U7IVtiETl1y6vbh7eF5nUYC448iWITA86uJjo6GkFBQWXTrFmzKrwm\\\\\\n\",\n       \"ISEB9957Lz7//HN4e3vD1dTk+0k9mdeb1CMREZG9MAcW2YItsIjqwdvxKWjq6YEYXy8MahOGpXtO\\\\\\n\",\n       \"st6JnFCbcD80CcnCS5s+ZvDKRUnwJjAwsOy5tdZXmzdvRkpKCnr37l02r6SkBH/99Rfeeecd1RLJ\\\\\\n\",\n       \"za3hjjJbk+83c+ZM3H///eVaYDGIRURERPWJASyienIgNx9tfL0wqlMEVsaloKiESaGJnInBAPRp\\\\\\n\",\n       \"FYJTeYkMXrkwCV6ZB7CsGTVqFHbu3Flu3tSpU9GxY0c8/PDDDTp4VdPvV1lXSyIiIvslca9dF0Am\\\\\\n\",\n       \"cXd9DGAR1ZPPTpxGR38ftAr0xvMTuuKx73ejsMTE+idykuDVtf1bIiYqCx/uXOjo4pCDBQQEoGvX\\\\\\n\",\n       \"ruXm+fn5ISwsrML8hsjVvx8RETU8MopgSS0zHJk4arTLYw4sonoiDa4e238cR/MKEPFvEEuSRROR\\\\\\n\",\n       \"413cIwqtozLx4Y4PkVWY5ejiEBERERGRBbbAIqpHJQAeP5CIp2Kbo22gF164tCse/W4X8ovZEovI\\\\\\n\",\n       \"kVqG+uKv478jq4jBK7Luzz//dOmqcfXvR0REDSOJe+2WwRQtro7NP4gcEMR68mCiyokV5u+FFy7r\\\\\\n\",\n       \"Bm8P/hSJHGV0p6ZoFuSDIxlHuBKIiIiIHNSF0B4TuTauYSIHkPZWTx9Mwr6cfIT6eWIWg1hEDjGm\\\\\\n\",\n       \"S1Oc2zEcH+17CafzT3MtEBERERE5KQawiBwYxHr2UBKO5BUgxNcTl/ZsznVBVI+a+HtiTHd/zNn7\\\\\\n\",\n       \"Ik7knGDdExERETlIiWawy0SujQEsIgeSXtqbM3PU4y5RQTByn0tUb9qE+yOvOA8nc0+y1omIiIgc\\\\\\n\",\n       \"SEYgtMdEro1rmMjBfj2VgbSiYrQI9cGjF3aCm4FRLKK61jM6GFcNCMK3B75lZRMRERERNQAMYBE5\\\\\\n\",\n       \"WL5JwwNxCUgtLEbbCH88Nr4jg1hEdahrVCCuHdASn+39DHvT9rKuiYiIiBzMpBntMpFr4xomcgIF\\\\\\n\",\n       \"Jg3/tz8BKYVFiGnijyfGd4Ib+xMS1Ynu0cFYe/I3xJ2JYw0TEREROQF2ISRbMIBF5ERBrIfijiO5\\\\\\n\",\n       \"oAitmvjhqYs6w51BLCK7ahnqi27Ng5CYnciaJSIiIiJqQBjAInIihZqGh/cfR1JBEaJDffH0xV3g\\\\\\n\",\n       \"4cacWET20DrMF3eMaIvlSd9g1+ldrFQiIiIiJxqhvbYjEMoyyLUxgEXkZIo0DTP2J6ggVvMQH0wZ\\\\\\n\",\n       \"1NrRRSJq8CQQfMfoJvgj8SusSVrj6OIQERERkRkTjHaZyLVxDRM5oWIN+O7kGWgAYsL9HF0cogYv\\\\\\n\",\n       \"xNcT3u7e2Ji80dFFISIiIiKiGmAAi8hJbc/KRW6JCc2DfXD3uW0dXRyiBivE1wO3DW+L9SfWo1gr\\\\\\n\",\n       \"dnRxiIiIiMhCiWa0y0SujWuYyElll5jwwL549W+f1qG4d1Q7MBsWUfWDV/eMaocDOavxw8EfWH1E\\\\\\n\",\n       \"RERETsgEg10mcm0MYBE5scx/g1hZJSb0ahmM+85rz90yUTUMahuGlOJd+OHQD9BUp1wiIiIiImqI\\\\\\n\",\n       \"GMAicnISvLp/Xzwyi0vQvUUQHjy/Awy8uUB0Vl7uRnSIDMSJ7BOsLSIiIiInxi6EZAsGsIgagBwV\\\\\\n\",\n       \"xEpQQazOzQNxSY8oRxeJyKl5exhxx4i2KPI4gOUJyx1dHCIiIiKqQgmMdpnItXENEzUQuSYT/jid\\\\\\n\",\n       \"qR7HRnBkQqKqg1exKnj1ye5PUGxi4nYiIiIiooaOASyiBmR1WhaKNQ1dmgfjmn7Rji4OkdPxcDNg\\\\\\n\",\n       \"2rmxyM4vxid7PuGog0REREQNgEkz2GUi18YAFlEDklJUjBn7E1CkaRjTNRLX9mcQi8hc00BvRITk\\\\\\n\",\n       \"44v4J1CilbByiIiIiBoAkx26D8oyyLVxDRM1MCcKivFwXAKKTBrO7xKJ6we0dHSRiJyC0QCM6tQU\\\\\\n\",\n       \"J3NPwqSZHF0cIiIiIiKyIwawiBqgk4XFeCguAQUmDaM6N8WUwa0cXSQih3IzGDBlcGtERaRhwZ4F\\\\\\n\",\n       \"XBtEREREDYhJM9plItfGNUzUgLsTPhQXj3yThnM7ROCmoa0dXSQih7mgWySaNjmND3d8iJyiHK4J\\\\\\n\",\n       \"IiIiogakBAa7TOTaGMAiasBOFZXgwX3xyDNpGNouHJf3au7oIhE5RPNgH2w7tQ25xblcA0RERERE\\\\\\n\",\n       \"LogBLKrS7NmzYTAYMH36dNaUk0orLsH846fU487NgxxdHKJ6d2G3ZmgR6otdqbtY+0REREQNELsQ\\\\\\n\",\n       \"ki0YwKJKbdy4ER988AG6d+/OWnJyB3LzYdKANk38MKpjuKOLQ1RvxndvhoFtQvHR3tk4nX+aNU9E\\\\\\n\",\n       \"RETUAMnY0bXvQkiujgEssio7OxuTJk3CnDlzEBISwlpqAEndnzuUCJMBuG5ga4zp0tTRRSKqc36e\\\\\\n\",\n       \"bjivWwA+2jcbKXkprHEiIiIiIhfGABZZNW3aNIwbNw6jR48+aw0VFBQgMzOz3ET1Ly63AE8fTIQJ\\\\\\n\",\n       \"wDX9W2Jc10iuBnJpXZoHobCkEKl5qY4uChERERHVArsQki0YwKIKFi5ciC1btmDWrFk21Y68Ligo\\\\\\n\",\n       \"qGyKjo5mrTrIwdwCPHnwOEo0DVf0i8ZFPZpxXZBL6h8TiisHBGLBngXQoDm6OERERERUCyWa0S5T\\\\\\n\",\n       \"db377rto3bo1vL29MWDAAPzzzz9Vvv6NN95Ahw4d4OPjo65777vvPuTn59fim1N1MIBF5SQkJODe\\\\\\n\",\n       \"e+/F559/rn7Etpg5cyYyMjLKJlkGOc7hvEI8fiBRBbEu690CQ2PDuDrIpXRtHqSCV5/s/gQH0w86\\\\\\n\",\n       \"ujhERERE1AAtWrQI999/P5588knVgKNHjx4YM2YMUlKsp6b44osvMGPGDPX6vXv3Yu7cuWoZjzzy\\\\\\n\",\n       \"SL2XvbFiAIvK2bx5s/rB9u7dG+7u7mpatWoV3nrrLfW4pKRiajwvLy8EBgaWm8ixjuUX4oeUdPW4\\\\\\n\",\n       \"R3QwVwe5lNgIf2w+uRmHMg45uihEREREZAcaDDDVcpJlVMdrr72GW265BVOnTkXnzp3x/vvvw9fX\\\\\\n\",\n       \"F/PmzbP6+rVr12LIkCG49tprVaut888/HxMnTjxrqy2yHwawqJxRo0Zh586d2LZtW9nUt29fldBd\\\\\\n\",\n       \"Hru5ubHGGoidWXnq3z6tQtAjOsjRxSGyCxlpc1CbMBzOOMwaJSIiInIR9d2FsLCwUDXeMM/5bDQa\\\\\\n\",\n       \"1fN169ZZfc/gwYPVe/SA1eHDh/Hrr7/iwgsvtEMNkC3cbXoVNRoBAQHo2rVruXl+fn4ICwurMJ+c\\\\\\n\",\n       \"2/7cfLx77CSmtWqKe0e1x7srDmBzfGmrLKKG2vLqlmFt8GvCF9iZutPRxSEiIiIiJ2Q5qJj0GJLJ\\\\\\n\",\n       \"XGpqqupd1LRp+dHb5fm+ffusLldaXsn7hg4dCk3TUFxcjNtvv51dCOsRA1hELmxtRg6Kjp7E9NZN\\\\\\n\",\n       \"MW1kO7y/8iD+OXbG0cUiqpGbhsbgt4Qv8U8ym2k3Jufv/kclSq2tvLw8fGuXEhGRvSxJ2tagK3NM\\\\\\n\",\n       \"VE9HF4HIoYq1ImmHZJdlmTSDmmq7DGE5qJjkrHrqqadQW3/++SdeeOEF/O9//1MJ3w8ePKjyRz/7\\\\\\n\",\n       \"7LN4/PHHa718OjsGsMimHyo1XBszc/D60WTc1zoSt4+MhXHVIaw/nOboYhFVS5ifJ3w83bAnbQ9r\\\\\\n\",\n       \"joiIiMjFlMCoptouQ8igYuZ5mS1bX4kmTZqo9DgnT54sN1+eR0ZGWl2+BKmuv/563Hzzzep5t27d\\\\\\n\",\n       \"kJOTg1tvvRWPPvqo6oJIdYs1TNQIbMrMxStHTqjHtw5vi46RAY4uEpHNmvh74t4LQrAmeSmyCrNY\\\\\\n\",\n       \"c0RERERUKcsBxqwFsDw9PdGnTx8sX768bJ7JZFLPBw0aZHW5ubm5FYJUeo5o6VJIdY8tsIgaia1Z\\\\\\n\",\n       \"eVh7JhtDQvzRo0UQ9iUzEEDOL9TPE/eMaoftp5bj1yO/Oro4RERERFQH7NmF0Fb3338/pkyZogYt\\\\\\n\",\n       \"69+/P9544w3VokpGJRSTJ09G8+bNMWvWLPX8oosuUiMX9urVq6wLobTKkvkc7Kx+MIBF1IjsyMpV\\\\\\n\",\n       \"AazzOjfF+iOncex06UiFRM6qe4sgpBbvY/CKiIiIyIWZYFRTbZdRHVdffTVOnTqFJ554AsnJyejZ\\\\\\n\",\n       \"syd+//33ssTu8fHx5VpcPfbYYzAYDOrfxMREhIeHq+DV888/X6tyk+0YwCJqRP5Oz0aYpzuujgzF\\\\\\n\",\n       \"E+O64Llf9uLI6RxHF4vIKh8PN/RpFYL4nN2sISIiIiKyu7vuuktNtuSCdnd3VwnhZSLHYA4sokbm\\\\\\n\",\n       \"h5R0fJF0GkY3Ax4b3wmxEX6OLhJRBb6ebrhrZCxyjHvx25HfWENERERELqxEM9hlItfGABZRI/Rz\\\\\\n\",\n       \"agY+TUqFm9GAmRd2Qvum/o4uElE5U4fEIAO78OneT1GilbB2iIiIiBpBDqzaTuTaGMAiaqR+T83E\\\\\\n\",\n       \"/MRTMBoMmHFBJ3RsypEJyTm4GQyICvbGquOrYNJMji4OERERERE5AQawiBqxP05nYW7CKRgMwENj\\\\\\n\",\n       \"O6ADW2JZlRy3BbuXfF6tupXXy/uq6+jG5fj+0avw2W3D8OMT1+L4jjVobMGrKYNbISOvCMk5yY4u\\\\\\n\",\n       \"DhERERHVA00zwlTLSZZBro1rmKiRW3EmC0tSM2A0GjCqU+mIG/QfCUKteOM+bP7qLez89RObqkZe\\\\\\n\",\n       \"J6+X91UniJVycAdWf/g4YoddhPFPLkB0r3Pw5zsP4czxQ40meDV1aGs0aXIKH+1/CoWmQkcXiYiI\\\\\\n\",\n       \"iIjqQQkMdpnItXEUQiLCvpw8jGkShB4tgtDE3xOp2Qwc6E4f3Yviwnz1eOu3/1P/drtwSqVbzbbv\\\\\\n\",\n       \"PsCOn+epx/K+FW89CN+QCAQ1a4X2wy9FVOf+iN+yEtt/nIuslONw8/RCaMsOOPful7F32SJEdR2I\\\\\\n\",\n       \"rmOvV+/vdentOLHnH8St+BoDJ89w+S21S/NAtGyai9c3z0F+SWmdExERERERCQawiAj/ZORixelM\\\\\\n\",\n       \"jAoLxPMTuuKx73fhFINYpUGVMZNgKikuC15VFsTKPBmPvz54HGnH9pXN82rRBd4tu8NUkI2TCbuQ\\\\\\n\",\n       \"8Pq98A2NRN6ZFPS+Yhpa9R2JovxcnNy/TdpN49Shneh8/sRyy43qMhAJW1c1iq20XdMAnMpNYvCK\\\\\\n\",\n       \"iIiIqJExaaWJ3Gu7DHJtDGARkTI3MRUlmobzmwTh+Uu74vEfduNkZgFrxyxYVVkQK3nfZix7fTpM\\\\\\n\",\n       \"xf+1XAsePgVBA68se65pGgqT9iF97SJoacmI3/oX2g2fAP8mUQhpEatek59xGj6BoeXq3DswFHmZ\\\\\\n\",\n       \"p11+PVzcIwo92xTjwx3fO7ooRERERFTP9DxWtV0GuTauYSIq83HSafx2KgOe7m549tJuaBbkzdr5\\\\\\n\",\n       \"lwSrel1+Z1l9SBBLcl2dPLANf7x6d5XBK2EwGODVvBMiLn8cnk3b4tTB7Vj88GWIW/ENCnIyG3U9\\\\\\n\",\n       \"j+0aiX7tTPhg+wdIzUt1dHGIiIiIiMgJMYBFROV8euI0fk5Jh6fRgGcu7oKIAE/WUBVBrCWzb4Nm\\\\\\n\",\n       \"KqkyeGXOYHRD5JQ3EHr+NBTmZmHrd+/jh0evQtapJHgHhSEvM63c6/Mz0+ATGObS66BLVCB+OfIL\\\\\\n\",\n       \"Tue7fkszIiIiIqrIBINdJnJtDGARUQVfJKdhS2YuPNyNOLcjRyasKohlzjx4ZdRM6HbqIIYf36r+\\\\\\n\",\n       \"lefmrbECel2AkFG3oDA3GzAakbDlT4S37YbkvZvKLVOSuMt8V9U/JhQRAd44kXPC0UUhIiIiIgcp\\\\\\n\",\n       \"0Qx2mci1MQcWEVm1LycfvQN9MTQ2DD9tT0Ju4X+tjBo7CWLt/u1T1YJKZ/TyKwteDU7aidt3fI/w\\\\\\n\",\n       \"/Iyyv5/yDsL73SdgJTyRf2w7vFv3gnfLHjC4e6Ag6wyColqjSduuWPLS7di95HO06D4ER/75Q42C\\\\\\n\",\n       \"OHDyTLiiQW3CMKFXcyzY/xZSclMcXRwiIiIiInJiDGARkVW/nEpHN38fdAvwwezLu2HmtzuRwyCW\\\\\\n\",\n       \"IrmvzINXwlSQg4z1X+OClh3x2D+fVKjPsPwMNb+k4zj8mLALmZt+gKkgFwZ3T7i5uSGyUz+4uXtg\\\\\\n\",\n       \"2C3PYtt372Pr4vcQGBGNEXe9hJAWbV1uK40M9MYVA4Lw0c43cDTzqKOLQ0REREQOxCTuZAsGsIjI\\\\\\n\",\n       \"KhmFdvaRE/i/mEj0DPDF7Mu745HFO5FVUIzGHrzSRyHUW15J8Eqkr/oEAZHRQJBfhR740l9bOhHe\\\\\\n\",\n       \"eWwNNl75FEyG0h7cBYl7kfzZ/+HM8YNo0roTWvcbpSZX1yzYG5mFmQxeEREREVFpDqtadgFkDizX\\\\\\n\",\n       \"xxxYRFRlEOvlI8nYnJGDAG93zLqqOwK9G2/c2zJ45R4Shejpi1TuK92HyQn46PTpSne4EXnp6JJ6\\\\\\n\",\n       \"uGyem39pgvbC7P+6G7q6dhH+uHZwMJbHL3d0UYiIiIiIqIFgAIuIzhrEevXYSWzMyIG/uxtmXdYN\\\\\\n\",\n       \"/l6NL4hlGbwKbNYaHiFR6rHkvjIPYr2eegpzKgliidACs+6H/7bE0sySvLt68OqWc9rgh4M/YPPJ\\\\\\n\",\n       \"zY4uDhERERE5Ac0OIxDKMsi1MYBFRDZ5/dhJHMsrhK+XO/q1DmnUwSsZhTC8TReY8v8LREkQq2Of\\\\\\n\",\n       \"8TYFsTI8fcsem/Iz1b+evgFoDM5pH441J3/F5hQGr4iIiIiolHQftMdEro0BLCKy2cHcfHVfY0yX\\\\\\n\",\n       \"SHi4NY4DhIwIaBm8klEIw1p3RkHyARRnpZb9rWDUrbhVcmCZBbHmp1UMYk3Z8xsic0rn5x7YADdP\\\\\\n\",\n       \"bwQ1i4GrCw/wQusmfkjOSXZ0UYiIiIiIqIFhAIuIbPZJUiqO5xciMsgbz1zcpVEEscJad4K7p3e5\\\\\\n\",\n       \"4JVoM2gs3Ny9kL19SdlrJTF71nl3YnqTcPXcx2BAV2+fsq6YMomO6cfxzsrXMSxhC3K2/442A8fA\\\\\\n\",\n       \"09cfriwiwAt3j4zF1jN/YEfqDkcXh4iIiIiccBTC2k7k2riGichmxRow88BxxOcXolmwD56b0BWe\\\\\\n\",\n       \"bq69G4ns0Bsjp7+OPlfdUxa8Ep4+/mg7+ALkbF8CreS/kRnXRnXDyQvux53NWuL9FtHo51vaXfCU\\\\\\n\",\n       \"TzDmdhmPJL/SpO1+xfl4ZPMXeNzXA12HXQJX5uVuxL1jw7A5bQl+O/Kbo4tDRERERE6GXQjJFo0v\\\\\\n\",\n       \"EzMR1UqJBjy6/ziebdccrQO98dTFnfHod7vKWhe5ahBLJksdR16JA3/9gLRlHyD0/DthMBjKgljG\\\\\\n\",\n       \"699BfOphLC/IQppXAHY3aaNaaP3WeiDu2v4tzj2+Vb32yuBgjFjxKX4MmIZT4f91P3Qlwb6e8PXw\\\\\\n\",\n       \"xdJjSx1dFCIiIiIiaqBcu+kEEdWJEgCPH0hULbKaBnrD19OtUdZ0cPM2GDh5BrK3/Yb0lfPKjSQo\\\\\\n\",\n       \"waqd4bFY1aKX+leei1wPb7wQOxqPZxUgTysN+4WnncDkBU+h57aVMhwhXIlsG5MHtcKu1F2OLgoR\\\\\\n\",\n       \"EREROanajkCoT+TaGMAiohoHsU4XFcHNaMBtw9s22sNFu2EXo9+1DyBz0/dI+epJ5B3ZWi6QZc6U\\\\\\n\",\n       \"n43MTT8g+bMH8XthAd6bcC9OhrdQf/MoKcbYpR9jwg/vwCs/B67Az8sdd42MRTp2YmHcQkcXh4iI\\\\\\n\",\n       \"iIicFLsQki3YhZCIauyxA4l4tUM0urcIwoPnd8Arf8S5WgMim3QadRUCmkRh8zfvIuWrx+ER2hx+\\\\\\n\",\n       \"3c6De3AkDO6eMBXkoCB+J3L2rgJKitGyz7noP/F+FAaFYUHbbjj3z6/Qd8sfalkd929C5InD+PHi\\\\\\n\",\n       \"aUhqHouG7LxOEcg17scXu7+AqZKgHhERERERkS0YwCKiGsspMeH+fQl4tWM0ujQPxEPnd8BLSxtn\\\\\\n\",\n       \"EKtFj6Fo3n0IUg5sQ9zKb3Hs78/KJXf3CYlAj3FTEDvsEvgGNymbX+LuiWWjr8OxVp1x4a9z4FOQ\\\\\\n\",\n       \"i+CsNEz64nmsHnY51g+4EPi3+2FD4mYwoGWYL45kHmPwioiIiIhsaoFVG7V9Pzk/BrCIqFZyTRLE\\\\\\n\",\n       \"iscrHVuiU1QgZo7tiNm/74OpEQaxJIl70/a91KSZTCjKz0FxYQE8ff3h5uFVluTdmgPtemPe1Odw\\\\\\n\",\n       \"8U/vITrxANw0E0b89TVaHd2Nn8ffhhz/YDQU0q30xiEx8PY7gTVH1ji6OERERETk5BjAIls0vNv6\\\\\\n\",\n       \"ROR08kwaHtwXj7SiYrSPDFDdCRs7g9EIT98A1drK3dO7yuCVLiswDF9MnIm/B19SloQyJn4Pbvz4\\\\\\n\",\n       \"ccQc2YmGQoJXQSEnMGfnHOQV5zm6OERERERE5AIYwCIiuwWxHj2QCMl01K6pP2u1hjSjG/4eehkW\\\\\\n\",\n       \"Xv0wMv2C1Dy/3Exc/fUrGPHnIhjNuiU6I3ejQXUn/WzPZ8gvyXd0cYiIiIioAWASd7IFA1hEZDfZ\\\\\\n\",\n       \"xSXIKzHBw82IyQNbsmZrIb5VJ8yf+hwOtulRNm/gP79i0ufPISg9xWnrdlz3ZsjILUJ2Ubaji0JU\\\\\\n\",\n       \"Y++99x66d++OwMBANQ0aNAi//fabS9VoY/iORETUcEj2EemBUJupEWYwaXQYwCIiuykB8Oj+4ygw\\\\\\n\",\n       \"aRjZqSluGNyKtVsLeb6B+Oby+7D83IkoNrqpec2Tj2Dqx4+j494NTle3l/Zqjj6xJZiz7wWUaLI1\\\\\\n\",\n       \"EDVMLVq0wOzZs7F582Zs2rQJI0eOxCWXXILdu3fDVTSG70hERESuhQEsIrKrlKJiPBQXj3yThhEd\\\\\\n\",\n       \"InDzsNas4dowGLCx31h8et3jSAsKV7O8C/Mx4af/Yezv8+BeVOAU9TsgJhS92hbj/e3v43T+aUcX\\\\\\n\",\n       \"h6hWLrroIlx44YVo164d2rdvj+effx7+/v5Yv369y9RsY/iORETUcLALIdmCASyiRipl0wbsW/BR\\\\\\n\",\n       \"td4jr5f3nc2pohKV1F2CWENiw3Fxj6halJTEycgYfHzDs9jdaWBZhfTcsQpTFjyF8FMJDq+kqGAf\\\\\\n\",\n       \"HEw/iDMFZxxdFCK7KikpwcKFC5GTk6O62bmixvAdiYjIuTGARbZwt+lVRORSJAi16q6bUZKfB1Nx\\\\\\n\",\n       \"MTrfePtZ37Nn3vvY8dYrcPP2wfB3PkJE3wFVvj6tuARfnjiNqc2boHNUAH7cbscv0EgVevngp/G3\\\\\\n\",\n       \"42jrrjhv2QJ4FhUi/HQSJi94CstHXYdtPUaoFlv1bXDbMAxsE4Z5+5yvWyORpczMzHLPvby81GRp\\\\\\n\",\n       \"586dKpiTn5+vWiZ999136Ny5s0tVaHW+Y0FBgZoqq0ciIiKiusYWWESNUNqenSp4JSQoJcEpW4JX\\\\\\n\",\n       \"Qt4n77fFrqw8lGhAh6aBGN2xtPsb1ZLBgJ3dhuHjyU/jZHgLNcujpBhjl36MCd+/A6/8nHqt4iGx\\\\\\n\",\n       \"Ybi4ZxTmx72O+Kz4ev1sopqIjo5GUFBQ2TRr1iyrr+vQoQO2bduGDRs24I477sCUKVOwZ88el6r0\\\\\\n\",\n       \"6nxHqSfzepN6JCIishe2wCJbMIBF1Ah1nHwzut/zYNnzqoJY5sErIe+T99viRGERnjuUCJMBmDSw\\\\\\n\",\n       \"NcZ0aWqH0pNIC4vCguufxKZeo8oqpOOBTZg6/zFEJR6st0q6sFszfHXoQxzLPMYVQw1CQkICMjIy\\\\\\n\",\n       \"yqaZM2dafZ2npydiY2PRp08fFbzp0aMH3nzzTbiS6nxHqSfzepN6JCIishcGsMgWDGARNVLSbfBs\\\\\\n\",\n       \"QSxrwStbuhuai8stwNMHE2ECcE2/lhjXNdIOpSdR4u6JZedNxreX3oM8L181LzgrDdd98TwGrv8Z\\\\\\n\",\n       \"0KTW6067pv7w9nDDiZwTXCHUYAQGBpabrHUftMZkMpXrQueKqvqOUk+WdUdERERUn5gDi6gR04NR\\\\\\n\",\n       \"epBK/1fm2yN4pTuYW4AnDh7H07HNcUW/aBjdDPhpO4Me9nKgXR/Mn9oaF/30PqIT98OomTDir6/R\\\\\\n\",\n       \"6uhu/Dz+NuT4B8PeOkQG4OYRYVh88BOkF6TbfflEjiStjS644AK0bNkSWVlZ+OKLL/Dnn39iyZIl\\\\\\n\",\n       \"LrNiGsN3JCKihkPTDGqq7TLItTGARdTIWQti7Z3/IYqyMu0SvNIdySvE4wcS8Wy75risdwukZhdi\\\\\\n\",\n       \"3aHTtSw96TIDw/DFxBkYsvYHDFn7IwzQEBO/R3Up/GX8bTgS081uldUixEcFr7498C22n2J2fnI9\\\\\\n\",\n       \"KSkpmDx5Mk6cOKHyPXXv3l0Fds477zy4isbwHYmIqOEwwaCm2i6DXBsDWERUIYhl7+CV7lh+IZak\\\\\\n\",\n       \"ZuLC8CB0iQpkAMvONKMb/h56GeKjO2H8z+8hMCcD/nlZuPrrV7C+/4X4a9jlMLnVfrcfHeKLhKwE\\\\\\n\",\n       \"Bq/IZc2dOxeurjF8RyIiInItzIFFRIoEqTwCyuc0kef2Cl7ptmWVjpI3uG0YekQHsfbrQHyrTpg/\\\\\\n\",\n       \"9TkcjOleNm/gP7+q3FhB6Sm1WnZEgBcu7N4M+8/st0NJiYiIiIiYxJ1swwAWESmS88q85ZWQ55WN\\\\\\n\",\n       \"TlhTu7Pz8c6xkzAYDLh3VHv0aWn//EwE5PkG4psr7sfycyeixOimqiTqxGFM/fhxdNy7ocZVNKJD\\\\\\n\",\n       \"OA7lbMCq46tYzURERERk1xxYtZ3ItTGARUQVErabt8SyNjphba3LyMGbKogFTBvZDv1bhXAt1AWD\\\\\\n\",\n       \"ARv7jcWC6x7HmeAINcu7MB8Tfvofxv4+F+5F1RtRzdfTDW3C/ZGUncT1RURERERE9YoBLKJGztpo\\\\\\n\",\n       \"g5ev3qL+rcsg1j8ZOXj9aLIKYt12bluE+nnadfn0n5ORMZg/5Rns7jSwbF7PHX9hyidPIvxUgk1V\\\\\\n\",\n       \"5efphrtGxiLNtBNrktaweomIiIjIbkyawS4TuTYGsIgaMWvBKz3nlfxb10GsTZm5SCsqhtFgQHSI\\\\\\n\",\n       \"j12XTeUVevngp/G345cLbkahe2mwMDztBCYveBo9t62UdtuVVllpS7lYnDZtx+f7PodJM7F6iYiI\\\\\\n\",\n       \"iMhu2IWQbMEAFlEjVVXwSlcfQaxlpzPVgLd3j4xFy1AGseqUwYCd3Ybh4ylP42R4CzXLo6QIY5d+\\\\\\n\",\n       \"jAk/vAOv/NIE+5a83d0QFeyDxQcWM3hFREREREQOwQAWUSO0b8FHZw1eVRXEkvfbyw8p6fj2ZBrc\\\\\\n\",\n       \"3Yx4YnxntApjEKuupYVFYcH1T2Jz79Fl8zru34Sp8x9DVOLBcq91MxowaWBLJKTloqCkejmziIiI\\\\\\n\",\n       \"iIhsbYFV2+6DTOLu+hjAImqEQjt3g5u3z1mDV9aCWPI+eb89fXsyHYuS/w1ijeuCNk387Lp8qqjE\\\\\\n\",\n       \"3RN/jL4e3156D/K8fNW84Kw0TPrieQxc/xOgmeBuNOCmoTEICTmJeQeegobKuxkSEREREdWUnGVK\\\\\\n\",\n       \"RotaTax+l+fu6AIQUf2L6DsAw9/5CGl7dqLj5Jtteo8EsYzu7ip4Je+3N2mJ5QYDrogMwT2jYjF9\\\\\\n\",\n       \"0Xa7fwZVdKBdH8yf2hoX/fQeohMPwE0zYcRf36DV0T1Iv+9RhIWm4v3tHyG/JJ/VR0REREREDsMW\\\\\\n\",\n       \"WESNlAShbA1e6eT1dRG80v15JhOSHtzfywOB3oyv15fMwDB8MXEm1gy6BCaVkQyIid+D7k/dheQV\\\\\\n\",\n       \"vzN4RURERER1Ss5B7TGRa2MAi4icRlpRCTZm5MDdzYDZl3dDkA+DWPVFM7ph9bDLsPDqh5HlF6Tm\\\\\\n\",\n       \"uWWcQdPHPsCQ7w/BWMyRB4mIiIiojs5F/81hVduJXBsDWFTBrFmz0K9fPwQEBCAiIgITJkxAXFwc\\\\\\n\",\n       \"a4rqxZvHTmJtejZ8Pd0x+7JuCPH1YM3Xo/hWnZD86kcwDhxSNq/vsuO44rWtCEzN47ogIiIiIiKH\\\\\\n\",\n       \"YACLKli1ahWmTZuG9evX448//kBRURHOP/985OTksLaoXrwTn4LVZ7Lg4+mOWZd1Q5gfg1j1qX+v\\\\\\n\",\n       \"WHx7Wwz+uqwtSoyld7KaxWdj4qzNaLc5pV7LQkRERESur7YjEOoTuTb2z6EKfv/993LPP/74Y9US\\\\\\n\",\n       \"a/PmzTjnnHNYY1Qv3ks4hSB3N3QP8MX47lH4ZN0x1nw9GNQmTP17ujAN8SNbIDE2CGPn7kHI6Xx4\\\\\\n\",\n       \"F5Tgwvl7sSvuDFZdEYtiTzeuEyIiIiKqNX0kwdoug1wbW2DRWWVkZKh/Q0NDrf69oKAAmZmZ5SYi\\\\\\n\",\n       \"e9ieVdplrUd0MDzduLuqa0Niw3BpP398HPcGcopKW1ymtAzAwhl9sK9veNnruq5NxtUvbkFYYnad\\\\\\n\",\n       \"l4mIiIiIiEjwipCqZDKZMH36dAwZMgRdu3atNGdWUFBQ2RQdHc1aJbtYmpqBI3kFCPXzxPOXdoWX\\\\\\n\",\n       \"O3dZdaVD0wBc3McPc3fNxdHMo+X+VujjjiVTOmHpdR1Q5Fm6DpqczMXVL29B17+TeLuLiIiIiGqF\\\\\\n\",\n       \"SdzJFrwapCpJLqxdu3Zh4cKFlb5m5syZqpWWPiUkJLBWyS5KADxxIBGHcgsQHuCFFy7tCm8GsepE\\\\\\n\",\n       \"VLA3jmUeQ3xWvPUXGAzYOzASXz7UBylRfmqWR7GGUQsP4MKP9sAzt7huCkZERERELo8BLLIFA1hU\\\\\\n\",\n       \"qbvuugs///wzVq5ciRYtWlT6Oi8vLwQGBpabiOwZxHryYCIO5OYjzN8Lz0/oBg83Jmi0d+urC7o1\\\\\\n\",\n       \"w+aTm8/62jORvvjq/3pj2zlRZfPabU/FtbM2IfJwaXdjIiIiIiIie2MAiyrQNE0Fr7777jusWLEC\\\\\\n\",\n       \"MTExrCVyKBOApw8mIavEhJAAT0SH+HKN2EnHyADcNCwG3x35GDtSd9j0nhIPI1Zd1Q4/3dIFeT6l\\\\\\n\",\n       \"idyDzhTgyje2oe+SeBlGhuuHiIiIiGzGUQjJFgxgkdVug5999hm++OILBAQEIDk5WU15eaUJtYkc\\\\\\n\",\n       \"FcQ6kV+odlrX9IuWHm1kBxN6NcfvCYuw7dS2ar/3cI8m+HJmXyS2LW11aTQBQ346ggnv7IBvZiHX\\\\\\n\",\n       \"DxERERFVaxTC2k7k2hjAogree+89lctqxIgRaNasWdm0aNEi1hY51ItHTuBMUQnaRwbgkbEdYWQQ\\\\\\n\",\n       \"q1aaBnohxNcTidmJNV5GVqg3vr2nJzaMbQn9nKHV/nRc+8ImtNyTVrsCEhERERER/YsBLLLahdDa\\\\\\n\",\n       \"dMMNN7C2yKHyTBoeiItHWlEx2kUGYMqg1lwjNRQZ6I27RrbD2pRfK0/cbiPNzYD142Ow+J7uyA7w\\\\\\n\",\n       \"UPP8sotw6f92Ysj3h2AslvZzRERERESVnE+qFlSGWk6sXVfHABZRHUrZtAH7FnxUrffI6+V9ZF2+\\\\\\n\",\n       \"ScPnSadVa582EaWj4VH1BPt44J6xYfgn9VcsPbbUbtV3vH0IvnikLw53Dimb13fZcVz5+jYEprIL\\\\\\n\",\n       \"MhERERFZx1EIyRYMYBHVEQlCrbrrZmx7bTb2zHvfpvfI6+T18j4Gsaqop5x8FJo0lcx98sBWdltn\\\\\\n\",\n       \"jUWLEB9kF2ZjWfwyuy87L8ATP93eDX9d1hYl/44WGXksCxNnbUa7zSl2/zwiIiIiImocGMAiqiNp\\\\\\n\",\n       \"e3aiJL+01cmOt145axBL/i6vE/I+eT9Zl1FcgofjElBg0jCyUwSmDmEQy1Z+Xu64sHszHMs8Vneb\\\\\\n\",\n       \"l9GArSNb4Kv7eyG9ibea5V1Qggvn78XIz+PgXlhSd59N5AQSEhJw/Pjxsuf//PMPpk+fjg8//NCh\\\\\\n\",\n       \"5SIiInJWmp0mcm0MYBHVkY6Tb0b3ex4se15VEMs8eCXkffJ+qlxKUTH+b188JBQyLDYcQT6luZeo\\\\\\n\",\n       \"asPaNUGB2yF8f+j7Oq+qlFYB+PLhPtjXN7xsXrd1ybj6xc0IS8yu888ncpRrr70WK1euVI9lFN/z\\\\\\n\",\n       \"zjtPBbEeffRRPPPMM1wxREREFtiFkGzBABZRHep84+1nDWJZC17J++jsUotLkFNcAoPBgP4x/+Vd\\\\\\n\",\n       \"IuvcjAa0DffD8ezjMGn1k1i90McdS6Z0wtLrOqDQo/SQ0+RkHq55ZSu6/p3E8Y7JJe3atQv9+/dX\\\\\\n\",\n       \"j7/66it07doVa9euxeeff46PP/7Y0cUjIiIiapAYwCJyYBCLwavae+vYSWgG4NoBrTCq438tfahi\\\\\\n\",\n       \"8OrGITHwC0jGyoTSliH1xmDA3oGRWPhwH6Q081Wz3ItMGLXwAC78aA88c4u5usilFBUVwcvLSz1e\\\\\\n\",\n       \"tmwZLr74YvW4Y8eOOHHihINLR0RE5ITYh5BswAAWkYOCWN8O682WV3ZK6P7cwUR1zLtuUGuM7hxh\\\\\\n\",\n       \"j8W6nKmDWyMo5ATm7JyDvGLHjAh4JtIXXz3UB9vOiSqb1257Kq6dtQmRhzMcUiaiutClSxe8//77\\\\\\n\",\n       \"WL16Nf744w+MHTtWzU9KSkJYWBgrnYiIyJJmqHU3QnVXu5reffddtG7dGt7e3hgwYIDq8l+V9PR0\\\\\\n\",\n       \"TJs2Dc2aNVM3q9q3b49ff/2V67OeMIBF5KAgVlFWZtljdhusnX25BXjmYCKkU9yk/q0wqhNbYlnq\\\\\\n\",\n       \"FBWIr+O+Rn5JPhypxMOIVVe1w0+3dEGej5uaF3SmAFe+vg19l8QDJqbfpIbvxRdfxAcffIARI0Zg\\\\\\n\",\n       \"4sSJ6NGjh5r/448/lnUtJCIiIsdatGgR7r//fjz55JPYsmWLOl6PGTMGKSnWR84uLCxUeS2PHj2K\\\\\\n\",\n       \"b775BnFxcZgzZw6aN29e72VvrBjAIqoDKZs2YN+Cj6wGsTwCAsvNk+cyX14v76Oa2Z9bgLePJQMG\\\\\\n\",\n       \"4IIuzViNZib0jEJ2fjHSC9Kdpl4O92iCL2f2xfE2pb8HowYM+ekIJry7A76ZhY4uHlGtSOAqNTVV\\\\\\n\",\n       \"TfPmzSubf+utt6qWWURERFSeptlnqo7XXnsNt9xyC6ZOnYrOnTurY7Svr2+5Y7c5mZ+Wlobvv/8e\\\\\\n\",\n       \"Q4YMUS23hg8fXnajiuoeA1hEdiZBqFV33Yxtr822mrDdvOWVkOd/3jlVvV7exyBWzR3OLVRdCUP9\\\\\\n\",\n       \"vdC5WUAtluQ6LuvdHL1jSzBn3wsoNDlXYCgr1BuL7+2JDWNblg173CouHZNmbULLPWkOLh1RzeXl\\\\\\n\",\n       \"5aGgoAAhIaWDSxw7dgxvvPGGulMbEcFuzkRERHU5CmFmZma5SY7J1lpTbd68GaNHjy6bZzQa1fN1\\\\\\n\",\n       \"69ZZXUHSknrQoEGqC2HTpk3VIC0vvPACSkpkXHSqD+718ilEjUjanp0oyS/NMaSPLigtrCwTtkvL\\\\\\n\",\n       \"Kz2Ylbx2tfpX3ifvj+g7wCFlb+hSi4oxN+EUbo4Ox4NjOuDVpfuxO6l8wLAx6dUyGL3aluC9be/j\\\\\\n\",\n       \"TMEZOCPNzYD142NwvH0wxny8D/6ZhfDNKsKl/9uJTaNbYN34GJjcea+lMfM5fgi+3qUJ0Wslv+LJ\\\\\\n\",\n       \"a1255JJLcNlll+H2229XuTIkp4aHh4dqkSV3e++44w67f6amaWpEVmpcliRtQ0M2Jqqno4tARC4o\\\\\\n\",\n       \"Ojq63HPpIvjUU0+VmyfHZAk8SSDKnDzft2+f1eUePnwYK1aswKRJk1Teq4MHD+LOO+9Ug7fIZ1Dd\\\\\\n\",\n       \"41UBkZ11nHxzhYTt0sLKPHglf7989RZEDh5W7r3yXN5PNbfyTBY+SEhRF3L3nd8eYX6ejbY6mwf7\\\\\\n\",\n       \"ICErwWmDV+aOtw/BFzP74EiX0LJ5fZcdxxWvbUVgqmOSzhPVlOTRGDasdP8uOTLkZFhaYS1YsABv\\\\\\n\",\n       \"vfVWjZd7ww03ICcnp8J8ycVxzjnncIUREVHDpSdhr+0EICEhARkZGWXTzJkz7VJEk8mkWlJ/+OGH\\\\\\n\",\n       \"6NOnD66++mo8+uijTA9QjxjAIqqHhO16CyvzhO3SIst8vv46y26HVH1/ncnGyYIiuBkMaB7i0yir\\\\\\n\",\n       \"cHDbMJzTyROrj5ffxpxZXoAnfrytK/66rC1KjKUnIM3iszFx1ma022w9mSaRM8rNzUVAQGk35qVL\\\\\\n\",\n       \"l6rWWNItYeDAgSqQVVPbt29H9+7dy3Vt+OSTT1TujSZNmtil7ERERA09B1ZgYGC5SUYLtCTHTTc3\\\\\\n\",\n       \"N5w8ebLcfHkeGRlptYwy8qCMOijv03Xq1AnJycmqSyLVPQawiOqIBKmstbCy1p3Q/HUy35FBrGO/\\\\\\n\",\n       \"/4yFPWOxevrtaMjWpWdLPndMO7ctmgbaoftRAwteXdwzCvN2z8PRzKNoUIwGbB3ZAl890AtnwrzV\\\\\\n\",\n       \"LO+CElw4fy9GfREH98K6zTGQdjQNS59eis+v+xwfnPcBdizeUaefR64pNjZWJXiVO8BLlizB+eef\\\\\\n\",\n       \"r+bLqEZyIl1TMrS3BMMkSfwjjzyCq666CnfddRdeeeUVfPfdd3b8BkRERK7N09NTtaJavnx5uRZW\\\\\\n\",\n       \"8lzyXFkjidul26C8Trd//34V2JLlUd1jAIsatcpGC6yKraMFyuustbD6dljvCt0JR/xvfoVuh9Ut\\\\\\n\",\n       \"lz1kJx7HttdmIbx3PzR0X588g99OZcDL3Q3PXtIFkUGlwZDGYFSnplh8ZB6OZda8pYejpbQKwMIZ\\\\\\n\",\n       \"fbCvb3jZvK5rk3H1i5sRlphdZ59bXFCMgGYBGHDTAPiG+tbZ55Bre+KJJ/Dggw+q0Ykk/5V+Iiyt\\\\\\n\",\n       \"sXr16lXj5UoerZdffhkzZszA7NmzVZBMlikjKBERETVomp2marj//vsxZ84c1Zp57969KkeldNWX\\\\\\n\",\n       \"UQnF5MmTy3U/lL/LKIT33nuvClz98ssvKom7JHWn+sEk7oTGPlqgJE43FRerllFno7eccvP2wfB3\\\\\\n\",\n       \"Pqoy2Xpo527qdbJ8aWGlB7PMRyHUuxMK/V99+fL+mshLPYWcxAQUZWep5XiHhiGgdRuVEyrhj9+w\\\\\\n\",\n       \"64O3kZ1wTP0tpGNnDHvjfbj7+MJUUoL1j9yPrnfci1NbNlUYLbEh+vTEafi4GTAiNBA3DGqF2b/H\\\\\\n\",\n       \"wdW1b+qPIB8PnMwt3xy6ISr0cceSKZ0Q3zEU5351AB6FJjQ5mYerX96Cv66Ixa4hzYAqklYX5RUh\\\\\\n\",\n       \"PT4dBdkFkOZ4XgFeCG0VCjdPNxz+6zA2f7oZGUkZcPdyR5PYJhjz9BhEdIhQk9gw9+yBaiJrrrji\\\\\\n\",\n       \"CgwdOhQnTpwoN7T2qFGjcOmll9a40iRJrASv3n33XXVC/ffff6sWWXPnzsWFF17IlUFERA2W+SiC\\\\\\n\",\n       \"tVlGdUgOq1OnTqkbT9INsGfPnvj999/LErvHx8erFADmyeGlZfV9992nuvQ3b95cBbMefvjhWpWb\\\\\\n\",\n       \"bMcAFjValY0WWBnzbn+2jBYof5Mgl7xOErNLyyvzoJCMQmj5efLc6O6uglfVGYlQM5mQvP5vHFj0\\\\\\n\",\n       \"OZJWr5T2r+X+HtSuA1pdeAl2vvMaek5/CM1Hno/i3Byc2rJRjVwldn/wNrxCw9D20qtUAMtVrEvP\\\\\\n\",\n       \"wfDQQLQM9YW3hxH5ReXrxpV0jAzAjUNj8N2RT5CS6yI5owwG7B0YieTWgRg7dzciTuTCo1jDqIUH\\\\\\n\",\n       \"0HLvGSyf1B4Fvh7l3nIm/gz2/LQHcUvjUJRbVO5vXkFeiB0Riz0/78HAWwYiZkgMCvMKkbwzuZ6/\\\\\\n\",\n       \"GLk6yZ9hmUOjf//+tVpm3759VX6tP//8U+XTkv33Sy+9pIJYN954I/73v//VstRERESNi3TFl8ka\\\\\\n\",\n       \"Od5aklbV69evr4eSkTUMYFGjJUElaXmlB6WqCmJZ5qySllO2jBYoQSiZ5P2WLZrkucy3/LzqjkKY\\\\\\n\",\n       \"umMr1j36IHISjsGjTXsE3DsTnl17wuDnDy0/HyWJ8cj7ZTF2vPWyymxYmJ0Fv6jmqkVWcLsOahmn\\\\\\n\",\n       \"tm7C4e+/xthFP8HV7MrOw97sPHT298Hsy7rjke92IreO8yg5QrMgb9w0IgzfHpiP7ae2w9WcifTF\\\\\\n\",\n       \"Vw/1wdDFh9BzdZKa1257KpomZOG3GzohuU0Q8jPzseKlFUjYkAD3QHcEjwxGYO9AuAeUHuqKM4qR\\\\\\n\",\n       \"sSEDe3/fC61EQ9L2JHS6sBMCIgMQFhPm4G9IrmbTpk346quv1N1by8SuixcvrnEAS0Yx9PPzU89l\\\\\\n\",\n       \"Py53fSXH1vXXX2+XchMRETlMNbsAUuPDHFjUqFmOFmgtgbq14JUt3Q0re7+0vKrq86ojcdVyrLjl\\\\\\n\",\n       \"OhQGBiPkrfkImbMQvhddAfeYWLhFRMK9ZWt4DToHwc+9gbBPf4CxSYRqafXLJaNx8NuFKMzMQFFO\\\\\\n\",\n       \"NtY/+iD6PfECvEJC4YrHwecPn8CurDwE+3rg+Qld4f7vCHeuFsA6lXvKJYNXuhIPI1Zd3Q4/39IF\\\\\\n\",\n       \"eT6lo78EphXgyje2odviA/j+nu9wYs8JtLi1Bdq/2h6RV0TCt40vPMM91eQb64tmk5qh/evt4Rnp\\\\\\n\",\n       \"iWPrjuGzaz/Djm93oCCrwNFfj1zIwoULMXjwYJVPQ5KrS9e/3bt3Y8WKFQgKCqrxcqWroB68Mid5\\\\\\n\",\n       \"tTZv3lzLUhMRETm+C2FtJ3JtDGBRo1dVEMvewSt5/+Wrt5w1aGaL1G1bsOb/7oZHvyEIefWD0lZX\\\\\\n\",\n       \"VeQDco+KRpNFv8PnyuuRHX8MO999A79ccp7Kh5WTdByr770Vi/p0UNPRn79TwTF5nJXQcBOBmwex\\\\\\n\",\n       \"Zh05gTyTCUG+Hgjzd61RCWWUxUt7t8Du07vRGBzq0QRfzuyLpDalwWCjCRi5Igmvewaj1wMxCB4c\\\\\\n\",\n       \"DKNH5Yc3d193tJvVDlE3RaGosAgb52/EwqkLkXmi4ed9I+cgCV1ff/11/PTTT2pUojfffBP79u1T\\\\\\n\",\n       \"owa2bNmyVsv+9NNP1ShIUVFROHasdP/8xhtvqJwdRERERK6MASyiSlpiWRstsLbBK/OE7bUJYknX\\\\\\n\",\n       \"xzUzpsO9QxcEPTYLBk/bAjIS4Aq84374Tb0DBWmpKr9Q0t+rMPabXzFm0U9lU/PhoxDRb6B67BvZ\\\\\\n\",\n       \"DK5AglhJ+UUwGgy4/Zw2cKsi2NfQWl7dPbIdNp7+DSsSVqCxyAr1xjf39sSGsS1h+re9+UBPX7z5\\\\\\n\",\n       \"gxt6HDbZ9FsIHRaKmIdiUFxSjJKiEhxdc7QeSk6NwaFDhzBu3Dj1WAJYMqKRbHOS9PXDDz+s8XLf\\\\\\n\",\n       \"e+89NWKSJGxPT09HSUlpd+jg4GAVxCIiImqwHDAKITU8DGAR/csyqFTZaIG2sKXlVm2CWEl/rURe\\\\\\n\",\n       \"chL8734YBk/PCn/3zs/HM++9gjnPPqT+ledFe3ci5/O5KIrbDe/R42AMCkZB+hmEdOyC4Nj25Sbp\\\\\\n\",\n       \"5ujh66ceu3lUXH5D9dzhJKQUFiMm3A+Pj+/kEkGsy3o3x/b0Ffjj2B9obDQ3A1aNiMLNyYlIdS8N\\\\\\n\",\n       \"WgXnAo8uMmHSihK4lWgwmDR0PmbCkN0m9a88zz2Ui5SfUpB3JA/uIe7wa++nkr0HNg9UgazUg6lq\\\\\\n\",\n       \"MhWZkJOaox5nJGY4+utSAxISEoKsrCz1WEYo2rVrl3osQSdJwl5Tb7/9thru+9FHH4WbW2k3Wj03\\\\\\n\",\n       \"1s6dO+1QciIiIkcx2GkiV8Yk7kQWQaW98z8862iBVdm34CObW27p880TycsohGdL5L5/0afw7NId\\\\\\n\",\n       \"HrGlSdjNvTv7UXQ6drhs9x2blIBf75uKPZHNMSk3Dznffg5NWgP4+sJgNKJJ956NZhsoMGl4KC4B\\\\\\n\",\n       \"L3eIRusmfriqXwt8+U8CGio/TzdEBHhjfcJhNFb7/9iPDdk5eOA6A+5dbUDvQ6W33i7ZoKFfXAl8\\\\\\n\",\n       \"ioCQnP9enxoAzOnjhu/icnF66WmY8kxwDyo9FJqKTcg9nYtv7/i27PU7vt6hpmbdm+HiVy+u/y9I\\\\\\n\",\n       \"DdI555yDP/74A926dcOVV16phtiW/Fcyb9SoUTVe7pEjR1S+K0teXl6qlRcRERGRK2MAi8hMdUYL\\\\\\n\",\n       \"rExo525w8/ZBSX6eTS23zINY8j55f1Wyj8cjZcNaBM58rtLgldXPSU7EF63aYNri0m5mJWmncfqa\\\\\\n\",\n       \"sTj6yw9oP3FyudcOfPYluKpCTcOS1AxcFxWG2HB/NFT+Xu6Ydm4s4vM3Y1/aPjRWe37Zg4A+Achr\\\\\\n\",\n       \"5oEXr9Rw4UYNk1aaIA2yotIrtiQPzQJm/OkGj8ta4p8O/zVCPvz8Yez5eQ/Gvzget/1xW71/D3It\\\\\\n\",\n       \"77zzDvLz89VjaS3l4eGBtWvX4vLLL8djjz1W4+XGxMRg27ZtaNWqVbn5kv+qU6dOtS43ERGRw9ij\\\\\\n\",\n       \"CyC7ELo8BrCIqhgtUA9m6fNtCWJF9B2A4e98hLQ9O8/akkony5WWVxK8kvdXJfPoEfWvZ8++5eZL\\\\\\n\",\n       \"N0E9eGXZeNbw7/5c/i6vy/f2hltoGNxbtUHmkUNobNakZ+PyyBC0jfDHdQNb4bP1DStRvZe7Efde\\\\\\n\",\n       \"6I8T2VuxaP8imLSz53xyRZqmISMhA5HDI0ufGwz4pb8B+5oDz31qgptW8bcgISuprRv+MGFjOwO0\\\\\\n\",\n       \"f0ek9Ovoh/T16Q74FuSKQkP/G9HVaDRixowZdlmu5L+aNm2aCo7J9v/PP//gyy+/xKxZs/DRRx/Z\\\\\\n\",\n       \"5TOIiIgcggEssgEDWERV5Kwyn1/dINbZAlGWbA12FWWX5lUx+AeUm//I/Heq7PVtMHvdE3eU5t4y\\\\\\n\",\n       \"+Pmj6N88LY1JRnEJXj6SjMfbRqFPy+AGF8CKDPKGn4cfFsYthNaIbzUV5xdDM2lw8/0vF5DwKoYK\\\\\\n\",\n       \"XlVGglhNsoBOCRr2tCr9ZcgyCrIL6rrI5MIyM20fxTIwsHQEzeq6+eab4ePjo1pxSS6ta6+9Vo1G\\\\\\n\",\n       \"KKMcXnPNNTVaJhEREVFDwQAWNXpnGy1Q1CSIVVfc9BEHCwsAH9+y+c1SU2x6v/nrtMJCuHnbNoKh\\\\\\n\",\n       \"qzlRUIQSTUOwrydGdQzH8n2n0BC4Gw0Y0yUSJ7KPNurglXDzLA1caUXl6yEk27b3m79OEra7e/GQ\\\\\\n\",\n       \"SDUnIwHKSINVkVZT8hp99MCamDRpkpokgJWdnY2IiIgaL4uIiMhpaIbSqbbLIJfGs3Vq1GwdLdCZ\\\\\\n\",\n       \"glheIaVdU0qSEmEMCimbf6JJhErYfjbyOqGVlMCUkgyvQYPRGEkrrOcPJeGx2Oa4bmBruLsZsWT3\\\\\\n\",\n       \"STgzDzcDbhraBn6BiZi36zM0dkY3Izz9PVGYUlhu/hkbU5uZv67wVCG8g7ztXEJqTFauXFmvn+fr\\\\\\n\",\n       \"66smIiIiV6BppVNtl0GujQEsarTqY7TAuhDWrQe8wyOQ99v38OjUtWz+C1PvUqMNCmv3HjSz14nC\\\\\\n\",\n       \"DX+jJC0V0eddiMYqLrcATx9MxFOxzXF1/5bYmZiBpPTSxMvO6KIeUSp4NXfXXBSUsLubaDOsDQ6t\\\\\\n\",\n       \"OYSICREwuJVu+XujDWq0wbAs678FyYGVFlD6OlGSV4LMfzLR66qKo7sR2Wr48OF1Ulky6uDZWnbp\\\\\\n\",\n       \"tmzZUidlICIiInIG/w3BRNTI6KMFCltHC5TXCVtGC6wrEjiLvWIi8pf9AtO/+bCEJGbf26qNemx5\\\\\\n\",\n       \"80F/Ln+X14m8H79CSJfuCO38XxCsMTqYW4Ck/EIV6Gjj5KMSNgvywY7UHQxemel8UWcUpRUha9t/\\\\\\n\",\n       \"vwVJzP7xedYPbxK8knUtf9cTuKevTVfdEDtdyFHcyD7mz5+Pr7/+usJ8mffJJ59Ua1kTJkzAJZdc\\\\\\n\",\n       \"oqYxY8bg0KFD8PLywogRI9Tk7e2t5snfiIiIGnwS99pO5NLYAosarboeLbAutb30Kuz+8F3k/fAV\\\\\\n\",\n       \"/CbdVDZ/2ozn8e7sR8tGIzQnwSv5uyg6GIeCf9aix9Mv1mu5ndVPKem4vWUEpg5pjcS0XBw5nQtn\\\\\\n\",\n       \"c3mfFogIzcTiHbscXRSnEt4uHOEdw5H6eyoCegaUtcLa0taAQvfShO7mpOWVBK/+6VAa4DIVmpC2\\\\\\n\",\n       \"LA2tBreCXxM/R3wFckEyKuAHH3xQYb7kq7r11lsxZcoUm5f15JNPlkvifs899+DZZ5+t8JqEhLN3\\\\\\n\",\n       \"ISciInJazIFFNmALLGrUJAhV3W6A8npHBq+ET0RTtJ80Bdnz/4eCtavK/U2CVBe+Ph9ru/RQrU1E\\\\\\n\",\n       \"clAIpj38nHpccioFGY9NR1D7jmg1drwDSu98VqdnY116NowGAwa0CYOzubJvC3SJCsQHOz5AekG6\\\\\\n\",\n       \"o4vjdPpP7Y+8Q3k48fkJlSRbdI7XyoJX21oDb15sxFPXGjHtTrey4JVWouH4B8dRnFaMPpP6OPIr\\\\\\n\",\n       \"kIuJj49HTExMhfmtWrVSf6spacE1efLkCvOvu+46fPvttzVeLhEREVFDwAAWUQPV496H0HzEaGQ8\\\\\\n\",\n       \"9SDylvxYduEupJvgo3fNwNYOpd0Dm2WcQUxSAoqPHMSZe26Ap8GA4W9/BDevxjkCoTX7svNU17Jz\\\\\\n\",\n       \"O4Sjib8nnEWgtzuGxDbBnH3P4UzBGUcXxym16N0Cw+4dhrQVaUicm6hGFOx74L/fw/JeRqzpYsSe\\\\\\n\",\n       \"Vv91G5S8V/FvxSNraxZGPzIaTWKbOPAbkKuRllY7duyoMH/79u0IC6t5kNzHxwdr1qypMF/mSVdC\\\\\\n\",\n       \"IiKihsqg2Wci18YuhEQNlNHNDUNefBMbn38CR158EnmLF8LnkivhPXIsDP/m9lrbvQ/6xJV2Oev9\\\\\\n\",\n       \"2nNYv2MLgtrEqq6Tvk0jHfwNnMuytCy09PHC6LBAPD+hKx7/YRdSssqPbucIPaKDkVtQwpZXZyH5\\\\\\n\",\n       \"q9y93bHy5ZXI2ZmDXi1aS7Y6FLkB22P+S4BdkFyAtJVpSF+dDoNmwAXPXYDoftF1vRqpkZk4caLq\\\\\\n\",\n       \"6hcQEIBzzjlHzVu1ahXuvfdeXHPNNTVe7vTp03HHHXeoZO39+/dX8zZs2IB58+bh8ccft1v5iYiI\\\\\\n\",\n       \"6p09clgxgOXyGMAiasCMHh7o/+QLiB41Bge++gwnXn0W2e+/DvfYDjD4+eO33Bzc/e9rR2RnYsND\\\\\\n\",\n       \"jyPm4svg7sOh162Zl5iqjnvnhQXikQs7Yfqi7XCkYe2aYHxvX8zb9bpDy9FQtBvZDk3aNkHOV7vQ\\\\\\n\",\n       \"9FhpB9p/ivIQ97809bg4oxh5R/PgFeiFruO7osvFXRDQNMDBpSZXJDmqjh49ilGjRsHdvfRUy2Qy\\\\\\n\",\n       \"qe5/L7zwQo2XO2PGDLRp0wZvvvkmPvvsMzWvU6dOKmn8VVddZbfyExERETkjBrCIGjgZXj1q2Ag1\\\\\\n\",\n       \"ZScm4PD33yA74RiKsrJQHBaKI6YixOTno6vRgF7nXYBsBq+q9FVyGkaFBcLf2wPe7kbkF+uZxOpX\\\\\\n\",\n       \"75bBKng1d9dcJGQxObOtQlqFYGyXaODYMfV8R5gXQrQQGIwGeEV4oflVzdFmeBu4e/LwR3XH09MT\\\\\\n\",\n       \"ixYtwnPPPYdt27aprn/dunVTObBqSwJVDFYREZHLYRJ3sgHP4IlciH/zaHSfdl+5eQmLPkXM4kXq\\\\\\n\",\n       \"cfstG7Fl9FgHla5hyCkxYX9OHjr6+WDWZd0w87udyC+q/yBWTLg/Np3cxOBVTepuR2rZY8/7B+OC\\\\\\n\",\n       \"EOZ6I8do166dmuytsLAQKSkpqlWXuZYtW9r9s4iIiOoFuxCSDZjEncjF7e/z34iJ7TdvcGhZGorn\\\\\\n\",\n       \"Dp3Avpx8hPh5qiCWt0f97io7RgZgQEwoDqYfrNfPdQX+ZwrQ9HiOenyyhR+yGbwiF3LgwAEMGzZM\\\\\\n\",\n       \"teiS1lwy0qFMrVu3tjrqIREREZErYQssIheX1CYWmSGhCDyThpgd2+CRn48ijlZVJWnT8OyhJLzS\\\\\\n\",\n       \"IRqRvp4qmLRq/3+teupS56hA3DC4Nb49PA/70vbVy2e6kphdp8seH+7BkQXJtdxwww0qp9bPP/+M\\\\\\n\",\n       \"Zs2aqS7kRERELoEtsMgGDGARuTqjEfv79EffZb/Do7gIbXZsQVz/wY4uVYM4hh7MzUczLw8Mbx+O\\\\\\n\",\n       \"1QdSYarjkU3kUnTqkNZYfPhj7EjdUbcf5qLabP8v0Hi4GwNY5Fokn9bmzZvRsWNHRxeFiIjIvhjA\\\\\\n\",\n       \"IhuwCyFRI7C/73/dCDts+sehZWlI5iem4kxRCdqE++PqftF1/nmRQd7wcDPiQPqBOv8sV+SZV4zo\\\\\\n\",\n       \"/enqcWaQJ1Kb+zm6SNQIFRcX45lnnsHx48ftvuzOnTsjNbV+WoMSERERORsGsIgagSNdeqDQ01M9\\\\\\n\",\n       \"brd5AwymEkcXqUHIN2n4IeWMetw2vG6DIc2CvHH3mDAsP/4jcopKczhR9bTcdwZu/zaTOyLdB9m9\\\\\\n\",\n       \"ihxAuvi9/PLLKpBlby+++CIeeugh/Pnnnzh9+jQyMzPLTURERA1+FMLaTuTSGMAiagRKPD1xqEdv\\\\\\n\",\n       \"9dgvOwst9sc5ukgNxsaMHBSYNLSNCKizVljNg31wz5gmWJO4Bsvil9XJZzQGbXaa5b/qFubQslDj\\\\\\n\",\n       \"NnLkSKxatcruyx09ejTWr1+PUaNGISIiAiEhIWoKDg5W/xIRETVUBs0+E7k25sByUtu3b8dPP/2E\\\\\\n\",\n       \"0NBQXHXVVWjS5L9cLnKXdfr06Zg3b55Dy0gNS1y/Qei0cX3ZaIQJHTs7ukgNwpniErx05AQeaxuF\\\\\\n\",\n       \"wW3DsGhjgl2X3yLEB3eOiMWq499j1XH7X/A2FoYSDa3/TeBe4OWG4+2CHV0kasQuuOACzJgxAzt3\\\\\\n\",\n       \"7kSfPn3g51e+BefFF19co+WuXLnSTiUkIiIiangYwHJCS5cuxUUXXYR27dohKysLTzzxBL7++muc\\\\\\n\",\n       \"e+656u95eXn45JNPGMCiajnYqy9MBiOMmgkdNm3A8klTWYM2SiwoQommIdDbA0Njw/D3wf9a+tTW\\\\\\n\",\n       \"eZ2bYtuZFQxe1VLU4Qz45JZ22TrWORQmdzYwppqbNWsWFi9ejH379sHHxweDBw9W3fc6dOhg0/vv\\\\\\n\",\n       \"vPNO9e9rr71W4W8ycmBJSc26cQ8fPhzO8h2JiIjsikncyQY8w3dCTz31FB588EHs2rULR48eVfku\\\\\\n\",\n       \"5G7t77//7uiiUQOWGxiE4x1KR65qknQcYUn2TzDsqjJVK6xk1a3+pqFtMLy9fUa3C/R2R3SoLxKz\\\\\\n\",\n       \"E+2yvMasXPfB7uw+SLUj3f+mTZumuuv98ccfKCoqwvnnn4+cHNvy05lMpkqn6gavduzYod6nP65q\\\\\\n\",\n       \"qs/vSERERFTf2ALLCe3evRuffvpp2Z1aCWC1aNECV1xxBRYuXIh+/fo5uojUQMX1GYCW+/aox+03\\\\\\n\",\n       \"/4N1US0cXaQGY1d2Hl44lIRH2kZhyuAYHEjJRlJ6fo2XF+TjgbtGxuJo3gZsTdlq17I2OpqGmO2l\\\\\\n\",\n       \"I7OZDMDRzqGOLhE1cJY3jD7++GOVc2rz5s0455xzqrWs/Px8eHt717gsPXv2RHJysvp8eSznBZqm\\\\\\n\",\n       \"1bpllz2/IxEREVF9YAssJ+Tl5YX09NKh4HXXXnstPvroI1x99dX47rvvHFY2atji+g4se9z+33xY\\\\\\n\",\n       \"ZLs9Ofk4nl+oBreLaVLzUQk93Ay4e2Qs4vM34Jv930BTbaappkJO5iLkdGkw8XhsEAr8PFiZZFcZ\\\\\\n\",\n       \"GRnqX8lLaQsJJD377LNo3rw5/P39cfjwYTX/8ccfx9y5c6v12UeOHEF4eHjZY1mW/Gs56Z9RX9+R\\\\\\n\",\n       \"iIjInmT8wFoncecqcXkMYDkhucNqLVHrNddco4JY99xzj0PKRQ1fWlRznIqMUo+j9++FT2bpBQvZ\\\\\\n\",\n       \"bmlqhjo43jgkBi1DfWrc+irUzxPfHviWwSs7aLvjv+6DR7rbp3tndSVtT8L2r7dX6z3yenkf1S8Z\\\\\\n\",\n       \"CMV8KigoqPL10n1PBk4ZMmQIunbtatNnPP/886pF00svvQRPT8+y+fJ+OY5XR6tWrVTrKv1xVVNN\\\\\\n\",\n       \"2fIdpZ4s646IiIioPjGA5YTuuOMOJCZaz4kzceJEdVLM5v1UUwf6lbbCMmoa2m3dxIqsphVpWVib\\\\\\n\",\n       \"ng2j0YBh7UtbRVSHp5sRV/eLxqFT2Qxe2UmMWf6rI13rP/+VBKF+e+w3rP9wPbYutK07qLxOXi/v\\\\\\n\",\n       \"YxCrfkVHRyMoKKhskmTmVZE8UZKTUrrw22rBggX48MMPMWnSJLi5uZXN79Gjh0qa7mxs+Y5ST+b1\\\\\\n\",\n       \"JvVIRERkN5Js1h4TuTQGsJzQpZdeitdff73S4bKlO6G0xiKqibi+A8oey2iEVIM6zM5XrbCGtg1D\\\\\\n\",\n       \"sK/t3dU83Y24bXgbuPsdw2dHnmbV24FvZiGaHS1tCZLazBcZ4TVrFVcbp/afQnF+6QiI/8z956xB\\\\\\n\",\n       \"LPm7vE7I++T9VH8SEhJUdzl9mjlzZqWvveuuu/Dzzz+r47HkorSV3ISKjY212tJJkqU7E1u/o9ST\\\\\\n\",\n       \"eb1JPRIREdl9FMLaTuTSGMByYmPHjsX//d//lTvZTU1NxUUXXYQZM2Y4tGzUcB1v3xE5AYHqcdvt\\\\\\n\",\n       \"W+BWWOjoIjU4f6Rl4u8z2fDxdMesS7sh1IYglpe7EbcPbwuDzxHM3zUfhSbWuz203n1a5TwQh7s5\\\\\\n\",\n       \"pvtgjyt7oP9N/cueVxXEMg9eCXmfvJ/qT2BgYLlJ8k5akiTpEtiRnJMrVqxATExMtT6jc+fOWL16\\\\\\n\",\n       \"dYX533zzDXr16gVnUN3vKPVkWXdERERE9YmjEDoxuRs6efJkNbz1F198oZK03nTTTWjfvj22bdvm\\\\\\n\",\n       \"6OJRA6UZ3XCgd3/0XLUMngX5iNm9Awd79XV0sRqc/yWkqC6Aw0IC8Pj4zrjvq6rzH107oCVMXgfx\\\\\\n\",\n       \"ye5PUGwqba1Dtddm+3/dBw93r//ug7pe15QGJfTglP6vPr+y4JX538m5utTJcfeHH35AQECAGgVQ\\\\\\n\",\n       \"SNc5H5+zt/J74oknMGXKFNUSS1pdLV68GHFxcaprobR2coXvSEREZFf2aEHFFlgujy2wnNjgwYNV\\\\\\n\",\n       \"oEoSqvbu3Vt1LbzvvvuwatWqWiVrJYrr+19rkfabOBphTX2cmAoTgAAfD5XbqjKSf7l5sA/WJq1l\\\\\\n\",\n       \"8MqO3AtL0DLujHqc7e+Bky0D4EgSjKqsJRaDVw3Le++9p7rJjRgxAs2aNSubFi1aZNP7L7nkEvz0\\\\\\n\",\n       \"009YtmwZ/Pz8VEBr7969at55551Xq7LJKMWSCF669KWlpal5W7ZsqTR3Zl19RyIiInuq9QiE/07k\\\\\\n\",\n       \"2tgCy8nt378fmzZtUnkpkpKS1B3c3NxcdUJcl9599128/PLL6o6sJJ19++230b//fxdm1LAd7t4L\\\\\\n\",\n       \"Re7u8CguRvtNG/DrTXcCRsazqyvPpOFQbj7a+Xrj2Uu64JHvdqFE0yoEryb2b6luCB3LPGbHtUjR\\\\\\n\",\n       \"cWfgUSQhROCotL4yOj5xp7WWWNsWbUNh9n9dRtnyyvlJ97raGjZsmGpBbU87duzA6NGjVSupo0eP\\\\\\n\",\n       \"4pZbbkFoaKhq4RUfH69aeNXndyQiIiKqT7xidWKzZ8/GoEGD1N1aGR3on3/+wdatW9G9e3esW7eu\\\\\\n\",\n       \"zj5X7r7ef//9ePLJJ9VdXQlgjRkzBikpKXX2mVS/irx9cKRrT/U4MP0Mmh05xFVQQ88cTEKuyYTw\\\\\\n\",\n       \"QG9EBnmX+5vEU64b0Aqtw3wxJ+4Z5Bbnsp7tqI3Z6IOHuzmu++DZWmIxeEX2IsfmG264AQcOHIC3\\\\\\n\",\n       \"93/7mwsvvBB//fUXK5qIiBouJnEnGzCA5cTefPNNfP/996r1k5yoSldCCWJddtllqsl/XXnttdfU\\\\\\n\",\n       \"Xd2pU6eqRLTvv/8+fH19MW/evDr7TKp/+/sNLHvcYTNHI6ypEhmFrqBYBauu6R+tRicUbgYDrh/U\\\\\\n\",\n       \"GtGR6Sp4lVWYZYe1RmVMGmL+DWAVeRgR3yHEqSpHglie/p7l5slz5rxyXSEhIao1lC1TTW3cuBG3\\\\\\n\",\n       \"3XZbhfnNmzcvy2FFRETUIDGARTZgF0IntnPnTjRpUn5ULQ8PD9W1b/z48XXymYWFhdi8eXO5YcWN\\\\\\n\",\n       \"RqPqslBZq6+CggI16TIzS4e0J+e2v3e/ssftN67Hn1dd59DyNEReRgP6Bfnh7/QsRHmHomvzILx2\\\\\\n\",\n       \"VQ/kFZng4WZAWvFRfLhzDnKKchxdVJcTeSwLflmlI7TGdwpBiacbnInkvDJveSXkucxnEMs1vfHG\\\\\\n\",\n       \"G2WPT58+jeeee061XpaW1EKOoUuWLMHjjz9e48+QkQCtHWMl3UB4eHiNl0tERETUEDCA5cQsg1fm\\\\\\n\",\n       \"hg8fXiefmZqaipKSEjRt2rTcfHm+b98+q++ZNWsWnn766TopD9Wd7NAwJLZth+aHDiAy/iiCUk4i\\\\\\n\",\n       \"I6L8eifr/N2MiPD0wGVNQxCVm4nc3GzEH05HcHCwaoUR9O8AXoW5/jAa2NC1LrTZmeqU3QetJWyX\\\\\\n\",\n       \"lld6MMva6ITkGmTUQd3ll1+OZ555BnfddVfZvHvuuQfvvPOOSuwuA7LUxMUXX6yW+9VXX6nnBoNB\\\\\\n\",\n       \"5b56+OGH1WcSERE1VPZIws4k7q6PV1ZUa9JaS0Yy0qeEhATWagOxv8+AssftN/93wU3Wd5YyRXl5\\\\\\n\",\n       \"4KXmwXigiS8CU5KwcuVK1bJi/fr1+P3331UyZZkkH02EVwSm954OD6MHq9TOYraXBrDkPOdoF+cJ\\\\\\n\",\n       \"YFkbbXDqd1MrHZ2QXJO0tBo7dmyF+TJPAlg19eqrryI7OxsRERHIy8tTN7NiY2MREBCA559/vpal\\\\\\n\",\n       \"JiIiciDNYJ+JXBpbYFGFVl9ubm44efJkufnyPDIystIuDTJRwxPXdwDO/eoz9bj9pvXYeMFFji6S\\\\\\n\",\n       \"U7okIhhjmgSVPT+8Yzv27t1r9bV6d1oZ0l4SLbdu1xohXiFIyeMgCPYSdCoPTU7mqcdJrQOQG1g+\\\\\\n\",\n       \"15QzBa/0llbWRic0n0+uJSwsDD/88AMeeOCBcvNlnvytpmT0QRnZcM2aNdi+fbsKZvXu3Vt18yci\\\\\\n\",\n       \"IiJydQxgUTmenp7o06cPli9fjgkTJqh5JpNJPTfvCkGuIaVla5xpEo6Q1FNovWcXvHJzUODr5+hi\\\\\\n\",\n       \"OQVPgwHXRYWhhbcnvI1GrFnyO/Lz89XvQXLF2UJaSBSaCjGlyxQcSj+E7w99D5NmqvOyN6bRB4/0\\\\\\n\",\n       \"qLyrtbMEr3QMYjUe0q3+5ptvxp9//okBA0pbum7YsEG10pwzZ06Nl7tgwQJcffXVGDJkiJp0sk9a\\\\\\n\",\n       \"uHAhJk+ebJfyExEROSyJe22XQS6NXQjJ6jDdcoL9ySefqFYmd9xxB3JyctSohORiDIay0QjdTCWI\\\\\\n\",\n       \"3boJjVl7X29MahampvtbR6JDbgYS16/Bpl9+RHp6ugpg2Rq8EjIqmGc+kLPlEHpqbXFrt1txSdtL\\\\\\n\",\n       \"EOARUKffw9XFOFn+q+1fbz9r8Eon8y27E8r7ybXccMMNqpVUYGBgWbdiefz333+rv9WUHIelq76l\\\\\\n\",\n       \"rKwsHqOJiMglcmDVdiLXxhZYVIHc3T116hSeeOIJdQHes2dPddfYMrE7uU4erAG//aQet9+0AbuH\\\\\\n\",\n       \"1M0AAc6sm78PIr08cGF4MFLi9qKoqAgFJSVYc+iQGtSgpiTotXHbdvTtPxir5r2H5p26oHNkFGK7\\\\\\n\",\n       \"34q/k/7G0YyjOJlbvrsuVc0rpwjND5VewKeH++BMU1+HV1l4+3C4e7ujOL+4yuCVtZZY8j55P7ke\\\\\\n\",\n       \"aXn1+eef23WZmqapxO2Wjh8/rroXEhEREbkyBrDIKukuyC6DjcOxTl2R5+MLn7xcxG7bBGNxMUzu\\\\\\n\",\n       \"rr1r8DYa1CiColegL8b6uCEtLQ27/96BEydO2PWzkpKSYDQaVSDs0KYNqtVbh4FDMTqiL4I7XISP\\\\\\n\",\n       \"479EekG66lqYnJMMjW2fq9R6TxqMJrPWV1Yu5utbVI8oXPDcBTi1/xR6XNnDpvdIEMvoZlTBK3k/\\\\\\n\",\n       \"uR75zX///fdl+fK6dOmiRhGUPJPV1atXLxW4kmnUqFFwN9tHy+ccOXLEatJ4IiKiBoNdCMkGrn2V\\\\\\n\",\n       \"SkRnJcGqg737oduaVfDJzUXLfbtxtKttF+ENUYi7G6a3jkTT4oKyfFarVv2tuuDUC01D3LrV6mF0\\\\\\n\",\n       \"5264fuAVMBiMcPPwwMbs7fgq7isGsarQZsd/+a8OdXd890GdBKGqG4iyNdhFDc/Bgwcxbtw41TKq\\\\\\n\",\n       \"Q4cOat6sWbMQHR2NX375BW3btq3W8vSclNu2bcOYMWPg7+9fLndl69atcfnll9v5WxAREdUje3QB\\\\\\n\",\n       \"ZBdCl8cAFhFhf5/+KoCldyN0xQCW5Le6NTocvm5G/H0mC/8s/cXRRULCnp1qEl6+fmg/eQJmDZuF\\\\\\n\",\n       \"41nHMW/XPOQW5zq6iE7FrciEVntKA1h5Pu44EcMuU+Sc7rnnHrRp0wbr1q1DaGiomnf69Glcd911\\\\\\n\",\n       \"6m8SxKqOJ598Uv0rgSrp5u/t7V0n5SYiIiJyZgxgEREO9uyDEqObSuTeYeM6LJ1yi1N0zaoN6aRz\\\\\\n\",\n       \"ZWQoWvp4qufNvDxxcOMGlddNkrE7m4LcHOz6cCG8/fzQcchwTO8zHZkFmao11prENdh2ahsau+YH\\\\\\n\",\n       \"0+FVUNp/8EjXUGhuDXsbJde1atUqrF+/vix4JcLCwjB79uxyowdW15QpU+xUQiIiIifDLoRkAwaw\\\\\\n\",\n       \"iAgFfv441qkL2uzegZDUU4hIOIaUlq0bZM0EuBlxfpMgRHt7ws/NiFObNqjEx4m5uSqpujPTTCXI\\\\\\n\",\n       \"y8rEtiW/IHxfaxjd3ODh7YPrhl6J9iHtcSLnBP5O/LvRdjFss/O/7oNHujdxaFmIquLl5WW1W3J2\\\\\\n\",\n       \"drbq8ldTku/q9ddfx1dffYX4+PgKo6JKLj8iIqIGiQEssgEDWESk7O83UAWw9G6EDSmA1c7XC008\\\\\\n\",\n       \"PSDtcUaHBcL7VDLSEtOw59ChChd4DYGmmZBy9HDZ86zUU2jaJhY92p2D5v7NcTD9oJp/KP0QzhSc\\\\\\n\",\n       \"QaOgaYj5N/9VsZsBxzqFOLpERJUaP348br31VsydOxf9+/dX8zZs2IDbb79dJXKvqaeffhofffQR\\\\\\n\",\n       \"HnjgATz22GN49NFHcfToUZUsXkYOJiIiInJlRkcXgIicQ1yfAWWP229cD2fmbgCivDzUNDI0AA82\\\\\\n\",\n       \"DcTFWh4u0vJQcDAOa9euVSN/NcTglTXpJ0+oxO/rv12IVqcDMMZtAC70GooZHe5F26C2iPSNRBMf\\\\\\n\",\n       \"126R1CQxB4HpBerx8Q7BKPLm/RdyXm+99ZZK1D5o0CCVr0om6ToYGxuLN998s8bL/fzzzzFnzhwV\\\\\\n\",\n       \"wJKRCCdOnKgCWhK8ki6LREREDZUkcLfHRK6NVwBEpGRENEVydCtEJhxDi8MH4J92GtmhzjPKm87X\\\\\\n\",\n       \"aMQ9rZqijaFEjSJYXFyMNWvWqATJri4/Jxtbfvux7Hls34G4rdcNKl2Z0d0Dy1P/wq9HfoUrarsj\\\\\\n\",\n       \"tezx4W6uHayjhi84OBg//PCDGo1QgumiU6dOKoBVG5LDr1u3buqxjESYkZFR1uLr8ccft0PJiYiI\\\\\\n\",\n       \"iJwXA1hEVK4boQSwRPstG7Fl9FinqZ0WXh64s2VTBLq7YWd2Ln787SeV26oxO7hpvZqEb1Awelx3\\\\\\n\",\n       \"GYY2H6q6Fi7YswBFpiK4ihizANaRrs4XWCWyRgJWtQ1amWvRogVOnDiBli1bqhZeS5cuRe/evbFx\\\\\\n\",\n       \"40aVd4uIiIjIlTGARURl9vcZgHMWL1KP229a7/AA1vjwYHT0Kx0uPtLLA0k7t2Pb8ePIyclxaLmc\\\\\\n\",\n       \"UW5GOrZ++Cm8/fzRdcR5uK/PfcgqzFJBvhUJK7D/zH40VP5nCtD0eOk6P9nCD9khvFAn53b55Zer\\\\\\n\",\n       \"3FcPP/xwufkvvfSSCjZ9/fXXNVrupZdeiuXLl2PAgAG4++67cd1116k8W5LQ/b777rNT6YmIiByA\\\\\\n\",\n       \"SdzJBgxgEVGZpDaxyAwOQWD6GcTs3AaP/HwUeZcGkOqLl9GA88OC0MLbE1HeHkjcWDqK4Kn8fKSm\\\\\\n\",\n       \"/tcKhyoqKSpCTvoZbPxpMSJax8BgMMInMBDXD7sem1M2o8RUgtziXPyZ8CdKtJIGU4Uxu/7rHnq4\\\\\\n\",\n       \"B7sPkvP766+/8NRTT1WYf8EFF+DVV1+t8XJnz55d9vjqq69Gq1atVM6/du3a4aKLLqrxcomIiBzN\\\\\\n\",\n       \"HjmsmAPL9TGARUT/MRqxv+8A9F32OzyKi9Fm51bE9RtU5zXU0ttTtbAS54QEICIzDanH4rH98GHk\\\\\\n\",\n       \"5eU16DUkwTfJ1RXcNBKnjh2pl880lRQj+dCBsueZp1IQ/e+okk2iO6JV51bYdmqbep6YnYiTuSfh\\\\\\n\",\n       \"zNpsZ/4raliys7Ph6elZYb6HhwcyMzNrFRgbPHiwSuAuBg4cqCbJBSh/O+ecc2pVbiIiIiJnxlEI\\\\\\n\",\n       \"iagcCWDpOmzcUKe108TDHf2D/HB/60hcbixUk0/iMaxevRq7d+9u8MErPYC1efNm9LrocviHhDqk\\\\\\n\",\n       \"DKkJx7BvzSo1rV+8CGEngHGeQzHeexj+r+M96BzaGRE+EWokQwMMcCaeecWIPpCuHmcGeSK1uZ+j\\\\\\n\",\n       \"i0R0VpJofdGi0u7Y5hYuXIjOnTvXuAbPPfdcpKWlVZgvydzlb0RERC7RjbCmE7k8tsAionKOdOmB\\\\\\n\",\n       \"Qk9PeBYWot3mDTCYSqAZ3exeS5dGBGNcoDeKioqw+e+/VGJiV5WQkID27dvDNzgE2WcqXnzWp+LC\\\\\\n\",\n       \"Amxb8kvZ8xadumDqsIkwGI0wGN2wKWs7FsUtgkkzwRm03HcGbiWlZyRHpPugDLlI5ORkRMDLLrsM\\\\\\n\",\n       \"hw4dwsiRI9U8yV315Zdf1jj/lR4QN1j5DcgorH5+DO4SEVEDxhxYZAMGsIionBJPTxzq0RudNq6H\\\\\\n\",\n       \"X3YWWuyPQ0LHmrcY0IV5uOPOlhEI9XBXbXxyS0xYuuRXJmR3sON7d6tJePr4ot3kS/DM4GdUACuv\\\\\\n\",\n       \"OE+NZijdDJ1h9MHD3Tj6IDUMko/q+++/xwsvvIBvvvkGPj4+6N69O5YtW4bhw4dXe3kSDBMSvLrh\\\\\\n\",\n       \"hhvKjThYUlKCHTt2qK6FRERERK6MASwiqkDyXkkAS7TfvKFWAaxOft44v0kQorw8kHFwP9YfOqTm\\\\\\n\",\n       \"5+fnq7wt5DwK83Kx96Ov4BMYpJ43jWmLW4begqScJPX8WMYxLD22FFo9tdE2lGiI2VXaYq3Ay4jj\\\\\\n\",\n       \"7YLr5XOJ7GHcuHFqsoegoKCyFlgBAQEqIKaTXFuSB+uWW26xy2cRERE5ApO4ky0YwCKiCg726guT\\\\\\n\",\n       \"wQijZkKHjeuxfNJUm2tJOhuObhIIPzc3uBsMGBzsj2Pbt2J/ZiaSk5NZ207OVFKCnH+7OR4+k4aM\\\\\\n\",\n       \"k8nw8vdXLT/O6TcIkZ0jcSrvlApibUzeiNS8uhsZMupwBnzySoOcxzqHweTOtI3UsBQWFiIlJUUN\\\\\\n\",\n       \"5GCuZcuW1VrO/Pnz1b+tW7fGgw8+yO6CRETketiFkGzAABYRVZAbGISE9h3RKm4PmpxIRFjScZyO\\\\\\n\",\n       \"alFlTfm7GdHBzxsDgvwRW5CN1FOlwaodO5Jx8qRzj3JHlTudmPDf44R4tO7ZB8FuQfDy9UOf7n3w\\\\\\n\",\n       \"29HfUGwqVt0N95/Zb9eqbLPzdNnjw93ZfZAajgMHDuDGG2/E2rVrreawkm5/NfHQQw+pZeiOHTuG\\\\\\n\",\n       \"7777TiWGP//882tdbiIiIiJnxgAWEVU6GqEEsET7zf9gnZUAVpC7GzwMBvi4GXFzi3AEZqUj63Qy\\\\\\n\",\n       \"/tqyRSVnJ9eSn5OtRjLUxfTqi3Fth6nH/sGhWBW8AetPlHY9zSzMRJGpFtuApiFme2nrLpMBONrZ\\\\\\n\",\n       \"MSM4EtWE5Klyd3fHzz//jGbNmllNvF4Tl1xyicqHdfvttyM9PR39+/dXXQhTU1Px2muv4Y477uAK\\\\\\n\",\n       \"IyKiBslRXQjfffddvPzyy6qnSI8ePfD222+r4+vZyMjCEydOVMdmyXtJ9YMBLCKyKq7vQJz3eWm3\\\\\\n\",\n       \"lfYb12PdRaVJhHUjQwNwbahfWWuAI4cPYNn27azNRuTI1k1qEr5BwRh08eUY2a00oFWQm4NXDr2L\\\\\\n\",\n       \"tPyajboYcjIXIafz1ePjsUEo8POwY8mJ6ta2bduwefNmdOzY0a7L3bJlC15//XX1WJLDR0ZGYuvW\\\\\\n\",\n       \"rfj222/xxBNPMIBFREQNlwO6EC5atAj3338/3n//fQwYMABvvPEGxowZg7i4OERERFT6vqNHj6ou\\\\\\n\",\n       \"/cOGlZ73Uv1hAIuIrEqLao5TkVEIT05C9P698MnMQGFgECZFhaF7gK96zcplS1UrAKLcjHSs+nRu\\\\\\n\",\n       \"WUV0GjoCD/R9QLXCknxZqxJW4c/jf9pcUW13/Nd98Ej3JqxgalCkS5+0irK33NxclcRdLF26VLXG\\\\\\n\",\n       \"MhqNKom7dCckIiIi20nrZRkEZerU0ny/Esj65ZdfMG/ePMyYMcPqeyQNwKRJk/D0009j9erVvBaq\\\\\\n\",\n       \"ZwxgEVGlDvQbiPCfFsOoabj56D4ETpig5m9dtlRdSEmCYiJr9v79J+J3bYfRzQ2ePr4YdulYdArr\\\\\\n\",\n       \"hKKSIuSX5OOHQz8gqzCr0sqL2fHfxf+Rrsx/RQ3Liy++qPJVvfDCC+jWrRs8PMq3IAwMDKzRcmNj\\\\\\n\",\n       \"Y1U3hUsvvRRLlizBfffdp+ZLoviaLpOIiKgxtsCS6xhpLT1z5syyeXJTaPTo0Vi3bl2l73vmmWdU\\\\\\n\",\n       \"66ybbrpJBbCofjGARURW9QjwQcR5o4CfFqvnoSuW4VTraCQlJTG/FdkkJ/1M2eO8TxYhtHm0ehzV\\\\\\n\",\n       \"sjVu7347dqbuVM+PZx3HrtO7yl7rm1mIZkdLg1upkb7ICPdhjVODIie/YtSoUXZN4i7dBK+99loV\\\\\\n\",\n       \"uJJlDxo0qKw1Vq9evexQciIiooafAyszM7PcfC8vLzWZk5bScjxu2rRpufnyfN++fVaX//fff2Pu\\\\\\n\",\n       \"3LkqVQA5BgNYRFRG0gx39vdBS29P/H979wFedXn+f/xzsncCBAIJYW+QPQQRByiKl3VLnagt/Wud\\\\\\n\",\n       \"RW21WrG1re2vah21rtZxuatW68SBArI3ChI2JJBNyN7nnP/1PCExYQaScNb7dV1f8j3fM/I9zwk5\\\\\\n\",\n       \"J/dz3/dzVmKcCkoT5Y6LlaO4RLUrVyr9tElyh/BrA8euvLjIbsbujRvUa+RoDYjtINPbenK/U/RF\\\\\\n\",\n       \"dBdllWXZcsOQZfPtz6KxnfLBgPfNyDyFRYe1eByqy05cxug333zTJo976aWXauLEicrKyrKNZuuZ\\\\\\n\",\n       \"YJbJysKx+TzT9/8AmZo83NOnAABeJzW1btK03uzZs/Xggw+26DFLSkp0zTXX6IUXXlBiIu0tPIW/\\\\\\n\",\n       \"RIEAFx7kUFRQkA0knN8xQeNC3CotLdWauctVUFCg7j16KvG77xRcU6PYnTtV3KePp08ZPs+t7atX\\\\\\n\",\n       \"NFzK2Lhe4yeerqC4kxQSHqHcnT9elzkixUPnCBy/0047rc2GzzRuN1tjzVktCQCAQCkhzMjIaFJa\\\\\\n\",\n       \"f2D2lWGCUMHBwcrJyWly3Fw+8H3W2LZtm23efv755zccc7lc9qtZedg0fu/du3cLnwCOhgAWEMC6\\\\\\n\",\n       \"hofqtu6d1cFday8XFRVp7vxFqqysW/3NHuvX1wawjITNmwlgodUV5WRryXtv2f0gl0v9l9ZlRTja\\\\\\n\",\n       \"tdNtFz2qN9Lf1arcVYw8fIrpi/Hcc89p+/bteuedd5SSkqJXX31VPXv2tFlUAACgbQJYJnh1tN6Q\\\\\\n\",\n       \"YWFhGjVqlObOnasL9/f5NQEpc/mWW2456PZmZeHvv69rf1Hv/vvvt5lZTzzxxEFZX2gbBLCAADQ2\\\\\\n\",\n       \"PloXJbVTdHCQPsotVNi8zw972+JeveQMDlaw06m4TZulc8+VTdcC2kDUnmw5amrsfkFigrI/+q8u\\\\\\n\",\n       \"uOQCTes1zR7LLM3UaxtfU5WzivGH13rvvfdsmYFZpWj16tWqqqpqmCQwjd0//fRTT58iAAABb9as\\\\\\n\",\n       \"WZoxY4ZGjx5ts5kff/xxlZWVNaxKeO2119oJqIcfflgREREaMmRIkzFLSEiwXw88jrZDAAsIECbk\\\\\\n\",\n       \"NK1jvHpFhqtXVITSliyyy76GlZYe8X6usDCV9OihhG3bFF5WpqisLJUnJ5+w80Zgic3Y07Bfkpqi\\\\\\n\",\n       \"0t3pWv7CywqPjrY/xf3HT9RtI25TfkW+7Ze1LGuZNhZs9Og5Awf64x//aJfiNh9833qrLrvQOOWU\\\\\\n\",\n       \"U+x1AACg7Zq4N9f06dOVl5dnF0nJzs7W8OHDNWfOnIbG7unp6XZlQngPAliAH+sYFmKzrRxyKDk8\\\\\\n\",\n       \"VCkRYcpbu0orCgpsJkBzFfXvZwNYRvzmLQSw0DbcbsVkZNpdV3Cwyrp0svtV5WV2M1Z98oG69B2g\\\\\\n\",\n       \"4JBghYZH6sqJV2pZ9jKbkVXtrNaizEWqddWVxAKeYvpgTJo06aDj8fHxduIAAAC0XQnhsTDlgocq\\\\\\n\",\n       \"GTTmzZt3xPu+/PLLx/4N0SIEsAA/ZIJVXcJDdVnn9qrN3G3LV8wysd9v3qyKiopjfryivn0lfWb3\\\\\\n\",\n       \"E7ZsVtbpbdeg2F+ZmvrYDonK3VEXCMTBIvMLFFpZV2pVmpx0yBUvXU6n9qRtaLhcmJOlfv0G2P34\\\\\\n\",\n       \"Tp3Vb3A/LdyzUBklGSqtOXJ2IdBWTPPXrVu3qkePHgctv92rVy8GHgAA4DgQwAL8SExwkAbGROqq\\\\\\n\",\n       \"Lh3kKshXxvfrtHnz5hY/bk1srMqSuyg6M0tRObkKKyxU9f6abzTPd999p1NOmaiyfQXK3raFYTtK\\\\\\n\",\n       \"+WBpavPKVPfuTrebERwaqqFnTtWViRcouEuontr5LxvEcrqcKq8tZ8xxwsycOVO33367XnzxRTkc\\\\\\n\",\n       \"DmVmZmrJkiW666679Lvf/Y5XAgAALyghhO8hgAX4iYuT2um8uAibabXs2/m2jrs1FfbtZwNYRvyW\\\\\\n\",\n       \"LcobM6ZVH9/f7d2719bRmywhAliHFp1eF8Aynz1Kuh57nzVnTY3WfP6x3R9wymn69YhfNVz3UeYc\\\\\\n\",\n       \"fZ3x9XG+esCxueeee2zW5eTJk1VeXm7LCc0S3iaAdeuttzKcAAB4SQkhfAsBLMBHJYaG6BepHRUb\\\\\\n\",\n       \"EizTWrDW7dbnn39mV85oC4X9+yll/ny7H79pMwEstKrQ4lJFFpXY/fLEDnJGRrTo8dIWzVfa4gV2\\\\\\n\",\n       \"P7Z9B51y5cUanzzeNn4vrCzUqxtfVUl13fcDWpvJurrvvvt0991321LC0tJSDRo0SDExMQw2AADA\\\\\\n\",\n       \"cSKABfiYgdERmtQ+Vj0jw1W0ZZN+2L3bHi8pKVFNTU2bfd/Kjh1VGReniOJixZoVOSor5YpoWZAB\\\\\\n\",\n       \"qBe7u655u1HarZVWuXTXTcOV7M3X6n+9pqj4eHu52+BhumX4Lcosrfue6/eu16qcVbwYaHVhYWE2\\\\\\n\",\n       \"cAUAAI6CDCw0AwEswEeMiY+2zdnPaB+n3eu/0/biYu3Z82PPoDbncKiof39FrFihIJdL8du2ad/g\\\\\\n\",\n       \"wSfu+yNg+l+VpKa0+uNXV5TbzSjMzlZyxgCFhocrOCRUPx1zobrGdFVuea5d0dDldrX69wcAAMDh\\\\\\n\",\n       \"OfZvLdHS+8P7EcACvFR0cJC6R4TZfdOY3QSwyndu13frVysnJ8cj51TUr6+SVqyw+wmbtxDAQqsI\\\\\\n\",\n       \"qqpSVE6+3a+KjVF1fGwbj6xbmZs3NlzK352uPkNHaEzyYPWM76mVOSvtcRPQKqwqbONzAQAAANAc\\\\\\n\",\n       \"BLAALxPmcKh9aIh+2a2TEspLbFP22tpyrfx8ge2j4kkl3bqpNjxcIVVVitu6VXI6peBgj54TfF/M\\\\\\n\",\n       \"nmw59pf72dUHHSd2/qw4L0ffzZ2jsMhIDTtrmgYkXmR7GEVER+vpbf+2gSzTO6uituKEnhcAAEDA\\\\\\n\",\n       \"oIQQzUAAC/AiA6IjNCspTsHBwdq2bYs+X7dOXiU4WMV9+qj9hg02iBWbnqGSnj08fVbwcbH7Vx9s\\\\\\n\",\n       \"q/LB5qquqNCKD99ruNxj2CjdNvEmG8wyFuxdog+2fmCDWQAAAGg9Dnfd1tLHgH8jgAV4gSkd4nRa\\\\\\n\",\n       \"+1jFBQdrzbIl2r17t12C3RsV9utrA1hG/JbNBLDQMk6novdk292asFCVd+rgNSO6c90q7fp+bUM2\\\\\\n\",\n       \"Vr+rLtC94+5Vdmm23kh7Q5XOSk+fIgAAABAwCGABHhAfEqwLOiUoLChIEUEOdYsI1+bF39qVBD1d\\\\\\n\",\n       \"Jng0xb17yxUUVNfIPW2Tdp911gkv+YL/iM7OU0htrd0v65osBQXJm7hdTptvVV5cpPX/fluxiYnq\\\\\\n\",\n       \"PXKsbh5+s7LL6gJvq3NXa2PBjz21AAAAcKwfuvZvLUEGlt8jgAWcQF0jwjQwOkIT2sUoOHO39u7d\\\\\\n\",\n       \"a4+vzMpSWVmZT7wWzogIlXRLVfzOXYooLlZEXp4qO3Xy9GnBR8VmZDbsl5j+V16strpK+zL3aFX2\\\\\\n\",\n       \"/9R14BBFh4YqJDRMV0y4Qksyl6i8tlw1rhqtyF5hvwIAAOAYEIDCURDAAk5Q4KpLeKiu6NJeZRnp\\\\\\n\",\n       \"Kty4S2lpaT479kX9+9sAlpGwebOyCWDheLjdit1dF8AyWX1lKZ19YhzdLpcyNnzXcLkga4+GDDrJ\\\\\\n\",\n       \"7se276AhQ4bo6/SvlVWWpbIa3whMAwAAAN6OABbQBkxBnSkNNCYkxGp6QoQqKiq0afky7dpVF/jx\\\\\\n\",\n       \"ZUV9+0qff2H3400Aa+JET58SfFD4vkKFlpXb/fIuneQKDZUv2rs73W5GcEiohp11rm5I/qkcQUF6\\\\\\n\",\n       \"YvvzKqwqlMvtUrWr2tOnCgAA4JVo4o7mIIAFtLKY4CDd1j1JvYPrLldXV2vBggXat2+f34x1dUKC\\\\\\n\",\n       \"yjt1UlRurmIysxRaUqKa2FhPnxZ8TGx6o/JB0//KDzhra7T6sw/tfv8Jk/SbkbMarvsk6wt9lf6V\\\\\\n\",\n       \"B88OAADAS9EDC81AAAtoJT0iw3Rllw5qFxqitNIK/TB3jtxut5xOp/3qb4r69bUBLCN+yxbljxzp\\\\\\n\",\n       \"6VOCj4lJ3+Mz/a+Ox6bFC7R1xRK7imFUXIJO/ukFGpk0UhnFGXpn8zuqddc1rwcAAABwdASwgONk\\\\\\n\",\n       \"CgTPSYy3va2MQTGRyvx+nb7Pz1dBQYFfBq0aK+zXT10WLmooIySAhWMRUlauqH2Fdr+8XYJqo6P8\\\\\\n\",\n       \"cgCdNXXN3Ivzc7X2xTcU076D+p88UTcNv0n55flyy62lWUu1s3inp08VAADAYyghRHMQwAKOUWSQ\\\\\\n\",\n       \"Q+MSYtQnKkKpEWEq3N/MeWNxsbKzswNmPMu7dFFVdLTCy8oUu2Ongqqr5QoL8/RpwQdXHyztnqJA\\\\\\n\",\n       \"UFVeZrdl/3tXqYOGKC44WGGRUbph9A2alzFP2WXZ+qHgB0+fJgAAwIlHCSGagQAW0EzxIcFKCgvV\\\\\\n\",\n       \"xUntlFiyT8W5e/Xdhg2qrKwMzDF0OFTcv586rl6jYKdTsTt22NUJgeaIaRTA8sfywSNx1lRr57rV\\\\\\n\",\n       \"DZcLc7I0uk9/JXY7Q1/GLNDWwq32uFnFsNIZoL9fAAAAgAMQwAKOINRRt5KgKRO8tXuSIstKlJeZ\\\\\\n\",\n       \"rnmrVvl9iWBzywhNAMtI2LSZABaaJaimRtHZdf3TqqMiVdUuIaBHLnvrZrvFJnbUqWdN0xldxyko\\\\\\n\",\n       \"OFi5YSV6cf2LKq4utqsYAgAA+CtKCNEcBLCAw7g0qZ3OjYtouLz+u7XavHkz49VISY8eqg0NVUhN\\\\\\n\",\n       \"jW3kLpdLCgpijHBE0XuyFWR+Vkz5YGqKzeaDVJKfp2/ffKVuKBwODZ08VbOH/1a11VX6x7Z/aVfx\\\\\\n\",\n       \"LoYJAAD4J0oI0QwEsIBGIoIcujY5USkRYTJhmK+++sKWCJpsq5r9zZjxI3dIiEp69VK7TZsUWlGh\\\\\\n\",\n       \"6D17VJaayhCh2f2vSroFVvlgs7nd+u6rOdr47Twl9xugn5/5c+2r2mev2la4TR9u+9A2gAcAAAAC\\\\\\n\",\n       \"BQEsQFJSWIjOSoxX94gwFdc6tWvxt9q3b5+qq6sZn2aUEZoAlpGweQsBLByZy6Xo3XUBrNqQEJUl\\\\\\n\",\n       \"dWTEjqCmqlK7vl+rfVmZCouKUlBQkEafcpo6D+1sm75/uetLldeWM4YAAMC3kYGFZiCAhYA1IjZK\\\\\\n\",\n       \"8aHBNtNqamK8ynZuV1FRkXZu3y7X/vImHF1xn95yOxxyuN2K27RJeyafybDhsKJy8xVaXZfNWJbS\\\\\\n\",\n       \"WQoOZrSa8/8sv65nmFGYk62uA4docEpX9Rz6Cy3PXm6P55TlaFvRNsYTAAD4HHpgoTkIYCGgBDuk\\\\\\n\",\n       \"bhFhGhkXrTHx0arN3G2PZ67brq1b61b+wrGpjY5WSUqK4nbvVlRBgcL37lVVhw4MI5pRPpjCKB2H\\\\\\n\",\n       \"6opybV+9XDvWrlT/kydqUruT7PHEPufpv1mf2F5ZmaWZlBgCAADArxDAQkAwLaLDgxz6f6mdNNDh\\\\\\n\",\n       \"VHl5uZbOma+ysjJPn5pfKO7fzwaw6ssIc8YTwMIhuN2KSd9Tt+twqNRkYOG4uV0upS1e0HC5Q0qq\\\\\\n\",\n       \"zjvzbIV3jtbi4lX6YNsH+4fddMuiXxYAAPBilBCiGQhgocHOnTv10EMP6euvv1Z2draSk5N19dVX\\\\\\n\",\n       \"67777lNYWJjPjlRiaIhu756kZIdLeXl5+nTxYjmdTk+flt/1weo692u7b8oIc8af7OlTghcKKypR\\\\\\n\",\n       \"eGld0LisU6Jc4eGePiW/sndPhua9+m9FxMRq3EWX69Sxf7HHK8tK9fftzyq3/McyRAAAAG9i2pGY\\\\\\n\",\n       \"raWPAf9GAAsN0tLSbO+n5557Tn369NH69es1c+ZMm6X0yCOP+NRIndUhzpYIGu1DQ7S4sFRrvp2r\\\\\\n\",\n       \"qqoqT5+aXzIlg+Xt2ymqYJ9i9+xRcHm5nFFRnj4teJnYjLrsK6OU8sE2U1laogWvv6SwiEh7uduQ\\\\\\n\",\n       \"Yfrlyb9UQWWBvk7/Wuv3rm+7bw4AAAC0EQJYaHDOOefYrV6vXr20adMmPfPMMz4RwApxSNM6JqhL\\\\\\n\",\n       \"eKh6RYZr+7Ilqq2t1Z7aWlXl53v69Pxecf/+ilqy1M58xG/ZqoJhQz19SvAy9eWDRknXZI+eSyCU\\\\\\n\",\n       \"F1aV12W7bVm+WPkZuxTbIVHTJ0/XoPxBcrqddvXCr3Z9pRpXXVN9NLVgwQL97W9/06pVq5SVlaX3\\\\\\n\",\n       \"339fF154od8Mk78/PwCAj6GEEM1AAAtHZFbla9++/RFvY7KaGmc2FRcXn7BRTTHBqqi6MqThsVGK\\\\\\n\",\n       \"Dg5W7ZaNWp2RodLS0hN2HpAK+/ZT5yVL7VAkbNlMAAtNBFdUKiq/wO5XxMeqJi6GETqB9mXtsVvJ\\\\\\n\",\n       \"3nwlpna3xzp2G6DuQ7prTd4abSrYpMKqQl6TRkz28bBhw3TDDTfo4osv9rux8ffnBwDwLaxCiOYg\\\\\\n\",\n       \"gIXDMqvyPfXUU0fNvnr44Yf1+9///oSOZKewEHWNCNPVyR1UlZVpSx+rsgu0bt06m3WFE6+sa4pq\\\\\\n\",\n       \"IiMVWlGh2G3b5aitlTuEXzGoE7s70y6mYJR268qweDiQZWxfvUIDTz1dU9uP1+Rhk/X2pre1t3Iv\\\\\\n\",\n       \"gaz9zj33XLv5K39/fgAAwP8EefoE0PbuueceORyOI26m/1Vje/bsseWEl112me2DdST33nuvzdSq\\\\\\n\",\n       \"3zIyMtr0+UzpEKc/pXbQz+LDtWXZUi1cuFCLFy+2ZRAErzwoKEhFffva3ZCaGsXu3OnJs4GXiUnP\\\\\\n\",\n       \"bNgvTaV80Bs4a2u0/psvteS9N1W0Mk2/6H6Nfjfk1xrYfqCnTw0AAARqCWFLN/g10iMCwJ133qnr\\\\\\n\",\n       \"rrvuiLcx/a7qZWZm6owzztCECRP0/PPPH/Xxw8PD7daWgiVdl5KoUfHRKnO69M2Xn9tgGbxLUb++\\\\\\n\",\n       \"SvzuO7ufsHmLivv08fQpwQuYbLzorGy7XxMRrorEI5cl48TbvGyR3ZJ69dHVP7lawUHmt660ce9G\\\\\\n\",\n       \"vb7xddW6/Sez9cAy9xPxHuYPPNkuAADg/yghRHMQwAoAHTt2tFtzmMwrE7waNWqUXnrpJQUFeS5J\\\\\\n\",\n       \"r2dkmC5Jaq9gh0NRwUGqdLk0/5OPVVFRIafT6bHzwuEV9+olZ3Cwgp1OxW3aJJ17juSoLxxDoIrO\\\\\\n\",\n       \"ylWw0/Vj9hU/E14rZ/tW7X3mOYWEhikoOFgpl03WrNGztLdir97b8p5flBempqY2uTx79mw9+OCD\\\\\\n\",\n       \"HjsfX+GJdgEAAACNEcBCk+DV6aefru7du9u+V3l5eQ3Xde7c+YSN1Ki4KPWLjtDouGhlbfheBUVF\\\\\\n\",\n       \"Mq2fc3NzKRH0cq6wMJX06KGEbdsUXlamqKwslSdTLhboYjMarT6YmuLRc8HR1VZV2c3Y/sqHtul7\\\\\\n\",\n       \"px69dePQG5W2r67cPKM4Q6tyV/nkcJoy97i4uIbLZF81j2kXMGvWrCYZWAcGAwEAOG6sQohmIICF\\\\\\n\",\n       \"Bl9++aVt3G62rl2bNll2u9uuoDgyKEjDYiNtLy7TnH1Su1jlpv2gtPUFtpwRvqWofz8bwDLiN28h\\\\\\n\",\n       \"gBXo3G5FZ9T9PzbZeWVdOnn6jHAMnDU1NivLbN1yh6lrbJzNoJsw+AJ1iemijJIMfZ//vVzuugw7\\\\\\n\",\n       \"X2CCV40DWGgeSi0BAG2JEkI0BwEsNDB9so7WK6s1RQcHqUNoiF1JMLG0SFVVlXJVuLRm9VLt27eP\\\\\\n\",\n       \"V8ZH1TVy/8zuJ2zZrKzTT/P0KcGDIvMLFFZZl81T1iWJlSl9WPr6dQ37mZs26qTxEzU+cZiGdRym\\\\\\n\",\n       \"L3d9acsMq13V8helpaV2Qqfejh07tHbtWrVv317dunWTr/P35wcAAPwPASx4RLeIMN3WPUkxVRXK\\\\\\n\",\n       \"2pOur1etatMsL5w4NbGxKuvSRdFZWYrKyVVYYaGqExKO6TFWrFihjz76SDk5ObZs1JSwmuXeJ06c\\\\\\n\",\n       \"2GbnjbYvHyztdnA56ZcrVmv+6nXKyKkrWe6V0kVXnn2m+lJq6NVK9uZp5cfvKzQ8QqOmXaBZ/W5W\\\\\\n\",\n       \"TnChnv/ueRVX+0dz75UrV9qekPXqy+dmzJihl19+Wb7O358fAMDHUEKIZiCAhRPq5IRoTe/cQWFB\\\\\\n\",\n       \"Dr2fs0/h8z7nFfBDhf362QCWEb9li/LGjDmm+8fExOgnP/mJunTpopCQEJsV8MILL9iyn6FDh7bR\\\\\\n\",\n       \"WaMtRKfvafhMUtL14ADWhu07NXHYEPXvlqqwkBB9sGCRHnrpNf399pvUIZ4yL29XU1Wppe+/bcsK\\\\\\n\",\n       \"46+YqHvH3mvLCc326Y5PtSRriXyV6QnpzxMr/v78AAC+WUYIHAkBLLSpyCCHruzSQe1CQ+zCY13C\\\\\\n\",\n       \"Q7X+2/kqLCxUeGUlo++nCvv3U8r8+XY/ftMm7Ro82C6/HhERYTfT78xYvny53n//fZtpZfqrmAUE\\\\\\n\",\n       \"7rjjDg0cOLDJ402dOlXffvutFi9erN27d2vatGnNPpdPP/1UPXv2POgx0TacTpfKKivldLnUrqZW\\\\\\n\",\n       \"kUUl9nhOdKRuf/5lZe8tUFhoqHomd9ZvrpmuO6Zf3OT+N158vpZu2Kjvt+3Q6SOH8TL5CrdbRW98\\\\\\n\",\n       \"qyWx6+z/76j4BE29aJpGJo1UenG6PtnxiafPEAAAAD6OABbazAWdEjS8cycV1TpVsmaFPZZRVKSS\\\\\\n\",\n       \"kro/aOG/Kjt2VGl0lGLKyhW1Y6fuvOkmlbrqmjxHRUVp0qRJGj16tP75z39q+vTpdr+yslKbNm06\\\\\\n\",\n       \"6LFMhsAPP/xgV8k0Tf0XLVokp9Op888//6jnYcoQ//Of/ygsLEx33XUXQaw2DFqt2rRFny9doe+2\\\\\\n\",\n       \"brfZVsY17dppUKcku//mrnSdMW6Uxg0eoIqqKm3cmW5iHgeprqmxjxcTFdlWp4s2VFFSVz5YXlyk\\\\\\n\",\n       \"8lfeVHynJI0ZM16dh3TW/K11QW0AAICDmA+GLc0MJrPY7xHAQpsZVLxXlYV5St+yRa79wQv4v+3b\\\\\\n\",\n       \"t+u1117TpUVFuqZde4U6HLrrzMna1DFR1dXVNgi1YMECzZkzx97eLMPesWPHhv165eXluu2222wP\\\\\\n\",\n       \"rKCgII0cOdJmbBkmKGUcKYhVH7wyzPc1DYrJwmpdJrj41YrVevfrBdpbXKJuHRJ0wYjBio+MUFCQ\\\\\\n\",\n       \"Q5cWlEnOug8ic0tKlJqVrbPHjlKndgnq3rkusHWg1+bMVbu4WA3t3auVzxYnWnlRod327k5Xj2Gj\\\\\\n\",\n       \"NCQ9lhcBAAAcEqsQojkIYKHNrF69WpGRZFEE2mv+j3/8Q4mJiXKOHGWWtbLHxzkccvfrZ/eHDBmi\\\\\\n\",\n       \"M888U+vXr7flfX/96181YMAATZgwQWPHjlV0dLS9nSk1/NOf/mQzszZs2KD//e9/tmfLvHnzjhrE\\\\\\n\",\n       \"ahy8Mi6//PJjKjvE0blcbr38yef6dMlyjeyWrKvHDlVq+x+b9YfWOtU9r9TuF4cGqzA0WNvXfKeV\\\\\\n\",\n       \"aZt16RmTdMaoYYo54PfD+/MXatF36/Xgz2coLJS3J39RXVGhzUsXqnz/apQAAADA8Qg6rnsBwAFM\\\\\\n\",\n       \"md+TTz6pPn366Prrr1fUmNGqDg2113XJypKjURaeacw+fPhw/epXv7IrDG7ZskWffPKJ7r77buXm\\\\\\n\",\n       \"5tb9cgoKUlJSku2LZYJPY8aM0d69e20wqp4JUplg1dGCV80pN8Sxef2LufpsyXJdPHKIrjx5RJPg\\\\\\n\",\n       \"ldGxpLzhDSY/IUb3TjtDl48equrqGr35xde67dGnlVOwr+H2//t2sd6fv0j3X3+1enQ5dHYWAAAA\\\\\\n\",\n       \"/HwVwpZu8GsEsAC0WFlZmZ544gkbbLrkkksUGhoqd1CQsrp0sdeH1dSoY17eQfczGXom2GUCVabM\\\\\\n\",\n       \"zwS2Vq1addhytZqaGhuMOlwQi+DVibFi4yb9b8FinT98kCb06X7I23QqKmvYz4mLto29x/ZK1c1n\\\\\\n\",\n       \"jrevZVVNjZb/kGavNysPvvf1t7r/uqvU5xArFQIAAMC/OVyts8G/UaMBoMUWLlxoVxm86KKLFBwc\\\\\\n\",\n       \"3HB8T0qKuqen2/0BG9PklkP5HRNtcMusJmj6UvXu3VuTJ0/Wq6++arOukpOT9eGHH9qVA01gywSt\\\\\\n\",\n       \"1q1bZ5u3X3fddfax6jOq6jOtzNePP/7Y9s2qR+ZV2/l44VL1TGyvSf16Hnyl260OJRXqVFwXwKoO\\\\\\n\",\n       \"cmhdZYW2pO9Rv86JigkP1+CUJK1Nz1T7uDibdfX2V/PsaoQd2yVoX0ld2WFEWJgiw8Pa8FkAAAAA\\\\\\n\",\n       \"8CUEsAC0vJH3V1/ZBukxMTFNrgtyOW0mr8OUEWZn2608MlKrR45UXkS4du3apaVLl9rgl8m+at++\\\\\\n\",\n       \"vYYNG6bNmzfrlVdeUUFBgV1BsEuXLrrxxht18sknNzz2gUEsglcnRkZOnjbs2KWrTh5x0HVJhaUa\\\\\\n\",\n       \"lJmvyBpnw7Egt9SvxqnP8wu0YMsOVdXU2ibvJiOroLhYXyxbqVqnU4+88U6Tx7rszEmaPuX0E/Kc\\\\\\n\",\n       \"AAAA4GGtUQJICaHfI4AFoMW9r7Kzs3XOOec0OZ6SsVvjltWtGthYZEWFTlm0SDrlFHW8+uqG46ZR\\\\\\n\",\n       \"+7vvvmszsy677DK7HY0JYh2YeRUVFUXPqzb0xfJViokI10kpnQ8KXo3clXPQ7YPdbp2RW6z4oYOU\\\\\\n\",\n       \"k/BjgPP1pWv0+dKV+ufdt9lgFgAAAAIXqxCiOQhgAWiR7du32xUDu3Xr1nDMNGwfuXp13f4Bt3fs\\\\\\n\",\n       \"nxwZu3y5NhUWSvuDFwNcLnXs0EEdv/lGXbr3aNb3fnPt2ibBK8NcnvfkU7pi+HCve2UdW7ZI5aVK\\\\\\n\",\n       \"zNglXzUqO08TUpI1IK/wx4Nut3rmFx3x9TaZWTnx0Q2v9+DkJK1ZukZllZUHrUYIAAAAAAcigAWg\\\\\\n\",\n       \"xQ3cTTP2xlk0iXn5iqqoOOx9HPsbu5+0YUOT48MSO0q70uu2o3hh7179O//HxvBxQUEq3r/S4b9X\\\\\\n\",\n       \"LFfcjh2a2aGDvFEn+a4rw8LrdnJ+XEHwaMzrbcoK25dVqiCmLlgVtb+/VVkFASwAAICA53bbSdEW\\\\\\n\",\n       \"aen94fVYhRBAy36JBAXZPliNRVYePnjVGkzw6u+Ngle/SuyopX372a/1zPXmdvAe4TW1Dfv1PzPm\\\\\\n\",\n       \"5wcAAACBrb6EsKUb/BsZWABaxDRuN1lYTqezYQXCiojmlYStHTpURQkJdr+6usr2wJo2bZoGDRp0\\\\\\n\",\n       \"2Pu8u3ChXt2U1nD5msmTdfrEidoiybT8zjfXz53bEMTKHzZUl06c6BWvcq9evaXiAu3Z2DTzzJe8\\\\\\n\",\n       \"8tmXCnU5NXlg74ZjsRVVGpB99IysqtAf33KKKirtV8oHAQAAADQHASwALXLSSSfpzTff1KZNmxoC\\\\\\n\",\n       \"T/kdE+1qg6Zh+6Hac5vJkfKoSG0e0F/u/Rk4y5cv16KKCl126qkqbtfukN/ro48+0n/2B6eMyy+/\\\\\\n\",\n       \"XGeff76KG93m7D59VNWhQ8PqhCaYZS7Xr1roUaYvV362SksK5KtcvXvozW++Vd8RAxUZFmqP5cVG\\\\\\n\",\n       \"qfveYkXUOA/7eleGBqsgOqLh2Jr0TPVLTVHk/lJCAAAABDBWIUQzULsBoEVSU1PVr18/rVixouGY\\\\\\n\",\n       \"CUqtHjmybv+A29dfXjNiZEPwypSTrVy5UqNGjVK7wwSvPv3004agVH3w6nBBKXPcXF/P3M/cHy03\\\\\\n\",\n       \"ZfQIuczrtXP3jwcdDv2QnFj3Wh5w+/rL9vr9fdJyi0u1JSdf55w8hpcEAAAAlBCiWQhgAWixKVOm\\\\\\n\",\n       \"aOfOncrJyWk4tie1qxadcooqDlhhzmRemePm+sYrGebl5dnHOZyePXsqLCzsqMGrQwWxzP3M/dFy\\\\\\n\",\n       \"7eJiNXbwAC3eli7n/qb5Rk5CjFZ3T7KZVo2Zy+a4ub7ewq07FRsVqZOHHL5UFAAAAAAao4QQQIuN\\\\\\n\",\n       \"GTNGnTt3tplOP/vZzxQVFWWPmyBVZkqyXZXQNHY3vbFMeWF95pVRWFioDz74QH369NHAgQMP+z3M\\\\\\n\",\n       \"dXfddZd27Nhh+2Q1hwlimb5cJnh1pMfGsbng1Am6b0Oa3ln5vaaPGdqwAqUJUuXER9vVBk3DdtPz\\\\\\n\",\n       \"ypYNNlqhcm16phZv3aWrpk5WWKOeWAAAAAhgrEKIZiADC0CLhYSE6O6771ZNTY1eeeUVFRUVNVxn\\\\\\n\",\n       \"glV5SZ2U3r27/do4eGWyrsztIyIidMcddzQEQg7HBKGaG7yqZ25P8Kp19emarJsvvcCWEb6z8rsm\\\\\\n\",\n       \"mVgmWFUQE6msdrH2a+Pglbn9G8vW6tThJ+nCSRNa+awAAADgq1iFEM3B9DeAVtGpUyfdf//9+tvf\\\\\\n\",\n       \"/qbnnntOI0aM0OjRow/Z0yo3N9f2vFq3bp29n8msio+P55XwIZOGn2Rnyp5+70PtKijSKb27a2T3\\\\\\n\",\n       \"FEUckFXlcrmVlp1rSw7TsnI1efQIzbxg2lGDlQAAAADQGAEsAK0mOTlZDz74oD755BPNnz9fS5Ys\\\\\\n\",\n       \"Ua9evdSxY0fbh6qqqkrZ2dnatWuX4uLidM455+i8885rKDmEb5k0Yqi6JHbQ+/MX6v01G/TJd2ka\\\\\\n\",\n       \"nJKk+MgIBTscKq+uUVp2ngrKytWzS2fdetmFNvBF8AoAAABNsAohmoEAFoBWZTKprrzySl1yySVa\\\\\\n\",\n       \"tmyZFi5caBu8V1ZWKjIyUomJibr55pttdpYpPYRv65uaol9fPV17i4r11YrVWpW2WbuL8+V0uhQd\\\\\\n\",\n       \"GaGh/ftq6rjRtuyQwBUAAACOVELYEi29P7wffz0CaBPh4eGaNGmS3eD/OsTHafqU0+0GAAAAAK2N\\\\\\n\",\n       \"ABYAAAAAAPAcl7tua+ljwK8RwAIAAAAAAJ5DDyw0w4/r2QMA0AIbtu/Uh98uOab7mNub+wEAAADA\\\\\\n\",\n       \"kZCBBQBoMROE+vMrb6qqpkZOl1MXnTbxqPcxqxe+/vnXCg8N1W9nXKHBvXrwSgAAAAQgRys0YTeP\\\\\\n\",\n       \"Af9GBhYAoMW27cmywSvDBKVMcKo5wSvD3M/cHwAAAAHK7W6dDX6NABYAoMV+cup4XTX1zIbLRwpi\\\\\\n\",\n       \"NQ5eGeZ+5v4AAAAAcDgEsAAArcKUDR4tiHWo4FVzyg0BAADgv0z5YGtsx+rpp59Wjx49FBERoXHj\\\\\\n\",\n       \"xmn58uWHve0LL7ygU089Ve3atbPblClTjnh7tD4CWACAExLEIngFAACAI65C2NLtGLz99tuaNWuW\\\\\\n\",\n       \"Zs+erdWrV2vYsGGaOnWqcnNzD3n7efPm6YorrtA333yjJUuWKDU1VWeffbb27NnDi3qCEMACALR5\\\\\\n\",\n       \"EGvGH/6PzCsAAAB4jccee0wzZ87U9ddfr0GDBunZZ59VVFSUXnzxxUPe/vXXX9cvf/lLDR8+XAMG\\\\\\n\",\n       \"DNC//vUvuVwuzZ0794Sfe6AigAUAaPMgVlllZcM+ZYMAAABozOF2t8pmFBcXN9mqqqoOGuzq6mqt\\\\\\n\",\n       \"WrXKlgHWCwoKspdNdlVzlJeXq6amRu3bt+fFPEFCTtQ3AgAEXhDrg/mLmwSvoiMi6HmFY1K+52rV\\\\\\n\",\n       \"Rsa0eNSqK0olvcTot7L3N3+vuFjfnA+dmjzc06cAAKjn2r+1xP77m9K+xkyJ4IMPPtjkWH5+vpxO\\\\\\n\",\n       \"p5KSkpocN5fT0tKa9e1+85vfKDk5uUkQDG2LABYAoE2YnleNg1eGuWyO07gdAAAAbSEjI0NxcXEN\\\\\\n\",\n       \"l8PDw1v9e/zlL3/RW2+9ZftimQbwODEIYAEAWt2BDdtN5lV9MKv+OEEsAAAAGI1LAI9X/f1N8Kpx\\\\\\n\",\n       \"AOtQEhMTFRwcrJycnCbHzeXOnTsf8b6PPPKIDWB99dVXGjp0KC/gCeSbOd8AAK91qNUGX3ng14dd\\\\\\n\",\n       \"nRAAAAAB7gSvQhgWFqZRo0Y1acBe35B9/Pjxh73f//3f/+mhhx7SnDlzNHr06JY+axwjMrAAAG0a\\\\\\n\",\n       \"vKrPtKr/Wn89mVgAAADwlFmzZmnGjBk2EDV27Fg9/vjjKisrs6sSGtdee61SUlL08MMP28t//etf\\\\\\n\",\n       \"9cADD+iNN95Qjx49lJ2dbY/HxMTYDW2PABYAoM2DV/UIYgEAAOAgpvyvhSWEx3r/6dOnKy8vzwal\\\\\\n\",\n       \"TDBq+PDhNrOqvrF7enq6XZmw3jPPPGNXL7z00kuP2iQebYMAFgCgxT78dslRg1dHCmIFBwXrJ6ce\\\\\\n\",\n       \"Pl0bAAAA/svhrtta+hjH6pZbbrHboZgG7Y3t3LnzeE8NrYQeWACAFuud0kXhoaFHDV7VM9fX98Qy\\\\\\n\",\n       \"9zP3BwAAAIDDIQMLANBig3v10G9nXKFte7KanUllglgm88oEr8z9AQAAEKA8UEII30MACwDQKkwQ\\\\\\n\",\n       \"6lgDUZQNAgAAwOGS3VqipfeH96OEEAAAAAAAAF6NDCwAAAAAAOA5lBCiGQhgAQAAAAAAzzHtq1ra\\\\\\n\",\n       \"wooWWH6PEkIAAAAAAAB4NTKwAAAAAACAxzjcbru19DHg3whgAQAAAAAAz6EHFpqBEkIAAAAAAAB4\\\\\\n\",\n       \"NQJYAHACBAcHq127dnLW1jDeAAAAQGOm+s/Vwo0KQr9HCSEAnACjRo2SSou0Y+0qxhsAAABohB5Y\\\\\\n\",\n       \"aA4ysADgBIiNjdX2NSvlrCEDCwAAAACOFQEsHFJVVZWGDx8uh8OhtWvXMkoAAAAAgLbhbtTI/bg3\\\\\\n\",\n       \"Xhx/RwALh/TrX/9aycnJjA4AAAAAoG21OHi1f4NfI4CFg3z22Wf64osv9MgjjzA6AAAAAADA42ji\\\\\\n\",\n       \"jiZycnI0c+ZMffDBB4qKimp2uaHZ6hUXFzOqAAAAAIDmMasIOlrhMeDXyMBCA7fbreuuu0433nij\\\\\\n\",\n       \"Ro8e3eyRefjhhxUfH9+wpaamMqoAAAAAgGNahbClG/wbAawAcM8999hm7Efa0tLS9NRTT6mkpET3\\\\\\n\",\n       \"3nvvMT2+uX1RUVHDlpGR0WbPBQAAAAAABB5KCAPAnXfeaTOrjqRXr176+uuvtWTJEoWHhze5zmRj\\\\\\n\",\n       \"XXXVVXrllVcOeV9z+wPvAwAAAABAs7RGE3YysPweAawA0LFjR7sdzZNPPqk//vGPDZczMzM1depU\\\\\\n\",\n       \"vf322xo3blwbnyUAAAAAICARwEIzEMBCg27dujUZjZiYGPu1d+/e6tq1KyMFAAAAAAA8ggAWAAAA\\\\\\n\",\n       \"AADwHDKw0AwEsHBYPXr0sCsTAgAAAADQZlxmKcJWeAz4NVYhBAAAAAAAgFcjAwsAAAAAAHiMw+22\\\\\\n\",\n       \"W0sfA/6NABYAAAAAAPAcemChGSghBAAAOISnn37a9oOMiIjQuHHjtHz5cr8bp0B4jgAAwD8QwAIA\\\\\\n\",\n       \"ADjA22+/rVmzZmn27NlavXq1hg0bpqlTpyo3N9dvxioQniMAwEe43K2zwa8RwAIAADjAY489ppkz\\\\\\n\",\n       \"Z+r666/XoEGD9OyzzyoqKkovvvii34xVIDxHAICPlRC2dINfI4AFAADQSHV1tVatWqUpU6b8+IEp\\\\\\n\",\n       \"KMheXrJkiV+MVSA8RwAA4F9o4g4AAAJGcXFxk8vh4eF2ayw/P19Op1NJSUlNjpvLaWlp8gfH+hyr\\\\\\n\",\n       \"qqrsdrhxBACgZVojg4oMLH9HBhYAAAgYqampio+Pb9gefvhhT5+STzDj1HjczDgCANBqKCFEM5CB\\\\\\n\",\n       \"BQBtLCEhQdHR0aquqGCsAQ/LyMhQXFxcw+UDs6+MxMREBQcHKycnp8lxc7lz587yB8f6HO+9917b\\\\\\n\",\n       \"8L1xBhZBLAAAcCKRgQUAbcjhcGjixInatmSBCrMzGWvAw0zwqvF2qABWWFiYRo0apblz5zYcc7lc\\\\\\n\",\n       \"9vL48ePlD471OZpxOnDsAABoNaxCiGYgAwsA2jiAZf5QzPhhPeMM+BCTbTRjxgyNHj1aY8eO1eOP\\\\\\n\",\n       \"P66ysjK7Yp+/CITnCADwEW5X3dbSx4BfI4AFAABwgOnTpysvL08PPPCAsrOzNXz4cM2ZM+egpue+\\\\\\n\",\n       \"LBCeIwAA8B8EsAAAAA7hlltusZs/C4TnCADwoSbuLX0M+DUCWAAAAAAAwLM9sORuhceAP6OJOwAA\\\\\\n\",\n       \"AAAAALwaGVgAAAAAAMBzKCFEMxDAAgAAAAAAnmMrCFvaA6u1TgbeihJCAAAAAAAAeDUysAAAAAAA\\\\\\n\",\n       \"gOdQQohmIIAFAAAAAAA8x+Uy/7TCY8CfUUIIAAAAAAAAr0YGFgAAAAAA8BxKCNEMBLAAAAAAAIDn\\\\\\n\",\n       \"EMBCM1BCCAAAAAAAAK9GBhYAAAAAAPAcl9ukYbXCY8CfEcACAAAAAAAe43a77NbSx4B/o4QQAAAA\\\\\\n\",\n       \"AAAAXo0MLAAAAAAA4Nkm7i0tATSPAb9GAAsA2lBoaCjjCwAAABw1+EQAC0dGCSEAtJGQkBCdNnqk\\\\\\n\",\n       \"cjZvVE1lBeMMAAAAAMf79xUjBwBto127dgqLjNLC/7zGEAMAAACH43JJjhY2YaeJu98jgAUAbchZ\\\\\\n\",\n       \"WyO3eUMGAAAAcGiUEKIZKCEEAAAAAACAVyMDCwAAAAAAeIypWHC3sITQTQmh3yOABQAAAAAAPIcS\\\\\\n\",\n       \"QjQDJYQAAAAAAADwamRgAQAAAAAAz3G5JYe7FbK44M8IYAEAAAAAAM+xwacWrtxNAMvvUUIIAAAA\\\\\\n\",\n       \"AAAAr0YGFgAAAAAA8Bi3yy13C0sI3WRg+T0ysAAAAAAAgOe4Xa2zHaOnn35aPXr0UEREhMaNG6fl\\\\\\n\",\n       \"y5cf8fbvvPOOBgwYYG9/0kkn6dNPP23Bk8axIoAFAAAAAAACyttvv61Zs2Zp9uzZWr16tYYNG6ap\\\\\\n\",\n       \"U6cqNzf3kLdfvHixrrjiCv3sZz/TmjVrdOGFF9pt/fr1J/zcAxUBLAAAAAAA4NkSwlbYjsVjjz2m\\\\\\n\",\n       \"mTNn6vrrr9egQYP07LPPKioqSi+++OIhb//EE0/onHPO0d13362BAwfqoYce0siRI/WPf/yjlUYB\\\\\\n\",\n       \"R0MACwAAAAAABEwJYXV1tVatWqUpU6Y0HAsKCrKXlyxZcsj7mOONb2+YjK3D3R6tjybuaHX1zfMq\\\\\\n\",\n       \"KioYXQS0/Px8bVyxTOWVVZ4+FcDjKqqqjqvBak1FWat8/9Z6HKjJ61hc2sIlzz2o1l3j6VMAAJ9W\\\\\\n\",\n       \"q5pWa55uH8vdOudTXFzc5Hh4eLjdDvyc7nQ6lZSU1OS4uZyWlnbIx8/Ozj7k7c1xnBgEsNDq9u7d\\\\\\n\",\n       \"a7/efvvtjC4A4KD3iPj4+KOOSlhYmDp37qz/3v2TVhtB83jmcdFyJSUl9mv3kTt9eDi3e/oEAMBv\\\\\\n\",\n       \"3hOa895+pPf7hdmt0ww9JiZGqampTY6ZHlcPPvhgqzw+PIsAFlpd+/bt7df09PTj/kXm60zU3/zi\\\\\\n\",\n       \"zMjIUFxcnAIRY8AY8HPA/4fGioqK1K1bt4b3iKMxq/vs2LHDpvi3FvMh2TwuWi45Odm+x8XGxsrh\\\\\\n\",\n       \"cLT6kPrDe4ivPwfO3/N4DRh/b//5MZlXJnhl3hOOV2u/35tzOvB96cDsKyMxMVHBwcHKyclpctxc\\\\\\n\",\n       \"NgG1QzHHj+X2aH0EsNDqTO2wYYJXvviBrTWZ588YMAb8HPB/gd8JB79HNPdDLQEn730du3bt2ubf\\\\\\n\",\n       \"xx9+f/r6c+D8PY/XgPH35p+f1khY8MT7vZnUGjVqlObOnWtXEjRcLpe9fMsttxzyPuPHj7fX33HH\\\\\\n\",\n       \"HQ3HvvzyS3scJwYBLAAAAAAAEFBmzZqlGTNmaPTo0Ro7dqwef/xxlZWV2VUJjWuvvVYpKSl6+OGH\\\\\\n\",\n       \"G1rknHbaaXr00Ud13nnn6a233tLKlSv1/PPPe/iZBA4CWAAAAAAAIKBMnz5deXl5euCBB2wj9uHD\\\\\\n\",\n       \"h2vOnDkNjdpNS5zGmeMTJkzQG2+8ofvvv1+//e1v1bdvX33wwQcaMmSIB59FYCGAhVZnaoxNo7xD\\\\\\n\",\n       \"1RoHCsaAMeDngP8L/E7g9yIC+33U158D5+95vAaMfyD//JwoplzwcCWD8+bNO+jYZZddZjd4hsPd\\\\\\n\",\n       \"GmteAgAAAAAAAG2k+Z1UAQAAAAAAAA8ggAUAAAAAAACvRgALAAAAAAAAXo0AFtrcJ598onHjxiky\\\\\\n\",\n       \"MlLt2rXThRdeGJCjXlVVZVe2cDgcWrt2rQLFzp079bOf/Uw9e/a0PwO9e/e2DSWrq6vl755++mn1\\\\\\n\",\n       \"6NFDERER9v/A8uXLFSjMcsNjxoxRbGysOnXqZP/fb9q0SYHsL3/5i/3/f8cddyiQ7NmzR1dffbU6\\\\\\n\",\n       \"dOhgfwecdNJJdslpAAAA4FgQwEKbeu+993TNNdfo+uuv17p167Ro0SJdeeWVATnqv/71r5WcnKxA\\\\\\n\",\n       \"k5aWJpfLpeeee04bNmzQ3//+dz377LN26Vl/9vbbb2vWrFk2WLd69WoNGzZMU6dOVW5urgLB/Pnz\\\\\\n\",\n       \"dfPNN2vp0qX68ssvVVNTo7PPPltlZWUKRCtWrLD/B4YOHapAsm/fPp1yyikKDQ3VZ599ph9++EGP\\\\\\n\",\n       \"PvqoncwA/HUCYMGCBTr//PPte74JWpsl1n2Jr09APPPMM/Z3bVxcnN3Gjx9vf//4Kl+c/HjwwQft\\\\\\n\",\n       \"OTfeBgwYIF/iy5Mv5nfngeNvNvO5DPB1IZ4+Afiv2tpa3X777frb3/5mM3DqDRo0SIHGfHD64osv\\\\\\n\",\n       \"bEDPlz9EHY9zzjnHbvV69eplPwibD5iPPPKI/NVjjz2mmTNn2uCtYYJ2JhvxxRdf1D333CN/N2fO\\\\\\n\",\n       \"nCaXX375ZfuH0KpVqzRp0iQFktLSUl111VV64YUX9Mc//lGB5K9//atSU1P10ksvNRwz2ZhAcyYA\\\\\\n\",\n       \"zO9NE7x6/PHH7QSAee8wv0e8nQnUm0mLG264QRdffLF8dQLCBLHMZzkz4WQmIEwAOjo6Wt6ua9eu\\\\\\n\",\n       \"NujTt29fmcXWX3nlFV1wwQVas2aNBg8eLF/iy5MfZqy/+uqrhsshISE+N/lyxhln2M/tHTt21JYt\\\\\\n\",\n       \"W3xm8sX83DidzobL69ev11lnnaXLLrvMo+cFtAYysNBmTNaJmb0ICgrSiBEj1KVLF5177rn2l2gg\\\\\\n\",\n       \"ycnJsYGMV199VVFRUZ4+Ha9QVFSk9u3by1+Z8kgTqJkyZUrDMfP/wFxesmSJAvU1N/z5dT8c84fg\\\\\\n\",\n       \"eeed1+TnIVB8+OGHGj16tP3QbAIP5r3ABPKA5k4AmEkvE8gy759mAsAXmM86Jlh90UUXyVcnIK67\\\\\\n\",\n       \"7jobgDCBODMBkZ6ebt/XfIHJfps2bZoNYPXr109/+tOfFBMTYzOCfXXyw1cCJ42ZgFXnzp0btsTE\\\\\\n\",\n       \"RPni5MvYsWPtxIsJ4po2GL7ABNwaj/3HH39sz/20007z9KkBLUYAC21m+/btDWnE999/v/3lad6A\\\\\\n\",\n       \"Tz/9dBUUFATEyJuZP/Mh8MYbb7R/xEHaunWrnnrqKf2///f//HY48vPz7cxXUlJSk+PmcnZ2tgKN\\\\\\n\",\n       \"KSE1pQ9mNnPIkCEKJG+99ZYN5puSnEB9HzDZluYPyc8//1w33XSTbrvtNpsRARwKEwDex5cnIMx7\\\\\\n\",\n       \"sfk9bLLiTCmhL/H1yQ+TsWTKaE3mvQnEmSCor/CnyRfzO/W1116zGaGmjBDwdQSwcMxM+dOh6qob\\\\\\n\",\n       \"b/V9j4z77rtPl1xyiUaNGmVnMsz177zzTkCMgQnUlJSU6N5775W/ae4YNGYy8kw5oflAYGbXERjM\\\\\\n\",\n       \"h3CTeWn+iAgkGRkZtoz69ddft318ApF5Hxg5cqT+/Oc/2z8AfvGLX9j/+yajBjgUJgC8i69OQHz/\\\\\\n\",\n       \"/fc26yo8PNxOIr7//vs+1cLC1yc/TOmvydwz2XxmEmPHjh069dRT7WdiX+BPky+mB19hYaGdUAf8\\\\\\n\",\n       \"ge8UI8Nr3HnnnUf9JWhmW7Kysux+4w8M5oOEuc6XZmFaMgZff/21LRkzz7sxM6tjZqN88Y3wWMeg\\\\\\n\",\n       \"XmZmpu0lMGHCBD3//PPyZyZNPjg42JaPNmYum1TuQHLLLbfY7EvT1Nj0JQkkptzGNO03AZzG2QBm\\\\\\n\",\n       \"LP7xj3/YlUnNz4k/M6XjB/7ROHDgQNsPEIDvTEAsXLhQvqR///52xWeTPfbuu+9qxowZtreXLwSx\\\\\\n\",\n       \"6ic/zAIovjr5Ycpo65n+XSag1b17d/3nP/9p0hfXmwO35rO6mXwxzASM+X9gJl/Mz5Iv+fe//21f\\\\\\n\",\n       \"j0BcSAr+iQAWjquu2mxHYzKuTODGNF2dOHGiPWZWItu5c6d9EwuEMXjyySebNG02QRzTiNY0qDVv\\\\\\n\",\n       \"5oEwBvWZVyZ4VZ+FZ/pB+bOwsDD7XOfOnWtXb6r/MGQum4BOoJTP3nrrrXbWe968eQHZuHvy5Mk2\\\\\\n\",\n       \"C6Ax09PHrMT0m9/8xu+DV4bJ2jhw9bLNmzf7/HsA2g4TAN7DlycgzPtwnz597L55PzZNrZ944gnb\\\\\\n\",\n       \"EN3b+ePkR0JCgu1HZtpI+AJ/mXzZtWuXbaT/3//+19OnArQaAlhoM2bpYpO2PXv2bNsI0fzBYlYk\\\\\\n\",\n       \"NAJlFYxu3bo1uWzS2Q3TSNHXPgweLxO8Mn3PzOtvVh3My8truM6fs5HMClpmls7M4JkGoGYVLdOD\\\\\\n\",\n       \"o35VwkCYtX/jjTf0v//9zy7FXt/7Kz4+3i5HHQjM8z6w5Mas4GWW5PalUpyW+NWvfmWzLs0s9uWX\\\\\\n\",\n       \"X67ly5fbDEx/z8LE8WMCwPP8cQLCTCKZwI8v8MfJD9OQftu2bbrmmmvkC/xl8sVMGpseXqaXGuAv\\\\\\n\",\n       \"CGChTZmAlVmFxLxhVVRU2KwjU1bni6up4PiYFHgz42a2A4N25kOyv5o+fboN1j3wwAM2eDN8+HDb\\\\\\n\",\n       \"C+LAxu7+yvSOMEzw8sAPU/RhCBxjxoyxfwSbPoB/+MMf7B/CJphrSqgBf50AMH+sN840Mf1/TDmb\\\\\\n\",\n       \"aYJ+4MSWN/L1CQjz+8aUTJmxNj2XzHMxgTjTy8gX+MPkx1133WVXgzQBH1N9YCazTeDtiiuukC/w\\\\\\n\",\n       \"h8kXE7Q1n7nM71LztxjgLxxuf/4LEgAAAD7HlEqZSbD6CQBTku8rpfcmWGLK5g9k/pA0ja293eFW\\\\\\n\",\n       \"KvOVCQjTY8mU7JterCboZnowmcyls846S77KTAaZ/wcmmOsLfvrTn9qSx71799p2E6aVyJ/+9Cdb\\\\\\n\",\n       \"geArTPmsCYaa1RTN5IsJrPvSAkRffPGFbVtiMslM+SbgLwhgAQAAAAAAwKv5dydlAAAAAAAA+DwC\\\\\\n\",\n       \"WAAAAAAAAPBqBLAAAAAAAADg1QhgAQAAAAAAwKsRwAIAAAAAAIBXI4AFAAAAAAAAr0YACwAAAAAA\\\\\\n\",\n       \"AF6NABYAAAAAvzJv3jw5HA4VFhZ6+lQAAK2EABYAtKGsrCxdeeWV6tevn4KCgnTHHXcw3gAAtLLT\\\\\\n\",\n       \"Tz+9yXvshAkT7HtwfHy8x8aaIBoAtC4CWADQhqqqqtSxY0fdf//9GjZsGGMNAMAJEBYWps6dO9ss\\\\\\n\",\n       \"LACAfyCABQAtkJeXZz8g//nPf244tnjxYvvBee7cuerRo4eeeOIJXXvttR6dBQYAwF9dd911mj9/\\\\\\n\",\n       \"vn2/NQErs7388stNSgjN5YSEBH388cfq37+/oqKidOmll6q8vFyvvPKKfb9u166dbrvtNjmdziYT\\\\\\n\",\n       \"UXfddZdSUlIUHR2tcePG2cyqert27dL5559v72uuHzx4sD799FPt3LlTZ5xxhr2Nuc6cizlPw+Vy\\\\\\n\",\n       \"6eGHH1bPnj0VGRlpJ7jefffdgzK3PvnkEw0dOlQRERE6+eSTtX79+hM4qgDgfUI8fQIA4MtMdtWL\\\\\\n\",\n       \"L76oCy+8UGeffbb9UHzNNdfolltu0eTJkz19egAA+D0TuNq8ebOGDBmiP/zhD/bYhg0bDrqdCVY9\\\\\\n\",\n       \"+eSTeuutt1RSUqKLL75YF110kQ1smaDT9u3bdckll+iUU07R9OnT7X3M+/kPP/xg75OcnKz3339f\\\\\\n\",\n       \"55xzjr7//nv17dtXN998s6qrq7VgwQIbwDK3jYmJUWpqqt577z37eJs2bVJcXJwNVhkmePXaa6/p\\\\\\n\",\n       \"2WeftY9h7nv11VfbzxSnnXZaw/nefffd9rmZibLf/va3NlBmnmdoaOgJG1sA8CYEsACghaZNm6aZ\\\\\\n\",\n       \"M2fqqquu0ujRo+0HWPPhFAAAtD2T4Wwyn01WlQn2GGlpaQfdrqamRs8884x69+5tL5sMrFdffVU5\\\\\\n\",\n       \"OTk26DRo0CCbNfXNN9/YAFZ6erpeeukl+9UErwyTjTVnzhx73GRfm+tMkOqkk06y1/fq1avh+7Vv\\\\\\n\",\n       \"395+7dSpkw2S1Wd0mft99dVXGj9+fMN9Fi5cqOeee65JAGv27Nk666yz7L7JEuvatasNoF1++eVt\\\\\\n\",\n       \"NpYA4M0IYAFAK3jkkUfszO8777yjVatWKTw8nHEFAMCLmABXffDKSEpKsqWDJnjV+Fhubq7dN1lW\\\\\\n\",\n       \"ppzQLMTSmAlCdejQwe6bksObbrpJX3zxhaZMmWKDWabs73C2bt1qM8HqA1P1TBbXiBEjmhyrD3DV\\\\\\n\",\n       \"B8NMlvfGjRuP+/kDgK8jgAUArWDbtm3KzMy0fS1M34v6mVgAAOAdDiy9M32mDnXMvJcbpaWlCg4O\\\\\\n\",\n       \"thNT5mtj9UGvn//855o6dartV2WCWCYD+9FHH9Wtt956yHMwj2mY25u+Wo0x+QUAR0YACwBayMya\\\\\\n\",\n       \"mt4VptzAzI6aD7Nm1taUDAAAgLZnSggbN19vDSYjyjymycg69dRTD3s70+/qxhtvtNu9996rF154\\\\\\n\",\n       \"wQawzDkZjc/LlCmaQJUpPWxcLngoS5cuVbdu3ez+vn37bP+rgQMHttrzAwBfQwALAFrovvvuU1FR\\\\\\n\",\n       \"kW0Ma2ZkTSPYG264wa50ZKxdu7Zh1tWsWmgumw+15kMsAABoOVMKuGzZMpsFbd6L67OoWsKUDpr+\\\\\\n\",\n       \"lmYlYZNVZQJa5n3crDJsygTPO+883XHHHTr33HPtbU2QyfTPqg8yde/e3WZ0mc8Dpl+maeIeGxtr\\\\\\n\",\n       \"+2j96le/suc4ceJE+xli0aJFttH7jBkzGr6/aUhvShVNWaP5rJGYmGgXjQGAQBXk6RMAAF9mlrp+\\\\\\n\",\n       \"/PHHbRNY88EzKCjI7n/77be2UaxhPvCazZQgvPHGG3bffJAFAACtwwSFTJmfmRwyq/mZDKfWYJq1\\\\\\n\",\n       \"mwDWnXfeabOsTQBpxYoVDZlRJrvKrERoglZmdUITyPrnP/9przMlgr///e91zz332CCUWdHQeOih\\\\\\n\",\n       \"h/S73/3OlhvW38+UFPbs2bPJ9/7LX/6i22+/XaNGjVJ2drY++uijhqwuAAhEDrfb7fb0SQAAAAAA\\\\\\n\",\n       \"6ibHzGqIJqOrfvVCAAAZWAAAAAAAAPBylBACAAAAAADAq1FCCAAAAAAAAK9GBhYAAAAAAAC8GgEs\\\\\\n\",\n       \"AAAAAAAAeDUCWAAAAAAAAPBqBLAAAAAAAADg1QhgAQAAAAAAwKsRwAIAAAAAAIBXI4AFAAAAAAAA\\\\\\n\",\n       \"r0YACwAAAAAAAF6NABYAAAAAAAC8GgEsAAAAAAAAeDUCWAAAAAAAAJA3+//fGGeoIpmBqAAAAABJ\\\\\\n\",\n       \"RU5ErkJggg==\\\\\\n\",\n       \"\\\"\\n\",\n       \"\\n\",\n       \"\\n\",\n       \"    /* set a timeout to make sure all the above elements are created before\\n\",\n       \"       the object is initialized. */\\n\",\n       \"    setTimeout(function() {\\n\",\n       \"        anim343974fe52204feeaa071e5e2dc61a2d = new Animation(frames, img_id, slider_id, 899.0,\\n\",\n       \"                                 loop_select_id);\\n\",\n       \"    }, 0);\\n\",\n       \"  })()\\n\",\n       \"</script>\\n\"\n      ],\n      \"text/plain\": [\n       \"<matplotlib.animation.FuncAnimation at 0x38bb5ca50>\"\n      ]\n     },\n     \"execution_count\": 8,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"def encoder_decision_grid(model_eval: FrontendModel, x_min: float, x_max: float, y_min: float, y_max: float, n: int = 320):\\n\",\n    \"    xs = jnp.linspace(x_min, x_max, n)\\n\",\n    \"    ys = jnp.linspace(y_min, y_max, n)\\n\",\n    \"    xx, yy = jnp.meshgrid(xs, ys)\\n\",\n    \"\\n\",\n    \"    pts = jnp.stack([xx.reshape(-1), yy.reshape(-1)], axis=-1)\\n\",\n    \"    pred = predict_obs_idx(model_eval, pts).reshape(n, n)\\n\",\n    \"\\n\",\n    \"    return xx, yy, pred\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def make_rollout_decision_gif(model_eval: FrontendModel, rollout_data: dict):\\n\",\n    \"    states = rollout_data['states']\\n\",\n    \"    actions = rollout_data['actions']\\n\",\n    \"    obs_points = rollout_data['obs_points']\\n\",\n    \"    obs_probs = rollout_data['obs_probs']\\n\",\n    \"    qs = rollout_data['qs']\\n\",\n    \"\\n\",\n    \"    horizon = actions.shape[0]\\n\",\n    \"\\n\",\n    \"    fig, (ax_l, ax_r) = plt.subplots(1, 2, figsize=(12, 5))\\n\",\n    \"\\n\",\n    \"    pad = 3 * GAUSSIAN_SCALE\\n\",\n    \"    x_min = float(jnp.min(GAUSSIAN_MEANS[:, 0])) - pad\\n\",\n    \"    x_max = float(jnp.max(GAUSSIAN_MEANS[:, 0])) + pad\\n\",\n    \"    y_min = float(jnp.min(GAUSSIAN_MEANS[:, 1])) - pad\\n\",\n    \"    y_max = float(jnp.max(GAUSSIAN_MEANS[:, 1])) + pad\\n\",\n    \"\\n\",\n    \"    xx, yy, pred_grid = encoder_decision_grid(model_eval, x_min, x_max, y_min, y_max, n=320)\\n\",\n    \"\\n\",\n    \"    region_cmap = plt.get_cmap('tab10', K)\\n\",\n    \"    region_img = ax_l.imshow(\\n\",\n    \"        pred_grid,\\n\",\n    \"        extent=[x_min, x_max, y_min, y_max],\\n\",\n    \"        origin='lower',\\n\",\n    \"        cmap=region_cmap,\\n\",\n    \"        vmin=-0.5,\\n\",\n    \"        vmax=K - 0.5,\\n\",\n    \"        interpolation='nearest',\\n\",\n    \"        alpha=0.72,\\n\",\n    \"        aspect='auto',\\n\",\n    \"        zorder=0,\\n\",\n    \"    )\\n\",\n    \"\\n\",\n    \"    ax_l.contour(\\n\",\n    \"        xx,\\n\",\n    \"        yy,\\n\",\n    \"        pred_grid,\\n\",\n    \"        levels=jnp.arange(0.5, K, 1.0),\\n\",\n    \"        colors='white',\\n\",\n    \"        linewidths=0.8,\\n\",\n    \"        alpha=0.9,\\n\",\n    \"        zorder=1,\\n\",\n    \"    )\\n\",\n    \"\\n\",\n    \"    ax_l.plot(GAUSSIAN_MEANS[:, 0], GAUSSIAN_MEANS[:, 1], 'k--', alpha=0.35, linewidth=1.0, zorder=2)\\n\",\n    \"    ax_l.scatter(GAUSSIAN_MEANS[:, 0], GAUSSIAN_MEANS[:, 1], s=180, c=jnp.arange(K), cmap=region_cmap, zorder=3, edgecolors='black')\\n\",\n    \"    for s in range(K):\\n\",\n    \"        ax_l.text(float(GAUSSIAN_MEANS[s, 0]) + 0.08, float(GAUSSIAN_MEANS[s, 1]) + 0.08, f's{s}', fontsize=10)\\n\",\n    \"\\n\",\n    \"    path_line, = ax_l.plot([], [], '-o', color='tab:red', linewidth=2.0, markersize=6, zorder=4)\\n\",\n    \"    obs_dot = ax_l.scatter([], [], s=112, marker='x', color='black', linewidths=2.0, zorder=5)\\n\",\n    \"\\n\",\n    \"    ax_l.set_title('State Path over Encoder Decision Regions')\\n\",\n    \"    ax_l.set_xlabel('x1')\\n\",\n    \"    ax_l.set_ylabel('x2')\\n\",\n    \"    ax_l.set_aspect('equal', adjustable='box')\\n\",\n    \"    ax_l.set_xlim(x_min, x_max)\\n\",\n    \"    ax_l.set_ylim(y_min, y_max)\\n\",\n    \"\\n\",\n    \"    cb_left = fig.colorbar(region_img, ax=ax_l, fraction=0.046, pad=0.03, ticks=jnp.arange(K))\\n\",\n    \"    cb_left.set_label('encoder class')\\n\",\n    \"\\n\",\n    \"    heat_init = jnp.full((K, horizon), jnp.nan)\\n\",\n    \"    heat = ax_r.imshow(heat_init, vmin=0.0, vmax=1.0, cmap='viridis', origin='lower', aspect='auto')\\n\",\n    \"    ax_r.set_title('Inference Result: q(s_t)')\\n\",\n    \"    ax_r.set_xlabel('timestep')\\n\",\n    \"    ax_r.set_ylabel('state index')\\n\",\n    \"    ax_r.set_xticks(range(horizon))\\n\",\n    \"    ax_r.set_yticks(range(K))\\n\",\n    \"    fig.colorbar(heat, ax=ax_r, fraction=0.046, pad=0.04)\\n\",\n    \"\\n\",\n    \"    title = fig.suptitle('', fontsize=12)\\n\",\n    \"\\n\",\n    \"    def update(frame):\\n\",\n    \"        state_path = states[: frame + 1]\\n\",\n    \"        coords = GAUSSIAN_MEANS[state_path]\\n\",\n    \"        path_line.set_data(coords[:, 0], coords[:, 1])\\n\",\n    \"\\n\",\n    \"        obs_dot.set_offsets(obs_points[: frame + 1])\\n\",\n    \"\\n\",\n    \"        heat_arr = jnp.full((K, horizon), jnp.nan)\\n\",\n    \"        heat_arr = heat_arr.at[:, : frame + 1].set(jnp.stack(qs[: frame + 1], axis=1))\\n\",\n    \"        heat.set_data(heat_arr)\\n\",\n    \"\\n\",\n    \"        enc_idx = int(jnp.argmax(obs_probs[frame]))\\n\",\n    \"        q_idx = int(jnp.argmax(qs[frame]))\\n\",\n    \"        action_taken = 'None' if frame == 0 else action_names[int(actions[frame - 1])]\\n\",\n    \"\\n\",\n    \"        title.set_text(\\n\",\n    \"            f't={frame} | true_state={int(states[frame])} | encoded_obs_idx={enc_idx} | inferred_state={q_idx} | action taken: {action_taken}'\\n\",\n    \"        )\\n\",\n    \"\\n\",\n    \"        return path_line, obs_dot, heat\\n\",\n    \"\\n\",\n    \"    ani = animation.FuncAnimation(fig, update, frames=horizon, interval=900, blit=False, repeat=True)\\n\",\n    \"    plt.close(fig)\\n\",\n    \"    return ani\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"make_rollout_decision_gif_anim = make_rollout_decision_gif(model, rollout)\\n\",\n    \"make_rollout_decision_gif_anim\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"23\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 12. Summary\\n\",\n    \"\\n\",\n    \"This notebook demonstrates a practical recipe for combining a differentiable layer with an structured `pymdp` generative model that can be trained with gradients & backpropagation, while the active inference agent performs variational inference and planning with explicit active inference style updates.\\n\",\n    \"\\n\",\n    \"One way of interpreting the differentiable front-end in this notebook, is as an _amortized inference module_ that learns how to execute inference in a Gaussian mixture model in its forward pass; specifically computing the latent assignment variable of a GMM (also known as the \\\"E-step\\\"). The analogy to amortized inference is not exact since the MLP layer is not guaranteed to provide calibrated probabilistic assignments; the decision-boundaries it creates in 2-D space are not the same as the soft decision-boundaries achieved by fitting a proper GMM via expectation maximization or variational Bayesian expectation maximization.\\n\",\n    \"\\n\",\n    \"In the current notebook, we fixed the generative model at the `pymdp` level; a natural next step would be to combine gradient-based learning with either gradient-based or explicitly Bayesian updates to the POMDP model parameters (A, B, and D).\"\n   ]\n  }\n ],\n \"metadata\": {},\n \"nbformat\": 4,\n \"nbformat_minor\": 5\n}\n"
  },
  {
    "path": "examples/api/model_construction_tutorial.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Generative Model Construction with `Model` and `Distribution`\\n\",\n    \"\\n\",\n    \"This tutorial walks through usage of the `Model` and `Distribution` classes. The `Model` class wraps the `A`, `B`, `C`, and `D` arrays into a unified model object, whose structure can be generated automatically from a JSON-like configuration dict. The configuration dict, often labelled `model_description`, allows you to assign string-valued names to the random variables of the model (observations, hidden states, and control states), and to specify dependencies between these random variables (via the `\\\"depends_on\\\"` key within each variable-specific sub-dict). \\n\",\n    \"\\n\",\n    \"Within the `Model` object, each component distribution is an instance of the `Distribution` class. The `Distribution` class can use string- or integer-valued labels for both the axes and specific indices along those axes. The intention of these classes and their named dimensions/values, is to provide users a more user-friendly, interpretable entrypoint for building discrete generative models in `pymdp`.\\n\",\n    \"\\n\",\n    \"In the summary, the advantages of the `Model` and `Distribution` classes are:\\n\",\n    \"- Reduce memory burden on the user (and the indexing errors that often ensue) by working with named axes and elements (e.g., \\\"left\\\", \\\"right\\\" instead of 0, 1)\\n\",\n    \"- Increase interpretability (if applicable) and intuition in the generation and inspection of the POMDP model\\n\",\n    \"- Flexible specification of dependencies between random variables via string labels\\n\",\n    \"\\n\",\n    \"## Tutorial Structure\\n\",\n    \"\\n\",\n    \"1. Basic Example: A simple grid navigation task built from a structured description using labels, in which the agent has to travel to a goal location.\\n\",\n    \"2. A More Advanced Example: A simple foraging task built from a structured description using labels, in which the agent has to search for apples and eat them while they spawn at a set rate.\\n\",\n    \"\\n\",\n    \"---\\n\",\n    \"\\n\",\n    \"## Example 1: Grid World Navigation\\n\",\n    \"\\n\",\n    \"Let's start with the simple example: an agent moving horizontally in a 1D grid world. Our agent can be in one of four positions: \\\"left\\\", \\\"center_left\\\", \\\"center_right\\\", or \\\"right\\\", and can take actions \\\"move_right\\\" or \\\"move_left\\\". We give an example of setting up a single agent and then an example of running three agents in parallel by using the`batch_size` argument to the `Agent` constructor.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import jax.tree_util as jtu\\n\",\n    \"from jax import numpy as jnp\\n\",\n    \"from jax import random as jr\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp.distribution import compile_model\\n\",\n    \"from pymdp.envs.env import Env\\n\",\n    \"from pymdp.envs import rollout\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"positions = [\\\"left\\\", \\\"center_left\\\", \\\"center_right\\\", \\\"right\\\"]\\n\",\n    \"actions = [\\\"move_left\\\", \\\"move_right\\\"]\\n\",\n    \"\\n\",\n    \"model_description = {\\n\",\n    \"    \\\"observations\\\": {\\n\",\n    \"        \\\"position_obs\\\": {\\n\",\n    \"            \\\"elements\\\": positions, \\n\",\n    \"            \\\"depends_on\\\": [\\\"position\\\"] # we specify that the observation depends on the \\\"position\\\" state factor\\n\",\n    \"        },\\n\",\n    \"    },\\n\",\n    \"    \\\"controls\\\": {\\n\",\n    \"        \\\"movement\\\": {\\\"elements\\\": actions} # we specify the available actions\\n\",\n    \"    },\\n\",\n    \"    \\\"states\\\": {\\n\",\n    \"        \\\"position\\\": {\\n\",\n    \"            \\\"elements\\\": positions, \\n\",\n    \"            \\\"depends_on\\\": [\\\"position\\\"],  # our current position depends on previous position...\\n\",\n    \"            \\\"controlled_by\\\": [\\\"movement\\\"]  # ...and the movement action taken\\n\",\n    \"        },\\n\",\n    \"    },\\n\",\n    \"}\\n\",\n    \"\\n\",\n    \"# compile the model structure from the description\\n\",\n    \"model = compile_model(model_description)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have built a generative model structure using the model description, however the model's parameters are currently uninitialized arrays of zeros. So now, we can fill in the parameter tensors by using the axis and element labels we defined in the model description dict, to set values in particular indices of these arrays.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# fill in the likelihood (A) tensor\\n\",\n    \"# the observations have an identical mapping to the states (i.e., the agent will perfectly observe its position)\\n\",\n    \"model.A[\\\"position_obs\\\"][\\\"left\\\", \\\"left\\\"] = 1.0\\n\",\n    \"model.A[\\\"position_obs\\\"][\\\"center_left\\\", \\\"center_left\\\"] = 1.0\\n\",\n    \"model.A[\\\"position_obs\\\"][\\\"center_right\\\", \\\"center_right\\\"] = 1.0\\n\",\n    \"model.A[\\\"position_obs\\\"][\\\"right\\\", \\\"right\\\"] = 1.0\\n\",\n    \"# model.A[\\\"position_obs\\\"].data = jnp.eye(len(positions)) # you could also use the .data attribute to set the identity mapping directly\\n\",\n    \"\\n\",\n    \"# fill in the transition model (B) tensor\\n\",\n    \"# note that it's specified as [\\\"to\\\", \\\"from\\\", \\\"action\\\"]\\n\",\n    \"# moving right\\n\",\n    \"model.B[\\\"position\\\"][\\\"center_left\\\", \\\"left\\\", \\\"move_right\\\"] = 1.0     \\n\",\n    \"model.B[\\\"position\\\"][\\\"center_right\\\", \\\"center_left\\\", \\\"move_right\\\"] = 1.0  \\n\",\n    \"model.B[\\\"position\\\"][\\\"right\\\", \\\"center_right\\\", \\\"move_right\\\"] = 1.0    \\n\",\n    \"model.B[\\\"position\\\"][\\\"right\\\", \\\"right\\\", \\\"move_right\\\"] = 1.0           \\n\",\n    \"\\n\",\n    \"# moving left  \\n\",\n    \"model.B[\\\"position\\\"][\\\"left\\\", \\\"left\\\", \\\"move_left\\\"] = 1.0              \\n\",\n    \"model.B[\\\"position\\\"][\\\"left\\\", \\\"center_left\\\", \\\"move_left\\\"] = 1.0       \\n\",\n    \"model.B[\\\"position\\\"][\\\"center_left\\\", \\\"center_right\\\", \\\"move_left\\\"] = 1.0  \\n\",\n    \"model.B[\\\"position\\\"][\\\"center_right\\\", \\\"right\\\", \\\"move_left\\\"] = 1.0    \\n\",\n    \"\\n\",\n    \"# set preferences (C) tensor - prefer to be at \\\"center_right\\\"\\n\",\n    \"model.C[\\\"position_obs\\\"][\\\"center_left\\\"] = 1.0\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now, let's create the agent (via the Agent object) and have it infer which state it is in via an observation and select an action according to it's goal.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Current belief about position: left\\n\",\n      \"Goal position: center_left\\n\",\n      \"Action chosen: move_right\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"gamma = 10 # deterministic behavior; make gamma smaller for stochastic behavior\\n\",\n    \"\\n\",\n    \"# create agent\\n\",\n    \"agent = Agent(**model, gamma=gamma)\\n\",\n    \"\\n\",\n    \"# set up initial observation to be \\\"left\\\"\\n\",\n    \"observation = jnp.zeros((agent.batch_size, 1)) # broadcast to agent's batch size (defaults to 1 agent) and add a time dimension\\n\",\n    \"\\n\",\n    \"# get the prior\\n\",\n    \"qs_init = jtu.tree_map(lambda x: jnp.expand_dims(x, 1), agent.D) # qs needs a time dimension too\\n\",\n    \"\\n\",\n    \"# print initial beliefs, goal, and action chosen\\n\",\n    \"qs = agent.infer_states([observation], qs_init)\\n\",\n    \"print(f\\\"Current belief about position: {positions[jnp.argmax(qs[0][0])]}\\\")\\n\",\n    \"qs = [jnp.squeeze(q, 1) for q in qs]\\n\",\n    \"\\n\",\n    \"print(f\\\"Goal position: {positions[jnp.argmax(agent.C[0])]}\\\")\\n\",\n    \"\\n\",\n    \"q_pi, G = agent.infer_policies(qs)\\n\",\n    \"action_idx = agent.sample_action(q_pi)\\n\",\n    \"print(f\\\"Action chosen: {actions[action_idx[0][0]]}\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can also run multiple agents or independent trials in parallel, each with a different initial observation (i.e., different initial position) by using the `batch_size` argument\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Agent 0's current belief about position: left\\n\",\n      \"Agent 1's current belief about position: center_right\\n\",\n      \"Agent 2's current belief about position: right\\n\",\n      \"\\n\",\n      \"Goal position for all agents: center_left\\n\",\n      \"\\n\",\n      \"Agent 0's action chosen: move_right\\n\",\n      \"Agent 1's action chosen: move_left\\n\",\n      \"Agent 2's action chosen: move_left\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"batch_size = 3 # running 3 trials or agents in parallel\\n\",\n    \"gamma = 10     # deterministic behavior; make gamma smaller for stochastic behavior\\n\",\n    \"\\n\",\n    \"# create agent\\n\",\n    \"agent = Agent(**model, batch_size=batch_size, gamma=gamma)\\n\",\n    \"\\n\",\n    \"# set up different initial observations for each agent: \\\"left\\\", \\\"center_right\\\", and \\\"right\\\"\\n\",\n    \"observation = [jnp.array([[0], [2], [3]])] # wrap in a list to indicate the single modality; observation[0].shape = (batch_size, 1)\\n\",\n    \"\\n\",\n    \"# get the prior\\n\",\n    \"qs_init = jtu.tree_map(lambda x: jnp.expand_dims(x, 1), agent.D) # qs needs a time dimension too\\n\",\n    \"\\n\",\n    \"# print goal and initial beliefs\\n\",\n    \"qs = agent.infer_states(observation, qs_init)\\n\",\n    \"for a in range(batch_size): \\n\",\n    \"    print(f\\\"Agent {a}'s current belief about position: {positions[jnp.argmax(qs[0][a])]}\\\")\\n\",\n    \"qs = [jnp.squeeze(q, 1) for q in qs]\\n\",\n    \"\\n\",\n    \"print(f\\\"\\\\nGoal position for all agents: {positions[jnp.argmax(agent.C[0])]}\\\\n\\\")\\n\",\n    \"\\n\",\n    \"q_pi, G = agent.infer_policies(qs)\\n\",\n    \"action = agent.sample_action(q_pi)\\n\",\n    \"for a in range(batch_size): \\n\",\n    \"    print(f\\\"Agent {a}'s action chosen: {actions[action[a][0]]}\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"---\\n\",\n    \"\\n\",\n    \"## Example 2: Apple Foraging Task\\n\",\n    \"\\n\",\n    \"Now let's look at a slightly more complex example: an apple foraging task. Here, we have a 1x3 grid, with a \\\"left\\\", \\\"center\\\", and \\\"right\\\" cell. These are orchard cells where an apple can grow at a set rate (1/3). The agent's objective is to find apples and eat them as they get a reward to eat apples. The agent can stay, move_left, move_right, or eat.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"num_locations = 3 # these correspond to \\\"left\\\", \\\"center\\\", and \\\"right\\\" and you can just specify [\\\"left\\\", \\\"center\\\", \\\"right\\\"] but we use numbers to show how to use the 'size' key instead of 'elements'\\n\",\n    \"item_list = [\\\"orchard\\\", \\\"apple\\\"]\\n\",\n    \"\\n\",\n    \"model_description = {\\n\",\n    \"    \\\"observations\\\": {\\n\",\n    \"        \\\"location_obs\\\": {\\\"size\\\": num_locations, # if you want to use numbers instead of strings, you can use the 'size' key instead of 'elements'\\n\",\n    \"                         \\\"depends_on\\\": [\\\"location_state\\\"],\\n\",\n    \"        },\\n\",\n    \"        \\\"item_obs\\\": {\\\"elements\\\": item_list, # \\\"elements\\\" key for strings\\n\",\n    \"                     \\\"depends_on\\\": [\\\"location_state\\\", \\\"left_state\\\", \\\"center_state\\\", \\\"right_state\\\"],\\n\",\n    \"        },\\n\",\n    \"        \\\"reward_obs\\\": {\\\"elements\\\": [\\\"no_reward\\\", \\\"reward\\\"],\\n\",\n    \"                       \\\"depends_on\\\": [\\\"reward_state\\\"],\\n\",\n    \"        },\\n\",\n    \"    },\\n\",\n    \"    \\\"controls\\\": {\\n\",\n    \"        \\\"move\\\": {\\\"elements\\\": [\\\"stay\\\", \\\"move_left\\\", \\\"move_right\\\"],\\n\",\n    \"        },\\n\",\n    \"        \\\"eat\\\": {\\\"elements\\\": [\\\"noop\\\", \\\"eat\\\"], # noop = no-operation\\n\",\n    \"        # note that if you cannot control a state, you still need to add \\n\",\n    \"        # an action for it (e.g., with elements: [\\\"null\\\"]) for the model to be initialized \\n\",\n    \"        # with the correct dimensions\\n\",\n    \"        },\\n\",\n    \"    },\\n\",\n    \"    \\\"states\\\": {\\n\",\n    \"        \\\"location_state\\\": {\\\"size\\\": num_locations,\\n\",\n    \"                           \\\"depends_on\\\": [\\\"location_state\\\"],\\n\",\n    \"                           \\\"controlled_by\\\": [\\\"move\\\"],\\n\",\n    \"        },\\n\",\n    \"        \\\"reward_state\\\": {\\\"elements\\\": [\\\"no_reward\\\", \\\"reward\\\"],\\n\",\n    \"                            # if you have more than one dependency, the first dependency is its own state factor (at the previous timestep), \\n\",\n    \"                            # then add the other dependencies in the order they are specified (you can skip over some state factors)\\n\",\n    \"                            \\\"depends_on\\\": [\\\"reward_state\\\", \\\"location_state\\\", \\n\",\n    \"                                           \\\"left_state\\\", \\\"center_state\\\", \\\"right_state\\\"],\\n\",\n    \"                            \\\"controlled_by\\\": [\\\"eat\\\"],\\n\",\n    \"        },\\n\",\n    \"        \\\"left_state\\\": {\\\"elements\\\": item_list,\\n\",\n    \"                        \\\"depends_on\\\": [\\\"left_state\\\", \\\"location_state\\\"], \\n\",\n    \"                        \\\"controlled_by\\\": [\\\"eat\\\"],\\n\",\n    \"        },\\n\",\n    \"        \\\"center_state\\\": {\\\"elements\\\": item_list,\\n\",\n    \"                        \\\"depends_on\\\": [\\\"center_state\\\", \\\"location_state\\\"],\\n\",\n    \"                        \\\"controlled_by\\\": [\\\"eat\\\"],\\n\",\n    \"        },\\n\",\n    \"        \\\"right_state\\\": {\\\"elements\\\": item_list,\\n\",\n    \"                        \\\"depends_on\\\": [\\\"right_state\\\", \\\"location_state\\\"],\\n\",\n    \"                        \\\"controlled_by\\\": [\\\"eat\\\"],\\n\",\n    \"        },\\n\",\n    \"    },\\n\",\n    \"}\\n\",\n    \"\\n\",\n    \"model = compile_model(model_description)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We have built a generative model structure using the model description, however the model's parameters are currently uninitialized arrays of zeros. So now, we can fill in the parameter tensors by using the axis and element labels we defined in the model description dict, to set values in particular indices of these arrays.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"'''\\n\",\n    \"SPECIFY THE A TENSOR\\n\",\n    \"'''\\n\",\n    \"# identity mapping for the observations regarding location and reward\\n\",\n    \"model.A[\\\"location_obs\\\"].data = jnp.eye(len(model.A[\\\"location_obs\\\"].data))\\n\",\n    \"model.A[\\\"reward_obs\\\"].data = jnp.eye(len(model.A[\\\"reward_obs\\\"].data))\\n\",\n    \"\\n\",\n    \"# in any of the locations, the agent may observe apple or orchard\\n\",\n    \"model.A[\\\"item_obs\\\"][\\\"apple\\\", 0, \\\"apple\\\", :, :] = 1.0\\n\",\n    \"model.A[\\\"item_obs\\\"][\\\"apple\\\", 1, :, \\\"apple\\\", :] = 1.0\\n\",\n    \"model.A[\\\"item_obs\\\"][\\\"apple\\\", 2, :, :, \\\"apple\\\"] = 1.0\\n\",\n    \"model.A[\\\"item_obs\\\"][\\\"orchard\\\", 0, \\\"orchard\\\", :, :] = 1.0\\n\",\n    \"model.A[\\\"item_obs\\\"][\\\"orchard\\\", 1, :, \\\"orchard\\\", :] = 1.0\\n\",\n    \"model.A[\\\"item_obs\\\"][\\\"orchard\\\", 2, :, :, \\\"orchard\\\"] = 1.0\\n\",\n    \"model.A[\\\"item_obs\\\"].data = model.A[\\\"item_obs\\\"].data + 1e-3 # add a small amount of noise to the observations\\n\",\n    \"\\n\",\n    \"'''\\n\",\n    \"SPECIFY THE B TENSOR\\n\",\n    \"'''\\n\",\n    \"\\n\",\n    \"# for moving between locations\\n\",\n    \"# (to, from, action)\\n\",\n    \"valid_transitions = [\\n\",\n    \"    # from 0 (left)\\n\",\n    \"    (0, 0, \\\"stay\\\"), # from left to left, stay\\n\",\n    \"    (1, 0, \\\"move_right\\\"), # from left to center, move right\\n\",\n    \"    (2, 0, \\\"move_left\\\"), # from left to right, move left\\n\",\n    \"\\n\",\n    \"    # from 1 (center)\\n\",\n    \"    (0, 1, \\\"move_left\\\"), # from center to left, move left\\n\",\n    \"    (1, 1, \\\"stay\\\"), # from center to center, stay\\n\",\n    \"    (2, 1, \\\"move_right\\\"), # from center to right, move right\\n\",\n    \"\\n\",\n    \"    # from 2 (right)\\n\",\n    \"    (0, 2, \\\"move_right\\\"), # from right to left, move right\\n\",\n    \"    (1, 2, \\\"move_left\\\"), # from right to cecenterntre, move left\\n\",\n    \"    (2, 2, \\\"stay\\\"), # from right to right, stay\\n\",\n    \"]\\n\",\n    \"\\n\",\n    \"for to_state, from_state, action in valid_transitions:\\n\",\n    \"    model.B[\\\"location_state\\\"][to_state, from_state, action] = 1.0\\n\",\n    \"\\n\",\n    \"# again, remember the reward states will be set as [\\\"to\\\", \\\"from\\\", ...dependencies..., \\\"action\\\"]\\n\",\n    \"# if the agent sees an apple and does not eat the apple (i.e., noop), it does not get a reward\\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"no_reward\\\", \\\"no_reward\\\", 0, \\\"apple\\\", :, :, \\\"noop\\\"] = 1.0\\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"no_reward\\\", \\\"no_reward\\\", 1, :, \\\"apple\\\", :, \\\"noop\\\"] = 1.0\\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"no_reward\\\", \\\"no_reward\\\", 2, :, :, \\\"apple\\\", \\\"noop\\\"] = 1.0\\n\",\n    \"\\n\",\n    \"# if the agent sees an orchard, it does not get a reward regardless of its actions\\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"no_reward\\\", \\\"no_reward\\\", 0, \\\"orchard\\\", :, :, :] = 1.0 \\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"no_reward\\\", \\\"no_reward\\\", 1, :, \\\"orchard\\\", :, :] = 1.0\\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"no_reward\\\", \\\"no_reward\\\", 2, :, :, \\\"orchard\\\", :] = 1.0\\n\",\n    \"\\n\",\n    \"# from a reward state, there will always be no reward in the next timestep regardless of the action\\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"no_reward\\\", \\\"reward\\\", 0, :, :, :, :] = 1.0\\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"no_reward\\\", \\\"reward\\\", 1, :, :, :, :] = 1.0\\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"no_reward\\\", \\\"reward\\\", 2, :, :, :, :] = 1.0\\n\",\n    \"\\n\",\n    \"# if the agent sees an orchard and eats, it will not get a reward\\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"reward\\\", \\\"no_reward\\\", 0, \\\"orchard\\\", :, :, \\\"eat\\\"] = 0.0\\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"reward\\\", \\\"no_reward\\\", 1, :, \\\"orchard\\\", :, \\\"eat\\\"] = 0.0\\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"reward\\\", \\\"no_reward\\\", 2, :, :, \\\"orchard\\\", \\\"eat\\\"] = 0.0\\n\",\n    \"\\n\",\n    \"# if the agent sees an apple and eats the apple, it gets a reward and never not get a reward\\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"no_reward\\\", \\\"no_reward\\\", 0, \\\"apple\\\", :, :, \\\"eat\\\"] = 0.0 \\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"no_reward\\\", \\\"no_reward\\\", 1, :, \\\"apple\\\", :, \\\"eat\\\"] = 0.0\\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"no_reward\\\", \\\"no_reward\\\", 2, :, :, \\\"apple\\\", \\\"eat\\\"] = 0.0\\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"reward\\\", \\\"no_reward\\\", 0, \\\"apple\\\", :, :, \\\"eat\\\"] = 1.0 \\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"reward\\\", \\\"no_reward\\\", 1, :, \\\"apple\\\", :, \\\"eat\\\"] = 1.0\\n\",\n    \"model.B[\\\"reward_state\\\"][\\\"reward\\\", \\\"no_reward\\\", 2, :, :, \\\"apple\\\", \\\"eat\\\"] = 1.0\\n\",\n    \"\\n\",\n    \"apple_spawn_locations = [\\\"left_state\\\", \\\"center_state\\\", \\\"right_state\\\"]\\n\",\n    \"apple_spawn_rate = 1/3\\n\",\n    \"for i, state in enumerate(apple_spawn_locations):\\n\",\n    \"    model.B[state][\\\"orchard\\\", \\\"orchard\\\", :, :] = 1.0 - apple_spawn_rate # no spawn\\n\",\n    \"    model.B[state][\\\"apple\\\", \\\"orchard\\\", :, :] = apple_spawn_rate # spawn\\n\",\n    \"    for agent_location in range(num_locations):\\n\",\n    \"        if i == agent_location:\\n\",\n    \"            # if the agent does not eat the apple (noop), the apple will stay in the cell\\n\",\n    \"            model.B[state][\\\"apple\\\", \\\"apple\\\", agent_location, \\\"noop\\\"] = 1.0\\n\",\n    \"            # if the agent eats the apple, it will become an orchard cell\\n\",\n    \"            model.B[state][\\\"orchard\\\", \\\"apple\\\", agent_location, \\\"eat\\\"] = 1.0\\n\",\n    \"    model.B[state].data = model.B[state].data + 1e-3 # add a small amount of noise to the observations\\n\",\n    \"\\n\",\n    \"'''\\n\",\n    \"SPECIFY THE C TENSOR. \\n\",\n    \"'''\\n\",\n    \"model.C[\\\"reward_obs\\\"][\\\"reward\\\"] = 1.0\\n\",\n    \"\\n\",\n    \"'''\\n\",\n    \"NORMALISE THE TENSORS\\n\",\n    \"'''\\n\",\n    \"\\n\",\n    \"model.A[\\\"location_obs\\\"].normalize()\\n\",\n    \"model.A[\\\"item_obs\\\"].normalize()\\n\",\n    \"model.A[\\\"reward_obs\\\"].normalize()\\n\",\n    \"\\n\",\n    \"model.B[\\\"location_state\\\"].normalize()\\n\",\n    \"model.B[\\\"reward_state\\\"].normalize()\\n\",\n    \"model.B[\\\"left_state\\\"].normalize()\\n\",\n    \"model.B[\\\"center_state\\\"].normalize()\\n\",\n    \"model.B[\\\"right_state\\\"].normalize()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"gamma = 1.0\\n\",\n    \"\\n\",\n    \"agent = Agent(**model, learn_A=False, learn_B=False, gamma=gamma, sampling_mode=\\\"full\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can also turn the model description into an environment using `PymdpEnv`:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from pymdp.envs import PymdpEnv\\n\",\n    \"\\n\",\n    \"env = PymdpEnv(**model)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"which can then be used to rollout the agent on the env.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from pymdp.envs import rollout\\n\",\n    \"\\n\",\n    \"info, last = rollout(agent, env, num_timesteps=10, rng_key=jr.PRNGKey(0))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"There's also a `make` utility method that generates an `env` and `env_params` from the model description. You can decide whether to return `env_params` using the `make_env_params` argument\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from pymdp.envs import make\\n\",\n    \"\\n\",\n    \"env, env_params = make(**model, make_env_params=False)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"info, last = rollout(agent, env, num_timesteps=10, rng_key=jr.PRNGKey(0))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"info, last = rollout(agent, env, num_timesteps=10, rng_key=jr.PRNGKey(0), env_params=env_params)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you provide `make_env_params = True` to the `make()` function, it will return out the environmental parameters as a separate dict of parameters (e.g., `A`, `B`, `D` as keys), with the batch size of these parameters matched to the batch size of the input tensors `A`, `B`, and `D`. \\n\",\n    \"\\n\",\n    \"Passing `env_params` as input arguments to `Env` functions like `reset()` and `step()`, rather than having them be stored internally as class attrbutes, enables the following:\\n\",\n    \"* different environments per agent -- if you want to use a different environmental parameterization per agent (e.g., different transition probabilities per environment), then this can be differentiated in the leading dimensions of any array-valued leaves of the `env_params` pytree.\\n\",\n    \"* custom changes to environmental parameters -- if you want to changing environmental paramters in a custom way (e.g. `env_params[\\\"B\\\"][factor_idx][batch_indices] = env_params[\\\"B\\\"][factor_idx].at[batch_indices][:,state_idx].set(new_transition_parameters)`) without having to construct a new `Env`. One can simply change the parameters (as long as as shapes align) and then pass them back into the same environment's `step` \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# here, just broadcast the compiled model's A, B, and D tensors across the batch dimension of the agent to show the point\\n\",\n    \"A_env_batched = [jnp.broadcast_to(a.data, (agent.batch_size, ) + a.data.shape) for a in model.A]\\n\",\n    \"B_env_batched = [jnp.broadcast_to(b.data, (agent.batch_size, ) + b.data.shape) for b in model.B]\\n\",\n    \"D_env_batched = [jnp.broadcast_to(d.data, (agent.batch_size, ) + d.data.shape) for d in model.D]\\n\",\n    \"\\n\",\n    \"env, env_params = make(A_env_batched, B_env_batched, D_env_batched, agent.A_dependencies, agent.B_dependencies, make_env_params=True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In this case, also pass `env_params` to `rollout` for vmapping across both agents and environments in parallel. NOTE: This means that the `env_params` must have a matched batch size to the `Agent` class\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"info, last = rollout(agent, env, num_timesteps=10, rng_key=jr.PRNGKey(0), env_params=env_params)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \".venv311\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.11.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/envs/chained_cue_navigation.py",
    "content": "\"\"\"Generate legacy-style chained-cue navigation GIFs with the JAX environment.\n\nThis script recreates:\n- `.github/chained_cue_navigation_v1.gif`\n- `.github/chained_cue_navigation_v2.gif`\n\nusing `CueChainingEnv`, `Agent`, and environment assets in `pymdp/envs/assets/`.\n\"\"\"\n\nfrom __future__ import annotations\n\nimport argparse\nfrom pathlib import Path\n\nimport jax.numpy as jnp\nimport jax.random as jr\nimport matplotlib.pyplot as plt\nimport matplotlib.patches as patches\nimport numpy as np\nimport scipy.ndimage as ndimage\nfrom matplotlib.animation import FuncAnimation, PillowWriter\nfrom matplotlib.offsetbox import AnnotationBbox, OffsetImage\n\nfrom pymdp.agent import Agent\nfrom pymdp.envs.cue_chaining import CueChainingEnv\nfrom pymdp.envs.rollout import rollout\n\n\ndef build_agent(env: CueChainingEnv, policy_len: int = 4) -> Agent:\n    \"\"\"Construct an agent with known start location and uncertain latent context.\"\"\"\n    C = [jnp.zeros((a.shape[0],), dtype=jnp.float32) for a in env.A]\n    C[3] = C[3].at[1].set(2.0)\n    C[3] = C[3].at[2].set(-4.0)\n\n    D_agent = [\n        env.D[0],  # known initial location\n        jnp.ones_like(env.D[1]) / env.D[1].shape[0],  # uncertain cue2 latent\n        jnp.ones_like(env.D[2]) / env.D[2].shape[0],  # uncertain reward latent\n    ]\n\n    return Agent(\n        A=env.A,\n        B=env.B,\n        C=C,\n        D=D_agent,\n        A_dependencies=env.A_dependencies,\n        B_dependencies=env.B_dependencies,\n        policy_len=policy_len,\n        action_selection=\"deterministic\",\n        batch_size=1,\n    )\n\n\ndef rollout_locations(\n    cue2_state: int,\n    reward_condition: int,\n    num_timesteps: int = 12,\n    seed: int = 0,\n    policy_len: int = 4,\n) -> tuple[list[tuple[int, int]], CueChainingEnv]:\n    \"\"\"Run one rollout and return location trajectory and environment.\"\"\"\n    env = CueChainingEnv(\n        grid_shape=(5, 7),\n        start_location=(0, 0),\n        cue1_location=(2, 0),\n        cue2_locations=((0, 2), (1, 3), (3, 3), (4, 2)),\n        reward_locations=((1, 5), (3, 5)),\n        cue2_state=cue2_state,\n        reward_condition=reward_condition,\n    )\n    agent = build_agent(env, policy_len=policy_len)\n    _, info = rollout(agent, env, num_timesteps=num_timesteps, rng_key=jr.PRNGKey(seed))\n    locs = [env.index_to_coords(int(info[\"observation\"][0][0, t, 0])) for t in range(num_timesteps + 1)]\n    return locs, env\n\n\ndef interpolate_locations(\n    locations: list[tuple[int, int]],\n    points_per_segment: int = 10,\n) -> np.ndarray:\n    \"\"\"Linearly interpolate between discrete trajectory points for smoother animation.\"\"\"\n    weights = np.linspace(0.0, 1.0, points_per_segment)\n    segments = []\n    for idx in range(len(locations) - 1):\n        p0 = np.asarray(locations[idx], dtype=float)\n        p1 = np.asarray(locations[idx + 1], dtype=float)\n        inter = [(1.0 - w) * p0 + w * p1 for w in weights]\n        segments.append(np.asarray(inter))\n    return np.vstack(segments)\n\n\ndef load_assets(asset_dir: Path) -> dict[str, np.ndarray]:\n    \"\"\"Load and orient image assets.\"\"\"\n    mouse = plt.imread(asset_dir / \"mouse.png\")\n    assets = {\n        \"mouse_down\": mouse,\n        \"mouse_right\": np.clip(ndimage.rotate(mouse, 90, reshape=True), 0.0, 1.0),\n        \"mouse_left\": np.clip(ndimage.rotate(mouse, -90, reshape=True), 0.0, 1.0),\n        \"mouse_up\": np.clip(ndimage.rotate(mouse, 180, reshape=True), 0.0, 1.0),\n        \"cheese\": plt.imread(asset_dir / \"cheese.png\"),\n        \"shock\": plt.imread(asset_dir / \"shock.png\"),\n    }\n    return assets\n\n\ndef make_animation(\n    output_path: Path,\n    env: CueChainingEnv,\n    locations: list[tuple[int, int]],\n    fps: int = 15,\n    points_per_segment: int = 10,\n) -> None:\n    \"\"\"Render one chained-cue navigation rollout to GIF.\"\"\"\n    cue1_loc = env.cue1_location\n    cue2_loc = env.cue2_locations[env.D[1].argmax().item()]\n    reward_condition = env.D[2].argmax().item()\n    reward_locs = env.reward_locations\n    reward_loc = reward_locs[reward_condition]\n    shock_loc = reward_locs[1 - reward_condition]\n\n    points = interpolate_locations(locations, points_per_segment=points_per_segment)\n\n    rows, cols = env.grid_shape\n    fig, ax = plt.subplots(figsize=(16, 10))\n    X, Y = np.meshgrid(np.arange(cols + 1), np.arange(rows + 1))\n    cue_grid = np.ones((rows, cols))\n    cue_grid[cue1_loc[0], cue1_loc[1]] = 15.0\n    for r, c in env.cue2_locations:\n        cue_grid[r, c] = 5.0\n    mesh = ax.pcolormesh(\n        X,\n        Y,\n        cue_grid,\n        edgecolors=\"k\",\n        linewidth=3,\n        cmap=\"coolwarm\",\n        vmin=0,\n        vmax=30,\n    )\n    ax.invert_yaxis()\n\n    reward_top = ax.add_patch(\n        patches.Rectangle(\n            (reward_locs[0][1], reward_locs[0][0]),\n            1.0,\n            1.0,\n            linewidth=10,\n            edgecolor=[0.5, 0.5, 0.5],\n            facecolor=\"none\",\n        )\n    )\n    reward_bottom = ax.add_patch(\n        patches.Rectangle(\n            (reward_locs[1][1], reward_locs[1][0]),\n            1.0,\n            1.0,\n            linewidth=10,\n            edgecolor=[0.5, 0.5, 0.5],\n            facecolor=\"none\",\n        )\n    )\n\n    cue1_rect = ax.add_patch(\n        patches.Rectangle(\n            (cue1_loc[1], cue1_loc[0]),\n            1.0,\n            1.0,\n            linewidth=15,\n            edgecolor=[0.2, 0.7, 0.6],\n            facecolor=\"none\",\n        )\n    )\n    cue2_rect = ax.add_patch(\n        patches.Rectangle(\n            (cue2_loc[1], cue2_loc[0]),\n            1.0,\n            1.0,\n            linewidth=15,\n            edgecolor=[0.2, 0.7, 0.6],\n            facecolor=\"none\",\n        )\n    )\n    cue2_rect.set_visible(False)\n\n    qmark_offsets = (0.4, 0.6)\n    cue_texts = {}\n    for i, (r, c) in enumerate(env.cue2_locations):\n        cue_texts[(r, c)] = ax.text(c + qmark_offsets[0], r + qmark_offsets[1], \"?\", fontsize=55, color=\"k\")\n        if i == 0:\n            pass\n\n    ax.text(cue1_loc[1] + 0.3, cue1_loc[0] + 0.6, \"Cue 1\", fontsize=20)\n    ax.set_xticklabels([])\n    ax.set_yticklabels([])\n    ax.grid(which=\"minor\", color=\"w\", linestyle=\"-\", linewidth=2)\n    fig.tight_layout()\n\n    assets = load_assets(Path(__file__).resolve().parents[2] / \"pymdp\" / \"envs\" / \"assets\")\n    mouse_images = {\n        \"down\": OffsetImage(assets[\"mouse_down\"], zoom=0.05),\n        \"right\": OffsetImage(assets[\"mouse_right\"], zoom=0.05),\n        \"left\": OffsetImage(assets[\"mouse_left\"], zoom=0.05),\n        \"up\": OffsetImage(assets[\"mouse_up\"], zoom=0.05),\n    }\n    cheese_img = OffsetImage(assets[\"cheese\"], zoom=0.03)\n    shock_img = OffsetImage(assets[\"shock\"], zoom=0.13)\n\n    mouse_artists = {\n        name: AnnotationBbox(img, (points[0, 1] + 0.5, points[0, 0] + 0.5), frameon=False)\n        for name, img in mouse_images.items()\n    }\n    for name, artist in mouse_artists.items():\n        ax.add_artist(artist)\n        artist.set_visible(name == \"down\")\n\n    revealed_cue1 = False\n    revealed_cue2 = False\n    cheese_artist = None\n    shock_artist = None\n\n    def _set_mouse_heading(prev_xy: np.ndarray, curr_xy: np.ndarray) -> None:\n        dx = curr_xy[1] - prev_xy[1]\n        dy = curr_xy[0] - prev_xy[0]\n        if dx > 1e-6:\n            heading = \"right\"\n        elif dx < -1e-6:\n            heading = \"left\"\n        elif dy > 1e-6:\n            heading = \"down\"\n        elif dy < -1e-6:\n            heading = \"up\"\n        else:\n            heading = next(name for name, artist in mouse_artists.items() if artist.get_visible())\n\n        for name, artist in mouse_artists.items():\n            artist.set_visible(name == heading)\n            if name == heading:\n                artist.xy = (curr_xy[1] + 0.5, curr_xy[0] + 0.5)\n                artist.xybox = (curr_xy[1] + 0.5, curr_xy[0] + 0.5)\n                artist.set_zorder(3)\n\n    def init():\n        return [mesh, *mouse_artists.values()]\n\n    def update(frame_idx: int):\n        nonlocal revealed_cue1, revealed_cue2, cheese_artist, shock_artist\n        curr = points[frame_idx]\n        prev = points[max(frame_idx - 1, 0)]\n        curr_rc = (int(round(curr[0])), int(round(curr[1])))\n\n        if (not revealed_cue1) and curr_rc == cue1_loc:\n            revealed_cue1 = True\n            cue1_rect.set_visible(False)\n            cue2_rect.set_visible(True)\n            cue_grid[cue2_loc[0], cue2_loc[1]] = 15.0\n            mesh.set_array(cue_grid.ravel())\n            for coord, text in cue_texts.items():\n                if coord == cue2_loc:\n                    text.set_position((cue2_loc[1] + 0.3, cue2_loc[0] + 0.6))\n                    text.set_text(\"Cue 2\")\n                    text.set_fontsize(20)\n                else:\n                    text.set_visible(False)\n\n        if (not revealed_cue2) and curr_rc == cue2_loc:\n            revealed_cue2 = True\n            cue2_rect.set_visible(False)\n            if reward_condition == 0:\n                reward_top.set_edgecolor(\"g\")\n                reward_top.set_facecolor(\"g\")\n                reward_bottom.set_edgecolor([0.7, 0.2, 0.2])\n                reward_bottom.set_facecolor([0.7, 0.2, 0.2])\n            else:\n                reward_bottom.set_edgecolor(\"g\")\n                reward_bottom.set_facecolor(\"g\")\n                reward_top.set_edgecolor([0.7, 0.2, 0.2])\n                reward_top.set_facecolor([0.7, 0.2, 0.2])\n\n            cheese_artist = AnnotationBbox(\n                cheese_img,\n                (reward_loc[1] + 0.5, reward_loc[0] + 0.5),\n                frameon=False,\n            )\n            cheese_artist.set_zorder(2)\n            ax.add_artist(cheese_artist)\n\n            shock_artist = AnnotationBbox(\n                shock_img,\n                (shock_loc[1] + 0.5, shock_loc[0] + 0.5),\n                frameon=False,\n            )\n            shock_artist.set_zorder(2)\n            ax.add_artist(shock_artist)\n\n        _set_mouse_heading(prev, curr)\n        artists = [mesh, *mouse_artists.values()]\n        if cheese_artist is not None:\n            artists.append(cheese_artist)\n        if shock_artist is not None:\n            artists.append(shock_artist)\n        return artists\n\n    anim = FuncAnimation(\n        fig,\n        update,\n        frames=len(points),\n        init_func=init,\n        blit=True,\n        interval=1000 / max(fps, 1),\n    )\n\n    output_path.parent.mkdir(parents=True, exist_ok=True)\n    anim.save(output_path, writer=PillowWriter(fps=fps))\n    plt.close(fig)\n\n\ndef main():\n    parser = argparse.ArgumentParser(description=\"Generate chained-cue navigation GIFs.\")\n    parser.add_argument(\n        \"--output-dir\",\n        type=Path,\n        default=Path(\".github\"),\n        help=\"Directory to write GIFs into.\",\n    )\n    parser.add_argument(\"--fps\", type=int, default=15, help=\"GIF frames per second.\")\n    parser.add_argument(\"--timesteps\", type=int, default=12, help=\"Rollout timesteps.\")\n    parser.add_argument(\n        \"--interp-points\",\n        type=int,\n        default=10,\n        help=\"Interpolated points per step transition.\",\n    )\n    args = parser.parse_args()\n\n    # Legacy-matching variants:\n    # v1 -> cue2 state 0 (Cue 1), reward condition 0 (TOP)\n    # v2 -> cue2 state 2 (Cue 3), reward condition 1 (BOTTOM)\n    variants = [\n        (\"chained_cue_navigation_v1.gif\", 0, 0),\n        (\"chained_cue_navigation_v2.gif\", 2, 1),\n    ]\n\n    for filename, cue2_state, reward_condition in variants:\n        locations, env = rollout_locations(\n            cue2_state=cue2_state,\n            reward_condition=reward_condition,\n            num_timesteps=args.timesteps,\n            seed=0,\n            policy_len=4,\n        )\n        make_animation(\n            output_path=args.output_dir / filename,\n            env=env,\n            locations=locations,\n            fps=args.fps,\n            points_per_segment=args.interp_points,\n        )\n        print(f\"Saved {(args.output_dir / filename).as_posix()}\")\n\n\nif __name__ == \"__main__\":\n    main()\n"
  },
  {
    "path": "examples/envs/cue_chaining_demo.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"b803090f\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Active Inference Demo: Cue Chaining (JAX)\\n\",\n    \"\\n\",\n    \"This tutorial ports the legacy cue-chaining demo to modern JAX `pymdp` using:\\n\",\n    \"\\n\",\n    \"- `CueChainingEnv` (a reusable `PymdpEnv` subclass)\\n\",\n    \"- `Agent` for inference + planning\\n\",\n    \"- `rollout()` for a scanned active-inference loop\\n\",\n    \"\\n\",\n    \"The task is a two-stage epistemic chain:\\n\",\n    \"\\n\",\n    \"1. Visit **Cue 1** to learn which **Cue 2** location is informative.\\n\",\n    \"2. Visit that **Cue 2** location to learn which reward location is correct.\\n\",\n    \"3. Exploit by moving to the rewarding location.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"id\": \"b59618c1\",\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-02-17T16:40:06.154964Z\",\n     \"iopub.status.busy\": \"2026-02-17T16:40:06.154873Z\",\n     \"iopub.status.idle\": \"2026-02-17T16:40:16.988569Z\",\n     \"shell.execute_reply\": \"2026-02-17T16:40:16.988276Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"import jax.numpy as jnp\\n\",\n    \"import jax.random as jr\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import pandas as pd\\n\",\n    \"\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp.envs.cue_chaining import CueChainingEnv\\n\",\n    \"from pymdp.envs.rollout import rollout\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"4f715d31\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 1) Build the Cue-Chaining Environment\\n\",\n    \"\\n\",\n    \"We fix the hidden cue and reward condition for interpretability.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"id\": \"21de5c24\",\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-02-17T16:40:16.990191Z\",\n     \"iopub.status.busy\": \"2026-02-17T16:40:16.989980Z\",\n     \"iopub.status.idle\": \"2026-02-17T16:40:17.862819Z\",\n     \"shell.execute_reply\": \"2026-02-17T16:40:17.862419Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"A shapes: [(35, 35), (5, 35, 4), (3, 35, 4, 2), (3, 35, 2)]\\n\",\n      \"B shapes: [(35, 35, 5), (4, 4, 1), (2, 2, 1)]\\n\",\n      \"D shapes: [(35,), (4,), (2,)]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"env = CueChainingEnv(\\n\",\n    \"    grid_shape=(5, 7),\\n\",\n    \"    start_location=(0, 0),\\n\",\n    \"    cue1_location=(2, 0),\\n\",\n    \"    cue2_locations=((0, 2), (1, 3), (3, 3), (4, 2)),\\n\",\n    \"    reward_locations=((1, 5), (3, 5)),\\n\",\n    \"    cue2_state=3,       # active cue2 is L4\\n\",\n    \"    reward_condition=1, # reward at second reward location\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"print(\\\"A shapes:\\\", [a.shape for a in env.A])\\n\",\n    \"print(\\\"B shapes:\\\", [b.shape for b in env.B])\\n\",\n    \"print(\\\"D shapes:\\\", [d.shape for d in env.D])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"0785fbbc\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 2) Create the Agent (Generative Model)\\n\",\n    \"\\n\",\n    \"We keep the legacy cue-chaining prior structure:\\n\",\n    \"\\n\",\n    \"- The agent is certain about its **start location**.\\n\",\n    \"- The agent is uncertain (uniform) over latent **cue2 state** and **reward condition**.\\n\",\n    \"\\n\",\n    \"This lets short-horizon planning (`policy_len=4`) still prioritize epistemic actions (visiting cue1, then cue2).\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"id\": \"203e2547\",\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-02-17T16:40:17.865208Z\",\n     \"iopub.status.busy\": \"2026-02-17T16:40:17.865087Z\",\n     \"iopub.status.idle\": \"2026-02-17T16:40:18.998759Z\",\n     \"shell.execute_reply\": \"2026-02-17T16:40:18.997954Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"num_states: [35, 4, 2]\\n\",\n      \"num_obs: [35, 5, 3, 3]\\n\",\n      \"num_controls: [5, 1, 1]\\n\",\n      \"agent D shapes: [(35,), (4,), (2,)]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_92050/3369534931.py:12: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agent = Agent(\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"C = [jnp.zeros((a.shape[0],), dtype=jnp.float32) for a in env.A]\\n\",\n    \"C[3] = C[3].at[1].set(3.0)\\n\",\n    \"C[3] = C[3].at[2].set(-6.0)\\n\",\n    \"\\n\",\n    \"# Legacy-style prior: known initial location, uncertain latent context.\\n\",\n    \"D_agent = [\\n\",\n    \"    env.D[0],\\n\",\n    \"    jnp.ones_like(env.D[1]) / env.D[1].shape[0],\\n\",\n    \"    jnp.ones_like(env.D[2]) / env.D[2].shape[0],\\n\",\n    \"]\\n\",\n    \"\\n\",\n    \"agent = Agent(\\n\",\n    \"    A=env.A,\\n\",\n    \"    B=env.B,\\n\",\n    \"    C=C,\\n\",\n    \"    D=D_agent,\\n\",\n    \"    A_dependencies=env.A_dependencies,\\n\",\n    \"    B_dependencies=env.B_dependencies,\\n\",\n    \"    policy_len=4,\\n\",\n    \"    action_selection='deterministic',\\n\",\n    \"    batch_size=1,\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"print(\\\"num_states:\\\", agent.num_states)\\n\",\n    \"print(\\\"num_obs:\\\", agent.num_obs)\\n\",\n    \"print(\\\"num_controls:\\\", agent.num_controls)\\n\",\n    \"print(\\\"agent D shapes:\\\", [d.shape for d in D_agent])\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"92e9b6a5\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 3) Run `rollout()`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"id\": \"ea613d7d\",\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-02-17T16:40:19.000570Z\",\n     \"iopub.status.busy\": \"2026-02-17T16:40:19.000446Z\",\n     \"iopub.status.idle\": \"2026-02-17T16:40:20.737451Z\",\n     \"shell.execute_reply\": \"2026-02-17T16:40:20.736672Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"action shape: (1, 11, 3)\\n\",\n      \"location observation shape: (1, 11, 1)\\n\",\n      \"reward observation shape: (1, 11, 1)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"T = 10\\n\",\n    \"_, info = rollout(agent, env, num_timesteps=T, rng_key=jr.PRNGKey(0))\\n\",\n    \"\\n\",\n    \"print(\\\"action shape:\\\", info[\\\"action\\\"].shape)\\n\",\n    \"print(\\\"location observation shape:\\\", info[\\\"observation\\\"][0].shape)\\n\",\n    \"print(\\\"reward observation shape:\\\", info[\\\"observation\\\"][3].shape)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"13dc607b\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 4) Decode Observations and Actions\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"id\": \"c6a9125f\",\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-02-17T16:40:20.738979Z\",\n     \"iopub.status.busy\": \"2026-02-17T16:40:20.738871Z\",\n     \"iopub.status.idle\": \"2026-02-17T16:40:20.790395Z\",\n     \"shell.execute_reply\": \"2026-02-17T16:40:20.790080Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<div>\\n\",\n       \"<style scoped>\\n\",\n       \"    .dataframe tbody tr th:only-of-type {\\n\",\n       \"        vertical-align: middle;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe tbody tr th {\\n\",\n       \"        vertical-align: top;\\n\",\n       \"    }\\n\",\n       \"\\n\",\n       \"    .dataframe thead th {\\n\",\n       \"        text-align: right;\\n\",\n       \"    }\\n\",\n       \"</style>\\n\",\n       \"<table border=\\\"1\\\" class=\\\"dataframe\\\">\\n\",\n       \"  <thead>\\n\",\n       \"    <tr style=\\\"text-align: right;\\\">\\n\",\n       \"      <th></th>\\n\",\n       \"      <th>t</th>\\n\",\n       \"      <th>loc</th>\\n\",\n       \"      <th>cue1_obs</th>\\n\",\n       \"      <th>cue2_obs</th>\\n\",\n       \"      <th>reward_obs</th>\\n\",\n       \"      <th>action</th>\\n\",\n       \"    </tr>\\n\",\n       \"  </thead>\\n\",\n       \"  <tbody>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>0</th>\\n\",\n       \"      <td>0</td>\\n\",\n       \"      <td>(0, 0)</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>DOWN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>1</th>\\n\",\n       \"      <td>1</td>\\n\",\n       \"      <td>(1, 0)</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>DOWN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>2</th>\\n\",\n       \"      <td>2</td>\\n\",\n       \"      <td>(2, 0)</td>\\n\",\n       \"      <td>L4</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>DOWN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>3</th>\\n\",\n       \"      <td>3</td>\\n\",\n       \"      <td>(3, 0)</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>DOWN</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>4</th>\\n\",\n       \"      <td>4</td>\\n\",\n       \"      <td>(4, 0)</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>RIGHT</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>5</th>\\n\",\n       \"      <td>5</td>\\n\",\n       \"      <td>(4, 1)</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>RIGHT</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>6</th>\\n\",\n       \"      <td>6</td>\\n\",\n       \"      <td>(4, 2)</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>reward_on_bottom</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>UP</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>7</th>\\n\",\n       \"      <td>7</td>\\n\",\n       \"      <td>(3, 2)</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>RIGHT</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>8</th>\\n\",\n       \"      <td>8</td>\\n\",\n       \"      <td>(3, 3)</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>RIGHT</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>9</th>\\n\",\n       \"      <td>9</td>\\n\",\n       \"      <td>(3, 4)</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>RIGHT</td>\\n\",\n       \"    </tr>\\n\",\n       \"    <tr>\\n\",\n       \"      <th>10</th>\\n\",\n       \"      <td>10</td>\\n\",\n       \"      <td>(3, 5)</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Null</td>\\n\",\n       \"      <td>Cheese</td>\\n\",\n       \"      <td>STAY</td>\\n\",\n       \"    </tr>\\n\",\n       \"  </tbody>\\n\",\n       \"</table>\\n\",\n       \"</div>\"\n      ],\n      \"text/plain\": [\n       \"     t     loc cue1_obs          cue2_obs reward_obs action\\n\",\n       \"0    0  (0, 0)     Null              Null       Null   DOWN\\n\",\n       \"1    1  (1, 0)     Null              Null       Null   DOWN\\n\",\n       \"2    2  (2, 0)       L4              Null       Null   DOWN\\n\",\n       \"3    3  (3, 0)     Null              Null       Null   DOWN\\n\",\n       \"4    4  (4, 0)     Null              Null       Null  RIGHT\\n\",\n       \"5    5  (4, 1)     Null              Null       Null  RIGHT\\n\",\n       \"6    6  (4, 2)     Null  reward_on_bottom       Null     UP\\n\",\n       \"7    7  (3, 2)     Null              Null       Null  RIGHT\\n\",\n       \"8    8  (3, 3)     Null              Null       Null  RIGHT\\n\",\n       \"9    9  (3, 4)     Null              Null       Null  RIGHT\\n\",\n       \"10  10  (3, 5)     Null              Null     Cheese   STAY\"\n      ]\n     },\n     \"execution_count\": 5,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"records = []\\n\",\n    \"for t in range(T + 1):\\n\",\n    \"    loc_obs = int(info[\\\"observation\\\"][0][0, t, 0])\\n\",\n    \"    cue1_obs = int(info[\\\"observation\\\"][1][0, t, 0])\\n\",\n    \"    cue2_obs = int(info[\\\"observation\\\"][2][0, t, 0])\\n\",\n    \"    rew_obs = int(info[\\\"observation\\\"][3][0, t, 0])\\n\",\n    \"    action_idx = int(info[\\\"action\\\"][0, t, 0])\\n\",\n    \"\\n\",\n    \"    records.append(\\n\",\n    \"        {\\n\",\n    \"            \\\"t\\\": t,\\n\",\n    \"            \\\"loc\\\": env.index_to_coords(loc_obs),\\n\",\n    \"            \\\"cue1_obs\\\": env.cue1_obs_names[cue1_obs],\\n\",\n    \"            \\\"cue2_obs\\\": env.cue2_obs_names[cue2_obs],\\n\",\n    \"            \\\"reward_obs\\\": env.reward_obs_names[rew_obs],\\n\",\n    \"            \\\"action\\\": env.ACTION_LABELS[action_idx],\\n\",\n    \"        }\\n\",\n    \"    )\\n\",\n    \"\\n\",\n    \"trajectory_df = pd.DataFrame(records)\\n\",\n    \"trajectory_df\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"e9b08794\",\n   \"metadata\": {},\n   \"source\": [\n    \"## 5) Visualize the trajectory\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"id\": \"ee345b31\",\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-02-17T16:40:20.791550Z\",\n     \"iopub.status.busy\": \"2026-02-17T16:40:20.791455Z\",\n     \"iopub.status.idle\": \"2026-02-17T16:40:21.209469Z\",\n     \"shell.execute_reply\": \"2026-02-17T16:40:21.209081Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAnwAAAHqCAYAAACeOpOVAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUcRJREFUeJzt3QeYE+XaxvE72UbvRXqTXhQQFFFEQBFRERsWPux4rCBWVFRs6LH3BurxgEfUI2IBVJSiFKWIBwURUBGlwy7ba/Jdz2DW3WWBbewkw//nFdlM2pOZSXLnfd954wsGg0EBAADAs/xuFwAAAICDi8AHAADgcQQ+AAAAjyPwAQAAeByBDwAAwOMIfAAAAB5H4AMAAPA4Ah8AAIDHEfgAAAA8jsCHQ9bcuXPl8/n03nvvldl93nvvvc59lsQbb7zh3Pa3335TJGrevLkuueSSvdav/Rtu3nnnHdWqVUvJycme3y4ldTC2X2leH2XFtqPVYNvVy4455hjdeuutbpeBMELgQ5lYv369rrrqKrVs2VIVKlRQtWrV1Lt3bz399NNKS0tzuzx4VGpqqhMiihNKcnJydM899+j6669XlSpVcpc/9NBD+uCDDw5SpSiOt956S0899ZQi0aZNm5x9csWKFa7Wcdttt+n555/Xli1bXK0D4YPAh1L75JNP1LlzZ6fV5PTTT9ezzz6rCRMmqGnTprrllls0atQoHSruuuuuEgfc//u//3Nu26xZszKvy8uBb/z48cUKfB999JHWrFmjkSNH5lu+r8DHdvFW4LPtaNvTtuvBCny2T7od+IYMGeJ88X7hhRdcrQPhI9rtAhDZfv31V51//vnOm+iXX36pBg0a5F527bXXat26dU4gPFRER0c7p5KIiopyTuEiJSVFlStXlte8/vrrTutzo0aNInK7IL/09HTFxsbK7y9a+4V151ovRKQp7uvR1sc555yjN9980wmgbnelw3208KFU/vnPfzrjoCZNmpQv7IUcfvjhuS18+xs7Y8utGySvP//8U5dddpnq16+vuLg4dezYUa+99lqRa0tISNCNN97ojC2z2zdu3FgjRozQjh078l0vEAjowQcfdC63D4L+/fs7QTWvr776Sueee67Tamn31aRJE+e+C7bmFTZGyc5fd911TutRp06dcp/LrFmzDjhWzGo/7bTT9PXXX6tnz55OfdZtbm/iBf3vf//TCSecoIoVKzrP5YEHHnDCTVHGn9nYO+vetK75U089VVWrVtVFF12U+0Fz0003Oc/Zam/btq0ee+wxBYNBlcS7776r7t27O3XWqVNHw4cPd7Z1Xn379nVOhdVp68TYc6pbt67zd+gDrbD9qGA4sPU+YMCAfMvtdvY8//Wvf+XeT2g84v62i7UsHnXUUc5zsVbuUEvj+++/75y37WXP9bvvvturlp9++sn5QLaxhHY9u58PP/ywyOvR1tnll1+uhg0bOtulRYsWuvrqq5WZmZl7nV9++cXZb+0xKlWq5IzrKuwL2B9//KEzzzzTCRT16tVz9u2MjIxCH/ebb77RKaecourVqzv3afvcggUL9rqe7bM9evRwnlurVq308ssvF+l52Xa3Gjds2JC7LULbPDSu8O2333Za0y20Ww2JiYnatWuXbr75Zme9275srVuDBg3S999/n+/+9/U+VNTtsb/3FavPnrO59NJLc+vP+1hF2f/39Xq0oQgxMTHavn37XnVZi3WNGjWcfTzkpJNOctaj262NCA+08KFUrHvMAsixxx5bpve7detW58MpFJbsg33mzJnOB5y9uY8ePXq/t7cQevzxx2v16tVOaOzWrZvzhmxv4PbhZm+0IQ8//LDzbdg+LHbv3u2EWHtztQ+2vG/S1n1oH6i1a9fWt99+63Rd233ZZQdiH34WAq655hrnzfuZZ57R2Wefrd9//925v/2x8GkfRPbcL774Yif02geCfWhYcDT2gXHiiSc662vs2LHOB/fEiROdD6Siys7O1sCBA3Xcccc5gc4+SC3UnXHGGZozZ47z+EceeaQ+/fRTp6veHvPJJ59UcdgHn30Q2oeidfvbdrZxnhYYLBTZB1ZR2T7x4osvOttk6NChOuuss5zlXbp02edtli1b5gQi2x/y+ve//60rrrjCCdWhrl4LKQfaLhdeeKEzdtU+tG2d2ZCGl156SXfccYezrY09z/POO8/pRg61Qv3444+5rYy33367s71sSISFrv/+97/O8zlQt6HVauHD6m3Xrp2zPewAJNtPrcXL1q29Lu38DTfc4OxnFmhte9r1Qo9hX1rsS47ti3Y9C5C2PqzFviBbZiHK9j0LH/Z87EtFv379nC9FVpNZuXKlTj75ZGcbWQC3fcuub1/eDuTOO+90Xof22grtX3nHWpr777/feY72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\",\n      \"text/plain\": [\n       \"<Figure size 1000x500 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"fig, ax = plt.subplots(figsize=(10, 5))\\n\",\n    \"rows, cols = env.grid_shape\\n\",\n    \"\\n\",\n    \"for r in range(rows):\\n\",\n    \"    for c in range(cols):\\n\",\n    \"        ax.add_patch(plt.Rectangle((c, r), 1, 1, facecolor=\\\"white\\\", edgecolor=\\\"black\\\", linewidth=1))\\n\",\n    \"\\n\",\n    \"c1r, c1c = env.cue1_location\\n\",\n    \"ax.add_patch(plt.Rectangle((c1c, c1r), 1, 1, facecolor=\\\"#d6bcfa\\\", edgecolor=\\\"#553c9a\\\", linewidth=2))\\n\",\n    \"ax.text(c1c + 0.5, c1r + 0.5, \\\"Cue1\\\", ha=\\\"center\\\", va=\\\"center\\\", fontsize=9)\\n\",\n    \"\\n\",\n    \"active_cue_idx = int(info[\\\"env_state\\\"][1][0, 0])\\n\",\n    \"for i, (r, c) in enumerate(env.cue2_locations):\\n\",\n    \"    color = \\\"#68d391\\\" if i == active_cue_idx else \\\"#e2e8f0\\\"\\n\",\n    \"    ax.add_patch(plt.Rectangle((c, r), 1, 1, facecolor=color, edgecolor=\\\"#2d3748\\\", linewidth=2))\\n\",\n    \"    ax.text(c + 0.5, r + 0.5, env.cue2_names[i], ha=\\\"center\\\", va=\\\"center\\\", fontsize=9)\\n\",\n    \"\\n\",\n    \"true_reward_state = int(info[\\\"env_state\\\"][2][0, 0])\\n\",\n    \"for i, (r, c) in enumerate(env.reward_locations):\\n\",\n    \"    is_reward = i == true_reward_state\\n\",\n    \"    face = \\\"#9ae6b4\\\" if is_reward else \\\"#feb2b2\\\"\\n\",\n    \"    label = \\\"Cheese\\\" if is_reward else \\\"Shock\\\"\\n\",\n    \"    ax.add_patch(plt.Rectangle((c, r), 1, 1, facecolor=face, edgecolor=\\\"#1a202c\\\", linewidth=2))\\n\",\n    \"    ax.text(c + 0.5, r + 0.5, label, ha=\\\"center\\\", va=\\\"center\\\", fontsize=8)\\n\",\n    \"\\n\",\n    \"coords = [env.index_to_coords(int(info[\\\"observation\\\"][0][0, t, 0])) for t in range(T + 1)]\\n\",\n    \"xs = [c + 0.5 for _, c in coords]\\n\",\n    \"ys = [r + 0.5 for r, _ in coords]\\n\",\n    \"ax.plot(xs, ys, color=\\\"#2b6cb0\\\", linewidth=2)\\n\",\n    \"ax.scatter(xs, ys, c=range(T + 1), cmap=\\\"viridis\\\", s=50)\\n\",\n    \"\\n\",\n    \"for t, (x, y) in enumerate(zip(xs, ys)):\\n\",\n    \"    ax.text(x, y - 0.2, str(t), ha=\\\"center\\\", va=\\\"center\\\", fontsize=7)\\n\",\n    \"\\n\",\n    \"ax.set_xlim(0, cols)\\n\",\n    \"ax.set_ylim(rows, 0)\\n\",\n    \"ax.set_aspect(\\\"equal\\\")\\n\",\n    \"ax.set_title(\\\"Cue-chaining rollout (time-coded trajectory)\\\")\\n\",\n    \"ax.set_xticks(range(cols + 1))\\n\",\n    \"ax.set_yticks(range(rows + 1))\\n\",\n    \"plt.tight_layout()\\n\",\n    \"plt.show()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"f17c82fc\",\n   \"metadata\": {},\n   \"source\": [\n    \"This reusable environment can now be used directly in future planning and docs demos.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.11.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 5\n}\n"
  },
  {
    "path": "examples/envs/generalized_tmaze_demo.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# T-Maze Task with Distractors\\n\",\n    \"\\n\",\n    \"In this tutorial, we set up a T-maze task where an agent navigates a grid to locate rewards. The agent can move in four directions: up, down, left, or right. \\n\",\n    \"\\n\",\n    \"The agent would navigate to the cues to obtain information about two potential reward locations. While these cues guide the agent's search, they do not guarantee the presence of a real reward. The agent must learn that some cues are distractors, so it may follow them initially but should recognize when a location does not contain a real reward and continue exploring.\\n\",\n    \"\\n\",\n    \"This is to test sophisticated inference. \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Initial Setup\\n\",\n    \"To run this notebook, it's recommended to use a virtual environment. You can refer to [this guide](https://packaging.python.org/en/latest/guides/installing-using-pip-and-virtual-environments/) to learn how to set up a virtual environment.\\n\",\n    \"\\n\",\n    \"Then, install the current repo as a package in editable mode by running the following command in your terminal:\\n\",\n    \"```bash\\n\",\n    \"pip install -e .\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"And then, install mediapy by running the following command in your terminal:\\n\",\n    \"```bash\\n\",\n    \"pip install mediapy\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"%load_ext autoreload\\n\",\n    \"%autoreload 2\\n\",\n    \"\\n\",\n    \"from jax import numpy as jnp, random as jr\\n\",\n    \"\\n\",\n    \"from pymdp.envs.generalized_tmaze import (\\n\",\n    \"    GeneralizedTMazeEnv, parse_maze, get_maze_matrix \\n\",\n    \")\\n\",\n    \"\\n\",\n    \"from pymdp.envs.rollout import rollout\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp.utils import list_array_uniform\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Creating the Environment\\n\",\n    \"\\n\",\n    \"The environment consists of the following elements, which are represented in the figure:\\n\",\n    \"\\n\",\n    \"- **Agent (Green Square)**: The agent starts at a designated position and explores the grid to locate rewards.\\n\",\n    \"- **Cues and Reward Sets**: Each colour represents a set that includes one cue (marked by a black cross) and two potential reward locations associated with that cue.\\n\",\n    \"  - **Green Set (True Reward Set)**: Contains real outcomes. Each reward location has a secondary dot to indicate the type of outcome:\\n\",\n    \"    - **Red Dot**: Indicates a reward.\\n\",\n    \"    - **Blue Dot**: Indicates a punishment.\\n\",\n    \"  - **Orange and Blue Sets (Distractor Sets)**: These are distractor sets that do not contain real rewards. The reward locations in these sets lack a secondary dot, indicating a false reward location. Although the cues point to these locations, they do not contain actual rewards.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<Figure size 640x480 with 0 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAxoAAALVCAYAAABHiZeHAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAgA1JREFUeJzs3Xd0VHX+//HXnclMeichCQkp9G4ERBQEFAULP1FURFSwrigiuqxlv7t2xbXsulixUVwLrrIrgqKigB0QjPQeSJBACJBOyszc3x8js4QkkIQbSvJ8nDNHcudz733PZJD7mk+5hmmapgAAAADAQrYTXQAAAACApoegAQAAAMByBA0AAAAAliNoAAAAALAcQQMAAACA5QgaAAAAACxH0AAAAABgOYIGAAAAAMsRNAAAAABYjqABoNl7+OGHZRhGlW0pKSkaO3bsca1j+vTpMgxD27ZtO67nRd3w+wGA+iFoAKhRZmamxo8fr/bt2ysoKEhBQUHq3Lmz7rjjDq1cufJEl9csbdu2TYZh1OlR28VwSkqKDMPQ4MGDa3z+9ddf9x3j559/bsRX0zBHew+eeuqpE11is/Luu+/q+eefP9FlADhJ+Z3oAgCcfObOnauRI0fKz89Po0ePVo8ePWSz2bR+/XrNnj1br7zyijIzM5WcnHyiS200GzZskM12cn0XExMTo7fffrvKtueee047duzQP/7xj2ptaxMQEKCFCxdq165diouLq/LcO++8o4CAAJWVlVlXeCMYNWqULrroomrb09PTG+2c1113na6++mr5+/s32jlONe+++65Wr16tiRMnnuhSAJyECBoAqtiyZYuuvvpqJScn66uvvlJ8fHyV5//2t7/p5ZdfPukuwg9VUlKi4ODgYzrGyXgxGRwcrGuvvbbKtvfff1/79++vtv1Izj77bC1btkyzZs3SXXfd5du+Y8cOffvtt7rsssv00UcfWVZ3Yzj99NPr9ZqtYLfbZbfbj9jGNE2VlZUpMDDwOFUFACevk/dKAcAJ8fTTT6ukpETTpk2rFjIkyc/PTxMmTFBSUlKV7evXr9cVV1yhqKgoBQQEqFevXpozZ06VNgfHuH///fe65557FBMTo+DgYF122WXas2dPtXN99tln6t+/v4KDgxUaGqqLL75Ya9asqdJm7NixCgkJ0ZYtW3TRRRcpNDRUo0ePliR9++23uvLKK9W6dWv5+/srKSlJd999tw4cOHDU9+HwORp1HaZUl/dBktasWaNzzz1XgYGBSkxM1OOPPy6Px3PUuqwQEBCgyy+/XO+++26V7e+9954iIyM1ZMiQavusXLlSY8eOVVpamgICAhQXF6cbb7xRe/fu9bU52rCmQy1ZskRDhw5VeHi4goKCNGDAAH3//feWvs6UlBRdcskl+u6773TGGWcoICBAaWlpmjlzpq/Nzz//LMMwNGPGjGr7f/755zIMQ3PnzpVU8xyNg+f4/PPP1atXLwUGBmrq1KmSpK1bt+rKK69UVFSUgoKCdOaZZ2revHlVzrFo0SIZhqEPPvhATzzxhBITExUQEKDzzjtPmzdvrtJ24MCB6tq1q1auXKkBAwYoKChIbdu21YcffihJWrx4sfr06aPAwEB16NBBCxYsqPaafvvtN914441q2bKl/P391aVLF7311lsNqmngwIGaN2+etm/f7vsdp6Sk1OE3A6C5oEcDQBVz585V27Zt1adPnzrvs2bNGp199tlq1aqV7r//fgUHB+uDDz7Q8OHD9dFHH+myyy6r0v7OO+9UZGSkHnroIW3btk3PP/+8xo8fr1mzZvnavP322xozZoyGDBmiv/3tbyotLdUrr7yifv366ZdffqlyQeNyuTRkyBD169dPzz77rIKCgiRJ//73v1VaWqpx48YpOjpaS5cu1QsvvKAdO3bo3//+d73el8OHLEnSX/7yF+Xm5iokJKRe78OuXbs0aNAguVwuX7vXXnvtuH4Lfs011+iCCy7Qli1b1KZNG0neYTBXXHGFHA5HtfZffvmltm7dqhtuuEFxcXFas2aNXnvtNa1Zs0Y//fSTDMOocWhXZWWl7r77bjmdTt+2r7/+WhdeeKF69uyphx56SDabTdOmTdO5556rb7/9VmecccZR6y8tLVVeXl617REREfLz+98/bZs3b9YVV1yhm266SWPGjNFbb72lsWPHqmfPnurSpYt69eqltLQ0ffDBBxozZkyVY82aNavW4HWoDRs2aNSoUfrDH/6gW265RR06dNDu3bt11llnqbS0VBMmTFB0dLRmzJih//f//p8+/PDDan8nnnrqKdlsNk2aNEkFBQV6+umnNXr0aC1ZsqRKu/379+uSSy7R1VdfrSuvvFKvvPKKrr76ar3zzjuaOHGibrvtNl1zzTV65plndMUV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hYVZ9nmxwsiRI/XII4/oo48+UsuWLVVYWFhliFJ9JScn1/j7XL9+ve/54ykmJkahoaFyu92Wvu+19YABgMTytgAOc++99yooKEg33nijdu/eXe35w7/NjI2N1cCBAzV16lTl5ORUa1/TsrVHM2TIEIWFhenJJ59UZWVlg4558NvYQ+s1TVP//Oc/612PJE2bNk1Tp07VSy+9VGMAq8/7cNFFF+mnn37S0qVLqzz/zjvvNKi2w3Xu3FmDBw/2PXr27Flr25tvvlkPPfSQnnvuuVrb1PReSqrxjtCPPPKIPv/8c7333ns1Dinq2bOn2rRpo2effbbGIXoN+bxYoVOnTurWrZtmzZqlWbNmKT4+Xuecc06Dj3fRRRdp6dKl+vHHH33bSkpK9NprryklJaXaXJLGZrfbNWLECH300Uc19lg29H0PDg5u8DBEAE0fPRoAqmjXrp3effddjRo1Sh06dPDdGdw0TWVmZurdd9+VzWarMifipZdeUr9+/dStWzfdcsstSktL0+7du/Xjjz9qx44d+vXXX+tVQ1hYmF555RVdd911Ov3003X11VcrJiZGWVlZmjdvns4++2y9+OKLRzxGx44d1aZNG02aNEm//fabwsLC9NFHHzVofHleXp5uv/12de7cWf7+/vrXv/5V5fnLLrtMwcHBdX4f7r33Xr399tsaOnSo7rrrLt/ytsnJyVq5cmW96zsWycnJevjhh4/YJiwsTOecc46efvppVVZWqlWrVvriiy+UmZlZpd2qVav02GOP6ZxzzlFubm619+naa6+VzWbTG2+8oQsvvFBdunTRDTfcoFatWum3337TwoULFRYWpk8++eSoda9YsaLa8SVvj0nfvn2P/sJrMHLkSD344IMKCAjQTTfddEw3pbz//vv13nvv6cILL9SECRMUFRWlGTNmKDMzUx999NEJueHlU089pYULF6pPnz665ZZb1LlzZ+3bt08rVqzQggULtG/fvnofs2fPnpo1a5buuece9e7dWyEhIRo2bFgjVA/gVETQAFDNpZdeqlWrVum5557TF198obfeekuGYSg5OVkXX3yxbrvtNvXo0cPXvnPnzvr555/1yCOPaPr06dq7d69iY2OVnp5eZahNfVxzzTVKSEjQU089pWeeeUbl5eVq1aqV+vfvrxtuuOGo+zscDn3yySeaMGGCJk+erICAAF12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bF133XVVtl133XW1rkZlhZdeeklut1tnnHGGPvroI23atEnr1q3TlClT1LdvXwUGBurMM8/UU089pXXr1mnx4sX6y1/+UuUYd9xxh/bt26dRo0Zp2bJl2rJliz7//HPdcMMNcrvdjVY7jg1BAwAAoBk4fOL3999/X+MEcaulpaVpxYoVGjRokP74xz+qa9euOv/88/XVV1/plVdekSS99dZbcrlc6tmzpyZOnKjHH3+8yjESEhL0/fffy+1264ILLlC3bt00ceJERURE+IZe4eRjmFbN0qmjwsJChYeHq6CgQGFhYcfz1AAAACetI10jlZWVKTMzU6mpqQoICKj3sQ8PGQfnZNS2HahNfT6LREAAAIAmrKKiQoMHD64xTBy+GtXgwYMtvY8GmjeCBgAAQBPmdDr16KOPqn379jX2WBwMG+3bt9ejjz5q6X000LyxvC0AAEATN3LkSF122WW1hoikpCStWrWKkAFL0aMBAADQDBwtRBAyYDWCBgAAAADLETQAAAAAWI6gAQAAAMByBA0AAAAAlmPVKQAAgObENKW9e6XiYikkRIqOlgzjRFeFJogeDQAAgOYgP1/65z+ldu2kmBgpNdX733btvNvz8090hSedgQMHauLEiSe6jFMWQQMAAKCp+/xzKTFRuvtuaevWqs9t3erdnpjobWexsWPHyjAMGYYhh8Oh1NRU3XvvvSorK7P8XDi5EDQAAACass8/ly6+WDpwwDtsyjSrPn9w24ED3naNEDaGDh2qnJwcbd26Vf/4xz80depUPfTQQ5afpyFM05TL5TrRZTRJBA0AAICmKj9fGjHCGyQ8niO39Xi87UaMsHwYlb+/v+Li4pSUlKThw4dr8ODB+vLLL38/rUeTJ09WamqqAgMD1aNHD3344Ye+fXv16qVnn33W9/Pw4cPlcDhUXFwsSdqxY4cMw9DmzZslSW+//bZ69eql0NBQxcXF6ZprrlFubq5v/0WLFskwDH322Wfq2bOn/P399d1336mkpETXX3+9QkJCFB8fr+eee87S96A5ImgAAAA0VTNmSKWlRw8ZB3k83vYzZzZaSatXr9YPP/zguxP55MmTNXPmTL366qtas2aN7r77bl177bVavHixJGnAgAFatGiRJG/vw7fffquIiAh99913kqTFixerVatWatu2rSSpsrJSjz32mH799Vf997//1bZt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QYMGacaMGTIMQ/n5+b423333nfr376/AwEAlJSVpwoQJKin5X69LSkqKnnzySd14440KDQ1V69at9dprr/meT01NlSSlp6fLMAwNHDiwMV8yRNAAAABAI/vggw/UsWNHdejQQddee63eeustmaYpScrMzNQVV1yh4cOH69dff9Uf/vAH/d///V+V/bds2aKhQ4dqxIgRWrlypWbNmqXvvvtO48ePr9LuueeeU69evfTLL7/o9ttv17hx47RhwwZJ0tKlSyVJCxYsUE5OjmbPnn0cXnnzRtAAAABAo3rzzTd17bXXSpKGDh2qgoICLV68WJI0depUdejQQc8884w6dOigq6++WmPHjq2y/+TJkzV69GhNnDhR7dq101lnnaUpU6Zo5syZKisr87W76KKLdPvtt6tt27a677771KJFCy1cuFCSFBMTI0mKjo5WXFycoqKijsMrb94IGgAAAGg0GzZs0NKlSzVq1ChJkp+fn0aOHKk333zT93zv3r2r7HPGGWdU+fnXX3/V9OnTFRIS4nsMGTJEHo9HmZmZvnbdu3f3/dkwDMXFxSk3N7exXhqOguVtAQAA0GjefPNNuVwuJSQk+LaZpil/f3+9+OKLdTpGcXGx/vCHP2jChAnVnmvdurXvzw6Ho8pzhmHI4/E0sHIcK4IGAAAAGoXL5dLMmTP13HPP6YILLqjy3PDhw/Xee++pQ4cO+vTTT6s8t2zZsio/n3766Vq7dq3atm3b4FqcTqckye12N/gYqB+CBgAAABrF3LlztX//ft10000KDw+v8tyIESP05ptv6oMPPtDf//533XfffbrpppuUkZHhW5XKMAxJ0n333aczzzxT48eP180336zg4GCtXbtWX375ZZ17RWJjYxUYGKj58+crMTFRAQEB1WqCtZijAQAAgEbx5ptvavDgwTVe0I8YMUI///yzioqK9OGHH2r27Nnq3r27XnnlFd+qU/7+/pK8cy8WL16sjRs3qn///kpPT9eDDz5YZTjW0fj5+WnKlCmaOnWqEhISdOmll1rzIlErwzy4tthxUlhYqPDwcBUUFCgsLOx4nhoAAOCkdaRrpLKyMmVmZio1NVUBAQF1Ot7avWs1cu7IBtcz65JZ6hzducH7H4snnnhCr776qrKzs0/I+VG7+nwWGToFAACAE+rll19W7969FR0dre+//17PPPNMtXtk4NRD0AAAAMAJtWnTJj3++OPat2+fWrdurT/+8Y964IEHTnRZOEYEDQAAgCYo2BF8Qvevj3/84x/6xz/+cdzOh+ODoAEAANAEJYcla+5lc1VSWVLvfYMdwUoOS26EqtCcEDQAAACaKMICTiSWtwUAAABgOYIGAAAAAMsxdAoAAKAZMU1TZZUeVbg9ctptCnDYfHfgBqxE0AAAAGgGyirdWptTqGWZ+7R9b4ncHlN2m6Hk6GD1To1S5/gwBTjsJ7pMNCEEDQAAgCZuW16JZv2cre17S2TIUGSQQ06nXS63Ryt3FOjXHflKjg7WyF5JSmlx/Ja1PZxhGPrPf/6j4cOHn7AaYB3maAAAADRh2/JKNO37TG3PK1FyVLDaxoYoOsRf4YEORYf4q21siJKjgrX993bb8uq/HO6RjB07VoZhyDAMORwOtWzZUueff77eeusteTyeKm1zcnJ04YUX1um4hmHov//9r6W11ubhhx/Waaed1qjneP3119WjRw+FhIQoIiJC6enpmjx5cp3337ZtmwzDUEZGxlHbTpgwQT179pS/v3+jvi6CBgAAQBNVVunWrJ+ztaeoXG1jQ+T0q/nSz+lnU9vYEO0pKtesn7NVVum2tI6hQ4cqJydH27Zt02effaZBgwbprrvu0iWXXCKXy+VrFxcXJ39/f8vOW1FRYdmxrFBbPW+99ZYmTpyoCRMmKCMjQ99//73uvfdeFRcXN1otN954o0aOHNlox5cIGgAAAE3W2pxCbd9bouTo4KNO+DYM73yN7XtLtC6n0NI6/P39FRcXp1atWun000/Xn//8Z3388cf67LPPNH369Co1HOylqKio0Pjx4xUfH6+AgAAlJyf7vuFPSUmRJF122WUyDMP388GehzfeeEOpqakKCAiQJM2fP1/9+vVTRESEoqOjdckll2jLli1VatyxY4dGjRqlqKgoBQcHq1evXlqyZImmT5+uRx55RL/++quvZ+ZgzVlZWbr00ksVEhKisLAwXXXVVdq9e7fvmLXVc7g5c+boqquu0k033aS2bduqS5cuGjVqlJ544okq7d544w116tRJAQEB6tixo15++WXfc6mpqZKk9PR0GYahgQMH1vr7mDJliu644w6lpaXV2sYKzNEAAABogkzT1LLMfTJk1NqTcTinn02GDC3N3KfTkiIadTWqc889Vz169NDs2bN18803V3t+ypQpmjNnjj744AO1bt1a2dnZys7OliQtW7ZMsbGxmjZtmoYOHSq7/X+T2Ddv3qyPPvpIs2fP9m0vKSnRPffco+7du6u4uFgPPvigLrvsMmVkZMhms6m4uFgDBgxQq1atNGfOHMXFxWnFihXyeDwaOXKkVq9erfnz52vBggWSpPDwcHk8Hl/IWLx4sVwul+644w6NHDlSixYtOmI9h4uLi9PixYu1fft2JSfXfJPFd955Rw8++KBefPFFpaen65dfftEtt9yi4OBgjRkzRkuXLtUZZ5yhBQsWqEuXLnI6nQ36vViJoAEAANAElVV6tH1viSKDHPXaLzLIoe17S1RW6VGgs3FXoerYsaNWrlxZ43NZWVlq166d+vXr5+1tOeQCPCYmRpIUERGhuLi4KvtVVFRo5syZvjaSNGLEiCpt3nrrLcXExGjt2rXq2rWr3n33Xe3Zs0fLli1TVFSUJKlt27a+9iEhIfLz86tyri+//FKrVq1SZmamkpKSJEkzZ85Uly5dtGzZMvXu3bvWeg730EMP6fLLL1dKSorat2+vvn376qKLLtIVV1whm83ma/Pcc8/p8ssvl+TtwVi7dq2mTp2qMWPG+I4fHR1d7T05URg6BQAA0ARVuD1ye0z52et3uWe3GXJ7TFW4PUdvfIxM06y112Ts2LHKyMhQhw4dNGHCBH3xxRd1OmZycnK1i/pNmzZp1KhRSktLU1hYmG+oVVZWliQpIyND6enpvpBRF+vWrVNSUpIvZEhS586dFRERoXXr1h2xnsPFx8frxx9/1KpVq3TXXXfJ5XJpzJgxGjp0qDwej0pKSrRlyxbddNNNCgkJ8T0ef/zxakPATib0aAAAADRBTrtNdpshVz0Dw8H7azjrGVAaYt26db65BYc7/fTTlZmZqc8++0wLFizQVVddpcGDB+vDDz884jGDg6svzzts2DAlJyfr9ddfV0JCgjwej7p27eqbnB0YGHjsL6Ye9dSma9eu6tq1q26//Xbddttt6t+/vxYvXqzOnTtL8q5M1adPnyr71DYc62RAjwYAAEATFOCwKTk6WPtLK+u13/7SSiVHByvA0biXiV9//bVWrVpVbVjTocLCwjRy5Ei9/vrrmjVrlj766CPt27dPkuRwOOR2H311rL1792rDhg36y1/+ovPOO0+dOnXS/v37q7Tp3r27MjIyfMc+nNPprHauTp06VZk3Iklr165Vfn6+Lxgci4PHKCkpUcuWLZWQkKCtW7eqbdu2VR4Hg9rBORl1eU+OF3o0AAAAmiDDMNQ7NUq/7shXhctTpwnhFS6PTJk6IzXK0ong5eXl2rVrl9xut3bv3q358+dr8uTJuuSSS3T99dfXuM/f//53xcfHKz09XTabTf/+978VFxeniIgISd6Vp7766iudffbZ8vf3V2RkZI3HiYyMVHR0tF577TXFx8crKytL999/f5U2o0aN0pNPPqnhw4dr8uTJio+P1y+//KKEhAT17dtXKSkpyszMVEZGhhITExUaGqrBgwerW7duGj16tJ5//nm5XC7dfvvtGjBggHr16lWv92fcuHFKSEjQueeeq8TEROXk5Ojxxx9XTEyM+vbtK0l65JFHNGHCBIWHh2vo0KEqLy/Xzz//rP379+uee+5RbGysAgMDNX/+fCUmJiogIEDh4eE1nm/z5s0qLi7Wrl27dODAAd+9Nzp37mzpJHJ6NAAAAJqozvFhviVrTdM8YlvTNH1L4XaKD7O0jvnz5ys+Pl4pKSkaOnSoFi5cqClTpujjjz+udehPaGionn76afXq1Uu9e/fWtm3b9Omnn/omRz/33HP68ssvlZSUpPT09FrPbbPZ9P7772v58uXq2rWr7r77bj3zzDNV2jidTn3xxReKjY3VRRddpG7duumpp57y1TZixAgNHTpUgwYNUkxMjN577z0ZhqGPP/5YkZGROuecczR48GClpaVp1qxZ9X5/Bg8erJ9++klXXnml2rdvrxEjRiggIEBfffWVoqOjJUk333yz3njjDU2bNk3dunXTgAEDNH36dF+Php+fn6ZMmaKpU6cqISFBl156aa3nu/nmm5Wenq6pU6dq48aNSk9PV3p6unbu3Fnv2o/EMI/2qbNYYWGhwsPDVVBQoLAwaz/EAAAAp6ojXSOVlZUpMzPziPdiqM3BO4PvKSpXcnRwjT0bFS7vClUxof66sV+qkqPrPq8AzUt9PosMnQIAAGjCUloE64azUzXr52xt31siQ4Yigxy+1aX2l1bKlKnkFsG6uncSIQOWIWgAAAA0cSktgnXXee20LqdQSzP3afveElVWemS3GeqeGK4zUqPUKT5MAY6TdwUjnHoIGgAAAM1AgMOu9NaROi0pQmWVHlW4PXLabQpw2Br1DuBovggaAAAAzYhhGAp02hUoei/QuFh1CgAAAIDlCBoAAAAALEfQAAAAAGA55mgAAAA0J6YpVR6Q3BWS3Sk5AiUmg6MREDQAAACag8oyadcqKetHad9WyeOWbHYpKk1q3VeK6yY56nczQOBICBoAAABN3d4t0i9vS/syJRlSUJTk8Jc8ldJvK6TflktRqVL6dVJ0mxNWpmEY+s9//qPhw4efsBpgHeZoAAAANGV7t0hLXvWGjKg0KaaDFBwjBUZ4/xvTwbt9X6a33d4tlp5+7NixMgxDhmHI4XCoZcuWOv/88/XWW2/J4/FUaZuTk6MLL7ywTsc1DEP//e9/La21Ng8//LBOO+20Rj3H66+/rh49eigkJEQRERFKT0/X5MmT67z/tm3bZBiGMjIyjtju119/1ahRo5SUlKTAwEB16tRJ//znP4+x+prRowEAANBUVZZ5ezKKc6UWHWqfi2F3ep/P2+BtP+B+S4dRDR06VNOmTZPb7dbu3bs1f/583XXXXfrwww81Z84c+fl5L0nj4uIsO6ckVVRUyOl0WnrMY1FbPW+99ZYmTpyoKVOmaMCAASovL9fKlSu1evVqy2tYvny5YmNj9a9//UtJSUn64YcfdOutt8put2v8+PGWnoseDQAAgKZq16r/9WQcbcK3YUiRqd72u629wPX391dcXJxatWql008/XX/+85/18ccf67PPPtP06dMPKeF/vRQVFRUaP3684uPjFRAQoOTkZN83/CkpKZKkyy67TIZh+H4+2PPwxhtvKDU1VQEB3rA0f/589evXTxEREYqOjtYll1yiLVuq9tzs2LFDo0aNUlRUlIKDg9WrVy8tWbJE06dP1yOPPKJff/3V1zNzsOasrCxdeumlCgkJUVhYmK666irt3r3bd8za6jncnDlzdNVVV+mmm25S27Zt1aVLF40aNUpPPPFElXZvvPGGOnXqpICAAHXs2FEvv/yy77nU1FRJUnp6ugzD0MCBA2s814033qh//vOfGjBggNLS0nTttdfqhhtu0OzZs2v+5R0DejQAAACaItP0TvyW4e2xqAs/f2/77T9IrXo26mpU5557rnr06KHZs2fr5ptvrvb8lClTNGfOHH3wwQdq3bq1srOzlZ2dLUlatmyZYmNjNW3aNA0dOlR2+//ucr5582Z99NFHmj17tm97SUmJ7rnnHnXv3l3FxcV68MEHddlllykjI0M2m03FxcUaMGCAWrVqpTlz5iguLk4rVqyQx+PRyJEjtXr1as2fP18LFiyQJIWHh8vj8fhCxuLFi+VyuXTHHXdo5MiRWrRo0RHrOVxcXJwWL16s7du3Kzk5ucY277zzjh588EG9+OKLSk9P1y+//KJbbrlFwcHBGjNmjJYuXaozzjhDCxYsUJcuXerVk1NQUKCoqKg6t68rggYAAEBTVHnAu7pUUD0vIIOivPtVHpCcQY1T2+86duyolStX1vhcVlaW2rVrp379+skwjCoX4DExMZKkiIiIasOtKioqNHPmTF8bSRoxYkSVNm+99ZZiYmK0du1ade3aVe+++6727NmjZcuW+S6427Zt62sfEhIiPz+/Kuf68ssvtWrVKmVmZiopKUmSNHPmTHXp0kXLli1T7969a63ncA899JAuv/xypaSkqH379urbt68uuugiXXHFFbLZbL42zz33nC6//HJJ3h6MtWvXaurUqRozZozv+NHR0fUagvbDDz9o1qxZmjdvXp33qSuGTgEAADRF7orfl7B11G8/m593P3dF49R1CNM0ZdTSazJ27FhlZGSoQ4cOmjBhgr744os6HTM5ObnaRf2mTZs0atQopaWlKSwszDfUKisrS5KUkZGh9PT0en2rv27dOiUlJflChiR17txZERERWrdu3RHrOVx8fLx+/PFHrVq1SnfddZdcLpfGjBmjoUOHyuPxqKSkRFu2bNFNN92kkJAQ3+Pxxx+vNgSsPlavXq1LL71UDz30kC644IIGH6c29GgAAAA0RXan9z4Znsr67edxefer63CrY7Bu3Trf3ILDnX766crMzNRnn32mBQsW6KqrrtLgwYP14YcfHvGYwcHB1bYNGzZMycnJev3115WQkCCPx6OuXbuqosIbpgIDA4/9xdSjntp07dpVXbt21e23367bbrtN/fv31+LFi9W5c2dJ3pWp+vTpU2Wf2oZjHc3atWt13nnn6dZbb9Vf/vKXBh3jaOjRAAAAaIocgd5J4KX76rdf6T7vfo7Gu/iWpK+//lqrVq2qNqzpUGFhYRo5cqRef/11zZo1Sx999JH27fO+HofDIbfbfdTz7N27Vxs2bNBf/vIXnXfeeerUqZP2799fpU337t2VkZHhO/bhnE5ntXN16tSpyrwRyXvxnp+f7wsGx+LgMUpKStSyZUslJCRo69atatu2bZXHwaB2cE5GXd6TNWvWaNCgQRozZky1CedWokcDAACgKTIM7x2/f1vuHQZVlx4KV7kkU0o+y9KJ4OXl5dq1a1eV5W0nT56sSy65RNdff32N+/z9739XfHy80tPTZbPZ9O9//1txcXGKiIiQ5F156quvvtLZZ58tf39/RUZG1nicyMhIRUdH67XXXlN8fLyysrJ0//33V2kzatQoPfnkkxo+fLgmT56s+Ph4/fLLL0pISFDfvn2VkpKizMxMZWRkKDExUaGhoRo8eLC6deum0aNH6/nnn5fL5dLtt9+uAQMGqFevXvV6f8aNG6eEhASde+65SkxMVE5Ojh5//HHFxMSob9++kqRHHnlEEyZMUHh4uIYOHary8nL9/PPP2r9/v+655x7FxsYqMDBQ8+fPV2JiogICAhQeHl7tXKtXr9a5556rIUOG6J577tGuXbskeXtGjjbEq77o0QAAAGiq4rp57/i9b6t3FaojMU1pf6a3fcuulpYxf/58xcfHKyUlRUOHDtXChQs1ZcoUffzxx7UO/QkNDdXTTz+tXr16qXfv3tq2bZs+/fRT3+To5557Tl9++aWSkpKUnp5e67ltNpvef/99LV++XF27dtXdd9+tZ555pkobp9OpL774QrGxsbrooovUrVs3PfXUU77aRowYoaFDh2rQoEGKiYnRe++9J8Mw9PHHHysyMlLnnHOOBg8erLS0NM2aNave78/gwYP1008/6corr1T79u01YsQIBQQE6KuvvlJ0dLQk6eabb9Ybb7yhadOmqVu3bhowYICmT5/u69Hw8/PTlClTNHXqVCUkJOjSSy+t8Vwffvih9uzZo3/961+Kj4/3PQ5OXreSYZpH+9RZq7CwUOHh4SooKFBYWNjxPDUAAMBJ60jXSGVlZcrMzDzivRhqdfDO4MW53vtk+PlXb+Mq94aMkFjpzHHeoVNADerzWWToFAAAQFMW3Ubqc5v3jt/7MiUZ3iVsbX7eid+l+ySZ3p6M068nZMAyBA0AAICmLrqNNOB+7x2/t//wv/tk2OxSq9O9czJadpUc9ewtAY6AoAEAANAcOAKkxF7eO35XHvjfBHFHYKPeARzNF0EDAACgOTGM3+/43bh3/QZYdQoAAACA5QgaAAAAACxH0AAAAABgOeZoAAAANCOmaarMXaZKT6UcNocC7AEymAyORkDQAAAAaAbK3eVav2+9VuxeoeyibLk9btltdiWFJun0lqerY1RH+dtruJkf0EAEDQAAgCYuqzBLszfNVnZRtgzDUIR/hJx+TrlMl9bsXaPVeauVFJqky9tdrtZhrU90uahBSkqKJk6cqIkTJ57oUuqMORoAAABNWFZhlv617l/KKspS69DWSgtPU1RAlML8wxQVEKW08DS1Dm2trKLf2xVmWXZuwzCO+Hj44YctO9fRDBw40HfegIAAtW/fXpMnT5ZpmsethsZUWlqqBx54QG3atFFAQIBiYmI0YMAAffzxx3U+xvTp0xUREWFZTfRoAAAANFHl7nLN3jRbeQfy1Ca8Ta1zMRx2h9qEt9GWgi2avWm2xp02zpJhVDk5Ob4/z5o1Sw8++KA2bNjg2xYSEuL7s2macrvd8vNrvMvTW265RY8++qjKy8v19ddf69Zbb1VERITGjRvXaOesD7fbLcMwZLPVvy/gtttu05IlS/TCCy+oc+fO2rt3r3744Qft3bu3ESqtG3o0AAAAmqj1+9YruyhbyaHJR53wbRiGWoe2VnZRtjbs23DEtnUVFxfne4SHh8swDN/P69evV2hoqD777DP17NlT/v7++u677zR27FgNHz68ynEmTpyogQMH+n72eDyaPHmyUlNTFRgYqB49eujDDz88aj1BQUGKi4tTcnKybrjhBnXv3l1ffvml7/ny8nJNmjRJrVq1UnBwsPr06aNFixZJ8gahmJiYKuc57bTTFB8f7/v5u+++k7+/v0pLSyVJf//739WtWzcFBwcrKSlJt99+u4qLi33tD/YgzJkzR507d5a/v7+ysrKUm5urYcOGKTAwUKmpqXrnnXeO+trmzJmjP//5z7rooouUkpKinj176s4779SNN95Yp9e3aNEi3XDDDSooKLCsx4mgAQAA0ASZpqkVu1fIMAw57I467eO0OyVDWr57+XEbUnT//ffrqaee0rp169S9e/c67TN58mTNnDlTr776qtasWaO7775b1157rRYvXlyn/U3T1Lfffqv169fL6XT6to8fP14//vij3n//fa1cuVJXXnmlhg4dqk2bNskwDJ1zzjm+C/P9+/dr3bp1OnDggNavXy9JWrx4sXr37q2gIO9d1202m6ZMmaI1a9ZoxowZ+vrrr3XvvfdWqaW0tFR/+9vf9MYbb2jNmjWKjY3V2LFjlZ2drYULF+rDDz/Uyy+/rNzc3CO+pri4OH366acqKiqqtc2RXt9ZZ52l559/XmFhYcrJyVFOTo4mTZpUp/ezNgydAgAAaILK3GXKLspWhH9EvfaL9I9UdlG2ytxlCvQLbJziDvHoo4/q/PPPr3P78vJyPfnkk1qwYIH69u0rSUpLS9N3332nqVOnasCAAbXu+/LLL+uNN95QRUWFKisrFRAQoAkTJkiSsrKyNG3aNGVlZSkhIUGSNGnSJM2fP1/Tpk3Tk08+qYEDB2rq1KmSpG+++Ubp6emKi4vTokWL1LFjRy1atKjK+Q+duJ2SkqLHH39ct912m15++WXf9srKSr388svq0aOHJGnjxo367LPPtHTpUvXu3VuS9Oabb6pTp05HfF9ee+01jR49WtHR0erRo4f69eunK664QmeffXadX9+hvU5WoEcDAACgCar0VMrtccvPqN/3ynbDLrfHrUpPZSNVVlWvXr3q1X7z5s0qLS3V+eefr5CQEN9j5syZ2rJlyxH3HT16tDIyMvT999/rwgsv1P/93//prLPOkiStWrVKbrdb7du3r3LcxYsX+447YMAArV27Vnv27NHixYs1cOBADRw4UIsWLVJlZaV++OGHKkO8FixYoPPOO0+tWrVSaGiorrvuOu3du9c3tEqSnE5nlZ6cdevWyc/PTz179vRt69ix41EnaZ9zzjnaunWrvvrqK11xxRVas2aN+vfvr8cee6zOr89q9GgAAAA0QQ6bQ3abXS7TVa/93Kb3/hoOW92GWx2r4ODgKj/bbLZqw7YqK/8Xeg7OcZg3b55atWpVpZ2//5EnsIeHh6tt27aSpA8++EBt27bVmWeeqcGDB6u4uFh2u13Lly+X3W6vst/BSevdunVTVFSUFi9erMWLF+uJJ55QXFyc/va3v2nZsmWqrKz0BZdt27bpkksu0bhx4/TEE08oKipK3333nW666SZVVFT4hlcFBgZadsNEh8Oh/v37q3///rrvvvv0+OOP69FHH9V9991Xp9dnNYIGAABAExRgD1BSaJLW7F2jqICoOu+3v3y/ukZ3VYA9oBGrq11MTIxWr15dZVtGRoYcDm/wOXTS9JGGSR1NSEiI7rrrLk2aNEm//PKL0tPT5Xa7lZubq/79+9e4j2EY6t+/vz7++GOtWbNG/fr1U1BQkMrLyzV16lT16tXLF5yWL18uj8ej5557zreK1AcffHDUujp27CiXy6Xly5f7hk5t2LBB+fn59X6NnTt3lsvlUllZWZ1en9PplNvtrvd5asPQKQAAgCbIMAyd3vJ0maapSnfdhkFVuCskU+rZsqdl37LX17nnnquff/5ZM2fO1KZNm/TQQw9VCR6hoaGaNGmS7r77bs2YMUNbtmzRihUr9MILL2jGjBn1Otcf/vAHbdy4UR999JHat2+v0aNH6/rrr9fs2bOVmZmppUuXavLkyZo3b55vn4EDB+q9997TaaedppCQENlsNp1zzjl65513qgSftm3bqrKyUi+88IK2bt2qt99+W6+++upRa+rQoYOGDh2qP/zhD1qyZImWL1+um2++WYGBR54vc3D+yPLly7Vt2zZ9+umn+vOf/6xBgwYpLCysTq8vJSVFxcXF+uqrr5SXl1dliFdDEDQAAACaqI5RHZUUmqTtRduPuoqUaZrKKspSUmiSOkR1OE4VVjdkyBD99a9/1b333qvevXurqKhI119/fZU2jz32mP76179q8uTJ6tSpk4YOHap58+YpNTW1XueKiorS9ddfr4cfflgej0fTpk3T9ddfrz/+8Y/q0KGDhg8frmXLlql16//dLX3AgAFyu91V5mIMHDiw2rYePXro73//u/72t7+pa9eueueddzR58uQ61TVt2jQlJCRowIABuvzyy3XrrbcqNjb2iPsMGTJEM2bM0AUXXKBOnTrpzjvv1JAhQ6r0ohzt9Z111lm67bbbNHLkSMXExOjpp5+uU721MczjfDvEwsJChYeHq6CgQGFhYcfz1AAAACetI10jlZWVKTMzU6mpqQoIqN+QpoN3Bs87kKfWoa29S9gepsJdoayiLLUIbKHrOl2npLCkY3otaLrq81lkjgYAAEAT1jqsta7tdK1mb5qt7KJsyfAuYWs37HKbbu0v3y+ZUuvQ1hrRbgQhA5YhaAAAADRxrcNaa9xp47Rh3wYt371c2UXZqnRXym6zq2t0V/Vs2VMdojrI337kVZuA+iBoAAAANAP+dn91j+mubi26qcxdpkpPpRw2hwLsASds4jeaNoIGAABAM2IYhgL9AhWoxr/rN5o3Vp0CAAAAYDmCBgAAwCnC4/Gc6BLQzNXnM8jQKQAAgJOc0+mUzWbTzp07FRMTI6fTybwKHFemaaqiokJ79uyRzWaT01l9meTDETQAAABOcjabTampqcrJydHOnTtPdDloxoKC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\",\n      \"text/plain\": [\n       \"<Figure size 800x800 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"M = get_maze_matrix()\\n\",\n    \"key = jr.PRNGKey(0)\\n\",\n    \"\\n\",\n    \"key, subkey = jr.split(key)\\n\",\n    \"env_info_m = parse_maze(M, subkey)\\n\",\n    \"\\n\",\n    \"tmaze_env = GeneralizedTMazeEnv(env_info_m)\\n\",\n    \"\\n\",\n    \"init_obs, init_state = tmaze_env.reset(key)\\n\",\n    \"tmaze_env.render(states=init_state, mode=\\\"human\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Creating the Agent\\n\",\n    \"\\n\",\n    \"State Factors: \\n\",\n    \"- Position: however large the grid is\\n\",\n    \"- Reward: location of the reward\\n\",\n    \"\\n\",\n    \"Observation Modalities:\\n\",\n    \"- Position: however large the grid is\\n\",\n    \"- Cued info: null, first location, second location\\n\",\n    \"- Reward: null, no reward, reward\\n\",\n    \"\\n\",\n    \"The `PymdpEnv` class contains the environmental parameters as POMDP parameters (`A`, `B`, and `D`). We initialize our agent's generative model using the same parameters. This means that the agent has full knowledge about the environment transitions, and likelihoods. We initialize the agent with a flat prior, i.e. it does not know where it, or the reward is. Finally, we set the C vector to have a preference only over the rewarding observation of cue-reward pair 1 (i.e. C[1][1] = 1 and zero for other values). \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"A, B = tmaze_env.A, tmaze_env.B\\n\",\n    \"A_dependencies, B_dependencies = tmaze_env.A_dependencies, tmaze_env.B_dependencies\\n\",\n    \"\\n\",\n    \"# [position], [cue], [reward]\\n\",\n    \"C = [jnp.zeros(a.shape[0]) for a in A]\\n\",\n    \"\\n\",\n    \"rewarding_modality = -1\\n\",\n    \"\\n\",\n    \"C[rewarding_modality] = C[rewarding_modality].at[1].set(1.0)\\n\",\n    \"C[rewarding_modality] = C[rewarding_modality].at[2].set(-3.0)\\n\",\n    \"\\n\",\n    \"D = list_array_uniform([b.shape[0] for b in B])\\n\",\n    \"\\n\",\n    \"# make 9 different agents to simulate in parallel\\n\",\n    \"batch_size = 9\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"agent = Agent(\\n\",\n    \"    A, B, C, D, \\n\",\n    \"    E=None,\\n\",\n    \"    pA=None,\\n\",\n    \"    pB=None,\\n\",\n    \"    policy_len=5,\\n\",\n    \"    A_dependencies=A_dependencies, \\n\",\n    \"    B_dependencies=B_dependencies,\\n\",\n    \"    use_utility=True,\\n\",\n    \"    use_states_info_gain=True,\\n\",\n    \"    sampling_mode='full',\\n\",\n    \"    action_selection='stochastic',\\n\",\n    \"    gamma=4.0,\\n\",\n    \"    batch_size=batch_size,\\n\",\n    \"    learn_A=False,\\n\",\n    \"    learn_B=False\\n\",\n    \")\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"A tensors\\n\",\n      \"(9, 25, 25)\\n\",\n      \"(9, 3, 25, 2)\\n\",\n      \"(9, 3, 25, 2)\\n\",\n      \"(9, 3, 25, 2)\\n\",\n      \"(9, 3, 25, 2)\\n\",\n      \"(9, 3, 25, 2)\\n\",\n      \"(9, 3, 25, 2)\\n\",\n      \"\\n\",\n      \"B tensors\\n\",\n      \"(9, 25, 25, 5)\\n\",\n      \"(9, 2, 2, 1)\\n\",\n      \"(9, 2, 2, 1)\\n\",\n      \"(9, 2, 2, 1)\\n\",\n      \"\\n\",\n      \"C tensors\\n\",\n      \"(9, 25)\\n\",\n      \"(9, 3)\\n\",\n      \"(9, 3)\\n\",\n      \"(9, 3)\\n\",\n      \"(9, 3)\\n\",\n      \"(9, 3)\\n\",\n      \"(9, 3)\\n\",\n      \"\\n\",\n      \"D tensors\\n\",\n      \"(9, 25)\\n\",\n      \"(9, 2)\\n\",\n      \"(9, 2)\\n\",\n      \"(9, 2)\\n\",\n      \"\\n\",\n      \"A and B dependencies\\n\",\n      \"[[0], [0, 1], [0, 2], [0, 3], [0, 1], [0, 2], [0, 3]]\\n\",\n      \"[[0], [1], [2], [3]]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print(\\\"A tensors\\\")\\n\",\n    \"print(agent.A[0].shape)\\n\",\n    \"print(agent.A[1].shape)\\n\",\n    \"print(agent.A[2].shape)\\n\",\n    \"print(agent.A[3].shape)\\n\",\n    \"print(agent.A[4].shape)\\n\",\n    \"print(agent.A[5].shape)\\n\",\n    \"print(agent.A[6].shape)\\n\",\n    \"print()\\n\",\n    \"print(\\\"B tensors\\\")\\n\",\n    \"print(agent.B[0].shape)\\n\",\n    \"print(agent.B[1].shape)\\n\",\n    \"print(agent.B[2].shape)\\n\",\n    \"print(agent.B[3].shape)\\n\",\n    \"print()\\n\",\n    \"print(\\\"C tensors\\\")\\n\",\n    \"print(agent.C[0].shape)\\n\",\n    \"print(agent.C[1].shape)\\n\",\n    \"print(agent.C[2].shape)\\n\",\n    \"print(agent.C[3].shape)\\n\",\n    \"print(agent.C[4].shape)\\n\",\n    \"print(agent.C[5].shape)\\n\",\n    \"print(agent.C[6].shape)\\n\",\n    \"print()\\n\",\n    \"print(\\\"D tensors\\\")\\n\",\n    \"print(agent.D[0].shape)\\n\",\n    \"print(agent.D[1].shape)\\n\",\n    \"print(agent.D[2].shape)\\n\",\n    \"print(agent.D[3].shape)\\n\",\n    \"print()\\n\",\n    \"print(\\\"A and B dependencies\\\")\\n\",\n    \"print(agent.A_dependencies)\\n\",\n    \"print(agent.B_dependencies)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Rollout an agent episode \\n\",\n    \"\\n\",\n    \"Using the rollout function, we can run an active inference agent in this environment over a specified number of discrete timesteps using the parameters previously set. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"key = jr.PRNGKey(1)\\n\",\n    \"T = 10\\n\",\n    \"_, info = rollout(agent, tmaze_env, num_timesteps=T, rng_key=key)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<Figure size 640x480 with 0 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"images = []\\n\",\n    \"for t in range(T):\\n\",\n    \"    env_state_t = [s[:, t] for s in info['env_state']]\\n\",\n    \"    images.append(tmaze_env.render(states=env_state_t, mode=\\\"rgb_array\\\"))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<video width=\\\"900\\\" height=\\\"900\\\" controls autoplay loop>\\n\",\n       \"  <source type=\\\"video/mp4\\\" src=\\\"data:video/mp4;base64,AAAAIGZ0eXBNNFYgAAACAE00ViBpc29taXNvMmF2YzEAAAAIZnJlZQABEXdtZGF0AAACrgYF//+q\\n\",\n       \"3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE2NCByMzEwOCAzMWUxOWY5IC0gSC4yNjQvTVBF\\n\",\n       \"Ry00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAyMyAtIGh0dHA6Ly93d3cudmlkZW9sYW4u\\n\",\n       \"b3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFs\\n\",\n       \"eXNlPTB4MzoweDExMyBtZT1oZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVk\\n\",\n       \"X3JlZj0xIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MSBjcW09MCBk\\n\",\n       \"ZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTE4\\n\",\n       \"IGxvb2thaGVhZF90aHJlYWRzPTMgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50\\n\",\n       \"ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MyBi\\n\",\n       \"X3B5cmFtaWQ9MiBiX2FkYXB0PTEgYl9iaWFzPTAgZGlyZWN0PTEgd2VpZ2h0Yj0xIG9wZW5fZ29w\\n\",\n       \"PTAgd2VpZ2h0cD0yIGtleWludD0yNTAga2V5aW50X21pbj0xIHNjZW5lY3V0PTQwIGludHJhX3Jl\\n\",\n       \"ZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAu\\n\",\n       \"NjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAADr\\n\",\n       \"jGWIhAAX//731LfMsu1Tb7YLqPeiniZfQ3UlAZuWxO06gAAAAwAAAwAAAwAA8fxUpVbAeTV9JfU0\\n\",\n       \"5berduuIAmoMME9lCB7bwdSoO4zoEWwMGguDgrcG75+tKLyqieVmiLDo7hpK6hI5fMuTsCL/dAqc\\n\",\n       \"R8HH4pDf953un2PIh48FjnYL35GXm2lohPvX13HYQ3uydKiLMpnGyq47RyGPkyFEPDO18PmEL2NP\\n\",\n       \"GRw0gwLVJtFV08ESXwrapw/kYc14qGKenyKS+VJJ61VQt/KnWaX/WUNiJC63iTMkkiibsU1odYif\\n\",\n       \"VSHTj1AmqdZyczyUYJ2FPo9VMeLc3HQdkoiyd7SdGXZtejiFJ9hkcFxs4gewRyxrqXr8Y+VkjsCH\\n\",\n       \"/8v043Z+mhoYGX3mmg/GO8UDoGCw41Xum2GeOk7UUr4FrUBZvnKPsIbwsKUWKERH6Hxy+DVE067I\\n\",\n       \"TTY2iAQl5wr9z/PDuILmw253/b3mdDxd5aLWPtXR2nDQAT4CRXVDeQqcfspuRiEjk7vIYv2ZphLT\\n\",\n       \"aVmOpAJEr+OZ9AVU07Vy0ijN5w6ZlXsj8R0xa+6MsRE82wIOvqiWlCMG1ZsZ/OxWZbgCBeuB/AMT\\n\",\n       \"qB5jPSUHlmNGnPjR79FstaKR7yWAUKh3KqtwYRqyuiZlUdpqmvB7jsskY/O2VtGvmzuT63DOVfWe\\n\",\n       \"ScE9jdMphz3Qj/T1RHUm5U49wpaS9rCL0zowq5DjSi4tT2snSePfZ1PdV2nEEZYv1XNFqXH+AV3R\\n\",\n       \"xEqU9uBbbqR5SxPsYpnV1MskOZLZduq4x+S3/uf+D+UXfv3iURl5CQ32+/QEGOTlOcKtAQpOGH71\\n\",\n       \"AoSmHgYAaEg1EizGQ3OeBjoJ0TrxygzwxTDvRPjWe2RO+FE+EGtYw5FWJU+209og9IkGSe1PljmF\\n\",\n       \"xdgjK5e/7g4oc7o1pMPymGy/tRJ//IvbYokQucJ2aeQLZG85ILQEMg0Y9M/+Nh4FBumG2RjHjmcC\\n\",\n       \"a5KWoo3vSAJIC5S47Jv6MO+ie6ZFqiwEu26d1n0qPNllk4hNxhL9928QR7su2jl2zm9KK+q6MWYy\\n\",\n       \"XaNwX8kZ2t8AJUsTTRYDRriX0mWWGsdyNGpoCfUn6iUv7ymbtmOc09kh97LifCwVJYRO87LGO0LO\\n\",\n       \"eBeX6NUxUYeY/9lzX54cuNo9RJa1GTTBUilRLCtFeF3bXjiZrttsJmN1Cywi7gPf8TAhzIjcEE5x\\n\",\n       \"0tm2n2l0MNq0myHXBtPnNcCUKBBw7l0rdpwHjzJfTht3ojS6KO80OOHcIvRPy3QZtgWRhdsuErk8\\n\",\n       \"s48h4toy6Pfr0q2I79+FzOBRlcACg0xRl/Atws4AJWDvcxCcsHHjKfwRkrJ1wSa7I+vAQRtp1Kzx\\n\",\n       \"ZktltZZTrSR17O/cVKZO90BCgWkh6laagO/4qOEBDcmcD6ss8Z3AFLi8bZX8eqd82XUitO64JH8+\\n\",\n       \"XTfoc/mwDUnFQkVZMPyj5T/E5iwf7471jtdeHN0TjJAZVVO3gL0/NH9k1gMBf+Eb73Y91uiufZOB\\n\",\n       \"Y2vxPJV+GlXLdZ8943WKyJa/Kq34Oh7qQOGNaSfKnSJobkCq99zYFkO0QE3LTAVrNVl+qgmhYAze\\n\",\n       \"RxoJJhhY3Hv+4DqXWF4ceVWbI9HuPn3W1AM1wa89OytFUnA3Np8kfi9fn9qLQA4G9nS1kgZUJeD4\\n\",\n       \"0HWmm7ZFXTex4aZoy7/YUcCLzIUEL8bEvoqqXNh2RLNXafFlVDD7DdO8OwLSiQRXXsGlYTxKr604\\n\",\n       \"g23DNlZ0mpFetkgNzSDATIxH2d3w7wN/0/JwwU0/s1yoaSvUmGHuVyN+fLkm2Oiyje/xBYgSA8xU\\n\",\n       \"BHOQ7VuEzC9GpyCF9rWM5XWHvrVDOOEygrIGM5fsXtv84jPG6N1BQhdk/nfsf51eyzJcZybI0Jbf\\n\",\n       \"TKACgSmZQGo/Q2BZ6vdDqbzibbDHljJKyEVKhSkfDA0lV7ELbnrzsWXk799k2i/C94y4IfHuoG0/\\n\",\n       \"BWVSqxYTas1CxyysGgadud94QKka9T8RUEkz47Kr8nxiaegNPBtebxQlO9HfpRBYRu3A/nq3/IZW\\n\",\n       \"aWKEtwur/3hxnbpl0/2n4hd+YiPkrB2wrNND7k4dl0yRc+/e9awTyoXmezjbdyBpe3tchCsxziqy\\n\",\n       \"O1UDo9jWUmdEdsFQxxB7gCHbCa0lfx/smF9wdzW75wJ62B44lFgudlEZUcMjMkweDE5Ir+H6QAE+\\n\",\n       \"q/SFKum72hswuBkjqQbzCvjfqelitBJeDegs6ATw2R2B3G/tYUTUuyM2GssIeU40m7ULL/03sXfd\\n\",\n       \"zboQfM6zOhu4rqTpnA5ia+L0gwwQP2Wgn/z0r5wwrZhaFDll1mI1Vm7GE2dezizeJ+8UV7e50Nrz\\n\",\n       \"apiDwEH05BKwmhne0pPrUjApdiis+jA5hs2gagwBa9wcGR5Yfbp0QLORnfFZ3mUYavtHxIXeTVVY\\n\",\n       \"Eth5JkC+WbO9lDT2oZ06PkwXQeyJ+ITiRdGhA2Zgm6Y+lZJQ4f/xhIYsfb4tROilnPd9rqVcYty2\\n\",\n       \"oMZP4OpbAYCJC2uBzo3Afb2dTvB576/OoGIpaFseVNFivCM4rXQg6a9fooI5uJDEv93W1aKf+e1f\\n\",\n       \"yCDhwdKntO/BnqEvPwbMlf9swwhKocGkZnXvOxXYmeqtLCcaD/UuopwfvoeU8Spyyj9KvkYsjdkd\\n\",\n       \"hX4Y9pgUp9JfYsOv3JL5Wj59Wnq/flmOj03OYwCywgsbXP74h7/lfAHxK+9kOmcXafoaBRIjx0cx\\n\",\n       \"WDrdX97XNymfO6T1SM2lbtzkyQBi1bbCKJMkFXgbdO1qsk/yIjOsimpSn5aEaHKwm65r3sH1Eiu4\\n\",\n       \"zsvT8gRkkHWoo931niJaa2bqrUyp6fyPdubAwpsstgtRlPepiEgXkQchojczO+SMoWoW0KU7+Ofc\\n\",\n       \"oKY4SSpuH2ZeT7qmYqOU3iovOtq5u3tvj4TuOQS6oI2+2uzYWkRcR33rjkGs0DQNyzmmDt8qEnEc\\n\",\n       \"3A1FJJ7MxyhWx31K8fTkLvzSdKuv2swCh5En7xsnX3aXnPyl4zeapvhAG9VtxOtGaMsNX1qAKlkz\\n\",\n       \"X7toZZeY3GC8kIpy5UiC/VIV2cdCp0Lcxki3YsjyihNpo2unq3MOqdl3NgbQR/5q7MeUa68VQIi+\\n\",\n       \"QOA7QFvG2UHKiiUf3BsJzmT8G0ACIoAybhmZZ1oZxHkU+tj6SPORuBdmRIU9/5WdMAAAf4BY1wJy\\n\",\n       \"yDnHifna4uUIpdTDNqxCHLHlj5Z36Szs03Q+nrr6WBtUvZ1SCw7+pHK7rXjTfdIV6ROr4vIfvhDI\\n\",\n       \"JWJLGlg26uynwfmR4F8vy85edd5eMJTNwsJc44k+fzRsCarKDilfcUHoHqeVNdOB4odNjbVlQ1Qx\\n\",\n       \"DXpcudgHgcuU/0MzXadHVlCx77zp0ig4cSFOB9fdtRophIvCtOCqE8H//HEKJ/X9jNgWpf2gyKQT\\n\",\n       \"cdzpzlg47EvoDV1r2TvFhpM0k8Mx/mAsdimBG3iq5T/fY13HOgw28gq4v8ztKb7u3BBKlbPk4ms0\\n\",\n       \"xheyCveHZHbTjr18dMxwzjMzZF75Uu1QaYwEPjS5znS73vj1vq3loI/35ejgXAMO3x517mEoNOgf\\n\",\n       \"13QN474zBhp8orzuGVW7AauN+sbz0zGMMthwcX23x8uFebhbA2KPwJE9C4UBd/sBE0gbK50oPcSa\\n\",\n       \"jRmZam73561wSREZUTgIN9AvQjOjq4fhW03nqMHIl47I/rfp2kM0rN5Jvlr9GMJPH+A9bG0IGv3H\\n\",\n       \"79aZfUf9fWwyghy3NDBX+ewSCiEfoH4NyAJP/wAtU4SIOSeR2MTJaE40sdPVmUHRh+jnZmlYUZuo\\n\",\n       \"8VQrZMs2CNLHU79P8pyMVSAISZVAd5HtkZlh2pQcEd2UKP/pXMUeNcUt5fpgJsvYdq5Euz01qCVg\\n\",\n       \"LvaATv9G6yNBtt/9YQVxiXSVUHJPPudjdBWCwCh+KO0SI8DSJaKBz4JZTNRIYH81INgcTZVqS8Nr\\n\",\n       \"MmDfeNRg6N4nC0C2fuXotZJW7QYRmV6kpQz7sKqJKRSSdm+fyniF0A6B7EfO4zxF3GdOKv+Ux4Yf\\n\",\n       \"+TtrTN70NVu8nXLDBGENuQdA3jukZVkKFCqIIs9MEfCnbhEPPqvlV2/QEEm8Eav/54luk4Lqqagn\\n\",\n       \"ehSIxbICg16Lz97Ug/OCGzswVVx7eZpEOwXhyTMPB3SMe3+2xJYle0oaboqce+nF7n2VHNimt+Po\\n\",\n       \"XC0jAM8Rbx1ujdMKCCuJwSvh4AzLyyhij56IZxHnEGuDyxexY3coBhB3nzOvELAJvEBzVbu58+NG\\n\",\n       \"QLT6bEN7JmNCpZSP1LOziZ/F98HLWe/0Biuq/jKWCu3rL6ol0Nz0FaYCKZ8CNms1n9/9wBwb8YM+\\n\",\n       \"YG5XVSH5mzguk2NbP61rakRswXeFNsq/YI9m70ali4uHVYEEJCOFO92ABucDI12jZ0R5AL2tFeDE\\n\",\n       \"bPJpBuzwxqv8T6MmLIoaYFRmHEA0Oqc94W5dFSojTux1mXl/JwxQON/bEaERc1NFBGH+Y20q7IrW\\n\",\n       \"VqhZURl8u3W2n4+R1t737l5ZZk5DGvctVUf0qBpqCCiZkflINcuaQNqg6F0uu6rSDj21lFYuFmzu\\n\",\n       \"TUhGA8IvTkO1cDoO9IlBCLtMTjp2Y12LflTQ4Hipc9vpTm3RoddPvWlm5AKlwMUsvDJA9EINemP7\\n\",\n       \"skGswj5o34Ca6WOgNxqmrJ9Kx2G8LnSNYvGyIkKAemY9J2xumCC7mvqgArVjKKkrfNyS8/uv6oaL\\n\",\n       \"5p7SjAvBI3h71ANFcgIlZXSGQxS9lwfyozkLmElp1CkIq/wvtSqdeKsdJX+uEkoyVy9EVb0LwsRH\\n\",\n       \"6bE0cnTgn95McGb3Smd2SbQjB7VEQfh05qM6MtnTdCtIaW2XP1igJAZSuW6JEmpG0emCM1KtWYgi\\n\",\n       \"X08LlR7e9G7YC55fscZHI6Ber9gEXz7bBQmEw5ImFaxpPneXuH/z6Ol0BAx+vpvGdHVOUNZGkbS1\\n\",\n       \"nAn2rHhwRzKUrHHD0jI8sz6raOJyuuab3aTR6GE8aYoamrXgX8WJKvmuoAgk3fWISt2m2K8hpUvC\\n\",\n       \"bqXkNS9FgZypRUV9oOl1xDY3Sp17UzGsNzZBhySl1LPeQSBUKpJ5q6UrV1TfI1VjcAEIuiyFYuxm\\n\",\n       \"1s6OQxEdLjkD+bRaOK27Fe7GvADxXGe6zCY4605lRm6ggEnZxJPS708a7QOEn0Fcy5MunxuaHJBY\\n\",\n       \"/NxPcj6AjdA2q4v8yKLTfSyNvzDd51xynhPR5dciGrik3vP4S31f6/IinzNCwP6XTA8f9EwA1qd1\\n\",\n       \"B2cAvXgUciy1VWjwUGRaQq9QNXojyr6Mu1NXXsuwVDYwv+go7EzBsl6enIj+OaihxPvxNvK2G9aP\\n\",\n       \"7cquUY9cdAKIx8XZgFtOWMz0UbmLEyifpMc7ZAfNRSKTy8iKfYnuRpnQzMT2cI2PJHqIODCumhDT\\n\",\n       \"00q5kEfeWUyM6tkar49s7ntugJMhUVBHAhV/VSWFMjl+fQ9/24assfayPx+Y9hOO7OmZ8mYUy4P3\\n\",\n       \"d9PxfA0YKadbv+XHKUhtcObAunPqtcm98ZrG6ALuK9Cq9Nn3z4qIurUfXg83u1JYxpL+fGX9ls3j\\n\",\n       \"b+qk12NYu8PfpwmnnUhdpM8GSt+uZi4Vp4GS2cQBVVnqbPLbDw7EGX5dM31U360K/tFhHEiEIPc2\\n\",\n       \"vX+3dg3At8MCG91i6EuEkVQpW0T5sNV6pAddM1NO5pBrRkxD+W/4EfqBWl6UvQ+8o5+5OpApLU1o\\n\",\n       \"kXRl3E2vnyCSI2rjBzswVbJp02I2S9RNIgTUZV7S1o0xfXro5CpMuAD0djXL8rUM3rXV8zgcczgb\\n\",\n       \"FQgAKgLpfetjF6s/1rTAkTxyvnrhrs9iGX0XeqzHEkVL62H9V4W9rw5as4uPkET6oyz1lvZzHA/z\\n\",\n       \"VxBORkMFWcR1Vy4qF/a9mXNGfXwbTK0MSS/6Ut7UgbM+IGpiUDVHv7Vc3OzCiagkQjOiqueJB215\\n\",\n       \"MgiZCIMwM2iM9gdFWcGIBSVcZb2jLBgkKsdxo89ZLNozFD7tb6bV5/QUQ56q13Zr3nNwCXiGiuuq\\n\",\n       \"Rsv7z8jRAmGgcmDxQBGGLv0Aq0HKEPnmQTUXLbxtp1tUszVJAtzveczGy5ECC617xRMRxQPh1ID8\\n\",\n       \"h5+H+2GlfJhD5ZX0nia5ElhNi/Qtd5Ke5az0WstMQzPn2RiOVcv7sSXG8OfbF/XnAdOfD3HYAZPA\\n\",\n       \"f+12oHBx2f9eDT42q0TV1qCGPvwX5Eiz2sr2Pdr/9dXCT2RXMuQ82eYa6doV74ceO6Hf9BVXeAHI\\n\",\n       \"j5wiYsALAYNoUmYUlyqNJZWKCk/EfSnbg82NvrDtyMV3HPEbkRodslRVV4m/kwCHeRQZCRdP2s5s\\n\",\n       \"ySPwTCL8aXn19lrLJjpq/shzsXmI+UB2FhVBos4guVqask/NPuIS1nxBa8lWlK4sh9vKWe2tv5hh\\n\",\n       \"urDezy8PJGCchS33S5LjC7xQyyvwDW6Gk2iums0eOn3Wq5algsx+3Jg7vT3tU/vYPdl6CumZ9DX8\\n\",\n       \"8r3Xu+bv6wwht43OwUZ4MNQt4ma7iN2qAjNaN7/lckQevs3hhVnh9I7cL+CC3BPHN4Zem8lQUVET\\n\",\n       \"IuyDBP0a3jzPsa1Sjti5LZ6f6WN6hF59qmx77JtPStktCw/FevlBgc15nJsJQbE/0UHTbr9I/N5+\\n\",\n       \"4gjJDTmaVNdllcAsAcPwsDxuyyPkEQqDxYd61GtCQOcLBZDTWjo2KhF6KjfS2/VSV5/pKjvCY3a1\\n\",\n       \"BIbMEOmWstbrx8rDU3604Z4a2vvr7+R/T5MZRTrOEdn/pKl3lgQ41st+39suBSYsM54+tflVPcLU\\n\",\n       \"FCTOQPY4VbOZLFwvmQxgYpoBVBkt3Z+9gSV8s7YIomtHMIKDJMDr0UqlYjkM4KFsNxMYAGnQGOZ1\\n\",\n       \"8GFwE0B8Gc88tZO/8FTHGT2DWnvLrdolt1UQWHXCGR0YQhpL4/es1bwocxG92RbrnIhfPcXprWrJ\\n\",\n       \"eas4qtG7UYVg/Ec/MtLRJmyGXLRrs13kBeA1tw+zd6jYvNPAvXEBgqPpx55iaTQA4KP7ZxxWGoDp\\n\",\n       \"BzTZwla0SR0QtamyBcxOOy9C3P4qO0ShA3VQvxudl6GsgntxjVK/NOYSADtUjIy+JCau8ZnUMZaa\\n\",\n       \"76Beo0XhWGo5dvOpoLMEMS3PzXs7JwXL4PhZtvjj2ZdcR9H18kMyE7Zl0MxptRHX+OlfPUBJ2PI2\\n\",\n       \"v31/Dcd1juxqCX4JnoM8KtREICP0SsmOEOBsfyuCtcpSZqAEG1XMR0r7+NblVazYV07ntCL1uh76\\n\",\n       \"X6zaP1cUiWQkboB0Zd5/xr1Yh8IaKTSle0xv8FVD8Sowb24vQ/ZFd+SlaQbp9vylg7tt47X2hAY0\\n\",\n       \"U8cEIN/3Zz+xDbLH/KcxplBW+Zc1CWIn9NKQJmXTGfpZ8pLwWpF7Fzun3iDRZsbwxLymBiKtrzNf\\n\",\n       \"xIyOLuzxYPDuUhfldShVnHmdhiqjPX32jLiHUG8rs+uJvhHOjL6O8VcrGc726NmAa+h2R6uh+jz+\\n\",\n       \"kk+68wySfjJ2clw8OgASBf90D+eLCLLNsfQu81pAuxuKwrJVmi8Kd0usWRhzzsrF6dRtesmnFKFr\\n\",\n       \"7CjMMG4w9bhHngBJMoLVcsfv1zhVxy2BESbY4LaOaYDWrKLntqPnkoebAsI+XereaE9QpwNZ1mP+\\n\",\n       \"RqPSdVPAPl8Z6BX31uTQJCfPNpuAMCSJxZzx/p0PUS7eS3gDCJKXhhhUDdNsfFvicp0DzaR5QQXp\\n\",\n       \"Au93HpI7O6L9DKZrnjhmZ0DTlj3eZQf5AqnrPRxNJWTqmClftsT9qcFIeZkq0N9JmjARs4IDCWgE\\n\",\n       \"5Pd4HLZMhPHt9QucCaVWJ/MoCEM20CXSzDuSQc6vx21STaWYSRBVEyXiDGsxkq8/6jWyfcXgxMiV\\n\",\n       \"ELrq3Zvo27VRf5N1RrUcwiAZu5ENwFacjZgRsHwYSDp3u0sEEN5r994qepdb6bxFTGLpEPiMisyx\\n\",\n       \"6hS//HCe4I4F9PtN0aZc4axCJ50P3OcgKxtXCp1nsvCPLSVT4gZ7ap5c7nO63ArEv94kJrCD8RO9\\n\",\n       \"+hkkMYLF5H5b0PxmR2ByEsyShydjUAvDyYmMtCEeInlGx3vKLDjdSJHA3fRqBd+Z+3udwAeZ4YPr\\n\",\n       \"piZKpwRRu61FyOnGaETveAjRQ1NfDwyH3lNJziYlEBJZ0WP1h3COIo6Cmw++ngyy60RTnSnOgNV0\\n\",\n       \"M1LQaIVrvhw5wOVv6sG5kttqKXBG+2lsWtzLHr89F65E0dabX4LHQ+aPUsKxpvpA9iQC6ZV1YBw5\\n\",\n       \"RoeuXjYJPZHg1ei+fqzU/4NxHKE2L4cktlKe62+203uNSKfDOshxAbkxyJFuL+Sf3ieNh0Q3WNoJ\\n\",\n       \"OOt5y7lawvZvsfVPwH1eIqB0JZ1mpkqSkwV+6DKg7vHWN5N49GCC2huYue3BuTauPlyx9CfuSMxl\\n\",\n       \"ZSpJKJrGiuJrDPLMPq2YkpGkPW55pUBD/kN81ZnsFcfP7OeQ7VZp4q3wPNynm8/FhJvLI1WAD0hK\\n\",\n       \"dCi6Fh0C/zQ6txjFTSnPo5DTCiJJ8IuBisto4WoZv6xJ2nfu1Sj1RBkVfYghX835XhxXGFFoEMYU\\n\",\n       \"j0UQYptdN6DeFE2A+SpLsjP8qQrKtlltO6eIbnLeBBmVbiCuvuyTzkgMb9bGS6XsL63/I+7C1ESY\\n\",\n       \"Z+R2N+899wGPpKyLD4iYIBGZHSt9ARra4sf9/zmZY/yR4tHdD7XVRqC5AnFFuf4Zpd+FqqA61Osl\\n\",\n       \"I3qLVAjBngQfMNhAAvfxBj/50iawKRxTec/gC/ZYWUt0k4lH9k2f2B76CGeA6LojKO81/TkiFYRO\\n\",\n       \"y92D+cz/PyzO2/NDkBkc7Y2znktRlXVL6RwTs/1Q3cODUq0T4iZbyzs6l0fwMMFDc6dL7glGKyHG\\n\",\n       \"tEo3ZyYJRY3aYQRTkRn1pg9ZN33fEaw1rOm2jngJiuJPlfU2ZqTveXYtn6qvNCgYhXY64nmUguc+\\n\",\n       \"D9dikG3/yJdTM4PiPyf7A9w0uw3I3SR0Y4bKzBAfnuzXaeN/Z7QO7Z1e27+1M1W3HNRhfhTY8ubz\\n\",\n       \"yb//OWDt6SMHrusZ0xjRXx0tI0er9eoUn8JdrpF7CvBKI58KZGqhqUPou97gc02f+HaTeG3cRoGH\\n\",\n       \"HJ3GkTbSTzh/nSKOxl4VdIUzOrV8tLlwA189y0R+GCCwb9p57hZTjaFG79Kt1eLob9XNy3Q1Hwf+\\n\",\n       \"3Ub5eV1BqZYvLSNUKIC/PNd+5O2e4EHVkEXffw6H9iGdqY+K7RYCupiYfVk5eOm28OGNYK9SgpSS\\n\",\n       \"GuJe95lk0yoXQ8d0xDrXYjAGOSivNhRi/dEVwuk0cpxBcF50MeHAHcUlfH7f//zPy+PG8oRtj5ur\\n\",\n       \"nskYooX+u8mNK2oeSLGQH1jJKZqhqrfMwhNcfBXJK0owIWJTrpqFk2r3QPElipoCSG4NQeNFzMJm\\n\",\n       \"uTriesCJboql0sfbs+XzOiY5wvWWWFLH2ercwA9yxnjpUxRlLX7M5V13MKLao1fHUfZ9YNESKWTL\\n\",\n       \"Cd+8oAWBrPxW5QebpnB5q0DU+uSbFCkKvmpGNfKnXZEU+Xhvkx8ItsYB3yaVDXWnZrcK29T/oG0J\\n\",\n       \"YEFg0Ud9+YiPnYT+horDVE9etVNajZbN3av9T7f6FCLDzs/kKyCFv0kRlqX9oC5UHTY7ir4GlOh3\\n\",\n       \"s1yDVWWD9r41kPSCNSiohwgGHFGZN5SfCiMDnMyAndCFS+1ruF+IEPiEE7ZsqOd0xI7oeFS+Yv9B\\n\",\n       \"JU2Q1FsjUl9CbTmjUUFpiJS1f7ef/7zR5w7mne16FdItij8OMjFYyA/54m+s5u5DtmjBj1ci/Gt2\\n\",\n       \"eSZkKwf1CmhKQQ8nmAywK63bkskYTELAnnDkbwX4OpOFggoZXKVaSf5p0G6peHH+5VxhUhpdECxO\\n\",\n       \"1kfPCbPIBp/crOsKHmctdvwe28bBxP0baRb2xs4moiZ/I2agx7BSc/y4xZjZxvXp75zgqz91FYT4\\n\",\n       \"fsoGJwqQyuKP0RJZKo/2eycMwdMs0R+d2zxiy0Pc+diFinWRg/deu6IuHIH+e/Ua7kWZ/OyLuBjz\\n\",\n       \"GVyp5Cxjv3Bzf/S+/ky8raRmMVQefr3RC5+26XSY/1IXigE9FpwX2C+IWglydxgMPF1TI8vXI9lB\\n\",\n       \"UiBjKdUDcr6mO9I1xJENZwil6eGYkum3TYsg+DAOQL9Za0CB7IQLrAIh8j0UTM1wkr8b7C+x1X93\\n\",\n       \"nP8MGNtH4yAWHgZap7Ofnf186rD/6osQJ771qY9IXTax0OrdRZCLXOMph65bkYhK1KTnPXvAQ+kS\\n\",\n       \"MW8T2VOOQX6IwlvlwTl1B96gz4ZASAF4g9LBzsYpav44AxdH/aMzGYX2XSkQFyhHybZcJFKfp8MZ\\n\",\n       \"t3f2+xXfzdMNu/cEiqaYcKPHh/TBzYpAyL/uRf30oXPV+BppCsMqkQj9SIwVajc9/NTUEb5XGkCr\\n\",\n       \"QxF3Y/irDjQe7qJXBOAXxPZWmVJ774NytDkyeDCTdAx3XVLaqa31v9qhy0nYkRzPyYDCEUbqBU+0\\n\",\n       \"8DqDThya6KqaRtVa6o6YVfgOygyVSHo6wT7Fcfaf8ubfWPZ4dglnnRC7LDvasem1zON8q33OiWVo\\n\",\n       \"ITjIGRfX+CiYjdJ/i06TX//upGyRNWiQTzoxHiuiP5t6OuBBA3OThZ2mgut22NaW7Q1BuH+Bj0sT\\n\",\n       \"2CKBtP0dEXqGZth8FdjVo42pIH7vNQ5iJHwNzkMSeLLN7PY2rHxAdadTwWX5reVbEgILvk9DJ3/E\\n\",\n       \"WFqG/RTSOb64kcn0dbN1Ki9eGCciNXCQz6U8/8nIsQzWYIPebqIZm6WmfZV4bcudPrUEyTHmitxh\\n\",\n       \"jaJZZrokmXTIH34+PLbJODWwqnZa1kzbJqjegcth/VUeyjhLaa/sW/1HxvNtYOUfOx75fQQ3dG7L\\n\",\n       \"16Aeqdc4oQ0R8FRuoKYwtpbFJOaZ9eJ7u90xpxJpK4ZyBQl1g5iUEBqJ61LSy0gicT7pR7n7+/vO\\n\",\n       \"mmc924CtR6pJwqtU0QDl0UQs4ysFRqrzUPo+32oafCXH57CWvBfq1zSsOlDZk7rUWfgxskz1EeLM\\n\",\n       \"lomHeDVBIZ9teB04aeHkqvyhuQ0j5ZJDEESVgVnuo4xSbyfuqogEojPgnKyI/9PPAPraevZBpgTY\\n\",\n       \"y5VcyguGjQvUSYA3WEWT6Bxnb+kjjORIWNKs3K6jhqZtaxupmijz6IiClU/mty/71JRzIgRYxUXf\\n\",\n       \"yfS1p278hBiZQwUPHYutyl+tfdnO7V/92gBF4hwYu9ToUArJuQz1TmUihVkQgXJZ75PKGh5Z22Vn\\n\",\n       \"WaP+TGCC8MyT+F4Jm/HST9ggF5s0PiDKZ2MhRiw3OIQukgU2tOzYAaSuoK0J6GCe+46GcoKzaR2c\\n\",\n       \"bAVemdW9iHkp28W2MmbqNoOITwLa70rJ3P//EyISDrFxeproGaYIU+uwCl6uXq5EsA/Xnw3wf4Oy\\n\",\n       \"HOD5Rn5d8EPy5kVOwc34lnW/Ct4VaQ8YgP1D27r7OvY8dR/thTqo8Hj7V0VC67od/UEPZmJ4w5n/\\n\",\n       \"cOk8nowWxTmkMnL2EfDJAYd2n/dOZDVQqie1Kn1CcK6syjzuugxg8aI27O+LhzRPLAqnBQBpFyJj\\n\",\n       \"5Iz8n/JpTy+BbJzg72iZ48LrWJJ5h5DHZcP66ITEmxwNri4RV/LDL0fu0dfVPmb2JkXIMi8D4IK6\\n\",\n       \"TW6O/RYf+CExhvlh/CXEXZbCMFgMlnxDAEz8Zah+64bN1Hgmd9U70vd1n3VEPaGbN+4vftE2GMIt\\n\",\n       \"w0j/ja1xIY4oKc/hABANQK0gdwJwx/nNX3ebmedw1tN80h3Ds8Dq5kvQqrfTq+8wwu1BEkZlHJ83\\n\",\n       \"M8h/09PkUIdEKAa6KpJ5RRYuXQAPMt5RQsN2mQl9ysODAkIOALDV7WMK/xO9wmFxxC70dBAZ/U8M\\n\",\n       \"yDROFQ0P/ee4hOHx8q7gxPbb2Fdv/zqeRhD+Amc0ir29UbZ5yyjf39TU1E3QvOOVmLASBHccYzGe\\n\",\n       \"3BIgJOHWHxB6CXN4crRDIAeJMPC4myWV8zIPZM4PF7M5q/sjBfYZ7j0P/2GGEXB+cB3Mat0k3vGN\\n\",\n       \"DEMsWrvE2elwi9HLCQrHBq34lhB8yST+MjGuI9yecvzbC+yQV7nHQayFyGCId/Y+QkKzE97gyseZ\\n\",\n       \"/tqMYKNS9KPFWFWwqTVKIxMRR+HdGyvyFLGqgbdfY6wPjDMvnhLJq00qpKy9//fuDVRC59EssJhM\\n\",\n       \"Mt1DdQec4j7v7f/dzd7SEXPuFPyGuTBMOAMJoTdob01h4uMpM7+N3I2/bUQRXUcuibWAGrliIPLK\\n\",\n       \"zXj+9u6UtxIcc9j0ublCJpQ5T5T/b5YeOnt5hGqtiRqqo3X/MjlEkivBP/XaIsLQxuJX9cWfH/3X\\n\",\n       \"/fGb8shcMHZgFAKhzVjc8AJRZllzo3Yf4u8SIGP+uBc3yAB7YBzTZXnW80RS5/gF3HeJgFfuEiGr\\n\",\n       \"nDcXYy03Oj8iAn36AbTstDGLscylS/ONDmnvWA2KlCDQsU3dMnVGwFLBKygp7Nn9UwAOsaMLK+za\\n\",\n       \"opyy4rqVRidMwdI3TqH3vy3w2wgfeKcmc0Bfll1qPVCsPqU+MlhvRhH3fS8m4sD0RcPuRAoanzfs\\n\",\n       \"fxpFfLzyHL3OvuMyuMIhH0KLcM4fFtA28YP55BLBX+pJQRF8lUCnCpN0QdOQ5QdWJ3ZZeEh7isO6\\n\",\n       \"ul8bI7NroI0itaH6C0Xq80SY98o7XrrkSoRPhR85ORN59w29/jg507DYZHGUHMN9HCSqFHa3oyh3\\n\",\n       \"oC7bSZl++oYtv12zs7Lk47weX65XpDX40IpRbw6KEf3dxjzQl2GwbQcTpHxDqS3SC+uqIgGmFO6P\\n\",\n       \"R2CZHLNpjz14jggRXh/fI3NFHWke8SQnIdaMDJ0cuV7fPvJrpkBvM7xTC/+sxXd9Fo/yclNdMoGv\\n\",\n       \"PgOECiJojkFTqBUKFVLCrQ7l8bfMmPqqa+j/N5yn4caCwpnKX5Y7JWyLdhioSX161oWhnMwrc+nc\\n\",\n       \"FcF/rFgCTFIdc3JnvuxESwAlm1gYGYj7FzxDdrQL5CCMp02L/9lk5kN4nh+Ecv6bazlWKLz6LuNU\\n\",\n       \"sqSvDwAxIQ6xgO6z1S5E7Cc5KrCKBCkOpfs2DIGEdUut/Lj/ZDnugpgPfby9GcNvpBCcPSjf4tDR\\n\",\n       \"1k9wUFjwvaeFKahaJFtP5yzqrZbu3rSYd/c0NOtFFLg1P8zaWsI4I3ryeAcZFsGccio9xjpDVMsC\\n\",\n       \"OEn467nFljL/4baF1Xu8KGWPe37ARd3gNvh622Fis6IFOZdXdn3mgXIYGECRBYCovQXNm0iQyhYg\\n\",\n       \"YeOfctjVMJytFzYUwrcVcPKUnVBXaN41ayLwPfV1J7VE/P/mS9libGzjbHfFZ/bFfPUMk4HLAJyj\\n\",\n       \"9QeiyA5TkEV/6lI4pv+zc0muZqyYFhSv17xUu5wPFnSXdQ8wjYM2sloRelv+eTGykFNdn6KGEfcj\\n\",\n       \"iJVHod0wt8xXRMMW8aT+IjQIB6ErUWjsuNZJnYFjZqiBaryZhBF90BhVqVPALmMXMZJbVboHupHv\\n\",\n       \"d2q+CrJLxEwnC58tScHrjNEx7xfCLT+sFVj28xUbjJeq0x9IWYAul8+kkKtPb1OGbSN06gYcJiFB\\n\",\n       \"F8hFT5yNYLL0KsLyJpXzSNHon0Syin298PvfU3MJ/Y66wwIcXAgriSngBiHhPBb4ZLXj1Gzr7B8t\\n\",\n       \"8fUaj9Eaw0B0oijqLydPKdJ2hbpVLJkyqobGTgD7rgvtVDIBbPHSGzSoTBfpC70VqCORysIrGTdo\\n\",\n       \"v+Nw3m2ss1jSsVzP/moYWlNAW+7IpNZOfOW6NLr3bWf6pSncG9IFp7499N9Z4YTPLSOZzSd+0naO\\n\",\n       \"clb6z/nsAQtdxxvW3XrArf4jWqG/AVqGG3w1+T/HBVe75xJTgxZp7Wdi4dGBGiJDidhjmbaTooqe\\n\",\n       \"GwPhpFi9WXDMX5DsK9Fqu1W7M4D2HgHauJE7ABEPLrjyKPEOu+jNYnMfBi+txSZwyRjyD0g2njDc\\n\",\n       \"UFF/26c62WldoDvf+tzyCUu+Kvsvz1/jlmXQEyevsBnlWfIwojXLRiCE6YjETH36ykMzNXB0VLNR\\n\",\n       \"DQ0sn0x1u7Gc7b5HuLYtl8+wu9B6qlkZFAmsNvJbgZJVBTI5gF+LgPbq8HhTcapOtmeu/1qcjtrd\\n\",\n       \"OWQLVWpxqICYtV5eIBTJkCfxSVuYtxM0TdNv4AsrKBc01aWItXv5c26ioTQGuuAGwrs2Ewi6iC0S\\n\",\n       \"TpQ6dXQuCJQQxtsggnAVkvxAEdmFYgZwuO6DfRx+0eMBXz1O0+faZWm6Vb90upPMS/LQN6Q0u8X/\\n\",\n       \"sRu4YLAzUqdRFxdbZrlVQcotkRlhdJZt14pdsOq0v/0pknMwm2+f618iBytVKn618PV+9G385oZY\\n\",\n       \"SfLoC5nz0Gu8BvbZPWerHdFS+97xYyEpwiARyJ7i/ERhJ1cxnrPLxwlPlpgMxa1Kw8fYwQIWOtc1\\n\",\n       \"KYd2Wma5uYQPB/YLgiI8PtRl5mYziGD0PTy8Wcsn840t7Ft34p6N+KsPePIxyrf2MKHn3svQI/O/\\n\",\n       \"Zn0OuUgNCHfccmqIrsm8OcH/wyrfqS/VS/f6qilO1EbQxuNbGmC2IjUkFtGpKOE9xgomyfh6VjCj\\n\",\n       \"yyVoPP0IsF1WuSzXi/7DUg+m/q+rZnIlZ2zmvV7Sgn9xuu1eH0ZG4uGWNIv9X6hcuKK1WtTxhSmW\\n\",\n       \"QTcq6Ncdriqv2gVjSQMyJNPYuh8HuQfFxs+FzZtswM+lSTkEF6KHmJzvW69HUorEEemUF5EevBsj\\n\",\n       \"q51fHDwRG/PuydrnbezkLGiWJC6q169yPOUYnUIyy5AbHxJKFBawOtHYjbyBtZaGW8V5s/oZFy17\\n\",\n       \"4usE7+H9trqyN6en+m8onXBj1TsTuniShxVKlBBr3RWZKJAEfPMYHxy0pPiGa0KTElmBBMjU8TOr\\n\",\n       \"iiDy25cDRcR3+nktWdC0KToHA45uezsVTaDYPg4fn0A68BJELofY9WPOKP+UyTl1TGfydz7U8JuN\\n\",\n       \"uho1//ZALxmErDgfCRWpuafgLvR4VKtSnsJJTld4C/5sf2wI8BPs4ilGMHtE6b90ZnUPzM13WaR4\\n\",\n       \"0jnRsW7eRpSOYt1m3VIdUHC8xl/O3+cugLkan2hZ7/xtUj3I4JA38zNpAM0VaOrqhWOFdduhevAW\\n\",\n       \"xpZNov0nCQNMs0PUo/L+FH4PDDq8xIEp+fLYY+M8civegST7y31auIZ831PDJt2831PgrDZEvOaN\\n\",\n       \"+mYpf9Un08EH/5GqwmvnBI+o6fesprsKnEL6RV9M9JSOZl+RY3GfxexQTXVDMbYaVjPsAkXvLBut\\n\",\n       \"giI+xXcXysVFBP3Ize20Uybi1CehG7S8stP4tJSz8HoVpCGcrjRouV3WRbzZYPzBfpikndvnnxMz\\n\",\n       \"UGf83v+20SRb1um6J9JBD+1rKM+N+MrKDffn6KzGmRvDq+8MZ3GclLEN/NdCEvWaUdPIpfIxASJ6\\n\",\n       \"IHWoXw8cthlN1s84KacyrSVS4Zg8TIj07PmKoqIqTo6Oz+jaE/AvQ+S9ct0Jyv8lBF9rHamNtPjB\\n\",\n       \"YSnJHuv8DMdnx05Z8O1w82OshEXtXw+9lNvLo8Fo0T7VTzlgzHU5zZK1hWPBZcLiZPzd+RcjUKuP\\n\",\n       \"Jermsx1XrnECTqtz5jHKNB93OopYVO5mi94GK17nTUuWAM0hRiKezO/aNQSeX5bYpqD6SMLk1k+A\\n\",\n       \"zT2zClK+Hz0sb31hY2R28MIyGBCXu7Qln5xwdb8iSkoCNqbMExE5IxNtNFt25IUY7eH7OBh8zPxd\\n\",\n       \"rRz4al8n9x+dRD67fwPWVlmPMbavIyjBJySgj+9kPZQZDxC/6lITonCHnxLymSxw2RfR6EyVZyAb\\n\",\n       \"XpIRZ74zn5UfKMuR5VDVoPMRlVrBRmqvFmUBqhQJj9seOHoCQVPKXCd4VzyWx/YOx5xougXXo3bL\\n\",\n       \"fBIT3ZCqaE/XOSFIDSMT9oVu0ILz39C0TY2CdEQgEQvcc6v/yxjMV0Fy+8XZ7UFrBzsB76djxfEt\\n\",\n       \"iFuqwBvdGTXMJw41brjSzrjZ6Lo4nyh15ph1VRiwdbbuc03EgR9j5kmocA0/R9d/Vql5aFTCbFL2\\n\",\n       \"YKvTSEBiPO7frFz9I2N4XJexgasur/+bZe0GYKU7q6+BdEUUvpj+Ju/KpJ8AQXtCm1hTgQNo/E4P\\n\",\n       \"S9Y1FlNhjOBOp9xMyck7+2vEIKrIDZ6z98ZJHmFKLJSn3aDL29JXnfnPtYKgnnEoElODywEL31Dq\\n\",\n       \"eF/Y+Ay8/hSyBeXSRH9Apn8nfVSFso81ZicHem6C/XOMRFo15pUEfTkT/hy9ZnB9TKQeq6GEIfwq\\n\",\n       \"hAYIkrOnrux4fyyclYvbLO9e+a+cRbt/9p+AYIw9Qy5ZuCtoNchRxtBLPL/sqymQFROgaej5upAo\\n\",\n       \"rasUVz+5PoS46aNhixv3kG6rXOXxYiUc9K4W5poz9yGC1rkb0oolvx8rNNjyIgtOe7XEiQay/gH+\\n\",\n       \"uAr3/ozgXfHXQjvEx0UuIUxclCdZbCP/mZcIZyF1Ara/C2J8ihE2KVImDyVz3V9KAi/Dp4K17QRL\\n\",\n       \"wvxytY8VFd97+RVNntu3MGUcOrgQOsgpki+vdbLAnLpDksS0F//NBED6/tFa1pPAVsMzqDTEUnBR\\n\",\n       \"SJlPOnqVjwDqy/kfMyNNjks0K1vKW9EdS80+Nlfn4ojTQ7okbNUo9MOtAmcAxphjOBrSRBdSIyIW\\n\",\n       \"2sUK92X23Wj/T/6kBf1cY6d4J1Xk1SBCJFPhNpJ7qnK3pKvvtwevgDpjkqMNsNaoQxT1Dk5V+gl8\\n\",\n       \"E2YGTObHd+6PBLariNLLABv92RyDK8sax1g7fBqPtyleRzDm6UzbSBkeP4fh3dDh0afpJsbsKDLU\\n\",\n       \"2M8q7vxj02s66xN+cE9tlTG5iob71vNXLfUSE0HI8us9oSgqQPflTDDpl+76YoAD8SqiG9cDe248\\n\",\n       \"xn95m/CZdiYFFvkC7LcRh0VcHSn9NOlxJyowjxu0C0tcBKG3wfgK2Bqo3qUDwv98igVd4riX/x1P\\n\",\n       \"BcN+VmCeK2omZuEyxhDuQszynT+dG4r5OlfK4pQkMqRXHCPLhAVTsi+Xt95snqA7Gbg45xK5NFIM\\n\",\n       \"YF0syfFcOmPm1uXMMZXzta9gFXpTUGGnZnSzU///GfYFeX+mBPrtCr1C2BQ4TIJE/9Y7oFpVSknT\\n\",\n       \"g104X5NAKeSsFeXj6JIwAOG9v5anNi2dha3okcgxmoGrdtmJZNo2jFr7iGRrn0NFI+w6Aie+/tJf\\n\",\n       \"eSephU4PJUfXF6nt7rP1CvJKv8mMZpKIIoFteypqPXRs/ihV3DsE7FY/BKMd7e0o3lLvrY4Oqqw+\\n\",\n       \"3GUqwKQCthPWg5Xevfb3A/1p/ZKt12ULSGWk/lVjyKW7hlLZvcAbppP/9Dps0GxxCW+eOBFy/r4Z\\n\",\n       \"EZg7cCNNE6poXzHoBc9qyc5HIS5tDIlD5cQ2eSPMdXf95Yd0+IaEujmaS8mWIPy5sK1/KR1HzPJN\\n\",\n       \"AU/VNVTbTUDNhoeY4XB1ok/x1Z/W3zx5ra+gO+9MnN/Fefj/M+iLWqeH3loCBLMsTrpN/xcbvIXZ\\n\",\n       \"MDzbEnqFXDg3P5ExlmDb2aaaYzUdEW7MWBBm63XEqnHPkOpbObvx04fTnH5uT2r+1ZGZKuHnhHC4\\n\",\n       \"1/GeC7qd33cDAXcNXsJVprjSY2J5gq60SeV6Sk9Q3shvPFrJW87tFasUQ84kfvrwlUpjHu/sJOp3\\n\",\n       \"/sq2gYruOt3ubl6Waqjxl7FGIV5qQFbGIbzCkV0fZRuB23ROt1fhPS4lq0NJydKkqQYSYDFI8Zth\\n\",\n       \"qJrAY8vgzD9HXNWwFoL5xgoqQps94duYhTT8qe1Nb6aGO8K/g7oHwJNW9Q6AYCCIEWZDetNIOYLT\\n\",\n       \"nQJJ5pzJEoijgMuWKLV8q+vqbo+BA2xSEXgdtQKt+vDgQeL/nfLPS9aCc3CiZhBQh8cF+FybG1Lv\\n\",\n       \"/2/UUUIQhYQQVjBarXSoNwijlarNPTbKujvl7t0NYlSAmzi/J5twUvscHQ8iHy2ZuFYEAb3U/Ikb\\n\",\n       \"7pIiiZT3vO7Y0kVBO4U1bB50y4yyiDPT6kTXiAzdiOkF0D1YGxraPqOJEOWBt9+ji4tr4ab1vFWW\\n\",\n       \"NP8euP7RRZX1de0+y1muRG8JCUGNIPWYgJ0G0yppObrpDSdKAPcXdZnN7UV7+DV8w7kaY/kcSi8D\\n\",\n       \"fSqbYO+fuXyTEh27dpX+Dp2HO67nZ2cArqOZL1jGika1sfQpkns8Ao5mXosmMhkjA67p6wEQRQUH\\n\",\n       \"BOE5XB2BaARwsjYlwgLmSkJib4hbDvD1tNth+2c1lNIj69IJTVWXNqcmUpRz8aaRbYNAUHM61YOz\\n\",\n       \"iNOydC8xYP4KoHRxwFNkyI0d5w95HdzEhofMouZ6yzQuba/xl+J3Pm7SgSBXLyLOinpZxik4ap43\\n\",\n       \"I09QSv7Sk5wTcLjWvZpvUqgddRg/zqHvTypMaYiPLN+ZcIsHWoAb79miexML4tmeAPKZTk6388qp\\n\",\n       \"LryJjFjwET2DwtZpUB9THWZBy/fsYRuOFYZ7OYRooK4ldUjyLI2HgxPfE6TiQZX3FmDugOfS5zsY\\n\",\n       \"zR4SoZ3xH7T201phVqN6M4UmsSgQMVQeJ4V4FGU9fHKWP1D5uGeQ3/hs+4TI/7Obmy/6dhC9vUlI\\n\",\n       \"z7hs/w4nPNOSYbv1iKBo+iJvoGeNSX6fHQYWvlglAN6nZxd3okzq7RCV1VAOA2gF2ZFn5FSG4EqB\\n\",\n       \"9BPPedutENYEDbEvsZQa257Ov/SPuB+WQcQkMz0Fz3A0mT4WkyWH4ZYgYpQjrxqN4oEWV1h5kBbW\\n\",\n       \"uD1GjQLynZI7a1GhXdYPLsJufHM07fjWatzHWGs04cWWy33+/GDTrz+0jiP5T7vo9wxLqYkX6b6a\\n\",\n       \"OnV7NOXLmMYzseKsA6uT+zW2ujLS1RNlSkrHpS/gXXtDG+GRbJ34ffn2oDMx+Rj6LcK/0/V8bI+5\\n\",\n       \"GfpKEb29eyBjGEmf9zCuPCk/Z//m2KtwVh1b0zoQsDh++SjnlFTSCjiO8/jmQpY+3BBZdGNNeecN\\n\",\n       \"EN4zENnloW+3oPlEH7OozbCKtQYgmJxLHXeJPWyJ5LB8b3ZJ0s/JmWFMQfH91wH7B6bzQBLMbEZ2\\n\",\n       \"lotWSpIalTPJHDxXh+fJ0SuPs5OWgZG1bBeDKFDu3zqDJJer59U9c6Zp8MxhSuS85L/OhhjwxrN2\\n\",\n       \"2LI53wss6R9aov1qh9hethoIogRwtcj9Iqlt3v0nWJyMTY6W1PakiTDjdpc/5BhLp55zu38xS/HS\\n\",\n       \"tqVOedICcVu5Gyfd0phedQgmCsUCd+9IW1VMP6tvwZ7NyhN0vuzEQZita8BGSt4s0HS0fv2AOgOk\\n\",\n       \"76mHAkc+779h4xe3X8yF+8nERFhesO8paNiCUB1V1jrDH7/hsnFVeyR0vYLls542g6Mz4YGfX6kb\\n\",\n       \"LyUq8Hbo8iSQy98ecf5iGDRHS6j0GYpAAze8r+3FVuMwcm4AxHy476dUr3SeJv67IzQD5ark9YUJ\\n\",\n       \"171ZT0XoQYVdkjB1rPDDw2cbNEFhH8Y41bwaSZMDZ1Y4ZsUT2JtsC/5NV+wqNJmMDt208COAbexI\\n\",\n       \"iYvqUTCPPSqC6/K1YcxyCJCdmo/38+mLCViXUUVgsJAx94Nf9yiJ4eATS5CH+s2YaDxzdrobgCCw\\n\",\n       \"cPuAvTBILolZ9bfDMJaZZhEJQoptKxYlh0nUXsJDKM/SeaucfMrua7GH8YURjYUeeQA8LoNsG7wL\\n\",\n       \"+bL0MC50CeLjOVA3h7bVxoZfSm6XDSv1NSIiFEL9P+NTHOKHtY30I/o1BxBAQ0r+/g29FjUtz2mm\\n\",\n       \"whSeycdbpWoZ7ivra7ahZvoSE9LW+E7FBS5JTGCznnw8uOb9+P2xcdjPYruGBbQxqb4SfhNl6/sV\\n\",\n       \"ZPzswTqP5bbEeqmAiWdqrDTcvt5LXNVrgrwJBf0DEOnB+2njimumzuOZuIXhnAyLDMDRfyT188M5\\n\",\n       \"u8yKXlfyrClgUustFhiIcC+ywXJj64IAHnmA4sgD135z1hnwXg3OD/tuXA0IEdbUq1oRc/JbwRhu\\n\",\n       \"ZPEVK3XKRVcYJfjCG9kB7FnTArNKD6AzTEqVgsRId+1sfUM5DM6eedwtBLWmnDSN7kQRnWQk/J1y\\n\",\n       \"qxrdC6JxefkmROUaZ/8hljNnUQvmkPBayR+co1T/Df6Erx1KTHG5tXlK/d8tvE4b8v15bcO9QY0h\\n\",\n       \"LfLu3QE56ozURu6uH/BpTWGRM054gXj/hJ77a2eRbxYArLfzdjHhfdJ0FTSSjJzokkSBtgsrOkpd\\n\",\n       \"OBCqXEMUxOShRt6j16YIUHW7NL7WqRPjcTbM/fTisT7ZxNmwJo+47Ew5xwXhhXmNmyvElFl6Wxn4\\n\",\n       \"ho8WXqJRyOzkKOtlflj7MJuBlpH4hw9NWRonNsTbmZSdJt+R4f+L98Q40FMWzeCBE7zX2jIL51u5\\n\",\n       \"QzTR7Vh/4P3wFZix1pgJxx5aGYrRly/JXJRYBLxIvAuTqExggokzLOMUjs0X7/5nl3n6mCL/pk8C\\n\",\n       \"O88XfvriFdZgeEbFJdIL+/Tbaj8tix2c07Fi3Cs9IjA4texQnVqkEKD9TZHHnQMEdW6xs/4f3UAB\\n\",\n       \"qYokfh6tTq7b134k2GUQ7yhodxN1vrbE9dGEhJfwXj6I8Up4VVfbfYfrmyE9a7nCBb1wtlIqLNYD\\n\",\n       \"qdN8vINY0dHdyL4fW0D0OLIRRSdxPWqO2eZ/lCgieu4rMWCYsu0vLoLLgZu8dYjZ5OIIa4TLTCLL\\n\",\n       \"lqIIL8jy8ShgG/MqhIee1EaQ8nXx4nE/21oOBWNZhbvLK1F5x8gWt6UHrrX6Q8xQy4vi2dgThfKn\\n\",\n       \"dz6ptARtQcFUIEck6Mp1smN6IOnmaARdwQYU9yE5eZOP+JQx5H8Qfi9jpaoU0Ol1yKc12frPtPfD\\n\",\n       \"euY+B1RbMWbBuTkWdncK49MVWkCwK97KlscH9abU7WbzMIPeRxcDDtkN2qR/xutzifC6P2c70x8K\\n\",\n       \"Z6yyc32dOv8Sf9jUH2x58x0fesFFDmbHHBh1IcZ9aI/UfASB8eSpRdw77SD09/PvBenZ1cyG+mtH\\n\",\n       \"ThUONrh3fB8hyXtXhwboezJmMf5kttv3b2uXlF0l5GXsdIQJY0CQE8QAdCYfrgqJAdytHGfDfDp9\\n\",\n       \"NlCZ9mEOwCTAEvvt171FqUb5H3XlRctprMxQqA4H7Ca0TZoNFCr/sl9plD8cyCRE0nif5fcJdDTw\\n\",\n       \"Gsg546ExIS7yXYx4p8AxHCULKmpkbA17GQgxmPAerNL3CMS9/zVHPIytirmWVO3iLPwqNAtYv+N9\\n\",\n       \"ha0wWcIha2oNzEioDxyGDlG0O/XIQ01risTpJnh+SYURXoAL/xG1t8ktC7HVlrkULtfOQ5FLJPvy\\n\",\n       \"2r0xMAfyxLveOZ7mMSB0eUYH7jp6ocjByJ0XLsKOUbhSBi2qmyd91HIwua5gipk9/nPeuDJRMQDV\\n\",\n       \"/ptyMFDxGQNZyVNdZqAm6O0BsdGL0vmrKI7weJayaj0QPCWtnW23KiIM7IwVbuVAat0s+VhbE766\\n\",\n       \"ddp7Pp2/tIYS4mntub17DLdJUqNqwQ63d0tWzYOUkgDkrr/gWBswUYp5okUPyOlMNqFDdcCZiliH\\n\",\n       \"K8YvkB1WpfGMUqEDaGFj5Bz1M1HJTm4uG5217twKkAFT+hjZ2SKxwDevIVVI98GmlxZkt9jseg73\\n\",\n       \"8t1eX9k53HdZUpovUX5PfpInGRDVKYWeoEAzc5t0L4iPlM0h1jzkuC6A6kmXfoUen6r2jd/AOnYt\\n\",\n       \"NSz5e90o3XAv8aHU+pF41UsaL964u7mMieNTUU+3XV/GYXiVWI9S+hfI/qNvemTDC6MIUS+fDZlz\\n\",\n       \"yKN0I7gnYDytfaNdbyFZVynT5OCAN5nPN0rxjl7BLa2ZrDVX7ibtdYxQK3ircDppFTtS9dfe0oHT\\n\",\n       \"1ij1rla3L07bN3tOCpioZGLnlz/yvpC5nvXAL0ByBz1Xso1D6E7KNTvoKsiqUxbPkfa2k/R1omnd\\n\",\n       \"P+prUGMdbkIb4mCODKVLA0SALyDDnRUOT7/ipdW0RH97cr2bdI5d4W/Vau7C3m1KIYIwPhX8qhfP\\n\",\n       \"Heux6aRe8rVGH4bzC73BpR3oV5AxnP9yTOhLgkVsH3ghbeV6IMNPyMwkAP4q9B2mWNnZbOOpjk95\\n\",\n       \"DG4oh+NI31ydxgOlrNeKaVpaRrWXeocgMxtE1DdoRE5MPtirx7EyibwkG2NC5U/Hs5vyypE8xgdV\\n\",\n       \"hoNRUkv0Q/NvtY47dj9LByc8fn2hUd0r2iB82Ryyjm9BiS2MEvXGkKUN/NTSuO+aHeCKl23YnPFk\\n\",\n       \"cpZY7M732Fuy2Jv4qh4lHdtgw6ZWduVxeULrNdsBEx/6KgG4Cl1zbxGk4igyRjCCTuahHOx8Hdse\\n\",\n       \"KsvJ0XNoHnq/YpKFvy4CSH3m8YjPhTl92qNYpNnyX01Vbuqtf0wsSpTiHzY/vyBxrEdXupN9HBU8\\n\",\n       \"3d14A7ZRzqzQsbmVQYoPauGwt6o9Cd6DV/K+kEFn35ZkvHBpPFPP2IgjSAiHK9PSnR6Y6fRYxf4n\\n\",\n       \"6n6zrvdJAwV0LLWjoi0F8zwO3F5dBuOxSaECc7pvIb49y/rSokojjtIjXCD0iVkWArqdtH/Mcxm+\\n\",\n       \"CVq9edgele6cxh92jtF+7Pq3o0PTOhp3Iyrz8O/EvXkeTDJxYts3QNI2hK7HESMdMgvwA82yrTVQ\\n\",\n       \"DoydI1vr9NP8FJdPe2xBeU0J7RvCdEGnUorM2kB92hZdUeCPgKYNp6OQ3IvjTaIL8VTqDhdwDfGO\\n\",\n       \"IQIAppvQrQokAwSD2beHTRIL8B3PcsqVtn8a3XoS5O59tt0NYloQvF2+kcSTTznFNdyekElqxgfW\\n\",\n       \"dBKUp2PdhM5QFt6F1pl53Qdtx1sNZHlarVK8ooxcWNz+BkD8xu0SWNYnd9hq/VsyYi+9ffAzdU+w\\n\",\n       \"OYr+IOPzTGYPY2vy5b6OtX23/KxJBFpZiisdXKLOFArJgcX7fDjNZjF7TOeYv6fwpPQXD1PZL6oV\\n\",\n       \"Qdze9PpgbgfUipfrCtbmMJ99YpOYSlJY2B6EeLDE7AVPcV7dOQ0qEjhNPYg3dwwNPrSOCyaIRrZt\\n\",\n       \"RFS+TOZqaIMdEE2F5asIES4Rozd70GixMbTiwjwGVMCZbk4BiBze8X+LTomL4jqiDTZyf1w23aYY\\n\",\n       \"YMKYleLf60wExMOPp0VhBXtlrOokYw2rDlxTcARCyHSwzU1KFnyE30UGtnc7SaZY+mErTVAOAw6/\\n\",\n       \"lgo2ZUrVkkF9X7XgpwckXcbPIRn4bN1hUHXcN6Xcip6jxT4521gLLEiOAMtR7GQviirExru4iDTD\\n\",\n       \"BI98zZ3T6s+xC90wj4XuwOL3KXxM9ctgcak2+Dffw2O5OFv+VQVW6CbJ61FW/pYeBdE6FAnxb+W+\\n\",\n       \"GVvHQHjBYjmD/b4jopaojWN57f5rB8X1GzziY86APwAmXYBxVyS2n33qjLyCP+efxea2G78vZu5r\\n\",\n       \"aYWsNwrn+5vCnzgIvyPmO8D/6V/QcpQ5i8guiVNIjKZpXFdf5kaXMXjKF2TmfgHG50Auh8oHX2+G\\n\",\n       \"0Qtk31mUvb37kpec2f30e/joSzqCxfqXwE0m+k7sEcFhgydDOdcoCiGB+DOFnSRUTCdFrQ/hZAkU\\n\",\n       \"caZJgL+/dhC+eHAjudA/S27n/FkLjcgrD0wFP17Pgy1n42YQJd4A1unJjPCqv8sqmVkoxu4h2Ac9\\n\",\n       \"xO97cw+RrcxjEvsJRJgfrfrB9r7+HysXPFTg7kriJ9fdTyfFHMzwrO/qZw74m+WpgKxHL+J363tj\\n\",\n       \"GW4Bkd/dfnbt+WvDgWFq6FEz4oezqL/Ojb4DBidlJndNQOyceA1AmEOkF+e1gXR95HpsBT2HRg4+\\n\",\n       \"qFY9I+NQrqoJT3//H1k42he9G1E5BS9ERQhZq1yP4NtX4RjUB3gyFGw2DzPds/9T9dCPVPIioqdE\\n\",\n       \"jMqh/HIvQVKM4E1JGB5JabtJmKthLSX/vRh3MRwkJrMzlkt4aSNXZrsZi1DhUMzxiC/osZ2Eiyfj\\n\",\n       \"fFYbcvYgoX99iPsppmcF30DNgd8AGehA3vc+04whmVk4aRdKGsKbp6XaSLgPXqDUW6sDRrQIcW+D\\n\",\n       \"7nMCIRdwjXjBxFnm5ULNvZkgTWPT8VCBwr44yPnJnmRV9uEItbWtCUHFh75Du6f7/pamp1h8s3Q6\\n\",\n       \"1PGkyjnRzvkkCjAJ+yTIta1PyX9ilCxxcS3AHmNT15ZjAIZNRFp30mvdJezO6EDGXGnqqlpVQGi4\\n\",\n       \"ZDxukMKTryOs0rnWPY8BfXHKdjdWaXpoaUY0NOGEDl44rN6R0v/FMAeXo5QE1Ofpr4qtLkryG4eY\\n\",\n       \"2AxTUxeQqc49YY+WoU0sxV+awM+TOmqY7JV7gJ0H++qYmFOZGtv3CLDfn4qBJe+DpN95xHpMaAnG\\n\",\n       \"7lPL2qkcCf/jXMU3BMVlaXGwzcSjDKKb3tP894C40/gFGBF2KKb9Z7v65ViS9vrYbJSAGAIlahf1\\n\",\n       \"CPWPg7JJisa4EtzwUvsOKpth32nue++SlCASqD6P6WM8qCEv7/stvrDJpDQpO/i4xbd05/5gWpj5\\n\",\n       \"NOQPBljwnaRq30rf7XKai+vCG+HEBD6hoVzShZ764iDi8G/xbQXv6JtDJifPdTTRh/a33YoJ0aR1\\n\",\n       \"S43x5n5tyQkRwGZ9whI3zPafD6JPT0MetEC0alA+cIEQ/8wVKuDA2llhuPGgnj8mxLQRebjrrL/k\\n\",\n       \"hSQHj9938UeXot4diShoW34DcQufqj+I/ZrS+5HmNJEcIlo7gCM5sejO0X2v6nFizCQyPhvEv1qP\\n\",\n       \"COFA619i8h1QBwiuN4ZlKq+zJDTqmqXkqwcH0bttu7SNcID3W2KC1Xn1ywPzL0WZdExb/FwOvjib\\n\",\n       \"XPF/vWkOKCLCMuweukxE7u45FZ/O8HiZM6PSotsIsVnlfujOTap1R7rr1jKA5O2r/Llne0d3Lf1v\\n\",\n       \"zyZ+aEINaMT6vkffOC1zwgpGhlg+AJ5EXXJRsD+lLutaGANdPX6UEN69Zye1GG5RrI8CHD+ouoyl\\n\",\n       \"5Gr6axzH0W3YDCygz2nzm5guSdQ51KQxos5E5Df+/IEa2LJHKscnBnj+Jkj981C4Nmv8wLiKCCU9\\n\",\n       \"muymyxuQk42EARRHkCakzHohSTI2Q1fIECUw/T+PkyrVlqnXteeBchHHQu8nArLhE1r5jRMXJcRX\\n\",\n       \"2cpmqB2xrdjOFblAwqwJytSxBvFVI+WpNzzWUoICS290XO0EnMQ/ZE9AQckNIzRPa61wJdAdsbX0\\n\",\n       \"JbWqgO/qpgf/37L10O8TmgTkiktbzs+Pydn5yLP/GgN1ynqHIjHfoT42RryFzxzIkPOmo4dMgE5B\\n\",\n       \"oVkNxTIP4juf9POgCA0fiJfbSfu3sdQ4Xq8cpRYBpQlJIK/FEDFEvAXT24dwVZjZqxpCQjmDsjwQ\\n\",\n       \"VacWYajWl9/+LTftGLydMbx2cPl4gqqA1ioRQzpmWX3Kx0RowahFweDt8CCO7k843zIcuHDCcRTk\\n\",\n       \"y6FEEAIN/H9E0oI/KU2kkvs/6BvvzlouTeosqFz6hcmfOVXihUIjwkCQLzvBu7RawiwVvjHX9EIk\\n\",\n       \"p4f+8OZqMYhrLG9RE8jvP1/x9c31CLMeUYPvY+QEwi9dcvbFnyyvlmBK0SgpdoNQvfFa4UuQq1/B\\n\",\n       \"qbo/JvJ1j1WSAURk6JSkzML7WIuiukqxQVn1QiyCehwC73BZ/3FjTRD+S5LZFdP9JNUy7GPpULXs\\n\",\n       \"XbN4/oklyWJKBjEwZLSj1kjzaaTBIoWNrSDPQU2mJnYChRGcsXVDjWzIq0LN6IVhpT7Z7jgigIWN\\n\",\n       \"Yf3NI3NoWU1QAtWSz1kv0dbLgOZG0xOAGJFGf9g9UoE2s/kI5RUswTxftLOSv7oFC7gtievcmxQJ\\n\",\n       \"RSqisGEyUdo49PeLDREDMt7O6/ovCphxE3rQEyaWRuIzVquef3kSErBjfR+dIj/H3M5gHiuOL8m0\\n\",\n       \"4NfjRZyWssR0ly6m1MrPiuJWNigbvgDY+O8z/q40wYsZYaWS11joeAXksKnhOHGNk0T4VefQW+41\\n\",\n       \"U0R73AN6cRaIyQhOVwWwOyE/OfY5W5Na0tAVdAlR76SiuoYMzfPI47Jkq0EqbDuTo/COH3OBMpJ0\\n\",\n       \"hIt0elkmnzvUBTXX+HabwtrtUKaqGlHcuoJGeoy6g5M0qVE2PzfQQ87mnheOUZn97fgMWz5zG7th\\n\",\n       \"BHHo66ULAGjNuefK+Hw2GTCgRnnDxlvmGz2xFHDaIXQCdlnPyOhAxEzpWOM2yxP5MtuVH+5qCdAh\\n\",\n       \"/9d/62BEziESmGMSpwARvgzVvKK8tcQYyfCw35Vu9jrp+HWzi/SSqEy1iOw/K/W0IT5g/BrMaf2d\\n\",\n       \"b+6Vpgh/6hIl4Ens2EnDJ1Y3XjbIoAeVFRMzUk4On57NdrJBkUPkckH/kmlCjHVIwb0Ly6XwzaKO\\n\",\n       \"e+0HTKzEM7EYkqY/2fHKZf7GHGD20A6K4lnkaG0seKVEdbFUiVZuHtNYP/Jz4EY6VDqLyDr752ty\\n\",\n       \"zsQLdF4/sw4kXloIo7hUjfILC4cVOmqWPQ3+QSRg+9XfBj7kHyEcv2uHg41DTr+/0gc991AqIuF4\\n\",\n       \"gwW1XGVHBK+2xaVOOfaZy01u7V327ban7XQM2GeRcDr9injq8QZ4oVIhRNjC4/TxFYojBRLwPsYX\\n\",\n       \"1TQ4ze01ULaJc5AUdW2ogbTs1rPwdHEGasDh7MqAmchM7GEGFZjZWVNk3M4iafJw2SefrK7G660t\\n\",\n       \"m9zlW2rQAgXxS+36GhQHObzRI3aLVU/BluKbs5WgYB9B74pmvbWTD7R30VCYyBYuqL5npbloSCOs\\n\",\n       \"oHIYQTX3Q01s6eePnFFjeo8yyTRsmlyk48jGV4RbZ2yXI1RgKdcTIa802kJ8alu1PUHSGhBaQFiK\\n\",\n       \"5EU58P9T1DmSIrNa6Fpj06wMyRB/1uTjb9WcBMg+duQOUyQuApfyq2UUaKvN1uH1HbrxDzWK3e3G\\n\",\n       \"uj0pHM2vC2Qcg/gFestgq4J1vv2UjXveYNdqXC7fo6Ek6519O3Y67uhnnv1k/n37DBbbinYhPNfd\\n\",\n       \"/AJXcdxetZRYECqofFKV0q5LgmfHn4ShmmUQVwed6v1zVABmQKOQAAADAAADAAADAAAshm3xLDVJ\\n\",\n       \"SU1aWxmdAhpYZhKZOW5xQYYD+hP4Hcj3CmC28Z9c+KgjI2OWenOTuVPqYgcVR2XPMLg3PPG5i3+h\\n\",\n       \"2t4EF0z5ZkLbfFM9ZeSVsS0YqV84S2YnLW5PDPLMyLWIB5akzpXSe9XURDMLgJrW7vUSaFhRYsiv\\n\",\n       \"U/mvWBPIi46Mqe5fEwVobkOP/gsGbXIwzOmviYxBIHzNXtmYiu+U2PmUKMrbWTE1AuAdr+66HZ1e\\n\",\n       \"DZJl179EBtnQaHQ1L07OfMUWfMBIu9LIudQK1rb2YFkNyLw/DzZBeMuVwTMtbCxjVu44vPvt8p9x\\n\",\n       \"GEXN9AfUkf8He6Zv23YArF8HBpa7bVdojavDLjEIwA1bGz1gzLduMTP6ZwqdNDZp4nNWFeRp2H3H\\n\",\n       \"MGhugzfYyFj3Y/4zESDx+UbtxI0Fs4VnzZcwTI1glzs/laX2ly25IaCu3kQksvP0/cprP4wRY6ee\\n\",\n       \"v5kvubbngUvjHD8HqkIGac/4ojDOn1eCzR/gx59jt7WHVKuPm1Fy6B7gDLdvZvrpESioNDRVPQ6x\\n\",\n       \"ODk8COLfANnRRe/2Ccv2GELHS1/7MSFbav8SG/rWvsO6KxVNqll6kOqJ6WaF/s/sJV7rngCeQc8G\\n\",\n       \"FYuTDLyeFCH3lPVAc3QhDh2k7kKuuvkRjUJPa1eavLu7g3y23VcJYfvtl1G6N61hG7l89+sNMHBW\\n\",\n       \"fM3CqM8XD0m3RLRKs5Evn71DI1boXzK9vfzeGAaOrt9AuAeDq4YuRTPvYdsG9yK35+5r4UjAAAaV\\n\",\n       \"v8A4jv33RVahZSNkpowrTQBl4V79pueJGoYELOaaiaTduiAk4Kk6kUaNa0yQ/LDSNF+x3xDNB9BC\\n\",\n       \"PeLb4lIGaSbEE2R5MSuzZeYCoVTMM5kgaPnPok0ZbAm5Rt8kEY0SSXeK0Dkg4VHNPvz1jaFeWv6/\\n\",\n       \"1/hINyqdLt9BjetQArG0ld7DGKqw04PF1r+I0IQ9yvUb0sjsWpsTRIOQW2a1k9g/+UzSlMxXX4wA\\n\",\n       \"xGaHDWOSaGz/zvxXy5JZmIWsCyeE4WvQK0o4fVqwtds8bbVFsH+ucdCu2N444kew6EeYX+xVk1+R\\n\",\n       \"DEox8R0yWebxbt0EXPYI8cCoMCbcSx4V2AHCwJp/Nv5VUPNdE0CvuTEZN30qFNpL0sxiQ+7KrReR\\n\",\n       \"7d7xOw+84GZ1182fNPuzUo6mp+CscC7xvUyMcwPFPihHASrcrlad/PZZlWOzwbtOfU7URk4XhxSg\\n\",\n       \"ucP4YbyMLxtR0ZGIgMH+h9w3AxtaZvF6l+JMQksyYCE5DH0+D9YE8mwlYkysyLewFeix0qUJjxTC\\n\",\n       \"d43AVGVNfJEHO+CEgxVJFQYv+7v9jL+K1Tm+2j0iQbu5SRxLM/esq9mP6dkicm9ccO5tuZRhi8B4\\n\",\n       \"KmR4nQpeKfF6vQiuz/bRUkTZL4wcxM8OSBiVztXZtJq/ISfidHzd/Ryh3AJkv8yQPMyUjKgmPJDI\\n\",\n       \"tJTsgidX0hBj3LElys310Uw17VaWvZoZotT/ic0OWRCXIHTAPLpi5YiiRKQ6IC0OMrMalMqE6oTn\\n\",\n       \"sPk0v0vMXqQmPFNsB42eFqhlW55aDNNtmxFbTjXiS40RR/yG53b/gVu7HbMqxxmhmtE+1V494g9q\\n\",\n       \"NNsEtGxnHbUwwvbtsQJzk+pl6tWsv7Mep6lgIdfS++MWEreAKvt4JBLrMQtHeT6S58s9ZN/8a+PU\\n\",\n       \"H28/yYDi083zBbvh68eFsHmffBI6TLP7XixubcgyZJF7CVJNLmJTFD31gNsYAqtwObh369e8bSit\\n\",\n       \"22aChpM5VI1aOSyi+4MhmwYMGZL5+wkn4r5LzrWs28LQu0m2Ao/MwgRtDMAEnTTjvWrWpuDC2gPw\\n\",\n       \"WbkwsoVQBxAa2TN6FfAUf4fCNtPM4diEzmTC6XdEGP0TM9tMh/ABfemqZSfZqIhXwV7KRQegv09C\\n\",\n       \"ISbFBEKNaA2ePRNKj49uyD5ztkZaVDwWYFMJdWIv3yTd+Xq//VO1fjWKeyZ5QlngrQmfqG9fr+Gy\\n\",\n       \"YK76J1mRB3vBQhY3zEhMvDWDM+dIviwXQXSsk6R7Hung9Ut0AwE5oDVh08mCoNC/UUYVB1FpAjNZ\\n\",\n       \"UqltAt9onGUj8G0Tsd4fWB9ye+5ORgQ95kidTZnh7omtdgK5V/i8o6A/+WzR4gKqeW+Aabd//yIW\\n\",\n       \"z99J4TASVzFyr5TjulGoFayEZYctfkRZecm/bAKmWjNnfrvx5evXdfsJDeTvl5d+9Bo1gXvFSnOy\\n\",\n       \"5UHrv+I/n4fi+zRdbswu05keGggtt1wHe93ajKK3+vI6XMzSvFwalthLtaPydLRX/HBsxWEM30Dt\\n\",\n       \"+A0uVTY2PI+wM3KEvw0hB5h0Oo6Y61OtgTjI/RyoVv1wOhPP9FK/6lLPwvkBxHXMnceuZhKZ9uDK\\n\",\n       \"qQJkYJ6sxgucKSS5QQcViZMftiIWqzNQwoQDyD9nTXOeNWccBH8rMxLotdn7DsFEnMO6yCzn7/QR\\n\",\n       \"qdQzI81Ov/ClqY7/1HRBHEYHtIlJqYmp29uEgxEgkVV1LBu6SYBF3gAPfozDLbRqOWFFJC2CDbkG\\n\",\n       \"Y62GivKtBLBzmupb61Lsi2F1bxyAisKBHzWokgxkQB/sfIttmrZm6ZQYm+JuvdvSIIahesyDbkpS\\n\",\n       \"1dp2emLhRTUaLl5b18adVYi1VMDaCjDxAtegye1kLH5QNYlaCpD3Wo6IlV6oWukyDp44uboGQXqs\\n\",\n       \"MmPsCDNEebwmFoaRPFCyF30lgKwqCH72saW9bOoLqaUHdwzjujzYAthXgHaJQuiL5iXqmEHiSqIL\\n\",\n       \"XgIl2KCzUsOJZtrveKCWTQMAByCVShUKGjJOIJfW7ZOZuDg6B9Q1JNc1MdhRu7o/4dX2XyrHIeBW\\n\",\n       \"H2di1IpHRsAcABFFjFZbCGY/ZLPkMosriTNDtb6tx80QhTwvex7OcLuSPZB0VZfPlRKDczsBWZ4W\\n\",\n       \"AIdpwd2CSSEI8bxomA5ihugJ1vrECQcqCZF0mOLGEm9gdDWpWwTr56ES/udJOg3R9d3S+8sdSQ5D\\n\",\n       \"Ykffy5UQIWqy2aWBb7rj68MMwjAtPIpv6A6fFLvLjuXK7JCm3CLcibA0Qg1oN95HXrFXtMWEFtjP\\n\",\n       \"hTebixrOSNWmisfZ5uOagVJONLebCD23cBo2FS3aD4pSzozh6TUFAWCjPLGr3UfzYYMQwWz4ZbBp\\n\",\n       \"hSiAgT4EIo7pA3ADR+Buj6EpNv+/sFZAW0qDxEOs+0HXqFrQrObNjZGlrakKbJM4Z2B7BisxpH1+\\n\",\n       \"aaOJoyLWJkY04StNoOhOkdvkNYnzS4Wsa0asFYsF97nVoiVJ1NiXDjzZS8EkimQFkr1/2ZQGOG1Q\\n\",\n       \"h7tH2XZ3VzVMrO0takgJnLE2C2QCFo/WOAPQyOh5fujpLPz1cxr+AYMwPVClHu0NaT8YImBCAPYc\\n\",\n       \"hk2GhMGbZASiVt2X5q83/I6N3t8FnxXgSKQu9hDsWENqPWgGVNtKp6Qe6gMxQ2Gm9NUSBsDlXOZN\\n\",\n       \"ARAqfqMx2npb/T6HGPPOc9ffcRs6nueQnI6n9T9rBpx7pL/s8kidBReq0OdWqmd7Qc9S0Pu/KKv6\\n\",\n       \"ADSP3WH3NO/jfAY+AAdaTPOq3CB1fyywUIudw/XVRktujtH2R4YFAI6T27RGGzw7af8sAJVbzgVL\\n\",\n       \"EPdKEMGfKyCK6GvsBdzD7jILQPnPAByhqImwJskzUgldUNAT66LwIPrWXmbL4+sTk6/upa2+06aj\\n\",\n       \"e/ILDI0VQ1DAR9Az7WSnrapLfhrIGUAVYXTTeL9PBIk90trJGdvpC2AfxP1Ie4g+HBrcaikQXukC\\n\",\n       \"YvJvpn/db0i5MECslyxjCYzP+nobLg9KkaCZpN1SV0g6ZKio3VATcy7gJpuw42x1qVwLIAYGGUqI\\n\",\n       \"FjynpW8J+StdymbcD6tq6kS+jcWgcfxCG3e6mgPcD0iYHqH1zYNFxc/CcoN9aP1ahlxEM2fdQmNV\\n\",\n       \"5qglnu/QzW3G7k5Yr+aVIwk777eDy81RMlzZ0W7DUxRUFJoWVwMAYvOTxQNEAHFGXHOXxPSODYuo\\n\",\n       \"08DavV6NOPxs4AH/2ZZ7b51Mn1S28oMoUUKBsoMLi4XzGAPKT+V9RHH953b09TLbyU9VNGMDHyoT\\n\",\n       \"j71+FAVVEMeRoIGdw1UtoJ+NGY+F1UHyA+KI+l/y93dfwP3D+NlOI000/7rLwW5VY0ScB17yBJS4\\n\",\n       \"SKsdxJGNT/QREkrMaJdktBmvtClFM13sJtjZ5JiPwSQtWS7YT6Gzo2K/3fSseM0n3Au+665NJgBy\\n\",\n       \"TyRW57WHgHGlxwom9LqZtMs9BMAlVRdPXSFOopg4AIHf0XNxID52bXwNHld3fC7cvBv4j50PCEKR\\n\",\n       \"uv5ixjOV4yb+HCJp/zODNkNqRhOnEhysuxKYyC9ogsqpJkP39vAWtoZ+nQLMsYZB+zCdIfq65dDh\\n\",\n       \"IdtalOm60+9Ffr/vUCMhE8bDz7TAB1hqUuA4nqxtV+8T01Yx5vKJPljIhAXppWXcmuAMtoq1JDbc\\n\",\n       \"5ey0PXMGwjOTqNczU7JH6nnp6Da43iuyLZRMPNIknMFYZmq70NTMo5KDrVrOeaUOeMJoQExexq7i\\n\",\n       \"bIYPOhsCD7c+IW7jdJcvyNSM7xg3B2ThgF9aHLifpX4j0QFfXyhLZGZ+cJd+l+C5JpbYX19F1bIC\\n\",\n       \"yibCda4gxPz0zlQ3Gc6oZouP5taihxNzHRwRRP8MCHmUvaNke9CqVZBDwNdPNoI0JHzPA9Q+3CWA\\n\",\n       \"3JIvLy/m22tfO91izcdLYVaApt8AarxLkJe+VgO9NXCftQ48JCJ0GAAn1D9XZ4df1vgbKukQuu7D\\n\",\n       \"qi/+YvN8NazXSoa4iGT7O9gBW6QPnxCCI+aEL+Sn1qSUw1X3EO+Ku58SZNvQkBR8nk20ITPUKm9h\\n\",\n       \"VTARLFlZrGExe7n2/4s9jbDeqynFr9wncv9Krj1AM7YafPo9DtNTSINZRRiOZWVp0rgYqJo7QLMK\\n\",\n       \"qyef3RYrarc5tXwGGLY23soYh7hJA1+von7Aa5S7rc/fQ/qWJZvB5r0a0uXuLUTuls9x9TiOnFW0\\n\",\n       \"wSTzx0nRpX+BLPHY++2mIzbNpXvZ4IR9UUQZu9/eoabponH44PFwtk2HVc0lhl97x9p7O5n0ak9t\\n\",\n       \"o18k0YmsYVunHDYGyhIxD5QGe7ffJ321Ea4rp2vB0AAwbD9o92MWo4a7LeDho1VzyIDD7QWQGJbO\\n\",\n       \"/777X85X0/+f/75vpB9mu/E58wETaJixe/zjHlR5VkR3BhZofK/+sShwpCeRdicRjxE7L1bdzqo9\\n\",\n       \"d8zRkeUGrA6vyaR9GXoxkT1+Twb9Ln+21AY5eM9CbPIVtTYG+THJRLnD5LsOVPgt2ZNug4lQh4yr\\n\",\n       \"1O9fYwthzR/l14MYMWkhivuOHnJdS0hxaZsPV7EfS6gcEFMJvTStgywt/bdopzSq1U/i9uVI5xrv\\n\",\n       \"pEXPEp66oOK01RjUjS1bmbHr7l2LHy5+hjPbPRQstqpp9llLOVUFyUElR2QMm4HQhBPJWNA9sRt3\\n\",\n       \"QEP7xWGJin3AwySYT7/CkE5kzVXQkcYqjcQnDfMduAJHQWvzrY/yMDCFlyONBxQLODKkQMVBCafA\\n\",\n       \"vIvcEtPVlm9y70c6M1jM/YEGcQDyHvx1xblUq1aFdJ+8aBAnFRhKrH7O8h5RbmFVNbETBpniLmxg\\n\",\n       \"KeT2UNmP7zQqS6mGHBVTq8Gn8CfiJ2d4tOw2xXJOxv1vR03HxMKeWkjnntCVuBM/ons4wYjBASs7\\n\",\n       \"i7+8XuLnNxgbg+Lt/ranFei+J89s1K87S6twJobUlbcdxx5xaeOLiq3olxEez5SvjAXv8iey8735\\n\",\n       \"GGh0pZutLGZYaOkCunqY2Ddy32Qj554AHZxrc67NpPnvj9wwGEqdTwfZhpmN1s61frEWRbyNlXqb\\n\",\n       \"Pj57grEtyu/rwREyoR4USQyMqaSI+M+1Ht44TsP5dmx1UrDDNweo6Tg76va96jqYcf70mSyJ0Gnu\\n\",\n       \"5PQ7wyvfO4VzpAC64pNPwCBNRbs+NOaodd8gxrph83km2iLJZk88gj90+9TRCq6Ne24IUiDP4kyj\\n\",\n       \"LJcbACsKsu58kTISlOpehGwIQ5QCk+nlUXMvjVRD/fsed12VGYui496eQ4Xgo8yrNkXPU7/RiSm7\\n\",\n       \"/b08s7mpjfSsnx+EJPwCJjNXWVfHm7/xZrfX4j3pzB4IoVyV3Aw7ZnlFtQL7p+M3e0M3hJUJ/AhY\\n\",\n       \"h4Hss6xWu4CrHYunIXhIdURixcpACNJCIDLdVZpH6FbJt4tVL35NbLNKVvt/Dc0dSD6H8CBG8dVN\\n\",\n       \"yRKEiK+V4AOPZrXRbfbtjG0rXN0RQRPTrt53XesSUUk3KX52F0ZrUa7vAqC8YwDVkCFy/cGgxGQp\\n\",\n       \"u0mjnbPtnDqssV29VJUNl1JvrEql8iSyeU7D1ayDA6n2k9EE7VWkGL8zkEA1h/mFGFB4sFZpBZpR\\n\",\n       \"JhuDI+z+mwfnb4nb1uG0oay+lkgpVFy4aDXz8Uv4dkAMTgFt20hFaUMH8gaXtFkBhCRc+8KLD4FW\\n\",\n       \"3gbP2K8gnc8871RKlqKbiVKq2R5lWbwXYhfdo/cHi/BgVsPMZpV7393q0j/1r2LLlxwqtGrC5OLk\\n\",\n       \"nlA3k5gTjIEssJ4gGa4/kWVObuqWizKsohwrXAQEMFsD9FbvKzE1OtkJYf3KYjsnMqyll2jkKWb6\\n\",\n       \"ogtFstC25+ku65gUdrKRSQ39i7aMAQ2fnljBLthEeeRfaGFeD9vDrCQDPjJUd1mJcbUS5cncvWJL\\n\",\n       \"TUQLZIfVHBmJwHwwJ6PXeZ4+2TfG9rHHQOHOg70qO7QYLRXLqCszepfYm42XIREh31YXKtYUndpv\\n\",\n       \"eYJrHXh+Cvy48tcdKQGipfJlTXPHKuhM/trF32bK00tjei6H5KoAI1moNIDp/fITm5ycWYWneDew\\n\",\n       \"6+f4mDRbuxvsvmtWm48gn3edbPfGFeiI/A5zP0uNaZn95TOVxq2KZnlU7N+dAni3pL4CyABil7ta\\n\",\n       \"NWji8WhLsgbbCgYwgRki0HRpTyeHru+oB82XHuSsNcB+QfLFRfMZ7laRWst7ez0G4Njxv6ECoEfn\\n\",\n       \"yhccJqO7EUk8k54zMKXg1gi2ttp5W4qzZdsjkMflDM65xGPngfRcXN9Oca7sTINT3KhnAIfpelkU\\n\",\n       \"770d8HGX/1na1CtM5hcWl9YiVns2aw+4m034Uzn03TXuBgOyDVDTQ7bzn3Duc+WJjwWiqVFtyH4h\\n\",\n       \"A07M2CgyyuZr8W7tFnfWxc1M2m41zkzE6jeNpSUCY0d3AOIC1nYn5f/7v4NNN8z1kUhM09BalUkv\\n\",\n       \"7if66xMWzaG4sbTQ7UnQBqpUavVwT9KSAO/HLpf/qTbb4wfLXiDCIrUeA0di6Ip//FXpq1Chr5XU\\n\",\n       \"boJGdx3+qEU9S6uo7PVrP9XBS3Y2EtHhRxLv4d67WfAAZa/l2jr6YGvT8UdP2CHAoVgMlcln7v3H\\n\",\n       \"RF8awqbyk3BWe6FUp+nRIN/NpTdGMTlzwGlorTWySvZQ4tHIovAn9Fsgh9OYmnEAlfRpNX83ysfO\\n\",\n       \"z79JvvVwNS2ht6XAXM59y+3uVqVJCey/h/cpHHA+zVHZtHyQ4oZ3N4aG3bL0l/uAfBvUoySbE+7I\\n\",\n       \"UqfJ7RheTQqBJksDyj0D5ijskusfaw4Hnl0zTs44tWxlY9JjZ8i/inbI28h+gNyHg5W9NlQUkTO/\\n\",\n       \"BXkbAmX+rA1l4+jiGXyUjBXBx7D8q+eoo/7uAY5otaYPIcRBTVkwFGMPrXxwA/4SRkX6Hvdexmw9\\n\",\n       \"Z5DjAibxd2lCPp/xqUvqoTRlAdVwdjT+SwI9Ye2BdTuko5wvkRRX6xThA4KB0cqqj2fZC9wdlSZ0\\n\",\n       \"sLEM9kngcsF3ZpBNw/LFFQQbvT5Qu7hEIExY5q7ZaJYKX8JY0jOUOfrD93grtrZFRIAb/hovie6g\\n\",\n       \"5ihTEEs5QzEh96ckstrF/s5iitwNX2nYXLwcpjGYhDyrc0utUo0lF0MFzOCprMNNFBKu8PtWPCbC\\n\",\n       \"wwZxrctyDZN/jfEksM+hQDM+qDAYViGNgEJEfeSmralD0VQVNHurLHEHWmvX2vPIgEHuraS7jHxy\\n\",\n       \"tw608L6hLaQ4yUxag2ZP1iBKyf54depwH62sep5nFkHW3o3203+bFX+nQp0XtEfPnQQ/9Zp06zjq\\n\",\n       \"3/0rFRbVD6RSxTC/89HdgfIxQA25DKxxZVLqSNpNmwdlZ+pvnnusmbI6G5/EyZC7hplVN7QVDTog\\n\",\n       \"SncIqu46cSVR2Vn8CBdYES399qdOf0cyI0FIgz4jEOANU3vp4lOqvdlgbNH0BEwP6xRRGg1KcjP6\\n\",\n       \"1TAn9TqYnVK9LyEphFQFpJBTgVnF69HWWLOiqg/Q6geNMwNl5aMa7p73mdVPrzwFMXe9pLUmB/Bp\\n\",\n       \"UCS2w/YYLS8VTux6IrUzjJwJpS4y+rH/3JQZeVNxkfpwx1xhuBXXhT72WG/2Ss4RFJke1vKq8I2T\\n\",\n       \"jkZ1PCyARJEldiCUoduCFcoSbs45Hr3qZNyUidQGom1AXvxzNXl83Onyoc+IxOKNZHrot/9AAGcb\\n\",\n       \"ssT6nU+tBqBTCEI8PpFkb5Rv5tvpq5JgtqFD16cYcEstVeHeGa6bu1gMX7pcfnzNGXIQDjqovi1s\\n\",\n       \"CgkLH4McX6XVZbXJsCNxmLZ1U+VP0nIL2vHAHcyaUCx+ALRVjYgsZXY/K4i/sxJdrT78Af7Er6Zx\\n\",\n       \"7Lr/5l8S4ojNo64Gvw25wB7Fxx56rFYzWiAGBxuB0nsbHeqttAmeeOpwQ+l1oMVlEm/Vnmbe+PXa\\n\",\n       \"Qtoz4nn3+LXCgJ+CZYpBjUdLJH7ZPzkoOOyMeXqMUQxGDyzsnToO6ujVf+awPARLKuzeEvrEUsY5\\n\",\n       \"dW2rboLboUe+FsgfsO/pYJa9j1lmn69U1rvkNNzQ3EUeOMTf1fOPkjs76W+OXw5j6+7YbMt2BE9x\\n\",\n       \"kLW0qE7eQef5qLhwJwCGHCA/bAXzrSNcVHykzwvwSmapGZJSnKMvzeGwffQEPfdp4WEwxv7JNjGc\\n\",\n       \"dtUfXx3anXk2F9FhBJr/Tq22PG9LXfbk5QSPxiTGo+wA9ZoVDNvDjJv/xq1FVHy8uJAtKJbW5BjN\\n\",\n       \"l7U2xSO4EkkFGGOHlky4smIwSiAuBj4BPu/pF7SjH06L0HSl53DR6dJuyuv1an7Ec4YCgtoeJ8F6\\n\",\n       \"qB+10R4YiOpGFyWCgq/Bj2yklIk4oaxpKr7lwJzumUNYae8e+j3ZipYQLfoQUVb+0aWze/DUns6E\\n\",\n       \"jsnGcQFBMFLt94BBMD53LR7SDcn5xMdjkvspcetEN8tymrsBUWb5xsTaNiz/V9zPn0e0Pd26Wuss\\n\",\n       \"u+2iriO2RXGeHA43oOGIjf90afeEr8d46wS66rP+ZbTvdxkBMD4QhT1mpdXKYwTK7JBXjvVqhWqQ\\n\",\n       \"NDlk3G1gmCDZBTNc2LQCdDT3u+seFghDEotOGhqOMP6qciSGByVhS2sVmG78rR2jW37H0a2TTo+g\\n\",\n       \"Mb9h2YGevhal99vGEwtJgXoFTiJ1LMoWqQU47DWDS6/Qy9s+jE6ebqeh8MUTvq7rEg/OQ7umJDs7\\n\",\n       \"ypDHwZxUzUIpzUV7kZr9/ivF5X00RYxJXfdhuvrokYyGvpqMGX/SZwDCNlr7awz4VJsY1Z3rh6Bs\\n\",\n       \"mFAUfe+M7MiIOr7n+ZkqrXbt0hxubt2R4hlERskSsXlxo1iKfRUjSRHZTl97DOae7JQCwhB98ARk\\n\",\n       \"uBselyK9MX0hRHOSmfimH3CRrnQV364rq1/5bis57fFnFnQCk9TgAwLddOJAU1wdBY3SPV/4Ugud\\n\",\n       \"51bB70QbOJfQ6prdGMXd+kDYsbpUtg7tMh3/eWb/OElruVEtBKKbwWwMTx2N2y2k/BBM7PGc8Ef+\\n\",\n       \"HMUbpCH04wtbLwYi7D3uyVTNIiBZoo2ZXvefbH6mqwhfidFuUE9RccL2YHqjd9/yHEc4UN6tKaRF\\n\",\n       \"Bu4sxDlr5zInBdBbO5pSfATTPsm+QThkIrS9uFncylJI77RG++yIw1zOO/fTI67R2uxFsD/VNPCb\\n\",\n       \"svLY8a27EYZrSU+06D7r/xGXmQnXpz3CkM9HmhgHgZYCfX2MzJ0NTpR/ZJ5MJFwoZIyzUo4Lgte5\\n\",\n       \"DSuyPnUnqPtq3HjtxNYuVgmktBrmyu5Dt3A7bJsdrxjf7Rq+xgw81yqxvViNIJhzLoL4VQ2PXvxs\\n\",\n       \"mA82KQEKbN7+gS4AyzpriQu09yiI1Ps3c0D+hGCOj6vBDGw1B7Cx+CXXeDhz/qDBL2ENGy9zFb1n\\n\",\n       \"AkIbH/aQhbGkK8SGMuHUYngN0FViP+sLoNSiTyYo88PWuksSVbcVLPDbz7A++JPtW3cvLumwA+17\\n\",\n       \"X9wqLVe62c058I0rDWwdX8XE+K2vtBWY84aU7woh5UWNUdHJPxk98ym7J7wVB4mhX5M8f8XChNAQ\\n\",\n       \"OyVKYvit1S16vYnmbaqkvxHkYRdkWKTg48tRT9dzU+6sehsrGwidVP6m41FyuMsvjtQ3ArXZy/iE\\n\",\n       \"/jB0xL5SvtVmYb4uJ1m1AdfENVIps54266OUx1SPz3lkee1EZDA6Lb1+G1p1vaU6YwTY1aa6fh7A\\n\",\n       \"dVM8MsrWAxfwn2LVa4SNhhHWE+dg/glPG5NVxrimaypfhqQymXLqKU8DbhLrStA95Q092dZ4fpVs\\n\",\n       \"x9ll9QKEKM+moFzOv/zUUyrTQUewVqmr6P9Pu8jVVH8FeH9PuQTyPLU+psaqvsdWuL114BKyslIZ\\n\",\n       \"qFwEXM4Jr+6mb+grKvurMJuFG/reNJZORZ47GwVkGgu7xxVOEAJOQJdNL5V6nM/VqWWLS4ooWRDQ\\n\",\n       \"LA777mygaAXKVwELNrKNm2tflNqorr00Wvg3WkizmpP5BlH+aXDeNR2mMmUIFtLTbNHe1Ut+AT2u\\n\",\n       \"U8vG/3DmXLdgxxC31MD8qezUsralQxIhAIoLRZj7Nr1DntwE+Vxmyp9fSHvyRZZj00WCjAW4b64Q\\n\",\n       \"gCINecmmlUDSLNmtrzWyUTDv8TWkPCjbUATP0KNqtNT3ViHnJPsl+86df/h4pzXKak10U035Yti6\\n\",\n       \"yWPGLZiBhHkaHf01K1+p4Pjpx3D2Cv62Xmwyl3i0P0tgH2BJSzj5c5A5Hwdibc5G5uH1zclyHgiG\\n\",\n       \"9YSa5JCpD/doKsC5TRX4QFmtbPYd0BJ+PLTwp/FVTjEN84HdIXqfVVeBGFjA7yUVEstJndN0+9To\\n\",\n       \"+axF1mSDCkhm5qdL4f+IUSsjSn46FF59J+3W+piiuiuLK84nIzhwPc1twIG4P2JPtrlidObByiJ8\\n\",\n       \"/ZbG8M3XqP2U7A/LGi8jOBVkzwwHR2RZlfBng5yc/PArxjx2xxy5DAC0J3/bn/+wTrsAe+y5QjUM\\n\",\n       \"TCHUIHWYmTE7V9RP8N7qSvyaEZ+WmAFj0i6hmpqz/S8eUsqqO9Mo//eAhDNbEwGJQOYhymedVATy\\n\",\n       \"zF5BeWjqPz8OfJi45pdEp5Uq7XUodlX8FIpQLNA0izuzjmBezyVqkvIoZ8pypk37V3jPRi8rYfdU\\n\",\n       \"Fo2xYv9vFSvR/n8HLyRPrPqTHhYgMNDWhaMy+6XsURLq1EeiAsiskabLzadAeYRyiod9mxooBZRs\\n\",\n       \"d1MRB0o610jxQeU67h8h865YV3Gieylwvdv1DxiWQtkpY6KK6KtrDyMMGYDK66YBhbvfA+MD8SCU\\n\",\n       \"nEdnSDa65OBaMb4cv/wiT4Dp4Ywx0DvFas5dio216ERHtmju88+EJ4T9lsNMYaXFSO3NopfB6+hO\\n\",\n       \"a/2EdHER0StYtihjlAEdJSOWECfxNiVHJFuk2y8huqoNl6Do65jNnA5POurUg8HEcs3QPcohsHJ+\\n\",\n       \"DerUEikvUWGjCcL+rCFYV/+8kc4g8JkA40GAeJ7IckdxlBN5bjePV/9iZz6QBpyKwFnjC8L/XdTM\\n\",\n       \"uFTh6MZPP88lXp17xr19s8i1W101Udgx3ois93xot8J6d2i+SHIFjli2YX8fWMj7zI92TeO0JPP2\\n\",\n       \"jBURaVy3s52KH9KAqQOyKsjEEKufdkBlHnfd5gm33f2diLMiEiWbuf4Hd9u982CGzrIymYY6yQPO\\n\",\n       \"5P6s3V65QBVNDcYhYXfwF3MvxIhvlsX+wvbZyzxX95hyn1rpDdobl5rbUYjnchhl74MLHsvN0q4b\\n\",\n       \"YWfijR4JWsiWqht1U+MgBpTIQWqWVjSZcnCLkzemKvfN1DXFOFj1wp6Kl2WS/uhdjk4GMdGP7FZZ\\n\",\n       \"NSF/g4DuJw242Jruk9dxanN8ag1CqImTHx9EydlWbI0aVjPLkdPgABVyYm4BPt+8Lb+vRew2OfXK\\n\",\n       \"69lqZGLl9i9uV5QLfRooXlDxHyVvywrWkP1ugh2kbWtFkHoGi6IQBUCqV9YEhmspHyMM6WBN06Lr\\n\",\n       \"JGoPSpqsD8IpFHXcCLEIoZbpGIuq8S0o21xGsoFKqdhQsiEQGWADNiDbOHtH95vfj7yJZ46/kvrR\\n\",\n       \"MqdTMJ2cdmric1l7x0cqKEnzmIrROUVRtw/GU8iYrvMrA0YWau4jHgGnNqc/4WXqaIf/NQ/UAQLv\\n\",\n       \"p5h7zryRh/Zpl8Fgpv7ZrZ244Hcam9JFKyMACeVxCUrzrTmp58K9bH2o1teT+DsJYr7Lb9j0hYlu\\n\",\n       \"LPGHBr8BrcQaGUj+UvsM+LiyTIRxIc0532TVD71oMbOod5JKfBbgdw6zckLXroCbmkWOQiwQGtYi\\n\",\n       \"KlkO0GIxrCIh75f4TwVl7H0ntsp21LehMmEeTkYuLRrl/TlgxyYe4K4N1Gh08JNQh+vHNqVXp+WT\\n\",\n       \"LIS1u9IAi/vCB5INxevG91nBB36AIHzXhNyFKywJ2XgzujqnopWH4lOqr4isFXAQe9PZbdFAOigJ\\n\",\n       \"1SNUpPhwtZgDwEk/HwtEwjH7Ab9PsDF3HKXlDYnY8U8XATMqrPhZ04sJHfAVkhzmLCuAYkeQYf8n\\n\",\n       \"O79j/F8fHxM+jQOsB81+CWvbtxlWs2wZCG+GjCS+Hmul9cXf4kYefGEXyAN8MyDreLEEBO6Gh7UA\\n\",\n       \"qcBUDiNUV1CmjseapfHQ5Fhz63UIlufe34h6Ins0uuj+UGk4uoGjF7BWlUq7fn5KuqpXJEE6U+hX\\n\",\n       \"XMVNFRV05TcrgljUMKA7AbI5iSUf5JbIup4DxB6xThQ4GPg0fCrRQ11p71jVdOYQgHgN2YptQdtD\\n\",\n       \"oYGU7sj7c6xdJOpMfxX+LSEukBsCrls3ffaoz6T1HLz4j5znPevjt0YHHy1fpONCYR8QlmVc3ejF\\n\",\n       \"cNotNu2i12EvX3gNGuS/hpg6rs2rbEWuURQsmspk/tud2+T7b9Ue38Cg13vUipcjfBdACLLYkZd9\\n\",\n       \"IhUi6zhPDDjr0QFMLPfq7KSkwv02PNkaZM4+w8AuMy2jTb4SsFNORAwA0xBGpHlxpps8lUjh7acV\\n\",\n       \"zI0dmSqZtvo6Vx3B5QL615GnAkKz79O45xX73ippNOwjfkWvNpAPuWPruTHLPqDURfT9bFN1ubKP\\n\",\n       \"pOsVfwjph5Ntnzp43Mo3fcjb9Dj/Pn4zpuDTZ06nuDdp5Jjsn6VfX7onKWfTW2ubwM26dhHJx9wF\\n\",\n       \"rVSiRvDAZ3Paa2HREBfpr4I1BOmRsaSUtLqJel7j5e+kWU0/kKgwculH+1a+Xz7T5DHAlpIVe/Tu\\n\",\n       \"MSZPS3sozxEav9bqWBZWyC8YSDUrAlHRqIaaEFBLOS5N0d90GEDHCQ6cN8jYPiU5iY902t61HRDj\\n\",\n       \"2B5bP/kmUyUO9utXm08wYe1+4/FmT3RjHAoC8JsntU4Myfj8MlA4EdLZQvPPDXBmzePlcsui5dE7\\n\",\n       \"b0BzG0WhHVpfP1shu4+BVBT3JadEM5DKR3OpjxgWq2R6h1M58Tuf7QiAhns8igIXSfiqCJwDJKQT\\n\",\n       \"2o7ikE/ShHGSz/ajlkM99owTbYsRaf2rFAbn13IMdPYlNfE7pxKgvh0QxdmxSZ9GwhhXb0ImsHKH\\n\",\n       \"exFimT0EhgoHksjFukjojWQhSt1XlQX5adiCww/zF9zw5Z1VD688t+37IiGkOgfngkQzq5XylPI6\\n\",\n       \"INKjBhY2Szw11GExKN1iD+pfnTxWU/9VZrzkeLGYt/8DvDXCe8bFndgZW2rSWItbJuMVK+e128Jw\\n\",\n       \"Edx0vvFvnPfNnQAZY52WWIhq9/R0/DSFg6Pfpd/XE4Fb/wJZhzCmGacXDdwp8frUnddOuCSjGzw9\\n\",\n       \"QmOaW6MHZmKVbyMEU0R8QgCBs9oBKHpbAi8XVJJZ7eDosDcXq8wBW9d45oVl2q+7NMkuvwJBR8tN\\n\",\n       \"v7+SZKzawfKKLU2D/crnU5qhOG/WRI1NVglfhKApRcq1is0HDxSVppCJji/6LrC0r3SYjD0P9VxX\\n\",\n       \"BMqDXd+G1aXd6POq2EqMd+dzHxiv0h1RGQcd5rNeGb10TY5nYOghP58sQ/i9tuPQnwhAvnh/n8b9\\n\",\n       \"xVCv+YJeTAVahJyf0L3x5fqYR2Ij06rwyiyy4teW+0nl3i2pQuR9ZERaPJr+CmnBX8v7+v02RFDX\\n\",\n       \"Z5PPmx8CiKajkYnCcBojJy8ShcBA1FViu9mCZ/XlXARlqhCyvelby0i2YdBwBUf7MtJ3PDVHc9+u\\n\",\n       \"afBnyRoI03hBapdk1WoMDizh8+YQ5xLbqP7SgKyRImukxa0AY/7MakU94eCadaWHbub+0Iau5Sns\\n\",\n       \"4PocO2SiwgNmog3lqHi9RWcf+MO84sVGqTcBnFXdG4M6HWRsHDMGOxakSObkQTHC34g3AFap2Cgd\\n\",\n       \"ssc/tzfC/9Efx11azkWhMrPg1Y0sI7I8xb+/2gFW6tnuLyCPKpHp6qPZfJt1qC9//plIqCpEmR2m\\n\",\n       \"Vj0K89JDroHxvHEn+yEnV5WZLSGLQJlal1ysr65c7EFNrn+8HbGI7qFfdWDqtZYknvdFCyuO89Nx\\n\",\n       \"FMyZGS9dfXN8ffYZBJX4e2ofT35wjT8KbN8M9vEYbVQmw3wb63vbXgz+z3ryi0HkE6OK5lygLpA+\\n\",\n       \"Bm3HI+zbHfq855l6T+zaTq5xp2D2C1bvO6hFwDOox07F/yC4pjMO0Kf3P+NJ//xyOix8FMRd4rRa\\n\",\n       \"TdX0Rd6XCAeTXlyaQTADbXMVsW4ktfmvTzPFtwD/GbVKcopWoMg1Q/u3m53obpciqW5oDunXWMg1\\n\",\n       \"0T4idwg/M9e7iIpfpeKpKIZ4AWrOkUIIrntippoj3j6imKclB+5YwXgfTuSMwkJg++A3PjpANz6x\\n\",\n       \"wMVBnJcPryDE+wEZYZTZ3Zn6SIoo4sFxJAB6KwJqBCu0UrBFgzm6uA7ElAdFAI5SCe+XFDH9WwEo\\n\",\n       \"rZfHk5G9pZ/DKrqyWvTbNwKuYO3IkQefgJXslmjXt9Pi4BYHG67sW+DRNTB9n2156kvuxS53NBS/\\n\",\n       \"VRdITzWoHqgrBHV7Oj8VyyglZnx+z4P0WzZoyiS2s7g0XH3itpLhILn1Mwt7tTzQGS1ps6N48FjP\\n\",\n       \"149aGUpHw0/hUvpYPIVxSPYTadCN5CQePIejY4JzRkJqguf8duDTZS/sMSzam4duzNIXWKnMRCAk\\n\",\n       \"X0nvl6dsk84p84WKc5khRtxVzF1JFtegmG3xu11pk/0qZrL8XZkYuYVgIhdfaf8b1OryqqF5Hbli\\n\",\n       \"RyZaX/9zYK8aZFengXdFU3sVmInRFcd8jPlYoXwdQfybCIfQdEb8oMb5vTHfpS28HShBl518w6a0\\n\",\n       \"Ft6RJ3rFhxX+YlspfRaO4q6veiWKAJ8h1RB92W0AKRS6A7YHRsfFo4QfmsrMmZHxU+6Vq8yDvVgZ\\n\",\n       \"8vWDJba7H5Y0BKVUuhZyuUcObMSMYSNguZ5tmCN3SDAddFTsmMm2dtl6bo3TzW600K45lwDK5dw2\\n\",\n       \"tOWdJtb6160ciBvYQ/YOZxXuyi4jLWRUs/DMAkoLKW589nZQEC6O1Uc3zO4Q3Pb7+sOsbA70ZOaW\\n\",\n       \"1mQX89kTrXGycjtXZv/bbCxHt4t6YBPbADdgwRlyngNm4wppow28lzwWt/VB2HZTIa2XtVfRq9oZ\\n\",\n       \"BI8fAZ4t5L71bLEOoSIZ2s0/2L8Rv0d/qqW9S75cRsPI0YvU0U4WkLccxRct7zDxUet4U128rGuL\\n\",\n       \"oHhxAbAJ9o6uT2jJhGQxlhuc9SJdhk54zdqJax5SkoKBxLWccqklXW+BJm/1g5mA1SVqGy/vtac2\\n\",\n       \"fMdNYPb/F0vx/NuPc1ewpcAvFxFJE04RTmlqRHKvU7WqN7DmZyZv9btPRIMw19uBPvdrctyMWeSg\\n\",\n       \"1dbCC7C1/sYY4vvbiY4Z9Il/xDyMnnx2KFPJSTBNLJUVA3OPl1LeIkYNDLPvjyYYd65QRwrIKyKy\\n\",\n       \"8q3iUdHuX1RP50luc8qDI86yL7glxVdsaM8ZCY8bbwCw6Iu7tQQydBaanMngM/EUlUTg3wX5G3xt\\n\",\n       \"BQwe9N5ewpCAk610LlwCm6jRC8YPJE7Ouyi3h8zGCXao9/ilviWksqdCzkg9cE8/U1aTecs5rVTp\\n\",\n       \"rWc1UtUtgpshl77EOyUmdoVXjjJwCVz2Tpc4R6gu3/zZSclV9tHCSACA4WRSwyYuhhlmSf/N9PWw\\n\",\n       \"hEvO1mdF9DdxgIwBWKqZRoT9ATY5Q4ItHqHfHk2oTcq+e08rv8tyjEBV6myUrr6IMpaJwZD250HG\\n\",\n       \"nltXU5lxRxcysx9iuglDABguAjFsx6quBniRfgJ9tC6ioc4FF13g2U1cvaPIO24rdUkcCppwc/my\\n\",\n       \"NhArhyLd0ULJyqi5EVVtg9en0bzDbutez69bDidCGdxv4dptwMtdNtzI3aHlk5VB0Gr3pzU+Emor\\n\",\n       \"kowUd7RUisAx+HGn0HUdfkwTvuam9pu58yWr+4uc5vSzW+VfSn6edCkw2iVG3jF0ho3rjrsa7+mO\\n\",\n       \"TJEWRnanQWOx1A8rXRfeYc2CKcsrWjtGFaVtsYkWisNhfRmyZtJkjVdeCCTutfT+1u7mStVb14me\\n\",\n       \"DF9AEYvL6bpRGzxlN3fT+MCUQSM4EQdVcbvvqdVPIGS3kPuwFdGtY9d410kDGU3x8sn6Jg7sOweb\\n\",\n       \"HaBPbyB8jPM0PTFcLmOYzOrBIwh18Szu9ATeZSB9WVlOEdDIo3QovQjIN9NFS/wC2cgCHwL5jx6+\\n\",\n       \"RRNXnJm9dtsxOcO/hhO+VTMhZ+YR2iZMQs/wKli4Npieb4GYb21It8GaYXzKW1MOEOsxNrUHOoLk\\n\",\n       \"AQsKI5+9IuBT+ZpaftBhvBOX2KK3/pUtSJ6TWw5x0mQVqfaNnfjmn1+pQg08vyaefxkBeGGjR/vL\\n\",\n       \"9zinuXeKkDcwATBI3o06dKqhh25tqHFUgRq2HLicIXut1IZnioAxMx8nPhzv34GT1i0haGACiYfE\\n\",\n       \"cqlWQ01EzS7KiSkoRo8hAF2HfwzDIQuW9TEx/piiOi02nmyO9OclmAwepm5hLfooYENmNPhEp0kt\\n\",\n       \"64oOunlbqRhDHHLjx94IyfmeLBpuzhImHVhS5xtL8sM0ul4EzTotxR1xjZ4kXhDRvnGeIWjY5/+I\\n\",\n       \"jRFJ+UdY9dyhtiDQ0QLPnCxQtGEcw3+C3on5ILqPIgFQtPConSznXGVx6JaW7hEz5xa3TrwC4+sj\\n\",\n       \"9C49QoPlMAfKPpZsn8XpVsZ8NfHMtapCNqji5ASZcmhgNZ9GXU7xBwT38ZF+1HNzYeJEYBb3po40\\n\",\n       \"b/c9xr+dcZtJEFeIdXWYHLN3QKiXcm/S0zLn1b50T70QdNK9TBcQ4FPwz14N7hsDGMAlt5paztvp\\n\",\n       \"bnv2y1UqKSdr8nQgO/J4LZCsVyKnxgzuAB2WpH/LAOJExOP3R4+mzkX2iFPH7hsFZmqiqTXMVs0A\\n\",\n       \"okh/W0tk1rBb5xRs3jHUJt1bkUxs4ckQv92iVnAyu/laf9fV4AJu56Mf15CUJwzZgrLmoRfLRwE3\\n\",\n       \"aT8S6rI6kCtLZHoXAneB3nvqHYu/GJvk2GkmFyySpjhC+lf3E8RgUYmvyP/nDU3e5Ahu/wXJrh+h\\n\",\n       \"aJFeHUW+wbAlF1umiCes2bcHPCOz5y5+3yy0rXDecdUIDats/ZGYKK0EeuPWiSwmW3sgUTiBxXzk\\n\",\n       \"zW9tp8mPQqOuiyymsl0WVu+PJ08E3roeE0Gs7f6nuxajhr4wpf9bFudxWfH0VOOnDOwDdzt/sqPN\\n\",\n       \"7aU8RsWVVAO/zEz1VydaFUsv8H2s2n2VExKftwCNDJ4uC96IFBPEJ6iUnHwWtycP0NLlBtmM7Q/m\\n\",\n       \"c/x+4o4VzVxr6f48ka9sv2sj76WqR0YKTHpRLHghOFQRyhbmyp4JaijoZ2Amfyv5nWLuJJO41I7I\\n\",\n       \"IGmJctb4IXajGorrhJVO42k6MIteStOHLFkLZG3SYHguMGdFeudCFq+gVVzdhPbGhSr89o2S9CBv\\n\",\n       \"/YQ0D/v25nV7/V9q1///pO+8GlyBCkbhKZElUlw0LPL6hPnbEJF7fwxgwhQbJiK1xgAs9zE9/8DJ\\n\",\n       \"VYEcnfVWwe2zZFLgG7LcvJSlW03qkDVlySl4W0dwtnDi5QIK4i9aoeGhf74lpdNs4DZn+qZNzeKd\\n\",\n       \"0o5qK9gCl12d5bHDJa/ZO0HDF88MRV4mZyEbc8fd8tDEyMkzknXMebWbtvXydLn1hnlIVyOtdR33\\n\",\n       \"6OcnKNgXLOU3+QRRmSFxAluvZ//Z3SSyH0WESrnRqVJoiApWiZhvSfvKeF3l5qSY1KYC1sjyVdJM\\n\",\n       \"kM7E2w9GwjgS7vuSJjUEprwyGNm+XIWseYIsSQgglF3DIEvz9GU5rduekwTN27W4RfnZaB0e8rLX\\n\",\n       \"k9qXCJpghcw8Mcxt2TX1LJB+xn5N0O1rUqMjEYcJ4PBSnrr01+qDSg8pg5WBoD76+NktbwBf//BE\\n\",\n       \"Wf5Bqk8QlJZPuAodJjbx9lw/f48ldy+LUn6gAFIFwaoqGDSBeQRvW87DydYITXM+/tjDTw67TInQ\\n\",\n       \"ogRk/IfpvHTYrPNLLE/lyFT2vhGlGc/TTA0P34G30FmzJLuj1b87JCX+AePyyIDRgeAGOVPUKOdJ\\n\",\n       \"eX6TrU/Sa5xGqdofjxS1pQ37I+yw7cbDB+GErRSZROjRHs1owU1mo0izbi4ZJsSB4oXYPvNy26A2\\n\",\n       \"0a1cQmyyWzr+BbrCxQpc5cM8XduJBUJu1Pq5n7llYcAScKEmuH2zAJZNxSZXklKKKk5vsKOUE5lW\\n\",\n       \"+XCuKEoGViA46x6eAUxPEhgnligW7tRZrzl+My8frBETqOobryDGBM8ixyckYfiBSqIEqU4y0S8P\\n\",\n       \"T6lpLJTBKivbGRoYtShLc/o6ARVwRPAPtySVarFwn+fvoGT3MjJQs8i5eqz8oC1KlFz9J0XCsdFw\\n\",\n       \"eDqDD53kpRljyx2ngFVKGFHWa/0BlJkXKdQGnKyEmIpcwBrFLoFadWnfpKwSd4oJni0pNXNHacwi\\n\",\n       \"ad3x45dQDHPDXeIJ4GCjoRlz9rPNTTzmjNDCFUPpmYmw2frT4eWoEeGmFbzFbeh5O7baHldblQD9\\n\",\n       \"4NKN4u9Osdv1HTTDdytJ46ayLqFOeoErqvgl7sbVL1QbKzcR1MwDT6jClVObIcyxPs15LDQicign\\n\",\n       \"7BBcW+kWPKOPTq0dKZIIdnXoMGuynHXiFzYe4nbFqGIwQ+SdSeRmKZrqWQeh//41hdmbaxtDO/Ky\\n\",\n       \"CRXbhIsVzfFBb7QvSFch3jUdZvOXMq83IDTwfNgeDP/Ov1NxiTrQXqgqQ2xVPWDTAcH4OhQh7C3A\\n\",\n       \"eiNBF60zb6RPhm9U/7qd2kbaR76mKHn5kwAXv+ZYeUhFIrF7dqBqAjQdxIoLJ+lLDceemzxyQu48\\n\",\n       \"X7aA7XThPGsTSA1U4edkwZNMfNROV3JCsCR9lBzdrtllfEc/FXU22IXMXmLMxd8n80/+8Oue26p2\\n\",\n       \"wWhqfK4kdRWc0G9v/CfIecKUfwuGYTmfhsezfjDNa9fKDW7wNoEsKg6hNWCMm8iW5iOAfIg0Wwj8\\n\",\n       \"O6D8UlDStwIL+BDKcyBUkrmOztqrn3V+uUCAk5tRENP5aAV/rUYDLj6XWd6VwzhNUsi/JKS2n7V/\\n\",\n       \"Ji4D9vPbKxv40ejZA5yohZPRWiIAuOMvpBljXIi2nvkA4jUWDJn3ceU93oDn5SjBoip7HPxtj9ZV\\n\",\n       \"emkxEOB/Pm3tFcvDVNJ8wu5Qr3xzTG6okpKsCyn4LU9FcWsU6W0fh7hQTaTFCptNZdaOkXCMnn+8\\n\",\n       \"pqHOM52PbdfhLbHxUqrWiQulf+6i4JuX0/dfR5rOJfQC4HhiwjJ7M3X4q42VZe7Ehm7EkbhOqwAI\\n\",\n       \"mRNyqJ4MIONaDEq9tRW/NhmsUWp/zbf/71o+2D65jCuviEIem7lLcH2J/gAWkoc+Pd9XXtYGpyFK\\n\",\n       \"kZ7EXi7JD3fe088EQX+q0CJU/VW6gAe7fD85Ulyb9sZ3ycnOmVcwrvaHDztA3g014E/my9tjz928\\n\",\n       \"vkTgqHNFtwEnl7HugjaM9+ZPVD+lnsxskYSL0ocgjmn5tZm8WsAr79x9hJzHoBUAEmCCh6bfVIlj\\n\",\n       \"3oUt9KKn3y4VfFiEZGnC4GC4k+j9n59GxBgntL6clq7pgjUSNaBTnPoN0HbbOiMz+9Z7R2yNiuSS\\n\",\n       \"nfHQAJf+MJIUeAyv/VDcpmkfI+BxafGPi8IrHJP2ofi9cmyb3cJZ+IKSlwL/EzpAWeu2zSuwFpsF\\n\",\n       \"gzfvvbBB6EbSyvSzIdCwHJvl40Sx4t0HbX+7SQB1mCCRd18aAg+yaDn5wRPNquLofgV6Jia21dnV\\n\",\n       \"MNrWwowU5sV059Q9EG6I9652fTRY54b4lfUv1GoCnWzQVU2u0yxjsP9Vp+JZy1xvtM+zdHIv3pnb\\n\",\n       \"KMKP3h4Qj0qJPhACAzeM4KzAuXL/odLQjlMfrUFesGlwCaUHLh3CB2EEFR+DvsOiR5lF5j3vmc3O\\n\",\n       \"AV3J+k5N0pgNXz2zWzXEzBGhkwjVUEjk/jHj0KST8kg/qu7uAltWWl68AMwBhdc/FPEhWel7CLur\\n\",\n       \"Q9+b3CWyOzudGXdlvTBn0Q8ZSjAyHr7rLo3XEU9OaIbite92IQI4JmO4+co2xAee+sS6uRjNkL1u\\n\",\n       \"nbu1Q5nx0cxwIMRauprputI4tRS98pbW67M5jvcKwb2HyIUOgeoQs/LBa7ypZzFO3Nrk+eEoJfPq\\n\",\n       \"qPxSknh9V7bdSWNqLtB9LNQLG9EX9BW2Z92KI7uGJTd1YTyHQfCNewek7q5VdnXnZdWfcsxAxqT3\\n\",\n       \"esHBHlrYCqMROyr+noumgyvPEJOItzw46YpZ5BritAAWsAhqwhtcb7VnMtyjfmn6czbvX0e7g2yF\\n\",\n       \"wfSywNNpt2deaGWdukk1gaVbY8OJZI5d5aE/YGwUIDtj2arLvAZym76BxfV0lJO2tCb8VOqgbeE5\\n\",\n       \"7isjc2kCk9/fCdcm7sX5FZTJB/y9PYmg02XpWgGggyP4Okroirpvv5q+eNfYtiBBPoDwn8ZDKIW/\\n\",\n       \"ppqch4rTVpmKKSL4QDKS09pVBAs0h6p0WbbmTcdPF0LNUYyJ/oVP+rdsINg00yRRPirL+N+NoRgg\\n\",\n       \"zrJ4T3nTQWVS2NYu9kPgPlhQfkUEgScNhvIGy03Psqq1GXYHleS/QM3c5IciZiNpcW1vhay8TZxJ\\n\",\n       \"QjRtxr2vAPwpsL1uLeII2IJs1xZt/6OR5zMYOVXz/tAwfRkIhBhQ8FrCIxTYZU/4Z3Q2I5S2GMy6\\n\",\n       \"JjaRxE+fGkx0nUDDt3HMxgpTsvm3jt8jiyZ/3LtRpU9TYkLE4WB3p3r5Lvvd85AFzpTvoIYKkkZG\\n\",\n       \"VnCimE4Sg1jEMA/D6w2QdTmpvhzmcZa28p6Chty552lcbmeHH2YntH93TWlvMSe2eYnmnflMRZgc\\n\",\n       \"N6DI+0NU4rfJw4kMKdWATd7iNu8LyXpujBmOW9iNaMsYY+XCE1o89i+ps2xxQu/OgNv56SYls0F3\\n\",\n       \"jlJSbEjx7hn34jiTt+UCteWyQbqfMhIaMGtrA9NflbcROfD+V5YWIV/YdYsMw4LnC0yIsWwnE4L1\\n\",\n       \"4v9D0aw/aRYGDEwtzZmUDqVaBDeQ8Ylb/0w9+zk7ByLDAGxlH63Asf6rB9h+tWVogSHfe86K49wc\\n\",\n       \"jR0dRbMM9S1GPt2W8ICgA9O4x7BMXr5JhqCaYKOGAuzcsKTTIoah7y5Jc9rtMd53L2NDcKHJP/4S\\n\",\n       \"2JLQsNp+tzRGtOxSMMV55bf5th1nTYD/o06NUXNfyajsIJgJl9iK8Z9wtk8Za9SLlXSqiQL67nA7\\n\",\n       \"tBe+2ANTCbKHhYd9ZRZKdoOc3pmTMo7I1liLgTe4tZUiXbBeJ9CC5bKnr4vALWa3uXcM7kZbcDF3\\n\",\n       \"OZWPEVHYZjxPP96lm0JXn31AtheIe8bLIlX0t3m4c2Cbj1Uss/J9are0DSrUT7PFGH4rmvLp7y4g\\n\",\n       \"/jQp/Z8yRGPXkt1+dhOjXyr7BRuOJ8y6BBLhYqtNOm3naU1yV7vCFH+MuJ2uCXwUQSDSC64qbCik\\n\",\n       \"xzSdDRebXkx9UMeBP9sZ+RPxf9KhsPvXytMc7Jq6GoNvgwrFwADOATl2D0pCDW+q10wR1kP3Fmq8\\n\",\n       \"kcQvJw9LctKTRCJtDp1CYZO61xXQOlUOU/ZPSU84BPfzOHroh5xIwxSCiJvlMz0F9KTO7JNvRMA6\\n\",\n       \"NSz52GZ0kUTdaJIJGT5LF1JS8XBQhPpfaUFPKw1uBltrNg2zGohkyCys03e+4W9pbYOC+/ZfEIfb\\n\",\n       \"s2e4fdIUwCeGekUw5sjAYBuLhuRVCCGngqyriaDIloRbcIakWawqcTZWY6ETTgRqMrBrRiSHojjM\\n\",\n       \"uwq+XjVIIXR0uoh38i3Gf87AmAEXAAADAAVVl2fevWRD4e24BKbav8DhIlEIx0c9m02ggpuVFVwY\\n\",\n       \"n9G70ZL6ombJw5d19DFNc9evHeLTXddRLiREpYUY35VGaLH34R9RARdcZj//ilcOn+D//9E7RPAK\\n\",\n       \"kfy97XTXmsv6b+8XbYSEPNbxlwYczuEvHrysbUlJni8Ns163FLtESs8ZEyqRN+vCIF6L9HS5mfwh\\n\",\n       \"QcYm8d4axmLiFKWlZI1n7+9JogJuE+/px4hzIhOS5KwfFDJOnK6gndDuMA4V2I3xcsaAdhJoDLev\\n\",\n       \"XBjf97tFXeY1dQ+y6m5b6n5HInIgERB98yoC1dXoZcnM3z5slMFFQiAXq9UrXH7z91BGvS1mvwPB\\n\",\n       \"mTnkYtf0nGzKDHC+ju/ApYD2zgMW+Qr+B7pfbzawZliAiAVlJ4ilwCS6RTAHBc3q1i2jm/gingl0\\n\",\n       \"drZpGcu1sfx0WOAyBE+3tJFhpLWvhneovXOJieO3GBgdXVSJH9KGyNkiaqcqezWXJxJG0NI6Mx8o\\n\",\n       \"Z2hFgGH0SBm+wdATg0NR9ZPIwKo1HZ/VnzO16sFCKoGr3IjXq+FvIu0+vnus79aRjavPnckt414E\\n\",\n       \"uoXsyVhQxkW58Hu1M089DeCIjddoDXBDvVGPq9y4vVi+kLoFTRM9gqmR0Q0Xs3zZcfmCUZVYwTia\\n\",\n       \"VCcFMo35vl5EzrfVWnLjLUHkswLlllwjieK2+FcAucbD0neobPJ3uZgc3VqdGhoJnMmZno7BXC7f\\n\",\n       \"y5PH4aIwF3+eqKHqq5Jf5tTj3fXkCc7W2x+IO8blcYII/gN/famzd4btJGZ21iLKt3u/2cXBBvUc\\n\",\n       \"pt25RXZuRCfzMX/rs3T39TbdKRuY/+AYHBlBOV+OJ/UDcmYsy2pjEwDwbG26wI7o2TUbLBno/8PV\\n\",\n       \"olZ4ufudbL1xWuI5Kuw6wSf3KEs0lToKKo3zbVgWKVAPrFOz+e3lmGIKfKgLVjGjNUZS31SbmkwM\\n\",\n       \"7WxPGQJFarELpjxyLI+5aa4eldZjCZRu3HSXCNCnaJFuooyUj3l1xjd1oiNflYdgARVNsY3pzMqg\\n\",\n       \"wAXJxLDCtMJ1z23FweZv3GAfP1nEa24ASIZvyudRnP2ZTuhetSmVeQT+pgzTQCiSrMRy2L60g+bs\\n\",\n       \"z+mAPE+Djqk/6kch1RGDKL292qtU0JaU5Qn2r+hXo/C5TZfEeIZMCW7mXGQjbUgzfBWLno1+Y2xT\\n\",\n       \"8c15UPZ2nmvcSm+aPtuEHx4C7d7YxnijBiKOjZjm2EKoiR0JnLyYyuIMp/c6GVPqjDELHWQIMz7V\\n\",\n       \"tXezkQRCAGu650D+FR8ByZKVpGs69ETazQVG5qte96hT7/tC3KSvcule7SFFBO8N3iiXGutbd2Ut\\n\",\n       \"B6ivaolqmSN38DLFPEw664XgXLl+Z+Mvp759d3kxCU0YMGNGY5TaHayDoQuliKKxlquvrt3vrLCp\\n\",\n       \"ZOAWZ0aY/kTuqDLcgD+EhiOqfXvOChc17iDuQzGfPuEVvIuol/nN80AQcJ+lhrj4fbiZ0+mmeQeO\\n\",\n       \"nC8KIo9Q130IJOo4Ghk3aMYYT7yzYpODoNSEId3k2kfqoUHJtzKeygyDKjWkmEUSFmr8DSLmpBEi\\n\",\n       \"Yzmi4vWaK6tpRPV/3b1jsWh/9Vh8Vz/JRdsJZLqI40x4wNR4ZAv9KTsZr9mv0sJcdzhBvNKVpW45\\n\",\n       \"Qqv5MEUQIpGCrOCgqeiHWomlGO15eXEFrzogEIecQ5J9EPhHA1JNNUFqTWBQk9YXIJrLXr7VOUKo\\n\",\n       \"XoKiZldAX34I/GgvLg2LkSLbmcMgI2fXBrYTrrmH7OzFzQ3O0l29+5BRPBx57h5CfnSvuZOS4jFz\\n\",\n       \"+g937IU39G9PVfqoKSBMrQ3Zh7ihgVhsqQYFLW75Z5aNN2BaYsMXWrRxJwHy3OgB1kijxoJsYloe\\n\",\n       \"VDY8Dg/4HZQR+tLZuoKQJZK5iM0UA+Sa1DA5y5/yx9GNBPgV/H5TPz8Z0HCdBEp5lGi30yZ75cLp\\n\",\n       \"m6pQhf/3gpfZPfZB+neZPVnoQuhdBRv83dmKGb5AVEPh01suOsZV63s7E65Z6Gvs0fXOms2hp238\\n\",\n       \"hkrq9YjLsXrAC2ECAW01Je5iUqjj2QdFeWT7H9LF5bArHPY8JCfrpXs6cdZaU3kxg/tVkqngLwKf\\n\",\n       \"0jd6Y1+N21vB/efWH5rbgjjRtDEaT3EIN5INkdx+ACV2SLl+G8VOAAERAynQItyXXoJ85AzXI/IC\\n\",\n       \"FPfKGfQelFqSrStkDTKyBj00mVanCHZZM7nU2C1bCayLt8lAcDSAmkyswGhNrWvSoIxutvv1xX+1\\n\",\n       \"/JRSLxPrjjC0+zP/775v0/U05TIz/V/zxLAzuc6F2Q2s5UBwEGBeByqCdO56y7Vc0yeZpPUgY3Xi\\n\",\n       \"lQ2SRg8rYKvjH/f71Bel2n9q4eiLMbx0lP4NrdY7CbbYtI6Bw3d6Jfu2gJUA1yqNnj5fdB3Qlafk\\n\",\n       \"rL1J9LTkmer52ejQsde/cWOOSXRM7iS1CkiyS6GwYMczhNtnmDgZDS7+F+yOPBHxhoxUc2v5EnIC\\n\",\n       \"1PBTXu3MNVE+xsl7yKpjA2a6ZFUmCr7nH3b9TuC5wpwnJLvrwj8gB7f6LgBUXTc90enO+LqPAklv\\n\",\n       \"zbEiGGqsyeckEMpzHofSDhpKSq/iSa1T/RTibBSnHUp3Qc2zMeD2ReBwqBb7D9NKmmcCLabt+8r/\\n\",\n       \"Dy3F1hN8XVFdgbFuaOVjR4i/d2qLq6b1hbRdHLf2NF71IbPQRAGkKFWxZOuZQi5cKgj2B7Vz0GHF\\n\",\n       \"DDSthMD7ABFOA0hYOUoUlmdA74DUa2l9eEfKCNw1zPUqcTEGLljCRwy8zGUgAAwRf/dIFIdjA1A0\\n\",\n       \"SGUgTs/N9GkYfDVM5vz1pfrxtNOOWs+O6rMWgxmwPKRLvOUlTSuCBcvgzX3yF04UiM0+pDbruOF+\\n\",\n       \"VNthtGU2NEfr3yNaEQZXSCqhv9syY3iCaQxnWg4ntR+EHiUsDD5kIhV1ZY4a2sBdAukAH8YkYvxP\\n\",\n       \"qPBsUViXCgstaGk1oXN+lBolK4fQvzL6P/7yxbS7BBi7mel3fu6rzVBiOEb/kpjy9YwX8VE63cfY\\n\",\n       \"zluJHTO9LZXgVFzlLAb95RDpv0/S/xxvzNbY9ch05w3alT/fYYLqu2acbJgAzE/UHhuDjOZLdua4\\n\",\n       \"pgUOPxr9n0nqF0gcVP+Wdp5V+hPc8Wmzb8oojSM4wX5BG7INcZX298vtfu7vUd+wH3DKvjoZq0f/\\n\",\n       \"zn/5gJtOFNB/GC5LPcffed8VmjJQKr24qsG+13r6mHhntEF7TpiL0SStdscBujkKy8s603o4YqBP\\n\",\n       \"1WPPyJKTm8F/6yLluXBYyKM5aqzzRPPA43zx1zc5YZ6KgqyJorsqQQcZV6DFddSQFPHH6hD9EYWE\\n\",\n       \"fwGHfoSPMDgHgL5yD+CFMgna308B+zdAwEHfOqWjZFrGJHJgZGe8wfymatWzIlqcGSuA2aCi9pju\\n\",\n       \"3/6sfMlTxARHyEQsyp1SrGmfNCkQi0j3MyDKTNYnR8E3VRKrjYMylqjIwmiL3Cw7C7cfGQFl9a9L\\n\",\n       \"vqhsYY7JnRBnFw09nRHKKtez/R9wn6U0YXSL3KPU+j0MBJzvmWbGNY8xI8mB7IY+ZkZ0D2BP5Zcw\\n\",\n       \"BEn/dRJVUkj0O/gd/lDg68NDRvSOXjwoUSOMlveO08IvikZyiJoPbqlwmFYyiUFyp9NQPGZWsLVg\\n\",\n       \"BGC3jxRiHIRE1lQTueQwT/xif6bXdYRoHg+6/fwBCKzwamGfQnJGi6iO6qK9bLCj7B8MvGu5PjrX\\n\",\n       \"6cgP9VZ76udgFZ5TQmQG9uVSZh/XK/J/6/azGyKsQgHVqKr+e8oC6qFSrOUMToR0Xdw2BjoqPPkF\\n\",\n       \"vPFyjKCaet6wiqKohLZC7g1HbSZ/cZlciCFyRcJAZk2PQWqz/M04kYb45dldM0ouLZBluHtWeCi8\\n\",\n       \"FC5jxPJIrR2kwHwYndbqRXZB7MPOBDqx4RkqMrVYi97nqNBiG0bbtLMUhpGWQOxKB6jTygS1PCl3\\n\",\n       \"9a39Z7gmJks1AOztey7b4XdtJl4c49Bwlk97nNi3kP7CJruB30ym10cLCwbLHsDxzz1eN3Zf/IxQ\\n\",\n       \"c7DOYocqqiTIqAIefw5HTXXCdHQtst49TbWVhLzKdxWZtctMdD7zg0j3h8yp9B5MvB/oRcNBQ0TU\\n\",\n       \"UeLEZcaIYtoUme3nQ+3zebrdDD562A8NFCuObyERGgptoWDc0uIrAPiz+8IRF+BJ1m6Jhwmn0OIQ\\n\",\n       \"m4gGlQ0F5CJ58k2qkUR21/jNpi5WQ9SC1cjs/h2mQhvJqXObSOwhkM+6D9Fstfbi5QxSVZ6shQRP\\n\",\n       \"z6x1yqHqE27vCGncO9o6FAO1pODjPL/yvCCLC92tUt9CQ2v8OHd3BZH23wHBYQIY5sNNngP+rXYR\\n\",\n       \"iSIHV/VM0yZqbCXnSlv0UrcvV4a5sgJr+4Y4dfLYwrQOP8FzV7wMAl/J8d6XuOPqsRO/2ZI7dm7a\\n\",\n       \"xV86ws51fjxlzjmWhaEaeYAMTHzwEbTQ4XdZyZjnjOckAuXu9lZfYKKDoo87R49hPm9nvMXt+B1j\\n\",\n       \"9H8p8SpErrvBkUo0fETpbSWQZk1+gUUZ8nI3AQrS8JP1BAaPQTlFvAV2vbOikD9+yM0e0ljQsRE4\\n\",\n       \"VvzhVpCMkTyyTRmFHRx/NFwHlUS2GyeLslHlRBB+h4I+sc5N4m6ClfU/pdKHcSb6/bzuNZFEskjM\\n\",\n       \"bzcTgQ2w+18bMwu1+miRMCBskqPpNRHj/lx7dqDxQQ8z8Rf8XIWptckvI3Yl2b7zFpSEnYEPPagn\\n\",\n       \"orf17LLYcHmcCwB5orCJlCBYSGS/OZMNrAPTKNv0fiysRGOBC0W6IOpu5IyZmrJlj/9rBp11WLch\\n\",\n       \"69EcMub+qp2qVtF/4+YQmepebCux/i8I8K2nzuwrsuzJnsMcPOs0R5+8W0Zy25HcARdfCFA7108g\\n\",\n       \"Sy3ApvMuoqjfWvKDrrj1hYlqFdcGosOj/NWlwqoCR7jhrmEeZhIJpR2C+PP44T7no6K3sSaRsyC3\\n\",\n       \"dt2m635j1apWqgkHNV6tniYF4cs/gTiMMrGpiQXp1plDhWKyxnH6VuALYihQBXSiE5fNNQDqAMCJ\\n\",\n       \"R8ZPd93GMsMMGhA5jaWmRUStlXWFWCp6X1/owoEerms62GSBJ7rTrTh3U1aLcfxoR+L0cBj2qwpu\\n\",\n       \"LygGEt1FGNMvHYfIRyGAgPW9SETEZ014l/bRTQqCsn0GcE9Y8Ut0XZVlMgFXl5W4N07OeOHi2jaK\\n\",\n       \"enui+QpZK+KVqV19rXtecg/s5gfpPNF6t2+CS10BENTZLRiJ9j+JPLdVhzlNi+A9eDuVIliNk1x3\\n\",\n       \"7g5HDr37Xewr+EViUTqDfq/y4VOMOMXS0/60h+64HMmLU+/nvRb4WkgDCv3MXbI5lggGgHTor+CJ\\n\",\n       \"zOXcw7678s8lXCLYPar0yqIX/nWbzL/jj9RHFC8Q/t0CmdHn2IcLSqZWJnmcZ3PfDIEwsTla51fI\\n\",\n       \"Z2uqjcpDWobun/6COnBPDom2/JbjM8ew6MEuTuNQ8ClAknarWkzEDlRHAeJmwU/8+Kni36zZYFgN\\n\",\n       \"v8PU08KlvRgbNga0fXHLaTrWf/TeE+0+CvhE7Z094ovxbSIOVI8AgTPU+CGnL8HQuncuNMnBXJAT\\n\",\n       \"Mxui7cGtUA2qlWcrQfqFjrrBKBKQHO1EcBd7krdeGt8XYnMiWLpVuE6U+UxrW1/TikIhizfwv2Fa\\n\",\n       \"LbyyyDv6w4VtTLSQtgTA1WzDcQ2qqF+sEJISDlR0KKwxloI1uZI6vPgZIylzk9JCQyG/+SyFWA2p\\n\",\n       \"5yJ99jrU4EyS0ApDqTLOLpmACluc06Q75js2WH7gsPz2Zoe1DISu1iIwdIYpe/JYFCe2x2qmphdE\\n\",\n       \"bKV1uPJQgx4HHFaIPF1ZLc00QJo9SP7xpnEgmNrmQWSkFidK/DVEFnGzY+pq2SR9SHRxdDWskJBQ\\n\",\n       \"Sd6jIhS9bsVcB8MAWUjK3QUwTqNMTk2EUsLT0/rA/UbvMQv79GS21htqjlZ/QYXg117S/RgyrEL1\\n\",\n       \"V/cxfJ1g2wK9EbseePmeYQZc5/attAEL4jragp7iH4UxFU6Y05XAtiXzEMTrb80lh6BEP131w1s/\\n\",\n       \"12odpTD+qVrgq6c1t/h9klwtvedQUxHMD20EJd32wdCoEI1SpP+sAn6t+lDqbwyIw8HuRdwkyYWA\\n\",\n       \"prlF/9xHrBg4so48EpLlrOuoYgZgubVH4Z8fgqfLcPGMISCfHnbNqfjIlAGDpIMHU5T5EV/ARKxy\\n\",\n       \"wFYWKOnSHnw4D0w7PjwBNyZQQ5WgCQwazb87MYbPW1H9vr7vP6Cnbukui7LJrr07xzICQLwvxynD\\n\",\n       \"d4sqvxWMlO3X7Zf6z5AVuf7BrcVakGCdxiIicxLbxOPRrLSt2beUxzpBPvn4dP+q5v7ITvje27Hj\\n\",\n       \"grF67R7fBaQZ44ncA+sUcoW03dveSkq9Pyu7ZppwmelML1vaJ+vnbtFbrT4zhZnRyyqtg0ejr+2H\\n\",\n       \"4zmrfBK1kjHS+k65/JmUNO1z+SpNKI0+epaqrCcNBXkL19LPF0IH6c5TOvOik8hKkj+V+vKJLVwo\\n\",\n       \"nPwxiA71C1i40/gIKeNEpE9p4BOy1fRv3/wFlTnUaN2q8kZc5UnJy1ofDgUfqW2V0msq2pcohdc5\\n\",\n       \"LW/0BCj39vQN0hpofkm4r1MPEsV9T+0ylPVcmxs9Atnk/PA94IyJ9yrV7Dprt5/9j6/CfkGca/gI\\n\",\n       \"w2iAQQcB8vN/wzeBtZOo/4CUOUF0YF78yAIkESZrUQwBLYdxiqjJ7wm7M5uXASqnKpnYJ9mHHX5M\\n\",\n       \"zkkAxtvDlDjG03gCRoFlPoeU5pTBBL/w+xi5u3Lkaxi8eKeiDI38h+YnwhdKyWDYfI50xTGnlm9J\\n\",\n       \"9wRkYIopTLDhHaTPDfLb1eZmoth3C83fhdOex+pbhNh3B5BdQAmbgBIUQDzbmPcw97lhGB5oE5Uh\\n\",\n       \"qMZQzxsioIKonloMUXVcb5ouFfd3E4Z5mRLJdKHY5siL3a4F7UMoB6jF/nVDZMT4Ya6+stWrvgzh\\n\",\n       \"oLF3G4jfN9KG884YtG1bB2aVSSm+7wt+AI86IgNlryfyaNHTsAlSHppuXWIH4wDM0oYH8VcdGBdr\\n\",\n       \"dZeOr0eXO7aDUSNKBr2/JVVwgn690I054DllntC24c9B+uDvIylKJQ9ahYCDNtmKILfh2wcaAOLk\\n\",\n       \"5kaAsif1VpnYsvTAe8x3V90RA7/i046oe36p88XEBjq+jNPgnQb7WOD+EY9kXTPTq6NCJHOt/aFl\\n\",\n       \"JnpfP/n1eCMeqtbPFOCkxJB9KDVYZMWiq8WxhGP5BYi95i49nYnqEeYUVLnHTpwin7UG1LpHtzz4\\n\",\n       \"k/dMGEI4EW6ns9g7HU0BI228bo+7YU1rRXpmsLIGJ0FXF8EYrcx5grGZlcg9oMp7dsegca7wcmYy\\n\",\n       \"mHtxYYP7TWL9Cxdjh3d90ga1SozVfi0vpkgY8BTvrM0jAMj/Jf+14MiVQaPrXP7IxW+QHOLfvUNO\\n\",\n       \"7+iabKb9Q4gXF/vyxg8o5O0rbT+kgrTG0dkeaW5SYS2UPiS082cfEA8sZLLv+ahxJPgnwZwa0cWz\\n\",\n       \"QzV9qMmqCGHta7tiJ4AFB5dVJyxgv+CnAzGVbgxVc7bJsg1g2q62iygcvPYnZWxlqWXNDW6X0hrt\\n\",\n       \"yCOBx8kAVaz06SIMu/NmCVa9wZr7eINlURXGgBnvi0/WVA7qx+ic2g0JHDjScQxDJ24Dm0wZTmfc\\n\",\n       \"QHR/g/jYjE7rW2nxDxt2mkhcX4ERXgtUERF/OkKAZ5Mq9/D020Zpc08mHLwR44MVBsN5GSrNYhoe\\n\",\n       \"OwIELce+Ehj+0Ucoi/HCNuTOE7nH4XP4+iq+OC1izVabjAO21GuZq8ysrl65AubK/F0yvE4aoBaj\\n\",\n       \"j0APPaGiS7iMP3j6Zb5Qmlq0dpsX7dEpVwZ/ZdCxjWpsOFRXSXBWGEIJCg/mePgEW11hw8aGUcin\\n\",\n       \"0RM3ugJh+OotAp3WzpY6THWWCUDnXN0lMA8qOCUUXhmKPnBQyw2lpB80RoikrbbvBNci8bmT0ocI\\n\",\n       \"UKaNeiRWY3EkH2am9vjLVv4wLTQ56tSRIALK0BV1WpPdQxjtMBM6fVk4B61TUIdCQSypWqxxolht\\n\",\n       \"QcqIypNEt44946KZotCiMWq3xXYqP5PoEoEvhCi5ruvsj99NNEBkI+CaVWsg7gmKtNhfQFFrFUsL\\n\",\n       \"vlUG535gBoCl0CYJbiyZmOT8KpVkagzQHJRY8aS3lfv14RR4aaUwFH0G1WBtb+MUdHIx4SwsZ0/N\\n\",\n       \"F7ZPetGoSSJisWOVt6Ho3b1HP8Ok/zP/Taef5vnLyzmCflQpi7Vss7u++30KYqYEX5DpTZaxBw4R\\n\",\n       \"tygSd/hoELaiGrJ97lfuW6pdS7fGRpg/ZmKk4JM9qL02f5OpqIE9pyi9asnEUpsAz9nrCbTBKVMQ\\n\",\n       \"LgJ6hj3eDm2meuJ8GpEyTl4fPFb01T2CsVIcFy+rC5wc1/zq1QLgam0Sxl3jbiyo1YmiByDs93Lj\\n\",\n       \"MIy6Mk8gIv5hX0EBvOvvL30otRUOwJRBamQQdKpdaYfI6uSK7MyPz8Y9vF3z1R58ruHVKgO6bPYt\\n\",\n       \"H1f+rNenzX5ETi7gdOPKhe9j2XRQ4/yF9xzgBH9Pihr0RrcOjZx7GrUFjBELbe76JvBu7bLA4BUc\\n\",\n       \"zETyHLs84LuQAcrmfV5EVnMaswiakgt9nxZ48ZGe1agthY/oDmkUiUR/9O4Ei31lr5f6f87R6VqR\\n\",\n       \"Rh0+bZdc4SydZldWco52t1W22/YZHHF3UaJ0ZgXPApiMXb3/N87UhJeHq+8I/DypFHNkErz3rgD4\\n\",\n       \"vDCANPrmddXlEt6NcQubafcN+BTZQaxKMdMvZdPuT/7yq43omn0LvX2uttW4id+bT89p+x7mR4l1\\n\",\n       \"SIqmgeYD+U3t2/kHIK0wiB1IeA7lJslVIH/SxOWHo8XM9U3/FNITqZtjUWLi6TcXYUG4HutSUNwf\\n\",\n       \"ytg6kvSdD0qqv2LwJOYLb6oSXHJaS5RFxTK165a0MjYrEi0lWdU8Ajz4hiWmdSH85QEMTUuXo8It\\n\",\n       \"9/ask6jvD/KTn5A0k8tJaDsG28vA32EGc2KvZ3TDy1E1CzmS8eicsb1j40W+eaCFcm+MTo+yug4l\\n\",\n       \"/y/xOBykwudxndCAqq+57uOkI/n32S6vmfcA+zJXx5v83fnZSIY56dKwmpXmu72PkiFhwUGBSUa4\\n\",\n       \"XFmqiuzxhqM8ICUFV0tjCBUuED03TtbYCH8EJD9OTX6oJ1veqcIXx4yGWBFUSkpGvn3k6HdOu1EU\\n\",\n       \"axG0qvsir4GreG5hLmYgWOdsjoGON5r+r9j6oCJR8wrrXFlDNEYSUMjS6wZckxv/AZu3MHW6abOp\\n\",\n       \"CS/k9l+3L8C5O7ClNEG4JpDHgWRc2o7sl2Q2ceV5V3bEwBGgD2JauQMC23wSJgfjPiNIsDVT11+B\\n\",\n       \"mLVEPkAbwadtREvuDo1luqOgwuz0DlF5pyQKMQymv+lZDskTNU0sxZd2P7rM2z7u6Q83z1WPhGfM\\n\",\n       \"lkLvSSr7aagS66IybV4Ti2fNJBSTC0Hski4Yq7oG/B8BjfdQ0QRBwkeQ10gy0njl7WTUUeF4zX1+\\n\",\n       \"H+ulTi5MUd26xZrOdug95T0DOxADhJ+VXNxDVixVunusMBeNTRoN5uBXx02JS0g05u1f1hSwafVE\\n\",\n       \"7mwr1Fjqfy4GzKSP+mGpp6krbxeTxx9EIF+DyXWc5nSW2dzQdx6y+/9wPWY8d8/S+Xyv7Hg+Xh+L\\n\",\n       \"d2Rkq4ALfQWBV6dfLz1YRydZxry05/sWD8cSyfnHKS1aTJzFzslyS8DTt6n2yByoJKKyEVO6lASz\\n\",\n       \"p9/LOFcQEmAhHy722LXCtgsXXv+T4Ui3ceHAIyy++H2GrAanzT2OI/w5hq2O6eOw5qiNZETmKUz8\\n\",\n       \"jTC7CulBywYqHmKOtNY4BVNOyLuHmC1Jgis70fRuhzBUolnfo0P4oYRqxhkcivTvD/eJxWVRaTVV\\n\",\n       \"MtbefJi/eVYlfsNWQND+JmxaV//HyEEWl+jVOTlBOWOuFAqVjQFvM1Q1PjCnP6qWZtiw89rO8blQ\\n\",\n       \"fBAtONMmhidVNl5C9R1NxBQPltLASMvmHCwlTR5Gvsk5gLzrYjMcYynNzGT/EuHNBy4f4bz1GX42\\n\",\n       \"5KAoVBSL8oj8U1tZh0ZtzJKQzqK6olx7qXg9KLkjqPiKrMTx9ikE2JenSeqDx/fsk+pfLnIsagXW\\n\",\n       \"e/EQj3/3rdtjWW7scAB8QWHzH0DYkPP8m9UVgHp2KmG3t5jEhJh3DeWJ5X/cTpzKOHJ66bLAZhRR\\n\",\n       \"CqCh/ELUvtOXPojJZllOc+RZMDl2ZPhZUBsJ8U5eYFD9+KpTquNIA7JoYRsO/dKvj3/3AS5UzlF/\\n\",\n       \"uNpIGELYxh4/eqEFARPtjSrgtcvuiKbNs3JmgoJqCsemdDNZ1oGWZZysbsQVrqPS5kmuMg4m/kJJ\\n\",\n       \"qCuVMPQ8JaY/27nTAaxkDodqHgjO3vAQJLPXstqPfvUZ/FHjAjA75MNO9J0GDa7wsrNwxPZ3gTvj\\n\",\n       \"7XiBOQ1X/RAt9VtUfc0tecmSpVomzU4rz08PW91G5VGLeCgjVdj9/W29o5KLsM8VT2vrl8HsAwsb\\n\",\n       \"FTYT/d4IT/gRLQnZy9a9mSie6BCdO1PL2i30+f/XPQp7ixt+hFFjwemoyMGTgQcL1TgpUn0Fjr78\\n\",\n       \"YK4GtsW55HfpR6xSfXuqxLm4eZ5yyo9UCFOw8/rE+PgiplberqZhP3S7/Glnk1PQHw1U5mEU+/+J\\n\",\n       \"uz/E7Xct7keEs0udTbfgE55etK7QNoILSZWAEicOx95kE7Jr73wW8Ck/jqpfR6Krfic76FW9MUTV\\n\",\n       \"vJbtn/Eq5pvNbxivbxfxlxsjqU0/0ps7e6MwWQw5Fb05L+a1d4CBXI1ni+ftLRd4sDARkPmnzdAX\\n\",\n       \"dUSY49fKEmbTh4i6lT3V+8EuB7UnJfTfjeBxhW5EwbkQi+Z6+ySaSglJQ+MPauCOF/z7hJpuSAIh\\n\",\n       \"F1CCGxpSZmRMhwNbnxOjXs3POb3xRb5lnnWXFkc4PItsa53JYvrKxeK4zVXH6+CulNm9tixVwfpj\\n\",\n       \"LFhjEOqIIPFX/+II6FfduX+jtNbG5H4Ms845LKF4wJD/RIVLTStefcccj9aohLEUZX0bcH7Uh9jQ\\n\",\n       \"TlyyqKjZqboSrmFXm1avj0VboLnOBqiz3+eRkpeeonfPC9DT0+qySAFYbulwWZjghFSNSCHmneak\\n\",\n       \"37Dlfp0dPtbJAhwVNPusCl58cGQ3iOXJTPwVHwCXbDa8oFkWkphpkcXYzYr7PMOe5906p4YSNTjN\\n\",\n       \"rtipRKGY00y+0d0fOWgilQVjCFjn7aHEKoBWmUBNUNG/Mt2UMfsDH3wiHH+iHZouKbfJATMC/+7Q\\n\",\n       \"IMN0G1/uW9jrQYcpe1AQJsWqBXlUTjNhIeRxs8aJ8b/UWz3CSLu0tDW7EbguWh9DWDo9Q5bbwM49\\n\",\n       \"lBGXXhfxT1Vfw3zshcEvcRpGczKY6ovWi95raor8xSnMDedTjB+3wVLWx0NWhlTJsMcwSfgkOU8O\\n\",\n       \"KEGke8PN9IEIZ1sN1DHolnB2ATOLGiDAJd4wgUVy11grltSbhne+LMviL9zWg9/kzM0hB8CJyNeI\\n\",\n       \"RhQGIEjlZzvnrRv69R/RqcarhWPIQBlRUFBRQ/Bk61gS14IvOG9qrGbXw3Bl4LHqWzgGf36UTTS+\\n\",\n       \"l3mOuqNspkVUR5aPlhqoXpVpesD9VTz6UeKxHinSeP7ckLurodBp+eWNaN9IWBW7xMy2oSUIBM9k\\n\",\n       \"ZwMb3PQpDnSgMWWHp+0tmD/bPJG5kyYgNMbKdOXnB/qUbWrEq56NguUPUM5g0Tr7fVMMmRTNzBuB\\n\",\n       \"RGsKs8mDYNVu3dlRz4OIyShD1Kjycg2GmN211Q7WRLyHhmNUK1GIp6aLGqA+h/yslMp7EtJIWyS/\\n\",\n       \"boi7+a8LCFC82yhpW4sYV61BBp+r/VNe49KbRpO6oKafuaiiLNT06u26n7+6rhlKrSI8eOWRYJ4n\\n\",\n       \"lTFR+n52NXasC+SPzcNcjrIcG8DfGzX+uiE7GB2WuPRlI5dD37wZ9cDcBh55uHAVRzHn0aTRGjuU\\n\",\n       \"wLjEri0D0Cu1pesBemBQiBqEJC7sLn98CJDCN77LWkVIsanpQK7kX9jXgWXu/cqfHvkARzV/2/zb\\n\",\n       \"8PY3HcYhiLcfsPVS+Ik2ZrQSdSt1Pd8r/z5lKWHr3EKOo7Y6+k3hvQCT1KBqasa/On7hCSdiSpxY\\n\",\n       \"OMpStdHFR2TnqAZTrdr9L7Wcy2Rvvxw81hbFEMbWKHTbRzGtgBIF9AZJFXm6tBdgeM6v8ZNdAgKU\\n\",\n       \"LqzWhnq8Q8RoCyuFII8KFS3rxz2V4JZBwHw2sHnbiFIbmXnBeqGgfmnV+y9Yv0E6rRegGjyxM0wz\\n\",\n       \"UL9d4b8G+LUu15RFag2zh7/ppHhQlGnN+Ahmie7GZHRYI28cql+2xmoN3ECJQHFfbnFONLCGUXrg\\n\",\n       \"TlNpELEzUsJ17m/YU2ZOaTcC/h1wCfdX6W7p7HcjkIAA4x9BQ5P5zuTs/yUVwWpaeR7IPlwGeOqi\\n\",\n       \"RPi1O+Gsx7zOygBpdj985Xa2uMmz0Aok9W9gq9nQ7ivvSRyDPx0FDaen9kIksqPL4hOhCHR4TgKi\\n\",\n       \"sz63wGnRC5954Y1fJ1fQBCr/ibNyYH+MmV03hi7UldQKlq506k0I8teagHbdvVSuh+aSKxqzSSha\\n\",\n       \"zReiolMLSj5bE0gxeIrdnwsadfAYY+qbP9P3IJCtGOu0/JcRPpgFT/m6JkbJRmA9LBZY4CavB9qi\\n\",\n       \"IVlwEubvLb1GJ+q+3HU8QbeAT8Qm5hdCffSr7fZH98hAt7hUEmPG6GPo8LDEX5NiHqKHNH7fk9NQ\\n\",\n       \"VCvgWYObVUV1P4Jb025r+B0+qmAZmhKziXUgn7neSAs0gw9+oq6q73GCTu2TM1qI9mKDGSMdXLaH\\n\",\n       \"eEROfF5aUTYMKLZXupZG3AOxTD9WrOuBvXfgdq5HGRHAU633FI424FTUiOl1lhJDmeKTfqncIba1\\n\",\n       \"MT0wa0UxrtcRbSU+M/6U1Ho2MIj2AA9lvcAp3WITi6pIyEGQKjPxi6r9BCHE8vKDbB3/BX1duIyi\\n\",\n       \"F/d+ag39axWBtOggbDzsWK35t/JqXnuvTfC/5QO0fp/DyNS6+xXGF8qHJ8TT8MLzb43zT5n+pK6v\\n\",\n       \"zLDTR14wkadr5G4HhmrUaCVtWcJCHVkKxYOodoxM5YDCA8Z8rS0njKZEQH3nOSCSUK7Wt5yBWx4/\\n\",\n       \"DnpMXMag5+e82SOnSN2W9qEAaxBW1be/Dm9KRd0HFIF/3GQU1WPnwVbhiCJp2IDQ0vMbjBQ8Yt6B\\n\",\n       \"xr9by2J5CNzrLvT0FHha3oGTFJIVm7ow+XpYsIm2lcftAhIIecdzE+EzjSDHc7cnFce7oFPTye9c\\n\",\n       \"tKnt5lyP+6LbQcN2ai7MrwpCnkj7qGljgKIdJFOQxEp9Y5PK/ljBJmaekdbYAnYX7tf67oyLbN46\\n\",\n       \"l8OEcmVWjxrwvnzfzvA4p800LMOHpFw/5aSp6He8a0f0OGTzj5B36kmKC/yWelco9nQOJloYpKlv\\n\",\n       \"elwjP64J0ystsfxXDRPpJ6/I1OuduYHvfhiy4t5mg1VEC+eSTJkQ1TsaKTkqqaIY7eJ7BWnnwTOr\\n\",\n       \"7kFmY+wKW/SFsO9QHAGHHIEh9cQt7+EYUBKAMKjRQelNZO4ZOCg7m0ly5qBR38M3CgWbza1Se5uO\\n\",\n       \"YHUP3dnqYmokKG/MkkvbyHKaKXLBeo0xHLzvmtdzVaRNtTCgX+pEmXgmUb3R1nKovZI066mTPDEZ\\n\",\n       \"He4ozO6nRPVkZzKpRPfQMVzAunJ5Yl92XYUWfcp3cn26aFuymCtpR2V+4kAF4Y470TuLfuHd3zMY\\n\",\n       \"cKaqVi+HrrNU/FbzYyjMUoaSktDbRF3YtpFALNq+zZKkXGG5EBhgj/Bda06Hlkv9cZVJjKQx2OJi\\n\",\n       \"AYvmFviB3F0IBH0rP0+cU0d7mdYE9mWEJS8GXChC8NcMbSqRM8kZ0v/rcXLacHC4OTGVBv0AtbAu\\n\",\n       \"PA2RX/w/8EayZzH1ncyPyWhqg8LLN0lNJIa070KOPxHpfxxYT7QhH/0SdnI67S8o/3/pOnyJblNO\\n\",\n       \"e1lXAd0q0N04icYn8mkIgY39h/s5QcfM6A5RCDumTszL0+W3DzezdxgztaKS25ZUf9jLCdNMcndj\\n\",\n       \"z7kPosCmFJFozH84r/Gn0mrDTgg20Yn7yTqpt7uQZYOiyWB/984J4fNjwYV7GGwZmayULrHOLdW1\\n\",\n       \"lAkZfgifaMXfK0aN4MDOHAcbi0zNTeHK/IMlyF90u20e/8S++3gYK1m9JfdNMyzTWzUsdZSIJC0b\\n\",\n       \"qqcxMBOlLond9w+OYD8Gt+lpRTvPOLzbr8UQOJplS8G4F3bgzkkjuXkWdi5tiC1Zl9gaOQFcBSLM\\n\",\n       \"MDuF8Xhr3NzQauz7/lUjMEG+gTBa+FNEDycYF1Fgtszms0pI7VognfxmTJ0URTxKvmdRMjYKRP/a\\n\",\n       \"UGfeoDEdWqSBk6C2XGPU5v9Sc5QgLNOvNrmpWdAYxBkD9DthHAMt/asE9nfB7wzzrr/4x9W8FFB6\\n\",\n       \"dkYBI4qZUXeIc3yvudXCumJgnjoWM/rHIY/0l8Pxy9jE9yzwChK5lKis405Qs2wRhq5TueFiQ+u8\\n\",\n       \"TSVaesFBP/bsGDdkN+Gdfnb/MUGnxMwmUEbiqjSPATgw4sdsCcBkoATHl5FhABuSCyGX/XL56Ulx\\n\",\n       \"Di7YmTiKWt0HdJsLDPBJLdIWgau/JFM0ZrRZ+uzWWzcrSYZREE86ZgMldTaGxQRzxUE54IiEOpCB\\n\",\n       \"2OCqasw4gZJzOmpGrgHpjWlG0ZprG+XE8TFggfiSX3q5bdZVewy15FMbsd1GiDxGZq5BlujrvYJP\\n\",\n       \"AM+WptqWeOOuiAOlj3KTDW3riYWB3iA2Tfudz9bd5XlKC6U6vgP0yIvMB2P6HQe7rV4nTGFvU+p8\\n\",\n       \"FY38fF/2fZhA+gpqp4c9fe6CjkxZtJRFVKBSeVDwJQ4I6QuHR0h6pT3Vw33Y53oiZTfBuzYcJtDB\\n\",\n       \"0svk16Qcbpx1mOh6S3zJaN1ZnowTSt89hwDDAP3pbWwCNcXwfYbpxH23CytR3nDWU2ZbBoZZdRaS\\n\",\n       \"KKkgmEV7WYHeLOYOgrjfyl3/u834wlYwrr7A802A75qUcm9hrU8ijOplFs7DpmdboZw6JYIeHUCC\\n\",\n       \"0g2+p6QNYFKsRrmFi6nqtnPewunPPQC9U4ZCV6dWv66Epx6Boe9ButcLgQw6q3huL6W0Wk7BVnW7\\n\",\n       \"bp7FO92nLl6Fk+n138DxdhqkdoBpjduJGxmg9lsQHxV5IbGcW+2dUYA4VZhIlgqjsJNzFSfcsZP0\\n\",\n       \"aDw2CwVD7uvGpaFCmbUdEIb/ZBicb9DT8eOaKQ5kaI/5LwkCehuar3LQ3AR637fBBQgM+ofb4pEJ\\n\",\n       \"AaAzJ52gosoRG14cSlgKc/d1ab/4wl5Zx+aFVjFFUz5IJpBqbujUFM8Aq5Kp/CpuNyOGSorrZOsV\\n\",\n       \"uFp1Slqzzg/rqGptJrqIL9KJabiE8QF2TzrRIcEPG/S5t5rP4g5j0oiyflKt8xfbbBKZnn1Xjkjm\\n\",\n       \"t5ArVDiLh+iaoQl2n6ERe8wSTSEYuaIJquKnDuya8hOcyQYJqSMUW1YyKtWhSZREpIDbWllmwQeO\\n\",\n       \"xyDV0exu/ISn98U3s//2IhENxarFVh/YP1uwov7px1DvxTmpDxypd3eWOWOOMs2x7gRDUSSJDqgM\\n\",\n       \"EIqgrO7203JqRo8KmADrmzNJ6yACKMoUNx15WzswSIU73vcD58HrnFJG5bvPx9kb9nBMAq26pCSk\\n\",\n       \"j+Gc02pxor2w+jk+PGND4iJlIhSN8+Fu/qy4cbd+y6cngtthKbnSqYf0ypWPxi180uy4BrsA7js+\\n\",\n       \"vQ7LmkqGQ3/ZIr27QpEOuA+VDEXVzoNKJSKFSwoHsQadWuloSEjepWZyVtOvLqNi9sG/Acbt1S//\\n\",\n       \"ja3dvAvCxZxiOA3MIEL8RXcRN0tJTEdv+tsbPbYtONAATCiodzWo3OydeAos2veOumAT+K1YAMxI\\n\",\n       \"rdHXvTD8DcGP0yWFHKrhqn6xndbL46bHgvjJs/cmz+OCBFE9Ik2e6jejD2FrtINfXOqs0s/R/X+F\\n\",\n       \"fbhSkhJOTKEPSZkoxj55iwTI34SE5mK6ZmJWEVNiFmPedvxrZYWxPDIgZsW0eprTypTD6t+3Q3Ys\\n\",\n       \"cqDfzX7mGQCUNp1awM1w+9DMkty4/6VcDuC9fIJ/YoKPbsoSQDPlqlbumwP2g3kyn9TRG+Xtu9Xh\\n\",\n       \"poAmhtbssAtN5wUAhoREpYyuESQcrcXy/VCIiduzMzE91kjdFdUsYBQg98KNBXqk4l7dRDRBE7W7\\n\",\n       \"fDKwtxJ9Qkl1hu3NDCxo1l/5MAWEPz0pgNfB4/u658ZZzOBrtgVacrPs2ctC7VDeNzjAI9fNCnxu\\n\",\n       \"TWbyJ/wL+wq54QWMXtGMyU6lQzIGGVGi5+S961uGhyRQCdDDPlBNaSz7HuOZj3Vcb1ZT+pHvCfDm\\n\",\n       \"bvBi0Ye8g2dC2LAvBKtuvrI3eKZVOkM4BeBOC3Yk3kGDTrqIiYgGbTKaltu9Y3UBHVxoExBtcgm/\\n\",\n       \"w7DjgLfRmAo+geSNTIt4pjKhFiTMMeULx/shHnyCVfJwEdo2YmNkesacskeMiSy/Zo9ZBLg9K+51\\n\",\n       \"+7RGQnRbJQnJzkWqMgzGltCWnqzGkou4WR3wQT0b8fH25a2xb2MkcYoIKXGOzCwhF0qpDvPR9+Ts\\n\",\n       \"fIaHMvVLyJ4Vg7iIPzjEWBjFF7YO7wgjZEPvQezgWDCidi/eTyH2ITyNChcuC7SX1mceARZul20O\\n\",\n       \"2vEBasAU1ZmS+a4frSKkTpSf0z3EhcRBEn5QMkc0yhZaMhuNQJzeP2Bvn/fkY+Uc2S/FgWJqIufX\\n\",\n       \"j16FLFSv7j8VQZfopFnVGJjWmP46TfrSc0HELhr96S99aRsYHskdOeDpIfJUOLifbSRsc36F+ILu\\n\",\n       \"0eCYnpaf06sx2L6SySS0okFJivAgFmP4vFwgbtuiCMYxesSMAvtbU6Er/pHN3OFWu/Owpo2AcrQ9\\n\",\n       \"i15dkHfonmFQZUqF9YZ4D/IMngBj6p3rK0THpG3UqktWiiK4ntUWIggpYNw/cXzs1297cS7HaXd7\\n\",\n       \"HqYs5QTE966P/dsbaqFw1QPmT/CV9aZ9+rzdBAMSjTMxcZlOrZxAGCLa7bcUeVTHMS+Wg5XS7cVB\\n\",\n       \"zdkVYk06A9/SujuTvPfH3h/Fh+go0PpESuqmb4LzYGvY3aNtX53zvwxmmFHiTka793edlDAhKDFM\\n\",\n       \"PzsKE8cEhjBZAajk/Fb+4NAD/JkH9m0PMVcl0nyLX5T3L9Yqfi1kiH8JQm12uZuKwnjb3Q0JqS0d\\n\",\n       \"APXBbaAaknHqZl7wlYuOSzNl0fyJ8AMXIPGBzFJdRonC3xD5uIrYdHo1JQv4JMdW5v8h9qHzu3Ep\\n\",\n       \"QU6BRqdwS0EgQrdzWgCqWMZNQZCmX1F651hpaUulIhfemjtrcejLG9Ht21xzzNwMWTT+mTg+nEXu\\n\",\n       \"XTqJiXv3lHCFxyC3mZxhHeW3dzN7KYMBwYVij+DuzLpjE4ZfH4r0xaOKOuEruZqrFxBQpUP4zO9Z\\n\",\n       \"bTekpdIHNm2BgGo20uW8jOOZFb0tjGzlzJ9GzD4on0b1rK7ZkQFo5ftbLjq9ilHhFZyNKPfKyHU+\\n\",\n       \"a+P2N1+8LIxcmyIPZNdVttwwSPll9XQQlLPhlJE+iF7GDMDvNObsKryURBhx3vxyzTKni6O4rhQ9\\n\",\n       \"rmTPot1NxHeR4P3Eg5o22qr6fBC3HN6X0pC4rJIEQjEddm/GiMrjJcbjAh9yJlPHj1y4oZIiSszQ\\n\",\n       \"ZiROKbSVYKkblZ/yH9eRx3s5GzENjtccvQoAAsG2Gv/c1qgjZVYIePjpn6DV3zWR+Wmr8QlJb9qt\\n\",\n       \"ydzKLmimozWTjxdnYaTR6rnS/ovrIIfYPd448QicEC3XfjFLIaPPTLZfwjaJKyC+pK6J7fNr+Wiu\\n\",\n       \"40hEh0njIDALTOVcM4M/gu0sAyCWEZ+ZI/UPM2i0WLBHSzn9gpwQXq7eEho4dzaEyd2zISaHDrU9\\n\",\n       \"4JXpYUzoIt1R+umtC3sNLdyxU6Bp+bswACz1ewduD5mb43Xuk0YVENfhgq1hbhK6X03jhkRKS0Ua\\n\",\n       \"Rpo75ri+i1Oem3gBZfEsjyZIWSNF+w05ppMmN4qVPahojW0q9rDMC45Cwd7oJLSdRn9cS6UOH5uH\\n\",\n       \"AzI/D3IbhJcx8k1OvRF0L6qjo5hieJVPY9Jb8f8sJuxQc/SIyie20H879tnxzDvqG8dIsp/tvwh9\\n\",\n       \"1O1USZeic3eG+PFQtLx2Jm7oDXRJNQH3T8Z+4/TnijsEt+co6/wRR+R/N5pNDkGI0oEpmuyWghus\\n\",\n       \"Z0033sDQ+746Jz+qMLvGCSLvxffZFfL3YIOzoxAOHIM87V65HjcCtQ8BTbOKIzWPbdR8mZ8WN6Pm\\n\",\n       \"3M9hA+RbuiA514aoD9yojricyS/QpixqoB1qAAJ+BOA2+I4aVpDVUUT+X3kCpQqVmSTjY/APVq0r\\n\",\n       \"yiEy1PTc439Y2SguorSLKAcnT5qWzkZs+lLM2EXZ/OQwDxbFBrn+LZOSk9YWSK8TJphI6Di+93ml\\n\",\n       \"gk+mjZqa/ebUYhujvvMHT53+LuJm3thxsWj9XeFUn9WPQev8yJVPIWRRmpBI7DE37mr2T9+bWbw5\\n\",\n       \"u3k5Lu0c7bmEwTdqWX+JdJUBnfOE73WGppq9r7ytWTZJrbOHmSTrzbno59CiInC1OCia4UIrdjK0\\n\",\n       \"MrJSaFhwrST4+/+5Td/SytOapTi+w+TsiyA6JRl5JsxPiUaQ1XzdTaQJ8yid+eUDM1rezGXZBH7x\\n\",\n       \"ekiD0BG1Z5+Ciz4Gl70Bc0vyBVBHkNGSe+aB9r+RHIhhxcTlRpgKzL8LAkilkEyrUkHzk7DsSoG7\\n\",\n       \"oWW1iV8jsb3+qzjT3VMourFJNolTXuEuLTR5DzKS5KK+DExdz6dcw9LXSZhkcEM7EGJuIycEPLgm\\n\",\n       \"1XHbFoQtwuzo6xpAXx+SYbwI/Y5aiC94NBXauS/JvI26/uT22DlwRDP3HNnY/VqTo6BrHvpUk24A\\n\",\n       \"6CcaxC7MsF7jccPXi/7yM5qwjvZJGnPv5jYHVMKNGMCze1lwqiCwXxreTmOsyLMN7YqPdoKevov3\\n\",\n       \"uNUdUA5oimpcrezJ5xgJma0cf2ioMQXfGkvAS9Sp06U1oNvdA/Mq1uJ5/s211Ws6BJltyXOhumvP\\n\",\n       \"frYAg+KLuUDjtTuTgTlTtP9UlmX+LjQ7Il9Tfbf2i8ibKLdv05Msf/Ktf9hN6YJlK1JstD9W+sZd\\n\",\n       \"r/sww5+UzQWea7k9a8IB1vCLOyT9aw+bV1WsAaX0I7ywdUOeu35TigysYBuF9yzihJnaCKcFb2WI\\n\",\n       \"tv1HyORkFzToZVj2PSSyBb67tGw9qnU6lJTqKhCCZkbNrKLO4E1lA/hoQvpQQ57KSyDgpzRND3ZV\\n\",\n       \"7wyaqJIEH2KJL19FSa2q4UyyCVhiq/UoIEIiCSpk+mxa1sVgaA6AeHegDxl2iMgDAMWZLRlbDONi\\n\",\n       \"8BPCo6X93V16MbRGoO2apcpIPEKKo8wgiHPuDEzZP3tXs6CQP7ya74sf0MiqN9ttoBOd9a3Ysg8G\\n\",\n       \"90fA/8ykxzEcVB7i2KXxin2qB/sok/vM386JMQjXyHhh2C0beWElxCPH/t//gQG9OVGr9sC8vdhj\\n\",\n       \"u+gZIxxoEYtZYMWeP247HuKXqzDPyypqFqmNXdbfJBNvDd3sVXo4EzEf2UD9SBIdgfUYKE/BzT0y\\n\",\n       \"1ehbN50+yyf1/v8s+HAGU7E30Bm+RwCN8BQ12HB4E38K/C9XbsxTLreraWAYFEvmf8sg52LDy73S\\n\",\n       \"VRSi2e982V5mnLsMYVJNcaQA3V16rqViJdnsHVQXnr5+HpZk3v5X0GSftgglnh/xOcnCL5lvDBg8\\n\",\n       \"slomBs9QyYOWATefU2HRmJ29/qMWR6TNzK8FDlvmSuMTWkUJSbegY37SHPH4T/V7+j/nijaI9LxQ\\n\",\n       \"vsWrAMEeUum4zdEAT/nVctVXSZd3DcttT7RCXOBOlgNsrAhQDVjwN/+V6NGt5yd4D+0eO5gzdwP7\\n\",\n       \"dX8cNHv/KDEr0caBoKqijjmHv3/pojvN2hMZ120jnyHq7Vr3pKGszCVIAMs/fwqB+DyTZI9/71sc\\n\",\n       \"0Cu7C3OJVpwnqCofIOEGJFWc7a+Y+feDhsVf0LupEnFWLs9vYaZWoXWkA0eZ6nw3ee+0IuVdwfj6\\n\",\n       \"mWcvNVek770hMu+6/hjJLN50hP5VusEeQvn664ANkiWAGvPXqe8TKL2pnVrBKJ3J5xyye4w1U44f\\n\",\n       \"mIFs6t1txXVBmde2AOj01LdbSwnZ6Ze03Tcrbnz5ajLi+2hM5mvtNUiHUDPYou0t+9eUsyju787O\\n\",\n       \"kNzApC8POAXG4sKPSgRS0k/fEFFCSC3T4v38op4Xdv4DoTCvgsuBokF4UZLTKwU3yvaahPaDrBdl\\n\",\n       \"rk/gvD/NubF77w76YAzF1FVNtVVTJnHj1AbIcphpuQeLHtgZTFI7RA9TZ0z40UrC9d/l5p+iaLPa\\n\",\n       \"dHnwjXYiQOUw4vesHxAMyn0t+ut05mSKIFbei95Sep+7kqCG7JNnuJ4wuAE315EHtwIirs+P+9Ix\\n\",\n       \"0m1PE1uOh3KyH7VK4TrHnEfUpzaFOg8RROVD/dnhJmfGgdgR6rSwzyRIj/TeHOUyQ1dfQhUXBqj6\\n\",\n       \"LUgtOJ+sXxU5+6+ZyG0Kq5MLejIaJHpzX1klqBd62CxSAA1ao5E8FToyZbUYDOu34wFSs/VVKbkP\\n\",\n       \"5uXV+1uZ+oYtkPRlqnry476uc2yjKBPOTZlipzfyRkxnk9+deIsswcjOdg77Wj1ScVOZFKekkfkN\\n\",\n       \"HRN6qKepR/22M+HgBpivNUEyAsdJPqPDaPCkUMNnxr7wceQSLDpHDvbS7UPQpT2yezCyRauyuPlK\\n\",\n       \"PuUGouA9CNR/PA7fhMaKOF9H5iZGSNl9Naiw8S5MWx5/T2Q44TYequXwLo5INrmBdBvj9Q2rhH4u\\n\",\n       \"h7MdVbs9SWPbXQ50fO8osw3F9hF421qh/YC7g2a34U6V4Jiagjfb+Oeabp8pzJ4kvOuYbiLb/fZy\\n\",\n       \"heemLEktNTQ5lt5q8G+hLjw/IdxDioftKkdj/h0Eq7kRHkkkiDcdzYMhakGUJ9HNMDILE7WKSwTX\\n\",\n       \"7ioK044xZIdOgJ5uIKSValeJHQugr41v67zQ3fPLMOpTqFo0TEvyykinz0C1gVrYL31u6wetDb8H\\n\",\n       \"GShyXQIXGw3m4Pn49IMUxD/7Rg+YeFklfGFacaYa6iK8A3l2AzthboDNbYNXrUuk5MFeX6cz25QF\\n\",\n       \"MWQ8FxcUdZmf7ZSfH6egdMM5efbIH4/XK7LuP/Xdi+uKHfFc8I9gTg7PmaHfAv///zHqCQ20Wc5g\\n\",\n       \"5N5b+A6AgTnyvv/vGA6suk59PeN9jqImJYluevVpCY83qbA9jTrGghA4UdmUt2pUQ2X7ZsFYHf2h\\n\",\n       \"U3EAOc/mgY+3NY02HWgvnLd2j8NeP7Nn2wQC7YPAfzfLkg4Z3AREIpDxsB9hv9sG0t7YeqC/bHSt\\n\",\n       \"oMeE7MOsNaPY2LkiJLXnwWCfB3i/hZlyRFewrwT5k1MWjCVVVZ46XLuqtpLrhvyJhf5uN0xVBxTa\\n\",\n       \"yQupCsKN3fw/lhZDpLdBrFmKbBT7XCmDpz6ST3k/oTRiMM8C8K6XQRYF5aPhWykHbXLwmXH3n6I6\\n\",\n       \"FyRee4zdRBkqhNcJRAHiH/afar2+GPL2WRL0sU3/sysL+LwkVxYyiLELjBGiYhXzdxZodkht8ToY\\n\",\n       \"+0DJMz5HFE+yVonOoXWXApMyJmWCr7H/QFD8/UVzFpt6yCbNkCkkGY19Vg177Dsl195YZHoyRDNb\\n\",\n       \"dNFK5/zzgxiMS6YwKS3baCOgS3im3rOTa6yykdIvH11EE+AqmSixKH74quQPiLSfKcfqmti2YJGl\\n\",\n       \"gIqlvkCdB42kLv7BnrORY6l6R7Li4oe3Cja4IP2r3Xtq1cYgvr6DEV5+3/o8DU97/68aXsTU//bB\\n\",\n       \"ou7Uwx/3KCg6MVNCr5QsLm+cwIfUez/0hQOVHQoB4RP2DolxAuZok5vdbC/GULp8kFFAHPpMdsVm\\n\",\n       \"2gKV2Lltv07bAJDvVHi46XpPiuAeB++toCm33t3jnEdfzvM+BZNaMfyWbK6dzQhkMclsJjhKsK1n\\n\",\n       \"g4gx5LLkhGZlpXeC4s3Ya5cYkzXx42KDMNr16Oc7u0bxz8SEQgpQcqsUb80z9h+54HMSaSlMbfAM\\n\",\n       \"FvSuIby+B1QnOt2jvUckb3KByYZKH7xm56/px3J/nHiBEqJZGoiPo8c00pPXXeRPsxW90P16gaV1\\n\",\n       \"2Z6AMLlMerbcM7Qt1f6Ol3+b9v2rMmrtHUh/x0WrBeXYstiZBhRisOp0yNyPkxUTmUWhH2I3RZJC\\n\",\n       \"pu/kQ5PuAKiY6bDWKs4l6QSvXGL+LRS+5oFX+jiC2rGFQhcqTL2Yrasyme1MkGoEwyHeT1UAPXFN\\n\",\n       \"ndYkjgU1EQDfxbDvyf9PQmvHPWqU0LnVX5hc0AKQ8Z0yDfs9m37ywlcOcxZDbz7D09j5vNzJteEg\\n\",\n       \"yMGsjAG0al9j2fm+EPITDYM+2fN0gQ5yiG2K0KUz2gKsEJ94zaSxgh0E80YBKWdS8H210L3VXmEl\\n\",\n       \"xFKM622f8H1kLoRmKotICqkvZHH9uqf5HdzYPWMaa7tfvpGYxTp7N0Db/05aFsElE/JShMR4muZd\\n\",\n       \"pd0cDmXU3Da5eeuPVR94D5/BumhblRssXlVjpovNtvIgMvR2tdiIOi6oQD+mnKd2MeQF76Yb8XVE\\n\",\n       \"Fy5HWQTXWV8jdX1no9HSAd4jLLyJo7MrLpU61i+8ZWooozC2NkasPLWDk5gLzKMeFmK0/GZYd7Dm\\n\",\n       \"nFaUkFmjmt40uHxZlsYyt+m7vonuKMb+IuOhoqzsCiCQqqyiLRVnlQlC3Ad8q7xkPvxOyl+ezBde\\n\",\n       \"5NyC/IAvItrsQwfud8oDIEMSttjlyT7dSdSNwfG2DuVsq65e6lObz2tp3CiFT6RX7TqQROz18oJO\\n\",\n       \"rXGsaqiCxqfhOzudW4Xk37iO42q7I1nqhLOt34bI6X4iTgiGw3Lc1XH5kMRGi6D7DjSgLtbq/SVX\\n\",\n       \"Z6qBS2hPFbPzn4KYASRrRwgMltY0vVZfK5l0RYYpXyYNxIThZWaPJSeg38W7aECVwM6lrPQQllWt\\n\",\n       \"a5yoTaQ05faFP1jnWtnmS4I5cPg9V23sCY/JFw5s0zGumVID6agBR1MZNs00DZTA78XzQ2UhHqNd\\n\",\n       \"lM+cACRI91HkR5NwFd8aaWIw/xX1CEYcpaxrzRiJez6MiwxwzAsJT7ju6+QahuKcYhcUYh71BVkG\\n\",\n       \"1L3+DJWNWJu7lB6QY5wLHH7ilSxNIsfGdTvRYaSfR2ptUPbtI7Yn0I27Hnak/80f74AHnTqz+hP0\\n\",\n       \"C2rJExyIoT38z4AY41tzQ/J02evpMQ/6YTEz0TagU0nYFBxQLEZDW6GULKJMX8L1K2Hqt6mwojhD\\n\",\n       \"uDkpleTpWmWqZuF9A0xoJj5ufg9VjItv3XonH00R9PWFvhAvR804rCaIIEzzjydiF5iL5ofFXgkv\\n\",\n       \"/NAwiQw3P4STicIkBk//430OJQxKDi7yY7gcG0A6koQXJcekkk3yhAE/pvIRq6vPIGMpPd8Q4GvL\\n\",\n       \"LvhDfjBZAoZl4d5rPuzq4jDXgbWQFrYyfJ211zpSs8wt2G3St1cXFEhhtqFetYByw0FBXeWXfgvc\\n\",\n       \"RBUbAkfwZjaoYyRBRDSxCxTpsLs6MqhXql//mC0mZP1uDzJxkSICNh8grA5kcsTGEUOxI+MyUCdb\\n\",\n       \"WLZQdG3Djbvh7NffM9TXzPpnb/aJ6wc90fozRqHtO47eRkLzmvlkPoQX3QI37RuULoNtHd6do2yL\\n\",\n       \"E73L4t3nOnZRp9waDj+piruNDo+k+2PZWqfcAJKXs7no9+8ISdXjIKzqguvY6oqJay+pG3x/toNq\\n\",\n       \"J0pe0Vi/EIb70eSesf5mBLcqCt5n225Xq2I36pqQcNuoLbFOfQR6HRZ2rvuFq9QMEBKTibBqxlzD\\n\",\n       \"JhcV58jly2kxQnl7Y3ydojd7phm4gz0c11gf7aeN2rQTg0CC/dmTbxTw6NU70Jm1nc0vgLYiSFYf\\n\",\n       \"YVwYG587+jxLFG/Qacojq2ha1yjRNDmBih4Q3G/erSq4Vp7KRueOdQrvLTigFkp3iOgj80Nr2Vw/\\n\",\n       \"wLlORMfcP2werq1g52cvV7W+rAwhBtXGOIRi+mugsM2dEqilHOhqHtjl4ruxwo403mWHDK1xfMmg\\n\",\n       \"UG22i6qtzga67sZPNqD0nxXA1/OVOZfb7jPEG1HprjKeLi5PV2mGeALVvWAs5ac7D0lLSaU3uh4X\\n\",\n       \"iwumbRQU6gzSBGbWpuXLyspOwO/T9tQMFM+IIhY9228UXfmWUD3SZ0f35ACnEEK0VfP7+SdU182I\\n\",\n       \"k2r8G6dVBJj6UHvtAiDBjxmImbE0v8QC+des78EEqKToZ5ZLOU7E3jqZt3ilQeQYnsLbMGxXak8p\\n\",\n       \"tw+PB2CiIMo8cZBB5wGd4Gb9+lcCx0yN2gr3EXdrDTwUvmaM7gO02uLwgRxWdGk8EoeCa1G2PE9x\\n\",\n       \"lo38/Ifogru3jby4k9Nxh6yaD4ppyy+Ln9Wq3+nXejxnjyXvuWgq3eREKAZ2At1xzgbO1ciJn533\\n\",\n       \"M6nuNoPVYuI0K01+le0BldSgFRtb6Q7GY/RasAayuXVYIT6nXwng8VWdWm/KRXP9ICrp52jebdJW\\n\",\n       \"p/efzW2jpwWnHEMd925C9i7fJAgd9jKpYYuEKIRbu97rQR/EZXhYyJB4OxAt5Jf89oR2ZiLMqzs8\\n\",\n       \"7GLDOit0d9qQokfufyU1jWDChU9p+Qz9yPwH2FnXCK6VWhd54OPbvfrwJN7dl1GOj8W4cAYaKnfv\\n\",\n       \"a6GbYQ5d300xjqiHV7EnayxX8W/sITdiFv9k/y8HpNqIZGJqqq9/WZ6OSFUdJzskCorx7/0AGDtG\\n\",\n       \"oM5UXwp/+OetXw/fU3L4KVSUnJsM75TLYyXd7gOGDM7pXN4TzIfgB5sSlFPTnLUzmYJczqCoYupO\\n\",\n       \"mhC2pKJjiKFFmdGfygw/ZwmMhTG0mvIhT5hMWfIMlZ9hOKX2bUr1Ps/s9MPaopvvyfa64slmEVca\\n\",\n       \"pQPU358CD/cGeldPWYveKWLrUWP7yoym0/2pjOWoExlXKhbESEB8k38FgcoXH/HT4zK6ecelMPTo\\n\",\n       \"JLLj+P2qECuLt1GRUFT+XliBkHfWW4Qhky+oscklB9PKvmhdN/X4w7rqlfBUdtYAC5E9KNLFfmxQ\\n\",\n       \"dDDsAiG+E+dNRegg/ZOLCdRSS/03iRDrUOhKfgsUTGjyyzDNU9OHuX2l20/tkTzvq1TIKkq8F07d\\n\",\n       \"L4OPf6sUmtz7Ho8D9flxsziWjkVwurAFXCcxKx+20522aD5LKKt1w9THTt+x+5au23bjHrieG5ph\\n\",\n       \"LbCU5IUdcc6vltXre919nM8ljqqhi6XGL+CqwntZ4XURW7bEmEo2cQ+zKySsPgNIDAkXqIZCiUpF\\n\",\n       \"cCAtj1UQ7kn/s3QGXknl5k/bwcNsvRMk1D4sHFPPrpkXxDu+iG0KfyLgc1DtmbfHBd2GmAxTD79y\\n\",\n       \"JlLuCBYhlYPtBj/qY7tAoUHAHHYMu1ue/iaxqQ1OoPCC6rdhx/xqCQ5CRkMyvqoYnRacctFCFnLI\\n\",\n       \"qJkoTfF+kD6eihH65yOC9Nu7/rsKMImt2sXdP+9MK+5X3E58ttV1TVH+IXaazFHQ8IJwKkEvJIb4\\n\",\n       \"hNuzhoqCLi6thiPX9EtyznIucsx1t01Kb5CFksorhST5lfgHsMsa/RMz1wNTwoeTPclFouwIF6+l\\n\",\n       \"FwvtNQ91zdjjuYrq324JzWXuTMYX2t5byCc7n7qNDmXeAppj55z9D8Hs3RXlPOFSLqVhCCfs8DvG\\n\",\n       \"4D1AE98ogxQuypDB3zYvVWQImF8d3I8kLoeC7MeToAZNUF0AT0STgkymBkT5ojNcptUFtkQh0RfG\\n\",\n       \"zylU8d35hCtKvRAnGtMsCAfnOav+34dXdg977o9Ruoboehv8FvGzKVW66SBofx0I8//WlahXYnBt\\n\",\n       \"6vrMWSqfWGb8WULZ8JWsXsVYOjVOjjxq7k+CJrlz/rXfL5E2TkjmGrwRsq5VxgjdFBDf0mZF6MPp\\n\",\n       \"s2HzLWetozO233VOkaZJiDoUY5bVoq1s06ph2Z6AdtNgKEbImoclwTHUX9yIuad+GQiZXO3jF3yu\\n\",\n       \"uVelJlndr9P/7tkJ5S3ExFaBRiWRJtYHojxrEt4HDGy6fA33cVZIpgxobbnUTXw/UqdzVHvrQ31O\\n\",\n       \"HDoNq0PDWkObORBl2dMBBdq2iTCNoqj8bkL5EVK1QcZHc+8HWFaboW3wNPLqfixuOPevd6zdGTxE\\n\",\n       \"uSMUTVv4SrT5MhrBI01BHsCtZOXzSErVkgWO03l69B+b8vl0shJYivk+z3rQn+vRYvxNVVvlcSer\\n\",\n       \"e6VHgQxYXf4/SAM7GjUNxEVpINw02LubP4GJ2gXCdSZZ5TE4S9wGNKIlNipsFs6DS2asIbdsmL8N\\n\",\n       \"O3rch2psK/Ov2ZdAaE72Yh9/G8J6zZov985e5IS4GyOyMx1xzQHX2HAnqzkQyiWj9VIR8hOtK+OZ\\n\",\n       \"1SyLOl0ABPtP4q9Evlimwi0yV8T8NmzS1sKOC+mCWAohdEyWFdGkDDvRSt/9N+HITza6dAM7+w/z\\n\",\n       \"7H38qOy/+LJ1RIkh1W4tF0m0xUMAX8wYFhnkoYu2hTgF185alG3j4spG6Y1anVQ2IxA5gC06NpCH\\n\",\n       \"Rtec5SUvKx2scBm/54eiGFcXNn+bTYiuK89P03JCcmRIQz1qPgnb2wHCab4fd2qhKZrT9tC2Jsx8\\n\",\n       \"xUEN1aGSo075QTl+GuXIZ6r6mQwBQjf1TshVtdducxV3kgHVn7aHL1IVxyVM1FRkebUV3EXLz+wF\\n\",\n       \"Y6+AoBRo9bC4GBYhV+jIWsHgGdFKwhhMhfGEOzZ3zh/ohNWNmDYNty5pFszb/hUCBPBbdsRRp6ke\\n\",\n       \"4gXUd7lQSZBQ7ZNX0GNW7khUfxgD1cOM3PseGsi5ZON8707LxIL1yLeUUo1IUSntQFQQ1lJx+cvk\\n\",\n       \"2StcB5ylBBzFpaL9VSmHVnxTSnTOV88rD6jBqwqrGdftDG8CD3/pMpRQ7fSkhcqZCKt+8qQuNNnc\\n\",\n       \"zphv5GwGt/JRw9e6mbFoTQOU/Alfj/68WhMLQ+QAbOcg4KfcMcVGhuMErcLe+3f3MSelSPxUVglA\\n\",\n       \"TwYgaokuX79OCXraXBVelx1xj2qUO8/K89BDkK8UUi9CkRZtwFs8izNeK8hI+tx+l9XXvI03mkXy\\n\",\n       \"XGCuYqVp2vFoLHQ6yC83LDvtlIG6MuFz3nzby2nLvGR+CmwKLSinO+rYNjsynOccz0OkXXJ8bEgl\\n\",\n       \"2ajKPwGPYFlTZUctzerGJBoNdN4ZDmM9PaAzPB0bZqcpmL4wUbzzIG9LsTPbuAQZtjXVXy+5fZow\\n\",\n       \"GqRqksqTuGe9rm+R+/ImD32teACzneUVsJffvOoglKRkhqVzZ3DpVlehR2QfK27QI1Et0oZAd4lt\\n\",\n       \"ESnmPvUXRuglBBWvO2PS1Ccrqa8aBpwor431GnFLAo4GHlPg6o+Z2nW+eINCNHM8/7Q8Lj+vvb+G\\n\",\n       \"tPf3JUhOfUWNiKzFawgvpFF/LkbkA52Kp5y9sdXTFX30l6tjK8mbVl8IaiREtWzC+CY2/TQqxpgz\\n\",\n       \"S5YQ9KzTHSQfT5+JR7eZH1Jnmej0ollh1GJ0T71ZcwO2ubJQxbS42Q6G2vMVE4oT2lxVq5poK8Gy\\n\",\n       \"fODc2nKbxmSo6o1c24zSOfTUtSafmVkJC6OJCePli9/Bl79g+viBJDfmfck/hVPSL9Nf8JKm3U8n\\n\",\n       \"5FeRL4eHjBcKCC8L/+G72t5ohmD196+f5ZDaVCdqxi8cxX96mCRcpEKjPTlYn6xDWLXD/+8deLYv\\n\",\n       \"SFGyDg6j9LcM6oNSoAiq7x9J1tdh0mfGOTOYniNDgzceftVwoAAZzm0Qb0O+dlvluU4UH4VX9Zk/\\n\",\n       \"Xj6rrjkpSHgZ+6Ctr/Wkqbpn7zy3nergcgU2HGJzvja0L+o6/Kr7NQbYq4jjCpQzyr11J3hLzaPD\\n\",\n       \"+A3NdpJK1PCVyG9JB+6LdE7Ks6HGn8vvvfclAnF7su2KFnwDeVtc0XnkqTWrbI491dxEWUd/FtlK\\n\",\n       \"tL1R1HbNT4ZL/bav9rfQB04rQF/WrV3b1W2blasb6QQt5NBWd4IqaPXh4/wzzosDwLwutn5fpeSl\\n\",\n       \"y+ZcM9RfpWib4+UXuKt1cd3fUAndwNhi51A56Ec0rGBWMh65Rl0iMqtXlF3URQR/P+0vfL3V/2LL\\n\",\n       \"EKMpcAAb7cvYclQGjVqIH+3B15GpnNL6pjnyrXfvF/dp6OtUK2YK7bU6oiGSExYWu4s1lJ1aDBiC\\n\",\n       \"7vhMn3TG5zqkyFXB6d7eVFf+B6zLkmagzVh2ctQaBCb3gsZmkbLkBllpV7DWw6utPR1yTwAceBGg\\n\",\n       \"VMxOggwHgBpG1xJYCq3aiPRTpa84pdDf8+nMn47TFyk/OU/bAtTKZN8BHlZvb0SP/Sk5SVFa6Ve6\\n\",\n       \"A+SItwa7NsxBCOcLRLMcc9lNpuV8TTc2oXTuRiDbkchoa3PibjUVIQbeOa0m1tZp0LCz/9alnq/u\\n\",\n       \"DosOr4Wt1knMcYNh5Iz8LMZtotgs7vGeox0HwNp7ueE5bMdVLisItmOKqKAHkK8+44sOwaFmrD7E\\n\",\n       \"c5FllF1YwuQXIjUbXNSvkIknQK1LV+uLqpAaol1/+lmuhMD0WxGXs/RqzHV9oSxH8tW66Dltijn+\\n\",\n       \"ucMwZVIuISzTMl8EHex/M2gq9hZ09vY4NEoJdTA+OlNAGO7tftgnU4OU299Z9iet4xnAdlmrKcAb\\n\",\n       \"BKiT91990/rty6hd6DLHu7lvW5U5xRFoMQ72YG0LhNWDF7DBY8IVId5k6fcivppKnU6RIzOTs6IC\\n\",\n       \"rUykVNg4pM4kSRZZPc0sREhTxIFDCv3QO8/sFNbHci+71hQQHmYGjknrsB7x714EZisdaOF6lLH8\\n\",\n       \"iLYzw+WwyYiKtYBlSmqpr8tdlPlY6YxYy0hI7oXp4HK87z112h0m8ZICkbnyZG9nPsupk+WBXvGu\\n\",\n       \"ns+B2o/At07zhCRdqdlWRB4hAa9KkGv7sHezJnsqnjOUID1R2Bme9kv/bq03/v8i3ork/YIFiwii\\n\",\n       \"hrFLDxI0kYURndJ+LweuJ6yhmMpsrqY36Yqkfqnwiexqjo/6ZmaMEPbHQA6OwV4Qy4w66X6/nnY9\\n\",\n       \"I2/wt9dElKqWLVZdIgCfhOUOI/Pz9lkWM447fryL0My5E0wTT0KV0lmElg8A4NuymmRIfbs1ICm4\\n\",\n       \"dISbpGCG0jZysOTx+IfIL7vyOwsb8AKPHiEKKZYm54lW/6F8HLrFm+Xyo/tAR2OUSerk8cbQX7np\\n\",\n       \"kjE5zD0NME7cA062EahymCgfF8AR35wI9AFLTUm+rEZoNNFYIahKXVrQdtmhwr/2eCVRRjBBUE1k\\n\",\n       \"uTRenws+VwxlipQnEIMayPHnhN48Rwn1sZ55OnwPklYAQNzOYQHgSBQ1bwhjj+5l4j4VvGJJtAu6\\n\",\n       \"+Rg7ApjFKRYNJrbuWtCpK0EPo5LiKpwBa1B1tsnEeL02JT/GKzJrEwhkBq2OuO+O2R146SX6u35M\\n\",\n       \"RFuOvURlOi7B6x0qeQdUqAWa3+al3OBxWEFMlU/vEUYH4nuAeYOz814LkwZkWnoRNULvRutRExQU\\n\",\n       \"UhcnGMIm1HBLC3jJMDv2UTUcjxKx/DcNI00lSIgCpG4KB1ArB6DSlxhCma2ENpCDkl5euRv0o6kh\\n\",\n       \"P6YmalsggA3pjyCdD/fr5L52mc4S6x8YXW5t1sUd7cfD4bIf1VGv50Egkz1Zu1SaVzvBz3h/8JlV\\n\",\n       \"8/2BQJc6tB5noJIb6ZRxaysA8X06329ggRrnJf3hnrppr4zditLDcQrKJJS6QXRLoT+iMcptSSzs\\n\",\n       \"cn/Pc9HXr3mIfflSg42ycfe56F/QYGxjfJU9XFKSiDKKpCrr0eK6EoPsqK2Gnw1cfJkuVq1JTDg+\\n\",\n       \"U0DHlRvJdvMaeMKWNv+2cadPNxhz/ZOtrBnul8BmnL73FkCN+n37UY5ZrYTcbdXGRc2xZer8TRZY\\n\",\n       \"Zv2ZrkfsQvwMumI9uDiMx1NFOgV3/4JvgIU+aUGWvxeFflffimMz6glE9YzVJ+AhSs9gI4RDqU71\\n\",\n       \"nzez6CH6TGIkXm+lCLOtGUO/m5YmJwPnJsgmZ1+XINcErov65V57N/BeY63hnbrBZir00h5sj/99\\n\",\n       \"365XuMVmRy0VP5f6jQfQLcNmeHYm3zOTtDUds4K5WFFARE9bNckcQwG/9HeuZodRTCzGXBOhOIs6\\n\",\n       \"DsRpelivUFQw1nLI7IeUyPuYEtiipVcN/5oywxkQMVsfh+xUUROvM0oHGqzd0n4ulT4Pddm24j0k\\n\",\n       \"r23OkVaiY7tPEtnSZDeLv6wiroTAdq8sze64+WJhBK/CMw7SiS9M5PeGoZBuFRn5f/VYcMHbX92P\\n\",\n       \"iUk8gu0A2LP0Zi5CysyphVxS2ZQHdNSy+s8S+mN7IMTJXkZLwEgkGc0GeIa8Oet+FVGdGM9MeHt7\\n\",\n       \"jILbl5n3deNxYTjiTCIb8z9xApze0NmZxJpS8Mnt0Djugv3iMep199WjOIE2q9aoYNIO7bO0hygF\\n\",\n       \"LDSzrrIJ3bEcAUizn2vg5ty0VzBjJX3rf1XXPOxy5K8TpJC7flr9Ne+6tkx4A78tWmiQlYrmicIq\\n\",\n       \"hTWhFzjotbhWUly4VVue5rd59x/Mptqf7h5mx2Hqwqmbe93noD8yBVqv6lEAadKaymr0Kh9OrfgC\\n\",\n       \"gxO2ie/lBifvA4rbQcZKgyEjHtk5qRTuZpMUE81FDZliZIk1afAZnq0AuTIUt+9RVrpMZi94iy10\\n\",\n       \"E+Sk5V5noP4zijYpGEkCf+nAX6Qo8RvQfURBgikkc33+Uw9aGYN92OJzYW2NzmJ98HwEi+Zd87E6\\n\",\n       \"llxX0xZw6ADjH0op2+MWGeSQsCo23JPgjBimqgqTxKWY/v2cVAKEDfiCkAVdt/XgHwhK80J4sVL0\\n\",\n       \"3J9mA+JQj/Pl0zZHkO7xgVz6C12f6TX4jYUgse5Rzlqv327fkmrWSLrYrYN1Tm7idGWD3nExd9/0\\n\",\n       \"gDlEK7/7ASNYfnbIZwOav6iccXxATsVNhUXZ/TFCT/SkN+U5tQ55/WQO9o6ZzEcWfZyBa/9AUE40\\n\",\n       \"unCh2v/V8K17UvbVGZZz3L+nShDt7ytmVBAy/vcG6Go//K3pZ/9MJrsPInbr/LOursHBRocu0Yli\\n\",\n       \"6Oo6nlIMH4AdlPvWLf0a3iPOl2HEioQmQd9ff5n/Jg9aGxFSmtgCW2sOQJIzUMl8kl70c1biSYLo\\n\",\n       \"Or4zY8huC3iAhJV3sMZUQEsi+NPUI37edcFkuR7ZvYHY3wKKmG3C9BwsPJzYb3yEx0BMgcAjgAxl\\n\",\n       \"G0Ls6lo1H6TD3Fdr1QYg3z84AL8CgMPU6LR1jeNnrZCahYawXPLVLtx4exfB9glZ+x0c6DRBfT//\\n\",\n       \"K3osa8RLGcRHUfYyvBvMEjjAHQVx1xqz0mihHGHzhevpwKL9zHP5hYowCZ8byk85qqgF0a0UWiLU\\n\",\n       \"MkClxxBhjUn/C99X6NzPMRmELhrAsS5SLaRTWZ3ua3b2fTwNDY1h9ZAwjGNDBgszOQ1eATtcIQQA\\n\",\n       \"3am0uIxksSQJhou4ppyzZF6/y0vEHhJUvqV3uIP6lkZ3yEOmh/DsLjj5NbZIAiPTJ2gXmL8TD8Xp\\n\",\n       \"UNn3zIkBfqbDN98j0BYuJpNHoI/XzR56GRSXxWWjUEhZAM8xmpsuVxx7SBlAotO/XNQDzrRCKz15\\n\",\n       \"V9GAfof3DjX1BurnDQ0+suDZKpyhkYIzgj2KW3jmiD+5g7kfo7FQDvK7dI4vkjEAv+0UHtTiSjZj\\n\",\n       \"wiGQVNo8UyY+QbfReQWQcKi5Th5GLof6K5DwAG2hCwViXGRqwF0HLbccBGTIz1r35qeh7R5WtYor\\n\",\n       \"SEVlRizCFVVz5bWq6HILY+SaVV90Ey5walZdH8fQUUBacULhytYXPRUbiNb37sYrMnyg1giAif0i\\n\",\n       \"NC4t50ZFYeQcsUz70nNMgUTfsQhfxSO9ZOgtnzKOP8zQr4H9hKic1UqBbkovWENHdTU/O3u1qU8v\\n\",\n       \"uslN4tRQdFFEiX4Sn47XcfCekn1KDktZQSA54Wbw7aeN5nDwI8b2BOk9mXJfsosRHteZ3RIpapyh\\n\",\n       \"m7KZNgNk3MVXR3WchtSVm7hJvTH5774mKtNWjJv/dcrQBn4QAO4noSAAAAMAAAMAAAMBOwAABUZB\\n\",\n       \"miJsQX/+2qZYAAPRDR5oAdMTv2aF9wQVLc/38rXj+E5/QmOqvX3/jNRj2/EojbkcNFBKuqrSsjee\\n\",\n       \"Jzh9NjZGugfDXhbTKQ7NFlS6rpqS3uKPLeoetsG/mxjYdNfebF5cklNOTdx6VAkcJRI3HOuPWzCA\\n\",\n       \"69RFBbnVHxjMkgdEfbgx/hxg0+cPrpHDbNi5HRoXXz8UnDt/CJsaa6oiaHFvmXIjiF5U0GRzWaUe\\n\",\n       \"SKb1JE2Yb9ViJq063H1U9eChqmn9ZVs6hlNy+a8lEs4cwr3WB5IsfHxdRq09zrJg4ZRh9R078wJX\\n\",\n       \"tqZOzz3rJ+6C5bCerpLCxCE44nJN90HPOgzJBl1RSd3CfDZ6NVe4XCnBKe6XOUk/SwaCjt6h59/0\\n\",\n       \"M1O+JJvK3pRHSxvUo8v5/x5kR6XGQj1W/Ec4vp/JTefxJigpXnB7wxZ8tfO4sr7rR3mdj2c2SZ/n\\n\",\n       \"nvxJuy+d3AZf+uxX8tdShWV5YGGfPIrawg8oEyJHhdhXStNx2/mo7dFLfWW5Y+5R3QT0o83CsphX\\n\",\n       \"g/8cYT3NYV73RCgEhzbEkrUp5Bt+jWIYhcgHbUmwazeFjoDgBN0cmccsjIE2ysnX4Slc2dR6D/Yd\\n\",\n       \"0R0PoE7OIMXxfhTUs/OxCLlZ6sx3nh8f+doCuad5nc4136JIbXgw5DIQlFNA/IIhqwww0alDH2Jb\\n\",\n       \"YrjdHr7APufm7+OeSI5m0K/mqD8O7xvWtnyaoNDyfvmcxJfIDUzfUQeAt0jAujhaSt6g/0FgZjNa\\n\",\n       \"LMWgX7prVij8JwOwgfkerYMVLL7r7PrABdpnWTFoN/NOAxkkD+lmh5HIReOJ6Mny/1ZnlBGQ1gFC\\n\",\n       \"u9RJvox7oUJQgDWl4FTr+nf8kg4xBhxLtj4fGwZusAlOguY8emm9i402mO0o6lLs4U1N0jGsp2e1\\n\",\n       \"8geEtIF6rjRUzfrD7U3DCd8z2ssdUFQg0ks3IYsWexzcUfPVbMhVGXaXa1+9EHzvFrYj/z4cyQDn\\n\",\n       \"Y/a/57r5VOYkn60uTklYSkAJ0L1nfuY3brQOY8AqFZxvcMj83Bo3gJMghXNEW9YU1vdPUCcGfXuK\\n\",\n       \"KjZVnDuQ6sKz7gDkRhNwTHrtnETJrJRaCQB4PlQE94KaLZrnXcp4nQI+QQVjgqjKcYlXaUUEP3UJ\\n\",\n       \"/OOXxxxygP0Phaw2ys54O+gMi3KqK/LyiPDnpIusyvyK/g0TutL/FIf0KurWuAAkxIK3CggZJVB0\\n\",\n       \"E9G3/D3qgL5rFhdo/Wm4PLllB+HFP4PrT6G3g/TjupQyHnKl4zICYAcScGK293RPXBl9MdA9mWIV\\n\",\n       \"exIys+ohV/c/eLt+u5qvgkZCS7IiofLTldpu60EdyCw27cCb2hbwBQHnysXs8TIo89oNLi4V7hzi\\n\",\n       \"aOTDkT8BGUSMw6ClBlhGmg/CBxiemSYNtETG8YycesCMia9n2ivd1f7aJPf83hdj62LNmJUGyimk\\n\",\n       \"pe/m4BOkn4bduUlb/qFLjmF97TyqJ7fZvlOZQUPJJPZafXMKgLfzcmSVbkIsPkQejoZATWRblinZ\\n\",\n       \"ASberlwO1wI6QvoyoVEH176/yhw+wQ4a9QG26sSeDhDgvQkqJysBQjlD2vl6ME5H/0Nfxgkj/Cee\\n\",\n       \"/Vp+GPbcxqjTwgnMheciOxdi//0uyE11qlbwLS3ETNLIZagkQx/rqimPpJDQgUChK5dip6rfvVbK\\n\",\n       \"WKoXDVw114msNE7gv9wwgr55gAWmK0J0THqZYph0Z4iyJ4HdPegV02+oB7ERbFHibZQx0+gSRp1Z\\n\",\n       \"KtypUYiUuaescLw4mRWyMytu1N6aGUi9t3FnztlmFi3leNAAFFAAAAccAZ5BeQV/AAADAp5mKuP3\\n\",\n       \"N5H6TsB65KiytXToWO8G3RMkqPvKJ5dAHDXIPeP31Keos6xu65GxeXDK33OEazTwAOV5TgrPi3FD\\n\",\n       \"AT0CQ7zAZs1+l1pVDRHhmcvc/28mYFEEIPgXd6HRDund+gjgWXkSxOsOOObHwwQg2tckRrx+MIZo\\n\",\n       \"Wqt+7ohpW2xoQaULko7IxrTa5P9gTahM873PAY0tfEIrZKNHPWiIwYs52QF2BEwDawRsAIXRgtcS\\n\",\n       \"Paaj3cvJVoXIlXQ96RjnwOg9ayM4gQnWxDqTnIcH1NuSIA5Q+vkHyfXgHO8u12RDjZ7vDYJ/Vweb\\n\",\n       \"sgbFGVnPyuGXxuamm6n8k98hw8xYReiG0ST7vv800jxKSeas2hFVyAJwITb9j0LTF7Vz0Y36CfiW\\n\",\n       \"LQCPwQY8RQwFi8j9LS8BV49z+G78TbQ/oszuWe4TmTv9He1NaMfSRuRysjqttMutsR2HmFrEeWHd\\n\",\n       \"hXD9p5Bka8yLaookAvW88P8MKGkWY7ZDH2ExLS1gEm2TgbjQFzW4/bkWSuLZe+wuw92faSPomhYQ\\n\",\n       \"YPDDApz4DzDPUrHEzXvXAXZ1DQBwZrQSLB0tz8K7UYWAqvyr4KZD4QBNyMi/Kd3MsPKnnV6zyP5W\\n\",\n       \"eptkcal4IomrNOHB678uWSGREkwJhHVP1DRRWaMbBqogkTRBk3RNDz7GBysFwK2Vc4XYJw6dGSY8\\n\",\n       \"kTOdGAf0PHV7JAkxqWgYlEJoTPWO7fwUSDTl/CJRaaVZhyryY1GzIUY9YMlLqXtXW0Q/eWPe0eJj\\n\",\n       \"puFA+Ib9jM3Wi+A2Z9EAq7jCC4DFx6g/PmrORemr19D9VnIsOa0EF0OjQLLtcSS1bRJTvFtMvZWy\\n\",\n       \"U+GUwvdWvVG0D6qQgX/r47/qr+oQsS1I7ljusMVaRPEWNBVSK6i4RRo8pF4Qvt3PVQg2C18mdVA5\\n\",\n       \"0MsGsCYBGcMVbWTBXdPOxx6S7u09RdI3oj8gg24K8XkQIvHxBYCfGq/RKHNWoNJ35hrjdxF3/69r\\n\",\n       \"XcdO2okGe0np73krjQZQ5zJZCRrxdV26pa39+jJrfxNBkQfVl0veF0UADtEgIcxg4B0GB7T+HBal\\n\",\n       \"kaLSE1Vx51YoqO+7KzNzivDYCkj6zZqOjcRX6L/10YUG36qQIcP+1A2rFGRwe6vrukHaGpleA+wN\\n\",\n       \"mrS39MDtK7Y4uFhUDteU9ej13BjKvM6FleRN5G7tg+j9sgQzZm9Zsspw7OqXcbD64F6mA63RY9Ch\\n\",\n       \"m4a1f+iEFtEmVybCdpMex/v1CHs7CoCT8j3gqq6qkt+ZXowISsW/Zz23Pf3l+riaGUKn3SECUdl4\\n\",\n       \"8SHbdjJEI0hIZwpySjuu6yqwdPdcqJRMZs/V8qJHu3Vpzy+pnUgrudu4CuXqyjA5SjlNHbeLlfSn\\n\",\n       \"YZwVCYopQrF8/vU4Hor3xjov3p479k131Yv0tvqzjaFcskH+x4ZXS/TlHDGjH3klx4fz2W/f/kaj\\n\",\n       \"nhatobHdr9Z4S3i5TdB2BMWEbacNZDO4Y7DHQOHBX+iXpb9a37bc8sGiPINN8Ow//jpYtUE0Qlzv\\n\",\n       \"ew2/4ETEXQgx1guZkHQKH61mS7QBiseIOteUGkboFxC5QzucMw4TMfOiIwxoixizgvvAGkxKLfgI\\n\",\n       \"JI/Q8N31E0muFJOfGn0AIY5wDj2drrKxbnRdZo1Udj8BJ69d8IQaWAZthTwH10lZ+kpSYd0zjp/9\\n\",\n       \"Bon28od7oli4BnyTSVZ/q/ERI+K/NhwmNTeVU4EQZKWOwVlDW3ly89uE6zFMICoY7dSqVcKYEzwc\\n\",\n       \"eEOJhUQmwelNqzCZ4CgoUoP/OXfgh1xrVe7gBV5sB7PP4AGZfUVbyB2eM16LbmhcFiaKmn58k6QJ\\n\",\n       \"t1yyUjE+JgA9JLAO0dNNSp1nhvoWfR0V/Dm+kjLFJdhbpxmL+vUX/vOdVuK1X5Kpe4xkxTgU+Z8B\\n\",\n       \"jdNs+68sGjrnisa+Vt6U4gDr5GYsjHo8ybBBpFeh+GRTdj5kj0TCp3AAPmOmwoxNhfETNfjjhZp5\\n\",\n       \"PwO/XtzxgU5WNWXLoWhWNFqvtkhVUZoEdg4HMoAYNI0BDl/eaQeHtsFPca4i7ujVrH2uSLCSi6Op\\n\",\n       \"bVyCRPVwAFsoBVIuLOq4QFS/2y5vAeSRW8J1YvWW0t8+AiVXGkWqZuAbuUZXJy2H0breH6CHk9RT\\n\",\n       \"bQpX7ZCrI+kVfVEhiX8m0GNxxkaCTEGmO1veMp9AELUadmPsasCuenwe3HT9rwpy0NgX564mIjo0\\n\",\n       \"ZUUrFSUAxlZOZoTNpzFzbViFIsQfWkjUtw26VfqEMGl8DkoNfyZZiXtxId+aWDdUIU5RJV4XJhpu\\n\",\n       \"EDSOx9G3BuT0VH22nYY57PpgPGbB4VxV8M1y+i4f0rfbHUoxYlFRzWmv/wgh2TKo9OD47QPy0tlc\\n\",\n       \"93DpeCW6Tjfhgci6/1phha5RY5YJOEfxGHZj05mBw0MmHc7ADUkAAAa6QZpFPCGTKYQX//7aplgA\\n\",\n       \"AhDuegBLaoBtp54rb3YZg5WJ4z42RAPjKF0lXB69iG+qPc9Fm2AlKfD/PkByD/sNvyReCwU8RLwN\\n\",\n       \"IcPeDebFu7/L39lGLd7KsuPAe1/IizR7XtpfivQsHohGwkPcT64l+jfCNIvyWOjx2wz1Pz49cdrm\\n\",\n       \"MXdzrqqrhcLetdCozXlpSEHaZgOmrEI4OTd3arx75FAra3bjA+XYI2mghG/NPzyHQ3tIIAwna/Y7\\n\",\n       \"821lPlKvBeMbJDHIuIcwJy3y10LTaz8DYTsfKhWlgepfoEb2LLNVnOYZTVCmiG8x+utLfr/3XoN7\\n\",\n       \"MNUXI9zzuQNpB4P/AHSxEoC3wYM/MZ0w5ocCBQOYSrJjCRPGq7Eby/3pMAzg1STfXJXQv+CQFUmb\\n\",\n       \"B0ssz03TZ2MVsRVY+Ypsn8yX5Up/+llumkkvyhFarQZoRYQMHVlk1KKyEQp/PH8r7SHvo7q8Vk/b\\n\",\n       \"w/bmYrwDe3EyZv0kMfjK/dF9SpimJxF7GR3z8j0g/Sqna52JWjo83oPfAILuD0GNjx4H3pSg3IbI\\n\",\n       \"MZnvuTlz008h4lk/K217owbr0KYXbxQgOtYY6asC2qw7iq4pWKF+93nmMHEBVJmf0ppr/2nH2nP8\\n\",\n       \"GW2L63K0pwxR+LwtAYH2RihI9f8EQodHYBiXtmu+mebExqpVGtl8kcfRJulZ2UBzoAzQbHBKmWLn\\n\",\n       \"PQ7BTNGWbhIsUX0cN40J3oCwB5DWizxiqPCU6tVia3EeloQ+kcMTYJt9FkYzY21GL1capTMLqXmC\\n\",\n       \"Y1GmDGzqN0Nd3vgJol7mfAbbA1v5K8EQlasQn3iodKVw+iK+rz0ovNHBXpLZbFGSRvpkRe4M/yju\\n\",\n       \"Iya0l2pksXEYfz1DiLBCnuy1zlk9JF5jDGICIggGEIylJF6vUTKVQzdpa0Ujlsvf6TPlTtoFM8b2\\n\",\n       \"t1DC1pM6KJW/OOlj069m4Wsnr3fBfmlyga51scdMNyoJ4U9+sCMOFIl8gfeOstwO6/zkK3CF8jGm\\n\",\n       \"l+L7P7NdQPiJQu/vpLdSKt1D2wKj4WJtTTkRg3Ktw1CuwpXnLb3U9zbrqQFtCdI0EGS+B39blpRx\\n\",\n       \"yzl54ak9b9IdwR1QZT7F7EL2lhKf3KeVm1f+UsgCLL45tm5ZD9cVsSFhljw8UPT0pXkY/JN8oLZD\\n\",\n       \"zOSti1aArhaKZY+2yMMG/q/cTteZNDSkJYsdUprjLwZLMhEdXAGAih7bMxxggEswuMhLNrbn90zE\\n\",\n       \"tzoh6tFpa7h4lKkj7EvadnCHgJO2eAPjqYGbQ5zKOIUmQrArQlnZAigxKxB1+kkygb7D3Sd/oMx9\\n\",\n       \"RJq9s0cQ6suSvsGvYTZ5KISOY1KBDGAWo6PLSABlYycgQKYDx/LGfKuBjTNvOLh+hAwsd/P7TpVP\\n\",\n       \"z4D6ykdVgBAFSaWZEiwUu5T00GD5ncwEF0KoHPyeu7ZJDj2R9/2iAwDF/+rZVy8EvVpdHcuewWPh\\n\",\n       \"wLssKisIDq6msTn46gK2QYD2CwWeeZ0/GoyXhoL/TT5EzVemCBM+pugr2zMGrnWSt2xAAAFqBcDq\\n\",\n       \"jUQYZF4+bnQOfIWwLCT3xivOCNm9qJrtH9dx9kBdSwE2AlwCh84jTXlz77BhQZzbs9q9WYKU9AcA\\n\",\n       \"IOOijXbAbBscLh/2XXwTQgTvZXbQmavVeVNe3KyF9UFA2h+LVHW/9Le6EosjWh42wn9jMtpeEBZN\\n\",\n       \"xWlEjEKeJqy6B5JSs2IUA/JL6U2qucsKGW3XynKh+rMAwmuHaOE9sczKocSxzLNx/Dklcrk/Lxol\\n\",\n       \"ucyEDYNYsn6aa2NVlRzOmxevf1Duy+EwkALHfFoZaR/azyZovLy5bjmDP6E5JT+LbzZqQAmLY8Hy\\n\",\n       \"zK4HWIyKO0+zL0e6UGLNGjPnLrA7RqGRoz2UwFEQ6XhqPlT/Det7UmkltipUfamWkY0ySvTNgCiA\\n\",\n       \"tavGYabDqAyZs50NWe+Hj4jj1wtjNvY4D4BuAPBd5XHXBBZMEvkxkg97ckzXljwRczK42BPgJOfN\\n\",\n       \"0hcJ3TgCeJ1RQQmVlnEHCZDGn9NBhWjuNZ/wMg7KQL/QH9fLXEKNZSCJxnMT6uoYkgzGSC6U8Fqs\\n\",\n       \"fjXn5BgaKbL1Xz5ghli6uv81YE2w3B+gLP32jA0QdkLh7yg8GJeULP1Gme3PxC3MD45YB3it3Dax\\n\",\n       \"fwO4NUypL8zvRAvUiFdmuZkVJ4sYfT/NXhzHm6icDM+dMmHaW7TUoNo/MmKp1IsYgAlNRP+bs+VR\\n\",\n       \"09EajJ0D+JhHOICf8uWHB09BEpsX1qbgnvEYm24CTBwtqiCefD5tk54EA9Cy0HjYs3AAAHzAAAAF\\n\",\n       \"ukGeY2pTwV8AAAMBakKKmJ6K3ysCIAW0/qGG5rnEm7/KN3lc2PdXcli9KPcWozRvRkZZ8vkONdjJ\\n\",\n       \"PjrfEGWZI9MzKIB+gRpCk/wLedPUNu74K+J1VACUClaBa/Po0YOoVWNa868NA4oykWlD0IiwuBQv\\n\",\n       \"dvQJzJVd1/qdgJRQS6MqDCY48dINNZu/iwftx69IltvDWvNaH/tkaEQfNXYfw7ReCcVJuWA+RIiv\\n\",\n       \"W32qECOsTCu0BDoyaKxLsBne6bJR2ZE5/S5vRXWtx8MltWNm/s8JI8tr/E+Y+6Sqp7ihdgVz2Qt1\\n\",\n       \"FlV1yWXkXaRQF0xj0kUabXfBUxfpNdREw8kud5Nmgch7J47arBpgoa4fPGjTcolG0TJgMaBwiPKE\\n\",\n       \"gE+Tpn00L2u/FlLOK9ikqmrHat5SuQpNah8E7lFQEQksV0k+XrDtKr7R9oXOy8dm3lvY8Ex2cuj6\\n\",\n       \"Nos3WxI+9BGa3sk7JM44Kw8UmX5hsPfzURen3kB3clR2LKfMVPHUEsr/1enMVl2lkpidd/T3BfhP\\n\",\n       \"eLG1vWeVMSi3+CwuzWSq4DpuM7ZirevUSjkbChseIDnx2jqD5EdwQ+Iuh9C0W90tZFJo8nHbiQtf\\n\",\n       \"kvSu+JZkU2vAEofXBS2YWWhmwiaNC1uNgvwUlNesScxq9V5BPU5arKDhj1ByCh5puhPJrR+TEXvN\\n\",\n       \"/2Pt+j5lt+yf4lzuTYfejR67tqi1b2m+TFBckW5zzk4Nb5DhFKfI1dOFVAzR8s45CD0ni7lRxnXs\\n\",\n       \"An7dVs/IfVK2FMwdKz1blQ2aQxpx1HwQ380DAwUDL6bgXe//h6c+9zuWJrVAm/5tl3Zu0X8SfKCf\\n\",\n       \"BKmyXH6qeZKDhYDOqlA7tleBrEM1pNIr/u7mrdvQiZF0XdoAD3gAVWdoWI05tVznl9SZBML+svQI\\n\",\n       \"54GgNYvfYodaCisUNLJIzT9Sa2Jx8Ze1LELaAahbn0fDaBJyYr4LlWao6H6XLMS63A2MtTT7x9lU\\n\",\n       \"iHMycWuwJAaszVGO9Y2/CAmpyf5RvNj4+IKPt54NLJYFzbdhmjk+ac2459CVp9gw36x48G6zKK/K\\n\",\n       \"a1FE1nJdoBfAHzYs5ZvGRRYbzvpue5yQA0Xv5Kf8FFlNzVaIYEN8bgkRvasIUPv45EoJ3D5nGZii\\n\",\n       \"eImdxD3fF6iPmU0ZD1ifWDvCnezCMhJ5FyNcnw6LI+EDKJ28CXTFQ13JkNmBJ5rF74e3g0UpEcsz\\n\",\n       \"y1T9hbUM5XBRUvE/8XYahAt0sB/Q/LKcj6fTUoD/Q4y6YUUu8DTdD7gV63kJqcDBvnYaY24Q/XQx\\n\",\n       \"jxvdRkXWlQraM9o4GjhuFQFv81dlNirxgyi8qwyIxgqY9HxSo2ibywe609UeSBL1Gvs6JOlk07jt\\n\",\n       \"ycGqj0sNDe9ZZKi2rhaCZNxwofDP1ISv9eJfRjIK5uYOr8CPD7J27EMtrp7aX/eUoAxGYBKyIBLr\\n\",\n       \"bclv86sw00KYe6XspXeQlobh3QFq8VgB10mTjXL9uPoeKRuhv6SILlxk7nht/GRIi0LvoqyghYhM\\n\",\n       \"7XGHjLpLMLszXSvH0W6ao3+cafbUefiEwy0dMhpYkaxtqCMxiExse2opMvopycWltRwLYT1a0szq\\n\",\n       \"riR9c8IGO/S55LeT55lzMww9bL0eHsx8lM6VtRh34VsYVHCGFELgS8UM/LjML/2fme4z+GA6jXsW\\n\",\n       \"4Z/0O7yCodmf7qZtSoNVa69CiJe6tek3jHck7Gw8PYyC9WL10HwpLgHadQTWo2dIftJP4j/ebUP/\\n\",\n       \"pE/1hOnd+AolEd9NgW8Tyee6eU84ZeyyT7Pi1cjtIs8O7cmEynVBo6GE+WJ/wn+DbqDwvLx9yWgg\\n\",\n       \"YvfhsYO5BWmiMG0A3cM0OtF2LIaxzcaamdrqd8vE2fVtexhZLi5bDfk+zsTnEc5nwXv3LTGrhbko\\n\",\n       \"2N8edWMjsKsyKvvBK7KosYm7LCqm7JuqVlwW0XGWGBdDDLmXO5WnAAWdAAAESAGehGpBXwAAAwGJ\\n\",\n       \"ykAF1b2bN4/fU2o7/qEiB2JgnXb+m/lnLTS38+MMRpeTcf2ia0M31Jh4qk3+xJjaL5noUuOUdHOK\\n\",\n       \"IspnrzaJj9y45MhaKhV9sNCOgkpdE1FXX+drlxNyl/DEPRk/7+ftOS0sDhsNJNDttpfbWcTG8Xb/\\n\",\n       \"4ioeYzDyIy9bP4hZ+mJCuMegRFy97pTzUemFXj/05wj9fz6VP97dxZYz8QRwd4FSLJicSbAP2OAM\\n\",\n       \"XKlGfqt+30mh1qrS07gZozwsJTEdbiAcX89IVMkHN1F0xDQ3ZNl/aIT12roYAz6YDYuTVOGooYak\\n\",\n       \"mw1SUpRFHmqYydAKR3VSRgAcLtqA6rmLpy/3yeDwuvSjMX748z1Pr7ROEXAblMM7O5Xc/AG5FsaS\\n\",\n       \"gTV4p1gNMefvmUvoKn64ld0bNa2BG5B7z4ABmHPA8vzGlDElHWgsgpSxnrixE21j9syLytWj9xWr\\n\",\n       \"wkgJnL0SWiOXL+YBNFVT924hVJkQHwM42+1KZKexzO+lv64hlKcr2ZbKxQBxjivDvh/jWi5rKYii\\n\",\n       \"VPjyi/u685ol5rkWYH/82Q4abMY3dRuQQ35Y/3gOCGvAO+6VArixMOxPjkb+NZ3DgR/whS6l4sl0\\n\",\n       \"+0g/IAnBXSG2/9129OvZtkI9dBeH2r1vYn92MI3a8cdVkpMI0qDt7uH1Tv/qWj/sftvg8gpLVb0u\\n\",\n       \"8kz0C2DBAVyl78wZ2fvxIW1lEnM3Hge7yCJZwIwheHPlvZPbYOGTmO1gVAJy1uO8GMX+xDcE1U1l\\n\",\n       \"KQjP7w9r5IaQ8NiPAokckOniVkSeNEDE1leEGC1LUxbZbi0EIOo0OfADCJQC4nAEdSEpnA0FGzUJ\\n\",\n       \"fB4mGuQ2IJSlJfAt9JpnYEvDL6nF5XA7MQsWLSykkSBU+UvqWymvF8XjSnHnXfe1gKEC4G6Z19sQ\\n\",\n       \"EwyFi8vgD4IM0iDwKtrkXGmVJxV1ygHKu3q8cjG1cdcIPv6befThouBFR45YT+C3/eRb+G2dFR+C\\n\",\n       \"aDghJQs5aGXlTouzGwLgBRtSsjKQcp9chzkieWfm+IXCzMfPRosk5xY7r7CTrcaMfZkrMNs5UnS7\\n\",\n       \"Rl22z7vDeuS9p4ZyVMYFWGM+SPcQcYoLGpA9qXsaSCyBL70RBMbys7V4QDvzPf7jBh3vJyneiyW0\\n\",\n       \"b4e+L96wotGHeINAqBVUQVdpPaadz1WUq23kgCECO+7meCGsH9suuLl3XNXmNjjnpYaRpV65h2xL\\n\",\n       \"+AC2+ywSVtFXHFF7LuXlGY6fwTlKGVri65tdO78nZwIcbb1ibtjgfmzWMv6ZVEI9dfobYsdrkys2\\n\",\n       \"BzIe3kZLQyLF8V3Yjlq8SJV+D99rssLZ7AikL7M7sqoSyRDRbx0AeG8bypUc9rzVRr0PreNltOX6\\n\",\n       \"KXnq3dS0zxKyLfZn1HRqrgTZ8hMtXtF9Wiu9FuRsq9yY3YsVP52wFoLo44/9OfMMnpFjLk5wtczM\\n\",\n       \"BZUAAAIKQZqJSahBaJlMCCv//talUAABdzNcgAncyuT+ct63ObOWW9Ii5OE8iQcXPMaBTe2fYuVp\\n\",\n       \"1PMCPJ2rU2Il2/Fc+6+f3ynRTLPKTo/an56znaGWUjO4+WKfc1HZh1dyxMlcyUdRRzEEb4OJhU1g\\n\",\n       \"ti+u8HuzVfLmlinxLNMb/NQ3aa9+N52Yvvmc1f3VsOUWXtwB5lEx9N0J1HS9dsE+odsw4IkL3t0Z\\n\",\n       \"gcJdDa6dHrNHu0nu7Cyi/aHM2IQb9G1vyD9M/f35pztuL8ADhbgekf1GNRtOEv2TqweIXDrUkbuc\\n\",\n       \"HQmjOn1c+ZFGRofK6tKVg3eOpUQXBwHBGoM/S9+pkxpDH0FgUpM6z17u+yRdjaX6WCgWLsMqasU1\\n\",\n       \"gXELVHjawVU2IiSOmS95nHGh+Rumgdg10XYtesI2qUs4WX5OhcxRfVUAI2/HY0bOpKKIv6ORr+Yp\\n\",\n       \"wc5p4ZIFYXwuuCuzlmhz+FY0bRJ5CLJZAAADAAADAAAGPEbTS5MRtiCjYJnvLWHKbc7pWL4qzPMW\\n\",\n       \"BjU31NLD6J5hzz/N26UyRzkvwjEQOU0BBdscmo9md3lfTdqKGAY4tyNffNhNihUXHgp48a3ylB+6\\n\",\n       \"xH/JtHtb0GZ8Mbm9B6kEwv2C0xzE+LOklAQN1B4RND64XyA1grmnuhJ2+bsF1Gw73gREW74Gs8KY\\n\",\n       \"DNQoPcjAKoCDyDKAAB1xAAABlUGep0URLBb/AAADAKL5ivO110++9jo4OQARAeDf1J7vbrL6wUfg\\n\",\n       \"H7fxIQxP+gv0XibXQGonC4nLA/zDVuzt03mXwSX24CH13LoxmufXDcaDPefR6188oZ/8HflTLAvV\\n\",\n       \"rFzBxCt03mW/gysPryIpYUKeAWUq/oCWPnRST0JLJ2pUO1vn+aK9HdWFOZderBAAO+AnyXray88R\\n\",\n       \"UQYZ4BnYu1rW/SY+JNkT0lluHBqK3opeeLpQROjuzo4+rVhvUVgXBojttD4lxSEGhxqLt073Y85G\\n\",\n       \"m1Val8S76od10W9P1VKaK7Lx+Ah6OEBgbTvGAmtZiNzxJWS3gpvuUNtz4XRf3kG1YHqOuLsumw1Y\\n\",\n       \"mMgNPck8p+KnhloZCZwYtX/acSaH2t9k7fEZCYGJTOIPmOKYza147610grpaFrL/9D+VRHv+DyQ2\\n\",\n       \"CFAAlzza3+xHBrxOeI+MO3iGs/A+vDWUZoIej4AAL7zHtrEaNtKEX3B8D1asEdqgGIGVvsub7un2\\n\",\n       \"+CArytvKy01RW7k62SAKtZIN0zJBnwAB1QAAAXcBnsZ0QV8AAAMAuaA/PgARw2gtxYArim2fdpVp\\n\",\n       \"lrKvAu8ZdM+xd2xrSPiz7i8Q3fUcmBQJoN41f6YqObfvCf2TLsVyWWL0nuhmR/5GyCKXLasMNfP0\\n\",\n       \"4qBtZRgaJDbUgnIs6BgMN+q0CDBexSmG+vq3kMoF+ZxfR4Io5Vfylt+TKOSFCy7FX1vwj1ylMU0m\\n\",\n       \"UfRsdptUdYX8IZUaq/gcLzNC6sXMW1jgApX9A0P0INdWJUl66KHE01AhxVI4GOEsxKHMVdsOmMzX\\n\",\n       \"lFuWjmtWxXQ93IXVmIppH1lJNcxtzl2JTCJNgbqgIJQK6cgXHTEaAmjisrjOWj+ZxivYxTG1leGu\\n\",\n       \"nngFd0umTtVb7qh8FJrzcptjOgzHk3WdyLsdnvqhb8M+UGF+hae3dPQ0mkhwf01HUi3DkF/+USX3\\n\",\n       \"Td8wZIkFdNed5QEnfO3ZgCHeIWekCoutXyAAAAMAZYAARUAAAvjl0+vaAlfTojFIM5QZogHNVYK6\\n\",\n       \"DkgAM+AAAADVAZ7IakFfAAADAQJ5fg33rYDwAbVvzdYKsLnGwCJ+fzT/F5YWP+2l8jmuhXGEWuVy\\n\",\n       \"+nEoKf83X7DUQe1PpATBfBjGBVwnGE8wPCGOFOukG65V5gbze+P8ma4YEaC9xU4izbySmKaiJ0JU\\n\",\n       \"aw0um81PazfuSlOfKAcFmINqgxLyJXB83/H6a6k51PcK6n3kSj6qjh/AyXDY3sS+ABzvcsjMBI+4\\n\",\n       \"7rKrjdD36ybIiusCAIKgy6CL74vwaZuEZomSIAAAHhIAEqPgADRB50IgIEjaIAwQABvQAAADo21v\\n\",\n       \"b3YAAABsbXZoZAAAAAAAAAAAAAAAAAAAA+gAACcQAAEAAAEAAAAAAAAAAAAAAAABAAAAAAAAAAAA\\n\",\n       \"AAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAALO\\n\",\n       \"dHJhawAAAFx0a2hkAAAAAwAAAAAAAAAAAAAAAQAAAAAAACcQAAAAAAAAAAAAAAAAAAAAAAABAAAA\\n\",\n       \"AAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAOEAAADhAAAAAAAJGVkdHMAAAAcZWxzdAAA\\n\",\n       \"AAAAAAABAAAnEAAAgAAAAQAAAAACRm1kaWEAAAAgbWRoZAAAAAAAAAAAAAAAAAAAQAAAAoAAVcQA\\n\",\n       \"AAAAAC1oZGxyAAAAAAAAAAB2aWRlAAAAAAAAAAAAAAAAVmlkZW9IYW5kbGVyAAAAAfFtaW5mAAAA\\n\",\n       \"FHZtaGQAAAABAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEAAAAMdXJsIAAAAAEAAAGx\\n\",\n       \"c3RibAAAALlzdHNkAAAAAAAAAAEAAACpYXZjMQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAOEA4QA\\n\",\n       \"SAAAAEgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj//wAAADdhdmND\\n\",\n       \"AWQAH//hABpnZAAfrNlA5Bz554QAAAMABAAAAwAIPGDGWAEABmjr48siwP34+AAAAAAcdXVpZGto\\n\",\n       \"QPJfJE/FujmlG88DI/MAAAAAAAAAGHN0dHMAAAAAAAAAAQAAAAoAAEAAAAAAFHN0c3MAAAAAAAAA\\n\",\n       \"AQAAAAEAAABYY3R0cwAAAAAAAAAJAAAAAQAAgAAAAAABAADAAAAAAAEAAEAAAAAAAQABAAAAAAAC\\n\",\n       \"AABAAAAAAAEAAUAAAAAAAQAAgAAAAAABAAAAAAAAAAEAAEAAAAAAHHN0c2MAAAAAAAAAAQAAAAEA\\n\",\n       \"AAAKAAAAAQAAADxzdHN6AAAAAAAAAAAAAAAKAADuQgAABUoAAAcgAAAGvgAABb4AAARMAAACDgAA\\n\",\n       \"AZkAAAF7AAAA2QAAABRzdGNvAAAAAAAAAAEAAAAwAAAAYXVkdGEAAABZbWV0YQAAAAAAAAAhaGRs\\n\",\n       \"cgAAAAAAAAAAbWRpcmFwcGwAAAAAAAAAAAAAAAAsaWxzdAAAACSpdG9vAAAAHGRhdGEAAAABAAAA\\n\",\n       \"AExhdmY2MS43LjEwMA==\\n\",\n       \"\\\">\\n\",\n       \"  Your browser does not support the video tag.\\n\",\n       \"</video>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# make animation\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import matplotlib.animation as animation\\n\",\n    \"from IPython.display import HTML\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def animate(images, savefile=None, interval=1000):\\n\",\n    \"    # Make a bigger figure (pick whatever looks good)\\n\",\n    \"    fig = plt.figure(figsize=(6, 6), dpi=150)\\n\",\n    \"\\n\",\n    \"    # Axes that fills the entire figure\\n\",\n    \"    ax = fig.add_axes([0, 0, 1, 1])\\n\",\n    \"    ax.set_axis_off()\\n\",\n    \"\\n\",\n    \"    im = ax.imshow(images[0], animated=True)\\n\",\n    \"\\n\",\n    \"    def update(k):\\n\",\n    \"        im.set_data(images[k])\\n\",\n    \"        return (im,)\\n\",\n    \"\\n\",\n    \"    ani = animation.FuncAnimation(\\n\",\n    \"        fig, update, frames=len(images), interval=interval, blit=True, repeat_delay=1000\\n\",\n    \"    )\\n\",\n    \"\\n\",\n    \"    if savefile is not None:\\n\",\n    \"        ani.save(savefile)\\n\",\n    \"\\n\",\n    \"    plt.close(fig)\\n\",\n    \"    return ani\\n\",\n    \"\\n\",\n    \"ani = animate(images)\\n\",\n    \"HTML(ani.to_html5_video())\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"pymdp_dev_env\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.12.3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/envs/graph_worlds_demo.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Graph worlds\\n\",\n    \"\\n\",\n    \"This environment demonstrates agents that can navigate a graph and find an object. Object is only visible when agent is at the same location as the object.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:18.683564Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:18.683447Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:22.673717Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:22.673356Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# a way to edit and run code and see the effects in the notebook without having to restart the kernel\\n\",\n    \"%load_ext autoreload\\n\",\n    \"%autoreload 2\\n\",\n    \"\\n\",\n    \"from jax import numpy as jnp, random as jr, jit\\n\",\n    \"from jax import vmap\\n\",\n    \"import networkx as nx\\n\",\n    \"\\n\",\n    \"from pymdp.envs import GraphEnv\\n\",\n    \"from pymdp.envs.graph_worlds import generate_connected_clusters\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp.envs.rollout import rollout\\n\",\n    \"from pymdp.utils import list_array_uniform, list_array_zeros\\n\",\n    \"\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"\\n\",\n    \"key = jr.PRNGKey(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Start by generating a graph of locations\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:22.675254Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:22.675132Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:22.711116Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:22.710815Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 640x480 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"graph, _ = generate_connected_clusters(cluster_size=3, connections=2)\\n\",\n    \"nx.draw(graph, with_labels=True, font_weight=\\\"bold\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can create a GraphEnv given this graph. \\n\",\n    \"\\n\",\n    \"We then specify two object locations and two agent location, which using `env.generate_env_params(...)` can be used to generate two environments which differ in their initial state prior (their `D` vectors), which will encode precise priors over a particular initial object location and agent location.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:22.728168Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:22.728062Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:23.547234Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:23.546948Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"env = GraphEnv(graph)\\n\",\n    \"\\n\",\n    \"object_locations=[3, 5]\\n\",\n    \"agent_locations=[0, 1]\\n\",\n    \"\\n\",\n    \"env_params = env.generate_env_params(key=key, graph=graph, object_locations=object_locations, agent_locations=agent_locations)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To create an Agent, we reuse the environment's A and B tensors, but give the agent a uniform initial belief about the object location, and a preference to find (see) the object.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:23.548655Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:23.548575Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:24.284551Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:24.284270Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61026/831457487.py:9: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agent = Agent(A, B, C, D, A_dependencies=A_dependencies, B_dependencies=B_dependencies, policy_len=2, batch_size=2)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"A, B = env.A, env.B\\n\",\n    \"A_dependencies, B_dependencies = env.A_dependencies, env.B_dependencies\\n\",\n    \"\\n\",\n    \"C = list_array_zeros([a.shape[0] for a in A])\\n\",\n    \"C[1] = C[1].at[1].set(1.0)\\n\",\n    \"\\n\",\n    \"D = list_array_uniform([b.shape[0] for b in B])\\n\",\n    \"\\n\",\n    \"agent = Agent(A, B, C, D, A_dependencies=A_dependencies, B_dependencies=B_dependencies, policy_len=2, batch_size=2)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Using the `rollout` function, we can easily simulate two agents in parallel for 10 timesteps...\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:24.285830Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:24.285749Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:25.187202Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:25.186837Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"rollout_jitted = jit(rollout, static_argnums=[1,2])\\n\",\n    \"last, result = rollout_jitted(agent, env, num_timesteps=10, rng_key=key, env_params=env_params)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"if you want to continue, call `rollout` again but with `initial_carry=last`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:25.188717Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:25.188616Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:25.766341Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:25.766014Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"last, result2 = rollout_jitted(agent, env, num_timesteps=10, rng_key=key, env_params=env_params, initial_carry=last)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The result dict contains the expected free energy, executed actions, observations, environment state and beliefs over states and policies.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:25.768119Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:25.768003Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:25.777434Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:25.777195Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"dict_keys(['action', 'empirical_prior', 'env_state', 'neg_efe', 'observation', 'qpi', 'qs'])\"\n      ]\n     },\n     \"execution_count\": 7,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"result.keys()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The beliefs result is an array for each state factor, and the shape is [batch_size x time x factor_size]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:25.778621Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:25.778545Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:25.785706Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:25.785467Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"2\\n\",\n      \"(2, 11, 7)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print(len(result[\\\"qs\\\"]))\\n\",\n    \"print(result[\\\"qs\\\"][0].shape)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can plot the agent's beliefs over time.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:25.786826Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:25.786748Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:26.031626Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:26.031042Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAhYAAAGqCAYAAABXpw1AAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAIKlJREFUeJzt3QuQleV9P/DfArIYs7vxAgJlvWMR8RJBDNHEKKi1SGsyNU2KCWqbtBQb1KaTkNTaTqKrZeLYqEVlUsw0QdJJg9HMaEoUcYyScIkZEeMtJKwGxBu7QGAxu+c/z+vs/lkEZeFZzu7Zz2fmze57Oec8PHnd8z3P7VSVSqVSAABk0C/HkwAACBYAQFZaLACAbAQLACAbwQIAyEawAACyESwAgGwECwAgG8ECAMhGsAAAshEsoIL953/+Z1RVVcUZZ5wRPbV8d999d5cec99998Vpp50WgwYNiiOOOCKuu+66+MMf/tBtZQS6psp3hUDlOvPMM+N3v/td/OY3v4nnn38+jjvuuOhJxowZE4cddlg88sgje3T9Aw88EJMnT46Pfexj8elPfzqeeuqpuP322+Pzn/98zJkzp9vLC7y3AXtwDdALrVmzJh5//PH4wQ9+EH/7t38b3/3ud4tP973ZF7/4xTj55JPj//7v/2LAgLf/fNXW1sYNN9wQM2fOjFGjRpW7iNDn6QqBCpWCxMEHH1x8wv+Lv/iLYn9XXn/99fjMZz5TvEF/4AMfiGnTpsUvf/nLogtl526KX/3qV8VzHXLIIUVXxLhx44quiR2lx6TH/vSnP41rrrkmBg8eHAcddFB8/OMfj1dffbXjuqOOOiqefvrpWLJkSXF92lJLxO6sXr262FLrRHuoSP7+7/8+0pc0f//739+H2gJyESygQqUg8YlPfCIGDhxYdBukrpBly5Z1uqatrS2mTJkS99xzTxEorr/++li3bl3x+85SCPjQhz4UzzzzTHz5y1+Ob3zjG0VguPjii2PhwoXvuP4f/uEfioCSWkmmT58e999/f1x55ZUd52+55ZYYMWJE0crw3//938X21a9+dbf/nl/84hfFzxRmdjR8+PDiedrPA2WWxlgAlWX58uWl9J/3okWLiv22trbSiBEjSjNnzux03f/+7/8W191yyy0dx1pbW0vnnntucXzevHkdxydOnFg66aSTStu2bes4lp73wx/+cGnkyJEdx9Jj0mMnTZpUnG939dVXl/r371/auHFjx7ETTzyxdPbZZ+/Rv2n27NnF865du/Yd504//fTShz70oT16HqB7abGACm2tOPzww+Occ84p9lM3w1/+5V/GggULorW1teO6Bx98MA444ID43Oc+13GsX79+MWPGjE7P98Ybb8TDDz8cn/zkJ2PTpk3x2muvFVvqRrnggguK1pCXX36502NSl0V63XYf+chHitf+7W9/u1f/pq1btxY/q6ur33Eudcu0nwfKS7CACpPevFOASKEiDeB84YUXii1NOX3llVfioYce6rg2vckPGzYs3ve+93V6jp1nj6THp3EM1157bTFmYsetfUDohg0bOj0mTQXdURrvkbz55pt79e868MADi58tLS3vOLdt27aO80B5mRUCFSa1LKRxEilcpG1XrRnnn39+l54zjcVon5WRWih2Zecw0r9//11elwLK3kgBKEn/tvr6+k7n0rHx48fv1fMCeQkWUGFScBgyZEixvsPO0tTTNNDyjjvuKD7hH3nkkbF48eL4/e9/36nVIrVQ7OiYY44pfqZuk0mTJmUr645dJe/l1FNPLX4uX768U4hI63S89NJLRdcLUH66QqCCpHEGKTxcdNFFxbTQnbc0KyONkWifIppaH956662YO3dup9aJnUNJCippKuidd95ZtA7sbMdppF2RZpVs3Lhxj6498cQTixkkd911V6dxImlhrBRQ0r8PKD8tFlBBUmBIweHP/uzPdnk+TRdN4yJSq0YazJmmiqZP///4j/9YtFKkN+70HGmw5s4tCilsnHXWWXHSSScVgz1TK0Yas/HEE08ULQZpamlXjR07tggGX//614uulBRgzj333N1eP3v27OLflrpyPvWpT8WqVavitttui7/5m7+JE044ocuvD3SDbp51AuxHU6ZMKQ0aNKi0ZcuW3V5z2WWXlQ444IDSa6+9Vuy/+uqrpb/6q78q1dTUlOrq6orzP/3pT4upnQsWLOj02BdffLH02c9+tjR06NDiOf7oj/6odNFFF5W+//3vv2O66bJlyzo9dvHixcXx9LPd+vXrS5MnTy5eO53bk6mnCxcuLJ166qml6urqYgrtP//zP5e2b9/epXoCuo/vCgHe4d577y1WynzssceK7xsB2FOCBfRxaVzGjlM10/iF1NWQBkmuX7/eNE6gS4yxgD4u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\",\n      \"text/plain\": [\n       \"<Figure size 640x480 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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elVNjwUAUH6CBQCQjWABAGQjWAAA2QgWAEA2VRMsbrnlljjiiCNi0KBBccopp8QTTzxR7ipVlcbGxjj55JOLrdiHDh0aF1xwQTz//PPlrlbVu/7664ut76+44opyV6XqvPrqqzF9+vQ46KCDYv/994/jjjsuVqxYUe5qVZW2tra4+uqrY9SoUUUbjx49Or7//e/v9kOs2L1HHnkkpk6dWmyvnf5G3HPPPV2upzb+3ve+F8OHDy/aftKkSfHiiy/GvlAVweLuu++Oq666qli7u2rVqjjhhBPivPPOiw0bNpS7alVj6dKlMXPmzFi2bFksXry4+LTXc889tyI/2bNSLF++PG677bY4/vjjy12VqvP222/HqaeeGvvtt1888MAD8cwzz8SPfvSjOPDAA8tdtarywx/+MObMmRP/+q//Gs8++2xx/M///M9x8803l7tqFW/Lli3Fa116U70zqZ1//OMfx6233hq//e1v44ADDiheF7du3drzlStVgQkTJpRmzpzZedzW1lYaMWJEqbGxsaz1qmYbNmxIbzlKS5cuLXdVqtKmTZtKY8aMKS1evLh0+umnly6//PJyV6mq/OM//mPptNNOK3c1qt6UKVNKl1xySZdzX/ziF0vTpk0rW52qUUSUFi5c2Hnc3t5eGjZsWOmGG27oPLdx48ZSbW1t6a677urx+lR8j8W2bdti5cqVRTfP9h90lo4ff/zxstatmjU3Nxf/DhkypNxVqUqpd2jKlCldfq/J57777ouTTjopLrzwwmJo79Of/nTMnTtXE2f2mc98Jh588MF44YUXiuPf/e538eijj8bkyZO1dQ9as2ZNrF+/vsvfj/ThYWmawL54Xdznn26a2xtvvFGM4x166KFdzqfj5557rmz1qmbt7e3FmH/qSh43bly5q1N1FixYUAzppaEQesbvf//7oos+DaF+5zvfKdr6m9/8ZgwcODBmzJih2TP59re/XXyM9zHHHBP9+/cv/lZfe+21MW3aNG3cg1KoSHb2uthxrSdVfLCgPO+mV69eXbzzIK+mpqa4/PLLi3ksaSIyPReOU4/FddddVxynHov0O53GowWLfH7+85/Hz372s5g/f34ce+yx8eSTTxZvStKEQ+1cvSp+KOTggw8ukvBrr73W5Xw6HjZsWNnqVa0uu+yy+NWvfhVLliyJkSNHlrs6VScN66VJxyeeeGIMGDCgKGnibJqElb5O7/jYe2mm/NixY7uc+9SnPhVr167VvBn9wz/8Q9Fr8dd//dfFqpuvfOUrceWVVxarzOg5Ha995XpdrPhgkboux48fX4zjbf9uJB1PnDixrHWrJml+UAoVCxcujIceeqhYPkZ+Z599djz11FPFO7uOkt5Zp67j9HUK0ey9NIy343LpNA/g8MMP17wZvfPOO8Wct+2l3+H0N5qek/4+pwCx/etiGpJKq0P2xetiVQyFpHHS1K2W/gBPmDAhbrrppmIpzte+9rVyV62qhj9Sd+a9995b7GXRMU6XJgSlNdLkkdp2x3kraZlY2mvBfJZ80rvmNLEwDYVcdNFFxb43t99+e1HIJ+2zkOZUHHbYYcVQyP/+7//GjTfeGJdccolm3kubN2+Ol156qcuEzfTmI02oT+2dhpx+8IMfxJgxY4qgkfYTSUNQaQ+iHleqEjfffHPpsMMOKw0cOLBYfrps2bJyV6mqpF+VnZV58+aVu2pVz3LTnnH//feXxo0bVyzBO+aYY0q33357D32nvqulpaVYKp3+Ng8aNKh05JFHlr773e+WWltby121irdkyZKd/k2eMWNG55LTq6++unTooYcWv+Nnn3126fnnn98ndatJ/+n5+AIA9AUVP8cCAOg9BAsAIBvBAgDIRrAAALIRLACAbAQLACAbwQIAyEawAACyESwAgGwECwAgG8ECAIhc/j8VL/q1nPPJ7QAAAABJRU5ErkJggg==\",\n      \"text/plain\": [\n       \"<Figure size 640x480 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"def plot_results(result, agent_idx=0):\\n\",\n    \"    \\\"\\\"\\\"Plot the results of the agent's beliefs and actions.\\\"\\\"\\\"\\n\",\n    \"    fig, ax = plt.subplots()\\n\",\n    \"    ax.title.set_text(f\\\"Agent {agent_idx}\\\")\\n\",\n    \"\\n\",\n    \"    # Plot the agent location belief as blue dots\\n\",\n    \"    T = result[\\\"qs\\\"][0].shape[1]\\n\",\n    \"    locations = [jnp.argmax(result[\\\"qs\\\"][0][agent_idx, t, :]) for t in range(T)]\\n\",\n    \"    ax.scatter(jnp.arange(T), locations, c=\\\"tab:blue\\\")\\n\",\n    \"\\n\",\n    \"    # Plot object location beliefs as greyscale intensity\\n\",\n    \"    ax.imshow(result[\\\"qs\\\"][1][agent_idx, :, :].T, cmap=\\\"gray_r\\\", vmin=0.0, vmax=1.0)\\n\",\n    \"\\n\",\n    \"plot_results(result, agent_idx=0)\\n\",\n    \"plot_results(result, agent_idx=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If you cannot use the `rollout` method, e.g., you are using a 3rd party environment that is not jax.jit compatible, you can construct your own loop using the `infer_and_plan` function.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:26.032916Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:26.032823Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:29.888893Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:29.888628Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Step 1: Action taken: [[1 0]\\n\",\n      \" [0 0]], Observation: [Array([[1.],\\n\",\n      \"       [0.]], dtype=float32), Array([[0.],\\n\",\n      \"       [0.]], dtype=float32)]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Step 2: Action taken: [[0 0]\\n\",\n      \" [2 0]], Observation: [Array([[0.],\\n\",\n      \"       [2.]], dtype=float32), Array([[0.],\\n\",\n      \"       [0.]], dtype=float32)]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Step 3: Action taken: [[2 0]\\n\",\n      \" [0 0]], Observation: [Array([[2.],\\n\",\n      \"       [0.]], dtype=float32), Array([[0.],\\n\",\n      \"       [0.]], dtype=float32)]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Step 4: Action taken: [[0 0]\\n\",\n      \" [3 0]], Observation: [Array([[0.],\\n\",\n      \"       [3.]], dtype=float32), Array([[0.],\\n\",\n      \"       [0.]], dtype=float32)]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Step 5: Action taken: [[3 0]\\n\",\n      \" [4 0]], Observation: [Array([[3.],\\n\",\n      \"       [4.]], dtype=float32), Array([[1.],\\n\",\n      \"       [0.]], dtype=float32)]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Step 6: Action taken: [[1 0]\\n\",\n      \" [3 0]], Observation: [Array([[3.],\\n\",\n      \"       [3.]], dtype=float32), Array([[1.],\\n\",\n      \"       [0.]], dtype=float32)]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Step 7: Action taken: [[1 0]\\n\",\n      \" [5 0]], Observation: [Array([[3.],\\n\",\n      \"       [5.]], dtype=float32), Array([[1.],\\n\",\n      \"       [1.]], dtype=float32)]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Step 8: Action taken: [[1 0]\\n\",\n      \" [0 0]], Observation: [Array([[3.],\\n\",\n      \"       [5.]], dtype=float32), Array([[1.],\\n\",\n      \"       [1.]], dtype=float32)]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Step 9: Action taken: [[1 0]\\n\",\n      \" [0 0]], Observation: [Array([[3.],\\n\",\n      \"       [5.]], dtype=float32), Array([[1.],\\n\",\n      \"       [1.]], dtype=float32)]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Step 10: Action taken: [[1 0]\\n\",\n      \" [0 0]], Observation: [Array([[3.],\\n\",\n      \"       [5.]], dtype=float32), Array([[1.],\\n\",\n      \"       [1.]], dtype=float32)]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"from jax import vmap\\n\",\n    \"import jax.tree_util as jtu\\n\",\n    \"from pymdp.envs.rollout import infer_and_plan\\n\",\n    \"\\n\",\n    \"rng_key = jr.PRNGKey(0)\\n\",\n    \"\\n\",\n    \"# start with None action, and expand agent.D to add time dimension\\n\",\n    \"action = -jnp.ones((agent.batch_size, len(agent.num_controls)), dtype=jnp.int32)\\n\",\n    \"qs = jtu.tree_map(lambda x: jnp.expand_dims(x, -2), agent.D)\\n\",\n    \"\\n\",\n    \"# reset environment and get initial observation\\n\",\n    \"keys = jr.split(rng_key, agent.batch_size + 1)\\n\",\n    \"rng_key = keys[0]\\n\",\n    \"observation, state = vmap(env.reset)(keys[1:], env_params=env_params)\\n\",\n    \"\\n\",\n    \"for i in range(10):\\n\",\n    \"    # random keys\\n\",\n    \"    keys = jr.split(rng_key, agent.batch_size + 2)\\n\",\n    \"    rng_key = keys[0]\\n\",\n    \"\\n\",\n    \"    # infer and plan\\n\",\n    \"    agent, action, qs, _ = infer_and_plan(agent, qs, observation, action, keys[1])\\n\",\n    \"\\n\",\n    \"    # step the environment\\n\",\n    \"    observation, state = vmap(env.step)(keys[2:], state, action, env_params=env_params)\\n\",\n    \"\\n\",\n    \"    print(f\\\"Step {i+1}: Action taken: {action}, Observation: {observation}\\\")\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.11.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/envs/knapsack_demo.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Demo: Knapsack Problem\\n\",\n    \"\\n\",\n    \"In this notebook, we demonstrate how to solve the knapsack problem, a classic Operations Research problem. In this problem, we have a knapsack with fixed weight capacity and a set of items each associated with a weight and a value. We want fit items into the knapsack in a way such as the total value of all fitted items is as high as possible, however, the sum of item weights cannot exceed the knapsack weight capacity. \\n\",\n    \"\\n\",\n    \"While is problem is traditionally solved with linear programming, we can convert it into a contextual bandit problem (a simplified 1-stage Markov decision problem) and solve it using pymdp.\\n\",\n    \"\\n\",\n    \"Let us define our actions `a_i` as whether to include an item or not for each item i. The state `s_i` of the system is defined as whether an item is included or not, i.e., copying the action variables over to the corresponding state variables. We also need another state variable `z` which represents whether the knapsack capacity is exceeded. If an item is included, i.e., `s_i = 1`, we get a reward `r_i`, otherwise, we get a reward of 0 when `s_i = 0`. We can thus define our preference of including valuable items to be proportional to the exponential of reward: `C[s_i] = softmax([0, r_i])`. Our preference on the capacity constraint variable `z` is to never violate it, i.e., `C[z] = [1, 0]`. Since the system is fully observable, we will set all the Categorical/Dirichlet parameters of the emission model (the `A` tensors) to be diagonal.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"from jax import numpy as jnp, random as jr\\n\",\n    \"from jax import tree_util as jtu\\n\",\n    \"import jax.nn as nn\\n\",\n    \"import itertools\\n\",\n    \"\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp import distribution\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Specify model structure\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"item rewards [0.00729382 0.02089119 0.5814265  0.36183798 0.22303772]\\n\",\n      \"item weights [8.211571  4.9118934 5.1358905 4.603628  4.9590673]\\n\",\n      \"item weight sum 27.822052\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# knapsack problem setup\\n\",\n    \"num_items = 5\\n\",\n    \"max_capacity = 20\\n\",\n    \"key = jr.PRNGKey(0)\\n\",\n    \"key_w, key_r = jr.split(key)\\n\",\n    \"item_weights = max_capacity / num_items + jr.uniform(key_w, shape=(num_items,), minval=0.0, maxval=5.0)\\n\",\n    \"rewards = jr.uniform(key_r, shape=(num_items,), minval=0.0, maxval=1.0)\\n\",\n    \"\\n\",\n    \"print(\\\"item rewards\\\", rewards)\\n\",\n    \"print(\\\"item weights\\\", item_weights)\\n\",\n    \"print(\\\"item weight sum\\\", item_weights.sum())\\n\",\n    \"\\n\",\n    \"# mdp config\\n\",\n    \"state_config = {\\n\",\n    \"    f\\\"s_{i}\\\": {\\\"elements\\\": [\\\"not enclude\\\", \\\"include\\\"], \\\"depends_on\\\": [f\\\"s_{i}\\\"], \\\"controlled_by\\\": [f\\\"a_{i}\\\"]} \\n\",\n    \"    for i in range(num_items)\\n\",\n    \"}\\n\",\n    \"state_config[\\\"z\\\"] = {\\n\",\n    \"    \\\"elements\\\": [\\\"not violated\\\", \\\"violated\\\"], \\\"depends_on\\\": [\\\"z\\\"], \\\"controlled_by\\\": [f\\\"a_{i}\\\" for i in range(num_items)]\\n\",\n    \"} \\n\",\n    \"\\n\",\n    \"obs_config = {\\n\",\n    \"    k: {\\\"elements\\\": v[\\\"elements\\\"], \\\"depends_on\\\": [k]} for k, v in state_config.items()\\n\",\n    \"}\\n\",\n    \"\\n\",\n    \"act_config = {\\n\",\n    \"    f\\\"a_{i}\\\": {\\\"elements\\\": [\\\"not enclude\\\", \\\"include\\\"]} \\n\",\n    \"    for i in range(num_items)\\n\",\n    \"}\\n\",\n    \"\\n\",\n    \"model_description = {\\n\",\n    \"    \\\"observations\\\": obs_config,\\n\",\n    \"    \\\"controls\\\": act_config,\\n\",\n    \"    \\\"states\\\": state_config,\\n\",\n    \"}\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Specify model parameters\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"A shapes [(2, 2), (2, 2), (2, 2), (2, 2), (2, 2), (2, 2)]\\n\",\n      \"B shapes [(2, 2, 2), (2, 2, 2), (2, 2, 2), (2, 2, 2), (2, 2, 2), (2, 2, 2, 2, 2, 2, 2)]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"model = distribution.compile_model(model_description)\\n\",\n    \"\\n\",\n    \"print(\\\"A shapes\\\", [a.data.shape for a in model.A])\\n\",\n    \"print(\\\"B shapes\\\", [a.data.shape for a in model.B])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"A shapes [(2, 2), (2, 2), (2, 2), (2, 2), (2, 2), (2, 2)]\\n\",\n      \"B shapes [(2, 2, 2), (2, 2, 2), (2, 2, 2), (2, 2, 2), (2, 2, 2), (2, 2, 2, 2, 2, 2, 2)]\\n\",\n      \"A normalized [True, True, True, True, True, True]\\n\",\n      \"B normalized [True, True, True, True, True, True]\\n\",\n      \"C normalized [True, True, True, True, True, True]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def create_identity_transition_factor(mat):\\n\",\n    \"    for i in range(mat.shape[1]):\\n\",\n    \"        mat[:, i] = np.eye(len(mat))\\n\",\n    \"    return mat\\n\",\n    \"\\n\",\n    \"def create_constraint_factor_z_greater_than(act_dim, maximum, num_items, weights):\\n\",\n    \"    # Create an array of shape (2, act_dim, act_dim, ..., act_dim)\\n\",\n    \"    tensor_shape = (2,) + (act_dim,) * num_items\\n\",\n    \"    \\n\",\n    \"    # Create an array with indices from 0 to act_dim - 1 along each dimension\\n\",\n    \"    indices = np.indices(tensor_shape[1:])\\n\",\n    \"\\n\",\n    \"    # Reshape weights to fit indices shape\\n\",\n    \"    weights_reshaped = np.array(weights).reshape((-1,) + (1,) * (indices.ndim - 1))\\n\",\n    \"    # Multiply weights with matrix that conforms to constraint\\n\",\n    \"    result = np.array(indices == (act_dim - 1)) * weights_reshaped\\n\",\n    \"\\n\",\n    \"    # Calculate the total for each combination of actions\\n\",\n    \"    total = np.sum(result, axis=0)\\n\",\n    \"    \\n\",\n    \"    # Create the tensor based on the total hours condition\\n\",\n    \"    tensor = np.where(total > maximum, 1, 0)\\n\",\n    \"\\n\",\n    \"    # Stack the tensor along the first axis to create the final tensor\\n\",\n    \"    tensor = np.stack((1 - tensor, tensor), axis=0)\\n\",\n    \"\\n\",\n    \"    # make a copy for self state \\n\",\n    \"    tensor = np.stack([tensor, tensor], axis=1)\\n\",\n    \"    return tensor\\n\",\n    \"\\n\",\n    \"# update A tensor\\n\",\n    \"for i in range(len(model.A)):\\n\",\n    \"    model.A[i].data = np.eye(len(model.A[i].data))\\n\",\n    \"\\n\",\n    \"# update B tensors\\n\",\n    \"for i in range(num_items):\\n\",\n    \"    model.B[i].data = create_identity_transition_factor(model.B[i].data)\\n\",\n    \"\\n\",\n    \"model.B[-1].data = create_constraint_factor_z_greater_than(2, max_capacity, num_items, item_weights)\\n\",\n    \"\\n\",\n    \"# create C tensors\\n\",\n    \"preferences = nn.softmax(np.stack([np.zeros_like(rewards), rewards], axis=-1), axis=-1)\\n\",\n    \"Cs = [None for _ in range(len(model.A))]\\n\",\n    \"for i in range(len(model.A)):\\n\",\n    \"    Cs[i] = preferences[i]\\n\",\n    \"    \\n\",\n    \"Cs[-1] = np.array([1., 0]) # capacity constraint cannot be violated\\n\",\n    \"\\n\",\n    \"print(\\\"A shapes\\\", [a.data.shape for a in model.A])\\n\",\n    \"print(\\\"B shapes\\\", [a.data.shape for a in model.B])\\n\",\n    \"\\n\",\n    \"print(\\\"A normalized\\\", [np.isclose(a.data.sum(0), 1.).all() for a in model.A])\\n\",\n    \"print(\\\"B normalized\\\", [np.isclose(b.data.sum(0), 1.).all() for b in model.B])\\n\",\n    \"print(\\\"C normalized\\\", [np.isclose(a.sum(0), 1.).all() for a in Cs])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Run agent\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"agent = Agent(\\n\",\n    \"    model.A, model.B, Cs,\\n\",\n    \"    B_action_dependencies=model.B_action_dependencies,\\n\",\n    \"    num_controls=model.num_controls,\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"qs = jtu.tree_map(lambda x: jnp.expand_dims(x, axis=0), agent.D)\\n\",\n    \"q_pi, G = agent.infer_policies(qs)\\n\",\n    \"action = agent.sample_action(q_pi)\\n\",\n    \"action_multi = agent.decode_multi_actions(action)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"best action [[ 0  1  1  1  1 15]]\\n\",\n      \"best action multi [[0 1 1 1 1]]\\n\",\n      \"item weights\\n\",\n      \"[8.211571  4.9118934 5.1358905 4.603628  4.9590673]\\n\",\n      \"item rewards\\n\",\n      \"[0.00729382 0.02089119 0.5814265  0.36183798 0.22303772]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print(\\\"best action\\\", action)\\n\",\n    \"print(\\\"best action multi\\\", action_multi)\\n\",\n    \"print(\\\"item weights\\\")\\n\",\n    \"print(item_weights)\\n\",\n    \"print(\\\"item rewards\\\")\\n\",\n    \"print(rewards)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Verify that the solution chosen by the active inference agent is the best solution, as validated by brute force search\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Brute-force best bits: [0 1 1 1 1] reward: 1.1871933937072754\\n\",\n      \"Agent best bits: [0 1 1 1 1] reward: 1.1871933937072754\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"def brute_force_knapsack(weights, rewards, capacity):\\n\",\n    \"    best_r = -jnp.inf\\n\",\n    \"    best_bits = None\\n\",\n    \"    for bits in itertools.product([0,1], repeat=len(weights)):\\n\",\n    \"        w = jnp.dot(jnp.array(bits), weights)\\n\",\n    \"        if w <= capacity + 1e-9:\\n\",\n    \"            r = jnp.dot(jnp.array(bits), rewards)\\n\",\n    \"            if r > best_r:\\n\",\n    \"                best_r, best_bits = float(r), jnp.array(bits)\\n\",\n    \"    return best_bits, best_r\\n\",\n    \"\\n\",\n    \"bf_bits, bf_reward = brute_force_knapsack(item_weights, rewards, max_capacity)\\n\",\n    \"print(\\\"Brute-force best bits:\\\", bf_bits, \\\"reward:\\\", bf_reward)\\n\",\n    \"print(\\\"Agent best bits:\\\", action_multi[0], \\\"reward:\\\", float(jnp.dot(action_multi[0], rewards)))\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"\\n\",\n      \"action [ 0  1  1  1  1 15]\\n\",\n      \"action multi [0 1 1 1 1]\\n\",\n      \"efe: -3.79, reward: 1.19\\n\",\n      \"\\n\",\n      \"action [0 0 1 1 1 7]\\n\",\n      \"action multi [0 0 1 1 1]\\n\",\n      \"efe: -3.78, reward: 1.17\\n\",\n      \"\\n\",\n      \"action [ 0  1  1  1  0 14]\\n\",\n      \"action multi [0 1 1 1 0]\\n\",\n      \"efe: -3.68, reward: 0.96\\n\",\n      \"\\n\",\n      \"action [ 1  0  1  1  0 22]\\n\",\n      \"action multi [1 0 1 1 0]\\n\",\n      \"efe: -3.67, reward: 0.95\\n\",\n      \"\\n\",\n      \"action [0 0 1 1 0 6]\\n\",\n      \"action multi [0 0 1 1 0]\\n\",\n      \"efe: -3.67, reward: 0.94\\n\",\n      \"\\n\",\n      \"action [ 0  1  1  0  1 13]\\n\",\n      \"action multi [0 1 1 0 1]\\n\",\n      \"efe: -3.61, reward: 0.83\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# print top actions, sorted in decreasing posterior probability (lowest EFE first)\\n\",\n    \"from pymdp import utils\\n\",\n    \"for i, idx in enumerate(np.argsort(q_pi[0])[::-1]):\\n\",\n    \"    action_multi_f = utils.index_to_combination(agent.policies[idx, 0][-1].tolist(), agent.num_controls_multi)\\n\",\n    \"    print(\\\"\\\\naction\\\", agent.policies[idx, 0])\\n\",\n    \"    print(\\\"action multi\\\", action_multi_f)\\n\",\n    \"    print(\\\"efe: -{:.2f}, reward: {:.2f}\\\".format(G[0, idx], np.sum(rewards * action_multi_f)))\\n\",\n    \"    if i == 5:\\n\",\n    \"        break\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"pymdp_dev_env\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.12.3\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/envs/tmaze_demo.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# T-Maze Demo\\n\",\n    \"\\n\",\n    \"In this notebook, we simulate an active inference agent solving the T-Maze task - a type of two-armed contextual bandit. Note that unlike in earlier demos in the legacy version of the [`pymdp` package](https://pymdp-rtd.readthedocs.io/en/latest/) which has a `NumPy` backend, this demo relies on `pymdp`'s new `jax` backend. The JAX backend accelerates `pymdp` by dispatching the core inference, learning and planning computations to CUDA-compatible GPU devices (if available). This, in combination with JAX's just-in-time (JIT) compilation features, enables pymdp to take advantage of batch processing (i.e., running many AIF processes in parallel) and increased memory-usage / speed, especially recurrent operations (e.g., iterative inference routines or processes that run over time).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The T-Maze Task\\n\",\n    \"\\n\",\n    \"The T-Maze task implemented in this notebook is adapted from [the sophisticated inference paper](https://discovery.ucl.ac.uk/id/eprint/10124606/), and was originally introduced in an active inference context in [\\\"Active Inference and Epistemic Value\\\"](https://pubmed.ncbi.nlm.nih.gov/25689102/). The T-maze is a two-armed contextual bandit: at any given time, the agent can choose between sampling a cue (context) or choosing between two reward arms (left vs. right).” This task represents a classic problem in sequential decision-making, where an agent (in this case, analogized to a rat) must navigate a T-shaped maze. The agent starts at the centre of the T-maze. Within either the left or right arm, there is either a preferred (i.e., rewarding; cheese) stimulus or an aversive (i.e., punishing; shock) stimulus, with these reward contingencies initially unknown to the agent. In the bottom part of the T-Maze, a cue provides information about the which arm the rewarding stimulus is in.\\n\",\n    \"\\n\",\n    \"The agent is faced with a dilemma: commit to one of the potentially rewarding arms or first seek information from the cue to identify the more rewarding option before taking action. We use the term \\\"cue validity\\\" to indicate the probability that the cue correctly indicates the reward's location. If the cue has information about which of the two arms is more rewarded (i.e., the cue validity is greater than 50%), then the optimal behavior entails first visiting the cue arm and then choosing one of the two reward arms. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Outline of this notebook\\n\",\n    \"### This notebook steps through the following variants of the T-Maze Demo:\\n\",\n    \"\\n\",\n    \"#### **1.** A deterministic generative process (environment), and a single agent solving the task with standard (non-sophisticated) active inference.\\n\",\n    \"\\n\",\n    \"#### **2.** A noisy generative process, and a single agent solving the task with standard active inference.\\n\",\n    \"\\n\",\n    \"#### **3.** A noisy generative model with A and B learning, with correct and incorrect prior structure of those parameters, and a single agent solving the task with standard active inference.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:30.989078Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:30.988960Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:34.892366Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:34.891996Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# a way to edit and run code and see the effects in the notebook without having to restart the kernel\\n\",\n    \"%load_ext autoreload\\n\",\n    \"%autoreload 2\\n\",\n    \"\\n\",\n    \"# importing necessary libraries\\n\",\n    \"import jax.numpy as jnp\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import numpy as np\\n\",\n    \"import mediapy\\n\",\n    \"\\n\",\n    \"from jax import random as jr\\n\",\n    \"from pymdp.envs import TMaze, rollout\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp.maths import dirichlet_expected_value\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Creating the T-Maze Task (Generative Process)\\n\",\n    \"\\n\",\n    \"- The `reward_condition` parameter determines the reward location: `0` for the left arm, `1` for the right arm, or `None` for random allocation.\\n\",\n    \"- The `reward_probability` parameter sets the chance of receiving a reward in the correct arm. For example, if set at 0.80, there would be an 80% chance of reward and 20% chance of no outcome in the rewarding arm.\\n\",\n    \"- The `punishment_probability` parameter specifies the likelihood of punishment in the other arm. For example, if set at 0.80, there would be an 80% chance of punishment and 20% chance of no outcome in the non-rewarding arm.\\n\",\n    \"- The `cue_validity` parameter represents the accuracy of the cues as a probability between 0 and 1.\\n\",\n    \"\\n\",\n    \"<details>\\n\",\n    \"<summary> Click here to see how the generative process is set up. </summary>\\n\",\n    \"\\n\",\n    \"#### States and Observations\\n\",\n    \"\\n\",\n    \"**State Factors:**\\n\",\n    \"1. Location (5 states):\\n\",\n    \"    - 0: centre (start location)\\n\",\n    \"    - 1: left arm\\n\",\n    \"    - 2: right arm\\n\",\n    \"    - 3: cue location (bottom)\\n\",\n    \"    - 4: middle of arms (between left and right arm)\\n\",\n    \"2. Reward Location (2 states):\\n\",\n    \"    - 0: reward in left arm \\n\",\n    \"    - 1: reward in right arm\\n\",\n    \"\\n\",\n    \"**Observation Modalities:**\\n\",\n    \"1. Location (5 observations):\\n\",\n    \"    - Matches the location states exactly\\n\",\n    \"2. Outcome (3 observations):\\n\",\n    \"    - 0: no outcome\\n\",\n    \"    - 1: reward (cheese)\\n\",\n    \"    - 2: punishment (shock)\\n\",\n    \"3. Cue (3 observations):\\n\",\n    \"    - 0: no cue\\n\",\n    \"    - 1: left arm cued\\n\",\n    \"    - 2: right arm cued\\n\",\n    \"\\n\",\n    \"#### Environment Parameters\\n\",\n    \"\\n\",\n    \"**Observation Likelihood Model (A):**\\n\",\n    \"- A[0]: Location observations (5x5 tensor)\\n\",\n    \"  - Perfect mapping between true and observed location.\\n\",\n    \"- A[1]: Outcome observations (3x5x2 tensor)\\n\",\n    \"  - In the more rewarding arm, reward is presented with a likelihood determined by the `reward_probability` parameter.\\n\",\n    \"  - In the less rewarding arm, punishment is presented with a likelihood determined by the `punishment_probability` parameter.\\n\",\n    \"  - No outcomes are observed in the centre/start location, cue location, or middle of the two arms.\\n\",\n    \"- A[2]: Cue observations (3x5x2 tensor)\\n\",\n    \"  - Indicating the reward location, at the cue location (bottom), with accuracy set by the `cue_validity` parameter.\\n\",\n    \"  - No cues visible elsewhere.\\n\",\n    \"\\n\",\n    \"**Transition Model (B):**\\n\",\n    \"- B[0]: Location transitions (5x5x5 tensor)\\n\",\n    \"  - Agent can move between adjacent maze cells or stay in the same cell.\\n\",\n    \"- B[1]: Reward location (2x2x1 tensor)\\n\",\n    \"  - Reward location remains fixed throughout trial.\\n\",\n    \"\\n\",\n    \"**Initial Conditions (D):**\\n\",\n    \"- D[0]: Starting location (5x1 tensor)\\n\",\n    \"  - Agent always begins in centre location\\n\",\n    \"- D[1]: Reward placement (2x1 tensor)\\n\",\n    \"  - Default: Equal chance (50/50) of reward in either arm (`reward_condition=None`)\\n\",\n    \"  - Optional: Can fix reward to specific arm, by setting `reward_condition` to `0` (for left arm) or `1` (for right arm)\\n\",\n    \"\\n\",\n    \"</details>\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:34.893886Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:34.893745Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:35.262412Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:35.262092Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# setting the parameters for the environment\\n\",\n    \"reward_condition = None # 0 is reward in left arm, 1 is reward in right arm, None is random allocation\\n\",\n    \"reward_probability = 1.0 # 100% chance of reward in the correct arm\\n\",\n    \"punishment_probability = 1.0 # 100% chance of punishment in the other arm\\n\",\n    \"cue_validity = 1.0 # 100% valid cues\\n\",\n    \"dependent_outcomes = False # if True, punishment occurs as a function of reward probability (i.e., if reward probability is 0.8, then 20% punishment). If False, punishment occurs with set probability (i.e., 20% no outcome and punishment will only occur in the other (non-rewarding) arm)\\n\",\n    \"\\n\",\n    \"# initialising the environment. see tmaze.py in pymdp/envs for the implementation details.\\n\",\n    \"env = TMaze( \\n\",\n    \"    reward_probability=reward_probability,     \\n\",\n    \"    punishment_probability=punishment_probability, \\n\",\n    \"    cue_validity=cue_validity,          \\n\",\n    \"    reward_condition=reward_condition,\\n\",\n    \"    dependent_outcomes=dependent_outcomes\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"# you may print the environment parameters to see the shapes of the tensors and the values by editing and uncommenting the following lines and running the code: \\n\",\n    \"\\n\",\n    \"# print([a.shape for a in env.params[\\\"A\\\"]]) # shape of all A tensors; the shape should start with the batch_size, then the rows, columns, and additional dimensions for the dependencies\\n\",\n    \"# print(env.params[\\\"A\\\"][1][0][:,:,1]) # likelihood of observing no outcome, reward, or punishment (rows), in each location (columns), when the reward condition is 1 (right arm)\\n\",\n    \"# print(env.params[\\\"A\\\"][2][0][:,:,0]) # likelihood of observing no cue, left arm cued, or right arm cued (rows), in each location (columns), when the reward condition is 0 (left arm)\\n\",\n    \"\\n\",\n    \"# print([b.shape for b in env.params[\\\"B\\\"]]) # shape of all B tensors\\n\",\n    \"# print(env.params[\\\"B\\\"][0][0][:,:,4]) # probability of transitioning to each location (rows), from each location (columns), when the agent wants to move to the middle of the arms (location 4)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 1. A deterministic generative process (environment), and a single agent solving the task with standard active inference.\\n\",\n    \"\\n\",\n    \"### Creating the Agent (Generative Model)\\n\",\n    \"\\n\",\n    \"We will create the agent's generative model based off the true observation and transition models (encoded by tensors `A` and `B`, respectively) of the environment. In other words, we assume the agent knows how the environment works - i.e., it knows that the likelihood of observing a reward in the left arm is 1.0 (`reward_probability=1.0`) if the reward is actually in the left arm (`reward_condition=0`), and it knows the cues are 100% accurate (`cue_validity=1.0`), and it knows that the reward location will be fixed throughout the trial (non-volatile environment). We can of course change these assumptions to create a more complex agent, and we will do that in the next sections where the environment will be more stochastic and we will also add uncertainty to the agent's generative model so it will have to learn that the environment is deterministic or not.\\n\",\n    \"\\n\",\n    \"The preference tensors (`C`) are set using  the known dimensions of the outcome modalities, which we can infer from the A tensor's shape. We fix the agent's preferences *a priori* to prefer reward and avoid punishment. The agent is set to not have any preference to observe certain locations and cues. \\n\",\n    \"\\n\",\n    \"The initial beliefs tensors (D; i.e., state priors) are set using the known dimensions of the hidden state factors, which we can infer from the B tensor's shape. The agent has the prior belief that it starts in the center location and it has no prior about the reward location - i.e., the prior for the reward location is uniformly distributed.  \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:35.263798Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:35.263720Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:36.072631Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:36.072248Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Number of generated agents: 1\\n\",\n      \"\\n\",\n      \"[(1, 5, 5), (1, 3, 5, 2), (1, 3, 5, 2)]\\n\",\n      \"[[1. 0. 0. 1. 1.]\\n\",\n      \" [0. 0. 1. 0. 0.]\\n\",\n      \" [0. 1. 0. 0. 0.]]\\n\",\n      \"[[ 0.  2. -3.]]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61033/343300159.py:29: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agent = Agent(\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# setting A tensors from the environment parameters\\n\",\n    \"A = env.A\\n\",\n    \"A_dependencies = env.A_dependencies # dependencies allow you to specify which state factors each observation modality depends on, so you dont have to store all the conditional dependencies between all state factors and each modality\\n\",\n    \"\\n\",\n    \"# setting B tensors from the environment parameters\\n\",\n    \"B = env.B\\n\",\n    \"B_dependencies = env.B_dependencies\\n\",\n    \"\\n\",\n    \"# creating C tensors filled with zeros for [location], [reward], [cue] based on A shapes\\n\",\n    \"C = [jnp.zeros(a.shape[0], dtype=jnp.float32) for a in A] \\n\",\n    \"# setting preferences for outcomes only\\n\",\n    \"C[1] = C[1].at[1].set(2.0)    # prefer reward\\n\",\n    \"C[1] = C[1].at[2].set(-3.0)   # avoid punishment\\n\",\n    \"\\n\",\n    \"# creating D tensors [location], [reward] based on B shapes\\n\",\n    \"D = []\\n\",\n    \"# D[0]: location - all zeros except location 0 (centre) because the agent always starts in the centre\\n\",\n    \"D_loc = jnp.zeros(B[0].shape[0], dtype=jnp.float32) \\n\",\n    \"D_loc = D_loc.at[0].set(1.0)  # set centre location to 1.0\\n\",\n    \"D.append(D_loc)\\n\",\n    \"\\n\",\n    \"# D[1]: reward location - uniform distribution\\n\",\n    \"D_reward = jnp.ones(B[1].shape[0], dtype=jnp.float32) \\n\",\n    \"D_reward = D_reward / jnp.sum(D_reward, axis=0, keepdims=True)  # normalise to get uniform distribution\\n\",\n    \"D.append(D_reward)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# initialising the agent\\n\",\n    \"agent = Agent(\\n\",\n    \"    A, B, C, D, \\n\",\n    \"    policy_len=2, # how long the action sequence is that the agent is evaluating\\n\",\n    \"    A_dependencies=A_dependencies, \\n\",\n    \"    B_dependencies=B_dependencies,\\n\",\n    \"    learn_A=False,\\n\",\n    \"    learn_B=False\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"# you may print the agent's generative model parameters to see the shapes of the tensors and the values by editing and uncommenting the following lines and running the code: \\n\",\n    \"\\n\",\n    \"print(f'Number of generated agents: {agent.batch_size}\\\\n')\\n\",\n    \"print([a.shape for a in agent.A]) # shape of all A tensors\\n\",\n    \"print(agent.A[1][0][:,:,1]) # likelihood of observing no outcome, reward, or punishment (rows), in each location (columns), when the reward condition is 1 (right arm)\\n\",\n    \"print(agent.C[1]) # preferences for outcomes\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Running the active inference agent\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:36.074529Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:36.074406Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:37.066512Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:37.066101Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"key = jr.PRNGKey(0) # random key for seeding reproducible stochasticity in the AIF loop (e.g., for sampling any random processes in the TMaze, and for sampling actions from the agent's chosen policy).\\n\",\n    \"T = 10 # number of timesteps to rollout the aif loop for\\n\",\n    \"_, info = rollout(agent, env, num_timesteps=T, rng_key=key) # running the aif loop\\n\",\n    \"\\n\",\n    \"# you may print the info dictionary to see the numerical results of the aif agent completing the T-maze task by editing and uncommenting the following lines and running the code: \\n\",\n    \"\\n\",\n    \"# print(info.keys()) # keys in the info dictionary\\n\",\n    \"# print(info[\\\"action\\\"][:,0,:]) # actions taken by the agent (locations throughout the maze) \\n\",\n    \"# print(info[\\\"observation\\\"][0]) # observations of the locations for each batch\\n\",\n    \"# print(info[\\\"observation\\\"][2]) # observations of the cues for each batch\\n\",\n    \"# print(jnp.around(info[\\\"qs\\\"][1], decimals=2)) # posterior beliefs about the reward location\\n\",\n    \"# print(info[\\\"qpi\\\"][0].shape) # shape of the policy tensor\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Rendering the Task to Visualise the Agent's Behaviour\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:37.067936Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:37.067856Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:39.106070Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:39.105739Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table class=\\\"show_videos\\\" style=\\\"border-spacing:0px;\\\"><tr><td style=\\\"padding:1px;\\\"><video controls width=\\\"600\\\" height=\\\"600\\\" style=\\\"object-fit:cover;\\\" loop autoplay muted>\\n\",\n       \"      <source src=\\\"data:video/mp4;base64,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\\\" type=\\\"video/mp4\\\"/>\\n\",\n       \"      This browser does not support the video tag.\\n\",\n       \"      </video></td></tr></table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"frames = []\\n\",\n    \"for t in range(info[\\\"observation\\\"][0].shape[1]):  # iterate over timesteps\\n\",\n    \"    # get observations for this timestep\\n\",\n    \"    observations_t = [\\n\",\n    \"        info[\\\"observation\\\"][0][:, t, :],\\n\",\n    \"        info[\\\"observation\\\"][1][:, t, :],  \\n\",\n    \"        info[\\\"observation\\\"][2][:, t, :]   \\n\",\n    \"    ]\\n\",\n    \"       \\n\",\n    \"    frame = env.render(mode=\\\"rgb_array\\\", observations=observations_t) # render the environment using the observations for this timestep\\n\",\n    \"    frame = np.asarray(frame, dtype=np.uint8)\\n\",\n    \"    plt.close()  # close the figure to prevent memory leak\\n\",\n    \"    frames.append(frame)\\n\",\n    \"\\n\",\n    \"frames = np.array(frames, dtype=np.uint8)\\n\",\n    \"mediapy.show_video(frames, fps=1)\\n\",\n    \"\\n\",\n    \"# # uncomment the following lines to save the video as a gif\\n\",\n    \"# os.makedirs(\\\"figures\\\", exist_ok=True)\\n\",\n    \"# pil_frames = [Image.fromarray(frame) for frame in frames]\\n\",\n    \"# reward_location = \\\"random\\\" if reward_condition is None else (\\\"left\\\" if reward_condition == 0 else \\\"right\\\")\\n\",\n    \"# filename = os.path.join(\\\"figures\\\", f\\\"tmaze_{batch_size}_{reward_location}.gif\\\")\\n\",\n    \"# pil_frames[0].save(\\n\",\n    \"#     filename,\\n\",\n    \"#     save_all=True,\\n\",\n    \"#     append_images=pil_frames[1:],\\n\",\n    \"#     duration=1000,  # 1000ms per frame\\n\",\n    \"#     loop=0\\n\",\n    \"# )\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Running multiple agents in parallel using the `batch_size` parameter\\n\",\n    \"The active inference computations taking place within the the `Agent` methods (inference, planning/action selection, and learning) interally expect most arrays to have an additional leading dimension, with length `batch_size`. This extra dimension can be used to generate and run multiple agents in parallel, each with their own generative model, observation and action history, and posterior beliefs. For instance, if `batch_size = 10`, then each `A`, `B`, `C`, ... array will represent the corresponding generative model parameters for 10 different agents, and each agent will receive its own history of observations / emit its own actions. The single agent (default) case is therefore the case of `batch_size = 1`. If you pass in generative model arrays to the `Agent` constructor without a `(batch_size,)`-sized leading dimension (as we did in the previous example), they will be expanded internally to have this dimension, creating `batch_size` identical copies of the provided model parameters.\\n\",\n    \"\\n\",\n    \"One can also run multiple _environments_ in parallel by passing a separate, stateful `env_params` pytree which stores `batch_size` different `A`, `B`, and `D` arrays, but for now we are using a single fixed environment. This is the default case where the environmental attributes `env.A`, `env.B`,  and `env.D` arrays have no leading `(batch_size,)` dimension, even while the `Agent` class _does_ have it.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:39.107336Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:39.107255Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:57.520123Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:57.519692Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61033/1007283590.py:32: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agent = Agent(\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table class=\\\"show_videos\\\" style=\\\"border-spacing:0px;\\\"><tr><td style=\\\"padding:1px;\\\"><video controls width=\\\"600\\\" height=\\\"600\\\" style=\\\"object-fit:cover;\\\" loop autoplay muted>\\n\",\n       \"      <source src=\\\"data:video/mp4;base64,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\\\" type=\\\"video/mp4\\\"/>\\n\",\n       \"      This browser does not support the video tag.\\n\",\n       \"      </video></td></tr></table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"batch_size = 9 # number of agents to run in parallel\\n\",\n    \"\\n\",\n    \"# setting A tensors from the environment parameters\\n\",\n    \"A, B = env.A, env.B\\n\",\n    \"A_dependencies, B_dependencies = env.A_dependencies, env.B_dependencies # dependencies allow you to specify the state factors the observation modality depends on so you dont have to compute the full tensor using all state factors\\n\",\n    \"\\n\",\n    \"# now expand A and B to have a new batch_size-length leading dimension\\n\",\n    \"A = [jnp.broadcast_to(a, (batch_size,) + a.shape) for a in A]\\n\",\n    \"B = [jnp.broadcast_to(b, (batch_size,) + b.shape) for b in B]\\n\",\n    \"\\n\",\n    \"# creating C tensors filled with zeros for [location], [reward], [cue] based on A shapes\\n\",\n    \"C = [jnp.zeros((batch_size, a.shape[1]), dtype=jnp.float32) for a in A] \\n\",\n    \"# setting preferences for outcomes only\\n\",\n    \"C[1] = C[1].at[:,1].set(2.0)    # prefer reward\\n\",\n    \"C[1] = C[1].at[:,2].set(-3.0)   # avoid punishment\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# creating D tensors [location], [reward] based on B shapes\\n\",\n    \"D = []\\n\",\n    \"# D[0]: location - all zeros except location 0 (centre) because the agent always starts in the centre\\n\",\n    \"D_loc = jnp.zeros((batch_size, B[0].shape[1]), dtype=jnp.float32) \\n\",\n    \"D_loc = D_loc.at[0,0].set(1.0)  # set centre location to 1.0\\n\",\n    \"D.append(D_loc)\\n\",\n    \"\\n\",\n    \"# D[1]: reward location - uniform distribution\\n\",\n    \"D_reward = jnp.ones((batch_size, B[1].shape[1]), dtype=jnp.float32) \\n\",\n    \"D_reward = D_reward / jnp.sum(D_reward, axis=1, keepdims=True)  # normalise to get uniform distribution\\n\",\n    \"D.append(D_reward)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# initialising the agent\\n\",\n    \"agent = Agent(\\n\",\n    \"    A, B, C, D, \\n\",\n    \"    policy_len=2,\\n\",\n    \"    A_dependencies=A_dependencies, \\n\",\n    \"    B_dependencies=B_dependencies,\\n\",\n    \"    batch_size=batch_size, # note we have to pass in this batch_size parameter so the class knows to treat the first dimension as the batch size\\n\",\n    \"    learn_A=False,\\n\",\n    \"    learn_B=False\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"_, info = rollout(agent, env, num_timesteps=T, rng_key=key) # running the aif loop\\n\",\n    \"\\n\",\n    \"# rendering the task to visualise the agent's behaviour \\n\",\n    \"frames = []\\n\",\n    \"for t in range(info[\\\"observation\\\"][0].shape[1]):  # iterate over timesteps\\n\",\n    \"    # get observations for this timestep\\n\",\n    \"    observations_t = [\\n\",\n    \"        info[\\\"observation\\\"][0][:, t, :],\\n\",\n    \"        info[\\\"observation\\\"][1][:, t, :],  \\n\",\n    \"        info[\\\"observation\\\"][2][:, t, :]   \\n\",\n    \"    ]\\n\",\n    \"       \\n\",\n    \"    frame = env.render(mode=\\\"rgb_array\\\", observations=observations_t) # render the environment using the observations for this timestep\\n\",\n    \"    frame = np.asarray(frame, dtype=np.uint8)\\n\",\n    \"    plt.close()  # close the figure to prevent memory leak\\n\",\n    \"    frames.append(frame)\\n\",\n    \"\\n\",\n    \"frames = np.array(frames, dtype=np.uint8)\\n\",\n    \"mediapy.show_video(frames, fps=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 2. A noisy generative process, and a single agent solving the task with standard active inference.\\n\",\n    \"\\n\",\n    \"### Making the world more stochastic\\n\",\n    \"\\n\",\n    \"In this variant, we will once again give the agent true knowledge of the parameters of the generative process (by fixing the `A` and `B` tensors of the agent to those of the true generative process), but now we will add stochasticity to the true generative process parameters, such that the agent is not guaranteed to get reward in the rewarded-arm every time, but only more likely to get reward than punishment there. This stochasticity can be modulated using the `reward_probability` argument to the `TMaze()` environment. We can likewise modulate the probability of seeing punishment in the punishment arm, by changing the `punishment_probability` argument to the `TMaze` environment. Finally, another source of uncertainty is the cue reliability or validity, which encodes the likelihood that the signal observed in the cue location of the TMaze, accurately identifies which arm is the more-rewarding vs. more-punishing arm. This probability (of the cue signalling the 'correct arm') can be modulated using the `cue_validity` argument to the `TMaze` constructor.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:57.523036Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:57.522878Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:30:57.552414Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:30:57.552056Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# THE GENERATIVE PROCESS (NOISY)\\n\",\n    \"# setting the parameters for the environment\\n\",\n    \"batch_size = 4 # number of environments/agents to run in parallel\\n\",\n    \"reward_condition = None # 0 is reward in left arm, 1 is reward in right arm, None is random allocation\\n\",\n    \"reward_probability = 0.7 # 70% chance of reward in the correct arm\\n\",\n    \"punishment_probability = 0.6 # 60% chance of punishment in the other arm\\n\",\n    \"cue_validity = 0.95 # 90% valid cues\\n\",\n    \"dependent_outcomes = False # if True, punishment occurs as a function of reward probability (i.e., if reward probability is 0.8, then 20% punishment). If False, punishment occurs with set probability (i.e., 20% no outcome and punishment will only occur in the other (non-rewarding) arm)\\n\",\n    \"\\n\",\n    \"# initialising the environment. see tmaze.py in pymdp/envs for the implementation details.\\n\",\n    \"env = TMaze( \\n\",\n    \"    reward_probability=reward_probability,     \\n\",\n    \"    punishment_probability=punishment_probability, \\n\",\n    \"    cue_validity=cue_validity,          \\n\",\n    \"    reward_condition=reward_condition,\\n\",\n    \"    dependent_outcomes=dependent_outcomes\\n\",\n    \")\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:30:57.553800Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:30:57.553715Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:00.132559Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:00.132150Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61033/34467052.py:32: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agent = Agent(\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# THE GENERATIVE MODEL\\n\",\n    \"\\n\",\n    \"# Get A, B, and dependencies from the environment\\n\",\n    \"A, B = env.A, env.B\\n\",\n    \"A_dependencies, B_dependencies = env.A_dependencies, env.B_dependencies # dependencies allow you to specify\\n\",\n    \"\\n\",\n    \"# now expand A and B to have a new batch_size-length leading dimension\\n\",\n    \"A = [jnp.broadcast_to(a, (batch_size,) + a.shape) for a in A]\\n\",\n    \"B = [jnp.broadcast_to(b, (batch_size,) + b.shape) for b in B]\\n\",\n    \"\\n\",\n    \"# creating C tensors filled with zeros for [location], [reward], [cue] based on A shapes\\n\",\n    \"C = [jnp.zeros((batch_size, a.shape[1]), dtype=jnp.float32) for a in A] \\n\",\n    \"# setting preferences for outcomes only\\n\",\n    \"C[1] = C[1].at[:,1].set(3.0)    # prefer reward\\n\",\n    \"C[1] = C[1].at[:,2].set(-4.0)   # avoid punishment\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# creating D tensors [location], [reward] based on B shapes\\n\",\n    \"D = []\\n\",\n    \"# D[0]: location - all zeros except location 0 (centre) because the agent always starts in the centre\\n\",\n    \"D_loc = jnp.zeros((batch_size, B[0].shape[1]), dtype=jnp.float32) \\n\",\n    \"D_loc = D_loc.at[0,0].set(1.0)  # set centre location to 1.0\\n\",\n    \"D.append(D_loc)\\n\",\n    \"\\n\",\n    \"# D[1]: reward location - uniform distribution\\n\",\n    \"D_reward = jnp.ones((batch_size, B[1].shape[1]), dtype=jnp.float32) \\n\",\n    \"D_reward = D_reward / jnp.sum(D_reward, axis=1, keepdims=True)  # normalise to get uniform distribution\\n\",\n    \"D.append(D_reward)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# initialising the agent\\n\",\n    \"agent = Agent(\\n\",\n    \"    A, B, C, D, \\n\",\n    \"    policy_len=3, # how long the action sequence is that the agent is evaluating\\n\",\n    \"    A_dependencies=A_dependencies, \\n\",\n    \"    B_dependencies=B_dependencies,\\n\",\n    \"    batch_size=batch_size,\\n\",\n    \"    learn_A=False,\\n\",\n    \"    learn_B=False\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"key = jr.PRNGKey(0) # random key for the aif loop\\n\",\n    \"T = 20 # number of timesteps to rollout the aif loop for\\n\",\n    \"_, info = rollout(agent, env, num_timesteps=T, rng_key=key) # running the aif loop\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:00.134138Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:00.134056Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:13.111259Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:13.110818Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table class=\\\"show_videos\\\" style=\\\"border-spacing:0px;\\\"><tr><td style=\\\"padding:1px;\\\"><video controls width=\\\"600\\\" height=\\\"600\\\" style=\\\"object-fit:cover;\\\" loop autoplay muted>\\n\",\n       \"      <source src=\\\"data:video/mp4;base64,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\\\" type=\\\"video/mp4\\\"/>\\n\",\n       \"      This browser does not support the video tag.\\n\",\n       \"      </video></td></tr></table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"frames = []\\n\",\n    \"for t in range(info[\\\"observation\\\"][0].shape[1]):  # iterate over timesteps\\n\",\n    \"    # get observations for this timestep\\n\",\n    \"    observations_t = [\\n\",\n    \"        info[\\\"observation\\\"][0][:, t, :],\\n\",\n    \"        info[\\\"observation\\\"][1][:, t, :],  \\n\",\n    \"        info[\\\"observation\\\"][2][:, t, :]   \\n\",\n    \"    ]\\n\",\n    \"       \\n\",\n    \"    frame = env.render(mode=\\\"rgb_array\\\", observations=observations_t) # render the environment using the observations for this timestep\\n\",\n    \"    frame = np.asarray(frame, dtype=np.uint8)\\n\",\n    \"    plt.close()  # close the figure to prevent memory leak\\n\",\n    \"    frames.append(frame)\\n\",\n    \"\\n\",\n    \"frames = np.array(frames, dtype=np.uint8)\\n\",\n    \"mediapy.show_video(frames, fps=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# 3. Agent is equipped with a partially-uncertain model of the true generative process, and can also perform parameter learning to update its beliefs about outcome and transition contingencies over time.\\n\",\n    \"\\n\",\n    \"You can tweak the following arguments to the `Agent` constructor: `learn_A` and `learn_B` between True and False -- this selectively turns on/off the ability to update the parameters of the Dirichlet posterior over the `A` and `B` tensors, respectively. These functionalities should be used when your agent does not have a correct or confident model of the world, and you want the agent to *learn* its model over time.\\n\",\n    \"\\n\",\n    \"As an example, we will do the following two variants in this section:\\n\",\n    \"\\n\",\n    \"**1** We initialize the agent to have partially-uncertain beliefs about the A and B parameters, but the mode of their beliefs (i.e. the value with the highest probability) is still based on the true generative process.\\n\",\n    \"\\n\",\n    \"**2** We will equip the agent with incorrect beliefs about the generative process.\\n\",\n    \"\\n\",\n    \"### Correct Prior Structure\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:13.114299Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:13.114183Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:13.165763Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:13.165478Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# setting the parameters for the environment\\n\",\n    \"reward_condition = 0 # 0 is reward in left arm, 1 is reward in right arm, None is random allocation\\n\",\n    \"reward_probability = 1.0 # 100% chance of reward in the correct arm\\n\",\n    \"punishment_probability = 1.0 # 100% chance of punishment in the other arm\\n\",\n    \"cue_validity = 1.0 # 100% valid cues\\n\",\n    \"dependent_outcomes = False\\n\",\n    \"\\n\",\n    \"# initialising the environment. see tmaze.py in pymdp/envs for the implementation details.\\n\",\n    \"env = TMaze( \\n\",\n    \"    reward_probability=reward_probability,     \\n\",\n    \"    punishment_probability=punishment_probability, \\n\",\n    \"    cue_validity=cue_validity,          \\n\",\n    \"    reward_condition=reward_condition, \\n\",\n    \"    dependent_outcomes=dependent_outcomes\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### We can encode uncertainty in the agent's prior knowledge about the state-outcome contingencies by adding non-zero parameter values to the `pA` tensor (the prior Dirichlet parameters **over** the Categorical parameters of the A tensor). In practice, we still put 'true knowledge' into this prior, in the sense that the mode of the likelihood distribution aligned with the true generative process parameters, but we add some uncertainty by adding non-zero values into the parts of the Dirichlet prior tensor where they don't exist in the true generative process parameters; this encodes the agent's uncertainty about whether certain relationships between hidden states (e.g., location states or reward-condition states) and outcomes (cue signals or reward outcomes) exist.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:13.167263Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:13.167167Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:13.735458Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:13.735184Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61033/1366977802.py:37: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agent = Agent(\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"#  initializing the prior over the A tensors (pA) based on the environment parameters\\n\",\n    \"num_obs = [a.shape[0] for a in env.A]  # number of observations for each modality\\n\",\n    \"num_states = [b.shape[0] for b in env.B]  # number of states for each factor\\n\",\n    \"\\n\",\n    \"# initializing pA, pB to be identical to the environmental parameters\\n\",\n    \"pA, pB = [jnp.copy(a) for a in env.A], [jnp.copy(b) for b in env.B] # have to copy them here because we will be modifying pA below\\n\",\n    \"\\n\",\n    \"# adding non-zero Dirichlet parameter values to pA flatten the expected value of the A tensor (make more uncertain) \\n\",\n    \"alpha_scale_pA = 0.3 \\n\",\n    \"for m in [1, 2]:  # only modifying the outcome (m=1) and cue (m=2) observation likelihood mappings\\n\",\n    \"    pA[m] = pA[m] + (alpha_scale_pA * jnp.ones_like(pA[m]))\\n\",\n    \"\\n\",\n    \"expected_A = [dirichlet_expected_value(pa_m, event_dim=0) for pa_m in pA]# compute the expected value of the Dirichlet parameters in pA \\n\",\n    \"expected_B = [dirichlet_expected_value(pb_f, event_dim=0) for pb_f in pB]# compute the expected value of the Dirichlet parameters in pB \\n\",\n    \"\\n\",\n    \"# creating C tensors filled with zeros for [location], [reward], [cue] based on modality shapes\\n\",\n    \"C = [jnp.zeros(no, dtype=jnp.float32) for no in num_obs] \\n\",\n    \"# setting preferences for outcomes only\\n\",\n    \"C[1] = C[1].at[1].set(2.0)    # prefer reward\\n\",\n    \"C[1] = C[1].at[2].set(-3.0)   # avoid punishment\\n\",\n    \"\\n\",\n    \"# creating D tensors [location], [reward] based on B shapes\\n\",\n    \"D = [jnp.zeros(ns, dtype=jnp.float32) for ns in num_states]  # creating D tensors filled with zeros for [location], [reward] based on B shapes\\n\",\n    \"# D[0]: location - all zeros except location 0 (centre) because the agent always starts in the centre\\n\",\n    \"D_loc = jnp.zeros(num_states[0], dtype=jnp.float32) \\n\",\n    \"D_loc = D_loc.at[0].set(1.0)  # set centre location to 1.0\\n\",\n    \"D[0] = D_loc\\n\",\n    \"\\n\",\n    \"# D[1]: reward location - uniform distribution\\n\",\n    \"D_reward = jnp.ones(num_states[1], dtype=jnp.float32) \\n\",\n    \"D_reward = D_reward / jnp.sum(D_reward, axis=0, keepdims=True)  # normalise to get uniform distribution\\n\",\n    \"D[1] = D_reward\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# initialising the agent\\n\",\n    \"# NOTE: We initialize the first value of A and B based on the expected values of the Dirichlet parameters in pA and pB, respectively.\\n\",\n    \"agent = Agent(\\n\",\n    \"    expected_A, expected_B, C, D, \\n\",\n    \"    pA=pA,\\n\",\n    \"    pB=pB, \\n\",\n    \"    policy_len=5, # how long the action sequence is that the agent is evaluating\\n\",\n    \"    A_dependencies=env.A_dependencies, \\n\",\n    \"    B_dependencies=env.B_dependencies,\\n\",\n    \"    learn_A=True,\\n\",\n    \"    learn_B=False,\\n\",\n    \"    gamma=1.0,\\n\",\n    \"    action_selection=\\\"stochastic\\\"\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:13.736663Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:13.736571Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:14.973093Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:14.972575Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"key = jr.PRNGKey(0) # random key for the aif loop\\n\",\n    \"T = 10 # number of timesteps to rollout the aif loop for\\n\",\n    \"_, info = rollout(agent, env, num_timesteps=T, rng_key=key) # running the aif loop\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can print out the A tensors over time to see how the agent updates its beliefs about the state-outocome contingencies based on the data its collecting through active inference.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:14.974645Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:14.974520Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:15.009425Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:15.009143Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"the environment's A tensor\\n\",\n      \"[[1. 0. 0. 1. 1.]\\n\",\n      \" [0. 0. 1. 0. 0.]\\n\",\n      \" [0. 1. 0. 0. 0.]]\\n\",\n      \"\\n\",\n      \"the agent's A tensor at t=0\\n\",\n      \"[[0.68421054 0.15789475 0.15789476 0.68421054 0.68421054]\\n\",\n      \" [0.15789476 0.15789475 0.68421054 0.15789476 0.15789476]\\n\",\n      \" [0.15789476 0.68421054 0.15789476 0.15789476 0.15789476]]\\n\",\n      \"\\n\",\n      \"the agent's A tensor at t=10\\n\",\n      \"[[0.86867255 0.15789475 0.15789476 0.72054607 0.6926888 ]\\n\",\n      \" [0.06566371 0.15789475 0.68421054 0.13972697 0.15365562]\\n\",\n      \" [0.06566371 0.68421054 0.15789476 0.13972697 0.15365562]]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print(\\\"the environment's A tensor\\\")\\n\",\n    \"print(env.A[1][:,:,1])\\n\",\n    \"print()\\n\",\n    \"print(\\\"the agent's A tensor at t=0\\\")\\n\",\n    \"print(agent.A[1][0][:,:,1])\\n\",\n    \"print()\\n\",\n    \"print(f\\\"the agent's A tensor at t={T}\\\")\\n\",\n    \"print(info[\\\"A\\\"][1][0,-1,:,:,1])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:15.010576Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:15.010492Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:16.051568Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:16.051201Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table class=\\\"show_videos\\\" style=\\\"border-spacing:0px;\\\"><tr><td style=\\\"padding:1px;\\\"><video controls width=\\\"600\\\" height=\\\"600\\\" style=\\\"object-fit:cover;\\\" loop autoplay muted>\\n\",\n       \"      <source src=\\\"data:video/mp4;base64,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\\\" type=\\\"video/mp4\\\"/>\\n\",\n       \"      This browser does not support the video tag.\\n\",\n       \"      </video></td></tr></table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"frames = []\\n\",\n    \"for t in range(info[\\\"observation\\\"][0].shape[1]):  # iterate over timesteps\\n\",\n    \"    # get observations for this timestep\\n\",\n    \"    observations_t = [\\n\",\n    \"        info[\\\"observation\\\"][0][:, t, :],\\n\",\n    \"        info[\\\"observation\\\"][1][:, t, :],  \\n\",\n    \"        info[\\\"observation\\\"][2][:, t, :]   \\n\",\n    \"    ]\\n\",\n    \"       \\n\",\n    \"    frame = env.render(mode=\\\"rgb_array\\\", observations=observations_t) # render the environment using the observations for this timestep\\n\",\n    \"    frame = np.asarray(frame, dtype=np.uint8)\\n\",\n    \"    plt.close()  # close the figure to prevent memory leak\\n\",\n    \"    frames.append(frame)\\n\",\n    \"\\n\",\n    \"frames = np.array(frames, dtype=np.uint8)\\n\",\n    \"mediapy.show_video(frames, fps=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:16.053250Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:16.053154Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:18.010715Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:18.010367Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61033/3157206125.py:16: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agent = Agent(\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Random initialization test\\n\",\n    \"key = jr.PRNGKey(24)\\n\",\n    \"\\n\",\n    \"# setting A tensors from the environment parameters, but randomize the prior over the transitions\\n\",\n    \"pA, pB = [jnp.copy(a) for a in env.A], [jr.uniform(subkey, shape=b.shape) for subkey, b in zip(jr.split(key, num=2), env.B)]\\n\",\n    \"\\n\",\n    \"# adding noise to outcome and cue modalities to make priors more uncertain\\n\",\n    \"key1, key2 = jr.split(key, num=2)\\n\",\n    \"for(key_m, modality) in zip([key1, key2], [1, 2]):  # only modifying the outcome (m=1) and cue (m=2) observation likelihood mappings\\n\",\n    \"    pA[modality] = jr.uniform(key_m, shape=pA[modality].shape) # generating random values between 0 and 1\\n\",\n    \"\\n\",\n    \"expected_A = [dirichlet_expected_value(pa_m, event_dim=0) for pa_m in pA] # compute the expected value of the Dirichlet parameters in pA\\n\",\n    \"expected_B = [dirichlet_expected_value(pb_f, event_dim=0) for pb_f in pB]# compute the expected value of the Dirichlet parameters in pB\\n\",\n    \"\\n\",\n    \"# initialising the agent\\n\",\n    \"agent = Agent(\\n\",\n    \"    expected_A, expected_B, C, D, \\n\",\n    \"    pA=pA,\\n\",\n    \"    pB=pB, \\n\",\n    \"    policy_len=5, # how long the action sequence is that the agent is evaluating\\n\",\n    \"    A_dependencies=env.A_dependencies, \\n\",\n    \"    B_dependencies=env.B_dependencies,\\n\",\n    \"    batch_size=batch_size, \\n\",\n    \"    learn_A=True,\\n\",\n    \"    learn_B=True,\\n\",\n    \"    gamma=0.1,\\n\",\n    \"    action_selection=\\\"stochastic\\\"\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"# running the active inference simulation\\n\",\n    \"key = jr.PRNGKey(0) # random key for the aif loop\\n\",\n    \"T = 50 # number of timesteps to rollout the aif loop for\\n\",\n    \"_, info = rollout(agent, env, num_timesteps=T, rng_key=key) # running the aif loop\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:18.012533Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:18.012394Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:18.062683Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:18.062343Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"the environment's A tensor\\n\",\n      \"[[1. 0. 0. 1. 1.]\\n\",\n      \" [0. 0. 1. 0. 0.]\\n\",\n      \" [0. 1. 0. 0. 0.]]\\n\",\n      \"\\n\",\n      \"the agent's A tensor at t=0\\n\",\n      \"[[0.00308274 0.07115752 0.55618274 0.42624453 0.36277273]\\n\",\n      \" [0.02319651 0.4746476  0.31333998 0.5615474  0.43671665]\\n\",\n      \" [0.9737207  0.45419487 0.13047728 0.01220808 0.20051058]]\\n\",\n      \"\\n\",\n      \"the agent's A tensor at t=50\\n\",\n      \"[[0.01081832 0.06939295 0.55391985 0.4478869  0.3744181 ]\\n\",\n      \" [0.02301651 0.48767537 0.31206512 0.5403655  0.4287357 ]\\n\",\n      \" [0.9661652  0.4429317  0.134015   0.01174758 0.19684626]]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print(\\\"the environment's A tensor\\\")\\n\",\n    \"print(env.A[1][:,:,1])\\n\",\n    \"print()\\n\",\n    \"print(\\\"the agent's A tensor at t=0\\\")\\n\",\n    \"print(agent.A[1][0][:,:,1])\\n\",\n    \"print()\\n\",\n    \"print(f\\\"the agent's A tensor at t={T}\\\")\\n\",\n    \"print(info[\\\"A\\\"][1][0,-1,:,:,1])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:18.063914Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:18.063837Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:18.194246Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:18.193802Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"the environment's B tensor\\n\",\n      \"[[1. 0.]\\n\",\n      \" [0. 1.]]\\n\",\n      \"\\n\",\n      \"the agent's B tensor at t=0\\n\",\n      \"[[0.8990159  0.44466075]\\n\",\n      \" [0.10098408 0.5553392 ]]\\n\",\n      \"\\n\",\n      \"the agent's B tensor at t=50\\n\",\n      \"[[0.9954207  0.6131649 ]\\n\",\n      \" [0.0045793  0.38683507]]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print(\\\"the environment's B tensor\\\")\\n\",\n    \"print(env.B[1][:,:,1])\\n\",\n    \"print()\\n\",\n    \"print(\\\"the agent's B tensor at t=0\\\")\\n\",\n    \"print(agent.B[1][0][:,:,1])\\n\",\n    \"print()\\n\",\n    \"print(f\\\"the agent's B tensor at t={T}\\\")\\n\",\n    \"print(info[\\\"B\\\"][1][0,-1,:,:,1])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:18.195581Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:18.195478Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:40.817883Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:40.816585Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table class=\\\"show_videos\\\" style=\\\"border-spacing:0px;\\\"><tr><td style=\\\"padding:1px;\\\"><video controls width=\\\"600\\\" height=\\\"600\\\" style=\\\"object-fit:cover;\\\" loop autoplay muted>\\n\",\n       \"      <source src=\\\"data:video/mp4;base64,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\\\" type=\\\"video/mp4\\\"/>\\n\",\n       \"      This browser does not support the video tag.\\n\",\n       \"      </video></td></tr></table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"frames = []\\n\",\n    \"for t in range(info[\\\"observation\\\"][0].shape[1]):  # iterate over timesteps\\n\",\n    \"    # get observations for this timestep\\n\",\n    \"    observations_t = [\\n\",\n    \"        info[\\\"observation\\\"][0][:, t, :],\\n\",\n    \"        info[\\\"observation\\\"][1][:, t, :],  \\n\",\n    \"        info[\\\"observation\\\"][2][:, t, :]   \\n\",\n    \"    ]\\n\",\n    \"       \\n\",\n    \"    frame = env.render(mode=\\\"rgb_array\\\", observations=observations_t) # render the environment using the observations for this timestep\\n\",\n    \"    frame = np.asarray(frame, dtype=np.uint8)\\n\",\n    \"    plt.close()  # close the figure to prevent memory leak\\n\",\n    \"    frames.append(frame)\\n\",\n    \"\\n\",\n    \"frames = np.array(frames, dtype=np.uint8)\\n\",\n    \"mediapy.show_video(frames, fps=1)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.11.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/experimental/sophisticated_inference/mcts_generalized_tmaze.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Sophisticated inference with Monte Carlo Tree Search\\n\",\n    \"\\n\",\n    \"This notebook demonstrates how you can implement Sophisticated inference with a Monte Carlo tree search algorithm, to mitigate the combinatorial explosion of exploring all branches. \\n\",\n    \"\\n\",\n    \"### Sophisticated inference\\n\",\n    \"\\n\",\n    \"In sophisticated inference the choice probability is computed in an iteartive way, using the following recursive relation for expected free energy \\n\",\n    \"\\n\",\n    \"\\\\begin{equation}\\n\",\n    \"\\\\begin{split}\\n\",\n    \"    G(u_\\\\tau| o_{\\\\leq\\\\tau}, u_{<\\\\tau}) &= - \\\\ln p(u_{\\\\tau}|u_{<\\\\tau}) + E_{Q(o_{\\\\tau+1}, s_{\\\\tau+1}|u_{\\\\leq\\\\tau}. o_{<\\\\tau})} \\\\left[ \\\\ln \\\\frac{Q(s_{\\\\tau+1}|u_{\\\\leq\\\\tau}, o_{<\\\\tau})}{P(o_{\\\\tau+1}, s_{\\\\tau+1})} \\\\right] \\\\\\\\ \\n\",\n    \"    &\\\\:\\\\:\\\\: + E_{Q(o_{\\\\tau+1}|u_{\\\\leq\\\\tau}, o_{\\\\leq\\\\tau}) Q(u_{\\\\tau+1}|u_{< \\\\tau + 1}, o_{\\\\leq\\\\tau+1})}\\\\left[G(u_{\\\\tau + 1}|o_{\\\\leq \\\\tau+1}, u_{<\\\\tau+1} ) \\\\right]\\\\\\\\ \\n\",\n    \"    Q(u_{\\\\tau}|o_{\\\\leq\\\\tau}, u_{<\\\\tau}) &= \\\\text{softmax}(- G(u_{\\\\tau}|o_{\\\\leq\\\\tau}, u_{<\\\\tau})) \\\\\\\\ \\n\",\n    \"    G(u_T|o_{\\\\leq T}, u_{< T}) &= - \\\\ln p(u_{T}|u_{< T}) + E_{Q(o_{T+1}, s_{T+1}|u_{\\\\leq T}, o_{< T})} \\\\left[ \\\\ln \\\\frac{Q(s_{T+1}|u_{\\\\leq T}, o_{< T})}{P(o_{T + 1}, s_{T + 1})} \\\\right]\\n\",\n    \"\\\\end{split}\\n\",\n    \"\\\\end{equation}\\n\",\n    \"\\n\",\n    \"where we use subscript $<k+1$, and $\\\\leq k$ to denote a sequence of values including the step $k$.\\n\",\n    \"\\n\",\n    \"Next we will establish an equivalence between the Bellman equation used in reinforcement learning literature and the recursive form of the expected free energy shown above. The Bellman equation can be expressed as  \\n\",\n    \"\\\\begin{equation}\\n\",\n    \"  V(s) = \\\\text{max}_{a \\\\in A(s)} \\\\left[F(s, a) + \\\\beta E_{p(s^\\\\prime|s, a)}[V(s^\\\\prime)] \\\\right] \\\\equiv \\\\text{max}_{a \\\\in A(s)} Q(a, s)\\n\",\n    \"\\\\end{equation}\\n\",\n    \"where $A(s)$ denotes a set of viable actions in state $s$. Hence, we can map local expected free energy, to Q-values as follows\\n\",\n    \"\\\\begin{equation}\\n\",\n    \"  \\\\begin{split}\\n\",\n    \"    F(u_{\\\\tau}, o_{\\\\tau}) &= \\\\ln p(u_{\\\\tau}|u_{<\\\\tau}) - E_{Q(o_{\\\\tau+1}, s_{\\\\tau+1}|u_{\\\\leq\\\\tau}. o_{<\\\\tau})} \\\\left[ \\\\ln \\\\frac{Q(s_{\\\\tau+1}|u_{\\\\leq\\\\tau}, o_{<\\\\tau})}{P(o_{\\\\tau+1}, s_{\\\\tau+1})} \\\\right] \\\\\\\\ \\n\",\n    \"    \\\\beta(o_{\\\\tau +1}) &= Q (o_{\\\\tau+1}|u_{\\\\leq\\\\tau}, o_{\\\\leq\\\\tau}) \\\\\\\\\\n\",\n    \"    Q(u_{\\\\tau}, o_{\\\\tau}) &= F(u_{\\\\tau}, o_{\\\\tau}) + \\\\sum_{o_{\\\\tau+1}} \\\\beta(o_{\\\\tau+1}) V(o_{\\\\tau+1}) \\\\\\\\\\n\",\n    \"    p(u_{\\\\tau}|o_{\\\\tau}) &= \\\\text{softmax}(\\\\gamma Q(u_{\\\\tau}, o_{\\\\tau}) ) \\\\\\\\\\n\",\n    \"    V(o_{\\\\tau}) &= \\\\sum_{u_\\\\tau} p(u_{\\\\tau}|o_{\\\\tau}) Q(u_{\\\\tau}, o_{\\\\tau})\\n\",\n    \"  \\\\end{split}\\n\",\n    \"\\\\end{equation}\\n\",\n    \"\\n\",\n    \"where we have replaced the 'max' operationa with a softmax parameterised with $\\\\gamma$, and introduced a state dependent discount factor $\\\\beta(o)$. Note that in sophisticated inference, as we describe a partially observable markov decision process (POMDP), one treats outcomes $o_t$ as states.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Monte-Carlo Tree Search\\n\",\n    \"\\n\",\n    \"Tree search is a method for exploring a space of sequential decisions, where nodes represent states or histories (e.g., observations and actions), and edges represent possible actions. Monte Carlo Tree Search (MCTS) is a popular tree search algorithm that builds the tree incrementally using random simulations. It involves four steps: selecting a node to expand using a policy like UCB, expanding the node by adding new children, simulating outcomes via rollouts from the new node, and backpropagating the results to update value estimates and visit counts.\\n\",\n    \"\\n\",\n    \"To estimate the choice probability $p(u_t | o_{\\\\leq t}, u_{<t})$, MCTS is run from a root node representing the current history of outcomes and actions. During the search, possible actions $u_t$ are explored, and the number of visits to each action is tracked. After many simulations, the estimated probability of choosing action $u_t$ is given by the normalized visit count:\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \"p(u_t | o_{\\\\leq t}, u_{<t}) \\\\approx \\\\frac{N(u_t)}{\\\\sum_{u'_t} N(u'_t)}.\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"This provides a sample-based approximation of the decision policy based on simulated future outcomes.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Discounting and sampling outcomes \\n\",\n    \"\\n\",\n    \"In a scenario where we have multi-modal outcomes, such that the likelihood probability is expressed as\\n\",\n    \"\\n\",\n    \"$$ p(o_\\\\tau|s_\\\\tau) = \\\\prod_m p(o_\\\\tau^m|s_\\\\tau), $$\\n\",\n    \"\\n\",\n    \"the marginal probability over latent states $s_{tau}$ obtained as \\n\",\n    \"\\n\",\n    \"$$ p(o_\\\\tau|u_{\\\\tau-1}) = \\\\sum_{s_\\\\tau} \\\\prod_m p(o_\\\\tau^m|s_\\\\tau) Q(s_{\\\\tau}|u_{\\\\tau-1})$$\\n\",\n    \"\\n\",\n    \"will in general not be factorized over outcome modalities. Hence, to generate samples from this marginal, and consequently compute discount factor for the corresponding sample, one would have to deal with joint distributions over categoricals, which are memory intensive. Instead, here we will define an iterative sampling algorithm. Starting with a sample from the first modality $m=1$ \\n\",\n    \"\\n\",\n    \"\\\\begin{equation}\\n\",\n    \"o^{\\\\prime 1}_\\\\tau \\\\sim p(o_\\\\tau^1|u_{\\\\tau-1})\\n\",\n    \"\\\\end{equation}\\n\",\n    \"\\n\",\n    \"we can compute the conditional probability of the next modality $m=2$ and generate a sample as  \\n\",\n    \"\\n\",\n    \"\\\\begin{equation}\\n\",\n    \"\\\\begin{split}\\n\",\n    \"     p(o_\\\\tau^2|o_\\\\tau^1=o^{\\\\prime 1}_\\\\tau, u_{\\\\tau-1}) &= \\\\sum_{s_\\\\tau} p(o_\\\\tau^m|s_\\\\tau) w(o^{\\\\prime 1}_\\\\tau, s_{\\\\tau}) Q(s_{\\\\tau}|u_{\\\\tau-1}) \\\\\\\\\\n\",\n    \"     w(o^{\\\\prime 1}_\\\\tau, s_{\\\\tau}) &= \\\\frac{p(o_\\\\tau^1=o^{\\\\prime 1}_\\\\tau|s_\\\\tau)}{p(o_\\\\tau^1=o^{\\\\prime 1}_\\\\tau|u_{\\\\tau-1})} \\\\\\\\\\n\",\n    \"    o^{\\\\prime 2}_\\\\tau &\\\\sim p(o_\\\\tau^2|o_\\\\tau^1=o^{\\\\prime 1}_\\\\tau, u_{\\\\tau-1})\\n\",\n    \"\\\\end{split}\\n\",\n    \"\\\\end{equation}\\n\",\n    \"\\n\",\n    \"Hence, for the $m$th modality we can compute the conditional marginal, and generate a sample using the following relation\\n\",\n    \"\\n\",\n    \"\\\\begin{equation}\\n\",\n    \"\\\\begin{split}\\n\",\n    \"     p(o_\\\\tau^m|o_\\\\tau^1=o^{\\\\prime 1}_\\\\tau, \\\\ldots, o_\\\\tau^{m-1}=o^{\\\\prime m-1}_\\\\tau, u_{\\\\tau-1}) &= \\\\sum_{s_\\\\tau} p(o_\\\\tau^m|s_\\\\tau) w(o^{\\\\prime 1}_\\\\tau, \\\\ldots, o^{\\\\prime m-1}_\\\\tau, s_{\\\\tau}) Q(s_{\\\\tau}|u_{\\\\tau-1}) \\\\\\\\\\n\",\n    \"     w(o^{\\\\prime 1}_\\\\tau, \\\\ldots, o^{\\\\prime m-1}_\\\\tau, s_{\\\\tau}) &= \\\\frac{p(o_\\\\tau^{m-1}=o^{\\\\prime m-1}_\\\\tau|s_\\\\tau)}{p(o_\\\\tau^{\\\\prime m-1}|o_\\\\tau^1=o^{\\\\prime 1}_\\\\tau, \\\\ldots, o_\\\\tau^{m-2}=o^{\\\\prime m-2}_\\\\tau, u_{\\\\tau-1})} w(o^{\\\\prime 1}_\\\\tau, \\\\ldots, o^{\\\\prime m-2}_\\\\tau, s_{\\\\tau}) \\\\\\\\\\n\",\n    \"    o^{\\\\prime m}_\\\\tau &\\\\sim p(o_\\\\tau^m|o_\\\\tau^1=o^{\\\\prime 1}_\\\\tau, \\\\ldots, o_\\\\tau^{m-1}=o^{\\\\prime m-1}_\\\\tau, u_{\\\\tau-1})\\n\",\n    \"\\\\end{split}\\n\",\n    \"\\\\end{equation}\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"%load_ext autoreload\\n\",\n    \"%autoreload 2\\n\",\n    \"\\n\",\n    \"import numpy as np \\n\",\n    \"import jax.numpy as jnp\\n\",\n    \"import jax.tree_util as jtu\\n\",\n    \"import mctx\\n\",\n    \"from jax import random as jr\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"from pymdp.envs.generalized_tmaze import (\\n\",\n    \"    GeneralizedTMazeEnv, parse_maze, get_maze_matrix \\n\",\n    \")\\n\",\n    \"from pymdp.envs.rollout import rollout\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp.planning.mcts import mcts_policy_search\\n\",\n    \"from pymdp.utils import list_array_zeros, list_array_uniform\\n\",\n    \"\\n\",\n    \"from copy import copy\\n\",\n    \"\\n\",\n    \"key = jr.PRNGKey(0)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# make animation\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import matplotlib.animation as animation\\n\",\n    \"from IPython.display import HTML\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def animate(images, savefile=None, interval=1000):\\n\",\n    \"    # Make a bigger figure (pick whatever looks good)\\n\",\n    \"    fig = plt.figure(figsize=(6, 6), dpi=150)\\n\",\n    \"\\n\",\n    \"    # Axes that fills the entire figure\\n\",\n    \"    ax = fig.add_axes([0, 0, 1, 1])\\n\",\n    \"    ax.set_axis_off()\\n\",\n    \"\\n\",\n    \"    im = ax.imshow(images[0], animated=True)\\n\",\n    \"\\n\",\n    \"    def update(k):\\n\",\n    \"        im.set_data(images[k])\\n\",\n    \"        return (im,)\\n\",\n    \"\\n\",\n    \"    ani = animation.FuncAnimation(\\n\",\n    \"        fig, update, frames=len(images), interval=interval, blit=True, repeat_delay=1000\\n\",\n    \"    )\\n\",\n    \"\\n\",\n    \"    if savefile is not None:\\n\",\n    \"        ani.save(savefile)\\n\",\n    \"\\n\",\n    \"    plt.close(fig)\\n\",\n    \"    return ani\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Grid world (generalized TMaze) generative process\\n\",\n    \"\\n\",\n    \"In this example we create a simple square environment, where multiple cues are present, and multiple reward pairs. Each cue indicates the location of one of the reward pairs. \\n\",\n    \"\\n\",\n    \"The agent is can move in the grid world using actions up, down, left and right, and observes the current tile it is at. \\n\",\n    \"\\n\",\n    \"The grid world is specified by a matrix using the following labels: \\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"0: Empty space\\n\",\n    \"1: The initial position of the agent\\n\",\n    \"2: Walls\\n\",\n    \"3 + i: Cue for reward i\\n\",\n    \"4 + i: Potential reward location i 1\\n\",\n    \"4 + i: Potential reward location i 2\\n\",\n    \"```\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<Figure size 640x480 with 0 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAxoAAALVCAYAAABHiZeHAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAclNJREFUeJzt3Qd4XMX59uFHvRfLvci944IBQ0w1YDDNHyZACIHQSegYkn8CKUASwAQCAULooTcTIEAMmNBsQnM3uONuGcvdVrW6vusdsYokS7LKqK1+d6695N1z9uzsrkTOc2bemZDS0tJSAQAAAIBHoT4PBgAAAACGoAEAAADAO4IGAAAAAO8IGgAAAAC8I2gAAAAA8I6gAQAAAMA7ggYAAAAA7wgaAAAAALwjaAAAAADwjqABoN277bbbFBISUumxvn376qKLLmrWdjzzzDOuHevXr2/W10Xd8P0AQP0QNABUa926dbrmmms0ePBgxcbGutvw4cN19dVX65tvvmnp5rVLdoJrJ7p1udV0MmwByrZPmDCh2u1PPPFE+THmzZuntvYZ3HXXXS3dxHblpZde0v3339/SzQDQSoW3dAMAtD7Tp0/XOeeco/DwcJ133nkaPXq0QkNDtWLFCr3xxht65JFHXBDp06ePgtXKlSvde25NOnfurOeff77SY/fee682bdqkv/71r/vsW5Po6Gh98skn2rJli7p161Zp24svvui25+XlqTU799xzdcopp+zz+JgxY5rsNX/605/qxz/+saKioprsNdpi0FiyZImmTJnS0k0B0AoRNABUsmbNGncyZSHio48+Uvfu3Stt//Of/6yHH3641Z2EV5STk6O4uLhGHaM1nkzaezr//PMrPfbKK69o9+7d+zxemyOOOEJz587VtGnTdP3115c/boHlv//9r8444wy9/vrras0OOuiger1nH8LCwtytNqWlpS6kxcTENFu7AKC1ar1nCgBaxN133+1O1J9++ul9QoaxXo7rrrtOqamplR633o6zzjpLKSkp7or4IYccorfffrvaMe6ff/65brzxRnfV3U6e7cR2+/bt+7zWe++9p6OOOsrtk5CQoFNPPVVLly6ttI/VUcTHx7uAZFe4bT/rhTF20nz22Werd+/eLjhYm2+44Qbt3bt3v59D1RqNug5TqsvnYOx9HHfcce6EtFevXrr99ttVUlKi5mDt+uEPf+iuRlf08ssvq0OHDpo4ceI+z7HhcvZ59O/f3z3fekIuueQS7dy5s87DmiqaPXu2TjrpJCUlJblhecccc4z7vfDJvsPTTjtNn332mQ499FDXbmv/c889V76PDQ+ztj377LP7PP/9999326yHr6YajcBr2L72Xdv3+dhjj7lta9eudb9/9rtg7/EHP/iB3nnnnUqvMXPmTHfMV199VXfccYf7XbB2Hn/88Vq9enWlfcePH68RI0a478I+LzvmwIED9dprr7nts2bN0mGHHebaMGTIEH344Yf7vKfvvvvOfW9du3Z1fxMHHHCAnnrqqQa1ydpj72fDhg3l37F9HgAQQI8GgErspMpOXuyEpa7spNmukvfs2VM33XSTCwZ2kjJ58mR3ZdyCREXXXnutO6G99dZb3UmbjfG2ehC7wh5gQ4QuvPBCd9JrvSi5ubluyNaRRx6phQsXVjqhKSoqcvvZtr/85S/uBMz885//dM+78sor1bFjR82ZM0d/+9vf3JV721YfVYcsmd/97nfatm2bCzr1+RxsyNKxxx7r2h3Y7/HHH2/Wq+A/+clPdOKJJ7qANmDAAPeYBQ8LSREREfvs/8EHH7gT54svvtiFDHuv1mb7+dVXX7mTzOqGdhUWFrpwFxkZWf7Yxx9/rJNPPlkHH3yw+x2w3jELtha8LBxaKNgf+1537Nixz+PJyckuDAfYibG9p0svvdT9PtlJtQUme207ybZwYOHDvifbXpH9PtYUvKoOs7OhXD//+c91+eWXu5P8rVu36vDDD3fttGBuv38WZv7f//t/LhhU/Zuw2hL7HH75y18qIyPDBX4LzBbIKrLeKws21utoIcb+JuzfNuTNhi9dccUV7ru955573PtOS0tz4dtYmyzs2Hdlf2/2fVmYt88mMzNzn+FP+2vTb3/7W/d4xaF7gb8FAHBKAeB7GRkZpfafhcmTJ++zbffu3aXbt28vv+Xm5pZvO/7440tHjhxZmpeXV/5YSUlJ6eGHH146aNCg8seefvppd/wJEya47QE33HBDaVhYWOmePXvc/aysrNLk5OTSyy+/vFIbtmzZUpqUlFTp8QsvvNAd86abbtqnzRXbGDB16tTSkJCQ0g0bNpQ/duutt7pjVNSnTx937Jrcfffd7jnPPfdcvT+HKVOmuOfOnj27/LFt27a592aPr1u3rrSuTj31VNfWurJ97TlFRUWl3bp1K/3Tn/7kHl+2bJl77VmzZpV/T3Pnzq31s3z55Zfdfp9++mmNr3fVVVe57/bjjz8u/zzss5g4cWKl3wE7fr9+/UpPOOGEWttvn429Zk23L7/8stJ7rdo++5yjoqJKf/GLX5Q/dvPNN5dGRESU7tq1q/yx/Px89zt4ySWXlD8W+Fwqfj+B15gxY0aldga+4//+97/lj9nvtb3Hvn37lhYXF7vHPvnkE7ffsGHD3GsGPPDAA+7xxYsXlz92zDHHuMdeeuml8sdWrFjhHgsNDS396quvyh9///333ePW5oBLL720tHv37qU7duyo1NYf//jH7ncv8B3Xp031/f0D0L4wdApAObuqWdNVSRsmYVdAA7e///3v7vFdu3a5K9Q/+tGPlJWV5a4y282G1NiV4FWrVrnhGhX97Gc/qzSUxoZHFRcXuyEYgavne/bscVeJA8ezm42Pt54WK2SuynotqqrYQ2DDwewYdpXZxtFbr0hD2evffPPNrmfGCoTr+zm8++677spyxSv39pkGhnw1B/ssra02XMrYFXEbWmbfRXUqfpZWg2Dvzd6DWbBgQbXPsSFKVs9jV8KtB8csWrTIfRZ21d0+m8DnZN+PDc359NNP6zSEzH6H7Pek6s1mRqvI7ld8T/Y5W4+D9c4E2MQH1vNiEx0E/Oc//3G/g7Ztf/r167dPr4d9x/b9Wi9bgP1dWbutF2/ZsmWV9reeooq9PoE2V2xn4BjWgxFg78V6cYYNG1apFzLw78Dz7XfeetUmTZrk/l3x78rabj0TVb/HurYJAGrC0CkA5QJDLLKzs/fZZuPO7QTahl9ULMK1oSl24vL73//e3apjw4tsOFGA1UxUZMNTAsNCjJ2IGhtKU53ExMRK922ojI0jr2rjxo265ZZbXI1E4NgBdmLVEDZMxE4+bYjUfffd16DPwQJVdUPT7KTRB3tvFetQ7GTR6gSqspP9Bx98UF9//bUbNmUnsFVrKQIsSP3hD39wxef2Pqq+XlUWKGwYj4VFq8cJCHy3VYcpVT1e4HeiJoMGDapxit6Kqv6uGTt2xd8Hm1Vt6NChbqiUDSMy9u9OnTrV+DtYNWhUVdN3bIEgsN3qLer6NxFgv+dVvyOrc6laM2WPVXy+1UBZcLLhbnarTtXvta5tAoCaEDQAVDo5sQJwm66yqsBJU9X1GQJXn20cd01j2a3mo6KaZu6xE/WKx7Tx/lWnXzUVx+AbK2qtOguW9ZCccMIJ7gT517/+tTuRtFoI61WwMfoNKbwuKChw497t9WxMf8V2NORzaCo2k1TF4mYrHLYC3+q+U6vPsLH5Nl2xBY+aWO/HF198of/7v//TgQce6K6s23u2gu6qn6WdiJ555pluDZYnn3yy0rbAvlZDYMepjs9x/vv7XQuw8GiFz3aF3wK3hVMLSVV/16rjo7amru2sab+6/k3ZRYKaQt6oUaMa1CYAqAlBA0AlNrOTnRxa4XRdinKtkNZYAXFdrjDXRaA4uUuXLg0+5uLFi/Xtt9+6E+4LLrig/HEbXtNQVtRrV+pteI/N2tPQz8GmDg5c2a9aVOzDr371q0q9TrX1DtjJtM14ZVfaazrxt+BgUx1bj4b1EAVU9x7shNaGgNnVc5v1KFCYX/W7tV4pX78vPljQsPdnw4vsu7VhhBWHKNWXfcfVfZ82K1lge3OyIWMWoCyA+/zca+oBAwBDjQaAfU5S7eTQpsC0YVL7u5ppYcDqN2xoVXp6+j77Vzdt7f5Yj4CdiN55551u7HxDjhm4GluxvfbvBx54QA1hsyLZe7TalOoCWH0+B5uG12ZqsjBXcbvVSfhgdQl2Mhm42QxLNbnsssvczE+28F99PktT3YrQdrJuU71a7Ud1Q4qsLRY2bHaw6oboNeT3xQcLWiNHjnRDpuxmPXtHH310g49n37F9v19++WX5Y1aHYsOWbMa0qrUkTc2+Q+tlsiBVXY9lQz936yVs6DBEAMGPHg0A+4x9t/H6dqXbagYCK4PbSaYNr7FtNkypYk2EnXxb0audqNn0nnZ130KKnWRZTYPVANSHhQybttMKrW1hNruybFdkrebC5u23+oiHHnqo1mPYUCk7obWhTDZcyo5pJ1kNGV9uw2muuuoqd3Jow6ZeeOGFStttqlI74arr52BhzoaF2bAjG+YUmN7WrnLbGgnNyV7ztttuq3Uf++zspNuKui34WZ2JFUvb70PVXqQ//elPbl8b71/1c7JeFvvdsR4zm97Wppe1gmM7nn1HVmRvr/Xvf/97v+22wuWqxzf2nY8bN04N7dWwHhtbM8JqNRqzKKVNW2xhy96n9YRZjYz1rtlnZr+HLbHgpU1Xa5+xDZmz30/7fbahhfZZWu+T/bu+LDhaMLM6nLFjx7phb1ZwDgCGoAFgH6effro7abSr3HZCaWsP2BAJOym1oVVW5GvhI8BOWGzhM7uabYua2WxCdoV/zJgxlYba1IfVC/To0cOdHNl4/vz8fHdCajPf2Mnp/tgQJjthtZO8qVOnupNHCwS2fkDFtteFXXm3mZZspqDALFMV2cmjhYW6fg52tdxO+GzWKnt/tsaCfab2fgPFyK2NBUxrr4UpC522BoetwWBtDrD3a9ts4Ti7VRUYzmU9Pxa+LJRYYLTP12px7ATY1qKoCzuJD8yYVZHVHzQmaNjaKLb2RV1mm6qNDb+ymharD7K1W+z3x2og7HfS/oZagrXJeln++Mc/uhm2bEYw+92zwGdr1TSEBXAbTmg9fraWhv03gqABICDE5rgtvwcAAAAAHlCjAQAAAMA7ggYAAAAA7wgaAAAAALwjaAAAAADwjqABAAAAwDuCBgAAAADvCBoAAAAAvCNoAAAAAPCOoAEAAADAO4IGAAAAAO8IGgAAAAC8I2gAAAAA8I6gAQAAAMA7ggYAAAAA7wgaAAAAALwjaAAAAADwjqABAAAAwDuCBgAAAADvCBoAAAAAvCNoAAAAAPCOoAEAAADAO4IGAAAAAO8IGgAAAAC8I2gAAAAA8I6gAQAAAMA7ggYAAAAA7wgaAAAAALwjaAAAAADwjqABAAAAwDuCBgAAAADvCBoAAAAAvCNoAAAAAPCOoAEAAADAO4IGAAAAAO8IGgAAAAC8I2gAAAAA8I6gAQAAAMA7ggYAAAAA7wgaAAAAALwjaAAAAADwjqABAAAAwDuCBgAAAADvCBoAAAAAvCNoAAAAAPCOoAEAAADAO4IGAAAAAO8IGgAAAAC8I2gAAAAA8I6gAQAAAMA7ggYAAAAA7wgaAAAAALwjaAAAAADwjqABAAAAwDuCBgAAAADvCBoAAAAAvCNoAAAAAPCOoAEAAADAO4IGAAAAAO8IGgAAAAC8I2gAAAAA8I6gAQAAAMA7ggYAAAAA7wgaAAAAALwjaAAAAADwjqABAAAAwDuCBgAAAADvCBoAAAAAvCNoAAAAAPCOoAEAAADAO4IGAAAAAO8IGgAAAAC8I2gAAAAA8I6gAQAAAMA7ggYAAAAA7wgaAAAAALwjaAAAAADwjqABAAAAwDuCBgAAAADvCBoAAAAAvCNoAAAAAPAuXM2spKREmzdvVkJCgkJCQpr75QEAAFql0tJSZWVlqUePHgoN5Vow2r5mDxoWMlJTU5v7ZQEAANqEtLQ09erVq6WbAbS9oGE9GYE/osTExOZ+eQAAgFYpMzPTXYwNnCsBbV2zB43AcCkLGQQNAACAyhhajmDBAEAAAAAA3hE0AAAAAHhH0AAAAADQ9ms0AAAA0PApcIuKilRcXNzSTUE7FBYWpvDw8DrXERE0AAAA2oCCggKlp6crNze3pZuCdiw2Nlbdu3dXZGTkfvclaAAAALRytuDxunXr3BVlW9DPTvKYnQrN3ZtmYXf79u3ud3HQoEH7XViSoAEAANDK2QmehQ1bZ8OuKAMtISYmRhEREdqwYYP7nYyOjq51f4rBAQAA2oj9XUEGWtPvIL+tAAAAALwjaAAAAADwjqABAACAJrVlyxZde+216t+/v6KiolytyaRJk/TRRx+1dNPQhCgGBwAAaAeseLe2KUn3t72h1q9fryOOOELJycm65557NHLkSBUWFur999/X1VdfrRUrVnh/TbQO9GgAAAAEuWnTprkT/LS0tGq32+O23fbz7aqrrnJT8c6ZM0dnnnmmBg8erAMOOEA33nijvvrqKxdEbPuiRYvKn7Nnzx732MyZM8sfW7JkiU4++WTFx8era9eu+ulPf6odO3Z4by/8IWgAAAAEMeupuOWWW/Ttt99q/Pjx+4QNu2+P23bbz/b3ZdeuXZoxY4bruYiLi9tnu/Vy1IUFj+OOO05jxozRvHnz3DG3bt2qH/3oR97aCv8IGgAAAEHMhkN9+OGHrj5i7dq1lcJGIGTY47bd9vM5fGr16tVuobehQ4c26jgPPfSQCxl33nmnO5b9+6mnntInn3ziAhJaJ4IGAABAkLPiaxuGVDFsfPHFF5VChm23/XyykOHD119/7UKFDZsK3ALhZc2aNV5eA/5RDA4AANCOwkYgXFiBtmmqkGEGDRrkai1qK/gOLABXMZRYsXhF2dnZbpaqP//5z/s8v3v37l7bDH/o0QAAAGgnLEw8//zzlR6z+00RMkxKSoomTpyov//978rJyam29qJz587u3+np6eWPVywMNwcddJCWLl2qvn37auDAgZVu1dV+oHUgaAAAALQTVpNhszVVZPdrmo3KBwsZxcXFOvTQQ/X6669r1apVWr58uR588EGNGzdOMTEx+sEPfqC77rrLPT5r1iz97ne/q3QMKya3wvJzzz1Xc+fOdcOlbHrciy++2B0brRNBAwAAoB2oWvj9+eefV1sg7pu9xoIFC3TsscfqF7/4hUaMGKETTjjBLdb3yCOPuH2ssLuoqEgHH3ywpkyZottvv73SMXr06OHaa6HixBNPdFPx2n42a1Vg6BVan5BSX1U6dZSZmamkpCRlZGQoMTGxOV8aAACg1artHCkvL0/r1q1Tv379FB0d3eiQEajJqOlxoCb1+V0kAgIAAAQxWxdjwoQJ1YaJqrNR2X4+19FA+0bQAAAACGK2LsYf//hHtyJ3dT0WgbBh220/n+tooH1jelsAAIAgd8455+iMM86oMURY2Fi8eDEhA17RowEAANAO7C9EEDLgG0EDAAAAgHcEDQAAAADeETQAAAAAeEfQAAAAAOAds04BAAC0J7ZW886dUna2FB8vdewohYS0dKsQhOjRAAAAaA/27JEeeEAaNEjq3Fnq16/sp923x207KrFV06dMmdLSzWizCBoAAADB7v33pV69pBtukNaurbzN7tvjtt328+yiiy5SSEiIu0VERKhfv3761a9+pby8PO+vhdaFoAEAABDMLDyceqq0d2/ZsCm7VRR4zLbbfk0QNk466SSlp6dr7dq1+utf/6rHHntMt956q1qD0tJSFRUVtXQzghJBAwAAIFjZcKgzzywLEiUlte9r220/29/zMKqoqCh169bNrUA+efJkTZgwQR988MH3L1uiqVOnup6OmJgYjR49Wq+99lr5cw855BD95S9/Kb9vz7eekWyrMZG0adMm11uyevVqd//55593z0lISHCv+ZOf/ETbtm0rf/7MmTPd/u+9954OPvhg17bPPvtMOTk5uuCCCxQfH6/u3bvr3nvv9foZtEcEDQAAgGD17LNSbu7+Q0aA7Wf7P/dckzVpyZIl+uKLL8pXIreQ8dxzz+nRRx/V0qVLdcMNN+j888/XrFmz3PZjjjnGhYNA78N///tfJScnu3BgbL+ePXtq4MCB7n5hYaH+9Kc/6euvv9abb76p9evXu+FbVd1000266667tHz5co0aNUr/93//54711ltv6T//+Y97zQULFjTZ59AeMOsUAABAMLLeib/9rWHPffBB6dprvc1GNX36dNdTYEOU8vPzFRoaqoceesj9+84779SHH36ocePGuX379+/vQoQNr7KQYQXZ//jHP1RcXOxCigWUc845xwUBG5JlP22/gEsu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vtHZZ5+tk046SatWrXKf49FHH11+Yr57927X5r1797rjGHv9sWPHukBjrGfiwQcfdG189tlnXS/Kr371K1VkoeTPf/6znnzySbdfly5dXNhKS0vTJ5984oLNww8/7MJHbSxAvfvuu8rKyqpxn9re3+GHH677779fiYmJrifKbhZKGoOhUwAAAEHIprC13gkr/K6PDlEd3PPs+THhMWpqNpTphBNOqPP+dlX+zjvv1Icffqhx48a5x/r37+96Ex577DFXl1ATO2G3E/qCggIVFha6WobrrrvObbOehKefftr97NGjh3vMTrRnzJjhHrfXtF4Vew3z6aefasyYMe4E38LH0KFD3c+Krz+lQuG29TLcfvvtboiTtSPA2mH3rVfGfPvtt66XZ86cOS60mH/84x8aNmxYrZ/L448/rvPOO08dO3Z0xzryyCN11lln6Ygjjqjz+6vY6+QDPRoAAABByNbJsClsw0Pqd105LCTMPc+e3xwOOeSQeu2/evVq1wtg4cRqPAI36+FYs2ZNrc+1E/FFixbp888/18knn6zf/va37kq+Wbx4sauRsCLxise1XorAcS1ELFu2TNu3b3ePW/CwmwUMCwxWE1FxiNeHH36o448/3g1VsmFiP/3pT13NRGBolbEelYo9OdZLYnUqNvQpwELM/oq0rbdl7dq1+uijj1zAsN6Ro446Sn/605/q/P58o0cDAAAgCNlifLZOhk1hWx/FpWXra9jzm4PVClRkw42qDtuyk/iAQI3DO++8407gK7Iah9rYFfuBAwe6f7/66qvu3z/4wQ80YcIEd9ywsDDNnz/f/awoULRu9RYpKSnu5Nxud9xxh7v6b0Of5s6d69oZCC7r16/Xaaed5grNbT97nvW6XHrppa5HJTC8yuowfC2YGBER4cKF3X7961+7HhTrMbJ/1+X9+UbQAAAACEK24retjWHrZNg0tnW1O3+3RnQc4Z7fEqzgesmSJZUes14IO4k2FYumaxsmtT92cn399de74UMLFy50w6Dsir/VQtiJenUsENg2mzLWegxseJIFBhvOZUOqrHcmEJzmz5/vitbvvffe8lmkLNzsj/VeFBUVuecHhk7ZTF179uyp93u0z8qOlZeXV6f3Z70rto8vDJ0CAAAIQnZSbCt+W+9AYXHdhkEVFBdIpdLBXQ/2dpW9vo477jjNmzfPDYWyIuVb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\",\n      \"text/plain\": [\n       \"<Figure size 800x800 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"M = get_maze_matrix()\\n\",\n    \"key = jr.PRNGKey(0)\\n\",\n    \"\\n\",\n    \"key, subkey = jr.split(key)\\n\",\n    \"env_info_m = parse_maze(M, subkey)\\n\",\n    \"\\n\",\n    \"tmaze_env = GeneralizedTMazeEnv(env_info_m)\\n\",\n    \"\\n\",\n    \"init_obs, init_state = tmaze_env.reset(key)\\n\",\n    \"tmaze_env.render(states=init_state, mode=\\\"human\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### Create the agent. \\n\",\n    \"\\n\",\n    \"The PyMDPEnv class consists of a params dict that contains the A, B, and D vectors of the environment. We initialize our agent using the same parameters. This means that the agent has full knowledge about the environment transitions, and likelihoods. We initialize the agent with a flat prior, i.e. it does not know where it, or the reward is. Finally, we set the C vector to have a preference only over the rewarding observation of cue-reward pair 1 (i.e. C[-1] = [0, 1, -2]  and zero for all other modalities). \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def make_aif_agent(tmaze_env, batch_size=5):\\n\",\n    \"    A, B = tmaze_env.A, tmaze_env.B\\n\",\n    \"    A_dependencies, B_dependencies = tmaze_env.A_dependencies, tmaze_env.B_dependencies\\n\",\n    \"\\n\",\n    \"    # [position], [cue], [reward]\\n\",\n    \"    C = list_array_zeros([a.shape[0] for a in A])\\n\",\n    \"\\n\",\n    \"    rewarding_modality = -1\\n\",\n    \"\\n\",\n    \"    C[rewarding_modality] = C[rewarding_modality].at[1].set(1.0)\\n\",\n    \"    C[rewarding_modality] = C[rewarding_modality].at[2].set(-2.0)\\n\",\n    \"\\n\",\n    \"    D = list_array_uniform([b.shape[0] for b in B])\\n\",\n    \"\\n\",\n    \"    agent = Agent(\\n\",\n    \"        A, B, C, D, \\n\",\n    \"        E=None,\\n\",\n    \"        pA=None,\\n\",\n    \"        pB=None,\\n\",\n    \"        policy_len=1,\\n\",\n    \"        A_dependencies=A_dependencies, \\n\",\n    \"        B_dependencies=B_dependencies,\\n\",\n    \"        use_utility=True,\\n\",\n    \"        use_states_info_gain=True,\\n\",\n    \"        sampling_mode='full',\\n\",\n    \"        action_selection='stochastic',\\n\",\n    \"        gamma=4.0,\\n\",\n    \"        batch_size=batch_size,\\n\",\n    \"        learn_A=False,\\n\",\n    \"        learn_B=False\\n\",\n    \"    )\\n\",\n    \"\\n\",\n    \"    return agent\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### MCTS based policy search\\n\",\n    \"\\n\",\n    \"Here we defined the sofisticated active inference monte-carlo tree search policies using the [mctx](https://github.com/google-deepmind/mctx) package for google deep mind. Although other algorithms are provided in mctx package here we will use only Gumbel based planning algorithm intoroduced in [Policy improvement by planning with Gumbel](https://openreview.net/forum?id=bERaNdoegnO).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Run active inference\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"timesteps, batch_size = 6, 9\\n\",\n    \"agent = make_aif_agent(tmaze_env, batch_size=batch_size)\\n\",\n    \"_, info = rollout(agent, tmaze_env, num_timesteps=timesteps, rng_key=key, policy_search=mcts_policy_search(search_algo=mctx.gumbel_muzero_policy, max_depth=3, num_simulations=1024))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"dict_keys(['action', 'action_weights', 'empirical_prior', 'env_state', 'observation', 'qpi', 'qs', 'search_tree'])\"\n      ]\n     },\n     \"execution_count\": 15,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"info.keys()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Info keys: ['action', 'action_weights', 'empirical_prior', 'env_state', 'observation', 'qpi', 'qs', 'search_tree']\\n\",\n      \"Env state shape: [(9, 7), (9, 7), (9, 7), (9, 7)]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print(\\\"Info keys:\\\", list(info.keys()))\\n\",\n    \"print(\\\"Env state shape:\\\", [s.shape for s in info[\\\"env_state\\\"]])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When we plot the resulting data, we see all agents prefer the correct cue that is actually yielding reward, and avoid the distracting cues. Depending on the amount of samples though, some agents might still get distracted the first timestep.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<Figure size 640x480 with 0 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"images = []\\n\",\n    \"for t in range(timesteps):\\n\",\n    \"    env_state_t = [s[:, t] for s in info['env_state']]\\n\",\n    \"    images.append(tmaze_env.render(states=env_state_t, mode=\\\"rgb_array\\\"))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<video width=\\\"900\\\" height=\\\"900\\\" controls autoplay loop>\\n\",\n       \"  <source type=\\\"video/mp4\\\" src=\\\"data:video/mp4;base64,AAAAIGZ0eXBNNFYgAAACAE00ViBpc29taXNvMmF2YzEAAAAIZnJlZQAA8wVtZGF0AAACrgYF//+q\\n\",\n       \"3EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE2NCByMzEwOCAzMWUxOWY5IC0gSC4yNjQvTVBF\\n\",\n       \"Ry00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAyMyAtIGh0dHA6Ly93d3cudmlkZW9sYW4u\\n\",\n       \"b3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFs\\n\",\n       \"eXNlPTB4MzoweDExMyBtZT1oZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVk\\n\",\n       \"X3JlZj0xIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MSBjcW09MCBk\\n\",\n       \"ZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTE4\\n\",\n       \"IGxvb2thaGVhZF90aHJlYWRzPTMgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50\\n\",\n       \"ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MyBi\\n\",\n       \"X3B5cmFtaWQ9MiBiX2FkYXB0PTEgYl9iaWFzPTAgZGlyZWN0PTEgd2VpZ2h0Yj0xIG9wZW5fZ29w\\n\",\n       \"PTAgd2VpZ2h0cD0yIGtleWludD0yNTAga2V5aW50X21pbj0xIHNjZW5lY3V0PTQwIGludHJhX3Jl\\n\",\n       \"ZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAu\\n\",\n       \"NjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCBpcF9yYXRpbz0xLjQwIGFxPTE6MS4wMACAAADb\\n\",\n       \"kmWIhAAX//731LfMsu1Tb7YLqPeiniZfQ3UlAZuWxO06gAAAAwAAAwAAAwAA8fxUpVbAeTV9JfU0\\n\",\n       \"5bdQfxVxADLLOyg0tJI627940UTlSUdRkjAuBl/VHy8lxHZPl3iskBcIhxMYWZcZCGK9BVBo5cqL\\n\",\n       \"0/7PGFDGzLkCSSU6hNPgF4ateqF+Dl43PbWrc0CxtnFHBpq5f6zRbuQT+itT2CWbSarcsgbXjrZ3\\n\",\n       \"5CLcuWwffyDZvUiwYpkAnFed6wExSFOtUqgjWT7Q3YudT+HrR/R1K0zkYDkxaZyceDND+XmW25Ij\\n\",\n       \"dq+hb7G6htXBhZ4kxoWMqA0Ar7daOcOBBs1jbaKWsiHs7ZN8sKQ8gWspnBtwZUdyxBbK8UfhtWww\\n\",\n       \"WHH9VkF74Aj5gTxCcFHlY6IpNyxmzXy7BxVgdaZ2vUDmRU9fUFDMEZznaw5PYjCQf3C+udIFIXkW\\n\",\n       \"pIFS4yMfFHHcuymG55g6tz6DENKqM88t+Hviu8hoGYf0U/IjftRdIkP7a9qcuKM3nDof3v/muMav\\n\",\n       \"9B2/s9y7UNxjDby/iMYHSeWQSSB8zXi5wWHx+P+bJpO+0nxd9MY0xDW3VstrH0fGAPGELbauynCZ\\n\",\n       \"klPaB3WKbbgVDd5cJdYfIe7adOVNyj8dAgW5fYa5XmeZgdf4HhAYQfatl/sH1P9AolauQBqLV7Mk\\n\",\n       \"i6rhxg5nmhBan4JaEq8NyEu8uHC1fCYKOV2l4/3YGrhysRQtShiy3BHoXI09K+kA+ywXhEBkzOue\\n\",\n       \"yOY0y/yxKJjDY/Pd4mzUdejWc1RkqEyCbJP7Z/c2NHRDp1l2T8Ty8+oucGtsWc1q+Tfso7VS5FcM\\n\",\n       \"4Oj2tlN6xQS4kksbOesJ0qVds7SkpA/JixgtPF3JS6//4swBayT5pjoUICtIUqq2yXV5YGXYdG2E\\n\",\n       \"KuLKcWOOOjtgUBwJf/J1xQbT1Ww4tqVks13o5+BiR29zeJ7XPMFOzp1VH1u+ILMoMPsXvvUSYtAa\\n\",\n       \"88WnJHdxXf25RrXJi5fEkqdsYxFDTJ8E7QkdiD7TR9QK28KQjjptuOtuWhojoINvZv8WOC1m8ZOe\\n\",\n       \"geyvQM/EdpmCuFKlMQyCD4+9chA7Jhn7vd/yDbxttCxQu2CHcG8D0tUNafNzkU5p2zBDfSAYG9YA\\n\",\n       \"Li9LMEOglaA09cyRLVZ1gOCVJdzPhLS7bR6wYRLLQ56CFaBJmVpRmsir1Mj5ytqoxLxlVfFQ2xDd\\n\",\n       \"Lc2cejtsfFedoVyrQRv4jPbI9gRgBtNPsdwXb1bUkz/T5rDoYjTnkEI/fNuik9Mh7rAXdiFmwDt2\\n\",\n       \"LTwT915LJBeZe0pqkBBP7va/hr+Jz1V4kIT7iibAhk8pkplYN4nCldtizrSV4G19gGbOTjKRo1UP\\n\",\n       \"qCAGAsdNkS1VxWH5wSt9SN8RUqFQHA5QGNAXc1wllk/sh8k3SeoRUHpgpGSbO8yvT0enrE5GIdd3\\n\",\n       \"pGS9evPdgM9Z2BjsS+aHK5QQyhGosx7Gp/PSLBkmzS1g7/V3z/aYONc5vz37rJCluiXA14FcSV/C\\n\",\n       \"fr7ld6oT/NtmluFuz9kFUcEuYjbIyR7q96GNQzuleM/VRdc4kXEiKCtD1ouqIuDZ0f+TTktnpLx2\\n\",\n       \"rYk3cIMSR9codFuTJEOqogVsFva36cmk7WVqOJJxXxYw5meZjSvB/dEMmqXjHLbnsBtUbjyYr4rk\\n\",\n       \"bFYWVhza7hzYXV+djy7fNgIfc4ZGQJmFXKT5wtSM3WGEIt7xBo7PD5WIC+voXfORPUny7rcu0gGa\\n\",\n       \"bsm9jORLBweK+pgpKzlerX1zlP3V0SjHvRJEEljZX4RMambC7H07Xr2K17KDlFVbx9Y285bjSLS5\\n\",\n       \"bz2OnvMJ07becVrFxapk7UtZScUSBmTx+JXzg3VBEbTTmBInJgBmc9Ds2T+M63H9+K/I1Mnq5VUJ\\n\",\n       \"Kr/UWcAsH/9rkSFFi9njCVynjFC8ChsTGATePIAmWG5Rb9JCrKfLcJJiBqvWc5rdcNiKYDuyKuwH\\n\",\n       \"upmkPsJ5QXYBuH0tc9ozwuEIn/ZIufaRFItjHBjjfYL/MUktH8ps7ha1HIvx/XPER1/hNaiO1fWn\\n\",\n       \"0q0hJpvLn1LF9RGpFeKUM2kL90AcBKHKLd9cq8MvjlOVcyWPpCS7o8XhmW9LNWIahB/TwMb9alOb\\n\",\n       \"0L8QtC91sJVdzk4iRsluuTK7Zy3KdMroVSzZEMk9dginpbQsF1MuZM6MH6CrWuH2knpydnnT0cAj\\n\",\n       \"vER4Z8JUyl5nUCYGTrDrMJvsJQr/s9+cSq0uz2raK5OHsnvkAZ+WbKrF/2vWrdEmEX+o3oHqe7Cv\\n\",\n       \"F/74S05vZnUCUgg2R58bHjWj+HBfonRXaXYZPOBc2zILZZ2u7ugjGEeYg7WiPn0DpA7edd+cFxtV\\n\",\n       \"71pNWjKIZJS/zGS18p6vBYuhBKKTj7iv3R6WVUhuDtYKsIbIULPFs+iNfaI3fX7WATV/hpvvykRn\\n\",\n       \"2kb0tkw6h3VtZedabEfTyowkgMEseuZD+xT/TfbIH1MZronztPZGXRZCTTX+x39j/x9iC6cr8rmw\\n\",\n       \"8XgOdVkSkfgBwEKUJMYwdTeiltJi1OZJFseYpz0DQiDJGfYM5sOpryUj83nieQJ3dBJ9GXUvkCq1\\n\",\n       \"yzniooeQenuMo7TfsiQdi1++YN/YiYfErycv0woFUvajRAptRTdBGDjVlL28W504Z/EW/QUZ+vuU\\n\",\n       \"GEHAUkeeGLtns++P/l/6Nx+32HuV2GzkRfUPr51eN8ueGCLv5nf9JfBz0u5NHQNIUG3MdU9NrajC\\n\",\n       \"DLp+0wNgxjqvY8We0vM7VjUpyQWsyVKk7uk6xHfIJ5BlIHg79bu//2j/Wvow80R+K4Fr48u0KiHR\\n\",\n       \"5XhX+AeJkj2MEhL1rfc5pFCA7w3fefrOpXpskdicBMX9xWJWfHbC4v0SCG/YZm+Zx0iLqxKennCm\\n\",\n       \"/tgOcGortQVZojXc81ivgODzo2H75S1U1mkC61brPgAACioEyMBIJXm3bnuuuWv3XhgEnovXcIqz\\n\",\n       \"L5mT+E4SP5QZQu3Gl+1V5GdiX7xMkDF4NpdCRL22o6Gub0j00/al0kQu+lDJeEkdrigiGfq4FndU\\n\",\n       \"2OOMNQU8cI0BfGS8NWomUHjXBkAQPHrJUYfyPl2yFILCgfZgmRomUgEo3Othar20jYe5NVvmisln\\n\",\n       \"DWuBPRhSJeWTrkWC/ht82RggCKm9cT0vDtpgXFz/j1Sdn3zL0WFrTMnZrgbbc3plCYC9QekTIWu3\\n\",\n       \"ltY2WC0JXviTQOgWt6b7Ap1Qn+8rZUtmuVO4V4vbhEJ5F9zF44KKHkzlTO47fEpKpxHpLbCwm+nj\\n\",\n       \"BmyluUKU69JdJ8CwCRRPpNTAXQSezW++hr2yaUBx6VVMvmGjXMKqMoUDAOpBUt+NPjsyK1W1/zZ1\\n\",\n       \"4Dq7LQJjVDlcPNVkvMZuHByrLwC7QrDCsNA2T+Mry3x/aMPJJf5RABr2P+ADnXxrpJ6KJmD5SoSF\\n\",\n       \"Q9Ty8ZNXIX2ZeIR4mNQvi8lqKx68d7ALXSqjhH7Gk7kWxGigCw8owq2spW0j8toCYJV44+C7co6j\\n\",\n       \"R/2uLF3obv7psAcjJscXSglqSak9SMsNyugPvH5NFwfXZF0gpMbROAY/rji2BZFbCh2sUjirZuRm\\n\",\n       \"adYa8D3F7rPqgmsZLAmW65/wFeztDdJ868oymyMkNWMLBfiHi/Cmo81dz0K5qaX/xT1X9JenBJtA\\n\",\n       \"ZDKMuSg/Ia+xTMFEV2ebdlw8YC4V6a7kmoTGHXrCjSxEEsuL1BjBAbBMuQeDxZVD5Qb4FUEWYLVG\\n\",\n       \"IL2kqZGLvE+tbVNzTGW9LrArtxihW9UPBv8siemAXYbVHBVv3+my8/2w/bGjCveXdiLu8jTxrVy7\\n\",\n       \"dc9D6zMJVNyzog7hvcPTpZFFDUZ62dRf3kvYocCOF8wEW0hnPzM41wkMruMi8oO7jIXd0DGGw/Pr\\n\",\n       \"kgBGi8w2q4m1dNh83e1mslji9Rx2fyLlsCRE5H6GDJ/B8GA6RI3d2NQ5avn970T/o1riK7dIAjfk\\n\",\n       \"b40g1s/EoAPG0NU0C9pRcgBLOpwpLR3YvnOc8eTZagSQJslPk62fCIuh8GqOJDhnlMxaooiXxOiB\\n\",\n       \"PsOKxjCO8mLxIP0qRc+QgPE6p7bOhk7j0bFq19NppBCupgAKtxU7mS3qUv5dbx8vvslOGotokF8y\\n\",\n       \"hbqdIIVBl66xSG8s3n9XDlPpotJFO0Iq42EB7in8BdN5+XuzJ5TMA+zdErPbr9rG+JX6NftCWJBM\\n\",\n       \"V7MKOP2yFPQpWCmQTBUN67hgJgziSiAzdrLKhb9POvHF1rkNZsoV4+uAS/es4giXLgn7CWtRlRyX\\n\",\n       \"WlLZWtse4DUo3Wj5YlBMjRACA4q57+T8aFvSj2rgPcrZzsbF75DWEdn39g2nsZv5Tv/FeShMXyQa\\n\",\n       \"TfeWqXjtRW2rT0SN/f94KWxNUh5WGmQnflzpMcZFpV/s0lGwmUVB6XVbEjuibRroNcDRWpjUM7Fp\\n\",\n       \"f2HGNQAF6iwpC36lrfyZfydwY+T5H8N9qyfbQxkP9/V1ya554+SH3KNHdmfemu33LrXByxtL//d3\\n\",\n       \"TvPyGSIoKbErwz0O/9NlGcalab0FfR7vnMAzYaUd9pv9y6bUbY2kUOMKwxrSNNEPuEnFwgh92PY/\\n\",\n       \"PqG9ADx/Z5tlKbe1nDXFu8pTtQ5l92QCEM/4mQi9whTUKA5vLBWQ5cYESKGaAwAHTpUG4kjQCuWL\\n\",\n       \"tvtnp7uRxix6qfxkxcNfgIDbuduTq4PBEmV9Ni1rhmYTvebO8f+gC4E61HN5HwVPjl7lxdMywsYF\\n\",\n       \"tTWjDDGLsKaG4Lyk2LbI5TX/Ym3JoKDb5s4X1drjzbsZPxXUImO3aM03dNa/V4p7EmAdipLY4QdQ\\n\",\n       \"bQRCUBLv1eqvZNuHd5C43BcfDSomVHyYrZINgnfpx+V072zzobqCfyuZsTupGZkceS4Hit1CIBQo\\n\",\n       \"ksTGWkqdip05jNLME9Hk1g55SXQJvXFo3P+hS4eIZ3hR2+riAKzSwXkMPWCPk4hMkR+5G5/KkVA6\\n\",\n       \"Mkm0gnbUwNxbjVzoW816ZPjbigSAW2eSAqg7j8M2RpS8aemP66CtphvXxmBmyYcUx+q9VqFjwpuS\\n\",\n       \"OaFSSGeKOj++/HI/EdB7B1Ry0eprPSfAIzTjpvPF1tGIwdGbdtAicaPBiEWBtzi1/97aMCjxsq+6\\n\",\n       \"Gxai7CF8N6afcKmWWcJPWW7+R19l6VRbW/R7W58GwxC/J1uXtNPGiJHRCXLvwD8u/tXADIaQ/BLB\\n\",\n       \"MYURC5cczIexYuYd4V2gujUV5nggx5ZBrP+m9kXwwpgP0fytM/lAif1TDn+X9Y4/63cOT3rQyaVX\\n\",\n       \"TNCb5agJxybxmaYjmk5Wa3NtJssTe2il9wjQ/3FVjbb1FGDXXqL0o2Qb/sTq7YqdHTyUOiOgf1hX\\n\",\n       \"UZ5Iihn0lLuaCSQ5XTqYSor1gDID7e6w75zkz6NhigFMq0Y5Gyn4igMn2niB2Wx9/jQkMQ7Thjy4\\n\",\n       \"ZlevXNzVmonCLGyLwBoNCM7J7IJiqbYVo222T/txZzWXCoAiDvLZOuQKjVUSkv0wx3qvCobPpUUp\\n\",\n       \"Nzpvio0YCKpor//dJ66BnSVIrGi0r1NUu4v+rM7VDN5GdbubDh6q1rHoOgsn9Ufv4LlmAPoxUOQJ\\n\",\n       \"2OUcLEsHcX5gEv7ll0BsFuFwUQPrZ1PDbKnyOe+8VNsHWVlBcrXm1XjUMxXP4PPIXFAz9KMWeH6M\\n\",\n       \"htVHnFbzyvY3ONLn17VlGiQBphLV7seTsG25NmsLvLpvX6bmiplfI8XQ4CsU6wlIfGqcJKwJdi9L\\n\",\n       \"xbT4Z5QvqkuUG1qTDK7QzRphZqezDWx8hX9/708s7VdGYR4rzG+/e3o5eSkAaetUwsxS114YpEeV\\n\",\n       \"0eXQ1pYT0mIrt1QkpJE43wOfh470mr0B27YId6FtuRB8c/alY6pduRONDnRaVkRdm++2yTSlqQGJ\\n\",\n       \"w7x/D5ip4Ayuk+K8wBy24/UnYqzU2A3/cqzfxQ6djA6ODm/nADesUjC5E4x48zTUgFadp6Ttywed\\n\",\n       \"kkXs8lCqL8IVik2M0v3CXocZSjBGk1c6dBnbr9cMe2rMO249Z4fly7zecE46KNYDbBHG+CBmnVGm\\n\",\n       \"Y4udN15t/+6eEWzlNnFK3EGVjAhiQFQ+IcD6CIPopt7swB5uJCX/dwuoCwlxpHE/C2UbaU27mDAk\\n\",\n       \"UDYyB9yQdBl3DQS2pgnG1klizUkJqgNAHSVjjTEGg27Z41uL0CijbOCSostD5UIfqwKyj5mRo9eZ\\n\",\n       \"BC7G9eDPe1GatE+FVyycG4iKCmHagjuGrPP+irbsTP4c6hLU1Cw8Zy7P8fQtjA8jSltt+RL7hKWd\\n\",\n       \"iBt2cUfPy8355ND7/Fn37Gj7T0NlW96EppkcsMuinHLG8i2o/jbY4xI8+IAKQnoYcyJTXMnS3zU3\\n\",\n       \"1mHaKq9hSoWM2mcd9vHmmUX1EDO5ysB4DMSZJ2mUR6meP2eQKFSrzbuvORoQmI+umGwiL2jaO3dR\\n\",\n       \"2MZYmgRGLtC98bpqHf7vRqSz9HICHRf2iNAx14p5Xk2KIIhn6VQbn0CYbVNOlHrb3AqQPZsxavlR\\n\",\n       \"GKFt3vaQGdG1Song7oWO+QUO3ief3wAo/jABlUf2zjiq4jqenCZq9nTuwkf7iZKYA3C39s765qV/\\n\",\n       \"4d0Q5lz+PjXos9S+oWLw9Ll0VAPwOGs4JEtSgJfvNDU+xB42vX7svUhjygC8Hb/J4klGutGgVN+O\\n\",\n       \"6jTYHFWcCOy7UrKAKoiPym6L0gcXgwciQ0VjhiFzZpGDKvywqqWRIE/OrerKHtrmifh1HRSKW7GM\\n\",\n       \"9YewUjNmTR+4oIap3/k0k9lNs+wInnQz5j1t20O9W2WIPq/N95v8dadNdn5L/zCCsN96y5Yb1NX9\\n\",\n       \"Gx9eJ1kOnMWoq0qP/WNIyxGLR2um9L9CWDo89MxRhhxBaLYJnqxsn0XC+ZmJRIsMjyxfq57n68HJ\\n\",\n       \"IzXHFOqFJBFQ4NQ4v238TapdPfo/orY0BdU9E6kEKEXr6VHRLH2jM6X5Ou+Fxzg12MAIi520d0pA\\n\",\n       \"nfvjJkWuQwwZqlU2FmfalIFpmZym17zi0w2/O9U00g0N7o9fJz3eVvHV2ztqokZztZwKeB94PAUB\\n\",\n       \"GmyARcdQedb+PO6utIDJvw3LOThVr1zkjUK8v47VqaLDBvw9nZWuZCQCISks5x0y+OEiDSqk3Zad\\n\",\n       \"dJUYMAFCte/tGSQi9jH1SFpDk4Fhwwl5G/SatNu4Iar9Kd8fnfsbRGmplsH2uhP/iSQPJP2jQ7RR\\n\",\n       \"KVGuLOoqxhVKJOwg3PR+OFDOU4512XwW8HAa2aRc/fplzd/LAA0zSusVUp+MECw/99h0A2aHBFEH\\n\",\n       \"XtzkvVmttDqXg1f2yXrFkZh7lASDGHLOJo1UKCgCWatAWiiPjBYc9fc7tkqfIDh8D/wvch89QC1y\\n\",\n       \"SPOlL9hk785f0HZuwxBsu2sYlDKJKbrc5GuHLRzgILKZsF6QvkwFdEXh2wLZyB29L9WycHSnm4UK\\n\",\n       \"zeIe3KRIBHO/63bimsa6PMQLf2WtXx+vvpHN1NMzG6yLop9q0nG0i4mQwJdX9l4gkOU0KXkVVu8Y\\n\",\n       \"viKNLrUpy24dut7tse/9qPsQ/4FGnEzciOx7qMY6+EuzgOfwZXc1JxO3MwGv7Wla/yDUEhNu6j75\\n\",\n       \"4qe3DThnLvsLrruVq3PVEqXhRfP4hqRFsEwUVcxr+6q7X2lkCd9WU8QNUEc84LB3TUxy1Dz/pnfR\\n\",\n       \"R995MeRkMUZv5FM//pzg6OWasHtVoJIZwsYuDrZHUd22To8YdUNhd904u4A2sLf9Pf4p1ceM+rQa\\n\",\n       \"AJb8nZQjxPOBIm5b30lwVLRYNtlvITW6/T/PBfko9lonT6ng/IGqQ8gYXJ6jjDbHKenpy0k43UEl\\n\",\n       \"FY73q5q/DIXCYCr2gSVJvj0Yb0x2pbcaB9OnlWPPzXWpHto5uE5iWQD0dobGww4SX2L4QKvsJEvq\\n\",\n       \"HA12Q5gLD9desIblH0FLAniUWAv2gyQGURZHQdUwuW9LSqWMEjKCgxofghh6M25bNH/SfyMmW+m4\\n\",\n       \"9F0rRSOI+sLPDpTbWO9Ona/AfFcwwLbyv93K5WX5HaN272ksdTAk/NJ3qbxvUpkmMDtZOY4SRBp7\\n\",\n       \"hjPGJPVWPoI+YN4plY/Ao5XeT42mU5I0++D+3WcFth/ryXgBisHE4jXHMwOiyVAEBC1kOLjT/GtY\\n\",\n       \"AEgSHyp8ZdfnzrPCL+8EwTm049y8Ft5K/rvlxuOC0yNpRHO90KShc7JIPyIGBw1/jkNVBxDA0VE5\\n\",\n       \"7fJ/l2zH3SR+fA6HhS8cSK1UYqtG0hjreISbrf8Itsbw2nmKO+ffE85F4Fasm62raksojfz0ENYZ\\n\",\n       \"Y0sEVP+N0dHTmcqbtWxotPeNOLBCwuFWVWaoXiyuZ4eSyXDZivwo4KxCKrvb1FRPoFRBakqatmVa\\n\",\n       \"A18Tn8qVXWQFi4Db0j0hwaYuiJggx+4Og9t6AbPRHQBktrd/2SG0ZK6YcQngo2jettRL5Ii/6soM\\n\",\n       \"ioV14N5yhR17rfxHzZUCT44jRN1a+cd74mEixdfJLLYmyI1+4TVU0rMhzz90+06mm2+hHsPzx7q+\\n\",\n       \"BDGFWQFG+EhSVwV4qiagb2nlPmxcNsiRFpkJMAQVKdM+5xx3zRcSIY4lM8Cw1i38KwcS6PmdBWcx\\n\",\n       \"PQdRT/fWzA8PoEMB8qUYaJ4w5tW+EjwYefjj0XqIK7s3hc3XTcq47ufBvPq4m65AHNIncDJerfXw\\n\",\n       \"IG5zUL7KYN6NdOkm8W9Ml1BoHnZjPv7uM8fVm+SxOPLuYqnWs3Egmquqciz1Wn+HRnxFd3XW5WUz\\n\",\n       \"c7GKF/0dr093VmgyTL/qONPwqU7nBQ331hNm9LmgeU5v1eXzCY7jC1+QxnbjN7iYlam4Q77ZYFKz\\n\",\n       \"T7x3HUNna9/dFXvHjj1him7LSGEjj2s1TamNaJ9mPrwbLCgiilOhTi5lcVW2kB8UCMQEhPxNOyWx\\n\",\n       \"1U3DsAubMT8dzHPAU2KA4TW1WUugfwPqOjmnuvukb5LwDUOXPxyA+LdsF0oEgUESOvzw85KPPtVw\\n\",\n       \"zMFDV6bmLBcLIrSpc2WxbAPrv5a7TEaNrdhnsM4kjeaMn83j1nTr2jaH8tvKhFWCHSHqCGmD+YPw\\n\",\n       \"YlesLpj+MK/KO+UE/j+W38WDgdthPoK7V5EjF/rM3CmQ5fY4Eo5J+Q+DAvVKrw+P+E2W0KPW17KZ\\n\",\n       \"77K/arn6hm3S4q5mTOb1v7VMdiMAB7Jul7RFzEhPXwCHsClF37o7hI8ThcS1DoHzqEqDDlH4ZNQU\\n\",\n       \"aYEhzb9+J27Nr87t3rLHGATg8Ya7VZbtcub/9Rewnz1UiShRLqP7IXWuKeSXIXjRiTRDUYqhsAxS\\n\",\n       \"Q4HIlrABmZC6T81zTyXBR4/AeDTtEfhocTvAQ7Kz2O3vCblJoS8txlvaGz+saIQXvzpE+4HBgZjq\\n\",\n       \"RChHxuoUUvVRhf3RfOBnYKyCMJ/vgtS71qVcEkHRnIUjjjyJmdnsvmHFD+61+fYOOmE6lDZiMocl\\n\",\n       \"1MCv0uDqKoPina2oztf4ucnqdpxQc0CLzLalc/sMGtCMN4VAUd7NesK2icapj2wfEtFkAuxHZeAd\\n\",\n       \"vTyWcFg1EaOf8fI9SjCxpQ8sVjgWP0QkKonzgk+6BVoOF5XlL0so1IUsSu7H5sHvaE04pH83cgve\\n\",\n       \"+3ETJrxvhOHt/Tv8t42C3cEJO0XzSFviJd+nqtxKZ7i+9FRHzBb3Ayo6+RJOk0KBwOlZ2mwEiIpw\\n\",\n       \"INtSY6HKiQOgjJZsYdAm6gIYHED42Wg2Jw47l5xGCkX3B+CZ20RapjAPFKexWaR74Yvzv8lxtzoj\\n\",\n       \"zws99JoFiwhn6FYeYnePo2BBhWnPnoLs2j7KTujU41dcEojCc0vMkkRXZlFLol7CzE5xLnykyEA2\\n\",\n       \"o5iuV3/olVSRyLhFrqAJIV9idgNZSL78CYdluH3z/K3xDYqZwYu0xvO8GkV35NNUYjFoujLalKJX\\n\",\n       \"t9Qf6tMrgG2dUw3pPTGP7j0Q5fNF5ixWlXXYjXI6+pOP/VoawNJ4ZFeFeI3XYZwCh4wFr/0AIvuE\\n\",\n       \"zLY5+wsoqXNaeeoNPsASCLJci2cpqb5cKxSuLJf98fTX+3Sl5cPssTEIUCJUt+nZtagGhV9Q3Bk+\\n\",\n       \"a8HoQQJn7pwjBDo8ptQZF1L+L/V5JjcMLtIKFiWjyWDlnO+TbnELBO9Li32oAjsspd1/SFoo8y4f\\n\",\n       \"kpbqrdJh3yIxwqM8LK8w4vuaP9xUY+yxno1tU/bzsGEknPMCZfK7YbyO46tUNowHD5hRMojrphnC\\n\",\n       \"dm1zSg2VSyAXd8QbHhZVFSLm45FMS837S7C0SaPH+V7FIMKN9fOY2/BLiuJPzPqstXvby8oL1EtM\\n\",\n       \"ezEgA/+ejNkR6DtcI8ZveSaza5mmfYwU+zLHAk0NYD8ZabqR0THtnkODvR9pUNVBiT645StzQjJo\\n\",\n       \"t4j6QLro/3wNItqle6dD1qnOKZ0qs8S6vkbgAy8t84r3vOpgsEx/AyxPxPo0Qa3C1fP+yGp23CI7\\n\",\n       \"UOinnUfkyAnk3oc89FHb9KTMbWAQVwG4kREuK1xMT2H7BX672pw+nnyEaVYnIrMYssfs1zMzCn+q\\n\",\n       \"TnrEsbuyCJafDO6VgYIbaIJwczjyZuuN1kRlwVhqZp+2BBTl+YvoDqGu7zOU48ToKAD2WEGFlZiJ\\n\",\n       \"LDGL2jqP2r69BeYhxmzX0VKhUx8SwiLIZhPT95v2UqDg40bAUDSnBv06dekG6QuWUJyOFqrUBfrZ\\n\",\n       \"yHf7BFClHpeCkSfAC0YTcQ7U1UIFddgqM/Dcg6h4wBD8E6eawJj9WgsugBQHpErBC43C75yU5HOP\\n\",\n       \"tg2OJpbibOk8+QYMrGUSHl6NYAYcEtifQML8a+jt6DEc47KvR+eQv7tiI0cgAVfTYe66TmdyCTW/\\n\",\n       \"xphiMmUC1CNZV6SSAnh6V25wya7PVVwMcyvUieGWAgmSf6Q48u24bG8FhuzakVjPt+6b7Quv6yG2\\n\",\n       \"ALbOHn2nKtsB7QbsiFGxs93bvvWXza95Xsdx/1CeKFUSBwYzcQ1mWnQs9q+Lrt1gI4pNnfqTcPR0\\n\",\n       \"1azf53EAyTQ/P/qQsH/LrrMAU0GbpB8DZ2agH9VPshOiyyhFLPI7eehqt519uIOi4fczqz/LWMfH\\n\",\n       \"GSNboetJPzDssfZuT+4OKV0B4iZzyfdHN9DDaalRbDQykXyQn1K5Mm6bE3Q8N9JwAC3lFgbBx4qr\\n\",\n       \"k3jExA/H9CkGNLP7ONX7qFpWoSbpd6Kp8xNz1osOXSuDGm3LRF8SWrfZlayac9ckq+O8yohqkuZh\\n\",\n       \"QwvCITXYyW1+B/YLBfHDRwyyIvK1HtBucFevDYgY7rKivDrtzJnV6/GbJOWUM8nA9CPBnqh+Ne0R\\n\",\n       \"fXwDotJkaQUVD0OKy/Fo7BlIgOZKleCHUMGEvA/og8Ssmx+WBVymFRNePvse41VQKQtyQMACqf9e\\n\",\n       \"t8T1goxXYjuEppeY/fLMjKTtKObCzZHly27XmNlD5AY5xoXqU01iZlmE8r/KIfv5yXlGeBQW2G9I\\n\",\n       \"+R14obRvZb0z/nsYAyv8beYeiX26mGABmescq9KCZH1ZWxMsW4r903DXXfa3nuzwkPiY+GTqNMlz\\n\",\n       \"GaG7oyOFLHR54ACZL5UYi6Cne+TiUohXle0pe2ldMog72pOMN4tg1WNyzdqZP09DXu8mHdSRQ9lE\\n\",\n       \"RGAJtLHLQJbyVxyDf8b7YL6R9cAQOjXWFFmiq81/veUcQV7DswTtyboy9F+XaEqRaPKsN/B4ls+1\\n\",\n       \"m8+Ol6Jzns8ohHOX4Q2+8zLMXjMMR0EAeyyNo3WxWJOpPUkoPjGIJpTxHgRALIfTO2lzXzS/ApZh\\n\",\n       \"wHypn5gLImncmyU1PBzm+J2da0ShjRLBFf5Nxq8eYq62Bx3K4FmevsY1kRszA0+TmYeTYKdrMjwC\\n\",\n       \"BXavaEe8Wuzgn2w2QE1XrrVWzb+jo4Hh2Pi4vpIDE+8Q5GvWWSRTFnR5MEGVL+DMPmw5R1BtteK4\\n\",\n       \"TQxuX+/1brx2K9o95/2BefxQjCh10WFdp06fK7pklWdGfCKO6LdTV3/Na5Wu75wuuOOBQtns01mY\\n\",\n       \"MlOp/I5l8mGiNVcOj1/3nlKVQKjiUMafyw9IEgNQlsUJL6+bT/ynUaUxlH+Qk9oNPFToNUgG5G0k\\n\",\n       \"gvl9Vw9a81/tWIhPfL7cGm8V/qq05u5/bT1hPjVXeBF6wLPq1CXAfs5NIokl4AvUj02YRJvEZ0w2\\n\",\n       \"EiXcbhUlwmVzvDm+L9nJkOlGE21FdMQpNYzht8Qb60NS1BQjIg5+im1DNacdpd4ow5VfmcF+1+UF\\n\",\n       \"zVS/YYGXNwK3S5ECVLdzInnALo8hX7CjPyysspKqESp8EYjm1/EMMYlwic3xBnWNkc3kzwZjt6Im\\n\",\n       \"J5YOQpWFUp0HJ+Crjvcw7YsVjURpswTSlPKMXcJjww/rGc2NM/TNKDTk1UpBTEM3esqr95cI3Fmb\\n\",\n       \"IpqE24516iKbxYlcNwS/RFFJoqr/QBDvfqAZ3QmBpePRKaL+gXWtg4WlXITZa6VmHLeE8wKmLy9C\\n\",\n       \"8MMkm3ZtcwXBnLOsiuHtasrn7IUoqUEVLQ+QtZfB3fwYQos4IeMh0vbGkDxZ+CLsjKjnZ6U5U7JI\\n\",\n       \"p0ntdO6avySVLER6FEYbU0LrZvTOxbOJchaX/kVIbwTbj+SXRvid1FG70tGWgB5S7Hw0fL31UVdc\\n\",\n       \"TY6fUcwQ1+jqeERE5x0u4429CVMpK23LlVjjjIC148nIS2IRNYabh/ItG+2TGc17tuftkQYov6vQ\\n\",\n       \"qyQYNF6fFXqcKvKMjFEkBeuXFV2nhB+u6SxOKBHNaC3+kmvJ+tx1NvLB/PVK+TDYnhfJdp1a4L1z\\n\",\n       \"KzKHvAjdT46hpaX3HrcXkKlbPBoyrNrsHzz7q84qbXWb2PsfNr0DMq+vX6opfIpX1COpOZ3C3AG6\\n\",\n       \"tbJ3UBw/ZwcgeBFh/vqgO11b4BiyWNeFIitBxT6sRBLM5iUNJ80u2yYNHNL+S6otMN3X3CmMgD5o\\n\",\n       \"E50H7QAeg03aC2JG3lXJjRN7CghOHO5uchc3Kevqb7ESU3yvlk+iDV33sYBuz46rCg5MsvIyl+XR\\n\",\n       \"gTtK/5OnrwaM844iEDBB807ltWoMzDpL9/hLx7tv+jtKBnOUFI5SwGezjRlKmmvrA7fDuHLjY3IF\\n\",\n       \"S2A48jbX3Ec3bvmJtzaERpcBOkgbJH4yzJYw2nNqB5W7aRWWsHozFaeABb51Ny42rVYu/na/zVjO\\n\",\n       \"VUlyxWF6Mat388ymbDjoQPNlATqSwvtBFeX7REOMou4+2aL0WYpWn1CQwajIdjqW+xLawbbFsT2l\\n\",\n       \"LETH6DyXzhUyHu6l9Qqmy2azlnB2PLGKrn6tgPTILYPCfZYljbQaEcwPU92D6An+57DcjUZ/B6l1\\n\",\n       \"tR3ja9YuPH+CYs0Rq7+7F6AFTKziNeuVAe0SPvhBPCesVsjLw4K4svmfCs8LHzLfpdn3emPz9HCl\\n\",\n       \"ZzYftgJXvj/BaQXFGIC6D5eUmlRPoUFKX3F7eVuYE4DagWRipKhNWtWYex12g4alGOzOrSMY5Exh\\n\",\n       \"QevksgeOGSiqaUTvDD9OFuvhJ8+lDwt/+cZYl7ZNdliAELWhm+3+++YuVnG1Z0so1oJj3293J91F\\n\",\n       \"T69Xg1s9gKpZwS+C5KOe9xKGV+uEXWqxb2q45+noie+n7WSuYfYz2nbGwKCeeRAfCX5faUXYWqzD\\n\",\n       \"m/jnRq7D0+iUghRnOZmp8r7K0qbfJWYaSGAIqAW316MRjzNpUxPybby0DEVbJYcuyFyNMINU9kN6\\n\",\n       \"UupjUPg/I590cq1sR6+erw00R40/tuokY0IWpdvcjRahT3hhAjWuVd9HMy3SpCeDXTFbeNtbZw/t\\n\",\n       \"xE+t8+0Dey1EZdyQIk0y8F2tM3HP1P01at/d7rdADXPPbpkcQiLiN1hR2KMPc0pM/1t00E/kNzx7\\n\",\n       \"2Xm/h2KFO3RS9JYvuc34gBzZgeJUbSi4MAmqB/4sQzYeDqn8Uk324JbWTQw1ZOFjP+/zsXv9DyxD\\n\",\n       \"u6kj5Dd/uPDhSvEski+kuq4bgyjVx+0F1T2aO+iuCM7A4pknWcSiGCMcC0WHNROz1Oq8iy6DkZGl\\n\",\n       \"ymrJA6x8AnLmcVk5YS9v8DBun27Yx9NixrMBcGq0GbxfLDb2elcgGp3rP4LBGJtjCheDNlYg+GsN\\n\",\n       \"TDmJU9L813nlxHvf0ZCJ7dmy6okD0UWmYyPoOgtvTEWa5RmolYZPPJry5WXzb4F2c9LaBl/xDqhO\\n\",\n       \"OCDM/njRc2mutJFGQI97w1cZiTXaKx2DAAgWFxSvRwx/x9RNoUw+g/93gGS7tFw5Sp3AlYp77Oea\\n\",\n       \"C1nKFp43SqsG8HJJ6gJy/3jWh4Zok4kCSdUPiQyLtUOb8rTLmTqItc1gwZJbj5JFaFZNFftyH3k5\\n\",\n       \"w5RiPrf8sG4UThejkamCfvMZhTRnr/LOZpr+YtIR1MFM/8ns16ifikgwyW4Tt8weWqolABq/2ZNj\\n\",\n       \"5nP675CCnvpMAyv92a4UqDmlyGdN0h3Kf7lghSQpEfp+uaI/2KeSWB3yxmxXMtCuYFmEcMwP4rQL\\n\",\n       \"ZqoFoX3a0Csspl+hCqHH2Zzs/7ZTqVGSL54O+1N7i5MqdUWscxAidLlcM1o/uaSNSMBVZsjiD/5J\\n\",\n       \"zoUtAzuhvhCTiCOaWKlaYkn05X4sGK3eCIrn5PUCx1um0zY5kRAtopxiahlBMRI4WBZnYShKVRxw\\n\",\n       \"9XYwn9mZ8PssRFmHnHGfBcSrxWD/OduAsmKXNxgiFvLPjvp/wMipkVQ8LzxrObXTFFz3T1NAkobN\\n\",\n       \"hEoY1+Kj8UYCBEhNRuOCGusAEWUAGYfqXWpPPFKtojLTIkqyK0lt4RBkERC8IEK3IWcPtk4Q8E8j\\n\",\n       \"710mu+bLNrRwuSq/fh+vhVWiqdSiFfxZ86JHrvyz08V47tOb86l/nWRwarP+SpXJcVwI8N5O6axH\\n\",\n       \"YcV9qz5EJuIYjvdPwYkMm1JPnQG+Rnm6J7KPfv0jY/cBrBT8GMmhuzipTLx9xTmZE7lAPXOAew2S\\n\",\n       \"rESuRkknGGNDHy56wybkkoPIFdVa/9osdzjcU7pWfygroiLGc9m3AYlK5vsiiUw7l9ZgBOGCZYI8\\n\",\n       \"ESmCYOUX4yRS3v7fFPH7Xx+wWwRK5mXvN8XZfCOLQWDIOCrPBzjbBqTrXoPJG6BRMLw8oBJdWP3d\\n\",\n       \"rS8qppWJZ+xZ9cWBX0EYJmXUAQ54U29wgAE3bm2EWp6FKcvCtZUuPX7n0/aKnNdDlX/CwA8XDXEi\\n\",\n       \"/senrrS2LjrcuansJot9U+zIdbOsjx8GFzsdrt+Feslg/14z5eIovfRWdTJPuy08fMHWpYRrXVOV\\n\",\n       \"nw4XTcRUnh2L0M/vjfOQL+DfHa2qw4Pui9/ON6lFus19LZSvmGPfTU5htXO8jMGTiJHrG4Glvqh1\\n\",\n       \"tTLjWXpdWjBepl77r7FQghefl1eE5zvuRn2OExVurlZMkgX/B2Za0F9Memq1OWmnYtbBNi/s1cG7\\n\",\n       \"odsekZi4N0e1Q57gKnpxZvfm3EYAEniIb2k6g0wRlFwoPKkcoDNVctCXdsmEQkyMeW0v0ZJ2PAg1\\n\",\n       \"W6+bq0MrlF7LeLDXAvQP0SEQxhqzgnlm07AezrPdg0K4Eo1LZmvB9jWMDkEsYqo8gYhcJyfPWk9b\\n\",\n       \"fMt8tP7JYc2UiWOibbRcgLvfw6THmEH0dKqN6OHQeD9ARRC4Pb7/TUhAaCnGgct7PjErP/xCQP2b\\n\",\n       \"+ef4STtnk8rxDyN3e5kMUb7s7VpqCp+TxNd7UepxRQ1dRCd0/ii9fD+WtuWsrLJo9jb88N0tpMaf\\n\",\n       \"x/aJCPD0IRZtnMjF83+lvYlWGer8QCow2bekOMzMXSmQy+TW7cDkVQlNQBja0xazi5uT7CV+nR6r\\n\",\n       \"busiJ3HEnhBXhNifiTYXKMUAoMNNKr9X1eGrOf9H6d0pblWuwUvE6Dr+cJe40GGww9dGsBaAFSij\\n\",\n       \"NCsfIXK7WGoesypHMdTklTA+lY8V9AUWf6tyXfSGcTOWXStt7+dlgmcDeVqyqdx0TSxWFZtFf+yI\\n\",\n       \"BWctcFII/NhcoTFibNixjTHYihjFQcmH5l1YOAVvO0lzEEGMbV3lgX6Y6HL0LIMuSN22w9LILkHS\\n\",\n       \"WkrQnScaVFHj5caPui2sIK4LpefurE2C8vgq9vblsAyKmlKq87Z+/6R+UUg+3f1jtZKrC8//UIIM\\n\",\n       \"iVqMiVxYLiwKIEtc2WBT/qionX9VAic6Op5+4oTjkEvj6C0I2f7ayGBsZC60wRFsm+BBFoS2BtCA\\n\",\n       \"trG8pC44suQzvcp4gmKHMaEYMTD/w8at/jA7ZJCcxDl/n3y9d3fk6UYcB230Jhhjy3vIcRMwZsct\\n\",\n       \"yKH1RWiT/IQgcwJ3gXNfALk8jmyT9X/vvL+3soxTZnkuj2iUXRxk7zvT+A8d5PPc0eObb3oUt6cO\\n\",\n       \"nqf/oH88htZIQ8P7NbNY8N4AcJpEt0/rN1D9qsF+bdZvh2UhNqC1hP+aSpOnsbhwZK9QvlBSxWGv\\n\",\n       \"B2MBlcyRSzUw9EPOPveIRp13bqFVmGBNpgAVrvLbYrwD/0H2QVbQMVVxlQeOeD4dZMUB9iGGH72L\\n\",\n       \"o/qyzw9LAX91e8m3Q16PRzR5hcI40k2+Ku0C9axWD1EzFd6Zpm3RW8XuljILJYNcs1ThrapURT1V\\n\",\n       \"+2t7HPymmKca4thJf0Qf0BgIIhu3IPK66DBG/R6pT67/7V26V9C50+xF1zjYlqsGLpFRTdJbNC3I\\n\",\n       \"QsAzXviKAUAbsCQF08L81w7EyFFbORqVuMv6asgEVr/GRpONGREQJV727TrhJN8MX7KuJicS+L8R\\n\",\n       \"+CRJdFIq+QBpOq6srpGA8Z7Hhw6w1QiDcIPRWc88uoCaTnkgTf7EqVVNp4KWLGDlgYCCjvebLy32\\n\",\n       \"waRFGAUSSqSjwTgrQ+GjDAc65G46zjOkCegj2zh4+z0lVl1e1G6wtfppKi4H5K0weE+dbf6XCtPK\\n\",\n       \"9KzKmKXoA6sTvLwkQs3wRIXq4JsIeROqOsTU169iOvCaC6dvBkV+fd1mVa8QXPk2IMhR2Nlofij5\\n\",\n       \"6yWOsK+tEDBg87EKwL812JZ+n9yptN0shZNdOGrF2rti3/hn1j5YVQYkJEHJDB8+nK+NU5lElJ7m\\n\",\n       \"kH5Ti2gPTT+wWv/a9SJ69dkeVqv+LNz56Y3x3v5C0okbwCTwWGoFasAoXLWGqum5nqG8Aky72WnK\\n\",\n       \"HA/ziOydvIa9YCOZUl4k/N4y2KXahTUtUOkhrZIGHcsz39QL26RfAcCIdeXFlkb1udwNDJ5qBXyh\\n\",\n       \"JpQ18oO+jpfZbV5+YsUMV59vcWD7gBN8FVOVWe88pfn1/z+lNBybx/tOusZq+EcJGqR5UY9NbPsD\\n\",\n       \"wxx1UbiamQE3rjGahsq06260GinG11aeN5lLc/3QvaN7+z+mqSOrtb017ZlasEIJygE+OWgvhV7H\\n\",\n       \"I3VbIoc7pErMQD0w7IBq3asMlvlU5g74MJLRc3CEWD7D9vyKOHUretI0Oh6DdSLtGFj64C6odp0J\\n\",\n       \"TLGKnxsnWR3cCXMZw6IFLM1uils4p6ZoxVyE8+oD7/fpoTw131eUc9PNhP6b/N+1oPvJnI3flq24\\n\",\n       \"p33w56ATA9aFgrhfWgozW0H5mudRdlhGL7GiJJnicVgjK9gj/zSDnV8xYIiSfQyqSA3yM95iwiR2\\n\",\n       \"uR0RcMrpjCZZFGSkzoPY2rISkwNeXrH8pIb69BBHdArm34R5BG0UrCb1x7KL1lkkTRK8qQ6O3D3h\\n\",\n       \"Nura6Z8LuKBq1Hme0wvHdFhLFhWm6CU9G/aSYPyBBuv8mH8INioizk1Xex4WhaZi4qf9hBEJYeCt\\n\",\n       \"KnsHptsiUGJS+eTwxm3XeB32ePCwGVkHHBhPhRbJV2eKnRhG/OBzYL4x5goJTeObzioci3iv47AX\\n\",\n       \"a49q02vDG52AabmZAYdWDsWQOVMx1Qt0pG0Vtz5B5QROGUCw1iCYFEmxJrXy627k8v4GDxqDTAuu\\n\",\n       \"fvWjlk/cWi1QmOhw7vwYOxEN0/nVN0g0wsuSqNYz2bxttuPYw2XpuCXaxwAu54vXs0Vcizd9SFxi\\n\",\n       \"GUnE1Q0qsG7M+H5X1SPpZTX2kNJbH36p/DV0vHU1U4bMr2t9ja8djRBgY8ol2p8lpPbBGgQ1D6e7\\n\",\n       \"qeVdC2Nmew4x0iFielymbqumryArZ7D/gszqfQesO5awgC5kWn5jiA5WlNB7lkfYb7pQQ/wh1+M1\\n\",\n       \"GxHpnwNXk8Ec+lWdQduuhOV1txkMj/k6UC2ryhdI/v0u94uuWZO5G0Rh+WKMqS6fdit9FQvkmpyH\\n\",\n       \"82uroo5F1iRyzsWP/5smEAZ6gkPEM4MIjQ5ZCGVS6jelwuriVAr15b3MH+BepIgKdPLGu6FHVey3\\n\",\n       \"1rUm8hJmqFBZHDrqbNa5jpI8RPK58LeMVlkdBIJzAdN2zPK4IxgR3cN4txeAyBs0lWBSvj3XIifI\\n\",\n       \"qvfSfoCJb8w6m4EvKFh2mqxdxqElbT5uHDk4zb9KN0RXpuuznF+ZOup8TD9dyXIquw550ZrpZs9o\\n\",\n       \"HONy7X8Rq5MvTGrTZNKkVNFINZwMph2YlTKyQufvCDWNk9AFUFoV0d4Y0ttkauf49wPu3PtlEuve\\n\",\n       \"AJ8JhbpGRaaDo90YkT6nJX2jHItiJwKQet20+BWq5dHsloeqSsNKPnbUdUNi2d0bhW8f4pNmI7Mw\\n\",\n       \"xVNngCvGADvHsoRGBIG39yHGKgBhkQmHavXYUHCW6/aDVOi4aPE4DRRxCs8jpUGv+FDaZMX540Qe\\n\",\n       \"tVl0fNBSRF5V9/pncG+hyEig6dpY2WcVANVIQzbC9TBEB9iG8p7eLqWM89KCWLgF27Wp+hNU/EoI\\n\",\n       \"8Dg8bK52EIENstBlecvbwy1SM6UcUDYCy7rJmlrpBoPFcImUnmvi33qhxN9oEYxxy+Gz55xqpKPT\\n\",\n       \"oZud+zx1O/G5kme5GaFFSipIYKCUIh8GoUwH4gRPbNrUFmvOPqeVuqIwlfvzoZp1Datvd0mrH+PW\\n\",\n       \"3wGLJ1+LxEtIYV44jxSlJoBxdMWlBcZSvL1hGBmA0ao9Sw6KY3VDIkMbMuwBZJJJGI6BhOoaH0nq\\n\",\n       \"m4/RxEo829XzxdBQwRnZfW/tpug3jzN+U1hCTCxX0Qd6I1esQyPHWQSJPIxoo29zD+qJM1lL/lHF\\n\",\n       \"C9VBhaGOWezg9JXHF+5NNbl4YmT2MRSn+yNlJUOkCOOgS9BvZadFmHzfqDMi3bwx4UwDsdoK71I4\\n\",\n       \"QWTuoXYgWdqt+ABsEPgdyixqUmbzqkif1KTxtwYRJeYO/Iqqwxg18rEPKn9Km+wwTsfndn6tllhS\\n\",\n       \"A4K9oDg8ds/PakG5a1Z/n5vxyhNoOlSOhqrSOXVRPLpuU36xXnNq1iGGVrtQjiZsUEyhcfYTL6Yf\\n\",\n       \"h3evnupD5kaCMexXdSYg275gAUCzK56FHdbyR840BYE9PuCfv8fEjhDf3XHbThlUBnYLXy+SJ0zC\\n\",\n       \"V0aKk5icfAwy38aqB03WeW4WHYXMaMXw9PO1Px/WMo7elnfzdTKyRmOEUbngJoUG6wCcAm4BGl20\\n\",\n       \"N7/uYPZ4v7vvugsgHY83rIQn4lvprLWsKnWSFpgP6FRJ8Gv1WjO8RsC94NH1al3PCv3fWEvkntie\\n\",\n       \"1sdCvM9uD9HsFSaszroTqocP00d5M5yAFWb3d3tLMmfXtTwiB+Alb0qibnV1PCrGfeIQBxrn2noD\\n\",\n       \"sQmuJyNuY23PMAMeGv1wVEg98UlJqPh+olX1I9BHWh0ongHxZwdT84s9Sl8Nc1qT4AxsOIuYn8l9\\n\",\n       \"NidHVJP463dr7NOeoExdiLx8wECnH9JEXA7tLYVLpPHxxs9Ot5Q+2Dky/80P5lwxWEpYpeqxdKA+\\n\",\n       \"p5DIGup3AJIANI5dD0qbbhPYDpCswaqT0Uz3eZk79XcYJWBslN+LVgWElqcyXvk/z5afX8iNfQ9h\\n\",\n       \"uvPoUD5Cy3a7/P2i9D8CSOUUmTNC4ZM/FSrLmp7qhGx6BcIrd6sCLtmavlDe5yok1WBIDvfcj56Y\\n\",\n       \"k62hgY72/XrEbug5Hr/f//t/9+xDFLKrXVgBvpQYsCxs5LxX3EQ2b0z2657DAvlF4i5vHmuHm0vB\\n\",\n       \"EWE0n9WdFWNjAOfxhRW0qmqRI/YL7RauhE57ouhZi2xgMQAfeTLUBIgKi5qvKI+K85cWvN7iLSCW\\n\",\n       \"1MuFDO+a/hx2AC68z/dkSMBOj+d1+kdwh7ScvbO2M3azawBKcSgQCR4xWBtsp+iaKGWFLbzbgd82\\n\",\n       \"j0Vd9eZZa82ST39ZKcj3JQa3ZTk5DTAFN//DERMtjArBJpLUMcKgrsSUhhB5956fuG1oV5B1cCco\\n\",\n       \"rb/c9a7wGrPO99AxfmWSyWnKfR+w7rxQbpfdmCA9OFuvSAFjG8Y8Wqx8jZCxi3HT44OgbFula4w4\\n\",\n       \"3x9O1QnSUs86mCpSvjOuvmFrLmB7nbBfFtGdYvl33uo+xeZ+LIodtCzoDqePFoZokykoU5r0DgGg\\n\",\n       \"bCLXh2kJ4Vr4zOh9tg6wDXORgGrqMNNM3Q9848W9YaO3WwVqpRNiF6BrAtDncYu2yv9IrhgqYHcr\\n\",\n       \"4AQyAArb5feTU+qkyHPOy+WVqyQFw/SvSs1I5fvyqEn7DCFn7zF7522N0RZSpgNgtfV988olA5Y/\\n\",\n       \"IblXP+fQb2cxZcka96LZaY8p+PIIHnahhSm3eXMT000zQUQSnNS0EA5O82Kx1EW4UfjCUoxDvyxn\\n\",\n       \"6IlneP2bllx9W9FnTFEx7mPMzWKCJ+Nf8YyUZBJDaE1RXm9QvX/ilGEnXW955mTUvc1P87vgkHjK\\n\",\n       \"5fo3BBaV33my2i5sCBiluDEckE2Lpr59qcw8ti110GcwtEfmNHD8m/kNYLKt0yZJu88i/5+sOM3Z\\n\",\n       \"MnFUyFnxMndOv8kmNpkdz3wfe0VZuqwVsI1VbuXws/sZk4BFfBBRAbblTUimbjuTtQJrWpLVk1XM\\n\",\n       \"AJZYBxJ2oIAmwV0EUx0MPLT9DDraRQFVoMB66BMcjyeLrO+GG8ghESr3meNqFMg9v6NiVFOvWNER\\n\",\n       \"Idnd8USzKWIMaxSLDc9BCG8/mwK8nC68x7o0U7JAqqdfg+7xUQkJy5IjSBB08L1BTlIM8TJBFdAH\\n\",\n       \"e/pchGTBDNigzrUwVSulpMBGdpUsuRtqh4qCB+GjPwk/gMcy5ZbDQo0+b/YuG3Y7bVW7a5xYhIcX\\n\",\n       \"KmxanefKT58WihdEDCUe2+dHvhLajyj0zoQkDqUWKoTOwKJeBfUIM2A7QC89AJGedWG8/7D6PX/d\\n\",\n       \"cqJKG2LdrZiNz6XchzVxd4dv0mR8tN3DHnCaHpx1trbIBtwsZG1EpOzKRTNbwWCRfJubQL4LbFUk\\n\",\n       \"jsYgSrJUkBaEVn6zL7dEbmO7XCvrI8Z15C71rMPzsCqN17X+Xkk3lbo3hD2B7u9AYbWGR6CPejZ2\\n\",\n       \"U6LmZsDAvbzLKYEdpvpcBePdfVxxIoE3w31TJ6VrnG7YjknoBewyYYJ7Hi2fKkVyGm32JTASMvIM\\n\",\n       \"AjRdbJcugqNxHduA5eXxQKhskYIinRXbyEemXtkgo5EmCveHG+5XiEsBqJYRDseVoxoSVpL6fwxZ\\n\",\n       \"BoXNbPUBiLKquwSYIQZSRRoKFr09U6xeHuD/ts5lCGjmZlAvpr3qxMKQmMhXNBLNc5f/pQdL6dSZ\\n\",\n       \"1g6gdCTrz+rw5qdUx2aeiq6Oe7UWrdDqcBXtpKms9UOiDBufWrnL75IU1IlgWi/TJIEQ8GgLkdnV\\n\",\n       \"jdN/1iuZfcKeJD+K9A8bsncqQGh3Kefqc+aUgjYbrKq1131DgYEdqPzW3/AenIxaacCuRFztce4j\\n\",\n       \"UTZTjx7IhingfsVn1JpQEVGeXctf2uXe1k8n5xkkDSPJ4ievrmbUc60DBVenS4BAFyHPKWawpYPa\\n\",\n       \"k9IPB/SuF+bizCoqpg0xy7OURM34Bc5E53+XWuyeZY2bvIQOniP/FKnbNQWqJ/236gtSzrqnWhA7\\n\",\n       \"ssJIFh1JqoQ1DYueG709FRUziWXQwnZ/4yU+OLZF7moHMYaEDmramVCghOi/wDujBrgpoUrLgzC5\\n\",\n       \"JExm/k+xYZ72CDzHZAyTM6cFKNTs5TXt18Rvq69oMf9RKV8AVfzccy7digEFsAItogQsAKSqrHHT\\n\",\n       \"/OA7sPLKZJ3oiTyy4iaiF+fktJAGy5Cc1++finm+Sfyb910ScJ8Olo3xRdw603GNDoGIeQfyFFiV\\n\",\n       \"cyhbg1qHo0e//NtoCcVuw+54XdXjd2eVP6OkYWzC9lVxlbWVh98ad+36iY0xmK7K9a7+guhH5cOy\\n\",\n       \"4gB8HHdOatkZUlmbJHtnmpuwyQJorDhnnShcmIAmgAkoh+7UxwB8oT8SaKrHJQ21Cs5zI9yPWz/s\\n\",\n       \"SAJ031ffSc0WGWmTzGi1mimBmv+EMgSUWlY662/aTNP6RDSLCqyxDe1XizSDuoeoWa4Ol/62AiaU\\n\",\n       \"xOEUp0fLasPyOgvzNdmbQsm1Z+W8QsoLmPC74ky6s417KLVJRs1amUDoAtYNodtgs5mVl0wT2mXV\\n\",\n       \"hgdUNM/jkGaiLmYHSPZLAvK4cgTnLufx/Q3rFqkhaRR6MFBIF/5Wf2yA2+tevIzoDzKY/QSfYR7+\\n\",\n       \"Tv7jWbbQmF3gNicYozmIcwgrYZPdjiVR+VS8iUdoxB/o7HGcVZ6LL16ueb3Ig1S663LLQY7j6BAv\\n\",\n       \"Pfvqu5kdLRzbJk3wghcutk6HdqckHAW1sN45FYm7FgsWUUiZ8yRDn628XIXpk8y9Alrw6BpkRKg/\\n\",\n       \"0r8UDS5v/NIyIcs4cj5No1grOb0zRsDfqX1PzW9a6mv1YuJ9AcVoGERbyNOg7CPeWi6fEEM9ztjg\\n\",\n       \"RcxFvSxrt0HtWR+++G2nfoQ7C0HMdHTbhGccQYgf07SmTZNLBkqOAUkUfRvaab125+E7NwNbqRcb\\n\",\n       \"WdxnLS1rGDXHyaOL+OJeCFOh4u57UMwTLkYpv2Vqlx9nO0uz6Llh3HSsf5YtcM8Xu6iD+Ka+gQ2y\\n\",\n       \"jM93HQ9+61lfFl0nj+W+BkPYY+sfJpD2dya3aWBV/MOUDaExSc+rd0ZH7lx05uN090MMcEjp9RnA\\n\",\n       \"xxXJsn4MJ5gFVmZm2U7JddTJHBS1SXLqwPEKMho6BDvNkF8UtPEPmDlOKusv+52jt5ez+e2Mnht/\\n\",\n       \"FSclTlYSygTjWgI86+DNH/VQglk5nf9XVA/OTS2SaBauGQT5tBuBow/D7DwgQmn5o1m9LGahV0H6\\n\",\n       \"5Sfl0RiYMf0CdFenW/QGTG86OMwIRaMEXxM2gS+fg8TUTt9Lz9P0lAnO+L3laqJugOS9DK51Zi8M\\n\",\n       \"7DvyHCWWsMbdFVvUKXbxC15oqreacs+hPaKkKDwCLShdrJA2EtWMV3uYdiwIQT3+U47f7CwM9NbZ\\n\",\n       \"qx3glWJojG1EO1zu8Y87DZDMtCQuIfNA9kPfq2L7Ufw9t0JlsEUBudRt8V4jWIHbAOtionu318MP\\n\",\n       \"Sot3AvZ4U44OCjkgXkAZ8/su1LrDcdV5q5iufH1n0sWWPMIKege951cfQQEzlxg046tvVZwbwwkG\\n\",\n       \"XQZqI+CrupPtXJ8mqytUq+gmTQGqFNd2tCpwTLFOhRAl/kzEjhehFYpHPUVckmKZmGmQeSZhRZrZ\\n\",\n       \"hQAAyC9Xg4I5GBhnU5JyiFnVXjEIlmni2UkHDe78hb8H6A3IKPOTtn8kqs4cl+gsdbMz+vjrBKb6\\n\",\n       \"Y7OnzUaHLtZNmxki3zG4AXvBO5xAZtcwOJoUNcnD+/2e0sE6F1RMxdm4Y/A4aZjZ9AQ4gWThz4hz\\n\",\n       \"xdLz/Aw3E1r+Go3sci9TDWYnNh+Y6FsM3yehilp6j61DH93qPRZOvlUAMKIC60dsElJwKL+XMQiO\\n\",\n       \"MZHZ1Rl3ny+YoYK1wPPmehmiAuXlstv0W5E9t+L0C9XbfTfr1vdiXdwiZW0DtrVIMcCY1w2J2xMd\\n\",\n       \"B65QwVZkNB/2yxKzJhD+7kUiuTfgRQsndyZJQj2pa+1YhxnnDmHWcAdquGRXWswrg7b69IArh/sL\\n\",\n       \"YHIZiLXItHl0HKqkxUk4lmbA5jmJVtkDqmM3IjV5Lcb41L7qgm8Z2yaK8bRMRUqeSgWZBKqDIPBT\\n\",\n       \"mpGu81KGhgUNKu5ErrYreR2bP0tpczchdKS0+Qg6gys0KNNv0xyTi6b4/0sLKf6z3xs9EMo/Dgx3\\n\",\n       \"sazobk+fYzBIC5E1XvzPt1BAPOjQ/Z0TVkgnROojoicto9Jz3SsZmnbaa/8g17kL+5Y9ccZlLFBk\\n\",\n       \"8Kkrx1jyFFDUCcobjhTkIkiOYIRf+R/9EbljY8tJI9O8m1k+O9vVSB+J4ji14+sjCJNOMOBdhLOj\\n\",\n       \"IUUlcWcvrrdQ89yA3ysd4aPXo5CGO8zLIYpC5WcSYnQ/dArGSRInMRTxAc18nrQ4i1n9v+tuEx9e\\n\",\n       \"2EcNswJw70cTLhIY0W8cVvfVlbP/nOc4qTdtkSt0jQgIESJoe2WEMj9eDujEcQDWATPmnoRcYlsr\\n\",\n       \"uy6iT4mg/jKfxqlYiaGRHEqYPl704bgDCkhpyE+KHB0UDMjwrX/4z/7G8IXArazSoscAAZdV9TSZ\\n\",\n       \"U3gF5eXpT1qQmyT+I2M+0nnRINdFwrVhF6UIsRIP84kMv8CW3MTX3T/sZEppyR1QrJPw3lIrWcfP\\n\",\n       \"IZirOoJNC202ESpg+mKvZLdkenoMa4PRuzZY8sMGG2XS3EBB07ZqECBLZrjKIF6w+oAN89GMhC1b\\n\",\n       \"FT3iM7l/hMmXua6PEhGp6vJDG/WwleA/K+aYCxOLH0nqFFSr1tXhgtz+a2GzgCt5nJFf4y65je/J\\n\",\n       \"Sm1hzNNmgyAPI0WUa37z/qYM5gjeJqVnEKl5MKMgYoybnoduNLSJV1pyf7TAGgKS1i6hvuha7DC6\\n\",\n       \"lIgB2S1qq7h4E/MBaESyy+ur3i2VD5mj2+Nf9wlwDlo1sxVDJmP2EksskGwO7d9ehXZvv5pnFv8w\\n\",\n       \"kbKQP8O333aGvyzFHRG/WLQCfkTiuFtc9U1LajrkMzhxSMjXBcpBkY3W6fe+xdzZ+dCr1/bbkf5k\\n\",\n       \"BbmW5Vvj9C3vwFVO8DGaw7Y9u7vqrIGs5buMLS/E6i4LPpLW2P9ntd+gs0so/NVlUmo/OlS7iArH\\n\",\n       \"9XiH3BZnmkW0GfUwDwjfjPD9j38X0ll4deOU8X7LDDjkLzzuLfl3eMkuqhg+qOwDnz4dqQgNfxOn\\n\",\n       \"5cfuCO7XKaXD0f6GPUkBXjDEKOQgmdjdk3NZ2Q2famcrHfUhOynJAng4LCX3dBaMzJQah6RnDL6i\\n\",\n       \"H+PTJ1hbJ7akONpVw/kMj7wwCLT36bsNhsNAFTACdiZFCgAAAwAAAwAAAwD47HK7kRzr/3xQgi2d\\n\",\n       \"6C4SVf+4pgmgW9E80TZnQJL/dXuMDPuCmMo3IzIkbLSC0Ejyv18lOliKbxD3WN5oN0BymyWD8Glj\\n\",\n       \"Mu0spVddhLVVDL0dObQXwsnOnWPizaDnLq3akK8TiI9fuXuQYGzUlWeeeWw4eP+5QwYZ8XGuQhBp\\n\",\n       \"vAqxajq1N5SASGjdq6cYkzDRjT+pgRP3C3JmqZZIH6gtBzRNjwpbyJgQNP6f4lqUFOfzfEzCfabW\\n\",\n       \"BUrJS7qnGqJ55ZFLTQ2+GIc2wfWFOQIUzq1e6TC+tmHv14A9K4XkKLyswp87kIk+OD38pPdtyIhm\\n\",\n       \"Sv3Ak60xI4cmEGrTeIHgDqWzWuWFBaDb6jFZt7gVmGCnOmUXU6upqMXXri9YnoPTHgKBKu4n/Zcw\\n\",\n       \"PIfLlY4lHIeFOtMoY2Dm/z/uvETEtRmuXs7boukYwlrwbhfUQ4YX7nm3akAZGxXU2PMOcavLyj81\\n\",\n       \"ZUbI4EWUJmSQAkW7/cJELNWHkfZotfNxDsYYbld1ViJ4FNzvj+0kbhPMj1UYxIYiKL8DpU7uevpv\\n\",\n       \"EuSMFv4c54JBq74/TzCFQbcYf9laUw4O7y9hax3qGE7IQVqTDMA3hr8Ln8AW5vB6pf8MGxcjk0gB\\n\",\n       \"xbecn6g3HG1DcD/Kv1uTxlC0aUoJubd6JayaHVcT4DMbrm6NIzead62GmIyIIyHom7lR0r6BdWSJ\\n\",\n       \"iOVPMFny3iPzN4ExsQjUTaVAAAWzv8A4jwC0KUqlnC3wEmcV8dNsg63zl/hjRyaptlzqdabvaNWL\\n\",\n       \"9vwRydiXxrIFQJJ9Ko0npA2QKTERTyO5YuFHKm8ggipHjtHIM3ZmyQsJtH2+n686+VP0fiWKmUsf\\n\",\n       \"jgkLkiJqyJa0to1UaUq+oJs2L8dsbVhqqLya9pV3RbzhwhNxBSHeCJAJQUpEq5CrYjerHf+Hczvw\\n\",\n       \"qf47ThUBMLVZe42PvGXmAOSAAojHLueRY2fj7Y5/pp6ws+j4V84lmQDIdxjZbnzUcY5/CMXhozcs\\n\",\n       \"ViggWwb0vpx/xSw2wdU5255DBHsFqqKPkqS7qQwcmDjGNW9BfsOVWUOehJoFIFzzdBo3iasyt90/\\n\",\n       \"0fW5R4AZ6gN9ydIyzPohMnVAzqnwUIFoie9XqbaXqx7/tOm0FzoIHv9kjTyVzfEEqOa1i55P6i7k\\n\",\n       \"rcuDAk5YUxLHWY6I5rOEap6yTTDrx8x55Wl5T+gsXid+cSpdxsUeZtiXkcwAEK7OsVp2tbxdk5co\\n\",\n       \"x30bUDc8hzrPGf5qq2u0mNXUqVzfc3+wP1jRY6hrW1lkYB07N05DURWq/r+aY+BMpLrEfK3bYIky\\n\",\n       \"tqsYI2Jy2WjOX8bjlWNQvmGMmIjWvh4ChsJxTuijal52FASIewBx8S34fnkUpinZ04UlwdONoWbP\\n\",\n       \"93Tkv4f15oi9NfsqT0zjZOW1d0lne0GeJrP6PK+w/on43ABvGIglOkHBLBsSwkAp9VPECLYJYIiC\\n\",\n       \"vJ93vbucxcm2s5DBA470UaoMyx+R3/foevrJBamztv90FqzplZuklnsKR97kGpsTcWdLKivMkd2N\\n\",\n       \"Pk0nD20UrFZ4G/dfpCEeVxQGPChpdH0jVvtNyDwB8/oqx6wh7k2/SN8PIC/snbgd9UkBOrsXJyU5\\n\",\n       \"dqbojjRIhWh7fQLEgbv2mDJ3D2YHGI/BQ3CRTfO6xGGAJExjZcZOgwnJjkIjN7e0txBOyERFOkuQ\\n\",\n       \"7ePNAZTkT8Sda8K6g2ovNl10eyCdLjFYPjYYxnoJdNYAbJL9KnrWx5rMB9arIbf+axsRCRdIfJCy\\n\",\n       \"Gt+QsWmVtNTJXNgw6L0Jdz309+BMFjVEL2HZFUjPqyIRCrjCPDgAsAIjfV5HBHySlhjIfkceB1VZ\\n\",\n       \"WAkRv2gmC4Y5iJK6+1ob0tV5ysTfsSOdo48ps1JEMf8vZ19kdUVN1wIwV+Nf/O77NrpOOp9vJ6NL\\n\",\n       \"5HcJmk02kxIep9vFDlWc/yIWJDdRtsdjvQ+9h383t+LEpSHktDtpePd5ABSqHILRBlKygoxalqlR\\n\",\n       \"wKaCJnqwBwWM9lJL9Y5yfkWZ+vHPKtevESkTh0Ub5sELLSQCLbPm1SWVxhuY2/sUHb1OU9Cg9xqk\\n\",\n       \"9ZFUzKLFaJr1j58sOSu/raTmOPz7IQVHBVYUz/5//KMHgzZwwaZpTV6YNMDColq+plY+RhlWZavE\\n\",\n       \"bG14W5XTNswaAgUVzIEFE3KZCgORGPzbcrYmXyKU5XA78kzmyog9dUatL1pZv33XWoxSloZGBrXq\\n\",\n       \"7oTGYOa9YGH7fQo6wfdWjZXruM6ZzvDGxN4oS8t0Uei4cu15YZEFQOFijPO0lf2KYKSx6YY8TC4w\\n\",\n       \"QpBxkjMPI1XrmIQSfpSftEFJ6r25kR1ipYcaEYPPTOeNKBTTX5fNXrRltvhyVFqsx3l4WqyjcP98\\n\",\n       \"/Z4K7m95K7eT9M0i5nco3Rj3ED8aDoLuc4l6z9fx5HsYZpvnwiiqbGypMPltIR+l8vkftHGFEQpZ\\n\",\n       \"CbABTzIKz2xM2f8ZCXAuJUnS0YppwaTya2puc4R7bdtaRNVShC8bo+f/RuhsrCQcauHTuHd04+0K\\n\",\n       \"qnt3pB7hg5iz+lk/kxPn76JXDP9IQApq3yk51rHJdMK3LjCrPlIM+rfUM3yo0cX6uDl5zc4OL55/\\n\",\n       \"bGI/+BFiiA1nO+4AYRll2SZrS8/xGHE4q207x+eXR8713ZG75qvEsBJr7hS69uVgBXzX9CFdLKtX\\n\",\n       \"4M9OpiaNhS29Hd2EIzNOnf5fyySVknaFzz4UcauwNdQnp7SH/ryHRxd3OGKqj+lW3azyPvEyYYw5\\n\",\n       \"CLCn2p20w9vOP76+Vbpe7ctf5OPB8N43ZTT/NK3pU5lfV7SPjagE7BW3GV1EoA9F/Xs0HPXfTv7O\\n\",\n       \"+ameJ0FRk8i6VSsbCzzborc8WS0rfmQwhYj5lmsR5y/+A90HPMBi2iEeRhsLuhymjujk6TPFP3P6\\n\",\n       \"d5cb41Xv4F2/web6ovyatqaSuW1C+dSk1Kt8aIFeckOqFTTJf2WooGiEQ2TY04StNoB9XnGYg8uK\\n\",\n       \"BIIarfRJFga1XpVXkkkGi/9ioN8jc+HP1Hbjha+YsbY0xUkDvnFmR0WkLYCW/ZMBQGnUXEkVk/+9\\n\",\n       \"euWzgN2Z/kdGx/MIMKvKXS7A3JdTrV3f2qOPPHQRr9Rp54/fSzjfeINsZnto9X20+RAo9G4/ZEB9\\n\",\n       \"KFGcsRZAisv3GI/RyVs1HouOrzHU3hR7Pvf8/hf7o+sShusX5+VgN8tzsWpvYCTq/qXXLPDyex/4\\n\",\n       \"GBQMTFcOoxm+/ywpgjsQsIhdiZ4Z07mKePgCle8O1yAnl6qdzzxpfi+x9xLRzfqKZyOF8i2CJAzo\\n\",\n       \"x5MhSkGCZr4GSElbHm2ZC/2ySLVyznh8OkMQEcgHoC8DLLofDGWA3XMPSnpiHKUQvFL30OzO2ZPl\\n\",\n       \"+PZBCeGMlJgVbO0mfEpiA1BuuP3DSVxoBCgqmi4mXGtNAejqWKtA7T3fV02zepxSnllNhO87X4os\\n\",\n       \"6lSccFFEtumyLmCHwJaZgDiH1moJKX5PeEdRUwgdmtGJP/Rn+1Q8AUi12nUAnzNBP07kNJdthpTB\\n\",\n       \"u2Md9UNKKmdwG9h0mSW4/lvnUeOmRMTRKp6M26/tuwZF78wvppB59ZPOmg8AnIAT2YZGweKxoZJK\\n\",\n       \"0LGgy7wYdUrhDAvyi9kBFnrh0cjTNnG3dJHQ2geQyUAnc1dHLJQXuA3uNhs/yjIQVc7QSzD8/zqv\\n\",\n       \"MrbBAElrZV/TnZub1QvwPyTw57+Znkogyd6ZQT1rudAdxHDyygtcAtHzXs7q5XoC7Tft0OITX3SK\\n\",\n       \"yXllORMNYEV9unR0J0D3xyl8/oHP3mDTxYTIV83XDsFVcm6AP9mhSp84FyYap/BAyBKeIe09GNdG\\n\",\n       \"3tfBsWsp/+mHNt6HMqGL1g/2qvJeGsSVLvkKwdQVJssx5CKX29rpfU+Lvc5t5izXN7AfxD+xa0N0\\n\",\n       \"nRq+OroOQM/AjUBQPZExfmZg3FQjKDee8/2EKLXIhi3QA5so/DSb9e3xRSb2QAireFf1XW0MOgwU\\n\",\n       \"0qiPgSBxEWLmtpO3DRAIu+7u/Dt9GiK57mD/xJj0r03mAZWfNqFigKy1A61U+bK/vGman84a0h5y\\n\",\n       \"NKzzBn1R27hm3aDmYGEveDpdhmOUyyktu7P2xJ8zaLNlas92W1da45zkQjk5vTOT2lKNAZ8seHyK\\n\",\n       \"n9VAWnvNwdy2Nvs17elRE2/lglklYj+S/2nkQlQ3d1V/DavzSjfHjMGCSqoS6JM6vNIYrocH0rwd\\n\",\n       \"i6yxyDo18PfV0L7Ln1KvAukVju90PcIZuCRna1AIyYYNvMl3oFcm9mYif0wd0U8B/29ChMLcdEMj\\n\",\n       \"sNw7JV/qvMucYRGsQAARLBYdZHcgxo04C8kH2Bo5PM8/fYT2yQz3z943VJftMUCmSXFdeUmGaas1\\n\",\n       \"+GYXFKpctUs2YbYwopQrdQGakC1fBKyuPPHoeAPC6RTvde7CeKVyO53LrTcx7RBTjc7SwyVmSeIf\\n\",\n       \"gg/lAPHKQU/uwueIBRQ8x4I5GJLZUmPsr4rrFljTrFSvWIo9/V1+lnO9+ritF431ZWnUWro/vSeK\\n\",\n       \"bLLv75rUCiqiOusyTsdQxfb1z89AIOo9ii0hBEop4Cgrly2RcE60msbyKBFQNdJL7BN5u3Q2Pj9Y\\n\",\n       \"XWuCyh3F1LIle/6n5Yau++FIi/uYMm1X+b9qmLhdH6khSek+MHf37tsTERF3wK6qQqphwK47RHRe\\n\",\n       \"cRRRC0JoZwQVefSWES90q7vYrc+3s0A3TGNCKXrr2iZsmcorUon9gWu9cW4CPPm+Oh+vOpv7QlUg\\n\",\n       \"/2tIvEXpoDGbvRAjtbh4Di7myHl4p1sYMxUj+qtWkUwt/Z/+SUKlHuziH/Z0MT1S68JZ3u1AW0Kw\\n\",\n       \"Xj4NHa3DV5Y36nJZedZ1oQr/LjS/IB0T3kaTeFgG61yQ4CIx1nvYOiMKOpKu2tZzV3Y6vl5N3bB5\\n\",\n       \"ZTtVvIn18rkhF63fAiFC3MP+6vD26LIMTh3cCBCo89KBBHAKyn/OCEuwf6F9liojISTpS/EmRygS\\n\",\n       \"y6UvHxRSHLJlwhnRqAXt9LJaLQUJD7H00g7JcahL8Rv8xJm1HxgbqKHq7JpOnRwa9k6Dl3pXAz5P\\n\",\n       \"bDa/qQnC1urpzNp1BrtPemQkCKaIhT2z3bKwBFXUSiik04Wcll0dRVC3NBGC902aFMbII5/JnmmD\\n\",\n       \"DXg4mzTPUZte/m0eIPgyiF8Ujs5Cf2qD1sVmBA2kXFGg76CQM58PFEZVPaaDzTuz+UKyMkypIWm/\\n\",\n       \"BuuoVUiMRZMk8qQe5tjVwRWm97Jz0L/F5TfByvQtXfRCuy+gS1AFEYToT1LJpEH1/2ulM+o+stid\\n\",\n       \"/khMZInqZwb34NdySbsGw4J8hf/cYqS3jYj3WtNPPsYAqwme0DNCNUCAxIAsBWQco3cZ4gp28JDP\\n\",\n       \"BZyToZD3zonPLz3jpx+LgDB03Y6QeR7e7mXc6jV+d8Rlck9dTeCY2c7cmRsmgp39nBOya8CiRCKP\\n\",\n       \"KSrn1mvdsrOoDp5KRJaDczm0Ow5dKeRmZvcZR0XAMSACfwxPbcEGjfTM0ghKKUQsgLO+wg7+y9Un\\n\",\n       \"rw05J26BS3gfTP0ayVpVEuXkMQfj0zDSPTdN5Q3ww7h7u1AMb2cuxGTnEPai28snJ+MzvUbAhaJI\\n\",\n       \"L3IWRT7ZxmHN/lxvA7IxtzucfvfRAH2CtNPUgiqzfW5p4GEz/uIlkaLPA8BM06+YhXsQXLJWP7fD\\n\",\n       \"uu4TbC5nHuepKpJchet0i8pyPPYuWDqVvt/Dc0MMM/kvYS//7MaXJVLtWBqqaIdCuWey7DgpCKva\\n\",\n       \"W69Eblvw1J98g44BEh7j348A72sOl6Bp+6bYcrV+UfkxOa935EZ8hRkan/4ziAP37fSvCEoHpFgT\\n\",\n       \"MUzIk8AYbWwGbuPLqKXHRoT6wuzJ+QqIIYG2+KiLBOVO220Pod/aoLsFI+e8bzOKRTzw8kCPvdPz\\n\",\n       \"1Q+5lD6z8ofvd3tvj93kAOGhGRnLO/1ZpU+CyKevqnzYn/fxvfKRldDttLg8iHIlHY8VCfBA0r6W\\n\",\n       \"Jj0JWeVPyRZWG3PLX8A4+ImpXHDAUz0kBg2i4CwlxUPdGUgXv8Wmi1axvis137vVw3QbqWO4U30B\\n\",\n       \"TKnefwB/fhiMhs8AH2JuhISIRWdc+f/i77ghyUElLI2DlJJuQhj46Hvt2zSKAGUWIuftoIWe34Po\\n\",\n       \"74zboVRyC6NPZGqPPRsLuQxTLUxSyyNj7I+g5Gk7VP76GjoJKbefxF6PyHTAN2eJ8DmL+l7LjutD\\n\",\n       \"NQapNpf7mFoyJtjvB6nFHF09Ic+LipTUvV7UT9lq7xNppK7G6AZtSw5Xx+aWfpf75WznoTDAWRVw\\n\",\n       \"IfM0VlU+kyqViCRRZ2z7204tRWyt41H1koM9ZdWegAMQM489lPsKrYqAxTyJanFyZ33rHqMXaUr4\\n\",\n       \"q/UhFF4Gn+pe8WtVOKgUFQdkON8ymTKdVyHF31uy9MV7vBb0DEkubsQ7N31yaRgXUynt+4tKYFZv\\n\",\n       \"4cvRrJkDUulqZuEDeUfg3mOi2A0TbKaq6Yliyj7fRdQj3ERgXigQ/Yzl/VZxt6WRS+rK+UIdiu+V\\n\",\n       \"4oeFwfiFbKVdASDagFw/2B12jPcYtmCo2F3BHKuR0ZZ/lC/FWCjT3ERx1DwhhRTulcGih7Awcby7\\n\",\n       \"FFn9b1sH1aNTEfgf8zyLTMJ+HJpvrPFeyk0eaeNi5Erx59vzqiTSRrM9jqtu3E6uDcuJrG9apjgM\\n\",\n       \"WQJOxdgOUQiXaDyFsYV56q43+/dhuzHHFnXMVQ7UrZTNONgU3RH94RdPtJlmh/RA9ctDEdC48fOr\\n\",\n       \"veDEJ93JK1sukDwmDY0kYwuCT0cpqx3oTt69MPtVABKCwIi4H/oKVekLO3Et0a8ft+beDSccVhvX\\n\",\n       \"GQ3ZXxd4VdT4nOHo/9+Yy0Krx4VWasdtVdoJT77V1059LNdgUmwIcPZQk75acf76kF+XCPufA/MN\\n\",\n       \"pj6YzUgRm0a8IpZPktKU1idTJuR4BL4YIubSOSPexQBvQRhX3w5rV3GCe46ruJNKfhw9D/4B4Mnc\\n\",\n       \"oUdKcJK9l7lwtUfcGzcn/u9sveica+pqAQPd/giV3I/C/uDBoM++QzhllbNsST01QCHEAdyVkkh2\\n\",\n       \"Pq4QBjSVU6zWZdFfQhrZiWWhVka/UuouJWTAkXwvvnQFJuQ8xhvTAsVayo+w5loojMh7/4Pj0jkb\\n\",\n       \"SW9GCl6R89WLbmikqcxTFVoQ5PZ2hGyAhhBH/IUe63+YT9HOkZB4FtlLXkJr+rEwhx2amMk4f4Rr\\n\",\n       \"U3oVHk14hccKInWhZu6in8jWNZQDOgPPS3duibLq9ttVrQLiFtpUgC4eMKEgw1DOy6edqdAAUjIr\\n\",\n       \"YVlthT+TMNopSAlxKctuR9hCy4ZIwHrKkdYq7ejTLWTolJ76//FtKxFfrUcD4IdxIezqQZ9/QYDb\\n\",\n       \"Xn47XfS7uY8xZsInYZoWKGIsrvzzA0X/IqxOStsv5S9KimSaSTdkDuGmEcXL7TDeuXrmEK4NKp3I\\n\",\n       \"jrmIm7JUN/9ZcUlUKdRTjAUvhxG1COgQpQYe9/Anzy3VjTtI1/+VFVMPoBAaNfDCWy+R7hRJLj7v\\n\",\n       \"ET/59Yky3BkNNDwFCDxgW5uiR0F735sIzkN7pUD3KFnvosNKzxBQGLNA5u5L4df+70n4ceg829iE\\n\",\n       \"CKJSHmVymhzkUqswnOAMfkXRLS8+2Gpq5+EZQEcJvWz77aPQ6pPWlDsUqLVt6s6BJH/hvXrs+PRM\\n\",\n       \"9zlAO+6Oe8c90I9trkjYcCaiUCjYB3iZc1J/xbO9vlWUNprhOou30IuY15zXZK29AtRpOXt+XJ49\\n\",\n       \"HtzSdkFWAZLaLepTuVifs4Tn169bgDsODhu3yI4SubpKYaTkTERKFNytktCWwVGlXnN098B4uxs3\\n\",\n       \"HHe+zlAAAOlb/99IN4JY39ctveGix/Z24e5PnsRHWpUMQQCjrS/7JHRJe0UKOBAi2E7lJCnWCkHl\\n\",\n       \"Uv5Yxe2U0qOX3ha500RRi5t2nVwfdERa1KuQrZCQG/dmGe5RYcWQCW4cyoi4dlg0IV8GLedVugkD\\n\",\n       \"qFUfdRs3yQs9MweIRZAyQ5xppiBjXNG6NllNXsg5Dz7xbFVOGXEOVj/4WHCj5nbnFqm5yebfKiU+\\n\",\n       \"W3uBm0NrFFZQTQSWis3R0iIbUgawr3/pAg0M1wsaBYv0fuy4Ptk22no6JSJSkXiZTpfgQ98XKfh1\\n\",\n       \"2sX56y84zoXdKaYSjFOjqG7YT7o1ufPKcKtD+wW9Ue7nQz3Y5Ib0pJjEZuLnS5LRhQQLTmV8VlgH\\n\",\n       \"fHOLChLbhm3ts1fLaj7VBNUBuTOMd7Ke37Ph5Zy+Y4r43RubgpKwHE7SIHjOLg/jXHFGOA9wXdkb\\n\",\n       \"cUq9kL5XOmkAdPrxUeJSrFcGqVsQ67Y3M0ro7zqrXLJncFPlmV6SXTDmuL3zc0EC3i9mfVUzl06o\\n\",\n       \"7pCw+6EXfZ4OnGb0hgvp6c2aymgtOpA8NKfcc1bQMoSh4E0dGvJZtYJxJPpaenVeTuaeyhaulYXW\\n\",\n       \"U9cIKSh9vd+I/eP3NNw6FJ00KcI96+VyM0VpQ2hHS7xuMPXd11j+YpylIewDMb+58SMRAQe7oPWl\\n\",\n       \"9wYfKOcxIc4UHoNU457ClhYp9XHhaLLbMMUOHAHgfLX/k4oLrxY0L99PrBEOH+iGmvfGvAwkysSH\\n\",\n       \"daumpfzei1IeirTKgqdhozhflPDKmc6MJzIILr4k3s5lnze5Hbzsy25T6S0LjlnV4BBjhpXo9LEW\\n\",\n       \"eHK8DPYNmEfrnIzE8S5PF0ufD8U4u0TbE0qIPyLC90MDEbOE239E3JCdOsBosQ/6+eF7ybeelTSh\\n\",\n       \"di4P61PJznAvYCnnbIzqSo61LDR16KG4+zx5BLpLiNy4c4xNM8PhIEPZZ4m9KjuUCpJOXXeI51/C\\n\",\n       \"JEBV0cot4qAQw33VjXq8mH8+JOs21z/7jgOHsPzwp8gUK3vsfWlHpR9ALl3B8G4n/4ZVFaZ1F9Lk\\n\",\n       \"3MNW+atXyWkSQd8N7xeOjmSRRfKVYZnWDpTWsJMA2GuSqm2z0HB3+giEt849GlWVmRPDK6PxzkUm\\n\",\n       \"8hSAK4ylUnnbQSVSrAFaOlfKrkykMG4YRwwyAJ5NdHOaR4TGY2vH/+GbhvW61TnokRkQCzE/JZrE\\n\",\n       \"5zCjc0w3XIlsrMksWALWvZUcsNN7OQBX1ye+yrfxapNaFq/QqRQbmRF5xQr4mdM3hX4Z+eGcJUKe\\n\",\n       \"TpSZf+2FcBLxz9Nl4Or3rxwKhfIcSV0NyuXuqWsehIrBEYofF57gxJm4n6UuRy75xGgvr4wFVe0q\\n\",\n       \"7oNnDN5IPsye/tr1m95flZauzboAxUtIIeZb4cA7EB7JxcFt6uEEsS0cx1rPRW4WpNU0rByyLUZp\\n\",\n       \"qZq8a2+KYW7or+5Vc/GVj00ek1dUW4KCD4z6PbmQBjVzFN8LJAKbWRkmBsZ9rx4cn0Q06Zr2laAB\\n\",\n       \"HZIAT+9NMWcR+VQVVM/m5vrYk5oehSUq6u141TScI67P/3bQZqg83FEOJdRulDsxehRQVrmHm8On\\n\",\n       \"WgMNSLChGZqpE+iQ7hLZqQUepa0vWj6tc+UJk/tHSiF+42C3TH9CT45VKipbYiBc9Jm6kzADqprG\\n\",\n       \"NBhuA3Q9ioJ3fJRvNl8BQbodU4EADzmcf5IMj+s57O8oNIqWdWqPXqvp5xHujC1WbgGgSK3CNLUB\\n\",\n       \"59xtv/ZAvp7uRGPd+ad5y2AJGDitoQTiZol9gfFLYhMijb8blXFtMiupa30fv9tVCaMUOZh5oRmz\\n\",\n       \"+rsUVAN7feh6w+c+uTbcTAiQdlMPHhOL0XY0/D600wX8XvTnNzCxqqC+KwEXrPUzHkXlyyZtHvFI\\n\",\n       \"G2K4zgsMNSN2rO6MWHh+DOkS2sPmoyG+JSRxaiPeYNGnuNV0nNYNAR+fvvGMH3l8ObF6TVmtXrj9\\n\",\n       \"dIuL3J3/mqfibDmC8qxV1//UcmyBuEI9elTx+j3cdbu/9AuOG2qBmEdV09AeNFIurdxGXc1pZuDn\\n\",\n       \"p6P3/fcw+hL2Z95QegjV99ddN4tt7Ro6I0gchhF9ZdrTqbMK4fPIuVsB3WlEqcA51J7L9bskfZv8\\n\",\n       \"W8EfbCHxFz1MfNsIZLHGydsdiSJQgDYnL34xyDlPKzkZmfSBJFHnHngiTZs0BWSrgZjCIzHRAGVq\\n\",\n       \"voTaaaUod0f/5vd8TbnB++NtEOlBiTa5/a+R9e3zkgeUmYlm5DGys9nVhQ3mFuvebIcWu17Pf0IE\\n\",\n       \"JSXD/tTcw6Iunzn5TdpeGJrPbdxs6YsxEolznoGX/LHroK4Yl8BpeM8OGMOf/ga22FmiOgn2UZeW\\n\",\n       \"REsMtvL8D69OdcsQxg7ZkzJV/n84M60ghFrl3nnTI829ZscCsMXgxYSvPq7wAn4TUFq00ukLVF24\\n\",\n       \"HE9jW+f/ub/cOc1eqxUQ8cZsT/qFjaOaVDtx0sqCCqD78vsw70rhDvwvgtdRSxglt7tTfTC7vJck\\n\",\n       \"xi+tS13WD/haKXXMq+ZryEPmEdoMDo/hSv+qcqnMfvDJSM9r1ahpfgWrNn0THgeqTdH1n5jhUEQs\\n\",\n       \"2hD5wnFWN3DEKSW5UtdUxCOBHA0QpMU/1ehvpgLHMYpdO29uEWz5/MeuxgD9E1D31LD6FJU1VJMZ\\n\",\n       \"ZUAr6DWoUQkhbb8NFiJfKDplJ/cKy1dFRgN/X1bGH1FMJqeNd1aQ7zH/F7O+O7R2YiRKiPPZJ8Sr\\n\",\n       \"8sDcu2iXT+SKlyFh8jxjxBu6TI9AGyfY6PsNg8VzQhrYFloI058Ad3w819xdDJDoAHLqILycTBaS\\n\",\n       \"k4vEgeObfSRTwF7EEF8hqsNlTOa5LOrEU4rtYwI5hFUgex/79L11iZE0HfjX4VSRi9fj6ip+oVuR\\n\",\n       \"aT9sncG4hJPYJT4d6LfhJ/kP9LffOI6Dhk/hgQOq7kJCNNvEcVBuSsG8JYhUJD8wfcx3AOmMavC+\\n\",\n       \"pmkxYNfnEXY/XcKyHgAv5dq/rcIkCNzYWez7yHjLXJtTrG4exqejGMihZydPrLjZhorCv/3kjnID\\n\",\n       \"UxQ51nW9J5om37wpWga94pAZ+ELivgsLJVQS6AhUpNjNjtI/ntq1SAc5eM0c8AYDJLt1VSWdzrit\\n\",\n       \"t3bsGuvkOLZehZJSjnRaE/DfuXdVdbJXtqfLLiwvvjZgsF63s5GAr4SilXUugyZ9+xb3emX+Dcv/\\n\",\n       \"29QFczA52fvY6tbRuKatRXjBReCc2pHTKngFK07HewXWXBNC0Z9f//U0KfdorErwHbDkJRGR5Rbe\\n\",\n       \"zIf31NQCfpBlNxJ0ijiGrRKmQc6pz8TgGjHghRYpOWlYBtZgiMNz6IeWYJ/s34bjtxQgjSGKXVAR\\n\",\n       \"TwPg1c3A/JyOOvdvi8YSnnG7Gr16LF/b4NT79MM12MYeAr6lWuYVnLpwsiAGfAADXWhearOPzo3X\\n\",\n       \"lApJmKRVWUnYVIODf1ua/EghVrB171YCK1dk2cYZRSxFRH8txY3PraAeoJpm6iUj7bl4tGMiegUD\\n\",\n       \"DKIPAisGjx8KZZfmn3Y62uZ+CncNdQpBAnCyQoKmpy+msz1f3+uXhJYSeOQ/HeZLSbWJRMW0FR+c\\n\",\n       \"bhOFxoX1e9jOYgpABCJf2DCM6LO0UKsdqE/pkbo6gyCYg55uIeIATw14nb23MntUqlzvON7u2WAY\\n\",\n       \"sPOh56q6jW1740J9lHsXsSgB6sJbae0UQ1RimBEsze92jT3IzWrydzqwjS1WUIDV8s1U+l0mfj8o\\n\",\n       \"Nc4MIdbiCE8W2KVhcH11A2JRct+p5Uw0y44oQwlW2eIfQSShWZnq8qYR36lnToHOo4H+0XBhnVWq\\n\",\n       \"PZrE89L/Scy0xerkkMzLfgdYtZTpydYgMTkHhuFVHOnrwED+03ifQDFwQYwxggifyzCu1iMnz0Fv\\n\",\n       \"6JNMjVZf5A1jnmXLD0BISMCL/VMzKXViYrdxNSHx/RFui7o2X00oFqIPeoh/+OlXVcrkwXJzgh15\\n\",\n       \"Ih3voAppEPhqzxHKCKyMyS00g85H4j1FMv/SOHyxisBSdyqMe6wdi5jDXgTjofbxtuDJmcgG8lX+\\n\",\n       \"mqn3EjhjOi2TZ/yj4FTENxm2FA521H/8EKRCa0Fg8Rh58XyHy2INsnJRtziej5VRlAtfD4OyFKdz\\n\",\n       \"3wZfEbiL/CcIrjPulhhE9wZ2t38pf3XEqUOpJ/Uevv9oJKsgZ0DS/wE6C4ZfSVxIEYV7ywCE4qL7\\n\",\n       \"TUPaSavqmhRqz7cQmjwRfQKwL1zjpMKaDv9SBSvKD4j8d09dqdNYmUynTNpoQqQzM/why2I8FSaD\\n\",\n       \"ikyrHg15EJ17Tgd9K/TVWWl4vODQXynODqhhKxA52/8OfD1SxsvHbMsAmVYvOV1HI5OtTK7NbByp\\n\",\n       \"E/jTvjSdiYg4OGrgAAQIUcbgnKfaIPRH+fMVtEbYpM4+AEc+E4+tGdMlxuAKYvldq+/0yJZeK2Id\\n\",\n       \"4yO34pRRgld6xkF3KT56uOCMq6uRLyAJYK17q0vovPJXLCe26K0BWWjH72pzBRvbkbV9f418W38j\\n\",\n       \"/RckkPMBTydvpm9Iea94D8qnWl+BI6FUWkFILxZ7AbnTMHomNOBLbEsBY764wwQlP4yzbXM+ntg8\\n\",\n       \"TxGIyDjRaDHK1WhkMuP1igmuCZE78Y/4TqiXt9MIvZIR8sVbIW0N0Z83Jl5wXAsd2T43rmfzdfqK\\n\",\n       \"wiFqi/YPX8d61zPzy7g2N++I+rZMyYSew27Sh3JCUROxG6v8F/LsuozEvfOUvCWqQTRQT+7kvq4O\\n\",\n       \"Ks3NchaUHZ+RY+Ozp9vDP2jgrZjyOJkGYys48dCFB17echyNloi0xL5F7zpIxipbYSCXgQjH6R08\\n\",\n       \"vOvzC0RNrIdsPh9Mje3MU2wuXuOQwErMLidZBuGiihDoUaBY3/rVFwIUVqxvKwOZ22qdkUO0gUUB\\n\",\n       \"qNn7yL2CmTl42FcU1iRfeoye7XfZtoXHVgCzPeIeMjn4htN+GF1uUxYk/t52mOeVwvEeC9TzNDI2\\n\",\n       \"u/ypbRo/57om0SOcQ7c+CRIQMuwsElkzCM/kX+h5y2d8jYH9+t8eRm7FnxNERHpazEG+eFyz1nif\\n\",\n       \"/Yi9D6bu9IRijYtag9X5FLYpQCFOJw3+eJupMGn2oj4Q77a2OqgcivB1D8E4nroRDVBFLiVgNcJ8\\n\",\n       \"rUDmzx4kX4TW8RUB+O9BMA4/kUFu8Ps9wKZeHsAekfW+AlUhnmoWQzeMl+0G/QSPrTjSJT7+Gdp3\\n\",\n       \"DsS6xHV5L8tXg80iV0Tuc6aIc/QOny06K5lzmFTpzf57q4oRfnMOkb28GK/F+UkeiDwG+4SeV3mo\\n\",\n       \"6kn8NxNpyvx4gPLCp6hbTXsuSplnsUi3SjKmkRXi1fmOGwBl8JGPlKQSGv3HB0ET78xiqQtNmTdV\\n\",\n       \"G9MpNLck4k3gzsAklNhswPQrG53NPf+YYItCR959KCQib1Q3IzbKKvFkgDXyAEe8DlI/qlaAFOS0\\n\",\n       \"gc9ZzUx+cZOTacIs/Pt51gTlnjG7ODKneXgMTgAx+MeRgx+FFCF7Lee3/kuXjpJaglT7lPYPkMTK\\n\",\n       \"5mmYn4zuakwd/k9A8mlEjRA/1JcwrWwndJP36Dy0Yc+Mu+qlN8bGKFE1AJpc9kj0ieFM5HJEE398\\n\",\n       \"ATGFgR/Xv5KvhZCvRyQOEjkOY1l2Z2f4dLNM+sfzL0ecKJ8AhlSdlZjeEozGQa/wPCC0hR/BEX31\\n\",\n       \"yM8ilT18j2oSEZSWq8xjA6P/n4IQ2gsEWYDMsaZTBRQtjTuWlnXsgF5TMRVRZpLLVn9tspyEC83N\\n\",\n       \"uUm9YkjwuUUwWyxijZxJIupos9//3rWPwMj1PcZieHVGGnf2BiDd8/un5mLfclLPV143T+a+lLDf\\n\",\n       \"Jzu9H4DZtZr8Z7xWNWjrKEYTdhkotIdzu91/E22jAarrpD1IyAAKiTAEtMkDEeOBI+o3v3jM9ljH\\n\",\n       \"u8dV7bUU5fU7sArK7iDpnLSifOmrobAtbW8mA8wgTmb56jY3E/HPP/Pgb9l5ij4XZP7Hm12pX5UU\\n\",\n       \"lPrKHd2tsRkV6bsh0NEIIOYCMUfk83Dj0FUxVdTqLswroor5dxDAnTtzRn0Bo0nnTkFuFBzDHpbN\\n\",\n       \"DNGwMy6ikEca6pIEMHgsXc6EWtTwsXqX7GEoenCQS9MKH+Q6h48PSEBLTIsTDwaCi5WxfDvvkVmf\\n\",\n       \"JfHbrAZF6Skr0h7AMzzovd73e3kX4KWoP0ANjMRfmRjxxIPjuOdypk7gAAATrPgR2KCc7cKYRJqx\\n\",\n       \"3O1D2SO+//xBpwfJCgygSrcmPF5ugt2dv+Aksz+ZTuZ1nEfnujhYCyyfTDEtBLEG2pcRWtwfsWaz\\n\",\n       \"Zx3yMw+wBKIi9kSI40VZ/Tywzk92M5jMXgYYdvWtv6mbceFGrbhk8abSoPiIRFcIR8DRzULZXEpx\\n\",\n       \"yVbNdereL16hsQQJUOyo5afh9nwDPH4msxt0i+tUz9mBnOTilaybcKPpdDUs4pCHTEApmM791j65\\n\",\n       \"s20TkN7j2VlfFOvWkqkITnzSItsXhXFr56UGAtnwB0CeWk+8h4VmbSuu88JY3m3XV0DgMUEe3Dwf\\n\",\n       \"u/BY6lTiONGTbGL88WJw77WJCHlI1QR2TysWh2+R5CNttTMPN5EcsPdfTm5V6JJqjDMGcZ+81Kot\\n\",\n       \"Vx9yIOLCJp1qa1qb7PqGgyMqtCmmZDav0nYcbV/q2TPpkLRr3JARJ992gMaKHaGA1oemUUXaUVRV\\n\",\n       \"3CC3t/cPEF84taC+0KSnE5r0s5xkEld9sH1zsNjYZSlSMjXWm0p1FD9AWyECNlYUJWiPPjNF+kgc\\n\",\n       \"U41EOzvMKHuD8EOnzt5avkXnWK9tSdNB5rvdVX+W6PCugv8/uI3LOnGFOxFiXceUj3up6XKKLzVJ\\n\",\n       \"rg+VEl6bmCxgfNaBRxL3B5n9OL/8m+7cWnyzEsKrBwkup1E5JphtZqJzf8IF8DoNjcWAOzL2QDhN\\n\",\n       \"TwpcGJEYonp2yKEsz+CXeCiKIAj3eSsVfT/aY11iSffSaWnhxtx/lvf/kw8rm8ZSxOJUBHwD1fS3\\n\",\n       \"Q+IV+dkB8Wbc+3aeRcstxTg5mrwZ7cyMj+bICsDWtIEM5ti5gtAo68CQPrFzJb/lYuCuEJxH/Y6e\\n\",\n       \"w7L+LzOoXeDlvztHBwNLlCQ0PbPnAoCN49cJb1l4pBkErlsktsoaPvYQK7L/DH0PeUXlPwT6p/ua\\n\",\n       \"F39EhMmYoJN1ZTWcOvmY4gXxhGNJVkrqefbBafZpVZmYBdEoRUSWY5TBWv5xjqnMl4IYU0c3VCm7\\n\",\n       \"5XBX/tmbpivY5HUXDpXZ7Fg/Wcyh7dljTTm0rp4neTbr5JXMg4pfiwkwj/hKFaH8wyIwDocl9+P1\\n\",\n       \"uOFmCnsTkXnK1zkYEqkCCaydW1G4pWStBV0/ZbSm0amVvFAnUFjzRkQ6wc/JpEJNANqwGIJASw3x\\n\",\n       \"+Iu0MTp1RGRmDIzEwh+hhYbcELyA+Lzmz2Vp3EZUH6FITETUV8i1Fgk2qIN4Fv2BER9RsE03VqUu\\n\",\n       \"ZyH1arwZnMEg4Zbv9wtXVFak0xyhbOz1gBHNGqO2uBxwagYqPpEWCcQKVWKFDIzunlLzkUHTfAre\\n\",\n       \"7x8fCN3XgBBWJxUGo0+2wW7j/3a6UxVW/vkDi7rDFliU/4tWyRwiw+crXst+uiEQmf+RxZblM2lT\\n\",\n       \"JGdrzn4KDY5lZOBde4AFj2ks57dRmJwSAU9Mn0azKPyeWDge6h9LSCuoD6FuQ0tMYrbBmq1767ar\\n\",\n       \"sggTqFIlNuAUxAoZpCs09RXbLnYoYiM/ticV26mRVIzc8swZtzRD0Aflq5hXcUif7XwIwtPLo/gA\\n\",\n       \"DMbLlss3zaWTStIy+UfFwT2HjQR+jBbqyUChiRkaVujJ5/9zjkDE0TaeNdsDdxQXw98s4CmFAsCq\\n\",\n       \"q7ia0A/W3qFZHsb2v0T3Mla97yUKb3Vz/72TBgfkgJ2S81OECvk2ohkuN00ZsB1CP+L6BtU9MNH1\\n\",\n       \"ox75Fr++8Mfd4IwnhmSOJeQf+YBX3wMfOIlGvHe7uUYpCOJp84+pIZ5OKsvlgmmIA71MSCsp13dH\\n\",\n       \"a5AHDQV/sO/lMMS7OBJ9YWVYihv9+DBJDXYer5awbveX1ZklEScdaelwykRvnE93fe3vHVugRkjJ\\n\",\n       \"mQhGIGM54xvKsmDcggTgfRuhbqiRgoFwE0JB0ZcHOMTNkoPwiaQ8U++CDV+aEIF9NwaCrEywWF+V\\n\",\n       \"HdZo16jyIPeVgS8PrXOM9QPZyZ7nus1ZaHTuDWc2hCl541i5v8hNlRnbtBXt+nAlpc1DssJtBDfS\\n\",\n       \"5odnOH2PQ61MtVTVx0vDrf1wU+t09D7k0fjSD+Wv1/3O0VupSLQp0H9IxpX/oku9E01qOC8cAqiH\\n\",\n       \"U93AKP2nGjgXg/cmNdvoP1RrHFiYyGhbCIGSJ3I3H4xGtIc9qFFL2zuuiI/EZE9STzZ+FxIpzK11\\n\",\n       \"kW67nSzvu2URFJHvi95/jzbWg7279MKenDGKxDiK4LbMnpZ30NJYdb0qOKJnui4q2j8oqZx4A3Ns\\n\",\n       \"Z7RZ8lNm33UwsRhozA0rqEtUkq9Fejz1s7gvjOoWqhBvwSrnRVC50RAHw7StRVqrjq2JOnBBxPev\\n\",\n       \"d7JznxzYGgpoTy4Bspi6w8VY/kyjtfGH2BT1RTMQESplo/9EnbSJRcYuW70nuG9UqpuXhmqa4bvw\\n\",\n       \"qzzqZLIyeSrbqW0L6/vm3k9f62HsNPDHF77zpe9TiYjm1zjcydU5t5fZ8hr0V3v7Ws0o4i3yritB\\n\",\n       \"P3an/JA08Z50Tn4MxX5NFUD2fLHqvfsYwiOV4CLVr2OC+tWh8kCI3UucCP7r9gm+/8sSY1AZTmqU\\n\",\n       \"dZqvogNfjChuWXaSnHVkAko9VzMZ4QegTwTVUW0Cyd89mUlTVoycVv/stzSmj+yhCnuYb74Y5jar\\n\",\n       \"EiR3T2+Q7RBCqVfBfO71zBe5W9FACwCgA1F3t8MWW5/fJv7dS69qN8ZZdfASA4RHFkEJe8qf3jaC\\n\",\n       \"GHjFAf+6PDGDB5V2+5rrhv9tdm3pR0BRuv58lcnnTOYM/h1V/mK0s0bfYjPXX6GrSnVPlbD6qFoi\\n\",\n       \"mWCW72+PDfcqnn0pwrWWe6Olel2AQRqRmy1KkXKG6Rzgt2n64tZiK608xpGtFXc+/QDhxzKJsK1K\\n\",\n       \"iPqyy+8BKZn4vk5PC2B9ZRa+tOD1//BefgQrGyn+PDQq7KwLqvp63zpvZV812c2a/GZbZxhitLlx\\n\",\n       \"QvPb3055u4RWSOEbyVOTBpAA00c9GBDZOsxTBwYG3/JOwff4mwtKUQReBVmNqR+MG4L8WR9Bz9IR\\n\",\n       \"1TFQ2V5sXlwo3RKS1zLJGyi0uvHBZeV7kTsR5oUYRWo0sOEoVVVlcaBVGm2aKMbDzP793eQLvchv\\n\",\n       \"FLckaC4XyVVu5/PEnY9gPhZf9MyOn3Cq/68wuhs9vME9fMCzI9owhjnKjdgA0AmxsNzXJmDqEShS\\n\",\n       \"l+KTulYhGq57yYHKv+onSy1nWDLqmXztxP5p1n1zZqbgYYqHh5QLBvE1/xiaK91TfB8tjArLJ59K\\n\",\n       \"guP//EQSdmIIEPkIWNrJzXbIvp5KqNFZr1AQ0JqQyFEQNw4ITwqKmnmWqXIw1OJoWasTxZpmOyEA\\n\",\n       \"Rup1QVRvPtKE8q5RnhJpQudrW1hVZCNwoaQWQPmEb89HUbAaSAnjj8cUC9XRVeUgIL1gTiftHGAd\\n\",\n       \"7TnjRNrTzFOSEl7Z/qlzJaU0RrbWcAtkeXYUYOqHnH/dO4a1Nea0rJeCkPM8oUhJchJcnuxMhfkN\\n\",\n       \"pmURfLKEuPSocJchjxNwRLYZXXAd8c55DPsB0amO4Yz0qWH/Thq3l6peCne9kFvF2hdAo/7Tcahy\\n\",\n       \"5LVM8gVp3YnjE9B0oJ9l75AZecAQk3Nhms780dOOmtfmVxOipY+2xFhl4IZpX8OFp5MvcE65aO99\\n\",\n       \"ln4GKb8M0iqbEAwg+ERdnbI7ygqt6opevNJD0NiS781yS8bUpSl29YSHV6NaiaWAtukk6Dj+Z6j+\\n\",\n       \"O7eIia+ELE/PBnmP04xug1DlWW6kM+ZbZ45dQEMBlCrWIvbBLeGwMRycxvXSIBPCiVvwBzwV1BwV\\n\",\n       \"VoGlkmkrjyCedxM8+oNfms5JGOs+GzNIcyOfk7NKtC0P2XOPrYlgm7DXwwmp4Re1FGPWu2+LCQm4\\n\",\n       \"/bceZiVeDO+dsPyUuChRpSS2pfOg7fUS4wtMuiQ38qtYor5UIQbyUACpIP2lMIXCYAJYI+AFNDMG\\n\",\n       \"Jr7KDeSFmmesW9B0mC7/aKAQMjDE3EVqMrtEa+TMUM1A0nqaY+mhfDtwyhfO/GqUv8sGCLyweg5V\\n\",\n       \"1gkKdv22ZNxvJDBivebcYt9rorp97NB+2Z181YL+BwItnDxIgzIDi5bIL6vMko0yl9HDY93HmjK5\\n\",\n       \"yXeFdqUKnZiEtptKSzHPeXWQymN5tzxV4aSfdeWOy5MptxkNMcmRvEvqurkBa30Ps0yyHmW1fipO\\n\",\n       \"kLIQu02KqC5HbPCL2O12xlCRTkSz+X8cl3guMXAxD5+PCxSAIZy0IYByHcpPur04Cw09Rmi2WMdq\\n\",\n       \"a3ykfG42KbJl70BDdsHHREd+9RHUsXT/Vr9E3vzMusWaT9MAhasmAnCp3sQaZU1lvmaQcZ9gwEA5\\n\",\n       \"+rh05oQ2Sk4accBVxEyMQDzW95zZf3iyBnG/lyvMJ54vR/7LiWWb/KPrZgBMO4CNgRC8/U3RPBUF\\n\",\n       \"8ahR383YBzXLd+ONAMhe9McFhtOhT2DnGD25+wei41lS63tl4VGSW1Q1R1oex/jrKCrz/V2iud1N\\n\",\n       \"kaawLzOQSfipS4doNV9fhESq8J9qPDhj93xChS4M93juEWByzFhD0ij2AZLNLQR43ZDh3g+ETuDj\\n\",\n       \"bnCitujQjhJlj7WQpHpzRDTOqvkAApCv0by/tXzaDiJasxIA2XGs/GnLt7PEYmW57QjHs8IHBWSS\\n\",\n       \"Nds1VZLUmRIUm0tc6zB/34X3lncfWlXsubdiAgebK0Us+LHURoQ3FeVRGmidqwotLB2JnsD1b7qy\\n\",\n       \"wlKlxXYZXz4tRb2RGfrJRbDSk2F6RYOjHuSiBfY8iTdJhDyjleEUlrTi6mCp3P771XtTmEY72ylm\\n\",\n       \"Ygp9NgKG7QvXhDKMNdRh+nCwVs5+85m2eX2wZBAX1BoNEiHMNYqpAb/hfyJ9PWdfDfnfLkb344g9\\n\",\n       \"HgCB6eKZX+vGDx0wiY7H0gKqyxaWbr+woEtczE+sG71Bt2WFMrFhdNpdpj39VpSneXRGUsa06b8t\\n\",\n       \"dJMh9+NKftfCpEn0/fIBngKjVPyK6xr3DsLki/YiVHcLFhaUajP1+jNpDjjLMOUvhN8NMnnlw1po\\n\",\n       \"jiq9O4njJbIttyAt/EjZAGlYvBWJW06xXsGemJgSwiJlHtEM7LugyIFQ3C1zr+QmjDi0lHENEIfX\\n\",\n       \"maGqIN8zXgnjKfl82K+9/0CDxT2waJOU7kkASH4WDAhdz1I8pRgshTqTQwlTmhdytv+0CxwqSXPB\\n\",\n       \"BLFWUMLUXYcLdwrrEX9qcdHYpjNfXx1RVfR5YDfkIR3Q6aWzZ/M/V6qnzIybt8mPwOYU3t6p6pQP\\n\",\n       \"FWwUyj232cVj3mvH9IhJ62Mhy8AQjO5km7YnUx+E6C+hdcl1YY8srvI/TtkSaXvbz/Mz06qTF804\\n\",\n       \"eu/nTr+5TIDp6J2rOfMm/Q/kPk+yCD0ZkFYU6PR8ArqEojLF5DI3kSJ5jNqs2yr/C97w1KJhoxmp\\n\",\n       \"KZCmfpq8lxRleL9Mns56jSJVlw+kYhUntWTieLJSI7UkwE9GL8ddS+aVusCR25tpMftqqfwEbHfD\\n\",\n       \"lJ5vBsSE17A5yiX1fx9Ww0ACO5an7a2L3ejz/mi0P3of9dn8ql0F2t1dBz7DqA6Lg0YgvD68KDFc\\n\",\n       \"0JPpHBQSTwp9iQbF39fbE6YTktDVhCwdOdc5dp76VLiaDRCi4DWRMsQwQEmNuz2+EYwztAQftnD3\\n\",\n       \"36rUB6WbqcsAzHAqGP0aqc70QSqM25conl24MxcsNRRtEQ62vZ+yGFIdShzAg+hnyo/xhfo4bXnw\\n\",\n       \"5W0/MRCdQyos+i6/87hOuzAjXyicMRPIlngzKLfx0K/1sR2cwAuvuShGdzENAozrQU/bjRiCF6kw\\n\",\n       \"GE1TkEhVAIi3zzZePW8agvp1HyshvKzcXzuzSKf3skTo6uQJd1QxuY/adBVbrunxn12rlt6sfCCD\\n\",\n       \"hYlt8TwqMEPTWhiGkiQYEPEH6+laNao8H4FsGKr8YCj70+/ud5AgxdCPaLHhvjHvb4v1ujV50U0l\\n\",\n       \"OlECp/vfNG6BmVlafU5+MGI1krMTSEp9eyzgSB2ZxVxI6gVSszivLh6q/yHj3X2IygbZ8OSZ1V5V\\n\",\n       \"4gqTap+4gTbPJ4BW1P58/jJCxOxMgHB3ka33SXggExylobKPOegluZgcgm2plzAPCHe0TPxc6nQs\\n\",\n       \"+vcX0R+xgiuy/a+xQFS4rNGR0kTHOauXfjghPJhmKrhy+Nt2Nt75CL0HvIrMhAaIiCaVMuh9nNf3\\n\",\n       \"Wf7ez22c6ln2UDgjG0ATciTEcIqv3ri9cz5rmZ3Y///XPbUBG/8VGeQJ3EjvJH+MXrR6ayevJ+ol\\n\",\n       \"mB+f+hUKWn1ksMJFEBOqL6oOHo0Bk2u//ijujiXP9szMn3JNGwq3xN9h5T8Wi6L3xkSjh23H3VHe\\n\",\n       \"QF2sEz5x/nK8LNkkcXv275ICcLLxRLsD0zBSsZuN/bUwhgQajWpIQcjeuXYAUx1NU4cRdeprTEzC\\n\",\n       \"cMYbf1cOT8fOHSU4UoThT3MxA/Hvz78JNUdQ/YLCqbHAv6H1+BzMoX4wEQ8A6RsSVeifTpQnFbVh\\n\",\n       \"2xmQO3NuVODPzeIkqamTB/hT1Yn/TlzZNCGPjJEJd0rDdfPW8XPW/unaGQNMDsre0BCaKctpl5ut\\n\",\n       \"zpyee2gZ0WtnQ02EoUXFZeyMZSukG5sU5Tm94LrhJu5i71vKslpDyOfjqLRrsMn9NMZWPwCWdYaA\\n\",\n       \"O5DaFW/XJk2UjGZjahZqfUjj5YPtwWz3nc81+yBjBjs5uQI/KMioEMcwISqIPeuvqJ+CAOg/dUPg\\n\",\n       \"isfBdwTwIAjgIdjgAtO2GkQF52+Sba0D82HkE2b53ED2gRJTtDcqLAc7rDG3ipuYqvDdPrpjJ3Du\\n\",\n       \"hRONdUHKBVt84IyNDcXHPDay6ZLWaMGRojlerLwuei1OhjgbBxyRLa//exVLs1BfD669kyrpFAt6\\n\",\n       \"UMmDIAAHMAAAAwAAIhHQ3Iwkx9x3I1hDQYRWj9Uh+vUx73LwJlcZrfb4RK7OOnGeebrRZUIQcCQo\\n\",\n       \"/J2GrDzFzIQea6TtJx8G1JcU7TDQChS6Von7CoSdMXQInj/9l+RCAo/m+M+4aI5XuF6RgaGCxZVj\\n\",\n       \"x55nDY4BiN9LGMJjX4LopH4dcODie3QH3sc9P68kEKPvXHOXVwanjtIKmwWGJxFIsvZz3Vmz5aPp\\n\",\n       \"D5jU/l7dXjiSKZZsV2xIY1Mn4NpDJf8/IXg907/cUBz7hhINAWOCUukheahaoIK1NA82wmXopEia\\n\",\n       \"1aLSflbH+THcUSivlgiwJCm915CkdRL+NDEPN3UCOA43FZKQ6/WBv99eGJh8DtZCF/nJ4Pvu6SoP\\n\",\n       \"YOGExA/JAXO/ihwepYhfKUKggfOGxb8WADBaCb8dJykG95gTdxrnwL2QRnMhF2BNXTzZ3sC5/VrT\\n\",\n       \"hA+yWJwD+cK6pdMajr8zcGG0HdVZsPkjqZJYm7HIGZfNJunxHUHZb63Wz7/n3JlsbplQdxzMD8Fd\\n\",\n       \"FtNt8ElvS7+n0QGEDLmB3BXacRhdR4N8MzEaWHlhuYNfUcJkOtJM8PJj/HUnrVPTkcrtpjuTTkSj\\n\",\n       \"P0nrBrNpf4NccyfJQqU3ltSct8TyRc2FyqZE1X/dxDuu2HLuPULeeEjL6arM9NqMQM/GkqJGt1pc\\n\",\n       \"LgxVok6ETCsIat1U5eN4aiJnpxx6GmBnhaZ59suhY1pRpum+XhOYRXi0TpJAhuHr487WEzX2UMIV\\n\",\n       \"x9nZnm+mZ3F4kVZF2oRlPzwMMKF5FCUB6ZW7uxO0a4MvrYOJVYV1hxLLGcs9/1Bi51IvXY0wBzJr\\n\",\n       \"ttsAbP4M+fc37RNGc3+l5fstRGobJepnyCD2Fa5lL+ecVCzbGFAX+pjBYXOpWvnA4Skq7h+665Vu\\n\",\n       \"J04f+y9+TcQLjTDjlmHOliDCYsPNcQP+leLI4xgKczSy+QfIUH4NoxOekLlYJcrg4Y2xJg23OCnS\\n\",\n       \"WRONwtnI9FB5gEPFebvhWs+J/VBqEXl5GqeTj5FtDFTyL4CNPpW0W8btfruCPZxv0FAv5i5X8QfV\\n\",\n       \"yjwS0zgJJEeg34WxMAlq6D3f9+TTPz1uU1OV0MczGPpBm19XoAomHVyN9FRBAZnrLisR+GsVFH2J\\n\",\n       \"3+bVazurALO6EU/RKrnFsUPU78IwB7tjkcDp7L/O7An6KlJG6TTCxTCpE6F5OQAQZFOdda948/Wf\\n\",\n       \"rZ+Zxr62AHG2CJNtMf9LyoDizcrdsxMdok/T8NwjCS3ryTt4gwRLWsJp40vYfgfP2Aqd3X9aSjdp\\n\",\n       \"6dbej+5npwMBn/39xb/Y9gtKZze4DtGxZNKkkgVH/tPMN5hbM3GqoZRxdGsK4cIs3uhjewzqbRFb\\n\",\n       \"P1/uUuosKBWK9bPDAgE64pfjW+Qdviq6a1vGawhYwbXgboldfL4W+xnEos3Aqd0d1wd+IAxS5mEc\\n\",\n       \"E9+s+RG6xFCgZfMZrhs14f8sQYXjEjA5t8Pb/8IAnYwr5Cc8PKNS3Xi9E5PfBKjb2We0Aosv+O3O\\n\",\n       \"3Lb69x7ZAAPi3dGuhAZ54QP+AewRBTC0u7+JJyBwMVdNcwLHQa30pDvE+gJ4ueUzFins+1ibmqoI\\n\",\n       \"CtuwIhZ7O2FwDRC23xjnIF5hwtfZZkP4sgfRwd+Yk6epn52eJz8u97Ao+LezrTxc/voBiVC6MR78\\n\",\n       \"FKy7OoVo0inElqnv558tKRYVGlD+xWrivRaPGv2D6zcofNun5iIZh5eFhnD3SL/gU4NHdqJpJHQP\\n\",\n       \"euN29v6PjJfCVOyEfGAGlu6nqOySwR9Dlq/mSmWFNjQ9A7qozHq2HR+AgvUnOuU2c9BioT2cg+bH\\n\",\n       \"ySSnS3ut3mh9ZWQOPGHpLPzQTW6tVX8XhV8+qIDHCPxlZeOXfgqpn+7Cwtx8UONuC1bAydh/Pybd\\n\",\n       \"ZXbCj6w1LWFgE+lzBdaX1IlE0WDm6w90lzEDsx9lBGEXkU9+mzwYnHV67hQikG4hknWmAPqYUAt4\\n\",\n       \"zoxxWNq0rrJQ7xuMW1iO7f46Cf5oMpMbSmutAa1DlKs6hZOaPsn0qh0oGnpDnPCA02L7sYeMLvQE\\n\",\n       \"pRfankqgxxOl8Sy/kFfZPHaxbGLTLShYpieEAEHSUJfpspLR8WfpkOPDzPhhQd1CnOJTa0op9G7J\\n\",\n       \"70S7cM96yAhc0QO12Y1HrEywi6mVOw7SI4ll5zzPlEEWpTUwrh76z6EGawGCai5UyCXQqYuewTR8\\n\",\n       \"qXie6IZgAjZdcD5Z1cyz+YBAWzJf4PwxG4cTjiiKaeQWrLTCb0cUlubcN+a1tcXrwzwodaoaRksF\\n\",\n       \"dJR6Ic9xqioy8cMSCB1xAM6misPgBM42TBkoNZsvUT19Af6FhUlOm+AClR2Q5SMRhD3RWwqnc90d\\n\",\n       \"1+aKS0Guh2MZstf7ydkFdJXMS2WQGoxhU0gt3dyZPFtsilS0AY4VzqzNKP7SZ8YwoVYi2d7Ul3L1\\n\",\n       \"IuQFn/vQpCniXyOTQ5Z9eE6IBFSEHOaEjohNCj20WBQNJgZJkGWueDI0wziTRcPVejPma6FWUyah\\n\",\n       \"PZgM93wdtS6IdW3dLVnJsoRqftvjzzwXUN8AA+oNMgTQG9W8a0J9B7e9tDPl9MDo87ax1mfPY8Xj\\n\",\n       \"4h/6bGdWMj6KGkdwqSCJGBEngeL6jPoC4XJcYUBbXnduOf1EGEAntXMc8IeE+A9kbgm7DvgiZApo\\n\",\n       \"D2SQMN9Zodwox02D2MbsqnfEvcVFYppBpe7m8H1p/k6JcibjhKZGUXEk/KURkBT8EzEMuz4/OPvT\\n\",\n       \"Z7h66kRs+f94mwrz1GonLXCnHiPEFfIsCe628soik+z+LPYuhMhwXKwaCfbzD6drjJ0LgoluOPP6\\n\",\n       \"7QUzKf0TKtSNkvwFgpRagQ3MHV4OnmqjcUrLn+ftq0AlakRIyWsM8eCRGedM2NrM/xJABG36GoM8\\n\",\n       \"RqGLXxFQmDWI7iGaLdNVp0WTK8zQI3YSeT2ZVnrfCMX7QcxHsIH3KDM+6UfYo+xbP0gSZL48F2Me\\n\",\n       \"R2p8A7yGgZAq/5XIdy7arb9KQF9iy7OjaIChEHYk4CJ91cs4JeGF56MJ9UPIhsG1jNr7GkQwpDYp\\n\",\n       \"9m/ZKe4CFzm+PQb05aGM6wIaavk3ebpHRzBmQIB7a8X7zUe2252rJO0cMXKD8MCaRLlJKyBlxisK\\n\",\n       \"8l/gG1he9X3kC7CTygb4OuEsUO5KZDO//7fIj/d5/uCyhG6bYiSX+AwBoANpaE0Mj3TTky3WMe+6\\n\",\n       \"UT3etXIhjOSBwwbe6zjxZc6337RVjgOmpZ40wtOt4JvPptRY9IkVdj0IZuBWyiDuew0Vqjf8vZZq\\n\",\n       \"3HHRELoLVPHEP9J/5WsdspcrlnGg3scfMu4oZgcXNXZGWu7cnTCsx0nwBhSk8eMgImPrG4ni4E9J\\n\",\n       \"9xPbXX4a8DNkGgJrzyOhzcfnIzvE3Wri2QX20ZOtJdeA44bHKERBOEDGx63Z+H4Iyl07RyvKblmr\\n\",\n       \"Y94rlE2QvOGorYE8czxWV2Oi1c1SJvj2nF0zKC7JMdn5bBkcKvdffBUw4oVdReF3pot/LsW65wa1\\n\",\n       \"W04j+iiPb06PEETRzekXWML8hSw5oAiGnHS2I6f8Wb3SXq9eS/toEkXDfTtDI1qFUJdOP4KpLcEY\\n\",\n       \"LgWoeFjC3CJyX/Xr8Pjz1gFn/G42mVNApTyPI0KTZKcPrKw/0wKaI2gNEBCBCWsTbvYhMoyXUHL7\\n\",\n       \"QvHu4eHID/jQxNuHvUhWoZAxC7iQmN1p+fXrI7ayeWqflKhaF1M+D1kJpknIVDcq979M6BZlPzZP\\n\",\n       \"B6ywVumZNNyZ7L2BPxQzpjqkcUAoyK1WT85dPwMPYp7vjAFiP/ejbr8GYiIvfnAfQkARLjlGbK/J\\n\",\n       \"PBi4DwVRBTc6C+jIoVvYiE4DLjK66HaDhjViyycuDo8n8WuVYCkUwCQ9w9iRfZyhzFA4iU7ecmIf\\n\",\n       \"IQZWBfXVCZNv+pbegpT0cZyBHrMeJJQc6JcoxsIxdPe4iE9CcELV9OkK45cpb/yvWsEMuCZPqOWZ\\n\",\n       \"OQDA6kP/u4EmmzQ8n/zdqTOtvqSGPRGBFEP9IFZNXSU0c5fx821inXMn+Tr0xzMlH11314hsFaES\\n\",\n       \"YSEye0GDVUYKfFHoi+F4rpZj2IlYTb5KBHhx5gl3vAHvcQ82Ohvgu/Y1tt0PPx2cZ4O0zNTFXbOW\\n\",\n       \"H0IMMkGpcrm8LG6DOAKWA2QsskTPvQ45Zt49b59qUZgjsAHaqprpEDGSgNIkiNnGz+tbEhwRh2RI\\n\",\n       \"izb8oCstmuEwNRtY4hOBNij82Y3HCOtO41Yn0DrE5dhH0XlABaQhNy+0cVnUIElHbmJhrpcDXYiu\\n\",\n       \"y7JZou5wye36p+G6mswqRgKTtxXc3CTW9J018aNTT8bju4Ji1tajQ1Rp5EnJ2W6Bd+jnXtXnYubS\\n\",\n       \"XGH0iETBa91NcrD4rM/BY4VUsY9EL2W9HfqqoBj/2r6pGXhIzmfX36AxdR6QxBTJ/BuuoadnWM6L\\n\",\n       \"C6c3yqhH/N0+LqC/+ndabaCIaIzmZsmWFKqDLTrqsW42u5NzXm56k23Qd38VafwxGmcWh6LsKAlE\\n\",\n       \"tpyLmpBGy8TMgOXoxZQ4c8lw/IlL4RYy+42+A+ebT/8S2Nu36gbudPhiC+qX/f0jgAKzb+oThHpE\\n\",\n       \"ggUABJJWV/jRB9ZUVlvBSRtPiWnQ4SY830qrKEs9jKC3qpT1lOsHMhffzWKOQEIJUPscsnhcX97u\\n\",\n       \"Yr0ohZYKGH/CToDVzVGNma2As09EnJJpFUBX+KM0mBXaYaFZLOzk47UVZLbX0fy53UIZp0xY2OoF\\n\",\n       \"x0jCjY3W9VELB09ZpjKvNw3YqtntKAESwxEuSALdT484Fn8vbceB9GMjbFfaeNPpy9hRYcNVPbkS\\n\",\n       \"TsUydDmBPkH7ItE8pI3r2jbO0EQATy2We4FmFAO8zFOcRAUcTwd69wsFY7s3QVvmUxaldvtwMH1j\\n\",\n       \"7zuDzRcu9jVfUnAz+Nk5xMGLdI5Xqi56rpQLhwMZY2xgUi6mcBcUB7NE9YXlAE3uK3g5Ij7ajVOt\\n\",\n       \"bDsVcvo1s5IqsFOIIgEq8nvqOsR4UK+hqtmgz6ZueZyjl16Q5c7Cx7FUyL8427rPgGZrhLS+vQrb\\n\",\n       \"ADk6Hn7Rlkic/NG49tRQ2MfW5xqpmo3GUtfhs2n0MGX4JPgYu+Zu2OUDyBQgXAy04tKrwTv5u69b\\n\",\n       \"3/iEEx5ymLPEZ3GnSPitDaod3PyFFZvj3vlJhUsNLASoxZ0G6cKIDtA4VIaIf+0lf2xGIamjh0wf\\n\",\n       \"o4JsmWUZxD6vsiaKKErSVSpBmzxcEyFcEXDyTy+NdHnHriM9Ct7YAghihw1d1XBtVyTk7sZtdCTA\\n\",\n       \"uD9EPvP7WZIVhUbnh4oOF6jXmSo3gzphzGdzXVaDVhM8+fQkRZjXRClEgrhPvPvFPhCw4+d6+ayU\\n\",\n       \"3+3+eRv7bxw75f+n8wJwc8mFqkfkcf9HjgUZGd0Fyb1eLaT/rPVQITJdqMVlyod7iEo00bUo5RMb\\n\",\n       \"8oY8OBYEZB9dc6eZvGCCVSnmr6BLSMVFp0Pv8w4EpjDypUHVdu5a8svoxFwkoDUxvYLwVb5BAncD\\n\",\n       \"NegreyVxzzC144sOPib8IQmurErkJLBH60hAIJxFr6RVa0ra/prclkRPclchCxb4arwYqjQ5qbT4\\n\",\n       \"8vl/C12P3xmsiLBps36+wjUmyb/znqxxq9vyBEGapn7GKuiDtQ8YCzwpSgUeYQB7ovIHAzp5LMWF\\n\",\n       \"GwQgaQEm5tZMG313vQrbAOSQI3qdP6ZgCqm/eZGDub7eYZfBnQQiMTgMKD4luhYbWlH3XujBIvfB\\n\",\n       \"m8S2Go/SrTzRw3gmsOwYk/IlUl93Hlz7GZyYcHkrpqvMmOGjhEwx/wfbXEacgvj43RrUXRSulJhb\\n\",\n       \"nB2hUPPEplJ5JxQPWNtyvgtoSh3Kurvt96ECMfzrdF4MV8pv7Hx9fbu/T5FbwEd9JH8KEAHnqNqI\\n\",\n       \"9wmbrXlwMqw89SzVAiqoZVEe6cxxHjJ+8y3J8kBi4LV08/FkSXTzy5CVPAaAMolLLpiz3KmNvDFj\\n\",\n       \"9YNyfs2Qo37K3+a2utCfhd+fBvTHHucV8IkjyUG/GUV+knllXmQqR9eA6lUugUo6CPff6HKubAMl\\n\",\n       \"FVYKWB3amRTYDwMqUC9+7o3y6rSLWyUy6dklpDPMTu+FSKHFgIbUATtkHkcwAjTi/wJt/A+WmHUR\\n\",\n       \"sE8yEAgBhGe0EesMku0fxFpwPkuuRrfnjb+LB/G4ZGFm/xnQ1iz6Dvm5g+i/jcngTpsIcUt/SQYw\\n\",\n       \"8PtMuY24H76dXmzApfPxXqm1ikX7Rtno+BoDc4oNsb5Ut/gOibuq7R9RrZeWqKbh4YU37DhNSXn9\\n\",\n       \"er9pIZmV5nYzdk7mfuNVaOlDo/ON1etZJOPCgRZrOG33U4LQebQfI0SQVdALqSyHrA27Scy7dONY\\n\",\n       \"N3sERpm6lNPJXKmHR+twaJaoEvryO6/G7ocyx3Aep09F2jQX7lqz+WJKVlJ52LSf6cBtjMYredj5\\n\",\n       \"W7O9gknd+wk9WJW6SW8caKUR9yW8IywdEMqvbLj4HV2u4Is/pfg+As+EL/s7NtB4suqz3FdrZN3g\\n\",\n       \"EAfghT6Wx2LqeI+mDirWWzI0sWm9mfGGo/BgmoxcaIeorq4CPQzYkCne+C95sJplTG7R4bzK2drP\\n\",\n       \"Ylhnd+G7aATuznmo4mO+5vJyhKiy0V2QsJQS/is99nwl7WZnE5UllKgTUuvRKzr/w3jT52AFBtrW\\n\",\n       \"TID13URKdxHPhckbn+fLj4kMAHKX6RWnA21UUNHNyszS0RS4z5T8zZbUkm4PUAIJil95LrOnPPkT\\n\",\n       \"y5jnFrUiVPf/zE879R+49GSiC40o+xkPvz17rgyeLxKL+aLDqxOcSrVtlVTThdeGCqUr0D3OpJPD\\n\",\n       \"DgGQHbKaj3pAmyUodyqqhuxBwh+iMLfXAawvuC8P+QXS8A1NY6h5xl05jjyq+aqO8woskENwioWe\\n\",\n       \"9Jp3HIB7qdNoNhRv8kZkwmd2/aBmgxGF4blhnPB1okKfMemaRaPB4Nym9QL2CzIWmpbXfwou679f\\n\",\n       \"dLDnW+CFFm9aQN5tBTYkIqX/UWvfM0GDbXYffyW2HsboxOZgopCmarHLZsZl1Qm8MnDuqyB3edxo\\n\",\n       \"pegZ0P2AlDPjiOUTKyzQTtT/bDwFNJ5C3Y6ViouwoGIagD/3JG83rYuCw8qRF2LhdN6HhgA8bUTJ\\n\",\n       \"lhmazteOd6GxnTvt4EKu/7V9DiBDBWupvniVlLOHqKe6uuzUp8P73yQih++vu6K3KN4LldQscHuK\\n\",\n       \"KNdnwRTRhbA0vDbTHhv3Or038WNZhljpVeHRFiqzp5KsP4Xn3xOhsg3sC5mR/e3NWZk51QmkrNNg\\n\",\n       \"CEkJ9Rm7Z4J7fFn7zJRXbSdpS/mxXksTdb9jeUMcWX6kDKq+sXNOsSUgGoUMU9F12wzOJhd8rVX0\\n\",\n       \"DoujfeAK63vDl7ukVv12GAZUIU0LXCZc3rmhiNDVlU0JFEAg+wxLoZKxL3yH1+eO5Z7TbBmvf7qS\\n\",\n       \"HNwIE+g5YB+16a35ZBQed0+v283w8+sR6jzNU/6W12Cd/XgIro2hL+SpSYk7Yyl6CCV4X9WBUneC\\n\",\n       \"U4G2eTfjc6nEMXXAiQY2ilPqTKt4SOVaIFFmT5tcXqN9sFE2Sj3e8FQgE6SUF0x3oCWak1Hthf7G\\n\",\n       \"rhud8tvyMX020jOq28VfsvffsKwslmUiQgL9V9VxHfDIdzumistLZ+b4jDvKrTbDfoP1N2D6ic15\\n\",\n       \"4N+5q/sz+h1CpdfvN7YqFI5iQDpysyxJZ1WNNHSyQszLwXvNZoS29ff8zuETNmyadojnKoxdcGnk\\n\",\n       \"JoRAj9BUTs24CByT8TFSWSacsK3e9YYQSuw3KO0cKIuHlk4/CNDcdo4phweL71HE/prM0g2oVwts\\n\",\n       \"7rrVaSHiqORmQL8uLZc0lqrTZU8pktoaeeG46Y9PXlnxnheXKuvRHPVSghsDnIJMOkAjoi4fxt0e\\n\",\n       \"OK9u6oBA1hKytSrQ4nNxL42zkjxdUR3Gg3vGMvKSSDKO1dCZj6MMAVE29TI3en/Ye32G+QEqA4BV\\n\",\n       \"g1/AyRxOAuS4kj9Kb0f5b3IiY/D1yHDre5Uk0B0kK8QzTeCl7pSKF+bWunQsOpxrtQRE2Cy1UpqL\\n\",\n       \"dARqLlgYMNytJU0NceNLEnm3aCBXSYiTKJt3jIbDA8WfmCx/j+yO/l+FkSIzxzQDqAMXRcTgtgl/\\n\",\n       \"ZYksqPgLIUvKI6dSrlp9nFORhvo/8iD+CO5oLmLvl6uGwwLfgmYqJuiJnSCBIzhv5S+u5kyyyloI\\n\",\n       \"VUmStbEKHdC630OwqOJ9NXYOjRPXs+YgneYYiBUByajpGf/fOeOMn35YAPIt1qaF6GbJug62bfUh\\n\",\n       \"TAooGRbeyiCjix2SNYfizRRiCl1ahHY7dzrMWyVzr2XacwQuGNQhiv8+Nq8bDQc20kORioJ1qJR7\\n\",\n       \"8WhM3dZ1evdmn8/e/ZGWF1oetbXQrr5oYF7usTDN6VefJ9OKKvWBdtQfDKO+UfMnaaShSQGQDgBg\\n\",\n       \"CVz56YaS+DhwJBP2/nuzHNj1EHYqCXgdR5OLt3q/3rkmBoPb6HkePyV9qFjdxv9M06nPcn+wCpla\\n\",\n       \"Qdg2WBH0eL/GnuGGwCG4fKbc41V2ckTJ9MnWYPh9ZlcI3OpIb465YLiGsQrdQvILyMcWaMizun2O\\n\",\n       \"0+g8RhEvNc1SjRFJ+ytLRhjbIjBs9XU2jUoWkqHXrqTN3p9sOO0751e+D8fzL90zprRRF6wJRGDb\\n\",\n       \"DLT5PMbD+VxNpoG7h3bMGfK45z/+g3lDAboNjsTuRR+VhfIXVX4VQEZINaPcnUIvMlVX8OQ7s9MY\\n\",\n       \"/n/BT+80k/W3fRIdJDwc6piQ5/pMj/h77se+5R3Gdbl5X51V/SQLITNpR5hwcMyizEa/JIPCGZ2u\\n\",\n       \"mORHSUR2JA6rACUMvS1QxRBlKlX/Y3SXfkbwTW59s0oQHnW80pkGksuSimCO9skYa7lDCX9SIn/y\\n\",\n       \"61AOcvtD9tFTAKfdabB/UmC3oiMpAzNovJ+dA67FkMyqAw9ZLdU9fIzg/i8KV1QOuVyHuchmnQqH\\n\",\n       \"ZvXgNCFRMkqHsIjJW1We7XQXLNZSc51bedzbwCdfpoRIZoUc2NH+uAcrjdiYT9bwn9CaAJxGdrHL\\n\",\n       \"k45+mcEcqPV6ZTAEtcgfPpeUj/UxtIv2150HbFZnlZ0LRU4OP2HPvxrQ3UjD66Kl8N6+z6PNcyP7\\n\",\n       \"Y/LQ1e9CQ3HxRodfBvQbt8IWHHLDlhQh7UAGqoqVZDNwFDtBASDPlgpgVR27HGePeIXr/5QnXCgX\\n\",\n       \"guTfeu+1qcZ6uOqTn6nMoFp8VQc2O2SXlfEJxqqPry0mOWER+FL3kxOHOddd/ky/P/4IQu+uLu5j\\n\",\n       \"5jhqhut3Cm2YKnsicWGDM8yoeelX2LO20V3xyUxJVfcQZaaQqkOGkiyL4PlpT1OzWd7OOVw46QLP\\n\",\n       \"NoZFTtEGLYbaPJnI1PeoPpP/TD9y3vA2An93FJLVa0Zor9PPrwT+e2Fx9aYZBvL+jpo8Hk23YxN9\\n\",\n       \"EHN1pW/Kv8iKgVmxUoafnK9F/SQOJlvVj7uhZ4bf+OGzrz64VAL2JwDn/J02BPlbkW8ZSuhnUYGQ\\n\",\n       \"WijLGMsw+bbDks6+1PG/T0xhOdwV8xzI4V689nj3rfZzqWycfQmj8WP/CWp5xjxYcGrVwBYWqxoN\\n\",\n       \"Um2lQHvQyGds2kKRLzU5FUgbNggHUsALR3uvvrwNcHFaqRxakm/gTPcb5iej77+QmGIJynwXwbWW\\n\",\n       \"hCKolARB+iss4s5lsx+Pj8chGayOo7mEb4Tzc0iCmC15n4Cv8GXvtijbWVQ/1gTpwnvDRpJ1eT8F\\n\",\n       \"UE2kJoZoT1xBGHw3S9zrQMivVQf60LGR9rWj5Ryr7Qfz+S7ybYJBREXY6L9cSOJP+/PD14VKR7bO\\n\",\n       \"fVVbnCEg/4c4TQUzSKiEGXrm0FKdeGNgFl9jGiVVI90IC3rmQo0hmiD/DNeAQ4LKW8B6DKGb6/NW\\n\",\n       \"vmxP7MgWCJIePPXCKaXOTQV8LLcxLMOIrIUcjkeCkoKfjN0O7/feiGI3RqKNSj+bv8fr8swA+JYn\\n\",\n       \"oG/6pVF4xtd3qEDdP590TWZL17KVy8f3nu7ZEPsXVDFzSqA5x69cBNE6D6m2BeA1ZKxk+znpKmaW\\n\",\n       \"QScYzltlHErs/mEvK1RwNOQ1jefM7O2TJjGBH5uJ/GeD8aJktL5cOtifd6cu38DkMHrQhdHB8aRf\\n\",\n       \"8cO581h4tiZWkOxLPekqHxbwXLoHcxaUCF4OYP+EbPCN0YFbb8GqWvxEusnIoCKItpBUotNZgxse\\n\",\n       \"/uGRL/HleYaHmxAgEO7tB4gMcJMGeQw81IHkCYEK25967mSVTnwngy3abKLCDzN137bIovE1kRun\\n\",\n       \"spKVz0xBl49l0wFRLxhcQkJLq9ep4VfQKpuJlQNxfi9Wl0wyVvio/lFpPCE8W183ut3tvR8DjYn2\\n\",\n       \"KBsQhaaMvyj4NEgfdrdi6Il4s4mwIFBgklNQTVyO0/N+VhG7Am65zojvpZt6GNB/27ejt7UnQjWi\\n\",\n       \"TdUkrQla5VcoItppHAATDE+ExgJpAk58BF2xfGDM/3FXonRuTMtmgPxyhakUl9Puz7CQTYNUvZrg\\n\",\n       \"tSYUJTQG6Bam8i8xCzd4UhoJ5ICbOot0QJsWxJS6z3du0rUz4PaOfZaBz1HNnTkfxHz15cd6/jDT\\n\",\n       \"239XG2ze6xZqPTjrhkiEYnf8PXq1MaDfEXqNrSdwQc6YV6vxfFtwlvbm6JZwadO1ARpZMQ0skcuF\\n\",\n       \"ggO7j1UsnMUY8koOEzswIQDRi3gjQnzhQDrf6jyRJPyR38yg/gvskAplGbAJFyEcshVgTb415jV/\\n\",\n       \"FW4n1MFARVnIFIFwgy4P+GMlHwinS4D2x8PhUPEfpFd+wk4uqw3r1u7aR8EGSpu5y7e5LBdbCBMS\\n\",\n       \"/bc8GwXqixPT1NWX021+4hfh4qRyoYWt+fZspx/IrCT9sj7mclrlnB0aEfMlKEm765qwXgXKFuo2\\n\",\n       \"kXBL/J9Qhw5S5u2enS8JsHjsdA6Xlnfyr+K8huQx011YQLVkgNoUu6vfb9YzeMtpwf0TteDf2aK1\\n\",\n       \"6wl1OmLUP7m29z0JEDYuP62A/Zb+obP/vC121HdYdrL26ymEDuHW8T24V7GojZadMdKRhA55cqdz\\n\",\n       \"6tooEi+xfHWi6eLQYDfkttFXA3eOvBvTxYqdwzAW9ipD1nhSMPWXm7Owa+qWtM3NhqDh02Fn22pm\\n\",\n       \"Jv7lKbSFrT6kTqHiBThFY/ebmVe0l2uhrBmePFrV2KS/LVWcIZeHfRNEzi3NvBWodUOYP9gv4E0N\\n\",\n       \"MWum9UJT02TNGhirB0Uu2upHu5RDyZ9WIdFF1IT5ng3oRw59WBO+X8VBvhLOfdLfvClw5Bj/kOTw\\n\",\n       \"Prh1gI/xrtjf0T330qyitIVUBbWS1WnNZXClN/zNl9Uxg+3XMJ0b5u2J4lyGtQk0njM9o+5IfLdJ\\n\",\n       \"hyKKwAqx3kg9DNdKTaImFMYbCsIR9qjv7HaFjpqcugYv+GckJIyyfQXygsFOjp93OIrA+ZPEkBOD\\n\",\n       \"++j0CYgIvW4+UhmR9PGCcUWR6Zas6GnEOzBtrUrx/tlBI0uVQZUoDUUZShUuNfpDnfonh3k2Oe3N\\n\",\n       \"sarq/G8UbvAuyPaslZm9T0volypJx1p26Jfoh4mycI5N1FRjMq5rJq6evZeKBB4aTdo8njiDsfBp\\n\",\n       \"IGTjcShzuZegwkuanxeOFEtAkFcAnyaxzm0FvWcWHCiU/WhVjrqNGia5Rcn7TKE/unhlhhgy+Pww\\n\",\n       \"GSXtF51MbuLysJ2aAB6MPpf8cV9Z8/jSzM0RcGUkOYdOxL1bdKSiqfpCSGNFoZe6TEjI+Oc2bo6h\\n\",\n       \"cRhOZROmtv63OHS26JX9LAxpkgQNLvjC9Y1vdXLPKBFnBT6uJ/QFl1orTZPFwgeSGLG5oN0t6FDr\\n\",\n       \"RYiKH+Z3FHw9rnfeRhCRhAKpH7ZXZSCEYCzp2KowkcRsV8N7NUHn6rrjeum50R6KjMxxgqKfX/TJ\\n\",\n       \"+v/j4PwLFCFyIRB4TLM2q0Zw8ySmis3LCUtSdo94ZyflADcUC5dJcaJKpSd0pWF9jxXNY8il87mK\\n\",\n       \"wqAAhwy8kkXxxBP4lDEL1FoyQA7J7aDAkHWscdzr7ajAhH9VAvAKQkly+JEtBDLhfZgx5NEzaiPE\\n\",\n       \"5lK3a9hrvGpvOgcQ8kUclj/3L41kvFk/RCRWMaQV2yr/CVlWtlgYqp0WtWKN67EI7wmHQCgYLdDd\\n\",\n       \"P/9FkMpUCX41/sB0BLwFX4rzNmrgn3+FsnHhb6i+v3XQLGtrysIGiQ5T4OCDFH6GlmPAMdjPtwVp\\n\",\n       \"G9PQlz6ZfyFkA8uKLFa26zM235o2WbtBx052hSmXmOzLN5f1FrPafxWwkbP1Klwqi2R9S+dSaCBq\\n\",\n       \"AINCmAGRqRzqEOzYOviUwQVswuJHd8CeheEtm4M4WrI3Z/Dn65tOcCzYKCzxJiWxCsDPcMemO+5u\\n\",\n       \"+bunjxXoI49Zd90KFrJJdMYQMhXydgyUIcc+Cq2dT4aKApTBFM71joAzzvgjW6k8vT2MUtDIN382\\n\",\n       \"vEn5P+XtJmjC9W9mC5EPf4ULCW//q47Mfu+a15soLkYwpaNK3nYcT6po/bQ5lCmvhZB9WTCf6Lwg\\n\",\n       \"dSy11IS7hiYmVccfO3TTs/InmkjGQYAG8+0lAu7l8O6BvImlWowRiXcB7sdPpEl2lMowNUgQjrav\\n\",\n       \"xj/i1ALK3xkO2g5DQrLYVAWffgYjdu4YgjN/ZJ7e9UIpiNlkXT3UAeatmJkqsYvfnmEO4Wunk6/F\\n\",\n       \"DTTtpKeTpb+34IfEL0RS/yi0bJVP2Svh48JmTOLrHM2av6T9QcyypG6aPwVnsMy/5vpBk8GzsYCN\\n\",\n       \"sjdIdpNFhZfAlb9pNcmj3HmzL30LH0rT9A1qFi7rgGJAc71NcIHK6siRpsZd0DcB/z9PP9iN8w2Y\\n\",\n       \"0qnq6pm+XfemlPPm6h78nEbFZH8t+AlVCYGs2qckloWFamE0ZPbZIz7fzFbEzlcaSNoxdhuX+j7Q\\n\",\n       \"F9pekWNcYbNYk53FRxmq9ShFEjbVsvVxc92fk5CN0/9YBEYvjRZbBjWvjy+zfY/vJpOLqTZAAEn6\\n\",\n       \"e9BrwjihDzdAw5vtUtJ3s4ybpUHUzKXVOYHU488uVSMiCpuhedqOR23uuCIjtTVk0vCi0h2CfVvt\\n\",\n       \"awRc8ktXd8i/oqGqNUE2zh50+tyhKJNZNOV4C+gz+Azw+BTZ2XObd1OAEk291FZ+2ZqBNEGwRWfl\\n\",\n       \"A6huldTxWyMCIxqUvWQU+8OSBsq2y1xXCNz3bCrv1/JOXP/nJkogEYNkcMD/p6TTDT+YShXdPFam\\n\",\n       \"0NUrK53J/F40brX3HtNXGrFbkK/bezxrxToIuNCrDMIvFNYg05kiyDZD6yU34g+emqJFv0gv1YmJ\\n\",\n       \"0DwHQGOmJ+pFgPowvz8dWYrDVcJe2+41tE/hmN98Ff3P6PGfbNe/kfd41tXEe6lKlv8HFkeBuhyk\\n\",\n       \"c7gNMjErMAVcWrMMKmLwPmu9Vloq+QzdVbE6liPB/oZv59Ootr7Hu5wTLkDHHfPQ8U/hSKtKLjpL\\n\",\n       \"mCNWhawc4vGyMSTvw9JQHJ3oF5eCAoFoJMSHGHFbcjXyLEw8JSEutNhSGAhy6VK33010BaCjLXrx\\n\",\n       \"q09E43W+0HibaZIPybHJYXELdztJsJUXuwwkmT8G+Xp+8LUfwuN2STL9u53Yk/7FMpbatOm2eZnr\\n\",\n       \"Qt1u3ED4Z6V8NEtjq9VzcEUtvZP8KAsXr3dMbHbaqRWU/SEJISw7dnvg77xr/CJG5uPqeSzMcy58\\n\",\n       \"KVDgXsWRapHMcDyk09fSkM3w34mRum43nWiMDKBzYktgFMx8cER+pNs/8r3Bgstraa16jukSNpHJ\\n\",\n       \"B1k/Ht6EeDOoStrRtrSzSLsltnWW4CocY+jng7eR9i0iUQHc5SYefBvRUqFroysyDm0fp0Ng1sXm\\n\",\n       \"J9GtlIopZVLVztxua3K7belUf+pwAGgZD1SCofEEnZCLy8PwE2DrmrqS6VTh8T92QIMIIcjar4zv\\n\",\n       \"/kC74ZS4IAty5FL0lUd8YBeCbfXD4jKu+tVvSkWuFg+HQmNPJQMVKfKw6Q+hJb6pAtQwgRXWPBLX\\n\",\n       \"qM8FIc09c7wOeqAYt/lYfquujt1YvZAFXzM4GlzFMiYP3eW7jHOl1Fn6afOTFWxFm4Ja9XQMafKb\\n\",\n       \"McjzrgPNhsqS/VnWvfH0R1vWQSRNwzQMlQxmpkMH4xdWKMQQxQV5TFe0T9ycPO1V5B5RVqPFhckW\\n\",\n       \"Gg6mnhIyMvc94UC1gN9+HKK0voPBA2sZXHRWZFQZ/L5JsU8n7gTdTR6gQMifCNsccchQHxE6LQMK\\n\",\n       \"wLsAxPlg0jkdZuwYtfv1FpOHes8GpwGEIwUxabHT0MzPbTI/6NIER1drt3Vj4Td7F/DdqKqGz4t7\\n\",\n       \"CeiVNNoA0zYJF1AIeEpWFb36xrh/RPGTFoPkk5GEe+JJXut/eclYMZC+/Wi6sQpUy63vxwEGT9oo\\n\",\n       \"nA377IcVyetZKfTmlok1kNlCU0SC5tJAfUzQTPOpbtck2Lo4HE+dJfFD8GeCeiQWCSxs0EwJ6iCW\\n\",\n       \"O5VkN6K+oHZd9swcC2YJeNvknSuByNuNxLs92Tnn4P2SJ2uaK9bIaJMWgzn9JfpMagKpo3CHBJpx\\n\",\n       \"njYqA0S+dJST+6wD0CtKEMp1zFw0HU68GwI6VMLdExXWX1hL9Uxi9p3X2MAj9XbULJBTs0iR3m/S\\n\",\n       \"HNTLlGeOuNrKufy8IUU250qP+S9HRCDITIaNi0UwMQ1SsUkvAeG3nTeK43kLEo576tPFHe71B2q/\\n\",\n       \"T2pJEGssKWulTRZB58Dc14zQef/rZJQzwSoL7rRCb/s5EXkr3OLsHXzWgePj4JrlsKx1G3adEYcT\\n\",\n       \"VHgR557AuUOin901ozPKo6HbbpGQZl/lZnJWqIsHoRflJ98TFFh63Qj1A642yHtdkszBaTx/Z4oL\\n\",\n       \"MKEI04nvGijhO2qVRAeYPNdiO3iw+a3tmqVVg74pdwGVNCAjeZDH5P638AVMc0jQuhDgWPOU9rNm\\n\",\n       \"U0uW6rf6BBWxYsJzBmLb80JS8GPoyw/1mowsRsgNwjGmME7ohZt79FpnFLTmROJW8pAw09uFKlDU\\n\",\n       \"1pndHbgc7YHHcv3fml5+YAteq7raKeVraxYJiOJGvv7wlVdWOPwrX1j1WlKIWndrm8PR4uDXcMYn\\n\",\n       \"w60ESopQQcWJQy+T0HruxgALxfP2fgPAFSl4BXbluyzrKGq7UfCqXJ6dPPU5stm9UlSX7M+6kX1x\\n\",\n       \"J7PPk88Hziw9oNjdLkgKppn0Hnwl/z3D9wGFWjdA4a6c/iToHPQzvNJRwE5memz8AgKRJT2VMFrt\\n\",\n       \"zkzTMbJNJ5R9/ngz7AXwMcEE4H0Dh/OIB2kSHwo2h5Ouv6Nr4/RtYPyIGfRdqEOVOgxQFmyBVlQS\\n\",\n       \"LO+xfXnb3RLctXOjbfMN64BclvBiuyTPVuwTv+Nk2wai5HdUAHq5mUTnijLR9+fhf1aJDFe06vVV\\n\",\n       \"9oP3V5BmjrOmvNcQC5aRDBtEYg1P+ZPiB+m5qk/m8BSPXE4dgkRur35pXArATXOpIiwwRCGOTqMT\\n\",\n       \"3c2HtreJ7sEDFwCt6Mu7w1Ax4gV/WIoYQiKH0D4mUwN18kcpOiqXHHcjBtIDsDCopWCmWX4EyZKc\\n\",\n       \"h4sHhsPpfoXGa4L0lWFY8ULzIASWrzkeU+fGzQNZkzwNtKcA29bhm43LRDhYyGX2Mv02FVXycDFU\\n\",\n       \"b1bqMpEheFaLxaoDwqiRbBQesIBdkEd2/Re4TEixR7DY0sN6TaI4tNq4TigLqzmSW2v90ntYe3eW\\n\",\n       \"2XcxXOo/6IfCMs5FzKsjjeiZR10+ohJK7q/cSrTLpsRN43xfSKAhHVtlVdtGIdJCnr0to0VZX/mg\\n\",\n       \"3/ZhMddJlFEMh3hNHPyq83UzeJh8MplFhnWLwnBgZk3gmv9GpoN2EHe5r7PCezdKov6JsnZm1244\\n\",\n       \"g+VlI+yUZvEgNPax0pV+NiReEcjz4bsklgHXQv0N3xtouChbOioZ1kpplLkqLyGOYdyvVfCewjCI\\n\",\n       \"3vORjoqNL0JH32Vbj7d131iwucH0ck3nbHx8gljkT/ayAaAbruCsn9B+evx/RFJModNIa8vlE1JP\\n\",\n       \"ILM/wsLxofrgVSJFPD41VyRlhvF9mSlwvGev1R9TiqAu7s1D55IcYKFlvN7OuDWSHupGwue+QJNw\\n\",\n       \"n9riIiyaQi4fXEb1eHE3oAgbF85eO2oZh9sZkmy2bPb2zJFI+xkuRVErybqt//8GxJasoPjPU9Bp\\n\",\n       \"1ig1Xq97dkBOd/HTfPecPzCwGLoOz1bNEKnFUYVWMcb+tZjOgd6UzsdfeZ644o1VYzTXp1v227oD\\n\",\n       \"o/hZac3FqrnEpVd3ZKd4Bzwu8qBvAQG/D2U+39ypnQ/8TtE/ZosgHSMyGIK1kGiPZu40JKKTEzwD\\n\",\n       \"/mHy+pZ3I43BKgTK0e1z+2Tmio0c4GyLhHz1tiQpAO0gwMTSNjeI/yT1H3yObqj+OCk2xS+R9eAT\\n\",\n       \"bEgULYTrI58fZth4a+kHE6OiAk1dDktoyFyaO4fVcYMYeTlSUXZwn5/7mAIllG7rEMGQFYyuZ48L\\n\",\n       \"YgBFUw0lfDC5DnQE7OFODIGHYMqL+W1THpfkT8npwLN4wj5KvS0hQ2ZT2+EEmIMQ5jGcFnzBN1zE\\n\",\n       \"ZDJsKsh3olVhcVX5vd9CA5fpBR25AjZNEktU39WtXZPdyuElARbCynfOwcozy4NzQGOOl9OLBk6w\\n\",\n       \"hQJoINYWgD4xkaT9psq0L/liMSq9WIziMnzpk7HibqPjF8gAAeW9UDvbykFrsjKqnXRtdhzNXHkS\\n\",\n       \"GtZmyK6kTG+vLuazrB2vDIUQ1gyh9PQXdfY+Y7TSFUuxtYYiqsQelvFySYu0pkEB345ZXkv1oldO\\n\",\n       \"S0RXa4JORgSdsLc9XLn//Fx6h/M7CObyqQznbR6nqgT6M3SHZtWcNFiwDWUAHbJ1BxJWHcbLlzGH\\n\",\n       \"zesvdihNsA9dOEA2tHhuBspyt5+QBqt/TRJK6+xMS1uY85zK3HF4Bx+K+NMI9dM5r/3AFpZ5lzFD\\n\",\n       \"PaAgIHVWTRyfHkDom+7GCXte3T7LXmqkShUwbwZlR8lvFoxZha8x+2UIp4kQv4Cfs9uppjUMNIzz\\n\",\n       \"B+2uhz+PasFRzfk4ZjBgT4yJXHuTHmi45GA9+VcmiadJtgBfjQgbX1U4TWV6eMUiZmcz3BZu9PWv\\n\",\n       \"Oc7Tf6nOfQcrgHdv1heEzoNIQFftqnYRpRvKKME96PtBvaxZ7XC2ceAQhGK+glAt9eNxozswpRVJ\\n\",\n       \"eXlLPHmwg1m45saqAcPdl8lWEgy+NMQFJVyAw+hB7tZIKsUH+in8/vH1jJeDnQ+F/Muw0nYmMpj+\\n\",\n       \"MbmBRm61cPjuo7syuK0RtwZJWp9XPN7KLbZfUFVPeDSxQntTKa4LRgbTloxgPqkL68L1K6aNv+CU\\n\",\n       \"mCFNJq0tmSNli0LbvbA7Jy++BmUnhfmeNWj2dyW2xz2tSmKV0JDfB4vUZBEBmja+scN/zy5NFltv\\n\",\n       \"/3Rfo763iLI7JJrXX6WZDtVMLxU+A79+3kBrh+bO9NpNN1AlU/sbR13q3tACENAGQBVFIv7gMtko\\n\",\n       \"3wExNwUTN8q61+OFT8krVwaTb6zEW8G6MWCh5pBIPCnuU8k7/kuNdFCBwQFK2eeZKVmia0/9oP3O\\n\",\n       \"xfPIuQNFwCXXSPrXLudpRSJ6TPAUy39pD5GMp+8i1jcLYgZ+xVhD5nuYMnS9OBhCe6U9yeWsZLVG\\n\",\n       \"Zy1YX5/61yagqoszJEZo+02mQiFAr0H8l9p4tAdwnuXVIHtNZ8pWD4WBi3+83oBI/MwLi2pG2Gzl\\n\",\n       \"TGKkC7EGJuH8s23NR4MfQqdIcCc8MFhErWxlnDT3OXNd0IsbtGgvjKpTRirFEsHkbrl3RwDhX6Uq\\n\",\n       \"Sz0GSr/hN82VZ9C1mnQGobaF89u99ayDQEH7ceHbvfgGDPFtRSbaWiVRN0+0QgVBQ6W9PYoAkAJ2\\n\",\n       \"X1m2MwqPE1ZW9mRqexQGDn2jVRsuiDXal5fAgCsM9RoGvWnbmKCqRp8nMp9Ha3JCxYiJJLFEQOxK\\n\",\n       \"X0R9DauimlEi5IVRfEZ06zRHdOSTGO+9RQ5CHo+sG+y19rZ6YJkLgVKE0TEeC7Trz3j/QJeAp+c4\\n\",\n       \"rOAKgksl/CoXBpKNhVhranFUMUlQKT6THUYTsCYWA/RU26g+IVdHVgEU2Vam84vdRPMKC5ox7fli\\n\",\n       \"UCgdlw9ewcmfniNhEXIzQb4LCXcXA9HFvWXDZJSB5gwmlZ2eGNSQIPyJdtAsnPBb8elQsgW4L/7j\\n\",\n       \"LNEostz1KXitZDaeaNKKnqS9XEC8gIdUDfe6WWCPdyxKDt+/nbGh+gQ20DhmftbnG8Xz+VOQdhI4\\n\",\n       \"c4sbZy7/FlM/G+Mg8g3CkHttAJzvcR3rOj+Uh6EF9fi9LOqeEOoRfJuKJMgG4PH91XV/2C9oNo8i\\n\",\n       \"LXOP15I16oXTASQSTII/6lJEVL9HsjuyB0gQs6pw37PEvfgwgjFOfF6qr6yBSZAAVOpW/QODcTFl\\n\",\n       \"v09ZZMvY5Eaz1KR3IKSz6J0GnwhHy04HV7zkEMeNxmD5khkue49tkq0AffhdMGZqn2Nlxcde2RdB\\n\",\n       \"RzQ3Sf/dxwdB7/R7LcRRxp371YX8/unINFNUsXaEXojHazCGwQAgwd9XpaM2hf6vovhv9O9EHeK8\\n\",\n       \"PEA9Y4+PNZs/PnZiyLr5sljW8Ivhijjq5QFPzy1Oh7ze0QYxtjiInv9WalEwUF2hq6FDlpOmOuIY\\n\",\n       \"vfdy8qrifsYrWYpeQbRaJWp7vn6aOOhLa69TPvihqwdfIiFPVdWWj9ehxxieVfBaXvw+tOgjgm5S\\n\",\n       \"6xgT9l2WcEmAYO4Zm6wWffY6r8PD6dX8JPm7LZulaxlaAWjdZkYclHlzlz3mv/02BjpawDsBX+mB\\n\",\n       \"1yDgcgooU8v8JzHxSvb95lx8Ir9Bsw8fhjjO27KsDzXQsqGXUahgcL3wxDWaMJfn8iDYvTiwniQr\\n\",\n       \"UzQj/mw8B9DWxRGnPibo/vAXOp7zmnYzCtEnMssVXhsRqwRUXd7uooNTu3RkPGbldBYT1wAyPvaw\\n\",\n       \"6UtrbhxwnusM3tR/Mqnk2UtjuJ7ZzNfaO3xPAYTFDzZZsA8o8QqMpm5EHSFziGqW4QvsUoiCm5pw\\n\",\n       \"Ff+7qNkQoF3+oRjdRdYGZYAYy0Mt1/rYfVgI+pspGNG9Go6ZOnDVkzTtKFzbw3tSwOiM/igYfJdB\\n\",\n       \"RznSykJUElj/ZhxjYDywHkeMZHaIHqbOIINa95gIv4/fratpu3X/QVqMF93sG1NDZO/9Dwlvjp6K\\n\",\n       \"B1zOWG7jzgONYtpqwFkdzbl8HtOVHzPzJLuAw4yAFiajnC4XuTFrBbf9QMUSxR9flqcZvT326/hM\\n\",\n       \"1glL7T5wv5K0Isfd5OY/Pu9PD6AVxA41hCfeucw42jiECMbKH0XSMBaSpjr8V5Tkk6BtSl1xeWv+\\n\",\n       \"OmDJsR8byVrX/ucnRMXn2voXLAqDnW0mVV9tR8VqkAv+35ZPrZIVKE02WfD14iy3VLsoXDiByxoE\\n\",\n       \"vs7pUDI2O9nblCsgfFUO1xEFZ0FJV0xfcihoOycC9HAn1Cz3Pk5Ktqr5Sn3YUxPKaoW1H+X5xTFC\\n\",\n       \"HKR3ypeh5qQsGpVxK0G1kgeNTtMHe2wspCdmOThtxWMIGloLj3xRPEZ2WS3L3H2CaF27CVVUdR0L\\n\",\n       \"jXmUyKrJ28HBagKNWqHTjWnkBeh1zv/Dddw5Xc65LB5NkV/V9TO71bymecT+bRt1gS039be2QUWq\\n\",\n       \"iHOX3OmTtqyjTI6t9f9oZiNtCYGjjqsXkGzk1iae/uzFoNUTVeVabYrZsiEEUCv82l9rwQU0U/y8\\n\",\n       \"zGMM+UymIkos4bq4Y57vi7eL9pRdEsWfFzzG7tu234+S4sMcKny0L652LUTY3tQVxgF9nqYLGsOt\\n\",\n       \"etWBStfPxkHktA1q4hWYKH0dooarmQOHagqQG9XZ4W1O7fadf4V2gel6jt7bsIwRrp7DwYzDVXfc\\n\",\n       \"P8muPxxph5E2qea6hXjLmm/bEODk11lsoHkcZl0X+jxmIMr6Eb+bnXzJ6u25V0wVPZx2CPATb1zr\\n\",\n       \"7mj/touAZnjTsI91ViPSP5iylsxAT+Z0ukamKxVMMai5FNKuUbNXbewMsJa3bXjoI5+GUfzZoL5Q\\n\",\n       \"dtV+zceEIqFiP9jqq07FA2yONA/k8NwHV3IhnodHloNRXCy0OStc2bGHOpCusGyQVFIJSEPFfI6+\\n\",\n       \"kPVyGSjgmGUAm+qpSNKTrECKkk87qLDLjKgBh9A32Pj5bXGMMJ58gXqI4riYXwRKVn8+V6rVQKlm\\n\",\n       \"MPL4qefK8E1nRgMdt8e69goJ/9GbRkmB+wgtmGhbvZqwutRRUmIv1/7YqoiOjD3cqLdqcIfLVxXZ\\n\",\n       \"59RgRzgYS5FArJrjx3gmW4v0DJcOe8+PlfImT9NC+aX+n+sBStB4fYr1nlx8+4gPe1YUiuk3pTdZ\\n\",\n       \"zbOvvk4AaJRK8+au0Yo9lL0wSV4l9RoooNkVqbhOJR9yjTwHNNkOKdBTSDQY2qXmnQ0UjAmJTXbS\\n\",\n       \"4U0LXe+WRuk/K3xzCjc/7HCdeDOW/1XOHtL+H2ARsDJ0P0k6vr28+IVzRk8iZ26r5ViLOytIgPFX\\n\",\n       \"BtjfVW+3HkgrmZGIF4kT9RMgkHUUxZhP462W15KxI5961d7smDxbqmOLF+vljDdvABOZ+ZKtdZcx\\n\",\n       \"ZieDAshuu9oXKXoJyjM0n8nbQnBmMwDqMhoAoWNbgjcK/mO1d3+WciV983+4C/BtZ8kIPQPOoX2Y\\n\",\n       \"CECMrw2AzUzOlBvsrbBbtmOtpzYgZ0pD7gEq2g8emrBP8OJvfLoHBSM1YBfxKvLrMBLCzeLXFovq\\n\",\n       \"l8G/o6ncHgtljjw6i+jPiyfqCn9g0Q74T5xquXoT/2tjrfrNos0FivrMPv49MJX3RWWI73TgzhqZ\\n\",\n       \"vcd4BNUaoiV2jqFxZqEiMtWbN9FQtvJYalmF6xS5ahVqx8NDh5EeNW3YBcjWAMESz1opSfa1O8jH\\n\",\n       \"1ULBPyZ+IFVvaLe/i3kurMoMGVU+M4MLLrc/ALdY11ln7+VhkM+Zf/MAvkK/2+dvDAp5i4GpQF5V\\n\",\n       \"1SS9fAUL2LV6GNafMZjgRIN+z2buhQkiBFGunT1Xl47Yq3chQmwlcCGTAcCjsQdMD1mfFRSYD+9d\\n\",\n       \"A+pEHPhU617wXHP4eAJyh3BE3U77NoWIrbjQ6aI1faKlmWqr6I/uFO5nQZtfTOjtna7zuB32f8CR\\n\",\n       \"wMFnMCisipu3puRCAUpZEJcc7v7OjLSzTQVErjyVydIJ9QgANDkS6m4aea/SBDIeYCwFo5g9Jj3w\\n\",\n       \"pZWYemyzSpuHJYmv3NIwfYb2P3o+gQeo0gq7Kh8cZYShqKHXcUV9ppnjzolvKEvxbn/1BXaellth\\n\",\n       \"owOYoVlwsEretA2Rf1ElrocBPHpN8hgpGm5hJBCBl2OcW6qyDjaUDqK9wuav1aUO9KjCj/1XFNpZ\\n\",\n       \"LgdeMSSl6AZ3wBDA5Qxr6TfR9fuJWjmjmt76FSU0jifBgT9Rdjk6dcUtOc2/HPDFy5nlcb55a+xR\\n\",\n       \"rL/8lbJHSdDcDHMg2NswzCFfgfTO9P4Fvn1tobC9Pb/DSHW0zfjiSVFsRjGtzcVmnl23CXkv22tx\\n\",\n       \"bNcyFvlMQSZNguxC6Q+Jw8aKOSgTkEOLojwWU1XX+iBnf/QZLymMd/bGXPUjsEw1pQHYwnm2FCWY\\n\",\n       \"ot3XN91zO/9H4j37tWl4JkRHCXevhDQfp5y57lGKJtz7cIAh66GiOcj9DYBOKrPAhz4X3NhJXVmu\\n\",\n       \"z3MVBDouPbr4pVCT5ayYz1JQnWNIAvVT1L06hchBE2fxUOmm8/GLK8gue19WAT64Booiim8SVR6n\\n\",\n       \"7eVsDA3R0Bq/gZSMFBXv4vZBlCjLTaxX32QhrXpF7+8EX8pFi4f2LZ+atTkGqzJTtd1C5VdaqsiH\\n\",\n       \"GrNxR6yJR3HgIMp7y0qGIgkQ9Ztq/gA44Jxi2E/BxrSTb/IV0kyVc2kjogjBwJzv10WbYqhy6GUd\\n\",\n       \"xzxV+i4tA86B3l84WcogfuUdYrByMk8uG8ZwKKe3NVEeCOiPC8qgqqIl9zO2cinLXCeVRxy1txVO\\n\",\n       \"aDTf1/jSQFmyXR2h1Q0tmaYPrvgLfu//iqLN/nwnCPeO8O9EEMSQp1lWYaGksQ8QtZOtc5ZjYoXo\\n\",\n       \"ctRjjlhQ1FiLFRN46krVxAiFWuhtyy7gduauTCvdQfV4qCypipVZ+exuw59BFu3QH/46kt2P4Xpx\\n\",\n       \"AanHwBhzu1vQ+EwSBywm2eXcJVi7ahBgrfhKl6V/H/wfAUwrQh5Q/3P4vFi6PRo63Jg0KjwUtm75\\n\",\n       \"OKStkHy/MZQG9tlTq+wSKKpyjulUCy5Es3nSGkMmOHKeHF5F/ENDkh799nVA/WOu1nnFpsiOf9AN\\n\",\n       \"1Zyv/xK3LVHlEzxsHPcdBsV+QDopMJTVW/2Rse59Gjp2i+LI1Cy8YHGQInIPtDP6fGttGrFncTs/\\n\",\n       \"Y44+yHqy4bJg1z9kl/PUjMXAkWscvZJrOKYZ6cn+B/kXsSfJF76Hf13YK8X6HsjYS3e1Dauqx6Uz\\n\",\n       \"ElVCRBUYVGl0HCLfaMv6vir+Ha0iGCEfK7cnDgpTYE+WJjMfKRLyWrARI/zJ583PyQA8p6lgZ0gZ\\n\",\n       \"DeSFiXXgMRCJVuUDB2gDabvzh/+kbL96Bsnd/dvCkLOuWaGAj6ZBMECeXo3Bgq2LBVSaESE3WWkb\\n\",\n       \"jSe+BWksVSg+Xs1q8gRq196aXkjfOiU46x/2+aKbcga8x6/Vo37L3vOl1ebwpACYKv8RZ1S06raf\\n\",\n       \"eYa6s2RIGUhiV7cwl0FTZKJQVlM7baRvSwPHcFSGKWZQxqvvk7jG49X3OOKO4Si6zj7OL2C3QNux\\n\",\n       \"VN2rCf8Ik+05FRWdzbkEB8irxKQwKaoi6RJtbFFgmoq1Gi/sV3YPTpRWwEBxfUlIbaVP2fr2TIWL\\n\",\n       \"qQenzXyL8D/u7gtXOJZnGZAFPK/jXo0mIowpUkK8nhB5wAlHvYTJTdelbWnxlZUMXV3wFIGsaNI+\\n\",\n       \"86tx0sCCdLsg6NJ4JQh1oioz82FqLPpnEBAamK8qLeXC9BuMPbwAruxAM7Q2f6kzkVNaq6+OLzOw\\n\",\n       \"/PlW7yIhQIwQObcOcDZ2rkRM/O+5Wzh14tpmaY7YVRJ/VWGEN5LJJgw2doXHnJ0zANX29QBFJ0pD\\n\",\n       \"Im8kZfVFM1E2LvYh6L0uqm3usI/U/vP5rbR04LTlOlF7lCUEXjmsbiwtYyqdvJowDfbmGBzGgjDF\\n\",\n       \"2lpwyDwdiBcbxYznXVFPGHGtcgxqym2dfsg77aSzN5TyD5WW3xp5sdnCT53HcpIYxS41WVAVqT7q\\n\",\n       \"zJAjG34KbPYwB36MfBcE054SgfEEgFIgFgpaYz0TeSOomszEpspRsB3RyNtgEZP9TPFwW/NDI0OG\\n\",\n       \"7EjvX+xHMb54iBqDTd+NoeRHnS8ddVFH6c+XUjMOVshd5ODmuuCNeXttdr4FngwmrlQQnnqMWiLD\\n\",\n       \"bvatwuGwPnd4Ejl/tFHsXrr+jcSQo7UsdIfCDrqazyn9Zfn3FB0lJkX9LdHNb3HaMbwsDflRusKc\\n\",\n       \"LyJ0+hjOrjCp6FJfwUeSrbrr1ZjEmywYsTz39nEHi0CpbuHPVlWltcEbW+8y+EtASZad22r2q+zn\\n\",\n       \"7ygoCp7J+bnYIHQJTrK9vxxZhgzgEhd3uKTiFGhI15evIaXr5PJIHCfdGJSaEk6UjX8Vn3fK9dRt\\n\",\n       \"ZYS8DuR/tv6iqt5VEqMfsNUPNYayTPTmMvO+VGeJwqT6w2OHUF505GgHrX0H6gUgfvXEM+ltL6q4\\n\",\n       \"xxnDmw/A7T/TO2sxd+59NwnNX/JzDCTDYTNT1H9M0QKoPKam3105k9/QZOXEZuxo4GCgGR9eETt5\\n\",\n       \"Ym1e0Ros8ZslCyQxca/vEj7IHyEZeYHEgGx0bm6OVUkbAV2CRemTKQVuxek0sjlWZOGWjtKosohE\\n\",\n       \"pkT8DeJ+0spyx5tCsObkqMspbAGI47SQUc+be3YFHIWL/WHkcFh9WYkisipl+9MLRd2EdTHdoEZu\\n\",\n       \"BI40zKVJy0qnpbXSdbvoq0OazKwAqr8I+CoROZ5A8ID5WAg9hbhvBJanUzaBn94t0Kj1/B3pu9IM\\n\",\n       \"Fsoi1k30rraxOrptqufegj3fRGnw0JC34zA/hse9D2Eip5EPwnLtHT0KzMJrfwQ06I9S/qCS/muU\\n\",\n       \"uw7aL4fY5dgYzWMj+sw7COnb/eKl6PNt37w9GO+Xs/Lub16Np1gEaIb5PkXlLN9Qo6M0Impj8r7n\\n\",\n       \"7OSKVbQzRdV9i5ECaA3mQb4WmAku4+aQDlOEeyJpZBAWvEolPBo0bdt07rRreVMCTy7QnajejWdt\\n\",\n       \"jMm5XLlkHEOIy3dGy0Nz61oh25WHBJQhcIbWZbeTUXVub8xT5hkajfeBN6+8tfpP4/2xJgVs0klZ\\n\",\n       \"W79XMRoba+T0ZiRnR7Bhm3JjnkQeeZ9XSxv4FD4tRXGMXO/2qDSP7ATPmHwEU8b6oTDdbeId+2N6\\n\",\n       \"dO9clRZ3xjMGYlg2Zmfx7XuWK/On9ooMyqFDhYbKgR582aJoygHzqsJJfHDfGqedqU6PADcvVnbh\\n\",\n       \"+3fTi3A1LX65S5j1LNf6t2YKu3JgoO3BjtbAGJnqRbamYWi7c0CdkOsxl2WPMSj8s6GrNV1S0/7T\\n\",\n       \"8tZH44/Y1B36IDDPKoBVDZ+Jj6OuQ1fNxutfgjXED2h690lqZUjXEXUJWbvs8NPlzQvRZrlmrdg5\\n\",\n       \"h9YAELHT+6Ggv/y77+eB8TexuEy8Z7hL4HzExv2JzblfdzRepKwsj7T2b9Sq2Z//32mLGrmXolAY\\n\",\n       \"5/vjjVOOyhgxgesggtkpjqTtxHUcymihgaTo5uZLcETRLzp1I5QaZnHr0oKqTEbk6w1bO/6Gnjfw\\n\",\n       \"mf5zfMRXJ16aKqUXbcVZeYAySwRoziYqS0sUqtzPFxVsl6uP0KfQvhZwT7puqyHmTDY5G2Y3y2CN\\n\",\n       \"5MagFRlV0rSF9Ei3mrY5uA8efpzZTjBiCignRqvrbJiU+DvIF4Tm+QYFjrxFwjWIT69xZq/8WUNQ\\n\",\n       \"gI8QsKNPagkwpTeY+bwjJGtmTQz2sjrhzupeJGGtK+WziAn1KbOZnkrmyLrMfuNek8nRmca75Wk6\\n\",\n       \"nzDeb3dAeaQjQgBPaJesUF9aqeGQCoYpCZ/Fox73IJ/2/OLn8Bx2DOF40i17JpSJny+r5imClYVj\\n\",\n       \"gaCDHHhOOBKaqYM/fray6XHVbjsJwbEZwhPNf4zOUZuWsvLqz30eMaWOKOVXzvsIpXlyH8++veS1\\n\",\n       \"up58Sl3Xk3qfQVkLEGIZAn8N/zPBQ30FLYAliz6Adxa+QhCpK4t0g2J/KDikFHSPzeCNN57+00lh\\n\",\n       \"X0wD88J7I+rFqGf3dxd8w8isK/CR8C26FXXswpfSXffv3wEDpYUSx69w9RJEQMgR27mxwoci9SOo\\n\",\n       \"10j7DkmWmQVt5TAaU9b2wKhlX53OJOKX+/zAfbv18uHEyzuFrr8M0ObG0+RAi8rnOb6qIx/93Ejf\\n\",\n       \"jR9H3z5Vo65eh4cyTpcn244QkKHEBhDxndSN8BZXdsGcCgJcGbzm6xa6P0wh/XsPPY4EwdIMPZob\\n\",\n       \"kc2cR/TvP7QvCwFy3MAWw8drVSxYSKzFZCGZJEXEobUbeLLI7AipOhN/NpXWDf9So+2u9kK9tDPo\\n\",\n       \"ujc2YfMEVERmxn5IPA3u1+4B59XKq0kecEbAU5aug8ubMZYkw400Zke7R5oWSGnPg27gEgi3ISC9\\n\",\n       \"hhWO8+ZyDFbtQtdWnTPE9diZdbsqhwhE/VwM5AWUQOOI6sKCWaXR0hLpAsrGWeXkO4IOprjYoEwx\\n\",\n       \"sJP18FmRG6EQMyKfm/juZxwE/rpYljEoA0tibXPxQ8IZyV0uj7s63mV/zWB5z0SSGOJcnqdfiDB1\\n\",\n       \"Zc8aYDvzdv5NNSiZH1JibMS7C23sYip3MVURvBfq3g5a7EbCFlATyXE+V8c4qYdoNA0rr+AIKNKf\\n\",\n       \"BmoT9gcrsxkcdfAVshRZxtiKViHxna+C7dOayPUcE4hjEK68etjy0hFWJ40bH3FRxCVyfp7y5yi4\\n\",\n       \"GXNAjUQ8GtR+oI2SSLkImiNfaw59tbsp773x6F/KrnEOpCkFPQF29wo3o+3i8KB+lm2SI4kIEzvq\\n\",\n       \"H/rHKZmJA6dGbfk+3kqmk3TcU4vg1u2aV0MOieSGE14c1EfO1O8IDAddl1VU6dhnjFji27UGq37g\\n\",\n       \"LKddHJ60Y250/4eSvKJlBSRsZRTIVIQ4VKGeUJd6rrj83m6lN89bo6qy0g1To8VkzN0c7s1DT5pT\\n\",\n       \"nZXvn/C8w76cl2Ch7qtm2PGAWBIqtMc3uO7aqJbrA6ZH/V3PzQjmbQub25aCnfrVq7wQrF0n2t3P\\n\",\n       \"uyOmger8no7WGIZ5AoOMXTWGjlcUVKmfGVQemkE9myxulpDCGdkfkjGm8eeSXu491uuGu2/2uRU6\\n\",\n       \"86vwHleTxApjYO2aPrPTGt5aSgdJeHx+SAP1/82WBymC03aWJfTzV5PIqoc/EFKhqxjVaeQSLNsX\\n\",\n       \"3KtqkAny85qyGm9MQIGpcURBvxbPs7Axz61y6ic2Vd2NrDZ0Jssc4g7oM+VuZzgPmv3S9gr2Ua09\\n\",\n       \"FrKZKjGNZuldBVEpcOjDMwuQAf6d6XiP6j1+UT6B7A5RRU0U9JnqdaM1TQekLfkzC8yQvKKpTRMr\\n\",\n       \"VqUB7qmDtGdH02zSsnciEXQueQUx8SRhtgd7snsTmmQ9UxiD3BPhfs01k55Xz1eFB0nCRtwsVM+n\\n\",\n       \"31GYmEeKnFCfZBntrysU0bT71odUZxNIiv+ynBeMcR0yFwdA0WsLJdfniThBgG6kFWifsoTQ7ROL\\n\",\n       \"7kqMWx6q01Ll92jLxulT2akEBiTMRpTRP17umbEnMTqyybUkUXBL8jM405mALv9YT8ze43ujFIjA\\n\",\n       \"RQ8HUDbz2zqGJ8TIAVSSdWSv8QcwJKecsfQBRYBZDBdeglp2b5OI2qIWL7CrkRqX6RkIcqFmM0IN\\n\",\n       \"X1f9oqx8b7zb/fXJueB7/DZWiEJRtzkY60xR6otk3P53dGm+OF4m09CMuPWoliPLbVdKpl52YoOM\\n\",\n       \"6CFMcsHnf2Z2s10GHPRhQSFFa00zvQBCX/SobxmLuJZ1NL/ZWtK6yvrra71/ykZ4sKSUFDovmNJ1\\n\",\n       \"FtKIncxDUsl64PRI/qEGsRZdudgWpeNl4caJqdyYcc00s+4LWBI3hPAMrgrpJtWua/VSikmFCmc5\\n\",\n       \"PnAsj1N1suuwmy6voEStShjocwylOV0NNhRk/c0CQWgjEyV0HxqOZynIP8pSg8aZNCm+AbH5eW1H\\n\",\n       \"bBS9+Pozd7jZg3Ses97M/hLXXZCh+6X85Cq6NzqEFZlrxRp2qFIxwUmEhTPD9JakDXJEfX6Hem9b\\n\",\n       \"1gPS8nsIhloJG5GJEY+nvpiVf4OO0qBE1YBAGiPt/drmpAntSzVkt4qyMyrAAye1sI7LhVCwt1Vf\\n\",\n       \"QLLUvUGkbVyt6jYxF0doIgOASrIial1hlZuYpR5HYb3r/r7YTKzXgg+7l1N6kwYXx0CEZCx2oqAD\\n\",\n       \"+mJLrWuuXk6K3Cv+wkw9Hw3EtPVMW9YBBsftQtNZhUb5TDFXAgb9Qabymz0GoEVbV+TCL4Mdx9/i\\n\",\n       \"/O9PYZbqqM71BXtG17oqTpxBnaNfUC9X1h9qIzClqG8M0J/+nh5INEixjzEEtaqp3bictovCpHqY\\n\",\n       \"b5US/9vGQ+2PNAc+SpaNqpAs13i36BaGBnciDANgBKczeekpttp+K4xbvxUH0Zarouri2gW6bZDn\\n\",\n       \"yPyvRxaU/RzHmGRsD85BIxsGRyPmayeEUDXvHzllHvrTnTFqxmUOoxAQU8n9gLKTg+mMpMMcz/5X\\n\",\n       \"8yhn0JKl8+A2kUUPK16QsmHFJ/iSNsh2CwIxOumVNIOKtxPQxNCZtSQknDM6qr2FtAfoRG9vACqZ\\n\",\n       \"APzqm3hTwFHRwmTyyBeeaHaE8qhy7cskghMGlnHIA5GjEu2hmhKJJiWzfW4Bi851aO4SgVw2+28T\\n\",\n       \"KBSB3qW+5pwMHFFgUObx9zgD/Ntb4Pbbh9PBxjVrXOJuFsO01LckODbNOXnEnEiN+g4ZnBOGw0MV\\n\",\n       \"vxQPOh97mGtJ3kbB0PHszAqehSX7xHWMi7bonpPUFYsX01KLpuZOCMDpz6cXxQV6SsFb0bBehqAk\\n\",\n       \"twEQLvl334We/wXPJB4XROdgdYKDEPYqCPFuDO2+hf64Kj3ZPhWVyA7Hua98Kf8j1s4TPHB/HhCS\\n\",\n       \"hAAJ6jdBKf7cBDsRUYJKG4UmJICyR91+jr+CL3GhZ4N1W/rJ8dO8Rqy+bHHEv/JanUR5SXAVwVrg\\n\",\n       \"e4EXfjTOG1E373db37CQGnsp91wNmxVutFd7PFgU+V46v1oLaqTbCHMl1SF5hzIJo61evL58bpzK\\n\",\n       \"1pSe/MepeCbDGjCW+QQuHnCr62jIPm6qfSt78tx2/MPY8s7uAs2a2q0zCSARgZmgA67NYLkoNjBE\\n\",\n       \"E/zBlg4FdoCWSUX2bKZkhYHz8/LYxP07CtAx4WMfmhHjBOIczBdWlyXUoamqjR/rkJAz6XMkyi8b\\n\",\n       \"McuWDaRG9tI1hwnaMO3dZVvhQaZnsbokyU3flfRNTgnFhkvPrAifcFJyHeYLp/sWIXNCyyim5GMO\\n\",\n       \"YQ8pIhS/ToezL6vSW5EiJqs5KDnciCzIxGfo42RhseTuM9RyYxSzKIjivODGJ4v6/h77pA6WVWAs\\n\",\n       \"KZMzrH6eXmPm6qVeSSl4NTAivo677KI5F/1R/ODqrlBt+z8GgyrGqhPesG6WNP4jifQ7sDzMHCN6\\n\",\n       \"uEEeyOOVPjE1jO6pGWhlrJ/NqrOGdLbl72pRVW0l3Zz9ZJ8x4gROsi12cbkflLOKk6SvflJrPONT\\n\",\n       \"uCgS8jrVITKNbcx+26Gf46VYmzSXQ0OtGa2OrFOlFU9rOhy18KLEAuc1LCErHAaBhN2HBXRcUgXQ\\n\",\n       \"Q6V8C9RsA3LzGGWsnBWC3HEmwV5srQfd71iYWuJgcmfBoxdHdPToisZoLk3XY6wqrAceZyBvUz/G\\n\",\n       \"JIwWoUo1c0fMs3hyRcPJT3IP+oUOS+cSx2mr1R2m2HPHmF5HkJ1aMMBeTN/gSA3A9MA9M0saVe6p\\n\",\n       \"GOs9NRR9dJAdcWVY8lwJz/tyIob/QYlnUMIXSfjVAmUmxRXZAo1QzjQFQbCL1BRjJSHf/l+9LGra\\n\",\n       \"U5jr2gIKs7XvLZdDn6GmhdYz2ZTFvkZLU4220U7eOVlJi32SbLq25zDFXpDskYtK1g6j4MbGjMx1\\n\",\n       \"GIArnuHgciMObIiUw4oa7+pIT0w+OdDuyWBGBC5I50neohiHoamQmS0++sMaPfKm/Ixff/DxDv7E\\n\",\n       \"wbYhixRLSyT6vFfzrs9NtIozmKi/Kl4hBuKL3xL6QTFOHksYPvsmz+zY1eVHmFxpRVPGTki6Ytzv\\n\",\n       \"Vh8H3rKUm9LEl90B6bsqf6sOhMSIt5enafyd666gSFY3bDKITDIOB3Rxia2tSwqrWP7609UgOZAz\\n\",\n       \"vsuez9f3Wsfany4LloxPto6ECR6XWrrFhz8Wz4ZuWV7RSI0RnJshgV01DcJ+yLf3p+Le5+pDJJHf\\n\",\n       \"xq8SSCSC1BgIxO1rTToJJKfnI8D8MSawSgOx59UoTDvkKSIeN2lokqNljm54sBRUs12Q2ONTeCfZ\\n\",\n       \"vUUy6sF8by4wCkrvwejp4jZ1rmBW8J1XIIo69s2Rs4UM9R/l2VPeVa2O+WD1MZvJfRU0Yn6P9maQ\\n\",\n       \"/7Qqbcrjj3Uwq6XhULTVYg/yVaYsQg6zRKuoR8xBVqVrKy3HK/Z58w4TeGpLlrXqNDvLR1Z6rTdW\\n\",\n       \"0fvbA2lm8KcimnhNgjkXDWF/17y4AeJRlFr5XuUGNWz94gh1KDwPdS+8avhpRyyvYcQWfax9xwzy\\n\",\n       \"7+P7sNR6Yg23yAkR5izNn6oImDjynzhWWFw8z7FKRw/Q30CXWKReJn/mZll0m6t7Cn1xpkG/zXAW\\n\",\n       \"I0zqUly8670UoMAIB4iW8rwF/TFunUfaSpR0MqPwCrm8gfsHU3ieyXDWqsZNmtXkz0XOg/Y5d1fr\\n\",\n       \"Dh853MnvuIDHr5EffesoyvXUzo0ENZXxUo/mLWjIucOZ0T9fjatmBQfKZDxhPy1w8VZ2wAaugaSA\\n\",\n       \"AAADAAADAAEtAAAGqUGaJGxBb/7WpVAACyl8dQAF1b0Ox8L5bzXb/ALtySulu+lr9xtAPVMkLz0y\\n\",\n       \"taEZv/TtOQly+1C4Ww1WX0DIRjxfHNPzqfFRDaoVyVJN0i7Whj0KtsH3uWi+KzOGscVXPVBuq0ur\\n\",\n       \"+h1AW/hDN0/z4jLIHYSnlAgNcCGQxckI71wN8GX+6vq52pqeSVVy/FtHB1UW4qOLJAD3vqWRjkei\\n\",\n       \"LnLsuvAV4oGYT+1u76kIxPs8rYETUJKhUIsOM7R8eSSifc6juqgaWRRwpfc9eq5AZRVj+GwvXl2z\\n\",\n       \"Ud7y+o8dERy+J3jOQGzkAsA2RFOT8MJ7iOE0OLx6TuAuS9X/rNMp6PCXsD64+aaN/MyeWVLptf5x\\n\",\n       \"K8hGmCjhZoaN2tFiyg9lsLiDkk2DA27jTkTAe1EoacZF0lsjeiY3mga/htxfRc4xFFOjcIvkhtuh\\n\",\n       \"MEHct62snr3q7etrZR+3WlpGs6Vp7kerqBJFcpCrHeYb6jWkhGyFAMDhmGJ0JbpLzFDbl7AxWOEx\\n\",\n       \"auTdRtMVISMqDxMcL0pT0LT3jkgzI/a+BEh8j2CIm0CNwvJIo7Hex77s8OGcDRwAKMYJx8sCb1/W\\n\",\n       \"PI4Zt1wcU9npxZXggWLJ0e6REsF9QckvoFImWILHHIxkYvYMbB83sDQfWdUggtvROuVLCCik1ClV\\n\",\n       \"sTq9YEqaumjV8/pfXLwB2cecnffYeGmrh1Ftk46cU8MGtkUV2PynA7sU8+X9kDOOGj4R5BdBgJFO\\n\",\n       \"en95pSNNTkaDKJ/lznkGkH0qcpr7KDXw4f+7sP5VK0caXTP5JMgwl86Rq4utiUyZ4KJBb8R1G3+q\\n\",\n       \"YB6t06zfJyIWXgD0/P9YBzQmolINEUC3k8g1WQVQkr/tgk0azEWpMNikDu7kogSGVzA1M0AVzuGA\\n\",\n       \"aNEtiCnDfMiM1qWh40TWPvrm/QGLN3Gg6dmCKiNerHZvsozB+ASP0qKrVsNj++GUCdWA2+AsBaDd\\n\",\n       \"uy8U/eJp41/xFBCqr/S8A+jfodm8Wi10IFoEqNRREdKSsQ4x3hUdPiD7kRig27vLM1HXvQnfdMP/\\n\",\n       \"caMDHb0jtFdc4fM1FLiAKuwwyb4DPNbPdTLkQha0lO1RYhFcw02JYKrJ1g622OlFztFRENDWR8+w\\n\",\n       \"iOyg05aC6g4qO2YJsD3XjXTaaqZEEYzrhUwZ6i7dd6yJksZaFKApRBTGB5LiMYTMqd9Hl2NEy1X7\\n\",\n       \"9fCwBoBBt/QqHaYJLRhGyd88CyumXT8DJyth0GJ/8KtbT8QGdu9/RUXN9JaW3HU+LZcSso9zwWXZ\\n\",\n       \"RwAobTjGR8XRdnneNqwOlrerMyyJrf+bEsSyUsi8DHLMoLkL+YmhXHqCmarSERLISgd6J582ymGs\\n\",\n       \"lzaO18av7BMvi3H16+IpwTOg09uAlsnf3b3JYhhOHuoeYoevRlv/E7STbtyZXK++uob+kf0/rMe7\\n\",\n       \"fh9fJv6eLIhL5LOFjbwbKLAnmMcgT1rg6lsd+UY/9Yt0QdCH17LVtdfnwKJTCe+Ioc5K3Zx1IVW8\\n\",\n       \"tg/kAjLW01DBAKoTxjnLq8RkjLW2BPbLgAHRw6p2ENBjNxfgACwMTsZZM5ex+mnKNRZW18A9Z3nz\\n\",\n       \"dSuiOnzWfHEAq73ylZExqnwGK3HcBruIc+muYXDQL6P5pnuKbM4uieGVybqZXUYyVQjA0dsdf8oI\\n\",\n       \"gE2FGljtLgvZv5Mx895Onx4cIW3ORv3d7N4h38MHMVOy61ItzCWw+9wvioRZ9XxGTNbMyUP+HLUk\\n\",\n       \"e7oYZpmKZAsmRWtWJBfzrM6NXocZWFnPA0PRJyTQiKbilEWz7yf3hX+CXBIdgHE/4JnZDI5ZRBsO\\n\",\n       \"cRLKICAOEpvPmaEnlLnf9g8l1xA3g5lW/t74stwER0E6Qe1ZqD4EmocgeRRsbmqYazoZjs6+nbm4\\n\",\n       \"ThERJyP8KjNMVK/7Krk+y91ZQS7vkYDbVsea+Rp9Owm8IwTWO/d1vGmAA8ic4OqK297E37jsWWIv\\n\",\n       \"fufg3MnnS9KdG5BAUEpIt0+aeLu1D0wQR+SM/UYvH9NhaDGCmAk1yvbJOh9pUgtqFl00i/iudkYq\\n\",\n       \"TUdRHIyKdjE9OJjBaAyJc4b8fGe/qk1dpttgZqVMS8InhvYlPQBV/FA0O+XpQqdCA5aDiOc431RD\\n\",\n       \"t+WP9i7/I9RZUdVt1LIrfHGx2DEjbCPYfOGkCHbJSN0KHJD8xZbk2lIJ7Tj4rEQDeiK4Bh1wfxdF\\n\",\n       \"4O9sXImS4mlmoqBxOWactFAIHE0FVaaa7Z8q9KvQOSo6+PJxxQ+kwzvBd/5aGRqUEvZKq4Tw+rPW\\n\",\n       \"I8bl6f8ApIAAAAUwQZ5CeILfAAAE0UhDSJRz/yCBlABO6lpj8+hGAc0P+gynTlKSgt/PnDEaXsby\\n\",\n       \"9omtDk9SYeTJLiaONHvRRUNikDb9KQyw9rzY5j/q+DPRZadL5NfbZBwpLoKF0B76annBh6tYux78\\n\",\n       \"HcosuT4brpPYkI+M1Xql/8ARPmSEDDGJzEqVrj4HSu5/l9YvXdcPiOx8QH4kWmRftcFoNQccWHjv\\n\",\n       \"YVRGAep/R6S5gr7UURiY+MFuK1NlrI7IP7GMTN+T56xpSvZap+a8W+Cwt4h9pv/+BCZASXsdxo0x\\n\",\n       \"s3ZG8xG1aR5gJRur2YZaYr7UQrh/0LEBT550oIqFC6KFM+3DR71jJhYKBBe8GxCey4DaLcwtKxKR\\n\",\n       \"WwAD567f9cFJnAFh1IZRwMdnrwe8ztY12YEx47aWeEmczO8anrUW39jNkjlEUoiXWMdO3mxK8tQh\\n\",\n       \"8aE72jbbrdF5H82iCQQhspl7oQOF7AOflQBwUthDWp+2vUM6jCJYCosJ41MiXaWfTTDxj8AAoSd/\\n\",\n       \"/j/UuT1DSPz70qNBEuH4KMshusxUjm0VdZAPcBI1eqN+Ups7PU/Qfk+ugxTTmpKuIEJ8cdIowARJ\\n\",\n       \"vIiAAfcN4iQKfrcxNjvRPum1QWAgjdzeodUT77CbKgI2rlfare6zQEEDXqLhIyTRvCj0rkP8zEqW\\n\",\n       \"BE2FGe7YsAYf5ZeNMzH1qSxmDceDDH0hQZ6mUHiIcm0WanQNaLGesSpIymfz+vHmBLWIYB5aIOxq\\n\",\n       \"on4utmH6ZUuW3Y2AiTz1ZD3oHlwISiAeXaPJ6YWL4Xws/OrOTHtiH41gYEMUzMzoANXKKKFpOk7a\\n\",\n       \"S56YnkEOWaTnrjcvg2mo2LrAEwX2gLkh5cblIC64ga0SYjdp0i5g3cRzMx++awVJ8YjIlX3W88O9\\n\",\n       \"BiAK9Sn/iDU1pTmo0JN9gdqpg2lO+k+8InoPnZrqceQCbNzfCgTNlVDblTq30vmoBtW9G58H1Y/b\\n\",\n       \"2bYz6kEfIkUGbTRePqsSMKwPecGfiQNcel2EQGVLK6+LRd6gZf5rpGR3+YQk7ui37wfCBHhIHTMy\\n\",\n       \"BjePwWW2+SgWjBcEf7iVHtQJwRg8+p2cGgAlshG0g+h6Cob9wS6RC7y+0t1MS/Dd/wx0V5OgVF3+\\n\",\n       \"Ix84KILlF0i+xvQPRnk0YnG+MqsuDi/25PjSAAPwUKnpo61roP23hSqtzKYDgSkB2XrGAT4VgZ6N\\n\",\n       \"7+M0nleLtp9zPjLBphgITlQWWYoQwPxgumEYLj93pRXBk4wNs77pnRxGfRIYpxeuSGzT3Cxe+s/C\\n\",\n       \"/V99zalkL++haNNCrhLZ2I5Xkt4JQUlX1OsXW9x0nypR1oCV1ozlJSES0OSEUSm7VJEz8JkcoxJg\\n\",\n       \"pxh05ZyTXcICUgO7fRTbMRuxwKf37YANQL8tWkFmZt2/NGO0z8QWEWpooxSqCu1sOYORSc85bqoD\\n\",\n       \"ORDLXrNFWOFCKhb2Ohg4H7nod+nKv5a+ji5xWNS6rgtF0rVh8xcdG9AlmD3K4ibGE+qIbFdHxF7Z\\n\",\n       \"Y3JkH0pGLTe+gPdtCqGnHIbmen65BY+rnxwfRsuIaasY86S8nAnrrvHogvvOTdSLH7oRzysEU6LF\\n\",\n       \"hgLzmG/J88NqzLTqIipu003+r+Yfq1l8ZNypM/UXjIifL5M9be79qNACdBsI0EmQZZYkIkX7yJFm\\n\",\n       \"lUkbQS4/MdAcsjTI5nfc+BtQ9bF57szsQXNFhMoKe3hPGhQZzihXE2hVcJbIOP9nQpJsIpTeGOC2\\n\",\n       \"R6GMcvkly4WMqM2HM4rsDpGCOOKJrVs3K5tvAScAAAZgAZ5hdEFfAAAHZpkyDlolBVdFrkomHGBk\\n\",\n       \"Jk27A1WAAjLbPawPWVUSjx1dyWLvCHtBs0b4UWLmTMngG8OsVaxFXZ+WZIh6ZlDWmuS/iz/kKikx\\n\",\n       \"LNtD1u41DH79V3/hjo2QA8sdjUS0RbVeztTeuo2kcNbjT91SlgEaHbCQfyELnzdtJyce9Hg9GpzQ\\n\",\n       \"jlGG5QTv/HPwJx2s5GuTRV9WUXaHopV/DMZPWeolqU0z1pZj32VbuAQ+fwBGDeKhxefkEPal5MA7\\n\",\n       \"/61+BEOCIfuPFIkTjBUG4u/3qWbY/1pOS1WoJo1R6cBg4pPaGftCt6FRVjCXsk4h8Ks3CCfLj8JW\\n\",\n       \"7oPRQ5K+bnxMD4zEPio32F3lbgmWB2Rp20PFc7++bRkW/ktIeoJn6RxvP6xY9mSoq0LMniwmy0cn\\n\",\n       \"e/gmZvrUcg+M5rMH9c2EmHNwu7CRqwSdRkC3dXzRaLQq2XkgSV9bGlhkEB95etfBskgomW2WUlpQ\\n\",\n       \"W/tFGfVfdBF5z1OgFaa1VH8QMaBl8K1xD1jSqads1iUXjwb1ORHldjCvqKfgWDZdX8fTWAhDgEyD\\n\",\n       \"UF2HCtyfjcjdB8lWzVDG7Dmohq2NUIPqgnGx+ukpGzg2W7JI98d45aVlJTjxyOLEh5KzNj4Cd2Px\\n\",\n       \"s0J/TsNbH7Ml8R4izuRl+qDXtpXkoWLtAG0AiIABuN1vlyM8brzwvUbcU22dj12PacZVcNYaRnTt\\n\",\n       \"r+yOZWQX+V2krRjDaYZUszVnifId2TYrlXMzJlsYT4T0Wrlg6salCyA3SwU+/XbHGTI4qg8XdA38\\n\",\n       \"wHiTDJo1VAPycQaAn/T6U/IQYPOecsVJUi4FW9j+lPJnwbvXmb4Rxfi0to7iofSAyIBPO41VC9EJ\\n\",\n       \"xQXPw27Onoe9cvLQ0Isu3tiutrVjNPF2fpImonRd6tPo/JiVXfFDjQmFtv5bJjp+3+lX0lmc5Sxs\\n\",\n       \"zPKQbK4DmOGodeisXJejKrAKWYlnmTlOGlYUK2p6E7CIY+/TT620KrrIMYCPtyXMDHT8IQDJZdtQ\\n\",\n       \"tjrDgNsLx+OzdirLrYiDFaw0dO90M/azBmr3f5IlWGcfqDY6jAEQRLuD/R+FLty2zEM+0V4rrSoQ\\n\",\n       \"ciD0gS27s+qWi+Y5sM/PHt8qHrzVd97a8NNMhsOR2xwEwn7G1vVp85SEPHsOp65K8DXo9TqpK8sD\\n\",\n       \"2xU8ynYWuyAwkdS7I4CWNmhewbVeW3y6TJvioVJlvM5P992+LD0SVyDpZcHiP9Na1d16jo1khTJv\\n\",\n       \"yXMoDGtJOg2brxuEZohAYLSdr9JelrLBz4JukBOivVB5JZfLoA4VmWULlqZQH6AMp0ojmjzGEnma\\n\",\n       \"KoGrGfc2uygBku6moOotAtKksd3BWo6pYXU8oUXcTb0hD16HyfgsWm1UXxJibG+gRWaCK4h2DXqg\\n\",\n       \"Au7eBcjiKzawWt1A36hJxuFhF1u43oL2FZBxkeTiL+FJtb/cZO24ab+bkmummnURdiKsxHTWZAp+\\n\",\n       \"EpcFEMk+9mErzVUXRPx+ZWh2oJFBQW3vKfoqyvKQN5z14WdwoAByJZAeEdDJmCXtH6e4TmEI4pci\\n\",\n       \"FmrjKMmgDgeIzhrd2JfrDeEtsgohAukyH65ck4z2XCLvMBxPa9QxQeYOol8KYgWt3/fQA3h4emcw\\n\",\n       \"2cR06DXq1Bu1d60+F42THWr6S/QkTA+bAP89jMd6QmKCwUWNzYWRyy4bMrBpMW30uZ9ThUYxXpM7\\n\",\n       \"hwUjRZjrCCFRNyPBWV3QDBlkryS+9hdFQD6TLBpdLGrsan6mTFkNZ7mONWL2ucQFVfoVDSMX+3Qi\\n\",\n       \"eKkGWzVKGsF309kj3X7iSo44itROgBRJCHU6p59g3AD/1atdYWXeDel6UbHsUZpq1Ny4FVuptutc\\n\",\n       \"LtfwLH557OmY52kKwi3xDJ2b4dCcS8nWHW15BcBk8OsB//kCxrv8uF+P6B3of2c+ZbPFM16arS3W\\n\",\n       \"HBG4TVpvbZlmegaFaGQhzkHbtr/TEGygg7hqQ9r43a7m0t4C1vnB6ekMtoKK6l3AbIQQ/yY3N8xt\\n\",\n       \"FIzt3eLM935KQXXgk+X7SpJ8BDxjY/CoN+BzjZRnrSWpiMSGIubl4goB7PvpDskVcv15xl1kYZHc\\n\",\n       \"Wf3tlgoTLo60k1UN8kbN3dhm8j+r4svu1PWOES1+gCe87PsULBZ3zaMb9/rGRnF6lfX9+TR1DihD\\n\",\n       \"JoykOtEtzwQ6gCLgAAABDQGeY2pBXwAAAwGGpxLhM1bfcdI/QxO+s8d/07cd8iauN1GgAOOLgAGl\\n\",\n       \"IDsO8RFxXKgEeuh4B+xkP3vqAAXgA5/dAB2pKQRp7HENAAmdcg96O2Kw6HfbVKyDJFtzA8KLaBpS\\n\",\n       \"ZLkXJEmHZFmCZ004Cc+l/wOVFzJlo5OSft8Rxj5olMEjw6NCz/eEfaoxCzlcGVV6c9jSfJ1BG6GX\\n\",\n       \"2c83brTnBJHLt+lkhA+Ud3zImI38JBIsHRbk+nNxBVQ4dU7E4Uo5GTeJwj51bFXa+YEJhXHKzZgc\\n\",\n       \"6WXoaHLKyRHF7LLkCcqt5Emqfs7/Gg3N65FpMMPqNkdRsBEEoiY+AmhDIJlLciIpxUnuHEswAB6R\\n\",\n       \"AAABW0GaZUmoQWiZTAgr//7WpVAAAAMAAAMAAAMAAAMAAAMAkNaMkACHVyDeiPZ6GmvBVJ0mpi6p\\n\",\n       \"nBukin2ZWyStjfo07bGeOXLurP+0uq9BFtS+2IDmUwojzRrSnyDQCfIQqhmDGqUxdwnWKnSAy3Aq\\n\",\n       \"UcQjnmHKseDUypRMe47q9t0JRbHxtjoMEbJuXr6fzI7OThSOseqw0jieNSTOvFuphRGuo0LrXc8r\\n\",\n       \"9Fqtw3EsDM0WWaf6PrtRsC335+ABnYqQDTtQab4wVGRRVSaz67OdsUBWuQeU1qw5yDJZMhRscx0Y\\n\",\n       \"fNRlbzZ0p1v4XkmU5d3aVXXK+KbOefYp96NTosubBN8E1lTGmuKCqT5f861zqM7Nxywrw7f22veS\\n\",\n       \"gJwa3Hp8q1W3NSEQi5HmvWPuP8wIuRFBhT3NukzVEWn8hYDPdQz01R7ZXlDwcn1VvxoKF0G0/URR\\n\",\n       \"r1OycReAAA8JAAADe21vb3YAAABsbXZoZAAAAAAAAAAAAAAAAAAAA+gAABdwAAEAAAEAAAAAAAAA\\n\",\n       \"AAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAA\\n\",\n       \"AAAAAAAAAAAAAAIAAAKmdHJhawAAAFx0a2hkAAAAAwAAAAAAAAAAAAAAAQAAAAAAABdwAAAAAAAA\\n\",\n       \"AAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAQAAAAAOEAAADhAAAAAAA\\n\",\n       \"JGVkdHMAAAAcZWxzdAAAAAAAAAABAAAXcAAAgAAAAQAAAAACHm1kaWEAAAAgbWRoZAAAAAAAAAAA\\n\",\n       \"AAAAAAAAQAAAAYAAVcQAAAAAAC1oZGxyAAAAAAAAAAB2aWRlAAAAAAAAAAAAAAAAVmlkZW9IYW5k\\n\",\n       \"bGVyAAAAAcltaW5mAAAAFHZtaGQAAAABAAAAAAAAAAAAAAAkZGluZgAAABxkcmVmAAAAAAAAAAEA\\n\",\n       \"AAAMdXJsIAAAAAEAAAGJc3RibAAAALlzdHNkAAAAAAAAAAEAAACpYXZjMQAAAAAAAAABAAAAAAAA\\n\",\n       \"AAAAAAAAAAAAAAOEA4QASAAAAEgAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\\n\",\n       \"AAAAABj//wAAADdhdmNDAWQAH//hABpnZAAfrNlA5Bz554QAAAMABAAAAwAIPGDGWAEABmjr48si\\n\",\n       \"wP34+AAAAAAcdXVpZGtoQPJfJE/FujmlG88DI/MAAAAAAAAAGHN0dHMAAAAAAAAAAQAAAAYAAEAA\\n\",\n       \"AAAAFHN0c3MAAAAAAAAAAQAAAAEAAABAY3R0cwAAAAAAAAAGAAAAAQAAgAAAAAABAAFAAAAAAAEA\\n\",\n       \"AIAAAAAAAQAAAAAAAAABAABAAAAAAAEAAIAAAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAAGAAAAAQAA\\n\",\n       \"ACxzdHN6AAAAAAAAAAAAAAAGAADeSAAABq0AAAU0AAAGZAAAAREAAAFfAAAAFHN0Y28AAAAAAAAA\\n\",\n       \"AQAAADAAAABhdWR0YQAAAFltZXRhAAAAAAAAACFoZGxyAAAAAAAAAABtZGlyYXBwbAAAAAAAAAAA\\n\",\n       \"AAAAACxpbHN0AAAAJKl0b28AAAAcZGF0YQAAAAEAAAAATGF2ZjYxLjcuMTAw\\n\",\n       \"\\\">\\n\",\n       \"  Your browser does not support the video tag.\\n\",\n       \"</video>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"execution_count\": 12,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"ani = animate(images)\\n\",\n    \"HTML(ani.to_html5_video())\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \".venv311\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.11.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/experimental/sophisticated_inference/mcts_graph_world.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:43.007199Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:43.006910Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:43.763955Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:43.763519Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp.utils import list_array_zeros, list_array_norm_dist\\n\",\n    \"from typing import Sequence, Optional\\n\",\n    \"\\n\",\n    \"import mctx\\n\",\n    \"\\n\",\n    \"import jax.numpy as jnp\\n\",\n    \"import jax.random as jr\\n\",\n    \"import jax.nn as nn\\n\",\n    \"\\n\",\n    \"import chex\\n\",\n    \"import pygraphviz\\n\",\n    \"\\n\",\n    \"from IPython.display import SVG\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Utility function to convert and display the MCTX output to an SVG visualization of the search tree.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:43.765921Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:43.765742Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:43.769987Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:43.769739Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def convert_tree_to_graph(\\n\",\n    \"    tree: mctx.Tree,\\n\",\n    \"    action_labels: Optional[Sequence[str]] = None,\\n\",\n    \"    batch_index: int = 0\\n\",\n    \") -> pygraphviz.AGraph:\\n\",\n    \"  \\\"\\\"\\\"Converts a search tree into a Graphviz graph.\\n\",\n    \"\\n\",\n    \"  Args:\\n\",\n    \"    tree: A `Tree` containing a batch of search data.\\n\",\n    \"    action_labels: Optional labels for edges, defaults to the action index.\\n\",\n    \"    batch_index: Index of the batch element to plot.\\n\",\n    \"\\n\",\n    \"  Returns:\\n\",\n    \"    A Graphviz graph representation of `tree`.\\n\",\n    \"  \\\"\\\"\\\"\\n\",\n    \"  chex.assert_rank(tree.node_values, 2)\\n\",\n    \"  batch_size = tree.node_values.shape[0]\\n\",\n    \"  if action_labels is None:\\n\",\n    \"    action_labels = range(tree.num_actions)\\n\",\n    \"  elif len(action_labels) != tree.num_actions:\\n\",\n    \"    raise ValueError(\\n\",\n    \"        f\\\"action_labels {action_labels} has the wrong number of actions \\\"\\n\",\n    \"        f\\\"({len(action_labels)}). \\\"\\n\",\n    \"        f\\\"Expecting {tree.num_actions}.\\\")\\n\",\n    \"\\n\",\n    \"  def node_to_str(node_i, reward=0, discount=1):\\n\",\n    \"    return (f\\\"{node_i}\\\\n\\\"\\n\",\n    \"            f\\\"Reward: {reward:.2f}\\\\n\\\"\\n\",\n    \"            f\\\"Discount: {discount:.2f}\\\\n\\\"\\n\",\n    \"            f\\\"Value: {tree.node_values[batch_index, node_i]:.2f}\\\\n\\\"\\n\",\n    \"            f\\\"Visits: {tree.node_visits[batch_index, node_i]}\\\\n\\\")\\n\",\n    \"\\n\",\n    \"  def edge_to_str(node_i, a_i):\\n\",\n    \"    node_index = jnp.full([batch_size], node_i)\\n\",\n    \"    probs = nn.softmax(tree.children_prior_logits[batch_index, node_i])\\n\",\n    \"    return (f\\\"{action_labels[a_i]}\\\\n\\\"\\n\",\n    \"            f\\\"Q: {tree.qvalues(node_index)[batch_index, a_i]:.2f}\\\\n\\\"  # pytype: disable=unsupported-operands  # always-use-return-annotations\\n\",\n    \"            f\\\"p: {probs[a_i]:.2f}\\\\n\\\")\\n\",\n    \"\\n\",\n    \"  graph = pygraphviz.AGraph(directed=True)\\n\",\n    \"\\n\",\n    \"  # Add root\\n\",\n    \"  graph.add_node(0, label=node_to_str(node_i=0), color=\\\"green\\\")\\n\",\n    \"  # Add all other nodes and connect them up.\\n\",\n    \"  for node_i in range(tree.num_simulations):\\n\",\n    \"    for a_i in range(tree.num_actions):\\n\",\n    \"      # Index of children, or -1 if not expanded\\n\",\n    \"      children_i = tree.children_index[batch_index, node_i, a_i]\\n\",\n    \"      if children_i >= 0:\\n\",\n    \"        graph.add_node(\\n\",\n    \"            children_i,\\n\",\n    \"            label=node_to_str(\\n\",\n    \"                node_i=children_i,\\n\",\n    \"                reward=tree.children_rewards[batch_index, node_i, a_i],\\n\",\n    \"                discount=tree.children_discounts[batch_index, node_i, a_i]),\\n\",\n    \"            color=\\\"red\\\")\\n\",\n    \"        graph.add_edge(node_i, children_i, label=edge_to_str(node_i, a_i))\\n\",\n    \"\\n\",\n    \"  return graph\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's test it on the graph world example as well.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:43.771113Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:43.771033Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:47.657184Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:47.656936Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 640x480 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"import networkx as nx\\n\",\n    \"from pymdp.envs import GraphEnv\\n\",\n    \"from pymdp.envs.graph_worlds import generate_connected_clusters\\n\",\n    \"\\n\",\n    \"graph, _ = generate_connected_clusters(cluster_size=3, connections=2)\\n\",\n    \"env = GraphEnv(graph, object_location=4, agent_location=0)\\n\",\n    \"\\n\",\n    \"nx.draw(graph, with_labels=True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We set the initial location of the agent at node 1, and prior belief that the object is at node 4. Therefore, the expected rewarding path is 1 -> 0 -> 3 -> 4.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:47.658379Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:47.658247Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:48.370082Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:48.369784Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61044/329308290.py:12: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agent = Agent(\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"A, B= env.A, env.B\\n\",\n    \"A_dependencies, B_dependencies = env.A_dependencies, env.B_dependencies\\n\",\n    \"\\n\",\n    \"C = list_array_zeros([a.shape[0] for a in A])\\n\",\n    \"C[1] = C[1].at[1].set(1.0)\\n\",\n    \"\\n\",\n    \"D = [jnp.ones(d.shape[0]) for d in env.D]\\n\",\n    \"D[0] = D[0].at[0].set(100.0)\\n\",\n    \"D[1] = D[1].at[4].set(10.0)\\n\",\n    \"D = list_array_norm_dist(D)\\n\",\n    \"\\n\",\n    \"agent = Agent(\\n\",\n    \"    A=A,\\n\",\n    \"    B=B,\\n\",\n    \"    C=C,\\n\",\n    \"    D=D,\\n\",\n    \"    A_dependencies=A_dependencies,\\n\",\n    \"    B_dependencies=B_dependencies,\\n\",\n    \"    categorical_obs=False,\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:48.371274Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:48.371191Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:48.389603Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:48.389313Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"import mctx\\n\",\n    \"from pymdp.planning.mcts import make_aif_recurrent_fn\\n\",\n    \"\\n\",\n    \"recurrent_fn = make_aif_recurrent_fn()\\n\",\n    \"rng_key = jr.PRNGKey(111)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:48.390928Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:48.390851Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:51.874739Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:51.874453Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[[1.5554491e-16 6.9548679e-11 1.7227886e-17 1.3283233e-13 1.9635755e-14\\n\",\n      \"  1.0000000e+00 1.0319131e-14]]\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/svg+xml\": [\n       \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"7228pt\\\" height=\\\"776pt\\\" viewBox=\\\"0.00 0.00 7228.00 776.00\\\">\\n\",\n       \"<g id=\\\"graph0\\\" class=\\\"graph\\\" transform=\\\"scale(1 1) rotate(0) translate(4 772.45)\\\">\\n\",\n       \"<polygon fill=\\\"white\\\" stroke=\\\"none\\\" points=\\\"-4,4 -4,-772.45 7224.12,-772.45 7224.12,4 -4,4\\\"/>\\n\",\n       \"<!-- 0 -->\\n\",\n       \"<g id=\\\"node1\\\" class=\\\"node\\\">\\n\",\n       \"<title>0</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"green\\\" cx=\\\"2917.06\\\" cy=\\\"-704.45\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2917.06\\\" y=\\\"-732.4\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2917.06\\\" y=\\\"-715.9\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2917.06\\\" y=\\\"-699.4\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2917.06\\\" y=\\\"-682.9\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 1.20</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2917.06\\\" y=\\\"-666.4\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1025</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 4 -->\\n\",\n       \"<g id=\\\"node2\\\" class=\\\"node\\\">\\n\",\n       \"<title>4</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"684.06\\\" cy=\\\"-490.97\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"684.06\\\" y=\\\"-518.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">4</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"684.06\\\" y=\\\"-502.42\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.46</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"684.06\\\" y=\\\"-485.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.91</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"684.06\\\" y=\\\"-469.42\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"684.06\\\" y=\\\"-452.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 48</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 0&#45;&gt;4 -->\\n\",\n       \"<g id=\\\"edge1\\\" class=\\\"edge\\\">\\n\",\n       \"<title>0-&gt;4</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2849.01,-697.01C2522.08,-666.04 1114.13,-532.7 763.42,-499.48\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"763.92,-496.01 753.63,-498.55 763.26,-502.98 763.92,-496.01\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2021.19\\\" y=\\\"-609.16\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2021.19\\\" y=\\\"-592.66\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.74</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2021.19\\\" y=\\\"-576.16\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 3 -->\\n\",\n       \"<g id=\\\"node3\\\" class=\\\"node\\\">\\n\",\n       \"<title>3</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"2077.06\\\" cy=\\\"-490.97\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2077.06\\\" y=\\\"-518.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">3</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2077.06\\\" y=\\\"-502.42\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.57</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2077.06\\\" y=\\\"-485.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.89</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2077.06\\\" y=\\\"-469.42\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.57</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2077.06\\\" y=\\\"-452.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 335</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 0&#45;&gt;3 -->\\n\",\n       \"<g id=\\\"edge2\\\" class=\\\"edge\\\">\\n\",\n       \"<title>0-&gt;3</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2851.21,-687.29C2785.11,-671.03 2680.35,-645.19 2589.81,-622.46 2434.81,-583.55 2253.67,-537.26 2153.5,-511.59\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"2154.61,-508.26 2144.05,-509.17 2152.87,-515.04 2154.61,-508.26\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2610.43\\\" y=\\\"-609.16\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2610.43\\\" y=\\\"-592.66\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.08</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2610.43\\\" y=\\\"-576.16\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 1 -->\\n\",\n       \"<g id=\\\"node4\\\" class=\\\"node\\\">\\n\",\n       \"<title>1</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"2439.06\\\" cy=\\\"-490.97\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2439.06\\\" y=\\\"-518.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2439.06\\\" y=\\\"-502.42\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.57</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2439.06\\\" y=\\\"-485.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.06</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2439.06\\\" y=\\\"-469.42\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 1.83</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2439.06\\\" y=\\\"-452.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 48</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 0&#45;&gt;1 -->\\n\",\n       \"<g id=\\\"edge3\\\" class=\\\"edge\\\">\\n\",\n       \"<title>0-&gt;1</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2855.55,-676.24C2767.17,-637.14 2604.62,-565.22 2510.86,-523.73\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"2512.28,-520.53 2501.72,-519.69 2509.45,-526.94 2512.28,-520.53\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2741.5\\\" y=\\\"-609.16\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">2</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2741.5\\\" y=\\\"-592.66\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.68</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2741.5\\\" y=\\\"-576.16\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 6 -->\\n\",\n       \"<g id=\\\"node5\\\" class=\\\"node\\\">\\n\",\n       \"<title>6</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"2917.06\\\" cy=\\\"-490.97\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2917.06\\\" y=\\\"-518.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">6</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2917.06\\\" y=\\\"-502.42\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.39</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2917.06\\\" y=\\\"-485.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.92</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2917.06\\\" y=\\\"-469.42\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.57</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2917.06\\\" y=\\\"-452.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 161</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 0&#45;&gt;6 -->\\n\",\n       \"<g id=\\\"edge4\\\" class=\\\"edge\\\">\\n\",\n       \"<title>0-&gt;6</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2917.06,-640C2917.06,-616.89 2917.06,-590.56 2917.06,-566.57\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"2920.56,-566.89 2917.06,-556.89 2913.56,-566.89 2920.56,-566.89\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2937.68\\\" y=\\\"-609.16\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">3</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2937.68\\\" y=\\\"-592.66\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.91</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2937.68\\\" y=\\\"-576.16\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 7 -->\\n\",\n       \"<g id=\\\"node6\\\" class=\\\"node\\\">\\n\",\n       \"<title>7</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"3456.06\\\" cy=\\\"-490.97\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3456.06\\\" y=\\\"-518.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">7</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3456.06\\\" y=\\\"-502.42\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.63</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3456.06\\\" y=\\\"-485.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.88</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3456.06\\\" y=\\\"-469.42\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.27</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3456.06\\\" y=\\\"-452.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 48</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 0&#45;&gt;7 -->\\n\",\n       \"<g id=\\\"edge5\\\" class=\\\"edge\\\">\\n\",\n       \"<title>0-&gt;7</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2979.94,-678.78C3080.36,-639.38 3276.4,-562.46 3382.92,-520.66\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"3384.13,-523.95 3392.17,-517.04 3381.58,-517.43 3384.13,-523.95\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3255.46\\\" y=\\\"-609.16\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">4</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3255.46\\\" y=\\\"-592.66\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.86</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3255.46\\\" y=\\\"-576.16\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 2 -->\\n\",\n       \"<g id=\\\"node7\\\" class=\\\"node\\\">\\n\",\n       \"<title>2</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"5150.06\\\" cy=\\\"-490.97\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5150.06\\\" y=\\\"-518.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">2</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5150.06\\\" y=\\\"-502.42\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.61</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5150.06\\\" y=\\\"-485.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.88</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5150.06\\\" y=\\\"-469.42\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 1.23</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5150.06\\\" y=\\\"-452.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 336</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 0&#45;&gt;2 -->\\n\",\n       \"<g id=\\\"edge6\\\" class=\\\"edge\\\">\\n\",\n       \"<title>0-&gt;2</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2985.11,-697.01C3312.04,-666.04 4719.99,-532.7 5070.7,-499.48\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"5070.86,-502.98 5080.49,-498.55 5070.2,-496.01 5070.86,-502.98\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4254.19\\\" y=\\\"-609.16\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">5</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4254.19\\\" y=\\\"-592.66\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.69</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4254.19\\\" y=\\\"-576.16\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 5 -->\\n\",\n       \"<g id=\\\"node8\\\" class=\\\"node\\\">\\n\",\n       \"<title>5</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"6690.06\\\" cy=\\\"-490.97\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6690.06\\\" y=\\\"-518.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">5</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6690.06\\\" y=\\\"-502.42\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.61</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6690.06\\\" y=\\\"-485.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.88</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6690.06\\\" y=\\\"-469.42\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.27</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6690.06\\\" y=\\\"-452.92\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 48</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 0&#45;&gt;5 -->\\n\",\n       \"<g id=\\\"edge7\\\" class=\\\"edge\\\">\\n\",\n       \"<title>0-&gt;5</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2985.36,-699.62C3447.59,-673.71 6114.34,-524.24 6610.58,-496.42\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"6610.6,-499.93 6620.38,-495.87 6610.2,-492.94 6610.6,-499.93\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5162.12\\\" y=\\\"-609.16\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">6</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5162.12\\\" y=\\\"-592.66\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.85</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5162.12\\\" y=\\\"-576.16\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 13 -->\\n\",\n       \"<g id=\\\"node9\\\" class=\\\"node\\\">\\n\",\n       \"<title>13</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"222.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"222.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">13</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"222.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"222.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"222.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"222.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 4&#45;&gt;13 -->\\n\",\n       \"<g id=\\\"edge8\\\" class=\\\"edge\\\">\\n\",\n       \"<title>4-&gt;13</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M618.18,-473.62C538.24,-451.82 401.46,-408.06 299.06,-341.47 292.93,-337.49 286.72,-333.1 280.63,-328.55\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"283.08,-326.01 273.01,-322.71 278.82,-331.57 283.08,-326.01\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"439.51\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"439.51\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"439.51\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 21 -->\\n\",\n       \"<g id=\\\"node10\\\" class=\\\"node\\\">\\n\",\n       \"<title>21</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"376.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"376.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">21</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"376.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"376.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.94</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"376.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"376.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 4&#45;&gt;21 -->\\n\",\n       \"<g id=\\\"edge9\\\" class=\\\"edge\\\">\\n\",\n       \"<title>4-&gt;21</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M626.07,-456.92C601.63,-442.62 573.05,-425.43 547.81,-408.97 504.49,-380.74 494.15,-372.86 453.06,-341.47 447.25,-337.03 441.26,-332.34 435.3,-327.6\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"437.79,-325.11 427.8,-321.59 433.41,-330.58 437.79,-325.11\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"568.43\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"568.43\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"568.43\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 76 -->\\n\",\n       \"<g id=\\\"node11\\\" class=\\\"node\\\">\\n\",\n       \"<title>76</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"530.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"530.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">76</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"530.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"530.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.94</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"530.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"530.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 4&#45;&gt;76 -->\\n\",\n       \"<g id=\\\"edge10\\\" class=\\\"edge\\\">\\n\",\n       \"<title>4-&gt;76</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M645.99,-437.69C624.43,-408.07 597.34,-370.87 574.76,-339.87\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"577.83,-338.14 569.11,-332.11 572.17,-342.26 577.83,-338.14\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"641.48\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">2</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"641.48\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"641.48\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 119 -->\\n\",\n       \"<g id=\\\"node12\\\" class=\\\"node\\\">\\n\",\n       \"<title>119</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"684.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"684.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">119</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"684.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"684.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.06</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"684.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.86</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"684.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 28</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 4&#45;&gt;119 -->\\n\",\n       \"<g id=\\\"edge11\\\" class=\\\"edge\\\">\\n\",\n       \"<title>4-&gt;119</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M684.06,-426.51C684.06,-403.41 684.06,-377.07 684.06,-353.09\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"687.56,-353.4 684.06,-343.4 680.56,-353.4 687.56,-353.4\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"704.68\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">3</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"704.68\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.35</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"704.68\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 196 -->\\n\",\n       \"<g id=\\\"node13\\\" class=\\\"node\\\">\\n\",\n       \"<title>196</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"838.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"838.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">196</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"838.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"838.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"838.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"838.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 4&#45;&gt;196 -->\\n\",\n       \"<g id=\\\"edge12\\\" class=\\\"edge\\\">\\n\",\n       \"<title>4-&gt;196</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M722.13,-437.69C743.69,-408.07 770.78,-370.87 793.35,-339.87\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"795.95,-342.26 799,-332.11 790.29,-338.14 795.95,-342.26\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"795.48\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">4</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"795.48\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"795.48\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 336 -->\\n\",\n       \"<g id=\\\"node14\\\" class=\\\"node\\\">\\n\",\n       \"<title>336</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"992.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"992.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">336</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"992.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"992.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"992.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"992.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 4&#45;&gt;336 -->\\n\",\n       \"<g id=\\\"edge13\\\" class=\\\"edge\\\">\\n\",\n       \"<title>4-&gt;336</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M741.93,-456.89C766.32,-442.59 794.85,-425.4 820.06,-408.97 863.46,-380.7 873.88,-372.89 915.06,-341.47 920.87,-337.04 926.87,-332.35 932.83,-327.61\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"934.71,-330.58 940.32,-321.6 930.33,-325.12 934.71,-330.58\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"910.47\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">5</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"910.47\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"910.47\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 10 -->\\n\",\n       \"<g id=\\\"node15\\\" class=\\\"node\\\">\\n\",\n       \"<title>10</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"1531.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1531.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">10</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1531.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1531.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.94</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1531.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1531.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 334</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 3&#45;&gt;10 -->\\n\",\n       \"<g id=\\\"edge14\\\" class=\\\"edge\\\">\\n\",\n       \"<title>3-&gt;10</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2014.16,-465.6C1912.39,-426.18 1712.17,-348.63 1604.2,-306.81\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"1605.73,-303.65 1595.14,-303.3 1603.2,-310.18 1605.73,-303.65\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1873.59\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1873.59\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.58</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1873.59\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 8 -->\\n\",\n       \"<g id=\\\"node16\\\" class=\\\"node\\\">\\n\",\n       \"<title>8</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"2131.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2131.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">8</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2131.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2131.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2131.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2131.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 1&#45;&gt;8 -->\\n\",\n       \"<g id=\\\"edge15\\\" class=\\\"edge\\\">\\n\",\n       \"<title>1-&gt;8</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2381.07,-456.92C2356.63,-442.62 2328.05,-425.43 2302.81,-408.97 2259.49,-380.74 2249.15,-372.86 2208.06,-341.47 2202.25,-337.03 2196.26,-332.34 2190.3,-327.6\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"2192.79,-325.11 2182.8,-321.59 2188.41,-330.58 2192.79,-325.11\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2323.43\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2323.43\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2323.43\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 16 -->\\n\",\n       \"<g id=\\\"node17\\\" class=\\\"node\\\">\\n\",\n       \"<title>16</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"2285.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2285.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">16</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2285.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2285.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2285.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.95</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2285.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 44</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 1&#45;&gt;16 -->\\n\",\n       \"<g id=\\\"edge16\\\" class=\\\"edge\\\">\\n\",\n       \"<title>1-&gt;16</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2400.99,-437.69C2379.43,-408.07 2352.34,-370.87 2329.76,-339.87\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"2332.83,-338.14 2324.11,-332.11 2327.17,-342.26 2332.83,-338.14\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2396.48\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2396.48\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.95</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2396.48\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 75 -->\\n\",\n       \"<g id=\\\"node18\\\" class=\\\"node\\\">\\n\",\n       \"<title>75</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"2439.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2439.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">75</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2439.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2439.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2439.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2439.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 1&#45;&gt;75 -->\\n\",\n       \"<g id=\\\"edge17\\\" class=\\\"edge\\\">\\n\",\n       \"<title>1-&gt;75</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2439.06,-426.51C2439.06,-403.41 2439.06,-377.07 2439.06,-353.09\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"2442.56,-353.4 2439.06,-343.4 2435.56,-353.4 2442.56,-353.4\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2459.68\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">2</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2459.68\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2459.68\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 96 -->\\n\",\n       \"<g id=\\\"node19\\\" class=\\\"node\\\">\\n\",\n       \"<title>96</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"2593.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2593.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">96</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2593.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2593.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2593.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2593.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 1&#45;&gt;96 -->\\n\",\n       \"<g id=\\\"edge18\\\" class=\\\"edge\\\">\\n\",\n       \"<title>1-&gt;96</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2477.13,-437.69C2498.69,-408.07 2525.78,-370.87 2548.35,-339.87\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"2550.95,-342.26 2554,-332.11 2545.29,-338.14 2550.95,-342.26\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2550.48\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">3</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2550.48\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2550.48\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 14 -->\\n\",\n       \"<g id=\\\"node20\\\" class=\\\"node\\\">\\n\",\n       \"<title>14</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"2917.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2917.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">14</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2917.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2917.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.94</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2917.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.29</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2917.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 160</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 6&#45;&gt;14 -->\\n\",\n       \"<g id=\\\"edge19\\\" class=\\\"edge\\\">\\n\",\n       \"<title>6-&gt;14</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2917.06,-426.51C2917.06,-403.41 2917.06,-377.07 2917.06,-353.09\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"2920.56,-353.4 2917.06,-343.4 2913.56,-353.4 2920.56,-353.4\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2937.68\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2937.68\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.57</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2937.68\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 12 -->\\n\",\n       \"<g id=\\\"node21\\\" class=\\\"node\\\">\\n\",\n       \"<title>12</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"3148.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3148.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">12</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3148.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3148.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3148.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3148.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 7&#45;&gt;12 -->\\n\",\n       \"<g id=\\\"edge20\\\" class=\\\"edge\\\">\\n\",\n       \"<title>7-&gt;12</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M3398.07,-456.92C3373.63,-442.62 3345.05,-425.43 3319.81,-408.97 3276.49,-380.74 3266.15,-372.86 3225.06,-341.47 3219.25,-337.03 3213.26,-332.34 3207.3,-327.6\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"3209.79,-325.11 3199.8,-321.59 3205.41,-330.58 3209.79,-325.11\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3340.43\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3340.43\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3340.43\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 19 -->\\n\",\n       \"<g id=\\\"node22\\\" class=\\\"node\\\">\\n\",\n       \"<title>19</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"3302.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3302.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">19</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3302.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3302.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.94</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3302.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3302.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 15</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 7&#45;&gt;19 -->\\n\",\n       \"<g id=\\\"edge21\\\" class=\\\"edge\\\">\\n\",\n       \"<title>7-&gt;19</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M3417.99,-437.69C3396.43,-408.07 3369.34,-370.87 3346.76,-339.87\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"3349.83,-338.14 3341.11,-332.11 3344.17,-342.26 3349.83,-338.14\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3413.48\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3413.48\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3413.48\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 74 -->\\n\",\n       \"<g id=\\\"node23\\\" class=\\\"node\\\">\\n\",\n       \"<title>74</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"3456.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3456.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">74</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3456.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3456.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.94</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3456.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3456.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 15</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 7&#45;&gt;74 -->\\n\",\n       \"<g id=\\\"edge22\\\" class=\\\"edge\\\">\\n\",\n       \"<title>7-&gt;74</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M3456.06,-426.51C3456.06,-403.41 3456.06,-377.07 3456.06,-353.09\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"3459.56,-353.4 3456.06,-343.4 3452.56,-353.4 3459.56,-353.4\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3476.68\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">2</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3476.68\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3476.68\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 116 -->\\n\",\n       \"<g id=\\\"node24\\\" class=\\\"node\\\">\\n\",\n       \"<title>116</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"3610.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3610.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">116</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3610.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3610.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.94</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3610.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3610.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 7&#45;&gt;116 -->\\n\",\n       \"<g id=\\\"edge23\\\" class=\\\"edge\\\">\\n\",\n       \"<title>7-&gt;116</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M3494.13,-437.69C3515.69,-408.07 3542.78,-370.87 3565.35,-339.87\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"3567.95,-342.26 3571,-332.11 3562.29,-338.14 3567.95,-342.26\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3567.48\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">3</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3567.48\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3567.48\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 151 -->\\n\",\n       \"<g id=\\\"node25\\\" class=\\\"node\\\">\\n\",\n       \"<title>151</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"3764.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3764.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">151</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3764.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3764.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3764.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3764.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 7&#45;&gt;151 -->\\n\",\n       \"<g id=\\\"edge24\\\" class=\\\"edge\\\">\\n\",\n       \"<title>7-&gt;151</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M3513.93,-456.89C3538.32,-442.59 3566.85,-425.4 3592.06,-408.97 3635.46,-380.7 3645.88,-372.89 3687.06,-341.47 3692.87,-337.04 3698.87,-332.35 3704.83,-327.61\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"3706.71,-330.58 3712.32,-321.6 3702.33,-325.12 3706.71,-330.58\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3682.47\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">4</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3682.47\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3682.47\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 193 -->\\n\",\n       \"<g id=\\\"node26\\\" class=\\\"node\\\">\\n\",\n       \"<title>193</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"3918.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3918.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">193</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3918.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3918.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3918.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3918.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 7&#45;&gt;193 -->\\n\",\n       \"<g id=\\\"edge25\\\" class=\\\"edge\\\">\\n\",\n       \"<title>7-&gt;193</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M3521.93,-473.61C3601.86,-451.79 3738.63,-408.02 3841.06,-341.47 3847.19,-337.49 3853.4,-333.1 3859.49,-328.55\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"3861.3,-331.58 3867.11,-322.72 3857.04,-326.02 3861.3,-331.58\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3823.45\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">5</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3823.45\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3823.45\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 9 -->\\n\",\n       \"<g id=\\\"node27\\\" class=\\\"node\\\">\\n\",\n       \"<title>9</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"4380.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4380.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">9</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4380.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4380.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4380.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4380.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 2&#45;&gt;9 -->\\n\",\n       \"<g id=\\\"edge26\\\" class=\\\"edge\\\">\\n\",\n       \"<title>2-&gt;9</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5081.74,-486.42C4953.13,-477.4 4668.97,-446.25 4457.06,-341.47 4450.3,-338.13 4443.6,-334.09 4437.15,-329.7\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"4439.27,-326.92 4429.11,-323.92 4435.19,-332.6 4439.27,-326.92\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4639.48\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4639.48\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4639.48\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 17 -->\\n\",\n       \"<g id=\\\"node28\\\" class=\\\"node\\\">\\n\",\n       \"<title>17</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"4534.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4534.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">17</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4534.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4534.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.94</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4534.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4534.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 25</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 2&#45;&gt;17 -->\\n\",\n       \"<g id=\\\"edge27\\\" class=\\\"edge\\\">\\n\",\n       \"<title>2-&gt;17</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5086.17,-468.03C4971.3,-428.59 4730.51,-345.92 4608.43,-304.01\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"4609.73,-300.76 4599.14,-300.82 4607.46,-307.38 4609.73,-300.76\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4917.86\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4917.86\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4917.86\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 71 -->\\n\",\n       \"<g id=\\\"node29\\\" class=\\\"node\\\">\\n\",\n       \"<title>71</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"5150.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5150.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">71</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5150.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5150.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.94</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5150.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5150.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 25</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 2&#45;&gt;71 -->\\n\",\n       \"<g id=\\\"edge28\\\" class=\\\"edge\\\">\\n\",\n       \"<title>2-&gt;71</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5150.06,-426.51C5150.06,-403.41 5150.06,-377.07 5150.06,-353.09\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"5153.56,-353.4 5150.06,-343.4 5146.56,-353.4 5153.56,-353.4\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5170.68\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">2</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5170.68\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5170.68\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 113 -->\\n\",\n       \"<g id=\\\"node30\\\" class=\\\"node\\\">\\n\",\n       \"<title>113</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"5689.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5689.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">113</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5689.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5689.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.94</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5689.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 1.19</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5689.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 282</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 2&#45;&gt;113 -->\\n\",\n       \"<g id=\\\"edge29\\\" class=\\\"edge\\\">\\n\",\n       \"<title>2-&gt;113</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5212.94,-465.29C5313.36,-425.89 5509.4,-348.97 5615.92,-307.18\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"5617.13,-310.46 5625.17,-303.55 5614.58,-303.94 5617.13,-310.46\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5488.46\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">3</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5488.46\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.41</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5488.46\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 149 -->\\n\",\n       \"<g id=\\\"node31\\\" class=\\\"node\\\">\\n\",\n       \"<title>149</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"5843.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5843.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">149</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5843.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5843.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5843.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5843.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 2&#45;&gt;149 -->\\n\",\n       \"<g id=\\\"edge30\\\" class=\\\"edge\\\">\\n\",\n       \"<title>2-&gt;149</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5217.92,-484.1C5335.39,-471.72 5581.73,-435.85 5766.06,-341.47 5772.67,-338.09 5779.23,-334.06 5785.58,-329.71\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"5787.41,-332.7 5793.47,-324.01 5783.31,-327.03 5787.41,-332.7\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5740.43\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">4</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5740.43\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5740.43\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 191 -->\\n\",\n       \"<g id=\\\"node32\\\" class=\\\"node\\\">\\n\",\n       \"<title>191</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"5997.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5997.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">191</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5997.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5997.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5997.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5997.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 2&#45;&gt;191 -->\\n\",\n       \"<g id=\\\"edge31\\\" class=\\\"edge\\\">\\n\",\n       \"<title>2-&gt;191</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5218.18,-487.2C5332.94,-481.18 5571.27,-462.78 5765.06,-408.97 5837.46,-388.87 5855.93,-380.63 5920.06,-341.47 5926.4,-337.6 5932.78,-333.25 5939.01,-328.7\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"5940.93,-331.64 5946.8,-322.82 5936.71,-326.05 5940.93,-331.64\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5909.91\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">5</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5909.91\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5909.91\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 11 -->\\n\",\n       \"<g id=\\\"node33\\\" class=\\\"node\\\">\\n\",\n       \"<title>11</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"6382.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6382.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">11</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6382.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6382.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6382.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6382.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 5&#45;&gt;11 -->\\n\",\n       \"<g id=\\\"edge32\\\" class=\\\"edge\\\">\\n\",\n       \"<title>5-&gt;11</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M6632.07,-456.92C6607.63,-442.62 6579.05,-425.43 6553.81,-408.97 6510.49,-380.74 6500.15,-372.86 6459.06,-341.47 6453.25,-337.03 6447.26,-332.34 6441.3,-327.6\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"6443.79,-325.11 6433.8,-321.59 6439.41,-330.58 6443.79,-325.11\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6574.43\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6574.43\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6574.43\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 18 -->\\n\",\n       \"<g id=\\\"node34\\\" class=\\\"node\\\">\\n\",\n       \"<title>18</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"6536.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6536.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">18</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6536.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6536.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.94</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6536.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6536.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 15</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 5&#45;&gt;18 -->\\n\",\n       \"<g id=\\\"edge33\\\" class=\\\"edge\\\">\\n\",\n       \"<title>5-&gt;18</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M6651.99,-437.69C6630.43,-408.07 6603.34,-370.87 6580.76,-339.87\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"6583.83,-338.14 6575.11,-332.11 6578.17,-342.26 6583.83,-338.14\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6647.48\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6647.48\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6647.48\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 73 -->\\n\",\n       \"<g id=\\\"node35\\\" class=\\\"node\\\">\\n\",\n       \"<title>73</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"6690.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6690.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">73</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6690.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6690.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.94</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6690.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6690.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 15</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 5&#45;&gt;73 -->\\n\",\n       \"<g id=\\\"edge34\\\" class=\\\"edge\\\">\\n\",\n       \"<title>5-&gt;73</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M6690.06,-426.51C6690.06,-403.41 6690.06,-377.07 6690.06,-353.09\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"6693.56,-353.4 6690.06,-343.4 6686.56,-353.4 6693.56,-353.4\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6710.68\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">2</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6710.68\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6710.68\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 115 -->\\n\",\n       \"<g id=\\\"node36\\\" class=\\\"node\\\">\\n\",\n       \"<title>115</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"6844.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6844.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">115</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6844.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6844.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.94</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6844.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6844.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 5&#45;&gt;115 -->\\n\",\n       \"<g id=\\\"edge35\\\" class=\\\"edge\\\">\\n\",\n       \"<title>5-&gt;115</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M6728.13,-437.69C6749.69,-408.07 6776.78,-370.87 6799.35,-339.87\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"6801.95,-342.26 6805,-332.11 6796.29,-338.14 6801.95,-342.26\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6801.48\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">3</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6801.48\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6801.48\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 150 -->\\n\",\n       \"<g id=\\\"node37\\\" class=\\\"node\\\">\\n\",\n       \"<title>150</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"6998.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6998.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">150</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6998.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6998.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6998.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6998.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 5&#45;&gt;150 -->\\n\",\n       \"<g id=\\\"edge36\\\" class=\\\"edge\\\">\\n\",\n       \"<title>5-&gt;150</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M6747.93,-456.89C6772.32,-442.59 6800.85,-425.4 6826.06,-408.97 6869.46,-380.7 6879.88,-372.89 6921.06,-341.47 6926.87,-337.04 6932.87,-332.35 6938.83,-327.61\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"6940.71,-330.58 6946.32,-321.6 6936.33,-325.12 6940.71,-330.58\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6916.47\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">4</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6916.47\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6916.47\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 192 -->\\n\",\n       \"<g id=\\\"node38\\\" class=\\\"node\\\">\\n\",\n       \"<title>192</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"7152.06\\\" cy=\\\"-277.48\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7152.06\\\" y=\\\"-305.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">192</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7152.06\\\" y=\\\"-288.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7152.06\\\" y=\\\"-272.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7152.06\\\" y=\\\"-255.93\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7152.06\\\" y=\\\"-239.43\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 5&#45;&gt;192 -->\\n\",\n       \"<g id=\\\"edge37\\\" class=\\\"edge\\\">\\n\",\n       \"<title>5-&gt;192</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M6755.93,-473.61C6835.86,-451.79 6972.63,-408.02 7075.06,-341.47 7081.19,-337.49 7087.4,-333.1 7093.49,-328.55\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"7095.3,-331.58 7101.11,-322.72 7091.04,-326.02 7095.3,-331.58\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7057.45\\\" y=\\\"-395.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">5</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7057.45\\\" y=\\\"-379.17\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7057.45\\\" y=\\\"-362.67\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 28 -->\\n\",\n       \"<g id=\\\"node64\\\" class=\\\"node\\\">\\n\",\n       \"<title>28</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"68.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"68.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">28</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"68.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"68.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"68.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"68.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 7</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 21&#45;&gt;28 -->\\n\",\n       \"<g id=\\\"edge63\\\" class=\\\"edge\\\">\\n\",\n       \"<title>21-&gt;28</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M328.65,-231.02C319.41,-224.17 309.37,-217.93 299.06,-213.49 241.34,-188.63 212.54,-228.09 158.81,-195.49 134.34,-180.64 114.81,-156.41 100.22,-132.83\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"103.36,-131.26 95.24,-124.45 97.34,-134.83 103.36,-131.26\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"179.43\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"179.43\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"179.43\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 83 -->\\n\",\n       \"<g id=\\\"node65\\\" class=\\\"node\\\">\\n\",\n       \"<title>83</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"222.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"222.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">83</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"222.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"222.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"222.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"222.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 7</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 76&#45;&gt;83 -->\\n\",\n       \"<g id=\\\"edge64\\\" class=\\\"edge\\\">\\n\",\n       \"<title>76-&gt;83</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M482.65,-231.02C473.41,-224.17 463.37,-217.93 453.06,-213.49 395.34,-188.63 366.54,-228.09 312.81,-195.49 288.34,-180.64 268.81,-156.41 254.22,-132.83\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"257.36,-131.26 249.24,-124.45 251.34,-134.83 257.36,-131.26\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"333.43\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"333.43\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"333.43\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 126 -->\\n\",\n       \"<g id=\\\"node66\\\" class=\\\"node\\\">\\n\",\n       \"<title>126</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"376.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"376.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">126</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"376.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"376.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"376.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"376.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 119&#45;&gt;126 -->\\n\",\n       \"<g id=\\\"edge65\\\" class=\\\"edge\\\">\\n\",\n       \"<title>119-&gt;126</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M635.55,-232.11C626.5,-225.23 616.81,-218.69 607.06,-213.49 582.78,-200.53 572.51,-207.63 547.81,-195.49 501.41,-172.67 494.15,-159.37 453.06,-127.99 447.25,-123.55 441.26,-118.86 435.3,-114.11\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"437.79,-111.63 427.8,-108.1 433.41,-117.09 437.79,-111.63\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"568.43\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"568.43\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"568.43\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 133 -->\\n\",\n       \"<g id=\\\"node67\\\" class=\\\"node\\\">\\n\",\n       \"<title>133</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"530.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"530.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">133</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"530.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"530.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"530.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"530.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 119&#45;&gt;133 -->\\n\",\n       \"<g id=\\\"edge66\\\" class=\\\"edge\\\">\\n\",\n       \"<title>119-&gt;133</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M645.99,-224.2C624.43,-194.59 597.34,-157.38 574.76,-126.39\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"577.83,-124.65 569.11,-118.63 572.17,-128.77 577.83,-124.65\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"641.48\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"641.48\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"641.48\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 189 -->\\n\",\n       \"<g id=\\\"node68\\\" class=\\\"node\\\">\\n\",\n       \"<title>189</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"684.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"684.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">189</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"684.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"684.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"684.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"684.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 119&#45;&gt;189 -->\\n\",\n       \"<g id=\\\"edge67\\\" class=\\\"edge\\\">\\n\",\n       \"<title>119-&gt;189</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M684.06,-213.03C684.06,-189.92 684.06,-163.59 684.06,-139.6\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"687.56,-139.91 684.06,-129.91 680.56,-139.91 687.56,-139.91\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"704.68\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">2</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"704.68\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"704.68\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 238 -->\\n\",\n       \"<g id=\\\"node69\\\" class=\\\"node\\\">\\n\",\n       \"<title>238</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"838.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"838.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">238</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"838.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"838.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"838.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"838.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 119&#45;&gt;238 -->\\n\",\n       \"<g id=\\\"edge68\\\" class=\\\"edge\\\">\\n\",\n       \"<title>119-&gt;238</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M722.13,-224.2C743.69,-194.59 770.78,-157.38 793.35,-126.39\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"795.95,-128.77 799,-118.63 790.29,-124.65 795.95,-128.77\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"795.48\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">3</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"795.48\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"795.48\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 273 -->\\n\",\n       \"<g id=\\\"node70\\\" class=\\\"node\\\">\\n\",\n       \"<title>273</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"992.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"992.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">273</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"992.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"992.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"992.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"992.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 119&#45;&gt;273 -->\\n\",\n       \"<g id=\\\"edge69\\\" class=\\\"edge\\\">\\n\",\n       \"<title>119-&gt;273</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M732.58,-232.12C741.62,-225.24 751.31,-218.7 761.06,-213.49 785.24,-200.56 795.46,-207.58 820.06,-195.49 866.54,-172.63 873.88,-159.4 915.06,-127.99 920.87,-123.55 926.87,-118.86 932.83,-114.12\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"934.71,-117.1 940.32,-108.11 930.33,-111.64 934.71,-117.1\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"912.64\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">4</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"912.64\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"912.64\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 329 -->\\n\",\n       \"<g id=\\\"node71\\\" class=\\\"node\\\">\\n\",\n       \"<title>329</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"1146.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1146.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">329</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1146.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1146.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1146.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1146.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 119&#45;&gt;329 -->\\n\",\n       \"<g id=\\\"edge70\\\" class=\\\"edge\\\">\\n\",\n       \"<title>119-&gt;329</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M730.95,-231.12C740.32,-224.17 750.53,-217.86 761.06,-213.49 833.67,-183.32 861.65,-217.77 937.06,-195.49 1000.25,-176.81 1013.91,-164.05 1069.06,-127.99 1075.18,-123.98 1081.38,-119.58 1087.47,-115.03\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"1089.28,-118.05 1095.08,-109.19 1085.02,-112.49 1089.28,-118.05\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1060.85\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">5</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1060.85\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1060.85\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 15 -->\\n\",\n       \"<g id=\\\"node61\\\" class=\\\"node\\\">\\n\",\n       \"<title>15</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"1300.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1300.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">15</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1300.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1300.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1300.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1300.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 10&#45;&gt;15 -->\\n\",\n       \"<g id=\\\"edge60\\\" class=\\\"edge\\\">\\n\",\n       \"<title>10-&gt;15</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M1482.22,-232.91C1468.76,-220.83 1454.19,-207.69 1440.81,-195.49 1412.82,-169.95 1381.93,-141.36 1356.24,-117.46\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"1358.9,-115.16 1349.19,-110.91 1354.13,-120.29 1358.9,-115.16\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1461.43\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1461.43\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1461.43\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 72 -->\\n\",\n       \"<g id=\\\"node62\\\" class=\\\"node\\\">\\n\",\n       \"<title>72</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"1454.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1454.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">72</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1454.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1454.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1454.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1454.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 6</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 10&#45;&gt;72 -->\\n\",\n       \"<g id=\\\"edge61\\\" class=\\\"edge\\\">\\n\",\n       \"<title>10-&gt;72</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M1509.2,-216.44C1500.02,-191.22 1489.27,-161.7 1479.71,-135.46\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"1483.07,-134.44 1476.36,-126.24 1476.49,-136.83 1483.07,-134.44\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1520.08\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1520.08\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1520.08\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 114 -->\\n\",\n       \"<g id=\\\"node63\\\" class=\\\"node\\\">\\n\",\n       \"<title>114</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"1608.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1608.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">114</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1608.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.31</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1608.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.93</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1608.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1608.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 319</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 10&#45;&gt;114 -->\\n\",\n       \"<g id=\\\"edge62\\\" class=\\\"edge\\\">\\n\",\n       \"<title>10-&gt;114</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M1552.92,-216.44C1562.1,-191.22 1572.85,-161.7 1582.4,-135.46\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"1585.63,-136.83 1585.76,-126.24 1579.05,-134.44 1585.63,-136.83\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1597.08\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">2</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1597.08\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.31</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1597.08\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 25 -->\\n\",\n       \"<g id=\\\"node39\\\" class=\\\"node\\\">\\n\",\n       \"<title>25</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"1762.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1762.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">25</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1762.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1762.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1762.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1762.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 16&#45;&gt;25 -->\\n\",\n       \"<g id=\\\"edge38\\\" class=\\\"edge\\\">\\n\",\n       \"<title>16-&gt;25</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2238.26,-230.9C2228.88,-223.97 2218.64,-217.73 2208.06,-213.49 2111.14,-174.64 2074.43,-223.39 1973.81,-195.49 1909.26,-177.59 1895.27,-164.42 1839.06,-127.99 1832.92,-124.01 1826.71,-119.63 1820.62,-115.08\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"1823.07,-112.55 1813,-109.25 1818.81,-118.1 1823.07,-112.55\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1994.43\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1994.43\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1994.43\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 33 -->\\n\",\n       \"<g id=\\\"node40\\\" class=\\\"node\\\">\\n\",\n       \"<title>33</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"1916.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1916.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">33</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1916.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1916.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1916.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"1916.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 16&#45;&gt;33 -->\\n\",\n       \"<g id=\\\"edge39\\\" class=\\\"edge\\\">\\n\",\n       \"<title>16-&gt;33</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2237.42,-231.53C2228.21,-224.63 2218.23,-218.23 2208.06,-213.49 2169.01,-195.28 2153.28,-210.26 2112.81,-195.49 2055.42,-174.54 2043.5,-162.46 1993.06,-127.99 1987.02,-123.86 1980.88,-119.38 1974.83,-114.77\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"1977.29,-112.25 1967.24,-108.88 1972.99,-117.78 1977.29,-112.25\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2133.43\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2133.43\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2133.43\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 103 -->\\n\",\n       \"<g id=\\\"node41\\\" class=\\\"node\\\">\\n\",\n       \"<title>103</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"2070.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2070.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">103</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2070.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2070.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2070.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2070.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 7</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 16&#45;&gt;103 -->\\n\",\n       \"<g id=\\\"edge40\\\" class=\\\"edge\\\">\\n\",\n       \"<title>16-&gt;103</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2238.41,-230.59C2204.88,-197.61 2159.58,-153.05 2124.41,-118.46\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"2127.28,-116.37 2117.7,-111.85 2122.37,-121.36 2127.28,-116.37\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2217.44\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">2</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2217.44\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2217.44\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 146 -->\\n\",\n       \"<g id=\\\"node42\\\" class=\\\"node\\\">\\n\",\n       \"<title>146</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"2224.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2224.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">146</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2224.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2224.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2224.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2224.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 7</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 16&#45;&gt;146 -->\\n\",\n       \"<g id=\\\"edge41\\\" class=\\\"edge\\\">\\n\",\n       \"<title>16-&gt;146</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2267.42,-215.31C2260.33,-190.76 2252.12,-162.28 2244.76,-136.76\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"2248.22,-136.12 2242.08,-127.48 2241.49,-138.06 2248.22,-136.12\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2280.65\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">3</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2280.65\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2280.65\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 181 -->\\n\",\n       \"<g id=\\\"node43\\\" class=\\\"node\\\">\\n\",\n       \"<title>181</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"2378.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2378.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">181</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2378.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2378.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2378.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2378.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 7</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 16&#45;&gt;181 -->\\n\",\n       \"<g id=\\\"edge42\\\" class=\\\"edge\\\">\\n\",\n       \"<title>16-&gt;181</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2310.84,-217.85C2322.33,-191.73 2335.94,-160.78 2347.89,-133.59\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"2350.96,-135.32 2351.78,-124.76 2344.55,-132.5 2350.96,-135.32\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2360.51\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">4</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2360.51\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2360.51\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 216 -->\\n\",\n       \"<g id=\\\"node44\\\" class=\\\"node\\\">\\n\",\n       \"<title>216</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"2532.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2532.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">216</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2532.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2532.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2532.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2532.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 7</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 16&#45;&gt;216 -->\\n\",\n       \"<g id=\\\"edge43\\\" class=\\\"edge\\\">\\n\",\n       \"<title>16-&gt;216</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2335.88,-234.65C2344.59,-227.55 2353.56,-220.28 2362.06,-213.49 2372.19,-205.38 2375.09,-203.8 2385.06,-195.49 2415.33,-170.24 2448.21,-141.22 2475.18,-116.96\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"2477.51,-119.57 2482.6,-110.27 2472.83,-114.37 2477.51,-119.57\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2463.02\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">5</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2463.02\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2463.02\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 244 -->\\n\",\n       \"<g id=\\\"node45\\\" class=\\\"node\\\">\\n\",\n       \"<title>244</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"2686.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2686.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">244</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2686.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2686.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2686.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2686.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 6</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 16&#45;&gt;244 -->\\n\",\n       \"<g id=\\\"edge44\\\" class=\\\"edge\\\">\\n\",\n       \"<title>16-&gt;244</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2332.52,-231.15C2341.76,-224.28 2351.78,-218 2362.06,-213.49 2413.85,-190.74 2434.46,-213.57 2488.06,-195.49 2546.41,-175.8 2558.14,-162.62 2609.06,-127.99 2615.1,-123.87 2621.26,-119.4 2627.31,-114.8\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"2629.14,-117.81 2634.9,-108.91 2624.85,-112.28 2629.14,-117.81\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2603.15\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">6</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2603.15\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2603.15\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 20 -->\\n\",\n       \"<g id=\\\"node78\\\" class=\\\"node\\\">\\n\",\n       \"<title>20</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"2840.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2840.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">20</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2840.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2840.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2840.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2840.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 14&#45;&gt;20 -->\\n\",\n       \"<g id=\\\"edge77\\\" class=\\\"edge\\\">\\n\",\n       \"<title>14-&gt;20</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2895.2,-216.44C2886.02,-191.22 2875.27,-161.7 2865.71,-135.46\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"2869.07,-134.44 2862.36,-126.24 2862.49,-136.83 2869.07,-134.44\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2906.08\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2906.08\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2906.08\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 77 -->\\n\",\n       \"<g id=\\\"node79\\\" class=\\\"node\\\">\\n\",\n       \"<title>77</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"2994.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2994.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">77</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2994.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.31</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2994.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.93</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2994.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2994.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 151</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 14&#45;&gt;77 -->\\n\",\n       \"<g id=\\\"edge78\\\" class=\\\"edge\\\">\\n\",\n       \"<title>14-&gt;77</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M2938.92,-216.44C2948.1,-191.22 2958.85,-161.7 2968.4,-135.46\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"2971.63,-136.83 2971.76,-126.24 2965.05,-134.44 2971.63,-136.83\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2983.08\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2983.08\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.31</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"2983.08\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 26 -->\\n\",\n       \"<g id=\\\"node80\\\" class=\\\"node\\\">\\n\",\n       \"<title>26</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"3148.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3148.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">26</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3148.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3148.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3148.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3148.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 19&#45;&gt;26 -->\\n\",\n       \"<g id=\\\"edge79\\\" class=\\\"edge\\\">\\n\",\n       \"<title>19-&gt;26</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M3263.99,-224.2C3242.43,-194.59 3215.34,-157.38 3192.76,-126.39\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"3195.83,-124.65 3187.11,-118.63 3190.17,-128.77 3195.83,-124.65\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3259.48\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3259.48\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3259.48\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 222 -->\\n\",\n       \"<g id=\\\"node81\\\" class=\\\"node\\\">\\n\",\n       \"<title>222</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"3302.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3302.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">222</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3302.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3302.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3302.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3302.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 6</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 19&#45;&gt;222 -->\\n\",\n       \"<g id=\\\"edge80\\\" class=\\\"edge\\\">\\n\",\n       \"<title>19-&gt;222</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M3302.06,-213.03C3302.06,-189.92 3302.06,-163.59 3302.06,-139.6\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"3305.56,-139.91 3302.06,-129.91 3298.56,-139.91 3305.56,-139.91\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3322.68\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3322.68\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3322.68\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 81 -->\\n\",\n       \"<g id=\\\"node82\\\" class=\\\"node\\\">\\n\",\n       \"<title>81</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"3456.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3456.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">81</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3456.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3456.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3456.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3456.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 74&#45;&gt;81 -->\\n\",\n       \"<g id=\\\"edge81\\\" class=\\\"edge\\\">\\n\",\n       \"<title>74-&gt;81</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M3456.06,-213.03C3456.06,-189.92 3456.06,-163.59 3456.06,-139.6\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"3459.56,-139.91 3456.06,-129.91 3452.56,-139.91 3459.56,-139.91\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3476.68\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3476.68\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3476.68\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 229 -->\\n\",\n       \"<g id=\\\"node83\\\" class=\\\"node\\\">\\n\",\n       \"<title>229</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"3610.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3610.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">229</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3610.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3610.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3610.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3610.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 6</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 74&#45;&gt;229 -->\\n\",\n       \"<g id=\\\"edge82\\\" class=\\\"edge\\\">\\n\",\n       \"<title>74-&gt;229</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M3494.13,-224.2C3515.69,-194.59 3542.78,-157.38 3565.35,-126.39\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"3567.95,-128.77 3571,-118.63 3562.29,-124.65 3567.95,-128.77\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3567.48\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3567.48\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3567.48\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 123 -->\\n\",\n       \"<g id=\\\"node84\\\" class=\\\"node\\\">\\n\",\n       \"<title>123</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"3764.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3764.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">123</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3764.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3764.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3764.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3764.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 116&#45;&gt;123 -->\\n\",\n       \"<g id=\\\"edge83\\\" class=\\\"edge\\\">\\n\",\n       \"<title>116-&gt;123</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M3648.13,-224.2C3669.69,-194.59 3696.78,-157.38 3719.35,-126.39\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"3721.95,-128.77 3725,-118.63 3716.29,-124.65 3721.95,-128.77\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3721.48\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3721.48\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3721.48\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 236 -->\\n\",\n       \"<g id=\\\"node85\\\" class=\\\"node\\\">\\n\",\n       \"<title>236</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"3918.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3918.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">236</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3918.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3918.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3918.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3918.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 5</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 116&#45;&gt;236 -->\\n\",\n       \"<g id=\\\"edge84\\\" class=\\\"edge\\\">\\n\",\n       \"<title>116-&gt;236</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M3658.58,-232.12C3667.62,-225.24 3677.31,-218.7 3687.06,-213.49 3711.24,-200.56 3721.46,-207.58 3746.06,-195.49 3792.54,-172.63 3799.88,-159.4 3841.06,-127.99 3846.87,-123.55 3852.87,-118.86 3858.83,-114.12\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"3860.71,-117.1 3866.32,-108.11 3856.33,-111.64 3860.71,-117.1\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3838.64\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3838.64\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"3838.64\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 23 -->\\n\",\n       \"<g id=\\\"node46\\\" class=\\\"node\\\">\\n\",\n       \"<title>23</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"4072.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4072.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">23</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4072.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4072.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4072.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4072.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 17&#45;&gt;23 -->\\n\",\n       \"<g id=\\\"edge45\\\" class=\\\"edge\\\">\\n\",\n       \"<title>17-&gt;23</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M4487.17,-231.12C4477.8,-224.16 4467.59,-217.86 4457.06,-213.49 4384.34,-183.28 4356.32,-217.82 4280.81,-195.49 4217.72,-176.82 4204.11,-164.02 4149.06,-127.99 4142.94,-123.98 4136.74,-119.58 4130.66,-115.02\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"4133.11,-112.49 4123.04,-109.18 4128.84,-118.04 4133.11,-112.49\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4301.43\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4301.43\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4301.43\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 219 -->\\n\",\n       \"<g id=\\\"node47\\\" class=\\\"node\\\">\\n\",\n       \"<title>219</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"4226.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4226.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">219</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4226.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4226.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4226.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4226.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 6</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 17&#45;&gt;219 -->\\n\",\n       \"<g id=\\\"edge46\\\" class=\\\"edge\\\">\\n\",\n       \"<title>17-&gt;219</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M4485.55,-232.11C4476.5,-225.23 4466.81,-218.69 4457.06,-213.49 4432.78,-200.53 4422.51,-207.63 4397.81,-195.49 4351.41,-172.67 4344.15,-159.37 4303.06,-127.99 4297.25,-123.55 4291.26,-118.86 4285.3,-114.11\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"4287.79,-111.63 4277.8,-108.1 4283.41,-117.09 4287.79,-111.63\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4418.43\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4418.43\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4418.43\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 341 -->\\n\",\n       \"<g id=\\\"node48\\\" class=\\\"node\\\">\\n\",\n       \"<title>341</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"4380.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4380.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">341</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4380.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4380.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4380.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4380.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 5</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 17&#45;&gt;341 -->\\n\",\n       \"<g id=\\\"edge47\\\" class=\\\"edge\\\">\\n\",\n       \"<title>17-&gt;341</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M4495.99,-224.2C4474.43,-194.59 4447.34,-157.38 4424.76,-126.39\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"4427.83,-124.65 4419.11,-118.63 4422.17,-128.77 4427.83,-124.65\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4491.48\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">2</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4491.48\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4491.48\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 386 -->\\n\",\n       \"<g id=\\\"node49\\\" class=\\\"node\\\">\\n\",\n       \"<title>386</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"4534.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4534.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">386</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4534.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4534.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4534.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4534.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 4</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 17&#45;&gt;386 -->\\n\",\n       \"<g id=\\\"edge48\\\" class=\\\"edge\\\">\\n\",\n       \"<title>17-&gt;386</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M4534.06,-213.03C4534.06,-189.92 4534.06,-163.59 4534.06,-139.6\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"4537.56,-139.91 4534.06,-129.91 4530.56,-139.91 4537.56,-139.91\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4554.68\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">3</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4554.68\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4554.68\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 423 -->\\n\",\n       \"<g id=\\\"node50\\\" class=\\\"node\\\">\\n\",\n       \"<title>423</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"4688.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4688.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">423</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4688.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4688.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4688.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4688.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 17&#45;&gt;423 -->\\n\",\n       \"<g id=\\\"edge49\\\" class=\\\"edge\\\">\\n\",\n       \"<title>17-&gt;423</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M4572.13,-224.2C4593.69,-194.59 4620.78,-157.38 4643.35,-126.39\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"4645.95,-128.77 4649,-118.63 4640.29,-124.65 4645.95,-128.77\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4645.48\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">4</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4645.48\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4645.48\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 78 -->\\n\",\n       \"<g id=\\\"node51\\\" class=\\\"node\\\">\\n\",\n       \"<title>78</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"4842.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4842.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">78</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4842.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4842.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4842.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4842.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 71&#45;&gt;78 -->\\n\",\n       \"<g id=\\\"edge50\\\" class=\\\"edge\\\">\\n\",\n       \"<title>71-&gt;78</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5092.07,-243.43C5067.63,-229.14 5039.05,-211.94 5013.81,-195.49 4970.49,-167.25 4960.15,-159.37 4919.06,-127.99 4913.25,-123.55 4907.26,-118.86 4901.3,-114.11\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"4903.79,-111.63 4893.8,-108.1 4899.41,-117.09 4903.79,-111.63\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5034.43\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5034.43\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5034.43\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 226 -->\\n\",\n       \"<g id=\\\"node52\\\" class=\\\"node\\\">\\n\",\n       \"<title>226</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"4996.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4996.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">226</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4996.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4996.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4996.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"4996.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 6</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 71&#45;&gt;226 -->\\n\",\n       \"<g id=\\\"edge51\\\" class=\\\"edge\\\">\\n\",\n       \"<title>71-&gt;226</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5111.99,-224.2C5090.43,-194.59 5063.34,-157.38 5040.76,-126.39\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"5043.83,-124.65 5035.11,-118.63 5038.17,-128.77 5043.83,-124.65\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5107.48\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5107.48\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5107.48\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 344 -->\\n\",\n       \"<g id=\\\"node53\\\" class=\\\"node\\\">\\n\",\n       \"<title>344</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"5150.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5150.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">344</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5150.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5150.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5150.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5150.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 5</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 71&#45;&gt;344 -->\\n\",\n       \"<g id=\\\"edge52\\\" class=\\\"edge\\\">\\n\",\n       \"<title>71-&gt;344</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5150.06,-213.03C5150.06,-189.92 5150.06,-163.59 5150.06,-139.6\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"5153.56,-139.91 5150.06,-129.91 5146.56,-139.91 5153.56,-139.91\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5170.68\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">2</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5170.68\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5170.68\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 389 -->\\n\",\n       \"<g id=\\\"node54\\\" class=\\\"node\\\">\\n\",\n       \"<title>389</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"5304.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5304.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">389</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5304.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5304.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5304.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5304.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 4</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 71&#45;&gt;389 -->\\n\",\n       \"<g id=\\\"edge53\\\" class=\\\"edge\\\">\\n\",\n       \"<title>71-&gt;389</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5188.13,-224.2C5209.69,-194.59 5236.78,-157.38 5259.35,-126.39\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"5261.95,-128.77 5265,-118.63 5256.29,-124.65 5261.95,-128.77\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5261.48\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">3</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5261.48\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5261.48\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 426 -->\\n\",\n       \"<g id=\\\"node55\\\" class=\\\"node\\\">\\n\",\n       \"<title>426</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"5458.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5458.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">426</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5458.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5458.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5458.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5458.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 1</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 71&#45;&gt;426 -->\\n\",\n       \"<g id=\\\"edge54\\\" class=\\\"edge\\\">\\n\",\n       \"<title>71-&gt;426</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5207.93,-243.4C5232.32,-229.11 5260.85,-211.91 5286.06,-195.49 5329.46,-167.21 5339.88,-159.4 5381.06,-127.99 5386.87,-123.55 5392.87,-118.86 5398.83,-114.12\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"5400.71,-117.1 5406.32,-108.11 5396.33,-111.64 5400.71,-117.1\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5376.47\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">4</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5376.47\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5376.47\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 120 -->\\n\",\n       \"<g id=\\\"node56\\\" class=\\\"node\\\">\\n\",\n       \"<title>120</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"5612.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5612.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">120</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5612.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5612.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5612.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5612.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 113&#45;&gt;120 -->\\n\",\n       \"<g id=\\\"edge55\\\" class=\\\"edge\\\">\\n\",\n       \"<title>113-&gt;120</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5667.2,-216.44C5658.02,-191.22 5647.27,-161.7 5637.71,-135.46\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"5641.07,-134.44 5634.36,-126.24 5634.49,-136.83 5641.07,-134.44\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5678.08\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5678.08\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5678.08\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 233 -->\\n\",\n       \"<g id=\\\"node57\\\" class=\\\"node\\\">\\n\",\n       \"<title>233</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"5766.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5766.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">233</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5766.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5766.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5766.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5766.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 6</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 113&#45;&gt;233 -->\\n\",\n       \"<g id=\\\"edge56\\\" class=\\\"edge\\\">\\n\",\n       \"<title>113-&gt;233</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5710.92,-216.44C5720.1,-191.22 5730.85,-161.7 5740.4,-135.46\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"5743.63,-136.83 5743.76,-126.24 5737.05,-134.44 5743.63,-136.83\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5755.08\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5755.08\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5755.08\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 347 -->\\n\",\n       \"<g id=\\\"node58\\\" class=\\\"node\\\">\\n\",\n       \"<title>347</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"5920.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5920.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">347</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5920.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5920.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5920.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5920.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 5</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 113&#45;&gt;347 -->\\n\",\n       \"<g id=\\\"edge57\\\" class=\\\"edge\\\">\\n\",\n       \"<title>113-&gt;347</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5738.36,-232.97C5751.93,-220.89 5766.61,-207.73 5780.06,-195.49 5807.99,-170.05 5838.72,-141.47 5864.26,-117.55\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"5866.36,-120.39 5871.26,-110.99 5861.57,-115.28 5866.36,-120.39\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5851.01\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">2</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5851.01\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5851.01\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 392 -->\\n\",\n       \"<g id=\\\"node59\\\" class=\\\"node\\\">\\n\",\n       \"<title>392</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"6074.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6074.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">392</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6074.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6074.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6074.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6074.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 4</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 113&#45;&gt;392 -->\\n\",\n       \"<g id=\\\"edge58\\\" class=\\\"edge\\\">\\n\",\n       \"<title>113-&gt;392</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5736.6,-231.32C5745.83,-224.44 5755.83,-218.1 5766.06,-213.49 5811.21,-193.11 5829.28,-211.8 5876.06,-195.49 5934.2,-175.21 5946.14,-162.62 5997.06,-127.99 6003.1,-123.87 6009.26,-119.4 6015.31,-114.8\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"6017.14,-117.81 6022.9,-108.91 6012.85,-112.28 6017.14,-117.81\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5991.13\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">3</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5991.13\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"5991.13\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 429 -->\\n\",\n       \"<g id=\\\"node60\\\" class=\\\"node\\\">\\n\",\n       \"<title>429</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"6228.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6228.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">429</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6228.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 1.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6228.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 0.67</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6228.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6228.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 258</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 113&#45;&gt;429 -->\\n\",\n       \"<g id=\\\"edge59\\\" class=\\\"edge\\\">\\n\",\n       \"<title>113-&gt;429</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M5735.84,-230.85C5745.22,-223.93 5755.47,-217.7 5766.06,-213.49 5869.56,-172.29 5908.63,-224.96 6016.06,-195.49 6080.75,-177.74 6094.75,-164.45 6151.06,-127.99 6157.2,-124.01 6163.41,-119.63 6169.5,-115.08\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"6171.31,-118.11 6177.13,-109.25 6167.06,-112.55 6171.31,-118.11\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6142.23\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">4</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6142.23\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 1.30</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6142.23\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 24 -->\\n\",\n       \"<g id=\\\"node72\\\" class=\\\"node\\\">\\n\",\n       \"<title>24</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"6382.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6382.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">24</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6382.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6382.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6382.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6382.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 18&#45;&gt;24 -->\\n\",\n       \"<g id=\\\"edge71\\\" class=\\\"edge\\\">\\n\",\n       \"<title>18-&gt;24</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M6497.99,-224.2C6476.43,-194.59 6449.34,-157.38 6426.76,-126.39\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"6429.83,-124.65 6421.11,-118.63 6424.17,-128.77 6429.83,-124.65\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6493.48\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6493.48\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6493.48\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 220 -->\\n\",\n       \"<g id=\\\"node73\\\" class=\\\"node\\\">\\n\",\n       \"<title>220</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"6536.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6536.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">220</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6536.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6536.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6536.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6536.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 6</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 18&#45;&gt;220 -->\\n\",\n       \"<g id=\\\"edge72\\\" class=\\\"edge\\\">\\n\",\n       \"<title>18-&gt;220</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M6536.06,-213.03C6536.06,-189.92 6536.06,-163.59 6536.06,-139.6\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"6539.56,-139.91 6536.06,-129.91 6532.56,-139.91 6539.56,-139.91\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6556.68\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6556.68\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6556.68\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 80 -->\\n\",\n       \"<g id=\\\"node74\\\" class=\\\"node\\\">\\n\",\n       \"<title>80</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"6690.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6690.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">80</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6690.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6690.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6690.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6690.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 73&#45;&gt;80 -->\\n\",\n       \"<g id=\\\"edge73\\\" class=\\\"edge\\\">\\n\",\n       \"<title>73-&gt;80</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M6690.06,-213.03C6690.06,-189.92 6690.06,-163.59 6690.06,-139.6\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"6693.56,-139.91 6690.06,-129.91 6686.56,-139.91 6693.56,-139.91\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6710.68\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6710.68\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6710.68\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 227 -->\\n\",\n       \"<g id=\\\"node75\\\" class=\\\"node\\\">\\n\",\n       \"<title>227</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"6844.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6844.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">227</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6844.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6844.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6844.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6844.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 6</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 73&#45;&gt;227 -->\\n\",\n       \"<g id=\\\"edge74\\\" class=\\\"edge\\\">\\n\",\n       \"<title>73-&gt;227</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M6728.13,-224.2C6749.69,-194.59 6776.78,-157.38 6799.35,-126.39\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"6801.95,-128.77 6805,-118.63 6796.29,-124.65 6801.95,-128.77\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6801.48\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6801.48\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6801.48\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 122 -->\\n\",\n       \"<g id=\\\"node76\\\" class=\\\"node\\\">\\n\",\n       \"<title>122</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"6998.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6998.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">122</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6998.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6998.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6998.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6998.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 8</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 115&#45;&gt;122 -->\\n\",\n       \"<g id=\\\"edge75\\\" class=\\\"edge\\\">\\n\",\n       \"<title>115-&gt;122</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M6882.13,-224.2C6903.69,-194.59 6930.78,-157.38 6953.35,-126.39\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"6955.95,-128.77 6959,-118.63 6950.29,-124.65 6955.95,-128.77\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6955.48\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">0</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6955.48\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"6955.48\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 235 -->\\n\",\n       \"<g id=\\\"node77\\\" class=\\\"node\\\">\\n\",\n       \"<title>235</title>\\n\",\n       \"<ellipse fill=\\\"none\\\" stroke=\\\"red\\\" cx=\\\"7152.06\\\" cy=\\\"-63.99\\\" rx=\\\"68.06\\\" ry=\\\"63.99\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7152.06\\\" y=\\\"-91.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">235</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7152.06\\\" y=\\\"-75.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Reward: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7152.06\\\" y=\\\"-58.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Discount: 1.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7152.06\\\" y=\\\"-42.44\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Value: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7152.06\\\" y=\\\"-25.94\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Visits: 5</text>\\n\",\n       \"</g>\\n\",\n       \"<!-- 115&#45;&gt;235 -->\\n\",\n       \"<g id=\\\"edge76\\\" class=\\\"edge\\\">\\n\",\n       \"<title>115-&gt;235</title>\\n\",\n       \"<path fill=\\\"none\\\" stroke=\\\"black\\\" d=\\\"M6892.58,-232.12C6901.62,-225.24 6911.31,-218.7 6921.06,-213.49 6945.24,-200.56 6955.46,-207.58 6980.06,-195.49 7026.54,-172.63 7033.88,-159.4 7075.06,-127.99 7080.87,-123.55 7086.87,-118.86 7092.83,-114.12\\\"/>\\n\",\n       \"<polygon fill=\\\"black\\\" stroke=\\\"black\\\" points=\\\"7094.71,-117.1 7100.32,-108.11 7090.33,-111.64 7094.71,-117.1\\\"/>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7072.64\\\" y=\\\"-182.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">1</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7072.64\\\" y=\\\"-165.69\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">Q: 0.00</text>\\n\",\n       \"<text xml:space=\\\"preserve\\\" text-anchor=\\\"middle\\\" x=\\\"7072.64\\\" y=\\\"-149.19\\\" font-family=\\\"Times,serif\\\" font-size=\\\"14.00\\\">p: 0.14</text>\\n\",\n       \"</g>\\n\",\n       \"</g>\\n\",\n       \"</svg>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.SVG object>\"\n      ]\n     },\n     \"execution_count\": 6,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"# %%timeit\\n\",\n    \"root = mctx.RootFnOutput(\\n\",\n    \"    prior_logits=jnp.log(agent.E),\\n\",\n    \"    value=jnp.zeros((agent.batch_size)),\\n\",\n    \"    embedding=agent.D,\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"policy_output = mctx.gumbel_muzero_policy(\\n\",\n    \"    agent,\\n\",\n    \"    rng_key,\\n\",\n    \"    root,\\n\",\n    \"    recurrent_fn,\\n\",\n    \"    num_simulations=1024,\\n\",\n    \"    max_depth=3\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"tree_gumbel = policy_output.search_tree\\n\",\n    \"print(policy_output.action_weights)\\n\",\n    \"\\n\",\n    \"graph = convert_tree_to_graph(tree_gumbel)\\n\",\n    \"svg = graph.draw(format='svg', prog='dot').decode(graph.encoding)\\n\",\n    \"SVG(svg)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.11.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/experimental/sophisticated_inference/si_generalized_tmaze.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Sophisticated inference on a Generalized T-Maze\\n\",\n    \"\\n\",\n    \"This notebook demonstrates the effect of sophisticated inference on a generalized T-maze which has multiple cues, out of which only one leads to reward. Sophisticated inference correctly focuses on the cue that yields reward, whereas vanilla AIF will be distracted by the prospect of information gain of the other cues. However, due to the long planning horizon this takes a long time to compute doing the full tree search. See the mcts_generalized_tmaze example to see how to combat this using MCMC sampling.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"%load_ext autoreload\\n\",\n    \"%autoreload 2\\n\",\n    \"\\n\",\n    \"from pymdp.envs.generalized_tmaze import (\\n\",\n    \"    GeneralizedTMazeEnv, get_maze_matrix, parse_maze \\n\",\n    \")\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp.utils import list_array_zeros, list_array_uniform\\n\",\n    \"\\n\",\n    \"from jax import random as jr, numpy as jnp\\n\",\n    \"from jax import tree_util as jtu\\n\",\n    \"\\n\",\n    \"key = jr.PRNGKey(0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<Figure size 640x480 with 0 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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FRER4ZaYmBh16NBBN998s7Kysrw/F2oWggYAAEBdZuHhpJOknTsLm03ZUlRwnW23/aogbBx//PFKS0vTsmXL9Mgjj+jZZ5/V7bffrpogEAgoLy8v3MWokwgaAAAAdZU1hzr99MIgUVBQ/r623faz/T03o4qLi1Pz5s3Vpk0bDR06VIMHD9a4ceN+e9oCjRo1ytV0JCQkqGfPnnrnnXdCx/bt21cPPvhg6LEdbzUjGdbHRNKaNWtcbcmSJUvc41deecUd06BBA/ec5513ntavXx86ftKkSW7/zz77TH369HFlmzp1qnbs2KFhw4apfv36atGihR566CGv12BfRNAAAACoq156ScrM3H3ICLL9bP+XX66yIv3www+aNm2aYmNj3WMLGS+//LKeeeYZLViwQNdff73++Mc/avLkyW770Ucf7cJBsPbhq6++UkpKigsHxvZr1aqVOnfu7B7n5ubq7rvv1nfffacPPvhAK1ascM23Srrlllt077336scff1SPHj100003uXN9+OGH+uKLL9xzzpkzp8quw76AUacAAADqIqudeOKJPTv28cela67xNhrVxx9/7GoKrIlSdna2IiMj9eSTT7rf77nnHo0fP179+/d3+3bs2NGFCGteZSHDOmT/5z//UX5+vgspFlDOPvtsFwSsSZb9tP2CLr744tDvdq7HH39chxxyiKsBsTIE3XXXXTr22GPd77bNnuPVV1/VMccc49a99NJLam39VrDHqNEAAACoi2wI26VLd+2TsTu2vx23ebO3ogwaNEjz5s3Tt99+qwsvvFAXXXSRTj/9dNfcKTMz093wWwgILlbDsdTKIOnII4/U9u3bNXfuXFfjEAwfwVoOW2ePg2bPnq1TTjlFbdu2dc2ngiFk1apVxcpkzauC7LlycnLUr1+/0LrU1FR16dLF2zXYF1GjAQAAUBf91odhj23fXjjHhgf16tULNW164YUXXD8Mq0E46KCD3LpPPvnENX8qyvpOGGsmZftbsJg+fboLJUcddZSr1fj555+1ePHiUJiwfhZDhgxxy2uvvaYmTZq4gGGPLUiULBOqFkEDAACgLirSTGiPNGigqmDNpv72t7/phhtucEHBAoWFgaLNn0qybRMnTtSMGTP0z3/+09U2dO3a1f1uHbf3339/t9+iRYu0adMm1/fCOp6bWbNm7bZMnTp1ch3MrcbFakLMli1bXPnKKxfKR9MpAACAushqIzp1qnw/C9vfjktNraqS6cwzz1RUVJTrh/GXv/zFdQC3PhHWhMk6YD/xxBPucZA1jRo7dqyio6N1wAEHhNZZrUXRIGAhwfpw2PE2lO5HH33kOobvjjXXuuSSS1yH8AkTJri+INaB3EIR9hxXDwAAoC6ywGAduvfEtdd66wheGgsMV199te6//36NHDlSt956qxt9ymoprIO3NaWy4W6DrJ+GDYNbNFRY0LAO4kX7Z1hTqdGjR+vtt99Wt27dXM1G0aFxy/PAAw+457H+HTb87hFHHOGGv8WeiwjYOGF1yLZt25ScnKz09HQlJSWFuzgAAAB7fQ9js2gvX77c3XzHx8dX/KQ2H4aNnGST8VVkiFv7Bj8hwSansM4Re/AqUNdlVeK9SI0GAABAXWVh4d13C2sndtcMyLbbfu+9R8iAFwQNAACAumzIEBvWqbCmwoJEySZRwXW2/dNPpeOOC1dJUccQNAAAAPaFsGHNoR591GaxK77NHtv6X34hZMArhrcFAADYF1hzKOvkbR3EbTI+myfDhrC10aWqsOM39l0EDQAAgH2JhQob+tbTZHxAWWg6BQAAAMA7ggYAAAAA7wgaAAAAALyjjwYAAMA+xKZq3rRJysiQ6tcv7KpBX3BUBWo0AAAA9gE2Sfhjj0n77Sc1aSJ16FD40x7betteG61YsUIRERGaN2+e132x9wgaAAAAddzYsVLr1tL110vLlhXfZo9tvW23/XwbPny4u7m3JTY2Vp07d9Zdd92lvLw8L+dv06aN0tLSdNBBB6m2Gz58uIYOHaq6gqABAABQh1l4OOkkaefOwmZTthQVXGfbbb+qCBvHH3+8CwOLFy/WjTfeqDvuuEMPPPCAl3NHRUWpefPmio6mR0BNQ9AAAACoo6w51OmnFwaJgoLy97Xttp/t77sZVVxcnAsD7dq10xVXXKHBgwfro48+0sCBAzVixIhi+9o3+vbNflD79u11zz336OKLL1aDBg3Utm1bPffcc2U2h9qyZYvOP/98NWnSRAkJCdpvv/304osvFnuOZcuWadCgQUpMTFTPnj01ffr00LbRo0crJSVFH3/8sbp06eL2OeOMM5SZmamXXnrJladhw4a69tprlZ+fHzouOztbf/nLX9SqVSvVq1dP/fr106RJk3Y579ixY9W1a1fVr18/FMCMhS87/4cffhiqASp6fG1E0AAAAKijXnpJyszcfcgIsv1s/5dfrtpyWQDIycmp8P4PPfSQ+vbtq7lz5+rKK690YeWnn34qdd9bb71VCxcu1GeffaYff/xR//rXv9S4ceNi+/z97393ocDCyf77769zzz23WFMuCxWPP/643nzzTX3++efuhv+0007Tp59+6pZXXnlFzz77rN55553QMVdffbULLHbM999/rzPPPNMFCavFKXreBx980B0/ZcoUrVq1ypXD2M+zzjorFD5sGTBggGozggYAAEAdZLUTTzyxZ8c+/viuTax8CAQCGj9+vPtW/3e/+12FjzvxxBNdwLD+HX/9619dcJg4cWKp+9rNe69evVwwsdoHqz055ZRTiu1jN/UnnXSSCxl33nmnVq5cqSVLloS25+bmuoBi5znqqKNcjcbUqVP1n//8R926ddPJJ5/sakSCZbDntFqTt99+W0ceeaQ6derknuOII44oVpti533mmWdc2Xr37u3CyZdffum2WQ2HBbBg7Y8t1qelNqMxGwAAQB1kQ9guXVr54yxg2HGbNxcOfeuDNUOyG2m70S4oKNB5553nmgrZzX5F9OjRI/S7NSmym/D169eXuq/Vdpx++umaM2eOjjvuONcUq2TNQNHztWjRwv208x1wwAHud2suZWEhqFmzZi602Gsoui5Yhvnz57tmVBZcisrOzlajIhex5Hntuct6HXUBQQMAAKAOsnky9sb27f6Chn37bzUE9g19y5YtQx23IyMjXS1HURZGSoqJiSn22MKGBZbSnHDCCa6Gwpo4jRs3Tsccc4yuuuoq12SptPPZuUzR85X2fOWVISMjw3VKnz17tvtZVP0i4aS0c5R8/XUJTacAAADqoCL3t3ukQQNfJZHrHG3Nnqwjd9HRoazDdrAztLFagR9++GGvn8/Oe+GFF+rVV1/Vo48+WqzzeFWwJlZWdqudsNdZdGnevHmFz2NBrGgH89qOoAEAAFAHWW2EtdKp7Kzftr8dl5qqKmf9ND755BO3LFq0yDV72rqXQ17ddtttbuQm63OxYMEC12zLRnmqStZkyka6GjZsmN577z0tX75cM2bM0KhRo9xrqyhrnmUdya2j+8aNG0ut3alNCBoAAAB1kAWGa67Zs2OvvbbyAWVP2JC1VvNgN+hHH320Onbs6JpZ7Q2rFRg5cqTrh2Ed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aqrbVpbzzjtP7dq1czUe33//vf7617/qp59+0nvvvVfmMaNGjdKdd965y/o2bdrs5asAAACofps2bVJycnK4iwFUb9C45ZZbdN999+222dSesj4cQd27d1eLFi10zDHHaOnSperUqVOpx4wcOVI33HBD6PHWrVtdWFm1ahX/kVbztzAW7lavXu0GAEDV45qHB9e9+nHNw4PrXv2sVUbbtm3dF7PAPhc0brzxRg0fPrzcfTp27OiaPa1fv77Y+ry8PDcSVWX6X/Tr18/9XLJkSZlBIy4uzi0lWcjgg7H62TXnulcvrnl4cN2rH9c8PLju1c+amgP7XNBo0qSJW3anf//+rmZh9uzZ6tOnj1s3YcIEFRQUhMJDRcybN8/9tJoNAAAAALVHlUTmrl276vjjj3dD1c6YMUNff/21rr76ap1zzjmhEad++eUXHXDAAW67seZRd999twsnK1as0EcffaRhw4bpqKOOUo8ePaqimAAAAACqSJXVzdnoURYkrI+FDWt7xBFH6Lnnngttt7k1rKN3ZmamexwbG6vx48fruOOOc8dZM63TTz9d//3vfyv1vNaM6vbbby+1ORWqDte9+nHNw4PrXv245uHBda9+XHPUNREBxlADAAAA4Bm9jQAAAAB4R9AAAAAA4B1BAwAAAIB3BA0AAAAA3hE0AAAAAHhXJ4KGzTh+/vnnu5lLU1JSdMkllygjI6PcYwYOHKiIiIhiy+WXX15tZa6NnnrqKbVv317x8fFu4sXgHChlefvtt91QxbZ/9+7d9emnn1ZbWffFaz569Ohd3tN2HCpuypQpOuWUU9x8P3b9Pvjgg90eM2nSJPXu3dsNR9m5c2f3d0DVXne75iXf67asXbu22spc240aNUqHHHKIGjRooKZNm2ro0KFuyPnd4XO9eq85n+uo7epE0LCQsWDBAo0bN04ff/yx+0frT3/6026PswkF09LSQsv9999fLeWtjcaMGaMbbrjBje89Z84c9ezZU0OGDNH69etL3X/atGk699xzXeibO3eu+0C15Ycffqj2su8r19xY2C76nl65cmW1lrm227Fjh7vOFvAqYvny5TrppJM0aNAgzZs3TyNGjNCll16qsWPHVnlZ9+XrHmQ3aUXf73bzhoqZPHmyrrrqKn3zzTfu306b28rmsbK/RVn4XK/+a274XEetFqjlFi5caPOABGbOnBla99lnnwUiIiICv/zyS5nHHX300YHrrruumkpZ+x166KGBq666KvQ4Pz8/0LJly8CoUaNK3f+ss84KnHTSScXW9evXL/DnP/+5ysu6r17zF198MZCcnFyNJazb7HPl/fffL3efm2++OXDggQcWW3f22WcHhgwZUsWl27ev+8SJE91+W7ZsqbZy1XXr169313Ty5Mll7sPnevVfcz7XUdvV+hqN6dOnu+ZSffv2Da0bPHiwIiMj9e233+529vLGjRvroIMO0siRI0OzlKO4nJwczZ49213XILu+9tiuf2lsfdH9jX0bX9b+2PtrbqzJYLt27dSmTRudeuqprqYPVYf3eXgdfPDBatGihY499lh9/fXX4S5OrZaenu5+pqamlrkP7/fqv+aGz3XUZrU+aFib3JLV5dHR0e4/3PLa65533nl69dVXNXHiRBcyXnnlFf3xj3+shhLXPhs3blR+fr6aNWtWbL09Lusa2/rK7I+9v+ZdunTRCy+8oA8//NC9twsKCjRgwACtWbOmmkq97ynrfb5t2zbt3LkzbOWq6yxcPPPMM3r33XfdYjdg1u/Omhii8uyzwpr9HX744e6Lt7LwuV7915zPddR20aqhbrnlFt13333l7vPjjz/u8fmL9uGwDm32D9cxxxyjpUuXqlOnTnt8XiBc+vfv75Yg+8eoa9euevbZZ3X33XeHtWyAT3bzZUvR97p9dj/yyCPuSyNUjvUbsH4WU6dODXdR9hkVveZ8rqO2q7FB48Ybb9Tw4cPL3adjx45q3rz5Lp1j8/Ly3EhUtq2ibEQfs2TJEoJGCda8LCoqSuvWrSu23h6XdY1tfWX2x95f85JiYmLUq1cv955G1SjrfW6dNxMSEsJWrn3RoYceyo3yHrj66qtDg6i0bt263H35XK/+a14Sn+uobWps06kmTZq4IfTKW2JjY13S37p1q2vPHjRhwgRXvRgMDxVhI8YYq9lAcXad+/Tpoy+//DK0zq6vPS76TUtRtr7o/sZG2Shrf+z9NS/Jml7Nnz+f93QV4n1ec9hnOO/1irN+93bD+/7777t/Mzt06LDbY3i/V/81L4nPddQ6gTrg+OOPD/Tq1Svw7bffBqZOnRrYb7/9Aueee25o+5o1awJdunRx282SJUsCd911V2DWrFmB5cuXBz788MNAx44dA0cddVQYX0XN9uabbwbi4uICo0ePdiN9/elPfwqkpKQE1q5d67ZfcMEFgVtuuSW0/9dffx2Ijo4OPPjgg4Eff/wxcPvttwdiYmIC8+fPD+OrqF0qe83vvPPOwNixYwNLly4NzJ49O3DOOecE4uPjAwsWLAjjq6hdtm/fHpg7d65b7OPx4Ycfdr+vXLnSbbfrbdc9aNmyZYHExMTATTfd5N7nTz31VCAqKirw+eefh/FV1P3r/sgjjwQ++OCDwOLFi91nio0gGBkZGRg/fnwYX0XtcsUVV7jRjCZNmhRIS0sLLZmZmaF9+FwP/zXncx21XZ0IGps2bXLBon79+oGkpKTARRdd5P7hCrIwYf942ZCIZtWqVS5UpKamuhu5zp07uxuF9PT0ML6Kmu+JJ54ItG3bNhAbG+uGXv3mm2+KDRd84YUXFtv/rbfeCuy///5ufxsC9JNPPglDqfedaz5ixIjQvs2aNQuceOKJgTlz5oSp5LVTcNjUkkvwOttPu+4ljzn44IPddbcvLGw4SlTtdb/vvvsCnTp1cjdc9jk+cODAwIQJE8L4Cmqf0q63LUXfv3yuh/+a87mO2i7C/i/ctSoAAAAA6pYa20cDAAAAQO1F0AAAAADgHUEDAAAAgHcEDQAAAADeETQAAAAAeEfQAAAAAOAdQQMAAACAdwQNAAAAAN4RNAAAAAB4R9AAAAAA4B1BAwAAAIB8+381vh9jttvB9AAAAABJRU5ErkJggg==\",\n      \"text/plain\": [\n       \"<Figure size 800x800 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"key, subkey = jr.split(key)\\n\",\n    \"M = get_maze_matrix(small=True)\\n\",\n    \"env_info = parse_maze(M, subkey)\\n\",\n    \"tmaze_env = GeneralizedTMazeEnv(env_info)\\n\",\n    \"\\n\",\n    \"init_obs, init_state = tmaze_env.reset(key)\\n\",\n    \"tmaze_env.render(states=init_state, mode=\\\"human\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"A, B = tmaze_env.A, tmaze_env.B\\n\",\n    \"A_dependencies, B_dependencies = tmaze_env.A_dependencies, tmaze_env.B_dependencies\\n\",\n    \"\\n\",\n    \"# [position], [cue], [reward]\\n\",\n    \"C = list_array_zeros([a.shape[0] for a in A])\\n\",\n    \"\\n\",\n    \"rewarding_modality = 2 + env_info[\\\"num_cues\\\"]\\n\",\n    \"\\n\",\n    \"C[rewarding_modality] = C[rewarding_modality].at[1].set(2.0)\\n\",\n    \"C[rewarding_modality] = C[rewarding_modality].at[2].set(-3.0)\\n\",\n    \"\\n\",\n    \"D = list_array_uniform([b.shape[0] for b in B])\\n\",\n    \"D[0] = tmaze_env.D[0].copy()\\n\",\n    \"\\n\",\n    \"agent = Agent(\\n\",\n    \"    A, B, C, D, \\n\",\n    \"    None, None, None, \\n\",\n    \"    policy_len=1,\\n\",\n    \"    A_dependencies=A_dependencies, \\n\",\n    \"    B_dependencies=B_dependencies\\n\",\n    \"    )\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"qs = agent.infer_states(\\n\",\n    \"    observations=jtu.tree_map(lambda x: jnp.broadcast_to(x, (agent.batch_size,) + x.shape), init_obs),\\n\",\n    \"    past_actions=None,\\n\",\n    \"    empirical_prior=agent.D,\\n\",\n    \"    qs_hist=None,\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from pymdp.planning.si import si_policy_search\\n\",\n    \"\\n\",\n    \"key = jr.PRNGKey(0)\\n\",\n    \"policy_search = si_policy_search(horizon=3, entropy_stop_threshold=0.0, gamma=5)\\n\",\n    \"qpi, info = policy_search(agent, qs, key) \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"When plotting the plan tree, the preferred plan is indeed to go to the right cue, and then fetch the reward.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAxYAAAKyCAYAAABIREjrAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAx09JREFUeJzs3QV4VNfWxvE37gYhBHd3KwXaUmhLqdBSd3fvbXvr7nLrrtRdKPVCkdIWKFLc3SGEBAghnu9Zm2/SBAIkTEIyk//veQaS0XMmJ5m1zt5rr4DCwsJCAQAAAIAXAr15MAAAAAAYEgsAAAAAXiOxAAAAAOA1EgsAAAAAXiOxAAAAAOA1EgsAAAAAXiOxAAAAAOA1EgsAAAAAXiOxAAAAAOA1EgsAAAAAXiOxAAAAAOA1EgsAAAAAXiOxAAAAAOA1EgsAAAAAXiOxAAAAAOC1YO+fAgAAoGYpKChQTk5OVW8G4LWQkBAFBQV5/0QkFgAAAOVjCcWyZctccgH4g/j4eCUnJysgIMCr5yGxAAAAKKPCwkKtW7fOneFt1KiRAgOZVQ7fPp4zMzO1ceNG9329evW8ej4SCwAAgDLKy8tzgVj9+vUVGRlZ1ZsDeC0iIsL9b8lFUlKSV9OiSLMBAADKKD8/3/0fGhpa1ZsCVBhPkpybm+vV85BYAAAAlJO3c9EBfzyeSSwAAACwV++++64r8PW4//771bVrV/kqX9/+6ooaCwAAAC9lZGQoKyvrgL1eeHi4oqOjy3z/Cy+8UO+9917R8qKNGzfW+eefrzvvvFPBweUPB2+55RZdd911qixjx47VgAED1L59e82cObPEvH9LcJ577jm3T6heSCwAAAC8TCo+/uhTZWUfuL4W4WGhOvucM8uVXAwePFjDhg1Tdna2fvzxR11zzTUuybjjjjvK/fr2uuV57f21dOlSvf/++7rooosq/bXgPaZCAQAAeMFGKiypSIhrreQ6XSv9Yq9jr1feEZKwsDDXq6BJkya66qqrdOSRR2rEiBHutrS0NDeCkZCQ4Ap5jznmGC1atKhcU4neeecddejQwb2OLVt67bXXuusvvvhiHX/88SXua0XCtgLR22+/vddttlGR++67zyVDe7Jy5UqdeOKJLtGJjY3V6aefrg0bNpS4z+OPP666desqJiZGl1xySanv3VtvvaV27dq50aC2bdvqlVdeKdG7xPbH9stut/fwscce2+u210QkFgAAABUgLDRS4eGxlX6x16moZUY93cNtWtGUKVNcojFhwgTX3+DYY48t8ypBr776qhsBufzyyzVr1iz3PC1btnS3XXrppfr5559d/w+P77//3i3be8YZZ+z1eW+88Ua3xO+LL75Y6u3WpNCSis2bN2vcuHEaOXKkG+Uo/ryff/65S4QeffRRt4+WHBRPGsxHH32ke++9V4888ojmzZvn7nvPPfcUTR974YUX3D7Zcy1YsMDdv2nTpmV6b2oSpkIBAADUIJY0/Pbbb/rll1/ciICNTFjQ/Oeff6pv377uPhY4WwPA4cOH67TTTtvncz788MO6+eabdcMNNxRd16tXL/e/PWebNm30wQcf6NZbb3XX2ZQse959Taey0RMbsbBakMsuu0xxcXElbrf9sETGOqHb9hqbOmUjJ5MnT3bbYPUYNkphF8+2jho1qsSohb3G008/rZNPPtl936xZM82dO1evv/66LrjgAjcq0qpVKx1yyCFuBSUbscDuGLEAAACoAWyUwAJ5m8pjU53srL6dybcz9FbA3bt376L71q5d2yUDdtu+WGO1tWvX6ogjjtjjfWzUwpIJY9OUfvrpJzdFqiwsIbDteeKJJ3a7zbbPEgpPUmGs4NsKvD3bbv8X3zfTp0+foq+3b9+uJUuWuNfx1I7YxRIQu94zojN9+nT3nlx//fX69ddfy7TtNQ0jFgAAADWArbJkU5asuZ91Dt+f1aD21rl5b6x+4/bbb3fTrP766y83InDooYeW6fltO22KkgX3nrqNii6+N2+++eZuCYhnNaru3bu7URFLiGy0w+o4rEblyy+/rPDt8WWMWAAAANQAUVFRru7BlpotnlRYwbLVMUyaNKnoutTUVFdLYGf/98UKoq3ewKYl7YmNOAwdOtSNWlhPjPKu8mTTpmx60wMPPFDietv2VatWuYuHTWFKT08v2na7T/F9MxMnTiz62oq6LdGy2gx7f4pfLAHysMJwG+WxBOSzzz7TV1995Wo78C9GLAAAAGowqx2wAmirYbCaAksUbHShQYMG7vqysClVV155pVvpyaZZbdu2zdVsFO91YdOhbHWo/Px8V7dQXray09FHH13iOhs16NSpk8455xxXS2EJ0tVXX63+/furZ8+e7j5W92GjHfZ9v379XP3InDlz1Lx586LnsYTF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cPuNN97QOeecU9WbV+2RWJTRmWeeqd9//12pqakukTjkkEP0yCOPuDWpsf+sQM3mkdKVFACA/evqbSfgrMjbTsixoIz3vv/+e91xxx1uNVCLSayQm1WhyobEAgecHXIbN250CYXnjIvVTthoEGdcAADY/xF/O/lpwTAj/qgKJBY4oN2xPXNErSDNis/s7IoVSjFHFAAA72sU7aSdrVxp9RmWYFizN2oUcaCQWKDSZWZmumSieHds+2NnxWcAAKBi2eInlmBYouFZVdE+dyMjI6t60+DnSCxQaWyakyUU69evV0hIiJvuxDrcAAAcGDt27CjqA5Wbm+tWkbKZArVr167qTYOfIrFAhQ/FWiGZJRRWWGZFZPZHjM6hAABUDZst4Pls9nT19nw2MxUZFYnEApXSHbtu3bpu2JWleAEAqD5SUlJcgkFXb1QGEotK8ttvv+naa6/V7NmzK/VM/e233+4KoV988UVVBSsQs3mcnu7YViRmCQXdsQEAqL48Xb2t/tFCQVtIha7e5VdT4r2yYvyrDI1SjjjiCPeLZsXGRx99tGbMmLHPx9166626++67iw6yr7/+WkcddZQ7g29DkH369NEvv/yy1+cYO3asTjzxRPfLboF6165d9dFHH+3WuO+9995zwf2BYn+ALJH4448/XAdQKxKz7thHHnmk6xBKUgEAgG909bbYpF27du6z3D7T//zzT/cZX9POOxPvVQwSi73IyMjQ4MGD3WoKkyZNcoG01QzYwWZFUHti91uyZIlOOeWUouusuZ4daD/++KOmTp2qAQMGuE7e//zzzx6f56+//lLnzp311VdfaebMmbrooot0/vnnu8YtHtah2rbn1VdfVWWzKU6LFy/WqFGj3D7YL1GvXr00cOBAd5bDCrQBAIDvsM9u+wy3z3L7TLfeF/YZb2fi7TN/b/GOvyDeqwFToQ4//HCXSZsPPvjAHfhXXXWVHnzwwaKGL5Zd33DDDfruu++UnZ2t/v3764UXXlCrVq3c7Tbf34an7AdvQbHNIXzqqad07LHHlmkbrI177969NXr0aEVHR7s+DAsXLtSFF16oL774wv0iWlZrWallmJ7tste0uYt2n73p0KGDzjjjDN17771lfl+OO+44V7/wzjvvFF33/vvv66677nI9IiqDFXp5unva4UJ3bAAA/JctvmJnxtesWeNiG8/nfmV0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iYiI2ONjbRrUiBEj3AFgLBO2A8kOFss2bT7eruyAsoO4uA0bNhTd5vnfc13x+9ioyN62BwAAABUb7+0pLjO1atUq9TE26mHat29fdF2dOnXcCImtDlqcrTLlua8t8nP55Zfr5ptvVlBQkPyRX0+Fql27thuWeumll1y1fnnYnLvp06cXXSyZsCVnrRi7tEIe06dPH7eawMaNG0vMw7OkwXPw2X1sJaji7D52PQAAAA5cvGfx1++//15iGViLy5o1a+bivtLY6lOmeCJjU6E2bdqkJk2a7HOkw/73V36dWJhXXnnF9ZHo2bOnG46aN2+eOxA+/PBDt3KAJ2O844473LJgHlaM07Fjx6KLVf8HBga6Ay0uLs7d55tvvimxOpQNh1kCcd5557khr19++cWtWWzFRLbkmbFlZm1ung2D2evb9tnKA//5z38O+HsDAABQk+M9m/ZuhduXXHKJW2jHHvv888+7OluPXeO91q1b68QTT3Q9M6y9gK30ecEFF7j7WO8KYy0FLL6z7bC4z7621z7jjDPcUrT+yq+nQpkWLVron3/+cQU29gNdvXq1C/ItAbjlllt09dVXu/tZz4ldh6/2ZcuWLSWyVTtov//+e1111VUuA7aVCexAK16oY4mJLTdriYQduLaSwFtvvUUPCwAAgAMc79nJYs+KUj169HDTme69916XONhzlBbvmffff9/FctabzE4822pPP//8c1HSEBwcrCeeeEILFy500+ltJOPaa6/1+xPJft/HoqKNGjVqj30sAAAA4PtslMMSiz1Nf0cNnQoFAAAAoPKRWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokFAAAAAK+RWAAAAADwGokF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Yre99fZjWrV6mZKS6ujhhx+mGR4AAMB+sBhq4MCB2rBhg157/T4tWLBQm9M2lSneM8uXL9Drbz6qRYtnKzY2Qccfe7aOPebsCon33h72hFatXKKEWrV07733uNjUn/l1YmHS09P1xBOPuexw8DEnqGungYqIiNGKlYv0y69fulbsvQ/avVvi/PnT1bRJa5180iWKj6+tKVPG6fkX79KN1z9e6v1Nfn6+Hnrkarf+8ROPfaC0tBQ998JdCg4K1nnn3uDuY+seP/jw1erbt6/uuPMWt5zZ5ZdfrgYNGujoo4+u9PcDAADA36xYsUL//e9/XUftowcPVvt2fZUQV3+f8V5mZobue/AKdel8sK664h4tX7lIL750r0JDw3XYocd7Fe899MjV6tvnUF1yyQUKDg7UjTfe6Jr7+XO853d9LHY1ePBgzZkzR5MmTdLo0WOUummrEuKbKy62vstwbffLOlpgCUFUVKyuuer+UvtYTJ02Xg8/eq2GvfVbUeO7n375XO9/8KzeH/a7rC77tTfu08xZU/TRRx/q8MMPd8XaZ555pkuAfv755wrffwAAAH/niffmzp2ryZMna/bseQoLSXQNk4OCQvYY7/3082f68OMX9O7bY11SYt774FlNnPibnnjs41L7WOwr3gsODtYbbz2kaf/8oaeeekpDhhzvRipqQrzntzUWJjU1Vb/++quuueYa1a9fX6effpq6dmuvLduWaM266crN3VF0kNloxF33/NuOvTSW1VpisSfzF8xQk8atSnTT7t61r3vc/AWTtXLN31q2fL6OPnqQBgz4dwUoy1wnTJhQYfsNAABQUxSP92JiYlyMdcwxgxQUst3FXlbUvad4z2K3Du17FCUVplvXflq7boW2b99a7nhv6bI5LsZcsHCa+vXr62JPz/SnmhDv+fVUqMWLF7sMtU2bNu5765jdv39/nXTSScrMzJSN1RwxcIguv/QuJSTUUUHBngdv/vjzZzf37vzzbtrjfdLTNykuvuTKTpGRO+fzrVozXUN7nVC0PcWz5rp167qO3jt27FBEROnz/wAAALDveM9iLJtydPDBB7t4r6CgQIf3P1qXXXL3bvGexW51kxqUeD6bAu9u27JZ9eo1LFO8Fxu7M3lYvHSi+vU72L2mrf5ksWdNivf8OrHYkylTprjahlNPPVVZWalasWqCjh50jOLjSh5YHjNn/a0XXrrXTYFq2GDfbePt4M7YnqItW9coY/smd13Pnt1dpkqRNgAAQOWzKVFWD2HxXkFhllavm6yBA/srLrZBuabC76s3RfqWNUrfstp936JFY5155ul6+OEHVRP5dWLRsmVLd9AsWLCgxPXNmzcvaqTXrn079e3XU7Nnz9Xa9VMVEhyjqKgkhYfHKiw0WnPnTdUjj12rSy76r1tRwDLN0uTl5ygqKkqp89a6RCUgME8NG9ZX3P8nK5a12rYkJye7VQuKs+9tDp+/Zq8AAABVFe8lJCSofft2Ou64QZo9e45Wr7ZVQhcrKqquoqNjtDm9ZP+L9PRU9398XK3dXstGIuwx8+b/o9Vrpik3b5ti46LVuk1Td/tRRx3lRilqarwX7O9NU+wH/NJLL+m6665zgf+ubE5dr1693BrIy5cvdwfcmjXLtWVbgRYuWKA333pdJ590jnr2Okhp6avdSEdWdpB2ZAUrPz9P2TnblJe3XfkFOaqbHK3Va1aoSdO66tevnxITE/XGG2+4g6h9+/bu9fr06aMff/yxxDaMHDnSXQ8AAICKj/c806PssmnTJlfkvXDhYtWrn6AffvhOS5ePV1hYnMJCYzTp71+UXLeBFJDlYr+Cwnzl5mQqJzdDeXmZqpMUqdWrlykqRjrkkMFq2rSp3n77beK9mrAq1JIlS1yQb9nq/fffr86dO7uiaRseu+WWW3TOOefo6aef1h133KE1a9bo/fffV15enkaMGKFzzz1XJ598sg47rL+2brUEIk/Z2dnuwImMjNSsWTM1fPg3+uqrr1wSYa9hNRxWKP7kk09q/fr1Ou+883TppZfq0UcfdduzbNkydezY0RUYXXzxxRo9erSuv/56/fDDD369/BgAAEB1ivcsBF61apWbVdKzZ08dd9zxmj17toYNe0cnnjhUvXod5IrBZ86coW+/Ha6PP/7YxXu1atVyiYy1CiDe20VhDbB27drCa6+9trBZs2aFISEhhdHR0YUHHXRQ4VNPPVW4fft2d58LLrigsH///kWPse/t7dn10rlz58K5c+e6+wwbNsxdV9zy5csLjznmmMKIiIjCxMTEwptvvrkwNze3xH3GjBlT2LVr18LQ0NDC5s2bu+cBAADAgY33zIwZMwoPOeSQwrCwsMIGDRoUPv744y7W+/XXX93txHtl5/cjFhVt1KhRatiwodq2bVvVmwIAAIBKMH/+fK1evVpHHnlkVW+KT/HrPhYAAAAADgwSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EAAAAA4DUSCwAAAABeI7EoxWOPPaZevXopJiZGSUlJGjp0qBYsWFDiPuvXr9d5552n5ORkRUVFqXv37vrqq6+qbJsBAABQdq+++qo6d+6s2NhYd+nTp49++umn3e5XWFioY445RgEBARo+fHiVbKuvILEoxbhx43TNNddo4sSJGjlypHJzczVo0CBt37696D7nn3++SzZGjBihWbNm6eSTT9bpp5+uf/75p0q3HQAAAPvWsGFDPf7445o6daqmTJmigQMH6sQTT9ScOXNK3O+5555zSQX2LaDQ0jDsVUpKihu5sIQjJyfHHYg9e/Z0ma6NWnjUrl1bTzzxhC699NIq3V4AAACUX61atfTUU0+pX79+Wr16tRITE3X88ce7xKNevXr65ptv3EwWlI4RizLYsmVL0cHm0bdvX3322WfavHmzCgoK9OmnnyorK0uHH354FW4pAAAAyis/P9/FcjY7xaZEGYvrzj77bL388stu6jv2jcRiHyxpuPHGG13m2rFjx6LrP//8czdFykYpwsLCdMUVV7gstmXLllW6vQAAACgbm84eHR3tYrkrr7zSxXLt27d3t7322mvuRLJNj0LZBJfxfjWW1VrMnj1bf/zxR4nr77nnHqWnp2vUqFFumMyKeazGYvz48erUqVOVbS8AAADKpk2bNpo+fbqbnfLll1/qggsucFPfx44d6+pmd128B3tHjcVeXHvttfr222/1+++/q1mzZu46SyRsFOPoo492CUeHDh2K7n/kkUe6EQvLcAEAAOBbLJZr0aKFduzYoQ8//FCBgYElpkvZ94ceeqhLPLA7RixKYbnWdddd54bD7MDxJBUeNufOFD/YTFBQkEs6AAAA4HssjsvOztZll13mEghPvYWxGSnPPvushgwZUqXbWJ2RWOxh+tPHH3/sRiusl4X1rDBxcXHuf0s0bGTC6ir+97//uToLmwplS9N+//33Vbz1AAAA2Jc77rjD9ado3Lixtm3b5mI/O6H8yy+/qE6dOi7BKF5fa+y+u55wxr9ILEphy8iaXVd4GjZsmFtqNiQkRD/++KNuv/12l7VmZGS4ROO9997TscceW0VbDQAAgLLauHGj60u2bt06d/LYmuVZUnHUUUdp/vz5Vb15Pokai3KyGgtLLtq2bVvVmwIAAIBKYImF9bGwmguUHcvNAgAAAPAaiQUAAAAAr5FYAAAAAPAaiQUAAAAAr5FYAAAAAPAaiUUlefvttzVo0KBKfx1b8taa+QEAAODAIt4ricRiHwICAkpcbG3jH374Ya+Psc7c99xzj+67776i6+bMmaNTTjlFTZs2dc/z3HPP7fO1rUnLiSeeqHr16ikqKkpdu3bVRx99VOI+t9xyi+ufsXTpUi/2EgAAoGZ69913d4v32rVr52I+63VRnnjvzTffdB27ExIS3MWWq/3777/3+vrWR+Pss89W69atFRgYqBtvvHG3+/hKvEdiUQbWGM9+6Hb57LPP9rmm8ZdffqnY2Fj169ev6LrMzEw1b95cjz/+uJKTk8v0un/99Zdr1vLVV19p5syZuuiii1wjl+LdvRMTE3X00UcXNfUDAABA2Z1xxhlFcZ7ncsghh7gYLCkpqVzx3tixY3XWWWdpzJgxmjBhgho1auRGNNasWbPH57EO39bp++6771aXLl1KvY+vxHvVNrGwrtfXXnutu1g3RHtDLSss3s8vLS3NBdqWEUZGRrq27IsWLSq6fcWKFa4ztt1uZ/w7dOjgOmaXhb2OtXc3KSkpbsRhxowZSk/brDmzZ2vkyJHuoLHr1q5dq5ycnKLHfvrpp+51i+vVq5eeeuopnXnmmQoLCyvTNtx555166KGH1LdvX7Vo0UI33HCDBg8erK+//rrE/ey17DUBAAB8SVXHe8ZGCfLz87VhwwbNmzdP48ePd0lBj+7dXSfu3377zY062GiBxYaebSst3vvoo4909dVXu1km1kz5rbfeUkFBgXuOPbHZLM8//7zbR3sP9sQX4r1gVWM25HPJJZe4H+aUKVN0+eWXq3Hjxrrsssvc7RdeeKE7sEaMGOEyxttuu03HHnus5s6dq5CQEF1zzTUu4P/999/dgWbXR0dHl/hB2nPcf//97vsdO3Zo4cKFWr1qpTatX6PszO3u+scefkh5+XmqVztOgw9qp6N6d1RuSqgyFKJlBZHKCwyVgkMVG19LickN3Oudc845lfKebNmyxQ3PFXfQQQe57pDLly93+wQAAOArDnS8Z4G+JSNLlixx8d7W9M1SXo6CC3KUEJipX8ZMUHhIkI5rGaaCeSOVqSCtK4zQdIVJQaEKi4xy8d64cePcaMfeZGZmKjc3V7Vq1fL6ffKFeK9aJxY2fPTss8+6uW5t2rTRrFmz3Pd2oHkOsD///NOd0fdkifaY4cOH67TTTtPKlStdXUOnTp3c7TYVqTgbBahdu7bLUOfMma2l8+coIGurGgSmq0NojhIj8nT3ST00qGOyIkODNXL2Gt3/1Tg1Ct6qm47bOVRlSWt6XpA25YRoU3qIlq6c4bLZubNmaFqbNi5btey6Inz++eeaPHmyXn/99RLX169f3/1vvyTV9UADAACoqnjPRkIsyJ8/f77mzZqu7Zs3KlFb1SgkU4khuUqMylV8cL4CAqS7pszQ2Qc30REJqYqNzS16nsz8wJ3xXk6wls+arYyMDM36Z4pGN2jgRkmSkpLcPhRnSZDFafuaRl8WvhDvVevE4uCDDy7xA+rTp4+efvppN1xlQ1XBwcHq3bt30e2WJNgBabeZ66+/XldddZV+/fVX9wO1g87my3nY8NS0yZP07afvK6Zgq3qGp6t17R0KD/p3+O2Bk/+d69ataW1t3rpdz/0yryixsM1LCMl3l1bKUlNluusb5qzQ9LE/aOqE8WrWpr169z5YMTEx+/1e2LQrq7GwoiA7eIuLiIhw/9svDAAAgC+p7HjPEpBJkybqo2FvKih7q1qEbFa7uEwlhubtti0TFm3UvLXpevPig3e7LTKoQI0jst2lXsHOmKtLyDptmDFGi2dNVe16jdTjoIOLgn6rq7WpS1Z3ER4e7vX75AvxXrWtsagIl156qZsPd95557nst2fPnnrxxRddFf+oUSM1csSXCl87TYOjlur0xLXqHJNZIqkoTY+mtbQmLVPZufml3l47OswlG02C0nRW4gr1DlysDTPH64uP33dDc8XnDJaVDbXZvDrL3m3+3a42b97s/rfCHwAAgJpkT/GexVwWe1kMZrGYxWQWmx2asLXUpMK8PXaBujappW5N9j51yRPv1dZWF0MeHbXUxZS/fvuFizEfe+wxl1hYslM8yfGGL8R71XrEYtKkSSW+nzhxolq1aqWgoCBXZ5CXl+fu4xkaS01N1YIFC9S+ffuix9hQ2ZVXXukud9xxh15++WXFR4WrIH2tDo/eqBYRWe7AKKtZq9OVEBmqsJCgUm8PDQ5S+/rxmrcmXYM6NVDHmEy1jtqhv7ds0x+/bNPSxYvLlVxYlnv88cfriSeecHMOSzN79mw3x3DXkQwAAIDqrjLiPZs23qxJY61dMk9tgzeod+I2hQTuPf7KyMrVF38v06On99znNu8a7zUKz1HDsFQtydyue577Vd+N/lMffvihS3Iqii/Ee9V6xMLmzN10003u4Pnkk09c9mkrIxk74KzHg82/++OPP9zqTOeee64aNGjgrje2DrBV8y9btszVJnw7fLiiI8KUtG2hTqm9Wlc9/41eGTV3j6//3bSVemvsAs1elabFG7bq1VHz9Owv83XlwNZ73e5BnRvoj4Ubir4PDSzUQTFpapw2VTPHfa8tW9LdwTF9+nQtXrx4r9OfjjvuODfEZ8N669evdxdPxuphqxfYmsmeITIAAABfUZHx3rRp0/TTTz8pMjxMWxdP1TExK/TAa5/pjd/m7HM7Ppu4THn5hTqnb4sybfeu8V5AgPT1mL81/JfRuvnMo7RkznR9+cUXbqlZq8fYG4sJ7WL3s9VI7WsbbfG1eK9aj1jYtB9bqcmq4C1rtYOs+Fl76y9h19kZfVsN4LDDDnPLi1k2Z2xunq0UYBX0NretfcumevasHupZa7P74S/ZuE2btmXt8fVDggNdMnHzR5NckXbLurF6+OQuumxAm71u98X9W+uge0doS2aO4iJD3XVr0zJ1zENflujUaJf+/fu7UQlPgxaro/CMaNgqCTaPzobT7OJR/DHG5u95VjoAAADwJRUZ79mqUK1bNNOtJx2kYxPXulGKfcV7Ra8zbqFO6tlE8VFhbtr8vpQW773223zl5BXo4WEjJNllJ+tRYS0EjMVsFvPZ6k4e3bp1K/p66tSp+vjjj9WkSZMS9/GFeC+gcH8m/R+gdY1tDeCydKjeG1vi64fvRiht+RwNiluremH/Vvfvj61btyo0NHSfRTinvzBa3ZvW1u0n7N7oxN7xv7fEaFZ+A/U+fFBRMxTr3Gj1FMWThn2xrPzmm292DfSsuAkAAMBXVFS8Z+ws/9/jRqpz0Gr1isso11T3Xf1fe/cB3mS5vgH87qaDtpSWVcqGUhQERJYoIkOQvRVFwAHq4X8UBRy4JwoccaHHgQvkoIIoKEtkCIKAyC6y9ygU2toCnflf91sTklI6SItpev+uKxck+ZIvX/I2eZ7vHQ8TCyYxXN72cuM9Opbqg0WJVVCuxlXo2r2HSYaGDBliJqszuXC3eM+lh0I5ixnswvk/mqTi1tAjTicVhfH67dchqEx2Jp0TG3rzkL/QxPswflu+2NbVxUbz+uuvF2o/KSkpJpN35UYmIiIiUpwYS61d8ZOJrZxNKooq3iPGnoxBGYsuXDDfzBfhCWRr74W7xXuu/eqctHTpzzixezM6hxxFxCVm/xcGC6rwwoSFHT051yq2VyOiLEZ2ujCpKCc+tGlwMtISD2PVkgWmkAsLwxRWv379Cv0YEREREXfBug6Mpa7yPGxiK2eTCsZ4jPWscR8rc19uvEeMQTlqZsEuDyz39zev113jPZcdCuUsVlNcMm8W2vkfQO2A/MfJ5SczM8tMuk5JToGXt5epSeFMXQorvvuLTpfHqeB6GDBoMPz8/Jx+ThEREZHSIDU1FV99+QXCk3aiU1h8kfRUsNAxL5kZmQgMCkRISCi8vJwf5LPnbBksPVcdHbr3u6iIn7twy6FQnAC0atkS1PCIQy1/55MKYoPy9vJGZlZ2Buvjkz1Jx1n8A2gTcgaZZ46YqpIiIiIiUjCMnRhDtQk9U2TDnxjjmREqWZkm9iuKpIIYkzI2XbnsJxOruiO3TCxW/vILkHgU14ckFukYuzL+/qY7jA3Oz69oEgsK9M5Cy8A47N76+2V1j4mIiIiUNoyZGDu1CoxDoFdWkT0vYzzGeoz5GPsVFQ8PmNjUknDMLJ3rjkpsYvHyyy+bQikBAQEIDQ213c7Ki/tiN6J10En4F2EjI19fH7O/oKDAPOdXXI66AecRZTmJFT8vNt16+eHys9ddd50ZjlWhQgX06tXLrP8sIiIi4k5yi/kYKzFmqmaJQ50iGPJujzEeYz3uj7FfUfL3ykLroDjs2/6HiVkLoiTFfCU2seASYP3798cDDzxgu43TRdb/thpROImaRTQEKqfw8HCzRnJRsw6JSjtzHLGxsfluz2VpuWYzq1MuXrzYLKvbqVMns2qAiIiIiLvILebjKlCMma4PTSiWFaAY6zHmKw61/M+bWPX3tWtstcvcJebzLEz2Zl+kg1041up/LKPO6tD2BzhlyhRTLZH1HipWrFjo2ewc28alV+vUqWMmNFerVs1krFbPP/88Ro0ahYYNG9puO3bsGBLijqBhYO4rAgz77wr0fuMnTPphCyJHzkDEA9Mx8tNfkZ5xoWfjTEoqhry/HOVHTEPQPZ/h1gkLset4ou3+T1fsQtiIaVi4+TCuemwWgu/9HF1eX4hjCWcd9sWK3bw/4O7P0GDsLFNoryBDomp5n8b2LRtNQ+O4Qa7vzIy5XLlyuOWWW3DmzBmz7YIFCzB06FBT1p11MLgWMitXsqjKpXAbZvqsThkTE2NWourcubN53+zf9xdeeAFVq1Y17zvXlua+rNgG2BZmz56Ndu3amdfG/a9evdphX/m1DxERESl+ecVTXPaUv+kJCQkOtSBcPeZjjBS7ZRNqe5++5BAoV475PDxgYtUzJw7j+PHj5jZXj/mKtceCKy7xxfXt29cU6pg5c6ZpdCNHjjT3r1+/3jQ6vlh21fBFskqi/cHmN5ToiSeewPjx4/H000+brJQVCNlY87Jt2zaEZCWhsl+auV5r1Fd4fvYGh22WxR4zFRiXPNkFnwy/AZ/9shuf/rLLdv+wD37B7/viMeeRDlj1TDezalO3iYsdGuLZ1AxM+nErPhvRFsueuhWH4lMw5ssLS8VOX7UHz83agBf7XYtt4/vgpf7X4plZG/CZ3X4upUFQCpLjT5iaFu3bt0eDBg1M0M73t3v37mb5s9wkJmb/IYSFhdluYyNkI7XHSt4TJ07EF198gRUrVpiGOXr0aNv9b775JiZNmmS24WfLht2jRw/s2uX42seNG2cexy+gevXq4fbbbzdrMxekfYiIiMiVcTnxlKvHfIxdkk+fQEzQheSmpMV8lf3STMy6betWE0u5esxXrHUsONbrjjvuwMMPP2yuM0t966230LZtW7z33nvmhbMLiaXXOR6MJcntS5WHhIQgOjr6ks/PJb54sO+8846pTki1a9dGmzZtLvkYZs77d25HS/8LE7ZrVyiL8LKOFbLLBfrh7SEt4eXpifpVQnFr46r4edtR3Ncu2mSpczccxC9Pd0XretkNetoDbVH94ZmY8/sB9G9R09yWnpmF94a1Ru2K2dUY/9UxBi/O2WjbBxv2hEHN0ee6GuZ6zQplEXskAR/+/CeG3FA337WOw5FoMvdmzZqZswBWzFRzw4yTn8X111+Pq6++2nZ75cqVzX322H32/vvvm/eT+MXALwMrNq7HHnsMt912m7n+2muvYenSpaYi5rvvvmvbjg2za9eu2cf7/PPmte3evRv169fPt33kV7VcREREnHc58VRJiPm2b91iYiX7GmUlLebz8ABiyiTit53b8cGHq1w+5ivWxGLTpk0ms5k+fbrtNnZL8YD27duHjh07mobFNXqZ5fLSu3dv071D/D8vl8I5BpyUw+ytoJgle6UmoW74heW7Fj/R5aLtGkSGmgZmVTk0AFsPZXc1xR5NhLeXB1rUibDdX75sGURXDsGOoxe6CQN8vW0NjCqF+iMuKXu/KefTTXZ830crMeLjC8vHZmRZEOJfsAlAMf5J2LljB+4aOrRA23Pc3datWy9aYYBfBjnxM7A2MHP8lSsjLi7O/D8pKQlHjx41jdUer/Mzt9eoUSOH5yA+DxOL/NoHu+RERESkeF1OPFUSYr5De3fiRv8kh9tKYsxXN/Ac1p9KMr0+gwcPLhExX7EkFsnJyRgxYoTp+sqJ4+J8fX2xYcMGM3Zv0aJFeOaZZ/Dcc89h3bp1Dis4XQrH8BXW4YP7EeWVAF/PvCfB+ORYi5gZY1YhawT6eOd4DniY7jNKTs3Onv97dxuHxkpeBZxdxEk9Pj5e5kPPD7PPefPmmS4ujpHL97X7ODZ0dk9eTo1E++exdnFaM+X82oeIiIgUv/ziKWtFafs4gGe5XTnmY6zhkX4WNUPyX6TH1WM+P0+LiV09CxgfukLMVyxzLJo2bWrGwHGSTc4LGxh5e3ujQ4cOZkgPM11OAPn5558L9PzsZmNDW7JkSYFf06kTxxDu6/jHUFgxVUKQkWnBb7tP2m6L/+s8/jyWiJjI/P84qGKIP6qUC8C+k3+hTsVghwu7xwrCx9OCWlXC81zjmA2DDezbb78172vNmtldds4IDg5GlSpVLirUx+sc91eU7UNERESKV37xVEREdjBsP6GX4/1dOeZj/BPqed7ESu4Q84X7pqNSxYg8j9+VY74iSSw4HuvXX381B8kGyEke3333nW0iD7Mpjr/jfSxe8vnnn5sM0zrGjm8Mh8xcCsfgcx9jx441j+XEIS6x9fHHH9u24Zg+Pj//5eSWfXt2I+7YMSSfv5BcdHx1Pt5dvL3Ax1W3Ugh6NK2GEVNXYeWfx7HpQDwGv78ckeUC0bNp9QI/z7N9mmD83E14e+E27DyWiC2HTuOTFTvxxvytBX6OYR2bmu7BBx980PyR7tixw4xlPHXqlK0rbNq0aWaCE8c0clUBXuwrOXIy1F133YXCGDNmjBljx8lZHF72+OOPm/f5oYceKrL2ISIiIsUvv3iKyQFXeWIPA3+rf/jhBzOZ15VjPi4Uk3B0HzYeiHeLmC/cJx233NzW9PCUxJivSIZCcawV19TlLHEuP8ZMimO4Bg4caO5n1xeXpmJDPX/+vMlGZ8yYYZuIwtns+RX24MoAzIDZpcYxYBwXdv/999vu5+2fffaZ7fpLEyabfznz/6aY7DH/HPd26q/C1bOYOvwGPPzFGvT4z09Iy8jEDdGVMG90x4u6wvJy703RZkzepB+3YOz/1iHQzxsNq4bh350vZIA3v/wjqocH4ZMRF1ZOsNekahAeHvkAVv22Hs2bNzfZfIsWLczqS8QGRzlXAPjkk0/MygDWMxD8IywMdnXy83n00UfNODxmrd9//735DIuqfYiIiMiVkVc8xSEujM9YH4K/3SzC9tJLL5maEa4c8w2f8KXbxHzhvumoGBaCqVOnmsnbJS3my8nDcjmDrVwMM+mDaxdgQPgRlBQ1H56JZ/s0xdAbc//wTqT6YG5ybfS5Y1ixFWgRERERKSl4Bn/29E/QPWgPKvo5N/zdlWK+mScjUaNlF7Rq1QolXYmtvJ1zqbIQOBYrcWXbDp9BSIAv7mpT55LbhPpkAJnpBZrALSIiIuLuTEyUmZ4dI7lTzOdx1m3ivcsaCuVqMtLT4OuRe+VFV3RV1XLY+Mqll14jbw92JFkuWRxFREREpDTJLsRr+TtGcqeYLwtp6dnFnUs6t+ixyMxIh1fBVuoqWR+MxWKrZi0iIiJSmpmTrRaLewSvdhjDMpZ1B27x2eRXKr4kc+djExERESntMZHFjY7tiiQWLJrCNywh4UIlw6Lk5e2DDIt7fCBWmdmtDF5eXv/0S3EZXBeb7SjnGtsiIiLi2ooiFjQxkYcH3G2QeKbFA14+7lHnyy16LHx8/ZBm8cKxhLO4Y8oy1B/zDbzvmopR09agpEqzeAIengWqdnj69Gn83//9n1kzmkuUsRKmdQkxEREREXdgYiIPT6RlXTp8LYmxYJrFCz5OJhauEgsWaWKRlvbPTDzhGsonM8rgfFomIsqWwZM9r8E11cJQksWnewNevggLC8v3Peeaz7xMnDgRW7duxaeffooFCxbgnnvuKRGfn6u+DhERkZLCVX47i/N1lCtXDvDywWnGSDmwekJGZhZS00tWLGixAKctgdnHdpmKMha8YolFw4YNTcETeyzUwcqLDz/8sKm1cMstt5jbf/zxR9SrV89kTO3atTNDWOyxMmP37t3NmxgYGGiKqPAxhe1Omz9/Pq699lpcf/312LrvGCLCQjB5cEvc1aYuQvwLnvl5DZ6Kj5b9iT6Tf0LQPZ8hevQ3+H6DY5GR5bHH0PLZ7+E/7FNEjpyBJ2auMw3YvvjJQ5+vwWMz1iH8/mmoMnIGnp+9weE5ElJScd9HK1HxwS8Ret8X6PDKfFPpMTfxaT7w9Q80FRbze8+vvvpqzJo1y7ynLFpz88034+WXX8bcuXPznPzNoiq9evUy27Ksu7VK5qFDhzBgwACTsDGx6dmzp+0zZGP19PTEyZMnbRkyr992222252VxnTZt2tgmWrFRs/w82wP38eabbxbodaxduxZNmjQxVTmbNWuGP/74I8/PUUREpLS4VAzG3+kuXbogKCgIFStWxODBg20VnFklm7/t1hUnObSY8RQrLlvde++9uPPOO83/4+PjTZG2yMhIBAQE/OOxYHBwsImNTqX5YFnsMRO/zd90CNc9/R38h32GlTtPoEZE2RIVC7Z7ZT52HYlHREREgV9rccSCTEhYmLB8+fKm0nd6+oXJ5GfOnCn6xGL48OGmcTLYs8dKiL6+vli1ahXef/99E5T26dPHHBgbLBuofYMlvuDU1FSsWLECW7ZsMeXE+QdgVaNGDVPBMT983vHjx+P3339H1ahqOJWe/7Aha0Pcf/Ivh9tf/HYj+reoaZYE63JNVQx+bxlOJ6ea+46cTkG3iYvRrGY4/ni5F94d2hpTl+/Cy985jvX/fOUuU3Fx9XPdMf62ZnhxzkYs3nKhaN+At5ciLukcfhjdCete7IEmNcqj4/gFtv3YO5Xui/BKVXKdzJPzPc8Nu774B8hKlnm9r0uWLDEVMRcvXmy+cNiQ2ECZ0Pzyyy9mH/xsOnfubDJi/uGz0bEKJ3Eb++vE/1urQ2ZlZaFq1ar4+uuvsX37dlM988knn8RXX32V5+tITk5Gt27dTBVIfr583aNHj871WEVEREqjnPEA5y8woORJufXr15sz1idOnDAnC4mVs1n7y3qijr/XDEx5wja333BW0uYJ3B9++MEkLP90LMiYKLxiFRMjWT05cz1eGdAM217rg0ZRBeuhcKVYsF5UBbzx/sfmJG1hFGUsuHTpUuzZs8f8y+dlbwcvVtbq3kVax4LjthYuXGgCQpYbt2LZ79dff912nUEjM6VJkyaZ6zz7bG0wViw53rdvX5P5Uq1atRz2xccXpNr0Cy+8gI4dO5rur43r1uDUuVOo4X9xkG6PZdejK4fAx8vxAxxyQx3c3qq2+f/L/a/F24u2Y+3ek+jcqCreWxKLqPKBeHtIK9Oo61cJNWP4Hp+5Dk/3agJPz+zgnw36mT5Nst+XSiGYsjgWP28/io4NI7Hyz+NYt/ckjr87CH4+2ROyJwxqju9+P4Bv1u7D8JvrO7yeU1mBqF2hYq7HkPM9z4lnJl588UXzBZDf+8qzBB999JFpnDRt2jSTDPA2a1LDkvE8w8Evnk6dOuHGG280/+/Xr5/5d9iwYWb7HTt2mH2wEvrYsWNt4yGff/552/7Yc7F69WrTjqxfdLm9jg8++MC8jo8//tj0WDChOXz4MB544IFLHreIiEhpkjMe4IgBJhWvvPKK7bapU6ciKioKO3fuND0IjRs3Nr/dHAnAf0eNGmV+p3lCj4Ho7t270bZtW/NY9lTYn9RzhVgwvEJF7N0TiEp/X3+ub1MTZxWGK8WCw3u2xdxNR80onJxxW16KMhZkr9E777xjJsfXr18fXbt2NSd877vvPuzatQvff/990ScWzCKZWbIrzB4zWXuxsbFo0aKFw205S5RzMgkDxEWLFqFDhw6mYTVq1Mh2Pw+mIPhHQfyAIypH4sSfuwEk5/mY5rUjsP31vhfd3tAuyw0s44Ngfx+TUZpjOpqIlnUqOPQetK5bAcnnM3D4dAqqhWdn2A2jHMfHVQoNQFzSefP/zQdPm+0jHpjusM25tEzsjXPMmFMyPJFs8btkcpXzPbfHyo1sEDzTn1vvxEXH3bChLZinTZs2mS+VnEOweNaC2SzxC4eBv/XMBr/A+IXFLygOjWKvB4enWb377rvmi41fIufOnTM9H/xiy+t1sB2xTTCpsHKHUvciIiJFJWc8wN9wnnW2P/Nvxd9wJhb8Defv9aOPPmpGHbz66qsmUVi5cqX5DeeQZAatxCFT/I3n/UeOHDG/3/90LMghQ5stfjifmR2TsQehsFwpFsy0eCAtI9MWYxVUUcaCPHlrvwoph0QxETTHHRvr0OORnwJvya4sjuXKOSmHZ5oLi11iHG7DrjU2KDZqZrXMhAvDft81a9XG8h0bkZRxBsHehV+ILGfWyoaTVchi3j7eOZ7DDAXKrg6ZnJqByqH++HncrRc9LjTAcQzgn2f94R0YYs4w5OZS7zm7NzlkiUnBt99+W6AVpXI+F89YsLFOn+6YAJF1/B+7SNkWmMVyeBPnU7C3gl9UHIfHhM/6pfO///3PnO3g58svFb62CRMm4LfffivQMYmIiEjBf8M5/Mi+Z8A+WLT+hvNkH5MQxgk8Q83brL/h1t4K4u8150VOnjzZnADk/v7pWJCxkXdAMA6d98vet1/Bg15XiwWTMzzxY2JVtGjX2fQ0FUZRxoI5t8k+7kIe+N8KPKCLXVQ8K52fmJiYi8berVmzJteGcf/992P27Nkma/7www/hDHbt+JUNQ2yyYxZdFGKqhGDN7jgz5Mrq111xKFvGB1XDCvbH1KR6eRxPPAdvTw/UqRjscAkve+GsPNvejvPlULdBI4cz+PlhdsphSnwMu6zsz/QXRtOmTU3CUKFCBdSpU8fhEhISYrbhlwu7zdjlyp4HnhnhlxJ7L/jFZB2bSRz717p1azz44IPmj4bPU5CsnO1o8+bNpqckr3YkIiIiF37Dt23bZsbR5/wNtwai1nkWb7zxhi2JsCYWuf2GcwEXTua+5pprXCIWZJxT96prcDDdcWRFcSuOWDA1sDKiatUzk9sLMgXgSsWCOT/LvCZ/X3ZiMWLECDMBKD9sIAxMx4wZYybjfvnllw4TQIjZLsfo7du3Dxs2bDDddnzhVu3btzdjvQqD3TTRVzfG4n3n8fv+eCSnpuNk0nlsPBCP7UcuzGZfu+ckGoydZSbhFNQD7WNwKD4F//58DXYcTTDzIp6b/QdGdbnKNqYuPx2uroJWdSqgz+QlWLTliJkw9OvOE3jq6/VYvzd7tQY6cM4PZ72DTfdVYRtSSkqKmZPA68ePHzcX68oPBX1f77jjDtO4+UXCLlJ+RvyiYZcl5zhYM1nOs2CvhvULiN2X7B5lF5v92Q52p3ICGT9vfhk9/fTTWLduXb7HNGjQILMfju9jrwhXiuCKBSIiIpI7TojmcCau5MTfWp7I4+8v50Ja4wGeGORvtv1vOH/TGY/xdzrnbzgXVeHcSQ6JcZVYkDHSec9Ln0hm7MeLK8eC8zcfwarjQGqWB5599lkTKzmjKGNBe2wDjAmLPLGoVKmSWY4qPyzIweWu5syZY7JbzlS3n0REPEA2fjYgdtdwzN+UKVNs9/MPwbo0WmHw+Z79z3/R/Onv8Pu+eMxYvRfXPvWdmcVvdTYtA38eS0S63fJg+YkMC8S80R3NhJsm4+bgwU9+xd1t62JcT8d5AnlhkDxvdCfcEF0J93z4C+qPmYVBU5bhwKkUVAzJziiZbNQZ8R7iklLMSksFxT9IDi3ieDielWB3p/XClRkK875yCBNXaODnyBUd+J5yuVj2HHBlASt+8fBztH4pcTUDfjHxOO3nV/BLiM8zcOBAM96SS9ex9yI/7AXhEmk8JvZ0jBs3LteuXREREcnG+RHsZeDvM4NMjjBgAM8FWOxXHcr5G86l5RmsM9azLvlOTz31lOkF4ZAlbusqsSBjpHIVrNO3L8bYjxdXjgXv/mAlHh//jplgzaV3uTQwcVlebme/UteVjgVz4iI+BeVhse/TcQM//jAPf+1cgz7hx+BVsATSZczaFIeh7/6EFb+szHNSjoiIiEhpxh6RpfNmoVvwflTyu1BzoSTItACzT1VGcHQrdLm1q8N97LnhCdm9e/c6VTTvn1KklbddQctWrfGXXwVsSLp4RQRXlpEFfL7+FPr372/ODoiIiIhI7nhWvmKNuliRFG5iqJJkQ1KQiVVbtLx4tUsO/eZyvSUxqXDLHgti4Zf1y+ajR8gBRPgWfMLJP2lNQlnEetVGv0F32SZJi4iIiEjuWBBw1owvEJO5By1DHZfud1VxaT6Ym1gNzW7qUuiVoEoCt+uxII7nKx9VF8sTw013k6s7luqDbekVcd31bZVUiIiIiBQA544wdmIMdTw1/2VV/2mZFmBFYriJURmruiO3TCw4Qemmm9sjya8i1iZe2eXICourAaxIikCFGtG26pMiIiIikj/GThVq1DNDohhTubK1iWWR5FfBxKj2k+ndiXse1d8rHLS88WZsy6yCTUmuWXwtPcsDC05HID04yjQy+2qOIiIiIpI3xk433dwBacHVsCA+wsRWrmhTUiC2ZUaa2JQxqrtyyzkW9rp162aqOlorKlYrH4jBbergiR7XwDtHhUVaseM4Jv6wBRv2n8KxhHOY9VB79GpWPd/9LIs9htHT12LbkTOICgvEkz0bY+iNdR22mbJ4Oyb+uNUUR2kUFYaBPTojLKYluvXub6tqLSIiIiKFc/LkSfTu2R2rVv/mcjFf3chwdOvVD33vGIpmzZrBnRVdHXQXxWJvLVu2RJ8u7RHjcRgH9uzE/32+2jS4x3tcPL4tJTUd11QLw7C2ddHvzZ8LtI99cX+h+8TFGNE+Gl880BY/bz+K4R+vNGXbb2lU1Wwzc81ePPrlWkwZ1hpNalbA49/vwTMffIPffhurpEJERETECYylIqOq4+qkv/DIgJvROigOP20+9M/GfENbI7hSdbz10y68+/HnePjxp+Hu3HYolD0WHenQvS+OhlyF+k1b4eYGVTD3j4O5btvlmii82P9a9G5Wo8DP/9+fd6BmRBAmDmqBmMhQ/KtjA/S9rgYmL9hm22by/K2496Zo3NriKuwsE4NBd9+P4OAQzJs3r0iOUURERKQ08/f3R9WoavCMbIg/POqizw2N0P6qfybmG9Y2GjUaNseZiGsw+Z0pKFu2bKEKzZVUpSKxIC7p1a5LLxwKqIvTCEJyWvYIMK/BU/Hpil1OPfea3XFof3UVh9s6NYo0t1NaRiZ+3x+PqBq1MS+pGspUb4zeA243VTFXr17t1L5FREREJJufnx969RtoYi3GXOc9yiD170IXVzLmKxPV0MScjD1Z9LhDhw6lIuYrNYmFtZhKeKWq2LpzHyrXboBlp0NRr3IIQgKcW6KM4+cqBvs73MbrSefScS4tA7HxmcjMsiAptC6a39wVPXv3NcvKsifl+PHjTh6ViIiIiFgxxureszeyAspjTexBRNaoixOpPogu5pgv4Xwmvj/kZ2K+6g2bo//tg1G3bvbci9IS87n9HAvicKOgoCCkp6cjKysLgwYNwqhRo7Bx3Ro8MfoRVPI9jYT0swj1ySyyfVpnxC86FYZdZ8uY/7ftcIvbrlssIiIi4moxX79+/dCjW1fMjTuE/4wdjpjAZFgsqSjKhThTMrPP038TH4UU/+yVSFlVOzDQNVclLU6lIrFo164d3nvvPfj6+qJKlSrw9s4+7Hr16mHr1q3YsWUjtiXEo4pHAmIC/kJ1/1R4FqLBVQrxx4mkc+b/5zI98WeKP+YdLoMyZcoAtVqjS3R9PPnSBJw7l72N1YkTJ1CpUqWiPVgRERGRUiq3mI8Jxq5du7B9y2YsPnoAQclJqO+XgOjAc/D3yh4mVdiYL8sCHDjnh9hzZfHj8UT4+5dB43bdTWw55vGnEBeXPTSqtMV8pSKxYMbIYVA5BQQEoHnz5mbs2969e7F962YsObQPXsnnUN7zrNnmSKovTqd7I8Q7w4wbs2a4XKQ3zeJh7qtdLRLfbz6AVqcikZTlBy//YOw+uQ2tWrVC7379zfbcx5IlS9CrVy9znY2c10eOHHkl3woRERGRUhXzsRhddHS0uXBZ2m3btuGP2C1YH5+EYM9UhHskm+3OZHiZInu+HhaHeI+pR2KGN06m+SCqalXM2XwQjTrVQKa3PypWq4XTP23HDTfcaGLK0h7zlYrEIi/169fHq6++it69e5txcAcOHMDatWsRd+aMuf+XE76I214GgX6+KF8uBF4eFnzzw2KcSUzCsEEDAG8fRN9YCTNWjMfcdXtw5513mqx4+fLltvoZ9Mgjj2DIkCFm/WI2vMmTJyMlJQXDhg37B49eREREpPTFfDz5u337dmzatAlb4k+Z+xce8cX+TWUQ6F8GEWEhYG7x9Q+LkZD4F4bdeRs8vP3QsmstzF41Diu37MWIESOwYcMGzJ8/XzHf30p9YvHnn38iMTHRdn3fvn0YMGCA7frX335n/mUjfOmll5CZmYnvlq9H5l/n0b7nQJQrVw6hoaFo2eYmM2+D2WnVqlXx0Ucf4ZZbbrE9z8CBA02W/Mwzz5jJO40bN8aCBQvMZB4RERERuXIxH1eP4v/tg/2v52SXAGAs9+KLL4I1pL9f8TuyklPRfeBdpjaaj48PGjZpamK+tm3bKuYrbZW3RURERESk+JWq5WZFRERERKR4KLEQERERERGnKbEQERERERGnKbEQERERERGnKbEQERERERGnlYrEgkt9PfTQQ6ZgCqthc7mv66+/3lRmPHs2uxBeTsuWLUPPnj1RuXJlU2yFS4VNnz49330dPHgQXbt2NcX3KlSogDFjxiAjI+Oi527atKlZ6oyv6dNPPy2yYxUREREpjS4n3qPNmzfjhhtuMI+JiorC66+/XqD9MX5r1KiReRxjvn/9618O93/11VcmfmRMWL16dUyYMAHuzu3rWLCiNhsVa0288soraNiwoQnot2zZgg8++ACRkZHo0aPHRY/79ddfTWN57LHHTMOcN28e7rrrLoSEhKBbt2657os1LphUsGQ7H3/s2DHzGK55zH1b62Rwm/vvv98kKqzEeO+995oExn4NZBEREREp3ngvKSkJnTp1QocOHfD++++b7e+++27zPMOHD7/k/v7zn/9g0qRJJllo0aKFKYC3f/9+2/0smnfHHXfg7bffNs8fGxuL++67D/7+/m5dgdvt61h07tzZlG7fsWOH6XnIiYfvYa3bng8mBEwypk6dmuv9bERMOo4ePWorgsJGyuSEhVJ8fX3N/1mdcevWrbbH3XbbbUhISDDFU0RERETkysR77M0YN26c6e1gnEaPP/445syZY54rN2fOnDGJyty5c9G+fftctxk0aBDS09Px9ddf225jksHeEI5uKWjsWdK49VCo+Ph4LFq0yHRN5dbIyPrBDh06FDfddFOez8cKjWFhYZe8f/Xq1SZDtq+syF4IZsNs7NZtmBXb4za8XURERESuXLzH+OvGG2+0JRXWuIxVuplA5Gbx4sXIysrCkSNHEBMTY6pvDxgwAIcOHbJtk5qaaoZI2WNvxeHDh3HgwAG4K7dOLHbv3m0y1OjoaIfbWZI9KCjIXNiDQByKVK1atUs+F8fJrVu3zqH0e07MdnOWa7de5315bcPk49y5c5dxlCIiIiKllzPxXkFit9yGXTGx4JCryZMn45tvvsHp06fRsWNHpKWl2ZKT2bNnmyHv3Hbnzp1m6BRxqLy7cvs5FrlZu3at+ZA59o0ZJb366quX3H7p0qUmofjwww9x1VVXXcFXKiIiIiJXIt4rKD4nhzm99dZbZv4EzZgxw8yxZczIpILzKfbs2WOGyHPb4OBgM7H8ueeeg6en+57Xd98jA8yqAOz6YneWvVq1apn72CWVn+XLl6N79+544403zETsvLBBnThxwuE263Xel9c2bHAFeT0iIiIiUjTxXkFit5zY60ENGjSw3RYREWF6SDh/gvh6XnvtNSQnJ5uhT+z9aN68ue11uSu3TizKly9vuqXeeecdM1u/sLgsLCdss2HktTKAVatWrcxqAnFxcQ7j8Jg0WBsft2G3mD1uw9tFRERE5MrFe4y/VqxYYXoV7OMyDqsqV65cro/h6lNkn8hwKNSpU6fMsrL2vLy8zERvzuFgrwb3xyTEXbl1YkFTpkwxdSSaNWuGmTNnmuW+2BCmTZtmZvvzA6cnnnjCoUeCXVlMKv7973+jb9++JtPkhQ3H6ttvv0X9+vVt19kdxgRi8ODB2LRpExYuXIinnnrKTCbikmfEZWY5Nm/s2LFm/3x9nL8xatSoK/q+iIiIiJT2eI+rNzHov+eee8xCO3zsm2++iUceeeSS8V69evVMrTMObWJ5Aa70OWTIELNNu3btzDZMMrgyKPe9ceNGsy1XiOKcDLdmKQWOHj1qGTlypKVmzZoWHx8fS1BQkKV58+aWCRMmWFJSUsw2Q4YMsbRt29b2GF7n25PzYr/NJ598Ym6zt3//fkuXLl0s/v7+lvDwcMujjz5qSU9Pd9hm6dKllsaNG1t8fX0ttWrVMs8jIiIiIlc23qNNmzZZ2rRpY/Hz87NERkZaxo8f73B/bvFeYmKi5e6777aEhoZawsLCLL1797YcPHjQdv/JkyctLVu2tAQGBloCAgIs7du3t6xZs8bi7ty+joWIiIiIiBQ/tx8KJSIiIiIixU+JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIOE2JhYiIiIiIwFn/D8DRai6QbNMmAAAAAElFTkSuQmCC\",\n      \"text/plain\": [\n       \"<Figure size 800x700 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"from pymdp.planning.visualize import visualize_plan_tree\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def generalized_tmaze_observation_description(observation, model=None, env_info=env_info):\\n\",\n    \"    obs = observation[0]\\n\",\n    \"    maze_shape = env_info[\\\"maze\\\"].shape\\n\",\n    \"    num_cues = env_info[\\\"num_cues\\\"]\\n\",\n    \"\\n\",\n    \"    pos_idx = int(obs[0])\\n\",\n    \"    row, col = divmod(pos_idx, maze_shape[1])\\n\",\n    \"\\n\",\n    \"    cue_vals = [int(v) for v in obs[1 : 1 + num_cues]]\\n\",\n    \"    reward_vals = [int(v) for v in obs[1 + num_cues : 1 + (2 * num_cues)]]\\n\",\n    \"\\n\",\n    \"    cue_map = {0: \\\"none\\\", 1: \\\"r1\\\", 2: \\\"r2\\\"}\\n\",\n    \"    reward_map = {0: \\\"none\\\", 1: \\\"reward\\\", 2: \\\"punish\\\"}\\n\",\n    \"\\n\",\n    \"    cues_str = \\\", \\\".join(\\n\",\n    \"        f\\\"c{i + 1}:{cue_map.get(v, v)}\\\" for i, v in enumerate(cue_vals)\\n\",\n    \"    )\\n\",\n    \"    rewards_str = \\\", \\\".join(\\n\",\n    \"        f\\\"r{i + 1}:{reward_map.get(v, v)}\\\" for i, v in enumerate(reward_vals)\\n\",\n    \"    )\\n\",\n    \"\\n\",\n    \"    return (\\n\",\n    \"        f\\\"pos: {pos_idx} ({row},{col})\\\\n\\\"\\n\",\n    \"        f\\\"cues: {cues_str}\\\\n\\\"\\n\",\n    \"        f\\\"rewards: {rewards_str}\\\"\\n\",\n    \"    )\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def generalized_tmaze_action_description(action, model=None):\\n\",\n    \"    action_idx = int(action[0])\\n\",\n    \"    actions = [\\\"down\\\", \\\"up\\\", \\\"left\\\", \\\"right\\\", \\\"stay\\\"]\\n\",\n    \"\\n\",\n    \"    if 0 <= action_idx < len(actions):\\n\",\n    \"        return actions[action_idx]\\n\",\n    \"    return str(action_idx)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"visualize_plan_tree(\\n\",\n    \"    info,\\n\",\n    \"    time_idx=None,\\n\",\n    \"    observation_description=generalized_tmaze_observation_description,\\n\",\n    \"    action_description=generalized_tmaze_action_description,\\n\",\n    \")\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"If we limit the planning horizon to a single step, we can see that indeed it renders both cues equally attractive.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"policy_search = si_policy_search(horizon=1, entropy_stop_threshold=0.0, gamma=5)\\n\",\n    \"qpi, info = policy_search(agent, qs, key) \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAxYAAAKyCAYAAABIREjrAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAt1VJREFUeJzs3QV4neX5x/E77tI00tTdvbi7DRsbTBk2GLox+W+DDbexDQZDNgbDfbgOL9qW0lJ3tzTaNNb4+V+/pzshaZs2aeQ98v1cV642yck5z3vOY/f7WITP5/MZAAAAAHRAZEf+GAAAAACEwAIAAABAhxFYAAAAAOgwAgsAAAAAHUZgAQAAAKDDCCwAAAAAdBiBBQAAAIAOI7AAAAAA0GEEFgAAAAA6jMACAAAAQIcRWAAAAADoMAILAAAAAB1GYAEAAACgwwgsAAAAAHQYgQUAAACADovu+FMAAACEl8bGRqutrfU6GUCHxcTEWFRUVMefiMACAACgfRRQrF692gUXQChIT0+3Xr16WURERIeeh8ACAACgjXw+n+Xl5bk7vP369bPISGaVI7jzc1VVlRUUFLjvc3NzO/R8BBYAAABtVF9f7zpivXv3tsTERK+TA3RYQkKC+1fBRXZ2doemRRFmAwAAtFFDQ4P7NzY21uukAJ3GHyTX1dV16HkILAAAANqpo3PRgVDMzwQWAAAA2K1HH33ULfD1u/76623ixIkWrII9/YGKNRYAAAAdVFFRYdXV1d32evHx8ZacnNzmx5977rn22GOPNW0v2r9/f/vJT35iV199tUVHt787+Jvf/MauuOIK6ypTp061I4880kaPHm3z5s1rMe9fAc5dd93lrgmBhcACAACgg0HF0089a9U13XeuRXxcrP3wR99vV3Bxwgkn2COPPGI1NTX21ltv2WWXXeaCjKuuuqrdr6/Xbc9r761Vq1bZ448/buedd16XvxY6jqlQAAAAHaCRCgUVPdKGW6+siV3+pdfR67V3hCQuLs6dVTBgwAC75JJL7JhjjrHXXnvN/W7Lli1uBKNHjx5uIe+JJ55oy5cvb9dUoocfftjGjBnjXkfbll5++eXu5+eff76dfPLJLR6rRcLagejf//73btOsUZHrrrvOBUOtWbdunZ122mku0ElNTbWzzjrL8vPzWzzmT3/6k+Xk5FhKSopdcMEFu3zvHnroIRs1apQbDRo5cqTdf//9Lc4u0fXouvR7vYe33XbbbtMejggsAAAAOkFcbKLFx6d2+Zdep7O2GfWfHq5pRV999ZULNKZNm+bONzjppJPavEvQP/7xDzcCctFFF9n8+fPd8wwdOtT97qc//an997//ded/+L3xxhtu297vfe97u33eK6+80m3xe8899+zy9zqkUEFFSUmJffzxx/bee++5UY7mz/v888+7QOjWW29116jgoHnQIE899ZRde+21dsstt9jixYvdY6+55pqm6WN///vf3TXpuZYuXeoeP3DgwDa9N+GEqVAAAABhREHDBx98YO+8844bEdDIhDrNn3/+uR100EHuMeo46wDAV155xc4888w9PufNN99sv/71r+0Xv/hF08/23Xdf96+ec8SIEfbEE0/Yb3/7W/czTcnS8+5pOpVGTzRiobUgF154oaWlpbX4va5DgYxOQld6RVOnNHIyc+ZMlwatx9Aohb78aX3//fdbjFroNe644w4744wz3PeDBg2yRYsW2QMPPGDnnHOOGxUZNmyYHXLIIW4HJY1YYGeMWAAAAIQBjRKoI6+pPJrqpLv6upOvO/RawL3//vs3PbZnz54uGNDv9kQHq23atMmOPvroVh+jUQsFE6JpSm+//babItUWCgiUnttvv32n3yl9Cij8QYVowbcWePvTrn+bX5sceOCBTf+vrKy0lStXutfxrx3RlwIQ/dw/ojNnzhz3nvz85z+3d999t01pDzeMWAAAAIQB7bKkKUs63E8nh+/NblC7O7l5d7R+4/e//72bZvXFF1+4EYFDDz20Tc+vdGqKkjr3/nUbnb34Xh588MGdAhD/blSTJ092oyIKiDTaoXUcWqPywgsvdHp6ghkjFgAAAGEgKSnJrXvQVrPNgwotWNY6hhkzZjT9rLi42K0l0N3/PdGCaK030LSk1mjE4fTTT3ejFjoTo727PGnalKY33XDDDS1+rrSvX7/efflpClNpaWlT2vWY5tcm06dPb/q/FnUr0NLaDL0/zb8UAPlpYbhGeRSAPPfcc/biiy+6tR34BiMWAAAAYUxrB7QAWmsYtKZAgYJGF/r06eN+3haaUnXxxRe7nZ40zaq8vNyt2Wh+1oWmQ2l3qIaGBrduob20s9Pxxx/f4mcaNRg3bpz96Ec/cmspFCBdeumldvjhh9s+++zjHqN1Hxrt0PcHH3ywWz+ycOFCGzx4cNPzKGDRFCet4dC2vNqFSgu9tVvWr371K7vzzjvdou9JkyZZZGSk/ec//3E7bDU/NBCMWAAAAIQ9jSRMmTLFdfy1/kALvHXWhc65aAsFCurYa7cljSzoeXbcrlZBgDrnCg40QtBeRx11lPtS8OCnhdSvvvqq2yb3sMMOc6+hgEEjCn4aZdAOT1o4rmtcu3at2263OQU92m5W74MCFQUmGlnxj1go2Przn//sghMtCF+zZo17fxRk4BsRPuUcAAAA7JF2EtJce3U4tQhaioqK7Omnn3fnS3TWVrC7U1NbZVu2LrMf/vAsy8zMtGChtQwaBVHn3b/7EgI3X+8NpkIBAAB0gDpiOglbnf1ue8242A51ALuTzppQ8KXtXDV16NRTT/U6SegiBBYAAAAdoK1Jf/ij77f7JOyOUFCxpzMgAoXOgNCd8L59+7rpRZ21GxUCD58sAABAB/nPPsDOtGMUM+/DAytOAAAAAHQYgQUAAACADiOwAAAAANBhrLEAALSgw6t06u7WrVvdfvH+PeO14FJfOkBKp+hGRUV5nVQAQAAhsACAMKcTctevX2+FhYWWn5/vtoVUMKEAQwsudQCV+P+vgEIBhvbPz8nJsaysLOvXr587QAoAEL4ILAAgDClI2LBhgy1YsMBWrlxpdXV1TQFDXFycCxJiY2NdINE8sNBXbW2t+1IAsnnzZheA6HTeoUOHuhN3taWk/28AAOGDwAIAwogCiEWLFtn8+fPddCcFAElJSW7UITJy98vu/EGGOwys2cFcOvxKJ+ouW7bMli5d6qZJjRs3zkaPHu0CDgDBtz3slVde6b5CwdSpU+3II4+0LVu2uAP6gtXAIPhcCCwAIExs3LjRPvroIzfSoNGIjIwMNzrR0dEFBSSpqalulKOmpsbKysrc6yh4Oeqoo6x3796ddg1AoFJwHegH5GnK43XXXWf//e9/XT2Qm5trp59+ul177bXuhkAoOOKII2zixIl21113Nf3soIMOsry8PLc+rCude+659thjj9ltt91mv//975t+/sorr9i3v/3tsDjLg8ACAMJglGL69Ok2Z84c9312dnaXjCQ0H83Qa2pE5MUXX7RJkybZ/vvvz+gFQjqoeP6px6y+urLbXjM6PsnO+tE5bQ4uVq1aZQceeKANHz7cnnnmGXcS9sKFC+3//u//7O2333Z1hG42eEHTKVV/7GnUdG/pRkqvXr2sO8THx9vtt99uP/vZz6xHjx4WbthuFgBCmO7SPffcc/bVV19ZQkKCW2zdHR18vYZeS685c+ZMlwalBQhFGqlQUHFE/Fo7PWVll3/pdfR67Rkhueyyy1wH+91337XDDz/c+vfvbyeeeKK9//77bjTzD3/4w06bOvzgBz9wUyX79Olj9913X9PvdOf9+uuvd8+hUU+NSv785z9v+r1GLn/zm9+4v9Pf68aCpiP5Pfroo25K0muvveamTOo5HnroIdcpLy0tbZGOX/ziF27kU3SzQmnS8yYmJroplwqSmo8YfPzxx3b33Xc3Td1cs2aNe239v/lz66aH1oTptTXF6I477mjxuvrZrbfeaueff74bjdW1/utf/9rj+3zMMce4IEajFruzp9cvKCiwU045xdWhCgKfeuqpnZ5D1/PTn/7UTWXVqLHep7lz5zb9Xv/XFDClX7+fMmWKawu6EoEFAIQo3aF8+eWX3bxidfI1DaA7F1XrtfSaem2lQWlRmoBQlR5Tb5mxXf+l12mPkpISe+edd+zSSy91HdXm1An+0Y9+5IL/5lN1/vKXv9iECRPs66+/dtN61MF/7733mjrFf/vb3+yBBx6w5cuXu6k+6uT7XX755TZt2jR79tlnbd68eXbmmWfaCSec4B7rV1VV5e7sK6DQyInSoGBDz918JEPp0u9EgZQ6x2+++abbeOKiiy6ys88+27788kv3ewUUGpW58MIL3Y0MfWnHuh3NmjXLzjrrLPv+97/vpmwqSLrmmmtcwNOcOvv77LOPew/03l1yySVuHdnuREVFuYDknnvucRtk7EpbXl9BkqauaVrpCy+8YPfff78LNprT+6qfacRJzzl58mQ7+uij3ectet+0mYZu7uj3+hy7+sYSU6EAIASp8VMnQJ17dey93KXJP3qh7WzfeustO+6449x0DADdQx16BQ2jRo3a5e/1cwX/KqOaKikHH3xw0zoBldfPP//cBRPHHnusrVu3zgUkujuv8q27+fvtt597rH73yCOPuH/966s0eqF1Hfq5Ot2i6ZLqLCt48VNH++mnn7YLLrjAff/BBx+4u/Lf+c533PcaqdBz+V1xxRUuYHr++efd6+tGhkZlNJqxu6lPd955p+uAqzPvvz5taqFgSh16v5NOOskFFPK73/3OXb86+iNGjNjt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asmpjVZQNM/WbZhhvXpl2YIFM21rWYE1NNS5x8+dO81yc/tbclJq03PoJGJ1nopLVltGT53ebbZ02aeWmRVrxx9/lJ166sm2detWGzZsWIvX1q46Cmw0avHMM8/YgQce6O64AoFcno499li79957rbJSp1+3pE6+Ri3OPfcnLu+rDBSXLLS1G6ZZr16ZrjyVbs1vOr1b5al37gBLalaeVNYqq0rceRQ9eya7ny1aMtWVzaOPPsxOO+0UV55GjhzZ4rWTk5PtuOOOs5KSEjfVkPIEoK0ILAC0ieZb/+QnP3F3WTVCoQBj8eLF7o7rk08+aUuWLHEdfO0io879O++8bWeccarts+8YO+XUoy0qOtLuue8qmz7zBXv51bvttTcet0MOPtTy8r92wcerb9xrl1x+khVvWWgNvkKbss8It0j8/ffftd69c90JwT/96U9dJ0gngfvT9M9//tO99pw5c+wXv/iF/ec//7G77rrL67cL2KP777+/afSvtfKkBdqPP/64vf76a3bW975j++8/wU47/XhXnu69/2qb8dVL9tIr28vTwQcfYvmFc115eu2N++ziy06wopIFVlefZxMnD7ZDDz3U3n//HRs4sL8rxxdddFGr5WnTpk2uLGla1vXXX+/1WwUgSET4vDryE0DQ0GLSTz75xFJSUtwi6dtuu83efPNNt1uMAonRo0fbmWee6bbP1Dzxc88919asWeOmTfnNnTvXLr74YjeHXNMvvvvd77oRkO3bZfa3t99+22644QZ3B1Wvo45PWVmZ/fKXv7SXXnrJ3cE9/PDD7e6777Z+/fo1dYROOeUUmz9/vpsiojurt9xyi+2///4evltA22lRtM5e2ZvydMkll9isWbOaytMRRxxhdXV1bjqVAgKtldCog36/t+VJayxUPhXka2tcANgdAgsAu9XY2GjTpk1zp26rc6GOT2f54osv3JSqSZMmddpzAuFKGyls27bNDjrooE57Tu34ppsKCnD0vJxlAWB3mAoFYLc0LWLLli1Nh2UBCB8q8yr7qgNUFwDA7hBYAGiVdllauXKlm5qRkbHr3WYAhDaVfR1AqbM3VCcAQGsILADsknaq0YLoXr16sdUkEOa0bkN1geoETYsEgF0hsACwE+3ApEPwtH3rxIkTvU4OgACgukB1guoGrb0CgB0RWADYyYIFC9yhc9oGU7s2AYDq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6aefaq9N136o7KgM3XzTTe5nDz/8sCtjM2fOdK9TUVHR6eVpV0466STfeeed1+JnlCd0R3l6/fXXffvtt99el6fPP//clR3189S3Ux9PbVXz8jRjxgw3WlBWVtaUNsrTzqItgD322GN2wQUX2JdffukORLnoootcNHnhhRe635977rluu7HXXnvNUlNT7Xe/+52ddNJJtmjRIouJibHLLrvMHaKi6FF3cvTz5OTkpucfOHCgew7dtRQtANKOTBvWr7OizRvdqdf19fU2//P37U83Xmvbampt9KDedtGph1tGj1SrsBhb3Zho9ZGxZtGxlpqeYZm9+rj5duecc85ur03zAcvLy92Xtk9TpLqjadOm2WGHHWaxsbFNP1O0evvtt7tTuf2jG/vtt59t2LDB1qxZ464JCITypMfq+davW2uFeRvt008/ceVpzmfv2W03XOPK08gBveynpxxi9Vt62jaLtnWNiVYbsb08JaemW2ZuXzdK2NbylJGR0epjKE8I5vKk+du6M6p8WZS3wYoKNltSUqI9cNef7cfH7mNRjbX25TsfW7/sHpZVMt8qty61jb4Eq7bt5SkhKdWycvvYe++91ynlaVe2bt2604GulCd0R3nSXXyVkTvuuMMOPfRQt2PU7sqT8vjatWtdmVJ/r2DzJlee7r/zT/ajY/e1mMYae+/NT61/ToYrT1Vbl1ieL8HmWJxZVKzFJSa5/p7K09lnn73ba2sMs/IU0IFFv3797G9/+5tbpKOtxebPn+++V0bzZzB1/v1TKZ566in3N6+88oqdeeaZtm7dOjc8NW7cOPf7wYMHt3j+IUOGWM+ePS0/P98WLlxgq5YstIjqMusTWWpjYmtt0dblFuFrtKlTP7J/nbO/pSXG2rUvzLKbH3ze5tx6usVGR5nOZymtj7Ki2hgrKo2x/MKltnbNGlu7aoXbrUDbxiYmJu50bX/9619dptl///1tn332sejonT+KzZs326BBg1r8LCcnp+l3/o5Q79693b8qJIGa0RAe5UlDtSUlJW6a0/JF86yhstR6R261ETE1Nv9/5emTZuXp6me/tFsfetHm/emMpvJU1rC9PBWXR1v+lmW2bu1aW71yuRueViWrRmVX5UlD2WeddVar1095QjCWJ03hW7x4sS1ZMMdqykosJ2KrDY7eZvum1duU359o59zzrn3vvY+3/012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8zbYmN+9aKk/fdxO/PM7llfacsTwoalL3e/1HL+9/R/25KOPuJGX9s6B11kFKgO683n88ce7zRtEZebcc8/dq/Kp9mn06NHus9ff6E7tX/7yF/v+97/PRighXp6URh2md/VNf7a735jd5vKkPpn6Zkqf+mraXMeL8pR0wWN2xZ8espdf/I87YTsQy9NTTz1ll156qWvb1B/t9MBCkeHTTz/drl0htDOTGmMNTepAj+eee85lussvv9z9XvM1lenUOKsTrDfksMMOa/Vkwl256qqr3N2Ja665xv71r3/ZL358mg3NiLX2GPzL5+2Gl77JmPLhok3uJMV3fneCvfbrY9v8XBqC1geUlZVtSUlJO22hubGk0o645S2Li46096860WbeeJqde/gwq//f/sejkyutojjffaiiOzCKODMyvikk119/vRvq3dEf/vAHu+OOO9z7qrm2559/ftPvXn75ZXeSpQ5XUXDws5/9zM477zwXiTZ3ww032FlnneU+r5NOOsl+9KMfNR0prwpFDeOkSZPca+jz0rC4Ho+2aZ5fA71M6bO/9beX2VOXHmbZaQndUqa2VtW6mwLpSW0vw5qSeOyf/muj+qTb59eebJ9c8y07ZVI/a2j02YjEbdZQWWrLly//5jW2bm8MmpcpVcSqqJtT2fvrX//qAvBPPvnElcnf/OY3Tb+/++67XXnTY/RZqHI/9dRTW7yWv1zq79QIDx8+3N0B8i+C3dPnidApTxdccIFd/39X2OOXHNEp5Wnq4jx3mvAHV59oj1x0qD326Qp79NNv8t55//rUBemv/OoYVy50U/Tkv77XorNUVVNvd7y1wB772eE29Y8n2friSvu/p7+ZevvU5yvt+hdn203fnWIL/3SG/emsyfbqm2+5PN9WyvdHH32067AoqNb7e8opp7R6p7g95fP22293N8M0BUrTPhA+5emSSy6x63/3S3vw4iPbVZ7UJxv3xzftH59tdH01nXHhWXk6c7K9/tY79rc77wyp8tTmcyx0t0VfhxxySLvmeqlzcuWVV7rvFaX+/e9/d1N9dPdcDbU63zqiXfPBBgwY4Dqtfmlpae7OemvKy8td437vvfe6qPfpRx+yM8ak2pjk1v9ml9eWnWKZKS0XjybFxdiDPz3EYts5V1VRsL5ac//7iy0tIcaeuexIi4neHtcNz01rsddxpm21RQsX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hz6znEuftvQLn7Dv/uUN21y0xZ2c2Fa7es/Hjh1rL774ontPdVDNUUcdZbfccou9/vrru114pz2UdaieMqgOyenZs6c70bH5Satbtmxx26Lps1I+OPHEE91Jm37K1DoQR6dz64BFnXqsw/R0OEtzDz30kPu9TtXUqZv333+/BYrW8rEKra5X15STk2Nnn31208mXOl1U1+1fKKwtGTX8q5OZg6U8KahVcBsq5elbt79l6zcXtutMGMpT5wvb8hQda0W1MSFTno667W1bv7mI8uSxcCxPqampFpuQFFLl6chb37blG4stKysroMtTpwcWOk3Rf5KfTkycMmWKO9JdGfiiiy5yGffLL79s8TePPfaYxcbGutOa//nPf9r69evtjDPOcBetzKzM2zwziy5GJzp/8skn7qAuHSmuwuGnw638J1D7uQ9DFXfdN9Mcrn7uK7v1rH1s4e1n2Ph+bYtY/Zl0TWF5i5/f9PIcO3P/QW7byxMn9LWz/zHVSipq3O82llTayX99z/YZlGlf33K63XfuQfbwx8vtllfntHiOxz9b7k5ZnHb9Kfan7+9jN70yx96b/82Bfmfd85EVlG2zN39znM286VQb0CfH/nrX39v1Ye7qPd8VDYupcDYfxt7V+/rRRx+5E771r55XFXHz0yCVGb/66it32vC0adPc3YKTTjqpRWasqqpymfWJJ55wn6lOe/zNb37T9PunnnrKnfKpzL948WK79dZb3emfer1AseN7qvmhKrA64VXXrzsC+fn5dtZZZ7nH68RRna3y9ddfN5UdFfzmJ78GcnlSJR8VG+8q7lApT4P75Nhd9z1glZWV1h6Up84XbuUpLi7OUtJ6hFT7NLRPtt11/4NtPonXj/LU+cKtPCkIyszpbUV1sSFTnob3y7a//fPfFhkZGdDlqa3aPEFyxYoVdvjhh7v/K3JtXvg0p0tR//PPP++OGPfTce1//vOfm77XEeSKou644w73veaB+TOTnwr2d77zHRcVy+DBg1ukQ3+/410SRdEJSalWtO2bivv670y2Y8f1aevlbX+e2GgbkZtmMVEtP9xzDh1qPzhwiPv/LWdOsXveXWRfriq0E8b3tX98sNj69Uyye8450GX4kb3T3fy+3z830645fZJF/u+UMWX2a8+YtP196ZVm97+32D5ctMml8bOlm23mqkLbfN8PLS5m+3D5Gad8y2Ysz7cXXnjBFeS22vE935HuWtx00007Peeu3ld1MO+99163WEp3ar71rW/ZBx98YBdeeKG786MKWxn6oIMOaqqE+/XrZ6+88oqdeeaZ7meqxJXh9fyiCPvGG29seo3rrrvO5QdVQDJo0CBbtGiRPfDAA3bOOedYINjxPb355ptdpa1Gxu/hhx92175s2TJ3h2bixImuot5nn33cv7/85S/daZoVFRWuoAdyeVLllpHdy4o2rg6Z8vT9U461j5dspjwFgHArT5LZq48VFS+x5BApT+eceqS9uzDPXnrpJcqTx8KyPGXn2KqVSdYrRMrTRacdbq/P3WRvv/12QJenTg8sevfu7S5CNISmTKuMtXHjRje3S1GnOvjNKcptThH//vvv3+JnBx54YIvvtdDkkksusXfffdeOOeYYl+nGjx/f9Htd6I70AWfl9rH8pSss6X8/U0TZXvsNybJFf/7OTj8f1ywCToqPsdSEGBdtumvatNUOGJrdYpuwg4ZlW0V1vW0oqbT+mdubknH9Ws6d65WeaAVl1e7/89aVuMdnXfJU0++1i0hdfb2LINtjx/d8xxMrlVlGjx69U7S6q/dVw5LNd9HREJkqBnfdixe7CLj556nhM1Ue+p2f8oS/0vY/R0FBgfu/7h7r+jT/T5m36drr693pk4Fix/d07ty5LqpvfmfFT9ejiluVsirsX//61/bpp5/abbfd5srLZ5995hZYBXJ5kqycXFu/Ltmy/3dDkvK0M8rT3gnH8pSdnW2z5idZQsiUpwirq2+gPAWAcCxPmqUyzxdn1Q0RIVGeGnwRVhsE5amt2vxIf/Qqf/nLX+zuu++2u+66y0WamhuneV47LtjRz9tLw2WaK6ZhN2U2ZXhFvIqSd2fQ4CH28ZI51rthe/SpYajOsmNEq0zV2M6DiWOid3gOM2ts3N7KVNTUW256gn34h5Pc9wvLE2xJ1GA77TtnuQapPVp7zzX0qfmjWrPx8ssvt2l3nB0fs/2623fhu3oO//C57o7Igw8+uFMFFEjbgu74nirdGt5tfueleWEUDSPrLpEqeb0HugOgn6ky1/S2QC9PunO0aFayRf9vgVwwl6fVVXE2s66/fevbZ7q7du1Beep84VieNPVgRkyS5VXHBn15KqiJtqlV/ezIE09zHfX2oDx1vnAsT6rHoxNTbX11XNCXp4r6SHtra1/b/8gT3EhTMJcnvzZP6PLPtxMNL5522mlucc+ECRNcJ0RDbHuiBVA7zsubPn36LjPNxRdf7IZZFVGrYO+J7jrEpWTY2m3x1p1G9U6z6SsKWsw1/WJ5gaXEx1jfjLYVtEkDetrmrdssOjLCBmenWmXqIDvkiKNdpNmexXG7i1yPO+44NxdPw1lahNZR+ix152bGjBlNP9Mir6VLl7p0t4UWlenOyKpVq2zo0KEtvjTkHKgmT55sCxcudJ2FHdPtL+j+eax/+9vfmippf8Wtr0AvT2qA0rN7B315GpqTapUp/W3K/ge5SpvyFHjCoTzpDnffwcNtbW3Lu7zBWJ6qkvrY8DET3BQjylPgCYfypLwybMwEW1fX9s1tArU81STlWr/Bw93i9kAvT50eWDSPYDVE9t5779kXX3zhhkh+9rOfucVBe6LMo7la//d//+cK+NNPP91icYgoEtb8vdWrV9vs2bPdkJ4uyu/oo49288B2pGGaEWMn2vq6nYf//OasLXZfFTV1VlhW7f6/aOM3i6O/XFloo3/7olug01aXHD3K1hdX2s8fn25LNpXaq7PW2vUvfW2/PHFM03y7PTlmbG87cGi2nXHXB/bkrAJbt7Xe3XX4wx/+4BZfdUYm07Duv//9b/f95s2b3Zd/V4jdva+tUR5QZaMhYg2f6s6HKh7Nx9TP20rzOnWX4u9//7urrDT09sgjj9idd95pgUoLzjRcrJ0yZs6c6YYvlWfPO++8pvdU8xU1pKt5vf5K+rDDDnN5WtcZ6OVJdytGj5tomxtTgro8/Wf2ZltS0mDbamopTwEqHMqTjBk7zkqbVlkEZ3l6be4mm1VoVtvgsz/+8Y+UpwAULuVJAWJ1ZGJQl6e35220zzeb1TRGuPU8gV6e2qrN40fNhzxVoSiK1xCW5tlpYYi2qtrTIRw6rENbYWmh0D333OMW/mju3vnnn9/0GF28CsaGDRvcSnYN5yiq9lMh8W+btiNlyP9Et57Rpvzx1ab/z1pdbM9MW2UDMpNt1d+275ZQVVtvS/O2Wl2zrcP2pE9Gkr3xm2Ptd8/OtEl/WGoZSXF2/uHD7A+nTWzzc6gT98ZvjrM//meW/frRqVZW+V/LzX3CFXTdNRFt06a7JCp4ze8m7IkKq/+uje5YNKfCrLsae3pfW6MK9he/+IWdfPLJblhU6dVWce05hExDocpDGm5VBaQ7KhpuVYUTqHQXS3dxfve737lCrPmmAwYMcHm1+a4Oqpy1G4b/89Ke76oMVSkHQ3nSXNzI+OSgLk+XP/yxbal4x31mlKfAFC7lSc+fkNIjqMvTRQ9+aiUV71GeKE+elyetmemR7V++HZzl6fx/fWbFFe+7GQL6PAK9PLVVhK+9+8UFuLfefMPKl023MzLzLKptAWTA2FwTY2+UDbSjTvnuTplCGUw7U6iAd+QQFaA9tLBv9cwP7Ls9N1h8VHBVFVvrouyl0gE2+YiTdpq7SnmCF7TF5+ypb9kZ6WstLeabO4jBQAtlXyjua4P2PdpNpWmO8gQvaETkozdetJNT11ivuG+2EQ4GDT6zl4pyLXXEgXbiSd8KqfLUbSdvd5cDDjzIyuOybXZZ63daA1F9o9knZVmWM3B4i10q/HSnRdu3BWMmQ/DSrhO+/2/vXsCqrPM8gH+5XzuA3O8XU64lkTe8ICJeUZTUMB2zmmy2sa00lWhq95mpXVudZ2bL+9im6U5qW45WmpNSZmuk5aZys1RSKxQUOBxAhMM57z7/P3ICB5qcc5CXc76f52EaXt6Xw/H5f+H/ey+/vyYYhXXq6YLyc4jTJYfr+sEjIFwuGnQz5ol6gxiL7v7hcmz2tVN6n9V5yd8FXXWiYZ6oN4gTsIFRA3BY5yfnUH3J/+k85Vx12PDOnbKsIU9Wd8Wi/azQl4c+QLbXBfg7//wHTnrT59o7UObQH7PmPqiqVnZE8qzQ3l3I9LiAKLe2hYLUrqjeHUdbozBt1lxTJxQiNRArO7/39psY7ngeSXdcQ19wvskFBxujMDYrx9SGlEgNxIKA72zfhnjDOQz37rzYnVpVtTjhvboIDE6ffMudoPoCq7tiIYjOBb7hA/BJnZ+83KR2l5qdUKIPxJCRY1hUkCrPCkXE3Y0j9f6mvuFqvwXqy6YAJN2byqKCVEeMycSU4fiiKUCOVbUTmT9SH4DIuLv/5hZdot7m7e0t505iDiVuJ1c7g7ya7ifnqGKuao2ssrAQDyilZ4yDziUQx+pubzuyWyW6AYhboAKiYk2rTxKpiXjYLC1tDIyaEPyv1lvVt3CIX9qfaPvBIzASQ4YM6e0fh6hL4kFW94BIOVbVfPJLZF1k3qgJxui0tE4LgxGphZg7BUQNlLdEiTmVmh2ruwM6lwA5R+34ML01sc53daPDwfC0DJQYQnBSd+sLt9wOeqMd9tf4Q68Jl4OMv7RJrUQ3kLRxE3DBIRSfaTWqLC7E+kMFNf1Q7RaGsZkTb6n7C9HtJMZmxviJqHYNxUc1/eTYVRuRcZF1kfkxmW0dgYjUSMyd0jMy0aKJwP5qfzm3UqOTOg+UGELl3FTMUa2VVT5j0ZFoNSdWdWxfUTHC1wPzR92J/OxBcLxphcV26w6U4vf7iuUiJoPCffDKg6ly+ffubDl8Br/c9GmnbS5ODrj2+gLT5+KfWfQ7fu3jr6G91oLUAYHInTEFzpH3YGrObLlEPZHanT59Go8s+AUKjx1XXabio0Nx35z5WPDor255hW2i3nDx4kXMuX8WCo9+obo8JUWHIHv2A5j9i4flysxEanflyhXkTJ+GI4VHVZenQTHByJo5B5NzcjF48GBYM8utg65SYiXD4cOH477J4xBv9z0unPsG/7y1UA64Z7P/9v62nZ+X45k3j2HdwyMwrL8/Xtlfgskr/4qylTMR4OXW7eto3JzkPu1uvvqwam8RVn9Yis2PjUaorwZP7CjC83/6C7744jcsKqjPEBMM/6BQJMY34MV5aRjkXocPTn7Xq5l6beFoXHEJw8YPjuNPm7diaf7zFn7XRD1D9PoPCYtAUn098ueMxVDPavy1l/O0eeFoaF2D8MreE9i45c9Y9vxvLfyuiXqGmEuFhkciSVePJfdnYIRnFQ6e6v08NXsE4OV3T2DDljex9PnfwdpZ7a1QHYlFRzKnzUSFVyLiUlKRkRCC97662OW+//lBMR5Nj8XDaQOREOqD9Q+PhLuLIzYf/ukl7MWgCvJ2N30EdhiQonIVg/U32YMwPOlOlHsk4JFfPYH6+oYul7gnUjPRAi8oJAxXveJx2i4SD6YnYlxi72Rq8dR7YB81BM7Rg/Hn7TtQVVWF3bt3W/w9E/UUT09PWVw0+SfglF0M5oxJ6rU8LZ2aDOeoFLSG3Yv/2vKGXESLeaK+xM3NDWHhEbAPvQtf2Q3AfaPv7rU85U1LhiZmEHSB9+DVtRtQXV2NPXt+XLjPWtlEYSGIll5jJ8/Ad+4DUANPNLS03QHmMP91eVlLaGk14Pj5ajkI24ll2sXnhWev/OT3b7iuR/TTOxH51E7M+ONBlHz/49Lx316pl5fYAiIH4H1dBFwjk/HAgw9h2LBhKCws7LH3TNSTk6FJ02ehxicOb9eEw2DvjJYbjcRvR6bOVbVlyhB2L/QBiciemYvExERmivrsZEiMYTGWd9dGQG/ngubbmKdyU55SUOsTJ7Mt1qtgnqgvcnFxwYxZuXKuJeZc1+1cb2uevr0x5zOEJss5p5h7ipXfbSVPNlNYCKJVnl9QGIq/+RbB/RNwqMYbA4O94OXe9pDn1fpmGIxKp8pTCNS4oVLbfb/x2GAvvLZwFP6yOBNb/ykNRqOCUb97H9/XNMqvl15pWxHyqnc8hmZkYXrOTNlWVlxJuXz5co++Z6KeIp5jmJU7FzWKOz4t/R5R0TFobLWXeejJTNXqHfDORVe537CMKZh5/xzT7YTMFPVVYgzfNzsXjY4aHCn7DhHR/eVY7+k8NbTaY89FZ7lf0ohxmD1nnukZJeaJ+ioxx5o2PQdGd198XnYRoVEDUNns1ON5ajba4YPv2p4yiEkZjdkPzDet/WIrebL6ZyyE999/X55h1ev1MBqNmDt3LhYvXowTX3yO/KVLEORcA63+H1+oKHVAgPxoN2JAIBLz3sGqD89icmYGjjS2DeIp02ciPj7eIu+JSE2Zmj59OiZNGIe3aqux4dlHEO8piupWi2Uq9c5AxOXtQv7e80iflA29z3W5PSUlBY6ONvFrjGwoTzk5OciaNAG7tFVYnfdLJHg2QlHaTlBZ6m+UyNPze89jzKSp0N1YqG/EiJHybC+RNeVp1qxZyJ6ahfeqvsMflj+GeI8GKEqzRfMUn7cL/7LvW6RPyMJll7aF+tLHZsDDQ51dSXuSTfxFHjt2LNavXw9nZ2eEhISYJiIDBw5EcXExThedQIm2Gv6GajjY28lLWB1V6poQ6P3zWu01Gezx9TUP+AaF4eglAzLChmB8kg9Wrt6I5ubOA7myshLJyckWfKdEvZcpMb5LS0tRWnQC39RUwh916O9UKzNV+Q9mqsVohzPX3FDW5AXfkEicr7dD6vhs+br/+tsXZYY6LoLHTJG15Km1tVV2YRN52ltVAW+jDnc61ZiVp1YFKL/mirImDfoFR+JsnYLF6VkY4eqKF/9tBfNEVpsnUWCcOXMGpUWncKDiAjwbdOjvUG1WnkSb6AtNLihrugM+wRE4Xavg16MmYYiHB/79P34vn/kTr29rebKJwkJUjF2tGCr6couFisS9pOXl5SgtPoXw8DCs+7IBDlEB8HNogo+jHgdLLmFRZpzs693+4L/4/y2KHWr0jrjS4oSr4kPxhM7oAjsXT1yq3Y0pU9KQM2u2fJAnKCgIBQUFpkGl0+lw9OhRPP7447f7n4OoRzIlznSKZ5nEGBdtNEuKi/B5+TeICAvFa8e18O1/F/yc9Ojn2IKPSirw68wfr96JPLXeyNNV/Y08Gd2hNboBLh4Ij4tFXcMOpI0dh6SkJGaKrD5PYjIkxrp4dujSpUsoKS7G8TOlCA8LxabjdfCJ8YKfsx79HLrOkwFArciTyJLIlMEdtUY3GJ3cERLTH9r6t5A9dpzMLPNE1p4nsRhdbGys/BBtaUtKSlBcViTztPG4Dprotjz5OragoKQCi27Kk3hCo661bb5X3eKIqwY3VBvdYXB0g19oJLT1b2Na+jg5p7T1PNlEYfH32meuWLFCXnoW98Fdqa7FokWLMHjkGAT6BmH3u++i7roBLgnj8XqVBxzsFLz25jvw8tIgJ2sS4OiEfQcOITklBQmJSfB3csL27dvlwH3yySdN3QOefvppvPTSS/I1oqOj8cILL8hKdsaMGb39T0BkUeJ2v/ZM1dXVQddsxHPPPYeYuwYjwNcHBws+Qu11I5wTMrGlygOijYLIlLeXF3Kyp8Le2RUFRz7F4KHD5Iqq4o/EmjVr8MMPP2DhwoXyNZgpssU8NY4cifpmI/Lz83Hn3UNkng4cLDDlaXOVB8S5r02mPGXBztEFBz/9FEOGDpeFinhQfMOGDaioqGCeyKbnfKmpqahvNiAvLw9xycPg188LBw4ehLa7PE2bIvN04JMf/z6JE2qbNm2SeXrsscfka9h6nmy+sPj666/l5Kfdo48+iuvXr2PVqlXyIZtBgwbhrf95Ww4OcWnaYDBg/fZ34arxxbjpubL1Zmn5D9i8ZavcX3wuroB89tlnSEhIMH3f5cuXo7GxUQ48rVaLUaNGYf/+/XB1bXsIlcgaMyUeoFu6dKkc5+2ZEmdgt7yxVU5yRKbEL+GNO96Dm5cv7pv3sMxQyTflePXVV5kpsnkd8ySK7CVLlshbPNrzJHL0xtZtMlfi75M4W7rhRp6mz1kAX19flJ49j9WrVzNPZPM65kkUBaIAEFcHO+Zp67b/lnkSf5865mla7oNybbTScxewdu1a5slWV94mIiIiIqKeZ1PtZomIiIiIqGewsCAiIiIiIrOxsCAiIiIiIrOxsCAiIiIiIrOxsCAiIiIiIrPZRGEhWoI99dRTcsEU0eorMDAQI0eOlCszXrt2rdvjTp06hdGjR8tjwsPDsXLlyr/7WmJhsKysLLn4XkBAAJYtWyZblnV06NAhpKSkyFZn4mfasmWLRd4n0e3APBFZDvNEZDnMkwooVu7cuXNKUFCQEhcXp+zcuVMpLS2V23bv3q1MmTJF2bNnT5fH1dXVKYGBgcq8efOU4uJiZfv27Yqbm5uycePGbl+rtbVVSUpKUjIzM5WvvvpK2bdvn+Ln56fk5+eb9ikvL1fc3d2VJUuWyJ9l9erVioODg7J///4eef9ElsQ8EVkO80RkOcyTOlh9YTFx4kQlLCxMaWho6PLrRqOxy+3r1q1TfHx8lObmZtO2vLw8JTY2ttvXEgPL3t5euXz5smnb+vXrFY1GY/o+y5cvVxITEzsdl5ubK39OIrVjnogsh3kishzmSR2s+lao6upqfPjhh1i0aJFcsbQrYtVf4aGHHkJ6erppe2FhIdLS0uQKp+0mTpwoV22sra3t8nuJY8QS7+LSW8djdDodSkpKTPtkZmZ2Ok7sI7YTqRnzRGQ5zBOR5TBP6mHVhcXZs2flcuyxsbGdtosl2T09PeVHXl6e3BYcHIyIiIhO9+l1HDBC++fia135Ocd0t48YjE1NTWa8W6KexTwRWQ7zRGQ5zJN6OMIGHTt2DEajEfPmzUNzc7PctmLFit7+sYj6JOaJyHKYJyLLYZ5uP6suLMQT+OLSl7ic1VFMTIz8r5ubW7fHBgUFobKystO29s/F17o7Rgzinzqmu++r0Wh+8uch6m3ME5HlME9ElsM8qYdV3wrl6+uL8ePHY82aNWhsbLylY1NTU3H48GHo9XrTtgMHDsjLbD4+Pt0eU1RUhKqqqk7HiEGUkJBg2qegoKDTcWIfsZ1IzZgnIsthnogsh3lSEcXKnT17VrYRE+3HduzYIVt+nT59Wtm2bZvcLtqACc8++6wyf/5803FarVZ+XWwT7cfEsaJtWMf2Y7t27erUNaC9/diECROUEydOyJZi/v7+XbYfW7ZsmVJWVqasXbvWJtqPkXVgnogsh3kishzmSR2svrAQKioqlCeeeEKJjo5WnJycFE9PT2Xo0KHKqlWrlMbGRrnPggULlDFjxnQ67uTJk8qoUaMUFxcXJTQ0VHn55Zc7fX3z5s3KzbXZ+fPnlcmTJ8seyKKn8TPPPKPo9fpO+3z88cdKcnKy4uzsrMTExMjvQ9RXME9ElsM8EVkO89T77MT/9PZVEyIiIiIi6tus+hkLIiIiIiK6PVhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERGR2VhYEBERERERzPX/4EKa2RvWj2cAAAAASUVORK5CYII=\",\n      \"text/plain\": [\n       \"<Figure size 800x700 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"visualize_plan_tree(\\n\",\n    \"    info,\\n\",\n    \"    time_idx=None,\\n\",\n    \"    observation_description=generalized_tmaze_observation_description,\\n\",\n    \"    action_description=generalized_tmaze_action_description,\\n\",\n    \")\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": []\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \".venv\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.11.11\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/experimental/sophisticated_inference/si_graph_world.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Sophisticated inference on Graph Worlds\\n\",\n    \"\\n\",\n    \"This notebook demonstrates tree searching policies with sophisticated active inference.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We create a `GraphEnv`, where an agent can move between locations on a graph, and see objects at the location it is at.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from jax import numpy as jnp, random as jr\\n\",\n    \"from jax import vmap\\n\",\n    \"import jax.tree_util as jtu\\n\",\n    \"from pymdp.utils import list_array_zeros, list_array_norm_dist\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import networkx as nx\\n\",\n    \"from pymdp.envs import GraphEnv\\n\",\n    \"from pymdp.envs.graph_worlds import generate_connected_clusters\\n\",\n    \"\\n\",\n    \"graph, _ = generate_connected_clusters(cluster_size=3, connections=2)\\n\",\n    \"env = GraphEnv(graph, object_location=4, agent_location=0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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pYZKXb7UUKl1K4HS9PdDi+N/8MEHpuOS7p0EAJxCoETI08452kFHl7+vu+46EyrHjBlj9bAQILRQubZS1PJACxYskFGjRlk9JAAIOI4i3RQEQFwulwmUGhr0pr3AEdq0leJll10mu3fvliVLltBKEQA8IFACpeTn58v48eNNfUENENpKD6GpdCtFLVjerVs3q4cEAAHLafUAgEASEREh8+fPl8GDB5tlzo8//tjqIcGiVooXX3yxOYijrRQJkwDgHYESOI3uoXz//fdNoNBlb907h9Ch/74vueQSady4MX25AaCCCJSAG9pBZ9GiRdKjRw8ZMWKEbN682eohoQYsX77czE537drVzE7TlxsAKoZACXgQFRUlH374oSQmJpq9dF9//bXVQ0I1t1LUE9xDhgwxeyYbNGhg9ZAAIGgQKAEv6tata2at2rdvb2audG8d7EdrkeoJ/0mTJpntDvTlBoDKIVAC5ahfv76sWLFCWrRoYULljh07rB4S/NxKUftya1/3uXPn0pcbAKqAskFABR05ckQGDBggx44dkw0bNki7du2sHhJ8oCe477rrLnn55Zflz3/+swmUAICqIVAClXDo0CHp37+/6aqjobJVq1ZWDwlVbKWoS9wLFy6UV155RW688UarhwQAQY1ACVTSTz/9ZMrKaB9wDZXNmze3ekioYivFd955h1aKAOAHBEqgil1UNFTq4Y3169dTXibIWinu2rXLdELSf4cAAN8RKIEq0v7OGkhiY2NNzcJGjRpZPSR4kZSUZMo/HT9+3ByyovsNAPgPp7yBKtJSQmvXrjWHdbR24dGjR60eEjzYvn279OnTR1wuF60UAaAaECgBH3Tu3FnWrFkj+/fvl2HDhklGRobVQ8JpPvvsM+nXr59ppfjpp59yOh8AqgGBEvBRly5dZOXKlWZfnu7Py8rKsnpIOK2Vov470m0JTZs2tXpIAGBLBErAD84//3zTru/bb7+VK664QnJycqweUsgrbqWogVL3TNJKEQCqD4ES8JNevXrJsmXL5IsvvpAxY8aYWpWwxgsvvGDqTOqNVooAUP0IlIAf9e3b15Sj0fqU48aNk7y8PKuHFFK0aMVjjz0m9957r0yfPl3mzZtHK0UAqAGUDQKqgS6x6nLryJEjTfFsQk31o5UiAFiHQAlUE52pHDt2rJmpfOONNyQsLMzqIdkWrRQBwFpMmwDVRA/nzJ8/X66++mqJjIyUuXPnitPJLpPqaqWo9SUXLFhAK0UAsACBEqhGV155pbz++utm9qxWrVryj3/8w/QAh39oUfkRI0aYkk1auolWigBgDQIlUM2uvfZasyR70003Se3ateX5558nVPq5laL2U+/evbvVQwKAkEWgBGqA7unTE9+33367Wf6ePXs2odLHVoramUj/LHWpm+43AGAtAiVQQ6ZMmWJqU953332mLuITTzxh9ZCCtpXi5ZdfLi1btjTF5Ol+AwDWI1ACNUjrI+ry90MPPWRm12bOnGn1kIKKBkjdl9qjRw9ZvHgx3W8AIEAQKIEa9uCDD5qZykceecSEygceeMDqIQWFf//733LDDTeYQzha25PuNwAQOAiUgAW0m4uGSu3mogd1tCA3PHvxxRflnnvukcmTJ5s6kxSKB4DAwt/KgAX0QM5TTz1lQuXUqVPNTOUtt9xi9bACjvZdmDVrlvz+97834Vs74HCYCQACD4ESsIgGo+eee87sqbzttttMqJw0aZLVwwoYtFIEgOBBoAQsDpW6nKuhUpdzNVSOHz9eQl1xK0XtfDNv3jxaKQJAgCNQAhbTdow6C6chSouga0cdbSUYyq0Ux4wZI59++qkJlKNHj7Z6SACAcjiKdJMSAMu5XC4TKD/44ANzu+yyyyQUWynqz71z505TFqh///5WDwkAUAEESiCA5Ofny7hx40y9xQ8//FAGDx5s9ZBqtJWidr85duyY+flppQgAwYNACQQYXfrWJd+PP/7YBKtLLrlEQqWVoi73r1q1ilaKABBknFYPAEBZejDn/ffflz59+pgWg9pq0M4+//xz6devn8TFxdGXGwCCFIESCEDaBWbRokVy3nnnyfDhw2XLli1iRzoDe+mll0piYqKsX7+evtwAEKQIlECAio6OlqVLl8o555wjQ4cOlW+++Ubs5O2335YrrrjCBMqVK1fSlxsAghiBEghgdevWleXLl0vbtm3NAZ3vv/9e7EBrb06cONHctDQQfbkBILgRKIEApzN3K1askGbNmpnZPC2pE6z0DODvfvc705f7/vvvN0XL6csNAMGPU95AkEhJSZEBAwZIRkaGbNiwwcxaBlsrRe1b/o9//ENmz54tDz74oNVDAgD4CYESCCIHDx40ZYS0CLoeYklISJBgKYWkfcr19Porr7wiN910k9VD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\",\n      \"text/plain\": [\n       \"<Figure size 640x480 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"nx.draw(graph, with_labels=True, font_weight=\\\"bold\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's create an agent, we give the agent a prior on the object location to showcase the planning depth and pruning. We let the agent start at location 0, and give it a prior about where the object is (location 4).\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from pymdp.agent import Agent\\n\",\n    \"\\n\",\n    \"A, B = env.A, env.B\\n\",\n    \"A_dependencies, B_dependencies = env.A_dependencies, env.B_dependencies\\n\",\n    \"\\n\",\n    \"C = list_array_zeros([a.shape[0] for a in A])\\n\",\n    \"C[1] = C[1].at[1].set(10.0)\\n\",\n    \"\\n\",\n    \"D = [jnp.ones(d.shape[0]) for d in env.D]\\n\",\n    \"D[0] = D[0].at[0].set(100.0)\\n\",\n    \"D[1] = D[1].at[4].set(100.0)\\n\",\n    \"D = list_array_norm_dist(D)\\n\",\n    \"\\n\",\n    \"agent = Agent(A, B, C, D, A_dependencies=A_dependencies, B_dependencies=B_dependencies, policy_len=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can call the `si_policy_search` method and visualize the planning tree.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from pymdp.planning.si import si_policy_search\\n\",\n    \"from pymdp.envs import rollout\\n\",\n    \"\\n\",\n    \"key = jr.PRNGKey(0)\\n\",\n    \"last, info = rollout(agent, env, 5, key, policy_search=si_policy_search(horizon=3))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Given the agent prior, it should commit to going to location 4, expecting to see the object there.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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tr8jzJcNFcF0pzS/P47WanqizBcp1atX16kQGBio5557TjfccIMiIyN1umG6WQDwYOZbuq+++krz589XUFCQHWx9Km7wzTXMtcw1582bZ8tgygJ4ItNSYUJFr8AtGlZlw0l/mOuY6x1PC8nNN99sb7B//fVXnXXWWapdu7YGDBig33//3bZmPvTQQwdN6vDPf/7TdpWMj4/Xm2++6dpnvnkfNWqUPYdp9TStkrfddptrv2m5vPvuu+37zPvNFwumO1KJ0aNH2y5JP/74o+0yac7xwQcf2Jvyffv2lSnH7bffbls+DfNlhSmTOW9wcLDtcmlCUukWg+nTp+u1115zdd3cvHmzvbZ5Xvrc5ksPMybMXNt0MXrppZfKXNdse/rpp3XNNdfY1lhT1/fee++on3Pfvn1tiDGtFkdytOvv3r1bQ4YMsb9DTQj87LPPDjqHqc91111nu7KaVmPzOS1ZssS13zw3XcBM+c3+Dh062L8FJxPBAgA8lPmGcuzYsbZfsbnJN90ATuWganMtc01zbVMGUxZTJsBTRfgVKNr/5D/MdY7H3r17NWnSJN100032RrU0cxN8+eWX2/BfuqvOCy+8oDZt2mjRokW2W4+5wf/tt99cN8WvvPKK3n33Xa1bt8529TE3+SVuueUWzZ49W19++aWWLl2qf/zjHzr33HPtsSWysrLsN/smUJiWE1MGEzbMuUu3ZJhymX2GCVLm5njixIl24onrr79eV155pf766y+73wQK0yozcuRI+0WGeZgZ6w60YMECXXzxxbr00kttl00Tkh555BEbeEozN/sdO3a0n4H57G688UY7juxIfHx8bCB5/fXX7QQZh3Is1zchyXRdM91Kv/32W7311ls2bJRmPlezzbQ4mXO2b99effr0sf/ehvnczGQa5ssds9/8O57sL5boCgUAHsj88TM3Aebm3tzYV+QsTSWtF2Y6259++knnnHOO7Y4B4NQwN/QmNDRr1uyQ+812E/7N/6Omq6TRvXt31zgB8//rzJkzbZjo16+ftm7dagOJ+Xbe/P9tvs3v3LmzPdbs+/jjj+3PkvFVpvXCjOsw281Nt2G6S5qbZRNeSpgb7c8//1zXXnutfT158mT7rfyFF15oX5uWCnOuErfeeqsNTF9//bW9vvkiw7TKmNaMI3V9evnll+0NuLmZL6mfmdTChClzQ19i4MCB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MU2UnpFny368XaK+//57dezYUREREXa2KrNGxn//+99yLR8A4PiwjgUAuLnNmzfv7wIV2VS+vuV78+/l5a2I8HDX8/Jkylo1sqFWr16jRo0aqV69esf83qioKD300ENq2rSp/P39NWHCBI0YMUKxsbHq379/uZYTAHBsWMcCACqIGbfwr3/9S+PGjVNYWJjuvfde/fDDD/bb91dffdUek5KSottvv13jx4+3C96dddZZ+s9//mNvxEuMHTtOiTvSVbNGO428ob9279nh2hcbU0PvvzvJPv/5l6807ofRSkreqdjYmrr4ouvVu9eQw5bvtdcfUmZmupo1ba8ffhyjgoJ8nXnmubrumvtsC4aRkZGq9z98TvPmT1N+fr5atuigkdc+oBo16pTp+vT5l28qLW2f2rXtpubN2uvrb97V55/Osvu3JyzStoSVmjRpklauXKkaNWro6quvtsHB1/fYv/9q3769Bg0apCeffPK4/h0AAOWDrlAAUEHuuusuzZw5Uz/++KN+++032yVo4cKFZY4ZPny45s+fb4+ZPXu27TI0cOBAexNvJCUlafv2HQoPi7evX3z+C/vztlue1OgPp7pez54zWR989KzOG3q1/vPqWJ17zkX6zxuPaOmyv45YxmXL52nnrm369xMf6vbbntKUqT9qytQfXPtfe/1hrd+wQg898Lqef+ZTma+qnnjqJhtCjDVrl+qNtx7ToAH/1Ksvf6NWrTrr62/fLXONxJ3JNkhde+21Nli8++67Gj16tJ566qlj+hzNZzJ58mStWbNGPXv2PKb3AADKH8ECACqotWLMmDF68cUX1adPH7Vs2VIff/yxCgsLXcesW7fOBooPPvhAPXr0UJs2bfTZZ58pISHBtnIY5ka8uMhXoSEx9nV4eJT9GRJSRZGR0a7XpqXi7N7naeCASxVfo64NGF3P6GO3H0loSJiuv+5B1axZX506nqWOHXpoydK5dt+OHVv017xpuuWmx9WieQfVq9dEd935rJKTd2vuX1PsMRMmfqp2bbvrgvOvsdcdMuhy+7q0H3/8Un37nKvWrVurfv366tevn211MAHjSFJTUxUaGmq7QpmWitdff92+FwBQMRhjAQAVwEyzalodOnfu7NoWHh6uJk2auF6vWrXKdgXq0qWLa1vVqlXtMWaf6Rq1atUahYbEyctM23QE2xM2qv85F5XZ1qxpO42f+OkR31erVgP5+Pi4XkdGxmjLlnX2+bbtG+Xj46vGjVq59odViVB8fF27b/8xm3RGl7PLnLNpkzZatGim6/XmLWu1avUi/fb7z66uTyZg5eTkKCsrS8HBh16Po0qVKlq8eLEyMjJsi4VpATLBpFevXkesEwDg5CBYAIAbr1uRnZ2nmPgaJ+0aB45x8JKXiouLyvUaOTlZuvTiG1SrTpR69DhDDRs2dO0LDAw87Pu8vb1dx5pxKSZsPfPMMwQLAKggdIUCgApgvln38/PTvHnzynTtWbt2ret1s2bNVFBQoLlz93c9MpKTk+1YgubNm2vXrl3y8w2Vr2/AQWGgqKjszX/N+Pq2VaA087pWzQYnXIdaNeursLBAa9ctc21LS9+nhITNrvPWqllPa9f+vb9k3EVp9es1U+LO7aoRV1cBAQE2LJQ8THg4VqbOphUHAFAxCBYAUAFMNx4z89E999yjqVOnasWKFXbwsrmRLunWZGZ+Ou+88zRy5EjNmDFDS5Ys0RVXXKH4+Hi7fefO3fL3Cz3o3LEx8Vq6dK5SUpLsrE3G+cOG20HXZmYoMzbCzPJkBnQPO2/4CdfBzPzUpXNvvfn2KK1ctVCbNq3RK6/er6pVY+12Y/DAy7Vo8UyNHTfaXnfiT59r4aIZZc5zycX/0tRp4/XLpJ81f/4C2/Lw5Zdf6uGHHz7stU3LhBnwbrqUmeNfeuklu46F+XwAABWDYAEAFeTll19W165dNXjwYPXt21fdu3e3rRSlu/+YAd0dOnSwx5hjzQxIP/30k923d2+KAgOqHHTeEcPv1uKls3Xt9f105/9dbLed0aWPrrvmfjtY+9Y7humXX7+1M0e1atnJUR3MORrUb65/P3WL7n3gCjsr1KMPveWajrZJkza6+cZRdizH7XddpEWLZ+vii24oc4727brr4Qff0OrVy/XQQw/qjDPO0CuvvKI6df6esvZAmZmZuummm9SiRQv7uX333Xf69NNPdd111zmqDwDgxLGOBQBUEuZm2bRGmG/fTevFkSQmJuqbb75X9dj2hwwX7ignN107dy/UxRdfqOrVq1d0cQAAx4nB2wBQQRYtWqTVq1fbmaHM+IonnnjCbjfdnI7GrF9RVOSlAP8QeQpTF1OnPXv2ECwAwA0RLACgApl1LMxgbLMWg+nyZBbJi46OPur7srOz5ePtLy8vz+nRauri4+Nvp5kFALgfggUAVJB27dppwYIFJ/Res86DJ4WKEl7ytjNhAQDcj+f9VQKA04Bdofsoi+K5IzMjVunVxwEA7oNgAQBuyK7v4IFzb5j5REqv9A0AcB8ECwBwQ/tXxC7fFbArA7OqN8ECANwTYywAwA2ZFaoLC/PtN/wlC+qVeO31hzRl6o+uABIdHafevYboHxeOlI/Pwb/2V6yYr7E/jNb6DSuVkrJHD9z3ql334miWLZ+njz5+QVu3rVd0dHVdfNH16nP2sDLHTPz5C40bN1op+5JUt24TXX/dA2rcqNUhz2fqUlSUb+sGAHA/tFgAgBuyM0d5FSkvP+uQ+82ic6M/nKq335ioYUOv1pdfvW1Xvz6UnNxs1a3bWDeMfOiYr79r13Y9+dTNdoG9V1/+VkMHX6E33hqlhYtmuo75c8YvNniYlbVffvFr1avbWKOeuEH79iUf8pymLl5eRcc0KxYAoPIhWACAGzI3374+3srJST/kfj8/f0VGRis2toYGnHuJ2rQ+Q3/Nm3rIYzu076ErLrtNXc84eitFiV8mfa1qsfG6ZsQ9qlWzvgYNvEzduvbTj+P/6zrmh/Gf6Jx+F6pvn/NVu1YD3XjDowoICNLvU8Ye8pw5OWny8fEmWACAmyJYAIAbMt2FwsLDlJubdkzH+/sHqKAg3z4/74JWmjxlnKPrr167xIaV0tq17aY1a5fY5/n5+dqwYWWZY8yAc/N6zZr9xxwoNzdd4RFhdIUCADdFsAAAN1W9eqzy8jKOeIwZt7B4yWwtWjxLrVp1sdvi4+sqOLiKo2vvS0lWRETVMtvM66ysDOXm5igtPUVFRYWHPCblMF2hcvMyVL16NUflAgBUHAZvA4CbqlatmlauWGcHcfv4+JXZN2/+H7rkss52sTkTLnr2GKh/XnKj3ffW6+NV2Zg6FBRkKDY2tqKLAgA4QQQLAHBTDRs21IwZs5SWvlOREbXK7DODqm+84RH5+vopKirmkLNBORERWfWgQdjmdXBwqAICAuXt7WMfhzom8oBWDCM1baf8/L1tnQAA7omuUADgpoKDg9WoUUOlpe+wrRKlBQYGKS6utmJi4so9VBhNG7fR0mVzymxbsnS2mjRuY5/7+fmpQYPmWrp0rmt/UVGRli6doyZN9h9TwpQ9PSNBjRs3tHUCALgnggUAuLGWLVuoWLnKyk455vfcdOsQzZ4z2fU6OztLGzettg9j1+4E+3zPnkTXMZ98+qpeee1B1+tz+1+snbsSNPqTl7V9+0b99POXmjHzVw0dcqXrmPOGXKVff/9OU6b+oG3bN+qdd5+0U9v2PWCti/1lz1OLFi1O+HMAAFQ8ukIBgBurXr26YmOral9KgkKCo47pPQkJm5WV9fc0tes3rNDDj17jem3WnjDO7j1Ut9/6lA0ee/bs1N69u1zHVKtWU4889KY+/Ph5jZ/wqaKrVtMtN42y62eU6HHmuUpL26vPv3jTLpBXr15TPfbIO4qIKDudbGrqdsXEVrV1AQC4L6/iA9vPAQBuZdWqVfp10hRVi2mt4ODIcj9/Zmam/RkSElLu587KStGuPUt1Tv+z1axZs3I/PwDg1KErFAC4uaZNm6pO3XjtTlpjp3h1F6ase5LXqE7dmrYOAAD3RrAAADfn5eWl3r17yz+gSHuSN8hd7ElaL/+AYvXu3cvWAQDg3ggWAOABwsPD1b17V2VlJdruRZWdKWNW9k5163aGLTsAwP0RLADAQ7Rs2fJ/XaJWKb8gR5WVKdvupNW2C5QpMwDAMxAsAMBDmO5Effv2VWRUsHYkLlFBYZ4qm4KCPFu2yKgg9e3bhy5QAOBBmBUKADxMamqqPv54tMaNG681q9coee9uuyJ2XPXa6nXWYDuNbEBA0CHfu3nzGr37/tNat365wsIiNXjgZep/ziVHnBXqvQ+e0erVi7Rl63rVqllfr778bZn9Zl2M6/917kHvmz17ts4444xyqTMAoOKxjgUAeJjk5GQ9++wz8vb21rkDhqhtqz4KCqqiLVvXadKv3yoqKlZdOvc+6H1ZWRl67Ikb1Kb1Gbrxhke0ees6vf7Go/L1DVCfAxa1O1CfPudr7dpl2rJl7WGPufmmu9SocV31799PERERqlq1arnUFwBQORAsAMDD3HTTTfLz89Nff/2lKVOmKmlPsoKCItS5U2916Xy2DtdQPf2PiSooyNetNz9p31+7dkNt2rRaP/3yxRGDxfXXPWB/pqWmHBQszLXS0/cvrFcjvqquuWa4qlSpUq71BQBUDoyxAAAPa6349ddfdfPNNysuLk4XXXShWrdpqn3p65WQuNQOnC4Z1/Da6w/poUdGuN67es0StWjewYaKEu3adldi4hZlZKYdd1nMtcw10zK22Ndvv/22GjRooDPPPFM//vhjudQXAFB50GIBAB5k/fr1tpWgSZMm9nVAQIBd4+LCCy9UVlaWTGNF3z5Ddf11DysyMkZFRX+3Xuzbl6RqsfFlzhcRsb+7Uuq+ZFWLjTumMhQXFyk1LVEp+zYqIjJUw7oPUVhYiLp37267Z3333XcaNmyYxo0bp6FDh5Zr/QEAFYdgAQCngfnz5ysnJ2d/wMhO0uZtszVgwBBFhJUNEk4UFhWooCBXW7bNlrdPkW0p6datmw03bdu2dR3XqVMn7dixQy+88ALBAgA8CMECADxIw4YNbVenNWvWlNlev359+7NatWpq0qSxOnZsqZUrVmvbju0K9I9UlSrVFRYeqX2pyWXet2/f/tfh/2u5OFB+Qa5yclKVlr5TaenbVaxCdejYUs2bN1dkZORhy9mlSxf99ttv5VBjAEBlQbAAAA9iZlrq16+f3njjDd16662HnCI2MDDQdkvq3Lmz7Tq1bOly7d6zRrGxVfTTT9O0ddsCBQdHyt8/RPPmT1H16jXl61usjMxkFRUVKC8vU7m56covyFRRcb58fb0VGxOtBg3qKTExwZ77aBYvXmzHgAAAPAfBAgA8zFtvvWVv7jt27KhRo0apdevWdmzDvHnztHr1anXo0MEe9+ijjyohIUFjxoxRZmamevTopilTftP34z6x4zI2btykXyZ9oyFDzlNyygoFBgRoydIlmjDhR33wwYeKjW2s6OhopaWlqaioSFOmTrbdrUxoMEyrhb+/vz2/+dmuXTu7/fvvv9dHH32kDz74oEI/JwBA+WKBPADwQImJiXr66ac1ceJEbd++3Y5zMDf6//jHP+x0tMHBwRo+fLg2b96sadOmud63dOlSO6OUCSEmNNxwww3q2bOn3WeCyueff67rr7++zJS1vXr10vTp0w8qw6ZNm1S3bl0bLJ577jlt2bJFvr6+atq0qe655x5ddNFFp+jTAACcCgQLAMARmfUwDNN1CgCAw2EdCwAAAACOESwAAAAAOEawAAAAAOAYwQIAAACAYwQLAAAAAI4RLAAAAAA4RrAAAAAA4BjBAgAAAIBjBAsAAAAAjhEsAAAAADhGsAAAAADgGMECAAAAgGMECwAAAACOESwAAAAAOEawAAAAAOAYwQIAAACAYwQLAAAAAI4RLAAAAAA4RrAAAAAA4BjBAgAAAIBjBAsAAAAAjhEsAAAAADhGsAAAAADgGMECAAAAgGMECwAAAACOESwAAAAAOEawAAAAAOAYwQIAAACAYwQLAAAAAI4RLAAAAAA4RrAAAAAA4BjBAgAAAIBjBAsAAAAAjhEsAAAAADhGsAAAAADgGMECAAAAgGMECwAAAACOESwAAAAAOEawAAAAAOAYwQIAAACAYwQLAAAAAI4RLAAAAAA4RrAAAAAA4BjBAgAAAIBjBAsAAAAAjhEsAAAAADhGsAAAAADgGMECAAAAgGMECwAAAACOESwAAAAAOEawAAAAAOAYwQIAAACAYwQLAAAAAI4RLAAAAAA4RrAAAAAA4BjBAgAAAIBjBAsAAAAAjhEsAAAAADhGsAAAAADgGMECAAAAgGMECwAAAACOESwAAAAAOEawAAAAAOAYwQIAAACAYwQLAAAAAI4RLAAAAAA4RrAAAAAA4BjBAgAAAIBjBAsAAAAAjhEsAAAAADhGsAAAAADgGMECAGD98ccfGjJkiGrUqCEvLy+NGzeuzP7vv/9e55xzjqpWrWr3L168uMLKCgCofAgWAAArMzNTbdq00ZtvvnnY/Weeeaaee+65U142AEDl51vRBQAAVA4DBgywj8O58sor7c/NmzefwlIBANwFLRYAAAAAHCNYAAAAAHCMYAEAAADAMYIFAAAAAMcIFgAAAAAcY1YoAICVkZGh9evXu15v2rTJrlWxc+dOVa9eXXv37tXWrVu1Y8cOu3/NmjX2p9lnHgCA05tXcXFxcUUXAgBQ8aZNm6bevXsftH3QoEF69NFHtXLlSo0YMeKg/Y899phGjRp1ikoJAKisCBYAABfzJyE1NVVJSUnat2+fCgoKXOtW1K1bV76+voqIiFB0dLTCw8PtCtwAABgECwA4jZk/AYmJidqyZYuSdu9S0q4dys/JkgryFOyVL1+vQhXl59pjvf0CVFDso6xiP8nXX36BwYquVkPRsdVUp04dxcXFETQA4DRGsACA01BeXp7Wrl2rlcuWaN/uBIUWZSraO1MxfnmK9s9XVb98Bfrs//OQmZlpf4aEhNifOYVeSs73U1Ken/bk+2tPUYgyvUMUERuvFq3bqlGjRvL396/Q+gEATj2CBQCcZgO0Fy1apHUrl6owc5/q+KSoRWiGqvvn63CNDQcGiwOZvyKJuf5amRmiLYWR8gmJUKPmrdWuXTuFhoaezOoAACoRggUAnAbMr/rVq1drzp9T5ZuxW80C96pJSLZCfIqO+t6jBYsyxxZ4a01WkFblRKkgNFZde56tJk2a0EUKAE4DBAsA8GC9evVSixYtNGjAudq+foUa++xWl/A0BXgf+6/+4wkWJXKLvDQ3NUxrC6upZsPm6tmrN60XAODhWMcCADxYdna21q5epW4Nqqp/2B7VCsw76dd8+/dVenfKam3ekyETX6pXi9XgoefpplvvsOMvAACeiWABAB5qyZIl2rc3STWD8nVB9I7jaqVwomZUiJ6+uKMaVQ+z4y8++nO9XnnrHYWHBOn8S69UmzZtTkk5AACnFsECADzQ/PnztXDmFIUqVzUDcl2hIiUzV3f8d44mLNqm3IJC9WxaXa9deYYaVQ93vXfm2l165JsF+mvjHgX4+qh93Sh9fG3XY+4KNaR97TKvn724gz6YskoFWxdr7rRYuzZGhw4dyrnGAICK5l3RBQAAlH9LhQkVnfy3q4pvoVRq3PSI9/7Ugk3JGndXX818dLBtURj84m/KL9g/iHvxlmT1e/YXNYuPsPv/eGSQBrSqoaL/Dccb/cc6+Vz50TGXpbCoSF/O3qjM3AJd2jpMnfy2a8GMybaMAADPQosFAHiQdevWae7039TWN0FtqmSW3bczVeMXbtWfjwxSt8bV7LZPbzxLde74SuMWbNE/utTTCxOXqWO9qnpzeLf9byqW6kT4uZ6HB/upSdzfrRuHs2zbXnV/fIJy8gsVGuin727vo+bxkWYouPJTE2wZg4ODGXMBAB6EYAEAHrRGxYypv6mhEtUhLOOg/at2pMrXx0tdGsa4tlWtEmiDwuod++zrJVv26qLOdV3796XuU2Zmln1uujCd37GufRyNOefCp4YpNStP3/212baUTH1ogA0XpmwZKYm2rGa1bmaLAgDPQFcoAPAAZubw6dOmyj9jp7pGpB52sbujCfL3KfPa18fXBgrz8PU99u+i/H191LBamDrUi9bTl3RUm9qR+s+klXafKZspoynrH9On2bIDANwfwQIAPIBZ/C5h/QqdGbbnsLM/NasRroLCYs1dv8e1LTk9R2sSU+2YCqNVrShNWbnDtT8wKFC+Pj72ERgYdMLlKyqScvMLXa9NGU1Zt69boTVr1pzweQEAlQfBAgA8oAuUWVHbLH53pHUqzMxPQ9vX1g0fzdSMNTu1ZEuyrnxnuuIjQ3Re+zr2mPuHtNa8jUm6efQsLd26V+t3Z+iLBYnKLPSSr6+Pxs7frOb3fnfE8jz41Xz9sXqnNu9Jt2MtzOtpqxN1WbcGZY4zZW3ss0uz/5hi6wAAcG+MsQAAN7do0SL5ZuxWl+i0ox770fU97HSzQ1/+XXkFherRpLom3N1Pfr77v2dqHBeuX+7tr4e/WaAzRo1XkJ+POjeI0XV9Wtn9qVn5toXjSHanZWv4u38ocV+WwoP81bp2pH6+p7/6tYo/6FizCvi2pN22Dj169DjhzwAAUPG8iuncCgBuKy8vT59+/L5aF65R+7Cys0C5i4VpIVrq00RXjBgpf3//ii4OAOAE0RUKANx8etnCzH1qEpItd9UkONvWwdQFAOC+CBYA4KZMg/OKpYtVxydFIT77F7hzRyG+RbYOK5ctYYYoAHBjBAsAcFOJiYnatztBzUPcswtUaaYOKbu22zoBANwTwQIA3NSWLVsUWpSpuIDDzwTlLkwdQooytXXr1oouCgDgBBEsAKASmTZtmry8vLRv376jHrN540ZFe2ee8GJ4p8K0VYnyufIj7cvMPeIxvld9pKCcZO3ZtfOUlg8AUH4IFgDgZrp166YdO3YoO2OfYvzcv7WiW6NYJbx+qeqEeSlp1w7H4yyOJZwBAMofwQIA3IyZkjUoKEgFudmK9s+Xu/P39VH1iGDFBBQoPydLaWlHX48DAFD5ECwA4BTKzc3VbbfdptjYWAUGBurMM8/UvHnzDjpu5syZat26tT3mjDPO0PLly8t8Ix8ZGams9FRV9Tu2YDH6j3WKuuFTTVq6XS3u+05h132iAc9PsovYlSgqKtaTYxep9m1fKmjEaLV/aJx+Wbr9yPXJL9Ttn8xR9Zs+V/A1Y9TzyQmat3HPwfVZt1ttHxxrj+k2aryWb0s5qLuUb16GVJCnPXv2aMaMGXbBPBOgatWqZT+zzMzMMp/jfffdZ/cFBASoYcOG+vDDD7V582b17t3bHmM+I9NyMXz48GP6jAAAzhAsAOAUuvfee/Xdd99pzJgxWrhwob0h7t+/v/bu3VvmuHvuuUcvvfSSDR0xMTEaMmSI8vPLhoggr3wF+uzvNmRuzE14OJKs3AK99NNyjbnhLE17eKC2JWfqns//cu3/z6QVevnn5Xr+n521+OnzdU6reA17+Xet23n4lbbv+3Kevp+/WR/f0EPznxyqBrFhNrDszSg7puK+L+bphX921tzHhyi6SqDOe/k35ReUnSLX1MXUacWKFTr33HN14YUXaunSpfrqq69s0Ljllltcx1511VX64osv9J///EerVq3Su+++q9DQUBs0zOdrrFmzxs4y9dprrx3xcwEAlA+CBQCcIuYb97ffflsvvPCCBgwYoObNm+v999+338qbb9tLe+yxx9SvXz+1atXKhpBdu3Zp7NixZY7x9fr7xrxJXLjCg/2OeP38wiK9PaKbOtaPVvu60bq5XzNNWfn39K4v/bxc9w5urUu71rfne/bSTmpbJ0qv/bLi0PXJydc7k1fruUs7aUCbWmoeH6n3rj1TQf6++mj62jLHPnJ+W/VrFa9WtaI0+oae2pWWrbELNh90Tj+vIvtZXH755brjjjvUqFEjO6bEBIhPPvlEOTk5Wrt2rb7++mt99NFHOv/881W/fn316dNHl1xyiXx8fBQVFWXPZVqFqlevrvDw8CN+LgCA8uFbTucBABzFhg0bbKtD9+7dXdv8/PzUuXNn+617aV27dnU9NzfKTZo0OegYX/09yHnl8xce9frB/r5qUC3M9bp6RJB2p+1fsTstO087UrLsQOrSujWqpqVb9x66PrvTbVjp3rja3/Xx9Van+tFataPswOmuDf8+b1RogA0uqxMObgnxUZFdgXvSpEn67LPPXNvNgO6ioiJt2rRJy5YtswHirLPOOmqdAQCnDsECAE4T5qa/NC95qTIudJ2dna0bbrjBjqs4UO3atbV+/foKKRcA4MjoCgUAp0iDBg3sjE5mYHYJ04JhxlGYblGlzZkzx/U8JSXFdv9p1qxZmWMKVH4LWIQF+atGZLBmrdtdZvusdbvULD7ikO9pEFtF/r7emrl2l2ubGTcxf2OSmtco+545G/4+b0pmrtYmpqlp/MFdlArlbVtnVq5cacefHPgwn5/pHmZaL6ZPn37Icplj7LkKC4/zUwAAOEGwAIBTJCQkRDfeeKMdmP3LL7/Ym+eRI0cqKytL1157bZljn3jiCU2ePNnOBmVmNYqOjtawYcPKHFNQ/Pev8Ob3fqex8w8es3A87h7YSs9PWKqv5mzUmsRUPfDVPC3esle39W9+6PoE+ulffZraAdxm9qiVCSm6/sMZysor0DW9Gpc59t9jF2vyih12NqgR7/2p6CoBGtahzkHnzC/21ogRIzRr1iw7WHvx4sW2a9QPP/zgGrxdt25dXX311brmmms0btw42z3KzJRlxl0YderUsbNBTZgwwc4wlZGR4ehzAQAcG7pCAcAp9Oyzz9pv26+88kqlp6erY8eOdjyBmRr1wONuv/12e1Pdtm1bjR8/3vVNfInsYj/lFHrZ2ZRMEEjNcramxa3nNFdqVp6dKWp3Wo6ax0do3F191aj64Qc/P3NxRxUVSVe/84fSc/LVsV5V/Xxvf0WGBJQ57ulLOurO/87Rul1pals7Sj/c1c+uX1GaqYupU9eOHW1rxEMPPWSnnDXjK0xrjxmcXcIMgn/wwQd10003KTk52XaRMq+N+Ph4Pf7447r//vttSDEzSI0ePdrRZwMAODqvYqdLnAIATikTRMysUm+8+LSGhG1RfKB7r75t1tYY9OKvWvvWSE3Ja6xLrh7JTE4A4IboCgUAbsRMO2u6BZlpWINCw5SUd+QpZiu7XanZ+nHhVjWqFqa0okD5BQYrLOzvmasAAO6DrlAA4EYGDhxou1C99dZbys7M0J7NG82KEnJXg1/81XaheuPqrkrK91d0fA07PgIA4H4IFgDgRhYsWOB6Pnv2bG3aGKLi4hS56734vCfPsz9Np9wvk0LUoFr1ii4SAOAE0RUKANyUmf0owztEibllB3W7I1OHTO8QOwgbAOCeCBYA4Kbi4uIUERuvlZkhcnemDpHVato6AQDcE12hAMBNmbEILVq31axJm5VZmKoQnyK7fcS7f+iTGftXp/bz8VbtqiG68syGemBoG/n6HPr7pLd+W6kXf1qunanZalMrUq9d1VWdG8Qc9tpmIbxnxy+x10lIyVKT6mF65tJOOrd1Tdcx6dn5evS7BRo3f4udvrZdnap65cou6lS/7HkzC7y1pTBS3Vq1YXwFALgxWiwAwI2Z2aF8QiK0JjOozPb+reOV8PqlWvPiRbpzQEs9PnaRXpy47JDnMAvi/d/nf+mR89tq/pND1bp2lAY8P0m7U7Pt/vz8Avso7ZFvF+i9qWv02pVnaPmz5+v6s5vqwlcna9HmZNcxIz+cod+X79CYf52lJc+cr36tauicZ39Rwt6yg83XZAXZOpi6AADcF8ECANyYWTSvUfPWWpUTpdyiv7/tD/D1UfWIYNWJDtWNfZupT4saGr9o6yHP8erPy3VdryYa0bOxmsdH6u0R3RUc4KuP/1hr9+fl5dpHaZ/OXK8HhrTWwLa1VD82zF5jQJuaevnn5XZ/dl6Bvp+3Wc9e2kk9m1ZXw2pheuyC9vbnO5NXu85jymzKbupw4AKAAAD3QrAAADfXrl07FYTGam7q4dd/CPL3VV7B/q5SPld+pNF/rLPP8woKtWBzsg0eJby9vezr2ev3HPZ8uQVFCvDzPegaM9fuss8LCotVWFSsQL+yq2sH+fu4jjFMmU3ZTR0AAO6NYAEAbi40NFRn9OittYWx2pZT9lv/4uJi/b48Qb8uS1Dv5vsHRjeJC1d48P6F9ZLSc20AqBZetitVtbAg7dqXddhrntMqXq/+slzrdqaqqKhYvy1L0Nj5m5X4v/dUCfJT14axemrcYu1IyVJhUZFt5Zi9bo/rmG3Z/lpbWE1de55t6wAAcG8M3gYAD9C0aVNt2rBeM9ZmqUhemrh4m8Ku+0T5hUUqKi7WP7s20GPn728VWPn8hY6v9+oVXXT9hzPV/N7v7RoaDWKraHiPRvr4fy0hxph/9dR1789Qrdu+lI+3l9rXrapLu9bXws1JtgvUn+mxqtmkhZo0aeK4PACAikewAAAPYGZT6tmrt77ZsU278/zUq1mc3hrRTf4+3qoRGXzY2aCiqwTYm/5d/xuoXWJXWraqRQQf9noxYUEae2df5eQVKDkj117jga/mq35sFdcxDaqFaerDA5WZk6+0nHzFRQTr0jemql5MFc3eF6780GrqeVYvZoICAA9BVygA8BCmO9GZvfspXUHK9wm0A6VrR4ceNlQY/r4+6lC3qqas3OHaZro2TVmxQ10bHn662RKB/r6KjwqxYyrMYO2h7Q9e4C4k0M+GipTMXNslq02zxlqvOFtWukABgOcgWACABzFTtkZXq6HUokAtSTv0wnnN7/3OjococceAlvpg2lqN+XOdViXs002jZykzt0DDezZ2HXP9x3P04FfzXa/nrt9tg8TG3Wn6c81ODXxhku1ydc+gVq5jJi3drl+Wbtem3el2DEafp39WrdhI1e7UV13O6sf0sgDgYegKBQAeJioqSmlpaZqXX1P5qQnqEJZhx0GUWJOYqtSsfNfrS86or6T0HI36bqFdIK9t7Sj9dM85ZQZ0b9+bJX+//QO+jZz8Qj367UJt3JOu0ABfO9WsWa8iIiTAdUxqdp4e+nqBtu/NVFRIgM5s00hnDrhAnc86R23atDkVHwUA4BTyKjZThgAAPM6SJUs0d/pvaqhEdY1IVYD3if26z8zcv6BdSMihW0COxgzUNmMqTPcn01JBqAAAz0SwAAAPtm7dOs2Y+pv8M3bqzLA9qhWYd0qDhZlSdkZ6jPKqxOnMXn3p/gQAHoxgAQAeLiMjQ39Mm6rt61eqsc8udQlPO67WixMJFqaVYk5qmNYVVlPNRi3s7E8M1AYAz0awAIDTgPlVv2bNGs3+Y4p8M3arWeBeNQnOVojv/tW4yytYZBZ4a01WkFblRKmgSjV17dHbrlPBlLIA4PkIFgBwmrVeLFq0SOtWLlVh5j7V8UlR85BMxQXklRngfTzBwvwVScz118rMEG0pjJRPSIQaNW+tdu3a0UoBAKcRggUAnIby8vLs+IuVyxYrZVeCQooyFeOdqWi/PEX75yvaL1+BPsWHDBY5hV5KyvdTUp6fkvL9tacoRJneIYqsFq/mrdracRT+/v4VWj8AwKlHsAAAD7Rz504988wzmjhxorZv367w8HA1bNhQV1xxha6++moFB+9fVdv8CUhMTNTWrVu1Z9dO/TRxvCb89LN27U5SWGiw+p/ZSYN6tLfHevsFKr/YW9nFfpKvv/wCg5W4e68eeuSRQ5bhr7/+UqdOnTRt2jS98sor9rWZBtcEj3vuuUeXX375Kf1MAAAnF+tYAICH2bhxo7p3766IiAg9/fTTatWqlQICArRs2TK99957io+P19ChQ+2xZuxDjRo17OPnn3/WBx9/oueff95OCWuO//e//y3/qjXVv39/1atXT76+vjakxMTEKCwsTPn5+brmuuvKXP+RRx7R5MmT1bFjR/t61qxZat26te677z5Vq1ZNEyZM0FVXXWXPM3jw4Ar5jAAA5Y8WCwDwMOeee65WrFih1atXH3JchPm1f6jB1JdddpkNCt98841r2+uvv27DxY8//qguXboc9drm/Sa43HrrrTZgHM6gQYNsyPjoo4+Oq24AgMrLu6ILAAAoP8nJyfr111918803H3awdUmoGD58uHr16uXanpubq8DAwDLHBgUFaffu3ba71LEwAcSUYcSIEUc8LjU11a4QDgDwHAQLAPAg69evty0SZorX0qKjo+0MTeZhuiQZcXFxql27tusY093p+++/t92YioqKtHbtWr300kt2nwkLx+LDDz+056lZs+Zhj/n66681b968o4YPAIB7YYwFAJwGzMBpExbMgGnTMmGY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\",\n      \"text/plain\": [\n       \"<Figure size 800x700 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"from pymdp.planning.visualize import visualize_plan_tree\\n\",\n    \"\\n\",\n    \"def graph_world_observation_description(observation, model=None, graph=graph):\\n\",\n    \"    obs = observation[0]\\n\",\n    \"    loc_idx = int(obs[0])\\n\",\n    \"    obj_val = int(obs[1])\\n\",\n    \"\\n\",\n    \"    obj_str = \\\"object\\\" if obj_val == 1 else \\\"no object\\\"\\n\",\n    \"    return f\\\"loc: {loc_idx}\\\\nobj: {obj_str}\\\"\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def graph_world_action_description(action, model=None, graph=graph):\\n\",\n    \"    action_idx = int(action[0])\\n\",\n    \"    if action_idx in graph.nodes:\\n\",\n    \"        return f\\\"go to node {action_idx}\\\"\\n\",\n    \"    return str(action_idx)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"visualize_plan_tree(\\n\",\n    \"    info,\\n\",\n    \"    observation_description=graph_world_observation_description,\\n\",\n    \"    action_description=graph_world_action_description,\\n\",\n    \")\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \".venv\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.11.11\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/experimental/sophisticated_inference/si_tmaze_SIvalidation.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Validating Sophisticated Inference (SI) Planning Algorithm using the T-Maze Task\\n\",\n    \"\\n\",\n    \"### Overview\\n\",\n    \"\\n\",\n    \"This notebook provides a comparative test of two planning algorithms within the active inference framework:\\n\",\n    \"1. Vanilla Active Inference Planning: Standard and default planning approach in `pymdp.control.infer_policies()` that computes the expected free energy of policies in parallel, and the log probability of each policy is proportional to its expected free energy. The expected free energy of each policy is computed by propagating beliefs about hidden states forward in time under each policy (a typical 'posterior predictive rollout'), without updating those beliefs with counterfactual observations, expected under those future states. This means the belief over hidden states at timestep `t` in a given rollout, only depends on:\\n\",\n    \"- the previous belief over hidden states at time `t` and\\n\",\n    \"- the action entailed by the policy in question at time `t`.\\n\",\n    \"\\n\",\n    \"2. Sophisticated Inference (SI) Planning: A more complex but thorough planning approach that evaluates policies using recursive expected free energy calculations, where the agent considers how its beliefs would change under counterfactual observations encountered in the future. This algorithm has higher complexity since it branches on both observations and actions in the future, but it more accurately captures how uncertainty over hidden states changes in the future, as a function of (possibly-encountered) observations.\\n\",\n    \"\\n\",\n    \"This notebook uses a simplified version of the T-Maze environment `TMazeSimplified` as described in the [sophisticated inference paper](https://discovery.ucl.ac.uk.id/eprint/10124606/) to validate the SI implementation. \\n\",\n    \"\\n\",\n    \"### The T-Maze Task\\n\",\n    \"\\n\",\n    \"The T-maze is a classic sequential decision-making problem where the agent (analogized to a rat) faces a fundamental exploration vs. exploitation dilemma. The agent begins at the center of a T-shaped maze, where there is also a left arm, right arm, and cue location (bottom arm). One arm contains reward (cheese), the other punishment (shock), but the agent does not know which arm contains what. A cue at the bottom provides information about reward location with a given accuracy. This version of the T-Maze differs from that described in the [T-Maze Demo](https://github.com/infer-actively/pymdp/blob/main/examples/envs/tmaze_demo.ipynb) because there is no \\\"middle\\\" location between the left and right arms, and because every location is reachable from every other location. Additionally, location and cue observations are embedded into a single modality, rather than separated out into two separate modalities.\\n\",\n    \"\\n\",\n    \"The agent must choose between immediate but risky exploitation by directly committing to one of the reward arms (50% chance of success) or gather information (explore) first by visiting the cue location at the expense of time, then make an informed choice. When cue validity > 50%, the optimal strategy is to first gather information at the cue location, then select the indicated rewarding arm. This notebook tests whether both planning algorithms can discover this optimal policy and how.\\n\",\n    \"\\n\",\n    \"### Notebook Structure\\n\",\n    \"1. Environment Setup: Set up the generative process for the T-Maze environment\\n\",\n    \"2. Agent Setup: Set up the generative model for the agent\\n\",\n    \"3. Active Inference Rollout: Run active inference rollouts with vanilla and sophisticated inference planning algorithms, with optional visualizations of the agents' behavior\\n\",\n    \"4. Results Analysis: Compare actions selected and policy evaluations  \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:52.929478Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:52.929410Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:56.831792Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:56.831372Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"%load_ext autoreload\\n\",\n    \"%autoreload 2\\n\",\n    \"\\n\",\n    \"import jax.numpy as jnp\\n\",\n    \"import jax.random as jr\\n\",\n    \"\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import numpy as np\\n\",\n    \"import mediapy\\n\",\n    \"\\n\",\n    \"from pymdp.envs import SimplifiedTMaze, rollout\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp.planning.si import si_policy_search\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setting up the T-Maze environment (Generative Process)\\n\",\n    \"\\n\",\n    \"- The `reward_condition` parameter determines the reward location: `0` for the left arm, `1` for the right arm, or `None` for random allocation.\\n\",\n    \"- The `cue_validity` parameter (default 0.95) represents the accuracy of the cues as a probability.\\n\",\n    \"- The `reward_probability` parameter sets the probability `a` of receiving a reward in the correct arm. \\n\",\n    \"- With `dependent_outcomes=True`, the remaining probability (`1-a`) becomes punishment in the correct arm (and reward in the incorrect arm). With `dependent_outcomes=False`, the remaining probability in the correct arm is no-outcome, and punishment in the incorrect arm is set by `punishment_probability` (with no-outcome as the remainder).\\n\",\n    \"\\n\",\n    \"<details>\\n\",\n    \"<summary> Click here to see how the generative process is set up. </summary>\\n\",\n    \"\\n\",\n    \"#### States and Observations\\n\",\n    \"\\n\",\n    \"**State Factors:**\\n\",\n    \"1. Location (4 states): \\n\",\n    \"    - 0: center (start location)\\n\",\n    \"    - 1: left arm\\n\",\n    \"    - 2: right arm\\n\",\n    \"    - 3: cue location (bottom arm)\\n\",\n    \"2. Reward Location (2 states):\\n\",\n    \"    - 0: reward in left arm \\n\",\n    \"    - 1: reward in right arm\\n\",\n    \"\\n\",\n    \"**Control State Factors:**\\n\",\n    \"1. Location (4 actions): \\n\",\n    \"    - 0: move to center (start location)\\n\",\n    \"    - 1: move to left arm\\n\",\n    \"    - 2: move to right arm\\n\",\n    \"    - 3: move to cue location (bottom arm)\\n\",\n    \"\\n\",\n    \"**Observation Modalities:**\\n\",\n    \"1. Location (5 observations):\\n\",\n    \"    - 0: center (start location)\\n\",\n    \"    - 1: left arm\\n\",\n    \"    - 2: right arm\\n\",\n    \"    - 3: cued left arm (bottom arm)\\n\",\n    \"    - 4: cued right arm (bottom arm)\\n\",\n    \"2. Outcome (3 observations):\\n\",\n    \"    - 0: no outcome\\n\",\n    \"    - 1: reward (cheese)\\n\",\n    \"    - 2: punishment (shock)\\n\",\n    \"\\n\",\n    \"#### Environment Parameters\\n\",\n    \"\\n\",\n    \"**Observation Likelihood Model (A):**\\n\",\n    \"- A[0]: Location observations (5x4x2 tensor)\\n\",\n    \"  - Perfect mapping between true and observed locations.\\n\",\n    \"  - At the cue location (bottom), the rewarding arm is cued with accuracy set by the `cue_validity` parameter.\\n\",\n    \"- A[1]: Outcome observations (3x4x2 tensor)\\n\",\n    \"  - In the rewarding arm (set by `reward_condition`), reward is presented with a likelihood determined by the `reward_probability` parameter.\\n\",\n    \"  - Punishment and/or no-outcome are presented with a likelihood determined depending on if `dependent_outcome` is True or False and consequently by the `punishment_probability` parameter.\\n\",\n    \"  - No-outcome is observed in the center/start location and cue location.\\n\",\n    \"\\n\",\n    \"**Transition Model (B):**\\n\",\n    \"- B[0]: Location transitions (4x4x4 tensor)\\n\",\n    \"  - Agent can move to any one of the four locations from any location regardless of adjacency.\\n\",\n    \"- B[1]: Reward location (2x2x1 tensor)\\n\",\n    \"  - Reward location remains fixed throughout trial.\\n\",\n    \"\\n\",\n    \"**Initial Conditions (D):**\\n\",\n    \"- D[0]: Starting location (4x1 tensor)\\n\",\n    \"  - Agent always begins in center location\\n\",\n    \"- D[1]: Reward placement (2x1 tensor)\\n\",\n    \"  - Default: Equal chance (50/50) of reward in either arm (`reward_condition=None`)\\n\",\n    \"  - Optional: Can fix reward to specific arm, by setting `reward_condition` to `0` (for left arm) or `1` (for right arm)\\n\",\n    \"\\n\",\n    \"</details>\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:56.833504Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:56.833257Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:56.847073Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:56.846835Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# setting the parameters for the environment\\n\",\n    \"reward_condition = 0 # 0 is reward in left arm, 1 is reward in right arm, None is random allocation\\n\",\n    \"cue_validity = 0.95 # 95% valid cues\\n\",\n    \"\\n\",\n    \"reward_probability = 1.0 # 100% chance of reward in the correct arm\\n\",\n    \"dependent_outcomes = True # if True, punishment occurs as a function of reward probability (i.e., if reward probability is 0.8, then 20% punishment). If False, punishment occurs with set probability (i.e., 20% no outcome and punishment will only occur in the other (non-rewarding) arm depending on the punishment_probability parameter)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:56.848285Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:56.848208Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:57.167276Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:57.166854Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# initializing the environment. see si_tmaze.py in pymdp/envs for the implementation details\\n\",\n    \"env = SimplifiedTMaze(\\n\",\n    \"    reward_condition=reward_condition,\\n\",\n    \"    cue_validity=cue_validity,  \\n\",\n    \"    reward_probability=reward_probability,     \\n\",\n    \"    dependent_outcomes=dependent_outcomes,\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setting up the Agents\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:57.168745Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:57.168662Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:57.218343Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:57.218066Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# creating C tensors filled with zeros for [location], [reward], [cue] based on A shapes for the Agent\\n\",\n    \"C = [jnp.zeros(a.shape[0], dtype=jnp.float32) for a in env.A] \\n\",\n    \"\\n\",\n    \"# setting preferences for outcomes only\\n\",\n    \"C[1] = C[1].at[1].set(2.0)    # prefer reward\\n\",\n    \"C[1] = C[1].at[2].set(-6.0)   # avoid punishment\\n\",\n    \"\\n\",\n    \"# slight cost of observing a cue\\n\",\n    \"# C[0] = C[0].at[3].set(-1.0).at[4].set(-1.0)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:57.219677Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:57.219596Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:57.256084Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:57.255633Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# flat D tensors [location], [reward] based on B shapes for the agent\\n\",\n    \"D = [jnp.ones(b.shape[0], dtype=jnp.float32) / b.shape[0] for b in env.B]\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:57.257395Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:57.257311Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:57.878736Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:57.878428Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61048/282069077.py:8: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agent_vanilla = Agent(\\n\",\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61048/282069077.py:20: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agent_si = Agent(\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# note that we initialize agents with different policy lengths for the vanilla vs sophisticated inference planning algorithms\\n\",\n    \"# even though both will eventually end up planning with a horizon of 2. The sophisticated inference planning algorithm requires\\n\",\n    \"# a policy length of 1 in the Agent as we specify horizon length of 2 when initializing the planning algorithm in the `rollout`.\\n\",\n    \"\\n\",\n    \"# action_selection=\\\"deterministic\\\" means selecting an action from the policy probability distribution (q_pi) by arg-maxxing\\n\",\n    \"# sampling_mode=\\\"full\\\" means evaluating the whole action sequence in each policy and executing the first action (as opposed to marginal where the agent evaluates each action type)\\n\",\n    \"policy_len = 2\\n\",\n    \"agent_vanilla = Agent(\\n\",\n    \"    env.A, env.B, C, D, \\n\",\n    \"    A_dependencies=env.A_dependencies, \\n\",\n    \"    B_dependencies=env.B_dependencies,\\n\",\n    \"    policy_len=policy_len,\\n\",\n    \"    learn_A=False,\\n\",\n    \"    learn_B=False,\\n\",\n    \"    action_selection=\\\"deterministic\\\",\\n\",\n    \"    sampling_mode=\\\"full\\\",\\n\",\n    \"    gamma=3.0\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"agent_si = Agent(\\n\",\n    \"    env.A, env.B, C, D, \\n\",\n    \"    A_dependencies=env.A_dependencies, \\n\",\n    \"    B_dependencies=env.B_dependencies,\\n\",\n    \"    policy_len=1,\\n\",\n    \"    learn_A=False,\\n\",\n    \"    learn_B=False,\\n\",\n    \"    action_selection=\\\"deterministic\\\",\\n\",\n    \"    sampling_mode=\\\"full\\\",\\n\",\n    \"    gamma=3.0\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Running the active inference rollouts\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:57.879961Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:57.879884Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:57.903963Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:57.903562Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"key = jr.PRNGKey(0) \\n\",\n    \"T = 3\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:57.905455Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:57.905365Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:31:57.914559Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:31:57.914227Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"si_search = si_policy_search(\\n\",\n    \"    horizon=policy_len, # plans 2 timesteps ahead\\n\",\n    \"    max_nodes=5000, # maximum number of nodes allowed in the tree\\n\",\n    \"    max_branching=10, # maximum number of children allowed per node (moderating the branching factor)\\n\",\n    \"    policy_prune_threshold=0.0, # no pruning of unlikely policies\\n\",\n    \"    observation_prune_threshold=0.0, # no pruning of unlikely observations\\n\",\n    \"    entropy_stop_threshold=0.0, # disabling halting of expansion if agent is certain enough\\n\",\n    \"    neg_efe_stop_threshold=1e10, # disabling efe value based halting of expansion\\n\",\n    \"    kl_threshold=-1, # disabling node reuse if agent is in similar states after an action\\n\",\n    \"    prune_penalty=512, # default value for prune penalty\\n\",\n    \"    gamma=3, # temperature parameter; lower value (--> 1) prunes policies less aggressively as probabilities are flattened while higher value (--> 16) prunes more aggressively\\n\",\n    \"    topk_obsspace=10000, # max number of top observation combinations - this default value just means we want to consider all the observation combinations\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:31:57.915721Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:31:57.915633Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:00.062125Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:00.061837Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"_, info_vanilla = rollout(agent_vanilla, env, num_timesteps=T, rng_key=key) # default policy search is vanilla\\n\",\n    \"_, info_si = rollout(agent_si, env, num_timesteps=T, rng_key=key, policy_search=si_search)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:00.063840Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:00.063750Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:00.072935Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:00.072623Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def make_gif(info):\\n\",\n    \"    frames = []\\n\",\n    \"    for t in range(info[\\\"observation\\\"][0].shape[1]):  # iterate over timesteps\\n\",\n    \"        # get observations for this timestep\\n\",\n    \"        observations_t = [\\n\",\n    \"            info[\\\"observation\\\"][0][:, t, :],\\n\",\n    \"            info[\\\"observation\\\"][1][:, t, :],  \\n\",\n    \"        ]\\n\",\n    \"        \\n\",\n    \"        frame = env.render(mode=\\\"rgb_array\\\", observations=observations_t) # render the environment using the observations for this timestep\\n\",\n    \"        frame = np.asarray(frame, dtype=np.uint8)\\n\",\n    \"        plt.close()  # close the figure to prevent memory leak\\n\",\n    \"        frames.append(frame)\\n\",\n    \"\\n\",\n    \"    frames = np.array(frames, dtype=np.uint8)\\n\",\n    \"    mediapy.show_video(frames, fps=1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:00.074536Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:00.074457Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:00.798079Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:00.797742Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table class=\\\"show_videos\\\" style=\\\"border-spacing:0px;\\\"><tr><td style=\\\"padding:1px;\\\"><video controls width=\\\"600\\\" height=\\\"600\\\" style=\\\"object-fit:cover;\\\" loop autoplay muted>\\n\",\n       \"      <source src=\\\"data:video/mp4;base64,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\\\" type=\\\"video/mp4\\\"/>\\n\",\n       \"      This browser does not support the video tag.\\n\",\n       \"      </video></td></tr></table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"make_gif(info_vanilla)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:00.799469Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:00.799378Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:01.460002Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:01.459679Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table class=\\\"show_videos\\\" style=\\\"border-spacing:0px;\\\"><tr><td style=\\\"padding:1px;\\\"><video controls width=\\\"600\\\" height=\\\"600\\\" style=\\\"object-fit:cover;\\\" loop autoplay muted>\\n\",\n       \"      <source src=\\\"data:video/mp4;base64,AAAAIGZ0eXBpc29tAAACAGlzb21pc28yYXZjMW1wNDEAAAAIZnJlZQAAKTRtZGF0AAACfwYF//973EXpvebZSLeWLNgg2SPu73gyNjQgLSBjb3JlIDE2NCByMzEwOCAzMWUxOWY5IC0gSC4yNjQvTVBFRy00IEFWQyBjb2RlYyAtIENvcHlsZWZ0IDIwMDMtMjAyMyAtIGh0dHA6Ly93d3cudmlkZW9sYW4ub3JnL3gyNjQuaHRtbCAtIG9wdGlvbnM6IGNhYmFjPTEgcmVmPTMgZGVibG9jaz0xOjA6MCBhbmFseXNlPTB4MzoweDExMyBtZT1oZXggc3VibWU9NyBwc3k9MSBwc3lfcmQ9MS4wMDowLjAwIG1peGVkX3JlZj0xIG1lX3JhbmdlPTE2IGNocm9tYV9tZT0xIHRyZWxsaXM9MSA4eDhkY3Q9MSBjcW09MCBkZWFkem9uZT0yMSwxMSBmYXN0X3Bza2lwPTEgY2hyb21hX3FwX29mZnNldD0tMiB0aHJlYWRzPTE4IGxvb2thaGVhZF90aHJlYWRzPTMgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MyBiX3B5cmFtaWQ9MiBiX2FkYXB0PTEgYl9iaWFzPTAgZGlyZWN0PTEgd2VpZ2h0Yj0xIG9wZW5fZ29wPTAgd2VpZ2h0cD0yIGtleWludD0yNTAga2V5aW50X21pbj0xIHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByYz1jcXAgbWJ0cmVlPTAgcXA9MjggaXBfcmF0aW89MS40MCBwYl9yYXRpbz0xLjMwIGFxPTAAgAAADxdliIQA/+yDe8k/wWliodEdPST0o8q80Oxn1Tojhbn1hHbFRVKBoDmhnA5fXUEFNb8m3yshdaWflQJH6gY8x47OMs0naby86JOtzNUqCBCmj01TwAAABPRj5dC0WvTUjktNVa1gRdgyt2BMm7WDxNWHB/Bp7+JtRQDEoWlDopqo4FxICdLerI8/uJGS/i/vwA8nLyzDGxa888La1Kg//Zuxx5NxJR7AwR/90ebhIU0usLbqN/L5IA1TBBU//xzHchejiFMnpBR+lnj/hi6oE8rWJzJ+5uwSq/uPgBkXa69axdiejQf5jxeor1RHqF5LGs79sFu8unoGIbNiTcgIRj4ry26XwKmp5cLWKEbJnAeOVeKEMGYg6ukYj+khY7l7ijibyYI5KEGLo/28qXA634PNzJSm/bvJSUaLsrBqoQ9VGr/HTkTOn9uQv7w6FWICA8lg87XTG8TJ1LnEo3AcHCKlav06jhFFdV/Gbj0ZByn9byYRo3nNXBTDzMda5LZkpCrj1L3rs6S5hNYRsYtbFPNDCCikJEMgOnDsCAUD7C2IFvtSc7x6eZI5/cDtcrENZXTWcecK5wwBTadwxrzrt4XbP70bfxOixd8ETTBQtX8plTT8s/0OKX6CLxh8g2zEwLAb8gscGwgjv2MiXaHNuU13IXq9MpPTATOcMBvnyDYtl3ybFJfHj5iGNlWgN/Rzp0e6GXn7PALrVZcrdSVequU95G4el7axq6k88xfQWOQYnmyV9121zCUtY/CtT+858TboZ/Er9Vlhgu10rCtQvX03DS7m7lijWyVi3/gc0rgdOMQ0Rs58ji53UYgnnU/YEPg2JD7VRAsbA624ednSFeeFJUGQTZ+k1kxBxG/tIhuKrdyUuujYqxLv7vK4D8I31vxeN1sxjBTf5hzhCrLuFnW3miqBsbwUEHWEpjY/kZWV40tQ2/ADw2ZaGPPxgdwQ69JRyMnthZoSUxSJ/qsbKr0AUaUOBsMS0TeDVVu8TzYopot4NVW9/841gTIX4vhqHygc7g7zwSnB8YS4P6LjLGXDbK/OfBciGF8pFVDYCIvu91Sj4tlYYaHCl1Bt9VUvaSNjEHJoh+dzrnt/m+/0n0fIjwGmAv/TLY41SNizIWeCgS+CSHO8mKIEI4fv3FdFVwK6qRsFQt2yPJM7aBoZnRKqfMf6yX6/YSvhHRG9r9KK2PZWrDvxULHh066SRsldlgo9t/BABrD69MgwAeNN7N+wEPUEV+9pJuKB60xpI7RJkg/jrRgmmQc26Ps+opoOoXfNd0KrXDDlwWmX00lJW9MXiql7RxrGMdSMGeUS13/994hpdv4q6Tdv2C38SaKRvg+29oTqzrIS4hJ56uzxB4AGrzeUWVKnawPECaRLV4x7BtTuX/sjUkRsaamkfgnWQB4/4OMaNJAOuVdMRTZL7rfVctDB7rQwtrTez65BFPQylHhpMxOfrJLys6KMFC2ToUtv6P7sr9A1007K2M0ZIydCCK44V8U2S5f2D1nLubHXUZPC4qt69G5GXaNPamUVuPjj/3gdDtYbicEpREPZrbHY/bHBDkCS7vb6Z9ZnzsbEvzWTYFsqUbb+BxtqotWQ6fClD02p5n71mrRpzO4fw9m/ZgyCF0isZofzLKciiKd0eXCIhGxZsYwqVcJ2KCLOMs8xLcL6Lklgu03U+Bx9e44PTUjSeOtjOXMxI3s3qwm0mWsoSHdg8Qn2+WusyMD31mlmHRNSdHqGL7TaEkqOgy7McXjU52YyWMtkUf4u3BKOs52JrQTW1RPj/VybwmwJKWVS7S9dRappECo4XihgKhfssk9sTgzLxnJr7tGPrU7BvGtc270H4iYzLW/io+Xo/0ZEfdkAEUiGc6FQSgFmg+HEeF9eVpmzgzraXDQ66lUPijRim51NQC7N4/F/DUitKUt7unk4NCmEFoROUYm6CjGz3cAZ+mlMNAShgF2W/eDljAqDpGUf2HtuujuCo7WLmgc/T0/pRlpt6sOPVI2BifyPBdT9ZwaVZv4tLMwweBdvIrz7AKJs7nYSlIPuuRekGoIO+2LyoDn/4R9O+KHc3xNBrf4pS86GKf3hq6qJ1uwfQkbqeZbm5mjyB3U2SycXeNHNUTJ2f9g2N7L9KGclp3jyo4bXhnvkxWUScjm+jZcsK2UGpNa9G4eFQuzsk8rva2DPnF+TYUdBZTlKhkDYf43XrhfG4uwAWDY0Vw1il1l24JA0FFFbXUYAvB2E8QQO7BV2PBLMSkf/v6Vt+pcMrQpfuLTJ40q7O3XyBvLt4ygr/xdpdoJorsKvGKFB6vZqO2xk2PjzVbf7IAKI16ukbGH/s681Twwzf829qMdEn1jYvUNKRMveP1a+8rwPcq6CX36Gs9HYItME1/LpYJb/5i5/SWUacQOFl2pMioD9jFEQtDKY8rwEgmF1IEKrek3a11f3f97djgLUB6/8CokBZAfnMzfe1teQgZGO9rR4n1iqasaPjkaHRoU0tPY6hX4m7dK9xkT6SJExjwkvwQduqZlE1k/pt7VNkPhhLpKU0D8fWTRxB7BBKUj/S38NfFzsQ8jEep/4a7KQO8r3wVJPv9xDnh8ABUEI4MrjU/i9Ylwb8hkWpn4LvbtAsiFM33RgoP40+ABLt3geJVKPG+Fzq8Qtpv1VO3gLj1mbCuxgUNV/Rw7RUz6k3JS76hDNXXX3796NgdY4MUSjI9MgDV0mkrCB+K2e6VrznTSlO1cIdljuvoOdCGm159AQXHZaEi3qEu4jXzbGxdyJsXAABKs83s4RulzoIPPmHS6HiFyMNac6ZfvCmJ81P9m3QoWB8JaTGllEvEOzk7cNy/HsmqGo1bdtTbGUWru/S+5oAfeXPhhj2rebPrOfFOb/HpyXk5CPffJ+kwhEPBiy7IF31gky+EfUZo6F764yR+q9KQrVCLOiF2BCWYBTc9pk8ozOH+qyDx9yG4hCRaQ/YLFsLbbfwuDd/U+OGbd2HH77YWmtOiVB52Ph3kDAsdXP3NRqABVNouTDG5i3mTiz50KwzTJ4Pj7Tkq1yCZ9UMIOLDWJ7v9gid155ONJ0lb5aQjMCcXj08GW1r0SZSQaUcaKP5U8t+qIVSXWer3a6hyh2YEHI7LCLQ68hGId6fY82SUjldYpevWAQeEYRdCxy9JPN+u+vBpm2aFJdRM5R11Ira0v6RawFd1WtReGMFfLAw6B2U0PBvZYsVnCTgGqBur8Spl6mY+OdHUld3U9zrNo5ysAXfrwAr9ERPeHZSBIa+jYVhq8XVM62pGl3AibyFmzpMS8XDxqTZGx+jy80vuEAsuM/Iu76dNA5iT6WetXbPqZEyjSjB624MQk4MLvilMThdv6VilWkYUxfK1jvIf/ZAL9Nit/QnKI45OaV2bQLtK75GRi/7477x18h/PDNz0P6ttWnwynsHxW/+UZxeDiUF9tBIJa5MaOqID0qWLfwswHgrvJdRw20Bf0a94qZGh6aKpsu5xdDOHqhWSiFXO3QHX8wYeye0K2UEvJh93YnhYi8vaRaGF/wTurbrKhkNuNjxiHueGkfoSQQj7qK2RGzK7R1/G6g/bR/CWvdVvqOClaGnXhuIFzu6Qr5yYJde4NHk1t+/6p6qkdyHUjCX8nGsqEceH1BF9pFmobGGT2DFKNjqtTUVix7+xl/axxdL6E1YD8g7ch6MPWb5fQP+ykQClk8zhgk6RcHMBU4zKwgLJtl89d6YgR6LVC+BrdSe5sd2912mqal4K+8YBMOisAPXpjFvIpNedmvmBDkRFDjd0kftB4p9dA3gcrAr6WN21e2rRqGXBzOaN3zZoi7FeWhGej2dutdVNJzkUhoYcmAp4YF7914fdxL33mI0xXiWELDicTCeesT1KSWg1+AI4HD/x4VdNXCAX1iemyEItV7Fi6XxVEHNrRZIXJmmCuInbxlI8HG3BSDcxoPh+7iP5ArD/ldRoAUkMfZ9v2IewDF4btb1PSnymJInaRYieaLOb6btGqb+MDf4IE6mM4JhHz+MmCyac5wVeM04WSETId2+T0m4KEUkvS2h/HvNw5o26/JZEYIFQgT/vNeA8qVuM1eHOOIGRxLXRLwoLVjBtBsC7vSZVqyu89mgHu+ZtF7mmfe0GV49MK4vK7/AlKB7yu76azRZ1D5LQHsObkekSLTpnnFZDmJvwC5OsuIAn4aOQpoUkyrl6sGtTVVdcHjQcU+dHz2tsfYI6nxv0Yo5ACZMjSdgrGH6EuPGyElXTAGKceBsxL1trDAO7pv6rxJSdfam0b3ymPr47x6a/A307sptxKsxR7vPpLfViE+HnAAaQan6QCE8fQtJc0DJ+/EOXqXRYoK78mh5Lseh5RQIsn58873JYfVnOmYA8J5NFDnZkE7fhtGQ3YBV4ndmjVnCbDaCPLvO/7B/uhrz8ocRePDiQdNX6pEHKBAyeUvAC/yWdcAL3zxeG5YWJsdNxFBRXNb1Uzm5ZcThUUinMhCxTj+LUuTdl+Qo04N9La7XA9MMhDoO/W8OOhBYVFfU/5GDKWWJlAiZYLoEpt1RaRSHunmdgTxaSpDA2yglqu4JCbC6bkhu1CsAl6CA8qlwYnOZHey2sVVftL0bbKOHoN74m+MYmfRvUcS/rqkVdbCNwkD3zDIrUdj5ZQiL9MC+V5gYdnE6dTtctVLgK0tvlao+90+rWuJ+TRBsB8RGx8pvN5vYP7z+9fdm4fxsocGorJ+p8t4hsUE+mC7D3wYxD5RSQlPfSuO39XS6FFAdhSLy6O0lDAribQy84EGTOd+mWu6AHUZhPASNoKBYfJQFDutUZ39GPWDCxboIPPfnWTvForhBReGIAw2/iOiwkgPuv+AJU3p431lgT0Ajf20VYDfX8wgIujRn5PPob+eP5cGM+9xxE6nkUExx/W9UXqoXaiFsc65BxVGbm7/tlO5ORtvtN5s6+2JprruCus6RFNJKhTE5NDnIKANdSxEr/pgPWnYZUjBdF+N0iu4CAJJZq7lYS4mXFGyOLCvypebd5a4cu1Xvzoy+UCmVD92f2Sh+BNN6PUkIuYSrHlWuyXDksNCyuklWEd4HaCZ0GQ9W3LOlVqerM17D6mcZC4IiJdvvxABiXzr3IW9m2mDpflWDTF7ATJzuTpFawMA4UdN/92maWmFP5cWiDorBM+0hO5zAD3igQAACvNBmiFsfwAAAwCzdji2Ek6oECiqfAu9nR8Zz8iJ4Tc5hjmTsfhi20MbmEi3cOb1OrQz0rs7s1hvq0y7lqlUIeyOBZEV00+yIgB+QCW78awRTdcUvTy2YnNPfgILkINIo/+T889mR4UBN4IKN84uNEpEjYou+M76V9pf4G3Ja3k5Bvci79IZtuJSI60uWzuthz7QwW+78mG/abMDZZgD9y0bIJXwZcAmpAxzegfnhz8w7MAue19VgtKABQS3c43LitkwxVeqxxxsbHAhxhDr7wBIGXYaaX+s2v7YaeQdmD47ixHtAmA+T0qbFvhtDWQ+Ind6gSEDbodgo2gSUW5PF6QmH2L4zyoo3RP7GkASdU7GYQ+lVZ8QF5h2MEp5ccgZFN23oYgost+VKsJJivU+Rpu0/FXPpkoE3rXrUqx9L1fGHDdpKR4FGpZDCZ24L2m9w+6s+LLhWfE67Yt+x7NGraHhgFmiydpHeV6UaNA8HssySvOVZ2Cp46TMRZ4QBl5loAADgl3IzCyN2cT7JdPMVkXjctxTyR/KHo4tAE0VmbgoG6RlnNEwsHiSPVIpGeFKn4B/Eos2I0yjKekPPJXIw10byuWq2ty6JXB5KP28+zPkp+J6E54sLmFMUjtoHGWoY4o1bbBwvUx+Y/q71lMKXl0ehKN9OpDMCivoPMms9zBky8n6rvrJPqA4++UKsB2zDHCU5RQ8a7sGXY/mAP9mdoclM7FwuWFnkXp+oZFoteg6YK457d+ndqFIuB2A6hJHEadaDr5+NZMFB7/hA8s5+oWXs3vNquKug1YWt1ZipGeiStpzv/hg8lZ9TrPd8Qr4AfFBrZxDjVGxUfAiwnEM/e34Kaivn26m/UBEw2kz2MzT1GqOm02d0vqQNEji5f/GVLaV0e/RAzJY5lj8sd7i6fKnTNBoha/ohIQOGbIQF9OFNh51NbYivdx+cnABDO/+2h72u0Dwrzocv+jrI2Zq076oGNdr2wxRhQrYYrO62+hRGxwG0/8z6CQnUP7giKOIOhPdoDmJAqjXzzOWveVJJX5e1tdYkEx2WmgOeL0tm3NFU9shLyh3MEYihdZEnkixdDysEbRolnmA/5MGGktP5GXEnV7sJaQGxVa2RUsTQjCwnZByUKVmnUdoW7AjotPnol4UVh9+nHkxqP5M+5bb1Si3rHrvS+WRcWnqinaLycmyATUVTYB87g7rHjbodfhVKwGJ/pdzIW4uu9HCSJJflEk++RG8uDIzudUAeQZRgXmWE9wEeubhWkqBynqMQvwR8vfROH+/FUhlqcLr7ttBL6EoKkNbsbGAb6DyHJECwFM06Www4heCD/xDPeWDTmVb0jcgmr/LQZu+uLfHpUNmW46hxrG+OOUT+rjTJ/TGaeh0TDt85Y2/iomPAoyltjuX7IbZVOzgCuwITwWsloY/a8tmMeVpA6WyQuufVmXrrhguwpfuf6lFw1xAGg7yT8+peHBs3Jri54MqeN4hxHenpUb/EqhN3tliTGzZInqC85h/Nz085CBIJ0m76YUsOz/mphnT1EGybC0xd/D/57mXYt6yNYidC2IJGHHabABmk1CJGZqUGAmHbR9CHk8e3iE8WQCRdt72GjIBA5KzNJCd15CT0JklUjd+2FkGyyr4iyjmOh9Xa98+D2c64GdeyF2PxFhp5nEcyLXl4AN0Jijapi9jXvscXYhV2WEWgwSN+KT7ph9ATrVCT8kU972nFPSTxnCBnyfoNRdBb3OK+V4xJ1BKJYKS0MOZwyi/OfqSYS5QlugjDRXzTRxbYKfOs7hGYlI/doSXBWHCWQ63g1MKH6QQSk6f+Nc0G/ALFRwCcmkATN20lu7MoGlI/0NceuAziQc7dVxkBxdJphNtFbwd/k4Hsj6pFhhIyQgfjNRT5A4VGSWt+0gfj+allkcx4s+erzGmM6aCXORYAqlxta5aPnWmhQEF32+D1PU2+OarGjxF8szrZsWaFrKYeW79nSfcH/8n0tUPf1jHUgWsBO2enCCXfc8d/W1Y98pr0mV+/ZyIj6s+TjZvcjfrFyuJm9XTyL9AHoGKvni9BN1rC0YqFjgCS+blYDsiKvASXfaC3g4iQq/ZE+T2shZ8AAQ9fVfM5QREIMXUJ24zqvJ4RSAP1y96G/X/gmy6aWX73TMKysC/6PqYm9dtxLhLYIuEUjBqK90PZ5AEmdV7bBMOO7HFHUku4WtQ8+Uvs1c1tT0ksrOlHE/Qy7deoHugMIoPdqudMOIMU576OTq9Hr4gaHqwPzZ0uZP5wsgewHrA06bBlhn9Nw+taKxdWOxwPsuMKX+bDDnFlGRmorCJe6/PrB7Bn5L17G4OhVAhFVTTjA/r/YO0ChwnZRNOyDZTKnLbVviMgPC9JjZpH0VOYr+Wd8c9PaSqKstTx5wsd2Ih4zDRUFNXhi2Awy7yMDutQ1UzGqDoHQPNcBR/78GAddMFG2gpttyzPWuNsMROce2WEnDWq1Q/Pf7gKhahOrKdjG19a6ge6B92wqH8xWSQC3+2QXaJVcWuaANuLLT/zV4LefPKFMp7vvxq/q0WKrg4JZMh3aTx5pfKRx4MLLIb4Q4uMFSK7PI/1VVHbCvsQUwEu/Ja51qhNsgYu+V6JR/Ys+kNT91BQTEss5pi+AV9MYTDL6aQqTVLvfV+td1VfPEoMHrEA/FaMWk10Wlnr+lcX/O91GIrspX2mmuJwUyyp4hzL22QmwoctaWeYgxMCvWpV5RCbhkHFvlM+ie53oiotaHaz4tIIwL9JO4m+39LQ+d/bzXhpfgSOnzn413peGR5Gust86rtVO6iy5mU0dAA2KDGPjwkGHV8dSpNAxM9MZelZOnJhnXr8Y5UEq1CIMZGwVidXhS6mv5i4P1tNEiuNyVzWZwxom5j2kgeq2qLuZXVRZGpbqdksSx6dFOHIEueZfSJ6xTQVSDdP30n1I0R9hrclO2l90M8jUVslGwt0+nRImirw/9E68jO0ORVKf30iQD+9PNYHdZx5cVJc5p9Cq6d3zQVICJrSilTfm9vK3GABHHOerjCe5bcS6zi5QpxQr1Sihf9FJ6UKQ4AkK/XenQzvcs1dWV3+qp35nJ77KfUB+c4MR+2Y0iVOqNBZvMmDcNtB6obzeevTjogL81vqsdxVqSY1kiCsdNRkDiStCeiaHuFQ6YR8StUKvdZObdU/Emgi6cPqR2ROIHO5TlIHZ5+J1dpmmZ9ydlz6IEyx5wTZKoTZUKnOJmJGnb+kXiBJYDnAUiROoWQgT54sxyYgQRrAxdaRQz/pDXVGznXrzIZ+GZ+cyqK185Afday72V7Zk/lWCHn0Qd0O0817Sc5LQgBe/n/CHB+baQfQAtk2iX8TX6bVUAsoFZDC2oVceJFZUjsf6/6OoLABn1RfJIzKV1u/bX2F2zd4DG6jrtKBpELeqz+kjG8UfpSZlS4/PdwLiR9cezZFIPmJH+yJZ2N3izPKuuBYUj2cATXDQ7hHw98QFSnIbnexJfV1l8Q3Vxr54JhiCS4bNo/4IExYxARs+kaco/m9zJE/v63H4P7TbEYULzKaaggsOFIUDU1UdZLpr6LEHx5jCqHbcQs9d5qEusumHS6ko9/OVWEd7xtInbKPLEneKKSf23neWFddgQ/+vFFXQub4yPmW/yrqqQzAGqdUipNhOim9Grf7Qh2ZHm2Df8vC3M8MmFacj5qLnnad0iwlBleeWj0vX4OXykxIPNuLPt97hHUE2RexPX5AdOX0JykRX/SRXxAAAAMBEGaQzwhkymH/wAN30Acql7QDPzQ//8yFEeEvVLXh5Bhmnr71r8w66/inRj/4N9cS+5oy/mVnBnv8H54nBaBJgQI5Ewuf+rolKu2v2xYoh+FjZrFAOHw0L/CB/VUhqwo6DSZ57y3pEK9MnKKvG1C1ZTJU1ptY7u3NEdH6BJzpYkgWO+ls8W8g+NQURhMzBdLyYaJ5oIYm4r62bbsTAVzngXTCCHurFXns+BjilrWeO653JdqyX6REgcMZKWIjD7ei0Uhq4j9swyz3MRzQI3fKUy6+WGvYsAMRNFYSLtvwdifH5/6DqEY5A0PnYQP8NJ1UpKznrDwR6UK9STxTcPx/UjH42axTdzRHOQEfwCcPrQeqXHpoBCoFVAM4nr9HjmQoqm7iVxAJ0fjJmBgVMrvRKgMM5XQdeHZ3plAhKSsjjq8zxCpajygbtIwJr3CQgY61yvjkUAOIcJc2Y1cLTHbh5O4hoKFo7YyyArwExI19yAceZupfGZvM8TYvOYzOicEV/3Z65onDGy598j9jaXXXJ+JEBNuP2henMIjO6OYUFT+boAF2k5B4hlo18KpKXHXMS/V2PQdaEGkv/JK5fygkkxPLzyPb4AMcPo6Yh+9dfuTXS0QNQUHmF0wQAEIeZPxY2B2xeNWOHiTKjmTPOj8zCQTmJzv/poGPB55HyYa0pJj8/ZaQ7BuAc8PXdpAnfWwFyYDYsO19WtI0CzV606wo6Fctd09kOLbJNnA8FNyMFWWCYAL8EDl9qpuU4FCTslyM2CwkX8kmdSkL8CaxAmg6/ThcASz8SGf+mSRPia8neEC1TVHCNDLd6dilxZHtL/hYPXlUi6VSCdPsSeZji1rbM8l/H4ACYV2lSP/mk4Q0mV+s/2O2jY4L8wHVFD0UDjxGw5JVuiw/LRVmtFQC9IQvOolXcLgO8YPLMaeB1Cw5y9OV8TX+jiUTWmx4aBAuKCgUurxG4klKo4yBLCM5HiqqBqSBj/mjndW14t4+SitNKUyUajeWyqniIV+0G2+99jBUxeEpcHfrWdlRLgUxhn4NT03VlrA70RpoMc71h6+R45WV4OXjxF8b2Q+4fWCJcOH+GR6eCJfjiAEhPUaiMwMKzag+4n00juGLek2TIydmpA5F+05nNloVq6V7UY2phudIOzZ17Qf2o5N1K1SFDNlKrp+Q7yqWoBi03QPewW0zpeSSTfx1zSqHsOKK/1W8tPmCC5o3h55yC4q3lAd+f27r2ih5PJMgXem+K1W4dFeXlJZSYA3JuTazUDy7+mtL/AxSL/HIuYraZmYjvTbT/9NQQ4FG1xJpbq0QWjqxCuKA0CvZ4vt42SG4f8m4nyj7P8gcuKUVHA/EhHW2t42P5CQFXLUHzsqL42cWq9nY9AA39w61FERevtct0RB7Vlk7tZtHx3eWkybBf3KbaQo+V3AVlW6/UE65Va21FYzdrvnrSgvozUjxTrnOo45etqyc8Wu+uN5gRGCh8DPLsPLXv/1gRWInMQdVVg2u9C+wVcwRK9HDYrWl0rGsJrkmZJF7mM4TMKikDj4CKg7i43+TsVUouGWWPQoCuzp1x5GcNIng54PgyStaUtNXHU9m0OizHsiMEY7tKoRHKxgswKcigPtPyZQRFxy3vxl7RqVSYNfsgLuAUU3CWhqb5Ojt5PQWEBi5ziKa49H8lj/elzC1ABD0td27T8sb5ZAqJ+elPEQbuhBLyez8rBdnGJeFTABjzXeoKwuAgdIJy8je9BMqvp9S9lGn+CfwP06npe6dONgT3TuI/b7bwvuEgqCacdJuGfz1B0gglMh+Twv4Vz0IcFNrAqNFJ+0V0GkVn6SLQAL+W7BF2j90I5bobDGyjHG0EMlfSAm/MjBlBNzlHH2y1RCs9On6OBj/D4eN7ya+Ta0waRTk5nFp6GaL/cH5c/xitZ5IR1qMvRYenZ+SpaxM1nB01ifhk+Kq0l1bGopdhJ4BVfU42AytUjEFUGdOOJMrYPHy2PHBHwDALKu6QxJ2wUa9AdYJmltDbjHPKjgBJfGdwYvujPKfzNy1D6jN6XBJWFVHvXtGuAwxVdMv7ZGWKcTLuTU4V5F1mRhjtbLuh/SXuMjWVVERG0j41/lLLdRqUMYSgaYmg2/gB152trUcWXKRZn9BVXciPa/3Lw6mRJOT3P3xu4dyoPpgq457gyyj8I89I2I22XPiO3xfog2oiO6plEQkpKCg5vM5IFSadQ/sV5KjG/PhIGfLx4PTJKSTSeskXHcMdWs99TcJa2ZutN8O6dV3YwXyqReG4ihO2u+HVa6uHo4hOA5j9yKk6mBPUgRMcWfWVWFVOAc83PmGr3IIlddNO7hOi50q5sYCbxJpdHMCU8l9N43DL8daMYRoPiFv4W+O0RQsAIJR3Evm1sogl0lj+9AewACxMA0+wphMfjzBb9KUg4BpO409yNyAyh5XTYzX1ksyatUx70CGwV5wRjGt1obELfucZHlW86NXtUxohT++bpImKjKx2wvDqypXgy2KawnJzyJXpNkTjAfT7DO4a4F2dyPYqz4RnM7wzJXH1H+lOGMX+eLs/ITHW+FGJoxfgYRurS6QsPB0Z9xLARHKaHmYQiPR5S5/ULCm5+YfmWnHJ5kRANukYZbRK3OwzIHOJykeHDZvNKIfp8V7eq+YZNY/DkuCofgLACmnd8/HYThO4GlNaj9amS55bR2sNz0VG6RGObtS3LkMIxbPeBto+x3J6NO5rD2ecs9bthAMBo6acB4iPXwMkbcV/ALU0KKLXdqVFwGAyGpWwMtAfu2zRl9QGDNE9ygVptv7HdU+6bzyJSUkcMmpiL7cUVCCSEqcnMggf7zaQBhb2iBne5V5iyGEL4GvbSOv/FYh9oEnay9XGHqKQ56K+FT4+VBeoFaHYQ1nSijj4Hse73lHkrjTB1ugUuXipwAQWmCbHNviSZhvjIRYRrI/XuzG/K/2/F/2KeLH2gJIch5kH9OqOHESA9UweVJ5eOm1pD6LsYgLeDvpXOe9+NaRc4beTQy4piwRqkfA/Sg5NipWM9E122EKQ117l7e+Gr1erzdFdiwWUo1KhDTQH2kK0qGyoOukgQkXgqt3HeACBmmsbT7upp9V9D6bxAir++9gTyGn+ECbz29kZC6HGVUCdAybXU7zDO32duSDrPcLVK8A1RUpv0w+cjfUYmVkWMhOaOSnSArlB26N3mYvZh9NAzCb/54t2EexPq0RlopqkCjV8tKK5ampPyiPl5DEaUxfILFOfbonKuZ39zAcepIiQrWl4cmAZIMic0d9pX/QWbnbr+qSmoL4HgTkkEHIxstw+U8DXMgqx7Qi2HyE1r/T0Hj525R14KODffmNPE3FfURHrVA0NSr7OSu36mABuSQDfwjYi9jMv5w+v6qrhrfe+w2/SVVjA+qPJuQGI8J9NzinJU2zMUx4bbzXIVDgtnsNGWSmv19H8YXLgIgER1/3/c+SiMdW+rX19zWLOx3evI1NdN/8oPa29iZ48a/TMOT8g7mzXBZtl1tncpxVpg+0rXk9XPklGye9ZJXrzrsD6BVLYGxpHiY7ZFKEAPKzwDaAKXfcMDJG6RHnQeTWxksQoLO//mkO3ml1aSQVEHZu6NIQWzSdck1anylocCAqNtttRC/eJt42cwIaHIUR2n9TClE3XwE2z2kDaky/MHtbIySp6ivUm/OQBBJRw64zo90eMApznUOGGX0cf2zwcU4lwRk8FPGC0Kh9fjh8Ee2kI9C6K05kBdqBoErZD2wBGgmhS65DzQG9ePtWEuugBwymNrX1lTy78nlXwNeNtrJHr6L1LiYEYBleksea+920w5VDvhw1EisgnACx0GOHX/E0yn2kD6TZ9/KZo+jr/1Xm+jdNzHlsf5H5qjm7JXpJxZrpzy3faprQcj+u5e+5ay72VjfHqHgcdgltb4CKj62eyoAESfrm3Qz8bBrimLhrT7Uwp4Gdlf/mQ0EmI16wn+234uu/9O6mt6NMhMZ69K4SYXy43i2Ntk4S88hjPjQ05nSSl2UXV50NPl7OEOPx66X9jMNcbIKqeIpM8Hc23mQdI8tatMsU0D6a0woXHxPRMIr2nVW7QpLGQy5pA4goULuPU6zqdVNtbtihuEAAACLAZ5iakn/BEXRwDCCcNpb4XKDqS/1iv6Seo0EZNk4grOqKD1/sNfRKFxLmPA7PBpPGSfQSmeajrwvwodM677BqY1d1EHk0BC+kTCeEOUljK9LyXhiOlgZEId73fM+DhS7l4rRuWgGbeGr7ix8gyH5eTBIQcR2CKLnastn5FDimjQqncdS7Sm38/xboAAAA1Ntb292AAAAbG12aGQAAAAAAAAAAAAAAAAAAAPoAAAPoAABAAABAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACfnRyYWsAAABcdGtoZAAAAAMAAAAAAAAAAAAAAAEAAAAAAAAPoAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAEAAAAACWAAAAlgAAAAAACRlZHRzAAAAHGVsc3QAAAAAAAAAAQAAD6AAAIAAAAEAAAAAAfZtZGlhAAAAIG1kaGQAAAAAAAAAAAAAAAAAAEAAAAEAAFXEAAAAAAAtaGRscgAAAAAAAAAAdmlkZQAAAAAAAAAAAAAAAFZpZGVvSGFuZGxlcgAAAAGhbWluZgAAABR2bWhkAAAAAQAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAABYXN0YmwAAACxc3RzZAAAAAAAAAABAAAAoWF2YzEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAACWAJYAEgAAABIAAAAAAAAAAEVTGF2YzYxLjE5LjEwMSBsaWJ4MjY0AAAAAAAAAAAAAAAY//8AAAA3YXZjQwFkABb/4QAaZ2QAFqzZQJgTeWWEAAADAAQAAAMACDxYtlgBAAZo6+JLIsD9+PgAAAAAFGJ0cnQAAAAAAABSWAAAAAAAAAAYc3R0cwAAAAAAAAABAAAABAAAQAAAAAAUc3RzcwAAAAAAAAABAAAAAQAAAChjdHRzAAAAAAAAAAMAAAACAACAAAAAAAEAAMAAAAAAAQAAQAAAAAAcc3RzYwAAAAAAAAABAAAAAQAAAAQAAAABAAAAJHN0c3oAAAAAAAAAAAAAAAQAABGeAAAK9wAADAgAAACPAAAAFHN0Y28AAAAAAAAAAQAAADAAAABhdWR0YQAAAFltZXRhAAAAAAAAACFoZGxyAAAAAAAAAABtZGlyYXBwbAAAAAAAAAAAAAAAACxpbHN0AAAAJKl0b28AAAAcZGF0YQAAAAEAAAAATGF2ZjYxLjcuMTAw\\\" type=\\\"video/mp4\\\"/>\\n\",\n       \"      This browser does not support the video tag.\\n\",\n       \"      </video></td></tr></table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"make_gif(info_si)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Result analysis\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:01.461295Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:01.461200Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:01.474045Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:01.473684Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# qpi is a posterior over whole policies (action sequences).\\n\",\n    \"# To get the probability of the *current* action, we marginalize over policies\\n\",\n    \"# that share the same first action and sum their qpi values.\\n\",\n    \"# helper functions for:\\n\",\n    \"# - printing out policies and respective probabilities of selecting those policies\\n\",\n    \"# - printing out action and observation info for each timestep\\n\",\n    \"\\n\",\n    \"np.set_printoptions(precision=2, suppress=True)\\n\",\n    \"\\n\",\n    \"def print_qpi(agent, info, print_t1=False):\\n\",\n    \"    qpi_values = info[\\\"qpi\\\"]\\n\",\n    \"\\n\",\n    \"    action_names = {\\n\",\n    \"        0: \\\"move to center\\\",\\n\",\n    \"        1: \\\"move to left arm\\\",\\n\",\n    \"        2: \\\"move to right arm\\\",\\n\",\n    \"        3: \\\"move to cue\\\",\\n\",\n    \"    }\\n\",\n    \"    max_timesteps = 1 if print_t1 else qpi_values.shape[1]\\n\",\n    \"\\n\",\n    \"    # unique_multiactions returns the unique first-step actions across policies\\n\",\n    \"    # for a single control factor, this is just a list of action indices\\n\",\n    \"    unique_actions = agent.unique_multiactions[:, 0]\\n\",\n    \"\\n\",\n    \"    for t in range(max_timesteps):\\n\",\n    \"        print(f\\\"Timestep {t}:\\\")\\n\",\n    \"        action_probs = agent.multiaction_probabilities(qpi_values[:, t, :])[0]\\n\",\n    \"\\n\",\n    \"        for action_idx, total_prob in zip(unique_actions.tolist(), action_probs.tolist()):\\n\",\n    \"            if action_idx < 0:\\n\",\n    \"                continue\\n\",\n    \"            action_name = action_names.get(action_idx, f\\\"action_{action_idx}\\\")\\n\",\n    \"            print(f\\\"  {action_name}: {total_prob:.3f}\\\")\\n\",\n    \"        print()\\n\",\n    \"\\n\",\n    \"def print_agent_behavior(info):\\n\",\n    \"\\n\",\n    \"    action_names = {0: \\\"move to center\\\", 1: \\\"move to left arm\\\", 2: \\\"move to right arm\\\", 3: \\\"move to cue\\\"}\\n\",\n    \"\\n\",\n    \"    location_obs = {0: \\\"center loc\\\", 1: \\\"left arm loc\\\", 2: \\\"right arm loc\\\", 3: \\\"cue-left-arm\\\", 4: \\\"cue-right-arm\\\"}\\n\",\n    \"    outcome_obs = {0: \\\"no_outcome\\\", 1: \\\"reward\\\", 2: \\\"punishment\\\"}\\n\",\n    \"\\n\",\n    \"    actions = info[\\\"action\\\"]\\n\",\n    \"    observations = info[\\\"observation\\\"]\\n\",\n    \"\\n\",\n    \"    num_timesteps = actions.shape[1]\\n\",\n    \"\\n\",\n    \"    for t in range(num_timesteps):\\n\",\n    \"        action_idx = int(actions[0, t, 0])  # [batch, timestep, action_dim]\\n\",\n    \"        action_name = action_names.get(action_idx, f\\\"action_{action_idx}\\\")\\n\",\n    \"\\n\",\n    \"        location_obs_idx = int(observations[0][0, t, 0])  # [modality][batch, timestep, obs_dim]\\n\",\n    \"        outcome_obs_idx = int(observations[1][0, t, 0])\\n\",\n    \"\\n\",\n    \"        location_name = location_obs.get(location_obs_idx)\\n\",\n    \"        outcome_name = outcome_obs.get(outcome_obs_idx)\\n\",\n    \"\\n\",\n    \"        print(f\\\"t={t}: observed=({location_name}, {outcome_name}) -> action={action_name}\\\")\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can see both agents select the optimal actions to go to the cue first and then go to the left arm to get a reward. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:01.475190Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:01.475112Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:01.512705Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:01.512455Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"t=0: observed=(center loc, no_outcome) -> action=move to cue\\n\",\n      \"t=1: observed=(cue-left-arm, no_outcome) -> action=move to left arm\\n\",\n      \"t=2: observed=(left arm loc, reward) -> action=move to left arm\\n\",\n      \"t=3: observed=(left arm loc, reward) -> action=move to left arm\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print_agent_behavior(info_vanilla)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:01.514071Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:01.513970Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:01.522916Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:01.522628Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"t=0: observed=(center loc, no_outcome) -> action=move to cue\\n\",\n      \"t=1: observed=(cue-left-arm, no_outcome) -> action=move to left arm\\n\",\n      \"t=2: observed=(left arm loc, reward) -> action=move to left arm\\n\",\n      \"t=3: observed=(left arm loc, reward) -> action=move to left arm\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print_agent_behavior(info_si)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now, to see how the two planning algorithms differ, let's examine how they evaluate policies... \\n\",\n    \"\\n\",\n    \"While both agents select the optimal strategy (information gathering first), they differ significantly in their confidence, with the SI agent shows much stronger preference for the information-gathering strategy.\\n\",\n    \"- Vanilla Agent: 81% probability for cue-seeking, 18% for staying at center\\n\",\n    \"- SI Agent: 98% probability for cue-seeking, <1% for staying at center\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:01.524335Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:01.524244Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:02.045804Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:02.045524Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Timestep 0:\\n\",\n      \"  move to center: 0.183\\n\",\n      \"  move to left arm: 0.004\\n\",\n      \"  move to right arm: 0.004\\n\",\n      \"  move to cue: 0.809\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print_qpi(agent_vanilla, info_vanilla, print_t1=True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:02.047026Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:02.046935Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:02.257558Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:02.257293Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Timestep 0:\\n\",\n      \"  move to center: 0.003\\n\",\n      \"  move to left arm: 0.008\\n\",\n      \"  move to right arm: 0.008\\n\",\n      \"  move to cue: 0.980\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print_qpi(agent_si, info_si, print_t1=True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Doing the same experiment but with the extended`TMaze` environment used in other demos\\n\",\n    \"\\n\",\n    \"This section mirrors the preceding section, but uses `pymdp`'s default T-Maze environment as used in the [T-Maze Demo](https://github.com/infer-actively/pymdp/blob/main/examples/envs/tmaze_demo.ipynb). It differs from the `SimplifiedTMaze` environment used before due to the restricted spatial geometry (middle connector that the agent must pass through to reach the two arms) and the fact that the cue and location modalities are split out into separate modalities. We set cue validity (cue probability) to 1.0, use `policy_len = 4` (to account for the additional planning depth required for navigating the T-Maze), and `observation_prune_threshold = 1e-4` for the SI search.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:02.258821Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:02.258747Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:02.267207Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:02.266928Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"from pymdp.envs import TMaze\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setting up the T-Maze environment (Generative Process)\\n\",\n    \"\\n\",\n    \"The rules/hyperparameters of the T-Maze are identical to the TMaze above, except that the generative process parameters (states and observations) are slightly different due to the factorization of the joint cue+location modality (embedded together in `SimplifiedTMaze`) into two separate modalities. \\n\",\n    \"\\n\",\n    \"<details>\\n\",\n    \"<summary> Click here to see how the generative process for the `TMaze` env (non-simplified) is set up. </summary>\\n\",\n    \"\\n\",\n    \"#### States and Observations\\n\",\n    \"\\n\",\n    \"**State Factors:**\\n\",\n    \"1. Location (5 states): \\n\",\n    \"    - 0: center (start location)\\n\",\n    \"    - 1: left arm\\n\",\n    \"    - 2: right arm\\n\",\n    \"    - 3: cue location (bottom arm)\\n\",\n    \"    - 4: middle (junction between center and arms)\\n\",\n    \"2. Reward Location (2 states):\\n\",\n    \"    - 0: reward in left arm \\n\",\n    \"    - 1: reward in right arm\\n\",\n    \"\\n\",\n    \"**Control State Factors:**\\n\",\n    \"1. Location (5 actions): \\n\",\n    \"    - 0: move to center (start location)\\n\",\n    \"    - 1: move to left arm\\n\",\n    \"    - 2: move to right arm\\n\",\n    \"    - 3: move to cue location (bottom arm)\\n\",\n    \"    - 4: move to middle (junction)\\n\",\n    \"\\n\",\n    \"**Observation Modalities:**\\n\",\n    \"1. Location (5 observations):\\n\",\n    \"    - 0: center (start location)\\n\",\n    \"    - 1: left arm\\n\",\n    \"    - 2: right arm\\n\",\n    \"    - 3: cue location (bottom arm)\\n\",\n    \"    - 4: middle (junction)\\n\",\n    \"2. Outcome (3 observations):\\n\",\n    \"    - 0: no outcome\\n\",\n    \"    - 1: reward (cheese)\\n\",\n    \"    - 2: punishment (shock)\\n\",\n    \"3. Cue (3 observations):\\n\",\n    \"    - 0: no cue\\n\",\n    \"    - 1: cue indicates left arm\\n\",\n    \"    - 2: cue indicates right arm\\n\",\n    \"\\n\",\n    \"#### Environment Parameters\\n\",\n    \"\\n\",\n    \"**Observation Likelihood Model (A):**\\n\",\n    \"- A[0]: Location observations (5x5 tensor)\\n\",\n    \"  - Perfect mapping between true and observed locations.\\n\",\n    \"- A[1]: Outcome observations (3x5x2 tensor)\\n\",\n    \"  - In the rewarding arm (set by `reward_condition`), reward is presented with a likelihood determined by the `reward_probability` parameter.\\n\",\n    \"  - Punishment and/or no-outcome are presented with a likelihood determined depending on if `dependent_outcomes` is True or False and consequently by the `punishment_probability` parameter.\\n\",\n    \"  - No-outcome is observed in the center/start location, cue location, and middle.\\n\",\n    \"- A[2]: Cue observations (3x5x2 tensor)\\n\",\n    \"  - The cue is only observed at the cue location, with accuracy set by `cue_validity`.\\n\",\n    \"  - No cue is observed at all other locations.\\n\",\n    \"\\n\",\n    \"**Transition Model (B):**\\n\",\n    \"- B[0]: Location transitions (5x5x5 tensor)\\n\",\n    \"  - Agent can move between adjacent locations in the T-maze; invalid moves leave the agent in place.\\n\",\n    \"- B[1]: Reward location (2x2x1 tensor)\\n\",\n    \"  - Reward location remains fixed throughout trial.\\n\",\n    \"\\n\",\n    \"**Initial Conditions (D):**\\n\",\n    \"- D[0]: Starting location (5x1 tensor)\\n\",\n    \"  - Agent always begins in center location\\n\",\n    \"- D[1]: Reward placement (2x1 tensor)\\n\",\n    \"  - Default: Equal chance (50/50) of reward in either arm (`reward_condition=None`)\\n\",\n    \"  - Optional: Can fix reward to specific arm, by setting `reward_condition` to `0` (for left arm) or `1` (for right arm)\\n\",\n    \"\\n\",\n    \"</details>\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 19,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:02.268359Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:02.268289Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:02.275050Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:02.274830Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# setting the parameters for the environment\\n\",\n    \"reward_condition = 0 # 0 is reward in left arm, 1 is reward in right arm, None is random allocation\\n\",\n    \"cue_validity = 1.0 # 100% valid cues (cue probability)\\n\",\n    \"\\n\",\n    \"reward_probability = 1.0 # 100% chance of reward in the correct arm\\n\",\n    \"dependent_outcomes = True # if True, punishment occurs as a function of reward probability (i.e., if reward probability is 0.8, then 20% punishment). If False, punishment occurs with set probability (i.e., 20% no outcome and punishment will only occur in the other (non-rewarding) arm depending on the punishment_probability parameter)\\n\",\n    \"punishment_probability = 1.0 # 100% chance of punishment in the other arm\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 20,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:02.276198Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:02.276130Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:02.468939Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:02.468537Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# initializing the environment. see tmaze.py in pymdp/envs for the implementation details\\n\",\n    \"env = TMaze(\\n\",\n    \"    reward_condition=reward_condition,\\n\",\n    \"    cue_validity=cue_validity,  \\n\",\n    \"    reward_probability=reward_probability,\\n\",\n    \"    punishment_probability=punishment_probability,     \\n\",\n    \"    dependent_outcomes=dependent_outcomes,\\n\",\n    \")\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Setting up the Agents\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 21,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:02.470266Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:02.470180Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:02.480041Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:02.479797Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# creating C tensors filled with zeros for [location], [reward], [cue] based on A shapes for the Agent\\n\",\n    \"C = [jnp.zeros(a.shape[0], dtype=jnp.float32) for a in env.A] \\n\",\n    \"\\n\",\n    \"# setting preferences for outcomes only\\n\",\n    \"C[1] = C[1].at[1].set(2.0)    # prefer reward\\n\",\n    \"C[1] = C[1].at[2].set(-6.0)   # avoid punishment\\n\",\n    \"\\n\",\n    \"# slight cost of observing a cue\\n\",\n    \"C[2] = C[2].at[1].set(-0.5) \\n\",\n    \"C[2] = C[2].at[2].set(-0.5)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 22,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:02.481139Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:02.481067Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:02.515618Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:02.515309Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# D tensors [location], [reward] based on B shapes for the agent\\n\",\n    \"# - agent starts in the center location\\n\",\n    \"# - reward location prior is uniform\\n\",\n    \"D_loc = jnp.zeros(env.B[0].shape[0], dtype=jnp.float32)\\n\",\n    \"D_loc = D_loc.at[0].set(1.0)\\n\",\n    \"\\n\",\n    \"D_reward = jnp.ones(env.B[1].shape[0], dtype=jnp.float32)\\n\",\n    \"D_reward = D_reward / jnp.sum(D_reward, axis=0, keepdims=True)\\n\",\n    \"\\n\",\n    \"D = [D_loc, D_reward]\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 23,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:02.516898Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:02.516821Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:03.124129Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:03.123813Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61048/2056066623.py:10: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agent_vanilla = Agent(\\n\",\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61048/2056066623.py:22: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agent_si = Agent(\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# note that we initialize agents with different policy lengths for the vanilla vs sophisticated inference planning algorithms\\n\",\n    \"# even though both will eventually end up planning with a horizon of 4. The sophisticated inference planning algorithm requires\\n\",\n    \"# a policy length of 1 in the Agent as we specify horizon length of 4 when initializing the planning algorithm in the `rollout`.\\n\",\n    \"\\n\",\n    \"# action_selection=\\\"deterministic\\\" means selecting an action from the policy probability distribution (q_pi) by arg-maxxing\\n\",\n    \"# sampling_mode=\\\"full\\\" means evaluating the whole action sequence in each policy and executing the first action (as opposed to marginal where the agent evaluates each action type)\\n\",\n    \"\\n\",\n    \"gamma = 3.0\\n\",\n    \"policy_len = 4 \\n\",\n    \"agent_vanilla = Agent(\\n\",\n    \"    env.A, env.B, C, D, \\n\",\n    \"    A_dependencies=env.A_dependencies, \\n\",\n    \"    B_dependencies=env.B_dependencies,\\n\",\n    \"    policy_len=policy_len,\\n\",\n    \"    learn_A=False,\\n\",\n    \"    learn_B=False,\\n\",\n    \"    action_selection=\\\"deterministic\\\",\\n\",\n    \"    sampling_mode=\\\"full\\\",\\n\",\n    \"    gamma=gamma,\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"agent_si = Agent(\\n\",\n    \"    env.A, env.B, C, D, \\n\",\n    \"    A_dependencies=env.A_dependencies, \\n\",\n    \"    B_dependencies=env.B_dependencies,\\n\",\n    \"    policy_len=1,\\n\",\n    \"    learn_A=False,\\n\",\n    \"    learn_B=False,\\n\",\n    \"    action_selection=\\\"deterministic\\\",\\n\",\n    \"    sampling_mode=\\\"full\\\",\\n\",\n    \"    gamma=gamma,\\n\",\n    \")\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Running the active inference rollouts\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 24,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:03.125390Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:03.125293Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:03.134006Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:03.133672Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"key = jr.PRNGKey(0) \\n\",\n    \"T = 5\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 25,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:03.135256Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:03.135176Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:03.142772Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:03.142315Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"si_search = si_policy_search(\\n\",\n    \"    horizon=policy_len, # plans 4 timesteps ahead\\n\",\n    \"    max_nodes=5000, # maximum number of nodes allowed in the tree\\n\",\n    \"    max_branching=45, # maximum number of children allowed per node (moderating the branching factor)\\n\",\n    \"    policy_prune_threshold=0.0, # no pruning of unlikely policies\\n\",\n    \"    observation_prune_threshold=1e-4, # no pruning of unlikely observations\\n\",\n    \"    entropy_stop_threshold=0.0, # disabling halting of expansion if agent is certain enough\\n\",\n    \"    neg_efe_stop_threshold=1e10, # disabling efe value based halting of expansion\\n\",\n    \"    kl_threshold=-1, # disabling node reuse if agent is in similar states after an action\\n\",\n    \"    prune_penalty=512, # default value for prune penalty\\n\",\n    \"    gamma=gamma, # temperature parameter; lower value (---> 1) prunes policies less aggressively as probabilities are flattened while higher value (---> 16) prunes more aggressively\\n\",\n    \"    topk_obsspace=10000, # max number of top observation combinations - this default value just means we want to consider all the observation combinations\\n\",\n    \")\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 26,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:03.143984Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:03.143902Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:06.213280Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:06.212996Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"_, info_vanilla = rollout(agent_vanilla, env, num_timesteps=T, rng_key=key) # default policy search is vanilla\\n\",\n    \"_, info_si = rollout(agent_si, env, num_timesteps=T, rng_key=key, policy_search=si_search)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 27,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:06.215016Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:06.214922Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:06.224643Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:06.224077Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"def make_gif(info):\\n\",\n    \"    frames = []\\n\",\n    \"    for t in range(info[\\\"observation\\\"][0].shape[1]):  # iterate over timesteps\\n\",\n    \"        # get observations for this timestep\\n\",\n    \"        observations_t = [\\n\",\n    \"            info[\\\"observation\\\"][0][:, t, :],\\n\",\n    \"            info[\\\"observation\\\"][1][:, t, :],  \\n\",\n    \"            info[\\\"observation\\\"][2][:, t, :],\\n\",\n    \"        ]\\n\",\n    \"        \\n\",\n    \"        frame = env.render(mode=\\\"rgb_array\\\", observations=observations_t) # render the environment using the observations for this timestep\\n\",\n    \"        frame = np.asarray(frame, dtype=np.uint8)\\n\",\n    \"        plt.close()  # close the figure to prevent memory leak\\n\",\n    \"        frames.append(frame)\\n\",\n    \"\\n\",\n    \"    frames = np.array(frames, dtype=np.uint8)\\n\",\n    \"    mediapy.show_video(frames, fps=1)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 28,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:06.226122Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:06.226036Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:07.084714Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:07.084232Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table class=\\\"show_videos\\\" style=\\\"border-spacing:0px;\\\"><tr><td style=\\\"padding:1px;\\\"><video controls width=\\\"600\\\" height=\\\"600\\\" style=\\\"object-fit:cover;\\\" loop autoplay muted>\\n\",\n       \"      <source src=\\\"data:video/mp4;base64,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\\\" type=\\\"video/mp4\\\"/>\\n\",\n       \"      This browser does not support the video tag.\\n\",\n       \"      </video></td></tr></table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"make_gif(info_vanilla)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 29,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:07.086134Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:07.086057Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:07.907502Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:07.907193Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/html\": [\n       \"<table class=\\\"show_videos\\\" style=\\\"border-spacing:0px;\\\"><tr><td style=\\\"padding:1px;\\\"><video controls width=\\\"600\\\" height=\\\"600\\\" style=\\\"object-fit:cover;\\\" loop autoplay muted>\\n\",\n       \"      <source src=\\\"data:video/mp4;base64,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\\\" type=\\\"video/mp4\\\"/>\\n\",\n       \"      This browser does not support the video tag.\\n\",\n       \"      </video></td></tr></table>\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.HTML object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"make_gif(info_si)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Result analysis\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 30,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:07.908846Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:07.908757Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:07.921807Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:07.921532Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# qpi is a posterior over whole policies (action sequences).\\n\",\n    \"# To get the probability of the *current* action, we marginalize over policies\\n\",\n    \"# that share the same first action and sum their qpi values.\\n\",\n    \"# helper functions for:\\n\",\n    \"# - printing out policies and respective probabilities of selecting those policies\\n\",\n    \"# - printing out action and observation info for each timestep\\n\",\n    \"\\n\",\n    \"np.set_printoptions(precision=2, suppress=True)\\n\",\n    \"\\n\",\n    \"def print_qpi(agent, info, print_t1=False):\\n\",\n    \"    qpi_values = info[\\\"qpi\\\"]\\n\",\n    \"\\n\",\n    \"    action_names = {\\n\",\n    \"        0: \\\"move to center\\\",\\n\",\n    \"        1: \\\"move to left arm\\\",\\n\",\n    \"        2: \\\"move to right arm\\\",\\n\",\n    \"        3: \\\"move to cue\\\",\\n\",\n    \"        4: \\\"move to middle\\\",\\n\",\n    \"    }\\n\",\n    \"    max_timesteps = 1 if print_t1 else qpi_values.shape[1]\\n\",\n    \"\\n\",\n    \"    # unique_multiactions returns the unique first-step actions across policies\\n\",\n    \"    # for a single control factor, this is just a list of action indices\\n\",\n    \"    unique_actions = agent.unique_multiactions[:, 0]\\n\",\n    \"\\n\",\n    \"    for t in range(max_timesteps):\\n\",\n    \"        print(f\\\"Timestep {t}:\\\")\\n\",\n    \"        action_probs = agent.multiaction_probabilities(qpi_values[:, t, :])[0]\\n\",\n    \"\\n\",\n    \"        for action_idx, total_prob in zip(unique_actions.tolist(), action_probs.tolist()):\\n\",\n    \"            if action_idx < 0:\\n\",\n    \"                continue\\n\",\n    \"            action_name = action_names.get(action_idx, f\\\"action_{action_idx}\\\")\\n\",\n    \"            print(f\\\"  {action_name}: {total_prob:.3f}\\\")\\n\",\n    \"        print()\\n\",\n    \"\\n\",\n    \"def print_agent_behavior(info):\\n\",\n    \"\\n\",\n    \"    action_names = {\\n\",\n    \"        0: \\\"move to center\\\",\\n\",\n    \"        1: \\\"move to left arm\\\",\\n\",\n    \"        2: \\\"move to right arm\\\",\\n\",\n    \"        3: \\\"move to cue\\\",\\n\",\n    \"        4: \\\"move to middle\\\",\\n\",\n    \"    }\\n\",\n    \"    \\n\",\n    \"    location_obs = {\\n\",\n    \"        0: \\\"center loc\\\",\\n\",\n    \"        1: \\\"left arm loc\\\",\\n\",\n    \"        2: \\\"right arm loc\\\",\\n\",\n    \"        3: \\\"cue loc\\\",\\n\",\n    \"        4: \\\"middle loc\\\",\\n\",\n    \"    }\\n\",\n    \"    outcome_obs = {0: \\\"no_outcome\\\", 1: \\\"reward\\\", 2: \\\"punishment\\\"}\\n\",\n    \"    cue_obs = {0: \\\"no cue\\\", 1: \\\"cue-left\\\", 2: \\\"cue-right\\\"}\\n\",\n    \"    \\n\",\n    \"    actions = info[\\\"action\\\"]\\n\",\n    \"    observations = info[\\\"observation\\\"]\\n\",\n    \"    \\n\",\n    \"    num_timesteps = actions.shape[1]\\n\",\n    \"    \\n\",\n    \"    for t in range(num_timesteps):\\n\",\n    \"        action_idx = int(actions[0, t, 0])  # [batch, timestep, action_dim]\\n\",\n    \"        action_name = action_names.get(action_idx, f\\\"action_{action_idx}\\\")\\n\",\n    \"        \\n\",\n    \"        location_obs_idx = int(observations[0][0, t, 0])  # [modality][batch, timestep, obs_dim]\\n\",\n    \"        outcome_obs_idx = int(observations[1][0, t, 0])\\n\",\n    \"        cue_obs_idx = int(observations[2][0, t, 0])\\n\",\n    \"        \\n\",\n    \"        location_name = location_obs.get(location_obs_idx)\\n\",\n    \"        outcome_name = outcome_obs.get(outcome_obs_idx)\\n\",\n    \"        cue_name = cue_obs.get(cue_obs_idx)\\n\",\n    \"        \\n\",\n    \"        print(f\\\"t={t}: observed=({location_name}, {outcome_name}, {cue_name}) -> action={action_name}\\\")\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"With the classic T-maze's adjacency constraints (and the extra middle location), reaching the reward after sampling the cue takes multiple steps. With the current horizon (4) and `T=5`, you should see cue-seeking and movement toward the chosen arm; increase `policy_len` and/or `T` if you want longer sequences.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 31,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:07.923120Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:07.923047Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:07.952261Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:07.952001Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"t=0: observed=(center loc, no_outcome, no cue) -> action=move to cue\\n\",\n      \"t=1: observed=(cue loc, no_outcome, cue-left) -> action=move to center\\n\",\n      \"t=2: observed=(center loc, no_outcome, no cue) -> action=move to middle\\n\",\n      \"t=3: observed=(middle loc, no_outcome, no cue) -> action=move to left arm\\n\",\n      \"t=4: observed=(left arm loc, reward, no cue) -> action=move to center\\n\",\n      \"t=5: observed=(left arm loc, reward, no cue) -> action=move to center\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print_agent_behavior(info_vanilla)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 32,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:07.953763Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:07.953663Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:07.963337Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:07.963090Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"t=0: observed=(center loc, no_outcome, no cue) -> action=move to cue\\n\",\n      \"t=1: observed=(cue loc, no_outcome, cue-left) -> action=move to center\\n\",\n      \"t=2: observed=(center loc, no_outcome, no cue) -> action=move to middle\\n\",\n      \"t=3: observed=(middle loc, no_outcome, no cue) -> action=move to left arm\\n\",\n      \"t=4: observed=(left arm loc, reward, no cue) -> action=move to center\\n\",\n      \"t=5: observed=(left arm loc, reward, no cue) -> action=move to center\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print_agent_behavior(info_si)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now, to see how the two planning algorithms differ, let's examine how they evaluate policies... \\n\",\n    \"\\n\",\n    \"With `cue_validity = 1.0`, both planners should prefer information gathering, but the SI planner typically yields a sharper (more confident) posterior over policies. Compare how each planner's probabilities shift with the longer horizon.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 33,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:07.964611Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:07.964506Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:08.564500Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:08.564141Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Timestep 0:\\n\",\n      \"  move to center: 0.142\\n\",\n      \"  move to left arm: 0.142\\n\",\n      \"  move to right arm: 0.142\\n\",\n      \"  move to cue: 0.539\\n\",\n      \"  move to middle: 0.036\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print_qpi(agent_vanilla, info_vanilla, print_t1=True)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 34,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:08.565830Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:08.565750Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:08.781566Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:08.781263Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Timestep 0:\\n\",\n      \"  move to center: 0.001\\n\",\n      \"  move to left arm: 0.001\\n\",\n      \"  move to right arm: 0.001\\n\",\n      \"  move to cue: 0.810\\n\",\n      \"  move to middle: 0.186\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"print_qpi(agent_si, info_si, print_t1=True)\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \".venv\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.11.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/inductive_inference/inductive_inference_example.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Imports\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from pymdp import control\\n\",\n    \"import jax.numpy as jnp\\n\",\n    \"import jax.tree_util as jtu\\n\",\n    \"from jax import random as jr\\n\",\n    \"from jax import nn\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Set up generative model (random one with trivial observation model)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# Set up a generative model\\n\",\n    \"num_states = [5, 3]\\n\",\n    \"num_controls = [2, 2]\\n\",\n    \"\\n\",\n    \"# make some arbitrary policies (policy depth 3, 2 control factors)\\n\",\n    \"policy_1 = jnp.array([[0, 1],\\n\",\n    \"                         [1, 1],\\n\",\n    \"                         [0, 0]])\\n\",\n    \"policy_2 = jnp.array([[1, 0],\\n\",\n    \"                        [0, 0],\\n\",\n    \"                        [1, 1]])\\n\",\n    \"policy_matrix = jnp.stack([policy_1, policy_2]) \\n\",\n    \"\\n\",\n    \"# observation modalities (isomorphic/identical to hidden states, just need to include for the need to include likleihood model)\\n\",\n    \"num_obs = [5, 3]\\n\",\n    \"num_factors = len(num_states)\\n\",\n    \"num_modalities = len(num_obs)\\n\",\n    \"\\n\",\n    \"# sample parameters of the model (A, B, C)\\n\",\n    \"key = jr.PRNGKey(1)\\n\",\n    \"factor_keys = jr.split(key, num_factors)\\n\",\n    \"\\n\",\n    \"d = [0.1* jr.uniform(factor_key, (ns,)) for factor_key, ns in zip(factor_keys, num_states)]\\n\",\n    \"qs_init = [jr.dirichlet(factor_key, d_f) for factor_key, d_f  in zip(factor_keys, d)]\\n\",\n    \"A = [jnp.eye(no) for no in num_obs]\\n\",\n    \"\\n\",\n    \"factor_keys = jr.split(factor_keys[-1], num_factors)\\n\",\n    \"b = [jr.uniform(factor_keys[f], shape=(num_controls[f], num_states[f], num_states[f])) for f in range(num_factors)]\\n\",\n    \"b_sparse = [jnp.where(b_f < 0.75, 1e-5, b_f) for b_f in b]\\n\",\n    \"B = [jnp.swapaxes(jr.dirichlet(factor_keys[f], b_sparse[f]), 2, 0) for f in range(num_factors)]\\n\",\n    \"\\n\",\n    \"modality_keys = jr.split(factor_keys[-1], num_modalities)\\n\",\n    \"C = [nn.one_hot(jr.randint(modality_keys[m], shape=(1,), minval=0, maxval=num_obs[m]), num_obs[m]) for m in range(num_modalities)]\\n\",\n    \"\\n\",\n    \"# trivial dependencies -- factor 1 drives modality 1, etc.\\n\",\n    \"A_dependencies = [[0], [1]]\\n\",\n    \"B_dependencies = [[0], [1]]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Generate sparse constraints vectors `H` and inductive matrix `I`, using inductive parameters like depth and threshold \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# generate random constraints (H vector)\\n\",\n    \"factor_keys = jr.split(key, num_factors)\\n\",\n    \"H = [jr.uniform(factor_key, (ns,)) for factor_key, ns in zip(factor_keys, num_states)]\\n\",\n    \"H = [jnp.where(h < 0.75, 0., 1.) for h in H]\\n\",\n    \"\\n\",\n    \"# depth and threshold for inductive planning algorithm. I made policy-depth equal to inductive planning depth, out of ignorance -- need to ask Tim or Tommaso about this\\n\",\n    \"inductive_depth, inductive_threshold = 3, 0.5\\n\",\n    \"I = control.generate_I_matrix(H, B, inductive_threshold, inductive_depth)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Evaluate posterior probability of policies and negative EFE using new version of `update_posterior_policies`\\n\",\n    \"#### This function no longer computes info gain (for both states and parameters) since deterministic model is assumed, and includes new inductive matrix `I` and `inductive_epsilon` parameter\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# evaluate Q(pi) and negative EFE using the inductive planning algorithm\\n\",\n    \"\\n\",\n    \"E = jnp.ones(policy_matrix.shape[0])\\n\",\n    \"pA = jtu.tree_map(lambda a: jnp.ones_like(a), A)\\n\",\n    \"pB = jtu.tree_map(lambda b: jnp.ones_like(b), B)\\n\",\n    \"\\n\",\n    \"q_pi, neg_efe = control.update_posterior_policies_inductive(policy_matrix, qs_init, A, B, C, E, pA, pB, A_dependencies, B_dependencies, I, gamma=16.0, use_utility=True, use_inductive=True, inductive_epsilon=1e-3)\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"pymdp_dev_env\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.11.11\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/inductive_inference/inductive_inference_gridworld.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Imports\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:10.138587Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:10.138354Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:14.052446Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:14.052121Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"import jax.tree_util as jtu\\n\",\n    \"from jax import numpy as jnp, random as jr\\n\",\n    \"from jax import nn, vmap\\n\",\n    \"from equinox import tree_at\\n\",\n    \"\\n\",\n    \"import numpy as np\\n\",\n    \"\\n\",\n    \"from pymdp.envs import GridWorld, rollout\\n\",\n    \"from pymdp import control\\n\",\n    \"from pymdp.agent import Agent\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Grid world generative model\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:14.054405Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:14.054246Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:14.378834Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:14.378553Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# size of the grid world\\n\",\n    \"grid_shape = (7, 7)\\n\",\n    \"\\n\",\n    \"# start in the middle of the grid\\n\",\n    \"env = GridWorld(shape=grid_shape, initial_position=(3,3), include_stay=False)\\n\",\n    \"\\n\",\n    \"desired_state = (6,6)  # bottom right corner\\n\",\n    \"# get linear index of desired state\\n\",\n    \"desired_state_id = env.coords_to_index(shape=grid_shape, coord=desired_state)\\n\",\n    \"\\n\",\n    \"# create helpful num_obs and num_states lists (lists of observation dimensions per modality, and state dimensions per factor, respectively)\\n\",\n    \"num_obs = [a.shape[0] for a in env.A]\\n\",\n    \"num_states = [b.shape[0] for b in env.B]\\n\",\n    \"num_controls = [b.shape[-1] for b in env.B]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Planning and inductive inference parameters\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:14.380265Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:14.380186Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:14.445066Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:14.444718Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# number of agents\\n\",\n    \"batch_size = 5\\n\",\n    \"\\n\",\n    \"planning_horizon, inductive_threshold = 1, 0.1\\n\",\n    \"inductive_depth = 7\\n\",\n    \"policy_matrix = control.construct_policies(num_states, num_controls, policy_len=planning_horizon)\\n\",\n    \"\\n\",\n    \"# inductive planning goal states\\n\",\n    \"H = [jnp.broadcast_to(nn.one_hot(desired_state_id, num_states[0]), (batch_size, num_states[0]))] # list of factor-specific goal vectors (shape of each is (n_batches, num_states[f]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Initialize an `Agent()`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:14.446460Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:14.446379Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:15.109623Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:15.109349Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61059/4163094735.py:6: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agent = Agent(A, B, C, D, batch_size=batch_size, policies=policy_matrix, policy_len=planning_horizon,\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# create agent, using generative process parameters from the environment to initialize the generative model\\n\",\n    \"A = env.A\\n\",\n    \"B = env.B\\n\",\n    \"C = [jnp.repeat(nn.one_hot(desired_state_id, num_states[0])[None, :], batch_size, axis=0)] # preferred outcomes (shape of each is (n_batches, num_obs[f]))\\n\",\n    \"D = env.D\\n\",\n    \"agent = Agent(A, B, C, D, batch_size=batch_size, policies=policy_matrix, policy_len=planning_horizon, \\n\",\n    \"            inductive_depth=inductive_depth, inductive_threshold=inductive_threshold,\\n\",\n    \"            H=H, use_utility=True, use_states_info_gain=False, use_param_info_gain=False, use_inductive=True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Run active inference\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:15.110855Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:15.110771Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:16.107364Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:16.106994Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"T = 7 \\n\",\n    \"last, info = rollout(agent, env, num_timesteps=T, rng_key = jr.PRNGKey(0))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:16.108728Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:16.108649Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:16.111586Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:16.111341Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"(5, 8)\"\n      ]\n     },\n     \"execution_count\": 6,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    }\n   ],\n   \"source\": [\n    \"info['env_state'][0].shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:16.112658Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:16.112589Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:16.232366Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:16.232099Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Grid position for agent 2 at time 0: (3, 3)\\n\",\n      \"Grid position for agent 2 at time 1: (3, 4)\\n\",\n      \"Grid position for agent 2 at time 2: (3, 5)\\n\",\n      \"Grid position for agent 2 at time 3: (3, 6)\\n\",\n      \"Grid position for agent 2 at time 4: (4, 6)\\n\",\n      \"Grid position for agent 2 at time 5: (5, 6)\\n\",\n      \"Grid position for agent 2 at time 6: (6, 6)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"agent_id_to_track = 1\\n\",\n    \"for t in range(T):\\n\",\n    \"    state_time_t = env.index_to_coords(shape=grid_shape, idx=info['env_state'][0][agent_id_to_track, t])\\n\",\n    \"    print(f\\\"Grid position for agent {agent_id_to_track+1} at time {t}: {state_time_t}\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Now the agent starts further from the goal and thus need more timesteps to reach it\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:16.233977Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:16.233839Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:16.249571Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:16.249295Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"# size of the grid world\\n\",\n    \"grid_shape = (7, 7)\\n\",\n    \"\\n\",\n    \"# number of agents\\n\",\n    \"batch_size = 5\\n\",\n    \"\\n\",\n    \"# start in the upper left corner this time\\n\",\n    \"upper_left_initial_states = [jnp.repeat(jnp.array(env.coords_to_index(shape=grid_shape, coord=(0,0))), batch_size, axis=0)]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Increase inductive planning depth in order to compute the needed inductive planning matrix \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:16.250817Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:16.250732Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:16.253357Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:16.253075Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"planning_horizon, inductive_threshold = 1, 0.1\\n\",\n    \"inductive_depth = 14\\n\",\n    \"policy_matrix = control.construct_policies(num_states, num_controls, policy_len=planning_horizon)\\n\",\n    \"\\n\",\n    \"# inductive planning goal states\\n\",\n    \"H = [jnp.broadcast_to(nn.one_hot(desired_state_id, num_states[0]), (batch_size, num_states[0]))] # list of factor-specific goal vectors (shape of each is (n_batches, num_states[f]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:16.254701Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:16.254624Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:16.382125Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:16.381861Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61059/1146799413.py:5: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agent = Agent(A, B, C, D, batch_size=batch_size, policies=policy_matrix, policy_len=planning_horizon,\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# create agent, using generative process parameters from the environment to initialize the generative model\\n\",\n    \"A, B = [jnp.broadcast_to(a, (batch_size,) + a.shape) for a in env.A], [jnp.broadcast_to(b, (batch_size,) + b.shape) for b in env.B]\\n\",\n    \"C = [jnp.repeat(nn.one_hot(desired_state_id, num_states[0])[None, :], batch_size, axis=0)] # preferred outcomes (shape of each is (n_batches, num_obs[f]))\\n\",\n    \"D = [nn.one_hot(upper_left_initial_states[0], num_states[0])] # need to do this since the D of the environment won't match the env state if you reset to a different state\\n\",\n    \"agent = Agent(A, B, C, D, batch_size=batch_size, policies=policy_matrix, policy_len=planning_horizon, \\n\",\n    \"            inductive_depth=inductive_depth, inductive_threshold=inductive_threshold,\\n\",\n    \"            H=H, use_utility=True, use_states_info_gain=False, use_param_info_gain=False, use_inductive=True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Run active inference\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:16.383442Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:16.383329Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:17.230297Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:17.229993Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"T = 14\\n\",\n    \"# construct a partial initial_carry that only overwrites env_state/observation\\n\",\n    \"init_obs, init_env_state = vmap(env.reset)(\\n\",\n    \"    jr.split(jr.PRNGKey(1), batch_size), state=upper_left_initial_states\\n\",\n    \")\\n\",\n    \"initial_carry_overwrite = {\\\"observation\\\": init_obs, \\\"env_state\\\": init_env_state}\\n\",\n    \"last, info = rollout(agent, env, num_timesteps=T, rng_key = jr.PRNGKey(0), initial_carry=initial_carry_overwrite)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:17.231657Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:17.231576Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:17.252610Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:17.252328Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Grid position for agent 2 at time 0: (0, 0)\\n\",\n      \"Grid position for agent 2 at time 1: (0, 1)\\n\",\n      \"Grid position for agent 2 at time 2: (0, 2)\\n\",\n      \"Grid position for agent 2 at time 3: (0, 3)\\n\",\n      \"Grid position for agent 2 at time 4: (0, 4)\\n\",\n      \"Grid position for agent 2 at time 5: (0, 5)\\n\",\n      \"Grid position for agent 2 at time 6: (0, 6)\\n\",\n      \"Grid position for agent 2 at time 7: (1, 6)\\n\",\n      \"Grid position for agent 2 at time 8: (2, 6)\\n\",\n      \"Grid position for agent 2 at time 9: (3, 6)\\n\",\n      \"Grid position for agent 2 at time 10: (4, 6)\\n\",\n      \"Grid position for agent 2 at time 11: (5, 6)\\n\",\n      \"Grid position for agent 2 at time 12: (6, 6)\\n\",\n      \"Grid position for agent 2 at time 13: (6, 6)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"agent_id_to_track = 1\\n\",\n    \"for t in range(T):\\n\",\n    \"    state_time_t = env.index_to_coords(shape=grid_shape, idx=info['env_state'][0][agent_id_to_track, t])\\n\",\n    \"    print(f\\\"Grid position for agent {agent_id_to_track+1} at time {t}: {state_time_t}\\\")\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.11.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/inference_and_learning/inference_methods_comparison.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:18.347670Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:18.347498Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:19.684289Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:19.683853Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"import jax.numpy as jnp\\n\",\n    \"from jax import tree_util as jtu, vmap, jit\\n\",\n    \"from jax.experimental import sparse\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import seaborn as sns\\n\",\n    \"\\n\",\n    \"from pymdp.inference import smoothing_ovf\\n\",\n    \"from pymdp.algos import hmm_smoother_scan_colstoch\\n\",\n    \"from pymdp.maths import log_stable\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Set up generative model and a sequence of observations. The A tensors, B tensors and observations are specified in such a way that  only later observations ($o_{t > 1}$) help disambiguate hidden states at earlier time points. This will demonstrate the importance of \\\"smoothing\\\" or retrospective inference\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:19.685687Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:19.685565Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:19.993067Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:19.992755Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"num_states = [3, 2]\\n\",\n    \"num_obs = [2]\\n\",\n    \"n_batch = 2\\n\",\n    \"\\n\",\n    \"A_1 = jnp.array([[1.0, 1.0, 1.0], [0.0,  0.0,  1.]])\\n\",\n    \"A_2 = jnp.array([[1.0, 1.0], [1., 0.]])\\n\",\n    \"\\n\",\n    \"A_tensor = A_1[..., None] * A_2[:, None]\\n\",\n    \"\\n\",\n    \"A_tensor /= A_tensor.sum(0)\\n\",\n    \"\\n\",\n    \"A = [jnp.broadcast_to(A_tensor, (n_batch, num_obs[0], 3, 2)) ]\\n\",\n    \"\\n\",\n    \"# create two transition matrices, one for each state factor\\n\",\n    \"B_1 = jnp.broadcast_to(\\n\",\n    \"    jnp.array([[0.0, 1.0, 0.0], [0.0, 0.0, 1.0], [1.0, 0.0, 0.0]]), (n_batch, 3, 3)\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"B_2 = jnp.broadcast_to(\\n\",\n    \"        jnp.array([[0.0, 1.0], [1.0, 0.0]]), (n_batch, 2, 2)\\n\",\n    \"    )\\n\",\n    \"\\n\",\n    \"B = [B_1[..., None], B_2[..., None]]\\n\",\n    \"\\n\",\n    \"# for the single modality, a sequence over time of observations (one hot vectors)\\n\",\n    \"obs = [jnp.broadcast_to(jnp.array([[1., 0.], # observation 0 is ambiguous with respect state factors\\n\",\n    \"                                    [1., 0], # observation 0 is ambiguous with respect state factors\\n\",\n    \"                                    [1., 0], # observation 0 is ambiguous with respect state factors\\n\",\n    \"                                    [0., 1.]])[:, None], (4, n_batch, num_obs[0]) )] # observation 1 provides information about exact state of both factors \\n\",\n    \"C = [jnp.zeros((n_batch, num_obs[0]))] # flat preferences\\n\",\n    \"D = [jnp.ones((n_batch, 3)) / 3., jnp.ones((n_batch, 2)) / 2.] # flat prior\\n\",\n    \"E = jnp.ones((n_batch, 1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Construct the `Agent`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:19.995016Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:19.994907Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:20.425222Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:20.424904Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61062/464010401.py:4: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agents = Agent(\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"pA = None\\n\",\n    \"pB = None\\n\",\n    \"\\n\",\n    \"agents = Agent(\\n\",\n    \"        A=A,\\n\",\n    \"        B=B,\\n\",\n    \"        C=C,\\n\",\n    \"        D=D,\\n\",\n    \"        E=E,\\n\",\n    \"        pA=pA,\\n\",\n    \"        pB=pB,\\n\",\n    \"        policy_len=3,\\n\",\n    \"        categorical_obs=True,\\n\",\n    \"        action_selection=\\\"deterministic\\\",\\n\",\n    \"        sampling_mode=\\\"full\\\",\\n\",\n    \"        inference_algo=\\\"ovf\\\",\\n\",\n    \"        num_iter=16,\\n\",\n    \"        batch_size=n_batch\\n\",\n    \")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### OVF Smoothing\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Using `obs` and `policies`, pass in the arguments `outcomes`, `past_actions`, `empirical_prior` and `qs_hist` to `agent.infer_states(...)`\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Run first timestep of inference using `obs[0]`, no past actions, empirical prior set to actual prior, no qs_hist\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:20.426515Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:20.426430Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:21.658480Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:21.658102Z\"\n    }\n   },\n   \"outputs\": [],\n   \"source\": [\n    \"prior = agents.D\\n\",\n    \"action_hist = []\\n\",\n    \"qs_hist=None\\n\",\n    \"for t in range(len(obs[0])):\\n\",\n    \"    first_obs = jtu.tree_map(lambda x: jnp.moveaxis(x[:t+1], 0, 1), obs)\\n\",\n    \"    beliefs = agents.infer_states(first_obs, prior, qs_hist=qs_hist)\\n\",\n    \"    actions = jnp.broadcast_to(agents.policies[0, 0], (2, 2))\\n\",\n    \"    prior = agents.update_empirical_prior(actions, beliefs)\\n\",\n    \"    qs_hist = beliefs\\n\",\n    \"    if t < len(obs[0]) - 1:\\n\",\n    \"        action_hist.append(actions)\\n\",\n    \"\\n\",\n    \"v_jso = jit(vmap(smoothing_ovf), backend='cpu')\\n\",\n    \"actions_seq = jnp.stack(action_hist, 1)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:21.659932Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:21.659845Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:23.746863Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:23.746596Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"24.1 μs ± 2.27 μs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"smoothed_beliefs = v_jso(beliefs, agents.B, actions_seq)\\n\",\n    \"%timeit v_jso(beliefs, agents.B, actions_seq)[0][0].block_until_ready()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Try the version of `smoothing_ovf` with sparse tensors\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:23.748100Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:23.748018Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:27.438063Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:27.437786Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"28.4 μs ± 361 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"sparse_B = jtu.tree_map(lambda b: sparse.BCOO.fromdense(b, n_batch=1), agents.B)\\n\",\n    \"\\n\",\n    \"smoothed_beliefs_sparse = v_jso(beliefs, sparse_B, actions_seq)\\n\",\n    \"%timeit v_jso(beliefs, sparse_B, actions_seq)[0][0].block_until_ready()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can plot that pair of filtering / smoothing distributions for the single batch / single agent, that we ran\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:27.439187Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:27.439114Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:27.720017Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:27.719729Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAABQMAAAKqCAYAAACO80jyAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAMAxJREFUeJzt3QuYlmWdP/B7ODgqwpSiHMpMI8M00SU1JKE80WE1bPO0h0Qp1xXd0tVqrnYjK8NC1xMq5F4ecv9balm5bUqidDBtBVSyDF1XMvOAEgYr4ijw/K/72f87/xkYmHnn9M7w+3yu65WZ5z39nofXmR/f577vp64oiiIBAAAAANu8AbUuAAAAAADoHcJAAAAAAAhCGAgAAAAAQQgDAQAAACAIYSAAAAAABCEMBAAAAIAghIEAAAAAEIQwEAAAAACCEAYCAAAAQBDCQGCLfve736W6urp0ww03NG/74he/WG7rLzpa7/ve97603377det7v/Wtb03Tpk1r/v4nP/lJWUv+szMWLVqUDj300DRkyJDydR5++OFurBYAgC3JvddZZ53V4weoo/1ipcdduXJlt7137ltz/9pSfo/8Xp2xYsWK9LGPfSztsssu5etcdtll3VQp0FXCQAgsh3z5F3Nbt8997nMdfp2vfvWr6fvf/36P1hrd66+/no4//vi0atWqdOmll6abbrop7bHHHrUuCwBgM4888kgZAuVeZfvtt09vetOb0lFHHZWuvPLKPn207rvvvjL4+tOf/lTrUrYJ55xzTpo/f35qbGwse9cPfOADtS4J+H8GVb4A4vrSl76U9txzz1bb8ii53MCtW7cuDR48uN0wMDd8U6dO7eFK+7dJkyaVx3O77bar+rn//d//nZ566ql07bXXpk984hM9Uh8AQFflQO39739/estb3pI++clPppEjR6ann346/fKXv0yXX355Ovvss/t07RdccEE5Qu4Nb3hDrcvpE3LvOmhQ52KDe+65J33kIx9J5513XrfXBXSNMBBIH/zgB9O73/3uNo9EPptbC6+++moZmg0YsO0MYM770tnj+cILL5R/akwBgL7swgsvTA0NDeXyJpv2LZV+hv6jK/8WyH/felfom7adf2UDvbJm4Kby/WvXrk033nhj8xTjluvkPfPMM+m0005LI0aMSPX19WnfffdN1113XZtro3z7299O//iP/1hOJdlxxx3TmjVryvv/8z//s5xWkBvLvH3y5MnpF7/4xWa13Hvvvemggw4qm5a3ve1tad68eVXv85IlS8p1+XbYYYdytOTcuXM3e0xTU1OaOXNmGjNmTLlPu+++e/rMZz5Tbu/MGjDt7V8+nnlblqcK59fIaxxmzz//fDr11FPTm9/85rKWUaNGlWdg898dAEBvy7MZcr/XVgi02267tbkO36233pre+c53lv3XhAkTymnGWe7lcr+Ve7vc+7TV3+Tnjh8/vnzu8OHD01//9V+X/Wdbo9QOO+ywcu3lXFvul377298235+nB59//vnl17kHrPS1m75nXhonz6Cp9LV33nnnZu/Vkf43+8Mf/lDOrMk15WOTp9W2109uKq8ZeMIJJ6Rhw4aVa/N96lOfKk+qb+pf//Vfm4/TzjvvnE466aRyxGZ72lozsL39qyxFVBRFuuqqq5qPZWXpmzz68u1vf3v595prfu9735vuuuuuqvYb6BojA4G0evXqzRYfzs1UR+T1P/K01YMPPjidfvrp5bYcxFUWDX7Pe97T3Ojtuuuu6Y477kjTp08vg75Pf/rTrV7ry1/+cjkaME8lyI1Q/jo3bnnkYm5ecgCXR9ddf/316fDDD08///nPy/fNctN49NFHl++RG5b169eXj89NSke99NJL6UMf+lDZUJ188snplltuSX/3d39X1pEbnmzjxo3p2GOPLYPHvL/77LNP+d55Hb/HH3+86rUTO7J/f/u3f1sGpHk69t///d+XgWdlv/7iL/4i/eY3vymn3OQFn/MZ2NxM/f73v99sAWgAgJ6Wl5m5//77069//esOXZwt9zu33357mjFjRvn9rFmz0p//+Z+XJ1qvvvrqdOaZZ5Y92te//vWyH8u9U8vQKZ8Uzb1Rfl7uPfNU5HxS9aGHHmoOJBcsWFD2W3vttVfZJ+apr3n9wokTJ6YHH3yw7Jk++tGPlr3ct771rbKvq/TCubesyP3fbbfdVtY0dOjQdMUVV5S9WO67cqhVTf+bazjiiCPK5+b+bvTo0WVf3XL/OiL3rbn+vP95KnauKR+vb37zm61Ga/7TP/1T+djct7/44ovl/uclbFoep47oyP7l18378jd/8zflWpEf//jHm5+fj3+utfLvh/ycxYsXl38P+bFALymAsK6//voi/xho65YtX768/Do/rmLmzJnN91cM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\",\n      \"text/plain\": [\n       \"<Figure size 1600x800 with 4 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# with dense matrices\\n\",\n    \"fig, axes = plt.subplots(2, 2, figsize=(16, 8), sharex=True)\\n\",\n    \"\\n\",\n    \"sns.heatmap(beliefs[0][0].mT, ax=axes[0, 0], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"sns.heatmap(beliefs[1][0].mT, ax=axes[1, 0], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"\\n\",\n    \"sns.heatmap(smoothed_beliefs[0][0][0].mT, ax=axes[0, 1], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"sns.heatmap(smoothed_beliefs[0][1][0].mT, ax=axes[1, 1], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"\\n\",\n    \"axes[0, 0].set_title('Filtered beliefs')\\n\",\n    \"axes[0, 1].set_title('Smoothed beliefs')\\n\",\n    \"plt.show()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:27.721291Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:27.721191Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:27.821278Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:27.821030Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAABQMAAAKqCAYAAACO80jyAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAMAxJREFUeJzt3QuYlmWdP/B7ODgqwpSiHMpMI8M00SU1JKE80WE1bPO0h0Qp1xXd0tVqrnYjK8NC1xMq5F4ecv9balm5bUqidDBtBVSyDF1XMvOAEgYr4ijw/K/72f87/xkYmHnn9M7w+3yu65WZ5z39nofXmR/f577vp64oiiIBAAAAANu8AbUuAAAAAADoHcJAAAAAAAhCGAgAAAAAQQgDAQAAACAIYSAAAAAABCEMBAAAAIAghIEAAAAAEIQwEAAAAACCEAYCAAAAQBDCQGCLfve736W6urp0ww03NG/74he/WG7rLzpa7/ve97603377det7v/Wtb03Tpk1r/v4nP/lJWUv+szMWLVqUDj300DRkyJDydR5++OFurBYAgC3JvddZZ53V4weoo/1ipcdduXJlt7137ltz/9pSfo/8Xp2xYsWK9LGPfSztsssu5etcdtll3VQp0FXCQAgsh3z5F3Nbt8997nMdfp2vfvWr6fvf/36P1hrd66+/no4//vi0atWqdOmll6abbrop7bHHHrUuCwBgM4888kgZAuVeZfvtt09vetOb0lFHHZWuvPLKPn207rvvvjL4+tOf/lTrUrYJ55xzTpo/f35qbGwse9cPfOADtS4J+H8GVb4A4vrSl76U9txzz1bb8ii53MCtW7cuDR48uN0wMDd8U6dO7eFK+7dJkyaVx3O77bar+rn//d//nZ566ql07bXXpk984hM9Uh8AQFflQO39739/estb3pI++clPppEjR6ann346/fKXv0yXX355Ovvss/t07RdccEE5Qu4Nb3hDrcvpE3LvOmhQ52KDe+65J33kIx9J5513XrfXBXSNMBBIH/zgB9O73/3uNo9EPptbC6+++moZmg0YsO0MYM770tnj+cILL5R/akwBgL7swgsvTA0NDeXyJpv2LZV+hv6jK/8WyH/felfom7adf2UDvbJm4Kby/WvXrk033nhj8xTjluvkPfPMM+m0005LI0aMSPX19WnfffdN1113XZtro3z7299O//iP/1hOJdlxxx3TmjVryvv/8z//s5xWkBvLvH3y5MnpF7/4xWa13Hvvvemggw4qm5a3ve1tad68eVXv85IlS8p1+XbYYYdytOTcuXM3e0xTU1OaOXNmGjNmTLlPu+++e/rMZz5Tbu/MGjDt7V8+nnlblqcK59fIaxxmzz//fDr11FPTm9/85rKWUaNGlWdg898dAEBvy7MZcr/XVgi02267tbkO36233pre+c53lv3XhAkTymnGWe7lcr+Ve7vc+7TV3+Tnjh8/vnzu8OHD01//9V+X/Wdbo9QOO+ywcu3lXFvul377298235+nB59//vnl17kHrPS1m75nXhonz6Cp9LV33nnnZu/Vkf43+8Mf/lDOrMk15WOTp9W2109uKq8ZeMIJJ6Rhw4aVa/N96lOfKk+qb+pf//Vfm4/TzjvvnE466aRyxGZ72lozsL39qyxFVBRFuuqqq5qPZWXpmzz68u1vf3v595prfu9735vuuuuuqvYb6BojA4G0evXqzRYfzs1UR+T1P/K01YMPPjidfvrp5bYcxFUWDX7Pe97T3Ojtuuuu6Y477kjTp08vg75Pf/rTrV7ry1/+cjkaME8lyI1Q/jo3bnnkYm5ecgCXR9ddf/316fDDD08///nPy/fNctN49NFHl++RG5b169eXj89NSke99NJL6UMf+lDZUJ188snplltuSX/3d39X1pEbnmzjxo3p2GOPLYPHvL/77LNP+d55Hb/HH3+86rUTO7J/f/u3f1sGpHk69t///d+XgWdlv/7iL/4i/eY3vymn3OQFn/MZ2NxM/f73v99sAWgAgJ6Wl5m5//77069//esOXZwt9zu33357mjFjRvn9rFmz0p//+Z+XJ1qvvvrqdOaZZ5Y92te//vWyH8u9U8vQKZ8Uzb1Rfl7uPfNU5HxS9aGHHmoOJBcsWFD2W3vttVfZJ+apr3n9wokTJ6YHH3yw7Jk++tGPlr3ct771rbKvq/TCubesyP3fbbfdVtY0dOjQdMUVV5S9WO67cqhVTf+bazjiiCPK5+b+bvTo0WVf3XL/OiL3rbn+vP95KnauKR+vb37zm61Ga/7TP/1T+djct7/44ovl/uclbFoep47oyP7l18378jd/8zflWpEf//jHm5+fj3+utfLvh/ycxYsXl38P+bFALymAsK6//voi/xho65YtX768/Do/rmLmzJnN91cM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\",\n      \"text/plain\": [\n       \"<Figure size 1600x800 with 4 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# with sparse matrices\\n\",\n    \"fig, axes = plt.subplots(2, 2, figsize=(16, 8), sharex=True)\\n\",\n    \"\\n\",\n    \"sns.heatmap(beliefs[0][0].mT, ax=axes[0, 0], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"sns.heatmap(beliefs[1][0].mT, ax=axes[1, 0], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"\\n\",\n    \"sns.heatmap(smoothed_beliefs_sparse[0][0][0].mT, ax=axes[0, 1], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"sns.heatmap(smoothed_beliefs_sparse[0][1][0].mT, ax=axes[1, 1], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"\\n\",\n    \"axes[0, 0].set_title('Filtered beliefs')\\n\",\n    \"axes[0, 1].set_title(\\\"Smoothed beliefs\\\")\\n\",\n    \"plt.show()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Compare to marginal message passing\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:27.822551Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:27.822425Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:28.734939Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:28.734565Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61062/1188368462.py:1: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  mmp_agents = agents = Agent(\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAABQMAAAGHCAYAAAAEKUSHAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAIoVJREFUeJzt3QmUVmX9B/BnAEVTnFIU8KhpkoIbnnBfwH1NxRKXFkUpM5FSjtucUqOysbDccMtyzz33NFe0TI1Nccklcy0VRQ0UdVR4/+d3O+/8Z4CBeWGGd4bn8znnHmbuve97n3vfOzPXr7/neWpKpVIpAQAAAABLvC7VbgAAAAAAsHgIAwEAAAAgE8JAAAAAAMiEMBAAAAAAMiEMBAAAAIBMCAMBAAAAIBPCQAAAAADIhDAQAAAAADIhDAQAAACATAgDAYAlynbbbVcs7eknP/lJqqmpSbmJcz7qqKPa/TgPPPBAcaz4tzWfw7Rp09rs2MOGDUtrrrlms3VxjDjWwpg6dWrab7/90korrVS8z5lnntlGLQUAWDjCQACgVS699NIizIjloYcemmt7qVRKq6++erH9q1/9qqvaST388MNF8PXf//632k1ZIhxzzDHprrvuSnV1demKK65Iu+22W7WbBABkrlu1GwAAdC7LLLNMuuqqq9I222zTbP2DDz6Y/v3vf6fu3bunarr77rurevwlIQwcPXp0USH3+c9/vtrN6RA++uij1K3bwj0233///WmfffZJxx57bJu3CwBgYagMBAAqsscee6Trr78+ffbZZ83WR0A4cODA1Lt37za7orNnz04ff/xxRa9ZeumliwXaMgBf2DDwrbfeEqoCAB2KMBAAqMhBBx2U3nnnnXTPPfc0rvvkk0/SDTfckL7xjW/M8zWnn3562mqrrYpx05ZddtkiNIz9WxqT7g9/+ENaf/31iyrDP//5z8W2J554Ig0ePLh4/WqrrZZ+/vOfp0suuaR4zcsvv9zimIHl8eeuu+66dOqppxavjXBnxx13TC+88EKz4//1r39NQ4cOTWussUZx7Oj2HN08ozJsYfzzn/9MX//614uANI4Zxz7wwAPT9OnT5zrnCFjXW2+94vy23HLL9OSTTxbbL7zwwtS3b9/i9XFeTc+1LF4b1zRe27Nnz/Stb30r/ec//5lnldq2226blltuuSKgioq1Z555pnF7dA8+7rjjiq/XWmutxm7hcx7z5ptvThtssEFxjeJzKn9GTcXxDzvssNSrV6/G/S6++OK59otq0iFDhhRtWmWVVYrr3dDQUNF1jjED999//7TCCisU99gPf/jDeYbIV155ZeN1WnHFFYvP4rXXXlvg+89rzMAFnV+5W310nz/33HMbr2X49NNPi+rLL3/5y8XnGm2OStumP1MAAO1FN2EAoCIxuUKEVVdffXXafffdi3V33nlnEXBFuHL22WfP9Zqzzjor7b333umb3/xmERxec801Reh2++23pz333HOuwCqCuwjIItiK40Xwsv322xdhSoy9FsHR7373u4q6JJ922mmpS5cuRXfNaOuvfvWroj1///vfm4VqH374Yfr+979fBDTjx49P55xzThFYxbZKxHnuuuuuRbA1cuTIIhCM84hzjvH4amtrm4WQt956axoxYkTxfX19fTHu4vHHH5/OO++8dOSRR6b33nuvaHMEUHGNmoZOhx56aNp0002L18WEFXG9//a3v6XHHnussSrt3nvvLT6vL33pS0WwFQFnnNvWW2+dJk+eXFznr33ta+n5558vPtszzjijuP5h5ZVXbjxejBd54403Fm3q0aNH8XlH4Pnqq68W1yxEG7bYYovGoDNeH/fI8OHD04wZM9LRRx9d7BdtiFA2XvuDH/wgrbrqqsW4ek3PrzUiCIz2x/k/+uijRZviel1++eWN+0QQfNJJJxX7fuc730lvv/12cf6DBg1qdp1aozXnF+8b5/Ltb3877bzzzunggw9ufH1c/2hrtGOzzTYrXjNx4sTic4h9AQDaVQkAoBUuueSSUjw6TJgwoTR27NhSjx49Sh9++GGxbejQoaXtt9+++PqLX/xiac8992z22vJ+ZZ988klpgw02KO2www7N1sf7d+nSpfT00083Wz9y5MhSTU1N6bHHHmtc984775RWXHHF4jUvvfRS4/rBgwcXS9m4ceOKffr3719qaGhoXH/WWWcV65988skW2xnq6+uLY7/yyiuN60455ZTitfMTbY19rr/++vnuF/t079692TlceOGFxfrevXuXZsyY0bi+rq6u2fnGdVxllVWKa/nRRx817nf77bcX+5188smN6zbeeONi37huZVOmTCmu98EHH9y4bsyYMXNd06ZtXXrppUsvvPBCs/eI9eecc07juuHDh5f69OlTmjZt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kz799NO0yy67FPcSzMtqq62WTjvttDRp0qQ0ceLEtMMOO6R99tknPf300y4YLKE8j1Ipz6RUwvMolfI82nZqSqVSqQ3fjzYSlYBRtTN27Nji+9mzZ6fVV189jRw5Mp144omuMy2KysCbbrqpqPSC1nr77beLCsF4KBs0aJALR6usuOKKacyYMWn48OGuGCyBPI+yKDyTUinPoywMz6MLR2VgB/TJJ58UlRc77bRT47ouXboU3z/yyCNVbRuwZJo+fXrjH1NYkFmzZqVrrrmmqACJ7sLAksfzKLC4eR6lEp5HF023RXw97WDatGnFjd2rV69m6+P7Z5991jUH2lRUHh999NFp6623ThtssIGrS4uefPLJIvz7+OOP0/LLL19UIa+33nquGCyBPI8Ci5PnUVrL82jbEAYCZC7GDnzqqafSQw89VO2m0MGtu+666fHHHy/+z/0NN9yQDjnkkKJruUAQAFgUnkfxPLp4CQM7oJ49e6auXbumqVOnNlsf3/fu3btq7QKWPEcddVS6/fbbi9n/YkBemJ+ll1469e3bt/h64MCBacKECemss85KF154oQsHSxjPo8Di4nmUSngebRvGDOygN3f8R9Z9993XrGw6vjc2E9AWYu6oePCKbp73339/WmuttVxYKhZ/mxoaGlw5WAJ5HgXam+dR2oLn0YWjMrCDGjVqVNH9apNNNkmbbbZZOvPMM4uB2g899NBqN40O6IMPPkgvvPBC4/cvvfRS0ZUvJoNYY401qto2Om5XjKuuuirdcsstqUePHunNN98s1tfW1qZll1222s2jA6qrq0u777578Tvl/fffL+6fBx54IN11113VbhrQTjyPUinPpFTC8yiV8jzadmpKEcfTIY0dOzaNGTOm+I/0jTfeOJ199tlp8803r3az6IDiP8i33377udZHoHzppZdWpU10bDU1NfNcf8kll6Rhw4Yt9vbQ8Q0fPryoUH/jjTeK0HijjTZKJ5xwQtp5552r3TSgHXkepRKeSamE51Eq5Xm07QgDAQAAACATxgwEAAAAgEwIAwEAAAAgE8JAAAAAAMiEMBAAAAAAMiEMBAAAAIBMCAMBAAAAIBPCQAAAAADIhDAQAAAAADIhDAQAAACATAgDAQAAACATwkAAAAAASHn4P3KzCFUZjPCeAAAAAElFTkSuQmCC\",\n      \"text/plain\": [\n       \"<Figure size 1600x400 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"mmp_agents = agents = Agent(\\n\",\n    \"        A=A,\\n\",\n    \"        B=B,\\n\",\n    \"        C=C,\\n\",\n    \"        D=D,\\n\",\n    \"        E=E,\\n\",\n    \"        pA=pA,\\n\",\n    \"        pB=pB,\\n\",\n    \"        policy_len=3,\\n\",\n    \"        control_fac_idx=None,\\n\",\n    \"        categorical_obs=True,\\n\",\n    \"        action_selection=\\\"deterministic\\\",\\n\",\n    \"        sampling_mode=\\\"full\\\",\\n\",\n    \"        inference_algo=\\\"mmp\\\",\\n\",\n    \"        num_iter=16,\\n\",\n    \"        batch_size=n_batch,\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"mmp_obs = [jnp.moveaxis(obs[0], 0, 1)]\\n\",\n    \"post_marg_beliefs = mmp_agents.infer_states(mmp_obs, mmp_agents.D, past_actions=jnp.stack(action_hist, 1))\\n\",\n    \"\\n\",\n    \"#with sparse matrices\\n\",\n    \"fig, axes = plt.subplots(1, 2, figsize=(16, 4), sharex=True)\\n\",\n    \"\\n\",\n    \"sns.heatmap(post_marg_beliefs[0][0].mT, ax=axes[0], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"sns.heatmap(post_marg_beliefs[1][0].mT, ax=axes[1], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"\\n\",\n    \"fig.suptitle('Marginal smoothed beliefs');\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Compare to variational message passing\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:28.736227Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:28.736142Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:28.887900Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:28.887623Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_61062/4088240323.py:1: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  vmp_agents = agents = Agent(\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Text(0.5, 0.98, 'VMP smoothed beliefs')\"\n      ]\n     },\n     \"execution_count\": 10,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 1600x400 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"vmp_agents = agents = Agent(\\n\",\n    \"        A=A,\\n\",\n    \"        B=B,\\n\",\n    \"        C=C,\\n\",\n    \"        D=D,\\n\",\n    \"        E=E,\\n\",\n    \"        pA=pA,\\n\",\n    \"        pB=pB,\\n\",\n    \"        policy_len=3,\\n\",\n    \"        control_fac_idx=None,\\n\",\n    \"        categorical_obs=True,\\n\",\n    \"        action_selection=\\\"deterministic\\\",\\n\",\n    \"        sampling_mode=\\\"full\\\",\\n\",\n    \"        inference_algo=\\\"vmp\\\",\\n\",\n    \"        num_iter=16,\\n\",\n    \"        batch_size=n_batch,\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"vmp_obs = [jnp.moveaxis(obs[0], 0, 1)]\\n\",\n    \"post_vmp_beliefs = vmp_agents.infer_states(vmp_obs, vmp_agents.D, past_actions=jnp.stack(action_hist, 1))\\n\",\n    \"\\n\",\n    \"#with sparse matrices\\n\",\n    \"fig, axes = plt.subplots(1, 2, figsize=(16, 4), sharex=True)\\n\",\n    \"\\n\",\n    \"sns.heatmap(post_vmp_beliefs[0][0].mT, ax=axes[0], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"sns.heatmap(post_vmp_beliefs[1][0].mT, ax=axes[1], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"\\n\",\n    \"fig.suptitle('VMP smoothed beliefs')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Associative-scan HMM (B-native, single-factor reduction)\\n\",\n    \"\\n\",\n    \"The associative-scan implementation expects a single hidden-state factor. For this multi-factor model, we collapse the two factors into a joint state space via a Cartesian product and run exact filtering/smoothing using the **B-native** (column-stochastic) formulation, then marginalize back to factor-wise beliefs for visualization.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {\n    \"execution\": {\n     \"iopub.execute_input\": \"2026-03-06T15:32:28.889131Z\",\n     \"iopub.status.busy\": \"2026-03-06T15:32:28.889058Z\",\n     \"iopub.status.idle\": \"2026-03-06T15:32:31.917104Z\",\n     \"shell.execute_reply\": \"2026-03-06T15:32:31.916807Z\"\n    }\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAABQMAAAKqCAYAAACO80jyAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAPY1JREFUeJzt3QmYXFWZP+DTSTBgIHFkTUQUBxEUCBhFFgGVbRxkc0FxZmQbEI2MwiAQZ0ZEhTADyiKyyAi444aijsoA4o6SBI0LAiqoOKwRTAChIUn9n+/+n9tWd6q7q3pJd+d73+cpSFdVV5176nbd7/7uued2NRqNRgEAAAAA1niTxroBAAAAAMDqIQwEAAAAgCSEgQAAAACQhDAQAAAAAJIQBgIAAABAEsJAAAAAAEhCGAgAAAAASQgDAQAAACAJYSAAAAAAJCEMJKVvf/vbpaurq/r/SIrXfM973jOir7km+vWvf1322WefMmPGjKrPvvzlL5crrrii+vfvfve7nue97GUvq24TRbvtjeV829veNmLvG30Wrxl9WIv1MO4bqk984hNlq622KmuttVZ52tOeNuw2rly5smyzzTbl9NNPLxPZaP+Nf/Ob3yzrrrtueeCBB0btPQAYHepLRsrhhx9e1QOrw7Of/ezq/dqpNc8+++xR/XuJdkR7huqss84qz3nOc8rkyZPL9ttvP+w2PvLII2WjjTYqn/rUp8pE1Wo/YaRdfPHFZbPNNivd3d2j9h6MPGEgw3bhhRdWXzAveclLUvTm17/+dYHfMB122GHl5z//eRUMRej0ohe9qK3fu/vuu6u+/+lPfzrcJjCAW2+9tSrG/vZv/7Zceuml5SMf+ciw++szn/lMueuuu3qFoHUA3HyLguvlL395+cY3vpHyb/zv/u7vyhZbbFHmz58/Ju8PMF6oL1nT/eUvf6nqjZEenJDV//7v/5aTTjqp7LrrruXyyy8vZ5xxxrBf87zzzivrrbdeecMb3rDKAff6NmnSpDJz5szyqle9qvzoRz8qY+XTn/50Offcc8fkvWO/4YknniiXXHLJmLw/QzNliL8HPeJISRzBuemmm8pvfvObakd2vNt9993LY489Vp7ylKcMKSj48Ic/3DIsiNecMsWf1UCij2688cbyb//2b72CoX/6p3+qNrRTp04dMAw87bTTqvVtJI72rcn+/d//vZxyyilD+t0oSmMkXxRAI/X3HEdq4/ON0aB9vfe97y2bb755aTQa5b777qtCwr//+78vX/3qV6vCanUb67/xN7/5zeXEE0+s1vUoQAEyUl/+lfpyzQ0DY1sfJtKZMKMpDkJHDToU3/rWt6pg7qMf/eiQ9vH6evLJJ6ta+Pjjj69GGvZ10UUXVaM3o71xwDvaHvuYsU88FvspEQb+4he/KO94xzt63f+sZz2r+g6Js31Gy9prr10N9vjgBz9YjjvuuGGdncTqY2Qgw3LnnXeWH/7wh9Uf/oYbbjhhhlDHhiK+tOL/IyleUxg4sPr0x76nnsZGNvpvLDYejz76aFnTxHoY/TkU999/f/X/kTg9OPzkJz8pixcvLoccckjLx1/5yleWf/zHf6wC4QjBvve971UFS4wmHG9Wx9/4a17zmuo0i89//vOj+j4A45X6sjf1JVlE/TfQwIDB6td11llnRILA8LWvfa3ab+mvfn3ta19b1a9vetObqkEO//M//1MFiOOtfot9q/gOaRVojqTop9///vflhhtuGNX3YeQIAxmWCP/+5m/+puy3337VF2J/YeCVV15Z5syZU41ymT59etl2222rIy21+OKMI2PPfe5zqy+r9ddfv7z0pS8t11577SpHfHbbbbcybdq0Kqg48MADy69+9atV3u///u//ylFHHVVmzZpVbVBi1NFb3vKWavhyf3NURADxute9rprvIH7nmc98ZnUkKI6kNA+BjhFDoXl4eKv5xL7whS9UP3/nO99ZpX0xhDoei6M3zadmRh8+/elPr/ogTp39yle+0tbnMFj/hj//+c/V8sSouli+TTfdtNp4LVmypHo8+ubd73539Toxeiv6OPq67xd685whcfponEoar/fiF7+4LFiwYMB2Rt/E0anwzne+s3qdel6QVnMGNovPKt4jHHHEET193zz/xY9//OPqNMto/1Of+tSyxx57lB/84AertCF+75ZbbilvfOMbq/U31rXaJz/5yaoPopiIzyJGs8XRvr7qZY/n7bjjjtX606n4e3ne855Xfd7xnt/97ndbrstHHnlk2Xjjjat+fsELXlAuu+yyQV+7vzkDB1u++DxOPfXU6t8R8Dev0wsXLiz77rtv2WCDDarfj7+raNtgYk7IKMziaGk74m87Xr+d0K3+W/7c5z5XnXYe63X055577lmNVG42Uf7G41Tp7bbbrlx99dVt9RfAmkZ9qb7spL5sd1+inofvD3/4Q3XmQfz7Gc94Rs92P6awecUrXlHVwFGvxkirvu64446qlohtedSaO+20UxUCtQqmYl8k6rdoz+zZs8vHPvaxnsej3o06K0S763qj71kJUQcedNBBVVvj+XHQdMWKFb2eEyPT4vTQqBHjveI94yyDhx56qNfz4gyM97///VWtFG2PaVl++ctflk6dc845Vf9ErRa1dnOtM9z9mlZzBrazfNF3cWpwHODvu48Q60CsC1FfRj9G7f2ud72rrfo12hLrYjs22WST6v/t1K/1fk/sp5xwwgnVZxvr3cEHH7zKvNFRD8a+dr1fG+153/ve12s9iJGlsR5GGFcvf92PfecMjH24+Dme29e8efOqmr25b9vZvwqxfxGft/p14nA+I8Mu1l796ldXXxqHHnpoNVw6Nth1aFN/AcdjsXP+n//5n9V9EeDFl8jb3/726ufY8MUcWf/8z/9cBSvLli2rgoebb7657L333tVzrrvuumoEUUwKG8+PHfgPfehD1bwQ8bz6Cy9OJY3XiPDrmGOOqS6CEBvS2HGP4fj9HS2KozjxeISGUUDEEO94/T/+8Y89R3hiwxOvH8sUc90NJL60Y4MTIUV8aTb77Gc/W23Q4oIKITbEsRxRkMSpnbExiN+Ljf8Xv/jFasPQn3b6Nya/jWAv7o/w5oUvfGEVAsZGOZYvwp3o8//+7/+uXuvoo48uDz/8cDXMPsKfVsPdo0CK50SfxAblv/7rv6p1IYqk/oahx+OxIY4AJt4nTgVtd3LkrbfeujqdNALL+FxjecIuu+zSExTH+hEbogizYtRnFAVR1EUIFOtEsyjkomCM+USiOAoRJv3Hf/xHdWQr1sXYGMc6ECFWjG6rR8pFv8Ryx3vHUPxY5gMOOKDaAEbA1I4IkGI9+Jd/+Zdqwx5zI8WGNvq6Xi/ilNkoMusLjkShEHPpRXEZn1ff0wAG087yRbH18Y9/vHzpS1/qOf0hgqkoauOiL9GGWEfjuVFcXHXVVYO+b4wejmXqb71YunRptT7G5xDvE22KdTaOtrbrzDPPrD7zKJLj9WJ9/Id/+IeqgJmIf+OxHkcRCpCR+rJ/6svW2tmXCBGgRL0YtU/UCrGuRY0V2+UY3RW1Q9SrcUGEOGi+8847Vwc/67osar+oJaJ+i1oiAr6oAWM/o96Wxz5KhDNxUDJeO34/6owIumL/JOrzqKeizoqaJH4v3jNEzdXc1qjDY172CHBiX+gDH/hAFQbF79WidomgJw6WR7tiZO0FF1xQ1XaxP1DXX1FDRxgY9Xfcom+itqsHS7QjasSo/+fOnVsef/zxavBB1NoRpEZIN9z9mlbaWb6o2eJAfdR2sT8T4rOKtkTwG/0a+xFRc8fn0irMalW/xj5Tfx588MGesDL2NSOgi7Cyv5GErcQptTEwIfZdoq6OOjzWmagja7HsUW9GaBj/j32e+CxjHY9peEKsu1H/Rk0bYW3obx8r2hdzK8ZnEoMzmsV9sU5Em4ayfxX91U7fMk40YIgWLlwYCUrj2muvrX5euXJlY9NNN228/e1v7/W8+Hn69OmN5cuX9/tas2fPbuy3334Dvt/222/f2GijjRp/+tOfeu5bvHhxY9KkSY03velNPffFv+O+BQsWrPIa0cZwww03VG2P/9f+8pe/rPL8+fPnN7q6uhq///3ve+6bO3du9butxP2nnnpqz8+HHnpo1ebmZb/nnnuq9r33ve/tuW/PPfdsbLvtto3HH3+8V1t32WWXxnOf+9wB+6Wd/n33u99dte2qq67qt0/i97u7u3s99tBDDzU23njjxpFHHtlz35133lm91vrrr9948MEHe+6/+uqrq/u/+tWvDtje+vfPOuusXvdffvnl1f3xeG2PPfaobrX4TOM58dy+yxD9tO+++/YsT/2Zbr755o2999675774fOI14rNp9rvf/a4xefLkxumnn97r/p///OeNKVOm9Nz/xBNPVJ9prI/N/fWRj3yket3m9vYnnhe3+BuqxTq29tprNw4++OCe+4466qjGzJkzG0uWLOn1+294wxsaM2bM6Fln6z5t7pd6OTtdvubffeCBB3ru+9KXvlTd1+rvajDxvfCa17xmlfvrz7zvberUqY0rrriirdeu/5a33nrrXp/HeeedV90fyzcR/8bPOOOM6r3uu+++tvoBYE2hvlyV+nLw+rKdfYnDDjus6svYxjbXuuuss05VC1x55ZU99996662r9Ps73vGO6r7vfe97Pfc9/PDDVa357Gc/u7FixYrqvnPPPbd63ic/+cme50X9uPPOOzfWXXfdxrJly6r7os7q+x5929pcS4QddtihMWfOnJ6foy3xvE996lO9nvfNb36z1/33339/4ylP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8/UYrIHUo8DqpB6lXerRkSEMBEgu5g78xS9+Ub7//e+PdVMY5573vOeVn/70p9WR+y984QvlsMMOq04tFwgCAMOhHkU9unoJA8ehDTbYoEyePLncd999ve6PnzfZZJMxaxew5nnb295Wvva1r1VX/4sJeWEgT3nKU8oWW2xR/XvOnDllwYIF5bzzziuXXHKJjoM1jHoUWF3Uo3RCPToyzBk4Tlfu2Mm6/vrrew2bjp/NzQSMhLh2VBRecZrnt771rbL55pvrWDoW26bu7m49B2sg9Sgw2tSjjAT16NAYGThOnXDCCdXpVy960YvKjjvuWM4999xqovYjjjhirJvGOPTII4+U3/zmNz0/33nnndWpfHExiM0222xM28b4PRXj05/+dLn66qvLeuutV+69997q/hkzZpR11llnrJvHODRv3rzyyle+svpOefjhh6v159vf/na55pprxrppwChRj9IpNSmdUI/SKfXoyOlqRBzPuHTBBReUs846q9pJ33777cv5559fXvKSl4x1sxiHYof85S9/+Sr3R6B8xRVXjEmbGN+6urpa3n/55ZeXww8/fLW3h/HvqKOOqkao33PPPVVovN1225WTTz657L333mPdNGAUqUfphJqUTqhH6ZR6dOQIAwEAAAAgCXMGAgAAAEASwkAAAAAASEIYCAAAAABJCAMBAAAAIAlhIAAAAAAkIQwEAAAAgCSEgQAAAACQhDAQAAAAAJIQBgIAAABAEsJAAAAAAEhCGAgAAAAASQgDAQAAAKDk8P8AW5+/Z0YKfMUAAAAASUVORK5CYII=\",\n      \"text/plain\": [\n       \"<Figure size 1600x800 with 4 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"\\n\",\n    \"batch_idx = 0\\n\",\n    \"T = obs[0].shape[0]\\n\",\n    \"s1, s2 = num_states\\n\",\n    \"\\n\",\n    \"# single-modality observations for one batch\\n\",\n    \"obs_single = obs[0][:, batch_idx, :]  # (T, obs_dim)\\n\",\n    \"\\n\",\n    \"# collapse A over factors into a single-state emission matrix\\n\",\n    \"A0 = A[0][batch_idx]  # (obs_dim, s1, s2)\\n\",\n    \"A_big = A0.reshape(num_obs[0], s1 * s2)\\n\",\n    \"log_likelihoods = obs_single @ log_stable(A_big)\\n\",\n    \"\\n\",\n    \"# build joint transition (column-stochastic) via Kronecker product\\n\",\n    \"B1 = B[0][batch_idx, :, :, 0]  # (s1,s1) column-stochastic\\n\",\n    \"B2 = B[1][batch_idx, :, :, 0]  # (s2,s2) column-stochastic\\n\",\n    \"B_big = jnp.kron(B1, B2)\\n\",\n    \"\\n\",\n    \"# joint prior\\n\",\n    \"D1 = D[0][batch_idx]\\n\",\n    \"D2 = D[1][batch_idx]\\n\",\n    \"prior_big = jnp.kron(D1, D2)\\n\",\n    \"\\n\",\n    \"mll, filt_big, pred_big, smooth_big, cond_big = hmm_smoother_scan_colstoch(\\n\",\n    \"    prior_big, B_big, log_likelihoods\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"# reshape joint beliefs to factor-wise marginals\\n\",\n    \"filt_joint = filt_big.reshape(T, s1, s2)\\n\",\n    \"smooth_joint = smooth_big.reshape(T, s1, s2)\\n\",\n    \"\\n\",\n    \"filt_fac1 = filt_joint.sum(axis=2)\\n\",\n    \"filt_fac2 = filt_joint.sum(axis=1)\\n\",\n    \"smooth_fac1 = smooth_joint.sum(axis=2)\\n\",\n    \"smooth_fac2 = smooth_joint.sum(axis=1)\\n\",\n    \"\\n\",\n    \"fig, axes = plt.subplots(2, 2, figsize=(16, 8), sharex=True)\\n\",\n    \"sns.heatmap(filt_fac1.mT, ax=axes[0, 0], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"sns.heatmap(filt_fac2.mT, ax=axes[1, 0], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"\\n\",\n    \"sns.heatmap(smooth_fac1.mT, ax=axes[0, 1], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"sns.heatmap(smooth_fac2.mT, ax=axes[1, 1], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"\\n\",\n    \"axes[0, 0].set_title('Associative scan filtered beliefs (B-native)')\\n\",\n    \"axes[0, 1].set_title('Associative scan smoothed beliefs (B-native)')\\n\",\n    \"plt.show()\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"pymdp_dev_env\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.11.12\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/learning/learning_gridworld.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Imports\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"The autoreload extension is already loaded. To reload it, use:\\n\",\n      \"  %reload_ext autoreload\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%load_ext autoreload\\n\",\n    \"%autoreload 2\\n\",\n    \"\\n\",\n    \"from jax import nn, vmap, lax, jit\\n\",\n    \"from jax import numpy as jnp, random as jr\\n\",\n    \"from jax import tree_util as jtu\\n\",\n    \"from jax.scipy.special import gammaln, digamma\\n\",\n    \"\\n\",\n    \"import numpy as np\\n\",\n    \"\\n\",\n    \"from pymdp.envs import GridWorld, rollout\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp.maths import dirichlet_expected_value\\n\",\n    \"\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import seaborn as sns\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Grid world generative model\\n\",\n    \" \\n\",\n    \"Here we will explore learning of the generative model inside a simple grid 7x7 world environment, where at each state agent can move into 4 possible directions. The agent can explore the environment for 100 time steps, after which it is reaturned to the original position. We will start first with an example where likelihood is fixed, and state transitions are unkown. Next we will explore the example where likelihood is unknown but the state transitions are known, and finally we will look at learning under joint uncertainty over likelihood and transitions (we would expect this case not to work in general with flat priors on both components). \\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# size of the grid world\\n\",\n    \"grid_shape = (7, 7)\\n\",\n    \"\\n\",\n    \"# number of agents\\n\",\n    \"batch_size = 20\\n\",\n    \"\\n\",\n    \"env = GridWorld(shape=grid_shape, initial_position=(3,3), include_stay=False)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Define KL divergence between Dirichlet distributions\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"@jit\\n\",\n    \"def kl_div_dirichlet(alpha1, alpha2):\\n\",\n    \"    alpha0 = alpha1.sum(1, keepdims=True)\\n\",\n    \"    kl = gammaln(alpha0.squeeze(1)) - gammaln(alpha2.sum(1))\\n\",\n    \"    kl += jnp.sum(gammaln(alpha2) - gammaln(alpha1) + (alpha1 - alpha2) * (digamma(alpha1) - digamma(alpha0)), 1)\\n\",\n    \"\\n\",\n    \"    return kl\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Initialize different sets of agents using `Agent()` class, use a different `alpha` (action selection temperature) for each set\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Here, the agents have to learn B matrix, with A matrix being fixed to the true observation mapping of generative process, and flat prior oevr initial hidden states\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# create agent with A matrix being fixed to the A of the generative process\\n\",\n    \"num_obs = [a.shape[0] for a in env.A]\\n\",\n    \"num_states = [b.shape[0] for b in env.B]\\n\",\n    \"\\n\",\n    \"_A = [jnp.array(a) for a in env.A]\\n\",\n    \"C = [jnp.zeros(num_obs[0])]\\n\",\n    \"pB = [jnp.ones_like(env.B[0]) / num_states[0]]\\n\",\n    \"_B = jtu.tree_map(lambda b: dirichlet_expected_value(b), pB)\\n\",\n    \"_D = [jnp.ones(num_states[0])/num_states[0]]  # flat prior over initial states\\n\",\n    \"\\n\",\n    \"agents = []\\n\",\n    \"for i in range(5):\\n\",\n    \"    agents.append( \\n\",\n    \"        Agent(\\n\",\n    \"            _A,\\n\",\n    \"            _B,\\n\",\n    \"            C,\\n\",\n    \"            _D,\\n\",\n    \"            E=None,\\n\",\n    \"            pA=None,\\n\",\n    \"            pB=pB,\\n\",\n    \"            policy_len=3,\\n\",\n    \"            use_utility=False,\\n\",\n    \"            use_states_info_gain=True,\\n\",\n    \"            use_param_info_gain=True,\\n\",\n    \"            gamma=jnp.ones(batch_size),\\n\",\n    \"            alpha=jnp.ones(batch_size) * i * .2,\\n\",\n    \"            categorical_obs=False,\\n\",\n    \"            action_selection=\\\"stochastic\\\",\\n\",\n    \"            inference_algo=\\\"exact\\\",\\n\",\n    \"            num_iter=1,\\n\",\n    \"            learn_A=False,\\n\",\n    \"            learn_B=True,\\n\",\n    \"            learn_D=False,\\n\",\n    \"            batch_size=batch_size,\\n\",\n    \"            learning_mode=\\\"offline\\\",\\n\",\n    \"        )\\n\",\n    \"    )\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Run multiple blocks of active inference on grid world for each batch of agents that was initialized different `alpha` values. \\n\",\n    \"\\n\",\n    \"#### Since the agents are using offline learning (`learning_mode = \\\"offline\\\"`), this means that parameter updates to the B tensors are performed at the end of each block.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"pB_ground_truth = 1e4 * env.B[0] + 1e-4\\n\",\n    \"num_timesteps = 50\\n\",\n    \"num_blocks = 40\\n\",\n    \"key = jr.PRNGKey(0)\\n\",\n    \"block_and_batch_keys = jr.split(key, num_blocks * (batch_size+1)).reshape((num_blocks, batch_size+1, -1))\\n\",\n    \"divs = {i : [] for i in range(len(agents))}\\n\",\n    \"for block in range(num_blocks):\\n\",\n    \"    block_keys = block_and_batch_keys[block]\\n\",\n    \"    for i, agent in enumerate(agents):\\n\",\n    \"        init_obs, init_states = vmap(env.reset)(block_keys[:-1])\\n\",\n    \"        last, info = jit(rollout, static_argnums=[1, 2])(agent, env, num_timesteps, block_keys[-1], initial_carry={\\\"observation\\\": init_obs, \\\"env_state\\\": init_states})\\n\",\n    \"        agents[i] = last['agent']\\n\",\n    \"        divs[i].append(kl_div_dirichlet(last['agent'].pB[0], pB_ground_truth).sum(-1).mean(-1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Plot the KL divergence between the true parameters and believed parameters over time for the different groups of agents (agents with different levels of action stochasticity)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAA90AAAHpCAYAAACful8UAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3QeUZWWVN/z/yefmULlzk3MQJKkIigKGeTEwYAIRnE9HHBBRQRBFUcaA4rw6ssSAOjogr4ojKsqggOQsQWg6d1d35ZvTyd96nqKq63aA7qab6qr+/9a6q+qe+5xT51aXLvbd+9lbiaIoAhERERERERHtcOqOvyQRERERERERCQy6iYiIiIiIiHYSBt1EREREREREOwmDbiIiIiIiIqKdhEE3ERERERER0U7CoJuIiIiIiIhoJ2HQTURERERERLSTMOgmIiIiIiIi2kkYdBMRERERERHtJAy6iYiIiIiIiHYSBt0v4e6778bb3/52zJkzB4qi4JZbbtnma0RRhG984xvYZ599YFkW5s6diy9/+cs75X6JiIiIiIho16FP9w3s6ur1Og499FB86EMfwjvf+c7tusYFF1yAP//5zzLwPvjgg1EoFOSDiIiIiIiIZjclEmlY2ioi0/2b3/wGp5122uQxx3Fw2WWX4b//+79RKpVw0EEH4atf/SpOOOEE+fqzzz6LQw45BE8//TT23Xffabx7IiIiIiIieqWxvPxlOv/883H//ffjxhtvxJNPPonTTz8dp5xyCpYuXSpf/93vfoc99tgDt956KxYvXoxFixbhvPPOY6abiIiIiIhoN8Cg+2VYs2YNfvzjH+Pmm2/G6173Ouy55564+OKL8drXvlYeF1asWIHVq1fLNT/96U9xww034NFHH8W73/3u6b59IiIiIiIi2sm4p/tleOqppxAEgWyQNpUoOe/o6JDfh2Eon4uAe2LdD3/4QxxxxBFYsmQJS86JiIiIiIhmMQbdL0OtVoOmaTJzLb5OlUwm5de+vj7out4WmO+///6TmXIG3URERERERLMXg+6X4fDDD5eZ7uHhYVlevjmvec1r4Ps+li9fLsvPheeff15+Xbhw4St6v0RERERERPTKYvfyrchmL1u2bDLI/uY3v4kTTzwR+XweCxYswPvf/37ce++9uOaaa+TrIyMjuOOOO2TH8re+9a2yvPzVr361zHxfe+218vnHPvYxpNNpOUaMiIiIiIiIZi8G3S/hzjvvlEH2xs4++2zZFM3zPFx11VVyz/a6devQ2dmJY445BldeeaWcyS2sX78eH//4x2WQnUgkcOqpp8ogXQTuRERERERENHsx6CYiIiIiIiLaSTgyjIiIiIiIiGgnYSO1zRD7rkVJeCqVgqIo0307REREREREtIsRRePVahVz5syBqm45n82gezNEwD1//vzpvg0iIiIiIiLaxa1duxbz5s3b4usMujdDZLgnfnmiyzgRERERERHRVJVKRSZrJ+LHLWHQvRkTJeUi4GbQTURERERERFvyUluS2UiNiIiIiIiIaCdh0E1ERERERES0kzDoJiIiIiIiItpJpnVP9913342vf/3rePTRRzEwMIDf/OY3OO2007a4/oMf/CB+8pOfbHL8gAMOwDPPPCO//8IXvoArr7yy7fV9990Xzz333E54B0RERERENBtHCLuuO923QdPMMAxomjazg+56vY5DDz0UH/rQh/DOd77zJdd/+9vfxr//+79PPvd9X55/+umnt6078MAD8b//+7+Tz3Wd/eKIiIiIiOiliWB75cqVMvAmymaz6O3tfclmaS9mWqPRU089VT62ViaTkY8Jt9xyC4rFIs4555y2dSLIFr+YreU4jnxMbf1ORERERES7lyiKZAWuyG6KUVCqyt24u/PfQqPRwPDwsHze19e33dea0SngH/7whzjppJOwcOHCtuNLly7FnDlzYNs2jj32WFx99dVYsGDBFq8jXt+4JJ2IiIiIiHYvopJWBFoilojH49N9OzTNYrGY/CoC7+7u7u0uNZ+xH92sX78ef/zjH3Heeee1HT/66KNxww034LbbbsP3vvc9WRryute9DtVqdYvXuvTSS1Eulycfa9eufQXeARERERER7UqCIJBfTdOc7luhXcTEhy+e5+1+mW7RUE3U12/ceG1qufohhxwig3CRCf/lL3+Jc889d7PXsixLPoiIiIiIiF7O/l2aXZQd8LegztT6+h/96Ef4wAc+8JKfQonAfJ999sGyZctesfsjIiIiIiIimrFB91133SWD6C1lrqeq1WpYvnz5y9r4TkRERERERDTjgm4RED/xxBPyIYj91+L7NWvWTO61PuusszbbQE2UjR900EGbvHbxxRfLoHzVqlW477778I53vENueH/Pe97zCrwjIiIi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\",\n      \"text/plain\": [\n       \"<Figure size 1000x500 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"fig, axes = plt.subplots(1, 1, figsize=(10, 5), sharex=True, sharey=True)\\n\",\n    \"for i in range(len(agents)):\\n\",\n    \"    p = axes.plot(jnp.stack(divs[i]).mean(-1), lw=3, label=agents[i].alpha.mean())\\n\",\n    \"    axes.plot(jnp.stack(divs[i]), color=p[0].get_color(), alpha=.2)\\n\",\n    \"\\n\",\n    \"axes.legend(title='alpha')\\n\",\n    \"axes.set_ylabel('KL divergence')\\n\",\n    \"axes.set_xlabel('epoch')\\n\",\n    \"fig.tight_layout()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualize the learned B tensor alongside the true environmental parameters after training\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAABiUAAAMWCAYAAACeLYXeAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3QucTfX+//HPHgxymXJLwhAOUe73/KISOVK6SOqEcdwqhSkxKoPSpCSKqByli5IK5dpEOO7iSCXKXQ6hi3CY6/4/vt/+e5qx19Jc9mV993o9H4/1YH9n7zXfQe+125/1+X49Xq/XKwAAAAAAAAAAAEEWFexvAAAAAAAAAAAAoFCUAAAAAAAAAAAAIUFRAgAAAAAAAAAAhARFCQAAAAAAAAAAEBIUJQAAAAAAAAAAQEhQlAAAAAAAAAAAACFBUQIAAAAAAAAAAIQERQkAAAAAAAAAABASFCUAAAAAAAAAAEBIUJQAAAAwSLt27fSR39deddVVAZ8TAAAAgJx++uknufPOO6Vs2bLi8Xhk0qRJ4Z4S4BgUJQCXGj16tL4onjhxwvLr6kOr/H7oBQDImzfffFNnsu8oXLiwXH755dK7d285fPhwyOfz3//+V18ntm3bFvLvDQCmZnexYsWkUqVK0rFjR3nppZfk1KlT4Z4iACCf2f7ll18W+FxDhw6VZcuWSUJCgrz99tty0003yeLFi/X7bMDtCod7AgAAAPjD2LFjpXr16nLu3DnZsGGD/p+iNWvWyDfffKM/7FI+++yzkBQlxowZI9WqVZOGDRsG/fsBQCRkd1pamhw9elRWrlwpQ4YMkYkTJ8onn3wi9evXD/cUAQBhsGLFCrn11lvl0UcfzRqbMmWKTJ06lcIEXI+iBAAAgEN06tRJmjZtqn/ft29fKVeunIwfP15/qHXXXXfp8ejo6DDPEgBgl92KuiNWfRB18803yy233CLfffedFC9ePKxzBACE3rFjx+Tiiy8O9zQAR2L5JgB/Sd3tpdoX58yZIyNHjpSKFStKiRIl9P9kHTp0KNzTA4CI9X//93/61z179lxwT4kDBw7oTFbZXKFChaxWcZXdKsPPt2PHDrnuuuvkoosu0stEPffcc1lfU89v1qyZ/n1cXFzWsiSqawMAkDvXX3+9PPnkkzqf33nnnaxxVaxQ2a7yWn1Qpe6gVUULn+3bt+vMVcVony1btuixxo0b+xVDWrRokfVYdbepQojqsGvevLnusLviiivkrbfeCvrPCwBuopZX7dOnj1x66aVStGhRqVevnsycOdNvCSiv16u7Inzvp9XSrOqxkn35P8CNKEoAyLVx48bJokWLZPjw4fLwww9LcnKytG/fXs6ePRvuqQFARNq/f7/+9ZJLLrF9zpkzZ/SHX59//rnO5scff1zWrVuns9rKr7/+qtezbdCggbzwwgtSp04d/dwlS5bor1955ZV6KRKlf//+ev1bdVx77bVB+RkBIFLdd999OZbdUzmt9ptQd86qZTvi4+N1Xl9zzTVZea/2dVPFitWrV2ed59///rdERUXJV199Jb///rsey8zM1K89P5t3796tN1W98cYbdcar64f6EOzbb78N4U8OAJG9eXXLli11pg8aNEgmT54sNWvWlH/+859ZG1mrbFbvnxWVx7730wMGDNCPFd+Y73mA27B8E4Bc++WXX/SdXKVKldKP1d1aajmR119/XX8QBgAomJMnT8qJEyf0nhIbN27U+zqou6/Una92Xn31Vdm7d6/Mnz9f33GrqP/hadSoke1+EequWd+HZep/oGJjY+Vf//qXvutW3fGlfh01apS0atVK/vGPfwTppwWAyFa5cmWJiYnJ6nYbNmyYlClTRtavX69/Vbp27arzOjExUWbNmqWLD6pIoQoRPur36nkLFizQhQhVWPYVKHwddT67du3SBQ3fuHqvXqVKFXnjjTdkwoQJIf35ASASqRuAMjIy5Ouvv5ayZcvqsYEDB0qPHj10wVm9D1ddaupQ77f/9re/5Xg/rR6rGzx5jw23o1MCQK717NkzqyChqLuwLrvsMlm8eHFY5wUAkUJ1n5UvX15/gKQyVi3voZbwUB9s2Vm6dKlegkkt3+Sjluzo16+f5fNLliyZ43+C1B4VapkPVdgAAASWytxTp07JkSNHZNu2bbprwVeQUNQm2Oqu2ezvp1VBYevWrboTTlHLMf3973+Xhg0bZhUr1K9qyY82bdrk+H5169bNUahQ15TatWuT8QAQAGo5po8++ki6dOmif69uJvIdqhNO3WCk8hvAX6NTAoCt89c2rFWrlt/XVZuir90cAFAwao1ZdfeU+h8atS6tuttVdUpciFqvvEaNGn6ZrfLZiipwnP9ctbyHWsccABBYp0+f1nv9qKxWVIHgfGrZPLUP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x+qcurNj8ODBocL497//HWrQoEGof//+oZMnT0akQnzffffpv2uqhbRr1676z6Vly5a6/VW126kqekHb7dRdIVl3VmT59ddfdXvftddeq58r6HupPv+5557TH6uWwLPvmnnvvff030k3vo8mvpdwJrsV8vt35Hc48js33kfkFfkdjvz2zr978tsb7yO8k9/RzG6F/PbOv3vy2xvvo1dQlPAZ1SKo1gNUR1a7YCTt27dPrwN44sSJQo+VmZkZeuaZZ0I33nhjaPz48brdSV241QW1XLlyoV69ehX461xxxRU6EM+WdWFVQVnQIP7+++/1/FSL41NPPaXbsVQYqe9FnVPr6r3xxhsFGvv06dOhAQMGhOLj4/X81DqA6lAfq3MDBw7Uryms3377LfTAAw/oi79aM7KwYaxaAK+//nr9Z6GC+OjRo/qikbU+n/o627dvL9DY9erVC3300Udh59Ual+rC2qhRowK/l2q9w8TExNCYMWN022j58uX1D3zvvPNOaPTo0XpNwGeffTZi76P684jk+2jaewnnslshv8lvK+S3M/lt0vuIcyO//0B+e+ffPfntjfcR3snvaGa3Qn575989+e2N99ErKErAlx599NFQx44dLZ9TF1ZVrS/oOnqKCpa77rorVKZMmey7K9T6capavHDhwlBhqYrwJ598EpozZ44+1Mc5K8aR8sEHH4SGDh0atr5epKg19L755hv9Z15QDz74oG11WVX8VWW6oBfVrAurqmafvdnRRRddFJo8eXKoMNR7pjY6y3of1cfReB+z3ku1fqSb30sgL8jvvCG/vZHfZDe8hPzOG/Kb/M4L8huxRH7nDflNfucF+f0HnRpOLyEFxJpay+23336ThIQE2+f3798vNWrUKNTXUf+8Dh06JMFgUMqXLy/FihUr1HgI98svv8h///tfueyyy2zXF9ywYYO0a9euUF9HrbO4c+dO/V6q9TNr1qwpkRYfH6/XWLz00ksjPna0x4/23IEs5Ld3kN/eHhs4G/ntHeS3t8cGzkZ+ewf57e2xTVPU6QkATlCbKdldUJUDBw7I2LFjZdasWYX6OmqDoIoVK+Y6t2/fPhkzZkyBxz516pTeHKts2bLSoEGDXM+dPn1a3n33XenRo4dvxr7gggvk4MGD8sYbb0irVq2kfv36elOlKVOm6I2a7rvvPr0BV0H95z//kS+//FJat24tV111lR772WefLdTYSUlJlufVplATJkyQcuXK6ceTJk0q0JyjOX605w78GfLbO2OT394YG8gr8ts7Y5Pf3hgbyCvy2ztjk9/eGNsr6JQALKiqZZMmTXRYuGnsrVu3SseOHWXv3r36gt2mTRv5+9//LlWqVNHP//jjj/rjSI09d+5cXdV289hLly6Vm2++WUqXLq3v3li4cKG+ODdq1EhX5VeuXCn//Oc/C3Txi9bYcXFxeozzzz8/13k1XrNmzaRUqVL6z+mTTz7J95yjPX605w4UFvlNfkdzbFPzleyGCchv8juaY5uaseQ3TEB+k9/RHNvUjCW/8yDHUk6Ab6g14s51vPjiiwVeRy+aY6tNpLp06RI6fPhwaNu2bfrjWrVqhfbs2ZO9kY7fxlabMT322GP6Y7WZ1wUXXBAaNWpU9vMjR47Umwu5aeyUlBT9/as1EHMqWrRooTdTivb40Z478GfIb++MTX57Y2wgr8hv74xNfntjbCCvyG/vjE1+e2Nsr6AoAV/K2u3+7M13ch4FDflojl2hQoXQpk2bsh8Hg8HQgAEDQtWrV9eb5RTm4mTq2AkJCfpCrWRmZuqA37BhQ/bzagOhihUrum7stWvXhi655JLQww8/HDpz5kzEL07RHD/acwfOhfz2ztjkt3fGBvKC/PbO2OS3d8YG8oL89s7Y5Ld3xvaCuLx0UwBeo9reFixYoFvIrA61sY8bx1brCqr1HLOoVq8ZM2ZI165d9UZEqs3Pb2NnjZfVHleiRAlJTEzMfq5MmTJy7Ngx143dvHlzvUak2gBKte59++232V8rEqI5frTnDpwL+e2dsbPGU8hvs8cG8oL89s7YWeMp5LfZYwN5QX57Z+ys8RTy2+yxvYCiBHypadOmOhjsqJAo6HYr0RxbbUK0bt26sPPTpk3Ta/fddNNNBRrX5LFr1qwp27Zty368evVqqV69evZjtQ5j1tqLbhpbUWstzp49W5KTk6VDhw4RX4MzmuNHe+6AHfLbO2OT394aG/gz5Ld3xia/vTU28GfIb++MTX57a2zjOd2qATjhs88+Cy1ZssT2+RMnToRWrFjhurHHjx8f6ty5s+3zAwcO1O2Nfhp7xowZocWLF9s+n5ycHPrLX/7iurHPtm/fvtCiRYv0349oiOb40Z47kBP57Z2xyW/vjg1YIb+9Mzb57d2xASvkt3fGJr+9O7aJ9N9ipwsjAAAAAAAAAADA+1i+CQAAAAAAAAAAxARFCQAAAAAAAAAAEBMUJQAAAAAAAAAAQExQlAAAAAAAAAAAADFBUQIAAAAAAAAAAMQERQkAAAAAAAAAABATFCUAAAAAAAAAAEBMUJQAAAAAAAAAAAASC/8f8bOpda5I27sAAAAASUVORK5CYII=\",\n      \"text/plain\": [\n       \"<Figure size 1600x800 with 48 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"num_actions = env.B[0].shape[-1]\\n\",\n    \"base_labels = [\\\"Up\\\", \\\"Right\\\", \\\"Down\\\", \\\"Left\\\", \\\"Stay\\\"]\\n\",\n    \"action_labels = base_labels[:num_actions]\\n\",\n    \"\\n\",\n    \"row_labels = []\\n\",\n    \"for agent in agents:\\n\",\n    \"    alpha_value = float(agent.alpha.mean(0).squeeze())\\n\",\n    \"    row_labels.append(f'alpha={alpha_value:.2f}')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"fig, axes = plt.subplots(len(agents)+1, num_actions, figsize=(16, 8), sharex=True, sharey=True)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"for i in range(num_actions):\\n\",\n    \"    for j, agent in enumerate(agents):\\n\",\n    \"        sns.heatmap(agent.B[0][0, ..., i], ax=axes[j, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    sns.heatmap(env.B[0][..., i], ax=axes[-1, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    axes[0, i].set_title(action_labels[i])\\n\",\n    \"\\n\",\n    \"for j, label in enumerate(row_labels):\\n\",\n    \"    axes[j, 0].set_ylabel(label, rotation=25, labelpad=60, ha='left', va='center')\\n\",\n    \"axes[-1, 0].set_ylabel('true B', rotation=0, labelpad=40, ha='left', va='center')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"fig.tight_layout()\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Here, the agents have to learn A matrix, with B matrix being fixed to the true observation mapping of generative process, and precise (and accurate) prior over initial hidden states\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"C = [jnp.zeros((batch_size, num_obs[0]))]\\n\",\n    \"pA = [jnp.ones_like(a) / a.shape[0] for a in env.A]\\n\",\n    \"_A = jtu.tree_map(lambda a: dirichlet_expected_value(a), pA)\\n\",\n    \"B = [jnp.array(b) for b in env.B]\\n\",\n    \"D = [jnp.array(d) for d in env.D]  \\n\",\n    \"\\n\",\n    \"agents = []\\n\",\n    \"for i in range(5):\\n\",\n    \"    agents.append( \\n\",\n    \"        Agent(\\n\",\n    \"            _A,\\n\",\n    \"            B,\\n\",\n    \"            C,\\n\",\n    \"            D,\\n\",\n    \"            E=None,\\n\",\n    \"            pA=pA,\\n\",\n    \"            pB=None,\\n\",\n    \"            policy_len=3,\\n\",\n    \"            use_utility=False,\\n\",\n    \"            use_states_info_gain=True,\\n\",\n    \"            use_param_info_gain=True,\\n\",\n    \"            gamma=jnp.ones(batch_size),\\n\",\n    \"            alpha=jnp.ones(batch_size) * i * .2,\\n\",\n    \"            categorical_obs=False,\\n\",\n    \"            action_selection=\\\"stochastic\\\",\\n\",\n    \"            inference_algo=\\\"exact\\\",\\n\",\n    \"            num_iter=1,\\n\",\n    \"            learn_A=True,\\n\",\n    \"            learn_B=False,\\n\",\n    \"            learn_D=False,\\n\",\n    \"            batch_size=batch_size,\\n\",\n    \"            learning_mode=\\\"offline\\\",\\n\",\n    \"        )\\n\",\n    \"    )\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Run multiple blocks of active inference on grid world for each batch of agents that was initialized different `alpha` values. \\n\",\n    \"\\n\",\n    \"#### Since the agents are using offline learning (`learning_mode = \\\"offline\\\"`), this means that parameter updates to the A matrix are performed at the end of each block.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"pA_ground_truth = 1e4 * env.A[0] + 1e-4\\n\",\n    \"num_timesteps = 50\\n\",\n    \"num_blocks = 20\\n\",\n    \"key = jr.PRNGKey(0)\\n\",\n    \"block_and_batch_keys = jr.split(key, num_blocks * (batch_size+1)).reshape((num_blocks, batch_size+1, -1))\\n\",\n    \"\\n\",\n    \"divs = {i: [] for i in range(len(agents))}\\n\",\n    \"for block in range(num_blocks):\\n\",\n    \"    block_keys = block_and_batch_keys[block]\\n\",\n    \"    for i, agent in enumerate(agents):\\n\",\n    \"        init_obs, init_states = vmap(env.reset)(block_keys[:-1])\\n\",\n    \"        last, info = jit(rollout, static_argnums=[1, 2])(agent, env, num_timesteps, block_keys[-1], initial_carry={\\\"observation\\\": init_obs, \\\"env_state\\\": init_states})\\n\",\n    \"        agents[i] = last['agent']\\n\",\n    \"        divs[i].append(kl_div_dirichlet(agents[i].pA[0], pA_ground_truth).mean(-1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Plot the KL divergence between the true parameters and believed parameters over time for the different groups of agents (agents with different levels of action stochasticity)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAA90AAAHqCAYAAAAZLi26AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Qe0ZGWVN/z/yZWrbr63b2douslIBhUQEFD0HRRnUBQQUV99xTGCCWVERxR11PlMA6g4ioKM4iggiESRKElSQzedu2++latOPt96nuq6favj7aabTv/fWrUqPXXq1O3C5a69n72VKIoiEBEREREREdF2p27/QxIRERERERGRwKCbiIiIiIiIaAdh0E1ERERERES0gzDoJiIiIiIiItpBGHQTERERERER7SAMuomIiIiIiIh2EAbdRERERERERDsIg24iIiIiIiKiHUTfUQemDYVhiDVr1iCdTkNRlJ19OkRERERERLSNoihCuVzGtGnToKqbzmcz6H4ViYB7xowZO/s0iIiIiIiIaDtZuXIlpk+fvsnnGXS/ikSGu/mPkslkdvbpEBERERER0TYqlUoyqdqM8zaFQferqFlSLgJuBt1ERERERES7vy1tHWYjNSIiIiIiIqIdhEE3ERERERER0Q7CoJuIiIiIiIhoB+GebiIiIiIiovVG/bquu7NPg3YywzCgadorPg6DbiIiIiIiorVEsL106VIZeBPlcjn09vZusVna5jDoJiIiIiIiAhBFEQYGBmR2U4yCUlXuxt2bvwu1Wg3Dw8Pyfl9f3zYfi0E3ERERERERAN/3ZaA1bdo0JBKJnX06tJPF43F5LQLv7u7ubS415083REREREREAIIgkNemae7sU6FdRPPHF8/ztvkYDLqJiIiIiIgmeSX7d2nPomyH7wKDbiIiIiIiIqIdhEE3ERERERHRXmLZsmUye/vUU09N+TXXXXed7OJN24ZBNxEREREREdEOwqCbiIiIiIiIaAdh0E1ERERERLQHuf322/G6171OloR3dHTgLW95C15++eWNrr333ntlufmtt96KQw45BLFYDMceeyyeffbZDdbecccd2H///ZFKpXDGGWfImeZNjz32GN74xjeis7MT2WwWJ554Ip544okd+jl3Fwy6iYiIiIiI9iDVahWf/OQn8fe//x133XUXVFXF2972NoRhuMnXXHLJJfj2t78tg+euri689a1vbRmTJeaXf+tb38IvfvEL3H///VixYgU+/elPTzxfLpdxwQUX4IEHHsDDDz+MefPm4c1vfrN8fG+n7+wToF1DFEW476ZfYWz5Srz+Xeeie/rMnX1KRERERES0Dc4+++yW+z/96U9lIP3888/LLPXGXH755TJTLfz85z/H9OnTcfPNN+Nf/uVf5GMiAP/xj3+MffbZR96/+OKLccUVV0y8/uSTT2453tVXXy0z7ffdd5/MtO/NmOmmCaufW4TKUBHPP/K3nX0qRERERES0jRYtWoR3vetdmDt3LjKZDGbPni0fF9npTTnuuOMmbre3t2P+/Pl44YUXJh5LJBITAbfQ19eH4eHhiftDQ0P4wAc+IDPcorxcvG+lUtnse+4tmOkmSezjyPa0Y2zJAEaXLUcQRtDUVz4InoiIiIiIXl2iNHzWrFm45pprMG3aNFlWftBBB8F13W0+pmEYG8QPolq2SZSWj42N4Xvf+558b8uyZCDvvoL33FMw000Tps2bBwUK7HwVo4Xizj4dIiIiIiLaSiLwffHFF3HZZZfhlFNOkY3P8vn8Fl8n9mE3ifUvvfSSfO1U/e1vf8O//uu/yn3cBx54oAy6R0dHt/lz7EkYdNOEaQsWQNMNBHaI5S89Dz/YdKMFIiIiIiLa9bS1tcmO5WJP9eLFi3H33XfLpmpbIvZni6Zromv5e9/7XtmF/Kyzzpry+4qyctFkTZSkP/LII3j3u9+NeDz+Cj/NnoFBN03o6Z8FK2lCQYT80hcwWnZ29ikREREREdFWEJ3Kb7jhBjz++OOypPwTn/gEvvnNb27xdV//+tfxsY99DEcccQQGBwfxxz/+EaZpTvl9f/KTn8gM+eGHH47zzjtPZr27u7tf4afZMyjR5EJ82qFKpZJsKlAsFmVjgV3Rn370I4wvXYNYXwr7n/Vu7DdzGnSNv80QERER0Z7Ptm0sXboUc+bMkfOq9wZiTvcb3vAGGTCLbuM09e/EVOM7RlPUomNGH1RNg1uyEVWGMVJhtpuIiIiIiGhbMeimFr1inIBuAF6I+vBqjJXq8Li3m4iIiIiIaJsw6KYWXdOmQ4vpiAKgVhiH6hQxwr3dRERERER7pJNOOkmO/mJp+Y7DoJta6IkUkpkYFKiojxeg2XmMV124PrPdREREREREW0vf6lfQHutv//tblEZGYCVjiFQNdrEGrV6Al3YwUjHRn2PLfyIiIiIioq3BTDdNCAIXYRBAUVSopgbHjaA6VZntzjPbTUREREREtNUYdNOEbFdP40YUQrN0eA5QL1WRRgVisNxw2d7Zp0hERERERLRbYdBNE7qmz5DXnuvDShhAqGB4pICc4UP1qijUPDh+sLNPk4iIiIiIaLfBoJsmdPbNABQFASJYliEz3pV6gMCuIxOVG9nuEjuZExERERERTRWDbppgxmJI5rIy8FbDEHpMh10LURwrotOoySBcZLttj9luIiIiIqJdzQ9+8APMnj0bsVgMxxxzDB599NHNrr/pppuwYMECuf7ggw/Gbbfd9qqd696EQTe1yHWv3dctgm5Lg+t6KBTriGtAVqnKpzi3m4iIiIho13LjjTfik5/8JC6//HI88cQTOPTQQ3H66adjeHh4o+sffPBBvOtd78JFF12EJ598EmeddZa8PPvss6/6ue/pGHRTi/Zp0+R1IILuuIHI8VAoBzL47tZr8jlmu4mIiIiIdi3/8R//gQ984AO48MILccABB+DHP/4xEokEfvrTn250/fe+9z2cccYZuOSSS7D//vvjK1/5Cg4//HB8//vff9XPfU+3U4PuH/3oRzjkkEOQyWTk5bjjjsOf/vSniedPOukkKIrScvnQhz7UcowVK1bgzDPPlF+o7u5u+aXxfb9lzb333iu/QJZlYd9998V111231aUYtm3jIx/5CDo6OpBKpXD22WdjaGgIe5qu/lmyvDyECkNToQCoehGK+SJiYRUZM5LruLebiIiIiPZkYRhhrOLs1Is4h6lwXRePP/44Tj311InHVFWV9x966KGNvkY8Pnm9IDLjm1pP207HTjR9+nR8/etfx7x58xBFEX7+85/jn/7pn2R5w4EHHijXiF9rrrjiionXiOC6KQgCGXD39vbK8oiBgQGcf/75MAwDX/va1+SapUuXyjUiWL/++utx11134f3vfz/6+vrkl2pyKYb4NUgE3N/97nflcy+++KIM5IVPfOITuPXWW+W+h2w2i4svvhhvf/vb8be//Q17kngyiXg6hXpQgub5MAygXndRLHkQE8V6jBpKbhLFeiPbHTO0nX3KRERERETbXb7m4oiv/mWnnsPjl52KjpS1xXWjo6MyNurpWbtVdC1xf+HChRt9zeDg4EbXi8dpD8p0v/Wtb8Wb3/xm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\",\n      \"text/plain\": [\n       \"<Figure size 1000x500 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"fig, axes = plt.subplots(1, 1, figsize=(10, 5), sharex=True, sharey=True)\\n\",\n    \"for i in range(len(agents)):\\n\",\n    \"    p = axes.plot(jnp.stack(divs[i]).mean(-1), lw=3, label=agents[i].alpha.mean())\\n\",\n    \"    axes.plot(jnp.stack(divs[i]), color=p[0].get_color(), alpha=.2)\\n\",\n    \"\\n\",\n    \"axes.legend(title='alpha')\\n\",\n    \"axes.set_ylabel('KL divergence')\\n\",\n    \"axes.set_xlabel('epoch')\\n\",\n    \"fig.tight_layout()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualize the learned A matrices alongside the true environmental parameters after training\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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OwEFRT5Fh1tXhXNueeaVBwqObIoe52dKXDsB/ssmO0cdR/kVIB555BFJT0+X999/X9auXStz5syR1atXy8aNGz1dsAAQfceCxRM9BAAIQzYBMBX5BMBEZBMAEx2zNJsoWpyiWJFTgDh06JCULVtW//e2bdvk1Vdflddee02aNm2qt9atW8vVV18tjz76qDzwwAPi9yr4W+mfhB1zc3LzOI4IsMdxSxdFsoFbV8VsR2dYdzrDAFdkU+y43Rk4YefakMfDUlrGcUSAXcin2HF2VsxND80mpUsy+QS4IZvie+3kXG+VtVYBb2UTLQH5yClWvPLKK3LFFVfI008/nfu1okWL6vUsKlWqpB+rBbkbNWok9957r0yaNEn27dsXkzGpwsmQIUMkJSVFSpUqJa1atZJPP/00Jt8LQPwcyy4WtgFAopFNAExFNgEwEddOAEx0zNJsotMiH2rqp169esmWLVvk9ttvl5YtW+Z2W/z2229Sv359+fe//y0tWrTQBQyld+/e8vjjj8s777wjffv21cWMnK9Fgzrn119/LbNnz5aqVavqbo+2bdvKt99+K+eee66YxK2r4vbvt4Y8nnp+7TiOCDBXRtCOFwyvcHZWzEkPXfeiWzJrXgAK2RRfzs4K592DCncQAr8jn+LHrauCzjDAHdkUX87rIud6hqxlCNidTRQt8jF//nzdbfGf//xHypQpE/K1evXqSeXKlWXTpk26uKEW4lbTSVWsWFE6dOigp41SBYZoFiyOHj0qb731lixatEguvfRSvW/s2LHy7rvvytSpU/UaGwDsdNzSRZEAeBvZBMBU5BMAE5FNAEx03NJssnPUMaY6KT744AO55ZZbpFixYvLQQw/pboZmzZrJVVddJRdffLFcd9118txzz8nixYtl4MCBudNJqcLFgQMH5MiRI1K6dOmojenEiROSlZUlJUuWDNmvpolSC4DbwNlZMeqHL8OOGX9e/TiOCDBDhiWteV7l7KyY7nJ3s3N+Z8APyKbEcuuqmOVYk8e5phjgF+RTYjk7KybvDM2mQSlkE/yJbEosZ2eFs/PC7RjADzIszSZfrWmhpmsqiHLlysn69eulePHiMmjQIPnoo4/knHPOkRkzZkj79u3lu+++k65du0rdunVl+vTputsix8aNG6VWrVq6YFHQ71cQaloqNUXVww8/LP/97391AUNND7V2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\",\n      \"text/plain\": [\n       \"<Figure size 1600x800 with 60 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"n_batches_to_show = min(5, agents[0].A[0].shape[0])\\n\",\n    \"num_rows = len(agents) + 1\\n\",\n    \"row_labels = []\\n\",\n    \"for agent in agents:\\n\",\n    \"    alpha_value = float(agent.alpha.mean(0).squeeze())\\n\",\n    \"    row_labels.append(f'alpha={alpha_value:.2f}')\\n\",\n    \"\\n\",\n    \"fig, axes = plt.subplots(num_rows, n_batches_to_show, figsize=(16, 8), sharex=True, sharey=True)\\n\",\n    \"\\n\",\n    \"for i in range(n_batches_to_show):\\n\",\n    \"    for j, agent in enumerate(agents):\\n\",\n    \"        sns.heatmap(agent.A[0][i], ax=axes[j, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    sns.heatmap(env.A[0], ax=axes[-1, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    axes[0, i].set_title(f'batch={i + 1}')\\n\",\n    \"\\n\",\n    \"for j, label in enumerate(row_labels):\\n\",\n    \"    axes[j, 0].set_ylabel(label, rotation=25, labelpad=60, ha='left', va='center')\\n\",\n    \"axes[-1, 0].set_ylabel('true A', rotation=0, labelpad=40, ha='left', va='center')\\n\",\n    \"\\n\",\n    \"fig.tight_layout()\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Here, once again the agents have to learn the A matrix, with B matrix being fixed to the true B matrix of generative process. This time, agents have a flat prior over initial hidden states\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# create agent with B matrix being fixed to the B of the generative process, and precise initial beliefs about hidden states\\n\",\n    \"C = [jnp.zeros(num_obs[0])]\\n\",\n    \"pA = [jnp.ones_like(a) / a.shape[0] for a in env.A]\\n\",\n    \"_A = jtu.tree_map(lambda a: dirichlet_expected_value(a), pA)\\n\",\n    \"B = [jnp.array(b) for b in env.B]\\n\",\n    \"_D = [jnp.ones(num_states[0])/num_states[0]]  # flat prior over initial states\\n\",\n    \"\\n\",\n    \"agents = []\\n\",\n    \"for i in range(5):\\n\",\n    \"    agents.append( \\n\",\n    \"        Agent(\\n\",\n    \"            _A,\\n\",\n    \"            B,\\n\",\n    \"            C,\\n\",\n    \"            _D,\\n\",\n    \"            E=None,\\n\",\n    \"            pA=pA,\\n\",\n    \"            pB=None,\\n\",\n    \"            policy_len=3,\\n\",\n    \"            use_utility=False,\\n\",\n    \"            use_states_info_gain=True,\\n\",\n    \"            use_param_info_gain=True,\\n\",\n    \"            gamma=jnp.ones(batch_size),\\n\",\n    \"            alpha=jnp.ones(batch_size) * i * .2,\\n\",\n    \"            categorical_obs=False,\\n\",\n    \"            action_selection=\\\"stochastic\\\",\\n\",\n    \"            inference_algo=\\\"exact\\\",\\n\",\n    \"            num_iter=1,\\n\",\n    \"            learn_A=True,\\n\",\n    \"            learn_B=False,\\n\",\n    \"            learn_D=False,\\n\",\n    \"            batch_size=batch_size,\\n\",\n    \"            learning_mode=\\\"offline\\\",\\n\",\n    \"        )\\n\",\n    \"    )\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Run multiple blocks of active inference on grid world for each batch of agents that was initialized different `alpha` values. \\n\",\n    \"\\n\",\n    \"#### Since the agents are using offline learning (`learning_mode = \\\"offline\\\"`), this means that parameter updates to the A matrix are performed at the end of each block.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"pA_ground_truth = 1e4 * env.A[0] + 1e-4\\n\",\n    \"num_timesteps = 50\\n\",\n    \"num_blocks = 20\\n\",\n    \"key = jr.PRNGKey(0)\\n\",\n    \"block_and_batch_keys = jr.split(key, num_blocks * (batch_size+1)).reshape((num_blocks, batch_size+1, -1))\\n\",\n    \"\\n\",\n    \"divs = {i: [] for i in range(len(agents))}\\n\",\n    \"for block in range(num_blocks):\\n\",\n    \"    block_keys = block_and_batch_keys[block]\\n\",\n    \"    for i, agent in enumerate(agents):\\n\",\n    \"        init_obs, init_states = vmap(env.reset)(block_keys[:-1])\\n\",\n    \"        last, info = jit(rollout, static_argnums=[1, 2])(agent, env, num_timesteps, block_keys[-1], initial_carry={\\\"observation\\\": init_obs, \\\"env_state\\\": init_states})\\n\",\n    \"        agents[i] = last['agent']\\n\",\n    \"        divs[i].append(kl_div_dirichlet(agents[i].pA[0], pA_ground_truth).mean(-1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Plot the KL divergence between the true parameters and believed parameters over time for the different groups of agents (agents with different levels of action stochasticity)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 1000x500 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"fig, axes = plt.subplots(1, 1, figsize=(10, 5), sharex=True, sharey=True)\\n\",\n    \"for i in range(len(agents)):\\n\",\n    \"    p = axes.plot(jnp.stack(divs[i]).mean(-1), lw=3, label=agents[i].alpha.mean())\\n\",\n    \"    axes.plot(jnp.stack(divs[i]), color=p[0].get_color(), alpha=.2)\\n\",\n    \"\\n\",\n    \"axes.legend(title='alpha')\\n\",\n    \"axes.set_ylabel('KL divergence')\\n\",\n    \"axes.set_xlabel('epoch')\\n\",\n    \"fig.tight_layout()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualize the learned A matrices alongside the true environmental parameters after training\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 1600x800 with 60 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"n_batches_to_show = min(5, agents[0].A[0].shape[0])\\n\",\n    \"num_rows = len(agents) + 1\\n\",\n    \"row_labels = []\\n\",\n    \"for agent in agents:\\n\",\n    \"    alpha_value = float(agent.alpha.mean(0).squeeze())\\n\",\n    \"    row_labels.append(f'alpha={alpha_value:.2f}')\\n\",\n    \"\\n\",\n    \"fig, axes = plt.subplots(num_rows, n_batches_to_show, figsize=(16, 8), sharex=True, sharey=True)\\n\",\n    \"\\n\",\n    \"for i in range(n_batches_to_show):\\n\",\n    \"    for j, agent in enumerate(agents):\\n\",\n    \"        sns.heatmap(agent.A[0][i], ax=axes[j, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    sns.heatmap(env.A[0], ax=axes[-1, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    axes[0, i].set_title(f'batch={i + 1}')\\n\",\n    \"\\n\",\n    \"for j, label in enumerate(row_labels):\\n\",\n    \"    axes[j, 0].set_ylabel(label, rotation=25, labelpad=60, ha='left', va='center')\\n\",\n    \"axes[-1, 0].set_ylabel('true A', rotation=0, labelpad=40, ha='left', va='center')\\n\",\n    \"\\n\",\n    \"fig.tight_layout()\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Here, once again the agents have to learn the A matrix, but now have a flat/uninformative prior over the B matrix\\n\",\n    \"#### We use a precise and accurate prior over hidden states\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"C = [jnp.zeros(num_obs[0])]\\n\",\n    \"pA = [jnp.ones_like(env.A[0]) / num_obs[0]]\\n\",\n    \"_A = jtu.tree_map(lambda a: dirichlet_expected_value(a), pA)\\n\",\n    \"pB = [jnp.ones_like(env.B[0]) / num_states[0]]\\n\",\n    \"_B = jtu.tree_map(lambda b: dirichlet_expected_value(b), pB)\\n\",\n    \"D = [jnp.array(d) for d in env.D]\\n\",\n    \"\\n\",\n    \"agents = []\\n\",\n    \"for i in range(5):\\n\",\n    \"    agents.append( \\n\",\n    \"        Agent(\\n\",\n    \"            _A,\\n\",\n    \"            _B,\\n\",\n    \"            C,\\n\",\n    \"            D,\\n\",\n    \"            E=None,\\n\",\n    \"            pA=pA,\\n\",\n    \"            pB=pB,\\n\",\n    \"            policy_len=3,\\n\",\n    \"            use_utility=False,\\n\",\n    \"            use_states_info_gain=True,\\n\",\n    \"            use_param_info_gain=True,\\n\",\n    \"            gamma=jnp.ones(batch_size),\\n\",\n    \"            alpha=jnp.ones(batch_size) * i * .2,\\n\",\n    \"            categorical_obs=False,\\n\",\n    \"            action_selection=\\\"stochastic\\\",\\n\",\n    \"            inference_algo=\\\"exact\\\",\\n\",\n    \"            num_iter=1,\\n\",\n    \"            learn_A=True,\\n\",\n    \"            learn_B=False,\\n\",\n    \"            learn_D=False,\\n\",\n    \"            batch_size=batch_size,\\n\",\n    \"            learning_mode=\\\"offline\\\",\\n\",\n    \"        )\\n\",\n    \"    )\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Run multiple blocks of active inference on grid world for each batch of agents that was initialized different `alpha` values. \\n\",\n    \"\\n\",\n    \"#### Since the agents are using offline learning (`learning_mode = \\\"offline\\\"`), this means that parameter updates to the A matrix are performed at the end of each block.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"pA_ground_truth = 1e4 * env.A[0] + 1e-4\\n\",\n    \"pB_ground_truth = 1e4 * env.B[0] + 1e-4\\n\",\n    \"num_timesteps = 50\\n\",\n    \"num_blocks = 100\\n\",\n    \"key = jr.PRNGKey(0)\\n\",\n    \"block_and_batch_keys = jr.split(key, num_blocks * (batch_size+1)).reshape((num_blocks, batch_size+1, -1))\\n\",\n    \"\\n\",\n    \"divs1 = {i: [] for i in range(len(agents))}\\n\",\n    \"divs2 = {i: [] for i in range(len(agents))}\\n\",\n    \"for block in range(num_blocks):\\n\",\n    \"    block_keys = block_and_batch_keys[block]\\n\",\n    \"    for i, agent in enumerate(agents):\\n\",\n    \"        init_obs, init_states = vmap(env.reset)(block_keys[:-1])\\n\",\n    \"        last, info = jit(rollout, static_argnums=[1, 2])(agent, env, num_timesteps, block_keys[-1], initial_carry={\\\"observation\\\": init_obs, \\\"env_state\\\": init_states})\\n\",\n    \"        agents[i] = last['agent']\\n\",\n    \"        divs1[i].append(kl_div_dirichlet(agents[i].pA[0], pA_ground_truth).mean(-1))\\n\",\n    \"        divs2[i].append(kl_div_dirichlet(agents[i].pB[0], pB_ground_truth).sum(-1).mean(-1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Plot the KL divergence between the true parameters and believed parameters over time for the different groups of agents (agents with different levels of action stochasticity)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAABKUAAAHqCAYAAADVi/1VAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAyCFJREFUeJzs3Qd8FGX6B/DfzPb0hAChV6VIU5qgAiqCip4o/g/LCVYOBY9ixQJ2zt6FQ0+snIhnRQQVAQsgiHAUKYooNRAI6dk68/88b9h1NwRIMMkmm9/3/5+bnZl3Z99J+LiTZ573eTXTNE0QERERERERERFVI706P4yIiIiIiIiIiEgwKEVERERERERERNWOQSkiIiIiIiIiIqp2DEoREREREREREVG1Y1CKiIiIiIiIiIiqHYNSRERERERERERU7RiUIiIiIiIiIiKiasegFBERERERERERVTsGpYiIiIiIiIiIqNoxKEVEFEM0TcN9990X7W4QERERVQne6xDFFgaliKhOeumll9RNTe/evVETLV26VN1w5eTkRLsrREREVEu89tpr6v4mfGnQoAHOPPNMfPbZZ6hJeK9DRMLKHwMR1UVvv/02WrZsiRUrVuCXX35B27ZtUdNu1O6//35cffXVSElJKff7iouLYbXyP+1ERER12QMPPIBWrVrBNE3s3btXBavOP/98fPLJJ7jgggtQE/Beh4gEM6WIqM7Ztm2buhF66qmnUL9+fRWgqs0Mw4Db7VavnU4nb9SIiIjquPPOOw9/+9vfcNVVV+HWW2/FN998A5vNhv/85z+ojXivQxS7GJQiojpHglCpqakYMmQILr300goFpSS7Sp4wLl68GD169IDL5ULnzp3Vtnj//ffVttwwde/eHatXr454/9q1a9UTwdatW6s2GRkZuPbaa3HgwIFQG0llv+2229RrecoZTL//7bff1D55PXbsWNXvk046CQ6HA/Pnzz+szoI8SWzfvr1a5HVQdnY2GjVqhL59+yIQCPypnyURERHVfJKJJPcs5Qnm8F6HiKoTQ8xEVOfIDc4ll1wCu92Oyy+/HNOmTcPKlSvRs2fPcr1fhvtdccUV+Pvf/66eQj7xxBO48MILMX36dNx111246aabVLupU6fir3/9KzZv3gxdL3kG8MUXX+DXX3/FNddco27SNmzYgBkzZqj18uXL1Y2W9G3L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C94XHC+ZAU5mcJs+fTp69+6tZpkbPHiwmqWuQYMGh7VPS0vD3XffrWaPk5np5s6di2uuuUa1lfcJOd9XX32Ft956S8089/nnn+Omm25STzn/8pe/lKtfvN8hIiKivHLe73D2vWr+pSQnJ6vpjHmTRkREVDdV1v2ABKJ69uyJF154ITRsTm7+br75Ztx5553lOscpp5yCIUOG4MEHH1TbnTp1wvDhw3HvvfeG2nTv3h3nnXceHnrooXKdk/c7RERElFfO+4HYK2RAREREFOO8Xi9WrVqFgQMHhvZJvQbZXrZs2THfL88kFy5cqLKq+vXrF9rft29ffPzxx9i1a5dqs2jRImzZsgWDBg064rk8Ho+68QxfiIiIiMqDw/eIiIiIapn9+/cjEAigYcOGEftle9OmTUd8nzytbNKkiQokWSwWvPTSSzjnnHNCx59//nmMGjUKTZs2hdVqVYGul19+OSJwVdrUqVNx//33V9KVERERUV3CoBQRERFRHSF1HdasWYOCggKVKSU1pFq3bo0BAwaEglLLly9X2VItWrTA119/jTFjxqiaUuFZWeEmTZqkzlO6hgQRERHRsTAoRUREVIkke8Xn80W7GxRFNptNZSFVpfT0dPUZe/fujdgv2xkZGUd8n2Q+tW3bVr3u1q0bNm7cqDKdJChVXFyMu+66Cx988IGqMyW6dOmiglhPPPHEEYNSDodDLUREREQVxaAUERFRJZD6O5mZmcjJyYl2V6gGSElJUcEhTdOq5Pwye54UIJdsp6FDh4YKncv22LFjy30eeY8M5RMSTJVFAlfhJPgl7YiIiIgqG4NSRERElSAYkGrQoAHi4uKqLBhBNT84WVRUhH379qntRo0aVdlnyZC5kSNHokePHujVqxeeeeYZFBYW4pprrlHHR4wYoepHSSaUkLW0bdOmjQpEzZs3D2+++SamTZumjsvMOP3798dtt90Gl8ulhu8tWbIEb7zxBp566qkquw4iIiKquxiUIiIiqoQhe8GAVL169aLdHYoyCegICUzJv4mqGso3fPhwZGVlYfLkySooKsPx5s+fHyp+vn379oisJwlY3XTTTdi5c6fqY/v27fHWW2+p8wS98847qkbUlVdeiezsbBWYevjhhzF69OgquQYiIiKq2zRTHulRtZDCn8nJyWrmG3kaSUREscHtdmPbtm1o2bJlKCBBdZvU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EcU4t9uNbdu2qUyculDwm/7cv4nKuh+QwuuS5favf/0rlOX27rvvYtOmTSqoWDrLTdaSEScz6kkgat68ebjzzjtVoPH6669XbaRovQQqX3zxRZx55pkqgCfZZosXL1YBvWje7xAREVHtUd77AWZKxQB7ogvIDt9jlUef6pW7ODyFioiIiOpqlptkjN10003YuXMnXC4X2rdvj7feekudJ0gKm8swRglg/eMf/1A1vP773/+WOyBFREREVBHMlKpGVfXk8NN/vYjfVnf4Y4fhR2rjZUhulI4TevbEiaf0qrTPIiKiwzFTiqKRKVVTxfr1ERERUeXdD/zx+IxqraT69SN36FYEfH710u1mphQRERERERER1TwMSsWA+mUUH/UV+tTa7y4pXkpEREREREREVJMwKBUDmrRpd9g+v7tk9j2vxx2FHhERERERERERHR2DUjEgMSUFCJTKiPKX/Gr9XmZKEREREREREVHNw6BUrPCX1JAKMvwlEyv6Pd4odYiIiIiIiIiI6MgYlIoVZmRQSvM71NrvLaktRURERERERERUkzAoFSM0IzIjSkPJ9NM+N2tKEREREREREVHNw6BUjNCMUsEn0wkzYMAIBOD3MVuKiIiIiIiIiGqWqAalpk2bhi5duiApKUktffr0wWeffRY6PmDAAGiaFrGMHj064hzbt2/HkCFDEBcXhwYNGuC2226Dv1R9pcWLF+OUU06Bw+FA27Zt8dprrx3WlxdffBEtW7aE0+lE7969sWLFiojjbrcbY8aMQb169ZCQkIBhw4Zh7969qCk0FJfa4UDAMNRLT3FRdDpFRES1wrG+A4/knXfeUd/NQ4cOjdhvmiYmT56MRo0aweVyYeDAgfj5558j2mRnZ+PKK69U3/8pKSm47rrrUFBQENFm7dq1OOOMM1S/mjVrhscee+ywPsyZMwft27dXbTp37ox58+ZVel/uu+++w+5HZImPjy/Xz4mIiIiIamBQqmnTpvjnP/+JVatW4YcffsBZZ52Fiy66CBs2bAi1ueGGG7Bnz57QEn5DGggEVEDK6/Vi6dKleP3111XASW4+g7Zt26banHnmmVizZg3Gjx+P66+/HgsWLAi1mT17NiZOnIgpU6bgxx9/RNeuXTF48GDs27cv1GbChAn45JNP1M3vkiVLsHv3blxyySWoKXSjVOBJs0MzS4JSRQV50ekU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MZNtIyRzpl27dnC5XGjWrBkmTJgAt9tdoXNK+zFjxqBevXpISEjAsGHDsHfv3og227dvx5AhQxAXF4cGDRrgtttug79UfcTFixfjlFNOgcPhQNu2bfHaa69V+PpmzJiBAQMGICkpSWUG5eTkHHaOv/zlL2jevLk6R6NGjXDVVVdh9+7diKannnoKN9xwgwosdezYEdOnT1c/q1dffbXM9nKNF198MTp06IA2bdpg3Lhx6NKlC7799tuIdrt27cLNN9+Mt99+GzabrZquhoiIiOoiBqViiDM+Dpa4Mm4eDSsMoyRY5S0qqv6OERFRzGTbzJo1C3feeadqv3HjRvz73/9W57jrrrsqdE4JZH3yySeYM2cOlixZogI8l1xySeh4IBBQASmv14ulS5fi9ddfVwGnyZMnh9ps27ZNtTnzzDOxZs0ajB8/Htdff31E5k95+lJUVIRzzz034hpKk8949913sXnzZvz3v//F1q1bcemllyJa5OeyatUqDBw4MLRP13W1LZlQx2KaJhYuXKiup1+/fqH9hmGogJsEAE866aQq6z8RERGRKJmajWKCMy4RzngHirJ9JbWkDtFgQzB/yu1mphQRUVUyDRPuQl9U++CMt4WGbVck20ZIts2nn36qsm0k+FSaBIhOO+00XHHFFWpbMpAuv/xyfP/99+U+Z25urgpmSYDrrLPOUm1mzpypMnhkyNipp56Kzz//HD/99BO+/PJLNGzYUNU/evDBB3HHHXfgvvvug91uV+dt1aoVnnzySXUOeb9k/Tz99NMq8FTe65NgVjDr6kgkiBbUokUL9d6hQ4fC5/NFJZto//79KnAnP5twsr1p06Yjvk9+9k2aNIHH44HFYsFLL72Ec845J3T80UcfhdVqxT/+8Y9y90XOJUtQXl5eha+HiIiI6iYGpWKIKz4esFrkL6KI/SZs0A9lSvndpWfnIyKiyiQBqVdvixwOVd2uffx0uBLt5c62mTRpUrmzbfr27Yu33npLDYHr1asXfv31V8ybN09l15T3nHJcgjnhWT7t27dXw+OkjQSlZN25c+eIoIsEmm688UZs2LABJ598smoTfo5gm2CQ6Xiurzyys7PV0Db5WdS24W2JiYkqq6ygoEBlSkkWWevWrdXQPvlZPfvssyqjTIYxltfUqVNx//33V2m/iYiIKDZx+F4MsdpsagEig1IarAgc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CpgSfHKE9mu6AwFPAB63O6r9IyIiIiIiIqK6qcKZUv/+978xfvz4iCmG5fXNN9+MGTNmqMypsWPHYv369ZXdVzoOVocdNqcdMCPrSplwwPCaCAR8UesbEREREREREdVdFQ5KyRC9TZs2HbZf9gUCJYEPqS1VVt0pqn4Wqw02hx2aUSr4pDlgmEDOvn3R6hoRERERERER1WEVHr531VVX4brrrsNdd92Fnj17qn0rV67EI488ghEjRqjtJUuW4KSTTqr83lKF2Z0OWG1W6KYP4blShm4B/EDO/r1R7B0RERERERER1VUVDko9/fTTaNiwIR577DHs3VsS0JDtCRMmqDpSYtCgQTj33HMrv7dUYTanE7BYoJmRs+wZh371xTm5UeoZEREREREREdVl1ooO3Zs1axauv/563H333cjLy1P7k5KSIto1b968cntJx83ujIOljKAUdCvMgIbinIJodY2IiIiIiIiI6rAK1ZSyWq1qZj33oRnbJBhVOiBFNYvd6YKm6zA1b+QBzQIpAeYrKI5W14iIiIiIiIioDqtwofNevXph9erVVdMbqnTOOJdaH5YppVmhBawwDAMHszKj0zkiIiIiIiIiqrMqXFPqpptuwi233IKdO3eie/fuiI+PjzjepUuXyuwf/UkOV5xaa3pJdluI1QZ4bDACARzI3IPU+hnR6SARERERERER1UkVDkpddtllav2Pf/wjtE/TNJimqdYBGRNGNYYzLkGtTb1UppQwnIBZiLysrOrvGBERERERERHVaRUOSm3btq1qekJVmimlW6SAlAewOf44qMUh4M9FQc6B6HWQiIiIiIiIiOqkCgelWrRoUTU9oSphtdlgsdkAqwF4vJFBKThheAwUZudGsYdEREREREREVBdVuNC5ePPNN3HaaaehcePG+P3339W+Z555Bh999FFl948qgdVuh6bJGL7IIXyG7oThN1VdKRY7JyIiIiIiIqIaHZSaNm0aJk6ciPPPPx85OTmhGlIpKSkqMEU1j9UumVKAHihVV8rihGmY6qUUOyciIiIiIiIiqrFBqeeffx4vv/wy7r77blgsltD+Hj16YN26dZXdP6oEVocdmlWHhsgZ+AKaAyiJSbHYORERERERERHV7KCUFDo/+eSTD9vvcDhQWFhYWf2iSmSx2iDxQ71UUAqaHYZhqJf52fuj0zkiIiIiIiIi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QamCggI1E54swYLi8nr79u3qmMyGt3z5cvz2228qICQz37Vt21YVIRcdOnRQdaduuOEGrFixAt999x3Gjh2rhv3JzHviiiuuUEXOr7vuOmzYsAGzZ89Ws+1NnDgx1I9x48apWfyefPJJbNq0Cffddx9++OEHdS6haRrGjx+Phx56CB9//DHWrVuHESNGqM8YOnQoYklS/frQdFPlQcEMQLf6YfFH1sIytVSYuh+mCRjFFmz89ju13+50qHVBTmR2FRERERERERFRjaopJYGfM888M7QdDBSNHDkS06ZNw9q1a/H666+rbCgJAA0aNAgPPvigykAKevvtt1XwSGpMyax7w4YNw3PPPRcxS97nn3+OMWPGoHv37mr43+TJkzFq1KhQm759+2LWrFm45557VDH1E044AR9++CE6deoUanP77bejsLBQvU/6c/rpp6tAltMps9HFjsTUNGgWE5oJlSkluU8W/0EEkB5qY1jTYTV2QtN8MA0bDmzci28+fBcWuwModqM4n0EpIiIiIiIiIjo6zTQl34Wqgwz5kyCZ1JeqqUP5Mn/figXPvgJftkVlS2nQEfA74U84NaKdvfAbiVbB0AxYHQac9aywuOywuRxo26sHup5xVtSugYiIqCarDfcDf0asXx8RERFV3v1AraopRVXPERcPzWEBdBmbpyEgkSlbHuD3RDY0kiSkCc0egO4wEfCZ8Oa5UbDnIHZs+Cla3SciIiIiIiKiWoJBKYpgd7iQ1CBNBZxMTYPFcEC3AzZvdkQ7U09Wa90P2FPsSG5RH5pFk/rnyNuZhfycnChdARERERERERHVBgxKUQSHKw62OAd0VwDQDMCwAV4rdHNfRDu/tV5J4MqwwGKzwxnngjM5XmVMGYEAtv30v6hdAxERERERERHVfAxKUQSrzQZN12GNtwFOH0xdg2Y4ELDujWhnOhKBgA0wrXAfLETTTp1hsdvUTIW+Qj/2/botatdARERERERERDUfg1J0GKvdBovDCotNtrwwTQOwBwBfqbpSgTg1S58/38T2devQsG1r6DbAcOvI35+tiqYTEREREREREZWFQSk6jMVqhc1hg65rgMWjhunppg6bLyuinaklwbT6AK8Debsy4XcXQ7Npqkh63p5sbN+8MWrXQEREREREREQ1G4NSdBiLzQbdYYEpM+9JKpRVAlOAbhyIaOezZUCz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OkRERER0EFg4g4iIiIiIiIiIso6hFBERERERERERZR1DKSIiIiIiIiIiyjqGUkRERERERERElHUMpYiIiIiIiIiIKOsYShERERERERERUdYxlCIiIiIiIiIioqxjKEVERERERERERFnHUIqIiIiIiIiIiLKOoRQREREREREREWUdQykiIiIiIiIiIso6hlJERERERERERJR1DKWIiIiIiIiIiCjrGEoREREREREREVHWubL/kkcupZTed3R05PpUiIiIKEe6+wHd/YJ8w/4OERERdfSzv8NQKos6Ozv1fvTo0bk+FSIiIhoC/YLi4mLkG/Z3iIiIqL/9HUPl68d0Q5DjOKirq0NhYSEMwxjwFFI6f7t27UJRUdGAPjd9NrZ97rDtc4dtnzts+8O/3aXrJR206upqmGb+VVJgfyc/se1zh22fO2z73GC7H1n9HY6UyiL5QowaNWpQX0P+4fAbNzfY9rnDts8dtn3usO0P73bPxxFS3djfyW9s+9xh2+cO2z432O5HRn8n/z6eIyIiIiIiIiKiIY+hFBERERERERERZR1DqTzh9Xpxzz336D1lF9s+d9j2ucO2zx22fW6w3YcGfh1yh22fO2z73GHb5wbb/chqexY6JyIiIiIiIiKirONIKSIiIiIiIiIiyjqGUkRERERERERElHUMpYiIiIiIiIiIKOsYSuWJxx57DOPGjYPP58NJJ52EFStW5PqU8soDDzyAOXPmoLCwEMOHD8dFF12ELVu29DkmHo/jpptuQnl5OQoKCnDppZeioaEhZ+ecrx588EEYhoHvfe97Pbex7QfP7t278Y1vfEO3rd/vx4wZM7Bq1aqe+6Us4d13340RI0bo+88++2xs27Ytp+ecD2zbxl133YXx48frdp04cSLuu+8+3d7d2PYD429/+xsuvPBCVFdX658tzz33XJ/7+9POra2tuPLKK1FUVISSkhJ885vfRDgczvI7OTKwvzO42N8ZOtjfyS72d3KD/Z3sGcr9HYZSeeCpp57Crbfeqqvkv/fee5g1axbOPfdcNDY25vrU8sbSpUt1J+Cdd97Bq6++ilQqhXPOOQeRSKTnmFtuuQXPP/88nnnmGX18XV0dLrnkkpyed75ZuXIlfvvb32LmzJl9bmfbD462tjaceuqpcLvdePnll7Fp0yb88pe/RGlpac8xDz30EB555BE8/vjj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O+7A6NGj9TGTJk3Cf/7nf/Y5ZvXq1TjhhBMQCARwyimnYMuWLVl490RERJTv2NcholxgKEVE1A/SSfuf//kfPP7449i4cSNuueUWfOMb38DSpUt7jrntttt052vlypUYNmwYLrzwQqRSqZ4O1te//nVcfvnleP/993HvvffirrvuwhNPPNHz+Kuvvhp//OMf8cgjj2Dz5s347W9/i4KCgj7n8eMf/1i/xqpVq+ByuXDddddlsRWIiIgoX7GvQ0S5YCilVE5emYjoMCGf6pWVleG1117D3Llze26//vrrEY1GccMNN+CMM87AokWLcNlll+n7WltbMWrUKN0Rkw7alVdeiaamJrzyyis9j7/99tv1J47S8du6dSumTJmCV199FWefffY+5yCfUMpryDmcddZZ+raXXnoJ559/PmKxmP7EkoiIiOjzYF+HiHKFI6WIiA5g+/btukO2YMEC/Wle9yafJn744Yc9x/XuxEnHTjpe8imgkP2pp57a53nl+rZt22DbNtauXQvLsjB//vzPPBcZMt9txIgRet/Y2Dhg75WIiIiOPOzrEFGuuHL2ykREh4lwOKz38knfyJEj+9wn9RB6d9Y+L6nd0B9ut7vnstR26K4BQURERPR5sa9DRLnCkVJERAcwffp03SGrqanRBTl7b1Kos9s777zTc7mtrU0PU582bZq+Lvu33nqrz/PK9cmTJ+tPDWfMmKE7XL3rNhARERFlA/s6RJQrHClFRHQAhYWF+MEPfqALfkpnat68eWhvb9cdraKiIowdO1Yf99Of/hTl5eWorKzURTorKipw0UUX6fu+//3vY86cObjvvvt0LYbly5fj0Ucfxa9//Wt9v6xQc8011+hinlL8U1a82blzpx6uLnUaiIiIiAYL+zpElCsMpYiI+kE6WLLKjKxM89FHH6GkpATHHXccfvSjH/UMKX/wwQdx880369oJxx57LJ5//nl4PB59nxz79NNP4+6779bPJTUSpGP3j//4jz2v8Zvf/EY/37e//W20tLRgzJgx+joRERHRYGNfh4hygavvEREdou7VYmQYu3TgiIiIiPIJ+zpENFhYU4qIiIiIiIiIiLKOoRQREREREREREWUdp+8REREREREREVHWcaQUERERERERERFlHUMpIiIiIiIiIiLKOoZSRERERERERESUdQyliIiIiIiIiIgo6xhKERERERERERFR1jGUIiIiIiIiIiKirGMoRUREREREREREWcdQioiIiIiIiIiIso6hFBERERERERERIdv+f+BfVYi/i5OtAAAAAElFTkSuQmCC\",\n      \"text/plain\": [\n       \"<Figure size 1200x500 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"fig, axes = plt.subplots(1, 2, figsize=(12, 5), sharex=True, sharey=False)\\n\",\n    \"for i in range(len(agents)):\\n\",\n    \"    p = axes[0].plot(jnp.stack(divs1[i]).mean(-1), lw=3, label=agents[i].alpha.mean())\\n\",\n    \"    axes[0].plot(jnp.stack(divs1[i]), color=p[0].get_color(), alpha=.2)\\n\",\n    \"\\n\",\n    \"    p = axes[1].plot(jnp.stack(divs2[i]).mean(-1), lw=3, label=agents[i].alpha.mean())\\n\",\n    \"    axes[1].plot(jnp.stack(divs2[i]), color=p[0].get_color(), alpha=.2)\\n\",\n    \"\\n\",\n    \"axes[0].legend(title='alpha')\\n\",\n    \"axes[0].set_ylabel('KL divergence')\\n\",\n    \"axes[0].set_xlabel('epoch')\\n\",\n    \"axes[1].set_xlabel('epoch')\\n\",\n    \"axes[0].set_title('A matrix')\\n\",\n    \"axes[1].set_title('B matrix')\\n\",\n    \"fig.tight_layout()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualize the learned A matrices alongside the true environmental parameters after training\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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PUJi/fr18t133+nCRP/+/eWbb76R66+/XlasWCFvvfWW7Nu3T7p37555LPWvKlioqaKKes0KANEpwxeTYwMAp5FNAExFNgEwEedOAEyUYWk2xdm2TkVW33//vV6LYu/evbogoRbWrlChgv7Z/PnzZeLEiXL06FGZN2+edOrUSbp27SoXXnihjBgxQkaNGiWnTp3Sj7njjjtyHDvU87mBn292WIl+czdbq94A3I1sAmAq8ok176xFv7ka2cRnFzaj79wrzdJsMr5oERgBceDAAdm5c6dcccUVUqNGDb2vYsWKMnr0aL1eRWAtimnTpskzzzyjR0rcc889ctddd+n7KWrkhFrnQk0Tpda6CEwdFfiZlQtrA7BemtfONxAA7kY2ATAV+QTARGQTABOlWZpNxhct1PoSalTExo0bpXr16nLixAkZP3683H333XqNiY4dO+oFstVaFi+//LKUK1dO3//222+X0qVLBx0ra1EiULBQj1WFEacLFmo9jqefflq2b98ux48fl4ULF+qRIQFqsXBVoFm0aJH88MMPUrt2bXnggQdk0KBB+Xoe5qizQ/b6Nv3mbl6/O0d2AbAb2QTAVOQTABORTXx2YQvWtIguXkuzydGiRWC0Q1pamp6OKftC1ydPntQf5KtCxO7du6VatWoye/ZsGTNmjNSpU0evTaGo0RRqbYqpU6fqdS0Ci2znhSmLaycnJ0ujRo2kX79+eqHw7IYPHy5r166VOXPm6L/ZqlWr5N5775WqVavKjTfemPcnYsFUO9FvrpZuadW7UMXyGrcWfedaZBMAU5FPXB9Yi35zNbJJf8jmdAuQF2lpOffRd66Vbmk2OfKKTE9PlyeffFKeffZZOX36dFCRQX14X7JkyczbqgjRvn17ve+DDz6QmTNn6tEW77//vp7qSX1or45VuXJlx0dLFIRac0Ntudm0aZP06dNH2rZtq28PHDhQjyzZunVr/ooWAIyT4eXiBYB5yCYApiKfAJiIbAJgogxLs8mRokV8fLy0aNFCihcvrhfM7tGjh0yePFmPIlALZavFtf/2t79JpUqVpEuXLrpIoaZ7Umta3HffffpDenV/NSJBFS2qVKkibteqVStZsmSJHomhfud169bJV199Jc8//3z+DsRwLzvRb66WbumiSIXJ89/1i2Af+s69yCbef61G37ka+cRr3Fr0m6uRTXrBWKdbgHDRd66Vbmk2FXmpRS14rTRr1kw6dOggTz31lGzZskWWL18ugwcP1tNEqbUb1JoOuoExMbJgwQJduFixYoWMHDlSjzhQIzLUgtpqfYesx3WrF198UerXr6+nyFIjU9TUWGrR8auvvtrppgEoIJ/Pk2MDAKeRTQBMRTYBMBHnTgBM5LM0m4pkpIXX69VTN6kCRGAKp/Lly0v37t0lKSlJFyFeeOEFvai2Wnz6kUce0YULNTWUeuw777wjTZo00aMwFLWuRZkyZfR+dZ/WrVtbPTVUXosWqrijRlvUrFlTL9ytRp2oURdq+qxQUlNT9ZaVz++VGI+dFTbArWwdqheuUNnkTU8lmyzlz8hwugmIELJJxOfNIJts5XP3F5qiHfnEdR1gIrKJcyerce7kWhmWZlNEW60KDkpsbKwuWBw5ckSOHj0qGf/9gOPyyy+Xa665Rn7++WddsFDUVE933HGHHDx4UK9hoR7btGlTWbp0qTzzzDMyadIkWbZsmSxatEhmzJihCxZud+7cOXnooYfkueee09NlqbU81KgUNa2W+pvkRv2typYtG7QdTN9dpG0H8Me8vpgcm5uRTYAdyKaycjCDbAJMFE3ZpHDuBNiBcyfOnQATeS3NpkIbaXHy5Enp37+/Xlz7oosu0vtUwUE5fvy4XpNCLRpdq1YtqVevnsybN0+PGFAjJdSICTWK4KqrrtL3b9SokR5xMW7cOP0h/aOPPqqnRFLTRMXFxcnDDz+s13iIFmrhcrWpwk9W6u/r8/lyfdyYMWNk+PDhQfu6VRyoqkkRaysihD5zNb8lQ/MKS8hsqjSIb3bYin5zLbLpv+dN/tzPtWAw+s3VyCeRblXucaw9AEIjmzh3shr95lp+S7Op0IoWqqL60UcfyaxZs3S1VfnPf/4jTz75pLRr104XMqZOnSpffPGFjBgxQhc4nn76aT3SQq3LoB6zePFivTaFOtaAAQP0ug3r16+XNm3a6BEFav2KChUqiBudPXtW9u/fn3n70KFDeuHxcuXKSY0aNfTfQK3noRYvV8Ue9Xd544039OiL3CQmJuotK4bpAebxWjpUL1xkE2AHsolsAkxFPpFPgInIJrIJMJHX0mwqtKKFCqqJEyfKY489Jg888ICcf/75cvr0af3B+nvvvacX2lbTQamtVKlSerSEmuapX79+ejoo9ZivvvpKLr74Yn08tYZF27Zt5ZNPPtEf2Ks1KwIFCzXtVGAUh1ts27ZNF3cCAtVqtd7H66+/Lm+//bauYqsRKz/++KMuXKi/96BBg/L3RB47X6hRj35zNb/Xzqo3AHcjmwCYinwCYCKyic8urEbfuZbf0mwK+xWppiUKrFkRoD5gVyMlVKEiMM3TwIED9aLZah2GgJtuukkqVaokH3/8sZ72SI20UPcdP368/rk6RsWKFWXFihXy4IMP5nhutxUsFFWgUb939k0VLAJrfbz22mty7NgxvcbF3r17dWHD7QuQA9EyVC/7BgBOI5sAmIpsAmAizp0AmMhvaTbFhVuwCKyvkJqaKmfOnNFFCDWt09133y0vvfSSLlacd9550rNnT5k5c6Zs375dTwWlFuFW61KoD+nVGhXx8fFStWpVueGGG+Sf//ynJCcnS8mSJTNHb6jnUh/M8+F8IWGOOjvRb67mt2QRJADRhWziG2dWo+9cjXxizTtr0W+uRjYBMJHf0mwKq9WqYKEW3lYFCrWo9s0336zXqFCGDBmip4WaP3++vt28eXO59tpr9WLaaoSAKlgoBw4c0FNIqZEWxYoV00WOb775JrNgkfW5KFgAcDU1VC/7BgBOI5sAmIpsAmAizp0AmMhrZzaFNdJiy5YtMnjwYD26YsaMGfLLL7/I3//+dxk6dKhMmTJFFzDUv71799ZFiPvvv19PCaVGU6g1GNQC3UuWLJHp06frkRaKGpXh1vUqjMK3zuxEv7kaA2kAmIhsAmAq8onrA2vRb65GNumVuJ1uAcJF37mW39JsCusdU03hpEZGqMW1O3bsKK1atZLy5cvrBbc3b96sF9U+ePCgfPDBB/r+LVu2lM6dO8vOnTvl22+/1Y9TazXcdtttOY5NwQJAtPF4PTm2/Jo2bZrUqlVLj1y78sorZevWrbneV+VvYNq9wKYeBwCFnU0K+QSgsJFNAEzEdR0AE3ksva4La6RFs2bNpHXr1rowMXLkSFm7dq3ccsstevSEapRam6JXr17ywgsv6KmjVEGjR48eemHt7t27y7BhwzKPpRabZvqnIhTLNzusRL+5WwGH5qnp+IYPH65Hvqk3DjXSTRWU9+3bp0fEhVKmTBn98wDHc5jXuL3oO/cqhGHD1ucTr297v71M37kb5068xm1BNkUXskk8fBHZWvSdi3ntvK4L6x3zT3/6k14k+/HHH9fTOW3cuFFeeeUVvcaFGkXx5Zdf6sKEGnWxZs0a/ZjrrrtOr3/x7LPPZi7gHU6DAcB1fJ6cWz4899xzMmDAAOnbt6/Ur19fv4mUKFFCZs2aletjVPZWqVIlc6tcuXIh/CIAXKWA2aSQTwAigmwCYCKu6wCYyGfndV1YIy2UTz/9VN5//32ZPXu2XHbZZZKSkqKnfzp27Ji8+uqrMnXqVJk5c6a0aNFC319VXdSUUmqh7gkTJkjZsmXDfWoUgD8t3ekmIA/GHvws6PZjF//2/yO4kyfE/IKqsBso7gaoYrHaskpLS5Pt27fLmDFjMvfFxMRI+/btdeE4N2fPnpWaNWuKz+eTpk2byhNPPKGz3Clkkx3+cfDzHPsmXtzckbbA7GxySz6RTfa456uvgm7PuPRSx9qCos+naMsmhXyyw4P7vwi6/fQlTRxrCyKP6zoRX0rw7wozDTvwnxz7plzS0JG2IPI8ll7XhT028fLLL5f09HT5/PPP5ZtvvpEFCxZIgwYN5NFHH5XatWvrxvfr10/KlSuX+Rg1VZRqYEJCgp4WCv8zadIkueKKK6R06dK6wNO1a9egITSHDx/OMRdYYFN/ewDuml9QZYIq7mbd1L7sTp06pUe8Za9Yq9snTpwI+XyXXHKJroYvXrxY5syZo99A1NpEas0hACiMbFLIJwCRQjYBMBHXdQBM5LH0ui7skRZq8YyHH35Yj6ZQoyrUAtovvviiXrsiq6xrVlxwwQUyevTocJ/S1davXy/33XefLlxkZGTIQw89JB06dJA9e/ZIyZIlpXr16nL8+PGgx6gpuZ5++mnp1KlTnp8npljOihnM8+iFwd/AiS1Fv0Vb1VtVsNV8gVmFqniHo2XLlnoLUG8cl156qbz88svy2GOPiRPIJjs8fmGjHPvIJ/cq6mwyMZ88CfFF/pwIz/SL6gbdjilB30VTPkVbNikxxVls1wZP1WkQdDu2NP3mZlzXiXjiw/6YEUXo+To5R6TGFKfv3Mpj6XVdgV6R6oN1VaQ4cuSItGvXLnO/qp5kHQmAP7Zy5cqg22pBczXiQg2/ufrqq3VRSM3/ldXChQvl1ltvlVKlShVxawEUJo83577chuVlV6FCBZ0P3333XdB+dTt7ZuQmPj5emjRpIvv37897owG4XkGySSGfABRVPpFNAEzAdR0AE3ksva4rcBmtTp06elPUCIG4uDg9NRQK5syZM/rfrNNrZaWKGWoNkWnTpuXruH5viFcqjEe/uZsamhcuNd1es2bNZM2aNXpauUDhWN0ePHhwno6hhvnt2rVL/vKXv4hT/OkZjj03Coa+c6+CZJNr8skb4mtJsAN952qcO3F9YCv6zd3IJtVopoK3Fn3nWh5Lr+sKdeyPKlig4FTHDx06VP785z/rdUJC+de//qWH1ajhNQDcV/XODzWkr0+fPtK8eXNp0aKFTJkyRZKTk6Vv3776571799bT8wXmJ1RrD1111VVSt25d+emnn/Q0c2ptov79+xfGrwPAJQqaTQr5BCASOHcCYCKyCYCJPJZe11FlMJBa22L37t2ycePGkD8/d+6czJs3Tx555JHfPU6oleB93gyJ8cQWantRBKh4R938gvmhpun7/vvvZezYsXoRpMaNG+sp5wKLJKkp/LKOgDt9+rQMGDBA3/e8887TFfNNmzZJ/fr1pSiEzCa/l2wCXJZNtuVTyGzypZNNtvIz0sLNOHfi3AkwEdlENgEm8lh6Xefxq5WyYQw1rEatrL5hwwapXbt2yPu8+eabctddd8mxY8ekYsWKuR5r/PjxMmHChKB9F8ZeLnXjcy6kCrP4UlOCbscksmCbLZLOvZnvx9Sb8HyOfXvHDRO3Ipvck00K+WQHsincbGogdeMaOtYm5J0vLS3odkxCgmNtQd4lpcwN63HZ88nN2ZRrPsU3lLoJjR1rE/LG9+uvQbdjSpRwrC3Iu6Szs8N6HOdOXNfZgus6eyVF0XUdIy0MoWpH999/v15ce926dbkWLAJTQ914442/W7DIbSX4bhUH8s0zG9FnrlYYQ/VsQja5DP3mWmSTSLdKg0Q8rNVmJfrN1cgnkZvLDxB/WrpjbUJ46DN3I5v+e+4EwCgeS7OJooVBU0KpKZ/UKIvSpUvr4TNK2bJlpXjx4pn3U6usq1EYy5cv/8NjhloJnmF6gDuH6tmEbALsQDaRTYCpyCfyCTAR2UQ2ASbyWJpNFC0MMX36dP1v27Ztg/a/9tprcuedd2benjVrllSrVk06dOgQ1vP4WRvBSvSbu9la9QbgbmQTAFORTwBMRDbpqoXTLUC46DvX8liaTRQtDJHXpUWeeOIJvQFwD1vfQAC4G9kEwFTkEwATkU0ATOSxNJsoWkQZD5VTK2QvYdFv7mbrUL1Cxdzj9qLvXIts4htnVqPvXI184vrAFlzXRReySf0ReI1bi75zLY+l2UTRAgAcZusbCAB3I5sAmIp8AmAisgmAiTyWZhNFiyjjSUhwugnIi7S0oJv0m7vZOlSvUMXybX1r0XeuRTaJeGJZTNLWUV/0nbuRT+pKnkt5G6/r6Dd3I5vU2zHXBrai79zLY2k28Y4JAA6zteoNwN3IJgCmIp8AmIhsAmAij6XZRNEiyvh9lr5Soxz95m62Vr0LlT/7jL+wBn3nWmSTiD89w+kmIK/8wedK9J27kU8ATEQ28f5rM/rOvTyWZhNFCwBwmK1vIADcjWwCYCryCYCJyCYAJvJYmk0ULQwwffp0vR0+fFjfvuyyy2Ts2LHSqVOnzPts3rxZHn74Yfnkk08kNjZWGjduLElJSVK8ePH8PRnfiLUT/eZqtg7VK1Q+XuPWou9ci2zK+e19WIS+czXyiesDa9FvrkY28f5rNfrOtTyWdi1FCwNUq1ZNJk+eLBdddJH4/X6ZPXu23HTTTfLZZ5/pAoYqWFx//fUyZswYefHFFyUuLk4+//xziWGRHMAVYrxcvAAwD9kEwFTkEwATkU0ATBRjaTZRtDBAly5dgm5PnDhRj7zYsmWLLloMGzZMHnjgARk9enTmfS655JLwnsxr6ZigaEe/uZqtQ/UKFd/qsBd951pkEwBTkU+MdLQW/eZqZBMAE3kszSaKFobxer2yYMECSU5OlpYtW8rJkyf1lFC33367tGrVSg4cOCD16tXThY3WrVvn+/h+TpKsRL+5m61D9QC4G9kEwFTkk4g/I93pJiAM9Ju7kU0ATOSxNJuYX8gQu3btklKlSkliYqIMGjRIFi5cKPXr15eDBw/qn48fP14GDBggK1eulKZNm8q1114rX3/9tdPNBlBIQ/WybwDgNLIJgKnIJgAm4twJgIliLM0mRloYQk33tHPnTjlz5oy8++670qdPH1m/fr34fL+Vw+6++27p27ev/u8mTZrImjVrZNasWTJp0qRcj5mamqq3rHx+r8R4YiP82wDID0+GRBWyCbAD2UQ2AaYin0R84iefrJBtTg4P3xt1M7JJxBcjZJOtYuk3t/JYmk28YxoiISFB6tatK82aNdOFiEaNGsnUqVPl/PPP1z9Xoy6yuvTSS+XIkSO/e0x1nLJlywZth3x7Ivp7AIieqne4QmXTQe+XTjcLQDZkE9kEmCqasknhug6wA+dOZeVg+m6nmwXAJdnESAtDqREWqmJdq1YtqVq1quzbty/o51999ZV06tTpd48xZswYGT58eNC+bhUHisfjiUibUXiyx4cnhj5zM1vnFwxXbtkEwCxkk0i3SoP4Vqyt6DdXI59Ebi4/wLH2AAiNbPrvuRNrctqJfnMtj6XZRNHCkKBXBYgaNWrIL7/8IvPmzZN169ZJUlKSLjCMHDlSxo0bp0dfNG7cWGbPni179+7V00j9HrU+htqyYpgeYB6PJVXuwkI2AXYgm8gmwFTkE/kEmIhsIpsAE3kszSaKFgY4efKk9O7dW44fP66H0zVs2FAXLK677jr986FDh0pKSooMGzZMfvzxR128WL16tdSpUyf/T8a3zuxEv7maJ8PON5BCxWvcXvSda5FN+srb6RYgXPSdq5FPIh7mHreCPyM96Db95m5kE++/VqPvXMtjaTZRtDDAv/71rz+8z+jRo/UGwH08DMMEYCCyCYCpyCcAJiKbAJjIY2k2UbSINrF8I9ZK9Jur2bIIUkT5LZ1kEfSdi5FNzO1rNfrO1cgnACYim3j/tRp951oxlmYTRQsAcJitQ/UAuBvZBMBU5BMAE5FNAEzksTSbKFpEG7+dL9SoR7+5mq1D9QC4G9nESCKr0XeuRj4BMBHZJOL3ep1uAsJE37mXx9JsomgBAA7zZPDBCgDzkE0ATEU+ATAR2QTARB5Ls4miRbSxtLoW9eg3V/N47XwDKUx+XuPWou/ci2xSfwTWlLIWfedq5BOjiaxFv7ka2QTARB5Ls4miBQA4zGPpokgA3I1sAmAq8gmAicgmACbyWJpNFC2ijD8j3ekmIAz0m8tZOlSvMHliPE43AXkQ6lSHvnMxsgk2YWRFdCGfmHvcUvSby5FN4kmId7oJCPMzJvrOxTLszCbO7g00efJk8Xg8MnTo0Mx9bdu21fuyboMGDXK0nQAKh8frzbEBgNPIJgCmIpsAmIhzJwAm8liaTYy0MMynn34qL7/8sjRs2DDHzwYMGCCPPvpo5u0SJUoUcesARISlQ/UAuBzZxNzjNvcVfedu5BOji6yR7YMh+s3dyCYRP38Da9F37uW1s28pWhjk7Nmzcvvtt8urr74qjz/+eI6fqyJFlSpVHGkbgMjxZNhR5QYQXcgmAKYinwCYiGwCYCKPpdlE0cIg9913n3Tu3Fnat28fsmgxd+5cmTNnji5cdOnSRR555JF8j7bwxDFHnY1zndJvLmfJ0LyI4ltn9qLv3Its4vVtM/rO3cgnACYimwCYyGtnNlG0MMTbb78tO3bs0NNDhdKrVy+pWbOmVK1aVb744gsZNWqU7Nu3T95///0ibyuAQmbpGwgAlyObAJiKfAJgIrIJgIm8dmYTRQsDHD16VIYMGSKrV6+WYsWKhbzPwIEDM//78ssvl/PPP1+uvfZaOXDggNSpUyfkY1JTU/WWlc/vlRhPbCH/BgAKxNKheuEimwBLkE1kE2Aq8kn8MUI+WcCfkR502xNLn7ka2SS+jDSyyVaWfrAN92YT46YNsH37djl58qQ0bdpU4uLi9LZ+/Xp54YUX9H97QwTHlVdeqf/dv39/rsedNGmSlC1bNmg7mLE7or8LgDBkZOTcXIxsAixBNpFNgKmiKJsU8gmwBOdOctD7pdPNAuCSbGKkhQHUiIldu3YF7evbt6/Uq1dPTwMVG+LbGDt37tT/qhEXuRkzZowMHz48aF+38+9ljl8bxdJnrmZp1TtcIbOp4kARv8+xNqEA6Df3IpvIJpvRb+5GPkm3SoMcaw+AXJBNv507ATBLhp3ZxCehBihdurQ0aNAgaCtZsqSUL19e/7eaAuqxxx7TIzIOHz4sS5Yskd69e8vVV18tDRs2zPW4iYmJUqZMmaCNYXqAmQuvZ9/ya9q0aVKrVi09xZwaibV169bfvf+CBQt0YVTdX005t3z5cikqZBMQPdlkUz6RTYA9oimbFPIJsAPXdWQTYCK/pdd1FC0skJCQIB9++KF06NBBd/aIESOkW7du8sEHHzjdNAAGDNWbP3++/obLuHHjZMeOHdKoUSPp2LGjnnYulE2bNknPnj3lrrvuks8++0y6du2qt927mWYAQOEOI7Y+n9ToVDY7NvrOzi1c0Z5NAMzEdZ34fX42Czb6zt4tmq7rPH6/P8zfGDbqWKqP001AHvh+/TXodkyJEo61BfmTdHZ2vh/TsfgdOY9z7s08P15VuK+44gp56aWX9G2fzyfVq1eX+++/X0aPHp3j/j169JDk5GRZunRp5r6rrrpKGjduLDNmzBAndCx2uyPPi/zxpaXl2BeTkOBIW5A/SSlzizyb3JBPof4GMJMvNSXodkxiMcfagrzLb6bk9v/NaMsmhXyyA9kU3dmU32O5IZs6JPRy5HmRP/6M9Bz7PHHxjrQF+bMqbV7UXNexpkW0sWSxFWRDv7lauEPzlLS0ND11nJpPNCAmJkbat28vmzdvDvkYtT/73KOqQr5o0SJxStjfGIDj6Dv3Kkg2uSafYjzOPC8Kjr5zNc6dWLfFWvSbq5FNAEzkt/S6jqIFABj4LYfU1FS9ZZ8zVG1ZnTp1Srxer1SuXDlov7q9d+/ekM934sSJkPdX+wGgMLJJIZ8AFFU+kU0ATMB1HQAT+W29rlPTQyG6pKSk+MeNG6f/5bj2HDeSx+a4kT1uOFQ7VERn3dS+7I4dO6Z/tmnTpqD9I0eO9Ldo0SLksePj4/3z5s0L2jdt2jR/pUqV/E6ysV9tazPH5bhFlU0K+cRxOa4Zx42GfCKb7OhXjhvZ40by2Bw3fFzXRe9xI3lsjstxo+HciaJFFDpz5ox+sal/Oa49x43ksTluZI8bDvUmptqRdQv1xpaamuqPjY31L1y4MGh/7969/TfeeGPIY1evXt3//PPPB+0bO3asv2HDhn4n2divtrWZ43LcosomhXziuBzXjONGQz6RTXb0K8eN7HEjeWyOGz6u66L3uJE8NsfluNFw7hST9zEZAICioobklSlTJmgLNUwvISFBmjVrJmvWrMncpxZEUrdbtmwZ8thqf9b7K6tXr871/gCQ32xSyCcARYVsAmAqrusAmCjRgnMn1rQAAMupxY369OkjzZs3lxYtWsiUKVMkOTlZ+vbtq3/eu3dvueCCC2TSpEn69pAhQ6RNmzby7LPPSufOneXtt9+Wbdu2ySuvvOLwbwLAbcgnACYimwCYiGwCYKrhDuQTRQsAsFyPHj3k+++/l7Fjx+pFjRo3biwrV67MXPToyJEjEhPzv4F1rVq1knnz5sk//vEPeeihh+Siiy6SRYsWSYMGDRz8LQC4EfkEwERkEwATkU0ATNXDiXzK80RScA3bFpThuJE/NseN7HHh3n61rc0cl+MiOvqW43Lcojo2+eQs2/qV40b2uJE8NseFm/uV/09yXNuP61Ye9T+RqMAAAAAAAAAAAADkBwtxAwAAAAAAAAAAI1C0AAAAAAAAAAAARqBoAQAAAAAAAAAAjEDRAgAAAAAAAAAAGIGiBQAAAAAAAAAAMAJFCwAAAAAAAAAAYASKFgAAAAAAAAAAwAgULQAAAAAAAAAAgBEoWgAAAAAAAAAAACNQtAAAAAAAAAAAAEagaAEAAAAAAAAAAIxA0QIAAAAAAAAAABiBogUAAAAAAAAAADACRQsAAAAAAAAAAGAEihYAAAAAAAAAAMAIFC0AAAAAAAAAAIARKFoAAAAAAAAAAAAjULSwzLRp06RWrVpSrFgxufLKK2Xr1q1ONwkAAAAAAAAAgEJB0cIi8+fPl+HDh8u4ceNkx44d0qhRI+nYsaOcPHnS6aYBcNCGDRukS5cuUrVqVfF4PLJo0aI/fMy6deukadOmkpiYKHXr1pXXX3+9SNoKIHqQTQBMRT4BMBHZBMBEGxzKJooWFnnuuedkwIAB0rdvX6lfv77MmDFDSpQoIbNmzXK6aQAclJycrIuYaiRWXhw6dEg6d+4s7dq1k507d8rQoUOlf//+kpSUFPG2AogeZBMAU5FPAExENgEwUbJD2eTx+/3+MNuMIpSWlqYLFO+++6507do1c3+fPn3kp59+ksWLFzvaPgBmUFXvhQsXBuVEdqNGjZJly5bJ7t27M/fddtttOktWrlxZRC0FEE3IJgCmIp8AmIhsAhDt2cRIC0ucOnVKvF6vVK5cOWi/un3ixAnH2gUgMlJTU+Xnn38O2tS+wrB582Zp37590D411ZzaDwC/h2wCEG3ZpJBPAMLFuRMAE6VakE1xhdIaGEm92LK/4G4uP0BiPLGOtQl5489ID7rtiYt3rC3In1Vp8/L9GN+Ji3PsmzSjl0yYMCFon1rPZvz48VJQqtAZqgCq3qTOnTsnxYsXl6LOpm6VBpFNFvClpuTYF5NYzJG2IH+Szr2Z78eQTZw32YRzp+g5bwqVT5HMJlPziXMnO8+dOG9y73mTwrkT5062njcpnDvZYVUUfebESAtLVKhQQWJjY+W7774L2q9uV6lSJeRjJk2aJGXLlg3aDvn2FFGLAeRVqj89xzZmzBg5c+ZM0Kb2uUGobDqY8b9hgwDMQDZx3gSYKpqySeHcCbAD506cOwEmSrU0mxhpYYmEhARp1qyZrFmzJnPeMJ/Pp28PHjw45GPUi2348OE5vpHjoept37cFY+kzN0v3e3PsK5OYKImJiRF5PlXoDFUALVOmTMS/jZNrNlUcKOL3Rfy5EQH0m2uRTb9lk5q3FebLvkifJ4Z+i6Z8imQ2mZxPvAdbiD5zNc6dfhtpAcAs6ZZmE0ULi6g3A7XwdvPmzaVFixYyZcoUvYJ73759Q94/McQLkGF6gHlSJecbSCS1bNlSli9fHrRv9erVen9RIJsAO5BNZBNgKvKJfAJMRDaRTYCJUi3NJooWFunRo4d8//33MnbsWD0/WOPGjfWq69nnCftdfLPDTvSbq6UUsH/Pnj0r+/fvz7x96NAh2blzp5QrV05q1KihvwFz7NgxeeONN/TPBw0aJC+99JI8+OCD0q9fP1m7dq288847smzZsgL/LgDcg2wCYCryCYCJyCZGOto6QlWh79wrxdJsomhhGTUVVG7TQQGwU3qoM4Z82LZtm7Rr1y7zdmCIrhqZ9frrr8vx48flyJEjmT+vXbu2frMYNmyYTJ06VapVqyYzZ86Ujh07FqwhAFyFbAJgKvIJgInIJgAmSrc0mzx+v7+ATYdNOha/w+kmIA98qSlBt2MSiznWFuRP0rk38/2YPUcvyLGvfvVjEk3IJjuzSSGf7EA2hadDQi+nm4Bw1wOLi3esLci7VWnzwnpc9nyKtmxSOha73ekmIA98aWlBt2MSEhxrC/IuKWVuWI/j3IlssjWbFPLJvfm0x9JsYqQFADgsxc+8nwDMQzYBMBX5BMBEZBMAE6VYmk0ULcKkBqioLSYmRqzC2gh2ot9cLd3SN5BCxWvcXvSda5FNzO1rk+xDx+k7dyOfAJiIbAJgonRLs4miRRhUscLj8ejtl19+kfT0dL34CACEI8XPFBYAzEM2ATAV+QTARGQTABOlWJpNFC3CoIoV3377rYwYMUL+/e9/6wVGOnfurFdEr1Klivh8PmNHYPh9LGFiI/rN3VL8RDGvcXvRd+5FNgEwFfmkhxM53QKEg35zNbIJgIlSLM0mO1tdhEIVIDIyMmT06NFy6tQpeeutt2T16tUyZ84c+fTTT2XhwoXGFiwAmCnFz4JXAMxDNgEwFfkEwERkEwATpViaTRQt/kDWAkSggPHFF1/Ie++9Jx999JFcddVV0qZNG2natKkMHDhQZs2apUdcBKaQMg3z+9qBeZmjS5ql8wsCcDeyCYCpyCfWlLIW/eZqZBMAE6VZmk0MCciFKlAo8+bNkz59+gQVMFJTU6V8+fLypz/9KfP+HTp0kNtuu00mTJigb0eiYKHWzxg6dKjUrFlTihcvLq1atdKjOwDYLcUXn2MDAKeRTQBMRTYBMBHnTgBMlGJpNjHSIheqQKGmgfr73/8uJ06ckO7du0uXLl30z86dOyeVKlXSBYN69erpfaVKlZI777xTj7RYunSp3HDDDYU+2qJ///6ye/duefPNN6Vq1ap6Sqr27dvLnj175IILLsjTMZh73E70m7ulWrooUmHyxNpZ+Y82/oz0HPvoO/cim5h73Gr0nauRTwBMRDaJ+L1ep5uAMNF37pVqaTZxNv871q5dK02aNJFevXrJww8/nLm/bdu2uqixdetWOX36dOZ+NQLimmuukfnz5+vbhVmwUIUSNSXVU089JVdffbXUrVtXxo8fr/+dPn16oT0PgKKX5o/LsQGA08gmAKYimwCYiHMnACZKszSb7GhlEQusXaGmY0pISJDhw4dLixYtZM2aNXLttdfqn3Xr1k1PHbVp0ybp3LmzflzFihUlPj5eTxvl9XolthC/fapGfahjFitWLGi/miZq48aNeT4O34i189vM9Ju7pVoyNA9AdCGbAJiKfGI0kbXoN1cjm3iN2yPEqAr6zrVSLc2mqHpFquma8iKwdsXixYulXbt2epHt6667Tp588snM+wwZMkQXJ2bOnCk//vij3peeni4HDhyQChUqFGrBQildurS0bNlSHnvsMfm///s/XcBQ00Nt3rxZjh8/XqjPBaBopfjjcmwA4DSyCYCpyCYAJuLcCYCJUizNJjtaWUCBtSUC0zWlpaXpERS5CYySSE5Olho1auh9jz/+uFxxxRV6we1y5crpgsHo0aP1fjUK495775V169bpERG33HJLRH4PtZZFv3799PoVqn2qmNKzZ0/Zvn17yPurBcPVlpXP75UYD9/aB0yS7ouKKM5ENgF2IJvIJsBU5JOaHSCdfLKR3+d0CxBBZJOIP0bIJguwVmF0Sbc0m6JipEWgWLFs2TK5/vrrZeDAgfLWW29ljpBQRYqsAqMk1IgGtX7Fvn37ZOTIkXr/tm3bZMyYMRIXF6enhXrnnXfk5ptv1sc+77zzZOXKlVK/fv2I/B516tSR9evXy9mzZ+Xo0aN6TQ01uuPCCy8Mef9JkyZJ2bJlg7aDGbsj0jYA4Uv1xeXY3IxsAuxANpFNgKmiKZtyzSfvl043C0A2nDtx7gSYKNXSbPL48zpnkuWef/55mThxovTv31+OHTsmGzZskFatWuniRShqrQp1XzXa4sSJE3oNi4YNG8q4ceNk//79Ur169aB1K1TxQK1nkXVNjEhTi4DXrl1bL86tCjF5qXp3qzSIqrcFfKkpQbdjEoPXMoG5ks69me/H/P3zHjn2PdNovrhVyGyqcg/ZZAHfuXM59sUUL+5IW5A/Sclv5PsxZJNIt4oDySZL+NLSgm7H/M6oapgjKWVuWI/Lnk9uziaF6zp7cV0XPdd0CudOnDvZet6kcO7k3nOnv1uaTXaUVgro1KlTemqlBx98UG+B9Sp69eols2fPlj59+uR4TN26dfXaFDfddJP+eb169XSRQK1hoRbmXrBgQdC6FapgoYoVSqQKFklJSXqqq0suuUQXTtToD9Wuvn37hrx/YmKi3rLizQMwT7ovKga9ZSKbADuQTWQTYCryiXwCTEQ2kU2AidItzaaoKFqogsKePXukdevWmfu6dOkid999t0yYMEG6du2qh7FlHSVRqVIlWbp0qZQpUybzMWr6p8mTJ+tRFaFEenTFmTNn9NRU3377rV5XQ43+UKNHAiM8ANjJlqF5EZVtmj5YhL5zLbIJgKnIJwAmIpvUfC52fjgK+s7NUi3NJjtb/Qeyj3g4fvy4NG7cWC+UraaEUqMV1M+GDBkiM2bM0CMYbr311szH/PLLL1K6dGkpVapUjmN3795dnKLaGGgnAPew9Q0EgLuRTQBMRT4BMBHZBMBEqZZmk52tzoVaY0Ituh0oVvzwww9Svnx5vf5E1apV5csvv9SLb6tRCqpwUbNmTfnLX/4ir776qi4GqGKHWmj7lltukY8//liqVaum7xdYyDsg1D5r+H8r6MAy9JurZfgYQgvAPGQT3zizGn3nauSTnoPF6RYgHPSbq5FNIn5GYVuLvnOvDEuzKcYtxQpFrTGhCha7du2Sm2++WS+cffjwYSlZsqS0adNGvv76a1m1apW+b6Do0KJFCzl79qz8/PPP+rHFiv22MFb2+2VlbcECgJHSfHE5NgBwGtkEwFRkEwATce4EwERplmaTHa38nWKFKlQEFsTesGGDjBs3Tnbs2CE33HCDXpOiVq1a+mc9e/aU1atX6wW5VUEjISFB79+yZYtev0IVNpTLLrtMj8gINTUUAERCmqVV70LFN2LtRd+5FtkEwFTkk5oT2e90CxAO+s3VyCZ1acCXfG0QKonoO/dKszSbrPmkQU3JlF2gWPHee+9Js2bN5K9//avUr19fPvvsM5k7d640adJE1q9fL999950uTPTv31+++eYbuf7662XFihXy1ltvyb59+/Q6FYFjqX9VwUJNFRXqOQGgsGX4YnJsAOA0sgmAqcgmACbi3AmAiTIszaY429apyOr777/Xa1Hs3btXFyTUwtoVKlTQP5s/f75MnDhRjh49KvPmzZNOnTpJ165d5cILL5QRI0bIqFGj5NSpU/oxd9xxR45jh3o+N/DzzQ4r0W/uZmvVG4C7kU0ATEU+seadteg3VyOb+OzCZvSde6VZmk3GFy0CIyAOHDggO3fulCuuuEJq1Kih91WsWFFGjx6t16sIrEUxbdo0eeaZZ/RIiXvuuUfuuusufT9FjZxQ61yoaaLUWheBqaMCP2OtCgBOSPPa+QYCwN3IJgCmIp8AmIhsAmCiNEuzyfiihVpfQo2K2Lhxo1SvXl1OnDgh48ePl7vvvlvi4uKkY8eOkpGRodeyePnll6VcuXL6/rfffruULl066FhZixKBgoV6rCqMOF2wUOtxPP3007J9+3Y5fvy4LFy4UI8MCVCLhasCzaJFi+SHH36Q2rVrywMPPCCDBg3K1/MwR50dste36Td3S7e06g3A3cgmAKYinwCYiGziswtbsKZFdEm3NJscLVoERjukpaXp6ZhUESKrkydP6g/yVSFi9+7dUq1aNZk9e7aMGTNG6tSpo9emUNRoCrU2xdSpU/W6FoFFtvMi+3M6JTk5WRo1aiT9+vXTC4VnN3z4cFm7dq3MmTNH/81WrVol9957r1StWlVuvPHGvD8RC6baiX5zNa8l8wlGVCx/A2vRd65FNgEwFfnE9YG16DdXI5v0h2xOtwB5kZaWcx9951peS7PJkVdkenq6PPnkk/Lss8/K6dOng4oM6sP7kiVLZt5WRYj27dvrfR988IHMnDlTj7Z4//339VRP6kN7dazKlSs7PlqiINSaG2rLzaZNm6RPnz7Stm1bfXvgwIF6ZMnWrVvzV7QAYJwMr51vIADcjWwCYCryCYCJyCYAJsqwNJscKVrEx8dLixYtpHjx4nrB7B49esjkyZP1KAK1ULZaXPtvf/ubVKpUSbp06aKLFGq6J7WmxX333ac/pFf3VyMSVNGiSpUq4natWrWSJUuW6JEY6ndet26dfPXVV/L888/n70AM97IT/eZqtg7VK0ye/65fBPvQd+5FNvH+azX6ztXIJ17j1qLfXI1s0gvGOt0ChIu+c610S7OpyEstasFrpVmzZtKhQwd56qmnZMuWLbJ8+XIZPHiwniZKrd2g1nTQDYyJkQULFujCxYoVK2TkyJF6xIEakaEW1FbrO2Q9rlu9+OKLUr9+fT1FlhqZoqbGUouOX3311U43DUAB+XyeHBsAOI1sAmAqsgmAiTh3AmAin6XZVCQjLbxer566SRUgAlM4lS9fXrp37y5JSUm6CPHCCy/oRbXV4tOPPPKILlyoqaHUY9955x1p0qSJHoWhqHUtypQpo/er+7Ru3drqqaHyWrRQxR012qJmzZp64W416kSNulDTZ4WSmpqqt6x8fq/EeOyssAFuZetQvXCFyiZveirZZCl/RobTTUCEkE0iPm8G2WQrn7u/0BTtyCeu6wATkU2cO1mNcyfXyrA0myLaalVwUGJjY3XB4siRI3L06FHJ+O8HHJdffrlcc8018vPPP+uChaKmerrjjjvk4MGDeg0L9dimTZvK0qVL5ZlnnpFJkybJsmXLZNGiRTJjxgxdsHC7c+fOyUMPPSTPPfecni5LreWhRqWoabXU3yQ36m9VtmzZoO1g+u4ibTuAvC2KlH1zM7IJsAPZVFYOZpBNgImiKZsUzp0AO3DuxLkTYCKvpdlUaCMtTp48Kf3799eLa1900UV6nyo4KMePH9drUqhFo2vVqiX16tWTefPm6REDaqSEGjGhRhFcddVV+v6NGjXSIy7GjRunP6R/9NFH9ZRIapqouLg4efjhh/UaD9FCLVyuNlX4yUr9fX0+X66PGzNmjAwfPjxoX7eKA1U1KWJtRYTQZ67mt2RoXmEJmU2VBvHNDlvRb65FNv33vMmf+7kWDEa/uRr5JNKtyj2OtQdAaGQT505Wo99cy29pNhVa0UJVVD/66COZNWuWrrYq//nPf+TJJ5+Udu3a6ULG1KlT5YsvvpARI0boAsfTTz+tR1qodRnUYxYvXqzXplDHGjBggF63Yf369dKmTRs9okCtX1GhQgVxo7Nnz8r+/fszbx86dEgvPF6uXDmpUaOG/huo9TzU4uWq2KP+Lm+88YYefZGbxMREvWXFMD3APF5Lh+qFi2wC7EA2kU2Aqcgn8gkwEdlENgEm8lqaTYVWtFBBNXHiRHnsscfkgQcekPPPP19Onz6tP1h/77339ELbajootZUqVUqPllDTPPXr109PB6Ue89VXX8nFF1+sj6fWsGjbtq188skn+gN7tWZFoGChpp0KjOJwi23btuniTkCgWq3W+3j99dfl7bff1lVsNWLlxx9/1IUL9fceNGhQ/p7IY+cLNerRb67m99pZ9QbgbmQTAFORTwBMRDbx2YXV6DvX8luaTWG/ItW0RIE1KwLUB+xqpIQqVASmeRo4cKBeNFutwxBw0003SaVKleTjjz/W0x6pkRbqvuPHj9c/V8eoWLGirFixQh588MEcz+22goWiCjTq986+qYJFYK2P1157TY4dO6bXuNi7d68ubLh9AXIgWobqZd8AwGlkEwBTkU0ATMS5EwAT+S3NprhwCxaB9RVSU1PlzJkzugihpnW6++675aWXXtLFivPOO0969uwpM2fOlO3bt+upoNQi3GpdCvUhvVqjIj4+XqpWrSo33HCD/POf/5Tk5GQpWbJk5ugN9Vzqg3k+nC8kzFFnJ/rN1fyWLIIEILqQTXzjzGr0nauRT6x5Zy36zdXIJgAm8luaTWG1WhUs1MLbqkChFtW++eab9RoVypAhQ/S0UPPnz9e3mzdvLtdee61eTFuNEFAFC+XAgQN6Cik10qJYsWK6yPHNN99kFiyyPhcFCwCupobqZd8AwGlkEwBTkU0ATMS5EwATee3MprCKFlu2bJG//OUvcvToUZkxY4YMHTpUPvzwQ/2vGnGhChhTpkyRX3/9VRch7r//fvn3v/+tR1Oo0RWqgLFkyRK9noUaaaGoURlK9imnEIFvnbGZv9Fv9m5hDqTJvuXXtGnTpFatWroIfOWVV8rWrVtzva+adi4wgi2wqccBQGFnk0I+AShsZBPXB9Zs9JudW5i4rtMrcbPZsNF39m5RdF0XVhqrKZzUyAi1uHbHjh2lVatWUr58eb3g9ubNm/Wi2gcPHpQPPvhA379ly5bSuXNn2blzp3z77bf6carxt912W1SsVwEAv8fj9eTY8kONbFNr3IwbN0527Nih1whS2axGxOVGrTV0/PjxzE2NdAOAwswmhXwCEAlkEwATcV0HwEQeS6/rwlrTolmzZtK6dWtdmBg5cqSsXbtWbrnlFj16QhUj1NoUvXr1khdeeEFPHaUKGj169NALa3fv3l2GDRuWeSy12DTTPxWhWDvnMYt69Ju7FXBo3nPPPScDBgyQvn376ttqBNyyZctk1qxZMnr06JCPUblbpUoVMQavcXvRd+5VCMOGrc8nXt/2yP7NWPrO3Th34jVuC7IpupBN4uGLyNai71zMa+d1XVjvmH/605/0ItmPP/64ns5p48aN8sorr+g1LtQoii+//FIXJtSoizVr1ujHXHfddXr9i2effTZzAe/ALwAAUc3nybnlUVpammzfvl3at28ftBaQuq0yODdnz56VmjVrSvXq1eWmm27SuQ0AhZVNCvkEIGLIJgAm4roOgIl8dl7XhTXSQvn000/l/fffl9mzZ8tll10mKSkpevqnY8eOyauvvipTp06VmTNnSosWLfT91VoXakoptVD3hAkTpGzZsuE+NQrAn5budBOQB2MPfhZ0+7GLf/v/EdzJE2I+QVXYDRR3A1SxWG1ZnTp1ShePK1euHLRf3d67d2/I57vkkkt0Nbxhw4Zy5swZeeaZZ/Q0f+oNpFq1auIEsskO/zj4eY59Ey9u7khbYHY2uSWfyCZ73PPVV0G3Z1x6qWNtQdHnU7Rlk0I+2eHB/V8E3X76kiaOtQWRx3WdiC8l+HeFmYYd+E+OfVMuaehIWxB5Hkuv68Iem3j55ZdLenq6fP7553pOKrXAdoMGDfQi27Vr19YVF7XQdrly5TIfo6aKeuKJJyQhIUFPC4X/mTRpklxxxRVSunRpXeDp2rWr7Nu3L/Pnhw8fzrGASWBTf3sA7ppfUGWCKu5m3dS+wqDWGerdu7c0btxY2rRpowvQFStWlJdffrlQjg/AHYo6mxTyCUBekE0ATMR1HQATeSy9rgt7pIVa8fvhhx/WoynUqAq1gPaLL76o167IKuuaFRdccEGu81xFu/Xr18t9992nCxcZGRny0EMPSYcOHWTPnj1SsmRJPZRGLVqSlZqS6+mnn5ZOnTrl+XliiuWsmME8j14Y/A2c2FL0m5t5vDn3jRkzRi9ylFWoineFChV0/n733XdB+9XtvM4dGB8fL02aNJH9+/eLU8gmOzx+YaMc+8gn9ypINrklnzwJ8Y48L/Jv+kV1g27HlKDvoimfoi2blJjixRx7buTdU3UaBN2OLU2/uRnXdSKe+LA/ZkQRer5OzhGpMcXpO7fyWHpdV6BVoNQH66tXr5Z3331XrxYeKFj4fL7MkRSsWZE3K1eulDvvvFNPtaVWYFcLmh85ckTPGaaoF4d6IWTdFi5cKLfeequUKlXK6eYDKOBQveyberMoU6ZM0BbqDUSNXGvWrFnm+kGBDFa3VWU7L9Qwv127dsn5559fqL8XgOjNJoV8AhApZBMAE3FdB8BEHkuv6wpcRqtTp47eFDVCIC4uTk8NhYJR830pWafXykoVM9QaItOmTcvXcf3eEOU1GI9+czc1NK8gVHW8T58+0rx5c72O0JQpUyQ5OVn69u2rf66G5KmRboGhfmoav6uuukrq1q0rP/30kx6xpab569+/vzjFn57h2HOjYOg79ypoNrkin7whJoCFHeg7V+PciesDW9Fv7kY2qU8ymQreWvSda3ksva4r1LE/qmCBglPVqqFDh8qf//xnvU5IKP/617/k0ksv1YuYAHDfUL38UKPcvv/+exk7dqycOHFCzxmoRm8FFklSo7ayFpNPnz4tAwYM0Pc977zzdMV806ZNUr9+/YL+KgBcpKDZpJBPACKBcycAJiKbAJjIY+l1ncfPitjGueeee2TFihWycePGkCuqnzt3Tg+neeSRR2TEiBG5HifUSvDdKg2SGE9sRNqNwuNLTQm6HZPI3Ke2SDr3Zr4fc8ljz+fYt++RYeJWZJN7skkhn+xANoWZTRUHkk2W8KWlBd2OSUhwrC3Iu6SUuWE9Lns+uTmbcs2n8+8lnyzg+/XXoNsxJUo41hbkXdLZ2WE9jnMnrutswXWdvZKi6LqOeZwMM3jwYFm6dKl89NFHIQsWilpD5Ndff9VDb35PqJXgD2bsjlDLARTm/IJuRjYBdiCbyspB75dONwtACNGUTbnmU/oup5sFIBvOnbiuA0zksTSbmM/JEGrAy/33368X1163bp3Url071/uqqaFuvPFGqVix4u8eM9RK8Oobg+K35NWJ/6HPXK0whurZhGxyGfrNtcim374tKB6+42Ml+s3VyCeRm8sPEH9aumNtQnjoM3cjm/577gTAKB5Ls4mihSHuu+8+mTdvnixevFhKly6t5/xSVKW6ePHimffbv3+/bNiwQZYvX/6Hx1Srvmdf+Z1heoB5bKlyFxayCbAD2UQ2AaYin8gnwERkE9kEmMhjaTZRtDDE9OnT9b9t27YN2v/aa6/JnXfemXl71qxZetqoDh06hPU8fh9LmNiIfnM3W6veANyNbAJgKvIJgInIJl21cLoFCBd951oeS7OJooUh8roe+hNPPKE3AO5h6xsIAHcjmwCYinwCYCKyCYCJPJZmE0WLKOOhcmqF7CUs+s3dbB2qV6iYe9xe9J1rkU1848xq9J2rkU9cH9iC67roQjapPwKvcWvRd67lsTSbKFoAgMNsfQMB4G5kEwBTkU8ATEQ2ATCRx9JsomgRZTwJCU43AXmRlhZ0k35zN1uH6hWqWL6tby36zrXIJhFPLItJ2jrqi75zN/JJXclzKW/jdR395m5kk3o75trAVvSde3kszSbeMQHAYbZWvQG4G9kEwFTkEwATkU0ATOSxNJsoWkQZv8/SV2qUo9/czdaqd6HyZ5/xF9ag71yLbBLxp2c43QTklT/4XIm+czfyCYCJyCbef21G37mXx9JsomgBAA6z9Q0EgLuRTQBMRT4BMBHZBMBEHkuziaKFAaZPn663w4cP69uXXXaZjB07Vjp16pR5n82bN8vDDz8sn3zyicTGxkrjxo0lKSlJihcvnr8n4xuxdqLfXM3WoXqFysdr3Fr0nWuRTTm/vQ+L0HeuRj5xfWAt+s3VyCbef61G37mWx9KupWhhgGrVqsnkyZPloosuEr/fL7Nnz5abbrpJPvvsM13AUAWL66+/XsaMGSMvvviixMXFyeeffy4x4SyS47W0vBbt6DdXi/Fy8cIJksXoO9cimwCYinziSwPWot9cjWwCYKIYS7OJooUBunTpEnR74sSJeuTFli1bdNFi2LBh8sADD8jo0aMz73PJJZc40FIAkWDrUD0A7kY2ATAV+QTARGQTABN5LM0mihaG8Xq9smDBAklOTpaWLVvKyZMn9ZRQt99+u7Rq1UoOHDgg9erV04WN1q1b5/v4fr7ZYSX6zd1iLH0DAeBuZBMAU5FPIv6MdKebgDDQb+5GNgEwUYyl2RTG/EKIhF27dkmpUqUkMTFRBg0aJAsXLpT69evLwYMH9c/Hjx8vAwYMkJUrV0rTpk3l2muvla+//trpZgMoBB6fP8cGAE4jmwCYimwCYCLOnQCYyGNpNjHSwhBquqedO3fKmTNn5N1335U+ffrI+vXrxef7ba7wu+++W/r27av/u0mTJrJmzRqZNWuWTJo0Kddjpqam6i0rn98rMZ7YCP82APLDkyFRhWwC7EA2kU2AqcgnEZ/4yScrZPt6q4fvjboZ2STiixGyyVax9JtbeSzNJt4xDZGQkCB169aVZs2a6UJEo0aNZOrUqXL++efrn6tRF1ldeumlcuTIkd89pjpO2bJlg7ZDvj0R/T0AhLcoUvbNzUJl00Hvl043C0A2ZBPZBJgqmrJJ4boOsAPnTmXlYPpup5sFwCXZxEgLQ6kRFqpiXatWLalatars27cv6OdfffWVdOrU6XePMWbMGBk+fHjQvm4VB4rH44lIm1F4sseHJ4Y+czPPbwOqokZu2QTALGSTSLdKg/hWrK3oN1cjn0RuLj/AsfYACI1s+u+5kyVTzyAb+s21PJZmE0ULQ4JeFSBq1Kghv/zyi8ybN0/WrVsnSUlJusAwcuRIGTdunB590bhxY5k9e7bs3btXTyP1e9T6GGrLimF6gHk8llS5CwvZBNiBbCKbAFORT+QTYCKyiWwCTOSxNJsoWhjg5MmT0rt3bzl+/LgeTtewYUNdsLjuuuv0z4cOHSopKSkybNgw+fHHH3XxYvXq1VKnTp38PxnfOrMT/eZqngw730AKFa9xe9F3rkU26Stvp1uAcNF3rkY+iXiYe9wK/oz0oNv0m7uRTbz/Wo2+cy2PpdlE0cIA//rXv/7wPqNHj9YbAPfxMAwTgIHIJgCmIp8AmIhsAmAij6XZRNEi2sTyjVgr0W+uZssiSBHlt3SSRdB3LkY2Mbev1eg7VyOfAJiIbOL912r0nWvFWJpNFC0AwGG2DtUD4G5kEwBTkU8ATEQ2ATCRx9JsomgRbfx2vlCjHv3marYO1QPgbmQTI4msRt+5GvkEwERkk4jf63W6CQgTfedeHkuziaIFADjMk8EHKwDMQzYBMBX5BMBEZBMAE3kszSaKFtHG0upa1KPfXM3jtfMNpDD5eY1bi75zL7JJ/RFYU8pa9J2rkU+MJrIW/eZqZBMAE3kszSaKFgDgMI+liyIBcDeyCYCpyCcAJiKbAJjIY2k2UbSIMv6MdKebgDDQby5n6VC9wuSJ8TjdBORBqFMd+s7FyCbYhJEV0YV8Yu5xS9FvLkc2iSch3ukmIMzPmOg7F8uwM5s4uzfQ5MmTxePxyNChQzP3tW3bVu/Lug0aNMjRdgIoHB6vN8cGAE4jmwCYimwCYCLOnQCYyGNpNjHSwjCffvqpvPzyy9KwYcMcPxswYIA8+uijmbdLlChRxK0DEBGWDtUD4HJkE3OP29xX9J27kU+MLrJGtg+G6Dd3I5tE/PwNrEXfuZfXzr6laGGQs2fPyu233y6vvvqqPP744zl+rooUVapUcaRtACLHk2FHlRtAdCGbAJiKfAJgIrIJgIk8lmYTRQuD3HfffdK5c2dp3759yKLF3LlzZc6cObpw0aVLF3nkkUfyPdrCE8ccdTbOdUq/uZwlQ/Miim+d2Yu+cy+yide3zeg7dyOfAJiIbAJgIq+d2UTRwhBvv/227NixQ08PFUqvXr2kZs2aUrVqVfniiy9k1KhRsm/fPnn//feLvK0ACllGhtMtAICcyCYApiKfAJiIbAJgogw7s4mihQGOHj0qQ4YMkdWrV0uxYsVC3mfgwIGZ/3355ZfL+eefL9dee60cOHBA6tSpE/IxqampesvK5/dKjCe2kH8DAAXija55t8kmwBJkE9kEmIp8En+MkE8W8GekB932xNJnrkY2iS8jjWyylaXfxod7s4lx0wbYvn27nDx5Upo2bSpxcXF6W79+vbzwwgv6v70hguPKK6/U/+7fvz/X406aNEnKli0btB3M2B3R3wVAmFXv7JuLkU2AJcgmsgkwVRRlk0I+AZbg3EkOer90ulkAXJJNjLQwgBoxsWvXrqB9ffv2lXr16ulpoGJDfBtj586d+l814iI3Y8aMkeHDhwft63b+vczxa6NY+szVLF0UKVwhs6niQBG/ndX/qEe/uRfZRDbZjH5zN/JJulUa5Fh7AOSCbPrt3AmAWSzNJj4JNUDp0qWlQYMGQVvJkiWlfPny+r/VFFCPPfaYHpFx+PBhWbJkifTu3VuuvvpqadiwYa7HTUxMlDJlygRtDNMDzFx4PfuWX9OmTZNatWrpKebUSKytW7f+7v0XLFigC6Pq/mrKueXLl0tRIZuA6Mkmm/KJbALsEU3ZpJBPgB24riObABP5Lb2uo2hhgYSEBPnwww+lQ4cOurNHjBgh3bp1kw8++MDppgEwYKje/Pnz9Tdcxo0bJzt27JBGjRpJx44d9bRzoWzatEl69uwpd911l3z22WfStWtXve3ezTQDAAp3GLH1+aRGp7LZsdF3dm7hivZsAmAmruvE7/OzWbDRd/Zu0XRd5/H7/WH+xrBRx1J9nG4C8sD3669Bt2NKlHCsLcifpLOz8/2YjsXvyHmcc2/m+fGqwn3FFVfISy+9pG/7fD6pXr263H///TJ69Ogc9+/Ro4ckJyfL0qVLM/ddddVV0rhxY5kxY4Y4oWOx2x15XuSPLy0tx76YhARH2oL8SUqZW+TZ5IZ8CvU3gJl8qSlBt2MSiznWFuRdfjMlt/9vRls2KeSTHcim6M6m/B7LDdnUIaGXI8+L/PFnpOfY54mLd6QtyJ9VafOi5rqONS2ijSWLrSAb+s3Vwh2ap6Slpemp49R8ogExMTHSvn172bx5c8jHqP3Z5x5VFfJFixaJU8L+xgAcR9+5V0GyyTX5FONx5nlRcPSdq3HuxLot1qLfXI1sAmAiv6XXdRQtAMDAbzmkpqbqLfucoWrL6tSpU+L1eqVy5cpB+9XtvXv3hny+EydOhLy/2g8AhZFNCvkEoKjyiWwCYAKu6wCYyG/rdZ2aHgrRJSUlxT9u3Dj9L8e157iRPDbHjexxw6HaoSI666b2ZXfs2DH9s02bNgXtHzlypL9FixYhjx0fH++fN29e0L5p06b5K1Wq5HeSjf1qW5s5LsctqmxSyCeOy3HNOG405BPZZEe/ctzIHjeSx+a44eO6LnqPG8ljc1yOGw3nThQtotCZM2f0i039y3HtOW4kj81xI3vccKg3MdWOrFuoN7bU1FR/bGysf+HChUH7e/fu7b/xxhtDHrt69er+559/Pmjf2LFj/Q0bNvQ7ycZ+ta3NHJfjFlU2KeQTx+W4Zhw3GvKJbLKjXzluZI8byWNz3PBxXRe9x43ksTkux42Gc6eYvI/JAAAUFTUkr0yZMkFbqGF6CQkJ0qxZM1mzZk3mPrUgkrrdsmXLkMdW+7PeX1m9enWu9weA/GaTQj4BKCpkEwBTcV0HwESJFpw7saYFAFhOLW7Up08fad68ubRo0UKmTJkiycnJ0rdvX/3z3r17ywUXXCCTJk3St4cMGSJt2rSRZ599Vjp37ixvv/22bNu2TV555RWHfxMAbkM+ATAR2QTARGQTAFMNdyCfKFoAgOV69Ogh33//vYwdO1YvatS4cWNZuXJl5qJHR44ckZiY/w2sa9WqlcybN0/+8Y9/yEMPPSQXXXSRLFq0SBo0aODgbwHAjcgnACYimwCYiGwCYKoeTuRTnieSgmvYtqAMx438sTluZI8L9/arbW3muBwX0dG3HJfjFtWxySdn2davHDeyx43ksTku3Nyv/H+S49p+XLfyqP+JRAUGAAAAAAAAAAAgP1iIGwAAAAAAAAAAGIGiBQAAAAAAAAAAMAJFCwAAAAAAAAAAYASKFgAAAAAAAAAAwAgULQAAAAAAAAAAgBEoWgAAAAAAAAAAACNQtAAAAAAAAAAAAEagaAEAAAAAAAAAAIxA0QIAAAAAAAAAABiBogUAAAAAAAAAADACRQsAAAAAAAAAAGAEihYAAAAAAAAAAMAIFC0AAAAAAAAAAIARKFoAAAAAAAAAAAAjULQAAAAAAAAAAABGoGgBAAAAAAAAAACMQNECAAAAAAAAAAAYgaKFZaZNmya1atWSYsWKyZVXXilbt251ukkAAAAAAAAAABQKihYWmT9/vgwfPlzGjRsnO3bskEaNGknHjh3l5MmTTjcNgIM2bNggXbp0kapVq4rH45FFixb94WPWrVsnTZs2lcTERKlbt668/vrrRdJWANGDbAJgKvIJgInIJgAm2uBQNlG0sMhzzz0nAwYMkL59+0r9+vVlxowZUqJECZk1a5bTTQPgoOTkZF3EVCOx8uLQoUPSuXNnadeunezcuVOGDh0q/fv3l6SkpIi3FUD0IJsAmIp8AmAisgmAiZIdyiaP3+/3h9lmFKG0tDRdoHj33Xela9eumfv79OkjP/30kyxevNjR9gEwg6p6L1y4MCgnshs1apQsW7ZMdu/enbnvtttu01mycuXKImopgGhCNgEwFfkEwERkE4BozyZGWlji1KlT4vV6pXLlykH71e0TJ0441i4AkZGamio///xz0Kb2FYbNmzdL+/btg/apqebUfgD4PWQTgGjLJoV8AhAuzp0AmCjVgmyKK5TWwEjqxZb9BXdz+QES44l1rE3IG39GetBtT1y8Y21B/qxKm5fvx/hOXJxj36QZvWTChAlB+9R6NuPHj5eCUoXOUAVQ9SZ17tw5KV68uBR1NnWrNIhssoAvNSXHvpjEYo60BfmTdO7NfD+GbOK8ySacO0XPeVOofIpkNpmaT5w72XnuxHmTe8+bFM6dOHey9bxJ4dzJDqui6DMnRlpYokKFChIbGyvfffdd0H51u0qVKiEfM2nSJClbtmzQdsi3p4haDCCvUv3pObYxY8bImTNngja1zw1CZdPBjP8NGwRgBrKJ8ybAVNGUTQrnToAdOHfi3AkwUaql2cRIC0skJCRIs2bNZM2aNZnzhvl8Pn178ODBIR+jXmzDhw/P8Y0cD1Vv+74tGEufuVm635tjX5nERElMTIzI86lCZ6gCaJkyZSL+bZxcs6niQBG/L+LPjQig31yLbPotm9S8rTBf9kX6PDH0WzTlUySzyeR84j3YQvSZq3Hu9NtICwBmSbc0myhaWES9GaiFt5s3by4tWrSQKVOm6BXc+/btG/L+iSFegAzTA8yTKjnfQCKpZcuWsnz58qB9q1ev1vuLAtkE2IFsIpsAU5FP5BNgIrKJbAJMlGppNlG0sEiPHj3k+++/l7Fjx+r5wRo3bqxXXc8+T9jv4psddqLfXC2lgP179uxZ2b9/f+btQ4cOyc6dO6VcuXJSo0YN/Q2YY8eOyRtvvKF/PmjQIHnppZfkwQcflH79+snatWvlnXfekWXLlhX4dwHgHmQTAFORTwBMRDYx0tHWEaoKfedeKZZmE0ULy6ipoHKbDgqAndJDnTHkw7Zt26Rdu3aZtwNDdNXIrNdff12OHz8uR44cyfx57dq19ZvFsGHDZOrUqVKtWjWZOXOmdOzYsWANAeAqZBMAU5FPAExENgEwUbql2eTx+/0FbDps0rH4HU43AXngS00Juh2TWMyxtiB/ks69me/H7Dl6QY599asfk2hCNtmZTQr5ZAeyKTwdEno53QSEux5YXLxjbUHerUqbF9bjsudTtGWT0rHY7U43AXngS0sLuh2TkOBYW5B3SSlzw3oc505kk63ZpJBP7s2nPZZmEyMtAMBhKX7m/QRgHrIJgKnIJwAmIpsAmCjF0myiaBEmNUBFbTExMWIV1kawE/3mail+opjXuMXoO9cim5jb1ybZh47Td+5GPgEwEdkEwEQplmaTna02gMfj0duZM2f0phYeAYBwpFv6BgLA3cgmAKYinwCYiGwCYKJ0S7PJzlYbQC0yohYUWbNmjV5Q5P/9v/+nV0evX7+++Hw+Y0dg+H0sYWIj+s3dbK16FyZe4/ai79yLbAJgKvJJDydyugUIB/3mamQTABOlWJpNdra6COVWgHj88cfl22+/lRUrVsjmzZtl3rx5snHjRtmxY4exBQsAZkrxs+AVAPOQTQBMRT4BMBHZBMBEKZZmE0WLPyhWBAoQv/zyi5QuXVr/94EDB2TOnDkyd+5cad68ud5at24tHTp0kIkTJ8rDDz8spmJ+XzswL3N0SbN0USQA7kY2ATAV+cSaUtai31yNbAJgojRLs4khAbkIFCveeOMNueaaa+TZZ5/N/FlcXJxez6JChQr6tlqQu0mTJvL3v/9dpk6dKidPnoxIm1ThZOjQoVKzZk0pXry4tGrVSj799NOIPBeAopPii8+xAYDTyCYApiKbAJiIcycAJkqxNJsYaZELNfXTnXfeKfv27ZN77rlHWrZsmTna4ueff5aGDRvKhx9+KFdddZUuYCh9+/aVyZMny5IlS6R///66mBH4WWFQx9y9e7e8+eabUrVqVT3ao3379rJnzx654IIL8nQM5h63E/3mbql+O94wIskTa2flP9r4M9Jz7KPv3ItsYu5xq9F3rkY+ATAR2STi93qdbgLCRN+5V6ql2UTRIhcLFizQoy3+85//SKlSpYJ+dtlll0mlSpVk586durihFuJW00mVL19eunTpoqeNUgWGwixYnDt3Tt577z1ZvHixXH311Xrf+PHj5YMPPpDp06frNTYA2CnN0kWRALgb2QTAVOQTABORTQBMlGZpNtnZ6ghTIylWrVol3bt3l/j4eHn00Uf1aIYWLVrIddddJ5dffrnccMMN8uKLL8rSpUtl0KBBmdNJqcLF6dOnJTk5WUqWLFlobcrIyBCv1yvFihUL2q+miVILgOcV34i189vM9Ju7pVoyNA9AdCGbAJiKfGI0kbXoN1cjm3iN2yPEqAr6zrVSLc2mqHpFquma8qJMmTKydetWSUhIkMGDB8tHH30k559/vsycOVM6d+4sX331lfTs2VPq168vr776qh5tEbBjxw6pU6eOLljk9fnyQk1Lpaaoeuyxx+T//u//dAFDTQ+1efNmOX78eKE9D4Cil+KPy7EBgNPIJgCmIpsAmIhzJwAmSrE0m+xoZQEF1pYITNeUlpamCxK5SU9P11MwjRo1Sho1aiTvv/++nHfeefpnF198sTz//PN6Sia18PawYcOkefPm0qdPH73+xdGjR+WJJ57Q9y3M6aEUtZZFv3799PoVsbGx0rRpU1082b59e8j7p6am6i0rn98rMR6+tQ+YJN0XFVGciWwC7EA2kU2AqcgnEZ8vnXyykd/ndAsQQWSTiD9GyCYLsFZhdEm3NJuiYqRFoHiwbNkyuf7662XgwIHy1ltvyY8//qj3q1ELWampnv785z/L2bNnpUGDBrpgoaZnUoYOHarXkVDTP6mCxqJFi3TxQo2+KFeunB6VoR4bCWoEx/r163W7VHFEjQZRBZYLL7ww5P0nTZokZcuWDdoOZuyOSNsAhC/VF5djczOyCbAD2UQ2AaaKpmzKNZ+8XzrdLADZcO7EuRNgolRLs8mOVhYCNTpi4sSJeoHsY8eOyejRo2XJkiW6eKFGLWQdlaFut2nTRmrVqiW7d/8WuIH71KhRQ3755Rf59ddf9RRQaiqpwIiLwH3UotyBNS4iQT2v2tTaGUlJSfLUU0+FvN+YMWNk+PDhQfu6VRoUsXYBCE+q3875BcMVMpuq3KMqzI61CQUQQ7+5Fdkk0q3iQL4Vayv6zdXIp/9e1zH/uH3oM1cjmzh3shr95lqplmZTVBQtTp06padWevDBB/WmLF68WHr16iWzZ8/WUztlH5XRuHFjGTFihC5yvPbaa9KpUyepVKmSzJ07V9+/YsWKmdNOKapgoYoVSqQKFqpAoZ7zkksukf3798vIkSOlXr160rdv35D3T0xM1FtWDNMDzJPui66LF7IJsAPZRDYBpiKfyCfARGQT2QSYKN3SbIqKokV8fLzs2bNHWrdunbmvS5cucvfdd8uECROka9euehhb1lES6jFq/Yi9e/fK2LFj5Z///KecOHFCKlSooEdVhFqzIpKjK5QzZ87oSrZa+FtNRdWtWzc9ekS1FYC9bBmaF1HZpumDReg71yKbAJiKfAJgIrKJ0URWo+9cy9ZssrPVfyD7iIfjx4/rkRPr1q2TVq1a6dEK6mdDhgyRGTNm6BEMt956a+Zj1PRPpUuX1rcnT56sixsffvihXgD7hhtucOz3Um0MtBOAe9j6BgLA3cgmAKYinwCYiGwCYKJUS7PJzlbnQi2orUY/BIoVP/zwg5QvX16qV68uVatWlS+//FIvvq1GKajCRc2aNeUvf/mLvPrqq7oYoIod27Ztk1tuuUU+/vhjqVatmt6nFsBWW9bnyboOhlWYo85O9JurZfgszRMArkY28Y0zq9F3rkY+saaUteg3VyObRPyMwrYWfedeGZZmkyvO5lURQVGFBFWw2LVrl9x8883SsGFDOXz4sF60Wi2s/fXXX8uqVauCpnZq0aKFnD17Vn7++Wf92GLFiun9gfvFxcXlGMFhbcECgJHSfHE5NgBwGtkEwFRkEwATce4EwERplmaTHa3MRWDEQ6CIsGHDBhk3bpzs2LFDT+O0dOlSqVWrlv5Zz549ZfXq1XpBblXQSEhI0Pu3bNmiF9hWhQ3lsssu0yMySpUqleP5Ir1mBYDolGZp1btQ8Y1Ye9F3rkU2ATAV+aS+Ued3ugUIB/3mamSTujRgNJENQiURfedeaZZmkzWfNKjpnLILFCvee+89adasmfz1r3+V+vXry2effSZz586VJk2ayPr16+W7777ThYn+/fvLN998I9dff72sWLFC3nrrLdm3b590794981jqX1WwUKMqQj0nABS2NG9sjg0AnEY2ATAV2QTARJw7ATBRmqXZFGfbOhVZff/993otir179+qChFpYu0KFCvpn8+fPl4kTJ8rRo0dl3rx50qlTJ+natatceOGFMmLECBk1apScOnVKP+aOO+6ImlEVfr7ZYSX6zd0y/O7MGwB2I5sAmIp8Ys07a9FvrkY28dmFzeg798qwNJuML1oERkAcOHBAdu7cKVdccYXUqFFD76tYsaKMHj1ar1cRWIti2rRp8swzz+iREvfcc4/cdddd+n6KGjmh1rlQ00SptS4CU0cFfhZY58LNGO5lh+xvFfSbu9lS5QYQXcgmAKYinwCYiGziswtbMD1UdEmzNJuML7Wo9SXU+hRq+qfx48frf1VhIiMjQ/+8Y8eOerFstZZFlSpV9M/UKIrdu3frgkagYKFkLUoEChbqOCYULNR6HF26dJGqVavqtixatCjo52qx8MGDB0u1atWkePHiehqsGTNmONZeAIUn3RebYwMAp5FNAExFNgEwEedOAEyUbmk2OTrSIjDaIS0tTU/HpIoPWZ08eVKefvppKVeunC5CqA/sZ8+eLWPGjJE6derotSkUNZpCrU0xdepUva5FYJHtvMj+nE5JTk6WRo0aSb9+/fRC4dkNHz5c1q5dK3PmzNF/s1WrVsm9996rixw33nhj3p+IBVPtRL+5mtdH/0osfwNr0XeuRTYBMBX5xPWBteg3VyOb9IdsTrcAeZGWlnMffedaXkuzyZFXZHp6ujz55JPy7LPPyunTp4OKDOrD+5IlS2beVkWI9u3b630ffPCBzJw5U06cOCHvv/++nupJfWivjlW5cmXHR0sUhFpzQ2252bRpk/Tp00fatm2rbw8cOFBefvll2bp1a/6KFgCMk+G18w0EgLuRTQBMRT4BMBHZBMBEGZZmkyNFi/j4eGnRooWe5kgtmN2jRw+ZPHmyHkWgFspWi2v/7W9/k0qVKukpk1SR4vbbb9drWtx33336Q3p1fzUiQRUt1LRQbteqVStZsmSJHomhfud169bJV199Jc8//3z+DsQcdXai31zNlqF5keT57/pFsA99515kE++/VqPvXI184jVuLfrN1cgmvWCs0y1AuOg710q3NJuKvNSi1o9Q1NoUHTp0kKeeekq2bNkiy5cv12s2qGmi1FoUCxcu/K2BMTGyYMECXbhYsWKFjBw5Uo84UCMy1ILaP/zwQ9Bx3erFF1/U61ioKbLUyBQ1NZZav+Pqq692umkACsjn8+TYAMBpZBMAU5FNAEzEuRMAE/kszaYiGWnh9Xr11E2qABGYwql8+fLSvXt3SUpK0kWIF154QS+q3bVrV3nkkUd04UJNDaUe+84770iTJk30KAxFrWtRpkwZvV/dp3Xr1lZPDZXXooUq7qjRFjVr1tQLd6tRJ2rUhZo+K5TU1FS9ZeXzeyXGY2eFDXArW4fqhStUNnnTU8kmS/kzMpxuwv9v707Ao6ru/49/JwkJeyo7yCogiwgIiEL5C1YEKUWptCJSwVhAFBfAokQruCG2KoJCxQ3FhYJaARcWEQV/CoqAKGgB2YRSEHFBCWSbuf/nHJqYSSaYTGZyz7n3/Xqeq8ydyclNTvKZe/O95xzECdkkEgrmkk22Cnn7hia/I5+4rgNMRDZx7mQ1zp08K9fSbIrrUauCg5KYmKgLFnv37pV9+/ZJ7v/+wHHmmWfKb37zG/nxxx91wUJRUz1deeWVsmvXLr2GhfrYTp06yRtvvCEPPvigTJ06Vd58801ZtGiRzJ49WxcsvO748eNy2223ybRp0/R0WWotDzUqRU2rpb4nxVHfq9TU1LBtV86Wcj12ACVbFKnw5mVkE2AHsilVduWSTYCJ/JRNCudOgB04d+LcCTBR0NJsitlIi0OHDsmIESP04totW7bU+1TBQTlw4IBek0ItGt20aVNp3bq1zJs3T48YUCMl1IgJNYrg3HPP1a/v0KGDHnExefJk/Uf6u+++W0+JpKaJSkpKkttvv12v8eAXauFytanCT0Hq+xsKhYr9uPT0dBk/fnzYvkG1R6lqUtyOFXFCn3maY8nQvFiJmE11RnNnh63oN88im/533uQUf64Fg9FvnkY+iQyqd61rxwMgMrKJcyer0W+e5ViaTTErWqiK6rvvvitz5szR1Vbl3//+t/ztb3+T888/XxcyZsyYIZ999pncfPPNusDxwAMP6JEWal0G9TGLFy/Wa1OotkaOHKnXbVi9erX07NlTjyhQ61fUqlVLvOjo0aOyY8eO/Me7d+/WC4/XqFFDGjdurL8Haj0PtXi5Kvao78tzzz2nR18UJyUlRW8FMUwPME/Q0qF60SKbADuQTWQTYCryiXwCTEQ2kU2AiYKWZlPMihYqqKZMmSL33HOP3HjjjVK/fn35/vvv9R/W//Wvf+mFttV0UGqrWrWqHi2hpnm6+uqr9XRQ6mO2b98up59+um5PrWHRq1cv+eijj/Qf7NWaFXkFCzXtVN4oDq9Yv369Lu7kyatWq/U+nn32WZk/f76uYqsRK999950uXKjv9+jRo0v3iQJ2/qD6Hv3maU7Qzqo3AG8jmwCYinwCYCKyib9dWI2+8yzH0myK+idSTUuUt2ZFHvUHdjVSQhUq8qZ5GjVqlF40W63DkOeSSy6ROnXqyAcffKCnPVIjLdRr77zzTv28aqN27dqydOlSueWWW4p8bq8VLBRVoFFfd+FNFSzy1vp45plnZP/+/XqNi61bt+rChtcXIAf8MlSv8AYAbiObAJiKbAJgIs6dAJjIsTSbkqItWOStr5CVlSVHjhzRRQg1rdM111wjM2fO1MWKU045RYYMGSJPPfWUbNiwQU8FpRbhVutSqD/SqzUqKlSoIA0aNJDf/e538o9//EMyMjKkSpUq+aM31OdSf5jnj/Mxwhx1dqLfPM2xZBEkAP5CNnHHmdXoO08jn1jzzlr0m6eRTQBM5FiaTVEdtSpYqIW3VYFCLap96aWX6jUqlJtuuklPC7VgwQL9uEuXLnLBBRfoxbTVCAFVsFB27typp5BSIy0qVqyoixxfffVVfsGi4OeiYAHA09RQvcIbALiNbAJgKrIJgIk4dwJgoqCd2RRV0eLDDz+U3/72t7Jv3z6ZPXu2jB07Vt5++239fzXiQhUwpk+fLseOHdNFiBtuuEH+7//+T4+mUKMrVAHjtdde0+tZqJEWihqVoRSecgpxuOuMzfyNfrN3i3IgTeGttGbNmiVNmzbVReBzzjlH1q1bV+xr1bRzeSPY8jb1cQAQ62xSyCcAsUY2cX1gzUa/2blFies6vRI3mw0bfWfv5qPruqjSWE3hpEZGqMW1+/btK927d5eaNWvqBbfXrl2rF9XetWuXvP766/r13bp1k/79+8umTZvkP//5j/44dfCXX365L9arAICTCQQDRbbSUCPb1Bo3kydPlo0bN+o1glQ2qxFxxVFrDR04cCB/UyPdACCW2aSQTwDigWwCYCKu6wCYKGDpdV1Ua1p07txZevTooQsTEyZMkHfeeUf++Mc/6tETqhih1qa44oor5JFHHtFTR6mCxuDBg/XC2n/4wx9k3Lhx+W2pxaaZ/qkcJdo5j5nv0W/eVsahedOmTZORI0dKWlqafqxGwL355psyZ84cmThxYsSPUblbr149MQY/4/ai77wrBsOGrc8nfr7tUfjOWPrO2zh34mfcFmSTv5BNEuBGZGvRdx4WtPO6Lqp3zF/96ld6kex7771XT+f0/vvvyxNPPKHXuFCjKD7//HNdmFCjLlauXKk/5sILL9TrXzz00EP5C3jnfQEA4GdlqXpnZ2fLhg0bpHfv3mFrAanHKoOLc/ToUWnSpIk0atRILrnkEp3bABDLO3LIJwDxQjYBMBHXdQBMFLD0ui6qkRbKxx9/LK+++qrMnTtXzjjjDMnMzNTTP+3fv1+efPJJmTFjhjz11FPStWtX/Xq11oWaUkot1H3XXXdJampqtJ8aZeBk57h9CCiBSbs+CXt8z+knfo/gUU7RXaqwm1fczaOKxWor6PDhw7p4XLdu3bD96vHWrVsjfrpWrVrpanj79u3lyJEj8uCDD+pp/tQbSMOGDcUNZJMd/rrr0yL7ppzexZVjgdnZ5JV8Ipvsce327WGPZ7dp49qxoPzzyW/ZpJBPdrhlx2dhjx9odZZrx4JywHWdhDLDv1aYadzOfxfZN71Ve1eOBeXAKbrLhnOnqMcmnnnmmZKTkyOffvqpnpNKLbDdrl07vch2s2bNdMVFLbRdo0aN/I9RU0Xdd999kpycrKeFws+mTp0qZ599tlSrVk0XeAYOHCjbtm3Lf37Pnj1FFjDJ29T3HoC3qt4qE1Rxt+Cm9sWCWmdo2LBh0rFjR+nZs6cuQNeuXVsef/zxmLQPwBvKO5sU8glASZBNAEzEdR0AEwUsva6LeqSFWvH79ttv16Mp1KgKtYD2o48+qteuKKjgmhWnnnpqsfNc+d3q1atlzJgxunCRm5srt912m/Tp00e++OILqVKlih5KoxYtKUhNyfXAAw9Iv379Svx5EioWrZjBPHefFn4HTmJV+s3LAsGi+9LT0/UiRwVFqnjXqlVL5+/XX38dtl89LuncgRUqVJCzzjpLduzYIW4hm+xw72kdiuwjn7yrLNnklXwKJFdw5fOi9B5r2SLscUJl+s5P+eS3bFISKlV07XOj5P7evF3Y48Rq9JuXcV0nEqgQ9Z8ZUY4ebl50RGpCJfrOqwKWXteVaRUo9Yf1FStWyCuvvKJXC88rWIRCofyRFKxZUTLLli2Tq666Sk+1pVZgVwua7927V88ZpqgfDvWDUHBbuHChXHbZZVK1alW3Dx9AGQRCRTf1ZlG9evWwLdIbiBq51rlz5/z1g/IyWD1Wle2SUMP8Nm/eLPXr14/p1wXAv9mkkE8A4oVsAmAirusAmChg6XVdmctozZs315uiRggkJSXpqaFQNmq+L6Xg9FoFqWKGWkNk1qxZpWrXCUYor8F49Ju3lXYRpMJUdXz48OHSpUsXvY7Q9OnTJSMjQ9LS0vTzakieGumWN9RPTeN37rnnSosWLeSHH37QI7bUNH8jRowQtzg5ua59bpQNfeddZc0mT+RTMOTO50XZ0XeexrkT1we2ot+8jWxSf8lkKnhr0XeeFbD0ui6mY39UwQJlp6pVY8eOlV//+td6nZBInn76aWnTpo1exASA94bqlYYa5fbNN9/IpEmT5ODBg3rOQDV6K2+RJDVqq2Ax+fvvv5eRI0fq155yyim6Yr5mzRpp27ZtWb8UAB5S1mxSyCcA8cC5EwATkU0ATBSw9Lou4LAitnGuvfZaWbp0qbz//vsRV1Q/fvy4Hk5zxx13yM0331xsO5FWgh9UZ7QkBBLjctyInVBWZtjjhBTmPrXF8uPPl/pjWt3zcJF92+4YJ15FNnknmxTyyQ5kU5TZVHsU2WSJUHZ22OOE5GTXjgUltzzzxag+rnA+eTmbis2n+teRTxYIHTsW9jihcmXXjgUlt/zo3Kg+jnMnrutswXWdvZb76LqOeZwMc/3118sbb7wh7777bsSChaLWEDl27JgeenMykVaC35W7JU5HDiCW8wt6GdkE2IFsSpVdwc/dPiwAEfgpm4rNp5zNbh8WgEI4d+K6DjBRwNJsYj4nQ6gBLzfccINeXHvVqlXSrFmzYl+rpoa6+OKLpXbt2idtM9JK8OqOQXEs+enEz+gzT4vFUD2bkE0eQ795Ftl04m5BCXCPj5XoN08jn0QurTlSnOwc144J0aHPvI1s+t+5EwCjBCzNJooWhhgzZozMmzdPFi9eLNWqVdNzfimqUl2pUqX81+3YsUPee+89WbJkyS+2qVZ9L7zyO8P0APPYUuWOFbIJsAPZRDYBpiKfyCfARGQT2QSYKGBpNlG0MMRjjz2m/9+rV6+w/c8884xcddVV+Y/nzJmjp43q06dPVJ/HCbGEiY3oN2+zteoNwNvIJgCmIp8AmIhs0lULt48A0aLvPCtgaTZRtDBESddDv++++/QGwDtsfQMB4G1kEwBTkU8ATEQ2ATBRwNJsomjhMwEqp1YoXMKi37zN1qF6McXc4/ai7zyLbOKOM6vRd55GPnF9YAuu6/yFbFLfBH7GrUXfeVbA0myiaAEALrP1DQSAt5FNAExFPgEwEdkEwEQBS7OJooXPBJKT3T4ElER2dthD+s3bbB2qF1OJ3K1vLfrOs8gmkUAii0naOuqLvvM28kldyXMpb+N1Hf3mbWSTejvm2sBW9J13BSzNJt4xAcBltla9AXgb2QTAVOQTABORTQBMFLA0myha+IwTsvQn1efoN2+zteodU07hGX9hDfrOs8gmEScn1+1DQEk54edK9J23kU8ATEQ28f5rM/rOuwKWZhNFCwBwma1vIAC8jWwCYCryCYCJyCYAJgpYmk0ULQzw2GOP6W3Pnj368RlnnCGTJk2Sfv365b9m7dq1cvvtt8tHH30kiYmJ0rFjR1m+fLlUqlSpdJ+MO2LtRL95WkKQ/pUQ3wNr0XeeRTYVvXsfFqHvPI184vrAWvSbp5FNvP9ajb7zrARLs4mihQEaNmwo999/v7Rs2VIcx5G5c+fKJZdcIp988okuYKiCxUUXXSTp6eny6KOPSlJSknz66aeSEM0iOUFLy2t+R795mq3zC8YUJ0j2ou88i2wCYCryiZsGrEW/eRrZBMBEAUuziaKFAQYMGBD2eMqUKXrkxYcffqiLFuPGjZMbb7xRJk6cmP+aVq1auXCkAOLB1qF6ALyNbAJgKvIJgInIJgAmCliaTRQtDBMMBuXll1+WjIwM6datmxw6dEhPCTV06FDp3r277Ny5U1q3bq0LGz169Ch1+w53dliJfvO2BEvfQAB4G9kEwFTkk4iTm+P2ISAK9Ju3kU0ATJRgaTZFMb8Q4mHz5s1StWpVSUlJkdGjR8vChQulbdu2smvXLv38nXfeKSNHjpRly5ZJp06d5IILLpAvv/zS7cMGEAOBkFNkAwC3kU0ATEU2ATAR504ATBSwNJsYaWEINd3Tpk2b5MiRI/LKK6/I8OHDZfXq1RIKnZh47JprrpG0tDT977POOktWrlwpc+bMkalTpxbbZlZWlt4KCjlBSQgkxvmrAVAagVzxFbIJsAPZRDYBpiKfRELikE9WKHR7a4D7Rr2MbBIJJQjZZKtE+s2rApZmE++YhkhOTpYWLVpI586ddSGiQ4cOMmPGDKlfv75+Xo26KKhNmzayd+/ek7ap2klNTQ3bdoe+iOvXAaD0EoJOkc3LImXTruDnbh8WgELIJrIJMJWfsknhug6wA+dOqbIrZ4vbhwXAI9nESAtDqREWqmLdtGlTadCggWzbti3s+e3bt0u/fv1O2kZ6erqMHz8+bN+g2qMkEAjE5ZgRO4XjI5BAn3lZ4MSAKt8oLpsAmIVsEhlUZzR3xdqKfvM08knk0pojXTseAJGRTf87d7Jk6hkUQr95VsDSbKJoYUjQqwJE48aN5aeffpJ58+bJqlWrZPny5brAMGHCBJk8ebIefdGxY0eZO3eubN26VU8jdTJqfQy1FcQwPcA8AUuq3LFCNgF2IJvIJsBU5BP5BJiIbCKbABMFLM0mihYGOHTokAwbNkwOHDigh9O1b99eFywuvPBC/fzYsWMlMzNTxo0bJ999950uXqxYsUKaN29e+k/GXWd2ot88LZBr5xtITPEzbi/6zrPIJn3l7fYRIFr0naeRTyIB5h63gpObE/aYfvM2son3X6vRd54VsDSbKFoY4Omnn/7F10ycOFFvALwnwDBMAAYimwCYinwCYCKyCYCJApZmE0ULv0nkjlgr0W+eZssiSHHlWDrJIug7DyObmNvXavSdp5FPAExENvH+azX6zrMSLM0mihYA4DJbh+oB8DayCYCpyCcAJiKbAJgoYGk2UbTwG8fOH1Tfo988zdahegC8jWxiJJHV6DtPI58AmIhsEnGCQbcPAVGi77wrYGk2UbQAAJcFcvnDCgDzkE0ATEU+ATAR2QTARAFLs4mihd9YWl3zPfrN0wJBO99AYsnhZ9xa9J13kU3qm8CaUtai7zyNfGI0kbXoN08jmwCYKGBpNlG0AACXBSxdFAmAt5FNAExFPgEwEdkEwEQBS7OJooXPOLk5bh8CokC/eZylQ/ViKZAQcPsQUAKRTnXoOw8jm2ATRlb4C/nE3OOWot88jmySQHIFtw8BUf6Nib7zsFw7s4mzewPdf//9EggEZOzYsfn7evXqpfcV3EaPHu3qcQKIjUAwWGQDALeRTQBMRTYBMBHnTgBMFLA0mxhpYZiPP/5YHn/8cWnfvn2R50aOHCl33313/uPKlSuX89EBiAtLh+oB8DiyibnHbe4r+s7byCdGF1mj0B+G6DdvI5tEHL4H1qLvvCtoZ99StDDI0aNHZejQofLkk0/KvffeW+R5VaSoV6+eK8cGIH4CuXZUuQH4C9kEwFTkEwATkU0ATBSwNJsoWhhkzJgx0r9/f+ndu3fEosWLL74oL7zwgi5cDBgwQO64445Sj7YIJDFHnY1zndJvHmfJ0Ly44q4ze9F33kU28fNtM/rO28gnACYimwCYKGhnNlG0MMT8+fNl48aNenqoSK644gpp0qSJNGjQQD777DO59dZbZdu2bfLqq6+W+7ECiLHcXLePAACKIpsAmIp8AmAisgmAiXLtzCaKFgbYt2+f3HTTTbJixQqpWLFixNeMGjUq/99nnnmm1K9fXy644ALZuXOnNG/ePOLHZGVl6a2gkBOUhEBijL8CAGUS9Ne822QTYAmyiWwCTEU+iZMg5JMFnNycsMeBRPrM08gmCeVmk022svRufHg3mxg3bYANGzbIoUOHpFOnTpKUlKS31atXyyOPPKL/HYwQHOecc47+/44dO4ptd+rUqZKamhq27crdEtevBUCUVe/Cm4eRTYAlyCayCTCVj7JJIZ8AS3DuJLuCn7t9WAA8kk2MtDCAGjGxefPmsH1paWnSunVrPQ1UYoS7MTZt2qT/r0ZcFCc9PV3Gjx8ftm9Q/euY49dGifSZp1m6KFK0ImZT7VEijp3Vf9+j37yLbCKbbEa/eRv5JIPqjHbteAAUg2w6ce4EwCy5dmYTfwk1QLVq1aRdu3ZhW5UqVaRmzZr632oKqHvuuUePyNizZ4+89tprMmzYMDnvvPOkffv2xbabkpIi1atXD9sYpgeYufB64a20Zs2aJU2bNtVTzKmRWOvWrTvp619++WVdGFWvV1POLVmyRMoL2QT4J5tsyieyCbCHn7JJIZ8AO3BdRzYBJnIsva6jaGGB5ORkefvtt6VPnz66s2+++WYZNGiQvP76624fGgADhuotWLBA3+EyefJk2bhxo3To0EH69u2rp52LZM2aNTJkyBD585//LJ988okMHDhQb1u2MM0AgNgOI7Y+n9ToVDY7NvrOzi1afs8mAGbiuk6ckMNmwUbf2bv56bou4DhOlF8xbNS36nC3DwElEDp2LOxxQuXKrh0LSmf50bml/pi+la4s2s7x50v88arCffbZZ8vMmTP141AoJI0aNZIbbrhBJk6cWOT1gwcPloyMDHnjjTfy95177rnSsWNHmT17trihb8WhrnxelE4oO7vIvoTkZFeOBaWzPPPFcs8mL+RTpO8BzBTKygx7nJBS0bVjQcmVNlOK+930WzYp5JMdyCZ/Z1Np2/JCNvVJvsKVz4vScXJziuwLJFVw5VhQOm9lz/PNdR1rWviNJYutoBD6zdOiHZqnZGdn66nj1HyieRISEqR3796ydu3aiB+j9heee1RVyBctWiRuifqOAbiOvvOusmSTZ/IpIeDO50XZ0XeexrkT67ZYi37zNLIJgIkcS6/rKFoAgIF3OWRlZemt8Jyhaivo8OHDEgwGpW7dumH71eOtW7dG/HwHDx6M+Hq1HwBikU0K+QSgvPKJbAJgAq7rAJjIsfW6Tk0PBX/JzMx0Jk+erP9Pu/a0G8+2aTe+7UZDHYeK6IKb2lfY/v379XNr1qwJ2z9hwgSna9euEduuUKGCM2/evLB9s2bNcurUqeO4ycZ+te2YaZd2yyubFPKJdmnXjHb9kE9kkx39SrvxbTeebdNu9Liu82+78WybdmnXD+dOFC186MiRI/qHTf2fdu1pN55t0258242GehNTx1Fwi/TGlpWV5SQmJjoLFy4M2z9s2DDn4osvjth2o0aNnIcffjhs36RJk5z27ds7brKxX207Ztql3fLKJoV8ol3aNaNdP+QT2WRHv9JufNuNZ9u0Gz2u6/zbbjzbpl3a9cO5U0LJx2QAAMqLGpJXvXr1sC3SML3k5GTp3LmzrFy5Mn+fWhBJPe7WrVvEttX+gq9XVqxYUezrAaC02aSQTwDKC9kEwFRc1wEwUYoF506saQEAllOLGw0fPly6dOkiXbt2lenTp0tGRoakpaXp54cNGyannnqqTJ06VT++6aabpGfPnvLQQw9J//79Zf78+bJ+/Xp54oknXP5KAHgN+QTARGQTABORTQBMNd6FfKJoAQCWGzx4sHzzzTcyadIkvahRx44dZdmyZfmLHu3du1cSEn4eWNe9e3eZN2+e/PWvf5XbbrtNWrZsKYsWLZJ27dq5+FUA8CLyCYCJyCYAJiKbAJhqsBv5VOKJpOAZti0oQ7vxb5t249suvNuvth0z7dIu/NG3tEu75dU2+eQu2/qVduPbbjzbpl14uV/5naRd29v1qoD6TzwqMAAAAAAAAAAAAKXBQtwAAAAAAAAAAMAIFC0AAAAAAAAAAIARKFoAAAAAAAAAAAAjULQAAAAAAAAAAABGoGgBAAAAAAAAAACMQNECAAAAAAAAAAAYgaIFAAAAAAAAAAAwAkULAAAAAAAAAABgBIoWAAAAAAAAAADACBQtAAAAAAAAAACAEShaAAAAAAAAAAAAI1C0AAAAAAAAAAAARqBoAQAAAAAAAAAAjEDRAgAAAAAAAAAAGIGiBQAAAAAAAAAAMAJFCwAAAAAAAAAAYASKFgAAAAAAAAAAwAgULSwza9Ysadq0qVSsWFHOOeccWbdunduHBAAAAAAAAABATFC0sMiCBQtk/PjxMnnyZNm4caN06NBB+vbtK4cOHXL70AC46L333pMBAwZIgwYNJBAIyKJFi37xY1atWiWdOnWSlJQUadGihTz77LPlcqwA/INsAmAq8gmAicgmACZ6z6VsomhhkWnTpsnIkSMlLS1N2rZtK7Nnz5bKlSvLnDlz3D40AC7KyMjQRUw1Eqskdu/eLf3795fzzz9fNm3aJGPHjpURI0bI8uXL436sAPyDbAJgKvIJgInIJgAmynApmwKO4zhRHjPKUXZ2ti5QvPLKKzJw4MD8/cOHD5cffvhBFi9e7OrxATCDqnovXLgwLCcKu/XWW+XNN9+ULVu25O+7/PLLdZYsW7asnI4UgJ+QTQBMRT4BMBHZBMDv2cRIC0scPnxYgsGg1K1bN2y/enzw4EHXjgtAfGRlZcmPP/4Ytql9sbB27Vrp3bt32D411ZzaDwAnQzYB8Fs2KeQTgGhx7gTARFkWZFNSTI4GRlI/bIV/4C6tOVISAomuHRNKxsnNCXscSKrg2rGgdN7KnlfqjwkdPL3Ivqmzr5C77rorbJ9az+bOO++UslKFzkgFUPUmdfz4calUqZKUdzYNqjOabLJAKCuzyL6ElIquHAtKZ/nx50v9MWQT50024dzJP+dNkfIpntlkaj5x7mTnuRPnTd49b1I4d+LcydbzJoVzJzu85aO/OTHSwhK1atWSxMRE+frrr8P2q8f16tWL+DFTp06V1NTUsG136ItyOmIAJZXl5BTZ0tPT5ciRI2Gb2ucFkbJpV+7PwwYBmIFs4rwJMJWfsknh3AmwA+dOnDsBJsqyNJsYaWGJ5ORk6dy5s6xcuTJ/3rBQKKQfX3/99RE/Rv2wjR8/vsgdOQGq3vbdLZhIn3lZjhMssq96SoqkpKTE5fOpQmekAmj16tXjfjdOsdlUe5SIE4r750Yc0G+eRTadyCY1byvMV3iRvkAC/eanfIpnNpmcT7wHW4g+8zTOnU6MtABglhxLs4mihUXUm4FaeLtLly7StWtXmT59ul7BPS0tLeLrUyL8ADJMDzBPlhR9A4mnbt26yZIlS8L2rVixQu8vD2QTYAeyiWwCTEU+kU+AicgmsgkwUZal2UTRwiKDBw+Wb775RiZNmqTnB+vYsaNedb3wPGEnxZ0ddqLfPC2zjP179OhR2bFjR/7j3bt3y6ZNm6RGjRrSuHFjfQfM/v375bnnntPPjx49WmbOnCm33HKLXH311fLOO+/ISy+9JG+++WaZvxYA3kE2ATAV+QTARGQTIx1tHaGq0HfelWlpNlG0sIyaCqq46aAA2CnTKdvJwfr16+X888/Pf5w3RFeNzHr22WflwIEDsnfv3vznmzVrpt8sxo0bJzNmzJCGDRvKU089JX379i3TcQDwFrIJgKnIJwAmIpsAmCjT0mwKOI4TqcAGj+pb6Uq3DwElEMrKDHuckFLRtWNB6Sw//nypP+aLfacW2de20X7xE7LJzmxSyCc7kE3R6ZN8hduHgGjXA0uq4NqxoOTeyp4X1ccVzie/ZZPSt+JQtw8BJRDKzg57nJCc7NqxoOSWZ74Y1cdx7kQ22ZpNCvnk3Xz6wtJsYqQFALgs02HeTwDmIZsAmIp8AmAisgmAiTItzSaKFlFSA1TUlpCQIFZhbQQ70W+elukQxfyMW4y+8yyyibl9bVJ46Dh9523kEwATkU0ATJRpaTbZedQGCAQCejty5Ije1MIjABCNHEvfQAB4G9kEwFTkEwATkU0ATJRjaTbZedQGUIuMqAVFVq5cqRcU+X//7//p1dHbtm0roVDI2BEYToglTGxEv3mbrVXvWOJn3F70nXeRTQBMRT7p4URuHwGiQb95GtkEwESZlmaTnUddjtQUUGpERWH33nuv/Oc//5GlS5fK2rVrZd68efL+++/Lxo0bjS1YADBTpsOCVwDMQzYBMBX5BMBEZBMAE2Vamk0ULYqRN1oiUsFi586d8sILL8iLL74oXbp00VuPHj2kT58+MmXKFLn99tvFVMzvawfmZfaXbEsXRQLgbWQTAFORT6wpZS36zdPIJgAmyrY0mxgSUIy80RL/+te/ZNq0afLBBx/kP5eUlKSLGbVq1cofjXHWWWfJX/7yF5kxY4YcOnQoLsf0008/ydixY6VJkyZSqVIl6d69u3z88cdx+VwAyk9mqEKRDQDcRjYBMBXZBMBEnDsBMFGmpdnESItiLF68WMaPH6+LF2rNiltuuUWPorj11lvlhx9+kDPPPFPefvttOffcc/NHY6Slpcn9998vr732mowYMaLYqaWipdrcsmWLPP/889KgQQM92qN3797yxRdfyKmnnlqiNph73E70m7dlOXa8YcRTINHOyr/fOLk5RfbRd95FNjH3uNXoO08jnwCYiGwScYJBtw8BUaLvvCvL0mzibD6Cb7/9VmbOnCmDBw+WL7/8Uhch7rnnHpk+fbp+XhUs6tWrJ5s2bdLrWuRNJ1WzZk0ZMGCAnjZKiWXB4vjx43rUx9///nc577zzpEWLFnLnnXfq/z/22GMx+zwAyl+2k1RkAwC3kU0ATEU2ATAR504ATJRtaTbZcZTlTE259O6778pTTz2lH1erVk0qV64sF154oWRnZ0tycrJcdNFFuljwxhtvyOjRo/Onk1KFi++//14yMjKkSpUqMTum3NxcCQaDUrFixbD9apootQB4SXFHrJ13M9Nv3pZlydA8AP5CNgEwFfnEaCJr0W+eRjbxM26PCKMq6DvPyrI0m3z1E6mmayqJVq1a6XUr5s6dK3v37pUnn3xSj7RQIyfyRlFcccUV0qZNG/1c3mgLZePGjdK8eXNdsCjp5ysJVTjp1q2bPo7//ve/uoChpodau3atHDhwIGafB0D5y3SSimwA4DayCYCpyCYAJuLcCYCJMi3NJjuOsozy1pbIm64pb7REcZo1a6YX316zZo106dJFj7K46aab9FoWN9xwg15X4oEHHtDrXKj96jXDhw+Xbdu2yb59++S+++6L+fRQilrL4uqrr9brVyQmJkqnTp1kyJAhsmHDhoivz8rK0ltBIScoCQHu2gdMkhPyRRTnI5sAO5BNZBNgKvJJTU+cQz7ZyAm5fQSII7JJxEkQsskCrFXoLzmWZpMvRlrkFQ/efPNNPa3TqFGj5J///Kd89913er8atVDYddddJ9dee620bNlSlixZInfccYc89NBDMnv2bP2xagSGWtti0aJF8pe//EW2b98uNWrU0NNK/frXv47L16FGcKxevVqOHj2qiyPr1q2TnJwcOe200yK+furUqZKamhq27crdEpdjAxC9rFBSkc3LyCbADmQT2QSYyk/ZVGw+BT93+7AAFMK5E+dOgImyLM0mO44yBh5++GGZMmWKjBgxQvbv3y8TJ07UC2yrAoQatRBpZIYqVqhpntq2baurxykpKXoUxsGDB+XYsWP6tdWrV9dFi3HjxuW3oxblzlvjIh7UMalNrZ2xfPlyvTh3JOnp6TJ+/PiwfYPqjI7bcQGITpZj5/yC0YqYTfWuVRVm144JZZBAv3kV2SQyqPYo7oq1Ff3maeTT/67rmH/cPvSZp5FNnDtZjX7zrCxLs8kXRYvDhw/rqZXUdE5qUxYvXqzXpVDrVqipnQpSBQtVeFBV4s8//1yvWdGwYUM9qkEtzv3HP/5RFy8KUgUL9TFKvAoWqkChCipqzY0dO3bIhAkTpHXr1pKWlhbx9arIoraCGKYHmCcn5K+LF7IJsAPZRDYBpiKfyCfARGQT2QSYKMfSbPJF0aJChQryxRdfSI8ePfL3DRgwQK655hq56667ZODAgbpAUXCUhNouvPBCPf1T586d5fzzz5ePPvpIL4g9c+ZMqVSpUpHPE8/RFcqRI0d0JVsVUdRUVIMGDdKjR9TXB8BetgzNi6sI0/TBEvSdZ5FNAExFPgEwEdnEaCKr0XeelWVpNtl51L+g8IiHAwcOSMeOHWXVqlXSvXt3PVpBPacW0VZrVKgRDJdddln+x6jigCpinHXWWTJ//nx56623ZPPmzXpx7t///veufV3qGPOOE4B32PoGAsDbyCYApiKfAJiIbAJgoixLs8nOoy6GWlBbTe2UV6z49ttvpWbNmtKoUSNp0KCBnupJLb6tRimowkWTJk3kt7/9rTz55JO6GKCKHevXr9fTP33wwQd6SqjGjRvrdTAKf57C62BYgznq7ES/eVq2pW8gALyNbOKOM6vRd55GPrGmlLXoN08jm0QcRmFbi77zrmxLs8kTZ/OqiKCoQoIqWKhREZdeeqm0b99e9uzZoxet7tmzp3z55Zd61ISiihtK165d5ejRo/Ljjz/qj61YsaLen/e6SCM4rC1YADBSbiixyAYAbiObAJiKbAJgIs6dAJgo19JssrPUUmjEQ14R4b333pPJkyfLxo0b5Xe/+5288cYb0rRpU/3ckCFDZMWKFXpBblXQSE5O1vs//PBDqVOnji5sKGeccYYekVG1atVyX7MCgD9lW/KGEVfcEWsv+s6zyCYApiKf1B11jttHgGjQb55GNqlLA0YT2SBSEtF33pVtaTZZ85cGNZ1TYXnFin/96196sWy13kTbtm3lk08+kRdffFGvSbF69Wr5+uuvdWFCTfP01VdfyUUXXSRLly6Vf/7zn7Jt2zb5wx/+kN+W+r8qWKhRFZE+JwDEWnYwscgGAG4jmwCYimwCYCLOnQCYKNvSbEqybZ2Kgr755hu9FsXWrVt1QUItrF2rVi393IIFC2TKlCmyb98+mTdvnvTr108GDhwop512mtx8881y6623yuHDh/XHXHnllb4ZVeFwZ4eV6Ddvy3W8mTcA7EY2ATAV+cSad9ai3zyNbOJvFzaj77wr19JsMr5okTcCYufOnbJp0yY5++yz9eLYSu3atWXixIl6vYq8tShmzZolDz74oB4pce2118qf//xn/TpFjZxQ61yoaaLUWhd5U0flPZe3zoWXMdzLDoXfKug3b7Olyg3AX8gmAKYinwCYiGzibxe2YHoof8m2NJuML7Wo9SXU+hRq+qc777xT/18VJnJzc/Xzffv2laSkJL2WRb169fRzahTFli1bdEEjr2ChFCxK5BUsVDsmFCzUehwDBgyQBg0a6GNZtGhR2PNqsfDrr79eGjZsKJUqVdLTYM2ePdu14wUQOzmhxCIbALiNbAJgKrIJgIk4dwJgohxLs8nVkRZ5ox2ys7P1dEyq+FDQoUOH5IEHHpAaNWroIoT6g/3cuXMlPT1dmjdvrtemUNRoCrU2xYwZM/S6FnmLbJdE4c/ployMDOnQoYNcffXVeqHwwsaPHy/vvPOOvPDCC/p79tZbb8l1112nixwXX3xxyT8RC6baiX7ztGCI/pVEvgfWou88i2wCYCryiesDa9FvnkY26T+yuX0EKIns7KL76DvPClqaTa78RObk5Mjf/vY3eeihh+T7778PKzKoP95XqVIl/7EqQvTu3Vvve/311+Wpp56SgwcPyquvvqqnelJ/tFdt1a1b1/XREmWh1txQW3HWrFkjw4cPl169eunHo0aNkscff1zWrVtXuqIFAOPkBu18AwHgbWQTAFORTwBMRDYBMFGupdnkStGiQoUK0rVrVz3NkVowe/DgwXL//ffrUQRqoWy1uPaf/vQnqVOnjp4ySRUphg4dqte0GDNmjP4jvXq9GpGgihZqWiiv6969u7z22mt6JIb6mletWiXbt2+Xhx9+uHQNMUedneg3T7NlaF48Bf63fhHsQ995F9nE+6/V6DtPI5/4GbcW/eZpZJNeMNbtI0C06DvPyrE0m8q91KLWj1DU2hR9+vSRv//97/Lhhx/KkiVL9JoNapootRbFwoULTxxgQoK8/PLLunCxdOlSmTBhgh5xoEZkqAW1v/3227B2verRRx/V61ioKbLUyBQ1NZZav+O8885z+9AAlFEoFCiyAYDbyCYApiKbAJiIcycAJgpZmk3lMtIiGAzqqZtUASJvCqeaNWvKH/7wB1m+fLkuQjzyyCN6Ue2BAwfKHXfcoQsXamoo9bEvvfSSnHXWWXoUhqLWtahevbrer17To0cPq6eGKmnRQhV31GiLJk2a6IW71agTNepCTZ8VSVZWlt4KCjlBSQjYWWEDvMrWoXrRipRNwZwssslSTm6u24eAOCGbRELBXLLJViFv39Dkd+QT13WAicgmzp2sxrmTZ+Vamk1xPWpVcFASExN1wWLv3r2yb98+yf3fHzjOPPNM+c1vfiM//vijLlgoaqqnK6+8Unbt2qXXsFAf26lTJ3njjTfkwQcflKlTp8qbb74pixYtktmzZ+uChdcdP35cbrvtNpk2bZqeLkut5aFGpahptdT3pDjqe5Wamhq27crZUq7HDqBkiyIV3ryMbALsQDalyq5csgkwkZ+ySeHcCbAD506cOwEmClqaTTEbaXHo0CEZMWKEXly7ZcuWep8qOCgHDhzQa1KoRaObNm0qrVu3lnnz5ukRA2qkhBoxoUYRnHvuufr1HTp00CMuJk+erP9If/fdd+spkdQ0UUlJSXL77bfrNR78Qi1crjZV+ClIfX9DoVCxH5eeni7jx48P2zeo9ihVTYrbsSJO6DNPcywZmhcrEbOpzmju7LAV/eZZZNP/zpuc4s+1YDD6zdPIJ5FB9a517XgAREY2ce5kNfrNsxxLsylmRQtVUX333Xdlzpw5utqq/Pvf/5a//e1vcv755+tCxowZM+Szzz6Tm2++WRc4HnjgAT3SQq3LoD5m8eLFem0K1dbIkSP1ug2rV6+Wnj176hEFav2KWrVqiRcdPXpUduzYkf949+7deuHxGjVqSOPGjfX3QK3noRYvV8Ue9X157rnn9OiL4qSkpOitIIbpAeYJWjpUL1pkE2AHsolsAkxFPpFPgInIJrIJMFHQ0myKWdFCBdWUKVPknnvukRtvvFHq168v33//vf7D+r/+9S+90LaaDkptVatW1aMl1DRPV199tZ4OSn3M9u3b5fTTT9ftqTUsevXqJR999JH+g71asyKvYKGmncobxeEV69ev18WdPHnVarXex7PPPivz58/XVWw1YuW7777ThQv1/R49enTpPlHAzh9U36PfPM0J2ln1BuBtZBMAU5FPAExENvG3C6vRd57lWJpNUf9EqmmJ8tasyKP+wK5GSqhCRd40T6NGjdKLZqt1GPJccsklUqdOHfnggw/0tEdqpIV67Z133qmfV23Url1bli5dKrfcckuRz+21goWiCjTq6y68qYJF3lofzzzzjOzfv1+vcbF161Zd2PD6AuSAX4bqFd4AwG1kEwBTkU0ATMS5EwATOZZmU1K0BYu89RWysrLkyJEjugihpnW65pprZObMmbpYccopp8iQIUPkqaeekg0bNuipoNQi3GpdCvVHerVGRYUKFaRBgwbyu9/9Tv7xj39IRkaGVKlSJX/0hvpc6g/z/HE+Rpijzk70m6c5liyCBMBfyCbuOLMafedp5BNr3lmLfvM0sgmAiRxLsymqo1YFC7XwtipQqEW1L730Ur1GhXLTTTfpaaEWLFigH3fp0kUuuOACvZi2GiGgChbKzp079RRSaqRFxYoVdZHjq6++yi9YFPxcFCwAeJoaqld4AwC3kU0ATEU2ATAR504ATBS0M5uiKlp8+OGH8tvf/lb27dsns2fPlrFjx8rbb7+t/69GXKgCxvTp0+XYsWO6CHHDDTfI//3f/+nRFGp0hSpgvPbaa3o9CzXSQlGjMpTCU04hDnedsZm/0W/2blEOpCm8ldasWbOkadOmugh8zjnnyLp164p9rZp2Lm8EW96mPg4AYp1NCvkEINbIJq4PrNnoNzu3KHFdp1fiZrNho+/s3Xx0XRdVGqspnNTICLW4dt++faV79+5Ss2ZNveD22rVr9aLau3btktdff12/vlu3btK/f3/ZtGmT/Oc//9Efpw7+8ssv98V6FQBwMoFgoMhWGmpkm1rjZvLkybJx40a9RpDKZjUirjhqraEDBw7kb2qkGwDEMpsU8glAPJBNAEzEdR0AEwUsva6Lak2Lzp07S48ePXRhYsKECfLOO+/IH//4Rz16QhUj1NoUV1xxhTzyyCN66ihV0Bg8eLBeWPsPf/iDjBs3Lr8ttdg00z+Vo0Q75zHzPfrN28o4NG/atGkycuRISUtL04/VCLg333xT5syZIxMnToz4MSp369WrJ8bgZ9xe9J13xWDYsPX5xM+3PQrfGUvfeRvnTvyM24Js8heySQLciGwt+s7DgnZe10X1jvmrX/1KL5J977336umc3n//fXniiSf0GhdqFMXnn3+uCxNq1MXKlSv1x1x44YV6/YuHHnoofwHvvC8AAPysLFXv7Oxs2bBhg/Tu3TtsLSD1WGVwcY4ePSpNmjSRRo0aySWXXKJzGwBieUcO+QQgXsgmACbiug6AiQKWXtdFNdJC+fjjj+XVV1+VuXPnyhlnnCGZmZl6+qf9+/fLk08+KTNmzJCnnnpKunbtql+v1rpQU0qphbrvuusuSU1NjfZTowyc7By3DwElMGnXJ2GP7zn9xO8RPMopuksVdvOKu3lUsVhtBR0+fFgXj+vWrRu2Xz3eunVrxE/XqlUrXQ1v3769HDlyRB588EE9zZ96A2nYsKG4gWyyw193fVpk35TTu7hyLDA7m7yST2STPa7dvj3s8ew2bVw7FpR/PvktmxTyyQ637Pgs7PEDrc5y7VhQDriuk1Bm+NcKM43b+e8i+6a3au/KsaAcOEV32XDuFPXYxDPPPFNycnLk008/1XNSqQW227VrpxfZbtasma64qIW2a9Sokf8xaqqo++67T5KTk/W0UPjZ1KlT5eyzz5Zq1arpAs/AgQNl27Zt+c/v2bOnyAImeZv63gOwV6Sqt8oEVdwtuKl9saDWGRo2bJh07NhRevbsqQvQtWvXlscffzwm7QPwhvLOJoV8AlASZBMAE3FdB8BEAUuv66IeaaFW/L799tv1aAo1qkItoP3oo4/qtSsKKrhmxamnnlrsPFd+t3r1ahkzZowuXOTm5sptt90mffr0kS+++EKqVKmih9KoRUsKUlNyPfDAA9KvX78Sf56EikUrZjDP3aeF34GTWJV+87JAsOi+9PR0vchRQZEq3rVq1dL5+/XXX4ftV49LOndghQoV5KyzzpIdO3aIW8gmO9x7Woci+8gn7ypLNnklnwLJFVz5vCi9x1q2CHucUJm+81M++S2blIRKFV373Ci5vzdvF/Y4sRr95mVc14kEKkT9Z0aUo4ebFx2RmlCJvvOqgKXXdWVaBUr9YX3FihXyyiuv6NXC8woWoVAofyQFa1aUzLJly+Sqq67SU22pFdjVguZ79+7Vc4Yp6odD/SAU3BYuXCiXXXaZVK1a1e3DB1AGgVDRTb1ZVK9ePWyL9AaiRq517tw5f/2gvAxWj1VluyTUML/NmzdL/fr1Y/p1AfBvNinkE4B4IZsAmIjrOgAmClh6XVfmMlrz5s31pqgRAklJSXpqKJSNmu9LKTi9VkGqmKHWEJk1a1ap2nWCEcprMB795m2lXQSpMFUdHz58uHTp0kWvIzR9+nTJyMiQtLQ0/bwakqdGuuUN9VPT+J177rnSokUL+eGHH/SILTXN34gRI8QtTk6ua58bZUPfeVdZs8kT+RQMufN5UXb0nadx7sT1ga3oN28jm9RfMpkK3lr0nWcFLL2ui+nYH1WwQNmpatXYsWPl17/+tV4nJJKnn35a2rRpoxcxAeC9oXqloUa5ffPNNzJp0iQ5ePCgnjNQjd7KWyRJjdoqWEz+/vvvZeTIkfq1p5xyiq6Yr1mzRtq2bVvWLwWAh5Q1mxTyCUA8cO4EwERkEwATBSy9rgs4rIhtnGuvvVaWLl0q77//fsQV1Y8fP66H09xxxx1y8803F9tOpJXgB9UZLQmBxLgcN2InlJUZ9jghhblPbbH8+POl/phW9zxcZN+2O8aJV5FN3skmhXyyA9kUZTbVHkU2WSKUnR32OCE52bVjQcktz3wxqo8rnE9ezqZi86n+deSTBULHjoU9Tqhc2bVjQcktPzo3qo/j3InrOltwXWev5T66rmMeJ8Ncf/318sYbb8i7774bsWChqDVEjh07pofenEykleB35W6J05EDiOX8gl5GNgF2IJtSZVfwc7cPC0AEfsqmYvMpZ7PbhwWgEM6duK4DTBSwNJuYz8kQasDLDTfcoBfXXrVqlTRr1qzY16qpoS6++GKpXbv2SduMtBK8umNQHEt+OvEz+szTYjFUzyZkk8fQb55FNp24W1AC3ONjJfrN08gnkUtrjhQnO8e1Y0J06DNvI5v+d+4EwCgBS7OJooUhxowZI/PmzZPFixdLtWrV9JxfiqpUV6pUKf91O3bskPfee0+WLFnyi22qVd8Lr/zOMD3APLZUuWOFbALsQDaRTYCpyCfyCTAR2UQ2ASYKWJpNFC0M8dhjj+n/9+rVK2z/M888I1dddVX+4zlz5uhpo/r06RPV53FCLGFiI/rN22ytegPwNrIJgKnIJwAmIpt01cLtI0C06DvPCliaTRQtDFHS9dDvu+8+vQHwDlvfQAB4G9kEwFTkEwATkU0ATBSwNJsoWvhMgMqpFQqXsOg3b7N1qF5MMfe4veg7zyKbuOPMavSdp5FPXB/Ygus6fyGb1DeBn3Fr0XeeFbA0myhaAIDLbH0DAeBtZBMAU5FPAExENgEwUcDSbKJo4TOB5GS3DwElkZ0d9pB+8zZbh+rFVCJ361uLvvMsskkkkMhikraO+qLvvI18UlfyXMrbeF1Hv3kb2aTejrk2sBV9510BS7OJd0wAcJmtVW8A3kY2ATAV+QTARGQTABMFLM0mihY+44Qs/Un1OfrN22yteseUU3jGX1iDvvMssknEycl1+xBQUk74uRJ9523kEwATkU28/9qMvvOugKXZRNECAFxm6xsIAG8jmwCYinwCYCKyCYCJApZmE0ULAzz22GN627Nnj358xhlnyKRJk6Rfv375r1m7dq3cfvvt8tFHH0liYqJ07NhRli9fLpUqVSrdJ+OOWDvRb56WEKR/JcT3wFr0nWeRTUXv3odF6DtPI5+4PrAW/eZpZBPvv1aj7zwrwdJsomhhgIYNG8r9998vLVu2FMdxZO7cuXLJJZfIJ598ogsYqmBx0UUXSXp6ujz66KOSlJQkn376qSREs0hO0NLymt/Rb55m6/yCMcUJkr3oO88imwCYinzipgFr0W+eRjYBMFHA0myiaGGAAQMGhD2eMmWKHnnx4Ycf6qLFuHHj5MYbb5SJEyfmv6ZVq1YuHCmAeLB1qB4AbyObAJiKfAJgIrIJgIkClmYTRQvDBINBefnllyUjI0O6desmhw4d0lNCDR06VLp37y47d+6U1q1b68JGjx49St2+w50dVqLfvC3B0jcQAN5GNgEwFfkk4uTmuH0IiAL95m1kEwATJViaTVHML4R42Lx5s1StWlVSUlJk9OjRsnDhQmnbtq3s2rVLP3/nnXfKyJEjZdmyZdKpUye54IIL5Msvv3T7sAHEQCDkFNkAwG1kEwBTkU0ATMS5EwATBSzNJkZaGEJN97Rp0yY5cuSIvPLKKzJ8+HBZvXq1hEInJh675pprJC0tTf/7rLPOkpUrV8qcOXNk6tSpxbaZlZWlt4JCTlASAolx/moAlEYgV3yFbALsQDaRTYCpyCeRkDjkkxUK3d4a4L5RLyObREIJQjbZKpF+86qApdnEO6YhkpOTpUWLFtK5c2ddiOjQoYPMmDFD6tevr59Xoy4KatOmjezdu/ekbap2UlNTw7bdoS/i+nUAKL2EoFNk87JI2bQr+LnbhwWgELKJbAJM5adsUriuA+zAuVOq7MrZ4vZhAfBINjHSwlBqhIWqWDdt2lQaNGgg27ZtC3t++/bt0q9fv5O2kZ6eLuPHjw/bN6j2KAkEAnE5ZsRO4fgIJNBnXhY4MaDKN4rLJgBmIZtEBtUZzV2xtqLfPI18Erm05kjXjgdAZGTT/86dLJl6BoXQb54VsDSbKFoYEvSqANG4cWP56aefZN68ebJq1SpZvny5LjBMmDBBJk+erEdfdOzYUebOnStbt27V00idjFofQ20FMUwPME/Akip3rJBNgB3IJrIJMBX5RD4BJiKbyCbARAFLs4mihQEOHTokw4YNkwMHDujhdO3bt9cFiwsvvFA/P3bsWMnMzJRx48bJd999p4sXK1askObNm5f+k3HXmZ3oN08L5Nr5BhJT/Izbi77zLLJJX3m7fQSIFn3naeSTSIC5x63g5OaEPabfvI1s4v3XavSdZwUszSaKFgZ4+umnf/E1EydO1BsA7wkwDBOAgcgmAKYinwCYiGwCYKKApdlE0cJvErkj1kr0m6fZsghSXDmWTrII+s7DyCbm9rUafedp5BMAE5FNvP9ajb7zrARLs4miBQC4zNahegC8jWwCYCryCYCJyCYAJgpYmk0ULfzGsfMH1ffoN0+zdageAG8jmxhJZDX6ztPIJwAmIptEnGDQ7UNAlOg77wpYmk0ULQDAZYFc/rACwDxkEwBTkU8ATEQ2ATBRwNJsomjhN5ZW13yPfvO0QNDON5BYcvgZtxZ9511kk/omsKaUteg7TyOfGE1kLfrN08gmACYKWJpNFC0AwGUBSxdFAuBtZBMAU5FPAExENgEwUcDSbKJo4TNObo7bh4Ao0G8eZ+lQvVgKJATcPgSUQKRTHfrOw8gm2ISRFf5CPjH3uKXoN48jmySQXMHtQ0CUf2Oi7zws185s4uzeQPfff78EAgEZO3Zs/r5evXrpfQW30aNHu3qcAGIjEAwW2QDAbWQTAFORTQBMxLkTABMFLM0mRloY5uOPP5bHH39c2rdvX+S5kSNHyt13353/uHLlyuV8dADiwdZFkQB4G9nE3ONW9xV952nkE6OL7FHoD0P0m6eRTer9185paEDfeVnA0mziHdMgR48elaFDh8qTTz4pp5xySpHnVZGiXr16+Vv16tVdOU4AMaYWRSq8AYDbyCYApiKbAJiIcycAJgramU2MtDDImDFjpH///tK7d2+59957izz/4osvygsvvKALFgMGDJA77rij1KMtAknMUWfjXKf0m8dZMjQvrrjrzF70nXeRTfx824y+8zbyCYCJyCYAJgramU0ULQwxf/582bhxo54eKpIrrrhCmjRpIg0aNJDPPvtMbr31Vtm2bZu8+uqr5X6sAGIsN9ftIwCAosgmAKYinwCYiGwCYKJcO7OJooUB9u3bJzfddJOsWLFCKlasGPE1o0aNyv/3mWeeKfXr15cLLrhAdu7cKc2bN4/4MVlZWXorKOQEJSGQGOOvAECZWDI0L1bIJsASZBPZBJiKfBInQcgnCzi5OWGPA4n0maeRTRLKzSabbGXp3fjwbjYxbtoAGzZskEOHDkmnTp0kKSlJb6tXr5ZHHnlE/zsYITjOOecc/f8dO3YU2+7UqVMlNTU1bNuVuyWuXwuAKKvehTcPI5sAS5BNZBNgKh9lk0I+AZbg3El2BT93+7AAeCSbGGlhADViYvPmzWH70tLSpHXr1noaqMQId2Ns2rRJ/1+NuChOenq6jB8/PmzfoPrXMcevjRLpM0/L9dcdDRGzqfYoEcfO6r/v0W/eRTaRTTaj37yNfJJBdUa7djwAikE2nTh3AmCWXDuzib+EGqBatWrSrl27sK1KlSpSs2ZN/W81BdQ999yjR2Ts2bNHXnvtNRk2bJicd9550r59+2LbTUlJkerVq4dtDNMDzFx4vfBWWrNmzZKmTZvqKebUSKx169ad9PUvv/yyLoyq16sp55YsWSLlhWwC/JNNNuUT2QTYw0/ZpJBPgB24riObABM5ll7XUbSwQHJysrz99tvSp08f3dk333yzDBo0SF5//XW3Dw2AAUP1FixYoO9wmTx5smzcuFE6dOggffv21dPORbJmzRoZMmSI/PnPf5ZPPvlEBg4cqLctW5hmAEBshxFbn09qdCqbHRt9Z+cWLb9nEwAzcV0nTshhs2Cj7+zd/HRdF3AcJ8qvGDbqW3W424eAEggdOxb2OKFyZdeOBaWz/OjcUn9M30pXFm3n+PMl/nhV4T777LNl5syZ+nEoFJJGjRrJDTfcIBMnTizy+sGDB0tGRoa88cYb+fvOPfdc6dixo8yePVvc0LfiUFc+L0onlJ1dZF9CcrIrx4LSWZ75YrlnkxfyKdL3AGYKZWWGPU5IqejasaDkSpspxf1u+i2bFPLJDmSTv7OptG15IZv6JF/hyudF6Ti5OUX2BZIquHIsKJ23suf55rqONS38xpLFVlAI/eZp0Q7NU7Kzs/XUcWo+0TwJCQnSu3dvWbt2bcSPUfsLzz2qKuSLFi0St0R9xwBcR995V1myyTP5lBBw5/Oi7Og7T+PciXVbrEW/eRrZBMBEjqXXdRQtAMDAuxyysrL0VnjOULUVdPjwYQkGg1K3bt2w/erx1q1bI36+gwcPRny92g8AscgmhXwCUF75RDYBMAHXdQBM5Nh6Xaemh4K/ZGZmOpMnT9b/p1172o1n27Qb33ajoY5DRXTBTe0rbP/+/fq5NWvWhO2fMGGC07Vr14htV6hQwZk3b17YvlmzZjl16tRx3GRjv9p2zLRLu+WVTQr5RLu0a0a7fsgnssmOfqXd+LYbz7ZpN3pc1/m33Xi2Tbu064dzJ4oWPnTkyBH9w6b+T7v2tBvPtmk3vu1GQ72JqeMouEV6Y8vKynISExOdhQsXhu0fNmyYc/HFF0dsu1GjRs7DDz8ctm/SpElO+/btHTfZ2K+2HTPt0m55ZZNCPtEu7ZrRrh/yiWyyo19pN77txrNt2o0e13X+bTeebdMu7frh3Cmh5GMyAADlRQ3Jq169etgWaZhecnKydO7cWVauXJm/Ty2IpB5369YtYttqf8HXKytWrCj29QBQ2mxSyCcA5YVsAmAqrusAmCjFgnMn1rQAAMupxY2GDx8uXbp0ka5du8r06dMlIyND0tLS9PPDhg2TU089VaZOnaof33TTTdKzZ0956KGHpH///jJ//nxZv369PPHEEy5/JQC8hnwCYCKyCYCJyCYAphrvQj5RtAAAyw0ePFi++eYbmTRpkl7UqGPHjrJs2bL8RY/27t0rCQk/D6zr3r27zJs3T/7617/KbbfdJi1btpRFixZJu3btXPwqAHgR+QTARGQTABORTQBMNdiNfCrxRFLwDNsWlKHd+LdNu/FtF97tV9uOmXZpF/7oW9ql3fJqm3xyl239SrvxbTeebdMuvNyv/E7Sru3telVA/SceFRgAAAAAAAAAAIDSYCFuAAAAAAAAAABgBIoWAAAAAAAAAADACBQtAAAAAAAAAACAEShaAAAAAAAAAAAAI1C0AAAAAAAAAAAARqBoAQAAAAAAAAAAjEDRAgAAAAAAAAAAGIGiBQAAAAAAAAAAMAJFCwAAAAAAAAAAYASKFgAAAAAAAAAAwAgULQAAAAAAAAAAgBEoWgAAAAAAAAAAACNQtAAAAAAAAAAAAEagaAEAAAAAAAAAAIxA0QIAAAAAAAAAABiBogUAAAAAAAAAADACRQsAAAAAAAAAAGAEihaWmTVrljRt2lQqVqwo55xzjqxbt87tQwIAAAAAAAAAICYoWlhkwYIFMn78eJk8ebJs3LhROnToIH379pVDhw65fWgAXPTee+/JgAEDpEGDBhIIBGTRokW/+DGrVq2STp06SUpKirRo0UKeffbZcjlWAP5BNgEwFfkEwERkEwATvedSNlG0sMi0adNk5MiRkpaWJm3btpXZs2dL5cqVZc6cOW4fGgAXZWRk6CKmGolVErt375b+/fvL+eefL5s2bZKxY8fKiBEjZPny5XE/VgD+QTYBMBX5BMBEZBMAE2W4lE0Bx3GcKI8Z5Sg7O1sXKF555RUZOHBg/v7hw4fLDz/8IIsXL3b1+ACYQVW9Fy5cGJYThd16663y5ptvypYtW/L3XX755TpLli1bVk5HCsBPyCYApiKfAJiIbALg92xipIUlDh8+LMFgUOrWrRu2Xz0+ePCga8cFID6ysrLkxx9/DNvUvlhYu3at9O7dO2yfmmpO7QeAkyGbAPgtmxTyCUC0OHcCYKIsC7IpKSZHAyOpH7bCP3AVvlfzif1cq+rboIMLRwZ414rQy6X+mNDB04vsmzr7CrnrrrvC9qn1bO68804pK1XojFQAVW9Sx48fl0qVKkk8kU1A+SObYpNNCvkEuJtNkfIpntlkSz6RTYB52aT4/dyJbAJia4WPrusYaWGJWrVqSWJionz99ddh+9XjevXqRfyYqVOnSmpqath2/6Pfl9MRAyipLCenyJaeni5HjhwJ29Q+LyCbADuQTWQTYCo/ZZNCPgF24NyJbAJMlGVpNjHSwhLJycnSuXNnWblyZf68YaFQSD++/vrrI36M+mEbP3582L7fp14lfacl5j9e/t9Pi3wclXCgfOU4wSL7qqekSEpKSlw+nyp0RiqAVq9ePe534yhkE2AHsqloNkXKJ7IJcD+f4plNtuQT506A+zh3IpsAE+VYmk0ULSyi3gzUwttdunSRrl27yvTp0/UK7mlpaRFfnxLhBzAhEH7hDcB9WVL0DSSeunXrJkuWLAnbt2LFCr2/PJBNgB3IJrIJMBX5RD4BJiKbyCbARFmWZhNFC4sMHjxYvvnmG5k0aZKeH6xjx4561fXC84SVRqQKN3cQAuUr0wmV6eOPHj0qO3bsyH+8e/du2bRpk9SoUUMaN26s74DZv3+/PPfcc/r50aNHy8yZM+WWW26Rq6++Wt555x156aWX5M033xRTkE2A+8imyApnD3cQAuWPfCqKcyfAfWRTUWQT4L5MS7OJooVl1FRQxU0HBcBOmU6gTB+/fv16Of/88/Mf5w3RVSOznn32WTlw4IDs3bs3//lmzZrpN4tx48bJjBkzpGHDhvLUU09J3759y3QcALyFbAJgKvIJgInIJgAmyrQ0mwKO4zhlOnJY5cKEP5b6Y6iCAyW3IvRyqT/mi32nFtnXttF+8ZNYZJNCPgGRkU3ll00K505A/LIpUj75LZsUrusA87PJj/nEdR0QXyt8dF3HSAsAcFmmw7yfAMxDNgEwFfkEwERkEwATZVqaTRQt8IuYuxmIr0yHKI4G86MC8UU2xe/ciWwCyoZ8ig7XdUB8kU3R4boOiK9MS7PJzqMGAA/JsfQNBIC3kU0ATEU+ATAR2QTARDmWZpOdRw1XUQUHYsvWqreJuIMQiB2yKXbIJiC2yKfY4LoOiC2yKXY4dwJix9ZssvOoAcBDMp1ktw8BAIogmwCYinwCYCKyCYCJMi3NJooWiAmq4ED0si1dFMkG3EEIRI9sih+yCSgb8il+uK4Dokc2xQ/nToD/sinB7QNAyf30008yduxYadKkiVSqVEm6d+8uH3/8sduHBaCMMkMVimwA4DayCYCpyCYAJuLcCYCJMi3NJkZaWGTEiBGyZcsWef7556VBgwbywgsvSO/eveWLL76QU089VUxCFRwouSzHjjcMv9xBSDYBJ5BN5Yu7m4GSI5/KD9d1QMmRTeWL6zrA29nESAtLHD9+XP71r3/J3//+dznvvPOkRYsWcuedd+r/P/bYY24fHoAyyHaSimwA4DayCYCpyCYAJuLcCYCJsi3NJjuOEpKbmyvBYFAqVqwYtl9NE/X++++LDbiDEIgsy5KheV5FNgGRkU3u4u5moHjkk7u4uxmIjGxyF9d1gLeyiaKFJapVqybdunWTe+65R9q0aSN169aVf/7zn7J27Vo92gKAvTItqXID8BeyCYCpyCcAJiKbAJgo09JssvOofUqtZXH11Vfr9SsSExOlU6dOMmTIENmwYUPE12dlZemtoJATlISAGavGcwchcEJOyF9RTDYBdiCbzMomhTsIgRPIJ7PyiWwCTiCbzM4mhes6+FGOpdnEmhYWad68uaxevVqOHj0q+/btk3Xr1klOTo6cdtppEV8/depUSU1NDdt2y9ZyP24AJ5cVSiqyeRnZBNiBbCKbAFP5KZsU8gmwA+dOZBNgoixLsyngOI7j9kEgOt9//700a9ZML849atSoElW9f596lTFV75KgCg7brAi9XOqP+cung4vse7DDAvEqL2aTQj7BZGSTP7JJ4dwJXs+mSPnk5WzySj6RTfBjNnk9n7yYTQr5BJOt8NF1nR2lFWjLly8XVWNq1aqV7NixQyZMmCCtW7eWtLS0iK9PSUnRW0E2vXkAfpET8tegN7IJsAPZRDYBpiKfyCfARGQT2QSYKMfSbKJoYZEjR45Ienq6/Oc//5EaNWrIoEGDZMqUKVKhgp2rwJcE86PCD2wZmoefMT8q/IBs8ua5E9kELyCf7MN1HfyAbLIP13XwgyxLs8nOo/apyy67TG8AvMXWNxAA3kY2ATAV+QTARGQTABNlWZpNdh41fIsqOLwo29I3EITjDkJ4DdnkDWQTvIh8sh/XdfAisskbGLUKr8m2NJvsPGoA8JDcEPN+AjAP2QTAVOQTABORTQBMlGtpNlG0gPW4gxC2y7b0DQQnxx2EsB3Z5E1kE7yAfPImrutgO7LJm8gm2C7b0myiaAEALssO2vkGAsDbyCYApiKfAJiIbAJgomxLs4miBTyHOwhhm1wnwe1DQDlhflTYhGzyD+4ghG3IJ3/gug62IZv8gWyCbXItzSaKFvAFLsZhMlur3ig7sgkmI5v8i4txmI588i9uAIHJyCb/4roOJsu2NJvsLLV40HvvvScDBgyQBg0aSCAQkEWLFoU9f/ToUbn++uulYcOGUqlSJWnbtq3Mnj3bteMFEDs5ocQiGwC4jWwCYCqyCYCJOHcCYKIcS7OJkRaGyMjIkA4dOsjVV18tl156aZHnx48fL++884688MIL0rRpU3nrrbfkuuuu00WOiy++2JVjthl3EMIkwRD1Y5xANsEkZBMK4g5CmIR8Qh6yCSYhm5CH6zqYJGhpNlG0MES/fv30Vpw1a9bI8OHDpVevXvrxqFGj5PHHH5d169ZRtAAslxu08w0EgLeRTQBMRT4BMBHZBMBEuZZmE0ULS3Tv3l1ee+01PRJDja5YtWqVbN++XR5++GG3D80zmB8VbrFlaB7cwR2EcAvZhJPhDkK4iXxCccgmuIlswslwXQe35FiaTRQtLPHoo4/q0RVqTYukpCRJSEiQJ598Us477zy3Dw1AGYVCAbcPAQCKIJsAmIp8AmAisgmAiUKWZhNFC4uKFh9++KEebdGkSRO9cPeYMWP0qIvevXtH/JisrCy9FRRygpIQsLPCVt6ogqO82DpUL1pkU9lwByHKC9lENpUWo1ZRXsgn8qk0uK5DeSGbyKbS4LoO5SXX0myy86h95vjx43LbbbfJtGnTZMCAAdK+fXu5/vrrZfDgwfLggw8W+3FTp06V1NTUsG23bC3XYwdQskWRCm9eRjYBdiCbyCbAVH7KJoV8AuzAuRPZBJgoaGk2MdLCAjk5OXpTU0IVlJiYKKFQqNiPS09Pl/Hjx4ft+33qVXE7Tq+jCo54cSwdqhctsin2uIMQ8UA2kU1lRTYhXsgn8qksuK5DvJBNZFNZMWoV8eBYmk0ULQxx9OhR2bFjR/7j3bt3y6ZNm6RGjRrSuHFj6dmzp0yYMEEqVaqkp4davXq1PPfcc3r0RXFSUlL0VhDD9ADzBC0dqhctsgmwA9lENgGmIp/IJ8BEZBPZBJgoaGk2UbQwxPr16+X888/Pf5xXrR4+fLg8++yzMn/+fF3FHjp0qHz33Xe6cDFlyhQZPXq0i0cN7iBELDhBO6veMBd3ECIWyCbEGtmEWCGfEGtc1yEWyCbEGtkEP2cTRQtD9OrVSxzHKfb5evXqyTPPPFOuxwSgfNg6VA+At5FNAExFPgEwEdkEwESOpdlE0QKIIe4gRDQcSxZBgt2YHxWlRTahPHAHIaJBPiHeuK5DNMgmxBvZBD9lU4JNIxHGjh0rJvjnP/+pF8EeM2aM24cCwAvUUL3CGwC4jWwCYCqyCYCJOHcCYKKgndlkTdGiJNT0Srm5uXH/PE8//bTccsstuniRmZkZ988Hu6kqd8FNVcELb/A3Nb9g4a20Zs2aJU2bNpWKFSvKOeecI+vWrSv2tWqdnEAgELapj4O/kE0oj2xSyCeUJZsi5RNANsENZBN+Cdd1cAPXdfDqdZ0VRYurrrpKVq9eLTNmzMj/Qvfs2SOrVq3S/166dKl07txZUlJS5P3339evHzhwYFgbapSGGq2RJxQKydSpU6VZs2ZSqVIl6dChg7zyyiu/eCy7d++WNWvWyMSJE+X000+XV199NS5fMwD/CISKbqWxYMECGT9+vEyePFk2btyo86xv375y6NChYj+mevXqcuDAgfztq6++KvsXAsBTyppNCvkEIB7IJgAm4roOgIkCll7XWbGmhSpWbN++Xdq1ayd333233le7dm1duFBUAeHBBx+U0047TU455ZQStakKFi+88ILMnj1bWrZsKe+995786U9/0u327Nmz2I9Ti2H3799fUlNT9evVqIsrrrgiRl8p/IA5CFFEGYfmTZs2TUaOHClpaWn6scq1N998U+bMmaPzMRJV8K1Xr16ZPi+8hWxCETEYNkw+IRZY9wJFcO4EA5BNKIJsggG4roNXruusGGmhCgTJyclSuXJl/cWqTa0pkUcVMi688EJp3ry51KhR4xfby8rKkvvuu09/Y1VVSBU71OgMVYR4/PHHi/04NTpDDW9Rr1Muv/xyPbJDjb4AgGgFgoEiW0llZ2fLhg0bpHfv3vn7EhIS9OO1a9cW+3FHjx6VJk2aSKNGjeSSSy6Rzz//vMxfBwBvKUs2KeQTgHghmwCYiOs6ACYKWHpdZ8VIi1/SpUuXUr1+x44dcuzYMV3oKNwJZ511VrEft2LFCsnIyJDf/va3+nGtWrV0G6r4cc8990R59MAv36VDFdzjnMjFVbUVpKbAU1tBhw8flmAwKHXr1g3brx5v3bo14qdr1aqVzq327dvLkSNH9Ei17t276zeQhg0bxuIrgkdwB6HPlSGbFPIJ8cIdhCicT2QTTEA2ges6mIrrOp9ziu6y4dzJipEWv6RKlSphj1W1Ry3KXVBOTk5YpUdRw1g2bdqUv33xxRcnXddCTQX13Xff6TUwkpKS9LZkyRKZO3euHoVRFmq6qrPPPluqVasmderU0WtybNu2Lf95NRVW4QVM8raXX365TJ8bgHlVb5UJapRZwU3ti4Vu3brJsGHDpGPHjno6PLU2j5oa72QjzQD4T3lnk0I+ASgJsgmAibiuA2CigKXXddaMtFDTQ6mqTkmob8KWLVvC9qmiRIUKFfS/27ZtqytHe/fuPen6FQV9++23snjxYpk/f76cccYZ+fvVMfXo0UPeeustueiiiyRaaqHxMWPG6MJFbm6u3HbbbdKnTx9dSFFFGTWURi1aUtATTzwhDzzwgPTr11dAhmoAAB1RSURBVC/qzwszUQX3l0CEaEtPT9eLHBUUqeKtRnyp6fK+/vrrsP3qcUnnDlTZqEaZqVFowMlwB6G/lCWbFPIJ5YlRq/7OJ7IJpuK6zl+4roMtuK7zl4Cl13XWjLRo2rSpfPTRR3rEgRqWcrKRDb/5zW9k/fr18txzz8mXX36pVzYvWMRQoxn+8pe/yLhx4/QoiZ07d+qVzx999FH9OJLnn39eatasKZdddpleEDxvU6ulq+mi1CiMsli2bJleV0MVRFSbau0MVVRRc4Yp6ocjbz2PvG3hwoX6eKpWrVqmzw3AXYFQ0U29WVSvXj1si/QGogq6nTt3lpUrV+bvU/moHqvKdkmo4uvmzZulfv36Mf26APg3mxTyCUC8kE0ATMR1HQATBSy9rrNmpIUqMgwfPlyPkjh+/PhJF79Wi2vfcccdcsstt0hmZqZcffXVekiK+ubkUWtQqBEZaujLrl275Fe/+pV06tRJj3CIRM3D9fvf/15Px1TYoEGD5Morr9TFFFV9igU135dS3MLiqpihRo/MmjUrJp8PZqMK7m2lXQSpMFUdV/mo1vfp2rWrTJ8+Xa+/k5aWpp9X+XfqqafmD/W7++675dxzz5UWLVrIDz/8oEdsffXVVzJixIiYfD3wF+4g9K6yZpNCPsEtZJO3ce4EW3Fd521kE2zGqFXvClh6XWdN0eL0008vsiK5Gn1ReO2KPHfddZfeiqOKDzfddJPeSuKzzz4r9jk12kFtsaKqVWPHjpVf//rXejRHJGpkR5s2bfQiJgC8N1SvNAYPHizffPONTJo0SQ4ePKjnDFSjt/IWSVKjttRaP3m+//57GTlypH7tKaecoivma9as0UVhAIhVNinkE4B44NwJgInIJgAmClh6XRdwivurP1xz7bXXytKlS+X999+PuKK6GmmihtOo0SQ333xzse1EWgn+96lXSUIgMS7HDXdxB6EZVoReLvXHtLrn4SL7tt0xTryKbPIf7tJxH9n0y8gm/yGb7MymSPnk5WxSyCd/4brOO9nk9Xwim/yFbDLDCh9d11mzpoVfXH/99fLGG2/Iu+++G7Fgobzyyity7NgxPfTmZCKtBL9btsbpyAHEcn5BLyObADuQTWQTYCo/ZZNCPgF24NyJbAJMFLA0mxhpYQjVDTfccINeXHvVqlXSsmXLYl/bq1cvvXaGKl6cDFVvcAehHVXvNpOKVr3/fbf5Ve9okU0gm8of2fTLyCZwB6E9dzMXzicvZ5NCPoFzJzuzyev5RDaBbCp/K3x0XWfNmhZeN2bMGJk3b54sXrxYqlWrpuf8UlSlulKlSvmv27Fjh7z33nuyZMmSX2xTrfpeeOV33jwA89hS5Y4VsgmwA9lENgGmIp/IJ8BEZBPZBJgoYGk2UbQwxGOPPZY/iqKgZ555Rq666qr8x3PmzNHTRvXp06fcjxH2KVzlpgru3UWRAC9lU6TXoPyRTfCbSLnDuZOZyCf4Ddd1diCb4Ddc19khYGk2UbQwREln6brvvvv0BsA7bH0DAeBtZBMAU5FPAExENgEwUcDSbKJoAfgIVXAz2TpUD4gV7m42E9kEcO5kKvIJfkc2mYlsgt9xXWemgKXZRNECAFxm6xsIAG8jmwCYinwCYCKyCYCJApZmE0ULwMeogpvB1qF6QDxxB6H7yCagKM6dzEA+AeHIJjOQTUBRXNe5L2BpNlG0AACX2foGAsDbyCYApiKfAJiIbAJgooCl2UTRAkAYquDlz9ahekB54g7C8kc2AbE5dyKbYo98An4Z13Xlj2wCfhnXdeUvYGk2UbQAAJfZWvUG4G1kEwBTkU8ATEQ2ATBRwNJsomhhgMcee0xve/bs0Y/POOMMmTRpkvTr1y//NWvXrpXbb79dPvroI0lMTJSOHTvK8uXLpVKlSi4eOfyAKnj8JQQdtw8BsBJ3N8cX2QREh7ub4498AkqP67r4I5uA6HBdF18JlmYTRQsDNGzYUO6//35p2bKlOI4jc+fOlUsuuUQ++eQTXcBQBYuLLrpI0tPT5dFHH5WkpCT59NNPJSEhwe1Dh09xMR5btg7VA0xDNsUW2QTEBn8ojD3yCYgNzp1ii2wCYoNsii1bs4mihQEGDBgQ9njKlCl65MWHH36oixbjxo2TG2+8USZOnJj/mlatWrlwpADiwdahegC8jWwCYCryCYCJyCYAJgpYmk0ULQwTDAbl5ZdfloyMDOnWrZscOnRITwk1dOhQ6d69u+zcuVNat26tCxs9evRw+3ABjTsIyybB0jcQwHRkU9mQTUD8cAdh2ZBPQHxw7lQ2ZBMQH2STP7OJ+YUMsXnzZqlataqkpKTI6NGjZeHChdK2bVvZtWuXfv7OO++UkSNHyrJly6RTp05ywQUXyJdffun2YQOIgUDIKbIBgNvIJgCmIpsAmIhzJwAmCliaTYy0MISa7mnTpk1y5MgReeWVV2T48OGyevVqCYVOTDx2zTXXSFpamv73WWedJStXrpQ5c+bI1KlTi20zKytLbwWFnKAkBBLj/NUALKRUGoFc8RWyCW7i7uaSI5vIJpQf7iAsHfKJfEL54bqu5Mgmsgnlh+s672cTIy0MkZycLC1atJDOnTvrQkSHDh1kxowZUr9+ff28GnVRUJs2bWTv3r0nbVO1k5qaGrbtlq1x/ToAlF5C0CmyeRnZBNiBbCKbAFP5KZsU8gmwA+dOZBNgogRLs4mRFoZSIyxUxbpp06bSoEED2bZtW9jz27dvl379+p20jfT0dBk/fnzYvt+nXhWX4wV+CVXw4gVODKjyDbIJJuHu5uKRTWQT3MXdzcUjn8gnuIfruuKRTWQT3MN1nfeyiaKFIUGvChCNGzeWn376SebNmyerVq2S5cuXSyAQkAkTJsjkyZP16IuOHTvK3LlzZevWrXoaqZNR62OorSCG6QHmCVhS5Y4VsgmwA9lENgGmIp/IJ8BEZBPZBJgoYGk2UbQwwKFDh2TYsGFy4MABPZyuffv2umBx4YUX6ufHjh0rmZmZMm7cOPnuu+908WLFihXSvHlztw8diBpV8J8Fcu18AwG8ijsITyCbALOQTT8jnwBzcF33M7IJMAvnTnZnE0ULAzz99NO/+JqJEyfqDYD3BEJ2voEA8DayCYCpyCcAJiKbAJgoYGk2UbQAYAy/VsFtWQQJ8Cu/3kFINgFm82s2KeQTYDau6wCYyK/nTgmWZhNFCwBwma1D9QB4G9kEwFTkEwATkU0ATBSwNJsoWgAwll+q4LYO1QP87JfuICSbALjBL3c3k0+AXbiuA2AqruvMRdECAFwWyA25fQgAUATZBMBU5BMAE5FNAEwUsDSbKFoAsIoX7yAMBO18AwHwM7IJgIm8encz+QTYz4t3N5NNgP24rjMHRQsAcJmtVW8A3kY2ATAV+QTARGQTABMFLM0mihYArOaJOwiDds4vCKB4ZBMAU3niDkLyCfAcsgmAibiuc0+Ci58bxbj//vslEAjI2LFj8/f16tVL7yu4jR492tXjBBAbgWCwyAYAbiObAJiKbAJgIs6dAJgoYGk2MdLCMB9//LE8/vjj0r59+yLPjRw5Uu6+++78x5UrVy7nowPsYNv8qLYO1QPg7TsIySbAH2y8g5B8AryPbAJgKq7rygcjLQxy9OhRGTp0qDz55JNyyimnFHleFSnq1auXv1WvXt2V4wQQY2pRpMIbALiNbAJgKrIJgIk4dwJgoqCd2cRIC4OMGTNG+vfvL71795Z77723yPMvvviivPDCC7pgMWDAALnjjjsYbQF4oQpuydA8AD67g5BsAnzL+FGr5BPgS1zXATAR13XxQdHCEPPnz5eNGzfq6aEiueKKK6RJkybSoEED+eyzz+TWW2+Vbdu2yauvvlruxwogxnJz3T4CACiKbAJgKvIJgInIJgAmyrUzmyhaGGDfvn1y0003yYoVK6RixYoRXzNq1Kj8f5955plSv359ueCCC2Tnzp3SvHnziB+TlZWlt4JCTlASAokx/goAuxhXBbdkaF6skE2AJXcQkk1kE2BiNinkE/kEcF3nOrIJsGTUatDObGJNCwNs2LBBDh06JJ06dZKkpCS9rV69Wh555BH972CEYTznnHOO/v+OHTuKbXfq1KmSmpoatu2WrXH9WgBEWfUuvHkY2QRYgmwimwBT+SibFPIJsATnTmQTYKJcO7Mp4DiO4/ZB+N1PP/0kX331Vdi+tLQ0ad26tZ4Gql27dkU+5oMPPpAePXrIp59+Ku3bty9x1fv3qVdR9QZKINo7CFeEXi715+pXe3SRfUu/mS1eRTYBZRPNXTpk0y8jmwA7silSPnk5mxTyCSjf67pYZZPX84lsAqLH35x+GSMtDFCtWjVdmCi4ValSRWrWrKn/raaAuueee/SIjD179shrr70mw4YNk/POO6/YgoWSkpIi1atXD9t48wDM4wSDRbbSmjVrljRt2lRPMadGYq1bt+6kr3/55Zd1YVS9Xk05t2TJEikvZBPgn2yyKZ/IJsAefsomhXwC7MB1HdkEmMix9LqONS0skJycLG+//bZMnz5dMjIypFGjRjJo0CD561//6vahAZ5VrvOjlnFo3oIFC2T8+PEye/Zs/cahsqJv376ybds2qVOnTpHXr1mzRoYMGaKH8/7ud7+TefPmycCBA2Xjxo0RR3YB8On8qDEYNkw+Af5RrutecO4EoIS4rgNgIpuyya18Ynoon7kw4Y9uHwJgrZK8gUQzVK9vpSuLfq7jz5f449Ubxtlnny0zZ87Uj0OhkC5u3nDDDTJx4sQirx88eLAugL7xxhv5+84991zp2LGjfgNyA9kEeC+bvJBPZBMQvZIULaKdgqVwPvktmxTyCYjfuVOsskl/Lq7rAJQQ13XhGGkBADG8gzAa0Q7NU7Kzs/XUcenp6fn7EhISpHfv3rJ27dqIH6P2qwp5QapCvmjRoqiPA4B7TMwmhXwC/K0kdxBGi3MnAF47dyKbAJiYTW7mE0ULAHCZk5tTokXN1Jyhaivo8OHDEgwGpW7dumH71eOtW7dG/HwHDx6M+Hq1HwBikU0K+QSgvPKJbAJgAq7rAJjIsfW6Tk0PBX/JzMx0Jk+erP9Pu/a0G8+2aTe+7UZDHYeK6IKb2lfY/v379XNr1qwJ2z9hwgSna9euEduuUKGCM2/evLB9s2bNcurUqeO4ycZ+te2YaZd2yyubFPKJdmnXjHb9kE9kkx39SrvxbTeebdNu9Liu82+78WybdmnXD+dOFC186MiRI/qHTf2fdu1pN55t0258242GehNTx1Fwi/TGlpWV5SQmJjoLFy4M2z9s2DDn4osvjth2o0aNnIcffjhs36RJk5z27ds7brKxX207Ztql3fLKJoV8ol3aNaNdP+QT2WRHv9JufNuNZ9u0Gz2u6/zbbjzbpl3a9cO5U0LJx2QAAMqLGpJXvXr1sC3SML3k5GTp3LmzrFy5Mn+fWhBJPe7WrVvEttX+gq9XVqxYUezrAaC02aSQTwDKC9kEwFRc1wEwUYoF506saQEAllOLGw0fPly6dOkiXbt2lenTp0tGRoakpaXp54cNGyannnqqTJ06VT++6aabpGfPnvLQQw9J//79Zf78+bJ+/Xp54oknXP5KAHgN+QTARGQTABORTQBMNd6FfKJoAQCWGzx4sHzzzTcyadIkvahRx44dZdmyZfmLHu3du1cSEn4eWNe9e3eZN2+e/PWvf5XbbrtNWrZsKYsWLZJ27dq5+FUA8CLyCYCJyCYAJiKbAJhqsBv5VOKJpOAZti0oQ7vxb5t249suvNuvth0z7dIu/NG3tEu75dU2+eQu2/qVduPbbjzbpl14uV/5naRd29v1qoD6TzwqMAAAAAAAAAAAAKXBQtwAAAAAAAAAAMAIFC0AAAAAAAAAAIARKFoAAAAAAAAAAAAjULQAAAAAAAAAAABGSHL7ABB/hw8fljlz5sjatWvl4MGDel+9evWke/fuctVVV0nt2rXdPkQAPkQ2ATAR2QTAVOQTABORTQDiIeA4jhOXlmGEjz/+WPr27SuVK1eW3r17S926dfX+r7/+WlauXCnHjh2T5cuXS5cuXcr0eTIyMuSll16SHTt2SP369WXIkCFSs2ZN8Yt169YVeYPu1q2bdO3aNaafZ/fu3fnf43bt2omflMf32M/f3/JGNpUffnfii++vt5RXNil+zyd+d+KL76/3cO5UPvjdiT++x95CNpUffnfii++vgVTRAt51zjnnOKNGjXJCoVCR59Q+9dy5555b6nbbtGnjfPvtt/rfe/fudZo2beqkpqY6Z599tlOjRg2nTp06zq5du6I+7qysLGfBggXO2LFjncsvv1xv6t8vvfSSfi4W1Nf/zjvvOE888YTz+uuvO9nZ2aVu4+uvv3Z69OjhBAIBp0mTJk7Xrl31pv6t9qnn1Guice211zo//fST/vexY8ecQYMGOQkJCbpd9f/zzz8///lofPTRR8706dOdiRMn6k39W+2LJfUz8NZbbzmbN2+Ouo14fY/j/f3FyZFN8c0mm393yCayyYvZFO98IpvIJtu/v/hlnDvZeV1XHr875BP55CayqXicO5FNZFPZULTwuIoVKzr//ve/i31ePadeU1rqlyzvl3bo0KFO9+7dnR9++EE/Vr90vXv3doYMGRLVMX/55ZfOaaedpo+rZ8+ezmWXXaY39W+1r0WLFvo1pdWvX7/8Y1RvfurNVX0dtWvX1oHRunVr59ChQ6VqU4VOt27dnK1btxZ5Tu1T35c//OEPTjTUMeV9j9PT052GDRvqN7yMjAzn/fffd5o3b66D3+uBHK/vcby+vygZsim+2WTj7w7ZdALZ5M1simc+kU0nkE12fn9Rcpw72XldF8/fHfLpBPLJXWTTzzh3OoFsOoFsKjuKFh6nqtFz584t9nn1nAqOsryBqLBXlc2CPvjgA6dRo0ZRHLGj33wuueQS58iRI0WeU/vUc3369CnTMauwa9u2bX5lft++fU7nzp2d0aNHl6rNqlWrOhs3biz2+fXr1+vXRKPg8bZr186ZN29e2POLFy92Tj/9dM8Hcry+x/H6/qJkyKb4ZpONvztk0wlkkzezKZ75RDYVPV6yyZ7vL0qOcyc7r+vi+btDPp1APrmLbIp8zJw7kU1kU9lRtPC4mTNnOikpKc6NN96ofyE+/PBDval/q32VKlVyZs2aFdUvX16FuEGDBkWGYu3ZsyfqOxHVMZ1saNdnn32mX1OWwGjVqpX+HhT09ttvO82aNStVmzVr1nRWrVpV7PPvvvuufk00Cn6Pa9Wq5WzZsqXI9zia74NtgRyv73G8vr8oGbIpvtlk4+8O2fTz8ZJN3sumeOYT2fTz8ZJN9n1/UXKcO9l5XRfP3x3y6efjJZ/cQzb9jHOnE8imn4+XbCqbJLfX1EB8jRkzRmrVqiUPP/yw/OMf/5BgMKj3JyYmSufOneXZZ5+Vyy67LKq2L7jgAklKSpIff/xRtm3bFraIzFdffRX1oki/+tWvZM+ePcUuSqOeU6+JRiAQ0P///vvvpXnz5mHPtWjRQv773/+Wqr3BgwfL8OHD9fdXfT+qV6+u96vviVp0avz48XqBqGjdcccdekGrhIQEfWxnnHFG/nPffvutVKlSpdRtpqSk6OMrzk8//aRfU5bvr1q4qH379mHPdejQQfbt21fqNuP5PY7H9xclQzbFN5ts/N0hm35GNnkzm+KVT2TTz8gm+76/KDnOney9rovX7w759DPyyT1kUzjOncimgsimsqFo4QPqF1BtOTk5cvjwYb1PvalUqFAh6jYnT54c9rhq1aphj19//XX5f//v/0XV9ogRI2TYsGH6l1sFRt26dfX+r7/+WgfGvffeKzfccENUbV911VU6HNX3Yvfu3WGBoUKvtG9M06ZNk1AoJJdffrnk5uZKcnKy3p+dna3fXP/85z/Lgw8+GNWxnnfeefqNWWnbtq1+Uy5oyZIlYcfv1UAu7nuclZWlf4aj/R7H6/uLkiOb4pdN8cwnsukEssm74pFN8cwnsukEsukEssnbOHey77ounr875NMJ5JP7yKafce5ENuUhm8ouoIZbxKAdIKb+9re/yYwZM3So51VS1Y9qvXr1ZOzYsXLLLbeUus20tLSwx/369Qur+Ks2P/vsM1m2bFmp21bhu2HDBn28ijpOdVdBXjjHw65du3SYNmzYsFQfp4JXfQ/nzJlT7BueenMpbeW7V69e+X2lDB06VJ8M5FFv/G+//basWrVKoqG+x+vXr9cnEoo6sejSpUvMv8fq50x9HdF+f+FttmWTG/lENpFNKH9k0y8jm8gmuMO2fLIlmxTy6eTIJ3gpm2zKJ7Lp5MimkqNoAaOpynTBQG7WrFncPldGRoYewlixYkXxA1ve8Iqj2vr000+lTZs2MWkv3u3CW8im+CGbyrddeAvZFD9kU/m2C+8hn+KHfCrfduEtZFP8kE3l264XUbSAddQcdWqooKramtDu8ePHdRDXqFFDD/kqKDMzU1566SU99DAa8Wr73//+t3z44YfSrVs3ad26tWzdulXfZaAq4n/605/kN7/5TVTHm9du9+7dpVWrVjFpVw0djES1q9rMm8dSDekzoV34l2nZFM8MIZvIJtiDbCp7u2QT2QR/5JNt2aSQT+QTvJ9NNuYT2UQ2xUQZF/IGyt2mTZuchIQEI9rdtm2b06RJEycQCOiPPe+885z9+/fnP3/w4MGojzVS2//973/L3PbSpUud5ORkp0aNGk7FihX149q1azu9e/d2fvOb3ziJiYnOypUrjWlXff0dO3Z0evXqFbap/Weffbb+9/nnn29Mu/Avk7IpnvlENp1ANsEWZFPZ2iWb4tsu/M2kfLItmxTyKb7twr9MyiYb84lsim+7fsJICxjntdde+8UhXzfffLMEg0HX2/3973+vF1h69tln5YcfftDz9n3xxRd6Dr3GjRvrufAaNGhQ6mONZ9uqIq2qz2q+v/nz58t1110n1157rUyZMkU/n56erivtb731lhHt3n///fLEE0/IU089FVY1VwsiqSF1he8GcLtdeJdN2RTPDCGbTiCbYAqyKb7tkk3xbRfeZlM+2ZZNCvkU33bhXTZlk435RDbFt11fcbtqAhSWV+VV/y9ui6baG49269Sp43z22Wf5j0OhkDN69GincePGzs6dO8t050y82q5evbrz5Zdf6n8Hg0EnKSnJ2bhxY/7zmzdvdurWrWtMu8q6deuc008/3bn55pud7OxsvU+1//nnn0fVXrzbhTfZlE3xzBCy6WdkE0xANsW3XbIp/u3Cu2zKJ9uySSGf4t8uvMmmbLIxn8im+LfrFwluF02AwurXry+vvvqqhEKhiNvGjRuNaVfN/5eUlJT/OBAIyGOPPSYDBgyQnj17yvbt26M61ni3rdpSEhIS9CJQqamp+c9Vq1ZNjhw5YlS7Z599tq6Yf/PNN9KlSxfZsmVL/ucqi3i1C2+yKZvimSFk08/IJpiAbIpvu3ltKWQT2QTv5pON2ZTXnkI+kU/wZjbZmk9kU3zb9QuKFjBO586d9S91cdQveDSzmsWjXbWg0Pr164vsnzlzplxyySVy8cUXl/o4491206ZN5csvv8x/vHbtWj30L8/evXv1m60p7eapWrWqzJ07Vw/56927d1RDqMuzXXiPTdkUzwwhm8KRTXAb2RTfdsmm8mkX3mRTPtmWTQr5VD7twntsyiYb84lsKp92/YCiBYwzYcIEPVddcVq0aCHvvvuuEe2qOQD/+c9/RnxOBf2QIUOielOKZ9tqzr+CIdmuXbuw6vrSpUvD5ttzu93CLr/8cv3Gqu5gaNKkSZnbi3e78A6bsimeGUI2RUY2wS1kU3zbJZvKt114i035ZFs2KeRT+bYL77Apm2zMJ7KpfNv1MhbiBgAAAAAAAAAARmCkBQAAAAAAAAAAMAJFCwAAAAAAAAAAYASKFgAAAAAAAAAAwAgULQAAAAAAAAAAgBEoWgAAAAAAAAAAACNQtAAAAAAAAAAAAEagaAEAAAAAAAAAAIxA0QIAAAAAAAAAAIgJ/j9lsHgGdIw2ogAAAABJRU5ErkJggg==\",\n      \"text/plain\": [\n       \"<Figure size 1600x800 with 60 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"n_batches_to_show = min(5, agents[0].A[0].shape[0])\\n\",\n    \"num_rows = len(agents) + 1\\n\",\n    \"row_labels = []\\n\",\n    \"for agent in agents:\\n\",\n    \"    alpha_value = float(agent.alpha.mean(0).squeeze())\\n\",\n    \"    row_labels.append(f'alpha={alpha_value:.2f}')\\n\",\n    \"\\n\",\n    \"fig, axes = plt.subplots(num_rows, n_batches_to_show, figsize=(16, 8), sharex=True, sharey=True)\\n\",\n    \"\\n\",\n    \"for i in range(n_batches_to_show):\\n\",\n    \"    for j, agent in enumerate(agents):\\n\",\n    \"        sns.heatmap(agent.A[0][i], ax=axes[j, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    sns.heatmap(env.A[0], ax=axes[-1, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    axes[0, i].set_title(f'batch={i + 1}')\\n\",\n    \"\\n\",\n    \"for j, label in enumerate(row_labels):\\n\",\n    \"    axes[j, 0].set_ylabel(label, rotation=25, labelpad=60, ha='left', va='center')\\n\",\n    \"axes[-1, 0].set_ylabel('true A', rotation=0, labelpad=40, ha='left', va='center')\\n\",\n    \"\\n\",\n    \"fig.tight_layout()\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualize the B tensor (just the expected value of the posterior which in absence of learning is same as the prior) alongside the true environmental parameters after training\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 1600x800 with 48 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"num_actions = env.B[0].shape[-1]\\n\",\n    \"base_labels = [\\\"Up\\\", \\\"Right\\\", \\\"Down\\\", \\\"Left\\\", \\\"Stay\\\"]\\n\",\n    \"action_labels = base_labels[:num_actions]\\n\",\n    \"\\n\",\n    \"row_labels = []\\n\",\n    \"for agent in agents:\\n\",\n    \"    alpha_value = float(agent.alpha.mean(0).squeeze())\\n\",\n    \"    row_labels.append(f'alpha={alpha_value:.2f}')\\n\",\n    \"\\n\",\n    \"fig, axes = plt.subplots(len(agents)+1, num_actions, figsize=(16, 8), sharex=True, sharey=True)\\n\",\n    \"\\n\",\n    \"for i in range(num_actions):\\n\",\n    \"    for j, agent in enumerate(agents):\\n\",\n    \"        sns.heatmap(agent.B[0][0, ..., i], ax=axes[j, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    sns.heatmap(env.B[0][..., i], ax=axes[-1, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    axes[0, i].set_title(action_labels[i])\\n\",\n    \"\\n\",\n    \"for j, label in enumerate(row_labels):\\n\",\n    \"    axes[j, 0].set_ylabel(label, rotation=25, labelpad=60, ha='left', va='center')\\n\",\n    \"axes[-1, 0].set_ylabel('true B', rotation=0, labelpad=40, ha='left', va='center')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"fig.tight_layout()\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Here, once again the agents have to learn the A matrix, but now have an informative prior over the B matrix: we fix it to the expected transition distribution under a flat prior over actions, i.e. the agent knows generally that motion on the grid is restricted to the locality, but have no sense of how particular actions relate to particular transitions.\\n\",\n    \"#### We use a flat prior over initial hidden states\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"C = [jnp.zeros(num_obs[0])]\\n\",\n    \"pA = [jnp.ones_like(env.A[0]) / num_obs[0]]\\n\",\n    \"_A = jtu.tree_map(lambda a: dirichlet_expected_value(a), pA)\\n\",\n    \"B_collapsed_actions = jnp.clip(env.B[0].sum(-1), max=1)\\n\",\n    \"pB = [jnp.expand_dims(B_collapsed_actions, -1) + jnp.ones_like(env.B[0]) / num_states[0]]\\n\",\n    \"_B = jtu.tree_map(lambda b: dirichlet_expected_value(b), pB)\\n\",\n    \"\\n\",\n    \"agents = []\\n\",\n    \"for i in range(5):\\n\",\n    \"    agents.append( \\n\",\n    \"        Agent(\\n\",\n    \"            _A,\\n\",\n    \"            _B,\\n\",\n    \"            C,\\n\",\n    \"            _D,\\n\",\n    \"            E=None,\\n\",\n    \"            pA=pA,\\n\",\n    \"            pB=pB,\\n\",\n    \"            policy_len=3,\\n\",\n    \"            use_utility=False,\\n\",\n    \"            use_states_info_gain=True,\\n\",\n    \"            use_param_info_gain=True,\\n\",\n    \"            gamma=jnp.ones(batch_size),\\n\",\n    \"            alpha=jnp.ones(batch_size) * i * .2,\\n\",\n    \"            categorical_obs=False,\\n\",\n    \"            action_selection=\\\"stochastic\\\",\\n\",\n    \"            inference_algo=\\\"exact\\\",\\n\",\n    \"            num_iter=1,\\n\",\n    \"            learn_A=True,\\n\",\n    \"            learn_B=False,\\n\",\n    \"            learn_D=False,\\n\",\n    \"            batch_size=batch_size,\\n\",\n    \"            learning_mode=\\\"offline\\\",\\n\",\n    \"        )\\n\",\n    \"    )\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Run multiple blocks of active inference on grid world for each batch of agents that was initialized different `alpha` values. \\n\",\n    \"\\n\",\n    \"#### Since the agents are using offline learning (`learning_mode = \\\"offline\\\"`), this means that parameter updates to the A matrix are performed at the end of each block.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"pA_ground_truth = 1e4 * env.A[0] + 1e-4\\n\",\n    \"pB_ground_truth = 1e4 * env.B[0] + 1e-4\\n\",\n    \"num_timesteps = 50\\n\",\n    \"num_blocks = 100\\n\",\n    \"key = jr.PRNGKey(0)\\n\",\n    \"block_and_batch_keys = jr.split(key, num_blocks * (batch_size+1)).reshape((num_blocks, batch_size+1, -1))\\n\",\n    \"\\n\",\n    \"divs1 = {i: [] for i in range(len(agents))}\\n\",\n    \"divs2 = {i: [] for i in range(len(agents))}\\n\",\n    \"for block in range(num_blocks):\\n\",\n    \"    block_keys = block_and_batch_keys[block]\\n\",\n    \"    for i, agent in enumerate(agents):\\n\",\n    \"        init_obs, init_states = vmap(env.reset)(block_keys[:-1])\\n\",\n    \"        last, info = jit(rollout, static_argnums=[1,2])(agent, env, num_timesteps, block_keys[-1], initial_carry={\\\"observation\\\": init_obs, \\\"env_state\\\": init_states})\\n\",\n    \"        agents[i] = last['agent']\\n\",\n    \"        divs1[i].append(kl_div_dirichlet(agents[i].pA[0], pA_ground_truth).mean(-1))\\n\",\n    \"        divs2[i].append(kl_div_dirichlet(agents[i].pB[0], pB_ground_truth).sum(-1).mean(-1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Plot the KL divergence between the true parameters and believed parameters over time for the different groups of agents (agents with different levels of action stochasticity)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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RFCeSsbHx6N58+bqyeTYsWNVcO6mm24qts9HREREZcPnn3+Obdu2qdeHDh3C7NmzVbbSo48+qu5XSgrvhYjoXBiUIqJySYJNDocDN9544xlrKXTt2lW1O3r0KFJSUkqkH3LT9+CDD6ohhPKUUGpYyY2hPL0LJU/wnn76aTWccOHCharGgtywnc+NmMxg8+yzz6qipYHZBoXccP7vf//Dfffdhy1btiApKalYPyMRERFFt9Chc3J/1KhRI7zxxhu4//77S/zavBciorPRjIK5lERERERERERERCXMVNIXICIiIiIiIiIiKohBKSIiIiIiIiIiKnUMShERERERERERUaljUIqIiIiIiIiIiEodg1JERERERERERFTqGJQiIiIiIiIiIqJSZyn9S1Zcuq5j3759iI+Ph6Zpke4OERERlSDDMJCdnY3q1avDZOJzQN4HERERVRxGEe+DGJQqRXIjVqtWrUh3g4iIiErR3r17UbNmTVR0vA8iIiKqePae4z6IQalSJE8GA/8oCQkJke4OERERlaCsrCwVhAn8/ld0vA8iIiKqOLKKeB/EoFQpCqSqy40Yb8aIiIgqBg5Vy8f7ICIioopHO8d9EAscEBERERERERFRqWNQioiIiIiIiIiISh2DUkREREREREREVOpYU4qIiOg8+f1+eL3eSHeDIsxqtcJsNpfoNerWrYs9e/actv9vf/sbpk6digMHDmDkyJFYvHixmna5YcOGePzxx9G9e/dg22PHjuHBBx/Ep59+qqZklmMvv/wy4uLigm02btyIIUOGYM2aNahcubJqP2rUqLBrzps3D0888QR2796Niy++GM899xxuuummEv38REREVL4xKEVERFREhmGoIEBGRkaku0JRIikpCVWrVi2xYuYSJJIgaMDmzZtx44034o477lDbvXv3Vn+Pn3zyCVJTUzF79mzceeed+OGHH3DZZZepNvfccw/279+vAlcSTO3Xrx8GDRqk2gZmx+nYsSM6dOiAadOmYdOmTejfv7/6bNJOrFy5EnfddRcmTpyIm2++Wb23W7duWLduHZo2bVoin52IiIjKP82QO2wqFXLTl5iYiMzMTM46Q0RUBsl/2EsAIC0tDTExMZxVrQKT26fc3FwcOnRIBW+qVatWKr/7w4YNw/z587Fjxw719yfZTm+88QZ69eoVbJOSkqKymAYOHIit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e+WE2ZH/T6m7OLU2EREVn2uvvbbQ4XxERERERH8UM6XKCZvNodZejzfSXSEiIiIiIiIiOicGpcoJs8Ou1rqPQSkiIiIiIiIiin4MSpUTDkeMWhs+wMO6UkREREREREQU5RiUKify8rKhewC/z4+8nBOR7g4RERERERERUdkISv3zn/+EpmkYNmxYcJ/L5cKQIUOQkpKCuLg4dO/eHQcPHgx7X3p6Orp27YqYmBikpaVh5MiR8Pl8YW2WL1+OVq1awW63o0GDBpg5c+Zp1586dSrq1q0Lh8OBdu3aYfXq1WHHi9KXSDqyIx26CzD8Oty5OZHuDhERERERERFR9Ael1qxZg3/9619o3rx52P7hw4fj008/xbx587BixQrs27cPt912W/C43+9XASmPx4OVK1di1qxZKuA0bty4YJtdu3apNtdddx02bNiggl4DBw7EokWLgm3mzJmDESNGYPz48Vi3bh1atGiBTp064dChQ0XuS8SZzepf0zB0uPIYlCIiIiIiIiKi6BbxoNSJEydwzz334M0330RycnJwf2ZmJt5++2289NJLuP7669G6dWvMmDFDBZ++++471eaLL77ATz/9hHfffRctW7ZEly5d8PTTT6usJwlUiWnTpqFevXqYNGkSGjdujKFDh+L222/H5MmTg9eSa9x3333o168fmjRpot4jmVfvvPNOkfsSaRZz/j+l4TfgycuNdHeIiIiIiIiIiKI7KCVD4iSTqUOHDmH7165dC6/XG7a/UaNGqF27NlatWqW2Zd2sWTNUqVIl2EYynLKysrBly5Zgm4LnljaBc0jwSq4V2sZkMqntQJui9CXSNItZrQ0/4MploXMiIsJ5D1UvSLKD5fdO2svv7WeffVZqfSUiIiKi8i+iQan3339fDZebOHHiaccOHDgAm82GpKSksP0SgJJjgTahAanA8cCxs7WRwFVeXh6OHDmihgEW1ib0HOfqS2Hcbre6TuhSUkxWMzRNolI6fG4GpYiIKFxRhqqHkmzgu+66CwMGDMD69evRrVs3tWzevLnU+05ERERE5ZMlUhfeu3cvHnroISxevFg9gS2PJNj21FNPlcq1zGbLyZpSkv3FoBQRUUnTdQPHc/OHikdKcowNJpM8kTi30KHqQoaqL1iwQA1Vf/TRR09r//LLL6Nz585qAhEhw+PlN/u1115T7yUiIiIiKrNBKRkSJ09nZVa8AMlY+uqrr9QNrxQil6F1GRkZYRlKMuNd1apV1WtZFxx6EJgRL7RNwVnyZDshIQFOpxNms1kthbUJPce5+lKYMWPGqKfSAZIpVatWLZQEQ/6f34DhBbx57hK5BhERnSIBqdbPfBnRPqwd2wEpcfZztgsMVZffpTMNVS9I9of+hgnJrPr444+LoedERERERBEcvnfDDTdg06ZNaka8wNKmTRtV9Dzw2mq1YsmSJcH3bN++Henp6Wjfvr3alrWcI3TogTzFlYCTFCwPtAk9R6BN4BwyLE8Kl4e20XVdbQfayPFz9aUwdrtd9SV0KSkZuw/DcFth6AZ8XgaliIjolKIMVS/oTMPfzzZsnYiIiIioTGRKxcfHo2nTpmH7YmNjkZKSEtwvdSzkKW2lSpVUQOfBBx9UQaArrrhCHe/YsaMKPvXq1QvPP/+8ulEeO3asKp4uASExePBglXk1atQo9O/fH0uXLsXcuXPVkIUAuUafPn1UIKxt27aYMmUKcnJygkMcEhMTz9mXSNOs8j+qpBR87sgOJyEiIiIiIiIiitqgVFFMnjxZDS/o3r27KhouwwZef/314HEZdjd//nw88MADKkAkQS0JLk2YMCHYpl69eioANXz4cFUfo2bNmnjrrbfUuQJ69OiBw4cPY9y4cSqw1bJlSyxcuDDsCfG5+hJp3kwf4IuDYfPA5/FGujtERBRFUlNTzzlUvaAzDX8/27B1IiIiIqLzoRmGlMam0iA1pSTrKjMzs9iH8r31wGggJw5w5KBam9roOuhvxXp+IqKKzuVyYdeuXephh0zQUdYKnbdr105lA7/66qvBoeq1a9fG0KFDCy10Lg9scnNz8emnnwb3XXnllWjevDkLnZ/l76K0fvfLIn4fREREFUdWEX/3ozpTis6DWf7HAPwaDJ8feTk5cMbGRrpXRETllgSDilJkPFqca6h67969UaNGDTVzrJAZcq+55hpMmjQJXbt2xfvvv48ffvgB06dPj/AnISIiIqLygkGpcsJkBnQt/2m539Dhys1mUIqIiIo8VF0m75Bh6qFZUbNnz1a1Gh977DFcfPHFaua9gvUgiYiIiIguFINS5YDP6wXcGqDbYRguGLoOd25OpLtFRERRRobqyVKY5cuXn7bvjjvuUAsRERERUUk49UiUyiyL1Qpdhu4ZJjX7HvwGXHl5ke4WEREREREREdEZMShVThgeSXqzwjBM0HU/PLm5ke4SEREREREREdEZMShVThiQFCkTpKqUTKjocUd2RigiIiIiIiIiorNhUKq80Iz8tWGG7jfgc7si3SMiIiIiIiIiojNiUKqc0Kx+GDCgyT+pZEp5GJQiIiIiIiIioujFoFQ5oamBewB0E6Dr8Oa5I90lIiIiIiIiIqIzYlCqnDBZ84NShqbB0A34vAxKEREREREREVH0YlCqnDDZ8v8pNZgh1aV8LHRORERERERERFGMQalyQrPmz7wHXYPf64PP4410l4iIiIiIiIiIzohBqXLCareqQucwmQCZfc/LoBQRERERERERRS8GpcoJe4Iz/4Vhgq771Qx8eTk5ke4WERFFkalTp6Ju3bpwOBxo164dVq9efca2b775Jv785z8jOTlZLR06dDitvWEYGDduHKpVqwan06na7NixI6zNsWPHcM899yAhIQFJSUkYMGAATpw4EdZm48aN6lrSr1q1auH5558/rT/z5s1Do0aNVJtmzZrhs88+K/a+bN++Hddddx2qVKmirnPRRRdh7Nix8EbwQY/8e2madtoyZMgQ7N69u9Bjssj3FZCeno6uXbsiJiYGaWlpGDlyJHw+X9h1li9fjlatWsFut6NBgwaYOXPmH/r7ISIiIioKBqXKCWtsrIzdU7Pw+b262ufKzY50t4iIKErMmTMHI0aMwPjx47Fu3Tq0aNECnTp1wqFDhwptL0GKu+66C8uWLcOqVatUsKhjx474/fffg20kePTKK69g2rRp+P777xEbG6vO6XK5gm0kCLRlyxYsXrwY8+fPx1dffYVBgwYFj2dlZanz1qlTB2vXrsULL7yAJ598EtOnTw+2WblypeqLBJHWr1+Pbt26qWXz5s3F2her1YrevXvjiy++UAGqKVOmqOCcfGeRsmbNGuzfvz+4SN/FHXfcof5NQo/J8tRTTyEuLg5dunRR7fx+vwpIeTwe9T3OmjVLBZwkgBewa9cu1UYCchs2bMCwYcMwcOBALFq06IL/foiIiIiKxKBSk5mZKTXI1bq4LfrPO8b0eycZb97zkvHOw6ON+dNeM/bv/qXYr0NEVFHl5eUZP/30k1orfr9hnDgc2UX6UERt27Y1hgwZEtz2+/1G9erVjYkTJxbp/T6fz4iPjzdmzZqltnVdN6pWrWq88MILwTYZGRmG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s7p166qanQWXIUOGhLWT2p5dunRRxz7++OOwY+np6ejatStiYmKQlpaGkSNHwufzhbVZvnw5WrVqBbvdjgYNGmDmzJmn9WXq1KmqPw6HA+3atcPq1atL6FMTERFRRXHew/deffVVvPnmm+jWrRv++c9/Bve3adMGjzzySHH3j4ohU0ox+QC/FzBJefOTdAf8njzkZmZGrH9ERER0ZmvWrAmbRGbz5s248cYbcccdd4S1kweDEpAqSN4rAamqVati5cqV2L9/P3r37g2r1Ypnn302WC9U2gwePBjvvfcelixZgoEDB6JatWro1KmTajNnzhz1UHLatGkqICXXk2Pbt29Xga5IFmWVGhhERERUDL+pEXBBhc4vu+yy0/bLk7WcnJzi6hcVE4vVCpPZDGgG4HcD1tBq+rHwew/Bx2LnREREUaly5cph2/JAsH79+rjmmmuC+zZs2IBJkybhhx9+UIGkUF988QV++uknfPnll6hSpQpatmyJp59+GqNHj8aTTz4Jm82mAk316tVT5xCNGzfGN998g8mTJweDUi+99BLuu+8+9OvXT23LexYsWIB33nkHjz76KCJFZgmKRFFWIiIiitDwPblpkZufghYuXKhuYij6WGxWaCYdJsMTfsAcCxj5T1UP/54emc4RERFRkXg8Hrz77rvo379/MCsqNzcXd999txpaJ9lQBa1atQrNmjVTAakACTRlZWVhy5YtwTYdOnQIe5+0kf2B665duzasjclkUtuBNkRERESlkiklqdtSx8Dlcqn6BVJP4L///S8mTpyIt95664I6QSVLZt8zNB0mvwt6yH7d7AzEpHD8wO/Apc0j1UUiIiI6B6kVJfU8+/btG9w3fPhwXHnllfjrX/9a6HsOHDgQFpASgW05drY2ErjKy8vD8ePH1TDAwtps27btjP11u91qCZDzEREREf2hoJTUGHA6nRg7dmzw6ZzMwvfyyy+jZ8+e53s6KgVWmx2a1QDcrrD9utmGQPWJTBY7JyIiimpvv/22KmYu913ik08+wdKlS7F+/XpEI3lg+dRTT0W6G0RERFSehu+Je+65Bzt27MCJEyfU07XffvsNAwYMKP7eUbGw2G3QNAMmmYEvlGaB54QHhq4jLysbHld40IqIiIiiw549e1RdKHk4GCABqV9//VXNgCwz7coiunfvjmuvvVa9liF9Bw8eDDtXYDsw3O9MbRISEtSDyNTUVJjN5kLbFDZkMGDMmDHIzMwMLnv37v3D3wMRERFV8KDUM888o4qdi8DUwhTdbA47NKl1jgI1pSxW6H4Num7IXNI4uHdPpLpIREREZzFjxgx1zyWz5AVIgfGNGzeqWp+BRUiBcmkv2rdvj02bNuHQoUPB9y1evFgFnJo0aRJsIzPuhZI2sl9IMfTWrVuHtdF1XW0H2hRGJsGR64QuRERERH8oKDVv3jw0aNBA1S94/fXXceQIh31FO4vNDpgMQPMCRmhVKcDIdcJit6rXx6SuFBEREUUVCQBJkKlPnz7BbCghWUpNmzYNW0Tt2rXVxDSiY8eOKvjUq1cv/Pjjj1i0aJEqwSD1QSVoJAYPHoydO3di1KhRqkaU3N/NnTtX1asKrSn65ptvYtasWdi6dSseeOABNetyYDY+IiIiolIJSskNjTyVk7TwF198UdU1kKd2s2fPVjWmKPrY7HZoJjMMKXPuLTCEzx8LszU/KJV5ODwtn4iIiCJPhu2lp6erWffOlwy7mz9/vlpLVtO9996L3r17Y8KECcE2EsBasGCByo5q0aIFJk2apCavkRn4Anr06KHu+8aNG4eWLVuqrCyZeblg8XMiIiKi86EZMoXeH/Dtt9+qgJRkUMmMfJxZ5czku0lMTFR1FUozhf2XTevx7b/nwnMgHn5zQ/gdycFjluztqNPBAr/HA5PZjBv7DIDlZJCKiIiIyt7vfrTi90FERFRxZBXxd/+CCp2Hio2NVUUwpd6A1+v9o6ejEmB3xECzSlEpA9ALFDM3xagi5xKQ0v1+HD+cPz00EREREREREVFJuqCglBQ6/8c//oFLL70Ubdq0UVMRy5S/MhMfRR9HbAzMNgs0GDAVCEoZWgzcmTmIrZSoto/8lh6hXhIRERERERFRRXKqWmYRXXHFFVizZg2aN2+uilveddddqFGjRsn0joqFIyYeZosJ0PzQtLywY36zDZ6cPJgdDrWdcfDU7DxERERERERERFETlLrhhhvwzjvvBKcRpuhndzigmeWf2gvDCA9KwWSH7jZUYEpkHzsamU4SERERERERUYVy3kEpGbZHZYvN4YDVZoUGLzStwOx7Vhu8Lh1ZBw/DYrPC63Ij8+gRJKakRqq7RERERERERFQBFCkoNWLECDz99NOqqLm8PpuXXnqpuPpGxcga5wSQA5gKFDqXulJeM3wuF6x2G2QyxsO/7WZQioiIiIiIiIgiH5SSQuaBmfXk9ZlomlZ8PaNi5YyNkzLm+aXtvTmANfbUQZ/MvGfA63bDYrXi2EEWrCciIiIiIiKiKAhKLVu2rNDXVHbYYuzQTf78DU92eFDK74Bu6PC5PDCbzcg+fCRi/SQiIiIiIiKiikHyZqgCsFod0GBAMzRY9MywYwZiYNI0mO1W5GXlwHUiB3k5ORHrKxERERERERGVf0XKlLrtttuKfMIPP/zwj/SHSogEnDSTDsNvAbSssGMmJMCZIMc1uI5lq32Hf9+D2pdwhkUiIiIiIiIiimCmVGJiYnBJSEjAkiVL8MMPPwSPr127Vu2T4xSdbDYHYDXUa3OBYuc+czziU5PVa92vw+f14ti+fRHpJxERERERERFVDEUKSs2YMSO4VKlSBXfeeSd27dqlsqJk2blzJ3r27InU1PObsW3ixIm4/PLLER8fj7S0NHTr1g3bt28Pa+NyuTBkyBCkpKQgLi4O3bt3x8GDB8PapKeno2vXroiJiVHnGTlyJHw+X1ib5cuXo1WrVrDb7WjQoAFmzpx5Wn+mTp2KunXrwuFwoF27dli9evV59yVaWewOCTlJOXpolvyi9QG6JRa2mFg44mJhsVvhyspB5pFDEesrEREREREREZV/511T6p133sEjjzyiCmIHyOsRI0aoY+djxYoVKsjz3XffYfHixWqGv44dOyInpJ7R8OHD8emnn2LevHmq/b59+8KGE/r9fhWQ8ng8WLlyJWbNmqUCTuPGjQu2kQCatLnuuuuwYcMGDBs2DAMHDsSiRYuCbebMmaM+w/jx47Fu3Tq0aNECnTp1wqFDh4rcl2jmiHFAs5ycHdEWHrCD1YmsI0dQuV492GKc8GS5kHM8U2VMERERERERERGVBM0wjPwxXUWUnJysgj5//etfw/b/73//Q9++fXH8+PEL7szhw4dVppMEfK6++mpkZmaicuXKmD17Nm6//XbVZtu2bWjcuDFWrVqFK664Ap9//jluvvlmFSCSLC4xbdo0jB49Wp3PZrOp1wsWLMDmzZuD15LMroyMDCxcuFBtS2aUZG299tpralvXddSqVQsPPvggHn300SL15VyysrLUEEc5lwyDLE3pP/+EJa//B3qGFYhzweXrHHY8qfJX+MvDw/DVnPdw9Jd9SKxZCZf/5S+oXu/iUu0nERFReRHJ3/1oxO+DiIio4sgq4u/+eWdK9evXDwMGDMBLL72Eb775Ri2TJk1SmUdy7I+QzopKlSoFa1VJ9lSHDh2CbRo1aoTatWurQJCQdbNmzYIBKSEZTvIFbNmyJdgm9ByBNoFzSJaVXCu0jclkUtuBNkXpSzRzOGNhcphgSLKUbga8eWHH3cdciE9KQkLlyjDbzcjLyMGRfb9FrL9EREREREREVL4Vafa9UC+++CKqVq2qAlH79+9X+6pVq6bqOD388MMX3BHJTJJhdX/605/QtGlTte/AgQMq0ykpKSmsrQSg5FigTWhAKnA8cOxsbSRwlZeXp7K7ZBhgYW0kG6qofSnI7XarJUCuFylWhx2OxBh4D+YBfg1mXxb8VmfwuJ5rU+tq9S/Cvq074M7IxeFde4A/RazLRERERERERFSOnXemlGQQjRo1Cr///rsa/iaLvJZ9oXWmzpfUlpLhde+//z7KCynkHjpzoQwHjBRHTDwc8bHQTH4YPgOaHp4pZfhi1bpukxaITUuCYejYv/VX1pUiIiIiIiIiougISoWScYHFURNg6NChmD9/PpYtW4aaNWsG90tGlgytk8BXKJnxTo4F2hScAS+wfa420nen06lmDZSAWmFtQs9xrr4UNGbMGDUkMbDs3bsXkeKMjYXFZgMcUkJMA3RX2HG/kaQCUBarFe1v6QZoJvjdPqxe9GnE+kxERERERERE5dcfCkr9UVJjXQJSH330EZYuXYp69eqFHW/dujWsViuWLFkS3Ld9+3akp6ejffv2alvWmzZtCpslT2byk4BTkyZNgm1CzxFoEziHDMuTa4W2keGEsh1oU5S+FGS324OBu+IK4P0REnCyJVogYSmTdmpYoTDMSXDn5arXKVVrILlumnq998ctOLR3T0T6S0RERERERETlV0SDUjJk791331Uz2sXHx6vaTLJInSchQ96kqPqIESNUFpUUG5di6hIECsx217FjRxV86tWrF3788UcsWrQIY8eOVeeWoJAYPHgwdu7cqYYYSo2o119/HXPnzsXw4cODfZFrvPnmm5g1axa2bt2KBx54ADk5OcHi7UXpS7Sz2Kywx8fInItS3j3smG6Jxa7tPwW3617WEhaHDd48H35c9iU8rvDMKiIiIiIiIiKiUi10XpzeeOMNtb722mvD9s+YMQN9+/ZVrydPnqzqWHXv3l0VDZdZ8ySoFCDD7mTonwSRJEAUGxuLPn36YMKECcE2koG1YMECFYR6+eWX1RDBt956S50roEePHjh8+DDGjRunAmMtW7bEwoULw4qfn6sv0c5stcKeEAtYMgFTeKYULA7sXrsWTS/Pz/pKq1ETcVWTkfX7EXjyXFi37Atc0eUvkek4EREREREREZU7miFj6IrBb7/9pgJB06dPL47TlUsy+55kXEl9qUgM5fvmf/OQeeAQDm/bC+9xMzyOG8KOxzgX4y+jh6rhe1Jf6ouZbyEvMwtmkwnW2Bg0vurPuOjS5qXebyIiorIo0r/70YbfBxERUcWRVcTf/WIbvnf06FG8/fbbxXU6KgE2p1OtrUlOaGYd8IUP4fMcB3asXxusPxWXkgRHfBzsyYlq364N6yLQayIiIiIiIiIqjyJaU4pKV0JKZbWOSYyFZpYp9/ILmwd5quLo3t+QfXKGwcTK+UMXYxISYDKb4TqRg51bNpZ+x4mIiIiIiIio3GFQqgJJqVZdrS02GwyTDrMvPChlWFJlSkT8uuEHtV25Zi21dmVlo8pFF6nXuzduKPV+ExEREREREVH5w6BUBZJcuSo0k0llPZnsGkxGdthxvyURhq7jwM6dara91Gq1AE2Dz+NB5dp11XvzsrKR/vOpWfqIiIiIiIiIiEp09r3bbrvtrMczTg75ougldaJiEhOQczwD1gQr/EfCg1KwxSBz32Ek1ayCn9f/gKbtr0JsUqJqn5N5HFUuqosDv+zEzg3rUfuSJpH6GERERERERERUkTKlpGr62ZY6deqgd+/eJdtb+sPiUyoFi54blmxA94UdzznkUuuDO39R66S0/LpSxw/sxyWt26vMKQlS7du1o9T7TkREREREREQVMFNqxowZ52xz4sSJP9ofKmGJaVVVtpPVYYVmzgb8XsB06s/AyElWaylqLkP4KlWvjt+3b0f2kSOIT0pC5bq1cXjXHvyy/gdUr3dxBD8JEREREREREVWITKnJkyef9Xh2djY6depUHH2iElS5en7xcs1sgmHzwaR7whtoVeH35WdPHTv4O6rWvkhlR3ldbmQePYKGra9Q29mHj+HAnl8j8RGIiIiIiIiIqCIFpR577DH8+9//PmOGVOfOnXH06NHi7BuVgMSUVDX7ntlqhcVuhqnADHy6NQmu7PyMt4wjR2BzOOBMiFfbB/fsVO+vVCN/Fr8da9dG4BMQERERERERUYUKSv3nP//B/fffj08++SRsf05OjgpIHT58GMuWLSuJPlIxi0lMhNlshiXGDM3ICjumW2KRcyi/AHrW0cNqHZ+SotbZx/ODjpe0vjz/+OHDOH74QCn3noiIiIiIiIgqVFDq9ttvx6uvvoq77roLy5cvDwtIHTx4UO2rVq1aSfaViklC5VS1ttilltSx8IMmC7xHLfD7/Thx7Lja5YxLUGvXifysqpSqNYLZUzKkj4iIiIiIiIioxIJSYuDAgRg/fjz++te/qiBUly5dsG/fPpUhVb16/pAuin7JVaqqtWY2Q7PkAl532HHNn4zc49lqGJ/P64UjLlbt97rzZ+YTthinWudlZZZq34mIiIiIiIiogs2+FzBq1CgcO3YMN9xwA+rWrauCUzVr1iyZ3lGJqFyjjlqbrBbo5hPQdA8M2IPHDS0JnoydMFKTkHn0EOIS8jOlPHl5wTb2mPxAVW52+PA/IiIiIiIiIqJiDUrddtttYdtWqxWpqal46KGHwvZ/+OGHRT0lRYgzNhb22Fg1HM9sBYy8HPiRPxxP6OZEeHN9MPw6jh/cjyp1Gqj9XrdHZU5ZrNbThvQREREREREREZVIUCoxMTFsW2pLUdkVm5iInMxMwKTB5M+GH/lD+oTfEg+rD3Dl5iDzyGHUbdIC0DTAMJCXk4P4pCTEnMyecucxKEVEREREREREJRiUmjFjxgWcnqJVfGplHNu3DyaLCQbyZ9sLsljhz7Mj7+gJ5GRmqMwoq90Gr8uNnMyjKigVl5AfpPTknhrSR0RERERERERUIoXOqfxIrZ4/U6It3gyYcgCvN+y45k+E57gXuRn5ASuLPb/m1Ims/BpS8ZXyZ/Dze73wuE4VQCciIiIiIiIiKgoGpSqo1Oq11ZC82LRkGJoEpHxhxw0tHkaeA9mHjyHz6BHYnTFqv+tETrAulclsVq+zM45G4BMQERGVfzKpjKZppy1DhgxRx++//37Ur18fTqcTlStXVjMkb9u2Lewc6enp6Nq1K2JiYpCWloaRI0fC5wv/3ZeJa1q1agW73Y4GDRpg5syZp/Vl6tSpqj8OhwPt2rXD6tWrS/jTExERUXnHoFQFpYqVJ8TD5nBAc7ph8odnOxmmeBW0yv79OI4fPgBHXH5Qyp17aqifzelQ65yszFLuPRERUcWwZs0a7N+/P7gsXrxY7b/jjjvUunXr1qrEwtatW7Fo0SIYhoGOHTvC7/er47KWgJTH48HKlSsxa9YsFXAaN25c8Bq7du1Sba677jps2LABw4YNw8CBA9X5AubMmYMRI0Zg/PjxWLduHVq0aIFOnTrh0KFDpf6dEBERUfnBoFQFFlcpWa3NDhNMenhtKL85FtA1+LNt+P3nbbAGM6VOFTa3ndyXk3G8VPtNRERUUUj2U9WqVYPL/PnzVWbUNddco44PGjQIV199tcpgkkynZ555Bnv37sXu3bvV8S+++AI//fQT3n33XbRs2RJdunTB008/rbKeJFAlpk2bhnr16mHSpElo3Lgxhg4dittvvx2TJ08O9uOll17Cfffdh379+qFJkybqPZJ59c4770TomyEiIqLygEGpCiwpNU2tTXYz4D8WdsywxcEwLND8dvz63Y9wxsSq/V73qYwqR3ycWuedHNJHREREJUeCSBJc6t+/vxrCV1BOTo7KmpIAU61atdS+VatWoVmzZqhSpUqwnWQ4ZWVlYcuWLcE2HTp0CDuXtJH9geuuXbs2rI3JZFLbgTZEREREF4JBqQospXqN4FA+QzsuVcvDjhuGCTCscB/zYN/PO9Q+T96pjCp7bH6gyp3DoBQREVFJ+/jjj5GRkYG+ffuG7X/99dcRFxenls8//1wN8bPZbOrYgQMHwgJSIrAtx87WRgJXeXl5OHLkiBoGWFibwDkK43a71TlCFyIiIqJQDEpVYClVa6hi5RaHGZrJD+j59ScCNNhhSAH03Fgc+f03NXTP6/bAd3Kmvpj4BLXOyzkRkf4TERFVJG+//bYafle9evWw/ffccw/Wr1+PFStW4JJLLsGdd94JVxTMjDtx4kQkJiYGl0D2FhEREVEAg1IVXI3GDWG2WGHSDGj+/NoSAQbs0DS/ypbK3HsYrswcSZ9C3snMqISkSmrtzYv8jS8REVF5tmfPHnz55ZeqAHlBEvC5+OKLVW2pDz74QM2+99FHH6ljUofq4MGDYe0D23LsbG0SEhLUrH6pqakwm82FtgmcozBjxoxBZmZmcJFaV0REREShGJSq4Jq0vQqOhFhoZj9Mhjv8oLUyDIsEnHToGVborvzpo3Myj6p1bGKSWvs8p7KniIiIqPhJrai0tDQ1S97ZyOx7ssjQOdG+fXts2rQpbJY8Gd4nAScpWB5os2TJkrDzSBvZL2QooMzyF9pG13W1HWhTGLvdrq4TuhARERGFYlCqgpN6UpdceSUMmx+aHp4p5bWnwrB5YZi8gNcJb54XPp8PuScLm8cmJEIz5f8JZWfkB6qIiIioeEkASIJSffr0gcViCe7fuXOnGiInRcjT09OxcuVK3HHHHSq76aabblJtOnbsqIJPvXr1wo8//ohFixZh7NixGDJkiAoaicGDB6tzjRo1SmVZSY2quXPnYvjw4cFrjRgxAm+++SZmzZqFrVu34oEHHlCF1WU2PiIiIqILxaAUoWHLNjA7NJiMHMAXnvGkue3QoMOAGboX8OW6kBtSqNTmdKp19vHw2fuIiIioeMiwPQk6yax7oRwOB77++msVgGrQoAF69OiB+Ph4FZySrCohw+7mz5+v1pLVdO+996J3796YMGFC8DwyW9+CBQtUdlSLFi0wadIkvPXWW2oGvgA594svvohx48ahZcuW2LBhAxYuXHha8XMiIiKi83HqcRtVaEn1KuPIETdgyBA966kDvkrQzMdgQIPh1eDNdcOdmx08bI+JUbPv5Waf2kdERETFR7KdZEheQVLw/LPPPjvn++vUqXPOdtdee60qln42Q4cOVQsRERFRcWGmFCmJaamAlgWTP7yulGGpBcMss/L5ZTwf/G4vPLmnCpvb42LU2sWgFBERERERERGdBwalSIlPSQHMbmj+3LD9XnsKdIsuAwBg6Da4c71hWVGO2Fi1zmNQioiIiIiIiIjOA4NSdCq45PBC03OAgjPpuaSulBSYMsPwAjnHM4KHYuLi1dqdFx7MIiIiIiIiIiI6GwalSIlJSILFbIJm8kAzwmfhg78qDOjQDBNkdF9e5qlC53FJyWrtycsr7S4TERERERERURnGoBQpcQkJ0CwGNN0Lkz88wGTYqkmaFHRDg+axwpfnRXZGfrZUbGKKWntdbvgKZlgREREREREREZ0Bg1KkxCenAmYN0Nww+U+EHfPbEtWsPybYYOixKiiVl52Z/76kJEBTg/uQnXE0In0nIiIiIiIiorKHQSlSYhMSYbaYYGheGMbpdaU0w4z8yahj4HfrOLh3T/CYPSZ/Br4TGfmBKiIiIiIiIiKic2FQioKsDiug+aBpfpgMV9gx3RQPk8mABjN8ucCR3/YGj9li7GodyJ4iIiIiIiIiIjoXBqUoyJYcC5j8MHQdJn94UMqw1oCOHHkFeOJwfP/+U+9zxqp1btapAuhERERERERERGfDoBQFxcTFw2TWVaYU9IJ1peKhwQcDBkyGE1l7jgWPOePi1DovJ/w9RERERERERERRGZT66quvcMstt6B69erQNA0ff/xx2PG+ffuq/aFL586dw9ocO3YM99xzDxISEpCUlIQBAwbgxInw4MjGjRvx5z//GQ6HA7Vq1cLzzz9/Wl/mzZuHRo0aqTbNmjXDZ599FnZcCn2PGzcO1apVg9PpRIcOHbBjxw6UJzEpSdDMGgxzLqBnA15PeAPDAcNwQ4cF3kwD+3b9onbHJiSotScvNxLdJiIiIiIiIqIyKKJBqZycHLRo0QJTp049YxsJQu3fvz+4/Pe//w07LgGpLVu2YPHixZg/f74KdA0aNCh4PCsrCx07dkSdOnWwdu1avPDCC3jyyScxffr0YJuVK1firrvuUgGt9evXo1u3bmrZvHlzsI0Esl555RVMmzYN33//PWJjY9GpUye4XOHD3MqyuMRKgMmASTNgMuXApOeFN9BSYTa5oRk64LNi3ReL1O6YhES1ducwKEVERERERERERWNBBHXp0kUtZ2O321G1atVCj23duhULFy7EmjVr0KZNG7Xv1VdfxU033YQXX3xRZWC999578Hg8eOedd2Cz2XDppZdiw4YNeOmll4LBq5dfflkFv0aOHKm2n376aRXkeu2111QQSrKkpkyZgrFjx+Kvf/2ravPvf/8bVapUUdldPXv2RHkQn5Ka/0IzVMFzkz8LOvIDTsJrqwKL93doMkOfbsOJg8dwaO8exCYk5x93e+DzemGxWiP1EYiIiIiIiIiojIj6mlLLly9HWloaGjZsiAceeABHjx4NHlu1apUashcISAkZVmcymVQ2U6DN1VdfrQJSAZLhtH37dhw/fjzYRt4XStrIfrFr1y4cOHAgrE1iYiLatWsXbFMeJFWurP4iJBPK0KTYeUbYccMaowJ0MDRohhWurFxkZRxDrGRKaZqMcUROFmfgIyIiIiIiIqIyHpSS7CXJSFqyZAmee+45rFixQmVW+f1+dVwCRRKwCmWxWFCpUiV1LNBGMppCBbbP1Sb0eOj7CmtTGLfbrYYPhi7RrFJaVZhMOqDJ/9dhmLIAb/gQPpMRl59JBQt8J/zIzcpQmVE2h10dz8nKD/QREREREREREUXt8L1zCR0WJ8XHmzdvjvr166vsqRtuuAHRbuLEiXjqqadQVkhwyWQzwSdBJ10Ky+uw+LLhszqDbQytEjT8BhgxMDxmHNy1G/gTYItxwpPnwgnJPqsX0Y9BRERERERERGVAVGdKFXTRRRchNTUVv/ySP+ub1Jo6dOhQWBufz6dm5AvUoZL1wYMHw9oEts/VJvR46PsKa1OYMWPGIDMzM7js3bsX0c7kMEPTDBiaoUbkaQWG8HltaTAg2VR+aD47Dm7bBY/LBZszRh3Pywmf+ZCIiIiIiIiIqMwHpX777TdVU6patWpqu3379sjIyFCz6gUsXboUuq6rek+BNjIjn9frDbaRIuZSoyo5OTnYRoYIhpI2sl/Uq1dPBZ9C28hQPKlbFWhzpiLtCQkJYUu0s8bYTxY612EYGoDwoBSsTphggwEPDJjhPuLFt5/8H2JOfra8EwxKEREREREREVGUB6VOnDihZsKTJVBQXF6np6erYzIb3nfffYfdu3ergJDMfNegQQNVhFw0btxY1Z267777sHr1anz77bcYOnSoGvYnM++Ju+++WxU5HzBgALZs2YI5c+ao2fZGjBgR7MdDDz2kZvGbNGkStm3bhieffBI//PCDOpfQNA3Dhg3DM888g08++QSbNm1C79691TW6deuG8sQeFwNIXSmTFDQ3wTCfALzhgSbDiIVmcqvC5oYXSF+9BbvWb1C1vtzMlCIiIiIiIiKiaK8pJYGf6667LrgdCBT16dMHb7zxBjZu3IhZs2apbCgJAHXs2BFPP/20ykAKeO+991TwSGpMyax73bt3xyuvvBI2S94XX3yBIUOGoHXr1mr437hx4zBo0KBgmyuvvBKzZ8/G2LFj8dhjj+Hiiy/Gxx9/jKZNmwbbjBo1Cjk5Oep90p+rrrpKBbIcDgfKE1uMHZoZgF/G7unQzAYs7qPwWeOCbXRTMkzaIcDiAmwGdD+QsecwTJoGQ5ci6EREREREREREZ6cZhsEoQimRIX8SJJP6UtE6lG/FB+/jlyUbYLjNMLwx0Kx58LsT4Itvc6qRNw82/3eq5lRMHTNMVjPcx/Ogu/ywxFpxw+A+qF7v4kh+DCIioogrC7/7pYnfBxERUcWRVcTf/TJVU4pKXlxyImyJkkAn9aRMMPwWwHosvJHMxuePUcP7dJ8fVRrUQ2LtyjB8JvjcPuzevDlS3SciIiIiIiKiMoJBKQpjsdnhTI4DbD6ZyxCaboPJ4Ye5QF0pGIlSUgquox5Uql4d8akpMNkB3QUcTt+jZuQjIiIiIiIiIjoTBqUojNlig8Vmg1nKdplkhj0NcNtgch8Ia6eb4qFBg+Gy4ueV36Ppn6+GyW4GDA05B45h908bI/YZiIiIiIiIiCj6MShFYRwxDljsVqhCYw4PoPnVUD4NR8Pa+awp0E0eaLoVJw5mYdv3K+FMjYNmAdwZHuzaxKAUEREREREREZ0Zg1IUxmJ3QDObYDJrqpC5obkhLwx7VnhDqwOGYQbMHvhzDJw4ehy+XDc0uw7d0HB4WzqOHw7PriIiIiIiIiIiCmBQisIkV66qglBC90qGlGz6YXHoMHuyw9pq3gRA01Vz94lcVRvdZLLAbDbg93rx3fz5EfoURERERERERBTtGJSiMIkpqbj06qthcpjz/zz8DrXf7zdg9h0Kb2xOg6p2rkJXRv4KBmLS4tThI9v24PC+vRH4FEREREREREQU7RiUotPUbdQUtS67FGaTBJrMMHw2FWzSjMNh7by2ytB1EwyPGV6PD74THtUuoVoqLA4rdL8P33/6ScQ+BxERERERERFFLwalqFB1mlwKS6y88qsy57phQLcWqCtlcUDzx8IwDLgOZcPv0WF4AHduHmpc1lhlUGX+dgibV30ToU9BRERERERERNGKQSkqVHxyMjSrCTC7YGg+mAwzzBYNZk+BwJQRC80E+Fw6dJ8Ov1uDOzsPl7S6HM7kWPjyvNi5fh0O7d0TqY9CRERERERERFGIQSkqVGKlyjCZTYAM4bP4JGEKhq7B4i1QV8qUCJj9gJSg8mlqKJ87MxexCUlIqVsDZocVeRnZ2LhiGTwuV6Q+DhERERERERFFGQalqFA2hwNmuwkmzQ/NIvWkLDBMOnSEB6U8tioqU0q1jdUAwwLvCS+OH96PynXrIL5qJehuL9w5OVi37IuIfR4iIiIiIiIiii4MStEZmWMcgPXk7HomP0wmQIvNDm9kccDISVSz8NkTZKY+Pwyfhl/Xr0Nq9ZqwWC1wJMerpkfT9+KXTesj82GIiIiIiIiIKKowKEVn5Ih1ypx7gFeDZsn/azFbALM7I6yd31QX/lzA6rABZi/gNeHort/gjE0ANA02pwNJ1auptju+/x6ZR49E6BMRERERERERUbRgUIrOyJ4YD82kA4akSBkSX4LhN8Hs/TWsnc+eAiM3Bp48N2DVYRga/B4fdm5aB2dCfpZUSrXqcCYmQPf7sXbx5/B5vRH6VEREREREREQUDRiUojOKS6oEzSwFzk3QrIAOQxUzR+JBQA8JKpksMIxqyD2UA00yqzSZic+PA7/ugtlmU02yjx9D6xu7wGQ2Iy8zC4d+2x25D0ZEREREREREEcegFJ1RUlplmC0maIYGs8zEJ0P4DMAaZ4XVdSCsrc9WFX5JqvLmj/OTSlRSZyrn6FF1PPvIESSmpCImKUFt52ZlRuIjEREREREREVGUYFCKziilRm1AMqU0QDcAR3x+1hO8gGb+Oaytbo2FKTceBvwSoYKh+dV+GdKXm3kCedkn4HG5YLM71f7cnJzS/0BEREREREREFDUYlKIzSq1SDZrJrOpJ6T4DVodVBan8LiClZSVYXMfD2utGbWhWCUaZ4D7iQ1ylSrDabcg7ko3j6QexfcMa2GNjVVs3g1JERETnVLduXWiadtoyZMgQHDt2DA8++CAaNmwIp9OJ2rVr4+9//zsyM8OzkdPT09G1a1fExMQgLS0NI0eOhM/nC2uzfPlytGrVCna7HQ0aNMDMmTNP68vUqVNVfxwOB9q1a4fVq1eX+OcnIiKi8o1BKToji9UKi80ETbKefIDZblf1oiQZSg3p0zaGtfc5q8NQA/d0wGNGbk62mnXPbDPD7/Jgy5fL8Pu2bfDmueHJzYvY5yIiIior1qxZg/379weXxYsXq/133HEH9u3bp5YXX3wRmzdvVoGkhQsXYsCAAcH3+/1+FZDyeDxYuXIlZs2apdqNGzcu2GbXrl2qzXXXXYcNGzZg2LBhGDhwIBYtWhRsM2fOHIwYMQLjx4/HunXr0KJFC3Tq1AmHDh0q5W+EiIiIyhPNMAxV/odKXlZWFhITE9UTzISE/NpK0W7OM88ge08OYDYQVysWeQdzoOeaEFsvBmazGYd+bQWYrcH21uwfYXIcBnQTki6NQ73LWsDj9mLnyh9UjSlbfAxyj2SjStO66Nx3UEQ/GxERUVn73ZeA0fz587Fjxw6VMVXQvHnzcO+99yInJwcWiwWff/45br75ZhW8qlKlimozbdo0jB49GocPH4bNZlOvFyxYoAJbAT179kRGRoYKcgnJjLr88svx2muvqW1d11GrVi2VqfXoo49G7PsgIiKi6FTU331mStFZWWOdgAzJ82rwZrlgcub/ybgz8xCTnACHe1tYe6+tAQyzAZh1eF1eHPhlJ0wmIKlWFcRWSYYjIU5VS886cCRCn4iIiKhskmynd999F/379y80ICUCN34SkBKrVq1Cs2bNggEpIRlOcqO4ZcuWYJsOHTqEnUfayP7AddeuXRvWxmQyqe1Am8K43W51ndCFiIiIKBSDUnRWzvhYWOxmVUtK9+vQJMIkwwFy/bDY7TCnhM/CB3ss9Nw4aBYD9pj8ouZH9uyFz+2B1W5HUq1qap8n01X6H4aIiKgM+/jjj1X2Ut++fQs9fuTIETz99NMYNOhUJvKBAwfCAlIisC3HztZGgkh5eXnqvDIMsLA2gXMUZuLEieoJaWCRzCoiIiKiUAxK0VnFJCdBk1rnFl1t615VUAqGT4PfryP1kuqw5e0Pf5OpPqBrsMbYEZeSrHblHs+E4dcRn5C/7fd6sT99Z+l/ICIiojLq7bffRpcuXVC9evXTjkkASepCNWnSBE8++SSiwZgxY1TmVmDZu3dvpLtEREREUYZBKTqrhNTKam2JMeUXOPdJvEkKn2vw5uSozCmTdWvYe3yOZBhuM/KOZ6PldR1hMpulfBlOHMmAx50Hi9Om2u3a9GNEPhMREVFZs2fPHnz55ZeqAHlB2dnZ6Ny5M+Lj4/HRRx/Baj1V67Fq1ao4ePBgWPvAthw7WxsZBiiz+qWmpqo6koW1CZyjMDKTn5wjdCEiIiIKxaAUnVV8pUrQNBPMVjPMsVZASlT4JcgEnMjIrw2R2CgB0EOmljZZofuqIPdYDhJTUnHx5W1gcdjhzsrD4Z274UiKVc2O7v0tMh+KiIiojJkxYwbS0tJUNlTBDKmOHTuqguWffPIJHA5H2PH27dtj06ZNYbPkyQx+EiCSrKpAmyVLloS9T9rIfiHnbt26dVgbKXQu24E2RERERBeCQSk6q5i4OGhmEwy/gYTqKcH9hqHBm+mGTN4odadseeFD8XRLFfiyvcjOyECDFm2QWremKnB+bNeBk8XOgdyMbHWciIiIzkwCQBKU6tOnT7CAeWhASmbak6F9si01nmSRGlBCjkvwqVevXvjxxx+xaNEijB07FkOGDFGZTGLw4MHYuXMnRo0ahW3btuH111/H3LlzMXz48OC1RowYgTfffBOzZs3C1q1b8cADD6jr9uvXLwLfCBEREZUXDErRWTnj4mGymqDrBuzxsTDbLNDkflg3wfDq8HvyM6Q0556w9/mtCTBcdvyyaZ3abtvlFpisFuh+P7IPHFWvDZ8Pv/+6PSKfi4iIqKyQYXvp6elq1r1Q69atw/fff68yoRo0aIBq1aoFl0D9Jhl2N3/+fLWWrKZ7770XvXv3xoQJE4LnqVevHhYsWKCyo1q0aIFJkybhrbfeUjPwBfTo0QMvvvgixo0bh5YtW2LDhg1YuHDhacXPiYiIiM6HZkiqC5UKeYIps88EpmsuCzwuF/43ZTJyj2QhoVYqTuw/Dk+GD3qeDZrTg6R6SXAmxcPn8eC3zc0A7VSc03biRyS3cOP2kY+q7UUz38SBzfkZVTKVtSXWjprNL8HVt90Vsc9HRERUUsri735J4vdBRERUcWQV8XefmVJ0VjaHA3GpyXAkx0LTtfyhfDCgwQDcFuQezUbO8UzEVUqGPS98Vh2/uSpyDmbiwJ5f1XaNho1hi3fC8AF+jw7X0TxkHzqKvJycCH06IiIiIiIiIooUBqXonKwnA1NpF9eFLcYOzSw1pSyqrpQnx4vs3Vk49MseGNYdYe/zW5LgO6Hjx6VLcfTA70irWQsJVVNgjrPCZNVgeIHj6Qexc9P6iH02IiIiIiIiIooMBqXonKwOm1qn1aqNS65uD4vNBE0DDLNPZT3JxHuu4y5YEvUCb7TDnxMHV1YWfvj8M5VlpZlMiK0ULzXPFX+eD5sWLUPm0SMR+GREREREREREFCkMStE52exOtc7NyUHLP1+PhLqVoTld0HQzTJoZJguge/xwJsXC6jo15bTQUAV+n65qTq1fvAgxlZJUkXOooJYOX46GnP25+OKdd7B72+YIfUIiIiIiIiIiKm0MStE52WNj1Trn6DG1rtOsKRypVmhmPwyv1JjSYegmuHNcMOm7w97rtVVHXtYJSD19r8sNz4kcXHrtdbAnOeGIt8MUk59ddSL9GNYvXITVX8xXxdWJiIiIiIiIqHxjUIrOqXr9+mp9/MABFTCqWq8eEmtUhmY1oDm8gM8MzWeCJ1OHOSk/cBVgWGOQ95sXx3YfgCs7WwWmdq37ARa7DQm1K6N6qwawJkvmlIHM9CPYt+VnLHv/Pzi0d0+EPi0RERERERERlQYGpeicqtapD5vTAUPXkb59M9Jq1oXFboejkhUmkwmw+wBDg+a2wDCZYHEfD3u/4U6D4fMj6/csZOw9pAJTrqM5yNh5EK6sXMQkxcJkM8PwGji2+xAObN6Jha9Mx6dvvBKcuY+IiIiIiIiIyhcGpahIKteuo9b7f90Ji9WKSjWrI6Zykip4brVZoFt8MDQ/DBdg9u4Ne6/PWhPWeAdMZgPeEx4cTz8AmPOH/bmysuHzeKGZNEASpkyAyWKGYeg49ut+fPmvmVg0Yzq2rv4WeTk5Efr0RERERERERFTcGJSiIqnVqLFaZx05gpysTNRr2kJlT2kOkyRJqWLnmsWA4TUD1vCZ9HR7JfhyvUi+qBo0iwa/2weTGYipnAhbjAPxaZVQqV5VWO1WWKxmtb9W2+awxtjh9/hx8Kc9+GnFN/hq7mzO0kdERERERERUTkQ0KPXVV1/hlltuQfXq1aFpGj7++OOw41Ice9y4cahWrRqcTic6dOiAHTt2hLU5duwY7rnnHiQkJCApKQkDBgzAiRMnwtps3LgRf/7zn+FwOFCrVi08//zzp/Vl3rx5aNSokWrTrFkzfPbZZ+fdl/IspWoNOBPi5YtA+rbNqFy9FmKTk+CId0CzmmCyajD8gK5rgMMNzR3+b+DdX0llWCU3qKbm5HMdd8OT40K1hhfjqtt7oHrDhoirngJdN3Bi/zEc37MHDa9tjyqX1oU9KQY5h7JwLH0fdv24IWLfARERERERERGVk6BUTk4OWrRogalTpxZ6XIJHr7zyCqZNm4bvv/8esbGx6NSpE1whs7NJQGrLli1YvHgx5s+frwJdgwYNCh7PyspCx44dUadOHaxduxYvvPACnnzySUyfPj3YZuXKlbjrrrtUQGv9+vXo1q2bWjZv3nxefSnvUuvkD+E7uDt/hr2aDRvCFh8LTQc0qxkmqyHhO2iGBRbvwbD3umJa4uDGdBh+XdWPgg64M9z4fctWJKakotX1HXHzA0NQtdlFMFktyDmcjf0/70Dz665HvctbwJ7ogCfbhS3LvsKPXy/lUD4iIiIiIiKiMk4zJAUoCkim1EcffaSCQUK6JRlUDz/8MB555BG1LzMzE1WqVMHMmTPRs2dPbN26FU2aNMGaNWvQpk0b1WbhwoW46aab8Ntvv6n3v/HGG3j88cdx4MAB2Gw21ebRRx9VWVnbtm1T2z169FABMglqBVxxxRVo2bKlCkIVpS9FIQGyxMRE9V7J7CprZOjcNx/MUa8luyk2IRFf/mcGjvy8F5ZYK3IO58LIMcHQJWPKDJ/tKsBsDb7f6j6KlKa74cnOgSfHA1+2AXuSBY1vvBKtb+ii2sjsfsvnvIvDP++BxWFF6kW18efuPfHTD6uw8dMlKqiVclE1mG1WVGvQABe3ulz1g4iIKNqU9d/94sbvg4iIqOLIKuLvftTWlNq1a5cKJMkwuQD5QO3atcOqVavUtqxlyF4gICWkvcwIJ9lMgTZXX311MCAlJMNp+/btOH78eLBN6HUCbQLXKUpfCuN2u9U/ROhSlklGU1xKsnq9Z/sWNRwvrW5dWOMc8Lu8cCTaoKlsKQ2a2QerKz+jKsBrT8HxjT44kxLUbH1S2Nzn9uHALzuxYfmXqo3N4UDtps0QW7WSqj3lOpGjMqNaXnUdUi+uiZjUeOiGDt3vx+/bt2Plxx+oQBYRERERERERlS1RG5SSIJCQbKRQsh04Juu0tLSw4xaLBZUqVQprU9g5Qq9xpjahx8/Vl8JMnDhRBa8Ci9SzKuuq1Kuv1kf27FHres2aw54Qo4JLmvxBOQwJSUGz+mHgAMzu8ECc23E5MnYdVgXPzWYDmhkq+0kCTHt3bFdtKteoCavNBntiHAxdx6Gdu5D+809IrlIFMckJqH3ppWh81Z9hsdngyXNh07fLIvBNEBEREREREVG5DEqVB2PGjFGpaoFl7969KOtqXdxIxloiLysbRw/8juTKVZFSswZMFgt0AzDbTNBsPkDXYNYAs2c74PeeOoFmgifrMlhjbPC7JYylIeZk9tXWlV+rWlFSVN1kNsOREIvYlEr5x779FjGVktTrYwf246JLm6Nh+/ZqWzKtDu3ND5IRERERERERUdkQtUGpqlWrqvXBg+EFs2U7cEzWhw4dCjvu8/nUjHyhbQo7R+g1ztQm9Pi5+lIYu92uxk6GLmWd1G9KSE1Vr/du26rWtZo0gS3eDt3tz29k1aH5zdA1v0SlYMv7OewcXnsqcn+1q9e634DZbIHN6YDX5caPXy1R+2NkiJ/M+lerJhxxsfB5PDi8K384YF5mlgpe1W3UFEknv//N36yAzxsS/CIiIiIiIiKiqBa1Qal69eqpgM+SJflBCiE1maRWVPuTGTKyzsjIULPqBSxduhS6rqt6T4E2MiOfNyRgITP1NWzYEMnJycE2odcJtAlcpyh9qUiq1b9IrQ+n52cn1azfEPFp/9/enYDJUdVrA3+ruqrX2TOTmUz2kJAFkhBICGEV2UGuCCogCgjKo4KXRQVUQNSrePHjqoiA3Osj3/0MWxRRwiKBsAhkJyH7HiaZTGZfeu/qqjrfc05PNzNJwAFmuieZ96dNd1dVV/ecyUyfefuc/xmmbsuKUrr8Z+V1AU86UzvK0wwjsa/XOZL+4yAsHSIl0L5nLyafkGnHtt178N7m9SiuyARf8c4uzDj9DDU6KxWLI9raqbbve2+Hup5x2hlqVJUcubV5ZaaOGBERERERERENfgUNpaLRKNasWaMu2YLi8vbu3bvVanw33XQT/uM//gN///vfsW7dOlx55ZVqFbzsCn1Tp07Fueeei69//etYvnw53nrrLdxwww1qNTx5nPSlL31JFTm/9tprsWHDBjz55JP4zW9+g1tuuSX3Om688Ua1at99992nVuS7++67sXLlSnUuqS+vZSgZM/loaLqu6jnt3LBWFTwfOWUyAsOK1LQ9IYMoWxY7d6HpFjTXC91YB7i9p/HZYhacuIlwYzuS8RhqJmbCri1LlsBXUqxux9rbUVU7GpO6i9nL4ued9c25QKy4rAzjZkxXt3evX6dWCCQiIiIiIiKiwa+goZQMfmbNmqUukgyK5O277rpL3b/11lvx7W9/G9dddx3mzJmjQiwZHvn9/tw55s+fjylTpuCMM87A+eefj5NPPhmPPPJIbr8sMP7SSy+pwOu4447Dd77zHXV+ec6sE088EY899ph63MyZM/HnP/8ZzzzzDI4++ujcMX15LUOFXCGv5ohMwfNty5epqXQTph+LYEUpvMVeQHcBx4BwAGGkITQNwtXhs5b2Oo/jqwCcWqTbBFb8eSFGHjkVvlBmql7zjsxIqGQsrlbXO/LY4zH5hLkwi3ywExZ2rVidm6439fiTECgtUUXR173JoudEREREREREhwJNCCFnXFEeyCl/MiSTRc8P9fpSMih6/an5arTU8AnjMees87H8pYVo3rELbTv2we4UcNJeaIEEkPADbghaeTtE19GwAiPfP5GThje1DN5hCRglPhx30WewY8VyQAhEmlvhLyrG8RddiNrxk9Thm1Ytw/LH/6YmCo485kic+vnLVUjW0rAHyxc+qx43YtIktSqgLMJORERUKIfT+35/YHsQERENHeE+vu8P2ppSNLjJIChbB6p55y61+t2kWbPVtL5gZTGE4WZqS0FA81qQ6+yJzgB8I7YAwn3/RB4TAuPg2C7sWAqrn3kWpTXD1S4n5aBrbwuWPv0MNq/KjMiaetxclE+QYZOG9j0NePvvf1GBlJziN2LiRPW4fdu24e2n/4JX5j+Kd/+5WK0SSERERERERESDC0Mp+tjGHDkNFd21u+Tqd8Vlw9T9YHkJzCId0FxoKS/0Eg1CS0ETfqTDafhSb/c6Tzo4StWWcm0XVszCntUbMXLqZASHy0L0GhIdUexYuRKvPzlf1YwaM20aimpKYSfSiHV0qhFSKxY9j6lzT8IRs2ejuKpCFUZPRmOo37gJS//+NzTs2lagViIiIiIiIiKig2EoRZ/IjNM+nVv9buOKt3HEMceq7d5iP4Q/KYtKQcRcIBhR/9xELIiiiToMq6PXeRzMhe434MQEEm1xbH1jKSpqaxCoLIavJADT74OTTmPXujUYNnI0/MVFKBpRkRlVJYQarSVDK+HYOPHCz+NTl12BSXPmqFpTcv+O1asL1EJEREREREREdDAMpegTCZWUYnx3ofr6DRvhC4ZQUlUFX0kIhk+DpjlwHaGm8rmesFqZL94YheFf2es8jhlCumEcvBUmhKUhUh9D3TsbkWgKI94SUQXPk+GoWnVvxLgJapqgR/dg8pwTMP3001WBdBla7Vy9Bm/8+XFEOlpVcfRZZ5ylzh9uaeE0PiIiIiIiIqJBhKEUfWJTjpuLUHmZWv1uzasvYeSUKfAFA9BNHSKQhmabcNI6dI9ciS8NJ2agaGQI/vjmXudJBY9Asn48jBINmiFgd6aRTrhwUi4SXRFEm7oQbmpFa8NuFA0rU49pqqtT0wg/dekVGDtjZm7U1qoXX8SS556BYfpVSCbtWMvRUkRERERERESDBUMp6hfTT/2UGr0UbevAznfegcdrwFfshxnUoflc6FYIri2Lmst/dQ4ie8LwVO2BZid7nScVGAereSrMEhNGyAPNIyukC1iRhJreJ+tL7dm6BWU1mVpWHfsa1LVhmjh63sk49YuXY9iY0Wpbe/1evPnnJ9RzpuMpNO+sU8XSiYiIiIiIiKjwGEpRvxhWMxKzzz0fhteLVCyGWHsYnoAP3hI/9BAgdAu6G4Tm+iFcTQVFbkLAay85IJiy/CMR3zcTQgc8fk1N+ROOCztiIdVuY9s/lyHa0oZkJIqOxkYsefaviHR25qYTnnDev+G4c89FoKQYruMg0tKCSFM72rbvxfO/fxCrXnkBe7ZtKVBLEREREREREZHEUIr6zfDRY3Hi576gwiB/URDJ9gh0w0DlEbXw1tjqGE0GTBDQLBOOK+DqDkx7CTxpWQj9fbavAonWuXCTaiE9WQkdRsAD2BoSLRYatm2FFUuhq64JbfX1akTU+iVvwk6n1eNrxh6BUz9/uVqNT04tDJSH5JArxBo7sW/rdqxd/DLe/NsCtZofEREREREREeUfQynqV8VlZTj5c19EWU0NAuVFSLbHEG5sg+7RgVAXXE8CuuuF5k1DgwbdMdQKfTqWwky19TqXYxYhkT4dbsQPoQuMmnMUjFJA0wWctI3S2iqEqsuQTllqRFTd2nfx+lPz0bynLjelT9a7+tQXr8D537oB5WOHw18ehOnzqqSrq7EZbz29AGvfejUXZhERERERERFRfjCUon7n9ftx0mcvwaQTj0dpbTlcy4abdOU4KejChKvZELYHngAgAim5FZrtg6dkJbyJfb1PpptI+k+Bva8S8fZOlIyuhCegQdc9GDltCnyhIELlpRg7M1PkPBmNYeWLz2P7u71X9wsWF2PM9OkIVZTBDAZx/GcuzBVn37N+I157cj7e/edibF+3Gi0Ne2Ale08pJCIiIiIiIqL+ZfTz+YhyZp7yaVTUjMT6N15DZ30T7HgcQnPgcYJw9Si0hAZfhQGrOaFW6HMjBrw1G6A1JpAKTOh1rmRoFva9sQn+8Z1wogIRK6zCLlnDKp1MwaNrqsj5Oy//A+GWFmxZugxdrS2YeeqZasSUdMQxs7F361YkusJw0pYaQbX1neXYuWaNqoNVv3FTr+c0/T4Ey0pRXDEMxRWVGFZTi9JhlXltQyIiIiIiIqLDlSaEUAui0cALh8MoLS1FV1cXSkpKMFTEwl0qLGrcvh2dmxKAY0C4OnSPA5hJGCUa0l1yMp+sNgUUjfcjvrUIyeCsA87lTdRB82+B5ugwK4BgRTFSsST8ZUX49JVXq+mDa//5KvZt26aOL66qwJxz/g2BkKwpBSx57hm1Kl9FbS3mXfg5tU2uyLft3ZWIdXQgEYkgFY2p6YAHI1cY9AYCMP1eeH0B+EIheANB+IN++ILFCBYXIVhclns+IiIauobq+/4HYXsQERENHeE+vu8zlMqjod4Z27T8Lbzz/CIk3nMgXK+aOqfJCaR6GlogBSS8gMcFPEDpEWUIb0kgaZ4sk6Be5zETTdCNddBMgYpp1YjsaYEQrqphVTF2JPzFIUQ7uxCub4Tm8cAb8uOI4+dg9MQpiEU6sfof/1A1pU74t8+qVQM/KEhrb2pUo60i7a2Id3YiGYsDfflx0TTMOuss1I6f1F9NR0REh6Ch/r6/P7YHERHR0BFmKDX4sDMGVa/phft/D6vFhbCCcGFDhwHNm4BrpqElghCGBY/XQeWU4Wjd3IqUfRqEx9vrPIbVBcO7DBPOnoVkVxfatuyB67goG18Nj8ejjknF4mq1PdeV9awAM+BDqKYcsX3tsC0bvrIgxsw8CsGSEoRKShAsKUWopByhktLclL+eZJ0pGWrJwCsVjyAei6lpf1Y8ATudQjppwUokVNg2fMJ4zDnr/Dy1KhERDUZ83++N7UFERDR0hPv4vs+aUpRXVbWj8YU7v48n7/gp7HAceiogEyY4tg7d9UHAhWaVwLajaHuvBZXTR6Jz5xtIdJygVuPLsr2lEOmTUPfG27js53fijQWPIRGJoqRmOCpHjIKViKvAKFbdhfZd9Uh2JZBOWOh6rxlGkRciKZBsj6Jh81b4i/abaqdpaoU+WU9q5mlnqSmB2QLuXn8NyqtqPvDrkwXWZT2rSGvrwDUiERERERER0WGAoRTlnay3dN4t38Tz/+ch2CIJLe2HrrsQSEKT/yItB7ozDHZrEk3hvQjUeuG134LVNReOLxMQSY4ZQixyCubf8lOMPWUqPLoHqa4Ijjx/tgqQemrYtQ0b33oL8XAYru0g6YnCYxhqOl7FqJHdIVYc6ZSltsni6V2NzVi9+AWcevHlff7aqkaNwxYsUwGZHFm1/+sgIiIiIiIiogyGUlQQ1aPHYvq/nY51f38NTiQB4ajiUtBMG8LbAURtaCiFSHmQ3B0FAgJmcBn06CykA8PfP5HpRxJnYdcL24GSPSgbXYYlC5/B+BkzVE2n7DQ8eXv4qHHYsPSfqN+0GZqmwYon4S8uQtWYsZg4PVNU3U6nVT2prrZmrH/9dURa2lUtrKnHn9Snr0uuzidX7ZOhVtOeOoyeNHlgGpCIiIiIiIjoENe7gjRRHs0+4xzUzBwLo8SF5rMB1wOk5ap8HgTGONBDe6EhDThBaAkfkPJA86+BEa8/4FxW0URYqU+hc4MPu95eg3WvvoqX/98fsfylhWqUlCQDqpmnfBqjpk6B4TUB14XjONi1+h0VRmWPkcHSmCOnYczR09W2Xe+uRUdLY5+/ruKKYeq6vXFvP7UUERERERER0eGHoRQV1AkXXoTSsZXwlujQ/SmItA8iocNJpBGoKYJREQHMCITwQKS90GwNHnMzzHjdgScz/bCKZiHVNhMNq+tgJ1No2VWH1S+9hNeemo8927aow6bOOVGNZvKVFiHRGYWVSGLzymUHnO7oeScjVF6mCpevfX1xn7+msurMSK6ulqZP0jREREQYN26cGt27/+X6669X+x955BF86lOfUgVE5fbOzs4DztHe3o4rrrhCHVNWVoZrr70W0Wi01zFr167FKaecAr/fj9GjR+Pee+894DwLFizAlClT1DHTp0/H888/P4BfOREREQ0FDKWooGTR8FMvvxzl46thFnsAMwlhe2HHBdKRJDwlJvSQBd1rwfUnIIQG1+PCE9wCM7YEsK0DzmkHqmG5Z2Lf2wkkIzFZIgqxjk6sXfyyCqfktLoJxxyjVunTdCBtWajftBGJWOyAc808/Qxouo5oW4eaxtcXlaPGqOtoW2duBBYREdHHsWLFCuzbty93WbRokdr+hS98QV3H43Gce+65+MEPfvCB55CB1IYNG9RjFy5ciDfeeAPXXXddr9Vxzj77bIwdOxarVq3CL3/5S9x9990q8Mp6++23cfnll6tAa/Xq1bjooovUZf369QP69RMREdHhTRNC/slO+cClkD+YDIRel4HRu7uQjugQjgYYNnSvBngA4ThAyoBmunAdqGtfuRd2woHdOhlWMBME7c+TjsDUlmPYjGGAC5gBn9oeKC1Bx959gNDgJFMIVZWjpKoKx3z67Nxqe1nrl7yJurXvqnBq3kWf+9DV9yQZRC36v3+A6ziYc/5nMHz02H5sKSIiGsrv+zfddJMKlrZt26ZGRmW99tprOP3009HR0aFGQ2Vt2rQJ06ZNU+HW7Nmz1bYXX3wR559/Purr61FbW4uHHnoIP/zhD9HY2Aiv16uOuf322/HMM89g8+bN6v6ll16KWCymnjvrhBNOwDHHHIOHH364YO1BREREg1Nf3/c5UooGzYp85371Okw4bRb0oAPN4wC2ARHzwYlqEEkvXM2FK+tKWT6IuBdWWxrB8iCq53XBl3oVevrAkU6OWYykcQZaVlWjbXMLoq0diLa2I9Larjrz0cZ2xFujaH+vAW319fjngsex9u3Xe41wktP4ioaVq2l8K55fiDeefhxv/m0Bljz3DFYseh4tDXt6PaesSxWqKFW3m+t77yMiIvq4LMvCn/70J1xzzTW9AqkPs2TJEhVSZQMp6cwzz4Su61i2bFnumFNPPTUXSEnnnHMOtmzZokKu7DHycT3JY+R2IiIioo+LoRQNKqd87ouYdcmZ8FZq0IscaL4UdCcA2F4g7QWEDlcICNsPJ1aCyE4LLZsb4K124fW+CW9sC9RQqv1YgRFqlb7w1vGI7okjFYkhNKxcjZzSDA2u7SLe0oV0ysKedevx2pPv16CSZpz2aVWAXa6qJ1fk62psRnv9XjTv3IUVz71fTD2rtKpaXXc1s64UERH1DzlySdaMuvrqq/v8GDn6afjw4b0/PDEMVFRUqH3ZY6qrM+9bWdn7/+qY7P6DSaVS6lPSnhciIiKinoxe94gGgVmfOhPTTzoNq175B+pWrUGkMQrE9UwwJVxAd6DLa9cP19ahdRiwrDhMvw7HVwdf5164YgrSgdqDhlPACLib9yG6Zz3mfvVCbHrtTSRau6CbBtJWCqbPi1QspmpQbV7yJipG1mLEhIk49YuXq3pUdioJx04jnbbQvrdB1ata8/LLwJlA7fhJ6nkqakaifuMmRNvbC9CCRER0OPrDH/6A8847T025OxTcc889+PGPf1zol0FERESDGEMpGpTkFLi5535GXXZtXIvVL/4DnbvaIdICblqHMBKAY0FPF0PAgBv3wxIJGD4NWrENw1kPEdkJ25gJ+IoPHk65I/D2A9thVnSoFQDD9W1IheNIlyYRKCuGY1kQjovG7TvVxfB6UVRRAW8wAF8wgGBRMYqnT8fONWuQDEd6BVPVso6UpsG2LHS1taJ0WGVB2pGIiA4PdXV1ePnll/H0009/pMfV1NSgubm51zbbttWKfHJf9pimpt4je7P3/9Ux2f0H8/3vfx+33HJL7r4cKSVX9iMiIiLK4vQ9GvTGT5uBi2/5Ho794lnwVZjwlgsYQQG9KA23qFUdo7lBIB6CawlZvR+aFzCK4zDEMpjhd6FZB9abkqzAKMQSZ6F1VQXSURdwAKsrgXQsCTMQQCqWgBVPwEokVMDU2diopuztWb8RW5Yuw8Y3/olERxjRlg5EmlqxYuFzaiqf1+9HoCQThrXUv5fX9iIiosPPH//4RzUN74ILLvhIj5s3b56a8idX1ctavHgxXNfF3Llzc8fIFfnSPeopypX6Jk+ejPLy8twxr7zySq9zy2Pk9g/i8/lUYdOeFyIiIqKeOFKKDhnHnPJpjDxiEt6Y/xiiTV3QHQGPT4OFLohYCJprQkRL4Pii0AwB3QAMvwv4myGsJmiRkUj7xgLeogPObYXkCnljYYWjMFN1sDoaMOxoE/6SkNovi5zLelKm3w8z4FcjpQDRHVglEagoQbi+BcnOJrzy+/8LX2kQ6VQKsF1s9axESUUVfMEQAqEiFVgRERH1lQyQZCh11VVXqXpQPcmaTvKyfft2dX/dunUoLi7GmDFjVN2oqVOn4txzz8XXv/51tUqeDJ5uuOEGXHbZZblpgF/60pfUNLtrr70Wt912G9avX4/f/OY3+NWvfpV7nhtvvBGnnXYa7rvvPhWMPfHEE1i5ciUeeeSRPLcGERERHU40IYQo9IsYKrgUcv+wkkn8869PoXH9NtgpG5D/T9lwY0WqzpQcJiWQBPQ4hC8NXXehG7ImlQsn4YPmjoLlrQXMTOD0gdJJmKkNMCvbUDVltJyN14svFELRsAp4A0HYVgqRtjY0btgOO5n5pNlNCbgJHfAAZpkOj8+AN+iDrygAf3ERQmXlqB43FiMnTlWrDxIR0eGlv973X3rppdxqeEceeWSvfXffffdB6zbJECtbEF1O1ZNB1LPPPqtW3bvkkktw//33o6jo/Q9p1q5di+uvvx4rVqxAZWUlvv3tb6uAqqcFCxbgjjvuwHvvvYdJkybh3nvvxfnnn9/nr4P9ICIioqEj3Mf3fYZSecTOWP/a+s5y7Fi9GpHmVlgxS027c+NeOJYJXRRBZkiulgY8Meh+C56gppbQtqMAkiaEUwNLjpwy5ainD6dZUZj2RngrOlE8rhK+wIGPkTWnvKEQEuEINF1DtKUdkbouVZvdE5IlpuQryvy46R49E5R5PDBMjxppVTFmFGonTIJhGqqmlvzDIVQ6DMVlZQPSfkRENLD4vt8b24OIiGjoCDOUGnzYGRsY721ej7r1a9HV3IpUJIZoYxfssACsEkB4odIpkQIMC5o/BbPMhJOyIRIu3JQXsCqR9o6D8PX9e6JbXTDSLYDWBs0XQWCECX9xENB1eExDTe+rnjABjTt3Ip1MYvgRE+D1mmir34t4RxiOY8OKJmHHUmpaRpbHa6C4dpgKpbKKqypQO2kKxkyayql/RESHEL7v98b2ICIiGjrCDKUGH3bGBlbznjrsXP8uuhqbEGluQ7SxE3anAWEHAOHLlFDTnO6pfQkIuPBoGlyhw9Ud6I4HmlMF2xwJ158p7Npnrg0z2QAN9TCCEeghHbppwE7aqrbViOkT8ekvXanCpkQshpa9dYhHIkhGIuhobEDXvhbE2rrgOkKNsiodWQlfKKjqWGXpHg+GjRmFMZOnombsEf3fgERE1K/4vt8b24OIiGjoCDOUGnzYGcufxrodaNixA7veWYPw7g44MUCk/YAjRxoF5HJ9aiqdgAYNNlyk1ap9MrSCbkO4BnRUwjaGf/SASsZfiWZo2iZ4ginA0gFDwCzW4CvyI1BZgoqRtagZPwHDakehvCqznHZLwx68u/gVpGIxOdcPY6fPwMiJE1G3YT2a697rFVCZfh/Ka2sxcuIk1I6f1K9tR0RE/YPv+72xPYiIiIaOMEOpwYedscIFVFtWLMfedVuQbE/AiXkA2wcIA0LoALzQ4IEQsuaU/HHwAMIBtBQEUoAm71fANmsg5Mp98n4fackOmPYu6L4OwOyepicHbGmAxwSMkIngsFKUjRiB0qpK6NBRv2UTEp2yLpWOUFUZRk2ZitoJR6KrrRlNO3eio7FRrQbYM6CaMu9EjDly2kA0HxERfUx83++N7UFERDR0hBlKDT7sjBVWR0sjtq95Bw2bt6rQJ9Eeg5sQECkDwvUCjlxm2wSEDqGCKA0CHuiaDK6SEFocLizobhACQUArgWsUw/WWQM3R+zB2EobVCt3tgqbFAE8SMOTIJzlSS6igSo6m0g1Nncq2HMCSxbC0zHZTh7fIRGh4OUKlpUhbKaQTSaSTFgyPDs0wMP64WRh/1DHQdQ2+QLBXXSoiIso/vu/3xvYgIiIaOsIMpQYfdsYGByuZROPunWitr0dT3Xvoqm9CKpyAm3ThpgE37YGwvdBdHwQCquaUJgxomketnacm/QlLDoOC68prGVyVw/GUqZAKZh+LkQsXnlQXNLsDOrqg6VEIMwXNdDNRlY1MUOYamVrtchSX/HE10tADDjwhD4yAD07CgnAyI6f8FUUoGlaWWw1QjqLyBgPwBUOqSLrm8cA0DJg+HwyfH7XjJrJ4OhHRAOH7fm9sDyIioqEj3Mf3/X8xvIPo8CNDGDnVLTvdTYZUTXvq0NHaiJbdexBpaka0qQNWOAGR7gCSBuAEARGAJkdSychI96rASvfo3SOqBHQnDN3pgkiH4BilgDf44S9E0+GoelX71axKJ2HIc7myEFZUjdCCnEYIOaVQQLcNOBEdTsJBWk+qbcLRoBkCdqwLdsJCaW0lbMtSl0Q48oEvYdObb6ri6eOPnomq2tH90r5EREREREREfcFQioY8GVKNnjRZXTCv976m+t3Yt307Gt/bic6GfYg3R+EmBUTCB831Q4NX1aSS0/ygmXBhQpOr+qW74LopCE+g7yOnskw/7A96jJ2CbsegO3FoVhIQcUCLQTOSQEqDEB7E96QRa6lHoMqL0uoqhCpK4Q0G4dE90DQNjmvDdWykonFYiSRadtWpS6i8DDVHTET1mLG54utEREREREREQzKUuvvuu/HjH/+417bJkydj8+bN6nYymcR3vvMdPPHEE0ilUjjnnHPw4IMPorq6Onf87t278c1vfhOvvvoqioqKcNVVV+Gee+6BYbz/pb/22mu45ZZbsGHDBowePRp33HEHrr766l7P+7vf/Q6//OUv0djYiJkzZ+K3v/0tjj/++AFvAyqs6lFj1AX4dK/tdjqN5vo67N68AXXvrkdsbxhO1IBuByFcH3ThU1P+ZEF1N+2Hq8sV/wxAl0XSPYAhQyxZq+ojMnxw5QUVB+5LJ+Fx49AdC4jFkYzGkdwVh2u0QPNZ6qk9Xg0eU4ceMGB4TTUb0E5aELaLDk8j9m3crgqv+0JBhMrKVKhVVlWN4vIKFJcNY50qIiIiIiIiGhqhlHTUUUfh5Zdfzt3vGSbdfPPNeO6557BgwQI1V/GGG27AxRdfjLfeekvtdxwHF1xwAWpqavD2229j3759uPLKK2GaJn7+85+rY3bt2qWO+cY3voH58+fjlVdewde+9jWMGDFChVzSk08+qUKrhx9+GHPnzsWvf/1rtW/Lli0YPnx43tuECk+GM7XjJ6rLCed9Vm1LxGLYu3Mr6jdtQMfeJoT37UM6nIaW8MJjB6EJP1zIcMoHWF41ikrI0VUyrJIBlcfzrwumfxjTDwfysh9ZKCttw5NKwonZgEhDlzWxXLmyYBzQXQgjARgWNN2DeGMCRqmOoupytO/b9/7PnKbBFwzCXxxCSdVwDB85CpW1YxhUERERERER0ccyqAudy5FSzzzzDNasWXPAPlksq6qqCo899hg+//nPq21yBNXUqVOxZMkSnHDCCXjhhRfwmc98Bg0NDbnRUzJYuu2229DS0gKv16tuy2Br/fr1uXNfdtll6OzsxIsvvqjuyyBqzpw5eOCBB9R913XViKpvf/vbuP322/v89bDA59Aj61V1tjShtbEBuzdtQFtdA5L7ImrFP9fyQbghaAhBaHI1PxNCl5fMdEChy5FU3Rc5wEof4PDHllXebehOErpIQJM1rdxOwBuB5rXhCQgYQS/MoKmKpxs+UxVMl4XVS6uqESorR0lZBYorKhEIhQb2tRIRHQL4vt8b24OIiGjoCB8uhc63bduG2tpa+P1+zJs3T029GzNmDFatWoV0Oo0zzzwzd+yUKVPUvmwoJa+nT5/eazqfHOEkp/PJqXqzZs1Sx/Q8R/aYm266Sd22LEs91/e///3cfl3X1WPkY4n+Vb2q4aPHqsu0OfNyU//2vbcTsXAnWvfUo3HbDkQb9yAVs6ElfdBtE8LxA5qsK+XLjKzSDBVWyWs5skpo2el/ck6e3j0t8BMyZOgl62IF4O5ffB3dtdYTaaDZhibDKzcBzYlBQys07IbQE4BpwSNXD/QKeIu98JWF4C8KqlUADV8AvoAfpt8P0+tFoLhIrQpYXFoBj2nAMH3w+gMMtIiIiIiIiIaIQR1KyRFKjz76qKojJafeyfpSp5xyihrVJGs7yZFOZWVlvR4jAyi5T5LXPQOp7P7svg87RqZ6iUQCHR0dahrgwY7J1rb6ILLOlbxkyXMSyeluqqi6dNzcA/bL0Kp13x407n4PbQ0NCDe1oauhGekOCyJpQrMNCNcLXfi7A6sAhC6nAnrVSCtXTQHsDq1U0NSP5GgtOZpLrQVYfNBD0vI/FpBoA9DiAI6cMihDrDQ0IS8RNSILqIcmky6RBHQLmmZBGCnoclSWX0egMoTi6kqUVFbCXxSCaXqhe014fX4YXi98/iCCxUXwB4sQKint36+TiIiIiIiIhnYodd555+Vuz5gxQ4VUY8eOxVNPPYVAIIDBTo7q2r9QO1FfQquaMRPU5WDTASOdbYh0diDa0YlIWzMi7R2ItTUh2tkJqyMBN6XDtWSRdRMiHoKml8LVijJhkubpHmXVfZFTAweyJpQcwaVGccni7B9BEojXA217XMC2ZFQHzUlBExY0V16nVaClQV7LgMuG0FMQugWYjhqtJYMtM+SFv7wIJcOrUF5VhZLqGhSVlsAwvLnRWbK9fYEga2MRERERERHl2aAOpfYnR0UdeeSR2L59O8466yw1tU7Wfuo5WqqpqUkVNpfk9fLly3udQ+7P7steZ7f1PEbOeZTBl8fjUZeDHZM9xweRU/5kgfSeI6VkLSqiTzIdcFjNSHX5MLLoejIeQSIaQVd7O9r27kW4rRnJzihSkRiSXXE4MReuowMJGWAFAQThIgh4QnDkCCw5XVBdZE2rAgU2crSXKacxAsKEGqHVF2mZgMW7Ly1A49bsni7AaZWF4dRYL02O3nJtaLI8vLBV6KUCMBV2WZltug1NS0NoLqA5gMeBZrjQdA0wXBimDs30QPcaMHwGzGAA3oAPgdJiBErK1W3DMOHzB+Dxe2F4DJhePzyGrqYC67oBTU7B7Ca3qWuPB4bph65rML1yamOmHYiIiIiIiA4Xh1QoFY1GsWPHDnzlK1/Bcccdp1bRk6vlXXLJJWq/XA1v9+7dqvaUJK9/9rOfobm5ObdK3qJFi1TgNG3atNwxzz//fK/nkcdkzyGnCMrnks9z0UUX5Qqdy/tytb8P4/P51IUo32RdJnkpr6pB7Xg5TfDgx8mpgjLA6mprQkdTExLhLiTjCdipJNKJdtiWhXg4gVhbJ9JdNhxLh2YFoMkC7XoIQg/C1fwQmi8zbVCuJChX61P1rgYpGbB1l+CSIdfHXulB5lpW9+VDj5MF5JOASKiQC8KFLmQI5qowTJO35cmEA02d1Ol9W44Ek2GYvK85PQIyG5pHQHgcyHxMDnqTza/7PaoIva/YD29REbwBPwJFIfhDRQiVlaKkohKh0nKUlFd0B18cIUZERERERIUxqEOp7373u7jwwgvVlD25gt6PfvQjNWrp8ssvV1Xcr732WjUSqaKiQgVNcjU8GSbJIufS2WefrcInGWLde++9qn7UHXfcgeuvvz4XFn3jG99Qq+rdeuutuOaaa7B48WI1PVCuyJcln+Oqq67C7Nmzcfzxx+PXv/41YrEYvvrVrxasbYj6gwwkisvK1GXUEd11rj6EDLFSibi6tlIJOGkLactGKhVHtLMDqWgU0Y4mdDa0INkRRiqagpPUIFIeIO2HpupgydUF/XDldfYip/hpZo9Qqx8Ktw8W3XW4evpIUxk/bkjWcrCDZLglR302qVBMhl9wBSAXYc2GY7Lelxwh1h2UqQBNBWXZkCwTmOnytgrL5EVA6640JrTMtXq85nYHaC6gC7neq7qWmaU6Xt3XoHk16HLkmBo9psHjM6EbHuhy5JnXBzMgC+AHYAQC6ne3LJpv+L0wDR8CRbK2WCmKSss4DZOIiIiI6BAzqEOp+vp6FUC1tbWhqqoKJ598MpYuXapuS7/61a/UVBc5UkoWFJer5j344IO5x8sAa+HChWq1PRlWhUIhFS795Cc/yR0zfvx4FUDdfPPN+M1vfoNRo0bhf/7nf9S5si699FK0tLTgrrvuUsHWMcccgxdffPGA4udEhzv5B79h9m9RcRlwpS0LVjIBO51CLBxGy5730FS3G5HGVjXV0I6m4aY1CMuE5vhVoXch5GqEflXcXQZdKuSSv9JUCGTIXwAHhEHUg0qG5MqNB9+dHUEmI6cBk8mvgMTHebDTY45m634hW3fspwK17tANLjR1jNzh9hgnJ0eu9divwrjM/fcvMnTLbs/sE9mQTuvelw3hZNOqa9EdymXCO6HL/QK6CucyLy8zoFA+PrNBk/vkbFkj833RNF1NE9U83RcZ2Hk80HSPym3lSDfTa0AzDXgME7qpZ6acq+mhBnS53aOrfTLc83jkVFGPWjjAkKGf4c2Efl4DHtMLrwz7zMyxnC5KRERERPmgCaF62ZQHsqaUHOHV1dWlRnYR0cDIjuiKx6Jo3VeP9oa9CLe0IN4ZhhVJIB1NwU25sFMCwhGAY0K4HmiOHKHlBVwDQo7ckrdhQCAz2slVheLlvu6pipqWGdUl588xAKPDjegR0KnRdNnt3eFcLqTrORE2sz0zcs7tcT/7OCkbGmYep/V8bM9L9jzydcgTdIeGcpvoPreuwkChQkK1vftYFTBq8ohsAJm5lvfVqbLPIUNF+XjTQsWkEnzh9u/3axPyfb83tgcREdHQEe7j+/6gHilFRPRJRnSFSkpRNWIkcOzAP6dcGbGzpQnh9haE29oRaW9HPNyJRDgKK5aEnUghHZMjvlykbZH5G9nWVSCmuQY0WejKlaGYp/tXswy5DGhy1JcMxmQYpobPZI5xuldPFGrEU3ZFxe7hN2o65CCu60WHhsw8y+5/kx/N/p92HQqffoW3vFXol0BEREQ05DCUIiLqB3K60/DRY9WlkCPEXMeB4ziIhbsQ6WhFNNKpVlxMhMNIxOJIJ2JIJlJwEinYKQtO2lajxhzLgVx8UA6eVasypnVAyGBLDjfxQBO6CsWEyIRi8r4GMxOUyfvqWoZkmbAsE4plrtXj1KiyzG0ZoGXGwMhtme2Z9EPNWetxyZ6HaOC9P2KLiIiIiPKFoRQR0WFCFfnuLvQtV1+sHFGLwahneOY6NlxXdF/bartc4TSdSqkaY/FoHMlIWI06SyYSsBKywH4atpWGm7Qy17ajwjUhr20XblqORBNqtperSj/JaV0ydJChmpZd7FDdlv9TdaCE1h24ye0ykJO3ugM4FcxlwrdceIYeoV0uVMtcMkFd9rjuKZ7dk81yIVv3Y9TTyAAuG9LJa3U/e1x3QJc7//vHZ/a9fy4GeJ+QKtJPRERERPnEUIqIiAoWnh3OeoZvkgze1LUsxt59v2cQJxxX3c8ck6m7JEM2SQgHlpWCY9sqaXNl+CbP7aZzx6RTSbXNTiWRTlvqWCdlw3EduPK+HA3n2nAcF8J14aRVMqfOlS0Q79jymMz0UlcmeTLQk68tV+NdBnxatrxTNibLhX1qi7ruDt3kdlWPqjtIy1SCfz9kk+dSRZ66z5Q9TsmGe/K5suFcJjDMBHhy5F2PY3uFcj1Cwdx19tj3R+Wp1ycfJ5LQy5MD8u+AiIiIiD4YQykiIqIBMFTCt/4K76QPC/Ay9zMhXuZ2d2DnZK73D/TU+WwZqPU+3lXhn1ypUY7Uy2wrq6rG8NFfy8vXS0RERETvYyhFREREBcPwjoiIiGjoYgEKIiIiIiIiIiLKO4ZSRERERERERESUdwyliIiIiIiIiIgo7xhKERERERERERFR3jGUIiIiIiIiIiKivGMoRUREREREREREecdQioiIiIiIiIiI8o6hFBERERERERER5R1DKSIiIiIiIiIiyjuGUkRERERERERElHcMpYiIiIiIiIiIKO8YShERERERERERUd4xlCIiIiIiIiIiorxjKEVERERERERERHnHUIqIiIiIiIiIiPLOyP9TDl1CCHUdDocL/VKIiIhogGXf77Pv/0Md+0FERERDR7iP/SCGUnkUiUTU9ejRowv9UoiIiCiP7/+lpaUY6tgPIiIiGnoi/6IfpAl+fJc3ruuioaEBxcXF0DSt31NI2cnbs2cPSkpK+vXc9MHY7vnHNi8MtnthsN0P7TaXXSzZEautrYWus2IC+0GHH7Z7YbDd849tXhhs90O73fvaD+JIqTyS34hRo0YN6HPIfzT8gc0/tnv+sc0Lg+1eGGz3Q7fNOULqfewHHb7Y7oXBds8/tnlhsN0P3XbvSz+IH9sREREREREREVHeMZQiIiIiIiIiIqK8Yyh1mPD5fPjRj36kril/2O75xzYvDLZ7YbDd849tfmji960w2O6FwXbPP7Z5YbDdh0a7s9A5ERERERERERHlHUdKERERERERERFR3jGUIiIiIiIiIiKivGMoRUREREREREREecdQ6jDxu9/9DuPGjYPf78fcuXOxfPnyQr+kw8Y999yDOXPmoLi4GMOHD8dFF12ELVu29DommUzi+uuvx7Bhw1BUVIRLLrkETU1NBXvNh5tf/OIX0DQNN910U24b23xg7N27F1/+8pdVuwYCAUyfPh0rV67M7ZdlCO+66y6MGDFC7T/zzDOxbdu2gr7mQ53jOLjzzjsxfvx41aZHHHEEfvrTn6q2zmK7f3JvvPEGLrzwQtTW1qrfJ88880yv/X1p4/b2dlxxxRUoKSlBWVkZrr32WkSj0Tx/JXQw7AcNHPaDBgf2hfKD/aD8Yz8oPwZzP4ih1GHgySefxC233KIq5L/zzjuYOXMmzjnnHDQ3Nxf6pR0WXn/9dfWGv3TpUixatAjpdBpnn302YrFY7pibb74Zzz77LBYsWKCOb2howMUXX1zQ1324WLFiBX7/+99jxowZvbazzftfR0cHTjrpJJimiRdeeAEbN27Efffdh/Ly8twx9957L+6//348/PDDWLZsGUKhkPp9IzvG9PH853/+Jx566CE88MAD2LRpk7ov2/m3v/1t7hi2+ycnf2fL90cZXhxMX9pYdsQ2bNig3gsWLlyoOnjXXXddHr8KOhj2gwYW+0GFx75QfrAfVBjsB+XHoO4HydX36NB2/PHHi+uvvz5333EcUVtbK+65556Cvq7DVXNzs4ztxeuvv67ud3Z2CtM0xYIFC3LHbNq0SR2zZMmSAr7SQ18kEhGTJk0SixYtEqeddpq48cYb1Xa2+cC47bbbxMknn/yB+13XFTU1NeKXv/xlbpv8Xvh8PvH444/n6VUefi644AJxzTXX9Np28cUXiyuuuELdZrv3P/m74q9//Wvufl/aeOPGjepxK1asyB3zwgsvCE3TxN69e/P8FVBP7AflF/tB+cW+UP6wH1QY7Afl32DrB3Gk1CHOsiysWrVKDa/L0nVd3V+yZElBX9vhqqurS11XVFSoa9n+8lPDnt+DKVOmYMyYMfwefELyk9kLLrigV9tKbPOB8fe//x2zZ8/GF77wBTVFY9asWfjv//7v3P5du3ahsbGxV7uXlpaqqTJs94/vxBNPxCuvvIKtW7eq+++++y7efPNNnHfeeeo+233g9aWN5bUcqi5/RrLk8fI9V36iSIXBflD+sR+UX+wL5Q/7QYXBflDhFbofZHyiR1PBtba2qnm41dXVvbbL+5s3by7Y6zpcua6r5vLLob1HH3202iZ/gL1er/oh3f97IPfRx/PEE0+oaRhyyPr+2OYDY+fOnWr4tJwG84Mf/EC1/b//+7+rtr7qqqtybXuw3zds94/v9ttvRzgcVn9MeDwe9Tv9Zz/7mRoiLbHdB15f2lheyz9SejIMQ/1hzu9D4bAflF/sB+UX+0L5xX5QYbAfVHiF7gcxlCL6iJ9WrV+/XqX3NHD27NmDG2+8Uc1XlkVrKX9/bMhPP37+85+r+/ITQvnvXc4tl50xGhhPPfUU5s+fj8ceewxHHXUU1qxZo/7ok4Uo2e5ENJiwH5Q/7AvlH/tBhcF+EHH63iGusrJSJcr7r7Qh79fU1BTsdR2ObrjhBlXQ7dVXX8WoUaNy22U7y+kDnZ2dvY7n9+Djk0PSZYHaY489ViXw8iILeMrie/K2TO3Z5v1PrrYxbdq0XtumTp2K3bt3q9vZtuXvm/71ve99T31KeNlll6lVfr7yla+o4rVyxSuJ7T7w+tLG8nr/wtm2bauVaPh9KBz2g/KH/aD8Yl8o/9gPKgz2gwqv0P0ghlKHODmc9LjjjlPzcHum/PL+vHnzCvraDheyFpzsiP31r3/F4sWL1XKlPcn2l6t09PweyKWS5RsYvwcfzxlnnIF169apT0qyF/nJlRzGm73NNu9/cjrG/st8y/n9Y8eOVbflv335ptOz3eVwazmPnO3+8cXjcTUfvyf5R7b8XS6x3QdeX9pYXss//uQfilnyPUF+n2TNBSoM9oMGHvtBhcG+UP6xH1QY7AcVXsH7QZ+oTDoNCk888YSqjP/oo4+qqvjXXXedKCsrE42NjYV+aYeFb37zm6K0tFS89tprYt++fblLPB7PHfONb3xDjBkzRixevFisXLlSzJs3T12o//RccUZim/e/5cuXC8MwxM9+9jOxbds2MX/+fBEMBsWf/vSn3DG/+MUv1O+Xv/3tb2Lt2rXis5/9rBg/frxIJBIFfe2HsquuukqMHDlSLFy4UOzatUs8/fTTorKyUtx66625Y9ju/bOC1erVq9VFdn/+67/+S92uq6vrcxufe+65YtasWWLZsmXizTffVCtiXX755QX8qkhiP2hgsR80eLAvNLDYDyoM9oPyYzD3gxhKHSZ++9vfqjclr9erlkZeunRpoV/SYUP+0B7s8sc//jF3jPxh/da3viXKy8vVm9fnPvc51WGjgeuIsc0HxrPPPiuOPvpo9QfelClTxCOPPNJrv1wy9s477xTV1dXqmDPOOENs2bKlYK/3cBAOh9W/bfk73O/3iwkTJogf/vCHIpVK5Y5hu39yr7766kF/l8vOcF/buK2tTXW+ioqKRElJifjqV7+qOnlUeOwHDRz2gwYP9oUGHvtB+cd+UH4M5n6QJv/zycZaERERERERERERfTSsKUVERERERERERHnHUIqIiIiIiIiIiPKOoRQREREREREREeUdQykiIiIiIiIiIso7hlJERERERERERJR3DKWIiIiIiIiIiCjvGEoREREREREREVHeMZQiIiIiIiIiIqK8YyhFRDQIvfbaa9A0DZ2dnYV+KURERER5x74Q0dDAUIqIiIiIiIiIiPKOoRQREREREREREeUdQykiooNwXRf33HMPxo8fj0AggJkzZ+LPf/5zr+Hkzz33HGbMmAG/348TTjgB69ev73WOv/zlLzjqqKPg8/kwbtw43Hfffb32p1Ip3HbbbRg9erQ6ZuLEifjDH/7Q65hVq1Zh9uzZCAaDOPHEE7Fly5Y8fPVEREQ01LEvRET5wFCKiOggZCfsf//3f/Hwww9jw4YNuPnmm/HlL38Zr7/+eu6Y733ve6pztWLFClRVVeHCCy9EOp3OdaC++MUv4rLLLsO6detw9913484778Sjjz6ae/yVV16Jxx9/HPfffz82bdqE3//+9ygqKur1On74wx+q51i5ciUMw8A111yTx1YgIiKioYp9ISLKB00IIfLyTEREhwj5qV1FRQVefvllzJs3L7f9a1/7GuLxOK677jqcfvrpeOKJJ3DppZeqfe3t7Rg1apTqaMkO2BVXXIGWlha89NJLucffeuut6hNF2bHbunUrJk+ejEWLFuHMM8884DXITyDlc8jXcMYZZ6htzz//PC644AIkEgn1iSQRERHRQGBfiIjyhSOliIj2s337dtXhOuuss9SnddmL/LRwx44dueN6dtJkx012rOSnfJK8Pumkk3qdV97ftm0bHMfBmjVr4PF4cNppp33oa5FD4rNGjBihrpubm/vtayUiIiLaH/tCRJQvRt6eiYjoEBGNRtW1/CRv5MiRvfbJegc9O2Mfl6zN0BemaeZuy9oN2RoPRERERAOFfSEiyheOlCIi2s+0adNUh2v37t2q4GbPiyzEmbV06dLc7Y6ODjUMferUqeq+vH7rrbd6nVfeP/LII9WngtOnT1cdqp51GYiIiIgGA/aFiChfOFKKiGg/xcXF+O53v6sKesrO0sknn4yuri7VkSopKcHYsWPVcT/5yU8wbNgwVFdXqyKclZWVuOiii9S+73znO5gzZw5++tOfqloLS5YswQMPPIAHH3xQ7Zcr0Fx11VWqWKcs7ilXtKmrq1PD0WUdBiIiIqJCYV+IiPKFoRQR0UHIDpRcRUauPLNz506UlZXh2GOPxQ9+8IPckPFf/OIXuPHGG1VthGOOOQbPPvssvF6v2iePfeqpp3DXXXepc8kaCLLjdvXVV+ee46GHHlLn+9a3voW2tjaMGTNG3SciIiIqNPaFiCgfuPoeEdFHlF0NRg5Tlx00IiIioqGEfSEi6i+sKUVERERERERERHnHUIqIiIiIiIiIiPKO0/eIiIiIiIiIiCjvOFKKiIiIiIiIiIjyjqEUERERERERERHlHUMpIiIiIiIiIiLKO4ZSRERERERERESUdwyliIiIiIiIiIgo7xhKERERERERERFR3jGUIiIiIiIiIiKivGMoRUREREREREREecdQioiIiIiIiIiIkG//H0M6vJ3g1oqNAAAAAElFTkSuQmCC\",\n      \"text/plain\": [\n       \"<Figure size 1200x500 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"fig, axes = plt.subplots(1, 2, figsize=(12, 5), sharex=True, sharey=False)\\n\",\n    \"for i in range(len(agents)):\\n\",\n    \"    p = axes[0].plot(jnp.stack(divs1[i]).mean(-1), lw=3, label=agents[i].alpha.mean())\\n\",\n    \"    axes[0].plot(jnp.stack(divs1[i]), color=p[0].get_color(), alpha=.2)\\n\",\n    \"\\n\",\n    \"    p = axes[1].plot(jnp.stack(divs2[i]).mean(-1), lw=3, label=agents[i].alpha.mean())\\n\",\n    \"    axes[1].plot(jnp.stack(divs2[i]), color=p[0].get_color(), alpha=.2)\\n\",\n    \"\\n\",\n    \"axes[0].legend(title='alpha')\\n\",\n    \"axes[0].set_ylabel('KL divergence')\\n\",\n    \"axes[0].set_xlabel('epoch')\\n\",\n    \"axes[1].set_xlabel('epoch')\\n\",\n    \"axes[0].set_title('A matrix')\\n\",\n    \"axes[1].set_title('B matrix')\\n\",\n    \"fig.tight_layout()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualize the learned A matrices alongside the true environmental parameters after training\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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RjMVonsvGiYW7aF16ZnLzfnn3m6cPiinalvG85hAluo82BDwrEu5dEY/QBtzdcF2wd/92Bn9rVS+zUUicbKKJc2lckxhal4Me/Yx9etSrnOKx1vNNu1cSkOxIt3ecjDaNtrJRES00WitfBONCGt+2Iy8wGhbL32cfdvblRuJ9m5jX352I9me1hfylgP6qDTth+wBMxzXStD+oqZv0LVNOBuVS2f0Az92NtrEh525iGovn0M/8OPbnD4oZzRIv6Q8M1twX+0Gup2PcJmidLt7cfGyazbBvN51pq2S2+g12D+Hhu9He8z7cc8Cy1UfTlbNWhrWa8cZv2+h63X1LKtzbROu7ZJbU55yAm20Pyg00QnPo62moP65cde6cG3rpTPq61dn9IVy2dmPr3v5th99SoX0TZRCkt570vUhzyj0DKxzguF7WIYm1OsuhzMLZiSEe70zFjAjyI8+uLZBrNVdX+4Yri7RbvdyUB8us6jmFfesE64cL/uMlc6orx87s1knJbAz+psfX+B09vJtTs549kt6Rg8dCLtr1y613377Od+VdFDsSPzhD39Ql156qdq0aZNasmSJuuaaa9TJJ5/MHvvJT35S3XDDDeo73/mOOu+889RYEuym7wp2iKYVRbvNbw+DjbCuRHvec+YJLzlOOS30Gb9zKfWKSLd5n8RMgfp1Gdd6cDr1zgl5rnm461BYn2KTd8ZC9baca7tx+njJ4Y6peQW+tzAujjYql87Y/mhjP3bm5HjZGf2tVL7N+RMnq1jSk/h5acqscaE77A996ENq//33dwYqLrroIvWZz3zG+W34oIXOaNADFG95y1tUKpVypoHS6MGBocwNPY+f/k3//9y5c52pmvSAxa9+9Stn0KJQKM2iT8j73vc+tWHDBic1b+fOneqHP/yhUxdBECYWuULQ+BMEQai0fkn6JkEQxhvplwRBmIz90s033+zM4KGnGNdrrOqBCx1Y29LSwh6v11Y944wz1Ec+8hH19NNPO0G0+m/16tXGsX/+85+dINxZs2aNSj9BECYeuUn8vDR5h2SG0dbWpn7961+rL37xi86f5q9//av6wAc+4Aw26AEN5IQTTnBuCN/97nfVKaecolatWuUMGDz//PPq7LPPVrFYjKyZoQc2hgYs9OLdlUpiA51QO9KZJNt9c82wFpyrHOdD11RBZFyoo99VjmZwetQ1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17mtb09jy0paiGvD4/HKpX896Q7HPYDzat1/x/q84u+0+/4n8B79PsNe74nUOl9Tut39mtoWzvOksNJqsgyvZemPS7e73iLV5dpYGjsk7r06iyuspPabot16VA5epz1f6v7bKdxnNdk6V98n2dzmVI6zfowTOc6ey4lzznm9J965nchyUkIuOeb924BbJbLP2cOuaKfzM6FYGxslv9rr/ufOY1O00/mZpy/DazmxYmcrrIM3eNwb91DnvIO2aa3g9rrPG31d9O1R8muc5+N3XZzLKX7To7eB9tlatsmKe62m77u9h+XFXc6ezs7HLbTXRN2N6+SgrbEmj4/XMfyua9Prom+vUvZF08vx2v+u4+zRNknfL/r2JHKc453XiZzbiWyP17mdErLJMa/3n2bLjsLvW9sXaC03D/rK43vaTufxqjpE+3s73H0868qd+11fTlGFeznlG7Tr8xot/3a7z8+KHloPyHIr7va02KJ9LlY7HxdVuM+9mvKiuOuij/ml7zd9e+zXbNXO+zpnuSU17vM31rG0ybH89OPj1za7xjjzOBf046wf43QdZ/18S+Tc1o9PIue213JSQi455p175t2St2rv9zO03wiqW3tcwOtjw2nvUVp/si/p97iWpb1nR293K/oWm7W7LETirEcCy/nm5ENc7yn7wrmc77oWNPm817qksj0VP+zmek35RudrKtsXNL1P7HWJZGWb9f2fyPmk7xfv7UnyfEvTue11PnkuK1l14c0lKi4M0KpVK+ndu7djXosWLaRNmzb2fHU7qLlz58qZZ55pz1NjXEyZMkWGDRsmffr0abTc4uJie2pIv+0BgMyzQlT7nSxyCTATuUQuASYim5zZFCkkm4BsI5e4ZgJMY4U4l0iYACgqKpI33nhDZs2aJZWVldK5c2c5//zz5Ze//GXSZcUKna0dYtp9Ob3uE6jfo83rNXo58ZZjl6uVYxVoLXh3uWsv9ddEovpy49+/XS/j663upnIDun3peLz8c2ezvohWxv7laPcl117itT2duzvvN/jnzf3dr2nlfM3m9W2bXM7+dcnONuv7Xz/GXuui7xf9+f3lRJI639J1bnudT17LSlqdR41/LovpPSPcLbUKK50HJ1qotYLzbIUeS2E58Y9N4Z6m76frVYa+rHjb43U/zFi+fk6736O/Rt8vXsuJtz0tq9x/PHUl+U3n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\",\n      \"text/plain\": [\n       \"<Figure size 1600x800 with 60 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"n_batches_to_show = min(5, agents[0].A[0].shape[0])\\n\",\n    \"num_rows = len(agents) + 1\\n\",\n    \"row_labels = []\\n\",\n    \"for agent in agents:\\n\",\n    \"    alpha_value = float(agent.alpha.mean(0).squeeze())\\n\",\n    \"    row_labels.append(f'alpha={alpha_value:.2f}')\\n\",\n    \"\\n\",\n    \"fig, axes = plt.subplots(num_rows, n_batches_to_show, figsize=(16, 8), sharex=True, sharey=True)\\n\",\n    \"\\n\",\n    \"for i in range(n_batches_to_show):\\n\",\n    \"    for j, agent in enumerate(agents):\\n\",\n    \"        sns.heatmap(agent.A[0][i], ax=axes[j, i], cmap='viridis')\\n\",\n    \"    sns.heatmap(env.A[0], ax=axes[-1, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    axes[0, i].set_title(f'batch={i + 1}')\\n\",\n    \"\\n\",\n    \"for j, label in enumerate(row_labels):\\n\",\n    \"    axes[j, 0].set_ylabel(label, rotation=25, labelpad=60, ha='left', va='center')\\n\",\n    \"axes[-1, 0].set_ylabel('true A', rotation=0, labelpad=40, ha='left', va='center')\\n\",\n    \"\\n\",\n    \"fig.tight_layout()\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualize the B tensor (just the expected value of the posterior which in absence of learning is same as the prior) alongside the true environmental parameters after training\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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pxOW5jedErlYsmSJDB482BQXtEPi7LPPlnvvvVfat28vx44dk4oVK5qCQL169czzS5UqJTfeeKPplFi4cKF07do14t0SAwYMkK+++kr+9a9/SdWqVc2WUR06dJBvvvlGzjzzTKv2IsztL15+7wyIZuWdOwCA+EmxtNIfTaHyOx77yEYiv2Od3Yr8BmKD/A5Gfod3bfIbiA3yOxj5Hd61yW8gNlIszW86JU6ihQQ9nn/+eTO8eseOHabQoAOsb7jhBvn9999NYSIxMVE+++wz83WAdjBceumlMnv2bPN1JAsSx48fN1tGPfroo3LJJZeYIsm4cePMr7pWAHDbnognHwAA5yO/AcBO5DcA2CnV0vy2Y5UxpIWETZs2yfLly+Xjjz82xQftRmjatKlccMEFphAwZcoUs1XTq6++KmvWrDHFC6XdE4ULFzbbOmVkZJjXRooO19ZrFitWLMd53cbpk08+yfN1cqvqO31+glPmPnAHABAbKZa0G8ZSqPy2IXuc0nVGfgOxQX4HI78jv454rQVwM/I7GPkd+XXEay2Am6VYmt+e6pTQDoi8KFu2rNmyKSA1NVVOP/10ueeee0wh4scffzRbO+m56dOny2+//Wael5aWZjorKlSoENGChCpdurS0bNlSHnjgAfnPf/5jChS6fdPatWtl7969Ef1eABBvJ/yFgg4AgPOR3wBgJ/IbAOx0wtL8tmOVYQrMdghsp6RFhiJFipyyK+Giiy6St99+W5o0aSKFCv33t+mWW26R++67T95//3257bbbZMSIEfLYY49JixYt5J///KesXLnSvLZXr15R+Tl0lkT//v3N/Agteuja+vTpYzo7QtHh3Hpkl+nPkARfoqsr6bauG8D/pGV64u0pV3nNbydlTyQ62py+7mivBXAD8pv8zsvz3dRJDbgF+U1+5+X5kUB+A5Fla357olMiUIxYtGiRXH755TJo0CB58803szoctOsgu7POOkvOO+88Wbdunfz888+SkJBgChn6a7du3WT+/Pnmed27dzfzI6666ipzbe2cWLp0qdSvXz8qP0edOnVk1apVcvToUdm9e7esX7/edGfoekOZNGmS6frIfuz0fxuVtQFAJKVkFgo6vIT8BmAr8pv8BmAn8pv8BmCnFEvz2+fP655Glnvqqadk4sSJMmDAANmzZ4+sXr1aWrVqZYoToboq3n33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\",\n      \"text/plain\": [\n       \"<Figure size 1600x800 with 48 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"num_actions = env.B[0].shape[-1]\\n\",\n    \"base_labels = [\\\"Up\\\", \\\"Right\\\", \\\"Down\\\", \\\"Left\\\", \\\"Stay\\\"]\\n\",\n    \"action_labels = base_labels[:num_actions]\\n\",\n    \"\\n\",\n    \"row_labels = []\\n\",\n    \"for agent in agents:\\n\",\n    \"    alpha_value = float(agent.alpha.mean(0).squeeze())\\n\",\n    \"    row_labels.append(f'alpha={alpha_value:.2f}')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"fig, axes = plt.subplots(len(agents)+1, num_actions, figsize=(16, 8), sharex=True, sharey=True)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"for i in range(num_actions):\\n\",\n    \"    for j, agent in enumerate(agents):\\n\",\n    \"        sns.heatmap(agent.B[0][0, ..., i], ax=axes[j, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    sns.heatmap(env.B[0][..., i], ax=axes[-1, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    axes[0, i].set_title(action_labels[i])\\n\",\n    \"\\n\",\n    \"for j, label in enumerate(row_labels):\\n\",\n    \"    axes[j, 0].set_ylabel(label, rotation=25, labelpad=60, ha='left', va='center')\\n\",\n    \"axes[-1, 0].set_ylabel('true B', rotation=0, labelpad=40, ha='left', va='center')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"fig.tight_layout()\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Here, once again the agents have to learn the A matrix, but now have an informative prior over the B matrix: we fix it to the expected transition distribution under a flat prior over actions, i.e. the agent knows generally that motion on the grid is restricted to the locality, but have no sense of how particular actions relate to particular transitions.\\n\",\n    \"#### We use a precise and accruate prior over initial hidden states\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"C = [jnp.zeros(num_obs[0])]\\n\",\n    \"pA = [jnp.ones_like(env.A[0]) / num_obs[0]]\\n\",\n    \"_A = jtu.tree_map(lambda a: dirichlet_expected_value(a), pA)\\n\",\n    \"B_collapsed_actions = jnp.clip(env.B[0].sum(-1), max=1)\\n\",\n    \"pB = [jnp.expand_dims(B_collapsed_actions, -1) + jnp.ones_like(env.B[0]) / num_states[0]]\\n\",\n    \"_B = jtu.tree_map(lambda b: dirichlet_expected_value(b), pB)\\n\",\n    \"\\n\",\n    \"agents = []\\n\",\n    \"for i in range(5):\\n\",\n    \"    agents.append( \\n\",\n    \"        Agent(\\n\",\n    \"            _A,\\n\",\n    \"            _B,\\n\",\n    \"            C,\\n\",\n    \"            D,\\n\",\n    \"            E=None,\\n\",\n    \"            pA=pA,\\n\",\n    \"            pB=pB,\\n\",\n    \"            policy_len=3,\\n\",\n    \"            use_utility=False,\\n\",\n    \"            use_states_info_gain=True,\\n\",\n    \"            use_param_info_gain=True,\\n\",\n    \"            gamma=jnp.ones(batch_size),\\n\",\n    \"            alpha=jnp.ones(batch_size) * i * .2,\\n\",\n    \"            categorical_obs=False,\\n\",\n    \"            action_selection=\\\"stochastic\\\",\\n\",\n    \"            inference_algo=\\\"exact\\\",\\n\",\n    \"            num_iter=1,\\n\",\n    \"            learn_A=True,\\n\",\n    \"            learn_B=False,\\n\",\n    \"            learn_D=False,\\n\",\n    \"            batch_size=batch_size,\\n\",\n    \"            learning_mode=\\\"offline\\\",\\n\",\n    \"        )\\n\",\n    \"    )\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Run multiple blocks of active inference on grid world for each batch of agents that was initialized different `alpha` values. \\n\",\n    \"\\n\",\n    \"#### Since the agents are using offline learning (`learning_mode = \\\"offline\\\"`), this means that parameter updates to the A matrix are performed at the end of each block.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"pA_ground_truth = 1e4 * env.A[0] + 1e-4\\n\",\n    \"pB_ground_truth = 1e4 * env.B[0] + 1e-4\\n\",\n    \"num_timesteps = 50\\n\",\n    \"num_blocks = 100\\n\",\n    \"key = jr.PRNGKey(0)\\n\",\n    \"block_and_batch_keys = jr.split(key, num_blocks * (batch_size+1)).reshape((num_blocks, batch_size+1, -1))\\n\",\n    \"\\n\",\n    \"divs1 = {i: [] for i in range(len(agents))}\\n\",\n    \"divs2 = {i: [] for i in range(len(agents))}\\n\",\n    \"for block in range(num_blocks):\\n\",\n    \"    block_keys = block_and_batch_keys[block]\\n\",\n    \"    for i, agent in enumerate(agents):\\n\",\n    \"        init_obs, init_states = vmap(env.reset)(block_keys[:-1])\\n\",\n    \"        last, info = jit(rollout, static_argnums=[1,2])(agent, env, num_timesteps, block_keys[-1], initial_carry={\\\"observation\\\": init_obs, \\\"env_state\\\": init_states})\\n\",\n    \"        agents[i] = last['agent']\\n\",\n    \"        divs1[i].append(kl_div_dirichlet(agents[i].pA[0], pA_ground_truth).mean(-1))\\n\",\n    \"        divs2[i].append(kl_div_dirichlet(agents[i].pB[0], pB_ground_truth).sum(-1).mean(-1))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Plot the KL divergence between the true parameters and believed parameters over time for the different groups of agents (agents with different levels of action stochasticity)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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q+BW69at1f6FCxeqDKcDBw6gWrVq6vWSXSUBV5vNpsY88sgj+Oyzz7Bt2zb1vGfPnsjMzFTv7XfFFVegRYsWKpBVEDwPIiIiKj/SCvi7z0wpIiKiApBsFX9ASv6jnygiIkLdS2BK/i6Keimf2+3G+++/j1GjRgUCou3bt8e8efPQrVs3FRybP38+nE4nOnTooPavXLlSbfcHpIRkRMkyvl9//RW33HKLGnP11VcHAlLihhtuUIGtU6dOoUKFCmqMvG8wGSOBKyIiIqILxaAUERFRAfhrSEmGFJGf/+9B/j6KOiglASAJjN5zzz2BbRKEkiwmCZRaLBY1n08//RT16tVT+yX7SQJmwWRcQkKC2ucfU7du3ZAxVapUCeyToJTc+7cFj/EfIz8ul0vdgq+YEhEREQVj9z0iIqLzwCV7FK6/h3fffRddu3ZVS+78pPC4BKq+/fZbVUdKspmkppTUhQo3qT8lafv+W82aNcM9JSIiIiphmClFREREVMJJBz4JPH3yySeBbbt27cIbb7yhip9feumlalvz5s3x448/qs58UutJirDL8sJgXq9XdeSTfULujx49GjLG//xcY/z78zNu3LiQJX+SKcXAFBEREQVjphQREREF7NmzR2X/bNiwocCvmTVrlqpbREVn5syZahme1I7yk0LrQupDBZNlhLquq8ft2rVTmVRr164N7F+2bJna37Zt28CYH374IbBEVUinvgYNGqile/4xS5cuDXkfGSPbz8Rut6vCpsE3IiIiomAMShERERGVYBJAkqBUv379VD0ov4YNG6raUffddx9WrVqlMqcmT56sgkXdu3dXYxo1aoQuXbrg3nvvVWN+/vlnDBs2DL169QosA+zdu7cqcj5w4EBs3bpVFU6fOnVqSJbT8OHDVdc+Ob505HviiSfUckE5FhEREdGFYlCKiIiIqASTZXv79u3DgAEDQrZbrVZ8/fXXqFSpEm6++WY0a9YM//nPfzB79mzceOONgXFz5sxRAazrrrtObb/qqqswY8aMwH6p97R48WLs3r0brVq1wkMPPYQJEyZg8ODBgTHS5W/u3LnqdbJE8OOPP1aF15s0aVJM3wIRERGVRQxKERERlTOS8SKBCVlyJ13bbrrpJpVlk5/ly5er5XwLFixQQQ+Hw4ErrrhC1THKbdGiRSozJzo6WmXnHD58OLBv9erVuP76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7ty5GD9+PB599FHUr19fdd5r0qRJGD8FEREREZUlDEqVEZpZgwZD1ZRyOVlTioiI8pKlemdarrd8+fI8226//XZ1IyIiIiIqCix0XkaYrCZA09Vjr8sZ7ukQEREREREREZ0Vg1JlhMlskjwpQDfB6/KGezpERERERERERGfFoFQZYbLJSkxV6hy6zwO3k9lSRERERERERFRyMShVRuheCUhpOf+kPiA7MyPcUyIiIiIiIiIiOiMGpcoI16lsaLoDmqHKnSM7IzXcUyIiIiIiIiIiOiMGpcoAr8cDb7YOA3YYhgmGrsOZnR3uaRERERERERERnRGDUmWAxWqFJiv3FA3QAXdWVngnRURERERERER0FgxKlRGGRKIkICXL9wwdTiczpYiIiIiIiIio5GJQqozQLJoqcy7/pD6vD16nK9xTIiIiIiIiIiI6IwalygiTOafAuazj07063C5nuKdERERERERERHRGDEqVESa7WS3iU//n88LrZqYUERGFmjZtGurUqQOHw4G2bdti1apVZxz79ttv4x//+AcqVKigbp06dcoz3jAMTJgwAVWrVkVERIQas2PHjpAxJ0+exF133YXY2FjEx8dj4MCByMjICBmzadMm9V4yr5o1a+LFF1/MM5+PPvoIDRs2VGOaNm2Kr7/+utDnsn37dnTs2BFVqlRR73PRRRdh/Pjx8Hg8CBf599I0Lc9t6NCh2LNnT7775Cbfl9++ffvQrVs3REZGonLlyhg9ejS8Xm/I+yxfvhwtW7aE3W5HvXr1MGvWrL/190NERERUEAxKlREWuzUnKKWZoOsavC53uKdEREQlyLx58zBq1ChMnDgR69atQ/PmzXHDDTfg2LFj+Y6XIMWdd96J7777DitXrlTBos6dO+PgwYOBMRI8eu211zB9+nT8+uuviIqKUsd0Ov/K1pUg0NatW7FkyRJ89dVX+OGHHzB48ODA/rS0NHXc2rVrY+3atXjppZfwxBNPYMaMGYExK1asUHORINL69evRvXt3dduyZUuhzsVqtaJv375YvHixClC9+uqrKjgn31m4rF69GocPHw7cZO7i9ttvV/8mwfvk9uSTTyI6Ohpdu3ZV43w+nwpIud1u9T3Onj1bBZwkgOe3e/duNUYCchs2bMCIESMwaNAgLFq06IL/foiIiIgKxKBik5qaashXLveF7cNnnjFm3D3Z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ZlCKiIiIiIiIiMp3plR5UxxXCD+b+goObroUkKLnp1kzfkFCCwsiYqJw+Y03oXLN2kXy3kREZRkzpSg/zJQqOH4fRERE5UdaAX/3Q9vqUKlni46QhY25tkqAKif26HI6wzIvIiIiIiIiIqJgDEqVMTZHlLTay70VOL3J5cwKx7SIiIiIiIiIiEIwKFXGOGKioPkjUKcZsMI4HajyZDMoRUT0d3DVOwXj3wMRERHRhWNQqoxxREVB072hGzU7dF/OSbPH4w7PxIiISjnr6Vp9WVkM7tNf/H8P/r8PIiIiIiq4sHbfo8LniI6GhvRcW63QTteZ8rCmFBHRBZGOr/Hx8apzrIiMjISmaeGeFoUxQ0oCUvL3IH8X8vdBREREROeHQakyJjImFtD359pqhXE6Kc7j9oRlXkREZUFSUpK69wemiCQg5f+7ICIiIqLzw6BUGRMdEwtNDw08GSYLDCMnU8rrdoVpZkREpZ9kRlWtWhWVK1eGx8Mgf3knS/aYIUVERER04RiUKmPskbJ8L9d/KGlmGKdrSnldrClFRPR3SSCCwQgiIiIior+Hhc7LGItV6keFBp50zQLdm9N9z8cr+0RERERERERUAjAoVcZYbXYgV1BKlu/5PDlBKS9rShERERERERFRCcCgVBljczhgGLk77Jmgu73qkc+bc09EREREREREFE4MSpVBBnIVM7fa4D29fM/QdbiduYNWRERERERERETFi0GpMsgwZ+fd5tKlbZR67GJQioiIiIiIiIjCjEGpMsgUmbdulOGxwmzJabbozEoPw6yIiIiIiIiIiP7CoFQZpJkNwBsamDI8ZlhsNvXY42KmFBERERERERGFF4NSZZDZZpHCUiE03aHqSQlnVt7lfURERERERERExYlBqTLIHCUZUb6QbQYcME5HqtxOBqWIiIiIiIiIKLwYlCqD7FGR0mYvdKMRAeP0NjeX7xERERERERFRmDEoVQZFxkbDZIRmSkFzwPDlBKV0d95C6ERERERERERExYlBqTLIHheVN1MKNng9XvXI52NQioiIiIiIiIjCi0GpMigqKgYacgJQfrrJBuN08XOfL1cWFRERERERERFRMWNQqgyyRUVC00ODUobJCt17OlPKxUwpIiIiIiIiIgovBqXKIHtEBDTDk09QKidDypcrYEVEREREREREVCqCUrt27cL48eNx5513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nmKG1KRI8GZ0mzvWtZ8OJPLzyT6+7B666eI1VqoRERERER2pGEoRER3GoVn/gYP1diSTRvzJeCcS0U6kU6ls6JZOIxWPIhmPw0k7cKS/WSYNN5WB46Th6Ao2B15Gwjhp1O/qQM51lL5UOpTL9W7PTRmT/9PNlXQgZ+jADvA8uS3TweQxqXrLTvXMhnbZEE5iu+x12ScXsOVCum6Pdbtfejhl5YI9Qx/a0IFfvjtUfmppNtzL9VjL3df1mvV93a532yer2/V8ILjn7e7HygWFRw/p6UVEREREhcVQioiIDmmhkhK9VdXWFfulHFVy1XipZBKe68DJpOBmHH3bdTPZxzMZfdtJSxiYgus4UI7sm0EiEgM8BU95ehqsng7rOPq2HE9lpA+crPTo6WDQlco9mQbryeqNCtABYrZVlDxXjpXtKd91v4RnnqSKEqRlp8/2oPvLS0iYrfWDhIs9wseu/SWEtByUjy4twlkmIiIiOroxlCIiIqJPrMaTnm5ERERERH3h6KrNJyIiIiIiIiKiQwJDKSIiIiIiIiIiKjiGUkREREREREREVHAMpYiIiIiIiIiIqOAYShERERERERERUcExlCIiIiIiIiIiooJjKEVERERERERERAXHUIqIiIiIiIiIiAqOoRQRERERERERERUcQykiIiIiIiIiIio4hlJERERERERERFRwDKWIiIiIiIiIiKjgGEoREREREREREVHBMZQiIiIiIiIiIqKCYyhFREREREREREQFZxf+Sx69lFL6MhKJFPulEBERUR/L/b7P/f4/2nEcREREdPSI7OM4iKFUAXV2durLoUOHFvulEBERUQF//1dUVOBox3EQERHR0afzM8ZBhuLHdwXjeR527tyJsrIyGIZx0FNIGeRt27YN5eXlB/XY9Ml43guP57w4eN6Lg+f98D7nMsSSgdigQYNgmuyYwHHQkYfnvTh43guP57w4eN4P7/O+r+MgVkoVkHwjhgwZ0qdfQ/7R8D/YwuN5Lzye8+LgeS8OnvfD95yzQupjHAcduXjei4PnvfB4zouD5/3wPe/7Mg7ix3ZERERERERERFRwDKWIiIiIiIiIiKjgGEodIQKBAO6++259SYXD8154POfFwfNeHDzvhcdzfnji9604eN6Lg+e98HjOi4Pn/eg472x0TkREREREREREBcdKKSIiIiIiIiIiKjiGUkREREREREREVHAMpYiIiIiIiIiIqOAYSh0hfve732HEiBEIBoM47bTTsHjx4mK/pCPGvffei1NOOQVlZWXo378/Lr30UtTX1/fYJ5lM4sYbb0RNTQ1KS0tx+eWXY9euXUV7zUea++67D4Zh4Mc//nH+Pp7zvrFjxw58+9vf1uc1FAph0qRJWLp0af5xaUN41113YeDAgfrxc889F+vWrSvqaz7cua6LO++8EyNHjtTndNSoUfjlL3+pz3UOz/uBmzdvHi655BIMGjRI/zx58cUXezy+L+e4tbUVV111FcrLy1FZWYnrrrsO0Wi0wO+EesNxUN/hOOjQwLFQYXAcVHgcBxXGoTwOYih1BHj22Wfxk5/8RHfIf//993HCCSfgi1/8Ipqamor90o4Ic+fO1b/wFy5ciFmzZiGTyeD8889HLBbL73PzzTfj5ZdfxvPPP6/337lzJy677LKivu4jxZIlS/Doo4/i+OOP73E/z/nB19bWhhkzZsDn8+H111/HqlWr8MADD6Cqqiq/z/33348HH3wQjzzyCBYtWoSSkhL980YGxrR//uM//gMPP/wwHnroIaxevVrflvP829/+Nr8Pz/uBk5/Z8vtRwove7Ms5loHYypUr9e+CV155RQ/wbrjhhgK+C+oNx0F9i+Og4uNYqDA4DioOjoMK45AeB8nqe3R4O/XUU9WNN96Yv+26rho0aJC69957i/q6jlRNTU0S26u5c+fq2+3t7crn86nnn38+v8/q1av1PgsWLCjiKz38dXZ2quOOO07NmjVLnXnmmeqmm27S9/Oc943bbrtNzZw58xMf9zxP1dXVqV//+tf5++R7EQgE1NNPP12gV3nkufjii9W1117b477LLrtMXXXVVfo6z/vBJz8r/vKXv+Rv78s5XrVqlX7ekiVL8vu8/vrryjAMtWPHjgK/A+qO46DC4jiosDgWKhyOg4qD46DCO9TGQayUOsyl02m89957urwuxzRNfXvBggVFfW1Hqo6ODn1ZXV2tL+X8y6eG3b8HY8eOxbBhw/g9OEDyyezFF1/c49wKnvO+8de//hUnn3wyvv71r+spGlOmTMF///d/5x/ftGkTGhsbe5z3iooKPVWG533/TZ8+HW+++SbWrl2rb3/00Ud45513cOGFF+rbPO99b1/OsVxKqbr8N5Ij+8vvXPlEkYqD46DC4ziosDgWKhyOg4qD46DiK/Y4yD6gZ1PR7d69W8/DHTBgQI/75faaNWuK9rqOVJ7n6bn8Uto7ceJEfZ/8B+z3+/V/pHt+D+Qx2j/PPPOMnoYhJet74jnvGxs3btTl0zIN5uc//7k+9z/60Y/0ub766qvz57a3nzc87/vv9ttvRyQS0X9MWJalf6bfc889ukRa8Lz3vX05x3Ipf6R0Z9u2/sOc34fi4TiosDgOKiyOhQqL46Di4Dio+Io9DmIoRfQ5P61asWKFTu+p72zbtg033XSTnq8sTWupcH9syKcfv/rVr/Rt+YRQ/r3L3HIZjFHfeO655/Dkk0/iqaeewoQJE/Dhhx/qP/qkESXPOxEdSjgOKhyOhQqP46Di4DiIOH3vMNevXz+dKO+50obcrqurK9rrOhL98Ic/1A3d3nrrLQwZMiR/v5xnmT7Q3t7eY39+D/aflKRLg9oTTzxRJ/CySQNPab4n1yW15zk/+GS1jfHjx/e4b9y4cdi6dau+nju3/HlzcN166636U8Irr7xSr/Lzne98RzevlRWvBM9739uXcyyXezbOdhxHr0TD70PxcBxUOBwHFRbHQoXHcVBxcBxUfMUeBzGUOsxJOelJJ52k5+F2T/nl9rRp04r62o4U0gtOBmJ/+ctfMHv2bL1caXdy/mWVju7fA1kqWX6B8Xuwf8455xwsX75cf1KS2+STKynjzV3nOT/4ZDrGnst8y/z+4cOH6+vyb19+6XQ/71JuLfPIed73Xzwe1/Pxu5M/suVnueB573v7co7lUv74kz8Uc+R3gnyfpOcCFQfHQX2P46Di4Fio8DgOKg6Og4qv6OOgA2qTToeEZ555RnfGf/zxx3VX/BtuuEFVVlaqxsbGYr+0I8L3v/99VVFRoebMmaMaGhryWzwez+/zz//8z2rYsGFq9uzZaunSpWratGl6o4On+4ozguf84Fu8eLGybVvdc889at26derJJ59U4XBYPfHEE/l97rvvPv3z5aWXXlLLli1TX/nKV9TIkSNVIpEo6ms/nF199dVq8ODB6pVXXlGbNm1SL7zwgurXr5/62c9+lt+H5/3grGD1wQcf6E2GP7/5zW/09S1btuzzOb7gggvUlClT1KJFi9Q777yjV8T65je/WcR3RYLjoL7FcdChg2OhvsVxUHFwHFQYh/I4iKHUEeK3v/2t/qXk9/v10sgLFy4s9ks6Ysh/tL1tf/zjH/P7yH+sP/jBD1RVVZX+5fXVr35VD9io7wZiPOd94+WXX1YTJ07Uf+CNHTtWPfbYYz0elyVj77zzTjVgwAC9zznnnKPq6+uL9nqPBJFIRP/blp/hwWBQHXPMMeqOO+5QqVQqvw/P+4F76623ev1ZLoPhfT3HLS0tevBVWlqqysvL1Xe/+109yKPi4zio73AcdOjgWKjvcRxUeBwHFcahPA4y5P8OrNaKiIiIiIiIiIjo82FPKSIiIiIiIiIiKjiGUkREREREREREVHAMpYiIiIiIiIiIqOAYShERERERERERUcExlCIiIiIiIiIiooJjKEVERERERERERAXHUIqIiIiIiIiIiAqOoRQRERERERERERUcQykiokPQnDlzYBgG2tvbi/1SiIiIiAqOYyGiowNDKSIiIiIiIiIiKjiGUkREREREREREVHAMpYiIeuF5Hu69916MHDkSoVAIJ5xwAv70pz/1KCd/9dVXcfzxxyMYDGLq1KlYsWJFj2P8+c9/xoQJExAIBDBixAg88MADPR5PpVK47bbbMHToUL3Pscceiz/84Q899nnvvfdw8sknIxwOY/r06aivry/AuyciIqKjHcdCRFQIDKWIiHohg7D/+7//wyOPPIKVK1fi5ptvxre//W3MnTs3v8+tt96qB1dLlixBbW0tLrnkEmQymfwA6hvf+AauvPJKLF++HL/4xS9w55134vHHH88//5/+6Z/w9NNP48EHH8Tq1avx6KOPorS0tMfruOOOO/TXWLp0KWzbxrXXXlvAs0BERERHK46FiKgQDKWUKshXIiI6TMindtXV1fjHP/6BadOm5e+//vrrEY/HccMNN+Css87CM888gyuuuEI/1traiiFDhuiBlgzArrrqKjQ3N+ONN97IP/9nP/uZ/kRRBnZr167FmDFjMGvWLJx77rl7vQb5BFK+hryGc845R9/32muv4eKLL0YikdCfSBIRERH1BY6FiKhQWClFRLSH9evX6wHXeeedpz+ty23yaeGGDRvy+3UfpMnATQZW8imfkMsZM2b0OK7cXrduHVzXxYcffgjLsnDmmWd+6muRkvicgQMH6sumpqaD9l6JiIiI9sSxEBEVil2wr0REdJiIRqP6Uj7JGzx4cI/HpN9B98HY/pLeDPvC5/Plr0vvhlyPByIiIqK+wrEQERUKK6WIiPYwfvx4PeDaunWrbrjZfZNGnDkLFy7MX29ra9Nl6OPGjdO35fLdd9/tcVy5PXr0aP2p4KRJk/SAqntfBiIiIqJDAcdCRFQorJQiItpDWVkZfvrTn+qGnjJYmjlzJjo6OvRAqry8HMOHD9f7/fu//ztqamowYMAA3YSzX79+uPTSS/Vjt9xyC0455RT88pe/1L0WFixYgIceegi///3v9eOyAs3VV1+tm3VKc09Z0WbLli26HF36MBAREREVC8dCRFQoDKWIiHohAyhZRUZWntm4cSMqKytx4okn4uc//3m+ZPy+++7DTTfdpHsjTJ48GS+//DL8fr9+TPZ97rnncNddd+ljSQ8EGbhdc801+a/x8MMP6+P94Ac/QEtLC4YNG6ZvExERERUbx0JEVAhcfY+I6HPKrQYjZeoyQCMiIiI6mnAsREQHC3tKERERERERERFRwTGUIiIiIiIiIiKiguP0PSIiIiIiIiIiKjhWShERERERERERUcExlCIiIiIiIiIiooJjKEVERERERERERAXHUIqIiIiIiIiIiAqOoRQRERERERERERUcQykiIiIiIiIiIio4hlJERERERERERFRwDKWIiIiIiIiIiKjgGEoREREREREREREK7f8DEpVqxSlUTmoAAAAASUVORK5CYII=\",\n      \"text/plain\": [\n       \"<Figure size 1200x500 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"fig, axes = plt.subplots(1, 2, figsize=(12, 5), sharex=True, sharey=False)\\n\",\n    \"for i in range(len(agents)):\\n\",\n    \"    p = axes[0].plot(jnp.stack(divs1[i]).mean(-1), lw=3, label=agents[i].alpha.mean())\\n\",\n    \"    axes[0].plot(jnp.stack(divs1[i]), color=p[0].get_color(), alpha=.2)\\n\",\n    \"\\n\",\n    \"    p = axes[1].plot(jnp.stack(divs2[i]).mean(-1), lw=3, label=agents[i].alpha.mean())\\n\",\n    \"    axes[1].plot(jnp.stack(divs2[i]), color=p[0].get_color(), alpha=.2)\\n\",\n    \"\\n\",\n    \"axes[0].legend(title='alpha')\\n\",\n    \"axes[0].set_ylabel('KL divergence')\\n\",\n    \"axes[0].set_xlabel('epoch')\\n\",\n    \"axes[1].set_xlabel('epoch')\\n\",\n    \"axes[0].set_title('A matrix')\\n\",\n    \"axes[1].set_title('B matrix')\\n\",\n    \"fig.tight_layout()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualize the learned A matrices alongside the true environmental parameters after training\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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/aqe++U+H3jIOzoPvju+74VGJo3Oq55vRD/FWbP97zIUex7Vc53cf4F3TnKdkpS7oevt0T2NnqM6qho72Eq2qSUiLToOK+69916zzz77mOOPP978/ve/Xx0hYaMWOrPhhhuazTff3Dz99NPmgw8+MNlsNjrosP/df//9zZ133hm1O+CAA6L6FQceeGDUt428eOCBB8zYsWPrIsdGG21kHnvsMbNkyRLz/vvvm2eeeSaK7rDzRVx22WVR1Ejnnynl1+syN0JIOCtLeeenKwNtU4m2iZC0QdvEfRMhaaWVbNMa7ZN5o9HTIoQIuHfi3omQNLKySW1TpqzNmdTk/OQnPzGXXnqpOfbYY820adPM448/bnbaaafo8AJFZfz5z3+Oil7vu+++5vzzz1+dWurII480ixcvNrfccktFfQl7eGDrWVhsail7wFFvbBHwDTbYIJqnPYjRnHp/fsDRjsegJNstXz1fpvg7aqMB529bXrO3q+PdhvIhSpmAl1d+1LqVY30wrerfURvkdSavTX408LaTcknvW5EXUutR7JNbI1NccmtyHca13j40Ohyq55OKt9Y8n/996VDnsx9uU3s/zQKyTQeN+HqlbSoUaq5VAr3bwXfH/Cd6bk1jZaD3qKhNMwzUQRDeHzmUY1faHiET9IATdVxglJqijfRoceoMDR7klQnWcRHXGF2b4tx51b186yQ38uKR863XejtrrdC92PRcjmOMeXDJTaZWaJuM+Xzbkd59k+Z7obmva9B4X0l9lbqq8RZTfdc32sBpUpg8pWob+Xf1nscjk6aOhOZ7nDa5feutkUm13ho0Ohyg55NKt9U+F2CfurJtWpN9OnDQMV77JO9x8t6E7oHw/uUh08Ofez4va7SI2ipqL1SZ91w8C+SHgP3M7Mqx8kOHuG3mzPM+q8pro6nZp7Jxipp9aZI7yfX2odHhED1/qP0PJgTuneJ556Rt4wO+p/B49GsiA2BNBs07pziebzTvnEQkljaSzdlnaCLQUiR3kuutoV7vVie10Dun5jhaWUvmzJkTpVb65je/Gf1Y7rrrLvOlL33J3HTTTeaII45w/s1ee+1lXnjhBXPFFVdEhba33nrryBi//PLLUYome2DRccBhsQcWHXUw6nVg8eCDD0Zjbrrppubtt982Z511ltlss83MUUcdBdv36NEj+umM98GbEJI47aWWCHpbDW0TIc0BbRNtEyFphfaJ9omQNELbRNtESBppb1Lb1BKHFvZA4bXXXjM777zz6s9smqcTTjjBXHjhhVGaJxvGZuk4iOjbt68544wzzL///e8o2mKrrbYyr7/+epSKyf5u6Tiw6KDe0RULFy40EydOjFJWDRo0yBx00EFR9EhHhIcGmbtRc7qa69un4vfSsmXOv5EnhJr8k8hDPj9yRFVPe/n3qM30mVXnguYD+xHRA9JjT/4d9VMEJ8by+mny3EvvQJQbXfaT69fPaSPXyrm+QKa45HZOlaU3EFqDOq23xjM1Lj0PoVlC8+qKCPpDHlEyOkdTMwDlBHb0Q+aeX+quvfx+IS9f2QblRs/16V1VJvQ9djxRgCewbKOxB853HcgU4lmL+vFGedRJbvg9lnnu67Tecq01uheXntM2xQjyvFcgPb0cr6nAfkM87TVRCpr5OP2A6IHcgAFV28D5zhY1usD3wolsEuOgHOvOXJBt8q1TgnKjNfCtN5IprvX2ofF4jGOcNUH75F7fDNoTS69OkY8cecg70RngeyHHcnKaD62MQECe9qiNE5mJPOSlR7HoRxOJJSMQ0HenOA/U6BLXT8qkuWfD5zrRj3wuQWuVpNyOTiS03irdQx76Mel5CLRNLpp3TvWqaQG9/kXEEaxxINuIiCRVlAKKbJLRA6BGhFMLVPQja+DAOqqoxo38XqDnJGnjZASCpqZFgnKnab1D9DzJmhYrm9Q2NedRiwcb8dAR9WCZPn262XbbbaNC2R0HE/aA4bTTTjMzZsyIIhg6sJ8vWrQo+v/2YODmm282d999t9l1113Nz3/+c/P3v/89qi3RCL7whS+YyZMnRxEfVqaf/exnqw9bCCHNS7PmFySEdG1omwghaYW2iRCSRrh3IoSkkZVNapuaY5ZKbEFtG/3QEfEwd+5cM3jwYDN69GgzcuRI8+qrr0bFt+1hhD24GDNmjPn0pz9trrvuuuhAwB50PPvss+aQQw6JDidGjfoov/6OO+4Y/XQeJwdO0ZoB59Su5JY0ycq83MLrU/7dUhKeqvCUUYyVG9jm96J3Tnor/476KS2qzEWO5oz6ca6N9IoBMsl+cv1db2Hn+oFTZXTKXW0uqB90SuuTG65TTHJLnZDrhNYgrvX26TnS4bj0PIRCqTntSZxkRA5+qM+yngmoi+J4nANvC5mH1/EOUeQERrUSiosXe71MSgsXVZ2v7CM02gH1I2suyOuHZEK1JhzEfFA/vsiAesmtqStSr/WWa63Rvbj0XI4TCm0T9ibXeAfK+7oTzYe8PjVRgUOHeb3FcoMGVo+8ALl8izLaAcgk+0GRbDLaQbbRRC2hPZGUCXnb+eYi+0DfU+TdnJjcQCd8641kClnvEO9AuE4Beh4K7ZMxubb+fo9Ned8R65YFOi/rLWk8a7PS7shIIrD2qI28J5eRDgmZVFFL8lkKRW+KfuT1jfqRUaue50eEplYVfq7r0zC5HZ1IaL01uof2PHHpeQi0TW52D7SHV9UlVeyJfWOhyGfpRY+eF5w2nmh5NF/ZB6zrB+6lToSUZy7o+iGZZM0+hLt/7VvzOiUqt8xakOB6x6HnaE/pRN1nxTgtZpu6RKSFPUSw2IMEe2Bh604ceOCBUR2Kd9991/Tp0yeKlLCpnh566KGK1E4TJkwwS5YsiaIr7L/tKK7d0S7f6UVaR/RGsx5YEELSyapS3vkhhJBGQ9tECEkrtE2EkDTCvRMhJI2salLb1ByzXAMdEQ8dhwiPP/64Of/8883zzz9vPvOZz5h77rnHrL/++tHfDjvsMDNp0qSoILc90Oj+H8+5p59+2gwbNiw62LBsscUWUUSGrWkhqXfNikQQBy7ZXihPqPC0lx6d4u9RP+IkEnk3y7HKIN+7UwdBelugXK2iHzkXNGfUD8p/5/N4lB6Y6NrI61dcBDyKA5DXBkZ5eOT2ybw2cjs6IdcJrUFc6y3kcnRPsU6heh7CqiY99Y4VsdbQc3nxEr9nlfQMHeBGdJWlZ5X0Hl2w0O8dgiI4ZBvgaS/n48ikyIUMEZ4dsB+Zd1NcP+QRGwK6Nk7+TjmXOskN7Zdcgzqtd4juxaXncpxQaJuMyfR0r39WRIaVwH7GyZW9qt3vwSv1Q4wTjSXyf6NIkOL8hdXrNog+0HyQTE4/wOvMma+M6EKRK+LaZBQyhYD6yIr1lXNJUm6kE771hjIFrDeyGT49h7UGAvQ8FNonY0z3yvtQJu9ek9ICdy/ii2TIDhDrBp6B5Vil+Qu8nqGaaG7nXjpwgFcmOZYq/zfwiHWiJhT7ItVeRYFzbdD3S8wnSbmlTiS23hrd8+j42uh5CLRNyno7ndK5W7L9QXS08ErX1LiRY8HIAMV93WmjmYuUCdV+UkSxOxHqsjagGAddP/QcGoKzn0H3dRk9kKDcch0SXW+P7qE5y3WS166e9XZWNaltapq38Dadk6TjsOJPf/qTGT9+vPn85z9vxo4da1544QXzu9/9zmy33XbmscceMzNnzowOJo499ljz3nvvmX322cfcf//95ve//7158803zcEHH7y6L/tfe2BhoyrQmIQQEjeFUtb5IYSQRkPbRAhJK7RNhJA0wr0TISSNFJrUNuWbrU5FZ2bPnh3VonjjjTeiAwlbWHvIkI9ySt96663m0ksvNe+//7655ZZbzL777msOOOAAs+GGG5pvfOMb5uyzzzZz5syJ/s1Xv/rVrhlVAXBOHtFJpOON3+71pChqPHTlCSzwXnRy8Yn6BRovORTJ4MgETitlHkuZZw/WopCRAU4L9/qhWh6a3MxBtR3EWkm5NfU1QuWWOiHXCZ2Cx7XeXt2DkTYx6XkLnXrHidRfdP0zso4LynOsiJqQNU7kWBmQ97YkdBHlPS/KKKD+7nddzkfKhL4XTvSAJhcyijAQc5bXD8qEak14QP04ntRyneokN8ph7KxBndY7RPfi0nNUryoE2iYcUefUEAERM45HrKIegGZsqa8qT3vRD9qHyPkgmYrSaw/kRne8eEUbtP9yvP6RR6yUSVNvx9PHRx2VUyM3zO/sWW/ozRiw3gifnqtsk2KcUGifjCmK+iXIk92paSEiXWRNMeRFj/YUcizHMzS07pj8rou5YJn8Hv1OhKci3XNGRLLgiEl/zn0NKK+5t/5bgnI7kRUJrbdK91BEakx6HgJtE9jfomsr1hHWgpP3OKQPnrFQVLOzh1dk4ZDPAqjujCMT0nlF/bKMpx/4Hk1cP4090JAJWKck5W7keseh5yiCQ/aTiammRbPaptQfWnREQEyePNm8+OKL5uMf/7hZb731os+GDh1qzjnnnKheRUctiquvvtr88Ic/jCIlvva1r5ljjjkmamexkRO2zoVNE2VrXXSkjur4W0edC0IISZJVxea8gRBCuja0TYSQtEL7RAhJI7RNhJA0sqpJbVPqDy1sfQkbFfHEE0+Y0aNHmxkzZpgLLrjAnHDCCVGR7L333tsUCoWolsUvfvELM2jQoKj9l7/8ZdOvX2WO/86HEh0HFvbf2oORRh9Y2Hocl19+uXnuuefM9OnTzR133BFFhnRgi4XbA5o777zTzJ0712ywwQbm1FNPNSeeeGJtA3k8wdApoya3t9MPyJfpeJ0Bj4z8iOEVvxemz6j6d9RGI5Omn5zQH+Rx7Jsvun4oqsI3lvw76gflhPfJjeYbl9y+9dasQeh6ez0eNfnpQ/U8gGK5a0Z21YLjbVHO+PPeAm8L6RELc+xKL3QxVgl8R/NjRlf8Xnjv/aA2Pm+V/HrrOv9G9oO88Zzvl5hL1M/UadWjlsB3XeNBKNto+ikmJLeUGUag1Wm9oYeTR/fi0vO4Ii1om9YQBSS/x4r8uc6aBXrElpbPX+t7qWavgmTKDx/m7cdnM+B8Z8yqOReyxh6o7JfIl+xEVSQod8h6o7mErLfK41GRszpEz0OhfXJtfbkE8l7LKGtpm0D9Gt3Yharj5IcMcv5NYfacyjZDh7ht5rg1WBw8Y8lxLDlRr7K4xI1Ql/NBc/FFfclx0FiaNtI2obVKUm6HJNe7Rt2LU89DoG1yowvhvaBdkQlB1hUI2DuhGl35oYMrfi+IqLWozbChlW1mz61ZJjkOGkv1fOOZi7Z2achznaZGl1ynJOVu6Hor9u0+Pdc8Z5RbfN/U0EOLjmiHVatWRemY7CFEZ2bNmhW9yLcHEa+88ooZNWqUuemmm8zEiRPNRhttFNWmsNhoClub4sorr4zqWnQU2dYgx2wUS5cuNdtss405+uijo0LhkjPPPNM88sgj5uabb46u2UMPPWS+/vWvm5EjR5rPfvaz4QMrXrqGFENVtQEvm52Dg0EDq/4d9qOYC3xZv8XHKn4vvvpW1b9H/Yg2musnZdIcQKCXgLIfTYop5/oCmeKS27fecA3qtN6J6nkA7U166h0r4tqW0b1ZcfAp22hu8nIstOGQL6TzI0d426he1sjvBXg5nh2/ZcXvpede8bYpgDbeg0Qk04fTvQ/RIf0kJje4z2g2mHGsd4ju1VPPQ6Btwna/XPDfC3zpizR9wDZx3EvR90JxD3T2EFtv7rQp/uv1qm0K4u/aa6fZ8/jaaPZfjZQ7ZL2RTHGtt09HdUU167NvstA+Kfel8p4i103j/KNA3gPRC3TnpRB4caS6l8rvhRgrtucb5Agnrp9GJudwFB0cKPpppNxSJxJdbx+KdYpLzzXQNrnAFK8hqZTQvUvuiWXaNODYKXVR8+yiSlsrvxfIHmw3tuL30guvedsURBvo5CCdVTXPdYpU4bIf55muwXI3cr19uofm7DiIK2QyyH61kG1qyBv79vZ28/3vf9/86Ec/MvPnz684ZLAv7/v0+W/+MHsIseeee0af/eUvfzHXX399FG3x5z//OUr1ZF/a277WWWedhkdLrA225ob9WRNPPvmkOeKII8xuu+0W/X788cdHkSXPPPPM2h1aEEIaTqHYnKfehJCuDW0TISSt0D4RQtIIbRMhJI0UmtQ2NeTQolu3bmbChAmmV69eUcHsQw891Hzve9+LoghsoWxbXPsrX/mKGTZsmNl///2jQwqb7snWtDjppJOil/S2vY1IsIcWw4e7IdddjZ122sncfffdUSSGlfnRRx81b731lvnJT35S/8HrlBIH9SNPGp0IhDoVFIrGkl4mO2xT+fenX4rFGwh69YmxynIs8Xc4nwCvGEfmOOWucS71XO+G6rmC9iYtihQrAR4EqvQ7Af3CItbCSw55mcg20AvVMx8YySCiB9r32t5p0+2hZ/39eDw7kExyLDkOnA9o49gMsU71kluT5q1u6x2TV0y99FwDbVMKUUStOvuMuO5vcj8DogeKe4yv/ODh56rPRTkfKZMzDhjLO5cmkNu33nBP2cD9TJLQPsVkM2LSDyeKUeHtitqERD47Eerg+aa0y3aVHzz+gtMmxLNWyuSMA8ZCbQpyPprnuiTlbuR6eyfjj1Ljc13CaLIcqCKSa3/H4PxZExGhiB4I+l6giAgZYbDTtm6bJ1+sPhfFdUEyybHkOKhNAbVJsdxJrncceh6Hjnd125T4UYsteG0ZP3682WuvvcwPfvAD8/TTT5v77rvPnHzyyVGaKFu7wdZ0iCaYzZrbbrstOri4//77zVlnnRVFHNiIDFtQ29Z36NxvV+Wqq64yY8eOjVJk2cgUmxrLFh3fZZddGj01QshaUiplnB9CCGk0tE2EkLRC20QISSPcOxFC0kipSW1TIpEWxWIxSt1kDyA6UjgNHjzYHHzwwebBBx+MDiF++tOfRkW1bfHp73znO9HBhU0NZf/tH//4R7PddttFURgWW9eif//+0ee2zc4779zUqaG0hxb2cMdGW4wZMyYq3G2jTmzUhU2fhVi5cmX005mSKZtspvoJm6+gp8rrU4Emf1tsxQSlTKBNfpONKscSEQby71Gbf0+u+drAYoxiLEcmEO3gXBtR0BHNR8oNZaqT3JrT67jW24emOHNcet6VQ/VCQbbJ1oWqsE2KSCxZ5A0Vt9JEP7meaz39OYwD6z84eTelTCA6I7/xR/e+apEMsk3h7Xf8xSNlEUUgkxwLFV+T0Q7w2kyfWb0IWZ3kRvN1vQPrs94aD8266XlMkRe0TcaUykXvvilRFDrkrf8Qk9d/dpvK3MMowkC2Kb3k5jDW4NRuAFETuQEDqrYJrWnRSLl9662SKcFc7klC++TundA+1fcsAL3fZRvFvllTBFaTG923V9E8U6C6DTLCQFP/QXNtHJlAJIOzHwRtnH7EvgnNp5FyJ7Xewc9sMel5CLRNyr2TJhomjogZRX27oHupYr7wndOmG3sjGZw2b75dfS5gPlAmMVaub19/G00d1RTJneh6a/D1k+AerdCktqmus7YHDpZcLhcdWEydOtW8//77plD46Ga01VZbmU9+8pNm0aJF0YGFxaZ6+upXv2reeeedqIaF/bfjxo0z99xzj/nhD39oLrvsMnPvvfeaO++801x77bXRgUVXZ/ny5eZb3/qW+fGPfxyly7K1PGxUik2rZa/JmrDXqq2treJnStlfCJAQkizFUtb56cpA21QKfKFDCKkbtE1tZop5o9HTIoQAWsk2rXnvxOc6QtIG907cOxGSRopNapsy5ZjyKs2aNcsce+yxUXHtTTbZpOJv06dPj2pS2KLR66+/vtlss83MLbfcEqU5uv32281hhx1m/va3v5kddtghar9w4cKor8mTJ5vnn38+KtZ9ySWXmIcfftjk83lz7rnnRhEWXRUbNWLTY9moE4s91LHG36bQ6lys+4QTTjBTpkwxDz30kPrU+/MDjq449UaeCY5HWe/eFb+Xli0LOl3V5KTLDxlU8Xth9pzKvw8d4vybwpx5VcfRnjzLsTT5PeV80MmzvH7FxYudNr6xNDlAc/36OW3kWkm5pcyauWjl9umEXOs419ubVxGcXsel55OKt5pa+djtFzufvXXwd0xXBdmmAwcfV2mbhAeXpSy8uLK9ejltSsuXV/yeQZ720otLeoutqJybJT+sUhcLM93Ipvw6wyrbzHK/X9meParKlBsy2Pk3ciyNPZBzsRTnzK16/YpLlgTZA00b6ckj16leckuZo36kV1+d1luutUb34tJzOY7loVW3mFqhbTLmwEHHON6CqmgYqWdyXdHaa3ICywipoYO9ecTzw4ZW/n22+71wvGaBTHIsOY6m1oucC5oPipCS/cA6OJ42KKJLUwcnMbmBTvjWG80lZL01+3Y5F7hOAXr+UPsfTAjSPnVl27Qm+3TQ8K9V7p3QnkfeL3qIfYjoM2oj7jvyvoTGKok9RLatv/Nv5PMCeh4rLVxU2Q/wBHZk6tun6jihUWrlJUvdbsT1c57rAj2BnWdV8Fwn1ypRuYVOJLXeGt2T+hCXnj+49DcmBO6dwDsnTbQW2DfLPboq8saTNUTzzgm9h3DeQSjmonnfodnn++aCrp/sA40V0gbOV6xTknKnab1D9Bw9h2pkmtRC75xiSw9lX6r/9a9/NTfccEN02mp5/fXXzfe//32z++67RwcZV155pfnXv/5lvvGNb0SHEpdffnkUaWHrMth/c9ddd0W1KWxfxx13XFS34bHHHjO77rprFFFg61cMGeK+xOwKLFmyxLz99n/Dn+xhhC08PmjQILPeeutF18DW87DFy216KHtdfvOb30TRF2uiR48e0U9nUpXigBASUWzSUL1QaJsIaQ5om2ibCEkrtE+0T4SkEdom2iZC0kixSW1TbIcW1lBdeuml5uKLLzannnqqGTFiRBQhYV+s/+lPf4qiBGw6KPvTt2/fKFrCpnk6+uijo3RQ9t+89dZb5mMf+yjPoq1hsdtuu5l//OMf0Qt7G33QcWBh007ZtFFdiWeffTY63OngzDPPjP5r633ceOON5g9/+IOZOHFiFLEyb9686ODCXu8TTzyxpnEcryhwGig9E8x/0nmt/icazw+0PmIsdJouPTKk5xryIMn16e33FpNeMZrIAOktDLxinPmCa+NcP4V3oAR5Ljv9gKApOR9NnuO45JY6IdcbRqXEtd5S/4TuOToep54HUC527Zo8GjLdXS96ifTiKi9d7m+DvBc8Y0HvEOlFD77Hsg3qp7R0WdX5ougMr20CbVA/uYFtVa9fiG1C84G1PKSHbkJyS5mjfjTeQDGst1zrJPVcM44G2ibsCebk9kYRf1LnwZ7HGUt6j4L7W060QV70MipJtpH3Ua1Mzlhgf+DYDPkdRV7/MgIN5bAXMmlsk2yjytMO1ikpuRG+9UYyBa23ov6P1Am0TiF6HgrtkzFZEfFXXlTptR6RF1FUy1f47xe5bNVx0FhOZPn8hW6/4nuB2uRE9ICcC5IJjhWQI1z2k+0F9kXi+gXlPVfkwnfGAWuVpNyOTiS03hrdk/oQp56HQNsEPM7BfTM3UERRrQKR2mIfX1oEosKz1SOZcn17+qOAwHO/00boKvqOSpnQuwxnP4MihUQbZy7g+UZePygTyPghcaLhZT/gnZOcT5JyS51Icr19uqfRc41MGTlOi9mm4KOWUqm0umZFB/YFu42UsAcVlm222cYcf/zxUdFsW4ehg8997nNm2LBh5u9//7tpb2+PIi1s2wsuuCD6u+1j6NCh5v777zff/OY3nbG72oGFxR7QWLnljz2w6Kj18etf/9pMmzYtqnHxxhtvRAcbXb0AOSGtQLmUcX4IIaTR0DYRQtIKbRMhJI1w70QISSPlJrVN+dADC1tY22Lz19kaFPYQwqZ1snUWfvazn0WHFQMHDozqVVx//fXmueeei1JB2SLcti6FfUl/2223mW7dupmRI0eaz3zmM+bnP/+5Wbp0qenTp8/q6A07ln0xz5fz8aDxTDPSY9OpRbEsngr36CRSeI+WxGkw8n4vilyYcC5CJjkO6keewBZBfk8nkkHORVlPwRlLyK2pV4E8MuVaSbnRfOOS25e/Fa1BbOvtA3nf10vPFZSbpAhSPdFEsZSXVl7/DPAEc7zSwZr58sYjT7C8rAcDPEhkG9SPk6NSyCT7iMaaO7f22g6D3Tz3JfFdltcP2q+AmhYoJ7z8vst1qpfcUuaP/lEpkfWGeU0VNQvi0HN0PwiBtknnCYaiVnODBlT2s1h4B4L8tKVVy706X2pf6ffQkvsZjaeiJ0IR9ROSPx3lNC8L7zV57aKx5s5b+7zxaP81eFD1dUpQbqgTnvWWax263lL3NHqO1ilEz0OhfTKm+P4H3u+FvBdJL3qU67+0SNzr0T7fp/P9wR5+0WJvG1krQSOT7Ke4cGFQbUXZD6qVIK+ffE4KqrWH8p6je79YqyTldnQiqfVW6B7ab8Wm5wHQNoEoVRDp4twD0fs+0Sbb361x40RoiLFgxLJT12+pP7uDGAfNRcqEonWdGoKKzBeyNqBz7cD1Q5EBqsgwGSElrg2MxGqg3HIdklxvn+6p9FwhkwFRSK1km4JmbQ8sbOFte0Bhi2ofeOCBUY0Ky2mnnRalhbr11o8Kg2y//fZmjz32MBdddFEUIWAPLCy2yLZNIWUjLXr27Bkdcrz33nurDyw6j8UDC0JIl8aG6skfQghpNLRNhJC0QttECEkj3DsRQtJIsTltU1CkxdNPP21OPvnkKLri2muvNYsXLzb/+7//a04//XRzxRVXRAcY9r+HH354dAhxyimnRCmhbDSFrcFgC3Tffffd5pprrokiLSw2KqOr1qtoOqTHZqE+3uWI4oIFVT3TVN5tCOlZK8aJxtriY5VtXn2r6t9RGzh0we9t563lAfIPqq6N7/oqZAqVu9a5xLrePpD3fYJ67ozduKFTg/T80tQqKS1c5Y9kUHicOx5wKEe48PrPg7y3hZmzvP3IKAQpkxwnGmvM6Mo2770f1MZ3/fLDPqobVU0mlItcygSvjaj/INepXnKrPB7rtN4o4sQ3l3rqeQi0Ta73a/SZWFv0vZB1BWQblX6ANo6XL4oCGrVu5Vw+mFY1F3k0H+klB2SSY+VHjnDaFD6cXrWN/Dva86D6D/l1R1SVSeX5PaLyukT9TJueGrlLAest1zp0vRE+PYd1OgL0PBTaJ2T7QdS1/F7INdFELUE8UavA6z8/tHKfUZg9xx8ZACI8XZkqx8pvurHzbwpvvl1zG3ht5J5HIZP8DspoeW0/ppFyC51Icr1dxDODYp3C9bx2aJvc+weK3nH3zSv99xRFVgs5FroHyncr+WFDnTaFWbOrZqOAc5E1GZa7kY75dUdWjjPtw5rbwDqE4vrlhw72yqR5TpLXRnPvT1RusQ6JrrdH9zR6Dp+txViZuOqoNqltCnr7Z1M42cgIW1x77733NjvttJMZPHhwVHD7qaeeiopqv/POO+Yvf/lL1H7HHXc0++23n3nxxRfNBx98EP07W6vhi1/8otM3DywIIa1Gpphxfmrl6quvNuuvv34UufaJT3zCPPPMM2tsa+1vR9q9jh/77wghJG7bZKF9IoTEDW0TISSN8LmOEJJGMk36XBcUaTF+/Hiz8847RwcTZ511lnnkkUfMIYccEkVP2EnZ2hRf+tKXzE9/+tModZQ90Dj00EOjwtoHH3ywOeOMM1b3ZYtNM/1Ti6I46tNED8R1ZCijB0q7jats8Ojz8YwDZPKN5fw9pvmgiIl6yZ229U4VaxmaZ9PxnXnmmVHkm71x2Eg3e6D85ptvRhFxiP79+0d/76AZ7LAuaiKGcZCXl/DQkl72qI3GW8yRCXiCyeiB8v/bzm3ztxe8/fiuH5JJjlWS44A2zlw061QnuVU6k+B6p0nPVcQQNtz09klxz4H1woR+qGqKKZAeujDKQ3raS09F4OXrjAPm63jag+iB0i7CHjz+gt+jTI6F7IGQSY4T9S3G8s0FjdVQuQPWG0WchKy3Bs06xaXnKrh30hFQ6yWOexeOQKv0tNdEb+LBStW/FzJyADzfFMDzjSpSSO4PhEyaZzbUxpmPIjIgUbkbud7eyfjz8if6/Ejb5K4rei4R9wvkTa6575SL1cdCGStkjQPpZY/aOP0oZEK1HWT0QHH38U4b89fnqvYD663J6H0gkxwrJ8aB8xFtNOuUpNwNXW+P7mn0XPMMUZbjtNhzXVCkxYABA6Ii2ZdcckmUzumJJ54wv/zlL6MaFzaK4tVXX40OJmzUxcMPPxz9m0996lNR/Ysf/ehHqwt4h0yYEEK6HKWM+1MDP/7xj81xxx1njjrqKDN27NjoJtK7d29zww03rPHfWNs7fPjw1T/rrLNODIIQQroUa2mbLLRPhJC6QNtECEkjfK4jhKSRUnM+1wVFWlj++c9/mj//+c/mpptuMltssYVZsWJFlP5p2rRp5rrrrjNXXnmluf76682ECROi9vbUxaaUsoW6L7zwQtPW1hY6NCH1QZxoZgM8XkKRY50x+fWK33+ykakPQKYk5SYfkQGX0x7sdhzudmAPi+1PZ1atWmWee+45M3HixNWfZbNZs+eee0YHx2tiyZIlZsyYMaZUKplx48aZ7373u5EtJ2tAo/NxfC8U3mIZFMlQJ48yOdZnXnOjoe4Z64+saDa5E1vvLmybTKvbp4T0A3mpOl5cMdUVkP0gr1njiTAI8aJGMsmoCsunXqnMoTxpyxdqzt3cULkV+OoixTlW2m2gtE+0Tem3TU5kU72+F6BWlXy+0dQdC4lccZ6jjDGHv1kZOfqbTU0s+5lE5a5xLvVc77TbJz7Xha2Hqj5bTPtzx2MfRQ4ir/61HQd8B1G0g1MHwTcXZfS+HOvTr7q1aO7b4rm1jmJPUu40rXeiet5Cz3XBFW232mor097ebl566SXz3nvvmdtuu81sueWW5qKLLjIbbLBBNPmjjz7aDBo0aPW/sami7AS7d+8epYUi/+Wyyy4zH//4x02/fv2iA54DDjigIoTm3XffdXKBdfzYa08I6Vr5Ba1NsIe7nX/sZ5I5c+ZEEW/yxNr+PmPGDDjepptuGp2G33XXXebmm2+ObiC2NpGtOUQIIXHYJgvtEyGkXtA2EULSCJ/rCCFpJNOkz3XBkRa2eMa5554bRVPYqApbQPuqq66Kald0pnPNinXXXdecc845oUN2aR577DFz0kknRQcXhULBfOtb3zJ77bWXee2110yfPn3M6NGjzfTplTl0bUquyy+/3Oy77776gZDXvO+fCC8u1elgINlu+Zq920rthbUeB40lc4AizxnHkw7Mxbl+IO+5HEtGVqDcpxrPGSffqOf6xil3HGsQ13qnTc81p972BNvmC+wMOvEOYccdd4x+OrA3js0339z84he/MBdffHEsY3Q1NPoRhw5pPIFRDlDprRLqUSyRY90z1p/7FHnONEru0O9xUuuddpK2TU1jnzQesb42mijGgJzmmnupxiMWyaTpx1cHR5XTXFGTB9W4kZEVTpvAaK1Gyu1bbzSXuNY7KR2Oyz61pG1K8XNdrk9v57PikspoqFzfvm6bpcvWeiw5jqXwqe0rfs9PetbtR8wHzcX3XCfHQZEVqI2cj+a5Lkm507TeGvhcl7J9U9qI4x4YMg6wGWg/4+xXQuYC2six7tvCX6sQRrqnWW7NfNJWBychMk36XBd8aGGxL9btIcXUqVPN7rvvvvpze3rSORKA+HnggQcqfrcFzW3EhQ2/2WWXXaJDIZv/qzN33HGH+cIXvmD6gg0AIaR5yIB99JrC8iRDhgyJ7MPMmTMrPre/S5uxJrp162a222478/bbbgE/Qkjrsja2yUL7RAhJyj7RNhFC0gCf6wghaSTTpM91a3VoYdloo42iH4uNEMjn81FqKLJ2LFz4UX65zum1OmMPM2wNkauvvnrtvFmRR1mvXhW/l1as9HpSaPLEOd5iyNti0eKK3/Prjar4vfD+h86/yfXvVzkX4GUiZUJeHfmhQyrHEhEG8u9Rmznz/NdGXD8pExpLgqIdZD/FDyuNB5qPlBvKFJfcQifkesu1jnO9fSflUh9i1fMAbGheKDbd3vjx483DDz8cpZXrODi2v5988smqPmyY38svv2w+/elPm4ah8G5wvKZKbprBTDbj96zy6YfCIzY/coTTpvDh9Jr70XiC5Tdcv/IDEMkg2xTeebfm65cfAYpiKSI4ZLQDvDbTZ9a8TnHIrYngqNd6h3o3x6LnKbBNXcU+ZXv0dD6T1zvTzd3sl+V3vXvlfacMIzO7e78X2T6V98Dif/aLnckPG1rxe2HW7Irfc6CuXEnsD5BM8h6YHzzYaVMQXnKyTWHuXOffyHuyvHbRnAcLmRRRE9I7UF4XS3HuvKrrlKjcQCd8641kClpvoXsaPUfrFKLnoXDvZHVI2KcCuN7yuU56v4t9taUs97t58MpAjJUdXPnMWpgxy/kn+TGjK9tMnea2GT6scr7iO4pkcp4f16nsI0JEGKA2hVlzvNdGXj8pkxwHgaIdZD/FD/zPQEnKLXUisfVW6J7Uh1j1PADaJt0+1MkAge6BijbecdA+f+UK//di5qyq+0EY6ajIapEfMdy7n3HaTJ9RczaK/DDwDkeMhZ6TZLSDvDbSXqRN7iTXW4NPh2H2kXplFik253NdPJa5o7OYDH2rYxf+9NNPN//zP/8T1QlB/OpXv4rCamx4DSGk651614IN6TviiCPM9ttvbyZMmGCuuOIKs3TpUnPUUUdFfz/88MOj9Hwd+Qlt7aEddtjBbLzxxmbBggVRmjlbm+jYY4+NQxxCSBdhbW2ThfaJEFIPuHcihKQR2iZCSBrJNOlzHU8ZUoitbfHKK6+YJ554Av59+fLl5pZbbjHf+c53qvaDKsGXs8ZkM51OVHNuvkxJbtCAyj6WLXe/ADKkqAgSpomxHO8GFBkwbbrX+13248wFgPopzHZPjX1/R7k5fddPyhSKc22ExwtaKym3T+a1kVuug1wnmPs0rvWW+peknseUX7AWbJq+2bNnm/POOy8qgrTttttGKec6iiTZFH6dI+Dmz59vjjvuuKjtwIEDoxPzJ5980owdO9YkAbRNmVKFbdJ4Ymb7Af1YtqxmT3uNd7MTiSUiB1Cb4rz57pyB90dncoMGOp85URPAe0m2QRFSpYWLql4/JJMcSxO5gvrJtfWvuk71klvKrI5uiWG90Vr7dC8uPY8rd/Pa2qZms0/QNnXLVu6bouvds+p6wHzkMsKnbx93Ao5+uFEepSVLvXpWmD23ehQQiDaV80EyyX5Q9IAzF9EG2kApN8jlLmWCePIPoz6c+aDoloTkRjrhW2+NTJr1RnL79BytU4ieh8K9kzGmT89K+9TNXZOSvDcpIpuycg/R7tbjk2OVRBS2EwUCPO1Rm9K8BdXnAmXqWdVjFoHaZHv39l8bcf1Q9EAIsh/4DCTrFSUpt9xfJbXeGt1D++249DwA2ibwXAfuFxnhYZ4f4EYFyufxrKJWgjMW2Bvk+omopTlzvW3KQkZ0X5cy5cB7Chk9AJ9vRBs5F1N2o7Dl9UMyhTzXyX7yQwf73zklKLejEwmut1f3FHqO3jlJmcqgJm4rPddlyrZSNkkNNqzGVlZ//PHHzQYbbADb/Pa3vzXHHHOMmTZtmhk61A0L7+CCCy4wF154YcVnG+a2Mht32+a/H+RcY5ER6b0yvXt5v1jlUklxaJH1hzDLBy0ZigrCP51NCIj4kTIhUPEyH6qX9+L6yVQEcRXs1RxaxCGzVm5HJ2QoLwrdi2m93UOLrFcf4tLzB5f/1tTKZhf+xPnsjfPPMF0VaJsyW5iNcltWD1cVZMRD1ppetDltnBeD/he+8qW6TJFmyQ8Z5D208MmVFS/34cGhIv2e5tBCXr8ieMHvG2eN86nx0KJecqNDC6eLOq237sCsPnqOZHqo/Q+mVmibjNmo+7Zm456iWKC0GWg9PA9RaF2dl7lAP+RLbJkqTBN6jlKOaQ4tnHECQuV9B7dr+q47Y8VUENOZj6LfesmNdMK33pp0Gpr1hgcJPj1X2GSNnj+w8AYTgrRPXdk2rdE+9dnebNL34zUdWmj2PFnpSBBwaIGeMUvLV3hfYsu9dVbca6N+5P5K1NAsKewXQr68Ry/I5PVzUg7HVCgWHlo4qSCTk1vqRGLrHXhoEYee3z/j5yYE7p3Ac53iZa58FkfP4yjlYMihhXRERN8d5zBPHhqDe6CUSX5HLcXFi2u+l2pe3qveOcn9gOK5Tu47VO+cEpTb0YkE1zvk0EL1zknIVAaHFq30XMdDi5Rgl+GUU06Jims/+uijZpNNNllj29122y0qgnL77bfXfOr9+bYjKz1y0AMcyKvmw3loUhhAjRdqtn/ly/HSoiXeTYkmvyDMEd5dbIDkSzX04mhVu/flgTMO8DpDLzd9yJdqZfFgi5ByS5njlNuXXxBuHmNab0f/pO4F6LhWzyeVbqu5383Pc28gr1+U/htIKMg2HTjoGL9tEg87Ug/h91g8MKn0AzxUFaW3K/IWE2PlkNes5wFOjqOt/6CpgyDn41w/9MAZ8ACMbIZ8KJXrVC+5Q9YgrvUO0b3Y9BzYppDNLW0TsE2A3IDKSD3NvbS4oNK7VEtWeouBgzlf3nN5iBjNVzxMIpkK8uUnuPd7D4WBbcrLl2EockXsIVAtDx+otoPjuQzsV1JyI53wrTfK0x6y3hqkTmge+jV6HmKbkH3qyrZpbeyTr3aK85IN1XBT4LwUAvfAbM8eVevJwXugfHGkqFUY8h2Fewh0cCCfBeRBYsC1g45a6FlVrFWScku5klxvH9DJLQY9j8s2dXX7hGzTIVuda7KZfNX3FGWhD2jtpZ5lhE5Fn8nnG3nYjzz6Nfd1WftPvnsBe20pk+pZQIPiWVXz3YnDURa2UdiDesktdSLJ9fbpnkbPUdYQR6a+7vPs/e+6dqar2iamh0pRSiib8slGWfTr1y8Kn7G0tbWZXp1uxLbKuo3CuO+++7x9okrwvo0tISR54gjVayZomwhpDmibaJsISSu0T7RPhKQR2iZrm/iakZC0kWlS20RrkhKuueaa1VEUnfn1r39tjjzyyNW/33DDDWbUqFFmr732imdgcGIoPddjy5UtxiqtXOH1gpMRCMhLTuNtJ2XS9CO9NpBHmTNfMBcnMkCRd1OTJikkFYlmvnHJLZHrDdcgpvX26h6IzqhXTvikiiI1O04UEHgOl7qIPBMcfUWhnJ6xkNe/zN9ZmDXbbTNsqDfXuGMPxHxRnlA5VrZHT+/3S84FhQmrQmXFWMhuO20U3rdJyY1Co51crXVab403Y730HHl1h0DbtIbITJkeBHnIizSKThtkmxQesbKf/LojnTaFaR9WbSP/jkLakUz5kcNr7keGtKP5FmfMrHrt0L0fheD7wvTR/sHZzzRQbqQTvvVGcwlZb00km5wLXKcAPQ+F9kl3LWUqWLn26L4eNBdFrSpnn69oo5FJ9gNrinn2Idp+nO/OynZvtJYmit259wMb5zxLJSh3I9fbB0p3XC8910DbZEx5/kJvhERJZm5AWThEmyyKfvKMhXQsZJ8vnymQPkuZNM83mnc4sp+iqAWjSbOOxlJFsctMKDB9d+PkljqR5HrHoecool7KVBbjtJpt4qFFStBm6frud78b/RBCug7NegMhhHRtaJsIIWmF9okQkkZomwghaSTTpLaJhxbES908zpFHmfCCU3n0e4pdIlA/+U02qvi98O/JVf+O2iB80Q5oPlnFSXlItINso5EpVG6vd7PG4zGm9daQZGRFVwnVqyfQ88PJG7wiqA6CbyyU51J6ZKBC1yEeJHIs6Pmx8YaVbd5+J6iNE+Uhrh+USRTDVkU7oH5Ewcak5A5Zg7jWO0T36qnnIdA2YVQREaKuQFz6IfcH0NN+zOjKNu+9X7UPVLMJySTHym3+MadN8fW3qrYpiL/DiAhx7TQyqaIdRB9RP1OnpUbukPWGMgWsd4ieo3VKMmqV9kmJjMRzijn7i6GqhpH6Ab1dh1TdY6h1SD5TiLHyG23g/JPC5Ck1t9FECmlkcp7rQLSD048sdN1guaVOJLrePjQRXTHpuWo6tE1O3n5Yq0pGw6CaJ7KelaLouhPZJIs5o33+eqPcNlM/qFrXSROJBZ9vPO+cNG3g85i4fhqZNFGrsp/C+x/69yoJyi3XIdH19uieRs/RHk2TUaWVbBMPLQghpME06w2EENK1oW0ihKQV2idCSBqhbSKEpJFMk9omHlq0GsjLwOd1oPFs1/TrG0eRf1hzGqzyDgH9yJPc4h7jKxs8/Jx3vs5cwHxQ9IBvLOfvaD4BcqMT7nrJrVmD2Nbbh0aH49LzLhyqFysKb6eyvE51ypXtjIO+O8hbTPO98IwFbZOMMNhxG7fNUy+t9XcHySTHKolxUBs5FzSW48FbJ7lD1qCe660hKT3XQNukuxdoImZUa+bbf4GaTMjrzPG0V9Sm0cgk+5HRBdHYn9q+8oNJz3rn69RSQ9FPQiZnHPtQI8byzUXr5ZuU3AjfeqOIk5D1DtFztE5Beh4I7ZOSkOe6OkWgyXupJhoSD1bd69+JHLDfg93GVbZ59PlYojykTHKcCDEWauPMJyDaoa5yN3K96/VcVydom8D9De1lxb0J6Ydz/4J74upjoVpVOVGTSXrZozaqmk2y7gyo/STfv5R2BfbgseerzwXVcZH2AMgkx8qKcVAbORfNOiUpd0PX26N7Gj3X7clXmVa2TTy0IISQBtOsp96EkK4NbRMhJK3QPhFC0ghtEyEkjWSa1Dbx0KLFQF5RTptcd48nRfdYvCQyeb/XmSqHnvAoQ96ucs4ol29u682rRhg4f7cnsC+/6c1J59S0WNfNoSfHkh68ORDtIK9Ncdr0muVGMtVLbrneyMMwrvX2odHhuPS8K596J05INEyIZxXykpD5PRX1H1T5c6UnBdDn3JabVvxeBJEMTptXKr+jcD5iLlAmMVZu0ECnjZxPyLWpm9wBaxDbeod69SWl55qp0DapIuygx3mpXLWN/Lt6LJkbF3ho5UcMr/i9MH1G1T60XvRO/ZpNN3YnKCIMZJvCm2/7vXzBtZEyoagJuReRkRdOH3Y+M2alWm7fekOZAtY7RM/hfGPScw20Tzp8XvRxeb9rog9lPQUUGaDpxyvThK2cf5MVEQaoTfmZl6uOg8ZyZFJEMsi5qK9NiuROcr19qOZbrygPNB/aptiiVoP2u4p9vvTYzw8e7LQpzJ1b+1yk1z+IDJDPLgZEO4Q83zi2CcnkiWRA85H9ONelwXI3dL19cwH9NLTeTtE0JTy0IISQBtOsNxBCSNeGtokQklZonwghaYS2iRCSRjJNapt4aJECrrnmmujn3XffjX7fYostzHnnnWf23Xff1W2eeuopc+6555p//OMfJpfLmW233dY8+OCDplevXrUNJk7yMt1cFSgLb/ysOIEtLV3mdiu822QfaKwy8rQfObyqp738u6U4Y2bVuaD5oH4K/3q9en0N8feon3VHVraZOdtpI68fih7weZnAfO+in1z/fk4buVbO9QUyxSW3oxMyigatQZ3W29E9oJ9x6XkrherVFYUnJorwcaKoQjwygHdDftjQit8Ls2YHtfHJJfuI+hFeJjDaQbSB/cyeW/X6oboNcqzivPneNqgfOZZcp3rJLWVOdL0DvYFi0fO4csbTNkHvTMfbFXiGynWTbVQRiihvsLiX5gYM8HrayzbFhYtqni/qRxM9INug+ZYWL646Fxg9oLg2zlxEH9rozUbK7VtvJFPQeqO6LB49hzocoOeh0D65tl+lQzJvN9jvOnVRwDObc1+XUUDCyx552mvaaOrBOB79InIA6jNo4/Tzznv+3OhivqFe/7If5AEt1ypJuX21cuq13irdA23i0vMQaJsAmv2upvZTXM91nohUVRuFTDAaUj7f9Ovnf76RcxFRorDmFYiIkGMVxT4EtZH9qGxygnI3dL1Dnus0dofPdRXw0CIFjBo1ynzve98zm2yyiSmXy+amm24yn/vc58wLL7wQHWDYA4t99tnHTJw40Vx11VUmn8+bl156yWSz9SkKTAhJlmwRpE8ghJAGQ9tECEkrtE+EkDRC20QISSPZJrVNPLRIAfvvv3/F75deemkUefH0009HhxZnnHGGOfXUU80555yzus2mm4qccEpQZIUk27dPxe/llSur/h210Y3T1+tFnxX9yL+jflAEh5wz6sebYx3lx5PzBSfGzvUD18bn2aHy4gyRW5HLPTa5pccLWsuY1tunfxodjkvPu3KoXqzIKDCQVzzTo0flBwUQMdOrZ9U1iz4rVR8r2wvYprnz/F7/sg2wcaXly6vKJPv4aD69vNEOThvYT8+q1w/KBMbytUH9lJcsrTqXesnt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tLqAd8iECSGky1HKuD818OMf/9gcd9xx5qijjjJjx46NbiK9e/c2N9xwwxr/jbW9w4cPX/2zzjrrxCAIIaRLsZa2yUL7RAipC7RNhJA0wuc6QkgaKTXnc11QpIXln//8p/nzn/9sbrrpJrPFFluYFStWROmfpk2bZq677jpz5ZVXmuuvv95MmDAham9PXWxKKVuo+8ILLzRtbW2hQxNSH8SJZjbA4yUUOdYZk1+v+P0nG5n6AGRKUm7yERlwOe3Bbsfhbgf2sNj+dGbVqlXmueeeMxMnTlz9WTabNXvuuWd0cLwmlixZYsaMGWNKpZIZN26c+e53vxvZcrIGNDofx/dC4S2WQZEMdfIok2N95jU3Guqesf7IimaTO7H17sK2ybS6fUpIP5CXquPFFVNdAdkP8po1ngiDEC9qJJOMqrB86pXKHMqTtnyh5tzNDZVbga8uUpxjpd0GSvtE25R+2+RENtXrewFqVcnnG03dsZDIFec5yhhz+JuVkaO/2dTEsp9JVO4a51LP9U67feJzXdh6qOqzxbQ/dzz2UeQg8upf23HAdxBFOzh1EHxzUUbvy7E+/apbi+a+LZ5b6yj2JOVO03onquct9FwXXNF2q622Mu3t7eall14y7733nrntttvMlltuaS666CKzwQYbRJM/+uijzaBBg1b/G5sqyk6we/fuUVoo8l8uu+wy8/GPf9z069cvOuA54IADKkJo3n33XScXWMePvfaEkK6VX9DaBHu42/nHfiaZM2dOFPEmT6zt7zNmzIDjbbrpptFp+F133WVuvvnm6AZiaxPZmkOEEBKHbbLQPhFC6gVtEyEkjfC5jhCSRjJN+lwXHGlhi2ece+65UTSFjaqwBbSvuuqqqHZFZzrXrFh33XXNOeecEzpkl+axxx4zJ510UnRwUSgUzLe+9S2z1157mddee8306dPHjB492kyfXplD16bkuvzyy82+++6rHwh5zfv+ifDiUp0OBpLtlq/Zu63UXljrcdBYMgco8pxxPOnAXJzrB/Key7FkZAXKfarxnHHyjXqub5xyx7EGca132vRcc+ptT7BtvsDOoBPvEHbcccfopwN749h8883NL37xC3PxxRfHMkZXQ6MfceiQxhMY5QCV3iqhHsUSOdY9Y/25T5HnTKPkDv0eJ7XeaSdp29Q09knjEetro4liDMhprrmXajxikUya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7r///m5PSQghhBBCCCGEEEIIIYTIBB1a9BBXX321O+2009w555zjHnroIbfDDju4/fff382ePbvbUxNCdJG7777bHXzwwW7q1KmuVCq566+/Pvhv7rzzTrfzzju7YcOGuS222ML98Ic/zGWuQojBg2yTEKKoyD4JIYqIbJMQoojc3SXbpEOLHuIb3/iGO/744920adPcNtts4y699FK3zjrruMsvv7zbUxNCdJElS5akh5hJJJaFZ5991h144IHuHe94h3v44YfdKaec4o477jh32223dXyuQojBg2yTEKKoyD4JIYqIbJMQoogs6ZJtKjUajUbknEWOrFixIj2guPbaa90hhxyy6vOjjz7avfbaa+6GG27o6vyEEMUgOfW+7rrrmuwE8tnPftbddNNN7tFHH1312fvf//7Ultx66605zVQIMZiQbRJCFBXZJyFEEZFtEkIMdtukSIseYe7cua5Wq7n11luv6fPk91mzZnVtXkKIzrB8+XK3cOHCpp/ksyy499573b777tv0WZJqLvlcCCFaIdskhBhstilB9kkIEYv2TkKIIrK8B2xTNZPZiEKSKBsq3GHrf9SVS5W/f1AngTblUvPvtVrz75XV/v2a+sE+WJtG3W/S1+/apTwE1LhEzuJgPvVl5EYk8wkCY5WHD/PbwPWjMmYxNl4Hslae3DHjWuUOrHfMWseut0k/M9Lz25b8yLVLfdabvc8uuPRI94UvfKHps6SezbnnnuvWluSgkx2AJg+ppUuXuhEjRri8bdP7tv2cK5f+vraN11/3/l0D9bef6FC1WT9KRDdL66zT3C+M5Y2TrNHSZa5dyiOG+2PDfHAsOk4G9oHOB65fp2wTvW9hnTold8warHE+AXCsGN3LSs9xnIRbXrjItYtsk3OHb3JK874pWSPczOPzI2kDn5XwmUKeMaVhoJvspSFmTxGxX2AyeWN1yD7gtVvTZ1mA6+KtU45y031HaL3ZXCLWG3XPoudsTWL0/Nb533cxoH3qpG0qqn3y3usIpaFDmz+og86Ufd1srFixFjP9Wx+R+/wS09eATPUlr4ftRcAuph+BvpZH+s9SvH64X2j097kYStUhwf0LrlWecjf6QC5I1pHZepfg3YolBYE2pSHN186s5wGZYt7p0qG1d3KHTflYs20yrKNlv2vqB9uQ77vqETaujLaUfZ8Ac8nz/Sav9zq6p+jie12R1jtKz1HHWT8l8p3T4ivcYLFNirToESZOnOgqlYp75ZVXmj5Pfl9//fXpv7ngggvc2LFjm36e6ft7aI4Qohgsb/R5P2eeeaZbsGBB00/y2UCA2aanFz7Q7WkJIQDZprHumWUPd3taQgjCYLJNCXqvE6I30N4psU1/6va0hBADxDYp0qJHGDp0qNtll13cHXfcsSpvWL1eT38/6aST6L9JlO20005r+uywySc2nT6WhvqeCY0Vfa09Q8nJKfaDfbA27AQWT0+xDTtdxbHKI8IysX7qxOM1hNdPzT9B9jxeFyx0nYB51uJaedc3Qmaz3IH1pmvQofU26WdGeh5DX8P3jBozbJgbRjwfsyA56GQHoGPGjOm4N86abNPhG37CNVa/N5jHKXomsCgbbFMHL4lk3fAehLGofmAb4kmHXnLcDg5tOV/m5dvob98zpRRz/WIjrxCD529ucjOvLdCJTq23t9YG3ctKz71xIpFtesOTGT3OcW0bS5cG9QPvC6ofgXES6osXt33vePpMvHHLcH2pTN59kZFtCl27TkZaBNYpV7kj1pvNJWq9SVRPSM/ZOsXoeVb2qZO2qaj26dDxH26KiqDXG7zJy6NGNv1eX7wkODaLvPD0A7x6WcQERnyzSG1LPygTtjFFO7B7fciw1p745Po1DNfPghedx96TYKw85Q5FVnRqvW26F14nqucoUwYRRgnaOzl32KQTmveqzJscvz+wtKkY9sTQT6PmvwtgtACLSghFgZYqQ4LzZVEJUV7/2A/57sW7fpHRT0EM65Sr3KATua63JWoipOcGmRx7nx1EtkmHFj1E8jBICm/vuuuubrfddnMXXXRRWsF92rRptP0wooChEGIhRP4sd535MmZN7LHHHu7mm29u+mz69Onp53kg2yREbyDbJNskRFGRfZJ9EqKIyDbJNglRRJb3qG3SoUUPccQRR7g5c+a4s88+O80PtuOOO6ZV1zFPWCvwxLCxlHhfjWydc7tETsUwpyYdG8Yqjxnltam9uqDp9wp4SdSIl0Rl3bHNc1nY7JXGZKotXBT2mgVvFeZRhpEBlTGjvTZ4/VCmdD6L/PmEwH5YbnRcK5SbejNmJDfqBK43rnWW6x3UPZarNSM9j2HZWnq4L1682D311FOrfn3ga9cAAQAASURBVH/22Wfdww8/7MaPH+823njj1ANmxowZ7kc/eiM364knnui+853vuM985jPu2GOPdb/+9a/dz372M3fTTTe5roHeTjTSBXIYk1oE6MVF+0FPCozwYfcoeK57eS6J10Zl7BivDY4VystsjoiANtSzdvg6rT3gmExZ5AAl88F16pTcKHOe6x2je1npuSUnuAXZJp6nGz9j3qMhD1PTvol5go0e3VJX0zYQOeg9s4ltQi9UKhPMmUZ5BGp5xNgmKlNMdCyLSMXozW7KTXQitN5MJm+9Yd9k3jsF9Nximzq1b0qQfTLaDNjz1hdB9A57vkXYJ1z7GtNngw5VcL5MzwLvdTH3KBuLvt/A9fNkIlFqFrx+YBy2VrnKje91Oa53UPfIe11Weh6DbFOyZW9+rysRT3GvjpchUweL1AuNRZ/rcJ+yyADvnQIjFFkUEMhE9ypZvN+sMyy8n8kx2sHLsJGn3KATea53FnpOM9+ATA1Wh3gQ2SYdWvQYSSqoNaWDEkL0Jn1r+Rx64IEH3Dve8Y5Vv68M0U0is374wx+6mTNnuhdeeGHV3zfbbLP0YXHqqae6iy++2G244Ybusssuc/vvv//aTUQIMaCQbRJCFBXZJyFEEZFtEkIUkb4etU2lRoOVOBcDlf2GvL/9HLuGPMcI8yjzvM7IiWHIG9/iLVYql4LzKzHP2vmvtn0aXBm/bnMTEhkQinag4FgspznOhUV5YP5hjGRAmTOU25sLrLcp0iZyvS1eRZ3S89v7rnLt8pcXN/A+22ajGW4wccAGn2j+gFzb+gK4d9i9jno21r8vvDoCMFb9tQXB+6K+nNTkGTY8eO+Ux41tLROBjRXCmwttVMrEO9A0H4xcMniMdEpu1IlOrTeutUX3MtNzYvNumfFt1y6yTc69q3KE95nlmWLxMI16dqGejSLPUthn4P4A6yRY9xmed/OC8L2D862MHdu2B286lsUjNmbvFOPV3SG5KYH1ZnvKmPW27NsRS4QRA8eaXrvaxYD2abDZpoT9hh7ZdpSd5/VpqDHCIji8yEGsTUC8R2Nq15kiB0ulTLx8vcgl8jUJXj8W7ZaJbWLRurhWOcrtzSWn9bboXqf0/PYVV7oYtHcitok9T2B/y+q4eBHJ5P0hKtLRUOczFLVqkonUOPAybDB7gHsIiLpsMI9+lInYJu/7N0O0A37XUrZkEshRbtSJPNfbtG8P6DmLurfIdHuEfepV26RICyGE6DLLGsr7KYQoHrJNQoiiIvskhCgisk1CiCKyrEdtkw4tIkkCVJKfcjnsKVEkvPoExIMz5JlQYjmBsQ07OcVT2mHVoKc95puz1EGgJ8/oFUP6CXqiEJm8yACDV0xUfkHmFQO5OWleRVgrT27DCXdmcsN6szXIbL1xznjCDfqQqZ5H0NejD5BMQa+Y1w2RLkznsTbNctJm9KjWYxny/bL7Au9j5oXK5tOqj1hYP0GbYbEHFkg/OBauU6fkpvU1cA06tN5RupeRnuM4scg2xUVVxNYDMI0FUUvMi94bC9p4kU+GGhysnxivMzpfjHRkeflj8sZjlAKR21SfJCe5aZRHYL0t87Wsd4yem9YpUs8tyD6Ra0m8kENenRbvZrpmGPFnqB+I+3z0ZGWRQg2mQzBnL9oh8v3GUv/Hq4uFMln2M5b3Olbzqkhy57TeFt0z6XCsnkcg22TT+VJ1WPheB499S8QMjkWjgLCWJat5gm3w+wP2HQTIxDz6LZEg3h4C+qE1ugJ1E99o0/7eqTR0RNvrlKvc+P1MjusdpeeGqBSTng8i26RDiwiSw4pSqZT+LFq0yPX19aXFR4QQIoZlDf/hKoQQ3Ua2SQhRVGSfhBBFRLZJCFFElvWobdKhRQTJYcVLL73kPvWpT7n//d//TQuMHHjggWlF9PXXX9/V6/WeicCg3mJ4+oe5JZnnB7ap97d9cpq2wRzrmC+TRIZ4J7DMkw5lMtRBMJ2c4omx4drUDPl+LeC1qdDT9NZyB2XOUG7v9JqtZVbrDfoXM99YPY9hWUOm2LF8joBFXz1v14ixmGe73yicA5R6yKMnneUezIgYGxc3EOsn7F3TCagXT07rzbx4ctNzwzgWZJt47mwvIpXlEUfvQIzMIbW1PG8xEhVYh5zAbB+HUQjowcuiFMqYN9jgJWfxKEZdpdFP2A/xOqO52tuEyg1ee9Ru5yQ304nQelOZYtabePUF9Zx5B0boeSyyT86VRo4I2wOoBYew/S7WnbN4xGJ0NN3D43OSzRdqvcTUt+vk+403l05FipIaXd18rwvVnezUepu8sQM6vjZ6HoNsE9GzCtkTQ+0UjN6h68aiYWoYQT20Zd0U+j5meWez1NsBmahHf0TdTO/7DlJ3pmypXRoBXhusbWqN8uiU3F62hjzXO6B7bM64TvQ549VAXOEGs23qzVnnCDuA6O/vd2eccYabO3eu++lPf+qmT5/ufvzjH7vf//737rrrruuZAwshRDFY1iAPOCGE6DKyTUKIoiL7JIQoIrJNQogisqxHbZMOLQKsfgCx8gDjj3/8o/v5z3/ufvOb37jdd9/d7b333m7nnXd2J5xwgrv88svTiIuVKaSKhpfPkeVmq5Rb56yFv5vGIWN59TUM3ioNkquVea8FZVpBTmkjwPmUyLVhOX87AR2ni3IjMTnsY9c7qOeWdYrV8whW9Gh+wUzB/JMsT6jnUeZ3wzy92h2LRqBFRNVYcuNaZMqKPMcqylws+pDneuem5ySfawyyTYknZrNHOs3ny3Qo5KHFvOQsudzRi55Fb0IUEEYxsjoI3nwstV4iwLmw+TAvuWDdseh6O2FPurzkZjoRXG+Wnz5ivWP0nHozRuh5LLJPpE7SgkVBz9VQ/ZW0DUY+jyX6AWN50fIr2o8aTCgPBT0j905Ipli8fpjNyClSlL0nWXLCd0xutJWdWm8cZxypr/HawmC/Jj03jBWDbJOt3o6Depf0uwyM6CNtQmNZbBzVebSDMTIZ9mimaG6cC6vPaZDJuQibEZgLjS7OUW7UiTzXOxM9J1GrFpkGk21SSMAaSA4oEq688kp39NFHNx1gLF++3E2YMMGNGzduVfv99tvPvf/973df+MIX0t87cWCR1M845ZRT3CabbOJGjBjh9txzzzS6QwjR2yyrD/F+hBCi28g2CSGKimyTEKKIaO8khCgiy3rUNinSYg0kBxRJGqhPf/rTbtasWe7www93Bx98cPq3pUuXusmTJ6cHBltvvXX62ahRo9wxxxyTRlrceOON7qCDDso82uK4445zjz76qPvv//5vN3Xq1DQl1b777uv+8pe/uA022MDUR33xkvCpHZx6ejltSS7aBp6KMu9A9A7p7wvn4cX8niwnMOknJBPrp768/RzgXj/MaxZPhDPKfeqNQzxrca286xshs1VuTydgnegaZLTeqH+enrN8rhnpeQzLe7QoUpZ4uTCHkbXvAx1iXiboWcX6CYzF1jVkm1gbhjcWysS8ZrOwTSR6CK9fDZ4PWXoze3njMWdpp+QmEVN5rXeM7mWl55Y83BZkm5JnAfF2NXiUeR7n6PlHn9mQ/5vVdoD839SjDJ6TGOnIvOS8HLumfVz79oHuO/HakGgH014vBHv2DxnWtiddx+QmOhFab3Zdotab6TnMx9tbsfzOEXoei+yTc/WZrwTziHuRNmhXWNQ9fIbjrGms4D4fo4CYDgXmwqOz0Os/TsdwzlRGuH61BQuzqQ8G+6DK2DHBa5Gr3IGojszWG8ax6B6NJrPouWGsGGSbSFaGoeVwzSaShcPbz7A9MUT54Fh1Vqcy4lnqfU9BMi6gTDTawWIjvDaV1uOwZ38W+ybSD3vH8MbKU27QiTzXO6R7bM6WdfK+l1pRG9S2SZEWLfj1r3/tdtppJ3fkkUe6s846a9Xn++yzT3qocf/997tXX/17gZskAuKf/umf3NVXX53+nuWBRXJQkqSk+vd//3f39re/3W2xxRbu3HPPTf/73e9+N7NxhBD5s6JR9X6EEKLbyDYJIYqKbJMQooho7ySEKCIretQ29cYsc2Zl7YokHdPQoUPdaaed5nbbbTd3xx13uHe+853p3w477LA0ddQ999zjDjzwwPTfTZo0yQ0ZMiRNG1Wr1Vwlo9xjCUnUR9Ln8OHNJ3xJmqjf/va30f3SaIdRzflR64sXt/w7a0PzxMFYlYkTvDb9r8xu+r06oblN/7x53r+prje56ffaXL8Nzrm2YIHfZtjwll6++HfWpjJ2bPDaVMev67VhcoXAfmqvvda23BaZspIb1xvXOsv1dqEoD4MOx+p5DMt7JDSvk6DXBkaFJZRHrtN6PZjOz38t6G2BY1XWm+T9m/4ZLze3WS094JruweoGU/02r8xpKVPt9QWZeP2zKAW8T717lHj1MbsSgvWDXibeOnVIbmabUCc6td641hbdy0rPs8p9KtvEPcrqGCnEvO1ef71ltFHt1QVh/SCerZXJE5t+7395pt9mdHP++Rrcf9WpU7x/U5s91+BBuKx9r0iDRxmOhdfOIpMF7MOyTnnKzXQitN5Mppj1ZjajvrjW9jrF6Hkssk+ktsPSpcHnRQPWrTRihPdv2HPHGxvGKuM9ihEIib6uOzas87CHYJ613rsqevTHvt/APqNCrg1eP0+m+X93aGwH7KdB9ge4VnnK7b0n5bjeQd0j72xZ6XkMsk2+xzzzfscIGVY/ymvDvOixvgq0sXz3YnqW4vcU5F7357s0m/cbz+uf6DNcP4tMFrz9F3t36abcXVzvkO5Z9JxFimE/JUvNzgFsmwZVpEWSrsnCytoVN9xwg3vHO96RFtl+17ve5b7yla+sanPyySenhxOXXXaZmz9/fvpZX1+fe/rpp93EiRMzPbBIGD16tNtjjz3cF7/4Rffyyy+nBxhJeqh7773XzZzpv7AKIXqHZY2q9yOEEN1GtkkIUVRkm4QQRUR7JyFEEVnWo7apN2a5lqysLbEyXdOKFSvSCIo1sTJKYsmSJW7jjTdOP/vSl77k3va2t6UFt8ePH58eGJxxxhnp50kUxsc+9jF35513phER73vf+zoiR1LL4thjj03rVyTzSw5TPvCBD7gHH3yQtk8Khic/TbL1r3DlUqXlqV1t4aLWnmDwd9YPev6wNtTTfpONmts8/2LLv7M2zIML52zpJxR5Qef7wgyvDV4/Fj0QE+WB/TDvwJDcKLNlLla5Q+ttWYPY9fbyvcNcmA5npecx9NUHhSlubZv6ljXZJhbF4tkm4pmAbSz53nEs9LJPqG68YXObF16KaoPet949Cn2wfiyedLSfF19uef1otJbBHmAb2g94xuQlN8rMdKJT623xxu6UnmeVx1a2ybn+5UubbRO53tTrDPaZ2IZ6toNHGWuDnvYsogt1GtswnfdsE5HJ0g/e6+htR+f78qzmPsgeHT3guLfd0tZ2h3lso/3qotwx603tV8R6M4/HkJ7TdYrQ81hkn8h7neEdyHv2x77XoX5g9OGU9b1/0z9zVtttTO91609u2Yf5/Qbm0z/Lf1f1rh9438ZGO3j9EBvXTbm9d6mc1tuke+y9LiM9j0G2Kfk+rT9omxqWmgHQr+m9H/f5xEPe03ly74TuC4tMFp03vd9AP7XZc8LfZRj2PKb3Otx/ke+ccJ3ylLur6x3QPYueszqqFjs4mGzToIi0WHlYcdNNN7l3v/vd7oQTTnA//elPV0VIJIcUq7MySiKJaEjqVzzxxBPu9NNPTz9/4IEH3Jlnnumq1WqaFupnP/uZO/TQQ9O+1113XXfrrbe6bbbZpiNybL755u6uu+5yixcvdi+++GJaUyOJ7njTm95E219wwQVu7NixTT/PNh7ryNyEEPEsr1e9n4EMtU112SYhioZsk/ZNQhSVwWSb1mif3OPdnpYQAtDeSXsnIYrI8h61TaWGNWdSj/PNb37TnX/++e64445zM2bMcHfffbfbc88908MLRlKrImmbRFvMmjUrrWGx/fbbu3POOcc99dRTbqONNmqqW5EcHiT1LFavidFpkiLgm222WVqcOzmIsZx6v3fcsZ7HIFIeUm2dLxP+ztpY4Pnblrbt7ep5t7F8iCgT8fKqbrhB81gvzWj5d9aGeZ3htaluRLztUC70voW8kFaP4pDcFpmyktuS6zCr9Q5h0eFYPZ9eu7rt+Xz6kSO8z762Q/v99ArMNh025WPNtqm/v+1aJdS7ndw7rgprC2OVqPco1KaZTOoggPdHheXYRdsDMlEPOKjjQqPUDG3Qo8WrMzRhfFAmWscFrjG7NrV581t7+XZIbubFg/Pt1Hp7a23Qvcz0HMdxzt22+ArXLrJNzr137DHBfZPlvrA81y1YvK9QX1FXLd5ipnt98828Jv1PP9uyDf7dvOcJyGSpI2G5j4smd2i9LTKZ1tuCRYcj9Hx6/Zr250Ls00C2TWuyT4eO/3DQPuEzDp9N7BlIn18BSsPCueerWKMFaquYvVAx7zm8C1Qnkv3MnOaxqpMm+m3mzg++q+K1sdTsM9k4Q82+Ismd53qHsOhwjJ7f3neVi0F7p2y+c7K2CUG/pwh49FsiA2hNBst3Tlm831i+c4JILGskm7fPsESgFUjuPNfbQqe+W50+iL5z6o2jlbVk7ty5aWqlz3zmM+nPynoVRx55pLviiivc0Ucf7f2bLbbYIq1N8Z73vCf9+9Zbb50eEiQ1LJLC3Ndcc01T3YrkwCI5rEjo1IHFbbfdlqa62mqrrdKDkyT6I5nXtGnTaPthw4alP6sTfPEWQuROX31QBL2tQrZJiN5Atkm2SYiiIvsk+yREEZFtkm0Sooj09ahtGhSHFsmBwl/+8he31157rfrs4IMPdh/5yEfcF77wBXfIIYekYWyrR0lMnjzZ3XjjjW7MmDGr/k2S/unCCy9MoyoYnY6uWLBgQZqa6qWXXkrraiTRH0n0yMoIDwuYu9FyuloZNbLp9/rrr3v/Bk8ILfknmYd8deqUlp72+Pe0zcxXWs6FzYf2A9ED6LGHf2f91MiJMV4/S5579A5kudGxn8ro0V4bXCvv+hKZspLbO1VGbyC2Bh1ab4tnalZ6HkOvhOZ1FAj6Yx5RGJ1jqRnAcgJ7+oG555f4a4/3F/PyxTYsN3pl5DotZWL3seeJQjyBsY3FHnj3OpEpxrOW9ROM8uiQ3PQ+xjz3HVpvXGuL7mWl57JNGcI87w2gp5fnNRXZb4ynvSVKwTIfrx8SPVAZN65lGzrfOVCji9wXXmQTjMNyrHtzYbYptE45ys3WILTeTKas1juExeMxi3HWhOyTf31LbE+MXp2Qj5x5yHvRGeS+wLG8nOaTmiMQmKc9a+NFZjIPefQohn4skVgYgcDundp8UqMLrh/KZHlm0/c66AffS9ha5Sm3pxM5rbdJ95iHfkZ6HoNsk4/lO6dO1bSgXv8QcURrHGAbiEgyRSmwyCaMHiA1IrxaoNAP1sChdVRZjRu8L9h7Eto4jECw1LTIUe4irXeMnudZ02J5j9qm3px1AIx4mDlzpttxxx3TQtlJSqgkWiH528knn+wuvfTSNILhX//1X1f9m0WLFrnRo0e7USS1x+GHH+66RTLHlfMUQgwcevUBIoQY2Mg2CSGKiuyTEKKIyDYJIYrI8h61Tb056zWQ1JhIim6vPKyYN2+emzBhQlp/YurUqe7Pf/5zWnw7iVJIDi422WQT98///M/u+9//fnoYkBx2JIW23/e+97nf/e53bsMNN0zbrSzkvRL2Wa/gndrV/ZImZczLDV6f+PeEOniq0lNGGKuy7hvRLS296L2T3ua/s37qC5tzkbM5s368a4NeMUQm7KcyxvcW9q4fOVVmp9yt5sL6Yae0IbnpOmUkN+oErhNbg6zWO6TnTIez0vMY+usKoS1BDn6qz1jPhNRF8TzOibcF5uH1vEMMOYFZrYTaokVBL5P6goUt54t9xEY7sH6w5gJePyYTqzXhAfNh/YQiAzolt6WuSKfWG9faontZ6TmOE4tsE/cmt3gH4nPdi+ZjXp+WqMBJk4PeYpXx67aOvCC5fGsY7UBkwn5YJBtGO2AbS9QS2xOhTMzbLjQX7IPdp8y7OTe5iU6E1pvJFLPeMd6BdJ0i9DwW2SfnKmP/nhFgjR6b+NyBdSsTncd6SxbP2jLaHYwkImvP2uAzucF0CGQyRS3huxSL3oR+8Pqm/WDUauD9kWGpVcXf60Z2TW5PJ3Jab4vusT1PVnoeg2yTn92D7eFNdUkNe+LQWCzyGb3o2fuC1yYQLc/mi33Qun7kWepFSAXmwq4fkwlr9jH8/euottcpV7kxa0GO652FnrM9pRd1Xy4NatvUm0mtyGFFQlJjIjmw+NOf/uQOPfTQtHD2c88950aOHOn23ntv99e//tXdfvvtaduVhw677babW7x4sVu4cGH6b4cPf2NDju1Wp1cPLIQQxWRFver9CCFEt5FtEkIUFdkmIUQR0d5JCFFEVvSobeqNWbY4rEgOKlYWxL777rvdOeec4x566CF30EEHpTUpNt100/RvH/jAB9z06dPTgtzJgcbQv3nO3XfffWn9iuRgI2HbbbdNIzJYaqgBAXg8lEewPKHgaY8enaSmRxlOIpl3M47VIPnevToI6G3BcrVCPzgXNmfWD8t/F/J4RA9Mdm3w+tUWEo/iCPDa0CiPgNwhmddGbk8ncJ3YGmS13iCXp3uGdYrV8xhW9Oipd6bAWlPP5UWLw55V6Bk6zo/oaqBnFXqPvrYg7B3CIjiwDfG0x/l4MhlyIVPAs4P2g3k34foxj9gY2LXx8nfiXDokN7VfuAYdWu8Y3ctKz3GcWGSbnCsN969/GSLD6mQ/4+XKXtEX9uBF/YBx0rEg/zeLBKm9uqB13Qbog82HyeT1Q7zOvPliRBeLXIFrUzLIFAProwzri3PJU26mE6H1pjJFrDezGSE9p7UGIvQ8Ftkn59zQ5udQqepfk/pr/l4kFMlQHgfrRuo24lj1V18LeoZaorm9Z+m644Iy4Vim/N/EI9aLmjDsi0x7FQPetWH3F8wnT7lRJ3Jbb4vuBXR8bfQ8BtkmY72dv6V0X0l5DImOBq90S40bHItGBhie614by1xQJlb7yRDF7kWoY21AGIddP/YeGoO3n2HPdYweyFFuXIdc1zuge2zOuE547TpZb2dFj9qmnom0SFIyISsPK37+85+7XXbZxb33ve9122yzjfvDH/7gfvKTn7iddtrJ3XXXXe6VV15JDyaOO+449/zzz7t3v/vd7pZbbnE//elP3RNPPJHWqVjZV/Lf5MAiSRXFxhRCiKzpr5e9HyGE6DayTUKIoiLbJIQoIto7CSGKSH+P2qZqr9WpWJ05c+aktSgef/zx9EAiKaw9ceIbOaWvvvpqd/7557sXX3zRXXnlle6AAw5whxxyiHvTm97kPvWpT7nPfvazbu7cuem/+dCHPuT1zcYbCHgnj+wk0vPG7wt6UtQsHrp4Aku8F71cfFC/wOIlxyIZPJnIaSXmscQ8e7QWBUYGeC3868dqeVhyM0fVdoC1Qrkt9TVi5UadwHVip+BZrXdQ92ikTUZ6PohOvbME9Zdd/xLWcWF5jg1RE1jjBMcqkby3ddBFlve8hlFAY/x7HeeDMrH7wosesORCZhEGMGe8flQmVmsiAOvH86TGdeqQ3CyHsbcGHVrvGN3LSs9ZvaoYZJt4RJ1XQ4REzHgesYZ6AJaxUV9NnvbQD9uH4HyYTDX02iO50T0vXmjD9l+e1z/ziEWZLPV2An280VGjMHLT/M6B9abejBHrzQjpuck2GcaJRfbJuRrUL2Ge7F5NC4h0wZpizIue7SlwLM8zNLbuGN7rMBcuU9ij34vwNNRWKUEkC4+YDOfct8Dymgfrv+UotxdZkdN6m3SPRaRmpOcxyDaR/S27trCOtBYcPuOYPgTGYlHN3h7ekIUD3wVY3RlPJqbzhvplpUA/9Hs0uH4We2ChFLFOecrdzfXOQs9ZBAf2U8qopkWv2qbCH1qsjIB4+umn3cMPP+ze9ra3uY033jj9bNKkSe6MM85I61WsrEVxySWXuK997WtppMRHP/pR9+EPfzhtl5BETiR1LpI0UUmti5Wpo1b+TbUqhBDdYEWtNx8gQoiBjWyTEKKoyD4JIYqIbJMQoois6FHbVPhDi6S+RBIV8dvf/tZttNFGbtasWe7cc891H/nIR1y1WnX777+/6+/vT2tZfO9733Pjx49P23/wgx90o0c35/hf/VBi5YFF8m+Tg5FuH1gk9Ti++tWvugcffNDNnDnTXXfddWlkyEqSYuHJAc3111/v5s2b5zbbbDP3yU9+0p144ontDRTwBGOnjJbc3l4/JF+m53VGPDKqU9Zv+r1/5qyWf2dtLDJZ+qmA/jCP49B82fVjURWhsfDvrB+WEz4kN5tvVnKH1tuyBrHrHfR4tOSnj9XzCPp69NQ7Szxvi0YpnPeWeFugRyzNsYte6DBWndyj1U02avq9//kXo9qEvFWqG2/g/Rvsh3njefcXzCXt54UZraOWyL1u8SDENpZ+ajnJjTLTCLQOrTf1cAroXlZ6nlWkhWzTGqKA8D425M/11izSI7a+9NW1fpZa9ipMpur6k4P9hGwGne+s2W3nQrbYA5P9gnzJXlRFjnLHrDebS8x6mzweDTmrY/Q8Ftkn39Y36iTvNUZZo20i9WtsY/e3HKc6cbz3b/rnzG1uM2mi32auX4PFIzAWjpNQgXqVtcV+hDrOh80lFPWF47CxLG3QNrG1ylNujzzXu03dy1LPY5Bt8qML6bOgz5AJAesKROydWI2u6qQJTb/3Q9Ra2mbypOY2c+a1LROOw8Yyvd8E5mKtXRrzXmep0YXrlKfcXV1vw749pOeW94zGIN83dfXQYmW0w4oVK9J0TMkhxOrMnj07/SI/OYh49NFH3YYbbuiuuOIKd+aZZ7rNN988rU2RkERTJLUpLr744rSuxcoi2xZwzG6xZMkSt8MOO7hjjz02LRSOnHbaae7Xv/61+/GPf5xes9tvv9197GMfc1OnTnX/8i//Ej+w4UvXmGKopjbky2bv4GD8ui3/TvsxzIV+Wb/tm5t+r/35yZZ/T/uBNpbrhzJZDiDYl4DYjyXFlHd9iUxZyR1ab7oGHVrvXPU8glqP5BPsKHBtG+zZbDj4xDaWhzyOxTYc+IV0deqUYBvTlzV4X5Avx8u7bNf0e/3BR4Nt+kmb4EEik+nlmcGX6Jh+cpObPGcsG8ws1jtG9zqp5zHINnG73+gPPwtC6YssfdA2WTxL2X1heAZ6e4jt3+K1qf3xsZZt+uHv1mtn2fOE2lj2X92UO2a9mUxZrXdIR21FNTuzb0qQfTLuS/GZgutmcf4xgM9A9gW696UQ+eLI9CzF+wLGyuz9hjnCwfWzyOQdjrKDA0M/3ZQbdSLX9Q5hWKes9NyCbJMPTfEak0qJPbtwT4xp04hjJ+qi5d3FlLYW7wtmD3bapun3+h/+EmzTD22okwM6q1re6wypwrEf752uy3J3c71Dusfm7DmIG2RyzH4NItvUlW/s+/r63Fe+8hX39a9/3b366qtNhwzJl/cjR/49f1hyCLHvvvumn/3qV79yl112WRpt8Ytf/CJN9ZR8aZ/0td5663U9WmJtSGpuJD9r4p577nFHH32022effdLfTzjhhDSy5P7771+7QwshRNfpr/XmA0QIMbCRbRJCFBXZJyFEEZFtEkIUkf4etU1dObQYMmSI22233dyIESPSgtlHHHGEu/DCC9MogqRQdlJc+//9v//nJk+e7A4++OD0kCJJ95TUtPj4xz+efkmftE8iEpJDi/XX90OuBxp77rmn++Uvf5lGYiQy33nnne7JJ5903/zmNzs/eIdS4rB+8KTRi0DoUEGhdCz0Mtl9h+a/3/dIJt5A1KsPxmrgWPB3Op8IrxhP5izlbnMunVzvrur5AA7Vy5QIDwJT+p2IfmkRa/CSY14m2IZ6oQbmQyMZIHqgb79dvTZDbn8g3E/As4PJhGPhOHQ+pI1nM2CdOiW3Jc1bx9Y7I6+YTum5BdmmAmKIWvX2GVk933A/Q6IHau/cpfmDOx5sPRfjfFAmbxwyVnAuPSB3aL3pnrKL+5k8kX3KyGZkpB9eFKPB25W1iYl89iLUyftN/e07NX9w9x+8NjGetSiTNw4Zi7Xpx/lY3uvylLub6x2cTDhKTe91OWPJcmCKSG7/Owbvz5aICEP0QNR9wSIiMMJgzx39Nvc83HouhuvCZMKxcBzWpp+1KbDcea53FnqehY4PdNuU+1FLUvA6YZdddnH77bef+/d//3d33333uZtvvtmddNJJaZqopHZDUtMhnWC57K655pr04OKWW25xp59+ehpxkERkJAW1k/oOq/c7UPn2t7/tttlmmzRFVhKZkqTGSoqOv/3tb+/21IQQa0m9XvJ+hBCi28g2CSGKimyTEKKIaO8khCgi9R61TblEWtRqtTR1U3IAsTKF04QJE9zhhx/ubrvttvQQ4lvf+lZaVDspPv35z38+PbhIUkMl//ZnP/uZ22mnndIojISkrsWYMWPSz5M2e+21V0+nhrIeWiSHO0m0xSabbJIW7k6iTpKoiyR9FmP58uXpz+rUXcOVS61P2EIFPU1enwYs+dsyKyaIMpE21S03bx4LIgzw72mbvz7d9rWhxRhhLE8mEu3gXRso6Mjmg3JTmTokt+X0Oqv1DmEpzpyVng/kUL1YmG1qlF2zbTJEYmGRN1bcyhL95HuuDQ/nMI6s/+Dl3USZSHRGdYs3nn2tIhmwTf9Tz4SLR2IRRSITjsWKr2G0A702M19pXYSsQ3Kz+fregZ1Zb4uHZsf0PKPIC9km5+qNWnDflCsGHQrWf8jI67+8Q3PuYRZhgG3qj/g5jC14tRtI1ERl3LiWbWJrWnRT7tB6m2TKMZd7nsg++Xsntk8NvQtQ73dsY9g3W4rAWnKjh/YqlncKVrcBIwws9R8s18aTiUQyePtB0sbrB/ZNbD7dlDuv9Y5+Z8tIz2OQbTLunSzRMFlEzBjq20U9Sw3zpd85bbVFMJLBa/PEU63nQuZDZYKxKqNGhdtY6qgWSO5c19tCqJ8c92j9PWqbOjrr5MAhoVKppAcWL7zwgnvxxRddf/8bD6O3vvWt7p/+6Z/cwoUL0wOLhCTV04c+9CH3zDPPpDUskn+78847uxtvvNF97WtfcxdccIG76aab3PXXX+8uvfTS9MBioLN06VL3uc99zn3jG99I02UltTySqJQkrVZyTdZEcq3Gjh3b9PNsI1wIUAiRL0lRJPwZyFDbVI/8QkcI0TFkm8a6Z93j3Z6WEIIwmGzTmvdOeq8Tomho76S9kxBFpNajtqnUyCiv0uzZs91xxx2XFtfecsstm/42c+bMtCZFUjR60003dVtvvbW78sor0zRH1157rfvABz7g/vd//9ftvvvuafsFCxakfT399NPuoYceSot1f+lLX3J33HGHq1ar7qyzzkojLAYqSdRIkh4riTpJSA51EuOfpNBavVj3Rz7yEffss8+622+/3Xzq/d5xxzadejPPBM+jbJ11mn6vv/561OmqJSdddeL4pt/758xt/vukid6/6Z87v+U41pNnHMuS3xPnw06e8frVFi3y2oTGsuQArYwe7bXBtUK5UWbLXKxyh3QC1zrL9Q7mVSSn11np+fTa1a5d3nztF73Pnjz8826gwmzToROOb7ZN4MGV0AAvrvKIEV6b+tKlTb+XmKc9enGht9iy5rklVCc362L/K35kU3W9yc1tZvv3V3n4sJYyVSZO8P4NjmWxBziXhNrceS2vX23x4ih7YGmDnjy4Tp2SG2VO+0Gvvg6tN661Rfey0nMcJ+H2FVe6dpFtcu7Q8R/2vAVN0TCoZ7iubO0tOYExQmrShGAe8erkSc1/n+PfF57XLJEJx8JxLLVecC5sPixCCvuhdXACbVhEl6UOTm5yE50IrTebS8x6W/btOBe6ThF6fnvfVS4GtE8D2TatyT4dtv5Hm/dObM+Dz4thsA+BPtM28NzB5xIbqw57iPLYMd6/wfcF9j5WX7CwuR/iCezJNGpky3Fio9Qai5f43cD1897rIj2BvXdV8l6Ha5Wr3KATea23RfdQH7LS89uW/MjFoL0T+c7JEq1F9s24RzdF3gSyhli+c2LfQ3jfQRjmYvm+w7LPD82FXT/sg40V04bOF9YpT7mLtN4xes7eQy0yTR9E3zlllh4q+VL9N7/5jbv88svT09aExx57zH3lK19x73jHO9KDjIsvvtj98Y9/dJ/61KfSQ4mvfvWraaRFUpch+Tc33HBDWpsi6ev4449P6zbcddddbu+9904jCpL6FRMn+l9iDgQWL17snnrq7+FPyWFEUnh8/PjxbuONN06vQVLPIylenqSHSq7Lj370ozT6Yk0MGzYs/VmdQqU4EEKk1Ho0VC8W2SYhegPZJtkmIYqK7JPskxBFRLZJtkmIIlLrUduU2aFFYqjOP/9898UvftF98pOfdFOmTEkjJJIv1n/+85+nUQJJOqjkZ9SoUWm0RJLm6dhjj03TQSX/5sknn3RvfvMbeRaTGhb77LOP+7//+7/0C/sk+mDlgUWSdipJGzWQeOCBB9LDnZWcdtpp6X+Teh8//OEP3VVXXeXOPPPMNGJl/vz56cFFcr1PPPHEtsbxvKLIaSB6Jri/pfNa9U8snh9sfWAsdpqOHhnoucY8SCoj1wl7i6FXjCUyAL2FiVeMN19ybbzrZ/AORJjnstcPCZrC+VjyHGclN+oErjeNSslqvVH/QPc8Hc9SzyNo1AZ2TR4LpaG+Fz2CXlyNJUvDbZj3QmAs6h2CXvTkPsY2rJ/6ktdbzpdFZwRtE2nD+qmsO7bl9YuxTWw+tJYHeujmJDfKnPZj8QbKYL1xrfPUc8s4FmSbuCeYl9ubRfyhzpM9jzcWeo+S51sF2jAveoxKwjb4HLXK5I1F9geezcB7lHn9YwQay2EPMllsE7Yx5Wkn65SX3IzQejOZotbbUP8HdYKtU4yexyL75FwZIv4aC5u91lOqEEW1dFn4eVEptxyHjeVFlr+6wO8X7gvWpgLRAzgXJhMdKyJHOPZTHkH2RXD9ovKeG3Lhe+OQtcpTbk8nclpvi+6hPmSp5zHINhGPc/LcrKwLUVQrSKQ27OPrC0lUeLl1JFNl1PBwFBB57/fagK6yexRlYt9lePsZFikEbby5kPcbvH5UJpLxA/Gi4bEf8p0TzidPuVEn8lzvkO5Z9NwiUwnHGWS2KfqopV6vr6pZsZLkC/YkUiI5qEjYYYcd3AknnJAWzU7qMKzkPe95j5s8ebL73e9+5/r6+tJIi6Ttueeem/496WPSpEnulltucZ/5zGe8sQfagUVCckCTyI0/yYHFylofP/jBD9yMGTPSGhePP/54erAx0AuQCzEYaNRL3o8QQnQb2SYhRFGRbRJCFBHtnYQQRaTRo7apGntgkRTWTkjy1yU1KJJDiCStU1Jn4Tvf+U56WLHuuuum9Souu+wy9+CDD6apoJIi3EldiuRL+muuucYNGTLETZ061R100EHuP/7jP9ySJUvcyJEjV0VvJGMlX8zry/lssHimOfTY9GpRvJ5NhXt2Egneo3U4DWbe7zXIhUnnAjLhOKwfPIGtkfyeXiQDzsVYT8EbC+S21KtgHpm4Vig3m29Wcofyt7I1yGy9QzDv+07puYFGjxRB6iSWKJbGkubrXyKeYJ5XOlmzUN545glWxXowxIME27B+vByVIBP2kY41b177tR0m+Hnu63Av4/Wj9iuipgXLCY/3O65Tp+RGmd/4R/Vc1pvmNTXULMhCz9nzIAbZJpsnGItarYwf19zPIvAOJPlp6yuWBnW+3rc87KGF+xmLp2IgQpH1E5M/neU0b4D3Gl67dKx589c+bzzbf00Y33qdcpSb6kRgvXGtY9cbdc+i52ydYvQ8Ftkn52ovvhS8L/BZhF70LNd/fSE869k+P6TzY8gefuGiYBuslWCRCfupLVgQVVsR+2G1EvD64XtSVK09lvecPfthrfKU29OJvNbboHtsv5WZnkcg20SiVEmki/cMZN/3QZvyGL/GjRehAWPRiGWvrt+ScHYHGIfNBWVi0bpeDUFD5gusDehdO3L9WGSAKTIMI6Tg2tBIrC7KjeuQ53qHdM+k5waZHIlCGky2KWrWyYFFUng7OaBIimofeuihaY2KhJNPPjlNC3X11W8UBtl1113dO9/5TnfeeeelEQLJgUVCUmQ7SSGVRFoMHz48PeR4/vnnVx1YrD6WDiyEEAOaJFQPf4QQotvINgkhiopskxCiiGjvJIQoIrXetE1RkRb33XefO+mkk9LoiksvvdQtWrTIffrTn3annHKKu+iii9IDjOS/Rx11VHoI8YlPfCJNCZVEUyQ1GJIC3b/85S/dd7/73TTSIiGJyhio9Sp6DvTY7O+Mdzmj9tprLT3TTN5tDPSshXHSsbZ9c3ObPz/Z8u+sDR26P+xtF6zlQfIPmq5N6PoaZIqVu925ZLreIZj3fY567o2dwdCXXHKJ++pXv+pmzZqVptv79re/7XbbbTfaNkk7N23atKbPksi2ZcsMkVgdAj2/LLVK6gtWhCMZDB7nngccyxEOXv9Vkve2/5XZwX4wCgFlwnHSsTbZqLnN8y9GtQldv+rkN+pGtZKJ5SJHmei1gfoPuE6dktvk8dih9WYRJ6G5dFLPY8gquKyX7RN6v6afwdqy+wLrCmAbk36QNp6XL4sC2nCD5rm8NKNlLvJ0PuglR2TCsapTp3ht+l+e2bIN/p3teVj9h+oGU1rKZPL8ntJ8XdJ+ZswsjNz1iPXGtY5db0ZIz2mdjgg9j0V7J2b7SdQ13he4JpaoJUogapV4/VcnNe8z+ufMDUcGkAhPX6bmsapbbeH9m/4nnmq7Db02uOcxyIT3IEbLW/tx3ZQbdCLP9faBdwbDOsXrefvINvnPDxa94++bl4efKYasFjgWewbidyvVyZO8Nv2z57TMRkHngjUZlvqRjtUNpjaPM+PlttvQOoRw/aqTJgRlsrwn4bWxPPtzlRvWIdf1DuieRc/puzWMVcqqjmqPvtdFffuXpHBKIiOS4tr777+/23PPPd2ECRPSgtv33ntvWlT7mWeecb/61a/S9nvssYc78MAD3cMPP+xeeuml9N8lk3//+9/v9a0DCyHEYKNUK3k/7ZBEtiU1bs455xz30EMPpQ+PxDYnEXFrIqk1NHPmzFU/SaSbEEJkaZsSZJ+EEJ1AtkkIUUT0XieEKCKlHn2vi4q02GWXXdxee+2VHkycfvrp7te//rV73/vel0ZPJIcRSW2KI4880n3rW99KU0clBxpHHHFEWlj78MMPd6eeeuqqvpJi00r/NEgxHPVZogeyOjLE6IH6Pjs3N7jzoWzGITKFxvL+ntF8WMREp+Qu2noXirUMzfvGN77hjj/++FWn2EkE3E033eQuv/xyd8YZZ9B/k9jd9ddf3/UStqiJDMZhXl7goYVe9qyNxVvMk4l4gmH0QOP/28lv879/CPYTun5MJhyrjuOQNt5cLOvUIblNOpPjehdJz01kEDbc8/bJ8Myh9cJAP0w1xQyghy6N8kBPe/RUJF6+3jhkvp6nPYkeqL8d7MHdfwh7lOFYzB6ATDhO2jeMFZoLG6urckesN4s4iVlvC5Z1ykrPTWjvZCOi1ksWzy4egTa37ehNPli99X2BkQPk/aafvN+YIoVwfwAyWd7ZWBtvPobIgFzl7uZ6BycTzsuf6/ujbJO/ruy9BJ4XzJvc8txp1FqPxTJWYI0D9LJnbbx+DDKx2g4YPVB7xy5eG/ebB1v2Q+utYfQ+kQnHqsA4dD7QxrJOecrd1fUO6J5Fzy3vEA0cZ5C910VFWowbNy4N6fjSl76UpnP67W9/6/7zP/8zrXGRRFH8+c9/Tg8mkqiLO+64I/0373rXu9L6F1//+tdXFfBeKYAQQgxq6iX/x8iKFSvcgw8+6Pbdd9+mWkDJ74kNXhOLFy92m2yyidtoo43S9H2J3RZCiKxsU4LskxCiY8g2CSGKiN7rhBBFpN6b73VRkRYJv//9790vfvELd8UVV7htt902zUmVpH+aMWOG+/73v+8uvvhid9lll63KbZXUv0hSSiWFur/whS+4sWPHxg4tRGeAE81yhMdLLDjWqU8/1vT7Nzd3nYHIlKfc4g1K5HImB7srD3dXkhwWJz+rM3fu3PTweL311mv6PPn98ccfp+NttdVW6Wn49ttv7xYsWOC+9rWvpWn+kgfIhhtumIVIAw+LzmdxXxi8xUoskqFDHmU41kF/8aOhbtwmHFnRa3Lntt4D2Da5wW6fctIP5qXqeXFlVFcA+2Fesy4QYRDjRc1kwqiKhHc92pxDefp2f2g7d3NX5TYQqouU5VhFt4Fon2Sbim+bvMimTt0XpFYVvt9Y6o7FRK5471HOuaOeaI4c/dFWLpP9TK5ytzmXTq530e2T3uvi1sNUny2j/bnnsc8iB5lX/9qOQ+5BFu3g1UEIzcUYvY9j/fOf/Vo0N2/74FpHsecpd5HWO1c9H0TvddEVbd/61re6vr4+98gjj6Q5qa655hq33XbbufPOO89tttlm6YnLscce68aPH7/q3ySpor785S+7oUOHpmmhxN+54IIL3Nve9jY3evTo9IDnkEMOcU888cSqvz/33HNpVAr7Sa69EGJg5RdMbEJyuLv6T/JZFiR1ho466ii34447ur333js9gJ40aZL73ve+l0n/QoiBQd62KUH2SQhhQbZJCFFE9F4nhCgipR59r4uOtBg+fLg766yz0miKJKoiKaCdVA1Paleszuo1KzbYYIM15rka7Nx1113u4x//eHpw0d/f7z73uc+5/fbbz/3lL39xI0eOTENpkqIlq5Ok5Eqqth9wwAH2gZjXfOifgBeX6XQwkvKQatvebfW+/rUeh42FOUCZ54znSUfm4l0/kvccx8LICpb71OI54+UbDVzfLOXOYg2yWu+i6bk3NhnqzDPPTIscrQ478Z44cWJqf1955ZWmz5PfrbkDhwwZ4nbaaSf31FN+Llxh148sdMjiCcxygKK3SqxHMYJj3bhNOPcp85zpltyx93Fe61101sY2DWj7ZPGIDbWxRDFG5DS3PEstHrFMJks/oTo4ppzmhpo8rMYNRlZ4bSKjtbopd2i92VyyWu+8dDgr+zQobVOB3+sqI9fxPqstbo6Gqowa5bdZ8vpaj4XjJPS/a9em36vTH/D7gfmwuYTe63AcFlnB2uB8LO91ecpdpPW2oPe6gu2bikYWz8CYcYjNYPsZb78SMxfSBse6edtwrUIa6V5kuS3zKVodnJwo9eh7XXSkRULyxfr06dPdtddem1YLX3lgUa/XV0VSqGaFjVtvvdUdc8wxaaqtpAJ7UtD8hRdeSHOGJSTKkSjC6j/XXXed+9d//Vc3imwAhBC9QxKqhz/Jw2LMmDFNP+wBkkSu7bLLLqvqB620wcnvycm2hSTM709/+pObMmVKpnIJIQavbUqQfRJCdArZJiFEEdF7nRCiiJR69L0uOtJiJZtvvnn6k5BECFSr1TQ1lFg7knxfCaun11qd5DAjqSFyySWXrJ03K/MoGzGi6ff6suVBTwpLnjjPW4x5Wyxc1PR7dePmPGf9L77s/ZvKmNHNcyFeJigT8+qoTprYPBZEGODf0zZz54evDVw/lImNhbBoB+yn9nLziSebD8pNZcpKbtAJXG9c6yzXO3RSjvqQqZ5HkITmrQ3J6fjRRx/tdt1117SO0EUXXeSWLFnipk2blv49CclLIt1Whvolafx23313t8UWW7jXXnstjdhK0vwdd9xxrmsYvBs8r6m6n2awVC6FPatC+mHwiK1O9R+0/S/PbLsfiydY9U2bNn9AIhmwTf8zz7V9/apTmvNTsrFYRARGO9BrM/OVttcpC7ktERydWu9Y7+ZM9Lwgtmkg2KfysOHeZ3i9S0P8zX0D7/Whzc+dBo3MHBq8L8ojm5+Btb/tF1enOnlS0+/9s+c0/V4hdeXqsD9gMuEzsDphgtemH7zksE3/vHnev8FnMl67dM4TQCZD1AR6B+J1SajNm99ynXKVm+hEaL2ZTFHrDbpn0XO2TjF6Hov2TokOgX3qJ9cb3+vQ+x321QkN3O9WyVcGMFZ5QvM7a/+s2d4/qW6yUXObF2b4bdaf3DxfuEeZTN7743rNfaRAhAFr0z97bvDa4PVDmXAcBot2wH5qL4XfgfKUG3Uit/U26B7qQ6Z6HoFsk20f6mWAYM9AQ5vgOGyfv3xZ+L54ZXbL/SCNdDRktahOWT+4n/HazJzVdjaK6mTyHQ6Mxd6TMNoBrw3ai6LJned6WwjpMM0+0qnMIrXefK/LxjKv7CwjQz/YSU6rTjnlFPeP//iPaZ0Qxn/913+5t7zlLWkREyHEwAvVa4ckym3OnDnu7LPPdrNmzUpzBibRWyuLJCVRW6sfJr/66qvu+OOPT9uuu+666Yn5Pffc47bZZpu1FUUIMYBYW9uUIPskhOgE2jsJIYqIbJMQooiUevS9rtRQRezC8dGPftTdcsst7re//S2tqL506dI0nObzn/+8+9SnPrXGflgl+MMmn+jKpdVOVCv+KXgJImVK64DX1OvglZB6goK3aI3kgMOxmDcQeqqiVwfxpPA8vcjhGcrEYHlAQ7DcnN7YcP3Qqy+r3PcV8HhZ01qtrcxWuT2dQK8Ydgqe0Xp7+ge6x/QhKz2/bel/u3bZ6ovf9D574vOnuoEKs02Hjv9wk22inh9AaR0/Gqbxejg3ruc9aoh2qIxft2W0UUJ1YvM9WJv/qj/ngFzlsWO8z/rnzG07ko1FSNUXLGx5/Wrwd4olByihAnLhOnVKbpSZ0an1tkR5dErPmUy3913l2kW2ybnDN/xE874pAW0GW49AVA1bV4frRvSjvngJDON7TYW8uFj0TnnUyLZtaYzXGfOA8yD3ujdWRrmlvfkY+u2U3EwnQutt8Uy1rLenexY9N9hki57fuuByFwPap4Fsm9Zkn9635enN9mmIXwehHng20YgueAa6Pr8eH45Vx+ckecesL13WOlKE7K3L8KxN+8H9FaSjrhvsF6OM+kq+JsHr50XvZ5RznUV8+1GV+cmNOpHbelt0z7DfjtHzW2b9h4tBeyfyXkdqtJTgWYXv4ux9nEXvYa0EbywW1Qzpb9i9g/dFA2Rkz0CUCe/RhNqiRW0/SyujR4dtk+U7J9wPGN7rcN9h+s4pR7k9nchxvYO6Z9Bz+p0TyNQgNXEH03ud8jgVjJNOOsndeOON7je/+Q09sEhIaoi8/vrraehNK1gl+Gf6H+3QzIUQWeYXHMgw2/Rs/bFuT0sIAcg2jXXPLP9jt6clhCAMJtu0Jvv09JLW6WWFEPmjvZPe64QoIqUetU2KtCgIyTJ84hOfSItr33nnnW7LLbdcY9t99tknrdyeHF60e+r93rHHNHvkMK8zklcthOfpZTi1ZV5nXq7xMc0e/fWFi4OeFJb8gjRH+FDw2kBPYObtuqIv6PHojYPebWvwyA6BnsAN8MZjoNwoc5Zyh/ILUo+XjNbb0z/UvQgdt+r59Po1bff7lrP9U+/Hziv+qXcnPXKobQIPLdRDeh+Dl5dJP4gnWA3uL9YGx6qQez3kdYbjWOs/WOog4Hy868e85CK89pjNQE86XKdOyR2zBlmtd4zuZabnxDbFeOTINhHbRKiMG9f2s7T22mtRcyyD1xmLkArlPcfIp3S+4AHHZOpHj23y7A9GshHbVEUPXmJ3MDqT1fIIwWo7YPQms195yc10IrTeLE97zHpbQJ2weCpa9DzGNjH7NJBt09rYp1DtFM8zmNVwM+B5spJnYHn4sJb15OgzEL1dDbUKY+5Ruodg0Q74LoDRTxHXjkaXs3dVWKs85Ua58lzvEDQyPwM9z8o2DXT7RKPA3nqWK5eqLb+naIA+sLVHPSuBTqWf4fsNRiiSvbbpuY61//C7F7LXRplM7wIWDO+qlnsni+wetI3BHnRKbtSJPNc7pHsWPcdrR2Ua5b/P3vKcb2cGqm1SEYqC8PGPf9xdeeWV7oYbbnCjR49Oc34lJCfVI1Z7ED/11FPu7rvvdjfffHOwz6TqO1Z+D21shRD50yun3Fkh2yREbyDbJNskRFGRfZJ9EqKIyDYltklfMwpRNEo9aptkTQrCd7/73VVRFKvzgx/8wB1zzDGrfr/88svTtFH77bdfNgOTE0P0XLfkhIwZq758WdALDiMQmJecxdsOZbL0g14bzKPMmy+ZixcZQKIqvLEMtR1i8qdb5puV3AiuN12DjNY7qHskOiMzPe9SUaRex4sCIu/hqIvMM8HTV5Z/MjAW8/qvTprQ9Hv/7Dl+m8mTmtvMmRe2BzBfHIeNVR42PHh/4VxYblNTfk8Yi9ltr43B+zYvuVk+V9SJTq23xZuxU3rOvLpjkG1aQ2Qm5jRnHvJQ+8lrw2yTwSMW+6luMNVr0z/j5ZZt8O8sDy+TqTp1/bb7wTy8bL61Wa+0vHbs2c/yBodyC7P9g7ef6aLcTCdC683mErPelkg2nAtdpwg9j0X2yXYtsX4drj17rkfNBZ5LGBFO9/mGNhaZsB/WR2gfYu3Hu3eW9wWjtSxR7N6zn9g4710qR7m7ud4hWI3GTum5Bdkm5xqvLghGSNQxcwPLwgFtyiz6KTAW07GYfT6+UzB9Rpks7zeW73Cwn9r819quDcvGMkWxYyYUWnO0e3KjTuS53lnoOYuoR5kaMM5gs006tCgI1ixdX/7yl9MfIcTAoVcfIEKIgY1skxCiqMg+CSGKiGyTEKKIlHrUNunQQgTpmMc58ygDLziTRz/2Y8iXx/qpbrl50+/9f3265d9ZG0Yo2oHNp2w4KY+JdsA2Fpli5Q56N1s8HjNabwt5RlYMlFC9TkI9P7y8wcui6iCExmJ5LtEjozppYiYeJDgW9fzY4k3NbZ56JqqNF+UB14/KNGdu+9EOrJ+587sid8waZLXeMbrXST2PQbaJY4qIgLoCWekH7g+op/0mGzW3ef7Fln2wmk1MJhyr8pY3e21qjz3Zsk0//J1GRMC1s8hkinaAPtJ+XphRGLlj1pvKFLHeMXrO1inPqFXZJyMYiYdrQt7HYvbWnn5Qb9eJLfcYZh3CdwoYq7r5Zt4/6X/62bbbWCKFLDJ573Uk2sHrB/ZN3ZYbdSLX9Q5hiejKSM9N05Ft8vL201pVGA3Dap5gPSsW/RSIYsfaUHSfv/GGfpsXXmpZ18kSiUXfbwLfOVna0PcxuH4WmSxRq9hP/4svh/cqOcqN65Dregd0z6LnbI9myagymGyTDi2EEKLL9OoDRAgxsJFtEkIUFdknIUQRkW0SQhSRUo/aJh1aDDaYl0HI68Di2W7pNzSOIf+w5TTY5B1C+sGT3No7d2lucMeDwfl6cyHzYdEDobG8v7P5RMjNTrg7JbdlDTJb7xAWHc5KzwdwqF6mGLydGnidOpQr2xuH3TvMW8xyXwTGorYJIwz22MFvc+8ja33vMJlwrDqMw9rgXNhYngdvh+SOWYNOrreFvPTcgmyT7VlgiZgxrVlo/0VqMjGvM8/T3lCbxiIT9oPRBenY79q1+YPpDwTn69VSY9FPIJM3TvJSA2OF5mL18s1LbkZovVnEScx6x+g5W6coPY9E9slIzHtdhyLQ8FlqiYbkg7X2+vciB5L7YJ+dm9vc+VAmUR4oE46TAmOxNt58IqIdOip3N9e7U+91HUK2iTzf2F4Wnk1MP7znF90Ttx6L1aqqQE0m9LJnbUw1m7DuDKn9hN+/1Pcm9uCuh1rPhdVxQXtAZMKxyjAOa4NzsaxTnnJ3db0DumfRc9uefIUbzLZJhxZCCNFlevXUWwgxsJFtEkIUFdknIUQRkW0SQhSRUo/aJh1aDDKYV5TXpjI04EkxNBMviVI17HVmyqEHHmXM2xXnzHL5VrZ/S8sIA+/vyQnsn54I5qTzalps4OfQw7HQg7dCoh3w2tRmzGxbbiZTp+TG9WYehlmtdwiLDmel5wP51Dt3YqJhYjyrmJcE5vc01H8w5c9FTwqiz5Xttmr6vUYiGbw2jzbfo3Q+MBcqE4xVGb+u1wbnE3NtOiZ3xBpktt6xXn156bllKrJNpgg76nFeb7Rsg383j4W5cYmHVnXK+k2/98+c1bIPqxe9V79mqy38CUKEAbbpf+KpsJcvuTYoE4uawL0IRl54fSTzmTW70HKH1pvKFLHeMXpO55uRnluQfbIR8qLPyvvdEn2I9RRYZICln6BMu73V+zdliDBgbRr3/6nlOGwsTyZDJAPOxXxtCiR3nusdwjTfTkV5sPnINmUWtRq13zXs89Fjvzphgtemf9689ueCXv8kMgDfXRyJdoh5v/FsE5MpEMnA5oP9eNely3J3db1DcyH9dLXeTs31JDq0EEKILtOrDxAhxMBGtkkIUVRkn4QQRUS2SQhRREo9apt0aFEAvvvd76Y/zz33XPr7tttu684++2x3wAEHrGpz7733urPOOsv93//9n6tUKm7HHXd0t912mxsxYkR7g8FJXmmIrwIN8MYvwwlsfcnrfrfg3YZ9sLEazNN+6votPe3x7wm1Wa+0nAubD+un/4+Pta6vAX9P+9lganObV+Z4bfD6seiBkJcJzfcO/VTGjPba4Fp515fIlJXcnk5gFA1bgw6tt6d7RD+z0vPBFKrXUQyemCzCx4uiivHIIN4N1cmTmn7vnz0nqk1ILuwj7Qe8TGi0A7Sh/cyZ1/L6sboNOFZt/qvBNqwfHAvXqVNyo8y5rnekN1Amep5VznjZJuqd6Xm7Es9QXDdsY4pQZHmD4VlaGTcu6GmPbWoLFrY9X9aPJXoA27D51hctajkXGj1guDbeXKAPa/RmN+UOrTeTKWq9WV2WgJ5THY7Q81hkn3zbb9IhzNtN9rteXRTyzuY91zEKCLzsmae9pY2lHozn0Q+RA1SfSRuvn2eeD+dGh/nGev1jP8wDGtcqT7lDtXI6td4m3SNtstLzGGSbCJb9rqX2U1bvdYGIVFMbg0w0GhLfb0aPDr/f4FwgSpTWvCIREThWDfYhrA32Y7LJOcrd1fWOea+z2B291zWhQ4sCsOGGG7oLL7zQbbnllq7RaLgrrrjCvec973F/+MMf0gOM5MDi3e9+tzvzzDPdt7/9bVetVt0jjzziyuX2w6vZIQVSHjWy6ffG8uUt/87a2MYZFfxCugz94N9ZP+wwBOfM+gmmK2GhZjhfYny960euTWiTZPpCJEZuQ1qUzOTGzSNby4zWO6R/Fh3OSs8tlGskfcJgAw9USYqO0rBhzR/0k8OnEcNbrln6Wb31WOURxDbNmx/+Ah3bEBtXX7q0pUzYxxvzGRE8OPDa0H6Gt7x+VCYyVqgN66exeEnLuXRKbk9mdq93aL1xrS26l5We4zixyDY5Vxk7Jnwfu3Dhe8/5oOKvUXlksz43lvn2qzJyneAX0vglFbbBPtKx6vWgTGysdr+Qjj0w6VShWIuTSF5yM50IrTeTKWa9UfeY/qFO0HWK0PNYZJ98+8T2xLj+aL8s+sHsoOeMBGkULemNWBvshzkR4ZxZP958DTbDcnDg2f8MbBPrh+0huik36kRe623RPabDWel5DLJNtve68jrNa9Ig+90KvI/XX3+97b11aZi/9jVwNKJfoEMbb77kHRPbYB/UQZQcHHhtcL7sewp8r2MykbFCbbAfyzrlKTfqRJ7rbXmvC+m5RabGIH+v06FFATj44IObfj///PPTyIv77rsvPbQ49dRT3Sc/+Ul3xhlnrGqz1VaQE04I0bP0aqieEGJgI9skhCgqsk9CiCIi2ySEKCKlHrVNOrQoGLVazV1zzTVuyZIlbo899nCzZ89OU0J98IMfdHvuuad7+umn3dZbb50ebOy1115t919HrynmdYbpodBDBzxmoz1IiAdhKNyThT3XFi5qWyZalJAUs2xu4MdTecWlybXB64fzjcUrqk1SheF8vDRUIZnXQm5vLrDelhD26PUOeFfS9FAZ6XkM5R59gGQJRtl43uZsXZmXCeoZeDfQiBkYq750WTA1WO3VBV6b8vBhYRuH3hYoE7sviLddqA1GIDDw+jGZYmD9VNYd29qDN0e5cQ06td4xupeVnjNvoBhkm5zrZxE+qK/kOYnROXX0tCfXFvWMPgNBX1EP07FQP6ANTZNhkMnTecM9GurjjQnVgpFN/XP9aKx2oQW+J45vvU45yk11IrDe9DkTsd7UxgV0gq1TjJ7HIvvkpxijadNA7/H5xnQIvUXr5JniedHDPUrftSzpb6EfGqGOMmVQzJn1Q68NXr8Ie8DAZz/bz3jv8XnKDTqR13pbdA/1IUs9j0G2KUmh2hxB4yCqhT0v2DPasj9wmH0ExmLPdW8Y8t7vec0bItQtY1nuU+/ewe8yqNd/I6jzMeC1Yc8Zbz+To9zB/XYH1zukeyY9J9fOG6ucVaSF60mykV6sNX/605/cqFGj3LBhw9yJJ57orrvuOrfNNtu4Z555Jv37ueee644//nh36623up133tm9853vdH/961+7PW0hRAaU6g3vRwghuo1skxCiqMg2CSGKiPZOQogiUupR26RIi4KQpHt6+OGH3YIFC9y1117rjj76aHfXXXe5+t9O6z7ykY+4adOmpf9/p512cnfccYe7/PLL3QUXXLDGPpcvX57+rE6jVHflUqWlp7jnxbV4cdgjFj0/SD43HIvlb8Pcdp5HLMlj6BUUYtEOBi+5UE5S6r0EkQrUKwauH8uxzuQKgf3gOBZvoNhicSa5QSe8XIckj2FW643653kvMc/UjPQ8hlI29bx7Bmab6o1ak21i3u9evR229qhDBv3AsTAqgHmCsdy4XoFE8OClntR4X7D89AZPOouXnJf7Gq4NlYnYlRA0bzB66WDO1w7JTesRoNwdWm/mTRzSvaz0XLYpDsu+iRa2JTrk3etjRrWvHyQ/PeoZK3yPHlpYDwZziFOdZzJBPzF7CJqnHedriNay1NsJ9WFZp27LHVpvSy0iy3ozmxHScxqdEaHnscg+JQ6a/c3vdXUSSRzwOLdEPjNwLK/+Ctk/mIrAWgooB4qAx0Zze21YwVncZxhksmB6n+2m3IE6Ep1c75DuUZky0vMYZJucq1dLrlyqtt7LYj0r9v3M0BHBbAkYkezV0RtH9vlz5oW/u4IvdCsTIGp8BXkvwXuU6bOlyDLWWoW5lEf4+ozXj38f59rG64dl4YB1ylVuzBKT53pb3tkCeo7XjmaJGeV/bzqYbJMiLQrC0KFD3RZbbOF22WWX9CBihx12cBdffLGbMmVK+vck6mJ13vKWt7gXXnihZZ9JP2PHjm36ebb+WEflEELEFUXCn4EMs03P1P7c7WkJIQDZJu2bhCgqg8k2rdE+NWSfhCga2juNdU8vfKDb0xJCDBDbpEiLgpJEWCQn1ptuuqmbOnWqe+KJJ5r+/uSTT7oDDjigZR9nnnmmO+2005o+O3TC8U0nmOWhxFsMvA6800HilYDeCzSCA8ZiHiTVCROafu+fN6/l39M24FHGPClwzrQfGMvi5Yv91F57LXziTqIHQmOxHKDYD4t2CMmNMlvmYpXby5cM621Zg+j1xsgK0D2mw1npeQwl4mgwkKG2afyHm68nemOw3M2kHgC2Yf146wZtWO50zM3a/8psv816k5vbzPY9oD3vW5ivlwOWjGXJG4xzSajNndfy+jEvuZhoB9aPF0WVk9woc57rbfHG7pSeyzZlZ5veO+5Yz/sK19YUGQBtYiMd0dO+uvGGfpsXXmrZBv9O72Pm9W/pJxC1Suf74su5RHmw6AxTtENOcsesN5tLzHpbatHhtbFErpjsYCSyT869d+wxzd6q7JmCXvSGuigeBo9YfPbTCB/UZ0Mbi0zYD4tAC9VNpP2Q/YFXMwazBMTW7MN+DFHsecrtzTev9TboHpMpMz2PQLbJucMmn+jqq3m3l1iWA8/jPFzfrgyROWkb9KLHe3Qe2edPgu9EZs/x20ye1LIfOheYL47DxrI8J0NzsdbbCe1VLG2obeqi3LgOua53QPcses7WCceqwziDzTbp0KIghj45gNh4443dokWL3JVXXunuvPNOd9ttt7lSqeROP/10d84556TRFzvuuKO74oor3OOPP56mkWpFUh8j+VkdTHEghOg+pR455c4K2SYhegPZJtkmIYqK7JPskxBFRLZJtkmIIlLqUdukQ4sCMHv2bHfUUUe5mTNnpuF022+/fXpg8a53vSv9+ymnnOKWLVvmTj31VDd//vz08GL69Olu8803b3usUK5/6n2FkRfM2xW92yw1LUiOcPSixxNPzEfH+mGeFDhnHMfirWLJCWyK8gCZ6Gkves2yaAfLiXtA7mivGIvcgfWma5DVegf0nOpwRnoeQ6m/Nx8gHYXly0TbBPlTaRty74TGYjVP0NO+OnWK3+blmW1HP3n3KPPon7J+c5uZs6LaYI5ivH4WmWjkCkY7kH5qgaiJTsnN8jLjfDu13ixaq6t6HoFsE8fzOhvib6frUKcF29RJXubQOEynqaf9pps0t3nu+ZZ9UE9gIpMXwbHJRn6b519s2Qb/no6FXmekxk1IJlO0A5lv7aWXiyM30YnQelvmYlnvGD1n6xSj57HIPsU9U7z6bMzbNWbvBPrMvP6j7gsWHY17CHx32Xwz79/0P/1s221opDtGOxhkskQGeP28MMPvBtYqT7m9vVOO6x3SPcs6Ret5BLJNZB2h/gq1TSwyAKNAF/jRkN67CYxVGTs2+N2LJWoV+2Fz8e4L5tFvuC9CbajOY7SDQSZLRoKY6M085cZ1yHO9Q7rH5uxFXhhkcmSdBpNt0qFFAfiv//qvYJszzjgj/RFCDDxKkHpECCGKgGyTEKKoyD4JIYqIbJMQooiUetQ26dBisAFeBuURJHfgktdb5yJf6p8glsH7ndYDgLHqJO95daOpbeVlTqjNmBnONwcy4ThsLJMHCcyn9vIrXhu8fuzkOeRlwiIZsJ/K6NFeG1yr0PXNVG6MiMDcp4Y1iF1v1D9P90AfstTzGHqlCFIn8XLGkyiWUF5m6lnFor4CY7HoHS8SCyMQjDmBvbECeZlp9ADoKmtjipCC68dk8u4LUpPHs3GsH4hCCOVlzkpu0xp0aL1jdC8rPcdxYpFt4mtkiXTxdB7zMrMIRUs9K7QZpH4NRiFY6u14NZtYhCf2Q7zkPG87jEAw1NthUWook8UTODSXhArmDSaenrnJbciFb5lLVusd0nNLXmuLnsci+0QwREOGbFNWdQWqW7zJ+yf9Tz3TdhtThCf04/VB5Mboguh+MLLJcl8wGxfRT55yd229DboX8ww2jxWBbBO5lhbbZHgGUo/zwFjMQx4jqGnUKrYxRJ979wWL1IZ7nUYG4B4iNBf2HQ6RyRI9gG1C35F1W+5urncWek6jy2SbmtChhRBCdJleDdUTQgxsZJuEEEVF9kkIUURkm4QQRaTUo7ZJhxaDjBIUSWK5sitjxzT9XoOctfh35n2L47CxKiwP77MvtIwe6H+xOfdwQnWzjZvnMtP3+sc5s368fHOGGgfYT3X8ul4b7/qRiIjaokXeZ63mwvphkQEhuS1enLFyo07geuNaZ7neIT1nOpyVng+mUL0ssdQH8eqZEK8pS5vQWJUx/j2KEUeVcePCbYgHCUYcebVeSGQT5iOn0Q6Y95z0E/IoZjLVXnvNhfDuddJPHWxcXnKjzFTuDq03iybMS88zq7cj22SM5mvfs5bWq4CxWDRfZd2xwXowoZoxFfLMbsAegnoC41gGjzJsw+ZriXaIqeNiilyxeEDnJDfTidB60z1azHpH6Dlbpxg9j0X2idSqYh7no8e13u8antmlarg+VGWTTYPe+qjzrE31Tc391FgdBJAJ+2H1C7znJGmD/dB9EV4/kKlGnv2hudB+SFQ4zidPub19XE7rbdE91Ics9TwG2SYC8RQPRWGbI2YCY7F3AfSir06YEGxjude9yCZD9DmtjRHoh+47MYqdyTTPrxeK4HywH1aXtKty43tdjuudhZ5bZMqKXrVNOrQQQoguU+rPJuRPCCGyRLZJCFFUZJ+EEEVEtkkIUURKPWqbdGgx2Ojvb/q1PGqk16S+cHHLfNr1xUu8f1MeA95irB4AjFV7YYbfBnK81WAslkMP+0GvNCoTy8W33J9z0HsJPYHZtYHrhzLFgv2g5y2bj5dDLyDzWskNOoHrRNcyo/X2PQhHttSHLPU8hlKtNx8gmQJeqcwTzPP6ZJ6h6FHG8p6D5yeOxTzkUefRg4u1oZ726C2MMkEf1vsU27B+QtePyRQD6wejGXCdOiU381T3ouo6tN4xupeVnjPv5hhkm5wrjfUjcUp9zXup2px54fzf4FlVmeR7ebkh1Zbj0LEivP7ZMxDnY5HJlGPXkO/X8660yBSBpW4D8/TMS26mE6H1ptfFst4TIPpi2ND29dwiE46zhrFikH1yrjSi+TlUHuI/L2qvLgjsefz9LkbnNIgtwrE8D3nyfENPVdoG856zKPaATJZnIGtjuTbYxuR9a8C7NiwyDOaTp9y4Dnmtt0n3QB+y1PMYZJts73UOdJFlOWhgloOY9zpDVKAlesCLWiJzQZliveiDUaAsMhMzbBCZYsB+LOuUp9zePi7H9ba814X0HK8dG6sxyN/rdGghhBBdptSjRZGEEAMb2SYhRFGRfRJCFBHZJiFEESn1qG3SocUgw/MgIx5lJfD08zxVmZcE8XDwgLFYzm3Psxa9xYjnrRedwbwtQKas8sR5Xr7kVJl5+nYCOo7B06BTcnteULDe1Is6o/UO6h7oQ6Z6HkOPhuplCVsTr02lee0bfcRrFvSDepSVW49FPSkwNzqxX5b86Q7+HcqU1T1KI6Qw13ifQaYIxw7aD441NB+5qU1Gr5hOrTf5NyHdy0rPLeOYkG1y9Vf8eiu4thiFZ+r3NfI8wVyzTIfQVhKvf0+HUD+IvcX5MJnqEHHUqJfbjjBg95Ll+jXAS5bV+grBojdLJOK4W3IznQitN661eb0XQi01luc4Cz3HcdY0VgyyT56HJruynuenJQrIEHnpjRURBdSweM2SuXie1MvXPhKLzac8jOzj4Po1YiKxGAab4b8n5Se3tw45rrc3X+yDeTdnpOdRyDa58s7bNP/+iu/ZXofoPawxwvSjsr4fkVhfb92WY9WJV71XC5Tct37tAYhsYzU9USYWvRmBNxeWNQSvX6wtQqAfyzrlKTfqRK7rHdA9i56z91BPpvVI1Oogsk1k1y26zYUXXuhKpZI75ZRTVn22zz77pJ+t/nPiiSd2dZ5CiGwo1WrejxBCdBvZJiFEUZFtEkIUEe2dhBBFpNSjtkmRFgXj97//vfve977ntt9+e+9vxx9/vDvvvPNW/b7OOn4NgxCe14Yhn7aXL5PlCMdTT3YDoFcMi/II5OZknhR1yD+JtQnYnGke8Yib1nRtQh5OsRj6Ca5lpKGK0Qlcb8saxK63p38R6xSt5zH0aKhepuDaE08K30OeRMxA3R5LzQBPV/vCtgn1MKGMUWpEP8pDhrVf4yAD22S5fvWMvF8bpJ8y3l+WdcrCJltyN3dovXGtLbqXlZ5nFuEn27QGHYJcs2Q/E8qN60ossgnXlUQBLV8eznuOdVEwMoc934aBbWJ7NMyxa6g740UGVEm9Hc+7jURvZpBrnN3HVfRcJlFfeclNdSKw3iziJGq9Qfcsem7KWW3Q82hkn7znrcXj3IvUY88Li4e8934TjjY1RaR6HvLhNt49GlkDx5sPi2TD53ZWz9vAOtE9RI5y+7V98llvm+6F1ylWz6OQbXLlBZCnv0GuSUx9KNJPcKys8vhjP7EyZUFe41jpptxdXO9M9NwgUxnHGWS2SYcWBWLx4sXugx/8oPv+97/vvvSlL3l/Tw4p1l9//a7MTQjROUr9vXHKLYQYXMg2CSGKiuyTEKKIyDYJIYpIqUdtkw4tCsTHP/5xd+CBB7p9992XHlr85Cc/cT/+8Y/Tg4uDDz7Yff7zn2872qI8sTk/WmMJq1aP9R+gfgEbswx5OEf6bXCsCnh5JdQgt6TnQUI8ICpjx8BAjaBMNciN/Eajctu5MNHDqUJyI+P1s3iiWPCuDfNuhrXy5CYyZSU36gSuN651pusN+oe6xzyXs9LzKHokNK+jWLz60DMUPFCtbUJjldl9DPknWU5Nr57C6NFhr1mYL8sTGrRNpA2N8gCdxrnQ/KgWj2Ich16b/q7Ize5jT+4OrXeM7mWm58y2xyDbxAF9LuNziXmlw/PClEsbxkn7GQV1EBYv9tpUcCzwfsc+0vliGyJTDfIEx0RMsv1OZcy6wSgPlKlG5A6BfaRjYVQKaZOX3EwnQuvNZIpZ7xg9pxFGMXoei+yTX1+BXBLMy91YAd7v5H3Mkv8bx8LImxp5xywPGx6MFPLsF41kg36yer/BPcQIf3+A18+TKWLfxPppkMgwb++Uo9zee1Je623SPRLJlpGeRyHb5Bxe22WGvSz+G7ZulloJuP8aOzpYZ4A+1+H7Dq8fg0yORYlGvN8ExyHXr8QC77KI3idz66bc3Vzv0Fwsem6RKTN61Dbp0KIgXHXVVe6hhx5K00MxjjzySLfJJpu4qVOnuj/+8Y/us5/9rHviiSfcL37xi9znKoTIGPLFlBBCdB3ZJiFEUZF9EkIUEdkmIUQR6e9N26RDiwLw4osvupNPPtlNnz7dDR/uewoknHDCCav+/1vf+lY3ZcoU9853vtM9/fTTbvPNN6f/Zvny5enP6tRdzZVLf1/20jokH+381wK5sn1vsfL4ccEctjhWfd58v03AM41GKbze7NlRnjC+bZnYWH6DejgygFwbLzd6pAdO0MsXvFnYfCyef1nJjTqB621Zg9j1Rv3zdA/0IUs9jyKr3Is9ArVN9T5XXs0lpFQZGo5SYJ5VnpcJ84jFWi9DW+qYKWqJRByxfrwcu+j1TyIDahiFYPCkK68zuu3rV3t1QSZeMdSTbt2xzd0YIpuykJtGKeC93qH15vUqWuteVnqO40Qj2+TZJpZz2/N2JRE8No/YvmAu9zp4s7KICPRuxzb1hYvDexUmE/SDEQisH/Tqq4xvji5gY7HopyyiHVi9CpxPN+VmOhFabxqdEbHenu4Z9JxGqcXoeSyyT65W62+yT+Uh4booFh3CGoj1PhLNDWPh/VWd6O/P++fOD7Yx3esgE/bTP2du1H6mOmli2/cXyhQb7YB7J3ZtcD55yu3pRE7rbdE9ttfLSs+jkG1y/bNfad47sfps+D0F1IqjGSuYpzi+L8BY7J0eMzfUXvO/G6iMa37vr+H3SUPJ9xQwlpchgo1lsBk4F7ZXwevH9jyZRLGPGBpcp1zlhvnlud4h3WPz8deJRBihni8iGQkGkW3KKH+AWBsefPBBN3v2bLfzzju7arWa/tx1113uW9/6Vvr/a8Q4/8M//EP636eeemqN/V5wwQVu7NixTT9PL3ygo7IIISJPvfFnAMNs0zO1P3d7WkIIRLbJPVt/rNvTEkIwBpFtWqN9asg+CVE4tHfSe50QRaS/N21TqdFgJc5FnixatMg9//zzTZ9NmzbNbb311mkaqO222877N7/73e/cXnvt5R555BG3/fbbm0+937fLea5cXu10j3gdNJavaJn3tgQ5LNPPhsGJKzld9cYiqoceGegBweo2eF4bxPsdZaotJKeVMXks4YS4MoZ4N8P1Y7kEs8gvyDyRcK08uWNzdxrk9nQC1tvzTMpwvT39A91DfchSz2954kLXLgdMOtHvZ86lbqDCbNNhk07wvZkBXBPMRU4jGSx5u7EPlvcWvehZLlFD1ITvRQ9RQCxPO3q8kAgpLyqJ3NuY19y7fuReQrkt0HowcP/jOnVKbksu906tN61pYaBTen7bsp+0PRfZJucOm3yib5tAz9jzAvP9l4ZjTts4D7jgc53UYEEPXstehclE904RHsUIzofVSsik3g6JSEVwnXKVm+hEaL1pLaKI9bZ4PHq2ieVujtDz25b+t4sB7dNAtk1rsk+HTjg+uHdCD1NTZFNELZIKRCP3Qw7xtA2MxaIYq5MmtPR2TfvBaAf01of3CUskFnvvqBoipND71osSNVLBulgs4huuX55yo07kud4hmFd3Fnp++4orXQzaOzl36PgPB22TZd/s1XGJeS8hNQa92nXk3QXHwn5YPT7sh83XiyYi+3x8tsfU7GPvLjH2ybNNkevUKblD69TJ9bYQ0nPLeyjj9r6rXLv0qm1SpEUBGD16dHowsfrPyJEj3YQJE9L/n6SA+uIXv5hGZDz33HPul7/8pTvqqKPc29/+9jUeWCQMGzbMjRkzpumn6cBCCFEIkgcy/rTLJZdc4jbddNM0xVwSiXX//fe3bH/NNdekB6NJ+yTl3M033+zygtqmwMZWCNGbtqmX7JNskxC9w2CyTQmyT0L0Bnqvk20Soog0evS9Tt9g9wBDhw51//M//+Muuugit2TJErfRRhu5ww47zP3bv/1b+53hiSbxKGugFwTm6e0j3q5j4USTnJziWHXikVHGHG99/S3/Tj0pwGMjnTO2Yf2wOQfAfti18a9fNmFY6BVTGko8Z2A+3vWNkJn1Y9EJXG+6Bhmtd0jPPR3PUs9jWMvQvKuvvtqddtpp7tJLL00fHImt2H///d0TTzzhJk+e7LW/55573Ac+8IE0nPeggw5yV155pTvkkEPcQw89RCO78sDTZ+YJtqz9XP/MezSY95x5h6AHCck/WYb50H6wHsyybLwtvBo3zAMncP1iPCsZ7NqgF5xXk6FDclOPbazB0aH1pjV5LB6PGeh57CbUI4Ow4V63T+z6e/loSc2A0LqyWhS4P2D5nbH2DPOsxSgEz8ZBnQRWd4bWQcBoSIueobe+QecZWdQDY31g9AWNHshJbqYTofVmMsWsN9ub5qXn0Wjv5Mqwv2X2ylu3CjwDWc2mQB0qNpaX/5voPHr5suck9oNzYTLF1Oxj9zHOh10bvH6xkRVIzeIJjFEeOcqN65DXelt0j9qmjPQ8Ctkm772OvdN7HuckGgbf2Zmehb4/YO836NHP7mPcH2A/JpmIzlv2M/gdjbdXYdEOGNlE6m/FgNeG1ejy1ilPuUEn8lxvy3dXIT1n30v5tX363WB+r1N6qEHGAZud1vwBWf46pu3BNiSFSNmSsgf6YYcWDjZSFkOAXzazL7E9mcgNG3VogWH5pPiOJzd7Oc8gNRW+uNB1ALmjDy0McqNOeOtNNs1ZrbcnN64BSU2VlZ7f8uw3XLvsP+JD3mftpEtIHhhve9vb3He+853093q9nh5ufuITn3BnnHGG1/6II45ID0BvvPHGVZ/tvvvubscdd0wfQN1gv6FHBjeliOnLXELoi2OahijiS2y6sSKbuFYvWZmmaILiW6ZDiwxsk+XQomNyGwqOdWq9Yw8tstBz9qVETJqDtbVNA8E+vXv88Zl8mYuUx4zK5NCC3aNBPWP3qOHQAu+VLFJbmuxiRocWsSmj8pKb6URovekXkBHrndWhRYye3zr/+y4GtE+DzTYlvHvMtLU+tGDPSVw306EF6qrhXrLc+5ZDC7wPLF/eM3A+9BmNX4ZH7FWy2sflKTfqRF7rndWhRYye37rwBy4Gvdc5967KEeF3esByaMEIfX/AvvD10mganBq8L9QNMrHnbybpLVn60A4dWiCWQ4s85fbGyXG9Td9dAZZDi9A4CdNrV7vB8l6nSIvBBih84/WlwS9vLS/RDfR4WYfkd8axWP70wCkiNULwhTnOhX5pndFppWeomCddViejAUwvnHnKjesA622ZS+x6o/55ukcO67LS8xjWxit6xYoVaeq4M888c9Vn5XLZ7bvvvu7ee++l/yb5PDkhX53khPz66693hYFtxjDPJcv1j1FAloM5g0csfmlNvZuhDd244Fjo+UE8YjOLdhi5Tstrw3Mhtz827QfHQi+oDsmNMtO5dGq9LQc+eep5BGsbsTEg7NOG6/mfzSYH3+1+WcOcO3AsMo73XDdEKXgej8OJbWLzCfQTA+sDR4794i1qPoYv1fKSm61BbusdoeemOkNMrzbwPfFi0N7JudJ6k5p+bxCnHO+LbcMzEOsp4DhsLC8KyPBcYjrk5TQntR2y+rLeMh+vTYeet5Z9XExkRXZy93VlvS26R+tFZqTnMcg22epUlvG9hEU6Yu0/8r4QGsuSYYO+CwS+tLbIZKqJZcBUqwojtZnOZ+B0YVmnPOVGnchzvbPQc1ZDDmUqkffQwfRep0MLIYToMmwTz4qaJTlDk5/VmTt3rqvVam699Zq/cEh+f/zxx+l4s2bNou2Tz4UQIgvblCD7JITIyz7JNgkhioDe64QQRaTRq+91SXooMbhYtmxZ45xzzkn/q357p99O9q1+O9tvDMk8EhO9+k/yGTJjxoz0b/fcc0/T56effnpjt912o30PGTKkceWVVzZ9dskllzQmT57c6Ca9uK69Nmf1q37zsk0Jsk/qV/0Wo9/BYJ9km3pjXdVvZ/vtZN/qNx691w3efjvZt/pVv4Nh76RDi0HIggULUmVL/qt+e6ffTvatfjvbbwzJQyyZx+o/7MG2fPnyRqVSaVx33XVNnx911FGNf/mXf6F9b7TRRo1vfvObTZ+dffbZje23377RTXpxXXttzupX/eZlmxJkn9Sv+i1Gv4PBPsk29ca6qt/O9tvJvtVvPHqvG7z9drJv9at+B8Peya+QIoQQouskIXljxoxp+mFhekOHDnW77LKLu+OOO1Z9lhRESn7fY489aN/J56u3T5g+ffoa2wshRLu2KUH2SQiRF7JNQoiiovc6IUQRGdYDeyfVtBBCiB4nKW509NFHu1133dXttttu7qKLLnJLlixx06ZNS/9+1FFHuQ022MBdcMEF6e8nn3yy23vvvd3Xv/51d+CBB7qrrrrKPfDAA+4///M/uyyJEGKgIfskhCgisk1CiCIi2ySEKCqndcE+6dBCCCF6nCOOOMLNmTPHnX322WlRox133NHdeuutq4oevfDCC65c/ntg3Z577umuvPJK92//9m/uc5/7nNtyyy3d9ddf77bbbrsuSiGEGIjIPgkhiohskxCiiMg2CSGKyhHdsE/mRFJiwNBrBWXUb+f7Vr+d7VcM3HXttTmrX/UrBsfaql/1m1ffsk/dpdfWVf12tt9O9q1+xUBeV92T6rfX+x2olJL/6cQJjBBCCCGEEEIIIYQQQgghRDuoELcQQgghhBBCCCGEEEIIIQqBDi2EEEIIIYQQQgghhBBCCFEIdGghhBBCCCGEEEIIIYQQQohCoEMLIYQQQgghhBBCCCGEEEIUAh1aCCGEEEIIIYQQQgghhBCiEOjQQgghhBBCCCGEEEIIIYQQhUCHFkIIIYQQQgghhBBCCCGEKAQ6tBBCCCGEEEIIIYQQQgghRCHQoYUQQgghhBBCCCGEEEIIIQqBDi2EEEIIIYQQQgghhBBCCFEIdGghhBBCCCGEEEIIIYQQQohCoEMLIYQQQgghhBBCCCGEEEIUAh1aCCGEEEIIIYQQQgghhBCiEOjQQgghhBBCCCGEEEIIIYQQhUCHFkIIIYQQQgghhBBCCCGEKAQ6tBBCCCGEEEIIIYQQQgghRCHQoYUQQgghhBBCCCGEEEIIIQqBDi16jEsuucRtuummbvjw4e4f/uEf3P3339/tKQkhhBBCCCGEEEIIIYQQmaBDix7i6quvdqeddpo755xz3EMPPeR22GEHt//++7vZs2d3e2pCiC5y9913u4MPPthNnTrVlUold/311wf/zZ133ul23nlnN2zYMLfFFlu4H/7wh7nMVQgxeJBtEkIUFdknIUQRkW0SQhSRu7tkm3Ro0UN84xvfcMcff7ybNm2a22abbdyll17q1llnHXf55Zd3e2pCiC6yZMmS9BAzicSy8Oyzz7oDDzzQveMd73APP/ywO+WUU9xxxx3nbrvtto7PVQgxeJBtEkIUFdknIUQRkW0SQhSRJV2yTaVGo9GInLPIkRUrVqQHFNdee6075JBDVn1+9NFHu9dee83dcMMNXZ2fEKIYJKfe1113XZOdQD772c+6m266yT366KOrPnv/+9+f2pJbb701p5kKIQYTsk1CiKIi+ySEKCKyTUKIwW6bFGnRI8ydO9fVajW33nrrNX2e/D5r1qyuzUsI0RmWL1/uFi5c2PSTfJYF9957r9t3332bPktSzSWfCyFEK2SbhBCDzTYlyD4JIWLR3kkIUUSW94BtqmYyG1FIEmVDhTts/Y+6cqny9w/qJNCmXGr+vVZr/r2y2r9fUz/YB2vTqPtN+vpdu5SHgBqXyFkczKe+jNyIZD5BYKzy8GF+G7h+VMYsxsbrQNbKkztmXKvcgfWOWevY9TbpZ0Z6ftuSH7l2qc96s/fZBZce6b7whS80fZbUszn33HPd2pIcdLID0OQhtXTpUjdixAiXt21637afc+XS39e28frr3r9roP72Ex2qNutHiehmaZ11mvuFsbxxkjVausy1S3nEcH9smA+ORcfJwD7Q+cD165RtovctrFOn5I5ZgzXOJwCOFaN7Wek5jpNwywsXuXaRbXLu8E1Oad43JWuEm3l8fiRt4LMSPlPIM6Y0DHSTvTTE7Cki9gtMJm+sDtkHvHZr+iwLcF28dcpRbrrvCK03m0vEeqPuWfScrUmMnt86//suBrRPnbRNRbVP3nsdoTR0aPMHddCZsq+bjRUr1mKmf+sjcp9fYvoakKm+5PWwvQjYxfQj0NfySP9ZitcP9wuN/j4XQ6k6JLh/wbXKU+5GH8gFyToyW+8SvFuxpCDQpjSk+dqZ9TwgU8w7XTq09k7usCkfa7ZNhnW07HdN/WAb8n1XPcLGldGWsu8TYC55vt/k9V5H9xRdfK8r0npH6TnqOOunRL5zWnyFGyy2SZEWPcLEiRNdpVJxr7zyStPnye/rr78+/TcXXHCBGzt2bNPPM31/D80RQhSD5Y0+7+fMM890CxYsaPpJPhsIMNv09MIHuj0tIQQg2zTWPbPs4W5PSwhBGEy2KUHvdUL0Bto7JbbpT92elhBigNgmRVr0CEOHDnW77LKLu+OOO1blDavX6+nvJ510Ev03ibKddtppTZ8dNvnEptPH0lDfM6Gxoq+1Zyg5OcV+sA/Whp3A4ukptmGnqzhWeURYJtZPnXi8hvD6qfknyJ7H64KFrhMwz1pcK+/6Rshsljuw3nQNOrTeJv3MSM9j6Gv4nlFjhg1zw4jnYxYkB53sAHTMmDEd98ZZk206fMNPuMbq9wbzOEXPBBZlg23q4CWRrBvegzAW1Q9sQzzp0EuO28GhLefLvHwb/e17ppRirl9s5BVi8PzNTW7mtQU60an19tbaoHtZ6bk3TiSyTW94MqPHOa5tY+nSoH7gfUH1IzBOQn3x4rbvHU+fiTduGa4vlcm7LzKyTaFr18lIi8A65Sp3xHqzuUStN4nqCek5W6cYPc/KPnXSNhXVPh06/sNNURH0eoM3eXnUyKbf64uXBMdmkReefoBXL4uYwIhvFqlt6QdlwjamaAd2rw8Z1toTn1y/huH6WfCi89h7EoyVp9yhyIpOrbdN98LrRPUcZcogwihBeyfnDpt0QvNelXmT4/cHljYVw54Y+mnU/HcBjBZgUQmhKNBSZUhwviwqIcrrH/sh37141y8y+imIYZ1ylRt0Itf1tkRNhPTcIJNj77ODyDbp0KKHSB4GSeHtXXfd1e22227uoosuSiu4T5s2jbYfRhQwFEIshMif5a4zX8asiT322MPdfPPNTZ9Nnz49/TwPZJuE6A1km2SbhCgqsk+yT0IUEdkm2SYhisjyHrVNOrToIY444gg3Z84cd/bZZ6f5wXbccce06jrmCWsFnhg2lhLvq5Gtc26XyKkY5tSkY8NY5TGjvDa1Vxc0/V4BL4ka8ZKorDu2eS4Lm73SmEy1hYvCXrPgrcI8yjAyoDJmtNcGrx/KlM5nkT+fENgPy42Oa4VyU2/GjORGncD1xrXOcr2DusdytWak5zEsW0sP98WLF7unnnpq1e/PPvuse/jhh9348ePdxhtvnHrAzJgxw/3oR2/kZj3xxBPdd77zHfeZz3zGHXvsse7Xv/61+9nPfuZuuukm1zXQ24lGukAOY1KLAL24aD/oSYERPuweBc91L88l8dqojB3jtcGxQnmZzRER0IZ61g5fp7UHHJMpixygZD64Tp2SG2XOc71jdC8rPbfkBLcg28TzdONnzHs05GFq2jcxT7DRo1vqatoGIge9ZzaxTeiFSmWCOdMoj0AtjxjbRGWKiY5lEakYvdlNuYlOhNabyeStN+ybzHungJ5bbFOn9k0Jsk9GmwF73voiiN5hz7cI+4RrX2P6bNChCs6X6VngvS7mHmVj0fcbuH6eTCRKzYLXD4zD1ipXufG9Lsf1Duoeea/LSs9jkG1KtuzN73Ul4inu1fEyZOpgkXqhsehzHe5TFhngvVNghCKLAgKZ6F4li/ebdYaF9zM5Rjt4GTbylBt0Is/1zkLPaeYbkKnB6hAPItukQ4seI0kFtaZ0UEKI3qRvLZ9DDzzwgHvHO96x6veVIbpJZNYPf/hDN3PmTPfCCy+s+vtmm22WPixOPfVUd/HFF7sNN9zQXXbZZW7//fdfu4kIIQYUsk1CiKIi+ySEKCKyTUKIItLXo7ap1GiwEudioLLfkPe3n2PXkOcYYR5lntcZOTEMeeNbvMVK5VJwfiXmWTv/1bZPgyvj121uQiIDQtEOFByL5TTHubAoD8w/jJEMKHOGcntzgfU2RdpErrfFq6hTen5731WuXf7y4gbeZ9tsNMMNJg7Y4BPNH5BrW18A9w6711HPxvr3hVdHAMaqv7YgeF/Ul5OaPMOGB++d8rixrWUisLFCeHOhjUqZeAea5oORSwaPkU7JjTrRqfXGtbboXmZ6TmzeLTO+7dpFtsm5d1WO8D6zPFMsHqZRzy7Us1HkWQr7DNwfYJ0E6z7D825eEL53cL6VsWPb9uBNx7J4xMbsnWK8ujskNyWw3mxPGbPeln07YokwYuBY02tXuxjQPg0225Sw39Aj246y87w+DTVGWASHFzmItQmI92hM7TpT5GCplImXrxe5RL4mwevHot0ysU0sWhfXKke5vbnktN4W3euUnt++4koXg/ZOxDax5wnsb1kdFy8imbw/REU6Gup8hqJWTTKRGgdehg1mD3APAVGXDebRjzIR2+R9/2aIdsDvWsqWTAI5yo06ked6m/btAT1nUfcWmW6PsE+9apsUaSGEEF1mWUN5P4UQxUO2SQhRVGSfhBBFRLZJCFFElvWobdKhRSRJgEryUy6HPSWKhFefgHhwhjwTSiwnMLZhJ6d4SjusGvS0x3xzljoI9OQZvWJIP0FPFCKTFxlg8IqJyi/IvGIgNyfNqwhr5cltOOHOTG5Yb7YGma03zhlPuEEfMtXzCJY1ZIrRM7zxuiHShek81qZZTtqMHtV6LEO+X3Zf4H3MvFDZfFr1EQvrJ2gzLPbAAukHx8J16pTctL4GrkGH1jtK9zLScxwnFtmmuKiK2HoAprEgaol50XtjQRsv8slQg4P1E+N1RueLkY4sL39M3niMUiBym+qT5CQ3jfIIrLdlvpb1jtFz0zpF6rkF2SdyLYkXcsir0+LdTNcMI/4M9QNxn4+erCxSqMF0CObsRTtEvt9Y6v94dbFQJst+xvJex2peFUnunNbbonsmHY7V8whkm2w6X6oOC9/r4LFviZjBsWgUENayZDVPsA1+f8C+gwCZmEe/JRLE20NAP7RGV6Bu4htt2t87lYaOaHudcpUbv5/Jcb2j9NwQlWLS80Fkm3pz1gWgVCqlPwsWLEh/ksIjQggRQ1+PPkCEEAMb2SYhRFGRfRJCFBHZJiFEEenrUdvUm7MuAEmRkaSgyB133JEWFPn//r//L62Ovs0227h6vd4zERjUWwxP/zC3JPP8wDb1/rZPTtM2mGMd82WSyBDvBJZ50qFMhjoIppNTPDE2XJuaId+vBbw2FXqa3lruoMwZyu2dXrO1zGq9Qf9i5hur54Pp1DtTWD5HwKKvnrdrxFjMs91vFM4BSj3k0ZPOcg9mRIyNixuI9RP2rukE1Isnp/VmXjy56blhHAuyTTx3theRyvKIo3cgRuaQ2lqetxiJCqxDTmC2j8MoBPTgZVEKZcwbbPCSs3gUo67S6Cfsh3id0VztbULlBq89ardzkpvpRGi9qUwx6028+oJ6zrwDI/Q8Ftkn50ojR4TtAdSCQ9h+F+vOWTxiMTqa7uHxOcnmC7VeYurbdfL9xptLpyJFSY2ubr7XhepOdmq9Td7YAR1fGz2PQbaJ6FmF7ImhdgpG79B1Y9EwNYygHtqybgp9H7O8s1nq7YBM1KM/om6m930HqTtTttQujQCvDdY2tUZ5dEpuL1tDnusd0D02Z1wn+pzxaiCucIPZNvXmrHNkTQcQX/rSl9xLL73kbrnlFnfvvfe6K6+80v32t791Dz30UM8cWAghisGyBnnACSFEl5FtEkIUFdknIUQRkW0SQhSRZT1qm3RoETisWHkAsWjRIjf6b15JTz/9tPvxj3/sfvKTn7hdd901/dlrr73cfvvt584//3x31llnuaLi5XNkudkq5dY5a+HvpnHIWF59DYO3SoPkamXea0GZVpBT2ghwPiVybVjO305Ax+mi3EhMDvvY9Q7quWWdYvU8ghU9WhQpUzD/JMsT6nmU+d0wT692x6IRaBFRNZbcuBaZsiLPsYoyF4s+5Lneuek5yecag2xT4onZ7JFO8/kyHQp5aDEvOUsud/SiZ9GbEAWEUYysDoI3H0utlwhwLmw+zEsuWHcsut5O2JMuL7mZTgTXm+Wnj1jvGD2n3owReh6L7BOpk7RgUdBzNVR/JW2Dkc9jiX7AWF60/Ir2owYTykNBz8i9E5IpFq8fZjNyihRl70mWnPAdkxttZafWG8cZR+prvLYw2K9Jzw1jxSDbZKu346DeJf0uAyP6SJvQWBYbR3Ue7WCMTIY9mimaG+fC6nMaZHIuwmYE5kKji3OUG3Uiz/XORM9J1KpFpsFkmxQSsAZWHlb86Ec/cv/0T//kvv71r6/6W7VaTetZTJw4Mf09Kci90047uU9/+tPu4osvdrNnz+7InJKDk1NOOcVtsskmbsSIEW7PPfd0v//97zsylhAiP5bVh3g/QgjRbWSbhBBFRbZJCFFEtHcSQhSRZT1qmxRpsQaS1E/HHHOMe+KJJ9xHP/pRt8cee6yKtli4cKHbfvvt3f/8z/+43XffPT3ASJg2bZq78MIL3S9/+Ut33HHHpYcZK/+WBUmfjz76qPvv//5vN3Xq1DTaY99993V/+ctf3AYbbGDqo754SfjUDk49vZy2JBdtA09FmXcgeof094Xz8GJ+T5YTmPQTkon1U1/efg5wrx/mNYsnwhnlPvXGIZ61uFbe9Y2Q2Sq3pxOwTnQNMlpv1D9Pz1k+14z0PIbljd54YHQSLxfmMLL2faBDzMsEPatYP4Gx2LqGbBNrw/DGQpmY12wWtolED+H1q8HzIUtvZi9vPOYs7ZTcJGIqr/WO0b2s9NySh9uCbFPyLCDergaPMs/jHD3/6DMb8n+z2g6Q/5t6lMFzEiMdmZecl2PXtI9r3z7QfSdeGxLtYNrrhWDP/iHD2vak65jcRCdC682uS9R6Mz2H+Xh7K5bfOULPY5F9cq4+85VgHnEv0gbtCou6h89wnDWNFdznYxQQ06HAXHh0Fnr9x+kYzpnKCNevtmBhNvXBYB9UGTsmeC1ylTsQ1ZHZesM4Ft2j0WQWPTeMFYNsE8nKMLQcrtlEsnB4+xm2J4YoHxyrzupURjxLve8pSMYFlIlGO1hshNem0noc9uzPYt9E+mHvGN5YecoNOpHneod0j83Zsk7e91IraoPaNunQYg1cc801abTFY4895kaNag693Xbbbd3kyZPdww8/nB5uJIW4k3RSEyZMcAcffHCaNio5YMjywGLp0qXu5z//ubvhhhvc29/+9vSzc8891/3qV79y3/3ud9MaG0KI3mRFjxZFEkIMbGSbhBBFRfZJCFFEZJuEEEVkRY/apt6cdYdJIiluv/12d/jhh7shQ4a48847L41m2G233dy73vUu99a3vtUddNBB7tvf/ra78cYb3YknnrgqnVRycPHqq6+6JUuWuJEjm72Y1ob+/n5Xq9Xc8OHNJ3xJmqikAHgsNNoBDmnqixe3/DtrQ/PEwViViRO8Nv2vNKfWqk5obtM/b573b6rrTW76vTbXb4Nzri1Y4LcZNrylly/+nbWpjB0bvDbV8et6bZhcIbCf2muvtS23Raas5Mb1xrXOcr1dKMrDoMOxeh7D8h4Jzesk6LWBUWEJ5ZHrtF4PpvPzXwt6W+BYlfUmef+mf8bLzW3GjfPa4D1Y3WCq3+aVOS1lqr2+IBOvfxalgPepd48Srz5mV0KwftDLxFunDsnNbBPqRKfWG9faontZ6XlWuU9lm7hHWR0jhZi33euvt4w2qr26IKwfxLO1MvmN1KQr6X95pt/mbzXYVo0F91916hTv39RmzzV4EC5r3yvS4FGGY+G1s8hkAfuwrFOecjOdCK03kylmvZnNqC+utb1OMXoei+wTqe2wdGnwedGAdSuNGOH9G/bc8caGscp4j2IEQqKv644N6zzsIZhnrfeuih79se83sM+okGuD18+Taf6rLgbsp0H2B7hWecrtvSfluN5B3SPvbFnpeQyyTb7HPPN+xwgZVj/Ka8O86LG+CrSxfPdiepbi9xTkXvfnuzSb9xvP65/oM1w/i0wWvP0Xe3fpptxdXO+Q7ln0nEWKYT8lS83OAWybBlVNiyRdk4UxY8a4+++/3w0dOtSddNJJ7je/+Y2bMmWKu+yyy9yBBx7onnzySfeBD3zAbbPNNu773/9+Gm2xkoceeshtvvnm6YGFdTwLSVqqJEXVF7/4Rffyyy+nBxhJeqh7773XzZzpv7AKIXqHZY2q9yOEEN1GtkkIUVRkm4QQRUR7JyFEEVnWo7apN2a5lqysLbEyXdOKFSvSA4k10dfXl6Zg+uxnP+t22GEH94tf/MKtu+4bJ3ZvfvOb3Te/+c00JVNSePvUU091u+66qzv66KPT+hcvvvii+/KXv5y2zTI9VEJSy+LYY49N61dUKhW38847p4cnDz74IG2/fPny9Gd1av0rXLlUaXlqV1u4qLUnGPyd9YOeP6wN9bTfZKPmNs+/2PLvrA3z4MI5W/oJRV7Q+b4ww2uD149FD8REeWA/zDswJDfKbJmLVe7QelvWIHa9vXzvMBemw1npeQx99UFhilvbpr5lTbaJRbF4tol4JmAbS753HAu97BOqG2/Y3OaFl6LaoPetd49CH6wfiycd7efFl1tePxqtZbAH2Ib2A54xecmNMjOd6NR6W7yxO6XnWeWxlW1yrn/50mbbRK439TqDfSa2oZ7t4FHG2qCnPYvoQp3GNkznPdtEZLL0g/c6etvR+b48q7kPskdHDzjubbe0td1hHttov7ood8x6U/sVsd7M4zGk53SdIvQ8Ftkn8l5neAfynv2x73WoHxh9OGV979/0z5zVdhvTe936k1v2YX6/gfn0z/LfVb3rB963sdEOXj/ExnVTbu9dKqf1Nukee6/LSM9jkG1KyoX0B21Tw1IzAPo1vffjPp94yHs6T+6d0H1hkcmi86b3G+inNntO+LsMw57H9F6H+y/ynROuU55yd3W9A7pn0XNWR9ViBweTbRoUkRYrDw9uuukm9+53v9udcMIJ7qc//ambP39++nkStbA6Saqnf/zHf3SLFy922223XXpgkaRnSjjllFPSOhJJ+qfkQOP6669PDy+S6Ivx48enURnJv+0ESQTHXXfdlc4rORxJokGSA5Y3velNtP0FF1zgxo4d2/TzbOOxjsxNCBHP8nrV+xnIUNtUl20SomjINmnfJERRGUy2aY32yT3e7WkJIQDtnbR3EqKILO9R21RqZJnDqMAk0RHnn39+WiB7xowZ7u6773Z77rlnenjBojJ+//vfu2OOOSaNakjqW6z8PKlh8cEPftA99dRTbtKkv+fBTg4+kuiHhKQo98oaF50kqZ2x2WabuX//939PD2Isp97vHXes5zGIlIdUW+fLhL+zNhZ4/ralbXu7et5tLB8iykS8vKobbtA81kszWv6dtWFeZ3htqhsRbzuUC71vIS+k1aM4JLdFpqzktuQ6zGq9Q1h0OFbPp9eubns+n37kCO+zr+3Qfj+9ArNNh035WLNt+ttBcTu1Sqh3O7l3XBXWFsYqUe9RqE0zmdRBAO+PCsuxi7YHZKIecFDHhUapGdqgR4tXZ2jC+KBMtI4LXGN2bWrz5rf28u2Q3MyLB+fbqfX21tqge5npOY7jnLtt8RWuXWSbnHvv2GOC+ybLfWF5rluweF+hvqKuWrzFTPf65pt5TfqffrZlG/y7ec8TkMlSR8JyHxdN7tB6W2QyrbcFiw5H6Pn0+jXtz4XYp4Fsm9Zknw4d/+GgfcJnHD6b2DOQPr8ClIaFc89XsUYL1FYxe6Fi3nN4F6hOJPuZOc1jVSdN9NvMnR98V8VrY6nZZ7Jxhpp9RZI7z/UOYdHhGD2/ve8qF4P2Ttl852RtE4J+TxHw6LdEBtCaDJbvnLJ4v7F85wSRWNZINm+fYYlAK5Dcea63hU59tzp9EH3n1BtHK2vJ3Llz09RKn/nMZ9KfhBtuuMEdeeSR7oorrkhTO2FUxo477ug+9alPpYccP/jBD9wBBxzgJk+e7H7yk5+k7ZMDi5UHGQnJgUVyWJHQqQOL2267LR1zq622Sg9NTj/9dLf11lu7adOm0fbDhg1Lf1Yn+OIthMidvvqgCHpbhWyTEL2BbJNskxBFRfZJ9kmIIiLbJNskRBHp61HbNCgOLYYMGeL+8pe/uL322mvVZwcffLD7yEc+4r7whS+4Qw45JA1jWz1KIvk3Sf2Ixx9/3J199tnuP/7jP9ysWbPcxIkT0zoWrGZFp6MrFixY4M4888y08HeSiuqwww5Lo0eSuVrB3I2W09XKqJFNv9dff937N3hCaMk/yTzkq1OntPS0x7+nbWa+0nIubD60H4geQI89/Dvrp0ZOjPH6WfLco3cgy42O/VRGj/ba4Fp515fIlJXc3qkyegOxNejQels8U7PS8xh6JTSvo0DQH/OIwugcS80AlhPY0w/MPb/EX3u8v5iXL7ZhudErI9dpKRO7jz1PFOIJjG0s9sC714lMMZ61rJ9glEeH5Kb3Mea579B641pbdC8rPZdtyhDmeW8APb08r6nIfmM87S1RCpb5eP2Q6IHKuHEt29D5zoEaXeS+8CKbYByWY92bC7NNoXXKUW62BqH1ZjJltd4hLB6PWYyzJmSf/OtbYnti9OqEfOTMQ96LziD3BY7l5TSf1ByBwDztWRsvMpN5yKNHMfRjicTCCAR279TmkxpdcP1QJsszm77XQT/4XsLWKk+5PZ3Iab1Nusc89DPS8xhkm3ws3zl1qqYF9fqHiCNa4wDbQESSKUqBRTZh9ACpEeHVAoV+sAYOraPKatzgfcHek9DGYQSCpaZFjnIXab1j9DzPmha9apt6c9YBMOJh5syZaeTEnXfemaaESqIVkr+dfPLJ7tJLL00jGP71X/911b9ZtGiRG/23LyMuvPDC9HDjf/7nf9JUUQcddFDX5ErmuHKeQoiBQ68+QIQQAxvZJiFEUZF9EkIUEdkmIUQRWd6jtqk3Z70GkroSSfTDysOKefPmuQkTJriNNtrITZ061f35z39Oi28nUQrJwcUmm2zi/vmf/9l9//vfTw8DksOOBx54wL3vfe9zv/vd79yGG26YfpYUwE5+WP2KXsM7tav7JU3KmJcbvD7x7wl18FSlp4wwVmXdN6JbWnrReye9zX9n/dQXNuciZ3Nm/XjXBr1iiEzYT2WM7y3sXT9yqsxOuVvNhfXDTmlDctN1ykhu1AlcJ7YGWa13SM+ZDmel5zH013vTnmRJCXLwU33GeiakLorncU68LTAPr+cdYsgJzGol1BYtCnqZ1BcsbDlf7CM22oH1gzUX8PoxmVitCQ+YD+snFBnQKbktdUU6td641hbdy0rPcZxYZJu4N7nFOxCf6140H/P6tEQFTpoc9BarjF+3deQFyeVbw2gHIhP2wyLZMNoB21iiltieCGVi3nahuWAf7D5l3s25yU10IrTeTKaY9Y7xDqTrFKHnscg+OVcZOybssYnPHVi3MtF5rLdk8awto93BSCKy9qwNPpMbTIdAJlPUEr5LsehN6Aevb9oPRq0G3h8ZllpV/L1uZNfk9nQip/W26B7b82Sl5zHINvnZPdge3lSX1LAnDo3FIp/Ri569L3htAtHybL7YB63rR56lXoRUYC7s+jGZsGYfw9+/jmp7nXKVG7MW5LjeWeg521N6UfdlGGeQ2abeTGoFJIcICclBQnJg8ac//ckdeuihbvvtt3fPPfecGzlypNt7773dX//617So9uqpnXbbbTe3ePFit3DhwvTfDh/+xoZ8Zbvqal+krYzg6NUDCyFEMVlRr3o/QgjRbWSbhBBFRbZJCFFEtHcSQhSRFT1qm3pjlmtgZcTDykOEu+++251zzjnuoYceStM43XjjjW7TTTdN//aBD3zATZ8+PS3InRxoDP2b59x9992XFthODjYStt122zQiYxQ5fet0zYpcgAOX8giWJxQ87dGjE/6e9gMnkcy7GcdqkHzvXh0E9LZguVqhH5wLmzPrh+W/C3k8ogcmuzZ4/WoLiUdxBHhtaJRHQO6QzGsjt6cTuE5sDbJab5DL0z3DOsXqeQwrevTUO1Ngrann8qLFYc8q9Awd50d0NdCzCr1HX1sQ9g5hERzYhnja43w8mQy5kCng2UH7wbybcP2YR2wM7Np4+TtxLh2Sm9ovXIMOrXeM7mWl5zhOLLJNzpWG+9e/DJFhdbKf8XJlr+gLe/CifsA46ViQ/5tFgtReXdC6bgP0webDZPL6IV5n3nwxootFrsC1KRlkioH1UYb1xbnkKTfTidB6U5ki1pvZjJCe01oDEXoei+yTc25o83OoVPWvSf01fy8SimQoj4N1I+/AOFb91deCnqGWaG7vWbruuKBMOJYp/zfxiPWiJgz7ItNexYB3bdj9BfPJU27UidzW26J7AR1fGz2PQbbJWG/nbw7BKymPIdHR4JVuqXGDY9HIAMNz3WtjmQvKxGo/GaLYvQh1rA0I47Drx95DY/D2M+y5jtEDOcqN65Dregd0j80Z1wmvXSfr7azoUdvUM9/CJ+mckJWHFT//+c/dLrvs4t773ve6bbbZxv3hD39wP/nJT9xOO+3k7rrrLvfKK6+kBxPHHXece/7559273/1ud8stt7if/vSn7oknnnCHH374qr6S/yYHFklUBRtTCCGyZkWt4v0IIUS3kW0SQhQV2SYhRBHR3kkIUURW9KhtqvZanYrVmTNnTlqL4vHHH08PJJLC2hMnvpFT+uqrr3bnn3++e/HFF92VV17pDjjgAHfIIYe4N73pTe5Tn/qU++xnP+vmzp2b/psPfehDAzOqguCdPLKTSM8bvy/oSVGzeOjiCSzxXvRy8UH9AouXHItk8GQip5WYxxLz7NFaFBgZ4LXwrx+r5WHJzRxV2wHWCuW21NeIlRt1AteJnYJntd5B3aORNhnpeQT9jYFpb9oB9Zdd/xLWcWF5jg1RE1jjBMcqkby3ddBFlve8hlFAY/x7HeeDMrH7wosesORCZhEGMGe8flQmVmsiAOvH86TGdeqQ3CyHsbcGHVrvGN3LSs9ZvaoYZJt4RJ1XQ4REzHgesYZ6AJaxUV9NnvbQD9uH4HyYTDX02iO50T0vXmjD9l+e1z/ziEWZLPV2An280VGjMHLT/M6B9abejBHrzQjpuck2GcaJRfbJuRrUL2Ge7F5NC4h0wZpizIue7SlwLM8zNLbuGN7rMBcuU9ij34vwNKR7LkEkC4+YDOfct8Dymgfrv+UotxdZkdN6m3SPRaRmpOcxyDaR/S27trCOtBYcPuOYPgTGYlHN3h7ekIUD3wVY3RlPJqbzhvplpUA/9Hs0uH4We2ChFLFOecrdzfXOQs9ZBAf2U8qqpkWP2qbCH1qsjIB4+umn3cMPP+ze9ra3uY033jj9bNKkSe6MM85I61WsrEVxySWXuK997WtppMRHP/pR9+EPfzhtl5BETiR1LpI0UUmti5Wpo1b+bWWdiwFN4KWK3bCWNBkxBVPZpg6LBWLBQVZM0CtCaZDJ0g8WSGRf3oXmy64fO6AIjYV/Z/2w9CohuWkBz4zkDq23ZQ1i1zv45YEl1UusnkfQK6fcncTbuDRK4RBysnHBL5douDp+oQtj1ck9Wt1ko6bf+59/MapNaONX3XgD799gP5aCXTiXtJ8XZrQ+ACT3ekxRaEs/tZzkRpnpYW6H1pu+LAR0Lys9z+rQQrZpDQdqeB8bQtG9NYv8cqm+9NW1fpZa9ipMpur64SLgIZtB5ztrdttpBSz2wGS/IPWAd0CRo9wx683mErPepi8PDOkfYvQ8Ftkn39Y36iSFBDosoW0iqeBsY/e3HAcLLCf0z5nb3GbSRL8NKeDqERgLx2GFV1lBWpwPm0voANVS/NbSBm0TW6s85fbIc73b1L0s9TwG2Sb/oJ4+C/oMToWYoidi78TSXVYnTWj6vR8OgNM2kye1LCRvkQnHYWOZ3m8Cc7GmAY95r7Oku8R1ylPurq63Yd8e0nPLe0ZjkO+bCn/UktSXSOpTJOmfzj333PS/ycFE/99Oz/fff/+0WHZSy2L99ddP/5ZEUTz66KPpgcbKA4uE1Q8lVh5YJP0U4cAiqcdx8MEHu6lTp6Zzuf7665v+nhQLP+mkk9yGG27oRowYkabBuvTSS7s2XyFEdvTVK96PEEJ0G9kmIURRkW0SQhQR7Z2EEEWkr0dtU1cjLVZGO6xYsSJNx5QcPqzO7Nmz3Ve/+lU3fvz49BAi+cL+iiuucGeeeabbfPPN09oUCUk0RVKb4uKLL07rWqwssm0Bx+wWS5YscTvssIM79thj00LhyGmnneZ+/etfux//+MfpNbv99tvdxz72sfSQ41/+5V/iBzZ4iscUQzW1IR7yXrTD+HVb/p32Y5gLjTDY9s1Nv9f+/GTLv6f9QBvL9UOZLFETzHMZ+7GkmPKuL5EpK7lD603XoEPrnaueR1CrF/78uPPAtW0whwJDtBa2sXgm4FjMSwK96KtTpwTbmDxM8b4gHv3lXbZr+r3+4KPBNv2kTTD6icn08syg519MP7nJTZ4zFq+YLNY7Rvc6qecxyDZxu9/oDz8LQumLLH3QNlk8S9l9YXgGenuI7d/itan98bGWbfrh79ZrZ9nzhNpY9l/dlDtmvZlMWa13SEdtRTU7s29KkH0y7kvxmYLrZolYNoDPQOb173myEm9X07MU7wsYK7P3Gxa9D9fPIpMX0cWiHQz9dFNu1Ilc1zuEYZ2y0nMLsk0+NMVrTCol9uzCPTGmTSPZKFAXLe8uprS1eF8we7DTNk2/1//wl2CbfmhDIzMxw4blvc6QKhz78d7puix3N9c7pHtszl5WG4NMjtmvQWSbuvKNfV9fn/vKV77ivv71r7tXX3216ZAh+fJ+5Mi/5w9LDiH23Xff9LNf/epX7rLLLnOzZs1yv/jFL9JUT8mX9klf6623XtejJdaGpOZG8rMm7rnnHnf00Ue7ffbZJ/39hBNOcN/73vfc/fffv3aHFkKIrtNf680HiBBiYCPbJIQoKrJPQogiItskhCgi/T1qm7pyaDFkyBC32267pWmOkoLZRxxxhLvwwgvTKIKkUHZSXPv//b//5yZPnpymTEoOKT74wQ+mNS0+/vGPp1/SJ+2TiITk0CJJCzXQ2XPPPd0vf/nLNBIjkfnOO+90Tz75pPvmN7/Z+cE7lMef9YMnjV4EQocKCqVjoZfJ7js0//2+RzLxBqJefTBWA8eCv9P5RHjFeDJnKXebc+nkendVzw30SmheR4nwIDDVDIjolxaxBi855mWCbagXamA+NJIBogf69tvVazPk9gfC/QQ8O5hMOBaOQ+dD2ng2A9apU3JbatN0bL0z8orplJ5bkG0qIIaoVW+fkdXzDfczJHqg9s5dmj+448HWczHOB2XyxiFjBefSA3KH1pvuKbu4n8kT2aeMbEZG+uFFMRq8XVmbmMhnL0KdvN/U375T8wd3/8FrE+NZizJ545CxWJt+nI/lvS5Pubu53sHJhKPU9F6XM5YsB6aI5Pa/Y/D+bImIMEQPRN0XLCICIwz23NFvc8/DrediuC5MJhwLx2Ft+lmbAsud53pnoedZ6PhAt025H7Uk9SMSktoU++23n/v3f/93d99997mbb745rdmQpIlKalFcd911b0ywXHbXXHNNenBxyy23uNNPPz2NOEgiMpKC2vPmzWvqd6Dy7W9/O61jkaTISiJTktRYSf2Ot7/97d2emhBiLanXS96PEEJ0G9kmIURRkW0SQhQR7Z2EEEWk3qO2KZdIi1qtlqZuSg4gVqZwmjBhgjv88MPdbbfdlh5CfOtb30qLah9yyCHu85//fHpwkaSGSv7tz372M7fTTjulURgJSV2LMWPGpJ8nbfbaa6+eTg1lPbRIDneSaItNNtkkLdydRJ0kURdJ+izG8uXL05/VqbuGK5dan7CVyqWWHp0mr08Dlvxt1SnrB3M3e94h5LTSk4m0qW65efNYEGGAf0/b/PXptq8NysTG8mQi0Q7etZk122sTOp2mMnVIbsvpdVbrHQL1wTJf1mawh+rFwmxTo+yabZMhEqve1++1KQ+pth395HuuDQ/nMI6s/+Dl3USZSHRGdYs3nn2tIhmwTf9Tz3htylDvCa8fkwnHwj5YtAO9NjNfablOnZKbzdf3DuzMels8NDum5xlFXsg2OVdv1IL7plwx6FCw/kNGXv/lHZpzD7MIA2xTf8TPYWzBq91AoiYq48a1bBNb06KbcofW2yRTjrnc80T2yd87sX1q6F2Aer9jG8O+2Xuuk0hHS2700F7F8k7B6jZghIGl/oPl2ngykUgGbz9I2nj9wL6Jzaebcue13tHvbBnpeQyyTca9kyUaJouIGUN9u6hnqWG+9DunrbYIRjJ4bZ54qvVcyHyoTDBWZdSocBtLHdUCyZ3relsI9ZPjHq2/R21TR2edHDgkVCqV9MDihRdecC+++KLr73/jYfTWt77V/dM//ZNbuHBhemCRkKR6+tCHPuSeeeaZtIZF8m933nlnd+ONN7qvfe1r7oILLnA33XSTu/76692ll16aHlgMdJYuXeo+97nPuW984xtpuqyklkcSlZKk1UquyZpIrtXYsWObfp5thAsBCiHyJSmKhD8DGWqb6pFf6AghOoZs01j3rHu829MSQhAGk21a895J73VCFA3tnbR3EqKI1HrUNpUaGeVVmj17tjvuuOPS4tpbbrll099mzpyZ1qRIikZvuummbuutt3ZXXnllmubo2muvdR/4wAfc//7v/7rdd989bb9gwYK0r6effto99NBDabHuL33pS+6OO+5w1WrVnXXWWWmExUAliRpJ0mMlUScJyaFOYvyTFFqrF+v+yEc+4p599ll3++23m0+93zvu2KZTb+aZ4HmUrbNO0+/111+POl215KSrThzf9Hv/nLnNf5800fs3/XPntxzHevKMY1nye+J82MkzXr/aokVem9BYlhygldGjvTa4Vig3ymyZi1XukE7gWme53sG8iuT0Ois9n1672rXLm6/9ovfZk4d/3g1UmG06dMLxzbYJPLgSGuDFVR4xwmtTX7q06fcS87RHLy70FlvWPLeE6uRmXex/xY9sqq43ubnNbP/+Kg8f1lKmysQJ3r/BsSz2AOeSUJs7r+X1qy1eHGUPLG3QkwfXqVNyo8xpP+jV16H1xrW26F5Weo7jJNy+4krXLrJNzh06/sOet6ApGgb1DNeVrb0lJzBGSE2aEMwjXp08qfnvc/z7wvOaJTLhWDiOpdYLzoXNh0VIYT+0Dk6gDYvostTByU1uohOh9WZziVlvy74d50LXKULPb++7ysWA9mkg26Y12afD1v9o896J7XnweTEM9iHQZ9oGnjv4XGJj1WEPUR47xvs3+L7A3sfqCxY290M8gT2ZRo1sOU5slFpj8RK/G7h+3ntdpCew965K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+3ezZ8+m2tpa+s///E/vfdeuXb0y1OLHDTfc4Nh6AMxeOlgFL3Gy8uKqejVFpcBTr6asW7eO0uk09ejRI+dz9X7hwoVidfvtt5+nW4MHD6ZNmzZ5kWojR470biB9+vTxo0egRIAHYZnTAm1SQJ9AUMCDEHB9gjaBKABtAniuA1EFz3VlTlb/KA5zp1hEWpho165dznu12qM25W5KfX19zkqPQoWxvP32242vDz74IO++FioV1IYNG7w9MCoqKrzXc889Rw899JAXhdESVLqqww8/nDp06EDdu3f39uRYtGhR4/cqFRbfwGT369FHH21R3QCA6K16K01QUWZNX+ozPxgxYgSNHTuWhgwZ4qXDU3vzqNR4+SLNAADlR9japIA+AQBsgDYBAKIInusAAFEkEdPnuthEWqj0UGpVxwZ1Et5///2cz9SiRKtWrbx/Dxo0yFs5WrZsWd79K5qyfv16euqpp2jmzJl04IEHNn6u2nTUUUfRiy++SF/72tfIFbXR+IUXXugtXDQ0NNBVV11FJ554oreQohZlVCiN2rSkKffeey/98pe/pJNPPtm5XhBNsApeXiQEaZsyZYq3yVFTpBVvFfGl0uWtXr0653P13jZ3oNJGFWWmotAAyAc8CMuLlmiTAvoEwgRRq+WtT9AmEFXwXFde4LkOxAU815UXiZg+18Um0qJ///70j3/8w4s4UGEp+SIbvvrVr9L8+fPpd7/7HX388cfezuZNFzFUNMNPfvITuvTSS70oiSVLlng7n99xxx3ee4nf//731KVLF/rud7/rbQi++6V2S1fpolQURkt44YUXvH011IKIKlPtnaEWVVTOMIUyjt37eex+PfHEE1572rdv36K6AQDFJZHRX+pmUV1dnfOSbiBqQXfo0KE0Z86cxs+UPqr3amXbBrX4+t5771GvXr187RcAoHy1SQF9AgAEBbQJABBF8FwHAIgiiZg+18Um0kItMowbN86Lkti+fXveza/V5tpXX301XX755bRjxw4699xzvZAUdXJ2o/agUBEZKvTlk08+oY4dO9Jhhx3mRThIqDxcp512mpeOiXP66afT9773PW8xRa0++YHK96VobmNxtZihokemT5/uS30g2mAVvLQpdBMkjlodV/qo9vcZPnw4TZs2zdt/Z/z48d73Sv/22GOPxlC/66+/no488kgaOHAgbdy40YvY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\",\n      \"text/plain\": [\n       \"<Figure size 1600x800 with 60 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"n_batches_to_show = min(5, agents[0].A[0].shape[0])\\n\",\n    \"num_rows = len(agents) + 1\\n\",\n    \"row_labels = []\\n\",\n    \"for agent in agents:\\n\",\n    \"    alpha_value = float(agent.alpha.mean(0).squeeze())\\n\",\n    \"    row_labels.append(f'alpha={alpha_value:.2f}')\\n\",\n    \"\\n\",\n    \"fig, axes = plt.subplots(num_rows, n_batches_to_show, figsize=(16, 8), sharex=True, sharey=True)\\n\",\n    \"\\n\",\n    \"for i in range(n_batches_to_show):\\n\",\n    \"    for j, agent in enumerate(agents):\\n\",\n    \"        sns.heatmap(agent.A[0][i], ax=axes[j, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    sns.heatmap(env.A[0], ax=axes[-1, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    axes[0, i].set_title(f'batch={i + 1}')\\n\",\n    \"\\n\",\n    \"for j, label in enumerate(row_labels):\\n\",\n    \"    axes[j, 0].set_ylabel(label, rotation=25, labelpad=60, ha='left', va='center')\\n\",\n    \"axes[-1, 0].set_ylabel('true A', rotation=0, labelpad=40, ha='left', va='center')\\n\",\n    \"\\n\",\n    \"fig.tight_layout()\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Visualize the B tensor (just the expected value of the posterior which in absence of learning is same as the prior) alongside the true environmental parameters after training\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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pxOW5jedErlYsmSJDB482BQXtEPi7LPPlnvvvVfat28vx44dk4oVK5qCQL169czzS5UqJTfeeKPplFi4cKF07do14t0SAwYMkK+++kr+9a9/SdWqVc2WUR06dJBvvvlGzjzzTKv2IsztL15+7wyIZuWdOwCA+EmxtNIfTaHyOx77yEYiv2Od3Yr8BmKD/A5Gfod3bfIbiA3yOxj5Hd61yW8gNlIszW86JU6ihQQ9nn/+eTO8eseOHabQoAOsb7jhBvn9999NYSIxMVE+++wz83WAdjBceumlMnv2bPN1JAsSx48fN1tGPfroo3LJJZeYIsm4cePMr7pWAHDbnognHwAA5yO/AcBO5DcA2CnV0vy2Y5UxpIWETZs2yfLly+Xjjz82xQftRmjatKlccMEFphAwZcoUs1XTq6++KmvWrDHFC6XdE4ULFzbbOmVkZJjXRooO19ZrFitWLMd53cbpk08+yfN1cqvqO31+glPmPnAHABAbKZa0G8ZSqPy2IXuc0nVGfgOxQX4HI78jv454rQVwM/I7GPkd+XXEay2Am6VYmt+e6pTQDoi8KFu2rNmyKSA1NVVOP/10ueeee0wh4scffzRbO+m56dOny2+//Wael5aWZjorKlSoENGChCpdurS0bNlSHnjgAfnPf/5jChS6fdPatWtl7969Ef1eABBvJ/yFgg4AgPOR3wBgJ/IbAOx0wtL8tmOVYQrMdghsp6RFhiJFipyyK+Giiy6St99+W5o0aSKFCv33t+mWW26R++67T95//3257bbbZMSIEfLYY49JixYt5J///KesXLnSvLZXr15R+Tl0lkT//v3N/Agteuja+vTpYzo7QtHh3Hpkl+nPkARfoqsr6bauG8D/pGV64u0pV3nNbydlTyQ62py+7mivBXAD8pv8zsvz3dRJDbgF+U1+5+X5kUB+A5Fla357olMiUIxYtGiRXH755TJo0CB58803szoctOsgu7POOkvOO+88Wbdunfz888+SkJBgChn6a7du3WT+/Pnmed27dzfzI6666ipzbe2cWLp0qdSvXz8qP0edOnVk1apVcvToUdm9e7esX7/edGfoekOZNGmS6frIfuz0fxuVtQFAJKVkFgo6vIT8BmAr8pv8BmAn8pv8BmCnFEvz2+fP655Glnvqqadk4sSJMmDAANmzZ4+sXr1aWrVqZYoToboq3n33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\",\n      \"text/plain\": [\n       \"<Figure size 1600x800 with 48 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"num_actions = env.B[0].shape[-1]\\n\",\n    \"base_labels = [\\\"Up\\\", \\\"Right\\\", \\\"Down\\\", \\\"Left\\\", \\\"Stay\\\"]\\n\",\n    \"action_labels = base_labels[:num_actions]\\n\",\n    \"\\n\",\n    \"row_labels = []\\n\",\n    \"for agent in agents:\\n\",\n    \"    alpha_value = float(agent.alpha.mean(0).squeeze())\\n\",\n    \"    row_labels.append(f'alpha={alpha_value:.2f}')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"fig, axes = plt.subplots(len(agents)+1, num_actions, figsize=(16, 8), sharex=True, sharey=True)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"for i in range(num_actions):\\n\",\n    \"    for j, agent in enumerate(agents):\\n\",\n    \"        sns.heatmap(agent.B[0][0, ..., i], ax=axes[j, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    sns.heatmap(env.B[0][..., i], ax=axes[-1, i], cmap='viridis', vmax=1., vmin=0.)\\n\",\n    \"    axes[0, i].set_title(action_labels[i])\\n\",\n    \"\\n\",\n    \"for j, label in enumerate(row_labels):\\n\",\n    \"    axes[j, 0].set_ylabel(label, rotation=25, labelpad=60, ha='left', va='center')\\n\",\n    \"axes[-1, 0].set_ylabel('true B', rotation=0, labelpad=40, ha='left', va='center')\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"fig.tight_layout()\\n\"\n   ]\n  }\n ],\n \"metadata\": {},\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/legacy/agent_demo.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Active Inference Demo: Constructing a basic generative model from the \\\"ground up\\\"\\n\",\n    \"This demo notebook provides a full walk-through of how to build a POMDP agent's generative model and perform active inference routine (inversion of the generative model) using the `Agent()` class of `pymdp`. We build a generative model from 'ground up', directly encoding our own A, B, and C matrices.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Imports\\n\",\n    \"\\n\",\n    \"First, import `pymdp` and the modules we'll need.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import os\\n\",\n    \"import sys\\n\",\n    \"import pathlib\\n\",\n    \"import numpy as np\\n\",\n    \"import copy\\n\",\n    \"\\n\",\n    \"path = pathlib.Path(os.getcwd())\\n\",\n    \"module_path = str(path.parent) + '/'\\n\",\n    \"sys.path.append(module_path)\\n\",\n    \"\\n\",\n    \"from pymdp.agent import Agent  # noqa: E402\\n\",\n    \"from pymdp import utils  # noqa: E402\\n\",\n    \"from pymdp.maths import softmax  # noqa: E402\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The world (as represented by the agent's generative model)\\n\",\n    \"\\n\",\n    \"### Hidden states\\n\",\n    \"\\n\",\n    \"We assume the agent's \\\"represents\\\" (this should make you think: generative _model_ , not _process_ ) its environment using two latent variables that are statistically independent of one another - we can thus represent them using two _hidden state factors._\\n\",\n    \"\\n\",\n    \"We refer to these two hidden state factors are `GAME_STATE` and `PLAYING_VS_SAMPLING`. \\n\",\n    \"\\n\",\n    \"#### 1. `GAME_STATE`\\n\",\n    \"The first factor is a binary variable representing whether some 'reward structure' that characterises the world. It has two possible values or levels: one level that will lead to rewards with high probability (`GAME_STATE = 0`, a state/level we will call `HIGH_REW`), and another level that will lead to \\\"punishments\\\" (e.g. losing money) with high probability (`GAME_STATE = 1`, a state/level we will call `LOW_REW`). You can think of this hidden state factor as describing the 'pay-off' structure of e.g. a two-armed bandit or slot-machine with two different settings - one where you're more likely to win (`HIGH_REW`), and one where you're more likely to lose (`LOW_REW`). Crucially, the agent doesn't _know_ what the `GAME_STATE` actually is. They will have to infer it by actively furnishing themselves with observations\\n\",\n    \"\\n\",\n    \"#### 1. `PLAYING_VS_SAMPLING`\\n\",\n    \"\\n\",\n    \"The second factor is a ternary (3-valued) variable representing the decision-state or 'sampling state' of the agent itself. The first state/level of this hidden state factor is just the starting or initial state of the agent (`PLAYING_VS_SAMPLING = 0`, a state that we can call `START`); the second state/level is the state the agent occupies when \\\"playing\\\" the multi-armed bandit or slot machine (`PLAYING_VS_SAMPLING = 1`, a state that we can call `PLAYING`); and the third state/level of this factor is a \\\"sampling state\\\" (`PLAYING_VS_SAMPLING = 2`, a state that we can call `SAMPLING`). This is a decision-state that the agent occupies when it is \\\"sampling\\\" data in order to _find out_ the level of the first hidden state factor - the `GAME_STATE`. \\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"factor_names = [\\\"GAME_STATE\\\", \\\"PLAYING_VS_SAMPLING\\\"]\\n\",\n    \"num_factors = len(factor_names) # this is the total number of hidden state factors\\n\",\n    \"\\n\",\n    \"HIGH_REW, LOW_REW = 0, 1 # let's assign the indices names so that when we build the A matrices, things will be more 'semantically' obvious\\n\",\n    \"START, PLAYING, SAMPLING = 0, 1, 2 # let's assign the indices names so that when we build the A matrices, things will be more 'semantically' obvious\\n\",\n    \"\\n\",\n    \"num_states = [len([HIGH_REW,LOW_REW]), len([START, PLAYING, SAMPLING])] # this is a list of the dimensionalities of each hidden state factor \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Observations \\n\",\n    \"\\n\",\n    \"The observation modalities themselves are divided into 3 modalities. You can think of these as 3 independent sources of information that the agent has access to. You could think of thus in direct perceptual terms - e.g. 3 different sensory organs like eyes, ears, & nose, that give you qualitatively-different kinds of information. Or you can think of it more abstractly - like getting your news from 3 different media sources (online news articles, Twitter feed, and Instagram).\\n\",\n    \"\\n\",\n    \"#### 1. Observations of the game state - `GAME_STATE_OBS`\\n\",\n    \"The first observation modality is the `GAME_STATE_OBS` modality, and corresponds to observations that give the agent information about the `GAME_STATE`. There are three possible outcomes within this modality: `HIGH_REW_EVIDENCE` (`GAME_STATE_OBS = 0`), `LOW_REW_EVIDENCE` (`GAME_STATE_OBS = 1`), and `NO_EVIDENCE` (`GAME_STATE_OBS = 2`). So the first outcome can be described as lending evidence to the idea that the `GAME_STATE` is `HIGH_REW`; the second outcome can be described as lending evidence to the idea that the `GAME_STATE` is `LOW_REW`; and the third outcome within this modality doesn't tell the agent one way or another whether the `GAME_STATE` is `HIGH_REW` or `LOW_REW`. \\n\",\n    \"\\n\",\n    \"#### 2. Reward observations - `GAME_OUTCOME`\\n\",\n    \"The second observation modality is the `GAME_OUTCOME` modality, and corresponds to arbitrary observations that are functions of the `GAME_STATE`. We call the first outcome level of this modality `REWARD` (`GAME_OUTCOME = 0`), which gives you a hint about how we'll set up the C matrix (the agent's \\\"utility function\\\" over outcomes). We call the second outcome level of this modality `PUN` (`GAME_OUTCOME = 1`), and the third outcome level `NEUTRAL` (`GAME_OUTCOME = 2`). By design, we will set up the `A` matrix such that the `REWARD` outcome is (expected to be) more likely when the `GAME_STATE` is `HIGH_REW` (`0`) and when the agent is in the `PLAYING` state, and that the `PUN` outcome is (expected to be) more likely when the `GAME_STATE` is `LOW_REW` (`1`) and the agent is in the `PLAYING` state. The `NEUTRAL` outcome is not expected to occur when the agent is playing the game, but will be expected to occur when the agent is in the `SAMPLING` state. This `NEUTRAL` outcome within the `GAME_OUTCOME` modality is thus a meaningless or 'null' observation that the agent gets when it's not actually playing the game (because an observation has to be sampled nonetheless from _all_ modalities).\\n\",\n    \"\\n\",\n    \"#### 3. \\\"Proprioceptive\\\" or self-state observations - `ACTION_SELF_OBS`\\n\",\n    \"The third observation modality is the `ACTION_SELF_OBS` modality, and corresponds to the agent observing what level of the `PLAYING_VS_SAMPLING` state it is currently in. These observations are direct, 'unambiguous' mappings to the true `PLAYING_VS_SAMPLING` state, and simply allow the agent to \\\"know\\\" whether it's playing the game, sampling information to learn about the game state, or where it's sitting at the `START` state. The levels of this outcome are simply thus `START_O`, `PLAY_O`, and `SAMPLE_O`, where the `_O` suffix simply distinguishes them from their corresponding hidden states, for which they provide direct evidence. \\n\",\n    \"\\n\",\n    \"#### Note about the arbitrariness of 'labelling' observations, before defining the `A` and `C` matrices.\\n\",\n    \"\\n\",\n    \"There is a bit of a circularity here, in that that we're \\\"pre-empting\\\" what the A matrix (likelihood mapping) should look like, by giving these observations labels that imply particular roles or meanings. An observation per se doesn't mean _anything_, it's just some discrete index that distinguishes is from another observation. It's only through its probabilistic relationship to hidden states (encoded in the `A` matrix, as we'll see below) that we endow an observation with meaning. For example: by already labelling `GAME_STATE_OBS=0` as `HIGH_REW_EVIDENCE`, that's a hint about how we're going to structure the `A` matrix for the `GAME_STATE_OBS` modality.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"modality_names = [\\\"GAME_STATE_OBS\\\", \\\"GAME_OUTCOME\\\", \\\"ACTION_SELF_OBS\\\"]\\n\",\n    \"num_modalities = len(modality_names)\\n\",\n    \"\\n\",\n    \"HIGH_REW_EVIDENCE, LOW_REW_EVIDENCE, NO_EVIDENCE  = 0, 1, 2\\n\",\n    \"REWARD, PUN, NEUTRAL = 0, 1, 2\\n\",\n    \"START_O, PLAY_O, SAMPLE_O = 0, 1, 2\\n\",\n    \"\\n\",\n    \"num_obs = [len([HIGH_REW_EVIDENCE, LOW_REW_EVIDENCE, NO_EVIDENCE]), len([REWARD, PUN, NEUTRAL]), len([START_O, PLAY_O, SAMPLE_O])]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Setting up observation likelihood matrix - first main component of generative model\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"A = utils.obj_array_zeros([[o] + num_states for _, o in enumerate(num_obs)])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Set up the **first** modality's likelihood mapping, correspond to how `\\\"GAME_STATE_OBS\\\"` i.e. `modality_names[0]` are related to hidden states.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"A[0][NO_EVIDENCE,:,  START] = 1.0 # they always get the 'no evidence' observation in the START STATE\\n\",\n    \"A[0][NO_EVIDENCE, :, PLAYING] = 1.0 # they always get the 'no evidence' observation in the PLAYING STATE\\n\",\n    \"\\n\",\n    \"# the agent expects to see the HIGH_REW_EVIDENCE observation with 80% probability, if the GAME_STATE is HIGH_REW, and the agent is in the SAMPLING state\\n\",\n    \"A[0][HIGH_REW_EVIDENCE, HIGH_REW, SAMPLING] = 0.8\\n\",\n    \"# the agent expects to see the LOW_REW_EVIDENCE observation with 20% probability, if the GAME_STATE is HIGH_REW, and the agent is in the SAMPLING state\\n\",\n    \"A[0][LOW_REW_EVIDENCE, HIGH_REW, SAMPLING] = 0.2\\n\",\n    \"\\n\",\n    \"# the agent expects to see the LOW_REW_EVIDENCE observation with 80% probability, if the GAME_STATE is LOW_REW, and the agent is in the SAMPLING state\\n\",\n    \"A[0][LOW_REW_EVIDENCE, LOW_REW, SAMPLING] = 0.8\\n\",\n    \"# the agent expects to see the HIGH_REW_EVIDENCE observation with 20% probability, if the GAME_STATE is LOW_REW, and the agent is in the SAMPLING state\\n\",\n    \"A[0][HIGH_REW_EVIDENCE, LOW_REW, SAMPLING] = 0.2\\n\",\n    \"\\n\",\n    \"# quick way to do this\\n\",\n    \"# A[0][:, :, 0] = 1.0\\n\",\n    \"# A[0][:, :, 1] = 1.0\\n\",\n    \"# A[0][:, :, 2] = np.array([[0.8, 0.2], [0.2, 0.8], [0.0, 0.0]])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Set up the **second** modality's likelihood mapping, correspond to how `\\\"GAME_OUTCOME\\\"` i.e. `modality_names[1]` are related to hidden states.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"A[1][NEUTRAL, :, START] = 1.0 # regardless of the game state, if you're at the START, you see the 'neutral' outcome\\n\",\n    \"\\n\",\n    \"A[1][NEUTRAL, :, SAMPLING] = 1.0 # regardless of the game state, if you're in the SAMPLING state, you see the 'neutral' outcome\\n\",\n    \"\\n\",\n    \"# this is the distribution that maps from the \\\"GAME_STATE\\\" to the \\\"GAME_OUTCOME\\\" observation , in the case that \\\"GAME_STATE\\\" is `HIGH_REW`\\n\",\n    \"HIGH_REW_MAPPING = softmax(np.array([1.0, 0])) \\n\",\n    \"\\n\",\n    \"# this is the distribution that maps from the \\\"GAME_STATE\\\" to the \\\"GAME_OUTCOME\\\" observation , in the case that \\\"GAME_STATE\\\" is `LOW_REW`\\n\",\n    \"LOW_REW_MAPPING = softmax(np.array([0.0, 1.0]))\\n\",\n    \"\\n\",\n    \"# fill out the A matrix using the reward probabilities\\n\",\n    \"A[1][REWARD, HIGH_REW, PLAYING] = HIGH_REW_MAPPING[0]\\n\",\n    \"A[1][PUN, HIGH_REW, PLAYING] = HIGH_REW_MAPPING[1]\\n\",\n    \"\\n\",\n    \"A[1][REWARD, LOW_REW, PLAYING] = LOW_REW_MAPPING[0]\\n\",\n    \"A[1][PUN, LOW_REW, PLAYING] = LOW_REW_MAPPING[1]\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"# quick way to do this\\n\",\n    \"# A[1][2, :, 0] = np.ones(num_states[0])\\n\",\n    \"# A[1][0:2, :, 1] = softmax(np.eye(num_obs[1] - 1)) # relationship of game state to reward observations (mapping between reward-state (first hidden state factor) and rewards (Good vs Bad))\\n\",\n    \"# A[1][2, :, 2] = np.ones(num_states[0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Set up the **third** modality's likelihood mapping, correspond to how `\\\"ACTION_SELF_OBS\\\"` i.e. `modality_names[2]` are related to hidden states.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"A[2][START_O,:,START] = 1.0\\n\",\n    \"A[2][PLAY_O,:,PLAYING] = 1.0\\n\",\n    \"A[2][SAMPLE_O,:,SAMPLING] = 1.0\\n\",\n    \"\\n\",\n    \"# quick way to do this\\n\",\n    \"# modality_idx, factor_idx = 2, 2\\n\",\n    \"# for sampling_state_i in num_states[factor_idx]:\\n\",\n    \"#     A[modality_idx][sampling_state_i,:,sampling_state_i] = 1.0\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Control state factors\\n\",\n    \"\\n\",\n    \"The 'control state' factors are the agent's representation of the control states (or actions) that _it believes_ can influence the dynamics of the hidden states - i.e. hidden state factors that are under the influence of control states are are 'controllable'. In practice, we often encode _every_ hidden state factor as being under the influence of control states, but the 'uncontrollable' hidden state factors are driven by a trivially-1-dimensional control state or action-affordance. This trivial action simply 'maintains the default environmental dynamics as they are' i.e. does nothing. This will become more clear when we set up the transition model (the `B` matrices) below.\\n\",\n    \"\\n\",\n    \"#### 1. `NULL`\\n\",\n    \"This reflects the agent's lack of ability to influence the `GAME_STATE` using policies or actions. The dimensionality of this control factor is 1, and there is only one action along this control factor: `NULL_ACTION` or \\\"don't do anything to do the environment\\\". This just means that the transition dynamics along the `GAME_STATE` hidden state factor have their own, uncontrollable dynamics that are not conditioned on this `NULL` control state - or rather, _always_ conditioned on an unchanging, 1-dimensional `NULL_ACTION`.\\n\",\n    \"\\n\",\n    \"#### 1. `PLAYING_VS_SAMPLING_CONTROL`\\n\",\n    \"This is a control factor that reflects the agent's ability to move itself between the `START`, `PLAYING` and `SAMPLING` states of the `PLAYING_VS_SAMPLING` hidden state factor. The levels/values of this control factor are `START_ACTION`, `PLAY_ACTION`, and `SAMPLE_ACTION`. When we describe the `B` matrices below, we will set up the transition dynamics of the `PLAYING_VS_SAMPLING` hidden state factor, such that they are totally determined by the value of the `PLAYING_VS_SAMPLING_CONTROL` factor. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"control_names = [\\\"NULL\\\", \\\"PLAYING_VS_SAMPLING_CONTROL\\\"]\\n\",\n    \"num_control_factors = len(control_names) # this is the total number of controllable hidden state factors\\n\",\n    \"\\n\",\n    \"NULL_ACTION = 0\\n\",\n    \"START_ACTION, PLAY_ACTION, SAMPLE_ACTION = 0, 1, 2\\n\",\n    \"\\n\",\n    \"num_control = [len([NULL_ACTION]), len([START_ACTION, PLAY_ACTION, SAMPLE_ACTION])] # this is a list of the dimensionalities of each hidden state factor \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### (Controllable-) Transition Dynamics\\n\",\n    \"\\n\",\n    \"Importantly, some hidden state factors are _controllable_ by the agent, meaning that the probability of being in state $i$ at $t+1$ isn't merely a function of the state at $t$, but also of actions (or from the generative model's perspective, _control states_ ). So each transition likelihood or `B` matrix encodes conditional probability distributions over states at $t+1$, where the conditioning variables are both the states at $t-1$ _and_ the actions at $t-1$. This extra conditioning on control states is encoded by a third, lagging dimension on each factor-specific `B` matrix. So they are technically `B` \\\"tensors\\\" or an array of action-conditioned `B` matrices.\\n\",\n    \"\\n\",\n    \"For example, in our case the 2nd hidden state factor (`PLAYING_VS_SAMPLING`) is under the control of the agent, which means the corresponding transition likelihoods `B[1]` are index-able by both previous state and action.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"control_fac_idx = [1] # this is the (non-trivial) controllable factor, where there will be a >1-dimensional control state along this factor\\n\",\n    \"B = utils.obj_array(num_factors)\\n\",\n    \"\\n\",\n    \"p_stoch = 0.0\\n\",\n    \"\\n\",\n    \"# we cannot influence factor zero, set up the 'default' stationary dynamics - \\n\",\n    \"# one state just maps to itself at the next timestep with very high probability, by default. So this means the reward state can\\n\",\n    \"# change from one to another with some low probability (p_stoch)\\n\",\n    \"\\n\",\n    \"B[0] = np.zeros((num_states[0], num_states[0], num_control[0])) \\n\",\n    \"B[0][HIGH_REW, HIGH_REW, NULL_ACTION] = 1.0 - p_stoch\\n\",\n    \"B[0][LOW_REW, HIGH_REW, NULL_ACTION] = p_stoch\\n\",\n    \"\\n\",\n    \"B[0][LOW_REW, LOW_REW, NULL_ACTION] = 1.0 - p_stoch\\n\",\n    \"B[0][HIGH_REW, LOW_REW, NULL_ACTION] = p_stoch\\n\",\n    \"\\n\",\n    \"# setup our controllable factor.\\n\",\n    \"B[1] = np.zeros((num_states[1], num_states[1], num_control[1]))\\n\",\n    \"B[1][START, :, START_ACTION] = 1.0 \\n\",\n    \"B[1][PLAYING, :, PLAY_ACTION] = 1.0\\n\",\n    \"B[1][SAMPLING, :, SAMPLE_ACTION] = 1.0\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Prior preferences\\n\",\n    \"\\n\",\n    \"Now we parameterise the C vector, or the prior beliefs about observations. This will be used in the expression of the prior over actions, which is technically a softmax function of the negative expected free energy of each action. It is the equivalent of the exponentiated reward function in reinforcement learning treatments.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"C = utils.obj_array_zeros([num_ob for num_ob in num_obs])\\n\",\n    \"C[1][REWARD] = 1.0  # make the observation we've a priori named `REWARD` actually desirable, by building a high prior expectation of encountering it \\n\",\n    \"C[1][PUN] = -1.0    # make the observation we've a prior named `PUN` actually aversive,by building a low prior expectation of encountering it\\n\",\n    \"\\n\",\n    \"# the above code implies the following for the `neutral' observation:\\n\",\n    \"C[1][NEUTRAL] = 0.0 # we don't need to write this - but it's basically just saying that observing `NEUTRAL` is in between reward and punishment\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Initialise an instance of the `Agent()` class:\\n\",\n    \"\\n\",\n    \"All you have to do is call `Agent(generative_model_params...)` where `generative_model_params` are your A, B, C's... and whatever parameters of the generative model you want to specify\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"agent = Agent(A=A, B=B, C=C, control_fac_idx=control_fac_idx)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Generative process:\\n\",\n    \"Important note how the generative process doesn't have to be described by A and B matrices - can just be the arbitrary 'rules of the game' that you 'write in' as a modeller. But here we just use the same transition/likelihood matrices to make the sampling process straightforward.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# transition/observation matrices characterising the generative process\\n\",\n    \"A_gp = copy.deepcopy(A)\\n\",\n    \"B_gp = copy.deepcopy(B)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Initialise the simulation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# initial state\\n\",\n    \"T = 20 # number of timesteps in the simulation\\n\",\n    \"observation = [NO_EVIDENCE, NEUTRAL, START_O] # initial observation\\n\",\n    \"state = [HIGH_REW, START] # initial (true) state\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Create some string names for the state, observation, and action indices to help with print statements\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"states_idx_names = [ [\\\"HIGH_REW\\\", \\\"LOW_REW\\\"], \\\\\\n\",\n    \"                 [\\\"START\\\", \\\"PLAYING\\\", \\\"SAMPLING\\\"]]\\n\",\n    \"\\n\",\n    \"obs_idx_names = [ [\\\"HIGH_REW_EV\\\", \\\"LOW_REW_EV\\\", \\\"NO_EV\\\"], \\\\\\n\",\n    \"                 [\\\"REWARD\\\", \\\"PUN\\\", \\\"NEUTRAL\\\"], \\\\\\n\",\n    \"                 [\\\"START\\\", \\\"PLAYING\\\", \\\"SAMPLING\\\"] ]\\n\",\n    \"\\n\",\n    \"action_idx_names = [ [\\\"NULL\\\"], [\\\"MOVE TO START\\\", \\\"PLAY\\\", \\\"SAMPLE\\\"] ]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Run simulation\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"for t in range(T):\\n\",\n    \"    \\n\",\n    \"    print(f\\\"\\\\nTime {t}:\\\")\\n\",\n    \"    \\n\",\n    \"    print(f\\\"State: {[(factor_names[f], states_idx_names[f][state[f]]) for f in range(num_factors)]}\\\")\\n\",\n    \"    print(f\\\"Observations: {[(modality_names[g], obs_idx_names[g][observation[g]]) for g in range(num_modalities)]}\\\")\\n\",\n    \"    \\n\",\n    \"    # update agent\\n\",\n    \"    belief_state = agent.infer_states(observation)\\n\",\n    \"    agent.infer_policies()\\n\",\n    \"    action = agent.sample_action()\\n\",\n    \"    \\n\",\n    \"    # update environment\\n\",\n    \"    for f, s in enumerate(state):\\n\",\n    \"        state[f] = utils.sample(B_gp[f][:, s, int(action[f])])\\n\",\n    \"\\n\",\n    \"    for g, _ in enumerate(observation):\\n\",\n    \"        observation[g] = utils.sample(A_gp[g][:, state[0], state[1]])\\n\",\n    \"\\n\",\n    \"    print(f\\\"Beliefs: {[(factor_names[f], belief_state[f].round(3).T) for f in range(num_factors)]}\\\")\\n\",\n    \"    print(f\\\"Action: {[(control_names[a], action_idx_names[a][int(action[a])]) for a in range(num_factors)]}\\\")\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"interpreter\": {\n   \"hash\": \"43ee964e2ad3601b7244370fb08e7f23a81bd2f0e3c87ee41227da88c57ff102\"\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3.7.10 64-bit ('pymdp_env': conda)\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.7.10\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/legacy/free_energy_calculation.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Computing the variational free energy in categorical models\\n\",\n    \"\\n\",\n    \"[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/infer-actively/pymdp/blob/main/docs/notebooks/free_energy_calculation.ipynb)\\n\",\n    \"\\n\",\n    \"*Author: Conor Heins*\\n\",\n    \"\\n\",\n    \"This notebook walks the user through the computation of the variational free energy (or *VFE*) for discrete generative models, composed of categorical distributions. We can represent these sorts of generative models easily in array-focused programming languages like `NumPy` and `MATLAB` using matrices and vectors.\\n\",\n    \"\\n\",\n    \"In the discrete state-space formulation, the variational free energy is very straightforward to compute when we take advantage of the NDarray representation of probability distributions. The highly-optimized matrix algebra built into today's numerical computing paradigms can be exploited to write simple, one-line expressions for information-theoretic terms (like Kullback-Leibler divergences, cross-entropies, log-likelihoods, etc.). All these terms end up being variants of things like inner products, matrix-vector products or matrix-matrix multiplications.\\n\",\n    \"\\n\",\n    \"This notebook is inspired by the supplementary MATLAB script for the paper [\\\"A Step-by-Step Tutorial on Active Inference Modelling and its Application to Empirical Data\\\"](https://www.sciencedirect.com/science/article/pii/S0022249621000973) by Ryan Smith, Karl Friston, and Christopher Whyte. The original MATLAB script is called `VFE_calculation_example.m`, and can be found on [Ryan Smith's GitHub repository](https://github.com/rssmith33/Active-Inference-Tutorial-Scripts), which also contains a set of tutorial scripts that are supplementary to their paper.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"*Note*: When running this notebook in Google Colab, you may have to run `!pip install inferactively-pymdp` at the top of the notebook, before you can `import pymdp`. That cell is left commented out below, in case you are running this notebook from Google Colab.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# ! pip install inferactively-pymdp\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Imports\\n\",\n    \"\\n\",\n    \"First, import `pymdp` and the modules we'll need.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import os\\n\",\n    \"import sys\\n\",\n    \"import pathlib\\n\",\n    \"import numpy as np\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"from IPython.display import display, Latex\\n\",\n    \"\\n\",\n    \"path = pathlib.Path(os.getcwd())\\n\",\n    \"module_path = str(path.parent) + '/'\\n\",\n    \"sys.path.append(module_path)\\n\",\n    \"\\n\",\n    \"from pymdp import utils, maths\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### A simple generative model composed of a likelihood and a prior\\n\",\n    \"\\n\",\n    \"We begin by constructing a simple generative model composed of two sets of categorical distributions: a likelihood distribution $P(o|s)$ and a prior distribution $P(s)$. \\n\",\n    \"\\n\",\n    \"Because both of these distributions are categorical distributions, we can represent them easily in code using matrices and vectors. The likelihood distribution is a conditional distribution that tells the probability that the generative model assigns to different observations, given different hidden states. Since observations and hidden states are both discrete, this can be efficiently represented as a matrix, each of whose **columns** store the conditional probabilities of all the observations (the **rows**), given a particular hidden state. Each hidden state setting is thus indexed by a column. For this reason, each column of this matrix is a categorical probability distributions and its entries must sum to one. \\n\",\n    \"\\n\",\n    \"The prior is represented as a 1-D vector and stores the prior probabilities that the generative model assigns to each hidden state. \\n\",\n    \"\\n\",\n    \"Finally, to set ourselves up later for showing model inversion and free energy calculations, we initialize an observation that we assume the agent or generative model has \\\"gathered\\\" or \\\"seen.\\\" In `pymdp` we can represent these observations either as one-hot vectors (a `1` in one entry, and `0`'s everywhere else) or more sparsely as simple indices (integers) that represent *which* of the observations was observed. Because observations are not distributions (or technically, they are Dirac distributions), you don't need to store a whole vector of elements, you can just store a particular index.\\n\",\n    \"\\n\",\n    \"Below we create 3 main variables: \\n\",\n    \"\\n\",\n    \"- An `observation` that represents a real observation that the agent or generative model \\\"sees\\\". \\n\",\n    \"- The `prior` distribution that represents the agent's prior beliefs about the hidden states\\n\",\n    \"- the `likliheood_dist` that represents the agent's beliefs about how hidden states probabilistically relate to observations.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"## Define a quick helper function for printing arrays nicely (see https://gist.github.com/braingineer/d801735dac07ff3ac4d746e1f218ab75)\\n\",\n    \"def matprint(mat, fmt=\\\"g\\\"):\\n\",\n    \"    col_maxes = [max([len((\\\"{:\\\"+fmt+\\\"}\\\").format(x)) for x in col]) for col in mat.T]\\n\",\n    \"    for x in mat:\\n\",\n    \"        for i, y in enumerate(x):\\n\",\n    \"            print((\\\"{:\\\"+str(col_maxes[i])+fmt+\\\"}\\\").format(y), end=\\\"  \\\")\\n\",\n    \"        print(\\\"\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Observation: 0\\n\",\n      \"\\n\",\n      \"Prior:[0.5 0.5]\\n\",\n      \"\\n\",\n      \"Likelihood:\\n\",\n      \"0.8  0.2  \\n\",\n      \"0.2  0.8  \\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"num_obs = 2 # dimensionality of observations (2 possible observation levels)\\n\",\n    \"num_states = 2 # dimensionality of observations (2 possible hidden state levels)\\n\",\n    \"\\n\",\n    \"observation = 0 # index representation\\n\",\n    \"# observation = np.array([1, 0]) # one hot representation\\n\",\n    \"# observation = utils.onehot(0, num_obs) # one hot representation, but use one of pymdp's utility functions to create a one-hot\\n\",\n    \"\\n\",\n    \"prior = np.array([0.5, 0.5]) # simply set it by hand\\n\",\n    \"# prior = np.ones(num_states) / num_states # create a uniform prior distribution by creating a vector of ones and dividing each by the number of states\\n\",\n    \"# prior = utils.norm_dist(np.ones(num_states)) # use one of pymdp's utility functions to normalize any vector into a probability distribution\\n\",\n    \"\\n\",\n    \"likelihood_dist = np.array([ [0.8, 0.2],\\n\",\n    \"                        [0.2, 0.8] ])\\n\",\n    \"\\n\",\n    \"if isinstance(observation, np.ndarray):\\n\",\n    \"    print(f'Observation:{observation}\\\\n')\\n\",\n    \"else:\\n\",\n    \"    print(f'Observation: {observation}\\\\n')\\n\",\n    \"print(f'Prior:{prior}\\\\n')\\n\",\n    \"print('Likelihood:')\\n\",\n    \"matprint(likelihood_dist)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Bayesian inference\\n\",\n    \"\\n\",\n    \"Before we define variational free energy for this generative model, let's step through the computations involved in inverting this model using Bayes' rule, i.e. computing the optimal Bayesian posterior over hidden states, given our sensory observation (which we will formally refer to as $o_t$). By performing exact Bayesian inference first, we can directly compares its results to that of variational free energy minimization. This will help us better understand the meaning of the free energy calculations that come later.\\n\",\n    \"\\n\",\n    \"#### 1. Compute the likelihood over hidden states, given the observation \\n\",\n    \"\\n\",\n    \"Now that we have a generative model and have fixed a particular observatio $o_t$ (`observation`), we have to perform Bayes' rule to compute the posterior. Mathematically, this can be expressed as follows:\\n\",\n    \"\\n\",\n    \"### $ \\\\hspace{60mm} P(s | o _t) = \\\\frac{P(o = o_t | s)P(s)}{P(o = o_t)} $\\n\",\n    \"\\n\",\n    \"Computing the posterior via Bayes' rule (also known as \\\"model inversion\\\") is the essence of optimal statistical inference, when one has a generative model of how one's data is caused, and some data. \\n\",\n    \"\\n\",\n    \"To start with, let's computing the likelihood term $P(o = o_t | s)$. We can represent the computation of the likelihood with this line of `NumPy`: ``likelihood_dist[observation,:]``. By doing so, we are providing a numerical answer to the question: \\\"What is the likelihood that State 1 vs State 2 caused the actual sensory data $o_t$ that I've observed?\\\".\\n\",\n    \"\\n\",\n    \" Mathematically, our likelihood function $P(o = o_t | s)$ (in the statistics literature also referred to as $L(\\\\theta)$) is a *function of the hidden states*. The particular function over hidden states we use is *defined* by the observation $o_t$. So you can think of the likelihood as a multi-dimensional function or simply a space of functions, where the particular function you use for inference is determined by your data.\\n\",\n    \"\\n\",\n    \"This act of computing the likelihood via an indexing  operation ``likelihood_dist[observation,:]``, is similar in spirit to the operation of *conditioning*. We are, in some sense, \\\"conditioning\\\" on a particular observation (slicing out a \\\"row\\\" of our ``likelihood_dist`` matrix), and then looking at the *induced* likelihood over possible causes (hidden states) that could've have been the latent source of that observation. This operation captures the essence of what we mean when we speak of \\\"inverting\\\" generative models. Generative models are referred to as *generative* because they can be used to generate fictive observations, given some fixed setting of latent parameters. *Inversion* is thus moving in the opposite direction -- given some sensory data, what is the consequent likelihood over the *causes* or hidden states that might have generated that data?\\n\",\n    \"\\n\",\n    \"**Note**: We can also compute the likelihood using a matrix-vector product, if the observation is represented as a one-hot vector.\\n\",\n    \"\\n\",\n    \"```\\n\",\n    \"likelihood_s = likelihood_dist.T @ observation\\n\",\n    \"```\\n\",\n    \"\\n\",\n    \"You can see think of this as a weighted average of the rows of the likelihood matrix, where the weights are provided by the observations. Since we have insisted that the observations are a one-hot vector, this is equivalent to just selecting a single row of the likelihood matrix (the one indexed by the entry of the observation that is `1.0`).\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$P(o=o_t|s):$\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[0.8 0.2]\\n\",\n      \"==================\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"\\n\",\n    \"if isinstance(observation, np.ndarray): # use the matrix-vector version if your observation is a one-hot vector\\n\",\n    \"    likelihood_s = likelihood_dist.T @ observation\\n\",\n    \"elif isinstance(observation, int): # use the index version if your observation is an integer index\\n\",\n    \"    likelihood_s = likelihood_dist[observation,:] \\n\",\n    \"display(Latex('$P(o=o_t|s):$'))\\n\",\n    \"print(f'{likelihood_s}')\\n\",\n    \"print('==================\\\\n')\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 2. The joint distribution $P(o = o_t, s) = P(o = o_t|s)P(s)$ \\n\",\n    \"\\n\",\n    \"To compute the full numerator on the right-hand side of the Bayes' rule equation, we need to compute the joint distribution $P(o = o_t|s)P(s)$.\\n\",\n    \"\\n\",\n    \"The joint distribution, which also fully defines the generative model, is the product of the likelihood and prior distributions. The joint distribution expresses the joint probability of observations and hidden states, given the likelihood distribution and the prior over hidden states. If we condition on an actual observation $o_t$, as we have done here, then this joint distribution is, like the likelihood, a function of hidden states. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$P(o = o_t,s) = P(o = o_t|s)P(s):$\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"[0.4 0.1]\\n\",\n      \"==================\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"joint_prob = likelihood_s * prior # element-wise product of the likelihood of each hidden state, given the observation, with the prior probability assigned to each hidden state\\n\",\n    \"display(Latex('$P(o = o_t,s) = P(o = o_t|s)P(s):$'))\\n\",\n    \"print(f'{joint_prob}')\\n\",\n    \"print('==================\\\\n')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 3. Marginal probability or marginal likelihood: $\\\\sum_s P(o = o_t, s) = P(o = o_t)$\\n\",\n    \"\\n\",\n    \"Let's remind ourselves of Bayes' rule below:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} P(s | o _t) = \\\\frac{P(o = o_t | s)P(s)}{P(o = o_t)} $\\n\",\n    \"\\n\",\n    \"So far, using the likelihood, the observation, and the prior, we have computed the numerator of this term: the unnormalized joint distribution $P(o = o_t,s)$. All that's left is to do is then divide this term by the denominator $P(o=o_t)$. This term is also referred to as the model evidence or the marginal likelihood. \\n\",\n    \"\\n\",\n    \"This can be thought of as the probability of having seen the particular observation you saw, under all possible settings of the hidden states. This can be computed by marginalizing the joint distribution, using the prior probabilities of the hidden states:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm}P(o) = \\\\sum_s P(o|s)P(s)$\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"p_o = joint_prob.sum()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#### 4. Compute the posterior $P(s|o=o_t)$\\n\",\n    \"\\n\",\n    \"Now to compute the Bayes-optimal posterior, simply divide the numerator by the denominator!\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$P(s|o = o_t) = \\\\frac{P(o = o_t,s)}{P(o=o_t)}$:\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Posterior over hidden states: [0.8 0.2]\\n\",\n      \"==================\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"posterior = joint_prob / p_o # divide the joint by the marginal\\n\",\n    \"display(Latex('$P(s|o = o_t) = \\\\\\\\frac{P(o = o_t,s)}{P(o=o_t)}$:'))\\n\",\n    \"print(f'Posterior over hidden states: {posterior}')\\n\",\n    \"print('==================')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### The variational free energy\\n\",\n    \"\\n\",\n    \"The variational free energy is an upper bound on **surprise**: surprise is define as $ - \\\\ln p(o)$, and is also known as the negative (log) evidence. By minimizing free energy, we are **minimizing** surprise and thus **maximizing** log evidence.  This evidence is simply the (log of the) term we computed in the previous step, the normalizing denominator used in Bayes' rule. We can thus first compute the surprise associated with the observation we saw earlier:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$- \\\\ln P(o=o_t)$:\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Surprise: 0.693\\n\",\n      \"==================\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"surprise = - np.log(p_o)\\n\",\n    \"\\n\",\n    \"display(Latex('$- \\\\ln P(o=o_t)$:'))\\n\",\n    \"print(f'Surprise: {surprise.round(3)}')\\n\",\n    \"print('==================')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"By minimizing variational free energy with respect to the parameters of an arbitrary, parametrized distribution, also known as the approximate or variational posterior $Q(s)$, we are forcing the surprise to go down, and the model evidence to go up. In doing so, the approximate posterior distribution will get \\\"closer\\\" to the true posterior distribution (the $P(s|o)$ we computed above), $Q(s) \\\\approx P(s|o)$.\\n\",\n    \"\\n\",\n    \"This idea of minimizing a bound on surprise, is the core principle underlying the variational free energy principle, active inference, and the statistical methodology of variational principles more generally. This comes in handy because in many realistic scenarios where agents or systems need to make inferences about the hidden causes of sensory perturbations, performing Bayesian inference exactly becomes intractable (due mostly to the computation of the $P(o)$ denominator term, also known as the normalizing constant). Variational inference turns this intractable marginalization problem into a tractable optimization problem, where one only needs to change the approximate posterior $Q(s)$ in order to minimize a bound on surprise.\\n\",\n    \"\\n\",\n    \"But what is the variational free energy exactly, mathematically? It is commonly written as the expectation, under the approximate posterior, of the log ratio between the approximate posterior and the generative model:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} \\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln \\\\frac{Q(s)}{P(o, s)}] $\\n\",\n    \"\\n\",\n    \"Because of the rules of logarithms, we can also express this as an expected difference between the log posterior and the log generative model:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} \\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(o, s)] $\\n\",\n    \"\\n\",\n    \"By doing taking advantage of some more mathematical relationships (the factorization of the joint, rules for logarithms of products, and the definition of the conditional expectation), we can re-write this as an upper bound on surprise:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} \\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(s|o)] - \\\\ln P(o) $\\n\",\n    \"\\n\",\n    \"By re-arranging this equality and taking advantage of the fact that the quantity $\\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(s|o)]$ (also known as the Kullback-Leibler divergence) is greater than or equal to 0, we can easily show that the VFE is an upper bound on surprise:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} \\\\mathcal{F} \\\\geq - \\\\ln P(o) $\\n\",\n    \"\\n\",\n    \"Let's now compute the VFE numerically for our generative model and fixed observation. Given we already defined those two things ($o_t$ and $P(o,s)$), the last thing we need to do, is to define an initial setting of our approximate posterior $Q(s)$, and compute the variational free energy using one of the formulas above.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$\\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln \\\\frac{Q(s)}{P(o, s)}] = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(o, s)]:$\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Variational free energy (F) = 0.916\\n\",\n      \"==================\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# to begin with, set our initial Q(s) equal to our prior distribution -- i.e. a flat/uninformative belief about hidden states\\n\",\n    \"initial_qs = np.array([0.5, 0.5])\\n\",\n    \"\\n\",\n    \"# redefine generative model and observation, for ease\\n\",\n    \"observation = 0\\n\",\n    \"likelihood_dist = np.array([[0.8, 0.2], [0.2, 0.8]])\\n\",\n    \"prior = utils.norm_dist(np.ones(2))\\n\",\n    \"\\n\",\n    \"# compute the joint or generative model using the factorization: P(o=o|s)P(s)\\n\",\n    \"joint_prob = likelihood_dist[observation,:] * prior\\n\",\n    \"\\n\",\n    \"# compute the variational free energy using the expected log difference formulation\\n\",\n    \"initial_F = initial_qs.dot(np.log(initial_qs) - np.log(joint_prob))\\n\",\n    \"## @NOTE: because of log-rules, `initial_F` can also be computed using the division inside the logarithm:\\n\",\n    \"# initial_F = initial_qs.dot(np.log(initial_qs/joint_prob))\\n\",\n    \"\\n\",\n    \"display(Latex('$\\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln \\\\\\\\frac{Q(s)}{P(o, s)}] = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(o, s)]:$'))\\n\",\n    \"print(f'Variational free energy (F) = {initial_F.round(3)}')\\n\",\n    \"print('==================')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now let's then change the approximate posterior $Q(s)$ and see what happens to the variational free energy.\\n\",\n    \"\\n\",\n    \"By definition, optimal inference (and 'perfect' VFE minimization) obtains when we set the approximate posterior $Q(s)$ to be equal to the true posterior, $Q(s) = P(s|o)$. \\n\",\n    \"\\n\",\n    \"As an extreme case, let's do this and then measure the variational free energy. We can see that it has decreased, relative to it's initial setting when the approximate posterior was equal to the prior $P(s)$.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$\\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln \\\\frac{Q(s)}{P(o, s)}] = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(o, s)]:$\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"F = 0.693\\n\",\n      \"==================\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"final_qs = posterior.copy() # now we just assert that the approximate posterior is equal to the true posterior\\n\",\n    \"final_F = final_qs.dot(np.log(final_qs) - np.log(joint_prob))\\n\",\n    \"\\n\",\n    \"display(Latex('$\\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln \\\\\\\\frac{Q(s)}{P(o, s)}] = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(o, s)]:$'))\\n\",\n    \"print(f'F = {final_F.round(3)}')\\n\",\n    \"print('==================')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Notice that the free energy is 0.693 -- if you recall, this is exactly the **surprise** or negative log marginal likelihood $-\\\\ln P(o = o_t)$, related to the marginal likelihood quantity $P(o=o_t)$ that we had to compute when performing exact Bayesian inference earlier. \\n\",\n    \"\\n\",\n    \"It is easy to see why this equality should hold, when we consider the VFE in terms of the surprise bound:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} \\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(s|o)] - \\\\ln P(o) $\\n\",\n    \"\\n\",\n    \"When $Q(s) = P(s|o)$, as we have enforced with the line ``final_qs = posterior.copy()`` above, the first term $\\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(s|o)]$ will become 0. This is a property of the Kullback-Leibler divergence between two distributions $\\\\operatorname{D}_{KL}(Q \\\\parallel P) = \\\\mathbb{E}_{Q}[\\\\ln Q - \\\\ln P]$. \\n\",\n    \"\\n\",\n    \"So since that KL divergence is 0, this is a case when the bound on surprise is exact:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} \\\\mathcal{F} = 0 - \\\\ln P(o) = - \\\\ln P(o)$\\n\",\n    \"\\n\",\n    \"In other words, minimizing free energy \\\"as much as possible\\\" in the case of this generative model, means that the approximate posterior equals the true posterior, and the free energy bound becomes \\\"tight\\\", i.e. the free energy simply IS the negative log evidence!\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$-\\\\ln P(o):$\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"0.693\\n\",\n      \"==================\\n\",\n      \"\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# compute the surprise (which we can do analytically for this simple generative model)\\n\",\n    \"p_o = joint_prob.sum()\\n\",\n    \"surprise = - np.log(p_o)\\n\",\n    \"display(Latex('$-\\\\ln P(o):$'))\\n\",\n    \"print(f'{surprise.round(3)}')\\n\",\n    \"print('==================\\\\n')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Bonus material: auto-differentiation to perform gradient descent on the variational free energy\\n\",\n    \"\\n\",\n    \"In this section, we are going to numerically differentiate the variational free energy with respect to the parameters of the approximate posterior. We can take advantage of modern autodifferentiation software, that can calculate the derivatives of arbitrary computer programs, to compute these derivatives without doing any analytic differentiation.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import autograd.numpy as np_auto   # Thinly-wrapped version of Numpy that is auto-differentiable\\n\",\n    \"from autograd import grad          # this is the function that we use to evaluate derivatives\\n\",\n    \"from functools import partial\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"First, let's create a variational free energy function, that takes as input the variational posterior `qs`, an observation `obs`, the likelihood matrix `likelihood` and a prior distribution `prior`.\\n\",\n    \"\\n\",\n    \"By defining this computation as a function, we can calculate its derivatives automatically using the autodifferentiation package `autograd`, which allows users to pass gradients through arbitrary Python code. It includes a special version of `numpy` (`autograd.numpy`) that has a differentiable back-end. We will thus use this \\\"special\\\" verison of `numpy` when we instantiate our arrays and perform numerical operations on them.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# define the variational free energy as a function of the approximate posterior, an observation, and the generative model\\n\",\n    \"def vfe(qs, obs, likelihood, prior):\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"    Quick docstring below on inputs\\n\",\n    \"    Arguments:\\n\",\n    \"    =========\\n\",\n    \"    `qs` [1D np_auto.ndarray]: variational posterior over hidden states\\n\",\n    \"    `obs` [int]: index of the observation\\n\",\n    \"    `likelihood` [2D np_auto.ndarray]: likelihood distribution P(o|s), relating hidden states probabilistically to observations\\n\",\n    \"    `prior` [1D np_auto.ndarray]: prior over hidden states\\n\",\n    \"    \\\"\\\"\\\"\\n\",\n    \"\\n\",\n    \"    likelihood_s = likelihood[obs,:]\\n\",\n    \"\\n\",\n    \"    joint = likelihood_s * prior\\n\",\n    \"\\n\",\n    \"    vfe = qs @ (np_auto.log(qs) - np_auto.log(joint))\\n\",\n    \"\\n\",\n    \"    return vfe\\n\",\n    \"\\n\",\n    \"# initialize an observation, an initial variational posterior, a prior, and a likelihood matrix\\n\",\n    \"obs = 0\\n\",\n    \"init_qs = np_auto.array([0.5, 0.5])\\n\",\n    \"prior = np_auto.array([0.5, 0.5])\\n\",\n    \"likelihood_dist = np_auto.array([ [0.8, 0.2],\\n\",\n    \"                        [0.2, 0.8] ])\\n\",\n    \"\\n\",\n    \"# this use of `partial` creates a version of the vfe function that is a function of Qs only, \\n\",\n    \"# with the other parameters (the observation, the generative model) fixed as constant parameters\\n\",\n    \"vfe_qs = partial(vfe, obs = obs, likelihood = likelihood_dist, prior = prior)\\n\",\n    \"\\n\",\n    \"# By calling `grad` on a function, we get out a function that can be used to compute the gradients of the VFE with respect to its input (in our case, `qs`)\\n\",\n    \"grad_vfe_qs = grad(vfe_qs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have a variational free energy function, and a derivative function that will give us the gradients of the VFE, with respect $Q(s)$, we can use it to perform a gradient descent on VFE, with respect to the parameters of $Q(s)$. In other words, we will implement this discretized differential equation to update the approximate posterior:\\n\",\n    \"\\n\",\n    \"#### $ \\\\hspace{60mm} Q(s)_{t+1} =Q(s)_{t} - \\\\frac{\\\\partial \\\\mathcal{F}}{\\\\partial Q(s)_{t}} $\\n\",\n    \"\\n\",\n    \"Where the gradient term $\\\\frac{\\\\partial \\\\mathcal{F}}{\\\\partial Q(s)_{t}}$ will simply be the output of the gradient function `grad_vfe_qs` we've defined above.\\n\",\n    \"\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# number of iterations of gradient descent to perform\\n\",\n    \"n_iter = 40\\n\",\n    \"\\n\",\n    \"qs_hist = np_auto.zeros((n_iter, 2))\\n\",\n    \"qs_hist[0,:] = init_qs\\n\",\n    \"\\n\",\n    \"vfe_hist = np_auto.zeros(n_iter)\\n\",\n    \"vfe_hist[0] = vfe_qs(qs = init_qs)\\n\",\n    \"\\n\",\n    \"learning_rate = 0.1 # learning rate to prevent gradient steps that are too big (overshooting)\\n\",\n    \"for i in range(n_iter-1):   \\n\",\n    \"\\n\",\n    \"    dFdqs = grad_vfe_qs(qs_hist[i,:])\\n\",\n    \"\\n\",\n    \"    ln_qs = np_auto.log(qs_hist[i,:]) - learning_rate * dFdqs # transform qs to log-space to perform gradient descent\\n\",\n    \"    qs_hist[i+1,:] = maths.softmax(ln_qs) # re-normalize to make it a proper, categorical Q(s) again\\n\",\n    \"\\n\",\n    \"    vfe_hist[i+1] = vfe_qs(qs = qs_hist[i+1,:]) # measure final variational free energy\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Since we were storing the history of the variational free energy over the course of the gradient descent, we can plot its trajectory below.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Text(0.5, 1.0, 'Gradient descent on VFE')\"\n      ]\n     },\n     \"execution_count\": 16,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 576x432 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"fig = plt.figure(figsize=(8,6))\\n\",\n    \"plt.plot(vfe_hist)\\n\",\n    \"plt.ylabel('$\\\\\\\\mathcal{F}$', fontsize = 22)\\n\",\n    \"plt.xlabel(\\\"Iteration\\\", fontsize = 22)\\n\",\n    \"plt.xlim(0, n_iter)\\n\",\n    \"plt.ylim(vfe_hist[-1], vfe_hist[0])\\n\",\n    \"plt.title('Gradient descent on VFE', fontsize = 24)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/latex\": [\n       \"$\\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln \\\\frac{Q(s)}{P(o, s)}] = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(o, s)]:$\"\n      ],\n      \"text/plain\": [\n       \"<IPython.core.display.Latex object>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Initial F = 0.916\\n\",\n      \"==================\\n\",\n      \"Final posterior:\\n\",\n      \"[0.8 0.2]\\n\",\n      \"==================\\n\",\n      \"Final F = 0.693\\n\",\n      \"==================\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"final_qs, initial_F, final_F = qs_hist[-1,:], vfe_hist[0], vfe_hist[-1]\\n\",\n    \"\\n\",\n    \"display(Latex('$\\\\mathcal{F} = \\\\mathbb{E}_{Q(s)}[\\\\ln \\\\\\\\frac{Q(s)}{P(o, s)}] = \\\\mathbb{E}_{Q(s)}[\\\\ln Q(s) - \\\\ln P(o, s)]:$'))\\n\",\n    \"print(f'Initial F = {initial_F.round(3)}')\\n\",\n    \"print('==================')\\n\",\n    \"\\n\",\n    \"print('Final posterior:')\\n\",\n    \"print(f'{final_qs.round(1)}') # note that because of numerical imprecision in the gradient descent (constant learning rate, etc.), the approximate posterior will not exactly be the optimal posterior\\n\",\n    \"print('==================')\\n\",\n    \"print(f'Final F = {vfe_qs(final_qs).round(3)}')\\n\",\n    \"print('==================')\\n\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"interpreter\": {\n   \"hash\": \"24ee14d9f6452059a99d44b6cbd71d1bb479b0539b0360a6a17428ecea9f0810\"\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3.8.10 64-bit ('pymdp_env2': conda)\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.7.10\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/legacy/gridworld_tutorial_1.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Tutorial on Active Inference with `pymdp`\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"This set of 3 tutorial notebooks aims to be an accessible introduction to discrete-state-space active inference modelling with the `pymdp` package. We assume no prerequisites other than a good grasp of Python and some basic mathematical knowledge (specifically some familiarity with probability and linear algebra). We assume no prior knowledge of active inference. Hopefully, by the end of this series of notebooks, you will understand active inference well enough to understand the recent literature, as well as implement your own agents!\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"These tutorials will walk you through the specification, and construction of an active inference agent which can solve a simple navigation task in a 2-dimensional grid-world environment. The goal here is to implement the agent 'from scratch'. Specifically, instead of just using magical library functions, we will show you an example of how these functions could be implemented from pure Python and numpy code. The goal at the end of these tutorials is that you understand at a fairly detailed level how active inference works in discrete state spaces and how to apply it, as well as how you could implement a simple agent without using the `pymdp` package. Once you understand what the `pymdp` package aims to abstract, we will go through the structure and functionality offered by the package, and show how you can construct complex agents in a simple and straightforward way.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# What is Active Inference?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Fundamentally, the core contention of active inference is that the brain (and agents in general) can be thought of as fundamentally performing (Bayesian) inference about the world. Specifically, an agent performs two functions.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"1.) **Perception**. An agent does not necessarily know the true state of the world, but instead must infer it from a limited set of (potentially ambiguous) observations.\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"2.) **Action**. Typically, the agent can also perform the actions which change the state of the world. The agent can use these actions to drive the world towards a set of states that it desires. \\n\",\n    \"\\n\",\n    \"The theory of Active Inference argues that **both** perception and action can be represented and solved as Bayesian inference problems. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# What is Bayesian Inference?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Bayesian inference provides a recipe for performing *optimal* inference. That is, if you have some set of Hypotheses $H$ and some set of data $D$, then Bayesian inference allows you to compute the *best possible* update to your hypotheses given the data that you have. In other words, the best explanation $H$ that accounts for your actual data $D$.\\n\",\n    \"\\n\",\n    \"For instance, suppose you are a trader and you want to know whether some stock will go up tomorrow. And you have a set of information about that stock (for instance earnings reports, sales data, rumours a friend of a friend told you etc). Then Bayesian inference provides the *optimal way* to estimate the probability that the stock will go up. In this scenario, our \\\"hypotheses\\\" $H$ is that the stock will go up, or it will go down and our \\\"data\\\" $D$ is the various pieces of information we hold.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The fundamental equation in Bayesian inference is **Bayes Rule**. Which is \\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"p(H | D) = \\\\frac{p(D | H)p(H)}{p(D)}\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"Here $p(H)$ etc are *probability distributions*. All a probability distribution is is a function that assigns a probability value (between 0 and 1) to a specific outcome. A probability distribution then represents the probability of that outcome for every possible outcome. For instance, take p(H). This is the probability distribution over our *hypothesis space*, which you can think of as our baseline assumptions about whether the stock tends to go up or down i.e. $p(H) = [p(stock\\\\_goes\\\\_up), p(stock\\\\_goes\\\\_down)]$, before we've encountered any data that provides evidence for/against either hypothesis.\\n\",\n    \"\\n\",\n    \"If we assume we have no idea whether the stock will go up or down, we can say that the probability in each case is 0.5 so that $p(H) = [0.5, 0.5]$. When there is a discrete set of possible outcomes or states, probability distributions can be simply represented as vectors with one element for each outcome - where the element itself is simply the probability of seeing that outcome. The sum of all the elements of a probability distribution must equal 1. The vector's elements encode the probabilities of *all possible events*, so one of them *must* occur -- i.e. the probability of seeing *some* outcome is 100%.\\n\",\n    \"\\n\",\n    \"There are three fundamental quantities in Bayesian inference: the **posterior**, the **likelihood** and the **prior**. The posterior is ultimately the goal of inference, it is $p(H | D)$. What this represents is the probability of each hypothesis in the hypothesis space *given the data $D$*. You can think of as you best guesses at the truth of each hypothesis after optimally integrating the data. Next is the **prior** $p(H)$ which represents your assumptions about how likely each hypothesis is *prior to seeing the data*. Finally, there is the likelihood $p(D | H)$ which quantifies how likely each outcome you see is, given the different hypotheses. The likelihood distribution can also be thought of as a *model* for how the data relates to the hypotheses. \\n\",\n    \"\\n\",\n    \"The key insight of Bayes rule is simply that the posterior probability -- how likely the hypothesis is, given the data -- is simply the likelihood times the prior. This multiplication can be expressed as computing the following: how likely is the data you actually saw, given the different hypotheses ($P(D = d | H)$), multiplied by the prior probability you assign to each hypothesis ($P(H)$). So the full posterior is a distribution over the different hypotheses - in the case of discrete / Categorical distributions, your posterior $p(H |D)$ will also be a vector of probabilities, e.g. $p(H | D) = [0.75, 0.25]$.\\n\",\n    \"\\n\",\n    \"Effectively, hypotheses are more likely if they can predict the data well, but are also weighted by their a-priori probability. The marginal likelihood $p(D)$ is basically just there to normalize the posterior (i.e. make sure it equals 1).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Generative Models\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In Active Inference we typically talk about *generative models* as a core component. But what are generative models? Technically a generative model is simply the product of a likelihood and a prior, for all the possible data points $D$ and hypotheses $H$. This is also known as a *joint distribution* $p(H,D) = p(D | H)p(H)$. The generative model, then, is simply the numerator of Bayes rule, and if we normalize it we can compute posterior probabilities. It is called a generative model because it allows you to *generate* samples of the data. To do so, we follow the following steps:\\n\",\n    \"\\n\",\n    \"1.) Sample a hypothesis $h_i$ from the prior -- i.e. $p(H)$\\n\",\n    \"\\n\",\n    \"2.) Sample a datum $d_i$ from the likelihood distribution, given the particular hypothesis $h_i$ that you sampled i.e. sample $d_i$ from $p(D | H = h_i)$.\\n\",\n    \"\\n\",\n    \"Another way to think about a generative model is that it is simply a model, or set of beliefs/assumptions, of how observed data are generated. This is often a very helpful way to think about inference problems, since it aligns with our notion of causality -- i.e. there are unknown processes in the world which generate data. If we can imagine a process and then imagine the data generated by this process, then we are imagining a generative model. Inference of the posterior, on the other hand, is more difficult because it goes in the *reverse* direction -- i.e. you have some set of observations and want to reconstruct the process that gave rise to them. Fundamentally, all of Bayesian statistics can be broken down into two steps:\\n\",\n    \"\\n\",\n    \"1.) Make a mathematical model of the data-generating process - the sort of environmental / world structures you think could give rise to the sort of data you have (i.e. come up with a generative model). Generative models are classically written down using a set of unknown parameters (e.g. parameters that describe probability distributions, like sufficient statistics). You want to \\\"fit\\\" (read: infer the values of) these parameters, given some data.\\n\",\n    \"\\n\",\n    \"2.) Given your generative model and some data, compute the posterior distribution over the unknown parameters using Bayes rule, or some approximation of Bayes rule.\\n\",\n    \"\\n\",\n    \"3.) Be happy!\\n\",\n    \"\\n\",\n    \"All the methods in Bayesian statistics essentially fall into two classes. Coming up with more expressive and powerful generative models and then figuring out algorithms to perform inference on them.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Why is Bayesian Inference hard?\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"At this point, you may be wondering: Bayesian inference seems pretty easy. We known Bayes rule. We can invent generative models easily enough. Computing the posterior is just taking the generative model and dividing it by $p(D)$. Why all this fuss? Why do we need to make a whole academic field out of this anyway? Luckily this has a straightforward answer. Bayesian inference is hard for essentially just one reason: that computing $p(D)$, the normalizing constant, is hard.\\n\",\n    \"\\n\",\n    \"Let's think about why. $p(D)$, which is known as the **marginal likelihood**, is fundamentally just the probability of the data. What does that mean? How is there just some free-floating probability of the data? Fundamentally there isn't. $p(D)$ is the probability of the data *averaged over all possible hypotheses*. We can write this as,\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"p(D) = \\\\sum_h p(D | H)p(H)\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"Effectively, $p(D)$ is the sum over all possible hypotheses of the probability of the data given that hypothesis, weighted by the prior probability of that hypothesis. This is challenging to compute in practice because you are often using really large (or indeed often infinite) hypothesis spaces. For instance, suppose your trader doesn't just want to know whether the stock will go up or down but *how much* it will go up or down. Now, with this simple change, you have an *infinite* amount of hypotheses: $p(H) = [p(stock\\\\_goes\\\\_up\\\\_0.00001), p(stock\\\\_goes\\\\_up\\\\_0.00002), p(stock\\\\_goes\\\\_up\\\\_0.00003) ...]$. Then, if we want to compute the posterior in this case, we need to sum over every one of this infinite amount of hypotheses. You can see why this ends up being quite challenging in practice.\\n\",\n    \"\\n\",\n    \"Because of this intrinsic difficulty, there are a large number of special case algorithms which can solve (or usually approximate) the Bayesian posterior in various cases, and a large amount of work in statistics goes into inventing new ones or improving existing methods. Active Inference agents use one special class of approximate Bayesian inference methods called *variational methods* or *variational inference*. This will be discussed in much more detail in notebook 2.\\n\",\n    \"\\n\",\n    \"Beyond merely the difficulty of performing inference, another reason why Bayesian statistics is hard is that you often *don't know* the generative model. Or at least you are uncertain about some aspects of it. There is also a wide class of methods which let you perform inference and *learning* simultaneously, including for active inference, although they won't be covered in this tutorial.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# A Generative Model for an Agent\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In Active Inference, we typically go a step beyond the simple cases of Bayesian inference described above, where we have a static set of hypotheses and some static data. We are instead interested in the case of an *agent* interacting with a *dynamic environment*. The key thing we need to add to the formalism to accomodate this is a notion of *time*. We consider an environment consisting of a set of *states* $[x_1, x_2, \\\\dots x_t]$ evolving over time. Moreover, there is an agent which is in the environment over time. This agent receives a set of *observations* $[o_1, o_2 \\\\dots o_t]$, which are a function of the state of the environment, and it can emit *actions* $[a_1, a_2 \\\\dots a_t]$ which can change the state of the environment. The key step to get a handle on this situation mathematically is to define a *generative model* of it. \\n\",\n    \"\\n\",\n    \"To start, we must make some assumptions to simplify the problem. Specifically, we assume that the *state* of the environment $x_t$ only depends on the state at the previous timestep $x_{t-1}$ and the action emitted by the agent at the previous timestep $a_{t-1}$. Then, we assume that the observation $o_t$ at a given time-step is only a function of the environmental state at the current timestep $x_t$. Together, these assumptions are often called the **Markov Assumptions** and if the environment adheres to them it is often called a **Markov Decision Process**. \\n\",\n    \"\\n\",\n    \"The general computational \\\"flow\\\" of a Markov decision process can be thought of as following a sequence of steps.\\n\",\n    \"\\n\",\n    \"1.) The state of the environment is $x_t$. \\n\",\n    \"\\n\",\n    \"2.) The environment state $x_t$ generates an observation $o_t$.\\n\",\n    \"\\n\",\n    \"3.) The agent receives an observation $o_t$, and based on it (or inferences derived thereof) decides to take some action $a_t$, which it executes in the environment.\\n\",\n    \"\\n\",\n    \"4.) Given the current state $x_t$ and the agent's action $a_t$, the environment updates its own state to produce $x_{t+1}$\\n\",\n    \"\\n\",\n    \"5.) Go back to step 1.\\n\",\n    \"\\n\",\n    \"Now that we have this series of steps, we can try to define what it means mathematically. Specifically, we need to define two quantities. \\n\",\n    \"\\n\",\n    \"a.) We need to know how the state of the environment $x_t$ is reflected in the observation sent to the agent $o_t$. In Bayesian terms from the agent's perspective, the true state of the environment is unknown, and its various possible states can be thought of as \\\"hypotheses\\\", while the observations it receives are \\\"data\\\". The agent's generative model encodes some prior assumptions about each possible state $x_t$ (i.e. each hypothesis) relates to the probability of seeing each possible outcome $o_t$. This relationship (from the agent's perspective) is a function known as the **likelihood distribution** $p(D | H)$ or, in our new notation $p(o_t | x_t)$. \\n\",\n    \"\\n\",\n    \"b.) We need to know how the environment updates itself to form its new state $x_{t+1}$, given the old one $x_t$ and the action $a_t$. This can be thought of (from the perspective of the agent who does not observe it) as the **prior** since it can be thought of as the default expectation the agent can have about the state of the environment prior to receiving any observations. It can be written as $p(x_t | x_{t-1}, a_{t-1})$. This distribution is also known as the **transition distribution** since it specifies (the agent's assumptions about) how the environment transitions from one state to another.\\n\",\n    \"\\n\",\n    \"These two distributions $p(o_t | x_t)$ and $p(x_t | x_{t-1}, a_{t-1})$ are all that is needed to specify the evolution of the environment. At this point, it is necessary to make a distinction between the *actual* evolution of the environment -- known as the **generative process** -- and the *agent's model* of the evolution of the environment, which is known as the **generative model**. These are not necessarily the same, although in some sense the goal of the agent is to figure out a generative model that is as close to the true generative process as possible. In this example, we will consider a scenario in which the agent knows the true model, so the generative model and the generative process are the same, although this is not always the case.\\n\",\n    \"\\n\",\n    \"To make this concrete, all that is necessary to do is to specify precisely what the **likelihood** and **transition** distributions actually are.\\n\",\n    \"\\n\",\n    \"In the case of discrete state spaces, where it is possible to explicitly enumerate all states, a very generic way of representing these distributions is as *matrices*. Specifically, we can represent the likelihood distribution as a matrix denoted $\\\\textbf{A}$, which is of shape $dimension\\\\_of\\\\_observation \\\\times dimension\\\\_of\\\\_state$. The element $A_{i,j}$ of $\\\\textbf{A}$ represents the probability that observation $i$ is generated by state $j$.\\n\",\n    \"\\n\",\n    \"Secondly, we can represent the transition distribution by a matrix $\\\\textbf{B}$ of shape $state\\\\_dim \\\\times state\\\\_dim \\\\times action\\\\_dim$ where element $\\\\textbf{B}_{i,j,k}$ represents the probability of the environment moving to state $i$ given that it was previously in state $j$ and that action $k$ was taken.\\n\",\n    \"\\n\",\n    \"In the rest of this notebook, we will explicitly write down the generative process / generative model for a simple grid-world environment in code, to get a better handle on how the environment and the agent's model is specified. In the next notebook, we will turn to inference and action selection and discuss how active inference solves these two tricky problems.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import seaborn as sns\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Constructing a Generative Model \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For the rest of this notebook, we will construct a simple generative model for an active inference agent navigating a 3x3 grid world environment. The agent can perform one of 5 movement actions at each time step: `LEFT, RIGHT, UP, DOWN, STAY`. The goal of the agent is to navigate to its preferred position. \\n\",\n    \"\\n\",\n    \"We will create matrices for both the environment as well as the agent itself. As we go up levels of abstraction, these environment and generative model matrices will be imported from classes - but this notebook is the lowest level representation of construction, to show how everything is built from the ground up.  \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Understanding the state space\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The first thing to note is that we are in a 3x3 grid world which means we have 9 states in total. We can define the following mapping to better understand the space.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"state_mapping = {0: (0,0), 1: (1,0), 2: (2,0), 3: (0,1), 4: (1,1), 5:(2,1), 6: (0,2), 7:(1,2), 8:(2,2)}\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"All we're doing with this mapping dictionary is assigning a particular index (`0`, `1`, `2`, ..., `8`) to each grid position, which is defined as a pair of `(x, y)` coordinates ( `(0, 0), (1, 0)`, ..., `(2, 2)`). We will use the linear indices to refer to the grid positions in our probability distributions (e.g. `P(o_t | x_t = 5)`), so this `state_mapping` will allow us to easily move between these linear indices and the grid world indices. These kinds of mappings are very handy for intuition and visualization.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And the following heatmap just represents how the coordinates map to the real grid space\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"grid = np.zeros((3,3))\\n\",\n    \"for linear_index, xy_coordinates in state_mapping.items():\\n\",\n    \"    x, y = xy_coordinates\\n\",\n    \"    grid[y,x] = linear_index # rows are the y-coordinate, columns are the x-coordinate -- so we index into the grid we'll be visualizing using '[y, x]'\\n\",\n    \"fig = plt.figure(figsize = (3,3))\\n\",\n    \"sns.set(font_scale=1.5)\\n\",\n    \"sns.heatmap(grid, annot=True,  cbar = False, fmt='.0f', cmap='crest')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Likelihood Matrix: A\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The likelihood matrix represents $P(o_t | x_t)$ , the probability of an observation given a state. In a grid world environment, the likelihood matrix of the agent is identical to that of the environment. It is simply the identity matrix over all states (in this case 9 states, for a 3x3 grid world) which represents the fact that the agent has probability 1 of observing that it is occupying any state x, given that it is in state x. This just means that the agent has full transparency over its own location in the grid. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"A = np.eye(9)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"A\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can also plot the likelihood matrix as follows:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"labels = [state_mapping[i] for i in range(A.shape[1])]\\n\",\n    \"def plot_likelihood(A):\\n\",\n    \"    plt.figure(figsize = (6,6))\\n\",\n    \"    sns.heatmap(A, xticklabels = labels, yticklabels = labels, cbar = False)\\n\",\n    \"    plt.title(\\\"Likelihood distribution (A)\\\")\\n\",\n    \"    plt.show()\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"plot_likelihood(A)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Transition matrix: B\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The transition matrix determines how the agent can move around the gridworld given each of the 5 available actions (UP, DOWN, LEFT, RIGHT, STAY). \\n\",\n    \"So the transition matrix will be a 9x9x5 matrix, where each entry corresponds to an end state, a starting state, and the action that defines that specific transition. \\n\",\n    \"\\n\",\n    \"To construct this matrix, we have to understand that when the agent is at the edges of the grid, it cannot move outward, so trying to move right at the right wall will cause the agent to stay still. \\n\",\n    \"\\n\",\n    \"We will start by constructing a dictionary which we call P, which maps each state to its next state given an action\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"state_mapping\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"P = {}\\n\",\n    \"dim = 3\\n\",\n    \"actions = {'UP':0, 'RIGHT':1, 'DOWN':2, 'LEFT':3, 'STAY':4}\\n\",\n    \"\\n\",\n    \"for state_index, xy_coordinates in state_mapping.items():\\n\",\n    \"    P[state_index] = {a : [] for a in range(len(actions))}\\n\",\n    \"    x, y = xy_coordinates\\n\",\n    \"\\n\",\n    \"    '''if your y-coordinate is all the way at the top (i.e. y == 0), you stay in the same place -- otherwise you move one upwards (achieved by subtracting 3 from your linear state index'''\\n\",\n    \"    P[state_index][actions['UP']] = state_index if y == 0 else state_index - dim \\n\",\n    \"\\n\",\n    \"    '''f your x-coordinate is all the way to the right (i.e. x == 2), you stay in the same place -- otherwise you move one to the right (achieved by adding 1 to your linear state index)'''\\n\",\n    \"    P[state_index][actions[\\\"RIGHT\\\"]] = state_index if x == (dim -1) else state_index+1 \\n\",\n    \"\\n\",\n    \"    '''if your y-coordinate is all the way at the bottom (i.e. y == 2), you stay in the same place -- otherwise you move one down (achieved by adding 3 to your linear state index)'''\\n\",\n    \"    P[state_index][actions['DOWN']] = state_index if y == (dim -1) else state_index + dim \\n\",\n    \"\\n\",\n    \"    ''' if your x-coordinate is all the way at the left (i.e. x == 0), you stay at the same place -- otherwise, you move one to the left (achieved by subtracting 1 from your linear state index)'''\\n\",\n    \"    P[state_index][actions['LEFT']] = state_index if x == 0 else state_index -1 \\n\",\n    \"\\n\",\n    \"    ''' Stay in the same place (self explanatory) '''\\n\",\n    \"    P[state_index][actions['STAY']] = state_index\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"P\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"From here, we can easily construct the transition matrix\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"num_states = 9\\n\",\n    \"B = np.zeros([num_states, num_states, len(actions)])\\n\",\n    \"for s in range(num_states):\\n\",\n    \"    for a in range(len(actions)):\\n\",\n    \"        ns = int(P[s][a])\\n\",\n    \"        B[ns, s, a] = 1\\n\",\n    \"        \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"B is a very large matrix, we can see its shape below, which is as expected:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"B.shape\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"We can also visualize B on the plots below. The x axis is the starting state, and the y axis is the ending state, and each plot corresponds to an action given by the title.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"fig, axes = plt.subplots(2,3, figsize = (15,8))\\n\",\n    \"a = list(actions.keys())\\n\",\n    \"count = 0\\n\",\n    \"for i in range(dim-1):\\n\",\n    \"    for j in range(dim):\\n\",\n    \"        if count >= 5:\\n\",\n    \"            break \\n\",\n    \"        g = sns.heatmap(B[:,:,count], cmap = \\\"OrRd\\\", linewidth = 2.5, cbar = False, ax = axes[i,j], xticklabels=labels, yticklabels=labels)\\n\",\n    \"        g.set_title(a[count])\\n\",\n    \"        count +=1 \\n\",\n    \"fig.delaxes(axes.flatten()[5])\\n\",\n    \"plt.tight_layout()\\n\",\n    \"plt.show()\\n\",\n    \"    \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now our generative model and environment are set up, and we can move on to Notebook 2, where we go through the core mechanics of how to perform inference and planning on this environment with this generative model.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"interpreter\": {\n   \"hash\": \"24ee14d9f6452059a99d44b6cbd71d1bb479b0539b0360a6a17428ecea9f0810\"\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3.8.10 64-bit ('pymdp_env2': conda)\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.8.10\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/legacy/gridworld_tutorial_2.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Tutorial Notebook 2. Inference and Planning\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"In this notebook, we will continue on from the last notebook to build a fully fledged active inference agent capable of performing inference and planning using Active Inference in the simple grid-world environment. We will also begin to use some aspects of `pymdp`, although this will mostly be helpful functions for building and sampling from discrete distributions while we will implement the core functionality of the agent ourselves.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"First, we simply start out by defining our generative model as we did last time.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Add `pymdp` module\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# This is needed (on my machine at least) due to weird python import issues\\n\",\n    \"import os\\n\",\n    \"import sys\\n\",\n    \"from pathlib import Path\\n\",\n    \"\\n\",\n    \"path = Path(os.getcwd())\\n\",\n    \"print(path)\\n\",\n    \"module_path = str(path.parent) + '/'\\n\",\n    \"sys.path.append(module_path)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Imports\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import numpy as np\\n\",\n    \"import seaborn as sns\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"from copy import deepcopy\\n\",\n    \"\\n\",\n    \"from pymdp import maths, utils\\n\",\n    \"from pymdp.maths import spm_log_single as log_stable # @NOTE: we use the `spm_log_single` helper function from the `maths` sub-library of pymdp. This is a numerically stable version of np.log()\\n\",\n    \"from pymdp import control\\n\",\n    \"print(\\\"imports loaded\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Plotting\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"state_mapping = {0: (0,0), 1: (1,0), 2: (2,0), 3: (0,1), 4: (1,1), 5:(2,1), 6: (0,2), 7:(1,2), 8:(2,2)}\\n\",\n    \"\\n\",\n    \"A = np.eye(9)\\n\",\n    \"def plot_beliefs(Qs, title=\\\"\\\"):\\n\",\n    \"    #values = Qs.values[:, 0]\\n\",\n    \"    plt.grid(zorder=0)\\n\",\n    \"    plt.bar(range(Qs.shape[0]), Qs, color='r', zorder=3)\\n\",\n    \"    plt.xticks(range(Qs.shape[0]))\\n\",\n    \"    plt.title(title)\\n\",\n    \"    plt.show()\\n\",\n    \"    \\n\",\n    \"labels = [state_mapping[i] for i in range(A.shape[1])]\\n\",\n    \"def plot_likelihood(A):\\n\",\n    \"    plt.figure(figsize = (6,6))\\n\",\n    \"    sns.heatmap(A, xticklabels = labels, yticklabels = labels, cbar = False)\\n\",\n    \"    plt.title(\\\"Likelihood distribution (A)\\\")\\n\",\n    \"    plt.show()\\n\",\n    \"    \\n\",\n    \"def plot_empirical_prior(B):\\n\",\n    \"    fig, axes = plt.subplots(3,2, figsize=(8, 10))\\n\",\n    \"    actions = ['UP', 'RIGHT', 'DOWN', 'LEFT', 'STAY']\\n\",\n    \"    count = 0\\n\",\n    \"    for i in range(3):\\n\",\n    \"        for j in range(2):\\n\",\n    \"            if count >= 5:\\n\",\n    \"                break\\n\",\n    \"                \\n\",\n    \"            g = sns.heatmap(B[:,:,count], cmap=\\\"OrRd\\\", linewidth=2.5, cbar=False, ax=axes[i,j])\\n\",\n    \"\\n\",\n    \"            g.set_title(actions[count])\\n\",\n    \"            count += 1\\n\",\n    \"    fig.delaxes(axes.flatten()[5])\\n\",\n    \"    plt.tight_layout()\\n\",\n    \"    plt.show()\\n\",\n    \"    \\n\",\n    \"def plot_transition(B):\\n\",\n    \"    fig, axes = plt.subplots(2,3, figsize = (15,8))\\n\",\n    \"    a = list(actions.keys())\\n\",\n    \"    count = 0\\n\",\n    \"    for i in range(dim-1):\\n\",\n    \"        for j in range(dim):\\n\",\n    \"            if count >= 5:\\n\",\n    \"                break \\n\",\n    \"            g = sns.heatmap(B[:,:,count], cmap = \\\"OrRd\\\", linewidth = 2.5, cbar = False, ax = axes[i,j], xticklabels=labels, yticklabels=labels)\\n\",\n    \"            g.set_title(a[count])\\n\",\n    \"            count +=1 \\n\",\n    \"    fig.delaxes(axes.flatten()[5])\\n\",\n    \"    plt.tight_layout()\\n\",\n    \"    plt.show()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Generative model\\n\",\n    \"\\n\",\n    \"Here, we setup our generative model which is the same as in the last notebook. This is formed of a likelihood distribution $P(o_t|s_t)$, denoted `A`, and a empirical prior (transition) distribution $P(s_t|s_{t-1},a_{t-1})$, denoted `B`.\\n\",\n    \"\\n\",\n    \"Since this was covered in more detail in the previous tutorial, we quickly skip over the details here\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# A matrix\\n\",\n    \"A = np.eye(9)\\n\",\n    \"plot_likelihood(A)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# construct B matrix\\n\",\n    \"\\n\",\n    \"P = {}\\n\",\n    \"dim = 3\\n\",\n    \"actions = {'UP':0, 'RIGHT':1, 'DOWN':2, 'LEFT':3, 'STAY':4}\\n\",\n    \"\\n\",\n    \"for state_index, xy_coordinates in state_mapping.items():\\n\",\n    \"    P[state_index] = {a : [] for a in range(len(actions))}\\n\",\n    \"    x, y = xy_coordinates\\n\",\n    \"\\n\",\n    \"    '''if your y-coordinate is all the way at the top (i.e. y == 0), you stay in the same place -- otherwise you move one upwards (achieved by subtracting 3 from your linear state index'''\\n\",\n    \"    P[state_index][actions['UP']] = state_index if y == 0 else state_index - dim \\n\",\n    \"\\n\",\n    \"    '''f your x-coordinate is all the way to the right (i.e. x == 2), you stay in the same place -- otherwise you move one to the right (achieved by adding 1 to your linear state index)'''\\n\",\n    \"    P[state_index][actions[\\\"RIGHT\\\"]] = state_index if x == (dim -1) else state_index+1 \\n\",\n    \"\\n\",\n    \"    '''if your y-coordinate is all the way at the bottom (i.e. y == 2), you stay in the same place -- otherwise you move one down (achieved by adding 3 to your linear state index)'''\\n\",\n    \"    P[state_index][actions['DOWN']] = state_index if y == (dim -1) else state_index + dim \\n\",\n    \"\\n\",\n    \"    ''' if your x-coordinate is all the way at the left (i.e. x == 0), you stay at the same place -- otherwise, you move one to the left (achieved by subtracting 1 from your linear state index)'''\\n\",\n    \"    P[state_index][actions['LEFT']] = state_index if x == 0 else state_index -1 \\n\",\n    \"\\n\",\n    \"    ''' Stay in the same place (self explanatory) '''\\n\",\n    \"    P[state_index][actions['STAY']] = state_index\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"num_states = 9\\n\",\n    \"B = np.zeros([num_states, num_states, len(actions)])\\n\",\n    \"for s in range(num_states):\\n\",\n    \"    for a in range(len(actions)):\\n\",\n    \"        ns = int(P[s][a])\\n\",\n    \"        B[ns, s, a] = 1\\n\",\n    \"\\n\",\n    \"plot_transition(B)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Create Environment Class\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To make things simple we will parcel up the $A$ and $B$ matrices into a class which represents the environment. The environment has two functions `step` which when given an action will update the environment a single step and `reset` which resets the environment back to its initial condition. The API of our simple environment class is similar to the `Env` base class used by `pymdp`, although the `pymdp` version has many more features than we use here.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"class GridWorldEnv():\\n\",\n    \"    \\n\",\n    \"    def __init__(self,A,B):\\n\",\n    \"        self.A = deepcopy(A)\\n\",\n    \"        self.B = deepcopy(B)\\n\",\n    \"        print(\\\"B:\\\", B.shape)\\n\",\n    \"        self.state = np.zeros(9)\\n\",\n    \"        # start at state 3\\n\",\n    \"        self.state[2] = 1\\n\",\n    \"    \\n\",\n    \"    def step(self,a):\\n\",\n    \"        self.state = np.dot(self.B[:,:,a], self.state)\\n\",\n    \"        obs = utils.sample(np.dot(self.A, self.state))\\n\",\n    \"        return obs\\n\",\n    \"\\n\",\n    \"    def reset(self):\\n\",\n    \"        self.state =np.zeros(9)\\n\",\n    \"        self.state[2] =1 \\n\",\n    \"        obs = utils.sample(np.dot(self.A, self.state))\\n\",\n    \"        return obs\\n\",\n    \"    \\n\",\n    \"env = GridWorldEnv(A,B)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Inference\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we have the generative model setup, we turn to the behaviour of the active inference agent itself. To recap, we assume that this agent receives observations from the environment and can emit actions. Moreover, we assume that this agent has some kind of goal or preferences over the state of the environment it wants to create, and will choose actions in order to increase the probability of observing itself in its preferred state. For the time being, we will not deal with the problem of action selection but only with inference.\\n\",\n    \"\\n\",\n    \"The agent receives observations $o_t$ from the environment but does not naturally know the environments true state $x_t$. Thus, the agent must *infer* this state by computing the posterior distribution $p(x_t | o_t)$. It can do this by Bayesian inference using Bayes rule but, as we discussed last time, explicitly computing Bayes rule is often intractable because the marginal likelihood requires the averaging over an infinite number of hypotheses. We therefore need some other way to compute or approximate this posterior. Active inference assumes that this posterior can be approximated through a family of methods called *variational inference* which only approximate the posterior, but are fast and computationally efficient.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Variational Inference\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Variational inference is a set of inference methods which can rapidly and efficiently compute *approximate* posteriors for Bayesian inference problems. The key idea behind variational inference is that instead of trying to compute the true posterior $p(x_t | o_t)$ which may be extremely complex, is that we instead optimize an *approximate posterior*. Specifically, we will define another distribution $q(x_t ; \\\\phi)$ which has some parameters $\\\\phi$ which we then optimize so as to make $q(x_t ; \\\\phi)$ as close as possible to the true distribution. Typically, we choose this $q$ distribution to be some simple distribution which is easy to work with mathematically. If the process works, then we can get the $q$ distribution very close to the true posterior, and as such get a good estimate of the posterior without ever explicitly computing it using Bayes rule. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Mathematically, we can do this by setting up an optimization problem. We have the true posterior $p(x_t | o_t)$, which is unknown, and we have our $q$ distribution which we do know. We then want to optimize the $q$ distribution to make it as *close as possible* to the true posterior $p(x_t | o_t)$. To do this, we first need a way to quantify *how close* two probability distributions are. The way we do this is by using a quantity known as the *Kullback-Leibler (KL) divergence*. This is a metric derived from information theory which lets us quantify the distance (in bits) of two distributions. The KL divergence between two distributions $q(x)$ and $p(x)$ is defined as,\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"KL[q(x) || p(x)] = \\\\sum_x q(x) (\\\\ln q(x) - \\\\ln p(x))\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"Mathematically it can be thought of as the average of the difference of the logarithms of the probabilities assigned by $q$ and $p$ to the states $x$. The KL divergence is smallest when $q(x) = p(x)$ when it is equal to 0, and can grow to be infinitely large which happens wherever $q(x)$ assigns a nonzero probability but $p(x)$ doesn't. In code, we can compute the KL divergence as:\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def KL_divergence(q,p):\\n\",\n    \"    return np.sum(q * (log_stable(q) - log_stable(p)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now that we know about the KL divergence, we can express our variational problem of making our approximate posterior $q(x_t ; \\\\varphi)$ as close as possible to the true posterior as simply minimizing the KL divergence between the two distributions. That is, we can define the optimal approximate distribution as,\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"q^*(x_t ; \\\\varphi) = \\\\operatorname{argmin}_{\\\\varphi} \\\\, KL[q(x_t ; \\\\varphi) || p(x_t | o_t)]\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"And then simply try to optimize this objective so as to find the setting of the variational parameters $\\\\varphi$ that make $q(x_t ; \\\\varphi)$ as close to $p(x_t |o_t)$ as possible. The trouble with this is that our objective actually explicitly contains the true posterior in it and so, since we can't conpute the true posterior, we can't compute this objective either -- so we are stuck!\\n\",\n    \"\\n\",\n    \"Variational inference provides a clever way to get around this problem by instead minimizing an *upper bound* on this divergence called the *variational free energy*. Importantly this bound is computable so we can actually optimize it and moreover since it is an upper bound, if we minimize it, we can make $q$ as close as possible to the real bound, thus still managing to obtain a good approximate posterior distribution. Deriving the variational free energy is very simple, we first take our initial objective and apply Bayes rule to the true posterior, and then take out the marginal likelihood term separately\\n\",\n    \"<!-- $$\\n\",\n    \"\\\\begin{align}\\n\",\n    \" KL[q(x_t | o_t) || p(x_t |  o_t)] &= KL[q(x_t | o_t) || \\\\frac{p(o_t,x_t)}{p(o_t)}] \\\\\\\\\\n\",\n    \" &= KL[q(x_t | o_t) || p(o_t, x_t)] + \\\\sum_x q(x_t | o_t) \\\\ln p(o_t) \\\\\\\\\\n\",\n    \" &= KL[q(x_t | o_t) || p(o_t, x_t)] +  \\\\ln p(o_t) \\n\",\n    \"\\\\end{align}\\n\",\n    \"$$ -->\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \" KL[q(x_t ; \\\\varphi) || p(x_t |  o_t)] &= KL[q(x_t ; \\\\varphi) || \\\\frac{p(o_t,x_t)}{p(o_t)}] \\\\\\\\\\n\",\n    \" &= KL[q(x_t ; \\\\varphi) || p(o_t, x_t)] + \\\\sum_x q(x_t ; \\\\varphi) \\\\ln p(o_t) \\\\\\\\\\n\",\n    \" &= KL[q(x_t ; \\\\varphi) || p(o_t, x_t)] +  \\\\ln p(o_t) \\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"Where in the final line we have used the fact that the sum is over a different variable than the distribution, and the sum of a probability distribution is $1$ -- i.e $\\\\sum_x q(x_t ; \\\\varphi) \\\\ln p(o_t) = \\\\ln p(o_t) * \\\\sum_x q(x_t ; \\\\varphi)$ and $\\\\sum_x q(x_t ; \\\\varphi) = 1$. Specifically, since $ \\\\ln p(o_t)$ is the log of a probability distribution it is always negative, since the probability of a state is always between 0 and 1. This means that we know that this term we have devised $KL[q(x_t ; \\\\varphi) || p(o_t, x_t)]$ is always necessarily greater than our original divergence between the approximate posterior and the true posterior, so it is an *upper bound*. We call this term the *variational free energy* and denote it by $\\\\mathcal{F}$.\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"\\\\mathcal{F} = KL[q(x_t ; \\\\varphi) || p(o_t, x_t)]\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"The free energy here is simply the divergence between the approximate posterior and the *generative model* of the agent. Since we know both the approximate posterior (as we defined it in the first place!) and the generative model, then both terms of this divergence are computable. We thus have our algorithm to approximate the posterior! Since the free energy is an upper bound, if we minimize the free energy, we also implicitly minimize the true divergence between the true and approximate posteriors, which will force the approximate posterior to be close to the true posterior and thus a good approximation! Moreover, since we can compute the free energy, we can actually perform this optimization! \\n\",\n    \"\\n\",\n    \"In many cases, we typically perform variational inference by taking the gradients of the free energy with respect to the variational parameteres $\\\\varphi$ and then doing gradient descent on the parameters $\\\\varphi$ that define $q(x_t ; \\\\varphi)$. However, when the distributions are discrete (i.e. Categorical distributions), the parameters of the approximate distribution are simply the probability values for each state (the elements of the vector $q(x)$. For some simple generative models (e.g. the grid-world described here), we can actually solve this optimization problem directly to obtain $q(x)$ in a single step, instead of as a gradient descent.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Directly solving variational inference in the case of a simple discrete model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"To recap, remember that we have turned the problem of computing the posterior distribution $p(x_t | o_t)$ into that of minimizing the variational free energy: $\\\\mathcal{F} = KL[q(x_t) || p(o_t, x_t)]$ with respect to an approximate posterior distribution $q(x_t)$. From now on, we will leave out the variational parameters $\\\\varphi$ when referring to $q(x_t)$, since we are dealing with a single Categorical distribution $q(x_t)$ whose vector elements are identical to the variational parameters, i.e. $\\\\forall_{i} \\\\varphi_i = q(x_t = i)$.\\n\",\n    \"\\n\",\n    \"The optimal distribution is simply that particular $q^*(x_t)$ that minimizes the KL divergence. Now, remember from high-school calculus that we can explicitly compute the minimum of a function by taking its derivative and setting it to 0 (i.e. at the minimum the first derivative of the function is 0) (if you don't remember this from calculus, trust me on this). This means that to solve this problem all we need to do is take the derivative of the free energy and set it to 0 and rearrange. First, let's write out the free energy explicitly.\\n\",\n    \"\\n\",\n    \"<!-- $$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"\\\\mathcal{F} &= KL[q(x_t | o_t) || p(o_t, x_t)] \\\\\\\\\\n\",\n    \"&= \\\\sum_x q(x_t | o_t) (\\\\ln q(x_t | o_t) - \\\\ln p(o_t,x_t))\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$ -->\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"\\\\mathcal{F} &= KL[q(x_t) || p(o_t, x_t)] \\\\\\\\\\n\",\n    \"&= \\\\sum_x q(x_t)(\\\\ln q(x_t) - \\\\ln p(o_t,x_t))\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"If we then split the generative model up into a likelihood and a prior, we can write it as,\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"\\\\mathcal{F} = \\\\sum_x q(x_t) \\\\big[ \\\\ln q(x_t) - \\\\ln p(o_t | x_t)  - \\\\ln p(x_t) \\\\big]\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"Recall that we have explicitly defined the observation and transition likelihood distributions as the $\\\\textbf{A}$ and $\\\\textbf{B}$ matrices, which play the role of the likelihood and prior distributions, respectively. In particular, we can define the prior over the current timestep $p(x_t)$ to be the \\\"expected prior\\\", given the beliefs about the state at the last timesep $q(x_{t-1})$ the beliefs about the transition dynamics and the past action, i.e.:\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"p(x_t) = \\\\mathcal{E}_{q(x_{t-1})}\\\\big[p(x_t | x_{t-1}, a_t) \\\\big]\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"which can be expressed as a simple matrix vector product\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"p(x_t) = \\\\textbf{B}_{a_t}q(x_{t-1})\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"where $\\\\textbf{B}_{a_t}$ is the component of the $\\\\textbf{B}$ matrix that is conditioned on action $a_t$. In other words, for this simple Markovian model, we assume that \\\"yesterday's posterior is today's prior.\\\" For simplicity, we refer to this entire prior term as $\\\\textbf{B}$ below, i.e. we temporarily define $\\\\textbf{B} \\\\equiv \\\\textbf{B}_{a_t}q(x_{t-1})$.\\n\",\n    \"\\n\",\n    \"As mentioned above, the posterior beliefs $q(x_t)$ are a vector of probabilities (the variational parameters) which we denote $\\\\textbf{q} = [q_1, q_2, q_3 \\\\dots]$. With this all defined, we can write out the free energy as,\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"\\\\mathcal{F} = \\\\sum_x \\\\textbf{q} * \\\\big[ \\\\ln \\\\textbf{q} - \\\\ln \\\\textbf{A}  - \\\\ln \\\\textbf{B} \\\\big]\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"And for fun, we can explicitly compute it in code:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def compute_free_energy(q,A, B):\\n\",\n    \"    return np.sum(q * (log_stable(q) - log_stable(A) - log_stable(B)))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Then, all we need to do is take the derivative of the free energy with respect to the approximate posterior distribution $\\\\textbf{q}$ as follows,\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"\\\\frac{\\\\partial \\\\mathcal{F}}{\\\\partial \\\\textbf{q}} = \\\\ln \\\\textbf{q} - \\\\ln \\\\textbf{A} - \\\\ln \\\\textbf{B} - \\\\textbf{1}\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"Where $\\\\textbf{1}$ is just a vector of ones of equal length to $\\\\textbf{q}$ and comes from the $q \\\\frac{\\\\partial \\\\ln q}{\\\\partial q} = q * \\\\frac{1}{q} = 1$. Thus, if we set this derivative to 0 and rearrange, we can get,\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"0 &= \\\\ln \\\\textbf{q} - \\\\ln \\\\textbf{A} - \\\\ln \\\\textbf{B} - \\\\textbf{1} \\\\\\\\\\n\",\n    \"&\\\\implies \\\\textbf{q}^* = \\\\sigma(\\\\ln \\\\textbf{A} + \\\\ln \\\\textbf{B})\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"Where $\\\\sigma$ is a softmax function $\\\\sigma(x) = \\\\frac{e^x}{\\\\sum_x e^x}$ which ensures that the resulting probability distribution is normalized. This expression lets us compute the optimal approximate posterior instantly as a straightforward function of the current observation $o_t$, $\\\\textbf{A}$, and $\\\\textbf{B}$. We can thus quickly right the code for inference:\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def softmax(x):\\n\",\n    \"    return np.exp(x) / np.sum(np.exp(x))\\n\",\n    \"\\n\",\n    \"def perform_inference(likelihood, prior):\\n\",\n    \"    return softmax(log_stable(likelihood) + log_stable(prior))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Note that the likelihood term is not the entire $\\\\textbf{A}$ matrix, but just the 'row' of the $\\\\textbf{A}$ matrix corresponding to the current observation, i.e. $P(o_t = o \\\\mid x_t)$. \\n\",\n    \"\\n\",\n    \"Inference for simple discrete state-space models like these is therefore very simple. All we need to do is have some initial set of beliefs $\\\\textbf{q}_0$ and then update them according to these rules for every observation we get, using the $\\\\textbf{A}$, $\\\\textbf{B}$, the past action $a_t$ and the past posterior $q(x_{t-1})$ to provide the likelihood and prior terms.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Planning through Active Inference\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"So far we just have an agent that can perform perform inference in the discrete state space, but inference by itself isn't really that useful. Instead what we really want to do is *planning*. That is, the agent needs to be able to figure out how to emit a series of actions which will take it to a certain goal state. A key part of Active Inference is that this process of planning, or more broadly action selection, can also be solved as a process of variational inference. This is why it is called *Active* Inference, after all. \\n\",\n    \"\\n\",\n    \"<!-- However, when starting to think about this, it is not immediately obvious how to turn planning into an inference problem. What are the hypotheses? What are the observations? To turn the problem of planning into an inference problem, we need to introduce two additional concepts. The first is the idea of a *goal state*. To make planning useful, the agent has to *want something*. This is different from just performing objective inference about the state of the world in which there is no goal except to infer correctly. In Active Inference we define the goal state as a separate goal vector denoted $\\\\textbf{C}$. When performing planning we then modify the generative model of the agent so that it no longer reflects the true distribution of observations in the environment, but rather includes the goal vector. We denote this new generative model $\\\\tilde{p}(o_t, x_t) = p(o_t | x_t)\\\\tilde{p}(x_t)$ where we use $\\\\tilde{p}$ to say that this distribution is not a true distribution describing the agents model of the world, but is instead a *desired distribution*. Here, we set the desired distribution to be over the state of the environment $x_t$ such that $\\\\tilde{p}(x_t) = \\\\textbf{C}$. -->\\n\",\n    \"\\n\",\n    \"However, when starting to think about this, it is not immediately obvious how to turn planning into an inference problem. What are the hypotheses? What are the observations? To turn the problem of planning into an inference problem, we need to introduce two additional concepts. The first is the idea of a *preferred observations*. To make planning useful, the agent has to *want something*. This is different from just performing objective inference about the state of the world in which there is no goal except to infer correctly. In Active Inference, we define the preferred observations as a separate goal vector denoted $\\\\textbf{C}$. When performing planning we then modify the generative model of the agent so that it no longer reflects the true distribution of observations in the environment, but rather includes the goal vector, which is a *prior over observations*. We denote this new generative model $\\\\tilde{p}(o_t, x_t) = p(x_t | o_t)\\\\tilde{p}(o_t)$ where we use $\\\\tilde{p}$ to say that this distribution is not a true distribution describing the agent's model of the world, but is instead a *preference distribution*. Here, we set the preference distribution to be over the state of the environment $o_t$ such that $\\\\tilde{p}(o_t) = \\\\textbf{C}$.\\n\",\n    \"\\n\",\n    \"By changing the generative model in this way, we have effectively changed the inference problem from: *infer the most likely states and actions given the true generative model of the world* to *infer the most likely states and actions given a false model of the world, in which I achieve my goals*. Perhaps more intuitively, we can think of this inference problem as answering the question: *Given that I have achieved my goals, what actions must have I taken to get there?*.\\n\",\n    \"\\n\",\n    \"The second thing we need to do to perform planning is to also extend the inference problem to *actions in the future*, since these are the fundamental things that the agent controls which it can use to adjust the environment. We call a sequence of future actions from now (time $t$) until some set future time $T$ a *policy* and denote it $\\\\pi = [a_t, a_{t+1}, a_{t+2} \\\\dots a_T]$. The goal is then to infer the optimal policy $\\\\pi^*$ given the preferences $\\\\textbf{C}$. \\n\",\n    \"\\n\",\n    \"However here there is a problem. Typically we would perform variational inference to solve this inference problem, but the variational free energy is not defined over future trajectories of observations, which are not yet known. Instead, we define a new objective which can handle this -- the *Expected Free Energy (EFE)*, which is defined over policies and which we denote as $\\\\mathcal{G}(\\\\pi)$. We define the EFE for a particular timepoint $\\\\tau$ and policy $\\\\pi$ as:\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"\\\\mathcal{G}(\\\\pi)_{\\\\tau} = \\\\sum_{o_{\\\\tau}, x_{\\\\tau}} q(x_{\\\\tau} | \\\\pi)q(o_{\\\\tau} | \\\\pi) \\\\big[ \\\\ln q(x_{\\\\tau} | \\\\pi) - \\\\ln \\\\tilde{p}(o_{\\\\tau}, x_{\\\\tau}) \\\\big]\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"The expected free energy is defined for a single time-step of a trajectory *in the future*, i.e. prior to receiving any observations. The key difference between the standard variational free energy and the expected free energy is that the expected free energy also averages over the *expected observations* $q(o_{\\\\tau} | pi)$ and *expected states* $q(x_{\\\\tau} | \\\\pi)$, where the expectations are conditioned on some policy $\\\\pi$. This is necessary because with the expected free energy, we are evaluating possible future trajectories without a given observation, unlike the variational free energy where we can assume that we have already received the observation.\\n\",\n    \"\\n\",\n    \"To get an intuitive handle on what the expected free energy *means* we can decompose it into two more intuitive quantities.\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"\\\\mathcal{G}(\\\\pi)_{\\\\tau}&= \\\\sum_{o_{\\\\tau}, x_{\\\\tau}} q(x_{\\\\tau} | \\\\pi)q(o_{\\\\tau} | \\\\pi) \\\\big[ \\\\ln q(x_{\\\\tau} | \\\\pi) - \\\\ln \\\\tilde{p}(o_{\\\\tau}, x_{\\\\tau}) \\\\big] \\\\\\\\\\n\",\n    \"&= -\\\\underbrace{\\\\sum_{o_{\\\\tau}, x_{\\\\tau}} q(x_{\\\\tau} | \\\\pi)q(o_{\\\\tau} | \\\\pi) \\\\big[ \\\\ln p(o_{\\\\tau} | x_{\\\\tau}) \\\\big]}_{\\\\text{Uncertainty}} + \\\\underbrace{KL[q(x_{\\\\tau} | \\\\pi) || \\\\tilde{p}(x_{\\\\tau}) ]}_{\\\\text{Divergence}}\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"The first term is called *expected uncertainty* or sometimes *novelty* and represents essentially the spread of the observations expected in the future. Since we are choosing actions that *minimize* the whole quantity, we want to take actions that *maximize* novelty. We can think of this as a bonus to aid exploration since active inference agents will preferentially pursue resolveable uncertainty. The second term is the *divergence* term which is the KL divergence between the states expected under a given policy (also known as the posterior predictive density $q(x_\\\\tau | \\\\pi)$) and the goal distribution of the generative model, $\\\\tilde{p}(x)$. This term scores how far away (in an informational sense) the agent expects it will be from the goal, if it were to pursue that policy. Since we are minimizing the expected free energy this term is positive and so is also minimized -- that is by minimizing the expected free energy, we are trying to choose trajectories which will bring the expected states in the future close to the desired states.\\n\",\n    \"\\n\",\n    \"Now that we have the expected free energy to score possible trajectories, we now need to infer the optimal policy. A simple approach (which can be derived explicitly although it is somewhat complex) is to say that the posterior probability of a policy is proportional to the (exponentiated) sum of the expected free energy accumulated along the trajectory through the environment created by that policy. While this sounds complex, mathematically we can express it very simply as,\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"q(\\\\pi) = \\\\sigma( \\\\sum_{\\\\tau}^T \\\\mathcal{G}(\\\\pi)_{\\\\tau})\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"<!-- We can then choose which policy we implement for the next timestep by just sampling a policy from $q(\\\\pi)$ and then emitting the first action of that policy. -->\\n\",\n    \"We can then choose which action we choose for the next timestep by computing the marginal probability of each action $P(a)$, given the posterior over actions $q(\\\\pi)$ and some mapping between policies and actions $P(a | \\\\pi)$:\\n\",\n    \"\\n\",\n    \"$$\\n\",\n    \"\\\\begin{align}\\n\",\n    \"P(a) = \\\\sum_{\\\\pi}P(a | \\\\pi)q(\\\\pi)\\n\",\n    \"\\\\end{align}\\n\",\n    \"$$\\n\",\n    \"\\n\",\n    \"We can sample from this distribution over actions to choose our action for the next timestep.\\n\",\n    \"\\n\",\n    \"In our simple grid world environment, policies are identical to actions since we are only planning ahead 1-step in the future, so $\\\\forall_{i} P(a = i | \\\\pi = i) = 1$, which implies $P(a) == q(\\\\pi)$.\\n\",\n    \"\\n\",\n    \"While all this may seem exceptionally long and complex, it results in an algorithm which is actually remarkably simple. The algorithm is:\\n\",\n    \"\\n\",\n    \"1.) There is an agent with a generative model of the environment ($\\\\textbf{A}$ and $\\\\textbf{B}$ matrices), some initial set of approximate posterior beliefs $q(x_t | o_t)$ and a desired state vector $\\\\textbf{C}$. \\n\",\n    \"\\n\",\n    \"2.) The agent receives an observation $o_t$ and computes its posterior beliefs as we did earlier by minimizing the free energy.\\n\",\n    \"\\n\",\n    \"3.) The agent now needs to choose what action to make to achieve its goals. It does this by:\\n\",\n    \"\\n\",\n    \" 3.1.) First creating a set of potential policies to evaluate.\\n\",\n    \"    \\n\",\n    \"   3.2.) For each policy in this set, use the generative model to simulate the agent's trajectory in the environment *as if* it had emitted the actions prescribed by the policy\\n\",\n    \"    \\n\",\n    \"   3.3.) For each future timestep of each future trajectory, compute the expected free energy of that time-step\\n\",\n    \"    \\n\",\n    \"   3.4.) Sum the expected free energies for each timestep of each trajectory to get a total expected free energy for each possible policy.\\n\",\n    \"    \\n\",\n    \"   3.5.) Use these total expected free energies to compute the posterior distribution $q(\\\\pi)$ as done above.\\n\",\n    \"\\n\",\n    \"   3.6 ) Compute the marginal probability of each action, expected under the policies that include them, and then sample from this \\\"action marginal\\\" to generate an action at the current timestep.\\n\",\n    \"    \\n\",\n    \"4.) Execute the sampled action to 'step forward' the environmental dynamics and get a new observation. Go back to step 1.\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And that's it! We're done. We have the full algorithm to create an active inference agent. Now all we do is show how to translate this algorithm into code for our specific case.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Beliefs\\n\",\n    \"\\n\",\n    \"First we need to setup an initial belief distribution which we will then update according to the observations we will receive.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# setup initial prior beliefs -- uncertain -- completely unknown which state it is in\\n\",\n    \"Qs = np.ones(9) * 1/9\\n\",\n    \"plot_beliefs(Qs)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Preferences\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we have to encode the agent's preferences, so that it can learn to go to its reward state. In the current context, the agent wants (i.e. expects) to be in the reward location 7.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# C matrix -- desires\\n\",\n    \"\\n\",\n    \"REWARD_LOCATION = 7\\n\",\n    \"reward_state = state_mapping[REWARD_LOCATION]\\n\",\n    \"print(reward_state)\\n\",\n    \"\\n\",\n    \"C = np.zeros(num_states)\\n\",\n    \"C[REWARD_LOCATION] = 1. \\n\",\n    \"print(C)\\n\",\n    \"plot_beliefs(C)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The C matrix is a 1x9 matrix, where each value represents the preference to occupy a given state. We will create a one-hot C matrix, so that the agent only has a preference to be in state 7. \"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Implementing the Active Inference Agent\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Evaluate policy \\n\",\n    \"\\n\",\n    \"This helper function we evaluate the negative expected free energy for a given policy $-\\\\mathcal{G}(\\\\pi)$. To do this we need to calculate the cumulative expected free energy for that policy. All that entails is looping through the timesteps of the policy, simulate what the environment would do, using our generative model, evolving posterior beliefs and the actions entailed by the policy, and then compute the expected free energy of our (policy-dependent) expectations about the hidden states and observations.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def evaluate_policy(policy, Qs, A, B, C):\\n\",\n    \"    # initialize expected free energy at 0\\n\",\n    \"    G = 0\\n\",\n    \"\\n\",\n    \"    # loop over policy\\n\",\n    \"    for t in range(len(policy)):\\n\",\n    \"\\n\",\n    \"        # get action entailed by the policy at timestep `t`\\n\",\n    \"        u = int(policy[t])\\n\",\n    \"\\n\",\n    \"        # work out expected state, given the action\\n\",\n    \"        Qs_pi = B[:,:,u].dot(Qs)\\n\",\n    \"\\n\",\n    \"        # work out expected observations, given the action\\n\",\n    \"        Qo_pi = A.dot(Qs_pi)\\n\",\n    \"\\n\",\n    \"        # get entropy\\n\",\n    \"        H = - (A * log_stable(A)).sum(axis = 0)\\n\",\n    \"\\n\",\n    \"        # get predicted divergence\\n\",\n    \"        # divergence = np.sum(Qo_pi * (log_stable(Qo_pi) - log_stable(C)), axis=0)\\n\",\n    \"        divergence = KL_divergence(Qo_pi, C)\\n\",\n    \"        \\n\",\n    \"        # compute the expected uncertainty or ambiguity \\n\",\n    \"        uncertainty = H.dot(Qs_pi)\\n\",\n    \"\\n\",\n    \"        # increment the expected free energy counter for the policy, using the expected free energy at this timestep\\n\",\n    \"        G += (divergence + uncertainty)\\n\",\n    \"\\n\",\n    \"    return -G\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Infer action\\n\",\n    \"\\n\",\n    \"This helper function will infer the most likely action. Specifically, it computes steps 3.1 to 3.5 in the active inference algorithm. First, it constructs all possible policies for a given policy length and set of actions. Then it loops through every possible policy and computes the expected free energy of that policy using our previous function, and then computing the policy distribution $q(\\\\pi)$ using the softmax over the expected free energies.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def infer_action(Qs, A, B, C, n_actions, policies):\\n\",\n    \"    \\n\",\n    \"    # initialize the negative expected free energy\\n\",\n    \"    neg_G = np.zeros(len(policies))\\n\",\n    \"\\n\",\n    \"    # loop over every possible policy and compute the EFE of each policy\\n\",\n    \"    for i, policy in enumerate(policies):\\n\",\n    \"        neg_G[i] = evaluate_policy(policy, Qs, A, B, C)\\n\",\n    \"\\n\",\n    \"    # get distribution over policies\\n\",\n    \"    Q_pi = maths.softmax(neg_G)\\n\",\n    \"\\n\",\n    \"    # initialize probabilites of control states (convert from policies to actions)\\n\",\n    \"    Qu = np.zeros(n_actions)\\n\",\n    \"\\n\",\n    \"    # sum probabilites of control states or actions \\n\",\n    \"    for i, policy in enumerate(policies):\\n\",\n    \"        # control state specified by policy\\n\",\n    \"        u = int(policy[0])\\n\",\n    \"        # add probability of policy\\n\",\n    \"        Qu[u] += Q_pi[i]\\n\",\n    \"\\n\",\n    \"    # normalize action marginal\\n\",\n    \"    utils.norm_dist(Qu)\\n\",\n    \"\\n\",\n    \"    # sample control from action marginal\\n\",\n    \"    u = utils.sample(Qu)\\n\",\n    \"\\n\",\n    \"    return u\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Main loop\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Here we simply implement the main loop of the active inference agent interacting with the environment. Specifically, this essentially implements steps 1-5 of the MDP \\\"program\\\" we discussed in notebook 1. Specifically, for each timestep, the agent infers an action, it emits that action to the environment, the environment is updated and returns an observation to the agent. The agent then infers the new state of the environment given that observation.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"# number of time steps\\n\",\n    \"T = 10\\n\",\n    \"\\n\",\n    \"#n_actions = env.n_control\\n\",\n    \"n_actions = 5\\n\",\n    \"\\n\",\n    \"# length of policies we consider\\n\",\n    \"policy_len = 4\\n\",\n    \"\\n\",\n    \"# this function generates all possible combinations of policies\\n\",\n    \"policies = control.construct_policies([B.shape[0]], [n_actions], policy_len)\\n\",\n    \"\\n\",\n    \"# reset environment\\n\",\n    \"o = env.reset()\\n\",\n    \"\\n\",\n    \"# loop over time\\n\",\n    \"for t in range(T):\\n\",\n    \"\\n\",\n    \"    # infer which action to take\\n\",\n    \"    a = infer_action(Qs, A, B, C, n_actions, policies)\\n\",\n    \"    \\n\",\n    \"    # perform action in the environment and update the environment\\n\",\n    \"    o = env.step(int(a))\\n\",\n    \"    \\n\",\n    \"    # infer new hidden state (this is the same equation as above but with PyMDP functions)\\n\",\n    \"    likelihood = A[o,:]\\n\",\n    \"    prior = B[:,:,int(a)].dot(Qs)\\n\",\n    \"\\n\",\n    \"    Qs = maths.softmax(log_stable(likelihood) + log_stable(prior))\\n\",\n    \"    \\n\",\n    \"    print(Qs.round(3))\\n\",\n    \"    plot_beliefs(Qs, \\\"Beliefs (Qs) at time {}\\\".format(t))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And that's it! In the last two notebooks, we have implemented a basic active inference agent which can successfully navigate around a 3x3 gridworld using active inference. Moreover, we have implemented this all from scratch using mostly basic numpy functions and not using much of the functionality of `pymdp`. \\n\",\n    \"\\n\",\n    \"Hopefully after going through this you now understand roughly what active inference is and how it works, as well as ideally have some intuitions about how inference as well as policy selection work \\\"under the hood\\\", as well as learnt a lot about Bayesian and specifically variational inference. In the next notebook, we will focus more on the `pymdp` library itself and demonstrate how `pymdp` provides a useful set of abstractions that allows us to easily create active inference agents, as well as perform inference and policy selection in considerably more complex environments than the one described here.\\n\",\n    \"\\n\",\n    \"We will discuss the high level structure of the library and show how its possible to replicate these notebooks in a much smaller amount of code using the `pymdp` abstractions.\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"interpreter\": {\n   \"hash\": \"24ee14d9f6452059a99d44b6cbd71d1bb479b0539b0360a6a17428ecea9f0810\"\n  },\n  \"kernelspec\": {\n   \"display_name\": \"Python 3.8.10 64-bit ('pymdp_env2': conda)\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.8.10\"\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/legacy/tmaze_demo.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Active Inference Demo: T-Maze Environment\\n\",\n    \"This demo notebook provides a full walk-through of active inference using the `Agent()` class of `pymdp`. The canonical example used here is the 'T-maze' task, often used in the active inference literature in discussions of epistemic behavior (see, for example, [\\\"Active Inference and Epistemic Value\\\"](https://pubmed.ncbi.nlm.nih.gov/25689102/))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Imports\\n\",\n    \"\\n\",\n    \"First, import `pymdp` and the modules we'll need.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import os\\n\",\n    \"import sys\\n\",\n    \"import pathlib\\n\",\n    \"import copy\\n\",\n    \"\\n\",\n    \"path = pathlib.Path(os.getcwd())\\n\",\n    \"module_path = str(path.parent) + '/'\\n\",\n    \"sys.path.append(module_path)\\n\",\n    \"\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp.utils import plot_beliefs, plot_likelihood\\n\",\n    \"from pymdp import utils\\n\",\n    \"from pymdp.envs import TMazeEnv\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Environment\\n\",\n    \"\\n\",\n    \"Here we consider an agent navigating a three-armed 'T-maze,' with the agent starting in a central location of the maze. The bottom arm of the maze contains an informative cue, which signals in which of the two top arms ('Left' or 'Right', the ends of the 'T') a reward is likely to be found. \\n\",\n    \"\\n\",\n    \"At each timestep, the environment is described by the joint occurrence of two qualitatively-different 'kinds' of states (hereafter referred to as _hidden state factors_). These hidden state factors are independent of one another.\\n\",\n    \"\\n\",\n    \"We represent the first hidden state factor (`Location`) as a $ 1 \\\\ x \\\\ 4 $ vector that encodes the current position of the agent, and can take the following values: {`CENTER`, `RIGHT ARM`, `LEFT ARM`, or `CUE LOCATION`}. For example, if the agent is in the `CUE LOCATION`, the current state of this factor would be $s_1 = [0 \\\\ 0 \\\\ 0 \\\\ 1]$.\\n\",\n    \"\\n\",\n    \"We represent the second hidden state factor (`Reward Condition`) as a $ 1 \\\\ x \\\\ 2 $ vector that encodes the reward condition of the trial: {`Reward on Right`, or `Reward on Left`}.  A trial where the condition is reward is `Reward on Left` is thus encoded as the state $s_2 = [0 \\\\ 1]$.\\n\",\n    \"\\n\",\n    \"The environment is designed such that when the agent is located in the `RIGHT ARM` and the reward condition is `Reward on Right`, the agent has a specified probability $a$ (where $a > 0.5$) of receiving a reward, and a low probability $b = 1 - a$ of receiving a 'loss' (we can think of this as an aversive or unpreferred stimulus). If the agent is in the `LEFT ARM` for the same reward condition, the reward probabilities are swapped, and the agent experiences loss with probability $a$, and reward with lower probability $b = 1 - a$. These reward contingencies are intuitively swapped for the `Reward on Left` condition. \\n\",\n    \"\\n\",\n    \"For instance, we can encode the state of the environment at the first time step in a `Reward on Right` trial with the following pair of hidden state vectors: $s_1 = [1 \\\\ 0 \\\\ 0 \\\\ 0]$, $s_2 = [1 \\\\ 0]$, where we assume the agent starts sitting in the central location. If the agent moved to the right arm, then the corresponding hidden state vectors would now be $s_1 = [0 \\\\ 1 \\\\ 0 \\\\ 0]$, $s_2 = [1 \\\\ 0]$. This highlights the _independence_ of the two hidden state factors -- the location of the agent ($s_1$) can change without affecting the identity of the reward condition ($s_2$).\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### 1. Initialize environment\\n\",\n    \"Now we can initialize the T-maze environment using the built-in `TMazeEnv` class from the `pymdp.envs` module.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Choose reward probabilities $a$ and $b$, where $a$ and $b$ are the probabilities of reward / loss in the 'correct' arm, and the probabilities of loss / reward in the 'incorrect' arm. Which arm counts as 'correct' vs. 'incorrect' depends on the reward condition (state of the 2nd hidden state factor).\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"reward_probabilities = [0.98, 0.02] # probabilities used in the original SPM T-maze demo\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Initialize an instance of the T-maze environment\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"env = TMazeEnv(reward_probs = reward_probabilities)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Structure of the state --> outcome mapping\\n\",\n    \"We can 'peer into' the rules encoded by the environment (also known as the _generative process_ ) by looking at the probability distributions that map from hidden states to observations. Following the SPM version of active inference, we refer to this collection of probabilistic relationships as the `A` array. In the case of the true rules of the environment, we refer to this array as `A_gp` (where the suffix `_gp` denotes the generative process). \\n\",\n    \"\\n\",\n    \"It is worth outlining what constitute the agent's observations in this task. In this T-maze demo, we have three sensory channels or observation modalities: `Location`, `Reward`, and `Cue`. \\n\",\n    \"\\n\",\n    \">The `Location` observation values are identical to the `Location` hidden state values. In this case, the agent always unambiguously observes its own state - if the agent is in `RIGHT ARM`, it receives a `RIGHT ARM` observation in the corresponding modality. This might be analogized to a 'proprioceptive' sense of one's own place.\\n\",\n    \"\\n\",\n    \">The `Reward` observation modality assumes the values `No Reward`, `Reward` or `Loss`. The `No Reward` (index 0) observation is  observed whenever the agent isn't occupying one of the two T-maze arms (the right or left arms). The `Reward` (index 1) and `Loss` (index 2) observations are observed in the right and left arms of the T-maze, with associated probabilities that depend on the reward condition (i.e. on the value of the second hidden state factor).\\n\",\n    \"\\n\",\n    \"> The `Cue` observation modality assumes the values `Cue Right`, `Cue Left`. This observation unambiguously signals the reward condition of the trial, and therefore in which arm the `Reward` observation is more probable. When the agent occupies the other arms, the `Cue` observation will be `Cue Right` or `Cue Left` with equal probability. However (as we'll see below when we intialise the agent), the agent's beliefs about the likelihood mapping render these observations uninformative and irrelevant to state inference.\\n\",\n    \"\\n\",\n    \"In `pymdp`, we store the set of probability distributions encoding the conditional probabilities of observations, under different configurations of hidden states, as a set of matrices referred to as the likelihood mapping or `A` array (this is a convention borrowed from SPM). The likelihood mapping _for a single modality_ is stored as a single matrix `A[i]` with the larger likelihood array, where `i` is the index of the corresponding modality. Each modality-specific A matrix has `n_observations[i]` rows, and as many lagging dimensions (e.g. columns, 'slices' and higher-order dimensions) as there are hidden state factors. `n_observations[i]` tells you the number of observation values for observation modality `i`, and is usually stored as a property of the `Env` class (e.g. `env.n_observations`).\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"A_gp = env.get_likelihood_dist()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A_gp[1][:,:,0],'Reward Right')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A_gp[1][:,:,1],'Reward Left')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A_gp[2][:,3,:],'Cue Mapping')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Transition Dynamics\\n\",\n    \"\\n\",\n    \"We represent the dynamics of the environment (e.g. changes in the location of the agent and changes to the reward condition) as conditional probability distributions that encode the likelihood of transitions between the states of a given hidden state factor. These distributions are collected into the so-called `B` array, also known as _transition likelihoods_ or _transition distribution_ . As with the `A` array, we denote the true probabilities describing the environmental dynamics as `B_gp`. Each sub-matrix `B_gp[f]` of the larger array encodes the transition probabilities between state-values of a given hidden state factor with index `f`. These matrices encode dynamics as Markovian transition probabilities, such that the entry $i,j$ of a given matrix encodes the probability of transition to state $i$ at time $t+1$, given state $j$ at $t$. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"B_gp = env.get_transition_dist()\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"For example, we can inspect the 'dynamics' of the `Reward Condition` factor by indexing into the appropriate sub-matrix of `B_gp`\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(B_gp[1][:,:,0],'Reward Condition Transitions')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The above transition array is the 'trivial' identity matrix, meaning that the reward condition doesn't change over time (it's mapped from whatever it's current value is to the same value at the next timestep).\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### (Controllable-) Transition Dynamics\\n\",\n    \"\\n\",\n    \"Importantly, some hidden state factors are _controllable_ by the agent, meaning that the probability of being in state $i$ at $t+1$ isn't merely a function of the state at $t$, but also of actions (or from the agent's perspective, _control states_ ). So now each transition likelihood encodes conditional probability distributions over states at $t+1$, where the conditioning variables are both the states at $t-1$ _and_ the actions at $t-1$. This extra conditioning on actions is encoded via an optional third dimension to each factor-specific `B` matrix.\\n\",\n    \"\\n\",\n    \"For example, in our case the first hidden state factor (`Location`) is under the control of the agent, which means the corresponding transition likelihoods `B[0]` are index-able by both previous state and action.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(B_gp[0][:,:,0],'Transition likelihood for \\\"Move to Center\\\"')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(B_gp[0][:,:,1],'Transition likelihood for \\\"Move to Right Arm\\\"')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAAAUwAAAD9CAYAAADXj047AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAVIklEQVR4nO3df7RlZX3f8ffnXsBRQUyhjYFBIBGzmJguNQQxtpU0aAZTpCtiBEkEf2R0rZC41GowNTiiadWmSRpDIpMECRIFoq0ZkknRVCmNvzqTmLAEi5mMygyo4ChqFATk2z/2vrmHM3Pvec7MucNm5v1aa6+7z/7xnGc/55zv+T772fvcVBWSpMnmHuoKSNLDhQFTkhoZMCWpkQFTkhoZMCWpkQFTkho9LANmkr9Ict4y69+Z5FdX4HnXJ7myn398kn9MMt8/vj7Jy/agzH/aL8m5ST44sq6SPGFW9V+mDpcnecsy69+S5CtJvrTSdTnQJXlGkr/v31v//qGujx5s6oDZv5AL0wNJ7h55fO5KVHJcVZ1eVX/U1+f8JH81tv4VVfXmFa7DrVV1aFV9d4Zl/nFVPXtW5c1CkscDrwHWVNXjZlRm9X+vT3JqP7++/4J45di2r+yXr5/Fc09Rx2W/RBr236MvUOBi4Hf699YHWr80k5zab/vLe/Cck8q+vP+cnZ/k8lmX/3AydcDsX8hDq+pQ4FbgjJFlf7ywXZKDZllRPWQeD+ysqjum3XEP3gOfBV40tuy8fvmB4ljgpj3Y7zzgq+zafg/i53LvzKxL3n/D7Ujyy33X7V1JvifJnyW5M8nX+vnVI/tcn+TNST6a5JtJPpjkyH7dqiRXJtmZ5K4km5N878h+L0tyIvBO4Ol9hntXv/5B2UGSn0+yNclXk2xMctTIukryir4bdFeSS5Kk4XiP6/fd5Q2Y5PuS3Jjktf3jU5J8rC//7xayqt3st0u2DJy2u7olmUvyhiRfSHJHkiuSHD5S1nOT3NTvd33fVgvrnpLkb/o2vxpYtUR9TgM+BBzVt+/lDWV/vn8P3Ah8a8oP6GbgUUl+qC/rh/q6bR6r125fzyS/l+TXx7b90ySv7uePSvL+/v34uSS/tMRxrwPOBV7XH/e1/fIT++O9qz/+505xbKPlvyTJZ/rPxHVJju2X/wPw/cC1/fN+vN/l7/rHL1iivEcDZwG/AJyQ5KSRdQvv05cmuRX4cP8++2iS3+yPZVuSH+uXb+/fT0ue8jqgVdUeT8DngdP6+VOB+4G3AY8AHgkcATwPeBRwGPAnwAdG9r8e+Afgif321wNv7de9HLi233ce+BHgMSP7vayfPx/4q7F6XQ68pZ//t8BXgKf29XoHcMPItgX8GfBYumzqTmDtEse7Hriynz+u3/eg0ToBx9NlROv65UcDO4Hn0H1BPat//M8nHctydQNeAmyl+4AdCvx34N39uicC3+qf62Dgdf22h/TTF4BX9evOAu5baK/dHPOpwI6Rx0uWPfKe+FvgGOCRU7yX1gNXAr8CvK1f9nbg9f3y9ZNeT+DfANuB9I+/B7gbOKpv+78GLurb4PuBbcBPLlGfy0fbpD/WrX39Dunr8U3gB5fY/59e17HlZ/blnAgcBLwB+NjuPlMj74EnTGi7nwO+SPc5uRZ4x8i64/oyrgAeTfc5O5/us/rifp+30PUWL+nb9Nn9sR26N/Fhf5xmPejzAPDGqvpOVd1dVTur6v1V9e2q+ibwa8Azx/Z5V1V9tqruBq4Bntwvv48u4D6hqr5bVX9dVd/YgzqdC1xWVX9TVd+h+wA+PclxI9u8taruqqpbgY+M1GFaa/r931hVG/plPwtsqqpNVfVAVX0I2EIXQFssVbdzgd+oqm1V9Y/9cZ3dZ3QvAP68qj5UVfcBv073Qfkx4BS6D/9vVdV9VfU+xjK4CZYre8FvV9X2/jWd1pXAOUkOBs7uH49a7vX8P3TB4V/3254FfLyqbgd+lO5L6uKqureqtgG/3z9Hi1Povpje2u//Ybovs3OmPL5XAP+5qj5TVfcD/wl48kKWuYfOA66u7nz6e+jeBwePbbO+qr418pp8rqre1e9zNd0X3MX9Z/eDwL3Aig84PtzMOmDeWVX3LDxI8qgkl/bdxm8ANwCPTT+y3Bsdef023ZsS4N3AdcBVSW5P8vbdvAlaHEWXUQHQB5eddJnfpDpM61zgNuB9I8uOBZ7fd33uSnfa4F8B39dY5lJ1e9Bx9fMHAd87vq6qHqDLvI7u191Wffoxsm+r5cpesH2K8h6k/2LYShdI/r6qxsta8vXsj+kqFoPYC4GF8+rH0p1aGH0dfoWuvVocBWzvj3fBF3jwcbc4FvhvI3X4KpA9KAeAJMcAP87icf4p3WmMnxrbdLwdvzwyfzdAVY0v29PPwX5r1gFz/KePXgP8IPC0qnoMXZcJujfI8gV12c+bqmoNXfby79j9Ce1JP7d0O92btHvi7nzPEXSBbdbW03UX3zPypbCdrqv82JHp0VX11r18rgcdF12X/X66D8L4MYcug7iNrut29MK50JF99+h5x8pesLc/gXUF3XvniobnH3893wuc1WdsTwPe3y/fTpdVjb4Oh1XVUpn++DHcDhyTZPQz83imfx9tB14+Vo9HVtXHpixnwc/RfY6vTTd2sI0uYI6fg/RnyWZgpa/DPIzum+quJP8MeGPrjkl+PMkP94HnG3Rd9Ad2s+mXgdVJDlmiqPcCL07y5CSPoMtcPllVn5/iOFrdBzyf7lzRFf2H60rgjCQ/mWQ+3WDWqRkZ/NpD7wVeleT4JIfSHdfVfTfvGuCnkvxEn5W/BvgO8DHg43SB9ZeSHJzkp4GTp3je5cqelavpzqNds5t1y76eVfUpui+tPwCuq6q7+v3+L/DNfkDqkf1r8aQkP7pEHb5Md55zwSfpMvzX9e12KnAGXUa7lIP613thOphukPL1IwNbhyd5/jJljNdj3HnAm+hO1SxMzwOek+SIZfbTHljpgPlbdOe3vgJ8AvifU+z7OLqu7TeAzwD/m66bPu7DdJdhfCnJV8ZXVtVfAr9Kl2l8EfgB2s9bTa2q7gV+mq6rdxldBnImXffvTroM47XsfdtfRtceNwCfA+4BfrGvwy10507fQdf2Z9Bd/nXvSP3Op+sOvoBuwKj1+JYsey+PZ/Q57q6qv9zdOdDG1/M9wGn934X9vkvXS3kyXXstBNXD2b0/BNb0XecP9Md3BnB6v+/vAi+qqv+3zKH8Hl3CsDC9q6r+B93A6FX9aapP92UuZT3wR309fmZ0RZJT6LLtS6rqSyPTRrrTGtOeX9UEC6OJkqQJHpa3RkrSQ8GAKWm/lOSy/iL8Ty+xPkl+O91NEDcmeeqkMg2YkvZXlwNrl1l/OnBCP62jO+e8LAOmpP1SVd1AN7C5lDOBK6rzCbprxJe9Pnp390Gvo4u2XHrppT+ybt26vaiypAPIxOurJ1nf/5JVizd1t0+PBqgNI3fYtTiaB1/Qv6Nf9sWldtglYPZPuPCkDqFL2mem6fKOxap9ou2XZO7ZucLVGLhVI9f/2haL87bF4rxtMZNi9jpFnc5tdHepLVjNhDu3PIcpaTDmpphmYCPwon60/BTg61W1ZHccWjNMSdoHZpnBJXkv3c8THplkB92t2QcDVNU7gU10vxq2le621xdPKtOAKWkw5idv0qyqlr01tP91q1+YpkwDpqTB2MfnMKdmwJQ0GEMfVDFgShoMA6YkNbJLLkmNzDAlqdEsR8lXggFT0mCYYUpSI89hSlIjM0xJamTAlKRGDvpIUiMzTElq5KCPJDUyw5SkRgZMSWpkl1ySGjlKLkmN7JJLUiMDpiQ18hymJDUyw5SkRgZMSWo0NzfsTrkBU9JgJAZMSWpihilJjcwwJalRzDAlqc3c/LDHyQ2YkgbDLrkkNbJLLkmNzDAlqZGXFUlSIzNMSWrkKLkkNRr6oM+ww7mkA0qS5qmhrLVJbkmyNcmFu1n/+CQfSfKpJDcmec6kMg2YkgYjc2meli0nmQcuAU4H1gDnJFkzttkbgGuq6inA2cDvTqqfAVPSYMwwwzwZ2FpV26rqXuAq4MyxbQp4TD9/OHD7pEI9hylpMKa5rCjJOmDdyKINVbWhnz8a2D6ybgfwtLEi1gMfTPKLwKOB0yY9pwFT0mBMM0reB8cNEzdc2jnA5VX1X5M8HXh3kidV1QNL7WDAlDQYM7wO8zbgmJHHq/tlo14KrAWoqo8nWQUcCdyxVKGew5Q0GJlrnybYDJyQ5Pgkh9AN6mwc2+ZW4CcAkpwIrALuXK5QM0xJgzGrDLOq7k9yAXAdMA9cVlU3JbkY2FJVG4HXAL+f5FV0A0DnV1UtV64BU9JgzPLC9araBGwaW3bRyPzNwDOmKdOAKWkw5r01UpLa+OMbktRo6PeSGzAlDcb+kWGuOmKFq/EwYlsssi0W2RYzMfQMc5czrEnWJdmSZMuGDXtzEb0kTWeWv1a0EnbJMMduN1r2miRJmqW5g+Yf6iosq61Lfs/OFa7GwI12t2yLxXnbYnHetphNOfvFOUxJ2geGfg7TgClpMDLnheuS1GT/uKxIkvYFu+SS1GZufn8YJZekfcBBH0lqZcCUpDZp+Cn1h5IBU9Jg2CWXpEZx0EeS2phhSlIjA6YkNfJOH0lq5b3kktTGLrkkNfLWSElqZIYpSa0c9JGkNmaYktTIX1yXpEZehylJjbJf/JtdSdoHzDAlqZGDPpLUygxTktoMPcMc9hi+pAPLXNqnCZKsTXJLkq1JLlxim59JcnOSm5K8Z1KZZpiSBmNWPfIk88AlwLOAHcDmJBur6uaRbU4AXg88o6q+luRfTCrXDFPScMwuwzwZ2FpV26rqXuAq4MyxbX4euKSqvgZQVXdMrN4eHJIkrYhkminrkmwZmdaNFHU0sH3k8Y5+2agnAk9M8tEkn0iydlL97JJLGo4p+uRVtQHYsBfPdhBwAnAqsBq4IckPV9VdS+1ghilpOOammJZ3G3DMyOPV/bJRO4CNVXVfVX0O+CxdAF22epI0CJmba54m2AyckOT4JIcAZwMbx7b5AF12SZIj6bro25Yr1C65pMGY1Sh5Vd2f5ALgOmAeuKyqbkpyMbClqjb2656d5Gbgu8Brq2rncuUaMCUNxwwvXK+qTcCmsWUXjcwX8Op+amLAlDQcw77Rx4ApaTj8tSJJapR5A6YktRl2vDRgShoQu+SS1Gbg8dKAKWlABv57mAZMSYNhhilJjYb+i+sGTEnDYcCUpEYD75MbMCUNxsDjpQFT0oAMPGIaMCUNRgb+C70GTEnDsV8M+qw6YoWr8TBiWyyyLRbZFjMx9F8r2iUBHv1PbBs27M3/F5KkKc3u3+yuiF0yzLH/xFb7tjqSDmgDzzCbuuTrB34QK219LX5v2Ba2xQLbYtFoW+yV/eIcpiTtC3PzD3UNlmXAlDQcZpiS1GjgF2IaMCUNhxmmJDUa+OCZAVPScMzZJZekNvOOkktSG7vkktTIgClJjTyHKUmNzDAlqY3/NVKSWjlKLkmN7JJLUiMHfSSp0cAzzGGHc0kHlqR9mlhU1ia5JcnWJBcus93zklSSkyaVaYYpaThmNOiTZB64BHgWsAPYnGRjVd08tt1hwCuBT7aUa4YpaThm90/QTga2VtW2qroXuAo4czfbvRl4G3BPU/WmORZJWlGZa55G/8NtP60bKeloYPvI4x39ssWnSp4KHFNVf95aPbvkkoZjigvXx/7D7VSSzAG/AZw/zX4GTEnDMbtR8tuAY0Yer+6XLTgMeBJwfbrnfBywMclzq2rLUoUaMCUNx+yuw9wMnJDkeLpAeTbwwoWVVfV14MiFx0muB/7DcsESDJiShmRGAbOq7k9yAXAdMA9cVlU3JbkY2FJVG/ekXAOmpOGY4X+NrKpNwKaxZRctse2pLWUaMCUNx7Bv9DFgShqQgd8aacCUNBwGTElqZMCUpEYGTElqZMCUpEYGTElqZMCUpFYGTElq47/ZlaRGdsklqZUBU5LamGFKUiMDpiQ1Gna8NGBKGpAZ/h7mSjBgShoOu+SS1MiAKUmNhh0vDZiSBsQMU5IaOegjSY3MMCWp0cAD5rDzX0kaEDNMScMx8AwzVbXc+mVXStKIvY52D3z6suaYM/ekl+zz6LpLlzzJuiRbkmzZsGHDvq6PpANZ5tqnh8AuXfKq2gAsREozTEn7zsC75G3nMO/ZucLVGLhVRyzO2xaL87bF4rxtMZtyvA5TklrtDxmmJO0L+0WXXJL2BbvkktTIgClJrYYdMIddO0kHlqR9mlhU1ia5JcnWJBfuZv2rk9yc5MYk/yvJsZPKNGBKGo4ZBcwk88AlwOnAGuCcJGvGNvsUcFJV/UvgfcDbJ1XPgClpQDLFtKyTga1Vta2q7gWuAs4c3aCqPlJV3+4ffgJYPalQA6ak4Zibb55Gb+Pup3UjJR0NbB95vKNftpSXAn8xqXoO+kgakPbrMMdu497zZ0x+FjgJeOakbQ2YkoZjdpcV3QYcM/J4db/swU+XnAb8R+CZVfWdSYUaMCUNRmZ3p89m4IQkx9MFyrOBF44911OAS4G1VXVHS6Gew5Q0ILMZ9Kmq+4ELgOuAzwDXVNVNSS5O8tx+s/8CHAr8SZK/TbJxUu3MMCUNxwzv9KmqTcCmsWUXjcyfNm2ZBkxJw+GtkZLUyIApSa38eTdJauPvYUpSI7vkktTKDFOS2mT+oa7BsgyYkobDc5iS1MiAKUmtHPSRpDZmmJLUyMuKJKmVGaYktbFLLkmt7JJLUhszTElqZcCUpDaOkktSI7vkktTKgClJbcwwJamV5zAlqY0ZpiS1MsOUpCYxw5SkVgZMSWpjhilJrQyYktTG/xopSY3skktSKwOmJLUxw5SkVgZMSWpjhilJjQY+Sj7sGzclHWAyxTShpGRtkluSbE1y4W7WPyLJ1f36TyY5blKZBkxJw5G0T8sWk3ngEuB0YA1wTpI1Y5u9FPhaVT0B+E3gbZOq19YlX3VE02YHBNtikW2xyLaYkZmdwzwZ2FpV2wCSXAWcCdw8ss2ZwPp+/n3A7yRJVdVShe6SYSZZl2RLP13JdDnyfjsleflDXYehTLaFbbFEW6xjb606Iq3TWKzaMvb8RwPbRx7v6Jexu22q6n7g68Cy33y7BMyq2lBVJ1XVScCJe3DI+6u9fzPsP2yLRbbFon3aFqOxqp82rPRzeg5T0v7oNuCYkcer+2W73SbJQcDhwM7lCjVgStofbQZOSHJ8kkOAs4GNY9tsBM7r588CPrzc+UuYPOiz4inuw4htsci2WGRbLBpMW1TV/UkuAK4D5oHLquqmJBcDW6pqI/CHwLuTbAW+ShdUl5UJAVWS1LNLLkmNDJiS1MiAKUmNDJiS1MiAKUmNDJiS1MiAKUmN/j+DksBkhu4D0wAAAABJRU5ErkJggg==\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(B_gp[0][:,:,2],'Transition likelihood for \\\"Move to Left Arm\\\"')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(B_gp[0][:,:,3],'Transition likelihood for \\\"Move to Cue Location\\\"')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## The generative model\\n\",\n    \"Now we can move onto setting up the generative model of the agent - namely, the agent's beliefs about how hidden states give rise to observations, and how hidden states transition among eachother.\\n\",\n    \"\\n\",\n    \"In almost all MDPs, the critical building blocks of this generative model are the agent's representation of the observation likelihood, which we'll refer to as `A_gm`, and its representation of the transition likelihood, or `B_gm`. \\n\",\n    \"\\n\",\n    \"Here, we assume the agent has a veridical representation of the rules of the T-maze (namely, how hidden states cause observations) as well as its ability to control its own movements with certain consequences (i.e. 'noiseless' transitions).\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 14,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"A_gm = copy.deepcopy(A_gp) # make a copy of the true observation likelihood to initialize the observation model\\n\",\n    \"B_gm = copy.deepcopy(B_gp) # make a copy of the true transition likelihood to initialize the transition model\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"###  Note !\\n\",\n    \"It is not necessary, or even in many cases _important_ , that the generative model is a veridical representation of the generative process. This distinction between generative model (essentially, beliefs entertained by the agent and its interaction with the world) and the generative process (the actual dynamical system 'out there' generating sensations) is of crucial importance to the active inference formalism and (in our experience) often overlooked in code.\\n\",\n    \"\\n\",\n    \"It is for notational and computational convenience that we encode the generative process using `A` and `B` matrices. By doing so, it simply puts the rules of the environment in a data structure that can easily be converted into the Markovian-style conditional distributions useful for encoding the agent's generative model.\\n\",\n    \"\\n\",\n    \"Strictly speaking, however, all the generative process needs to do is generate observations and be 'perturbable' by actions. The way in which it does so can be arbitrarily complex, non-linear, and unaccessible by the agent.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Introducing the `Agent()` class\\n\",\n    \"\\n\",\n    \"In `pymdp`, we have abstracted much of the computations required for active inference into the `Agent()` class, a flexible object that can be used to store necessary aspects of the generative model, the agent's instantaneous observations and actions, and perform action / perception using functions like `Agent.infer_states` and `Agent.infer_policies`. \\n\",\n    \"\\n\",\n    \"An instance of `Agent` is straightforwardly initialized with a call to `Agent()` with a list of optional arguments.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"In our call to `Agent()`, we need to constrain the default behavior with some of our T-Maze-specific needs. For example, we want to make sure that the agent's beliefs about transitions are constrained by the fact that it can only control the `Location` factor - _not_ the `Reward Condition` (which we assumed stationary across an epoch of time). Therefore we specify this using a list of indices that will be passed as the `control_fac_idx` argument of the `Agent()` constructor. \\n\",\n    \"\\n\",\n    \"Each element in the list specifies a hidden state factor (in terms of its index) that is controllable by the agent. Hidden state factors whose indices are _not_ in this list are assumed to be uncontrollable.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 15,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"controllable_indices = [0] # this is a list of the indices of the hidden state factors that are controllable\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can construct our agent...\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 16,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"agent = Agent(A=A_gm, B=B_gm, control_fac_idx=controllable_indices)\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can inspect properties (and change) of the agent as we see fit. Let's look at the initial beliefs the agent has about its starting location and reward condition, encoded in the prior over hidden states $P(s)$, known in SPM-lingo as the `D` array.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 17,\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_beliefs(agent.D[0],\\\"Beliefs about initial location\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 18,\n   \"metadata\": {\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_beliefs(agent.D[1],\\\"Beliefs about reward condition\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Let's make it so that agent starts with precise and accurate prior beliefs about its starting location.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 19,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"agent.D[0] = utils.onehot(0, agent.num_states[0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"And now confirm that our agent knows (i.e. has accurate beliefs about) its initial state by visualizing its priors again.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 20,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_beliefs(agent.D[0],\\\"Beliefs about initial location\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Another thing we want to do in this case is make sure the agent has a 'sense' of reward / loss and thus a motivation to be in the 'correct' arm (the arm that maximizes the probability of getting the reward outcome).\\n\",\n    \"\\n\",\n    \"We can do this by changing the prior beliefs about observations, the `C` array (also known as the _prior preferences_ ). This is represented as a collection of distributions over observations for each modality. It is initialized by default to be all 0s. This means agent has no preference for particular outcomes. Since the second modality (index `1` of the `C` array) is the `Reward` modality, with the index of the `Reward` outcome being `1`, and that of the `Loss` outcome being `2`, we populate the corresponding entries with values whose relative magnitudes encode the preference for one outcome over another (technically, this is encoded directly in terms of relative log-probabilities). \\n\",\n    \"\\n\",\n    \"Our ability to make the agent's prior beliefs that it tends to observe the outcome with index `1` in the `Reward` modality, more often than the outcome with index `2`, is what makes this modality a Reward modality in the first place -- otherwise, it would just be an arbitrary observation with no extrinsic value _per se_. \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 21,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"agent.C[1][1] = 3.0\\n\",\n    \"agent.C[1][2] = -3.0\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 22,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_beliefs(agent.C[1],\\\"Prior beliefs about observations\\\")\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Active Inference\\n\",\n    \"Now we can start off the T-maze with an initial observation and run active inference via a loop over a desired time interval.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 23,\n   \"metadata\": {\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \" === Starting experiment === \\n\",\n      \" Reward condition: Left, Observation: [CENTER, No reward, Cue Left]\\n\",\n      \"[Step 0] Action: [Move to CUE LOCATION]\\n\",\n      \"[Step 0] Observation: [CUE LOCATION,  No reward, Cue Left]\\n\",\n      \"[Step 1] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 1] Observation: [LEFT ARM,  Reward!, Cue Left]\\n\",\n      \"[Step 2] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 2] Observation: [LEFT ARM,  Reward!, Cue Right]\\n\",\n      \"[Step 3] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 3] Observation: [LEFT ARM,  Reward!, Cue Right]\\n\",\n      \"[Step 4] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 4] Observation: [LEFT ARM,  Reward!, Cue Right]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"T = 5 # number of timesteps\\n\",\n    \"\\n\",\n    \"obs = env.reset() # reset the environment and get an initial observation\\n\",\n    \"\\n\",\n    \"# these are useful for displaying read-outs during the loop over time\\n\",\n    \"reward_conditions = [\\\"Right\\\", \\\"Left\\\"]\\n\",\n    \"location_observations = ['CENTER','RIGHT ARM','LEFT ARM','CUE LOCATION']\\n\",\n    \"reward_observations = ['No reward','Reward!','Loss!']\\n\",\n    \"cue_observations = ['Cue Right','Cue Left']\\n\",\n    \"msg = \\\"\\\"\\\" === Starting experiment === \\\\n Reward condition: {}, Observation: [{}, {}, {}]\\\"\\\"\\\"\\n\",\n    \"print(msg.format(reward_conditions[env.reward_condition], location_observations[obs[0]], reward_observations[obs[1]], cue_observations[obs[2]]))\\n\",\n    \"\\n\",\n    \"for t in range(T):\\n\",\n    \"    qx = agent.infer_states(obs)\\n\",\n    \"\\n\",\n    \"    q_pi, efe = agent.infer_policies()\\n\",\n    \"\\n\",\n    \"    action = agent.sample_action()\\n\",\n    \"\\n\",\n    \"    msg = \\\"\\\"\\\"[Step {}] Action: [Move to {}]\\\"\\\"\\\"\\n\",\n    \"    print(msg.format(t, location_observations[int(action[0])]))\\n\",\n    \"\\n\",\n    \"    obs = env.step(action)\\n\",\n    \"\\n\",\n    \"    msg = \\\"\\\"\\\"[Step {}] Observation: [{},  {}, {}]\\\"\\\"\\\"\\n\",\n    \"    print(msg.format(t, location_observations[obs[0]], reward_observations[obs[1]], cue_observations[obs[2]]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": []\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The agent begins by moving to the `CUE LOCATION` to resolve its uncertainty about the reward condition - this is because it knows it will get an informative cue in this location, which will signal the true reward condition unambiguously. At the beginning of the next timestep, the agent then uses this observaiton to update its posterior beliefs about states `qx[1]` to reflect the true reward condition. Having resolved its uncertainty about the reward condition, the agent then moves to `RIGHT ARM` to maximize utility and continues to do so, given its (correct) beliefs about the reward condition and the mapping between hidden states and reward observations. \\n\",\n    \"\\n\",\n    \"Notice, perhaps confusingly, that the agent continues to receive observations in the 3rd modality (i.e. samples from `A_gp[2]`). These are observations of the form `Cue Right` or `Cue Left`. However, these 'cue' observations are random and totally umambiguous unless the agent is in the `CUE LOCATION` - this is reflected by totally entropic distributions in the corresponding columns of `A_gp[2]` (and the agents beliefs about this ambiguity, reflected in `A_gm[2]`. See below.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 24,\n   \"metadata\": {\n    \"scrolled\": false\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A_gp[2][:,:,0],'Cue Observations when condition is Reward on Right, for Different Locations')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 25,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A_gp[2][:,:,1],'Cue Observations when condition is Reward on Left, for Different Locations')\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"The final column on the right side of these matrices represents the distribution over cue observations, conditioned on the agent being in `CUE LOCATION` and the appropriate Reward Condition. This demonstrates that cue observations are uninformative / lacking epistemic value for the agent, _unless_ they are in `CUE LOCATION.`\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"Now we can inspect the agent's final beliefs about the reward condition characterizing the 'trial,' having undergone 10 timesteps of active inference.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 26,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_beliefs(qx[1],\\\"Final posterior beliefs about reward condition\\\")\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3.8.8 ('base')\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.8.8\"\n  },\n  \"vscode\": {\n   \"interpreter\": {\n    \"hash\": \"70b7ceca5df5387258d861d4588082cea9500e731be001548c95afd8cd8c3af8\"\n   }\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/legacy/tmaze_learning_demo.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"#  Demo: T-Maze Environment + Learning\\n\",\n    \"This notebook gives a step-by-step demonstration of active inference and learning using the `Agent()` class of `pymdp` and the `TMazeEnv` environment.\\n\",\n    \"\\n\",\n    \"For a thorough introduction to the basic `TMazeEnv` used here and active inference _without learning_ in that environment, please see the main `tmaze_demo.ipynb` notebook.\\n\",\n    \"\\n\",\n    \"In this particular case, we assume that the contingencies describing the 'rules' of the T-Maze are unknown to the agent, and must be learned. This demo therefore requires understanding the distinction between the agent's _generative model_  and the _generative process_ (the actual rules governing world dynamics).\\n\",\n    \"\\n\",\n    \"'Learning' under active inference corresponds to updating posterior beliefs about the sufficient statistics of distributions that parameterize the so-called 'structure' of the generative model. In the case of the Categorical distributions used to represent beliefs about states and outcomes in the discrete space-and-time MDPs used in `pymdp`, these structural parameters correspond to prior beliefs about the sensory and transition likelihoods and priors (the `A`, `B`, `C`, and `D` arrays) of the generative model. \\n\",\n    \"\\n\",\n    \"In the following exercise, we consider the case when an active inference agent needs to learn how sensory cues (the equivalent of a 'conditioned stimulus' or CS in learning theory) indicate the probability of receiving a reward in the two arms of a T-Maze.\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Imports|\\n\",\n    \"\\n\",\n    \"First, import `pymdp` and the modules we'll need.\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import os\\n\",\n    \"import sys\\n\",\n    \"import pathlib\\n\",\n    \"import numpy as np\\n\",\n    \"import copy\\n\",\n    \"\\n\",\n    \"path = pathlib.Path(os.getcwd())\\n\",\n    \"module_path = str(path.parent) + '/'\\n\",\n    \"sys.path.append(module_path)\\n\",\n    \"\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp.utils import plot_likelihood\\n\",\n    \"from pymdp import utils\\n\",\n    \"from pymdp.envs import TMazeEnvNullOutcome\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"reward_probabilities = [0.85, 0.15] # the 'true' reward probabilities \\n\",\n    \"env = TMazeEnvNullOutcome(reward_probs = reward_probabilities)\\n\",\n    \"A_gp = env.get_likelihood_dist()\\n\",\n    \"B_gp = env.get_transition_dist()\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"pA = utils.dirichlet_like(A_gp, scale = 1e16)\\n\",\n    \"\\n\",\n    \"pA[1][1:,1:3,:] = 1.0\\n\",\n    \"\\n\",\n    \"A_gm = utils.norm_dist_obj_arr(pA)      \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A_gm[1][:,:,0],'Initial beliefs about reward mapping')\\n\",\n    \"plot_likelihood(A_gp[1][:,:,0],'True reward mapping in RIGHT ARM (Condition 0)')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(A_gm[2][:,:,0],'Initial beliefs about cue mapping')\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"B_gm = copy.deepcopy(B_gp)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"controllable_indices = [0] # this is a list of the indices of the hidden state factors that are controllable\\n\",\n    \"learnable_modalities = [1] # this is a list of the modalities that you want to be learn-able \"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"agent = Agent(A=A_gm,pA=pA,B=B_gm,\\n\",\n    \"              control_fac_idx=controllable_indices,\\n\",\n    \"              modalities_to_learn=learnable_modalities,\\n\",\n    \"              lr_pA = 0.25,\\n\",\n    \"              use_param_info_gain=True)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"agent.D[0] = utils.onehot(0, agent.num_states[0])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"agent.C[1][1] = 2.0\\n\",\n    \"agent.C[1][2] = -2.0\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \" === Starting experiment === \\n\",\n      \" Reward condition: Left arm Better, Observation: [CENTER, No reward, Null]\\n\",\n      \"[Step 0] Action: [Move to CUE LOCATION]\\n\",\n      \"[Step 0] Observation: [CUE LOCATION,  No reward, Cue Left]\\n\",\n      \"[Step 1] Action: [Move to RIGHT ARM]\\n\",\n      \"[Step 1] Observation: [RIGHT ARM,  Loss!, Null]\\n\",\n      \"[Step 2] Action: [Move to RIGHT ARM]\\n\",\n      \"[Step 2] Observation: [RIGHT ARM,  Loss!, Null]\\n\",\n      \"[Step 3] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 3] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 4] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 4] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 5] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 5] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 6] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 6] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 7] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 7] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 8] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 8] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 9] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 9] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 10] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 10] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 11] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 11] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 12] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 12] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 13] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 13] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 14] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 14] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 15] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 15] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 16] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 16] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 17] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 17] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 18] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 18] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 19] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 19] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 20] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 20] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 21] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 21] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 22] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 22] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 23] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 23] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 24] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 24] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 25] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 25] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 26] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 26] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 27] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 27] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 28] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 28] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 29] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 29] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 30] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 30] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 31] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 31] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 32] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 32] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 33] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 33] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 34] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 34] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 35] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 35] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 36] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 36] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 37] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 37] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 38] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 38] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 39] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 39] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 40] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 40] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 41] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 41] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 42] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 42] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 43] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 43] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 44] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 44] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 45] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 45] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 46] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 46] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 47] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 47] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 48] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 48] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 49] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 49] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 50] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 50] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 51] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 51] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 52] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 52] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 53] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 53] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 54] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 54] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 55] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 55] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 56] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 56] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 57] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 57] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 58] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 58] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 59] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 59] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 60] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 60] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 61] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 61] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 62] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 62] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 63] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 63] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 64] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 64] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 65] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 65] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 66] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 66] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 67] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 67] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 68] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 68] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 69] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 69] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 70] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 70] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 71] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 71] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 72] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 72] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 73] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 73] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 74] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 74] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 75] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 75] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 76] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 76] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 77] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 77] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 78] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 78] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 79] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 79] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 80] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 80] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 81] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 81] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 82] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 82] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 83] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 83] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 84] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 84] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 85] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 85] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 86] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 86] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 87] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 87] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 88] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 88] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 89] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 89] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 90] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 90] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 91] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 91] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 92] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 92] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 93] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 93] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 94] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 94] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 95] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 95] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 96] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 96] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 97] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 97] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 98] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 98] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 99] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 99] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 100] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 100] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 101] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 101] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 102] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 102] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 103] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 103] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 104] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 104] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 105] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 105] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 106] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 106] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 107] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 107] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 108] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 108] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 109] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 109] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 110] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 110] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 111] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 111] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 112] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 112] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 113] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 113] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 114] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 114] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 115] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 115] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 116] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 116] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 117] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 117] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 118] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 118] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 119] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 119] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 120] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 120] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 121] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 121] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 122] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 122] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 123] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 123] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 124] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 124] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 125] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 125] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 126] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 126] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 127] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 127] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 128] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 128] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 129] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 129] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 130] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 130] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 131] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 131] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 132] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 132] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 133] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 133] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 134] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 134] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 135] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 135] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 136] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 136] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 137] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 137] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 138] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 138] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 139] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 139] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 140] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 140] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 141] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 141] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 142] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 142] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 143] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 143] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 144] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 144] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 145] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 145] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 146] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 146] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 147] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 147] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 148] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 148] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 149] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 149] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 150] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 150] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 151] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 151] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 152] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 152] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 153] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 153] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 154] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 154] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 155] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 155] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 156] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 156] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 157] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 157] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 158] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 158] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 159] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 159] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 160] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 160] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 161] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 161] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 162] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 162] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 163] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 163] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 164] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 164] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 165] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 165] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 166] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 166] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 167] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 167] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 168] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 168] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 169] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 169] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 170] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 170] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 171] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 171] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 172] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 172] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 173] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 173] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 174] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 174] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 175] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 175] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 176] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 176] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 177] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 177] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 178] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 178] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 179] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 179] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 180] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 180] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 181] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 181] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 182] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 182] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 183] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 183] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 184] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 184] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 185] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 185] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 186] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 186] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 187] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 187] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 188] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 188] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 189] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 189] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 190] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 190] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 191] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 191] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 192] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 192] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 193] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 193] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 194] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 194] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 195] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 195] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 196] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 196] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 197] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 197] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 198] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 198] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 199] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 199] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 200] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 200] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 201] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 201] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 202] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 202] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 203] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 203] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 204] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 204] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 205] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 205] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 206] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 206] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 207] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 207] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 208] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 208] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 209] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 209] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 210] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 210] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 211] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 211] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 212] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 212] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 213] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 213] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 214] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 214] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 215] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 215] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 216] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 216] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 217] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 217] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 218] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 218] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 219] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 219] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 220] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 220] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 221] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 221] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 222] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 222] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 223] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 223] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 224] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 224] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 225] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 225] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 226] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 226] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 227] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 227] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 228] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 228] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 229] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 229] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 230] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 230] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 231] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 231] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 232] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 232] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 233] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 233] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 234] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 234] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 235] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 235] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 236] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 236] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 237] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 237] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 238] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 238] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 239] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 239] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 240] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 240] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 241] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 241] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 242] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 242] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 243] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 243] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 244] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 244] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 245] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 245] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 246] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 246] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 247] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 247] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 248] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 248] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 249] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 249] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 250] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 250] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 251] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 251] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 252] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 252] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 253] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 253] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 254] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 254] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 255] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 255] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 256] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 256] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 257] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 257] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 258] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 258] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 259] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 259] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 260] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 260] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 261] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 261] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 262] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 262] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 263] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 263] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 264] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 264] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 265] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 265] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 266] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 266] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 267] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 267] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 268] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 268] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 269] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 269] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 270] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 270] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 271] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 271] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 272] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 272] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 273] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 273] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 274] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 274] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 275] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 275] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 276] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 276] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 277] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 277] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 278] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 278] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 279] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 279] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 280] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 280] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 281] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 281] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 282] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 282] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 283] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 283] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 284] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 284] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 285] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 285] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 286] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 286] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 287] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 287] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 288] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 288] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 289] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 289] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 290] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 290] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 291] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 291] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 292] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 292] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 293] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 293] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 294] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 294] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 295] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 295] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 296] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 296] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 297] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 297] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 298] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 298] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 299] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 299] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 300] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 300] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 301] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 301] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 302] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 302] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 303] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 303] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 304] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 304] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 305] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 305] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 306] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 306] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 307] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 307] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 308] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 308] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 309] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 309] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 310] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 310] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 311] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 311] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 312] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 312] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 313] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 313] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 314] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 314] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 315] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 315] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 316] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 316] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 317] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 317] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 318] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 318] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 319] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 319] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 320] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 320] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 321] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 321] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 322] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 322] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 323] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 323] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 324] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 324] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 325] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 325] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 326] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 326] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 327] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 327] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 328] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 328] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 329] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 329] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 330] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 330] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 331] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 331] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 332] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 332] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 333] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 333] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 334] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 334] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 335] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 335] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 336] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 336] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 337] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 337] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 338] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 338] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 339] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 339] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 340] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 340] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 341] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 341] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 342] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 342] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 343] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 343] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 344] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 344] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 345] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 345] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 346] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 346] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 347] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 347] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 348] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 348] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 349] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 349] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 350] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 350] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 351] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 351] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 352] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 352] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 353] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 353] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 354] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 354] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 355] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 355] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 356] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 356] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 357] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 357] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 358] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 358] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 359] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 359] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 360] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 360] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 361] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 361] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 362] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 362] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 363] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 363] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 364] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 364] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 365] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 365] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 366] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 366] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 367] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 367] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 368] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 368] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 369] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 369] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 370] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 370] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 371] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 371] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 372] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 372] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 373] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 373] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 374] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 374] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 375] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 375] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 376] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 376] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 377] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 377] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 378] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 378] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 379] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 379] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 380] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 380] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 381] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 381] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 382] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 382] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 383] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 383] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 384] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 384] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 385] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 385] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 386] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 386] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 387] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 387] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 388] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 388] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 389] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 389] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 390] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 390] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 391] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 391] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 392] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 392] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 393] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 393] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 394] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 394] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 395] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 395] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 396] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 396] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 397] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 397] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 398] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 398] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 399] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 399] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 400] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 400] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 401] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 401] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 402] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 402] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 403] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 403] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 404] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 404] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 405] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 405] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 406] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 406] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 407] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 407] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 408] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 408] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 409] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 409] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 410] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 410] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 411] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 411] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 412] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 412] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 413] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 413] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 414] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 414] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 415] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 415] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 416] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 416] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 417] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 417] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 418] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 418] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 419] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 419] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 420] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 420] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 421] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 421] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 422] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 422] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 423] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 423] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 424] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 424] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 425] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 425] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 426] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 426] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 427] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 427] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 428] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 428] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 429] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 429] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 430] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 430] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 431] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 431] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 432] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 432] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 433] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 433] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 434] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 434] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 435] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 435] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 436] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 436] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 437] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 437] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 438] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 438] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 439] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 439] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 440] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 440] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 441] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 441] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 442] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 442] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 443] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 443] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 444] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 444] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 445] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 445] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 446] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 446] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 447] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 447] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 448] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 448] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 449] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 449] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 450] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 450] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 451] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 451] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 452] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 452] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 453] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 453] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 454] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 454] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 455] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 455] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 456] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 456] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 457] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 457] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 458] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 458] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 459] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 459] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 460] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 460] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 461] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 461] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 462] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 462] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 463] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 463] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 464] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 464] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 465] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 465] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 466] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 466] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 467] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 467] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 468] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 468] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 469] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 469] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 470] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 470] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 471] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 471] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 472] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 472] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 473] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 473] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 474] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 474] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 475] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 475] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 476] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 476] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 477] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 477] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 478] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 478] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 479] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 479] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 480] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 480] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 481] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 481] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 482] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 482] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 483] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 483] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 484] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 484] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 485] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 485] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 486] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 486] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 487] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 487] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 488] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 488] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 489] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 489] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 490] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 490] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 491] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 491] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 492] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 492] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 493] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 493] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 494] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 494] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 495] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 495] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 496] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 496] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 497] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 497] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 498] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 498] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 499] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 499] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 500] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 500] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 501] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 501] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 502] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 502] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 503] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 503] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 504] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 504] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 505] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 505] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 506] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 506] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 507] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 507] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 508] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 508] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 509] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 509] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 510] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 510] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 511] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 511] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 512] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 512] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 513] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 513] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 514] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 514] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 515] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 515] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 516] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 516] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 517] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 517] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 518] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 518] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 519] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 519] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 520] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 520] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 521] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 521] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 522] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 522] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 523] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 523] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 524] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 524] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 525] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 525] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 526] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 526] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 527] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 527] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 528] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 528] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 529] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 529] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 530] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 530] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 531] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 531] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 532] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 532] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 533] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 533] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 534] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 534] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 535] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 535] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 536] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 536] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 537] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 537] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 538] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 538] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 539] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 539] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 540] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 540] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 541] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 541] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 542] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 542] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 543] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 543] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 544] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 544] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 545] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 545] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 546] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 546] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 547] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 547] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 548] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 548] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 549] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 549] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 550] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 550] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 551] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 551] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 552] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 552] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 553] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 553] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 554] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 554] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 555] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 555] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 556] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 556] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 557] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 557] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 558] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 558] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 559] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 559] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 560] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 560] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 561] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 561] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 562] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 562] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 563] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 563] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 564] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 564] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 565] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 565] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 566] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 566] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 567] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 567] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 568] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 568] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 569] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 569] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 570] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 570] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 571] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 571] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 572] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 572] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 573] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 573] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 574] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 574] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 575] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 575] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 576] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 576] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 577] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 577] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 578] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 578] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 579] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 579] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 580] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 580] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 581] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 581] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 582] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 582] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 583] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 583] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 584] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 584] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 585] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 585] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 586] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 586] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 587] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 587] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 588] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 588] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 589] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 589] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 590] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 590] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 591] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 591] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 592] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 592] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 593] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 593] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 594] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 594] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 595] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 595] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 596] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 596] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 597] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 597] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 598] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 598] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 599] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 599] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 600] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 600] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 601] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 601] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 602] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 602] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 603] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 603] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 604] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 604] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 605] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 605] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 606] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 606] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 607] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 607] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 608] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 608] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 609] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 609] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 610] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 610] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 611] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 611] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 612] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 612] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 613] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 613] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 614] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 614] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 615] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 615] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 616] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 616] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 617] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 617] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 618] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 618] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 619] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 619] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 620] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 620] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 621] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 621] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 622] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 622] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 623] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 623] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 624] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 624] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 625] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 625] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 626] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 626] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 627] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 627] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 628] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 628] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 629] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 629] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 630] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 630] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 631] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 631] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 632] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 632] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 633] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 633] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 634] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 634] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 635] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 635] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 636] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 636] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 637] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 637] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 638] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 638] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 639] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 639] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 640] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 640] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 641] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 641] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 642] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 642] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 643] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 643] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 644] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 644] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 645] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 645] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 646] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 646] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 647] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 647] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 648] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 648] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 649] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 649] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 650] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 650] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 651] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 651] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 652] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 652] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 653] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 653] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 654] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 654] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 655] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 655] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 656] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 656] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 657] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 657] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 658] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 658] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 659] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 659] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 660] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 660] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 661] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 661] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 662] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 662] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 663] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 663] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 664] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 664] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 665] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 665] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 666] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 666] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 667] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 667] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 668] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 668] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 669] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 669] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 670] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 670] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 671] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 671] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 672] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 672] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 673] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 673] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 674] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 674] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 675] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 675] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 676] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 676] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 677] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 677] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 678] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 678] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 679] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 679] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 680] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 680] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 681] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 681] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 682] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 682] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 683] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 683] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 684] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 684] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 685] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 685] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 686] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 686] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 687] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 687] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 688] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 688] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 689] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 689] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 690] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 690] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 691] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 691] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 692] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 692] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 693] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 693] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 694] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 694] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 695] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 695] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 696] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 696] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 697] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 697] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 698] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 698] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 699] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 699] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 700] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 700] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 701] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 701] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 702] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 702] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 703] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 703] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 704] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 704] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 705] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 705] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 706] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 706] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 707] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 707] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 708] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 708] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 709] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 709] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 710] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 710] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 711] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 711] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 712] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 712] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 713] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 713] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 714] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 714] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 715] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 715] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 716] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 716] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 717] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 717] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 718] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 718] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 719] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 719] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 720] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 720] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 721] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 721] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 722] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 722] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 723] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 723] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 724] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 724] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 725] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 725] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 726] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 726] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 727] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 727] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 728] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 728] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 729] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 729] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 730] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 730] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 731] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 731] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 732] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 732] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 733] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 733] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 734] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 734] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 735] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 735] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 736] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 736] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 737] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 737] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 738] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 738] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 739] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 739] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 740] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 740] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 741] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 741] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 742] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 742] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 743] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 743] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 744] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 744] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 745] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 745] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 746] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 746] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 747] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 747] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 748] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 748] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 749] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 749] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 750] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 750] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 751] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 751] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 752] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 752] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 753] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 753] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 754] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 754] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 755] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 755] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 756] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 756] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 757] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 757] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 758] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 758] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 759] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 759] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 760] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 760] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 761] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 761] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 762] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 762] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 763] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 763] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 764] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 764] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 765] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 765] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 766] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 766] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 767] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 767] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 768] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 768] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 769] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 769] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 770] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 770] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 771] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 771] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 772] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 772] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 773] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 773] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 774] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 774] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 775] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 775] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 776] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 776] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 777] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 777] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 778] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 778] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 779] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 779] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 780] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 780] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 781] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 781] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 782] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 782] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 783] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 783] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 784] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 784] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 785] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 785] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 786] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 786] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 787] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 787] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 788] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 788] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 789] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 789] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 790] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 790] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 791] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 791] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 792] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 792] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 793] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 793] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 794] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 794] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 795] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 795] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 796] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 796] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 797] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 797] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 798] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 798] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 799] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 799] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 800] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 800] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 801] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 801] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 802] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 802] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 803] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 803] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 804] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 804] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 805] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 805] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 806] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 806] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 807] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 807] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 808] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 808] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 809] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 809] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 810] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 810] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 811] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 811] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 812] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 812] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 813] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 813] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 814] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 814] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 815] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 815] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 816] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 816] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 817] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 817] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 818] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 818] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 819] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 819] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 820] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 820] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 821] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 821] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 822] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 822] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 823] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 823] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 824] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 824] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 825] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 825] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 826] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 826] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 827] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 827] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 828] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 828] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 829] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 829] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 830] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 830] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 831] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 831] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 832] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 832] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 833] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 833] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 834] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 834] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 835] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 835] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 836] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 836] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 837] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 837] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 838] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 838] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 839] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 839] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 840] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 840] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 841] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 841] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 842] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 842] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 843] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 843] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 844] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 844] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 845] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 845] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 846] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 846] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 847] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 847] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 848] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 848] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 849] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 849] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 850] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 850] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 851] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 851] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 852] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 852] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 853] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 853] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 854] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 854] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 855] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 855] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 856] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 856] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 857] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 857] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 858] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 858] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 859] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 859] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 860] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 860] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 861] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 861] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 862] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 862] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 863] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 863] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 864] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 864] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 865] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 865] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 866] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 866] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 867] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 867] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 868] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 868] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 869] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 869] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 870] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 870] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 871] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 871] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 872] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 872] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 873] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 873] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 874] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 874] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 875] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 875] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 876] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 876] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 877] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 877] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 878] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 878] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 879] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 879] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 880] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 880] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 881] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 881] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 882] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 882] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 883] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 883] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 884] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 884] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 885] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 885] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 886] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 886] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 887] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 887] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 888] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 888] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 889] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 889] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 890] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 890] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 891] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 891] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 892] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 892] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 893] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 893] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 894] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 894] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 895] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 895] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 896] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 896] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 897] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 897] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 898] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 898] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 899] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 899] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 900] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 900] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 901] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 901] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 902] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 902] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 903] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 903] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 904] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 904] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 905] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 905] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 906] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 906] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 907] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 907] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 908] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 908] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 909] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 909] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 910] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 910] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 911] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 911] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 912] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 912] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 913] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 913] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 914] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 914] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 915] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 915] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 916] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 916] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 917] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 917] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 918] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 918] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 919] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 919] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 920] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 920] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 921] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 921] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 922] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 922] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 923] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 923] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 924] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 924] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 925] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 925] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 926] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 926] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 927] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 927] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 928] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 928] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 929] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 929] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 930] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 930] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 931] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 931] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 932] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 932] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 933] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 933] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 934] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 934] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 935] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 935] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 936] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 936] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 937] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 937] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 938] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 938] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 939] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 939] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 940] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 940] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 941] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 941] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 942] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 942] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 943] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 943] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 944] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 944] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 945] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 945] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 946] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 946] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 947] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 947] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 948] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 948] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 949] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 949] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 950] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 950] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 951] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 951] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 952] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 952] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 953] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 953] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 954] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 954] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 955] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 955] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 956] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 956] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 957] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 957] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 958] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 958] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 959] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 959] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 960] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 960] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 961] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 961] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 962] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 962] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 963] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 963] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 964] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 964] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 965] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 965] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 966] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 966] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 967] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 967] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 968] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 968] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 969] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 969] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 970] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 970] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 971] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 971] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 972] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 972] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 973] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 973] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 974] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 974] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 975] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 975] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 976] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 976] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 977] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 977] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 978] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 978] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 979] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 979] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 980] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 980] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 981] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 981] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 982] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 982] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 983] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 983] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 984] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 984] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 985] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 985] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 986] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 986] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 987] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 987] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 988] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 988] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 989] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 989] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 990] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 990] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 991] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 991] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 992] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 992] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 993] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 993] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 994] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 994] Observation: [LEFT ARM,  Loss!, Null]\\n\",\n      \"[Step 995] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 995] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 996] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 996] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 997] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 997] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 998] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 998] Observation: [LEFT ARM,  Reward!, Null]\\n\",\n      \"[Step 999] Action: [Move to LEFT ARM]\\n\",\n      \"[Step 999] Observation: [LEFT ARM,  Loss!, Null]\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"T = 1000 # number of timesteps\\n\",\n    \"\\n\",\n    \"obs = env.reset() # reset the environment and get an initial observation\\n\",\n    \"\\n\",\n    \"# these are useful for displaying read-outs during the loop over time\\n\",\n    \"reward_conditions = [\\\"Right Arm Better\\\", \\\"Left arm Better\\\"]\\n\",\n    \"location_observations = ['CENTER','RIGHT ARM','LEFT ARM','CUE LOCATION']\\n\",\n    \"reward_observations = ['No reward','Reward!','Loss!']\\n\",\n    \"cue_observations = ['Null','Cue Right','Cue Left']\\n\",\n    \"msg = \\\"\\\"\\\" === Starting experiment === \\\\n Reward condition: {}, Observation: [{}, {}, {}]\\\"\\\"\\\"\\n\",\n    \"print(msg.format(reward_conditions[env.reward_condition], location_observations[obs[0]], reward_observations[obs[1]], cue_observations[obs[2]]))\\n\",\n    \"\\n\",\n    \"pA_history = []\\n\",\n    \"\\n\",\n    \"all_actions = np.zeros((T, 2))\\n\",\n    \"for t in range(T):\\n\",\n    \"    \\n\",\n    \"    qx = agent.infer_states(obs)\\n\",\n    \"\\n\",\n    \"    q_pi, efe = agent.infer_policies()\\n\",\n    \"\\n\",\n    \"    action = agent.sample_action()\\n\",\n    \"\\n\",\n    \"    pA_t = agent.update_A(obs)\\n\",\n    \"    pA_history.append(pA_t)\\n\",\n    \"    \\n\",\n    \"    msg = \\\"\\\"\\\"[Step {}] Action: [Move to {}]\\\"\\\"\\\"\\n\",\n    \"    print(msg.format(t, location_observations[int(action[0])]))\\n\",\n    \"\\n\",\n    \"    obs = env.step(action)\\n\",\n    \"\\n\",\n    \"    all_actions[t,:] = action\\n\",\n    \"\\n\",\n    \"    msg = \\\"\\\"\\\"[Step {}] Observation: [{},  {}, {}]\\\"\\\"\\\"\\n\",\n    \"    print(msg.format(t, location_observations[int(obs[0])], reward_observations[int(obs[1])], cue_observations[int(obs[2])]))\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"metadata\": {\n    \"scrolled\": true\n   },\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(agent.A[1][1:,:,0],'Final beliefs about reward contingencies under the condition that the reward condition is RIGHT ARM BETTER')\\n\",\n    \"plot_likelihood(A_gp[1][1:,:,0],'True reward contingencies under the condition that the reward condition is RIGHT ARM BETTER')\\n\",\n    \"\\n\",\n    \"plot_likelihood(agent.A[1][1:,:,1],'Final beliefs about reward contingencies under the condition that the reward condition is LEFT ARM BETTER')\\n\",\n    \"plot_likelihood(A_gp[1][1:,:,1],'True reward contingencies under the condition that the reward condition is LEFT ARM BETTER')\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 432x288 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {\n      \"needs_background\": \"light\"\n     },\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plot_likelihood(agent.A[2][1:,:,1],'Final beliefs about cue mapping')\\n\",\n    \"plot_likelihood(A_gp[2][1:,:,1],'True contingencies underlying the cue mapping')\"\n   ]\n  }\n ],\n \"metadata\": {\n  \"kernelspec\": {\n   \"display_name\": \"Python 3.8.8 ('base')\",\n   \"language\": \"python\",\n   \"name\": \"python3\"\n  },\n  \"language_info\": {\n   \"codemirror_mode\": {\n    \"name\": \"ipython\",\n    \"version\": 3\n   },\n   \"file_extension\": \".py\",\n   \"mimetype\": \"text/x-python\",\n   \"name\": \"python\",\n   \"nbconvert_exporter\": \"python\",\n   \"pygments_lexer\": \"ipython3\",\n   \"version\": \"3.8.8\"\n  },\n  \"vscode\": {\n   \"interpreter\": {\n    \"hash\": \"70b7ceca5df5387258d861d4588082cea9500e731be001548c95afd8cd8c3af8\"\n   }\n  }\n },\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "examples/model_fitting/fitting_with_pybefit.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"id\": \"0\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"The autoreload extension is already loaded. To reload it, use:\\n\",\n      \"  %reload_ext autoreload\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"%load_ext autoreload\\n\",\n    \"%autoreload 2\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"id\": \"1\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"from jax import numpy as jnp, random as jr\\n\",\n    \"from jax import tree_util as jtu\\n\",\n    \"from jax import vmap, nn, lax\\n\",\n    \"\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import numpy as np\\n\",\n    \"\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"from pymdp.envs import TMaze\\n\",\n    \"\\n\",\n    \"from pybefit.inference import (\\n\",\n    \"    run_nuts,\\n\",\n    \"    run_svi,\\n\",\n    \"    default_dict_nuts,\\n\",\n    \"    default_dict_numpyro_svi,\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"from pybefit.inference import NumpyroModel, NumpyroGuide\\n\",\n    \"from pybefit.inference import Normal, NormalPosterior\\n\",\n    \"from pybefit.inference.numpyro.likelihoods import pymdp_likelihood as likelihood\\n\",\n    \"from numpyro.infer import Predictive\\n\",\n    \"\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"2\",\n   \"metadata\": {},\n   \"source\": [\n    \"## Fitting the parameters of active inference agents performing in the `T-Maze` environment\\n\",\n    \"\\n\",\n    \"We set up a TMaze instance with a fully reliable cue-to-reward mapping, so the cue unambiguously reveals the rewarding arm. We also set the rewarded-arm outcome mapping to be probabilistic at 80%. This means that in the rewarded arm, reward is observed with probability 0.8 and punishment with probability 0.2, while these probabilities are inverted in the punished arm (`dependent_outcomes=True`).\\n\",\n    \"\\n\",\n    \"We also parameterize 10 different agent-environment pairs (`batch_size=10`), 100 experimental blocks (episodes) per agent, and 5 timesteps per block.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"3\",\n   \"metadata\": {},\n   \"source\": [\n    \"<details>\\n\",\n    \"<summary>Explanatory note on <code>batch_size</code>, <code>subject</code>, <code>block</code>, <code>timestep</code>, and <code>trial</code> terminology</summary>\\n\",\n    \"\\n\",\n    \"Experimental data collected from individual participants or subjects in psychological and psychiatric studies often follows a multi-level temporal structure. Typically, each subject participates in a task independently from other participants, and each subject performs multiple episodes or blocks sequentially (for example, 20 blocks of 100 trials per block).\\n\",\n    \"\\n\",\n    \"Depending on the experimental design, blocks may be independent or may include between-block correlations (for example, regular changes in initial task state across blocks). Within each block, individual \\\"trials\\\" or \\\"timesteps\\\" occur sequentially. There can also be within-block, between-trial correlation structure, and this is an assumption we make in `pymdp`: a single active inference process unfolds across these timesteps.\\n\",\n    \"\\n\",\n    \"Because the word \\\"trial\\\" often refers to events that have their own internal temporal structure, this notebook uses `timesteps` to reduce ambiguity. This aligns with reinforcement learning and active inference workflows, where these are naturally treated as timesteps and blocks are naturally treated as episodes.\\n\",\n    \"\\n\",\n    \"</details>\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"id\": \"4\",\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"seed_key = jr.PRNGKey(101)\\n\",\n    \"\\n\",\n    \"# setting the parameters for the environment\\n\",\n    \"num_blocks = 100  # number of blocks (number of multi-timestep episodes that are run sequentially, per agent)\\n\",\n    \"num_timesteps = 5 # number of timesteps (or \\\"trials\\\") per block\\n\",\n    \"\\n\",\n    \"reward_condition = None # 0 is reward in left arm, 1 is reward in right arm, None is random allocation\\n\",\n    \"reward_probability = 0.8 # 80% chance of reward in the correct arm\\n\",\n    \"punishment_probability = 0.0 # only used when dependent_outcomes=False\\n\",\n    \"cue_validity = 1.0 # 100% valid cues\\n\",\n    \"dependent_outcomes = True # if True, reward and punishment probabilities are coupled across arms via reward_probability. If False, punishment occurs with the fixed punishment_probability.\\n\",\n    \"\\n\",\n    \"# initialising the environment. see tmaze.py in pymdp/envs for the implementation details.\\n\",\n    \"task = TMaze( \\n\",\n    \"    reward_probability=reward_probability,     \\n\",\n    \"    punishment_probability=punishment_probability, \\n\",\n    \"    cue_validity=cue_validity,          \\n\",\n    \"    reward_condition=reward_condition,\\n\",\n    \"    dependent_outcomes=dependent_outcomes\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"batch_size = 10 # batch_size, which in this case corresponds to the number of agents to fit in parallel\\n\",\n    \"key, _key = jr.split(seed_key)\\n\",\n    \"init_obs, init_states = vmap(task.reset)(jr.split(_key, batch_size))\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"id\": \"5\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_95807/2592818604.py:42: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  return Agent(\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# Constrained recoverable setup: infer only reward-probability beliefs.\\n\",\n    \"# Keep preference strength (lambda) and initial reward-state prior fixed.\\n\",\n    \"num_params = 1\\n\",\n    \"num_agents = batch_size\\n\",\n    \"prior = Normal(num_params, num_agents, backend=\\\"numpyro\\\")\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def transform(z):\\n\",\n    \"    na, _ = z.shape\\n\",\n    \"\\n\",\n    \"    reward_prob = 0.5 + 0.5 * nn.sigmoid(z[..., 0]) # constrain reward probability to be between 0.5 and 1\\n\",\n    \"    lam = jnp.full((na,), 1.2)\\n\",\n    \"\\n\",\n    \"    A = lax.stop_gradient(task.A)\\n\",\n    \"    A = jtu.tree_map(lambda x: jnp.broadcast_to(x, (na,) + x.shape), A)\\n\",\n    \"    B = lax.stop_gradient(task.B)\\n\",\n    \"    B = jtu.tree_map(lambda x: jnp.broadcast_to(x, (na,) + x.shape), B)\\n\",\n    \"\\n\",\n    \"    one_minus = 1.0 - reward_prob\\n\",\n    \"\\n\",\n    \"    reward_left = jnp.stack([reward_prob, one_minus], -1)\\n\",\n    \"    punish_left = jnp.stack([one_minus, reward_prob], -1)\\n\",\n    \"    reward_right = jnp.stack([one_minus, reward_prob], -1)\\n\",\n    \"    punish_right = jnp.stack([reward_prob, one_minus], -1)\\n\",\n    \"    zeros = jnp.zeros_like(reward_left)\\n\",\n    \"\\n\",\n    \"    side = jnp.broadcast_to(jnp.array([[1., 1.], [0., 0.], [0., 0.]]), (na, 3, 2))\\n\",\n    \"    left_col = jnp.stack([zeros, reward_left, punish_left], axis=-2)\\n\",\n    \"    right_col = jnp.stack([zeros, reward_right, punish_right], axis=-2)\\n\",\n    \"    A[1] = jnp.stack([side, left_col, right_col, side, side], axis=-2)\\n\",\n    \"\\n\",\n    \"    C = [\\n\",\n    \"        jnp.zeros((na, A[0].shape[1])),\\n\",\n    \"        jnp.expand_dims(lam, -1) * jnp.array([0., 1., -1.]),\\n\",\n    \"        jnp.zeros((na, A[2].shape[1])),\\n\",\n    \"    ]\\n\",\n    \"    D = [\\n\",\n    \"        jnp.zeros((na, B[0].shape[1])).at[:, 0].set(1.0),\\n\",\n    \"        jnp.full((na, 2), 0.5),\\n\",\n    \"    ]\\n\",\n    \"\\n\",\n    \"    return Agent(\\n\",\n    \"        A,\\n\",\n    \"        B,\\n\",\n    \"        C=C,\\n\",\n    \"        D=D,\\n\",\n    \"        policy_len=2,\\n\",\n    \"        A_dependencies=task.A_dependencies,\\n\",\n    \"        B_dependencies=task.B_dependencies,\\n\",\n    \"        batch_size=na,\\n\",\n    \"        action_selection=\\\"stochastic\\\",\\n\",\n    \"    )\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"key, _key = jr.split(seed_key)\\n\",\n    \"# Use a broad, deterministic latent grid so recoverability is visible across agents.\\n\",\n    \"z = jnp.linspace(-2.5, 2.5, num_agents).reshape(num_agents, num_params)\\n\",\n    \"\\n\",\n    \"agents = transform(z)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"6\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Sample from the TMaze environment and visualize the results from one block, showing the expected behavior (visit the cue, then choose an arm)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"id\": \"7\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_95807/2592818604.py:42: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  return Agent(\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"opts_task = {\\n\",\n    \"    \\\"task\\\": task,\\n\",\n    \"    \\\"num_blocks\\\": num_blocks,\\n\",\n    \"    \\\"num_trials\\\": num_timesteps,\\n\",\n    \"    \\\"num_agents\\\": num_agents,\\n\",\n    \"}\\n\",\n    \"opts_model = {\\\"prior\\\": {}, \\\"transform\\\": {}, \\\"likelihood\\\": opts_task}\\n\",\n    \"\\n\",\n    \"model = NumpyroModel(prior, transform, likelihood, opts=opts_model)\\n\",\n    \"\\n\",\n    \"pred = Predictive(model, num_samples=1)\\n\",\n    \"key, _key = jr.split(key)\\n\",\n    \"samples = pred(_key)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 4,\n   \"id\": \"8\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAABJ4AAADyCAYAAAAMag/YAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAdItJREFUeJzt3Ql0JNlZJ/p/RO6Zykyl9rWkUkm1dXdV9d52b3a3u70bbyxmAMPMMMwMMzAe9gMMMOyYYcxjgPEDY4+BeYANBmNjjJe22223e6tea5NqL+37kntmRLzz3dReUpUyS6q8mfr/zlF3KTMjFV/E/eLeuHHjhuE4jgMiIiIiIiIiIqJtZm73FxIREREREREREQl2PBERERERERER0Y5gxxMREREREREREe0IdjwREREREREREdGOYMcTERERERERERHtCHY8ERERERERERHRjmDHExERERERERER7Qh2PBERERERERER0Y5gxxMREREREREREe0IdjwV4Qd/8AfR3d1d7tUgohIwf4kqG3OYqHIxf4kqG3OYbtSu73gyDGNLP1/72teguz/6oz/CJz7xibKuw6//+q/jXe96F5qbm9V2++Vf/uWyrg9VN+bv9jl9+jR++qd/GseOHUM4HEZrayve/va34/nnny/bOlH1Yw5vn+HhYXzf930fDhw4oHK4trYW99xzD/7P//k/cBynbOtF1Yv5u3P+8i//Um27mpqacq8KVTHm8Pa5ePHiptvvr/7qr8q2XjoxnF3eGvmLv/iLNb9/8pOfxJe+9CX8+Z//+ZrXH3vsMdTV1cG2bfh8Pujo1ltvRUNDQ1kPDpJcLS0tOHr0KL74xS/il37pl9j5RDuG+bt9fvInfxIf+9jH8L73vU+drM7NzeGjH/2oqkj/+Z//GW9605vKsl5U3ZjD2+eVV17Bj/3Yj+H+++/Hnj17kMvl1Lb87Gc/i5/7uZ/Db/zGb5Rlvah6MX93RjweVx3IUg8v/U60E5jD20fay3v37sUHPvABvO1tb1vz3oMPPoiuri7sdru+42m9//Sf/hP+8A//sCKvDpY74ZaSToZhTk5OorGxkR1PdFMxf0v3wgsvqIbu6qurU1NTOHToEPbv34+nnnqqLOtFuwtzePu9853vxBNPPKFOYl0uV7lXh6oY83d7/OzP/iz+/u//HnfddZf6Pzue6GZhDt94x9OHP/xhdTGXrrbrb7W7kXtbl4bU/e7v/q5K0p6eHgSDQTz++OO4cuWKStpf/dVfRUdHBwKBAL7jO74D09PTV33vF77wBdUTGgqF1PB4ub3lxIkTaz4zOjqKH/qhH1LfJT3NchuMfJ+sg5D1kmW+/vWvLw/re8Mb3rC8/OzsLP7Lf/kv6OzsVMv39vbit3/7t1XP9Ubx/M//+T9Vz6ys98MPP4zXXnttS9uI9/6Srpi/13bnnXdeNaS/vr5exXbq1KkitzbR9mMOl0bWLZlMIpvNlvwdRDeK+bs1AwMDavnf+73fg9vtLno7E+0U5vDWJRIJ1rkb4BFtm+7DlsL1n//zf1YJ9Tu/8zv4ru/6LjzyyCOq1/VnfuZncPbsWfzBH/yB6gH9sz/7s+VlZSjjBz/4Qbz5zW9WCSCNwz/+4z/GAw88gBdffHE5weX2F0ko+Rvy2vj4uBoKefnyZfX7Rz7yEfWenDj+/M//vFpG5lkS8p2SNENDQ/iRH/kRNQT/W9/6lhp6PzIyopZdP8xyYWEBP/qjP4p0Oo3f//3fV7G8+uqry99JVC2Yv9cmlb1cQSLSFXN4rVQqpRq9MkpCGuEf//jH8brXvU41oIl0w/xdS06O3/jGN6pbdf7mb/5mm7c20fZjDq/1K7/yK/ipn/op1YklF3Vl/mPpjCNAeiNplR/90R+VsYUbvvfBD37Q6erqWv79woUL6rONjY3O7Ozs8us/93M/p14/evSok8vlll//wAc+4Hi9XiedTqvfFxYWnNraWueHf/iH1/yd0dFRJxqNLr8+MzOjvu/DH/7wNdf9lltucR5++OGrXv/VX/1VJxQKOf39/Wte/9mf/VnH5XI5ly9fXhNPIBBwBgcHlz/3zDPPqNc/9KEPOVs1MTGhlvmlX/qlLS9DdKOYv9uTv0uefPJJxzAM5xd/8ReLXpaoFMzhG8/h3/zN31SfX/p59NFHl/8G0U5i/t5Y/n7uc59z3G63c+LEieVtJn+b6GZhDpeew5cuXXIef/xx54//+I+dz372s85HPvIRZ8+ePY5pmiq3yXF4q902+M7v/E5Eo9Hl3++99171f3m6zOphsvK69AhLj6uQnloZ+ieTkMmcSEs/MgeDfFbmZBByldLr9ape45mZmaLX71Of+pQawhiLxdb8HZks2LIsPPnkk2s+/+53vxvt7e3Lv8tEw7I+//RP/1TC1iHSG/N3Y3I16Xu/93vV/erytDsiXTGH15J4JLb/+3//r8rhpVFQRDpi/hZIbB/60Ifw7//9v8fhw4eLXk+icmEOF8hIKnmwluSwzK344z/+42rUlsx5/BM/8RNFr3c14q1220AK2mpLySf3kW70+lLSyH3cQobvbSQSiaj/y72oMvxQCq0M8bvvvvvwjne8Az/wAz+gniB3PfJ35Gk3UvA3O8Fcra+v76rPyOTCHPJL1Yj5ezW5TUfWUYYay6TifJwz6Yw5vJbMS7H09Bxp0P+7f/fvVAP7zJkzvN2OtMP8LZA5ZeRkWG7TIaokzOHNyZMAZW6q3/qt38Lg4KCao2o3Y8fTNtjsKTGbvb70pIClCc3k/taNEmd1L7Hc8y29p/J0C+lN/cVf/EX85m/+Jr761a/i9ttvv+b6yd+Rx2BuNmpBkolot2L+riVXo9773veqSlrWVZ4SQqQz5vC1vf/978ef/MmfqKu6Mo8GkU6Yv1BPnPy1X/s1/Mf/+B8xPz+vfoTM0ybxyqTHMmlzU1PTDf8tou3GHL62pQ646elpdjyVewV2s3379qn/S0UiVyO38nnp7ZUf6b09duwY/sf/+B/4i7/4C/W+TGK22XJSeW3lb6zugV6tv7+fT6wjqvL8lcpZriB95StfUVd2ZDJGompVjTm8kaXb7OTklqhaVFP+yggQ+RsyKbP8rCe3vMsTvOSkm6haVFMOX8v58+fV/xs3GXG1m3COpzKSK48yjPA3fuM3kMvlrnp/YmJieTZ+mVV/fRLJIyczmczya/IYSrlXdj15ssDTTz+teojXk8/n8/k1r0nFtnT/rXj22WfxzDPP4K1vfWuJkRJVn2rMX3kiyF//9V/jj/7oj9SoJ6JqVm05vLS+633sYx9TDfI77rjjmssTVZJqyl858f7MZz5z1Y883c7v96t/yxO4iKpJNeXw6vVdTb5HnuJ35MgRtLa2YrfjiKcykmSTR0Z+//d/v2oQfs/3fI/qDZVHQ37+85/H/fffj//1v/6X6mV99NFHVeLIhIMy9FAqobGxMbXMEnlko3yfDNft7e1VFZncNyuPdPzsZz+r7of9wR/8QfU5mcNFHgv56U9/Wg3hXf24dFlWHmP5H/7Df1AJLY+ZrK+v39IEwzJc8tKlS+ogIWRov6yPkDiX5p0gqnTVlr/yOelwkseuy5D+pStIS97znveoSp2oWlRbDssjm7/5zW/iLW95i5pzQ4b1/+3f/i2ee+451aks30tULaopf6XOlQmN15MTYDnp3eg9okpXTTks5P1z586pdW1ra1Pf+9GPflT9rd///d/f0W1ZKdjxVGbyxBkpnDLp2Ic//GFVwGUmfZl9XyYjW7o3VCYIldtfpGNHEu7gwYPqVpj3ve99y9/13/7bf1OdPjJMVyYFlttkJOGkQvv617+uepRlZv9PfvKTKtnlnlaZxHD1kwiE3GpjmqZKNJlwTWbzl8TfSk+tXFmVv7VEnkiw9FQCSWJ2PFE1qab8femll9T/5aqQ/Kx34cIFdjxR1ammHH7729+uGr1ydVWuvMpICbnK+vGPfxwf/OAHd2gLEpVPNeUv0W5UTTn8+OOP43//7/+NP/zDP1S3z9bW1uKhhx7CL/zCL3DE8SLDWZrhi3Y96ZmV+8gl8X/yJ3+y3KtDREVg/hJVNuYwUeVi/hJVNubwzuMcT0REREREREREtCPY8URERERERERERDuCHU9ERERERERERLQjOMcTERERERERERHtCI54IiIiIiIiIiKiHcGOJyIiIiIiIiIi2hHseCIiIiIiIiIioh3BjiciIiIiIiIiItoR7HgiIiIiIiIiIqIdwY4nIiIiIiIiIiLaEe6Sl3RsID1f+H+R8nAjaQdL+rMuOHAZxS9nGIA34IYh/1hi20BmDnCcor8vBw9SdqDEje7ALCUG04DX71obg6x7ZgGw80V/X9bxIu34b2oMwif7wVwfwzxgW0V/lwUXEnbo5u6HjcoSEREREREREW1jx5N0On3ibUBiouhF+1OH8SsjvwIHxZ+493qz6PNmil4uXOfHd3zodnh8rpUX46PAJ94OZONFf98Lifvwe2M/iVLc4ktjjydX9HL17TV4x386AmN1z5t01nzqg8DYa0V/39fm34w/nfxhlOJ2fwot7uI7u2T7v/sn7kBNrW/lxVwS+PP3AHNXiv6+y5m9+Pnh30LeWbVft0C24D2BJOpcxXd2BcIevOcn7oAv6EHFyyYAK1v0YrK9U3YQxXbZynZ3G6VkPuBym2vzd3llMoUyVKSc4y6p8/hGYnB7TLi9G8SQSwH5dNHfZzuG6ngtZW0khlKGvHq8Lrg8GyyZTQJW8cdmyzGRVDFoUJYqDfO36OWYv8xfrVR6DsuFQ2lDl3DxkzlcWg6bLkPth6sufjKHb75Kz1+1MqyDWQffvPy9sRFP0ukUHy960XyyBTNzORlvUvSy894skr7ik9ztNa8e2bQUg4wYKlJuYUbFUNh1xVnw5ZD0Fh9DqHajzioHSE6XtB8y83OYmSu+sSB/cyGTRcRTQseT3wXHdjaIYaqkGKx0BNOzOVhFp5yDeDYLv7v4jie1dPGD5PT0pV8CTn226MX604fx30d+GY5TXPmXdtLrAglEzOJHSh56fSvue/e+q984+Q/Av/xC0d93XHUe/0TRy0m/7wPBBAJG8THc8eYuHH208+o3Xvg48NRHiv6+yXwjfmrw95C2ix+5eKzEzuP739+L/fe0XP3GN34XePEviv6+y9lu/PzQb8EqsvNYDr33+EvrPO65vREPf+AAKh7zt+jlmL/MX61UQw7/448DF58q+vuYw6XlcNv+Wjz+b265+g3m8M1XDfnLOph18E3M39I7noio8qXngPhY0Yvlk82qw6/YzmNjscPP7Sq+wsmmNznAy5WOEmLILkxjuoTOY7ndN57LwDFLuEU3Y21+1ayEGOwcMDObRcpx37TO43x2k30nt8uWEIOVDpfeeRworfM4myqlw11DzF/mb5GYv5qphhxOzTCHb2IOZxKbLMMcvvmqIX9ZB7MOvon5y44nIqIqYeXTsHJz8Lnmkcz61cg8f6gVpslDPZFOLs7amC+6oUhEumAOE1UXtqF3Hp9qR0RUJRVmOjGI3qbjeOjoOXSGvwQ7NwXD4GGeqGwMB9iTh9OXQzpiwVm8TzvteDCWqyn32hHRNcidUE5jGE5LDI7Xs6abiTlMVD3Yhr452IVHRFQFTJcXe9uy+Nff/wj8fh8OHryA46d8eOZEHobLW+7VI9p1HOl0ujsH59E0UsMm4p+Kot6x4DaA/TEHr8VbYSZtoPgpH4lohzkyAXBvE+zDnUBNE+yUifzpYXjOnIQ7k2IOE1URtqFvDnY8ERFVOBlF0dk4ife8qUlVmKK7uxv19Qnk8hN4caAZhsHDPdHN7HSybs8Bj6Qx8owLF59+CPMd34m500/imOcK2tP9uM97Bp/Ov4i483oYRhU84YmoSjiGCeeOLlh7GmFdScHoC+LUTBsG3W/BvPsbOGafYA4TVQm2oW8ebkUiogonTzrZ27aAcE0jkskkAoEA0uk03G4TvZ0pvHbeQb74uSiJqEQyCOLbwznkv2aioeZRpI/+KOprm7DgimG+uxuZkecReuajiIYymE8ZyFXJXLtElUzdSlfrhdPXDac5iNkFP45fWUDDsAfT7feioake8aQb890/xBwmqhJsQ988vHGRiKjCybQx0wv1mJmZwYkTJ2BZFvr7+zE2NoYXXplGzuKVWKKbKRgA7rzNxOc/fzv6r3wQ0boWGIaB+fl5mKaJbNvdeCV4F7yBGLI5TlBMpI0uF1AzDefCJbguHcfnnzLRH3gQ0Vgjc5ioCrENffNwxBMRUYWTxvD5K1m89aEY7tqzR/1+5MgR5HJ5pJ0IJ0ckuokcOJg6lEGmyweP5y709e1XOSnD+Y8ePQqXy6X+Hb39vRj5B8lPNmqJtDFvAZEknLwHKSsAT+woc5ioirENffNwSxIRVYFkth5PvuDC9ExcNYiTqQyeeTmN0ekwXEYOmYWTiM+eLfdqElU/L2D6HeCpHFrjZxCfm1Evy1XU5557Dvl8HrlsBtYzn0A2zWYYkVZCBgwbcMdyqEECHfYAc5ioyrENfXNwxBMRURUwTBeeedWPV09P4V2PGnj2hQs4P9YNryeJqH8I+WwD3Eak3KtJVPWjnSZ9FkLP+VCTMfA2z3OY+uLPYPSuH0OsYz8aGxuRSydRe/mLaLVOlXt1iWi9kTxwIQfkHQTTDt5sPcMcJqpybEPfHOx4IiKqEjLcP5Vvwt9+KYOGGg+6Gk5hbMqLmfQtMDwe8GYAop3XsOBSsxQbLgPdtSYOus/i8pnfx8D0W7E/dRahU/3YY13ErNlU7lUlolUM+c+Utfy7xwC6aw3mMNEuwDb0zmPHExFRlcnbPozMHVBP6nAMwLBVc5qIdphROHVdPIMFgnLmKvMV58+ha/QPCx1S8pK0YPmUHCLtMYeJdhe2oXXseHJ5gI57gFThvueizHQDQ6XtxHCdH21tgaKXC0a9MMx1f9PlBTrvA3LJ4ldk/CAwipJEmwJoawwWvVxtsyyzLgbJitajgDdU/Iq4eoCJ4heTdahrDaEtVvw+dHtNuNzr7oeXSRnb7wQi7cWvykILMChHhmIXNNDQUYO2cPEx+EJumOvLUqVyewFP8WURHn/pf9LjgruEI4/p2mQeBdNdWgxuX/HLLGagisFVfIvTdG1SbkxPaTEgUDgGbFD+ZXLEwv83XtLtMVU+Fuuq4+jq42kpMVillyWXxOAp/mlCVx2DiHbYUj6ur8KJqDIwh+kqbEMXjW1oY1e3oUvvePLWAN/956UteyoOHB8oobMAOPi6Vrz7va3FL7jRfg41Av/qb1CSZ2eBVy6UtOjRRzvxzkcbtycG6bR550dKWg98eRI4faWkRe95Zw8evLu2tL+7Pg63H3jfn5b2XReTwPP9gFVcYZIDyQPftR9HDtYU/zerqdHx6C8BD/5E8cudzQP/z0LROSwddm/+4Vuwt734A6U3sMnh6vA7ga7XFf19eCkLfCxR9GJunwvv/M9H0VTnKXpZX2iTZe78IHD4XUV/H6Zs4DfngEyxCxq4//19uO9IuOg/GQh7N37jgf8K3P1vi/4+DFrA784DK3c3bIk0Ch79gUM4vK/4itrjr5LBvke/p9BpX6yhMPB3RkkNpjse70JbffHbTzr6N9R5D/CW3y76+3AuBvwTSmow3fP2vYiFix8039IT3fiNfY8A3uJzCQte4C99QK7YBQ0cvr8Nt3UX3/Bv7tlkjorD7wbqeov+PkwEgb8xix75ISPDjjzSiZ6W4o+jMXURrkpUQw7f/W+AvjcX/X3M4dJyWC7Ab4g5fPOxDV30YmxDe3d1G7r0JVUXYIln4Jt1H8rEnI6z9srCRotv12iTMsUgr1d+DLrsB1OPGCpVjcxPUMIcBeEFaXEVv5xhoCbmR7RpGxsdvkjhp1g1MlrzfNGLSbkJ1/sRbSztas+GArHCT7GsDGDIfij+ylEw4t3e/RBqKPwUa15GnEoMxV+JCNX6tjeGStP7aOGnWKcWgM/0F73J5Vjad3czeru3cZs3HSr8FMssLX9dbgMHX9+Klu3MX+k4KKXzYCID/NVJIFd8/nbdWo+j95RwzNhM9wOFn1Iu/nzqdPH5awD7bm/EkUMlnOxXk0rPYakQD76jtGWZw8zhSsc2dNGLsQ29u9vQZb/sK50DVj6FTOIcgu5RzMUN2IgiUn8Ybk8Jt4+VKYZ8Lo5c8gIC7mHMLnjhmBFE62+FS0bzVEgMuewcrPRF+M1hzMRDMFxhRBtugylDGCuA49jIpqfhZK/AawxhNhGF6Y4g2nCrmjCOiIiIiIiIiLC7Op6klzGXHsddh2bwhtcfwOkz/Xj6VR9SqJyr2I6TRz4zjgdvX8Bdxw7i5Kl+PH0ijJy5jb25O8y2srCz43j8dWkc6N2PEyfP4pnTe2AZGhSRLbLyacCawLsesdDe0odXT1zA82f3wQHncyEiIiIiIiIqh7L3Ksiw366WBL7nvffC7/fD5/Ois8uFP//sOBxXMyqBaZg42JXCe991H9xuN/x+H5rbgE9/aQZw1aESuFwmbjmQwdvefK/aJ6FQCLUNeXzhWwuAUcIQzDJwu03ce8jGo2+4G7ZtIxKJIBBJ4xsvpQCjcjoyiYiIiIiIiKpF2TueOhom8P3v7obX61W3e7W0tKCpycb3vmMSf/WFBCzof7tdX8c4vvsd+2CapoqhtbUVTU0WHGcCf/fVNBxD89vtHAdH9k3gPW/uW54PSWJobMwDxji+8C2Z9V/z2+0cG/fdOoW3vqFP7QOJQ2J4rD4Lw5zAky/6ChOxExEREREREdHu6XjyuVOYnc0gEZ9DQ0MD5ufn1WiVTGoCbncQVh7a87qSmJ2xMDdroLm5GVNTU6rjI5eZhMtVi3zxc5bdXAbgccUxMwNMTxc6/8bHx+FyuWDnpmGajbBLeALhTWUAbmMBMzMuWJalOp1GR0dVDIY9C8NoKeUhikRERERERER0A8o++c1Cphl+fwCJROGRjPl8Xv1cGMwjnQugEsSzLfD5fEgmZWZ5IJfLqVE3/RfzyFn6z/MkD39LZFvh8XhVDNJpls1m1f9PnrNg2WXvn7wuxzGQzLeqjqZ0Oq1ek/+bLhdODNiwnbIXdSIiIiIiIqJdp+xn42NTwOCIhd7ePnW7XeFWu2bMJNrU6smTyhzbgs4uD9uYmoWKQeZ46ujoQG1tHebSnep93WOQDibpJEtlXOjr61O3DHZ1dSEYjCCR26Pedxy5dVDfoVuyjq/1Z9Vtjfv2FW577OnpUaPmUnZXIQZb7xiIiIiIiIiIqk3ZO55g+PG14w145vgQ0uksxsZn8Y9fmcbl8XqYmIcrdwIzEy9q3WFgGzX4l6ejOP7KMLLZPIaGp/EPX17A2EwMbmMOTuolzE29pkZB6cpCLT73ZACvnBxBPm/h4uVJfObLKczEo/CaM8gtHMfC9GnoLGs34LNfNXF6YEzFMHBuDH//ZQuJdA38rimkZp9FYu58uVeTiIiIiIiIaNco+z1UMhJlfNqFzzxRj4ujNnKJ8zh9pQUe9wjqwgsYn9+LWJM8kaww6bWOJIahCQ8+9aUYLo9lMTN5GQNDjQh4E6gJpDFmH0A0oPdtgxLDpREfLo9E8cBoEkODI7gwGkPIP4eg30Ymdys8pu63DRoYuBLE+UHgoTvnce68dGDmEA6Oq6clJqO3wzC95V5JIiIiIiIiol2j7B1PQj1JzfDjpdM2PGYbOprSGBrNYizXozoK9O1yWh9DAM+8asHnasKe5gyujNpI5PfCMLXYzNdVeKJdEN94MY+QJ4bO5iwGx0zE5XY7l6tiYrARwhPPexH2hdDZlMbguA/xbDtMV/kH+BERERERERHtJnr1iBgmck4LLk0AcOk8xukaDBcydhsuTRa2biXGYBhuJPMdSE5VcgwexLN7EM8C8JR7bYiIiIiIiIh2Jw4BIaLtIfOw5a6gIzaAsPcyHEd6/SqMY8HIX8Ce+nMIuq/AcfLlXqNdybGzcFtn0NV4AV5jVGbSK/cqVT/mL20T5m95OHYaXvu02u4ejMsrqDjMYU04QG4IbdF+RP2XACdT7hWqfqyDaRfUwZp1PDnrfioRY9BDNcRQGWTif9tKoyE8iJpgDlfGg4iGEnjk7gRMxLWeVH+JevKklURj+BKCfhOXR/1orp3FQ3ekYDiJioih0sk2lv1g2AtojpyH2xPG4Jgffe3DuP1gVp1UcT9sP+YvbQfmb3m3u+nMoyl8HoY7iuGJAA53DeLWfRk4dqYitjtzWKf6IIO60BDCwRSGJkMI+jJ49O55uM3KqA8qDetg2k11sCa32jnwexKIBqYQ8MbVK6lsDeZS9UjnQouf0f2Gr41iCGEu1VAhMRQKYyGGSTUx+tX7Qef1Xx/DZmVJ9xgqjzwp0LQnkPTvU7c4Hjlg4d4j9djbFUF36yS+8ZKBs1f0fkCAPLFRys2Cby9cLjduvyWH+462or01iD0t43jqJRcuDvsW50HTmQPTsFTZD3gWczgXUjlgOzJPm87r72Bm/DgaYj5Mx9sRCLhwxy1p3HdsHyIRE90tk3jq5Sb1MAr990Ml5m8vHHhx234L9x31VGT+znv3wnR5cexwFq87Vpn5axi2isXvTqpX0vmgqrscR64TVkb+TsU74Pd5cPstSbyO+buzHBvTY8+juSmM6UQrQkE3ju1P4N5jvQgGDOxtncI3X2nG1Jyp9XZfroOrJYfdSfg9ScBwkMkVctjWPoeB5MJl2Nkh1Pj7YDkRHOq1cN9tLvTuq0NP5zSeetHBqYs12sdRiXVwyi/zGodw9KCNe26rzDZ03NcNt1vabnncW6FtaJeZR9C7gIBn8RwyV4NkJgzLkS6TyqiDZxJtCAZM3LEvq10buswdTw5cRh5tsfNoiV6Cx7V2KGfO8mJ0rgvDs/tg2bru8K3E0I3hmR6NC+3qGC7C41o7vDNn+Qr7QfcYzDzaas8t7odKjKEy1dTuRW0giM76ftT45/HGNzyASCSi3jvQ14y62AL+4C8mkbUboatI3QHEQmPoqDuNaDCBRx55CMFg4UmUtx1qRTQ8g4/+dQoWaqGnwsi+WGgcHbGzCPnmYBqFobXS2E1kohic6cVMokm/ga6LDMNEXdMxREMT6Kg7iaa6PB5544NwLT7Y4J7b2+Bxj+Jv/iWqHuRA26MmuheRQBid9WcRDszhkTfcj0ikruLyNxKYRGfdAGprFvDoIw9ukr8x6MtRF3066s6ixjcLl2mpVy3bhXi6VuWvXMjSte6S/I01HUM4OI2OulNorsvhkUcegJv5u6MM04X6ljsQrRlHW+w1tDUZePih18M0C8f519/dBmAIn32yATB8WudwbXAcHXVn1GiPSs3hiF/K/wDC/pnlHJY6OJ4u1MGzyUZt62ARDO9BjS+MzrrziASn8PCD96K+vkW9t29vI+rrkrj0yTEkc4XXaHva0HVBPzrqz6DGF8cbKrINvR91NaPq2B8JJvHIGx+uuDa0AUfF0C5taO+C6kBW70gbOhvG0HQvphMtcnkXOrehYxJD3Qk0xWy8UcM2dFm3nlyZ7248oRqLXncG6sFwq3687qx6b2/Da+qzOpL12qti6FedThvH0K8+U4ih/MPcNhohsRSDrO/6GCSutTHoR8XQ8NpiWbo6Bilf8l63xjFUJget0Us40PYSwv5pZDMJZDIZnDt3DrZt4+zZs4CTxh2HHK3uMV7LQWvtJRxoLcSQyyURjy/g4sWLKob+/n4EfHnc1qf3HAet0YvY33J8scFrL5d9+be8dqDluPqMfsegJTZaY5dxoPVF1PimACeH0dFRjIyMIJvNYmCgH+3NJno7pjWOodI4aIoO4lDbcUQDE8hlFpDJpK/K39sPFT6rfQzBCeRziQ3z99a+nNYxNEcu42Dr86rzye3KwzBk5ISj/h0NTqr3miKXtY6hJTqIg60vIOKfgIEsxjbI3562WY1jqDzyHN/O+vPoa3kJIe+Uat8MDQ1hYmIC6XQaZ88OoGePB+2NCxpvd3u5Do4EpjbN4Vt6dWxDL3HQGB7EwbbnUBucWJPD0gEVCUyvqoP1bQvVhcZxqP0FdQKeTc/CsnIYGBhQ+0HqhWwmjntuM1S5o+1go632Ava3vqIuOGQ2aUPfeVi2t67b3EZbTNqfhRhy2dSG+Xtkf1rr/G2tPY++5pdQIxduV7Wh5d/ymhxj5TM674f22EX0tbyCkHcGziZt6L6OqbLGUNaOp4bwEJoig+rAvBnZ6Y2RIXVA16/ASkUzhEYVQ2FdN49hcDEG/ch6LcWwkaXYCjEMabcfpJe6EMPQpjGozxmOKm9S7mh7SCNxT/0ZuBY781pbW1VFEwzKsGCo/1uWhVr/eXX7o36c5RiWOiTb2uQKMeD3+9X90DU1NcjlcmgInVWf1dFSDG7T2jAHVOVpWOozhRj0ymEh5WNP3RnVSJdhwE1NTfB6vepHhMNh1SnSGl2KgW6UdEh2N5xSo0Wvl7/SKasf56oYNs/fAU1jkP0wja6GU4snq1e/X+hAzqs4JV4d87cQw2m1ntfK3/ba04sx0HZYukIvFxhklFN9fb0q+263e2W7p5PojJ1Qt8LoOdJvsR2xhRyW0bw6kvXqbjgJt5m7Zg5LnIW2kH45LOWjp+k1eNWdG85yfRAKhZbrA9kfYc8l1IVGyr26VUHKglwUX2p/blYHR/0X1EUJXfN3dQyb5W996Jym5wEr+6HQ/ty8DS2f0TV/a9WI6YEttaHLuR/K1vEkB2C5JUo6Da5HPiOfXaqUdGEaeTRvMQbTkBguq1vadCLrI+sl63c9EqfEK3HrpBrKUiWSK16t0QuLJxqF1/zuEGKxmKo8pREsFZD87vMWriYs3f6lCykPcrVpKQapJAPeEOrq6tDS0qKGqC7F4HFbaKs9r92VPlkfWa/rlemlhq/Eu5VcuZmkXLQu7gdh2xZiIZ86iZIfqThlf9TW1sJlZFW5020/VGT+1p5fc6Lkdwc3zF+/t1DG9MzflRgkf/2b5K/XrWfZXzoGSQzX/JwB9RnZZ7rFIOVi9X6Q/K0N+TfOXzOjcp35e+PUFAm151Zuq7ZtRGqiaGhoKOSt34/m5ma13X3uBJojW2snlav+ul4d7PMUjv36nfRJ++aCmuLh2hc/l+pgHdsRDloil+Bzp5ZjqPHYiNXWqu0v9YHUC+pY6jXUcUi385nKrIO32Ib2FMqYjnXw6hgK+VuzcRvaZWl57C8cg1ban9fL30IMldCG9m5YB5tGrqz7oWwdTz53Uk3ctZX5reQzMtm1LKMTmThQJvHd6hxd8lmfJwWdyPosTcK91f2gJkzUiE/th8TWy5Inrl1ZqkQedwbhwMzydndZASy8GsOr37ykhnZKBSS97t/4xjfUcM+wfw4elwy11YfcRipX35dicNtBTDwXwOkXrmB4eFi9JnE88cQTmJ2dVZ/1uPV6xK2sz+oYrkU+o2JYNxdduUm5WB1Dk2se+47/ChIXj6uyJOVIhgr/y7/8i/q/lDspf1Q6OUmKrNrmLsuPhdc2z99IQL9y45YYAtNr8nfyOf+m+Suf1S0GWZ/VMVyLfCYamFZx6xfDSllqcMXRc/y/b5q/Mg/O+nkYqXh+bwIhn8xFUvjdZ9Xi5D8vYPjSBMbGxtR2TyaTarvn83nEQhMwF+cd0oXXnV7TjvDYoWvWwdHgFDyua3fS3myyPjKCYMt1cGBWxa0TKRe1oYnlGIJGGg+P/xlSz3wcoyMjatSNdIR8+9vfxpUrV1DjX1Dlj26wDe2fXVUHB7Hwat012tCz2rehr5e/hTa0ZnWwO4OaKmhD16wqS82uOfRdqw0tZalM+6Fsk4u7Xbnlife22punW0NF1qeY3meZqEy/wirzUm09BhlqWOn7QcqdlD+68e3uXnWFwJuthR+1mDgxhqGZ4+g71IPJyUlcunQJ0WgUHm9Wu+0uB17XuhiCqMelZwdxcfQUEocTav2l0ldX6115LXO4mBF88lntKn5Xbk3Z2IsruNU/hq998//BiaYPqDkPXnzxOOLxuLpyJuVOt+NQpZEysHqbeyR/ndjm+euRfaTXNpeTt9Vl35ONIoiGa+RvTr+yr45BWz8uSry6nbRKuVg9YqsHl3GbfwRf3yx/NdwPlUhGpyzPWekA3kw9AmYrnvn8SUT2p9QcT8888wxSqZQa/VSos/Wqg6Usr55305OJXbMOlhhcpl7HIbeZLao+krsGtMthM7cmhlaMo9ccQWDks/j/poJo3X+nyl+Z70kmvna7LXjdel1IrzSFsry6/RmFH9FrtKHXtpP0qb+sdXVw3XXa0Fmt98P1SLy61V/udW3obgzisH980za0Og8o034oW8eTbZtqpvitdnrIoDZLPQ5cH/J4cseRCZC2OOTOMbSLQa1PETFIvIXHsutDnvrjFPGsHyl3Uv7oxsh2VOV/kW3m4DgWpmemkJ7wYuzMKZiRJIJ1QTXM0173eV1jsJw8ZmZmkJkwMXrqNZjhJEINITVnhu0Yi48110exj1l3NIyhsF1XjkNJ+DGfNWDMXETP+EcQP9sMr6cX4fpb1JUb29YvhkpTKAcr5cYxLDjyaPY1+Ztalb+FOkzn/JUYrs7fFPN3p8k6rfo1Ay8W1uWvz7MP4fpbV+WvXmWpEkmduppj5JHOJhCfzGFyPIXBF1+FVZNBrCW8Yc7rWP43ymEjkkBNfSGHLVvu59EsBrnxpqh10i+H18eQhQd5mBiZTeBo+uO4fOXLmPfvgS90CD5f4emIusVQaa5uf2ZhX7cNrdc2tzeIwXJya/M3nETNqjp4/XGr3OwS6mDdzoOdpbKx2IkfR3BNG3rhbDPcnj6E6w+XvQ1dto6nTD6IrOWD39xaj3k270cmV5hsTRfpXBA5ywfXVmOwfNrFIOtTzH6QeCVu7WLI++H3FLEf8nrFUImyeZ/alkv3due8s8gGprC35aB6P+OfQjwyAGfxakg250fO8kMnmbysk09N6iskhnxwGvtab9k0Bolbu/2Q96vbTbdC4pW4dSLlIpsPLMdwDt244uvDA93yBBEHp4waDOEwvPDCcQo5rNt+qDTZ9WXfN4Ocfxp7W9Qj7JD1TWMh2g9n8UqgKvuWT8MYvGtisAKz2Nd666oYzqzKX5+m+etDwLu1278lXolbJ4V89C/HcBbduMXXgwe7ZT4eC/2GH8OL+Suk3OkWQyWStk/e9hRuPTOATGAC4Zp69PmOquNmOjCGeOSc6tCX42YmH1Cf14laJ8uzPGoi65uCz9+wnMMZ/+SaOlg+n7ML5UgXkpOyXm6XPDnw+iRe+bxOltZJRmJJe24UTXjZOIw72k7ChIVBw8Hf4jCiiKjP5+Tzmp0LVBo5BsqPyyxM2ZKVNnRwAt2tB9T7Gd8kEpFzK2Vfy/ZnQMXgdhWmbJEYvKEp9LQdXo4hHjkLmIVBJplcADnNjv2yPlL2g1ucdmZpv+kkmy+064OLbejz6MIF3yG8vntA/f6aEVVtaCy1oVXM/t3V8SQH6ql4a2GSvet0NMpGmo63qMaKTmR9puIthQlLtxDDVFXE0KplDFI+WouKQa+GSyWSBqxsy47Y2eUrlQvRAaSChacG5mUercURjYXt3qwaNzqxVAwtaI+dK0yMuD4GNZ/Z6hhakNes0SvrszqGa1mKQeLWiZQLKR/tsUJ9ICMm/gGP42ljSo2kmEA98quqKyl3up1AVRrZftOJZrR5zi+X/fnoGbjzNYX33Ynlq2dSbmYSkr9eDWNo2TQGy51Qry23IyQGDfO3sB+2Vn9JvLqVfSkXUj78izGk4cNn8Ba0GOPqfTmJlREUa/eDXjFUonQ+iLlkPeprRguTupsZzMdOwJ0LwTFs5D1yIrUyFm1yoU27ERPSfptJNKE5ermQw2YeC7Wn4c7VwDEc5N3xNe2IaQ3rL1kfWa+gd2W+rc0slX/d2tFSLqR8LD1xMg8XvoiHVeeTBzmMoREp+JdjkHIn5Y9Kl7fdmIy3qielKYatOmmW2p+WupXRWXPuol/ZX4zBO1Ao++Z1YljQsP6S84CFFgTqzm4pfyVeiVu/c5lWBGKFGKS+/RwexdPGHWo01xRqYWFllFY5YyhjDWRgeKYHiUxE7cjNyHvymaHZHujHwPDsvi3HIJ/VUXExyH7Qb5izlI8txzCjXwyVycDobPfKdpdNKo1db1z9qCscxsp2H5nrUftKLwZGZvduHoOxLobZvdDRmhg2sTYGvfaDlAspH8nsUgwG8vBgGC0YQYv6d+H2hEIMUu50i6HyFMp+MluzUvZNKfvz6gdylXWx7KeyNRie3att/qY2icFZF8OIlu0Iyd+elRg2sRKDnvkr5WMlBgNZeHEZHepH/r2Uv0lNY6hE0lkwONOnRpwtlX/puMn55pD3LhRuXV4s//OpekwsdGiZw0Oz+9RI+pUYrMUY5jdoR3RBR7JeW6mDJU5d29FSPqScLOWwBTeG0IqL2IMUAss5LOVNyp1unZiVx8DoXDfi6dpV7U8HliepflbnbzwTVcdNHfN3TQy4Vgy1GJnTtA09t1et3/XyV+KUeHXM35FZiSG6Jn/H0YhxNKh/L+VvuWMo61Eja/kxMHY75lN1amOs3uFLvy+kYxgYO6aG8+m2o4UMV7teDPPpOvWZwtA83WIwVmJIxzaPIbU6Bv1I+ZBysrCVGDS73auSFXL42HKls9F2l4P52bGj+pYdy4+z14shXVs4Dmladra0H9KyHzSOQY5Do0eXK85K3A+VRoaXS5lYOmHaaJsns2EMjB3V9vZkiUHKRDIT3jQGiU8+o9vtLetjSCx2vFZmDEFVTqS8XCuGsxrHUIkSmSjOqfwMXKPtU4+z40e0G2mwJJ0LqXKx1HG5cTsiqj6j2+36S3JL7Yhr1F8Sn3xG4tWRlA8pJ0udTxvFIOVMypuUO7pxMvJtYPzYtc8hU3WLZV+vUXJrYzh63Rikfad1DKNbiEHz/XB27Jj2MZR5rJihGimnR+5Gfc0I6kKjy3N8pHIhNXR15ZYK3TpsthBDNqSGxVdMDMP3VHgMEZxSMQyjrmYMAU+lxVCJCtv95PA9aIwMoT40At/iXFtyL7dsd7mKVri1UdftbqgTvpMj96AxPIj60OiaGKYWY8hrHkOyCmJIZKM4NXyviqHuqhhaMTHfvnirlK4xVBpDdQyfHL4XzZHLqKsZLczxsTj/mdTB4/Odix19htYxnFAxXFEx+NxpNbg/uxjD2Hzn4gmr3jGcHLpnOYb1+2Fsfs9iY1HnGGI4OXQvmjbdD7rHUIkMzCSbcGLoPpXDsdC4elqRTIArt0JNLbQWjv1at30MdYG2kMOXURcaV+VflR059sdbMa7aET7t2xHSBm0KX1G3P3o9KbW2qvwnmlT51/UieoGhOsVOj9xVaEeER+B3J2EYjmrDzSzGUOg40zWGSmOoDsnlc8iakeVzF9nOMjXCVLxN+/xNLZ8HD6uy76/EGHKVH0Nyk/1Q6FNp1eI8uCwdT16PidYmH2z1mBzhA4w+zFm9mE8v3cttwvAbaFjXKRcO6TGTvN9noqVx9VwRW48hGNBjeKqsR6kxSPw68LgNtDZ6kbdWl6X9mMv3Yd7aPAbTNFQ5pO3M4YOYzu2Hy7JWnjboNVFft7Kc22WofaZvDh/CdO7ASgzy5AqviYZVMfj9JlwuPWKQ9Whu9CK9mK/LMeRXxWBfHYPuOeys3w9LMdSvLMcc3t78tYxbMZU9BFdeJup21JwBtseFugrKX8uIroqhMP+ExFBfQfm7lRh0z9+VGOTxzsaGMTB/tz+Hs0YdJjIW3PKEWbldWU4wfCYavJWTw3mjFpNZa7nsSAzr2xG657Bt3ILJ3CG4rdzKsdTtQl2scnJ4qT0nMcgzK2U/2C4XamtXlmMO78B5cL4X84vtHsdxXXXuonv+yvnXbL4PxjVi0D1/txKD/vm7/7oxlCt/Dce51h2NO8OyHWSzSzu5OG63JF35d7ZlOcjmSotB1l/iKLd83kEuX1oMUlh1OHDIQTtTYlnyek24zPLHUIluJId9XlMd8Co1h2XNvT4T5vVmIbwJbMdBNmOveZT5VjGHdy/mL/N3uzB/y4M5zBzeLszhm4/5y/zdrflblo4nIiIiIiIiIiKqfuUfOkRERERERERERFWJHU9ERERERERERKTZ5OK2BcTHCv8vUtbxYNaKlXRPpccAPCUsaboMBKNeGKvvKbXzwMIY4BR/b2Ta8WHOKu1xol7DKWnDm24Dwci6GNRzZscBK1v09yWdABascAlrAvgMB6VM8y6rHoz61P5YJttf9oPsjyLlHDdmrLqSylLJMZhAKOqDocE91kRERERERETV2fGUmQc+8XYgMVH0ov2pW/ELw7+hnrpRrD5vBvu9maKXi9T78b6fvgse36quBuns+NNHgWy86O87Hn89fnvs51CKW31pdHmK7yhq7AjjOz50DMbqThvprPn0DwKjrxb9fV+fexv+9+R/QCnu9KfQ4pYndhTH63fj/T9zJ2pi8mjrRbkU8JfvA2YvF/19VzI9+MnB34NVQhfS6wJJ1LmK7+wKhr14/8/eBX9IHklZ4ZLTQC5ZcudxKfyGXdKDPD1+F/zBDbZ5NgGkZor+vkyJncey7r4SY/AF3PAGNjjspucLx9QiyVP3plXHq1FSB7irhC5bKfdrjqNLUrMlHUul87hwIaL4GGQ/lDJs1+N1wV/D/C0F85f5uxrzd5fnsFz8TE4B+XTR38ccLi2H3R5Tlf81F6EFc/jmq/T8VSvDOph18M3L39I7nqSykQ2UWSh6UTudQDJlwSkh3LRlIVfCKKtcxiqs8xqlx2ClkyqGQgoVJ2NbyC0+4rAYuewmy2STJcWQT6eQTJUyE76DtJNHzlN8DGrpq/JU9kPihsqSVfR+cJBBHjl3CfvBW1rcWvryLwEnPnPTOo8l4+8PJhA1i9+Ghx9sx/3v6736jZP/AHzhp4v+vhdK7DyWg+ZDoTiCRvG5c9fbunH7410brMwngCd/p+jvm8w148cH/xdS9qqO3CI6j1tL6Dx+8Lv34+DrWq9+4xu/W4ijhM7jnxr6PeSd4jqPpeTdF0iivoTO4947m/DG7z+Eisf8LXo55i/zVyvVkMP/+OPAha8X/X3M4dJyuP1gDG/9kduufoM5fPNVQ/6yDmYdfBPzt/SOJyKqfLn0Te08NqTDz8gj6yq+wrFym1S0Vu6mdh7LFY6MmYfbLP5Kh5XfZBkrU1IMTi6IZDKP1Aa3Cy89sPSqq6KrOo+zJXQe29YmMeRLL0uJZOmdx9kSOo/zJTwCWEvMX+ZvkZi/mqmGHJYRH8zhm5bD+cwm+445fPNVQ/6yDt4wf6+z5Jr8Vbkum8HZLN9X2Lu8DmbHExFRFZCKz8qnkM9MwOeaQiITUo2aUGQvTJOHeiKdMX+JKhtzmGh3sR0bGcwh1hFA1jsDa9YPeyqKvJ2Dx7VuTmZSeCQkIqoCtpVBJjmEO/ouoa/bjxOnTuPU0FEYRilT6BPRzcT8JapszGGi3dXRHN3roOVoLVLZOEKhZjXt8nNfOI/cdA7H7h1EKOTg4olDyCx0sBNqETueiIiqgGl6sH9PBt/33Q/D4/Ggs/MS2vrd+MZLaRiuQLlXj4iugflLVNmYw0S7R8aYR/MRP+qbanH8+Hn09vYiFovgke+5DU988W+w7+E/RH7yfpx5/u5yr6pW2PFERFQFV172tU3gvW/uUA1e0dXVhcbGFCx7Gk+/1gzD4OGeSEfMX6LKxhwm2j1MI4fDr69BXWON+v3IkSMwzcJ8XV6vF8HaPfjbj30nWuz3wZAn/3G007JSnqJHREQakTqtpT4O07AxNzcH27YxPz+PfD6H1roE3K7iJ3EkopuD+UtU2ZjDRLunk7kucAmDpwaQjKfUa/39/UgkEurfFy9exPDwi+i79Ti8wXiZ11Y/7HgiIqpw8kCNuVQTkskkzp8/ryrGwcFB1QB+8cQc8havtBLpivlLVNmYw0S7p5M55I8jNdGK0dMpZLM5hEIh9V4qlURd7Akc6T2N01/990jOtBf91L9qxyMhEVGFk0kLBy5m8fj9Ydx+e4d67fDhw8hkskjZIfX+tR/tTETlwvwlqmzMYaLdQdJ4eMKN9oiF8ZcNTF4YxYw9iM6DaURjz+COOz6B2ZP/Bg2hg8z1DXDEExFRFchYdfjKtz0YGplRw/xnZuN44pk0xmcjcJlpZOOvID7TX+7VJKINMH+JKhtzmKj6SWeS5T6IBfcMHNjAfAS1C4eBy2k0+k7jmb/9aQyffDNcJsf2bIRbhYioChiGiZf7/Th1No23PZzAy69exPmxDgR8M4j4J5HPdsITLEyESER6Yf4SVTbmMNHuYDtuWPF6DGfPobP2EEyXhUxuBi/904/Bsfyqc4qDnTbGjicioipq+OacOvzj17OIBQLY23QJQxNuTFoHYbjdvNOcSGPMX6LKxhwm2h18ZgjIF7pRHNuD3Mzt6t/scLo2djwREVUZ2/FiKtmLqSQAV7nXhoiKwfwlqmzMYaLq5nZ50N7QV+7V2EUdTy4v0PdmID1X/LJT7cBQaV2CsZYQerojRS8XjHhhuNb9TXcAOPA2IFd4HGJRRnqBUZSkobMGPW3F10TRhsDVXamGCex9CKjdU/yKXDwCTBS/mMzQ39ITRU9D8VOEub2m+ln7dW6g901AfLz4VZlrBAYNoOgn1Rpo21+LjmjxMfiCbpjryxIRERERERERbWPHk68GeNcflLbs6Tjwrf4SOguA3jub8Jb3tZb0Z6+aXT5UD7znoyV9F56bBZ47X9KitzzYjrc82rA9MZgu4LH/XtJ34SuTwCuXS1r09sf24IG7a7cnBo8feNvvlvRduJQCnjoNWMUVJlmFe9/Zg9sOlna/fdU8qeCeHwYOvKX45S77gb8sfhuYpoHXvWcfOhu9RS8bbQps/IZ0vL7/z4r+PpwOAp8pfjG3x8RD370f9ZHiD5/17ZuUt4PvBOp6il+ZWTfwp34gV+yCBo69aQ9u791km15D02Yd/8e+D9jzuqK/D2Ne4BMuyByNxTBg4O537EVfu6/oPxmu96MqMH+Lxvxl/mqlGnL4wZ8Abv++or+POVxaDgejm+w75vDNVw35yzqYdfBNzN8bu9WuTCff23rSzxhu4M8yhorXeU/hp1iuBcAoofPYMLDncD16u4PYNnV7Cz/FSs4AKL7zWEa7dR9pQEtj8QfrTTUdLPwUayIDuE4CuSJrHACt+6LouzuGbdN2rPBTrJokYJyWu+SLW84AOg7E0HcojF2L+Vv0YszfTTB/y6PSc1jaUN0PlLYsc5g5XOkqPX8F62Dm726b48m288ilJ+F1zSOT88CyTfiDzXC5K6dH3LayyGWm4HPPI5X1wbYNBEKtMOWWxAph5dPIZ2fgc88hlQnAdoBATTvMCnokZD6XgJWbUzEkMyGVWRKDTPhIRERERERERDdX2c/GHdtCKj6I5tCLeOvrR7G/6WswcpdhVFBnh23lVAxddS/h8XuG0Vv/BJAfgyG3wVVQp1M6MYgDrS/jkTsuozv2BGDNVlSHjXQ6ZRKDONr9Kh46cgGdkSfg2IlCty4RERERERER3XTl790xTDTU5vHDP/A6NNTH0LO3G7eNePGPX08DZmnz79xs0knW1pjFv/2Bh1BTE0JPz0WcueTDV57JwpAJzCuAjMzqac/gh77vjfD5fOjru4AXT3vx7ddyMFzbOBxyB7lcPtyyL4vv+543qfugDx66hG++6MGr5/MwDE+5V4+IiIiIiIho1yl7x1OsZgbvf6wGdbEoHMdBZ2cnWlpySKXH8NXn3YCh/+12LbEpvO+xOoRChXtuu7q60NycRiYzhW++0gTD1Pt2O9nue5om8d7HWlSnk+ju7kZDQwL5/CRe6G+GIU+e0zyG/Z0T+I5HO+B2u9Tve7u7Eaudh+1M4OTFlooavUVERERERERUDcp+Jt7eEEcs6kEymYRlWchkMsjn8+huyyPoz6MSdDYtIBL2qhhs20Y6nS50fLRn4PMWP2HZzabmhmxZQCjoQSKRUOueSqXUqKGe9hQ8rhIeP3iTmYaDvW0J+HxuFYOQ/eHxuNDTloDL1D8GIiIiIiIiompT9o6nqYU6JBJJnDp1SnU6DQ4Oqp9XT44jkdJ7pNCSqXg95ufncfLkSdVpdvHiRYyMjOCl1yaRyep/i5fjANPxeszMzKgYpAPw7NmzmJiYwAuvTiNn6T9Xle0YmEnUYWpqCqdPn1YdgP39/er3F16dVxPWExEREREREdHNVfb7p8anHKRzPtx5553q93379qkRN8+dnAQqZF6eKyMWTHcN7rqrE4Zh4ODBg7AsG195NqrmsNKdrPO5yzm89aEY7tqzR/1+2223IZfLI+2EK+IWNVnnM+cyeOz+JnWro/x+7NgxpFIZZJyo+p2IiIiIiIiIbq6y9yhYqMGTx8MYHplTHU7ZbA4vnVxA/2XpLLDgZC9iduIl9Z6ucnYUX3vej7GJ+cVb7bJ4/pUELo2FYRp55FP9mJ86qXUMqXwdvvacG1PTC2o9E4k0nn4xjdHpMFxGFpmFE1iYGYDO5tKN+MbzNmbnCrcLzi8k8Y3n85iJh+A2s0jOvoTE/KVyryYRERERERHRrlH2EU8yEmXgsh8Xr6Tw2P0pDA8N4OXz3XC78qj392PGrkc4dhA6kxFBrw740X8uibe9IYVTpwdwerAHXk8WscAlTOYbEIrWQmeG4cJzJ3x47UwC73rUxLPHL+D8aBf83gSi/mHks41wGxHoTCZAf/IFP148OY13vtHC158ewuBUJ/zeWUQDk8iEOgEjVO7VJCIiIiIiIto1yt7xtNT5lEcdvvi0jZg/jJ7mCxgey2M2cxi2GYKr7OOyttb5lHUa8I9fz6MuEMLepgGMTBiYcQ4Dbj/0nyWp0PmUthrxd1/OoD7kRXfjGYxOeTGVOgzD46mMGEw34pkmfPpfUmgMm9hTfxJjMzWYSh6Ey1MJERARERERERFVDy06npbYtonJRA+mktKDILNeV968PJbtxni8F0aisPpGBcaQt30Ynd+vnnZXqTHk7ACGZw+oclSpMRARERERERFVOq06nsTyJNAV3E+wFEMlz2ddDTGgGmKoKDbM/AW0NyaRSAcxk+qAAx8qSx6u/Dl0NOcxGw9iPiMxVMZDDqqKk4bXHkB7iwdjMyEk8+06TElY5Zi/tE2Yv+XhJOFzBtDW4sfoVA1SVlsFNqaZw3pwYOQvoa1+Hpl8EFOJdjgIlHulqhzrYKr+OliPtVjmrPupVJUeQ6WvfzWVJf3Zdh52Po6G0AX4/V5cGm9BwJfF2x5IwmPKQwNsVEIMjjWPxprz8PoiuDDahFg4jsdfl4YLlRFDpZMHAsh+MOxpNNacAzxtuDjWgJ7WCbz+aBqw41o/oKFSMX9pOzB/y7vdXc4UGkPnYbs6cWmsHgf3jOHuW1KAnayI7c4c1qk+SKA+dBFBP3Blsg0u08bbH0jA757lftgBrINpN9XBmox4cuD3JNQE0EHvgrpAk8qEMZtqQDoXqpArNoUYagOTCCzFkA1jNrkUAzSPo1AYVQzBxRicxRgqdT/4CjEks2HMVVQMlSU5fwmmM4lEYD9Ml4P7jgL3HW1BS3MU3e0z+MbxFF7pD8gEXNBVfHYAPncK894eeNwOHrzTxr1H96ChPoSutml8/YUMTl/wqbnc9ObANCx1HJU8EFLuk9ka2I5b8/LvqCeY1sdCmEl2Iui38fDdedx12wEEA17sa5/CV5/3YXDMvTIylrYpf6cQ9++HaQL3HnHwumOVmr/74HI5eOBOG/dVcP4GPAn4PDLnAJDJBZHKhWA7MkdhZeTvdHIPgj4HD9+dZf7uOBszYy+gqakO08kuhEMOXn80gztuPQSv143ejml89TkvRqdcWm/31Tnsdld6Dtvwe+LwL+VwPoCUqoN1z2EgFR+CnR1GKHAQjmHijlscvP5YPTraYujZM4dvvpjAC6ekLa37fqjMNrTLZVd2G9onD9ay8eCtDu49Upn56zLzG7Shw2oqnUpqQ4cCFt5wm4U7NauD3Trs4Lbac2iJXoLHlV3zbs7yYmyuC0Oz+7Te4S4zd80YRue6MKx1DNffDysx6DpkshBDe+05NFfsfqhMNbV7EQsG0VF3AuHAAh554EHU1NSo9zrb6/GWYBwDFyaQyjdDV5G6A4iFxtARexW1NSk8+sBD8Pv96r2ergb4fbM4dymJvFMPfdmoC42hPXYWId+8avyqVx0TiUwEgzO9mEnIPtCz4pcGSV3zHWo/tMdeRmuDg4fvux8uV+GhAIcPNMO2R/GX/xTm0ym3OX9rAzXoqDuJSHAejzz4QEXmb21wAh2x11AbTuJNDzxYkflbiOEsavxzqgNKveq4EE9HMTjTpy5k6Z6/URXDK2httPGG+17P/L0JD4VpaL0LsZoRtMVeREeLBw/ccx9Ms9DGOXK4GZnsEP72K/WAUciJyqiDKzGHHXUBvaNOcngGrlU5vFIHN2mbwyIU2YMaXxiddf2IBGfwxgdeh9rawjZva4nhLQ+m0H9+FAsZuY2TtqsOrgsF0FH3KsL+BN5YoW3outAoOupeQTSUxqP3V14b2oCNmIrhLELeBRiLbWhH2tDZMAanJX9bpGsZ+tbBtxfOA+peQksDtGxDl3XrScNqb8MJdNYNqI4C6YBb/SOvddQNYG/ja8uNMN2YRn45Bq/76hjkNXlvb4POMch+eG0LMZxQ8WobQ+NrqrxsVpZWYtBzP1QmB63RizjQ+iLC/mmkUwtYWFjAqVOnYNs2Tpw4gXRqHrcfkkawrkNt7UIMLRLDDDLpOKanp9Hf3w/LsvDaa6/BcFI40pfXO4bai9ivYphVQ+OXyr78W16T+CROnWNoq72gYqjxTSOfT+PKlSvqJ51O48SJ19AQc9DXMcvbZ7eNg+bIZRxoPY5IYFLl6kb5e+ygqXG5cdASvYwDLRLDFLLphQ3z97ZeS+Ny46Alcmkxhmm4TGtV/lrqtQMtL6g4tY4hWogh7J+ElU9tmL+9HXMax1B5DFiqbdPX/DIC7ilY+TQuXryA4eFhJJNJnDx5Au3NJjqaFjTe7oVjf6EOnkZmkxy+ZZ+tcQwOGsNXcKD1BdX55F6Xw9K2kNyQOHU+lkrnwaG251QnYCY1i2QyoeoBqQ+kXpifm8bdt5qq3NF2td2k3fMSanyzSFVoG7ptVQybt6FzWsewsh/mYK5qQ8u/5TV5Tz6j+37oa3kJIe8M8rlN2tCdM2WNoawdT43hITRGBpd37npLr8vnmiKDGlY4UtEMLsewGRVDZEh9Vt8YhrYQw6DaF7rFYMBR5UPW7bplKTKIBhUDbQc50dtTf2a5M2/Pnj3wer1oapKrekBzczN8Ph9igUuIBqagH0ed1EkM0jgUXV1dCAQCaGhoUMNRW1pa4Ha71b3resYAtV576goxbFb+5T2JU+LVLYeXYpCrrFKWTNNEe3s7amtrEYlE1BWb1tZWdX96W2xAlTu6cXKS19VwWo0WvWb+Bi8ulhvdOCqGPfWn4Xblr52/4XOI+HWMAWq99jRI/uY3zV+JT+KUeHXMX8nJrvpCWbpW/rbX9i/GQNuhvmYUbbFz6uq8lPO2tjbU1dUhHA6r39V2ty101Z1St3/px1FTI8ix/3p1cFP4vDqx1ZGsV3fDKbjN3DXrYIlT4tUxhwOeOPY2nli+Y6Czs1PVB1IPCKkXZL9EfIOq3NF2td0K7Z7rt6Gl3Og4yq/Qdrt+G/qC1m3opRiul7+FGPTL36g6jg5cvw1de7as7bmydTxJ40RuiZJOg+uRzzRHLi03jnXhMvLqCuRWY5CrgbKMfjFcquwYpCxFioxBs7JUiYzF3vXlkyXZ/Dk3goEg6uvr1YFPKh413NZJo7X2/PLtX7qQ8tBWe365PMgEiAE7jmAwoBrvSzFIxe/YKXW1Q+LWiayPrNdWynThltrzW8qVm0nKxdJ+kLJk5fPwGzl18hSNRuHxeNT+kAaZYyVVudNtP1Rq/q45Ucq5NsxfQ/I3qm/+SgxL+eu3ExvmL1T+6lf2C/lbiOF60y7IZyolf31GfuP8tZm/22XpeC7bv7DdLZjwqBMN2fayvWOxmNr+Jua33F69maTDrC22tTrYcBKLIw4c/UZ+115YHm1/3X0WO798G48u1HlW9JKap2cpBq8VR9DvU9tf9oPUC9Kh4Dg5tEbPsR29jW23rbWhL2hZB69uf0r+BiuwDb10LnM98plCDDrWwReKaEOfL9t+KFvHk8+dRMAb39Kj7uUzAW9CLaMTmfzTX2wMnhR0Iusj67XVGCTepUlPdSHrU0wMUu50K0uVyOPOqOHjS9vdZQeQPt2EE08NqqGdS09P+MY3voGpqSl1u5fHlYZOPC6JYXY5hgZzHg9f/n3kXvl7FYOQocJf+9rX1PBniVfi1nk/XIt8prAfNIvBlUbNqv3Q5J7Hkdd+Halz38LQkIxkNNRtI1/96leRz+e13A+VxuPOIhyYXslf69r5GwnoWG4yiARWyn69uYCHrpG/8ln9YsiuieFa5DN6xrD2ONroXsBt18rfwLQqf3RjZPLboE/mIin87rNrceGrOQyeHVe32sl2n5+fxxNPPKFu25E5xMzFUQm68K4/9puzeMPlj1wjh6evmsNTjxxeOZZei3xG4pW4dSLlQh4stBRD0EjjselPAs/+vxgavKL2gZSnb33rWxgdHUXIH1+efJlupO22UvbddrBC29Ar9VejOYeHrpG/OrbdZH1qimpD61gHp9ccR5tVG/rXrtGGni3bfijb5OJuV2554r2t9ubpt6OzRfU+G1rGkCnqykthP+hW6WeK2g9S7qT80Y2RcrD6CoE3WwsfIhg9MYSzYy9j38FRzEzPYHBwUA339Hhz8Gi23eXAuzqGblxBp2cWEyf+HF89l8Lk/qMYGhrExMSEunLscuU1LP9r98P1yGe1q/hduTU5uRdX0OebwqUn/wAvxN6P2YOH8eorLyOVzqorZyoGzfZDpZHjpvuq/I1unr+eLNyabfP1+Svlpsszg6lN8zenX9lXMeQqOn+lXLjNlbKxF5ex3zeJK5vkr5Q73dpClUhGpyzPWekA3kw9AmYjvvm5lxHYO4/9+2fxwvHjsKw8gsGgOmYujQ7UhdedXnMu0ItL6PDMYXyTHC7Ud3rFIOtTTH0k+0zi1ol7XQytGEe3OQaM/DO+NuzFld67kU4mcP78eTWCwu93q/JH29d282Sj121D63buUqi/VvK3C0Po9MxVeRva0rAOzq0pG3Iu0+eb1rINXbaOJ9s21UzxW+30kH5fSz0OXB/ypArHkcmDtjbkTj5r2YXZ5XVhlRKDeiSsPuQpdU4Rz6mTciflj26MbEdVdhbZZk4Ns02mUrAvteH0yDScyBzCscKQf3m6mr3q8zrGkEQAGduAnY7j0eQnMfZsKya8hxGJHFD3qMv6Sxy6xVDMUxol3sIy+rCX1mnxBET2QzxnoDY3igdH/wTxyXo0eG7BQuxWdeXGtvWLofLzN79B/s6vyl/Z5nrnbwo+ZNfl7+S6/NWt3FRD/qp1UjEU2hFp+JFYlb+JyXo0eg5jPnYb83cbra+LHCOPdC4FIxnAwgngpXMjsCNu1DbVrCo7GuYw1ucwlnN49Nk2jHpvRSTSq3LY0rDsyPoXt101jGFd2cjAizxMLCQzeFP+0xh88ZsY9u5DTc2ty08r060tVPl1cBaOY12zDa1bubHXxZDYoA097r0Fkch+bdvQdgl1sG4xOEtlY7ENHUfwqjZ0vedWxGO3lL0OLltPTiYfRDbvh9+7tVue5LOZXBA6SedCyFk+mMbKPdHXIp/N5PV6jLBsU1kvl3n9Kxcy6lPFkNMvBlWWtngboypLeb3KUiWS7Zi1fMuT+ua8s8jK5HaNPer3jH8S8chZOItXQ7I5P3KWXo9zzuRlnQq9/5LD57EHZ1wHcLTtrHr/lFGLARyEH77C5yWGvF4xFMqzH0FvYks5LPtMPq8TKRcSh9wyK86hC5d8+3F7+zn1+0mjDidxCO7FKktikM9T6bJ5nyr7K/k7g6x/aiV/fdOIR/vX5W8hD3SRvSp/uzDg6sWxtvPq/TNGGGdX5a/EIHHrRNZnddnfUh2sWdmXdSrEUGjPnUUXDvt6cUd7YT+cNmpxEofX5a9e+6ESSRs0b3sKI4kNIBMYR7imDl2+A3AMG2n/KBKRlLqwKGUnnQuqz+skkw8gZ3nUKCDJ4X704JCrB8faLqkOnZOqDt4PP7zLn8/bhX/rIq9yMgC3S54cuJUc9qrP60TKhZQPGYkl+2EUjXjRuBW3N5+ACzZaDC/+DregBoVOTNlnUv7oBtvQeT/crsKk/1nvLDLBCXQ07VW/Z3yTSETOLdfBhfanXsfNbD6gYnCZhWlnLmAPTroO40hbv3r/hFG32IZezN9cQLs2tKyP5GPQG99aG1rtN73yN7fYLlg6D5C20HnfIRxrH1C/nzAa17ahF8verup4kgPvZLwF7WqSvevv6Kl4i3aNXolhKt6qJum6npUY9KowZZvKeqnJPrfQeSbxVnIMsh+k3OkWQyXK225VHgKxs2q7O4aFhegAkqHCUwMtNY+Wvab85y29Gr2W7cFkvBUdsUJHUxZe/CPehG8bd6jfJ1CH/OJhUmKYlhg0a7jL+sh6BdSTja7/edlnErdOpFxI+WhfjEGutn4Wj+Fp4071/gTqkYdrVVlqVeWPbqzcrN7mhfztR2rx4kjenQAWRySrsp+Q/PVqGEOzakcIKTf/gDej2ZhQv4+hEbnV+Zto1u+k1faq9WrzXL8tJGSf6Ze/EkPLcgwZ+PD319oPGh5HK5GcxM0lG1BfM6K2u4yYmI+dgCtXA5hWIYdXTYI7GW/TbsSEtN9mEs3qoS8iBT/+Dm9VZceGiTE0rKmDC/WXXsd+WR9Zr6B3Zb6ta5lJNGl3PiPlQsrH0tOuLLjwJTyIl43D8CKHUTSovC58FqrcSfmj0kkbRtqfnd6BQrkxbHWxNhVcakOnlvN3pd3j0bLsd9QVOjiy8ODzeATfNm5Xv08hpsrSmvMAzWJYagstnctcz6SGx6C8akOvnI/JfvgcHsXTi+cy6/fDZBnb0GWsgQyMzPYgkYmqjbAZeS+RiWB4dh/0Y2B4pogYZnSMAWq9ZP2uH0NUxVvMkMSbQa6KSfnYagxS7nSLoTIZGJ3tXtnuixWn5YmrH3XSaqyU/5HZvWuG1GsZAwzk4cEImtWP/LswLH4lBh3Jem2t/EdUvLqVfykXa2NYvx/cq/ZDVMsYKo+Bkbm9SGbDK/lr2sh7F9SP/Hspf+UzuubvmhhgIAcPBtGmfuTfS+VGPjOsaf7Keq3EsLHl/TCnb/5udT/IPtMthkrkwMTgdJ+6cr2UwzI6Iu+bQ17Vwc5yDktHwcRCu5Y5LO23VC60XHbkAtAVtGMIrWvq4Lgc++e6oCNZL1m/6+WwxFk4F9BrP0i5kPIxl2pY3g8W3Kr+vYQOZOBf3g9S3qTcSfmjG2FgdK4b8Uztqja0A8uTVD+r81fK1shst5b5K3XSStkvlJtxNKof+ffq/NW5Db2V/C0cg3Stg7u3uB9qyxpDWY8aWcuP/rFjmE/VL95fvPKe/Ftem0/VYWDs9sUhYXrt6LUx1F0zhn6JwdIxBkOtl2zj68dwbDEG/Uj5uH4M9VrHUIkKZecYFtKxxe288t7S7/F0rfqMrtt9JYZC5b++4pHfFyoshtWWYqqUGKS8bFaWpJzpHEOlKRw3jy03VjYqO9LRJ5/R7daQJTLkXdYvcY0YJD5VbjSPYaOG7/JxVPMYMsv7IbKFGJi/2yWRjeDs+FF1m9TG293AbLIBZ8ePaDdSboms+9mxY8sdlxvXwTH1Gd1GCi2R9Tp7nTpY4pPPpDWd6kHKx9mxI6q8rG9Hi8LtmiFV3qTc0faUm4HRpXPIjds982k5D5ay79c3BjkPTl8jBnUur3f+qhhSlRyDXx1f5q9xPqZiGC1vDGUeK2YglQ3j1MhdaqhwfWgUfunlXayIphItq24L0a3DZn0Md1d0DFIhMgYqbbtHcGr4bjSGh1BfMwrv4pNO5ORCtrlcRSvc3mJoHsM9G8QQUENwGcPNi+Hkcgwjy0/+qZwYKo2hOmwK5WZwsdwsbXO/ugVsfL5zsZFiaB3Dyc1iiLdgfKGjImKQ/dAUHkTduhgKZb8yYjg5fC+aIldQFxqrwBgqkXQsNeLE0H1ojl5GLDihnhgoV8Cl7TO50IbJePvirSG6bndDdSydHFpbdiQGKTtyW8jEfIfmx/7FNqgchyKDaFisv2Ta/dXHUj0vQC8x1PynZ0bvQkPNEBrCw6odLTGoWyKTjRib27M4R6quMVQaA6lcDU6rc5dhVX/51DaXc5cApuOt6hbIwu1pep8Hnx5eimEEPk9qOQY5D5iqlBiW98OImjdY+m4yFRRDUu2He1Tu1oVWxxBUdbAOMZSl4yngN9HXvf7qTC0s4yBSizOy2y4Xoj4D0bq1y9bH9LhiUxNyqRjW2loM0bAe94bKepQag8SvA5+3UJYsyykqBrkHVsohbVcOy7wwtcgah2EtPpbUMt2oiRnqZ4nLZah9pmcOby0Gn8+Ex61HxSPrsa8riEzGLioGvXN4azEwh0sn287tXrqiLacVAYzH+zCZ2Lf8uHW5/1+e3CrtE/dileV2GVuaA+FmxrD426oYeuBeLDcbxuA2tGk2GovrU4ijEMNYvA8T14lBLatJELIechwqrM9iDAv7MRHftyoGT+EpQKtikM/rEkM15LCFGgzPHcLo/AGVw9JpI/N+yO1Qhgm4Tf1z2EYQowsHMB7vXY7BWio7q2PQOIcBPybivZhK9MBl5lRGFMp/5eQw4MVUci+mk13qEe0rMRSe/sUc3rnz4LxxEPbiZOK26ULYayK86txF7zb0xjFEvCYiq2LQuw29EkPyGjHo3YbeWgzlakMbjnOtOxp3hvxJa/U+LoJpAKb8p8xsx4Fd6THYDuwS974p7QANapwbKUsuaQdrEEMlqobtfiM5rEsMN3QsZQ7vWqm0hdHxLJxVEw9vhWzrtmafFg3fRNLC2GSm6OWk7m1v8cGzdBZbRrm8jaHRjKqLi9Xc4EMoWP6GbyZrY3gso/K4GNJ10NLkRcBf/hgqEXOYObxdmMM3XzW0e9iGZhu6YjqeiIiIiIiIiIio+pX/cgEREREREREREVUldjwREREREREREdGOKH2Wa7lDz5ZJq4q/U09NGIjS7gmWSe5KvRvRMGXyPGNdDIXJL4tlq4kQb3YMhpokUof7YomIiIiIiIiIdq7jKbMAfOqDQHK66EXPZvrwkfH/CscpvgOl25tFtydb9HKhWh/e/G9vgdu7qrMoMQ586geBbLLo73s5eTv+ZPJHUIo+bwbtnsKTg4oRawni0Q8ehsF5/Gi7zA0C6bmiF0s5AYzmWkp6JGfILK3b2R/yqDy+emVmgPnhor8vYYcwnm8uqeM4ZNolDRcNRLwIhuWR0ETbgPlb9HLMX9JKpeewXMCdvQxk40V/H3OYKl6l569aGdbBVAkdTzJSaOw1ID5e9KKppI2BoYR6zGuxTG8aIV/xT8HIJHNw1j91wsoBo68WOtGKFF8IY2A0UdJBI+hLwestvvOsQGLgiCfaJl/9deC1Txe92NnUbfjZod9BsVWHfPrBYBzRxUd8FuPWh9vx4Hftv/qN058HPvehor/vxfgD+PXRXyx6OTccvCEUR9Ao/jES97xzL+58S3fRyxFtiPlb9HLMX9JKNeTwP/0UcP6Jor+POUwVrxryl3UwVUTHExFVPulAtorvBHXyOeTy8iDnYh+/68DK27BdJdyiu9njiuWW3xJjyOftojtynaUYzFJiKHoRos0xf5m/VNmqIodzzGHanaoif1kH083DycWJiIiIiIiIiGhHsOOJiIiIiIiIiIh2BDueiIiIiIiIiIhoR7DjiYiIiIiIiIiIdgQ7noiIiIiIiIiIaEew44mIiIiIiIiIiHYEO56IiIiIiIiIiGhHsOOJiIiIiIiIiIh2BDueiIiIiIiIiIhoR7DjiYiIiIiIiIiIdgQ7noiIiIiIiIiIaEe4S1/SBxz9XiCzUPyy403AkFHSn23qiuCW/d6ilwvUeGC61vWzeUPA7d8P5DPFr8iVTmAUJWnrq8UtXZ6ilwvX+QCjtO1GtCFVnEooUzdQDo2Sl91kOfV9NzkG9feckpcn2hbM3xLXhPlLmqiGHFavM4dpF6qG/GUdTBXR8SSdNo/9SmnLnloAvtpfUpnrurUeb3h/G7ZFIAa85TdLW/bZGeCp8yUt2nd3M97wpsbS/i7RdnrgvwLH/lXxy110AR8rvtIxTQMPf+8B7GkpvvO4Jubf+I3ex4Af+Puivw8n3MBfFb+Y22viTf/6MBpqiz98RhsCxf9Bos0wf4vG/CWtVEMOv+mXgft/rOjvYw5TxauG/GUdTBXR8bRDHMe5wR7d8quGGGiXaDpU+CmWjHQ0Sug8Ngw0d0fQ2R3Etom0Fn6KNTkD4HxJFX/rvihaGn3F/02i7cT8LXox5i9ppdJzWNq5rUdKW5Y5TJWu0vNXsA6m3dTxJJ00jp1HJjUEn2saqbQbluNFMLIHbvc2JtYOx2BbGeTSo/C5JpFI+2E7HoSi3XC5mFhU/Qo5kIbblYdlu2BZNlxuP0yz7IcYIiIiIiItVUMb2nFsdS6sYrBcsGxLnccbpqvcq0YaKf/k4o6NVGIQexv78d1vAe45cBoBzxxcZuV02EjHWToxhEMdA3jfYw7u7H0NPk8Kpln8PE5ElcZxLKQSQzCSX0Vv3RdgzP6/mB37psoLIiIiIiKqzja0beeQig/Cm/0yemr/EfbMn2Ju4nnVGUW0Wvm7Ug0TLXVZ/Ot/9XpEo2E0NTXiwC1efPpLCzDMWlQC6c3tas3gg9/7IAKBAFpamrF30IPPP5WAyx0u9+oR7TATIb+DH3rPEezv68S5c+fwcr8fz8j930REREREVJVtaMNwIxrK4d99993o6GjGwMBZPHeyBq+cLf/4FtJL2Ut1Y3QKH3hbA8LhkBpq2NnZidbWPLLZcXzuKXmKm/4TiXU0TOC739YKn8+nYtizZw9aWrLI5Sfw5We9MCpo9BZRsQLeFN54Rxp9vb3q966uLjQ0pjE7P4gzgx2qQiIiIiIioupqQ4cDcTx2D9DZ2aJ+7+nZi1hdHPHEMM6PtsEweLsdFZS9K7IhmlD3g87NzSGfzyMejyOZTCIWTiLgs1AJmmoTMFCIwbIszM/PI51Oq9h8Hj4ukqrb/s4Z3HNHB2zbVh2vpmmiJhTAY/cHUOPPlHv1iIiIiIi0Uw1t6Ft7ZnHstg51DrwUQ10sjEfvc8HnyZV79UgjZe9GnU02Ip+fxejoJRw4cACTk5Mq+U4NzCCZ7pI78bQ3m2pCNjuHoaEh3HLLLRgbG4PX68Wrp+aQyXvVQz+IqtX4tBdXBgcxMz2tyv/g4KDK4bMX5xFPHa2IHCYiIiIiupmqoQ09OuXF5cuX1Tn8HXfcgTNnzqi7gF4+OYNMtqEiYqBd0vE0NmljLu7CkSNHVQdNd3e3ms3/Gy+GAcOtek6FoXHvzeXhPHKWH8eOHVO/9/X1IZfLI2GFZM0rIgaiUs3EvagJN2Bvdzfcbrcq/1LmT5wfBwx/uVePiIiIiEg71dCGnpz1oK6+WZ3DSwyHDx+GnPp+6xWJgQ/aohVl74O0EcLXjsdw9sIE8nkL8UQK33phFmeHamEiCyM3gNnx41rPjJ93ovjKsyFcvDyphhnOzSfw5LNxDE7UwmVkYKdOYm7q1eUOKKJqks6F8fRLJvL5Qo7KENvJ6TzOXA6pzmQ7N43E3AWWfyIiIiKiKmpDL6QjeO5VebqdsxzD8HgOF0dqVAz5zDiSC1e0joF2yYgnGQV0adiDP/uMDw/fncHU+Bm8eqELHk8C9aFBTMebEW3Yq0YO6Upi6L/kw/nLabzp9WlcOD+AM4N74PfNIxIaxYTVgogvUu7VJNoRhmHi+VNhnL80jHe9qRbnzl/GMyfbkLXCCLlOI5MHsu66cq8mEREREZE2qqENLROgf/2FIE6dHcG7H6/Diy9fxItnO5G3A4h4TmIh60LepXcMtEs6npY6bhxE8PUXbNR46tDTMoyhsRymEgfhmIHyD8vaYgwWavEvT+cR9UXQ0zKEwTEHk9ZBwOWtiBiISuU4JqYSHfibL1porHHQEOrH7LwFuA4g766DX4sjDRERERGRPqqhDe3AjbG5Tvzfz2fRGHLQEDyJ+YSBvHEIjjcCv7fca0g6cOuWeAvZLixM6HATYGkcx43ZdA9m0wD49EjaZRJpF+Kpg6qCycjtsdnKu7dbhgLL0GAZEcx52Wg3WSr7kNHwFVr2mb+0q6mCX9nlnzlMu1U1tKEXkl7MJyQGA2nbhlGBMdAu6XgiospnGC5k5OmpRuX1vJpGHi7rFNoac0hkwphOdsF2eJmGqp9h2HBbZ9Ban0TWqsFkfA8sJ4BKwvyl3cxEHD6cQluTHxNzESxk98BxKqvjhjlMu10lt6FX33onMUgsRKtV6LgiIqLtY1tZOPkp1AcHYHpbcWG8BzX+NN71hgy85pTWDzcgutGyb+dm0RAcgNsbw6XJXrhMC+9+JIOAexKObUF3zF/arWR0kJR/tzOKWOACcuYhnB9tR1/HNB64PQnDma+ICX2Zw0RE1U+TEU8O/J4EagOTCPgW1CupbBizyXqkczVaTyx+VQzBSQS8q2NoQDoXqpAYiErlwDQsBL3z8HuS6pV0PohUJgzLcWtf/hPzF+B1ZzDn64HXncWDdwJ339aDSCSIrrY5fO25NF4641eTQBJVk1R8CIY9jfnAAbhcWTx8N3Df0U7UxWrQ3b6Ap46n8e1X/VpfuVzJ333wuLJ4/PXMX9otHMxOvIyGxkbMpvchEszgTa8Dbtl/C9xuFw50zeIL38xicMyr9W1rq+tgjzuLx1kH067iwGXk1Tmw351UTeZ0rnLa0BvGUGHnAbRLOp5cZg5ttefQEr2kGoxL9aJcoMlZXozN7cHQbC8sW99CKzG0155D86YxdGFodp/WMRCVzkZdaAztsbMI+eZhGoUrk7ZjIpmJYHCmFzOJZumagq7CsT4VQ0fsRdSGM3jw7ofg8xWG97c21+LRe+dw+mwCGbux3KtKtK1C0S7EggF01L2ESDCBN977IILBoHqvsSGCR+5L4ET/OOLZVuicv7HgODrqXkQsnGb+0q4hHTH1rXegvmYYbbXPorMtgDtuu2e5k6l3bz0ejA/jr75YCxiFvNZRRNXBo2hnHUy7tA3dETuL4Po2dDaCwel9mEm0aN2GvmYMi+cB04lm3mhF5S0Bci/33oYT6KwbUKMMVl+MkX/Lax11Z7G38TU1mkJHhRheQ8c1YxhQn9E1BqLSOWiNXsT+lhcR9s/CZdqq3MuP/LvGP6vea629oComPdlorS3EUOOfQTo1j7GxUZw4cQL5fB7Hjx9HNrOAW3otjWMgKoWjLvrsb5X8nUYqOYepqSm8/PLLsCwLL730EuZmp3DbAZfGZX8phuMqhs3y9/A+WX/9bzkiKoY8T3lP3Rn0Nr0Cv3sG2UwCAwMDuHLlCuLxuMrh+loHHU1xjcu/1MHn0dfy0jXr4EP7oHEMRDfWhq7ZqA3tkzb0SxXQhr6weQxrzgOYv7tdWUc8NYaH0BgZvObDc+Q9+Vw8HcPoXBf04qAxPIjGyND1Y4gMYSEdw9i8bjEQlS4SmMKe+jNqTpiNqIrHsNBZ149EJoJ4tgl6cRCVGOrOqI5huUq8b98+xGIx9WOaJnp7e9VJeHOkH9GAC1lHrtoQVb6Ifwpd9afhNvPqFLanpwfRaFT9SNmX32V+mIaac4gGTMSzjVoegyQG13XytyU6gEjAhZyj2zGIqHT1NSNoq70A07ThcnnQ1dWF5uZmuFwueDwelQ+JRALdDWcwNRdA1o5AL46aoqKzvn+xHXGtHD6LGp8bFurLvdJE26Ly29ASwzT21PUvtqE3j0E+I6Of2Ibe3co24sll5tVVSmMLvZ+m4aA5ckktoxO5l7WYGOSzsgxRNTBgqwbvVvJSPtNWe355+K0uJHflKoysn1SOtm0jtZBTjfZwOKwavZFIRL2ezcyrz0rcRJVOyvFS2Rcyea87OQYTjirz0okj/5eOp2x6Dq215zTM35Vj0PXzd04dg5i/VC1UvRo7r55IKfK5LJzUDAIBPwKBANxuN2pqapDNZuFYs1tur95Msu6Sl3JiKgo5nN8wh3OZWY6aoKpRHW3oxfxdrIOvRT7DNjSVrePJ507C741ft6AuCXgTahmd+DwSQ6K4GBYnXiaqdB53BmH/zJbKv3xGhtt6XGnoxONaG4PHDiF1shH9z4zh4sWL6rVcLocnn3wSyWRSfVbiJqqK/A2slP06Yx5vm/5TeF/8M1y6eFGd6MnPU089hbm5OYT9c9rnr9sOXid/Z9XExUTVwO+JI7iqHd3tHsc9p34NqXNPY3BQ7iYw1K2z3/rWt1QHcjQ4CXOTkRXl4nWlVdtguQ62apC+Rg7L6AqZS5Wo0lVjG/pa5DOFNjTzdzcr2612bld2+QrHVkgvrxRwnUjlV0zvs6FhDEQ3Uv6LGYXoduXgceWgW8W/eoizJxuFH1EMPHsG8YF+7Dt4GWOj45hfmFPD/l2uPBu9VBWkHBdusSvYiytoNucwfu7zeL4/j3P77kB8fg7jk9Oora2Fx5tVOaxf/q7E4M3WXid/5RjEOpiqg8+dXjV3qIMDOI92zxxe+NJH8Gz0HejZfwivvfoqDJdHPTCgkPN65bDXnV5zLuDNxuBDZF0Oj2F+YV7lsI4xEN2sNrSedfDWz+UlXtbBu1vZOp5s2w3HMZeHCF+PDKwtPBVOH5bjguPIDGpbG/Yrn9UtBqJSSf6q8l/E5+0iPl+OGGwzB9vJwwUfojO3YuyFJPJhD2pjteq2BVl/eUoHUaVbX/aT8MNyDHiQwwfMz2Ps4nN4xX0MmWgfvF6vKvfF5Luu+SvLEFWD9XVREgGk8sAB3yT2pP8/JE7UYtpzH9JRNSu3yhUtcxjrc9hak8O5iFt1fksOWzbrYNq9bWjd6q/i2wXM392ubL0gmXwA2bwffu/Wbj2Tz2byej0KNpMLIWf54DJTW/q8fDaTD+34ehHdDJKTWcsHtyu/5c/nLD90klmMYen+9Jx3FrngNFpcner9rG8K8cgcHLNQUWZyfuTyesVAtB35ex57cMrcj4MN5wofMOqQwX744St8Pqdn/uauyt8ZtJp71MWqrH9t/koM2XwhHqJKl86FkLe9i6NwDbyKg9jnu4iDTcOwYOK4sQcW9sKUmdsc+XxQfV4n0q7PWd7ldnTWNw1fYDGHDSDjm0A8MguY9vK5g24xEJVcB+f9cLvkiZNbr+90bEdsZY6n5RjYht7VytbxJBXNZLwV7bFz1y2sUmFOxVu0SziJYSreWpiwdEsxtKpliKpB3narMh2Ind1yDuctD3Ri2R4VQ0fsrPrdMSwsRAfgzg+p3/NqXjl7OYZpicHWKwai7cjfLLz4LB7Dt4071ATEY2hAfrGJUMjfZk3zt0W1I1bytx+pYOEiVd6zNn/VMYgnrVQlMrkAZpMNaKgZVjm8gBD+Gu9EszGJLDyYQD3s5alcDUwstGs36ljaxNOJZvVIeYnBMfKYj56BW12kdZD3JJYnE5cclvMG3jlA1VIHS3nu9A5s+RxSyzp4oQ0ddQPX/exyDGxD72plHO9mYGR2L+KZqCqMm5H35BGSw7OFocJ6MTA804PElmKIqs8SVQ/J4e4tlv+IyvfVQ+r1YGB0dQyyeoaNvCeufuTf8tpSDksMRNVhqezLk+sKv+fhwTBaMIRW9W/13EcHSGYjGJnr0TJ/JSeXY1jKX29c/azN38IxiKhaODAxON2rRhEs5XAWPlxBO8bQBBuu5RyWDqrJePtikujXjk5la1Zy2JQcXljMYWc5hxfStRib6yr3ChNtEwOjc91bPA+Oqvpayzp4izHIZ1gHU1lvtMxafgyM3o65VP3ivedr35fX5lN16B+7XQ3n06/CLMTQP3YM89eMoV59Rj6rYwxEpZJbbwbGjmEhHduw0llqLA4sl3/9qOPQ2NHrxBBTn9E1BqLSy77kb+2mZT++lL+aDo9fiiG+lRiYv1RlpFP47NgxpHKhTcq/gZlkI86NH9F2pJDcbif5udIJvpa8JucCEqdudz4Q3Qgpz1L259N112l/6lt/rcRQaENffR5ciIH5S6LMtZCBVK4Gp0fuRn1oBPU1o/CpofGFIcRTiVY1NF6G8unbYWMglQ3j1MhdqA+Noq5mFP6Ki4GoVAaSUv6H70ZDeBj1NSPwuVPLczHIrWkyvL9we4uhcQyRxRiGCsehiouB6EbK/j1ojAypetjnWSz7uQCmEy0YX+hA3tK57BdiODlyDxrDg6oeXh3DVELyV/cYiEplYC7VgBND96E5cgW1wXF43RnV4SRzQE0utKnbWyzHrXH5NxDP1OLk8L1oCg8iVjO2WAdLDAG1/pOqDmY7mqpN4Rzy9GIbui40Av9i/ZVerIP1L/tLMdyj2tB1ITkPXlsH6x8DVXXHk2kaCAbkiXBL3aIuxPPdiM92LT+W0bILQ4R96zpHPR49Cq3LJTGsHjC29RjcLj1iINq+HA5gPrsPC9N715R/uRXA6wO8q/JmcZ5fDXNYYujFwnTPNWMI+FxbmkSRqJLydy7Ti/lsD1xGYbJxOVGVJ+h4vZWTv3OZPnUculYMzF+qzhyuwVTqEGbSB9REv0tPUZZbc3yrBkroncNBzGT2Yy7bC1MeM+8UnmbNOpiqzUbnwVL/LmSlDb1Yfy3mb+W0oSWGfViQdsQ1YmD+7m6Gs1Lqb5pszsbs3NaehLVeKOhSP+WWztiYXygthnCNCwF/+WMguuk5bACxqBset1mxOSwVZl2tR1W6RJWI+cv8pcrGHGYOU+Vi/jJ/d6uydDwREREREREREVH1K3+XKRERERERERERVSV2PBERERERERER0Y5gxxMREREREREREe0IdjwREREREREREdGOYMcTERERERERERHtCHY8ERERERERERHRjmDHExERERERERER7Qh2PBERERERERER0Y5gxxMREREREREREe0IdjwREREREREREdGOYMcTERERERERERHtCHY8ERERERERERHRjmDHExERERERERER7Qh2PBERERERERER0Y5gxxMREREREREREe0IdjwREREREREREdGOYMcTERERERERERHtCHY8ERERERERERHRjmDHExERERERERER7Qh2PBERERERERER0Y5gxxMREREREREREe0IdjwREREREREREdGOYMcTERERERERERHtCHY8ERERERERERHRjmDHExERERERERER7Qh2PBERERERERER0Y5gxxMREREREREREe0IdjwREREREREREdGOYMcTERERERERERHtCHY8ERERERERERHRjmDHExERERERERER7Qh2PBERERERERER0Y5gxxMREREREREREe0IdjwREREREREREdGOYMcTERERERERERHtCHY8ERERERERERHRjmDHExERERERERER7Qh2PBERERERERER0Y5gxxMREREREREREe0IdjwREREREREREdGOYMcTERERERERERHtCHY8ERERERERERHRjmDHExERERERERER7Qh2PBERERERERER0Y5gxxMREREREREREe0IdjwREREREREREdGOYMcTERERERERERHtCHY8ERERERERERHRjmDHExERERERERER7Qh2PBERERERERER0Y5gxxMREREREREREe0IdjwREREREREREdGOYMcTERERERERERHtCHY8ERERERERERHRjmDHExERERERERER7Qh2PBERERERERER0Y5gxxMREREREREREe0IdjwREREREREREdGOYMcTERERERERERHtCHY8ERERERERERHRjmDHExERERERERER7Qh2PBEREREREREREXbC/w/j+A64M+lvcgAAAABJRU5ErkJggg==\",\n      \"text/plain\": [\n       \"<Figure size 1500x500 with 5 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"frames = []\\n\",\n    \"for t in range(num_timesteps):  # iterate over timesteps\\n\",\n    \"    # get observations for this timestep\\n\",\n    \"    observations_t = [\\n\",\n    \"        samples[\\\"outcomes\\\"][0][0,0,:, t], # subset by predictive sample (first leading dimension) and block (second leading dimension)\\n\",\n    \"        samples[\\\"outcomes\\\"][1][0,0,:, t],  \\n\",\n    \"        samples[\\\"outcomes\\\"][2][0,0,:, t]   \\n\",\n    \"    ]\\n\",\n    \"    observations_t = jtu.tree_map(lambda x: jnp.expand_dims(x, -1), observations_t) # add lagging dimension as is done before returning in task.step()\\n\",\n    \"       \\n\",\n    \"    frame = task.render(mode=\\\"rgb_array\\\", observations=observations_t).astype(jnp.uint8) # render the environment using the observations for this timestep\\n\",\n    \"    plt.close()  # close the figure to prevent memory leak\\n\",\n    \"    frames.append(frame)\\n\",\n    \"\\n\",\n    \"frames = jnp.array(frames, dtype=jnp.uint8)\\n\",\n    \"\\n\",\n    \"## Make a panel of subplots showing the frames at different timesteps of the video sequence (don't assume mediapy dependency)\\n\",\n    \"fig, axes = plt.subplots(1, num_timesteps, figsize=(15, 5))\\n\",\n    \"for i in range(num_timesteps):\\n\",\n    \"    axes[i].imshow(frames[i])\\n\",\n    \"    axes[i].axis('off')\\n\",\n    \"    axes[i].set_title(f'Timestep {i+1}')\\n\",\n    \"plt.show()\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"9\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Inference Method 1: HMC with NUTS\\n\",\n    \"\\n\",\n    \"Use the No U-Turn Sampler (NUTS) for Hamiltonian Monte Carlo sampling-based inference to sample from the parameter posterior. `pybefit` provides useful wrappers for setting up an NUTS-HMC run.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 5,\n   \"id\": \"10\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"{'seed': 0, 'num_samples': 100, 'num_warmup': 400, 'sampler_kwargs': {'kernel': {}, 'mcmc': {'progress_bar': True}}}\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_95807/2592818604.py:42: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  return Agent(\\n\",\n      \"sample: 100%|██████████| 500/500 [05:56<00:00,  1.40it/s, 7 steps of size 7.24e-01. acc. prob=0.82] \\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# perform inference on parameters using no-u-turn sampler (NUTS)\\n\",\n    \"# opts_sampling dictionary can be used to specify various parameters\\n\",\n    \"# either for the NUTS kernel or MCMC sampler\\n\",\n    \"measurements = {\\n\",\n    \"    \\\"outcomes\\\": [outcomes[0] for outcomes in samples[\\\"outcomes\\\"]],\\n\",\n    \"    \\\"multiactions\\\": samples[\\\"multiactions\\\"][0],\\n\",\n    \"}\\n\",\n    \"\\n\",\n    \"opts_sampling = default_dict_nuts\\n\",\n    \"opts_sampling[\\\"num_warmup\\\"] = 400\\n\",\n    \"opts_sampling[\\\"num_samples\\\"] = 100\\n\",\n    \"opts_sampling[\\\"sampler_kwargs\\\"] = {\\\"kernel\\\": {}, \\\"mcmc\\\": {\\\"progress_bar\\\": True}}\\n\",\n    \"print(opts_sampling)\\n\",\n    \"\\n\",\n    \"mcmc_samples, mcmc = run_nuts(model, measurements, opts=opts_sampling)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"11\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Plot each ground truth parameter alongside their posterior means (mean taken over parallel HMC samples/chains)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 6,\n   \"id\": \"12\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.legend.Legend at 0x3666c1850>\"\n      ]\n     },\n     \"execution_count\": 6,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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hm7n1qNnz55SokQJt5cLAAAAoKhVVPobKioBAMgf+pJj7dq11m9SD+09qfT5dd++fVK8eHEnwKxWrVqWXRwAAAAAvFeBVVSqRYsWybvvvmtDdb766iupXr26/Otf/7IBO507d76QdQMAAB/0+uuvy2uvvWavHTy0ZYz2mdSqSe1L6Qkqa9So4eJKAQAAALgl16UK//73vyU6OlpKliwpq1atkpMnT9p5TUSfeeaZglgjAADwIsePH7ehN5n7TOrrBA0pdQv3gAED5IMPPpCEhARZvHix/OMf/7A+lAAAAAD8W663frdq1UoeeOABGTJkiISGhsqvv/4q9erVk19++cUa3CcmJoovYes3AAB/TbduT5061QLK2bNny4kTJ2Ty5Mly9dVX2/X4+Hh7rdCnTx9CSQAAAMDPHCmord8bN26Url27nnVef7HDhw/nfqUAAMArHThwQD755BPrN7lkyRJJT093rtWpU8fZdaG0PYweAAAAAJBvQWV4eLhs2bLFfgDJTLduaWUlAADwTRpE6puSFSpUsNtHjx6VkSNHOtdbt25t/SYHDRokzZo1sx6UAAAAAFBgQeXtt98u9913n3z00Uf2A8ju3btl6dKl9oPK6NGjc/vtAABAEaZDbubPn29Vk1OmTJGWLVvaFm9Vu3Zt+dvf/iZNmzaVgQMHSq1atdxeLgAAAAAvluugctSoUVZRcemll1qzfN0Gro3xNai85557CmaVAACg0GjfmO+//976TepH7Sfjodu5M0/ofuedd1xcKQAAAAC/HqbjoT+k6BZw3fYVGRnps43xGaYDAPA3+mbkvHnzsrR90YpJ3dLdo0cPCQkJcXV9AAAAAHwzXwvM7TceNmyYJCcnWyWFBpTt27e3kPLYsWN2DQAAFH36PuXatWvl6aeflg4dOsjevXuda7GxsdKoUSPbRaHtXXbt2iXvvvuu9O3bl5ASAAAAQNGpqAwKCpKEhASpUqVKlvP79++3iovTp09LQTh48KBtLY+Li5PAwEC58sor5bXXXjtvJWf37t1l4cKFWc5pL63cbFOjohIA4CvS0tLkxx9/tC3d2nNy69atzrUPP/zQecNR76fP9wAAAACQH3KarxXLzTfUTFMPrajMXFGhP9BMnz79rPAyP914440WkM6ePVtOnTolQ4cOlTvuuEO++OKLvxz+88QTTzi3S5UqVWBr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\",\n      \"text/plain\": [\n       \"<Figure size 1600x500 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plt.figure(figsize=(16, 5))\\n\",\n    \"ground_truth_z = samples['z'][0]\\n\",\n    \"for i in range(num_params):\\n\",\n    \"    plt.scatter(ground_truth_z[:, i], mcmc_samples[\\\"z\\\"].mean(0)[:, i], label=i)\\n\",\n    \"\\n\",\n    \"plt.plot((ground_truth_z.min(), ground_truth_z.max()), (ground_truth_z.min(), ground_truth_z.max()), \\\"k--\\\")\\n\",\n    \"plt.ylabel(\\\"posterior mean (MCMC)\\\")\\n\",\n    \"plt.xlabel(\\\"true value\\\")\\n\",\n    \"plt.legend(title=\\\"parameter id\\\")\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"13\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Transform the latent parameter corresponding to the reward probability into probability space and investigate overlap between ground-truth and inferred parameter\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 7,\n   \"id\": \"14\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"reward-probability Pearson r: 0.906\\n\",\n      \"reward-probability bimodality score: 0.100\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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rw0bNkijRo0kMjLS2Zc7d27p1KmTZUx27NjR1fUBcLnEOzo6WlauXClt27Z19gUGBtr20qVLE/0czZrUz/GWge/YsUNmzpxpP1ji27p1qxQrVsz6Rdx1112ye/fuq95NOXXqVIIHAAAAAADIPPbs2WNt5DT5yatSpUqSLVs2CQsLkwcffFBmzZolR44csYpOTXjKmzevq2sG4HIGpf5AiI2NlSJFiiTYr9ubNm1K9HM0c1I/r1mzZuLxeOTChQvy0EMPWe8ILy0V16a22qdS07aHDRsmzZs3l3Xr1klISEii1x0+fLidBwAAAAAAMgeNC+h7fS3d1seqVatsf6lSpSwYqe3gtMLyjz/+sApMTYoCkDFlquaMCxculNdee00++ugjC0Rqw9r+/ftbA9vBgwfbOfHTs2vWrGnnlS5dWr777ju57777Er3us88+a70wvTSDUgfwAAAAAACAjOf111+X0aNHy86dO519GpBs3LixlW7HxMRIUFCQ7dfqSgAZm2sByoIFC0qWLFnk4MGDCfbr9uX6R2oQ8u6775b777/ftmvUqCFnzpyRBx54QJ5//vlE74ZouramdGsw83KyZ89uDwAAAAAAkLHo+/5ffvlFunTp4gzB3b9/vwUn9b18u3btLCipxy+u0gSQObiW36x3MurVqyfz5s1z9sXFxdm23vFIzNmzZy8JQmqQ05vanZjTp0/L9u3brd8EAAAAAADI+A4fPmwDdHWqtiY43XzzzbJ48WLnuCYq/fDDD9YGbtq0aVYxSXASyLxcLfHWsupevXpJ/fr1JTw8XEaOHGl3RrxTvXv27CnFixe3HpGqa9euNvm7Tp06Tom3ZlXqfm+g8sknn7RtLevWOypDhw61Y9r8FgAAAAAAZExaUfn111/LTz/9JL///rslMXlpD8njx48729WrV7cHAN/gaoCye/fudldkyJAhcuDAAaldu7bMnj3bueuh07fjZ0y+8MIL1lNC/9y3b58UKlTIgpGvvvqqc87evXstGHn06FE7rgN1li1bZh8DAAAAAICMQQOQWvWYJ08eZwq3Jh151a1b1zIotXxbW7xpPACAbwrwXK422o/pkJzQ0FA5efKk84MSAAAAAABcm+joaFmwYIFlSU6dOtX6R44dO9aOaXhCE4400ahbt242jRuAf8TXMtUUbwAAAAAAkLlocGLWrFny448/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X3nu83ofvvjcDwsL83zwwQcJ9t1yyy2eu+66K8XXTA+UePuQ6OhoWblypZXieQUGBtr20qVLE/2cqVOnSuPGja3MtUiRIlK9enV57bXXJDY2NsXXBHzhue+lZa3FihWTcuXKyV133SW7d+9O8+8HSKrU+Bn9+eefy+233y65cuWy7Z07d8qBAwcSXDM0NNTKPvi5D19+7nstXLhQChcubCWBffv2laNHj6b6+oH0fO43adLEPsdburdjxw5radOpU6cUXxPwhee+F6/34WvP/fPnz1vZdnza5mDx4sUpvmZ6yOraV0aqO3LkiAVXNNgSn25v2rQp0c/RH9Lz58+3H8T6w3rbtm3y8MMPW8+CoUOHpuiagC8895UGZMaNG2dvUiMiImTYsGHSvHlzWbdunYSEhKTL9wZcybX+jNYX7Pp81kCNlwYnvde4+JreY4AvPveV9pu85ZZbpGzZsrJ9+3Z57rnnpGPHjvZiPUuWLKn+fQDp8dy/88477fOaNWtmPYYvXLggDz30kD2/U3pNwBee+4rX+/DF53779u3l7bffluuvv976UM6bN08mT57sJONk1J/7BCj9XFxcnGUJjB492l5416tXT/bt2ydvvvmmE6QB/PW5r29KvWrWrGkvYEqXLi3fffed3HfffS6uHkgdGpypUaOGhIeHu70UIEM89zWj0kuP689+fWGvWZVt2rRxYaXAtdPnr1aJfPTRR/ZaRm/K9u/fX15++WUZPHiw28sDXH3u83ofvujdd9+VPn362MAnHfykr2V69+4tY8aMkYyMEm8fUrBgQQu0HDx4MMF+3S5atGiin6MTWnVycfysgKpVq1qWjKb9puSagC889xOTN29e+xx9cQNkBNfyM/rMmTMyYcKES158ez+Pn/vwt+d+YrTcT78WP/eRmZ/7Goi5++675f7777fA+80332xBm+HDh9sNW17vw1+f+4nh9T584blfqFAh+fHHH+01z65duywrMnfu3Pa6JqXXTA8EKH1IUFCQZYFp+q6X/uDVbe21l5imTZvaD9/4P6C3bNliwRu9XkquCfjCcz8xp0+ftpI/PQfICK7lZ/SkSZOsP02PHj0S7NfSVn1hEv+ap06dkuXLl/NzHz793E/M3r17rQclP/eRmZ/7Z8+etd5i8Xlv0GrZK6/34a/P/cTweh8ZTdA1/IzWPpTFixe39gY/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\",\n      \"text/plain\": [\n       \"<Figure size 1600x500 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"inferred_reward_probabilities = 0.5 + 0.5 * nn.sigmoid(mcmc_samples[\\\"z\\\"].mean(0)[:, 0])\\n\",\n    \"ground_truth_reward_probabilities = 0.5 + 0.5 * nn.sigmoid(ground_truth_z[:, 0])\\n\",\n    \"\\n\",\n    \"plt.figure(figsize=(16, 5))\\n\",\n    \"plt.scatter(ground_truth_reward_probabilities, inferred_reward_probabilities, label=\\\"reward probability\\\")\\n\",\n    \"\\n\",\n    \"plt.plot((ground_truth_reward_probabilities.min(), ground_truth_reward_probabilities.max()), (ground_truth_reward_probabilities.min(), ground_truth_reward_probabilities.max()), \\\"k--\\\")\\n\",\n    \"plt.ylabel(\\\"posterior mean (NUTS-HMC)\\\")\\n\",\n    \"plt.xlabel(\\\"true value\\\")\\n\",\n    \"plt.legend(title=\\\"parameter id\\\")\\n\",\n    \"\\n\",\n    \"corr = np.corrcoef(\\n\",\n    \"    np.array(ground_truth_reward_probabilities),\\n\",\n    \"    np.array(inferred_reward_probabilities),\\n\",\n    \")[0, 1]\\n\",\n    \"\\n\",\n    \"bimodality_score = np.clip(\\n\",\n    \"    np.mean((np.array(inferred_reward_probabilities) < 0.2) | (np.array(inferred_reward_probabilities) > 0.8))\\n\",\n    \"    - np.mean((np.array(inferred_reward_probabilities) >= 0.35) & (np.array(inferred_reward_probabilities) <= 0.65)),\\n\",\n    \"    0.0,\\n\",\n    \"    1.0,\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"print(f\\\"reward-probability Pearson r: {corr:.3f}\\\")\\n\",\n    \"print(f\\\"reward-probability bimodality score: {bimodality_score:.3f}\\\")\\n\",\n    \"\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 8,\n   \"id\": \"15\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAABkcAAAPzCAYAAAANttuiAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3QecY2X18PEzM5ney872Sq8LgiCIFEXBAqKglD+iqKgI0qWosC+ggvQugqAooiggYgMUAUHBld7b9jI7s9N7yiTv59w1s5nZzEzK7ff39RPZZFKe3NzcJM95zjkFiUQiIQAAAAAAAAAAAAFR6PQAAAAAAAAAAAAA7ERwBAAAAAAAAAAABArBEQAAAAAAAAAAECgERwAAAAAAAAAAQKAQHAEAAAAAAAAAAIFCcAQAAAAAAAAAAAQKwREAAAAAAAAAABAoBEcAAAAAAAAAAECgEBwBAAAAAAAAAACBQnAEAAAggL70pS/JggULHB2DPr6OI+mJJ56QgoIC479W+3//7/8Zj5VKz5966qlih5///OfG461cudKWx/Mz3Y8+9alPTXk9O/evbHzzm9+Uj370o1nfLp/nk27/H/9+RHoHHnigcUp64403JBQKyWuvvebouAAAAJA9giMAAMDSyd+ysjJZt27dFn/XyaWdd94548np++67b3QiMDkpmMkp6dVXX5WjjjpK5s+fb4xp9uzZxoTkjTfeKG6kE246gcnk+dR++MMfyoMPPihu5Oaxwfn37IoVK+SnP/2pfOc737F0bEHz73//23gturu7LX+sHXfcUT75yU/KRRddZPljAQAAwFwhk+8PAABgjHA4LJdffrmpQYgddthBfvnLX4657IILLpCqqir57ne/m3ai7KCDDpJ58+bJSSedJDNmzJA1a9bIs88+K9dff71861vfEjdOtF588cVGEMmKDI/bb79d4vG4uMn+++8vQ0NDUlJSknUAQgNfRxxxRMa3+d73vifnn3++WG2isX3hC1+QY445RkpLSy0fA/Lbv6x8z+rxZ+HChcbxyenn8/bbb0thoT/WzukxX18LzYSpq6uz/PG+8Y1vyCc+8QlZtmyZbLXVVpY/HgAAAMxBcAQAAFhqt912MybiNXgxa9YsU+5z+vTpcvzxx4+5TAMwTU1NW1yufvCDH0htba3897//3WKirK2tTYJkYGBAKisrpbi42LT71CBLJBIxMnLyoROz+d5Hps9fy+DoySlFRUXGya+Gh4eNSXs3TbbbsX9lIxqNyq9+9StjYt0Nz8cPgbrk+9tuBx98sNTX18tdd90ll1xyie2PDwAAgNy459cKAADwJS0XMzIyYgQvnKKreXfaaae0K4ibm5unvH2yBNjzzz8v++67r5SXlxurvW+99dYtrqvBlq985StGAEcnLhcvXmxMmI33m9/8RvbYYw+prq6Wmpoa2WWXXYxV5MmSZJ/73OeMf+uK8mSJsNTeAn/961/lQx/6kDERqPehZV1ef/31MY+hq6Y1m0afv65q1uv93//93+jfxq9u14nFs88+W+bOnWtMlG633XZy1VVXSSKRSFv+TCd2dbvqdR9++OEJt5/e/vvf/77MmTNHKioqjOc0fqwT9VB499135cgjjzSyfXR76n1oxkVPT8/oWHTcuo2T2ynZNyHZV0FX9B933HHG5OV+++035m/p6PPS566Pp6/RP//5zy22a7rMgPH3OdnYJuo5csstt4xuUw0mnnLKKVuUBkruj/q8dFvqNtUycVdccYVkIvX1m+x5Ki2J9+Uvf9nYn3VMOrY777wz7eum+7Rm5OhYdEy9vb0TjmGy/T/dtsykV8ujjz5qBGP1+WipowceeCCjHh3/+c9/5NBDDzUCqDruAw44QP71r3+l3Rb63tbXRbeFHgNOPvlkIzCYyXt2vKefflra29uNifWk1tZWI2inWQ/pMjv0Pm+66aZJn8/vfvc7Y9vqcSoZME5X2nC88T1Hkttat8VZZ50l06ZNM443n/nMZ2Tjxo2SK80i1P1It7W+J/fcc0+55557xlznxRdflI9//OPGvqHHsI985CNGpl+q5PiefPJJo2+LHsv1+KD7zre//W3jOvoaJV+L1H3m7rvvHt1GDQ0NxjFFswnHu+2224xMEL3eXnvtJU899VTa56TBZn1f/uEPf8h5uwAAAMB+ZI4AAABL6eTUCSecYGSPaBkjs7JHsqF9Rp555hmjYe74PieZ6urqMgIMn//85+XYY4+V3/72t8bEqK6O18ljpSVudILsvffeMyaf9bnrRKVOOOoE9+mnn25c729/+5txHzrh96Mf/ci47M033zQmIfU6Wi7ntNNOkxtuuMEILmkZMZX8r5YU++IXvyiHHHKIcfvBwUH58Y9/bEz866Ri6sR9LBYzrqd/00CHTkhOFMA4/PDD5fHHHzcmgHWS+ZFHHjEmGXVi9dprrx1z/X/84x/GNtDnqROwk5UR0lr8GhzR7aenF154QT72sY8Zk8qT0b/r2LU0m5Y+0wCJjuVPf/qTsT11Mlu3xVe/+lVj4vJrX/uacbvxZW100nqbbbYxSlyND/SMpxOt9957r7H9dQJcgxU6cb506dKs951MxpZKJ3V1Ulwny3Xf0slwfV0140n3jdRsH90fdVyf/exnjX1Se/Kcd955RpBBJ5Wnksnz1In6D3zgA6PBFJ0c16Cc7h8a+DjjjDPG3Oell15qvB/OOecc4zWbqNzTVPt/LjSIdvTRRxtZGPre+NnPfma87hq0m6zZue7Hur10onzJkiVGNobe9sMf/rAxEa6vnVq/fr3xb93v9LXcfvvtjX1Rt7u+/6Z6z05U+km37e677z56mQahNDij7y0dTyp9vTTbKBmESUcDBieeeKK8//3vl8suu8x4DTXopNtWjw25lJjS954GMXQ8GmC47rrrjP1Bx5Mt/RzQ7aSl5vS11gyjV155xQhQaQBTaeBUA78aGDn33HON/f4nP/mJcWzV/Xbvvfcec58aGNF9U48zGozU1/Odd96RX//618ZxS49PSq+TzCS88MILjfeNvj810KMBG30NU7fRHXfcIV//+teNgLju68uXLzeOkRpM0QDyeLoPaXBE3xs6dgAAAHhAAgAAwAI/+9nPdBY68d///jexbNmyRCgUSpx22mmjfz/ggAMSO+2005jb6PVPOeWUtPf3u9/9zvj7448/nvbvel96n+k8+uijiaKiIuO0zz77JM4999zEI488kohEIhk9F71ffeyrr7569LJwOJzYbbfdEs3NzaP3c9111xnXu/vuu0evp3/Tx6yqqkr09vYal51++umJmpqaRCwWm/AxJ3q+fX19ibq6usRJJ5005vINGzYkamtrx1z+xS9+0biP888/f4v717/Nnz9/9PyDDz5oXPf73//+mOsdddRRiYKCgsR77703epler7CwMPH6669PseUSiba2tkRJSUnik5/8ZCIej49e/p3vfMe4Hx1Hkj7X1Of84osvGud1W0ymsrJyzP0kLVmyxLj9scceO+HfUul5PT333HOjl61atSpRVlaW+MxnPjPhtpvsPicaW/L9sWLFijHb6WMf+1hiZGRk9Ho33XSTcb0777xz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rKLHaH1c3d56/JuIvq4arNLjlL5OGrTR45UGbpLHR80I+9vf/mZsH80o0lKBelzVgM8VV1yR0XiSAWs9nun7VbeNHuP0OKb3r+81Pc5pwEkfV7M+NLimr60er/T6ej39HNLXRl8LvY4+v3Q9RzSw8+STTxrjBQAAgIckAAAALPCzn/1Ml+Um/vvf/27xty9+8YvG33baaact/rZ27drEV7/61cTs2bMToVAo0dDQkPjUpz6VePbZZyd9PL2vAw44IO3f/vrXvya+/OUvJ7bffvtEVVVVoqSkJLH11lsnvvWtbyVaW1unfC56v3r/zz33XGKfffZJlJWVJebPn5+46aabtriu3t+JJ56YaGpqMh5nl112MbZFqvvuuy/xsY99LNHc3GxcZ968eYmvf/3riZaWljHXu/322xOLFi1KFBUVGdvr8ccfH/2b/vuQQw5J1NbWGuPZaqutEl/60peMMaZu58rKyrTPSf+mzyFVX19f4swzz0zMmjUrUVxcnNhmm20SV155ZSIej4+5no7llFNOSWRqZGQkcfHFFydmzpyZKC8vTxx44IGJ1157zXh8HUfqc0p9nsuXLzdeN31u+hx1XzjooIMSf//738fc/1tvvZXYf//9jfvW2yfvc8mSJcb5jRs3bjGm5N/SPa+7777beO6lpaWJ3Xfffcx2T3r00UcTO++8s/H6bbfddsZt0t3nRGNLvj9WrFgx5vq6T+l+qtt/+vTpiZNPPjnR1dWVdn/M5DVNJ5vnqfuzXnfu3LnGmGbMmJH4yEc+krjtttu2eN1+97vfJTKR6f7//PPPJ/bee+/R61xzzTVpt5s+509+8pOJRx55JLHrrrsaz0e34fjxjN+/kl588cXEZz/72URjY6NxW72/z3/+84nHHntszPVWrVqVOOGEExLTpk0zrqfvTd024XA4o/dsOqeddppxLEqnt7d3dL/R12q8iZ7Pvffea7yeOkZ9z/zf//2fcVxNlW5fHf9+nOgYnu5xb7zxRuOyhx9+eNLn+5Of/MR4PyS3tb63v/3tbyd6enrGXO+FF14wjm96vK6oqDDe9//+978z/oxRl156qfE5UlhYuMU+c//99yf2228/4/ioJ91f9LV8++23x9zHLbfckli4cKEx1j333DPxz3/+03j/jf+s0c8YfYx333130ucPAAAAdynQ/3M6QAMAAOBmBx54oLS3t0/ZcwDwAi2Tdsopp+SUYeRljz32mFG+7KmnnjKyEtxg+fLlRjabZlJpw3Wv+vznP29kYixdulSCSDNQ9H2VrrQeAAAA3IuyWgAAAAB8T8tgqanKudlJSzRpOTAtYebV4IiutXviiSfk7rvvliDS0mB/+tOfjDKLAAAA8BaCIwAAAAB8Sxu5/+pXvzJ6b2iPE+1P4ibar8bLNGOira1Ngkr7z2g/JAAAAHhPodMDAAAAAACrbNy4Ub71rW9JeXm53H///UYjdgAAAABw9JfBP//5TznssMNk1qxZxoqjBx98cMrbaMr2+973PiktLZWtt95afv7zn9syVgAAEFz6/YN+I/ALLYMUpH4jCxYskHA4LM8995zstddeTg8HAAAAgEsUOp3ivnjxYrn55pszuv6KFSvkk5/8pBx00EFGTdczzjhDvvrVr8ojjzxi+VgBAAAAAAAAAIA/FCR06ZgLaObI73//ezniiCMmvM55550nf/7zn8es3DzmmGOku7tbHn74YZtGCgAAAAAAAAAAvMxTDdmfeeYZOfjgg8dcdsghhxgZJBPRFHo9JcXjcens7JTGxkYjIAMAAAAAAAAAcD9d59/X12e0aaCXHAIVHNmwYYNMnz59zGV6vre3V4aGhowmi+NddtllcvHFF9s4SgAAAAAAAACAVdasWSNz5sxxehjwOE8FR3JxwQUXyFlnnTV6vqenR+bNm2e8gWpqahwdGwAAAAAAAAAgM7pIfu7cuVJdXe30UOADngqOzJgxQ1pbW8dcpuc1yJEua0SVlpYap/H0NgRHAAAAAAAAAMBbaJcAM3iqMNs+++wjjz322JjL/va3vxmXAwAAAAAAAAAAuD440t/fLy+99JJxUitWrDD+vXr16tGSWCeccMLo9b/xjW/I8uXL5dxzz5W33npLbrnlFvntb38rZ555pmPPAQAAAAAAAAAAeIujwZHnnntOdt99d+OktDeI/vuiiy4yzre0tIwGStTChQvlz3/+s5EtsnjxYrn66qvlpz/9qRxyyCGOPQcAAAAAAAAAAOAtBYlEIiEBa9pTW1trNGafqOeIbpJYLCYjIyO2jw9Ip6ioSEKhEPUUAQAAAAAAEFiZzO0CvmzIbodIJGJkrAwODjo9FGCMiooKmTlzppSUlDg9FAAAAAAAAADwNIIjKeLxuNH3RFfpz5o1y5iEZqU+nKaZTBq027hxo7F/brPNNlJY6GhFPAAAAAAAAADwNIIjKXQCWgMkc+fONVbpA25RXl4uxcXFsmrVKmM/LSsrc3pIAAAAAAAAAOBZLD9Pg1X5cCP2SwAAAAAAAAAwB7OtAAAAAAAAAAAgUAiOAAAAAAAAAACAQCE4YpJYa4fE1rVmdt11rcb14ayf//znUldX58hjP/HEE1JQUCDd3d2OPD4AAAAAAAAABBnBERNooGP9Z0+XdUecNmWARP+u19PrmxkgOfDAA+WMM84w7f4AAAAAAAAAAPArgiNmiMUkEYlKbOX6SQMkycCIXk+vr7ezUyKRkJiNjxmJRMQN7ByH3dsYAAAAAAAAAJA9giMmCM2eLrMfvEFCC2ZNGCBJDYzo9Yzrz55uyuN/6UtfkieffFKuv/56o1STnlauXDlauumvf/2r7LHHHlJaWipPP/20cf0jjjhizH1o1olmnyTF43G57LLLZOHChVJeXi6LFy+W++67b9JxLFiwQC699FI54YQTpKamRr72ta8Zl+tjfuhDHzLuZ+7cuXLaaafJwMCA8bebbrpJdt5559H7ePDBB40x33rrraOXHXzwwfK9733P+PeyZcvk05/+tEyfPl2qqqrk/e9/v/z973/PaBxaRmvevHlSUVEhn/nMZ6SjY/LMHd2GOpbf/OY3su+++0pZWZkxVt3WSRNt43A4bDzP5uZm43b77bef/Pe//93iMf71r3/JrrvualznAx/4gLz22muTjgkAAAAAAAAAkD+CIzYESKwMjCgNiuyzzz5y0kknSUtLi3HSIETS+eefL5dffrm8+eabxkR8JjQw8otf/MIIUrz++uty5plnyvHHHz8mMJDOVVddZQRSXnzxRbnwwguNYMahhx4qRx55pLzyyity7733GsGDU0891bj+AQccIG+88YZs3LjROK/339TUZAQdVDQalWeeeWY0cNPf3y+f+MQn5LHHHjMeQ+/7sMMOk9WrV086jv/85z/yla98xXjcl156SQ466CD5/ve/n9G2+Pa3vy1nn322cV+6nfXxxgdWxm/jc889V+6//36566675IUXXpCtt95aDjnkEOns7Nzivq+++mojcDJt2jTjvvU5AwAAAAAAAACsQ3DE4gDJ8NJXLQ2MqNraWikpKTEyImbMmGGcioqKRv9+ySWXyEc/+lHZaqutpKGhYcr706yHH/7wh3LnnXcaE/qLFi0ysk00OPKTn/xk0tt++MMfNgIJ+lh60iDL//3f/xmZKdtss42RgXHDDTcYgZfh4WEjE0PHlAy6aFBEb588v3TpUiNYoLdTGvD4+te/btxO708zRPRxHnrooUnHoQEkDaRo0GLbbbc1sjr0uWVCAyoa3Nlhhx3kxz/+sbG977jjjjHXSd3Gmj2i17vyyivl4x//uOy4445y++23G5kz42+3ZMkS43a77LKLEUhpbW2V3//+9xmNCwAAAAAAAACQG4IjVgdIPvlNSwMjmdhzzz2zuv57770ng4ODxqS9lq5KnjSgoZkg2TzWyy+/bJSzSr0fDUpo2a4VK1YYJan2339/IyjS3d1tZJF885vfNAI0b731lhEk0dJZGvhJZo6cc845RqCirq7OuD/N1hifOTJ+HHqdvffee8xlmgWSidTrhUIh4771/iZ6PN1GGtD54Ac/OHpZcXGx7LXXXlvcLvW+NUi03XbbbXEdAAAAAAAAAIC5QibfH/4XIJl+8/eMwEiSnnciMKIqKyvHnC8sLDQah6dKLeWkAQj15z//WWbPnj3mepoVkc1j6X1ppodmaoyn/T+Ulsy67bbb5KmnnpLdd9/d6BOSDJhocERLbyVpYORvf/ubUTZLS1VpNsZRRx21RdP18eOwmt2PBwAAAAAAAADIHZkjFtAeI62njO1noefHN2k3k5bVGhkZyei62ttC+5Kk0j4cSVoGSoMgmo2hAYjUU2ovk0y8733vM7JBxt+PnnTMqX1Hfve73432FtH/aqN1bVie2ihez2uJL22orqWotISYNk6fimaaaN+RVM8++2xGzyH1erFYTJ5//nnj/iaipbX0uelYU4NP2ldEt+1E993V1SXvvPPOpPcNAAAAAAAAAMgfwRGTbdF8/c+3pG3SbrYFCxYYk/8aKGhvbzfKVk1E+3E899xzRpmsd9991+h78dprr43+vbq62sjQ0Cbs2gdDy0RpU/Ebb7zROJ+N8847T/7973+PNkLXx/vDH/4w2pBdaQPz+vp6ueeee8YERx588EGjvFZqeSrtM/LAAw8Y96Ulu4477rhJn2uSZq48/PDDRsaJjuGmm24yzmfi5ptvNvqAaJmvU045xQhifPnLX540i+Tkk082mq3rY2jg56STTjJKlWlT+PG9SrS5vG5/DfpoM/ojjjgio3EBAAAAAAAAAHJDcMTKwMiDN0jZXrts0aTdigCJBjO0CbtmJmhmyPgeHKm058eFF15oNCfXfh59fX1ywgknjLmONjrX62hDdc1k0GbmWmZr4cKFWY1LAx9aGkszIj70oQ8ZZbMuuugimTVr1uh1tO+I/k3/u99++43eTstraS+P1JJV11xzjRFI0Qbthx12mPFcNDtlKh/4wAeMpujamF2buj/66KPyve99L6PncPnllxsnvd3TTz9tNH/XIMZUt9Em7l/4wheM8Wkfl0ceecQY+/jrnX766bLHHnvIhg0b5I9//ONoRg0AAAAAAAAAwBoFifHNJ3yut7dXamtrpaenx5h8TzU8PGw0CdcAQFlZWd6BkdQeI1P9He6jWTi6L7z44ouy2267OT2cvPZPAAAAAAAAwM9zu0C2yBwxQSaBDz1vRwYJAAAAAAAAAACYHMERM4RCUlBSPGVGSGqARK+vtwMAAAAAAAAAAPZidt4EoemNMuuB60VisSlLZSUDJBoY0dvBvbTJfcCqzgEAAAAAAABAIBAcMUk2gQ56jQAAAAAAAADu1D0YkY6BSMbXLykqlLkNFZaOCYD5CI4AAAAAAAAAwP+82dInbX3DGV+/oKBAplWXSllxkaXjAmAueo4AAAAAAAAAgIgMR0dkY384q9toWfZ13UOWjQmANQiOAAAAAAAAAICIrOkczKkH7eqOQUvGA8A6BEcAAAAAAAAABJ4GRVblGOToHY5KZxZ9SgA4j+AIAAAAAAAAgMDb2BeWgUgs59uvaB8wdTwArEVwBI74f//v/8luu+3m9DAAAAAAAAAAw7KN+QU31ncPGT1LAHgDwRFk5IknnpCCggLp7u425f7OOecceeyxx0y5LwAAAAAAACAffcNRaesbzus+4okE2SOAhxAcsdA777wjf/3rX+Xdd991eiiuqt0Yi8WkqqpKGhsb87qvaDRq2rgAAAAAAAAQXO+19ZtyPyvbByQ2EjflvgBYi+CIBTo7O+XQQw+V7bbbTj7xiU/Itttua5zv6uqy7DEPPPBAOfXUU41TbW2tNDU1yYUXXmgEI5L08U844QSpr6+XiooK+fjHPz4mcLNq1So57LDDjL9XVlbKTjvtJH/5y19k5cqVctBBBxnX0b9pBsmXvvQl43w8HpfLLrtMFi5cKOXl5bJ48WK57777tsg40SDRHnvsIaWlpfL0009vUVZL7+eSSy6ROXPmGNfRvz388MOjf9cx6P3ce++9csABB0hZWZn86le/Srst9Ho/+clP5FOf+pTxPHfYYQd55pln5L333jO2kz63fffdV5YtWzbmdn/4wx/kfe97n3HfixYtkosvvtgI5CRdc801sssuuxi3nzt3rnzzm9+U/v7NH5w///nPpa6uTh555BHjMTUApK97S0tLzq8rAAAAAAAArDUUGZG1XUOm3FdkJC4rc2zqDsBeBEcscNxxx8nf//73MZfp+WOPPdbSx73rrrskFArJ0qVL5frrrzcm83/605+O/l0DGs8995w89NBDRrBAAycavElmYJxyyikSDofln//8p7z66qvyox/9yJjg10DA/fffb1zn7bffNib79f6VBkZ+8YtfyK233iqvv/66nHnmmXL88cfLk08+OWZs559/vlx++eXy5ptvyq677rrF2PX+rr76arnqqqvklVdekUMOOUQOP/zwLbJu9H5OP/104370OhO59NJLjUDQSy+9JNtvv73xmnz961+XCy64wNgG+tw1kJT01FNPGdfX+37jjTeM4IoGO37wgx+MXqewsFBuuOEG43nqtv7HP/4h55577pjHHRwcNJ7DL3/5S2M7rl692ighBgAAAAAAAHd6t63PKIllZhbKSNy8+wNgjYJEampBAPT29hqZFT09PVJTUzPmb8PDw7JixQojC0KzB3ItpaUZI5P9fZttthGzaUZEW1ubMXGvmRPJQIIGQnSyX4MMmsHyr3/9y8iaUB0dHUbgQyf6P/e5zxlBiyOPPFKWLFmyxf1rBohmj2j2iWZHKA2kNDQ0GIGfffbZZ/S6X/3qV40gwT333DN6uwcffFA+/elPj15HM0f0Mg1eqNmzZxvBme985zuj19lrr73k/e9/v9x8881G5oi+Ltddd50RwJiMPv/vfe97RoBEPfvss8b47rjjDvnyl79sXPab3/xGTjzxRBka2rQq4OCDD5aPfOQjRvAk6e677zaCH+vXr0/7OJoh841vfEPa29uN8xpM0fvUDJWtttrKuOyWW24xMmI2bNgg+TJj/wQAAAAAAMDYrJG/v9lqanBE7Ty7VraaVmXqfWLyuV0gW6Gsb4FJjS/VNJ5OnFsRHFEf+MAHRgMjSgMCmo0xMjJiZFpoVsnee+89+nft+aGBHP2bOu200+Tkk0+WRx991AgWaKAk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pCKio6Ola9eusmzZslIfj42NNUthqampBzFqBIr+R4T/kKA4zguUhvMCpeG8QGk4L1Ac5wRKw3mB0nBeoDScFygN54W9yBhBWDRkj4mJkW7dusk333xTJLND7xfODimPluX6448/JD09vRJHCgAAAAAAAAAAwoXtZbW05NWwYcPk0EMPle7du8ukSZMkKytLhg8fbh4fOnSo1K9f3/QOUXfeeaccfvjh0qJFC9m5c6c8+OCDsmrVKrnkkktsficAAAAAAAAAACAU2B4cGTx4sGzZskXGjRsnGzdulC5dusgXX3zha9K+evVqcTr/S3DZsWOHjBgxwmyblpZmMk9mzpwp7dq1s/FdwB9a5mz8+PElyp0hsnFeoDScFygN5wVKw3mB4jgnUBrOC5SG8wKl4bxAaTgvgPDisLSLDQAAAAAAAAAAQISwtecIAAAAAAAAAABAVSM4AgAAAAAAAAAAIgrBEQAAAAAAAAAAEFEIjgAAAAAAAAAAgIhCcAS2ue+++8ThcMi1115r91BgI7fbLbfddps0bdpU4uPjpXnz5jJhwgSxLMvuocFGt99+u/n3ofDSpk0bu4eFIPDkk09KkyZNJC4uTnr06CFz5syxe0iw0b333iuHHXaYJCUlSe3atWXQoEGyePFiu4cFm+m/EcX/G6LLlVdeaffQYLOMjAzzt0fjxo3N7529evWSX3/91e5hwUZPP/20dOrUSZKTk83Ss2dP+fzzz+0eFmy2bt06Of/886VGjRrm34qOHTvK3Llz7R4WbPbDDz/IgAEDpF69eub3ig8++MDuIQEIAIIjsIX+EfLMM8+YX0QR2e6//37zR8kTTzwhf//9t7n/wAMPyOOPP2730GCz9u3by4YNG3zLTz/9ZPeQYLO33npLRo8eLePHj5f58+dL586dpV+/frJ582a7hwabfP/992bCe9asWfLVV19JXl6enHDCCZKVlWX30GDz75mF//uh54Y666yz7B4abHbJJZeY8+HVV1+VP/74w/x70bdvXzMRisjUoEEDc9HevHnzzOT3scceKwMHDpQ///zT7qHBJjt27JAjjjhCoqOjTaDsr7/+kocffljS0tLsHhpspr9f6t8ferEWgPDhsLg8G1UsMzNTDjnkEHnqqafkrrvuki5dusikSZPsHhZscsopp0idOnXkhRde8K0744wzzBU6r732mq1j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XmrXrl3m4ykpKUUySw7UeeedJz/99JP8+eefB70vAAAAwC4ERwAAAKrAu+++Kx07djSTlzVq1JC+fftKVlZWmVdva+mb4oECLTc1ZMgQSUxMlPr168uTTz5ZbqaHZhZccsklJmiSnJwsxx57rPz2229FnvPxxx/LYYcdJnFxcVKzZk057bTTfGNatWqVjBo1ymQp6FLRTIw5c+ZI165dzT4PPfRQWbBgwX6Pz9tvvy2dO3c278tLX3/AgAGSlpZm3nP79u3ls88+8z3+/fffS/fu3U1gJj09XcaMGSP5+fm+x/U9XHXVVebY6nvr16+fOUZK36eO23tfffjhh3LIIYeYcTdr1kzuuOOOIvtbunSpHH300ebxdu3ayVdffSUVofvQcejEtI7jtttuE8uyzGN33nmndOjQocRztBSSbldaibJjjjnG3Nbjou/Be56U9n5LK2mm54Wu0wwUr0WLFpnsn2rVqkmdOnXkggsukK1bt+63fNNHH31kjoV+BhrgysnJMVkF+jnqZ9ajRw/f6+h71nNRvwuF36d+dl464a772rNnj7k/ceJE873RfTVs2FCuuOIKyczM3O84Nm/ebM4d/b41bdpUXn/99f1+Tt6SU/q5e78zl19+eZEASGnHuCLn4v7OA/Xqq6+a74tmTmnA8dxzzzXvo7iff/5ZOnXqZM7Dww8/3Hx2xY/H/t6j97aOW7NJvN/xlStXSosWLeShhx4q8jw9f/TxZcuW+c69I444QqZOnbrf4woAAAAEK4IjAAAAlUzLTmlQ46KLLpK///7bTBaffvrpRSZGK+LBBx80AQQNNujk6zXXXFPuBP1ZZ51lJlc///xzmTdvnpn4P+6442T79u3m8U8//dQECU4++WSzz2+++cZM8Kpp06ZJgwYNzOS9jl+XitCJ61NOOcVMVOtras8DnSzfnx9//NFMDBd25ZVXmsn2H374Qf744w+5//77zeS9WrdunRm3BnY04PP000/LCy+8IHfddVeRfbz88sumDJBOKE+ePNmUHlNTpkwx78l7X19/6NCh5pj+9ddf8swzz5iJ5rvvvts8rtkI+pnpvmbPnm32VdGyQjqGqKgoEzTSiWid8H/++efNY95zwjsOpZ/F77//LsOHDy+xLw0QvPfee74eLfoedJ9lvd+K0GCJBs40oKV9JL744gvZtGmTnH322eU+TwMY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OlW6desmSUlJkpycLB07djRZLEonOM866yxzWzNevCXCtJyY1+effy5HHXWUCXToPvr37y9//vlnqT0u9P2ffPLJZrvzzjvP91jxK9o1cHLddddJw4YNJTY2Vlq3bi0PPfSQWJZVavmz119/3RxX3faLL74o8/jp8++66y5p0KCBJCQkmPdUfKxeO3fulGuvvdY3hhYtWpjSSIWzXLz9LXRszz77rDRv3txse9hhh5kAWGEbN26U4cOHm9fWbdLT02XgwIFFyh0V7jmix1j3o/R53mOvn8n48eNNUGnLli0lxn3ppZea80snx/dnxYoV0q9fP/PZacDwzjvv9B1j/amfi46xON23Bvkuu+yycvf/1VdfyZFHHmnGo5+/fo76PSxe8q54ySdvubrC55nX/s79snqO/PPPP6acXfXq1c334dBDD5WPPvqo1M991KhR5r3r56Sf19ChQ2Xr1q3lfiZlWblypfz+++/St29fv757hT8j/Q7quPWcPfzww+XTTz8t9Xjp/m699VZTqk+31QyOQHx/1QcffGD+7dFjpz/ff//9Mt+zlgn8+OOPS3xfAQAAgMpC5ggAAEA5dCJVJzk1e2TMmDEByx7xt+TPL7/8IosWLapQc+nS7NixwwQYzj77bFOm5+2335b//e9/5irxiy66yGyjZYV0kn3ZsmUmeKDv/Z133jGBCJ38veaaa3yT17qP4447zkz8q7///lt+/vlns83RRx8tI0eONJOsOqmtV4Ur708tKTZs2DAzwa7P37Nnjzz99NNmQnzBggVFgh5aVki308c0mKCTt6XRCVW9yn7GjBkmuKMZP9OnT5cbbrjB9Ix55JFHimyv5Xv0GOj71Iyd8koHjRs3zgRH9PjpMn/+fDnhhBNMtklh+j569+5tXk8DAFoGTUuiadbRhg0bZNKkSUW2f+ONNyQjI8Nsq5PP2nz79NNPNxPb3syYM844w0w6a+k0HaMGr/T4r169utQx6zHWYIWOWQMeOoGtNDCgx1Afe+utt4r0xtH3oT1x9LX2l6WggcITTzzRTLbreDWopEEX/Zx03/o+NPtJH9u+fbuZnPfSiW/to1FadpSXvtdTTjlFOnXqZPangQY9H/XcOlAVOffLGssRRxxhggb63ddAgD530KBB8t5778lpp51mtsvMzDTHWb8Dur9DDjnEBEU0iLJ27dpyP5Oy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LuMIt3MqOTlZcnNzW3w8MzOzUWbJkZo+fbosWrRI1qxZc9T7AgAAAOxCcAQAAOA4eOWVV2To0KFm8jI7O1umTJki5eXlLV69raVvmgYKtNzUxRdfLKmpqdKlSxd57LHHWs300MyCK664wgRNMjIy5LTTTpOvv/660XP+9a9/ydixYyUpKUlycnLkxz/+sX9MW7duleuvv95kKegSbCbG0qVLZeTIkWafY8aMka+++uqw789LL70kw4cPN8flo6//wx/+ULKysswxDx48WN555x3/45988omMGzfOBGby8vLk5ptvlrq6Ov/jegzXXnuteW/12M4880zzHik9Th23776aP3++jBo1yoy7V69ecscddzTa33fffScnn3yyeXzQoEHy/vvvSzB0HzoOnZjWcdx2221iWZZ57M4775QhQ4Yc8hwthaTbNVei7NRTTzW39X3RY/CdJ80db3MlzfS80HWageKzevVqk/2TlpYmHTt2lEsvvVT27t172PJNb775pnkv9DPQAFd1dbXJKtDPUT+z8ePH+19Hj1nPRf1ZCDxO/ex8dMJd91VRUWHuP/TQQ+bnRveVn58vV199tZSVlR12HLt37zbnjv689ezZU/7xj38c9nPylZzSz933M/Nf//VfjQIgzb3HwZyLhzsP1HPPPWd+XjRzSgOOl1xyiTmOphYvXizDhg0z5+EJJ5xgPrum78fhjtF3W8et2SS+n/EtW7ZInz595MEHH2z0PD1/9PGNGzf6z71JkybJCy+8cNj3FQAAAAhXBEcAAACOMS07pUGNn//857J27VozWfwf//EfjSZGg/HAAw+YAIIGG3Ty9brrrmt1gv7CCy80k6vvvvuuLF++3Ez8n3766bJ//37z+Ntvv22CBD/4wQ/MPj/44AMzwatee+016dq1q5m81/HrEgyduD733HPNRLW+pvY80Mnyw/n000/NxHCga665xky2L1y4UFatWiX333+/mbxXO3bsMOPWwI4GfJ544gn561//KnfffXejffztb38zZYB0QvnJJ580pcfUs88+a47Jd19f/7LLLjPv6bfffitz5841E82///3vzeOajaCfme7riy++MPsKtqyQjiEuLs4EjXQiWif8/+d//sc85jsnfONQ+ll88803MmPGjEP2pQGCV1991d+jRY9B99nS8QZDgyUaONOAlvaReO+996So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\",\n      \"text/plain\": [\n       \"<Figure size 1600x1000 with 3 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Inspect full NUTS posterior shape per subject (not just posterior means)\\n\",\n    \"z_samples = np.array(mcmc_samples[\\\"z\\\"])\\n\",\n    \"\\n\",\n    \"# Handle optional chain dimension: [chains, draws, agents, params] -> [draws_total, agents, params]\\n\",\n    \"if z_samples.ndim == 4:\\n\",\n    \"    z_samples = z_samples.reshape(-1, z_samples.shape[-2], z_samples.shape[-1])\\n\",\n    \"elif z_samples.ndim != 3:\\n\",\n    \"    raise ValueError(f\\\"Unexpected mcmc_samples['z'] shape: {z_samples.shape}\\\")\\n\",\n    \"\\n\",\n    \"reward_prob_samples = 0.5 + 0.5 / (1.0 + np.exp(-z_samples[..., 0]))  # [draws, agents]\\n\",\n    \"true_reward_prob = np.array(0.5 + 0.5 * nn.sigmoid(ground_truth_z[:, 0]))\\n\",\n    \"posterior_mean = reward_prob_samples.mean(axis=0)\\n\",\n    \"\\n\",\n    \"subject_ids = np.arange(num_agents)\\n\",\n    \"sort_idx = np.argsort(true_reward_prob)\\n\",\n    \"subject_ids_sorted = subject_ids[sort_idx]\\n\",\n    \"true_reward_prob_sorted = true_reward_prob[sort_idx]\\n\",\n    \"posterior_mean_sorted = posterior_mean[sort_idx]\\n\",\n    \"reward_prob_samples_sorted = reward_prob_samples[:, sort_idx]\\n\",\n    \"\\n\",\n    \"plot_positions = np.arange(num_agents)\\n\",\n    \"\\n\",\n    \"fig, axes = plt.subplots(2, 1, figsize=(16, 10), constrained_layout=True)\\n\",\n    \"\\n\",\n    \"# 1) Violin plot: per-subject posterior distributions + true values (sorted by true reward prob)\\n\",\n    \"parts = axes[0].violinplot(\\n\",\n    \"    [reward_prob_samples_sorted[:, i] for i in range(num_agents)],\\n\",\n    \"    positions=plot_positions,\\n\",\n    \"    showmeans=False,\\n\",\n    \"    showmedians=True,\\n\",\n    \"    showextrema=False,\\n\",\n    \")\\n\",\n    \"for pc in parts['bodies']:\\n\",\n    \"    pc.set_alpha(0.35)\\n\",\n    \"\\n\",\n    \"axes[0].scatter(plot_positions, true_reward_prob_sorted, color='crimson', marker='x', s=80, label='true reward prob')\\n\",\n    \"axes[0].scatter(plot_positions, posterior_mean_sorted, color='black', s=20, label='posterior mean')\\n\",\n    \"axes[0].set_ylabel('reward probability')\\n\",\n    \"axes[0].set_xlabel('subject id (sorted by true reward probability)')\\n\",\n    \"axes[0].set_ylim(0.5, 1.0)\\n\",\n    \"axes[0].set_xticks(plot_positions)\\n\",\n    \"axes[0].set_xticklabels(subject_ids_sorted)\\n\",\n    \"axes[0].set_title('NUTS posterior distribution per subject (violin, sorted)')\\n\",\n    \"axes[0].legend(loc='upper left')\\n\",\n    \"\\n\",\n    \"# 2) Density heatmap: posterior mass over probability bins by subject (same sorted order)\\n\",\n    \"bins = np.linspace(0.0, 1.0, 60)\\n\",\n    \"density = np.stack([\\n\",\n    \"    np.histogram(reward_prob_samples_sorted[:, i], bins=bins, density=True)[0]\\n\",\n    \"    for i in range(num_agents)\\n\",\n    \"], axis=1)  # [num_bins-1, num_agents]\\n\",\n    \"\\n\",\n    \"im = axes[1].imshow(\\n\",\n    \"    density,\\n\",\n    \"    aspect='auto',\\n\",\n    \"    origin='lower',\\n\",\n    \"    extent=[-0.5, num_agents - 0.5, bins[0], bins[-1]],\\n\",\n    \"    cmap='viridis',\\n\",\n    \")\\n\",\n    \"axes[1].plot(plot_positions, true_reward_prob_sorted, color='crimson', linestyle='--', marker='x', label='true reward prob')\\n\",\n    \"axes[1].set_ylabel('reward probability')\\n\",\n    \"axes[1].set_xlabel('subject id (sorted by true reward probability)')\\n\",\n    \"axes[1].set_ylim(0.5, 1.0)\\n\",\n    \"axes[1].set_xticks(plot_positions)\\n\",\n    \"axes[1].set_xticklabels(subject_ids_sorted)\\n\",\n    \"axes[1].set_title('NUTS posterior density by subject (sorted)')\\n\",\n    \"axes[1].legend(loc='upper left')\\n\",\n    \"fig.colorbar(im, ax=axes[1], label='density')\\n\",\n    \"\\n\",\n    \"plt.show()\\n\",\n    \"\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"16\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Inference Method 2: Black-Box Stochastic Variational Inference\\n\",\n    \"\\n\",\n    \"Use NumPyro's `SVI` functionality to run variational inference with a `MultivariateNormal` variational posterior (that is, a Normal guide). SVI runs a black-box variational inference procedure where ELBO gradients are estimated using samples from the guide. This allows less constrained likelihood modeling than traditional mean-field variational Bayesian treatments, where likelihoods are often limited to conjugate-exponential forms.\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 9,\n   \"id\": \"17\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"{'seed': 0, 'enumerate': False, 'iter_steps': 1000, 'optim': None, 'optim_kwargs': {'learning_rate': 0.001}, 'elbo_kwargs': {'num_particles': 10, 'max_plate_nesting': 1}, 'svi_kwargs': {'progress_bar': True, 'stable_update': True}, 'sample_kwargs': {'num_samples': 100}}\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_95807/2592818604.py:42: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  return Agent(\\n\",\n      \" 76%|███████▌  | 757/1000 [09:16<02:59,  1.35it/s, init loss: 7789.5132, avg. loss [701-750]: 7768.9961]\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"# perform inference on parameters using black-box stochastic variational inference (SVI in numpyro)\\n\",\n    \"# opts_svi dictionary can be used to specify various parameters\\n\",\n    \"# for the SVI optimization algorithm\\n\",\n    \"measurements = {\\n\",\n    \"    \\\"outcomes\\\": [outcomes[0] for outcomes in samples[\\\"outcomes\\\"]],\\n\",\n    \"    \\\"multiactions\\\": samples[\\\"multiactions\\\"][0],\\n\",\n    \"}\\n\",\n    \"\\n\",\n    \"posterior = NumpyroGuide(NormalPosterior(num_params, num_agents, backend=\\\"numpyro\\\"))\\n\",\n    \"\\n\",\n    \"# perform inference using stochastic variational inference\\n\",\n    \"opts_svi = default_dict_numpyro_svi | {\\\"iter_steps\\\": 1_000}\\n\",\n    \"print(opts_svi)\\n\",\n    \"\\n\",\n    \"svi_samples, svi, results = run_svi(model, posterior, measurements, opts=opts_svi)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"18\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Plot the variational free energy over time (negative ELBO)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 10,\n   \"id\": \"19\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"[<matplotlib.lines.Line2D at 0x3ec6cf790>]\"\n      ]\n     },\n     \"execution_count\": 10,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 640x480 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plt.plot(results.losses)\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"20\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Plot each ground truth parameter alongside their posterior means (mean taken over posterior samples from the guide)\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 11,\n   \"id\": \"21\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"<matplotlib.legend.Legend at 0x3ecc6cd10>\"\n      ]\n     },\n     \"execution_count\": 11,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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AHgBDUAuWrTI+k1qgFInc6s2bdo4gcoyZcrYNO8qVaowDMeHEKhEjho3bpwMHTpUxo4da1cyxowZI926dZP169dbCjYAAAAAAEBG7r//fost7Nu3z1krWLCglXL3798/3X2rVq3qwg6RmwJz9avDVckpqbJw80H5deUu+6i3c9trr70md911lwwePFiioqIsYFmkSBH55JNPcv17AwAAAAAA73Hw4EHLmExr69atFqQMCwuTm266ScaPHy8HDhywYTl33nmna3tF3iCj0kdNXhMvT8f+LfFHE521CmEhMqp3lETXq5Ar3zMpKUmWLVsmjz/+uLMWGBgonTt3loULF+bK9wQAAAAAAN4jLi7OSrr1mDt3rpV5awl3RESEndeYwgMPPCBt27aV4OBgt7eLPEag0keDlPd8tVzOzZ/cczTR1t8b2DhXgpV6hUP/gSlfvny6db2tjW8BAAAAAID/2bx5s3zxxReWPfnnn3+mO9egQQObceEJVLZs2dKlXSI/IFDpY7S8WzMpz1fkrWvaXlbPd4kKl6BAms0CAAAAAICcdebMGUlMTJTQ0FC7vWLFCnnmmWecykvNluzbt68dngAloOhR6WOWxB1KV+59vmClntf75TSduBUUFCR79+5Nt663w8PDc/z7AQAAAACA/CEhIUG+//57GThwoA3T1RkWHjpk99prr5XPP//c+k/OmjVLHnzwQYKU+AcyKn3MvoTEHL1fVugUriZNmsiMGTOkX79+tpaSkmK377333hz/fgAAAAAAwD3x8fESGxtrJd363l9nV3ho/0kPzazUICZwMQQqfUy50JAcvV9WDR06VG699VZp2rSpNGvWTMaMGSMnTpywKeAAAAAAAMA36IyKunXryuHDh521WrVqWeKSlnS3aNHC1f3BOxGo9DHNIkrZdG8dnHO+PpXalTI8LMTulxuuv/562b9/v4wcOdKa4TZs2FAmT578jwE7AAAAAADAOwKSixcvtqzJlStXypQpUyQgIMBav/Xs2VM2btxogUkNUEZGRto5ILsCUlNTzxfPwv8cO3ZMwsLC5OjRo1K8ePF057QxbFxcnPVUCAnJnQzFS5n6rdL+5Xr+qcitqd/5RX79ewEAAAAAwBucOnXKSrl//fVXiYmJsb6SHjq1u379+vb52bNnpUABcuBwafG1tPi/yQdpEFKDkTrdO+1gHc2k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5/V3j/a4/OKLL6wUSS+YAQBwqVq2bCmDBg2yVgnt2rWzC2Fly5aV999/3+2tAQC8ABmVF6A98LSP5IVUr149x76ffi0txdu0aZN06tQpx74u4EvPnfDwcPu4d+9em/rtobf1BTHgL88ffS6cO8jg7NmzNgnc8zzJDG2boPR3T40aNbK5ayD/0tdWWqmivyfS0tsZPVd0PSv3B3xVdp4/5woODpZGjRrZ7xkAGcvod48OpyKbEv6EQOUF6JU/PfKKDj/QHpVpgy+AN8rN5462StBf4jNmzHACk1oOoT35sjI5HPD2549mrGhzde0d1qRJE1ubOXOmDTnwBB8zQ6dKKn73wFcVLFjQniP6e8MzxECfJ3r73nvvzfD5ped1IIjHtGnTbB3wJ9l5/pxLS8dXr15tw94AZEx/x0yaNCndGr974I8o/c4h27dvtzd7+lF/GevnemgjaY/IyEgrr1O6/sgjj8iiRYtk69at9steG03XrFnTSvIAf5HV546Wveobx+eee05iYmLsha+WF2m/vQtN0QN8TZ06dazX8V133SVLliyR+fPn25tGbSvimfi9a9cue/7oeaXl3c8++6wFN/V3jz6H9PnTtm1b6yUG+KqhQ4fKhx9+KJ9//rmsXbvWLmzpVO/BgwfbeX0e6GApjwceeMAmrL766qvWauGpp56SpUuXZjowA/jz8+eZZ56RqVOnypYtW2T58uUycOBA2bZtm9x5550u/hRA3tP3M573Np6hoJ73PUqfN/r88RgyZIg9bx599FH73fPuu+/K+PHj5aGHHnLtZwBckYocceutt6bqH+e5x6xZs5z76O1PP/3UPj958mRq165dU8uWLZsaHBycWrVq1dS77rordc+ePS7+FED+f+6olJSU1BEjRqSWL18+tVChQqmdOnVKXb9+vUs/AeCegwcPpt54442pxYoVSy1evHjq4MGDUxMSEpzzcXFx6Z5P27dvT23btm1qqVKl7LlTs2bN1EceeST16NGjLv4UQN546623UqtUqZJasGDB1GbNmqUuWrTIOdeuXTv7fZTW+PHjUy+//HK7f926dVMnTpzowq4B73v+PPjgg8599bVajx49UpcvX+7SzgH36Ouv873P8Txf9KM+f859TMOGDe35U7169XTvgQB/EaD/cSdECgAAAAAAAAD/Rek3AAAAAAAAANcRqAQAAAAAAADgOgKVAAAAAAAAAFxHoBIAAAAAAACA6whUAgAAAAAAAHAdgUoAAAAAAAAAriNQCQAAAAAAAMB1BCoBAADg1wICAuSXX35xexsAAAB+j0AlAAAAsqV9+/by4IMPur0NAAAA+AgClQAAAMg1qampcvbsWbe3AQAAAC9AoBIAAABZdtttt8mcOXPkjTfesNJpPbZu3SqzZ8+2z3/77Tdp0qSJFCpUSObNm2f379evX7qvodmYmpXpkZKSIi+++KJERERI4cKF5YorrpAffvghwz088cQT0rx583+s6+OeeeYZ+/yPP/6QLl26SJkyZSQsLEzatWsny5cvz/BrevZ/5MgRZ23lypXOz+ehP1ObNm1sn5UrV5b7779fTpw4kYU/QQAAAJyLQCUAAACyTAOULVu2lLvuukvi4+Pt0ICdx/Dhw+Wll16StWvXSoMGDTL1NTVI+cUXX8jYsWPlr7/+koceekgGDhxoAdHzufnmm2XJkiWyefNmZ00f9+eff8pNN91ktxMSEuTWW2+1wOKiRYukVq1a0qNHD1vPLv1+0dHRcs0119j3GjdunH39e++9N9tfEwAAACIF3N4AAAAAvI9mJxYsWFCKFCki4eHh/zivGY2ayZhZp0+flhdeeEGmT59uAVBVvXp1CwC+//77lgl5rrp161r25DfffCMjRoywta+//tqyLGvWrGm3O3bsmO4xH3zwgZQoUcKCn7169ZLs0ICqBkk9/Tk1+Pnmm2/aHt977z0JCQnJ1tcFAADwd2RUAgAAIMc1bdo0S/fftGmTnDx50oKbxYoVcw7NsEybMXkuDRhqoNLTD/Pbb7+1NY+9e/da1qcGEzW4Wrx4cTl+/Lhs37492z/bqlWr5LPPPku3z27dulnpelxcXLa/LgAAgL8joxIAAAA5rmjRouluBwYGWiAxrTNnzjifa/BQTZw4US677LJ099M+lxm58cYb5bHHHrO+k6dOnZIdO3bI9ddf75zXsu+DBw9aqXrVqlXta2nGZlJS0nm/nu5Tpd1r2n169vqvf/3L+lKeq0qVKhnuFQAAABdGoBIAAADZoqXfycnJmbpv2bJlZc2aNenWdEhNcHCwfR4VFWVBRM10PF+Zd0YqVapk99eSbw1UakZmuXLlnPPz58+Xd9991/pSKg1kHjhw4IL7VNpzs2TJks4+02rcuLH8/fffTnk5AAAAcgal3wAAAMiWatWqyeLFi20atgb/tPQ5I9orcunSpVbKvXHjRhk1alS6wGVoaKgMGzbMBuh8/vnnVu6tWZJvvfWW3b4QLfX+7rvv5Pvvv09X9q205PvLL7+0oT66Vz2vk7ozosFHHQr01FNP2T41w/PVV19Ndx/N4FywYIENz9Egpt7v119/ZZgOAADAJSJQCQAAgGzRwGJQUJBlQ2om4oX6PmoPRx148+ijj8qVV15pU7cHDRqU7j7PPvus3UeH1dSpU8cma2ugMCIi4oL7uPbaa628W3tc9uvXL925jz/+WA4fPmxZkLfccouVa6fNuDyXZnhqn8t169bZtPKXX35ZnnvuuXT30XUdxrNhwwZp06aNNGrUSEaOHCkVK1a8yJ8YAAAALiQg9dxmQQAAAAAAAACQx8ioBAAAAAAAAOA6ApUAAAAAAAAAXEegEgAAAAAAAIDrCFQCAAAAAAAAcB2BSgAAAAAAAACuI1AJAAAAAAAAwHUEKgEAAAAAAAC4jkAlAAAAAAAAANcRqAQAAAAAAADgOgKVAAAAAAAAAFxHoBIAAAAAAACA6whUAgAAAAAAABC3/X9pa91opIEB+AAAAABJRU5ErkJggg==\",\n      \"text/plain\": [\n       \"<Figure size 1600x500 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"plt.figure(figsize=(16, 5))\\n\",\n    \"ground_truth_z = samples['z'][0]\\n\",\n    \"for i in range(num_params):\\n\",\n    \"    plt.scatter(ground_truth_z[:, i], svi_samples[\\\"z\\\"].mean(0)[:, i], label=i)\\n\",\n    \"\\n\",\n    \"plt.plot((ground_truth_z.min(), ground_truth_z.max()), (ground_truth_z.min(), ground_truth_z.max()), \\\"k--\\\")\\n\",\n    \"plt.ylabel(\\\"posterior mean (SVI)\\\")\\n\",\n    \"plt.xlabel(\\\"true value\\\")\\n\",\n    \"plt.legend(title=\\\"parameter id\\\")\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"id\": \"22\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Transform the latent parameter corresponding to the reward probability into probability space and investigate overlap between ground-truth and inferred parameter\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 12,\n   \"id\": \"23\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"reward-probability Pearson r: 0.905\\n\",\n      \"reward-probability bimodality score: 0.300\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 1600x500 with 1 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"inferred_reward_probabilities = 0.5 + 0.5 * nn.sigmoid(svi_samples[\\\"z\\\"].mean(0)[:, 0])\\n\",\n    \"ground_truth_reward_probabilities = 0.5 + 0.5 * nn.sigmoid(ground_truth_z[:, 0])\\n\",\n    \"\\n\",\n    \"plt.figure(figsize=(16, 5))\\n\",\n    \"plt.scatter(ground_truth_reward_probabilities, inferred_reward_probabilities, label=\\\"reward probability\\\")\\n\",\n    \"\\n\",\n    \"plt.plot((ground_truth_reward_probabilities.min(), ground_truth_reward_probabilities.max()), (ground_truth_reward_probabilities.min(), ground_truth_reward_probabilities.max()), \\\"k--\\\")\\n\",\n    \"plt.ylabel(\\\"posterior mean (SVI)\\\")\\n\",\n    \"plt.xlabel(\\\"true value\\\")\\n\",\n    \"plt.legend(title=\\\"parameter id\\\")\\n\",\n    \"\\n\",\n    \"corr = np.corrcoef(\\n\",\n    \"    np.array(ground_truth_reward_probabilities),\\n\",\n    \"    np.array(inferred_reward_probabilities),\\n\",\n    \")[0, 1]\\n\",\n    \"\\n\",\n    \"bimodality_score = np.clip(\\n\",\n    \"    np.mean((np.array(inferred_reward_probabilities) < 0.2) | (np.array(inferred_reward_probabilities) > 0.8))\\n\",\n    \"    - np.mean((np.array(inferred_reward_probabilities) >= 0.35) & (np.array(inferred_reward_probabilities) <= 0.65)),\\n\",\n    \"    0.0,\\n\",\n    \"    1.0,\\n\",\n    \")\\n\",\n    \"\\n\",\n    \"print(f\\\"reward-probability Pearson r: {corr:.3f}\\\")\\n\",\n    \"print(f\\\"reward-probability bimodality score: {bimodality_score:.3f}\\\")\\n\",\n    \"\\n\",\n    \"\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 13,\n   \"id\": \"24\",\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"iVBORw0KGgoAAAANSUhEUgAABkcAAAPzCAYAAAANttuiAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3Qd45FXZ9/GTZDLpZTe72cZWpAosiIIgTUGxoSg8ijyKIqIiTRdFkLIPoAIKSBFEmmJFRVR8VRARERRFqtLLdrZvep1Mkve6zzrZJJsy5V9O+X6uK7BJJpP/TKae37nvu2hwcHBQAQAAAAAAAAAAeKI47gMAAAAAAAAAAACIEuEIAAAAAAAAAADwCuEIAAAAAAAAAADwCuEIAAAAAAAAAADwCuEIAAAAAAAAAADwCuEIAAAAAAAAAADwCuEIAAAAAAAAAADwCuEIAAAAAAAAAADwCuEIAAAAAAAAAADwCuEIAACAQ77//e+roqIitWLFitiO4ROf+IRasGDBiK/JMf3f//1f6L/7L3/5i/5d8v+Mww47TO2xxx4qCnK9y++XvwMKvx1VV1dnddqobl+5+PnPf66mTp2qOjo6cv7ZfC/PWLf/se6P2J5c33LdZfT19am5c+eqG264IdbjAgAAQHgIRwAAQKz+85//qGOPPVbNnz9flZeXqzlz5qi3v/3t6rrrrtPff+KJJ/SC1fnnnz/uebz88sv6NEuWLBmxyLV582Zlmq6uLn18wxcvMbaf/OQn6uqrr1YmMvnYEP99tr+/Xy1dulSdfvrpWQc8mNzatWv13+Kpp54K/XeVlpbq55Svfe1rqqenJ/TfBwAAgOglYvidAAAA2t///nf11re+Vc2bN0+dfPLJaubMmWr16tXqH//4h7rmmmv0wuIb3vAGteuuu6qf/vSn6qtf/eq4C9Xiox/9qLJhofWiiy4aqmgI2sc+9jF13HHHqbKyMmWS7u5ulUjk9tJT/q7PPPOM+vznP5/1zxxyyCH6dyWTyTyOsvBjk5BPfr8srMLs21eY99nf/va36sUXX1Sf/vSnY788N998sxoYGFCuhCPyt5BKmL333jv033fiiSeqc845R9/fP/nJT4b++wAAABAtwhEAABAb2ZFbV1en/vWvf6n6+voR39u4cePQv//3f/9XXXDBBTo0efOb37zd+UhwIgGKBCm+6uzsVFVVVaqkpER/BLkwXFlZWfD5SFVQmGRntwQixcXFof+uiUjFUpy/P2yyyJ5KpYy7jKYdz/e+9z31lre8RVfCxX15XAjq0ul0LAGPPC+94x3v0G3yCEcAAADcQ1stAAAQm1dffVW9/vWv3y4YEY2NjSPCkeEVIsM9/vjjeod25jS5yLTfeuGFF9SHPvQhVVtbqxoaGtSZZ565XRsVWZy75JJL1I477qirMmTn8le+8hXV29s74nSPPfaYOvLII9W0adNURUWFWrhw4dCimsyjmD59uv637H6W3z16toAci7QZk1kFskD6xje+Ud19991jzhV58MEH1ec+9zl9Xe2www4TzhyRvvlyXcuxz549W5166qmqpaVlxGkysznkOpUKDAlF5DJO5Ne//rX+GTlW+f+vfvWrMU83+nK2t7frqgu5HuWY5DJIOzVpo5Y5lt/97ndq5cqVQ9dTZm5CZq7CHXfcodutyQK0HGtbW9uYMxcy5HIdeOCBQ3+XG2+8cczrdfR1N/o8Jzq28WaO/PnPf1YHH3ywDrDk9v7+979fPf/882PeHl955RU9J0JOJ+Gh7F6XkGoyw/9+E11OIbdbafv0ute9Tl//Mlvh7LPP3u72LMdz2mmnqR//+MdDt5977rln3GOY6PY/1nWZzayWZcuW6fOU605uuxdffLEaHBycdEbHa6+9pn/3jBkz9HHL8d92223bnb/c1+Vnd955Z307njVrlvrgBz+oH5+yuc+OdX5yHR1xxBEjvi5/G6mUG00W/eU2LPf7iS7Pk08+qd71rnfpxylp1XX44YfrwHgyo2eOZK7rK664Qt10001Dj2lvetObdFCdr/vuu08ddNBB+nYrx7fLLrts9/ghofdJJ52k/yZyXS9evFjdfvvtI04z/PikdV3m+OQxTI5RyH0i87cYfpv55z//qd75znfq+408Jhx66KHqb3/723bH+vDDD+vzkmOQ8//ud7877uWSxyU5fVNTU97XDQAAAMxE5QgAAIiNtCB65JFHdHuiiQZmywKrLPbKgONvfetbIyojMoHJ8ccfn/dxSDAii4eXXnqpXmy89tprVXNzs/rBD34wdJpPfepTehFPFjDPOussvQgnp5cF7kwgIAt/sstYFlOlFYssEspC31133aW/L1//zne+o0455RT1gQ98QC/Air322kv//9lnnx3abS4/L4vBcpmP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c0/983PnzlWf+9znVEfHtifP73//+7qq5t5779W/UwIg+buvW7cu778rAAAAAAAAwrOpvVc1d6UCP99XNgYbuAAIHuFICI4//nj1pz/9acTX5POPfOQjof7e22+/XSUSCfXoo4+qa665Ri/m33LLLUPfl0DjscceU3fffbcOCyQ4kfAmU4Fx6qmnqt7eXvXXv/5V/ec//1GXX365XuCXIOCXv/ylPs2LL76oF/vl/IUEIz/4wQ/UjTfeqJ599ln1hS98QX30ox9VDz744IhjO+ecc9Rll12mnn/+ebXXXnttd+xyfldeeaW64oor1L///W915JFHqve9733bVd3I+Zx55pn6fOQ047nkkkt0ECQzTXbddVf9N/nMZz6jzj33XH0dyGWXICnjoYce0qeX837uued0uCJhx9e+9rWh0xQXF6trr71WX065rv/85z+rs88+e8Tv7erq0pfhhz/8ob4eV61apVuIAQAAAAAAwDwvb2gP5XxXN3errtS2TbcAzFM0OLy0wANtbW26sqK1tVXV1taO+F5PT49avny5roKQ6oF8W2lJxchE399pp51U0KQiYuPGjXrhXionMkGCBCGy2C8hg1Sw/O1vf9NVE2LLli06+JCF/v/5n//RocUxxxyjli5dmtXMEQlSpk6dqoOfAw44YOi0n/rUp3RI8JOf/GTo52T4+vvf//5xB7LPmTNHhzNf+cpXhk6z3377qTe96U3q+uuv15Uj8ne5+uqrdYAxEbn8559/vg5IxD/+8Q99fLfeeqv65Cc/qb92xx13qBNPPFF1d3frz4844gh1+OGH6/Ak40c/+pEOP9auXTvm75EKmc9+9rNq8+bN+nMJU+Q8pUJlxx131F+74YYbdEXM+vXrVaGCuH0CAAAAAABgq6bOlHro5U2hnf+Chiq1eG7hs3uR3doukCsGsgdsdKum0WThPIxwRLz5zW8eCkaEBAJSjdHf368rLaSqZP/99x/6vsz8kCBHvifOOOMMdcopp6g//vGPOiyQoGSsKo/hl0VCkLe//e0jvp5KpdQ+++wz4mtvfOMbJ3xQkwDiLW95y4ivy+dPP/101ucz3PDjnjFjhv6/tMQa/jUJG+R3ywOp/B4JjoZXisj1JqeRyyjtuSQEkkqZF154Qf+ctNwa/n0h/88EI2LWrFk6tAIAAAAAAIBZXlwfTtVIxqqmLrXLzBpVXloS6u8BkB/aagVs+ML4WF73utcpU0nFx7Jly9THPvYx3VZLgojrrrtu3NNn5m387ne/0xUgmQ+pVBk+d0TInI4gZHs+paWlQ//OBEZjfU1mnWQui8wYGX455DqQihup0pDKFZlhIqGLtBh7/PHHdUVLJgwa6/dmfo9nxVkAAAAAAADGa+lKqY3tPaH+joHBwcCHvQMIDpUjAZPWVTILQ6oMpPIgo6SkRFdjhFU1Iv75z3+O+FzaScnvk98tA8Kl0kFOM7ytlswQ2X333Yd+RtpsSaso+ZAWUzfffLM6/fTTVTKZ1N8ffpnk52R4uszVkCHp+ZLKjdmzZ+vKjeHnI59La60oyCB2uS7GC68kDJEgRSpxZPaI+PnPfx7JsQEAAAAAJpZKD6jXWra2TY7arLpydoUDFgq7aiRjZVOn2mlGNY8TgIEIR0Lw05/+VA9fv/fee4e+JsGIfD1MElIsWbJEDx5/4okndNWHLOYLCUlk5sfJJ5+sh43X1NTomSQy6yMzC+Tzn/+8ete73qUDHpkt8sADD+hQRcyfP19XQfy///f/9BD3iooKfR4ybFyGsEtwcNBBB+l+fxJqSODx8Y9/POtj/9KXvqRnnUjlzd57762+973v6eqNH//4xyoKF154oa4MmTdvnjr22GN1ACKttp555hn11a9+VYcmMrhertOjjjpKX0YZQg8AAAAAMGORc9nmeHZnN3VWqH3nT43ldwPIT2tXn1rfFm7VSEb/wKB6ZWOH2mNOXSS/D0D2CEdCMGXKFHXPPffolkwyl0MW1sOsGMk44YQT9IBxqbaQahEZXP7pT3966PsSOMjXJASQVlCHHHKI+v3vfz/UCkqqQmQo+po1a3S48c53vlN961vf0t+TEEXaTkmgIkPH5XfJAHIZej59+nQ9i0NacsmwdqnCGD5YPRsy70SClbPOOkvP6JCqFBkmH8X1JqTaR4IfGZ5++eWX6+tk11131a3GxOLFi9VVV12lvycVNXLdyWWW6wEAAAAAEJ/W7j61fEtnbL9/TXO3mt/Qq6ZVl8V2DABy89LGaKpGMlZs6VSva6R6BDBN0aBnAxFkkHZdXZ1eiJcAYDgZrr18+XK1cOFCPWfCJocddpiuuLj66qvjPhSExObbJwAAAACE5eGXN6stnb2xHkNteak6dOfpqrh463xLAOZq6+lTD7ywMfLfu1Njjdp99si1SAS7tgvkioHsAAAAAADASqubumIPRjKLrcs2x1e9AiB7L0U0a2S05Zs7VW962yxfAPGjrRYAAAAAALByCPuza1uVSXNPdphSQdscC2ZNrG7uCvQ8d51ZoxIl7D+2QXtPn3qtpTuW350eGNABya4zqXYATEE44oi//OUvcR8CAAAAAACReWF9m+pNDyhTyMLnM6+1qjcuYDi7yV7Z1K7nxASprqJUzZ1aGeh5Ihwvb+yI9fcv29SpdpxerUoJ0wAjcE8EAAAAAABWaelK6R3YppEd6Rvbe+I+DExQbbSuNfi/z6qmYCtREI7O3nTgwViu+vq3Vo8AMAPhyBg8m1EPS3C7BAAAAICt742eXmNOO63R/rOmVQ0M8P7NRGtbulV/CH+bzR29euEdZntlY4cRayvLNnWodL85VW+AzwhHhiktLdX/7+oi8Yd5MrfLzO0UAAAAAHy0ckuXrhwxVUdvWr2yKd7WPYi+wiPoOSYIVk9fvzEVPtIOcKUhxwL4jpkjw5SUlKj6+nq1ceNG/XllZaUqKiqK+7DgOdnVIMGI3C7l9im3UwAAAADwUW+6Xz2/rk2Z7qUNW4ezVyZZdjFFW0+fag4xVFu1pUvtMqOGdSSDq0YGDKgayXh1Y4da2FCliou5vQBx4ll6lJkzZ+r/ZwISwBQSjGRunwAAAADgoxfWtauUBe1opHXTM6+1qf0WMpzdFBJehKm7r19tau9VjbXlof4e5DdrRirOTCK3F5l/Mq+hMu5DAbxGODKKJPyzZs1SjY2Nqq+vL+7DAYZaaVExAgAAAMBn0kprxRZ7Bhmva906nL2xhsXyuMkMmDURtL2Stk2EI+aRx430gHmh6iub2tXcqRVUGwExIhwZhyxEsxgNAAAAAIAZ7Yb/85q5Q9jH88xrreqwnctonROzdW09es5D6L+nVX5PvypLsJ5kUhWXDEA3UXtPWq1v61Gz6iriPhTAWwxkBwAAAAAARpP2M02d5g5hn2jxc7lF1S6uCrulVobMtJDbKswh1TxRBGOFzEIBEB/CEQAAAAAAYKx0/4B6zoIh7ON5aX27riZAPLpSad3ezLUgBtlVnMngc5NJ6LulozfuwwC8RTgCAAAAAACM9eqmTtXTZ2+4IAPkX1pv9gKty1Y3RVvJ0dbTp5otrHJykbQ560yllQ2PcQDiQTgCAAAAAACMJKGIC21npLVWR6/5i7QuVg5IW6WorYzhd2J7rxo6a2S0da3dqr2nL+7DALxEOAIAAAAAAIz00oZ2lR4wd15ALov0L1jcGsxWmztSuq1W1Na2dOtB4Ii3XZVNc4qWUT0CxIJwBAAAAAAAGEcWtVc6NL/htZZu1drF7vAorWqKZ8G5r39ABySIjy1VIxmrm2VwvL3tAwFbEY4AAAAAAADjvLi+XQ0MurX7/oX1VI9EGVDIzIm4rKa1Vmw6e9PWhVNSaeRSGAzYgnAEAAAAAAAYt7i5utmuxc1srG/roXrEk9ZWmzp6Y2npBaWWb7azRZW01hqgHRsQKcIRAAAAAABgXEscmdPhopc3tsd9CF5Y3RR/uLbGwYDPhoqhVZZW7UhbLWm/ByA6hCMAAAAAAMAYPX391i5uZkMWPzt6qSgIu/JoS2dv3IdBa60YyGOHBCS2sm1WCmA7whEAAAAAAGCMFVs6Y22HFIVlLIB6UbEhIVhLVyruw/CGVJst32RnS62M1u4+taUj/mAP8EUi7gMAAAAAgKA8u7ZVjdWJpzJZohZNr47jkADkQPrtr9jc5UXLp91m1arSEvashuG1li6j/tb1lcm4D8MLG9p6VacDc16Wbe5UDdVlcR8G4AXCEQAAAABOkF7dr2wcezd2ZTJBOAJYYG1rt74vuy49MKBbLvG4FDwZeN/ekzaqjdoec2pVUVFR3IfivGWb3ajIWtfao7pT/aoiWRL3oQDOY4sCAAAAACd09o6/oNqVSusd6QDM5vKsEZ8va5TWGFQ1IiTs29xBa62wtfX0qU3tvc60B5P2ggDCRzgCAAAAwAkdk+wU7nCg1QbgMtkp7criZrazBeQDwVrb0qNMs7bFjBkoLlux2a0wYeWWTjZ1ABEgHAEAAADghPbeiRcZTWqzAsDsORFRWdPs32UOkww/l0pB06xr7dbVAAhHX7+0qXMrgOpND+iWbADCRTgCAAAAwI/KEcIRwGgm7vgP2zoPL7OPtyFZ6N7SSWutsKxp7tZzfFxDay0gfIQjAAAAAJwwWWVIew/tawCTW2o1d/m3eNyZSusB4gjG+jZzd9qvbzUzuHGBqyFCU2eK1ntAyAhHAAAAADjRUkMWGScb1grATBvb/V049vmyB0kCcJPbJ64jHAktQGhzOECQ2SMAwkM4AgAAAMB62SyMdPT2q3S/e203ABf4NIh9NJ8ve5A2tJl9PcosFEL64LkeHkjLsH4GswOhIRwBAAAAYL1s2k7IMNw2g3cVAz7b3GH2wnaYZBYFi5+F29BmfmXGBqpHAq8adX1ouVzGtY5fRiBOhCMAAAAArNeSZUuNFg9nGgCm6+hN64HVvhoYHGSuQAALyDYMPDe9usU261p6vAgWVzd1xX0IgLMIRwAAAABYL9vQo5nBx4Bxmi1Y1A6bj8Pog648kupA0zV1pXSQg2CsbvYjNNjU0avbsgEIHuEIAAAAAKul0gNZD+FlERYwD1UTXAe+zG2RAGdLB89DQZCwwKd2fK8101oLCAPhCAAAAACr5dIqqzOVVj19/aEeD4DcZBtuuozrwI9wRGxsZ+5IEHwLC2QwOwAHw5Hrr79eLViwQJWXl6v9999fPfroo+Oetq+vT1188cVqxx131KdfvHixuueeeyI9XgAAAABm2ZzjLtwmqkcA42aO+K6DcCRv3al+q25DVI4EY61nw+3bevr0BwCHwpGf/exnasmSJWrp0qXqiSee0GHHkUceqTZu3Djm6c8//3z13e9+V1133XXqueeeU5/97GfVBz7wAfXkk09GfuwAAAAAzLClM7cdwyxMAWa1GeqmmkulBwZ0i0DkzrbWSrLATQVjYTp70zlVjbo0gB6AQ+HIVVddpU4++WR14oknqt13313deOONqrKyUt12221jnv6HP/yh+spXvqLe/e53q0WLFqlTTjlF//vKK6+M/NgBAAAAxE8G2+Y6ZH1TB4sLgCl60wNWDNKOAiFRfrZYWA1o4zGbZENbNM/jiaYWVbpxc1anldPJ6cO0PqLLDfgktnAklUqpxx9/XB1xxBHbDqa4WH/+yCOPjPkzvb29up3WcBUVFerhhx8e9/fIz7S1tY34AAAAAODOjuFcF1alt7+0YQEQP3bQb9PLdZGXLZZVjogmKhiNDwkk6FjwpUvUwi9ePGlAIt+X08npwwxIpFqGx0zAkXBk8+bNqr+/X82YMWPE1+Xz9evXj/kz0nJLqk1efvllNTAwoO677z511113qXXr1o37ey699FJVV1c39DF37tzALwsAAAAAu4bw2jS8F3BZqp9WUhlcF7mThWKb5o3k2w4S2/QPDEbSHrMonVbFfX0quW7jhAFJJhiR08np5efCxOsXwLGB7Lm45ppr1E477aR23XVXlUwm1WmnnaZbcknFyXjOPfdc1draOvSxevXqSI8ZAAAAQHjW5zmQdUM7rSkAE/T101Irg+sid00BtaeKun1SW09at4VEfsHSQASt+Poap6nlV1yoUrMaxw1Ihgcjcjo5vfxcmDYSjgBuhCPTpk1TJSUlasOGDSO+Lp/PnDlzzJ+ZPn26+vWvf606OzvVypUr1QsvvKCqq6v1/JHxlJWVqdra2hEfAAAAAOzX2t2Xd4/+jW29evcpgHgNcD8cwmNSPOFIHO2TpB1kS47zshBsIFZoQBJHMCKamVcDuBGOSOXHvvvuq+6///6hr0mrLPn8gAMOmPBnZe7InDlzVDqdVr/85S/V+9///giOGAAAAIALVSMiPTCg55UAiBeBwDZR7IZ3TRABQ1ztk5q7WOQ2PRwZLyCpePbFWIIR0ZlKM3cEcKWt1pIlS9TNN9+sbr/9dvX888+rU045RVeFSKssccIJJ+i2WBn//Oc/9YyRZcuWqYceeki9853v1IHK2WefHeOlAAAAABCHtS3dsf48gMIRB2xDNpJ71VFLd8ra9klRL/K7ojWGipvRt5EdP780lmBkeOUsAAfCkQ9/+MPqiiuuUBdeeKHae++91VNPPaXuueeeoSHtq1atGjFsvaenR51//vlq9913Vx/4wAd09cjDDz+s6uvrY7wUAAAAAKLW3tOn2nr6Cq48oaUPEK+iuA/AIEVcGTmR54CgKo/iaJ/UQuVIzrpT/SoV06wW+Zuv/vKpI74mn0cdjAjCESA4RYPS6NAjbW1tqq6uTg9nZ/4IAAAAYKfn17Wplza0F3w++y2cqmbVVQRyTAByt3JLp3pqdWHDrV2x+6xatdOMmrgPwxrLN3eqf68J9rYzOgiRxe+5l18fWpXAEbvNUFVlicDOz3Ub23vUI69uieV3D79tZMRVObLDlEq17/wpyles7cKZyhEAAAAAyJXs71rTHExLrKDOB0B+Soopl8go5rqIvS1V1O2TmDuSm87eeGZtjA7NXr36ognbsIWts7eweTcAtiEcAQAAAGCVLZ0p1ZUKZmFAWmul0vG06ACgVKKYZYmMBOFITloDmDcSd/uk5k7aI+XaVitqY7VV6379LpPOqQlTNwPZgcDwKgQAAACAVVZu6QrsvAYGB9Xq5uDOD0BuqBzZJlHCEk22JNRu7wln97wscksrreHk8zAWv4MYKO+TnnS0ocBE82YmmlMTtt70gK6iBVA4nnkBAAAAWLUgtq412FZYqwIMW2CW5s6UemF924Qfr27qiPswvZZMsCyRUVpCUBR3qBB1+6SWrj41ENBQeR/0RVjpOVEwMnQ8MQUkEoykud0AgeBVCAAAAABrSJVHf8ALAm09fWpLR2+g5wkzrG3tVi+ub5/w47m1bezAjVGSaokhZSUlcR+CNcJoRxVH+ySpXpTnIGQnykBgMJFQA6Wlk86bGR6QyOnl56KQ7ud5CwgCr0IAAAAAWEEWsFds7gzlvJeHdL4wf3ivLE7Svz0+ZVSODKGKJr5B5nG2TwpjsLyr5PE6Kump9WrFNy+YMBjJyNxG5PTyc65dF4DLeOYFAAAAYIWN7b2qozecHvNrW3tiGfSKcHX0ZrcjuyOk2QWYXHFxEdUj/0VQlL2WAMORuNsnBR30IDgSdEwWjGTI6aIKRgAEh2deALFr7epTa1u69cfG9p64DwcAABjq1Y0doValLNvM7AmXSB//bCpHRFihG7JTXko7KQlGJChCdvdXGUjtSvukMFqEuaq4iPtIBtcFEIxoGuEBwARkIWJV09ZBqNVlCXX4buVxHxIAADBwM8WmkOeCrNzSpXaeUaNK2cXuhK6+/qzbjhCOxB+O+D53gYAoe80Bt6HKtE8qSqezbp8kwUhQVQKdqbTq6evnNpAFAoFtinmpAgSCuxKA2PUNGyTW1x/cDiAAAOCOVza1h/475HWIBCRwQy6tsmirFa+KJIvClUn2rsY5oyPu9km01spOMkE4klFKOgIEgnsSgNilhwUiw4MSAAAA0dmbVq+1RNN689VNHbodE/yZNyLaqRyJVSXhiKqgasDrAeZbOty7TGEoS3A/EbThA4JDOAIgdqlh4Yi0PuhnQQIAAAzz8sYOPRMkCtLaJNPuE3Zrz6EaRP7uVDDHh2BAqcoyroNspNIDTrZgczHwCQOtx7Yq43oAAkPdJoDYpUdVi8gb05JinuwBAIBS3al+tTrisELCmHlTK9mVablc54hIa60pVcnQjgfjo3KE68D3EKGlu093VEgw8yr0+0lvul/ZXgFTRRs+IDDcmwAYVTmS+ZwdIQAAQLy0oT3rodpB6Uql1ermLjW/oSrS34tg5TpHRMIUwpF4VJWxNMHMkexs7uhVLpLqyOauPjW9pizuQ3H+seLsO/+j4nbNcXsX9PNVVJoBgSGSRqSkXF3ebGY+hs+agJ/kReDoFgZSKg0AACBVI3G1uHppA7NHbH/fMXoDTpBtuBAs2RhV4nmlVhWVI1nZ4mjliNjS6WbwE6SasoQqKvL7sULUlpfGfQiAM9iagEg9vrJ5xE6PNy6YqubUV8R6TIjXWG9a6fcMAADEizFUjWTIRh4JZhZMo3rEh5Zaot3BOQY2qUomnJwlkW2LHdopTU7eJ7Z2u3sb2dyeUmpm3EdhNml3KQFJIY8V3zh2T2U7whEgOIQjiNToQdv9o2ZNwD9jVYlQOQIAADp7t4YTcbf0mju10vsd7T601Mo3UEGw7XJ8DUeqaSuW9bwR6TzgquaulF4z4TlnYvWVpQU9VhQ67yNucvuoKecxAwgKWxMQbzji8AsbZIdwBAAAjOWF9e2xL4J19/WrFVs6Yz0G5CefFlmdqX5aqcUoqh76iaYWVbpxc1anldPJ6cPG/IDsbGp3u+2UVErSWmtyUyr9ng1VX5HUFTQAgkE4gnjDEd58eK93jCBkrK8BAAB/yI7QNc3xVo1kvLyhgzl5FmrvzX1XsYRxHSmqR1yunpCgY8GXLlELv3jxpAGJfF9OJ6cPOyChcsTvYezbtdbChBqq/Q5HfL/8QNAIRxCp0ZUicfWQhjnGqhIhHAEAwG8vrGtXpuhN96tlm6ke8aGtViE/h2DaaoWtKJ1WxX19Krlu44QBSSYYkdPJ6eXnbL/sLrxvdHneiE8BUKFqykutb41VCMIRIFg8AyNSo8vUqRzB2JUj/bEcCwDz+krLRy52nF6lioooMwds1tyZUutau5VJXtnYoRY0VKlkgr1lNpBKH2mJlg/mjsQniuqJvsZpavkVFw4FH/J/+Vy+PlYwkprVuN33w0A4MjlfQoOW7j49eL60hOebiUyvKTOmwjTqeSMNVWVxHwbgFJ6BEWvlCOEIxgpCqBwBIFZu6cx5GPOsunIWGADLPb+uTZlGFqpe3tiuXj+7Lu5DQcgBRz6zShCM8tISvfAX9nvEiQKSOIIRUZX0dxd8tnwJR6S935aOlJpZVx73oRit0dNwZGpVUj9OAggOUTQiNfp1Lm210NM3RuVInjv9ALglnwUqFrUAu21s71GbDF0AW765U/XwGsUKhTwXUDkSr6g2OGQCEglAMgFJxbMvxhKMSCiUoEpgUr6EI75d1nw11pbFVi3+2spl6vGH/6zWrlwW+e+eWUtoBgSNrZWIdAeEfAxH4QjGWmSQyhFpwVbMjgjAW/J8kV840sdOO8Bizxs0a2Q02c3+4vp2tXhufdyHghADDmaOxN9aqy2iuRKjK0h2/PxS/fUogxHBMPbs3jP6tAFmUzvhyGRk5sjUyqTa0hndddXe2qyuOvc09eQjDw59bZ8DDlVnXXa9qq6N5rXBDMIRIHBsT0BkxgpCqBzBeDswaa0F+E16xacHcn8caPPojTPgGpkz0tKV25yhqK1s6lKdVBY4HY7Icw8VQvGpSkYbFEgAsvrLp474mnweVTAiaAc6Od/CgraePh6HshD1higJRp5+9OERX5PPrzxn5GNIWOoqSnm8AEJAOILIjNU7dnQlCfwif/+ecUKQfIdoAnBDvrsDpXIEfmnt6tPtJzIfW2hFYe1rghcMrhoZcZzrzT9O3xXaGsunHeqmibqKQmaMzL38+hFfk8/l61GpLmPeyGR8bDO1pdPszQImmF1fHmkrLakYGegfuU4hn8vXo2ixNbu+IvTfAfiIcASRGatKpJ/iAK9Jdch4ARnhCOC3fEMOWdAiePfLv1Y0qb+9snno4+FXNuvWjLDLmuZuvVPWBjIA1pZj9ZE8BxTaGou5I/GpijAoGD18/dWrLxoxgySqgISd4JPb3OFfULDZs2qZfFQmE2pKZTKS37V+9YoJv79uku8HgXAECAfhCGLFApbfulLjByDdKd6UAj7Ltz2WBPGdEzy2wD1jhek9aW4Dtr0efGmDXdUYMnsE5r6+LLR1L3NH4hNVUDA6GJEZI92v32W7Ie1RBCSEIxPrTvWrLg/fG0Y5S8Nmc6ZEExjMnLtgwu/PmuT7QbTUYj4REA7CEcTaVouNnX6b6EVud4qyIsBnhQxjpbWWP3rTYy+CykIK7KoasW2n/tqWbtUa0dBo5CaImTC23R5dUl5aohLFxZEHI5kZI5kh7VEGJFURz1mxja8hgVRDy+scTGxORNUUc+Yv0sPXi0tGVrfJ5/L12fMXhfr7d5hSGer5Az4jHEFkxspBqBzx20SLV50e7g4CMKwlSgELU/SK90dP39hB+njzrGDm/d3WKgzbql180U44Yr3KEFtrTRSMZEQZkEgYVFJcFMp5u2KLhy21MpqYO5LVfWh6dVkkv+usy65Xi/c7aMTX5HP5eth2iKhCBvARWxQQmbF2dlI54reJWt+w6xfwuyXKWNWG2aJyxB8948yn4jnErqoRWzdESPWIzB6pLS+N+1AQcOWIVDfL8xCL1vGQ1jGFVJBOZDCRUAOlpeMGI6MDEglG5PTyc2GgTc7kmrr8Dkdm1bEoPpm5UyvVpo7wK4yqa+vV0ht+rIevy4wRaaUVdsWImF5TpkMgAOHgmRiRGatIZHDMehL4omuCN6+yUCK7SYuKeFMK+KbQyo+2bjsXWpG78UKQ8UITmEWe51/eaHf1xcsbOtS+86fEfRgIoepDXosSfMWjKsQ2U+mp9WrFNy9QRen0uMHI6IBEghH5uTAwb2Ri6f4BryuCW7rY8JONmXXlOswuZHNVLiQQiSIUyZhLSy0gVLTVQmTGaqFF5YjfJqockRc2vbRFAbwkO7ELXRgb4AnG22HsE30dZlnX2mP9otdrLd2BVCogOEENU+fvGp+qENtqCQk6JgtGMuR0YQUjoirJbvCJtHT3ed2KW8IRny9/tkpLitXsiGaPRE1mMM2qK4/7MACnEY4g3soRnui9JeHHRAPZBf2eAT8V2hZL2jja2qYHubdgy+XrMMsrGzuU7eS17Kub7L8cLr2+DCocDSpkQe4qPRpQXknlyIRaQ2qvZov0wADviT2vrphdX64SJSzdAmHimRixzhwhG/FXNguX8qZ0WkTD1QCYoy2ABSk5jxraoXjbVqubcMx4Wzp6VbMjfeRXNXWpXWbWqLIEO8DjFuQiIguS8clnDkdv2oxQPNfHgWqPgqB82F5dGARe02ZnWnVSB6uTbcC0zbypboY+gEl4JkZkxspBmDnir2x24/GmFPCP7MIOYrfu1uoTN8vrsc14b4ClLaP0KWennbmWbe5ULlUrrNzSpXaeURP3oXgvyFZYnb1mLLb7qLy0WBUXFY25uW48Z9/5H2WCa47bO6fTV4bcQsx2vleOiLbuPjXH0ZZRQZJZpRIkvLC+TbkUFDewWRQIHe8YEZmxXtwOMFLCW9kEH+wUAvyj54UEUFbI44f7BiZpn9PF3BGjK35k3ohLVmzupF2sY+EIm3TiXeQMe+6ICcoSxXpWAsbH7B+uA5+rLOY6dnkAU1E5guiMNXMkjuOAEbJZuORNKeCfIFpq6fNhp6HzJgs/unr7VS1tKIy0Yot7QYIEdevbetSsOnb3xqkzwHlD0qaJCrT4SHucXDY6fOPYPZVtfJqtku99sK+f3ZRBPq65riJZoqbXlKlN7b3KlUoYAOHj2RiRGRjjPXAQu4Nhp7YsBi5LuxTelAJ+KXQY+/A3ktLqpqS4KJDzg3km6yntWs9pV0goIjM6XCSttQhH3NphLa216ip5HRqHqhyDAxtn/vhQHRPGXDHfdLFhMCcSKLgQjjTWlKnyUh4jgCjwSg8xD2QnHPFRLjMFaI0D+CWo+3xQs0tgLqkMmfD7LKoYaWN7r+pxtOWZy5fNFkFXHXcQssbGh+CgKo/B8z6ZqHWmT1L9A3rDD7IjmxSSDmyupGoEiI79jxiweyA7z/FeymWmQDYVJgDcEWQ7LB4//F4EpTWjmVytGsmEsqsdvnymk8XDoMMpdmzHx4fgoIq2WhNKpWmplcF1kT2pGp8zxe4qTgl3ZtaWx30YgDcIRxDp4NTtvkY44qXWHBY/27p5Uwr4QtroBbmgnctjDewzWWUIbbXMI73jN7S5NYh9tDUt3XEfgrc6Q7jP0+s/PpXJaCtHXlu5TD3+8J/V2pXLnL2MtuklEBgxfwX+VF3sMKVSFdMaGIgMWxUQmbEKBZg54qdcAg8WNwF/BL3Tn8oRv2cLyKwA2ckvAy1hhvWtPc63BpHqN5mdVFNeGveheCfoeSNhnSeyU5VM6MfvsNswt7c2q6vOPU09+ciDQ1/b54BD1VmXXa+qa+tD/d0+VMcUIt3v9vNFLtKOP3cGrb4yqWrLS619L2B7uAPYhsoRRGasIIRwxE+5BB5yWmbTAH4IOgyl8sxd8rww2S5xeY3B3BGzrGt1u2rEt8tpGglEgz9PnkfiIrumKyIYRizByNOPPjzia/L5leecGurvTRQXM2x5EqwVTNyFAxPbwdLWWhLq1FWywQKIEuEIYn9xwxO9f1q7U1mfNj0wQEsDwBNBhxnSgoDhyG7q6ctuOGkYbXaQH/l7bWzv8aZCBtELI8iQgdCuVzv5PJRdWmlJxchA/8jXCvK5fD3MFls+DJwvFOHINjwM5deayka2hjqAzajjROwvbvoHB1WxouWFL7pT/Tn3j23pSqlqys4B54XRRk/K6dmZ6Z723uxuKx09adVYE/rhIAubO3q9WWRu7krpYJbHnmiFFYbK+cpOXkRPXv9vau8N7fzXr14x4ffXrV6hZs9fFMrv5r2NX7M6yhI8H0StIlmiplWX6dcfNrE11AFsxjMyItM/znq4vFHmvaM/ZMEgVy1dfWqHKaEcDgCDhNEXWKpRWBx3j4QeWZ2OljjGCHOB09TLO5ee4ZHqCqGtVuZ8CUfiEfZMjplzF0z4/VmTfL8QlUmWYiZTHMDMsLPv/I8ywTXH7V3QzxfT8yXvKgybwhEJcyTUARAtHmIRmfF2C1Iu6xcJOqL4GQB26UqlVd94Kbph1SiwZ7YA4Yg5Nlm0OBEEmxZjXJlD1BVSG0Xa88WnKuQAYc78RXr4enHJyMVI+Vy+HlbViKByZHIlxXSXCDIo8tHMunJVZNF1N7uellpAHHhGRuzhiC8tFrCtRVbOP9Od0m96bXphA8CMEKONcET53lYLZrQ18e2+uLkj99c7yF9Xql+/VrSpIgWTqy4Pf7nirMuu18PXZcZIxuL9DtJfDxMzRyZXWlL4Xt5vHLunckEywb7mfNuZTa8us2Lmmax1zKorj/swAC8RjiAyMltkzK8TjnhD3rQ251EFIrcRaY1TV0lLA8BVYYUj7b1p/RjC7kO3ZBt6yDBlqUgKYoEF+Wvu9CsYyVTDMXckOmFWd1A5Ep/K0hK9YBhW8CWqa+vV0ht+rIevy4wRaaUVZsVIlMGP7coCCARcmfWR5HVM3mbXl1sRjjRUJXnNAMSEZ2REpn9g7HYpacIRb7T1pFV6nNvBZJq6UoQjgMNaQ2qfJwsqsmN9SlUylPNH9NL9Azr0yFZnb1rVV/L3t23emAuaOlO0yIhImNUdEnQhHsXFRaoqWRJJi0QJRKIIRTIL3a4s2psejriC6yJ/M2rLQw9Zg2oBBiAePMIiMn39VI74rrkzVdACAwB3tYTYcifM80b0cl0ka6e1Vux8nR3GzKPohLl4LjOOTF9Uc5mLszmoGskOg6m3qvhvBRXyI9UYUy3YJDOzlnAEiAvhCCKTHiccCWMAL8wk1R9xBCsAzCatZ+QjLCxQuiXXsIOh7PHz9T7o6+WOa+ZIWAYGB1VPH+9X4lLlYjji4GUKQ1WS60lweyncjNoyZbKa8oSTj3WALQhHEJm+8dpqjROawD1NBQwnlX7PYS6eAnB3AdHXlj6uyjUcoXIkXvLcLQPZfeTbEPo4hT0XhJA1PrXl7rXVlYVQZNdWTaom4vTaymXq8Yf/rGfSxKWSRfOCNRpeldFYY/bxAa7jURaR6UuPHY5QOeLP4kihb1zp3Q24KeyWO7I4zlB2d+S6SNnRywJ1nHxeVJbZODIjJ8EgXatnjujz169hzd557CoXW1CxQzx7tRWlOc0ZC0p7a7O66tzT1JOPPDj0tX0OOFSdddn1qrq2PtJjqXXwPhA1uQ5lzo+pmzUaDa9sAVzHK3XEPnMkRTjihS0BtMVi7gjgprArO6RXPO1t3JFr2NHR268GmG8Wm06Pw5HMvAqEvwEnPU6FelD4O8bHxZZCNQ5Ww4SlriKe60qCkacffXjE1+TzK8851ZvrwCUys2V6jZlzR4qLilRDFeEIECfCEURCFiXGe9MyXmgCtxTSUitjc0dvIMcCwL9hzS201nLm9YSEHbmGY2G33MH4fF9U7uC2Z/W8kQweQ+KTTBTrHd+ukIXQKgaNGx0MSCstqRgZ6B/52CKfy9ejbrEl1TMonKkBxJTKJNXtQMwIRxCJiapDUuO024JbNncWHmy09aRpwwY4RlqVRFHi3hxBAINoFpol7MgVc0fis7Udkb+6Pb/8rlQn+V4BFTeX2gpJmzDZxY7sF46jtn71igm/v26S7wc9c6eU1oyBaKg2s3JkapWZxwX4hEdZRKJ3ggDE1L6PCI4EYEEMJZUFMVprAW6JKrSgcsQNHXmGHD7PvYhbHL3ifatq8F0UVR38HePlUhsql4KeKFQkSyIfyj5z7oIJvz9rku8HaQoL54G26EsaGDQRjgDxy/mZ+dBDD1UnnXSS+p//+R9VUcFgZGRnogCkt49KANcFGWhIa60ZteWBnR/MIYuXKzZ3ZnXanWfU6DYLsF9zRIGn3L4kqOV2Y7d8Qw4qR+LT7fmicg+vc52o6pDKZXk/41J7J5vUOBQoVJe5E/REueN/TXN3ZL9vzvxFevi6zBgZ3lqruKRELd7vIDV7/qLIjqWBhfPASMVWfWVSbWzvUSapr+QxAYhbzisE++yzj/riF7+oZs6cqU4++WT1j3/8I5wjg1MmCkB6qBxxXpCzQjYHMLsE5i6Sv7qpI6sPdoG7I4p5I9t+F48ftss35Gjvoa2aidXDPqBC2p25Nr7Pz4mTS+FIbYU7l8XlWRFnXXa9DkKGk8/l61GaVm3mnAxbmRZESFVUecSVUQC2l/Mz89VXX62uuOIKdffdd6vbb79dHXLIIep1r3ud+uQnP6k+9rGPqRkzZuR6lvC8pUL/wCC7eR0XZDjS2t2nd+/Re9U9ubSskF2ilCC7MVy7pTsVaQuvRirPrJZvMMqiZjzk9d1AHjNiXELliHJmHgivPeLjUlstly5LVKbXRB8QVNfWq6U3/FgPX5cZI9JKK8qKEX0MZQndVgzBqTNsuL1UsgCIX16ri4lEQn3wgx9Uv/nNb9SaNWvU8ccfry644AI1d+5cdfTRR6s///nPwR8prNYzSb9p3/tRu74wIoFGUJg74q5ceobT+9sNbT19OiCPCo8d/s4cSQ8MTPpaBMFL9RMMyOsghHv9RnU7i2K2CcYmm+hc2F1dUlykqljszllVWUJVJuOpuJFAZN+D3hZ5MCKoGglerWHhCJVkgBkK2nr96KOPqqVLl6orr7xSNTY2qnPPPVdNmzZNvfe979Wtt4BsFzJ970ftsi2dwVWNZGxqD/48Eb+uHHZ201bLDVGHFc1dKR2wwk4SbkjIkS/mjkSPYGBrMBdlCOybqKpGov5d2F6tAxUXUjUicw+Qu8YYqkfi1ljr32UOm4STElKagkoywNJwZOPGjToM2WOPPdTBBx+sNm3apH7605+qFStWqIsuukjdcsst6o9//KO68cYbwzliWGmy8KOLnVjO2tyeMrpNF2ytHOExwwUSVkRJWvK1s7hlrULDDULV6Ml9DlwPYYryfk3AGi8X5o64cBniMsOztqjFRUVUjoRAwklpV2YKHhMAM+R8T9xhhx3UjjvuqGeMfOITn1DTp0/f7jR77bWXetOb3hTUMcKDRU9a5LgrjCBD2nTJgNOyBGXprpBdtbm0vGF+gBu2dETf5qq5M+XE7lMfFbprm13f0aNyZFs44kJLIBNF2eqK9yvxMm1WQD54/ZG/adVJHRj4MseqoSrJjM0QA4kg234XFNTE1C4OwEg53xPvv/9+XTEykdraWvXAAw/ketZwlCx4TtZOgAULd//2MlMgrEXV2fUVoZw3zF/ckHBMHldMKotG7hWFccybklZe8xuqIv+9iH+HOK81opemnZSW7ud6MG0OUb4hl7y2JeiKhwvBAvMF8pcoKdaVFBvbe5QPZtT5VSkT9QwbE1SWlqhi3ssCRsg5ipYZIy0tLdt9va2tTb3tbW8L6rjgkGxK0Gl14aYw218xd8TfeSMZPG7YrSnillpDv5eh7NYqdNc2w5Sjl6adlNZXwKwcmPVagNce8akuT1g/r8OFgCdOMzyaweFbG7EoVRlSrVFZRtAOWBuOPPjggyqV2n5hoaenRz300ENBHRccks2biM5Uvxpgd6FzwgwwmDvilnwWLZk7YremGFpqZZ6TcmnhBpfaavWrQU/acZiCypGtGMgenqjbbEZZqYKRpFq42uLFxLJEMVVHBZrpSTWFtH0yaS6Ga0ypHKkyJKQBkENbrX//+9/6//Km8rnnnlPr168f+l5/f7+655571Jw5c8I5SlitPYu2SnK76kil2U3jmDDDEVnglLY8FUneZPhaOcLcEbvFVTmSGQQ/q462fLYptPJD+pT39A3wvBEhQoGtaKsVDnkdmI64KofKkXjJe8VsuhKYiPe5hatMJlRtRalqM2BeRJhm1vIaNUyVhrwOrLI47AW8DUf23ntvXcYqH2O1z6qoqFDXXXdd0McHB2T7AlZe5PCi0R06vAh5d7aEL/MaKkP9HTB3sYHKEbtb7cQ5CFFmFhGOuDe/LNuAhXAkOlSObEVIFI723uifRwhH4iUL46+1dCtbjx2Fm1VX7n444kmFTJxVXMVFRXrTTJwqqBwBjJH1vXH58uV6d/+iRYvUo48+qqZPnz70vWQyqRobG1VJCW82sb1sX7y0daeVmhL64SAiUcwE2dTRQzjiiHyCDhYo7NXc1RdreyOpHIFf80aGzkcqzqoDOStkgVBgq37auTnT4oq2WvGyeSOdzcdukpm15erF9e3K5YX7KZXcVsIkG76leiTu95IykB2AZeHI/Pnz9f8HGCiIHBc8U1kO44xzFzEsDUfaWeB0gcwbkrlDuaKtlr3iHore0tWnF22lfznsEFSlGEPZo0U4shXXQzjiWNiSxxCeP+JTW2HvTmubj90k9ZVJPbvF1flxMohdFu8RrorS+MMRKpkBc2T1DH333Xerd73rXaq0tFT/eyLve9/7gjo2OEAWoLLV2s1CtytkR3gUA9N70/06VKujTN1qXX35DUmWxVIWKOy0pTP8x4eJSBm9VI9Mqy6L9TgQQ+VIQOeD7BAKbMX14FYVhyyo8dozvpkTpSXFqi/LzXemkMXuGipHAq0eWbGlU7mIllp+BBPS1kuqhABYFI4cffTRegC7tM6Sf0/0pC/D2XNx/fXXq29+85v6/BcvXqznluy3337jnv7qq69W3/nOd9SqVavUtGnT1LHHHqsuvfRSVV7Ok4jt4UhvekAvdsqLXtj/d4/qTYtUqPAG1W6dBezakR2ctCmwiwRhzZ3xVwo2dxKO2DZ4OQiu7jQ1Vdz9vE1BOBKOtpjCkfYeNubESV73xb3JIldVyRI28wRIAgQXwxFZMJ/Oa9NIxL3mJG29qBACzJFVVCmttCQYyfx7vI9cg5Gf/exnasmSJWrp0qXqiSee0OHIkUceqTZu3Djm6X/yk5+oc845R5/++eefV7feeqs+j6985Ss5/V6Y29dd+tDDfpsiqBqJsn0XwlVISXMhwQriIfOl0ga06NwSc2svxFPxEVTIguwQjmzF1RC8VHpAVxDHoZ25I7GqKbdvIx3D2IMlm1tcDJvkciVKqCaIqq2Wz78fwEixPvJeddVV6uSTT1Ynnnii2n333dWNN96oKisr1W233Tbm6f/+97+rt7zlLer4449XCxYsUO94xzvURz7yET0gHmbOEcg5HGGxyglRBhayc0xua/CzLQaDUe1jym5Peb6Jcyg84qn46M6zjR/yQ8XEVgxkD6d6I77fzWuPONkYNFDlHCwJRlyssKClVnQqy2IOR5g3Ahglq20X1157bdZneMYZZ2R1ulQqpR5//HF17rnnDn2tuLhYHXHEEeqRRx4Z82cOPPBA9aMf/UiHIdJ6a9myZer3v/+9+tjHPjbu7+nt7dUfGW1tbVlfFhSmrWfrwNtcsJPXfun+gUiHLcttTG4302vce4Hsi0IqR9qpHLFOrqF5WFL9A/r2w4KFX+GIVDJIG08Z5orwUTmyFSGRWwFFnMEMJGiwsXLEvmO2YXD5+rYe5ZIZtbyfjbKtVby/n8cEwCRZ3SO/9a1vZXVm0jMv23Bk8+bNug3XjBkzRnxdPn/hhRfG/BmpGJGfO+igg/Suv3Q6rT772c9O2FZL5pFcdNFFWR0TgrW5I/cFMBmuLbMqZNAe7P27R70YIpUqhCP2KmSRgd2b9tmSx3NDWJo6UoQjloTuEmYFGbQQjkTDgA56RqBaKZxNWHHpTPXrwMvFtj42sHGwuY3HbLpGx4IEaRfHgnm0ba1k/TKu5+e4wxkAI2X16Lt8+XJlgr/85S/q61//urrhhhvU/vvvr1555RV15plnqksuuURdcMEFY/6MVKbIXJPhlSNz586N8Kj9tSWPuRPy5CRVB7ITBHaKYwbIxvYetbuqjfz3onDSL1x2ceeLtlp2kXkP0tbIFE1dKbVAVcV9GJhETwGPEWOeXx8r9lGhndRWFI4EL87NEfJ+RV5/1FWy4B2HZKJYL2ya9HpiIhKiyUB2BEuCBAkUXNko1VjD+keUJBipLC1Rnal4bj9VZQRhgEliu0dOmzZNlZSUqA0bNoz4unw+c+bMMX9GAhBpofWpT31Kf77nnnuqzs5O9elPf1qdd955ui3XaGVlZfoD0b9pyLdFliyuE47Ya1NH9OXNUnEki+xlCd542KbQNzQy2LsrlWanlSUkjDAJc678aqkV1vlhfFRMbEVbreC1dffFXrlCOBJvJYYt4YgcqyzEIpxAob2nQ7mgkS4IscwdiSscoXIEMEtWq0lSeSHVGVVVVSOqMMYbsp6NZDKp9t13X3X//fero48+Wn9tYGBAf37aaaeN+TNdXV3bBSASsAjefJmluWtre6x8bMqj4gRmkEXquHbvSKi2w5TKWH434l3caOsmHLGFaWGEzLshWPUwHEnbsaDmAjKBrXifEvxjQpCt9vLdmEMvgnhneGxsV1awcUaKLaSt8qub7A9HiouKVIODA+ZNV12WiKXrhbSQp70rYJasnqmffPJJ1dfXN/Tv8eS6I0KClo9//OPqjW98ox6wfvXVV+tKkBNPPFF//4QTTlBz5szRc0PEUUcdpcOXffbZZ6itllSTyNczIQnMUMiTjCyW0g/cThvb4gu2NhKOWKktgDBNdm/OrKPazAbSNtE0zZ1y++H5xmSFtN4b8/xoqxUZBrJvRUjkVtWIcKWVj61smhfGvJHwNFQlY50bEeTlYIZRPOFIHGipBZgnq3vlAw88MOa/C/XhD39Ybdq0SV144YVq/fr1au+991b33HPP0JD2VatWjagUOf/88/WTn/z/tddeU9OnT9fByNe+9rXAjgnBzYAoNFyZO5WFbtvEWfUjwYy8MKZs3S6y89KE80A0bWVM/Fs1d6UI1zyrHAk6bMH4CAW2GlRcEa4MYzfpGHxmUzgiVS4IR6KkWE2tTKotnXZ3nphGS61YVMdU1RVXKANgfAXdK1evXq3/X8iAc2mhNV4bLRnAPlwikVBLly7VHzCXtCgpdHfwhrYewhHLDAwMxlKWOvx2J+2V6P9sDwmzgtj92drFAoUNJBgxcRe5aa2+EH6YwcyR6Ni+mzcohETBau2Ov2pDHkdoy+jfoqbrQY6NGqrtD0ekcgT+3DdptQeYZ/sJ5pNIp9O6lVVdXZ1asGCB/pB/SzVHpvUW/BZEayVpkSSL7bCH7L7Od86MKRVLiL6lVhCL5TJIL8VOcCseI0zU0t3HAq7hgm6DxeNFNLhfbWNiMGwzE9pqCdmUg3hICyIbdl8nmS0QSThi+215SqXdl8FWct+U+2jUaLUHmCfnR4LTTz9d3XTTTeob3/iGnj8iH/LvW2+9VZ1xxhnhHCWssr6t8AVqWWTfwm5eq0igFTcTjgHZawlwsdzEdk0I7+8dJHm+ae9lgctksjs7SAxkjwZ5wDBcF4GRzVOmPGbz2iNeNiww2nCMtpO2Wja3VZZgpJh5I17dR2m1B5gn53vlT37yE3XHHXeod73rXUNf22uvvXRrrY985CPqO9/5TtDHCMt6ygc1lHt9a4+aTv9Na0grtLhJoCYLnaUx7ABB7loCbIclC+88XphNBp+bqqWzj7YXBgu60kNeq6T7B3SvcoSHPGAbZo4EOwjdlKok5o7Ey4bKEZvaf9lKnsulTZGtYSVVI/GqqyiNtC2bVKpUJnlcAEyT87vCsrIy3UprtIULF6pkkgd238nMifRAMIsYa1u7jXnzg8n7LpvwglRuL3HOPUFumgKsJCh0zhHC3/kv7c9M1dLN7cdkYQxQZyh7+HgNtw1XRXBMeL1p4rH4qMaC4MGGY3TBVItndth87C6IuoqjtoLNWIAT4YgMT7/kkktUb++2BUj599e+9rVxB6vDH+tauwNdcA9yZzncrhox8VgwSSujnrTz8yxgxwJSM881Rj9WhDGvgbkj4SMPgOvPJ/I6RirREA8bKj4JR6Jhc/XFlCrzb8cuq69IRl6pAsA8WT1bf/CDHxzx+Z/+9Ce1ww47qMWLF+vPn376aZVKpdThhx8ezlHCmh7A0gorSK+1dKsp7KYw3oaAWqkFdSyyW9Xm3rM+kDAjyF3Fsgu8ozdtRYsFH7UaHj7IcF95DqPns3nCqvCgcgSwk0mtrOR1TEdPWtVVstgVBxtaVtkQ4LjA1vWCqmRClSVK4j4Mr0mAWVxUFMpGnLHU83wBGCmrVxR1dXUjPj/mmGNGfC7zRoBNHb0q1R/sYsPalm61x5yRtz+YRRYUTWplJe17ZFdhvcU7iHwQRhuspo4U4YihWgza6TsWeUMkA37ZzWWesCo8qBwB7CNhhEmVI5m2jIQj8SgpLtKLy6a27ZQZiOWlLHxHoSpZoq9vqTa1CQvl8ZONUfJ3iKpFs81VToDLslpF+t73vhf+kcB6UuURtO6+fv1ERS9Oc23uDG7OTFDWt/UQjhhuS0cqlNvivIbKwM8X7leOZI6RcMQ8YYUYEqQDsEtXqt+4xU/Twhofd32bGo7QUis60jGgvqJUb9a0CeGIGSSwiCIckWHsVWzkA9yYOQKMpT+ElloZrzUHH7ogOBtazXsRGtZtEcE9XoTxAnSzQRVMGLm4berCxXAscJkprBCDtlrhkzYV2Irrwt3H6bZu85/fXFZjcNsqqpmjZeOgaxuP2UVRhVS2tn8DfJDXM/add96pfv7zn6tVq1bpWSPDPfHEE0EdGywiQ7DD2sklFSl7zKllhoShpErDxDfP3al+VZGklN1EEoyE0ddVKs06e9PsyDGMSf3hbVt0AzNHbMartmG4MmJ7nE40taiidFr1NU6b9LSlGzerwURCpafW53RMzLqLj8nVGSYHNy6ysfqXmTRmiKpLCS21AIcqR6699lp14oknqhkzZqgnn3xS7bfffqqhoUEtW7ZMvetd7wrnKGG8NSFWd8iuUZNmWmBkG5ouQ3eEr2ul4shUYd6feawwc9i5DWwJcXzT20dbLVuxVrwNV0U84YgEIwu+dIla+MWLdfAxEfm+nE5OLz+XLWkt25ni8SQuZocj5h6bi2yrwpB5NMykMUNlMhHJ34JW8YBD4cgNN9ygbrrpJnXdddepZDKpzj77bHXfffepM844Q7W2toZzlDC+ZYpUjoRpNa21jGRi1YgNx+a7je3h/W1s6zXsg7YeMwPU0aT60dSw12epftpq2Up20tNOatvgaEQfjkjFSHFfn0qu2zhhQJIJRuR0cnr5uTCPC8ExuVqYcCRaNWUJqyq4uH2YJezgQs/FYcYM4E44Iq20DjzwQP3viooK1d7erv/9sY99TP30pz8N/ghhvLUt3aG0yBk9QyJt2ABGmF2dsbkjFdogX+Svp68/1EUEqRyR9hYwhy2VI4Le8f5UjvD8EA3Cka24HoJ5/SAfuZBWWsuvuFClZjWOG5AMD0bkdHL6bFpwja6kRjxKS4pVhYG77yUQNfG4XFZcXKQDElvQUsssYbe8qi1P6McrAGbK+d45c+ZM1dTUpP89b9489Y9//EP/e/ny5SxIeSrMllrDS9bXMWTbKDLbweSdcvJ4FHZFE8xreyW7/8MY9o7874c2tauy6Vh90RPiQHZet4YviHUAaYGW78fyZa+qf/z1z2rFslcLOp9CEY7E9/g8UUASRDAiTH497AMTZ3tUW1bF4AqbqjEIR8zSEHLlCC21ALPl/Ozxtre9Td19991qn3320bNHvvCFL+gB7Y899pj64Ac/GM5RwlgdvWm1pTOaNjarm7vU3KmVkfwuTM6GsEqOkduMPy21Mja09aqG6rLQfw8m15XqV/0D9ixAtxOOeFM5IsGIBCT0+w5XSbGkI4X9Dc++8z8FHsVUpda2K/Vo/udzzXF7F3QEiRIWSeOsQswEJJkgRP6/+sunqrmXX19wMCIIR+JfEN+4tZmFMUwMbHyw9Xo3t7PBcNUWBTk+qKso1RVfYb1vIRwBzJbzI7LMGxkY2Pom59RTT9XD2P/+97+r973vfeozn/lMGMcIg61p7op0x3l3ql9VJFnIMIHJLbWGL8RLO7YEJaxGGBgYVBvbwg9TN7T3qN1Vbei/B5Nrt2TeiG3zUXwhb1BTIbbUlOCFcCRcCWZtaFwPhSs0gBgdkOz4+aX664UGI0Kqi6TlF48n8TCxWsDEY/KBTYEDtxHz2rLVVyRD2/hLOAKYLedH5OLiYv2Rcdxxx+kP+Ed2Xa5u6o48jNlpRk2kvxPbk5DKhtZFsrC2ob1XzamviPtQoJRq6kqFutA5fHepDNauTPKmI262VWJ09KT1cxutMMyQ63yBXHX39as6xe7eMAXRX/sbx+6Z0+nXrlqhlhz3jnG//607/qhmzVugokSf8cIFUZ0hAYhUjGSCESGfFxKMDH/tQTgSXwsr07DwHQ8TbwtjKUuU8LxgIAkwwghH5LmB96WA2fK6hzY3N6tbb71VPf/88/rz3XffXbfYmjp1atDHB4Nt6UzpBcgoSWstwpH4rbWgaiRjXUs34Ygh1kfYik1+16Lp1ZH9PrhRiTEwOKg6U/3WvLl2nYQXNocvCKadlCwi5aJp7Uo12Df+4saWtSvVgkU7qijRVqvwzS4dvYXfX2XGiLTSGk4+L7RyJDMTpbG2vMAjhCstrEw8Jh/Y8vqN8MxMU6rCud9SNQKYL+e4+q9//atauHChuvbaa3VIIh/yb/mafA/+WN0UXUut4S1ami2oWHDduhbz541krG/b2loL/oUjMGMulW1sq3ZxvUox1PMnHAldHDtjZ86duCpk1iTfDwM7hAt/XJaqvkKMHr7+6tUXjTmkPV+t3fY937kimSjOOUQNU3FRkaqiDXQsZGaEDTv0bQlxfDOlMmnV+QIITs6v1GXOyIc+9CG1fPlyddddd+mPZcuW6dZa8j34QRab18a0QL4qhlAGIxerwurFGWZrLcRLdlR2RlhptrkzpVJpQjET2lTZxsZjdlXYlR1dIYcvUCoZQygwZ/4itc8Bh6rikpGLk/K5fH32/EVeXA8uaSsweBgdjEilSPfrd9H/Dyogkdc5iE+tQTvxZe4F7TnjY0PwYNNsFJ9I+6uqEMK1KZVUkgGmy/mV+iuvvKLOOussVTLsDYf8e8mSJfp78MO61h6VHohn4XFtS7de8EY8Xmuxp6XW8NsM/Ko2kh2mG9qoHomTLGzH9TzhW7WLq8IOL2irFc2O7jicddn1avF+B434mnwuX49DWUzXgysKCR7GCkYyLbQyQ9qDCEgkWB/g/UlsTGpjZVJQ4yMrwhELjtFXQbfWkqC0nsoRwHg5Pyq/4Q1v0LNGdtlllxFfl68tXrw4yGODweKs3pCBztIqiTkS8bAxaJAWS339A7S1iNG6GObUSIg7d2pl5L8X29og2ohwxBxhV5t18rd2NhSorq1XS2/4sVq7cplat3qFbqUVR8VIhkktf3wKRyYKRjIyAUnmdPL/fGaQyMyqjlRa1Rq0SO8Tk2Y4mBTU+MiGqowqwhFj1VUk1Zrm7kDDUmn3BsBsWT0q//vf/x769xlnnKHOPPNMXSXy5je/WX/tH//4h7r++uvVZZddFt6RwhgyhH1zR7xtilZt6SIciYEsJDV32TfzRd6wSkDCQnl8t5vW7ujbTWxs3zpvJkEoFgtbQwbaapmjK4ABzJPNHJGd3sW8aQ1NWWm8j78SiMQZiphyPfgatg8mEmqgtHTcYGSsgEROLz+X73ESjsTDrHDEnGPxUVWZ2WE0M2nMVh9wCyyqRgA7ZPXMvffee+tysOGD8M4+++ztTnf88cerD3/4w8EeIYyzuin+yoFNHb26HYb0hUR0bGyplSE7QAhH/KkaGT5vhiA1HrbuypfqxN50Pzu9YyahRVcEba+kOoVdvuGp4HWaxsyR/Mn8sHxb4KWn1qsV37xAFaXTk1aCZAISCUbk5/IdHK8UrzniYNLjuEnH4qOaslLjwxtm0pirriLgcCTg8wMQYzgiw9cBIQHZagMGostxrGnuUq9rrIn7ULzyWoAlpnEEaix4xmNtxPNGhlvX0k04EhNbK0dEZy+PFXGTYGT4ppwwb6csZIWHTSxbrwOqk+J7Lskl6Mi1lZYr7SRdmW8k97W4Z0lJ+xyqAuJVXlqs/w6mziitCmHgN4IjbbhlJkxQ72OCDlsAhCOrR+b58+eH9Othmy2dqdB7gOdSwUI4Eh1pi1TIQMy4ySKbLNIvnFYV96F4pTvVH2srtg1tvfrNEb1eo2dr5Ujm2KdWUQYfp607sCNqo1YXya/ydubI6Opz3xAQ2fFYEATaMsZLWprFHY5I2E5VQLzk+peZHm0xtPTNBvNGzCeBRhDhiNwWawlHACvkVeP96quvqtNPP10dccQR+kPmkMjX4L4gh1MVShbqWyycf2ErqdSxnQuXwTZrY2qplZEeGNCzRxB9S6TOVLwLFL5WvbgiqkXGdv7WoZKFAd9ba1Wyi9ybagx57vA5CIybCbM+ZPgy4ic7/01lwu0UEwsq0KguK2GDHuBqOHLvvfeq3XffXT366KNqr7320h///Oc/1etf/3p13333hXOUMILsvl5r2MwJE+af+EDe6NncUiujSSqfWAiLlAmPGSYcg2+iaokUFh4n4tcWVThi0cKrrXwPB3wPh3x6PB4YHFRdFm8MsJ0J7Wto02gGk8MRKkfMF1SAxeMBYI+c7/XnnHOO+sIXvqAuu+yy7b7+5S9/Wb397W8P8vhg2FDlvv4BZZLXWrrU62fX0ss5gnZq3TGXqQc5VH7nGbRji4K0NpBAKm7SWksqGXiciI5Ni1ljoXIkflG1cZSWPRLk0QYlPBWehyO+h0OFMqWdby7Pfyx+xtdWK261FfztTWByOGLysSHYUIMqIcDhypHnn39enXTSSdt9/ZOf/KR67rnngjouGMjEKo3etLTM6Y37MJxnUju1QrlQAWMLUyo2JNTlcSJatocLMpAd8VaqRlXRoX+X5bdX01V5PnyWhfL8SXBp2+Ox7c9/NqsuT8QedJsQ0MDcACJZUswcKgtUJUtUcQCPJabeDgEEEI5Mnz5dPfXUU9t9Xb7W2NiY69nBoh3gmzrMXFxkjkS4ZMf9OkMWuYPajdzaZeaAPtesazVn1kfcs09802XZYtZYs2riHurqMxmiGmVbNp4TwuV75YTvl78QUrUsrapsYluY4xLp7V8T42JkWaKEhW+DgjITmXpcGElC1iCCjZoywlLAFjnf408++WT16U9/Wi1btkwdeOCB+mt/+9vf1OWXX66WLFkSxjHCkFZEpvaPlwXYVHpAJRM5Z33Iwob2HpUyrJ1aoda0dKm6yrq4D8NpsrAs7dhMsaG1h9ZaEXJh56y0RmGRIx4t3dGGFS1dfWru1Eh/pVd83jkpCyxVnlfO+BY0dFnWBsw10tYqqraMY/1umKH0vxUapm108fn50Maqz0IfS6rKeB8B2CLnR+cLLrhA1dTUqCuvvFKde+65+muzZ89W//d//6fOOOOMMI4RBjC5rZLsKFvf2qPmNVTGfShOcrENlVym3WfVxl567zK5T5oUqErAt7mjVzXWlsd9KF6wfeZIZlGuoTruo/BT1LOKmrrMCXJd5HNbqcrSEkJ5z4IGBrIrA9paxfPehZZaZpEqItPCEQZ026PQYEMqyRIlbN4FbJHTvTWdTqsf/vCH6vjjj1dr1qxRra2t+kP+feaZZ7LQ6PAO4BbDFw5orRXerIb1bea0RgqyTYNJVQ0uMrGNlUltvlwmFTpdhr0Z9WEIsEuaI358bu3u07NHEA6p7C3ztLrX52DI16CB54541VWUevm7YUcQwYBue1QVWPVJlRBgl5zeqSQSCfXZz35W9fRsXWCSChL5gNtsCB5kHoppO0Nc2f3v6oKRKcPCXSRt7jZ3pIwMR0yqZnGVLAy5cD27UP1iI3kuj3pxUW6vUVer+Kba077bLIT5F47I6+betH3H7YraGAOKOH837Hj8ZcHcHpUFVo5UMG8MsErO27j2228/9eSTT4ZzNDCSLW2VZC4KguVygCCXzYUFXBNtaDMzhJDFChZAw2djj3hX56bYSNrfxWFLZzy/1xe+DqFlIaww3RaGIzYftwtkzoS0s4lacVG8w+BhfjiSKC5WlSyYW6OywMoR5o0Adsn5Hv+5z31OnXXWWbqV1r777quqqqpGfH+vvfYK8vgQM2mnZcsCkcxF2XE6DeKD3P2/sd3dxaLe9ICuOGqsYQZF0ExuxSbVIw3VZXEfhtNcaSniSshjmy0xVZ3F9Xt9YdoiVVR8DYWCYmtVeE/fQNyH4DVpb7WxvT/yqhHmC5nFtLZa8jxIG3q7ZoYV9vM8/wM2yfkee9xxx+n/Dx++Lg/ysktY/t/fb+eLWNg3iH28IIddesHt/pdh9y5b29JDOBJCOwm57ZjcKm6POXVxH4bTXGlHlR4Y0AtzsgsV0dkUUygvVWXp/gGGZ4bE1x3VvoZCQc6Is5Gtx+1WOBLta1HmjZg576qitMSY+yNt1+wiYae8B8g3pKetFmCXnF+xL1++PJwjgZFsa6u0rqVb7TSDOThB8KFN2frWbjW4Qx27eAJe2DR5To1UNbT19Klaw3aTucSWasNsLwvhSLTBWlyVR7IZQGYlzawjMPdhB28UZAh9HO19XCGtMG3dpGNrxYsr6iqjf7whHDGTBBLGhCOE5daRcI1wBPBDzo/Q8+fPD+dIYBzZRWnKi4lcFvQJRwrX1z8Q2+7dqFtryWLY9BraLPnQUmt49QjhSHg6etJOLdZPow1bZOKuOpOdxoQj4ZBFgtKSYv36whc+BkJBsrk1FeFIvOIIKghHzCSv9+N+bZFB5Yidr12au/L8WTZXAVbJq3fAiy++qE477TR1+OGH6w/5t3wNbrGtakS0dvc5tWs5LjJrxNbdevkslCMY0l7RhuvThmO0lVQN2RaqT4TnE7/CVR4bwuVbiylC+MIrR2xlc7Djgqr/hrFRoirATHFUEY2H5wT75BtwJEuKVQkziACr5Pyq4Ze//KXaY4891OOPP64WL16sP5544gn9Nfke3GFjOJJprYXC2035Yp1HlzVsLV19VixmNHel2NUZEtfCBJeqYEwnFQVxD0WXYK+1qy/WY3CZb5UUvoVBQeu1OGBIeVQhZSJplxvlQrTc15lXZSZTKnoqkwk9AwV2ybe1bjkttQDr5Pyq/eyzz1bnnnuuuvjii0d8fenSpfp7xxxzTJDHhxiHm9u6+3dtaw+ttQrc/b+xzf2WWiMWw7r7jHnxbLO4d33nQkrs5zdUxX0YznFlGHtGXPMvfCT3SRMqFte1dRu109QlvoUFvl3eMFqf2qrX0vdQLpHX9Vs6o3k/w3sIs6uIEsXFKj0Q7+MJtxE7lZfmF2iVM28MsE7O9/Z169apE044Ybuvf/SjH9XfgxvWttizyDlWsNPFglbetnSmvNvxttGiRX2TmdLTNxsbPAoAo+Rc5UhvvxoYiH/B3gfrDGlptc7i1z+m8y0s8K1SJmgpm8MRi4/dFfURhtx1FcnIfhdyryIyIZiI8vaI+NtqMYwd8CAcOeyww9RDDz203dcffvhhdfDBBwd1XIjZ+ja7Ww2ZsshiI5+qRjJYKC9cz38rcGyxSebqsOgduHbH2lBJJV0XO4BDl+4fMCZcbevp0x8Ink/91qUVBy1UCmPzRh2pgpPHNfgx/NqExXeYHUzUcxvxqq0Ww9gB++S8het973uf+vKXv6xnjrz5zW/WX/vHP/6hfvGLX6iLLrpI3X333SNOC/u09/RZv8AlQ1V3nF4d92FYaVOHf0FBU1dK97uPenijS0xZ2MyWlNdv7uxVjTXlcR+KU1yrHMnMHaku82vHexwt+foNCitl5lrtTBYywlhkKEsUe7Gr3qcgKCw2V45kwh3mUMSnpiyhiouKImnXSDhiNhP+PrTrtFO+IUe+7bgAxCfnd/uf+9zn9P9vuOEG/THW9zIljP397La0NVhwoTWUDIYuo99jzm9EpS2Zb2R3uAwCnlnHQrlP1TdSJUU4EizXZo5kNgzw2BCu15q7jTueXWfWxn0Yzraa6vVgE4ZvLcTCYH04kh5QlXRbik1xcZGuHgn7fQ2Dts0Xd+WILLCzJmHv40g+mzqoHAHsk/Mz+cDAQFYfBCP2smmo8nh8GyoelKZO/4KRjKiGNrpI2lNJmyrbbGy3/7HOtNZqUoHlGherYUy73Www7PFD/uY+Px+GyZeKChN2KtvO9ucTm9uCuSKKVkbc180n1b9xdgeYWkVK6ltrrXJmjgDWYZsDRpBqC1cWBGxr82OCzR7s5hyPK7f7uNqSSZsq20j7wK4UC99BcXVOg+1tJk0nLaxkQ4NpVjd1xX0ITvKlosKXyxkm28OFvn7zHtd8E0VwEXdVAiYnHU3inPlRTwmZ1fKpAqFyBLAP4QhGcKnaYiMDl3PW7GFLrYyWrj6jet7bxObHDZuP3cTZHC6iciRcqwwNISS04TkheL6EBtI+DH5XjvRZ3hbMBVGEI1SO2GFKjNUbBGh2q8ixCiRRXMwcU8BC3GvhbJsZeVPl82J/rmTnbmu3mzu/syEDG2W2AHK3weLHDQlREQxXQwR5LpHWTwhea1efsc87smt9XatZs1Bc4ENoUJVMqJLiorgPw2oSTNoeTtoe7rhAZo5I1UCYCEfsMCWm6g25/cX1uxGMXKtAKmmpBViJcAQjFsdtnBswERY+s9fWk7b+jWihmrvMXKQzmSwatxm6uJltKzkqzILhcvspV1uGxW1lU6cy2aotZla12EwGF+fTv9smvlTHhMmFYIG2WvGTkLK6LLzHmzIPHs9cEVf1Rm05YblvlSM8JgB2IhzBENm92etYCThzR7Jn8wJ3ULgOcmd7oCoLMDIzBYVzufLK5eAnLhLGr2k2uzJjU0ev6nS0IipOrocHslsdhXEjHLH/MrggzMoO7uv2kAXrqmT0zz0MY7cflSOAH7J6hmhra8v6DGtraws5HsTI9kXO8QOfflWW4EnK15Y4ueA68LMVnzz2Tasui/swrCaPs66F6z7MU4nTa83dViwertzSpXafzWvbINWWlzr5mtOX8CcKaQeqLtID5j+++RKOhBXE01LLvrkjnaloX8/RUst+lTmGaoQjgJ2yuqfX19dn3a+zv5++3LZy9Y3qlo6Uml1fEfdhGI+d0W7vfA+DK634pP3ebrPiPgq7uf744frli4PpLbUyVjV1ql1n1qhi2mIEGo64zIe5KmGzITidTCptf8DjgjCrO1x/LHNNQ1VSrWmOtl0mlSP2Ky8tVsVFRXo+aRhtuABYFI488MADQ/9esWKFOuecc9QnPvEJdcABB+ivPfLII+r2229Xl156aXhHitDbW7jaWkYWbwlHJhf1ThoTyc53eUNeWkLHwWy0daedqBZo6UpRYVYg18MDgtPgB7E3ddrxmkMe49a19ag5vI4IjMuVFbKZrKbM3csXlT4HZoFROWKGMAOMupjmWCD/ypEoyfuKKp4PnHhel2qQbDtM5FppAsAMWd1zDz300KF/X3zxxeqqq65SH/nIR4a+9r73vU/tueee6qabblIf//jHwzlShL446OowblsWYOLWk6LqS3T39ROOeNRSK2NzR4rFzwK4Hh6k+gdUT18/QxYDsmKLHVUjGSs2d/L4EKBqh8MRGf5MlVHh+hzYeOFC9YsL5HlbFqllE0yQZCd5NYugVpHh6PIeL6r7ZkM1VSOuqMgpHOG9AmCjnFcApUrkjW9843Zfl689+uijQR0XIrbF4QChrWfr3BGML90/oBf/QEiUCxdaamVsbHMn6ImD65UjvlzGKMiihOmD2Efb3NGrX0sgGLI45erOSlpqBcOFqgvaapm1KB5GyEsQal8FQJQzQGip5Y6qLF+zJIqL2UgF+BKOzJ07V918883bff2WW27R34Od5I2/y6gemZgLrZGCwnWRfaDmUqjqUtATB9crR3y5jFFY3dRl5cKnVI8gOK621nL1ckXNhWDBxsc5V4Uxd4R5I3aKMrCQGSdwQ7bt0SrLCEYAW+X8Cv5b3/qWOuaYY9Qf/vAHtf/+++uvScXIyy+/rH75y1+GcYyIYKhyS1ef8+HIrDpaYoyH0v9tqKDJjgQj2Q6ms6Wdmix+s+s3d1KZ50OoSOWIny21MlY3davdZtXSdjHAEGFDm3IOzyHBcOF1qbQrlo8SqgtiF0aQEUY1CtwJR+R+T4DmjqosQ49qZswA1sr5Hd673/1uHYTInJGmpib9cdRRR6mXXnpJfw/2ae9NO/EmZCLNnW6HP4UiENjG9ftCUFystNjo4GWKgi+hgS+XM+zHDVuvR9kFbls7MJO5umhE5UgwXHkt5srlsF0Y98swqlEQTTgi7bVC/z2VSdqueVg5UuVoy1DABznde/v6+tQ73/lOdeONN6qvfe1r4R0VItXsUGuc8bR0p3SFTBQvhmxE5f82XBf+hiNymXacXh33YVjH1sXuXNFWy9+qkeGttRZOq4r7MJzgYojAgObguLJpRy4H/efjJ/NBAj9PdohbSSo66itKVXNXuOsfUxnG7pSqLJ/bs60wAWB55Uhpaan697//Hd7RIBaut9QSUtbe5skCXj5cao9UKK6LyfX09Ts5nHhLR0oNDPD3z5UvoYEscsltH/npTvWrda09ymbyuOf6jLaouNh+ShZL2SkcjJQjrRr7HLkctpN2iBUBhlSywF6ZZBHUVlG01mIYu1vkPp/NYwihKeBRW62PfvSj6tZbbw3naBCLlm4/FrZaPQiB8sVy8DZkI35WjWTa5jSFvJPMRb5UjggXQ8GorGzq1BWctmMwe3ALDa4tItRWuHV54tTXb/9jhUsVMC4IsnpEHrvoRmCvhpCrOuS2IW214BaZXyuh10Qf2bbfAmCenO+96XRa3XbbbepPf/qT2nfffVVV1cj2AldddVWQx4eQyS7pNk/CEWmtNU9Vxn0YRuLl/Ta81/F7NofsCp9WXRb3YVjFl8oR0dGTVo01cR+Fna81Vm7pUi5Y29qjK4holRNM9UhHrzvhqovVMHFxpXLElcvhypyjoDb3uNgW0CdhV3XUVZSqREnOe5BhuD13qIv7EACEKOdn9meeeUa94Q1v0P+WIezDsYPCPh2ptDdthNq63XkDHkafbGzFVTE5l9vKyBvnXWfGfRT26E33q16PFn98qpIJ0vq2rYGCC6T6ZVVTl9p5BilZEJUW61qVM1wdMh9HK1yp5HSBT8+PpgtyR3d1Gfd1m5UlSvTjdVjVwA201AIA6+T8KuGBBx4I50gQC1+qRgTtUCZub4GtEsXs9JnsfuTKIudYmrv6VF//gO5Pjcn5Fhb4dnmDYvsg9tGkCmanxmo2BRXItTCBtlrBhe6uoHLEHEG28QtjwDuirx4JLRxhGDsAWIfVH8/5VE0hC54yEBbbKy1hgScjwXXh5byR4bvCZTA7sm8z5ROfWogFpbM37dzjRlfKvcsUh9oKd8IRCdQrkyyYBqG3z51AwaWgx3aBhiPc160XZmutKcwbAQDr5PXM/thjj6mf//znatWqVSqVGrmIdNdddwV1bIiAS72es13YqkjSJ3w0+qJuU0rlyIQ2e7AgKIueM+vK4z4MK/hWSSHDdZk3kRtpQeWilU1dqrGWx4lCVCVLdLWmCy2UpMc8guFSKyqXgh7blZcW6zbCQbSTrizjNYDtwqrukHk0vEYEAPvkvAp4xx13qAMPPFA9//zz6le/+pXq6+tTzz77rPrzn/+s6uoYUmQb33bBtnsWBmWrLEEgkFFWynUxYVVFp/tVFS7PVAlae69fzyE+bioIYj6Hi9a39rArvEDSlsyVUMG1FmFxcql1Zw+PEUY93lQFEGrIeyZar9pPKv3CCDGmVpUFfp4AgPDl/Mz+9a9/XX3rW99Sv/3tb1UymVTXXHONeuGFF9SHPvQhNW/evHCOEqEYGBhUnZ61mfKtBUy25EU+c0e2Kk+w22c8Lf+dx+E61+eqBMnHx1QfL3MhVViu3pdk9/Ga5u64D8N6roQj9ZVuXA4TuBQo9FA5YpSqANphBTnYHfEKY3D6VFpqAYAf4cirr76q3vOe9+h/SzjS2dmpd2J84QtfUDfddFMYx4iQdPX1612dvvU+x9gqKAHWqBwZn08VFT5UyBQqLXOcHF34ngiVI9lb3exm1UjGakerYqLkSjji0vyUuLkUKMiGEnmuhBmCmAtUSXtmZ4Qxd2Qqw9gBwEo5rwJOmTJFtbe363/PmTNHPfPMM/rfLS0tqquLN4k26fJwgYdFrfExi0Xp6hn6xI5vs0eDyn2YrVKozl7/ghHB80j2i4LrWnuUy1q7+3SlGfJX50DFhbx2qC1nN3lQulLhP8a+tnKZevzhP6u1K5eF/rt83ERgqiBmhVSUcl93RUPALbDKEiWqmsoiALBSzo/ehxxyiLrvvvvUnnvuqf7nf/5HnXnmmXreiHzt8MMPD+coEQofF3jkDYq0EyumhdQ4u6n8XhBmN9j4pMqsyaNqii2dft8XstERwQKWiahAzH4mR/+A+9Wpa5q61e6z7V/gj4uEChIu2HxbkeoXqaJHMMJsxdfe2qyuOvc09eQjDw59bZ8DDlVnXXa9qq6tD+V3dqf6VQ0zaZx5nc97BXfUViRUorhYpQcGjK1EAQAYWjny7W9/Wx133HH63+edd55asmSJ2rBhgzrmmGPUrbfemtdBXH/99WrBggWqvLxc7b///urRRx8d97SHHXaYfgMy+iPT6gvZ6/Js3sjwdmLYXhUv9gPpRezyDumg3jzYoL0nzbDlSfg6e0NmdUnIjom91uLHPI61nlzOsMhr+PoKuxeUptBj3pr3JxKMPP3owyO+Jp9fec6pof1OX99vmagygKoPwhG3nn+mBFi9SDgCAPbK+RXC1KlTh/5dXFyszjnnnIIO4Gc/+5kOWG688UYdjFx99dXqyCOPVC+++KJqbGzc7vR33XWXSqW27V7esmWLWrx4sa5iQW58fbEu5fqUvG6vmpYQDFmcgI8zOKRSZlZdRdyHYSwfqw8zVVQSsvM8Mr5UekAPY/dBZyqtWrpSqp4F8oKGmdtcrccw9mCrRsKqIpJWWsMrRjIG+vv116XF1uz5iwL/vb6+3zJRebLwuYK0IXaLzAjZFNBMRcIRALBXzq8QTjjhBPW9731PD2YPwlVXXaVOPvlkdeKJJ6rdd99dhySVlZXqtttuGzecmTlz5tCHtPOS0xOOmNnT10RdnvbJnwwLfUrVEBCNy6eWWhlbPJqxYttzSJT94sfi48yuXGxo61EDg/5U17g+WyVsti8o2X78JgkzSFi/esWE3183yffz5ev7LRPJTIjiAlvgMZvQLVMD2tggtytpsQgAsFPOK4HJZFJdeuml6qSTTtID2Q899FDd6kr+v9NOO+V0XlIB8vjjj6tzzz13RDXKEUccoR555JGszkNaeUmbr6qqqjG/39vbqz8y2tracjpGl4XZ09dkDEYcPxyRF3b5LmgV2oJo7aoVasOalWrmDvPVrHkLCnrjky96Qo/Px3Ckucu/y2z67I04+sWPVzWzfW0rMta39Xg3X2W3WbVxH4a1bA4XZKF068w2mP68MnPuxK8tZ03y/UJaMcIcFaUluuIvH6UlxfoD7giq6lOCEZmfBQCwU86v5m+55Rb9/9dee0399a9/VQ8++KC68sor1Wc+8xk1a9YstWbNmqzPa/Pmzaq/v1/NmDFjxNfl8xdeeGHSn5fZJM8888yEs04kyLnooouyPiZfpPsHVG/an/kBwxGOjN93VVprtXX35fXzZ9/5nwCOYqpSa9uVejT/87rmuL3z/lkqR8YfJupjmNrS1adnSxTzZseY55CJ+sUvveHHkR0HbVLGJ/eZjW32tkjKR1tPn17UpTVj/gFDVTKR94JlRqKpRRWl06qvcdqkpy3duFkNJhIqPbWwULXB4mDHRIXeBiYyZ/4iHabLc4a00sooLilRi/c7KJSWWnFtJMDEbbHyvZ2VlxKMuCaZKNbv/2TWoK8hPwAgj7ZaGVOmTFENDQ36//X19SqRSKjp06erKEkosueee6r99ttv3NNIVUpra+vQx+rVqyM9RlP5HBDIQi/GVutx5YTs/GQ32Nh8raCQKqpC3yy5Ko6dsJl+8cMXtUb3i48Ki13ja+pKqfSAf5svfJmxEmbf90KDkQVfukQt/OLFOviYiHxfTienl58rBAtiweoMufWtVBlKEDKcfC5fD0uf3kzAew9TFBJw0FLLTUFUjzB7CgDslvMWt6985SvqL3/5i3ryySfVbrvtpttpyVD2Qw45RAcluZg2bZoqKSlRGzZsGPF1+VzmiUyks7NT3XHHHeriiy+e8HRlZWX6AyP19Pm3cJHh4w74XEqC1zTn97PfOHbPvFppLTnuHeN+/1t3/LGgFlu5oE/sxBUUPgdDdbzhMSJkzqZffFg7f0eTgewYm29VIxkb23vVgmljt3jF5KZVlanVTV15/7xUjBT39ankuo06+Fh+xYVjVpBkghE5XWpWo/65QjRU8x4j6JaFYZL2i1JlKGG6PGdIK60onjc6etKqrJqFdRMU0n63kJ+FuaZUJgt6/smcBwDAo3Dksssu0xUiS5cuVR/84AfVzjvvnPcvl/kl++67r7r//vvV0Ucfrb82MDCgPz/ttNMm/Nlf/OIXepbIRz/60bx/v898Dgh8rpqZTG1FItI3DE1rV6rBvvEX0rasXakWLNpRmX7ZXdfS7WfliGjNs82c6+J4HI2rX/xYeqhAHNfmDj/DkS0dvWpwcFC3qETuptUUtrAkQYgEIpngY6yAZHQwMl6Akq2yRLGqpR1n4CFCFCQQiSpMz4Q+BGkuVI5QYe6iKQVugpLnAtpqAoDdcn6Gl4qR8847T8/7eMtb3qKHsh9//PHqpptuUi+99FLOB7BkyRJ18803q9tvv109//zz6pRTTtFVISeeeKL+/gknnDBiYPvwlloSqEhrL+TO53Ckf2BQpTydt2Ja9YRJi51Ujowv3zk0LiAcGVtXiH3hJ+sXL/3hh5PP5etRLnSl+gd0qxRsP4umJcb7jLRee/zhP0faYm34baKNNnwFtbasKnCweSYgkeAjE5BkWmwFHYwIWewmDAu2ItHVlny06DRHIdUftNVyt610cQGP5XUVVI0AgHfhyOLFi9UZZ5yh7rrrLrVp0yb1+9//XleAnHrqqbrNVq4+/OEPqyuuuEJdeOGFau+991ZPPfWUuueee4aGtK9atUqtW7duxM+8+OKL6uGHH1YnnXRSzr8PW/ncVkv00Pt33DcMFRG+8DdpsbOeF7bjBqlxDN42adCy7AaHGQF7HP3ix0MV4vaau+K5v7S3NquLPve/6tSjD1GXnH6C+tzRh+jPO9oKmyeRq6ZOf6vsgjCtpvCd9WMFJBXPvhh4MCKmUwkQqPYedzcjEI6Yo6yA6o8kswmdVFxcVNAmuSlVbLADANvlvEVL3vRK9YjMHZEPCSna2trUXnvtpeeP5ENaaI3XRkt+x2i77LILi1UF8j0ckIU9n4ePTzaUrru1O7LfJ4uaV55zqh6oHNdip5RDVyTZDTYW39/QS6VZV6qfcnlDAva4+sWPheeR7bV0xRMOXHXuaerpRx8e8TX5XJ5b5PYS5YyihYq5I/maXlOmVm7pLPh8RrfY2vHzS/XXgwxGMseL4ORSeWXKgPNsqxBcDn68mjlCWy1nyUB1eQ7P62fZYAcA1st5tWfq1Kmqo6NDV5BIGHLyySergw8+WNXX14dzhAiFz221RK/nlTMTkZ0z6yIMR0xY7Kylpda4eEO/NSAiHDHrOSTqfvFj6UnxPDJaHC21pJXW8HA9Y6C/X39dnluiuq3EFQ65Yvp/21QFsQFKApDVXz51KBgR8nlQwUiVtAHjeSHwSs1snX3nf5QJrjlu76wrDaWlbzLB4nrcZENU/j/LRipXbQ04OvMOVgAAdsv5Vf2PfvQjHYbU1taGc0SIhO9ttUzZcWaiuGZvxLnYyY6f8XX2cl/pjGG+hul8fw4RPI+YMZ9o/eoVE35fQveonls6evt1tVlJMXMo8iELxzIYN4j2ZDJjZO7lIytQ5fOgKkdm1JYXfB4YyfX5ZhL+TKMVW+wKaY1VSLACs9XlGXBIYMYsGgDwMBx5z3veo///yiuvqFdffVUdcsghqqKiQu/yYiihPeLe9Rs3FvbG5+Pul3xfEPuAYEACIq6D0UO3XR2amwufZ/GMd7voiOG+MnPuggm/L9WIUZHXwh09aZ5TCgwdCg1HRg9fl4oRCUYyM0iCCEhm1LLIHfR9J5c2nt84dk9lY/hDOGLGfAkJSFL9uT+HM3PEXTVlCT2UfSDHysW4NhUCAGIOR7Zs2aI+9KEPqQceeECHIS+//LJatGiRHo4+ZcoUdeWVVwZ8iAialHXn+sTvGt/DoYnI7hfZGeXTwh8vbMfXRThC9cwoQTw2mFB1UWh7DBMug0niup/Mmb9I7XPAoXrGiLTSyiguKdHzq6KuSGzv7SMcKcCMmnL1/Lq2wIKRTBAyfAZJoQGJVAY1sMgdqPbedE7vTWxsb5TLTBWEX6WWazhSWlKsgxW4Sf620mY51/aYPm4qBAAX5RyOfOELX1ClpaVq1apVarfddhv6+oc//GG1ZMkSwhELsKDDjt/JyIvDTe29ygeJ4mJVxTD2cXUzV0H18Jg5Ql8euy1N7Befba/48fA8EnyVWb6vT07/6nXq2guXqKcffWjoa3vtd7A6/eKrcj7PQhddu1I8XhRCgqWK0hI9oyGoYEQEGZA01pTTOi1grV1ut9QSzCQyh579kuPbHFpq+bFZLtf7KRvsAMDTcOSPf/yjuvfee9UOO+ww4us77bSTWrlyZZDHhpCwoENANJnacn/CkdqKBC0BJ6gyo32SDN7m8WL07QJcD2GEAgWFZgd9Xs076PNDnzYrpS7646rIQzPCkWBaa63Y0hlYMJIRVEBCS63gtTo+b0RI27CBgUGqDwyQT3ssHajAafkEHbKhEADgYTjS2dmpKisrt/t6U1OTKivjzYINCEeU6mXmyIR82gUjQRDGRoi4lbReYEFjm3z6dLvQL360dL/f7SlHo13lVlwPhZtVl3s4MphIqIHS0nGDkbECEjm9/FyuGMYePB/CEWkbJgEJbffil0/QIW214Lba8tyeD+g+AADuyPkdwcEHH6x+8IMfqEsuuUR/LjuuBwYG1De+8Q311re+NYxjRMB6Y37j/trKZWr96hV6SGrUvcAzWOycmE+BQU2OL4R9ws74kaFyBW+AtL4AQgEb+8WH0V7MJUGEqS6EZoQjhZOh1bIQmct9LD21Xq345gWqKJ2etBIkE5BIMCI/l4uGqjI9mw3BDmP3IRwRcjkJR+KXT9BB5Yj7anJ8/yvvIek+AABuyHlVUEKQww8/XD322GMqlUqps88+Wz377LO6cuRvf/tbOEcJ43b95qO9tVldde5p6slHHhz6mgxRPeuy61V1bW5vToO6HsqLeYM7lur/vtiTN6yuy/WFsE/ieqwwNSgiHNkqze1C6xtw//Ex6qpUF0IzQuXCycYVaV21prk7p5/LJejIdxj7zDqqRoLWmer3Jmxu6U6peWr7DgyIVj7zQ/JpxQW7SACWy8wrWmoBgDtyfpbfY4891EsvvaQOOugg9f73v1+32frgBz+onnzySbXjjjuGc5RwoqWUBCNPP/rwiK/J51eec2osx0NrrfHJoFFfyoSpHBkfbYO26WP2ypA0oYAm4XE/18UQroutuB6CMauuQpna8gvB8mlQeYsHg+dtkE8VCJUjfsgl8Mi1DRcAwFw5PaL39fWpd77znerGG29U5513XnhHBed2g0srreEVIxkD/f3662tXLou8xRa74idWXZZQHb1p5TLZBUZ7jPH5spMzGwRF27D4u016YECVUIGocR/ZioqiYDTWlOmNGiY93sg8tqoyFsOC5lNg0NbTR1tfW9tqUTnizaa5DW3ZnpbKEQBwRU6v8EtLS9W///3v8I4G1rR8yLW3+OqVK1RRadm431+1coVqmDM/0vYbhCMT82EBwIfLWOjwUGzVz3UxhMqRbSgo2obHi20VRfJBH/LCJEqK9eDztS25tdYK05x6M6tZbOfLvBEhYV97b1oHbYgPlSMIYu4m3QcAwB05P6J/9KMfVbfeequ67LLLwjkihC6IUODsO/+T409MVfOW/HLc7/50rVI/zfE8rzlub1UI+oJPXjniOsKRiZEfbiM7PbEVi+DbEJptw11kG7lZkI0E08LKpHBkFuFI4Hwaxp7R2tVHOBIzwhEUGnjQfQAA3JLzymA6nVa33Xab+tOf/qT23XdfVVVVNeL7V111VZDHhxD0EQpoDBWeWGWZ+y/4qjy4jIVgEXwbrottCIq24XaxDVkAgiaVI8VFRUbcz6QPvQ+bRqLm0zD2DIayxy+fFln5tOKCuxvnaKkFAG7J+VX+M888o97whjfof8tg9uFoIeBPS5RvHLtnzj/T2daqrr1wiXr60YeGvrZ4v4PVGRdfpapq61TUaKs1scqk+4sAVR5cRiBoZCPbDPI0MoSXgNswTyAYshgpAcm61virR2ipFQ6fhrH7OGPFpXCkjMoRb553KkpLVHffxC3Eq2mpBQBOyflR/YEHHgjnSBBZ+XoQO7TymfdRNnWq+r9vf18PX1+3eoWaNXdB5EPYh2N47MQqPSgVrki6fxkBhGdQ8TwSVyCQaGpRRem06mucNulpSzduVoOJhEpPrQ/9uNgoFKzZ9WaEI7MJR0LhW0utzFB25hLF/3wli+C5vCdmILs/JPiYNByhkhAAnMKjumdkEGDcJBCJMxTJYKjw5G8cJATrTU/84tBmsjMI4+N9+zZFNA0aIos6wGiJCMMRCUYWfOkSVdzXp5ZfceGEAYkEIwu/eLEaKC1VK755QegBSSlVI8611qKlVrjzN3x8L9bWw1D2uCVzCEckSKEi0B/yeL+pvXfS0wAA3MEWCM8QCJgVFJnO9coKBulNTBaksBVXBcZCTrRNoji6l5RSMSLBSHLdRh18SAAyUTAip5PTy8+FLcHu4lBaa8WJllrh8bFyRLR5erlNksuAdapG/JJN8EFbLQBwC8/0nmEhZxvCkcmVO9xfV97olLALbEJcPduwY3AbWoFsw1WR30JToaRSRCpGUrMaxw1IhgcjcrrJKkxsvB58Mauu3Ovf76ruVL+38/98DYWsDUd4XPfKZOGIvA72of00APiEZ3rPxNmWwDT0ip9cmcMv/MpKefibDJUj25RwXQzhqtiGdmvxDaudKCCJKxgR7DAO3sy6ra214mqpVVNO+6Mw+BwQ+HzZbXzOIhzxS9Uk4YgEI2yaAgC38EzvGeKAYbgyjFvsipLMU4E5bXLG89rKZerxh/+s1q5cFutxUGW0DdfENkXx30WMUR5D4DxWQFLx7IuxBSNxXQ8+tNZqrCmL5XfPrqOlVpiDyX3V7vFlN0UugYfL74ewvcpkyYRV0pOFJwAA+/DI7hkG6W7DNeH3mwF2gU2upKTwZfDedH9eP9fR2qKuW3qWevrRh4a+tni/g9UZF1+lqmrrIg/DSgO4LlzBbrltqK7apiIZz0vKTECSCUR2/PxS/fU4ghFRGdP14LrZ9RVqfVtP5L93Vj0ttcLi89yN3vSA6unrZ/ZdjHJ5XciGKr9IMFKVLFEdvWPPKasq4/YAAK7hHZxnWMjZhqsiu92arqL1STSBwNl3/if/Hz7o82reQZ8f+rRZKXXRH1fldVbXHLd3/sfBkOUReB7ZhnZr21TEuMgnAcjqL586FIwI+TzqYCTu68FlMpRdFqyi3ORTU55QtbTUCk17z9gLjz5VzhCO2LEBjFa8/qmYIBxhEwQAuIdnes+wqLUNveL9rq5wOfgJSqkBbbVMkaBaYgjXxTbcRczYSSkzRuZefv2Ir8nno4e0R4EdpeG9HplWnYz0d86spaVWWCTkGm/h0RcdnodDVs0c4T2Dd6omCEB4ngcA9xB7e4ZsZJsEbXK8DhCSCf7+kykNIBz7xrF75vwzT/79QXX5F08e9/tfvuJmtc+Bh6oo8cZ4G+avmDWXxxTSdkTuJ6n+gUh/7+jh61IxIsFIZgZJ1K216EUe7vyPTe290f0+WmqFpjPVrwY8b/XrezgUt7IcqnaoHPHPRAEIlSMA4B6e6T3DAt827H72O0BiUTOaxwtZMM31Y+78BWqwr3fcj3nzF+R8noWGhMzZ2IbHzq2kxQ9B0UjV5YlYgxEJQrpfv8t2Q9qjqiCRxwra5IRnZl10YYX8HesqaKkVFqomuA5sqhzhcd0/E81Ro30mALiH1UHPyAIfrbXcr4oIisttlVwOfoKcOSILwFGbM3+R2ueAQ1Vxycg3H/K5fH32/EWRHg+PFSMxf2WrUoKR7dREOJ9hrGAkUyGSGdIedUDCfIpwyQLllMpoWmvNqts64wTh6EoRDHSl+uM+BOV7OJLtfTyXIAVuqBwnAJH3BC63nQYAX/HI7iGe0Lfiepicy7uiWfCenLxpTMYUIp112fVq8X4HjfiafC5fjxqPFduHZuAxZCy1EVWOTBSMZMQRkMgAb7hRPTKzlpZaYSIYUKqrr18NDPjdWiz+17jFgZ0O7g1kz+XrAAC78S7OQ1IK2tPHm5LyAlvt+MDl9jkuBz9BBwO96WhnCIjq2nq19IYfq7Url6l1q1eoWXMXRF4xksGb4pG4Prai+mx7UbUhGkwk1EBp6bjByOiARIIROb38XJjqK6kcCduM2nL1/Lq20NtuNlSXhfo7fEc4snUofU+6n/kFMSovlde4E98Wy3OoMIE7pFpIum2Mno1ESy0AcBOvxjxE39StypMs8GXbhs3FoZkuBz9Bknkd7Sq+9hcSiMQVimQwiHMkKia2oqJoe7URhSPpqfVqxTcvUEXp9KTD1jMBiQQj8nNhYkZF+OQ6lsWp7hA3+UyvKWMDRcjC/PvZpDtFOBL3e+LW7r7ABrfDHRKIyXNN56gWgIQjAOAm3tl7qJJyUI0XN36HCCx8ZIc+y1wHoxEKbMXtYuzgLKrWUhJ0TBaMZMjpwg5GZCMBM0eiqx4J9/ypGgkbFexb9cRQmYvcNgzyftFfY90+aKsFAG7inb2HqsrYoSS7QarYqeV1iODq5QoaC+Fbq2ewDbeJrZIl3C7GEtXAbNNISy2ptkT4GkMOLxprmDcStjjadZooxfUQe1utIE4DN431t6ctNwC4iWd7D1UTjqiqZAmLGFlyta8+4Uh2CAaoEBirOoD7Dwsm45la5Wc44msoFIdp1WWhzQCQ6h92Boerr39Az9sA4Ujcslnoph21v8b629OWGwDcxKO7h6JqeWGyGlpf5NQqxEUycBWTIxhg5shY2DlHcDgeX8ORhmo/L3dcAe3UkMIomTeC8MMRbMV1Ea9sglDaavlrrHCE134A4CZWfDx9ovf9hZ60v4DfIQIb37NDMMAbobGwk5LKkYk2H/gYqvoaCrnWWquRcCR06QGqRjK4Lsx/LcPrYH+N9VqG134A4CYe3T1VV+F3OFDv+eXPhYvZiLQECqslh2sIBqieGQtvDqW1AveN8TRU+7XALK2YeKyMvrVW0OR1ASFX+AYIBIb0c10Y/1rG9w2FPhsdjMlzRLKE178A4CIe3T3l+5u/OipHvK4cSVA2kjWCARm8zXUwGpUjtBaLeuHaZL5dXlM2uUh7rSBJq64Ej/ehIxDYZoDZK7GSUHuy9sGEI/4avelB3g+wuQ4A3MTwCU/5tqtzuNoKdnjmwsV1AlfnqIQh6Xk4Im+EignTtlPpedWELMr6ft+YiG9zG6bV+L3hJA7yuCwbfTa09QR2nvwdAf+8bddGNVFERWDqr9EbxGixBgDuIhzxeMedtBbycffWtCq/Fm0KVeJg5UjQu01dJteVr48VgjdCY6tM+v3yIZshrj6rLkvo20hXKq1cJ7tIqRyJx7TqYMORBl4fAt6pKvP79Qyyrxwv4/0jADiLR3jPd9z5iJ2BuXGxBZUs9iN7PreVSpawCD4W38OBStpsTMqX6hFpxUTgHo8gwwypKPX1dXHUeA22DVcFYPZ6yfDndyqGAcBdPMJ7bEZtufKNvPllh2duEiXuvXNzMfAJk89vBqgcGVuV5+EIO00nN6PWj+daXy6nier+WwUdhPrK4M4LE+N6dnuuH+DqBjGf3w8BgOt4hPdYoye7OodrqGKHZ65cfONG/+Dc+PxmwOeqmcnuQz4PZSccmZxsRPBhvlOjhxtNjKqCrgym2oOqkei4+LoyXwRFgNlKh70HYg0BANzFI7zHaspLdV9wn7CIkTsXqyx4M1rYQEKf8EZofL49fwxXVeZvMJTLfaeh2u0F54rSEl29gPhMDeg2RjgSHZ83XIzGdQGYrXRYBwXeEwCAu3iE99zMOr/CglmeXd6gd8y4gmqA3Pg8d4OFi/H5HI7UlLEgno2Zjm9I8O01lImoHLFzgwqLjFuVJ/x9fQXYYPhj1fCgBADgFl6Zem5WXYXyRW1FKa1Q8uDiC8HShHuXKUw+X18EaeOrLk942xLG94H02XL9NQbhSPzqAwhHJOgtY5E6Uj5XpA7HXDPAnnCEtswA4C4e4T03pbJUt4XwwWzHF2nC4uLiMDsWc+Pz9UXlyPhqPA1HfL3c+ZAQKYjFa1OfG6dV+Te7zcTH6ELvk67eRk1WmeRxVFQStAPWtJcupS0zADiLVR/PFRUVqdn1foQGc6b4cTmD5uLCuIuBT5h8vr4SDlZOBaW23M/WUoQjuZntaHXFjLpyPRAc8ZtSYLhBS63oMbdpK0IiwJ73AVSOAIC7eISHmuNBOCIttXzuj18IF3fO084hNy4GZNny+bJPpry0xMvgrMbTUChfsxx9jUE1qjvhiFRRI1q8Jt8ajMj8FQB2VI5wfwUAd/m3qoHtTKlKOr9zaQdHF2eiWhwuLnLrxaCLgU+YfK6e8HHxPxd1Ff4tKvp4mQtdBHXtOpPnxcYaWmqZor6AcENe3/haBRf3piXfufa4CLiopHjYzBHCEQBwFqs+0HZwvOUULbUK41qlBYNXc+Nz9YTPwVA2fFzgYkErd669xphFSy2jSLiR7yYOeQzjbxk9Hke5DgAblAx7bqFyBADc5e+KF7wJDxqqypyvjImifY5LXAt7wlbqcUDALrGJ+ba4I88lVJ7lzrXZZi6/ZrKRhBv5PhbRUiu+TRe+t9YqpOIJQDRKhr0HIhwBAHfxDh9Du+5c3QHMIkbhXApHJBhhl2huEsNKyn1bvClyrKVc0Hxb3PHt8gYZKslGBVcqD6dXu3FZXJLvfbO+gmHscZla5fd1X+isHAARV47wngAAnOXnihe8mcshC5uz68vjPgzrlZe681BR5lDQExVfK0eoGpmc7Pz1qe0au8zzN3dqhTMtwghNzZNvyFHHfTo2rgSm+ZANaVQhAuYbvj+MzXUA4C5elWHIDlMqlWtkYCrzJQpX4VCg4NJliYosBPpYSu7Ton8htw2fqinq2embt1l1FXnPhTDJ3KnuvVZyQT4hh9weazxv7RSnaTX+Pp5O8zgYAmySed3i4/sgAPAJKz8YUpEscW4Xl2tDYOO8bbii0qHLEiUfW2sxjD07vrRGkSCINij5k13SMsjc9t3evs3ZsYWEHLmGbwxjj7/dXk25n+HUjFq33m8Brso8r7iwuQMAMD7/VrvgzXwO2eExs9buhRhTuDTQnnAkPz621mKXWHZ8CUdkUZzbRGHmWV51Yfvxu0xCjlxn59UTdMWusca/1+nyPNLA3CLACpk5I7z8AwC3EY5gBNnV6Uov7Rm15SpBW5xAuBQoVDgU9ETJx/sSbbWyI9UUrjxvTKTBkxAoTNNryqxtbSi7RqlGNVuuVT1UAcVvpuXVZPkGQgTtgB2K/vtWwIfXuQDgM1Z+MEJ5aYma5sgC0GwHB8zHebtw5Y1cNeFIXnwcTu7jZc43RPJhkXEaO30LJosL8xoqrd08wgwzs+X6OJRrpQnCCZ3LPBtMbnt7QcAnmXcCvCMAALf59WoUWZnlQKggC/kzaljIClKVI0NLK8tY3MqHj0GBj3NW8uVDVYUv7cPCZmtrKltDHZ/U5jC/QoI6H0Jd08nfYVad/e87cqlAk8p2AHbIVIwwcwQA3MbKD5zc0SQl6z62AQp72KkLFTC0SsqPj/cnBrJnr9HxMLq+MqkHiiOYGVa2zRmoSibUdCqHjJdLJUh1mTsVsbbzqV2dtBHjuQSwsHKEpwsAcBqvzjDmAnJDld2LAC4EPKapzmFHpqlcCHji4uNAdh8vcyFVFWHtqks0tajSjZuzOq2cTk4fNBbGg7Vgml1VGPMbKuk3bgHZ/FCVZevM2nKqRkx6/qjypOWpT0EQ4ILMa1teAgCA2whHMKaZdfYuBMkCBiXrwat2IFhwIeCJi48tpny8zIVUFoXRdkqCjgVfukQt/OLFkwYk8n05nZw+6IBkWg0ttYI0s7Zcb8SwZWFkrqWtwHyUbfUI80bMet2+w1T3QwOZrTLDsqo5AFsVMXUEAJzGyg/GZHO4IL3vKVkPXo0DuyzZKZo/H6soSnkcib21VlE6rYr7+lRy3cYJA5JMMCKnk9PLzwVFWu9Ms7ya0sTF0AUNVcqWSlRbghxI6EHliI3mT61yvjpLQtZiWrkBVnH8YQkA8F9so8a4C+FVyYTqTAW3wBQVm4Md01tSyQ7agcFBZasaKkfy5uOsllIWMXLSWFuunlvXFuh59jVOU8uvuHAo+JD/y+fy9bGCkdSsxu2+H0RLLRa0wmlV9eKGdjVo+HPKwml2hDjYateZtfoDdqlIluiAfUNbj3LVfEsCYQBj4GUgADjNv9UuZK2x1s6dsrYet+lkcdD2tlS00TC7isKE2RK+B0KFqKsoVRUh7LDPBCQSfIyuIAk7GMmEPgieVGPMNnw+mDxnNDBvBoiEy0Hk9JoyJ9rTAgAAuIiVH4yr0cK+uLLYQquE8NRbHC7Im1IWu81tq2XKbIkRv4e2WsZU7o0VkFQ8+2LowUhmPgbCscDwxdCF7PQGItPocICwaFp13IcAoAAUjgCA21j5wbgaqpPW9f+VnVkId2e4rWw+dhMkQw6WTJgtsd3v8nDOSqFmhlgJMDog2fHzS0MPRnQ1TJJ5E2GZVl1mbEWfhOk7THF/SDRgCnnP4WL1SFUyoWZQ1Q5YybKlEABAnghHMOHCwJRKMxctJuoNj/DUVyatbZ8U1LH7KhlyFcVErZMyomihNHyRJuxAyNXF7kRxeNeb/L1Xf/nUEV+Tz8O6HcyqY3E8bIsMXQydN7VSJXgMACIfWu5ale+i6e4PmwcAALCZW68+EbiGqjLrFuYQHtlFLUPZbWyfZFvQZ5oogoK4Z0sMlywpYjEjDyXFRaHukJXbwdzLrx/xNfk827A1V7PqaakVth2mVBoZRLq4gx0wnQQjCxxqZyePbRK0AgAAwFzmvRuFUaZV27PbvjKZoP1JBAufhbaniqN9kixyUzlSGNlBLX//sMU5WyLKShmXzaoPp9pidED26tUXTVhpVCjpfc8Mq/DJ48q8BrMWD2XOTJWjsw8AGyotCt2IY9JcJSrQAAAAzMarNUxoSpU9C8pTLTpWmxV6PcfRPkkGyUexsO+68kQ04WMcsyXiuqwumlFTFvj9bazHhO7X7zLpY0khZocU8mDsKg2TKrUWTWd4MhCX8tIS3V7LdvI8KEEPAAAAzEY4gknL200dljpaA+GINSFU1O2TCM6CUVYa3VNG1LMl4rysrpFdsrLzPigTPSZkE7bmi3Ak2srPWXVmtDCTaqHpNbToBOL0usZqowLTfMyfWqXK2GgBAABgPFZ/MKmpBbQjinLwtk1VLjZrCKjVWpTtk4I6Zt/Jbs6oRD1bIs7L6qKggoVswtIwApKa8kTBLQRh54wPU44D8Jm0NZxj8cwnaQsmAQ8AN9ge1gIAJkY4gklNyTMciXLwtpSu15bTHzwKsgsuqGqiKNonyYvZhip2AQehIqLAIOrZEnFeVlfNqC3XlYeFGkwk1EBp6aSPCcMfS+T08nOFmFNvf0sX20yrLos9kJLhyS608wFc8LrGGmUreRxhDiIAAIAdYg9Hrr/+erVgwQJVXl6u9t9/f/Xoo49OePqWlhZ16qmnqlmzZqmysjK18847q9///veRHa+P6qtKjR+8XV+RZEdHhKZXl1nTPkkW2xiuHYwo3ujHMVtiLCxqFEYC65kBtElKT61XK755QVZhaSYgkdPLzxVizhRaasVh0bR4d1rLYHjmUwFmkNdvs+rseyyW9yM7UTUCAABgjVhXDH/2s5+pJUuWqKVLl6onnnhCLV68WB155JFq48aNY54+lUqpt7/97WrFihXqzjvvVC+++KK6+eab1Zw5cyI/dp/UlCVUorjY6MHb9ZW0P4lSkP3Yw26fFGSQ47vKkAODuGZLjKWylEq0Qu0QUMAgQUe2zwtyukKDkfrKpG7pguhJKFUWU5gtC5pxhzMARtplRo2Vz31VPIcATihSbJgAAB/EGo5cddVV6uSTT1Ynnnii2n333dWNN96oKisr1W233Tbm6eXrTU1N6te//rV6y1veoitODj30UB2qINwFg3zDh6gGbxOORKuhKqn7KdvQPqmxlnDEhsAgrtkS46FyJJhg0sbZLXOpGomNVG3Mb4hn5ocMhOd+D5ilrrJUzawtt+o9084WBjoAAAA+iy0ckSqQxx9/XB1xxBHbDqa4WH/+yCOPjPkzd999tzrggAN0W60ZM2aoPfbYQ339619X/f394/6e3t5e1dbWNuIDuSukD3gUg7dlpy+ikygpLnjIeRTtk6TiaSq3jcBUlYW3cBjXbImxyM51WrEFs0g0J6DB7JEeM+FIrBY0VMXSJpNB7ICZdplpT9ggz3lUHgIAANglttWfzZs361BDQo7h5PP169eP+TPLli3T7bTk52TOyAUXXKCuvPJK9dWvfnXc33PppZequrq6oY+5c+cGfll8UGhlRpiDt2WAKm9E4hm4bHr7JKkaKaZ/fKChWFiVAHHNlhgL7TCCY9tw6xk1ZaosQfVAnKR6Q6o4olRbXqoHwgMwj2yAKuQ1Z7RVI7TmA1zEu0kAcJtVW2MHBgZUY2Ojuummm9S+++6rPvzhD6vzzjtPt+Maz7nnnqtaW1uHPlavXh3pMbsiiMqMsAZvF1LVgvzl+0Y1yvZJNrVisGkGUViini0xHsLW4Mjjs02P0TKQG/GLuoqDqhHAbLtaUD0iVSM15fY83wGYXAyFrAAAn8KRadOmqZKSErVhw4YRX5fPZ86cOebPzJo1S+2888765zJ22203XWkibbrGUlZWpmpra0d8IHdVyRJVWlJs5OBt6UeM6MkCck15wtj2SbKDj3kjwfPhjb8PlzFK8yypHpF2ajNqCFRNIFUctRGFavLaRgYoAzCXDdUjVI0A7ikpKlJ7zqlTOzZy/wYAl8UWjiSTSV39cf/994+oDJHPZa7IWGQI+yuvvKJPl/HSSy/p0ETODyEPZS9goSLMwdvMG4nPrLoKY9snydB42uMEL59AzDa1HlzGKMkMj2ILtt7tMKWSNnwGWRjRYHYJ76RlIACz7WLwoHMJWNlYAbhHXhcuml5t3Qw9AEBuYn03uGTJEnXzzTer22+/XT3//PPqlFNOUZ2dnerEE0/U3z/hhBN0W6wM+X5TU5M688wzdSjyu9/9Tg9klwHtCF++FRphD94uJLRBYWbnEY5E1T4p6p71vrCpRVK+otqx7gsJKW24P9o2H8V1sthYaMVqNhbQUguwwpSqpGo0tLpvJ4ODGwAAABgcjsjMkCuuuEJdeOGFau+991ZPPfWUuueee4aGtK9atUqtW7du6PQyTP3ee+9V//rXv9Ree+2lzjjjDB2UnHPOOTFeCn/kU6ER9uBtGcbO8OR4A7OqpJnX/2x2+IQWHEglmatk4HxYQ+d9ZnprLdtmo/ggEUG7q+nVZcwYAiyyi4GzR2RHeS1VIwAAANYqGhwcHFQeaWtrU3V1dXo4O/NHctOVSqv7nhs5I6bQwdu5nG4ssoPsgB0bcrocCNbz69rUSxvalWn96t/yuuxuQ8jdAy9uVG3dfcpFM2vL1f6LeEwJmrzUkOeP7r5+ZaK9dqhnKLeB2nr61AMvbAzt/N+4YCqtMgDL/P2VzWpTR68yxWG7NBKuAwAQMdZ2ESSaLCNrlclETjMcohi8PaWKNyNxM7FCw8RjcskUh+f8SNsOBE+qjUxtW1VSXMQCuaFkN/bUkO6Tut2b4QOeAWxvZ4OqR2T2HsEIAACA3eglgJxMqSxV69v6cxq8XZROZz14W4KRXOZLTHV4kdYW8qZQFrBkh68pi7Cz61nwCvtxYOUW5aT6PGcrIbvWWqZVmWUWt5IJ9oqYav7UKtXUmQrl9iiDVgHYRaqDG6rK1JbO+KtHdp5RHfchAAAAoECsBiAnDdVJowZv5zMHBcGbO9WcXdczaspyqnBC7sLayW1CsEbgGh6ZDyUzHkwzv8HMihZsJWF3GIPZ5/F3B6xlQighrX15HwIAAGA/whFY205HBkOz29cMc+rNWWTawdDWPS6pKS91MoCqryjVQ6ARHtMWpGUYt+xChrnkPhl0q0T5mzOIHbBXY2157O2sdjIgoAEAAEDhWAVCzuFIcZEZbSjY4W2OimSJml4T/wJjsqRYD9RG+KblWEXmYmUc8mxhZVAAJa2VYL6g/05zp/B3B2y304yaWCtoCdYBAADcYM4KBawg/blNaakzzYDFeJi1yDhnSoUerozwmRCGBc3Fy2QauX/uYMjCtMlD4jGSvO6oKQ+m0iNRLJUohOiA7WbXlauqZDwVYK9rpGoEAADAFYQjyJkpO6UaDAlpsG1HeBh94W0LaHzhWpAgi/Yy4BX+tNaS+UTlpe61h3NVUNUeM+vKaZ8HOEAC7h1jCCmkJR9VygAAAO7g3SGsbD1TW17KopaRO8IrYp1Bw2DM6FQmE/p+6FLoS9VRNOoMua/Ob6iK+xCQY2VgEOZOje95CkCw5k6JvlXjjtOrdTADAAAANxCOIK9ZH9KWIk6u7Vp3xfyp8S02zqdqJHKNte7cD2ewCzRScd9fyxIlaoZDt19fAtlCq7vk7z7dkOpXAIWTKrAog24JYmjHCAAA4BbCEeQ1dyTuYcyNhCNGqquMZ0e4SXMMfOJSoMBCuV/zgaR6gJ2//lWPzKnn7w64ZtH0qsju1wumVVFlCgAA4BjCEeSlMcZF0eKiItXAzk9jLYhhnsDs+gqVTPBwFsfcnzIHrncJ9GRXOqIj84lkTlFcmE9kp1l15QUtgjKIHXCPtNmdE8F9Wx57FtCOEQAAwDn2r2rBu13WzAYwm+zMjbrtWtwtenwlCwUzY1zgDnLBFf4EFFOrkqrGoXk5vi2CTqtK5v2z8rcH4J4oQgt5rVCRZN4hAACAawhHkP8w5op4FpdmspBpfP/nKAezy1BwKoni48JObKk8QvSkPWMcFTtzacFntXxfAxRadQLAXPI6MOz3JVSNAAAAuIlwBHmbURPPouhMh+YcuCrKN5DS/xnxkeHGNrfWqqsoVdVltNSKgyxUy+yPKEnVIWGY3eTvV1OeyPmDvzvgtjBfe8rrhOnMOwQAAHASK0IoaMf4yxvbI58NQEm7HYPZp1QmVXNXKoJB7Cx4xb3ALYuOyzd3Khtx+4nXDlMq1Yvro3sekeoB5hPZTdpjvW3XGXEfBgADn8+fXduq+gcGAz/v+VSNAAAAOIsVAhQWVJRGG1QwG8AeUVSPyMKqDHZGvOTvYKs59fYeuwtkN25DVXS7cWmpBQBukteDMvcuaMUxVDkCAAAgOqwqoiCzIh7GTDhijzlTKlQy5OBiQQMLnSaQIcc2tqaSlmBUovlTvVOWKKEtCgA4bN7UylDmHMnzBwAAANxEOAJrhjHL4O2a8niGwCPflleVoc6KkOolmGFuCAsSYbPxmF0kbdlkZ24UIQwDuQHA7cHsVclgN2tQcQgAAOA2whEUvGNc+n9HgWGq9pk/rdKJoe9wb/FA2m/wmGIGmQEyozb8oJ35MgDgviA3PpQlilUjFYcAAABOs68PCowiu3Clv++rmzqcqlJBcNU+sgDd1t0X6PnKLnNp2wVzSHuqxppytbG9R9lAHrekuglmkPvzutbu0M5f2r5RaQYAfjyfvLC+LbjKRl4rAAAAOI1wBIG8cQg7HJEWSrTUstObFkyN+xAQkQXTKq0JR6g8MsvM2nKVKC5W6YGBUM6fMBUA/JAJw1u6UgWfVxgD3gEAAGAW2mohkNZaVQH39x2NdiiA+WbUlEfWZq8QsmhSV0nYahKp4plZF17rElqoAYA/ggg1KkpL9HscAAAAuI1wBFYsPLGwBZhPWk/MbzB/9shCqkaMFNbjvLT3kw8AgB+CaMUrz0nSPhgAAABuo60WAmtZ8vLG9lDOu6GqTFWGXJkCIBjzp1aplzZ0qMHBQWWiZEkxLZYMJTNrSkuKVV9/sK21CNcBwC/yvmHH6dWqp68/7/OYO8X8zR4AAAAoHCvOCGwmiOzMbesJdvC2YCETsGswu8yPCHO4diHmTq1kELuh5O8yo7ZMrWkO9rYzK4AdxAAAu+wxpy7uQwAAAIAFaKsFo+eCSDl7EKXxAKKzcJq5basWGHxsUGpmXUXgg3lpqQUAAAAAAMZCOAKjW5dMry5TZQnzBzwD2GZ6TZmRC9Izasv1YjnMNaOmTBUH2ON9VsBhCwAAAAAAcAfhCAJTVZZQU6uSxlejAPCzemSRgceEkRIlxTpcC8rMOioPAQAAAADA2AhHEKg5AVaPyO5hFrYAO0mwKcO1TSEVI0EuuiM8MrMmCFJ1OKXSvAomAAAAAABgBnNWruCEIFtrSQsckxZXAeRWATBvaqUyxaLp1XqGEcwXVCguw935mwMAAAAAgPGw8oxAlZeWqGnVwezOnkNLLcBqi6ZXGbE4LSHrXB5PrHoeqa0oDSRgBwAAAAAAGA/hCIxsrVVSXKQH8wKwV2UyEViLpEJIBYtUssAeM2oKu91IKEcbNQAAAAAAMBFWi2BkSxTZ8ctiJuBG9UicZJHcxOHwmFhjbWHBxtTKJG0ZAQAAAADAhFg5gJGttWYxiB1wgjwWBNEiKV9SuVJVlojt9yP/cCNRXBxbuAIAAAAAANxHOIJQFBJuFBcV0SsecMiO06q9rVxBfoqLi9S06mTePz89oNlXAAAAAADAXYQjCMWsuvznjkifeNqhAO6YM6VClSWiv09LxUqhVWyIz7Q8Z4bI80d9ZXzVSgAAAAAAwA6sQCMUFckSVZdnKx0TBjgDCE5JcZGa3xB9BcciZo1YLd9gq6EqqWfNAAAAAAAATIRwBMYNZg9ioDsAs8hQ9CgXrJMlxWqHKZWR/T4Er7Y8kVfFUQPVQgAAAAAAIAuEIwjNjJrcQw6pNpGB7gDcIvfr2REGn/MaKnXFCuwlYdrUqtyDjkJmlQAAAAAAAH8QjiA00vM9112/jXkEKgDssCDCNlcLYmjjheBNrcot6EgUF+fd0hEAAAAAAPglEfcBwO1dvzJcfU1zd9Y/01hLOxTA5RkSteWlqq2nL9TfI3OLqsp4enPBDlMqcgrZk4li5o0AAAAAAICssHqE0BdDsw1HpAXO1EraoQCuV4/8e01L6PNN4E47trlTmR0DAAAAAACCR1sthEoqR7LVUFWmipkRADhfCSCtj8JSmUzk9LgDAAAAAAAAPxGOIFSyUFmVzK5AiSG6gPtKS4rVnCkVoZ3/goZK2ioBAAAAAABgUoQjCN2ULAfqNlSz2xvwgQQYYZBQhBZMAAAAAAAAyAbhCELXkEU4UlxUpOorSiM5HgDxqq9MqroQ7u8yiF1mVAAAAAAAAACTIRxB6KZm0S5rSmWSeSOAR+aFUOERxnkCAAAAAADATYQjCF1NWWLSAcz1lVSNAD7ZYUqlrhgLSlmiRM2opTUfAAAAAAAAskM4gtDJHIDJwo9s55IAcEMyUaxm1pUHdn47TKlgEDsAAAAAAACyRjiCSEw2X4B5I4B/5k4Jrg0Wg9gBAAAAAACQC8IRxB6OlJYUq8okQ5QB3zTWlKmyROFPQ7UVpaEMeAcAAAAAAIC7CEcQCVm8HPd75aW0wwE8VFxcpGbVVRR8PnOnFH4eAAAAAAAA8AvhCCIbyj7e8OWa8kTkxwPADHMCCDZm1xOOAAAAAAAAIDeEI4hsh3h12dghCOEI4K+GqqQqL82/rd6UyqSqTPIYAgAAAAAAgNwQjiAy1eOEIDXlzAoAfCUt9ebUV+jKsnw+gqg8AQAAAAAAgH/YbovIyAJosmT7PK624v+zdx/gTZVdAMdP0t3SwR6l7L2XIDhARREnTsQB4t4DJy5EnLhwoDhxIi5U/FQUFw4UZArI3ntDS+lM7vectyQ0HdBAyk2a/8/n2tyRm/fe3JT0Pfe8h8sQCGdtUpPNBAAAAAAAABwp9ErjiNG6ANQGAAAAAAAAAADYjWG1AAAAAAAAAABAWCE4AgAAAAAAAAAAwgrBEQAAAAAAAAAAEFYIjgAAAAAAAAAAgLBCcAQAAAAAAAAAAIQVgiMAAAAAAAAAACCsEBwBAAAAAAAAAABhheAIAAAAAAAAAAAIKwRHAAAAAAAAAABAWCE4AgAAAAAAAAAAwgrBEQAAAAAAAAAAEFYIjgAAAAAAAAAAgLBCcAQAAAAAAAAAAIQVgiMAAAAAAAAAACCsEBwBAAAAAAAAAABhheAIAAAAAAAAAAAIKwRHAAAAAAAAAABAWAmK4Mjo0aOlQYMGEhsbK926dZPp06eXuu0777wjDofDZ9LnAQAAAAAAAAAAhERw5OOPP5YhQ4bIsGHDZNasWdK+fXvp06ePbNmypdTnJCUlycaNG73T6tWrj2ibAQAAAAAAAABA6LI9OPLcc8/J1VdfLYMHD5ZWrVrJmDFjJD4+Xt5+++1Sn6PZIrVq1fJONWvWPKJtBgAAAAAAAAAAoSvSzhfPzc2VmTNnytChQ73LnE6n9O7dW/76669Sn7dnzx6pX7++uN1u6dSpkzz++OPSunXrErfNyckxk8fu3bvNz/T09IAeCwAAAAAAAACg/Hj6dC3LsrspqABsDY5s27ZNXC5XscwPnV+0aFGJz2nevLnJKmnXrp0JdDzzzDPSo0cPWbBggdStW7fY9k888YQMHz682PK0tLQAHgkAAAAAAAAA4EjIyMiQ5ORku5uBEGdrcORQdO/e3UweGhhp2bKlvPbaazJixIhi22tWitY08dBskx07dkjVqlXN8FywJ8Krwam1a9ea+jGA4rpASbguUBKuC5SE6wJFcU2gJFwXKAnXBUrCdYGScF3YTzNGNDBSp04du5uCCsDW4Ei1atUkIiJCNm/e7LNc57WWSFlERUVJx44dZdmyZSWuj4mJMVNhKSkph9FqBIr+I8I/JCiK6wIl4bpASbguUBKuCxTFNYGScF2gJFwXKAnXBUrCdWEvMkZQIQqyR0dHS+fOneWnn37yyezQ+cLZIQeiw3LNmzdPateuXY4tBQAAAAAAAAAAFYXtw2rpkFeDBg2SLl26SNeuXWXUqFGSmZkpgwcPNusHDhwoqamppnaIeuSRR+Too4+WJk2ayK5du+Tpp5+W1atXy1VXXWXzkQAAAAAAAAAAgFBge3Ckf//+snXrVnnooYdk06ZN0qFDB5k0aZK3SPuaNWvE6dyf4LJz5065+uqrzbaVK1c2mSdTp06VVq1a2XgU8IcOczZs2LBiw50hvHFdoCRcFygJ1wVKwnWBorgmUBKuC5SE6wIl4bpASbgugIrFYWkVGwAAAAAAAAAAgDBha80RAAAAAAAAAACAI43gCAAAAAAAAAAACCsERwAAAAAAAAAAQFghOAIAAAAAAAAAAMIKwRHY5sknnxSHwyG33Xab3U2BjVwulzz44IPSsGFDiYuLk8aNG8uIESPEsiy7mwYbPfzww+b3Q+GpRYsWdjcLQWD06NHSoEEDiY2NlW7dusn06dPtbhJs9MQTT8hRRx0liYmJUqNGDenXr58sXrzY7mbBZvo7oui/ITrdeOONdjcNNsvIyDB/e9SvX9987+zRo4f8888/djcLNnr11VelXbt2kpSUZKbu3bvLd999Z3ezYLP169fLpZdeKlWrVjW/K9q2bSszZsywu1mw2W+//SZnnnmm1KlTx3yv+PLLL+1uEoAAIDgCW+gfIa+99pr5Iorw9tRTT5k/Sl5++WVZuHChmR85cqS89NJLdjcNNmvdurVs3LjRO/3xxx92Nwk2+/jjj2XIkCEybNgwmTVrlrRv31769OkjW7ZssbtpsMmUKVNMh/fff/8tkydPlry8PDnllFMkMzPT7qbB5u+Zhf/90GtDXXDBBXY3DTa76qqrzPXw/vvvy7x588zvi969e5uOUISnunXrmpv2Zs6caTq/TzzxRDn77LNlwYIFdjcNNtm5c6ccc8wxEhUVZQJl//33nzz77LNSuXJlu5sGm+n3S/37Q2/WAlBxOCxuz8YRtmfPHunUqZO88sor8uijj0qHDh1k1KhRdjcLNjnjjDOkZs2a8tZbb3mXnXfeeeYOnQ8++MDWtsHezBG9E2fOnDl2NwVBRDNFNEtAg6nK7XZLWlqa3HzzzXLvvffa3TwEga1bt5oMEg2aHH/88XY3B0FCMwX+97//ydKlS82dnghPWVlZJsvsq6++ktNPP927vHPnztK3b1/zdwmgqlSpIk8//bRceeWVdjcFNtDvlH/++af8/vvvdjcFQUy/T3zxxRcmaxlAaCNzBEec3uGpf5DoXVqADmfw008/yZIlS8z83LlzTYaA/pGK8KadWJqy3KhRI7nkkktkzZo1djcJNsrNzTV3dRb+t8PpdJr5v/76y9a2IXjs3r3b27EFeH536M0WV1xxBYGRMJefn2+Gc9VhGQvTG3LIToXS62P8+PHm7nAdXgvhaeLEidKlSxeTbag3XHTs2FHeeOMNu5sFACgnkeW1Y6Ak+mVTh0JhbF8UvjMnPT3d1JOIiIgwf5Q89thjpjMc4Z0h8M4770jz5s3NkCjDhw+X4447TubPn2/u+kT42bZtm/n9oJlmhen8okWLbGsXgodmEmmGgA6F0aZNG7ubgyChWYi7du2Syy+/3O6mwGb6/UE7vLW2XcuWLc2/Hx999JEJsDdp0sTu5sFGOsSaXhvZ2dlSqVIlczd4q1at7G4WbLJixQoz7LMO5XrfffeZvotbbrlFoqOjZdCgQXY3DwAQYARHcMSsXbtWbr31VjPOb9E7thC+PvnkE/nwww9l3LhxpsaEDqOknVuaMcCXz/BVOHNIaxNpsESLp+r1whAHAErLTNUAKneAozAdtlP/TdHvFYDWGtEsotTUVHNTjg71O2DAAJOZiPClN+Po3yCaffjZZ5+Zv0F0eEYCJOF7s4Vmjjz++ONmXjNH9PvFmDFj+PsUACoggiM4YvSPDi2aq3+EeOhdwL/99psZPz4nJ8f8kYLwctddd5nskYsuusjMt23bVlavXi1PPPEEXz7hlZKSIs2aNZNly5bZ3RTYpFq1aubfiM2bN/ss1/latWrZ1i4Eh5tuusnUlNDvFFpcF1D6feLHH3+UCRMm2N0UBInGjRubTm8dNkkzl2vXri39+/c3Q3gifGlGgCd7SGvQaKbACy+8IK+99prdTYMN9PdC0cCYZpt9/vnntrUJAFB+qDmCI+akk04yKct6V45n0jsydPgkfUxgJDzt3bvX1A0oTK8FvWMH8NizZ48sX77c/LGC8O240A4LrVHkob8ndJ5xwcOXZVkmMKJDoPz888/SsGFDu5uEIDJ27FgzXnzh4tuASkhIMN8pdu7cKd9//72cffbZdjcJQUS/X+iNewhPOjzn4sWLfZZpfUzNYgcAVDxkjuCIjvNbdAxw/cOkatWqjA0exs4880xTY6RevXpmWK3Zs2fLc889Z4Y8QPi68847zbWhf4Rs2LBBhg0bZoJmOvQFwpeO/awZZRpY79q1q4waNcrc/Tt48GC7mwYbh9LSYRm/+uor8z1j06ZNZnlycrIpsozw7tzU4Ij+zoiM5E8eFNBAiAZVdRglzUbVDGate8e/I+Fr6NChZug9/VskIyPD/Jvy66+/mmsF4en222+XHj16mGG1LrzwQpk+fbq8/vrrZkJ40xv2Co9ksHLlSnOjb5UqVczvEAChib8UANjqpZdekgcffFBuuOEGM+yajgl+7bXXykMPPWR302CjdevWmUDI9u3bpXr16nLsscfK33//bR4jfOnQJ1u3bjW/H7QTvEOHDjJp0qRiRdoRPrRgqurVq5fPcu0UpwB3eNPhtNasWcPNFvChNSW0M1y/Z2hn1nnnnWdu0omKirK7abCJ/v0xcOBA2bhxowmsa607DYycfPLJdjcNNjnqqKNMRqr+rnjkkUdMVqrekKMjXiC8zZgxQ0444QSfG7eU3ojxzjvv2NgyAIfDYemtMwAAAAAAAAAAAGGCmiMAAAAAAAAAACCsEBwBAAAAAAAAAABhheAIAAAAAAAAAAAIKwRHAAAAAAAAAABAWCE4AgAAAAAAAAAAwgrBEQAAAAAAAAAAEFYIjgAAAAAAAAAAgLBCcAQAAAAAAAAAAIQVgiMAAAAhoEGDBjJq1KjD3qY8OBwO+fLLL0tdv2rVKrPNnDlzDrifxYsXS61atSQjI0NCxcGOvVevXnLbbbcd0TYhuD4fgboOfv31V3O97dq1q9Rt3nnnHUlJSfHOP/zww9KhQwfv/OWXXy79+vU7rHbk5uaaczljxozD2g8AAABgN4IjAAAAFcQ///wj11xzzRHvTN64caP07dv3sF9v6NChcvPNN0tiYqLYGdAIdmXpJEd46t+/vyxZsqTU9S+88IIJoBxO0CY6OlruvPNOueeeew6rrQAAAIDdCI4AAABUENWrV5f4+Pgj/rqa7RETE3NY+1izZo3873//M3e2lxe94z2cHMnjdblc4na7j9jrBUs7gu2aiouLkxo1apS6Pjk52Sez5FBdcskl8scff8iCBQsOe18AAACAXQiOAAAAHAGfffaZtG3b1nReVq1aVXr37i2ZmZml3r2tQ98UDRTocFMDBgyQhIQESU1NldGjRx8w00MzC6666ioTNElKSpITTzxR5s6d6/Ocr7/+Wo466iiJjY2VatWqyTnnnONt0+rVq+X22283WQo6lTUTY/r06dKxY0ezzy5dusjs2bMPen4++eQTad++vTkuD339M888UypXrmyOuXXr1vLtt99610+ZMkW6du1qAjO1a9eWe++9V/Lz873r9Rhuuukmc2712Pr06WPOkdLj1HZ75tVXX30lnTp1Mu1u1KiRDB8+3Gd/S5culeOPP96sb9WqlUyePFnKQveh7dCOaW3Hgw8+KJZlmXWPPPKItGnTpthzdCgk3a6kIcpOOOEE81jPix6D5zop6XhLGtJMrwtdphkoHvPnzzfZP5UqVZKaNWvKZZddJtu2bTvo8E0TJ04050LfAw1w5eTkmKwCfR/1PevWrZv3dfSY9VrUz0Lh49T3zkM73HVfe/fuNfPPPfec+dzovtLS0uSGG26QPXv2HLQdW7ZsMdeOft4aNmwoH3744UHfJ8+QU/q+ez4z1113nU8ApKRzXJZr8WDXgXr//ffN50UzpzTgePHFF5vjKOrPP/+Udu3amevw6KOPNu9d0fNxsGP0PNZ2azaJ5zO+cuVKadKkiTzzzDM+z9PrR9cvW7bMe+0dc8wxMn78+IOeVwAAACBYERwBAAAoZzrslAY1rrjiClm4cKHpLD733HN9OkbL4umnnzYBBA02aOfrrbfeesAO+gsuuMB0rn733Xcyc+ZM0/F/0kknyY4dO8z6b775xgQJTjvtNLPPn376yXTwqgkTJkjdunVN5722X6ey0I7rM844w3RU62tqzQPtLD+Y33//3XQMF3bjjTeazvbffvtN5s2bJ0899ZTpvFfr16837dbAjgZ8Xn31VXnrrbfk0Ucf9dnHu+++a4YB0g7lMWPGmKHH1NixY80xeeb19QcOHGjO6X///Sevvfaa6Wh+7LHHzHrNRtD3TPc1bdo0s6+yDiukbYiMjDRBI+2I1g7/N99806zzXBOedih9L/79918ZPHhwsX1pgODzzz/31mjRY9B9lna8ZaHBEg2caUBL60hMmjRJNm/eLBdeeOEBn6cBDH1P9Fg0g0AzFrTz/6+//jKd5noMeg2eeuqpJrCknesaXPIES3bu3GmOPSsrSxYtWmSWaWe9vqeeDCin0ykvvvii2b8e288//yx33333QduhHf9r166VX375xQRjXnnllRIDDUXpZ8DzGf3oo4/M50CDJYUVPcf+XIulXQcqLy9PRowYYfahwUYNbJWUSXXXXXfJs88+a64ZDeJoEEif6y9tQ/fu3eXqq6/2fsbr1atnrkn9fBSm8/reaeDEQ39X6OcGAAAACFkWAAAAytXMmTM1CmKtWrWqxPU9e/a0br31Vp9lZ599tjVo0CDvfP369a1TTz3VZ5v+/ftbffv29dnm+eefN49///13KykpycrOzvZ5TuPGja3XXnvNPO7evbt1ySWXlNruwvs7ED22L774wjzWfVetWtXKysryrn/11VfNNrNnzy51H+3bt7ceeeQRn2Vt27a1Hn744RK3v++++6zmzZtbbrfbu2z06NFWpUqVLJfL5T2vHTt2PGB7PU466STr8ccf91n2/vvvW7Vr1zaPv//+eysyMtJav369d/13331X4r4K0za0bNnSp5333HOPWeah7+H111/vnb/55putXr16lbrPX375xbzuzp07i71W0eNduXJlsXOvz9Nluh81YsQI65RTTvF53tq1a802ixcvLrENY8eONevnzJnjXbZ69WorIiLC5xx5zu3QoUPN4xdffNFq3bq1efzll19a3bp1M9e6XiOqd+/e5r0tzaeffmqurwO1Q9usy6ZPn+5dtnDhQrPsQNezft6qVKliZWZmepdpuw52TZX1WjzYdVDUP//8Y9qckZHh876PHz/eu8327dutuLg46+OPP/aej+TkZO/6YcOGmc9W4WPU832g3z36/un7OG3aNDOfm5trVatWzXrnnXd8tnvhhResBg0alNp+AAAAINiROQIAAFDONNtDMzZ0eCC9k/6NN94wd837S+/yLjqvd7mXRO8+1ywOHcJLsy08kw6bs3z5cu9QOdquQNL2eIb8Ka3dJdHsgcLPUbfccou5+16H7xk2bJjJRCj8OrrfwsN96XZ6zOvWrfMu69y5c5naredLs2QKnyvPHfWamaCvp1kbderU8eu4lA59VLid+jzNpND6GEpfR7MUsrOzzRBO48aNM3fvH4qyHm/RY9cMi8LH3qJFC7POc62URLMn9L320OwePaZmzZr57EuzQTz76dmzp8nM2bp1q1muw1TppJkamv0wdepUM+/x448/mmtUh+nS4aZ0uK/t27d7h90qqR36XmmGRuFzocdTllob+lktXLdH3yu9pjQLpbRzXNZr8WDXgWZaaRaIZm/oseq5UjpMWGGFr7sqVapI8+bNS/09cCj0Gj/99NPl7bff9g69pxlc+rurMB2yrPD7AAAAAISaSLsbAAAAUNFFRESY4a+04/eHH36Ql156Se6//34zPJPWQ9Chg4oOsXUow+QUph2zWvugcF0JD08nsXZuBgutwVA0YKT1UrSmgw7/peftiSeeMMMJ3XzzzWXer9aqKOv50uGTdOisoooGbQJNO8S1VsUXX3xhOvr1vT///PMPaV9Fj1evLVX4+ip6bemxaxt0aKqiCtcDKUqvn8Kd/bofvda1k19/FuYZDk0DhNqhr4ERnXTYMq2voa+tw0Rp23r06GG21WGldIi266+/3mynz9OaJFdeeaUJInmCGEXbUd7Kek35Q+sP6bWuk9ZH0eGyNCii83YUfdfPngainn/+eTOkVv/+/X2CRkqH59N2AgAAAKGK4AgAAMARoJ23eje5Tg899JDUr1/fdIYPGTLEdDAWrumhd5JrkWVP4W2Pv//+u9h8y5YtS3w9rS+yadMmcwd94aLjhend9lpjoaTaFko76j13tZeVtkcLS2sWhCeoULTdJdF6F5pRUJRma2hRbJ2GDh1qsm40OKKvo7U3tNPf0zGuNSD0jnutlXIgUVFRxY5Lz5fW8ChcU6HocWn2gL5PnoBBWY5LaRCsMH1e06ZNvQEEfY8GDRpkOqH1nF900UUHDFzp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nVS0z29RZ599tiQlJckrr7xyRF4PAAAA8EekX1sDAADA67HHHpPk5GT5559/JCUlxWfdli1bvI8vueQSefDBB+Xvv/82w8wUpYETDaBoICVcZWZmSkJCgkRERJgpkJ3B8fHxEooiIyPNhMMTExMjwWTs2LFSr169En8XlBe32y25ublypGmgWDPr3nvvPROUORLDxAEAAABlReYIAADAIVq+fLm0bt26WGBE1ahRwyc4UjhDpLCZM2eaO9s92/jDM/zWokWL5MILLzR3aFetWlVuvfVWyc7O9tk2Pz9fRowYIY0bNzadxVqH4b777pOcnByf7bTuRJ8+faRatWoSFxcnDRs2lCuuuMKs01oC1atXN489HZ06aTs8tC3aGVqlShUzzJhm1kycOLHE2gRTpkyRG264wZyrunXrHrDmiN55ruda216nTh258cYbZdeuXT7b9OrVS9q0aWPO6fHHH2+CInqMB6J3/OtztK3684svvii1c3nUqFGmDbptzZo15dprr5WdO3f6bKfn9YwzzpA//vhDunbtarZt1KiR6RwuLC8vz5zDpk2bmm30fTv22GNl8uTJpdYc0ccaRHr33Xe9515rafzyyy/mcUlt12tO1/31119SlkCSHpO2Ra+lgQMH+hzfoEGDzHWhbS/qlFNOkebNmx9w/zp83HnnnSe1atUyx6zv+UUXXSS7d+826/U917bqNVBU0evMQ4eeO9i1X1LNEb12brvtNklLSzPXVJMmTeSpp54y73NhOq9ZYG3btjVt1uv/1FNP9dZnKe09Odg1d+KJJxYLFBzos+ehr3XHHXd4263n/JlnnhHLsoqdr5tuukk+/PBD7+dmzJgxAfn8qgULFphj0Hbq+/joo48WO3ceOsyg1lbRjBkAAAAgmHArGgAAwCHSoZ+003n+/PmmY7002snZo0cP+eSTT+T555/3yYzwBEwuvvjiQ26Hdg5rB/ATTzxhslNefPFF06lduENeh/vSDlzt+NTO1WnTppntFy5c6O1U12wX7eTWDtR7773XBH20w3rChAlmvS5/9dVX5frrr5dzzjlHzj33XLO8Xbt23g7TY445xtRd0edrJogec79+/eTzzz83zylMAyO6z4ceesh0+pZGO2+1M7d3797mtTWYpO3QjJ0///xToqKivNtu375d+vbtazrddZgyDWKU5ocffjCd9a1atTLnQp87ePBgb6CmMA0aaKe9rr/llltk5cqVZhi12bNnF2vDsmXLzHm+8sorTUDh7bffNh3mnTt3Nh3VnmPS19T3RYMo6enppnNca9RoZ3JJ3n//fe/211xzjVmmwS7NQNDOcu0IL3qOdZlu0717dzkY7UzX91zb5jnH2qmtQzBpJ7oOeabX1Pfff28CQB5aT+Lnn3+WYcOGlbpvzVrQjn8Nxt18880mQLJ+/Xr53//+ZwIVmoFVXtd+SUGgnj17mtfX91WzOHSIvKFDh8rGjRtNEMxD30N93/Wa0nOvQcbff//dvJYGDkp7T0qjr7lmzZpiWWIH++wpDYCcddZZJhim7erQoYN5L+666y6zX/3dUpi+J/r50/dVAy7t27cPyOdX3+8TTjjBnAvPdq+//roJlJREr3uln5OOHTse4N0EAAAAjjALAAAAh+SHH36wIiIizNS9e3fr7rvvtr7//nsrNze32LajR4/WW7vNeg+Xy2Wlpqaa5xY2bNgws+3WrVsP+Pqe7c466yyf5TfccINZPnfuXDM/Z84cM3/VVVf5bHfnnXea5T///LOZ/+KLL8z8P//8U+prapt0G33tok466SSrbdu2VnZ2tneZ2+22evToYTVt2tS7bOzYsWYfxx57rJWfn++zD8+6lStXmvktW7ZY0dHR1imnnGLOl8fLL79stnv77be9y3r27GmWjRkzxiqLDh06WLVr17Z27drl857qPurXr+9d9vvvv5tlH374oc/zJ02aVGy5Pk+X/fbbb95legwxMTHWHXfc4V3Wvn176/TTTy/T+1tYQkKCNWjQoGLbDh061LxG4WPR142MjCzxvSrpnHfu3Nnn2h05cqRZ/tVXX5l5Pf9169a1+vfv7/P85557znI4HNaKFStKfY3Zs2ebfX366aelbqPvuW6j7Smq6DVX1mvf854UPmcjRoww53HJkiU+z7333nvNZ3nNmjVmXj8Xuq9bbrmlWHv0uj7Ye1KSH3/80ezz66+/9llels/el19+abZ59NFHfZaff/755vwvW7bMu0y3czqd1oIFCwL++b3tttvMPqZNm+ZzrSUnJ/t8dgvTz/D1119/gDMDAAAAHHkMqwUAAHCI9A5/zRzRu7m1KPvIkSPN3fF653XRoWj69+9vsgsKD62lw0rpHd+HMqRWYTrEVGF6Z7769ttvfX4OGTLEZzvNIFHffPON+ekZHkzv5i9p6KQD2bFjh7lTXe/kz8jIMMMd6aTZGHpOdEglPdbCtIj9weqLaOFqzTrQIZC0fkHh5+pQSp62e+jwQZrdcTCaIaDD/GhmR+GsBX1PNZOksE8//dRso+s8x6WT3hFfqVIlcyd/Yfr84447zjuv2QA6/NGKFSu8y/Rc6536el4CQYfA0qyMzz77zLvs448/Nnf3awZNWWjmQ+EMGM0w0JonnutHz79eq3pt63tcODtFM6M0Q6o0nnOsmQ6auREoB7v2S6Lvp74/lStX9nk/NTPJ5XLJb7/9ZrbTbAnNmCkpI+ZQa2fo50HpaxdWls+eHpN+XjRzqejnWOMh3333nc9yzY4pei0H4vOr7dBsJc2WKXyNH+j3mOdcAwAAAMGE4AgAAMBhOOqoo8zQNzqUz/Tp083QPNq5qMMq/ffff97ttB6CdjLqEFaemggaKNHOZ+2QPBxat6IwHdZHO7I9dTt0aCSd17oKhenQRtopq+s9nak6zJQOYaXD8Jx99tmmeHTRuiQl0aGktINWC89rR2nhydO5XLhIvTpQZ7qHp21F61lER0ebWh6e9R4amNJ1Zd1v0XNX0mtpx7DWxdDaKEWPbc+ePcWOS4dpKqlzuHD9jkceecQMJ9WsWTNTz0KHRvr333/lULVo0cJcixqo8NDH2old9H0vTdFzoYGf2rVr+9R/0SBMVlaWdyg2HX5La7zokFsHou+1BufefPNNc23pZ2H06NHeeiPlde2XRN/PSZMmFXsvNTiiPO+n1hTS+jZafyPQitYIKctnT69ZbU9iYqLPc1u2bOld7+/n61A+v/o6ZfncFD1eirEDAAAg2FBzBAAAIAC0Q147p3XSDm/NXtA71Avfda538Oud4Tpptoneme6pMxBIpXVCHqxzUtdr5oHWU/j666/NXf5aEPrZZ581y7SzvDSeYsx33nmn6fguSdFO+tJqFByO8tinHpsGRgoHHgor+v6Vlg1TuENcC8Zr5/tXX31lap9o0EBrRmjRbK1hcSg0cKEFydetW2c61fU907oogaSZCJox88EHH5jX05967ZclwKfXkdZe8RyzZkB4aoVonZfSrk/N5iirsnTA6/upWUB33313iev181teNEiqCgfKDvezF4jPwqF8fv2hgUAN+gAAAADBhOAIAABAgGmhZs/QTYVpQETv+taMER2+SDtID3dILc+d8IXvEte7wLWzUwtVewrH67xu57nLXG3evNl0Wur6wjTbQKfHHnvMtFXbOH78eNNpX1rns2ZxKD0uzx34geBpm2YoeF5D6VBbWhT9UF/Ls9+ShrXS1yqajaDDe2mx6kAGXzQjQYNoOmkGigZMtBj6gYIjB+r81yL0mp3x0UcfmewOfS90OLey0nOhhbY9tE16DZ922mk+22lQRF9H1+n1cfrppxcbJqo0miWj0wMPPGCKoOs51YDQo48+6t2HXpOFFc2I8OfaL4m+n3psB7t2dDsNUuiQUwfKHvEnI0IzfJReuyU50GdPr1m9DjUzrXD2yKJFi8zPop9jf9rqz+dXX6csnxsPHY5LP6+Ff/cAAAAAwYBhtQAAAA6R1pooOjxO4XoHRYeZ0Y71c845x6x/9dVXJSEhwQyfc7h0eKLCXnrpJfOzb9++5qenc3vUqFE+2z333HPmp3ZuKw3WFD2eDh06mJ+e4X3i4+NL7MDWzIpevXrJa6+9ViwopLZu3XpIx6YdtZqZ8OKLL/q07a233jJDMnna7i8dLkqP7d133/UZ2mny5Mk+w6EpzYrQ7IURI0YU24/W9Ch6LvypPeGhmQF6Z/7BhjDTa6a019M78/U912wOzXI59dRT/bpb//XXX/epd6HXqB6f5zryGDBggOlk1ywVraNSlpom6enpZl+FaZBEh8DyHLPWkNH2emp+eLzyyiuHfO2XRN9PrRWkgY+i9Nx62qnDXOk1p0NdFVX4WjzQe1KUDvuWlpYmM2bM8Flels+efo71OiyaDaQZR/p+HOiYPQLx+dV2aDaLDiNYeH1pmVU67JrSujQAAABAMCFzBAAA4BBp8WctLq0BD70jXO+O1rvhtRC23rleUmFw7Uh+7733TMes3hWuHauHS+9C16wU7QzXTl/tHL/44oulffv2Zr3+1MLj2vmtnaJa30A7NjUw0K9fP2+2gM5rR7Qej941r3eov/HGG6bT2hNg0QCPDq2kx6jDD+kd9W3atDGTdlQfe+yxptNbC6br3eianaJt0qGetGi9v3TIKq3joh3Uenx6nHqHurZThzAra7HxkuiQThpc0TbrEEaaIaCd661btzaZBR56vq699lqzvRZx16HQ9A57vXteh0574YUXTI0Zf+g51M5oHaJKz6F2luuwSjfddNMBn6fba/aABra0/oRmTXTr1s0nq8PTlpKCOQei1+9JJ51kggeec6znRs950fdE3ws9dq1ZU5YAlRb71mO74IILzHWjAYj333/fDEGmQQgPzZB48sknzU/NwNJAyZIlSw752i+J1nfRovJnnHGGGeZLz2lmZqbMmzfPvAdar0SDNPq50FoqGpjT91pfQ7NSfv/9d7PO814d7D0pSgOiWrOlcB2Osnz2zjzzTPO6999/v2mjHqMOT6bDlN12223meQcTiM+vDkem752eDw2Q6e8w/d2iGSUl1c3RgKPW4enYseNB2wcAAAAcURYAAAAOyXfffWddccUVVosWLaxKlSpZ0dHRVpMmTaybb77Z2rx5c4nPyc/Pt2rXrq23iFvffvttidsMGzbMrN+6desBX9+z3X///Wedf/75VmJiolW5cmXrpptusrKysny2zcvLs4YPH241bNjQioqKstLS0qyhQ4da2dnZ3m1mzZplDRgwwKpXr54VExNj1ahRwzrjjDOsGTNm+Oxr6tSpVufOnc3x6utrOzyWL19uDRw40KpVq5Z5ndTUVLOPzz77zLvN2LFjzfP++eefYsfkWbdy5Uqf5S+//LI5z7rPmjVrWtdff721c+dOn2169uxptW7d2vLH559/brVs2dIcb6tWrawJEyZYgwYNsurXr19s29dff90cd1xcnDnXbdu2te6++25rw4YN3m30eaeffnqx52rbdPJ49NFHra5du1opKSlmf3psjz32mJWbm1vs/S1s0aJF1vHHH2+eo+u0rYXl5OSYayA5ObnYNVAazzmfMmWKdc0115jn6/V8ySWXWNu3by/xOZ988ol5jm5fFitWrDCflcaNG1uxsbFWlSpVrBNOOMH68ccffbbbu3evdeWVV5r26zm+8MILrS1bthS7zvy59vU9KXqeMjIyzPWvn1e9jqtVq2b16NHDeuaZZ3zeA/28Pv300+b90e2qV69u9e3b15o5c2aZ35Oi9HOm2/3+++9+f/a03bfffrtVp04d81lo2rSpaZ/b7fbZTvd/4403lvj6h/v5Vf/++6+5nvW91G1GjBhhvfXWW8U+uy6Xy/y+e+CBBw54TgAAAAA7OPR/RzYcAwAAgEDQ+hSaUaFD2lDsGEozMjR7QbMMdOix8qLZCpp1pJkdxx13nAQzHcZKi4xr0ftgoRk6+j5pBkZF9uWXX5pMnuXLl5uh7AAAAIBgQs0R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q2XhwoXy8ssvmwUIdGGhb8WFTZs2mQuYGzZsaH7nAIgc/joAELLnn39eHnnkEbn99ttNOTat2X3rrbfKo48+6vTQEIW2b99uAiF79+6Vxo0by1lnnSULFiwwtwF/WrIkPz/f/D7Rye5evXrJrFmzjmvSDmgzUzV48OBKj+vkN422EYiW09q6dSsXcyAk2jtCJ731e4xOQv385z83FwelpqY6PTREGf176Prrr5edO3eaAL322NPAyIUXXuj00BCF+vXrZ7Je9ffL448/bjJf9WIgrdoB+Pv+++/lvPPOq3QhmdILPSZPnuzgyID447L0shgAAAAAAAAAAIAEQc8RAAAAAAAAAACQUAiOAAAAAAAAAACAhEJwBAAAAAAAAAAAJBSCIwAAAAAAAAAAIKEQHAEAAAAAAAAAAAmF4AgAAAAAAAAAAEgoBEcAAAAAAAAAAEBCITgCAAAAAAAAAAASCsERAACAGNC6dWuZMGHCCa9zMrhcLpk2bVrQ5zdv3mzWWbJkSZXbWbNmjWRnZ8vhw4clVlS374MHD5bRo0ef0jEhuj4fkToPvvzyS3O+HThwIOg6kydPlvr163vvjxs3Tnr16uW9f8MNN8iVV155QuMoKSkxx/L7778/oe0AAAAATiM4AgAAECe+++47+fWvf33KJ5N37twpw4YNO+GfN2bMGLnrrrukbt264mRAI9qFMkmOxDR8+HBZu3Zt0Oefe+45E0A5kaBNWlqa3H///fLAAw+c0FgBAAAApxEcAQAAiBONGzeW2rVrn/Kfq9keNWrUOKFtbN26VWbOnGmubD9Z9Ir3RHIq97esrEzcbvcp+3nRMo5oO6dq1aolTZo0Cfp8vXr1KmWW/FgjRoyQuXPnyooVK054WwAAAIBTCI4AAACcAu+//750797dTF42atRIhgwZIgUFBUGv3tbSN/6BAi03de2110qdOnUkJydHJk6cWGWmh2YW3HzzzSZokpGRIeeff74sXbq00mv+7//+T/r16yc1a9aUzMxM+elPf+od05YtW+Tee+81WQq6hJqJsXDhQundu7fZZt++fWXx4sXVHp93331XevbsafbLpj//8ssvlwYNGph97tq1q3z88cfe57/66ivp37+/Ccw0bdpUHnzwQSktLfU+r/tw5513mmOr+3bRRReZY6R0P3Xc9n01ffp0Of300824TzvtNHns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\",\n      \"text/plain\": [\n       \"<Figure size 1600x1000 with 3 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"# Inspect full SVI posterior shape per subject (not just posterior means)\\n\",\n    \"z_samples = np.array(svi_samples[\\\"z\\\"])\\n\",\n    \"\\n\",\n    \"reward_prob_samples = 0.5 + 0.5 / (1.0 + np.exp(-z_samples[..., 0]))  # [draws, agents]\\n\",\n    \"true_reward_prob = np.array(0.5 + 0.5 * nn.sigmoid(ground_truth_z[:, 0]))\\n\",\n    \"posterior_mean = reward_prob_samples.mean(axis=0)\\n\",\n    \"\\n\",\n    \"subject_ids = np.arange(num_agents)\\n\",\n    \"sort_idx = np.argsort(true_reward_prob)\\n\",\n    \"subject_ids_sorted = subject_ids[sort_idx]\\n\",\n    \"true_reward_prob_sorted = true_reward_prob[sort_idx]\\n\",\n    \"posterior_mean_sorted = posterior_mean[sort_idx]\\n\",\n    \"reward_prob_samples_sorted = reward_prob_samples[:, sort_idx]\\n\",\n    \"\\n\",\n    \"plot_positions = np.arange(num_agents)\\n\",\n    \"\\n\",\n    \"fig, axes = plt.subplots(2, 1, figsize=(16, 10), constrained_layout=True)\\n\",\n    \"\\n\",\n    \"# 1) Violin plot: per-subject posterior distributions + true values (sorted by true reward prob)\\n\",\n    \"parts = axes[0].violinplot(\\n\",\n    \"    [reward_prob_samples_sorted[:, i] for i in range(num_agents)],\\n\",\n    \"    positions=plot_positions,\\n\",\n    \"    showmeans=False,\\n\",\n    \"    showmedians=True,\\n\",\n    \"    showextrema=False,\\n\",\n    \")\\n\",\n    \"for pc in parts['bodies']:\\n\",\n    \"    pc.set_alpha(0.35)\\n\",\n    \"\\n\",\n    \"axes[0].scatter(plot_positions, true_reward_prob_sorted, color='crimson', marker='x', s=80, label='true reward prob')\\n\",\n    \"axes[0].scatter(plot_positions, posterior_mean_sorted, color='black', s=20, label='posterior mean')\\n\",\n    \"axes[0].set_ylabel('reward probability')\\n\",\n    \"axes[0].set_xlabel('subject id (sorted by true reward probability)')\\n\",\n    \"axes[0].set_ylim(0.5, 1.0)\\n\",\n    \"axes[0].set_xticks(plot_positions)\\n\",\n    \"axes[0].set_xticklabels(subject_ids_sorted)\\n\",\n    \"axes[0].set_title('SVI posterior distribution per subject (violin, sorted)')\\n\",\n    \"axes[0].legend(loc='upper left')\\n\",\n    \"\\n\",\n    \"# 2) Density heatmap: posterior mass over probability bins by subject (same sorted order)\\n\",\n    \"bins = np.linspace(0.0, 1.0, 60)\\n\",\n    \"density = np.stack([\\n\",\n    \"    np.histogram(reward_prob_samples_sorted[:, i], bins=bins, density=True)[0]\\n\",\n    \"    for i in range(num_agents)\\n\",\n    \"], axis=1)  # [num_bins-1, num_agents]\\n\",\n    \"\\n\",\n    \"im = axes[1].imshow(\\n\",\n    \"    density,\\n\",\n    \"    aspect='auto',\\n\",\n    \"    origin='lower',\\n\",\n    \"    extent=[-0.5, num_agents - 0.5, bins[0], bins[-1]],\\n\",\n    \"    cmap='viridis',\\n\",\n    \")\\n\",\n    \"axes[1].plot(plot_positions, true_reward_prob_sorted, color='crimson', linestyle='--', marker='x', label='true reward prob')\\n\",\n    \"axes[1].set_ylabel('reward probability')\\n\",\n    \"axes[1].set_xlabel('subject id (sorted by true reward probability)')\\n\",\n    \"axes[1].set_ylim(0.5, 1.0)\\n\",\n    \"axes[1].set_xticks(plot_positions)\\n\",\n    \"axes[1].set_xticklabels(subject_ids_sorted)\\n\",\n    \"axes[1].set_title('SVI posterior density by subject (sorted)')\\n\",\n    \"axes[1].legend(loc='upper left')\\n\",\n    \"fig.colorbar(im, ax=axes[1], label='density')\\n\",\n    \"\\n\",\n    \"plt.show()\\n\",\n    \"\\n\",\n    \"\\n\"\n   ]\n  }\n ],\n \"metadata\": {},\n \"nbformat\": 4,\n \"nbformat_minor\": 5\n}\n"
  },
  {
    "path": "examples/model_fitting/tmaze_recoverability.py",
    "content": "\"\"\"Fast recoverability diagnostics for pybefit + pymdp TMaze fitting.\n\nThis module provides a lightweight alternative to running the full\n`fitting_with_pybefit.ipynb` notebook when evaluating identifiability.\nIt focuses on synthetic recovery sweeps with fixed per-agent latent grids,\nthen reports parameter correlation and a simple bimodality diagnostic.\n\"\"\"\n\nfrom __future__ import annotations\n\nimport argparse\nimport json\nfrom dataclasses import asdict, dataclass\nfrom pathlib import Path\nfrom typing import Any\n\nimport jax.numpy as jnp\nimport jax.tree_util as jtu\nimport matplotlib.pyplot as plt\nimport numpy as np\nfrom jax import lax, nn\nfrom jax import random as jr\nfrom numpyro.infer import Predictive\n\nfrom pybefit.inference import (\n    NumpyroGuide,\n    NumpyroModel,\n    Normal,\n    NormalPosterior,\n    default_dict_numpyro_svi,\n    run_svi,\n)\nfrom pybefit.inference.numpyro.likelihoods import pymdp_likelihood as likelihood\n\nfrom pymdp.agent import Agent\nfrom pymdp.envs import TMaze\n\n\n@dataclass(frozen=True)\nclass RecoverabilityConfig:\n    \"\"\"Configuration for synthetic TMaze recoverability diagnostics.\"\"\"\n\n    parameterization: str = \"three_param\"\n    seed: int = 0\n    num_agents: int = 9\n    num_blocks: int = 80\n    num_trials: int = 5\n    svi_steps: int = 300\n    num_particles: int = 5\n    num_samples: int = 80\n    reward_probability: float = 0.98\n    punishment_probability: float = 0.0\n    cue_validity: float = 1.0\n    dependent_outcomes: bool = True\n    save_plot: str | None = None\n    save_json: str | None = None\n\n\ndef _assert_parameterization(parameterization: str) -> None:\n    valid = {\"three_param\", \"reward_only\"}\n    if parameterization not in valid:\n        raise ValueError(f\"parameterization must be one of {sorted(valid)}, got {parameterization!r}\")\n\n\ndef _build_task(cfg: RecoverabilityConfig) -> TMaze:\n    return TMaze(\n        reward_probability=cfg.reward_probability,\n        punishment_probability=cfg.punishment_probability,\n        cue_validity=cfg.cue_validity,\n        reward_condition=None,\n        dependent_outcomes=cfg.dependent_outcomes,\n    )\n\n\ndef _latent_grid(cfg: RecoverabilityConfig, num_params: int) -> jnp.ndarray:\n    \"\"\"Construct deterministic per-agent latent values for reproducible recovery checks.\"\"\"\n\n    base = jnp.linspace(-2.5, 2.5, cfg.num_agents)\n    if num_params == 1:\n        return base[:, None]\n\n    key = jr.PRNGKey(cfg.seed + 13)\n    key_1, key_2 = jr.split(key)\n    z_1 = 0.8 * jr.normal(key_1, (cfg.num_agents,))\n    z_2 = 0.8 * jr.normal(key_2, (cfg.num_agents,))\n    return jnp.stack([base, z_1, z_2], axis=-1)\n\n\ndef _build_three_param_transform(task: TMaze):\n    \"\"\"Notebook-aligned transform with free reward probability, lambda, and initial reward-state prior.\"\"\"\n\n    def transform(z: jnp.ndarray) -> Agent:\n        num_agents, _ = z.shape\n        reward_prob = nn.sigmoid(z[..., 0])\n        lam = nn.softplus(z[..., 1])\n        d = nn.sigmoid(z[..., 2])\n\n        A = lax.stop_gradient(task.A)\n        A = jtu.tree_map(lambda x: jnp.broadcast_to(x, (num_agents,) + x.shape), A)\n        B = lax.stop_gradient(task.B)\n        B = jtu.tree_map(lambda x: jnp.broadcast_to(x, (num_agents,) + x.shape), B)\n\n        one_minus = 1.0 - reward_prob\n        reward_left = jnp.stack([reward_prob, one_minus], -1)\n        punish_left = jnp.stack([one_minus, reward_prob], -1)\n        reward_right = jnp.stack([one_minus, reward_prob], -1)\n        punish_right = jnp.stack([reward_prob, one_minus], -1)\n        zeros = jnp.zeros_like(reward_left)\n\n        side = jnp.broadcast_to(jnp.array([[1.0, 1.0], [0.0, 0.0], [0.0, 0.0]]), (num_agents, 3, 2))\n        left_col = jnp.stack([zeros, reward_left, punish_left], axis=-2)\n        right_col = jnp.stack([zeros, reward_right, punish_right], axis=-2)\n        A[1] = jnp.stack([side, left_col, right_col, side, side], axis=-2)\n\n        C = [\n            jnp.zeros((num_agents, A[0].shape[1])),\n            jnp.expand_dims(lam, -1) * jnp.array([0.0, 1.0, -1.0]),\n            jnp.zeros((num_agents, A[2].shape[1])),\n        ]\n        D = [\n            jnp.zeros((num_agents, B[0].shape[1])).at[:, 0].set(1.0),\n            jnp.stack([d, 1.0 - d], -1),\n        ]\n\n        return Agent(\n            A,\n            B,\n            C=C,\n            D=D,\n            policy_len=2,\n            A_dependencies=task.A_dependencies,\n            B_dependencies=task.B_dependencies,\n            batch_size=num_agents,\n        )\n\n    return transform\n\n\ndef _build_reward_only_transform(task: TMaze):\n    \"\"\"Constrained transform with only reward probability free (lambda and D fixed).\n\n    This removes the strongest confounds in the 3-parameter notebook setup and\n    provides a cleaner recoverability baseline.\n    \"\"\"\n\n    def transform(z: jnp.ndarray) -> Agent:\n        num_agents, _ = z.shape\n        reward_prob = nn.sigmoid(z[..., 0])\n        lam = jnp.full((num_agents,), 1.2)\n\n        A = lax.stop_gradient(task.A)\n        A = jtu.tree_map(lambda x: jnp.broadcast_to(x, (num_agents,) + x.shape), A)\n        B = lax.stop_gradient(task.B)\n        B = jtu.tree_map(lambda x: jnp.broadcast_to(x, (num_agents,) + x.shape), B)\n\n        one_minus = 1.0 - reward_prob\n        reward_left = jnp.stack([reward_prob, one_minus], -1)\n        punish_left = jnp.stack([one_minus, reward_prob], -1)\n        reward_right = jnp.stack([one_minus, reward_prob], -1)\n        punish_right = jnp.stack([reward_prob, one_minus], -1)\n        zeros = jnp.zeros_like(reward_left)\n\n        side = jnp.broadcast_to(jnp.array([[1.0, 1.0], [0.0, 0.0], [0.0, 0.0]]), (num_agents, 3, 2))\n        left_col = jnp.stack([zeros, reward_left, punish_left], axis=-2)\n        right_col = jnp.stack([zeros, reward_right, punish_right], axis=-2)\n        A[1] = jnp.stack([side, left_col, right_col, side, side], axis=-2)\n\n        C = [\n            jnp.zeros((num_agents, A[0].shape[1])),\n            jnp.expand_dims(lam, -1) * jnp.array([0.0, 1.0, -1.0]),\n            jnp.zeros((num_agents, A[2].shape[1])),\n        ]\n        D = [\n            jnp.zeros((num_agents, B[0].shape[1])).at[:, 0].set(1.0),\n            jnp.full((num_agents, 2), 0.5),\n        ]\n\n        return Agent(\n            A,\n            B,\n            C=C,\n            D=D,\n            policy_len=2,\n            A_dependencies=task.A_dependencies,\n            B_dependencies=task.B_dependencies,\n            batch_size=num_agents,\n        )\n\n    return transform\n\n\ndef _build_model_and_truth(cfg: RecoverabilityConfig) -> tuple[NumpyroModel, jnp.ndarray, int]:\n    _assert_parameterization(cfg.parameterization)\n    task = _build_task(cfg)\n\n    if cfg.parameterization == \"three_param\":\n        num_params = 3\n        transform = _build_three_param_transform(task)\n    else:\n        num_params = 1\n        transform = _build_reward_only_transform(task)\n\n    prior = Normal(num_params, cfg.num_agents, backend=\"numpyro\")\n    opts_task = {\n        \"task\": task,\n        \"num_blocks\": cfg.num_blocks,\n        \"num_trials\": cfg.num_trials,\n        \"num_agents\": cfg.num_agents,\n    }\n    model = NumpyroModel(prior, transform, likelihood, opts={\"prior\": {}, \"transform\": {}, \"likelihood\": opts_task})\n    z_true = _latent_grid(cfg, num_params)\n    return model, z_true, num_params\n\n\ndef _simulate_measurements(model: NumpyroModel, z_true: jnp.ndarray, seed: int) -> dict[str, Any]:\n    pred = Predictive(model, posterior_samples={\"z\": z_true[None, ...]}, return_sites=[\"z\", \"outcomes\", \"multiactions\"])\n    samples = pred(jr.PRNGKey(seed))\n    observations = samples[\"outcomes\"]\n    return {\n        \"samples\": samples,\n        \"measurements\": {\n            \"outcomes\": [obs[0] for obs in observations],\n            \"multiactions\": samples[\"multiactions\"][0],\n        },\n    }\n\n\ndef _fit_svi(\n    model: NumpyroModel,\n    measurements: dict[str, Any],\n    num_params: int,\n    cfg: RecoverabilityConfig,\n) -> dict[str, Any]:\n    posterior = NumpyroGuide(NormalPosterior(num_params, cfg.num_agents, backend=\"numpyro\"))\n    opts_svi = default_dict_numpyro_svi | {\n        \"seed\": cfg.seed,\n        \"iter_steps\": cfg.svi_steps,\n        \"elbo_kwargs\": {\"num_particles\": cfg.num_particles, \"max_plate_nesting\": 1},\n        \"svi_kwargs\": {\"progress_bar\": False, \"stable_update\": True},\n        \"sample_kwargs\": {\"num_samples\": cfg.num_samples},\n    }\n    svi_samples, _, _ = run_svi(model, posterior, measurements, opts=opts_svi)\n    return svi_samples\n\n\ndef _pearson(x: np.ndarray, y: np.ndarray) -> float:\n    if np.std(x) < 1e-12 or np.std(y) < 1e-12:\n        return float(\"nan\")\n    return float(np.corrcoef(x, y)[0, 1])\n\n\ndef _bimodality_score(probabilities: np.ndarray) -> float:\n    \"\"\"Simple threshold-bimodality score in [0, 1], higher means more mass near extremes.\"\"\"\n\n    low_or_high = np.mean((probabilities < 0.2) | (probabilities > 0.8))\n    middle = np.mean((probabilities >= 0.35) & (probabilities <= 0.65))\n    score = low_or_high - middle\n    return float(np.clip(score, 0.0, 1.0))\n\n\ndef run_recoverability(cfg: RecoverabilityConfig) -> dict[str, Any]:\n    \"\"\"Run one synthetic recoverability sweep and return diagnostics.\"\"\"\n\n    model, z_true, num_params = _build_model_and_truth(cfg)\n    simulation = _simulate_measurements(model, z_true, cfg.seed + 1)\n    svi_samples = _fit_svi(model, simulation[\"measurements\"], num_params, cfg)\n\n    true_z = np.array(z_true)\n    inferred_z = np.array(svi_samples[\"z\"].mean(0))\n    latent_corr = [_pearson(true_z[:, idx], inferred_z[:, idx]) for idx in range(num_params)]\n\n    true_reward_prob = 1.0 / (1.0 + np.exp(-true_z[:, 0]))\n    inferred_reward_prob = 1.0 / (1.0 + np.exp(-inferred_z[:, 0]))\n\n    results = {\n        \"config\": asdict(cfg),\n        \"num_params\": num_params,\n        \"corr_latent\": latent_corr,\n        \"corr_reward_probability\": _pearson(true_reward_prob, inferred_reward_prob),\n        \"bimodality_score_reward_probability\": _bimodality_score(inferred_reward_prob),\n        \"true_z\": true_z.tolist(),\n        \"inferred_z\": inferred_z.tolist(),\n        \"true_reward_probability\": true_reward_prob.tolist(),\n        \"inferred_reward_probability\": inferred_reward_prob.tolist(),\n    }\n    return results\n\n\ndef _save_scatter(results: dict[str, Any], path: Path) -> None:\n    true_prob = np.array(results[\"true_reward_probability\"])\n    inferred_prob = np.array(results[\"inferred_reward_probability\"])\n\n    plt.figure(figsize=(7, 5))\n    plt.scatter(true_prob, inferred_prob, label=\"reward probability\")\n    lower = float(min(true_prob.min(), inferred_prob.min()))\n    upper = float(max(true_prob.max(), inferred_prob.max()))\n    plt.plot((lower, upper), (lower, upper), \"k--\", linewidth=1.0)\n    plt.xlabel(\"true value\")\n    plt.ylabel(\"posterior mean (SVI)\")\n    plt.title(\"TMaze Recoverability\")\n    plt.legend(loc=\"best\")\n    plt.tight_layout()\n    path.parent.mkdir(parents=True, exist_ok=True)\n    plt.savefig(path, dpi=150)\n    plt.close()\n\n\ndef _to_jsonable(results: dict[str, Any]) -> str:\n    return json.dumps(results, indent=2, sort_keys=True)\n\n\ndef parse_args() -> argparse.Namespace:\n    parser = argparse.ArgumentParser(description=__doc__)\n    parser.add_argument(\"--parameterization\", choices=[\"three_param\", \"reward_only\"], default=\"three_param\")\n    parser.add_argument(\"--seed\", type=int, default=0)\n    parser.add_argument(\"--num-agents\", type=int, default=9)\n    parser.add_argument(\"--num-blocks\", type=int, default=80)\n    parser.add_argument(\"--num-trials\", type=int, default=5)\n    parser.add_argument(\"--svi-steps\", type=int, default=300)\n    parser.add_argument(\"--num-particles\", type=int, default=5)\n    parser.add_argument(\"--num-samples\", type=int, default=80)\n    parser.add_argument(\"--save-plot\", type=str, default=None)\n    parser.add_argument(\"--save-json\", type=str, default=None)\n    return parser.parse_args()\n\n\ndef main() -> None:\n    args = parse_args()\n    cfg = RecoverabilityConfig(\n        parameterization=args.parameterization,\n        seed=args.seed,\n        num_agents=args.num_agents,\n        num_blocks=args.num_blocks,\n        num_trials=args.num_trials,\n        svi_steps=args.svi_steps,\n        num_particles=args.num_particles,\n        num_samples=args.num_samples,\n        save_plot=args.save_plot,\n        save_json=args.save_json,\n    )\n    results = run_recoverability(cfg)\n\n    print(f\"parameterization={cfg.parameterization}\")\n    print(f\"corr_reward_probability={results['corr_reward_probability']:.3f}\")\n    print(f\"bimodality_score_reward_probability={results['bimodality_score_reward_probability']:.3f}\")\n    for idx, corr in enumerate(results[\"corr_latent\"]):\n        print(f\"corr_latent_{idx}={corr:.3f}\")\n\n    if cfg.save_plot:\n        _save_scatter(results, Path(cfg.save_plot))\n        print(f\"saved_plot={cfg.save_plot}\")\n\n    if cfg.save_json:\n        out_path = Path(cfg.save_json)\n        out_path.parent.mkdir(parents=True, exist_ok=True)\n        out_path.write_text(_to_jsonable(results))\n        print(f\"saved_json={cfg.save_json}\")\n\n\nif __name__ == \"__main__\":\n    main()\n"
  },
  {
    "path": "examples/sparse/sparse_benchmark.ipynb",
    "content": "{\n \"cells\": [\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"# Sparse Array Benchmarking\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"%load_ext autoreload\\n\",\n    \"%autoreload 2\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"import jax.numpy as jnp\\n\",\n    \"from jax import tree_util as jtu\\n\",\n    \"from jax.experimental import sparse\\n\",\n    \"from pymdp.agent import Agent\\n\",\n    \"import matplotlib.pyplot as plt\\n\",\n    \"import seaborn as sns\\n\",\n    \"import time\\n\",\n    \"\\n\",\n    \"from pymdp.inference import smoothing_ovf\\n\",\n    \"import numpy as np\\n\",\n    \"\\n\",\n    \"import tracemalloc\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def sizeof(x):\\n\",\n    \"    return np.prod(x.shape)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def sizeof_sparse(x):\\n\",\n    \"    return np.prod(x.data.shape) + np.prod(x.indices.shape)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"def get_matrices(n_batch, num_obs, n_states):\\n\",\n    \"\\n\",\n    \"    A_1 = jnp.ones((num_obs[0], n_states[0]))\\n\",\n    \"    A_1 = A_1.at[-1, :-1].set(0)\\n\",\n    \"    A_2 = jnp.ones((num_obs[0], n_states[1]))\\n\",\n    \"    A_2 = A_2.at[-1, 1:].set(0)\\n\",\n    \"\\n\",\n    \"    A_tensor = A_1[..., None] * A_2[:, None]\\n\",\n    \"    A_tensor /= A_tensor.sum(0)\\n\",\n    \"\\n\",\n    \"    A = [jnp.broadcast_to(A_tensor, (n_batch, *A_tensor.shape))]\\n\",\n    \"\\n\",\n    \"    # create two transition matrices, one for each state factor\\n\",\n    \"    B_1 = jnp.eye(n_states[0])\\n\",\n    \"    B_1 = B_1.at[:, 1:].set(B_1[:, :-1])\\n\",\n    \"    B_1 = B_1.at[:, 0].set(0)\\n\",\n    \"    B_1 = B_1.at[-1, 0].set(1)\\n\",\n    \"    B_1 = jnp.broadcast_to(B_1, (n_batch, n_states[0], n_states[0]))\\n\",\n    \"\\n\",\n    \"    B_2 = jnp.eye(n_states[1])\\n\",\n    \"    B_2 = B_2.at[:, 1:].set(B_2[:, :-1])\\n\",\n    \"    B_2 = B_2.at[:, 0].set(0)\\n\",\n    \"    B_2 = B_2.at[-1, 0].set(1)\\n\",\n    \"    B_2 = jnp.broadcast_to(B_2, (n_batch, n_states[1], n_states[1]))\\n\",\n    \"\\n\",\n    \"    B = [B_1[..., None], B_2[..., None]]\\n\",\n    \"    C = [jnp.zeros((n_batch, num_obs[0]))]  # flat preferences\\n\",\n    \"    D = [jnp.ones((n_batch, n_states[0])) / n_states[0], jnp.ones((n_batch, n_states[1])) / n_states[1]]  # flat prior\\n\",\n    \"    E = jnp.ones((n_batch, 1))\\n\",\n    \"\\n\",\n    \"    return A, B, C, D, E\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": null,\n   \"metadata\": {},\n   \"outputs\": [],\n   \"source\": [\n    \"def profile(fun, *args): \\n\",\n    \"    tracemalloc.start()\\n\",\n    \"    tracemalloc.reset_peak()\\n\",\n    \"    bt = time.time()\\n\",\n    \"    res = fun(*args)\\n\",\n    \"    et = time.time()\\n\",\n    \"    size, peak = tracemalloc.get_traced_memory()\\n\",\n    \"\\n\",\n    \"    stats = {'time': et - bt}\\n\",\n    \"    return res, stats\\n\",\n    \"\\n\",\n    \"def experiment(n_states):\\n\",\n    \"    results = {}\\n\",\n    \"\\n\",\n    \"    n_batch = 1\\n\",\n    \"    num_obs = [2]\\n\",\n    \"\\n\",\n    \"    A, B, C, D, E = get_matrices(n_batch=n_batch, num_obs=num_obs, n_states=n_states)\\n\",\n    \"\\n\",\n    \"    # for the single modality, a sequence over time of observations (one hot vectors)\\n\",\n    \"    obs = [\\n\",\n    \"        jnp.broadcast_to(\\n\",\n    \"            jnp.array(\\n\",\n    \"                [\\n\",\n    \"                    [1.0, 0.0],  # observation 0 is ambiguous with respect state factors\\n\",\n    \"                    [1.0, 0],  # observation 0 is ambiguous with respect state factors\\n\",\n    \"                    [1.0, 0],  # observation 0 is ambiguous with respect state factors\\n\",\n    \"                    [0.0, 1.0],\\n\",\n    \"                ]\\n\",\n    \"            )[:, None],\\n\",\n    \"            (4, n_batch, num_obs[0]),\\n\",\n    \"        )\\n\",\n    \"    ]  # observation 1 provides information about exact state of both factors\\n\",\n    \"\\n\",\n    \"    agents = Agent(\\n\",\n    \"        A=A,\\n\",\n    \"        B=B,\\n\",\n    \"        C=C,\\n\",\n    \"        D=D,\\n\",\n    \"        E=E,\\n\",\n    \"        pA=None,\\n\",\n    \"        pB=None,\\n\",\n    \"        policy_len=3,\\n\",\n    \"        control_fac_idx=None,\\n\",\n    \"        policies=None,\\n\",\n    \"        gamma=16.0,\\n\",\n    \"        alpha=16.0,\\n\",\n    \"        use_utility=True,\\n\",\n    \"        categorical_obs=True,\\n\",\n    \"        action_selection=\\\"deterministic\\\",\\n\",\n    \"        sampling_mode=\\\"full\\\",\\n\",\n    \"        inference_algo=\\\"ovf\\\",\\n\",\n    \"        num_iter=16,\\n\",\n    \"        learn_A=False,\\n\",\n    \"        learn_B=False,\\n\",\n    \"        batch_size=1,\\n\",\n    \"    )\\n\",\n    \"\\n\",\n    \"    jtu.tree_map(lambda b: sparse.BCOO.fromdense(b, n_batch=n_batch), agents.B)\\n\",\n    \"\\n\",\n    \"\\n\",\n    \"    prior = agents.D\\n\",\n    \"    qs_hist = None\\n\",\n    \"    action_hist = []\\n\",\n    \"    for t in range(len(obs[0])):\\n\",\n    \"        first_obs = jtu.tree_map(lambda x: jnp.moveaxis(x[:t+1], 0, 1), obs)\\n\",\n    \"        beliefs = agents.infer_states(first_obs, past_actions=None, empirical_prior=prior, qs_hist=qs_hist)\\n\",\n    \"        actions = jnp.broadcast_to(agents.policies[0, 0], (n_batch, 2))\\n\",\n    \"        prior = agents.update_empirical_prior(actions, beliefs)\\n\",\n    \"        qs_hist = beliefs\\n\",\n    \"        action_hist.append(actions)\\n\",\n    \"\\n\",\n    \"    beliefs = jtu.tree_map(lambda x, y: jnp.concatenate([x[:, None], y], 1), agents.D, beliefs)\\n\",\n    \"\\n\",\n    \"    take_first = lambda pytree: jtu.tree_map(lambda leaf: leaf[0], pytree)\\n\",\n    \"    beliefs_single = take_first(beliefs)\\n\",\n    \"\\n\",\n    \"    # ======\\n\",\n    \"    # Dense implementation\\n\",\n    \"    smoothed_beliefs_dense, run_stats = profile(\\n\",\n    \"        smoothing_ovf, *(beliefs_single, take_first(agents.B), jnp.stack(action_hist, 1)[0])\\n\",\n    \"    )\\n\",\n    \"    results.update({k+'_dense': v for k, v in run_stats.items()})\\n\",\n    \"    results[\\\"size_dense\\\"] = sum([sizeof(sB) for sB in agents.B])\\n\",\n    \"    # ======\\n\",\n    \"\\n\",\n    \"    sparse_B_single = jtu.tree_map(lambda b: sparse.BCOO.fromdense(b[0]), agents.B)\\n\",\n    \"    actions_single = jnp.stack(action_hist, 1)[0]\\n\",\n    \"\\n\",\n    \"    # ======\\n\",\n    \"    # Sparse implementation\\n\",\n    \"    smoothed_beliefs_sparse, run_stats = profile(\\n\",\n    \"        smoothing_ovf, *(beliefs_single, sparse_B_single, actions_single)\\n\",\n    \"    )\\n\",\n    \"    results.update({k+'_sparse': v for k, v in run_stats.items()})\\n\",\n    \"    results[\\\"size_sparse\\\"] = sum([sizeof_sparse(sB) for sB in sparse_B_single])\\n\",\n    \"    # ======\\n\",\n    \"\\n\",\n    \"    return results, [beliefs_single, smoothed_beliefs_dense, smoothed_beliefs_sparse]\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Running the experiment and visualizing the results\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 1,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_3558/2542277956.py:35: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agents = Agent(\\n\"\n     ]\n    },\n    {\n     \"data\": {\n      \"text/plain\": [\n       \"Text(0.5, 1.0, 'smoothed beliefs sparse')\"\n      ]\n     },\n     \"execution_count\": 1,\n     \"metadata\": {},\n     \"output_type\": \"execute_result\"\n    },\n    {\n     \"data\": {\n      \"image/png\": \"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uefMlClTzKBBg8yf/vQn/zql93PLli3NnXfeaWbMmGE6d+5sIiMjzaJFi0xKSop58MEHzdNPP22aN29uPB6P2b9/v//6n3/+uYmPjzepqanmkUceMY899php27atcbvdZu3atf71du7caZo1a2YSExPN73//e/PUU0+Z7t27m4iICLN48WL/Og8//LCRZMaOHevPz7fffltm1ltvvdXMmjXL9O/f30gy77zzjv+2QnlMXnvttUaSGT58uJk5c6b57W9/68/I5MmTKz2+pY/frl27mm7dupmnnnrK3HPPPSYmJsZ06NDBHDp0yL9usLkt/Rm0devWgPsoMzMzpP07ePCgWbhwoenYsaNp0aKF/1ju3LnTLF++3EgyWVlZ5tlnnzXPPvusufnmm83QoUMr3V+fz2cyMjJMRESEGT9+vJkxY4bp37+//3gd+3Px888/Nx6Px3Tu3NlMmTLFzJw502RkZBiXy+W/v4/d3zPPPNP079/fzJgxw9x+++0mMjLSDBs2zL9eQUGBadSokenQoYOZOnWqmT9/vvn9739vOnXqFDDj9ddfb6KioswNN9xg5syZY+6++24THx9vzjnnHHP06NFK9686yBgZC2fGgrle6fxdu3Y1/fr1M9OnTzc5OTkmIiLCZGRkGJ/P51938ODBZtiwYWbq1Klm9uzZZujQoUaSueOOOwJuNzMz06SkpJimTZuaCRMmmLlz55qlS5fWeu4ooua/d3B5X8YEV0SNMSY+Pj6gcJX6n//5H5Oammp2794dsPx3v/ud8Xg8/lCVhu/UU08NCJrP5zOnnXaayc7ODniwHTp0yLRt29ZcdNFF/mWDBw82MTExZtu2bf5lX375pYmMjAy6iEoyTz75pH+Z1+s1PXr0MMnJyf4H18KFC01ERIT5+9//HnD9OXPmGEnmo48+8i+rqoiGsn+l133ttdf8y37++WcjyUydOrXK/TsZeDwek5OTU+k6pffzyy+/7F+2efNmI8lEREQEPNEtW7aszON/8ODBJjo62v9EZowxO3bsMImJiSYjI8O/bOLEiUZSwOPkwIEDpm3btqZNmzampKTEGGPM+vXry9zG8bO+9NJL/mVer9ekpKSYK6+80r8s2Mdkfn6+kWTGjx8fsN7w4cNDepJs3rx5QHF49dVXjSTzzDPPGGNCe1wH8yQZSuYyMzNNly5dAta79dZbTVJSkikuLq50/463dOlSI8k8/vjj/mXFxcWmX79+Ze6zrKws07VrV3PkyBH/Mp/PZ/r06WNOO+20Mvt74YUXBhyb2267zURGRpp9+/YZY4xZsmSJkWTWr19f4Xx///vfjSTz5z//OWD53/72t3KXhwMZI2PhzFgw1yudPz09PaDkPf7440aSefPNN/3Lju0PpcaNG2fi4uICsll6v8+ZMydg3drOHW/NH+PZZ5/VihUrAr5OlDFGb7zxhgYNGiRjjHbv3u3/ys7OVmFhYcDbOZI0cuRIxcbG+r/Pz8/Xli1bNHz4cO3Zs8d//aKiImVlZemDDz6Qz+dTSUmJli1bpsGDB6tVq1b+63fq1EnZ2dlBzxwVFaVx48b5v4+Ojta4ceO0a9cubdy4UZL02muvqVOnTurYsWPAPvXv31+SlJeXF/TtBbt/FYmNjVV0dLTef//9Gnsrri5p2LChPv74Y+3YsaPS9RISEvS73/3O//3pp5+uhg0bqlOnTurVq5d/eem/v/vuO0m/vl22fPlyDR48WKeeeqp/vdTUVA0fPlwffvih/3SSd955Rz179lTfvn0Dbnfs2LH6/vvv9eWXXwa1TwkJCbr22mv930dHR6tnz57+maTgH5PvvPOOJOmWW24JuI2JEycGNUupESNGKDEx0f/9kCFDlJqa6t/+iT6uj3eimWvYsKGKiopC/rn2zjvvKCoqSjfddJN/WWRkpCZMmBCw3t69e/Xee+9p2LBhOnDggH++PXv2KDs7W1u2bNEPP/wQcJ2xY8cGfKxcv379VFJSom3btvlnlqS3335bv/zyS7nzvfbaa/J4PLrooosCjkt6eroSEhJC+lkULDJGxspT3YyFcr2xY8cG/OH0TTfdpKioKP8xkRTQH0qz2K9fPx06dEibN28O2J7b7dbo0aPLzCPVXu74Y6Vj9OzZs8I/Vqqun376Sfv27dO8efM0b968ctcp/QOcUsf/5f6WLVsk/VpQK1JYWCiv16vDhw/rtNNOK3P56aefHvBArUxaWpri4+MDlnXo0EHSr+fH9O7dW1u2bNG//vUvNW3atNxtHL9PlQl2/xo1alTuZW63W1OmTNHtt9+uZs2aqXfv3rr00ks1YsQIpaSkBD1HffH4449r5MiRatmypdLT03XxxRdrxIgRAU9oktSiRYsyny3r8XjUsmXLMssk+Uv+Tz/9pEOHDun0008vc9udOnWSz+fT9u3b1aVLF23bti3gCffY9SRp27ZtQX1+YXmzNmrUSJ999pn/+2Afk9u2bVNERITatWsXcHl5+1OZ43PmcrnUvn17/3nJJ/q4Pt6JZm78+PF69dVXNXDgQDVv3lwDBgzQsGHD9Jvf/KbS623btk2pqalKSEgIWH788frmm29kjNEDDzygBx54oMIZmzdv7v/+2F+YJfmPReljLTMzU1deeaUeeughTZs2Teeff74GDx6s4cOHy+12S/r1uBQWFio5ObnC2ww3MkbGylPdjIVyveOPSUJCglJTUwP+HuKLL77Q/fffr/fee8//C0upwsLCgO+bN29e5o+2ajt3FNEaVvrb2LXXXlthWLp16xbw/bG/zRy7jalTp1b4sRsJCQlV/pFQOPl8PnXt2lVPPfVUuZcf/4O2qm1JVe9fZSZOnKhBgwZp6dKlWrZsmR544AHl5ubqvffe05lnnhn0LPXBsGHD1K9fPy1ZskTLly/X1KlTNWXKFC1evFgDBw70rxcZGVnu9StaboypkXmDEcxM4XxMhkM4HtfHb+9E9i85OVn5+flatmyZ3n33Xb377rt64YUXNGLECC1YsCDoOSqbT5LuuOOOCt+Bad++fcD3Vd2vpR9qvnbtWv31r3/VsmXLNGbMGD355JNau3atEhIS5PP5lJycrD//+c/lbquiUnEiyBgZK091MxbObO7bt0+ZmZlKSkrSww8/rHbt2ikmJkabNm3S3XffXeYV4uP7hlT7uaOIhlF5/3NR6V8MlpSU6MILL6zWdkt/q0xKSqp0G02bNlVsbKz/t8RjffXVV0Hf3o4dO1RUVBTwqujXX38t6df/Jal0pk8//VRZWVkn/D9MBbt/wWzn9ttv1+23364tW7aoR48eevLJJ/WnP/3phOari1JTUzV+/HiNHz9eu3bt0llnnaU//vGPAU+S1dW0aVPFxcWV+5javHmzIiIi/D+wW7duXeF6pZdL5WcnVME+Jlu3bi2fz6dvv/024BWaUDIiqUzOjDH65ptv/L9YhutxXSocmYuOjtagQYM0aNAg+Xw+jR8/XnPnztUDDzxQpiSWat26tVatWqWDBw8GPKkff7xKXw1s0KBBWPb3WL1791bv3r31xz/+US+//LKuueYaLVq0SNdff73atWunlStX6rzzziv3SbWmkDEyVp7qZCyU623ZskUXXHCB//uDBw/qxx9/1MUXXyzp109I2LNnjxYvXqyMjAz/elu3bg15X2ord5wjGkbx8fFlPtIkMjJSV155pd544w19/vnnZa5z/EeVlCc9PV3t2rXTE088oYMHD1a4jcjISGVnZ2vp0qX697//7b/8X//6l5YtWxb0fhQXFwd85NPRo0c1d+5cNW3aVOnp6ZJ+fUXghx9+0Pz588tc//DhwyoqKgr69oLdv4ocOnRIR44cCVjWrl07JSYm1uqrxE5QUlJS5q2X5ORkpaWlhe1YREZGasCAAXrzzTcD3g4qKCjQyy+/rL59+yopKUmSdPHFF2vdunVas2aNf72ioiLNmzdPbdq0UefOnSXJ/0tPRR8JFIxgH5OlRWH69OkB6zz99NMh3d5LL72kAwcO+L9//fXX9eOPP/q3f6KP6+OdaOb27NkT8H1ERIT/Cb2yx8bFF1+s4uJizZ4927+spKREM2bMCFgvOTlZ559/vubOnasff/yxzHZC3V/p17eqj3+VsPSVr9KZhw0bppKSEj3yyCNlrl9cXHxCj6nykDEyVpHqZiyU682bNy/gvM3Zs2eruLjYf0xKX9k+NjdHjx7VrFmzKp39WLWdO14RDaP09HStXLlSTz31lNLS0tS2bVv16tVLjz32mPLy8tSrVy/dcMMN6ty5s/bu3atNmzZp5cqV2rt3b6XbjYiI0HPPPaeBAweqS5cuGj16tJo3b64ffvhBeXl5SkpK0l//+ldJ0kMPPaS//e1v6tevn8aPH6/i4mLNmDFDXbp0CTjXpzJpaWmaMmWKvv/+e3Xo0EF/+ctflJ+fr3nz5vlPkr7uuuv06quv6sYbb1ReXp7OO+88lZSUaPPmzXr11Ve1bNmyoM+3DWX/yvP1118rKytLw4YNU+fOnRUVFaUlS5aooKAg4A8FTgYHDhxQixYtNGTIEHXv3l0JCQlauXKl1q9fryeffDJst/OHP/xBK1asUN++fTV+/HhFRUVp7ty58nq9AZ89eM899+iVV17RwIEDdcstt6hx48ZasGCBtm7dqjfeeMP/HzW0a9dODRs21Jw5c5SYmKj4+Hj16tWrzPnSlQn2MdmjRw9dffXVmjVrlgoLC9WnTx+tWrVK33zzTUjHoHHjxurbt69Gjx6tgoICPf3002rfvr1uuOEGSSf+uK7u/lXk+uuv1969e9W/f3+1aNFC27Zt04wZM9SjRw//+YTlGTRokM477zzdc889+v7779W5c2ctXry4TBmTfv2Dz759+6pr16664YYbdOqpp6qgoEBr1qzRf/7zH3366adB768kLViwQLNmzdIVV1yhdu3a6cCBA5o/f76SkpL8rwBlZmZq3Lhxys3NVX5+vgYMGKAGDRpoy5Yteu211/TMM89oyJAhId1uZcgYGatIdTMWyvWOHj3qf7776quvNGvWLPXt21eXXXaZJKlPnz5q1KiRRo4cqVtuuUUul0sLFy4M6bSPWs9d0H9fX4+VfixCRR9VEOzHN23evNlkZGSY2NhYIyngI4sKCgpMTk6OadmypWnQoIFJSUkxWVlZZt68ef51yvtoomN98skn5re//a055ZRTjNvtNq1btzbDhg0zq1atClhv9erVJj093URHR5tTTz3VzJkzp9x5y1P6kRQbNmww5557romJiTGtW7c2M2fOLLPu0aNHzZQpU0yXLl2M2+02jRo1Munp6eahhx4yhYWF/vWC+RzRYPevvGO0e/duk5OTYzp27Gji4+ONx+MxvXr1Mq+++mqV+1vfeL1ec+edd5ru3bubxMREEx8fb7p3725mzZoVsF55Hz1izK/31SWXXFJmuaQyH1ezadMmk52dbRISEkxcXJy54IIL/J+de6xvv/3WDBkyxDRs2NDExMSYnj17mrfffrvMem+++abp3LmziYqKCshbRbOOHDnStG7dOmBZsI/Jw4cPm1tuucWccsopJj4+3gwaNMhs3749pI+WeeWVV8y9995rkpOTTWxsrLnkkksCPjatVDCP62A+WiaU/SvvmL3++utmwIABJjk52URHR5tWrVqZcePGmR9//LHS/TXGmD179pjrrrvOJCUlGY/HY6677jrzySeflPtxQN9++60ZMWKESUlJMQ0aNDDNmzc3l156qXn99dfL7O/xP3OP/9mwadMmc/XVV5tWrVoZt9ttkpOTzaWXXmo2bNhQZsZ58+aZ9PR0ExsbaxITE03Xrl3NXXfdZXbs2FHl/oWCjJGxio5ZdTMWzPVK51+9erUZO3asadSokUlISDDXXHON2bNnT8D2PvroI9O7d28TGxtr0tLSzF133eX/iLBjn3crut9rO3cuYyyeHQ0AAIBKvfjiixo9erTWr18f9k/3sY1zRAEAAGAFRRQAAABWUEQBAABg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zpzJaZx2jJw2j+S8mZw2j+TMmZzGacfIafNIzpuJeULDW/MAAACwgiIKAAAAKyiiAAAAsKJeFVG3263JkyfL7XbbHkWS8+aRnDeT0+aRnDmT0zjtGDltHsl5MzltHsmZMzmN046R0+aRnDcT84SmXv2xEgAAAOqOevWKKAAAAOoOiigAAACsoIgCAADACoooAAAArKg3RfTZZ59VmzZtFBMTo169emndunVW5/nggw80aNAgpaWlyeVyaenSpVbnyc3N1TnnnKPExEQlJydr8ODB+uqrr6zNM3v2bHXr1k1JSUlKSkrSueeeq3fffdfaPMd77LHH5HK5NHHiRNujOI6TskbOqkbW6i6yVjGyFjqnZq1eFNG//OUvmjRpkiZPnqxNmzape/fuys7O1q5du6zNVFRUpO7du+vZZ5+1NsOxVq9erZycHK1du1YrVqzQL7/8ogEDBqioqMjKPC1atNBjjz2mjRs3asOGDerfv78uv/xyffHFF1bmOdb69es1d+5cdevWzfYojuO0rJGzqpG1uomsVY6shcbRWbP7X92HR8+ePU1OTo7/+5KSEpOWlmZyc3MtTvVfksySJUtsjxFg165dRpJZvXq17VH8GjVqZJ577jmrMxw4cMCcdtppZsWKFSYzM9PceuutVudxGidnjZwFj6w5H1kLDVmrmNOzVudfET169Kg2btyoCy+80L8sIiJCF154odasWWNxMmcrLCyUJDVu3NjyJFJJSYkWLVqkoqIinXvuuVZnycnJ0SWXXBLweMKvyFronJQziazVFWQtdGStYk7PWpTtAU7U7t27VVJSombNmgUsb9asmTZv3mxpKmfz+XyaOHGizjvvPJ1xxhnW5vjnP/+pc889V0eOHFFCQoKWLFmizp07W5tn0aJF2rRpk9avX29tBicja6FxSs4kslbXkLXQkLWK1YWs1fkiitDl5OTo888/14cffmh1jtNPP135+fkqLCzU66+/rpEjR2r16tVWQrt9+3bdeuutWrFihWJiYmr99lH/OCVnEllD/UbWyldXslbni2iTJk0UGRmpgoKCgOUFBQVKSUmxNJVz3XzzzXr77bf1wQcfqEWLFlZniY6OVvv27SVJ6enpWr9+vZ555hnNnTu31mfZuHGjdu3apbPOOsu/rKSkRB988IFmzpwpr9eryMjIWp/LScha8JyUM4ms1TVkLXhkrWJ1JWt1/hzR6Ohopaena9WqVf5lPp9Pq1atsn5ehpMYY3TzzTdryZIleu+999S2bVvbI5Xh8/nk9Xqt3HZWVpb++c9/Kj8/3/919tln65prrlF+fr4jwmobWataXciZRNacjqxVjaxVra5krc6/IipJkyZN0siRI3X22WerZ8+eevrpp1VUVKTRo0dbm+ngwYP65ptv/N9v3bpV+fn5aty4sVq1alXr8+Tk5Ojll1/Wm2++qcTERO3cuVOS5PF4FBsbW+vz3HvvvRo4cKBatWqlAwcO6OWXX9b777+vZcuW1foskpSYmFjm3KL4+Hidcsop1s85chKnZY2cVY2s1U1krXJkrWp1JmuW/2o/bGbMmGFatWploqOjTc+ePc3atWutzpOXl2cklfkaOXKklXnKm0WSeeGFF6zMM2bMGNO6dWsTHR1tmjZtarKysszy5cutzFIRJ37MhRM4KWvkrGpkre4iaxUja9XjxKy5jDGmxtsuAAAAcJw6f44oAAAA6iaKKAAAAKygiAIAAMAKiigAAACsoIgCAADACoooAAAArKCIAgAAwAqKKAAAAKygiAIAAMAKiigAAACsoIgCAADACoooAAAArPj/yogXKQPSSWIAAAAASUVORK5CYII=\",\n      \"text/plain\": [\n       \"<Figure size 800x400 with 6 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"res, (beliefs, smoothed_dense, smoothed_sparse) = experiment([2, 3])\\n\",\n    \"\\n\",\n    \"fig, axes = plt.subplots(2, 3, figsize=(8, 4), sharex=True)\\n\",\n    \"\\n\",\n    \"sns.heatmap(beliefs[0].mT, ax=axes[0, 0], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"sns.heatmap(beliefs[1].mT, ax=axes[1, 0], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"\\n\",\n    \"sns.heatmap(smoothed_dense[0][0].mT, ax=axes[0, 1], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"sns.heatmap(smoothed_dense[0][1].mT, ax=axes[1, 1], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"\\n\",\n    \"sns.heatmap(smoothed_sparse[0][0].mT, ax=axes[0, 2], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"sns.heatmap(smoothed_sparse[0][1].mT, ax=axes[1, 2], cbar=False, vmax=1., vmin=0., cmap='viridis')\\n\",\n    \"\\n\",\n    \"axes[0, 0].set_title('Filtered beliefs')\\n\",\n    \"axes[0, 1].set_title('smoothed beliefs dense')\\n\",\n    \"axes[0, 2].set_title('smoothed beliefs sparse')\\n\"\n   ]\n  },\n  {\n   \"cell_type\": \"markdown\",\n   \"metadata\": {},\n   \"source\": [\n    \"### Benchmarking runtime and memory performance\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 2,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"Step 1\\n\",\n      \"\\t [100, 300]\\n\"\n     ]\n    },\n    {\n     \"name\": \"stderr\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"/var/folders/_f/1qqqnkyd5k5g2b1pgfwzzrqm0000gn/T/ipykernel_3558/2542277956.py:35: UserWarning: A JAX array is being set as static! This can result in unexpected behavior and is usually a mistake to do.\\n\",\n      \"  agents = Agent(\\n\"\n     ]\n    },\n    {\n     \"name\": \"stdout\",\n     \"output_type\": \"stream\",\n     \"text\": [\n      \"\\t {'time_dense': 0.4508378505706787, 'size_dense': 100000, 'time_sparse': 0.5985698699951172, 'size_sparse': 1600}\\n\",\n      \"Step 2\\n\",\n      \"\\t [200, 600]\\n\",\n      \"\\t {'time_dense': 0.5454308986663818, 'size_dense': 400000, 'time_sparse': 0.5894217491149902, 'size_sparse': 3200}\\n\",\n      \"Step 3\\n\",\n      \"\\t [300, 900]\\n\",\n      \"\\t {'time_dense': 0.36173391342163086, 'size_dense': 900000, 'time_sparse': 0.5830059051513672, 'size_sparse': 4800}\\n\",\n      \"Step 4\\n\",\n      \"\\t [400, 1200]\\n\",\n      \"\\t {'time_dense': 0.44315290451049805, 'size_dense': 1600000, 'time_sparse': 0.7388842105865479, 'size_sparse': 6400}\\n\",\n      \"Step 5\\n\",\n      \"\\t [500, 1500]\\n\",\n      \"\\t {'time_dense': 0.418179988861084, 'size_dense': 2500000, 'time_sparse': 0.5743489265441895, 'size_sparse': 8000}\\n\",\n      \"Step 6\\n\",\n      \"\\t [600, 1800]\\n\",\n      \"\\t {'time_dense': 0.3202641010284424, 'size_dense': 3600000, 'time_sparse': 0.5391190052032471, 'size_sparse': 9600}\\n\",\n      \"Step 7\\n\",\n      \"\\t [700, 2100]\\n\",\n      \"\\t {'time_dense': 0.44112205505371094, 'size_dense': 4900000, 'time_sparse': 0.6291599273681641, 'size_sparse': 11200}\\n\",\n      \"Step 8\\n\",\n      \"\\t [800, 2400]\\n\",\n      \"\\t {'time_dense': 0.44248127937316895, 'size_dense': 6400000, 'time_sparse': 0.6097638607025146, 'size_sparse': 12800}\\n\",\n      \"Step 9\\n\",\n      \"\\t [900, 2700]\\n\",\n      \"\\t {'time_dense': 0.3552210330963135, 'size_dense': 8100000, 'time_sparse': 0.639538049697876, 'size_sparse': 14400}\\n\"\n     ]\n    }\n   ],\n   \"source\": [\n    \"n_steps = 10\\n\",\n    \"\\n\",\n    \"res = []\\n\",\n    \"for i in range(1, n_steps):\\n\",\n    \"    print(f\\\"Step {i}\\\")\\n\",\n    \"    num_states = [100 * i, 300 * i]\\n\",\n    \"    print('\\\\t', num_states)\\n\",\n    \"    results, bel = experiment(num_states)\\n\",\n    \"    res += [results]\\n\",\n    \"    print('\\\\t', res[-1])\"\n   ]\n  },\n  {\n   \"cell_type\": \"code\",\n   \"execution_count\": 3,\n   \"metadata\": {},\n   \"outputs\": [\n    {\n     \"data\": {\n      \"image/png\": \"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\",\n      \"text/plain\": [\n       \"<Figure size 600x600 with 2 Axes>\"\n      ]\n     },\n     \"metadata\": {},\n     \"output_type\": \"display_data\"\n    }\n   ],\n   \"source\": [\n    \"keys = list(set(r.replace(\\\"_dense\\\", \\\"\\\").replace(\\\"_sparse\\\", \\\"\\\") for r in res[0].keys())) \\n\",\n    \"n_plots = len(keys)\\n\",\n    \"\\n\",\n    \"fig, ax = plt.subplots(n_plots, 1, figsize=(6, 3 * n_plots))\\n\",\n    \"for i, a in enumerate(ax.flatten()):\\n\",\n    \"    k = keys[i]\\n\",\n    \"    a.plot([r[k + \\\"_dense\\\"] for r in res], label=f\\\"{k.replace('_', ' ').capitalize()} dense\\\")\\n\",\n    \"    a.plot([r[k + \\\"_sparse\\\"] for r in res], label=f\\\"{k} sparse\\\")\\n\",\n    \"    a.set_xticks(list(range(0, len(res))))\\n\",\n    \"    a.set_xticklabels([f\\\"[{1000*i}, {3000*i}]\\\" for i in range(1, n_steps)], rotation=45)\\n\",\n    \"    m = max([r[k + \\\"_dense\\\"] for r in res] + [r[k + \\\"_sparse\\\"] for r in res]) * 1.05\\n\",\n    \"    a.set_ylim([0, m])\\n\",\n    \"\\n\",\n    \"plt.tight_layout()\\n\",\n    \"[a.legend() for a in ax.flatten()]\\n\",\n    \"plt.show()\"\n   ]\n  }\n ],\n \"metadata\": {},\n \"nbformat\": 4,\n \"nbformat_minor\": 2\n}\n"
  },
  {
    "path": "mkdocs.yml",
    "content": "site_name: pymdp\nsite_description: JAX-first Active Inference in discrete state spaces\nsite_url: https://pymdp-rtd.readthedocs.io/en/latest/\nrepo_url: https://github.com/infer-actively/pymdp\nrepo_name: infer-actively/pymdp\ndocs_dir: docs-mkdocs\nexclude_docs: |\n  overrides/**\nsite_dir: !ENV [MKDOCS_SITE_DIR, site]\nstrict: true\nvalidation:\n  omitted_files: ignore\ntheme:\n  name: dracula\n  custom_dir: docs-mkdocs/overrides\n  logo: assets/pymdp-logo.png\n  favicon: assets/pymdp-favicon.png\nmarkdown_extensions:\n  - admonition\n  - attr_list\n  - footnotes\n  - pymdownx.arithmatex:\n      generic: true\n  - toc:\n      permalink: true\nextra_css:\n  - styles/crisp-api.css\nextra_javascript:\n  - javascripts/mathjax.js\n  - javascripts/sidebar-accessibility.js\n  - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js\nplugins:\n  - search\n  - mkdocs-jupyter:\n      execute: false\n      include_source: true\n      ignore_h1_titles: true\n      theme: dark\n  - mkdocstrings:\n      handlers:\n        python:\n          options:\n            show_source: false\n            show_signature_annotations: true\n            show_root_heading: true\n            docstring_style: numpy\n            heading_level: 2\nnav:\n  - Home: index.md\n  - Getting Started:\n      - Installation: getting-started/installation.md\n      - Quickstart (JAX): getting-started/quickstart-jax.md\n  - Guides:\n      - Using rollout() for compiled active inference loops: guides/rollout-active-inference-loop.md\n      - PymdpEnv and Custom Environments: guides/pymdp-env.md\n      - Generative Model Structure: guides/generative-model-structure.md\n  - Migration:\n      - NumPy/legacy to JAX: migration/numpy-to-jax.md\n  - Tutorials:\n      - Overview: tutorials/index.md\n      - Notebook Gallery: tutorials/notebooks/index.md\n  - API Reference:\n      - Overview: api/index.md\n      - Agent: api/agent.md\n      - Inference: api/inference.md\n      - Control: api/control.md\n      - Learning: api/learning.md\n      - Algorithms: api/algos.md\n      - Utils: api/utils.md\n      - Maths: api/maths.md\n      - Environment: api/envs-env.md\n      - Env Rollout: api/envs-rollout.md\n      - Sophisticated Inference Planning: api/planning-si.md\n      - MCTS Planning: api/planning-mcts.md\n  - Legacy:\n      - Legacy/NumPy Archive: legacy/index.md\n  - Development:\n      - Viewing Docs Locally: development/viewing-docs.md\n      - Release Notes: development/release-notes.md\n"
  },
  {
    "path": "nbval_sanitize.cfg",
    "content": "# nbval sanitization configuration\n# This file contains regex patterns to sanitize notebook outputs before comparison\n# Format: regex to match [replacement]\n\n# Sanitize file paths with line numbers\n*.py:[0-9]+ *.py:LINE\n\n# Sanitize temporary paths\n/tmp/.* /tmp/...\n/var/.* /var/...\n\n# Sanitize memory addresses\n0x[0-9a-fA-F]+ 0x...\n\n# Sanitize timestamps\n[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2} TIMESTAMP"
  },
  {
    "path": "paper/paper.bib",
    "content": "@article{friston_reinforcement_2009,\n\ttitle = {Reinforcement learning or active inference?},\n\tauthor = {Friston, Karl J. and Daunizeau, Jean and Kiebel, Stefan J.},\n\tjournal = {PLoS ONE},\n\tyear = {2009},\n\tvolume = {4},\n\tnumber = {7},\n\tpages = {e6421},\n\tdoi = {10.1371/journal.pone.0006421}\n}\n\n@article{vanderbroeck2019active,\n  title={Active inference for robot control: A factor graph approach},\n  author={Vanderbroeck, Mees and Baioumy, Mohamed and van der Lans, Daan and de Rooij, Rens and van der Werf, Tiis},\n  journal={Student Undergraduate Research E-journal!},\n  volume={5},\n  pages={1--5},\n  year={2019}\n}\n\n@inproceedings{ergul2020learning,\n  title={Learning Where to Park},\n  author={Ergul, Burak and van de Laar, Thijs and Koudahl, Magnus and Roa-Villescas, Martin and de Vries, Bert},\n  booktitle={International Workshop on Active Inference},\n  pages={125--132},\n  year={2020},\n  organization={Springer}\n}\n\n@article{10.1162/neco_a_01427,\n author={van de Laar, Thijs and Senoz, Ismail and {\\\"O}z{\\c{c}}elikkale, Ay{\\c{c}}a and Wymeersch, Henk},\n title = {Chance-Constrained Active Inference},\n journal = {Neural Computation},\n volume = {33},\n number = {10},\n pages = {2710-2735},\n year = {2021},\n month = {09},\n issn = {0899-7667},\n doi = {10.1162/neco_a_01427},\n url = {https://doi.org/10.1162/neco\\_a\\_01427},\n eprint = {https://direct.mit.edu/neco/article-pdf/33/10/2710/1963501/neco\\_a\\_01427.pdf},\n }\n\n@misc{heins2022pymdp_arxiv,\n    title={pymdp: A Python library for active inference in discrete state spaces},\n    author={Heins, Conor and Millidge, Beren and Demekas, Daphne and Klein, Brennan and Friston, Karl and Couzin, Iain and Tschantz, Alexander},\n    eprint={2201.03904v1},\n    archivePrefix={arXiv},\n    primaryClass={cs.AI}, \n    year={2022}\n}\n\n@article{millidge2021whence,\n    title = {Whence the expected free energy?},\n    author = {Millidge, Beren and Tschantz, Alexander and Buckley, Christopher L.},\n    journal = {Neural Computation},\n    year = {2021},\n    volume = {33},\n    number = {2},\n    pages = {447--482},\n    doi = {10.1162/neco_a_01354}\n}\n\n@article{friston2015active,\n    title = {Active inference and epistemic value},\n    author = {Friston, Karl J. and Rigoli, Francesco and Ognibene, Dimitri and Mathys, Christoph and Fitzgerald, Thomas and Pezzulo, Giovanni},\n    journal = {Cognitive Neuroscience},\n    year = {2015},\n    volume = {6},\n    number = {4},\n    pages = {187--214},\n    doi = {10.1080/17588928.2015.1020053}\n}\n\n@article{parr2019neuronal,\n    title = {Neuronal message passing using Mean-field, Bethe, and Marginal approximations},\n    author = {Parr, Thomas and Markovic, Dimitrije and Kiebel, Stefan J. and Friston, Karl J.},\n    journal = {Scientific Reports},\n    year = {2019},\n    volume = {9},\n    number = {1},\n    pages = {1--18},\n    doi = {10.1038/s41598-018-38246-3}\n}\n\n@article{penny2004modelling,\n    title = {Modelling functional integration: A comparison of structural equation and dynamic causal models},\n    author = {Penny, Will D. and Stephan, Klaas E. and Mechelli, Andrea and Friston, Karl J.},\n    journal = {NeuroImage},\n    year = {2004},\n    volume = {23},\n    pages = {S264--S274},\n    doi = {10.1016/j.neuroimage.2004.07.041}\n}\n\n@article{friston_active_2012,\n\ttitle = {Active inference and agency: Optimal control without cost functions},\n\tauthor = {Friston, Karl J. and Samothrakis, Spyridon and Montague, Read},\n\tjournal = {Biological Cybernetics},\n\tyear = {2012},\n\tvolume = {106},\n\tnumber = {8-9},\n\tpages = {523--541},\n    doi = {10.1007/s00422-012-0512-8}\n}\n\n@article{montague2012computational,\n    title = {Computational psychiatry},\n    author = {Montague, P. Read and Dolan, Raymond J. and Friston, Karl J. and Dayan, Peter},\n    journal = {Trends in Cognitive Sciences},\n    year = {2012},\n    volume = {16},\n    number = {1},\n    pages = {72--80},\n    doi = {10.1016/j.tics.2011.11.018}\n}\n\n@inproceedings{tschantz2020reinforcement,\n    title = {Reinforcement learning through active inference},\n    author = {Tschantz, Alexander and Millidge, Beren and Seth, Anil K. and Buckley, Christopher L.},\n    booktitle = {Bridging AI and Cognitive Science at the International Conference on Learning Representations},\n    year = {2020},\n    url = {https://baicsworkshop.github.io/pdf/BAICS_37.pdf}\n}\n\n@article{sajid2021active,\n    title = {Active inference: Demystified and compared},\n    author = {Sajid, Noor and Ball, Philip J. and Parr, Thomas and Friston, Karl J.},\n    journal = {Neural Computation},\n    year = {2021},\n    volume = {33},\n    number = {3},\n    pages = {674--712},\n    doi = {10.1162/neco_a_01357}\n}\n\n@inproceedings{tschantz2020scaling,\n    title = {Scaling active inference},\n    author = {Tschantz, Alexander and Baltieri, Manuel and Seth, Anil K. and Buckley, Christopher L.},\n    booktitle = {2020 International Joint Conference on Neural Networks (IJCNN)},\n    year = {2020},\n    pages = {1--8},\n    organization = {IEEE},\n    doi = {10.1109/IJCNN48605.2020.9207382}\n}\n\n@article{friston2017process,\n    title = {Active inference: A process theory},\n    author = {Friston, Karl J. and FitzGerald, Thomas and Rigoli, Francesco and Schwartenbeck, Philipp and Pezzulo, Giovanni},\n    journal = {Neural Computation},\n    year = {2017},\n    volume = {29},\n    number = {1},\n    pages = {1--49},\n    doi = {10.1162/NECO_a_00912}\n}\n\n@article{baltieri2019pid,\n    title = {PID control as a process of active inference with linear generative models},\n    author = {Baltieri, Manuel and Buckley, Christopher L.},\n    journal = {Entropy},\n    year = {2019},\n    volume = {21},\n    number = {3},\n    pages = {257},\n    doi = {10.3390/e21030257}\n}\n\n@inproceedings{fountas2020deep,\n    title = {Deep active inference agents using Monte-Carlo methods},\n    author = {Fountas, Zafeirios and Sajid, Noor and Mediano, Pedro A.M. and Friston, Karl J.},\n    booktitle = {Advances in Neural Information Processing Systems},\n    year = {2020},\n    url = {https://proceedings.neurips.cc/paper/2020/hash/865dfbde8a344b44095495f3591f7407-Abstract.html}\n}\n\n@article{van2019simulating,\n    title = {Simulating active inference processes by message passing},\n    author = {van de Laar, Thijs W. and de Vries, Bert},\n    journal = {Frontiers in Robotics and AI},\n    year = {2019},\n    volume = {6},\n    pages = {20},\n    doi = {10.3389/frobt.2019.00020}\n}\n\n@article{ueltzhoffer2018deep,\n    title = {Deep active inference},\n    author = {Ueltzh{\\\"o}ffer, Kai},\n    journal = {Biological Cybernetics},\n    year = {2018},\n    volume = {112},\n    number = {6},\n    pages = {547--573},\n    doi = {10.1007/s00422-018-0785-7}\n}\n\n@article{tschantz2020learning,\n    title = {Learning action-oriented models through active inference},\n    author = {Tschantz, Alexander and Seth, Anil K. and Buckley, Christopher L.},\n    journal = {PLoS Computational Biology},\n    year = {2020},\n    volume = {16},\n    number = {4},\n    pages = {e1007805},\n    doi = {10.1371/journal.pcbi.1007805}\n}\n\n@inproceedings{ccatal2020learning,\n    title = {Learning perception and planning with deep active inference},\n    author = {{\\c{C}}atal, Ozan and Verbelen, Tim and Nauta, Johannes and De Boom, Cedric and Dhoedt, Bart},\n    booktitle = {IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)},\n    year = {2020},\n    pages = {3952--3956},\n    organization = {IEEE},\n    doi = {10.1109/ICASSP40776.2020.9054364}\n}\n\n@book{penny2011statistical,\n    title = {Statistical parametric mapping: The analysis of functional brain images},\n    author = {Penny, William D. and Friston, Karl J. and Ashburner, John T. and Kiebel, Stefan J. and Nichols, Thomas E.},\n    year = {2007},\n    isbn = {978-0-12-372560-8},\n    doi = {10.1016/B978-0-12-372560-8.X5000-1}\n}\n\n@article{friston2010free,\n    title = {The free-energy principle: A unified brain theory?},\n    author = {Friston, Karl J.},\n    journal = {Nature Reviews Neuroscience},\n    year = {2010},\n    volume = {11},\n    number = {2},\n    pages = {127--138},\n    doi = {10.1038/nrn2787}\n}\n\n@article{da2020active,\n    title = {Active inference on discrete state-spaces: A synthesis},\n    author = {Da Costa, Lancelot and Parr, Thomas and Sajid, Noor and Veselic, Sebastijan and Neacsu, Victorita and Friston, Karl J.},\n    journal = {Journal of Mathematical Psychology},\n    year = {2020},\n    volume = {99},\n    pages = {102447},\n    doi = {10.1016/j.jmp.2020.102447}\n}\n\n@article{kaelbling1998planning,\n    title = {Planning and acting in partially observable stochastic domains},\n    author = {Kaelbling, Leslie Pack and Littman, Michael L. and Cassandra, Anthony R.},\n    journal = {Artificial Intelligence},\n    year = {1998},\n    volume = {101},\n    number = {1-2},\n    pages = {99--134},\n    doi = {10.1016/S0004-3702(98)00023-X}\n}\n\n@article{friston2021sophisticated,\n    title = {Sophisticated inference},\n    author = {Friston, Karl J. and Da Costa, Lancelot and Hafner, Danijar and Hesp, Casper and Parr, Thomas},\n    journal = {Neural Computation},\n    year = {2021},\n    volume = {33},\n    number = {3},\n    pages = {713--763},\n    doi = {10.1162/neco_a_01351}\n}\n\n@article{schwartenbeck2015dopaminergic,\n    title = {The dopaminergic midbrain encodes the expected certainty about desired outcomes},\n    author = {Schwartenbeck, Philipp and FitzGerald, Thomas and Mathys, Christoph and Dolan, Ray and Friston, Karl J.},\n    journal = {Cerebral Cortex},\n    year = {2015},\n    volume = {25},\n    number = {10},\n    pages = {3434--3445},\n    doi = {10.1093/cercor/bhu159}\n}\n\n@article{smith2020imprecise,\n    title = {Imprecise action selection in substance use disorder: Evidence for active learning impairments when solving the explore-exploit dilemma},\n    author = {Smith, Ryan and Schwartenbeck, Philipp and Stewart, Jennifer L. and Kuplicki, Rayus and Ekhtiari, Hamed and Paulus, Martin P. and {Tulsa 1000 Investigators}},\n    journal = {Drug and Alcohol Dependence},\n    year = {2020},\n    volume = {215},\n    pages = {108208},\n    doi = {10.1016/j.drugalcdep.2020.108208}\n}\n\n@article{smith2021greater,\n    title = {Greater decision uncertainty characterizes a transdiagnostic patient sample during approach-avoidance conflict: A computational modelling approach},\n    author = {Smith, Ryan and Kirlic, Namik and Stewart, Jennifer L. and Touthang, James and Kuplicki, Rayus and Khalsa, Sahib S. and Feinstein, Justin and Paulus, Martin P. and Aupperle, Robin L.},\n    journal = {Journal of Psychiatry \\& Neuroscience},\n    year = {2021},\n    volume = {46},\n    number = {1},\n    pages = {E74},\n    doi = {10.1503/jpn.200032}\n}\n\n@article{smith2022step,\n  title={A step-by-step tutorial on active inference and its application to empirical data},\n  author={Smith, Ryan and Friston, Karl J and Whyte, Christopher J},\n  journal={Journal of Mathematical Psychology},\n  volume={107},\n  pages={102632},\n  year={2022},\n  publisher={Elsevier},\n  doi={10.1016/j.jmp.2021.102632}\n}\n\n@article{friston2008variational,\n    title = {DEM: A variational treatment of dynamic systems},\n    author = {Friston, Karl J. and Trujillo-Barreto, N. and Daunizeau, Jean},\n    journal = {NeuroImage},\n    volume = {41},\n    number = {3},\n    pages = {849--885},\n    year = {2008},\n    doi = {10.1016/j.neuroimage.2008.02.054}\n}\n\n@misc{friston2019free,\n  title={A free energy principle for a particular physics},\n  author={Friston, Karl},\n  eprint={1906.10184v1},\n  archivePrefix={arXiv},\n  primaryClass={q-bio.NC}, \n  year={2019}\n}\n\n@article{millidge2020deep,\n    title = {Deep active inference as variational policy gradients},\n    author = {Millidge, Beren},\n    journal = {Journal of Mathematical Psychology},\n    year = {2020},\n    volume = {96},\n    pages = {102348},\n    doi = {10.1016/j.jmp.2020.102348}\n}\n\n@inproceedings{millidge2020relationship,\n    title = {On the relationship between active inference and control as inference},\n    author = {Millidge, Beren and Tschantz, Alexander and Seth, Anil K. and Buckley, Christopher L.},\n    booktitle = {International Workshop on Active Inference},\n    year = {2020},\n    pages = {3--11},\n    organization = {Springer},\n    doi = {10.1007/978-3-030-64919-7_1}\n}\n\n@article{ForneyLab2019,\n\ttitle = {A factor graph approach to automated design of {Bayesian} signal processing algorithms},\n\tvolume = {104},\n\tissn = {0888-613X},\n\turl = {http://www.sciencedirect.com/science/article/pii/S0888613X18304298},\n\tdoi = {10.1016/j.ijar.2018.11.002},\n\tabstract = {The benefits of automating design cycles for Bayesian inference-based algorithms are becoming increasingly recognized by the machine learning community. As a result, interest in probabilistic programming frameworks has much increased over the past few years. This paper explores a specific probabilistic programming paradigm, namely message passing in Forney-style factor graphs (FFGs), in the context of automated design of efficient Bayesian signal processing algorithms. To this end, we developed “ForneyLab”2 as a Julia toolbox for message passing-based inference in FFGs. We show by example how ForneyLab enables automatic derivation of Bayesian signal processing algorithms, including algorithms for parameter estimation and model comparison. Crucially, due to the modular makeup of the FFG framework, both the model specification and inference methods are readily extensible in ForneyLab. In order to test this framework, we compared variational message passing as implemented by ForneyLab with automatic differentiation variational inference (ADVI) and Monte Carlo methods as implemented by state-of-the-art tools “Edward” and “Stan”. In terms of performance, extensibility and stability issues, ForneyLab appears to enjoy an edge relative to its competitors for automated inference in state-space models.},\n\turldate = {2018-11-16},\n\tjournal = {International Journal of Approximate Reasoning},\n\tauthor = {Cox, Marco and van de Laar, Thijs and de Vries, Bert},\n\tmonth = jan,\n\tyear = {2019},\n\tkeywords = {Bayesian inference, Message passing, Factor graphs, Julia, Probabilistic programming},\n\tpages = {185--204}\n}\n\n@article{gregory1980perceptions,\n  title={Perceptions as hypotheses},\n  author={Gregory, Richard Langton},\n  journal={Philosophical Transactions of the Royal Society of London. B, Biological Sciences},\n  volume={290},\n  number={1038},\n  pages={181--197},\n  year={1980},\n  publisher={The Royal Society London},\n  doi={10.1098/rstb.1980.0090}\n}\n\n@misc{brockman2016openai,\n  title={Openai gym},\n  author={Brockman, Greg and Cheung, Vicki and Pettersson, Ludwig and Schneider, Jonas and Schulman, John and Tang, Jie and Zaremba, Wojciech},\n  eprint={1606.01540v1},\n  archivePrefix={arXiv},\n  primaryClass={cs.LG},\n  year={2016}\n}\n\n@article{friston2016active,\n    title = {Active inference and learning},\n    author = {Friston, Karl J. and FitzGerald, Thomas and Rigoli, Francesco and Schwartenbeck, Philipp and O'Doherty, John and Pezzulo, Giovanni},\n    journal = {Neuroscience \\& Biobehavioral Reviews},\n    year = {2016},\n    volume = {68},\n    pages = {862--879},\n    doi = {10.1016/j.neubiorev.2016.06.022}\n}\n\n@article{dayan1995helmholtz,\n    title = {The Helmholtz Machine},\n    author = {Dayan, Peter and Hinton, Geoffrey E. and Neal, Radford M. and Zemel, Richard S.},\n    journal = {Neural Computation},\n    year = {1995},\n    volume = {7},\n    number = {5},\n    pages = {889--904},\n    doi = {10.1162/neco.1995.7.5.889}\n}\n\n@misc{von1910treatise,\n    title = {Treatise on physiological optics (Vol. 3)},\n    author = {Von Helmholtz, Herman and Southall, JPC},\n    year = {1910},\n    publisher = {Dover, New York},\n    doi = {10.1037/13536-000}\n}\n\n@inproceedings{hinton1983optimal,\n    title = {Optimal perceptual inference},\n    author = {Hinton, Geoffrey E. and Sejnowski, Terrence J.},\n    booktitle = {Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},\n    volume = {448},\n    year = {1983},\n    organization = {Citeseer},\n    url = {http://www.cs.toronto.edu/~hinton/absps/optimal.pdf}\n}\n\n@inproceedings{baioumy2021towards,\n    title={Towards Stochastic Fault-Tolerant Control Using Precision Learning and Active Inference},\n    author={Baioumy, Mohamed and Pezzato, Corrado and Corbato, Carlos Hernandez and Hawes, Nick and Ferrari, Riccardo},\n    booktitle={Machine Learning and Principles and Practice of Knowledge Discovery in Databases},\n    year={2022},\n    publisher={Springer International Publishing},\n    pages={681--691},\n    isbn={978-3-030-93736-2},\n    doi = {10.1007/978-3-030-93736-2_48}\n}\n\n@article{ccatal2021robot,\n    title = {Robot navigation as hierarchical active inference},\n    author = {{\\c{C}}atal, Ozan and Verbelen, Tim and Van de Maele, Toon and Dhoedt, Bart and Safron, Adam},\n    journal = {Neural Networks},\n    year = {2021},\n    volume = {142},\n    pages = {192--204},\n    doi = {10.1016/j.neunet.2021.05.010}\n}\n\n@article{wirkuttis2021leading,\n    title = {Leading or following? Dyadic robot imitative interaction using the active inference framework},\n    author = {Wirkuttis, Nadine and Tani, Jun},\n    journal = {IEEE Robotics and Automation Letters},\n    year = {2021},\n    volume = {6},\n    number = {3},\n    pages = {6024--6031},\n    doi = {10.1109/LRA.2021.3090015}\n}\n\n@article{martinez2021probabilistic,\n    title = {Probabilistic modeling for optimization of bioreactors using reinforcement learning with active inference},\n    author = {Mart{\\'i}nez, Ernesto C. and Kim, Jong Woo and Barz, Tilman and Bournazou, Mariano N. Cruz},\n    journal = {Computer Aided Chemical Engineering},\n    year = {2021},\n    volume = {50},\n    pages = {419--424},\n    doi = {10.1016/B978-0-323-88506-5.50066-8}\n}\n\n@misc{moreno2021pid,\n    title = {PID control as a process of active inference applied to a refrigeration system},\n    author = {Moreno, Adri{\\'a}n Rocandio},\n    year = {2021},\n    url = {https://projekter.aau.dk/projekter/files/415131289/1034_PID_Control_as_Active_Inference.pdf}\n}\n\n@article{parr2019generalised,\n    title = {Generalised free energy and active inference},\n    author = {Parr, Thomas and Friston, Karl J.},\n    journal = {Biological Cybernetics},\n    year = {2019},\n    volume = {113},\n    number = {5},\n    pages = {495--513},\n    doi = {10.1007/s00422-019-00805-w}\n}\n\n@article{fox2021active,\n    title = {Active inference: Applicability to different types of social organization explained through reference to industrial engineering and quality management},\n    author = {Fox, Stephen},\n    journal = {Entropy},\n    year = {2021},\n    volume = {23},\n    number = {2},\n    pages = {198},\n    doi = {10.3390/e23020198}\n}\n\n@article{tison2021communication,\n    title = {Communication as socially extended active inference: An ecological approach to communicative behavior},\n    author = {Tison, Remi and Poirier, Pierre},\n    journal = {Ecological Psychology},\n    year = {2021},\n    volume = {33},\n    pages = {197--235},\n    doi = {10.1080/10407413.2021.1965480}\n}\n\n@article{friston2013life,\n    title = {Life as we know it},\n    author = {Friston, Karl J.},\n    journal = {Journal of the Royal Society Interface},\n    year = {2013},\n    volume = {10},\n    number = {86},\n    pages = {20130475},\n    doi = {10.1098/rsif.2013.0475}\n}\n\n@article{schwartenbeck2019computational,\n    title = {Computational mechanisms of curiosity and goal-directed exploration},\n    author = {Schwartenbeck, Philipp and Passecker, Johannes and Hauser, Tobias U. and FitzGerald, Thomas and Kronbichler, Martin and Friston, Karl J.},\n    journal = {Elife},\n    year = {2019},\n    volume = {8},\n    pages = {e41703},\n    doi = {10.7554/eLife.41703}\n}\n\n@article{friston2017active,\n    title = {Active inference, curiosity and insight},\n    author = {Friston, Karl J. and Lin, Marco and Frith, Christopher D. and Pezzulo, Giovanni and Hobson, J. Allan and Ondobaka, Sasha},\n    journal = {Neural Computation},\n    year = {2017},\n    volume = {29},\n    number = {10},\n    pages = {2633--2683},\n    doi = {10.1162/neco_a_00999}\n}\n\n@misc{lance_lnA,\n  author = \"Da Costa, Lancelot\",\n  date = \"2021\",\n  howpublished = \"Personal communication\"\n}\n\n@article{holmes2021active,\n  title={Active inference, selective attention, and the cocktail party problem},\n  author={Holmes, Emma and Parr, Thomas and Griffiths, Timothy D and Friston, Karl J},\n  journal={Neuroscience \\& Biobehavioral Reviews},\n  volume={131},\n  pages={1288--1304},\n  year={2021},\n  publisher={Elsevier},\n  doi={10.1016/j.neubiorev.2021.09.038}\n}\n\n@article{adams2021everything,\n  title={Everything is connected: Inference and attractors in delusions},\n  author={Adams, Rick A and Vincent, Peter and Benrimoh, David and Friston, Karl J and Parr, Thomas},\n  journal={Schizophrenia research},\n  year={2021},\n  publisher={Elsevier},\n  doi={10.1016/j.schres.2021.07.032}\n}\n\n@article{parr2020prefrontal,\n  title={Prefrontal computation as active inference},\n  author={Parr, Thomas and Rikhye, Rajeev Vijay and Halassa, Michael M and Friston, Karl J},\n  journal={Cerebral Cortex},\n  volume={30},\n  number={2},\n  pages={682--695},\n  year={2020},\n  publisher={Oxford University Press},\n  doi={10.1093/cercor/bhz118}\n}\n\n@article{smith2021long,\n  title={Long-term stability of computational parameters during approach-avoidance conflict in a transdiagnostic psychiatric patient sample},\n  author={Smith, Ryan and Kirlic, Namik and Stewart, Jennifer L and Touthang, James and Kuplicki, Rayus and McDermott, Timothy J and Taylor, Samuel and Khalsa, Sahib S and Paulus, Martin P and Aupperle, Robin L},\n  journal={Scientific reports},\n  volume={11},\n  number={1},\n  pages={1--13},\n  year={2021},\n  publisher={Nature Publishing Group},\n  doi={10.1038/s41598-021-91308-x}\n}"
  },
  {
    "path": "paper/paper.md",
    "content": "---\ntitle: 'pymdp: A Python library for active inference in discrete state spaces'\ntags:\n  - Python\n  - active inference\n  - Markov Decision Process\n  - POMDP\n  - MDP\n  - Reinforcement Learning\n  - Artificial Intelligence\n  - Bayesian inference\n  - free energy principle\nauthors:\n  - name: Conor Heins^[corresponding author]\n    affiliation: \"1, 2, 3, 4\"\n  - name: Beren Millidge\n    affiliation: \"4, 5\"\n  - name: Daphne Demekas\n    affiliation: \"6\"\n  - name: Brennan Klein\n    orcid: 0000-0001-8326-5044\n    affiliation: \"4, 7, 8\"\n  - name: Karl Friston\n    affiliation: \"9\" \n  - name: Iain D. Couzin\n    affiliation: \"1, 2, 3\" \n  - name: Alexander Tschantz^[corresponding author]\n    affiliation: \"4, 10, 11\"\naffiliations:\n - name: Department of Collective Behaviour, Max Planck Institute of Animal Behavior, 78457 Konstanz, Germany\n   index: 1\n - name: Centre for the Advanced Study of Collective Behaviour, 78457 Konstanz, Germany\n   index: 2\n - name: Department of Biology, University of Konstanz, 78457 Konstanz, Germany\n   index: 3\n - name: VERSES Research Lab, Los Angeles, California, USA\n   index: 4\n - name: MRC Brain Networks Dynamics Unit, University of Oxford, Oxford, UK\n   index: 5\n - name: Department of Computing, Imperial College London, London, UK\n   index: 6\n - name: Network Science Institute, Northeastern University, Boston, MA, USA\n   index: 7\n - name: Laboratory for the Modeling of Biological and Socio-Technical Systems, Northeastern University, Boston, USA\n   index: 8\n - name: Wellcome Centre for Human Neuroimaging, Queen Square Institute of Neurology, University College London, London WC1N 3AR, UK\n   index: 9\n - name: Sussex AI Group, Department of Informatics, University of Sussex, Brighton, UK\n   index: 10\n - name: Sackler Centre for Consciousness Science, University of Sussex, Brighton, UK\n   index: 11\n  \ndate: 14 January 2022\nbibliography: paper.bib\n---\n\n# Statement of Need\n\nActive inference is an account of cognition and behavior in complex systems which brings together action, perception, and learning under the theoretical mantle of Bayesian inference [@friston_reinforcement_2009; @friston_active_2012; @friston2015active; @friston2017process]. Active inference has seen growing applications in academic research, especially in fields that seek to model human or animal behavior [@parr2020prefrontal; @holmes2021active; @adams2021everything]. The majority of applications have focused on cognitive neuroscience, with a particular focus on modelling decision-making under uncertainty [@schwartenbeck2015dopaminergic; @smith2020imprecise; @smith2021greater]. Nonetheless, the framework has broad applicability and has recently been applied to diverse disciplines, ranging from computational models of psychopathology [@montague2012computational; @smith2021greater], control theory [@baltieri2019pid; @millidge2020relationship; @baioumy2021towards] and reinforcement learning  [@tschantz2020reinforcement; @tschantz2020scaling; @sajid2021active; @fountas2020deep; @millidge2020deep], through to social cognition [@adams2021everything; @wirkuttis2021leading; @tison2021communication] and even real-world engineering problems [@martinez2021probabilistic; @moreno2021pid; @fox2021active]. While in recent years, some of the code arising from the active inference literature has been written in open source languages like Python and Julia  [@ueltzhoffer2018deep; @van2019simulating; @tschantz2020learning; @ccatal2020learning; @millidge2020deep], to-date, the most popular software for simulating active inference agents is the `DEM` toolbox of `SPM` [@friston2008variational; @smith2022step], a MATLAB library originally developed for the statistical analysis and modelling of neuroimaging data [@penny2011statistical]. `DEM` contains a reliable, reproducible set of functions for studying active inference, but the use of the toolbox can be restrictive for researchers in settings where purchasing a MATLAB license is financially costly. And although active inference researchers have relied heavily on `DEM` for simulating and fitting models of behavior, most of its functionality is restricted to single MATLAB scripts or functions, particularly one called `spm_MDP_VB_X.m`, that lack modularity and often must be customized for applications on a domain-specific basis. Increasing interest in active inference, manifested both in terms of sheer number of cited research papers as well as diversifying applications across disciplines, has thus created a need for generic, widely-available, and user-friendly code for simulating active inference in open-source scientific computing languages like Python. The software we present here, [`pymdp`](https://github.com/infer-actively/pymdp), represents a significant step in this direction: namely, we provide the first open-source package for simulating active inference with discrete state-space generative models. The name `pymdp` derives from the fact that the package is written in the **Py**thon programming language and concerns discrete, Markovian generative models of decision-making, which take the form of Markov Decision Processes or **MDP**s.\n\n`pymdp` is a Python package that is directly inspired by the active inference routines contained in `DEM`. However, `pymdp`  is has a modular, flexible structure that allows researchers to build and simulate active inference agents quickly and with a high degree of customization. We developed `pymdp` in the hopes that it will increase the accessibility and exposure of the active inference framework to researchers, engineers, and developers with diverse disciplinary backgrounds. In the spirit of open-source software, we also hope that it spurs new innovation, development, and collaboration in the growing active inference and wider Bayesian modelling communities. For additional pedagogical and technical resources on `pymdp`, we refer the reader to the package's github repository. We also encourage more technically-interested readers to consult a companion preprint article that includes technical material covering the mathematics of active inference in discrete state spaces [@heins2022pymdp_arxiv].\n\n# Summary\n\n`pymdp` offers a suite of robust, tested, and modular routines for simulating active inference agents equipped with *partially-observable Markov Decision Process* (POMDP) generative models. Mathematically,  a POMDP comprises a joint distribution over observations $o$, hidden states $s$, control states $u$ and hyperparameters $\\phi$: $P(o, s, u, \\phi)$. This joint distribution further factorizes into a set of categorical and Dirichlet distributions: the likelihoods and priors of the generative model. With `pymdp`, one can build a generative model using a set of prior and likelihood distributions, initialize an agent, and then link it to an external environment to run active inference processes - all in a few lines of code. The `Agent` and `Env` (environment) APIs of `pymdp` are built according to the standardized framework of OpenAIGym commonly used in reinforcement learning, where an agent and environment object recursively exchange observations and actions over time [@brockman2016openai].\n\n# Introduction\n\nSimulations of active inference are commonly performed in discrete time and space [@friston2015active; @da2020active]. This is partially motivated by the mathematical tractability of performing inference with discrete probability distributions, but also by the intuition of modelling choice behavior as a sequence of discrete, mutually-exclusive choices in, e.g., psychophysics or decision-making experiments. The most popular generative models -- used to realize active inference in this context -- are partially-observable Markov Decision Processes or *POMDPs* [@kaelbling1998planning]. POMDPs are state-space models that model the environment in terms of hidden states that stochastically change over time, as a function of both the current state of the environment as well as the behavioral output of an agent (control states or actions). Crucially, the environment is *partially-observable*, i.e. the hidden states are not directly observed by the agent, but can only be inferred through observations that relate to hidden states in a probabilistic manner, such that observations are modelled as being generated stochastically from the current hidden state. This necessitates both \"perceptual\" inference of hidden states as well as control.\n\nAs such, in most POMDP problems, an agent is tasked with inferring the hidden state of its environment and then choosing a sequence of control states or actions to change hidden states in a way that leads to desired outcomes (maximizing reward, or occupancy within some preferred set of states). \n\n# Usage \n\nIn order to enhance the user-friendliness of `pymdp` without sacrificing flexibility, we have built the library to be highly modular and customizable, such that agents in `pymdp` can be specified at a variety of levels of abstraction with desired parameterisations. The methods of the `Agent` class can thus be called in any particular order, depending on the application, and furthermore they can be specified with various keyword arguments that entail choices of implementation details at lower levels.\n\nBy retaining a modular structure throughout the package's dependency hierarchy, `pymdp` also affords the ability to flexibly compose different low level functions. This allows users to customize and integrate their active inference loops with desired inference algorithms and policy selection routines. For instance, one could sub-class the `Agent` class and write a customized `step()` function, that combines whichever components of active inference one is interested in.   \n\n# Related software packages\n\nThe `DEM` toolbox within `SPM` in MATLAB is the current gold-standard in active inference modelling. In particular, simulating an active inference process in `DEM` consists of defining the generative model in terms of a fixed set of matrices and vectors, and then calling the `spm_MDP_VB_X.m` function to simulate a sequence of trials. `pymdp`, by contrast, provides a user-friendly and modular development experience, with core functionality split up into different libraries that separately perform the computations of active inference in a standalone fashion. Moreover, `pymdp` provides the user the ability to write an active inference process at different levels of abstraction depending on the user's level of expertise or skill with the package -- ranging from the high level `Agent` functionality, which allows the user to define and simulate an active inference agent in just a few lines of code, all the way to specifying a particular variational inference algorithm (e.g., marginal-message passing [@parr2019neuronal]) for the agent to use during state estimation. In the `DEM` toolbox of `SPM`, this would require setting undocumented flags or else manually editing the routines in `spm_MDP_VB_X.m` to enable or disable bespoke functionality. There has been one recent attempt at creating a comprehensive user-guide for building active inference agents in `DEM` [@smith2022step], though to our knowledge there has not been a package devoted to the open source development of these powerful software tools.\n\nA recent related, but largely non-overlapping project is [ForneyLab](https://github.com/biaslab/ForneyLab.jl), which provides a set of Julia libraries for performing approximate Bayesian inference via message passing on Forney Factor Graphs [@ForneyLab2019]. Notably, this package has also seen several applications in simulating active inference processes, using ForneyLab as the backend for the inference algorithms employed by an active inference agent [@van2019simulating; @vanderbroeck2019active; @ergul2020learning; @10.1162/neco_a_01427]. While ForneyLab focuses on including a rigorous set of message passing routines that can be used to simulate active inference agents, `pymdp` is specifically designed to help users quickly build agents (regardless of their underlying inference routines) and plug them into arbitrary environments to run active inference in a few easy steps.\n\n# Funding Statement\nCH and IDC acknowledge support from the Office of Naval Research grant (ONR, N00014- 64019-1-2556), with IDC further acknowledging support from the European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement (ID: 860949), the Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany’s Excellence Strategy-EXC 2117- 422037984, and the Max Planck Society. KF is supported by funding for the Wellcome Centre for Human Neuroimaging (Ref: 205103/Z/16/Z) and the Canada-UK Artificial Intelligence Initiative (Ref: ES/T01279X/1). CH, DD, and BK acknowledge the support of a grant from the John Templeton Foundation (61780). The opinions expressed in this publication are those of the author(s) and do not necessarily reflect the views of the John Templeton Foundation.\n\n# Acknowledgements\n\nThe authors would like to thank Dimitrije Markovic, Arun Niranjan, Sivan Altinakar, Mahault Albarracin, Alex Kiefer, Magnus Koudahl, Ryan Smith, Casper Hesp, and Maxwell Ramstead for discussions and feedback that contributed to development of `pymdp`. We would also like to thank Thomas Parr for pointing out a technical error in an earlier version of the arXiv preprint for this work. Finally, we are grateful to the many users of `pymdp` whose feedback and usage of the package have contributed to its continued improvement and development.\n\n# References"
  },
  {
    "path": "pymdp/__init__.py",
    "content": ""
  },
  {
    "path": "pymdp/agent.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\"Agent API for Active Inference with the modern JAX backend.\"\"\"\nimport math as pymath\nimport warnings\nimport jax.numpy as jnp\nimport jax.tree_util as jtu\nfrom jax import nn, vmap\nfrom pymdp import inference, control, learning, utils\nfrom pymdp.distribution import Distribution, get_dependencies\nfrom equinox import Module, field, tree_at\n\nfrom typing import Any, Callable, Optional, Sequence, Union\nfrom jaxtyping import Array\nfrom functools import partial\nfrom jax import lax\n\nclass Agent(Module):\n    \"\"\"\n    The Agent class, the highest-level API that wraps together processes for action, perception, and learning under active inference.\n\n    Examples\n    --------\n    A single timestep of active inference:\n\n        from jax import random as jr\n\n        my_agent = Agent(A=A, B=B, C=C, <more_params>)\n        observation = env.step(initial_action)\n        qs = my_agent.infer_states(observation, empirical_prior=my_agent.D)\n        q_pi, neg_efe = my_agent.infer_policies(qs)\n        keys = jr.split(rng_key, my_agent.batch_size + 1)\n        next_action = my_agent.sample_action(q_pi, rng_key=keys[1:])\n        next_observation = env.step(next_action)\n\n    This represents one timestep of an active inference process. Wrapping this step in a loop with an `Env()` class that returns\n    observations and takes actions as inputs, would entail a dynamic agent-environment interaction.\n\n    Observation Formats\n    -------------------\n    Observations can be provided in two formats:\n\n    1. **Discrete observations** (default, categorical_obs=False):\n       Each `observations[m]` is an integer observation index for modality `m`.\n       These are converted to one-hot vectors internally.\n\n    2. **Categorical observations** (categorical_obs=True):\n       Each `observations[m]` is a probability vector over observations for\n       modality `m`.\n\n    Advanced preprocessing\n    ----------------------\n    You can override default preprocessing with `preprocess_fn` (set on the\n    agent or per `infer_states` call). If provided, this function should\n    return categorical observations and takes precedence over default\n    discrete/categorical handling.\n    \"\"\"\n\n    A: list[Array]\n    B: list[Array]\n    C: list[Array]\n    D: list[Array]\n    E: Array\n    pA: list[Array]\n    pB: list[Array]\n    gamma: Array\n    alpha: Array\n\n    # matrix of all possible policies (each row is a policy of shape (num_controls[0], num_controls[1], ..., num_controls[num_control_factors-1])\n    policies: control.Policies = field(static=True)\n\n    # threshold for inductive inference (the threshold for pruning transitions that are below a certain probability)\n    inductive_threshold: Array\n    # epsilon for inductive inference (trade-off/weight for how much inductive value contributes to EFE of policies)\n    inductive_epsilon: Array\n    # H vectors (one per hidden state factor) used for inductive inference -- these encode goal states or constraints\n    H: list[Array]\n    # I matrices (one per hidden state factor) used for inductive inference -- these encode the 'reachability' matrices of goal states encoded in `self.H`\n    I: list[Array]\n    # static parameters not leaves of the PyTree\n    A_dependencies: Optional[list[list[int]]] = field(static=True)\n    B_dependencies: Optional[list[list[int]]] = field(static=True)\n    B_action_dependencies: Optional[list[list[int]]] = field(static=True)\n    # mapping from multi action dependencies to flat action dependencies for each B\n    action_maps: list[dict] = field(static=True)\n    batch_size: int = field(static=True)\n    num_iter: int = field(static=True)\n    num_obs: list[int] = field(static=True)\n    num_modalities: int = field(static=True)\n    num_states: list[int] = field(static=True)\n    num_factors: int = field(static=True)\n    num_controls: list[int] = field(static=True)\n    # Used to store original action dimensions in case there are multiple action dependencies per state\n    num_controls_multi: list[int] = field(static=True)\n    control_fac_idx: Optional[list[int]] = field(static=True)\n    # depth of planning during roll-outs (i.e. number of timesteps to look ahead when computing expected free energy of policies)\n    policy_len: int = field(static=True)\n    # number of past timesteps (including current) to use for sequence inference (mmp, vmp, exact)\n    inference_horizon: Optional[int] = field(static=True)\n    # depth of inductive inference (i.e. number of future timesteps to use when computing inductive `I` matrix)\n    inductive_depth: int = field(static=True)\n    # flag for whether to use expected utility (\"reward\" or \"preference satisfaction\") when computing expected free energy\n    use_utility: bool = field(static=True)\n    # flag for whether to use state information gain (\"salience\") when computing expected free energy\n    use_states_info_gain: bool = field(static=True)\n    # flag for whether to use parameter information gain (\"novelty\") when computing expected free energy\n    use_param_info_gain: bool = field(static=True)\n    # flag for whether to use inductive inference (\"intentional inference\") when computing expected free energy\n    use_inductive: bool = field(static=True)\n    categorical_obs: bool = field(static=True)\n    preprocess_fn: Optional[Callable] = field(static=True)\n    # determinstic or stochastic action selection\n    action_selection: str = field(static=True)\n    # whether to sample from full posterior over policies (\"full\") or from marginal posterior over actions (\"marginal\")\n    sampling_mode: str = field(static=True)\n    # fpi, vmp, mmp, ovf, exact\n    inference_algo: str = field(static=True)\n    # whether to perform learning online or offline (options: \"online\", \"offline\")\n    learning_mode: str = field(static=True, default=\"online\")\n\n    learn_A: bool = field(static=True)\n    learn_B: bool = field(static=True)\n    learn_C: bool = field(static=True)\n    learn_D: bool = field(static=True)\n    learn_E: bool = field(static=True)\n\n    def __init__(\n        self,\n        A: Union[list[Array], list[Distribution]],\n        B: Union[list[Array], list[Distribution]],\n        C: Optional[list[Array]] = None,\n        D: Optional[list[Array]] = None,\n        E: Optional[Array] = None,\n        pA: Optional[list[Array]] = None,\n        pB: Optional[list[Array]] = None,\n        H: Optional[list[Array]] = None,\n        I: Optional[list[Array]] = None,\n        A_dependencies: Optional[list[list[int]]] = None,\n        B_dependencies: Optional[list[list[int]]] = None,\n        B_action_dependencies: Optional[list[list[int]]] = None,\n        num_controls: Optional[list[int]] = None,\n        control_fac_idx: Optional[list[int]] = None,\n        policy_len: int = 1,\n        policies: Optional[Union[Array, control.Policies]] = None,\n        gamma: float | Array = 1.0,\n        alpha: float | Array = 1.0,\n        inductive_depth: int = 1,\n        inductive_threshold: float | Array = 0.1,\n        inductive_epsilon: float | Array = 1e-3,\n        use_utility: bool = True,\n        use_states_info_gain: bool = True,\n        use_param_info_gain: bool = False,\n        use_inductive: bool = False,\n        categorical_obs: bool = False,\n        preprocess_fn: Optional[Callable] = None,\n        action_selection: str = \"deterministic\",\n        sampling_mode: str = \"full\",\n        inference_algo: str = \"fpi\",\n        inference_horizon: Optional[int] = None,\n        num_iter: int = 16,\n        batch_size: int = 1,\n        learning_mode: str = \"online\", # TODO: or should this be an argument to `self.infer_parameters()` or even `env/rollout.py:rollout()`\n        learn_A: bool = False,\n        learn_B: bool = False,\n        learn_C: bool = False,\n        learn_D: bool = False,\n        learn_E: bool = False,\n    ) -> None:\n        if B_action_dependencies is not None:\n            assert num_controls is not None, \"Please specify num_controls if you're also using complex action dependencies\"\n\n        if learn_A:\n            assert pA is not None, \"pA is required for A learning\"\n\n        # extract high level variables\n        self.num_modalities = len(A)\n        self.num_factors = len(B)\n        self.num_controls = num_controls\n        self.num_controls_multi = num_controls\n\n        # extract dependencies for A and B matrices\n        (\n            self.A_dependencies,\n            self.B_dependencies,\n            self.B_action_dependencies,\n        ) = self._construct_dependencies(A_dependencies, B_dependencies, B_action_dependencies, A, B)\n\n        # extract A, B, C and D tensors from optional Distributions\n        A = [jnp.array(a.data) if isinstance(a, Distribution) else a for a in A]\n        B = [jnp.array(b.data) if isinstance(b, Distribution) else b for b in B]\n        if C is not None:\n            C = [jnp.array(c.data) if isinstance(c, Distribution) else c for c in C]\n        if D is not None:\n            D = [jnp.array(d.data) if isinstance(d, Distribution) else d for d in D]\n        if E is not None:\n            E = jnp.array(E.data) if isinstance(E, Distribution) else E\n        if H is not None:\n            H = [jnp.array(h.data) if isinstance(h, Distribution) else h for h in H]\n\n        if pA is not None:\n            pA = [jnp.array(pa) for pa in pA]\n\n        if pB is not None:\n            pB = [jnp.array(pb) for pb in pB]\n\n        self.batch_size = batch_size\n\n        # flatten B action dims for multiple action dependencies\n        self.action_maps = None\n        if (\n            policies is None and B_action_dependencies is not None\n        ):  # note, this only works when B_action_dependencies is not the trivial case of [[0], [1], ...., [num_factors-1]]\n            policies_multi = control.construct_policies(\n                self.num_controls_multi,\n                self.num_controls_multi,\n                policy_len,\n                control_fac_idx,\n            )\n            B, pB, self.action_maps = self._flatten_B_action_dims(B, pB, self.B_action_dependencies)\n            policies = self._construct_flattend_policies(policies_multi, self.action_maps)\n            self.sampling_mode = \"full\"\n        \n        # extract shapes from A and B\n        self.num_states = self._get_num_states_from_B(B, self.B_dependencies)\n        self.num_controls = [b_f.shape[-1] for b_f in B] # dimensions of control states for each hidden state factor\n\n        # check that batch_size is consistent with shapes of given A and B\n        for m, a_m in enumerate(A):\n            a_m_state_factors = tuple([self.num_states[f] for f in self.A_dependencies[m]])\n            if a_m.ndim > (len(a_m_state_factors) + 1): # this indicates there's a leading batch dimension\n                if a_m.shape[0] == 1 and batch_size > 1:\n                    A[m] = jnp.broadcast_to(a_m, (batch_size,) + a_m.shape[1:])\n                    if pA is not None:\n                        pA[m] = jnp.broadcast_to(pA[m], (batch_size,) + a_m.shape[1:])\n                    if C is not None:\n                        C[m] = jnp.broadcast_to(C[m], (batch_size,) + C[m].shape[1:])\n                elif a_m.shape[0] != batch_size:\n                    raise ValueError(\n                        f\"Batch size {batch_size} does not match the first dimension of A[{m}] with shape {a_m.shape}\"\n                    )\n            elif a_m.ndim == (len(a_m_state_factors) + 1):  # this indicates no leading batch dimension\n                A[m] = jnp.broadcast_to(a_m, (batch_size,) + a_m.shape)\n                if pA is not None:\n                    pA[m] = jnp.broadcast_to(pA[m], (batch_size,) + a_m.shape)\n                if C is not None:\n                    C[m] = jnp.broadcast_to(C[m], (batch_size,) + C[m].shape)\n        \n        for f, b_f in enumerate(B):\n            b_f_state_factors = tuple([self.num_states[f] for f in self.B_dependencies[f]])\n            if b_f.ndim > (len(b_f_state_factors) + 2):  # this indicates there's a leading batch dimension\n                if b_f.shape[0] == 1 and batch_size > 1:\n                    B[f] = jnp.broadcast_to(b_f, (batch_size,) + b_f.shape[1:])\n                    if pB is not None:\n                        pB[f] = jnp.broadcast_to(pB[f], (batch_size,) + b_f.shape[1:])\n                    if D is not None:\n                        D[f] = jnp.broadcast_to(D[f], (batch_size,) + D[f].shape[1:])\n                elif b_f.shape[0] != batch_size:\n                    raise ValueError(\n                        f\"Batch size {batch_size} does not match the first dimension of B[{f}] with shape {b_f.shape}\"\n                    )\n            elif b_f.ndim == (len(b_f_state_factors) + 2):  # this indicates no leading batch dimension\n                B[f] = jnp.broadcast_to(b_f, (batch_size,) + b_f.shape)\n                if pB is not None:\n                    pB[f] = jnp.broadcast_to(pB[f], (batch_size,) + b_f.shape)\n                if D is not None:\n                    D[f] = jnp.broadcast_to(D[f], (batch_size,) + D[f].shape)\n\n        # now that shapes of A/B have been made consistent and have (batch_size,)-sized leading dimension applied, we can infer num_obs from the first dimension of A\n        self.num_obs = [a_m.shape[1] for a_m in A] # dimensions of observations for each modality\n\n        # static parameters\n        self.num_iter = num_iter\n        self.inference_algo = inference_algo.lower() if isinstance(inference_algo, str) else inference_algo\n        self.inference_horizon = inference_horizon\n        self.inductive_depth = inductive_depth\n\n        if self.inference_horizon is not None and self.inference_horizon < 1:\n            raise ValueError(\"`inference_horizon` must be >= 1 when provided\")\n        if use_inductive and self.inductive_depth < 1:\n            raise ValueError(\"`inductive_depth` must be >= 1 when `use_inductive` is True\")\n\n        # policy parameters\n        self.policy_len = policy_len\n        self.action_selection = action_selection\n        self.sampling_mode = sampling_mode\n        self.use_utility = use_utility\n        self.use_states_info_gain = use_states_info_gain\n        self.use_param_info_gain = use_param_info_gain\n        self.use_inductive = use_inductive\n\n        # learning parameters\n        self.learning_mode = learning_mode\n        self.learn_A = learn_A\n        self.learn_B = learn_B\n        self.learn_C = learn_C\n        self.learn_D = learn_D\n        self.learn_E = learn_E\n\n        # construct control factor indices\n        if control_fac_idx is None:\n            self.control_fac_idx = [f for f in range(self.num_factors) if self.num_controls[f] > 1]\n        else:\n            msg = \"Check control_fac_idx - must be consistent with `num_states` and `num_factors`...\"\n            assert max(control_fac_idx) <= (self.num_factors - 1), msg\n            self.control_fac_idx = control_fac_idx\n\n        # construct policies\n        if policies is None:\n            policies_array = control.construct_policies(\n                self.num_states,\n                self.num_controls,\n                self.policy_len,\n                self.control_fac_idx,\n            )\n            self.policies = control.Policies(policies_array)\n        else:\n            if not isinstance(policies, control.Policies):\n                self.policies = control.Policies(jnp.array(policies))\n            else:\n                self.policies = policies\n\n        if C is None:\n            C = [jnp.ones((self.batch_size, self.num_obs[m])) / self.num_obs[m] for m in range(self.num_modalities)]\n    \n        if D is None:\n            D = [jnp.ones((self.batch_size, self.num_states[f])) / self.num_states[f] for f in range(self.num_factors)]\n\n        if E is None:\n            E = jnp.ones((self.batch_size, self.policies.num_policies)) / self.policies.num_policies\n        else:\n            if E.ndim > 1:\n                if E.shape[0] == 1 and batch_size > 1:\n                    E = jnp.broadcast_to(E, (batch_size,) + E.shape[1:])\n                elif E.shape[0] != batch_size:\n                    raise ValueError(\n                        f\"Batch size {batch_size} does not match the first dimension of E with shape {E.shape}\"\n                    )\n            elif E.ndim == 1:\n                E = jnp.broadcast_to(E, (self.batch_size,) + E.shape)\n\n        if H is not None:\n            for f, h_f in enumerate(H):\n                if h_f.ndim > 1:\n                    if h_f.shape[0] == 1 and batch_size > 1:\n                        H[f] = jnp.broadcast_to(h_f, (batch_size,) + h_f.shape[1:])\n                    elif h_f.shape[0] != batch_size:\n                        raise ValueError(\n                            f\"Batch size {batch_size} does not match the first dimension of H[{f}] with shape {h_f.shape}\"\n                        )\n                elif h_f.ndim == 1:\n                    H[f] = jnp.broadcast_to(h_f, (self.batch_size,) + h_f.shape)\n\n        self.A = A\n        self.B = B\n        self.C = C\n        self.D = D\n        self.E = E\n        self.H = H\n        self.pA = pA\n        self.pB = pB\n\n        self.gamma = jnp.broadcast_to(gamma, (self.batch_size,))\n        self.alpha = jnp.broadcast_to(alpha, (self.batch_size,))\n\n        self.inductive_threshold = jnp.broadcast_to(inductive_threshold, (self.batch_size,))\n        self.inductive_epsilon = jnp.broadcast_to(inductive_epsilon, (self.batch_size,))\n\n        if self.use_inductive and H is not None:\n            I = vmap(\n                partial(\n                    control.generate_I_matrix,\n                    depth=self.inductive_depth,\n                )\n            )(H, B, self.inductive_threshold)\n        elif self.use_inductive and I is not None:\n            I = I\n        else:\n            I = jtu.tree_map(lambda x: jnp.expand_dims(jnp.zeros_like(x), 1), D)\n        self.I = I\n\n        self.categorical_obs = categorical_obs\n        self.preprocess_fn = preprocess_fn\n        if (self.preprocess_fn is not None) and (self.categorical_obs is False):\n            warnings.warn(\n                \"preprocess_fn is set while categorical_obs=False. If your preprocess_fn returns \"\n                \"categorical distributions, set categorical_obs=True so that learning/planning can \"\n                \"interpret observations correctly.\",\n                UserWarning,\n                stacklevel=2,\n            )\n\n        # validate model\n        self._validate()\n\n    @property\n    def unique_multiactions(self) -> Array:\n        size = pymath.prod(self.num_controls)\n        return jnp.unique(self.policies.policy_arr[:, 0], axis=0, size=size, fill_value=-1)\n\n    def _get_num_states_from_B(self, B: list[Array], B_dependencies: list[list[int]]) -> list[int]:\n        \"\"\" Use the shapes of B and the B_dependencies to determine the number of states for each factor.\"\"\"\n  \n        num_states = []\n        for (f, B_deps_f) in enumerate(B_dependencies):  \n            if f in B_deps_f:\n                self_factor_index = B_deps_f.index(f)\n            else:\n                raise ValueError(f\"num_states cannot be inferred from B, B_dependencies if the dynamics of hidden state {f} is not conditioned on itself\")\n            \n            num_states_f = B[f].shape[-(len(B_deps_f) + 1 - self_factor_index)]\n            num_states.append(num_states_f)\n\n        return num_states\n\n    def infer_parameters(\n        self,\n        beliefs_A: list[Array],\n        observations: list[Array],\n        actions: Array | None,\n        beliefs_B: list[Array] | None = None,\n        lr_pA: float = 1.0,\n        lr_pB: float = 1.0,\n        **kwargs: Any,\n    ) -> \"Agent\":\n        \"\"\"Update Dirichlet parameters for `A` and/or `B` models from data.\n\n        Parameters\n        ----------\n        beliefs_A: list[Array]\n            Marginal state beliefs used when updating the observation model\n            parameters.\n        observations: list[Array]\n            Observation histories for each modality.\n        actions: Array or None\n            Action history aligned to time. For multi-action agents this should be\n            shaped `(batch, T, num_factors)`.\n        beliefs_B: list[Array] | None, optional\n            Optional sequence of beliefs used for transition updates. If `None`,\n            transition updates are skipped.\n        lr_pA: float, default=1.0\n            Learning-rate multiplier for `A` updates.\n        lr_pB: float, default=1.0\n            Learning-rate multiplier for `B` updates.\n        **kwargs: Any\n            Reserved for future arguments.\n\n        Returns\n        -------\n        Agent\n            Agent instance with updated `pA`, `A`, `pB`, and `B` where learning is\n            enabled.\n        \"\"\"\n\n        agent = self\n\n        # ------------------------------------------------------------------\n        # Prepare the sequences we'll use for A- and B- learning\n        # ------------------------------------------------------------------\n        # For updating A we use 'marginal_beliefs' (possibly smoothed under OVF).\n        # For updating B we need a *time* sequence to construct joints or run smoothing.\n        seq_beliefs = beliefs_A if beliefs_B is None else beliefs_B  # (list over factors) each (B, T, Ns_f)\n\n        # Normalize action shape to include time if needed\n        if actions is not None and actions.ndim == 2:\n            # (B, Nu) -> (B, 1, Nu) so we can slice to T-1 below\n            actions = jnp.expand_dims(actions, 1)\n        \n        # Infer sequence length (T) from beliefs provided for B learning\n        # If learn_B is False we don't need a time sequence, but computing T is cheap and safe\n        T = seq_beliefs[0].shape[1]  # each factor has (B, T, Ns_f)\n\n        # Make actions time-conformant: always slice to T-1 along time\n        if actions is not None and actions.ndim == 3:\n            actions_Tm1 = actions[:, :max(T - 1, 0), :]    # (B, max(T-1, 0), Nu)\n        else:\n            actions_Tm1 = actions  # None or already time-matched\n\n        if actions_Tm1 is not None:\n            valid_transition_mask = jnp.all(actions_Tm1 >= 0, axis=-1)\n        else:\n            valid_transition_mask = None\n        \n        # A handy predicate: can we (meaningfully) apply sequence-based smoothing or\n        # B-joint construction for this update window?\n        # We need at least one valid transition.\n        can_update_Beliefs = (\n            actions_Tm1 is not None\n            and (T > 1)\n            and (actions_Tm1.shape[1] == (T - 1))\n            and jnp.any(valid_transition_mask)\n        )\n\n        # Full B-parameter update additionally requires `self.learn_B`.\n        can_update_B = (\n            self.learn_B\n            and can_update_Beliefs\n        )\n\n        def _apply_transition_mask(joint_beliefs: list[Array] | None) -> list[Array] | None:\n            if valid_transition_mask is None:\n                return joint_beliefs\n\n            def _mask_joint(x: Array) -> Array:\n                mask = valid_transition_mask.astype(x.dtype).reshape(\n                    valid_transition_mask.shape + (1,) * (x.ndim - 2)\n                )\n                return x * mask\n\n            return jtu.tree_map(_mask_joint, joint_beliefs)\n\n        def _empty_joint_beliefs() -> list[Array]:\n            return [\n                jnp.zeros(\n                    (\n                        self.batch_size,\n                        seq_beliefs[0].shape[1] - 1,\n                        self.num_states[f],\n                        *[self.num_states[dep] for dep in self.B_dependencies[f]],\n                    )\n                )\n                for f in range(self.num_factors)\n            ]\n\n        def _build_outer_product_joints() -> list[list[Array]]:\n            return [\n                [seq_beliefs[f][:, 1:]] + [seq_beliefs[f_idx][:, :-1] for f_idx in self.B_dependencies[f]]\n                for f in range(self.num_factors)\n            ]\n\n        def _smooth_or_fallback(smoothing_fn: Callable[..., Any]) -> tuple[list[Array], list[Array]]:\n            def update_with_smoothing(_: Any) -> tuple[list[Array], list[Array]]:\n                # Use the *sequence* of filtered beliefs (seq_beliefs) for smoothing\n                #   vmap runs over batch: each call sees (T, Ns_f) and (T-1, Nu)\n                smoothed_marginals_and_joints = vmap(smoothing_fn)(\n                    seq_beliefs, self.B, actions_Tm1\n                )\n                marginal_beliefs = smoothed_marginals_and_joints[0]  # list[f] -> (B, T, Ns_f)\n                joint_beliefs = _apply_transition_mask(smoothed_marginals_and_joints[1])  # list[f] -> (B, T-1, ...)\n                return marginal_beliefs, joint_beliefs\n\n            def use_filtered_beliefs(_: Any) -> tuple[list[Array], list[Array]]:\n                # No valid transition yet (or sentinel action found):\n                # - Use filtered beliefs for A-learning,\n                # - and either skip B-learning or fall back to the two-frame outer-product joint.\n                marginal_beliefs = seq_beliefs\n                # Create empty joint_beliefs with same structure as the true branch would return\n                joint_beliefs = _apply_transition_mask(_empty_joint_beliefs())\n                return marginal_beliefs, joint_beliefs\n\n            return lax.cond(\n                can_update_Beliefs,\n                update_with_smoothing,\n                use_filtered_beliefs,\n                operand=None\n            )\n\n        if self.inference_algo in inference.SMOOTHING_METHODS:\n            smoothing_fn = inference.smoothing_ovf\n            if self.inference_algo == inference.EXACT_METHOD:\n                # Exact backward smoothing from online filtering history for single-factor HMMs.\n                smoothing_fn = inference.smoothing_exact\n            marginal_beliefs, joint_beliefs = _smooth_or_fallback(smoothing_fn)\n        else:\n            # Non-OVF: keep existing behavior (use filtered marginals and build joints from t and t-1)\n            marginal_beliefs = beliefs_A\n            joint_beliefs = _apply_transition_mask(_build_outer_product_joints()) if self.learn_B else None\n\n        if self.learn_A:\n            update_A = partial(\n                learning.update_obs_likelihood_dirichlet,\n                A_dependencies=self.A_dependencies,\n                num_obs=self.num_obs,\n                categorical_obs=self.categorical_obs,\n            )\n            \n            lr = jnp.broadcast_to(lr_pA, (self.batch_size,))\n            qA, E_qA = vmap(update_A)(\n                self.pA,\n                self.A,\n                observations,\n                marginal_beliefs,\n                lr=lr,\n            )\n            \n            agent = tree_at(lambda x: (x.A, x.pA), agent, (E_qA, qA))\n            \n        if self.learn_B:\n            update_B = partial(learning.update_state_transition_dirichlet, num_controls=self.num_controls)\n            lrB = jnp.broadcast_to(lr_pB, (self.batch_size,))\n\n            def update_B_step(_: Any) -> tuple[list[Array], list[Array]]:\n                qB, E_qB = vmap(update_B)(\n                    self.pB,\n                    self.B,\n                    joint_beliefs,\n                    actions_Tm1,   # time-aligned actions\n                    lr=lrB\n                )\n                return qB, E_qB\n\n            def skip_B_step(_: Any) -> tuple[list[Array], list[Array]]:\n                return self.pB, self.B\n\n            qB, E_qB = lax.cond(can_update_B, update_B_step, skip_B_step, operand=None)\n\n            if self.use_inductive and self.H is not None:\n                I_updated = lax.cond(\n                    can_update_B,\n                    lambda _: vmap(partial(control.generate_I_matrix, depth=self.inductive_depth))(\n                        self.H, E_qB, self.inductive_threshold\n                    ),\n                    lambda _: self.I,\n                    operand=None,\n                )\n                agent = tree_at(lambda x: (x.B, x.pB, x.I), agent, (E_qB, qB, I_updated))\n            else:\n                agent = tree_at(lambda x: (x.B, x.pB), agent, (E_qB, qB))\n\n        return agent\n\n    def process_obs(self, observations: list[Array] | list[int]) -> list[Array]:\n        \"\"\"\n        Preprocess observations into the distributional format expected by the inference routines.\n\n        Parameters\n        ----------\n        observations: list[Array] or list[int]\n            The observation input. Format depends on the default preprocessing:\n\n            - If `self.categorical_obs=False` (default): Each entry `observations[m]` is an integer\n              index representing the discrete observation for modality `m`.\n\n            - If `self.categorical_obs=True`: Each entry `observations[m]` is a 1D array representing\n              a probability distribution over observations for modality `m`.\n\n        Returns\n        -------\n        o_vec: list[Array]\n            Observations in distributional form (one-hot vectors or categorical distributions).\n\n        Notes\n        -----\n        If `self.preprocess_fn` is set on the agent, it takes precedence over the default\n        categorical/discrete handling and will be used instead of the logic based on\n        `self.categorical_obs`. This override only affects preprocessing; `self.categorical_obs`\n        is still used by learning and planning code paths that consume raw observations.\n        Ensure `self.categorical_obs` matches the output format of your preprocessing\n        (or per-call `preprocess_fn`) to keep those paths consistent.\n        \"\"\"\n        if self.preprocess_fn is not None:\n            return self.preprocess_fn(observations)\n\n        if self.categorical_obs:\n            return observations\n\n        return self.make_categorical(observations)\n\n    def make_categorical(self, observations: list[Array] | list[int]) -> list[Array]:\n        \"\"\"\n        Convert discrete index observations into one-hot categorical distributions.\n\n        Parameters\n        ----------\n        observations: list[Array] or list[int]\n            Each entry `observations[m]` is an integer index for modality `m`.\n\n        Returns\n        -------\n        o_vec: list\n            One-hot categorical distributions for each modality.\n        \"\"\"\n        return [nn.one_hot(o, self.num_obs[m]) for m, o in enumerate(observations)]\n\n    def infer_states(\n        self,\n        observations: list[Array] | list[int],\n        empirical_prior: list[Array],\n        *,\n        past_actions: Array | None = None,\n        qs_hist: list[Array] | None = None,\n        valid_steps: int | Array | None = None,\n        mask: list[Array] | None = None,\n        preprocess_fn: Callable | None = None,\n        return_info: bool = False,\n    ) -> list[Array] | tuple[list[Array], dict[str, Any]]:\n        \"\"\"\n        Update approximate posterior over hidden states by solving variational inference problem, given an observation.\n\n        Parameters\n        ----------\n        observations: list[Array] | list[int]\n            Observation input in one of two formats:\n\n            - Discrete observations (default): each `observations[m]` is an\n              integer index for modality `m`.\n            - Categorical observations: each `observations[m]` is a probability\n              vector over observations for modality `m`.\n\n            If `preprocess_fn` is provided, it should map the raw input to\n            categorical observations and takes precedence over default handling.\n\n        empirical_prior: list[Array] or tuple[Array]\n            Empirical prior beliefs over hidden states. Depending on the inference algorithm chosen,\n            the resulting `empirical_prior` variable may be a matrix (or list[Array]).\n            of additional dimensions to encode extra conditioning variables like timepoint and policy.\n\n        past_actions: Array, optional\n            Action history aligned to time. For single-batch sequence inference\n            this should be shaped `(T-1, num_factors)`. For batched calls it\n            should be shaped `(batch, T-1, num_factors)`.\n\n        qs_hist: list[Array] or tuple[Array], optional\n            History of posterior beliefs over hidden states.\n\n        valid_steps: Array or int, optional\n            Number of valid (unpadded) timesteps when using fixed-size sequence windows.\n            If provided, sequence inference methods (`mmp`, `vmp`) ignore padded prefix\n            timesteps and transitions.\n\n        mask: list[Array] or tuple[Array], optional\n            Mask for observations.\n\n        preprocess_fn: callable, optional\n            Optional preprocessing function to convert observations into distributional form.\n            If None, defaults to `self.process_obs`. The callable should accept\n            `observations` and return distributional observations.\n\n        return_info: bool, default=False\n            If `True`, also return canonical VFE diagnostics for the inferred\n            posterior (`vfe_t`, `vfe`, and component terms). For `ovf` / `exact`\n            this remains a forward-filtering diagnostic; to score the full\n            smoothed sequence, call `pymdp.inference.smoothing_ovf(...)` or\n            `pymdp.inference.smoothing_exact(...)` explicitly and then pass the\n            resulting pairwise joints into `pymdp.maths.calc_vfe(...,\n            joint_qs=...)`.\n\n        Notes\n        -----\n        `categorical_obs` is no longer an argument to `infer_states`. Set it when\n        constructing the agent or supply a `preprocess_fn`. If you provide a custom\n        preprocessing function, ensure `self.categorical_obs` matches the output format,\n        since it is still used by learning and planning code paths that consume raw observations.\n\n        Returns\n        -------\n        qs: list[Array] or tuple[list[Array], dict[str, Any]]\n            Posterior beliefs over hidden states. Depending on the inference algorithm chosen,\n            the resulting `qs` variable will have additional sub-structure to reflect whether\n            beliefs are additionally conditioned on timepoint and policy.\n            For example, in case the `self.inference_algo == 'MMP'` indexing structure is\n            policy->timepoint->factor, so that `qs[p_idx][t_idx][f_idx]` refers to beliefs\n            about marginal factor `f_idx` expected under policy `p_idx` at timepoint `t_idx`.\n            If `return_info=True`, a second return value contains VFE diagnostics.\n\n        Examples\n        --------\n        Discrete observations:\n\n        >>> obs = [0, 1]  # Modality 0 observed observation 0, modality 1 observed observation 1\n        >>> qs = agent.infer_states(obs, prior)\n\n        Categorical observations:\n\n        >>> obs = [\n        ...     jnp.array([0.7, 0.2, 0.1]),  # Peaked belief distribution for observation 0\n        ...     jnp.array([0.5, 0.5])        # Flat belief distribution for observation 1\n        ... ]\n        >>> agent_cat = Agent(..., categorical_obs=True)\n        >>> qs = agent_cat.infer_states(obs, prior)\n        \"\"\"\n\n        if preprocess_fn is None:\n            o_vec = self.process_obs(observations)\n        else:\n            o_vec = preprocess_fn(observations)\n\n        if not isinstance(empirical_prior, (list, tuple)):\n            raise ValueError(\n                \"`empirical_prior` must be a list/tuple with one entry per hidden-state factor.\"\n            )\n        if len(empirical_prior) != self.num_factors:\n            raise ValueError(\n                f\"`empirical_prior` has {len(empirical_prior)} factor(s), expected {self.num_factors}\"\n            )\n\n        A = self.A\n        if mask is not None:\n            for i, m in enumerate(mask):\n                o_vec[i] = m * o_vec[i] + (1 - m) * jnp.ones_like(o_vec[i]) / self.num_obs[i]\n                A[i] = m * A[i] + (1 - m) * jnp.ones_like(A[i]) / self.num_obs[i]\n\n        infer_states = partial(\n            inference.update_posterior_states,\n            A_dependencies=self.A_dependencies,\n            B_dependencies=self.B_dependencies,\n            num_iter=self.num_iter,\n            method=self.inference_algo,\n            distr_obs=True,  # Always True because o_vec is expected to be distributional\n            inference_horizon=self.inference_horizon,\n            return_info=return_info,\n        )\n\n        if valid_steps is not None:\n            valid_steps = jnp.asarray(valid_steps, dtype=jnp.int32)\n            if valid_steps.ndim == 0:\n                valid_steps = jnp.broadcast_to(valid_steps, (self.batch_size,))\n            elif valid_steps.ndim != 1 or valid_steps.shape[0] != self.batch_size:\n                raise ValueError(\n                    \"`valid_steps` must be a scalar or have shape `(batch_size,)`\"\n                )\n        \n        output = vmap(infer_states)(\n            A,\n            self.B,\n            o_vec,\n            past_actions,\n            prior=empirical_prior,\n            qs_hist=qs_hist,\n            valid_steps=valid_steps,\n        )\n\n        return output\n\n    def update_empirical_prior(self, action: Array, qs: list[Array]) -> list[Array]:\n        \"\"\"\n        Compute the empirical prior used for the next state-inference step.\n\n        Parameters\n        ----------\n        action: Array\n            Action sampled at the current timestep for each control factor.\n        qs: list[Array]\n            Posterior beliefs over hidden states for the current timestep/history.\n\n        Returns\n        -------\n        pred: list[Array]\n            Predicted prior over hidden states for the next inference step.\n            For sequence methods (`mmp`, `vmp`), this returns `self.D` to preserve sequence-inference semantics.\n        \"\"\"\n        # this computation of the predictive prior is correct only for fully factorised Bs.\n        if self.inference_algo in inference.SEQUENCE_METHODS:\n            # in the case of the 'mmp' or 'vmp' we have to use D as prior parameter for infer states\n            pred = self.D\n        else:\n            qs_last = jtu.tree_map( lambda x: x[:, -1], qs)\n            propagate_beliefs = partial(control.compute_expected_state, B_dependencies=self.B_dependencies)\n            pred = vmap(propagate_beliefs)(qs_last, self.B, action)\n        \n        return pred\n\n    def infer_policies(self, qs: list[Array]) -> tuple[Array, Array]:\n        \"\"\"\n        Perform policy inference by optimizing a posterior (categorical) distribution over policies.\n        This distribution is computed as the softmax of `neg_efe * gamma + lnE` where\n        `neg_efe` is the negative expected free energy of policies, `gamma` is a policy\n        precision and `lnE` is the (log) prior probability of policies.\n        In SPM-style notation this same quantity is often written as `G`, with\n        `G = neg_efe = -EFE`.\n        This function returns the posterior over policies as well as the negative expected free energy of each policy.\n\n        Parameters\n        ----------\n        qs: list[Array]\n            Posterior beliefs over hidden states (typically output of\n            `infer_states`), including the most recent timestep.\n\n        Returns\n        ----------\n        q_pi: Array\n            Posterior beliefs over policies with shape\n            `(batch_size, num_policies)`.\n        neg_efe: Array\n            Negative expected free energies of policies with shape\n            `(batch_size, num_policies)`.\n        \"\"\"\n\n        latest_belief = jtu.tree_map(lambda x: x[:, -1], qs) # only get the posterior belief held at the current timepoint\n        infer_policies = partial(\n            control.update_posterior_policies_inductive,\n            self.policies.policy_arr,\n            A_dependencies=self.A_dependencies,\n            B_dependencies=self.B_dependencies,\n            use_utility=self.use_utility,\n            use_states_info_gain=self.use_states_info_gain,\n            use_param_info_gain=self.use_param_info_gain,\n            use_inductive=self.use_inductive\n        )\n\n        q_pi, neg_efe = vmap(infer_policies)(\n            latest_belief, \n            self.A,\n            self.B,\n            self.C,\n            self.E,\n            self.pA,\n            self.pB,\n            I = self.I,\n            gamma=self.gamma,\n            inductive_epsilon=self.inductive_epsilon\n        )\n\n        return q_pi, neg_efe\n    \n    def multiaction_probabilities(self, q_pi: Array) -> Array:\n        \"\"\"\n        Compute probabilities of unique multi-actions from the posterior over policies.\n\n        Parameters\n        ----------\n        q_pi: Array\n            Posterior beliefs over policies for one batch element.\n\n        Returns\n        ----------\n        Array\n            Probability vector over unique multi-actions.\n        \"\"\"\n\n        if self.sampling_mode == \"marginal\":\n            get_marginals = partial(control.get_marginals, policies=self.policies.policy_arr, num_controls=self.num_controls)\n            marginals = get_marginals(q_pi)\n            outer = lambda a, b: jnp.outer(a, b).reshape(-1)\n            marginals = jtu.tree_reduce(outer, marginals)\n\n        elif self.sampling_mode == \"full\":\n            locs = jnp.all(\n                self.policies.policy_arr[:, 0] == jnp.expand_dims(self.unique_multiactions, -2),\n                -1,\n            )\n            get_marginals = lambda x: jnp.where(locs, x, 0.).sum(-1)\n            marginals = vmap(get_marginals)(q_pi)\n\n        return marginals\n\n    def sample_action(self, q_pi: Array, rng_key: Array | None = None) -> Array:\n        \"\"\"\n        Sample or select a discrete action from the posterior over control states.\n        \n        Parameters\n        ----------\n        q_pi: Array\n            Posterior over policies for each batch element (usually from\n            `infer_policies`).\n        rng_key: Array or sequence of keys, optional\n            Required for stochastic action selection. For batched agents, pass a\n            key array with one key per batch element.\n\n        Returns\n        ----------\n        action: Array\n            Action indices per batch element and control factor.\n        \"\"\"\n        if (rng_key is None) and (self.action_selection == \"stochastic\"):\n            raise ValueError(\"Please provide a random number generator key to sample actions stochastically\")\n\n        if self.sampling_mode == \"marginal\":\n            sample_action = partial(control.sample_action, self.policies.policy_arr, self.num_controls, action_selection=self.action_selection)\n            action = vmap(sample_action)(q_pi, alpha=self.alpha, rng_key=rng_key)\n        elif self.sampling_mode == \"full\":\n            sample_policy = partial(control.sample_policy, self.policies.policy_arr, action_selection=self.action_selection)\n            action = vmap(sample_policy)(q_pi, alpha=self.alpha, rng_key=rng_key)\n\n        return action\n    \n    def decode_multi_actions(self, action: Array) -> Array:\n        \"\"\"Decode flattened multi-actions back to factor-wise actions.\n\n        Parameters\n        ----------\n        action: Array\n            Flattened multi-action indices.\n\n        Returns\n        -------\n        Array\n            Array of shape `(batch_size, num_controls_multi)` containing decoded\n            actions per control factor.\n        \"\"\"\n        if self.action_maps is None:\n            return action\n\n        action_multi = jnp.zeros((self.batch_size, len(self.num_controls_multi))).astype(action.dtype)\n        for f, action_map in enumerate(self.action_maps):\n            if action_map[\"multi_dependency\"] == []:\n                continue\n\n            action_multi_f = utils.index_to_combination(action[..., f], action_map[\"multi_dims\"])\n            action_multi = action_multi.at[..., action_map[\"multi_dependency\"]].set(action_multi_f)\n        return action_multi\n\n    def encode_multi_actions(self, action_multi: Array) -> Array:\n        \"\"\"Encode factor-wise multi-actions into flattened actions.\n\n        Parameters\n        ----------\n        action_multi: Array\n            Array of actions per control factor.\n\n        Returns\n        -------\n        Array\n            Flattened action indices with shape `(batch_size, num_controls)`.\n        \"\"\"\n        if self.action_maps is None:\n            return action_multi\n\n        action = jnp.zeros((self.batch_size, len(self.num_controls))).astype(action_multi.dtype)\n        for f, action_map in enumerate(self.action_maps):\n            if action_map[\"multi_dependency\"] == []:\n                action = action.at[..., f].set(jnp.zeros_like(action_multi[..., 0]))\n                continue\n\n            action_f = utils.get_combination_index(\n                action_multi[..., action_map[\"multi_dependency\"]],\n                action_map[\"multi_dims\"],\n            )\n            action = action.at[..., f].set(action_f)\n        return action\n\n    def get_model_dimensions(self) -> dict[str, Any]:\n        \"\"\"\n        Collect key model dimensions in a single object.\n\n        Returns\n        -------\n        dict[str, Any]\n            Dictionary containing model shape metadata. Includes:\n\n            - `num_obs`: list[int]\n            - `num_states`: list[int]\n            - `num_controls`: list[int]\n            - `num_modalities`: int\n            - `num_factors`: int\n            - `num_policies`: int\n            - `policy_len`: int\n            - `inference_horizon`: int | None\n            - `A_dependencies`: list[list[int]]\n            - `B_dependencies`: list[list[int]]\n        \"\"\"\n        return {\n            \"num_obs\": self.num_obs,\n            \"num_states\": self.num_states,\n            \"num_controls\": self.num_controls,\n            \"num_modalities\": self.num_modalities,\n            \"num_factors\": self.num_factors,\n            \"num_policies\": self.policies.num_policies,\n            \"policy_len\": self.policy_len,\n            \"inference_horizon\": self.inference_horizon,\n            \"A_dependencies\": self.A_dependencies,\n            \"B_dependencies\": self.B_dependencies,\n        }\n\n    def _construct_dependencies(\n        self,\n        A_dependencies: list[list[int]] | None,\n        B_dependencies: list[list[int]] | None,\n        B_action_dependencies: list[list[int]] | None,\n        A: list[Array] | list[Distribution],\n        B: list[Array] | list[Distribution],\n    ) -> tuple[list[list[int]], list[list[int]], list[list[int]]]:\n        if A_dependencies is not None:\n            A_dependencies = A_dependencies\n        elif isinstance(A[0], Distribution) and isinstance(B[0], Distribution):\n            A_dependencies, _ = get_dependencies(A, B)\n        else:\n            A_dependencies = utils.resolve_a_dependencies(\n                self.num_factors, self.num_modalities\n            )\n\n        if B_dependencies is not None:\n            B_dependencies = B_dependencies\n        elif isinstance(A[0], Distribution) and isinstance(B[0], Distribution):\n            _, B_dependencies = get_dependencies(A, B)\n        else:\n            B_dependencies = utils.resolve_b_dependencies(self.num_factors)\n\n        \"\"\"TODO: check B action shape\"\"\"\n        if B_action_dependencies is not None:\n            B_action_dependencies = B_action_dependencies\n        else:\n            B_action_dependencies = utils.resolve_b_action_dependencies(self.num_factors)\n        return A_dependencies, B_dependencies, B_action_dependencies\n\n    def _flatten_B_action_dims(\n        self,\n        B: list[Array],\n        pB: list[Array] | None,\n        B_action_dependencies: list[list[int]],\n    ) -> tuple[list[Array], list[Array] | None, list[dict[str, Any]]]:\n        assert hasattr(B[0], \"shape\"), \"Elements of B must be tensors and have attribute shape\"\n        action_maps = []  # mapping from multi action dependencies to flat action dependencies for each B\n        B_flat = []\n        pB_flat = []\n        for i, (B_f, action_dependency) in enumerate(zip(B, B_action_dependencies)):\n            if action_dependency == []:\n                B_flat.append(jnp.expand_dims(B_f, axis=-1))\n                if pB is not None:\n                    pB_flat.append(jnp.expand_dims(pB[i], axis=-1))\n                action_maps.append(\n                    {\"multi_dependency\": [], \"multi_dims\": [], \"flat_dependency\": [i], \"flat_dims\": [1]}\n                )\n                continue\n\n            dims = [self.num_controls_multi[d] for d in action_dependency]\n            target_shape = list(B_f.shape)[: -len(action_dependency)] + [pymath.prod(dims)]\n            B_flat.append(B_f.reshape(target_shape))\n            if pB is not None:\n                pB_flat.append(pB[i].reshape(target_shape))\n            action_maps.append(\n                {\n                    \"multi_dependency\": action_dependency,\n                    \"multi_dims\": dims,\n                    \"flat_dependency\": [i],\n                    \"flat_dims\": [pymath.prod(dims)],\n                }\n            )\n        if pB is None:\n            pB_flat = None\n        return B_flat, pB_flat, action_maps\n\n    def _construct_flattend_policies(self, policies: Array, action_maps: list[dict[str, Any]]) -> Array:\n        policies_flat = []\n        for action_map in action_maps:\n            if action_map[\"multi_dependency\"] == []:\n                policies_flat.append(jnp.zeros_like(policies[..., 0]))\n                continue\n\n            policies_flat.append(\n                utils.get_combination_index(\n                    policies[..., action_map[\"multi_dependency\"]],\n                    action_map[\"multi_dims\"],\n                )\n            )\n        policies_flat = jnp.stack(policies_flat, axis=-1)\n        return policies_flat\n\n    def _get_default_params(self) -> dict[str, Any] | None:\n        method = self.inference_algo\n        default_params = None\n        if method == \"VANILLA\":\n            default_params = {\"num_iter\": 8, \"dF\": 1.0, \"dF_tol\": 0.001}\n        elif method == \"MMP\":\n            raise NotImplementedError(\"MMP is not implemented\")\n        elif method == \"VMP\":\n            raise NotImplementedError(\"VMP is not implemented\")\n        elif method == \"BP\":\n            raise NotImplementedError(\"BP is not implemented\")\n        elif method == \"EP\":\n            raise NotImplementedError(\"EP is not implemented\")\n        elif method == \"CV\":\n            raise NotImplementedError(\"CV is not implemented\")\n\n        return default_params\n\n    def _validate(self) -> None:\n        for m in range(self.num_modalities):\n            factor_dims = tuple([self.num_states[f] for f in self.A_dependencies[m]])\n            assert (\n                self.A[m].shape[2:] == factor_dims\n            ), f\"Please input an `A_dependencies` whose {m}-th indices correspond to the hidden state factors that line up with lagging dimensions of A[{m}]...\"\n            \n            # validate A tensor is normalised\n            utils.validate_normalization(self.A[m], axis=1, tensor_name=f\"A[{m}]\")\n            \n            if self.pA is not None:\n                assert (\n                    self.pA[m].shape[2:] == factor_dims if self.pA[m] is not None else True\n                ), f\"Please input an `A_dependencies` whose {m}-th indices correspond to the hidden state factors that line up with lagging dimensions of pA[{m}]...\"\n                    \n            assert max(self.A_dependencies[m]) <= (\n                self.num_factors - 1\n            ), f\"Check modality {m} of `A_dependencies` - must be consistent with `num_states` and `num_factors`...\"\n\n        for f in range(self.num_factors):\n            factor_dims = tuple([self.num_states[f] for f in self.B_dependencies[f]])\n            assert (\n                self.B[f].shape[2:-1] == factor_dims\n            ), f\"Please input a `B_dependencies` whose {f}-th indices pick out the hidden state factors that line up with the all-but-final lagging dimensions of B[{f}]...\"\n            \n            # validate B tensor is normalised\n            utils.validate_normalization(self.B[f], axis=1, tensor_name=f\"B[{f}]\")\n            \n            if self.pB is not None:\n                assert (\n                    self.pB[f].shape[2:-1] == factor_dims\n                ), f\"Please input a `B_dependencies` whose {f}-th indices pick out the hidden state factors that line up with the all-but-final lagging dimensions of pB[{f}]...\"\n                    \n            assert max(self.B_dependencies[f]) <= (\n                self.num_factors - 1\n            ), f\"Check factor {f} of `B_dependencies` - must be consistent with `num_states` and `num_factors`...\"\n\n        for factor_idx in self.control_fac_idx:\n            assert (\n                self.num_controls[factor_idx] > 1\n            ), \"Control factor (and B matrix) dimensions are not consistent with user-given control_fac_idx\"\n\n        if self.inference_algo == inference.EXACT_METHOD:\n            if self.num_factors != 1:\n                raise ValueError(\"`exact` inference currently supports only a single hidden-state factor\")\n            if len(self.B_dependencies) != 1 or list(self.B_dependencies[0]) != [0]:\n                raise ValueError(\n                    \"Exact inference requires single-factor self-dynamics only \"\n                    \"(i.e. B_dependencies == [[0]])\"\n                )\n            if any(list(deps) != [0] for deps in self.A_dependencies):\n                raise ValueError(\n                    \"Exact inference requires each observation modality to depend only on factor 0 \"\n                    \"(i.e. A_dependencies[m] == [0])\"\n                )\n"
  },
  {
    "path": "pymdp/algos.py",
    "content": "\"\"\"Core variational-inference and exact-HMM algorithm implementations.\n\nThis module contains lower-level routines used by high-level inference/control\nAPIs. Public entry points include fixed-point iteration, message-passing over\nsequences, and exact single-factor scan-based HMM smoothing.\n\"\"\"\n\nimport jax.numpy as jnp\nimport jax.tree_util as jtu\nfrom typing import Any, Callable, NamedTuple, Tuple\nfrom jax import jit, vmap, grad, lax, nn\nfrom jaxtyping import Array\n# from jax.config import config\n# config.update(\"jax_enable_x64\", True)\n\nfrom pymdp.maths import compute_log_likelihood, compute_log_likelihood_per_modality, log_stable, factor_dot, factor_dot_flex, MINVAL\n\ndef add(x: Array, y: Array) -> Array:\n    return x + y\n\n\ndef _matmul_high_precision(lhs: Array, rhs: Array) -> Array:\n    \"\"\"Use the highest available matmul precision on accelerator backends.\"\"\"\n    return jnp.matmul(lhs, rhs, precision=lax.Precision.HIGHEST)\n\ndef marginal_log_likelihood(qs: list[Array], log_likelihood: Array, i: int) -> Array:\n    xs = [q for j, q in enumerate(qs) if j != i]\n    return factor_dot(log_likelihood, xs, keep_dims=(i,))\n\ndef all_marginal_log_likelihood(\n    qs: list[Array], log_likelihoods: list[Array], all_factor_lists: list[list[int]]\n) -> list[Array]:\n    qL_marginals = jtu.tree_map(lambda ll_m, factor_list_m: mll_factors(qs, ll_m, factor_list_m), log_likelihoods, all_factor_lists)\n    \n    num_factors = len(qs)\n\n    # insted of a double loop we could have a list defining m to f mapping\n    # which could be resolved with a single tree_map cast\n    qL_all = [jnp.zeros(1)] * num_factors\n    for m, factor_list_m in enumerate(all_factor_lists):\n        for l, f in enumerate(factor_list_m):\n            qL_all[f] += qL_marginals[m][l]\n\n    return qL_all\n\ndef mll_factors(qs: list[Array], ll_m: Array, factor_list_m: list[int]) -> list[Array]:\n    relevant_factors = [qs[f] for f in factor_list_m]\n    marginal_ll_f = jtu.Partial(marginal_log_likelihood, relevant_factors, ll_m)\n    loc_nf = len(factor_list_m)\n    loc_factors = list(range(loc_nf))\n    return jtu.tree_map(marginal_ll_f, loc_factors)\n\ndef run_vanilla_fpi(\n    A: list[Array],\n    obs: list[Array],\n    prior: list[Array],\n    num_iter: int = 1,\n    distr_obs: bool = True,\n) -> list[Array]:\n    \"\"\" Vanilla fixed point iteration (jaxified) \"\"\"\n\n    nf = len(prior)\n    factors = list(range(nf))\n    # Step 1: Compute log likelihoods for each factor\n    ll = compute_log_likelihood(obs, A, distr_obs=distr_obs)\n    # log_likelihoods = [ll] * nf\n\n    # Step 2: Map prior to log space and create initial log-posterior\n    log_prior = jtu.tree_map(log_stable, prior)\n    log_q = jtu.tree_map(jnp.zeros_like, prior)\n\n    # Step 3: Iterate until convergence\n    def scan_fn(carry: list[Array], t: Array) -> tuple[list[Array], None]:\n        log_q = carry\n        q = jtu.tree_map(nn.softmax, log_q)\n        mll = jtu.Partial(marginal_log_likelihood, q, ll)\n        marginal_ll = jtu.tree_map(mll, factors)\n        log_q = jtu.tree_map(add, marginal_ll, log_prior)\n\n        return log_q, None\n\n    res, _ = lax.scan(scan_fn, log_q, jnp.arange(num_iter))\n\n    # Step 4: Map result to factorised posterior\n    qs = jtu.tree_map(nn.softmax, res)\n    return qs\n\ndef run_factorized_fpi(\n    A: list[Array],\n    obs: list[Array],\n    prior: list[Array],\n    A_dependencies: list[list[int]],\n    num_iter: int = 1,\n    distr_obs: bool = True,\n) -> list[Array]:\n    \"\"\"\n    Run the fixed point iteration algorithm with sparse dependencies between factors and observations (stored in `A_dependencies`)\n    \"\"\"\n\n    # Exact one-pass update for single-factor models.\n    if len(prior) == 1:\n        log_likelihood = compute_log_likelihood(obs, A, distr_obs=distr_obs)\n        log_q = log_likelihood + log_stable(prior[0])\n        return [nn.softmax(log_q, axis=-1)]\n\n    # Step 1: Compute log likelihoods for each factor\n    log_likelihoods = compute_log_likelihood_per_modality(obs, A, distr_obs=distr_obs)\n\n    # Step 2: Map prior to log space and create initial log-posterior\n    log_prior = jtu.tree_map(log_stable, prior)\n    log_q = jtu.tree_map(jnp.zeros_like, prior)\n\n    # Step 3: Iterate until convergence\n    def scan_fn(carry: list[Array], t: Array) -> tuple[list[Array], None]:\n        log_q = carry\n        q = jtu.tree_map(nn.softmax, log_q)\n        marginal_ll = all_marginal_log_likelihood(q, log_likelihoods, A_dependencies)\n        log_q = jtu.tree_map(add, marginal_ll, log_prior)\n\n        return log_q, None\n\n    res, _ = lax.scan(scan_fn, log_q, jnp.arange(num_iter))\n\n    # Step 4: Map result to factorised posterior\n    qs = jtu.tree_map(nn.softmax, res)\n    return qs\n\ndef mirror_gradient_descent_step(\n    tau: float, ln_A: Array, lnB_past: Array, lnB_future: Array, ln_qs: Array\n) -> Array:\n    \"\"\"\n    u_{k+1} = u_{k} - \\nabla_p F_k\n    p_k = softmax(u_k)\n    \"\"\"\n    err = ln_A - ln_qs + lnB_past + lnB_future\n    ln_qs = ln_qs + tau * err\n    qs = nn.softmax(ln_qs - ln_qs.mean(axis=-1, keepdims=True))\n\n    return qs\n\ndef update_marginals(\n    get_messages: Callable[..., tuple[list[Array], list[Array]]],\n    obs: list[Array],\n    A: list[Array],\n    B: list[Array] | None,\n    prior: list[Array],\n    A_dependencies: list[list[int]],\n    B_dependencies: list[list[int]],\n    num_iter: int = 1,\n    tau: float = 1.0,\n    distr_obs: bool = True,\n    obs_valid_mask: Array | None = None,\n    transition_valid_mask: Array | None = None,\n) -> list[Array]:\n    \"\"\" Version of marginal update that uses a sparse dependency matrix for A \"\"\"\n\n    T = obs[0].shape[0]\n    ln_B = None if B is None else jtu.tree_map(log_stable, B)\n    # log likelihoods -> $\\ln(A)$ for all time steps\n    # for $k > t$ we have $\\ln(A) = 0$\n\n    def get_log_likelihood(obs_t: list[Array], A: list[Array]) -> list[Array]:\n       # # mapping over batch dimension\n       # return vmap(compute_log_likelihood_per_modality)(obs_t, A)\n       return compute_log_likelihood_per_modality(obs_t, A, distr_obs=distr_obs)\n\n    # mapping over time dimension of obs array\n    log_likelihoods = vmap(get_log_likelihood, (0, None))(obs, A) # this gives a sequence of log-likelihoods (one for each `t`)\n\n    if obs_valid_mask is not None:\n        obs_valid_mask = obs_valid_mask.astype(log_likelihoods[0].dtype)\n        log_likelihoods = jtu.tree_map(\n            lambda ll: ll * obs_valid_mask.reshape((T,) + (1,) * (ll.ndim - 1)),\n            log_likelihoods,\n        )\n\n    # log marginals -> $\\ln(q(s_t))$ for all time steps and factors\n    ln_qs = jtu.tree_map( lambda p: jnp.broadcast_to(jnp.zeros_like(p), (T,) + p.shape), prior)\n\n    # log prior -> $\\ln(p(s_t))$ for all factors\n    ln_prior = jtu.tree_map(log_stable, prior)\n\n    qs = jtu.tree_map(nn.softmax, ln_qs)\n\n    def scan_fn(carry: list[Array], iter: Array) -> tuple[list[Array], None]:\n        qs = carry\n\n        ln_qs = jtu.tree_map(log_stable, qs)\n        # messages from future $m_+(s_t)$ and past $m_-(s_t)$ for all time steps and factors. For t = T we have that $m_+(s_T) = 0$\n        \n        lnB_future, lnB_past = get_messages(\n            ln_B,\n            B,\n            qs,\n            ln_prior,\n            B_dependencies,\n            transition_valid_mask=transition_valid_mask,\n        )\n\n        mgds = jtu.Partial(mirror_gradient_descent_step, tau)\n\n        ln_As = vmap(all_marginal_log_likelihood, in_axes=(0, 0, None))(qs, log_likelihoods, A_dependencies)\n\n        qs = jtu.tree_map(mgds, ln_As, lnB_past, lnB_future, ln_qs)\n\n        return qs, None\n\n    qs, _ = lax.scan(scan_fn, qs, jnp.arange(num_iter))\n\n    return qs\n\ndef variational_filtering_step(\n    prior: list[Array], Bs: list[Array], ln_As: list[Array], A_dependencies: list[list[int]]\n) -> tuple[list[Array], list[Array], list[Array]]:\n\n    ln_prior = jtu.tree_map(log_stable, prior)\n    \n    #TODO: put this inside scan\n    ####\n    marg_ln_As = all_marginal_log_likelihood(prior, ln_As, A_dependencies)\n\n    # compute posterior q(z_t) -> n x 1 x d\n    post = jtu.tree_map( \n            lambda x, y: nn.softmax(x + y, -1), marg_ln_As, ln_prior \n        )\n    ####\n\n    # compute prediction p(z_{t+1}) = \\int p(z_{t+1}|z_t) q(z_t) -> n x d x 1\n    pred = jtu.tree_map(\n            lambda x, y: jnp.sum(x * jnp.expand_dims(y, -2), -1), Bs, post\n        )\n    \n    # compute reverse conditional distribution q(z_t|z_{t+1})\n    cond = jtu.tree_map(\n        lambda x, y, z: x * jnp.expand_dims(y, -2) / jnp.expand_dims(z, -1),\n        Bs,\n        post, \n        pred\n    )\n\n    return post, pred, cond\n\ndef update_variational_filtering(\n    obs: list[Array],\n    A: list[Array],\n    B: list[Array],\n    prior: list[Array],\n    A_dependencies: list[list[int]],\n    **kwargs: Any,\n) -> tuple[list[Array], list[Array], list[Array]]:\n    \"\"\"Online variational filtering belief update that uses a sparse dependency matrix for A\"\"\"\n\n    obs[0].shape[0]\n    def pad(x: Array) -> Array:\n        npad = [(0, 0)] * jnp.ndim(x)\n        npad[0] = (0, 1)\n        return jnp.pad(x, npad, constant_values=1.)\n    \n    B = jtu.tree_map(pad, B)\n \n    def get_log_likelihood(obs_t: list[Array], A: list[Array]) -> list[Array]:\n        # mapping over batch dimension\n        return vmap(compute_log_likelihood_per_modality)(obs_t, A)\n\n    # mapping over time dimension of obs array\n    log_likelihoods = vmap(get_log_likelihood, (0, None))(obs, A) # this gives a sequence of log-likelihoods (one for each `t`)\n    \n    def scan_fn(carry: tuple[list[Array], list[Array]], iter: tuple[list[Array], list[Array]]) -> tuple[tuple[list[Array], list[Array]], list[Array]]:\n        _, prior = carry\n        Bs, ln_As = iter\n\n        post, pred, cond = variational_filtering_step(prior, Bs, ln_As, A_dependencies)\n        \n        return (post, pred), cond\n\n    init = (prior, prior)\n    iterator = (B, log_likelihoods)\n    # get q_T(s_t), p_T(s_{t+1}) and the history q_{T}(s_{t}|s_{t+1})q_{T-1}(s_{t-1}|s_{t}) ...\n    (qs, ps), qss = lax.scan(scan_fn, init, iterator)\n\n    return qs, ps, qss\n\ndef get_vmp_messages(\n    ln_B: list[Array] | None,\n    B: list[Array] | None,\n    qs: list[Array],\n    ln_prior: list[Array],\n    B_dependencies: list[list[int]],\n    transition_valid_mask: Array | None = None,\n) -> tuple[list[Array], list[Array]]:\n    \n    num_factors = len(qs)\n    factors = list(range(num_factors))\n    get_deps_forw = lambda x, f_idx: [x[f][:-1] for f in f_idx]\n    get_deps_back = lambda x, f_idx: [x[f][1:] for f in f_idx]\n\n    T = qs[0].shape[0]\n    if transition_valid_mask is None:\n        transition_valid_mask = jnp.ones((max(T - 1, 0),), dtype=bool)\n    transition_valid_mask = transition_valid_mask.astype(bool)\n    start_mask = jnp.concatenate(\n        [jnp.ones((1,), dtype=bool), jnp.logical_not(transition_valid_mask)],\n        axis=0,\n    )\n\n    def forward(ln_b: Array, ln_prior: Array, f: int) -> Array:\n        dims = tuple((0, 2 + i) for i in range(len(B_dependencies[f])))\n        msg = factor_dot_flex(ln_b, get_deps_forw(qs, B_dependencies[f]), dims, keep_dims=(0, 1))\n        msg = jnp.where(transition_valid_mask[:, None], msg, 0.0)\n        # Append the prior as the t=0 forward message so the result has length T.\n        # With window masks, start_mask also resets masked boundary timesteps to the prior.\n        msg = jnp.concatenate([jnp.expand_dims(ln_prior, 0), msg], axis=0)\n        prior_msg = jnp.broadcast_to(jnp.expand_dims(ln_prior, 0), msg.shape)\n        return jnp.where(start_mask[:, None], prior_msg, msg)\n    \n    def backward(ln_bs: list[Array], xs: list[Array]) -> Array:\n        msg = 0.0\n        for ln_b, x in zip(ln_bs, xs):\n            msg += vmap(lambda q, b: q @ b)(x, ln_b)\n\n        msg = jnp.where(transition_valid_mask[:, None], msg, 0.0)\n        return jnp.pad(msg, ((0, 1), (0, 0)))\n\n    def marg(inv_deps: list[int], f: int) -> list[Array]:\n        ln_B_marg = []\n        for i in inv_deps:\n            idxs = []\n            dims = []\n            for j, d in enumerate(B_dependencies[i]):\n                if d != f:\n                    idxs.append(d)\n                    dims.append((0, 2 + j))\n\n            if idxs:\n                keep_dims = (0, 1, 2 + B_dependencies[i].index(f))\n                ln_B_marg.append(\n                    factor_dot_flex(\n                        ln_B[i],\n                        get_deps_forw(qs, idxs),\n                        tuple(dims),\n                        keep_dims=keep_dims,\n                    )\n                )\n            else:\n                ln_B_marg.append(ln_B[i])\n\n        return ln_B_marg\n\n    if ln_B is not None:\n        inv_B_deps = [[i for i, deps in enumerate(B_dependencies) if f in deps] for f in factors]\n        ln_B_marg = jtu.tree_map(lambda f: marg(inv_B_deps[f], f), factors)\n        lnB_future = jtu.tree_map(forward, ln_B, ln_prior, factors)\n        lnB_past = jtu.tree_map(\n            lambda f: backward(ln_B_marg[f], get_deps_back(qs, inv_B_deps[f])),\n            factors,\n        )\n    else:\n        lnB_future = jtu.tree_map(lambda x: 0., qs)\n        lnB_past = jtu.tree_map(lambda x: 0., qs)\n    \n    return lnB_future, lnB_past \n\ndef run_vmp(\n    A: list[Array],\n    B: list[Array] | None,\n    obs: list[Array],\n    prior: list[Array],\n    A_dependencies: list[list[int]],\n    B_dependencies: list[list[int]],\n    num_iter: int = 1,\n    tau: float = 1.0,\n    distr_obs: bool = True,\n    obs_valid_mask: Array | None = None,\n    transition_valid_mask: Array | None = None,\n) -> list[Array]:\n    \"\"\"Run variational message passing over a sequence window.\n\n    Parameters are identical to :func:`run_mmp`.\n\n    Returns\n    -------\n    list[Array]\n        Sequence posterior beliefs per hidden-state factor (same structure as\n        :func:`run_mmp`).\n    \"\"\"\n\n    qs = update_marginals(\n        get_vmp_messages,\n        obs,\n        A,\n        B,\n        prior,\n        A_dependencies,\n        B_dependencies,\n        num_iter=num_iter,\n        tau=tau,\n        distr_obs=distr_obs,\n        obs_valid_mask=obs_valid_mask,\n        transition_valid_mask=transition_valid_mask,\n    )\n    return qs\n\ndef get_mmp_messages(\n    ln_B: list[Array] | None,\n    B: list[Array] | None,\n    qs: list[Array],\n    ln_prior: list[Array],\n    B_deps: list[list[int]],\n    transition_valid_mask: Array | None = None,\n) -> tuple[list[Array], list[Array]]:\n    \n    num_factors = len(qs)\n    factors = list(range(num_factors))\n\n    get_deps_forw = lambda x, f_idx: [x[f][:-1] for f in f_idx]\n    get_deps_back = lambda x, f_idx: [x[f][1:] for f in f_idx]\n\n    T = qs[0].shape[0]\n    if transition_valid_mask is None:\n        transition_valid_mask = jnp.ones((max(T - 1, 0),), dtype=bool)\n    transition_valid_mask = transition_valid_mask.astype(bool)\n    start_mask = jnp.concatenate(\n        [jnp.ones((1,), dtype=bool), jnp.logical_not(transition_valid_mask)],\n        axis=0,\n    )\n    outgoing_valid = jnp.concatenate(\n        [transition_valid_mask, jnp.zeros((1,), dtype=bool)],\n        axis=0,\n    )\n\n    def forward(b: Array, ln_prior: Array, f: int) -> Array:\n        xs = get_deps_forw(qs, B_deps[f])\n        dims = tuple((0, 2 + i) for i in range(len(B_deps[f])))\n        msg = log_stable(factor_dot_flex(b, xs, dims, keep_dims=(0, 1) ))\n        msg = jnp.where(transition_valid_mask[:, None], msg, 0.0)\n        # Append the prior as the t=0 forward message so the result has length T.\n        # With window masks, start_mask also resets masked boundary timesteps to the prior.\n        msg = jnp.concatenate([jnp.expand_dims(ln_prior, 0), msg], axis=0)\n        prior_msg = jnp.broadcast_to(jnp.expand_dims(ln_prior, 0), msg.shape)\n        msg = jnp.where(start_mask[:, None], prior_msg, msg)\n        # In MMP each valid transition contributes via both forward and backward terms.\n        # We assign half-weight here (and half in backward below) so each edge is counted once.\n        msg = msg * jnp.where(outgoing_valid[:, None], 0.5, 1.0)\n        return msg\n    \n    def backward(Bs: list[Array], xs: list[Array]) -> Array:\n        msg = 0.\n        for i, b in enumerate(Bs):\n            b_norm = b / jnp.clip(b.sum(-1, keepdims=True), min=MINVAL)\n            # Complementary half-weight to the forward pass above.\n            msg += log_stable(vmap(lambda x, y: y @ x)(b_norm, xs[i])) * .5\n\n        msg = jnp.where(transition_valid_mask[:, None], msg, 0.0)\n        return jnp.pad(msg, ((0, 1), (0, 0)))\n\n    def marg(inv_deps: list[int], f: int) -> list[Array]:\n        B_marg = []\n        for i in inv_deps:\n            b = B[i]\n            keep_dims = (0, 1, 2 + B_deps[i].index(f))\n            dims = []\n            idxs = []\n            for j, d in enumerate(B_deps[i]):\n                if f != d:\n                    dims.append((0, 2 + j))\n                    idxs.append(d)\n            xs = get_deps_forw(qs, idxs)\n            B_marg.append( factor_dot_flex(b, xs, tuple(dims), keep_dims=keep_dims) )\n        \n        return B_marg\n\n    if B is not None:\n        inv_B_deps = [[i for i, d in enumerate(B_deps) if f in d] for f in factors]\n        B_marg = jtu.tree_map(lambda f: marg(inv_B_deps[f], f), factors)\n        lnB_future = jtu.tree_map(forward, B, ln_prior, factors) \n        lnB_past = jtu.tree_map(lambda f: backward(B_marg[f], get_deps_back(qs, inv_B_deps[f])), factors)\n    else: \n        lnB_future = jtu.tree_map(lambda x: jnp.expand_dims(x, 0), ln_prior)\n        lnB_past = jtu.tree_map(lambda x: 0., qs)\n\n    return lnB_future, lnB_past\n\ndef run_mmp(\n    A: list[Array],\n    B: list[Array] | None,\n    obs: list[Array],\n    prior: list[Array],\n    A_dependencies: list[list[int]],\n    B_dependencies: list[list[int]],\n    num_iter: int = 1,\n    tau: float = 1.0,\n    distr_obs: bool = True,\n    obs_valid_mask: Array | None = None,\n    transition_valid_mask: Array | None = None,\n) -> list[Array]:\n    \"\"\"Run marginal message passing over a sequence window.\n\n    Parameters\n    ----------\n    A : list[Array]\n        Model likelihood tensors.\n    B : list[Array] | None\n        Transition tensors (or `None` for static-state models).\n    obs : list[Array]\n        Observation sequence per modality.\n    prior : list[Array]\n        Sequence prior over hidden states.\n    A_dependencies : list[list[int]]\n        Sparse observation dependencies per modality.\n    B_dependencies : list[list[int]]\n        Sparse transition dependencies per factor.\n    num_iter : int, default=1\n        Number of variational update iterations.\n    tau : float, default=1.0\n        Mirror-descent step size.\n    distr_obs : bool, default=True\n        Whether observations are already distributional.\n    obs_valid_mask : Array | None, optional\n        Optional validity mask for padded observation windows.\n    transition_valid_mask : Array | None, optional\n        Optional validity mask for transitions in padded windows.\n\n    Returns\n    -------\n    list[Array]\n        Sequence posterior beliefs per hidden-state factor.\n    \"\"\"\n    qs = update_marginals(\n        get_mmp_messages,\n        obs,\n        A,\n        B,\n        prior,\n        A_dependencies,\n        B_dependencies,\n        num_iter=num_iter,\n        tau=tau,\n        distr_obs=distr_obs,\n        obs_valid_mask=obs_valid_mask,\n        transition_valid_mask=transition_valid_mask,\n    )\n    return qs\n\ndef run_online_filtering(\n    A: list[Array],\n    B: list[Array],\n    obs: list[Array],\n    prior: list[Array],\n    A_dependencies: list[list[int]],\n    num_iter: int = 1,\n    tau: float = 1.0,\n) -> list[Array]:\n    \"\"\"Runs online filtering (HAVE TO REPLACE WITH OVF CODE)\"\"\"\n    qs = update_marginals(get_mmp_messages, obs, A, B, prior, A_dependencies, num_iter=num_iter, tau=tau)\n    return qs \n\n\n# Infer states hybrid & hybrid block\n\ndef run_factorized_fpi_hybrid(\n    log_likelihoods: list[Array],\n    prior: list[Array],\n    A_dependencies: list[list[int]],\n    num_iter: int,\n) -> list[Array]:\n    \n    log_prior = jtu.tree_map(log_stable, prior)\n    log_q = jtu.tree_map(jnp.zeros_like, prior)\n\n    def scan_fn(carry: list[Array], t: Array) -> tuple[list[Array], None]:\n        log_q = carry\n        q = jtu.tree_map(nn.softmax, log_q)\n        marginal_ll = all_marginal_log_likelihood(q, log_likelihoods, A_dependencies)\n        log_q = jtu.tree_map(add, marginal_ll, log_prior)\n        return log_q, None\n\n    res, _ = lax.scan(scan_fn, log_q, jnp.arange(num_iter))\n    qs = jtu.tree_map(nn.softmax, res)\n    \n    return jtu.tree_map(lambda x: jnp.expand_dims(x, 0), qs)\n\n# Infer states end2end padded\n\ndef get_qs_padded(qs: list[Array], max_state_dim: int) -> list[Array]:\n    qs_padded = []\n    for q in qs:\n        qs_padded.append(jnp.zeros((q.shape[0], max_state_dim)).at[:, 0:q.shape[1]].set(q))\n    return qs_padded\n\ndef compute_qL_marginals(\n    lls_padded: Array, qs_padded: list[Array], A_dependencies: list[list[int]], max_state_dim: int\n) -> list[list[Array]]:\n\n    dp_dict = {}\n    qL_marginals_padded = [[] for i in range(len(A_dependencies))]\n    \n    for i, A_dep in enumerate(A_dependencies):\n    \n        if len(A_dep) == 1:\n            \n            qL_marginals_padded[i].append(lls_padded[i])\n    \n        else:\n            \n            for j in range(len(A_dep)):\n    \n                axes_factors = tuple((axis, factor) for axis, factor in enumerate(A_dep) if j != axis)\n    \n                existing_key = None\n                for sublen in range(len(axes_factors), 0, -1):\n                    if axes_factors[:sublen] in dp_dict:\n                        existing_key = axes_factors[:sublen]\n                        break\n    \n                new_key = () if existing_key is None else existing_key\n                offset = 0 if existing_key is None else len(existing_key)\n                curr_prod = lls_padded if existing_key is None else dp_dict[existing_key]\n                \n                for axis, factor in axes_factors[offset:]:\n                    new_key = new_key + ((axis, factor),)\n                    q_reshaped = qs_padded[factor].reshape(\n                        [1, lls_padded.shape[1]] + [max_state_dim if k == axis else 1 for k in range(lls_padded.ndim - 2)]\n                    )\n                    curr_prod = curr_prod * q_reshaped\n                    dp_dict[new_key] = curr_prod\n\n                qL_marginals_padded[i].append(\n                    dp_dict[axes_factors][i].sum(\n                        axis=[axis + 1 for axis, _ in axes_factors]\n                    )\n                )\n\n    return qL_marginals_padded\n\ndef qL_flatten(qL_marginals_padded: list[list[Array]]) -> list[list[Array]]:\n    \n    qL_marginals = []\n    for _qs in qL_marginals_padded:\n        qL_marginals.append([])\n        for _q in _qs:\n            idx = (slice(0, _q.shape[0]), slice(0, _q.shape[1])) + tuple(0 for _ in range(_q.ndim - 2))\n            qL_marginals[-1].append(_q[idx])\n            \n    return qL_marginals\n\ndef compute_qL_all(\n    qL_marginals: list[list[Array]], A_dependencies: list[list[int]], num_factors: int\n) -> list[Array]:\n\n    qL_all = [jnp.zeros_like(qL_marginals[0][0])] * num_factors\n    \n    for m, factor_list_m in enumerate(A_dependencies):\n        for l, f in enumerate(factor_list_m):\n            qL_all[f] += qL_marginals[m][l]\n\n    return qL_all\n\ndef run_factorized_fpi_end2end_padded(\n    lls_padded: Array,\n    prior: list[Array],\n    A_dependencies: list[list[int]],\n    max_obs_dim: int,\n    max_state_dim: int,\n    num_iter: int,\n) -> list[Array]:\n    \n    log_prior = jtu.tree_map(log_stable, prior)\n    log_q = jtu.tree_map(jnp.zeros_like, prior)\n\n    def scan_fn(carry: list[Array], t: Array) -> tuple[list[Array], None]:\n        \n        log_q = carry\n        q = jtu.tree_map(nn.softmax, log_q)\n        \n        qs_padded = get_qs_padded(q, max_state_dim)\n        qL_marginals_padded = compute_qL_marginals(lls_padded, qs_padded, A_dependencies, max_state_dim)\n        qL_flat = qL_flatten(qL_marginals_padded)\n        qL_all = compute_qL_all(qL_flat, A_dependencies, len(q))\n        \n        log_q = jtu.tree_map(lambda q, lp: q[:, 0:lp.shape[1]] + lp, qL_all, log_prior)\n        \n        return log_q, None\n\n    res, _ = lax.scan(scan_fn, log_q, jnp.arange(num_iter))\n    qs = jtu.tree_map(nn.softmax, res)\n\n    return jtu.tree_map(lambda x: jnp.expand_dims(x, 1), qs)\n\nclass FilterMessage(NamedTuple):\n    # A: conditional transition-like matrix for the segment\n    A: Array      # (..., K, K)\n    # log_b: log normalizer term (per left-boundary state)\n    log_b: Array  # (..., K)\n\n\ndef _normalize_preserve_zeros(u: Array,\n                              axis: int = -1,\n                              eps: float = 1e-15) -> Tuple[Array, Array]:\n    \"\"\"\n    Normalize along `axis` while preserving exact structural zeros and flooring tiny\n    positive values to improve gradient stability in near-degenerate regimes.\n\n    Returns normalized tensor and the (safe) normalization factor with `axis` squeezed.\n    \"\"\"\n    eps = jnp.asarray(eps, dtype=u.dtype)\n    u_safe = jnp.where(u == 0, 0, jnp.where(u < eps, eps, u))\n    c = jnp.sum(u_safe, axis=axis, keepdims=True)\n    c_safe = jnp.where(c == 0, jnp.ones_like(c), c)\n    return u_safe / c_safe, jnp.squeeze(c_safe, axis=axis)\n\n\ndef _log_predictive_normalizer(predicted_probs: Array,\n                               log_likelihoods: Array) -> Array:\n    \"\"\"\n    Compute log c_t = log p(x_t | x_{1:t-1}) in a stable way for each timestep.\n    \"\"\"\n    ll_max = jnp.max(log_likelihoods, axis=-1, keepdims=True)\n    stable_weights = jnp.exp(log_likelihoods - ll_max)\n    return log_stable(jnp.sum(predicted_probs * stable_weights, axis=-1)) + ll_max.squeeze(-1)\n\ndef _condition_on(A: Array,\n                  ll: Array,\n                  axis: int = -1) -> Tuple[Array, Array]:\n    \"\"\"\n    Condition a transition-like object A on log-likelihood ll in a numerically stable way.\n\n    Works for:\n      - A shape (K,) with ll shape (K,)   (initial probs)\n      - A shape (K,K) with ll shape (K,)  (transition rows/cols)\n      - and batched versions via broadcasting when ll is 1D.\n    \"\"\"\n    ll = jnp.asarray(ll)\n    ll_max = jnp.max(ll, axis=-1)\n    w = jnp.exp(ll - ll_max)\n\n    if A.ndim == 1:\n        A_cond, norm = _normalize_preserve_zeros(A * w, axis=0)\n        return A_cond, log_stable(norm) + ll_max\n\n    axis = axis if axis >= 0 else A.ndim + axis\n    shape = [1] * A.ndim\n    shape[axis] = w.shape[-1]\n    w_b = w.reshape(shape)\n\n    A_cond, norm = _normalize_preserve_zeros(A * w_b, axis=axis)\n    return A_cond, log_stable(norm) + ll_max\n\n\ndef _hmm_filter_scan_row_oriented(\n    initial_probs: Array,\n    transition_mats: Array,\n    log_likelihoods: Array,\n) -> tuple[Array, Array, Array]:\n    \"\"\"\n    Core row-oriented HMM filtering via associative scan.\n\n    Parameters\n    ----------\n    initial_probs:\n        Initial state distribution `p(s_0)` with shape `(K,)`.\n    transition_mats:\n        Transition tensors with row orientation `p(s_{t+1}=j | s_t=i)`.\n        Can be `(K, K)` or `(T-1, K, K)`.\n    log_likelihoods:\n        Log likelihoods `log p(o_t | s_t)` with shape `(T, K)`.\n\n    Returns\n    -------\n    marginal_loglik:\n        Scalar `log p(o_{1:T})`.\n    filtered_probs:\n        `(T, K)` filtered beliefs `p(s_t | o_{1:t})`.\n    predicted_probs:\n        `(T, K)` one-step-ahead predictive prior\n        `p(s_t | o_{1:t-1})` with `predicted_probs[0] = initial_probs`.\n    \"\"\"\n    T, K = log_likelihoods.shape\n    if transition_mats.ndim == 2:\n        # Use identical transition matrix for all timesteps when stationary.\n        transition_mats = jnp.broadcast_to(transition_mats, (T - 1, K, K))\n\n    @vmap\n    def _marginalize(\n        m_ij: FilterMessage, m_jk: FilterMessage\n    ) -> FilterMessage:\n        # Combine segment i->j with segment j->k by summing out the intermediate state.\n        A_ij_cond, lognorm = _condition_on(m_ij.A, m_jk.log_b)\n        A_ik = _matmul_high_precision(A_ij_cond, m_jk.A)\n        log_b_ik = m_ij.log_b + lognorm\n        return FilterMessage(A=A_ik, log_b=log_b_ik)\n\n    A0_vec, log_b0_scalar = _condition_on(initial_probs, log_likelihoods[0])\n    A0 = jnp.broadcast_to(A0_vec, (K, K))\n    log_b0 = jnp.broadcast_to(log_b0_scalar, (K,))\n    A1T, log_b1T = vmap(_condition_on, in_axes=(0, 0))(transition_mats, log_likelihoods[1:])\n\n    partial = lax.associative_scan(\n        _marginalize,\n        FilterMessage(\n            A=jnp.concatenate([A0[None, :, :], A1T], axis=0),\n            log_b=jnp.concatenate([log_b0[None, :], log_b1T], axis=0),\n        ),\n    )\n\n    marginal_loglik = partial.log_b[-1, 0]\n    filtered_probs = partial.A[:, 0, :]\n\n    if T == 1:\n        predicted_probs = initial_probs[None, :]\n    else:\n        pred_next = vmap(_matmul_high_precision)(filtered_probs[:-1], transition_mats)\n        predicted_probs = jnp.concatenate([initial_probs[None, :], pred_next], axis=0)\n\n    return marginal_loglik, filtered_probs, predicted_probs\n\n\ndef hmm_filter_scan_rowstoch(\n    initial_probs: Array,\n    transition_mats: Array,\n    log_likelihoods: Array,\n) -> tuple[Array, Array, Array]:\n    \"\"\"\n    Exact HMM filtering via `lax.associative_scan` for row-stochastic transitions.\n\n    This variant uses the standard row-stochastic convention\n    `transition_mats[t, i, j] = p(z_{t+1}=j | z_t=i)`.\n\n    Parameters\n    ------\n    initial_probs:\n        Initial state distribution `p(s_0)`.\n    transition_mats:\n        Row-stochastic transitions, stationary `(K, K)` or time-varying\n        `(T-1, K, K)`.\n    log_likelihoods:\n        Sequence log likelihoods with shape `(T, K)`.\n\n    Returns\n    -------\n    (marginal_loglik, filtered_probs, predicted_probs)\n    \"\"\"\n    return _hmm_filter_scan_row_oriented(initial_probs, transition_mats, log_likelihoods)\n\n\ndef _hmm_smoother_scan_row_oriented(\n    initial_probs: Array,\n    transition_mats: Array,\n    log_likelihoods: Array,\n) -> tuple[Array, Array, Array, Array, Array, Array]:\n    \"\"\"\n    Core row-oriented HMM filtering + smoothing via associative scans.\n\n    Computes:\n    - filtered marginals using the forward scan\n    - smoothed marginals with a suffix scan\n    - pairwise transition posteriors `p(s_t, s_{t+1} | o_{1:T})`\n    - `p(s_t | s_{t+1}, o_{1:T})` in pymdp-style conditional orientation\n    \"\"\"\n    T, K = log_likelihoods.shape\n    marginal_loglik, filtered, predicted = _hmm_filter_scan_row_oriented(\n        initial_probs, transition_mats, log_likelihoods\n    )\n\n    # log-normaliser c_t = p(o_t | o_{1:t-1}), used to stabilize backward factors.\n    log_c = _log_predictive_normalizer(predicted, log_likelihoods)\n    if T == 1:\n        beta = jnp.ones((1, K))\n    else:\n        # Build backward matrices M_t = A_t * diag(exp(ll_{t+1} - c_{t+1}))\n        # that propagate the vector beta_{t+1} -> beta_t.\n        col_scale = jnp.exp(log_likelihoods[1:] - log_c[1:][:, None])\n        M = transition_mats * col_scale[:, None, :]\n\n        def op(x: Array, y: Array) -> Array:\n            # batched matmul works; associative_scan may call this with leading batch dims\n            return _matmul_high_precision(y, x)\n\n        # suffix-style associative scan via reverse + reverse-back\n        beta = lax.associative_scan(op, M[::-1])[::-1]\n        beta = vmap(lambda P_t: _matmul_high_precision(P_t, jnp.ones((K,))))(beta)\n        beta = jnp.concatenate([beta, jnp.ones((1, K))], axis=0)\n\n    # p(s_t | o_{1:T}) = p(s_t | o_{1:t}) * beta_t\n    smoothed = filtered * beta\n    smoothed = smoothed / jnp.clip(jnp.sum(smoothed, axis=-1, keepdims=True), min=MINVAL)\n\n    if T == 1:\n        trans_probs = jnp.zeros((0, K, K))\n        cond_probs = jnp.zeros((0, K, K))\n    else:\n        xi = (\n            filtered[:-1, :, None] *\n            transition_mats *\n            col_scale[:, None, :] *\n            beta[1:, None, :]\n        )\n        xi = xi / jnp.clip(jnp.sum(xi, axis=(1, 2), keepdims=True), min=MINVAL)\n        trans_probs = xi\n        cond_probs = xi.transpose(0, 2, 1) / jnp.clip(smoothed[1:, :, None], min=MINVAL)\n\n    return marginal_loglik, filtered, predicted, smoothed, trans_probs, cond_probs\n\n\ndef hmm_smoother_scan_rowstoch(\n    initial_probs: Array,\n    transition_mats: Array,\n    log_likelihoods: Array,\n) -> tuple[Array, Array, Array, Array, Array, Array]:\n    \"\"\"\n    Exact HMM filtering + smoothing via associative scans for row-stochastic transitions.\n\n    Parameters\n    ------\n    initial_probs:\n        Initial distribution `p(s_0)`.\n    transition_mats:\n        Row-stochastic transitions, stationary `(K, K)` or time-varying `(T-1, K, K)`.\n    log_likelihoods:\n        `(T, K)` log-likelihood matrix.\n\n    Returns\n    -------\n    (marginal_loglik, filtered_probs, predicted_probs, smoothed_probs, trans_probs, cond_probs)\n    \"\"\"\n    return _hmm_smoother_scan_row_oriented(\n        initial_probs, transition_mats, log_likelihoods\n    )\n\n\ndef hmm_filter_scan_colstoch(\n    initial_probs: Array,\n    B_mats: Array,\n    log_likelihoods: Array,\n) -> tuple[Array, Array, Array]:\n    \"\"\"\n    Exact HMM filtering via `lax.associative_scan` for column-stochastic transitions.\n\n    This is the pymdp-native transition orientation:\n    `B_mats[t, j, i] = p(z_{t+1}=j | z_t=i)`.\n\n    Parameters\n    ------\n    initial_probs:\n        Initial distribution `p(s_0)`.\n    B_mats:\n        Column-stochastic transitions, stationary `(K, K)` or time-varying `(T-1, K, K)`.\n    log_likelihoods:\n        `(T, K)` log-likelihood matrix.\n\n    Returns\n    -------\n    (marginal_loglik, filtered_probs, predicted_probs)\n    \"\"\"\n    return _hmm_filter_scan_row_oriented(\n        initial_probs,\n        jnp.swapaxes(B_mats, -1, -2),\n        log_likelihoods,\n    )\n\n\ndef hmm_smoother_scan_colstoch(\n    initial_probs: Array,\n    B_mats: Array,\n    log_likelihoods: Array,\n    return_trans_probs: bool = False,\n) -> tuple[Any, ...]:\n    \"\"\"\n    Exact HMM filtering + smoothing via associative scans for column-stochastic transitions.\n\n    Parameters\n    ------\n    initial_probs:\n        Initial distribution `p(s_0)`.\n    B_mats:\n        Column-stochastic transitions, stationary `(K, K)` or time-varying `(T-1, K, K)`.\n        In this orientation `B_mats[t, j, i] = p(s_{t+1}=j | s_t=i)`.\n    log_likelihoods:\n        `(T, K)` log-likelihood matrix.\n    return_trans_probs:\n        If `True`, includes pairwise transition posterior\n        `p(s_t, s_{t+1} | o_{1:T})`.\n\n    Returns\n    -------\n    tuple\n        If `return_trans_probs=False`, returns\n        `(marginal_loglik, filtered_probs, predicted_probs, smoothed_probs, cond_probs)`.\n        If `True`, returns\n        `(marginal_loglik, filtered_probs, predicted_probs, smoothed_probs, trans_probs, cond_probs)`.\n    \"\"\"\n    marginal_loglik, filtered_probs, predicted_probs = hmm_filter_scan_colstoch(\n        initial_probs,\n        B_mats,\n        log_likelihoods,\n    )\n    smoothed_probs, _, cond_probs, trans_probs = hmm_smoother_from_filtered_colstoch(\n        filtered_probs,\n        B_mats,\n        return_trans_probs=True,\n    )\n\n    if return_trans_probs:\n        return (\n            marginal_loglik,\n            filtered_probs,\n            predicted_probs,\n            smoothed_probs,\n            trans_probs,\n            cond_probs,\n        )\n    return (\n        marginal_loglik,\n        filtered_probs,\n        predicted_probs,\n        smoothed_probs,\n        cond_probs,\n    )\n\n\ndef hmm_smoother_from_filtered_colstoch(\n    filtered_probs: Array,\n    B_mats: Array,\n    return_trans_probs: bool = False,\n) -> tuple[Any, ...]:\n    \"\"\"\n    Exact HMM smoothing from precomputed filtering marginals for column-stochastic transitions.\n\n    This routine is intended for online agent loops where filtering is computed one step at a\n    time during observe-infer-act cycles, and backward smoothing is only needed at learning time.\n\n    Args\n    ----\n    filtered_probs:\n        `(T, K)` filtering marginals with `filtered_probs[t] = p(z_t | x_{1:t})`.\n    B_mats:\n        - `(K_next, K_curr)` stationary column-stochastic transitions, or\n        - `(T-1, K_next, K_curr)` time-varying transitions.\n    return_trans_probs:\n        If `True`, also return pairwise posteriors in `(T-1, K_curr, K_next)` orientation.\n\n    Returns\n    -------\n    Always returned:\n        smoothed_probs: `(T, K)` with `p(z_t | x_{1:T})`.\n        joint_next_curr: `(T-1, K_next, K_curr)` with\n            `joint_next_curr[t, j, i] = p(z_{t+1}=j, z_t=i | x_{1:T})`.\n        cond_probs: `(T-1, K_next, K_curr)` with\n            `cond_probs[t, j, i] = p(z_t=i | z_{t+1}=j, x_{1:T})`.\n    Additionally returned when `return_trans_probs=True`:\n        trans_probs: `(T-1, K_curr, K_next)` with\n            `trans_probs[t, i, j] = p(z_t=i, z_{t+1}=j | x_{1:T})`.\n    \"\"\"\n    T, K = filtered_probs.shape\n\n    if B_mats.ndim == 2:\n        B_mats = jnp.broadcast_to(B_mats, (max(T - 1, 0), K, K))\n    elif B_mats.ndim == 3:\n        expected_steps = max(T - 1, 0)\n        if B_mats.shape[0] != expected_steps:\n            raise ValueError(\n                f\"B_mats has leading dimension {B_mats.shape[0]}, expected {expected_steps} for T={T}\"\n            )\n    else:\n        raise ValueError(\"B_mats must be 2D or 3D\")\n\n    if T == 1:\n        smoothed = filtered_probs\n        joint_next_curr = jnp.zeros((0, K, K))\n        cond_probs = jnp.zeros((0, K, K))\n        trans_probs = jnp.zeros((0, K, K))\n        if return_trans_probs:\n            return smoothed, joint_next_curr, cond_probs, trans_probs\n        return smoothed, joint_next_curr, cond_probs\n\n    predicted_next = vmap(_matmul_high_precision)(B_mats, filtered_probs[:-1])  # (T-1, K_next)\n\n    cond_probs = (\n        B_mats * filtered_probs[:-1][:, None, :]\n    ) / jnp.clip(predicted_next[:, :, None], min=MINVAL)  # (T-1, K_next, K_curr)\n\n    # smoothed_t = cond_t^T @ smoothed_{t+1}\n    M = cond_probs.transpose(0, 2, 1)  # (T-1, K_curr, K_next)\n    R = M[::-1]\n\n    def op(x: Array, y: Array) -> Array:\n        return _matmul_high_precision(y, x)\n\n    P_rev = lax.associative_scan(op, R)  # cumulative products from the end\n    P = P_rev[::-1]\n\n    q_last = filtered_probs[-1]\n    smoothed_prefix = vmap(lambda P_t: _matmul_high_precision(P_t, q_last))(P)  # (T-1, K)\n    smoothed = jnp.concatenate([smoothed_prefix, q_last[None, :]], axis=0)\n    smoothed = smoothed / jnp.clip(jnp.sum(smoothed, axis=-1, keepdims=True), min=MINVAL)\n\n    joint_next_curr = cond_probs * smoothed[1:, :, None]  # (T-1, K_next, K_curr)\n    trans_probs = joint_next_curr.transpose(0, 2, 1)  # (T-1, K_curr, K_next)\n\n    if return_trans_probs:\n        return smoothed, joint_next_curr, cond_probs, trans_probs\n    return smoothed, joint_next_curr, cond_probs\n\ndef run_exact_single_factor_hmm_scan(\n    obs: list[Array],\n    A: list[Array],\n    B: list[Array],\n    prior: list[Array],\n    actions: Array | None = None,\n    distr_obs: bool = True,\n) -> tuple[Array, list[Array], list[Array], list[Array]]:\n    \"\"\"\n    pymdp-style single-factor wrapper around the column-stochastic scan smoother.\n\n    Notes\n    -----\n    - `A`, `B`, and `prior` are expected as singleton lists (one hidden-state factor).\n    - `B[0]` must be in pymdp-native column-stochastic orientation:\n      `(K_next, K_curr[, n_actions])` (no transpose required).\n    - Returns `(mll, qs, ps, qss)` with `qss[0]` equal to\n      `p(z_t | z_{t+1}, x_{1:T})` in `(T-1, K_next, K_curr)` orientation.\n    \"\"\"\n    if len(prior) != 1 or len(B) != 1:\n        raise ValueError(\"run_exact_single_factor_hmm_scan expects singleton lists for prior and B\")\n\n    T = obs[0].shape[0]\n    pi = prior[0]              # (K,)\n    B0 = B[0]                  # (K_next, K_curr[, n_actions]) or (T-1, K_next, K_curr)\n    K = pi.shape[0]\n\n    if B0.ndim == 2:\n        B_seq = B0\n    elif B0.ndim == 3:\n        looks_time_varying = B0.shape[0] == max(T - 1, 0) and B0.shape[1] == K and B0.shape[2] == K\n        if actions is not None:\n            actions = jnp.asarray(actions)\n            if actions.ndim == 2:\n                if actions.shape[-1] == 1:\n                    actions = actions[:, 0]\n                else:\n                    raise ValueError(\"single-factor scan expects actions with shape (T-1,) or (T-1, 1)\")\n            if actions.ndim != 1:\n                raise ValueError(\"single-factor scan expects actions with shape (T-1,) or (T-1, 1)\")\n            if actions.shape[0] != max(T - 1, 0):\n                raise ValueError(\n                    f\"actions has length {actions.shape[0]} but expected {max(T - 1, 0)} for T={T}\"\n                )\n            B_seq = vmap(lambda u: B0[:, :, u])(actions.astype(jnp.int32))  # (T-1, K_next, K_curr)\n        elif looks_time_varying:\n            B_seq = B0\n        elif T <= 1:\n            # No transition is needed when there is only one observation.\n            B_seq = B0[:, :, 0]\n        else:\n            raise ValueError(\n                \"actions must be provided when B has an action dimension and T > 1\"\n            )\n    else:\n        raise ValueError(\"B[0] must be 2D or 3D\")\n\n    # log_likelihoods[t] = log p(o_t | z_t)  => (T, K)\n    # vmap over time dimension of obs pytree\n    ll = vmap(lambda obs_t: compute_log_likelihood(obs_t, A, distr_obs=distr_obs))(obs)\n\n    mll, q_filt, q_pred, q_smooth, q_t_given_next = hmm_smoother_scan_colstoch(pi, B_seq, ll)\n\n    # Return in pymdp-ish packaging (list per factor)\n    qs = [q_smooth]\n    ps = [q_pred]\n    qss = [q_t_given_next]   # shape (T-1, K_next, K_curr)\n\n    return mll, qs, ps, qss\n\n\nif __name__ == \"__main__\":\n    prior = [jnp.ones(2)/2, jnp.ones(2)/2, nn.softmax(jnp.array([0, -80., -80., -80, -80.]))]\n    obs = [nn.one_hot(0, 5), nn.one_hot(5, 10)]\n    A = [jnp.ones((5, 2, 2, 5))/5, jnp.ones((10, 2, 2, 5))/10]\n    \n    qs = jit(run_vanilla_fpi)(A, obs, prior)\n\n    # test if differentiable\n\n    def sum_prod(prior: list[Array]) -> Array:\n        qs = jnp.concatenate(run_vanilla_fpi(A, obs, prior))\n        return (qs * log_stable(qs)).sum()\n\n    print(jit(grad(sum_prod))(prior))\n\n    # def sum_prod(precision):\n    #     # prior = [jnp.ones(2)/2, jnp.ones(2)/2, nn.softmax(log_prior)]\n    #     prior = [jnp.ones(2)/2, jnp.ones(2)/2, nn.softmax(precision*nn.one_hot(0, 5))]\n    #     qs = jnp.concatenate(run_vanilla_fpi(A, obs, prior))\n    #     return (qs * log_stable(qs)).sum()\n\n    # precis_to_test = 1.\n    # print(jit(grad(sum_prod))(precis_to_test))\n\n    # log_prior = jnp.array([0, -80., -80., -80, -80.])\n    # print(jit(grad(sum_prod))(log_prior))\n"
  },
  {
    "path": "pymdp/control.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n# pylint: disable=no-member\n# pylint: disable=not-an-iterable\n\"\"\"Policy construction, expected free energy, and action sampling utilities.\"\"\"\n\nimport itertools\nimport jax.numpy as jnp\nimport jax.tree_util as jtu\nfrom typing import Sequence\nfrom functools import partial\nfrom jax import lax, vmap, nn\nfrom jax import random as jr\nfrom jaxtyping import Array\n\nimport equinox as eqx\n\nfrom pymdp.maths import factor_dot, log_stable, stable_entropy, stable_xlogx, spm_wnorm\nfrom pymdp import utils\n\nclass Policies(eqx.Module):\n    \"\"\" \n    A class for storing an array of policies and its properties\n    \n    \"\"\"\n    policy_arr: Array\n    horizon: int = eqx.field(static=True)\n    num_policies: int = eqx.field(static=True)\n\n    def __init__(self, policy_arr: Array) -> None:\n        self.num_policies = policy_arr.shape[0]\n        self.horizon = policy_arr.shape[1]\n        self.policy_arr = policy_arr\n    \n    def __getitem__(self, idx: int) -> Array:\n        return self.policy_arr[idx]\n    \n    def __len__(self) -> int:\n        return self.num_policies\n    \ndef get_marginals(q_pi: Array, policies: Array, num_controls: Sequence[int]) -> list[Array]:\n    \"\"\"\n    Computes the marginal posterior(s) over actions by integrating their posterior probability under the policies that they appear within.\n\n    Parameters\n    ----------\n    q_pi: 1D Array\n        Posterior beliefs over policies, i.e. a vector containing one posterior probability per policy.\n    policies: Array\n        Policy matrix with shape `(num_policies, policy_len, num_factors)`.\n    num_controls: Sequence[int]\n        Dimensionalities of each control state factor.\n    \n    Returns\n    ----------\n    action_marginals: list[Array]\n        Marginal posterior over actions for each control factor.\n    \"\"\"\n    num_factors = len(num_controls)    \n\n    action_marginals = []\n    for factor_i in range(num_factors):\n        actions = jnp.arange(num_controls[factor_i])[:, None]\n        action_marginals.append(jnp.where(actions==policies[:, 0, factor_i], q_pi, 0).sum(-1))\n    \n    return action_marginals\n\ndef sample_action(\n    policies: Array,\n    num_controls: Sequence[int],\n    q_pi: Array,\n    action_selection: str = \"deterministic\",\n    alpha: float = 16.0,\n    rng_key: Array | None = None,\n) -> Array:\n    \"\"\"\n    Samples an action from posterior marginals, one action per control factor.\n\n    Parameters\n    ----------\n    q_pi: 1D Array\n        Posterior beliefs over policies, i.e. a vector containing one posterior probability per policy.\n    policies: Array\n        Policy matrix with shape `(num_policies, policy_len, num_factors)`.\n    num_controls: Sequence[int]\n        Dimensionalities of each control state factor.\n    action_selection: string, default \"deterministic\"\n        String indicating whether whether the selected action is chosen as the maximum of the posterior over actions,\n        or whether it's sampled from the posterior marginal over actions\n    alpha: float, default 16.0\n        Action selection precision -- the inverse temperature of the softmax that is used to scale the \n        action marginals before sampling. This is only used if `action_selection` is `\"stochastic\"`.\n    rng_key: Array | None, optional\n        PRNG key required when `action_selection='stochastic'`.\n\n    Returns\n    ----------\n    selected_policy: 1D Array\n        Vector containing the indices of the actions for each control factor\n    \"\"\"\n\n    marginal = get_marginals(q_pi, policies, num_controls)\n    \n    if action_selection == 'deterministic':\n        selected_policy = jtu.tree_map(lambda x: jnp.argmax(x, -1), marginal)\n    elif action_selection == 'stochastic':\n        logits = lambda x: alpha * log_stable(x)\n        selected_policy = jtu.tree_map(lambda x: jr.categorical(rng_key, logits(x)), marginal)\n    else:\n        raise NotImplementedError\n\n    return jnp.array(selected_policy)\n\ndef sample_policy(\n    policies: Array,\n    q_pi: Array,\n    action_selection: str = \"deterministic\",\n    alpha: float = 16.0,\n    rng_key: Array | None = None,\n) -> Array:\n    \"\"\"Select or sample a policy, then return its first-step multi-action.\n\n    Parameters\n    ----------\n    policies : Array\n        Policy matrix with shape `(num_policies, policy_len, num_factors)`.\n    q_pi : Array\n        Posterior over policies for one batch element.\n    action_selection : {\"deterministic\", \"stochastic\"}, default=\"deterministic\"\n        Selection mode for choosing a policy.\n    alpha : float, default=16.0\n        Precision (inverse temperature) used for stochastic sampling.\n    rng_key : Array | None, optional\n        PRNG key required for `action_selection='stochastic'`.\n\n    Returns\n    -------\n    Array\n        First-step action vector for all control factors.\n    \"\"\"\n\n    if action_selection == \"deterministic\":\n        policy_idx = jnp.argmax(q_pi)\n    elif action_selection == \"stochastic\":\n        log_p_policies = log_stable(q_pi) * alpha\n        policy_idx = jr.categorical(rng_key, log_p_policies)\n\n    selected_multiaction = policies[policy_idx, 0]\n    return selected_multiaction\n\ndef construct_policies(\n    num_states: Sequence[int],\n    num_controls: Sequence[int] | None = None,\n    policy_len: int = 1,\n    control_fac_idx: Sequence[int] | None = None,\n) -> Array:\n    \"\"\"\n    Generate an exhaustive policy matrix for the specified planning horizon.\n\n    Parameters\n    ----------\n    num_states: Sequence[int]\n        Dimensionalities of each hidden state factor.\n    num_controls: Sequence[int], default None\n        Dimensionalities of each control state factor. If `None`, this is\n        computed from controllable state factors.\n    policy_len: int, default 1\n        temporal depth (\"planning horizon\") of policies\n    control_fac_idx: Sequence[int]\n        Indices of controllable hidden state factors (factors `i` where `num_controls[i] > 1`).\n\n    Returns\n    ----------\n    policies: Array\n        Policy matrix with shape `(num_policies, policy_len, num_factors)`.\n    \"\"\"\n\n    num_factors = len(num_states)\n    if control_fac_idx is None:\n        if num_controls is not None:\n            control_fac_idx = [f for f, n_c in enumerate(num_controls) if n_c > 1]\n        else:\n            control_fac_idx = list(range(num_factors))\n\n    if num_controls is None:\n        num_controls = [num_states[c_idx] if c_idx in control_fac_idx else 1 for c_idx in range(num_factors)]\n        \n    x = num_controls * policy_len\n    policies = list(itertools.product(*[list(range(i)) for i in x]))\n    \n    for pol_i in range(len(policies)):\n        policies[pol_i] = jnp.array(policies[pol_i]).reshape(policy_len, num_factors)\n\n    return jnp.stack(policies)\n\n\ndef update_posterior_policies(\n    policy_matrix: Array,\n    qs_init: list[Array],\n    A: list[Array],\n    B: list[Array],\n    C: list[Array],\n    E: Array,\n    pA: list[Array] | None,\n    pB: list[Array] | None,\n    A_dependencies: list[list[int]],\n    B_dependencies: list[list[int]],\n    gamma: float = 16.0,\n    use_utility: bool = True,\n    use_states_info_gain: bool = True,\n    use_param_info_gain: bool = False,\n) -> tuple[Array, Array]:\n    \"\"\"Compute posterior over policies and policy-wise negative expected free energy.\n\n    Notes\n    -----\n    The returned policy score is `neg_efe = -EFE`. This same quantity is\n    often denoted by `G`.\n\n    Parameters\n    ----------\n    policy_matrix: Array\n        Policy tensor with shape `(num_policies, policy_len, num_factors)`.\n    qs_init: list[Array]\n        Current marginal beliefs over hidden states.\n    A: list[Array]\n        Observation likelihood tensors.\n    B: list[Array]\n        Transition tensors.\n    C: list[Array]\n        Prior preferences over observations.\n    E: Array\n        Prior over policies.\n    pA: list[Array] | None\n        Optional posterior Dirichlet parameters for `A`. When\n        `use_param_info_gain=True`, provide `pA`, `pB`, or both.\n    pB: list[Array] | None\n        Optional posterior Dirichlet parameters for `B`. When\n        `use_param_info_gain=True`, provide `pA`, `pB`, or both.\n    A_dependencies: list[list[int]]\n        Observation dependencies between modalities and hidden-state factors.\n    B_dependencies: list[list[int]]\n        Transition dependencies between hidden-state factors.\n    gamma: float, default=16.0\n        Policy precision parameter.\n    use_utility: bool, default=True\n        Whether to include expected utility in EFE.\n    use_states_info_gain: bool, default=True\n        Whether to include state epistemic value.\n    use_param_info_gain: bool, default=False\n        Whether to include parameter epistemic value.\n\n    Returns\n    -------\n    tuple[Array, Array]\n        `(q_pi, neg_efe_all_policies)` where `q_pi` is the posterior over policies.\n    \"\"\"\n    if use_param_info_gain and pA is None and pB is None:\n        raise ValueError(\n            \"use_param_info_gain=True requires at least one of pA or pB.\"\n        )\n\n    # policy --> n_levels_factor_f x 1\n    # factor --> n_levels_factor_f x n_policies\n    ## vmap across policies\n    compute_neg_efe_fixed_states = partial(\n        compute_neg_efe_policy,\n        qs_init,\n        A,\n        B,\n        C,\n        pA,\n        pB,\n        A_dependencies,\n        B_dependencies,\n        use_utility=use_utility,\n        use_states_info_gain=use_states_info_gain,\n        use_param_info_gain=use_param_info_gain,\n    )\n\n    # only in the case of policy-dependent qs_inits\n    # in_axes_list = (1,) * n_factors\n    # all_neg_efe_of_policies = vmap(compute_neg_efe_policy, in_axes=(in_axes_list, 0))(qs_init_pi, policy_matrix)\n\n    # policies needs to be an NDarray of shape (n_policies, n_timepoints, n_control_factors)\n    neg_efe_all_policies = vmap(compute_neg_efe_fixed_states)(policy_matrix)\n\n    return nn.softmax(gamma * neg_efe_all_policies + log_stable(E)), neg_efe_all_policies\n\ndef compute_expected_state(\n    qs_prior: list[Array],\n    B: list[Array],\n    u_t: Array | Sequence[int],\n    B_dependencies: list[list[int]] | None = None,\n) -> list[Array]:\n    \"\"\"\n    Compute posterior over next state, given belief about previous state, transition model and action...\n\n    Parameters\n    ----------\n    qs_prior: list[Array]\n        Marginal beliefs over hidden states at time `t`.\n    B: list[Array]\n        Transition model tensors.\n    u_t: Array | Sequence[int]\n        Action indices for each control factor.\n    B_dependencies: list[list[int]], optional\n        Optional dependencies used to marginalize transition tensors. If `None`,\n        defaults to factor-local transitions.\n\n    Returns\n    -------\n    list[Array]\n        Marginal beliefs over next-time hidden states.\n    \"\"\"\n    #Note: this algorithm is only correct if each factor depends only on itself. For any interactions, \n    # we will have empirical priors with codependent factors. \n    assert len(u_t) == len(B)\n    if B_dependencies is None:\n        B_dependencies = utils.resolve_b_dependencies(len(B))\n    qs_next = []\n    for B_f, u_f, deps in zip(B, u_t, B_dependencies):\n        relevant_factors = [qs_prior[idx] for idx in deps]\n        qs_next_f = factor_dot(B_f[...,u_f], relevant_factors, keep_dims=(0,))\n        qs_next.append(qs_next_f)\n        \n    # P(s'|s, u) = \\sum_{s, u} P(s'|s) P(s|u) P(u|pi)P(pi) because u </-> pi\n    return qs_next\n\ndef compute_expected_state_and_Bs(\n    qs_prior: list[Array], B: list[Array], u_t: Array | Sequence[int]\n) -> tuple[list[Array], list[Array]]:\n    \"\"\"Compute one-step predictive states and selected transition matrices.\n\n    Parameters\n    ----------\n    qs_prior: list[Array]\n        Marginal beliefs over hidden states at time `t`.\n    B: list[Array]\n        Transition model tensors for each hidden-state factor.\n    u_t: Array | Sequence[int]\n        Action indices for each control factor at time `t`.\n\n    Returns\n    -------\n    tuple[list[Array], list[Array]]\n        `(qs_next, Bs)` where `qs_next` are next-state marginals and `Bs` are\n        the action-conditioned transition slices used for each factor.\n    \"\"\"\n    assert len(u_t) == len(B)  \n    qs_next = []\n    Bs = []\n    for qs_f, B_f, u_f in zip(qs_prior, B, u_t):\n        qs_next.append( B_f[..., u_f].dot(qs_f) )\n        Bs.append(B_f[..., u_f])\n    \n    return qs_next, Bs\n\ndef compute_expected_obs(\n    qs: list[Array], A: list[Array], A_dependencies: list[list[int]]\n) -> list[Array]:\n    \"\"\"\n    New version of expected observation (computation of Q(o|pi)) that takes into account sparse dependencies between observation\n    modalities and hidden state factors\n\n    Parameters\n    ----------\n    qs: list[Array]\n        Beliefs over hidden states.\n    A: list[Array]\n        Observation likelihood models.\n    A_dependencies: list[list[int]]\n        Observation dependencies between modalities and state factors.\n\n    Returns\n    -------\n    list[Array]\n        Predictive beliefs over observations for each modality.\n    \"\"\"\n        \n    def compute_expected_obs_modality(A_m: Array, m: int) -> Array:\n        deps = A_dependencies[m]\n        relevant_factors = [qs[idx] for idx in deps]\n        return factor_dot(A_m, relevant_factors, keep_dims=(0,))\n\n    return jtu.tree_map(compute_expected_obs_modality, A, list(range(len(A))))\n\ndef compute_info_gain(\n    qs: list[Array], qo: list[Array], A: list[Array], A_dependencies: list[list[int]]\n) -> Array:\n    \"\"\"Compute expected state-information gain term of expected free energy.\n\n    Parameters\n    ----------\n    qs: list[Array]\n        Predicted hidden-state beliefs.\n    qo: list[Array]\n        Predicted observation beliefs.\n    A: list[Array]\n        Observation likelihood tensors.\n    A_dependencies: list[list[int]]\n        Observation dependencies between modalities and hidden-state factors.\n\n    Returns\n    -------\n    Array\n        Scalar epistemic value from expected information gain.\n    \"\"\"\n\n    def compute_info_gain_for_modality(qo_m: Array, A_m: Array, m: int) -> Array:\n        H_qo = stable_entropy(qo_m)\n        H_A_m = - stable_xlogx(A_m).sum(0)\n        deps = A_dependencies[m]\n        relevant_factors = [qs[idx] for idx in deps]\n        qs_H_A_m = factor_dot(H_A_m, relevant_factors)\n        return H_qo - qs_H_A_m\n    \n    info_gains_per_modality = jtu.tree_map(compute_info_gain_for_modality, qo, A, list(range(len(A))))\n        \n    return jtu.tree_reduce(lambda x,y: x+y, info_gains_per_modality)\n\ndef compute_expected_utility(qo: list[Array], C: list[Array], t: int = 0) -> Array:\n    \"\"\"Compute expected utility from predictive observations and preferences.\n\n    Parameters\n    ----------\n    qo: list[Array]\n        Predicted observations for each modality.\n    C: list[Array]\n        Prior preferences per modality. Each modality can be static `(num_obs,)`\n        or time-indexed `(policy_len, num_obs)`.\n    t: int, default=0\n        Planning timestep used when `C[m]` is time-indexed.\n\n    Returns\n    -------\n    Array\n        Scalar expected utility contribution.\n    \"\"\"\n\n    util = 0.\n    for o_m, C_m in zip(qo, C):\n        if C_m.ndim > 1:\n            util += (o_m * C_m[t]).sum()\n        else:\n            util += (o_m * C_m).sum()\n    \n    return util\n\ndef calc_negative_pA_info_gain(\n    pA: list[Array], qo: list[Array], qs: list[Array], A_dependencies: list[list[int]]\n) -> Array:\n    \"\"\"\n    Compute the negative expected Dirichlet information gain about `pA`.\n\n    Notes\n    -----\n    This helper returns the negative of the parameter epistemic-value term.\n    Subtract its return value when adding parameter information gain to\n    `neg_efe`.\n\n    Parameters\n    ----------\n    pA: list[Array]\n        Dirichlet parameters over observation model (same shape as `A`).\n    qo: list[Array]\n        Predictive posterior beliefs over observations; stores the beliefs about\n        observations expected under the policy at some arbitrary time `t`.\n    qs: list[Array]\n        Predictive posterior beliefs over hidden states, stores the beliefs about\n        hidden states expected under the policy at some arbitrary time `t`.\n\n    Returns\n    -------\n    neg_infogain_pA: Array\n        Negative expected information gain (scalar JAX array) for the pair of\n        predictive distributions `qo` and `qs`.\n    \"\"\"\n\n    def infogain_per_modality(pa_m: Array, qo_m: Array, m: int) -> Array:\n        wa_m = spm_wnorm(pa_m) * (pa_m > 0.)\n        relevant_factors = [qs[idx] for idx in A_dependencies[m]]\n        fd = factor_dot(wa_m, relevant_factors, keep_dims=(0,))[..., None]\n        return qo_m.dot(fd)\n\n    pA_neg_infogain_per_modality = jtu.tree_map(\n        infogain_per_modality, pA, qo, list(range(len(qo)))\n    )\n    \n    neg_infogain_pA = jtu.tree_reduce(lambda x, y: x + y, pA_neg_infogain_per_modality)\n    return neg_infogain_pA.squeeze(-1)\n\ndef calc_negative_pB_info_gain(\n    pB: list[Array],\n    qs_t: list[Array],\n    qs_t_minus_1: list[Array],\n    B_dependencies: list[list[int]],\n    u_t_minus_1: Array | Sequence[int],\n) -> Array:\n    \"\"\"\n    Compute the negative expected Dirichlet information gain about `pB`.\n\n    Notes\n    -----\n    This helper returns the negative of the parameter epistemic-value term.\n    Subtract its return value when adding parameter information gain to\n    `neg_efe`.\n\n    Parameters\n    ----------\n    pB: list[Array]\n        Dirichlet parameters over transition model (same shape as `B`).\n    qs_t: list[Array]\n        Predictive posterior beliefs over hidden states expected under the\n        policy at time `t`.\n    qs_t_minus_1: list[Array]\n        Posterior over hidden states at time `t-1` (before receiving\n        observations).\n    B_dependencies: list[list[int]]\n        For each state factor, indices of the state factors that its\n        transition model depends on.\n    u_t_minus_1: Array | Sequence[int]\n        Actions in time step t-1 for each factor.\n\n    Returns\n    -------\n    neg_infogain_pB: Array\n        Negative expected information gain (scalar JAX array) under the\n        policy in question.\n    \"\"\"\n    \n    wB = lambda pb:  spm_wnorm(pb) * (pb > 0.)\n    fd = lambda x, i: factor_dot(\n        x,\n        [qs_t_minus_1[idx] for idx in B_dependencies[i]],\n        keep_dims=(0,),\n    )[..., None]\n    \n    pB_neg_infogain_per_factor = jtu.tree_map(lambda pb, qs, f: qs.dot(fd(wB(pb[..., u_t_minus_1[f]]), f)), pB, qs_t, list(range(len(qs_t))))\n    neg_infogain_pB = jtu.tree_reduce(lambda x, y: x + y, pB_neg_infogain_per_factor)[0]\n    return neg_infogain_pB\n\ndef compute_neg_efe_policy(\n    qs_init: list[Array],\n    A: list[Array],\n    B: list[Array],\n    C: list[Array],\n    pA: list[Array] | None,\n    pB: list[Array] | None,\n    A_dependencies: list[list[int]],\n    B_dependencies: list[list[int]],\n    policy_i: Array,\n    use_utility: bool = True,\n    use_states_info_gain: bool = True,\n    use_param_info_gain: bool = False,\n) -> Array:\n    \"\"\"Compute policy-wise negative expected free energy for one policy.\n\n    Notes\n    -----\n    This function computes `neg_efe = -EFE` for a single policy. This policy\n    score (`neg_efe`) is commonly denoted `G`.\n\n    Parameters\n    ----------\n    qs_init: list[Array]\n        Initial hidden-state marginals at current timestep.\n    A: list[Array]\n        Observation likelihood tensors.\n    B: list[Array]\n        Transition tensors.\n    C: list[Array]\n        Prior preferences over observations.\n    pA: list[Array] | None\n        Optional posterior Dirichlet parameters for `A`. When\n        `use_param_info_gain=True`, provide `pA`, `pB`, or both.\n    pB: list[Array] | None\n        Optional posterior Dirichlet parameters for `B`. When\n        `use_param_info_gain=True`, provide `pA`, `pB`, or both.\n    A_dependencies: list[list[int]]\n        Observation dependencies between modalities and hidden-state factors.\n    B_dependencies: list[list[int]]\n        Transition dependencies between hidden-state factors.\n    policy_i: Array\n        Single policy trajectory with shape `(policy_len, num_factors)`.\n    use_utility: bool, default=True\n        Include expected utility term.\n    use_states_info_gain: bool, default=True\n        Include state-information-gain term.\n    use_param_info_gain: bool, default=False\n        Include parameter-information-gain term.\n\n    Returns\n    -------\n    Array\n        Scalar negative expected free energy for `policy_i`.\n    \"\"\"\n    if use_param_info_gain and pA is None and pB is None:\n        raise ValueError(\n            \"use_param_info_gain=True requires at least one of pA or pB.\"\n        )\n\n    def scan_body(carry: tuple[list[Array], Array], t: Array) -> tuple[tuple[list[Array], Array], None]:\n\n        qs, neg_efe = carry\n\n        qs_next = compute_expected_state(qs, B, policy_i[t], B_dependencies)\n\n        qo = compute_expected_obs(qs_next, A, A_dependencies)\n\n        info_gain = compute_info_gain(qs_next, qo, A, A_dependencies) if use_states_info_gain else 0.\n\n        utility = compute_expected_utility(qo, C, t) if use_utility else 0.\n\n        neg_param_info_gain = 0.\n        if pA is not None:\n            neg_param_info_gain += calc_negative_pA_info_gain(pA, qo, qs_next, A_dependencies) if use_param_info_gain else 0.\n        if pB is not None:\n            neg_param_info_gain += calc_negative_pB_info_gain(pB, qs_next, qs, B_dependencies, policy_i[t]) if use_param_info_gain else 0.\n\n        neg_efe += info_gain + utility - neg_param_info_gain\n\n        return (qs_next, neg_efe), None\n\n    qs = qs_init\n    neg_efe = 0.\n    final_state, _ = lax.scan(scan_body, (qs, neg_efe), jnp.arange(policy_i.shape[0]))\n    qs_final, neg_efe = final_state\n    return neg_efe\n\ndef compute_neg_efe_policy_inductive(\n    qs_init: list[Array],\n    A: list[Array],\n    B: list[Array],\n    C: list[Array],\n    pA: list[Array] | None,\n    pB: list[Array] | None,\n    A_dependencies: list[list[int]],\n    B_dependencies: list[list[int]],\n    I: list[Array],\n    policy_i: Array,\n    inductive_epsilon: float = 1e-3,\n    use_utility: bool = True,\n    use_states_info_gain: bool = True,\n    use_param_info_gain: bool = False,\n    use_inductive: bool = False,\n) -> Array:\n    \"\"\"\n    Compute policy-wise negative expected free energy with inductive planning.\n\n    Notes\n    -----\n    This function computes `neg_efe = -EFE` for a single policy with optional\n    inductive-value terms. This score is commonly denoted `G`, so here\n    `G = neg_efe = -EFE`.\n\n    Parameters\n    ----------\n    qs_init: list[Array]\n        Initial hidden-state marginals at current timestep.\n    A: list[Array]\n        Observation likelihood tensors.\n    B: list[Array]\n        Transition tensors.\n    C: list[Array]\n        Prior preferences over observations.\n    pA: list[Array] | None\n        Optional posterior Dirichlet parameters for `A`. When\n        `use_param_info_gain=True`, provide `pA`, `pB`, or both.\n    pB: list[Array] | None\n        Optional posterior Dirichlet parameters for `B`. When\n        `use_param_info_gain=True`, provide `pA`, `pB`, or both.\n    A_dependencies: list[list[int]]\n        Observation dependencies between modalities and hidden-state factors.\n    B_dependencies: list[list[int]]\n        Transition dependencies between hidden-state factors.\n    I: list[Array]\n        Inductive reachability matrices.\n    policy_i: Array\n        Single policy trajectory with shape `(policy_len, num_factors)`.\n    inductive_epsilon: float, default=1e-3\n        Scale of the inductive-value contribution.\n    use_utility: bool, default=True\n        Include expected utility term.\n    use_states_info_gain: bool, default=True\n        Include state-information-gain term.\n    use_param_info_gain: bool, default=False\n        Include parameter-information-gain term.\n    use_inductive: bool, default=False\n        Include inductive-value term.\n\n    Returns\n    -------\n    Array\n        Scalar negative expected free energy for `policy_i`.\n    \"\"\"\n    if use_param_info_gain and pA is None and pB is None:\n        raise ValueError(\n            \"use_param_info_gain=True requires at least one of pA or pB.\"\n        )\n\n    def scan_body(carry: tuple[list[Array], Array], t: Array) -> tuple[tuple[list[Array], Array], None]:\n\n        qs, neg_efe = carry\n\n        qs_next = compute_expected_state(qs, B, policy_i[t], B_dependencies)\n\n        qo = compute_expected_obs(qs_next, A, A_dependencies)\n\n        info_gain = compute_info_gain(qs_next, qo, A, A_dependencies) if use_states_info_gain else 0.\n\n        utility = compute_expected_utility(qo, C, t) if use_utility else 0.\n\n        # Keep inductive admissibility anchored to the starting-state belief\n        # across the rollout to preserve current policy-scoring semantics.\n        inductive_value = calc_inductive_value_t(qs_init, qs_next, I, epsilon=inductive_epsilon) if use_inductive else 0.\n\n        neg_param_info_gain = 0.\n        if pA is not None:\n            neg_param_info_gain += calc_negative_pA_info_gain(pA, qo, qs_next, A_dependencies) if use_param_info_gain else 0.\n        if pB is not None:\n            neg_param_info_gain += calc_negative_pB_info_gain(pB, qs_next, qs, B_dependencies, policy_i[t]) if use_param_info_gain else 0.\n\n        neg_efe += info_gain + utility - neg_param_info_gain + inductive_value\n\n        return (qs_next, neg_efe), None\n\n    qs = qs_init\n    neg_efe = 0.\n    final_state, _ = lax.scan(scan_body, (qs, neg_efe), jnp.arange(policy_i.shape[0]))\n    _, neg_efe = final_state\n    return neg_efe\n\ndef update_posterior_policies_inductive(\n    policy_matrix: Array,\n    qs_init: list[Array],\n    A: list[Array],\n    B: list[Array],\n    C: list[Array],\n    E: Array,\n    pA: list[Array] | None,\n    pB: list[Array] | None,\n    A_dependencies: list[list[int]],\n    B_dependencies: list[list[int]],\n    I: list[Array],\n    gamma: float = 16.0,\n    inductive_epsilon: float = 1e-3,\n    use_utility: bool = True,\n    use_states_info_gain: bool = True,\n    use_param_info_gain: bool = False,\n    use_inductive: bool = True,\n) -> tuple[Array, Array]:\n    \"\"\"\n    Compute policy posterior and negative expected free energy with optional\n    inductive terms.\n\n    Notes\n    -----\n    The returned policy score is `neg_efe = -EFE`. This same quantity is\n    often denoted by `G`.\n\n    Parameters\n    ----------\n    policy_matrix: Array\n        Policy tensor with shape `(num_policies, policy_len, num_factors)`.\n    qs_init: list[Array]\n        Current marginal state beliefs.\n    A: list[Array]\n        Observation likelihood models.\n    B: list[Array]\n        Transition models.\n    C: list[Array]\n        Prior preference vectors.\n    E: Array\n        Policy prior over the policy space.\n    pA: list[Array] | None\n        Optional posterior Dirichlet parameters for `A`. When\n        `use_param_info_gain=True`, provide `pA`, `pB`, or both.\n    pB: list[Array] | None\n        Optional posterior Dirichlet parameters for `B`. When\n        `use_param_info_gain=True`, provide `pA`, `pB`, or both.\n    A_dependencies: list[list[int]]\n        Observation dependencies between modalities and state factors.\n    B_dependencies: list[list[int]]\n        Transition dependencies between hidden-state factors and control factors.\n    I: list[Array]\n        Inductive planning matrices.\n    gamma: float = 16.0\n        Policy precision for softmax policy posterior.\n    inductive_epsilon: float = 1e-3\n        Inductive value scale factor.\n    use_utility: bool = True\n        Include utility term in expected free energy.\n    use_states_info_gain: bool = True\n        Include epistemic state-information gain term.\n    use_param_info_gain: bool = False\n        Include epistemic parameter-information gain term.\n    use_inductive: bool = True\n        Include inductive value term.\n\n    Returns\n    -------\n    q_pi: Array\n        Posterior over policies.\n    neg_efe_all_policies: Array\n        Policy-wise negative expected free energies.\n    \"\"\"\n    if use_param_info_gain and pA is None and pB is None:\n        raise ValueError(\n            \"use_param_info_gain=True requires at least one of pA or pB.\"\n        )\n\n    # policy --> n_levels_factor_f x 1\n    # factor --> n_levels_factor_f x n_policies\n    ## vmap across policies\n    compute_neg_efe_fixed_states = partial(\n        compute_neg_efe_policy_inductive,\n        qs_init,\n        A,\n        B,\n        C,\n        pA,\n        pB,\n        A_dependencies,\n        B_dependencies,\n        I,\n        inductive_epsilon=inductive_epsilon,\n        use_utility=use_utility,\n        use_states_info_gain=use_states_info_gain,\n        use_param_info_gain=use_param_info_gain,\n        use_inductive=use_inductive,\n    )\n\n    # only in the case of policy-dependent qs_inits\n    # in_axes_list = (1,) * n_factors\n    # all_neg_efe_of_policies = vmap(compute_neg_efe_policy, in_axes=(in_axes_list, 0))(qs_init_pi, policy_matrix)\n\n    # policies needs to be an NDarray of shape (n_policies, n_timepoints, n_control_factors)\n    neg_efe_all_policies = vmap(compute_neg_efe_fixed_states)(policy_matrix)\n\n    return nn.softmax(gamma * neg_efe_all_policies + log_stable(E)), neg_efe_all_policies\n\ndef generate_I_matrix(H: list[Array], B: list[Array], threshold: float, depth: int) -> list[Array]:\n    \"\"\" \n    Generate inductive reachability matrices using backward state reachability.\n\n    These matrices store whether state `j` (columns) can still reach the\n    intended state set after `i` backward steps (rows).\n    Parameters\n    ----------    \n    H: list[Array]\n        Constraints over desired states (1 if you want to reach that state, 0 otherwise)\n    B: list[Array]\n        Dynamics likelihood mapping or transition model, mapping from hidden states at `t` to hidden states at `t+1`, given some control state `u`.\n        Each element `B[f]` stores a 3-D tensor for hidden state factor `f`, whose entries `B[f][s, v, u]` store the probability\n        of hidden state level `s` at the current time, given hidden state level `v` and action `u` at the previous time.\n    threshold: float\n        The threshold for pruning transitions that are below a certain probability\n    depth: int\n        The temporal depth of the backward induction\n\n    Returns\n    ----------\n    I: list[Array]\n        For each state factor, contains a 2D indicator array whose element\n        `i, j` is `1` when state `j` can still reach the intended state set\n        after `i` backward steps, and `0` otherwise.\n    \"\"\"\n    if depth < 1:\n        raise ValueError(\"`depth` must be >= 1\")\n    \n    num_factors = len(H)\n    I = []\n    for f in range(num_factors):\n        # Compute backward reachability separately for each hidden-state factor.\n\n        # If there exists an action that allows transitioning from\n        # previous_state to next_state with probability above threshold,\n        # set reachable_next_prev[next_state, previous_state] to 1.\n        reachable_next_prev = jnp.where(B[f] > threshold, 1.0, 0.0).sum(axis=-1)\n        reachable_next_prev = jnp.where(reachable_next_prev > 0.0, 1.0, 0.0)\n        predecessor_reachable = jnp.swapaxes(reachable_next_prev, 0, 1)\n\n        def step_fn(carry: Array, _: Array) -> tuple[Array, Array]:\n            I_prev = carry\n            # Predecessor states are allowed if they can reach any currently\n            # allowed successor state.\n            I_next = jnp.dot(predecessor_reachable, I_prev)\n            I_next = jnp.where(I_next > 0.0, 1.0, 0.0)\n            return I_next, I_next\n    \n        _, I_f = lax.scan(step_fn, H[f], jnp.arange(depth-1))\n        I_f = jnp.concatenate([H[f][None,...], I_f], axis=0)\n\n        I.append(I_f)\n    \n    return I\n\ndef calc_inductive_value_t(\n    qs: list[Array], qs_next: list[Array], I: list[Array], epsilon: float = 1e-3\n) -> Array:\n    \"\"\"\n    Computes the inductive value of a state at a particular time (translation of @tverbele's `numpy` implementation of inductive planning, formerly\n    called `calc_inductive_cost`).\n\n    Parameters\n    ----------\n    qs: list[Array]\n        Marginal posterior beliefs over hidden states at a given timepoint.\n    qs_next: list[Array]\n        Predictive posterior beliefs over hidden states expected under the policy.\n    I: list[Array]\n        For each state factor, contains a 2D array whose element i,j yields the probability\n        of reaching the goal state backwards from state j after i steps.\n    epsilon: float\n        Value that tunes the strength of the inductive value (how much it contributes to the expected free energy of policies)\n\n    Returns\n    -------\n    inductive_val: float\n        Value (negative inductive cost) of visiting this state using backwards induction under the policy in question\n    \"\"\"\n    \n    # initialise inductive value\n    inductive_val = 0.\n\n    log_eps = log_stable(epsilon)\n    for f in range(len(qs)):\n        # we also assume precise beliefs here?!\n        idx = jnp.argmax(qs[f])\n        # m = arg max_n p_n < sup p\n\n        # i.e. find first entry at which I_idx equals 1, and then m is the index before that\n        m = jnp.maximum(jnp.argmax(I[f][:, idx])-1, 0)\n        I_m = (1. - I[f][m, :]) * log_eps\n        path_available = jnp.clip(I[f][:, idx].sum(0), min=0, max=1) # if there are any 1's at all in that column of I, then this == 1, otherwise 0\n        inductive_val += path_available * I_m.dot(qs_next[f]) # scaling by path_available will nullify the addition of inductive value in the case we find no path to goal (i.e. when no goal specified)\n\n    return inductive_val\n\n# if __name__ == '__main__':\n\n#     from jax import random as jr\n#     key = jr.PRNGKey(1)\n#     num_obs = [3, 4]\n\n#     A = [jr.uniform(key, shape = (no, 2, 2)) for no in num_obs]\n#     B = [jr.uniform(key, shape = (2, 2, 2)), jr.uniform(key, shape = (2, 2, 2))]\n#     C = [log_stable(jnp.array([0.8, 0.1, 0.1])), log_stable(jnp.ones(4)/4)]\n#     policy_1 = jnp.array([[0, 1],\n#                          [1, 1]])\n#     policy_2 = jnp.array([[1, 0],\n#                          [0, 0]])\n#     policy_matrix = jnp.stack([policy_1, policy_2]) # 2 x 2 x 2 tensor\n    \n#     qs_init = [jnp.ones(2)/2, jnp.ones(2)/2]\n#     neg_efe_all_policies = jit(update_posterior_policies)(policy_matrix, qs_init, A, B, C)\n#     print(neg_efe_all_policies)\n"
  },
  {
    "path": "pymdp/distribution.py",
    "content": "import numpy as np\nfrom pymdp.utils import norm_dist\nfrom typing import Any, Iterator, Optional\n\n\nclass Distribution:\n\n    def __init__(self, event: dict, batch: dict = {}, data: np.ndarray | None = None) -> None:\n        self.event = event\n        self.batch = batch\n\n        self.event_indices = {\n            key: {v: i for i, v in enumerate(values)}\n            for key, values in event.items()\n        }\n        self.batch_indices = {\n            key: {v: i for i, v in enumerate(values)}\n            for key, values in batch.items()\n        }\n\n        if data is not None:\n            self._data = data\n        else:\n            shape = []\n            for v in event.values():\n                shape.append(len(v))\n            for v in batch.values():\n                shape.append(len(v))\n            self._data = np.zeros(shape)\n\n    @property\n    def data(self) -> np.ndarray:\n        return self._data\n\n    @data.setter\n    def data(self, value: np.ndarray) -> None:\n        if hasattr(self, '_data') and self._data is not None:\n            if self._data.shape != value.shape:\n                raise ValueError(f\"When setting the tensor directly, the new shape {value.shape} must match the existing tensor shape {self._data.shape}\")\n        self._data = value\n\n    def get(self, batch: dict | None = None, event: dict | None = None) -> np.ndarray:\n        event_slices = self._get_slices(event, self.event_indices, self.event)\n        batch_slices = self._get_slices(batch, self.batch_indices, self.batch)\n\n        slices = event_slices + batch_slices\n        return self._data[tuple(slices)]\n\n    def set(\n        self, batch: dict | None = None, event: dict | None = None, values: np.ndarray | float | int | None = None\n    ) -> None:\n        event_slices = self._get_slices(event, self.event_indices, self.event)\n        batch_slices = self._get_slices(batch, self.batch_indices, self.batch)\n\n        slices = event_slices + batch_slices\n        self._data[tuple(slices)] = values\n\n    def _get_slices(self, keys: dict | None, indices: dict, full_indices: dict) -> list[Any]:\n        slices = []\n        if keys is None:\n            return [slice(None)] * len(full_indices)\n        for key in full_indices:\n            if key in keys:\n                if isinstance(keys[key], list):\n                    slices.append(\n                        [self._get_index(v, indices[key]) for v in keys[key]]\n                    )\n                else:\n                    slices.append(self._get_index(keys[key], indices[key]))\n            else:\n                slices.append(slice(None))\n        return slices\n\n    def _get_index(self, key: Any, index_map: dict) -> int:\n        if isinstance(key, int):\n            return key\n        else:\n            return index_map[key]\n\n    def _get_index_from_axis(self, axis: int, element: Any) -> int | slice:\n        if isinstance(element, slice):\n            return slice(None)\n        if axis < len(self.event):\n            key = list(self.event.keys())[axis]\n            index_map = self.event_indices[key]\n        else:\n            key = list(self.batch.keys())[axis - len(self.event)]\n            index_map = self.batch_indices[key]\n        return self._get_index(element, index_map)\n\n    def __getitem__(self, indices: Any) -> np.ndarray:\n        if not isinstance(indices, tuple):\n            indices = (indices,)\n        index_list = [\n            self._get_index_from_axis(i, idx) for i, idx in enumerate(indices)\n        ]\n        return self._data[tuple(index_list)]\n\n    def __setitem__(self, indices: Any, value: Any) -> None:\n        if not isinstance(indices, tuple):\n            indices = (indices,)\n        index_list = [\n            self._get_index_from_axis(i, idx) for i, idx in enumerate(indices)\n        ]\n        self._data[tuple(index_list)] = value\n\n    def normalize(self) -> None:\n        self.data = norm_dist(self.data)\n\n    def __repr__(self) -> str:\n        return f\"Distribution({self.event}, {self.batch})\\n {self.data}\"\n\n\nclass DistributionIndexer(dict):\n    \"\"\"\n    Helper class to allow for indexing of distributions by their event keys.\n    Acts as a list otherwise ...\n    \"\"\"\n\n    def __init__(self, distributions: list[Distribution]) -> None:\n        super().__init__()\n        self.distributions = distributions\n        for d in distributions:\n            for key in d.event:\n                self[key] = d\n\n    def __getitem__(self, key: str | int) -> Distribution:\n        if isinstance(key, int):\n            return self.distributions[key]\n        else:\n            if key not in self.keys():\n                raise KeyError(\n                    f\"Key {key} not found in \" + str([k for k in self.keys()])\n                )\n            return super().__getitem__(key)\n\n    def __iter__(self) -> Iterator[Distribution]:\n        return iter(self.distributions)\n\n\nclass Model(dict):\n\n    def __init__(\n        self,\n        likelihoods: list[Distribution],\n        transitions: list[Distribution],\n        preferred_observations: list[Distribution],\n        priors: list[Distribution],\n        preferred_states: list[Distribution],\n        B_action_dependencies: Optional[list[list[int]]]=None,\n        num_controls: Optional[list[int]]=None,\n    ) -> None:\n        super().__init__()\n        super().__setitem__(\"A\", likelihoods)\n        super().__setitem__(\"B\", transitions)\n        super().__setitem__(\"C\", preferred_observations)\n        super().__setitem__(\"D\", priors)\n        super().__setitem__(\"H\", preferred_states)\n        super().__setitem__(\"B_action_dependencies\", B_action_dependencies)\n        super().__setitem__(\"num_controls\", num_controls)\n\n    def __getattr__(self, key: str) -> Any:\n        if key in [\"A\", \"B\", \"C\", \"D\", \"H\"]:\n            return DistributionIndexer(self[key])\n        elif key == \"B_action_dependencies\":\n            return self[\"B_action_dependencies\"]\n        elif key == \"num_controls\":\n            return self[\"num_controls\"]\n        raise AttributeError(\"Model only supports attributes A,B,C,D,H, B_action_dependencies, and num_controls\")\n\n\ndef compile_model(config: dict[str, Any]) -> Model:\n    \"\"\"Compile a model from a config.\n\n    Takes a model description dictionary and builds the corresponding\n    Likelihood and Transition tensors. The tensors are filled with only\n    zeros and need to be filled in later by the caller of this function.\n    ---\n    The config  should consist of three top-level keys:\n        * observations\n        * controls\n        * states\n    where each entry consists of another dictionary with the name of the\n    modality as key and the modality description.\n\n    The modality description should consist out of either a `size` or `elements`\n    field indicating the named elements or the size of the integer array.\n    In the case of an observation the `depends_on` field needs to be present to\n    indicate what state factor links to this observation. In the case of states\n    the `depends_on` and `controlled_by` fields are needed.\n    ---\n    example config:\n    { \"observations\": {\n        \"observation_1\": {\"size\": 10, \"depends_on\": [\"factor_1\"]},\n        \"observation_2\": {\n            \"elements\": [\"A\", \"B\"],\n            \"depends_on\": [\"factor_1\"],\n        },\n    },\n    \"controls\": {\n            \"control_1\": {\"size\": 2},\n            \"control_2\": {\"elements\": [\"X\", \"Y\"]},\n    },\n    \"states\": {\n        \"factor_1\": {\n            \"elements\": [\"II\", \"JJ\", \"KK\"],\n            \"depends_on\": [\"factor_1\", \"factor_2\"],\n            \"controlled_by\": [\"control_1\", \"control_2\"],\n        },\n        \"factor_2\": {\n            \"elements\": [\"foo\", \"bar\"],\n            \"depends_on\": [\"factor_2\"],\n            \"controlled_by\": [\"control_2\"],\n        },\n    }}\n    \"\"\"\n    # these are needed to get the ordering of the dimensions correct for pymdp\n    state_dependencies = dict()\n    control_dependencies = dict()\n    likelihood_dependencies = dict()\n    transition_events = dict()\n    likelihood_events = dict()\n    labels = dict()\n    shape = dict()\n    for mod in config:\n        for k, v in config[mod].items():\n            for keyword in v:\n                match keyword:\n                    case \"elements\":\n                        shape[k] = len(v[keyword])\n                        labels[k] = [name for name in v[keyword]]\n                    case \"size\":\n                        shape[k] = v[keyword]\n                        labels[k] = list(range(v[keyword]))\n                    case \"depends_on\":\n                        if mod == \"states\":\n                            state_dependencies[k] = [\n                                name for name in v[keyword]\n                            ]\n                            if k in v[keyword]:\n                                transition_events[k] = labels[k]\n                        else:\n                            likelihood_dependencies[k] = [\n                                name for name in v[keyword]\n                            ]\n                            likelihood_events[k] = labels[k]\n                    case \"controlled_by\":\n                        control_dependencies[k] = [name for name in v[keyword]]\n\n    transitions = []\n    for event, description in transition_events.items():\n        arr_shape = [len(description)]\n        batch_descr = dict()\n        event_descr = {event: description}\n        for dep in state_dependencies[event]:\n            arr_shape.append(shape[dep])\n            batch_descr[dep] = labels[dep]\n        for dep in control_dependencies[event]:\n            arr_shape.append(shape[dep])\n            batch_descr[dep] = labels[dep]\n        arr = np.zeros(arr_shape)\n        transitions.append(Distribution(event_descr, batch_descr, arr))\n\n    priors = []\n    for event, description in transition_events.items():\n        arr_shape = [len(description)]\n        arr = np.ones(arr_shape) / len(description)\n        event_descr = {event: description}\n        priors.append(Distribution(event_descr, data=arr))\n\n    likelihoods = []\n    for event, description in likelihood_events.items():\n        arr_shape = [len(description)]\n        batch_descr = dict()\n        event_descr = {event: description}\n        for dep in likelihood_dependencies[event]:\n            arr_shape.append(shape[dep])\n            batch_descr[dep] = labels[dep]\n        arr = np.zeros(arr_shape)\n        likelihoods.append(Distribution(event_descr, batch_descr, arr))\n\n    preferred_observations = []\n    for event, description in likelihood_events.items():\n        arr_shape = [len(description)]\n        arr = np.zeros(arr_shape)\n        event_descr = {event: description}\n        preferred_observations.append(Distribution(event_descr, data=arr))\n\n    preferred_states = []\n    for event, description in transition_events.items():\n        arr_shape = [len(description)]\n        arr = np.ones(arr_shape) / len(description)\n        event_descr = {event: description}\n        preferred_states.append(Distribution(event_descr, data=arr))\n\n    B_action_dependencies = [\n        [list(config[\"controls\"].keys()).index(i) for i in s[\"controlled_by\"]] \n        for s in config[\"states\"].values()\n    ]\n\n    num_controls = []\n    for c in config[\"controls\"].values():\n        if \"elements\" in c:\n            num_controls.append(len(c[\"elements\"]))\n        elif \"size\" in c:\n            num_controls.append(int(c[\"size\"]))\n        else:\n            raise ValueError(f\"Control {c} has no elements or size\")\n\n    return Model(\n        likelihoods, transitions, preferred_observations, priors, preferred_states, B_action_dependencies, num_controls\n    )\n\n\ndef get_dependencies(\n    likelihoods: list[Distribution], transitions: list[Distribution]\n) -> tuple[list[list[int]], list[list[int]]]:\n    likelihood_dependencies = dict()\n    transition_dependencies = dict()\n    states = [list(trans.event.keys())[0] for trans in transitions]\n    for like in likelihoods:\n        likelihood_dependencies[list(like.event.keys())[0]] = [\n            states.index(name) for name in like.batch.keys()\n        ]\n    for trans in transitions:\n        transition_dependencies[list(trans.event.keys())[0]] = [\n            states.index(name) for name in trans.batch.keys() if name in states\n        ]\n    return list(likelihood_dependencies.values()), list(\n        transition_dependencies.values()\n    )\n\n\nif __name__ == \"__main__\":\n    controls = [\"up\", \"down\"]\n    locations = [\"A\", \"B\", \"C\", \"D\"]\n\n    data = np.zeros((len(locations), len(locations), len(controls)))\n    transition = Distribution(\n        {\"location\": locations},\n        {\"location\": locations, \"control\": controls},\n        data,\n    )\n\n    assert transition[\"A\", \"B\", \"up\"] == 0.0\n    assert transition[:, \"B\", \"up\"].shape == (4,)\n    assert transition[\"A\", \"B\", :].shape == (2,)\n    assert transition[:, \"B\", :].shape == (4, 2)\n    assert transition[:, :, :].shape == (4, 4, 2)\n    assert transition[0, \"B\", 0] == 0.0\n    assert transition[:, \"B\", 0].shape == (4,)\n\n    transition[\"A\", \"B\", \"up\"] = 0.5\n    assert transition[\"A\", \"B\", \"up\"] == 0.5\n    transition[:, \"B\", \"up\"] = np.ones(4)\n    assert np.all(transition[:, \"B\", \"up\"] == 1.0)\n\n    assert transition.get({\"location\": \"A\"}, {\"location\": \"B\"}).shape == (2,)\n    assert (\n        transition.get({\"location\": \"A\", \"control\": \"up\"}, {\"location\": \"B\"})\n        == 0.0\n    )\n    assert transition.get({\"control\": \"up\"}).shape == (4, 4)\n\n    transition.set({\"location\": \"A\", \"control\": \"up\"}, {\"location\": \"B\"}, 0.5)\n    assert (\n        transition.get({\"location\": \"A\", \"control\": \"up\"}, {\"location\": \"B\"})\n        == 0.5\n    )\n    transition.set({\"location\": 0, \"control\": \"up\"}, {\"location\": \"B\"}, 0.7)\n    assert (\n        transition.get({\"location\": \"A\", \"control\": \"up\"}, {\"location\": \"B\"})\n        == 0.7\n    )\n    transition.set({\"location\": \"A\"}, {\"location\": \"B\"}, np.ones(2))\n    assert np.all(transition.get({\"location\": \"A\"}, {\"location\": \"B\"}) == 1.0)\n\n    model_example = {\n        \"observations\": {\n            \"observation_1\": {\"size\": 10, \"depends_on\": [\"factor_1\"]},\n            \"observation_2\": {\n                \"elements\": [\"A\", \"B\"],\n                \"depends_on\": [\"factor_2\"],\n            },\n        },\n        \"controls\": {\n            \"control_1\": {\"size\": 2},\n            \"control_2\": {\"elements\": [\"X\", \"Y\"]},\n        },\n        \"states\": {\n            \"factor_1\": {\n                \"elements\": [\"II\", \"JJ\", \"KK\"],\n                \"depends_on\": [\"factor_1\", \"factor_2\"],\n                \"controlled_by\": [\"control_1\", \"control_2\"],\n            },\n            \"factor_2\": {\n                \"elements\": [\"foo\", \"bar\"],\n                \"depends_on\": [\"factor_2\"],\n                \"controlled_by\": [\"control_2\"],\n            },\n        },\n    }\n    model = compile_model(model_example)\n    like = model.A\n    trans = model.B\n    assert len(trans) == 2\n    assert len(like) == 2\n    assert trans[0].data.shape == (3, 3, 2, 2, 2)\n    assert trans[1].data.shape == (2, 2, 2)\n    assert like[0].data.shape == (10, 3)\n    assert like[1].data.shape == (2, 2)\n    assert like[\"observation_1\"][:, \"II\"] is not None\n    assert like[\"observation_2\"][1, :] is not None\n    A_deps, B_deps = get_dependencies(like, trans)\n    print(A_deps, B_deps)\n\n    model_description = {\n        \"observations\": {\n            \"o1\": {\"elements\": [\"A\", \"B\", \"C\", \"D\"], \"depends_on\": [\"s1\"]},\n        },\n        \"controls\": {\"c1\": {\"elements\": [\"up\", \"down\"]}},\n        \"states\": {\n            \"s1\": {\n                \"elements\": [\"A\", \"B\", \"C\", \"D\"],\n                \"depends_on\": [\"s1\"],\n                \"controlled_by\": [\"c1\"],\n            },\n        },\n    }\n\n    model = compile_model(model_description)\n"
  },
  {
    "path": "pymdp/envs/__init__.py",
    "content": "from .tmaze import TMaze, SimplifiedTMaze\nfrom .rollout import rollout\nfrom .env import Env, PymdpEnv, make\nfrom .graph_worlds import GraphEnv\nfrom .grid_world import GridWorld\nfrom .cue_chaining import CueChainingEnv\n"
  },
  {
    "path": "pymdp/envs/cue_chaining.py",
    "content": "\"\"\"Cue-chaining grid world implemented as a JAX-compatible ``PymdpEnv``.\n\nThis module ports the legacy cue-chaining demo environment to the modern\nJAX-first environment API. The environment encodes a two-stage epistemic chain:\n\n1. Visiting ``cue1_location`` reveals which second-level cue location is active.\n2. Visiting that active second-level cue location reveals the reward condition.\n3. Visiting one of the reward locations yields reward or punishment depending on\n   the latent reward condition.\n\"\"\"\n\nfrom __future__ import annotations\n\nfrom typing import Sequence\n\nimport jax.numpy as jnp\n\nfrom .env import PymdpEnv\n\n\nclass CueChainingEnv(PymdpEnv):\n    \"\"\"Grid-world cue-chaining task using factorized categorical dynamics.\n\n    Hidden state factors\n    --------------------\n    - factor 0 (location): flattened grid position\n    - factor 1 (cue-2 state): which second-level cue location is informative\n    - factor 2 (reward condition): which reward location contains reward\n\n    Observation modalities\n    ----------------------\n    - modality 0 (location): identity observation over location\n    - modality 1 (cue-1): null everywhere except at ``cue1_location``, where it\n      reveals the active cue-2 state\n    - modality 2 (cue-2): null everywhere except at the active cue-2 location,\n      where it reveals reward condition\n    - modality 3 (reward): null away from reward locations; at reward locations\n      yields reward or punishment based on reward condition\n    \"\"\"\n\n    ACTION_LABELS = (\"UP\", \"DOWN\", \"LEFT\", \"RIGHT\", \"STAY\")\n\n    def __init__(\n        self,\n        grid_shape: tuple[int, int] = (5, 7),\n        start_location: tuple[int, int] = (0, 0),\n        cue1_location: tuple[int, int] = (2, 0),\n        cue2_locations: Sequence[tuple[int, int]] = ((0, 2), (1, 3), (3, 3), (4, 2)),\n        reward_locations: Sequence[tuple[int, int]] = ((1, 5), (3, 5)),\n        cue2_state: int | None = None,\n        reward_condition: int | None = None,\n        cue2_names: Sequence[str] | None = None,\n        reward_condition_names: Sequence[str] | None = None,\n        categorical_obs: bool = False,\n    ) -> None:\n        \"\"\"Initialize the cue-chaining environment.\n\n        Parameters\n        ----------\n        grid_shape : tuple[int, int], optional\n            Number of rows and columns in the grid.\n        start_location : tuple[int, int], optional\n            Initial agent location.\n        cue1_location : tuple[int, int], optional\n            Location of the first cue.\n        cue2_locations : sequence[tuple[int, int]], optional\n            Candidate locations of the second cue. The latent ``cue2_state``\n            selects which one is informative in an episode.\n        reward_locations : sequence[tuple[int, int]], optional\n            Candidate reward locations. Exactly two are supported, matching the\n            ``Cheese``/``Shock`` reward observations.\n        cue2_state : int | None, optional\n            Fixed initial state for factor 1. If ``None``, use a uniform prior.\n        reward_condition : int | None, optional\n            Fixed initial state for factor 2. If ``None``, use a uniform prior.\n        cue2_names : sequence[str] | None, optional\n            Labels for cue-2 states. Defaults to ``(\"L1\", \"L2\", ...)``.\n        reward_condition_names : sequence[str] | None, optional\n            Labels for reward conditions. Defaults to ``(\"TOP\", \"BOTTOM\")``.\n        categorical_obs : bool, default=False\n            If ``True``, ``reset()`` and ``step()`` emit one-hot categorical\n            observation vectors with shape ``(1, num_obs_m)`` for each\n            modality. If ``False``, they emit discrete observation indices with\n            shape ``(1,)``.\n        \"\"\"\n        rows, cols = grid_shape\n        if rows <= 0 or cols <= 0:\n            raise ValueError(\"`grid_shape` must contain strictly positive integers.\")\n        if len(cue2_locations) == 0:\n            raise ValueError(\"`cue2_locations` must contain at least one location.\")\n        if len(reward_locations) != 2:\n            raise ValueError(\"`reward_locations` must contain exactly two locations.\")\n\n        self.grid_shape = tuple(grid_shape)\n        self.start_location = tuple(start_location)\n        self.cue1_location = tuple(cue1_location)\n        self.cue2_locations = tuple(tuple(c) for c in cue2_locations)\n        self.reward_locations = tuple(tuple(r) for r in reward_locations)\n\n        for coord in (self.start_location, self.cue1_location):\n            self._validate_coord(coord)\n        for coord in self.cue2_locations:\n            self._validate_coord(coord)\n        for coord in self.reward_locations:\n            self._validate_coord(coord)\n\n        self.num_location_states = rows * cols\n        self.num_cue2_states = len(self.cue2_locations)\n        self.num_reward_states = len(self.reward_locations)\n\n        if cue2_state is not None and not (0 <= cue2_state < self.num_cue2_states):\n            raise ValueError(\"`cue2_state` out of bounds for provided `cue2_locations`.\")\n        if reward_condition is not None and not (0 <= reward_condition < self.num_reward_states):\n            raise ValueError(\"`reward_condition` out of bounds for provided `reward_locations`.\")\n\n        if cue2_names is None:\n            cue2_names = tuple(f\"L{i + 1}\" for i in range(self.num_cue2_states))\n        if len(cue2_names) != self.num_cue2_states:\n            raise ValueError(\"`cue2_names` length must match `cue2_locations`.\")\n\n        if reward_condition_names is None:\n            reward_condition_names = (\"TOP\", \"BOTTOM\")\n        if len(reward_condition_names) != self.num_reward_states:\n            raise ValueError(\n                \"`reward_condition_names` length must match `reward_locations`.\"\n            )\n\n        self.cue2_names = tuple(cue2_names)\n        self.reward_condition_names = tuple(reward_condition_names)\n\n        self.location_obs_names = tuple(\n            f\"({row}, {col})\" for row in range(rows) for col in range(cols)\n        )\n        self.cue1_obs_names = (\"Null\",) + self.cue2_names\n        self.cue2_obs_names = (\"Null\",) + tuple(\n            f\"reward_on_{name.lower()}\" for name in self.reward_condition_names\n        )\n        self.reward_obs_names = (\"Null\", \"Cheese\", \"Shock\")\n\n        self.start_index = self.coords_to_index(self.start_location)\n        self.cue1_index = self.coords_to_index(self.cue1_location)\n        self.cue2_indices = tuple(self.coords_to_index(coord) for coord in self.cue2_locations)\n        self.reward_indices = tuple(\n            self.coords_to_index(coord) for coord in self.reward_locations\n        )\n\n        A, A_dependencies = self._generate_A()\n        B, B_dependencies = self._generate_B()\n        D = self._generate_D(cue2_state=cue2_state, reward_condition=reward_condition)\n\n        super().__init__(\n            A=A,\n            B=B,\n            D=D,\n            A_dependencies=A_dependencies,\n            B_dependencies=B_dependencies,\n            categorical_obs=categorical_obs,\n        )\n\n    def coords_to_index(self, coord: tuple[int, int]) -> int:\n        \"\"\"Convert ``(row, col)`` coordinates to a flattened location index.\"\"\"\n        self._validate_coord(coord)\n        row, col = coord\n        return int(row * self.grid_shape[1] + col)\n\n    def index_to_coords(self, index: int) -> tuple[int, int]:\n        \"\"\"Convert a flattened location index to ``(row, col)`` coordinates.\"\"\"\n        if not (0 <= index < self.num_location_states):\n            raise ValueError(\"`index` out of bounds for location state space.\")\n        return (index // self.grid_shape[1], index % self.grid_shape[1])\n\n    def _validate_coord(self, coord: tuple[int, int]) -> None:\n        row, col = coord\n        rows, cols = self.grid_shape\n        if not (0 <= row < rows and 0 <= col < cols):\n            raise ValueError(f\"Coordinate {coord} is outside grid bounds {self.grid_shape}.\")\n\n    def _generate_A(self) -> tuple[list[jnp.ndarray], list[list[int]]]:\n        num_loc = self.num_location_states\n        num_cue2 = self.num_cue2_states\n        num_reward = self.num_reward_states\n\n        # m0: location observation\n        A_loc = jnp.eye(num_loc, dtype=jnp.float32)\n\n        # m1: cue-1 observation (null + cue2 labels)\n        A_cue1 = jnp.zeros((1 + num_cue2, num_loc, num_cue2), dtype=jnp.float32)\n        A_cue1 = A_cue1.at[0, :, :].set(1.0)\n        for cue_state in range(num_cue2):\n            A_cue1 = A_cue1.at[0, self.cue1_index, cue_state].set(0.0)\n            A_cue1 = A_cue1.at[1 + cue_state, self.cue1_index, cue_state].set(1.0)\n\n        # m2: cue-2 observation (null + reward condition labels)\n        A_cue2 = jnp.zeros((1 + num_reward, num_loc, num_cue2, num_reward), dtype=jnp.float32)\n        A_cue2 = A_cue2.at[0, :, :, :].set(1.0)\n        for cue_state, cue_loc_idx in enumerate(self.cue2_indices):\n            A_cue2 = A_cue2.at[0, cue_loc_idx, cue_state, :].set(0.0)\n            for reward_state in range(num_reward):\n                A_cue2 = A_cue2.at[1 + reward_state, cue_loc_idx, cue_state, reward_state].set(1.0)\n\n        # m3: reward observation (null, cheese, shock)\n        A_reward = jnp.zeros((3, num_loc, num_reward), dtype=jnp.float32)\n        A_reward = A_reward.at[0, :, :].set(1.0)\n        for reward_loc_state, reward_loc_idx in enumerate(self.reward_indices):\n            A_reward = A_reward.at[0, reward_loc_idx, :].set(0.0)\n            for reward_state in range(num_reward):\n                obs_idx = 1 if reward_loc_state == reward_state else 2\n                A_reward = A_reward.at[obs_idx, reward_loc_idx, reward_state].set(1.0)\n\n        A = [A_loc, A_cue1, A_cue2, A_reward]\n        A_dependencies = [[0], [0, 1], [0, 1, 2], [0, 2]]\n        return A, A_dependencies\n\n    def _generate_B(self) -> tuple[list[jnp.ndarray], list[list[int]]]:\n        rows, cols = self.grid_shape\n        num_loc = self.num_location_states\n        num_actions = len(self.ACTION_LABELS)\n\n        B_loc = jnp.zeros((num_loc, num_loc, num_actions), dtype=jnp.float32)\n\n        for curr_idx in range(num_loc):\n            row, col = self.index_to_coords(curr_idx)\n\n            # UP\n            up_idx = self.coords_to_index((max(row - 1, 0), col))\n            B_loc = B_loc.at[up_idx, curr_idx, 0].set(1.0)\n\n            # DOWN\n            down_idx = self.coords_to_index((min(row + 1, rows - 1), col))\n            B_loc = B_loc.at[down_idx, curr_idx, 1].set(1.0)\n\n            # LEFT\n            left_idx = self.coords_to_index((row, max(col - 1, 0)))\n            B_loc = B_loc.at[left_idx, curr_idx, 2].set(1.0)\n\n            # RIGHT\n            right_idx = self.coords_to_index((row, min(col + 1, cols - 1)))\n            B_loc = B_loc.at[right_idx, curr_idx, 3].set(1.0)\n\n            # STAY\n            B_loc = B_loc.at[curr_idx, curr_idx, 4].set(1.0)\n\n        B_cue2 = jnp.eye(self.num_cue2_states, dtype=jnp.float32).reshape(\n            self.num_cue2_states, self.num_cue2_states, 1\n        )\n        B_reward = jnp.eye(self.num_reward_states, dtype=jnp.float32).reshape(\n            self.num_reward_states, self.num_reward_states, 1\n        )\n\n        B = [B_loc, B_cue2, B_reward]\n        B_dependencies = [[0], [1], [2]]\n        return B, B_dependencies\n\n    def _generate_D(\n        self,\n        cue2_state: int | None,\n        reward_condition: int | None,\n    ) -> list[jnp.ndarray]:\n        D_location = jnp.zeros((self.num_location_states,), dtype=jnp.float32)\n        D_location = D_location.at[self.start_index].set(1.0)\n\n        if cue2_state is None:\n            D_cue2 = jnp.ones((self.num_cue2_states,), dtype=jnp.float32) / self.num_cue2_states\n        else:\n            D_cue2 = jnp.zeros((self.num_cue2_states,), dtype=jnp.float32)\n            D_cue2 = D_cue2.at[cue2_state].set(1.0)\n\n        if reward_condition is None:\n            D_reward = (\n                jnp.ones((self.num_reward_states,), dtype=jnp.float32) / self.num_reward_states\n            )\n        else:\n            D_reward = jnp.zeros((self.num_reward_states,), dtype=jnp.float32)\n            D_reward = D_reward.at[reward_condition].set(1.0)\n\n        return [D_location, D_cue2, D_reward]\n"
  },
  {
    "path": "pymdp/envs/env.py",
    "content": "\"\"\"Environment interfaces and POMDP-backed environment utilities.\n\nThis module provides:\n- `Env`: an abstract JAX-compatible environment interface used by `rollout()`,\n- `PymdpEnv`: a concrete environment driven by categorical `A`, `B`, and `D`,\n- `make(...)`: a convenience constructor for `PymdpEnv` and optional params.\n\"\"\"\n\nfrom abc import ABC, abstractmethod\nfrom functools import partial\nfrom typing import Any, Sequence\n\nimport jax.numpy as jnp\nfrom jax import jit, nn, random as jr, tree_util as jtu, vmap\nfrom jaxtyping import Array\n\nfrom pymdp.distribution import Distribution, get_dependencies\n\n\ndef _float_to_int_index(x: Array) -> Array:\n    \"\"\"Cast index arrays to int32 for safe advanced indexing.\n\n    Parameters\n    ----------\n    x : Array\n        Index leaf, potentially represented in floating type.\n\n    Returns\n    -------\n    Array\n        Integer index array (`int32`) with the same structure as `x`.\n    \"\"\"\n    return jnp.asarray(x, jnp.int32)\n\n\ndef select_probs(\n    positions: Sequence[Array],\n    matrix: Array,\n    dependency_list: Sequence[int],\n    actions: Array | None = None,\n) -> Array:\n    \"\"\"Select conditional probabilities from a factorized tensor.\n\n    Parameters\n    ----------\n    positions : Sequence[Array]\n        Current hidden-state indices for all factors.\n    matrix : Array\n        Likelihood or transition tensor to index.\n    dependency_list : Sequence[int]\n        Indices of factors used to index `matrix` lagging dimensions.\n    actions : Array | None, optional\n        Optional action index (or action indices) used to select the final\n        action axis in transition tensors.\n\n    Returns\n    -------\n    Array\n        Selected conditional probability vector(s).\n    \"\"\"\n    index_args = tuple(_float_to_int_index(positions[i]) for i in dependency_list)\n    if actions is not None:\n        index_args += (_float_to_int_index(actions),)\n    return matrix[(..., *index_args)]\n\n\ndef cat_sample(key: Array, p: Array) -> Array:\n    \"\"\"Sample from one or more categorical distributions.\n\n    Parameters\n    ----------\n    key : Array\n        JAX PRNG key.\n    p : Array\n        Probability vector or batch of probability vectors on the last axis.\n\n    Returns\n    -------\n    Array\n        Sampled category index/indices as floating values.\n    \"\"\"\n    a = jnp.arange(p.shape[-1], dtype=jnp.float32)\n    if p.ndim > 1:\n        choice = lambda key, p: jr.choice(key, a, p=p)\n        keys = jr.split(key, len(p))\n        return vmap(choice)(keys, p)\n\n    return jr.choice(key, a, p=p)\n\n\ndef make(\n    A: Sequence[Array] | Sequence[Distribution],\n    B: Sequence[Array] | Sequence[Distribution],\n    D: Sequence[Array] | Sequence[Distribution],\n    A_dependencies: list[list[int]] | None = None,\n    B_dependencies: list[list[int]] | None = None,\n    make_env_params: bool = False,\n    **kwargs: Any,\n) -> tuple[\"PymdpEnv\", dict[str, list[Array]] | None]:\n    \"\"\"Construct a `PymdpEnv` (and optionally environment parameters).\n\n    Parameters\n    ----------\n    A : sequence[Array] | sequence[Distribution]\n        Observation likelihood tensors, one per observation modality.\n    B : sequence[Array] | sequence[Distribution]\n        Transition tensors, one per hidden-state factor.\n    D : sequence[Array] | sequence[Distribution]\n        Initial-state priors, one per hidden-state factor.\n    A_dependencies : list[list[int]] | None, optional\n        Explicit modality-to-state dependencies. If `None`, dependencies are\n        inferred when possible.\n    B_dependencies : list[list[int]] | None, optional\n        Explicit state-transition dependencies. If `None`, dependencies are\n        inferred when possible.\n    make_env_params : bool, default=False\n        If `True`, also return `env_params={\"A\": ..., \"B\": ..., \"D\": ...}`\n        with `Distribution` entries converted to dense arrays.\n    **kwargs : Any\n        Additional keyword arguments forwarded to `PymdpEnv`.\n\n    Returns\n    -------\n    tuple[PymdpEnv, dict[str, list[Array]] | None]\n        Constructed environment and optional unbatched environment parameters.\n        To broadcast parameters to a larger batch, call\n        `env.generate_env_params(batch_size=...)`.\n    \"\"\"\n    env = PymdpEnv(\n        A=A,\n        B=B,\n        D=D,\n        A_dependencies=A_dependencies,\n        B_dependencies=B_dependencies,\n        **kwargs,\n    )\n    if not make_env_params:\n        return env, None\n\n    def _to_arrays(params: Sequence[Array] | Sequence[Distribution] | None) -> list[Array] | None:\n        if params is None:\n            return None\n        return [jnp.array(p.data) if isinstance(p, Distribution) else p for p in params]\n\n    env_params = {\"A\": _to_arrays(A), \"B\": _to_arrays(B), \"D\": _to_arrays(D)}\n\n    return env, env_params\n\n\nclass Env(ABC):\n    \"\"\"Abstract JAX-compatible environment interface used by `rollout()`.\"\"\"\n\n    @abstractmethod\n    def reset(\n        self,\n        key: Array,\n        state: list[Array] | None = None,\n        env_params: dict[str, list[Array]] | None = None,\n    ) -> tuple[list[Array], list[Array]]:\n        \"\"\"Reset environment state and return initial observation/state.\n\n        Parameters\n        ----------\n        key : Array\n            JAX PRNG key.\n        state : list[Array] | None, optional\n            Optional explicit initial hidden state.\n        env_params : dict[str, list[Array]] | None, optional\n            Optional runtime override for environment parameters.\n\n        Returns\n        -------\n        tuple[list[Array], list[Array]]\n            Initial observations and hidden state.\n        \"\"\"\n        raise NotImplementedError\n\n    @abstractmethod\n    def step(\n        self,\n        key: Array,\n        state: list[Array],\n        action: Array | None,\n        env_params: dict[str, list[Array]] | None = None,\n    ) -> tuple[list[Array], list[Array]]:\n        \"\"\"Advance one environment step and return new observation/state.\n\n        Parameters\n        ----------\n        key : Array\n            JAX PRNG key.\n        state : list[Array]\n            Current hidden state.\n        action : Array | None\n            Action sampled by the agent. `None` can be used for no-op updates.\n        env_params : dict[str, list[Array]] | None, optional\n            Optional runtime override for environment parameters.\n\n        Returns\n        -------\n        tuple[list[Array], list[Array]]\n            Next observations and hidden state.\n        \"\"\"\n        raise NotImplementedError\n\n    def generate_env_params(\n        self, key: Array | None = None, batch_size: int | None = None\n    ) -> dict[str, list[Array]] | None:\n        \"\"\"Generate optional environment parameter pytrees.\n\n        Parameters\n        ----------\n        key : Array | None, optional\n            Optional JAX PRNG key (unused by default implementation).\n        batch_size : int | None, optional\n            Optional batch size for parameter generation.\n\n        Returns\n        -------\n        dict[str, list[Array]] | None\n            Environment parameters or `None` if not implemented.\n        \"\"\"\n        return None\n\n\nclass PymdpEnv(Env):\n    \"\"\"Environment whose dynamics are defined by categorical `A`, `B`, and `D`.\n\n    `PymdpEnv` is useful when the environment is isomorphic to a discrete POMDP\n    generative process:\n    - `A[m]`: observation likelihoods per modality,\n    - `B[f]`: transitions per hidden-state factor,\n    - `D[f]`: initial-state priors per hidden-state factor.\n    \"\"\"\n\n    def __init__(\n        self,\n        A: Sequence[Array] | Sequence[Distribution] | None = None,\n        B: Sequence[Array] | Sequence[Distribution] | None = None,\n        D: Sequence[Array] | Sequence[Distribution] | None = None,\n        A_dependencies: list[list[int]] | None = None,\n        B_dependencies: list[list[int]] | None = None,\n        categorical_obs: bool = False,\n        **kwargs: Any,\n    ) -> None:\n        \"\"\"Initialize `PymdpEnv`.\n\n        Parameters\n        ----------\n        A : sequence[Array] | sequence[Distribution] | None, optional\n            Observation likelihood tensors.\n        B : sequence[Array] | sequence[Distribution] | None, optional\n            Transition tensors.\n        D : sequence[Array] | sequence[Distribution] | None, optional\n            Initial-state priors.\n        A_dependencies : list[list[int]] | None, optional\n            Modality-to-state dependencies for `A`.\n        B_dependencies : list[list[int]] | None, optional\n            State-to-state dependencies for `B`.\n        categorical_obs : bool, default=False\n            If `True`, emit one-hot categorical observation vectors with shape\n            `(1, num_obs)` per modality. Otherwise emit discrete indices with\n            shape `(1,)`.\n        **kwargs : Any\n            Accepted for forward compatibility.\n        \"\"\"\n        del kwargs\n        self.categorical_obs = categorical_obs\n\n        if A_dependencies is not None:\n            self.A_dependencies = A_dependencies\n        elif A is not None and B is not None:\n            if isinstance(A[0], Distribution) and isinstance(B[0], Distribution):\n                self.A_dependencies, _ = get_dependencies(A, B)\n            else:\n                self.A_dependencies = [list(range(len(B))) for _ in range(len(A))]\n        else:\n            raise ValueError(\"Need to provide A and B or A_dependencies\")\n\n        if B_dependencies is not None:\n            self.B_dependencies = B_dependencies\n        elif A is not None and B is not None:\n            if isinstance(A[0], Distribution) and isinstance(B[0], Distribution):\n                _, self.B_dependencies = get_dependencies(A, B)\n            else:\n                self.B_dependencies = [[f] for f in range(len(B))]\n        else:\n            raise ValueError(\"Need to provide A and B or B_dependencies\")\n\n        if A is not None:\n            self.A = [jnp.array(a.data) if isinstance(a, Distribution) else a for a in A]\n        else:\n            self.A = None\n\n        if B is not None:\n            self.B = [jnp.array(b.data) if isinstance(b, Distribution) else b for b in B]\n        else:\n            self.B = None\n\n        if D is not None:\n            self.D = [jnp.array(d.data) if isinstance(d, Distribution) else d for d in D]\n        else:\n            self.D = None\n\n    def generate_env_params(\n        self, key: Array | None = None, batch_size: int | None = None\n    ) -> dict[str, list[Array]]:\n        \"\"\"Return default environment params, optionally broadcast to batch.\n\n        Parameters\n        ----------\n        key : Array | None, optional\n            Optional JAX PRNG key (unused).\n        batch_size : int | None, optional\n            If provided, broadcast each parameter leaf with leading shape\n            `(batch_size, ...)`.\n\n        Returns\n        -------\n        dict[str, list[Array]]\n            Dictionary with keys `\"A\"`, `\"B\"`, and `\"D\"`.\n        \"\"\"\n        del key\n\n        env_params = {\"A\": self.A, \"B\": self.B, \"D\": self.D}\n        if batch_size is None:\n            return env_params\n\n        expand_to_batch = lambda x: jnp.broadcast_to(jnp.asarray(x), (batch_size,) + x.shape)\n        return jtu.tree_map(expand_to_batch, {\"A\": self.A, \"B\": self.B, \"D\": self.D})\n\n    @partial(jit, static_argnums=(0,))\n    def reset(\n        self,\n        key: Array,\n        state: list[Array] | None = None,\n        env_params: dict[str, list[Array]] | None = None,\n    ) -> tuple[list[Array], list[Array]]:\n        \"\"\"Reset state and emit an initial observation sample.\n\n        If `state` is omitted, states are sampled from `D`.\n        \"\"\"\n        if state is None:\n            probs = env_params[\"D\"] if env_params is not None else self.D\n            keys = list(jr.split(key, len(probs) + 1))\n            key = keys[0]\n            state = jtu.tree_map(cat_sample, keys[1:], probs)\n        obs = self._sample_obs(key, state, env_params)\n        return obs, state\n\n    @partial(jit, static_argnums=(0,))\n    def step(\n        self,\n        key: Array,\n        state: list[Array],\n        action: Array | None,\n        env_params: dict[str, list[Array]] | None = None,\n    ) -> tuple[list[Array], list[Array]]:\n        \"\"\"Advance the process by one timestep.\n\n        If `action` is provided, next hidden states are sampled from `B`.\n        Observations are then sampled from `A` conditioned on the new state.\n        \"\"\"\n        key_state, key_obs = jr.split(key)\n        if action is not None:\n            action = list(action)\n            _select_probs = partial(select_probs, state)\n            B = env_params[\"B\"] if env_params is not None else self.B\n            state_probs = jtu.tree_map(_select_probs, B, self.B_dependencies, action)\n\n            keys = list(jr.split(key_state, len(state_probs)))\n            new_state = jtu.tree_map(cat_sample, keys, state_probs)\n        else:\n            new_state = state\n\n        new_obs = self._sample_obs(key_obs, new_state, env_params)\n\n        return new_obs, new_state\n\n    def _sample_obs(\n        self, key: Array, state: list[Array], env_params: dict[str, list[Array]] | None\n    ) -> list[Array]:\n        \"\"\"Sample all observation modalities conditioned on hidden state.\"\"\"\n        _select_probs = partial(select_probs, state)\n        A = env_params[\"A\"] if env_params is not None else self.A\n        obs_probs = jtu.tree_map(_select_probs, A, self.A_dependencies)\n\n        keys = list(jr.split(key, len(obs_probs)))\n        obs_idx = jtu.tree_map(cat_sample, keys, obs_probs)\n\n        if self.categorical_obs:\n            new_obs = [\n                jnp.expand_dims(\n                    nn.one_hot(jnp.asarray(obs_m, dtype=jnp.int32), probs_m.shape[-1]),\n                    axis=-2,\n                )\n                for obs_m, probs_m in zip(obs_idx, obs_probs)\n            ]\n            return new_obs\n\n        new_obs = jtu.tree_map(lambda x: jnp.expand_dims(x, -1), obs_idx)\n        return new_obs\n"
  },
  {
    "path": "pymdp/envs/generalized_tmaze.py",
    "content": "from .env import PymdpEnv\nfrom typing import Any\nimport numpy as np\nimport math\nimport jax.numpy as jnp\n\nimport matplotlib.pyplot as plt\nfrom pymdp.utils import fig2img\n\nfrom jax import random as jr\nfrom jaxtyping import PRNGKeyArray\nfrom matplotlib.lines import Line2D\n\n\ndef get_maze_matrix(small: bool = False) -> np.ndarray:\n\n    \"\"\"\n    We create a matrix representation of the T-maze environment\n    \n    Matrix values:\n    0: Grid cells the agent can move through\n    1: Initial position of the agent\n    2: Walls of the grid cells\n    3, 6, 9: Cue locations (multiples of 3, where 3 is cue for reward set 1, 6 for set 2, etc.)\n    4+: Potential reward locations:\n        4-5: Reward set 1 locations\n        7-8: Reward set 2 locations\n        10-11: Reward set 3 locations\n    \n    Args:\n        small: If True, creates a 3x3 maze with 2 reward sets\n               If False, creates a 5x5 maze with 3 reward sets\n    \"\"\"\n\n    if small:\n        M = np.zeros((3, 3))  # 3x3 grid\n\n        # Set the reward locations for sets 1 and 2\n        M[0,0] = 4  # First location of reward set 1\n        M[1,0] = 5  # Second location of reward set 1\n        M[1,2] = 7  # First location of reward set 2\n        M[0,2] = 8  # Second location of reward set 2\n\n        # Set the cue locations\n        M[2,0] = 3  # Cue for reward set 1 (3 = 3*1)\n        M[2,2] = 6  # Cue for reward set 2 (6 = 3*2)\n\n        # Set the initial position\n        M[2,1] = 1\n    else:\n        M = np.zeros((5, 5))  # 5x5 grid\n\n        # Set the reward locations for sets 1, 2, and 3\n        M[0,0] = 4   # First location of reward set 1\n        M[1,0] = 5   # Second location of reward set 1\n        M[1,4] = 7   # First location of reward set 2\n        M[0,4] = 8   # Second location of reward set 2\n        M[4,1] = 10  # First location of reward set 3\n        M[4,3] = 11  # Second location of reward set 3\n\n        # Set the cue locations\n        M[2,1] = 3   # Cue for reward set 1 (3 = 3*1)\n        M[2,3] = 6   # Cue for reward set 2 (6 = 3*2)\n        M[3,2] = 9   # Cue for reward set 3 (9 = 3*3)\n\n        # Set the initial position\n        M[2,2] = 1\n\n    return M\n\ndef parse_maze(maze: np.ndarray, rng_key: PRNGKeyArray) -> dict[str, Any]:\n    \"\"\"\n    Parses the maze matrix into a format needed for the environment and its visualization.\n    \n    Parameters\n    ----------\n    maze : array\n        A matrix representation of the environment where values represent:\n        0: Grid cells the agent can move through\n        1: Initial position of the agent\n        2: Walls of the grid cells \n        3, 6, 9: Cue locations (multiples of 3, where 3 is cue for reward set 1, 6 for set 2, etc.)\n        4+: Potential reward locations:\n            4-5: Reward set 1 locations\n            7-8: Reward set 2 locations\n            10-11: Reward set 3 locations\n    \n    rng_key : PRNGKeyArray\n        Random key for determining which location in each set will be reward vs punishment\n    \n    Returns\n    ----------\n    env_info : dict\n        Dictionary containing:\n        - maze: The original maze matrix\n        - actions: Possible movements [(up), (down), (left), (right)]\n        - num_cues: Number of cue-reward sets\n        - cue_positions: Coordinates of each cue\n        - reward_indices: Flattened indices of true reward locations\n        - no_reward_indices: Flattened indices of punishment locations\n        - initial_position: Starting coordinates of agent\n        - reward_1_positions: Coordinates of first potential reward location in each set\n        - reward_2_positions: Coordinates of second potential reward location in each set\n        - reward_locations: Binary array indicating which position (1 or 2) contains reward for each set\n    \"\"\"\n    rows, cols = maze.shape\n\n    # Calculate number of cue-reward sets based on highest value in maze\n    # (max value - 2) // 3 gives us number of sets because:\n    # Set 1: cue=3, rewards=4,5\n    # Set 2: cue=6, rewards=7,8\n    # Set 3: cue=9, rewards=10,11\n    num_cues = int((jnp.max(maze) - 2) // 3)\n\n    \n    # Store coordinates for each set's cue and potential reward locations\n    cue_positions = []\n    reward_1_positions = []\n    reward_2_positions = []\n    for i in range(num_cues):\n        # For set i:\n        # Cue value = 3 + 3i (3,6,9)\n        cue_positions.append(tuple(jnp.argwhere(maze == 3 + 3 * i)[0]))\n        # First reward location value = 4 + 3i (4,7,10)\n        reward_1_positions.append(tuple(jnp.argwhere(maze == 4 + 3 * i)[0]))\n        # Second reward location value = 5 + 3i (5,8,11)\n        reward_2_positions.append(tuple(jnp.argwhere(maze == 5 + 3 * i)[0]))\n\n    # Get agent's starting position (value = 1 in maze)\n    initial_position = tuple(jnp.argwhere(maze == 1)[0])\n\n    # Define possible movements in (row, col) format\n    actions = [(-1, 0), (1, 0), (0, -1), (0, 1)]\n\n    # Randomly assign which location in each set will be reward vs punishment\n    # reward_locations[i] = 0 means first location is reward, 1 means second location is reward\n        # Using uniform random numbers\n    key, subkey = jr.split(rng_key)\n    reward_locations = (jr.uniform(subkey, shape=(num_cues,)) > 0.5).astype(jnp.int32)\n    # reward_locations = jr.choice(rng_key, 2, shape=(num_cues,))\n    reward_indices = []\n    no_reward_indices = []\n\n    # Convert 2D coordinates to flattened indices for each set\n    for i in range(num_cues):\n        if reward_locations[i] == 0:\n            # First location (4,7,10) is reward\n            reward_indices += [jnp.ravel_multi_index(jnp.array(reward_1_positions[i]), maze.shape).item()]\n            # Second location (5,8,11) is punishment\n            no_reward_indices += [jnp.ravel_multi_index(jnp.array(reward_2_positions[i]), maze.shape).item()]\n        else:\n            # Second location is reward\n            reward_indices += [jnp.ravel_multi_index(jnp.array(reward_2_positions[i]), maze.shape).item()]\n            # First location is punishment\n            no_reward_indices += [jnp.ravel_multi_index(jnp.array(reward_1_positions[i]), maze.shape).item()]\n\n    return {\n        \"maze\": maze,\n        \"actions\": actions,\n        \"num_cues\": num_cues,\n        \"cue_positions\": cue_positions,\n        \"reward_indices\": reward_indices,\n        \"no_reward_indices\": no_reward_indices,\n        \"initial_position\": initial_position,\n        \"reward_1_positions\": reward_1_positions,\n        \"reward_2_positions\": reward_2_positions,\n        \"reward_locations\": reward_locations,\n    }\n\n\ndef generate_A(maze_info: dict[str, Any]) -> tuple[list[jnp.ndarray], list[list[int]]]:\n    \"\"\"\n    Parameters\n    ----------\n    maze_info:\n        info dict returned from `parse_maze` which contains the information\n        about the reward locations, initial positions, etc.\n    Returns\n    ----------\n    A matrix:\n        The likelihood mapping for the generalized T-maze. Maps the observations\n        of (position, *cue_i, *reward_i) to states (position, reward)\n    A dependencies:\n        The state dependencies that generate observation for modality i\n    \"\"\"\n    # Positional observation likelihood\n    maze = maze_info[\"maze\"]\n    rows, cols = maze.shape\n    num_cues = maze_info[\"num_cues\"]\n    cue_positions = maze_info[\"cue_positions\"]\n    reward_1_positions = maze_info[\"reward_1_positions\"]\n    reward_2_positions = maze_info[\"reward_2_positions\"]\n\n    num_states = rows * cols\n    position_likelihood = jnp.zeros((num_states, num_states))\n    for i in range(num_states):\n        # Agent can be certain about its position regardless of reward state\n        position_likelihood = position_likelihood.at[i, i].set(1)\n\n    cue_likelihoods = []\n    for i in range(num_cues):\n        # Cue observation likelihood, cue_position = (11, 5)\n        # obs (nothing, left location, right location)\n        # state: (current position, reward i position)\n        cue_likelihood = jnp.zeros((3, num_states, 2))\n        cue_likelihood = cue_likelihood.at[0, :, :].set(1)  # Default: no info about reward\n\n        cue_state_idx = jnp.ravel_multi_index(jnp.array(cue_positions[i]), maze.shape)\n        reward_1_state_idx = jnp.ravel_multi_index(jnp.array(reward_1_positions[i]), maze.shape)\n        reward_2_state_idx = jnp.ravel_multi_index(jnp.array(reward_2_positions[i]), maze.shape)\n\n        cue_likelihood = cue_likelihood.at[:, cue_state_idx, 0].set(jnp.array([0, 1, 0]))  # Reward in r1\n        cue_likelihood = cue_likelihood.at[:, cue_state_idx, 1].set(jnp.array([0, 0, 1]))  # Reward in r2\n        cue_likelihoods.append(cue_likelihood)\n\n    # Reward observation likelihood, r1 = (4, 7), r2 = (8, 7)\n    reward_likelihoods = []\n\n    for i in range(num_cues):\n        # observation (nothing, no reward, reward)\n        reward_likelihood = jnp.zeros((3, num_states, 2))\n        reward_likelihood = reward_likelihood.at[0, :, :].set(1)  # Default: no reward\n\n        reward_1_state_idx = jnp.ravel_multi_index(jnp.array(reward_1_positions[i]), maze.shape)\n        reward_2_state_idx = jnp.ravel_multi_index(jnp.array(reward_2_positions[i]), maze.shape)\n\n        # Reward in (8,4) if reward state is 0\n        reward_likelihood = reward_likelihood.at[:, reward_1_state_idx, 0].set(jnp.array([0, 1, 0]))\n        # Reward in (8,8) if reward state is 0\n        reward_likelihood = reward_likelihood.at[:, reward_2_state_idx, 0].set(jnp.array([0, 0, 1]))\n        # Reward in (8,4) if reward state is 0\n        reward_likelihood = reward_likelihood.at[:, reward_1_state_idx, 1].set(jnp.array([0, 0, 1]))\n        # Reward in (8,8) if reward state is 0\n        reward_likelihood = reward_likelihood.at[:, reward_2_state_idx, 1].set(jnp.array([0, 1, 0]))\n        reward_likelihoods.append(reward_likelihood)\n\n    combined_likelihood = []\n    combined_likelihood.append(position_likelihood)\n    for cue_likelihood in cue_likelihoods:\n        combined_likelihood.append(cue_likelihood)\n    for reward_likelihood in reward_likelihoods:\n        combined_likelihood.append(reward_likelihood)\n\n    likelihood_dependencies = (\n        [[0]]\n        + [[0, 1 + i] for i in range(num_cues)]\n        + [[0, 1 + i] for i in range(num_cues)]\n    )\n\n    return combined_likelihood, likelihood_dependencies\n\n\ndef generate_B(maze_info: dict[str, Any]) -> tuple[list[jnp.ndarray], list[list[int]]]:\n    \"\"\"\n    Parameters\n    ----------\n    maze_info:\n        info dict returned from `parse_maze` which contains the information\n        about the reward locations, initial positions, etc.\n    Returns\n    ----------\n    B matrix:\n        The transition matrix for the generalized T-maze. The position state\n        is transitioned according to the maze layout, for the other states\n        the transition matrix is the identity.\n    B dependencies:\n        The state dependencies that generate transition for state i\n    \"\"\"\n\n    maze = maze_info[\"maze\"]\n    actions = maze_info[\"actions\"]\n    num_cues = maze_info[\"num_cues\"]\n\n    rows, cols = maze.shape\n    num_states = rows * cols\n    num_actions = len(actions)\n\n    P = jnp.zeros((num_states, num_actions), dtype=int)\n\n    for s in range(num_states):\n        row, col = divmod(s, cols)\n\n        for a in range(num_actions):\n            ns_row, ns_col = row + actions[a][0], col + actions[a][1]\n\n            if (\n                ns_row < 0\n                or ns_row >= rows\n                or ns_col < 0\n                or ns_col >= cols\n                or maze[ns_row, ns_col] == 2\n            ):\n                P = P.at[s, a].set(s)\n            else:\n                P = P.at[s, a].set(jnp.ravel_multi_index(jnp.array((ns_row, ns_col)), maze.shape))\n\n    B = jnp.zeros((num_states, num_states, num_actions))\n    for s in range(num_states):\n        for a in range(num_actions):\n            ns = P[s, a]\n            B = B.at[ns, s, a].set(1)\n    # add do nothing action \n    B = jnp.concatenate([B, jnp.eye(num_states)[..., None]], -1)\n\n    assert jnp.all(jnp.logical_or(B == 0, B == 1))\n    assert jnp.allclose(B.sum(axis=0), 1)\n\n    reward_transitions = []\n    for i in range(num_cues):\n        reward_transition = jnp.eye(2).reshape(2, 2, 1)\n        reward_transitions.append(reward_transition)\n\n    combined_transition = []\n    combined_transition.append(B)\n    for reward_transition in reward_transitions:\n        combined_transition.append(reward_transition)\n\n    transition_dependencies = [[0]] + [[i + 1] for i in range(num_cues)]\n\n    return combined_transition, transition_dependencies\n\n\ndef generate_D(maze_info: dict[str, Any]) -> list[jnp.ndarray]:\n    \"\"\"\n    Parameters\n    ----------\n    maze_info:\n        info dict returned from `parse_maze` which contains the information\n        about the reward locations, initial positions, etc.\n    Returns\n    ----------\n    D vector:\n        The initial state for the environment, i.e. each state is a one hot\n        based on the environment initial conditions.\n    \"\"\"\n    maze = maze_info[\"maze\"]\n    rows, cols = maze.shape\n    num_cues = maze_info[\"num_cues\"]\n    reward_locations = maze_info[\"reward_locations\"]\n    initial_position = maze_info[\"initial_position\"]\n\n    D = [None for _ in range(1 + num_cues)]\n\n    D[0] = jnp.zeros(cols * rows)\n    # Position of the agent when starting the environment\n    D[0] = D[0].at[jnp.ravel_multi_index(jnp.array(initial_position), maze.shape)].set(1)\n\n    # Cue state i.e. where is the reward\n    for i in range(num_cues):\n        r1 = reward_locations[i]\n        D[1 + i] = jnp.zeros(2)\n        D[1 + i] = D[1 + i].at[r1].set(1)\n\n    return D\nclass GeneralizedTMazeEnv(PymdpEnv):\n    \"\"\"\n    Extended version of the T-Maze in which there are multiple cues and reward pairs\n    similar to the original T-maze.\n    \"\"\"\n\n    def __init__(self, env_info: dict[str, Any], categorical_obs: bool = False) -> None:\n        \"\"\"Initialize the generalized T-maze environment.\n\n        Parameters\n        ----------\n        env_info : dict[str, Any]\n            Environment specification used to construct the maze dynamics.\n        categorical_obs : bool, default=False\n            If ``True``, ``reset()`` and ``step()`` emit one-hot categorical\n            observation vectors with shape ``(1, num_obs_m)`` for each\n            modality. If ``False``, they emit discrete observation indices with\n            shape ``(1,)``.\n        \"\"\"\n        A, A_dependencies = generate_A(env_info)\n        B, B_dependencies = generate_B(env_info)\n        D = generate_D(env_info)\n        super().__init__(\n            A,\n            B,\n            D,\n            A_dependencies,\n            B_dependencies,\n            categorical_obs=categorical_obs,\n        )\n        self.env_info = env_info\n\n    def render(self, states: list[jnp.ndarray], mode: str = \"human\") -> jnp.ndarray | None:\n        \"\"\"\n        Renders the environment\n        Parameters\n        ----------\n        states:\n            The environment states to render\n        mode: str, optional\n            The mode to render with (\"human\" or \"rgb_array\")\n        Returns\n        ----------\n        if mode == \"human\":\n            returns None, renders the environment using matplotlib inside the function\n        elif mode == \"rgb_array\":\n            A (H, W, 3) jax.numpy array that can act as input to functions like plt.imshow, with values between 0 and 255\n        \"\"\"\n\n        if (states[0].ndim == 0):\n            states = [jnp.expand_dims(s,0) for s in states]  # add batch dimension\n\n        batch_size = states[0].shape[0]\n\n        plt.clf()  # Clear the current figure\n\n        maze = self.env_info[\"maze\"].copy()\n        num_cues = self.env_info[\"num_cues\"]\n        cue_positions = self.env_info[\"cue_positions\"]\n        reward_1_positions = self.env_info[\"reward_1_positions\"]\n        reward_2_positions = self.env_info[\"reward_2_positions\"]\n\n        # Set all states not in [1] to be 0 (accessible state)\n        mask = np.isin(maze, [2], invert=True)\n        maze[mask] = 0\n\n        # create n x n subplots for the batch_size\n        n = math.ceil(math.sqrt(batch_size))\n\n        # create the subplots\n        fig, axes = plt.subplots(n, n, figsize=(8,8),squeeze=False)\n        axes_flat = axes.ravel()\n\n        cmap = plt.get_cmap(\"tab10\")\n\n        for (i, ax) in enumerate(axes_flat[:batch_size]):\n            \n            current_position = states[0][i]\n            current_position = jnp.unravel_index(current_position, maze.shape) # (row, col)\n\n            ax.imshow(maze, cmap=\"gray_r\", origin=\"lower\")\n\n            # cues\n            ax.scatter(\n                [ci[1] for ci in cue_positions],\n                [ci[0] for ci in cue_positions],\n                color=[cmap(i) for i in range(len(cue_positions))],\n                s=200,\n                alpha=0.5,\n            )\n            ax.scatter(\n                [ci[1] for ci in cue_positions],\n                [ci[0] for ci in cue_positions],\n                color=\"black\",\n                s=50,\n                label=\"Cue\",\n                marker=\"x\",\n            )\n\n            # reward candidates\n            ax.scatter(\n                [ri[1] for ri in reward_1_positions],\n                [ri[0] for ri in reward_1_positions],\n                color=[cmap(i) for i in range(len(cue_positions))],\n                s=200,\n                alpha=0.5,\n            )\n\n            ax.scatter(\n                [ri[1] for ri in reward_2_positions],\n                [ri[0] for ri in reward_2_positions],\n                color=[cmap(i) for i in range(len(cue_positions))],\n                s=200,\n                alpha=0.5,\n            )\n\n            for j, (r1, r2) in enumerate(zip(reward_1_positions, reward_2_positions)):\n                if j == self.env_info[\"num_cues\"] - 1:  # Only for the true reward set\n                    if self.env_info[\"reward_locations\"][j] == 0:\n                        # First location is reward\n                        ax.scatter(r1[1], r1[0], color='red', s=100, marker='o', zorder=4, label = \"Reward\")  # Red dot\n                        ax.scatter(r2[1], r2[0], color='blue', s=100, marker='o', zorder=4, label = \"Punishment\")  # Blue dot\n                    else:\n                        # Second location is reward\n                        ax.scatter(r2[1], r2[0], color='red', s=100, marker='o', zorder=4, label = \"Reward\")  # Red dot\n                        ax.scatter(r1[1], r1[0], color='blue', s=100, marker='o', zorder=4, label = \"Punishment\")  # Blue dot\n\n\n            ax.scatter(\n                current_position[1],\n                current_position[0],\n                c=\"tab:green\",\n                marker=\"s\",\n                s=100,\n                label=\"Agent\",\n            )\n\n        # hide unused axes\n        for k in range(batch_size, n * n):\n            axes_flat[k].axis(\"off\")\n\n        plt.suptitle(\"Generalized T-Maze Environment\")\n\n        base_ax = axes_flat[next(i for i in range(len(axes_flat)) if axes_flat[i].has_data())]  # get  \n        handles, labels = base_ax.get_legend_handles_labels()\n        for i in range(num_cues):\n            if i == num_cues - 1:\n                label = \"True Reward Set\"\n            else:\n                label = f\"Distractor Set {i + 1}\"\n            patch = Line2D(\n                [0],\n                [0],\n                marker=\"o\",\n                markersize=10,\n                markerfacecolor=cmap(i),\n                markeredgecolor=cmap(i),\n                label=label,\n                alpha=0.5,\n                linestyle=\"\",\n            )\n            handles.append(patch)\n\n        plt.legend(\n            handles=handles, loc=\"upper left\", bbox_to_anchor=(1, 1), fancybox=True\n        )\n        plt.tight_layout()\n\n        if mode == \"human\":\n            plt.show()\n        elif mode == \"rgb_array\":\n            img = fig2img(fig)\n            plt.close(fig) \n            return img\n    \n"
  },
  {
    "path": "pymdp/envs/graph_worlds.py",
    "content": "import networkx as nx\nfrom jax import numpy as jnp, random as jr, tree_util as jtu\nfrom typing import Any, Optional, List, Tuple\nfrom jaxtyping import PRNGKeyArray\nfrom .env import PymdpEnv\nimport warnings\n\ndef generate_connected_clusters(\n    cluster_size: int = 2, connections: int = 2\n) -> tuple[nx.Graph, dict[str, list[str]]]:\n    edges = []\n    connecting_node = 0\n    while connecting_node < connections * cluster_size:\n        edges += [(connecting_node, a) for a in range(connecting_node + 1, connecting_node + cluster_size + 1)]\n        connecting_node = len(edges)\n    graph = nx.Graph()\n    graph.add_edges_from(edges)\n    return graph, {\n        \"locations\": [\n            (f\"hallway {i}\" if len(list(graph.neighbors(loc))) > 1 else f\"room {i}\")\n            for i, loc in enumerate(graph.nodes)\n        ]\n    }\n\nclass GraphEnv(PymdpEnv):\n    \"\"\"\n    A simple environment where an agent can move around a graph and search an object.\n    The agent observes its own location, as well as whether the object is at its location.\n    \"\"\"\n\n    def __init__(\n        self,\n        graph: nx.Graph,\n        object_location: Optional[int] = None,\n        agent_location: Optional[int] = None,\n        key: Optional[PRNGKeyArray] = None,\n        categorical_obs: bool = False,\n    ) -> None:\n        \"\"\"Initialize the graph environment.\n\n        Parameters\n        ----------\n        graph : nx.Graph\n            Connectivity graph for agent movement.\n        object_location : int | None, optional\n            Fixed initial object location. If ``None``, sampled randomly.\n        agent_location : int | None, optional\n            Fixed initial agent location. If ``None``, sampled randomly.\n        key : PRNGKeyArray | None, optional\n            Random key used when initial locations are sampled.\n        categorical_obs : bool, default=False\n            If ``True``, ``reset()`` and ``step()`` emit one-hot categorical\n            observation vectors with shape ``(1, num_obs_m)`` for each\n            modality. If ``False``, they emit discrete observation indices with\n            shape ``(1,)``.\n        \"\"\"\n\n        A, A_dependencies = self.generate_A(graph)\n        B, B_dependencies = self.generate_B(graph)\n\n        if object_location is None:\n            key = jr.PRNGKey(0) if key is None else key\n            _, _key = jr.split(key)\n            object_location = jr.randint(_key, shape=(), minval=0, maxval=len(graph.nodes) + 1)  # +1 for \"not here\"\n        if agent_location is None:\n            key = jr.PRNGKey(1) if key is None else key\n            _, _key = jr.split(key)\n            agent_location = jr.randint(_key, shape=(), minval=0, maxval=len(graph.nodes))\n\n        D = self.generate_D(graph, object_location, agent_location)\n\n        super().__init__(\n            A=A,\n            B=B,\n            D=D,\n            A_dependencies=A_dependencies,\n            B_dependencies=B_dependencies,\n            categorical_obs=categorical_obs,\n        )\n\n    def generate_A(self, graph: nx.Graph) -> tuple[list[jnp.ndarray], list[list[int]]]:\n        A = []\n        A_dependencies = []\n\n        num_locations = len(graph.nodes)\n        num_object_locations = num_locations + 1  # +1 for \"not here\"\n        p = 1.0  # probability of seeing object if it is at the same location as the agent\n\n        # agent location modality\n        A.append(jnp.eye(num_locations))\n        A_dependencies.append([0])\n\n        # object visibility modality\n        A.append(jnp.zeros((2, num_locations, num_object_locations)))\n\n        for agent_loc in range(num_locations):\n            for object_loc in range(num_locations):\n                if agent_loc == object_loc:\n                    # object seen\n                    A[1] = A[1].at[0, agent_loc, object_loc].set(1 - p)\n                    A[1] = A[1].at[1, agent_loc, object_loc].set(p)\n                else:\n                    A[1] = A[1].at[0, agent_loc, object_loc].set(p)\n                    A[1] = A[1].at[1, agent_loc, object_loc].set(1.0 - p)\n\n        # object not here, we can't see it anywhere\n        A[1] = A[1].at[0, :, -1].set(1.0)\n        A[1] = A[1].at[1, :, -1].set(0.0)\n\n        A_dependencies.append([0, 1])\n        return A, A_dependencies\n\n    def generate_B(self, graph: nx.Graph) -> tuple[list[jnp.ndarray], list[list[int]]]:\n        B = []\n        B_dependencies = []\n\n        num_locations = len(graph.nodes)\n        num_object_locations = num_locations + 1\n\n        # agent location transitions, based on graph connectivity\n        B.append(jnp.zeros((num_locations, num_locations, num_locations)))\n        for action in range(num_locations):\n            for from_loc in range(num_locations):\n                for to_loc in range(num_locations):\n                    if action == to_loc:\n                        # we transition if connected in graph\n                        if graph.has_edge(from_loc, to_loc):\n                            B[0] = B[0].at[to_loc, from_loc, action].set(1.0)\n                        else:\n                            B[0] = B[0].at[from_loc, from_loc, action].set(1.0)\n\n        B_dependencies.append([0])\n\n        # objects don't move\n        B.append(jnp.zeros((num_object_locations, num_object_locations, 1)))\n        B[1] = B[1].at[:, :, 0].set(jnp.eye(num_object_locations))\n        B_dependencies.append([1])\n\n        return B, B_dependencies\n    \n    def generate_D(\n        self, graph: nx.Graph, object_location: int, agent_location: int\n    ) -> list[jnp.ndarray]:\n\n        num_locations = len(graph.nodes)\n        num_object_locations = num_locations + 1\n\n        states = [num_locations, num_object_locations]\n        D = [jnp.zeros(s) for s in states]\n\n        # set the start locations\n        D[0] = D[0].at[agent_location].set(1.0)\n        D[1] = D[1].at[object_location].set(1.0)\n\n        return D\n    \n    def generate_env_params(\n        self,\n        graph: nx.Graph,\n        key: Optional[PRNGKeyArray] = None,\n        object_locations: Optional[List[int]] = None,\n        agent_locations: Optional[List[int]] = None,\n        batch_size: Optional[int] = None,\n    ) -> dict[str, Any]:\n        \"\"\"\n        Override of `generate_env_params` from `Env` class that returns batched environmental parameters, with\n        the option to randomize initial object and agent locations (lists of integers) which, if provided, should be of length `batch_size`\n        and are used to set the initial locations in the D vector for each batch element.\n        \n        If batch size is provided but object_locations and agent_locations are not, then random locations will be sampled for each batch element.\n        args:\n            graph: networkx Graph object representing the environment\n            key: JAX random key (used to sample random initial locations if object_locations and agent_locations are not provided)\n            object_locations: list of integers specifying initial object locations for each batch element\n            agent_locations: list of integers specifying initial agent locations for each batch element\n            batch_size: integer specifying the number of batch elements. If None but object_locations and agent_locations are provided, batch_size is inferred from their length.\n        returns:\n            env_params: dictionary containing batched environmental parameters\n        \"\"\"\n        if batch_size is None:\n            if object_locations is not None and agent_locations is not None:\n                batch_size = len(object_locations)\n            else:\n                warnings.warn(\"Neither `batch_size` nor `object_locations` nor `agent_locations` are provided, so just returning the unbatched env params\")\n                return super().generate_env_params(key=key, batch_size=batch_size)\n\n        num_locations = len(graph.nodes)\n        num_object_locations = num_locations + 1\n\n        if object_locations is None or agent_locations is None:\n            if key is None:\n                raise ValueError(\"A random key must be provided to sample random initial locations.\")\n            keys = jr.split(key, 2)\n            if object_locations is None:\n                object_locations = jr.randint(keys[0], shape=(batch_size,), minval=0, maxval=num_object_locations)\n            if agent_locations is None:\n                agent_locations = jr.randint(keys[1], shape=(batch_size,), minval=0, maxval=num_locations)\n\n        D = [jnp.zeros((batch_size, s)) for s in [num_locations, num_object_locations]]\n\n        D[0] = D[0].at[jnp.arange(batch_size), agent_locations].set(1.0)\n        D[1] = D[1].at[jnp.arange(batch_size), object_locations].set(1.0)\n\n        expand_to_batch = lambda x: jnp.broadcast_to(jnp.asarray(x), (batch_size,) + x.shape)\n\n        env_params ={**jtu.tree_map(expand_to_batch, {\"A\": self.A, \"B\": self.B}), **{\"D\": D}}\n        \n        return env_params\n"
  },
  {
    "path": "pymdp/envs/grid_world.py",
    "content": "from __future__ import annotations\n\nfrom typing import Iterable, Optional, Tuple\n\nimport jax.numpy as jnp\nimport numpy as np\nimport jax.tree_util as jtu\n\nfrom .env import PymdpEnv\n\n\nclass GridWorld(PymdpEnv):\n    \"\"\"\n    Classic 2D grid world as a JAX-compatible PymdpEnv.\n\n    Hidden state factors\n    --------------------\n    - factor 0 (location): a single discrete factor with `rows * cols` states (linear index row*cols + col)\n\n    Observations\n    ------------\n    - modality 0 (location observation): identity over location (the agent observes its true grid index)\n\n    Controls / Actions\n    ------------------\n    - One control factor with 4 or 5 discrete actions:\n        0: UP\n        1: RIGHT\n        2: DOWN\n        3: LEFT\n        4: STAY   (optional; controlled by include_stay=True)\n\n    Parameters\n    ----------\n    shape : tuple[int, int]\n        Grid shape as (rows, cols).\n    walls : Optional[Iterable[Tuple[int, int]]]\n        Iterable of (row, col) coordinates that are *blocked* and cannot be entered.\n        Invalid attempts to enter a wall result in staying put.\n    initial_position : Optional[Tuple[int, int] | int]\n        If provided, sets the initial position deterministically (one-hot D).\n        Accepts (row, col) or linear index (0..rows*cols-1).\n        If None, D is uniform over all *free* cells.\n    include_stay : bool\n        If True (default), include a \"STAY\" action as the 5th action.\n    success_prob : float\n        Probability (in [0, 1]) that a movement action succeeds and moves to its intended neighbor.\n        The remaining probability (1 - success_prob) results in staying in place.\n        Invalid moves (out-of-bounds or into walls) always result in staying put with probability 1.\n    categorical_obs : bool\n        If ``True``, ``reset()`` and ``step()`` emit one-hot categorical\n        observation vectors with shape ``(1, num_obs)``. If ``False``, they\n        emit discrete observation indices with shape ``(1,)``.\n\n    Notes\n    -----\n    - Shapes follow the JAX Env API:\n        A[0].shape == (num_obs, num_states)\n        B[0].shape == (num_states, num_states, num_actions)\n        D[0].shape == (num_states,)\n        A_dependencies == [[0]]\n        B_dependencies == [[0]]\n    - Works directly with `pymdp.envs.rollout.rollout` and the JAX `Agent`.\n    \"\"\"\n\n    # Action ids\n    UP = 0\n    RIGHT = 1\n    DOWN = 2\n    LEFT = 3\n    STAY = 4  # only present if include_stay=True\n\n    def __init__(\n        self,\n        shape: Tuple[int, int] = (3, 3),\n        walls: Optional[Iterable[Tuple[int, int]]] = None,\n        initial_position: Optional[Tuple[int, int] | int] = None,\n        include_stay: bool = True,\n        success_prob: float = 1.0,\n        categorical_obs: bool = False,\n    ) -> None:\n        rows, cols = shape\n        assert rows >= 1 and cols >= 1, \"Grid shape must be positive.\"\n        assert 0.0 <= success_prob <= 1.0, \"`success_prob` must be in [0, 1].\"\n\n        # Precompute data we need\n        walls_flat = _flatten_walls(shape, walls)\n        n_states = rows * cols\n\n        # --- Build A (likelihood), B (transitions), D (initial state) ---\n        A, A_dependencies = _generate_A(n_states)\n        B, B_dependencies = _generate_B(shape, walls_flat, include_stay, success_prob)\n        D = _generate_D(shape, walls_flat, initial_position)\n\n        # Wrap in single-element lists to align with the `PymdpEnv` API\n        super().__init__(\n            A=[A],\n            B=[B],\n            D=[D],\n            A_dependencies=A_dependencies,\n            B_dependencies=B_dependencies,\n            categorical_obs=categorical_obs,\n        )\n\n    # ---------------------------------------------------------------------\n    # Optional convenience accessors (not required by the API)\n    # ---------------------------------------------------------------------\n    @staticmethod\n    def coords_to_index(shape: Tuple[int, int], coord: Tuple[int, int]) -> int:\n        \"\"\"Convert (row, col) -> linear index in 0..rows*cols-1.\"\"\"\n        return int(jnp.ravel_multi_index(jnp.array(coord), jnp.array(shape)))\n\n    @staticmethod\n    def index_to_coords(shape: Tuple[int, int], idx: int) -> Tuple[int, int]:\n        \"\"\"Convert linear index -> (row, col).\"\"\"\n        return tuple(map(int, jnp.unravel_index(jnp.array(idx), jnp.array(shape))))\n\n\n# =============================================================================\n# Helpers to build A, B, D\n# =============================================================================\n\ndef _flatten_walls(shape: Tuple[int, int], walls: Optional[Iterable[Tuple[int, int]]]) -> set[int]:\n    \"\"\"Return a set of flattened indices that are blocked.\"\"\"\n    if walls is None:\n        return set()\n    rows, cols = shape\n    walls_flat = set()\n    for (r, c) in walls:\n        if 0 <= r < rows and 0 <= c < cols:\n            walls_flat.add(int(jnp.ravel_multi_index(jnp.array((r, c)), jnp.array(shape))))\n    return walls_flat\n\n\ndef _generate_A(n_states: int) -> tuple[jnp.ndarray, list[list[int]]]:\n    \"\"\"\n    Identity observation over location.\n    Returns:\n        A: (num_obs, num_states) where num_obs == n_states\n        A_dependencies: [[0]]  (depends only on location state factor)\n    \"\"\"\n    A = jnp.eye(n_states)  # observe exact location\n    A_dependencies = [[0]]\n    return A, A_dependencies\n\n\ndef _neighbors(shape: Tuple[int, int], s: int) -> Tuple[int, int, int, int]:\n    \"\"\"Return potential neighbor indices for UP, RIGHT, DOWN, LEFT (no validity checks).\"\"\"\n    rows, cols = shape\n    r, c = divmod(s, cols)\n    up = r - 1, c\n    right = r, c + 1\n    down = r + 1, c\n    left = r, c - 1\n    # Convert to flattened, but keep invalid ones negative for now (we’ll validate after)\n    to_idx = lambda rc: (\n        int(jnp.ravel_multi_index(jnp.array(rc), jnp.array(shape))) if (0 <= rc[0] < rows and 0 <= rc[1] < cols) else -1\n    )\n    return tuple(map(to_idx, (up, right, down, left)))\n\n\ndef _generate_B(\n    shape: Tuple[int, int],\n    walls_flat: set[int],\n    include_stay: bool,\n    success_prob: float,\n) -> tuple[jnp.ndarray, list[list[int]]]:\n    \"\"\"\n    Build transition tensor B with shape (num_states, num_states, num_actions):\n        B[next_state, current_state, action]\n    - Movement actions that target invalid cells or walls result in staying in place.\n    - If success_prob < 1, the remainder (1 - success_prob) stays in place.\n    \"\"\"\n    rows, cols = shape\n    n_states = rows * cols\n    n_actions = 4 + int(include_stay)\n\n    # Initialize\n    B = np.zeros((n_states, n_states, n_actions), dtype=float)\n\n    for s in range(n_states):\n        # If current state is a wall (shouldn't happen if D avoids it), just reflect self\n        stay_state = s\n        up_idx, right_idx, down_idx, left_idx = _neighbors(shape, s)\n\n        # Resolve invalid or walled neighbors to \"stay\"\n        nb = [up_idx, right_idx, down_idx, left_idx]\n        nb = [ni if (ni >= 0 and ni not in walls_flat) else stay_state for ni in nb]\n\n        # Four movement actions: UP, RIGHT, DOWN, LEFT\n        for a, target in enumerate(nb):\n            if target == stay_state:\n                # invalid move -> always stay\n                B[stay_state, s, a] = 1.0\n            else:\n                if success_prob >= 1.0:\n                    B[target, s, a] = 1.0\n                else:\n                    # move succeeds with prob p; otherwise stay\n                    B[target, s, a] = success_prob\n                    B[stay_state, s, a] = 1.0 - success_prob\n\n        # Optional STAY action\n        if include_stay:\n            B[stay_state, s, 4] = 1.0\n\n    # Sanity: columns over next_state must be normalized per (s, a)\n    # (they already are by construction above)\n    B = jnp.array(B)\n    B_dependencies = [[0]]  # depends only on its own factor (location)\n    return B, B_dependencies\n\n\ndef _generate_D(\n    shape: Tuple[int, int],\n    walls_flat: set[int],\n    initial_position: Optional[Tuple[int, int] | int],\n) -> jnp.ndarray:\n    \"\"\"\n    Initial state distribution over location.\n      - If initial_position is given (r,c) or linear index -> one-hot at that state.\n      - Else -> uniform over free cells (not walls).\n    \"\"\"\n    rows, cols = shape\n    n_states = rows * cols\n    if initial_position is None:\n        # Uniform over free cells\n        mask = jnp.ones(n_states, dtype=float)\n        if walls_flat:\n            idx = jnp.array(sorted(list(walls_flat)))\n            mask = mask.at[idx].set(0.0)\n        mass = mask.sum()\n        # Handle the (rare) degenerate case of all walls (avoid div by zero)\n        D = jnp.where(mass > 0, mask / jnp.clip(mass, 1e-16), jnp.ones(n_states) / n_states)\n    else:\n        if isinstance(initial_position, tuple):\n            start_idx = int(jnp.ravel_multi_index(jnp.array(initial_position), jnp.array(shape)))\n        else:\n            start_idx = int(initial_position)\n        assert start_idx not in walls_flat, \"initial_position cannot be a wall.\"\n        D = jnp.zeros(n_states)\n        D = D.at[start_idx].set(1.0)\n    return D\n"
  },
  {
    "path": "pymdp/envs/rollout.py",
    "content": "\"\"\"Utilities for running active-inference loops against environment dynamics.\n\nThe two primary public entry points are:\n- :func:`infer_and_plan` for one-step inference/planning/action selection\n- :func:`rollout` for multi-step scanned execution with optional online learning\n\"\"\"\n\nimport warnings\nfrom functools import partial\nfrom typing import Any, Callable\n\nfrom jax import lax, vmap\nimport jax.numpy as jnp\nimport jax.random as jr\nimport jax.tree_util as jtu\nfrom jaxtyping import Array\n\nfrom pymdp import control\nfrom pymdp.agent import Agent\nfrom pymdp.envs.env import Env\nfrom pymdp.inference import SEQUENCE_METHODS, SMOOTHING_METHODS\n\n\nMAX_WINDOWED_HISTORY_WITHOUT_HORIZON = 32\n\n\ndef _append_to_window(window: Array, value: Array) -> Array:\n    if window.shape[1] == 0:\n        return window\n\n    if value.ndim == window.ndim - 1:\n        value = jnp.expand_dims(value, axis=1)\n\n    value = value[:, -1:, ...]\n    return jnp.concatenate([window[:, 1:, ...], value], axis=1)\n\n\ndef _resolve_history_len(agent: Agent, num_timesteps: int, use_windowing: bool) -> int:\n    if not use_windowing:\n        return 1\n\n    if agent.inference_horizon is not None:\n        return agent.inference_horizon\n\n    uncapped_history_len = num_timesteps + 1\n    if uncapped_history_len > MAX_WINDOWED_HISTORY_WITHOUT_HORIZON:\n        warnings.warn(\n            \"No `inference_horizon` provided for a windowed inference mode; \"\n            f\"capping rollout history to {MAX_WINDOWED_HISTORY_WITHOUT_HORIZON} steps \"\n            \"to keep fixed-size rollout buffers bounded. \"\n            \"Set `inference_horizon` explicitly to override this cap.\",\n            UserWarning,\n            stacklevel=2,\n        )\n    return min(uncapped_history_len, MAX_WINDOWED_HISTORY_WITHOUT_HORIZON)\n\n\ndef default_policy_search(agent: Agent, qs: list[Array], rng_key: Array) -> tuple[Array, dict[str, Array]]:\n    qpi, neg_efe = agent.infer_policies(\n        qs\n    )  # infer_policies returns posterior over policies and neg_efe (= -EFE, SPM G)\n    return qpi, {\"neg_efe\": neg_efe}\n\n\ndef _resolve_empirical_prior(\n    agent: Agent,\n    qs_prev: list[Array],\n    action_prev: Array | None,\n    empirical_prior: list[Array] | None,\n) -> list[Array]:\n    if empirical_prior is not None:\n        return empirical_prior\n\n    if action_prev is None:\n        return agent.D\n\n    return lax.cond(\n        jnp.any(action_prev < 0),\n        lambda _: agent.D,  # no valid previous action available\n        lambda _: agent.update_empirical_prior(action_prev, qs_prev),\n        operand=None,\n    )\n\n\ndef update_parameters_online(\n    agent: Agent,\n    qs_prev: list[Array],\n    qs: list[Array],\n    observation: list[Array] | Array,\n    action_prev: Array,\n    *,\n    learning_observations: list[Array] | Array | None = None,\n    learning_actions: Array | None = None,\n    learning_beliefs: list[Array] | None = None,\n) -> Agent:\n    # `qs_prev` must remain available here: we need it to construct temporal\n    # belief pairs for transition learning and smoothing windows.\n    if agent.inference_algo in SEQUENCE_METHODS:\n        observations_for_learning = (\n            observation if learning_observations is None else learning_observations\n        )\n        if agent.learn_B:\n            if learning_actions is None:\n                actions_for_learning = jnp.expand_dims(action_prev, 1)\n                beliefs_B = jtu.tree_map(\n                    lambda x, y: jnp.concatenate([x, y], axis=1), qs_prev, qs\n                )\n            else:\n                actions_for_learning = learning_actions\n                beliefs_B = qs\n        else:\n            actions_for_learning = action_prev\n            beliefs_B = None\n\n        return agent.infer_parameters(\n            qs,\n            observations_for_learning,\n            actions_for_learning,\n            beliefs_B=beliefs_B,\n        )\n\n    if (agent.inference_algo in SMOOTHING_METHODS) and (learning_beliefs is not None):\n        observations_for_learning = (\n            observation if learning_observations is None else learning_observations\n        )\n        beliefs_for_learning = jtu.tree_map(\n            _append_to_window,\n            learning_beliefs,\n            qs,\n        )\n\n        if agent.learn_B:\n            actions_for_learning = (\n                learning_actions\n                if learning_actions is not None\n                else jnp.expand_dims(action_prev, 1)\n            )\n            beliefs_B = beliefs_for_learning\n        else:\n            actions_for_learning = (\n                learning_actions\n                if learning_actions is not None\n                else action_prev\n            )\n            beliefs_B = None\n\n        return agent.infer_parameters(\n            beliefs_for_learning,\n            observations_for_learning,\n            actions_for_learning,\n            beliefs_B=beliefs_B,\n        )\n\n    if agent.learn_B:\n        # Stack beliefs so B-learning can build t->t+1 transitions.\n        beliefs_B = jtu.tree_map(lambda x, y: jnp.concatenate([x, y], axis=1), qs_prev, qs)\n        action_B = jnp.expand_dims(action_prev, 1)\n    else:\n        beliefs_B = None\n        action_B = action_prev\n\n    return agent.infer_parameters(\n        qs,\n        observation,\n        action_B if agent.learn_B else action_prev,\n        beliefs_B=beliefs_B,\n    )\n\n\ndef _compute_sequence_empirical_prior_next(\n    updated_agent: Agent,\n    qs_window: list[Array],\n    action_hist: Array,\n    empirical_prior: list[Array],\n    valid_steps: Array,\n    history_len: int,\n) -> list[Array]:\n    def _shift_empirical_prior(_: Any) -> list[Array]:\n        qs_window_start = jtu.tree_map(lambda x: x[:, 0, ...], qs_window)\n        action_window_start = action_hist[:, 0, :]\n        propagate = partial(\n            control.compute_expected_state,\n            B_dependencies=updated_agent.B_dependencies,\n        )\n        return vmap(propagate)(qs_window_start, updated_agent.B, action_window_start)\n\n    return lax.cond(\n        (valid_steps == history_len) & (history_len > 1),\n        _shift_empirical_prior,\n        lambda _: empirical_prior,\n        operand=None,\n    )\n\n\ndef _run_sequence_fixed_window_step(\n    agent: Agent,\n    qs_prev: list[Array],\n    observation_hist: list[Array],\n    action_hist: Array,\n    action_prev: Array,\n    empirical_prior: list[Array],\n    valid_steps: Array,\n    history_len: int,\n    rng_key: Array,\n    policy_search: Callable[[Agent, list[Array], Array], tuple[Array, dict[str, Array]]],\n) -> tuple[Agent, Array, list[Array], dict[str, Any], list[Array], list[Array], list[Array]]:\n    updated_agent, action_next, qs, xtra = infer_and_plan(\n        agent,\n        qs_prev,\n        observation=observation_hist,\n        action_prev=action_prev,\n        rng_key=rng_key,\n        policy_search=policy_search,\n        past_actions=action_hist,\n        empirical_prior=empirical_prior,\n        learning_observations=observation_hist,\n        learning_actions=action_hist,\n        valid_steps=valid_steps,\n    )\n    qs_carry = qs\n    qs_latest = jtu.tree_map(lambda x: x[:, -1, ...], qs)\n    empirical_prior_next = _compute_sequence_empirical_prior_next(\n        updated_agent,\n        qs,\n        action_hist,\n        empirical_prior,\n        valid_steps,\n        history_len,\n    )\n    return updated_agent, action_next, qs, xtra, qs_carry, qs_latest, empirical_prior_next\n\n\ndef _run_smoothing_fixed_window_step(\n    agent: Agent,\n    qs_prev: list[Array],\n    observation: list[Array] | Array,\n    observation_hist: list[Array],\n    action_hist: Array,\n    action_prev: Array,\n    rng_key: Array,\n    policy_search: Callable[[Agent, list[Array], Array], tuple[Array, dict[str, Array]]],\n) -> tuple[Agent, Array, list[Array], dict[str, Any], list[Array], list[Array]]:\n    updated_agent, action_next, qs, xtra = infer_and_plan(\n        agent,\n        qs_prev,\n        observation,\n        action_prev,\n        rng_key,\n        policy_search=policy_search,\n        learning_observations=observation_hist,\n        learning_actions=action_hist,\n        learning_beliefs=qs_prev,\n    )\n    qs_carry = jtu.tree_map(_append_to_window, qs_prev, qs)\n    qs_latest = jtu.tree_map(lambda x: x[:, -1, ...], qs)\n    return updated_agent, action_next, qs, xtra, qs_carry, qs_latest\n\n\ndef _run_non_window_step(\n    agent: Agent,\n    qs_prev: list[Array],\n    observation: list[Array] | Array,\n    action_prev: Array,\n    rng_key: Array,\n    policy_search: Callable[[Agent, list[Array], Array], tuple[Array, dict[str, Array]]],\n) -> tuple[Agent, Array, list[Array], dict[str, Any], list[Array], list[Array]]:\n    updated_agent, action_next, qs, xtra = infer_and_plan(\n        agent,\n        qs_prev,\n        observation,\n        action_prev,\n        rng_key,\n        policy_search=policy_search,\n    )\n    qs_latest = jtu.tree_map(lambda x: x[:, -1, ...], qs)\n    qs_carry = jtu.tree_map(lambda x: x[:, -1:, ...], qs)\n    return updated_agent, action_next, qs, xtra, qs_carry, qs_latest\n\n\ndef _update_window_buffers(\n    observation_hist: list[Array],\n    action_hist: Array,\n    valid_steps: Array,\n    observation_next: list[Array],\n    action_next: Array,\n    history_len: int,\n) -> tuple[list[Array], Array, Array]:\n    observation_hist_next = jtu.tree_map(_append_to_window, observation_hist, observation_next)\n    action_hist_next = _append_to_window(action_hist, action_next)\n    valid_steps_next = jnp.minimum(valid_steps + 1, history_len)\n    return observation_hist_next, action_hist_next, valid_steps_next\n\n\ndef _init_observation_history(obs: Array, history_len: int, categorical_obs: bool) -> Array:\n    if obs.ndim == 1:\n        obs = jnp.expand_dims(obs, axis=1)\n    history_shape = (obs.shape[0], history_len) + obs.shape[2:]\n    if categorical_obs and obs.shape[-1] > 0:\n        # Padded categorical timesteps should contribute no evidence.\n        hist = jnp.zeros(history_shape, dtype=obs.dtype)\n    else:\n        hist = jnp.full(history_shape, -1, dtype=obs.dtype)\n    start_idx = (0, history_len - 1) + (0,) * (hist.ndim - 2)\n    return lax.dynamic_update_slice(hist, obs[:, :1, ...], start_idx)\n\n\ndef _init_windowed_carry(\n    agent: Agent,\n    observation_0: list[Array],\n    env_state: Any,\n    rng_key: Array,\n    history_len: int,\n    action_history_len: int,\n    is_sequence_method: bool,\n) -> dict[str, Any]:\n    action_0 = -jnp.ones((agent.batch_size, agent.policies.policy_arr.shape[-1]), dtype=jnp.int32)\n\n    # Initialize windowed beliefs with D across all slots. Left padded slots are\n    # intentionally prior-filled (not neutral-padded): sequence inference/learning\n    # uses `valid_steps` and action-validity masks to ignore them until they become\n    # part of the valid suffix, and the rolling window then overwrites them over time.\n    qs_0 = jtu.tree_map(\n        lambda x: jnp.broadcast_to(\n            jnp.expand_dims(x, axis=1),\n            (x.shape[0], history_len, x.shape[-1]),\n        ),\n        agent.D,\n    )\n\n    observation_hist_0 = jtu.tree_map(\n        lambda obs: _init_observation_history(obs, history_len, agent.categorical_obs),\n        observation_0,\n    )\n    action_hist_0 = -jnp.ones(\n        (agent.batch_size, action_history_len, agent.policies.policy_arr.shape[-1]),\n        dtype=jnp.int32,\n    )\n\n    carry = {\n        \"qs\": qs_0,\n        \"action\": action_0,\n        \"observation\": observation_0,\n        \"observation_hist\": observation_hist_0,\n        \"action_hist\": action_hist_0,\n        \"valid_steps\": jnp.array(1, dtype=jnp.int32),\n        \"env_state\": env_state,\n        \"agent\": agent,\n        \"rng_key\": rng_key,\n    }\n    if is_sequence_method:\n        carry[\"empirical_prior\"] = agent.D\n    return carry\n\n\ndef _init_non_windowed_carry(\n    agent: Agent, observation_0: list[Array], env_state: Any, rng_key: Array\n) -> dict[str, Any]:\n    action_0 = -jnp.ones((agent.batch_size, agent.policies.policy_arr.shape[-1]), dtype=jnp.int32)\n    qs_0 = jtu.tree_map(lambda x: jnp.expand_dims(x, -2), agent.D)\n    return {\n        \"qs\": qs_0,\n        \"action\": action_0,\n        \"observation\": observation_0,\n        \"env_state\": env_state,\n        \"agent\": agent,\n        \"rng_key\": rng_key,\n    }\n\n\ndef infer_and_plan(\n    agent: Agent,\n    qs_prev: list[Array],\n    observation: list[Array] | list[int],\n    action_prev: Array | None = None,\n    rng_key: Array | None = None,\n    policy_search: Callable[[Agent, list[Array], Array], tuple[Array, dict[str, Array]]] | None = None,\n    past_actions: Array | None = None,\n    empirical_prior: list[Array] | None = None,\n    learning_observations: list[Array] | Array | None = None,\n    learning_actions: Array | None = None,\n    learning_beliefs: list[Array] | None = None,\n    valid_steps: int | Array | None = None,\n) -> tuple[Agent, Array, list[Array], dict[str, Any]]:\n    \"\"\"Run one active-inference step (state update, policy inference, action sample).\n\n    Parameters\n    ----------\n    agent : Agent\n        Active inference agent instance.\n    qs_prev : list[Array]\n        Previous posterior beliefs over hidden states.\n    observation : list[Array] | list[int]\n        Current environment observation.\n    action_prev : Array | None, optional\n        Previous action. If `None`, `agent.D` is used as empirical prior.\n    rng_key : Array\n        PRNG key used by policy search and action sampling.\n    policy_search : callable | None, optional\n        Optional custom policy-search function. Defaults to expected-free-energy\n        policy inference.\n    past_actions : Array | None, optional\n        Optional action history for sequence inference methods.\n    empirical_prior : list[Array] | None, optional\n        Optional override for the empirical prior.\n    learning_observations : optional\n        Optional learning observation buffer; defaults to current observation.\n    learning_actions : optional\n        Optional learning action buffer.\n    learning_beliefs : optional\n        Optional learning belief buffer for smoothing-based updates.\n    valid_steps : int | Array | None, optional\n        Number of valid timesteps in padded fixed windows.\n\n    Returns\n    -------\n    tuple\n        `(updated_agent, action, qs, info)` where `info` contains policy\n        posterior and additional policy-search diagnostics.\n    \"\"\"\n    if policy_search is None:\n        policy_search = default_policy_search\n\n    empirical_prior = _resolve_empirical_prior(\n        agent, qs_prev, action_prev, empirical_prior\n    )\n\n    # infer states\n    qs = agent.infer_states(\n        observations=observation,\n        empirical_prior=empirical_prior,\n        past_actions=past_actions,\n        valid_steps=valid_steps,\n    )\n\n    # get posterior over policies\n    rng_key, key = jr.split(rng_key)\n    qpi, xtra = policy_search(\n        agent, qs, key\n    )  # compute policy posterior using EFE - uses C to consider preferred observations\n\n    # for learning A and/or B\n    if (\n        (action_prev is not None)\n        and (agent.learning_mode == \"online\")\n        and (agent.learn_A or agent.learn_B)\n    ):\n        agent = update_parameters_online(\n            agent,\n            qs_prev,\n            qs,\n            observation,\n            action_prev,\n            learning_observations=learning_observations,\n            learning_actions=learning_actions,\n            learning_beliefs=learning_beliefs,\n        )\n\n    # sample action from policy distribution\n    keys = jr.split(rng_key, agent.batch_size + 1)\n    rng_key = keys[0]\n    action = agent.sample_action(qpi, rng_key=keys[1:])\n\n    info = {\"empirical_prior\": empirical_prior, \"qpi\": qpi}\n    info.update(xtra)  # add extra information from policy search\n    return agent, action, qs, info\n\n\ndef rollout(\n    agent: Agent,\n    env: Env,\n    num_timesteps: int,\n    rng_key: Array,\n    initial_carry: dict[str, Any] | None = None,\n    policy_search: Callable[[Agent, list[Array], Array], tuple[Array, dict[str, Array]]] | None = None,\n    env_params: Any = None,\n) -> tuple[dict[str, Any], dict[str, Any]]:\n    \"\"\"Roll out an active-inference agent/environment loop for `num_timesteps`.\n\n    Parameters\n    ----------\n    agent : Agent\n        Active inference agent.\n    env : Env\n        Environment implementing `reset` and `step`.\n    num_timesteps : int\n        Number of timesteps to simulate.\n    rng_key : Array\n        Root PRNG key; internally split per-step and per-batch.\n    initial_carry : dict | None, optional\n        Optional carry overrides for warm-starting from existing state.\n    policy_search : callable | None, optional\n        Optional custom policy-search routine.\n    env_params : pytree | None, optional\n        Optional batched environment parameters.\n\n    Returns\n    ----------\n    last : dict\n        Final carry state after the final timestep.\n    info : dict\n        Time-indexed rollout traces (actions, observations, beliefs, etc.).\n    \"\"\"\n\n    # get the batch_size of the agent\n    batch_size = agent.batch_size\n    is_sequence_method = agent.inference_algo in SEQUENCE_METHODS\n    use_smoothing_online_windows = (\n        (agent.inference_algo in SMOOTHING_METHODS)\n        and (agent.learning_mode == \"online\")\n        and (agent.learn_A or agent.learn_B)\n    )\n    use_windowing = is_sequence_method or use_smoothing_online_windows\n    history_len = _resolve_history_len(agent, num_timesteps, use_windowing)\n    action_history_len = max(history_len - 1, 0)\n\n    # default policy search just uses standard active inference policy selection\n    if policy_search is None:\n        policy_search = default_policy_search\n\n    def step_fn(carry: dict[str, Any], t: Array) -> tuple[dict[str, Any], dict[str, Any]]:\n        # Carry current action/observation/beliefs/state and RNG through scan.\n        # We keep `qs_prev` explicitly because smoothing and transition learning\n        # require temporal belief context beyond the empirical prior alone.\n        action = carry[\"action\"]\n        observation = carry[\"observation\"]\n        qs_prev = carry[\"qs\"]\n        env_state = carry[\"env_state\"]\n        agent = carry[\"agent\"]\n        rng_key = carry[\"rng_key\"]\n\n        keys = jr.split(rng_key, batch_size + 2)\n        rng_key = keys[0]  # carry first key\n\n        use_fixed_window = is_sequence_method or use_smoothing_online_windows\n        if use_fixed_window:\n            observation_hist = carry[\"observation_hist\"]\n            action_hist = carry[\"action_hist\"]\n            valid_steps = carry[\"valid_steps\"]\n\n            if is_sequence_method:\n                empirical_prior = carry[\"empirical_prior\"]\n                (\n                    updated_agent,\n                    action_next,\n                    qs,\n                    xtra,\n                    qs_carry,\n                    qs_latest,\n                    empirical_prior_next,\n                ) = _run_sequence_fixed_window_step(\n                    agent,\n                    qs_prev,\n                    observation_hist,\n                    action_hist,\n                    action,\n                    empirical_prior,\n                    valid_steps,\n                    history_len,\n                    keys[1],\n                    policy_search,\n                )\n            else:\n                updated_agent, action_next, qs, xtra, qs_carry, qs_latest = _run_smoothing_fixed_window_step(\n                    agent,\n                    qs_prev,\n                    observation,\n                    observation_hist,\n                    action_hist,\n                    action,\n                    keys[1],\n                    policy_search,\n                )\n                empirical_prior_next = None\n        else:\n            # infer next action and beliefs using the agent's inference and planning methods\n            updated_agent, action_next, qs, xtra, qs_carry, qs_latest = _run_non_window_step(\n                agent,\n                qs_prev,\n                observation,\n                action,\n                keys[1],\n                policy_search,\n            )\n\n        observation_next, env_state_next = vmap(env.step)(\n            keys[2:], env_state, action_next, env_params=env_params\n        )\n        if updated_agent.learn_A:\n            xtra[\"A\"] = updated_agent.A\n            xtra[\"pA\"] = updated_agent.pA\n        if updated_agent.learn_B:\n            xtra[\"B\"] = updated_agent.B\n            xtra[\"pB\"] = updated_agent.pB\n\n        if use_fixed_window:\n            observation_hist = carry[\"observation_hist\"]\n            action_hist = carry[\"action_hist\"]\n            valid_steps = carry[\"valid_steps\"]\n            (\n                observation_hist_next,\n                action_hist_next,\n                valid_steps_next,\n            ) = _update_window_buffers(\n                observation_hist,\n                action_hist,\n                valid_steps,\n                observation_next,\n                action_next,\n                history_len,\n            )\n\n            carry = {\n                \"action\": action_next,\n                \"observation\": observation_next,\n                \"observation_hist\": observation_hist_next,\n                \"action_hist\": action_hist_next,\n                \"valid_steps\": valid_steps_next,\n                \"qs\": qs_carry,\n                \"env_state\": env_state_next,\n                \"agent\": updated_agent,\n                \"rng_key\": rng_key,\n            }\n            if is_sequence_method:\n                carry[\"empirical_prior\"] = empirical_prior_next\n        else:\n            carry = {\n                \"action\": action_next,\n                \"observation\": observation_next,\n                \"qs\": qs_carry,\n                \"env_state\": env_state_next,\n                \"agent\": updated_agent,\n                \"rng_key\": rng_key,\n            }\n\n        info = {\n            \"qs\": qs_latest,\n            \"env_state\": env_state,\n            \"observation\": observation,\n            \"action\": action_next,\n        }\n        info.update(xtra)  # add extra information from inference and planning\n\n        return carry, info\n\n    # initialise first observation from environment\n    keys = jr.split(rng_key, batch_size + 1)\n    rng_key = keys[0]\n    observation_0, env_state = vmap(env.reset)(keys[1:], env_params=env_params)\n\n    if is_sequence_method or use_smoothing_online_windows:\n        built_carry = _init_windowed_carry(\n            agent,\n            observation_0,\n            env_state,\n            rng_key,\n            history_len,\n            action_history_len,\n            is_sequence_method,\n        )\n    else:\n        built_carry = _init_non_windowed_carry(\n            agent,\n            observation_0,\n            env_state,\n            rng_key,\n        )\n\n    if initial_carry is not None:\n        built_carry = {**built_carry, **initial_carry}\n\n    initial_carry = built_carry\n    \n    # run the active inference loop for num_timesteps using lax.scan\n    last, info = lax.scan(step_fn, initial_carry, jnp.arange(num_timesteps + 1))\n\n    info = jtu.tree_map(\n        lambda x: x.transpose((1, 0) + tuple(range(2, x.ndim))), info\n    )  # transpose to have timesteps as first dimension\n\n    if agent.learning_mode == \"offline\":\n        def _format_offline_observations(x: Array) -> Array:\n            # Handle env wrappers that emit either (B, T, 1, O) or (B, T, O)\n            # for categorical observations, and either (B, T, 1) or (B, T) for\n            # discrete observations.\n            if agent.categorical_obs:\n                if x.ndim >= 4 and x.shape[2] == 1:\n                    return x[:, :, 0, ...]\n                return x\n            if x.ndim >= 3 and x.shape[-1] == 1:\n                return x[..., 0]\n            return x\n\n        observations_for_learning = jtu.tree_map(_format_offline_observations, info[\"observation\"])\n        last[\"agent\"] = last[\"agent\"].infer_parameters(\n            info[\"qs\"],\n            observations_for_learning,\n            info[\"action\"],\n        )\n\n    return last, info\n"
  },
  {
    "path": "pymdp/envs/tmaze.py",
    "content": "import os\nimport math\nfrom typing import Optional\nimport jax.numpy as jnp\nimport matplotlib.pyplot as plt\nimport matplotlib.patches as patches\nfrom matplotlib.offsetbox import OffsetImage, AnnotationBbox\nimport scipy.ndimage as ndimage\nfrom pymdp.utils import fig2img\nfrom equinox import field\nfrom .env import PymdpEnv\n\n\n# load assets\nassets_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)), \"assets\")\nmouse_img = plt.imread(os.path.join(assets_dir, \"mouse.png\"))\nright_mouse_img = jnp.clip(ndimage.rotate(mouse_img, 90, reshape=True), 0.0, 1.0)\nleft_mouse_img = jnp.clip(ndimage.rotate(mouse_img, -90, reshape=True), 0.0, 1.0)\nup_mouse_img = jnp.clip(ndimage.rotate(mouse_img, 180, reshape=True), 0.0, 1.0)\ncheese_img = plt.imread(os.path.join(assets_dir, \"cheese.png\"))\nshock_img = plt.imread(os.path.join(assets_dir, \"shock.png\"))\n\n\nclass BaseTMaze(PymdpEnv):\n    \"\"\"\n    Shared T-Maze implementation with configurable layout and observation structure.\n    Description: A T-shaped maze where an agent must navigate to find a reward, with:\n    - 4 (or 5) locations: centre, left arm, right arm, cue position (bottom), and optionally a middle location\n    - 2 reward conditions: reward in left or right arm\n    - 2 possible cues at the bottom arm that indicate which arm contains the reward\n    \"\"\"\n\n    reward_probability: float = field(static=True)\n    punishment_probability: float = field(static=True)\n    cue_validity: float = field(static=True)\n    reward_condition: float = field(static=True)\n    dependent_outcomes: bool = field(static=True)\n    cue_mode: str = field(static=True)\n    connectivity: str = field(static=True)\n    has_middle: bool = field(static=True)\n    num_locations: int = field(static=True)\n    location_obs_size: int = field(static=True)\n\n    def __init__(\n        self,\n        reward_probability: float = 1.0,\n        punishment_probability: float = 1.0,\n        cue_validity: float = 0.95,\n        reward_condition: Optional[int] = None,\n        dependent_outcomes: bool = False,\n        categorical_obs: bool = False,\n        *,\n        num_locations: int,\n        cue_mode: str,\n        connectivity: str,\n        has_middle: bool,\n        location_obs_size: Optional[int] = None,\n    ) -> None:\n        \"\"\"\n        Initialize a configurable T-Maze environment.\n\n        Parameters\n        ----------\n        reward_probability : float, optional\n            Probability of receiving reward when choosing the correct arm.\n        punishment_probability : float, optional\n            Probability of receiving punishment when choosing the incorrect arm.\n        cue_validity : float, optional\n            Probability that the cue correctly indicates the reward location.\n        reward_condition : int | None, optional\n            If specified, fixes reward to left (0) or right (1) arm, otherwise random.\n        dependent_outcomes : bool, optional\n            If ``True``, punishment occurs as a function of reward probability.\n            If ``False``, punishment occurs with the fixed\n            ``punishment_probability``.\n        categorical_obs : bool, default=False\n            If ``True``, ``reset()`` and ``step()`` emit one-hot categorical\n            observation vectors with shape ``(1, num_obs_m)`` for each modality.\n            If ``False``, they emit discrete observation indices with shape\n            ``(1,)``.\n        num_locations : int\n            Number of locations in the maze (4 or 5).\n        cue_mode : str\n            ``\"separate\"`` for a separate cue modality or ``\"embedded\"`` for\n            cue information embedded in the location modality.\n        connectivity : str\n            ``\"fully_connected\"`` or ``\"adjacent\"`` transition structure.\n        has_middle : bool\n            If ``True``, includes a middle location between arms.\n        location_obs_size : int | None, optional\n            Size of the location observation modality. Required for embedded cue\n            mode when overriding the default.\n        \"\"\"\n        self.reward_probability = reward_probability\n        self.punishment_probability = punishment_probability\n        self.cue_validity = cue_validity\n        self.reward_condition = reward_condition\n        self.dependent_outcomes = dependent_outcomes\n        self.cue_mode = cue_mode\n        self.connectivity = connectivity\n        self.has_middle = has_middle\n        self.num_locations = num_locations\n\n        self._location_indices = {\"centre\": 0, \"left\": 1, \"right\": 2, \"cue\": 3}\n        if self.has_middle:\n            self._location_indices[\"middle\"] = 4\n\n        if self.cue_mode == \"embedded\":\n            self._loc_obs_cued_left = self._location_indices[\"cue\"]\n            self._loc_obs_cued_right = self._location_indices[\"cue\"] + 1\n            if location_obs_size is None:\n                location_obs_size = self._loc_obs_cued_right + 1\n        else:\n            if location_obs_size is None:\n                location_obs_size = self.num_locations\n        self.location_obs_size = location_obs_size\n\n        if self.cue_mode == \"embedded\":\n            self._loc_obs_to_location = list(range(self._location_indices[\"cue\"] + 1))\n            self._loc_obs_to_location.append(self._location_indices[\"cue\"])\n            self._cue_obs_from_loc_obs = [0] * self.location_obs_size\n            self._cue_obs_from_loc_obs[self._loc_obs_cued_left] = 1\n            self._cue_obs_from_loc_obs[self._loc_obs_cued_right] = 2\n        else:\n            self._loc_obs_to_location = list(range(self.location_obs_size))\n            self._cue_obs_from_loc_obs = None\n\n        A, A_dependencies = self.generate_A()\n        B, B_dependencies = self.generate_B()\n        D = self.generate_D()\n\n        super().__init__(\n            A=A,\n            B=B,\n            D=D,\n            A_dependencies=A_dependencies,\n            B_dependencies=B_dependencies,\n            categorical_obs=categorical_obs,\n        )\n\n    def _set_reward_outcome(self, A_reward: jnp.ndarray, loc: int, reward_condition: int) -> jnp.ndarray:\n        if loc == (reward_condition + 1):\n            A_reward = A_reward.at[1, loc, reward_condition].set(self.reward_probability)\n            if self.dependent_outcomes:\n                A_reward = A_reward.at[2, loc, reward_condition].set(1 - self.reward_probability)\n            else:\n                A_reward = A_reward.at[0, loc, reward_condition].set(1 - self.reward_probability)\n        else:\n            if self.dependent_outcomes:\n                A_reward = A_reward.at[2, loc, reward_condition].set(self.reward_probability)\n                A_reward = A_reward.at[1, loc, reward_condition].set(1 - self.reward_probability)\n            else:\n                A_reward = A_reward.at[2, loc, reward_condition].set(self.punishment_probability)\n                A_reward = A_reward.at[0, loc, reward_condition].set(1 - self.punishment_probability)\n        return A_reward\n\n    def generate_A(self) -> tuple[list[jnp.ndarray], list[list[int]]]:\n        if self.cue_mode == \"separate\":\n            return self._generate_A_separate()\n        if self.cue_mode == \"embedded\":\n            return self._generate_A_embedded()\n        raise ValueError(f\"Unsupported cue_mode: {self.cue_mode}\")\n\n    def _generate_A_separate(self) -> tuple[list[jnp.ndarray], list[list[int]]]:\n        \"\"\"\n        Generate observation likelihood tensors.\n        \n        Returns three observation matrices:\n        A[0]: Location observations (5x5 identity matrix)\n            - Maps true location to observed location\n            - [centre, left, right, cue, middle] x [centre, left, right, cue, middle]\n        A[1]: Reward observations (3x5 x2 matrix)\n            - [no outcome, reward, punishment] x [5 locations] x [2 reward conditions]\n        A[2]: Cue observations (3x5x2 matrix)\n            - [no cue, cued left arm, cued right arm] x [5 locations] x [2 reward conditions]\n        \"\"\"\n        A = []\n        A.append(jnp.eye(self.num_locations))\n        A.append(jnp.zeros([3, self.num_locations, 2]))\n        A.append(jnp.zeros([3, self.num_locations, 2]))\n\n        A_dependencies = [[0], [0, 1], [0, 1]]\n        middle_idx = self._location_indices.get(\"middle\")\n\n        for loc in range(self.num_locations):\n            for reward_condition in range(2):\n                if loc == self._location_indices[\"centre\"]:\n                    A[1] = A[1].at[0, loc, reward_condition].set(1.0)\n                    A[2] = A[2].at[0, loc, reward_condition].set(1.0)\n                elif loc == self._location_indices[\"cue\"]:\n                    A[1] = A[1].at[0, loc, reward_condition].set(1.0)\n                    A[2] = A[2].at[reward_condition + 1, loc, reward_condition].set(self.cue_validity)\n                    wrong_cue = (1 - reward_condition) + 1\n                    A[2] = A[2].at[wrong_cue, loc, reward_condition].set(1 - self.cue_validity)\n                elif middle_idx is not None and loc == middle_idx:\n                    A[1] = A[1].at[0, loc, reward_condition].set(1.0)\n                    A[2] = A[2].at[0, loc, reward_condition].set(1.0)\n                else:\n                    A[1] = self._set_reward_outcome(A[1], loc, reward_condition)\n                    A[2] = A[2].at[0, loc, reward_condition].set(1.0)\n\n        return A, A_dependencies\n\n    def _generate_A_embedded(self) -> tuple[list[jnp.ndarray], list[list[int]]]:\n        \"\"\"\n        Generate observation likelihood tensors.\n        \n        Returns two observation matrices:\n        A[0]: Location observations with embedded cues (location_obs_size x5x2 matrix)\n            - Maps true location to observed location with embedded cue information\n            - [centre, left, right, cued left, cued right] x [centre, left, right, cue, middle] x [2 reward conditions]\n        A[1]: Reward observations (3x5x2 matrix)\n            - [no outcome, reward, punishment] x [5 locations] x [2 reward conditions]\n        \"\"\"\n        A = []\n        A.append(jnp.zeros([self.location_obs_size, self.num_locations, 2]))\n        A.append(jnp.zeros([3, self.num_locations, 2]))\n\n        A_dependencies = [[0, 1], [0, 1]]\n\n        for loc in range(self.num_locations):\n            for reward_condition in range(2):\n                if loc == self._location_indices[\"centre\"]:\n                    A[0] = A[0].at[0, loc, reward_condition].set(1.0)\n                    A[1] = A[1].at[0, loc, reward_condition].set(1.0)\n                elif loc == self._location_indices[\"cue\"]:\n                    if reward_condition == 0:\n                        A[0] = A[0].at[self._loc_obs_cued_left, loc, reward_condition].set(self.cue_validity)\n                        A[0] = A[0].at[self._loc_obs_cued_right, loc, reward_condition].set(1 - self.cue_validity)\n                    else:\n                        A[0] = A[0].at[self._loc_obs_cued_right, loc, reward_condition].set(self.cue_validity)\n                        A[0] = A[0].at[self._loc_obs_cued_left, loc, reward_condition].set(1 - self.cue_validity)\n                    A[1] = A[1].at[0, loc, reward_condition].set(1.0)\n                else:\n                    A[0] = A[0].at[loc, loc, reward_condition].set(1.0)\n                    A[1] = self._set_reward_outcome(A[1], loc, reward_condition)\n\n        return A, A_dependencies\n\n    def _valid_connections(self) -> list[tuple[int, int]]:\n        centre = self._location_indices[\"centre\"]\n        left = self._location_indices[\"left\"]\n        right = self._location_indices[\"right\"]\n        cue = self._location_indices[\"cue\"]\n\n        if self.has_middle:\n            middle = self._location_indices[\"middle\"]\n            return [\n                (centre, cue),\n                (cue, centre),\n                (centre, middle),\n                (middle, centre),\n                (middle, left),\n                (left, middle),\n                (middle, right),\n                (right, middle),\n            ]\n        return [\n            (centre, cue),\n            (cue, centre),\n            (centre, left),\n            (left, centre),\n            (centre, right),\n            (right, centre),\n        ]\n\n    def generate_B(self) -> tuple[list[jnp.ndarray], list[list[int]]]:\n        \"\"\"\n        Generate transition model matrices.\n        \n        Returns two transition matrices:\n        B[0]: Location transitions (num_locations x num_locations x num_locations)\n            - Agent can move between either\n             all locations in the T-Maze (fully-connected) or adjacent locations, including a middle location between the two arms, in the T-Maze (adjacent)\n        B[1]: Reward condition transitions (2x2x1)\n            - Reward location stays fixed\n        \"\"\"\n        B = []\n        B_loc = jnp.zeros((self.num_locations, self.num_locations, self.num_locations))\n\n        if self.connectivity == \"fully_connected\":\n            for action in range(self.num_locations):\n                B_loc = B_loc.at[action, :, action].set(1.0)\n        elif self.connectivity == \"adjacent\":\n            valid_connections = set(self._valid_connections())\n            for _from in range(self.num_locations):\n                for action in range(self.num_locations):\n                    _to = action\n                    if (_from, _to) in valid_connections:\n                        B_loc = B_loc.at[_to, _from, action].set(1.0)\n                    else:\n                        B_loc = B_loc.at[_from, _from, action].set(1.0)\n        else:\n            raise ValueError(f\"Unsupported connectivity: {self.connectivity}\")\n\n        B.append(B_loc)\n        B_reward = jnp.eye(2).reshape(2, 2, 1)\n        B.append(B_reward)\n        B_dependencies = [[0], [1]]\n        return B, B_dependencies\n\n    def generate_D(self) -> list[jnp.ndarray]:\n        \"\"\"\n        Generate initial state distribution.\n        \n        Returns two initial state vectors:\n        D[0]: Initial location (5,)\n            - Agent always starts in centre (index 0)\n        D[1]: Initial reward condition (2,)\n            - Either random (50/50) or fixed based on reward_condition\n        \n        Args:\n            reward_condition: If specified, fixes reward to left (0) or right (1) arm, otherwise random\n        \"\"\"\n        D = []\n        D_loc = jnp.zeros([self.num_locations])\n        D_loc = D_loc.at[self._location_indices[\"centre\"]].set(1.0)\n        D.append(D_loc)\n\n        if self.reward_condition is None:\n            D_reward = jnp.ones(2) * 0.5\n        else:\n            D_reward = jnp.zeros(2)\n            D_reward = D_reward.at[self.reward_condition].set(1.0)\n        D.append(D_reward)\n        return D\n\n    def render(\n        self, observations: list[jnp.ndarray], mode: str = \"human\", title: Optional[str] = None\n    ) -> jnp.ndarray | None:\n        batch_size = observations[0].shape[0]\n\n        plt.clf()\n\n        def _decode_obs(modality: int, batch_idx: int) -> int:\n            obs_value = observations[modality][batch_idx, 0]\n            if obs_value.size > 1:\n                return int(jnp.argmax(obs_value))\n            return int(jnp.squeeze(obs_value))\n\n        # create n x n subplots for the batch_size\n        n = math.ceil(math.sqrt(batch_size))\n        fig, axes = plt.subplots(n, n, figsize=(6, 6))\n        if title:\n            fig.suptitle(title, fontsize=9)\n\n        # loop through the batch_size and plot on each subplot\n        for i in range(batch_size):\n            row = i // n\n            col = i % n\n            if batch_size == 1:\n                ax = axes\n            else:\n                ax = axes[row, col]\n\n            grid_dims = [3, 3]\n            X, Y = jnp.meshgrid(jnp.arange(grid_dims[1] + 1), jnp.arange(grid_dims[0] + 1))\n            ax.pcolormesh(\n                X, Y, jnp.ones(grid_dims), edgecolors=\"none\", vmin=0, vmax=30, linewidth=5, cmap=\"coolwarm\", snap=True\n            )\n            ax.invert_yaxis()\n            ax.axis(\"off\")\n            ax.set_aspect(\"equal\")\n\n            ax.add_patch(\n                patches.Rectangle(\n                    (0, 1),\n                    1.0,\n                    2.0,\n                    linewidth=0,\n                    facecolor=[1.0, 1.0, 1.0],\n                )\n            )\n\n            ax.add_patch(\n                patches.Rectangle(\n                    (2, 1),\n                    1.0,\n                    2.0,\n                    linewidth=0,\n                    facecolor=[1.0, 1.0, 1.0],\n                )\n            )\n\n            ax.add_patch(\n                patches.Rectangle(\n                    (0, 0),\n                    1.0,\n                    1.0,\n                    linewidth=0,\n                    facecolor=\"tab:orange\",\n                )\n            )\n\n            ax.add_patch(\n                patches.Rectangle(\n                    (2, 0),\n                    1.0,\n                    1.0,\n                    linewidth=0,\n                    facecolor=\"tab:purple\",\n                )\n            )\n\n            loc_obs = _decode_obs(0, i)\n            reward_obs = _decode_obs(1, i)\n            if self.cue_mode == \"embedded\":\n                cue_obs = self._cue_obs_from_loc_obs[loc_obs]\n                loc = self._loc_obs_to_location[loc_obs]\n            else:\n                cue_obs = _decode_obs(2, i)\n                loc = loc_obs\n\n            if cue_obs == 0:\n                cue_color = \"tab:gray\"\n                edge_color = \"tab:gray\"\n            elif cue_obs == 1:\n                cue_color = \"tab:orange\"\n                edge_color = \"tab:gray\"\n            else:\n                cue_color = \"tab:purple\"\n                edge_color = \"tab:gray\"\n\n            ax.add_patch(\n                patches.Circle(\n                    (1.5, 2.5),\n                    0.3,\n                    linewidth=8,\n                    edgecolor=edge_color,\n                    facecolor=cue_color,\n                )\n            )\n\n            coords = None\n            if loc == 1:\n                coords = (0.5, 0.5)\n            elif loc == 2:\n                coords = (2.5, 0.5)\n\n            if coords is not None:\n                if reward_obs == 1:\n                    cheese_im = OffsetImage(cheese_img, zoom=0.025 / n)\n                    ab_cheese = AnnotationBbox(cheese_im, coords, xycoords=\"data\", frameon=False)\n                    an_cheese = ax.add_artist(ab_cheese)\n                    an_cheese.set_zorder(2)\n                elif reward_obs == 2:\n                    shock_im = OffsetImage(shock_img, zoom=0.1 / n)\n                    ab_shock = AnnotationBbox(shock_im, coords, xycoords=\"data\", frameon=False)\n                    ab_shock = ax.add_artist(ab_shock)\n                    ab_shock.set_zorder(2)\n\n            if loc == 0:\n                up_mouse_im = OffsetImage(up_mouse_img, zoom=0.04 / n)\n                ab_mouse = AnnotationBbox(up_mouse_im, (1.5, 1.5), xycoords=\"data\", frameon=False)\n                ab_mouse = ax.add_artist(ab_mouse)\n                ab_mouse.set_zorder(3)\n            elif loc == 1:\n                left_mouse_im = OffsetImage(left_mouse_img, zoom=0.04 / n)\n                ab_mouse = AnnotationBbox(left_mouse_im, (0.75, 0.5), xycoords=\"data\", frameon=False)\n                ab_mouse = ax.add_artist(ab_mouse)\n                ab_mouse.set_zorder(3)\n            elif loc == 2:\n                right_mouse_im = OffsetImage(right_mouse_img, zoom=0.04 / n)\n                ab_mouse = AnnotationBbox(right_mouse_im, (2.25, 0.5), xycoords=\"data\", frameon=False)\n                ab_mouse = ax.add_artist(ab_mouse)\n                ab_mouse.set_zorder(3)\n            elif loc == 3:\n                down_mouse_im = OffsetImage(mouse_img, zoom=0.04 / n)\n                ab_mouse = AnnotationBbox(down_mouse_im, (1.5, 2.25), xycoords=\"data\", frameon=False)\n                ab_mouse = ax.add_artist(ab_mouse)\n                ab_mouse.set_zorder(3)\n            elif loc == 4:\n                middle_mouse_im = OffsetImage(up_mouse_img, zoom=0.04 / n)\n                ab_mouse = AnnotationBbox(middle_mouse_im, (1.5, 0.5), xycoords=\"data\", frameon=False)\n                ab_mouse = ax.add_artist(ab_mouse)\n                ab_mouse.set_zorder(3)\n\n        for i in range(batch_size, n * n):\n            fig.delaxes(axes.flatten()[i])\n\n        if title:\n            fig.tight_layout(rect=[0, 0, 1, 0.93])\n        else:\n            plt.tight_layout()\n\n        if mode == \"human\":\n            plt.show()\n        elif mode == \"rgb_array\":\n            img = fig2img(fig)\n            plt.close(fig)\n            return img\n\n\nclass TMaze(BaseTMaze):\n    \"\"\"\n    Classic T-Maze with a middle connector, adjacent transitions, and a separate cue modality.\n    \"\"\"\n\n    def __init__(\n        self,\n        reward_probability: float = 1.0,\n        punishment_probability: float = 1.0,\n        cue_validity: float = 0.95,\n        reward_condition: Optional[int] = None,\n        dependent_outcomes: bool = False,\n        categorical_obs: bool = False,\n    ) -> None:\n        super().__init__(\n            reward_probability=reward_probability,\n            punishment_probability=punishment_probability,\n            cue_validity=cue_validity,\n            reward_condition=reward_condition,\n            dependent_outcomes=dependent_outcomes,\n            categorical_obs=categorical_obs,\n            num_locations=5,\n            cue_mode=\"separate\",\n            connectivity=\"adjacent\",\n            has_middle=True,\n        )\n\n\nclass SimplifiedTMaze(BaseTMaze):\n    \"\"\"\n    Fully connected T-Maze with embedded cues and no middle connector.\n    \"\"\"\n\n    def __init__(\n        self,\n        reward_condition: Optional[int] = None,\n        cue_validity: float = 0.95,\n        reward_probability: float = 1.0,\n        dependent_outcomes: bool = False,\n        punishment_probability: float = 1.0,\n        categorical_obs: bool = False,\n    ) -> None:\n        super().__init__(\n            reward_probability=reward_probability,\n            punishment_probability=punishment_probability,\n            cue_validity=cue_validity,\n            reward_condition=reward_condition,\n            dependent_outcomes=dependent_outcomes,\n            categorical_obs=categorical_obs,\n            num_locations=4,\n            cue_mode=\"embedded\",\n            connectivity=\"fully_connected\",\n            has_middle=False,\n            location_obs_size=5,\n        )\n"
  },
  {
    "path": "pymdp/inference.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n# pylint: disable=no-member\n\"\"\"State inference and smoothing utilities for modern JAX-based pymdp agents.\n\nThis module provides:\n- one-step posterior updates (`fpi`, `exact`, `ovf`),\n- sequence-based inference (`mmp`, `vmp`),\n- backward smoothing utilities for transition/posterior learning.\n\nAll public functions operate on JAX arrays and pytrees and are designed to\nwork with batched agent execution (`vmap`) and fixed-window sequence buffers.\n\"\"\"\n\nimport jax.numpy as jnp\nfrom typing import Any, TypedDict\nfrom pymdp.algos import (\n    run_factorized_fpi,\n    run_mmp,\n    run_vmp,\n    hmm_smoother_from_filtered_colstoch,\n)\nfrom pymdp.maths import calc_vfe\nfrom jax import tree_util as jtu, lax\nfrom jax.experimental.sparse._base import JAXSparse\nfrom jax.experimental import sparse\nfrom jaxtyping import Array, ArrayLike\n\neps = jnp.finfo('float').eps\n\nEXACT_METHOD = \"exact\"\nONE_STEP_METHODS = {\"fpi\", \"ovf\", EXACT_METHOD}\nSEQUENCE_METHODS = {\"mmp\", \"vmp\"}\nSMOOTHING_METHODS = {\"ovf\", EXACT_METHOD}\n\n\nclass VFEInfo(TypedDict):\n    vfe_t: ArrayLike\n    vfe: ArrayLike\n    vfe_components: dict[str, ArrayLike]\n\n\ndef _select_current_obs(obs: list[Array] | Array, distr_obs: bool) -> list[Array] | Array:\n    def _select_leaf(x: Array) -> Array:\n        if x.ndim == 0:\n            return x\n        if distr_obs:\n            # Distributional observations use the last axis for observations, so\n            # 1D leaves are already a single-time-step observation.\n            return x if x.ndim == 1 else x[-1]\n        return x[-1]\n\n    return jtu.tree_map(_select_leaf, obs)\n\n\ndef _truncate_for_horizon(\n    obs: list[Array], past_actions: Array | None, inference_horizon: int | None\n) -> tuple[list[Array], Array | None]:\n    if inference_horizon is None:\n        return obs, past_actions\n\n    if inference_horizon < 1:\n        raise ValueError(\"`inference_horizon` must be >= 1 when provided\")\n\n    obs = jtu.tree_map(lambda x: x[-inference_horizon:], obs)\n    if past_actions is None:\n        return obs, None\n\n    action_horizon = max(inference_horizon - 1, 0)\n    if action_horizon == 0:\n        return obs, past_actions[:0]\n\n    return obs, past_actions[-action_horizon:]\n\n\ndef _ensure_action_history_shape(past_actions: Array | None, num_factors: int) -> Array | None:\n    if past_actions is None:\n        return None\n\n    if past_actions.ndim == 1:\n        if num_factors == 1:\n            return jnp.expand_dims(past_actions, -1)\n        raise ValueError(\n            \"1D `past_actions` is only supported for single-factor action \"\n            \"histories; multi-factor action histories must have shape \"\n            \"(T-1, num_factors). For a single timestep across factors, use \"\n            \"`past_actions[None, :]`.\"\n        )\n\n    if past_actions.ndim != 2:\n        raise ValueError(\"`past_actions` must have shape (T-1, num_factors) per batch sample\")\n\n    if past_actions.shape[1] != num_factors:\n        raise ValueError(\n            f\"`past_actions` has second dimension {past_actions.shape[1]}, expected {num_factors}\"\n        )\n\n    return past_actions\n\n\ndef _build_sequence_validity_masks(\n    obs: list[Array], past_actions: Array | None, valid_steps: int | Array | None\n) -> tuple[Array, Array]:\n    T = obs[0].shape[0]\n\n    if valid_steps is None:\n        obs_valid = jnp.ones((T,), dtype=bool)\n    else:\n        valid_steps = jnp.asarray(valid_steps, dtype=jnp.int32)\n        k = jnp.clip(valid_steps, 1, T)\n        obs_valid = jnp.arange(T) >= (T - k)\n\n    if T <= 1:\n        trans_valid = jnp.zeros((0,), dtype=bool)\n    else:\n        trans_valid = obs_valid[:-1] & obs_valid[1:]\n        if past_actions is not None:\n            action_valid = jnp.all(past_actions >= 0, axis=-1)\n            trans_valid = trans_valid & action_valid\n\n    return obs_valid, trans_valid\n\n\ndef _condition_transitions_on_actions(\n    B: list[ArrayLike],\n    past_actions: Array,\n    invalid_action_mode: str = \"neutral\",\n) -> list[Array]:\n    nf = len(B)\n    past_actions = _ensure_action_history_shape(past_actions, nf)\n    actions_tree = [past_actions[:, i] for i in range(nf)]\n\n    def _select_transitions_for_actions(b: ArrayLike, action_idx: Array) -> Array:\n        if isinstance(b, JAXSparse):\n            b = sparse.todense(b)\n\n        action_idx = action_idx.astype(jnp.int32)\n        safe_idx = jnp.where(action_idx < 0, 0, action_idx)\n        selected = jnp.moveaxis(jnp.take(b, safe_idx, axis=-1), -1, 0)\n\n        if invalid_action_mode == \"neutral\":\n            invalid_transition = jnp.ones_like(b[..., 0], dtype=b.dtype)\n            invalid_transition = invalid_transition / jnp.clip(\n                invalid_transition.sum(axis=0, keepdims=True), min=eps\n            )\n        elif invalid_action_mode == \"identity\":\n            transition = b[..., 0]\n            if transition.ndim != 2 or transition.shape[0] != transition.shape[1]:\n                raise ValueError(\n                    \"`invalid_action_mode='identity'` requires square 2D transitions \"\n                    \"after action selection\"\n                )\n            invalid_transition = jnp.eye(transition.shape[0], dtype=transition.dtype)\n        else:\n            raise ValueError(\n                f\"Unsupported invalid_action_mode `{invalid_action_mode}`. \"\n                \"Expected one of {'neutral', 'identity'}.\"\n            )\n\n        invalid_transition = jnp.broadcast_to(invalid_transition, selected.shape)\n\n        invalid = (action_idx < 0).reshape((action_idx.shape[0],) + (1,) * (selected.ndim - 1))\n        return jnp.where(invalid, invalid_transition, selected)\n\n    return [\n        _select_transitions_for_actions(b, action_idx)\n        for b, action_idx in zip(B, actions_tree)\n    ]\n\n\ndef _run_one_step_inference(\n    A: list[Array],\n    obs: list[Array],\n    prior: list[Array] | None,\n    A_dependencies: list[list[int]] | None,\n    *,\n    method: str,\n    num_iter: int,\n    distr_obs: bool,\n) -> tuple[list[Array], list[Array] | Array]:\n    curr_obs = _select_current_obs(obs, distr_obs)\n    fpi_num_iter = 1 if method == EXACT_METHOD else num_iter\n    qs = run_factorized_fpi(\n        A,\n        curr_obs,\n        prior,\n        A_dependencies,\n        num_iter=fpi_num_iter,\n        distr_obs=distr_obs,\n    )\n    return qs, curr_obs\n\n\ndef _run_sequence_inference(\n    A: list[Array],\n    B: list[Array] | None,\n    obs: list[Array],\n    past_actions: Array | None,\n    prior: list[Array] | None,\n    A_dependencies: list[list[int]] | None,\n    B_dependencies: list[list[int]] | None,\n    *,\n    method: str,\n    num_iter: int,\n    distr_obs: bool,\n    valid_steps: int | Array | None,\n) -> tuple[list[Array], Array | None, Array | None]:\n    if B is None:\n        raise ValueError(f\"Sequence inference method `{method}` requires `B`.\")\n\n    obs_valid_mask = None\n    transition_valid_mask = None\n    history_len = max(obs[0].shape[0] - 1, 0)\n\n    if past_actions is not None:\n        past_actions = _ensure_action_history_shape(past_actions, len(B))\n        if past_actions.shape[0] != history_len:\n            raise ValueError(\n                \"`past_actions` has leading dimension \"\n                f\"{past_actions.shape[0]}, expected {history_len}\"\n            )\n\n    if valid_steps is not None:\n        obs_valid_mask, transition_valid_mask = _build_sequence_validity_masks(\n            obs, past_actions, valid_steps\n        )\n\n    conditioned_B = None\n    if past_actions is not None:\n        conditioned_B = _condition_transitions_on_actions(B, past_actions)\n    elif history_len > 0:\n        conditioned_B = []\n        for b_f in B:\n            if b_f.shape[-1] != 1:\n                raise ValueError(\n                    f\"Sequence inference method `{method}` requires `past_actions` \"\n                    \"when transition tensors have more than one control state\"\n                )\n            single_transition = b_f[..., 0]\n            conditioned_B.append(\n                jnp.broadcast_to(single_transition, (history_len,) + single_transition.shape)\n            )\n\n    if method == \"vmp\":\n        qs = run_vmp(\n            A,\n            conditioned_B,\n            obs,\n            prior,\n            A_dependencies,\n            B_dependencies,\n            num_iter=num_iter,\n            distr_obs=distr_obs,\n            obs_valid_mask=obs_valid_mask,\n            transition_valid_mask=transition_valid_mask,\n        )\n    else:\n        qs = run_mmp(\n            A,\n            conditioned_B,\n            obs,\n            prior,\n            A_dependencies,\n            B_dependencies,\n            num_iter=num_iter,\n            distr_obs=distr_obs,\n            obs_valid_mask=obs_valid_mask,\n            transition_valid_mask=transition_valid_mask,\n        )\n\n    return qs, obs_valid_mask, transition_valid_mask\n\n\ndef _update_qs_history(\n    qs_hist: list[Array] | None,\n    qs: list[Array],\n    *,\n    method: str,\n    inference_horizon: int | None,\n) -> list[Array]:\n    if qs_hist is not None:\n        if method in ONE_STEP_METHODS:\n            qs_hist = jtu.tree_map(\n                lambda x, y: jnp.concatenate([x, jnp.expand_dims(y, 0)], 0),\n                qs_hist,\n                qs,\n            )\n            if inference_horizon is not None:\n                qs_hist = jtu.tree_map(lambda x: x[-inference_horizon:], qs_hist)\n            return qs_hist\n        return qs\n\n    if method in ONE_STEP_METHODS:\n        return jtu.tree_map(lambda x: jnp.expand_dims(x, 0), qs)\n    return qs\n\n\ndef _assemble_vfe_kwargs(\n    *,\n    method: str,\n    qs: list[Array],\n    prior: list[Array] | None,\n    A: list[Array],\n    B_for_vfe: list[Array] | None,\n    curr_obs: list[Array] | Array | None,\n    obs: list[Array],\n    past_actions: Array | None,\n    A_dependencies: list[list[int]] | None,\n    B_dependencies: list[list[int]] | None,\n    obs_valid_mask: Array | None,\n    transition_valid_mask: Array | None,\n    distr_obs: bool,\n) -> dict[str, Any]:\n    if method in ONE_STEP_METHODS:\n        return {\n            \"qs\": qs,\n            \"prior\": prior,\n            \"obs\": curr_obs,\n            \"A\": A,\n            \"A_dependencies\": A_dependencies,\n            \"distr_obs\": distr_obs,\n        }\n\n    return {\n        \"qs\": qs,\n        \"prior\": prior,\n        \"obs\": obs,\n        \"A\": A,\n        \"B\": B_for_vfe,\n        \"past_actions\": past_actions,\n        \"A_dependencies\": A_dependencies,\n        \"B_dependencies\": B_dependencies,\n        \"obs_valid_mask\": obs_valid_mask,\n        \"transition_valid_mask\": transition_valid_mask,\n        \"distr_obs\": distr_obs,\n    }\n\ndef update_posterior_states(\n    A: list[Array],\n    B: list[Array] | None,\n    obs: list[Array],\n    past_actions: Array | None,\n    prior: list[Array] | None = None,\n    qs_hist: list[Array] | None = None,\n    A_dependencies: list[list[int]] | None = None,\n    B_dependencies: list[list[int]] | None = None,\n    num_iter: int = 16,\n    method: str = \"fpi\",\n    distr_obs: bool = True,\n    inference_horizon: int | None = None,\n    valid_steps: int | Array | None = None,\n    return_info: bool = False,\n) -> list[Array] | tuple[list[Array], VFEInfo]:\n    \"\"\"Infer posterior beliefs over hidden states from observations.\n\n    Parameters\n    ----------\n    A : list[Array]\n        Observation likelihood tensors per modality.\n    B : list[Array] | None\n        Transition model tensors per hidden-state factor. For one-step methods,\n        this can be provided unchanged. For sequence methods and non-`None`\n        `past_actions`, transitions are conditioned per timestep.\n    obs : pytree\n        Observation sequence or single-step observation in distributional form\n        (for example, one-hot vectors per modality).\n    past_actions : Array | None\n        Action history with shape `(T-1, num_factors)` for sequence methods.\n        Can be `None` when no valid history is available.\n    prior : list[Array], optional\n        Prior beliefs over hidden states. Required when `return_info=True`\n        so canonical VFE diagnostics can be computed.\n    qs_hist : list[Array], optional\n        Existing posterior history buffer. If provided, one-step updates append\n        to this history.\n    A_dependencies : list[list[int]], optional\n        Sparse modality-to-factor dependency mapping.\n    B_dependencies : list[list[int]], optional\n        Sparse transition-factor dependency mapping.\n    num_iter : int, default=16\n        Number of variational update iterations.\n    method : {\"fpi\", \"ovf\", \"mmp\", \"vmp\", \"exact\"}, default=\"fpi\"\n        Inference routine to execute.\n    distr_obs : bool, default=True\n        Whether observations are already distributional.\n    inference_horizon : int | None, optional\n        Optional truncation horizon for sequence inference.\n    valid_steps : int | Array | None, optional\n        Number of valid (unpadded) timesteps for fixed-window sequence inputs.\n    return_info : bool, default=False\n        If `True`, also return an info dictionary containing canonical VFE\n        diagnostics (`vfe_t`, `vfe`, and component terms). For forward-only\n        methods (`fpi`, `ovf`, `exact`) this reports the current posterior /\n        history returned by the inference call; if you need a full smoothed\n        sequence VFE for `ovf` or `exact`, first run `smoothing_ovf(...)` or\n        `smoothing_exact(...)` and then call `pymdp.maths.calc_vfe(...,\n        joint_qs=...)`.\n\n    Returns\n    -------\n    list[Array] or tuple[list[Array], VFEInfo]\n        Posterior state beliefs, with shape semantics depending on `method`:\n        one-step methods return/append a time axis, sequence methods return full\n        sequence posteriors. If `return_info=True`, a second return value\n        contains canonical VFE diagnostics.\n    \"\"\"\n    B_for_vfe = B\n    info = None\n    curr_obs = None\n    obs_valid_mask = None\n    transition_valid_mask = None\n\n    if return_info and prior is None:\n        raise ValueError(\"`prior` must be provided when `return_info=True`\")\n\n    if method in SEQUENCE_METHODS:\n        obs, past_actions = _truncate_for_horizon(obs, past_actions, inference_horizon)\n\n    if method in ONE_STEP_METHODS:\n        qs, curr_obs = _run_one_step_inference(\n            A,\n            obs,\n            prior,\n            A_dependencies,\n            method=method,\n            num_iter=num_iter,\n            distr_obs=distr_obs,\n        )\n    elif method in SEQUENCE_METHODS:\n        qs, obs_valid_mask, transition_valid_mask = _run_sequence_inference(\n            A,\n            B,\n            obs,\n            past_actions,\n            prior,\n            A_dependencies,\n            B_dependencies,\n            method=method,\n            num_iter=num_iter,\n            distr_obs=distr_obs,\n            valid_steps=valid_steps,\n        )\n    else:\n        raise ValueError(\n            f\"Unsupported inference method `{method}`. \"\n            \"Expected one of {'fpi', 'ovf', 'mmp', 'vmp', 'exact'}.\"\n        )\n\n    qs_hist = _update_qs_history(\n        qs_hist,\n        qs,\n        method=method,\n        inference_horizon=inference_horizon,\n    )\n\n    if return_info:\n        vfe_kwargs = _assemble_vfe_kwargs(\n            method=method,\n            qs=qs,\n            prior=prior,\n            A=A,\n            B_for_vfe=B_for_vfe,\n            curr_obs=curr_obs,\n            obs=obs,\n            past_actions=past_actions,\n            A_dependencies=A_dependencies,\n            B_dependencies=B_dependencies,\n            obs_valid_mask=obs_valid_mask,\n            transition_valid_mask=transition_valid_mask,\n            distr_obs=distr_obs,\n        )\n        vfe_t, vfe, decomposition = calc_vfe(\n            **vfe_kwargs,\n            return_decomposition=True,\n        )\n\n        info = {\n            \"vfe_t\": vfe_t,\n            \"vfe\": vfe,\n            \"vfe_components\": decomposition,\n        }\n\n    if return_info:\n        return qs_hist, info\n    return qs_hist\n\ndef _joint_dist_factor(\n    conditioned_transitions: ArrayLike, filtered_qs: list[Array]\n) -> tuple[Array, Array]:\n    qs_last = filtered_qs[-1]\n    qs_filter = filtered_qs[:-1]\n    n_transitions = conditioned_transitions.shape[0]\n\n    def step_fn(qs_smooth: Array, xs: tuple[Array, Array]) -> tuple[Array, tuple[Array, Array]]:\n        qs_f, time_b = xs\n        qs_j = time_b * qs_f\n        norm = qs_j.sum(-1, keepdims=True)\n        if isinstance(norm, JAXSparse):\n            norm = sparse.todense(norm)\n        norm = jnp.where(norm == 0, eps, norm)\n        qs_backward_cond = qs_j / norm\n        qs_joint = qs_backward_cond * jnp.expand_dims(qs_smooth, -1)\n        qs_smooth = qs_joint.sum(-2)\n        if isinstance(qs_smooth, JAXSparse):\n            qs_smooth = sparse.todense(qs_smooth)\n\n        return qs_smooth, (qs_smooth, qs_joint)\n\n    _, seq_qs = lax.scan(\n        step_fn,\n        qs_last,\n        (qs_filter, conditioned_transitions),\n        reverse=True,\n        unroll=2\n    )\n\n    qs_smooth_all = jnp.concatenate([seq_qs[0], jnp.expand_dims(qs_last, 0)], 0)\n    qs_joint_all = seq_qs[1]\n    if isinstance(qs_joint_all, JAXSparse):\n        qs_joint_all.shape = (n_transitions,) + qs_joint_all.shape\n    return qs_smooth_all, qs_joint_all\n\n\ndef joint_dist_factor(\n    b: ArrayLike,\n    filtered_qs: list[Array],\n    actions: ArrayLike | None = None,\n) -> tuple[Array, Array]:\n    \"\"\"Compute smoothed marginals and pairwise joints for one factor.\n\n    Parameters\n    ----------\n    b : Array\n        Either an action-conditioned transition sequence\n        `(T-1, K_next, K_curr)` or a transition tensor with action axis\n        `(..., K_next, K_curr, n_actions)`.\n    filtered_qs : list[Array]\n        Filtered posterior sequence for this factor with leading time axis.\n    actions : Array | None, optional\n        Optional action sequence to select transitions from `b`.\n\n    Returns\n    -------\n    tuple[Array, Array]\n        `(smoothed_marginals, pairwise_joints)` where:\n        - smoothed marginals have shape `(T, K)`\n        - joints have shape `(T-1, K_next, K_curr)`\n    \"\"\"\n    if actions is None:\n        conditioned_transitions = b\n    else:\n        action_idx = jnp.asarray(actions).astype(jnp.int32)\n        conditioned_transitions = jnp.moveaxis(\n            jnp.take(b, action_idx, axis=-1), -1, 0\n        )\n    return _joint_dist_factor(conditioned_transitions, filtered_qs)\n\n\ndef smoothing_ovf(\n    filtered_post: list[Array], B: list[Array], past_actions: Array | None\n) -> tuple[list[Array], list[Array]]:\n    \"\"\"Run backward smoothing for factorized online variational filtering history.\n\n    Parameters\n    ----------\n    filtered_post : list[Array]\n        Filtering posteriors per factor, each with shape `(T, K_f)` (or\n        equivalent leading-time layout for a batch element).\n    B : list[Array]\n        Transition tensors per factor.\n    past_actions : Array\n        Action history with shape `(T-1, num_factors)`.\n\n    Returns\n    -------\n    tuple[list[Array], list[Array]]\n        `(marginals, joints)` per factor.\n    \"\"\"\n    assert len(filtered_post) == len(B)\n    nf = len(B)  # number of factors\n\n    if past_actions is not None:\n        past_actions = _ensure_action_history_shape(past_actions, nf)\n    B_seq = _condition_transitions_on_actions(B, past_actions, invalid_action_mode=\"identity\")\n\n    marginals_and_joints = ([], [])\n    for b_seq, qs in zip(B_seq, filtered_post):\n        marginals, joints = joint_dist_factor(b_seq, qs, actions=None)\n        marginals_and_joints[0].append(marginals)\n        marginals_and_joints[1].append(joints)\n\n    return marginals_and_joints\n\n\ndef smoothing_exact(\n    filtered_post: list[Array], B: list[Array], past_actions: Array | None\n) -> tuple[list[Array], list[Array]]:\n    \"\"\"\n    Exact single-factor HMM backward smoothing from online filtering history.\n\n    Parameters\n    ----------\n    filtered_post:\n        List containing one `(T, K)` array of filtering marginals.\n    B:\n        List containing one transition tensor in pymdp column-stochastic orientation.\n    past_actions:\n        `(T-1, 1)` or `(T-1,)` action history used to select transitions.\n\n    Returns\n    -------\n    (marginals, joints):\n        marginals: list with one `(T, K)` smoothed marginal array.\n        joints: list with one `(T-1, K_next, K_curr)` pairwise posterior array.\n    \"\"\"\n    if len(filtered_post) != 1 or len(B) != 1:\n        raise ValueError(\"smoothing_exact currently supports only one hidden-state factor\")\n\n    filtered = filtered_post[0]\n    B_seq = _condition_transitions_on_actions(\n        B,\n        past_actions,\n        invalid_action_mode=\"identity\",\n    )[0]\n    \n\n    smoothed, joint_next_curr, _ = hmm_smoother_from_filtered_colstoch(\n        filtered,\n        B_seq,\n        return_trans_probs=False,\n    )\n\n    return [smoothed], [joint_next_curr]\n\n\n    \n"
  },
  {
    "path": "pymdp/learning.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n# pylint: disable=no-member\n\"\"\"Dirichlet-parameter learning updates for modern JAX pymdp models.\"\"\"\n\nfrom pymdp.maths import multidimensional_outer, dirichlet_expected_value\nfrom jax.tree_util import tree_map\nfrom jaxtyping import Array\nfrom jax import vmap, nn, lax\n\ndef update_obs_likelihood_dirichlet_m(\n    pA_m: Array, obs_m: Array, qs: list[Array], dependencies_m: list[int], lr: float = 1.0\n) -> tuple[Array, Array]:\n    \"\"\"Update one modality's Dirichlet parameters for the observation model.\n\n    Parameters\n    ----------\n    pA_m : Array\n        Current Dirichlet concentration parameters for modality `m`.\n    obs_m : Array\n        Observation sequence for modality `m` in categorical/distributional\n        form with leading time axis.\n    qs : list[Array]\n        Posterior beliefs over hidden-state factors.\n    dependencies_m : list[int]\n        Hidden-state factors that modality `m` depends on.\n    lr : float, default=1.0\n        Learning-rate multiplier for concentration updates.\n\n    Returns\n    -------\n    tuple[Array, Array]\n        Updated concentration parameters and expected likelihood tensor for\n        modality `m`.\n    \"\"\"\n    # pA_m - parameters of the dirichlet from the prior\n    # pA_m.shape = (no_m x num_states[k] x num_states[j] x ... x num_states[n]) where (k, j, n) are indices of the hidden state factors that are parents of modality m\n\n    # \\alpha^{*} = \\alpha_{0} + \\kappa * \\sum_{t=t_begin}^{t=T} o_{m,t} \\otimes \\mathbf{s}_{f \\in parents(m), t}\n\n    # \\alpha^{*} is the VFE-minimizing solution for the parameters of q(A)\n    # \\alpha_{0} are the Dirichlet parameters of p(A)\n    # o_{m,t} = observation (one-hot vector) of modality m at time t\n    # \\mathbf{s}_{f \\in parents(m), t} = categorical parameters of marginal posteriors over hidden state factors that are parents of modality m, at time t\n    # \\otimes is a multidimensional outer product, not just a outer product of two vectors\n    # \\kappa is an optional learning rate\n\n    relevant_factors = tree_map(lambda f_idx: qs[f_idx], dependencies_m)\n\n    dfda = vmap(multidimensional_outer)([obs_m] + relevant_factors).sum(axis=0)\n\n    new_pA_m = pA_m + lr * dfda\n    A_m = dirichlet_expected_value(new_pA_m)\n\n    return new_pA_m, A_m\n    \ndef update_obs_likelihood_dirichlet(\n    pA: list[Array | None],\n    A: list[Array],\n    obs: list[Array],\n    qs: list[Array],\n    *,\n    A_dependencies: list[list[int]],\n    categorical_obs: bool,\n    num_obs: list[int],\n    lr: float,\n) -> tuple[list[Array | None], list[Array]]:\n    \"\"\"\n    Update Dirichlet parameters of the observation likelihood (A matrix) given observations and beliefs.\n\n    JAX version of `pymdp.learning.update_obs_likelihood_dirichlet`\n\n    Parameters\n    ----------\n    pA : List[Array]\n        Prior Dirichlet parameters for A matrices\n    A : List[Array]\n        Current A matrices (observation likelihoods)\n    obs : List[Array]\n        Observations (either discrete indices or categorical distributions depending on categorical_obs)\n    qs : List[Array]\n        Posterior beliefs over hidden states\n    A_dependencies : List[List[int]]\n        Dependencies between observation modalities and state factors\n    categorical_obs : bool\n        If True, observations are probability distributions; if False, discrete indices\n    num_obs : List[int]\n        Number of observations for each modality\n    lr : float\n        Learning rate\n\n    Returns\n    -------\n    qA : List[Array]\n        Updated Dirichlet parameters\n    E_qA : List[Array]\n        Expected values (updated A matrices)\n    \"\"\"\n\n    obs_m = lambda o, dim: nn.one_hot(o, dim) if not categorical_obs else o\n    update_A_fn = (\n        lambda pA_m, o_m, dim, dependencies_m: None\n        if pA_m is None\n        else update_obs_likelihood_dirichlet_m(pA_m, obs_m(o_m, dim), qs, dependencies_m, lr=lr)\n    )\n    result = tree_map(update_A_fn, pA, obs, num_obs, A_dependencies, is_leaf=lambda x: x is None)\n    qA = []\n    E_qA = []\n    for i, r in enumerate(result):\n        if r is None:\n            qA.append(r)\n            E_qA.append(A[i])\n        else:\n            qA.append(r[0])\n            E_qA.append(r[1])\n\n    return qA, E_qA\n\ndef update_state_transition_dirichlet_f(\n    pB_f: Array, actions_f: Array, joint_qs_f: Array | list[Array], lr: float = 1.0\n) -> tuple[Array, Array]:\n    \"\"\"Update one factor's Dirichlet parameters for the transition model.\n\n    Parameters\n    ----------\n    pB_f : Array\n        Current Dirichlet concentration parameters for hidden-state factor `f`.\n    actions_f : Array\n        One-hot action history for factor `f` with leading time axis.\n    joint_qs_f : Array | list[Array]\n        Pairwise state beliefs (for example, `q(s_t, s_{t-1})`) used for\n        transition learning.\n    lr : float, default=1.0\n        Learning-rate multiplier for concentration updates.\n\n    Returns\n    -------\n    tuple[Array, Array]\n        Updated concentration parameters and expected transition tensor.\n    \"\"\"\n    # pB_f - parameters of the dirichlet from the prior\n    # pB_f.shape = (num_states[f] x num_states[f] x num_actions[f]) where f is the index of the hidden state factor\n\n    # \\alpha^{*} = \\alpha_{0} + \\kappa * \\sum_{t=t_begin}^{t=T} \\mathbf{s}_{f, t} \\otimes \\mathbf{s}_{f, t-1} \\otimes \\mathbf{a}_{f, t-1}\n\n    # \\alpha^{*} is the VFE-minimizing solution for the parameters of q(B)\n    # \\alpha_{0} are the Dirichlet parameters of p(B)\n    # \\mathbf{s}_{f, t} = categorical parameters of marginal posteriors over hidden state factor f, at time t\n    # \\mathbf{a}_{f, t-1} = categorical parameters of marginal posteriors over control factor f, at time t-1\n    # \\otimes is a multidimensional outer product, not just a outer product of two vectors\n    # \\kappa is an optional learning rate\n\n    joint_qs_f = [joint_qs_f] if isinstance(joint_qs_f, Array) else joint_qs_f\n    dfdb = vmap(multidimensional_outer)(joint_qs_f + [actions_f]).sum(axis=0)\n    qB_f = pB_f + lr * dfdb\n\n    return qB_f, dirichlet_expected_value(qB_f)\n\ndef update_state_transition_dirichlet(\n    pB: list[Array],\n    B: list[Array],\n    joint_beliefs: list[Array],\n    actions: Array,\n    *,\n    num_controls: list[int],\n    lr: float,\n    factors_to_update: str | list[int] = 'all',\n) -> tuple[list[Array], list[Array]]:\n    \"\"\"\n    Update posterior Diriichlet parameters of the state transition likelihood model (B) given the joint beliefs over hidden states and actions.\n\n    Supports selective learning of only particular hidden-state factors via\n    `factors_to_update` (either `\"all\"` or a `List[int]`).\n\n    Parameters\n    ----------\n    pB : list[Array]\n        Dirichlet concentration parameters for transition model factors.\n    B : list[Array]\n        Current expected transition tensors.\n    joint_beliefs : list[Array]\n        Time-aligned joint beliefs per factor for transition learning.\n    actions : Array\n        Integer action history with shape `(batch, T-1, num_factors)`.\n    num_controls : list[int]\n        Number of control states per factor.\n    lr : float\n        Learning-rate multiplier for concentration updates.\n    factors_to_update : \"all\" | List[int], default=\"all\"\n        Which hidden-state factors should be updated.\n\n    Returns\n    -------\n    tuple[List[Array], List[Array]]\n        Updated concentration parameters and expected transition tensors.\n    \"\"\"\n    nf = len(pB)\n\n    actions_onehot_fn = lambda f, dim: nn.one_hot(actions[..., f], dim, axis=-1)\n\n    def update_B_f_fn(pB_f: Array, joint_qs_f: Array, f: int, na: int) -> tuple[Array, Array]:\n       \"\"\" \n       Conditionally-update the Dirichlet posterior over a given single factor's B parameters\n       Updating is conditional upon the value of `f`: if the factor index (f) is greater than -1, then use the value of f as the factor index\n       to create the appropriate one-hot representation of the action corresponding to the the f-th control factor and perform the update. Otherwise, do not perform the update\n       \"\"\"\n       qB_f, E_qB_f = lax.cond(\n                f>-1,\n                lambda: update_state_transition_dirichlet_f(pB_f, actions_onehot_fn(f, na), joint_qs_f, lr=lr),\n                lambda: (pB_f, dirichlet_expected_value(pB_f)),\n            )\n       return qB_f, E_qB_f\n\n    if factors_to_update == 'all':\n        factors_to_update_sorted = list(range(nf))\n    else:\n        factors_to_update_sorted = [-1]*nf\n        for f_i in sorted(factors_to_update):\n            factors_to_update_sorted[f_i] = f_i\n\n\n    result = tree_map(\n        update_B_f_fn,\n        pB, joint_beliefs, factors_to_update_sorted, num_controls,\n    )\n\n    qB = []\n    E_qB = []\n\n    for r in result:\n        qB.append(r[0])\n        E_qB.append(r[1])\n\n    return qB, E_qB\n    \n# def update_state_prior_dirichlet(\n#     pD, qs, lr=1.0, factors=\"all\"\n# ):\n#     \"\"\"\n#     Update Dirichlet parameters of the initial hidden state distribution \n#     (prior beliefs about hidden states at the beginning of the inference window).\n\n#     Parameters\n#     -----------\n#     pD: `numpy.ndarray` of dtype object\n#         Prior Dirichlet parameters over initial hidden state prior (same shape as `qs`)\n#     qs: 1D `numpy.ndarray` or `numpy.ndarray` of dtype object\n#         Marginal posterior beliefs over hidden states at current timepoint\n#     lr: float, default `1.0`\n#         Learning rate, scale of the Dirichlet pseudo-count update.\n#     factors: `list`, default \"all\"\n#         Indices (ranging from 0 to `n_factors - 1`) of the hidden state factors to include \n#         in learning. Defaults to \"all\", meaning that factor-specific sub-vectors of `pD`\n#         are all updated using the corresponding hidden state distributions.\n    \n#     Returns\n#     -----------\n#     qD: `numpy.ndarray` of dtype object\n#         Posterior Dirichlet parameters over initial hidden state prior (same shape as `qs`), after having updated it with state beliefs.\n#     \"\"\"\n\n#     num_factors = len(pD)\n\n#     qD = copy.deepcopy(pD)\n   \n#     if factors == \"all\":\n#         factors = list(range(num_factors))\n\n#     for factor in factors:\n#         idx = pD[factor] > 0 # only update those state level indices that have some prior probability\n#         qD[factor][idx] += (lr * qs[factor][idx])\n       \n#     return qD\n\n# def _prune_prior(prior, levels_to_remove, dirichlet = False):\n#     \"\"\"\n#     Function for pruning a prior Categorical distribution (e.g. C, D)\n\n#     Parameters\n#     -----------\n#     prior: 1D `numpy.ndarray` or `numpy.ndarray` of dtype object\n#         The vector(s) containing the priors over hidden states of a generative model, e.g. the prior over hidden states (`D` vector). \n#     levels_to_remove: `list` of `int`, `list` of `list`\n#         A `list` of the levels (indices of the support) to remove. If the prior in question has multiple hidden state factors / multiple observation modalities, \n#         then this will be a `list` of `list`, where each sub-list within `levels_to_remove` will contain the levels to prune for a particular hidden state factor or modality \n#     dirichlet: `Bool`, default `False`\n#         A Boolean flag indicating whether the input vector(s) is/are a Dirichlet distribution, and therefore should not be normalized at the end. \n#         @TODO: Instead, the dirichlet parameters from the pruned levels should somehow be re-distributed among the remaining levels\n\n#     Returns\n#     -----------\n#     reduced_prior: 1D `numpy.ndarray` or `numpy.ndarray` of dtype object\n#         The prior vector(s), after pruning, that lacks the hidden state or modality levels indexed by `levels_to_remove`\n#     \"\"\"\n\n#     if utils.is_obj_array(prior): # in case of multiple hidden state factors\n\n#         assert all([type(levels) == list for levels in levels_to_remove])\n\n#         num_factors = len(prior)\n\n#         reduced_prior = utils.obj_array(num_factors)\n\n#         factors_to_remove = []\n#         for f, s_i in enumerate(prior): # loop over factors (or modalities)\n            \n#             ns = len(s_i)\n#             levels_to_keep = list(set(range(ns)) - set(levels_to_remove[f]))\n#             if len(levels_to_keep) == 0:\n#                 print(f'Warning... removing ALL levels of factor {f} - i.e. the whole hidden state factor is being removed\\n')\n#                 factors_to_remove.append(f)\n#             else:\n#                 if not dirichlet:\n#                     reduced_prior[f] = utils.norm_dist(s_i[levels_to_keep])\n#                 else:\n#                     raise(NotImplementedError(\"Need to figure out how to re-distribute concentration parameters from pruned levels, across remaining levels\"))\n\n\n#         if len(factors_to_remove) > 0:\n#             factors_to_keep = list(set(range(num_factors)) - set(factors_to_remove))\n#             reduced_prior = reduced_prior[factors_to_keep]\n\n#     else: # in case of one hidden state factor\n\n#         assert all([type(level_i) == int for level_i in levels_to_remove])\n\n#         ns = len(prior)\n#         levels_to_keep = list(set(range(ns)) - set(levels_to_remove))\n\n#         if not dirichlet:\n#             reduced_prior = utils.norm_dist(prior[levels_to_keep])\n#         else:\n#             raise(NotImplementedError(\"Need to figure out how to re-distribute concentration parameters from pruned levels, across remaining levels\"))\n\n#     return reduced_prior\n\n# def _prune_A(A, obs_levels_to_prune, state_levels_to_prune, dirichlet = False):\n#     \"\"\"\n#     Function for pruning a observation likelihood model (with potentially multiple hidden state factors)\n#     :meta private:\n#     Parameters\n#     -----------\n#     A: `numpy.ndarray` with `ndim >= 2`, or `numpy.ndarray` of dtype object\n#         Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element `A[m]` of\n#         stores an `numpy.ndarray` multidimensional array for observation modality `m`, whose entries `A[m][i, j, k, ...]` store \n#         the probability of observation level `i` given hidden state levels `j, k, ...`\n#     obs_levels_to_prune: `list` of int or `list` of `list`: \n#         A `list` of the observation levels to remove. If the likelihood in question has multiple observation modalities, \n#         then this will be a `list` of `list`, where each sub-list within `obs_levels_to_prune` will contain the observation levels \n#         to remove for a particular observation modality \n#     state_levels_to_prune: `list` of `int`\n#         A `list` of the hidden state levels to remove (this will be the same across modalities)\n#     dirichlet: `Bool`, default `False`\n#         A Boolean flag indicating whether the input array(s) is/are a Dirichlet distribution, and therefore should not be normalized at the end. \n#         @TODO: Instead, the dirichlet parameters from the pruned columns should somehow be re-distributed among the remaining columns\n\n#     Returns\n#     -----------\n#     reduced_A: `numpy.ndarray` with ndim >= 2, or `numpy.ndarray `of dtype object\n#         The observation model, after pruning, which lacks the observation or hidden state levels given by the arguments `obs_levels_to_prune` and `state_levels_to_prune`\n#     \"\"\"\n\n#     columns_to_keep_list = []\n#     if utils.is_obj_array(A):\n#         num_states = A[0].shape[1:]\n#         for f, ns in enumerate(num_states):\n#             indices_f = np.array( list(set(range(ns)) - set(state_levels_to_prune[f])), dtype = np.intp)\n#             columns_to_keep_list.append(indices_f)\n#     else:\n#         num_states = A.shape[1]\n#         indices = np.array( list(set(range(num_states)) - set(state_levels_to_prune)), dtype = np.intp )\n#         columns_to_keep_list.append(indices)\n\n#     if utils.is_obj_array(A): # in case of multiple observation modality\n\n#         assert all([type(o_m_levels) == list for o_m_levels in obs_levels_to_prune])\n\n#         num_modalities = len(A)\n\n#         reduced_A = utils.obj_array(num_modalities)\n        \n#         for m, A_i in enumerate(A): # loop over modalities\n            \n#             no = A_i.shape[0]\n#             rows_to_keep = np.array(list(set(range(no)) - set(obs_levels_to_prune[m])), dtype = np.intp)\n            \n#             reduced_A[m] = A_i[np.ix_(rows_to_keep, *columns_to_keep_list)]\n#         if not dirichlet:    \n#             reduced_A = utils.norm_dist_obj_arr(reduced_A)\n#         else:\n#             raise(NotImplementedError(\"Need to figure out how to re-distribute concentration parameters from pruned rows/columns, across remaining rows/columns\"))\n#     else: # in case of one observation modality\n\n#         assert all([type(o_levels_i) == int for o_levels_i in obs_levels_to_prune])\n\n#         no = A.shape[0]\n#         rows_to_keep = np.array(list(set(range(no)) - set(obs_levels_to_prune)), dtype = np.intp)\n            \n#         reduced_A = A[np.ix_(rows_to_keep, *columns_to_keep_list)]\n\n#         if not dirichlet:\n#             reduced_A = utils.norm_dist(reduced_A)\n#         else:\n#             raise(NotImplementedError(\"Need to figure out how to re-distribute concentration parameters from pruned rows/columns, across remaining rows/columns\"))\n\n#     return reduced_A\n\n# def _prune_B(B, state_levels_to_prune, action_levels_to_prune, dirichlet = False):\n#     \"\"\"\n#     Function for pruning a transition likelihood model (with potentially multiple hidden state factors)\n\n#     Parameters\n#     -----------\n#     B: `numpy.ndarray` of `ndim == 3` or `numpy.ndarray` of dtype object\n#         Dynamics likelihood mapping or 'transition model', mapping from hidden states at `t` to hidden states at `t+1`, given some control state `u`.\n#         Each element B[f] of this object array stores a 3-D tensor for hidden state factor `f`, whose entries `B[f][s, v, u] store the probability\n#         of hidden state level `s` at the current time, given hidden state level `v` and action `u` at the previous time.\n#     state_levels_to_prune: `list` of `int` or `list` of `list` \n#         A `list` of the state levels to remove. If the likelihood in question has multiple hidden state factors, \n#         then this will be a `list` of `list`, where each sub-list within `state_levels_to_prune` will contain the state levels \n#         to remove for a particular hidden state factor \n#     action_levels_to_prune: `list` of `int` or `list` of `list` \n#         A `list` of the control state or action levels to remove. If the likelihood in question has multiple control state factors, \n#         then this will be a `list` of `list`, where each sub-list within `action_levels_to_prune` will contain the control state levels \n#         to remove for a particular control state factor \n#     dirichlet: `Bool`, default `False`\n#         A Boolean flag indicating whether the input array(s) is/are a Dirichlet distribution, and therefore should not be normalized at the end. \n#         @TODO: Instead, the dirichlet parameters from the pruned rows/columns should somehow be re-distributed among the remaining rows/columns\n\n#     Returns\n#     -----------\n#     reduced_B: `numpy.ndarray` of `ndim == 3` or `numpy.ndarray` of dtype object\n#         The transition model, after pruning, which lacks the hidden state levels/action levels given by the arguments `state_levels_to_prune` and `action_levels_to_prune`\n#     \"\"\"\n\n#     slices_to_keep_list = []\n\n#     if utils.is_obj_array(B):\n\n#         num_controls = [B_arr.shape[2] for _, B_arr in enumerate(B)]\n\n#         for c, nc in enumerate(num_controls):\n#             indices_c = np.array( list(set(range(nc)) - set(action_levels_to_prune[c])), dtype = np.intp)\n#             slices_to_keep_list.append(indices_c)\n#     else:\n#         num_controls = B.shape[2]\n#         slices_to_keep = np.array( list(set(range(num_controls)) - set(action_levels_to_prune)), dtype = np.intp )\n\n#     if utils.is_obj_array(B): # in case of multiple hidden state factors\n\n#         assert all([type(ns_f_levels) == list for ns_f_levels in state_levels_to_prune])\n\n#         num_factors = len(B)\n\n#         reduced_B = utils.obj_array(num_factors)\n        \n#         for f, B_f in enumerate(B): # loop over modalities\n            \n#             ns = B_f.shape[0]\n#             states_to_keep = np.array(list(set(range(ns)) - set(state_levels_to_prune[f])), dtype = np.intp)\n            \n#             reduced_B[f] = B_f[np.ix_(states_to_keep, states_to_keep, slices_to_keep_list[f])]\n\n#         if not dirichlet:    \n#             reduced_B = utils.norm_dist_obj_arr(reduced_B)\n#         else:\n#             raise(NotImplementedError(\"Need to figure out how to re-distribute concentration parameters from pruned rows/columns, across remaining rows/columns\"))\n\n#     else: # in case of one hidden state factor\n\n#         assert all([type(state_level_i) == int for state_level_i in state_levels_to_prune])\n\n#         ns = B.shape[0]\n#         states_to_keep = np.array(list(set(range(ns)) - set(state_levels_to_prune)), dtype = np.intp)\n            \n#         reduced_B = B[np.ix_(states_to_keep, states_to_keep, slices_to_keep)]\n\n#         if not dirichlet:\n#             reduced_B = utils.norm_dist(reduced_B)\n#         else:\n#             raise(NotImplementedError(\"Need to figure out how to re-distribute concentration parameters from pruned rows/columns, across remaining rows/columns\"))\n\n#     return reduced_B\n"
  },
  {
    "path": "pymdp/legacy/__init__.py",
    "content": "from . import agent\nfrom . import envs\nfrom . import utils\nfrom . import maths\nfrom . import control\nfrom . import inference\nfrom . import learning\nfrom . import algos\nfrom . import default_models\n"
  },
  {
    "path": "pymdp/legacy/agent.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Agent Class\n\n__author__: Conor Heins, Alexander Tschantz, Daphne Demekas, Brennan Klein\n\n\"\"\"\n\nimport warnings\nimport numpy as np\nfrom pymdp.legacy import inference, control, learning\nfrom pymdp.legacy import utils\nimport copy\n\nclass Agent(object):\n    \"\"\" \n    The Agent class, the highest-level API that wraps together processes for action, perception, and learning under active inference.\n\n    The basic usage is as follows:\n\n    >>> my_agent = Agent(A = A, B = C, <more_params>)\n    >>> observation = env.step(initial_action)\n    >>> qs = my_agent.infer_states(observation)\n    >>> q_pi, G = my_agent.infer_policies()\n    >>> next_action = my_agent.sample_action()\n    >>> next_observation = env.step(next_action)\n\n    This represents one timestep of an active inference process. Wrapping this step in a loop with an ``Env()`` class that returns\n    observations and takes actions as inputs, would entail a dynamic agent-environment interaction.\n    \"\"\"\n\n    def __init__(\n        self,\n        A,\n        B,\n        C=None,\n        D=None,\n        E=None,\n        H=None,\n        pA=None,\n        pB=None,\n        pD=None,\n        num_controls=None,\n        policy_len=1,\n        inference_horizon=1,\n        control_fac_idx=None,\n        policies=None,\n        gamma=16.0,\n        alpha=16.0,\n        use_utility=True,\n        use_states_info_gain=True,\n        use_param_info_gain=False,\n        action_selection=\"deterministic\",\n        sampling_mode = \"marginal\", # whether to sample from full posterior over policies (\"full\") or from marginal posterior over actions (\"marginal\")\n        inference_algo=\"VANILLA\",\n        inference_params=None,\n        modalities_to_learn=\"all\",\n        lr_pA=1.0,\n        factors_to_learn=\"all\",\n        lr_pB=1.0,\n        lr_pD=1.0,\n        use_BMA=True,\n        policy_sep_prior=False,\n        save_belief_hist=False,\n        A_factor_list=None,\n        B_factor_list=None,\n        sophisticated=False,\n        si_horizon=3,\n        si_policy_prune_threshold=1/16,\n        si_state_prune_threshold=1/16,\n        si_prune_penalty=512,\n        ii_depth=10,\n        ii_threshold=1/16,\n    ):\n\n        ### Constant parameters ###\n\n        # policy parameters\n        self.policy_len = policy_len\n        self.gamma = gamma\n        self.alpha = alpha\n        self.action_selection = action_selection\n        self.sampling_mode = sampling_mode\n        self.use_utility = use_utility\n        self.use_states_info_gain = use_states_info_gain\n        self.use_param_info_gain = use_param_info_gain\n\n        # learning parameters\n        self.modalities_to_learn = modalities_to_learn\n        self.lr_pA = lr_pA\n        self.factors_to_learn = factors_to_learn\n        self.lr_pB = lr_pB\n        self.lr_pD = lr_pD\n\n        # sophisticated inference parameters\n        self.sophisticated = sophisticated\n        if self.sophisticated:\n            assert self.policy_len == 1, \"Sophisticated inference only works with policy_len = 1\"\n        self.si_horizon = si_horizon\n        self.si_policy_prune_threshold = si_policy_prune_threshold\n        self.si_state_prune_threshold = si_state_prune_threshold\n        self.si_prune_penalty = si_prune_penalty\n\n        # Initialise observation model (A matrices)\n        if not isinstance(A, np.ndarray):\n            raise TypeError(\n                'A matrix must be a numpy array'\n            )\n\n        self.A = utils.to_obj_array(A)\n\n        assert utils.is_normalized(self.A), \"A matrix is not normalized (i.e. A[m].sum(axis = 0) must all equal 1.0 for all modalities)\"\n\n        # Determine number of observation modalities and their respective dimensions\n        self.num_obs = [self.A[m].shape[0] for m in range(len(self.A))]\n        self.num_modalities = len(self.num_obs)\n\n        # Assigning prior parameters on observation model (pA matrices)\n        self.pA = pA\n\n        # Initialise transition model (B matrices)\n        if not isinstance(B, np.ndarray):\n            raise TypeError(\n                'B matrix must be a numpy array'\n            )\n\n        self.B = utils.to_obj_array(B)\n\n        assert utils.is_normalized(self.B), \"B matrix is not normalized (i.e. B[f].sum(axis = 0) must all equal 1.0 for all factors)\"\n\n        # Determine number of hidden state factors and their dimensionalities\n        self.num_states = [self.B[f].shape[0] for f in range(len(self.B))]\n        self.num_factors = len(self.num_states)\n\n        # Assigning prior parameters on transition model (pB matrices) \n        self.pB = pB\n\n        # If no `num_controls` are given, then this is inferred from the shapes of the input B matrices\n        if num_controls is None:\n            self.num_controls = [self.B[f].shape[-1] for f in range(self.num_factors)]\n        else:\n            inferred_num_controls = [self.B[f].shape[-1] for f in range(self.num_factors)]\n            assert num_controls == inferred_num_controls, \"num_controls must be consistent with the shapes of the input B matrices\"\n            self.num_controls = num_controls\n\n        # checking that `A_factor_list` and `B_factor_list` are consistent with `num_factors`, `num_states`, and lagging dimensions of `A` and `B` tensors\n        self.factorized = False\n        if A_factor_list is None:\n            self.A_factor_list = self.num_modalities * [list(range(self.num_factors))] # defaults to having all modalities depend on all factors\n            for m in range(self.num_modalities):\n                factor_dims = tuple([self.num_states[f] for f in self.A_factor_list[m]])\n                assert self.A[m].shape[1:] == factor_dims, f\"Please input an `A_factor_list` whose {m}-th indices pick out the hidden state factors that line up with lagging dimensions of A{m}...\" \n                if self.pA is not None:\n                    assert self.pA[m].shape[1:] == factor_dims, f\"Please input an `A_factor_list` whose {m}-th indices pick out the hidden state factors that line up with lagging dimensions of pA{m}...\" \n        else:\n            self.factorized = True\n            for m in range(self.num_modalities):\n                assert max(A_factor_list[m]) <= (self.num_factors - 1), f\"Check modality {m} of A_factor_list - must be consistent with `num_states` and `num_factors`...\"\n                factor_dims = tuple([self.num_states[f] for f in A_factor_list[m]])\n                assert self.A[m].shape[1:] == factor_dims, f\"Check modality {m} of A_factor_list. It must coincide with lagging dimensions of A{m}...\" \n                if self.pA is not None:\n                    assert self.pA[m].shape[1:] == factor_dims, f\"Check modality {m} of A_factor_list. It must coincide with lagging dimensions of pA{m}...\"\n            self.A_factor_list = A_factor_list\n\n        # generate a list of the modalities that depend on each factor \n        A_modality_list = []\n        for f in range(self.num_factors):\n            A_modality_list.append( [m for m in range(self.num_modalities) if f in self.A_factor_list[m]] )\n\n        # Store thee `A_factor_list` and the `A_modality_list` in a Markov blanket dictionary\n        self.mb_dict = {\n                        'A_factor_list': self.A_factor_list,\n                        'A_modality_list': A_modality_list\n                        }\n\n        if B_factor_list is None:\n            self.B_factor_list = [[f] for f in range(self.num_factors)] # defaults to having all factors depend only on themselves\n            for f in range(self.num_factors):\n                factor_dims = tuple([self.num_states[f] for f in self.B_factor_list[f]])\n                assert self.B[f].shape[1:-1] == factor_dims, f\"Please input a `B_factor_list` whose {f}-th indices pick out the hidden state factors that line up with the all-but-final lagging dimensions of B{f}...\" \n                if self.pB is not None:\n                    assert self.pB[f].shape[1:-1] == factor_dims, f\"Please input a `B_factor_list` whose {f}-th indices pick out the hidden state factors that line up with the all-but-final lagging dimensions of pB{f}...\" \n        else:\n            self.factorized = True\n            for f in range(self.num_factors):\n                assert max(B_factor_list[f]) <= (self.num_factors - 1), f\"Check factor {f} of B_factor_list - must be consistent with `num_states` and `num_factors`...\"\n                factor_dims = tuple([self.num_states[f] for f in B_factor_list[f]])\n                assert self.B[f].shape[1:-1] == factor_dims, f\"Check factor {f} of B_factor_list. It must coincide with all-but-final lagging dimensions of B{f}...\" \n                if self.pB is not None:\n                    assert self.pB[f].shape[1:-1] == factor_dims, f\"Check factor {f} of B_factor_list. It must coincide with all-but-final lagging dimensions of pB{f}...\"\n            self.B_factor_list = B_factor_list\n\n        # Users have the option to make only certain factors controllable.\n        # default behaviour is to make all hidden state factors controllable, i.e. `self.num_factors == len(self.num_controls)`\n        if control_fac_idx is None:\n            self.control_fac_idx = [f for f in range(self.num_factors) if self.num_controls[f] > 1]\n        else:\n\n            assert max(control_fac_idx) <= (self.num_factors - 1), \"Check control_fac_idx - must be consistent with `num_states` and `num_factors`...\"\n            self.control_fac_idx = control_fac_idx\n\n            for factor_idx in self.control_fac_idx:\n                assert self.num_controls[factor_idx] > 1, \"Control factor (and B matrix) dimensions are not consistent with user-given control_fac_idx\"\n\n        # Again, the use can specify a set of possible policies, or\n        # all possible combinations of actions and timesteps will be considered\n        if policies is None:\n            policies = self._construct_policies()\n        self.policies = policies\n\n        assert all([len(self.num_controls) == policy.shape[1] for policy in self.policies]), \"Number of control states is not consistent with policy dimensionalities\"\n        \n        all_policies = np.vstack(self.policies)\n\n        assert all([n_c >= max_action for (n_c, max_action) in zip(self.num_controls, list(np.max(all_policies, axis =0)+1))]), \"Maximum number of actions is not consistent with `num_controls`\"\n\n        # Construct prior preferences (uniform if not specified)\n\n        if C is not None:\n            if not isinstance(C, np.ndarray):\n                raise TypeError(\n                    'C vector must be a numpy array'\n                )\n            self.C = utils.to_obj_array(C)\n\n            assert len(self.C) == self.num_modalities, f\"Check C vector: number of sub-arrays must be equal to number of observation modalities: {self.num_modalities}\"\n\n            for modality, c_m in enumerate(self.C):\n                assert c_m.shape[0] == self.num_obs[modality], f\"Check C vector: number of rows of C vector for modality {modality} should be equal to {self.num_obs[modality]}\"\n        else:\n            self.C = self._construct_C_prior()\n\n        # Construct prior over hidden states (uniform if not specified)\n    \n        if D is not None:\n            if not isinstance(D, np.ndarray):\n                raise TypeError(\n                    'D vector must be a numpy array'\n                )\n            self.D = utils.to_obj_array(D)\n\n            assert len(self.D) == self.num_factors, f\"Check D vector: number of sub-arrays must be equal to number of hidden state factors: {self.num_factors}\"\n\n            for f, d_f in enumerate(self.D):\n                assert d_f.shape[0] == self.num_states[f], f\"Check D vector: number of entries of D vector for factor {f} should be equal to {self.num_states[f]}\"\n        else:\n            if pD is not None:\n                self.D = utils.norm_dist_obj_arr(pD)\n            else:\n                self.D = self._construct_D_prior()\n\n        assert utils.is_normalized(self.D), \"D vector is not normalized (i.e. D[f].sum() must all equal 1.0 for all factors)\"\n\n        # Assigning prior parameters on initial hidden states (pD vectors)\n        self.pD = pD\n\n        # Construct prior over policies (uniform if not specified) \n        if E is not None:\n            if not isinstance(E, np.ndarray):\n                raise TypeError(\n                    'E vector must be a numpy array'\n                )\n            self.E = E\n\n            assert len(self.E) == len(self.policies), f\"Check E vector: length of E must be equal to number of policies: {len(self.policies)}\"\n\n        else:\n            self.E = self._construct_E_prior()\n        \n        # Construct I for backwards induction (if H specified)\n        if H is not None:\n            self.H = H\n            self.I = control.backwards_induction(H, B, B_factor_list, threshold=ii_threshold, depth=ii_depth)\n        else:\n            self.H = None\n            self.I = None\n\n        self.edge_handling_params = {}\n        self.edge_handling_params['use_BMA'] = use_BMA # creates a 'D-like' moving prior\n        self.edge_handling_params['policy_sep_prior'] = policy_sep_prior # carries forward last timesteps posterior, in a policy-conditioned way\n\n        # use_BMA and policy_sep_prior can both be False, but both cannot be simultaneously be True. If one of them is True, the other must be False\n        if policy_sep_prior:\n            if use_BMA:\n                warnings.warn(\n                    \"Inconsistent choice of `policy_sep_prior` and `use_BMA`.\\\n                    You have set `policy_sep_prior` to True, so we are setting `use_BMA` to False\"\n                )\n                self.edge_handling_params['use_BMA'] = False\n        \n        if inference_algo is None:\n            self.inference_algo = \"VANILLA\"\n            self.inference_params = self._get_default_params()\n            if inference_horizon > 1:\n                warnings.warn(\n                    \"If `inference_algo` is VANILLA, then inference_horizon must be 1\\n. \\\n                    Setting inference_horizon to default value of 1...\\n\"\n                    )\n                self.inference_horizon = 1\n            else:\n                self.inference_horizon = 1\n        else:\n            self.inference_algo = inference_algo\n            self.inference_params = self._get_default_params()\n            self.inference_horizon = inference_horizon\n\n        if save_belief_hist:\n            self.qs_hist = []\n            self.q_pi_hist = []\n        \n        self.prev_obs = []\n        self.reset()\n        \n        self.action = None\n        self.prev_actions = None\n\n    def _construct_C_prior(self):\n        \n        C = utils.obj_array_zeros(self.num_obs)\n\n        return C\n\n    def _construct_D_prior(self):\n\n        D = utils.obj_array_uniform(self.num_states)\n\n        return D\n\n    def _construct_policies(self):\n        \n        policies =  control.construct_policies(\n            self.num_states, self.num_controls, self.policy_len, self.control_fac_idx\n        )\n\n        return policies\n\n    def _construct_num_controls(self):\n        num_controls = control.get_num_controls_from_policies(\n            self.policies\n        )\n        \n        return num_controls\n    \n    def _construct_E_prior(self):\n        E = np.ones(len(self.policies)) / len(self.policies)\n        return E\n\n    def reset(self, init_qs=None):\n        \"\"\"\n        Resets the posterior beliefs about hidden states of the agent to a uniform distribution, and resets time to first timestep of the simulation's temporal horizon.\n        Returns the posterior beliefs about hidden states.\n\n        Returns\n        ---------\n        qs: ``numpy.ndarray`` of dtype object\n           Initialized posterior over hidden states. Depending on the inference algorithm chosen and other parameters (such as the parameters stored within ``edge_handling_paramss),\n           the resulting ``qs`` variable will have additional sub-structure to reflect whether beliefs are additionally conditioned on timepoint and policy.\n            For example, in case the ``self.inference_algo == 'MMP' `, the indexing structure of ``qs`` is policy->timepoint-->factor, so that \n            ``qs[p_idx][t_idx][f_idx]`` refers to beliefs about marginal factor ``f_idx`` expected under policy ``p_idx`` \n            at timepoint ``t_idx``. In this case, the returned ``qs`` will only have entries filled out for the first timestep, i.e. for ``q[p_idx][0]``, for all \n            policy-indices ``p_idx``. Subsequent entries ``q[:][1, 2, ...]`` will be initialized to empty ``numpy.ndarray`` objects.\n        \"\"\"\n\n        self.curr_timestep = 0\n\n        if init_qs is None:\n            if self.inference_algo == 'VANILLA':\n                self.qs = utils.obj_array_uniform(self.num_states)\n            else: # in the case you're doing MMP (i.e. you have an inference_horizon > 1), we have to account for policy- and timestep-conditioned posterior beliefs\n                self.qs = utils.obj_array(len(self.policies))\n                for p_i, _ in enumerate(self.policies):\n                    self.qs[p_i] = utils.obj_array(self.inference_horizon + self.policy_len + 1) # + 1 to include belief about current timestep\n                    self.qs[p_i][0] = utils.obj_array_uniform(self.num_states)\n                \n                first_belief = utils.obj_array(len(self.policies))\n                for p_i, _ in enumerate(self.policies):\n                    first_belief[p_i] = copy.deepcopy(self.D) \n                \n                if self.edge_handling_params['policy_sep_prior']:\n                    self.set_latest_beliefs(last_belief = first_belief)\n                else:\n                    self.set_latest_beliefs(last_belief = self.D)\n            \n        else:\n            self.qs = init_qs\n        \n        if self.pA is not None:\n            self.A = utils.norm_dist_obj_arr(self.pA)\n        \n        if self.pB is not None:\n            self.B = utils.norm_dist_obj_arr(self.pB)\n\n        return self.qs\n\n    def step_time(self):\n        \"\"\"\n        Advances time by one step. This involves updating the ``self.prev_actions``, and in the case of a moving\n        inference horizon, this also shifts the history of post-dictive beliefs forward in time (using ``self.set_latest_beliefs()``),\n        so that the penultimate belief before the beginning of the horizon is correctly indexed.\n\n        Returns\n        ---------\n        curr_timestep: ``int``\n            The index in absolute simulation time of the current timestep.\n        \"\"\"\n\n        if self.prev_actions is None:\n            self.prev_actions = [self.action]\n        else:\n            self.prev_actions.append(self.action)\n\n        self.curr_timestep += 1\n\n        if self.inference_algo == \"MMP\" and (self.curr_timestep - self.inference_horizon) >= 0:\n            self.set_latest_beliefs()\n        \n        return self.curr_timestep\n    \n    def set_latest_beliefs(self,last_belief=None):\n        \"\"\"\n        Both sets and returns the penultimate belief before the first timestep of the backwards inference horizon. \n        In the case that the inference horizon includes the first timestep of the simulation, then the ``latest_belief`` is\n        simply the first belief of the whole simulation, or the prior (``self.D``). The particular structure of the ``latest_belief``\n        depends on the value of ``self.edge_handling_params['use_BMA']``.\n\n        Returns\n        ---------\n        latest_belief: ``numpy.ndarray`` of dtype object\n            Penultimate posterior beliefs over hidden states at the timestep just before the first timestep of the inference horizon. \n            Depending on the value of ``self.edge_handling_params['use_BMA']``, the shape of this output array will differ.\n            If ``self.edge_handling_params['use_BMA'] == True``, then ``latest_belief`` will be a Bayesian model average \n            of beliefs about hidden states, where the average is taken with respect to posterior beliefs about policies.\n            Otherwise, `latest_belief`` will be the full, policy-conditioned belief about hidden states, and will have indexing structure\n            policies->factors, such that ``latest_belief[p_idx][f_idx]`` refers to the penultimate belief about marginal factor ``f_idx``\n            under policy ``p_idx``.\n        \"\"\"\n\n        if last_belief is None:\n            last_belief = utils.obj_array(len(self.policies))\n            for p_i, _ in enumerate(self.policies):\n                last_belief[p_i] = copy.deepcopy(self.qs[p_i][0])\n\n        begin_horizon_step = self.curr_timestep - self.inference_horizon\n        if self.edge_handling_params['use_BMA'] and (begin_horizon_step >= 0):\n            if hasattr(self, \"q_pi_hist\"):\n                self.latest_belief = inference.average_states_over_policies(last_belief, self.q_pi_hist[begin_horizon_step]) # average the earliest marginals together using contemporaneous posterior over policies (`self.q_pi_hist[0]`)\n            else:\n                self.latest_belief = inference.average_states_over_policies(last_belief, self.q_pi) # average the earliest marginals together using posterior over policies (`self.q_pi`)\n        else:\n            self.latest_belief = last_belief\n\n        return self.latest_belief\n    \n    def get_future_qs(self):\n        \"\"\"\n        Returns the last ``self.policy_len`` timesteps of each policy-conditioned belief\n        over hidden states. This is a step of pre-processing that needs to be done before computing\n        the expected free energy of policies. We do this to avoid computing the expected free energy of \n        policies using beliefs about hidden states in the past (so-called \"post-dictive\" beliefs).\n\n        Returns\n        ---------\n        future_qs_seq: ``numpy.ndarray`` of dtype object\n            Posterior beliefs over hidden states under a policy, in the future. This is a nested ``numpy.ndarray`` object array, with one\n            sub-array ``future_qs_seq[p_idx]`` for each policy. The indexing structure is policy->timepoint-->factor, so that \n            ``future_qs_seq[p_idx][t_idx][f_idx]`` refers to beliefs about marginal factor ``f_idx`` expected under policy ``p_idx`` \n            at future timepoint ``t_idx``, relative to the current timestep.\n        \"\"\"\n        \n        future_qs_seq = utils.obj_array(len(self.qs))\n        for p_idx in range(len(self.qs)):\n            future_qs_seq[p_idx] = self.qs[p_idx][-(self.policy_len+1):] # this grabs only the last `policy_len`+1 beliefs about hidden states, under each policy\n\n        return future_qs_seq\n\n\n    def infer_states(self, observation, distr_obs=False):\n        \"\"\"\n        Update approximate posterior over hidden states by solving variational inference problem, given an observation.\n\n        Parameters\n        ----------\n        observation: ``list`` or ``tuple`` of ints\n            The observation input. Each entry ``observation[m]`` stores the index of the discrete\n            observation for modality ``m``.\n        distr_obs: ``bool``\n            Whether the observation is a distribution over possible observations, rather than a single observation.\n\n        Returns\n        ---------\n        qs: ``numpy.ndarray`` of dtype object\n            Posterior beliefs over hidden states. Depending on the inference algorithm chosen, the resulting ``qs`` variable will have additional sub-structure to reflect whether\n            beliefs are additionally conditioned on timepoint and policy.\n            For example, in case the ``self.inference_algo == 'MMP' `` indexing structure is policy->timepoint-->factor, so that \n            ``qs[p_idx][t_idx][f_idx]`` refers to beliefs about marginal factor ``f_idx`` expected under policy ``p_idx`` \n            at timepoint ``t_idx``.\n        \"\"\"\n\n        observation = tuple(observation) if not distr_obs else observation\n\n        if not hasattr(self, \"qs\"):\n            self.reset()\n\n        if self.inference_algo == \"VANILLA\":\n            if self.action is not None:\n                empirical_prior = control.get_expected_states_interactions(\n                    self.qs, self.B, self.B_factor_list, self.action.reshape(1, -1) \n                )[0]\n            else:\n                empirical_prior = self.D\n            qs = inference.update_posterior_states_factorized(\n                self.A,\n                observation,\n                self.num_obs,\n                self.num_states,\n                self.mb_dict,\n                empirical_prior,\n                **self.inference_params\n            )\n        elif self.inference_algo == \"MMP\":\n\n            self.prev_obs.append(observation)\n            if len(self.prev_obs) > self.inference_horizon:\n                latest_obs = self.prev_obs[-self.inference_horizon:]\n                latest_actions = self.prev_actions[-(self.inference_horizon-1):]\n            else:\n                latest_obs = self.prev_obs\n                latest_actions = self.prev_actions\n\n            qs, F = inference.update_posterior_states_full_factorized(\n                self.A,\n                self.mb_dict,\n                self.B,\n                self.B_factor_list,\n                latest_obs,\n                self.policies, \n                latest_actions, \n                prior = self.latest_belief, \n                policy_sep_prior = self.edge_handling_params['policy_sep_prior'],\n                **self.inference_params\n            )\n\n            self.F = F # variational free energy of each policy  \n\n        if hasattr(self, \"qs_hist\"):\n            self.qs_hist.append(qs)\n        self.qs = qs\n\n        return qs\n\n    def _infer_states_test(self, observation, distr_obs=False):\n        \"\"\"\n        Test version of ``infer_states()`` that additionally returns intermediate variables of MMP, such as\n        the prediction errors and intermediate beliefs from the optimization. Used for benchmarking against SPM outputs.\n        \"\"\"\n        observation = tuple(observation) if not distr_obs else observation\n\n        if not hasattr(self, \"qs\"):\n            self.reset()\n\n        if self.inference_algo == \"VANILLA\":\n            if self.action is not None:\n                empirical_prior = control.get_expected_states(\n                    self.qs, self.B, self.action.reshape(1, -1) \n                )[0]\n            else:\n                empirical_prior = self.D\n            qs = inference.update_posterior_states(\n                self.A,\n                observation,\n                empirical_prior,\n                **self.inference_params\n            )\n        elif self.inference_algo == \"MMP\":\n\n            self.prev_obs.append(observation)\n            if len(self.prev_obs) > self.inference_horizon:\n                latest_obs = self.prev_obs[-self.inference_horizon:]\n                latest_actions = self.prev_actions[-(self.inference_horizon-1):]\n            else:\n                latest_obs = self.prev_obs\n                latest_actions = self.prev_actions\n\n            qs, F, xn, vn = inference._update_posterior_states_full_test(\n                self.A,\n                self.B, \n                latest_obs,\n                self.policies, \n                latest_actions, \n                prior = self.latest_belief, \n                policy_sep_prior = self.edge_handling_params['policy_sep_prior'],\n                **self.inference_params\n            )\n\n            self.F = F # variational free energy of each policy  \n\n        if hasattr(self, \"qs_hist\"):\n            self.qs_hist.append(qs)\n\n        self.qs = qs\n\n        if self.inference_algo == \"MMP\":\n            return qs, xn, vn\n        else:\n            return qs\n    \n    def infer_policies(self):\n        \"\"\"\n        Perform policy inference by optimizing a posterior (categorical) distribution over policies.\n        This distribution is computed as the softmax of ``G * gamma + lnE`` where ``G`` is the negative expected\n        free energy of policies, ``gamma`` is a policy precision and ``lnE`` is the (log) prior probability of policies.\n        This function returns the posterior over policies as well as the negative expected free energy of each policy.\n        In this version of the function, the expected free energy of policies is computed using known factorized structure \n        in the model, which speeds up computation (particular the state information gain calculations).\n\n        Returns\n        ----------\n        q_pi: 1D ``numpy.ndarray``\n            Posterior beliefs over policies, i.e. a vector containing one posterior probability per policy.\n        G: 1D ``numpy.ndarray``\n            Negative expected free energies of each policy, i.e. a vector containing one negative expected free energy per policy.\n        \"\"\"\n\n        if self.inference_algo == \"VANILLA\":\n            if self.sophisticated:\n                q_pi, G = control.sophisticated_inference_search(\n                    self.qs, \n                    self.policies, \n                    self.A, \n                    self.B, \n                    self.C, \n                    self.A_factor_list, \n                    self.B_factor_list, \n                    self.I,\n                    self.si_horizon,\n                    self.si_policy_prune_threshold, \n                    self.si_state_prune_threshold, \n                    self.si_prune_penalty,\n                    1.0,\n                    self.inference_params,\n                    n=0\n                )\n            else:\n                q_pi, G = control.update_posterior_policies_factorized(\n                    self.qs,\n                    self.A,\n                    self.B,\n                    self.C,\n                    self.A_factor_list,\n                    self.B_factor_list,\n                    self.policies,\n                    self.use_utility,\n                    self.use_states_info_gain,\n                    self.use_param_info_gain,\n                    self.pA,\n                    self.pB,\n                    E = self.E,\n                    I = self.I,\n                    gamma = self.gamma\n                )\n        elif self.inference_algo == \"MMP\":\n\n            future_qs_seq = self.get_future_qs()\n\n            q_pi, G = control.update_posterior_policies_full_factorized(\n                future_qs_seq,\n                self.A,\n                self.B,\n                self.C,\n                self.A_factor_list,\n                self.B_factor_list,\n                self.policies,\n                self.use_utility,\n                self.use_states_info_gain,\n                self.use_param_info_gain,\n                self.latest_belief,\n                self.pA,\n                self.pB,\n                F=self.F,\n                E=self.E,\n                I=self.I,\n                gamma=self.gamma\n            )\n\n        if hasattr(self, \"q_pi_hist\"):\n            self.q_pi_hist.append(q_pi)\n            if len(self.q_pi_hist) > self.inference_horizon:\n                self.q_pi_hist = self.q_pi_hist[-(self.inference_horizon-1):]\n\n        self.q_pi = q_pi\n        self.G = G\n        return q_pi, G\n\n    def sample_action(self):\n        \"\"\"\n        Sample or select a discrete action from the posterior over control states.\n        This function both sets or cachés the action as an internal variable with the agent and returns it.\n        This function also updates time variable (and thus manages consequences of updating the moving reference frame of beliefs)\n        using ``self.step_time()``.\n\n        \n        Returns\n        ----------\n        action: 1D ``numpy.ndarray``\n            Vector containing the indices of the actions for each control factor\n        \"\"\"\n\n        if self.sampling_mode == \"marginal\":\n            action = control.sample_action(\n                self.q_pi, self.policies, self.num_controls, action_selection = self.action_selection, alpha = self.alpha\n            )\n        elif self.sampling_mode == \"full\":\n            action = control.sample_policy(self.q_pi, self.policies, self.num_controls,\n                                           action_selection=self.action_selection, alpha=self.alpha)\n\n        self.action = action\n\n        self.step_time()\n\n        return action\n    \n    def _sample_action_test(self):\n        \"\"\"\n        Sample or select a discrete action from the posterior over control states.\n        This function both sets or cachés the action as an internal variable with the agent and returns it.\n        This function also updates time variable (and thus manages consequences of updating the moving reference frame of beliefs)\n        using ``self.step_time()``.\n        \n        Returns\n        ----------\n        action: 1D ``numpy.ndarray``\n            Vector containing the indices of the actions for each control factor\n        \"\"\"\n\n        if self.sampling_mode == \"marginal\":\n            action, p_dist = control._sample_action_test(self.q_pi, self.policies, self.num_controls,\n                                                         action_selection=self.action_selection, alpha=self.alpha)\n        elif self.sampling_mode == \"full\":\n            action, p_dist = control._sample_policy_test(self.q_pi, self.policies, self.num_controls,\n                                                         action_selection=self.action_selection, alpha=self.alpha)\n\n        self.action = action\n\n        self.step_time()\n\n        return action, p_dist\n\n    def update_A(self, obs):\n        \"\"\"\n        Update approximate posterior beliefs about Dirichlet parameters that parameterise the observation likelihood or ``A`` array.\n\n        Parameters\n        ----------\n        observation: ``list`` or ``tuple`` of ints\n            The observation input. Each entry ``observation[m]`` stores the index of the discrete\n            observation for modality ``m``.\n\n        Returns\n        -----------\n        qA: ``numpy.ndarray`` of dtype object\n            Posterior Dirichlet parameters over observation model (same shape as ``A``), after having updated it with observations.\n        \"\"\"\n\n        qA = learning.update_obs_likelihood_dirichlet_factorized(\n            self.pA, \n            self.A, \n            obs, \n            self.qs, \n            self.A_factor_list,\n            self.lr_pA, \n            self.modalities_to_learn\n        )\n\n        self.pA = qA # set new prior to posterior\n        self.A = utils.norm_dist_obj_arr(qA) # take expected value of posterior Dirichlet parameters to calculate posterior over A array\n\n        return qA\n\n    def _update_A_old(self, obs):\n        \"\"\"\n        Update approximate posterior beliefs about Dirichlet parameters that parameterise the observation likelihood or ``A`` array.\n\n        Parameters\n        ----------\n        observation: ``list`` or ``tuple`` of ints\n            The observation input. Each entry ``observation[m]`` stores the index of the discrete\n            observation for modality ``m``.\n\n        Returns\n        -----------\n        qA: ``numpy.ndarray`` of dtype object\n            Posterior Dirichlet parameters over observation model (same shape as ``A``), after having updated it with observations.\n        \"\"\"\n\n        qA = learning.update_obs_likelihood_dirichlet(\n            self.pA, \n            self.A, \n            obs, \n            self.qs, \n            self.lr_pA, \n            self.modalities_to_learn\n        )\n\n        self.pA = qA # set new prior to posterior\n        self.A = utils.norm_dist_obj_arr(qA) # take expected value of posterior Dirichlet parameters to calculate posterior over A array\n\n        return qA\n\n    def update_B(self, qs_prev):\n        \"\"\"\n        Update posterior beliefs about Dirichlet parameters that parameterise the transition likelihood \n        \n        Parameters\n        -----------\n        qs_prev: 1D ``numpy.ndarray`` or ``numpy.ndarray`` of dtype object\n            Marginal posterior beliefs over hidden states at previous timepoint.\n    \n        Returns\n        -----------\n        qB: ``numpy.ndarray`` of dtype object\n            Posterior Dirichlet parameters over transition model (same shape as ``B``), after having updated it with state beliefs and actions.\n        \"\"\"\n\n        qB = learning.update_state_likelihood_dirichlet_interactions(\n            self.pB,\n            self.B,\n            self.action,\n            self.qs,\n            qs_prev,\n            self.B_factor_list,\n            self.lr_pB,\n            self.factors_to_learn\n        )\n\n        self.pB = qB # set new prior to posterior\n        self.B = utils.norm_dist_obj_arr(qB)  # take expected value of posterior Dirichlet parameters to calculate posterior over B array\n\n        return qB\n    \n    def _update_B_old(self, qs_prev):\n        \"\"\"\n        Update posterior beliefs about Dirichlet parameters that parameterise the transition likelihood \n        \n        Parameters\n        -----------\n        qs_prev: 1D ``numpy.ndarray`` or ``numpy.ndarray`` of dtype object\n            Marginal posterior beliefs over hidden states at previous timepoint.\n    \n        Returns\n        -----------\n        qB: ``numpy.ndarray`` of dtype object\n            Posterior Dirichlet parameters over transition model (same shape as ``B``), after having updated it with state beliefs and actions.\n        \"\"\"\n\n        qB = learning.update_state_likelihood_dirichlet(\n            self.pB,\n            self.B,\n            self.action,\n            self.qs,\n            qs_prev,\n            self.lr_pB,\n            self.factors_to_learn\n        )\n\n        self.pB = qB # set new prior to posterior\n        self.B = utils.norm_dist_obj_arr(qB)  # take expected value of posterior Dirichlet parameters to calculate posterior over B array\n\n        return qB\n    \n    def update_D(self, qs_t0 = None):\n        \"\"\"\n        Update Dirichlet parameters of the initial hidden state distribution \n        (prior beliefs about hidden states at the beginning of the inference window).\n\n        Parameters\n        -----------\n        qs_t0: 1D ``numpy.ndarray``, ``numpy.ndarray`` of dtype object, or ``None``\n            Marginal posterior beliefs over hidden states at current timepoint. If ``None``, the \n            value of ``qs_t0`` is set to ``self.qs_hist[0]`` (i.e. the initial hidden state beliefs at the first timepoint).\n            If ``self.inference_algo == \"MMP\"``, then ``qs_t0`` is set to be the Bayesian model average of beliefs about hidden states\n            at the first timestep of the backwards inference horizon, where the average is taken with respect to posterior beliefs about policies.\n      \n        Returns\n        -----------\n        qD: ``numpy.ndarray`` of dtype object\n            Posterior Dirichlet parameters over initial hidden state prior (same shape as ``qs_t0``), after having updated it with state beliefs.\n        \"\"\"\n        \n        if self.inference_algo == \"VANILLA\":\n            \n            if qs_t0 is None:\n                \n                try:\n                    qs_t0 = self.qs_hist[0]\n                except ValueError:\n                    print(\"qs_t0 must either be passed as argument to `update_D` or `save_belief_hist` must be set to True!\")             \n\n        elif self.inference_algo == \"MMP\":\n            \n            if self.edge_handling_params['use_BMA']:\n                qs_t0 = self.latest_belief\n            elif self.edge_handling_params['policy_sep_prior']:\n              \n                qs_pi_t0 = self.latest_belief\n\n                # get beliefs about policies at the time at the beginning of the inference horizon\n                if hasattr(self, \"q_pi_hist\"):\n                    begin_horizon_step = max(0, self.curr_timestep - self.inference_horizon)\n                    q_pi_t0 = np.copy(self.q_pi_hist[begin_horizon_step])\n                else:\n                    q_pi_t0 = np.copy(self.q_pi)\n            \n                qs_t0 = inference.average_states_over_policies(qs_pi_t0,q_pi_t0) # beliefs about hidden states at the first timestep of the inference horizon\n        \n        qD = learning.update_state_prior_dirichlet(self.pD, qs_t0, self.lr_pD, factors = self.factors_to_learn)\n        \n        self.pD = qD # set new prior to posterior\n        self.D = utils.norm_dist_obj_arr(qD) # take expected value of posterior Dirichlet parameters to calculate posterior over D array\n\n        return qD\n\n    def _get_default_params(self):\n        method = self.inference_algo\n        default_params = None\n        if method == \"VANILLA\":\n            default_params = {\"num_iter\": 10, \"dF\": 1.0, \"dF_tol\": 0.001, \"compute_vfe\": True}\n        elif method == \"MMP\":\n            default_params = {\"num_iter\": 10, \"grad_descent\": True, \"tau\": 0.25}\n        elif method == \"VMP\":\n            raise NotImplementedError(\"VMP is not implemented\")\n        elif method == \"BP\":\n            raise NotImplementedError(\"BP is not implemented\")\n        elif method == \"EP\":\n            raise NotImplementedError(\"EP is not implemented\")\n        elif method == \"CV\":\n            raise NotImplementedError(\"CV is not implemented\")\n\n        return default_params\n\n    "
  },
  {
    "path": "pymdp/legacy/algos/__init__.py",
    "content": "from .fpi import run_vanilla_fpi, run_vanilla_fpi_factorized\nfrom .mmp import run_mmp, run_mmp_factorized, _run_mmp_testing\n"
  },
  {
    "path": "pymdp/legacy/algos/fpi.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n# pylint: disable=no-member\n\nimport numpy as np\nfrom pymdp.legacy.maths import spm_dot, dot_likelihood, get_joint_likelihood, softmax, calc_free_energy, spm_log_single, spm_log_obj_array\nfrom pymdp.legacy.utils import to_obj_array, obj_array, obj_array_uniform\nfrom copy import deepcopy\n\ndef run_vanilla_fpi(A, obs, num_obs, num_states, prior=None, num_iter=10, dF=1.0, dF_tol=0.001, compute_vfe=True):\n    \"\"\"\n    Update marginal posterior beliefs over hidden states using mean-field variational inference, via\n    fixed point iteration. \n\n    Parameters\n    ----------\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``np.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    obs: numpy 1D array or numpy ndarray of dtype object\n        The observation (generated by the environment). If single modality, this should be a 1D ``np.ndarray``\n        (one-hot vector representation). If multi-modality, this should be ``np.ndarray`` of dtype object whose entries are 1D one-hot vectors.\n    num_obs: list of ints\n        List of dimensionalities of each observation modality\n    num_states: list of ints\n        List of dimensionalities of each hidden state factor\n    prior: numpy ndarray of dtype object, default None\n        Prior over hidden states. If absent, prior is set to be the log uniform distribution over hidden states (identical to the \n        initialisation of the posterior)\n    num_iter: int, default 10\n        Number of variational fixed-point iterations to run until convergence.\n    dF: float, default 1.0\n        Initial free energy gradient (dF/dt) before updating in the course of gradient descent.\n    dF_tol: float, default 0.001\n        Threshold value of the time derivative of the variational free energy (dF/dt), to be checked at \n        each iteration. If dF <= dF_tol, the iterations are halted pre-emptively and the final \n        marginal posterior belief(s) is(are) returned\n    compute_vfe: bool, default True\n        Whether to compute the variational free energy at each iteration. If False, the function runs through \n        all variational iterations.\n  \n    Returns\n    ----------\n    qs: numpy 1D array, numpy ndarray of dtype object, optional\n        Marginal posterior beliefs over hidden states at current timepoint\n    \"\"\"\n\n    # get model dimensions\n    len(num_obs)\n    n_factors = len(num_states)\n\n    \"\"\"\n    =========== Step 1 ===========\n        Loop over the observation modalities and use assumption of independence \n        among observation modalitiesto multiply each modality-specific likelihood \n        onto a single joint likelihood over hidden factors [size num_states]\n    \"\"\"\n\n    likelihood = get_joint_likelihood(A, obs, num_states)\n\n    likelihood = spm_log_single(likelihood)\n\n    \"\"\"\n    =========== Step 2 ===========\n        Create a flat posterior (and prior if necessary)\n    \"\"\"\n\n    qs = obj_array_uniform(num_states)\n\n    \"\"\"\n    If prior is not provided, initialise prior to be identical to posterior \n    (namely, a flat categorical distribution). Take the logarithm of it (required for \n    FPI algorithm below).\n    \"\"\"\n    if prior is None:\n        prior = obj_array_uniform(num_states)\n        \n    prior = spm_log_obj_array(prior) # log the prior\n\n\n    \"\"\"\n    =========== Step 3 ===========\n        Initialize initial free energy\n    \"\"\"\n    if compute_vfe:\n        prev_vfe = calc_free_energy(qs, prior, n_factors)\n\n    \"\"\"\n    =========== Step 4 ===========\n        If we have a single factor, we can just add prior and likelihood because there is a unique FE minimum that can reached instantaneously,\n        otherwise we run fixed point iteration\n    \"\"\"\n\n    if n_factors == 1:\n\n        qL = spm_dot(likelihood, qs, [0])\n\n        return to_obj_array(softmax(qL + prior[0]))\n\n    else:\n        \"\"\"\n        =========== Step 5 ===========\n        Run the FPI scheme\n        \"\"\"\n\n        # change stop condition for fixed point iterations based on whether we are computing the variational free energy or not\n        condition_check_both = lambda curr_iter, dF: curr_iter < num_iter and dF >= dF_tol\n        condition_check_just_numiter = lambda curr_iter, dF: curr_iter < num_iter\n        check_stop_condition = condition_check_both if compute_vfe else condition_check_just_numiter\n\n        curr_iter = 0\n\n        while check_stop_condition(curr_iter, dF):\n            # Initialise variational free energy\n            vfe = 0\n\n            # arg_list = [likelihood, list(range(n_factors))]\n            # arg_list = arg_list + list(chain(*([qs_i,[i]] for i, qs_i in enumerate(qs)))) + [list(range(n_factors))]\n            # LL_tensor = np.einsum(*arg_list)\n\n            qs_all = qs[0]\n            for factor in range(n_factors-1):\n                qs_all = qs_all[...,None]*qs[factor+1]\n            LL_tensor = likelihood * qs_all\n\n            for factor, qs_i in enumerate(qs):\n                # qL = np.einsum(LL_tensor, list(range(n_factors)), 1.0/qs_i, [factor], [factor])\n                qL = np.einsum(LL_tensor, list(range(n_factors)), [factor])/qs_i\n                qs[factor] = softmax(qL + prior[factor])\n\n            # print(f'Posteriors at iteration {curr_iter}:\\n')\n            # print(qs[0])\n            # print(qs[1])\n            # List of orders in which marginal posteriors are sequentially multiplied into the joint likelihood:\n            # First order loops over factors starting at index = 0, second order goes in reverse\n            # factor_orders = [range(n_factors), range((n_factors - 1), -1, -1)]\n\n            # iteratively marginalize out each posterior marginal from the joint log-likelihood\n            # except for the one associated with a given factor\n            # for factor_order in factor_orders:\n            #     for factor in factor_order:\n            #         qL = spm_dot(likelihood, qs, [factor])\n            #         qs[factor] = softmax(qL + prior[factor])\n\n            if compute_vfe:\n                # calculate new free energy\n                vfe = calc_free_energy(qs, prior, n_factors, likelihood)\n\n                # print(f'VFE at iteration {curr_iter}: {vfe}\\n')\n                # stopping condition - time derivative of free energy\n                dF = np.abs(prev_vfe - vfe)\n                prev_vfe = vfe\n\n            curr_iter += 1\n\n        return qs\n\ndef run_vanilla_fpi_factorized(A, obs, num_obs, num_states, mb_dict, prior=None, num_iter=10, dF=1.0, dF_tol=0.001, compute_vfe=True):\n    \"\"\"\n    Update marginal posterior beliefs over hidden states using mean-field variational inference, via\n    fixed point iteration. \n\n    Parameters\n    ----------\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``np.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    obs: numpy 1D array or numpy ndarray of dtype object\n        The observation (generated by the environment). If single modality, this should be a 1D ``np.ndarray``\n        (one-hot vector representation). If multi-modality, this should be ``np.ndarray`` of dtype object whose entries are 1D one-hot vectors.\n    num_obs: ``list`` of ints\n        List of dimensionalities of each observation modality\n    num_states: ``list`` of ints\n        List of dimensionalities of each hidden state factor\n    mb_dict: ``Dict``\n        Dictionary with two keys (``A_factor_list`` and ``A_modality_list``), that stores the factor indices that influence each modality (``A_factor_list``)\n        and the modality indices influenced by each factor (``A_modality_list``).\n    prior: numpy ndarray of dtype object, default None\n        Prior over hidden states. If absent, prior is set to be the log uniform distribution over hidden states (identical to the \n        initialisation of the posterior)\n    num_iter: int, default 10\n        Number of variational fixed-point iterations to run until convergence.\n    dF: float, default 1.0\n        Initial free energy gradient (dF/dt) before updating in the course of gradient descent.\n    dF_tol: float, default 0.001\n        Threshold value of the time derivative of the variational free energy (dF/dt), to be checked at \n        each iteration. If dF <= dF_tol, the iterations are halted pre-emptively and the final \n        marginal posterior belief(s) is(are) returned\n    compute_vfe: bool, default True\n        Whether to compute the variational free energy at each iteration. If False, the function runs through \n        all variational iterations.\n  \n    Returns\n    ----------\n    qs: numpy 1D array, numpy ndarray of dtype object, optional\n        Marginal posterior beliefs over hidden states at current timepoint\n    \"\"\"\n\n    # get model dimensions\n    n_modalities = len(num_obs)\n    n_factors = len(num_states)\n\n    \"\"\"\n    =========== Step 1 ===========\n        Generate modality-specific log-likelihood tensors (will be tensors of different-shapes,\n        where `likelihood[m].ndim` will be equal to  `len(mb_dict['A_factor_list'][m])`\n    \"\"\"\n\n    likelihood = obj_array(n_modalities)\n    obs = to_obj_array(obs)\n    for (m, A_m) in enumerate(A):\n        likelihood[m] = dot_likelihood(A_m, obs[m])\n\n    log_likelihood = spm_log_obj_array(likelihood)\n\n    \"\"\"\n    =========== Step 2 ===========\n        Create a flat posterior (and prior if necessary)\n    \"\"\"\n\n    qs = obj_array_uniform(num_states)\n\n    \"\"\"\n    If prior is not provided, initialise prior to be identical to posterior \n    (namely, a flat categorical distribution). Take the logarithm of it (required for \n    FPI algorithm below).\n    \"\"\"\n    if prior is None:\n        prior = obj_array_uniform(num_states)\n        \n    prior = spm_log_obj_array(prior) # log the prior\n\n\n    \"\"\"\n    =========== Step 3 ===========\n        Initialize initial free energy\n    \"\"\"\n    prev_vfe = calc_free_energy(qs, prior, n_factors)\n\n    \"\"\"\n    =========== Step 4 ===========\n        If we have a single factor, we can just add prior and likelihood because there is a unique FE minimum that can reached instantaneously,\n        otherwise we run fixed point iteration\n    \"\"\"\n\n    if n_factors == 1:\n\n        joint_loglikelihood = np.zeros(tuple(num_states))\n        for m in range(n_modalities):\n            joint_loglikelihood += log_likelihood[m] # add up all the log-likelihoods, since we know they will all have the same dimension in the case of a single hidden state factor\n        qL = spm_dot(joint_loglikelihood, qs, [0])\n\n        qs = to_obj_array(softmax(qL + prior[0]))\n\n    else:\n        \"\"\"\n        =========== Step 5 ===========\n        Run the factorized FPI scheme\n        \"\"\"\n\n        A_factor_list, A_modality_list = mb_dict['A_factor_list'], mb_dict['A_modality_list']\n\n        if compute_vfe:\n            joint_loglikelihood = np.zeros(tuple(num_states))\n            for m in range(n_modalities):\n                reshape_dims = n_factors*[1]\n                for _f_id in A_factor_list[m]:\n                    reshape_dims[_f_id] = num_states[_f_id]\n\n                joint_loglikelihood += log_likelihood[m].reshape(reshape_dims) # add up all the log-likelihoods after reshaping them to the global common dimensions of all hidden state factors\n\n        curr_iter = 0\n\n        # change stop condition for fixed point iterations based on whether we are computing the variational free energy or not\n        condition_check_both = lambda curr_iter, dF: curr_iter < num_iter and dF >= dF_tol\n        condition_check_just_numiter = lambda curr_iter, dF: curr_iter < num_iter\n        check_stop_condition = condition_check_both if compute_vfe else condition_check_just_numiter\n\n        while check_stop_condition(curr_iter, dF):\n            \n            # vfe = 0 \n\n            qs_new = obj_array(n_factors)\n            for f in range(n_factors):\n            \n                '''\n                Sum the expected log likelihoods E_q(s_i/f)[ln P(o=obs[m]|s)] for independent modalities together,\n                since they may have differing dimension. This obtains a marginal log-likelihood for the current factor index `factor`,\n                which includes the evidence for that particular factor afforded by the different modalities. \n                '''\n            \n                qL = np.zeros(num_states[f])\n\n                for ii, m in enumerate(A_modality_list[f]):\n                \n                    qL += spm_dot(log_likelihood[m], qs[A_factor_list[m]], [A_factor_list[m].index(f)])\n\n                qs_new[f] = softmax(qL + prior[f])\n\n                # vfe -= qL.sum() # accuracy part of vfe, sum of factor-level expected energies E_q(s_i/f)[ln P(o=obs|s)]\n            \n            qs = deepcopy(qs_new)\n            # print(f'Posteriors at iteration {curr_iter}:\\n')\n            # print(qs[0])\n            # print(qs[1])\n            # calculate new free energy, leaving out the accuracy term\n            # vfe += calc_free_energy(qs, prior, n_factors)\n\n            if compute_vfe:\n                vfe = calc_free_energy(qs, prior, n_factors, likelihood=joint_loglikelihood)\n\n                # print(f'VFE at iteration {curr_iter}: {vfe}\\n')\n                # stopping condition - time derivative of free energy\n                dF = np.abs(prev_vfe - vfe)\n                prev_vfe = vfe\n\n            curr_iter += 1\n            \n    return qs\n\n\ndef _run_vanilla_fpi_faster(A, obs, n_observations, n_states, prior=None, num_iter=10, dF=1.0, dF_tol=0.001):\n    \"\"\"\n    Update marginal posterior beliefs about hidden states\n    using a new version of variational fixed point iteration (FPI). \n    @NOTE (Conor, 26.02.2020):\n    This method uses a faster algorithm than the traditional 'spm_dot' approach. Instead of\n    separately computing a conditional joint log likelihood of an outcome, under the\n    posterior probabilities of a certain marginal, instead all marginals are multiplied into one \n    joint tensor that gives the joint likelihood of an observation under all hidden states, \n    that is then sequentially (and *parallelizably*) marginalized out to get each marginal posterior. \n    This method is less RAM-intensive, admits heavy parallelization, and runs (about 2x) faster.\n    @NOTE (Conor, 28.02.2020):\n    After further testing, discovered interesting differences between this version and the \n    original version. It appears that the\n    original version (simple 'run_vanilla_fpi') shows mean-field biases or 'explaining away' \n    effects, whereas this version spreads probabilities more 'fairly' among possibilities.\n    To summarize: it actually matters what order you do the summing across the joint likelihood tensor. \n    In this verison, all marginals are multiplied into the likelihood tensor before summing out, \n    whereas in the previous version, marginals are recursively multiplied and summed out.\n    @NOTE (Conor, 24.04.2020): I would expect that the factor_order approach used above would help \n    ameliorate the effects of the mean-field bias. I would also expect that the use of a factor_order \n    below is unnnecessary, since the marginalisation w.r.t. each factor is done only after all marginals \n    are multiplied into the larger tensor.\n\n    Parameters\n    ----------\n    - 'A' [numpy nd.array (matrix or tensor or array-of-arrays)]:\n        Observation likelihood of the generative model, mapping from hidden states to observations. \n        Used to invert generative model to obtain marginal likelihood over hidden states, \n        given the observation\n    - 'obs' [numpy 1D array or array of arrays (with 1D numpy array entries)]:\n        The observation (generated by the environment). If single modality, this can be a 1D array \n        (one-hot vector representation). If multi-modality, this can be an array of arrays \n        (whose entries are 1D one-hot vectors).\n    - 'n_observations' [int or list of ints]\n    - 'n_states' [int or list of ints]\n    - 'prior' [numpy 1D array, array of arrays (with 1D numpy array entries) or None]:\n        Prior beliefs of the agent, to be integrated with the marginal likelihood to obtain posterior. \n        If absent, prior is set to be a uniform distribution over hidden states \n        (identical to the initialisation of the posterior)\n    -'num_iter' [int]:\n        Number of variational fixed-point iterations to run.\n    -'dF' [float]:\n        Starting free energy gradient (dF/dt) before updating in the course of gradient descent.\n    -'dF_tol' [float]:\n        Threshold value of the gradient of the variational free energy (dF/dt), \n        to be checked at each iteration. If dF <= dF_tol, the iterations are halted pre-emptively \n        and the final marginal posterior belief(s) is(are) returned\n    Returns\n    ----------\n    -'qs' [numpy 1D array or array of arrays (with 1D numpy array entries):\n        Marginal posterior beliefs over hidden states (single- or multi-factor) achieved \n        via variational fixed point iteration (mean-field)\n    \"\"\"\n\n    # get model dimensions\n    len(n_observations)\n    n_factors = len(n_states)\n\n    \"\"\"\n    =========== Step 1 ===========\n        Loop over the observation modalities and use assumption of independence \n        among observation modalities to multiply each modality-specific likelihood \n        onto a single joint likelihood over hidden factors [size n_states]\n    \"\"\"\n\n    # likelihood = np.ones(tuple(n_states))\n\n    # if n_modalities is 1:\n    #     likelihood *= spm_dot(A, obs, obs_mode=True)\n    # else:\n    #     for modality in range(n_modalities):\n    #         likelihood *= spm_dot(A[modality], obs[modality], obs_mode=True)\n    likelihood = get_joint_likelihood(A, obs, n_states)\n    likelihood = np.log(likelihood + 1e-16)\n\n    \"\"\"\n    =========== Step 2 ===========\n        Create a flat posterior (and prior if necessary)\n    \"\"\"\n\n    qs = np.empty(n_factors, dtype=object)\n    for factor in range(n_factors):\n        qs[factor] = np.ones(n_states[factor]) / n_states[factor]\n\n    \"\"\"\n    If prior is not provided, initialise prior to be identical to posterior \n    (namely, a flat categorical distribution). Take the logarithm of it \n    (required for FPI algorithm below).\n    \"\"\"\n    if prior is None:\n        prior = np.empty(n_factors, dtype=object)\n        for factor in range(n_factors):\n            prior[factor] = np.log(np.ones(n_states[factor]) / n_states[factor] + 1e-16)\n\n    \"\"\"\n    =========== Step 3 ===========\n        Initialize initial free energy\n    \"\"\"\n    prev_vfe = calc_free_energy(qs, prior, n_factors)\n\n    \"\"\"\n    =========== Step 4 ===========\n        If we have a single factor, we can just add prior and likelihood,\n        otherwise we run FPI\n    \"\"\"\n\n    if n_factors == 1:\n        qL = spm_dot(likelihood, qs, [0])\n        return softmax(qL + prior[0])\n\n    else:\n        \"\"\"\n        =========== Step 5 ===========\n        Run the revised fixed-point iteration scheme\n        \"\"\"\n\n        curr_iter = 0\n\n        while curr_iter < num_iter and dF >= dF_tol:\n            # Initialise variational free energy\n            vfe = 0\n\n            # List of orders in which marginal posteriors are sequentially \n            # multiplied into the joint likelihood: First order loops over \n            # factors starting at index = 0, second order goes in reverse\n            factor_orders = [range(n_factors), range((n_factors - 1), -1, -1)]\n\n            for factor_order in factor_orders:\n                # reset the log likelihood\n                L = likelihood.copy()\n\n                # multiply each marginal onto a growing single joint distribution\n                for factor in factor_order:\n                    s = np.ones(np.ndim(L), dtype=int)\n                    s[factor] = len(qs[factor])\n                    L *= qs[factor].reshape(tuple(s))\n\n                # now loop over factors again, and this time divide out the \n                # appropriate marginal before summing out.\n                # !!! KEY DIFFERENCE BETWEEN THIS AND 'VANILLA' FPI, \n                # WHERE THE ORDER OF THE MARGINALIZATION MATTERS !!!\n                for f in factor_order:\n                    s = np.ones(np.ndim(L), dtype=int)\n                    s[factor] = len(qs[factor])  # type: ignore\n\n                    # divide out the factor we multiplied into X already\n                    temp = L * (1.0 / qs[factor]).reshape(tuple(s))  # type: ignore\n                    dims2sum = tuple(np.where(np.arange(n_factors) != f)[0])\n                    qL = np.sum(temp, dims2sum)\n\n                    temp = L * (1.0 / qs[factor]).reshape(tuple(s))  # type: ignore\n                    qs[factor] = softmax(qL + prior[factor])  # type: ignore\n\n            # calculate new free energy\n            vfe = calc_free_energy(qs, prior, n_factors, likelihood)\n\n            # stopping condition - time derivative of free energy\n            dF = np.abs(prev_vfe - vfe)\n            prev_vfe = vfe\n\n            curr_iter += 1\n\n        return qs\n"
  },
  {
    "path": "pymdp/legacy/algos/mmp.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\nimport numpy as np\n\nfrom pymdp.legacy.utils import get_model_dimensions, obj_array, obj_array_zeros, obj_array_uniform\nfrom pymdp.legacy.maths import spm_dot, spm_norm, softmax, calc_free_energy, spm_log_single, factor_dot_flex\n\ndef run_mmp(\n    lh_seq, B, policy, prev_actions=None, prior=None, num_iter=10, grad_descent=True, tau=0.25, last_timestep = False):\n    \"\"\"\n    Marginal message passing scheme for updating marginal posterior beliefs about hidden states over time, \n    conditioned on a particular policy.\n\n    Parameters\n    ----------\n    lh_seq: ``numpy.ndarray`` of dtype object\n        Log likelihoods of hidden states under a sequence of observations over time. This is assumed to already be log-transformed. Each ``lh_seq[t]`` contains\n        the log likelihood of hidden states for a particular observation at time ``t``\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    policy: 2D ``numpy.ndarray``\n        Matrix of shape ``(policy_len, num_control_factors)`` that indicates the indices of each action (control state index) upon timestep ``t`` and control_factor ``f` in the element ``policy[t,f]`` for a given policy.\n    prev_actions: ``numpy.ndarray``, default None\n        If provided, should be a matrix of previous actions of shape ``(infer_len, num_control_factors)`` that indicates the indices of each action (control state index) taken in the past (up until the current timestep).\n    prior: ``numpy.ndarray`` of dtype object, default None\n        If provided, the prior beliefs about initial states (at t = 0, relative to ``infer_len``). If ``None``, this defaults\n        to a flat (uninformative) prior over hidden states.\n    numiter: int, default 10\n        Number of variational iterations.\n    grad_descent: Bool, default True\n        Flag for whether to use gradient descent (free energy gradient updates) instead of fixed point solution to the posterior beliefs\n    tau: float, default 0.25\n        Decay constant for use in ``grad_descent`` version. Tunes the size of the gradient descent updates to the posterior.\n    last_timestep: Bool, default False\n        Flag for whether we are at the last timestep of belief updating\n        \n    Returns\n    ---------\n    qs_seq: ``numpy.ndarray`` of dtype object\n        Posterior beliefs over hidden states under the policy. Nesting structure is timepoints, factors,\n        where e.g. ``qs_seq[t][f]`` stores the marginal belief about factor ``f`` at timepoint ``t`` under the policy in question.\n    F: float\n        Variational free energy of the policy.\n    \"\"\"\n\n    # window\n    past_len = len(lh_seq)\n    future_len = policy.shape[0]\n\n    if last_timestep:\n        infer_len = past_len + future_len - 1\n    else:\n        infer_len = past_len + future_len\n    \n    future_cutoff = past_len + future_len - 2\n\n    # dimensions\n    _, num_states, _, num_factors = get_model_dimensions(A=None, B=B)\n\n    # beliefs\n    qs_seq = obj_array(infer_len)\n    for t in range(infer_len):\n        qs_seq[t] = obj_array_uniform(num_states)\n\n    # last message\n    qs_T = obj_array_zeros(num_states)\n\n    # prior\n    if prior is None:\n        prior = obj_array_uniform(num_states)\n\n    # transposed transition\n    trans_B = obj_array(num_factors)\n        \n    for f in range(num_factors):\n        trans_B[f] = spm_norm(np.swapaxes(B[f],0,1))\n\n    if prev_actions is not None:\n        policy = np.vstack((prev_actions, policy))\n\n    for itr in range(num_iter):\n        F = 0.0 # reset variational free energy (accumulated over time and factors, but reset per iteration)\n        for t in range(infer_len):\n            for f in range(num_factors):\n                # likelihood\n                if t < past_len:\n                    lnA = spm_log_single(spm_dot(lh_seq[t], qs_seq[t], [f]))\n                    print(f'Enumerated version: lnA at time {t}: {lnA}')    \n                else:\n                    lnA = np.zeros(num_states[f])\n                \n                # past message\n                if t == 0:\n                    lnB_past = spm_log_single(prior[f])\n                else:\n                    past_msg = B[f][:, :, int(policy[t - 1, f])].dot(qs_seq[t - 1][f])\n                    lnB_past = spm_log_single(past_msg)\n\n                # future message\n                if t >= future_cutoff:\n                    lnB_future = qs_T[f]\n                else:\n                    future_msg = trans_B[f][:, :, int(policy[t, f])].dot(qs_seq[t + 1][f])\n                    lnB_future = spm_log_single(future_msg)\n                \n                # inference\n                if grad_descent:\n                    sx = qs_seq[t][f] # save this as a separate variable so that it can be used in VFE computation\n                    lnqs = spm_log_single(sx)\n                    coeff = 1 if (t >= future_cutoff) else 2\n                    err = (coeff * lnA + lnB_past + lnB_future) - coeff * lnqs\n                    lnqs = lnqs + tau * (err - err.mean()) # for numerical stability, before passing into the softmax\n                    qs_seq[t][f] = softmax(lnqs)\n                    if (t == 0) or (t == (infer_len-1)):\n                        F += sx.dot(0.5*err)\n                    else:\n                        F += sx.dot(0.5*(err - (num_factors - 1)*lnA/num_factors)) # @NOTE: not sure why Karl does this in SPM_MDP_VB_X, we should look into this\n                else:\n                    qs_seq[t][f] = softmax(lnA + lnB_past + lnB_future)\n            \n            if not grad_descent:\n\n                if t < past_len:\n                    F += calc_free_energy(qs_seq[t], prior, num_factors, likelihood = spm_log_single(lh_seq[t]) )\n                else:\n                    F += calc_free_energy(qs_seq[t], prior, num_factors)\n\n    return qs_seq, F\n\ndef run_mmp_factorized(\n    lh_seq, mb_dict, B, B_factor_list, policy, prev_actions=None, prior=None, num_iter=10, grad_descent=True, tau=0.25, last_timestep = False):\n    \"\"\"\n    Marginal message passing scheme for updating marginal posterior beliefs about hidden states over time, \n    conditioned on a particular policy.\n\n    Parameters\n    ----------\n    lh_seq: ``numpy.ndarray`` of dtype object\n        Log likelihoods of hidden states under a sequence of observations over time. This is assumed to already be log-transformed. Each ``lh_seq[t]`` contains\n        the log likelihood of hidden states for a particular observation at time ``t``\n    mb_dict: ``Dict``\n        Dictionary with two keys (``A_factor_list`` and ``A_modality_list``), that stores the factor indices that influence each modality (``A_factor_list``)\n        and the modality indices influenced by each factor (``A_modality_list``).\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    B_factor_list: ``list`` of ``list`` of ``int``\n        List of lists of hidden state factors each hidden state factor depends on. Each element ``B_factor_list[i]`` is a list of the factor indices that factor i's dynamics depend on.\n    policy: 2D ``numpy.ndarray``\n        Matrix of shape ``(policy_len, num_control_factors)`` that indicates the indices of each action (control state index) upon timestep ``t`` and control_factor ``f` in the element ``policy[t,f]`` for a given policy.\n    prev_actions: ``numpy.ndarray``, default None\n        If provided, should be a matrix of previous actions of shape ``(infer_len, num_control_factors)`` that indicates the indices of each action (control state index) taken in the past (up until the current timestep).\n    prior: ``numpy.ndarray`` of dtype object, default None\n        If provided, the prior beliefs about initial states (at t = 0, relative to ``infer_len``). If ``None``, this defaults\n        to a flat (uninformative) prior over hidden states.\n    numiter: int, default 10\n        Number of variational iterations.\n    grad_descent: Bool, default True\n        Flag for whether to use gradient descent (free energy gradient updates) instead of fixed point solution to the posterior beliefs\n    tau: float, default 0.25\n        Decay constant for use in ``grad_descent`` version. Tunes the size of the gradient descent updates to the posterior.\n    last_timestep: Bool, default False\n        Flag for whether we are at the last timestep of belief updating\n        \n    Returns\n    ---------\n    qs_seq: ``numpy.ndarray`` of dtype object\n        Posterior beliefs over hidden states under the policy. Nesting structure is timepoints, factors,\n        where e.g. ``qs_seq[t][f]`` stores the marginal belief about factor ``f`` at timepoint ``t`` under the policy in question.\n    F: float\n        Variational free energy of the policy.\n    \"\"\"\n\n    # window\n    past_len = len(lh_seq)\n    future_len = policy.shape[0]\n\n    if last_timestep:\n        infer_len = past_len + future_len - 1\n    else:\n        infer_len = past_len + future_len\n    \n    future_cutoff = past_len + future_len - 2\n\n    # dimensions\n    _, num_states, _, num_factors = get_model_dimensions(A=None, B=B)\n\n    # beliefs\n    qs_seq = obj_array(infer_len)\n    for t in range(infer_len):\n        qs_seq[t] = obj_array_uniform(num_states)\n\n    # last message\n    qs_T = obj_array_zeros(num_states)\n\n    # prior\n    if prior is None:\n        prior = obj_array_uniform(num_states)\n\n    # transposed transition\n    trans_B = obj_array(num_factors)\n        \n    for f in range(num_factors):\n        trans_B[f] = spm_norm(np.swapaxes(B[f],0,1))\n\n    if prev_actions is not None:\n        policy = np.vstack((prev_actions, policy))\n\n    A_factor_list, A_modality_list = mb_dict['A_factor_list'], mb_dict['A_modality_list']\n\n    joint_lh_seq = obj_array(len(lh_seq))\n    num_modalities = len(A_factor_list)\n    for t in range(len(lh_seq)):\n        joint_loglikelihood = np.zeros(tuple(num_states))\n        for m in range(num_modalities):\n            reshape_dims = num_factors*[1]\n            for _f_id in A_factor_list[m]:\n                reshape_dims[_f_id] = num_states[_f_id]\n            joint_loglikelihood += lh_seq[t][m].reshape(reshape_dims) # add up all the log-likelihoods after reshaping them to the global common dimensions of all hidden state factors\n        joint_lh_seq[t] = joint_loglikelihood\n\n    # compute inverse B dependencies, which is a list that for each hidden state factor, lists the indices of the other hidden state factors that it 'drives' or is a parent of in the HMM graphical model\n    inv_B_deps = [[i for i, d in enumerate(B_factor_list) if f in d] for f in range(num_factors)]\n    for itr in range(num_iter):\n        F = 0.0 # reset variational free energy (accumulated over time and factors, but reset per iteration)\n        for t in range(infer_len):\n            for f in range(num_factors):\n                # likelihood\n                lnA = np.zeros(num_states[f])\n                if t < past_len:\n                    for m in A_modality_list[f]:\n                        lnA += spm_log_single(spm_dot(lh_seq[t][m], qs_seq[t][A_factor_list[m]], [A_factor_list[m].index(f)]))  \n                    print(f'Factorized version: lnA at time {t}: {lnA}')                \n                \n                # past message\n                if t == 0:\n                    lnB_past = spm_log_single(prior[f])\n                else:\n                    past_msg = spm_dot(B[f][...,int(policy[t - 1, f])], qs_seq[t-1][B_factor_list[f]])\n                    lnB_past = spm_log_single(past_msg)\n\n                # future message\n                if t >= future_cutoff:\n                    lnB_future = qs_T[f]\n                else:\n                    # list of future_msgs, one for each of the factors that factor f is driving\n\n                    B_marg_list = [] # list of the marginalized B matrices, that correspond to mapping between the factor of interest `f` and each of its children factors `i`\n                    for i in inv_B_deps[f]: #loop over all the hidden state factors that are driven by f\n                        b = B[i][...,int(policy[t,i])]\n                        keep_dims = (0,1+B_factor_list[i].index(f))\n                        dims = []\n                        idxs = []\n                        for j, d in enumerate(B_factor_list[i]): # loop over the list of factors that drive each child `i` of factor-of-interest `f` (i.e. the co-parents of `f`, with respect to child `i`)\n                            if f != d:\n                                dims.append((1 + j,))\n                                idxs.append(d)\n                        xs = [qs_seq[t+1][f_i] for f_i in idxs]\n                        B_marg_list.append( factor_dot_flex(b, xs, tuple(dims), keep_dims=keep_dims) ) # marginalize out all parents of `i` besides `f`\n\n                    lnB_future = np.zeros(num_states[f])\n                    for i, b in enumerate(B_marg_list):\n                        b_norm_T = spm_norm(b.T)\n                        lnB_future += spm_log_single(b_norm_T.dot(qs_seq[t + 1][inv_B_deps[f][i]]))\n                    \n                    \n                    lnB_future *= 0.5\n                \n                # inference\n                if grad_descent:\n                    sx = qs_seq[t][f] # save this as a separate variable so that it can be used in VFE computation\n                    lnqs = spm_log_single(sx)\n                    coeff = 1 if (t >= future_cutoff) else 2\n                    err = (coeff * lnA + lnB_past + lnB_future) - coeff * lnqs\n                    lnqs = lnqs + tau * (err - err.mean())\n                    qs_seq[t][f] = softmax(lnqs)\n                    if (t == 0) or (t == (infer_len-1)):\n                        F += sx.dot(0.5*err)\n                    else:\n                        F += sx.dot(0.5*(err - (num_factors - 1)*lnA/num_factors)) # @NOTE: not sure why Karl does this in SPM_MDP_VB_X, we should look into this\n                else:\n                    qs_seq[t][f] = softmax(lnA + lnB_past + lnB_future)\n            \n            if not grad_descent:\n\n                if t < past_len:\n                    F += calc_free_energy(qs_seq[t], prior, num_factors, likelihood = spm_log_single(joint_lh_seq[t]) )\n                else:\n                    F += calc_free_energy(qs_seq[t], prior, num_factors)\n\n    return qs_seq, F\n\ndef _run_mmp_testing(\n    lh_seq, B, policy, prev_actions=None, prior=None, num_iter=10, grad_descent=True, tau=0.25, last_timestep = False):\n    \"\"\"\n    Marginal message passing scheme for updating marginal posterior beliefs about hidden states over time, \n    conditioned on a particular policy.\n\n    Parameters\n    ----------\n    lh_seq: ``numpy.ndarray`` of dtype object\n        Log likelihoods of hidden states under a sequence of observations over time. This is assumed to already be log-transformed. Each ``lh_seq[t]`` contains\n        the log likelihood of hidden states for a particular observation at time ``t``\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    policy: 2D ``numpy.ndarray``\n        Matrix of shape ``(policy_len, num_control_factors)`` that indicates the indices of each action (control state index) upon timestep ``t`` and control_factor ``f` in the element ``policy[t,f]`` for a given policy.\n    prev_actions: ``numpy.ndarray``, default None\n        If provided, should be a matrix of previous actions of shape ``(infer_len, num_control_factors)`` that indicates the indices of each action (control state index) taken in the past (up until the current timestep).\n    prior: ``numpy.ndarray`` of dtype object, default None\n        If provided, the prior beliefs about initial states (at t = 0, relative to ``infer_len``). If ``None``, this defaults\n        to a flat (uninformative) prior over hidden states.\n    numiter: int, default 10\n        Number of variational iterations.\n    grad_descent: Bool, default True\n        Flag for whether to use gradient descent (free energy gradient updates) instead of fixed point solution to the posterior beliefs\n    tau: float, default 0.25\n        Decay constant for use in ``grad_descent`` version. Tunes the size of the gradient descent updates to the posterior.\n    last_timestep: Bool, default False\n        Flag for whether we are at the last timestep of belief updating\n        \n    Returns\n    ---------\n    qs_seq: ``numpy.ndarray`` of dtype object\n        Posterior beliefs over hidden states under the policy. Nesting structure is timepoints, factors,\n        where e.g. ``qs_seq[t][f]`` stores the marginal belief about factor ``f`` at timepoint ``t`` under the policy in question.\n    F: float\n        Variational free energy of the policy.\n    xn: list\n        The sequence of beliefs as they're computed across iterations of marginal message passing (used for benchmarking). Nesting structure is iteration, factor, so ``xn[itr][f]`` \n        stores the ``num_states x infer_len`` array of beliefs about hidden states at different time points of inference horizon.\n    vn: list\n        The sequence of prediction errors as they're computed across iterations of marginal message passing (used for benchmarking). Nesting structure is iteration, factor, so ``vn[itr][f]`` \n        stores the ``num_states x infer_len`` array of prediction errors for hidden states at different time points of inference horizon.\n    \"\"\"\n\n    # window\n    past_len = len(lh_seq)\n    future_len = policy.shape[0]\n\n    if last_timestep:\n        infer_len = past_len + future_len - 1\n    else:\n        infer_len = past_len + future_len\n    \n    future_cutoff = past_len + future_len - 2\n\n    # dimensions\n    _, num_states, _, num_factors = get_model_dimensions(A=None, B=B)\n\n    # beliefs\n    qs_seq = obj_array(infer_len)\n    for t in range(infer_len):\n        qs_seq[t] = obj_array_uniform(num_states)\n\n    # last message\n    qs_T = obj_array_zeros(num_states)\n\n    # prior\n    if prior is None:\n        prior = obj_array_uniform(num_states)\n\n    # transposed transition\n    trans_B = obj_array(num_factors)\n        \n    for f in range(num_factors):\n        trans_B[f] = spm_norm(np.swapaxes(B[f],0,1))\n\n    if prev_actions is not None:\n        policy = np.vstack((prev_actions, policy))\n\n    xn = [] # list for storing beliefs across iterations\n    vn = [] # list for storing prediction errors across iterations\n\n    shape_list = [ [num_states[f], infer_len] for f in range(num_factors) ]\n    \n    for itr in range(num_iter):\n\n        xn_itr_all_factors = obj_array_zeros(shape_list) # temporary cache for storing beliefs across different hidden state factors, for a fixed iteration of the belief updating scheme\n        vn_itr_all_factors = obj_array_zeros(shape_list) # temporary cache for storing prediction errors across different hidden state factors, for a fixed iteration of the belief updating scheme\n\n        F = 0.0 # reset variational free energy (accumulated over time and factors, but reset per iteration)\n        for t in range(infer_len):\n\n            if t == (infer_len - 1):\n                pass\n\n            for f in range(num_factors):\n                # likelihood\n                if t < past_len:\n                    # if itr == 0:\n                    #     print(f'obs from timestep {t}\\n')\n                    lnA = spm_log_single(spm_dot(lh_seq[t], qs_seq[t], [f]))\n                else:\n                    lnA = np.zeros(num_states[f])\n                \n                # past message\n                if t == 0:\n                    lnB_past = spm_log_single(prior[f])\n                else:\n                    past_msg = B[f][:, :, int(policy[t - 1, f])].dot(qs_seq[t - 1][f])\n                    lnB_past = spm_log_single(past_msg)\n\n                # future message\n                if t >= future_cutoff:\n                    lnB_future = qs_T[f]\n                else:\n                    future_msg = trans_B[f][:, :, int(policy[t, f])].dot(qs_seq[t + 1][f])\n                    lnB_future = spm_log_single(future_msg)\n\n                # inference\n                if grad_descent:\n                    sx = qs_seq[t][f] # save this as a separate variable so that it can be used in VFE computation\n                    lnqs = spm_log_single(sx)\n                    coeff = 1 if (t >= future_cutoff) else 2\n                    err = (coeff * lnA + lnB_past + lnB_future) - coeff * lnqs\n                    vn_tmp = err - err.mean()\n                    lnqs = lnqs + tau * vn_tmp\n                    qs_seq[t][f] = softmax(lnqs)\n                    if (t == 0) or (t == (infer_len-1)):\n                        F += sx.dot(0.5*err)\n                    else:\n                        F += sx.dot(0.5*(err - (num_factors - 1)*lnA/num_factors)) # @NOTE: not sure why Karl does this in SPM_MDP_VB_X, we should look into this\n                    \n                    xn_itr_all_factors[f][:,t] = np.copy(qs_seq[t][f])\n                    vn_itr_all_factors[f][:,t] = np.copy(vn_tmp)\n\n                else:\n                    qs_seq[t][f] = softmax(lnA + lnB_past + lnB_future)\n            \n            if not grad_descent:\n\n                if t < past_len:\n                    F += calc_free_energy(qs_seq[t], prior, num_factors, likelihood = spm_log_single(lh_seq[t]) )\n                else:\n                    F += calc_free_energy(qs_seq[t], prior, num_factors)\n        xn.append(xn_itr_all_factors)\n        vn.append(vn_itr_all_factors)\n\n    return qs_seq, F, xn, vn\n"
  },
  {
    "path": "pymdp/legacy/algos/mmp_old.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n# pylint: disable=no-member\n\nimport numpy as np\n\nfrom pymdp.legacy.maths import spm_dot, get_joint_likelihood, spm_norm, softmax\nfrom pymdp.legacy import utils\n\n\ndef run_mmp_old(\n    A,\n    B,\n    obs_t,\n    policy,\n    curr_t,\n    t_horizon,\n    T,\n    qs_bma=None,\n    prior=None,\n    num_iter=10,\n    dF=1.0,\n    dF_tol=0.001,\n    previous_actions=None,\n    use_gradient_descent=False,\n    tau=0.25,\n):\n    \"\"\"\n    Optimise marginal posterior beliefs about hidden states using marginal message-passing scheme (MMP) developed\n    by Thomas Parr and colleagues, see https://github.com/tejparr/nmpassing\n   \n    Parameters\n    ----------\n    - 'A' [numpy nd.array (matrix or tensor or array-of-arrays)]:\n        Observation likelihood of the generative model, mapping from hidden states to observations. \n        Used in inference to get the likelihood of an observation, under different hidden state configurations.\n    - 'B' [numpy.ndarray (tensor or array-of-arrays)]:\n        Transition likelihood of the generative model, mapping from hidden states at t to hidden states at t+1.\n        Used in inference to get expected future (or past) hidden states, given past (or future) hidden \n        states (or expectations thereof).\n    - 'obs_t' [list of length t_horizon of numpy 1D array or array of arrays (with 1D numpy array entries)]:\n        Sequence of observations sampled from beginning of time horizon the current timestep t. \n        The first observation (the start of the time horizon) is either the first timestep of the generative \n        process or the first timestep of the policy horizon (whichever is closer to 'curr_t' in time).\n        The observations over time are stored as a list of numpy arrays, where in case of multi-modalities \n        each numpy array is an array-of-arrays, with one 1D numpy.ndarray for each modality. \n        In the case of a single modality, each observation is a single 1D numpy.ndarray.\n    - 'policy' [2D np.ndarray]:\n        Array of actions constituting a single policy. Policy is a shape \n        (n_steps, n_control_factors) numpy.ndarray, the values of which indicate actions along a given control \n        factor (column index) at a given timestep (row index).\n    - 'curr_t' [int]:\n        Current timestep (relative to the 'absolute' time of the generative process).\n    - 't_horizon'[int]:\n        Temporal horizon of inference for states and policies.\n    - 'T' [int]:\n        Temporal horizon of the generative process (absolute time)\n    - `qs_bma` [numpy 1D array, array of arrays (with 1D numpy array entries) or None]:\n    - 'prior' [numpy 1D array, array of arrays (with 1D numpy array entries) or None]:\n        Prior beliefs of the agent at the beginning of the time horizon, to be integrated \n        with the marginal likelihood to obtain posterior at the first timestep.\n        If absent, prior is set to be a uniform distribution over hidden states (identical to the \n        initialisation of the posterior.\n    -'num_iter' [int]:\n        Number of variational iterations to run. (optional)\n    -'dF' [float]:\n        Starting free energy gradient (dF/dt) before updating in the course of gradient descent. (optional)\n    -'dF_tol' [float]:\n        Threshold value of the gradient of the variational free energy (dF/dt), to be checked \n        at each iteration. If dF <= dF_tol, the iterations are halted pre-emptively and the final \n        marginal posterior belief(s) is(are) returned.  (optional)\n    -'previous_actions' [numpy.ndarray with shape (num_steps, n_control_factors) or None]:\n        Array of previous actions, which can be used to constrain the 'past' messages in inference \n        to only consider states of affairs that were possible under actions that are known to have been taken. \n        The first dimension of previous-arrays (previous_actions.shape[0]) encodes how far back in time the agent is \n        considering. The first timestep of this either corresponds to either the first timestep of the generative \n        process or the first timestep of the policy horizon (whichever is sooner in time).  (optional)\n    -'use_gradient_descent' [bool]:\n        Flag to indicate whether to use gradient descent to optimise posterior beliefs.\n    -'tau' [float]:\n        Learning rate for gradient descent (only used if use_gradient_descent is True)\n \n  \n    Returns\n    ----------\n    -'qs' [list of length T of numpy 1D arrays or array of arrays (with 1D numpy array entries):\n        Marginal posterior beliefs over hidden states (single- or multi-factor) achieved \n        via marginal message pasing\n    -'qss' [list of lists of length T of numpy 1D arrays or array of arrays (with 1D numpy array entries):\n        Marginal posterior beliefs about hidden states (single- or multi-factor) held at \n        each timepoint, *about* each timepoint of the observation\n        sequence\n    -'F' [2D np.ndarray]:\n        Variational free energy of beliefs about hidden states, indexed by time point and variational iteration\n    -'F_pol' [float]:\n        Total free energy of the policy under consideration.\n    \"\"\"\n\n    # get temporal window for inference\n    min_time = max(0, curr_t - t_horizon)\n    max_time = min(T, curr_t + t_horizon)\n    window_idxs = np.array([t for t in range(min_time, max_time)])\n    window_len = len(window_idxs)\n    # TODO: needs a better name - the point at which we ignore future messages\n    future_cutoff = window_len - 1\n    inference_len = window_len + 1\n    len(obs_t)\n\n    # get relevant observations, given our current time point\n    if curr_t == 0:\n        obs_range = [0]\n    else:\n        min_obs_idx = max(0, curr_t - t_horizon)\n        max_obs_idx = curr_t + 1\n        obs_range = range(min_obs_idx, max_obs_idx)\n\n    # get model dimensions\n    # TODO: make a general function in `utils` for extracting model dimensions\n    if utils.is_obj_array(obs_t[0]):\n        num_obs = [obs.shape[0] for obs in obs_t[0]]\n    else:\n        num_obs = [obs_t[0].shape[0]]\n\n    if utils.is_obj_array(B):\n        num_states = [b.shape[0] for b in B]\n    else:\n        num_states = [B[0].shape[0]]\n        B = utils.to_obj_array(B)\n\n    len(num_obs)\n    num_factors = len(num_states)\n\n    \"\"\"\n    =========== Step 1 ===========\n        Calculate likelihood\n        Loop over modalities and use assumption of independence among observation modalities\n        to combine each modality-specific likelihood into a single joint likelihood over hidden states \n    \"\"\"\n\n    # likelihood of observations under configurations of hidden states (over time)\n    likelihood = np.empty(len(obs_range), dtype=object)\n    for t, obs in enumerate(obs_range):\n        # likelihood_t = np.ones(tuple(num_states))\n\n        # if num_modalities == 1:\n        #     likelihood_t *= spm_dot(A[0], obs_t[obs], obs_mode=True)\n        # else:\n        #     for modality in range(num_modalities):\n        #         likelihood_t *= spm_dot(A[modality], obs_t[obs][modality], obs_mode=True)\n        \n        likelihood_t = get_joint_likelihood(A, obs_t, num_states)\n\n        # The Thomas Parr MMP version, you log the likelihood first\n        # likelihood[t] = np.log(likelihood_t + 1e-16)\n\n        # Karl SPM version, logging doesn't happen until *after* the dotting with the posterior\n        likelihood[t] = likelihood_t\n\n    \"\"\"\n    =========== Step 2 ===========\n        Initialise a flat posterior (and prior if necessary)\n        If a prior is not provided, initialise a uniform prior\n    \"\"\"\n\n    qs = [np.empty(num_factors, dtype=object) for i in range(inference_len)]\n\n    for t in range(inference_len):\n        # if t == window_len:\n        #     # final message is zeros - has no effect on inference\n        #     # TODO: this may be redundant now that we skip last step\n        #     for f in range(num_factors):\n        #         qs[t][f] = np.zeros(num_states[f])\n        # else:\n            # for f in range(num_factors):\n            #     qs[t][f] = np.ones(num_states[f]) / num_states[f]\n        for f in range(num_factors):\n                qs[t][f] = np.ones(num_states[f]) / num_states[f]\n\n    if prior is None:\n        prior = np.empty(num_factors, dtype=object)\n        for f in range(num_factors):\n            prior[f] = np.ones(num_states[f]) / num_states[f]\n\n    \"\"\" \n    =========== Step 3 ===========\n        Create a normalized transpose of the transition distribution `B_transposed`\n        Used for computing backwards messages 'from the future'\n    \"\"\"\n\n    B_transposed = np.empty(num_factors, dtype=object)\n    for f in range(num_factors):\n        B_transposed[f] = np.zeros_like(B[f])\n        for u in range(B[f].shape[2]):\n            B_transposed[f][:, :, u] = spm_norm(B[f][:, :, u].T)\n\n    # zero out final message\n    # TODO: may be redundant now we skip final step\n    last_message = np.empty(num_factors, dtype=object)\n    for f in range(num_factors):\n        last_message[f] = np.zeros(num_states[f])\n\n    # if previous actions not given, zero out to stop any influence on inference\n    if previous_actions is None:\n        previous_actions = np.zeros((1, policy.shape[1]))\n\n    full_policy = np.vstack((previous_actions, policy))\n\n    # print(full_policy.shape)\n\n    \"\"\"\n    =========== Step 3 ===========\n        Loop over time indices of time window, updating posterior as we go\n        This includes past time steps and future time steps\n    \"\"\"\n\n    qss = [[] for i in range(num_iter)]\n    free_energy = np.zeros((len(qs), num_iter))\n    free_energy_pol = 0.0\n\n    # print(obs_seq_len)\n\n    print('Full policy history')\n    print('------------------')\n    print(full_policy)\n\n    for n in range(num_iter):\n        for t in range(inference_len):\n\n            lnB_past_tensor = np.empty(num_factors, dtype=object)\n            for f in range(num_factors):\n\n                # if t == 0 and n == 0:\n                #     print(f\"qs at time t = {t}, factor f = {f}, iteration i = {n}: {qs[t][f]}\")\n\n                \"\"\"\n                =========== Step 3.a ===========\n                    Calculate likelihood\n                \"\"\"\n                if t < len(obs_range):\n                    # if t < len(obs_seq_len):\n                    # Thomas Parr MMP version\n                    # lnA = spm_dot(likelihood[t], qs[t], [f])\n\n                    # Karl SPM version\n                    lnA = np.log(spm_dot(likelihood[t], qs[t], [f]) + 1e-16)\n                else:\n                    lnA = np.zeros(num_states[f])\n\n                if t == 1 and n == 0:\n                    # pass\n                    print(f\"lnA at time t = {t}, factor f = {f}, iteration i = {n}: {lnA}\")\n\n                # print(f\"lnA at time t = {t}, factor f = {f}, iteration i = {n}: {lnA}\")\n\n                \"\"\"\n                =========== Step 3.b ===========\n                    Calculate past message\n                \"\"\"\n                if t == 0 and window_idxs[0] == 0:\n                    lnB_past = np.log(prior[f] + 1e-16)\n                else:\n                    # Thomas Parr MMP version\n                    # lnB_past = 0.5 * np.log(B[f][:, :, full_policy[t - 1, f]].dot(qs[t - 1][f]) + 1e-16)\n\n                    # Karl SPM version\n                    if t == 1 and n == 0 and f == 1:\n                        print('past action:')\n                        print('-------------')\n                        print(full_policy[t - 1, :])\n                        print(B[f][:,:,0])\n                        print(B[f][:,:,1])\n                        print(qs[t - 1][f])\n                    lnB_past = np.log(B[f][:, :, full_policy[t - 1, f]].dot(qs[t - 1][f]) + 1e-16)\n                    # if t == 0:\n                    # print(\n                    # f\"qs_t_1 at time t = {t}, factor f = {f}, iteration i = {n}: {qs[t - 1][f]}\"\n                    # )\n\n                if t == 1 and n == 0:\n                    print(\n                        f\"lnB_past at time t = {t}, factor f = {f}, iteration i = {n}: {lnB_past}\"\n                    )\n\n                \"\"\"\n                =========== Step 3.c ===========\n                    Calculate future message\n                \"\"\"\n                if t >= future_cutoff:\n                    # TODO: this is redundant - not used in code\n                    lnB_future = last_message[f]\n                else:\n                    # Thomas Parr MMP version\n                    # B_future = B_transposed[f][:, :, int(full_policy[t, f])].dot(qs[t + 1][f])\n                    # lnB_future = 0.5 * np.log(B_future + 1e-16)\n\n                    # Karl Friston SPM version\n                    B_future = B_transposed[f][:, :, int(full_policy[t, f])].dot(qs[t + 1][f])\n                    lnB_future = np.log(B_future + 1e-16)\n                \n                # Thomas Parr MMP version\n                # lnB_past_tensor[f] = 2 * lnBpast\n                # Karl SPM version\n                lnB_past_tensor[f] = lnB_past\n\n                \"\"\"\n                =========== Step 3.d ===========\n                    Update posterior\n                \"\"\"\n                if use_gradient_descent:\n                    lns = np.log(qs[t][f] + 1e-16)\n\n                    # Thomas Parr MMP version\n                    # error = (lnA + lnBpast + lnBfuture) - lns\n\n                    # Karl SPM version\n                    if t >= future_cutoff:\n                        error = lnA + lnB_past - lns\n\n                    else:\n                        error = (2 * lnA + lnB_past + lnB_future) - 2 * lns\n                        \n\n                    # print(f\"prediction error at time t = {t}, factor f = {f}, iteration i = {n}: {error}\")\n                    # print(f\"OG {t} {f} {error}\")\n                    error -= error.mean()\n                    lns = lns + tau * error\n                    qs_t_f = softmax(lns)\n                    free_energy_pol += 0.5 * qs[t][f].dot(error)\n                    qs[t][f] = qs_t_f\n                else:\n                    qs[t][f] = softmax(lnA + lnB_past + lnB_future)\n\n            # TODO: probably works anyways\n            # free_energy[t, n] = calc_free_energy(qs[t], lnB_past_tensor, num_factors, likelihood[t])\n            # free_energy_pol += F[t, n]\n        qss[n].append(qs)\n\n    return qs, qss, free_energy, free_energy_pol\n"
  },
  {
    "path": "pymdp/legacy/control.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n# pylint: disable=no-member\n# pylint: disable=not-an-iterable\n\nimport itertools\nimport numpy as np\nfrom pymdp.legacy.maths import softmax, softmax_obj_arr, spm_dot, spm_wnorm, spm_MDP_G, spm_log_single, entropy\nfrom pymdp.legacy.inference import update_posterior_states_factorized, average_states_over_policies\nfrom pymdp.legacy import utils\nimport copy\n\ndef update_posterior_policies_full(\n    qs_seq_pi,\n    A,\n    B,\n    C,\n    policies,\n    use_utility=True,\n    use_states_info_gain=True,\n    use_param_info_gain=False,\n    prior=None,\n    pA=None,\n    pB=None,\n    F=None,\n    E=None,\n    I=None,\n    gamma=16.0\n):  \n    \"\"\"\n    Update posterior beliefs about policies by computing expected free energy of each policy and integrating that\n    with the variational free energy of policies ``F`` and prior over policies ``E``. This is intended to be used in conjunction\n    with the ``update_posterior_states_full`` method of ``inference.py``, since the full posterior over future timesteps, under all policies, is\n    assumed to be provided in the input array ``qs_seq_pi``.\n\n    Parameters\n    ----------\n    qs_seq_pi: ``numpy.ndarray`` of dtype object\n        Posterior beliefs over hidden states for each policy. Nesting structure is policies, timepoints, factors,\n        where e.g. ``qs_seq_pi[p][t][f]`` stores the marginal belief about factor ``f`` at timepoint ``t`` under policy ``p``.\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``numpy.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    C: ``numpy.ndarray`` of dtype object\n       Prior over observations or 'prior preferences', storing the \"value\" of each outcome in terms of relative log probabilities. \n       This is softmaxed to form a proper probability distribution before being used to compute the expected utility term of the expected free energy.\n    policies: ``list`` of 2D ``numpy.ndarray``\n        ``list`` that stores each policy in ``policies[p_idx]``. Shape of ``policies[p_idx]`` is ``(num_timesteps, num_factors)`` where `num_timesteps` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n    use_utility: ``Bool``, default ``True``\n        Boolean flag that determines whether expected utility should be incorporated into computation of EFE.\n    use_states_info_gain: ``Bool``, default ``True``\n        Boolean flag that determines whether state epistemic value (info gain about hidden states) should be incorporated into computation of EFE.\n    use_param_info_gain: ``Bool``, default ``False`` \n        Boolean flag that determines whether parameter epistemic value (info gain about generative model parameters) should be incorporated into computation of EFE. \n    prior: ``numpy.ndarray`` of dtype object, default ``None``\n        If provided, this is a ``numpy`` object array with one sub-array per hidden state factor, that stores the prior beliefs about initial states. \n        If ``None``, this defaults to a flat (uninformative) prior over hidden states.\n    pA: ``numpy.ndarray`` of dtype object, default ``None``\n        Dirichlet parameters over observation model (same shape as ``A``)\n    pB: ``numpy.ndarray`` of dtype object, default ``None``\n        Dirichlet parameters over transition model (same shape as ``B``)\n    F: 1D ``numpy.ndarray``, default ``None``\n        Vector of variational free energies for each policy\n    E: 1D ``numpy.ndarray``, default ``None``\n        Vector of prior probabilities of each policy (what's referred to in the active inference literature as \"habits\"). If ``None``, this defaults to a flat (uninformative) prior over policies.\n    I: ``numpy.ndarray`` of dtype object\n        For each state factor, contains a 2D ``numpy.ndarray`` whose element i,j yields the probability \n        of reaching the goal state backwards from state j after i steps.\n    gamma: ``float``, default 16.0\n        Prior precision over policies, scales the contribution of the expected free energy to the posterior over policies\n\n    Returns\n    ----------\n    q_pi: 1D ``numpy.ndarray``\n        Posterior beliefs over policies, i.e. a vector containing one posterior probability per policy.\n    G: 1D ``numpy.ndarray``\n        Negative expected free energies of each policy, i.e. a vector containing one negative expected free energy per policy.\n    \"\"\"\n\n    num_obs, num_states, num_modalities, num_factors = utils.get_model_dimensions(A, B)\n    horizon = len(qs_seq_pi[0])\n    num_policies = len(qs_seq_pi)\n\n    qo_seq = utils.obj_array(horizon)\n    for t in range(horizon):\n        qo_seq[t] = utils.obj_array_zeros(num_obs)\n\n    # initialise expected observations\n    qo_seq_pi = utils.obj_array(num_policies)\n\n    # initialize (negative) expected free energies for all policies\n    G = np.zeros(num_policies)\n\n    if F is None:\n        F = spm_log_single(np.ones(num_policies) / num_policies)\n\n    if E is None:\n        lnE = spm_log_single(np.ones(num_policies) / num_policies)\n    else:\n        lnE = spm_log_single(E) \n\n    if I is not None:\n        init_qs_all_pi = [qs_seq_pi[p][0] for p in range(num_policies)]\n        qs_bma = average_states_over_policies(init_qs_all_pi, softmax(E))\n\n    for p_idx, policy in enumerate(policies):\n\n        qo_seq_pi[p_idx] = get_expected_obs(qs_seq_pi[p_idx], A)\n\n        if use_utility:\n            G[p_idx] += calc_expected_utility(qo_seq_pi[p_idx], C)\n        \n        if use_states_info_gain:\n            G[p_idx] += calc_states_info_gain(A, qs_seq_pi[p_idx])\n        \n        if use_param_info_gain:\n            if pA is not None:\n                G[p_idx] += calc_pA_info_gain(pA, qo_seq_pi[p_idx], qs_seq_pi[p_idx])\n            if pB is not None:\n                G[p_idx] += calc_pB_info_gain(pB, qs_seq_pi[p_idx], prior, policy)\n        \n        if I is not None:\n            G[p_idx] += calc_inductive_cost(qs_bma, qs_seq_pi[p_idx], I)\n\n    q_pi = softmax(G * gamma - F + lnE)\n    \n    return q_pi, G\n\ndef update_posterior_policies_full_factorized(\n    qs_seq_pi,\n    A,\n    B,\n    C,\n    A_factor_list,\n    B_factor_list,\n    policies,\n    use_utility=True,\n    use_states_info_gain=True,\n    use_param_info_gain=False,\n    prior=None,\n    pA=None,\n    pB=None,\n    F=None,\n    E=None,\n    I=None,\n    gamma=16.0\n):  \n    \"\"\"\n    Update posterior beliefs about policies by computing expected free energy of each policy and integrating that\n    with the variational free energy of policies ``F`` and prior over policies ``E``. This is intended to be used in conjunction\n    with the ``update_posterior_states_full`` method of ``inference.py``, since the full posterior over future timesteps, under all policies, is\n    assumed to be provided in the input array ``qs_seq_pi``.\n\n    Parameters\n    ----------\n    qs_seq_pi: ``numpy.ndarray`` of dtype object\n        Posterior beliefs over hidden states for each policy. Nesting structure is policies, timepoints, factors,\n        where e.g. ``qs_seq_pi[p][t][f]`` stores the marginal belief about factor ``f`` at timepoint ``t`` under policy ``p``.\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``numpy.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    C: ``numpy.ndarray`` of dtype object\n       Prior over observations or 'prior preferences', storing the \"value\" of each outcome in terms of relative log probabilities. \n       This is softmaxed to form a proper probability distribution before being used to compute the expected utility term of the expected free energy.\n    A_factor_list: ``list`` of ``list``s of ``int``\n        ``list`` that stores the indices of the hidden state factor indices that each observation modality depends on. For example, if ``A_factor_list[m] = [0, 1]``, then\n        observation modality ``m`` depends on hidden state factors 0 and 1.\n    B_factor_list: ``list`` of ``list``s of ``int``\n        ``list`` that stores the indices of the hidden state factor indices that each hidden state factor depends on. For example, if ``B_factor_list[f] = [0, 1]``, then\n        the transitions in hidden state factor ``f`` depend on hidden state factors 0 and 1.\n    policies: ``list`` of 2D ``numpy.ndarray``\n        ``list`` that stores each policy in ``policies[p_idx]``. Shape of ``policies[p_idx]`` is ``(num_timesteps, num_factors)`` where `num_timesteps` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n    use_utility: ``Bool``, default ``True``\n        Boolean flag that determines whether expected utility should be incorporated into computation of EFE.\n    use_states_info_gain: ``Bool``, default ``True``\n        Boolean flag that determines whether state epistemic value (info gain about hidden states) should be incorporated into computation of EFE.\n    use_param_info_gain: ``Bool``, default ``False`` \n        Boolean flag that determines whether parameter epistemic value (info gain about generative model parameters) should be incorporated into computation of EFE. \n    prior: ``numpy.ndarray`` of dtype object, default ``None``\n        If provided, this is a ``numpy`` object array with one sub-array per hidden state factor, that stores the prior beliefs about initial states. \n        If ``None``, this defaults to a flat (uninformative) prior over hidden states.\n    pA: ``numpy.ndarray`` of dtype object, default ``None``\n        Dirichlet parameters over observation model (same shape as ``A``)\n    pB: ``numpy.ndarray`` of dtype object, default ``None``\n        Dirichlet parameters over transition model (same shape as ``B``)\n    F: 1D ``numpy.ndarray``, default ``None``\n        Vector of variational free energies for each policy\n    E: 1D ``numpy.ndarray``, default ``None``\n        Vector of prior probabilities of each policy (what's referred to in the active inference literature as \"habits\"). If ``None``, this defaults to a flat (uninformative) prior over policies.\n    I: ``numpy.ndarray`` of dtype object\n        For each state factor, contains a 2D ``numpy.ndarray`` whose element i,j yields the probability \n        of reaching the goal state backwards from state j after i steps.\n    gamma: ``float``, default 16.0\n        Prior precision over policies, scales the contribution of the expected free energy to the posterior over policies\n\n    Returns\n    ----------\n    q_pi: 1D ``numpy.ndarray``\n        Posterior beliefs over policies, i.e. a vector containing one posterior probability per policy.\n    G: 1D ``numpy.ndarray``\n        Negative expected free energies of each policy, i.e. a vector containing one negative expected free energy per policy.\n    \"\"\"\n\n    num_obs, num_states, num_modalities, num_factors = utils.get_model_dimensions(A, B)\n    horizon = len(qs_seq_pi[0])\n    num_policies = len(qs_seq_pi)\n\n    qo_seq = utils.obj_array(horizon)\n    for t in range(horizon):\n        qo_seq[t] = utils.obj_array_zeros(num_obs)\n\n    # initialise expected observations\n    qo_seq_pi = utils.obj_array(num_policies)\n\n    # initialize (negative) expected free energies for all policies\n    G = np.zeros(num_policies)\n\n    if F is None:\n        F = spm_log_single(np.ones(num_policies) / num_policies)\n\n    if E is None:\n        lnE = spm_log_single(np.ones(num_policies) / num_policies)\n    else:\n        lnE = spm_log_single(E) \n\n    if I is not None:\n        init_qs_all_pi = [qs_seq_pi[p][0] for p in range(num_policies)]\n        qs_bma = average_states_over_policies(init_qs_all_pi, softmax(E))\n\n    for p_idx, policy in enumerate(policies):\n\n        qo_seq_pi[p_idx] = get_expected_obs_factorized(qs_seq_pi[p_idx], A, A_factor_list)\n\n        if use_utility:\n            G[p_idx] += calc_expected_utility(qo_seq_pi[p_idx], C)\n        \n        if use_states_info_gain:\n            G[p_idx] += calc_states_info_gain_factorized(A, qs_seq_pi[p_idx], A_factor_list)\n        \n        if use_param_info_gain:\n            if pA is not None:\n                G[p_idx] += calc_pA_info_gain_factorized(pA, qo_seq_pi[p_idx], qs_seq_pi[p_idx], A_factor_list)\n            if pB is not None:\n                G[p_idx] += calc_pB_info_gain_interactions(pB, qs_seq_pi[p_idx], qs_seq_pi[p_idx], B_factor_list, policy)\n        \n        if I is not None:\n            G[p_idx] += calc_inductive_cost(qs_bma, qs_seq_pi[p_idx], I)\n            \n    q_pi = softmax(G * gamma - F + lnE)\n    \n    return q_pi, G\n\n\ndef update_posterior_policies(\n    qs,\n    A,\n    B,\n    C,\n    policies,\n    use_utility=True,\n    use_states_info_gain=True,\n    use_param_info_gain=False,\n    pA=None,\n    pB=None,\n    E=None,\n    I=None,\n    gamma=16.0\n):\n    \"\"\"\n    Update posterior beliefs about policies by computing expected free energy of each policy and integrating that\n    with the prior over policies ``E``. This is intended to be used in conjunction\n    with the ``update_posterior_states`` method of the ``inference`` module, since only the posterior about the hidden states at the current timestep\n    ``qs`` is assumed to be provided, unconditional on policies. The predictive posterior over hidden states under all policies Q(s, pi) is computed \n    using the starting posterior about states at the current timestep ``qs`` and the generative model (e.g. ``A``, ``B``, ``C``)\n\n    Parameters\n    ----------\n    qs: ``numpy.ndarray`` of dtype object\n        Marginal posterior beliefs over hidden states at current timepoint (unconditioned on policies)\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``numpy.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    C: ``numpy.ndarray`` of dtype object\n       Prior over observations or 'prior preferences', storing the \"value\" of each outcome in terms of relative log probabilities. \n       This is softmaxed to form a proper probability distribution before being used to compute the expected utility term of the expected free energy.\n    policies: ``list`` of 2D ``numpy.ndarray``\n        ``list`` that stores each policy in ``policies[p_idx]``. Shape of ``policies[p_idx]`` is ``(num_timesteps, num_factors)`` where `num_timesteps` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n    use_utility: ``Bool``, default ``True``\n        Boolean flag that determines whether expected utility should be incorporated into computation of EFE.\n    use_states_info_gain: ``Bool``, default ``True``\n        Boolean flag that determines whether state epistemic value (info gain about hidden states) should be incorporated into computation of EFE.\n    use_param_info_gain: ``Bool``, default ``False`` \n        Boolean flag that determines whether parameter epistemic value (info gain about generative model parameters) should be incorporated into computation of EFE.\n    pA: ``numpy.ndarray`` of dtype object, optional\n        Dirichlet parameters over observation model (same shape as ``A``)\n    pB: ``numpy.ndarray`` of dtype object, optional\n        Dirichlet parameters over transition model (same shape as ``B``)\n    E: 1D ``numpy.ndarray``, optional\n        Vector of prior probabilities of each policy (what's referred to in the active inference literature as \"habits\")\n    I: ``numpy.ndarray`` of dtype object\n        For each state factor, contains a 2D ``numpy.ndarray`` whose element i,j yields the probability \n        of reaching the goal state backwards from state j after i steps.\n    gamma: float, default 16.0\n        Prior precision over policies, scales the contribution of the expected free energy to the posterior over policies\n\n    Returns\n    ----------\n    q_pi: 1D ``numpy.ndarray``\n        Posterior beliefs over policies, i.e. a vector containing one posterior probability per policy.\n    G: 1D ``numpy.ndarray``\n        Negative expected free energies of each policy, i.e. a vector containing one negative expected free energy per policy.\n    \"\"\"\n\n    n_policies = len(policies)\n    G = np.zeros(n_policies)\n    q_pi = np.zeros((n_policies, 1))\n\n    if E is None:\n        lnE = spm_log_single(np.ones(n_policies) / n_policies)\n    else:\n        lnE = spm_log_single(E) \n\n    for idx, policy in enumerate(policies):\n        qs_pi = get_expected_states(qs, B, policy)\n        qo_pi = get_expected_obs(qs_pi, A)\n\n        if use_utility:\n            G[idx] += calc_expected_utility(qo_pi, C)\n\n        if use_states_info_gain:\n            G[idx] += calc_states_info_gain(A, qs_pi)\n\n        if use_param_info_gain:\n            if pA is not None:\n                G[idx] += calc_pA_info_gain(pA, qo_pi, qs_pi).item()\n            if pB is not None:\n                G[idx] += calc_pB_info_gain(pB, qs_pi, qs, policy).item()\n        \n        if I is not None:\n            G[idx] += calc_inductive_cost(qs, qs_pi, I)\n\n    q_pi = softmax(G * gamma + lnE)    \n\n    return q_pi, G\n\ndef update_posterior_policies_factorized(\n    qs,\n    A,\n    B,\n    C,\n    A_factor_list,\n    B_factor_list,\n    policies,\n    use_utility=True,\n    use_states_info_gain=True,\n    use_param_info_gain=False,\n    pA=None,\n    pB=None,\n    E=None,\n    I=None,\n    gamma=16.0\n):\n    \"\"\"\n    Update posterior beliefs about policies by computing expected free energy of each policy and integrating that\n    with the prior over policies ``E``. This is intended to be used in conjunction\n    with the ``update_posterior_states`` method of the ``inference`` module, since only the posterior about the hidden states at the current timestep\n    ``qs`` is assumed to be provided, unconditional on policies. The predictive posterior over hidden states under all policies Q(s, pi) is computed \n    using the starting posterior about states at the current timestep ``qs`` and the generative model (e.g. ``A``, ``B``, ``C``)\n\n    Parameters\n    ----------\n    qs: ``numpy.ndarray`` of dtype object\n        Marginal posterior beliefs over hidden states at current timepoint (unconditioned on policies)\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``numpy.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    C: ``numpy.ndarray`` of dtype object\n       Prior over observations or 'prior preferences', storing the \"value\" of each outcome in terms of relative log probabilities. \n       This is softmaxed to form a proper probability distribution before being used to compute the expected utility term of the expected free energy.\n    A_factor_list: ``list`` of ``list``s of ``int``\n        ``list`` that stores the indices of the hidden state factor indices that each observation modality depends on. For example, if ``A_factor_list[m] = [0, 1]``, then\n        observation modality ``m`` depends on hidden state factors 0 and 1.\n    B_factor_list: ``list`` of ``list``s of ``int``\n        ``list`` that stores the indices of the hidden state factor indices that each hidden state factor depends on. For example, if ``B_factor_list[f] = [0, 1]``, then\n        the transitions in hidden state factor ``f`` depend on hidden state factors 0 and 1.\n    policies: ``list`` of 2D ``numpy.ndarray``\n        ``list`` that stores each policy in ``policies[p_idx]``. Shape of ``policies[p_idx]`` is ``(num_timesteps, num_factors)`` where `num_timesteps` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n    use_utility: ``Bool``, default ``True``\n        Boolean flag that determines whether expected utility should be incorporated into computation of EFE.\n    use_states_info_gain: ``Bool``, default ``True``\n        Boolean flag that determines whether state epistemic value (info gain about hidden states) should be incorporated into computation of EFE.\n    use_param_info_gain: ``Bool``, default ``False`` \n        Boolean flag that determines whether parameter epistemic value (info gain about generative model parameters) should be incorporated into computation of EFE.\n    pA: ``numpy.ndarray`` of dtype object, optional\n        Dirichlet parameters over observation model (same shape as ``A``)\n    pB: ``numpy.ndarray`` of dtype object, optional\n        Dirichlet parameters over transition model (same shape as ``B``)\n    E: 1D ``numpy.ndarray``, optional\n        Vector of prior probabilities of each policy (what's referred to in the active inference literature as \"habits\")\n    I: ``numpy.ndarray`` of dtype object\n        For each state factor, contains a 2D ``numpy.ndarray`` whose element i,j yields the probability \n        of reaching the goal state backwards from state j after i steps.\n    gamma: float, default 16.0\n        Prior precision over policies, scales the contribution of the expected free energy to the posterior over policies\n\n    Returns\n    ----------\n    q_pi: 1D ``numpy.ndarray``\n        Posterior beliefs over policies, i.e. a vector containing one posterior probability per policy.\n    G: 1D ``numpy.ndarray``\n        Negative expected free energies of each policy, i.e. a vector containing one negative expected free energy per policy.\n    \"\"\"\n\n    n_policies = len(policies)\n    G = np.zeros(n_policies)\n    q_pi = np.zeros((n_policies, 1))\n\n    if E is None:\n        lnE = spm_log_single(np.ones(n_policies) / n_policies)\n    else:\n        lnE = spm_log_single(E) \n\n    for idx, policy in enumerate(policies):\n        qs_pi = get_expected_states_interactions(qs, B, B_factor_list, policy)\n        qo_pi = get_expected_obs_factorized(qs_pi, A, A_factor_list)\n\n        if use_utility:\n            G[idx] += calc_expected_utility(qo_pi, C)\n\n        if use_states_info_gain:\n            G[idx] += calc_states_info_gain_factorized(A, qs_pi, A_factor_list)\n\n        if use_param_info_gain:\n            if pA is not None:\n                G[idx] += calc_pA_info_gain_factorized(pA, qo_pi, qs_pi, A_factor_list).item()\n            if pB is not None:\n                G[idx] += calc_pB_info_gain_interactions(pB, qs_pi, qs, B_factor_list, policy).item()\n        \n        if I is not None:\n            G[idx] += calc_inductive_cost(qs, qs_pi, I)\n\n    q_pi = softmax(G * gamma + lnE)    \n\n    return q_pi, G\n\ndef get_expected_states(qs, B, policy):\n    \"\"\"\n    Compute the expected states under a policy, also known as the posterior predictive density over states\n\n    Parameters\n    ----------\n    qs: ``numpy.ndarray`` of dtype object\n        Marginal posterior beliefs over hidden states at a given timepoint.\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    policy: 2D ``numpy.ndarray``\n        Array that stores actions entailed by a policy over time. Shape is ``(num_timesteps, num_factors)`` where ``num_timesteps`` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n\n    Returns\n    -------\n    qs_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over hidden states expected under the policy, where ``qs_pi[t]`` stores the beliefs about\n        hidden states expected under the policy at time ``t``\n    \"\"\"\n    n_steps = policy.shape[0]\n    n_factors = policy.shape[1]\n\n    # initialise posterior predictive density as a list of beliefs over time, including current posterior beliefs about hidden states as the first element\n    qs_pi = [qs] + [utils.obj_array(n_factors) for t in range(n_steps)]\n    \n    # get expected states over time\n    for t in range(n_steps):\n        for control_factor, action in enumerate(policy[t,:]):\n            qs_pi[t+1][control_factor] = B[control_factor][:,:,int(action)].dot(qs_pi[t][control_factor])\n\n    return qs_pi[1:]\n    \ndef get_expected_states_interactions(qs, B, B_factor_list, policy):\n    \"\"\"\n    Compute the expected states under a policy, also known as the posterior predictive density over states\n\n    Parameters\n    ----------\n    qs: ``numpy.ndarray`` of dtype object\n        Marginal posterior beliefs over hidden states at a given timepoint.\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    B_factor_list: ``list`` of ``list`` of ``int``\n        List of lists of hidden state factors each hidden state factor depends on. Each element ``B_factor_list[i]`` is a list of the factor indices that factor i's dynamics depend on.\n    policy: 2D ``numpy.ndarray``\n        Array that stores actions entailed by a policy over time. Shape is ``(num_timesteps, num_factors)`` where ``num_timesteps`` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n\n    Returns\n    -------\n    qs_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over hidden states expected under the policy, where ``qs_pi[t]`` stores the beliefs about\n        hidden states expected under the policy at time ``t``\n    \"\"\"\n    n_steps = policy.shape[0]\n    n_factors = policy.shape[1]\n\n    # initialise posterior predictive density as a list of beliefs over time, including current posterior beliefs about hidden states as the first element\n    qs_pi = [qs] + [utils.obj_array(n_factors) for t in range(n_steps)]\n    \n    # get expected states over time\n    for t in range(n_steps):\n        for control_factor, action in enumerate(policy[t,:]):\n            factor_idx = B_factor_list[control_factor] # list of the hidden state factor indices that the dynamics of `qs[control_factor]` depend on\n            qs_pi[t+1][control_factor] = spm_dot(B[control_factor][...,int(action)], qs_pi[t][factor_idx])\n\n    return qs_pi[1:]\n \ndef get_expected_obs(qs_pi, A):\n    \"\"\"\n    Compute the expected observations under a policy, also known as the posterior predictive density over observations\n\n    Parameters\n    ----------\n    qs_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over hidden states expected under the policy, where ``qs_pi[t]`` stores the beliefs about\n        hidden states expected under the policy at time ``t``\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``numpy.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n\n    Returns\n    -------\n    qo_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over observations expected under the policy, where ``qo_pi[t]`` stores the beliefs about\n        observations expected under the policy at time ``t``\n    \"\"\"\n\n    n_steps = len(qs_pi) # each element of the list is the PPD at a different timestep\n\n    # initialise expected observations\n    qo_pi = []\n\n    for t in range(n_steps):\n        qo_pi_t = utils.obj_array(len(A))\n        qo_pi.append(qo_pi_t)\n\n    # compute expected observations over time\n    for t in range(n_steps):\n        for modality, A_m in enumerate(A):\n            qo_pi[t][modality] = spm_dot(A_m, qs_pi[t])\n\n    return qo_pi\n\ndef get_expected_obs_factorized(qs_pi, A, A_factor_list):\n    \"\"\"\n    Compute the expected observations under a policy, also known as the posterior predictive density over observations\n\n    Parameters\n    ----------\n    qs_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over hidden states expected under the policy, where ``qs_pi[t]`` stores the beliefs about\n        hidden states expected under the policy at time ``t``\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``numpy.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    A_factor_list: ``list`` of ``list`` of ``int``\n        List of lists of hidden state factor indices that each observation modality depends on. Each element ``A_factor_list[i]`` is a list of the factor indices that modality i's observation model depends on.\n    Returns\n    -------\n    qo_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over observations expected under the policy, where ``qo_pi[t]`` stores the beliefs about\n        observations expected under the policy at time ``t``\n    \"\"\"\n\n    n_steps = len(qs_pi) # each element of the list is the PPD at a different timestep\n\n    # initialise expected observations\n    qo_pi = []\n\n    for t in range(n_steps):\n        qo_pi_t = utils.obj_array(len(A))\n        qo_pi.append(qo_pi_t)\n\n    # compute expected observations over time\n    for t in range(n_steps):\n        for modality, A_m in enumerate(A):\n            factor_idx = A_factor_list[modality] # list of the hidden state factor indices that observation modality with the index `modality` depends on\n            qo_pi[t][modality] = spm_dot(A_m, qs_pi[t][factor_idx])\n\n    return qo_pi\n\ndef calc_expected_utility(qo_pi, C):\n    \"\"\"\n    Computes the expected utility of a policy, using the observation distribution expected under that policy and a prior preference vector.\n\n    Parameters\n    ----------\n    qo_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over observations expected under the policy, where ``qo_pi[t]`` stores the beliefs about\n        observations expected under the policy at time ``t``\n    C: ``numpy.ndarray`` of dtype object\n       Prior over observations or 'prior preferences', storing the \"value\" of each outcome in terms of relative log probabilities. \n       This is softmaxed to form a proper probability distribution before being used to compute the expected utility.\n\n    Returns\n    -------\n    expected_util: float\n        Utility (reward) expected under the policy in question\n    \"\"\"\n    n_steps = len(qo_pi)\n    \n    # initialise expected utility\n    expected_util = 0\n\n    # loop over time points and modalities\n    num_modalities = len(C)\n\n    # reformat C to be tiled across timesteps, if it's not already\n    modalities_to_tile = [modality_i for modality_i in range(num_modalities) if C[modality_i].ndim == 1]\n\n    # make a deepcopy of C where it has been tiled across timesteps\n    C_tiled = copy.deepcopy(C)\n    for modality in modalities_to_tile:\n        C_tiled[modality] = np.tile(C[modality][:,None], (1, n_steps) )\n    \n    C_prob = softmax_obj_arr(C_tiled) # convert relative log probabilities into proper probability distribution\n\n    for t in range(n_steps):\n        for modality in range(num_modalities):\n\n            lnC = spm_log_single(C_prob[modality][:, t])\n            expected_util += qo_pi[t][modality].dot(lnC)\n\n    return expected_util\n\n\ndef calc_states_info_gain(A, qs_pi):\n    \"\"\"\n    Computes the Bayesian surprise or information gain about states of a policy, \n    using the observation model and the hidden state distribution expected under that policy.\n\n    Parameters\n    ----------\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``numpy.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    qs_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over hidden states expected under the policy, where ``qs_pi[t]`` stores the beliefs about\n        hidden states expected under the policy at time ``t``\n\n    Returns\n    -------\n    states_surprise: float\n        Bayesian surprise (about states) or salience expected under the policy in question\n    \"\"\"\n\n    n_steps = len(qs_pi)\n\n    states_surprise = 0\n    for t in range(n_steps):\n        states_surprise += spm_MDP_G(A, qs_pi[t])\n\n    return states_surprise\n\ndef calc_states_info_gain_factorized(A, qs_pi, A_factor_list):\n    \"\"\"\n    Computes the Bayesian surprise or information gain about states of a policy, \n    using the observation model and the hidden state distribution expected under that policy.\n\n    Parameters\n    ----------\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``numpy.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    qs_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over hidden states expected under the policy, where ``qs_pi[t]`` stores the beliefs about\n        hidden states expected under the policy at time ``t``\n    A_factor_list: ``list`` of ``list`` of ``int``\n        List of lists, where ``A_factor_list[m]`` is a list of the hidden state factor indices that observation modality with the index ``m`` depends on\n\n    Returns\n    -------\n    states_surprise: float\n        Bayesian surprise (about states) or salience expected under the policy in question\n    \"\"\"\n\n    n_steps = len(qs_pi)\n\n    states_surprise = 0\n    for t in range(n_steps):\n        for m, A_m in enumerate(A):\n            factor_idx = A_factor_list[m] # list of the hidden state factor indices that observation modality with the index `m` depends on\n            states_surprise += spm_MDP_G(A_m, qs_pi[t][factor_idx])\n\n    return states_surprise\n\n\ndef calc_pA_info_gain(pA, qo_pi, qs_pi):\n    \"\"\"\n    Compute expected Dirichlet information gain about parameters ``pA`` under a policy\n\n    Parameters\n    ----------\n    pA: ``numpy.ndarray`` of dtype object\n        Dirichlet parameters over observation model (same shape as ``A``)\n    qo_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over observations expected under the policy, where ``qo_pi[t]`` stores the beliefs about\n        observations expected under the policy at time ``t``\n    qs_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over hidden states expected under the policy, where ``qs_pi[t]`` stores the beliefs about\n        hidden states expected under the policy at time ``t``\n\n    Returns\n    -------\n    infogain_pA: float\n        Surprise (about Dirichlet parameters) expected under the policy in question\n    \"\"\"\n\n    n_steps = len(qo_pi)\n    \n    num_modalities = len(pA)\n    wA = utils.obj_array(num_modalities)\n    for modality, pA_m in enumerate(pA):\n        wA[modality] = spm_wnorm(pA[modality])\n\n    pA_infogain = 0\n    \n    for modality in range(num_modalities):\n        wA_modality = wA[modality] * (pA[modality] > 0).astype(\"float\")\n        for t in range(n_steps):\n            pA_infogain -= qo_pi[t][modality].dot(spm_dot(wA_modality, qs_pi[t])[:, np.newaxis])\n\n    return pA_infogain\n\ndef calc_pA_info_gain_factorized(pA, qo_pi, qs_pi, A_factor_list):\n    \"\"\"\n    Compute expected Dirichlet information gain about parameters ``pA`` under a policy.\n    In this version of the function, we assume that the observation model is factorized, i.e. that each observation modality depends on a subset of the hidden state factors.\n\n    Parameters\n    ----------\n    pA: ``numpy.ndarray`` of dtype object\n        Dirichlet parameters over observation model (same shape as ``A``)\n    qo_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over observations expected under the policy, where ``qo_pi[t]`` stores the beliefs about\n        observations expected under the policy at time ``t``\n    qs_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over hidden states expected under the policy, where ``qs_pi[t]`` stores the beliefs about\n        hidden states expected under the policy at time ``t``\n    A_factor_list: ``list`` of ``list`` of ``int``\n        List of lists, where ``A_factor_list[m]`` is a list of the hidden state factor indices that observation modality with the index ``m`` depends on\n\n    Returns\n    -------\n    infogain_pA: float\n        Surprise (about Dirichlet parameters) expected under the policy in question\n    \"\"\"\n\n    n_steps = len(qo_pi)\n    \n    num_modalities = len(pA)\n    wA = utils.obj_array(num_modalities)\n    for modality, pA_m in enumerate(pA):\n        wA[modality] = spm_wnorm(pA[modality])\n\n    pA_infogain = 0\n    \n    for modality in range(num_modalities):\n        wA_modality = wA[modality] * (pA[modality] > 0).astype(\"float\")\n        factor_idx = A_factor_list[modality]\n        for t in range(n_steps):\n            pA_infogain -= qo_pi[t][modality].dot(spm_dot(wA_modality, qs_pi[t][factor_idx])[:, np.newaxis])\n\n    return pA_infogain\n\ndef calc_pB_info_gain(pB, qs_pi, qs_prev, policy):\n    \"\"\"\n    Compute expected Dirichlet information gain about parameters ``pB`` under a given policy\n\n    Parameters\n    ----------\n    pB: ``numpy.ndarray`` of dtype object\n        Dirichlet parameters over transition model (same shape as ``B``)\n    qs_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over hidden states expected under the policy, where ``qs_pi[t]`` stores the beliefs about\n        hidden states expected under the policy at time ``t``\n    qs_prev: ``numpy.ndarray`` of dtype object\n        Posterior over hidden states at beginning of trajectory (before receiving observations)\n    policy: 2D ``numpy.ndarray``\n        Array that stores actions entailed by a policy over time. Shape is ``(num_timesteps, num_factors)`` where ``num_timesteps`` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n    \n    Returns\n    -------\n    infogain_pB: float\n        Surprise (about dirichlet parameters) expected under the policy in question\n    \"\"\"\n\n    n_steps = len(qs_pi)\n\n    num_factors = len(pB)\n    wB = utils.obj_array(num_factors)\n    for factor, pB_f in enumerate(pB):\n        wB[factor] = spm_wnorm(pB_f)\n\n    pB_infogain = 0\n\n    for t in range(n_steps):\n        # the 'past posterior' used for the information gain about pB here is the posterior\n        # over expected states at the timestep previous to the one under consideration\n        # if we're on the first timestep, we just use the latest posterior in the\n        # entire action-perception cycle as the previous posterior\n        if t == 0:\n            previous_qs = qs_prev\n        # otherwise, we use the expected states for the timestep previous to the timestep under consideration\n        else:\n            previous_qs = qs_pi[t - 1]\n\n        # get the list of action-indices for the current timestep\n        policy_t = policy[t, :]\n        for factor, a_i in enumerate(policy_t):\n            wB_factor_t = wB[factor][:, :, int(a_i)] * (pB[factor][:, :, int(a_i)] > 0).astype(\"float\")\n            pB_infogain -= qs_pi[t][factor].dot(wB_factor_t.dot(previous_qs[factor]))\n\n    return pB_infogain\n\ndef calc_pB_info_gain_interactions(pB, qs_pi, qs_prev, B_factor_list, policy):\n    \"\"\"\n    Compute expected Dirichlet information gain about parameters ``pB`` under a given policy\n\n    Parameters\n    ----------\n    pB: ``numpy.ndarray`` of dtype object\n        Dirichlet parameters over transition model (same shape as ``B``)\n    qs_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over hidden states expected under the policy, where ``qs_pi[t]`` stores the beliefs about\n        hidden states expected under the policy at time ``t``\n    qs_prev: ``numpy.ndarray`` of dtype object\n        Posterior over hidden states at beginning of trajectory (before receiving observations)\n    B_factor_list: ``list`` of ``list`` of ``int``\n        List of lists, where ``B_factor_list[f]`` is a list of the hidden state factor indices that hidden state factor with the index ``f`` depends on\n    policy: 2D ``numpy.ndarray``\n        Array that stores actions entailed by a policy over time. Shape is ``(num_timesteps, num_factors)`` where ``num_timesteps`` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n    \n    Returns\n    -------\n    infogain_pB: float\n        Surprise (about dirichlet parameters) expected under the policy in question\n    \"\"\"\n\n    n_steps = len(qs_pi)\n\n    num_factors = len(pB)\n    wB = utils.obj_array(num_factors)\n    for factor, pB_f in enumerate(pB):\n        wB[factor] = spm_wnorm(pB_f)\n\n    pB_infogain = 0\n\n    for t in range(n_steps):\n        # the 'past posterior' used for the information gain about pB here is the posterior\n        # over expected states at the timestep previous to the one under consideration\n        # if we're on the first timestep, we just use the latest posterior in the\n        # entire action-perception cycle as the previous posterior\n        if t == 0:\n            previous_qs = qs_prev\n        # otherwise, we use the expected states for the timestep previous to the timestep under consideration\n        else:\n            previous_qs = qs_pi[t - 1]\n\n        # get the list of action-indices for the current timestep\n        policy_t = policy[t, :]\n        for factor, a_i in enumerate(policy_t):\n            wB_factor_t = wB[factor][...,int(a_i)] * (pB[factor][...,int(a_i)] > 0).astype(\"float\")\n            f_idx = B_factor_list[factor]\n            pB_infogain -= qs_pi[t][factor].dot(spm_dot(wB_factor_t, previous_qs[f_idx]))\n\n    return pB_infogain\n\ndef calc_inductive_cost(qs, qs_pi, I, epsilon=1e-3):\n    \"\"\"\n    Computes the inductive cost of a state.\n\n    Parameters\n    ----------\n    qs: ``numpy.ndarray`` of dtype object\n        Marginal posterior beliefs over hidden states at a given timepoint.\n    qs_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over hidden states expected under the policy, where ``qs_pi[t]`` stores the beliefs about\n        states expected under the policy at time ``t``\n    I: ``numpy.ndarray`` of dtype object\n        For each state factor, contains a 2D ``numpy.ndarray`` whose element i,j yields the probability \n        of reaching the goal state backwards from state j after i steps.\n\n    Returns\n    -------\n    inductive_cost: float\n        Cost of visited this state using backwards induction under the policy in question\n    \"\"\"\n    n_steps = len(qs_pi)\n    \n    # initialise inductive cost\n    inductive_cost = 0\n\n    # loop over time points and modalities\n    num_factors = len(I)\n\n    for t in range(n_steps):\n        for factor in range(num_factors):\n            # we also assume precise beliefs here?!\n            idx = np.argmax(qs[factor])\n            # m = arg max_n p_n < sup p\n            # i.e. find first I idx equals 1 and m is the index before\n            m = np.where(I[factor][:, idx] == 1)[0]\n            # we might find no path to goal (i.e. when no goal specified)\n            if len(m) > 0:\n                m = max(m[0]-1, 0)\n                I_m = (1-I[factor][m, :]) * np.log(epsilon)\n                inductive_cost += I_m.dot(qs_pi[t][factor])\n                \n    return inductive_cost\n\ndef construct_policies(num_states, num_controls = None, policy_len=1, control_fac_idx=None):\n    \"\"\"\n    Generate a ``list`` of policies. The returned array ``policies`` is a ``list`` that stores one policy per entry.\n    A particular policy (``policies[i]``) has shape ``(num_timesteps, num_factors)`` \n    where ``num_timesteps`` is the temporal depth of the policy and ``num_factors`` is the number of control factors.\n\n    Parameters\n    ----------\n    num_states: ``list`` of ``int``\n        ``list`` of the dimensionalities of each hidden state factor\n    num_controls: ``list`` of ``int``, default ``None``\n        ``list`` of the dimensionalities of each control state factor. If ``None``, then is automatically computed as the dimensionality of each hidden state factor that is controllable\n    policy_len: ``int``, default 1\n        temporal depth (\"planning horizon\") of policies\n    control_fac_idx: ``list`` of ``int``\n        ``list`` of indices of the hidden state factors that are controllable (i.e. those state factors ``i`` where ``num_controls[i] > 1``)\n\n    Returns\n    ----------\n    policies: ``list`` of 2D ``numpy.ndarray``\n        ``list`` that stores each policy as a 2D array in ``policies[p_idx]``. Shape of ``policies[p_idx]`` \n        is ``(num_timesteps, num_factors)`` where ``num_timesteps`` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n    \"\"\"\n\n    num_factors = len(num_states)\n    if control_fac_idx is None:\n        if num_controls is not None:\n            control_fac_idx = [f for f, n_c in enumerate(num_controls) if n_c > 1]\n        else:\n            control_fac_idx = list(range(num_factors))\n\n    if num_controls is None:\n        num_controls = [num_states[c_idx] if c_idx in control_fac_idx else 1 for c_idx in range(num_factors)]\n        \n    x = num_controls * policy_len\n    policies = list(itertools.product(*[list(range(i)) for i in x]))\n    for pol_i in range(len(policies)):\n        policies[pol_i] = np.array(policies[pol_i]).reshape(policy_len, num_factors)\n\n    return policies\n    \ndef get_num_controls_from_policies(policies):\n    \"\"\"\n    Calculates the ``list`` of dimensionalities of control factors (``num_controls``)\n    from the ``list`` or array of policies. This assumes a policy space such that for each control factor, there is at least\n    one policy that entails taking the action with the maximum index along that control factor.\n\n    Parameters\n    ----------\n    policies: ``list`` of 2D ``numpy.ndarray``\n        ``list`` that stores each policy as a 2D array in ``policies[p_idx]``. Shape of ``policies[p_idx]`` \n        is ``(num_timesteps, num_factors)`` where ``num_timesteps`` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n    \n    Returns\n    ----------\n    num_controls: ``list`` of ``int``\n        ``list`` of the dimensionalities of each control state factor, computed here automatically from a ``list`` of policies.\n    \"\"\"\n\n    return list(np.max(np.vstack(policies), axis = 0) + 1)\n    \n\ndef sample_action(q_pi, policies, num_controls, action_selection=\"deterministic\", alpha = 16.0):\n    \"\"\"\n    Computes the marginal posterior over actions and then samples an action from it, one action per control factor.\n\n    Parameters\n    ----------\n    q_pi: 1D ``numpy.ndarray``\n        Posterior beliefs over policies, i.e. a vector containing one posterior probability per policy.\n    policies: ``list`` of 2D ``numpy.ndarray``\n        ``list`` that stores each policy as a 2D array in ``policies[p_idx]``. Shape of ``policies[p_idx]`` \n        is ``(num_timesteps, num_factors)`` where ``num_timesteps`` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n    num_controls: ``list`` of ``int``\n        ``list`` of the dimensionalities of each control state factor.\n    action_selection: ``str``, default \"deterministic\"\n        String indicating whether whether the selected action is chosen as the maximum of the posterior over actions,\n        or whether it's sampled from the posterior marginal over actions\n    alpha: ``float``, default 16.0\n        Action selection precision -- the inverse temperature of the softmax that is used to scale the \n        action marginals before sampling. This is only used if ``action_selection`` argument is \"stochastic\"\n   \n    Returns\n    ----------\n    selected_policy: 1D ``numpy.ndarray``\n        Vector containing the indices of the actions for each control factor\n    \"\"\"\n\n    num_factors = len(num_controls)\n\n    action_marginals = utils.obj_array_zeros(num_controls)\n\n    # weight each action according to its integrated posterior probability under all policies at the current timestep\n    for pol_idx, policy in enumerate(policies):\n        for factor_i, action_i in enumerate(policy[0, :]):\n            action_marginals[factor_i][action_i] += q_pi[pol_idx]\n    \n    action_marginals = utils.norm_dist_obj_arr(action_marginals)\n\n    selected_policy = np.zeros(num_factors)\n    for factor_i in range(num_factors):\n\n        # Either you do this:\n        if action_selection == 'deterministic':\n            selected_policy[factor_i] = select_highest(action_marginals[factor_i])\n        elif action_selection == 'stochastic':\n            log_marginal_f = spm_log_single(action_marginals[factor_i])\n            p_actions = softmax(log_marginal_f * alpha)\n            selected_policy[factor_i] = utils.sample(p_actions)\n\n    return selected_policy\n\ndef _sample_action_test(q_pi, policies, num_controls, action_selection=\"deterministic\", alpha = 16.0, seed=None):\n    \"\"\"\n    Computes the marginal posterior over actions and then samples an action from it, one action per control factor.\n    Internal testing version that returns the marginal posterior over actions, and also has a seed argument for reproducibility.\n\n    Parameters\n    ----------\n    q_pi: 1D ``numpy.ndarray``\n        Posterior beliefs over policies, i.e. a vector containing one posterior probability per policy.\n    policies: ``list`` of 2D ``numpy.ndarray``\n        ``list`` that stores each policy as a 2D array in ``policies[p_idx]``. Shape of ``policies[p_idx]`` \n        is ``(num_timesteps, num_factors)`` where ``num_timesteps`` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n    num_controls: ``list`` of ``int``\n        ``list`` of the dimensionalities of each control state factor.\n    action_selection: ``str``, default \"deterministic\"\n        String indicating whether whether the selected action is chosen as the maximum of the posterior over actions,\n        or whether it's sampled from the posterior marginal over actions\n    alpha: float, default 16.0\n        Action selection precision -- the inverse temperature of the softmax that is used to scale the \n        action marginals before sampling. This is only used if ``action_selection`` argument is \"stochastic\"\n    seed: ``int``, default None\n        The seed can be set to control the random sampling that occurs when ``action_selection`` is \"deterministic\" but there are more than one actions with the same maximum posterior probability.\n\n\n    Returns\n    ----------\n    selected_policy: 1D ``numpy.ndarray``\n        Vector containing the indices of the actions for each control factor\n    p_actions: ``numpy.ndarray`` of dtype object\n        Marginal posteriors over actions, after softmaxing and scaling with action precision. This distribution will be used to sample actions,\n        if``action_selection`` argument is \"stochastic\"\n    \"\"\"\n\n    num_factors = len(num_controls)\n\n    action_marginals = utils.obj_array_zeros(num_controls)\n    \n    # weight each action according to its integrated posterior probability under all policies at the current timestep\n    for pol_idx, policy in enumerate(policies):\n        for factor_i, action_i in enumerate(policy[0, :]):\n            action_marginals[factor_i][action_i] += q_pi[pol_idx]\n    \n    action_marginals = utils.norm_dist_obj_arr(action_marginals)\n\n    selected_policy = np.zeros(num_factors)\n    p_actions = utils.obj_array_zeros(num_controls)\n    for factor_i in range(num_factors):\n        if action_selection == 'deterministic':\n            p_actions[factor_i] = action_marginals[factor_i]\n            selected_policy[factor_i] = _select_highest_test(p_actions[factor_i], seed=seed)\n        elif action_selection == 'stochastic':\n            log_marginal_f = spm_log_single(action_marginals[factor_i])\n            p_actions[factor_i] = softmax(log_marginal_f * alpha)\n            selected_policy[factor_i] = utils.sample(p_actions[factor_i])\n\n    return selected_policy, p_actions\n\ndef sample_policy(q_pi, policies, num_controls, action_selection=\"deterministic\", alpha = 16.0):\n    \"\"\"\n    Samples a policy from the posterior over policies, taking the action (per control factor) entailed by the first timestep of the selected policy.\n\n    Parameters\n    ----------\n    q_pi: 1D ``numpy.ndarray``\n        Posterior beliefs over policies, i.e. a vector containing one posterior probability per policy.\n    policies: ``list`` of 2D ``numpy.ndarray``\n        ``list`` that stores each policy as a 2D array in ``policies[p_idx]``. Shape of ``policies[p_idx]`` \n        is ``(num_timesteps, num_factors)`` where ``num_timesteps`` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n    num_controls: ``list`` of ``int``\n        ``list`` of the dimensionalities of each control state factor.\n    action_selection: string, default \"deterministic\"\n        String indicating whether whether the selected policy is chosen as the maximum of the posterior over policies,\n        or whether it's sampled from the posterior over policies.\n    alpha: float, default 16.0\n        Action selection precision -- the inverse temperature of the softmax that is used to scale the \n        policy posterior before sampling. This is only used if ``action_selection`` argument is \"stochastic\"\n\n    Returns\n    ----------\n    selected_policy: 1D ``numpy.ndarray``\n        Vector containing the indices of the actions for each control factor\n    \"\"\"\n\n    num_factors = len(num_controls)\n\n    if action_selection == \"deterministic\":\n        policy_idx = select_highest(q_pi)\n    elif action_selection == \"stochastic\":\n        log_qpi = spm_log_single(q_pi)\n        p_policies = softmax(log_qpi * alpha)\n        policy_idx = utils.sample(p_policies)\n\n    selected_policy = np.zeros(num_factors)\n    for factor_i in range(num_factors):\n        selected_policy[factor_i] = policies[policy_idx][0, factor_i]\n\n    return selected_policy\n\ndef _sample_policy_test(q_pi, policies, num_controls, action_selection=\"deterministic\", alpha = 16.0, seed=None):\n    \"\"\"\n    Test version of sampling a policy from the posterior over policies, taking the action (per control factor) entailed by the first timestep of the selected policy.\n    This test version also returns the probability distribution over policies, and also has a seed argument for reproducibility.\n    Parameters\n    ----------\n    q_pi: 1D ``numpy.ndarray``\n        Posterior beliefs over policies, i.e. a vector containing one posterior probability per policy.\n    policies: ``list`` of 2D ``numpy.ndarray``\n        ``list`` that stores each policy as a 2D array in ``policies[p_idx]``. Shape of ``policies[p_idx]`` \n        is ``(num_timesteps, num_factors)`` where ``num_timesteps`` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n    num_controls: ``list`` of ``int``\n        ``list`` of the dimensionalities of each control state factor.\n    action_selection: string, default \"deterministic\"\n        String indicating whether whether the selected policy is chosen as the maximum of the posterior over policies,\n        or whether it's sampled from the posterior over policies.\n    alpha: float, default 16.0\n        Action selection precision -- the inverse temperature of the softmax that is used to scale the \n        policy posterior before sampling. This is only used if ``action_selection`` argument is \"stochastic\"\n    seed: ``int``, default None\n        The seed can be set to control the random sampling that occurs when ``action_selection`` is \"deterministic\" but there are more than one actions with the same maximum posterior probability.\n\n   \n    Returns\n    ----------\n    selected_policy: 1D ``numpy.ndarray``\n        Vector containing the indices of the actions for each control factor\n    \"\"\"\n\n    num_factors = len(num_controls)\n\n    if action_selection == \"deterministic\":\n        p_policies = q_pi\n        policy_idx = _select_highest_test(p_policies, seed=seed)\n    elif action_selection == \"stochastic\":\n        log_qpi = spm_log_single(q_pi)\n        p_policies = softmax(log_qpi * alpha)\n        policy_idx = utils.sample(p_policies)\n\n    selected_policy = np.zeros(num_factors)\n    for factor_i in range(num_factors):\n        selected_policy[factor_i] = policies[policy_idx][0, factor_i]\n\n    return selected_policy, p_policies\n\n\ndef select_highest(options_array):\n    \"\"\"\n    Selects the highest value among the provided ones. If the higher value is more than once and they're closer than 1e-5, a random choice is made.\n    Parameters\n    ----------\n    options_array: ``numpy.ndarray``\n        The array to examine\n\n    Returns\n    -------\n    The highest value in the given list\n    \"\"\"\n    options_with_idx = np.array(list(enumerate(options_array)))\n    same_prob = options_with_idx[\n                    abs(options_with_idx[:, 1] - np.amax(options_with_idx[:, 1])) <= 1e-8][:, 0]\n    if len(same_prob) > 1:\n        # If some of the most likely actions have nearly equal probability, sample from this subset of actions, instead of using argmax\n        return int(same_prob[np.random.choice(len(same_prob))])\n\n    return int(same_prob[0])\n\ndef _select_highest_test(options_array, seed=None):\n    \"\"\"\n    (Test version with seed argument for reproducibility) Selects the highest value among the provided ones. If the higher value is more than once and they're closer than 1e-8, a random choice is made.\n    Parameters\n    ----------\n    options_array: ``numpy.ndarray``\n        The array to examine\n\n    Returns\n    -------\n    The highest value in the given list\n    \"\"\"\n    options_with_idx = np.array(list(enumerate(options_array)))\n    same_prob = options_with_idx[\n                    abs(options_with_idx[:, 1] - np.amax(options_with_idx[:, 1])) <= 1e-8][:, 0]\n    if len(same_prob) > 1:\n        # If some of the most likely actions have nearly equal probability, sample from this subset of actions, instead of using argmax\n        rng = np.random.default_rng(seed)\n        return int(same_prob[rng.choice(len(same_prob))])\n\n    return int(same_prob[0])\n\n\ndef backwards_induction(H, B, B_factor_list, threshold, depth):\n    \"\"\"\n    Runs backwards induction of reaching a goal state H given a transition model B.\n    \n    Parameters\n    ----------    \n    H: ``numpy.ndarray`` of dtype object\n       Prior over states\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    B_factor_list: ``list`` of ``list`` of ``int``\n        List of lists of hidden state factors each hidden state factor depends on. Each element ``B_factor_list[i]`` is a list of the factor indices that factor i's dynamics depend on.\n    threshold: ``float``\n        The threshold for pruning transitions that are below a certain probability\n    depth: ``int``\n        The temporal depth of the backward induction\n\n    Returns\n    ----------\n    I: ``numpy.ndarray`` of dtype object\n        For each state factor, contains a 2D ``numpy.ndarray`` whose element i,j yields the probability \n        of reaching the goal state backwards from state j after i steps.\n    \"\"\"\n    # TODO can this be done with arbitrary B_factor_list?\n    \n    num_factors = len(H)\n    I = utils.obj_array(num_factors)\n    for factor in range(num_factors):\n        I[factor] = np.zeros((depth, H[factor].shape[0]))\n        I[factor][0, :] = H[factor]\n\n        bf = factor\n        if B_factor_list is not None:\n            if len(B_factor_list[factor]) > 1:\n                raise ValueError(\"Backwards induction with factorized transition model not yet implemented\")\n            bf = B_factor_list[factor][0]\n\n        num_states, _, _ = B[bf].shape\n        b = np.zeros((num_states, num_states))\n        \n        for state in range(num_states):\n            for next_state in range(num_states):\n                # If there exists an action that allows transitioning \n                # from state to next_state, with probability larger than threshold\n                # set b[state, next_state] to 1\n                if np.any(B[bf][next_state, state, :] > threshold):\n                    b[next_state, state] = 1\n\n        for i in range(1, depth):\n            I[factor][i, :] = np.dot(b, I[factor][i-1, :])\n            I[factor][i, :] = np.where(I[factor][i, :] > 0.1, 1.0, 0.0)\n            # TODO stop when all 1s?\n\n    return I\n\ndef calc_ambiguity_factorized(qs_pi, A, A_factor_list):\n    \"\"\"\n    Computes the Ambiguity term.\n\n    Parameters\n    ----------\n    qs_pi: ``list`` of ``numpy.ndarray`` of dtype object\n        Predictive posterior beliefs over hidden states expected under the policy, where ``qs_pi[t]`` stores the beliefs about\n        hidden states expected under the policy at time ``t``\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``numpy.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    A_factor_list: ``list`` of ``list`` of ``int``\n        List of lists, where ``A_factor_list[m]`` is a list of the hidden state factor indices that observation modality with the index ``m`` depends on\n\n    Returns\n    -------\n    ambiguity: float\n    \"\"\"\n\n    n_steps = len(qs_pi)\n\n    ambiguity = 0\n    # TODO check if we do this correctly!\n    H = entropy(A)\n    for t in range(n_steps):\n        for m, H_m in enumerate(H):\n            factor_idx = A_factor_list[m]\n            # TODO why does spm_dot return an array here?\n            # joint_x = maths.spm_cross(qs_pi[t][factor_idx])\n            # ambiguity += (H_m * joint_x).sum()\n            ambiguity += np.sum(spm_dot(H_m, qs_pi[t][factor_idx]))\n\n    return ambiguity\n\n\ndef sophisticated_inference_search(qs, policies, A, B, C, A_factor_list, B_factor_list, I=None, horizon=1,\n                                   policy_prune_threshold=1/16, state_prune_threshold=1/16, prune_penalty=512, gamma=16,\n                                   inference_params = {\"num_iter\": 10, \"dF\": 1.0, \"dF_tol\": 0.001, \"compute_vfe\": False}, n=0):\n    \"\"\"\n    Performs sophisticated inference to find the optimal policy for a given generative model and prior preferences.\n\n    Parameters\n    ----------\n    qs: ``numpy.ndarray`` of dtype object\n        Marginal posterior beliefs over hidden states at a given timepoint.\n    policies: ``list`` of 1D ``numpy.ndarray``                    inference_params = {\"num_iter\": 10, \"dF\": 1.0, \"dF_tol\": 0.001, \"compute_vfe\": False}\n\n        ``list`` that stores each policy as a 1D array in ``policies[p_idx]``. Shape of ``policies[p_idx]`` \n        is ``(num_factors)`` where ``num_factors`` is the number of control factors.        \n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``numpy.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    C: ``numpy.ndarray`` of dtype object\n       Prior over observations or 'prior preferences', storing the \"value\" of each outcome in terms of relative log probabilities. \n       This is softmaxed to form a proper probability distribution before being used to compute the expected utility term of the expected free energy.\n    A_factor_list: ``list`` of ``list`` of ``int``\n        List of lists, where ``A_factor_list[m]`` is a list of the hidden state factor indices that observation modality with the index ``m`` depends on\n    B_factor_list: ``list`` of ``list`` of ``int``\n        List of lists of hidden state factors each hidden state factor depends on. Each element ``B_factor_list[i]`` is a list of the factor indices that factor i's dynamics depend on.\n    I: ``numpy.ndarray`` of dtype object\n        For each state factor, contains a 2D ``numpy.ndarray`` whose element i,j yields the probability \n        of reaching the goal state backwards from state j after i steps.\n    horizon: ``int``\n        The temporal depth of the policy\n    policy_prune_threshold: ``float``\n        The threshold for pruning policies that are below a certain probability\n    state_prune_threshold: ``float``\n        The threshold for pruning states in the expectation that are below a certain probability\n    prune_penalty: ``float``\n        Penalty to add to the EFE when a policy is pruned\n    gamma: ``float``, default 16.0\n        Prior precision over policies, scales the contribution of the expected free energy to the posterior over policies\n    n: ``int``\n        timestep in the future we are calculating\n        \n    Returns\n    ----------\n    q_pi: 1D ``numpy.ndarray``\n        Posterior beliefs over policies, i.e. a vector containing one posterior probability per policy.\n     \n    G: 1D ``numpy.ndarray``\n        Negative expected free energies of each policy, i.e. a vector containing one negative expected free energy per policy.\n    \"\"\"\n\n    n_policies = len(policies)\n    G = np.zeros(n_policies)\n    q_pi = np.zeros((n_policies, 1))\n    qs_pi = utils.obj_array(n_policies)\n    qo_pi = utils.obj_array(n_policies)\n\n    for idx, policy in enumerate(policies):\n        qs_pi[idx] = get_expected_states_interactions(qs, B, B_factor_list, policy)\n        qo_pi[idx] = get_expected_obs_factorized(qs_pi[idx], A, A_factor_list)\n\n        G[idx] += calc_expected_utility(qo_pi[idx], C)\n        G[idx] += calc_states_info_gain_factorized(A, qs_pi[idx], A_factor_list)\n\n        if I is not None:\n            G[idx] += calc_inductive_cost(qs, qs_pi[idx], I)\n\n    q_pi = softmax(G * gamma)\n\n    if n < horizon - 1:\n        # ignore low probability actions in the search tree\n        # TODO shouldnt we have to add extra penalty for branches no longer considered?\n        # or assume these are already low EFE (high NEFE) anyway?\n        policies_to_consider = list(np.where(q_pi >= policy_prune_threshold)[0])\n        for idx in range(n_policies):\n            if idx not in policies_to_consider:\n                G[idx] -= prune_penalty\n            else :\n                # average over outcomes\n                qo_next = qo_pi[idx][0]\n                for k in itertools.product(*[range(s.shape[0]) for s in qo_next]):\n                    prob = 1.0\n                    for i in range(len(k)):\n                        prob *= qo_pi[idx][0][i][k[i]]\n                    \n                    # ignore low probability states in the search tree\n                    if prob < state_prune_threshold:\n                        continue\n\n                    qo_one_hot = utils.obj_array(len(qo_next))\n                    for i in range(len(qo_one_hot)):\n                        qo_one_hot[i] = utils.onehot(k[i], qo_next[i].shape[0])\n                    \n                    num_obs = [A[m].shape[0] for m in range(len(A))]\n                    num_states = [B[f].shape[0] for f in range(len(B))]\n                    A_modality_list = []\n                    for f in range(len(B)):\n                        A_modality_list.append( [m for m in range(len(A)) if f in A_factor_list[m]] )\n                    mb_dict = {\n                        'A_factor_list': A_factor_list,\n                        'A_modality_list': A_modality_list\n                        }\n                    qs_next = update_posterior_states_factorized(A, qo_one_hot, num_obs, num_states, mb_dict, qs_pi[idx][0], **inference_params)\n                    q_pi_next, G_next = sophisticated_inference_search(qs_next, policies, A, B, C, A_factor_list, B_factor_list, I,\n                                                                       horizon, policy_prune_threshold, state_prune_threshold,\n                                                                       prune_penalty, gamma, inference_params, n+1)\n                    G_weighted = np.dot(q_pi_next, G_next) * prob\n                    G[idx] += G_weighted\n\n    q_pi = softmax(G * gamma)\n    return q_pi, G "
  },
  {
    "path": "pymdp/legacy/default_models.py",
    "content": "\nimport numpy as np\nfrom pymdp.legacy import utils, maths\n\ndef generate_epistemic_MAB_model():\n    '''\n    Create the generative model matrices (A, B, C, D) for the 'epistemic multi-armed bandit',\n    used in the `agent_demo.py` Python file and the `agent_demo.ipynb` notebook.\n    ''' \n    \n    num_states = [2, 3]  \n    num_obs = [3, 3, 3]\n    num_controls = [1, 3] \n    A = utils.obj_array_zeros([[o] + num_states for _, o in enumerate(num_obs)])\n\n    \"\"\"\n    MODALITY 0 -- INFORMATION-ABOUT-REWARD-STATE MODALITY\n    \"\"\"\n\n    A[0][:, :, 0] = np.ones( (num_obs[0], num_states[0]) ) / num_obs[0]\n    A[0][:, :, 1] = np.ones( (num_obs[0], num_states[0]) ) / num_obs[0]\n    A[0][:, :, 2] = np.array([[0.8, 0.2], [0.0, 0.0], [0.2, 0.8]])\n\n    \"\"\"\n    MODALITY 1 -- REWARD MODALITY\n    \"\"\"\n\n    A[1][2, :, 0] = np.ones(num_states[0])\n    A[1][0:2, :, 1] = maths.softmax(np.eye(num_obs[1] - 1)) # bandit statistics (mapping between reward-state (first hidden state factor) and rewards (Good vs Bad))\n    A[1][2, :, 2] = np.ones(num_states[0])\n\n    \"\"\"\n    MODALITY 2 -- LOCATION-OBSERVATION MODALITY\n    \"\"\"\n    A[2][0,:,0] = 1.0\n    A[2][1,:,1] = 1.0\n    A[2][2,:,2] = 1.0\n\n    control_fac_idx = [1] # this is the controllable control state factor, where there will be a >1-dimensional control state along this factor\n    B = utils.obj_array_zeros([[n_s, n_s, num_controls[f]] for f, n_s in enumerate(num_states)])\n\n    \"\"\"\n    FACTOR 0 -- REWARD STATE DYNAMICS\n    \"\"\"\n\n    p_stoch = 0.0\n\n    # we cannot influence factor zero, set up the 'default' stationary dynamics - \n    # one state just maps to itself at the next timestep with very high probability, by default. So this means the reward state can\n    # change from one to another with some low probability (p_stoch)\n\n    B[0][0, 0, 0] = 1.0 - p_stoch\n    B[0][1, 0, 0] = p_stoch\n\n    B[0][1, 1, 0] = 1.0 - p_stoch\n    B[0][0, 1, 0] = p_stoch\n    \n    \"\"\"\n    FACTOR 1 -- CONTROLLABLE LOCATION DYNAMICS\n    \"\"\"\n    # setup our controllable factor.\n    B[1] = utils.construct_controllable_B(num_states, num_controls)[1]\n\n    C = utils.obj_array_zeros(num_obs)\n    C[1][0] = 1.0  # make the observation we've a priori named `REWARD` actually desirable, by building a high prior expectation of encountering it \n    C[1][1] = -1.0    # make the observation we've a prior named `PUN` actually aversive,by building a low prior expectation of encountering it\n\n    control_fac_idx = [1]\n\n    return A, B, C, control_fac_idx\n\ndef generate_grid_world_transitions(action_labels, num_rows = 3, num_cols = 3):\n    \"\"\" \n    Wrapper code for creating the controllable transition matrix \n    that an agent can use to navigate in a 2-dimensional grid world\n    \"\"\"\n\n    num_grid_locs = num_rows * num_cols\n\n    transition_matrix = np.zeros( (num_grid_locs, num_grid_locs, len(action_labels)) )\n\n    grid = np.arange(num_grid_locs).reshape(num_rows, num_cols)\n    it = np.nditer(grid, flags=[\"multi_index\"])\n\n    loc_list = []\n    while not it.finished:\n        loc_list.append(it.multi_index)\n        it.iternext()\n\n    for action_id, action_label in enumerate(action_labels):\n\n        for curr_state, grid_location in enumerate(loc_list):\n\n            curr_row, curr_col = grid_location\n            \n            if action_label == \"LEFT\":\n                next_col = curr_col - 1 if curr_col > 0 else curr_col \n                next_row = curr_row\n            elif action_label == \"DOWN\":\n                next_row = curr_row + 1 if curr_row < (num_rows-1) else curr_row \n                next_col = curr_col\n            elif action_label == \"RIGHT\":\n                next_col = curr_col + 1 if curr_col < (num_cols-1) else curr_col \n                next_row = curr_row\n            elif action_label == \"UP\":\n                next_row = curr_row - 1 if curr_row > 0 else curr_row \n                next_col = curr_col\n            elif action_label == \"STAY\":\n                next_row, next_col = curr_row, curr_col\n\n            new_location = (next_row, next_col)\n            next_state = loc_list.index(new_location)\n            transition_matrix[next_state, curr_state, action_id] = 1.0\n    \n    return transition_matrix\n"
  },
  {
    "path": "pymdp/legacy/envs/__init__.py",
    "content": "from .env import Env\nfrom .grid_worlds import GridWorldEnv, DGridWorldEnv\nfrom .visual_foraging import SceneConstruction, RandomDotMotion, initialize_scene_construction_GM, initialize_RDM_GM\nfrom .tmaze import TMazeEnv, TMazeEnvNullOutcome\n"
  },
  {
    "path": "pymdp/legacy/envs/env.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Environment Base Class\n\n__author__: Conor Heins, Alexander Tschantz, Brennan Klein\n\n\"\"\"\n\n\nclass Env(object):\n    \"\"\" \n    The Env base class, loosely-inspired by the analogous ``env`` class of the OpenAIGym framework. \n\n    A typical workflow is as follows:\n\n    >>> my_env = MyCustomEnv(<some_params>)\n    >>> initial_observation = my_env.reset(initial_state)\n    >>> my_agent.infer_states(initial_observation)\n    >>> my_agent.infer_policies()\n    >>> next_action = my_agent.sample_action()\n    >>> next_observation = my_env.step(next_action)\n\n    This would be the first step of an active inference process, where a sub-class of ``Env``, ``MyCustomEnv`` is initialized, \n    an initial observation is produced, and these observations are fed into an instance of ``Agent`` in order to produce an action,\n    that can then be fed back into the the ``Env`` instance.\n\n    \"\"\"\n\n    def reset(self, state=None):\n        \"\"\"\n        Resets the initial state of the environment. Depending on case, it may be common to return an initial observation as well.\n        \"\"\"\n        raise NotImplementedError\n\n    def step(self, action):\n        \"\"\"\n        Steps the environment forward using an action.\n\n        Parameters\n        ----------\n        action\n            The action, the type/format of which depends on the implementation.\n\n        Returns\n        ---------\n        observation\n            Sensory observations for an agent, the type/format of which depends on the implementation of ``step`` and the observation space of the agent.\n        \"\"\"\n        raise NotImplementedError\n\n    def render(self):\n        \"\"\"\n        Rendering function, that typically creates a visual representation of the state of the environment at the current timestep.\n        \"\"\"\n        pass\n\n    def sample_action(self):\n        pass\n\n    def get_likelihood_dist(self):\n        raise ValueError(\n            \"<{}> does not provide a model specification\".format(type(self).__name__)\n        )\n\n    def get_transition_dist(self):\n        raise ValueError(\n            \"<{}> does not provide a model specification\".format(type(self).__name__)\n        )\n\n    def get_uniform_posterior(self):\n        raise ValueError(\n            \"<{}> does not provide a model specification\".format(type(self).__name__)\n        )\n\n    def get_rand_likelihood_dist(self):\n        raise ValueError(\n            \"<{}> does not provide a model specification\".format(type(self).__name__)\n        )\n\n    def get_rand_transition_dist(self):\n        raise ValueError(\n            \"<{}> does not provide a model specification\".format(type(self).__name__)\n        )\n\n    def __str__(self):\n        return \"<{} instance>\".format(type(self).__name__)\n"
  },
  {
    "path": "pymdp/legacy/envs/grid_worlds.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Cube world environment\n\n__author__: Conor Heins, Alexander Tschantz, Brennan Klein\n\n\"\"\"\n\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport seaborn as sns\n\n\nfrom pymdp.legacy.envs import Env\n\n\nclass GridWorldEnv(Env):\n    \"\"\" 2-dimensional grid-world implementation with 5 actions (the 4 cardinal directions and staying put).\"\"\"\n\n    UP = 0\n    RIGHT = 1\n    DOWN = 2\n    LEFT = 3\n    STAY = 4\n\n    CONTROL_NAMES = [\"UP\", \"RIGHT\", \"DOWN\", \"LEFT\", \"STAY\"]\n\n    def __init__(self, shape=[2, 2], init_state=None):\n        \"\"\"\n        Initialization function for 2-D grid world\n\n        Parameters\n        ----------\n        shape: ``list`` of ``int``, where ``len(shape) == 2``\n            The dimensions of the grid world, stored as a list of integers, storing the discrete dimensions of the Y (vertical) and X (horizontal) spatial dimensions, respectively.\n        init_state: ``int`` or ``None``\n            Initial state of the environment, i.e. the location of the agent in grid world. If not ``None``, must be a discrete index  in the range ``(0, (shape[0] * shape[1])-1)``. It is thus a \"linear index\" of the initial location of the agent in grid world.\n            If ``None``, then an initial location will be randomly sampled from the grid.\n        \"\"\"\n        \n        self.shape = shape\n        self.n_states = np.prod(shape)\n        self.n_observations = self.n_states\n        self.n_control = 5\n        self.max_y = shape[0]\n        self.max_x = shape[1]\n        self._build()\n        self.set_init_state(init_state)\n        self.last_action = None\n\n    def reset(self, init_state=None):\n        \"\"\"\n        Reset the state of the 2-D grid world. In other words, resets the location of the agent, and wipes the current action.\n\n        Parameters\n        ----------\n        init_state: ``int`` or ``None``\n            Initial state of the environment, i.e. the location of the agent in grid world. If not ``None``, must be a discrete index  in the range ``(0, (shape[0] * shape[1])-1)``. It is thus a \"linear index\" of the initial location of the agent in grid world.\n            If ``None``, then an initial location will be randomly sampled from the grid.\n\n        Returns\n        ----------\n        self.state: ``int``\n            The current state of the environment, i.e. the location of the agent in grid world. Will be a discrete index  in the range ``(0, (shape[0] * shape[1])-1)``. It is thus a \"linear index\" of the location of the agent in grid world.\n        \"\"\"\n        self.set_init_state(init_state)\n        self.last_action = None\n        return self.state\n\n    def set_state(self, state):\n        \"\"\"\n        Sets the state of the 2-D grid world.\n\n        Parameters\n        ----------\n        state: ``int`` or ``None``\n            State of the environment, i.e. the location of the agent in grid world. If not ``None``, must be a discrete index  in the range ``(0, (shape[0] * shape[1])-1)``. It is thus a \"linear index\" of the location of the agent in grid world.\n            If ``None``, then a location will be randomly sampled from the grid.\n\n        Returns\n        ----------\n        self.state: ``int``\n            The current state of the environment, i.e. the location of the agent in grid world. Will be a discrete index  in the range ``(0, (shape[0] * shape[1])-1)``. It is thus a \"linear index\" of the location of the agent in grid world.\n        \"\"\"\n        self.state = state\n        return state\n\n    def step(self, action):\n        \"\"\"\n        Updates the state of the environment, i.e. the location of the agent, using an action index that corresponds to one of the 5 possible moves.\n\n        Parameters\n        ----------\n        action: ``int`` \n            Action index that refers to which of the 5 actions the agent will take. Actions are, in order: \"UP\", \"RIGHT\", \"DOWN\", \"LEFT\", \"STAY\".\n\n        Returns\n        ----------\n        state: ``int``\n            The new, updated state of the environment, i.e. the location of the agent in grid world after the action has been made. Will be discrete index in the range ``(0, (shape[0] * shape[1])-1)``. It is thus a \"linear index\" of the location of the agent in grid world.\n        \"\"\"\n        state = self.P[self.state][action]\n        self.state = state\n        self.last_action = action\n        return state\n\n    def render(self, title=None):\n        \"\"\"\n        Creates a heatmap showing the current position of the agent in the grid world.\n\n        Parameters\n        ----------\n        title: ``str`` or ``None``\n            Optional title for the heatmap.\n        \"\"\"\n        values = np.zeros(self.shape)\n        values[self.position] = 1.0\n        _, ax = plt.subplots(figsize=(3, 3))\n        if self.shape[0] == 1 or self.shape[1] == 1:\n            ax.imshow(values, cmap=\"OrRd\")\n        else:\n            _ = sns.heatmap(values, cmap=\"OrRd\", linewidth=2.5, cbar=False, ax=ax)\n        plt.xticks(range(self.shape[1]))\n        plt.yticks(range(self.shape[0]))\n        if title is not None:\n            plt.title(title)\n        plt.show()\n\n    def set_init_state(self, init_state=None):\n        if init_state is not None:\n            if init_state > (self.n_states - 1) or init_state < 0:\n                raise ValueError(\"`init_state` is greater than number of states\")\n            if not isinstance(init_state, (int, float)):\n                raise ValueError(\"`init_state` must be [int/float]\")\n            self.init_state = int(init_state)\n        else:\n            self.init_state = np.random.randint(0, self.n_states)\n        self.state = self.init_state\n\n    def _build(self):\n        P = {}\n        grid = np.arange(self.n_states).reshape(self.shape)\n        it = np.nditer(grid, flags=[\"multi_index\"])\n\n        while not it.finished:\n            s = it.iterindex\n            y, x = it.multi_index\n            P[s] = {a: [] for a in range(self.n_control)}\n\n            next_up = s if y == 0 else s - self.max_x\n            next_right = s if x == (self.max_x - 1) else s + 1\n            next_down = s if y == (self.max_y - 1) else s + self.max_x\n            next_left = s if x == 0 else s - 1\n            next_stay = s\n\n            P[s][self.UP] = next_up\n            P[s][self.RIGHT] = next_right\n            P[s][self.DOWN] = next_down\n            P[s][self.LEFT] = next_left\n            P[s][self.STAY] = next_stay\n\n            it.iternext()\n\n        self.P = P\n\n    def get_init_state_dist(self, init_state=None):\n        init_state_dist = np.zeros(self.n_states)\n        if init_state is None:\n            init_state_dist[self.init_state] = 1.0\n        else:\n            init_state_dist[init_state] = 1.0\n\n    def get_transition_dist(self):\n        B = np.zeros([self.n_states, self.n_states, self.n_control])\n        for s in range(self.n_states):\n            for a in range(self.n_control):\n                ns = int(self.P[s][a])\n                B[ns, s, a] = 1\n        return B\n\n    def get_likelihood_dist(self):\n        A = np.eye(self.n_observations, self.n_states)\n        return A\n\n    def sample_action(self):\n        return np.random.randint(self.n_control)\n\n    @property\n    def position(self):\n        \"\"\" @TODO might be wrong w.r.t (x & y) \"\"\"\n        return np.unravel_index(np.array(self.state), self.shape)\n\n\nclass DGridWorldEnv(object):\n    \"\"\" 1-dimensional grid-world implementation with 3 possible movement actions (\"LEFT\", \"STAY\", \"RIGHT\")\"\"\"\n\n    LEFT = 0\n    STAY = 1\n    RIGHT = 2\n\n    CONTROL_NAMES = [\"LEFT\", \"STAY\", \"RIGHT\"]\n\n    def __init__(self, shape=[2, 2], init_state=None):\n        self.shape = shape\n        self.n_states = np.prod(shape)\n        self.n_observations = self.n_states\n        self.n_control = 3\n        self.max_y = shape[0]\n        self.max_x = shape[1]\n        self._build()\n        self.set_init_state(init_state)\n        self.last_action = None\n\n    def reset(self, init_state=None):\n        self.set_init_state(init_state)\n        self.last_action = None\n        return self.state\n\n    def set_state(self, state):\n        self.state = state\n        return state\n\n    def step(self, action):\n        state = self.P[self.state][action]\n        self.state = state\n        self.last_action = action\n        return state\n\n    def render(self, title=None):\n        values = np.zeros(self.shape)\n        values[self.position] = 1.0\n        _, ax = plt.subplots(figsize=(3, 3))\n        if self.shape[0] == 1 or self.shape[1] == 1:\n            ax.imshow(values, cmap=\"OrRd\")\n        else:\n            _ = sns.heatmap(values, cmap=\"OrRd\", linewidth=2.5, cbar=False, ax=ax)\n        plt.xticks(range(self.shape[1]))\n        plt.yticks(range(self.shape[0]))\n        if title is not None:\n            plt.title(title)\n        plt.show()\n\n    def set_init_state(self, init_state=None):\n        if init_state is not None:\n            if init_state > (self.n_states - 1) or init_state < 0:\n                raise ValueError(\"`init_state` is greater than number of states\")\n            if not isinstance(init_state, (int, float)):\n                raise ValueError(\"`init_state` must be [int/float]\")\n            self.init_state = int(init_state)\n        else:\n            self.init_state = np.random.randint(0, self.n_states)\n        self.state = self.init_state\n\n    def _build(self):\n        P = {}\n        grid = np.arange(self.n_states).reshape(self.shape)\n        it = np.nditer(grid, flags=[\"multi_index\"])\n\n        while not it.finished:\n            s = it.iterindex\n            y, x = it.multi_index\n            P[s] = {a: [] for a in range(self.n_control)}\n\n            next_right = s if x == (self.max_x - 1) else s + 1\n            next_left = s if x == 0 else s - 1\n            next_stay = s\n\n            P[s][self.LEFT] = next_left\n            P[s][self.STAY] = next_stay\n            P[s][self.RIGHT] = next_right\n\n            it.iternext()\n\n        self.P = P\n\n    def get_init_state_dist(self, init_state=None):\n        init_state_dist = np.zeros(self.n_states)\n        if init_state is None:\n            init_state_dist[self.init_state] = 1.0\n        else:\n            init_state_dist[init_state] = 1.0\n\n    def get_transition_dist(self):\n        B = np.zeros([self.n_states, self.n_states, self.n_control])\n        for s in range(self.n_states):\n            for a in range(self.n_control):\n                ns = int(self.P[s][a])\n                B[ns, s, a] = 1\n        return B\n\n    def get_likelihood_dist(self):\n        A = np.eye(self.n_observations, self.n_states)\n        return A\n\n    def sample_action(self):\n        return np.random.randint(self.n_control)\n\n    @property\n    def position(self):\n        return self.state\n"
  },
  {
    "path": "pymdp/legacy/envs/tmaze.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" T Maze Environment (Factorized)\n\n__author__: Conor Heins, Alexander Tschantz, Brennan Klein\n\n\"\"\"\n\nfrom pymdp.legacy.envs import Env\nfrom pymdp.legacy import utils, maths\nimport numpy as np\n\nLOCATION_FACTOR_ID = 0\nTRIAL_FACTOR_ID = 1\n\nLOCATION_MODALITY_ID = 0\nREWARD_MODALITY_ID = 1\nCUE_MODALITY_ID = 2\n\nREWARD_IDX = 1\nLOSS_IDX = 2\n\n\nclass TMazeEnv(Env):\n    \"\"\" Implementation of the 3-arm T-Maze environment \"\"\"\n    def __init__(self, reward_probs=None):\n\n        if reward_probs is None:\n            a = 0.98\n            b = 1.0 - a\n            self.reward_probs = [a, b]\n        else:\n            if sum(reward_probs) != 1:\n                raise ValueError(\"Reward probabilities must sum to 1!\")\n            elif len(reward_probs) != 2:\n                raise ValueError(\"Only two reward conditions currently supported...\")\n            else:\n                self.reward_probs = reward_probs\n\n        self.num_states = [4, 2]\n        self.num_locations = self.num_states[LOCATION_FACTOR_ID]\n        self.num_controls = [self.num_locations, 1]\n        self.num_reward_conditions = self.num_states[TRIAL_FACTOR_ID]\n        self.num_cues = self.num_reward_conditions\n        self.num_obs = [self.num_locations, self.num_reward_conditions + 1, self.num_cues]\n        self.num_factors = len(self.num_states)\n        self.num_modalities = len(self.num_obs)\n\n        self._transition_dist = self._construct_transition_dist()\n        self._likelihood_dist = self._construct_likelihood_dist()\n\n        self._reward_condition = None\n        self._state = None\n    \n    def reset(self, state=None):\n        if state is None:\n            loc_state = utils.onehot(0, self.num_locations)\n            \n            self._reward_condition = np.random.randint(self.num_reward_conditions) # randomly select a reward condition\n            reward_condition = utils.onehot(self._reward_condition, self.num_reward_conditions)\n\n            full_state = utils.obj_array(self.num_factors)\n            full_state[LOCATION_FACTOR_ID] = loc_state\n            full_state[TRIAL_FACTOR_ID] = reward_condition\n            self._state = full_state\n        else:\n            self._state = state\n        return self._get_observation()\n\n    def step(self, actions):\n        prob_states = utils.obj_array(self.num_factors)\n        for factor, state in enumerate(self._state):\n            prob_states[factor] = self._transition_dist[factor][:, :, int(actions[factor])].dot(state)\n        state = [utils.sample(ps_i) for ps_i in prob_states]\n        self._state = self._construct_state(state)\n        return self._get_observation()\n\n    def render(self):\n        pass\n\n    def sample_action(self):\n        return [np.random.randint(self.num_controls[i]) for i in range(self.num_factors)]\n\n    def get_likelihood_dist(self):\n        return self._likelihood_dist\n\n    def get_transition_dist(self):\n        return self._transition_dist\n\n\n    def get_rand_likelihood_dist(self):\n        pass\n\n    def get_rand_transition_dist(self):\n        pass\n\n    def _get_observation(self):\n\n        prob_obs = [maths.spm_dot(A_m, self._state) for A_m in self._likelihood_dist]\n\n        obs = [utils.sample(po_i) for po_i in prob_obs]\n        return obs\n\n    def _construct_transition_dist(self):\n        B_locs = np.eye(self.num_locations)\n        B_locs = B_locs.reshape(self.num_locations, self.num_locations, 1)\n        B_locs = np.tile(B_locs, (1, 1, self.num_locations))\n        B_locs = B_locs.transpose(1, 2, 0)\n\n        B = utils.obj_array(self.num_factors)\n\n        B[LOCATION_FACTOR_ID] = B_locs\n        B[TRIAL_FACTOR_ID] = np.eye(self.num_reward_conditions).reshape(\n            self.num_reward_conditions, self.num_reward_conditions, 1\n        )\n        return B\n\n    def _construct_likelihood_dist(self):\n\n        A = utils.obj_array_zeros([ [obs_dim] + self.num_states for obs_dim in self.num_obs] )\n\n        for loc in range(self.num_states[LOCATION_FACTOR_ID]):\n            for reward_condition in range(self.num_states[TRIAL_FACTOR_ID]):\n\n                # The case when the agent is in the centre location\n                if loc == 0:\n                    # When in the centre location, reward observation is always 'no reward'\n                    # or the outcome with index 0\n                    A[REWARD_MODALITY_ID][0, loc, reward_condition] = 1.0\n\n                    # When in the centre location, cue is totally ambiguous with respect to the reward condition\n                    A[CUE_MODALITY_ID][:, loc, reward_condition] = 1.0 / self.num_obs[2]\n\n                # The case when loc == 3, or the cue location ('bottom arm')\n                elif loc == 3:\n\n                    # When in the cue location, reward observation is always 'no reward'\n                    # or the outcome with index 0\n                    A[REWARD_MODALITY_ID][0, loc, reward_condition] = 1.0\n\n                    # When in the cue location, the cue indicates the reward condition umambiguously\n                    # signals where the reward is located\n                    A[CUE_MODALITY_ID][reward_condition, loc, reward_condition] = 1.0\n\n                # The case when the agent is in one of the (potentially-) rewarding armS\n                else:\n\n                    # When location is consistent with reward condition\n                    if loc == (reward_condition + 1):\n                        # Means highest probability is concentrated over reward outcome\n                        high_prob_idx = REWARD_IDX\n                        # Lower probability on loss outcome\n                        low_prob_idx = LOSS_IDX\n                    else:\n                        # Means highest probability is concentrated over loss outcome\n                        high_prob_idx = LOSS_IDX\n                        # Lower probability on reward outcome\n                        low_prob_idx = REWARD_IDX\n\n                    reward_probs = self.reward_probs[0]\n                    A[REWARD_MODALITY_ID][high_prob_idx, loc, reward_condition] = reward_probs\n\n                    reward_probs = self.reward_probs[1]\n                    A[REWARD_MODALITY_ID][low_prob_idx, loc, reward_condition] = reward_probs\n\n                    # Cue is ambiguous when in the reward location\n                    A[CUE_MODALITY_ID][:, loc, reward_condition] = 1.0 / self.num_obs[2]\n\n                # The agent always observes its location, regardless of the reward condition\n                A[LOCATION_MODALITY_ID][loc, loc, reward_condition] = 1.0\n\n        return A\n\n    def _construct_state(self, state_tuple):\n\n        state = utils.obj_array(self.num_factors)\n        for f, ns in enumerate(self.num_states):\n            state[f] = utils.onehot(state_tuple[f], ns)\n\n        return state\n\n    @property\n    def state(self):\n        return self._state\n\n    @property\n    def reward_condition(self):\n        return self._reward_condition\n\n\nclass TMazeEnvNullOutcome(Env):\n    \"\"\" Implementation of the 3-arm T-Maze environment where there is an additional null outcome within the cue modality, so that the agent\n    doesn't get a random cue observation, but a null one, when it visits non-cue locations\"\"\"\n\n    def __init__(self, reward_probs=None):\n\n        if reward_probs is None:\n            a = 0.98\n            b = 1.0 - a\n            self.reward_probs = [a, b]\n        else:\n            if sum(reward_probs) != 1:\n                raise ValueError(\"Reward probabilities must sum to 1!\")\n            elif len(reward_probs) != 2:\n                raise ValueError(\"Only two reward conditions currently supported...\")\n            else:\n                self.reward_probs = reward_probs\n\n        self.num_states = [4, 2]\n        self.num_locations = self.num_states[LOCATION_FACTOR_ID]\n        self.num_controls = [self.num_locations, 1]\n        self.num_reward_conditions = self.num_states[TRIAL_FACTOR_ID]\n        self.num_cues = self.num_reward_conditions\n        self.num_obs = [self.num_locations, self.num_reward_conditions + 1, self.num_cues + 1]\n        self.num_factors = len(self.num_states)\n        self.num_modalities = len(self.num_obs)\n\n        self._transition_dist = self._construct_transition_dist()\n        self._likelihood_dist = self._construct_likelihood_dist()\n\n        self._reward_condition = None\n        self._state = None\n\n    def reset(self, state=None):\n        if state is None:\n            loc_state = utils.onehot(0, self.num_locations)\n            \n            self._reward_condition = np.random.randint(self.num_reward_conditions) # randomly select a reward condition\n            reward_condition = utils.onehot(self._reward_condition, self.num_reward_conditions)\n\n            full_state = utils.obj_array(self.num_factors)\n            full_state[LOCATION_FACTOR_ID] = loc_state\n            full_state[TRIAL_FACTOR_ID] = reward_condition\n            self._state = full_state\n        else:\n            self._state = state\n        return self._get_observation()\n\n    def step(self, actions):\n        prob_states = utils.obj_array(self.num_factors)\n        for factor, state in enumerate(self._state):\n            prob_states[factor] = self._transition_dist[factor][:, :, int(actions[factor])].dot(state)\n        state = [utils.sample(ps_i) for ps_i in prob_states]\n        self._state = self._construct_state(state)\n        return self._get_observation()\n\n\n    def sample_action(self):\n        return [np.random.randint(self.num_controls[i]) for i in range(self.num_factors)]\n\n    def get_likelihood_dist(self):\n        return self._likelihood_dist.copy()\n\n    def get_transition_dist(self):\n        return self._transition_dist.copy()\n\n    def _get_observation(self):\n\n        prob_obs = [maths.spm_dot(A_m, self._state) for A_m in self._likelihood_dist]\n\n        obs = [utils.sample(po_i) for po_i in prob_obs]\n        return obs\n\n    def _construct_transition_dist(self):\n        B_locs = np.eye(self.num_locations)\n        B_locs = B_locs.reshape(self.num_locations, self.num_locations, 1)\n        B_locs = np.tile(B_locs, (1, 1, self.num_locations))\n        B_locs = B_locs.transpose(1, 2, 0)\n\n        B = utils.obj_array(self.num_factors)\n\n        B[LOCATION_FACTOR_ID] = B_locs\n        B[TRIAL_FACTOR_ID] = np.eye(self.num_reward_conditions).reshape(\n            self.num_reward_conditions, self.num_reward_conditions, 1\n        )\n        return B\n\n    def _construct_likelihood_dist(self):\n\n        A = utils.obj_array_zeros([ [obs_dim] + self.num_states for _, obs_dim in enumerate(self.num_obs)] )\n        \n        for loc in range(self.num_states[LOCATION_FACTOR_ID]):\n            for reward_condition in range(self.num_states[TRIAL_FACTOR_ID]):\n\n                if loc == 0:  # the case when the agent is in the centre location\n                    # When in the centre location, reward observation is always 'no reward', or the outcome with index 0\n                    A[REWARD_MODALITY_ID][0, loc, reward_condition] = 1.0\n\n                    # When in the center location, cue observation is always 'no cue', or the outcome with index 0\n                    A[CUE_MODALITY_ID][0, loc, reward_condition] = 1.0\n\n                # The case when loc == 3, or the cue location ('bottom arm')\n                elif loc == 3:\n\n                    # When in the cue location, reward observation is always 'no reward', or the outcome with index 0\n                    A[REWARD_MODALITY_ID][0, loc, reward_condition] = 1.0\n\n                    # When in the cue location, the cue indicates the reward condition umambiguously\n                    # signals where the reward is located\n                    A[CUE_MODALITY_ID][reward_condition + 1, loc, reward_condition] = 1.0\n\n                # The case when the agent is in one of the (potentially-) rewarding arms\n                else:\n\n                    # When location is consistent with reward condition\n                    if loc == (reward_condition + 1):\n                        # Means highest probability is concentrated over reward outcome\n                        high_prob_idx = REWARD_IDX\n                        # Lower probability on loss outcome\n                        low_prob_idx = LOSS_IDX  #\n                    else:\n                        # Means highest probability is concentrated over loss outcome\n                        high_prob_idx = LOSS_IDX\n                        # Lower probability on reward outcome\n                        low_prob_idx = REWARD_IDX\n\n                    reward_probs = self.reward_probs[0]\n                    A[REWARD_MODALITY_ID][high_prob_idx, loc, reward_condition] = reward_probs\n                    reward_probs = self.reward_probs[1]\n                    A[REWARD_MODALITY_ID][low_prob_idx, loc, reward_condition] = reward_probs\n\n                    # When in the one of the rewarding arms, cue observation is always 'no cue', or the outcome with index 0\n                    A[CUE_MODALITY_ID][0, loc, reward_condition] = 1.0\n\n                # The agent always observes its location, regardless of the reward condition\n                A[LOCATION_MODALITY_ID][loc, loc, reward_condition] = 1.0\n\n        return A\n\n    def _construct_state(self, state_tuple):\n\n        state = utils.obj_array(self.num_factors)\n\n        for f, ns in enumerate(self.num_states):\n            state[f] = utils.onehot(state_tuple[f], ns)\n            \n        return state\n\n    @property\n    def state(self):\n        return self._state\n\n    @property\n    def reward_condition(self):\n        return self._reward_condition\n"
  },
  {
    "path": "pymdp/legacy/envs/visual_foraging.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Visual Foraging Environment\n\n__author__: Conor Heins, Alexander Tschantz, Brennan Klein\n\n\"\"\"\n\nfrom pymdp.legacy.envs import Env\nfrom pymdp.legacy import utils, maths\nimport numpy as np\nfrom itertools import permutations, product\n\nLOCATION_ID = 0\nSCENE_ID = 1\n\nscene_names = [\"UP_RIGHT\", \"RIGHT_DOWN\", \"DOWN_LEFT\", \"LEFT_UP\"] # possible scenes\nquadrant_names = ['1','2','3','4']\nchoice_names = ['choose_UP_RIGHT','choose_RIGHT_DOWN','choose_DOWN_LEFT', 'choose_LEFT_UP'] # possible choices\nconfig_names = list(permutations([1,2,3,4], 2))\nall_scenes_all_configs = list(product(scene_names, config_names))\n\nmotion_dir = ['null','UP','RIGHT','DOWN','LEFT']\nn_states = len(motion_dir)\nsampling_states = ['sample', 'break']\n\nclass SceneConstruction(Env):\n    \n    def __init__(self, starting_loc = 'start', scene_name = 'UP_RIGHT', config = \"1_2\"):\n\n        pos1, pos2 = config.split(\"_\")\n        config_tuple = (int(pos1), int(pos2))\n\n        assert scene_name in scene_names, f\"{scene_name} is not a possible scene! please choose from {scene_names[0]}, {scene_names[1]}, {scene_names[2]}, or {scene_names[3]}\\n\"\n        assert config_tuple in config_names, f\"{config} is not a possible spatial configuration! Please choose an appropriate 2x2 spatial configuration\\n\"\n\n        self.current_location = starting_loc\n        self.scene_name = scene_name\n        self.config = config\n        self._create_visual_array()\n\n        print(f'Starting location is {self.current_location}, Scene is {self.scene_name}, Configuration is {self.config}\\n')\n\n    def step(self,action_label):\n\n\n        if action_label == 'start': \n          \n            new_location = 'start'\n            what_obs = 'null'\n\n        elif action_label in quadrant_names:\n\n            what_obs = self.vis_array_flattened[int(action_label)-1]\n            new_location = action_label\n\n        elif action_label in choice_names:\n            new_location = action_label\n\n            chosen_scene_name = new_location.split('_')[1] + '_' + new_location.split('_')[2]\n\n            if chosen_scene_name== self.scene_name:\n                what_obs = 'correct!'\n            else:\n                what_obs = 'incorrect!'\n        \n        self.current_location = new_location # store the new grid location\n\n        return what_obs, self.current_location\n\n    def reset(self):\n        self.current_location = \"start\"\n        print('Re-initialized location to Start location')\n        what_obs = 'null'\n\n        return what_obs, self.current_location\n\n    def _create_visual_array(self):\n        \"\"\" Create scene array \"\"\"\n\n        vis_array_flattened = np.array(['null', 'null', 'null', 'null'],dtype=\"<U6\")\n        dot_dir1, dot_dir2 = self.scene_name.split(\"_\")\n        idx1, idx2 = tuple(map(lambda x: int(x) -1, self.config.split(\"_\")))\n\n        vis_array_flattened[idx1] = dot_dir1\n        vis_array_flattened[idx2] = dot_dir2\n\n        self.vis_array_flattened = vis_array_flattened\n        self.vis_array = vis_array_flattened.reshape(2,2)\n\nclass RandomDotMotion(Env):\n    \"\"\" \n    Implementation of the random-dot motion environment \n    \"\"\"\n\n    def __init__(self, precision = 1.0, dot_direction = None, sampling_state = None):\n        \"\"\" Initialize the RDM task using a desired number of directions, the precision (aka coherence) of the motion, \n        a \"true dot direction\" that generates the observations, and a sampling_state corresponding to how the agent starts (by sampling or not sampling the dot motion)\n        \"\"\"\n\n        if dot_direction is None:\n            self._dot_dir = np.random.choice(motion_dir)\n        else:\n            assert dot_direction in motion_dir, f\"{dot_direction} is not a valid motion direction\\n\"\n            self._dot_dir = dot_direction\n        \n        if sampling_state is None:\n            self._action = np.random.choice(sampling_states)\n        else:\n            self._set_sampling_state(sampling_state)\n\n        self._p = precision\n        self.direction_names = motion_dir\n        self.sampling_names = sampling_states\n        self.n_states = n_states\n        self._generate_dot_dist()\n        print(f'True motion direction is {self._dot_dir}, motion coherence is {100.0*self.coherence}\\n')\n\n    \n    def reset(self, dot_direction = None, sampling_state = None):\n\n        if dot_direction is not None:\n            self._dot_dir = dot_direction\n            self._generate_dot_dist()\n        \n        if sampling_state is not None:\n            self._set_sampling_state(sampling_state)\n        \n        return self._get_observation()\n    \n    def step(self, action):\n        \n        self._set_sampling_state(action)\n\n        return self._get_observation()\n\n    def _generate_dot_dist(self):\n\n        _stateidx = self.direction_names.index(self._dot_dir)\n        if self._dot_dir == 'null':\n            self.dot_dist = utils.onehot(_stateidx, self.n_states)\n        else:\n            dot_dist = np.zeros(self.n_states)\n            dot_dist[1:] = maths.softmax(self._p * utils.onehot(_stateidx-1, len(self.direction_names)-1))\n            self.dot_dist = dot_dist\n\n        return self.dot_dist\n    \n    def _get_observation(self):\n\n        is_sampling = self._action == 'sample'\n        dot_obs = (self.direction_names[utils.sample(self.dot_dist)]) if is_sampling else 'null' # increment the sample by +1 to account for the fact that there's a \"null\" observation that occupies observation index 0\n        action_obs = 'sampling' if is_sampling else 'breaking'\n\n        return dot_obs, action_obs\n    \n    def _set_sampling_state(self, action):\n        assert action in sampling_states, f\"{action} is not a valid sampling state\\n\"\n        self._action = action\n\n    @property\n    def dot_direction(self):\n        return self._dot_dir\n\n    @property\n    def num_directions(self):\n        return len(self.direction_names)\n\n    @property\n    def precision(self):\n        return self._p\n    \n    @property\n    def coherence(self):\n        return 0. if self._dot_dir == 'null' else self.dot_dist.max()\n\n\ndef create_2x2_array(scene_name, config):\n    \"\"\"\n    Helper function for generating array of visual outcomes from the type and configuration\n    \"\"\"\n\n    flattened_scene_array = np.array(['null', 'null', 'null', 'null'],dtype=\"<U6\")\n    dot_dir1, dot_dir2 = scene_name.split(\"_\")\n    idx1, idx2 = tuple(map(lambda x: int(x) -1, config))\n\n    flattened_scene_array[idx1] = dot_dir1\n    flattened_scene_array[idx2] = dot_dir2\n\n    return flattened_scene_array.reshape(2,2), flattened_scene_array\n\ndef initialize_scene_construction_GM(T = 6, reward = 2.0, punishment = -4.0, urgency = -4.0):\n\n    loc_names = ['start'] + quadrant_names + choice_names\n    what_obs_names = ['null','UP','RIGHT','DOWN','LEFT','correct!','incorrect!']\n    where_obs_names = ['start'] + quadrant_names + choice_names\n    action_names = ['start'] + quadrant_names + choice_names\n\n    num_states   = [len(all_scenes_all_configs), len(loc_names)]\n    num_obs      = [len(what_obs_names), len(where_obs_names)]            # 7 possible visual outcomes (what I'm looking at: \"null\", \"UP\", \"RIGHT\", \"DOWN\", \"LEFT\", \"CORRECT\", \"INCORRECT\"), 9 possible proprioceptive outcomes (where I'm looking)\n    num_controls = [1, len(action_names), 1]\n\n    A = utils.initialize_empty_A(num_obs, num_states)\n    B = utils.initialize_empty_B(num_states, num_controls)\n    C_shapes = [ [no, T] for no in num_obs]\n    C = utils.obj_array_zeros(C_shapes)\n    D = utils.obj_array_uniform(num_states)\n\n    # # Create the A array (factorized representation)\n    # for scene_id, scene_name in enumerate(scene_names):\n    #     for loc_id, loc_name in enumerate(loc_names):\n    #         for config_id, config_name in enumerate(config_names):\n    #             _, flattened_scene_array = create_2x2_array(scene_name, config_name)\n    #             if loc_name == 'start': # at fixation location\n    #                 A[0][0, scene_id, loc_id, config_id] = 1.0\n    #             elif loc_name in quadrant_names: # fixating one of the quadrants\n    #                 A[0][0, scene_id, loc_id, config_id] = 'null' == flattened_scene_array[loc_id-1]\n    #                 A[0][1, scene_id, loc_id, config_id] = 'UP' == flattened_scene_array[loc_id-1]\n    #                 A[0][2, scene_id, loc_id, config_id] = 'RIGHT' == flattened_scene_array[loc_id-1]\n    #                 A[0][3, scene_id, loc_id, config_id] = 'DOWN'  == flattened_scene_array[loc_id-1]\n    #                 A[0][4, scene_id, loc_id, config_id] = 'LEFT'  == flattened_scene_array[loc_id-1]\n    #             elif loc_name in choice_names: # making a choice\n\n    #                 scene_choice = loc_name.split(\"_\")[1] + \"_\" + loc_name.split(\"_\")[2]\n    #                 A[0][5,scene_id, loc_id, config_id] = scene_choice== scene_name # they get correct feedback if they choose the true scene at play\n    #                 A[0][6,scene_id, loc_id, config_id] = scene_choice != scene_name # they get incorrect feedback if they choose anything other than the true scene at play\n                \n    #             A[1][loc_id, scene_id, loc_id, config_id] = 1.0\n\n    # Create the A array (fully-enumerated parameterization)\n    for state_id, scene_and_config_name in enumerate(all_scenes_all_configs):\n        scene_name, config_name = scene_and_config_name\n        for loc_id, loc_name in enumerate(loc_names):\n            _, flattened_scene_array = create_2x2_array(scene_name, config_name)\n            if loc_name == 'start': # at fixation location\n                A[0][0, state_id, loc_id] = 1.0\n            elif loc_name in quadrant_names: # fixating one of the quadrants\n                A[0][0, state_id, loc_id] = 'null' == flattened_scene_array[loc_id-1]\n                A[0][1, state_id, loc_id] = 'UP' == flattened_scene_array[loc_id-1]\n                A[0][2, state_id, loc_id] = 'RIGHT' == flattened_scene_array[loc_id-1]\n                A[0][3, state_id, loc_id] = 'DOWN'  == flattened_scene_array[loc_id-1]\n                A[0][4, state_id, loc_id] = 'LEFT'  == flattened_scene_array[loc_id-1]\n            elif loc_name in choice_names: # making a choice\n                scene_choice = loc_name.split(\"_\")[1] + \"_\" + loc_name.split(\"_\")[2]\n                A[0][5,state_id, loc_id] = scene_choice== scene_name # they get correct feedback if they choose the true scene at play\n                A[0][6,state_id, loc_id] = scene_choice != scene_name # they get incorrect feedback if they choose anything other than the true scene at play\n            \n            A[1][loc_id, state_id, loc_id] = 1.0\n\n    control_fac_idx = [1]\n    for f, ns in enumerate(num_states):\n        if f in control_fac_idx:\n            B[f] = utils.construct_controllable_B( [ns], [num_controls[f]] )[0]\n        else:\n            B[f][:,:,0] = np.eye(ns)\n\n    C[0][5,:] = reward # the agent expects to be right across timesteps\n    C[0][6,:] = punishment # the agent expects to not be wrong across timesteps\n    C[1][:5,4:] = urgency # make too much exploration costly\n\n    D[1] = utils.onehot(0, num_states[1]) # give agent certain beliefs about starting location\n\n    parameters = {'A': A,\n                 'B': B,\n                 'C': C,\n                 'D': D\n                }\n    \n    mapping = {'scene_names': scene_names,\n                'what_obs_names': what_obs_names,\n                'where_obs_names': where_obs_names,\n                'action_names': action_names\n                }\n\n    dimensions = {'num_states': num_states,\n                  'num_obs': num_obs,\n                  'num_controls': num_controls,\n                  }\n\n    \n    return parameters, mapping, dimensions\n\ndef initialize_RDM_GM(T=16, A_precis = 1.0, break_reward = 0.001):\n\n    sampling_state_names = ['sampling','breaking']\n    what_obs_names = ['null','UP','RIGHT','DOWN','LEFT']\n    where_obs_names = ['sampling','breaking']\n    action_names = ['sample','break']\n\n    n_dir = len(what_obs_names)-1\n\n    num_states = [len(motion_dir), len(sampling_state_names)]\n    num_obs = [len(what_obs_names), len(where_obs_names)]\n    num_controls = [1, len(action_names)]\n\n    # Initialize A, B, C and D arrays\n    A = utils.initialize_empty_A(num_obs=num_obs,num_states=num_states)\n    B = utils.initialize_empty_B(num_states=num_states, num_controls=num_controls)\n    C = utils.obj_array_zeros(num_obs)\n    D = utils.obj_array_uniform(num_states)\n\n    for idx, sampling_state in enumerate(sampling_state_names):\n        if sampling_state == 'sampling':\n            A[0][0,0,idx] = 1.0\n            A[0][1:,1:,idx] = maths.softmax(A_precis * np.eye(n_dir))\n            A[1][0,:,idx] = 1.0\n        elif sampling_state == 'breaking':\n            A[1][idx,:,idx] = 1.0\n            A[0][0,:,idx] = 1.0\n    \n    B[0][:,:,0] = np.eye(num_states[0]) # agent assumes the hidden dot-direction state doesn't change over time\n    B[1][0,0,0] = 1.0 # if agent chooses to continnue sampling while already sampling, they keep sampling.\n    B[1][1,0,1] = 1.0 # you can move from sampling to breaking\n    B[1][1,1,:] = 1.0 # Once you are in the break-state, you cannot \"escape\" it with either eaction (break-state is an absorbing state or sink in the transition model)\n\n    C[1][1] = break_reward\n\n    start_state_id = sampling_state_names.index('sampling')\n    D[1] = utils.onehot(start_state_id, num_states[1]) # prior that agent starts in the sampling state\n\n    parameters = {'A': A,\n                 'B': B,\n                 'C': C,\n                 'D': D\n                }\n    \n    mapping = { 'motion_dir': motion_dir,\n                'sampling_state_names': sampling_state_names,\n                'what_obs_names': what_obs_names,\n                'where_obs_names': where_obs_names,\n                'action_names': action_names\n                }\n\n    dimensions = {'num_states': num_states,\n                  'num_obs': num_obs,\n                  'num_controls': num_controls,\n                  }\n\n    return parameters, mapping, dimensions\n"
  },
  {
    "path": "pymdp/legacy/inference.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n# pylint: disable=no-member\n\nimport numpy as np\n\nfrom pymdp.legacy import utils\nfrom pymdp.legacy.maths import get_joint_likelihood_seq, get_joint_likelihood_seq_by_modality\nfrom pymdp.legacy.algos import run_vanilla_fpi, run_vanilla_fpi_factorized, run_mmp, run_mmp_factorized, _run_mmp_testing\n\nVANILLA = \"VANILLA\"\nVMP = \"VMP\"\nMMP = \"MMP\"\nBP = \"BP\"\nEP = \"EP\"\nCV = \"CV\"\n\ndef update_posterior_states_full(\n    A,\n    B,\n    prev_obs,\n    policies,\n    prev_actions=None,\n    prior=None,\n    policy_sep_prior = True,\n    **kwargs,\n):\n    \"\"\"\n    Update posterior over hidden states using marginal message passing\n\n    Parameters\n    ----------\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``numpy.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    prev_obs: ``list``\n        List of observations over time. Each observation in the list can be an ``int``, a ``list`` of ints, a ``tuple`` of ints, a one-hot vector or an object array of one-hot vectors.\n    policies: ``list`` of 2D ``numpy.ndarray``\n        List that stores each policy in ``policies[p_idx]``. Shape of ``policies[p_idx]`` is ``(num_timesteps, num_factors)`` where `num_timesteps` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n    prior: ``numpy.ndarray`` of dtype object, default ``None``\n        If provided, this a ``numpy.ndarray`` of dtype object, with one sub-array per hidden state factor, that stores the prior beliefs about initial states. \n        If ``None``, this defaults to a flat (uninformative) prior over hidden states.\n    policy_sep_prior: ``Bool``, default ``True``\n        Flag determining whether the prior beliefs from the past are unconditioned on policy, or separated by /conditioned on the policy variable.\n    **kwargs: keyword arguments\n        Optional keyword arguments for the function ``algos.mmp.run_mmp``\n\n    Returns\n    ---------\n    qs_seq_pi: ``numpy.ndarray`` of dtype object\n        Posterior beliefs over hidden states for each policy. Nesting structure is policies, timepoints, factors,\n        where e.g. ``qs_seq_pi[p][t][f]`` stores the marginal belief about factor ``f`` at timepoint ``t`` under policy ``p``.\n    F: 1D ``numpy.ndarray``\n        Vector of variational free energies for each policy\n    \"\"\"\n\n    num_obs, num_states, num_modalities, num_factors = utils.get_model_dimensions(A, B)\n    \n    prev_obs = utils.process_observation_seq(prev_obs, num_modalities, num_obs)\n   \n    lh_seq = get_joint_likelihood_seq(A, prev_obs, num_states)\n\n    if prev_actions is not None:\n        prev_actions = np.stack(prev_actions,0)\n\n    qs_seq_pi = utils.obj_array(len(policies))\n    F = np.zeros(len(policies)) # variational free energy of policies\n\n    for p_idx, policy in enumerate(policies):\n\n            # get sequence and the free energy for policy\n            qs_seq_pi[p_idx], F[p_idx] = run_mmp(\n                lh_seq,\n                B,\n                policy,\n                prev_actions=prev_actions,\n                prior= prior[p_idx] if policy_sep_prior else prior, \n                **kwargs\n            )\n\n    return qs_seq_pi, F\n\ndef update_posterior_states_full_factorized(\n    A,\n    mb_dict,\n    B,\n    B_factor_list,\n    prev_obs,\n    policies,\n    prev_actions=None,\n    prior=None,\n    policy_sep_prior = True,\n    **kwargs,\n):\n    \"\"\"\n    Update posterior over hidden states using marginal message passing\n\n    Parameters\n    ----------\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``numpy.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    mb_dict: ``Dict``\n        Dictionary with two keys (``A_factor_list`` and ``A_modality_list``), that stores the factor indices that influence each modality (``A_factor_list``)\n        and the modality indices influenced by each factor (``A_modality_list``).\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    B_factor_list: ``list`` of ``list`` of ``int``\n        List of lists of hidden state factors each hidden state factor depends on. Each element ``B_factor_list[i]`` is a list of the factor indices that factor i's dynamics depend on.\n    prev_obs: ``list``\n        List of observations over time. Each observation in the list can be an ``int``, a ``list`` of ints, a ``tuple`` of ints, a one-hot vector or an object array of one-hot vectors.\n    policies: ``list`` of 2D ``numpy.ndarray``\n        List that stores each policy in ``policies[p_idx]``. Shape of ``policies[p_idx]`` is ``(num_timesteps, num_factors)`` where `num_timesteps` is the temporal\n        depth of the policy and ``num_factors`` is the number of control factors.\n    prior: ``numpy.ndarray`` of dtype object, default ``None``\n        If provided, this a ``numpy.ndarray`` of dtype object, with one sub-array per hidden state factor, that stores the prior beliefs about initial states. \n        If ``None``, this defaults to a flat (uninformative) prior over hidden states.\n    policy_sep_prior: ``Bool``, default ``True``\n        Flag determining whether the prior beliefs from the past are unconditioned on policy, or separated by /conditioned on the policy variable.\n    **kwargs: keyword arguments\n        Optional keyword arguments for the function ``algos.mmp.run_mmp``\n\n    Returns\n    ---------\n    qs_seq_pi: ``numpy.ndarray`` of dtype object\n        Posterior beliefs over hidden states for each policy. Nesting structure is policies, timepoints, factors,\n        where e.g. ``qs_seq_pi[p][t][f]`` stores the marginal belief about factor ``f`` at timepoint ``t`` under policy ``p``.\n    F: 1D ``numpy.ndarray``\n        Vector of variational free energies for each policy\n    \"\"\"\n\n    num_obs, num_states, num_modalities, num_factors = utils.get_model_dimensions(A, B)\n    \n    prev_obs = utils.process_observation_seq(prev_obs, num_modalities, num_obs)\n   \n    lh_seq = get_joint_likelihood_seq_by_modality(A, prev_obs, num_states)\n\n    if prev_actions is not None:\n        prev_actions = np.stack(prev_actions,0)\n\n    qs_seq_pi = utils.obj_array(len(policies))\n    F = np.zeros(len(policies)) # variational free energy of policies\n\n    for p_idx, policy in enumerate(policies):\n\n            # get sequence and the free energy for policy\n            qs_seq_pi[p_idx], F[p_idx] = run_mmp_factorized(\n                lh_seq,\n                mb_dict,\n                B,\n                B_factor_list,\n                policy,\n                prev_actions=prev_actions,\n                prior= prior[p_idx] if policy_sep_prior else prior, \n                **kwargs\n            )\n\n    return qs_seq_pi, F\n\ndef _update_posterior_states_full_test(\n    A,\n    B,\n    prev_obs,\n    policies,\n    prev_actions=None,\n    prior=None,\n    policy_sep_prior = True,\n    **kwargs,\n):\n    \"\"\"\n    Update posterior over hidden states using marginal message passing (TEST VERSION, with extra returns for benchmarking).\n\n    Parameters\n    ----------\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``np.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    prev_obs: list\n        List of observations over time. Each observation in the list can be an ``int``, a ``list`` of ints, a ``tuple`` of ints, a one-hot vector or an object array of one-hot vectors.\n    prior: ``numpy.ndarray`` of dtype object, default None\n        If provided, this a ``numpy.ndarray`` of dtype object, with one sub-array per hidden state factor, that stores the prior beliefs about initial states. \n        If ``None``, this defaults to a flat (uninformative) prior over hidden states.\n    policy_sep_prior: Bool, default True\n        Flag determining whether the prior beliefs from the past are unconditioned on policy, or separated by /conditioned on the policy variable.\n    **kwargs: keyword arguments\n        Optional keyword arguments for the function ``algos.mmp.run_mmp``\n\n    Returns\n    --------\n    qs_seq_pi: ``numpy.ndarray`` of dtype object\n        Posterior beliefs over hidden states for each policy. Nesting structure is policies, timepoints, factors,\n        where e.g. ``qs_seq_pi[p][t][f]`` stores the marginal belief about factor ``f`` at timepoint ``t`` under policy ``p``.\n    F: 1D ``numpy.ndarray``\n        Vector of variational free energies for each policy\n    xn_seq_pi: ``numpy.ndarray`` of dtype object\n        Posterior beliefs over hidden states for each policy, for each iteration of marginal message passing.\n        Nesting structure is policy, iteration, factor, so ``xn_seq_p[p][itr][f]`` stores the ``num_states x infer_len`` \n        array of beliefs about hidden states at different time points of inference horizon.\n    vn_seq_pi: `numpy.ndarray`` of dtype object\n        Prediction errors over hidden states for each policy, for each iteration of marginal message passing.\n        Nesting structure is policy, iteration, factor, so ``vn_seq_p[p][itr][f]`` stores the ``num_states x infer_len`` \n        array of beliefs about hidden states at different time points of inference horizon.\n    \"\"\"\n\n    num_obs, num_states, num_modalities, num_factors = utils.get_model_dimensions(A, B)\n\n    prev_obs = utils.process_observation_seq(prev_obs, num_modalities, num_obs)\n    \n    lh_seq = get_joint_likelihood_seq(A, prev_obs, num_states)\n\n    if prev_actions is not None:\n        prev_actions = np.stack(prev_actions,0)\n\n    qs_seq_pi = utils.obj_array(len(policies))\n    xn_seq_pi = utils.obj_array(len(policies))\n    vn_seq_pi = utils.obj_array(len(policies))\n    F = np.zeros(len(policies)) # variational free energy of policies\n\n    for p_idx, policy in enumerate(policies):\n\n            # get sequence and the free energy for policy\n            qs_seq_pi[p_idx], F[p_idx], xn_seq_pi[p_idx], vn_seq_pi[p_idx] = _run_mmp_testing(\n                lh_seq,\n                B,\n                policy,\n                prev_actions=prev_actions,\n                prior=prior[p_idx] if policy_sep_prior else prior, \n                **kwargs\n            )\n\n    return qs_seq_pi, F, xn_seq_pi, vn_seq_pi\n\ndef average_states_over_policies(qs_pi, q_pi):\n    \"\"\"\n    This function computes a expected posterior over hidden states with respect to the posterior over policies, \n    also known as the 'Bayesian model average of states with respect to policies'.\n\n    Parameters\n    ----------\n    qs_pi: ``numpy.ndarray`` of dtype object\n        Posterior beliefs over hidden states for each policy. Nesting structure is policies, factors,\n        where e.g. ``qs_pi[p][f]`` stores the marginal belief about factor ``f`` under policy ``p``.\n    q_pi: ``numpy.ndarray`` of dtype object\n        Posterior beliefs about policies where ``len(q_pi) = num_policies``\n\n    Returns\n    ---------\n    qs_bma: ``numpy.ndarray`` of dtype object\n        Marginal posterior over hidden states for the current timepoint, \n        averaged across policies according to their posterior probability given by ``q_pi``\n    \"\"\"\n\n    num_factors = len(qs_pi[0]) # get the number of hidden state factors using the shape of the first-policy-conditioned posterior\n    num_states = [qs_f.shape[0] for qs_f in qs_pi[0]] # get the dimensionalities of each hidden state factor \n\n    qs_bma = utils.obj_array(num_factors)\n    for f in range(num_factors):\n        qs_bma[f] = np.zeros(num_states[f])\n\n    for p_idx, policy_weight in enumerate(q_pi):\n\n        for f in range(num_factors):\n\n            qs_bma[f] += qs_pi[p_idx][f] * policy_weight\n\n    return qs_bma\n\ndef update_posterior_states(A, obs, prior=None, **kwargs):\n    \"\"\"\n    Update marginal posterior over hidden states using mean-field fixed point iteration \n    FPI or Fixed point iteration. \n\n    See the following links for details:\n    http://www.cs.cmu.edu/~guestrin/Class/10708/recitations/r9/VI-view.pdf, slides 13- 18, and http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.137.221&rep=rep1&type=pdf, slides 24 - 38.\n    \n    Parameters\n    ----------\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``np.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    obs: 1D ``numpy.ndarray``, ``numpy.ndarray`` of dtype object, int or tuple\n        The observation (generated by the environment). If single modality, this can be a 1D ``np.ndarray``\n        (one-hot vector representation) or an ``int`` (observation index)\n        If multi-modality, this can be ``np.ndarray`` of dtype object whose entries are 1D one-hot vectors,\n        or a tuple (of ``int``)\n    prior: 1D ``numpy.ndarray`` or ``numpy.ndarray`` of dtype object, default None\n        Prior beliefs about hidden states, to be integrated with the marginal likelihood to obtain\n        a posterior distribution. If not provided, prior is set to be equal to a flat categorical distribution (at the level of\n        the individual inference functions).\n    **kwargs: keyword arguments \n        List of keyword/parameter arguments corresponding to parameter values for the fixed-point iteration\n        algorithm ``algos.fpi.run_vanilla_fpi.py``\n\n    Returns\n    ----------\n    qs: 1D ``numpy.ndarray`` or ``numpy.ndarray`` of dtype object\n        Marginal posterior beliefs over hidden states at current timepoint\n    \"\"\"\n\n    num_obs, num_states, num_modalities, _ = utils.get_model_dimensions(A = A)\n    \n    obs = utils.process_observation(obs, num_modalities, num_obs)\n\n    if prior is not None:\n        prior = utils.to_obj_array(prior)\n\n    return run_vanilla_fpi(A, obs, num_obs, num_states, prior, **kwargs)\n\ndef update_posterior_states_factorized(A, obs, num_obs, num_states, mb_dict, prior=None, **kwargs):\n    \"\"\"\n    Update marginal posterior over hidden states using mean-field fixed point iteration \n    FPI or Fixed point iteration. This version identifies the Markov blanket of each factor using `A_factor_list`\n\n    See the following links for details:\n    http://www.cs.cmu.edu/~guestrin/Class/10708/recitations/r9/VI-view.pdf, slides 13- 18, and http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.137.221&rep=rep1&type=pdf, slides 24 - 38.\n    \n    Parameters\n    ----------\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``np.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    obs: 1D ``numpy.ndarray``, ``numpy.ndarray`` of dtype object, int or tuple\n        The observation (generated by the environment). If single modality, this can be a 1D ``np.ndarray``\n        (one-hot vector representation) or an ``int`` (observation index)\n        If multi-modality, this can be ``np.ndarray`` of dtype object whose entries are 1D one-hot vectors,\n        or a tuple (of ``int``)\n    num_obs: ``list`` of ``int``\n        List of dimensionalities of each observation modality\n    num_states: ``list`` of ``int``\n        List of dimensionalities of each hidden state factor\n    mb_dict: ``Dict``\n        Dictionary with two keys (``A_factor_list`` and ``A_modality_list``), that stores the factor indices that influence each modality (``A_factor_list``)\n        and the modality indices influenced by each factor (``A_modality_list``).\n    prior: 1D ``numpy.ndarray`` or ``numpy.ndarray`` of dtype object, default None\n        Prior beliefs about hidden states, to be integrated with the marginal likelihood to obtain\n        a posterior distribution. If not provided, prior is set to be equal to a flat categorical distribution (at the level of\n        the individual inference functions).\n    **kwargs: keyword arguments \n        List of keyword/parameter arguments corresponding to parameter values for the fixed-point iteration\n        algorithm ``algos.fpi.run_vanilla_fpi.py``\n\n    Returns\n    ----------\n    qs: 1D ``numpy.ndarray`` or ``numpy.ndarray`` of dtype object\n        Marginal posterior beliefs over hidden states at current timepoint\n    \"\"\"\n    \n    num_modalities = len(num_obs)\n    \n    obs = utils.process_observation(obs, num_modalities, num_obs)\n\n    if prior is not None:\n        prior = utils.to_obj_array(prior)\n\n    return run_vanilla_fpi_factorized(A, obs, num_obs, num_states, mb_dict, prior, **kwargs)\n"
  },
  {
    "path": "pymdp/legacy/learning.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n# pylint: disable=no-member\n\nimport numpy as np\nfrom pymdp.legacy import utils, maths\nimport copy\n\ndef update_obs_likelihood_dirichlet(pA, A, obs, qs, lr=1.0, modalities=\"all\"):\n    \"\"\" \n    Update Dirichlet parameters of the observation likelihood distribution.\n\n    Parameters\n    -----------\n    pA: ``numpy.ndarray`` of dtype object\n        Prior Dirichlet parameters over observation model (same shape as ``A``)\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``numpy.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    obs: 1D ``numpy.ndarray``, ``numpy.ndarray`` of dtype object, ``int`` or ``tuple``\n        The observation (generated by the environment). If single modality, this can be a 1D ``numpy.ndarray``\n        (one-hot vector representation) or an ``int`` (observation index)\n        If multi-modality, this can be ``numpy.ndarray`` of dtype object whose entries are 1D one-hot vectors,\n        or a ``tuple`` (of ``int``)\n    qs: 1D ``numpy.ndarray`` or ``numpy.ndarray`` of dtype object, default None\n        Marginal posterior beliefs over hidden states at current timepoint.\n    lr: float, default 1.0\n        Learning rate, scale of the Dirichlet pseudo-count update.\n    modalities: ``list``, default \"all\"\n        Indices (ranging from 0 to ``n_modalities - 1``) of the observation modalities to include \n        in learning. Defaults to \"all\", meaning that modality-specific sub-arrays of ``pA``\n        are all updated using the corresponding observations.\n    \n    Returns\n    -----------\n    qA: ``numpy.ndarray`` of dtype object\n        Posterior Dirichlet parameters over observation model (same shape as ``A``), after having updated it with observations.\n    \"\"\"\n\n\n    num_modalities = len(pA)\n    num_observations = [pA[modality].shape[0] for modality in range(num_modalities)]\n\n    obs_processed = utils.process_observation(obs, num_modalities, num_observations)\n    obs = utils.to_obj_array(obs_processed)\n\n    if modalities == \"all\":\n        modalities = list(range(num_modalities))\n\n    qA = copy.deepcopy(pA)\n        \n    for modality in modalities:\n        dfda = maths.spm_cross(obs[modality], qs)\n        dfda = dfda * (A[modality] > 0).astype(\"float\")\n        qA[modality] = qA[modality] + (lr * dfda)\n\n    return qA\n\ndef update_obs_likelihood_dirichlet_factorized(pA, A, obs, qs, A_factor_list, lr=1.0, modalities=\"all\"):\n    \"\"\" \n    Update Dirichlet parameters of the observation likelihood distribution, in a case where the observation model is reduced (factorized) and only represents\n    the conditional dependencies between the observation modalities and particular hidden state factors (whose indices are specified in each modality-specific entry of ``A_factor_list``)\n\n    Parameters\n    -----------\n    pA: ``numpy.ndarray`` of dtype object\n        Prior Dirichlet parameters over observation model (same shape as ``A``)\n    A: ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``numpy.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    obs: 1D ``numpy.ndarray``, ``numpy.ndarray`` of dtype object, ``int`` or ``tuple``\n        The observation (generated by the environment). If single modality, this can be a 1D ``numpy.ndarray``\n        (one-hot vector representation) or an ``int`` (observation index)\n        If multi-modality, this can be ``numpy.ndarray`` of dtype object whose entries are 1D one-hot vectors,\n        or a ``tuple`` (of ``int``)\n    qs: 1D ``numpy.ndarray`` or ``numpy.ndarray`` of dtype object, default None\n        Marginal posterior beliefs over hidden states at current timepoint.\n    A_factor_list: ``list`` of ``list`` of ``int``\n        List of lists, where each list with index `m` contains the indices of the hidden states that observation modality `m` depends on.\n    lr: float, default 1.0\n        Learning rate, scale of the Dirichlet pseudo-count update.\n    modalities: ``list``, default \"all\"\n        Indices (ranging from 0 to ``n_modalities - 1``) of the observation modalities to include \n        in learning. Defaults to \"all\", meaning that modality-specific sub-arrays of ``pA``\n        are all updated using the corresponding observations.\n    \n    Returns\n    -----------\n    qA: ``numpy.ndarray`` of dtype object\n        Posterior Dirichlet parameters over observation model (same shape as ``A``), after having updated it with observations.\n    \"\"\"\n\n    num_modalities = len(pA)\n    num_observations = [pA[modality].shape[0] for modality in range(num_modalities)]\n\n    obs_processed = utils.process_observation(obs, num_modalities, num_observations)\n    obs = utils.to_obj_array(obs_processed)\n\n    if modalities == \"all\":\n        modalities = list(range(num_modalities))\n\n    qA = copy.deepcopy(pA)\n        \n    for modality in modalities:\n        dfda = maths.spm_cross(obs[modality], qs[A_factor_list[modality]])\n        dfda = dfda * (A[modality] > 0).astype(\"float\")\n        qA[modality] = qA[modality] + (lr * dfda)\n\n    return qA\n\ndef update_state_likelihood_dirichlet(\n    pB, B, actions, qs, qs_prev, lr=1.0, factors=\"all\"\n):\n    \"\"\"\n    Update Dirichlet parameters of the transition distribution. \n\n    Parameters\n    -----------\n    pB: ``numpy.ndarray`` of dtype object\n        Prior Dirichlet parameters over transition model (same shape as ``B``)\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    actions: 1D ``numpy.ndarray``\n        A vector with length equal to the number of control factors, where each element contains the index of the action (for that control factor) performed at \n        a given timestep.\n    qs: 1D ``numpy.ndarray`` or ``numpy.ndarray`` of dtype object\n        Marginal posterior beliefs over hidden states at current timepoint.\n    qs_prev: 1D ``numpy.ndarray`` or ``numpy.ndarray`` of dtype object\n        Marginal posterior beliefs over hidden states at previous timepoint.\n    lr: float, default ``1.0``\n        Learning rate, scale of the Dirichlet pseudo-count update.\n    factors: ``list``, default \"all\"\n        Indices (ranging from 0 to ``n_factors - 1``) of the hidden state factors to include \n        in learning. Defaults to \"all\", meaning that factor-specific sub-arrays of ``pB``\n        are all updated using the corresponding hidden state distributions and actions.\n\n    Returns\n    -----------\n    qB: ``numpy.ndarray`` of dtype object\n        Posterior Dirichlet parameters over transition model (same shape as ``B``), after having updated it with state beliefs and actions.\n    \"\"\"\n\n    num_factors = len(pB)\n\n    qB = copy.deepcopy(pB)\n   \n    if factors == \"all\":\n        factors = list(range(num_factors))\n\n    for factor in factors:\n        dfdb = maths.spm_cross(qs[factor], qs_prev[factor])\n        dfdb *= (B[factor][:, :, int(actions[factor])] > 0).astype(\"float\")\n        qB[factor][:,:,int(actions[factor])] += (lr*dfdb)\n\n    return qB\n\ndef update_state_likelihood_dirichlet_interactions(\n    pB, B, actions, qs, qs_prev, B_factor_list, lr=1.0, factors=\"all\"\n):\n    \"\"\"\n    Update Dirichlet parameters of the transition distribution, in the case when 'interacting' hidden state factors are present, i.e.\n    the dynamics of a given hidden state factor `f` are no longer independent of the dynamics of other hidden state factors.\n\n    Parameters\n    -----------\n    pB: ``numpy.ndarray`` of dtype object\n        Prior Dirichlet parameters over transition model (same shape as ``B``)\n    B: ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at ``t`` to hidden states at ``t+1``, given some control state ``u``.\n        Each element ``B[f]`` of this object array stores a 3-D tensor for hidden state factor ``f``, whose entries ``B[f][s, v, u]`` store the probability\n        of hidden state level ``s`` at the current time, given hidden state level ``v`` and action ``u`` at the previous time.\n    actions: 1D ``numpy.ndarray``\n        A vector with length equal to the number of control factors, where each element contains the index of the action (for that control factor) performed at \n        a given timestep.\n    qs: 1D ``numpy.ndarray`` or ``numpy.ndarray`` of dtype object\n        Marginal posterior beliefs over hidden states at current timepoint.\n    qs_prev: 1D ``numpy.ndarray`` or ``numpy.ndarray`` of dtype object\n        Marginal posterior beliefs over hidden states at previous timepoint.\n    B_factor_list: ``list`` of ``list`` of ``int``\n        A list of lists, where each element ``B_factor_list[f]`` is a list of indices of hidden state factors that that are needed to predict the dynamics of hidden state factor ``f``.\n    lr: float, default ``1.0``\n        Learning rate, scale of the Dirichlet pseudo-count update.\n    factors: ``list``, default \"all\"\n        Indices (ranging from 0 to ``n_factors - 1``) of the hidden state factors to include \n        in learning. Defaults to \"all\", meaning that factor-specific sub-arrays of ``pB``\n        are all updated using the corresponding hidden state distributions and actions.\n\n    Returns\n    -----------\n    qB: ``numpy.ndarray`` of dtype object\n        Posterior Dirichlet parameters over transition model (same shape as ``B``), after having updated it with state beliefs and actions.\n    \"\"\"\n\n    num_factors = len(pB)\n\n    qB = copy.deepcopy(pB)\n   \n    if factors == \"all\":\n        factors = list(range(num_factors))\n\n    for factor in factors:\n        dfdb = maths.spm_cross(qs[factor], qs_prev[B_factor_list[factor]])\n        dfdb *= (B[factor][...,int(actions[factor])] > 0).astype(\"float\")\n        qB[factor][...,int(actions[factor])] += (lr*dfdb)\n\n    return qB\n\ndef update_state_prior_dirichlet(\n    pD, qs, lr=1.0, factors=\"all\"\n):\n    \"\"\"\n    Update Dirichlet parameters of the initial hidden state distribution \n    (prior beliefs about hidden states at the beginning of the inference window).\n\n    Parameters\n    -----------\n    pD: ``numpy.ndarray`` of dtype object\n        Prior Dirichlet parameters over initial hidden state prior (same shape as ``qs``)\n    qs: 1D ``numpy.ndarray`` or ``numpy.ndarray`` of dtype object\n        Marginal posterior beliefs over hidden states at current timepoint\n    lr: float, default ``1.0``\n        Learning rate, scale of the Dirichlet pseudo-count update.\n    factors: ``list``, default \"all\"\n        Indices (ranging from 0 to ``n_factors - 1``) of the hidden state factors to include \n        in learning. Defaults to \"all\", meaning that factor-specific sub-vectors of ``pD``\n        are all updated using the corresponding hidden state distributions.\n    \n    Returns\n    -----------\n    qD: ``numpy.ndarray`` of dtype object\n        Posterior Dirichlet parameters over initial hidden state prior (same shape as ``qs``), after having updated it with state beliefs.\n    \"\"\"\n\n    num_factors = len(pD)\n\n    qD = copy.deepcopy(pD)\n   \n    if factors == \"all\":\n        factors = list(range(num_factors))\n\n    for factor in factors:\n        idx = pD[factor] > 0 # only update those state level indices that have some prior probability\n        qD[factor][idx] += (lr * qs[factor][idx])\n       \n    return qD\n\ndef _prune_prior(prior, levels_to_remove, dirichlet = False):\n    \"\"\"\n    Function for pruning a prior Categorical distribution (e.g. C, D)\n\n    Parameters\n    -----------\n    prior: 1D ``numpy.ndarray`` or ``numpy.ndarray`` of dtype object\n        The vector(s) containing the priors over hidden states of a generative model, e.g. the prior over hidden states (``D`` vector). \n    levels_to_remove: ``list`` of ``int``, ``list`` of ``list``\n        A ``list`` of the levels (indices of the support) to remove. If the prior in question has multiple hidden state factors / multiple observation modalities, \n        then this will be a ``list`` of ``list``, where each sub-list within ``levels_to_remove`` will contain the levels to prune for a particular hidden state factor or modality \n    dirichlet: ``Bool``, default ``False``\n        A Boolean flag indicating whether the input vector(s) is/are a Dirichlet distribution, and therefore should not be normalized at the end. \n        @TODO: Instead, the dirichlet parameters from the pruned levels should somehow be re-distributed among the remaining levels\n\n    Returns\n    -----------\n    reduced_prior: 1D ``numpy.ndarray`` or ``numpy.ndarray`` of dtype object\n        The prior vector(s), after pruning, that lacks the hidden state or modality levels indexed by ``levels_to_remove``\n    \"\"\"\n\n    if utils.is_obj_array(prior): # in case of multiple hidden state factors\n\n        assert all(isinstance(levels, list) for levels in levels_to_remove)\n\n        num_factors = len(prior)\n\n        reduced_prior = utils.obj_array(num_factors)\n\n        factors_to_remove = []\n        for f, s_i in enumerate(prior): # loop over factors (or modalities)\n            \n            ns = len(s_i)\n            levels_to_keep = list(set(range(ns)) - set(levels_to_remove[f]))\n            if len(levels_to_keep) == 0:\n                print(f'Warning... removing ALL levels of factor {f} - i.e. the whole hidden state factor is being removed\\n')\n                factors_to_remove.append(f)\n            else:\n                if not dirichlet:\n                    reduced_prior[f] = utils.norm_dist(s_i[levels_to_keep])\n                else:\n                    raise(NotImplementedError(\"Need to figure out how to re-distribute concentration parameters from pruned levels, across remaining levels\"))\n\n\n        if len(factors_to_remove) > 0:\n            factors_to_keep = list(set(range(num_factors)) - set(factors_to_remove))\n            reduced_prior = reduced_prior[factors_to_keep]\n\n    else: # in case of one hidden state factor\n        assert all(isinstance(level_i, int) for level_i in levels_to_remove)\n\n        ns = len(prior)\n        levels_to_keep = list(set(range(ns)) - set(levels_to_remove))\n\n        if not dirichlet:\n            reduced_prior = utils.norm_dist(prior[levels_to_keep])\n        else:\n            raise(NotImplementedError(\"Need to figure out how to re-distribute concentration parameters from pruned levels, across remaining levels\"))\n\n    return reduced_prior\n\ndef _prune_A(A, obs_levels_to_prune, state_levels_to_prune, dirichlet = False):\n    \"\"\"\n    Function for pruning a observation likelihood model (with potentially multiple hidden state factors)\n    :meta private:\n    Parameters\n    -----------\n    A: ``numpy.ndarray`` with ``ndim >= 2``, or ``numpy.ndarray`` of dtype object\n        Sensory likelihood mapping or 'observation model', mapping from hidden states to observations. Each element ``A[m]`` of\n        stores an ``numpy.ndarray`` multidimensional array for observation modality ``m``, whose entries ``A[m][i, j, k, ...]`` store \n        the probability of observation level ``i`` given hidden state levels ``j, k, ...``\n    obs_levels_to_prune: ``list`` of int or ``list`` of ``list``: \n        A ``list`` of the observation levels to remove. If the likelihood in question has multiple observation modalities, \n        then this will be a ``list`` of ``list``, where each sub-list within ``obs_levels_to_prune`` will contain the observation levels \n        to remove for a particular observation modality \n    state_levels_to_prune: ``list`` of ``int``\n        A ``list`` of the hidden state levels to remove (this will be the same across modalities)\n    dirichlet: ``Bool``, default ``False``\n        A Boolean flag indicating whether the input array(s) is/are a Dirichlet distribution, and therefore should not be normalized at the end. \n        @TODO: Instead, the dirichlet parameters from the pruned columns should somehow be re-distributed among the remaining columns\n\n    Returns\n    -----------\n    reduced_A: ``numpy.ndarray`` with ndim >= 2, or ``numpy.ndarray ``of dtype object\n        The observation model, after pruning, which lacks the observation or hidden state levels given by the arguments ``obs_levels_to_prune`` and ``state_levels_to_prune``\n    \"\"\"\n\n    columns_to_keep_list = []\n    if utils.is_obj_array(A):\n        num_states = A[0].shape[1:]\n        for f, ns in enumerate(num_states):\n            indices_f = np.array( list(set(range(ns)) - set(state_levels_to_prune[f])), dtype = np.intp)\n            columns_to_keep_list.append(indices_f)\n    else:\n        num_states = A.shape[1]\n        indices = np.array( list(set(range(num_states)) - set(state_levels_to_prune)), dtype = np.intp )\n        columns_to_keep_list.append(indices)\n\n    if utils.is_obj_array(A): # in case of multiple observation modality\n\n        assert all(isinstance(o_m_levels, list) for o_m_levels in obs_levels_to_prune)\n\n        num_modalities = len(A)\n\n        reduced_A = utils.obj_array(num_modalities)\n        \n        for m, A_i in enumerate(A): # loop over modalities\n            \n            no = A_i.shape[0]\n            rows_to_keep = np.array(list(set(range(no)) - set(obs_levels_to_prune[m])), dtype = np.intp)\n            \n            reduced_A[m] = A_i[np.ix_(rows_to_keep, *columns_to_keep_list)]\n        if not dirichlet:    \n            reduced_A = utils.norm_dist_obj_arr(reduced_A)\n        else:\n            raise(NotImplementedError(\"Need to figure out how to re-distribute concentration parameters from pruned rows/columns, across remaining rows/columns\"))\n    else: # in case of one observation modality\n\n        assert all(isinstance(o_levels_i, int) for o_levels_i in obs_levels_to_prune)\n\n        no = A.shape[0]\n        rows_to_keep = np.array(list(set(range(no)) - set(obs_levels_to_prune)), dtype = np.intp)\n            \n        reduced_A = A[np.ix_(rows_to_keep, *columns_to_keep_list)]\n\n        if not dirichlet:\n            reduced_A = utils.norm_dist(reduced_A)\n        else:\n            raise(NotImplementedError(\"Need to figure out how to re-distribute concentration parameters from pruned rows/columns, across remaining rows/columns\"))\n\n    return reduced_A\n\ndef _prune_B(B, state_levels_to_prune, action_levels_to_prune, dirichlet = False):\n    \"\"\"\n    Function for pruning a transition likelihood model (with potentially multiple hidden state factors)\n\n    Parameters\n    -----------\n    B: ``numpy.ndarray`` of ``ndim == 3`` or ``numpy.ndarray`` of dtype object\n        Dynamics likelihood mapping or 'transition model', mapping from hidden states at `t` to hidden states at `t+1`, given some control state `u`.\n        Each element B[f] of this object array stores a 3-D tensor for hidden state factor `f`, whose entries `B[f][s, v, u] store the probability\n        of hidden state level `s` at the current time, given hidden state level `v` and action `u` at the previous time.\n    state_levels_to_prune: ``list`` of ``int`` or ``list`` of ``list`` \n        A ``list`` of the state levels to remove. If the likelihood in question has multiple hidden state factors, \n        then this will be a ``list`` of ``list``, where each sub-list within ``state_levels_to_prune`` will contain the state levels \n        to remove for a particular hidden state factor \n    action_levels_to_prune: ``list`` of ``int`` or ``list`` of ``list`` \n        A ``list`` of the control state or action levels to remove. If the likelihood in question has multiple control state factors, \n        then this will be a ``list`` of ``list``, where each sub-list within ``action_levels_to_prune`` will contain the control state levels \n        to remove for a particular control state factor \n    dirichlet: ``Bool``, default ``False``\n        A Boolean flag indicating whether the input array(s) is/are a Dirichlet distribution, and therefore should not be normalized at the end. \n        @TODO: Instead, the dirichlet parameters from the pruned rows/columns should somehow be re-distributed among the remaining rows/columns\n\n    Returns\n    -----------\n    reduced_B: ``numpy.ndarray`` of `ndim == 3` or ``numpy.ndarray`` of dtype object\n        The transition model, after pruning, which lacks the hidden state levels/action levels given by the arguments ``state_levels_to_prune`` and ``action_levels_to_prune``\n    \"\"\"\n\n    slices_to_keep_list = []\n\n    if utils.is_obj_array(B):\n\n        num_controls = [B_arr.shape[2] for _, B_arr in enumerate(B)]\n\n        for c, nc in enumerate(num_controls):\n            indices_c = np.array( list(set(range(nc)) - set(action_levels_to_prune[c])), dtype = np.intp)\n            slices_to_keep_list.append(indices_c)\n    else:\n        num_controls = B.shape[2]\n        slices_to_keep = np.array( list(set(range(num_controls)) - set(action_levels_to_prune)), dtype = np.intp )\n\n    if utils.is_obj_array(B): # in case of multiple hidden state factors\n\n        assert all(isinstance(ns_f_levels, list) for ns_f_levels in state_levels_to_prune)\n\n        num_factors = len(B)\n\n        reduced_B = utils.obj_array(num_factors)\n        \n        for f, B_f in enumerate(B): # loop over modalities\n            \n            ns = B_f.shape[0]\n            states_to_keep = np.array(list(set(range(ns)) - set(state_levels_to_prune[f])), dtype = np.intp)\n            \n            reduced_B[f] = B_f[np.ix_(states_to_keep, states_to_keep, slices_to_keep_list[f])]\n\n        if not dirichlet:    \n            reduced_B = utils.norm_dist_obj_arr(reduced_B)\n        else:\n            raise(NotImplementedError(\"Need to figure out how to re-distribute concentration parameters from pruned rows/columns, across remaining rows/columns\"))\n\n    else: # in case of one hidden state factor\n\n        assert all(isinstance(state_level_i, int) for state_level_i in state_levels_to_prune)\n        ns = B.shape[0]\n        states_to_keep = np.array(list(set(range(ns)) - set(state_levels_to_prune)), dtype = np.intp)\n            \n        reduced_B = B[np.ix_(states_to_keep, states_to_keep, slices_to_keep)]\n\n        if not dirichlet:\n            reduced_B = utils.norm_dist(reduced_B)\n        else:\n            raise(NotImplementedError(\"Need to figure out how to re-distribute concentration parameters from pruned rows/columns, across remaining rows/columns\"))\n\n    return reduced_B\n"
  },
  {
    "path": "pymdp/legacy/maths.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n# pylint: disable=no-member\n# pylint: disable=not-an-iterable\n\n\"\"\" Functions\n\n__author__: Conor Heins, Alexander Tschantz, Brennan Klein\n\"\"\"\n\nimport numpy as np\nfrom scipy import special\nfrom pymdp.legacy import utils\nfrom itertools import chain\nfrom opt_einsum import contract\n\nEPS_VAL = 1e-16 # global constant for use in spm_log() function\n\ndef spm_dot(X, x, dims_to_omit=None):\n    \"\"\" Dot product of a multidimensional array with `x`. The dimensions in `dims_to_omit` \n    will not be summed across during the dot product\n    \n    Parameters\n    ----------\n    - `x` [1D numpy.ndarray] - either vector or array of arrays\n        The alternative array to perform the dot product with\n    - `dims_to_omit` [list :: int] (optional)\n        Which dimensions to omit\n    \n    Returns \n    -------\n    - `Y` [1D numpy.ndarray] - the result of the dot product\n    \"\"\"\n\n    # Construct dims to perform dot product on\n    if utils.is_obj_array(x):\n        # dims = list((np.arange(0, len(x)) + X.ndim - len(x)).astype(int))\n        dims = list(range(X.ndim - len(x),len(x)+X.ndim - len(x)))\n        # dims = list(range(X.ndim))\n    else:\n        dims = [1]\n        x = utils.to_obj_array(x)\n\n    if dims_to_omit is not None:\n        arg_list = [X, list(range(X.ndim))] + list(chain(*([x[xdim_i],[dims[xdim_i]]] for xdim_i in range(len(x)) if xdim_i not in dims_to_omit))) + [dims_to_omit]\n    else:\n        arg_list = [X, list(range(X.ndim))] + list(chain(*([x[xdim_i],[dims[xdim_i]]] for xdim_i in range(len(x))))) + [[0]]\n\n    Y = np.einsum(*arg_list)\n\n    # check to see if `Y` is a scalar\n    if np.prod(Y.shape) <= 1.0:\n        Y = Y.item()\n        Y = np.array([Y]).astype(\"float64\")\n\n    return Y\n\n\ndef spm_dot_classic(X, x, dims_to_omit=None):\n    \"\"\" Dot product of a multidimensional array with `x`. The dimensions in `dims_to_omit` \n    will not be summed across during the dot product\n    \n    Parameters\n    ----------\n    - `x` [1D numpy.ndarray] - either vector or array of arrays\n        The alternative array to perform the dot product with\n    - `dims_to_omit` [list :: int] (optional)\n        Which dimensions to omit\n    \n    Returns \n    -------\n    - `Y` [1D numpy.ndarray] - the result of the dot product\n    \"\"\"\n\n    # Construct dims to perform dot product on\n    if utils.is_obj_array(x):\n        dims = (np.arange(0, len(x)) + X.ndim - len(x)).astype(int)\n    else:\n        dims = np.array([1], dtype=int)\n        x = utils.to_obj_array(x)\n\n    # delete ignored dims\n    if dims_to_omit is not None:\n        if not isinstance(dims_to_omit, list):\n            raise ValueError(\"`dims_to_omit` must be a `list` of `int`\")\n        dims = np.delete(dims, dims_to_omit)\n        if len(x) == 1:\n            x = np.empty([0], dtype=object)\n        else:\n            x = np.delete(x, dims_to_omit)\n\n    # compute dot product\n    for d in range(len(x)):\n        s = np.ones(np.ndim(X), dtype=int)\n        s[dims[d]] = np.shape(x[d])[0]\n        X = X * x[d].reshape(tuple(s))\n        # X = np.sum(X, axis=dims[d], keepdims=True)\n\n    Y = np.sum(X, axis=tuple(dims.astype(int))).squeeze()\n    # Y = np.squeeze(X)\n\n    # check to see if `Y` is a scalar\n    if np.prod(Y.shape) <= 1.0:\n        Y = Y.item()\n        Y = np.array([Y]).astype(\"float64\")\n\n    return Y\n\ndef factor_dot_flex(M, xs, dims, keep_dims=None):\n    \"\"\" Dot product of a multidimensional array with `x`.\n    \n    Parameters\n    ----------\n    - `M` [numpy.ndarray] - tensor\n    - 'xs' [list of numpyr.ndarray] - list of tensors\n    - 'dims' [list of tuples] - list of dimensions of xs tensors in tensor M\n    - 'keep_dims' [tuple] - tuple of integers denoting dimesions to keep\n    Returns \n    -------\n    - `Y` [1D numpy.ndarray] - the result of the dot product\n    \"\"\"\n    all_dims = tuple(range(M.ndim))\n    matrix = [[xs[f], dims[f]] for f in range(len(xs))]\n    args = [M, all_dims]\n    for row in matrix:\n        args.extend(row)\n\n    args += [keep_dims]\n    return contract(*args, backend='numpy')\n\ndef spm_dot_old(X, x, dims_to_omit=None, obs_mode=False):\n    \"\"\" Dot product of a multidimensional array with `x`. The dimensions in `dims_to_omit` \n    will not be summed across during the dot product\n\n    #TODO: we should look for an alternative to obs_mode\n    \n    Parameters\n    ----------\n    - `x` [1D numpy.ndarray] - either vector or array of arrays\n        The alternative array to perform the dot product with\n    - `dims_to_omit` [list :: int] (optional)\n        Which dimensions to omit\n    \n    Returns \n    -------\n    - `Y` [1D numpy.ndarray] - the result of the dot product\n    \"\"\"\n\n    # Construct dims to perform dot product on\n    if utils.is_obj_array(x):\n        dims = (np.arange(0, len(x)) + X.ndim - len(x)).astype(int)\n    else:\n        if obs_mode is True:\n            \"\"\"\n            @NOTE Case when you're getting the likelihood of an observation under \n                  the generative model. Equivalent to something like self.values[np.where(x),:]\n                  when `x` is a discrete 'one-hot' observation vector\n            \"\"\"\n            dims = np.array([0], dtype=int)\n        else:\n            \"\"\"\n            @NOTE Case when `x` leading dimension matches the lagging dimension of `values`\n                  E.g. a more 'classical' dot product of a likelihood with hidden states\n            \"\"\"\n            dims = np.array([1], dtype=int)\n\n        x = utils.to_obj_array(x)\n\n    # delete ignored dims\n    if dims_to_omit is not None:\n        if not isinstance(dims_to_omit, list):\n            raise ValueError(\"`dims_to_omit` must be a `list` of `int`\")\n        dims = np.delete(dims, dims_to_omit)\n        if len(x) == 1:\n            x = np.empty([0], dtype=object)\n        else:\n            x = np.delete(x, dims_to_omit)\n\n    # compute dot product\n    for d in range(len(x)):\n        s = np.ones(np.ndim(X), dtype=int)\n        s[dims[d]] = np.shape(x[d])[0]\n        X = X * x[d].reshape(tuple(s))\n        # X = np.sum(X, axis=dims[d], keepdims=True)\n\n    Y = np.sum(X, axis=tuple(dims.astype(int))).squeeze()\n    # Y = np.squeeze(X)\n\n    # check to see if `Y` is a scalar\n    if np.prod(Y.shape) <= 1.0:\n        Y = Y.item()\n        Y = np.array([Y]).astype(\"float64\")\n\n    return Y\n\n\ndef spm_cross(x, y=None, *args):\n    \"\"\" Multi-dimensional outer product\n    \n    Parameters\n    ----------\n    - `x` [np.ndarray] || [Categorical] (optional)\n        The values to perfrom the outer-product with. If empty, then the outer-product \n        is taken between x and itself. If y is not empty, then outer product is taken \n        between x and the various dimensions of y.\n    - `args` [np.ndarray] || [Categorical] (optional)\n        Remaining arrays to perform outer-product with. These extra arrays are recursively \n        multiplied with the 'initial' outer product (that between X and x).\n    \n    Returns\n    -------\n    - `z` [np.ndarray] || [Categorical]\n          The result of the outer-product\n    \"\"\"\n\n    if len(args) == 0 and y is None:\n        if utils.is_obj_array(x):\n            z = spm_cross(*list(x))\n        elif np.issubdtype(x.dtype, np.number):\n            z = x\n        else:\n            raise ValueError(f\"Invalid input to spm_cross ({x})\")\n        return z\n\n    if utils.is_obj_array(x):\n        x = spm_cross(*list(x))\n\n    if y is not None and utils.is_obj_array(y):\n        y = spm_cross(*list(y))\n\n    A = np.expand_dims(x, tuple(range(-y.ndim, 0)))\n    B = np.expand_dims(y, tuple(range(x.ndim)))\n    z = A * B\n\n    for x in args:\n        z = spm_cross(z, x)\n    return z\n\ndef dot_likelihood(A,obs):\n\n    s = np.ones(np.ndim(A), dtype = int)\n    s[0] = obs.shape[0]\n    X = A * obs.reshape(tuple(s))\n    X = np.sum(X, axis=0, keepdims=True)\n    LL = np.squeeze(X)\n\n    # check to see if `LL` is a scalar\n    if np.prod(LL.shape) <= 1.0:\n        LL = LL.item()\n        LL = np.array([LL]).astype(\"float64\")\n\n    return LL\n\n\ndef get_joint_likelihood(A, obs, num_states):\n    # deal with single modality case\n    if type(num_states) is int:\n        num_states = [num_states]\n    A = utils.to_obj_array(A)\n    obs = utils.to_obj_array(obs)\n    ll = np.ones(tuple(num_states))\n    for modality in range(len(A)):\n        ll = ll * dot_likelihood(A[modality], obs[modality])\n    return ll\n\n\ndef get_joint_likelihood_seq(A, obs, num_states):\n    ll_seq = utils.obj_array(len(obs))\n    for t, obs_t in enumerate(obs):\n        ll_seq[t] = get_joint_likelihood(A, obs_t, num_states)\n    return ll_seq\n\ndef get_joint_likelihood_seq_by_modality(A, obs, num_states):\n    \"\"\"\n    Returns joint likelihoods for each modality separately\n    \"\"\"\n\n    ll_seq = utils.obj_array(len(obs))\n    n_modalities = len(A)\n\n    for t, obs_t in enumerate(obs):\n        likelihood = utils.obj_array(n_modalities)\n        obs_t_obj = utils.to_obj_array(obs_t)\n        for (m, A_m) in enumerate(A):\n            likelihood[m] = dot_likelihood(A_m, obs_t_obj[m])\n        ll_seq[t] = likelihood\n    \n    return ll_seq\n\n\ndef spm_norm(A):\n    \"\"\" \n    Returns normalization of Categorical distribution, \n    stored in the columns of A.\n    \"\"\"\n    A = A + EPS_VAL\n    normed_A = np.divide(A, A.sum(axis=0))\n    return normed_A\n\ndef spm_log_single(arr):\n    \"\"\"\n    Adds small epsilon value to an array before natural logging it\n    \"\"\"\n    return np.log(arr + EPS_VAL)\n\ndef spm_log_obj_array(obj_arr):\n    \"\"\"\n    Applies `spm_log_single` to multiple elements of a numpy object array\n    \"\"\"\n\n    obj_arr_logged = utils.obj_array(len(obj_arr))\n    for idx, arr in enumerate(obj_arr):\n        obj_arr_logged[idx] = spm_log_single(arr)\n\n    return obj_arr_logged\n\ndef spm_wnorm(A):\n    \"\"\" \n    Returns Expectation of logarithm of Dirichlet parameters over a set of \n    Categorical distributions, stored in the columns of A.\n    \"\"\"\n    A = A + EPS_VAL\n    norm = np.divide(1.0, np.sum(A, axis=0))\n    avg = np.divide(1.0, A)\n    wA = norm - avg\n    return wA\n\n\ndef spm_betaln(z):\n    \"\"\" Log of the multivariate beta function of a vector.\n     @NOTE this function computes across columns if `z` is a matrix\n    \"\"\"\n    return special.gammaln(z).sum(axis=0) - special.gammaln(z.sum(axis=0))\n\ndef dirichlet_log_evidence(q_dir, p_dir, r_dir):\n    \"\"\"\n    Bayesian model reduction and log evidence calculations for Dirichlet hyperparameters\n    This is a NumPY translation of the MATLAB function `spm_MDP_log_evidence.m` from the\n    DEM package of spm. \n\n    Description (adapted from MATLAB docstring)\n    This function computes the negative log evidence of a reduced model of a\n    Categorical distribution parameterised in terms of Dirichlet hyperparameters \n    (i.e., concentration parameters encoding probabilities). It uses Bayesian model reduction \n    to evaluate the evidence for models with and without a particular parameter.\n    Arguments:\n    ===========\n    `q_dir` [1D np.ndarray]: sufficient statistics of posterior of full model\n    `p_dir` [1D np.ndarray]: sufficient statistics of prior of full model\n    `r_dir` [1D np.ndarray]: sufficient statistics of prior of reduced model\n    Returns:\n    ==========\n    `F` [float]: free energy or (negative) log evidence of reduced model\n    `s_dir` [1D np.ndarray]: sufficient statistics of reduced posterior\n    \"\"\"\n\n    # change in free energy or log model evidence\n    s_dir = q_dir + r_dir - p_dir\n    F  = spm_betaln(q_dir) + spm_betaln(r_dir) - spm_betaln(p_dir) - spm_betaln(s_dir)\n\n    return F, s_dir\n\ndef softmax(dist):\n    \"\"\" \n    Computes the softmax function on a set of values\n    \"\"\"\n\n    output = dist - dist.max(axis=0)\n    output = np.exp(output)\n    output = output / np.sum(output, axis=0)\n    return output\n\ndef softmax_obj_arr(arr):\n\n    output = utils.obj_array(len(arr))\n\n    for i, arr_i in enumerate(arr):\n        output[i] = softmax(arr_i)\n    \n    return output\n\ndef compute_accuracy(log_likelihood, qs):\n    \"\"\"\n    Function that computes the accuracy term of the variational free energy. This is essentially a stripped down version of `spm_dot` above,\n    with fewer conditions / dimension handling in the beginning.\n    \"\"\" \n\n    ndims_ll, n_factors = log_likelihood.ndim, len(qs)\n\n    dims = list(range(ndims_ll - n_factors,n_factors+ndims_ll - n_factors))\n    arg_list = [log_likelihood, list(range(ndims_ll))] + list(chain(*([qs[xdim_i],[dims[xdim_i]]] for xdim_i in range(n_factors))))\n\n    return np.einsum(*arg_list)\n\n\ndef calc_free_energy(qs, prior, n_factors, likelihood=None):\n    \"\"\" Calculate variational free energy\n    @TODO Primarily used in FPI algorithm, needs to be made general\n    \"\"\"\n    free_energy = 0\n    for factor in range(n_factors):\n        # Neg-entropy of posterior marginal H(q[f])\n        negH_qs = qs[factor].dot(np.log(qs[factor][:, np.newaxis] + 1e-16))\n        # Cross entropy of posterior marginal with prior marginal H(q[f],p[f])\n        xH_qp = -qs[factor].dot(prior[factor][:, np.newaxis])\n        free_energy += negH_qs + xH_qp\n\n    if likelihood is not None:\n        free_energy -= compute_accuracy(likelihood, qs)\n    return free_energy\n\ndef spm_calc_qo_entropy(A, x):\n    \"\"\" \n    Function that just calculates the entropy part of the state information gain, using the same method used in \n    spm_MDP_G.m in the original matlab code.\n\n    Parameters\n    ----------\n    A (numpy ndarray or array-object):\n        array assigning likelihoods of observations/outcomes under the various \n        hidden state configurations\n    \n    x (numpy ndarray or array-object):\n        Categorical distribution presenting probabilities of hidden states \n        (this can also be interpreted as the predictive density over hidden \n        states/causes if you're calculating the expected Bayesian surprise)\n        \n    Returns\n    -------\n    H (float):\n        the entropy of the marginal distribution over observations/outcomes\n    \"\"\"\n\n    len(A)\n\n    # Probability distribution over the hidden causes: i.e., Q(x)\n    qx = spm_cross(x)\n    qo = 0\n    idx = np.array(np.where(qx > np.exp(-16))).T\n\n    if utils.is_obj_array(A):\n        # Accumulate expectation of entropy: i.e., E_{Q(o, x)}[lnP(o|x)] = E_{P(o|x)Q(x)}[lnP(o|x)] = E_{Q(x)}[P(o|x)lnP(o|x)] = E_{Q(x)}[H[P(o|x)]]\n        for i in idx:\n            # Probability over outcomes for this combination of causes\n            po = np.ones(1)\n            for modality_idx, A_m in enumerate(A):\n                index_vector = [slice(0, A_m.shape[0])] + list(i)\n                po = spm_cross(po, A_m[tuple(index_vector)])\n            po = po.ravel()\n            qo += qx[tuple(i)] * po\n    else:\n        for i in idx:\n            po = np.ones(1)\n            index_vector = [slice(0, A.shape[0])] + list(i)\n            po = spm_cross(po, A[tuple(index_vector)])\n            po = po.ravel()\n            qo += qx[tuple(i)] * po\n   \n    # Compute entropy of expectations: i.e., -E_{Q(o)}[lnQ(o)]\n    H = - qo.dot(spm_log_single(qo))\n\n    return H\n\ndef spm_calc_neg_ambig(A, x):\n    \"\"\"\n    Function that just calculates the negativity ambiguity part of the state information gain, using the same method used in \n    spm_MDP_G.m in the original matlab code.\n    \n    Parameters\n    ----------\n    A (numpy ndarray or array-object):\n        array assigning likelihoods of observations/outcomes under the various \n        hidden state configurations\n    \n    x (numpy ndarray or array-object):\n        Categorical distribution presenting probabilities of hidden states \n        (this can also be interpreted as the predictive density over hidden \n        states/causes if you're calculating the expected Bayesian surprise)\n        \n    Returns\n    -------\n    G (float):\n        the negative ambiguity (negative entropy of the likelihood of observations given hidden states, expected under current posterior over hidden states)\n    \"\"\"\n\n    len(A)\n\n    # Probability distribution over the hidden causes: i.e., Q(x)\n    qx = spm_cross(x)\n    G = 0\n    qo = 0\n    idx = np.array(np.where(qx > np.exp(-16))).T\n\n    if utils.is_obj_array(A):\n        # Accumulate expectation of entropy: i.e., E_{Q(o, x)}[lnP(o|x)] = E_{P(o|x)Q(x)}[lnP(o|x)] = E_{Q(x)}[P(o|x)lnP(o|x)] = E_{Q(x)}[H[P(o|x)]]\n        for i in idx:\n            # Probability over outcomes for this combination of causes\n            po = np.ones(1)\n            for modality_idx, A_m in enumerate(A):\n                index_vector = [slice(0, A_m.shape[0])] + list(i)\n                po = spm_cross(po, A_m[tuple(index_vector)])\n\n            po = po.ravel()\n            qo += qx[tuple(i)] * po\n            G += qx[tuple(i)] * po.dot(np.log(po + np.exp(-16)))\n    else:\n        for i in idx:\n            po = np.ones(1)\n            index_vector = [slice(0, A.shape[0])] + list(i)\n            po = spm_cross(po, A[tuple(index_vector)])\n            po = po.ravel()\n            qo += qx[tuple(i)] * po\n            G += qx[tuple(i)] * po.dot(np.log(po + np.exp(-16)))\n\n    return G\n\ndef spm_MDP_G(A, x):\n    \"\"\"\n    Calculates the Bayesian surprise in the same way as spm_MDP_G.m does in \n    the original matlab code.\n    \n    Parameters\n    ----------\n    A (numpy ndarray or array-object):\n        array assigning likelihoods of observations/outcomes under the various \n        hidden state configurations\n    \n    x (numpy ndarray or array-object):\n        Categorical distribution presenting probabilities of hidden states \n        (this can also be interpreted as the predictive density over hidden \n        states/causes if you're calculating the expected Bayesian surprise)\n        \n    Returns\n    -------\n    G (float):\n        the (expected or not) Bayesian surprise under the density specified by x --\n        namely, this scores how much an expected observation would update beliefs \n        about hidden states x, were it to be observed. \n    \"\"\"\n\n    len(A)\n\n    # Probability distribution over the hidden causes: i.e., Q(x)\n    qx = spm_cross(x)\n    G = 0\n    qo = 0\n    idx = np.array(np.where(qx > np.exp(-16))).T\n\n    if utils.is_obj_array(A):\n        # Accumulate expectation of entropy: i.e., E_{Q(o, x)}[lnP(o|x)] = E_{P(o|x)Q(x)}[lnP(o|x)] = E_{Q(x)}[P(o|x)lnP(o|x)] = E_{Q(x)}[H[P(o|x)]]\n        for i in idx:\n            # Probability over outcomes for this combination of causes\n            po = np.ones(1)\n            for modality_idx, A_m in enumerate(A):\n                index_vector = [slice(0, A_m.shape[0])] + list(i)\n                po = spm_cross(po, A_m[tuple(index_vector)])\n            \n            po = po.ravel()\n            qo += qx[tuple(i)] * po\n            G += qx[tuple(i)] * po.dot(np.log(po + np.exp(-16)))\n    else:\n        for i in idx:\n            po = np.ones(1)\n            index_vector = [slice(0, A.shape[0])] + list(i)\n            po = spm_cross(po, A[tuple(index_vector)])\n            po = po.ravel()\n            qo += qx[tuple(i)] * po\n            G += qx[tuple(i)] * po.dot(np.log(po + np.exp(-16)))\n   \n    # Subtract negative entropy of expectations: i.e., E_{Q(o)}[lnQ(o)]\n    G = G - qo.dot(spm_log_single(qo))  # type: ignore\n\n    return G\n\ndef kl_div(P,Q):\n    \"\"\"\n    Parameters\n    ----------\n    P : Categorical probability distribution\n    Q : Categorical probability distribution\n\n    Returns\n    -------\n    The KL-divergence of P and Q\n\n    \"\"\"\n    dkl = 0\n    for i in range(len(P)):\n        dkl += np.dot(P[i], np.log(P[i] + EPS_VAL) - np.log(Q[i] + EPS_VAL))\n    return(dkl)\n\ndef entropy(A):\n    \"\"\"\n    Compute the entropy term H of the likelihood matrix,\n    i.e. one entropy value per column\n    \"\"\"\n    entropies = np.empty(len(A), dtype=object)\n    for i in range(len(A)):\n        if len(A[i].shape) > 2:\n            obs_dim = A[i].shape[0]\n            s_dim = A[i].size // obs_dim\n            A_merged = A[i].reshape(obs_dim, s_dim)\n        else:\n            A_merged = A[i]\n\n        H = - np.diag(np.matmul(A_merged.T, np.log(A_merged + EPS_VAL)))\n        entropies[i] = H.reshape(*A[i].shape[1:])\n    return entropies"
  },
  {
    "path": "pymdp/legacy/utils.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Utility functions\n\n__author__: Conor Heins, Alexander Tschantz, Brennan Klein\n\"\"\"\n\nimport numpy as np\nimport seaborn as sns\nimport matplotlib.pyplot as plt\n\nimport warnings\nimport itertools\n\nEPS_VAL = 1e-16 # global constant for use in norm_dist()\n\nclass Dimensions(object):\n    \"\"\"\n    The Dimensions class stores all data related to the size and shape of a model.\n    \"\"\"\n    def __init__(\n        self,\n        num_observations=None,\n        num_observation_modalities=0,\n        num_states=None,\n        num_state_factors=0,\n        num_controls=None,\n        num_control_factors=0,\n    ):\n        self.num_observations=num_observations\n        self.num_observation_modalities=num_observation_modalities\n        self.num_states=num_states\n        self.num_state_factors=num_state_factors\n        self.num_controls=num_controls\n        self.num_control_factors=num_control_factors\n        \n\ndef sample(probabilities):\n    probabilities = probabilities.squeeze() if len(probabilities) > 1 else probabilities\n    sample_onehot = np.random.multinomial(1, probabilities)\n    return np.where(sample_onehot == 1)[0][0]\n\ndef sample_obj_array(arr):\n    \"\"\" \n    Sample from set of Categorical distributions, stored in the sub-arrays of an object array \n    \"\"\"\n    \n    samples = [sample(arr_i) for arr_i in arr]\n\n    return samples\n\ndef obj_array(num_arr):\n    \"\"\"\n    Creates a generic object array with the desired number of sub-arrays, given by `num_arr`\n    \"\"\"\n    return np.empty(num_arr, dtype=object)\n\ndef obj_array_zeros(shape_list):\n    \"\"\" \n    Creates a numpy object array whose sub-arrays are 1-D vectors\n    filled with zeros, with shapes given by shape_list[i]\n    \"\"\"\n    arr = obj_array(len(shape_list))\n    for i, shape in enumerate(shape_list):\n        arr[i] = np.zeros(shape)\n    return arr\n\ndef initialize_empty_A(num_obs, num_states):\n    \"\"\" \n    Initializes an empty observation likelihood array or `A` array using a list of observation-modality dimensions (`num_obs`)\n    and hidden state factor dimensions (`num_states`)\n    \"\"\"\n\n    A_shape_list = [ [no] + num_states for no in num_obs]\n    return obj_array_zeros(A_shape_list)\n\ndef initialize_empty_B(num_states, num_controls):\n    \"\"\" \n    Initializes an empty (controllable) transition likelihood array or `B` array using a list of hidden state factor dimensions (`num_states`)\n    and control factor dimensions (`num_controls)\n    \"\"\"\n\n    B_shape_list = [ [ns, ns, num_controls[f]] for f, ns in enumerate(num_states)]\n    return obj_array_zeros(B_shape_list)\n\ndef obj_array_uniform(shape_list):\n    \"\"\" \n    Creates a numpy object array whose sub-arrays are uniform Categorical\n    distributions with shapes given by shape_list[i]. The shapes (elements of shape_list)\n    can either be tuples or lists.\n    \"\"\"\n    arr = obj_array(len(shape_list))\n    for i, shape in enumerate(shape_list):\n        arr[i] = norm_dist(np.ones(shape))\n    return arr\n\ndef obj_array_ones(shape_list, scale = 1.0):\n    arr = obj_array(len(shape_list))\n    for i, shape in enumerate(shape_list):\n        arr[i] = scale * np.ones(shape)\n    \n    return arr\n\ndef onehot(value, num_values):\n    arr = np.zeros(num_values)\n    arr[value] = 1.0\n    return arr\n\ndef random_A_matrix(num_obs, num_states, A_factor_list=None):\n    if type(num_obs) is int:\n        num_obs = [num_obs]\n    if type(num_states) is int:\n        num_states = [num_states]\n    num_modalities = len(num_obs)\n\n    if A_factor_list is None:\n        num_factors = len(num_states)\n        A_factor_list = [list(range(num_factors))] * num_modalities\n\n    A = obj_array(num_modalities)\n    for modality, modality_obs in enumerate(num_obs):\n        # lagging_dimensions = [ns for i, ns in enumerate(num_states) if i in A_factor_list[modality]] # enforces sortedness of A_factor_list\n        lagging_dimensions = [num_states[idx] for idx in A_factor_list[modality]]\n        modality_shape = [modality_obs] + lagging_dimensions\n        modality_dist = np.random.rand(*modality_shape)\n        A[modality] = norm_dist(modality_dist)\n    return A\n\ndef random_B_matrix(num_states, num_controls, B_factor_list=None, B_factor_control_list=None):\n    \"\"\"\n    Generate random B object array\n\n    Parameters\n    ----------\n    num_states: ``list`` of ``int``\n        ``list`` of the dimensionalities of each hidden state factor\n    num_controls: ``list`` of ``int``, default ``None``\n        ``list`` of the dimensionalities of each control state factor. If ``None``, then is automatically computed as the dimensionality of each hidden state factor that is controllable\n    B_factor_list: ``list`` of ``list`` of ``int``, default ``None``\n        ``list`` of ``list`` of states that each state depends on. If ``None``, then the dependencies are set so that each state only depends on itself\n    B_factor_control_list: ``list`` of ``list`` of ``int``, default ``None``\n        ``list`` of ``list`` of actions that each state depends on. If ``None``, then the dependencies are set so that each state only depends on action of the same index\n\n    Returns\n    ----------\n    B: ``obj_array`` of ``numpy.ndarray``\n        A set of ``numpy.ndarray`` transition matrices stored in an ``obj_array``\n    \"\"\"\n    if type(num_states) is int:\n        num_states = [num_states]\n    if type(num_controls) is int:\n        num_controls = [num_controls]\n    num_factors = len(num_states)\n\n    if B_factor_list is None:\n        B_factor_list = [[f] for f in range(num_factors)]\n\n    if B_factor_control_list is None:\n        assert len(num_controls) == len(num_states)\n        B_factor_control_list = [[f] for f in range(num_factors)]\n    else:\n        unique_controls = list(set(sum(B_factor_control_list, [])))        \n        assert unique_controls == list(range(len(num_controls)))\n\n    B = obj_array(num_factors)\n    for factor in range(num_factors):\n        lagging_shape = [ns for i, ns in enumerate(num_states) if i in B_factor_list[factor]]\n        control_shape = [na for i, na in enumerate(num_controls) if i in B_factor_control_list[factor]]\n        factor_shape = [num_states[factor]] + lagging_shape + control_shape\n        factor_dist = np.random.rand(*factor_shape)\n        B[factor] = norm_dist(factor_dist)\n    return B\n\ndef get_combination_index(x, dims):\n    \"\"\"\n    Find the index of an array of categorical values in an array of categorical dimensions\n\n    Parameters\n    ----------\n    x: ``numpy.ndarray`` or ``list`` of ``int``\n        ``numpy.ndarray`` or ``list`` of ``int`` of categorical values to be converted into combination index\n    dims: ``list`` of ``int``\n        ``list`` of ``int`` of categorical dimensions used for conversion\n    \n    Returns\n    ----------\n    index: ``int``\n        ``int`` index of the combination\n    \"\"\"\n    assert len(x) == len(dims)\n    index = 0\n    product = 1\n    for i in reversed(range(len(dims))):\n        index += x[i] * product\n        product *= dims[i]\n    return index\n\ndef index_to_combination(index, dims):\n    \"\"\"\n    Convert the combination index according to an array of categorical dimensions back to an array of categorical values\n\n    Parameters\n    ----------\n    index: ``int``\n        ``int`` index of the combination\n    dims: ``list`` of ``int``\n        ``list`` of ``int`` of categorical dimensions used for conversion\n    \n    Returns\n    ----------\n    x: ``list`` of ``int``\n        ```list`` of ``int`` of categorical values to be converted into combination index\n    \"\"\"\n    x = []\n    for base in reversed(dims):\n        x.append(index % base)\n        index //= base\n    return list(reversed(x))\n\ndef random_single_categorical(shape_list):\n    \"\"\"\n    Creates a random 1-D categorical distribution (or set of 1-D categoricals, e.g. multiple marginals of different factors) and returns them in an object array \n    \"\"\"\n    \n    num_sub_arrays = len(shape_list)\n\n    out = obj_array(num_sub_arrays)\n\n    for arr_idx, shape_i  in enumerate(shape_list):\n        out[arr_idx] = norm_dist(np.random.rand(shape_i))\n    \n    return out\n\ndef construct_controllable_B(num_states, num_controls):\n    \"\"\"\n    Generates a fully controllable transition likelihood array, where each \n    action (control state) corresponds to a move to the n-th state from any \n    other state, for each control factor\n    \"\"\"\n\n    num_factors = len(num_states)\n\n    B = obj_array(num_factors)\n    for factor, c_dim in enumerate(num_controls):\n        tmp = np.eye(c_dim)[:, :, np.newaxis]\n        tmp = np.tile(tmp, (1, 1, c_dim))\n        B[factor] = tmp.transpose(1, 2, 0)\n\n    return B\n\ndef dirichlet_like(template_categorical, scale = 1.0):\n    \"\"\"\n    Helper function to construct a Dirichlet distribution based on an existing Categorical distribution\n    \"\"\" \n\n    if not is_obj_array(template_categorical):\n        warnings.warn(\n                    \"Input array is not an object array...\\\n                    Casting the input to an object array\"\n                )\n        template_categorical = to_obj_array(template_categorical)\n\n    n_sub_arrays = len(template_categorical)\n\n    dirichlet_out = obj_array(n_sub_arrays)\n    \n    for i, arr in enumerate(template_categorical):\n        dirichlet_out[i] = scale * arr\n\n    return dirichlet_out\n\ndef get_model_dimensions(A=None, B=None, factorized=False):\n\n    if A is None and B is None:\n        raise ValueError(\n                    \"Must provide either `A` or `B`\"\n                )\n\n    if A is not None:\n        num_obs = [a.shape[0] for a in A] if is_obj_array(A) else [A.shape[0]]\n        num_modalities = len(num_obs)\n    else:\n        num_obs, num_modalities = None, None\n    \n    if B is not None:\n        num_states = [b.shape[0] for b in B] if is_obj_array(B) else [B.shape[0]]\n        num_factors = len(num_states)\n    else:\n        if A is not None:\n            if not factorized:\n                num_states = list(A[0].shape[1:]) if is_obj_array(A) else list(A.shape[1:])\n                num_factors = len(num_states)\n            else:\n                raise ValueError(\n                    \"`A` array is factorized and  cannot be used to infer `num_states`\"\n                )\n        else:\n            num_states, num_factors = None, None\n    \n    return num_obs, num_states, num_modalities, num_factors\n\ndef get_model_dimensions_from_labels(model_labels):\n\n    modalities = model_labels['observations']\n    factors = model_labels['states']\n\n    res = Dimensions(\n        num_observations=[len(modalities[modality]) for modality in modalities.keys()],\n        num_observation_modalities=len(modalities.keys()),\n        num_states=[len(factors[factor]) for factor in factors.keys()],\n        num_state_factors=len(factors.keys()),\n    )\n\n    if 'actions' in model_labels.keys():\n        controls = model_labels['actions']\n        res.num_controls=[len(controls[cfac]) for cfac in controls.keys()]\n        res.num_control_factors=len(controls.keys())\n\n    return res\n\n\n\ndef norm_dist(dist):\n    \"\"\" Normalizes a Categorical probability distribution (or set of them) assuming sufficient statistics are stored in leading dimension\"\"\"\n    return np.divide(dist, dist.sum(axis=0))\n\ndef norm_dist_obj_arr(obj_arr):\n    \"\"\" Normalizes a multi-factor or -modality collection of Categorical probability distributions, assuming sufficient statistics of each conditional distribution\n    are stored in the leading dimension\"\"\"\n    normed_obj_array = obj_array(len(obj_arr))\n    for i, arr in enumerate(obj_arr):\n        normed_obj_array[i] = norm_dist(arr)\n    \n    return normed_obj_array\n\ndef is_normalized(dist):\n    \"\"\"\n    Utility function for checking whether a single distribution or set of conditional categorical distributions is normalized.\n    Returns True if all distributions integrate to 1.0\n    \"\"\"\n\n    if is_obj_array(dist):\n        normed_arrays = []\n        for i, arr in enumerate(dist):\n            column_sums = arr.sum(axis=0)\n            normed_arrays.append(np.allclose(column_sums, np.ones_like(column_sums)))\n        out = all(normed_arrays)\n    else:\n        column_sums = dist.sum(axis=0)\n        out = np.allclose(column_sums, np.ones_like(column_sums))\n    \n    return out\n\ndef is_obj_array(arr):\n    return arr.dtype == \"object\"\n\ndef to_obj_array(arr):\n    if is_obj_array(arr):\n        return arr\n    obj_array_out = obj_array(1)\n    obj_array_out[0] = arr.squeeze()\n    return obj_array_out\n\ndef obj_array_from_list(list_input):\n    \"\"\"\n    Takes a list of `numpy.ndarray` and converts them to a `numpy.ndarray` of `dtype = object`\n    \"\"\"\n    arr = obj_array(len(list_input))\n    for i, item in enumerate(list_input):\n        arr[i] = item\n    return arr\n\ndef process_observation_seq(obs_seq, n_modalities, n_observations):\n    \"\"\"\n    Helper function for formatting observations    \n\n        Observations can either be `int` (converted to one-hot)\n        or `tuple` (obs for each modality), or `list` (obs for each modality)\n        If list, the entries could be object arrays of one-hots, in which\n        case this function returns `obs_seq` as is.\n    \"\"\"\n    proc_obs_seq = obj_array(len(obs_seq))\n    for t, obs_t in enumerate(obs_seq):\n        proc_obs_seq[t] = process_observation(obs_t, n_modalities, n_observations)\n    return proc_obs_seq\n\ndef process_observation(obs, num_modalities, num_observations):\n    \"\"\"\n    Helper function for formatting observations    \n    USAGE NOTES:\n    - If `obs` is a 1D numpy array, it must be a one-hot vector, where one entry (the entry of the observation) is 1.0 \n    and all other entries are 0. This therefore assumes it's a single modality observation. If these conditions are met, then\n    this function will return `obs` unchanged. Otherwise, it'll throw an error.\n    - If `obs` is an int, it assumes this is a single modality observation, whose observation index is given by the value of `obs`. This function will convert\n    it to be a one hot vector.\n    - If `obs` is a list, it assumes this is a multiple modality observation, whose len is equal to the number of observation modalities,\n    and where each entry `obs[m]` is the index of the observation, for that modality. This function will convert it into an object array\n    of one-hot vectors.\n    - If `obs` is a tuple, same logic as applies for list (see above).\n    - if `obs` is a numpy object array (array of arrays), this function will return `obs` unchanged.\n    \"\"\"\n\n    if isinstance(obs, np.ndarray) and not is_obj_array(obs):\n        assert num_modalities == 1, \"If `obs` is a 1D numpy array, `num_modalities` must be equal to 1\"\n        assert len(np.where(obs)[0]) == 1, \"If `obs` is a 1D numpy array, it must be a one hot vector (e.g. np.array([0.0, 1.0, 0.0, ....]))\"\n\n    if isinstance(obs, (int, np.integer)):\n        obs = onehot(obs, num_observations[0])\n\n    if isinstance(obs, tuple) or isinstance(obs,list):\n        obs_arr_arr = obj_array(num_modalities)\n        for m in range(num_modalities):\n            obs_arr_arr[m] = onehot(obs[m], num_observations[m])\n        obs = obs_arr_arr\n\n    return obs\n\ndef convert_observation_array(obs, num_obs):\n    \"\"\"\n    Converts from SPM-style observation array to infer-actively one-hot object arrays.\n    \n    Parameters\n    ----------\n    - 'obs' [numpy 2-D nd.array]:\n        SPM-style observation arrays are of shape (num_modalities, T), where each row \n        contains observation indices for a different modality, and columns indicate \n        different timepoints. Entries store the indices of the discrete observations \n        within each modality. \n\n    - 'num_obs' [list]:\n        List of the dimensionalities of the observation modalities. `num_modalities` \n        is calculated as `len(num_obs)` in the function to determine whether we're \n        dealing with a single- or multi-modality \n        case.\n\n    Returns\n    ----------\n    - `obs_t`[list]: \n        A list with length equal to T, where each entry of the list is either a) an object \n        array (in the case of multiple modalities) where each sub-array is a one-hot vector \n        with the observation for the correspond modality, or b) a 1D numpy array (in the case\n        of one modality) that is a single one-hot vector encoding the observation for the \n        single modality.\n    \"\"\"\n\n    T = obs.shape[1]\n    num_modalities = len(num_obs)\n\n    # Initialise the output\n    obs_t = []\n    # Case of one modality\n    if num_modalities == 1:\n        for t in range(T):\n            obs_t.append(onehot(obs[0, t] - 1, num_obs[0]))\n    else:\n        for t in range(T):\n            obs_AoA = obj_array(num_modalities)\n            for g in range(num_modalities):\n                # Subtract obs[g,t] by 1 to account for MATLAB vs. Python indexing\n                # (MATLAB is 1-indexed)\n                obs_AoA[g] = onehot(obs[g, t] - 1, num_obs[g])\n            obs_t.append(obs_AoA)\n\n    return obs_t\n\ndef insert_multiple(s, indices, items):\n    for idx in range(len(items)):\n        s.insert(indices[idx], items[idx])\n    return s\n\ndef reduce_a_matrix(A):\n    \"\"\"\n    Utility function for throwing away dimensions (lagging dimensions, hidden state factors)\n    of a particular A matrix that are independent of the observation. \n    Parameters:\n    ==========\n    - `A` [np.ndarray]:\n        The A matrix or likelihood array that encodes probabilistic relationship\n        of the generative model between hidden state factors (lagging dimensions, columns, slices, etc...)\n        and observations (leading dimension, rows). \n    Returns:\n    =========\n    - `A_reduced` [np.ndarray]:\n        The reduced A matrix, missing the lagging dimensions that correspond to hidden state factors\n        that are statistically independent of observations\n    - `original_factor_idx` [list]:\n        List of the indices (in terms of the original dimensionality) of the hidden state factors\n        that are maintained in the A matrix (and thus have an informative / non-degenerate relationship to observations\n    \"\"\"\n\n    o_dim, num_states = A.shape[0], A.shape[1:]\n    idx_vec_s = [slice(0, o_dim)]  + [slice(ns) for _, ns in enumerate(num_states)]\n\n    original_factor_idx = []\n    excluded_factor_idx = [] # the indices of the hidden state factors that are independent of the observation and thus marginalized away\n    for factor_i, ns in enumerate(num_states):\n\n        level_counter = 0\n        break_flag = False\n        while level_counter < ns and break_flag is False:\n            idx_vec_i = idx_vec_s.copy()\n            idx_vec_i[factor_i+1] = slice(level_counter,level_counter+1,None)\n            if not np.isclose(A.mean(axis=factor_i+1), A[tuple(idx_vec_i)].squeeze()).all():\n                break_flag = True # this means they're not independent\n                original_factor_idx.append(factor_i)\n            else:\n                level_counter += 1\n        \n        if break_flag is False:\n            excluded_factor_idx.append(factor_i+1)\n    \n    A_reduced = A.mean(axis=tuple(excluded_factor_idx)).squeeze()\n\n    return A_reduced, original_factor_idx\n\ndef construct_full_a(A_reduced, original_factor_idx, num_states):\n    \"\"\"\n    Utility function for reconstruction a full A matrix from a reduced A matrix, using known factor indices\n    to tile out the reduced A matrix along the 'non-informative' dimensions\n    Parameters:\n    ==========\n    - `A_reduced` [np.ndarray]:\n        The reduced A matrix or likelihood array that encodes probabilistic relationship\n        of the generative model between hidden state factors (lagging dimensions, columns, slices, etc...)\n        and observations (leading dimension, rows). \n    - `original_factor_idx` [list]:\n        List of hidden state indices in terms of the full hidden state factor list, that comprise\n        the lagging dimensions of `A_reduced`\n    - `num_states` [list]:\n        The list of all the dimensionalities of hidden state factors in the full generative model.\n        `A_reduced.shape[1:]` should be equal to `num_states[original_factor_idx]`\n    Returns:\n    =========\n    - `A` [np.ndarray]:\n        The full A matrix, containing all the lagging dimensions that correspond to hidden state factors, including\n        those that are statistically independent of observations\n    \n    @ NOTE: This is the \"inverse\" of the reduce_a_matrix function, \n    i.e. `reduce_a_matrix(construct_full_a(A_reduced, original_factor_idx, num_states)) == A_reduced, original_factor_idx`\n    \"\"\"\n\n    o_dim = A_reduced.shape[0] # dimensionality of the support of the likelihood distribution (i.e. the number of observation levels)\n    full_dimensionality = [o_dim] + num_states # full dimensionality of the output (`A`)\n    fill_indices = [0] +  [f+1 for f in original_factor_idx] # these are the indices of the dimensions we need to fill for this modality\n    fill_dimensions = np.delete(full_dimensionality, fill_indices) \n\n    original_factor_dims = [num_states[f] for f in original_factor_idx] # dimensionalities of the relevant factors\n    prefilled_slices = [slice(0, o_dim)] + [slice(0, ns) for ns in original_factor_dims] # these are the slices that are filled out by the provided `A_reduced`\n\n    A = np.zeros(full_dimensionality)\n\n    for item in itertools.product(*[list(range(d)) for d in fill_dimensions]):\n        slice_ = list(item)\n        A_indices = insert_multiple(slice_, fill_indices, prefilled_slices) #here we insert the correct values for the fill indices for this slice                    \n        A[tuple(A_indices)] = A_reduced\n    \n    return A\n\n# def build_belief_array(qx):\n\n#     \"\"\"\n#     This function constructs array-ified (not nested) versions\n#     of the posterior belief arrays, that are separated \n#     by policy, timepoint, and hidden state factor\n#     \"\"\"\n\n#     num_policies = len(qx)\n#     num_timesteps = len(qx[0])\n#     num_factors = len(qx[0][0])\n\n#     if num_factors > 1:\n#         belief_array = obj_array(num_factors)\n#         for factor in range(num_factors):\n#             belief_array[factor] = np.zeros( (num_policies, qx[0][0][factor].shape[0], num_timesteps) )\n#         for policy_i in range(num_policies):\n#             for timestep in range(num_timesteps):\n#                 for factor in range(num_factors):\n#                     belief_array[factor][policy_i, :, timestep] = qx[policy_i][timestep][factor]\n#     else:\n#         num_states = qx[0][0][0].shape[0]\n#         belief_array = np.zeros( (num_policies, num_states, num_timesteps) )\n#         for policy_i in range(num_policies):\n#             for timestep in range(num_timesteps):\n#                 belief_array[policy_i, :, timestep] = qx[policy_i][timestep][0]\n    \n#     return belief_array\n\ndef build_xn_vn_array(xn):\n\n    \"\"\"\n    This function constructs array-ified (not nested) versions\n    of the posterior xn (beliefs) or vn (prediction error) arrays, that are separated \n    by iteration, hidden state factor, timepoint, and policy\n    \"\"\"\n\n    num_policies = len(xn)\n    num_itr = len(xn[0])\n    num_factors = len(xn[0][0])\n\n    if num_factors > 1:\n        xn_array = obj_array(num_factors)\n        for factor in range(num_factors):\n            num_states, infer_len = xn[0][0][factor].shape\n            xn_array[factor] = np.zeros( (num_itr, num_states, infer_len, num_policies) )\n        for policy_i in range(num_policies):\n            for itr in range(num_itr):\n                for factor in range(num_factors):\n                    xn_array[factor][itr,:,:,policy_i] = xn[policy_i][itr][factor]\n    else:\n        num_states, infer_len  = xn[0][0][0].shape\n        xn_array = np.zeros( (num_itr, num_states, infer_len, num_policies) )\n        for policy_i in range(num_policies):\n            for itr in range(num_itr):\n                xn_array[itr,:,:,policy_i] = xn[policy_i][itr][0] \n    \n    return xn_array\n\ndef plot_beliefs(belief_dist, title=\"\"):\n    \"\"\"\n    Utility function that plots a bar chart of a categorical probability distribution,\n    with each bar height corresponding to the probability of one of the elements of the categorical\n    probability vector.\n    \"\"\"\n\n    plt.grid(zorder=0)\n    plt.bar(range(belief_dist.shape[0]), belief_dist, color='r', zorder=3)\n    plt.xticks(range(belief_dist.shape[0]))\n    plt.title(title)\n    plt.show()\n    \ndef plot_likelihood(A, title=\"\"):\n    \"\"\"\n    Utility function that shows a heatmap of a 2-D likelihood (hidden causes in the columns, observations in the rows),\n    with hotter colors indicating higher probability.\n    \"\"\"\n\n    sns.heatmap(A, cmap=\"OrRd\", linewidth=2.5)\n    plt.xticks(range(A.shape[1]+1))\n    plt.yticks(range(A.shape[0]+1))\n    plt.title(title)\n    plt.show()\n\n\n    \n   \n\n"
  },
  {
    "path": "pymdp/likelihoods.py",
    "content": "import numpyro.distributions as dist\nfrom jax import lax\nfrom numpyro import plate, sample, deterministic\nfrom numpyro.contrib.control_flow import scan\nfrom typing import Any\n\ndef evolve_trials(agent: Any, data: Any) -> Any:\n\n    def step_fn(carry: Any, xs: dict[str, Any]) -> tuple[Any, tuple[Any, Any, Any]]:\n        empirical_prior = carry\n        observations = xs.get(\"observations\", xs.get(\"outcomes\"))\n        if observations is None:\n            raise KeyError(\"Expected `observations` in trial data.\")\n        qs = agent.infer_states(observations, empirical_prior)\n        q_pi, _ = agent.infer_policies(qs)\n\n        probs = agent.action_probabilities(q_pi)\n\n        actions = xs['actions']\n        empirical_prior = agent.update_empirical_prior(actions, qs)\n        #TODO: if observations and actions are None, generate samples\n        return empirical_prior, (probs, observations, actions)\n\n    prior = agent.D\n    _, res = lax.scan(step_fn, prior, data)\n\n    return res\n\ndef aif_likelihood(Nb: int, Nt: int, Na: int, data: Any, agent: Any) -> None:\n    # Na -> batch dimension - number of different subjects/agents\n    # Nb -> number of experimental blocks\n    # Nt -> number of trials within each block\n\n    def step_fn(carry: Any, xs: Any) -> tuple[None, None]:\n        probs, observations, actions = evolve_trials(agent, xs)\n\n        deterministic('observations', observations)\n\n        with plate('num_agents', Na):\n            with plate('num_trials', Nt):\n                sample('actions', dist.Categorical(logits=probs).to_event(1), obs=actions)\n        \n        return None, None\n    \n    # TODO: See if some information has to be passed from one block to the next and change init and carry accordingly\n    init = None\n    scan(step_fn, init, data, length=Nb)\n"
  },
  {
    "path": "pymdp/maths.py",
    "content": "import jax.numpy as jnp\n\nfrom functools import partial\nfrom typing import Optional, Tuple, Sequence\nfrom jax import tree_util, nn, jit, vmap, lax\nfrom jax.scipy.special import xlogy, digamma, gammaln\nfrom opt_einsum import contract\nfrom multimethod import multimethod\nfrom jaxtyping import ArrayLike\nfrom jax.experimental import sparse\nfrom jax.experimental.sparse._base import JAXSparse\nimport jax.experimental.sparse as jsparse\nfrom pymdp.utils import resolve_a_dependencies, resolve_b_dependencies\n\nMINVAL = jnp.finfo(float).eps\n\ndef stable_xlogx(x: ArrayLike) -> ArrayLike:\n    \"\"\"Compute `x log(x)` with non-zero clipping.\n\n    Parameters\n    ----------\n    x: ArrayLike\n        Input tensor.\n\n    Returns\n    -------\n    ArrayLike\n        Elementwise `x * log(x)`.\n    \"\"\"\n    return xlogy(x, jnp.clip(x, MINVAL))\n\ndef stable_entropy(x: ArrayLike) -> ArrayLike:\n    \"\"\"Compute entropy of a probability-like tensor.\n\n    Parameters\n    ----------\n    x: ArrayLike\n        Tensor of probabilities.\n\n    Returns\n    -------\n    ArrayLike\n        Entropy value.\n    \"\"\"\n    return - stable_xlogx(x).sum()\n\ndef stable_cross_entropy(x: ArrayLike, y: ArrayLike) -> ArrayLike:\n    \"\"\"Compute cross-entropy between two tensors.\n\n    Parameters\n    ----------\n    x: ArrayLike\n        Source distribution tensor.\n    y: ArrayLike\n        Target distribution tensor.\n\n    Returns\n    -------\n    ArrayLike\n        Cross-entropy value.\n    \"\"\"\n    return - xlogy(x, y).sum()\n\ndef log_stable(x: ArrayLike) -> ArrayLike:\n    \"\"\"Compute stable logarithm with minimum clipping.\n\n    Parameters\n    ----------\n    x: ArrayLike\n        Input tensor.\n\n    Returns\n    -------\n    ArrayLike\n        Log-transformed tensor with sparse support handled.\n    \"\"\"\n    if isinstance(x, jsparse.BCOO):\n        x = jsparse.todense(x)\n    return jnp.log(jnp.clip(x, min=MINVAL))\n\n@multimethod\n@partial(jit, static_argnames=[\"keep_dims\"])\ndef factor_dot(\n    M: ArrayLike, xs: list[ArrayLike], keep_dims: Optional[tuple[int]] = None\n) -> ArrayLike:\n    \"\"\"Dot product of a multidimensional array with `x`.\n\n    Parameters\n    ----------\n    M: ArrayLike\n        Input tensor to be contracted.\n    xs: list[ArrayLike]\n        Factors to contract against `M`.\n    keep_dims: tuple[int] | None, optional\n        Axes retained in the output.\n\n    Returns\n    -------\n    ArrayLike\n        Contracted tensor.\n    \"\"\"\n    d = len(keep_dims) if keep_dims is not None else 0\n    assert M.ndim == len(xs) + d\n    keep_dims = () if keep_dims is None else keep_dims\n    dims = tuple((i,) for i in range(M.ndim) if i not in keep_dims)\n    return factor_dot_flex(M, xs, dims, keep_dims=keep_dims)\n\n\n@multimethod\ndef factor_dot(\n    M: JAXSparse, xs: list[ArrayLike], keep_dims: Optional[tuple[int]] = None\n) -> ArrayLike:\n    \"\"\"Dot product of a sparse array with a list of factors.\n\n    Parameters\n    ----------\n    M: JAXSparse\n        Sparse input tensor.\n    xs: list[ArrayLike]\n        Factors to contract against `M`.\n    keep_dims: tuple[int] | None, optional\n        Axes retained in the output.\n\n    Returns\n    -------\n    ArrayLike\n        Contracted result.\n    \"\"\"\n    d = len(keep_dims) if keep_dims is not None else 0\n    assert M.ndim == len(xs) + d\n    keep_dims = () if keep_dims is None else keep_dims\n    dims = tuple((i,) for i in range(M.ndim) if i not in keep_dims)\n    return spm_dot_sparse(M, xs, dims, keep_dims=keep_dims)\n\n\ndef spm_dot_sparse(\n    X: JAXSparse,\n    x: list[ArrayLike],\n    dims: Optional[list[tuple[int]]],\n    keep_dims: Optional[list[tuple[int]]],\n) -> ArrayLike:\n    \"\"\"Sparse contraction helper used by :func:`factor_dot`.\n\n    Parameters\n    ----------\n    X: JAXSparse\n        Sparse tensor to contract.\n    x: list[ArrayLike]\n        Factors to contract against `X`.\n    dims: list[tuple[int]] | None\n        Input axes in `X` aligned to each entry in `x`.\n    keep_dims: list[tuple[int]] | None\n        Axes preserved in the output.\n\n    Returns\n    -------\n    ArrayLike\n        Contraction result.\n    \"\"\"\n    if dims is None:\n        dims = (jnp.arange(0, len(x)) + X.ndim - len(x)).astype(int)\n    dims = jnp.array(dims).flatten()\n\n    if keep_dims is not None:\n        for d in keep_dims:\n            if d in dims:\n                dims = jnp.delete(dims, jnp.argwhere(dims == d))\n\n    for d in range(len(x)):\n        s = jnp.ones(jnp.ndim(X), dtype=int)\n        s = s.at[dims[d]].set(jnp.shape(x[d])[0])\n        X = X * x[d].reshape(tuple(s))\n\n    sparse_sum = sparse.sparsify(jnp.sum)\n    Y = sparse_sum(X, axis=tuple(dims))\n    return Y\n\n\n@partial(jit, static_argnames=[\"dims\", \"keep_dims\"])\ndef factor_dot_flex(\n    M: ArrayLike,\n    xs: list[ArrayLike],\n    dims: list[tuple[int]],\n    keep_dims: Optional[Tuple[int]] = None,\n) -> ArrayLike:\n    \"\"\"Dot product of a multidimensional array with `x`.\n\n    Parameters\n    ----------\n    M: Array\n        Tensor to be contracted.\n    xs: list[ArrayLike]\n        Factors to contract against `M`.\n    dims: list[tuple[int]]\n        Axes in `M` aligned to each tensor in `xs`.\n    keep_dims: tuple[int], optional\n        Axes to retain in the output even if listed in `dims`.\n\n    Returns\n    -------\n    Array\n        Result of the contracted dot product.\n    \"\"\"\n    all_dims = tuple(range(M.ndim))\n    matrix = [[xs[f], dims[f]] for f in range(len(xs))]\n    args = [M, all_dims]\n    for row in matrix:\n        args.extend(row)\n\n    args += [keep_dims]\n    return contract(*args, backend=\"jax\")\n\n\ndef compute_log_likelihood_single_modality(\n    o_m: ArrayLike, A_m: ArrayLike, distr_obs: bool = True\n) -> ArrayLike:\n    \"\"\"Compute observation log-likelihood for a single modality.\n\n    Parameters\n    ----------\n    o_m: ArrayLike\n        Observation for one modality.\n    A_m: ArrayLike\n        Likelihood tensor for one modality.\n    distr_obs: bool, default=True\n        Interpret `o_m` as distribution if `True`, otherwise as discrete index.\n\n    Returns\n    -------\n    ArrayLike\n        Log-likelihood for this modality.\n    \"\"\"\n    if distr_obs:\n        expanded_obs = jnp.expand_dims(o_m, tuple(range(1, A_m.ndim)))\n        log_likelihood = xlogy(expanded_obs, jnp.clip(A_m, min=MINVAL)).sum(axis=0)\n    else:\n        log_likelihood = log_stable(A_m[o_m])\n    return log_likelihood\n\n\ndef compute_log_likelihood(\n    obs: list[ArrayLike], A: list[ArrayLike], distr_obs: bool = True\n) -> ArrayLike:\n    \"\"\"Compute likelihood over hidden states across observations from different modalities.\n\n    Parameters\n    ----------\n    obs: list[ArrayLike]\n        Observations for each modality.\n    A: list[ArrayLike]\n        Likelihood tensors for each modality.\n    distr_obs: bool, default=True\n        Interpret observations as distributions if `True`.\n\n    Returns\n    -------\n    ArrayLike\n        Combined log-likelihood over hidden states.\n    \"\"\"\n    result = tree_util.tree_map(lambda o, a: compute_log_likelihood_single_modality(o, a, distr_obs=distr_obs), obs, A)\n    ll = jnp.sum(jnp.stack(result), 0)\n\n    return ll\n\n\ndef compute_log_likelihood_per_modality(\n    obs: list[ArrayLike], A: list[ArrayLike], distr_obs: bool = True\n) -> list[ArrayLike]:\n    \"\"\"Compute likelihood over hidden states per modality.\n\n    Parameters\n    ----------\n    obs: list[ArrayLike]\n        Observations for each modality.\n    A: list[ArrayLike]\n        Likelihood tensors for each modality.\n    distr_obs: bool, default=True\n        Interpret observations as distributions if `True`.\n\n    Returns\n    -------\n    list[ArrayLike]\n        Per-modality log-likelihood tensors.\n    \"\"\"\n    ll_all = tree_util.tree_map(lambda o, a: compute_log_likelihood_single_modality(o, a, distr_obs=distr_obs), obs, A)\n\n    return ll_all\n\n\ndef _to_dense_if_sparse(x: ArrayLike) -> ArrayLike:\n    if isinstance(x, jsparse.BCOO):\n        return jsparse.todense(x)\n    return x\n\n\ndef _expected_log_prob(log_prob: ArrayLike, marginals: list[ArrayLike]) -> ArrayLike:\n    if len(marginals) == 0:\n        return jnp.asarray(_to_dense_if_sparse(log_prob)).sum()\n    return factor_dot(log_prob, marginals)\n\n\ndef _expected_log_prob_tensor(log_prob: ArrayLike, belief: ArrayLike) -> ArrayLike:\n    log_prob = jnp.asarray(_to_dense_if_sparse(log_prob))\n    belief = jnp.asarray(_to_dense_if_sparse(belief))\n    return factor_dot_flex(\n        log_prob,\n        [belief],\n        dims=(tuple(range(log_prob.ndim)),),\n    )\n\n\ndef _pad_sequence_with_initial_zeros(x: ArrayLike) -> ArrayLike:\n    x = jnp.asarray(_to_dense_if_sparse(x))\n    pad = jnp.zeros((1,) + x.shape[1:], dtype=x.dtype)\n    return jnp.concatenate([pad, x], axis=0)\n\n\ndef _ensure_vfe_action_history_shape(\n    past_actions: ArrayLike | None,\n    num_factors: int,\n) -> ArrayLike | None:\n    if past_actions is None:\n        return None\n\n    past_actions = jnp.asarray(past_actions)\n    if past_actions.ndim == 1:\n        if num_factors == 1:\n            return jnp.expand_dims(past_actions, -1)\n        raise ValueError(\n            \"1D `past_actions` is only supported for single-factor action \"\n            \"histories; multi-factor action histories must have shape \"\n            \"(T-1, num_factors). For a single timestep across factors, use \"\n            \"`past_actions[None, :]`.\"\n        )\n\n    if past_actions.ndim != 2:\n        raise ValueError(\"`past_actions` must have shape (T-1, num_factors)\")\n\n    if past_actions.shape[1] != num_factors:\n        raise ValueError(\n            f\"`past_actions` has second dimension {past_actions.shape[1]}, \"\n            f\"expected {num_factors}\"\n        )\n\n    return past_actions\n\n\ndef _sum_dirichlet_kl(\n    q_dir: list[ArrayLike] | None,\n    p_dir: list[ArrayLike] | None,\n    *,\n    event_dim: int = 0,\n) -> ArrayLike:\n    if q_dir is None and p_dir is None:\n        return jnp.array(0.0)\n    if q_dir is None or p_dir is None:\n        raise ValueError(\"Dirichlet KL terms require both posterior and prior parameters\")\n    if len(q_dir) != len(p_dir):\n        raise ValueError(\"Dirichlet posterior/prior lists must have the same length\")\n\n    total = jnp.array(0.0)\n    for q_arr, p_arr in zip(q_dir, p_dir):\n        if q_arr is None or p_arr is None:\n            continue\n        total = total + dirichlet_kl_divergence(q_arr, p_arr, event_dim=event_dim)\n    return total\n\n\ndef compute_accuracy(\n    qs: list[ArrayLike],\n    obs: list[ArrayLike],\n    A: list[ArrayLike],\n    A_dependencies: list[list[int]] | None = None,\n    distr_obs: bool = True,\n) -> ArrayLike:\n    \"\"\"Compute the accuracy portion of variational free energy.\n\n    Parameters\n    ----------\n    qs: list[ArrayLike]\n        Marginal state beliefs.\n    obs: list[ArrayLike]\n        Observations for each modality.\n    A: list[ArrayLike]\n        Likelihood tensors for each modality.\n    A_dependencies: list[list[int]] | None, optional\n        Sparse modality-to-factor dependency mapping.\n    distr_obs: bool, default=True\n        Whether observations are already categorical distributions.\n\n    Returns\n    -------\n    ArrayLike\n        Expected log-likelihood term.\n    \"\"\"\n    A_dependencies = resolve_a_dependencies(len(qs), len(A), A_dependencies)\n    log_likelihoods = compute_log_likelihood_per_modality(obs, A, distr_obs=distr_obs)\n    accuracy = 0.0\n\n    for m in range(max(len(log_likelihoods), len(A_dependencies))):\n        ll_m = log_likelihoods[m]\n        deps_m = A_dependencies[m]\n        accuracy += _expected_log_prob(ll_m, [qs[f] for f in deps_m])\n\n    return accuracy\n\n\ndef dirichlet_kl_divergence(\n    q_dir: ArrayLike,\n    p_dir: ArrayLike,\n    event_dim: int = 0,\n) -> ArrayLike:\n    \"\"\"Compute KL divergence between two Dirichlet distributions.\n\n    Parameters\n    ----------\n    q_dir: ArrayLike\n        Posterior Dirichlet concentration parameters.\n    p_dir: ArrayLike\n        Prior Dirichlet concentration parameters.\n    event_dim: int, default=0\n        Axis containing the categorical event dimension.\n\n    Returns\n    -------\n    ArrayLike\n        Scalar KL divergence summed over all conditional contexts.\n    \"\"\"\n    q_dir = jnp.clip(_to_dense_if_sparse(q_dir), min=MINVAL)\n    p_dir = jnp.clip(_to_dense_if_sparse(p_dir), min=MINVAL)\n\n    event_dim = event_dim % q_dir.ndim\n    q_sum = q_dir.sum(axis=event_dim)\n    p_sum = p_dir.sum(axis=event_dim)\n    digamma_q_sum = jnp.expand_dims(digamma(q_sum), axis=event_dim)\n\n    kl = (\n        gammaln(q_sum)\n        - gammaln(p_sum)\n        - gammaln(q_dir).sum(axis=event_dim)\n        + gammaln(p_dir).sum(axis=event_dim)\n        + ((q_dir - p_dir) * (digamma(q_dir) - digamma_q_sum)).sum(axis=event_dim)\n    )\n\n    return kl.sum()\n\n\ndef calc_vfe(\n    qs: list[ArrayLike],\n    prior: list[ArrayLike],\n    *,\n    obs: list[ArrayLike] | None = None,\n    A: list[ArrayLike] | None = None,\n    B: list[ArrayLike] | None = None,\n    past_actions: ArrayLike | None = None,\n    A_dependencies: list[list[int]] | None = None,\n    B_dependencies: list[list[int]] | None = None,\n    joint_qs: list[ArrayLike] | None = None,\n    qA: list[ArrayLike] | None = None,\n    pA: list[ArrayLike] | None = None,\n    qB: list[ArrayLike] | None = None,\n    pB: list[ArrayLike] | None = None,\n    obs_valid_mask: ArrayLike | None = None,\n    transition_valid_mask: ArrayLike | None = None,\n    distr_obs: bool = True,\n    return_decomposition: bool = False,\n) -> tuple[ArrayLike, ArrayLike] | tuple[ArrayLike, ArrayLike, dict[str, ArrayLike]]:\n    \"\"\"Compute canonical variational free energy from a model/posterior pair.\n\n    This function supports both:\n    - single-step posteriors, where each `qs[f]` has shape `(num_states_f,)`, and\n    - sequence posteriors, where each `qs[f]` has shape `(T, num_states_f)`.\n\n    In the sequence case, transition contributions are assigned to the timestep\n    they terminate at, so `vfe_t[t]` contains the `q(s_t)` entropy, the\n    observation accuracy for `o_t`, and either the initial-prior term (at\n    sequence starts) or the transition-model cross-entropy from `t-1 -> t`.\n\n    Parameters\n    ----------\n    qs: list[ArrayLike]\n        Posterior state marginals.\n    prior: list[ArrayLike]\n        Prior over initial hidden states (or single-step empirical prior).\n    obs: list[ArrayLike] | None, optional\n        Observations in distributional or discrete-index form.\n    A: list[ArrayLike] | None, optional\n        Likelihood tensors.\n    B: list[ArrayLike] | None, optional\n        Transition tensors.\n    past_actions: ArrayLike | None, optional\n        Action history with shape `(T-1, num_factors)` for sequence VFE.\n    A_dependencies: list[list[int]] | None, optional\n        Sparse modality-to-factor dependency mapping.\n    B_dependencies: list[list[int]] | None, optional\n        Sparse transition-factor dependency mapping.\n    joint_qs: list[ArrayLike] | None, optional\n        Optional pairwise posterior beliefs for sequence models. Each\n        `joint_qs[f]` should have shape\n        `(T-1, num_states[f], *[num_states[d] for d in B_dependencies[f]])`.\n        When provided, the state-dependent terms of sequence VFE are computed\n        from the full smoothed chain posterior rather than the mean-field\n        product of adjacent marginals.\n    qA, pA, qB, pB: list[ArrayLike] | None, optional\n        Optional posterior/prior Dirichlet parameter pairs. When provided, the\n        corresponding KL terms are added to the total `vfe`.\n    obs_valid_mask: ArrayLike | None, optional\n        Validity mask for padded observation windows.\n    transition_valid_mask: ArrayLike | None, optional\n        Validity mask for transitions in padded sequence windows.\n    distr_obs: bool, default=True\n        Whether observations are already categorical distributions.\n    return_decomposition: bool, default=False\n        If `True`, also return a dictionary of component terms.\n\n    Returns\n    -------\n    tuple\n        `(vfe_t, vfe)` by default. `vfe_t` has shape `(T,)` for sequences or\n        scalar shape `()` for single-step posteriors. `vfe` is always scalar.\n        When `return_decomposition=True`, a third element is returned with\n        component arrays and optional parameter KL terms.\n    \"\"\"\n    num_factors = len(qs)\n    if len(prior) != num_factors:\n        raise ValueError(\"`prior` must have one entry per hidden-state factor\")\n\n    if A is not None and obs is None:\n        raise ValueError(\"`obs` must be provided when `A` is provided\")\n    if obs is not None and A is None:\n        raise ValueError(\"`A` must be provided when `obs` is provided\")\n\n    A_dependencies = (\n        None if A is None else resolve_a_dependencies(num_factors, len(A), A_dependencies)\n    )\n    B_dependencies = (\n        None if B is None else resolve_b_dependencies(num_factors, B_dependencies)\n    )\n\n    is_sequence = qs[0].ndim > 1\n\n    if joint_qs is not None:\n        if not is_sequence:\n            raise ValueError(\"`joint_qs` is only valid when `qs` is a sequence posterior\")\n        if len(joint_qs) != num_factors:\n            raise ValueError(\"`joint_qs` must have one entry per hidden-state factor\")\n\n    def _state_prior_term(qs_t: list[ArrayLike]) -> ArrayLike:\n        value = 0.0\n        for q_f, p_f in zip(qs_t, prior):\n            value += stable_cross_entropy(q_f, p_f)\n        return value\n\n    def _neg_entropy_term(qs_t: list[ArrayLike]) -> ArrayLike:\n        value = 0.0\n        for q_f in qs_t:\n            value += -stable_entropy(q_f)\n        return value\n\n    def _accuracy_term(qs_t: list[ArrayLike], obs_t: list[ArrayLike] | None) -> ArrayLike:\n        if A is None or obs_t is None:\n            return jnp.array(0.0)\n        return compute_accuracy(\n            qs_t,\n            obs_t,\n            A,\n            A_dependencies=A_dependencies,\n            distr_obs=distr_obs,\n        )\n\n    if not is_sequence:\n        neg_entropy_t = _neg_entropy_term(qs)\n        prior_cross_entropy_t = _state_prior_term(qs)\n        accuracy_t = _accuracy_term(qs, obs)\n        transition_cross_entropy_t = jnp.array(0.0)\n        vfe_t = neg_entropy_t + prior_cross_entropy_t - accuracy_t\n    else:\n        T = qs[0].shape[0]\n        past_actions = _ensure_vfe_action_history_shape(past_actions, num_factors)\n        if B is not None and past_actions is not None:\n            expected_history_len = max(T - 1, 0)\n            if past_actions.shape[0] != expected_history_len:\n                raise ValueError(\n                    \"`past_actions` has leading dimension \"\n                    f\"{past_actions.shape[0]}, expected {expected_history_len}\"\n                )\n\n        if obs_valid_mask is None:\n            obs_valid_mask = jnp.ones((T,), dtype=bool)\n        else:\n            obs_valid_mask = jnp.asarray(obs_valid_mask, dtype=bool)\n\n        if transition_valid_mask is None:\n            if T <= 1:\n                transition_valid_mask = jnp.zeros((0,), dtype=bool)\n            else:\n                transition_valid_mask = obs_valid_mask[:-1] & obs_valid_mask[1:]\n                if past_actions is not None:\n                    transition_valid_mask = transition_valid_mask & jnp.all(\n                        past_actions >= 0, axis=-1\n                    )\n        else:\n            transition_valid_mask = jnp.asarray(transition_valid_mask, dtype=bool)\n\n        start_mask = obs_valid_mask\n        if B is not None:\n            start_mask = obs_valid_mask & jnp.concatenate(\n                [jnp.ones((1,), dtype=bool), jnp.logical_not(transition_valid_mask)],\n                axis=0,\n            )\n\n        if joint_qs is not None:\n            for f, joint_f in enumerate(joint_qs):\n                if joint_f.shape[0] != max(T - 1, 0):\n                    raise ValueError(\n                        f\"`joint_qs[{f}]` has leading dimension {joint_f.shape[0]}, \"\n                        f\"expected {max(T - 1, 0)}\"\n                    )\n\n        if B is not None and past_actions is None and T > 1:\n            for B_f in B:\n                if B_f.shape[-1] != 1:\n                    raise ValueError(\n                        \"`past_actions` is required to compute sequence VFE \"\n                        \"when transition tensors have more than one control state\"\n                    )\n\n        padded_past_actions = (\n            None if past_actions is None else _pad_sequence_with_initial_zeros(past_actions)\n        )\n        padded_joint_qs = (\n            None\n            if joint_qs is None\n            else tree_util.tree_map(_pad_sequence_with_initial_zeros, joint_qs)\n        )\n        padded_prev_qs = tree_util.tree_map(\n            lambda q: _pad_sequence_with_initial_zeros(q[:-1]),\n            qs,\n        )\n        padded_transition_valid_mask = jnp.concatenate(\n            [jnp.zeros((1,), dtype=bool), transition_valid_mask],\n            axis=0,\n        )\n\n        def _scan_step(\n            carry: None, t: ArrayLike\n        ) -> tuple[\n            None,\n            tuple[ArrayLike, ArrayLike, ArrayLike, ArrayLike, ArrayLike],\n        ]:\n            qs_t = tree_util.tree_map(lambda q: q[t], qs)\n            obs_t = None if obs is None else tree_util.tree_map(lambda o: o[t], obs)\n\n            valid_scale = obs_valid_mask[t].astype(jnp.result_type(*qs_t))\n            start_scale = start_mask[t].astype(valid_scale.dtype)\n            prior_term_t = _state_prior_term(qs_t) * valid_scale\n            accuracy_term_t = _accuracy_term(qs_t, obs_t) * valid_scale\n\n            neg_entropy_marginal_t = _neg_entropy_term(qs_t) * valid_scale\n            if padded_joint_qs is None:\n                neg_entropy_term_t = neg_entropy_marginal_t\n            else:\n                joint_qs_t = tree_util.tree_map(lambda q: q[t], padded_joint_qs)\n                neg_entropy_cond_t = 0.0\n                for joint_f_t in joint_qs_t:\n                    parent_marginal_t = joint_f_t.sum(axis=0)\n                    neg_entropy_cond_t += (\n                        _expected_log_prob_tensor(log_stable(joint_f_t), joint_f_t)\n                        - _expected_log_prob_tensor(\n                            log_stable(parent_marginal_t), parent_marginal_t\n                        )\n                    )\n                neg_entropy_cond_t = neg_entropy_cond_t * valid_scale\n                neg_entropy_term_t = (\n                    start_scale * neg_entropy_marginal_t\n                    + (1.0 - start_scale) * neg_entropy_cond_t\n                )\n\n            if B is None:\n                transition_term_t = jnp.array(0.0, dtype=neg_entropy_term_t.dtype)\n            else:\n                transition_term_t = 0.0\n                actions_t = None if padded_past_actions is None else padded_past_actions[t]\n                for f in range(max(len(B), len(B_dependencies))):\n                    B_f = _to_dense_if_sparse(B[f])\n                    deps_f = B_dependencies[f]\n                    if actions_t is None:\n                        B_f_t = B_f[..., 0]\n                    else:\n                        action_f = actions_t[f].astype(jnp.int32)\n                        safe_action_f = jnp.where(action_f < 0, 0, action_f)\n                        B_f_t = jnp.take(B_f, safe_action_f, axis=-1)\n\n                    if padded_joint_qs is None:\n                        transition_term_t += -_expected_log_prob(\n                            log_stable(B_f_t),\n                            [qs_t[f]] + [padded_prev_qs[d][t] for d in deps_f],\n                        )\n                    else:\n                        joint_f_t = _to_dense_if_sparse(padded_joint_qs[f][t])\n                        if joint_f_t.shape != B_f_t.shape:\n                            raise ValueError(\n                                f\"`joint_qs[{f}]` has per-timestep shape {joint_f_t.shape}, \"\n                                f\"expected {B_f_t.shape} to match the conditioned transition tensor\"\n                            )\n                        transition_term_t += -_expected_log_prob_tensor(\n                            log_stable(B_f_t), joint_f_t\n                        )\n\n                transition_term_t = (\n                    transition_term_t\n                    * padded_transition_valid_mask[t].astype(neg_entropy_term_t.dtype)\n                    * (1.0 - start_scale)\n                )\n\n            if B is None:\n                prior_cross_entropy_term_t = prior_term_t\n                dynamics_term_t = prior_term_t\n            else:\n                prior_cross_entropy_term_t = prior_term_t * start_scale\n                dynamics_term_t = prior_cross_entropy_term_t + transition_term_t\n\n            vfe_term_t = neg_entropy_term_t + dynamics_term_t - accuracy_term_t\n\n            return None, (\n                neg_entropy_term_t,\n                prior_cross_entropy_term_t,\n                transition_term_t,\n                accuracy_term_t,\n                vfe_term_t,\n            )\n\n        _, scan_outputs = lax.scan(_scan_step, None, jnp.arange(T))\n        (\n            neg_entropy_t,\n            prior_cross_entropy_t,\n            transition_cross_entropy_t,\n            accuracy_t,\n            vfe_t,\n        ) = scan_outputs\n\n    parameter_kl_A = _sum_dirichlet_kl(qA, pA, event_dim=0)\n    parameter_kl_B = _sum_dirichlet_kl(qB, pB, event_dim=0)\n    parameter_kl = parameter_kl_A + parameter_kl_B\n    vfe = vfe_t.sum() + parameter_kl\n\n    if not return_decomposition:\n        return vfe_t, vfe\n\n    decomposition = {\n        \"neg_entropy_t\": neg_entropy_t,\n        \"prior_cross_entropy_t\": prior_cross_entropy_t,\n        \"transition_cross_entropy_t\": transition_cross_entropy_t,\n        \"accuracy_t\": accuracy_t,\n        \"state_vfe\": vfe_t.sum(),\n        \"parameter_kl_A\": parameter_kl_A,\n        \"parameter_kl_B\": parameter_kl_B,\n        \"parameter_kl\": parameter_kl,\n    }\n    return vfe_t, vfe, decomposition\n\n\ndef multidimensional_outer(arrs: list[ArrayLike]) -> ArrayLike:\n    \"\"\"Compute the outer product of a list of arrays by iterative expansion.\n\n    Parameters\n    ----------\n    arrs: list[ArrayLike]\n        List of arrays to combine.\n\n    Returns\n    -------\n    ArrayLike\n        Outer product tensor.\n    \"\"\"\n\n    x = arrs[0]\n    for q in arrs[1:]:\n        x = jnp.expand_dims(x, -1) * q\n\n    return x\n\ndef _exact_wnorm(A: ArrayLike) -> ArrayLike:\n    \"\"\"\n    Implements (-1) * eq. (D.15) in Da Costa et al. ‘Active inference on discrete state-spaces: A synthesis’, Journal of Mathematical Psychology, 2020.\n\n    Note: Like the legacy SPM implementation this function clips A for numerical stability. However note that if some values of Aare set to zero e.g. by Bayesian model reduction, these are non-zeroed in this calculation, and thus contribute a large amount to the information gain unless these are zeroed when multiplying by beliefs about states and expected observations. In principle, this should be the case.\n\n    Parameters\n    ----------\n    A: ArrayLike\n        Dirichlet-like array.\n\n    Returns\n    -------\n    ArrayLike\n        Exact parameter information-gain weight matrix.\n    \"\"\"\n    # Clip once and reuse for numerical stability\n    safe_A = jnp.clip(A, MINVAL)\n    safe_sumA = jnp.clip(safe_A.sum(axis=0), MINVAL)\n\n    wA = (\n        jnp.log(safe_sumA) - jnp.log(safe_A)\n        + 1. / safe_A - 1. / safe_sumA\n        + digamma(safe_A) - digamma(safe_sumA)\n    )\n\n    return -wA # TODO: minus sign here gives negative info gain for backward compatibility with spm implementation. Later will need to remove minus sign here to get positive info gain and adjust function documentation accordingly.\n\ndef spm_wnorm(A: ArrayLike, exact_param_info_gain: bool = True) -> ArrayLike:\n    \"\"\"\n    Returns the weight matrix used in PyMDP's parameter information-gain term.\n\n    Historically this was the heuristic `1/Σα − 1/α`. If `exact_param_info_gain` is set to *True* we instead return the exact value of\n    the weight matrix used in the info gain computation defined in _exact_wnorm \n    while keeping the original function signature so that the rest of the codebase remains unchanged.\n\n    Parameters\n    ----------\n    A: ArrayLike\n        Dirichlet concentration-like array.\n    exact_param_info_gain: bool, default=True\n        Choose exact (`True`) or legacy heuristic (`False`) form.\n\n    Returns\n    -------\n    ArrayLike\n        Parameter information-gain weight matrix.\n    \"\"\"\n\n    if exact_param_info_gain:\n        return _exact_wnorm(A)\n\n    \"\"\"spm legacy heuristic for computing information-gain over parameters:\n    Implements (-2) * second line of eq. (D.17) in Da Costa et al. ‘Active inference on discrete state-spaces: A synthesis’, Journal of Mathematical Psychology, 2020\"\"\"\n    norm = 1. / A.sum(axis=0)\n    avg = 1. / (A + MINVAL)\n    wA = norm - avg\n    return wA\n\n\ndef dirichlet_expected_value(dir_arr: ArrayLike, event_dim: int = 0) -> ArrayLike:\n    \"\"\"\n    Returns the expected value of Dirichlet parameters over a set of\n    Categorical distributions, whose event/output dimension is stored in the axis of each array given by event_dim (default is 0).\n\n    Parameters\n    ----------\n    dir_arr: ArrayLike\n        Dirichlet parameters.\n    event_dim: int, default=0\n        Event axis to normalize over.\n\n    Returns\n    -------\n    ArrayLike\n        Expected Categorical probabilities.\n    \"\"\"\n    dir_arr = jnp.clip(dir_arr, min=MINVAL)\n    expected_val = jnp.divide(dir_arr, dir_arr.sum(axis=event_dim, keepdims=True))\n    return expected_val\n\n\n# Infer states hybrid\n\n# NOTE: In this script, factor_dot_flex and factor_dot are JIT-compiled:\n#   @partial(jit, static_argnames=[\"dims\", \"keep_dims\"])\n# In the edge deployment workflow, these functions were *not* JIT-compiled at this stage.\n\ndef compute_log_likelihoods_padded(obs_padded: ArrayLike, A_padded: ArrayLike) -> ArrayLike:\n    \"\"\"Compute padded log-likelihoods.\n\n    Parameters\n    ----------\n    obs_padded: ArrayLike\n        Padded observations.\n    A_padded: ArrayLike\n        Padded likelihood tensor.\n\n    Returns\n    -------\n    ArrayLike\n        Log-stable likelihood over padded input.\n    \"\"\"\n    return log_stable(\n        (jnp.expand_dims(obs_padded, tuple(range(obs_padded.ndim, A_padded.ndim))) * A_padded).sum(axis=1)\n    )\n\ndef deconstruct_lls(\n    lls_padded: ArrayLike, A_shapes: Sequence[tuple[int, ...]]\n) -> list[ArrayLike]:\n    \"\"\"Split padded likelihood tensor into modality-specific blocks.\n\n    Parameters\n    ----------\n    lls_padded: ArrayLike\n        Combined padded log-likelihood tensor.\n    A_shapes: Sequence[tuple[int, ...]]\n        Original unpadded shapes per modality.\n\n    Returns\n    -------\n    list[ArrayLike]\n        One tensor per modality.\n    \"\"\"\n    # Extract batch size from the first A_shape (all should have the same batch size)\n    batch_size = lls_padded.shape[0] // len(A_shapes)\n    lls = []\n    for i, a_shape in enumerate(A_shapes):\n        ll = lls_padded[i*batch_size : (i+1)*batch_size]\n        idx = [\n            slice(0, batch_size)\n        ] + [\n            slice(0, dim) for dim in a_shape[2:]\n        ] + [\n            0 for _ in range(ll.ndim - len(a_shape) + 1)\n        ]\n        lls.append(ll[tuple(idx)])\n    return lls\n\n# Infer states hybrid block\n\ndef compute_log_likelihoods_flat_block_diag_einsum(\n    A_big: ArrayLike, obs_big: ArrayLike\n) -> ArrayLike:\n    \"\"\"\n    Compute flat log-likelihoods using block-diagonal einsum.\n\n    Parameters\n    ----------\n    A_big: ArrayLike\n        Block-diagonal likelihood matrix.\n    obs_big: ArrayLike\n        Block-diagonal observations.\n\n    Returns\n    -------\n    ArrayLike\n        Flat log-likelihoods.\n    \"\"\"\n    # ll_flat = A_big @ obs_big\n    ll_flat = jnp.einsum('brc,bc->br', A_big, obs_big)\n    if isinstance(ll_flat, jsparse.BCOO):\n        ll_flat = jsparse.todense(ll_flat)\n    return log_stable(ll_flat)\n\ndef compute_log_likelihoods_flat_block_diag(A_big: ArrayLike, obs_big: ArrayLike) -> ArrayLike:\n    \"\"\"\n    Compute flat log-likelihoods using block-diagonal multiplication.\n\n    Parameters\n    ----------\n    A_big: ArrayLike\n        Block-diagonal likelihood matrix.\n    obs_big: ArrayLike\n        Block-diagonal observations.\n\n    Returns\n    -------\n    ArrayLike\n        Flat log-likelihoods.\n    \"\"\"\n    ll_flat = A_big @ obs_big\n    if isinstance(ll_flat, jsparse.BCOO):\n        ll_flat = jsparse.todense(ll_flat)\n    return log_stable(ll_flat)\n\ndef deconstruct_log_likelihoods_block_diag(\n    ll_flat: ArrayLike, state_shapes: Sequence[tuple[int, ...]], cuts: Sequence[int]\n) -> list[ArrayLike]:\n    \"\"\"\n    Split block-diagonal likelihood tensor into per-modality tensors.\n\n    Parameters\n    ----------\n    ll_flat: ArrayLike\n        Flat log-likelihood tensor.\n    state_shapes: Sequence[tuple[int, ...]]\n        Unwrapped state shapes per modality.\n    cuts: Sequence[int]\n        Boundary indices for each modality block.\n\n    Returns\n    -------\n    list[ArrayLike]\n        Reshaped per-modality likelihood tensors.\n    \"\"\"\n    pieces = jnp.split(ll_flat, cuts, axis=1)\n    out = [p.reshape(p.shape[0], *shape) for p, shape in zip(pieces, state_shapes)]\n    return out\n\ndef compute_log_likelihoods_block_diag(\n    A_big: ArrayLike,\n    obs_big: ArrayLike,\n    state_shapes: Sequence[tuple[int, ...]],\n    cuts: Sequence[int],\n    use_einsum: bool = False,\n) -> list[ArrayLike]:\n    \"\"\"\n    Compute log-likelihoods using a block-diagonal approach.\n\n    Parameters\n    ----------\n    A_big: ArrayLike\n        Block-diagonal likelihood matrix.\n    obs_big: ArrayLike\n        Concatenated block observations.\n    state_shapes: Sequence[tuple[int, ...]]\n        Shape of each modality block.\n    cuts: Sequence[int]\n        Cumulative cut indices.\n    use_einsum: bool, default=False\n        Use explicit einsum path if `True`.\n\n    Returns\n    -------\n    list[ArrayLike]\n        Per-modality log-likelihood tensors.\n    \"\"\"\n    # obs_big = concatenate_observations_block_diag(obs_list)\n    if use_einsum:\n        ll_flat = compute_log_likelihoods_flat_block_diag_einsum(A_big, obs_big)\n    else:\n        ll_flat = vmap(compute_log_likelihoods_flat_block_diag)(A_big, obs_big)\n    out = deconstruct_log_likelihoods_block_diag(ll_flat, state_shapes, cuts)\n    return out\n\n\n# Infer states end2end padded\n\ndef log_stable_sparse(x: ArrayLike) -> ArrayLike:\n    \"\"\"Compute numerically stable log for sparse or dense input.\n\n    Parameters\n    ----------\n    x: ArrayLike\n        Input tensor.\n\n    Returns\n    -------\n    ArrayLike\n        Elementwise log with sparse support preserved.\n    \"\"\"\n    if isinstance(x, jsparse.BCOO):\n        x = x.sum_duplicates(nse=x.nse)\n        return jsparse.BCOO((jnp.log(jnp.clip(x.data, min=MINVAL)), x.indices), shape=x.shape)\n    return jnp.log(jnp.clip(x, min=MINVAL))\n    \ndef compute_log_likelihood_per_modality_end2end2_padded(\n    obs_padded: ArrayLike, A_padded: ArrayLike, sparsity: str\n) -> ArrayLike:\n    \"\"\"Compute padded end-to-end per-modality likelihood.\n\n    Parameters\n    ----------\n    obs_padded: ArrayLike\n        Padded observations.\n    A_padded: ArrayLike\n        Padded likelihood tensors.\n    sparsity: str\n        If `\"ll_only\"` return only dense log-likelihoods, else sparse variant.\n\n    Returns\n    -------\n    ArrayLike\n        Log-likelihood tensor.\n    \"\"\"\n    likelihood = (\n        jnp.expand_dims(obs_padded, tuple(range(obs_padded.ndim, A_padded.ndim))) * A_padded\n    ).sum(axis=2)\n    return log_stable(likelihood) if sparsity == 'll_only' else log_stable_sparse(likelihood)\n\nif __name__ == \"__main__\":\n    obs = [0, 1, 2]\n    obs_vec = [nn.one_hot(o, 3) for o in obs]\n    A = [jnp.ones((3, 2)) / 3] * 3\n    res = jit(compute_log_likelihood)(obs_vec, A)\n\n    print(res)\n"
  },
  {
    "path": "pymdp/planning/__init__.py",
    "content": "\"\"\"Planning modules for advanced policy-search algorithms in `pymdp`.\"\"\"\n\n__all__ = [\"si\", \"mcts\", \"visualize\"]\n"
  },
  {
    "path": "pymdp/planning/mcts.py",
    "content": "from __future__ import annotations\n\nfrom functools import partial\nfrom typing import Any, Callable\nfrom jax import vmap, nn, random as jr, tree_util as jtu, lax\nfrom pymdp.control import (\n    compute_expected_state,\n    compute_expected_obs,\n    compute_info_gain,\n    compute_expected_utility,\n)\n\nimport jax.numpy as jnp\n\ntry:\n    import mctx\nexcept ImportError:  # pragma: no cover - handled by runtime guard\n    mctx = None\n\n\ndef _require_mctx() -> None:\n    \"\"\"Raise a helpful error if optional `mctx` is not installed.\"\"\"\n    if mctx is None:\n        raise ImportError(\n            \"`pymdp.planning.mcts` requires the optional dependency `mctx`. \"\n            \"Install it to use MCTS policy search.\"\n        )\n\n\ndef mcts_policy_search(\n    search_algo: Callable | None = None,\n    max_depth: int = 6,\n    num_simulations: int = 4096,\n) -> Callable[[Any, list[jnp.ndarray], jnp.ndarray], tuple[jnp.ndarray, Any]]:\n    \"\"\"Build an MCTS-based policy-search callable for `Agent` planning.\n\n    Parameters\n    ----------\n    search_algo : Callable, optional\n        MCTS search routine from `mctx` used to evaluate policy actions.\n    max_depth : int, default=6\n        Maximum planning depth for the tree search.\n    num_simulations : int, default=4096\n        Number of MCTS simulations per planning call.\n\n    Returns\n    -------\n    Callable[[Any, list[jnp.ndarray], jnp.ndarray], tuple[jnp.ndarray, Any]]\n        Function with signature `(agent, beliefs, rng_key) -> (q_pi, info)`\n        returning policy weights and raw search output.\n    \"\"\"\n\n    if search_algo is None:\n        _require_mctx()\n        search_algo = mctx.gumbel_muzero_policy\n\n    def si_policy(agent: Any, beliefs: list[jnp.ndarray], rng_key: jnp.ndarray) -> tuple[jnp.ndarray, Any]:\n\n        # remove time dimension\n        embedding = jtu.tree_map(lambda x: x[:, 0], beliefs)\n        root = mctx.RootFnOutput(\n            prior_logits=jnp.log(agent.E),\n            value=jnp.zeros((agent.batch_size)),\n            embedding=embedding,\n        )\n\n        recurrent_fn = make_aif_recurrent_fn()\n\n        policy_output = search_algo(\n            agent,\n            rng_key,\n            root,\n            recurrent_fn,\n            num_simulations=num_simulations,\n            max_depth=max_depth,\n        )\n\n        return policy_output.action_weights, policy_output\n\n    return si_policy\n\n\n@partial(vmap, in_axes=(0, 0, 0, None, 0, None, 0, None, None))\ndef compute_neg_efe(\n    qs: list[jnp.ndarray],\n    action: jnp.ndarray,\n    A: list[jnp.ndarray],\n    A_dependencies: list[list[int]],\n    B: list[jnp.ndarray],\n    B_dependencies: list[list[int]],\n    C: list[jnp.ndarray],\n    use_states_info_gain: bool = True,\n    use_utility: bool = True,\n) -> tuple[jnp.ndarray, list[jnp.ndarray], list[jnp.ndarray]]:\n    \"\"\"Compute one-step negative expected free energy under an action.\n\n    Parameters\n    ----------\n    qs : list[jnp.ndarray]\n        Current posterior beliefs over hidden-state factors.\n    action : jnp.ndarray\n        Candidate action (multi-action index vector per batch element).\n    A : list[jnp.ndarray]\n        Observation model tensors.\n    A_dependencies : list[list[int]]\n        Modality-to-factor dependencies for `A`.\n    B : list[jnp.ndarray]\n        Transition model tensors.\n    B_dependencies : list[list[int]]\n        Factor-to-factor transition dependencies for `B`.\n    C : list[jnp.ndarray]\n        Preferences over observations.\n    use_states_info_gain : bool, default=True\n        Whether to include state information gain in EFE.\n    use_utility : bool, default=True\n        Whether to include expected utility in EFE.\n\n    Returns\n    -------\n    tuple[jnp.ndarray, list[jnp.ndarray], list[jnp.ndarray]]\n        Negative EFE, predicted next-state beliefs, and predicted\n        next-observation beliefs.\n    \"\"\"\n    qs_next_pi = compute_expected_state(\n        qs, B, action, B_dependencies=B_dependencies\n    )\n    qo_next_pi = compute_expected_obs(qs_next_pi, A, A_dependencies)\n    if use_states_info_gain:\n        exp_info_gain = compute_info_gain(\n            qs_next_pi, qo_next_pi, A, A_dependencies\n        )\n    else:\n        exp_info_gain = 0.0\n\n    if use_utility:\n        exp_utility = compute_expected_utility(qo_next_pi, C)\n    else:\n        exp_utility = 0.0\n\n    return exp_utility + exp_info_gain, qs_next_pi, qo_next_pi\n\n\n@partial(vmap, in_axes=(0, 0, None))\ndef get_prob_single_modality(o_m: jnp.ndarray, po_m: jnp.ndarray, distr_obs: bool) -> jnp.ndarray:\n    \"\"\"Compute observation likelihood for a single modality (observation and likelihood)\"\"\"\n    return jnp.inner(o_m, po_m) if distr_obs else po_m[o_m]\n\n\ndef make_aif_recurrent_fn() -> Callable[[Any, jnp.ndarray, jnp.ndarray, Any], tuple[mctx.RecurrentFnOutput, Any]]:\n    \"\"\"Returns a recurrent_fn for an AIF agent.\"\"\"\n    _require_mctx()\n\n    def recurrent_fn(\n        agent: Any, rng_key: jnp.ndarray, action: jnp.ndarray, embedding: Any\n    ) -> tuple[mctx.RecurrentFnOutput, Any]:\n        multi_action = agent.policies[action, 0]\n        qs = embedding\n        neg_efe, qs_next_pi, qo_next_pi = compute_neg_efe(qs,\n                                                          multi_action,\n                                                          agent.A,\n                                                          agent.A_dependencies,\n                                                          agent.B,\n                                                          agent.B_dependencies,\n                                                          agent.C,\n                                                          agent.use_states_info_gain,\n                                                          agent.use_utility)\n\n        # recursively branch the policy + observation tree\n        choice = lambda key, po: jr.categorical(key, logits=jnp.log(po))\n        if agent.categorical_obs:\n            sample = lambda key, po, no: nn.one_hot(choice(key, po), no)\n        else:\n            sample = lambda key, po, no: choice(key, po)\n\n        # set discount to observation probabilities\n        discount = 1.0\n        obs = []\n        for no_m, qo_m in zip(agent.num_obs, qo_next_pi):\n            rng_key, key = jr.split(rng_key)\n            o_m = sample(key, qo_m, no_m)\n            discount *= get_prob_single_modality(o_m, qo_m, agent.categorical_obs)\n            obs.append(jnp.expand_dims(o_m, 1))\n\n        qs_next_posterior = agent.infer_states(obs, qs_next_pi)\n        # remove time dimension\n        # TODO: update infer_states to not expand along time dimension when needed\n        qs_next_posterior = jtu.tree_map(lambda x: x.squeeze(1), qs_next_posterior)\n        recurrent_fn_output = mctx.RecurrentFnOutput(\n            reward=neg_efe,\n            discount=discount,\n            prior_logits=jnp.log(agent.E),\n            value=jnp.zeros_like(neg_efe),\n        )\n\n        return recurrent_fn_output, qs_next_posterior\n\n    return recurrent_fn\n\n\n# custom rollout function for mcts\ndef rollout(\n    policy_search: Callable,\n    agent: Any,\n    env: Any,\n    num_timesteps: int,\n    rng_key: jnp.ndarray,\n) -> tuple[dict[str, Any], dict[str, Any], Any]:\n    \"\"\"Run a policy-search rollout loop for MCTS-based planning.\n\n    Parameters\n    ----------\n    policy_search : Callable\n        Planning callable that maps `(rng_key, agent, qs)` to policy weights.\n    agent : Any\n        Active inference agent.\n    env : Any\n        Environment exposing `step(...)` for batched transitions.\n    num_timesteps : int\n        Number of rollout steps.\n    rng_key : jnp.ndarray\n        Root JAX PRNG key.\n\n    Returns\n    -------\n    tuple[dict[str, Any], dict[str, Any], Any]\n        Final carry dictionary, per-step rollout traces, and final environment.\n    \"\"\"\n    # get the batch_size of the agent\n    batch_size = agent.batch_size\n\n    def step_fn(carry: dict[str, Any], x: jnp.ndarray) -> tuple[dict[str, Any], dict[str, Any]]:\n        observation_t = carry[\"observation_t\"]\n        prior = carry[\"empirical_prior\"]\n        env = carry[\"env\"]\n        rng_key = carry[\"rng_key\"]\n\n        # We infer the posterior using FPI\n        # so we don't need past actions or qs_hist\n        qs = agent.infer_states(observation_t, prior)\n        rng_key, key = jr.split(rng_key)\n        qpi, _ = policy_search(key, agent, qs)\n\n        keys = jr.split(rng_key, batch_size + 1)\n        rng_key = keys[0]\n        action_t = agent.sample_action(qpi, rng_key=keys[1:])\n\n        keys = jr.split(rng_key, batch_size + 1)\n        rng_key = keys[0]\n        observation_t, env = env.step(rng_key=keys[1:], actions=action_t)\n\n        prior, _ = agent.infer_empirical_prior(action_t, qs)\n\n        carry = {\n            \"observation_t\": observation_t,\n            \"empirical_prior\": prior,\n            \"env\": env,\n            \"rng_key\": rng_key,\n        }\n        info = {\n            \"qpi\": qpi,\n            \"qs\": jtu.tree_map(lambda x: x[:, 0], qs),\n            \"env\": env,\n            \"observation\": observation_t,\n            \"action\": action_t,\n        }\n\n        return carry, info\n\n    # generate initial observation\n    keys = jr.split(rng_key, batch_size + 1)\n    rng_key = keys[0]\n    observation_0, env = env.step(keys[1:])\n\n    initial_carry = {\n        \"observation_t\": observation_0,\n        \"empirical_prior\": agent.D,\n        \"env\": env,\n        \"rng_key\": rng_key,\n    }\n\n    # Scan over time dimension (axis 1)\n    last, info = lax.scan(step_fn, initial_carry, jnp.arange(num_timesteps))\n\n    info = jtu.tree_map(lambda x: jnp.swapaxes(x, 0, 1), info)\n    return last, info, env\n"
  },
  {
    "path": "pymdp/planning/si.py",
    "content": "import numpy as np\nimport jax\nimport jax.numpy as jnp\nimport jax.tree_util as jtu\nimport jax.lax as lax\nimport jax.random as jr\nimport jax.nn as nn\nimport equinox as eqx\n\nfrom functools import partial\nfrom typing import Any, Callable, List\n\nimport pymdp\nimport pymdp.maths\nfrom pymdp.control import (\n    compute_info_gain,\n    compute_expected_utility,\n    compute_expected_state,\n    compute_expected_obs,\n)\n\n\ndef predict_fn(agent: Any, qs: list[jnp.ndarray]) -> tuple[list[jnp.ndarray], list[jnp.ndarray], jnp.ndarray]:\n    \"\"\"Predict one-step beliefs and policy scores for all policies.\n\n    Parameters\n    ----------\n    agent : Any\n        Active inference agent containing `A`, `B`, `C`, dependencies, and\n        policy definitions.\n    qs : list[jnp.ndarray]\n        Current posterior beliefs over hidden-state factors.\n\n    Returns\n    -------\n    tuple[list[jnp.ndarray], list[jnp.ndarray], jnp.ndarray]\n        Predicted next-state beliefs, predicted next-observation beliefs, and\n        policy scores (`neg_efe = -EFE`) for each policy.\n    \"\"\"\n    policies = agent.policies.policy_arr\n\n    def _step(\n        q: list[jnp.ndarray], policy: jnp.ndarray\n    ) -> tuple[list[jnp.ndarray], list[jnp.ndarray], jnp.ndarray, jnp.ndarray]:\n        qs = compute_expected_state(q, agent.B, policy, agent.B_dependencies)\n        qo = compute_expected_obs(qs, agent.A, agent.A_dependencies)\n        u = compute_expected_utility(qo, agent.C)\n        ig = compute_info_gain(qs, qo, agent.A, agent.A_dependencies)\n        return qs, qo, u, ig\n\n    qs, qo, u, ig = jax.vmap(\n        lambda policy: jax.vmap(_step)(qs, policy)\n    )(policies)\n    neg_efe = u + ig\n    # jax.debug.print(\"qs: {qs}\", qs=qs)\n    # jax.debug.print(\"qo: {qo}\", qo=qo)\n    # jax.debug.print(\"u: {u}\", u=u)\n    # jax.debug.print(\"ig: {ig}\", ig=ig)\n    # jax.debug.print(\"neg_efe from step fn: {neg_efe}\", neg_efe=neg_efe)\n    return qs, qo, neg_efe\n\n\ndef infer_fn(agent: Any, obs: list[jnp.ndarray], qs: list[jnp.ndarray]) -> list[jnp.ndarray]:\n    \"\"\"Infer posterior states for a candidate observation in SI expansion.\n\n    Parameters\n    ----------\n    agent : Any\n        Active inference agent.\n    obs : list[jnp.ndarray]\n        Candidate observation(s) for each modality.\n    qs : list[jnp.ndarray]\n        Prior/predictive beliefs to condition on for state inference.\n\n    Returns\n    -------\n    list[jnp.ndarray]\n        Posterior beliefs over hidden-state factors.\n    \"\"\"\n    agent_expanded = jtu.tree_map(lambda x: x[None, ...], agent)\n    qs_post = agent_expanded.infer_states(obs, qs)\n    # remove time dim from qs_post\n    qs_post = jtu.tree_map(lambda x: x[:, 0, :], qs_post)\n    return qs_post\n\n\ndef si_policy_search(\n    horizon: int = 5,\n    max_nodes: int = 5000,\n    max_branching: int = 10,\n    policy_prune_threshold: float = 1 / 16,\n    observation_prune_threshold: float = 1 / 16,\n    entropy_stop_threshold: float = 0.5,\n    neg_efe_stop_threshold: float = 1e10,\n    kl_threshold: float = -1,\n    prune_penalty: float = 512,\n    gamma: float = 1,\n    topk_obsspace: int = 10000,\n    infer_fn: Callable = infer_fn,\n    predict_fn: Callable = predict_fn,\n) -> Callable:\n    \"\"\"Create a sophisticated-inference policy-search function.\n\n    Parameters\n    ----------\n    horizon : int, default=5\n        Maximum tree-expansion horizon.\n    max_nodes : int, default=5000\n        Maximum number of nodes preallocated in the planning tree.\n    max_branching : int, default=10\n        Maximum number of children per node.\n    policy_prune_threshold : float, default=1/16\n        Minimum policy probability required for expansion.\n    observation_prune_threshold : float, default=1/16\n        Minimum observation-branch probability required for expansion.\n    entropy_stop_threshold : float, default=0.5\n        Stop-expansion threshold on root policy entropy.\n    neg_efe_stop_threshold : float, default=1e10\n        Stop-expansion threshold on root negative expected free energy\n        (`neg_efe = -EFE`). Expansion stops when root `neg_efe` is greater\n        than or equal to this threshold.\n    kl_threshold : float, default=-1\n        Optional KL threshold for node reuse.\n    prune_penalty : float, default=512\n        Penalty assigned to pruned/dead-end branches.\n    gamma : float, default=1\n        Precision/temperature scale used in policy softmax updates.\n    topk_obsspace : int, default=10000\n        Maximum observation-combination budget per expansion.\n    infer_fn : Callable, optional\n        State-inference function used during observation expansion.\n    predict_fn : Callable, optional\n        One-step prediction/valuation function for policy expansion.\n\n    Returns\n    -------\n    Callable\n        Search function compatible with `pymdp.envs.rollout.rollout` policy\n        hooks.\n    \"\"\"\n\n    @partial(jax.jit, static_argnames=[\"reset\"])\n    def search_fn(\n        agent: Any,\n        qs: list[jnp.ndarray] | None = None,\n        rng_key: jnp.ndarray | None = None,\n        tree: Any = None,\n        reset: bool = False,\n    ) -> tuple[jnp.ndarray, dict[str, Any]]:\n        \"\"\"\n        Infer the best policy given the agent and initial state, optionally provide\n        the initial planning tree to continue searching from.\n\n        Returns q_pi and plan tree.\n        \"\"\"\n        # WARNING: if we scan over batched agents, then it can happen that\n        # the agent has batch_size field set > 1 but the tensors are \n        # in fact of shape [1, ...] because of scanning over it.\n        batch_size = agent.A[0].shape[0]\n\n        if tree is None:\n            tree = Tree(\n                qs, agent.num_factors, agent.num_modalities, max_nodes, max_branching, batch_size=batch_size\n            )\n\n        partial_tree_search = partial(\n            optimized_tree_search,\n            horizon=horizon,\n            policy_prune_threshold=policy_prune_threshold,\n            observation_prune_threshold=observation_prune_threshold,\n            entropy_stop_threshold=entropy_stop_threshold,\n            neg_efe_stop_threshold=neg_efe_stop_threshold,\n            kl_threshold=kl_threshold,\n            prune_penalty=prune_penalty,\n            gamma=gamma,\n            topk_obsspace=topk_obsspace,\n            infer_fn=infer_fn,\n            predict_fn=predict_fn\n        )\n\n        # vmapping a jax.lax.cond() turns it into a jax.lax.select(),\n        # which runs all paths and selects the result of the condition\n        # this makes it terribly slow for planning trees\n        # so we use a scan to iterate over the tree nodes instead\n        # tree = jax.vmap(partial_tree_search)(\n        #     agent,\n        #     tree,\n        # )\n        def scan_tree_search(\n            carry: Any, data: tuple[Any, \"Tree\"]\n        ) -> tuple[None, tuple[Any, \"Tree\"]]:\n            agent, tree = data\n            tree = partial_tree_search(agent, tree)\n            return None, (agent, tree)\n\n        if not reset: # reset flag just to create an initial tree structure\n            _, data = lax.scan(scan_tree_search, None, (agent, tree))\n            _, tree = data\n\n        # calculate q_pi from the root in a way that is jittable\n        q_pi = tree.children_probs[jnp.arange(batch_size), jax.vmap(root_idx)(tree)]\n        q_pi = q_pi[:, : agent.policies.num_policies]\n        return q_pi, { \"tree\": tree }\n\n    return search_fn\n\n\nclass Tree(eqx.Module):\n    \"\"\"\n    A tree structure to hold the planning nodes and their data.\n\n    This is an equinox module which allows for JAX transformations like jit.\n    Pre-allocates memory for up to `max_nodes` nodes and `max_branching` children per node.\n    \"\"\"\n\n    size: int = eqx.field(static=True)\n\n    # Tree nodes data (n_nodes, feature_dims)\n    # Node belief states\n    qs: List[jnp.ndarray]\n    # Policy taken if a policy node\n    policy: jnp.ndarray\n    # Observation expected if an observation node\n    observation: jnp.ndarray\n    # Node neg_efe estimates.\n    # - for a policy node: neg_efe of that policy at that timestep\n    # - for an observation node: recursively aggregated neg_efe of all children\n    neg_efe: jnp.ndarray\n\n    # Tree structure bookkeeping\n    # Wheter a node is used or not (n_nodes, 1)\n    used: jnp.ndarray\n    # Which horizon level the node represents (n_nodes, 1)\n    horizon: jnp.ndarray\n    # Indices to children (n_nodes, max_branching), -1 if unused\n    children_indices: jnp.ndarray\n    # Probabilities for each child (q_pi for policy children, q_o for observation children)\n    # (n_nodes, max_branching)\n    children_probs: jnp.ndarray\n\n    def __init__(\n        self,\n        qs: list[jnp.ndarray],\n        num_action_modalities: int,\n        num_observation_modalities: int,\n        max_nodes: int,\n        max_branching: int,\n        batch_size: int = 1,\n        prune_penalty: float = 512,\n    ) -> None:\n        self.size = max_nodes\n\n        self.qs = [jnp.zeros((batch_size, max_nodes, 1, q.shape[-1])) for q in qs]\n        self.policy = -jnp.ones((batch_size, max_nodes, num_action_modalities), dtype=jnp.int32)\n        self.observation = -jnp.ones(\n            (batch_size, max_nodes, num_observation_modalities), dtype=jnp.int32\n        )\n        self.neg_efe = jnp.zeros((batch_size, max_nodes, 1))\n\n        self.neg_efe = self.neg_efe.at[:, -1, :].set(-prune_penalty)\n\n        self.used = jnp.zeros((batch_size, max_nodes, 1), dtype=jnp.bool)\n        self.horizon = jnp.zeros((batch_size, max_nodes, 1), dtype=jnp.int32)\n        self.children_indices = -jnp.ones((batch_size, max_nodes, max_branching), dtype=jnp.int32)\n        self.children_probs = jnp.zeros((batch_size, max_nodes, max_branching), dtype=jnp.float32)\n\n        # set root node\n        # self.qs is of shape [batch_size, max_nodes, 1, state_dim]  qs will be [batch_size, 1, state_dim]\n        self.qs = jtu.tree_map(lambda x, y: x.at[:, 0, ...].set(y), self.qs, qs)\n        self.used = self.used.at[:, 0].set(True)\n        self.observation = self.observation.at[:, 0].set(0)\n\n    def __getitem__(self, index: int) -> dict[str, Any]:\n        \"\"\"\n        Get the node at the given index as a dictionary.\n\n        Works on a non-batched Tree!\n        \"\"\"\n        node = {\n            \"idx\": index,\n            \"qs\": jtu.tree_map(lambda x: x[index : index + 1], self.qs),\n            \"neg_efe\": self.neg_efe[index, 0],\n            \"horizon\": self.horizon[index, 0],\n        }\n\n        if jnp.any(self.children_indices[index] >= 0):\n            children_indices_array = self.children_indices[index]\n            children_probs_array = self.children_probs[index]\n\n            valid_mask = children_indices_array >= 0\n\n            valid_children = children_indices_array[valid_mask]\n            valid_probs = children_probs_array[valid_mask]\n\n            node[\"children\"] = valid_children\n            node[\"children_probs\"] = valid_probs\n        else:\n            node[\"children\"] = jnp.array([], dtype=jnp.int32)\n            node[\"children_probs\"] = jnp.array([], dtype=jnp.float32)\n\n        policy_valid = jnp.any(self.policy[index] >= 0)\n        if policy_valid:\n            node[\"policy\"] = self.policy[index]\n        else:\n            node[\"observation\"] = self.observation[index : index + 1]\n\n        return node\n\n    def root(self) -> dict[str, Any]:\n        \"\"\"\n        Get the root nodes of the tree.\n\n        Works on a non-batched Tree!\n        \"\"\"\n        root_node = self[root_idx(self)]\n        return root_node\n\n\ndef root_idx(tree: Tree) -> jnp.ndarray:\n    \"\"\"Return the index of the root observation node in a planning tree.\n\n    Parameters\n    ----------\n    tree : Tree\n        Planning tree instance.\n\n    Returns\n    -------\n    jnp.ndarray\n        Scalar index of the root node, or `-1` if not found.\n    \"\"\"\n    root_idx = jnp.argwhere(\n        (tree.used)[:, 0]\n        & (tree.horizon == 0)[:, 0]\n        & ~jnp.all(tree.observation == -1, axis=-1),\n        size=1,\n        fill_value=-1,\n    )[0, 0]\n    return root_idx\n\n\ndef _do_nothing(tree: Tree, idx: jnp.ndarray) -> Tree:\n    return tree\n\n\ndef _update_node(\n    tree: Tree,\n    idx: jnp.ndarray,\n    qs: list[jnp.ndarray] | None = None,\n    policy: jnp.ndarray | None = None,\n    observation: jnp.ndarray | None = None,\n    neg_efe: jnp.ndarray | None = None,\n    horizon: int | None = None,\n    children_indices: jnp.ndarray | None = None,\n    children_probs: jnp.ndarray | None = None,\n) -> Tree:\n    \"\"\"\n    Update a node in the planning tree with new data at index `idx`.\n\n    When all nodes are already used, it will not update the node and print a warning.\n    \"\"\"\n\n    def _do_update(\n        tree: Tree,\n        idx: jnp.ndarray,\n        qs: list[jnp.ndarray] | None,\n        policy: jnp.ndarray | None,\n        observation: jnp.ndarray | None,\n        neg_efe: jnp.ndarray | None,\n        horizon: int | None,\n        children_indices: jnp.ndarray | None,\n        children_probs: jnp.ndarray | None,\n    ) -> Tree:\n        qs = (\n            jtu.tree_map(lambda x, y: x.at[idx].set(y), tree.qs, qs)\n            if qs is not None\n            else tree.qs\n        )\n        # if we set a policy, we also set the observation to -1\n        if policy is not None:\n            policy = tree.policy.at[idx].set(policy)\n            observation = tree.observation.at[idx].set(-1)\n        elif observation is not None:\n            # if observation is set, we also set the policy to -1\n            observation = tree.observation.at[idx].set(observation)\n            policy = tree.policy.at[idx].set(-1)\n        else:\n            policy = tree.policy\n            observation = tree.observation\n\n        neg_efe_vals = (\n            tree.neg_efe.at[idx].set(neg_efe) if neg_efe is not None else tree.neg_efe\n        )\n        horizon = (\n            tree.horizon.at[idx].set(horizon) if horizon is not None else tree.horizon\n        )\n        if children_indices is None:\n            children_indices = tree.children_indices\n        else:\n            # pad with -1\n            children_indices = jnp.asarray(children_indices, dtype=jnp.int32)\n            children_indices = jnp.pad(\n                children_indices,\n                (0, tree.children_indices.shape[-1] - children_indices.shape[0]),\n                constant_values=-1,\n            )\n            children_indices = tree.children_indices.at[idx].set(children_indices)\n\n        if children_probs is None:\n            children_probs = tree.children_probs\n        else:\n            # pad with 0\n            children_probs = jnp.asarray(children_probs, dtype=jnp.float32)\n            children_probs = jnp.pad(\n                children_probs,\n                (0, tree.children_probs.shape[-1] - children_probs.shape[0]),\n                constant_values=0,\n            )\n            children_probs = tree.children_probs.at[idx].set(children_probs)\n\n        used = tree.used.at[idx].set(True)\n\n        tree = eqx.tree_at(\n            lambda x: (\n                x.qs,\n                x.policy,\n                x.observation,\n                x.neg_efe,\n                x.used,\n                x.horizon,\n                x.children_indices,\n                x.children_probs,\n            ),\n            tree,\n            (\n                qs,\n                policy,\n                observation,\n                neg_efe_vals,\n                used,\n                horizon,\n                children_indices,\n                children_probs,\n            ),\n        )\n        return tree\n\n    def _no_op(\n        tree: Tree,\n        idx: jnp.ndarray,\n        qs: list[jnp.ndarray] | None,\n        policy: jnp.ndarray | None,\n        observation: jnp.ndarray | None,\n        neg_efe: jnp.ndarray | None,\n        horizon: int | None,\n        children_indices: jnp.ndarray | None,\n        children_probs: jnp.ndarray | None,\n    ) -> Tree:\n        jax.debug.print(\n            \"WARNING: Used up all {x} nodes in the plan tree...\", x=tree.size\n        )\n        return tree\n\n    # we don't want to update the last node in the array, as it is reserved for all-zeros which child_indices -1 will point to\n    return lax.cond(\n        idx < tree.size - 1,\n        _do_update,\n        _no_op,\n        tree,\n        idx,\n        qs,\n        policy,\n        observation,\n        neg_efe,\n        horizon,\n        children_indices,\n        children_probs,\n    )\n\n\ndef _remove_orphans(tree: Tree) -> Tree:\n    \"\"\"\n    Remove orphan nodes from the planning tree.\n    An orphan node is a used node that is not referenced by any other node as a child.\n    The root node is never considered an orphan.\n    \"\"\"\n\n    root_index = root_idx(tree)\n\n    def _is_orphan(tree: Tree, idx: jnp.ndarray) -> jnp.ndarray:\n        return (\n            (idx != root_index)\n            & tree.used[idx, 0]\n            & (\n                (jnp.any(tree.children_indices == idx, axis=-1) & tree.used[:, 0]).sum()\n                == 0\n            )\n        )\n\n    def _has_orphans(tree: Tree) -> jnp.ndarray:\n        # search for used nodes that never show up as a child\n        valid_mask = tree.children_indices != -1\n        safe_children = jnp.where(valid_mask, tree.children_indices, 0) * tree.used\n        flat_children = safe_children.flatten()\n        flat_valid_mask = valid_mask.flatten()\n        counts = (\n            jnp.zeros(tree.size, dtype=jnp.int32)\n            .at[flat_children]\n            .add(flat_valid_mask.astype(jnp.int32))\n        )\n        is_referenced = counts > 0\n        orphans = jnp.logical_and(tree.used[:, 0], jnp.logical_not(is_referenced))\n        orphans = orphans.at[root_index].set(False)  # root node is never an orphan\n        return orphans.any()\n\n    def _remove_orphan(tree: Tree, idx: jnp.ndarray) -> tuple[Tree, None]:\n        def _noop(t: Tree, idx: jnp.ndarray) -> Tree:\n            return t\n\n        def _remove_orphan(t: Tree, idx: jnp.ndarray) -> Tree:\n            # jax.debug.print(\"remove orphan {idx}\", idx=(idx, t.used[idx, 0], _is_orphan(t, idx), root_idx))\n            t = eqx.tree_at(\n                lambda x: x.used,\n                t,\n                t.used.at[idx].set(False),\n            )\n            return t\n\n        tree = lax.cond(\n            _is_orphan(tree, idx),\n            _remove_orphan,\n            _noop,\n            tree,\n            idx,\n        )\n\n        return tree, None\n\n    def _scan_for_orphans(tree: Tree) -> Tree:\n        tree, _ = lax.scan(_remove_orphan, tree, jnp.arange(tree.size))\n        return tree\n\n    tree = lax.while_loop(_has_orphans, _scan_for_orphans, tree)\n    return tree\n\n\n@partial(jax.jit, static_argnums=(0))\ndef _calculate_probabilities(return_size: int, topk_probs: list[jnp.ndarray]) -> jnp.ndarray:\n    \"\"\"\n    Calculate joint probabilities using stride-based indexing with top-k probabilities.\n    \n    Args:\n        return_size: Number of observation combinations to generate.\n        topk_probs: List of top-k probability arrays, one per modality.\n    \"\"\"\n    joint_probs = jnp.ones(return_size)\n    \n    # Use topk_probs directly with per-modality k-based stride indexing\n    stride = 1\n    strides = []\n    k_values = [len(probs) for probs in topk_probs]\n    \n    # Calculate strides for each dimension (rightmost changes fastest)\n    for k in reversed(k_values):\n        strides.insert(0, stride)\n        stride *= k\n        \n    # For each modality, select from top-k probabilities\n    for i, (stride, k) in enumerate(zip(strides, k_values)):\n        indices = jnp.arange(return_size)\n        # Convert linear index to top-k coordinate for this modality\n        topk_coords = (indices // stride) % k\n        selected_probs = topk_probs[i][topk_coords]\n        joint_probs = joint_probs * selected_probs\n        \n    return joint_probs\n\n\n@partial(jax.jit, static_argnums=(0, 1))\ndef _generate_observations(\n    shapes: list[int], return_size: int, topk_indices: list[jnp.ndarray]\n) -> jnp.ndarray:\n    \"\"\"\n    Generate observation combinations using stride-based indexing with top-k indices.\n    \n    Args:\n        shapes: Shape of each modality in the observation space.\n        return_size: Number of observation combinations to generate.\n        topk_indices: List of top-k index arrays, one per modality.\n    \"\"\"\n    combinations = jnp.zeros((return_size, len(shapes)), dtype=jnp.int32)\n    \n    # Generate in top-k space, then map to original indices\n    k_values = [len(indices) for indices in topk_indices]\n    stride = 1\n    \n    for i, k in enumerate(reversed(k_values)):\n        pos = len(shapes) - 1 - i\n        # Generate combinations in [0, k-1] space\n        topk_coords = (jnp.arange(return_size) // stride) % k\n        # Map to original observation indices\n        original_coords = topk_indices[pos][topk_coords]\n        combinations = combinations.at[:, pos].set(original_coords)\n        stride *= k\n        \n    return combinations\n\n\ndef optimized_tree_search(\n    agent: Any,\n    tree: Tree,\n    horizon: int,\n    policy_prune_threshold: float = 1 / 16,\n    observation_prune_threshold: float = 1 / 16,\n    entropy_stop_threshold: float = 0.5,\n    neg_efe_stop_threshold: float = 1e10,\n    kl_threshold: float = -1,\n    prune_penalty: float = 512,\n    gamma: float = 1,\n    topk_obsspace: int = 10000,\n    infer_fn: Callable = infer_fn,\n    predict_fn: Callable = predict_fn,\n) -> Tree:\n    \"\"\"Perform sophisticated-inference tree expansion from the current root.\n\n    Expansion continues until one of the stop conditions is met:\n\n    - planning horizon is reached\n    - root policy entropy drops below `entropy_stop_threshold`\n    - root negative expected free energy reaches or exceeds\n      `neg_efe_stop_threshold`\n\n    Parameters\n    ----------\n    agent : Any\n        Agent instance containing model parameters and policy set.\n    tree : Tree\n        Initial planning tree to expand.\n    horizon : int\n        Maximum planning depth.\n    policy_prune_threshold : float, default=1/16\n        Minimum policy probability required to expand a policy branch.\n    observation_prune_threshold : float, default=1/16\n        Minimum observation probability required to expand an observation branch.\n    entropy_stop_threshold : float, default=0.5\n        Root-policy entropy threshold used as an early-stop criterion.\n    neg_efe_stop_threshold : float, default=1e10\n        Root negative expected free energy threshold used as an early-stop\n        criterion (`neg_efe = -EFE`). Expansion stops when root `neg_efe` is\n        greater than or equal to this threshold.\n    kl_threshold : float, default=-1\n        KL threshold for reusing existing observation nodes with similar beliefs.\n        A value of `-1` disables node reuse.\n    prune_penalty : float, default=512\n        Penalty assigned to pruned branches.\n    gamma : float, default=1\n        Precision (inverse temperature) for policy softmax updates.\n    topk_obsspace : int, default=10000\n        Maximum number of top observation combinations considered per expansion.\n    infer_fn : Callable, optional\n        Function used to infer posterior states from candidate observations.\n    predict_fn : Callable, optional\n        Function used to predict next-state/observation beliefs and policy\n        scores (`neg_efe = -EFE`).\n\n    Returns\n    -------\n    Tree\n        Expanded planning tree.\n    \"\"\"\n    policies = agent.policies.policy_arr\n\n    def _expand_observation_nodes(\n        tree: Tree, data: tuple[jnp.ndarray, list[jnp.ndarray], list[jnp.ndarray], jnp.ndarray]\n    ) -> tuple[Tree, None]:\n        \"\"\"\n        Expand a policy node into new observation nodes.\n\n        If the policy node has a probability above the `policy_prune_threshold`, we futher expand\n        \"\"\"\n        policy_node_idx, qs_next, qo, prob = data\n\n        def add_observation_nodes(\n            tree: Tree,\n            policy_node_idx: jnp.ndarray,\n            qs: list[jnp.ndarray],\n            qo: list[jnp.ndarray],\n            topk_obsspace: int,\n        ) -> Tree:\n            \"\"\"Generate observation combinations with top-k filtering.\"\"\"\n            shapes = [o.shape[-1] for o in qo]\n            \n            k = topk_obsspace\n            \n            def get_topk_for_factor(factor_probs: jnp.ndarray) -> tuple[jnp.ndarray, jnp.ndarray]:\n                # Use effective k to handle cases where k exceeds modality size bc default k is 10000\n                modality_size = factor_probs[0].shape[0]\n                k_effective = min(k, modality_size)\n                # Get top k indices and their probabilities for this modality\n                top_probs, top_indices = jax.lax.top_k(factor_probs[0], k_effective)\n                # Renormalise the top probabilities # TODO: check that this is ok to do\n                top_probs = top_probs / jnp.sum(top_probs)\n                return top_indices, top_probs\n            \n            # Extract top-k data for each modality\n            topk_data = [get_topk_for_factor(factor) for factor in qo]\n            topk_indices = [data[0] for data in topk_data]\n            topk_probs = [data[1] for data in topk_data]\n            \n            # Calculate actual number of combinations based on effective k values\n            k_effective_per_modality = [len(indices) for indices in topk_indices]\n            num_combinations = int(np.prod(k_effective_per_modality))\n            \n            # Generate combinations using refactored helper functions\n            observations = _generate_observations(tuple(shapes), num_combinations, topk_indices)\n            probabilities = _calculate_probabilities(num_combinations, topk_probs)\n\n            def add_observation_node(\n                tree: Tree, data: tuple[jnp.ndarray, jnp.ndarray]\n            ) -> tuple[Tree, jnp.ndarray]:\n                observation, prob = data\n\n                def consider_add(t: Tree) -> tuple[Tree, jnp.ndarray]:\n                    # calculate posterior state belief and check if\n                    # we need to add a new observation node\n\n                    # convert to correct dimensions for infer_states\n                    obs = [o[None, None, ...] for o in observation]\n                    qs_post = infer_fn(agent, obs, qs)\n\n                    # check if we already have a node with this belief (or close enough)\n                    def diff_kl(\n                        qs_orig: list[jnp.ndarray], qs_post: list[jnp.ndarray]\n                    ) -> jnp.ndarray:\n                        d = jtu.tree_map(\n                            lambda x, y: jnp.sum(\n                                x\n                                * (\n                                    jnp.log(jnp.clip(x, 1e-10, 1))\n                                    - jnp.log(jnp.clip(y[0], 1e-10, 1))\n                                ),\n                                axis=-1,\n                            ),\n                            qs_orig,\n                            qs_post,\n                        )\n                        d = jtu.tree_reduce(lambda x, y: x + y, d, 0)[:, 0]\n\n                        mask = (t.used)[:, 0]  # only consider used nodes\n                        mask = mask & jnp.all(\n                            tree.policy < 0, axis=-1\n                        )  # only consider observation nodes\n\n                        # TODO only consider nodes with smaller horizon?\n                        # i.e. you can get to this state earlier\n                        # or should we compare e.g. expected free energy of all paths leading\n                        # to same posterior?\n                        mask = mask & (t.horizon[:, 0] < t.horizon[policy_node_idx, 0])\n\n                        return d * mask + 1e10 * (1 - mask)\n\n                    kl = diff_kl(t.qs, qs_post)\n\n                    def really_add(t: Tree, d: tuple[jnp.ndarray, jnp.ndarray]) -> tuple[Tree, jnp.ndarray]:\n                        new_idx = jnp.where(\n                            ~t.used[:, 0], jnp.arange(t.size), t.size\n                        ).min()\n\n                        # jax.debug.print(\"Add new obs node {x}\", x=new_idx)\n\n                        t = _update_node(\n                            t,\n                            new_idx,\n                            qs=qs_post,\n                            observation=observation,\n                            horizon=t.horizon[policy_node_idx, 0],\n                            neg_efe=0,\n                            children_indices=jnp.empty((0,), dtype=jnp.int32),\n                            children_probs=jnp.empty((0,), dtype=jnp.float32),\n                        )\n                        return t, new_idx\n\n                    def skip_add(t: Tree, kl: jnp.ndarray) -> tuple[Tree, jnp.ndarray]:\n                        # new_idx = jnp.where(\n                        #     ~t.used[:, 0], jnp.arange(t.size), t.size\n                        # ).min()\n                        # jax.debug.print(\"skipped due to kl {kl} at {idx}\", kl=kl.min(), idx = new_idx)\n                        # if we already have a node with this belief, stop expanding\n                        # new_idx = jnp.where(\n                        #     ~t.used[:, 0], jnp.arange(t.size), t.size\n                        # ).min()\n                        # jax.debug.print(\"Skip adding observation node {x} as it is already in the tree as {y}\",x=new_idx, y=kl.argmin())\n                        # we return the original tree and -1 to indicate no new node was added\n                        return t, -1\n\n                    return lax.cond(\n                        kl.min() <= kl_threshold, skip_add, really_add, t, kl\n                    )\n\n                def no_op(t: Tree) -> tuple[Tree, jnp.ndarray]:\n                    return t, -1\n\n                tree, obs_idx = lax.cond(\n                    prob > observation_prune_threshold,\n                    consider_add,\n                    no_op,\n                    tree,\n                )\n                return tree, obs_idx\n\n            tree, obs_indices = lax.scan(\n                add_observation_node, tree, (observations, probabilities)\n            )\n\n            # update policy parent with child indices\n            # get the indices to select, pad with -1\n            indices = jnp.where(\n                obs_indices >= 0,\n                size=tree.children_indices.shape[-1],\n                fill_value=-1,\n            )[0]\n            obs_indices = jnp.concatenate(\n                [obs_indices, jnp.full((1,), -1, dtype=jnp.int32)]\n            )\n            obs_indices = obs_indices[indices]\n\n            obs_probabilities = jnp.concatenate([probabilities, jnp.zeros(1)])\n            obs_probabilities = obs_probabilities[indices]\n            tree = _update_node(\n                tree,\n                policy_node_idx,\n                children_indices=obs_indices,\n                children_probs=obs_probabilities,\n            )\n            return tree\n\n        def no_op(\n            tree: Tree,\n            policy_node_idx: jnp.ndarray,\n            qs: list[jnp.ndarray],\n            qo: list[jnp.ndarray],\n        ) -> Tree:\n            return tree\n\n        # Create partial function that includes topk_obsspace parameter\n        add_observation_nodes_partial = lambda tree, policy_node_idx, qs, qo: add_observation_nodes(tree, policy_node_idx, qs, qo, topk_obsspace)\n\n        tree = lax.cond(\n            prob[0] > policy_prune_threshold,\n            add_observation_nodes_partial,\n            no_op,\n            tree,\n            policy_node_idx,\n            qs_next,\n            qo,\n        )\n        return tree, None\n\n    def _expand_policy_nodes(t: Tree, idx: jnp.ndarray) -> Tree:\n        \"\"\"\n        Given an observation node at `idx`, expand into new policy nodes.\n\n        This will calculate the expected states, observations and negative\n        expected free energy for all policies,\n        and then expand the tree with new policy nodes.\n\n        For each policy that is above the `policy_prune_threshold`, it will\n        also expand into new observation nodes.\n        \"\"\"\n\n        # jax.debug.print(\"Expand policies of node {idx} at horizon {h}\", idx=idx, h=t.horizon[idx, 0])\n        # calculate expected states, observations and neg_efe for all policies\n        qs_current = jtu.tree_map(lambda x: x[idx], t.qs)\n        qs_next, qo, neg_efe = predict_fn(agent, qs_current)\n        q_pi = nn.softmax(neg_efe * gamma, axis=0)\n\n        # expand policy nodes\n        def add_policy_node(\n            tree: Tree, data: tuple[jnp.ndarray, list[jnp.ndarray], jnp.ndarray, jnp.ndarray]\n        ) -> tuple[Tree, jnp.ndarray]:\n            policy, qs_next, prob, neg_efe = data\n\n            def really_add(\n                tree: Tree, policy: jnp.ndarray, qs_next: list[jnp.ndarray], neg_efe: jnp.ndarray\n            ) -> tuple[Tree, jnp.ndarray]:\n                new_idx = jnp.where(\n                    ~tree.used[:, 0], jnp.arange(tree.size), tree.size\n                ).min()\n\n                # jax.debug.print(\"Add policy node {x}\", x=new_idx)\n                # jax.debug.print(\"neg_efe: {neg_efe}\", neg_efe=neg_efe)\n\n                tree = _update_node(\n                    tree,\n                    new_idx,\n                    qs=qs_next,\n                    policy=policy,\n                    neg_efe=neg_efe,\n                    horizon=tree.horizon[idx, 0] + 1,\n                    children_indices=jnp.empty((0,), dtype=jnp.int32),\n                    children_probs=jnp.empty((0,), dtype=jnp.float32),\n                )\n                return tree, new_idx\n\n            def skip_add(\n                tree: Tree, policy: jnp.ndarray, qs_next: list[jnp.ndarray], neg_efe: jnp.ndarray\n            ) -> tuple[Tree, jnp.ndarray]:\n                # jax.debug.print(\"skip add policy node {p} as the prob is {pr}\", p=policy, pr=prob[0])\n                return tree, -1\n\n            return lax.cond(\n                prob[0] > policy_prune_threshold,\n                really_add,\n                skip_add,\n                tree,\n                policy,\n                qs_next,\n                neg_efe,\n            )\n\n        # policies is of shape (n_policies, timesteps (=1), n_actions)\n        t, policy_indices = lax.scan(\n            add_policy_node, t, (policies[:, 0, :], qs_next, q_pi, neg_efe)\n        )\n        # jax.debug.print(\"q_pi: {q_pi}\", q_pi=q_pi)\n\n        # update parent with child indices\n        t = _update_node(\n            t, idx, children_indices=policy_indices, children_probs=q_pi[:, 0]\n        )\n\n        # now expand observation nodes\n        t, _ = lax.scan(\n            _expand_observation_nodes, t, (policy_indices, qs_next, qo, q_pi)\n        )\n\n        return t\n\n    def _expand_node(\n        carry: tuple[Tree, Any, int], idx: jnp.ndarray\n    ) -> tuple[tuple[Tree, Any, int], None]:\n        \"\"\"\n        Consider expansion for a node at `idx`. We call this function for every node in the tree,\n        allowing us to efficiently jit and scan.\n\n        Every pass, we will consider (used) observation nodes that are leaves from the tree (i.e. at\n        a given horizon) and expand them into new policy (and observation) nodes.\n        \"\"\"\n        tree, agent, h = carry\n\n        tree = lax.cond(\n            (tree.used.sum() < tree.used.shape[0] - 1)\n            & (tree.used[idx, 0])\n            & (tree.horizon[idx, 0] == h)\n            & (tree.observation[idx, 0] >= 0)\n            & (tree.used.sum() < tree.size),\n            _expand_policy_nodes,\n            _do_nothing,\n            tree,\n            idx,\n        )\n\n        return (tree, agent, h), None\n\n    def _backward_node(tree: Tree, idx: jnp.ndarray) -> Tree:\n        \"\"\"\n        Run a backward pass on an observation node at `idx`.\n\n        Will iterate over all policy children of this observation node,\n        gather their neg_efe values and probabilities, and recursively\n        aggregate them to calculate the neg_efe value for this observation\n        node.\n        \"\"\"\n        # jax.debug.print(\"Backward node {idx}\", idx=idx)\n\n        def recursive_neg_efe(t: Tree, policy_idx: jnp.ndarray) -> tuple[Tree, jnp.ndarray]:\n            observation_nodes = t.children_indices[policy_idx]\n            probabilities = t.children_probs[policy_idx]\n\n            def sum_over_obs(carry: jnp.ndarray, obs_idx: jnp.ndarray, p: jnp.ndarray) -> jnp.ndarray:\n                carry += t.neg_efe[obs_idx, 0] * p\n                return carry\n\n            def zero(carry: jnp.ndarray, obs_idx: jnp.ndarray, p: jnp.ndarray) -> jnp.ndarray:\n                return carry\n\n            def accumulate_g(carry: jnp.ndarray, data: tuple[jnp.ndarray, jnp.ndarray]) -> tuple[jnp.ndarray, None]:\n                obs_idx, prob = data\n                return (\n                    lax.cond(obs_idx >= 0, sum_over_obs, zero, carry, obs_idx, prob),\n                    None,\n                )\n\n            # accumulate neg_efe for all observation nodes\n            neg_efe_acc, _ = lax.scan(accumulate_g, 0.0, (observation_nodes, probabilities))\n\n            # and also add neg_efe of this policy timestep\n            neg_efe_acc += t.neg_efe[policy_idx, 0]\n\n            return t, neg_efe_acc\n\n        def add_prune_penalty(t: Tree, policy_idx: jnp.ndarray) -> tuple[Tree, jnp.ndarray]:\n            return t, jnp.asarray(-prune_penalty, dtype=jnp.float32)\n\n        def backward(t: Tree, idx: jnp.ndarray) -> tuple[Tree, jnp.ndarray]:\n            return lax.cond(\n                # only accumulate neg_efe if it is a policy node with children, use prune penalty otherwise\n                (idx >= 0) & (jnp.any(t.children_indices[idx] >= 0)),\n                recursive_neg_efe,\n                add_prune_penalty,\n                t,\n                idx,\n            )\n\n        # iterate over all policy children\n        tree, neg_efe_recursive = lax.scan(backward, tree, tree.children_indices[idx])\n\n        # calculate new q_pi and recursive neg_efe\n        q_pi = nn.softmax(neg_efe_recursive * gamma, axis=0)\n        neg_efe_recursive = jnp.dot(q_pi, neg_efe_recursive)\n\n        # update neg_efe for this observation node\n        # jax.debug.print(\n        #     \"Update node {idx} with neg_efe {neg_efe_recursive}\", idx=idx, neg_efe_recursive=neg_efe_recursive\n        # )\n\n        # jax.debug.print(\"neg_efe in backward: {neg_efe_recursive}\", neg_efe_recursive=neg_efe_recursive)\n        # jax.debug.print(\"q_pi in backward: {q_pi}\", q_pi=q_pi)\n\n        # prune children if their q_pi is below the threshold\n        prune_mask = q_pi < policy_prune_threshold\n        children_indices = (1-prune_mask) * tree.children_indices[idx] + prune_mask * -1\n\n        # NOTE: We don't renormalise q_pi after pruning because it interferes with the \n        # weighting of gamma in the softmax calculation. The q_pis are still valid \n        # probability distributions for decision making. You can choose to add \n        # normalisation here if desired for your specific use case. Uncomment the \n        # following lines if you want to renormalise after pruning:\n        # remaining_qpis = jnp.sum(q_pi * (1 - prune_mask))\n        # q_pi = jnp.where(prune_mask, 0.0, q_pi / remaining_qpis)\n\n        tree = _update_node(\n            tree,\n            idx,\n            neg_efe=neg_efe_recursive,\n            children_indices=children_indices,\n            children_probs=q_pi,\n        )\n        return tree\n\n    def _tree_backward(tree: Tree, h: int) -> tuple[Tree, int]:\n        \"\"\"\n        Calculate the new recursive neg_efe value for all nodes at horizon h\n        \"\"\"\n\n        # jax.debug.print(\"Go backward at horizon {h}\", h=h)\n\n        def _do_backward(tree: Tree, idx: jnp.ndarray) -> tuple[Tree, None]:\n            tree = lax.cond(\n                (tree.used[idx, 0])\n                & (tree.horizon[idx, 0] == h)\n                & (tree.observation[idx, 0] >= 0),\n                _backward_node,\n                _do_nothing,\n                tree,\n                idx,\n            )\n            return tree, None\n\n        # update neg_efe for all nodes at this horizon\n        tree, _ = lax.scan(\n            _do_backward, tree, jnp.arange(tree.used.shape[0] - 1, -1, -1)\n        )\n\n        # remove orphans if any by pruning\n        tree = _remove_orphans(tree)\n        return tree, h - 1\n\n    def _expand_horizon(tree: Tree, agent: Any, h: int) -> tuple[Tree, Any, int]:\n        \"\"\"\n        Expand the planning tree at a given horizon by expanding all nodes at that horizon.\n        After expanding, it will also perform a backward pass to recursively update the\n        neg_efe values\n        \"\"\"\n\n        # jax.debug.print(\"Expanding horizon {h}\", h=h)\n\n        # expand all nodes at this horizon\n        (tree_updated, agent, _), _ = lax.scan(\n            _expand_node, (tree, agent, h), jnp.arange(tree.used.shape[0])\n        )\n\n        # jax.debug.print(\"Got {n} nodes at horizon {h}\", n=tree_updated.used.sum(), h=h)\n\n        # TODO backward here or backward at the end?\n        # tree backward\n        def backward_pass(tree: Tree, agent: Any, h: int) -> tuple[Tree, Any, int]:\n            def backward_step(carry: Tree, current_h: jnp.ndarray) -> tuple[Tree, jnp.ndarray]:\n                def do_backward(t: Tree, ch: jnp.ndarray) -> tuple[Tree, int]:\n                    return _tree_backward(t, ch)\n                \n                def skip_backward(t: Tree, ch: jnp.ndarray) -> tuple[Tree, jnp.ndarray]:\n                    return t, ch - 1\n                \n                return lax.cond(\n                    current_h <= h,\n                    do_backward,\n                    skip_backward,\n                    carry,\n                    current_h\n                )\n\n            # scan from max horizon down to 0 (inclusive)\n            tree_bw, _ = lax.scan(backward_step, tree, jnp.arange(horizon, -1, -1))\n            \n            # jax.debug.print(\"Got {n} nodes after tree backward\", n=tree_bw.used.sum())\n            return tree_bw, agent, h + 1\n\n        # when we run out of nodes, stop expanding and return tree at prev horizon\n        return lax.cond(tree_updated.used.sum() < tree.used.shape[0] - 1, backward_pass, lambda x,y,z: (tree, agent, horizon), tree_updated, agent, h)\n\n    # expand till max horizon (h) \n    def continue_expansion(tree: Tree, agent: Any, h: int) -> jnp.ndarray:\n        q_pi = tree.children_probs[root_idx(tree)]\n        entropy = pymdp.maths.stable_entropy(q_pi)\n\n        # jax.debug.print(\"horizon {h} out of {max_h}, entropy={e:.3f}, entropy threshold = {et}, halted_entropy={estop}, neg_efe={g:.3f}, neg_efe threshold = {efet}, halted_neg_efe={efestop}, jnp.all(q_pi == 0) = {qpi}\",\n        #                 h=h, max_h=horizon, e=entropy, et=entropy_stop_threshold,\n        #                 estop=entropy <= entropy_stop_threshold, g=tree.neg_efe[tree.root_idx(), 0], efet=neg_efe_stop_threshold,\n        #                 efestop=tree.neg_efe[tree.root_idx(), 0] >= neg_efe_stop_threshold, qpi=jnp.all(q_pi == 0))\n\n        return (\n            (h < horizon)\n            & (jnp.all(q_pi == 0) | (entropy > entropy_stop_threshold))\n            & (tree.neg_efe[root_idx(tree), 0] < neg_efe_stop_threshold)\n        )\n\n    def scan_step(\n        carry: tuple[Tree, Any, int, bool], _: Any\n    ) -> tuple[tuple[Tree, Any, int, bool], None]:\n        tree, agent, h, stop_expansion = carry\n        \n        def do_expand(args: tuple[Tree, Any, int]) -> tuple[Tree, Any, int]:\n            tree, agent, h = args\n            return _expand_horizon(tree, agent, h)\n        \n        def do_nothing(args: tuple[Tree, Any, int]) -> tuple[Tree, Any, int]:\n            tree, agent, h = args\n            return tree, agent, h\n        \n        # expand if we haven't stopped based on stop criteria (such as entropy or EFE threshold) yet\n        tree, agent, h = lax.cond(\n            stop_expansion,\n            do_nothing,\n            do_expand,\n            (tree, agent, h)\n        )\n        \n        # check if we should stop next iteration (stay stopped if stop criteria is met)\n        stop_expansion = stop_expansion | ~continue_expansion(tree, agent, h)\n        \n        return (tree, agent, h, stop_expansion), None\n\n    # run scan for max horizon iterations\n    initial_h = (tree.horizon * tree.used).max()\n    initial_carry = (tree, agent, initial_h, False)\n    (tree, agent, _, _), _ = lax.scan(scan_step, initial_carry, None, length=horizon)\n\n    return tree\n"
  },
  {
    "path": "pymdp/planning/visualize.py",
    "content": "\n\nfrom types import NoneType\nfrom typing import Any, Callable\nimport numpy as np\nimport jax.numpy as jnp\nimport jax.tree_util as jtu\n\nimport networkx as nx\n\nimport matplotlib.pyplot as plt\nimport matplotlib.colors as mcolors\nfrom matplotlib.colors import to_rgba\nfrom matplotlib.patches import Patch\nfrom matplotlib.animation import FuncAnimation\n\nfrom IPython.display import display, HTML\n\n\n# default function to convert actions to string representation\n# can be overridden by passing a custom function to the `plot_tree` function\ndef action_to_string(action: Any, model: Any = None) -> str:\n    if model is None:\n        return str(action)\n    \n    # group by control type to avoid duplicates\n    control_actions = {}\n    \n    for i in range(len(model.B)):\n        if i < len(action):\n            action_idx = action[i]\n            k = list(model.B[i].batch.keys())[-1]  # the control key\n            actions_list = model.B[i].batch[k]\n            \n            if action_idx < len(actions_list):\n                action_name = actions_list[action_idx]\n                # Group by control type (k)\n                if k not in control_actions:\n                    control_actions[k] = action_name\n    \n    # Join all control types\n    action_parts = [action_name for action_name in control_actions.values() if action_name != \"noop\"]\n    \n    if not action_parts:\n        return \"noop\"\n    \n    return \", \".join(action_parts)\n\n\ndef observation_to_string(observation: Any, model: Any = None) -> str:\n    if model is None:\n        return str(observation[0])\n    \n    obs = \"\"\n    for i in range(len(model.A)):\n        for k,v in model.A[i].event.items():\n            # v should have string values for each observation modality\n            obs_str = str(v[observation[0, i]])\n            obs += obs_str\n            obs += \",\\n\"\n\n    return obs\n\n\ndef formatting_jax(value: Any, format_str: str = \".2f\") -> str:\n    try:\n        if hasattr(value, \"shape\"):\n            if value.shape == ():\n                return f\"{float(value):{format_str}}\"\n            elif len(value.shape) == 1 and value.shape[0] == 1:\n                return f\"{float(value[0]):{format_str}}\"\n            elif len(value.shape) == 1 and value.shape[0] <= 4:\n                return (\n                    \"[\" + \", \".join([f\"{float(x):{format_str}}\" for x in value]) + \"]\"\n                )\n            else:\n                return (\n                    \"[\" + \", \".join([f\"{float(x):{format_str}}\" for x in value]) + \"]\"\n                )\n        else:\n            return f\"{float(value):{format_str}}\"\n    except Exception:\n        return str(value)[:10]\n\n\ndef plot_plan_tree(\n    tree: Any,\n    model: Any = None,\n    root_node: Any = None,\n    max_depth: int = 4,\n    min_prob: float = 0.2,\n    observation_description: Callable = observation_to_string,\n    action_description: Callable = action_to_string,\n    figsize: tuple[int, int] = (8, 7),\n    font_size: int = 10,\n    node_size: int = 1500,\n    layout: str = \"dot\",\n    ax: Any = None,\n) -> tuple[nx.DiGraph, Any]:\n\n    graph = nx.DiGraph()\n    node_labels = {}\n    node_colors = []\n\n    policy_cmap = plt.cm.Purples  # colour scheme for agent policies\n    obs_cmap = plt.cm.Oranges  # colour scheme for agent observations\n\n    if root_node is None:\n        root_node = tree.root()\n\n    queue = [(root_node, None, 0)]  # (node, parent_id, depth)\n    node_id = 0\n    nodes_processed = 0\n\n    while queue:\n        current, parent, depth = queue.pop(0)\n        nodes_processed += 1\n        if depth > max_depth:\n            continue\n\n        label_parts = [str(current[\"idx\"])]\n\n        color_map = plt.cm.Greys\n        color = to_rgba(\"lightgrey\")\n\n        # observation nodes\n        if \"observation\" in current and current[\"idx\"] != tree.root()[\"idx\"]:\n            label_parts.append(f\"{observation_description(current['observation'], model)}\")\n\n            if \"prob\" in current:\n                label_parts.append(f\"P:{formatting_jax(current['prob'])}\")\n\n            # add recursive policy score for observation nodes\n            if \"neg_efe_recursive\" in current:\n                label_parts.append(\n                    f\"neg_efe:{formatting_jax(current['neg_efe_recursive'][0])}\"\n                )\n            else:\n                label_parts.append(f\"neg_efe:{formatting_jax(current['neg_efe'])}\")\n\n            color_map = obs_cmap\n\n        # focal agent policy nodes\n        elif \"policy\" in current:\n            label_parts.append(f\"{action_description(current['policy'], model)}\")\n\n            if \"prob\" in current:\n                label_parts.append(f\"P:{formatting_jax(current['prob'])}\")\n\n            if \"neg_efe\" in current:\n                label_parts.append(f\"neg_efe:{formatting_jax(current['neg_efe'])}\")\n\n            color_map = policy_cmap\n\n        if \"agent\" in current:\n            # if this is an observation node for a specific agent, use a different color\n            # Generate color intensity dynamically for any number of agents\n            agent_id = int(current[\"agent\"])\n            # Use a range from 0.2 to 0.9 to ensure good contrast\n            color_intensity = 0.2 + (0.7 * agent_id / max(1, agent_id + 1))\n            color = color_map(color_intensity)\n        else:\n            color = color_map(0.5)\n\n        node_colors.append(color)\n\n        graph.add_node(\n            node_id,\n            idx=current[\"idx\"],\n            type=\"policy\" if \"policy\" in current else \"observation\",\n        )\n        node_labels[node_id] = \"\\n\".join(label_parts)\n\n        if parent is not None:\n            graph.add_edge(parent, node_id)\n\n        # Only process children if we haven't reached max_depth yet\n        # This prevents adding children beyond max_depth to the queue\n        if depth < max_depth:\n            # check for appropriate minimum probability based on node type\n            for i, child_idx in enumerate(current.get(\"children\", [])):\n                child = tree[child_idx]\n                prob = current[\"children_probs\"][i]\n                skip_child = False\n\n                if prob < min_prob:\n                    skip_child = True\n                else:\n                    child[\"prob\"] = prob  # add probability to child node\n\n                if not skip_child:\n                    queue.append((child, node_id, depth + 1))\n\n        node_id += 1\n\n        if nodes_processed > 1000:\n            print(\"Warning: visualisation is limited to first 1000 nodes\")\n            break\n\n    if ax is None:\n        fig, ax = plt.subplots(figsize=figsize)\n\n    try:\n        if layout == \"dot\":  # traditional hierarchical\n            pos = nx.nx_agraph.graphviz_layout(graph, prog=\"dot\")\n        elif layout == \"twopi\":  # radial\n            pos = nx.nx_agraph.graphviz_layout(graph, prog=\"twopi\")\n        else:\n            pos = nx.spring_layout(graph, k=0.3, iterations=50)  # default fallback\n    except Exception as e:\n        print(f\"Layout error: {e}. Falling back to spring layout.\")\n        pos = nx.spring_layout(graph, k=0.3, iterations=50)\n\n    nx.draw_networkx_edges(\n        graph, pos, alpha=0.3, width=1, arrows=True, arrowsize=5, ax=ax\n    )\n\n    nx.draw_networkx_nodes(\n        graph,\n        pos,\n        node_size=node_size,\n        node_color=node_colors,\n        alpha=0.8,\n        linewidths=1,\n        edgecolors=\"gray\",\n        ax=ax,\n    )\n\n    nx.draw_networkx_labels(\n        graph,\n        pos,\n        labels=node_labels,\n        font_size=font_size,\n        verticalalignment=\"center\",\n        horizontalalignment=\"center\",\n        ax=ax,\n    )\n\n    ax.set_axis_off()\n\n    legend_elements = [\n        Patch(\n            facecolor=policy_cmap(0.5),\n            edgecolor=\"gray\",\n            alpha=0.8,\n            label=\"Policy Nodes\",\n        ),\n        Patch(\n            facecolor=obs_cmap(0.5),\n            edgecolor=\"gray\",\n            alpha=0.8,\n            label=\"Observation Nodes\",\n        ),\n    ]\n    plt.legend(handles=legend_elements, loc=\"upper right\", fontsize=font_size)\n    return graph, pos\n\n\ndef visualize_plan_tree(\n    info: dict[str, Any],\n    time_idx: int | None = 0,\n    agent_idx: int = 0,\n    root_idx: int | None = None,\n    model: Any = None,\n    observation_description: Callable = observation_to_string,\n    action_description: Callable = action_to_string,\n    max_depth: int = 4,\n    min_prob: float = 0.2,\n    layout: str = \"dot\",\n    node_size: int = 1500,\n    font_size: int = 10,\n    figsize: tuple[int, int] = (8, 7),\n    ax: Any = None,\n) -> None:\n    \"\"\"\n    Wrapper function for plotting plan trees.\n    \n    Extracts tree from info structure and calls plot_plan_tree with the specified parameters.\n    \n    Parameters\n    ----------\n    info : dict\n        Information dictionary containing tree data\n    time_idx : int or None, optional\n        Time index to extract from tree data, by default 0. \n        If None, only extracts by agent_idx as tree is not batched. If specified, extracts by both agent_idx and time_idx.\n    agent_idx : int, optional\n        Agent index to extract from tree data, by default 0\n    root_idx : int, optional\n        Index of root node to start plotting from, by default None (uses tree root)\n    model : object, optional\n        Model object for action/observation descriptions, by default None\n    observation_description : callable, optional\n        Function to convert observations to strings, by default observation_to_string\n    action_description : callable, optional\n        Function to convert actions to strings, by default action_to_string\n    max_depth : int, optional\n        Maximum depth to plot, by default 4\n    min_prob : float, optional\n        Minimum probability threshold for nodes, by default 0.2\n    layout : str, optional\n        Layout algorithm (\"dot\", \"twopi\"), by default \"dot\"\n    node_size : int, optional\n        Size of nodes in the plot, by default 500\n    font_size : int, optional\n        Font size for node labels, by default 8\n    figsize : tuple, optional\n        Figure size (width, height), by default (15, 15)\n    ax : matplotlib.axes.Axes, optional\n        Axes to plot on, by default None\n\n    \"\"\"\n    # Extract tree from info structure\n    if time_idx is None:\n        tree = jtu.tree_map(lambda x: x[agent_idx], info[\"tree\"])\n    else:\n        tree = jtu.tree_map(lambda x: x[agent_idx, time_idx], info[\"tree\"])\n    \n    # Handle root node selection\n    root_node = None if root_idx is None else tree[root_idx]\n    \n    # Call plot_plan_tree with extracted tree and parameters\n    plot_plan_tree(\n        tree,\n        model=model,\n        root_node=root_node,\n        max_depth=max_depth,\n        min_prob=min_prob,\n        observation_description=observation_description,\n        action_description=action_description,\n        figsize=figsize,\n        font_size=font_size,\n        node_size=node_size,\n        layout=layout,\n        ax=ax,\n    )\n    \n    # Show the plot\n    plt.tight_layout()\n    plt.show()\n\n\ndef visualize_beliefs(info: dict[str, Any], agent_idx: int = 0, model: Any = None) -> None:\n    \"\"\"Plot the results of the agent's beliefs and actions.\"\"\"\n    num_plots = len(info[\"qs\"])\n    fig, axes = plt.subplots(num_plots, 1, figsize=(6, 2*num_plots), sharex=True)\n\n    if not isinstance(axes, np.ndarray):\n        axes = [axes]\n\n    # Assuming all qs[i] have the same width along axis=2\n    x_len = info[\"qs\"][0].shape[1]\n    x_ticks = np.arange(x_len + 1)\n\n    for i, ax in enumerate(axes):\n        if model is not None:\n            title = list(model.B[i].event.keys())[0]\n        else:\n            title = f\"state factor {i}\"\n        ax.set_title(title, fontsize=10)\n\n        # Plot object location beliefs as greyscale intensity\n        ax.imshow(info[\"qs\"][i][agent_idx, :, :].T, cmap=\"gray_r\", vmin=0.0, vmax=1.0, aspect='auto')\n\n        ax.set_yticks(jnp.arange(info[\"qs\"][i].shape[-1]))\n        if model is not None:\n            ax.set_yticklabels(model.B[i].event[list(model.B[i].event.keys())[0]])\n        ax.set_xticks(x_ticks)\n\n    # Only bottom subplot shows x-axis labels\n    axes[-1].set_xlabel(\"Time step\")\n    fig.subplots_adjust(hspace=0.6)  # More vertical spacing\n    plt.tight_layout()\n    plt.show()\n\n\ndef visualize_env(\n    info: dict[str, Any],\n    model: Any = None,\n    observation_description: Callable = observation_to_string,\n    action_description: Callable = action_to_string,\n    save_as_gif: bool = False,\n    gif_filename: str = \"rollout.gif\",\n) -> None:\n    try:\n        batch_size = info[\"env\"].num_agents\n    except (AttributeError, KeyError):\n        batch_size = 1\n    num_timesteps = info[\"qs\"][0].shape[1]\n    \n    # adjust figure size based on number of agents - reduce height to eliminate bottom white space\n    base_height = 3.5\n    height_per_agent = 1.1\n    fig_height = base_height + (batch_size - 1) * height_per_agent\n    fig, ax = plt.subplots(figsize=(4, fig_height))\n    \n    def update(time_idx: int) -> None:\n        ax.clear()\n        ax.axis(\"off\")\n        ax.set_aspect(\"equal\")\n\n        # render the env\n        env = jtu.tree_map(lambda x: x[:, time_idx], info[\"env\"])\n        ax.imshow(env.render())\n        \n        # prepare title string for both agents\n        title_str = f\"Timestep {time_idx}\\n\"\n\n        base_colours = list(mcolors.TABLEAU_COLORS.keys())\n        \n        # get the observations and actions for the current timestep\n        for agent_idx in range(batch_size): \n            observation = jtu.tree_map(lambda x: x[agent_idx, time_idx][None, ...], info[\"observation\"])\n            observation = jnp.concatenate(observation, axis=-1)\n            action = jtu.tree_map(lambda x: x[agent_idx, time_idx], info[\"action\"])\n            \n            obs = observation_description(observation, model).replace(\"\\n\", \" \")\n            act = action_description(action, model).replace(\"\\n\", \" \")\n\n            # Cycle through available colours, generating more if needed\n            if agent_idx < len(base_colours):\n                agent_colour = base_colours[agent_idx].replace('tab:', '')\n            else:\n                # For >10 agents, use HSV to generate additional distinct colours\n                import matplotlib.cm as cm\n                colour_val = cm.Set3(agent_idx % 12)  # Set3 has 12 colours\n                agent_colour = f\"RGB{tuple(int(255 * c) for c in colour_val[:3])}\"\n            \n            title_str += f\"\\n({agent_colour}) Agent {agent_idx} observed ({obs}) \\n and selects action ({act}) \\n\"\n\n        title_y = 1.2 + (batch_size - 1) * 0.125\n        ax.text(0.5, title_y, title_str, fontsize=8, \n                ha='center', va='top', transform=ax.transAxes)\n\n    # display the animation\n    anim = FuncAnimation(fig, update, frames=num_timesteps, repeat=True, interval=1000)\n    \n    # the gif gets placed in the bottom of the figure, with the top reserved for title and text\n    plt.subplots_adjust(bottom=0.05, top=0.8)\n\n    plt.close(fig)\n    display(HTML(anim.to_jshtml()))\n\n    if save_as_gif:\n        anim.save(gif_filename, writer=\"imagemagick\", fps=1)\n"
  },
  {
    "path": "pymdp/utils.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\"Utility functions for model construction, data shaping, and sampling.\"\"\"\n\nimport jax\nfrom jax import numpy as jnp, random as jr\nfrom jax import tree_util as jtu\nfrom jax import nn\nimport numpy as np\nimport equinox as eqx\nimport math\nimport itertools\nimport json\n\nimport io\nimport matplotlib.pyplot as plt\n\nfrom jaxtyping import Array\n\nfrom typing import (\n    Any,\n    Sequence,\n)\n\n\ndef norm_dist(dist: Array) -> Array:\n    \"\"\"Normalizes a Categorical probability distribution.\n\n    Parameters\n    ----------\n    dist: Array\n        Unnormalized Categorical distribution.\n\n    Returns\n    -------\n    Array\n        Normalized distribution.\n    \"\"\"\n    return dist / dist.sum(0)\n\ndef list_array_norm_dist(dist_list: list[Array]) -> list[Array]:\n    \"\"\"Normalizes a list of Categorical probability distributions.\n\n    Parameters\n    ----------\n    dist_list: list[Array]\n        List of unnormalized Categorical distributions.\n\n    Returns\n    -------\n    list[Array]\n        List of normalized distributions.\n    \"\"\"\n    return jtu.tree_map(lambda dist: norm_dist(dist), dist_list)\n\n\ndef resolve_a_dependencies(\n    num_factors: int,\n    num_modalities: int,\n    A_dependencies: list[list[int]] | None = None,\n) -> list[list[int]]:\n    \"\"\"Return modality-to-factor dependencies, filling in the fully connected default.\"\"\"\n    if A_dependencies is None:\n        return [list(range(num_factors)) for _ in range(num_modalities)]\n    return A_dependencies\n\n\ndef resolve_b_dependencies(\n    num_factors: int,\n    B_dependencies: list[list[int]] | None = None,\n) -> list[list[int]]:\n    \"\"\"Return factor-to-factor transition dependencies, filling in local defaults.\"\"\"\n    if B_dependencies is None:\n        return [[f] for f in range(num_factors)]\n    return B_dependencies\n\n\ndef resolve_b_action_dependencies(\n    num_factors: int,\n    B_action_dependencies: list[list[int]] | None = None,\n) -> list[list[int]]:\n    \"\"\"Return control-factor dependencies, filling in the per-factor default.\"\"\"\n    if B_action_dependencies is None:\n        return [[f] for f in range(num_factors)]\n    return B_action_dependencies\n\ndef validate_normalization(tensor: Array, axis: int = 1, tensor_name: str = \"tensor\") -> None:\n    \"\"\"\n    Validate that a probability tensor has normalized distributions along a given axis.\n\n    Parameters\n    ----------\n    tensor: Array\n        Tensor to validate.\n    axis: int, default=1\n        Axis that should contain normalized probability distributions.\n    tensor_name: str, default=\"tensor\"\n        Human-readable name used in error messages.\n\n    Returns\n    -------\n    None\n        In eager mode, raises `ValueError` if any distribution along the given\n        axis sums to zero or is not normalized. Under JAX tracing/JIT, invalid\n        distributions are signaled via `eqx.error_if`.\n    \"\"\"\n\n    sums = jnp.sum(tensor, axis=axis)\n\n    # When traced under JIT we still need a JAX-compatible runtime assertion.\n    # Equinox handles that case well for valid tensors, and the jittable Agent\n    # constructor tests rely on this path. The eager path below avoids the\n    # callback-based runtime error mechanism for non-jitted CUDA validation.\n    if isinstance(sums, jax.core.Tracer):\n        sums = eqx.error_if(\n            sums,\n            jnp.any(jnp.isclose(sums, 0.0)),\n            f\"Please ensure that none of the distributions along {tensor_name}'s \"\n            f\"{axis}-th axis sum to zero...\",\n        )\n        sums = eqx.error_if(\n            sums,\n            jnp.any(~jnp.isclose(sums, 1.0)),\n            f\"Please ensure that all distributions along {tensor_name}'s {axis}-th \"\n            \"axis are properly normalised and sum to 1...\",\n        )\n        return\n\n    # This validation runs during eager model construction outside JIT-compiled\n    # kernels. Using Python-side checks avoids Equinox's runtime callback path,\n    # which requires a local CPU device and fails under `JAX_PLATFORMS=cuda`.\n    has_zero = bool(jnp.any(jnp.isclose(sums, 0.0)))\n    if has_zero:\n        raise ValueError(\n            f\"Please ensure that none of the distributions along {tensor_name}'s \"\n            f\"{axis}-th axis sum to zero...\"\n        )\n\n    is_normalized = bool(jnp.all(jnp.isclose(sums, 1.0)))\n    if not is_normalized:\n        raise ValueError(\n            f\"Please ensure that all distributions along {tensor_name}'s {axis}-th \"\n            \"axis are properly normalised and sum to 1...\"\n        )\n\ndef random_factorized_categorical(key: Array, dims_per_var: Sequence[int]) -> list[Array]:\n    \"\"\"\n    Create random factorized Categorical distributions.\n\n    Parameters\n    ----------\n    key: Array\n        PRNG key for sampling.\n    dims_per_var: Sequence[int]\n        Number of levels per variable.\n\n    Returns\n    -------\n    list[Array]\n        A list of sampled categorical vectors.\n    \"\"\"\n\n    num_vars = len(dims_per_var)\n    keys = jr.split(key, num_vars)\n\n    return jtu.tree_map(lambda dim, i: jr.dirichlet(keys[i], alpha=jnp.ones(dim)), dims_per_var, list(range(num_vars)))\n\ndef random_A_array(\n    key: Array,\n    num_obs: int | Sequence[int],\n    num_states: int | Sequence[int],\n    A_dependencies: list[list[int]] | None = None,\n) -> list[Array]:\n    \"\"\"Create random observation likelihood tensors.\n\n    Parameters\n    ----------\n    key: Array\n        PRNG key for sampling.\n    num_obs: int | Sequence[int]\n        Number of discrete observations.\n    num_states: int | Sequence[int]\n        Number of hidden states per factor.\n    A_dependencies: list[list[int]] | None\n        Optional dependency structure per modality.\n\n    Returns\n    -------\n    list[Array]\n        Randomized A tensors.\n    \"\"\"\n    num_obs    = [num_obs]    if isinstance(num_obs, int)    else num_obs\n    num_states = [num_states] if isinstance(num_states, int) else num_states\n    num_modalities = len(num_obs)\n\n    A_dependencies = resolve_a_dependencies(len(num_states), num_modalities, A_dependencies)\n\n    keys = jr.split(key, num_modalities)\n    A = []\n    for m, n_o in enumerate(num_obs):\n        lagging_dimensions = tuple(num_states[idx] for idx in A_dependencies[m])  # trailing axes\n        # Sample Dirichlet with batch_shape=lagging_dimensions; returns shape = lagging_dimensions + (n_o,)\n        A_m = jr.dirichlet(keys[m], alpha=jnp.ones(n_o), shape=lagging_dimensions)\n        # Move event/observation dim to the front -> (n_o, *lagging_dimensions)\n        A.append(jnp.moveaxis(A_m, -1, 0))\n    return A\n\ndef random_B_array(\n    key: Array,\n    num_states: int | Sequence[int],\n    num_controls: int | Sequence[int],\n    B_dependencies: list[list[int]] | None = None,\n    B_action_dependencies: list[list[int]] | None = None,\n) -> list[Array]:\n    \"\"\"Create random transition tensors.\n\n    Parameters\n    ----------\n    key: Array\n        PRNG key for sampling.\n    num_states: int | Sequence[int]\n        Number of states per hidden-state factor.\n    num_controls: int | Sequence[int]\n        Number of controls per factor.\n    B_dependencies: list[list[int]] | None\n        Optional state-factor dependency structure per factor.\n    B_action_dependencies: list[list[int]] | None\n        Optional action-factor dependency structure per hidden-state factor.\n\n    Returns\n    -------\n    list[Array]\n        Randomized B tensors.\n    \"\"\"\n\n    num_states = [num_states] if isinstance(num_states, int) else num_states\n    num_controls = [num_controls] if isinstance(num_controls, int) else num_controls\n    num_factors = len(num_states)\n\n    B_dependencies = resolve_b_dependencies(num_factors, B_dependencies)\n\n    if B_action_dependencies is None:\n        assert len(num_controls) == len(num_states)\n    else:\n        unique_controls = set(sum(B_action_dependencies, []))\n        assert unique_controls == set(range(len(num_controls)))\n    B_action_dependencies = resolve_b_action_dependencies(num_factors, B_action_dependencies)\n\n    keys = jr.split(key, num_factors)\n    B = []\n    for f, ns in enumerate(num_states):\n        lagging_shape = [num_states[d] for d in B_dependencies[f]]\n        control_shape = [num_controls[d] for d in B_action_dependencies[f]]\n        # Sample Dirichlet with batch_shape=lagging_shape+control_shape; returns shape = lagging_shape + control_shape + (ns,)\n        B_f = jr.dirichlet(keys[f], alpha=jnp.ones(ns), shape=lagging_shape+control_shape)\n        # Move event/state dim to the front -> (ns, *lagging_shape, *control_shape)\n        B.append(jnp.moveaxis(B_f, -1, 0))\n    return B\n\n\ndef create_controllable_B(\n    num_states: int | Sequence[int], num_controls: int | Sequence[int]\n) -> list[Array]:\n    \"\"\"Create deterministic fully-controllable transition matrices.\n\n    Parameters\n    ----------\n    num_states: int | Sequence[int]\n        Number of hidden states per factor.\n    num_controls: int | Sequence[int]\n        Number of controls per factor.\n\n    Returns\n    -------\n    list[Array]\n        A list of fully controllable transition tensors.\n    \"\"\"\n\n    num_states = [num_states] if isinstance(num_states, int) else list(num_states)\n    num_controls = [num_controls] if isinstance(num_controls, int) else list(num_controls)\n\n    if len(num_states) != len(num_controls):\n        raise ValueError(\"`num_states` and `num_controls` must have the same length\")\n\n    B = []\n    for ns, nc in zip(num_states, num_controls):\n        # Deterministic tensor with shape (ns, 1, nc) encoding next-state selection per action\n        state_axis = jnp.arange(ns, dtype=jnp.int32).reshape(ns, 1, 1)\n        action_axis = jnp.arange(nc, dtype=jnp.int32).reshape(1, 1, nc)\n        deterministic = (state_axis == action_axis).astype(jnp.float32)\n        B.append(jnp.broadcast_to(deterministic, (ns, ns, nc)))\n\n    return B\n\ndef list_array_uniform(shape_list: Sequence[Sequence[int]]) -> list[Array]:\n    \"\"\"\n    Creates uniform Categorical arrays for each requested shape.\n\n    Parameters\n    ----------\n    shape_list: Sequence[Sequence[int]]\n        Target tensor shapes.\n\n    Returns\n    -------\n    list[Array]\n        Uniform distributions for each shape.\n    \"\"\"\n    arr = []\n    for shape in shape_list:\n        arr.append(norm_dist(jnp.ones(shape)))\n    return arr\n\n\ndef list_array_zeros(shape_list: Sequence[Sequence[int]]) -> list[Array]:\n    \"\"\"Create zero arrays for each requested shape.\n\n    Parameters\n    ----------\n    shape_list: Sequence[Sequence[int]]\n        Target tensor shapes.\n\n    Returns\n    -------\n    list[Array]\n        Zero-filled arrays for each shape.\n    \"\"\"\n    arr = []\n    for shape in shape_list:\n        arr.append(jnp.zeros(shape))\n    return arr\n\n\ndef list_array_scaled(\n    shape_list: Sequence[Sequence[int]], scale: float = 1.0\n) -> list[Array]:\n    \"\"\"Create arrays filled with a constant scale value.\n\n    Parameters\n    ----------\n    shape_list: Sequence[Sequence[int]]\n        Target tensor shapes.\n    scale: float, default=1.0\n        Fill value.\n\n    Returns\n    -------\n    list[Array]\n        Arrays filled with `scale`.\n    \"\"\"\n    arr = []\n    for shape in shape_list:\n        arr.append(scale * jnp.ones(shape))\n\n    return arr\n\n\ndef get_combination_index(x: jax.Array | np.ndarray, dims: Sequence[int]) -> jax.Array | np.ndarray:\n    \"\"\"\n    Find the index of an array of categorical values in an array of categorical dimensions\n\n    Parameters\n    ----------\n    x: jax.Array | np.ndarray of shape (batch_size, act_dims)\n        Categorical values to be converted into combination index.\n    dims: Sequence[int]\n        Categorical dimensions used for conversion.\n\n    Returns\n    ----------\n    index: jax.Array | np.ndarray of shape (batch_size)\n        Index of the combination.\n    \"\"\"\n    assert isinstance(x, jax.Array) or isinstance(x, np.ndarray)\n    assert x.shape[-1] == len(dims)\n\n    index = 0\n    product = 1\n    for i in reversed(range(len(dims))):\n        index += x[..., i] * product\n        product *= dims[i]\n    return index\n\n\ndef index_to_combination(index: jax.Array | np.ndarray, dims: Sequence[int]) -> jax.Array:\n    \"\"\"\n    Convert the combination index according to an array of categorical dimensions back to an array of categorical values\n\n    Parameters\n    ----------\n    index: np.ndarray or jax.Array of shape (batch_size)\n        Index of the combination.\n    dims: Sequence[int]\n        Categorical dimensions used for conversion.\n\n    Returns\n    ----------\n    x: jax.Array | np.ndarray of shape (batch_size, act_dims)\n        Categorical values corresponding to each factor.\n    \"\"\"\n    x = []\n    for base in reversed(dims):\n        x.append(index % base)\n        index = index // base\n\n    x = jnp.flip(jnp.stack(x, axis=-1), axis=-1)\n    return x\n\ndef make_A_full(\n    A_reduced: list[Array],\n    A_dependencies: list[list[int]],\n    num_obs: list[int],\n    num_states: list[int],\n) -> list[Array]:\n    \"\"\"Lift reduced likelihood tensors into full modality tensors.\n\n    Parameters\n    ----------\n    A_reduced: list[Array]\n        Reduced likelihood tensors.\n    A_dependencies: list[list[int]]\n        Dependency structure between modalities and state factors.\n    num_obs: list[int]\n        Observation dimensions.\n    num_states: list[int]\n        State dimensions.\n\n    Returns\n    -------\n    list[Array]\n        Full likelihood tensors with redundant factor dimensions restored.\n    \"\"\"\n    A_shape_list = [ [no] + num_states for no in num_obs]\n    A_full = list_array_zeros(A_shape_list) # initialize the full likelihood tensor (ALL modalities might depend on ALL factors)\n    all_factors = range(len(num_states)) # indices of all hidden state factors\n    for m, _ in enumerate(A_full):\n\n        # Step 1. Extract the list of the factors that modality `m` does NOT depend on\n        non_dependent_factors = list(set(all_factors) - set(A_dependencies[m])) \n\n        # Step 2. broadcast or tile the reduced A matrix (`A_reduced`) along the dimensions of corresponding to `non_dependent_factors`, to give it the full shape of `(num_obs[m], *num_states)`\n        expanded_dims = [num_obs[m]] + [1 if f in non_dependent_factors else ns for (f, ns) in enumerate(num_states)]\n        tile_dims = [1] + [ns if f in non_dependent_factors else 1 for (f, ns) in enumerate(num_states)]\n        A_full[m] = jnp.tile(A_reduced[m].reshape(expanded_dims), tile_dims)\n    \n    return A_full\n\n\ndef fig2img(fig: Any) -> np.ndarray:\n    \"\"\"\n    Utility conversion from Matplotlib figure to RGB image array.\n\n    Parameters\n    ----------\n    fig: Any\n        Matplotlib figure object.\n\n    Returns\n    -------\n    np.ndarray\n        RGB image array extracted from the figure.\n    \"\"\"\n    with io.BytesIO() as buff:\n        fig.savefig(buff, facecolor=\"white\", format=\"raw\")\n        buff.seek(0)\n        data = np.frombuffer(buff.getvalue(), dtype=np.uint8)\n    w, h = fig.canvas.get_width_height()\n    im = data.reshape((int(h), int(w), -1))\n    plt.close(fig)\n    return im[:, :, :3]\n\n\n# Infer states optimized methods\n\n\n# Generate random agent specs\n\ndef A_dep_factors_dist(num_states: Sequence[int], A_dep_len: int) -> Array:\n    \"\"\"Probability over hidden-state factors when building A dependencies.\n\n    Parameters\n    ----------\n    num_states: Sequence[int]\n        Hidden-state dimensionalities.\n    A_dep_len: int\n        Candidate dependency-list length.\n\n    Returns\n    -------\n    Array\n        Probability vector over factors, same shape as `num_states`.\n    \"\"\"\n    num_states_arr = jnp.asarray(num_states, dtype=jnp.float32)\n    if A_dep_len == 1:\n        # in the shortest possible case, use a uniform distribution\n        return jnp.ones_like(num_states_arr) / num_states_arr.shape[0]\n\n    # otherwise, use something similar to a softmax distribution\n    tmp = jnp.exp(-num_states_arr / (jnp.max(num_states_arr) / (A_dep_len - 1)))\n    return tmp / jnp.sum(tmp)\n\n\ndef A_dep_len_dist(choices: Array, curr_sf_dim: int, max_sf_dim: int) -> Array:\n    \"\"\"Distribution over A-dependency list lengths.\n\n    Parameters\n    ----------\n    choices: Array\n        Candidate dependency-list lengths.\n    curr_sf_dim: int\n        Dimensionality of a currently assigned hidden state.\n    max_sf_dim: int\n        Maximum hidden-state dimensionality.\n\n    Returns\n    -------\n    Array\n        Normalized weights over `choices`.\n    \"\"\"\n    choices = jnp.asarray(choices, dtype=jnp.float32)\n    tmp = jnp.exp(-choices * curr_sf_dim / max_sf_dim)\n    return tmp / jnp.sum(tmp)\n\n\ndef A_dep_len_dist_unconditional(choices: Array) -> Array:\n    \"\"\"Unconditional prior for A-dependency list lengths.\n\n    Parameters\n    ----------\n    choices: Array\n        Candidate dependency-list lengths.\n\n    Returns\n    -------\n    Array\n        Normalized weights over `choices`.\n    \"\"\"\n    choices = jnp.asarray(choices, dtype=jnp.float32)\n    tmp = jnp.exp(-choices / 3)\n    return tmp / jnp.sum(tmp)\n\n\ndef generate_agent_spec(\n        num_factors: int,\n        num_modalities: int,\n        state_dim_limits: tuple[int, int],\n        obs_dim_limits: tuple[int, int],\n        A_dep_len_limits: tuple[int, int],\n        dim_sampling_type: str,\n        A_dep_len_prior: str = 'uniform',\n        key: Array | None = None,\n) -> tuple[list[int], list[int], list[list[int]]]:\n    \"\"\"Generate a random agent specification from high-level constraints.\n\n    Parameters\n    ----------\n    num_factors: int\n        Total number of hidden state factors.\n    num_modalities: int\n        Total number of observation modalities.\n    state_dim_limits: tuple[int, int]\n        Inclusive lower/upper bounds for state dimensions.\n    obs_dim_limits: tuple[int, int]\n        Inclusive lower/upper bounds for observation dimensions.\n    A_dep_len_limits: tuple[int, int]\n        Lower/upper bounds for A-dependency list length.\n    dim_sampling_type: str\n        Sampling strategy used for dimensionalities.\n    A_dep_len_prior: str, default='uniform'\n        Prior for A-dependency length.\n    key: Array | None\n        Optional PRNG key.\n\n    Returns\n    -------\n    tuple[list[int], list[int], list[list[int]]]\n        `(num_states, num_obs, A_dependencies)`.\n    \"\"\"\n\n    if key is None:\n        key = jr.PRNGKey(0)\n    \n    if dim_sampling_type == 'uniform':\n\n        # when using uniform dimensionality sampling, no constraints are enforced\n        keys = jr.split(key, num_factors + num_modalities + 1)\n        key = keys[0]\n        num_states = [int(jr.randint(keys[i+1], (), *state_dim_limits)) for i in range(num_factors)]\n        num_obs = [int(jr.randint(keys[num_factors+i+1], (), *obs_dim_limits)) for i in range(num_modalities)]\n\n    else:\n\n        if dim_sampling_type == 'with_gap_uniform':\n            # half the hidden states / observation modalities will have their dimensions\n            # sampled from the top 30% of the entire interval [a, b] of possibilities,\n            # and the remaining half will be sampled from the bottom 30%\n            m = 0.3\n            h = 0.5\n            \n        elif dim_sampling_type == 'with_gap_skewed':\n            # only one fifth of hidden states / observation modalities will have their\n            # dimensions sampled from the top 30% of the entire interval [a, b] of\n            # possibilities, and the rest will be sampled from the bottom 30%\n            m = 0.3\n            h = 0.2\n            \n        elif dim_sampling_type == 'with_large_gap_uniform':\n            # half the hidden states / observation modalities will have their dimensions\n            # sampled from the top 10% of the entire interval [a, b] of possibilities,\n            # and the remaining half will be sampled from the bottom 10%\n            m = 0.1\n            h = 0.5\n            \n        elif dim_sampling_type == 'with_large_gap_skewed':\n            # only one fifth of hidden states / observation modalities will have their\n            # dimensions sampled from the top 10% of the entire interval [a, b] of\n            # possibilities, and the rest will be sampled from the bottom 10%\n            m = 0.1\n            h = 0.2\n            \n        else:\n            raise ValueError(f'Unsupported dim_sampling_type: {dim_sampling_type}')\n\n        # upon establishing the dimensionality sampling type, consider the interval\n        # of possible dimensionalities of hidden states and generate random values\n        s_lower, s_upper = state_dim_limits\n        s_range = s_upper - s_lower\n\n        # Split keys for sampling num_states and num_obs\n        keys = jr.split(key, num_factors + num_modalities + 1)\n        key = keys[0]\n\n        num_states = [\n            int(jr.randint(keys[i+1], (), s_lower, int(np.ceil(s_lower + m*s_range))))\n            for i in range(num_factors - int(h * num_factors))\n        ] + [\n            int(jr.randint(keys[num_factors - int(h * num_factors) + i + 1], (),\n                          int(np.floor(s_upper - m*s_range)), s_upper))\n            for i in range(int(h * num_factors))\n        ]\n\n        # doing the same for observation modalities\n        o_lower, o_upper = obs_dim_limits\n        o_range = o_upper - o_lower\n        num_obs = [\n            int(jr.randint(keys[num_factors + i + 1], (), o_lower, int(np.ceil(o_lower + m*o_range))))\n            for i in range(num_modalities - int(h * num_modalities))\n        ] + [\n            int(jr.randint(keys[num_factors + num_modalities - int(h * num_modalities) + i + 1], (),\n                          int(np.floor(o_upper - m*o_range)), o_upper))\n            for i in range(int(h * num_modalities))\n        ]\n\n    # ensure that each hidden state factor influences at least one observation\n    # modality (i.e. is used in at least one A dependency list)\n    key, subkey = jr.split(key)\n    tmp = jr.choice(subkey, num_modalities, shape=(num_factors,), replace=False)\n    A_dependencies = [[] for m in range(num_modalities)]\n    for sf, om in enumerate(tmp):\n        A_dependencies[om].append(int(sf))\n        \n    # generating the full graph of dependencies between observation modalities\n    # and hidden state factors\n    for om in range(num_modalities):\n\n        # determine the possibile choices for the length of a dependency list\n        A_dep_len_min, A_dep_len_max = A_dep_len_limits\n        if A_dep_len_max > num_factors:\n            A_dep_len_max = num_factors\n        A_dep_len_choices = np.arange(A_dep_len_min, A_dep_len_max)\n\n        if len(A_dependencies[om]) == 0:\n\n            # if no hidden states have already been assigned to an A dependency list,\n            # sample its length from an a-priori distribution (either uniform or exponential)\n            key, subkey = jr.split(key)\n            probs = A_dep_len_dist_unconditional(A_dep_len_choices) if A_dep_len_prior == 'exponential' else None\n            A_dep_len = int(jr.choice(subkey, A_dep_len_choices, p=probs))\n\n            # after sampling the length of a list, randomly choose that many hidden states\n            # as its elements (without repetition), and ensure a negative correlation\n            # between the hidden state dimensions and the length of the list\n            key, subkey = jr.split(key)\n            A_dependencies[om] = jr.choice(\n                subkey,\n                num_factors,\n                shape=(A_dep_len,),\n                replace=False,\n                p=A_dep_factors_dist(num_states, A_dep_len)\n            ).tolist()\n\n        else:\n\n            # if a hidden state has already been assigned to an A dependency list, choose\n            # its final length so that it is negatively correlated with the dimensionality\n            # of the hidden state (additionally, scale the probabilities according to the\n            # prior distribution of lengths to avoid awkward edge cases that would skew\n            # the statistics)\n            p = jnp.ones_like(A_dep_len_choices, dtype=jnp.float32)\n            if A_dep_len_prior == 'exponential':\n                p = A_dep_len_dist_unconditional(A_dep_len_choices)\n            p *= A_dep_len_dist(A_dep_len_choices, A_dependencies[om][0], state_dim_limits[1])\n            p /= jnp.sum(p)\n            key, subkey = jr.split(key)\n            A_dep_len = int(jr.choice(subkey, A_dep_len_choices, p=p))\n\n            # fill out the rest of the A dependency lists with hidden states other than\n            # the one that is already there, and ensure a negative correlation between\n            # the hidden state dimensions and the length of the list\n            remaining_factors = jnp.array([sf for sf in range(num_factors) if sf != A_dependencies[om][0]])\n            key, subkey = jr.split(key)\n            additional_deps = jr.choice(\n                subkey,\n                remaining_factors,\n                shape=(A_dep_len - 1,),\n                replace=False,\n                p=A_dep_factors_dist(\n                    [ns for sf, ns in enumerate(num_states) if sf != A_dependencies[om][0]],\n                    A_dep_len\n                )\n            ).tolist()\n            A_dependencies[om] += additional_deps\n    \n    A_dependencies = [sorted(A_dep) for A_dep in A_dependencies]\n\n    return num_states, num_obs, A_dependencies\n\n\ndef generate_agent_specs_from_parameter_sets(\n        parameter_sets: Sequence[tuple[int, int, int, int, str, str]],\n        num_agents_per_set: int = 1,\n        max_A_dependency_list_size: int = 10,\n        output_file: str | None = 'agent_specs.json',\n        seed: int | None = None,\n) -> dict[str, list[dict[str, Any]]]:\n    \"\"\"Generate multiple agent specs from parameter grids.\n\n    Parameters\n    ----------\n    parameter_sets: Sequence[tuple[int, int, int, int, str, str]]\n        Tuples of\n        `(num_factors, num_modalities, state_dim_upper_limit, obs_dim_upper_limit, dim_sampling_type, label)`.\n    num_agents_per_set: int, default=1\n        Number of samples to draw for each parameter set.\n    max_A_dependency_list_size: int, default=10\n        Maximum allowed A-dependency list size.\n    output_file: str | None, default='agent_specs.json'\n        Optional path to save generated specs.\n    seed: int | None, default=None\n        RNG seed.\n\n    Returns\n    -------\n    dict[str, list[dict[str, Any]]]\n        Mapping to generated specification records.\n    \"\"\"\n\n    # Create JAX PRNGKey with seed for reproducibility\n    key = jr.PRNGKey(seed if seed is not None else 0)\n\n    agent_specs = {\n        'arbitrary dependencies': []\n        # it might make sense to sometimes constrain the A dependencies additionally\n        # e.g. '2 dependencies per modality': [],\n    }\n\n    # iterate over the coordinated parameter sets\n    for num_factors, num_modalities, state_dim_upper_limit, obs_dim_upper_limit, dim_sampling_type, label in parameter_sets:\n\n        # it usually makes sense to have num_factors <= num_modalities, so we skip all other\n        # cases (they would require a different random generation scheme and constraints)\n        if num_factors > num_modalities:\n            continue\n\n        # sample random agent specifications from each parameter set\n        for _ in range(num_agents_per_set):\n\n            key, subkey = jr.split(key)\n            num_states, num_obs, A_dependencies = generate_agent_spec(\n                num_factors,\n                num_modalities,\n                (2, state_dim_upper_limit),\n                (2, obs_dim_upper_limit),\n                (1, max_A_dependency_list_size+1), # allow A dependency lists of lengths 1 to max_A_dependency_list_size\n                dim_sampling_type,\n                A_dep_len_prior='exponential', # favoring shorter dependency lists in general\n                key=subkey,\n            )\n        \n            agent_specs['arbitrary dependencies'].append({\n                'num_factors': int(num_factors),\n                'num_modalities': int(num_modalities),\n                'num_states': [int(n) for n in num_states],\n                'num_obs': [int(n) for n in num_obs],\n                'A_dependencies': [[int(dep) for dep in deps] for deps in A_dependencies],\n                # having descriptive metadata can be useful for querying agent specifications\n                # (e.g. selecting agents with a low number of hidden states and a high number\n                # of observation modalities etc.)\n                'metadata': {\n                    'num_factors': label,\n                    'num_modalities': label,\n                    'state_dim_upper_limit': label,\n                    'obs_dim_upper_limit': label,\n                    'dim_sampling_type': dim_sampling_type\n                }\n            })\n\n    # save to file if output_file is specified\n    if output_file is not None:\n        with open(output_file, 'w') as f:\n            json.dump(agent_specs, f)\n    \n    return agent_specs\n\n\n\n\n\n\ndef apply_padding_batched(xs: list[Array]) -> Array:\n    \"\"\"\n    Pad and concatenate variable-size arrays along a new batch axis.\n\n    Parameters\n    ----------\n    xs: list[Array]\n        Arrays to concatenate.\n\n    Returns\n    -------\n    Array\n        Padded batch tensor.\n    \"\"\"\n    \n    max_rank = max(x.ndim for x in xs)\n    max_dims = [sum(x.shape[0] for x in xs)] + [max(x.shape[i] for x in xs if i < x.ndim) for i in range(1, max_rank)]\n    \n    xs_padded = jnp.zeros(max_dims, dtype=xs[0].dtype)\n\n    i = 0\n    for x in xs:\n        slices = (slice(i, i+x.shape[0]),)\n        for j in range(1, max_rank):\n            if j < x.ndim:\n                slices += (slice(0, x.shape[j]),)\n            else:\n                slices += (0,)\n        xs_padded = xs_padded.at[slices].set(x)\n        i += x.shape[0]\n        \n    return xs_padded\n\ndef get_sample_obs(num_obs: Sequence[int], batch_size: int = 1) -> list[Array]:\n    \"\"\"Generate random observations for each modality.\n\n    Parameters\n    ----------\n    num_obs: Sequence[int]\n        Outcome counts per modality.\n    batch_size: int, default=1\n        Number of samples per modality.\n\n    Returns\n    -------\n    list[Array]\n        Random observations of shape `(batch_size, 1)` per modality.\n    \"\"\"\n    obs = [np.random.randint(0, obs_dim, (batch_size, 1)) for obs_dim in num_obs]\n    return [jnp.array(o) for o in obs]\n\ndef init_A_and_D_from_spec(\n    num_obs: Sequence[int],\n    num_states: Sequence[int],\n    A_dependencies: list[list[int]],\n    A_sparsity_level: float | None = None,\n    batch_size: int = 1,\n) -> tuple[list[Array], list[Array]]:\n    \"\"\"Create initial A and D tensors from explicit model metadata.\n\n    Parameters\n    ----------\n    num_obs: Sequence[int]\n        Observation cardinalities.\n    num_states: Sequence[int]\n        Hidden-state cardinalities.\n    A_dependencies: list[list[int]]\n        Modality-to-state dependencies.\n    A_sparsity_level: float | None, default=None\n        Optional sparsity level when constructing A.\n    batch_size: int, default=1\n        Number of sampled model instances.\n\n    Returns\n    -------\n    tuple[list[Array], list[Array]]\n        Initialized A and D arrays.\n    \"\"\"\n\n    A = []\n    \n    for i, obs_dim_i in enumerate(num_obs):\n        \n        lagging_dims = [num_states[f_j] for f_j in A_dependencies[i]]\n        full_dimension = [obs_dim_i] + lagging_dims\n\n        if A_sparsity_level is not None:\n\n            # artificially controlling the amount of zeros in A matrices\n        \n            A_m = np.zeros([batch_size] + full_dimension)\n            nonzero_per_distribution = max(1, int((1.0 - A_sparsity_level) * obs_dim_i))\n\n            for batch in range(batch_size):\n        \n                it = np.nditer(np.empty(lagging_dims), flags=['multi_index'])\n                for _ in it:\n                    idx = it.multi_index\n                    nonzero_indices = np.random.choice(obs_dim_i, size=nonzero_per_distribution, replace=False)\n                    values = np.random.rand(nonzero_per_distribution)\n                    values /= values.sum()\n                    for i, val in zip(nonzero_indices, values):\n                        A_m[(batch, i) + idx] = val\n\n        else:\n            A_m = [np.random.rand(*full_dimension) for batch in range(batch_size)]\n            A_m = [a / a.sum(axis=0, keepdims=True) for a in A_m]\n            A_m = np.concatenate([a[np.newaxis, ...] for a in A_m], axis=0)\n        \n        A.append(A_m)\n    \n    D = [(1.0 / ns) * np.ones((batch_size, ns)) for ns in num_states]\n    \n    A = [jnp.array(a) for a in A]\n    D = [jnp.array(d) for d in D]\n    \n    # A = [jnp.expand_dims(a, axis=0) for a in A]\n    # D = [jnp.expand_dims(d, axis=0) for d in D]\n\n    return A, D    \n\n# Block diagonal approach functions\ndef build_block_diag_A(\n    A_list: list[Array],\n) -> tuple[Array, tuple[tuple[int, ...], ...], tuple[int, ...]]:\n    \"\"\"Build a block-diagonal representation from modality-wise likelihood tensors.\n\n    Parameters\n    ----------\n    A_list: list[Array]\n        List of likelihood tensors.\n\n    Returns\n    -------\n    tuple[Array, tuple[tuple[int, ...], ...], tuple[int, ...]]\n        `(A_big, state_shapes, cuts)`.\n    \"\"\"\n    A_flat = [a.reshape(a.shape[0], -1, a.shape[-1]) for a in A_list]\n    state_shapes = tuple(tuple(int(d) for d in a.shape[1:-1]) for a in A_list)  # hashable tuples\n    \n    sizes = tuple(math.prod(shape) for shape in state_shapes)   # rows per modality\n    cuts  = tuple(itertools.accumulate(sizes))[:-1]\n    \n    row_off = jnp.cumsum(jnp.array([0] + [a.shape[1] for a in A_flat]))\n    col_off = jnp.cumsum(jnp.array([0] + [a.shape[-1] for a in A_flat]))\n    bs, rows, cols = A_list[0].shape[0], int(row_off[-1]), int(col_off[-1])\n\n    A_big = jnp.zeros((bs, rows, cols), dtype=A_list[0].dtype)\n    for m, a in enumerate(A_flat):\n        r0, r1 = int(row_off[m]),   int(row_off[m + 1])\n        c0, c1 = int(col_off[m]),   int(col_off[m + 1])\n        A_big = A_big.at[:, r0:r1, c0:c1].set(a)\n    return A_big, state_shapes, cuts\n\n# Preprocessing functions for block diagonal approach\ndef preprocess_A_for_block_diag(\n    A: list[Array],\n) -> tuple[Array, tuple[tuple[int, ...], ...], tuple[int, ...]]:\n    \"\"\"Preprocess A matrices for block-diagonal likelihood evaluation.\n\n    Parameters\n    ----------\n    A: list[Array]\n        Likelihood tensors.\n\n    Returns\n    -------\n    tuple[Array, tuple[tuple[int, ...], ...], tuple[int, ...]]\n        Block-diagonal representation and auxiliary metadata.\n    \"\"\"\n    A_big, state_shapes, cuts = build_block_diag_A(A)\n    return A_big, state_shapes, cuts\n\ndef prepare_obs_for_block_diag(obs: list[Array], num_obs: Sequence[int]) -> list[Array]:\n    \"\"\"Prepare observation vectors for block-diagonal calculations.\n\n    Parameters\n    ----------\n    obs: list[Array]\n        Raw observation tensors.\n    num_obs: Sequence[int]\n        Observation cardinalities.\n\n    Returns\n    -------\n    list[Array]\n        One-hot encoded observation arrays prepared for block-diagonal use.\n    \"\"\"\n    # Convert to one-hot if needed\n    o_vec = [nn.one_hot(o, num_obs[m]) for m, o in enumerate(obs)]\n    obs_tmp = jtu.tree_map(lambda x: x[-1], o_vec)\n    return obs_tmp\n\ndef concatenate_observations_block_diag(obs_list: list[Array]) -> Array:\n    \"\"\"Concatenate observation vectors for block-diagonal processing.\n\n    Parameters\n    ----------\n    obs_list: list[Array]\n        One-hot encoded observations per modality.\n\n    Returns\n    -------\n    Array\n        Concatenated observation tensor.\n    \"\"\"\n    return jnp.concatenate(obs_list, axis=1)\n\ndef apply_A_end2end_padding_batched(A: list[Array]) -> Array:\n    \"\"\"Pad A tensors for end-to-end batched processing.\n\n    Parameters\n    ----------\n    A: list[Array]\n        A tensors per modality.\n\n    Returns\n    -------\n    Array\n        Batched padded A tensor.\n    \"\"\"\n    \n    max_rank = max(a.ndim for a in A)\n    max_dims = [len(A), A[0].shape[0], max(a.shape[1] for a in A)] + [max(max(a.shape[2:]) for a in A)]*(max_rank - 2)\n    \n    A_padded = jnp.zeros(max_dims, dtype=A[0].dtype)\n\n    for i, a in enumerate(A):\n        slices = (i, slice(0, a.shape[0]))\n        for j in range(1, max_rank):\n            if j < a.ndim:\n                slices += (slice(0, a.shape[j]),)\n            else:\n                slices += (0,)\n        A_padded = A_padded.at[slices].set(a)\n        \n    return A_padded\n\ndef apply_obs_end2end_padding_batched(obs: list[Array], max_obs_dim: int) -> Array:\n    \"\"\"Pad observations for end-to-end batched processing.\n\n    Parameters\n    ----------\n    obs: list[Array]\n        Observation tensors.\n    max_obs_dim: int\n        Dimensionality to pad observation axis to.\n\n    Returns\n    -------\n    Array\n        Batched padded observation tensor.\n    \"\"\"\n    \n    full_shape = [len(obs), obs[0].shape[0], max_obs_dim]\n    \n    obs_padded = jnp.zeros(full_shape, dtype=obs[0].dtype)\n\n    for i, o in enumerate(obs):\n        obs_padded = obs_padded.at[i, :, slice(0, o.shape[1])].set(o)\n        \n    return obs_padded\n"
  },
  {
    "path": "pyproject.toml",
    "content": "[build-system]\nrequires = [\"setuptools>=77\"]\nbuild-backend = \"setuptools.build_meta\"\n\n[project]\nname = \"inferactively-pymdp\"\nversion = \"1.0.0\"\ndescription = \"A Python package for solving Markov Decision Processes with Active Inference\"\nauthors = [\n    { name = \"Conor Heins\", email=\"conor.heins@gmail.com\"},\n    { name = \"Alexander Tschantz\", email=\"tschantz.alec@gmail.com\"},\n    { name = \"Tim Verbelen\", email=\"verbelen.tim@gmail.com\"},\n    { name = \"Dimitrije Markovic\", email=\"dimitrije.markovic@tu-dresden.de\"}\n]\nreadme = \"README.md\"\nlicense = \"MIT\"\nlicense-files = [\"LICENSE\"]\nclassifiers=[\n    'Development Status :: 5 - Production/Stable',\n    'Intended Audience :: Developers',\n    'Topic :: Scientific/Engineering :: Artificial Intelligence',\n    'Programming Language :: Python :: 3',\n]\nrequires-python = \">=3.10\"\ndependencies = [\n    'numpy>=1.19.5',\n    'jax>=0.3.4',\n    'jaxlib>=0.3.4',\n    'equinox>=0.9',\n    'multimethod>=1.11',\n    'matplotlib>=3.1.3',\n    'seaborn>=0.11.1',\n    'mctx>=0.0.5',\n    'networkx>=3.3',\n]\n\n[dependency-groups]\ndev = [\n    \"nbformat>=5.10.4\",\n    \"nbstripout>=0.8.2\",\n    \"pre-commit>=4.2.0\",\n]\n\ntest = [\n    # Keep ipykernel<7 while mkdocs-jupyter requires ipykernel>6,<7.\n    \"ipykernel>=6.29.0,<7\",\n    \"jupyter>=1.1.1\",\n    \"mediapy>=1.2.4\",\n    \"nbval>=0.11.0\",\n    \"pybefit\",\n    \"pygraphviz>=1.14\",\n    \"pytest-cov>=7.0.0\",\n    \"pytest>=8.4.2\",\n    \"pytest-timeout>=2.4.0\",\n    \"pytest-xdist>=3.5.0\",\n]\n\n[project.optional-dependencies]\ngpu = [\n    'jax[cuda12]>=0.3.4',\n]\ndocs = [\n    \"mkdocs>=1.6.1,<2\",\n    \"mkdocs-dracula-theme>=1.0.9\",\n    \"mkdocstrings[python]>=0.27.0\",\n    \"mkdocs-jupyter>=0.24.8\",\n    \"mkdocs-redirects>=1.2.2\",\n]\n\nnb = [\n    'mediapy>=1.2.4',\n    'pygraphviz>=1.14',\n]\n\nmodelfit = [\n    \"pybefit\",\n]\n\n[project.urls]\nDocumentation = \"https://pymdp-rtd.readthedocs.io/en/latest/\"\nRepository = \"https://github.com/infer-actively/pymdp\"\n\n[tool.setuptools]\npackages = [\n    'pymdp',\n    'pymdp.envs',\n    'pymdp.envs.assets',\n    'pymdp.planning',\n    'pymdp.legacy',\n    'pymdp.legacy.algos',\n    'pymdp.legacy.envs',\n]\n\n[tool.setuptools.package-data]\npymdp = ['envs/assets/*']\n\n[tool.black]\nline-length = 88\n\n[tool.ruff]\nline-length = 88\nlint.ignore = [\"E731\", \"E741\", \"F401\", \"E402\", \"F811\"]\n\n[tool.pytest.ini_options]\nminversion = \"6.2.1\"\naddopts = \"\"\"\n    --ignore=examples/legacy\n    -n 1\n    --dist worksteal\n\"\"\"\nfilterwarnings = [\n    \"ignore::DeprecationWarning\",\n    \"ignore::FutureWarning\",\n]\nmarkers = [\n    \"nightly: long-running tests executed in nightly CI\",\n]\n\n[tool.coverage.run]\nsource = [\"pymdp\"]\nomit = [\n    \"*/test/*\",\n    \"pymdp/legacy/*\",\n]\n\n[tool.coverage.report]\nprecision = 2\nshow_missing = true\nskip_covered = false\n\n[tool.uv.sources]\npybefit = { git = \"https://github.com/dimarkov/pybefit.git\" }\n"
  },
  {
    "path": "scripts/docs_build.sh",
    "content": "#!/usr/bin/env bash\nset -euo pipefail\n\nROOT_DIR=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")/..\" && pwd)\"\ncd \"$ROOT_DIR\"\n./scripts/sync_docs_notebooks.sh\nexport NO_MKDOCS_2_WARNING=1\nuv run --active --no-default-groups --extra docs mkdocs build --strict\n"
  },
  {
    "path": "scripts/docs_serve.sh",
    "content": "#!/usr/bin/env bash\nset -euo pipefail\n\nROOT_DIR=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")/..\" && pwd)\"\ncd \"$ROOT_DIR\"\n./scripts/sync_docs_notebooks.sh\nexport NO_MKDOCS_2_WARNING=1\nuv run --active --no-default-groups --extra docs mkdocs serve\n"
  },
  {
    "path": "scripts/docs_sync_and_serve.sh",
    "content": "#!/usr/bin/env bash\nset -euo pipefail\n\nROOT_DIR=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")/..\" && pwd)\"\ncd \"$ROOT_DIR\"\n./scripts/docs_serve.sh\n"
  },
  {
    "path": "scripts/notebook_precommit.py",
    "content": "#!/usr/bin/env python3\n\"\"\"Tier-aware notebook sanitation hooks for pre-commit.\"\"\"\n\nfrom __future__ import annotations\n\nimport argparse\nimport subprocess\nimport sys\nfrom pathlib import Path\n\nimport nbformat\n\nREPO_ROOT = Path(__file__).resolve().parents[1]\nMANIFEST_DIR = REPO_ROOT / \"test\" / \"notebooks\"\nCI_MANIFEST = MANIFEST_DIR / \"ci_notebooks.txt\"\nNIGHTLY_MANIFEST = MANIFEST_DIR / \"nightly_notebooks.txt\"\nLEGACY_NOTEBOOK_PREFIX = \"examples/legacy/\"\nTOP_LEVEL_METADATA_KEYS = (\"kernelspec\", \"language_info\")\nNBSTRIPOUT_EXTRA_KEYS = \"metadata.kernelspec metadata.language_info\"\n\n\ndef load_manifest(path: Path) -> set[str]:\n    return {\n        line.strip()\n        for line in path.read_text(encoding=\"utf-8\").splitlines()\n        if line.strip() and not line.strip().startswith(\"#\")\n    }\n\n\ndef strip_top_level_metadata(notebook: nbformat.NotebookNode) -> bool:\n    changed = False\n    for key in TOP_LEVEL_METADATA_KEYS:\n        if key in notebook.metadata:\n            del notebook.metadata[key]\n            changed = True\n    return changed\n\n\ndef canonicalize_execution_counts(notebook: nbformat.NotebookNode) -> bool:\n    \"\"\"\n    Normalize execution counts for output-bearing code cells.\n\n    `nbval` only needs output-bearing reference cells to have non-null execution\n    counts; the exact local kernel history is not meaningful. Canonicalizing the\n    counts keeps the notebooks stable under version control while preserving the\n    invariant that saved outputs look like they came from an executed notebook.\n    \"\"\"\n\n    changed = False\n    next_count = 1\n\n    for cell in notebook.cells:\n        if cell.get(\"cell_type\") != \"code\":\n            continue\n\n        outputs = cell.get(\"outputs\", [])\n        if not outputs:\n            if cell.get(\"execution_count\") is not None:\n                cell[\"execution_count\"] = None\n                changed = True\n            continue\n\n        if cell.get(\"execution_count\") != next_count:\n            cell[\"execution_count\"] = next_count\n            changed = True\n\n        for output in outputs:\n            if \"execution_count\" in output and output[\"execution_count\"] != next_count:\n                output[\"execution_count\"] = next_count\n                changed = True\n\n        next_count += 1\n\n    return changed\n\n\ndef to_repo_relative(path_str: str) -> str | None:\n    path = Path(path_str)\n    if not path.is_absolute():\n        path = REPO_ROOT / path\n\n    try:\n        return path.resolve().relative_to(REPO_ROOT).as_posix()\n    except ValueError:\n        return None\n\n\ndef classify_notebooks(path_args: list[str]) -> tuple[list[Path], list[Path], list[str]]:\n    ci_manifest = load_manifest(CI_MANIFEST)\n    nightly_manifest = load_manifest(NIGHTLY_MANIFEST)\n    ci_paths: list[Path] = []\n    nightly_paths: list[Path] = []\n    unclassified_paths: list[str] = []\n\n    for path_arg in path_args:\n        rel_path = to_repo_relative(path_arg)\n        if rel_path is None or not rel_path.endswith(\".ipynb\"):\n            continue\n\n        file_path = REPO_ROOT / rel_path\n        if not file_path.exists():\n            continue\n\n        if not rel_path.startswith(\"examples/\") or rel_path.startswith(\n            LEGACY_NOTEBOOK_PREFIX\n        ):\n            continue\n\n        if rel_path in ci_manifest:\n            ci_paths.append(file_path)\n        elif rel_path in nightly_manifest:\n            nightly_paths.append(file_path)\n        else:\n            unclassified_paths.append(rel_path)\n\n    return ci_paths, nightly_paths, sorted(set(unclassified_paths))\n\n\ndef report_unclassified_notebooks(paths: list[str]) -> int:\n    if not paths:\n        return 0\n\n    print(\n        \"Every non-legacy source notebook under examples/ must be listed in either \"\n        \"test/notebooks/ci_notebooks.txt or test/notebooks/nightly_notebooks.txt.\"\n    )\n    print(\"Update the notebook manifests before committing these files:\")\n    for rel_path in paths:\n        print(f\"  - {rel_path}\")\n    return 1\n\n\ndef sanitize_ci_notebooks(paths: list[Path]) -> list[str]:\n    modified_paths: list[str] = []\n\n    for path in paths:\n        notebook = nbformat.read(path, as_version=nbformat.NO_CONVERT)\n        changed = strip_top_level_metadata(notebook)\n        changed = canonicalize_execution_counts(notebook) or changed\n\n        if changed:\n            nbformat.write(notebook, path)\n            modified_paths.append(path.relative_to(REPO_ROOT).as_posix())\n\n    return modified_paths\n\n\ndef sanitize_nightly_notebooks(paths: list[Path]) -> None:\n    if not paths:\n        return\n\n    command = [\n        sys.executable,\n        \"-m\",\n        \"nbstripout\",\n        \"--keep-output\",\n        f\"--extra-keys={NBSTRIPOUT_EXTRA_KEYS}\",\n        *[path.relative_to(REPO_ROOT).as_posix() for path in paths],\n    ]\n    subprocess.run(command, cwd=REPO_ROOT, check=True)\n\n    for path in paths:\n        notebook = nbformat.read(path, as_version=nbformat.NO_CONVERT)\n        changed = strip_top_level_metadata(notebook)\n        changed = canonicalize_execution_counts(notebook) or changed\n        if changed:\n            nbformat.write(notebook, path)\n\n\ndef validate_manifest_notebooks(paths: list[Path]) -> list[str]:\n    violations: list[str] = []\n\n    for path in paths:\n        notebook = nbformat.read(path, as_version=nbformat.NO_CONVERT)\n        for index, cell in enumerate(notebook.cells, start=1):\n            if cell.get(\"cell_type\") != \"code\":\n                continue\n            outputs = cell.get(\"outputs\", [])\n            if not outputs:\n                continue\n\n            if cell.get(\"execution_count\") is None:\n                violations.append(\n                    f\"{path.relative_to(REPO_ROOT).as_posix()}: code cell {index} \"\n                    \"has outputs but a null execution_count\"\n                )\n                continue\n\n            for output in outputs:\n                if \"execution_count\" in output and output[\"execution_count\"] != cell.get(\n                    \"execution_count\"\n                ):\n                    violations.append(\n                        f\"{path.relative_to(REPO_ROOT).as_posix()}: code cell {index} \"\n                        \"has an output execution_count that does not match the cell\"\n                    )\n\n    return violations\n\n\ndef run_sanitize(path_args: list[str]) -> int:\n    ci_paths, nightly_paths, unclassified_paths = classify_notebooks(path_args)\n    if unclassified_paths:\n        return report_unclassified_notebooks(unclassified_paths)\n\n    ci_modified = sanitize_ci_notebooks(ci_paths)\n    sanitize_nightly_notebooks(nightly_paths)\n\n    if ci_modified:\n        print(\"Sanitized CI-tier notebooks:\")\n        for rel_path in ci_modified:\n            print(f\"  - {rel_path}\")\n\n    if nightly_paths:\n        print(\"Sanitized nightly-tier notebooks with nbstripout:\")\n        for path in nightly_paths:\n            print(f\"  - {path.relative_to(REPO_ROOT).as_posix()}\")\n\n    return 0\n\n\ndef run_validate_counts(path_args: list[str]) -> int:\n    ci_paths, nightly_paths, unclassified_paths = classify_notebooks(path_args)\n    if unclassified_paths:\n        return report_unclassified_notebooks(unclassified_paths)\n\n    violations = validate_manifest_notebooks(ci_paths + nightly_paths)\n\n    if not violations:\n        return 0\n\n    print(\n        \"Manifest-tested notebooks that keep saved outputs must also keep \"\n        \"non-null execution counts for those cells.\"\n    )\n    for violation in violations:\n        print(f\"  - {violation}\")\n    return 1\n\n\ndef parse_args() -> argparse.Namespace:\n    parser = argparse.ArgumentParser(\n        description=\"Tier-aware notebook sanitation hooks for pre-commit.\"\n    )\n    parser.add_argument(\n        \"command\",\n        choices=(\"sanitize\", \"validate-ci\", \"validate-counts\"),\n        help=\"Hook action to execute.\",\n    )\n    parser.add_argument(\"paths\", nargs=\"*\", help=\"Notebook paths supplied by pre-commit.\")\n    return parser.parse_args()\n\n\ndef main() -> int:\n    args = parse_args()\n    if args.command == \"sanitize\":\n        return run_sanitize(args.paths)\n    if args.command in {\"validate-ci\", \"validate-counts\"}:\n        return run_validate_counts(args.paths)\n    raise ValueError(f\"Unsupported command: {args.command}\")\n\n\nif __name__ == \"__main__\":\n    raise SystemExit(main())\n"
  },
  {
    "path": "scripts/run_notebook_manifest.py",
    "content": "#!/usr/bin/env python3\n\"\"\"Run nbval notebook tests from a manifest file.\"\"\"\n\nfrom __future__ import annotations\n\nimport argparse\nimport subprocess\nimport sys\nfrom pathlib import Path\n\nREPO_ROOT = Path(__file__).resolve().parents[1]\n\n\ndef load_manifest(path: Path) -> list[str]:\n    notebooks = [\n        line.strip()\n        for line in path.read_text(encoding=\"utf-8\").splitlines()\n        if line.strip() and not line.strip().startswith(\"#\")\n    ]\n    missing = [entry for entry in notebooks if not (REPO_ROOT / entry).exists()]\n    if missing:\n        missing_str = \"\\n\".join(f\"  - {entry}\" for entry in missing)\n        raise FileNotFoundError(\n            f\"Manifest {path.relative_to(REPO_ROOT).as_posix()} references missing \"\n            f\"notebooks:\\n{missing_str}\"\n        )\n    return notebooks\n\n\ndef parse_args() -> argparse.Namespace:\n    parser = argparse.ArgumentParser(\n        description=\"Run notebook tests listed in a repo-relative manifest file.\"\n    )\n    parser.add_argument(\"manifest\", help=\"Repo-relative path to the notebook manifest.\")\n    parser.add_argument(\n        \"--strict-output\",\n        action=\"store_true\",\n        help=\"Use strict nbval output matching instead of --nbval-lax.\",\n    )\n    parser.add_argument(\n        \"pytest_args\",\n        nargs=argparse.REMAINDER,\n        help=\"Additional pytest arguments. Prefix them with -- to separate them.\",\n    )\n    return parser.parse_args()\n\n\ndef has_explicit_numprocesses(pytest_args: list[str]) -> bool:\n    for arg in pytest_args:\n        if arg == \"-n\" or arg.startswith(\"-n\") or arg.startswith(\"--numprocesses\"):\n            return True\n    return False\n\n\ndef main() -> int:\n    args = parse_args()\n    manifest_path = (REPO_ROOT / args.manifest).resolve()\n\n    try:\n        manifest_rel = manifest_path.relative_to(REPO_ROOT)\n    except ValueError as exc:\n        raise SystemExit(f\"Manifest must live inside the repository: {args.manifest}\") from exc\n\n    notebooks = load_manifest(manifest_path)\n    pytest_args = args.pytest_args\n    if pytest_args[:1] == [\"--\"]:\n        pytest_args = pytest_args[1:]\n\n    nbval_flag = \"--nbval\" if args.strict_output else \"--nbval-lax\"\n    worker_args = [] if has_explicit_numprocesses(pytest_args) else [\"-n0\"]\n    command = [\n        sys.executable,\n        \"-m\",\n        \"pytest\",\n        nbval_flag,\n        *worker_args,\n        *pytest_args,\n        *notebooks,\n    ]\n\n    print(\n        f\"Running {len(notebooks)} notebook(s) from \"\n        f\"{manifest_rel.as_posix()} with {nbval_flag}.\"\n    )\n    if worker_args:\n        print(\"Notebook execution defaults to -n0 to avoid xdist/nbval conflicts.\")\n    for notebook in notebooks:\n        print(f\"  - {notebook}\")\n\n    completed = subprocess.run(command, cwd=REPO_ROOT)\n    return completed.returncode\n\n\nif __name__ == \"__main__\":\n    raise SystemExit(main())\n"
  },
  {
    "path": "scripts/sync_docs_notebooks.sh",
    "content": "#!/usr/bin/env bash\nset -euo pipefail\n\nROOT_DIR=\"$(cd \"$(dirname \"${BASH_SOURCE[0]}\")/..\" && pwd)\"\nMANIFEST=\"$ROOT_DIR/docs-mkdocs/tutorials/notebooks.manifest\"\nNOTEBOOK_DIR=\"$ROOT_DIR/docs-mkdocs/tutorials/notebooks\"\nINDEX_FILE=\"$NOTEBOOK_DIR/index.md\"\nHEADER_FILE=\"$NOTEBOOK_DIR/index.header.md\"\n\nif [[ ! -f \"$MANIFEST\" ]]; then\n  echo \"Manifest not found: $MANIFEST\" >&2\n  exit 1\nfi\n\nmkdir -p \"$NOTEBOOK_DIR\"\n\nif [[ ! -f \"$HEADER_FILE\" ]]; then\n  cat > \"$HEADER_FILE\" <<'EOF'\n## For developers\n\nThe notebook listings above are auto-generated by `./scripts/sync_docs_notebooks.sh`.\n\nTo add a notebook:\n\n1. Add a path to `docs-mkdocs/tutorials/notebooks.manifest`.\n2. Run `./scripts/sync_docs_notebooks.sh`.\nEOF\nfi\n\n# Clean previous synced notebooks/content (index is regenerated below).\n# Preserve the editable developer notes file.\nfind \"$NOTEBOOK_DIR\" -mindepth 1 -maxdepth 1 ! -name \"$(basename \"$HEADER_FILE\")\" -exec rm -rf {} +\n\ndeclare -a copied_paths=()\n\nwhile IFS= read -r raw_line || [[ -n \"$raw_line\" ]]; do\n  line=\"${raw_line%%#*}\"\n  line=\"$(echo \"$line\" | xargs)\"\n  [[ -z \"$line\" ]] && continue\n\n  src=\"$ROOT_DIR/$line\"\n  if [[ ! -f \"$src\" ]]; then\n    echo \"Notebook listed in manifest was not found: $line\" >&2\n    exit 1\n  fi\n\n  rel_dir=\"$(dirname \"$line\")\"\n  mkdir -p \"$NOTEBOOK_DIR/$rel_dir\"\n  cp \"$src\" \"$NOTEBOOK_DIR/$line\"\n  copied_paths+=(\"$line\")\n\ndone < \"$MANIFEST\"\n\ncopied_paths_json=\"$(printf '%s\\n' \"${copied_paths[@]}\" | python3 -c 'import json, sys; print(json.dumps([line.strip() for line in sys.stdin if line.strip()]))')\"\n\nGENERATED_SECTION=\"$(mktemp)\"\n\nCOPIED_PATHS_JSON=\"$copied_paths_json\" python3 - > \"$GENERATED_SECTION\" <<'PY'\nimport json\nimport os\n\ncopied_paths = json.loads(os.environ[\"COPIED_PATHS_JSON\"])\navailable = set(copied_paths)\n\nsections = [\n    (\n        \"Getting started\",\n        [\n            (\"Generative Model Construction (Model/Distribution APIs)\", \"examples/api/model_construction_tutorial.ipynb\"),\n            (\"T-Maze Demo\", \"examples/envs/tmaze_demo.ipynb\"),\n            (\"T-Maze Task with Distractors\", \"examples/envs/generalized_tmaze_demo.ipynb\"),\n            (\"Cue Chaining Demo\", \"examples/envs/cue_chaining_demo.ipynb\"),\n            (\"Graph worlds\", \"examples/envs/graph_worlds_demo.ipynb\"),\n            (\"Demo: Knapsack Problem\", \"examples/envs/knapsack_demo.ipynb\"),\n        ],\n    ),\n    (\n        \"Sophisticated Inference\",\n        [\n            (\n                \"Validating Sophisticated Inference (SI) Planning Algorithm using the T-Maze Task\",\n                \"examples/experimental/sophisticated_inference/si_tmaze_SIvalidation.ipynb\",\n            ),\n            (\n                \"Sophisticated inference on a T-Maze Task with Distractors\",\n                \"examples/experimental/sophisticated_inference/si_generalized_tmaze.ipynb\",\n            ),\n            (\n                \"Sophisticated inference on Graph Worlds\",\n                \"examples/experimental/sophisticated_inference/si_graph_world.ipynb\",\n            ),\n        ],\n    ),\n    (\n        \"Inductive Inference\",\n        [\n            (\"Inductive Inference Example\", \"examples/inductive_inference/inductive_inference_example.ipynb\"),\n            (\"Inductive Inference Gridworld\", \"examples/inductive_inference/inductive_inference_gridworld.ipynb\"),\n        ],\n    ),\n    (\n        \"Parameter Learning\",\n        [(\"Learning Gridworld\", \"examples/learning/learning_gridworld.ipynb\")],\n    ),\n    (\n        \"Fitting POMDPs to experimental / behavioral data\",\n        [(\"Fitting With `pybefit`\", \"examples/model_fitting/fitting_with_pybefit.ipynb\")],\n    ),\n    (\n        \"Advanced\",\n        [\n            (\n                \"Working with complex action dependencies\",\n                \"examples/advanced/complex_action_dependency.ipynb\",\n            ),\n            (\n                \"Using `pymdp` with a neural encoder\",\n                \"examples/advanced/pymdp_with_neural_encoder.ipynb\",\n            ),\n            (\n                \"Testing optimized inference methods\",\n                \"examples/advanced/infer_states_optimization/methods_test.ipynb\",\n            ),\n            (\"Sparse Array Benchmarking\", \"examples/sparse/sparse_benchmark.ipynb\"),\n            (\n                \"Sophisticated inference with Monte Carlo Tree Search on TMaze with Distractors\",\n                \"examples/experimental/sophisticated_inference/mcts_generalized_tmaze.ipynb\",\n            ),\n            (\n                \"Sophisticated inference with Monte Carlo Tree Search on Graph World\",\n                \"examples/experimental/sophisticated_inference/mcts_graph_world.ipynb\",\n            ),\n            (\n                \"Comparing sequential inference algorithms\",\n                \"examples/inference_and_learning/inference_methods_comparison.ipynb\",\n            ),\n        ],\n    ),\n]\n\nall_mapped_paths = {path for _, items in sections for _, path in items}\nunmapped = [path for path in copied_paths if path not in all_mapped_paths]\n\nprint(\"# Notebook Gallery\")\nprint()\nprint(\"## Curated notebooks\")\nprint()\n\nfor section, items in sections:\n    print(f\"### {section}\")\n    for title, path in items:\n        if path in available:\n            print(f\"- [{title}]({path})\")\n    print()\n\nif unmapped:\n    print(\"### Other notebooks\")\n    for path in unmapped:\n        print(f\"- [{path}]({path})\")\nPY\n\n{\n  cat \"$GENERATED_SECTION\"\n  if [[ -s \"$HEADER_FILE\" ]]; then\n    echo\n    cat \"$HEADER_FILE\"\n  fi\n} > \"$INDEX_FILE\"\n\nrm -f \"$GENERATED_SECTION\"\n\necho \"Synced ${#copied_paths[@]} notebook(s) to $NOTEBOOK_DIR\"\n"
  },
  {
    "path": "setup.cfg",
    "content": "[metadata]\nname = inferactively-pymdp\nversion = 1.0.0\ndescription = A Python package for solving Markov Decision Processes with Active Inference\nlong_description = file: README.md\nlong_description_content_type = text/markdown\nauthor = Conor Heins, Alexander Tschantz, Tim Verbelen, Dimitrije Markovic\nauthor_email = conor.heins@gmail.com, tschantz.alec@gmail.com, verbelen.tim@gmail.com, dimitrije.markovic@tu-dresden.de\nlicense = MIT\nlicense_files = LICENSE\nclassifiers =\n    Development Status :: 5 - Production/Stable\n    Intended Audience :: Developers\n    Topic :: Scientific/Engineering :: Artificial Intelligence\n    Programming Language :: Python :: 3\npython_requires = >=3.10\nproject_urls =\n    Documentation = https://pymdp-rtd.readthedocs.io/en/latest/\n    Repository = https://github.com/infer-actively/pymdp\n\n[options]\npackages = find:\ninstall_requires =\n    numpy>=1.19.5\n    jax>=0.3.4\n    jaxlib>=0.3.4\n    equinox>=0.9\n    multimethod>=1.11\n    matplotlib>=3.1.3\n    seaborn>=0.11.1\n    mctx>=0.0.5\n    networkx>=3.3\ninclude_package_data = True\n\n[options.extras_require]\ngpu =\n    jax[cuda12]>=0.3.4\n\n[options.package_data]\npymdp = envs/assets/*\n\n[options.packages.find]\nwhere = .\n\n[tool:pytest]\nminversion = 6.2.1\n\n[flake8]\nmax-line-length = 120\n"
  },
  {
    "path": "test/__init__.py",
    "content": ""
  },
  {
    "path": "test/conftest.py",
    "content": "import os\nimport warnings\n\ndef pytest_configure(config):\n    \"\"\"\n    Configure JAX memory settings for parallel test execution.\n\n    This prevents OOM errors when running tests in parallel with pytest-xdist\n    by limiting JAX's memory preallocation behavior.\n\n    Additionally we enable JAX compilation caching for improved repeated test performance.\n\n    See: \n    - https://docs.jax.dev/en/latest/gpu_memory_allocation.html\n    - https://docs.jax.dev/en/latest/persistent_compilation_cache.html\n    \"\"\"\n    # Use platform memory allocator (more conservative than default behaviour)\n    if 'XLA_PYTHON_CLIENT_ALLOCATOR' not in os.environ:\n        os.environ['XLA_PYTHON_CLIENT_ALLOCATOR'] = 'platform'\n\n    # Limit memory fraction per device (to prevent OOM kills)\n    if 'XLA_PYTHON_CLIENT_MEM_FRACTION' not in os.environ:\n        os.environ['XLA_PYTHON_CLIENT_MEM_FRACTION'] = '0.20'\n\n    # Enable JAX compilation cache for faster repeated runs\n    if 'JAX_COMPILATION_CACHE_DIR' not in os.environ:\n        os.environ['JAX_COMPILATION_CACHE_DIR'] = '.jax_cache'\n\n    warnings.filterwarnings(\n        \"ignore\",\n        message=r\"A JAX array is being set as static!.*\",\n        category=UserWarning,\n    )\n"
  },
  {
    "path": "test/matlab_crossval/generation/bmr_matlab_test_a.m",
    "content": "%% \n\nclear all; close all; clc;\n\ncd .. % this brings you into the 'pymdp/tests/matlab_crossval/' super directory, since this file should be stored in 'pymdp/tests/matlab_crossval/generation'\n\nx     = linspace(1,32,128);\npA    = [1; 1];\nrA    = pA;\nrA(2) = 8;\nF = zeros(numel(x), numel(x));\nfor i = 1:numel(x)\n    for j = 1:numel(x)\n        qA = [x(i);x(j)];\n        F(i,j) = spm_MDP_log_evidence(qA,pA,rA);\n    end\nend\n\nsave_dir = 'output/bmr_test_a.mat';\nsave(save_dir, 'F');\n\n%%\nfunction [F,sA] = spm_MDP_log_evidence(qA,pA,rA)\n% Bayesian model reduction for Dirichlet hyperparameters\n% FORMAT [F,sA] = spm_MDP_log_evidence(qA,pA,rA)\n%\n% qA  - sufficient statistics of posterior of full model\n% pA  - sufficient statistics of prior of full model\n% rA  - sufficient statistics of prior of reduced model\n%\n% F   - free energy or (negative) log evidence of reduced model\n% sA  - sufficient statistics of reduced posterior\n%\n% This routine computes the negative log evidence of a reduced model of a\n% categorical distribution parameterised in terms of Dirichlet\n% hyperparameters (i.e., concentration parameters encoding probabilities).\n% It uses Bayesian model reduction to evaluate the evidence for models with\n% and without a particular parameter.\n% \n% It is assumed that all the inputs are column vectors.\n%\n% A demonstration of the implicit pruning can be found at the end of this\n% routine\n%__________________________________________________________________________\n% Copyright (C) 2005 Wellcome Trust Centre for Neuroimaging\n\n% Karl Friston\n% $Id: spm_MDP_log_evidence.m 7326 2018-06-06 12:16:40Z karl $\n\n\n% change in free energy or log model evidence\n%--------------------------------------------------------------------------\nsA = qA + rA - pA;\nF  = spm_betaln(qA) + spm_betaln(rA) - spm_betaln(pA) - spm_betaln(sA);\n\nend\n\nfunction y = spm_betaln(z)\n% returns the log the multivariate beta function of a vector.\n% FORMAT y = spm_betaln(z)\n%   y = spm_betaln(z) computes the natural logarithm of the beta function\n%   for corresponding elements of the vector z. if concerned is an array,\n%   the beta functions are taken over the elements of the first to mention\n%   (and size(y,1) equals one).\n%\n%   See also BETAINC, BETA.\n%--------------------------------------------------------------------------\n%   Ref: Abramowitz & Stegun, Handbook of Mathematical Functions, sec. 6.2.\n%   Copyright 1984-2004 The MathWorks, Inc. \n%__________________________________________________________________________\n% Copyright (C) 2005 Wellcome Trust Centre for Neuroimaging\n\n% Karl Friston\n% $Id: spm_betaln.m 7508 2018-12-21 09:49:44Z thomas $\n\n% log the multivariate beta function of a vector\n%--------------------------------------------------------------------------\nif isvector(z)\n    z     = z(find(z)); %#ok<FNDSB>\n    y     = sum(gammaln(z)) - gammaln(sum(z));\nelse\n    for i = 1:size(z,2)\n        for j = 1:size(z,3)\n            for k = 1:size(z,4)\n                for l = 1:size(z,5)\n                    for m = 1:size(z,6)\n                        y(1,i,j,k,l,m) = spm_betaln(z(:,i,j,k,l,m));\n                    end\n                end\n            end\n        end\n    end\nend\n\nend\n\n\n\n"
  },
  {
    "path": "test/matlab_crossval/generation/bmr_matlab_test_b.m",
    "content": "%% \n\nclear all; close all; clc;\n\ncd .. % this brings you into the 'pymdp/tests/matlab_crossval/' super directory, since this file should be stored in 'pymdp/tests/matlab_crossval/generation'\n\nq_dir = rand(8, 1);\np_dir = ones(8, 1);\nr_dir = ones(8, 3); % 3 different reduced models\n\nr_dir(5,1) = 2;\nr_dir(6,2) = 2;\nr_dir(7,3) = 2;\n\n[F, s_dir] = spm_MDP_log_evidence(q_dir,p_dir,r_dir);\n\nsave_dir = 'output/bmr_test_b.mat';\nsave(save_dir, 'q_dir', 'p_dir', 'r_dir', 's_dir', 'F');\n\n%%\nfunction [F,sA] = spm_MDP_log_evidence(qA,pA,rA)\n% Bayesian model reduction for Dirichlet hyperparameters\n% FORMAT [F,sA] = spm_MDP_log_evidence(qA,pA,rA)\n%\n% qA  - sufficient statistics of posterior of full model\n% pA  - sufficient statistics of prior of full model\n% rA  - sufficient statistics of prior of reduced model\n%\n% F   - free energy or (negative) log evidence of reduced model\n% sA  - sufficient statistics of reduced posterior\n%\n% This routine computes the negative log evidence of a reduced model of a\n% categorical distribution parameterised in terms of Dirichlet\n% hyperparameters (i.e., concentration parameters encoding probabilities).\n% It uses Bayesian model reduction to evaluate the evidence for models with\n% and without a particular parameter.\n% \n% It is assumed that all the inputs are column vectors.\n%\n% A demonstration of the implicit pruning can be found at the end of this\n% routine\n%__________________________________________________________________________\n% Copyright (C) 2005 Wellcome Trust Centre for Neuroimaging\n\n% Karl Friston\n% $Id: spm_MDP_log_evidence.m 7326 2018-06-06 12:16:40Z karl $\n\n\n% change in free energy or log model evidence\n%--------------------------------------------------------------------------\nsA = qA + rA - pA;\nF  = spm_betaln(qA) + spm_betaln(rA) - spm_betaln(pA) - spm_betaln(sA);\n\nend\n\nfunction y = spm_betaln(z)\n% returns the log the multivariate beta function of a vector.\n% FORMAT y = spm_betaln(z)\n%   y = spm_betaln(z) computes the natural logarithm of the beta function\n%   for corresponding elements of the vector z. if concerned is an array,\n%   the beta functions are taken over the elements of the first to mention\n%   (and size(y,1) equals one).\n%\n%   See also BETAINC, BETA.\n%--------------------------------------------------------------------------\n%   Ref: Abramowitz & Stegun, Handbook of Mathematical Functions, sec. 6.2.\n%   Copyright 1984-2004 The MathWorks, Inc. \n%__________________________________________________________________________\n% Copyright (C) 2005 Wellcome Trust Centre for Neuroimaging\n\n% Karl Friston\n% $Id: spm_betaln.m 7508 2018-12-21 09:49:44Z thomas $\n\n% log the multivariate beta function of a vector\n%--------------------------------------------------------------------------\nif isvector(z)\n    z     = z(find(z)); %#ok<FNDSB>\n    y     = sum(gammaln(z)) - gammaln(sum(z));\nelse\n    for i = 1:size(z,2)\n        for j = 1:size(z,3)\n            for k = 1:size(z,4)\n                for l = 1:size(z,5)\n                    for m = 1:size(z,6)\n                        y(1,i,j,k,l,m) = spm_betaln(z(:,i,j,k,l,m));\n                    end\n                end\n            end\n        end\n    end\nend\n\nend\n\n\n\n"
  },
  {
    "path": "test/matlab_crossval/generation/mmp_matlab_test_a.m",
    "content": "%%% PSEUDO-CODE OVERVIEW OF MESSAGE PASSING SCHEME USED IN SPM_MDP_VB_X.m\nclear all; close all; clc;\n\ncd .. % this brings you into the 'pymdp/tests/matlab_crossval/' super directory, since this file should be stored in 'pymdp/tests/matlab_crossval/generation'\n\nrng(1); % ensure the saved output file for inferactively is always the same\n%% VARIABLE NAMES\n\nT = 10; % total length of time (generative process horizon)\nwindow_len = 3; % length of inference window (in the past)\npolicy_horizon = 1; % temporal horizon of policies\nnum_iter = 5; % number of variational iterations\nnum_states = [3]; % hidden state dimensionalities\nnum_factors = length(num_states); % number of hidden state factors\nnum_obs = [2];   % observation modality dimensionalities\nnum_modalities = length(num_obs); % number of hidden state factors\nnum_actions = [3]; % control factor (action) dimensionalities\nnum_control = length(num_actions);\n\nqs_ppd = cell(1, num_factors); % variable to store posterior predictive density for current timestep. cell array of length num_factors, where each qs_ppd{f} is the PPD for a given factor (length [num_states(f), 1])\nqs_bma = cell(1, num_factors); % variable to store bayesian model average for current timestep. cell array of length num_factors, where each xq{f} is the BMA for a given factor (length [num_states(f), 1])\n\nstates = zeros(num_factors,T); % matrix of true hidden states (separated by factor and timepoint) -- size(states) == [num_factors, T]\nfor f = 1:num_factors\n    states(f,1) = randi(num_states(f));\nend\n\nactions = zeros(num_control, T); % history of actions along each control state factor and timestep -- size(actions) == [num_factors, T]\nobs = zeros(num_modalities,T); % history of observations (separated by modality and timepoint) -- size (obs) == [num_modalities, T]\nvector_obs = cell(num_modalities,T); % history of observations expressed as one-hot vectors\n\npolicy_matrix = zeros(policy_horizon, 1, num_control); % matrix of policies expressed in terms of time points, actions, and hidden state factors. size(policies) ==  [policy_horizon, num_policies, num_factors]. \n                                                                  % This gets updated over time with the actual actions/policies taken in the past\n                                                                  \nU = zeros(1,1,num_factors); % matrix of allowable actions per policy at each move. size(U) == [1, num_policies, num_factors]\n\nU(1,1,:) = 1;\n\npolicy_matrix(1,:,:) = U;\n\n% likelihoods and priors\n\nA = cell(1,num_modalities); % generative process observation likelihood (cell array of length num_modalities -- each A{g} is a matrix of size [num_modalities(g), num_states(:)]\nB = cell(1,num_factors); % generative process transition likelihood (cell array of length num_factors -- each B{f} is a matrix of size [num_states(f), num_states(f), num_actions(f)]\nC = cell(1,num_modalities);\nfor g= 1:num_modalities\n    C{g} = rand(num_obs(g),T);\nend\n\nD = cell(1,num_factors); % prior over hidden states -- a cell array of size [1, num_factors] where each D{f} is a vector of length [num_states(f), 1]\nfor f = 1:num_factors\n    D{f} = ones(num_states(f),1)/num_states(f);\nend\n\n\nfor g = 1:num_modalities\n    A{g} = spm_norm(rand([num_obs(g),num_states]));\nend\n\na = A; % generative model == generative process\n\n\nfor f = 1:num_factors\n    B{f} = spm_norm(rand(num_states(f), num_states(f), num_actions(f)));\nend\n\n\nb = B; % generative model transition likelihood (cell array of length num_factors -- each b{f} is a matrix of size [num_states(f), num_states(f), num_actions(f)]\nb_t = cell(1,num_factors);\n\nfor f = 1:num_factors\n    for u = 1:num_actions(f)\n        b_t{f}(:,:,u) = spm_norm(b{f}(:,:,u)');% transpose of generative model transition likelihood\n    end\nend\n\n%% INITIALIZATION of beliefs\n\n% initialise different posterior beliefs used in message passing\nfor f = 1:num_factors\n    \n    xn{f} = zeros(num_iter,num_states(f),window_len,T,1);\n    \n    vn{f} = zeros(num_iter,num_states(f),window_len,T,1);\n    \n    x{f}  = zeros(num_states(f),T,1) + 1/num_states(f);    \n    qs_ppd{f}  = zeros(num_states(f), T, 1)      + 1/num_states(f);\n    \n    qs_bma{f}  = repmat(D{f},1,T);\n\n    x{f}(:,1,1) = D{f};\n    qs_ppd{f}(:,1,1) = D{f};\n    \nend\n\n%%\nfor t = 1:T\n    \n    \n    % posterior predictive density over hidden (external) states\n    %--------------------------------------------------------------\n    for f = 1:num_factors       \n        % Bayesian model average (xq)\n        %----------------------------------------------------------\n        xq{f} =  qs_bma{f}(:,t);       \n    end\n    \n    % sample state, if not specified\n    %--------------------------------------------------------------\n    for f = 1:num_factors\n\n        % the next state is generated by action on external states\n        %----------------------------------------------------------\n\n        if t > 1\n            ps = B{f}(:,states(f,t - 1),actions(f,t - 1));\n        else\n            ps =  D{f};\n        end\n        states(f,t) = find(rand < cumsum(ps),1);\n\n    end\n    \n    % sample observations, if not specified\n    %--------------------------------------------------------------\n    for g = 1:num_modalities\n        \n        % if observation is not given\n        %----------------------------------------------------------\n        if ~obs(g,t)\n            \n            % sample from likelihood given hidden state\n            %--------------------------------------------------\n            ind           = num2cell(states(:,t));\n            p_obs            = A{g}(:,ind{:}); % gets the probability over observations, under the current hidden state configuration\n            obs(g,t) = find(rand < cumsum(p_obs),1);\n            vector_obs{g,t} = sparse(obs(g,t),1,1,num_obs(g),1);\n        end\n    end\n    \n    % Likelihood of observation under the various configurations of hidden states\n    %==================================================================\n    L{t} = 1;\n    for g = 1:num_modalities\n        L{t} = L{t}.*spm_dot(a{g},vector_obs{g,t});\n    end\n   \n    % reset\n    %--------------------------------------------------------------\n    for f = 1:num_factors\n        x{f} = spm_softmax(spm_log(x{f})/4);\n    end\n    \n    if t == 6\n        debug_flag = true;\n    end  \n    \n    [F, G, x, xq, vn, xn] = run_mmp(num_iter, window_len, policy_matrix, t, xq, x, L, D, b, b_t, xn, vn);\n    \n    if t == 6\n        save_dir = 'output/mmp_a.mat';\n        policy = squeeze(policy_matrix(end,1,:))';\n        previous_actions = squeeze(policy_matrix(1:(end-1),1,:));\n        t_horizon = window_len;\n        qs = xq;\n        obs_idx = obs(:,1:t);\n        likelihoods = L(1:t);\n        save(save_dir,'A','B','obs_idx','policy','t','t_horizon','previous_actions','qs','likelihoods')\n    end\n\n   \n    % pretend you took a random action and supplement policy matrix with it\n    if t < T\n        for u = 1:num_control\n            actions(u,t) = randi(num_actions(u));\n        end\n                \n        if (t+1) < T\n            policy_matrix(t+1,1,:) = actions(:,t);\n        end\n        % and re-initialise expectations about hidden states\n        %------------------------------------------------------\n        for f = 1:num_factors\n            x{f}(:,:,1) = 1/num_states(f);\n        end\n    end\n    \n    if t == T\n        obs  = obs(:,1:T);        % outcomes at 1,...,T\n        states  = states(:,1:T);        % states   at 1,...,T\n        actions  = actions(:,1:T - 1);    % actions  at 1,...,T - 1\n        break;\n    end\n          \nend\n%%\n% auxillary functions\n%==========================================================================\n\nfunction A  = spm_log(A)\n% log of numeric array plus a small constant\n%--------------------------------------------------------------------------\nA  = log(A + 1e-16);\nend\n\nfunction A  = spm_norm(A)\n% normalisation of a probability transition matrix (columns)\n%--------------------------------------------------------------------------\nA           = bsxfun(@rdivide,A,sum(A,1));\nA(isnan(A)) = 1/size(A,1);\nend\n\nfunction A  = spm_wnorm(A)\n% summation of a probability transition matrix (columns)\n%--------------------------------------------------------------------------\nA   = A + 1e-16;\nA   = bsxfun(@minus,1./sum(A,1),1./A)/2;\nend\n\nfunction sub = spm_ind2sub(siz,ndx)\n% subscripts from linear index\n%--------------------------------------------------------------------------\nn = numel(siz);\nk = [1 cumprod(siz(1:end-1))];\nfor i = n:-1:1\n    vi       = rem(ndx - 1,k(i)) + 1;\n    vj       = (ndx - vi)/k(i) + 1;\n    sub(i,1) = vj;\n    ndx      = vi;\nend\nend\n\nfunction [X] = spm_dot(X,x,i)\n% Multidimensional dot (inner) product\n% FORMAT [Y] = spm_dot(X,x,[DIM])\n%\n% X   - numeric array\n% x   - cell array of numeric vectors\n% DIM - dimensions to omit (asumes ndims(X) = numel(x))\n%\n% Y  - inner product obtained by summing the products of X and x along DIM\n%\n% If DIM is not specified the leading dimensions of X are omitted.\n% If x is a vector the inner product is over the leading dimension of X\n\n% initialise dimensions\n%--------------------------------------------------------------------------\nif iscell(x)\n    DIM = (1:numel(x)) + ndims(X) - numel(x);\nelse\n    DIM = 1;\n    x   = {x};\nend\n\n% omit dimensions specified\n%--------------------------------------------------------------------------\nif nargin > 2\n    DIM(i) = [];\n    x(i)   = [];\nend\n\n% inner product using recursive summation (and bsxfun)\n%--------------------------------------------------------------------------\nfor d = 1:numel(x)\n    s         = ones(1,ndims(X));\n    s(DIM(d)) = numel(x{d});\n    X         = bsxfun(@times,X,reshape(full(x{d}),s));\n    X         = sum(X,DIM(d));\nend\n\n% eliminate singleton dimensions\n%--------------------------------------------------------------------------\nX = squeeze(X);\nend\n\nfunction [y] = spm_softmax(x,k)\n% softmax (e.g., neural transfer) function over columns\n% FORMAT [y] = spm_softmax(x,k)\n%\n% x - numeric array array\n% k - precision, sensitivity or inverse temperature (default k = 1)\n%\n% y  = exp(k*x)/sum(exp(k*x))\n%\n% NB: If supplied with a matrix this routine will return the softmax\n% function over colums - so that spm_softmax([x1,x2,..]) = [1,1,...]\n\n% apply\n%--------------------------------------------------------------------------\nif nargin > 1,    x = k*x; end\nif size(x,1) < 2; y = ones(size(x)); return, end\n\n% exponentiate and normalise\n%--------------------------------------------------------------------------\nx  = exp(bsxfun(@minus,x,max(x)));\ny  = bsxfun(@rdivide,x,sum(x));\nend\n"
  },
  {
    "path": "test/matlab_crossval/generation/mmp_matlab_test_b.m",
    "content": "%%% PSEUDO-CODE OVERVIEW OF MESSAGE PASSING SCHEME USED IN SPM_MDP_VB_X.m\nclear all; close all; clc;\n\ncd .. % this brings you into the 'pymdp/tests/matlab_crossval/' super directory, since this file should be stored in 'pymdp/tests/matlab_crossval/generation'\n\nrng(5); % ensure the saved output file for inferactively is always the same\n%% VARIABLE NAMES\n\nT = 10; % total length of time (generative process horizon)\nwindow_len = 5; % length of inference window (in the past)\npolicy_horizon = 1; % temporal horizon of policies\nnum_iter = 5; % number of variational iterations\nnum_states = [2, 2]; % hidden state dimensionalities\nnum_factors = length(num_states); % number of hidden state factors\nnum_obs = [3, 2];   % observation modality dimensionalities\nnum_modalities = length(num_obs); % number of hidden state factors\nnum_actions = [2, 2]; % control factor (action) dimensionalities\nnum_control = length(num_actions);\n\nqs_ppd = cell(1, num_factors); % variable to store posterior predictive density for current timestep. cell array of length num_factors, where each qs_ppd{f} is the PPD for a given factor (length [num_states(f), 1])\nqs_bma = cell(1, num_factors); % variable to store bayesian model average for current timestep. cell array of length num_factors, where each xq{f} is the BMA for a given factor (length [num_states(f), 1])\n\nstates = zeros(num_factors,T); % matrix of true hidden states (separated by factor and timepoint) -- size(states) == [num_factors, T]\nfor f = 1:num_factors\n    states(f,1) = randi(num_states(f));\nend\n\nactions = zeros(num_control, T); % history of actions along each control state factor and timestep -- size(actions) == [num_factors, T]\nobs = zeros(num_modalities,T); % history of observations (separated by modality and timepoint) -- size (obs) == [num_modalities, T]\nvector_obs = cell(num_modalities,T); % history of observations expressed as one-hot vectors\n\npolicy_matrix = zeros(policy_horizon, 1, num_control); % matrix of policies expressed in terms of time points, actions, and hidden state factors. size(policies) ==  [policy_horizon, num_policies, num_factors]. \n                                                                  % This gets updated over time with the actual actions/policies taken in the past\n                                                                  \nU = zeros(1,1,num_factors); % matrix of allowable actions per policy at each move. size(U) == [1, num_policies, num_factors]\n\nU(1,1,:) = [1, 1];\n\npolicy_matrix(1,:,:) = U;\n\n% likelihoods and priors\n\nA = cell(1,num_modalities); % generative process observation likelihood (cell array of length num_modalities -- each A{g} is a matrix of size [num_modalities(g), num_states(:)]\nB = cell(1,num_factors); % generative process transition likelihood (cell array of length num_factors -- each B{f} is a matrix of size [num_states(f), num_states(f), num_actions(f)]\nC = cell(1,num_modalities);\nfor g= 1:num_modalities\n    C{g} = rand(num_obs(g),T);\nend\n\nD = cell(1,num_factors); % prior over hidden states -- a cell array of size [1, num_factors] where each D{f} is a vector of length [num_states(f), 1]\nfor f = 1:num_factors\n    D{f} = ones(num_states(f),1)/num_states(f);\nend\n\n\nfor g = 1:num_modalities\n    A{g} = spm_norm(rand([num_obs(g),num_states]));\nend\n\na = A; % generative model == generative process\n\n\nfor f = 1:num_factors\n    B{f} = spm_norm(rand(num_states(f), num_states(f), num_actions(f)));\nend\n\n\nb = B; % generative model transition likelihood (cell array of length num_factors -- each b{f} is a matrix of size [num_states(f), num_states(f), num_actions(f)]\nb_t = cell(1,num_factors);\n\nfor f = 1:num_factors\n    for u = 1:num_actions(f)\n        b_t{f}(:,:,u) = spm_norm(b{f}(:,:,u)');% transpose of generative model transition likelihood\n    end\nend\n\n%% INITIALIZATION of beliefs\n\n% initialise different posterior beliefs used in message passing\nfor f = 1:num_factors\n    \n    xn{f} = zeros(num_iter,num_states(f),window_len,T,1);\n    \n    vn{f} = zeros(num_iter,num_states(f),window_len,T,1);\n    \n    x{f}  = zeros(num_states(f),T,1) + 1/num_states(f);    \n    qs_ppd{f}  = zeros(num_states(f), T, 1)      + 1/num_states(f);\n    \n    qs_bma{f}  = repmat(D{f},1,T);\n\n    x{f}(:,1,1) = D{f};\n    qs_ppd{f}(:,1,1) = D{f};\n    \nend\n\n%%\nfor t = 1:T\n    \n    \n    % posterior predictive density over hidden (external) states\n    %--------------------------------------------------------------\n    for f = 1:num_factors       \n        % Bayesian model average (xq)\n        %----------------------------------------------------------\n        xq{f} =  qs_bma{f}(:,t);       \n    end\n    \n    % sample state, if not specified\n    %--------------------------------------------------------------\n    for f = 1:num_factors\n\n        % the next state is generated by action on external states\n        %----------------------------------------------------------\n\n        if t > 1\n            ps = B{f}(:,states(f,t - 1),actions(f,t - 1));\n        else\n            ps =  D{f};\n        end\n        states(f,t) = find(rand < cumsum(ps),1);\n\n    end\n    \n    % sample observations, if not specified\n    %--------------------------------------------------------------\n    for g = 1:num_modalities\n        \n        % if observation is not given\n        %----------------------------------------------------------\n        if ~obs(g,t)\n            \n            % sample from likelihood given hidden state\n            %--------------------------------------------------\n            ind           = num2cell(states(:,t));\n            p_obs            = A{g}(:,ind{:}); % gets the probability over observations, under the current hidden state configuration\n            obs(g,t) = find(rand < cumsum(p_obs),1);\n            vector_obs{g,t} = sparse(obs(g,t),1,1,num_obs(g),1);\n        end\n    end\n    \n    % Likelihood of observation under the various configurations of hidden states\n    %==================================================================\n    L{t} = 1;\n    for g = 1:num_modalities\n        L{t} = L{t}.*spm_dot(a{g},vector_obs{g,t});\n    end\n   \n    % reset\n    %--------------------------------------------------------------\n    for f = 1:num_factors\n        x{f} = spm_softmax(spm_log(x{f})/4);\n    end\n    \n    if t == 3\n        debug_flag = true;\n    end  \n    \n    [F, G, x, xq, vn, xn] = run_mmp(num_iter, window_len, policy_matrix, t, xq, x, L, D, b, b_t, xn, vn);\n    \n    if t == 3\n        save_dir = 'output/mmp_b.mat';\n        policy = squeeze(policy_matrix(end,1,:))';\n        previous_actions = squeeze(policy_matrix(1:(end-1),1,:));\n        t_horizon = window_len;\n        qs = xq;\n        obs_idx = obs(:,1:t);\n        likelihoods = L(1:t);\n        save(save_dir,'A','B','obs_idx','policy','t','t_horizon','previous_actions','qs','likelihoods')\n    end\n\n   \n    % pretend you took a random action and supplement policy matrix with it\n    if t < T\n        for u = 1:num_control\n            actions(u,t) = randi(num_actions(u));\n        end\n                \n        if (t+1) < T\n            policy_matrix(t+1,1,:) = actions(:,t);\n        end\n        % and re-initialise expectations about hidden states\n        %------------------------------------------------------\n        for f = 1:num_factors\n            x{f}(:,:,1) = 1/num_states(f);\n        end\n    end\n    \n    if t == T\n        obs  = obs(:,1:T);        % outcomes at 1,...,T\n        states  = states(:,1:T);        % states   at 1,...,T\n        actions  = actions(:,1:T - 1);    % actions  at 1,...,T - 1\n        break;\n    end\n          \nend\n%%\n% auxillary functions\n%==========================================================================\n\nfunction A  = spm_log(A)\n% log of numeric array plus a small constant\n%--------------------------------------------------------------------------\nA  = log(A + 1e-16);\nend\n\nfunction A  = spm_norm(A)\n% normalisation of a probability transition matrix (columns)\n%--------------------------------------------------------------------------\nA           = bsxfun(@rdivide,A,sum(A,1));\nA(isnan(A)) = 1/size(A,1);\nend\n\nfunction A  = spm_wnorm(A)\n% summation of a probability transition matrix (columns)\n%--------------------------------------------------------------------------\nA   = A + 1e-16;\nA   = bsxfun(@minus,1./sum(A,1),1./A)/2;\nend\n\nfunction sub = spm_ind2sub(siz,ndx)\n% subscripts from linear index\n%--------------------------------------------------------------------------\nn = numel(siz);\nk = [1 cumprod(siz(1:end-1))];\nfor i = n:-1:1\n    vi       = rem(ndx - 1,k(i)) + 1;\n    vj       = (ndx - vi)/k(i) + 1;\n    sub(i,1) = vj;\n    ndx      = vi;\nend\nend\n\nfunction [X] = spm_dot(X,x,i)\n% Multidimensional dot (inner) product\n% FORMAT [Y] = spm_dot(X,x,[DIM])\n%\n% X   - numeric array\n% x   - cell array of numeric vectors\n% DIM - dimensions to omit (asumes ndims(X) = numel(x))\n%\n% Y  - inner product obtained by summing the products of X and x along DIM\n%\n% If DIM is not specified the leading dimensions of X are omitted.\n% If x is a vector the inner product is over the leading dimension of X\n\n% initialise dimensions\n%--------------------------------------------------------------------------\nif iscell(x)\n    DIM = (1:numel(x)) + ndims(X) - numel(x);\nelse\n    DIM = 1;\n    x   = {x};\nend\n\n% omit dimensions specified\n%--------------------------------------------------------------------------\nif nargin > 2\n    DIM(i) = [];\n    x(i)   = [];\nend\n\n% inner product using recursive summation (and bsxfun)\n%--------------------------------------------------------------------------\nfor d = 1:numel(x)\n    s         = ones(1,ndims(X));\n    s(DIM(d)) = numel(x{d});\n    X         = bsxfun(@times,X,reshape(full(x{d}),s));\n    X         = sum(X,DIM(d));\nend\n\n% eliminate singleton dimensions\n%--------------------------------------------------------------------------\nX = squeeze(X);\nend\n\nfunction [y] = spm_softmax(x,k)\n% softmax (e.g., neural transfer) function over columns\n% FORMAT [y] = spm_softmax(x,k)\n%\n% x - numeric array array\n% k - precision, sensitivity or inverse temperature (default k = 1)\n%\n% y  = exp(k*x)/sum(exp(k*x))\n%\n% NB: If supplied with a matrix this routine will return the softmax\n% function over colums - so that spm_softmax([x1,x2,..]) = [1,1,...]\n\n% apply\n%--------------------------------------------------------------------------\nif nargin > 1,    x = k*x; end\nif size(x,1) < 2; y = ones(size(x)); return, end\n\n% exponentiate and normalise\n%--------------------------------------------------------------------------\nx  = exp(bsxfun(@minus,x,max(x)));\ny  = bsxfun(@rdivide,x,sum(x));\nend\n"
  },
  {
    "path": "test/matlab_crossval/generation/mmp_matlab_test_c.m",
    "content": "%%% PSEUDO-CODE OVERVIEW OF MESSAGE PASSING SCHEME USED IN SPM_MDP_VB_X.m\nclear all; close all; clc;\n\ncd .. % this brings you into the 'pymdp/tests/matlab_crossval/' super directory, since this file should be stored in 'pymdp/tests/matlab_crossval/generation'\n\nrng(10); % ensure the saved output file for inferactively is always the same\n%% VARIABLE NAMES\n\nT = 10; % total length of time (generative process horizon)\nwindow_len = 5; % length of inference window (in the past)\npolicy_horizon = 1; % temporal horizon of policies\nnum_iter = 5; % number of variational iterations\nnum_states = [2, 2]; % hidden state dimensionalities\nnum_factors = length(num_states); % number of hidden state factors\nnum_obs = [3, 2];   % observation modality dimensionalities\nnum_modalities = length(num_obs); % number of hidden state factors\nnum_actions = [2, 2]; % control factor (action) dimensionalities\nnum_control = length(num_actions);\n\nqs_ppd = cell(1, num_factors); % variable to store posterior predictive density for current timestep. cell array of length num_factors, where each qs_ppd{f} is the PPD for a given factor (length [num_states(f), 1])\nqs_bma = cell(1, num_factors); % variable to store bayesian model average for current timestep. cell array of length num_factors, where each xq{f} is the BMA for a given factor (length [num_states(f), 1])\n\nstates = zeros(num_factors,T); % matrix of true hidden states (separated by factor and timepoint) -- size(states) == [num_factors, T]\nfor f = 1:num_factors\n    states(f,1) = randi(num_states(f));\nend\n\nactions = zeros(num_control, T); % history of actions along each control state factor and timestep -- size(actions) == [num_factors, T]\nobs = zeros(num_modalities,T); % history of observations (separated by modality and timepoint) -- size (obs) == [num_modalities, T]\nvector_obs = cell(num_modalities,T); % history of observations expressed as one-hot vectors\n\npolicy_matrix = zeros(policy_horizon, 1, num_control); % matrix of policies expressed in terms of time points, actions, and hidden state factors. size(policies) ==  [policy_horizon, num_policies, num_factors]. \n                                                                  % This gets updated over time with the actual actions/policies taken in the past\n                                                                  \nU = zeros(1,1,num_factors); % matrix of allowable actions per policy at each move. size(U) == [1, num_policies, num_factors]\n\nU(1,1,:) = [1, 1];\n\npolicy_matrix(1,:,:) = U;\n\n% likelihoods and priors\n\nA = cell(1,num_modalities); % generative process observation likelihood (cell array of length num_modalities -- each A{g} is a matrix of size [num_modalities(g), num_states(:)]\nB = cell(1,num_factors); % generative process transition likelihood (cell array of length num_factors -- each B{f} is a matrix of size [num_states(f), num_states(f), num_actions(f)]\nC = cell(1,num_modalities);\nfor g= 1:num_modalities\n    C{g} = rand(num_obs(g),T);\nend\n\nD = cell(1,num_factors); % prior over hidden states -- a cell array of size [1, num_factors] where each D{f} is a vector of length [num_states(f), 1]\nfor f = 1:num_factors\n    D{f} = ones(num_states(f),1)/num_states(f);\nend\n\n\nfor g = 1:num_modalities\n    A{g} = spm_norm(rand([num_obs(g),num_states]));\nend\n\na = A; % generative model == generative process\n\n\nfor f = 1:num_factors\n    B{f} = spm_norm(rand(num_states(f), num_states(f), num_actions(f)));\nend\n\n\nb = B; % generative model transition likelihood (cell array of length num_factors -- each b{f} is a matrix of size [num_states(f), num_states(f), num_actions(f)]\nb_t = cell(1,num_factors);\n\nfor f = 1:num_factors\n    for u = 1:num_actions(f)\n        b_t{f}(:,:,u) = spm_norm(b{f}(:,:,u)');% transpose of generative model transition likelihood\n    end\nend\n\n%% INITIALIZATION of beliefs\n\n% initialise different posterior beliefs used in message passing\nfor f = 1:num_factors\n    \n    xn{f} = zeros(num_iter,num_states(f),window_len,T,1);\n    \n    vn{f} = zeros(num_iter,num_states(f),window_len,T,1);\n    \n    x{f}  = zeros(num_states(f),T,1) + 1/num_states(f);    \n    qs_ppd{f}  = zeros(num_states(f), T, 1)      + 1/num_states(f);\n    \n    qs_bma{f}  = repmat(D{f},1,T);\n\n    x{f}(:,1,1) = D{f};\n    qs_ppd{f}(:,1,1) = D{f};\n    \nend\n\n%%\nfor t = 1:T\n    \n    \n    % posterior predictive density over hidden (external) states\n    %--------------------------------------------------------------\n    for f = 1:num_factors       \n        % Bayesian model average (xq)\n        %----------------------------------------------------------\n        xq{f} =  qs_bma{f}(:,t);       \n    end\n    \n    % sample state, if not specified\n    %--------------------------------------------------------------\n    for f = 1:num_factors\n\n        % the next state is generated by action on external states\n        %----------------------------------------------------------\n\n        if t > 1\n            ps = B{f}(:,states(f,t - 1),actions(f,t - 1));\n        else\n            ps =  D{f};\n        end\n        states(f,t) = find(rand < cumsum(ps),1);\n\n    end\n    \n    % sample observations, if not specified\n    %--------------------------------------------------------------\n    for g = 1:num_modalities\n        \n        % if observation is not given\n        %----------------------------------------------------------\n        if ~obs(g,t)\n            \n            % sample from likelihood given hidden state\n            %--------------------------------------------------\n            ind           = num2cell(states(:,t));\n            p_obs            = A{g}(:,ind{:}); % gets the probability over observations, under the current hidden state configuration\n            obs(g,t) = find(rand < cumsum(p_obs),1);\n            vector_obs{g,t} = sparse(obs(g,t),1,1,num_obs(g),1);\n        end\n    end\n    \n    % Likelihood of observation under the various configurations of hidden states\n    %==================================================================\n    L{t} = 1;\n    for g = 1:num_modalities\n        L{t} = L{t}.*spm_dot(a{g},vector_obs{g,t});\n    end\n   \n    % reset\n    %--------------------------------------------------------------\n    for f = 1:num_factors\n        x{f} = spm_softmax(spm_log(x{f})/4);\n    end\n    \n    if t == 3\n        debug_flag = true;\n    end  \n    \n    [F, G, x, xq, vn, xn] = run_mmp(num_iter, window_len, policy_matrix, t, xq, x, L, D, b, b_t, xn, vn);\n    \n    if t == 1\n        save_dir = 'output/mmp_c.mat';\n        policy = squeeze(policy_matrix(end,1,:))';\n        previous_actions = squeeze(policy_matrix(1:(end-1),1,:));\n        t_horizon = window_len;\n        qs = xq;\n        obs_idx = obs(:,1:t);\n        likelihoods = L(1:t);\n        save(save_dir,'A','B','obs_idx','policy','t','t_horizon','previous_actions','qs','likelihoods')\n    end\n\n   \n    % pretend you took a random action and supplement policy matrix with it\n    if t < T\n        for u = 1:num_control\n            actions(u,t) = randi(num_actions(u));\n        end\n                \n        if (t+1) < T\n            policy_matrix(t+1,1,:) = actions(:,t);\n        end\n        % and re-initialise expectations about hidden states\n        %------------------------------------------------------\n        for f = 1:num_factors\n            x{f}(:,:,1) = 1/num_states(f);\n        end\n    end\n    \n    if t == T\n        obs  = obs(:,1:T);        % outcomes at 1,...,T\n        states  = states(:,1:T);        % states   at 1,...,T\n        actions  = actions(:,1:T - 1);    % actions  at 1,...,T - 1\n        break;\n    end\n          \nend\n%%\n% auxillary functions\n%==========================================================================\n\nfunction A  = spm_log(A)\n% log of numeric array plus a small constant\n%--------------------------------------------------------------------------\nA  = log(A + 1e-16);\nend\n\nfunction A  = spm_norm(A)\n% normalisation of a probability transition matrix (columns)\n%--------------------------------------------------------------------------\nA           = bsxfun(@rdivide,A,sum(A,1));\nA(isnan(A)) = 1/size(A,1);\nend\n\nfunction A  = spm_wnorm(A)\n% summation of a probability transition matrix (columns)\n%--------------------------------------------------------------------------\nA   = A + 1e-16;\nA   = bsxfun(@minus,1./sum(A,1),1./A)/2;\nend\n\nfunction sub = spm_ind2sub(siz,ndx)\n% subscripts from linear index\n%--------------------------------------------------------------------------\nn = numel(siz);\nk = [1 cumprod(siz(1:end-1))];\nfor i = n:-1:1\n    vi       = rem(ndx - 1,k(i)) + 1;\n    vj       = (ndx - vi)/k(i) + 1;\n    sub(i,1) = vj;\n    ndx      = vi;\nend\nend\n\nfunction [X] = spm_dot(X,x,i)\n% Multidimensional dot (inner) product\n% FORMAT [Y] = spm_dot(X,x,[DIM])\n%\n% X   - numeric array\n% x   - cell array of numeric vectors\n% DIM - dimensions to omit (asumes ndims(X) = numel(x))\n%\n% Y  - inner product obtained by summing the products of X and x along DIM\n%\n% If DIM is not specified the leading dimensions of X are omitted.\n% If x is a vector the inner product is over the leading dimension of X\n\n% initialise dimensions\n%--------------------------------------------------------------------------\nif iscell(x)\n    DIM = (1:numel(x)) + ndims(X) - numel(x);\nelse\n    DIM = 1;\n    x   = {x};\nend\n\n% omit dimensions specified\n%--------------------------------------------------------------------------\nif nargin > 2\n    DIM(i) = [];\n    x(i)   = [];\nend\n\n% inner product using recursive summation (and bsxfun)\n%--------------------------------------------------------------------------\nfor d = 1:numel(x)\n    s         = ones(1,ndims(X));\n    s(DIM(d)) = numel(x{d});\n    X         = bsxfun(@times,X,reshape(full(x{d}),s));\n    X         = sum(X,DIM(d));\nend\n\n% eliminate singleton dimensions\n%--------------------------------------------------------------------------\nX = squeeze(X);\nend\n\nfunction [y] = spm_softmax(x,k)\n% softmax (e.g., neural transfer) function over columns\n% FORMAT [y] = spm_softmax(x,k)\n%\n% x - numeric array array\n% k - precision, sensitivity or inverse temperature (default k = 1)\n%\n% y  = exp(k*x)/sum(exp(k*x))\n%\n% NB: If supplied with a matrix this routine will return the softmax\n% function over colums - so that spm_softmax([x1,x2,..]) = [1,1,...]\n\n% apply\n%--------------------------------------------------------------------------\nif nargin > 1,    x = k*x; end\nif size(x,1) < 2; y = ones(size(x)); return, end\n\n% exponentiate and normalise\n%--------------------------------------------------------------------------\nx  = exp(bsxfun(@minus,x,max(x)));\ny  = bsxfun(@rdivide,x,sum(x));\nend\n"
  },
  {
    "path": "test/matlab_crossval/generation/mmp_matlab_test_d.m",
    "content": "%%% PSEUDO-CODE OVERVIEW OF MESSAGE PASSING SCHEME USED IN SPM_MDP_VB_X.m\nclear all; close all; clc;\n\ncd .. % this brings you into the 'pymdp/tests/matlab_crossval/' super directory, since this file should be stored in 'pymdp/tests/matlab_crossval/generation'\n\nrng(16); % ensure the saved output file for inferactively is always the same\n%% VARIABLE NAMES\n\nT = 10; % total length of time (generative process horizon)\nwindow_len = 5; % length of inference window (in the past)\npolicy_horizon = 1; % temporal horizon of policies\nnum_iter = 5; % number of variational iterations\nnum_states = [2, 2]; % hidden state dimensionalities\nnum_factors = length(num_states); % number of hidden state factors\nnum_obs = [3, 2];   % observation modality dimensionalities\nnum_modalities = length(num_obs); % number of hidden state factors\nnum_actions = [2, 2]; % control factor (action) dimensionalities\nnum_control = length(num_actions);\n\nqs_ppd = cell(1, num_factors); % variable to store posterior predictive density for current timestep. cell array of length num_factors, where each qs_ppd{f} is the PPD for a given factor (length [num_states(f), 1])\nqs_bma = cell(1, num_factors); % variable to store bayesian model average for current timestep. cell array of length num_factors, where each xq{f} is the BMA for a given factor (length [num_states(f), 1])\n\nstates = zeros(num_factors,T); % matrix of true hidden states (separated by factor and timepoint) -- size(states) == [num_factors, T]\nfor f = 1:num_factors\n    states(f,1) = randi(num_states(f));\nend\n\nactions = zeros(num_control, T); % history of actions along each control state factor and timestep -- size(actions) == [num_factors, T]\nobs = zeros(num_modalities,T); % history of observations (separated by modality and timepoint) -- size (obs) == [num_modalities, T]\nvector_obs = cell(num_modalities,T); % history of observations expressed as one-hot vectors\n\npolicy_matrix = zeros(policy_horizon, 1, num_control); % matrix of policies expressed in terms of time points, actions, and hidden state factors. size(policies) ==  [policy_horizon, num_policies, num_factors]. \n                                                                  % This gets updated over time with the actual actions/policies taken in the past\n                                                                  \nU = zeros(1,1,num_factors); % matrix of allowable actions per policy at each move. size(U) == [1, num_policies, num_factors]\n\nU(1,1,:) = [1, 1];\n\npolicy_matrix(1,:,:) = U;\n\n% likelihoods and priors\n\nA = cell(1,num_modalities); % generative process observation likelihood (cell array of length num_modalities -- each A{g} is a matrix of size [num_modalities(g), num_states(:)]\nB = cell(1,num_factors); % generative process transition likelihood (cell array of length num_factors -- each B{f} is a matrix of size [num_states(f), num_states(f), num_actions(f)]\nC = cell(1,num_modalities);\nfor g= 1:num_modalities\n    C{g} = rand(num_obs(g),T);\nend\n\nD = cell(1,num_factors); % prior over hidden states -- a cell array of size [1, num_factors] where each D{f} is a vector of length [num_states(f), 1]\nfor f = 1:num_factors\n    D{f} = ones(num_states(f),1)/num_states(f);\nend\n\n\nfor g = 1:num_modalities\n    A{g} = spm_norm(rand([num_obs(g),num_states]));\nend\n\na = A; % generative model == generative process\n\n\nfor f = 1:num_factors\n    B{f} = spm_norm(rand(num_states(f), num_states(f), num_actions(f)));\nend\n\n\nb = B; % generative model transition likelihood (cell array of length num_factors -- each b{f} is a matrix of size [num_states(f), num_states(f), num_actions(f)]\nb_t = cell(1,num_factors);\n\nfor f = 1:num_factors\n    for u = 1:num_actions(f)\n        b_t{f}(:,:,u) = spm_norm(b{f}(:,:,u)');% transpose of generative model transition likelihood\n    end\nend\n\n%% INITIALIZATION of beliefs\n\n% initialise different posterior beliefs used in message passing\nfor f = 1:num_factors\n    \n    xn{f} = zeros(num_iter,num_states(f),window_len,T,1);\n    \n    vn{f} = zeros(num_iter,num_states(f),window_len,T,1);\n    \n    x{f}  = zeros(num_states(f),T,1) + 1/num_states(f);    \n    qs_ppd{f}  = zeros(num_states(f), T, 1)      + 1/num_states(f);\n    \n    qs_bma{f}  = repmat(D{f},1,T);\n\n    x{f}(:,1,1) = D{f};\n    qs_ppd{f}(:,1,1) = D{f};\n    \nend\n\n%%\nfor t = 1:T\n    \n    \n    % posterior predictive density over hidden (external) states\n    %--------------------------------------------------------------\n    for f = 1:num_factors       \n        % Bayesian model average (xq)\n        %----------------------------------------------------------\n        xq{f} =  qs_bma{f}(:,t);       \n    end\n    \n    % sample state, if not specified\n    %--------------------------------------------------------------\n    for f = 1:num_factors\n\n        % the next state is generated by action on external states\n        %----------------------------------------------------------\n\n        if t > 1\n            ps = B{f}(:,states(f,t - 1),actions(f,t - 1));\n        else\n            ps =  D{f};\n        end\n        states(f,t) = find(rand < cumsum(ps),1);\n\n    end\n    \n    % sample observations, if not specified\n    %--------------------------------------------------------------\n    for g = 1:num_modalities\n        \n        % if observation is not given\n        %----------------------------------------------------------\n        if ~obs(g,t)\n            \n            % sample from likelihood given hidden state\n            %--------------------------------------------------\n            ind           = num2cell(states(:,t));\n            p_obs            = A{g}(:,ind{:}); % gets the probability over observations, under the current hidden state configuration\n            obs(g,t) = find(rand < cumsum(p_obs),1);\n            vector_obs{g,t} = sparse(obs(g,t),1,1,num_obs(g),1);\n        end\n    end\n    \n    % Likelihood of observation under the various configurations of hidden states\n    %==================================================================\n    L{t} = 1;\n    for g = 1:num_modalities\n        L{t} = L{t}.*spm_dot(a{g},vector_obs{g,t});\n    end\n   \n    % reset\n    %--------------------------------------------------------------\n    for f = 1:num_factors\n        x{f} = spm_softmax(spm_log(x{f})/4);\n    end\n    \n    if t == 10\n        debug_flag = true;\n    end  \n    \n    [F, G, x, xq, vn, xn] = run_mmp(num_iter, window_len, policy_matrix, t, xq, x, L, D, b, b_t, xn, vn);\n    \n    if t == T\n        save_dir = 'output/mmp_d.mat';\n        policy = squeeze(policy_matrix(end,1,:))';\n        previous_actions = squeeze(policy_matrix(1:end,1,:)); % because we're at final timestep, the policy_matrix isn't expanded so we get the whole thing (see lines 178-180 - this condition is not fulfilled at t == T-1, the time iteration before this timestep)\n        t_horizon = window_len;\n        qs = xq;\n        obs_idx = obs(:,1:t);\n        likelihoods = L(1:t);\n        save(save_dir,'A','B','obs_idx','policy','t','t_horizon','previous_actions','qs','likelihoods')\n    end\n\n   \n    % pretend you took a random action and supplement policy matrix with it\n    if t < T\n        for u = 1:num_control\n            actions(u,t) = randi(num_actions(u));\n        end\n                \n        if (t+1) < T\n            policy_matrix(t+1,1,:) = actions(:,t);\n        end\n        % and re-initialise expectations about hidden states\n        %------------------------------------------------------\n        for f = 1:num_factors\n            x{f}(:,:,1) = 1/num_states(f);\n        end\n    end\n    \n    if t == T\n        obs  = obs(:,1:T);        % outcomes at 1,...,T\n        states  = states(:,1:T);        % states   at 1,...,T\n        actions  = actions(:,1:T - 1);    % actions  at 1,...,T - 1\n        break;\n    end\n          \nend\n%%\n% auxillary functions\n%==========================================================================\n\nfunction A  = spm_log(A)\n% log of numeric array plus a small constant\n%--------------------------------------------------------------------------\nA  = log(A + 1e-16);\nend\n\nfunction A  = spm_norm(A)\n% normalisation of a probability transition matrix (columns)\n%--------------------------------------------------------------------------\nA           = bsxfun(@rdivide,A,sum(A,1));\nA(isnan(A)) = 1/size(A,1);\nend\n\nfunction A  = spm_wnorm(A)\n% summation of a probability transition matrix (columns)\n%--------------------------------------------------------------------------\nA   = A + 1e-16;\nA   = bsxfun(@minus,1./sum(A,1),1./A)/2;\nend\n\nfunction sub = spm_ind2sub(siz,ndx)\n% subscripts from linear index\n%--------------------------------------------------------------------------\nn = numel(siz);\nk = [1 cumprod(siz(1:end-1))];\nfor i = n:-1:1\n    vi       = rem(ndx - 1,k(i)) + 1;\n    vj       = (ndx - vi)/k(i) + 1;\n    sub(i,1) = vj;\n    ndx      = vi;\nend\nend\n\nfunction [X] = spm_dot(X,x,i)\n% Multidimensional dot (inner) product\n% FORMAT [Y] = spm_dot(X,x,[DIM])\n%\n% X   - numeric array\n% x   - cell array of numeric vectors\n% DIM - dimensions to omit (asumes ndims(X) = numel(x))\n%\n% Y  - inner product obtained by summing the products of X and x along DIM\n%\n% If DIM is not specified the leading dimensions of X are omitted.\n% If x is a vector the inner product is over the leading dimension of X\n\n% initialise dimensions\n%--------------------------------------------------------------------------\nif iscell(x)\n    DIM = (1:numel(x)) + ndims(X) - numel(x);\nelse\n    DIM = 1;\n    x   = {x};\nend\n\n% omit dimensions specified\n%--------------------------------------------------------------------------\nif nargin > 2\n    DIM(i) = [];\n    x(i)   = [];\nend\n\n% inner product using recursive summation (and bsxfun)\n%--------------------------------------------------------------------------\nfor d = 1:numel(x)\n    s         = ones(1,ndims(X));\n    s(DIM(d)) = numel(x{d});\n    X         = bsxfun(@times,X,reshape(full(x{d}),s));\n    X         = sum(X,DIM(d));\nend\n\n% eliminate singleton dimensions\n%--------------------------------------------------------------------------\nX = squeeze(X);\nend\n\nfunction [y] = spm_softmax(x,k)\n% softmax (e.g., neural transfer) function over columns\n% FORMAT [y] = spm_softmax(x,k)\n%\n% x - numeric array array\n% k - precision, sensitivity or inverse temperature (default k = 1)\n%\n% y  = exp(k*x)/sum(exp(k*x))\n%\n% NB: If supplied with a matrix this routine will return the softmax\n% function over colums - so that spm_softmax([x1,x2,..]) = [1,1,...]\n\n% apply\n%--------------------------------------------------------------------------\nif nargin > 1,    x = k*x; end\nif size(x,1) < 2; y = ones(size(x)); return, end\n\n% exponentiate and normalise\n%--------------------------------------------------------------------------\nx  = exp(bsxfun(@minus,x,max(x)));\ny  = bsxfun(@rdivide,x,sum(x));\nend\n"
  },
  {
    "path": "test/matlab_crossval/generation/run_mmp.m",
    "content": "function [F, G, x, xq, vn, xn] = run_mmp(num_iter, window_len, policy_matrix, t, xq, x, L, D, b, b_t, xn, vn)\n%run_mmp Functioned out version of the marginal message passing routine\n%that happens in Karl's SPM_MDP_VB_X.m\n\n% marginal message passing (MMP)\n%--------------------------------------------------------------\n\nnum_factors = length(xq);\nnum_states = zeros(1,num_factors);\nfor f = 1:num_factors\n    num_states(f) = size(xq{f},1);\nend\n\nS     = size(policy_matrix,1) + 1;   % horizon\nR = t;\n\ndF    = 1;                  % reset criterion for this policy\nfor iter = 1:num_iter       % iterate belief updates\n    F  = 0;                 % reset free energy for this policy\n    for j = max(1,t-window_len):S             % loop over future time points\n        \n        % curent posterior over outcome factors\n        %--------------------------------------------------\n        if j <= t\n            for f = 1:num_factors\n                xq{f} = x{f}(:,j,1);\n            end\n        end\n        \n        for f = 1:num_factors\n            \n            % hidden states for this time and policy\n            %----------------------------------------------\n            sx = x{f}(:,j,1);\n            qL = zeros(num_states(f),1);\n            v  = zeros(num_states(f),1);\n            \n            % evaluate free energy and gradients (v = dFdx)\n            %----------------------------------------------\n            if dF > exp(-8) || iter > 4\n                \n                % marginal likelihood over outcome factors\n                %------------------------------------------\n                if j <= t\n                    qL = spm_dot(L{j},xq,f);\n                    qL = spm_log(qL(:));\n                end                              \n                \n                % entropy\n                %------------------------------------------\n                qx  = spm_log(sx);\n                \n                % emprical priors (forward messages)\n                %------------------------------------------\n                if j < 2\n                    px = spm_log(D{f});\n                    v  = v + px + qL - qx;\n                else\n                    px = spm_log(b{f}(:,:,policy_matrix(j - 1,1,f))*x{f}(:,j - 1,1));\n                    v  = v + px + qL - qx;\n                end               \n              \n                \n                % emprical priors (backward messages)\n                %------------------------------------------\n                if j < R\n                    px = log( b_t{f}(:,:,policy_matrix(j,1,f)) * x{f}(:,j+1,1) );\n%                     if iter == num_iter\n%                         fprintf('inference timestep: %d, factor: %d \\n',j, f)\n%                         disp(px)\n%                     end\n                    v  = v + px + qL - qx;\n                end\n                \n                % (negative) free energy\n                %------------------------------------------\n                if j == 1 || j == S\n                    F = F + sx'*0.5*v;\n                else\n                    F = F  + sx'*(0.5*v - (num_factors-1)*qL/num_factors);\n                end\n                \n                % update\n                %-----------------------------------------                \n                \n                v    = v - mean(v);\n%                 if iter == num_iter\n%                     fprintf('inference timestep: %d, factor: %d \\n',j, f)\n%                     disp(v)\n%                 end\n                \n                sx   = softmax(qx + v/4);\n                \n            else\n                F = G;\n            end\n            \n            % store update neuronal activity\n            %----------------------------------------------\n            x{f}(:,j,1)          = sx;\n            xq{f}                = sx;\n            xn{f}(iter,:,j,t,1)  = sx;\n            vn{f}(iter,:,j,t,1)  = v;\n            \n        end\n    end\n    \n    % convergence\n    %------------------------------------------------------\n    if iter > 1\n        dF = F - G;\n    end\n    G = F;\n    \nend\n\nend\n\nfunction A  = spm_log(A)\n% log of numeric array plus a small constant\n%--------------------------------------------------------------------------\nA  = log(A + 1e-16);\nend\n\nfunction A  = spm_norm(A)\n% normalisation of a probability transition matrix (columns)\n%--------------------------------------------------------------------------\nA           = bsxfun(@rdivide,A,sum(A,1));\nA(isnan(A)) = 1/size(A,1);\nend\n\nfunction [X] = spm_dot(X,x,i)\n% Multidimensional dot (inner) product\n\n% initialise dimensions\n%--------------------------------------------------------------------------\nif iscell(x)\n    DIM = (1:numel(x)) + ndims(X) - numel(x);\nelse\n    DIM = 1;\n    x   = {x};\nend\n\n% omit dimensions specified\n%--------------------------------------------------------------------------\nif nargin > 2\n    DIM(i) = [];\n    x(i)   = [];\nend\n\n% inner product using recursive summation (and bsxfun)\n%--------------------------------------------------------------------------\nfor d = 1:numel(x)\n    s         = ones(1,ndims(X));\n    s(DIM(d)) = numel(x{d});\n    X         = bsxfun(@times,X,reshape(full(x{d}),s));\n    X         = sum(X,DIM(d));\nend\n\n% eliminate singleton dimensions\n%--------------------------------------------------------------------------\nX = squeeze(X);\nend\n\nfunction [y] = spm_softmax(x,k)\n% softmax (e.g., neural transfer) function over columns\n\n% apply\n%--------------------------------------------------------------------------\nif nargin > 1,    x = k*x; end\nif size(x,1) < 2; y = ones(size(x)); return, end\n\n% exponentiate and normalise\n%--------------------------------------------------------------------------\nx  = exp(bsxfun(@minus,x,max(x)));\ny  = bsxfun(@rdivide,x,sum(x));\nend\n\n"
  },
  {
    "path": "test/matlab_crossval/generation/vb_x_matlab_test_1a.m",
    "content": "%%% PSEUDO-CODE VERSION OF SPM_MDP_VB_X.m\n\nclear all; close all; cd .. % this brings you into the 'pymdp/tests/matlab_crossval/' super directory, since this file should be stored in 'pymdp/tests/matlab_crossval/generation'\n\nrng(7); % ensure the saved output file for `pymdp` is always the same\n%% VARIABLE NAMES\n\nT = 10; % total length of time (generative process horizon)\nwindow_len = 3; % length of inference window (in the past)\npolicy_horizon = 1; % temporal horizon of policies\ntau = 0.25; % learning rate\nnum_iter = 10; % number of variational iterations\nnum_states = [3]; % hidden state dimensionalities\nnum_factors = length(num_states); % number of hidden state factors\nnum_obs = [4];   % observation modality dimensionalities\nnum_modalities = length(num_obs); % number of hidden state factors\nnum_actions = [3]; % control factor (action) dimensionalities\nnum_control = length(num_actions);\nw = 16.0; % equivalent of 'gamma' parameter in pymdp\n \nqs_ppd = cell(1, num_factors); % variable to store posterior predictive density for current timestep. cell array of length num_factors, where each qs_ppd{f} is the PPD for a given factor (length [num_states(f), 1])\nqs_bma = cell(1, num_factors); % variable to store bayesian model average for current timestep. cell array of length num_factors, where each xq{f} is the BMA for a given factor (length [num_states(f), 1])\n\nstates = zeros(num_factors,T); % matrix of true hidden states (separated by factor and timepoint) -- size(states) == [num_factors, T]\nfor f = 1:num_factors\n    states(f,1) = randi(num_states(f));\nend\n\nactions = zeros(num_control, T); % history of actions along each control state factor and timestep -- size(actions) == [num_factors, T]\nobs = zeros(num_modalities,T); % history of observations (separated by modality and timepoint) -- size (obs) == [num_modalities, T]\nvector_obs = cell(num_modalities,T); % history of observations expressed as one-hot vectors\n\n\n% allowable policies (here, specified as the next action) U\n%--------------------------------------------------------------------------\nNp        = num_actions;\nU         = ones(1,Np,num_factors);\nU(:,:,1)  = 1:Np;\n\npolicy_matrix = zeros(policy_horizon, Np, num_factors); % matrix of policies expressed in terms of time points, actions, and hidden state factors. size(policies) ==  [policy_horizon, num_policies, num_factors]. \n                                                                  % This gets updated over time with the actual actions/policies taken in the past\n\npolicy_matrix(1,:,:) = U;\n\np = 1:Np;\n\n% likelihoods and priors\n\nA = cell(1,num_modalities); % generative process observation likelihood (cell array of length num_modalities -- each A{g} is a matrix of size [num_modalities(g), num_states(:)]\nB = cell(1,num_factors); % generative process transition likelihood (cell array of length num_factors -- each B{f} is a matrix of size [num_states(f), num_states(f), num_actions(f)]\nC = cell(1,num_modalities);\nlnC = cell(1, num_modalities);\nfor g= 1:num_modalities\n    C{g} = repmat(rand(num_obs(g),1),1,T);\n    lnC{g} = spm_log(spm_softmax(C{g}));\nend\n\nD = cell(1,num_factors); % prior over hidden states -- a cell array of size [1, num_factors] where each D{f} is a vector of length [num_states(f), 1]\nfor f = 1:num_factors\n    D{f} = ones(num_states(f),1)/num_states(f);\nend\n\n\n\nfor g = 1:num_modalities\n    A{g} = spm_norm(rand([num_obs(g),num_states]));\nend\n\na = A; % generative model == generative process\n\n\nfor f = 1:num_factors\n    B{f} = spm_norm(rand(num_states(f), num_states(f), num_actions(f)));\nend\n\n\nb = B; % generative model transition likelihood (cell array of length num_factors -- each b{f} is a matrix of size [num_states(f), num_states(f), num_actions(f)]\nb_t = cell(1,num_factors);\n\nfor f = 1:num_factors\n    for u = 1:num_actions(f)\n        b_t{f}(:,:,u) = spm_norm(b{f}(:,:,u)');% transpose of generative model transition likelihood\n    end\nend\n\nfor f = 1:num_factors\n    Nu(f) = size(B{f},3);     % number of hidden controls\nend\n%% INITIALIZATION of beliefs\n\n\n% initialise different posterior beliefs used in message passing\n\nfor f = 1:num_factors\n    \n    xn{f} = zeros(num_iter,num_states(f),window_len,T,Np);\n    \n    vn{f} = zeros(num_iter,num_states(f),window_len,T,Np);\n    \n    x{f}  = zeros(num_states(f),T,Np) + 1/num_states(f);\n    \n    d_policy_sep{f} = zeros(num_states(f),Np) + 1/num_states(f);\n\n    qs_ppd{f}  = zeros(num_states(f), T, Np)      + 1/num_states(f);\n    \n    qs_bma{f}  = repmat(D{f},1,T);\n    \n    for k = 1:Np\n        x{f}(:,1,k) = D{f};\n        qs_ppd{f}(:,1,k) = D{f};\n    end\n    \nend\n\n%%\n\nfor t = 1:T\n    \n \n    % posterior predictive density over hidden (external) states\n    %--------------------------------------------------------------\n    for f = 1:num_factors       \n        % Bayesian model average (xq)\n        %----------------------------------------------------------\n        xq{f} =  qs_bma{f}(:,t);       \n    end\n    \n    % sample state, if not specified\n    %--------------------------------------------------------------\n    for f = 1:num_factors\n\n        % the next state is generated by action on external states\n        %----------------------------------------------------------\n\n        if t > 1\n            ps = B{f}(:,states(f,t - 1),actions(f,t - 1));\n        else\n            ps =  D{f};\n        end\n        states(f,t) = find(rand < cumsum(ps),1);\n\n    end\n    \n    % sample observations, if not specified\n    %--------------------------------------------------------------\n    for g = 1:num_modalities\n        \n        % if observation is not given\n        %----------------------------------------------------------\n        if ~obs(g,t)\n            % sample from likelihood given hidden state\n            %--------------------------------------------------\n            ind           = num2cell(states(:,t));\n            p_obs            = A{g}(:,ind{:}); % gets the probability over observations, under the current hidden state configuration\n            obs(g,t) = find(rand < cumsum(p_obs),1);\n            vector_obs{g,t} = sparse(obs(g,t),1,1,num_obs(g),1);\n        end\n        \n    end\n    \n    % Likelihood of observation under the various configurations of hidden states\n    %==================================================================\n    L{t} = 1;\n    for g = 1:num_modalities\n        L{t} = L{t}.*spm_dot(a{g},vector_obs{g,t});\n    end\n    \n%     lh_seq = L(max(1,t-window_len+1):end); % prune the likelihood sequence to only carry those likelihoods relevant to the current moment\n   \n    % reset\n    %--------------------------------------------------------------\n    for f = 1:num_factors\n        x{f} = spm_softmax(spm_log(x{f})/4);\n    end\n    \n    S     = size(policy_matrix,1) + 1;   % horizon\n    R = t;\n    \n    fprintf('Observations used for timestep %d\\n',t)\n    fprintf('===================================\\n')\n                        \n    F     = zeros(Np,1);\n    for k = p                % loop over plausible policies\n%     dF    = 1;                  % reset criterion for this policy\n        for iter = 1:num_iter       % iterate belief updates\n            F(k)  = 0;                 % reset free energy for this policy           \n            \n            for j = max(1,t-window_len+1):S             % loop over future time points\n                \n                if t == 4 && j == S\n                    debug_flag = true;\n                end\n                % curent posterior over outcome factors\n                %--------------------------------------------------\n                if j <= t\n                    for f = 1:num_factors\n                        xq{f} = x{f}(:,j,k);\n                    end\n                end\n\n                for f = 1:num_factors\n\n                    % hidden states for this time and policy\n                    %----------------------------------------------\n                    sx = x{f}(:,j,k);\n                    qL = zeros(num_states(f),1);\n                    v  = zeros(num_states(f),1);\n\n                    % evaluate free energy and gradients (v = dFdx)\n                    %----------------------------------------------\n        %                 if dF > exp(-8) || iter > 4\n\n                    % marginal likelihood over outcome factors\n                    %------------------------------------------                   \n                    \n                    if j <= t\n                        if iter == 1 && f == 1\n                            fprintf('obs from timestep: %d\\n',j)\n                        end\n                        qL = spm_dot(L{j},xq,f);\n                        qL = spm_log(qL(:));\n                    end                              \n\n                    % entropy\n                    %------------------------------------------\n                    qx  = spm_log(sx);\n\n                    % emprical priors (forward messages)\n                    %------------------------------------------\n                    if j == 1\n                        px = spm_log(D{f});\n                    elseif j == (t-window_len+1)                   \n%                         px = spm_log(b{f}(:,:,policy_matrix(j - 1,k,f))*d_policy_sep{f}(:,k)); % policy separated prior\n                        px = spm_log(d_policy_sep{f}(:,k)); % policy separated prior\n                    else\n                        px = spm_log(b{f}(:,:,policy_matrix(j - 1,k,f))*x{f}(:,j - 1,k));\n                    end    \n                    \n                    v  = v + px + qL - qx;\n\n\n                    % emprical priors (backward messages)\n                    %------------------------------------------\n                    if j < R\n                        px = spm_log( b_t{f}(:,:,policy_matrix(j,k,f)) * x{f}(:,j+1,k) );\n                        v  = v + px + qL - qx;\n                    end\n\n                    % (negative) free energy\n                    %------------------------------------------\n                    if j == 1 || j == S\n                        F(k) = F(k) + sx'*0.5*v;\n                    else\n                        F(k) = F(k)  + sx'*(0.5*v - (num_factors-1)*qL/num_factors);\n                    end\n\n                    % update\n                    %-----------------------------------------                \n\n                    v    = v - mean(v);\n \n                    sx   = softmax(qx + v * tau);\n\n                    % store update neuronal activity\n                    %----------------------------------------------\n                    x{f}(:,j,k)          = sx;\n                    xq{f}                = sx;\n                    xn{f}(iter,:,j,t,k)  = sx;\n                    vn{f}(iter,:,j,t,k)  = v;\n\n                end\n            end\n\n            % convergence\n            %------------------------------------------------------\n%             if iter > 1\n%                 dF = F - G;\n%             end\n%             G = F;\n\n        end\n    end\n        \n    %% expected free energy of policies\n    \n    S     = size(policy_matrix,1) + 1;   % horizon\n    Q   = zeros(length(p),1);            % expected free energy for each policy\n\n    for k = p\n                    \n        for j = t:S % loop over future timepoints (starting from t = current_t to t = (current_t + future_horizon)\n\n            % get expected states for this policy and time\n            %--------------------------------------------------\n            for f = 1:num_factors\n                xq{f} = x{f}(:,j,k);\n            end\n\n            % Bayesian surprise about states\n            %--------------------------------------------------\n            Q(k) = Q(k) + spm_MDP_G(A,xq);\n\n            for g = 1:num_modalities\n\n                % prior preferences about outcomes\n                %----------------------------------------------\n                qo   = spm_dot(A{g},xq);\n                Q(k) = Q(k) + qo'*(lnC{g}(:,j));\n\n            end\n        end\n    end\n        \n    % this is how the policy posterior is ultimately calculated in\n    % original spm_MDP_VB_X:\n\n    % previous expected precision\n    %----------------------------------------------------------\n%     if t > 1\n%         w(t) = w(t - 1);\n%     end\n%     for i = 1:Ni\n% \n%         % posterior and prior beliefs about policies\n%         %------------------------------------------------------\n%         qu = spm_softmax(qE + w(t)*Q + F);\n%         pu = spm_softmax(qE + w(t)*Q);\n% \n%         % precision (w) with free energy gradients (v = -dF/dw)\n%         %------------------------------------------------------\n%         if OPTIONS.gamma\n%             w(t) = 1/beta;\n%         else\n%             eg      = (qu - pu)'*Q;\n%             dFdg    = qb - beta + eg;\n%             qb   = qb - dFdg/2;\n%             w(t) = 1/qb;\n%         end\n% \n%         % simulated dopamine responses (expected precision)\n%         %------------------------------------------------------\n%         n             = (t - 1)*Ni + i;\n%         wn(n,1)    = w(t);\n%         un(:,n) = qu;\n%         u(:,t)  = qu;\n% \n%     end\n   \n    q_pi = spm_softmax(w*Q - F); % copied how we do it in `pymdp` for comparison\n    \n    disp(q_pi)\n    \n    if t < T\n        % marginal posterior over action (for each factor)\n        %----------------------------------------------------------\n        Pu    = zeros(num_actions,1);\n        for k = 1:length(p)\n            sub        = num2cell(policy_matrix(t,k,:));\n            Pu(sub{:}) = Pu(sub{:}) + q_pi(k);\n        end\n         \n%         ind           = find(rand < cumsum(Pu(:)),1);\n        ind           = find(Pu(:) == max(Pu(:)),1);\n        actions(:,t) = spm_ind2sub(Nu,ind);\n        \n        for f = 1:num_factors\n            policy_matrix(t,:,f) = actions(f,t);\n        end\n        for j = 1:size(U,1)\n            if (t + 1) < T\n                policy_matrix(t + 1,:,:) = U(:,:);\n            end\n        end\n        \n%         disp(size(policy_matrix,1))\n        \n        if (t - window_len) >= 0\n            for f = 1:num_factors\n                for k = 1:Np\n                    d_policy_sep{f}(:,k) = x{f}(:,t-window_len+1,k);\n                end\n            end\n%             policy_matrix = policy_matrix((t-window_len):end,:,:);\n        end\n        \n        if t == (T-1)\n            debug_flag = true;\n        end\n        \n        % and re-initialise expectations about hidden states\n        %------------------------------------------------------\n        for f = 1:num_factors\n            for k = 1:length(p)\n                x{f}(:,:,k) = 1/num_states(f);\n            end\n        end\n        \n    end        \n    \n    if t == T\n        obs  = obs(:,1:T);        % outcomes at 1,...,T\n        states  = states(:,1:T);        % states   at 1,...,T\n        actions  = actions(:,1:T - 1);    % actions  at 1,...,T - 1\n        break;\n    end\n            \nend\n\nsave_dir = 'output/vbx_test_1a.mat';\npolicies = U;\nt_horizon = window_len;\nqs = x;\nlikelihoods = L;\nsave(save_dir,'A','B','C','obs','states','actions','policies','t_horizon','actions','qs','xn', 'vn', 'likelihoods')\n%%\n% auxillary functions\n%==========================================================================\n\nfunction A  = spm_log(A)\n% log of numeric array plus a small constant\n%--------------------------------------------------------------------------\nA  = log(A + 1e-16);\nend\n\nfunction A  = spm_norm(A)\n% normalisation of a probability transition matrix (columns)\n%--------------------------------------------------------------------------\nA           = bsxfun(@rdivide,A,sum(A,1));\nA(isnan(A)) = 1/size(A,1);\nend\n\nfunction A  = spm_wnorm(A)\n% summation of a probability transition matrix (columns)\n%--------------------------------------------------------------------------\nA   = A + 1e-16;\nA   = bsxfun(@minus,1./sum(A,1),1./A)/2;\nend\n\nfunction sub = spm_ind2sub(siz,ndx)\n% subscripts from linear index\n%--------------------------------------------------------------------------\nn = numel(siz);\nk = [1 cumprod(siz(1:end-1))];\nfor i = n:-1:1\n    vi       = rem(ndx - 1,k(i)) + 1;\n    vj       = (ndx - vi)/k(i) + 1;\n    sub(i,1) = vj;\n    ndx      = vi;\nend\nend\n\nfunction [X] = spm_dot(X,x,i)\n% Multidimensional dot (inner) product\n% FORMAT [Y] = spm_dot(X,x,[DIM])\n%\n% X   - numeric array\n% x   - cell array of numeric vectors\n% DIM - dimensions to omit (asumes ndims(X) = numel(x))\n%\n% Y  - inner product obtained by summing the products of X and x along DIM\n%\n% If DIM is not specified the leading dimensions of X are omitted.\n% If x is a vector the inner product is over the leading dimension of X\n\n% initialise dimensions\n%--------------------------------------------------------------------------\nif iscell(x)\n    DIM = (1:numel(x)) + ndims(X) - numel(x);\nelse\n    DIM = 1;\n    x   = {x};\nend\n\n% omit dimensions specified\n%--------------------------------------------------------------------------\nif nargin > 2\n    DIM(i) = [];\n    x(i)   = [];\nend\n\n% inner product using recursive summation (and bsxfun)\n%--------------------------------------------------------------------------\nfor d = 1:numel(x)\n    s         = ones(1,ndims(X));\n    s(DIM(d)) = numel(x{d});\n    X         = bsxfun(@times,X,reshape(full(x{d}),s));\n    X         = sum(X,DIM(d));\nend\n\n% eliminate singleton dimensions\n%--------------------------------------------------------------------------\nX = squeeze(X);\nend\n\nfunction [y] = spm_softmax(x,k)\n% softmax (e.g., neural transfer) function over columns\n% FORMAT [y] = spm_softmax(x,k)\n%\n% x - numeric array array\n% k - precision, sensitivity or inverse temperature (default k = 1)\n%\n% y  = exp(k*x)/sum(exp(k*x))\n%\n% NB: If supplied with a matrix this routine will return the softmax\n% function over colums - so that spm_softmax([x1,x2,..]) = [1,1,...]\n\n% apply\n%--------------------------------------------------------------------------\nif nargin > 1,    x = k*x; end\nif size(x,1) < 2; y = ones(size(x)); return, end\n\n% exponentiate and normalise\n%--------------------------------------------------------------------------\nx  = exp(bsxfun(@minus,x,max(x)));\ny  = bsxfun(@rdivide,x,sum(x));\nend\n\nfunction [G] = spm_MDP_G(A,x)\n\n% preclude numerical overflow\n%--------------------------------------------------------------------------\nspm_log = @(x)log(x + exp(-16));\n\n% probability distribution over the hidden causes: i.e., Q(x)\n%--------------------------------------------------------------------------\nqx    = spm_cross(x);\n\n% accumulate expectation of entropy: i.e., E[lnP(o|x)]\n%--------------------------------------------------------------------------\nG     = 0;\nqo    = 0;\nfor i = find(qx > exp(-16))'\n    \n    % probability over outcomes for this combination of causes\n    %----------------------------------------------------------------------\n    po   = 1;\n    for g = 1:numel(A)\n        po = spm_cross(po,A{g}(:,i));\n    end\n    po = po(:);\n    qo = qo + qx(i)*po;\n    G  = G  + qx(i)*po'*spm_log(po);\n    \nend\n\n% subtract entropy of expectations: i.e., E[lnQ(o)]\n%--------------------------------------------------------------------------\nG  = G - qo'*spm_log(qo);\n\n\nend\n\nfunction [Y] = spm_cross(X,x,varargin)\n% Multidimensional cross (outer) product\n% FORMAT [Y] = spm_cross(X,x)\n% FORMAT [Y] = spm_cross(X)\n%\n% X  - numeric array\n% x  - numeric array\n%\n% Y  - outer product\n%\n% See also: spm_dot\n%__________________________________________________________________________\n% Copyright (C) 2015 Wellcome Trust Centre for Neuroimaging\n\n% Karl Friston\n% $Id: spm_cross.m 7527 2019-02-06 19:12:56Z karl $\n\n% handle single inputs\n%--------------------------------------------------------------------------\nif nargin < 2\n    if isnumeric(X)\n        Y = X;\n    else\n        Y = spm_cross(X{:});\n    end\n    return\nend\n\n% handle cell arrays\n%--------------------------------------------------------------------------\nif iscell(X), X = spm_cross(X{:}); end\nif iscell(x), x = spm_cross(x{:}); end\n\n% outer product of first pair of arguments (using bsxfun)\n%--------------------------------------------------------------------------\nA = reshape(full(X),[size(X) ones(1,ndims(x))]);\nB = reshape(full(x),[ones(1,ndims(X)) size(x)]);\nY = squeeze(bsxfun(@times,A,B));\n\n% and handle remaining arguments\n%--------------------------------------------------------------------------\nfor i = 1:numel(varargin)\n    Y = spm_cross(Y,varargin{i});\nend\nend\n"
  },
  {
    "path": "test/matlab_crossval/generation/vb_x_matlab_test_1b.m",
    "content": "%%% PSEUDO-CODE VERSION OF SPM_MDP_VB_X.m\n\nclear all; close all; cd .. % this brings you into the 'pymdp/tests/matlab_crossval/' super directory, since this file should be stored in 'pymdp/tests/matlab_crossval/generation'\n\nrng(10); % ensure the saved output file for `pymdp` is always the same\n%% VARIABLE NAMES\n\nT = 10; % total length of time (generative process horizon)\nwindow_len = 1; % length of inference window (in the past)\npolicy_horizon = 1; % temporal horizon of policies\ntau = 0.25; % learning rate\nnum_iter = 10; % number of variational iterations\nnum_states = [3, 5]; % hidden state dimensionalities\nnum_factors = length(num_states); % number of hidden state factors\nnum_obs = [4];   % observation modality dimensionalities\nnum_modalities = length(num_obs); % number of hidden state factors\nnum_actions = [3, 2]; % control factor (action) dimensionalities\nnum_control = length(num_actions);\nw = 16.0; % equivalent of 'gamma' parameter in pymdp\n \nqs_ppd = cell(1, num_factors); % variable to store posterior predictive density for current timestep. cell array of length num_factors, where each qs_ppd{f} is the PPD for a given factor (length [num_states(f), 1])\nqs_bma = cell(1, num_factors); % variable to store bayesian model average for current timestep. cell array of length num_factors, where each xq{f} is the BMA for a given factor (length [num_states(f), 1])\n\nstates = zeros(num_factors,T); % matrix of true hidden states (separated by factor and timepoint) -- size(states) == [num_factors, T]\nfor f = 1:num_factors\n    states(f,1) = randi(num_states(f));\nend\n\nactions = zeros(num_control, T); % history of actions along each control state factor and timestep -- size(actions) == [num_factors, T]\nobs = zeros(num_modalities,T); % history of observations (separated by modality and timepoint) -- size (obs) == [num_modalities, T]\nvector_obs = cell(num_modalities,T); % history of observations expressed as one-hot vectors\n\n\n% allowable policies (here, specified as the next action) U\n%--------------------------------------------------------------------------\nNp        = prod(num_actions); % assumes 1 step ahead policies\nU         = ones(1,Np,num_factors);\nU(:,:,1)  = 1:Np;\n\npolicy_matrix = zeros(policy_horizon, Np, num_factors); % matrix of policies expressed in terms of time points, actions, and hidden state factors. size(policies) ==  [policy_horizon, num_policies, num_factors]. \n                                                                  % This gets updated over time with the actual actions/policies taken in the past\n\npolicy_matrix(1,:,:) = U;\n\np = 1:Np;\n\n% likelihoods and priors\n\nA = cell(1,num_modalities); % generative process observation likelihood (cell array of length num_modalities -- each A{g} is a matrix of size [num_modalities(g), num_states(:)]\nB = cell(1,num_factors); % generative process transition likelihood (cell array of length num_factors -- each B{f} is a matrix of size [num_states(f), num_states(f), num_actions(f)]\nC = cell(1,num_modalities);\nlnC = cell(1, num_modalities);\nfor g= 1:num_modalities\n    C{g} = repmat(rand(num_obs(g),1),1,T);\n    lnC{g} = spm_log(spm_softmax(C{g}));\nend\n\nD = cell(1,num_factors); % prior over hidden states -- a cell array of size [1, num_factors] where each D{f} is a vector of length [num_states(f), 1]\nfor f = 1:num_factors\n    D{f} = ones(num_states(f),1)/num_states(f);\nend\n\n\n\nfor g = 1:num_modalities\n    A{g} = spm_norm(rand([num_obs(g),num_states]));\nend\n\na = A; % generative model == generative process\n\n\nfor f = 1:num_factors\n    B{f} = spm_norm(rand(num_states(f), num_states(f), num_actions(f)));\nend\n\n\nb = B; % generative model transition likelihood (cell array of length num_factors -- each b{f} is a matrix of size [num_states(f), num_states(f), num_actions(f)]\nb_t = cell(1,num_factors);\n\nfor f = 1:num_factors\n    for u = 1:num_actions(f)\n        b_t{f}(:,:,u) = spm_norm(b{f}(:,:,u)');% transpose of generative model transition likelihood\n    end\nend\n\nfor f = 1:num_factors\n    Nu(f) = size(B{f},3);     % number of hidden controls\nend\n%% INITIALIZATION of beliefs\n\n\n% initialise different posterior beliefs used in message passing\n\nfor f = 1:num_factors\n    \n    xn{f} = zeros(num_iter,num_states(f),window_len,T,Np);\n    \n    vn{f} = zeros(num_iter,num_states(f),window_len,T,Np);\n    \n    x{f}  = zeros(num_states(f),T,Np) + 1/num_states(f);\n    \n    d_policy_sep{f} = zeros(num_states(f),Np) + 1/num_states(f);\n\n    qs_ppd{f}  = zeros(num_states(f), T, Np)      + 1/num_states(f);\n    \n    qs_bma{f}  = repmat(D{f},1,T);\n    \n    for k = 1:Np\n        x{f}(:,1,k) = D{f};\n        qs_ppd{f}(:,1,k) = D{f};\n    end\n    \nend\n\n%%\n\nfor t = 1:T\n    \n \n    % posterior predictive density over hidden (external) states\n    %--------------------------------------------------------------\n    for f = 1:num_factors       \n        % Bayesian model average (xq)\n        %----------------------------------------------------------\n        xq{f} =  qs_bma{f}(:,t);       \n    end\n    \n    % sample state, if not specified\n    %--------------------------------------------------------------\n    for f = 1:num_factors\n\n        % the next state is generated by action on external states\n        %----------------------------------------------------------\n\n        if t > 1\n            ps = B{f}(:,states(f,t - 1),actions(f,t - 1));\n        else\n            ps =  D{f};\n        end\n        states(f,t) = find(rand < cumsum(ps),1);\n\n    end\n    \n    % sample observations, if not specified\n    %--------------------------------------------------------------\n    for g = 1:num_modalities\n        \n        % if observation is not given\n        %----------------------------------------------------------\n        if ~obs(g,t)\n            % sample from likelihood given hidden state\n            %--------------------------------------------------\n            ind           = num2cell(states(:,t));\n            p_obs            = A{g}(:,ind{:}); % gets the probability over observations, under the current hidden state configuration\n            obs(g,t) = find(rand < cumsum(p_obs),1);\n            vector_obs{g,t} = sparse(obs(g,t),1,1,num_obs(g),1);\n        end\n        \n    end\n    \n    % Likelihood of observation under the various configurations of hidden states\n    %==================================================================\n    L{t} = 1;\n    for g = 1:num_modalities\n        L{t} = L{t}.*spm_dot(a{g},vector_obs{g,t});\n    end\n    \n%     lh_seq = L(max(1,t-window_len+1):end); % prune the likelihood sequence to only carry those likelihoods relevant to the current moment\n   \n    % reset\n    %--------------------------------------------------------------\n    for f = 1:num_factors\n        x{f} = spm_softmax(spm_log(x{f})/4);\n    end\n    \n    S     = size(policy_matrix,1) + 1;   % horizon\n    R = t;\n    \n    fprintf('Observations used for timestep %d\\n',t)\n    fprintf('===================================\\n')\n                        \n    F     = zeros(Np,1);\n    for k = p                % loop over plausible policies\n%     dF    = 1;                  % reset criterion for this policy\n        for iter = 1:num_iter       % iterate belief updates\n            F(k)  = 0;                 % reset free energy for this policy           \n            \n            for j = max(1,t-window_len+1):S             % loop over future time points\n                \n                if t == 4 && j == S\n                    debug_flag = true;\n                end\n                % curent posterior over outcome factors\n                %--------------------------------------------------\n                if j <= t\n                    for f = 1:num_factors\n                        xq{f} = x{f}(:,j,k);\n                    end\n                end\n\n                for f = 1:num_factors\n\n                    % hidden states for this time and policy\n                    %----------------------------------------------\n                    sx = x{f}(:,j,k);\n                    qL = zeros(num_states(f),1);\n                    v  = zeros(num_states(f),1);\n\n                    % evaluate free energy and gradients (v = dFdx)\n                    %----------------------------------------------\n        %                 if dF > exp(-8) || iter > 4\n\n                    % marginal likelihood over outcome factors\n                    %------------------------------------------                   \n                    \n                    if j <= t\n                        if iter == 1 && f == 1\n                            fprintf('obs from timestep: %d\\n',j)\n                        end\n                        qL = spm_dot(L{j},xq,f);\n                        qL = spm_log(qL(:));\n                    end                              \n\n                    % entropy\n                    %------------------------------------------\n                    qx  = spm_log(sx);\n\n                    % emprical priors (forward messages)\n                    %------------------------------------------\n                    if j == 1\n                        px = spm_log(D{f});\n                    elseif j == (t-window_len+1)                   \n%                         px = spm_log(b{f}(:,:,policy_matrix(j - 1,k,f))*d_policy_sep{f}(:,k)); % policy separated prior\n                        px = spm_log(d_policy_sep{f}(:,k)); % policy separated prior\n                    else\n                        px = spm_log(b{f}(:,:,policy_matrix(j - 1,k,f))*x{f}(:,j - 1,k));\n                    end    \n                    \n                    v  = v + px + qL - qx;\n\n\n                    % emprical priors (backward messages)\n                    %------------------------------------------\n                    if j < R\n                        px = spm_log( b_t{f}(:,:,policy_matrix(j,k,f)) * x{f}(:,j+1,k) );\n                        v  = v + px + qL - qx;\n                    end\n\n                    % (negative) free energy\n                    %------------------------------------------\n                    if j == 1 || j == S\n                        F(k) = F(k) + sx'*0.5*v;\n                    else\n                        F(k) = F(k)  + sx'*(0.5*v - (num_factors-1)*qL/num_factors);\n                    end\n\n                    % update\n                    %-----------------------------------------                \n\n                    v    = v - mean(v);\n \n                    sx   = softmax(qx + v * tau);\n\n                    % store update neuronal activity\n                    %----------------------------------------------\n                    x{f}(:,j,k)          = sx;\n                    xq{f}                = sx;\n                    xn{f}(iter,:,j,t,k)  = sx;\n                    vn{f}(iter,:,j,t,k)  = v;\n\n                end\n            end\n\n            % convergence\n            %------------------------------------------------------\n%             if iter > 1\n%                 dF = F - G;\n%             end\n%             G = F;\n\n        end\n    end\n        \n    %% expected free energy of policies\n    \n    S     = size(policy_matrix,1) + 1;   % horizon\n    Q   = zeros(length(p),1);            % expected free energy for each policy\n\n    for k = p\n                    \n        for j = t:S % loop over future timepoints (starting from t = current_t to t = (current_t + future_horizon)\n\n            % get expected states for this policy and time\n            %--------------------------------------------------\n            for f = 1:num_factors\n                xq{f} = x{f}(:,j,k);\n            end\n\n            % Bayesian surprise about states\n            %--------------------------------------------------\n            Q(k) = Q(k) + spm_MDP_G(A,xq);\n\n            for g = 1:num_modalities\n\n                % prior preferences about outcomes\n                %----------------------------------------------\n                qo   = spm_dot(A{g},xq);\n                Q(k) = Q(k) + qo'*(lnC{g}(:,j));\n\n            end\n        end\n    end\n        \n    % this is how the policy posterior is ultimately calculated in\n    % original spm_MDP_VB_X:\n\n    % previous expected precision\n    %----------------------------------------------------------\n%     if t > 1\n%         w(t) = w(t - 1);\n%     end\n%     for i = 1:Ni\n% \n%         % posterior and prior beliefs about policies\n%         %------------------------------------------------------\n%         qu = spm_softmax(qE + w(t)*Q + F);\n%         pu = spm_softmax(qE + w(t)*Q);\n% \n%         % precision (w) with free energy gradients (v = -dF/dw)\n%         %------------------------------------------------------\n%         if OPTIONS.gamma\n%             w(t) = 1/beta;\n%         else\n%             eg      = (qu - pu)'*Q;\n%             dFdg    = qb - beta + eg;\n%             qb   = qb - dFdg/2;\n%             w(t) = 1/qb;\n%         end\n% \n%         % simulated dopamine responses (expected precision)\n%         %------------------------------------------------------\n%         n             = (t - 1)*Ni + i;\n%         wn(n,1)    = w(t);\n%         un(:,n) = qu;\n%         u(:,t)  = qu;\n% \n%     end\n   \n    q_pi = spm_softmax(w*Q - F); % copied how we do it in `pymdp` for comparison\n    \n    disp(q_pi)\n    \n    if t < T\n        % marginal posterior over action (for each factor)\n        %----------------------------------------------------------\n        Pu    = zeros(num_actions,1);\n        for k = 1:length(p)\n            sub        = num2cell(policy_matrix(t,k,:));\n            Pu(sub{:}) = Pu(sub{:}) + q_pi(k);\n        end\n         \n%         ind           = find(rand < cumsum(Pu(:)),1);\n        ind           = find(Pu(:) == max(Pu(:)),1);\n        actions(:,t) = spm_ind2sub(Nu,ind);\n        \n        for f = 1:num_factors\n            policy_matrix(t,:,f) = actions(f,t);\n        end\n        for j = 1:size(U,1)\n            if (t + 1) < T\n                policy_matrix(t + 1,:,:) = U(:,:);\n            end\n        end\n        \n%         disp(size(policy_matrix,1))\n        \n        if (t - window_len) >= 0\n            for f = 1:num_factors\n                for k = 1:Np\n                    d_policy_sep{f}(:,k) = x{f}(:,t-window_len+1,k);\n                end\n            end\n%             policy_matrix = policy_matrix((t-window_len):end,:,:);\n        end\n        \n        if t == (T-1)\n            debug_flag = true;\n        end\n        \n        % and re-initialise expectations about hidden states\n        %------------------------------------------------------\n        for f = 1:num_factors\n            for k = 1:length(p)\n                x{f}(:,:,k) = 1/num_states(f);\n            end\n        end\n        \n    end        \n    \n    if t == T\n        obs  = obs(:,1:T);        % outcomes at 1,...,T\n        states  = states(:,1:T);        % states   at 1,...,T\n        actions  = actions(:,1:T - 1);    % actions  at 1,...,T - 1\n        break;\n    end\n            \nend\n\nsave_dir = 'output/vbx_test_1b.mat';\npolicies = U;\nt_horizon = window_len;\nqs = x;\nlikelihoods = L;\nsave(save_dir,'A','B','C','obs','states','actions','policies','t_horizon','actions','qs','xn', 'vn', 'likelihoods')\n%%\n% auxillary functions\n%==========================================================================\n\nfunction A  = spm_log(A)\n% log of numeric array plus a small constant\n%--------------------------------------------------------------------------\nA  = log(A + 1e-16);\nend\n\nfunction A  = spm_norm(A)\n% normalisation of a probability transition matrix (columns)\n%--------------------------------------------------------------------------\nA           = bsxfun(@rdivide,A,sum(A,1));\nA(isnan(A)) = 1/size(A,1);\nend\n\nfunction A  = spm_wnorm(A)\n% summation of a probability transition matrix (columns)\n%--------------------------------------------------------------------------\nA   = A + 1e-16;\nA   = bsxfun(@minus,1./sum(A,1),1./A)/2;\nend\n\nfunction sub = spm_ind2sub(siz,ndx)\n% subscripts from linear index\n%--------------------------------------------------------------------------\nn = numel(siz);\nk = [1 cumprod(siz(1:end-1))];\nfor i = n:-1:1\n    vi       = rem(ndx - 1,k(i)) + 1;\n    vj       = (ndx - vi)/k(i) + 1;\n    sub(i,1) = vj;\n    ndx      = vi;\nend\nend\n\nfunction [X] = spm_dot(X,x,i)\n% Multidimensional dot (inner) product\n% FORMAT [Y] = spm_dot(X,x,[DIM])\n%\n% X   - numeric array\n% x   - cell array of numeric vectors\n% DIM - dimensions to omit (asumes ndims(X) = numel(x))\n%\n% Y  - inner product obtained by summing the products of X and x along DIM\n%\n% If DIM is not specified the leading dimensions of X are omitted.\n% If x is a vector the inner product is over the leading dimension of X\n\n% initialise dimensions\n%--------------------------------------------------------------------------\nif iscell(x)\n    DIM = (1:numel(x)) + ndims(X) - numel(x);\nelse\n    DIM = 1;\n    x   = {x};\nend\n\n% omit dimensions specified\n%--------------------------------------------------------------------------\nif nargin > 2\n    DIM(i) = [];\n    x(i)   = [];\nend\n\n% inner product using recursive summation (and bsxfun)\n%--------------------------------------------------------------------------\nfor d = 1:numel(x)\n    s         = ones(1,ndims(X));\n    s(DIM(d)) = numel(x{d});\n    X         = bsxfun(@times,X,reshape(full(x{d}),s));\n    X         = sum(X,DIM(d));\nend\n\n% eliminate singleton dimensions\n%--------------------------------------------------------------------------\nX = squeeze(X);\nend\n\nfunction [y] = spm_softmax(x,k)\n% softmax (e.g., neural transfer) function over columns\n% FORMAT [y] = spm_softmax(x,k)\n%\n% x - numeric array array\n% k - precision, sensitivity or inverse temperature (default k = 1)\n%\n% y  = exp(k*x)/sum(exp(k*x))\n%\n% NB: If supplied with a matrix this routine will return the softmax\n% function over colums - so that spm_softmax([x1,x2,..]) = [1,1,...]\n\n% apply\n%--------------------------------------------------------------------------\nif nargin > 1,    x = k*x; end\nif size(x,1) < 2; y = ones(size(x)); return, end\n\n% exponentiate and normalise\n%--------------------------------------------------------------------------\nx  = exp(bsxfun(@minus,x,max(x)));\ny  = bsxfun(@rdivide,x,sum(x));\nend\n\nfunction [G] = spm_MDP_G(A,x)\n\n% preclude numerical overflow\n%--------------------------------------------------------------------------\nspm_log = @(x)log(x + exp(-16));\n\n% probability distribution over the hidden causes: i.e., Q(x)\n%--------------------------------------------------------------------------\nqx    = spm_cross(x);\n\n% accumulate expectation of entropy: i.e., E[lnP(o|x)]\n%--------------------------------------------------------------------------\nG     = 0;\nqo    = 0;\nfor i = find(qx > exp(-16))'\n    \n    % probability over outcomes for this combination of causes\n    %----------------------------------------------------------------------\n    po   = 1;\n    for g = 1:numel(A)\n        po = spm_cross(po,A{g}(:,i));\n    end\n    po = po(:);\n    qo = qo + qx(i)*po;\n    G  = G  + qx(i)*po'*spm_log(po);\n    \nend\n\n% subtract entropy of expectations: i.e., E[lnQ(o)]\n%--------------------------------------------------------------------------\nG  = G - qo'*spm_log(qo);\n\n\nend\n\nfunction [Y] = spm_cross(X,x,varargin)\n% Multidimensional cross (outer) product\n% FORMAT [Y] = spm_cross(X,x)\n% FORMAT [Y] = spm_cross(X)\n%\n% X  - numeric array\n% x  - numeric array\n%\n% Y  - outer product\n%\n% See also: spm_dot\n%__________________________________________________________________________\n% Copyright (C) 2015 Wellcome Trust Centre for Neuroimaging\n\n% Karl Friston\n% $Id: spm_cross.m 7527 2019-02-06 19:12:56Z karl $\n\n% handle single inputs\n%--------------------------------------------------------------------------\nif nargin < 2\n    if isnumeric(X)\n        Y = X;\n    else\n        Y = spm_cross(X{:});\n    end\n    return\nend\n\n% handle cell arrays\n%--------------------------------------------------------------------------\nif iscell(X), X = spm_cross(X{:}); end\nif iscell(x), x = spm_cross(x{:}); end\n\n% outer product of first pair of arguments (using bsxfun)\n%--------------------------------------------------------------------------\nA = reshape(full(X),[size(X) ones(1,ndims(x))]);\nB = reshape(full(x),[ones(1,ndims(X)) size(x)]);\nY = squeeze(bsxfun(@times,A,B));\n\n% and handle remaining arguments\n%--------------------------------------------------------------------------\nfor i = 1:numel(varargin)\n    Y = spm_cross(Y,varargin{i});\nend\nend\n"
  },
  {
    "path": "test/notebooks/README.md",
    "content": "# Notebook Test Manifests\n\nThis directory contains the notebook manifests used for `pymdp` release gating.\nThey are the source of truth for how `examples/` notebooks are split between the lighter PR CI tier and the heavier nightly tier.\n\n## Manifest Files\n\n- `ci_notebooks.txt`: notebooks intended for pull-request CI.\n- `nightly_notebooks.txt`: notebooks reserved for nightly coverage because they are heavier or have extra environment requirements.\n\nBoth manifests are:\n\n1. repo-relative\n2. explicitly enumerated\n3. sorted for stable diffs\n\n## Current Scope\n\nThe manifests cover all non-legacy notebooks under `examples/`.\n\n`examples/legacy/` remains intentionally excluded from these manifests because the current pytest configuration ignores that directory and those notebooks are not part of the release gating scope.\n\nThe nightly tier is currently locked to:\n\n- `examples/advanced/pymdp_with_neural_encoder.ipynb`\n- `examples/learning/learning_gridworld.ipynb`\n- `examples/model_fitting/fitting_with_pybefit.ipynb`\n- `examples/sparse/sparse_benchmark.ipynb`\n\nAll other non-legacy notebooks in `examples/` belong to the CI tier.\n\n## Running Notebook Tests Locally\n\n`nbval` does not play well with `pytest-xdist` in parallel notebook execution. `scripts/run_notebook_manifest.py` therefore forces `-n0` unless you explicitly override it with your own `pytest` arguments.\n\n```bash\n# Execute the PR-CI notebook tier without strict output matching\nuv run python scripts/run_notebook_manifest.py test/notebooks/ci_notebooks.txt\n\n# Execute the nightly notebook tier without strict output matching\nuv run python scripts/run_notebook_manifest.py test/notebooks/nightly_notebooks.txt\n\n# Strictly validate saved outputs for the PR-CI tier\nuv run python scripts/run_notebook_manifest.py test/notebooks/ci_notebooks.txt --strict-output\n```\n\n## Pre-commit Hooks\n\nInstall the notebook hooks with the lightweight dev tooling group:\n\n```bash\nuv sync --group dev\nuv run --group dev pre-commit install\nuv run --group dev pre-commit run --all-files\n```\n\nThe hook behavior is tier-aware and reads the manifests above:\n\n1. CI-tier notebooks keep saved outputs, strip noisy top-level `kernelspec` / `language_info` metadata, and canonicalize execution counts for output-bearing code cells.\n2. Nightly-tier notebooks still run through `nbstripout --keep-output` to remove notebook noise, and then canonicalize execution counts for output-bearing code cells so `nbval` can execute them.\n3. Manifest-tested notebooks fail the validation hook if any code cell has saved outputs with `execution_count: null`, or if an `execute_result` output count disagrees with its parent cell.\n4. Non-legacy notebooks under `examples/` must appear in one of the two manifests or the hook fails with an instruction to update them.\n5. `examples/legacy/` remains excluded from both pytest notebook gating and these hooks.\n\n## Authoring Notes\n\n1. Keep notebooks focused and reasonably small.\n2. Avoid massive printed outputs.\n3. If a notebook keeps saved outputs, the hook will canonicalize its execution counts so local kernel history does not create meaningless diffs.\n4. CI wiring consumes these manifests directly through `scripts/run_notebook_manifest.py`.\n"
  },
  {
    "path": "test/notebooks/ci_notebooks.txt",
    "content": "examples/advanced/complex_action_dependency.ipynb\nexamples/advanced/infer_states_optimization/methods_test.ipynb\nexamples/api/model_construction_tutorial.ipynb\nexamples/envs/cue_chaining_demo.ipynb\nexamples/envs/generalized_tmaze_demo.ipynb\nexamples/envs/graph_worlds_demo.ipynb\nexamples/envs/knapsack_demo.ipynb\nexamples/envs/tmaze_demo.ipynb\nexamples/experimental/sophisticated_inference/mcts_generalized_tmaze.ipynb\nexamples/experimental/sophisticated_inference/mcts_graph_world.ipynb\nexamples/experimental/sophisticated_inference/si_generalized_tmaze.ipynb\nexamples/experimental/sophisticated_inference/si_graph_world.ipynb\nexamples/experimental/sophisticated_inference/si_tmaze_SIvalidation.ipynb\nexamples/inductive_inference/inductive_inference_example.ipynb\nexamples/inductive_inference/inductive_inference_gridworld.ipynb\nexamples/inference_and_learning/inference_methods_comparison.ipynb\n"
  },
  {
    "path": "test/notebooks/nightly_notebooks.txt",
    "content": "examples/advanced/pymdp_with_neural_encoder.ipynb\nexamples/learning/learning_gridworld.ipynb\nexamples/model_fitting/fitting_with_pybefit.ipynb\nexamples/sparse/sparse_benchmark.ipynb\n"
  },
  {
    "path": "test/test_SPM_validation.py",
    "content": "import os\nimport unittest\n\nimport numpy as np\nfrom scipy.io import loadmat\n\nfrom pymdp.legacy.agent import Agent\nfrom pymdp.legacy.utils import to_obj_array, build_xn_vn_array, get_model_dimensions, convert_observation_array\nfrom pymdp.legacy.maths import dirichlet_log_evidence\n\nDATA_PATH = \"test/matlab_crossval/output/\"\n\nclass TestSPM(unittest.TestCase):\n    \n    def test_active_inference_SPM_1a(self):\n        \"\"\"\n        Test against output of SPM_MDP_VB_X.m\n        1A - one hidden state factor, one observation modality, backwards horizon = 3, policy_len = 1, policy-conditional prior\n        \"\"\"\n        array_path = os.path.join(os.getcwd(), DATA_PATH + \"vbx_test_1a.mat\")\n        mat_contents = loadmat(file_name=array_path)\n\n        A = mat_contents[\"A\"][0]\n        B = mat_contents[\"B\"][0]\n        C = to_obj_array(mat_contents[\"C\"][0][0][:,0])\n        obs_matlab = mat_contents[\"obs\"].astype(\"int64\")\n        mat_contents[\"policies\"].astype(\"int64\") - 1\n        t_horizon = mat_contents[\"t_horizon\"][0, 0].astype(\"int64\")\n        actions_matlab = mat_contents[\"actions\"].astype(\"int64\") - 1\n        mat_contents[\"qs\"][0]\n        xn_matlab = mat_contents[\"xn\"][0]\n        vn_matlab = mat_contents[\"vn\"][0]\n\n        mat_contents[\"likelihoods\"][0]\n\n        num_obs, num_states, _, num_factors = get_model_dimensions(A, B)\n        obs = convert_observation_array(obs_matlab, num_obs)\n        T = len(obs)\n\n        agent = Agent(A=A, B=B, C=C, inference_algo=\"MMP\", policy_len=1, \n                        inference_horizon=t_horizon, use_BMA = False, \n                        policy_sep_prior = True)\n        \n        actions_python = np.zeros(T)\n\n        for t in range(T):\n            o_t = (np.where(obs[t])[0][0],)\n            qx, xn_t, vn_t = agent._infer_states_test(o_t)\n            q_pi, G= agent.infer_policies()\n            action = agent.sample_action()\n\n            actions_python[t] = action.item()\n\n            xn_python = build_xn_vn_array(xn_t)\n            vn_python = build_xn_vn_array(vn_t)\n\n            if t == T-1:\n                xn_python = xn_python[:,:,:-1,:]\n                vn_python = vn_python[:,:,:-1,:]\n\n            start_tstep = max(0, agent.curr_timestep - agent.inference_horizon)\n            end_tstep = min(agent.curr_timestep + agent.policy_len, T)\n\n            xn_validation = xn_matlab[0][:,:,start_tstep:end_tstep,t,:]\n            vn_validation = vn_matlab[0][:,:,start_tstep:end_tstep,t,:]\n\n            self.assertTrue(np.isclose(xn_python, xn_validation).all())\n            self.assertTrue(np.isclose(vn_python, vn_validation).all())\n        \n        self.assertTrue(np.isclose(actions_matlab[0,:],actions_python[:-1]).all())\n\n    def test_BMR_SPM_a(self):\n        \"\"\"\n        Validate output of pymdp's `dirichlet_log_evidence` function \n        against output of `spm_MDP_log_evidence` from DEM in SPM (MATLAB)\n        Test `a` tests the log evidence calculations across for a single\n        reduced model, stored in a vector `r_dir`\n        \"\"\"\n        array_path = os.path.join(os.getcwd(), DATA_PATH + \"bmr_test_a.mat\")\n        mat_contents = loadmat(file_name=array_path)\n        F_valid = mat_contents[\"F\"]\n\n        # create BMR example from MATLAB\n        x = np.linspace(1, 32, 128)\n\n        p_dir    = np.ones(2)\n        r_dir    = p_dir.copy()\n        r_dir[1] = 8.\n\n        F_out = np.zeros( (len(x), len(x)) )\n        for i in range(len(x)):\n            for j in range(len(x)):\n                q_dir = np.array([x[i], x[j]])\n                F_out[i,j] = dirichlet_log_evidence(q_dir, p_dir, r_dir)[0]\n\n        self.assertTrue(np.allclose(F_valid, F_out))\n\n    def test_BMR_SPM_b(self):\n        \"\"\"\n        Validate output of pymdp's `dirichlet_log_evidence` function \n        against output of `spm_MDP_log_evidence` from DEM in SPM (MATLAB). \n        Test `b` vectorizes the log evidence calculations across a _matrix_ of \n        reduced models, with one reduced model prior per column of the argument `r_dir`\n        \"\"\"\n        array_path = os.path.join(os.getcwd(), DATA_PATH + \"bmr_test_b.mat\")\n        mat_contents = loadmat(file_name=array_path)\n        F_valid = mat_contents[\"F\"]\n        s_dir_valid = mat_contents['s_dir']\n        q_dir = mat_contents[\"q_dir\"]\n        p_dir = mat_contents[\"p_dir\"]\n        r_dir = mat_contents[\"r_dir\"]\n        \n        F_out, s_dir_out = dirichlet_log_evidence(q_dir, p_dir, r_dir)\n\n        self.assertTrue(np.allclose(F_valid, F_out))\n\n        self.assertTrue(np.allclose(s_dir_valid, s_dir_out))\n\n\n\nif __name__ == \"__main__\":\n    unittest.main()"
  },
  {
    "path": "test/test_agent.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Agent Class\n\n__author__: Conor Heins, Alexander Tschantz, Daphne Demekas, Brennan Klein\n\n\"\"\"\n\nimport unittest\n\nimport numpy as np\n\nfrom pymdp.legacy.agent import Agent\nfrom pymdp.legacy import utils, maths\nfrom pymdp.legacy import inference, control, learning\nfrom pymdp.legacy.default_models import generate_grid_world_transitions\n\nclass TestAgent(unittest.TestCase):\n    \n    def test_agent_init_without_control_fac_idx(self):\n        \"\"\"\n        Initialize instance of the agent class and pass in a custom `control_fac_idx`\n        \"\"\"\n\n        num_obs = [2, 4]\n        num_states = [2, 2]\n        num_controls = [2, 2]\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        agent = Agent(A=A, B=B)\n\n        self.assertEqual(agent.num_controls[0], 2)\n        self.assertEqual(agent.num_controls[1], 2)\n\n        self.assertEqual([0, 1], agent.control_fac_idx)\n\n    def test_reset_agent_VANILLA(self):\n        \"\"\"\n        Ensure the `reset` method of Agent() using the new refactor is working as intended, \n        using the `VANILLA` argument to `inference_algo` \n        \"\"\"\n\n        num_obs = [2, 4]\n        num_states = [2, 3]\n        num_controls = [2, 3]\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        agent = Agent(A=A, B=B, inference_algo = \"VANILLA\")\n\n        init_qs = utils.obj_array_uniform(agent.num_states)\n        self.assertTrue(all( [ (agent.qs[f] == init_qs[f]).all() for f in range(agent.num_factors)]) )\n        self.assertTrue(agent.curr_timestep == 0)\n\n    def test_reset_agent_MMP_wBMA(self):\n        \"\"\"\n        Ensure the `reset` method of Agent() using the new refactor is working as intended, \n        using the `MMP` argument to `inference_algo`, and `use_BMA` equal to True\n        \"\"\"\n\n        num_obs = [2, 4]\n        num_states = [2, 3]\n        num_controls = [2, 3]\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        agent = Agent(A=A, B=B, inference_algo = \"MMP\", use_BMA=True)\n\n        self.assertEqual(len(agent.latest_belief), agent.num_factors)\n        self.assertTrue(all( [ (agent.latest_belief[f] == agent.D[f]).all() for f in range(agent.num_factors)]) )\n        self.assertTrue(agent.curr_timestep == 0)\n    \n    def test_reset_agent_MMP_wPSP(self):\n        \"\"\"\n        Ensure the `reset` method of Agent() using the new refactor is working as intended, \n        using the `MMP` argument to `inference_algo`, and `policy-separated prior` equal to True\n        \"\"\"\n\n        num_obs = [2, 4]\n        num_states = [2, 3]\n        num_controls = [2, 3]\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        agent = Agent(A=A, B=B, inference_algo = \"MMP\", use_BMA = False, policy_sep_prior = True)\n\n        self.assertEqual(len(agent.qs[0]) - agent.inference_horizon - 1, agent.policy_len)\n    \n    def test_agent_infer_states(self):\n        \"\"\"\n        Test `infer_states` method of the Agent() class\n        \"\"\"\n\n        ''' VANILLA method (fixed point iteration) with one hidden state factor and one observation modality '''\n        num_obs = [5]\n        num_states = [3]\n        num_controls = [1]\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        agent = Agent(A=A, B=B, inference_algo = \"VANILLA\")\n\n        o = tuple([np.random.randint(obs_dim) for obs_dim in num_obs])\n        qs_out = agent.infer_states(o)\n\n        qs_validation = inference.update_posterior_states(A, o, prior=agent.D)\n\n        for f in range(len(num_states)):\n            self.assertTrue(np.isclose(qs_validation[f], qs_out[f]).all())\n\n        ''' VANILLA method (fixed point iteration) with multiple hidden state factors and multiple observation modalities '''\n        num_obs = [2, 4]\n        num_states = [2, 3]\n        num_controls = [2, 3]\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        agent = Agent(A=A, B=B, inference_algo = \"VANILLA\")\n\n        o = tuple([np.random.randint(obs_dim) for obs_dim in num_obs])\n        qs_out = agent.infer_states(o)\n\n        qs_validation = inference.update_posterior_states(A, o, prior=agent.D)\n\n        for f in range(len(num_states)):\n            self.assertTrue(np.isclose(qs_validation[f], qs_out[f]).all())\n\n        ''' Marginal message passing inference with one hidden state factor and one observation modality '''\n        num_obs = [5]\n        num_states = [3]\n        num_controls = [1]\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        agent = Agent(A=A, B=B, inference_algo = \"MMP\")\n\n        o = tuple([np.random.randint(obs_dim) for obs_dim in num_obs])\n        qs_pi_out = agent.infer_states(o)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len = 1)\n\n        qs_pi_validation, _ = inference.update_posterior_states_full(A, B, [o], policies, prior = agent.D, policy_sep_prior = False)\n\n        for p_idx in range(len(policies)):\n            for f in range(len(num_states)):\n                self.assertTrue(np.isclose(qs_pi_validation[p_idx][0][f], qs_pi_out[p_idx][0][f]).all())\n\n        ''' Marginal message passing inference with multiple hidden state factors and multiple observation modalities '''\n        num_obs = [2, 4]\n        num_states = [2, 2]\n        num_controls = [2, 2]\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls) \n\n        planning_horizon = 3\n        backwards_horizon = 1\n        agent = Agent(A=A, B=B, inference_algo=\"MMP\", policy_len=planning_horizon, inference_horizon=backwards_horizon)\n        o = [0, 2]\n        qs_pi_out = agent.infer_states(o)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len = planning_horizon)\n\n        qs_pi_validation, _ = inference.update_posterior_states_full_factorized(A, agent.mb_dict, B, agent.B_factor_list, [o], policies, prior = agent.D, policy_sep_prior = False)\n\n        for p_idx in range(len(policies)):\n            for t in range(planning_horizon+backwards_horizon):\n                for f in range(len(num_states)):\n                    self.assertTrue(np.isclose(qs_pi_validation[p_idx][t][f], qs_pi_out[p_idx][t][f]).all())\n\n    def test_mmp_active_inference(self):\n        \"\"\"\n        Tests to make sure whole active inference loop works (with various past and future\n        inference/policy horizons).\n        \"\"\"\n\n        num_obs = [3, 2]\n        num_states = [4, 3]\n        num_controls = [1, 3]\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        C = utils.obj_array_zeros(num_obs)\n        C[1][0] = 1.0  \n        C[1][1] = -2.0  \n\n        agent = Agent(A=A, B=B, C=C, control_fac_idx=[1], inference_algo=\"MMP\", policy_len=2, inference_horizon=3)\n\n        T = 10\n\n        for t in range(T):\n\n            o = [np.random.randint(num_ob) for num_ob in num_obs] # just randomly generate observations at each timestep, no generative process\n            agent.infer_states(o)\n            agent.infer_policies()\n            agent.sample_action()\n        \n        self.assertEqual(len(agent.prev_obs), T)\n        self.assertEqual(len(agent.prev_actions), T)\n\n    def test_agent_with_A_learning_vanilla(self):\n        \"\"\" Unit test for updating prior Dirichlet parameters over likelihood model (pA) with the ``Agent`` class,\n        in the case that you're using \"vanilla\" inference mode.\n        \"\"\"\n\n        # 3 x 3, 2-dimensional grid world\n        num_obs = [9]\n        num_states = [9]\n\n        A = utils.obj_array_zeros([ [num_obs[0], num_states[0]] ])\n        A[0] = np.eye(num_obs[0])\n\n        pA = utils.dirichlet_like(A, scale=1.)\n\n        action_labels = [\"LEFT\", \"DOWN\", \"RIGHT\", \"UP\"]\n\n        # get some true transition dynamics\n        true_transition_matrix = generate_grid_world_transitions(action_labels, num_rows = 3, num_cols = 3)\n        B = utils.to_obj_array(true_transition_matrix)\n        \n        # instantiate the agent\n        learning_rate_pA = np.random.rand()\n        agent = Agent(A=A, B=B, pA=pA, inference_algo=\"VANILLA\", action_selection=\"stochastic\", lr_pA=learning_rate_pA)\n\n        # time horizon\n        T = 10\n        next_state = 0\n\n        for t in range(T):\n            \n            prev_state = next_state\n            o = [prev_state] \n            qx = agent.infer_states(o)\n            agent.infer_policies()\n            agent.sample_action()\n\n            # sample the next state given the true transition dynamics and the sampled action\n            next_state = utils.sample(true_transition_matrix[:,prev_state,int(agent.action[0])])\n            \n            # compute the predicted update to the action-conditioned slice of qB\n            predicted_update = agent.pA[0] + learning_rate_pA*maths.spm_cross(utils.onehot(o[0], num_obs[0]), qx[0])\n            qA = agent.update_A(o) # update qA using the agent function\n\n            # check if the predicted update and the actual update are the same\n            self.assertTrue(np.allclose(predicted_update, qA[0]))\n    \n    def test_agent_with_A_learning_vanilla_factorized(self):\n        \"\"\" Unit test for updating prior Dirichlet parameters over likelihood model (pA) with the ``Agent`` class,\n        in the case that you're using \"vanilla\" inference mode. In this case, we encode sparse conditional dependencies by specifying\n        a non-all-to-all `A_factor_list`, that specifies the subset of hidden state factors that different modalities depend on.\n        \"\"\"\n\n        num_obs = [5, 4, 3]\n        num_states = [9, 8, 2, 4]\n        num_controls = [2, 2, 1, 1]\n\n        A_factor_list = [[0, 1], [0, 2], [3]]\n\n        A = utils.random_A_matrix(num_obs, num_states, A_factor_list=A_factor_list)\n        pA = utils.dirichlet_like(A, scale=1.)\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        \n        # instantiate the agent\n        learning_rate_pA = np.random.rand()\n        agent = Agent(A=A, B=B, pA=pA, A_factor_list=A_factor_list, inference_algo=\"VANILLA\", action_selection=\"stochastic\", lr_pA=learning_rate_pA)\n\n        # time horizon\n        T = 10\n\n        obs_seq = []\n        for t in range(T):\n            obs_seq.append([np.random.randint(obs_dim) for obs_dim in num_obs])\n        \n        for t in range(T):\n            print(t)\n            \n            qx = agent.infer_states(obs_seq[t])\n            agent.infer_policies()\n            agent.sample_action()\n            \n            # compute the predicted update to the action-conditioned slice of qB\n            qA_valid = utils.obj_array_zeros([A_m.shape for A_m in A])\n            for m, pA_m in enumerate(agent.pA):\n                qA_valid[m] = pA_m + learning_rate_pA*maths.spm_cross(utils.onehot(obs_seq[t][m], num_obs[m]), qx[A_factor_list[m]])\n            qA_test = agent.update_A(obs_seq[t]) # update qA using the agent function\n\n            # check if the predicted update and the actual update are the same\n            for m, qA_valid_m in enumerate(qA_valid):\n                self.assertTrue(np.allclose(qA_valid_m, qA_test[m]))\n\n    def test_agent_with_B_learning_vanilla(self):\n        \"\"\" Unit test for updating prior Dirichlet parameters over transition model (pB) with the ``Agent`` class,\n        in the case that you're using \"vanilla\" inference mode.\n        \"\"\"\n\n        # 3 x 3, 2-dimensional grid world\n        num_obs = [9]\n        num_states = [9]\n        num_controls = [4]\n\n        A = utils.obj_array_zeros([ [num_obs[0], num_states[0]] ])\n        A[0] = np.eye(num_obs[0])\n\n        action_labels = [\"LEFT\", \"DOWN\", \"RIGHT\", \"UP\"]\n\n        # flat transition prior\n        pB = utils.obj_array_ones([[num_states[0], num_states[0], num_controls[0]]])\n        B = utils.norm_dist_obj_arr(pB)\n        \n        # instantiate the agent\n        learning_rate_pB = 2.0\n        agent = Agent(A = A, B = B, pB = pB, inference_algo=\"VANILLA\", save_belief_hist = True, action_selection=\"stochastic\", lr_pB= learning_rate_pB)\n\n        # get some true transition dynamics\n        true_transition_matrix = generate_grid_world_transitions(action_labels, num_rows = 3, num_cols = 3)\n\n        # time horizon\n        T = 10\n        next_state = 0\n\n        for t in range(T):\n            \n            prev_state = next_state\n            o = [prev_state] \n            agent.infer_states(o)\n            agent.infer_policies()\n            agent.sample_action()\n\n            # sample the next state given the true transition dynamics and the sampled action\n            next_state = utils.sample(true_transition_matrix[:,prev_state,int(agent.action[0])])\n\n            if t > 0:\n                \n                # compute the predicted update to the action-conditioned slice of qB\n                predicted_update = agent.pB[0][:,:,int(agent.action[0])] + learning_rate_pB * maths.spm_cross(agent.qs_hist[-1][0], agent.qs_hist[-2][0])\n                qB = agent.update_B(qs_prev = agent.qs_hist[-2]) # update qB using the agent function\n\n                # check if the predicted update and the actual update are the same\n                self.assertTrue(np.allclose(predicted_update, qB[0][:,:,int(agent.action[0])]))\n    \n    def test_agent_with_D_learning_vanilla(self):\n        \"\"\"\n        Test updating prior Dirichlet parameters over initial hidden states (pD) with the ``Agent`` class,\n        in the case that you're using \"vanilla\" inference mode.\n        \"\"\"\n\n        num_obs = [2, 4]\n        num_states = [2, 3]\n        num_controls = [1, 1] # HMM mode\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n        pD = utils.dirichlet_like(utils.random_single_categorical(num_states))\n\n        # 1. Test that the updating works when `save_belief_hist` is True, and you don't need to pass in the beliefs about first hidden states\n        agent = Agent(A=A, B=B, pD = pD, inference_algo = \"VANILLA\", save_belief_hist=True)\n\n        T = 10\n\n        qs_history = []\n\n        for t in range(T):\n\n            # get some random hidden state distribution\n            p_states = utils.random_single_categorical(num_states)\n            observation = [utils.sample(maths.spm_dot(A_g, p_states)) for A_g in A]\n\n            qs_t = agent.infer_states(observation)\n\n            qs_history.append(qs_t)\n\n        pD_validation = learning.update_state_prior_dirichlet(agent.pD, qs_history[0], agent.lr_pD, factors = agent.factors_to_learn)\n\n        pD_test = agent.update_D()\n\n        for factor in range(len(num_states)):\n\n            self.assertTrue(np.allclose(pD_test[factor], pD_validation[factor]))\n        \n        # 2. Test that the updating works when `save_belief_hist` is False, and you do have to pass in the beliefs about first hidden states\n        agent = Agent(A=A, B=B, pD = pD, inference_algo = \"VANILLA\", save_belief_hist=False)\n\n        T = 10\n\n        qs_history = []\n\n        for t in range(T):\n\n            # get some random hidden state distribution\n            p_states = utils.random_single_categorical(num_states)\n            observation = [utils.sample(maths.spm_dot(A_g, p_states)) for A_g in A]\n\n            qs_t = agent.infer_states(observation)\n\n            qs_history.append(qs_t)\n\n        pD_validation = learning.update_state_prior_dirichlet(agent.pD, qs_history[0], agent.lr_pD, factors = agent.factors_to_learn)\n\n        pD_test = agent.update_D(qs_t0=qs_history[0])\n\n        for factor in range(len(num_states)):\n\n            self.assertTrue(np.allclose(pD_test[factor], pD_validation[factor]))\n        \n        # 3. Same as test #1, except with learning on only certain hidden state factors. Also passed in a different learning rate\n        agent = Agent(A=A, B=B, pD = pD, lr_pD = 2.0, inference_algo = \"VANILLA\", save_belief_hist=True, factors_to_learn= [0])\n\n        T = 10\n\n        qs_history = []\n\n        for t in range(T):\n\n            # get some random hidden state distribution\n            p_states = utils.random_single_categorical(num_states)\n            observation = [utils.sample(maths.spm_dot(A_g, p_states)) for A_g in A]\n\n            qs_t = agent.infer_states(observation)\n\n            qs_history.append(qs_t)\n\n        pD_validation = learning.update_state_prior_dirichlet(agent.pD, qs_history[0], agent.lr_pD, factors = agent.factors_to_learn)\n\n        pD_test = agent.update_D()\n\n        for factor in range(len(num_states)):\n\n            self.assertTrue(np.allclose(pD_test[factor], pD_validation[factor]))\n    \n    def test_agent_with_D_learning_MMP(self):\n        \"\"\"\n        Test updating prior Dirichlet parameters over initial hidden states (pD) with the agent class,\n        in the case that you're using MMP inference and various combinations of Bayesian model averaging at the edge of the inference horizon vs. other possibilities\n        \"\"\"\n\n        num_obs = [2]\n        num_states = [2, 3, 3]\n        num_controls = [2, 3, 1]\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n        pD = utils.dirichlet_like(utils.random_single_categorical(num_states))\n\n        # 1. Using Bayesian model average over hidden states at the edge of the inference horizon\n        agent = Agent(A=A, B=B, pD = pD, inference_algo = \"MMP\", use_BMA = True, policy_sep_prior = False, inference_horizon = 10, save_belief_hist = True)\n\n        T = 10\n\n        for t in range(T):\n\n            # get some random hidden state distribution\n            p_states = utils.random_single_categorical(num_states)\n            observation = [utils.sample(maths.spm_dot(A_g, p_states)) for A_g in A]\n\n            agent.infer_states(observation)\n            agent.infer_policies()\n            agent.sample_action()\n\n        qs_t0 = agent.latest_belief\n\n        pD_validation = learning.update_state_prior_dirichlet(pD, qs_t0, agent.lr_pD, factors = agent.factors_to_learn)\n\n        pD_test = agent.update_D()\n\n        for factor in range(len(num_states)):\n\n            self.assertTrue(np.allclose(pD_test[factor], pD_validation[factor]))\n\n        # 2. Using policy-conditioned prior over hidden states at the edge of the inference horizon\n        agent = Agent(A=A, B=B, pD = pD, inference_algo = \"MMP\", use_BMA = False, policy_sep_prior = True, inference_horizon = 10, save_belief_hist = True)\n\n        T = 10\n\n        q_pi_hist = []\n        for t in range(T):\n\n            # get some random hidden state distribution\n            p_states = utils.random_single_categorical(num_states)\n            observation = [utils.sample(maths.spm_dot(A_g, p_states)) for A_g in A]\n\n            qs_final = agent.infer_states(observation)\n            q_pi, _ = agent.infer_policies()\n            q_pi_hist.append(q_pi)\n            agent.sample_action()\n\n        # get beliefs about policies at the time at the beginning of the inference horizon\n        \n        qs_pi_t0 = utils.obj_array(len(agent.policies))\n        for p_i in range(len(qs_pi_t0)):\n            qs_pi_t0[p_i] = qs_final[p_i][0]\n\n        qs_t0 = inference.average_states_over_policies(qs_pi_t0,q_pi_hist[0]) # beliefs about hidden states at the first timestep of the inference horizon\n     \n        pD_validation = learning.update_state_prior_dirichlet(pD, qs_t0, agent.lr_pD, factors = agent.factors_to_learn)\n\n        pD_test = agent.update_D()\n\n        for factor in range(len(num_states)):\n\n            self.assertTrue(np.allclose(pD_test[factor], pD_validation[factor]))\n    \n    def test_agent_with_input_alpha(self):\n        \"\"\"\n        Test for passing in `alpha` (action sampling precision parameter) as argument to `agent.Agent()` constructor.\n        Test two cases to make sure alpha scaling is working properly, by comparing entropies of action marginals \n        after computing posterior over actions in cases where alpha is passed in as two different values to the Agent constructor.\n        \"\"\"\n\n        num_obs = [2]\n        num_states = [2]\n        num_controls = [2]\n        A = utils.to_obj_array(np.eye(num_obs[0], num_states[0]))\n        B = utils.construct_controllable_B(num_states, num_controls)\n        C = utils.to_obj_array(np.array([1.01, 1.0]))\n\n        agent = Agent(A=A, B=B, C=C, alpha = 16.0, action_selection = \"stochastic\")\n        agent.infer_states(([0]))\n        agent.infer_policies()\n        chosen_action, p_actions1 = agent._sample_action_test()\n\n        agent = Agent(A=A, B=B, C=C, alpha = 0.0, action_selection = \"stochastic\")\n        agent.infer_states(([0]))\n        agent.infer_policies()\n        chosen_action, p_actions2 = agent._sample_action_test()\n\n        entropy_p_actions1 = -maths.spm_log_single(p_actions1[0]).dot(p_actions1[0])\n        entropy_p_actions2 = -maths.spm_log_single(p_actions2[0]).dot(p_actions2[0])\n\n        self.assertGreater(entropy_p_actions2, entropy_p_actions1)\n    \n    def test_agent_with_sampling_mode(self):\n        \"\"\"\n        Test for passing in `sampling_mode` argument to `agent.Agent()` constructor, which determines whether you sample\n        from posterior marginal over actions (\"marginal\", default) or posterior over policies (\"full\")\n        \"\"\"\n\n        num_obs = [2]\n        num_states = [2]\n        num_controls = [2]\n        A = utils.to_obj_array(np.eye(num_obs[0], num_states[0]))\n        B = utils.construct_controllable_B(num_states, num_controls)\n        C = utils.to_obj_array(np.array([1.01, 1.0]))\n\n        agent = Agent(A=A, B=B, C=C, alpha = 16.0, sampling_mode = \"full\", action_selection = \"stochastic\")\n        agent.infer_states(([0]))\n        agent.infer_policies()\n        chosen_action, p_policies = agent._sample_action_test()\n        self.assertEqual(len(p_policies), len(agent.q_pi))\n\n        agent = Agent(A=A, B=B, C=C, alpha = 16.0, sampling_mode = \"full\", action_selection = \"deterministic\")\n        agent.infer_states(([0]))\n        agent.infer_policies()\n        chosen_action, p_policies = agent._sample_action_test()\n        self.assertEqual(len(p_policies), len(agent.q_pi))\n\n        agent = Agent(A=A, B=B, C=C, alpha = 16.0, sampling_mode = \"marginal\", action_selection = \"stochastic\")\n        agent.infer_states(([0]))\n        agent.infer_policies()\n        chosen_action, p_actions = agent._sample_action_test()\n        self.assertEqual(len(p_actions[0]), num_controls[0])\n\n    def test_agent_with_stochastic_action_unidimensional_control(self):\n        \"\"\"\n        Test stochastic action sampling in case that one of the control states is one-dimensional, within the agent\n        method `sample_action()`.\n        Due to a call to probabilities.squeeze() in an earlier version of utils.sample(), this was throwing an\n        error due to the inability to use np.random.multinomial on an array with undefined length (an 'unsized' array)\n        \"\"\"\n        \n        num_obs = [2]\n        num_states = [2, 2]\n        num_controls = [2, 1]\n\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        agent = Agent(A=A, B=B, action_selection = \"stochastic\")\n        agent.infer_policies()\n        chosen_action = agent.sample_action()\n        self.assertEqual(chosen_action[1], 0)\n\n        agent = Agent(A=A, B=B, action_selection = \"deterministic\")\n        agent.infer_policies()\n        chosen_action = agent.sample_action()\n        self.assertEqual(chosen_action[1], 0)\n    \n    def test_agent_distributional_obs(self):\n\n        ''' VANILLA method (fixed point iteration) with one hidden state factor and one observation modality '''\n        num_obs = [5]\n        num_states = [3]\n        num_controls = [1]\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        agent = Agent(A=A, B=B, inference_algo = \"VANILLA\")\n\n        p_o = utils.obj_array_zeros(num_obs) # use a distributional observation\n        # @NOTE: `utils.obj_array_from_list` will make a nested list of object arrays if you only put in a list with one vector!!! Makes me think we should remove utils.obj_array_from_list potentially\n        p_o[0] = A[0][:,0]\n        qs_out = agent.infer_states(p_o, distr_obs=True)\n\n        qs_validation = inference.update_posterior_states(A, p_o, prior=agent.D)\n\n        for f in range(len(num_states)):\n            self.assertTrue(np.isclose(qs_validation[f], qs_out[f]).all())\n\n        ''' VANILLA method (fixed point iteration) with multiple hidden state factors and multiple observation modalities '''\n        num_obs = [2, 4]\n        num_states = [2, 3]\n        num_controls = [2, 3]\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        agent = Agent(A=A, B=B, inference_algo = \"VANILLA\")\n\n        p_o = utils.obj_array_from_list([A[0][:,0,0], A[1][:,1,1]]) # use a distributional observation\n        qs_out = agent.infer_states(p_o, distr_obs=True)\n\n        qs_validation = inference.update_posterior_states(A, p_o, prior=agent.D)\n\n        for f in range(len(num_states)):\n            self.assertTrue(np.isclose(qs_validation[f], qs_out[f]).all())\n\n        ''' Marginal message passing inference with one hidden state factor and one observation modality '''\n        num_obs = [5]\n        num_states = [3]\n        num_controls = [1]\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        agent = Agent(A=A, B=B, inference_algo = \"MMP\")\n\n        p_o = utils.obj_array_zeros(num_obs) # use a distributional observation\n        # @NOTE: `utils.obj_array_from_list` will make a nested list of object arrays if you only put in a list with one vector!!! Makes me think we should remove utils.obj_array_from_list potentially\n        p_o[0] = A[0][:,0]\n        qs_pi_out = agent.infer_states(p_o, distr_obs=True)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len = 1)\n\n        qs_pi_validation, _ = inference.update_posterior_states_full(A, B, [p_o], policies, prior = agent.D, policy_sep_prior = False)\n\n        for p_idx in range(len(policies)):\n            for f in range(len(num_states)):\n                self.assertTrue(np.isclose(qs_pi_validation[p_idx][0][f], qs_pi_out[p_idx][0][f]).all())\n        \n        ''' Marginal message passing inference with multiple hidden state factors and multiple observation modalities '''\n        num_obs = [2, 4]\n        num_states = [2, 2]\n        num_controls = [2, 2]\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls) \n\n        planning_horizon = 3\n        backwards_horizon = 1\n        agent = Agent(A=A, B=B, inference_algo=\"MMP\", policy_len=planning_horizon, inference_horizon=backwards_horizon)\n        p_o = utils.obj_array_from_list([A[0][:,0,0], A[1][:,1,1]]) # use a distributional observation\n        qs_pi_out = agent.infer_states(p_o, distr_obs=True)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len = planning_horizon)\n\n        qs_pi_validation, _ = inference.update_posterior_states_full_factorized(A, agent.mb_dict, B, agent.B_factor_list, [p_o], policies, prior = agent.D, policy_sep_prior = False)\n\n        for p_idx in range(len(policies)):\n            for t in range(planning_horizon+backwards_horizon):\n                for f in range(len(num_states)):\n                    self.assertTrue(np.isclose(qs_pi_validation[p_idx][t][f], qs_pi_out[p_idx][t][f]).all())\n\n    def test_agent_with_factorized_inference(self):\n        \"\"\"\n        Test that an instance of the `Agent` class can be initialized with a provided `A_factor_list` and run the factorized inference algorithm. Validate\n        against an equivalent `Agent` whose `A` matrix represents the full set of (redundant) conditional dependence relationships.\n        \"\"\"\n\n        num_obs = [5, 4]\n        num_states = [2, 3]\n        num_controls = [2, 3]\n\n        A_factor_list = [ [0], [1] ]\n        A_reduced = utils.random_A_matrix(num_obs, num_states, A_factor_list)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        agent = Agent(A=A_reduced, B=B, A_factor_list=A_factor_list, inference_algo = \"VANILLA\")\n\n        obs = [np.random.randint(obs_dim) for obs_dim in num_obs]\n\n        qs_out = agent.infer_states(obs)\n\n        A_full = utils.initialize_empty_A(num_obs, num_states)\n        for m, A_m in enumerate(A_full):\n            other_factors = list(set(range(len(num_states))) - set(A_factor_list[m])) # list of the factors that modality `m` does not depend on\n\n            # broadcast or tile the reduced A matrix (`A_reduced`) along the dimensions of corresponding to `other_factors`\n            expanded_dims = [num_obs[m]] + [1 if f in other_factors else ns for (f, ns) in enumerate(num_states)]\n            tile_dims = [1] + [ns if f in other_factors else 1 for (f, ns) in enumerate(num_states)]\n            A_full[m] = np.tile(A_reduced[m].reshape(expanded_dims), tile_dims)\n        \n        agent = Agent(A=A_full, B=B, inference_algo = \"VANILLA\")\n        qs_validation = agent._infer_states_test(obs)\n\n        for qs_out_f, qs_val_f in zip(qs_out, qs_validation):\n            self.assertTrue(np.isclose(qs_out_f, qs_val_f).all())\n    \n    def test_agent_with_interactions_in_B(self):\n        \"\"\"\n        Test that an instance of the `Agent` class can be initialized with a provided `B_factor_list` and run a time loop of active inferece\n        \"\"\"\n\n        num_obs = [5, 4]\n        num_states = [2, 3]\n        num_controls = [2, 3]\n\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        agent_test = Agent(A=A, B=B, B_factor_list=[[0], [1]])\n        agent_val = Agent(A=A, B=B)\n\n        obs_seq = []\n        for t in range(5):\n            obs_seq.append([np.random.randint(obs_dim) for obs_dim in num_obs])\n        \n        for t in range(5):\n            qs_out = agent_test.infer_states(obs_seq[t])\n            qs_val = agent_val._infer_states_test(obs_seq[t])\n            for qs_out_f, qs_val_f in zip(qs_out, qs_val):\n                self.assertTrue(np.isclose(qs_out_f, qs_val_f).all())\n            \n            agent_test.infer_policies()\n            agent_val.infer_policies()\n\n            agent_test.sample_action()\n            agent_val.sample_action()\n    \n    def test_actinfloop_factorized(self):\n        \"\"\"\n        Test that an instance of the `Agent` class can be initialized and run\n        with the fully-factorized generative model functions (including policy inference)\n        \"\"\"\n\n        num_obs = [5, 4, 4]\n        num_states = [2, 3, 5]\n        num_controls = [2, 3, 2]\n\n        A_factor_list = [[0], [0, 1], [0, 1, 2]]\n        B_factor_list = [[0], [0, 1], [1, 2]]\n        A = utils.random_A_matrix(num_obs, num_states, A_factor_list=A_factor_list)\n        B = utils.random_B_matrix(num_states, num_controls, B_factor_list=B_factor_list)\n\n        agent = Agent(A=A, B=B, A_factor_list=A_factor_list, B_factor_list=B_factor_list, inference_algo=\"VANILLA\")\n\n        obs_seq = []\n        for t in range(5):\n            obs_seq.append([np.random.randint(obs_dim) for obs_dim in num_obs])\n        \n        for t in range(5):\n            agent.infer_states(obs_seq[t])\n            agent.infer_policies()\n            agent.sample_action()\n\n        \"\"\" Test to make sure it works even when generative model sparsity is not taken advantage of \"\"\"\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        agent = Agent(A=A, B=B, inference_algo=\"VANILLA\")\n\n        obs_seq = []\n        for t in range(5):\n            obs_seq.append([np.random.randint(obs_dim) for obs_dim in num_obs])\n        \n        for t in range(5):\n            agent.infer_states(obs_seq[t])\n            agent.infer_policies()\n            agent.sample_action()\n        \n        \"\"\" Test with pA and pB learning & information gain \"\"\"\n\n        num_obs = [5, 4, 4]\n        num_states = [2, 3, 5]\n        num_controls = [2, 3, 2]\n\n        A_factor_list = [[0], [0, 1], [0, 1, 2]]\n        B_factor_list = [[0], [0, 1], [1, 2]]\n        A = utils.random_A_matrix(num_obs, num_states, A_factor_list=A_factor_list)\n        B = utils.random_B_matrix(num_states, num_controls, B_factor_list=B_factor_list)\n        pA = utils.dirichlet_like(A)\n        pB = utils.dirichlet_like(B)\n\n        agent = Agent(A=A, pA=pA, B=B, pB=pB, save_belief_hist=True, use_param_info_gain=True, A_factor_list=A_factor_list, B_factor_list=B_factor_list, inference_algo=\"VANILLA\")\n\n        obs_seq = []\n        for t in range(5):\n            obs_seq.append([np.random.randint(obs_dim) for obs_dim in num_obs])\n        \n        for t in range(5):\n            agent.infer_states(obs_seq[t])\n            agent.infer_policies()\n            agent.sample_action()\n            agent.update_A(obs_seq[t])\n            if t > 0:\n                agent.update_B(qs_prev = agent.qs_hist[-2]) # need to have `save_belief_hist=True` for this to work\n\n\n        \n\n\n        \n\n\nif __name__ == \"__main__\":\n    unittest.main()\n\n    "
  },
  {
    "path": "test/test_agent_jax.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Unit Tests\n__author__: Dimitrije Markovic, Conor Heins\n\"\"\"\n\nimport unittest\nfrom functools import partial\n\nimport numpy as np\nfrom jax import numpy as jnp, random as jr\nfrom jax import vmap, nn, jit, grad\nimport jax.tree_util as jtu\nimport math as pymath\n\nfrom pymdp import utils\nfrom pymdp import control, inference, learning\nfrom pymdp.agent import Agent\nfrom pymdp.maths import compute_log_likelihood_single_modality, log_stable\nfrom equinox import Module, EquinoxRuntimeError\n\nclass TestAgentJax(unittest.TestCase):\n\n    def test_no_desired_batch_no_batched_input_construction(self):\n        \"\"\"\n        Tests for the case where the user wants no batch size, and they pass in tensors with no batch size\n        \"\"\"\n\n        a_key, b_key = jr.split(jr.PRNGKey(1), 2)\n\n        num_obs = [2, 3, 4]\n        num_states = [4, 5, 2]\n        num_controls = [2, 3, 1]\n\n        A_dependencies = [[0], [0, 1], [0, 1, 2]]\n        B_dependencies = [[0], [0, 1], [1, 2]]\n\n        A = utils.random_A_array(a_key, num_obs, num_states, A_dependencies=A_dependencies)\n        B = utils.random_B_array(b_key, num_states, num_controls, B_dependencies=B_dependencies)\n\n        agent = Agent(\n            A, B, \n            A_dependencies=A_dependencies, \n            B_dependencies=B_dependencies, \n            num_controls=num_controls,\n        )\n\n        for m in range(len(num_obs)):\n            num_states_m = tuple([num_states[f] for f in A_dependencies[m]])\n            self.assertTrue(agent.A[m].shape == (1, num_obs[m]) + num_states_m)\n            self.assertTrue(agent.C[m].shape == (1, num_obs[m]))\n\n        for f in range(len(num_states)):\n            num_states_f = tuple([num_states[f] for f in B_dependencies[f]])\n            self.assertTrue(agent.B[f].shape == (1, num_states[f]) + num_states_f + (num_controls[f],))\n            self.assertTrue(agent.D[f].shape == (1, num_states[f]))\n        \n        self.assertTrue(agent.num_obs == num_obs)\n        self.assertTrue(agent.num_states == num_states)\n        self.assertTrue(agent.num_controls == num_controls)\n        \n        # Test the version with complex action dependencies\n        num_obs = [2, 3]\n        num_states = [4, 5, 2]\n        num_controls = [2, 3, 2]\n        A_dependencies = [[0, 1], [1]]\n        B_dependencies = [[0], [0, 1, 2], [2]]\n        B_action_dependencies = [[], [0, 1], [0, 2]]\n\n        A = utils.random_A_array(a_key, num_obs, num_states, A_dependencies=A_dependencies)\n        B = utils.random_B_array(b_key, num_states, num_controls, B_dependencies=B_dependencies, B_action_dependencies=B_action_dependencies    )\n\n        agent = Agent(\n            A, B, \n            A_dependencies=A_dependencies, \n            B_dependencies=B_dependencies, \n            B_action_dependencies=B_action_dependencies,\n            num_controls=num_controls,\n            sampling_mode=\"full\",\n        )\n\n        self.assertTrue(agent.num_obs == num_obs)\n        self.assertTrue(agent.num_states == num_states)\n\n        for m in range(len(num_obs)):\n            num_states_m = tuple([num_states[f] for f in A_dependencies[m]])\n            self.assertTrue(agent.A[m].shape == (1, num_obs[m]) + num_states_m)\n            self.assertTrue(agent.C[m].shape == (1, num_obs[m]))\n\n        num_controls_flattened = []\n        for f,action_dependency in enumerate(B_action_dependencies):\n            if action_dependency == []:\n                num_controls_f_flattened = 1\n            else:\n                num_controls_f_flattened = pymath.prod([num_controls[d] for d in action_dependency])\n\n            num_controls_flattened.append(num_controls_f_flattened)\n            num_states_f = tuple([num_states[f] for f in B_dependencies[f]])\n            self.assertTrue(agent.B[f].shape == (1, num_states[f]) + num_states_f + (num_controls_f_flattened,))\n            self.assertTrue(agent.D[f].shape == (1, num_states[f]))\n        self.assertTrue(agent.num_controls == num_controls_flattened)\n\n            \n    def test_desired_batch_no_batched_input_construction(self):\n        \"\"\"\n        Tests for the case where the user wants > 1 batch size, and they pass in tensors with no batch size\n        \"\"\"\n        num_obs = [2, 3, 4]\n        num_states = [4, 5, 2]\n        num_controls = [2, 3, 1]\n        desired_batch_size = 3\n\n        a_key, b_key = jr.split(jr.PRNGKey(2), 2)\n    \n        A_dependencies = [[0], [0, 1], [0, 1, 2]]\n        B_dependencies = [[0], [0, 1], [1, 2]]\n\n        A = utils.random_A_array(a_key, num_obs, num_states, A_dependencies=A_dependencies)\n        B = utils.random_B_array(b_key, num_states, num_controls, B_dependencies=B_dependencies, B_action_dependencies=None)\n\n        agent = Agent(\n            A, B, \n            A_dependencies=A_dependencies, \n            B_dependencies=B_dependencies, \n            num_controls=num_controls,\n            batch_size=desired_batch_size,\n        )\n\n        for m in range(len(num_obs)):\n            num_states_m = tuple([num_states[f] for f in A_dependencies[m]])\n            self.assertTrue(agent.A[m].shape == (desired_batch_size, num_obs[m]) + num_states_m)\n            self.assertTrue(agent.C[m].shape == (desired_batch_size, num_obs[m]))\n\n        for f in range(len(num_states)):\n            num_states_f = tuple([num_states[f] for f in B_dependencies[f]])\n            self.assertTrue(agent.B[f].shape == (desired_batch_size, num_states[f]) + num_states_f + (num_controls[f],))\n            self.assertTrue(agent.D[f].shape == (desired_batch_size, num_states[f]))\n        \n        self.assertTrue(agent.num_obs == num_obs)\n        self.assertTrue(agent.num_states == num_states)\n        self.assertTrue(agent.num_controls == num_controls)\n\n        # Test the version with complex action dependencies\n        num_obs = [2, 3]\n        num_states = [4, 5, 2]\n        num_controls = [2, 3, 2]\n        A_dependencies = [[0, 1], [1]]\n        B_dependencies = [[0], [0, 1, 2], [2]]\n        B_action_dependencies = [[], [0, 1], [0, 2]]\n        desired_batch_size = 3\n\n        \n        A = utils.random_A_array(a_key, num_obs, num_states, A_dependencies=A_dependencies)\n        B = utils.random_B_array(b_key, num_states, num_controls, B_dependencies=B_dependencies, B_action_dependencies=B_action_dependencies)\n\n        agent = Agent(\n            A, B, \n            A_dependencies=A_dependencies, \n            B_dependencies=B_dependencies, \n            B_action_dependencies=B_action_dependencies,\n            num_controls=num_controls,\n            sampling_mode=\"full\",\n            batch_size=desired_batch_size,\n        )\n\n        self.assertTrue(agent.num_obs == num_obs)\n        self.assertTrue(agent.num_states == num_states)\n\n        for m in range(len(num_obs)):\n            num_states_m = tuple([num_states[f] for f in A_dependencies[m]])\n            self.assertTrue(agent.A[m].shape == (desired_batch_size, num_obs[m]) + num_states_m)\n            self.assertTrue(agent.C[m].shape == (desired_batch_size, num_obs[m]))\n\n        num_controls_flattened = []\n        for f,action_dependency in enumerate(B_action_dependencies):\n            if action_dependency == []:\n                num_controls_f_flattened = 1\n            else:\n                num_controls_f_flattened = pymath.prod([num_controls[d] for d in action_dependency])\n\n            num_controls_flattened.append(num_controls_f_flattened)\n            num_states_f = tuple([num_states[f] for f in B_dependencies[f]])\n            self.assertTrue(agent.B[f].shape == (desired_batch_size, num_states[f]) + num_states_f + (num_controls_f_flattened,))\n            self.assertTrue(agent.D[f].shape == (desired_batch_size, num_states[f]))\n        self.assertTrue(agent.num_controls == num_controls_flattened)\n\n    def test_desired_batch_and_batched_input_construction(self):\n        \"\"\"\n        Tests for the case where the user wants >= 1 batch size, and they pass in tensors with that correct >= 1 batch size\n        \"\"\"\n        num_obs = [2, 3, 4]\n        num_states = [4, 5, 2]\n        num_controls = [2, 3, 1]\n\n        a_key, b_key = jr.split(jr.PRNGKey(3), 2)\n\n        A_dependencies = [[0], [0, 1], [0, 1, 2]]\n        B_dependencies = [[0], [0, 1], [1, 2]]\n\n        A_single = utils.random_A_array(a_key, num_obs, num_states, A_dependencies=A_dependencies)\n        B_single = utils.random_B_array(b_key, num_states, num_controls, B_dependencies=B_dependencies, B_action_dependencies=None)\n        A = [a[None,...] for a in A_single]\n        B = [b[None,...] for b in B_single]\n\n        agent = Agent(\n            A, B, \n            A_dependencies=A_dependencies, \n            B_dependencies=B_dependencies, \n            num_controls=num_controls,\n            batch_size=1,\n        )\n\n        for m in range(len(num_obs)):\n            num_states_m = tuple([num_states[f] for f in A_dependencies[m]])\n            self.assertTrue(agent.A[m].shape == (1,) + (num_obs[m],) + num_states_m)\n            self.assertTrue(agent.C[m].shape == (1,) + (num_obs[m],))\n\n        for f in range(len(num_states)):\n            num_states_f = tuple([num_states[f] for f in B_dependencies[f]])\n            self.assertTrue(agent.B[f].shape == (1,) + (num_states[f],) + num_states_f + (num_controls[f],))\n            self.assertTrue(agent.D[f].shape == (1,) + (num_states[f],))\n        \n        self.assertTrue(agent.num_obs == num_obs)\n        self.assertTrue(agent.num_states == num_states)\n        self.assertTrue(agent.num_controls == num_controls)\n        \n        desired_batch_size = 3\n        A = [jnp.broadcast_to(a, (desired_batch_size,) + a.shape) for a in A_single]\n        B = [jnp.broadcast_to(b, (desired_batch_size,) + b.shape) for b in B_single]\n        agent = Agent(\n            A, B, \n            A_dependencies=A_dependencies, \n            B_dependencies=B_dependencies, \n            num_controls=num_controls,\n            batch_size=desired_batch_size,\n        )\n\n        for m in range(len(num_obs)):\n            num_states_m = tuple([num_states[f] for f in A_dependencies[m]])\n            self.assertTrue(agent.A[m].shape == (desired_batch_size,) + (num_obs[m],) + num_states_m)\n            self.assertTrue(agent.C[m].shape == (desired_batch_size,) + (num_obs[m],))\n\n        for f in range(len(num_states)):\n            num_states_f = tuple([num_states[f] for f in B_dependencies[f]])\n            self.assertTrue(agent.B[f].shape == (desired_batch_size,) + (num_states[f],) + num_states_f + (num_controls[f],))\n            self.assertTrue(agent.D[f].shape == (desired_batch_size,) + (num_states[f],))\n        \n        self.assertTrue(agent.num_obs == num_obs)\n        self.assertTrue(agent.num_states == num_states)\n        self.assertTrue(agent.num_controls == num_controls)\n\n\n        ### Now test the version with complex action dependencies\n        num_obs = [2, 3]\n        num_states = [4, 5, 2]\n        num_controls = [2, 3, 2]\n        A_dependencies = [[0, 1], [1]]\n        B_dependencies = [[0], [0, 1, 2], [2]]\n        B_action_dependencies = [[], [0, 1], [0, 2]]\n\n        A_single = utils.random_A_array(a_key, num_obs, num_states, A_dependencies=A_dependencies)\n        B_single = utils.random_B_array(b_key, num_states, num_controls, B_dependencies=B_dependencies, B_action_dependencies=B_action_dependencies)\n        A = [a[None,...] for a in A_single]\n        B = [b[None,...] for b in B_single]\n\n        agent = Agent(\n            A, B, \n            A_dependencies=A_dependencies, \n            B_dependencies=B_dependencies, \n            B_action_dependencies=B_action_dependencies,\n            num_controls=num_controls,\n            sampling_mode=\"full\",\n            batch_size=1,\n        )\n\n        self.assertTrue(agent.num_obs == num_obs)\n        self.assertTrue(agent.num_states == num_states)\n\n        for m in range(len(num_obs)):\n            num_states_m = tuple([num_states[f] for f in A_dependencies[m]])\n            self.assertTrue(agent.A[m].shape == (1, num_obs[m]) + num_states_m)\n            self.assertTrue(agent.C[m].shape == (1, num_obs[m]))\n\n        num_controls_flattened = []\n        for f,action_dependency in enumerate(B_action_dependencies):\n            if action_dependency == []:\n                num_controls_f_flattened = 1\n            else:\n                num_controls_f_flattened = pymath.prod([num_controls[d] for d in action_dependency])\n\n            num_controls_flattened.append(num_controls_f_flattened)\n            num_states_f = tuple([num_states[f] for f in B_dependencies[f]])\n            self.assertTrue(agent.B[f].shape == (1, num_states[f]) + num_states_f + (num_controls_f_flattened,))\n            self.assertTrue(agent.D[f].shape == (1, num_states[f]))\n        self.assertTrue(agent.num_controls == num_controls_flattened)\n\n        desired_batch_size = 3\n        A = [jnp.broadcast_to(a, (desired_batch_size,) + a.shape) for a in A_single]\n        B = [jnp.broadcast_to(b, (desired_batch_size,) + b.shape) for b in B_single]\n\n        agent = Agent(\n            A, B, \n            A_dependencies=A_dependencies, \n            B_dependencies=B_dependencies, \n            B_action_dependencies=B_action_dependencies,\n            num_controls=num_controls,\n            sampling_mode=\"full\",\n            batch_size=desired_batch_size,\n        )\n\n        self.assertTrue(agent.num_obs == num_obs)\n        self.assertTrue(agent.num_states == num_states)\n\n        for m in range(len(num_obs)):\n            num_states_m = tuple([num_states[f] for f in A_dependencies[m]])\n            self.assertTrue(agent.A[m].shape == (desired_batch_size, num_obs[m]) + num_states_m)\n            self.assertTrue(agent.C[m].shape == (desired_batch_size, num_obs[m]))\n\n        num_controls_flattened = []\n        for f,action_dependency in enumerate(B_action_dependencies):\n            if action_dependency == []:\n                num_controls_f_flattened = 1\n            else:\n                num_controls_f_flattened = pymath.prod([num_controls[d] for d in action_dependency])\n\n            num_controls_flattened.append(num_controls_f_flattened)\n            num_states_f = tuple([num_states[f] for f in B_dependencies[f]])\n            self.assertTrue(agent.B[f].shape == (desired_batch_size, num_states[f]) + num_states_f + (num_controls_f_flattened,))\n            self.assertTrue(agent.D[f].shape == (desired_batch_size, num_states[f]))\n        self.assertTrue(agent.num_controls == num_controls_flattened)\n\n\n    def test_vmappable_agent_methods(self):\n\n        dim, N = 5, 10\n        sampling_key = jr.PRNGKey(4)\n\n        class BasicAgent(Module):\n            A: jnp.ndarray\n            B: jnp.ndarray \n            qs: jnp.ndarray\n\n            def __init__(self, A, B, qs=None):\n                self.A = A\n                self.B = B\n                self.qs = jnp.ones((N, dim))/dim if qs is None else qs\n            \n            @vmap\n            def infer_states(self, obs):\n                qs = nn.softmax(compute_log_likelihood_single_modality(obs, self.A))\n                return qs, BasicAgent(self.A, self.B, qs=qs)\n\n        A_key, B_key, obs_key, test_key = jr.split(sampling_key, 4)\n\n        all_A = vmap(utils.norm_dist)(jr.uniform(A_key, shape = (N, dim, dim)))\n        all_B = vmap(utils.norm_dist)(jr.uniform(B_key, shape = (N, dim, dim)))\n        all_obs = vmap(nn.one_hot, (0, None))(jr.choice(obs_key, dim, shape = (N,)), dim)\n\n        my_agent = BasicAgent(all_A, all_B)\n\n        all_qs, my_agent = my_agent.infer_states(all_obs)\n\n        assert all_qs.shape == my_agent.qs.shape\n        self.assertTrue(jnp.allclose(all_qs, my_agent.qs))\n\n        # validate that the method broadcasted properly\n        for id_to_check in range(N):\n            validation_qs = nn.softmax(compute_log_likelihood_single_modality(all_obs[id_to_check], all_A[id_to_check]))\n            self.assertTrue(jnp.allclose(validation_qs, all_qs[id_to_check]))\n\n    def test_agent_complex_action(self):\n        \"\"\"\n        Test that an instance of the `Agent` class can be initialized and run with complex action dependency\n        \"\"\"\n        num_obs = [3, 3, 2]\n        num_states = [2, 2, 1]\n        num_controls = [2, 2, 2]\n\n        a_key, b_key, action_key, obs_key = jr.split(jr.PRNGKey(5), 4)\n\n        A_dependencies = [[0], [0, 1], [0, 1, 2]]\n        B_dependencies = [[0], [0, 1], [1, 2]]\n        B_action_dependencies = [[], [0, 1], [0, 2]]\n        A = utils.random_A_array(a_key, num_obs, num_states, A_dependencies=A_dependencies)\n        B = utils.random_B_array(b_key, num_states, num_controls, B_dependencies=B_dependencies, B_action_dependencies=B_action_dependencies)\n        \n        agent = Agent(\n            A, B, \n            A_dependencies=A_dependencies, \n            B_dependencies=B_dependencies, \n            B_action_dependencies=B_action_dependencies,\n            num_controls=num_controls,\n            sampling_mode=\"full\",\n        )\n\n        # dummy history\n        action = agent.policies[jr.randint(action_key, shape=(), minval=0, maxval=agent.policies.num_policies)]\n        observation = [jr.randint(obs_key, shape=(1, 1), minval=0, maxval=d) for d in agent.num_obs]\n        qs_hist = jtu.tree_map(lambda x: jnp.expand_dims(x, 0), agent.D)\n\n        prior = agent.update_empirical_prior(action, qs_hist)\n        qs = agent.infer_states(observation, prior)\n\n        q_pi, neg_efe = agent.infer_policies(qs)\n        action = agent.sample_action(q_pi)\n        action_multi = agent.decode_multi_actions(action)\n        action_reconstruct = agent.encode_multi_actions(action_multi)\n        \n        self.assertTrue(action_multi.shape[-1] == len(agent.num_controls))\n        self.assertTrue(jnp.allclose(action, action_reconstruct))\n\n        @jit\n        def construct_and_run_agent(a_key, b_key, obs_key, action_key):\n            \"\"\"\n            Test that an instance of the `Agent` class can be initialized and run with complex action dependency\n            num_obs = [3, 3, 2]\n            num_states = [2, 2, 1]\n            num_controls = [2, 2, 2]\n            \"\"\"\n\n            A = utils.random_A_array(a_key, num_obs, num_states, A_dependencies=A_dependencies)\n            B = utils.random_B_array(b_key, num_states, num_controls, B_dependencies=B_dependencies, B_action_dependencies=B_action_dependencies)\n\n            agent = Agent(\n                A, B,\n                A_dependencies=A_dependencies,\n                B_dependencies=B_dependencies,\n                B_action_dependencies=B_action_dependencies,\n                num_controls=num_controls,\n                sampling_mode=\"full\",\n            )\n\n            # dummy history\n            action = agent.policies.policy_arr[jr.randint(action_key, shape=(), minval=0, maxval=agent.policies.num_policies)]\n            observation = [jr.randint(obs_key, shape=(1, 1), minval=0, maxval=d) for d in agent.num_obs]\n            qs_hist = jtu.tree_map(lambda x: jnp.expand_dims(x, 0), agent.D)\n\n            prior = agent.update_empirical_prior(action, qs_hist)\n            qs = agent.infer_states(observation, prior)\n\n            q_pi, neg_efe = agent.infer_policies(qs)\n            action = agent.sample_action(q_pi)\n            action_multi = agent.decode_multi_actions(action)\n            action_reconstruct = agent.encode_multi_actions(action_multi)\n\n            return action, action_multi, action_reconstruct, agent\n\n        action, action_multi, action_reconstruct, agent = construct_and_run_agent(a_key, b_key, obs_key, action_key)\n        self.assertTrue(jnp.allclose(action, action_reconstruct))\n\n    def test_infer_policies_neg_efe_sign_convention(self):\n        \"\"\"Policy posterior should be computed from neg_efe (= -EFE).\"\"\"\n\n        key_a, key_b = jr.split(jr.PRNGKey(112), 2)\n        num_obs = [3]\n        num_states = [3]\n        num_controls = [3]\n\n        A = utils.random_A_array(key_a, num_obs, num_states)\n        B = utils.random_B_array(key_b, num_states, num_controls)\n        C = [jnp.array([0.3, -0.2, 0.1])]\n\n        agent = Agent(A=A, B=B, C=C, policy_len=2)\n        obs = [jnp.array([[1]])]\n        qs = agent.infer_states(obs, empirical_prior=agent.D)\n\n        q_pi, neg_efe = agent.infer_policies(qs)\n\n        logits_neg_efe = agent.gamma[..., None] * neg_efe + log_stable(agent.E)\n        q_pi_from_neg_efe = nn.softmax(logits_neg_efe, axis=-1)\n\n        efe = -neg_efe\n        logits_efe = -agent.gamma[..., None] * efe + log_stable(agent.E)\n        q_pi_from_efe = nn.softmax(logits_efe, axis=-1)\n\n        self.assertTrue(jnp.allclose(q_pi, q_pi_from_neg_efe, atol=1e-6))\n        self.assertTrue(jnp.allclose(q_pi, q_pi_from_efe, atol=1e-6))\n    \n    def test_agent_validate_normalization_ok(self):\n        \"\"\"\n        Agent should construct without errors when A and B are normalized\n        \"\"\"\n        num_obs = [3, 4]\n        num_states = [4, 5]\n        num_controls = [1, 2]\n\n        a_key, b_key = jr.split(jr.PRNGKey(6), 2)\n\n        A_dependencies = [[0, 1], [0, 1]]\n        B_deps = [[0], [1]]\n\n        A = utils.random_A_array(a_key, num_obs, num_states, A_dependencies=A_dependencies)\n        B = utils.random_B_array(b_key, num_states, num_controls, B_dependencies=B_deps, B_action_dependencies=None)\n\n        # Should not raise; Agent.__init__ calls self._validate() which calls validate_normalization\n        _ = Agent(A, B, A_dependencies=A_dependencies, B_dependencies=B_deps, num_controls=num_controls)\n\n        # also in presence of Dirichlet priors\n        pA = utils.list_array_scaled(jtu.tree_map(lambda x: x.shape, A), scale=10.0)  # uniform Dirichlet priors\n        pB = [10.0 * b for b in B]\n             \n        # Should not raise; Agent.__init__ calls self._validate() which calls validate_normalization\n        _ = Agent(A, B, A_dependencies=A_dependencies, B_dependencies=B_deps, num_controls=num_controls, pA=pA, pB=pB) \n\n    def test_agent_validate_normalization_raises_on_bad_A(self):\n        \"\"\"\n        If A is not normalized along its observation axis (axis=1 after broadcasting),\n        Agent construction should raise a ValueError via validate_normalization\n        \"\"\"\n        num_obs = [3, 4]\n        num_states = [4, 5]\n        num_controls = [1, 2]\n\n        a_key, b_key = jr.split(jr.PRNGKey(7), 2)\n\n        A_dependencies = [[0, 1], [0, 1]]\n        B_dependencies = [[0], [1]]\n\n        A_bad = utils.random_A_array(a_key, num_obs, num_states, A_dependencies=A_dependencies)\n        B = utils.random_B_array(b_key, num_states, num_controls, B_dependencies=B_dependencies, B_action_dependencies=None)\n        # Corrupt A[0]: add to one categorical distribution so sums != 1 along axis=1\n        A_bad[0] = A_bad[0].at[:,0,1].add(0.05)  # preserves shape, breaks normalization on axis=1\n\n        with self.assertRaisesRegex((EquinoxRuntimeError, ValueError),\n                             r\"properly normalised and sum to 1\"):\n            _ = Agent(A_bad, B, A_dependencies=A_dependencies, B_dependencies=B_dependencies, num_controls=num_controls)\n        \n        # also raises in presence of Dirichlet priors\n        pA = [(10.0 * a + 1.0) for a in A_bad]  # uniform Dirichlet priors\n        pB = [(10.0 * b) for b in B]\n        with self.assertRaisesRegex((EquinoxRuntimeError, ValueError),\n                             r\"properly normalised and sum to 1\"):\n            _ = Agent(A_bad, B, A_dependencies=A_dependencies, B_dependencies=B_dependencies, num_controls=num_controls, pA=pA, pB=pB)\n\n    def test_agent_validate_normalization_raises_on_bad_B(self):\n        \"\"\"\n        If B is zero-filled (or otherwise unnormalized) along its state axis (axis=1 after broadcasting),\n        Agent construction should raise a ValueError via validate_normalization\n        \"\"\"\n        num_obs = [3, 4]\n        num_states = [4, 5]\n        num_controls = [2, 2]\n\n        a_key, b_key = jr.split(jr.PRNGKey(7), 2)\n\n        A_dependencies = [[0, 1], [0, 1]]\n        B_dependencies = [[0], [1]]\n\n        A = utils.random_A_array(a_key, num_obs, num_states, A_dependencies=A_dependencies)\n        B_bad = utils.random_B_array(b_key, num_states, num_controls, B_dependencies=B_dependencies, B_action_dependencies=None)\n        # Corrupt B[0]: make it zero so sums == 0 along axis=1\n        B_bad[0] = B_bad[0].at[:,0,1].set(0.0) # preserves shape, breaks normalization on axis=1\n\n        with self.assertRaisesRegex((EquinoxRuntimeError, ValueError),\n                        r\"sum to zero\"):\n            _ = Agent(A, B_bad, A_dependencies=A_dependencies, B_dependencies=B_dependencies, num_controls=num_controls)\n        \n        # also raises in presence of Dirichlet priors\n        pA = [10.0 * a for a in A]  # uniform Dirichlet priors\n        pB = [(10.0 * b + 1) for b in B_bad]\n        with self.assertRaisesRegex((EquinoxRuntimeError, ValueError),\n                        r\"sum to zero\"):\n            _ = Agent(A, B_bad, A_dependencies=A_dependencies, B_dependencies=B_dependencies, num_controls=num_controls, pA=pA, pB=pB)\n\n    def test_agent_with_A_learning_requires_pA(self):\n        \"\"\"Test that creating an agent with learn_A=True \n        but no pA raises an AssertionError.\"\"\"\n        \n        num_obs = [1]\n        num_states = [1] \n        num_controls = [1]\n\n        a_key, b_key = jr.split(jr.PRNGKey(8), 2)\n        A = utils.random_A_array(a_key, num_obs, num_states)\n        B = utils.random_B_array(b_key, num_states, num_controls)\n\n        with self.assertRaises(AssertionError):\n            Agent(A=A, B=B, learn_A=True)\n\n    def test_agent_construction_jittable(self):\n        \"\"\"\n        Test that the constructor call of the Agent class is jittable\n        \"\"\"\n        num_obs = [2, 3]\n        num_states = [3, 4, 4]\n        num_controls = [2, 2, 1]\n        A_dependencies = [[0], [0, 1, 2]]\n        B_dependencies = [[0], [1], [2]]\n        batch_size = 1\n\n        a_key, b_key, d_key = jr.split(jr.PRNGKey(123), 3)\n\n        A = utils.random_A_array(\n            a_key, num_obs, num_states, A_dependencies=A_dependencies\n        )\n        B = utils.random_B_array(\n            b_key, num_states, num_controls, B_dependencies=B_dependencies\n        )\n        pA = utils.list_array_scaled(jtu.tree_map(lambda x: x.shape, A), scale=1.0)\n        pB = utils.list_array_scaled(jtu.tree_map(lambda x: x.shape, B), scale=1.0)\n        D = utils.random_factorized_categorical(d_key, num_states)\n\n        def _broadcast(arr_list):\n            return [\n                jnp.broadcast_to(jnp.array(arr), (batch_size,) + arr.shape)\n                for arr in arr_list\n            ]\n\n        A_batched = _broadcast(A)\n        B_batched = _broadcast(B)\n        pA_batched = _broadcast(pA)\n        pB_batched = _broadcast(pB)\n        D_batched = _broadcast(D)\n\n        def construct_agent(A, B, pA, pB, D):\n            \"\"\" Constructs simple wrapping function that just builds an Agent \"\"\"\n\n            agent = Agent(\n                A,\n                B,\n                D=D,\n                A_dependencies=A_dependencies,\n                B_dependencies=B_dependencies,\n                num_controls=num_controls,\n                batch_size=batch_size,\n                learn_A=True,\n                learn_B=True,\n                pA=pA,\n                pB=pB,\n            )\n\n            return agent\n        \n        # write a unit test that the Agent constructor is jittable\n        jitted_constructor = jit(construct_agent)\n        agent_instance = jitted_constructor(\n            A_batched, B_batched, pA_batched, pB_batched, D_batched\n        )\n        self.assertIsInstance(agent_instance, Agent)\n    \n    def test_b_learning_updates_inductive_matrix(self):\n        \"\"\"\n        Ensure the inductive I matrices are recomputed after B-learning when inductive inference is enabled.\n        \"\"\"\n        num_obs = [2]\n        num_states = [2]\n        num_controls = [2]\n        A_dependencies = [[0]]\n        B_dependencies = [[0]]\n        batch_size = 1\n        inductive_depth = 3\n\n        a_key, b_key, d_key = jr.split(jr.PRNGKey(777), 3)\n        A = utils.random_A_array(a_key, num_obs, num_states, A_dependencies=A_dependencies)\n        B = utils.random_B_array(b_key, num_states, num_controls, B_dependencies=B_dependencies)\n        D = utils.random_factorized_categorical(d_key, num_states)\n        H = [jnp.array([1.0, 0.0])]\n        pB = [jnp.ones_like(b) for b in B]\n\n        agent = Agent(\n            A,\n            B,\n            D=D,\n            H=H,\n            pB=pB,\n            A_dependencies=A_dependencies,\n            B_dependencies=B_dependencies,\n            num_controls=num_controls,\n            batch_size=batch_size,\n            learn_B=True,\n            use_inductive=True,\n            inductive_depth=inductive_depth,\n            inductive_threshold=0.1,\n        )\n\n        beliefs = [jnp.array([[[0.7, 0.3], [0.2, 0.8]]], dtype=jnp.float32)]\n        dummy_observations = [jnp.zeros((batch_size,), dtype=jnp.int32)]\n        actions = jnp.array([[[1]]], dtype=jnp.int32)\n\n        agent = agent.infer_parameters(\n            beliefs,\n            dummy_observations,\n            actions,\n        )\n\n        expected_I = vmap(partial(control.generate_I_matrix, depth=agent.inductive_depth))(\n            agent.H,\n            agent.B,\n            agent.inductive_threshold,\n        )\n\n        for f in range(agent.num_factors):\n            self.assertTrue(jnp.array_equal(agent.I[f], expected_I[f]))\n\n    def test_valid_gradients_one_step_ahead(self):\n        \"\"\"\n        This unit test checks that gradients can be computed through a single time step of\n        active inference, including construction of the agent, state inference, policy inference,\n        and computation of multi-action log-probabilities.\n        \"\"\"\n\n        num_obs = [2, 3]\n        num_states = [3, 4, 4]\n        num_controls = [2, 2, 1]\n        A_dependencies = [[0], [0, 1, 2]]\n        B_dependencies = [[0], [1], [2]]\n        batch_size = 1\n\n        a_key, b_key, d_key = jr.split(jr.PRNGKey(123), 3)\n\n        A = utils.random_A_array(\n            a_key, num_obs, num_states, A_dependencies=A_dependencies\n        )\n        B = utils.random_B_array(\n            b_key, num_states, num_controls, B_dependencies=B_dependencies\n        )\n        pA = utils.list_array_scaled(jtu.tree_map(lambda x: x.shape, A), scale=1.0)\n        pB = utils.list_array_scaled(jtu.tree_map(lambda x: x.shape, B), scale=1.0)\n        D = utils.random_factorized_categorical(d_key, num_states)\n\n        def _broadcast(arr_list):\n            return [\n                jnp.broadcast_to(jnp.array(arr), (batch_size,) + arr.shape)\n                for arr in arr_list\n            ]\n\n        A_batched = _broadcast(A)\n        B_batched = _broadcast(B)\n        pA_batched = _broadcast(pA)\n        pB_batched = _broadcast(pB)\n        D_batched = _broadcast(D)\n\n        def construct_agent(A, B, pA, pB, D, inference_algo=\"fpi\"):\n            \"\"\" Constructs simple wrapping function that just builds an Agent \"\"\"\n\n            agent = Agent(\n                A,\n                B,\n                D=D,\n                A_dependencies=A_dependencies,\n                B_dependencies=B_dependencies,\n                num_controls=num_controls,\n                batch_size=batch_size,\n                learn_A=True,\n                learn_B=False,\n                pA=pA,\n                pB=pB,\n                inference_algo=inference_algo,\n            )\n\n            return agent\n        \n        modality_keys = jr.split(jr.PRNGKey(0), len(num_obs))\n        observations = [jr.randint(k, shape=(batch_size,), minval=0, maxval=d)[...,None] for d, k in zip(num_obs, modality_keys)]   \n\n        def one_step_active_inference(A, B, pA, pB, D, inference_algo=\"fpi\"):\n            \"\"\"\n            Constructs an agent and runs a single step of active inference,\n            returning the log-probabilities of multi-actions.\n            \"\"\"\n\n            # construct agent\n            agent = construct_agent(A, B, pA, pB, D, inference_algo=inference_algo)\n\n            # infer states\n            qs = agent.infer_states(observations, empirical_prior=D)\n\n            # infer policies\n            q_pi, neg_efe = agent.infer_policies(qs)\n\n            # compute multi-action log-probabilities\n            multiaction_probs = agent.multiaction_probabilities(q_pi)\n\n            return log_stable(multiaction_probs).sum()\n        \n        gradients_wrt_params = grad(one_step_active_inference, argnums=(0,1,2,3,4))(\n            A_batched, B_batched, pA_batched, pB_batched, D_batched, inference_algo=\"fpi\"\n        )\n        self.assertTrue(all(jtu.tree_map(lambda x: ~jnp.any(jnp.isnan(x)), gradients_wrt_params)))\n\n        gradients_wrt_params = grad(one_step_active_inference, argnums=(0,1,2,3,4))(\n            A_batched, B_batched, pA_batched, pB_batched, D_batched, inference_algo=\"ovf\"\n        )\n        self.assertTrue(all(jtu.tree_map(lambda x: ~jnp.any(jnp.isnan(x)), gradients_wrt_params)))\n\n        gradients_wrt_params = grad(one_step_active_inference, argnums=(0,1,2,3,4))(\n            A_batched, B_batched, pA_batched, pB_batched, D_batched, inference_algo=\"mmp\"\n        )\n        self.assertTrue(all(jtu.tree_map(lambda x: ~jnp.any(jnp.isnan(x)), gradients_wrt_params)))\n\n        gradients_wrt_params = grad(one_step_active_inference, argnums=(0,1,2,3,4))(\n            A_batched, B_batched, pA_batched, pB_batched, D_batched, inference_algo=\"vmp\"\n        )\n        self.assertTrue(all(jtu.tree_map(lambda x: ~jnp.any(jnp.isnan(x)), gradients_wrt_params)))\n\n        def one_step_active_inference_with_learning(A, B, pA, pB, D, inference_algo=\"fpi\"):\n            \"\"\"\n            Constructs an agent and runs a single step of active inference, including parameter updating,\n            returning the log-probabilities of multi-actions.\n            \"\"\"\n\n            agent = construct_agent(A, B, pA, pB, D, inference_algo=inference_algo)\n\n            # infer states\n            qs = agent.infer_states(observations, empirical_prior=D)\n\n            agent = agent.infer_parameters(\n                qs,\n                observations,\n                actions=None,\n            )\n\n            # infer policies\n            q_pi, neg_efe = agent.infer_policies(qs)\n\n            # compute multi-action log-probabilities\n            multiaction_probs = agent.multiaction_probabilities(q_pi)\n\n            return log_stable(multiaction_probs).sum()\n        \n        gradients_wrt_params = grad(one_step_active_inference_with_learning, argnums=(0,1,2,3,4))(\n            A_batched, B_batched, pA_batched, pB_batched, D_batched, inference_algo=\"fpi\"\n        )\n        self.assertTrue(all(jtu.tree_map(lambda x: ~jnp.any(jnp.isnan(x)), gradients_wrt_params)))\n\n        gradients_wrt_params = grad(one_step_active_inference_with_learning, argnums=(0,1,2,3,4))(\n            A_batched, B_batched, pA_batched, pB_batched, D_batched, inference_algo=\"mmp\"\n        )\n        self.assertTrue(all(jtu.tree_map(lambda x: ~jnp.any(jnp.isnan(x)), gradients_wrt_params)))\n\n        gradients_wrt_params = grad(one_step_active_inference_with_learning, argnums=(0,1,2,3,4))(\n            A_batched, B_batched, pA_batched, pB_batched, D_batched, inference_algo=\"vmp\"\n        )\n        self.assertTrue(all(jtu.tree_map(lambda x: ~jnp.any(jnp.isnan(x)), gradients_wrt_params)))\n\n    def test_smoothing_ovf_updates_A_when_learn_B_false(self):\n        \"\"\"\n        Ensure that OVF-style A-learning uses smoothed beliefs when B-learning is disabled,\n        so temporally smoothed sequence evidence still updates A.\n        \"\"\"\n        num_obs = [2]\n        num_states = [3]\n        num_controls = [2]\n        A_dependencies = [[0]]\n        B_dependencies = [[0]]\n\n        a_key, b_key, d_key = jr.split(jr.PRNGKey(314), 3)\n        A = utils.random_A_array(a_key, num_obs, num_states, A_dependencies=A_dependencies)\n        B = utils.random_B_array(b_key, num_states, num_controls, B_dependencies=B_dependencies)\n        pA = utils.list_array_scaled(jtu.tree_map(lambda x: x.shape, A), scale=1.0)\n        D = utils.random_factorized_categorical(d_key, num_states)\n\n        agent = Agent(\n            A,\n            B,\n            D=D,\n            A_dependencies=A_dependencies,\n            B_dependencies=B_dependencies,\n            num_controls=num_controls,\n            batch_size=1,\n            learn_A=True,\n            learn_B=False,\n            pA=pA,\n            inference_algo=\"ovf\",\n        )\n\n        beliefs = [jnp.array([[[0.85, 0.10, 0.05], [0.10, 0.75, 0.15], [0.05, 0.15, 0.80]]])]\n        actions = jnp.array([[[0], [1]]]).reshape((1, 2, 1))\n        observations = [jnp.array([[0, 1, 0]])]\n\n        # Build expected A-updates from smoothed versus unsmoothed marginals.\n        A_unbatched = jtu.tree_map(lambda x: x[0], agent.A)\n        pA_unbatched = jtu.tree_map(lambda x: x[0], agent.pA)\n        B_unbatched = jtu.tree_map(lambda x: x[0], agent.B)\n\n        smoothed_marginals, _ = inference.smoothing_ovf(\n            [beliefs[0][0]],\n            [B_unbatched[0]],\n            actions[0, :, 0],\n        )\n        _, E_A_smoothed = learning.update_obs_likelihood_dirichlet(\n            [pA_unbatched[0]],\n            [A_unbatched[0]],\n            [observations[0][0]],\n            smoothed_marginals,\n            A_dependencies=A_dependencies,\n            categorical_obs=False,\n            num_obs=num_obs,\n            lr=1.0,\n        )\n\n        _, E_A_filtered = learning.update_obs_likelihood_dirichlet(\n            [pA_unbatched[0]],\n            [A_unbatched[0]],\n            [observations[0][0]],\n            [beliefs[0][0]],\n            A_dependencies=A_dependencies,\n            categorical_obs=False,\n            num_obs=num_obs,\n            lr=1.0,\n        )\n\n        self.assertFalse(jnp.allclose(smoothed_marginals[0], beliefs[0][0]))\n\n        agent = agent.infer_parameters(\n            beliefs,\n            observations,\n            actions,\n        )\n\n        self.assertTrue(jnp.allclose(agent.A[0][0], E_A_smoothed[0], atol=1e-6))\n        self.assertFalse(jnp.allclose(agent.A[0][0], E_A_filtered[0], atol=1e-6))\n\n\n        \n\nif __name__ == \"__main__\":\n    unittest.main()       \n\n\n\n\n\n\n\n\n    \n"
  },
  {
    "path": "test/test_categorical_observations.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\nimport unittest\nimport warnings\nfrom jax import numpy as jnp, random as jr, nn\nimport jax.tree_util as jtu\n\nfrom pymdp.agent import Agent\nfrom pymdp import utils, inference, algos\n\n\nclass TestCategoricalObservationsCore(unittest.TestCase):\n    \"\"\"Core functionality tests for categorical observations\"\"\"\n\n    def test_uncertain_observation_inference(self):\n        \"\"\"Test that uncertain categorical observations produce expected posteriors\"\"\"\n\n        # A matrix where each state strongly predicts its corresponding observation\n        A = [jnp.eye(3) * 0.9 + jnp.ones((3, 3)) * 0.033]\n        prior = [jnp.ones(3) / 3]  # Uniform prior\n\n        # Certain observation (one-hot)\n        obs_certain = [nn.one_hot(0, 3)]\n        qs_certain = algos.run_vanilla_fpi(A, obs_certain, prior, num_iter=16)\n\n        # Should strongly believe in state 0\n        self.assertTrue(jnp.allclose(jnp.array([0.933934, 0.03303304, 0.03303304]),qs_certain[0], atol=1e-3))\n\n        # Uncertain observation (50/50 between observations 0 and 1)\n        obs_uncertain = [jnp.array([0.5, 0.5, 0.0])]\n        qs_uncertain = algos.run_vanilla_fpi(A, obs_uncertain, prior, num_iter=16)\n\n        # Should spread belief between states 0 and 1\n        self.assertTrue(jnp.allclose(jnp.array([0.4570241, 0.4570241, 0.08595184]),qs_uncertain[0], atol=1e-3))\n\n        # Uniform uncertain observation\n        obs_uniform = [jnp.ones(3) / 3]\n        qs_uniform = algos.run_vanilla_fpi(A, obs_uniform, prior, num_iter=16)\n\n        # Should remain close to uniform (observation provides no information)\n        self.assertTrue(jnp.allclose(qs_uniform[0], jnp.ones(3) / 3, atol=0.1))\n\n    def test_categorical_multimodality(self):\n        \"\"\"Test categorical observations with multiple modalities\"\"\"\n\n        num_states = [3, 2]\n        num_obs = [3, 2]\n\n        A = utils.random_A_array(jr.PRNGKey(10), num_obs, num_states)\n        prior = utils.random_factorized_categorical(jr.PRNGKey(11), num_states)\n\n        # Categorical observations for both modalities\n        obs = [\n            jnp.array([0.7, 0.2, 0.1]),  # Modality 0: mostly observation 0\n            jnp.array([0.4, 0.6])        # Modality 1: mostly observation 1\n        ]\n\n        qs = algos.run_vanilla_fpi(A, obs, prior, num_iter=16)\n\n        # Check that inference runs without error and produces valid distributions\n        for f in range(len(num_states)):\n            self.assertTrue(jnp.allclose(qs[f].sum(), 1.0, atol=1e-5))\n            self.assertTrue(jnp.all(qs[f] >= 0))\n\n    def test_multi_factor_categorical(self):\n        \"\"\"Test categorical observations with multiple state factors\"\"\"\n\n        num_states = [3, 4]\n        num_obs = [5]\n\n        A = utils.random_A_array(jr.PRNGKey(20), num_obs, num_states)\n        prior = utils.random_factorized_categorical(jr.PRNGKey(21), num_states)\n\n        # Uncertain categorical observation\n        obs = [jnp.array([0.3, 0.3, 0.2, 0.1, 0.1])]\n\n        qs = algos.run_vanilla_fpi(A, obs, prior, num_iter=16)\n\n        # Verify valid posterior distributions\n        self.assertTrue(jnp.allclose(qs[0].sum(), 1.0, atol=1e-5))\n        self.assertTrue(jnp.allclose(qs[1].sum(), 1.0, atol=1e-5))\n\n\nclass TestCategoricalObservationsEdgeCases(unittest.TestCase):\n    \"\"\"Edge case and numerical stability tests\"\"\"\n\n    def test_near_zero_probabilities(self):\n        \"\"\"Test categorical observations with very small probabilities\"\"\"\n\n        num_states = [3]\n        num_obs = [4]\n\n        A = utils.random_A_array(jr.PRNGKey(30), num_obs, num_states)\n        prior = utils.random_factorized_categorical(jr.PRNGKey(31), num_states)\n\n        # Observation with very small probabilities\n        obs = [jnp.array([0.98, 0.01, 0.005, 0.005])]\n\n        qs = algos.run_vanilla_fpi(A, obs, prior, num_iter=16)\n\n        # Should not produce NaN or infinite values\n        self.assertFalse(jnp.any(jnp.isnan(qs[0])))\n        self.assertFalse(jnp.any(jnp.isinf(qs[0])))\n        self.assertTrue(jnp.allclose(qs[0].sum(), 1.0, atol=1e-5))\n\n    def test_very_peaked_distribution(self):\n        \"\"\"Test with extremely peaked categorical observation\"\"\"\n\n        num_states = [3]\n        num_obs = [4]\n\n        A = utils.random_A_array(jr.PRNGKey(40), num_obs, num_states)\n        prior = utils.random_factorized_categorical(jr.PRNGKey(41), num_states)\n\n        # Very peaked distribution (essentially one-hot but not exactly)\n        obs = [jnp.array([0.9999, 0.0001/3, 0.0001/3, 0.0001/3])]\n\n        qs = algos.run_vanilla_fpi(A, obs, prior, num_iter=16)\n\n        # Should be numerically stable\n        self.assertFalse(jnp.any(jnp.isnan(qs[0])))\n        self.assertFalse(jnp.any(jnp.isinf(qs[0])))\n        self.assertTrue(jnp.allclose(qs[0].sum(), 1.0, atol=1e-5))\n\n    def test_uniform_categorical_observation(self):\n        \"\"\"Test with completely uniform categorical observation\"\"\"\n\n        num_states = [3]\n        num_obs = [4]\n\n        A = utils.random_A_array(jr.PRNGKey(50), num_obs, num_states)\n        prior = utils.random_factorized_categorical(jr.PRNGKey(51), num_states)\n\n        # Uniform observation (complete uncertainty)\n        obs = [jnp.ones(4) / 4]\n\n        qs = algos.run_vanilla_fpi(A, obs, prior, num_iter=16)\n\n        # Should converge to valid distribution\n        self.assertTrue(jnp.allclose(qs[0].sum(), 1.0, atol=1e-5))\n        self.assertTrue(jnp.all(qs[0] >= 0))\n\n\nclass TestCategoricalObservationsInferenceAlgorithms(unittest.TestCase):\n    \"\"\"Test categorical observations with different inference algorithms\"\"\"\n\n    def setUp(self):\n        \"\"\"Common setup for algorithm tests\"\"\"\n        self.num_states = [3, 2]\n        self.num_obs = [3, 2]\n        self.num_controls = [3, 1]\n\n        # Define dependencies for factorized inference\n        self.A_dependencies = [[0, 1], [1]]  # Modality 0 depends on both factors, modality 1 only on factor 1\n        self.B_dependencies = [[0], [1]]\n\n        self.A = utils.random_A_array(jr.PRNGKey(100), self.num_obs, self.num_states, A_dependencies=self.A_dependencies)\n        self.B = utils.random_B_array(jr.PRNGKey(101), self.num_states, self.num_controls)\n        self.C = utils.list_array_uniform(self.num_obs)\n\n        self.obs_categorical = [\n            jnp.array([0.6, 0.3, 0.1]),\n            jnp.array([0.7, 0.3])\n        ]\n        self.prior = utils.random_factorized_categorical(jr.PRNGKey(102), self.num_states)\n\n    def test_fpi_with_categorical_obs(self):\n        \"\"\"Test fixed-point iteration with categorical observations\"\"\"\n\n        # Vanilla FPI needs A matrices without dependencies (full joint state space)\n        A_full = utils.random_A_array(jr.PRNGKey(103), self.num_obs, self.num_states)\n\n        qs = algos.run_vanilla_fpi(\n            A_full,\n            self.obs_categorical,\n            self.prior,\n            num_iter=16\n        )\n\n        # Verify valid posteriors\n        for f in range(len(self.num_states)):\n            self.assertTrue(jnp.allclose(qs[f].sum(), 1.0, atol=1e-5))\n            self.assertTrue(jnp.all(qs[f] >= 0))\n\n    def test_fpi_factorized_with_categorical_obs(self):\n        \"\"\"Test factorized FPI with categorical observations and dependencies\"\"\"\n\n        qs = algos.run_factorized_fpi(\n            self.A,\n            self.obs_categorical,\n            self.prior,\n            self.A_dependencies,\n            num_iter=16\n        )\n\n        # Verify valid posteriors\n        for f in range(len(self.num_states)):\n            self.assertTrue(jnp.allclose(qs[f].sum(), 1.0, atol=1e-5))\n            self.assertTrue(jnp.all(qs[f] >= 0))\n\n    def test_update_posterior_states_with_categorical(self):\n        \"\"\"Test high-level update_posterior_states with categorical observations\"\"\"\n\n        # update_posterior_states expects observations with time dimension\n        # Shape: (time=1, num_obs) for each modality\n        obs_with_time = [\n            jnp.array([[0.6, 0.3, 0.1]]),  # Shape (1, 3)\n            jnp.array([[0.7, 0.3]])        # Shape (1, 2)\n        ]\n\n        qs_fpi = inference.update_posterior_states(\n            self.A,\n            self.B,\n            obs_with_time,\n            past_actions=None,\n            prior=self.prior,\n            A_dependencies=self.A_dependencies,\n            B_dependencies=self.B_dependencies,\n            num_iter=16,\n            method=\"fpi\",\n            distr_obs=True,\n        )\n\n        for f in range(len(self.num_states)):\n            self.assertTrue(jnp.allclose(qs_fpi[f].sum(), 1.0, atol=1e-5))\n\n\nclass TestCategoricalObservationsAgent(unittest.TestCase):\n    \"\"\"Integration tests with Agent class\"\"\"\n\n    def test_agent_categorical_flag_false_discrete_obs(self):\n        \"\"\"Test agent with categorical_obs=False using discrete observations\"\"\"\n\n        num_states = [3]\n        num_obs = [4]\n        num_controls = [3]\n\n        A = utils.random_A_array(jr.PRNGKey(200), num_obs, num_states)\n        B = utils.random_B_array(jr.PRNGKey(201), num_states, num_controls)\n\n        agent = Agent(\n            A=A, \n            B=B,\n            policy_len=2,\n            categorical_obs=False,\n        )\n\n        # Provide discrete observation with shape (batch=1, time=1)\n        obs = [jnp.array([[2]])]\n        qs = agent.infer_states(obs, agent.D)\n\n        self.assertTrue(jnp.allclose(qs[0].sum(), 1.0, atol=1e-5))\n\n    def test_agent_categorical_flag_true_categorical_obs(self):\n        \"\"\"Test agent with categorical_obs=True using categorical observations\"\"\"\n\n        num_states = [3]\n        num_obs = [4]\n        num_controls = [3]\n\n        A = utils.random_A_array(jr.PRNGKey(210), num_obs, num_states)\n        B = utils.random_B_array(jr.PRNGKey(211), num_states, num_controls)\n\n        agent = Agent(\n            A=A, \n            B=B,\n            policy_len=2,\n            categorical_obs=True,\n        )\n\n        # Provide categorical observation with shape (batch=1, time=1, num_obs=4)\n        obs = [jnp.array([[[0.5, 0.3, 0.15, 0.05]]])]\n        qs = agent.infer_states(obs, agent.D)\n\n        self.assertTrue(jnp.allclose(qs[0].sum(), 1.0, atol=1e-5))\n\n    def test_agent_categorical_override(self):\n        \"\"\"Test that preprocess_fn parameter can override agent default\"\"\"\n\n        num_states = [3]\n        num_obs = [4]\n        num_controls = [3]\n\n        A = utils.random_A_array(jr.PRNGKey(220), num_obs, num_states)\n        B = utils.random_B_array(jr.PRNGKey(221), num_states, num_controls)\n\n        agent = Agent(\n            A=A, \n            B=B,\n            policy_len=2,\n            categorical_obs=False,\n        )\n\n        # Override to use categorical observation for this call (shape: batch, time, num_obs)\n        obs_categorical = [jnp.array([[[0.5, 0.3, 0.15, 0.05]]])]\n        qs = agent.infer_states(obs_categorical, agent.D, preprocess_fn=lambda obs: obs)\n\n        self.assertTrue(jnp.allclose(qs[0].sum(), 1.0, atol=1e-5))\n\n    def test_agent_preprocess_fn_default_and_warning(self):\n        \"\"\"Test agent-level preprocess_fn default usage and warning when categorical_obs=False\"\"\"\n\n        num_states = [3]\n        num_obs = [4]\n        num_controls = [3]\n\n        A = utils.random_A_array(jr.PRNGKey(230), num_obs, num_states)\n        B = utils.random_B_array(jr.PRNGKey(231), num_states, num_controls)\n\n        called = {\"count\": 0}\n\n        def preprocess_fn(obs):\n            called[\"count\"] += 1\n            return obs\n\n        with warnings.catch_warnings(record=True) as w:\n            warnings.simplefilter(\"always\")\n            agent = Agent(\n                A=A,\n                B=B,\n                policy_len=2,\n                categorical_obs=False,\n                preprocess_fn=preprocess_fn,\n            )\n\n        self.assertTrue(\n            any(\n                \"preprocess_fn is set while categorical_obs=False\" in str(warning.message)\n                for warning in w\n            )\n        )\n\n        obs_categorical = [jnp.array([[[0.5, 0.3, 0.15, 0.05]]])]\n        qs = agent.infer_states(obs_categorical, agent.D)\n\n        self.assertEqual(called[\"count\"], 1)\n        self.assertTrue(jnp.allclose(qs[0].sum(), 1.0, atol=1e-5))\n\n    def test_agent_full_loop_categorical(self):\n        \"\"\"Test full agent perception-action loop with categorical observations\"\"\"\n\n        A = [jnp.eye(3)]\n\n        B = [jnp.eye(3).reshape(3, 3, 1).repeat(3, axis=2)]\n\n        # Prefer observation 2\n        C = [jnp.array([-1.0, -1.0, 2.0])]\n\n        agent = Agent(\n            A=A, \n            B=B, \n            C=C,\n            categorical_obs=True,\n            policy_len=1,\n        )\n\n        # Uncertain observation (shape: batch=1, time=1, num_obs=3)\n        obs = [jnp.array([[[0.5, 0.4, 0.1]]])]\n\n        qs = agent.infer_states(obs, agent.D)\n\n        q_pi, _ = agent.infer_policies(qs)\n\n        action = agent.sample_action(q_pi)\n\n        self.assertTrue(jnp.allclose(qs[0].sum(), 1.0, atol=1e-5))\n        self.assertTrue(jnp.allclose(q_pi.sum(), 1.0, atol=1e-5))\n        self.assertIsInstance(action, (int, jnp.ndarray))\n\n\nclass TestCategoricalObservationsControl(unittest.TestCase):\n    \"\"\"Test categorical observations with control/planning features\"\"\"\n\n    def test_policy_inference_with_categorical_obs(self):\n        \"\"\"Test that policy inference works with categorical observations\"\"\"\n\n        A = [jnp.eye(3)]\n        B = [jnp.eye(3).reshape(3, 3, 1).repeat(3, axis=2)]\n        C = [jnp.array([-1.0, 0.0, 2.0])]\n\n        agent = Agent(\n            A=A, \n            B=B, \n            C=C,\n            policy_len=2,\n            categorical_obs=True,\n        )\n\n        obs = [jnp.array([[[0.6, 0.3, 0.1]]])]  # Shape (1, 1, 3)\n        qs = agent.infer_states(obs, agent.D)\n        q_pi, neg_efe = agent.infer_policies(qs)\n\n        self.assertTrue(jnp.allclose(q_pi.sum(), 1.0, atol=1e-5))\n        # neg_efe has shape (batch, num_policies), so check the last dimension\n        self.assertEqual(neg_efe.shape[-1], len(agent.policies))\n\n    def test_info_gain_with_categorical_obs(self):\n        \"\"\"Test epistemic value (info gain) computation with categorical observations\"\"\"\n\n        num_states = [3, 2]\n        num_obs = [3, 2]\n        num_controls = [3, 1]\n\n        A = utils.random_A_array(jr.PRNGKey(300), num_obs, num_states)\n        B = utils.random_B_array(jr.PRNGKey(301), num_states, num_controls)\n\n        agent = Agent(\n            A=A, B=B,\n            categorical_obs=True,\n            policy_len=2,\n        )\n\n        obs = [\n            jnp.array([[[0.5, 0.3, 0.2]]]),  # Shape (1, 1, 3)\n            jnp.array([[[0.6, 0.4]]])        # Shape (1, 1, 2)\n        ]\n\n        qs = agent.infer_states(obs, agent.D)\n        q_pi, neg_efe = agent.infer_policies(qs)\n\n        self.assertTrue(jnp.allclose(q_pi.sum(), 1.0, atol=1e-5))\n\n    def test_parameter_info_gain_with_categorical_obs(self):\n        \"\"\"Test parameter info gain with categorical observations\"\"\"\n\n        num_states = [3]\n        num_obs = [3]\n        num_controls = [3]\n\n        A = utils.random_A_array(jr.PRNGKey(310), num_obs, num_states)\n        B = utils.random_B_array(jr.PRNGKey(311), num_states, num_controls)\n        pA = utils.list_array_scaled(jtu.tree_map(lambda x: x.shape, A), scale=1.0)\n\n        agent = Agent(\n            A=A, B=B,\n            pA=pA,\n            categorical_obs=True,\n            policy_len=2,\n            use_states_info_gain=False,\n            use_param_info_gain=True  # Enable parameter info gain\n        )\n\n        obs = [jnp.array([[[0.5, 0.3, 0.2]]])]  # Shape (1, 1, 3)\n        qs = agent.infer_states(obs, agent.D)\n        q_pi, neg_efe = agent.infer_policies(qs)\n\n        self.assertTrue(jnp.allclose(q_pi.sum(), 1.0, atol=1e-5))\n\n\nclass TestCategoricalObservationsLearning(unittest.TestCase):\n    \"\"\"Test learning with categorical observations\"\"\"\n\n    def test_learning_A_matrix_with_categorical(self):\n        \"\"\"Test that A matrix learning works with categorical observations\"\"\"\n\n        num_states = [3]\n        num_obs = [3]\n        num_controls = [3]\n\n        A = utils.random_A_array(jr.PRNGKey(400), num_obs, num_states)\n        B = utils.random_B_array(jr.PRNGKey(401), num_states, num_controls)\n        pA = utils.list_array_scaled(jtu.tree_map(lambda x: x.shape, A), scale=1.0)\n\n        agent = Agent(\n            A=A, \n            B=B,\n            pA=pA,\n            categorical_obs=True,\n            policy_len=2,\n            learn_A=True,\n        )\n\n        # Sequence of categorical observations (each with shape (1, 1, 3))\n        obs_sequence = [\n            [jnp.array([[[0.8, 0.15, 0.05]]])],\n            [jnp.array([[[0.1, 0.7, 0.2]]])],\n            [jnp.array([[[0.2, 0.2, 0.6]]])]\n        ]\n\n        initial_pA = agent.pA[0].copy()\n\n        for obs in obs_sequence:\n            qs = agent.infer_states(obs, agent.D)\n            q_pi, _ = agent.infer_policies(qs)\n            action = agent.sample_action(q_pi)\n            # infer_parameters takes (beliefs, observations, actions) where actions shape is (batch, time, num_factors)\n            actions = jnp.array([[[action]]])  # Shape (1, 1, 1) for batch=1, time=1, num_factors=1\n            agent = agent.infer_parameters(qs, obs, actions)\n\n        # pA should have been updated\n        self.assertFalse(jnp.allclose(agent.pA[0], initial_pA, atol=1e-5))\n\n    def test_learning_with_uncertain_observations(self):\n        \"\"\"Test that learning weights updates by observation certainty\"\"\"\n\n        num_states = [2]\n        num_controls = [2]\n\n        A = [\n            jnp.array(\n                [\n                    [0.9, 0.1], \n                    [0.1, 0.9]\n                ]\n            )\n        ]\n        B = utils.random_B_array(jr.PRNGKey(410), num_states, num_controls)\n        pA = utils.list_array_scaled(jtu.tree_map(lambda x: x.shape, A), scale=1.0)\n\n        # Agent 1: Certain observation\n        agent1 = Agent(A=A, B=B, pA=pA, categorical_obs=True, learn_A=True, policy_len=1)\n\n        # Agent 2: Uncertain observation\n        agent2 = Agent(A=A, B=B, pA=pA, categorical_obs=True, learn_A=True, policy_len=1)\n\n        # Certain observation (one-hot) with shape (1, 1, 2)\n        obs_certain = [jnp.array([[[1.0, 0.0]]])]\n        qs1 = agent1.infer_states(obs_certain, agent1.D)\n        actions1 = jnp.array([[[0]]])  # Shape (1, 1, 1) for batch=1, time=1, num_factors=1\n        agent1 = agent1.infer_parameters(qs1, obs_certain, actions1)\n\n        # Uncertain observation (50/50) with shape (1, 1, 2)\n        obs_uncertain = [jnp.array([[[0.5, 0.5]]])]\n        qs2 = agent2.infer_states(obs_uncertain, agent2.D)\n        actions2 = jnp.array([[[0]]])  # Shape (1, 1, 1)\n        agent2 = agent2.infer_parameters(qs2, obs_uncertain, actions2)\n\n        # Both should update, but certain observation should update more\n        expected_pA_1 = jnp.array(\n            [\n                [\n                    [1.9, 1.1],\n                    [1.0, 1.0],\n                ]\n            ]\n        )\n\n        expected_pA_2 = jnp.array(\n            [\n                [\n                    [1.25, 1.25],\n                    [1.25, 1.25],\n                ]\n            ]\n        )\n\n        self.assertTrue(jnp.array_equal(agent1.pA[0], expected_pA_1))\n        self.assertTrue(jnp.array_equal(agent2.pA[0], expected_pA_2))\n\n\nclass TestCategoricalObservationsBatched(unittest.TestCase):\n    \"\"\"Test categorical observations with batched agents\"\"\"\n\n    def test_batched_categorical_observations(self):\n        \"\"\"Test categorical observations with batch_size > 1\"\"\"\n\n        batch_size = 2\n        num_states = [3]\n        num_obs = [4]\n        num_controls = [3]\n\n        A = utils.random_A_array(jr.PRNGKey(500), num_obs, num_states)\n        B = utils.random_B_array(jr.PRNGKey(501), num_states, num_controls)\n\n        agent = Agent(\n            A=A, \n            B=B,\n            categorical_obs=True,\n            policy_len=2,\n            batch_size=batch_size,\n        )\n\n        # Batched categorical observations (shape: batch=2, time=1, num_obs=4)\n        obs = [\n                jnp.array(\n                    [\n                        [[0.7, 0.2, 0.05, 0.05]],   # Batch 0\n                        [[0.3, 0.5, 0.15, 0.05]],   # Batch 1\n                    ]\n                )\n            ]\n\n        qs = agent.infer_states(obs, agent.D)\n\n        # Verify correct batch dimension\n        self.assertEqual(qs[0].shape[0], batch_size)\n\n        # Verify each batch element is a valid distribution\n        for b in range(batch_size):\n            self.assertTrue(jnp.allclose(qs[0][b].sum(), 1.0, atol=1e-5))\n\n\nif __name__ == '__main__':\n    unittest.main()\n"
  },
  {
    "path": "test/test_control.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Unit Tests\n__author__: Conor Heins, Alexander Tschantz, Daphne Demekas, Brennan Klein\n\"\"\"\n\nimport unittest\n\nimport numpy as np\n\nfrom pymdp.legacy import utils, maths\nfrom pymdp.legacy import control\n\nclass TestControl(unittest.TestCase):\n\n    def test_get_expected_states(self):\n        \"\"\"\n        Tests the refactored (Categorical-less) version of `get_expected_states`\n        \"\"\"\n\n        '''Test with single hidden state factor and single timestep'''\n\n        num_states = [3]\n        num_controls = [3]\n\n        qs = utils.obj_array_uniform(num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        qs_pi = [control.get_expected_states(qs, B, policy) for policy in policies]\n\n        factor_idx = 0\n        t_idx = 0\n\n        for p_idx in range(len(policies)):\n            self.assertTrue((qs_pi[p_idx][t_idx][factor_idx] == B[factor_idx][:,:,policies[p_idx][t_idx,factor_idx]].dot(qs[factor_idx])).all())\n\n        '''Test with single hidden state factor and multiple-timesteps'''\n\n        num_states = [3]\n        num_controls = [3]\n\n        qs = utils.obj_array_uniform(num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=2)\n\n        qs_pi = [control.get_expected_states(qs, B, policy) for policy in policies]\n\n        for p_idx in range(len(policies)):\n            for t_idx in range(2):\n                if t_idx == 0:\n                    self.assertTrue((qs_pi[p_idx][t_idx][factor_idx] == B[factor_idx][:,:,policies[p_idx][t_idx,factor_idx]].dot(qs[factor_idx])).all())\n                else:\n                    self.assertTrue((qs_pi[p_idx][t_idx][factor_idx] == B[factor_idx][:,:,policies[p_idx][t_idx,factor_idx]].dot(qs_pi[p_idx][t_idx-1][factor_idx])).all())\n       \n        '''Test with multiple hidden state factors and single timestep'''\n\n        num_states = [3, 3]\n        num_controls = [3, 1]\n\n        num_factors = len(num_states)\n\n        qs = utils.obj_array_uniform(num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        qs_pi = [control.get_expected_states(qs, B, policy) for policy in policies]\n\n        t_idx = 0\n\n        for p_idx in range(len(policies)):\n            for factor_idx in range(num_factors):\n                self.assertTrue((qs_pi[p_idx][t_idx][factor_idx] == B[factor_idx][:,:,policies[p_idx][t_idx,factor_idx]].dot(qs[factor_idx])).all())\n\n        '''Test with multiple hidden state factors and multiple timesteps'''\n\n        num_states = [3, 3]\n        num_controls = [3, 3]\n\n        num_factors = len(num_states)\n\n        qs = utils.obj_array_uniform(num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=3)\n\n        qs_pi = [control.get_expected_states(qs, B, policy) for policy in policies]\n\n        for p_idx in range(len(policies)):\n            for t_idx in range(3):\n                for factor_idx in range(num_factors):\n                    if t_idx == 0:\n                        self.assertTrue((qs_pi[p_idx][t_idx][factor_idx] == B[factor_idx][:,:,policies[p_idx][t_idx,factor_idx]].dot(qs[factor_idx])).all())\n                    else:\n                        self.assertTrue((qs_pi[p_idx][t_idx][factor_idx] == B[factor_idx][:,:,policies[p_idx][t_idx,factor_idx]].dot(qs_pi[p_idx][t_idx-1][factor_idx])).all())\n\n    def test_get_expected_states_interactions_single_factor(self):\n        \"\"\"\n        Test the new version of `get_expected_states` that includes `B` array inter-factor dependencies, in case a of trivial single factor\n        \"\"\"\n        \n        num_states = [3]\n        num_controls = [3]\n\n        B_factor_list = [[0]]\n\n        qs = utils.random_single_categorical(num_states)\n        B = utils.random_B_matrix(num_states, num_controls, B_factor_list=B_factor_list)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        qs_pi_0 = control.get_expected_states_interactions(qs, B, B_factor_list, policies[0])\n\n        self.assertTrue(np.allclose(qs_pi_0[0][0], B[0][:,:,policies[0][0,0]].dot(qs[0])))\n\n    def test_get_expected_states_interactions_multi_factor(self):\n        \"\"\"\n        Test the new version of `get_expected_states` that includes `B` array inter-factor dependencies, \n        in the case where there are two hidden state factors: one that depends on itself and another that depends on both itself and the other factor.\n        \"\"\"\n        \n        num_states = [3, 4]\n        num_controls = [3, 2]\n\n        B_factor_list = [[0], [0, 1]]\n\n        qs = utils.random_single_categorical(num_states)\n        B = utils.random_B_matrix(num_states, num_controls, B_factor_list=B_factor_list)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        qs_pi_0 = control.get_expected_states_interactions(qs, B, B_factor_list, policies[0])\n\n        self.assertTrue(np.allclose(qs_pi_0[0][0], B[0][:,:,policies[0][0,0]].dot(qs[0])))\n\n        qs_next_validation = (B[1][..., policies[0][0,1]] * maths.spm_cross(qs)[None,...]).sum(axis=(1,2)) # how to compute equivalent of `spm_dot(B[...,past_action], qs)`\n        self.assertTrue(np.allclose(qs_pi_0[0][1], qs_next_validation))\n    \n    def test_get_expected_states_interactions_multi_factor_independent(self):\n        \"\"\"\n        Test the new version of `get_expected_states` that includes `B` array inter-factor dependencies, \n        in the case where there are multiple hidden state factors, but they all only depend on themselves\n        \"\"\"\n        \n        num_states = [3, 4, 5, 6]\n        num_controls = [1, 2, 5, 3]\n\n        B_factor_list = [[f] for f in range(len(num_states))] # each factor only depends on itself\n\n        qs = utils.random_single_categorical(num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        qs_pi_0 = control.get_expected_states_interactions(qs, B, B_factor_list, policies[0])\n\n        qs_pi_0_validation = control.get_expected_states(qs, B, policies[0])\n\n        for qs_f, qs_val_f in zip(qs_pi_0[0], qs_pi_0_validation[0]):\n            self.assertTrue(np.allclose(qs_f, qs_val_f))\n\n    def test_get_expected_obs_factorized(self):\n        \"\"\"\n        Test the new version of `get_expected_obs` that includes sparse dependencies of `A` array on hidden state factors (not all observation modalities depend on all hidden state factors)\n        \"\"\"\n\n        \"\"\" Case 1, where all modalities depend on all hidden state factors \"\"\"\n\n        num_states = [3, 4]\n        num_obs = [3, 4]\n\n        A_factor_list = [[0, 1], [0, 1]]\n\n        qs = utils.random_single_categorical(num_states)\n        A = utils.random_A_matrix(num_obs, num_states, A_factor_list=A_factor_list)\n\n        qo_test = control.get_expected_obs_factorized([qs], A, A_factor_list) # need to wrap `qs` in list because `get_expected_obs_factorized` expects a list of `qs` (representing multiple timesteps)\n        qo_val = control.get_expected_obs([qs], A) # need to wrap `qs` in list because `get_expected_obs` expects a list of `qs` (representing multiple timesteps)\n\n        for qo_m, qo_val_m in zip(qo_test[0], qo_val[0]): # need to extract first index of `qo_test` and `qo_val` because `get_expected_obs_factorized` returns a list of `qo` (representing multiple timesteps)\n            self.assertTrue(np.allclose(qo_m, qo_val_m))\n        \n        \"\"\" Case 2, where some modalities depend on some hidden state factors \"\"\"\n\n        num_states = [3, 4]\n        num_obs = [3, 4]\n\n        A_factor_list = [[0], [0, 1]]\n\n        qs = utils.random_single_categorical(num_states)\n        A_reduced = utils.random_A_matrix(num_obs, num_states, A_factor_list=A_factor_list)\n\n        qo_test = control.get_expected_obs_factorized([qs], A_reduced, A_factor_list) # need to wrap `qs` in list because `get_expected_obs_factorized` expects a list of `qs` (representing multiple timesteps)\n\n        A_full = utils.initialize_empty_A(num_obs, num_states)\n        for m, A_m in enumerate(A_full):\n            other_factors = list(set(range(len(num_states))) - set(A_factor_list[m])) # list of the factors that modality `m` does not depend on\n\n            # broadcast or tile the reduced A matrix (`A_reduced`) along the dimensions of corresponding to `other_factors`\n            expanded_dims = [num_obs[m]] + [1 if f in other_factors else ns for (f, ns) in enumerate(num_states)]\n            tile_dims = [1] + [ns if f in other_factors else 1 for (f, ns) in enumerate(num_states)]\n            A_full[m] = np.tile(A_reduced[m].reshape(expanded_dims), tile_dims)\n        \n        qo_val = control.get_expected_obs([qs], A_full) # need to wrap `qs` in list because `get_expected_obs` expects a list of `qs` (representing multiple timesteps)\n        \n        for qo_m, qo_val_m in zip(qo_test[0], qo_val[0]): # need to extract first index of `qo_test` and `qo_val` because `get_expected_obs_factorized` returns a list of `qo` (representing multiple timesteps)\n            self.assertTrue(np.allclose(qo_m, qo_val_m))\n\n    def test_get_expected_states_and_obs(self):\n        \"\"\"\n        Tests the refactored (Categorical-less) versions of `get_expected_states` and `get_expected_obs` together\n        \"\"\"\n\n        '''Test with single observation modality, single hidden state factor and single timestep'''\n\n        num_obs = [3]\n        num_states = [3]\n        num_controls = [3]\n\n        qs = utils.obj_array_uniform(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n        \n        factor_idx = 0\n        modality_idx = 0\n        t_idx = 0\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n\n            # validation qs_pi\n            qs_pi_valid = B[factor_idx][:,:,policies[idx][t_idx,factor_idx]].dot(qs[factor_idx])\n\n            self.assertTrue((qs_pi[t_idx][factor_idx] == qs_pi_valid).all())\n\n            qo_pi = control.get_expected_obs(qs_pi, A)\n\n            # validation qo_pi\n            qo_pi_valid = maths.spm_dot(A[modality_idx],utils.to_obj_array(qs_pi_valid))\n\n            self.assertTrue((qo_pi[t_idx][modality_idx] == qo_pi_valid).all())\n\n        '''Test with multiple observation modalities, multiple hidden state factors and single timestep'''\n\n        num_obs = [3, 3]\n        num_states = [3, 3]\n        num_controls = [3, 2]\n\n        num_factors = len(num_states)\n        num_modalities = len(num_obs)\n\n        qs = utils.obj_array_uniform(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n        \n        t_idx = 0\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n\n            for factor_idx in range(num_factors):\n                # validation qs_pi\n                qs_pi_valid = B[factor_idx][:,:,policies[idx][t_idx,factor_idx]].dot(qs[factor_idx])\n                self.assertTrue((qs_pi[t_idx][factor_idx] == qs_pi_valid).all())\n\n            qo_pi = control.get_expected_obs(qs_pi, A)\n\n            for modality_idx in range(num_modalities):\n                # validation qo_pi\n                qo_pi_valid = maths.spm_dot(A[modality_idx],qs_pi[t_idx])\n                self.assertTrue((qo_pi[t_idx][modality_idx] == qo_pi_valid).all())\n        \n        '''Test with multiple observation modalities, multiple hidden state factors and multiple timesteps'''\n\n        num_obs = [3, 3]\n        num_states = [3, 3]\n        num_controls = [3, 2]\n\n        num_factors = len(num_states)\n        num_modalities = len(num_obs)\n\n        qs = utils.obj_array_uniform(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=3)\n        \n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n\n            for t_idx in range(3):\n                for factor_idx in range(num_factors):\n                    # validation qs_pi\n                    if t_idx == 0:\n                        qs_pi_valid = B[factor_idx][:,:,policies[idx][t_idx,factor_idx]].dot(qs[factor_idx])\n                    else:\n                        qs_pi_valid = B[factor_idx][:,:,policies[idx][t_idx,factor_idx]].dot(qs_pi[t_idx-1][factor_idx])\n\n                    self.assertTrue((qs_pi[t_idx][factor_idx] == qs_pi_valid).all())\n\n            qo_pi = control.get_expected_obs(qs_pi, A)\n\n            for t_idx in range(3):\n                for modality_idx in range(num_modalities):\n                    # validation qo_pi\n                    qo_pi_valid = maths.spm_dot(A[modality_idx],qs_pi[t_idx])\n                    self.assertTrue((qo_pi[t_idx][modality_idx] == qo_pi_valid).all())\n\n    def test_expected_utility(self):\n        \"\"\"\n        Test for the expected utility function, for a simple single factor generative model \n        where there are imbalances in the preferences for different observations. Test for both single\n        timestep policy horizons and multiple timestep policy horizons (planning)\n        \"\"\"\n\n        '''1-step policies'''\n        num_states = [2]\n        num_controls = [2]\n\n        qs = utils.random_single_categorical(num_states)\n        B = utils.construct_controllable_B(num_states, num_controls)\n\n        # Single timestep\n        n_step = 1\n        policies = control.construct_policies(num_states, num_controls, policy_len=n_step)\n\n        # Single observation modality\n        num_obs = [2]\n\n        # Create noiseless identity A matrix\n        A = utils.to_obj_array(np.eye(num_obs[0]))\n\n        # Create imbalance in preferences for observations\n        C = utils.to_obj_array(utils.onehot(1, num_obs[0]))\n        \n        # Compute expected utility of policies\n        expected_utilities = np.zeros(len(policies))\n        for idx, policy in enumerate(policies):\n            qs_pi = control.get_expected_states(qs, B, policy)\n            qo_pi = control.get_expected_obs(qs_pi, A)\n            expected_utilities[idx] += control.calc_expected_utility(qo_pi, C)\n\n        self.assertGreater(expected_utilities[1], expected_utilities[0])\n\n        '''3-step policies'''\n        # One policy entails going to state 0 two times in a row, and then state 2 at the end\n        # Another policy entails going to state 1 three times in a row\n\n        num_states = [3]\n        num_controls = [3]\n\n        qs = utils.random_single_categorical(num_states)\n        B = utils.construct_controllable_B(num_states, num_controls)\n\n        policies = [np.array([0, 0, 2]).reshape(-1, 1), np.array([1, 1, 1]).reshape(-1, 1)]\n\n        # single observation modality\n        num_obs = [3]\n\n        # create noiseless identity A matrix\n        A = utils.to_obj_array(np.eye(num_obs[0]))\n\n        # create imbalance in preferences for observations\n        # This test is designed to illustrate the emergence of planning by\n        # using the time-integral of the expected free energy.\n        # Even though the first observation (index 0) is the most preferred, the policy\n        # that frequents this observation the most is actually not optimal, because that policy\n        # terminates in a less preferred state by timestep 3.\n        C = utils.to_obj_array(np.array([1.2, 1.0, 0.55]))\n\n        expected_utilities = np.zeros(len(policies))\n        for idx, policy in enumerate(policies):\n            qs_pi = control.get_expected_states(qs, B, policy)\n            qo_pi = control.get_expected_obs(qs_pi, A)\n            expected_utilities[idx] += control.calc_expected_utility(qo_pi, C)\n\n        self.assertGreater(expected_utilities[1], expected_utilities[0])\n    \n    def test_state_info_gain(self):\n        \"\"\"\n        Test the states_info_gain function. \n        Function is tested by manipulating uncertainty in the likelihood matrices (A or B)\n        in a ways that alternatively change the resolvability of uncertainty\n        This is done with A) an imprecise expected state and a precise sensory mapping, \n        and B) high ambiguity and imprecise sensory mapping.\n        \"\"\"\n\n        num_states = [2]\n        num_controls = [2]\n\n        # start with a precise initial state\n        qs = utils.to_obj_array(utils.onehot(0, num_states[0]))\n\n        '''Case study 1: Uncertain states, unambiguous observations'''\n        # add some uncertainty into the consequences of the second policy, which\n        # leads to increased epistemic value of observations, in case of pursuing\n        # that policy -- this of course depends on a precise observation likelihood model\n        B = utils.construct_controllable_B(num_states, num_controls)\n        B[0][:, :, 1] = maths.softmax(B[0][:, :, 1]) # \"noise-ify\" the consequences of the 1-th action\n\n        # single timestep\n        n_step = 1\n        policies = control.construct_policies(num_states, num_controls, policy_len=n_step)\n\n        # single observation modality\n        num_obs = [2]\n\n        # create noiseless identity A matrix\n        A = utils.to_obj_array(np.eye(num_obs[0]))\n\n        state_info_gains = np.zeros(len(policies)) # store the Bayesian surprise / epistemic values of states here (AKA state info gain)\n        for idx, policy in enumerate(policies):\n            qs_pi = control.get_expected_states(qs, B, policy)\n            state_info_gains[idx] += control.calc_states_info_gain(A, qs_pi)\n        self.assertGreater(state_info_gains[1], state_info_gains[0])\n\n        '''Case study 2: Uncertain states, ambiguous observations (for all states)'''\n        # now we 'undo' the epistemic bonus of the second policy by making the A matrix\n        # totally ambiguous; thus observations cannot resolve uncertainty about hidden states.\n        # In this case, uncertainty in the posterior beliefs induced by Policy 1 doesn't tip the balance\n        # of epistemic value, because uncertainty is irresolveable either way.\n        A = utils.obj_array_uniform([ [num_obs[0], num_states[0]] ])\n\n        state_info_gains = np.zeros(len(policies))\n        for idx, policy in enumerate(policies):\n            qs_pi = control.get_expected_states(qs, B, policy)\n            state_info_gains[idx] += control.calc_states_info_gain(A, qs_pi)\n        self.assertEqual(state_info_gains[0], state_info_gains[1])\n\n        '''Case study 2: Uncertain states, ambiguous observations (for particular states)'''\n\n        # create noiseless identity A matrix\n        A = utils.to_obj_array(np.eye(num_obs[0]))\n\n        # add some uncertainty into the consequences of the both policies\n        B = utils.construct_controllable_B(num_states, num_controls)\n\n        B[0][:, :, 0] = maths.softmax(B[0][:, :, 0]*2.0) # \"noise-ify\" the consequences of the 0-th action, but to a lesser extent than the 1-th action\n        B[0][:, :, 1] = maths.softmax(B[0][:, :, 1]) # \"noise-ify\" the consequences of the 1-th action\n\n        # Although in the presence of a precise likelihood mapping, \n        # Policy 1 would be preferred (due to higher resolve-able uncertainty, introduced by a noisier action-dependent B matrix),\n        # if the expected observation likelihood of being in state 1 (the most likely consequence of Policy 1) is not precise, then \n        # Policy 0 (which has more probability loaded over state 0) will have more resolveable uncertainty, due to the\n        # higher precision of the A matrix over that column (column 0, which is identity). Even though the expected density over states\n        # is less noisy for policy 0.\n        A[0][:,1] = maths.softmax(A[0][:,1]) \n\n        state_info_gains = np.zeros(len(policies))\n        for idx, policy in enumerate(policies):\n            qs_pi = control.get_expected_states(qs, B, policy)\n            state_info_gains[idx] += control.calc_states_info_gain(A, qs_pi)\n        self.assertGreater(state_info_gains[1], state_info_gains[0])\n\n    def test_state_info_gain_factorized(self):\n        \"\"\" \n        Unit test the `calc_states_info_gain_factorized` function by qualitatively checking that in the T-Maze (contextual bandit)\n        example, the state info gain is higher for the policy that leads to visiting the cue, which is higher than state info gain\n        for visiting the bandit arm, which in turn is higher than the state info gain for the policy that leads to staying in the start state.\n        \"\"\"\n\n        num_states = [2, 3]  \n        num_obs = [3, 3, 3]\n\n        A_factor_list = [[0, 1], [0, 1], [1]] \n        \n        A = utils.obj_array(len(num_obs))\n        for m, obs in enumerate(num_obs):\n            lagging_dimensions = [ns for i, ns in enumerate(num_states) if i in A_factor_list[m]]\n            modality_shape = [obs] + lagging_dimensions\n            A[m] = np.zeros(modality_shape)\n            if m == 0:\n                A[m][:, :, 0] = np.ones( (num_obs[m], num_states[0]) ) / num_obs[m]\n                A[m][:, :, 1] = np.ones( (num_obs[m], num_states[0]) ) / num_obs[m]\n                A[m][:, :, 2] = np.array([[0.9, 0.1], [0.0, 0.0], [0.1, 0.9]]) # cue statistics\n            if m == 1:\n                A[m][2, :, 0] = np.ones(num_states[0])\n                A[m][0:2, :, 1] = np.array([[0.6, 0.4], [0.6, 0.4]]) # bandit statistics (mapping between reward-state (first hidden state factor) and rewards (Good vs Bad))\n                A[m][2, :, 2] = np.ones(num_states[0])\n            if m == 2:\n                A[m] = np.eye(obs)\n\n        qs_start = utils.obj_array_uniform(num_states)\n        qs_start[1] = np.array([1., 0., 0.]) # agent believes it's in the start state\n\n        state_info_gain_visit_start = 0.\n        for m, A_m in enumerate(A):\n            if len(A_factor_list[m]) == 1:\n                qs_that_matter = utils.to_obj_array(qs_start[A_factor_list[m]])\n            else:\n                qs_that_matter = qs_start[A_factor_list[m]]\n            state_info_gain_visit_start += control.calc_states_info_gain(A_m, [qs_that_matter])\n\n        qs_arm = utils.obj_array_uniform(num_states)\n        qs_arm[1] = np.array([0., 1., 0.]) # agent believes it's in the arm-visiting state\n\n        state_info_gain_visit_arm = 0.\n        for m, A_m in enumerate(A):\n            if len(A_factor_list[m]) == 1:\n                qs_that_matter = utils.to_obj_array(qs_arm[A_factor_list[m]])\n            else:\n                qs_that_matter = qs_arm[A_factor_list[m]]\n            state_info_gain_visit_arm += control.calc_states_info_gain(A_m, [qs_that_matter])\n\n        qs_cue = utils.obj_array_uniform(num_states)\n        qs_cue[1] = np.array([0., 0., 1.]) # agent believes it's in the cue-visiting state\n\n        state_info_gain_visit_cue = 0.\n        for m, A_m in enumerate(A):\n            if len(A_factor_list[m]) == 1:\n                qs_that_matter = utils.to_obj_array(qs_cue[A_factor_list[m]])\n            else:\n                qs_that_matter = qs_cue[A_factor_list[m]]\n            state_info_gain_visit_cue += control.calc_states_info_gain(A_m, [qs_that_matter])\n        \n        self.assertGreater(state_info_gain_visit_arm, state_info_gain_visit_start)\n        self.assertGreater(state_info_gain_visit_cue, state_info_gain_visit_arm)\n\n    # def test_neg_ambiguity_modality_sum(self):\n    #     \"\"\"\n    #     Test that the negativity ambiguity function is the same when computed using the full (unfactorized) joint distribution over observations and hidden state factors vs. when computed for each modality separately and summed together.\n    #     \"\"\"\n\n    #     num_states = [10, 20, 10, 10]\n    #     num_obs = [2, 25, 10, 8]\n\n    #     qs = utils.random_single_categorical(num_states)\n    #     A = utils.random_A_matrix(num_obs, num_states)\n\n    #     neg_ambig_full = maths.spm_calc_neg_ambig(A, qs) # need to wrap `qs` in a list because the function expects a list of policy-conditioned posterior beliefs (corresponding to each timestep)\n    #     neg_ambig_by_modality = 0.\n    #     for m, A_m in enumerate(A):\n    #         neg_ambig_by_modality += maths.spm_calc_neg_ambig(A_m, qs)\n        \n    #     self.assertEqual(neg_ambig_full, neg_ambig_by_modality)\n    \n    # def test_entropy_modality_sum(self):\n    #     \"\"\"\n    #     Test that the negativity ambiguity function is the same when computed using the full (unfactorized) joint distribution over observations and hidden state factors vs. when computed for each modality separately and summed together.\n    #     \"\"\"\n\n    #     num_states = [10, 20, 10, 10]\n    #     num_obs = [2, 25, 10, 8]\n\n    #     qs = utils.random_single_categorical(num_states)\n    #     A = utils.random_A_matrix(num_obs, num_states)\n\n    #     H_full = maths.spm_calc_qo_entropy(A, qs) # need to wrap `qs` in a list because the function expects a list of policy-conditioned posterior beliefs (corresponding to each timestep)\n    #     H_by_modality = 0.\n    #     for m, A_m in enumerate(A):\n    #         H_by_modality += maths.spm_calc_qo_entropy(A_m, qs)\n        \n    #     self.assertEqual(H_full, H_by_modality)\n\n    def test_pA_info_gain(self):\n        \"\"\"\n        Test the pA_info_gain function. Demonstrates operation\n        by manipulating shape of the Dirichlet priors over likelihood parameters\n        (pA), which affects information gain for different expected observations\n        \"\"\"\n\n        num_states = [2]\n        num_controls = [2]\n\n        # start with a precise initial state\n        qs = utils.to_obj_array(utils.onehot(0, num_states[0]))\n\n        B = utils.construct_controllable_B(num_states, num_controls)\n\n        # single timestep\n        n_step = 1\n        policies = control.construct_policies(num_states, num_controls, policy_len=n_step)\n\n        # single observation modality\n        num_obs = [2]\n\n        # create noiseless identity A matrix\n        A = utils.to_obj_array(np.eye(num_obs[0]))\n\n        # create prior over dirichlets such that there is a skew\n        # in the parameters about the likelihood mapping from the\n        # second hidden state (index 1) to observations, such that\n        # Observation 0 is believed to be more likely than the other, conditioned on State 1.\n        # Therefore sampling observations conditioned on State 1 would afford high info gain\n        # about parameters, for that part of the likelhood distribution.\n\n        pA = utils.obj_array_ones([ [num_obs[0], num_states[0]]] )\n        pA[0][0, 1] += 1.0\n\n        pA_info_gains = np.zeros(len(policies))\n        for idx, policy in enumerate(policies):\n            qs_pi = control.get_expected_states(qs, B, policy)\n            qo_pi = control.get_expected_obs(qs_pi, A)\n            pA_info_gains[idx] += control.calc_pA_info_gain(pA, qo_pi, qs_pi).item()\n\n        self.assertGreater(pA_info_gains[1], pA_info_gains[0])\n\n        \"\"\" Test the factorized version of the pA_info_gain function. \"\"\"\n        pA_info_gains_fac = np.zeros(len(policies))\n        for idx, policy in enumerate(policies):\n            qs_pi = control.get_expected_states(qs, B, policy)\n            qo_pi = control.get_expected_obs_factorized(qs_pi, A, A_factor_list=[[0]])\n            pA_info_gains_fac[idx] += control.calc_pA_info_gain_factorized(pA, qo_pi, qs_pi, A_factor_list=[[0]]).item()\n\n        self.assertTrue(np.allclose(pA_info_gains_fac,  pA_info_gains))  \n    \n    def test_pB_info_gain(self):\n        \"\"\"\n        Test the pB_info_gain function. Demonstrates operation\n        by manipulating shape of the Dirichlet priors over likelihood parameters\n        (pB), which affects information gain for different states\n        \"\"\"\n        num_states = [2]\n        num_controls = [2]\n\n        # start with a precise initial state\n        qs = utils.to_obj_array(utils.onehot(0, num_states[0]))\n\n        B = utils.construct_controllable_B(num_states, num_controls)\n\n        pB = utils.obj_array_ones([ [num_states[0], num_states[0], num_controls[0]] ])\n\n        # create prior over dirichlets such that there is a skew\n        # in the parameters about the likelihood mapping from the\n        # hidden states to hidden states under the second action,\n        # such that hidden state 0 is considered to be more likely than the other,\n        # given the action in question\n        # Therefore taking that action would yield an expected state that afford\n        # high information gain about that part of the likelihood distribution.\n        #\n        pB[0][0, :, 1] += 1.0\n\n        # single timestep\n        n_step = 1\n        policies = control.construct_policies(num_states, num_controls, policy_len=n_step)\n\n        pB_info_gains = np.zeros(len(policies))\n        for idx, policy in enumerate(policies):\n            qs_pi = control.get_expected_states(qs, B, policy)\n            pB_info_gains[idx] += control.calc_pB_info_gain(pB, qs_pi, qs, policy)\n        self.assertGreater(pB_info_gains[1], pB_info_gains[0])\n\n        B_factor_list = [[0]]\n        pB_info_gains_interactions = np.zeros(len(policies))\n        for idx, policy in enumerate(policies):\n            qs_pi = control.get_expected_states_interactions(qs, B, B_factor_list, policy)\n            pB_info_gains_interactions[idx] += control.calc_pB_info_gain_interactions(pB, qs_pi, qs, B_factor_list, policy)\n        self.assertTrue(np.allclose(pB_info_gains_interactions, pB_info_gains))\n\n    def test_update_posterior_policies_utility(self):\n        \"\"\"\n        Tests the refactored (Categorical-less) version of `update_posterior_policies`, using only the expected utility component of the expected free energy\n        \"\"\"\n\n        '''Test with single observation modality, single hidden state factor and single timestep'''\n\n        num_obs = [3]\n        num_states = [3]\n        num_controls = [3]\n\n        qs = utils.obj_array_uniform(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n        C = utils.obj_array_zeros(num_obs)\n        C[0][0] = 1.0  \n        C[0][1] = -2.0  \n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = True,\n            use_states_info_gain = False,\n            use_param_info_gain = False,\n            pA=None,\n            pB=None,\n            gamma=16.0\n        )\n\n        modality_idx = 0\n        t_idx = 0\n\n        efe_valid = np.zeros(len(policies))\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n            \n            qo_pi = control.get_expected_obs(qs_pi, A)\n\n            lnC = maths.spm_log_single(maths.softmax(C[modality_idx][:, np.newaxis]))\n            efe_valid[idx] += qo_pi[t_idx][modality_idx].dot(lnC).item()\n        \n        q_pi_valid = maths.softmax(efe_valid * 16.0)\n\n        self.assertTrue(np.allclose(efe, efe_valid))\n        self.assertTrue(np.allclose(q_pi, q_pi_valid))\n\n        '''Test with multiple observation modalities, multiple hidden state factors and single timestep'''\n\n        num_obs = [3, 3]\n        num_states = [3, 2]\n        num_controls = [3, 1]\n\n        qs = utils.random_single_categorical(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n        C = utils.obj_array_zeros(num_obs)\n        C[0][0] = 1.0  \n        C[0][1] = -2.0\n        C[1][2] = 4.0  \n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = True,\n            use_states_info_gain = False,\n            use_param_info_gain = False,\n            pA=None,\n            pB=None,\n            gamma=16.0\n        )\n\n        t_idx = 0\n\n        efe_valid = np.zeros(len(policies))\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n            qo_pi = control.get_expected_obs(qs_pi, A)\n\n            for modality_idx in range(len(A)):\n                lnC = maths.spm_log_single(maths.softmax(C[modality_idx][:, np.newaxis]))\n                efe_valid[idx] += qo_pi[t_idx][modality_idx].dot(lnC).item()\n        \n        q_pi_valid = maths.softmax(efe_valid * 16.0)\n\n        self.assertTrue(np.allclose(efe, efe_valid))\n        self.assertTrue(np.allclose(q_pi, q_pi_valid))\n\n        '''Test with multiple observation modalities, multiple hidden state factors and multiple timesteps'''\n\n        num_obs = [3, 3]\n        num_states = [3, 2]\n        num_controls = [3, 1]\n\n        qs = utils.random_single_categorical(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n        C = utils.obj_array_zeros(num_obs)\n        C[0][0] = 1.0  \n        C[0][1] = -2.0\n        C[1][2] = 4.0  \n\n        policies = control.construct_policies(num_states, num_controls, policy_len=3)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = True,\n            use_states_info_gain = False,\n            use_param_info_gain = False,\n            pA=None,\n            pB=None,\n            gamma=16.0\n        )\n\n        efe_valid = np.zeros(len(policies))\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n            qo_pi = control.get_expected_obs(qs_pi, A)\n\n            for t_idx in range(3):\n                for modality_idx in range(len(A)):\n                    lnC = maths.spm_log_single(maths.softmax(C[modality_idx][:, np.newaxis]))\n                    efe_valid[idx] += qo_pi[t_idx][modality_idx].dot(lnC).item()\n        \n        q_pi_valid = maths.softmax(efe_valid * 16.0)\n\n        self.assertTrue(np.allclose(efe, efe_valid))\n        self.assertTrue(np.allclose(q_pi, q_pi_valid))\n    \n    def test_temporal_C_matrix(self):\n        \"\"\" Unit-tests for preferences that change over time \"\"\"\n\n        '''Test with single observation modality, single hidden state factor and single timestep, and non-temporal C vector'''\n\n        num_obs = [3]\n        num_states = [3]\n        num_controls = [3]\n\n        qs = utils.obj_array_uniform(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n        C = utils.obj_array_zeros(num_obs)\n        C[0][0] = 1.0  \n        C[0][1] = -2.0  \n\n        policies = control.construct_policies(num_states, num_controls, policy_len=3)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = True,\n            use_states_info_gain = False,\n            use_param_info_gain = False,\n            pA=None,\n            pB=None,\n            gamma=16.0\n        )\n\n        modality_idx = 0\n        t_idx = 0\n\n        efe_valid = np.zeros(len(policies))\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n            qo_pi = control.get_expected_obs(qs_pi, A)\n\n            for t_idx in range(3):\n                for modality_idx in range(len(A)):\n                    lnC = maths.spm_log_single(maths.softmax(C[modality_idx][:, np.newaxis]))\n                    efe_valid[idx] += qo_pi[t_idx][modality_idx].dot(lnC).item()\n\n        q_pi_valid = maths.softmax(efe_valid * 16.0)\n\n        self.assertTrue(np.allclose(efe, efe_valid))\n        self.assertTrue(np.allclose(q_pi, q_pi_valid))\n\n        '''Test with single observation modality, single hidden state factor and single timestep, and temporal C vector'''\n\n        num_obs = [3]\n        num_states = [3]\n        num_controls = [3]\n\n        qs = utils.obj_array_uniform(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n        C = utils.obj_array_zeros([(3,3)])\n        C[0][0,:] = np.array([1.0, 2.0, 0.0])\n        C[0][1,:] = np.array([-2.0, -1.0, 0.0])  \n\n        policies = control.construct_policies(num_states, num_controls, policy_len=3)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = True,\n            use_states_info_gain = False,\n            use_param_info_gain = False,\n            pA=None,\n            pB=None,\n            gamma=16.0\n        )\n\n        modality_idx = 0\n        t_idx = 0\n\n        efe_valid = np.zeros(len(policies))\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n            qo_pi = control.get_expected_obs(qs_pi, A)\n\n            for t_idx in range(3):\n                for modality_idx in range(len(A)):\n                    lnC = maths.spm_log_single(maths.softmax(C[modality_idx][:, t_idx]))\n                    efe_valid[idx] += qo_pi[t_idx][modality_idx].dot(lnC).item()\n\n        q_pi_valid = maths.softmax(efe_valid * 16.0)\n\n        self.assertTrue(np.allclose(efe, efe_valid))\n        self.assertTrue(np.allclose(q_pi, q_pi_valid))\n\n        '''Test with multiple observation modalities, multiple hidden state factors and multiple timesteps'''\n\n        num_obs = [3, 3]\n        num_states = [3, 2]\n        num_controls = [3, 1]\n\n        qs = utils.random_single_categorical(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n        C = utils.obj_array(len(num_obs))\n\n        # C vectors for modalities 0 is time-dependent\n        C[0] = np.random.rand(3, 3) \n\n        # C vectors for modalities 1 is time-independent\n        C[1] = np.random.rand(3)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=3)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = True,\n            use_states_info_gain = False,\n            use_param_info_gain = False,\n            pA=None,\n            pB=None,\n            gamma=16.0\n        )\n\n        efe_valid = np.zeros(len(policies))\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n            qo_pi = control.get_expected_obs(qs_pi, A)\n\n            for t_idx in range(3):\n                for modality_idx in range(len(A)):\n                    if modality_idx == 0:\n                        lnC = maths.spm_log_single(maths.softmax(C[modality_idx][:, t_idx]))\n                    elif modality_idx == 1:\n                        lnC = maths.spm_log_single(maths.softmax(C[modality_idx][:, np.newaxis]))\n                    efe_valid[idx] += qo_pi[t_idx][modality_idx].dot(lnC).item()\n        \n        q_pi_valid = maths.softmax(efe_valid * 16.0)\n\n        self.assertTrue(np.allclose(efe, efe_valid))\n        self.assertTrue(np.allclose(q_pi, q_pi_valid))\n\n\n    def test_update_posterior_policies_states_infogain(self):\n        \"\"\"\n        Tests the refactored (Categorical-less) version of `update_posterior_policies`, using only the information gain (about states) component of the expected free energy\n        \"\"\"\n\n        '''Test with single observation modality, single hidden state factor and single timestep'''\n\n        num_obs = [3]\n        num_states = [3]\n        num_controls = [3]\n\n        qs = utils.obj_array_uniform(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n        C = utils.obj_array_zeros(num_obs)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = False,\n            use_states_info_gain = True,\n            use_param_info_gain = False,\n            pA=None,\n            pB=None,\n            gamma=16.0\n        )\n\n        t_idx = 0\n\n        efe_valid = np.zeros(len(policies))\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n            \n            efe_valid[idx] += maths.spm_MDP_G(A, qs_pi[0])\n        \n        q_pi_valid = maths.softmax(efe_valid * 16.0)\n\n        self.assertTrue(np.allclose(efe, efe_valid))\n        self.assertTrue(np.allclose(q_pi, q_pi_valid))\n\n        '''Test with multiple observation modalities, multiple hidden state factors and single timestep'''\n\n        num_obs = [3, 3]\n        num_states = [3, 2]\n        num_controls = [3, 1]\n\n        qs = utils.random_single_categorical(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n        C = utils.obj_array_zeros(num_obs)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = False,\n            use_states_info_gain = True,\n            use_param_info_gain = False,\n            pA=None,\n            pB=None,\n            gamma=16.0\n        )\n\n        t_idx = 0\n\n        efe_valid = np.zeros(len(policies))\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n\n            efe_valid[idx] += maths.spm_MDP_G(A, qs_pi[0])\n        \n        q_pi_valid = maths.softmax(efe_valid * 16.0)\n\n        self.assertTrue(np.allclose(efe, efe_valid))\n        self.assertTrue(np.allclose(q_pi, q_pi_valid))\n\n        '''Test with multiple observation modalities, multiple hidden state factors and multiple timesteps'''\n\n        num_obs = [3, 3]\n        num_states = [3, 2]\n        num_controls = [3, 1]\n\n        qs = utils.random_single_categorical(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n        C = utils.obj_array_zeros(num_obs) \n\n        policies = control.construct_policies(num_states, num_controls, policy_len=3)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = False,\n            use_states_info_gain = True,\n            use_param_info_gain = False,\n            pA=None,\n            pB=None,\n            gamma=16.0\n        )\n\n        efe_valid = np.zeros(len(policies))\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n\n            for t_idx in range(3):\n                efe_valid[idx] += maths.spm_MDP_G(A, qs_pi[t_idx])\n    \n        q_pi_valid = maths.softmax(efe_valid * 16.0)\n\n        self.assertTrue(np.allclose(efe, efe_valid))\n        self.assertTrue(np.allclose(q_pi, q_pi_valid))\n\n    def test_update_posterior_policies_pA_infogain(self):\n        \"\"\"\n        Tests the refactored (Categorical-less) version of `update_posterior_policies`, using only the information gain (about likelihood parameters) component of the expected free energy\n        \"\"\"\n\n        '''Test with single observation modality, single hidden state factor and single timestep'''\n\n        num_obs = [3]\n        num_states = [3]\n        num_controls = [3]\n\n        qs = utils.obj_array_uniform(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.obj_array_ones([A_m.shape for A_m in A])\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        C = utils.obj_array_zeros(num_obs)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = False,\n            use_states_info_gain = False,\n            use_param_info_gain = True,\n            pA=pA,\n            pB=None,\n            gamma=16.0\n        )\n\n\n        efe_valid = np.zeros(len(policies))\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n            qo_pi = control.get_expected_obs(qs_pi, A)\n            \n            efe_valid[idx] += control.calc_pA_info_gain(pA, qo_pi, qs_pi).item()\n        \n        q_pi_valid = maths.softmax(efe_valid * 16.0)\n\n        self.assertTrue(np.allclose(efe, efe_valid))\n        self.assertTrue(np.allclose(q_pi, q_pi_valid))\n\n        '''Test with multiple observation modalities, multiple hidden state factors and single timestep'''\n\n        num_obs = [3, 3]\n        num_states = [3, 2]\n        num_controls = [3, 1]\n\n        qs = utils.random_single_categorical(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.obj_array_ones([A_m.shape for A_m in A])\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        C = utils.obj_array_zeros(num_obs)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = False,\n            use_states_info_gain = False,\n            use_param_info_gain = True,\n            pA=pA,\n            pB=None,\n            gamma=16.0\n        )\n\n\n        efe_valid = np.zeros(len(policies))\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n            qo_pi = control.get_expected_obs(qs_pi, A)\n            \n            efe_valid[idx] += control.calc_pA_info_gain(pA, qo_pi, qs_pi).item()\n        \n        q_pi_valid = maths.softmax(efe_valid * 16.0)\n\n        self.assertTrue(np.allclose(efe, efe_valid))\n        self.assertTrue(np.allclose(q_pi, q_pi_valid))\n\n        '''Test with multiple observation modalities, multiple hidden state factors and multiple timesteps'''\n\n        num_obs = [3, 3]\n        num_states = [3, 2]\n        num_controls = [3, 1]\n\n        qs = utils.random_single_categorical(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.obj_array_ones([A_m.shape for A_m in A])\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        C = utils.obj_array_zeros(num_obs) \n\n        policies = control.construct_policies(num_states, num_controls, policy_len=3)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = False,\n            use_states_info_gain = False,\n            use_param_info_gain = True,\n            pA=pA,\n            pB=None,\n            gamma=16.0\n        )\n\n        efe_valid = np.zeros(len(policies))\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n            qo_pi = control.get_expected_obs(qs_pi, A)\n\n            efe_valid[idx] += control.calc_pA_info_gain(pA, qo_pi, qs_pi).item()\n    \n        q_pi_valid = maths.softmax(efe_valid * 16.0)\n\n        self.assertTrue(np.allclose(efe, efe_valid))\n        self.assertTrue(np.allclose(q_pi, q_pi_valid))\n    \n    def test_update_posterior_policies_pB_infogain(self):\n        \"\"\"\n        Tests the refactored (Categorical-less) version of `update_posterior_policies`, using only the information gain (about transition likelihood parameters) component of the expected free energy\n        \"\"\"\n\n        '''Test with single observation modality, single hidden state factor and single timestep'''\n\n        num_obs = [3]\n        num_states = [3]\n        num_controls = [3]\n\n        qs = utils.obj_array_uniform(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n        pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        C = utils.obj_array_zeros(num_obs)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = False,\n            use_states_info_gain = False,\n            use_param_info_gain = True,\n            pA=None,\n            pB=pB,\n            gamma=16.0\n        )\n\n\n        efe_valid = np.zeros(len(policies))\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n            \n            efe_valid[idx] += control.calc_pB_info_gain(pB, qs_pi, qs, policy)\n        \n        q_pi_valid = maths.softmax(efe_valid * 16.0)\n\n        self.assertTrue(np.allclose(efe, efe_valid))\n        self.assertTrue(np.allclose(q_pi, q_pi_valid))\n\n        '''Test with multiple observation modalities, multiple hidden state factors and single timestep'''\n\n        num_obs = [3, 3]\n        num_states = [3, 2]\n        num_controls = [3, 1]\n\n        qs = utils.random_single_categorical(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n        pB = utils.obj_array_ones([B_f.shape for B_f in B])\n        \n        C = utils.obj_array_zeros(num_obs)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = False,\n            use_states_info_gain = False,\n            use_param_info_gain = True,\n            pA=None,\n            pB=pB,\n            gamma=16.0\n        )\n\n\n        efe_valid = np.zeros(len(policies))\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n            \n            efe_valid[idx] += control.calc_pB_info_gain(pB, qs_pi, qs, policy)\n        \n        q_pi_valid = maths.softmax(efe_valid * 16.0)\n\n        self.assertTrue(np.allclose(efe, efe_valid))\n        self.assertTrue(np.allclose(q_pi, q_pi_valid))\n\n        '''Test with multiple observation modalities, multiple hidden state factors and multiple timesteps'''\n\n        num_obs = [3, 3]\n        num_states = [3, 2]\n        num_controls = [3, 1]\n\n        qs = utils.random_single_categorical(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        B = utils.random_B_matrix(num_states, num_controls)\n        pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        C = utils.obj_array_zeros(num_obs) \n\n        policies = control.construct_policies(num_states, num_controls, policy_len=3)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = False,\n            use_states_info_gain = False,\n            use_param_info_gain = True,\n            pA=None,\n            pB=pB,\n            gamma=16.0\n        )\n\n        efe_valid = np.zeros(len(policies))\n\n        for idx, policy in enumerate(policies):\n\n            qs_pi = control.get_expected_states(qs, B, policy)\n\n            efe_valid[idx] += control.calc_pB_info_gain(pB, qs_pi, qs, policy)\n    \n        q_pi_valid = maths.softmax(efe_valid * 16.0)\n\n        self.assertTrue(np.allclose(efe, efe_valid))\n        self.assertTrue(np.allclose(q_pi, q_pi_valid))\n    \n    def test_update_posterior_policies_factorized(self):\n        \"\"\" \n        Test new update_posterior_policies_factorized function, just to make sure it runs through and outputs correct shapes\n        \"\"\"\n\n        num_obs = [3, 3]\n        num_states = [3, 2]\n        num_controls = [3, 2]\n\n        A_factor_list = [[0, 1], [1]]\n        B_factor_list = [[0], [0, 1]]\n\n        qs = utils.random_single_categorical(num_states)\n        A = utils.random_A_matrix(num_obs, num_states, A_factor_list=A_factor_list)\n        B = utils.random_B_matrix(num_states, num_controls, B_factor_list=B_factor_list)\n        C = utils.obj_array_zeros(num_obs)\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        q_pi, efe = control.update_posterior_policies_factorized(\n            qs,\n            A,\n            B,\n            C,\n            A_factor_list,\n            B_factor_list,\n            policies,\n            use_utility = True,\n            use_states_info_gain = True,\n            gamma=16.0\n        )\n\n        self.assertEqual(len(q_pi), len(policies))\n        self.assertEqual(len(efe), len(policies))\n\n        control.sample_action(q_pi, policies, num_controls, action_selection=\"deterministic\")\n\n    def test_sample_action(self):\n        \"\"\"\n        Tests the refactored (Categorical-less) version of `sample_action`\n        \"\"\"\n\n        '''Test with single observation modality, single hidden state factor and single timestep'''\n\n        num_obs = [3]\n        num_states = [3]\n        num_controls = [3]\n\n        qs = utils.obj_array_uniform(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.obj_array_ones([A_m.shape for A_m in A])\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        C = utils.obj_array_zeros(num_obs)\n        C[0][0] = 1.0  \n        C[0][1] = -2.0\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = True,\n            use_states_info_gain = True,\n            use_param_info_gain = True,\n            pA=pA,\n            pB=pB,\n            gamma=16.0\n        )\n\n\n        chosen_action = control.sample_action(q_pi, policies, num_controls, action_selection=\"deterministic\")\n        sampled_action = control.sample_action(q_pi, policies, num_controls, action_selection=\"stochastic\", alpha=1.0)\n\n        self.assertEqual(chosen_action.shape, sampled_action.shape)\n\n        '''Test with multiple observation modalities, multiple hidden state factors and single timestep'''\n\n        num_obs = [3, 4]\n        num_states = [3, 4]\n        num_controls = [3, 3]\n\n        qs = utils.random_single_categorical(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.obj_array_ones([A_m.shape for A_m in A])\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        C = utils.obj_array_zeros(num_obs)\n        C[0][0] = 1.0  \n        C[0][1] = -2.0\n        C[1][3] = 3.0\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = True,\n            use_states_info_gain = True,\n            use_param_info_gain = True,\n            pA=pA,\n            pB=pB,\n            gamma=16.0\n        )\n\n        chosen_action = control.sample_action(q_pi, policies, num_controls, action_selection=\"deterministic\")\n        sampled_action = control.sample_action(q_pi, policies, num_controls, action_selection=\"stochastic\", alpha=1.0)\n\n        self.assertEqual(chosen_action.shape, sampled_action.shape)\n\n        '''Test with multiple observation modalities, multiple hidden state factors and multiple timesteps'''\n\n        num_obs = [3, 4]\n        num_states = [3, 4]\n        num_controls = [3, 3]\n\n        qs = utils.random_single_categorical(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.obj_array_ones([A_m.shape for A_m in A])\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        C = utils.obj_array_zeros(num_obs)\n        C[0][0] = 1.0  \n        C[0][1] = -2.0\n        C[1][3] = 3.0\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=3)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = True,\n            use_states_info_gain = True,\n            use_param_info_gain = True,\n            pA=pA,\n            pB=pB,\n            gamma=16.0\n        )\n\n        chosen_action = control.sample_action(q_pi, policies, num_controls, action_selection=\"deterministic\")\n        sampled_action = control.sample_action(q_pi, policies, num_controls, action_selection=\"stochastic\", alpha=1.0)\n\n        self.assertEqual(chosen_action.shape, sampled_action.shape)\n\n\n        '''Single observation modality, single (controllable) hidden state factor, 3-step policies. Using utility only'''\n        # One policy entails going to state 0 two times in a row, and then state 2 at the end\n        # Another policy entails going to state 1 three times in a row\n\n        num_obs = [3]\n        num_states = [3]\n        num_controls = [3]\n\n        qs = utils.random_single_categorical(num_states)\n        B = utils.construct_controllable_B(num_states, num_controls)\n\n        policies = [np.array([0, 0, 2]).reshape(-1, 1), np.array([1, 1, 1]).reshape(-1, 1)]\n\n        # create noiseless identity A matrix\n        A = utils.to_obj_array(np.eye(num_obs[0]))\n\n        # create imbalance in preferences for observations\n        # This test is designed to illustrate the emergence of planning by\n        # using the time-integral of the expected free energy.\n        # Even though the first observation (index 0) is the most preferred, the policy\n        # that frequents this observation the most is actually not optimal, because that policy\n        # terminates in a less preferred state by timestep 3.\n        C = utils.to_obj_array(np.array([1.2, 1.0, 0.55]))\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = True,\n            use_states_info_gain = False,\n            use_param_info_gain = False,\n            pA=None,\n            pB=None,\n            gamma=16.0\n        )\n\n        chosen_action = control.sample_action(q_pi, policies, num_controls, action_selection=\"deterministic\")\n        self.assertEqual(int(chosen_action[0]), 1)\n\n    def test_sample_policy(self):\n        \"\"\"\n        Tests the action selection function where policies are sampled directly from posterior over policies `q_pi`\n        \"\"\"\n\n        num_states = [3, 2]\n        num_controls = [3, 2]\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=3)\n\n        q_pi = utils.norm_dist(np.random.rand(len(policies)))\n        best_policy = policies[np.argmax(q_pi)]\n\n        selected_policy = control.sample_policy(q_pi, policies, num_controls)\n\n        for factor_ii in range(len(num_controls)):\n            self.assertEqual(selected_policy[factor_ii], best_policy[0,factor_ii])\n        \n        selected_policy_stochastic = control.sample_policy(q_pi, policies, num_controls, action_selection=\"stochastic\",\n                                                           alpha=1.0)\n        self.assertEqual(selected_policy_stochastic.shape, selected_policy.shape)\n        \n    def test_update_posterior_policies_withE_vector(self):\n        \"\"\"\n        Test update posterior policies in the case that there is a prior over policies\n        \"\"\"\n\n        \"\"\" Construct an explicit example where policy 0 is preferred based on utility,\n        but action 2 also gets a bump in probability because of prior over policies\n        \"\"\"\n        num_obs = [3]\n        num_states = [3]\n        num_controls = [3]\n\n        qs = utils.to_obj_array(utils.onehot(0, num_states[0]))\n        A = utils.to_obj_array(np.eye(num_obs[0]))\n        B = utils.construct_controllable_B(num_states, num_controls)\n        \n        C = utils.to_obj_array(np.array([1.5, 1.0, 1.0]))\n\n        utils.to_obj_array(utils.onehot(0, num_states[0]))\n        E = np.array([0.05, 0.05, 0.9])\n\n        policies = control.construct_policies(num_states, num_controls, policy_len=1)\n\n        q_pi, efe = control.update_posterior_policies(\n            qs,\n            A,\n            B,\n            C,\n            policies,\n            use_utility = True,\n            use_states_info_gain = False,\n            use_param_info_gain = False,\n            pA=None,\n            pB=None,\n            E = E,\n            gamma=16.0\n        )\n\n        self.assertGreater(q_pi[0], q_pi[1])\n        self.assertGreater(q_pi[2], q_pi[1])\n    \n    def test_stochastic_action_unidimensional_control(self):\n        \"\"\"\n        Test stochastic action sampling in case that one of the control states is one-dimensional.\n        Due to a call to probabilities.squeeze() in an earlier version of utils.sample(), this was throwing an\n        error due to the inability to use np.random.multinomial on an array with undefined length (an 'unsized' array)\n        \"\"\"\n        \n        num_states = [2, 2]\n        num_controls = [2, 1]\n        policies = control.construct_policies(num_states, num_controls = num_controls, policy_len=1)\n        q_pi = utils.norm_dist(np.random.rand(len(policies)))\n        sampled_action = control.sample_action(q_pi, policies, num_controls, action_selection=\"stochastic\")\n        self.assertEqual(sampled_action[1], 0)\n\n        sampled_action = control.sample_action(q_pi, policies, num_controls, action_selection=\"deterministic\")\n        self.assertEqual(sampled_action[1], 0)\n    \n    def test_deterministic_action_sampling_equal_value(self):\n        \"\"\"\n        Test `deterministic` action sampling in the case that multiple actions have the same probability. \n        Desired behavior is that actions are randomly sampled from the subset of total actions that have the highest (but equal) probability.\n        \"\"\"\n\n        num_states = [3]\n        num_controls = [3]\n        policies = control.construct_policies(num_states, num_controls = num_controls, policy_len=1)\n        q_pi = np.array([0.4, 0.4, 0.2])\n\n        seeds = [1923, 48323]\n\n        sampled_action = control._sample_action_test(q_pi, policies, num_controls, action_selection=\"deterministic\", seed=seeds[0])\n        self.assertEqual(sampled_action[0], 0)\n\n        sampled_action = control._sample_action_test(q_pi, policies, num_controls, action_selection=\"deterministic\", seed=seeds[1])\n        self.assertEqual(sampled_action[0], 1)\n    \n    def test_deterministic_policy_selection_equal_value(self):\n        \"\"\"\n        Test `deterministic` action sampling in the case that multiple actions have the same probability. \n        Desired behavior is that actions are randomly sampled from the subset of total actions that have the highest (but equal) probability.\n        \"\"\"\n\n        num_states = [3]\n        num_controls = [3]\n        policies = control.construct_policies(num_states, num_controls = num_controls, policy_len=1)\n        q_pi = np.array([0.1, 0.45, 0.45])\n\n        seeds = [1923, 48323]\n\n        sampled_action = control._sample_policy_test(q_pi, policies, num_controls, action_selection=\"deterministic\", seed=seeds[0])\n        self.assertEqual(sampled_action[0], 1)\n\n        sampled_action = control._sample_policy_test(q_pi, policies, num_controls, action_selection=\"deterministic\", seed=seeds[1])\n        self.assertEqual(sampled_action[0], 2)\n\nif __name__ == \"__main__\":\n    unittest.main()\n"
  },
  {
    "path": "test/test_control_jax.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Unit Tests\n__author__: Dimitrije Markovic, Conor Heins\n\"\"\"\n\nimport unittest\n\nimport numpy as np\nimport jax.numpy as jnp\nimport jax.random as jr\nimport jax.tree_util as jtu\n\nimport pymdp.control as ctl_jax\nimport pymdp.legacy.control as ctl_np\n\nfrom pymdp.utils import (\n    list_array_zeros,\n    random_A_array,\n    random_B_array,\n    random_factorized_categorical,\n)\nfrom pymdp.legacy import utils\n\ncfg = {\"source_key\": 0, \"num_models\": 4}\n\ndef generate_model_params():\n    \"\"\"\n    Generate random model dimensions\n    \"\"\"\n    rng_keys = jr.split(jr.PRNGKey(cfg[\"source_key\"]), cfg[\"num_models\"])\n    num_factors_list = [ jr.randint(key, (1,), 1, 10)[0].item() for key in rng_keys ]\n    num_states_list = [ jr.randint(key, (nf,), 1, 5).tolist() for nf, key in zip(num_factors_list, rng_keys) ]\n\n    rng_keys = jr.split(rng_keys[-1], cfg[\"num_models\"])\n    num_modalities_list = [ jr.randint(key, (1,), 1, 10)[0].item() for key in rng_keys ]\n    num_obs_list = [ jr.randint(key, (nm,), 1, 5).tolist() for nm, key in zip(num_modalities_list, rng_keys) ]\n\n    rng_keys = jr.split(rng_keys[-1], cfg[\"num_models\"])\n    A_deps_list = []\n    for nf, nm, model_key in zip(num_factors_list, num_modalities_list, rng_keys):\n        keys_model_i = jr.split(model_key, nm)\n        A_deps_model_i = [jr.randint(key, (nm,), 0, nf).tolist() for key in keys_model_i]\n        A_deps_list.append(A_deps_model_i)\n    \n    return {'nf_list': num_factors_list, \n            'ns_list': num_states_list, \n            'nm_list': num_modalities_list, \n            'no_list': num_obs_list, \n            'A_deps_list': A_deps_list}\n\nclass TestControlJax(unittest.TestCase):\n\n    def test_get_expected_obs_factorized(self):\n        \"\"\"\n        Tests the jax-ified version of computations of expected observations under some hidden states and policy\n        \"\"\"\n        gm_params = generate_model_params()\n        _num_factors_list, num_states_list, _num_modalities_list, num_obs_list, A_deps_list = gm_params['nf_list'], gm_params['ns_list'], gm_params['nm_list'], gm_params['no_list'], gm_params['A_deps_list']\n        keys = jr.split(jr.PRNGKey(42), len(num_states_list)*2).reshape((len(num_states_list), 2, 2))\n        for (keys_per_element, num_states, num_obs, A_deps) in zip(keys, num_states_list, num_obs_list, A_deps_list):\n            \n            qs_jax = random_factorized_categorical(keys_per_element[0], num_states)\n            qs_numpy = utils.obj_array_from_list(qs_jax)\n\n            A_jax = random_A_array(keys_per_element[1], num_obs, num_states, A_dependencies=A_deps)\n            A_np = [np.array(A_m) for A_m in A_jax]\n\n            qo_test = ctl_jax.compute_expected_obs(qs_jax, A_jax, A_deps) \n            qo_validation = ctl_np.get_expected_obs_factorized([qs_numpy], A_np, A_deps) # need to wrap `qs` in list because `get_expected_obs_factorized` expects a list of `qs` (representing multiple timesteps)\n\n            for qo_m, qo_val_m in zip(qo_test, qo_validation[0]): # need to extract first index of `qo_validation` because `get_expected_obs_factorized` returns a list of `qo` (representing multiple timesteps)\n                self.assertTrue(np.allclose(qo_m, qo_val_m))\n\n    def test_info_gain_factorized(self):\n        \"\"\" \n        Unit test the `calc_states_info_gain_factorized` function by qualitatively checking that in the T-Maze (contextual bandit)\n        example, the state info gain is higher for the policy that leads to visiting the cue, which is higher than state info gain\n        for visiting the bandit arm, which in turn is higher than the state info gain for the policy that leads to staying in the start state.\n        \"\"\"\n\n        num_states = [2, 3]  \n        num_obs = [3, 3, 3]\n\n        A_dependencies = [[0, 1], [0, 1], [1]] \n        A = []\n        for m, obs in enumerate(num_obs):\n            lagging_dimensions = [ns for i, ns in enumerate(num_states) if i in A_dependencies[m]]\n            modality_shape = [obs] + lagging_dimensions\n            A.append(np.zeros(modality_shape))\n            if m == 0:\n                A[m][:, :, 0] = np.ones( (num_obs[m], num_states[0]) ) / num_obs[m]\n                A[m][:, :, 1] = np.ones( (num_obs[m], num_states[0]) ) / num_obs[m]\n                A[m][:, :, 2] = np.array([[0.9, 0.1], [0.0, 0.0], [0.1, 0.9]]) # cue statistics\n            if m == 1:\n                A[m][2, :, 0] = np.ones(num_states[0])\n                A[m][0:2, :, 1] = np.array([[0.6, 0.4], [0.6, 0.4]]) # bandit statistics (mapping between reward-state (first hidden state factor) and rewards (Good vs Bad))\n                A[m][2, :, 2] = np.ones(num_states[0])\n            if m == 2:\n                A[m] = np.eye(obs)\n\n        qs_start = list(utils.obj_array_uniform(num_states))\n        qs_start[1] = np.array([1., 0., 0.]) # agent believes it's in the start state\n\n        A = [jnp.array(A_m) for A_m in A]\n        qs_start = [jnp.array(qs) for qs in qs_start]\n        qo_start = ctl_jax.compute_expected_obs(qs_start, A, A_dependencies)\n        \n        start_info_gain = ctl_jax.compute_info_gain(qs_start, qo_start, A, A_dependencies)\n\n        qs_arm = list(utils.obj_array_uniform(num_states))\n        qs_arm[1] = np.array([0., 1., 0.]) # agent believes it's in the arm-visiting state\n        qs_arm = [jnp.array(qs) for qs in qs_arm]\n        qo_arm = ctl_jax.compute_expected_obs(qs_arm, A, A_dependencies)\n        \n        arm_info_gain = ctl_jax.compute_info_gain(qs_arm, qo_arm, A, A_dependencies)\n        \n        qs_cue = utils.obj_array_uniform(num_states)\n        qs_cue[1] = np.array([0., 0., 1.]) # agent believes it's in the cue-visiting state\n        qs_cue = [jnp.array(qs) for qs in qs_cue]\n        \n        qo_cue = ctl_jax.compute_expected_obs(qs_cue, A, A_dependencies)\n        cue_info_gain = ctl_jax.compute_info_gain(qs_cue, qo_cue, A, A_dependencies)\n        \n        self.assertGreater(arm_info_gain, start_info_gain)\n        self.assertGreater(cue_info_gain, arm_info_gain)\n\n        gm_params = generate_model_params()\n        _num_factors_list, num_states_list, _num_modalities_list, num_obs_list, A_deps_list = gm_params['nf_list'], gm_params['ns_list'], gm_params['nm_list'], gm_params['no_list'], gm_params['A_deps_list']\n        keys = jr.split(jr.PRNGKey(1234), len(num_states_list)*2).reshape((len(num_states_list), 2, 2))\n        for (keys_per_element, num_states, num_obs, A_deps) in zip(keys, num_states_list, num_obs_list, A_deps_list):\n\n            qs_jax = random_factorized_categorical(keys_per_element[0], num_states)\n            qs_numpy = utils.obj_array_from_list(qs_jax)\n\n            A_jax = random_A_array(keys_per_element[1], num_obs, num_states, A_dependencies=A_deps)\n            A_np = [np.array(A_m) for A_m in A_jax]\n\n            qo = ctl_jax.compute_expected_obs(qs_jax, A_jax, A_deps)\n\n            info_gain = ctl_jax.compute_info_gain(qs_jax, qo, A_jax, A_deps)\n            info_gain_validation = ctl_np.calc_states_info_gain_factorized(A_np, [qs_numpy],  A_deps)\n\n            self.assertTrue(np.allclose(info_gain, info_gain_validation, atol=1e-4))\n    def test_update_posterior_policies_accepts_partial_param_posteriors(self):\n        \"\"\"Parameter epistemic value should work with only pA or only pB provided.\"\"\"\n\n        num_states = [3, 2]\n        num_obs = [4, 3]\n        num_controls = [2, 1]\n        A_dependencies = [[0, 1], [1]]\n        B_dependencies = [[0], [1]]\n\n        key = jr.PRNGKey(7)\n        key_A, key_B, key_qs, key_pA, key_pB = jr.split(key, 5)\n\n        A = random_A_array(key_A, num_obs, num_states, A_dependencies=A_dependencies)\n        B = random_B_array(key_B, num_states, num_controls, B_dependencies=B_dependencies)\n        qs = random_factorized_categorical(key_qs, num_states)\n\n        pA = [\n            jr.uniform(k, a_m.shape, minval=0.5, maxval=2.0)\n            for a_m, k in zip(A, jr.split(key_pA, len(A)))\n        ]\n        pB = [\n            jr.uniform(k, b_f.shape, minval=0.5, maxval=2.0)\n            for b_f, k in zip(B, jr.split(key_pB, len(B)))\n        ]\n\n        policy_matrix = ctl_jax.construct_policies(num_states, num_controls, policy_len=2)\n        C = list_array_zeros(num_obs)\n        E = jnp.ones(policy_matrix.shape[0]) / policy_matrix.shape[0]\n\n        for pA_arg, pB_arg in ((pA, None), (None, pB)):\n            q_pi, neg_efe = ctl_jax.update_posterior_policies(\n                policy_matrix,\n                qs,\n                A,\n                B,\n                C,\n                E,\n                pA_arg,\n                pB_arg,\n                A_dependencies,\n                B_dependencies,\n                use_utility=False,\n                use_states_info_gain=False,\n                use_param_info_gain=True,\n            )\n\n            self.assertEqual(q_pi.shape, (policy_matrix.shape[0],))\n            self.assertEqual(neg_efe.shape, (policy_matrix.shape[0],))\n            self.assertTrue(np.isclose(np.array(q_pi).sum(), 1.0))\n            self.assertTrue(np.all(np.isfinite(np.array(neg_efe))))\n\n    def test_update_posterior_policies_requires_param_posterior_when_enabled(self):\n        \"\"\"Enabling parameter epistemic value without pA or pB should fail fast.\"\"\"\n\n        num_states = [3, 2]\n        num_obs = [4, 3]\n        num_controls = [2, 1]\n        A_dependencies = [[0, 1], [1]]\n        B_dependencies = [[0], [1]]\n\n        key = jr.PRNGKey(11)\n        key_A, key_B, key_qs = jr.split(key, 3)\n\n        A = random_A_array(key_A, num_obs, num_states, A_dependencies=A_dependencies)\n        B = random_B_array(key_B, num_states, num_controls, B_dependencies=B_dependencies)\n        qs = random_factorized_categorical(key_qs, num_states)\n\n        policy_matrix = ctl_jax.construct_policies(num_states, num_controls, policy_len=2)\n        C = list_array_zeros(num_obs)\n        E = jnp.ones(policy_matrix.shape[0]) / policy_matrix.shape[0]\n        depth = 1\n        I = [jnp.zeros((depth, ns)) for ns in num_states]\n        error_msg = \"use_param_info_gain=True requires at least one of pA or pB.\"\n\n        with self.assertRaisesRegex(ValueError, error_msg):\n            ctl_jax.update_posterior_policies(\n                policy_matrix,\n                qs,\n                A,\n                B,\n                C,\n                E,\n                None,\n                None,\n                A_dependencies,\n                B_dependencies,\n                use_utility=False,\n                use_states_info_gain=False,\n                use_param_info_gain=True,\n            )\n\n        with self.assertRaisesRegex(ValueError, error_msg):\n            ctl_jax.update_posterior_policies_inductive(\n                policy_matrix,\n                qs,\n                A,\n                B,\n                C,\n                E,\n                None,\n                None,\n                A_dependencies,\n                B_dependencies,\n                I,\n                use_utility=False,\n                use_states_info_gain=False,\n                use_param_info_gain=True,\n                use_inductive=False,\n            )\n\n        with self.assertRaisesRegex(ValueError, error_msg):\n            ctl_jax.compute_neg_efe_policy(\n                qs,\n                A,\n                B,\n                C,\n                None,\n                None,\n                A_dependencies,\n                B_dependencies,\n                policy_matrix[0],\n                use_utility=False,\n                use_states_info_gain=False,\n                use_param_info_gain=True,\n            )\n\n        with self.assertRaisesRegex(ValueError, error_msg):\n            ctl_jax.compute_neg_efe_policy_inductive(\n                qs,\n                A,\n                B,\n                C,\n                None,\n                None,\n                A_dependencies,\n                B_dependencies,\n                I,\n                policy_matrix[0],\n                use_utility=False,\n                use_states_info_gain=False,\n                use_param_info_gain=True,\n                use_inductive=False,\n            )\n\nif __name__ == \"__main__\":\n    unittest.main()\n"
  },
  {
    "path": "test/test_cue_chaining_env.py",
    "content": "import unittest\n\nimport jax.numpy as jnp\nimport jax.random as jr\n\nfrom pymdp.agent import Agent\nfrom pymdp.envs.cue_chaining import CueChainingEnv\nfrom pymdp.envs.rollout import rollout\n\n\nclass TestCueChainingEnv(unittest.TestCase):\n    def test_shapes_and_dependencies(self):\n        env = CueChainingEnv()\n\n        self.assertEqual(len(env.A), 4)\n        self.assertEqual(len(env.B), 3)\n        self.assertEqual(len(env.D), 3)\n\n        self.assertEqual(env.A[0].shape, (35, 35))\n        self.assertEqual(env.A[1].shape, (5, 35, 4))\n        self.assertEqual(env.A[2].shape, (3, 35, 4, 2))\n        self.assertEqual(env.A[3].shape, (3, 35, 2))\n        self.assertEqual(env.A_dependencies, [[0], [0, 1], [0, 1, 2], [0, 2]])\n\n        self.assertEqual(env.B[0].shape, (35, 35, 5))\n        self.assertEqual(env.B[1].shape, (4, 4, 1))\n        self.assertEqual(env.B[2].shape, (2, 2, 1))\n        self.assertEqual(env.B_dependencies, [[0], [1], [2]])\n\n        self.assertEqual(env.D[0].shape, (35,))\n        self.assertEqual(env.D[1].shape, (4,))\n        self.assertEqual(env.D[2].shape, (2,))\n\n    def test_cue_and_reward_likelihood_semantics(self):\n        env = CueChainingEnv()\n        cue1_idx = env.cue1_index\n\n        for cue_state in range(env.num_cue2_states):\n            self.assertTrue(bool(jnp.isclose(env.A[1][0, cue1_idx, cue_state], 0.0)))\n            self.assertTrue(bool(jnp.isclose(env.A[1][1 + cue_state, cue1_idx, cue_state], 1.0)))\n\n        non_cue1_idx = env.start_index\n        self.assertTrue(bool(jnp.isclose(env.A[1][0, non_cue1_idx, 0], 1.0)))\n\n        for cue_state, cue_loc_idx in enumerate(env.cue2_indices):\n            for reward_state in range(env.num_reward_states):\n                self.assertTrue(\n                    bool(\n                        jnp.isclose(\n                            env.A[2][1 + reward_state, cue_loc_idx, cue_state, reward_state],\n                            1.0,\n                        )\n                    )\n                )\n\n        mismatched_state = 1\n        cue0_loc_idx = env.cue2_indices[0]\n        self.assertTrue(bool(jnp.isclose(env.A[2][0, cue0_loc_idx, mismatched_state, 0], 1.0)))\n\n        top_idx, bottom_idx = env.reward_indices\n        self.assertTrue(bool(jnp.isclose(env.A[3][1, top_idx, 0], 1.0)))\n        self.assertTrue(bool(jnp.isclose(env.A[3][2, top_idx, 1], 1.0)))\n        self.assertTrue(bool(jnp.isclose(env.A[3][2, bottom_idx, 0], 1.0)))\n        self.assertTrue(bool(jnp.isclose(env.A[3][1, bottom_idx, 1], 1.0)))\n\n    def test_env_params_broadcast(self):\n        env = CueChainingEnv()\n        batch_size = 3\n        env_params = env.generate_env_params(batch_size=batch_size)\n\n        self.assertEqual(env_params[\"A\"][0].shape[0], batch_size)\n        self.assertEqual(env_params[\"B\"][0].shape[0], batch_size)\n        self.assertEqual(env_params[\"D\"][0].shape[0], batch_size)\n\n    def test_rollout_smoke(self):\n        env = CueChainingEnv(cue2_state=3, reward_condition=1)\n        C = [jnp.zeros((a.shape[0],), dtype=jnp.float32) for a in env.A]\n        C[3] = C[3].at[1].set(2.0)\n        C[3] = C[3].at[2].set(-4.0)\n\n        agent = Agent(\n            A=env.A,\n            B=env.B,\n            C=C,\n            D=env.D,\n            A_dependencies=env.A_dependencies,\n            B_dependencies=env.B_dependencies,\n            policy_len=4,\n            batch_size=1,\n        )\n\n        num_timesteps = 6\n        _, info = rollout(agent, env, num_timesteps=num_timesteps, rng_key=jr.PRNGKey(0))\n\n        self.assertEqual(info[\"action\"].shape, (1, num_timesteps + 1, 3))\n        self.assertEqual(info[\"observation\"][0].shape, (1, num_timesteps + 1, 1))\n        self.assertEqual(info[\"observation\"][1].shape, (1, num_timesteps + 1, 1))\n        self.assertEqual(info[\"observation\"][2].shape, (1, num_timesteps + 1, 1))\n        self.assertEqual(info[\"observation\"][3].shape, (1, num_timesteps + 1, 1))\n\n        loc_actions = info[\"action\"][0, :, 0]\n        self.assertTrue(bool(jnp.all(loc_actions >= 0)))\n        self.assertTrue(bool(jnp.all(loc_actions < len(env.ACTION_LABELS))))\n"
  },
  {
    "path": "test/test_demos.py",
    "content": "import unittest\nimport numpy as np\nimport copy\nimport seaborn as sns\nimport matplotlib.pyplot as plt\n\nfrom pymdp.legacy.agent import Agent\nfrom pymdp.legacy import utils, maths, default_models\nfrom pymdp.legacy import control\nfrom pymdp.legacy.envs import TMazeEnv, TMazeEnvNullOutcome\nfrom pymdp.legacy.maths import spm_log_single as log_stable \n\nfrom copy import deepcopy\n\nclass TestDemos(unittest.TestCase):\n\n    def test_agent_demo(self):\n        \"\"\"\n        This unit test runs a more concise version of the\n        code in the `agent_demo.ipynb` tutorial Jupyter notebook and the `agent_demo` Python script \n        to make sure the code works whenever we change something.\n        \"\"\"\n\n        A, B, C, control_fac_idx = default_models.generate_epistemic_MAB_model()\n\n        num_obs, num_states, num_modalities, num_factors = utils.get_model_dimensions(A = A, B = C)\n       \n        agent = Agent(A=A, B=B, C=C, control_fac_idx=control_fac_idx)\n\n        # transition/observation matrices characterising the generative process\n        A_gp = copy.deepcopy(A)\n        B_gp = copy.deepcopy(B)\n\n        # initial state\n        T = 5 # number of timesteps in the simulation\n        observation = [2, 2, 0] # initial observation -- no evidence for which arm is rewarding, neutral reward observation, and see themselves in the starting state\n        state = [0, 0] # initial (true) state -- the reward condition is highly rewarding, and the true position in the 'start' position\n\n        action_history = []\n\n        for t in range(T):\n    \n            # update agent\n            agent.infer_states(observation)\n            agent.infer_policies()\n            action = agent.sample_action()\n\n            action_history.append(action)\n            \n            # update environment\n            for f, s in enumerate(state):\n                state[f] = utils.sample(B_gp[f][:, s, int(action[f])])\n\n            for g, _ in enumerate(observation):\n                observation[g] = utils.sample(A_gp[g][:, state[0], state[1]])\n        \n        # make sure the first action is sampling\n        # self.assertEqual(action_history[0][-1], 2) #  @NOTE: Stochastic sampling means this is not always true!!!\n\n        # make sure the last action is playing\n        # self.assertEqual(action_history[-1][-1], 1) # @NOTE: Stochastic sampling means this is not always true!!!\n    \n    def test_tmaze_demo(self):\n        \"\"\"\n        This unit test runs the a concise version of the code in the `tmaze_demo.ipynb` tutorial notebook to make sure it works if things are changed\n        \"\"\"\n\n        reward_probabilities = [0.98, 0.02] # probabilities used in the original SPM T-maze demo\n        env = TMazeEnv(reward_probs = reward_probabilities)\n\n        '''test plotting of the observation likelihood (just plot one slice)'''\n        A_gp = env.get_likelihood_dist()\n        # plot_likelihood(A_gp[1][:,:,0],'Reward Right')\n\n        '''test plotting of the transition likelihood (just plot one slice)'''\n        B_gp = env.get_transition_dist()\n        # plot_likelihood(B_gp[1][:,:,0],'Reward Condition Transitions')\n\n        A_gm = copy.deepcopy(A_gp) # make a copy of the true observation likelihood to initialize the observation model\n        B_gm = copy.deepcopy(B_gp)# make a copy of the true transition likelihood to initialize the transition model\n        \n        control_fac_idx = [0]\n        agent = Agent(A=A_gm, B=B_gm, control_fac_idx=control_fac_idx)\n        # plot_beliefs(agent.D[0],\"Beliefs about initial location\")\n\n        agent.C[1][1] = 3.0 # they like reward\n        agent.C[1][2] = -3.0 # they don't like loss\n\n        T = 5 # number of timesteps\n\n        obs = env.reset() # reset the environment and get an initial observation\n\n        # these are useful for displaying read-outs during the loop over time\n      \n        for t in range(T):\n            agent.infer_states(obs)\n\n            q_pi, G = agent.infer_policies()\n\n            action = agent.sample_action()\n\n            obs = env.step(action)\n\n            if int(action[0]) == 3:\n                \n                # if the reward condition is Reward on RIGHT\n                if env.reward_condition == 0:\n                    self.assertEqual(obs[2], 0) # this tests that the cue observation is 'Cue Right' in case of 'Reward on Right' condition\n\n                # if the reward condition is Reward on RIGHT\n                if env.reward_condition == 1:\n                    self.assertEqual(obs[2], 1) # this tests that the cue observation is 'Cue Left' in case of 'Reward on Left' condition\n\n            \n        # plot_beliefs(qx[1],\"Final posterior beliefs about reward condition\")\n    \n    def test_tmaze_learning_demo(self):\n        \"\"\"\n        This unit test runs the a concise version of the code in the `tmaze_demo_learning.ipynb` tutorial notebook to make sure it works if things are changed\n        \"\"\"\n        \n        reward_probabilities = [0.85, 0.15] # the 'true' reward probabilities \n        env = TMazeEnvNullOutcome(reward_probs = reward_probabilities)\n        A_gp = env.get_likelihood_dist()\n        B_gp = env.get_transition_dist()\n\n        pA = utils.dirichlet_like(A_gp, scale = 1e16)\n\n        pA[1][1:,1:3,:] = 1.0\n\n        A_gm = utils.norm_dist_obj_arr(pA) \n\n        B_gm = copy.deepcopy(B_gp)\n\n        controllable_indices = [0] # this is a list of the indices of the hidden state factors that are controllable\n        learnable_modalities = [1] # this is a list of the modalities that you want to be learn-able \n\n        agent = Agent(A=A_gm,pA=pA,B=B_gm,\n              control_fac_idx=controllable_indices,\n              modalities_to_learn=learnable_modalities,\n              lr_pA = 0.25,\n              use_param_info_gain=True)\n\n        agent.D[0] = utils.onehot(0, agent.num_states[0])\n        agent.C[1][1] = 2.0\n        agent.C[1][2] = -2.0\n\n        T = 1000 # number of timesteps\n\n        obs = env.reset() # reset the environment and get an initial observation\n\n        for t in range(T):\n            agent.infer_states(obs)\n            agent.infer_policies()\n            action = agent.sample_action()\n            agent.update_A(obs)     \n            obs = env.step(action)\n        \n        # make sure they are learning the reward contingencies in the right general direction\n\n        REWARD_ON_RIGHT = 0\n        REWARD_ON_LEFT = 1\n\n        REWARD = 1\n        PUNISHMENT = 2\n\n        RIGHT_ARM = 1\n        LEFT_ARM = 2\n\n        # in case the reward condition is 'Reward on RIGHT' \n\n        if env.reward_condition == REWARD_ON_RIGHT:\n\n            prob_reward_right = agent.A[1][REWARD,RIGHT_ARM,REWARD_ON_RIGHT]\n            prob_punishment_right = agent.A[1][PUNISHMENT,RIGHT_ARM,REWARD_ON_RIGHT]\n\n            self.assertGreater(prob_reward_right, prob_punishment_right)\n\n        # in case the reward condition is 'Reward on LEFT' \n\n        elif env.reward_condition == REWARD_ON_LEFT:\n\n            prob_reward_left = agent.A[1][REWARD,LEFT_ARM,REWARD_ON_LEFT]\n            prob_punishment_left = agent.A[1][PUNISHMENT,LEFT_ARM,REWARD_ON_LEFT]\n            self.assertGreater(prob_reward_left, prob_punishment_left)\n\n    def test_gridworld_genmodel_construction(self):\n        \"\"\"\n        This unit test runs the a concise version of the code in the `gridworld_tutorial_1.ipynb` tutorial notebook to make sure it works if things are changed\n        \"\"\"\n\n        state_mapping = {0: (0,0), 1: (1,0), 2: (2,0), 3: (0,1), 4: (1,1), 5:(2,1), 6: (0,2), 7:(1,2), 8:(2,2)}\n\n        grid = np.zeros((3,3))\n        for linear_index, xy_coordinates in state_mapping.items():\n            x, y = xy_coordinates\n            grid[y,x] = linear_index # rows are the y-coordinate, columns are the x-coordinate -- so we index into the grid we'll be visualizing using '[y, x]'\n        plt.figure(figsize = (3,3))\n        sns.set(font_scale=1.5)\n        sns.heatmap(grid, annot=True,  cbar = False, fmt='.0f', cmap='crest')\n\n        A = np.eye(9)\n\n        [state_mapping[i] for i in range(A.shape[1])]\n\n        # plot_likelihood(A)\n\n        P = {}\n        dim = 3\n        actions = {'UP':0, 'RIGHT':1, 'DOWN':2, 'LEFT':3, 'STAY':4}\n\n        for state_index, xy_coordinates in state_mapping.items():\n            P[state_index] = {a : [] for a in range(len(actions))}\n            x, y = xy_coordinates\n\n            '''if your y-coordinate is all the way at the top (i.e. y == 0), you stay in the same place -- otherwise you move one upwards (achieved by subtracting 3 from your linear state index'''\n            P[state_index][actions['UP']] = state_index if y == 0 else state_index - dim \n\n            '''f your x-coordinate is all the way to the right (i.e. x == 2), you stay in the same place -- otherwise you move one to the right (achieved by adding 1 to your linear state index)'''\n            P[state_index][actions[\"RIGHT\"]] = state_index if x == (dim -1) else state_index+1 \n\n            '''if your y-coordinate is all the way at the bottom (i.e. y == 2), you stay in the same place -- otherwise you move one down (achieved by adding 3 to your linear state index)'''\n            P[state_index][actions['DOWN']] = state_index if y == (dim -1) else state_index + dim \n\n            ''' if your x-coordinate is all the way at the left (i.e. x == 0), you stay at the same place -- otherwise, you move one to the left (achieved by subtracting 1 from your linear state index)'''\n            P[state_index][actions['LEFT']] = state_index if x == 0 else state_index -1 \n\n            ''' Stay in the same place (self explanatory) '''\n            P[state_index][actions['STAY']] = state_index\n        \n        num_states = 9\n        B = np.zeros([num_states, num_states, len(actions)])\n        for s in range(num_states):\n            for a in range(len(actions)):\n                ns = int(P[s][a])\n                B[ns, s, a] = 1\n        \n        self.assertTrue(B.shape[0] == 9)\n\n        # fig, axes = plt.subplots(2,3, figsize = (15,8))\n        # a = list(actions.keys())\n        # count = 0\n        # for i in range(dim-1):\n        #     for j in range(dim):\n        #         if count >= 5:\n        #             break \n        #         g = sns.heatmap(B[:,:,count], cmap = \"OrRd\", linewidth = 2.5, cbar = False, ax = axes[i,j], xticklabels=labels, yticklabels=labels)\n        #         g.set_title(a[count])\n        #         count +=1 \n        # fig.delaxes(axes.flatten()[5])\n        # plt.tight_layout()\n    \n    def test_gridworld_activeinference(self):\n        \"\"\"\n        This unit test runs the a concise version of the code in the `gridworld_tutorial_1.ipynb` tutorial notebook to make sure it works if things are changed\n        \"\"\"\n\n\n        state_mapping = {0: (0,0), 1: (1,0), 2: (2,0), 3: (0,1), 4: (1,1), 5:(2,1), 6: (0,2), 7:(1,2), 8:(2,2)}\n\n        A = np.eye(9)\n       \n        [state_mapping[i] for i in range(A.shape[1])]\n       \n        # def plot_empirical_prior(B):\n        #     fig, axes = plt.subplots(3,2, figsize=(8, 10))\n        #     actions = ['UP', 'RIGHT', 'DOWN', 'LEFT', 'STAY']\n        #     count = 0\n        #     for i in range(3):\n        #         for j in range(2):\n        #             if count >= 5:\n        #                 break\n                        \n        #             g = sns.heatmap(B[:,:,count], cmap=\"OrRd\", linewidth=2.5, cbar=False, ax=axes[i,j])\n\n        #             g.set_title(actions[count])\n        #             count += 1\n        #     fig.delaxes(axes.flatten()[5])\n        #     plt.tight_layout()\n            \n        # def plot_transition(B):\n        #     fig, axes = plt.subplots(2,3, figsize = (15,8))\n        #     a = list(actions.keys())\n        #     count = 0\n        #     for i in range(dim-1):\n        #         for j in range(dim):\n        #             if count >= 5:\n        #                 break \n        #             g = sns.heatmap(B[:,:,count], cmap = \"OrRd\", linewidth = 2.5, cbar = False, ax = axes[i,j], xticklabels=labels, yticklabels=labels)\n        #             g.set_title(a[count])\n        #             count +=1 \n        #     fig.delaxes(axes.flatten()[5])\n        #     plt.tight_layout()\n        \n        A = np.eye(9)\n        # plot_likelihood(A)\n\n        P = {}\n        dim = 3\n        actions = {'UP':0, 'RIGHT':1, 'DOWN':2, 'LEFT':3, 'STAY':4}\n\n        for state_index, xy_coordinates in state_mapping.items():\n            P[state_index] = {a : [] for a in range(len(actions))}\n            x, y = xy_coordinates\n\n            '''if your y-coordinate is all the way at the top (i.e. y == 0), you stay in the same place -- otherwise you move one upwards (achieved by subtracting 3 from your linear state index'''\n            P[state_index][actions['UP']] = state_index if y == 0 else state_index - dim \n\n            '''f your x-coordinate is all the way to the right (i.e. x == 2), you stay in the same place -- otherwise you move one to the right (achieved by adding 1 to your linear state index)'''\n            P[state_index][actions[\"RIGHT\"]] = state_index if x == (dim -1) else state_index+1 \n\n            '''if your y-coordinate is all the way at the bottom (i.e. y == 2), you stay in the same place -- otherwise you move one down (achieved by adding 3 to your linear state index)'''\n            P[state_index][actions['DOWN']] = state_index if y == (dim -1) else state_index + dim \n\n            ''' if your x-coordinate is all the way at the left (i.e. x == 0), you stay at the same place -- otherwise, you move one to the left (achieved by subtracting 1 from your linear state index)'''\n            P[state_index][actions['LEFT']] = state_index if x == 0 else state_index -1 \n\n            ''' Stay in the same place (self explanatory) '''\n            P[state_index][actions['STAY']] = state_index\n\n        \n        num_states = 9\n        B = np.zeros([num_states, num_states, len(actions)])\n        for s in range(num_states):\n            for a in range(len(actions)):\n                ns = int(P[s][a])\n                B[ns, s, a] = 1\n\n        # plot_transition(B)\n        \n        class GridWorldEnv():\n    \n            def __init__(self,A,B):\n                self.A = deepcopy(A)\n                self.B = deepcopy(B)\n                self.state = np.zeros(9)\n                self.state[2] = 1\n            \n            def step(self,a):\n                self.state = np.dot(self.B[:,:,a], self.state)\n                obs = utils.sample(np.dot(self.A, self.state))\n                return obs\n\n            def reset(self):\n                self.state =np.zeros(9)\n                self.state[2] =1 \n                obs = utils.sample(np.dot(self.A, self.state))\n                return obs\n        \n        env = GridWorldEnv(A,B)\n\n        def KL_divergence(q,p):\n            return np.sum(q * (log_stable(q) - log_stable(p)))\n\n        def compute_free_energy(q,A, B):\n            return np.sum(q * (log_stable(q) - log_stable(A) - log_stable(B)))\n\n        def softmax(x):\n            return np.exp(x) / np.sum(np.exp(x))\n\n        # def perform_inference(likelihood, prior):\n        #     return softmax(log_stable(likelihood) + log_stable(prior))\n        \n        Qs = np.ones(9) * 1/9\n        # plot_beliefs(Qs)\n\n        REWARD_LOCATION = 7\n        state_mapping[REWARD_LOCATION]\n\n        C = np.zeros(num_states)\n        C[REWARD_LOCATION] = 1. \n        # plot_beliefs(C)\n\n        def evaluate_policy(policy, Qs, A, B, C):\n            # initialize expected free energy at 0\n            G = 0\n\n            # loop over policy\n            for t in range(len(policy)):\n\n                # get action entailed by the policy at timestep `t`\n                u = int(policy[t].item())\n\n                # work out expected state, given the action\n                Qs_pi = B[:,:,u].dot(Qs)\n\n                # work out expected observations, given the action\n                Qo_pi = A.dot(Qs_pi)\n\n                # get entropy\n                H = - (A * log_stable(A)).sum(axis = 0)\n\n                # get predicted divergence\n                # divergence = np.sum(Qo_pi * (log_stable(Qo_pi) - log_stable(C)), axis=0)\n                divergence = KL_divergence(Qo_pi, C)\n                \n                # compute the expected uncertainty or ambiguity \n                uncertainty = H.dot(Qs_pi)\n\n                # increment the expected free energy counter for the policy, using the expected free energy at this timestep\n                G += (divergence + uncertainty)\n\n            return -G\n\n        def infer_action(Qs, A, B, C, n_actions, policies):\n    \n            # initialize the negative expected free energy\n            neg_G = np.zeros(len(policies))\n\n            # loop over every possible policy and compute the EFE of each policy\n            for i, policy in enumerate(policies):\n                neg_G[i] = evaluate_policy(policy, Qs, A, B, C)\n\n            # get distribution over policies\n            Q_pi = maths.softmax(neg_G)\n\n            # initialize probabilites of control states (convert from policies to actions)\n            Qu = np.zeros(n_actions)\n\n            # sum probabilites of control states or actions \n            for i, policy in enumerate(policies):\n                # control state specified by policy\n                u = int(policy[0].item())\n                # add probability of policy\n                Qu[u] += Q_pi[i]\n\n            # normalize action marginal\n            utils.norm_dist(Qu)\n\n            # sample control from action marginal\n            u = utils.sample(Qu)\n\n            return u\n\n        # number of time steps\n        T = 10\n\n        #n_actions = env.n_control\n        n_actions = 5\n\n        # length of policies we consider\n        policy_len = 4\n\n        # this function generates all possible combinations of policies\n        policies = control.construct_policies([B.shape[0]], [n_actions], policy_len)\n\n        # reset environment\n        o = env.reset()\n\n        # loop over time\n        for t in range(T):\n\n            # infer which action to take\n            a = infer_action(Qs, A, B, C, n_actions, policies)\n            \n            # perform action in the environment and update the environment\n            o = env.step(int(a))\n            \n            # infer new hidden state (this is the same equation as above but with PyMDP functions)\n            likelihood = A[o,:]\n            prior = B[:,:,int(a)].dot(Qs)\n\n            Qs = maths.softmax(log_stable(likelihood) + log_stable(prior))\n            \n            # plot_beliefs(Qs, \"Beliefs (Qs) at time {}\".format(t))\n\n        # self.assertEqual(np.argmax(Qs), REWARD_LOCATION) # @NOTE: This is not always true due to stochastic samplign!!!\n        self.assertEqual(Qs.shape[0], B.shape[0])\n\n\n\n           \nif __name__ == \"__main__\":\n    unittest.main()"
  },
  {
    "path": "test/test_distribution.py",
    "content": "import unittest\nfrom pymdp import distribution\nimport numpy as np\nclass TestDists(unittest.TestCase):\n\n    def test_distribution_slice(self):\n        controls = [\"up\", \"down\"]\n        locations = [\"A\", \"B\", \"C\", \"D\"]\n\n        data = np.zeros((len(locations), len(locations), len(controls)))\n        transition = distribution.Distribution(\n            {\"location\": locations},\n            {\"location\": locations, \"control\": controls},\n            data,\n        )\n        self.assertEqual(transition[\"A\", \"B\", \"up\"], 0.0)\n        self.assertEqual(transition[:, \"B\", \"up\"].shape, (4,))\n        self.assertEqual(transition[\"A\", \"B\", :].shape, (2,))\n        self.assertEqual(transition[:, \"B\", :].shape, (4, 2))\n        self.assertEqual(transition[:, :, :].shape, (4, 4, 2))\n        self.assertEqual(transition[0, \"B\", 0], 0.0)\n        self.assertEqual(transition[:, \"B\", 0].shape, (4,))\n\n        transition[\"A\", \"B\", \"up\"] = 0.5\n        self.assertEqual(transition[\"A\", \"B\", \"up\"], 0.5)\n        transition[:, \"B\", \"up\"] = np.ones(4)\n        self.assertTrue(np.all(transition[:, \"B\", \"up\"] == 1.0))\n\n    def test_distribution_get_set(self):\n        controls = [\"up\", \"down\"]\n        locations = [\"A\", \"B\", \"C\", \"D\"]\n\n        data = np.zeros((len(locations), len(locations), len(controls)))\n        transition = distribution.Distribution(\n            {\"location\": locations},\n            {\"location\": locations, \"control\": controls},\n            data,\n        )\n\n        self.assertEqual(\n            transition.get({\"location\": \"A\"}, {\"location\": \"B\"}).shape, (2,)\n        )\n        self.assertEqual(\n            transition.get(\n                {\"location\": \"A\", \"control\": \"up\"}, {\"location\": \"B\"}\n            ),\n            0.0,\n        )\n        self.assertEqual(transition.get({\"control\": \"up\"}).shape, (4, 4))\n\n        transition.set(\n            {\"location\": \"A\", \"control\": \"up\"}, {\"location\": \"B\"}, 0.5\n        )\n        self.assertEqual(\n            transition.get(\n                {\"location\": \"A\", \"control\": \"up\"}, {\"location\": \"B\"}\n            ),\n            0.5,\n        )\n        transition.set(\n            {\"location\": 0, \"control\": \"up\"}, {\"location\": \"B\"}, 0.7\n        )\n        self.assertEqual(\n            transition.get(\n                {\"location\": \"A\", \"control\": \"up\"}, {\"location\": \"B\"}\n            ),\n            0.7,\n        )\n        transition.set({\"location\": \"A\"}, {\"location\": \"B\"}, np.ones(2))\n        self.assertTrue(\n            np.all(transition.get({\"location\": \"A\"}, {\"location\": \"B\"}) == 1.0)\n        )\n\n    def test_agent_compile(self):\n        model_example = {\n            \"observations\": {\n                \"observation_1\": {\"size\": 10, \"depends_on\": [\"factor_1\"]},\n                \"observation_2\": {\n                    \"elements\": [\"A\", \"B\"],\n                    \"depends_on\": [\"factor_1\"],\n                },\n            },\n            \"controls\": {\n                \"control_1\": {\"size\": 2},\n                \"control_2\": {\"elements\": [\"X\", \"Y\"]},\n            },\n            \"states\": {\n                \"factor_1\": {\n                    \"elements\": [\"II\", \"JJ\", \"KK\"],\n                    \"depends_on\": [\"factor_1\", \"factor_2\"],\n                    \"controlled_by\": [\"control_1\", \"control_2\"],\n                },\n                \"factor_2\": {\n                    \"elements\": [\"foo\", \"bar\"],\n                    \"depends_on\": [\"factor_2\"],\n                    \"controlled_by\": [\"control_2\"],\n                },\n            },\n        }\n        model = distribution.compile_model(model_example)\n        self.assertEqual(len(model.B), 2)\n        self.assertEqual(len(model.A), 2)\n        self.assertEqual(model.B[0].data.shape, (3, 3, 2, 2, 2))\n        self.assertEqual(model.B[1].data.shape, (2, 2, 2))\n        self.assertEqual(model.A[0].data.shape, (10, 3))\n        self.assertEqual(model.A[1].data.shape, (2, 3))\n        self.assertIsNotNone\n        self.assertIsNotNone(model.A[0][:, \"II\"])\n        self.assertIsNotNone(model.A[1][1, :])\n        self.assertIsNotNone(model.B_action_dependencies)\n        self.assertIsNotNone(model.num_controls)\n        self.assertEqual(model.B_action_dependencies, [[0, 1], [1]])\n        self.assertEqual(model.num_controls, [2, 2])\n\n    def test_tensor_shape_change_protection(self):\n        \"\"\"\n        Test that directly setting a tensor with a different shape\n        than the original tensor raises an exception.\n        \"\"\"\n        locations = [\"here\", \"there\", \"everywhere\"]\n        data = np.zeros((len(locations), len(locations)))\n        dist = distribution.Distribution({\"location\": locations}, {\"location\": locations}, data)\n\n        # Attempting to set data with a mismatched shape should raise a ValueError\n        with self.assertRaises(ValueError):\n            dist.data = np.zeros((len(locations), len(locations) + 1))\n\n        # Setting data with the same shape should not raise an exception\n        try:\n            dist.data = np.ones((len(locations), len(locations)))\n        except ValueError:\n            self.fail(\"Setting tensor with the same shape should not raise a ValueError\")\n      "
  },
  {
    "path": "test/test_env.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\"Unit tests for the PymdpEnv.\"\"\"\n\nimport unittest\n\nimport jax.numpy as jnp\nimport jax.random as jr\nimport jax.tree_util as jtu\nfrom jax import vmap\n\nfrom pymdp.envs.env import PymdpEnv, make\n\n\ndef _stack_params(params_list):\n    return jtu.tree_map(lambda *xs: jnp.stack(xs, axis=0), *params_list)\n\n\ndef _make_deterministic_params(toggle_action_one=True):\n    A = [jnp.eye(2, dtype=jnp.float32)]\n\n    b = jnp.zeros((2, 2, 2), dtype=jnp.float32)\n    b = b.at[:, :, 0].set(jnp.eye(2, dtype=jnp.float32))\n    if toggle_action_one:\n        b = b.at[:, :, 1].set(\n            jnp.array([[0.0, 1.0], [1.0, 0.0]], dtype=jnp.float32)\n        )\n    else:\n        b = b.at[:, :, 1].set(jnp.eye(2, dtype=jnp.float32))\n\n    B = [b]\n    D = [jnp.array([1.0, 0.0], dtype=jnp.float32)]\n    return {\"A\": A, \"B\": B, \"D\": D}\n\n\ndef _make_stochastic_params():\n    A = [jnp.array([[0.9, 0.2], [0.1, 0.8]], dtype=jnp.float32)]\n    B = [\n        jnp.array(\n            [\n                [[0.25, 0.7], [0.6, 0.1]],\n                [[0.75, 0.3], [0.4, 0.9]],\n            ],\n            dtype=jnp.float32,\n        )\n    ]\n    D = [jnp.array([0.5, 0.5], dtype=jnp.float32)]\n    return {\"A\": A, \"B\": B, \"D\": D}\n\n\nclass TestPymdpEnv(unittest.TestCase):\n    def setUp(self):\n        self.A_dependencies = [[0]]\n        self.B_dependencies = [[0]]\n\n    def test_reset_respects_state_override(self):\n        \"\"\"Reset should honor a provided state override and emit matching obs.\"\"\"\n        params = _make_deterministic_params()\n        env = PymdpEnv(\n            A=params[\"A\"],\n            B=params[\"B\"],\n            D=params[\"D\"],\n            A_dependencies=self.A_dependencies,\n            B_dependencies=self.B_dependencies,\n        )\n\n        key = jr.PRNGKey(0)\n        state = [jnp.array(1.0, dtype=jnp.float32)]\n\n        obs, state_out = env.reset(key, state=state)\n\n        self.assertTrue(bool(jnp.array_equal(state_out[0], state[0])))\n        self.assertTrue(\n            bool(\n                jnp.array_equal(\n                    jnp.squeeze(obs[0]), jnp.array(1.0, dtype=obs[0].dtype)\n                )\n            )\n        )\n\n    def test_step_action_none_keeps_state(self):\n        \"\"\"Stepping with action=None should keep the state unchanged.\"\"\"\n        params = _make_deterministic_params()\n        env = PymdpEnv(\n            A=params[\"A\"],\n            B=params[\"B\"],\n            D=params[\"D\"],\n            A_dependencies=self.A_dependencies,\n            B_dependencies=self.B_dependencies,\n        )\n\n        key = jr.PRNGKey(1)\n        state = [jnp.array(0.0, dtype=jnp.float32)]\n\n        obs, state_out = env.step(key, state, action=None)\n\n        self.assertTrue(bool(jnp.array_equal(state_out[0], state[0])))\n        self.assertTrue(\n            bool(\n                jnp.array_equal(\n                    jnp.squeeze(obs[0]), jnp.array(0.0, dtype=obs[0].dtype)\n                )\n            )\n        )\n\n    def test_env_params_override_defaults(self):\n        \"\"\"Explicit env_params should override the env's internal A/B/D.\"\"\"\n        default_params = _make_deterministic_params(toggle_action_one=False)\n        env = PymdpEnv(\n            A=default_params[\"A\"],\n            B=default_params[\"B\"],\n            D=default_params[\"D\"],\n            A_dependencies=self.A_dependencies,\n            B_dependencies=self.B_dependencies,\n        )\n\n        override_params = _make_deterministic_params(toggle_action_one=False)\n        override_params[\"D\"] = [jnp.array([0.0, 1.0], dtype=jnp.float32)]\n\n        key = jr.PRNGKey(2)\n        obs, state = env.reset(key, env_params=override_params)\n\n        self.assertTrue(\n            bool(\n                jnp.array_equal(state[0], jnp.array(1.0, dtype=state[0].dtype))\n            )\n        )\n        self.assertTrue(\n            bool(\n                jnp.array_equal(\n                    jnp.squeeze(obs[0]), jnp.array(1.0, dtype=obs[0].dtype)\n                )\n            )\n        )\n\n    def test_generate_env_params_batches(self):\n        \"\"\"generate_env_params should broadcast to a requested batch size.\"\"\"\n        params = _make_deterministic_params()\n        env = PymdpEnv(\n            A=params[\"A\"],\n            B=params[\"B\"],\n            D=params[\"D\"],\n            A_dependencies=self.A_dependencies,\n            B_dependencies=self.B_dependencies,\n        )\n\n        env_params = env.generate_env_params()\n        self.assertEqual(env_params[\"A\"][0].shape, params[\"A\"][0].shape)\n\n        batch_size = 3\n        env_params_batched = env.generate_env_params(batch_size=batch_size)\n        self.assertEqual(env_params_batched[\"A\"][0].shape[0], batch_size)\n        self.assertEqual(env_params_batched[\"B\"][0].shape[0], batch_size)\n        self.assertEqual(env_params_batched[\"D\"][0].shape[0], batch_size)\n\n    def test_vmap_over_keys_matches_manual(self):\n        \"\"\"Vmap over keys should match manual per-key stepping.\"\"\"\n        params = _make_stochastic_params()\n        env = PymdpEnv(\n            A=params[\"A\"],\n            B=params[\"B\"],\n            D=params[\"D\"],\n            A_dependencies=self.A_dependencies,\n            B_dependencies=self.B_dependencies,\n        )\n\n        state = [jnp.array(0.0, dtype=jnp.float32)]\n        action = jnp.array([0], dtype=jnp.int32)\n        keys = jr.split(jr.PRNGKey(3), 6)\n\n        step_fn = vmap(lambda k: env.step(k, state, action))\n        obs_vmap, state_vmap = step_fn(keys)\n\n        manual_obs = []\n        manual_state = []\n        for key in keys:\n            obs, st = env.step(key, state, action)\n            manual_obs.append(obs)\n            manual_state.append(st)\n\n        stacked_obs = jtu.tree_map(lambda *xs: jnp.stack(xs, axis=0), *manual_obs)\n        stacked_state = jtu.tree_map(lambda *xs: jnp.stack(xs, axis=0), *manual_state)\n\n        self.assertTrue(bool(jnp.array_equal(obs_vmap[0], stacked_obs[0])))\n        self.assertTrue(bool(jnp.array_equal(state_vmap[0], stacked_state[0])))\n\n        self.assertGreater(int(jnp.unique(state_vmap[0]).size), 1)\n\n    def test_vmap_over_env_params_matches_manual(self):\n        \"\"\"Vmap over env_params should match manual per-param stepping.\"\"\"\n        params_stay = _make_deterministic_params(toggle_action_one=False)\n        params_toggle = _make_deterministic_params(toggle_action_one=True)\n\n        env = PymdpEnv(\n            A_dependencies=self.A_dependencies, B_dependencies=self.B_dependencies\n        )\n        state = [jnp.array(0.0, dtype=jnp.float32)]\n        action = jnp.array([1], dtype=jnp.int32)\n        key = jr.PRNGKey(4)\n\n        param_list = [params_stay, params_toggle]\n        batched_params = _stack_params(param_list)\n\n        step_fn = vmap(lambda params: env.step(key, state, action, env_params=params))\n        obs_vmap, state_vmap = step_fn(batched_params)\n\n        manual_obs = []\n        manual_state = []\n        for params in param_list:\n            obs, st = env.step(key, state, action, env_params=params)\n            manual_obs.append(obs)\n            manual_state.append(st)\n\n        stacked_obs = jtu.tree_map(lambda *xs: jnp.stack(xs, axis=0), *manual_obs)\n        stacked_state = jtu.tree_map(lambda *xs: jnp.stack(xs, axis=0), *manual_state)\n\n        self.assertTrue(bool(jnp.array_equal(obs_vmap[0], stacked_obs[0])))\n        self.assertTrue(bool(jnp.array_equal(state_vmap[0], stacked_state[0])))\n\n        self.assertTrue(bool(jnp.not_equal(state_vmap[0][0], state_vmap[0][1])))\n\n    def test_vmap_over_state_action_and_keys(self):\n        \"\"\"Vmap over keys/state/action should match manual stepping.\"\"\"\n        params = _make_deterministic_params(toggle_action_one=True)\n        env = PymdpEnv(\n            A_dependencies=self.A_dependencies, B_dependencies=self.B_dependencies\n        )\n\n        state = [jnp.array([0.0, 1.0, 0.0], dtype=jnp.float32)]\n        actions = jnp.array([[0], [1], [1]], dtype=jnp.int32)\n        keys = jr.split(jr.PRNGKey(5), actions.shape[0])\n\n        step_fn = vmap(\n            lambda k, st, act: env.step(k, st, act, env_params=params),\n            in_axes=(0, 0, 0),\n        )\n        obs_vmap, state_vmap = step_fn(keys, state, actions)\n\n        manual_obs = []\n        manual_state = []\n        for idx in range(actions.shape[0]):\n            obs, st = env.step(keys[idx], [state[0][idx]], actions[idx], env_params=params)\n            manual_obs.append(obs)\n            manual_state.append(st)\n\n        stacked_obs = jtu.tree_map(lambda *xs: jnp.stack(xs, axis=0), *manual_obs)\n        stacked_state = jtu.tree_map(lambda *xs: jnp.stack(xs, axis=0), *manual_state)\n\n        self.assertTrue(bool(jnp.array_equal(obs_vmap[0], stacked_obs[0])))\n        self.assertTrue(bool(jnp.array_equal(state_vmap[0], stacked_state[0])))\n\n    def test_make_env_params_respects_input_batch(self):\n        \"\"\"make() should preserve input shapes and env_params batching.\"\"\"\n        params = _make_deterministic_params()\n        env, env_params = make(\n            params[\"A\"],\n            params[\"B\"],\n            params[\"D\"],\n            A_dependencies=self.A_dependencies,\n            B_dependencies=self.B_dependencies,\n            make_env_params=False,\n        )\n        self.assertIsNone(env_params)\n        self.assertEqual(env.A[0].shape, params[\"A\"][0].shape)\n        self.assertEqual(env.B[0].shape, params[\"B\"][0].shape)\n        self.assertEqual(env.D[0].shape, params[\"D\"][0].shape)\n\n        env, env_params = make(\n            params[\"A\"],\n            params[\"B\"],\n            params[\"D\"],\n            A_dependencies=self.A_dependencies,\n            B_dependencies=self.B_dependencies,\n            make_env_params=True,\n        )\n        self.assertIsNotNone(env_params)\n        self.assertEqual(env_params[\"A\"][0].shape, params[\"A\"][0].shape)\n        self.assertEqual(env_params[\"B\"][0].shape, params[\"B\"][0].shape)\n        self.assertEqual(env_params[\"D\"][0].shape, params[\"D\"][0].shape)\n        self.assertTrue(bool(jnp.array_equal(env_params[\"A\"][0], params[\"A\"][0])))\n        self.assertTrue(bool(jnp.array_equal(env_params[\"B\"][0], params[\"B\"][0])))\n        self.assertTrue(bool(jnp.array_equal(env_params[\"D\"][0], params[\"D\"][0])))\n\n        batch_size = 4\n        params_batched = jtu.tree_map(\n            lambda x: jnp.broadcast_to(jnp.asarray(x), (batch_size,) + x.shape),\n            params,\n        )\n        env, env_params = make(\n            params_batched[\"A\"],\n            params_batched[\"B\"],\n            params_batched[\"D\"],\n            A_dependencies=self.A_dependencies,\n            B_dependencies=self.B_dependencies,\n            make_env_params=True,\n        )\n        self.assertEqual(env_params[\"A\"][0].shape, params_batched[\"A\"][0].shape)\n        self.assertEqual(env_params[\"B\"][0].shape, params_batched[\"B\"][0].shape)\n        self.assertEqual(env_params[\"D\"][0].shape, params_batched[\"D\"][0].shape)\n        self.assertEqual(env_params[\"A\"][0].shape[0], batch_size)\n        self.assertEqual(env.A[0].shape[0], batch_size)\n        self.assertEqual(env.B[0].shape[0], batch_size)\n        self.assertEqual(env.D[0].shape[0], batch_size)\n        self.assertTrue(\n            bool(jnp.array_equal(env_params[\"A\"][0], params_batched[\"A\"][0]))\n        )\n        self.assertTrue(\n            bool(jnp.array_equal(env_params[\"B\"][0], params_batched[\"B\"][0]))\n        )\n        self.assertTrue(\n            bool(jnp.array_equal(env_params[\"D\"][0], params_batched[\"D\"][0]))\n        )\n\n        env, env_params = make(\n            params_batched[\"A\"],\n            params_batched[\"B\"],\n            params_batched[\"D\"],\n            A_dependencies=self.A_dependencies,\n            B_dependencies=self.B_dependencies,\n            make_env_params=False,\n        )\n        self.assertIsNone(env_params)\n        self.assertEqual(env.A[0].shape[0], batch_size)\n        self.assertEqual(env.B[0].shape[0], batch_size)\n        self.assertEqual(env.D[0].shape[0], batch_size)\n\n\nif __name__ == \"__main__\":\n    unittest.main()\n"
  },
  {
    "path": "test/test_fpi.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Unit Tests for factorized version of variational fixed point iteration (FPI or \"Vanilla FPI\")\n__author__: Conor Heins\n\"\"\"\n\nimport unittest\n\nimport numpy as np\n\nfrom pymdp.legacy import utils, maths\nfrom pymdp.legacy.algos import run_vanilla_fpi, run_vanilla_fpi_factorized\n\nclass TestFPI(unittest.TestCase):\n\n    def test_factorized_fpi_one_factor_one_modality(self):\n        \"\"\"\n        Test the sparsified version of `run_vanilla_fpi`, named `run_vanilla_fpi_factorized`\n        with single hidden state factor and single observation modality.\n        \"\"\"\n\n        num_states = [3]\n        num_obs = [3]       \n\n        prior = utils.random_single_categorical(num_states)\n\n        A = utils.to_obj_array(maths.softmax(np.eye(num_states[0]) * 0.1))\n\n        obs_idx = np.random.choice(num_obs[0])\n        obs = utils.onehot(obs_idx, num_obs[0])\n\n        mb_dict = {'A_factor_list': [[0]],\n                    'A_modality_list': [[0]]}\n\n        qs_out = run_vanilla_fpi_factorized(A, obs, num_obs, num_states, mb_dict, prior=prior)[0]\n        qs_validation_1 = run_vanilla_fpi(A, obs, num_obs, num_states, prior=prior)[0]\n        qs_validation_2 = maths.softmax(maths.spm_log_single(A[0][obs_idx,:]) + maths.spm_log_single(prior[0]))\n\n        self.assertTrue(np.isclose(qs_validation_1, qs_out).all())\n        self.assertTrue(np.isclose(qs_validation_2, qs_out).all())\n    \n    def test_factorized_fpi_one_factor_multi_modality(self):\n        \"\"\"\n        Test the sparsified version of `run_vanilla_fpi`, named `run_vanilla_fpi_factorized`\n        with single hidden state factor and multiple observation modalities.\n        \"\"\"\n\n        num_states = [3]\n        num_obs = [3, 2]\n\n        prior = utils.random_single_categorical(num_states)\n\n        A = utils.random_A_matrix(num_obs, num_states)\n\n        obs = utils.obj_array(len(num_obs))\n        for m, obs_dim in enumerate(num_obs):\n            obs[m] = utils.onehot(np.random.randint(obs_dim), obs_dim)\n\n        mb_dict = {'A_factor_list': [[0], [0]],\n                    'A_modality_list': [[0, 1]]}\n        \n        qs_out = run_vanilla_fpi_factorized(A, obs, num_obs, num_states, mb_dict, prior=prior)[0]\n        qs_validation = run_vanilla_fpi(A, obs, num_obs, num_states, prior=prior)[0]\n\n        self.assertTrue(np.isclose(qs_validation, qs_out).all())\n    \n    def test_factorized_fpi_multi_factor_one_modality(self):\n        \"\"\"\n        Test the sparsified version of `run_vanilla_fpi`, named `run_vanilla_fpi_factorized`\n        with multiple hidden state factors and one observation modality.\n        \"\"\"\n\n        num_states = [4, 5]\n        num_obs = [3]\n\n        prior = utils.random_single_categorical(num_states)\n\n        A = utils.random_A_matrix(num_obs, num_states)\n\n        obs_idx = np.random.choice(num_obs[0])\n        obs = utils.onehot(obs_idx, num_obs[0])\n\n        mb_dict = {'A_factor_list': [[0, 1]],\n                    'A_modality_list': [[0], [0]]}\n        \n        qs_out = run_vanilla_fpi_factorized(A, obs, num_obs, num_states, mb_dict, prior=prior)\n        qs_validation = run_vanilla_fpi(A, obs, num_obs, num_states, prior=prior)\n\n        for qs_f_val, qs_f_out in zip(qs_validation, qs_out):\n            self.assertTrue(np.isclose(qs_f_val, qs_f_out).all())\n    \n    def test_factorized_fpi_multi_factor_multi_modality(self):\n        \"\"\"\n        Test the sparsified version of `run_vanilla_fpi`, named `run_vanilla_fpi_factorized`\n        with multiple hidden state factors and multiple observation modalities.\n        \"\"\"\n\n        num_states = [3, 4]\n        num_obs = [3, 3, 5]\n\n        prior = utils.random_single_categorical(num_states)\n\n        A = utils.random_A_matrix(num_obs, num_states)\n\n        obs = utils.obj_array(len(num_obs))\n        for m, obs_dim in enumerate(num_obs):\n            obs[m] = utils.onehot(np.random.randint(obs_dim), obs_dim)\n\n        mb_dict = {'A_factor_list': [[0, 1], [0, 1], [0, 1]],\n                    'A_modality_list': [[0, 1, 2], [0, 1, 2]]}\n        \n        qs_out = run_vanilla_fpi_factorized(A, obs, num_obs, num_states, mb_dict, prior=prior)\n        qs_validation = run_vanilla_fpi(A, obs, num_obs, num_states, prior=prior)\n\n        for qs_f_val, qs_f_out in zip(qs_validation, qs_out):\n            self.assertTrue(np.isclose(qs_f_val, qs_f_out).all())\n\n        # test it also without computing VFE (i.e. with `compute_vfe=False`)\n        qs_out = run_vanilla_fpi_factorized(A, obs, num_obs, num_states, mb_dict, prior=prior, compute_vfe=False)\n        qs_validation = run_vanilla_fpi(A, obs, num_obs, num_states, prior=prior, compute_vfe=False)\n\n        for qs_f_val, qs_f_out in zip(qs_validation, qs_out):\n            self.assertTrue(np.isclose(qs_f_val, qs_f_out).all())\n\n    def test_factorized_fpi_multi_factor_multi_modality_with_condind(self):\n        \"\"\"\n        Test the sparsified version of `run_vanilla_fpi`, named `run_vanilla_fpi_factorized`\n        with multiple hidden state factors and multiple observation modalities, where some modalities only depend on some factors.\n        \"\"\"\n\n        num_states = [3, 4]\n        num_obs = [3, 3, 5]\n\n        prior = utils.random_single_categorical(num_states)\n\n        obs = utils.obj_array(len(num_obs))\n        for m, obs_dim in enumerate(num_obs):\n            obs[m] = utils.onehot(np.random.randint(obs_dim), obs_dim)\n\n        mb_dict = {'A_factor_list': [[0], [1], [0, 1]],\n                    'A_modality_list': [[0, 2], [1, 2]]}\n\n        A_reduced = utils.random_A_matrix(num_obs, num_states, A_factor_list=mb_dict['A_factor_list'])\n        \n        qs_out = run_vanilla_fpi_factorized(A_reduced, obs, num_obs, num_states, mb_dict, prior=prior)\n\n        A_full = utils.initialize_empty_A(num_obs, num_states)\n        for m, A_m in enumerate(A_full):\n            other_factors = list(set(range(len(num_states))) - set(mb_dict['A_factor_list'][m])) # list of the factors that modality `m` does not depend on\n\n            # broadcast or tile the reduced A matrix (`A_reduced`) along the dimensions of corresponding to `other_factors`\n            expanded_dims = [num_obs[m]] + [1 if f in other_factors else ns for (f, ns) in enumerate(num_states)]\n            tile_dims = [1] + [ns if f in other_factors else 1 for (f, ns) in enumerate(num_states)]\n            A_full[m] = np.tile(A_reduced[m].reshape(expanded_dims), tile_dims)\n\n        qs_validation = run_vanilla_fpi(A_full, obs, num_obs, num_states, prior=prior)\n\n        for qs_f_val, qs_f_out in zip(qs_validation, qs_out):\n            self.assertTrue(np.isclose(qs_f_val, qs_f_out).all())\n    \n    def test_factorized_fpi_multi_factor_single_modality_with_condind(self):\n        \"\"\"\n        Test the sparsified version of `run_vanilla_fpi`, named `run_vanilla_fpi_factorized`\n        with multiple hidden state factors and one observation modality, where the modality only depend on some factors.\n        \"\"\"\n\n        num_states = [3, 4]\n        num_obs = [3]\n\n        prior = utils.random_single_categorical(num_states)\n\n        obs = utils.obj_array(len(num_obs))\n        for m, obs_dim in enumerate(num_obs):\n            obs[m] = utils.onehot(np.random.randint(obs_dim), obs_dim)\n\n        mb_dict = {'A_factor_list': [[0]],\n                    'A_modality_list': [[0], []]}\n\n        A_reduced = utils.random_A_matrix(num_obs, num_states, A_factor_list=mb_dict['A_factor_list'])\n        \n        qs_out = run_vanilla_fpi_factorized(A_reduced, obs, num_obs, num_states, mb_dict, prior=prior)\n\n        A_full = utils.initialize_empty_A(num_obs, num_states)\n        for m, A_m in enumerate(A_full):\n            other_factors = list(set(range(len(num_states))) - set(mb_dict['A_factor_list'][m])) # list of the factors that modality `m` does not depend on\n\n            # broadcast or tile the reduced A matrix (`A_reduced`) along the dimensions of corresponding to `other_factors`\n            expanded_dims = [num_obs[m]] + [1 if f in other_factors else ns for (f, ns) in enumerate(num_states)]\n            tile_dims = [1] + [ns if f in other_factors else 1 for (f, ns) in enumerate(num_states)]\n            A_full[m] = np.tile(A_reduced[m].reshape(expanded_dims), tile_dims)\n\n        qs_validation = run_vanilla_fpi(A_full, obs, num_obs, num_states, prior=prior)\n\n        for qs_f_val, qs_f_out in zip(qs_validation, qs_out):\n            self.assertTrue(np.isclose(qs_f_val, qs_f_out).all())\n        \n        self.assertTrue(np.isclose(qs_out[1], prior[1]).all())\n\n\nif __name__ == \"__main__\":\n    unittest.main()"
  },
  {
    "path": "test/test_grid_world_parity.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\"Unit tests comparing GridWorld implementations.\"\"\"\n\nimport unittest\n\nimport numpy as np\nimport jax.numpy as jnp\nfrom jax import random as jr, vmap\nfrom jax import tree_util as jtu\n\nfrom pymdp.envs.grid_world import GridWorld\nfrom pymdp.legacy.envs.grid_worlds import GridWorldEnv\n\n\nclass TestGridWorldParity(unittest.TestCase):\n    \"\"\"Ensure the JAX GridWorld matches the legacy NumPy environment.\"\"\"\n\n    def test_jax_matches_legacy_transition_and_observation(self):\n        \"\"\"JAX GridWorld should reproduce legacy A, B, and one-hot D.\"\"\"\n        shape = (3, 4)\n        initial_state = 5  # linear index within the grid\n\n        legacy_env = GridWorldEnv(shape=list(shape), init_state=initial_state)\n        jax_env = GridWorld(\n            shape=shape,\n            include_stay=True,\n            success_prob=1.0,\n            initial_position=initial_state,\n        )\n\n        legacy_A = legacy_env.get_likelihood_dist()\n        legacy_B = legacy_env.get_transition_dist()\n\n        jax_A = np.asarray(jax_env.A[0])\n        jax_B = np.asarray(jax_env.B[0])\n        jax_D = np.asarray(jax_env.D[0])\n\n        # Transition dynamics and observation likelihood should match exactly\n        np.testing.assert_array_equal(jax_A, legacy_A)\n        np.testing.assert_array_equal(jax_B, legacy_B)\n\n        # Initial distribution should remain a one-hot at the specified start state\n        expected_D = np.zeros(np.prod(shape))\n        expected_D[initial_state] = 1.0\n        np.testing.assert_array_equal(jax_D, expected_D)\n\n        # Sanity checks on shared metadata\n        self.assertEqual(legacy_env.n_states, legacy_A.shape[0])\n        self.assertEqual(legacy_env.n_states, jax_A.shape[0])\n        self.assertEqual(legacy_env.n_control, jax_B.shape[-1])\n\n    def test_step_outputs_match(self):\n        \"\"\"Stepping both envs should yield identical states and observations.\"\"\"\n        shape = (3, 3)\n        num_states = shape[0] * shape[1]\n        actions = [\n            GridWorld.UP,\n            GridWorld.RIGHT,\n            GridWorld.DOWN,\n            GridWorld.LEFT,\n            GridWorld.STAY,\n            GridWorld.DOWN,\n            GridWorld.RIGHT,\n        ]\n\n        key = jr.PRNGKey(0)\n\n        for initial_state in range(num_states):\n            legacy_env = GridWorldEnv(shape=list(shape), init_state=initial_state)\n            jax_env = GridWorld(\n                shape=shape,\n                include_stay=True,\n                success_prob=1.0,\n                initial_position=initial_state,\n            )\n\n            # Reset both envs deterministically to the same starting state\n            legacy_env.reset(init_state=initial_state)\n            key, reset_key = jr.split(key)\n\n            jax_obs, jax_state = jax_env.reset(\n                reset_key, state=[jnp.array(initial_state, dtype=jnp.int32)]\n            )\n\n            # Verify initial observation alignment\n            jax_initial_obs = int(np.squeeze(np.asarray(jax_obs[0])))\n            self.assertEqual(jax_initial_obs, legacy_env.state)\n            self.assertEqual(int(np.asarray(jax_state[0])), legacy_env.state)\n\n            # Step through the shared action sequence\n            for action in actions:\n                expected_state = legacy_env.step(action)\n\n                key, step_key = jr.split(key)\n                action_array = [jnp.array(action, dtype=jnp.int32)]\n                jax_obs, jax_state = jax_env.step(step_key, jax_state, action_array)\n\n                jax_state_int = int(np.asarray(jax_state[0]))\n                jax_observation = int(np.squeeze(np.asarray(jax_obs[0])))\n\n                self.assertEqual(jax_state_int, expected_state)\n                self.assertEqual(jax_observation, expected_state)\n\n    def test_batched_jax_env_matches_series_of_numpy_envs(self):\n        \"\"\"\n        Stepping a series of individual NumPy GridWorldEnvs should match a batch of JAX GridWorlds, using the `env_params` argument\n        to represent the different environments.\n        \"\"\"\n        shape = (3, 3)\n        batch_size = 4\n        initial_states = [0, 2, 4, 7]\n        actions = [\n            GridWorld.UP,\n            GridWorld.RIGHT,\n            GridWorld.DOWN,\n            GridWorld.LEFT,\n            GridWorld.STAY,\n        ]\n\n        # Build a set of legacy envs with distinct initial states\n        legacy_envs = []\n        for init_state in initial_states:\n            env = GridWorldEnv(shape=list(shape), init_state=init_state)\n            env.reset(init_state=init_state)\n            legacy_envs.append(env)\n\n        # Build per-env parameters for the JAX GridWorld and batch them\n        per_env_jax = [\n            GridWorld(\n                shape=shape,\n                include_stay=True,\n                success_prob=1.0,\n                initial_position=init_state,\n            )\n            for init_state in initial_states\n        ]\n\n        env_param_list = [env.generate_env_params() for env in per_env_jax]\n        batched_env_params = jtu.tree_map(\n            lambda *xs: jnp.stack(xs, axis=0), *env_param_list\n        )\n\n        # Use a single JAX env instance and feed batched env_params into vmapped reset/step\n        jax_env = GridWorld(shape=shape, include_stay=True, success_prob=1.0)\n\n        key = jr.PRNGKey(0)\n        key, reset_key = jr.split(key)\n        reset_keys = jr.split(reset_key, batch_size)\n\n        reset_fn = vmap(\n            lambda k, params: jax_env.reset(k, env_params=params), in_axes=(0, 0)\n        )\n        jax_obs, jax_state = reset_fn(reset_keys, batched_env_params)\n\n        # Initial alignment\n        legacy_states = np.array([env.state for env in legacy_envs])\n        np.testing.assert_array_equal(\n            np.squeeze(np.asarray(jax_obs[0])), legacy_states\n        )\n        np.testing.assert_array_equal(np.asarray(jax_state[0]), legacy_states)\n\n        step_fn = vmap(\n            lambda k, st, params, act: jax_env.step(k, st, [act], env_params=params),\n            in_axes=(0, 0, 0, None),\n        )\n\n        # Step through the action sequence and compare after each step\n        for action in actions:\n            legacy_states = np.array([env.step(action) for env in legacy_envs])\n\n            key, step_key = jr.split(key)\n            step_keys = jr.split(step_key, batch_size)\n            jax_obs, jax_state = step_fn(step_keys, jax_state, batched_env_params, action)\n\n            jax_state_flat = np.asarray(jax_state[0])\n            jax_obs_flat = np.squeeze(np.asarray(jax_obs[0]))\n\n            np.testing.assert_array_equal(jax_state_flat, legacy_states)\n            np.testing.assert_array_equal(jax_obs_flat, legacy_states)\n\n\nif __name__ == \"__main__\":\n    unittest.main()\n"
  },
  {
    "path": "test/test_hmm_associative_scan.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\"Tests for associative-scan HMM filtering/smoothing.\"\"\"\n\nimport unittest\nimport pytest\nfrom jax import numpy as jnp, random as jr, nn\nfrom jax import vmap, grad\nfrom jax import tree_util as jtu\n\nfrom pymdp.algos import (\n    hmm_filter_scan_rowstoch,\n    hmm_smoother_scan_rowstoch,\n    hmm_filter_scan_colstoch,\n    hmm_smoother_scan_colstoch,\n)\nfrom pymdp import inference, utils\nfrom pymdp.agent import Agent\nfrom pymdp.maths import log_stable, MINVAL\n\n\ndef _normalize_rows(x, axis=-1):\n    s = jnp.sum(x, axis=axis, keepdims=True)\n    return x / jnp.clip(s, min=MINVAL)\n\n\ndef _random_simplex(key, shape):\n    x = jr.uniform(key, shape) + 1e-3\n    return _normalize_rows(x, axis=-1)\n\n\ndef _normalize_cols(x, axis=0):\n    s = jnp.sum(x, axis=axis, keepdims=True)\n    return x / jnp.clip(s, min=MINVAL)\n\n\ndef _random_col_stochastic(key, shape):\n    x = jr.uniform(key, shape) + 1e-3\n    axis = 0 if len(shape) == 2 else 1\n    return _normalize_cols(x, axis=axis)\n\n\ndef _sparse_absorbing_rowstoch(K):\n    \"\"\"\n    Build a row-stochastic transition matrix with many strict zeros and one absorbing state.\n    \"\"\"\n    A = jnp.zeros((K, K))\n    idx = jnp.arange(K - 1)\n    A = A.at[idx, idx].set(0.9)\n    A = A.at[idx, idx + 1].set(0.1)\n    A = A.at[K - 1, K - 1].set(1.0)  # absorbing state\n    return A\n\n\ndef _near_zero_rowstoch(K, tiny=1e-20):\n    \"\"\"\n    Build a row-stochastic matrix where off-diagonal terms are near zero.\n    \"\"\"\n    A = jnp.full((K, K), tiny)\n    diag_val = 1.0 - (K - 1) * tiny\n    A = A.at[jnp.arange(K), jnp.arange(K)].set(diag_val)\n    return A\n\n\ndef _reference_filter(initial_probs, transition_mats, log_likelihoods):\n    T, K = log_likelihoods.shape\n    if transition_mats.ndim == 2:\n        transition_mats = jnp.broadcast_to(transition_mats, (T - 1, K, K))\n\n    filtered = []\n    predicted = []\n    log_c = []\n\n    # t = 0\n    pred0 = initial_probs\n    ll0 = log_likelihoods[0]\n    ll0_max = jnp.max(ll0)\n    w0 = jnp.exp(ll0 - ll0_max)\n    weights0 = pred0 * w0\n    c0 = jnp.sum(weights0)\n    filt0 = weights0 / c0\n    log_c0 = log_stable(c0) + ll0_max\n\n    predicted.append(pred0)\n    filtered.append(filt0)\n    log_c.append(log_c0)\n\n    # t >= 1\n    for t in range(1, T):\n        pred_t = filtered[t - 1] @ transition_mats[t - 1]\n        ll_t = log_likelihoods[t]\n        ll_t_max = jnp.max(ll_t)\n        w_t = jnp.exp(ll_t - ll_t_max)\n        weights_t = pred_t * w_t\n        c_t = jnp.sum(weights_t)\n        filt_t = weights_t / c_t\n        log_c_t = log_stable(c_t) + ll_t_max\n\n        predicted.append(pred_t)\n        filtered.append(filt_t)\n        log_c.append(log_c_t)\n\n    predicted = jnp.stack(predicted, axis=0)\n    filtered = jnp.stack(filtered, axis=0)\n    log_c = jnp.stack(log_c, axis=0)\n    marginal_loglik = jnp.sum(log_c)\n    return marginal_loglik, filtered, predicted, log_c\n\n\ndef _reference_smoother(initial_probs, transition_mats, log_likelihoods):\n    T, K = log_likelihoods.shape\n    if transition_mats.ndim == 2:\n        transition_mats = jnp.broadcast_to(transition_mats, (T - 1, K, K))\n\n    marginal_loglik, filtered, predicted, log_c = _reference_filter(\n        initial_probs, transition_mats, log_likelihoods\n    )\n\n    c = jnp.exp(log_c)\n    beta = [None] * T\n    beta[-1] = jnp.ones((K,))\n\n    for t in range(T - 2, -1, -1):\n        ll_next = log_likelihoods[t + 1]\n        scale = jnp.exp(ll_next)\n        beta[t] = (transition_mats[t] * scale[None, :]) @ beta[t + 1] / c[t + 1]\n\n    beta = jnp.stack(beta, axis=0)\n\n    smoothed = filtered * beta\n    smoothed = smoothed / jnp.sum(smoothed, axis=-1, keepdims=True)\n\n    if T == 1:\n        trans_probs = jnp.zeros((0, K, K))\n        cond_probs = jnp.zeros((0, K, K))\n    else:\n        xi_list = []\n        for t in range(T - 1):\n            ll_next = log_likelihoods[t + 1]\n            numer = (\n                filtered[t][:, None]\n                * transition_mats[t]\n                * jnp.exp(ll_next)[None, :]\n                * beta[t + 1][None, :]\n                / c[t + 1]\n            )\n            numer = numer / jnp.sum(numer)\n            xi_list.append(numer)\n\n        trans_probs = jnp.stack(xi_list, axis=0)\n        cond_probs = trans_probs.transpose(0, 2, 1) / smoothed[1:, :, None]\n\n    return marginal_loglik, filtered, predicted, smoothed, trans_probs, cond_probs\n\n\ndef _reference_filter_col(initial_probs, B_mats, log_likelihoods):\n    T, K = log_likelihoods.shape\n    if B_mats.ndim == 2:\n        B_mats = jnp.broadcast_to(B_mats, (T - 1, K, K))\n\n    filtered = []\n    predicted = []\n    log_c = []\n\n    pred0 = initial_probs\n    ll0 = log_likelihoods[0]\n    ll0_max = jnp.max(ll0)\n    w0 = jnp.exp(ll0 - ll0_max)\n    weights0 = pred0 * w0\n    c0 = jnp.sum(weights0)\n    filt0 = weights0 / c0\n    log_c0 = log_stable(c0) + ll0_max\n\n    predicted.append(pred0)\n    filtered.append(filt0)\n    log_c.append(log_c0)\n\n    for t in range(1, T):\n        pred_t = B_mats[t - 1] @ filtered[t - 1]\n        ll_t = log_likelihoods[t]\n        ll_t_max = jnp.max(ll_t)\n        w_t = jnp.exp(ll_t - ll_t_max)\n        weights_t = pred_t * w_t\n        c_t = jnp.sum(weights_t)\n        filt_t = weights_t / c_t\n        log_c_t = log_stable(c_t) + ll_t_max\n\n        predicted.append(pred_t)\n        filtered.append(filt_t)\n        log_c.append(log_c_t)\n\n    predicted = jnp.stack(predicted, axis=0)\n    filtered = jnp.stack(filtered, axis=0)\n    log_c = jnp.stack(log_c, axis=0)\n    marginal_loglik = jnp.sum(log_c)\n    return marginal_loglik, filtered, predicted, log_c\n\n\ndef _reference_smoother_col(initial_probs, B_mats, log_likelihoods):\n    T, K = log_likelihoods.shape\n    if B_mats.ndim == 2:\n        B_mats = jnp.broadcast_to(B_mats, (T - 1, K, K))\n\n    marginal_loglik, filtered, predicted, log_c = _reference_filter_col(\n        initial_probs, B_mats, log_likelihoods\n    )\n\n    row_scale = jnp.exp(log_likelihoods[1:] - log_c[1:, None])\n    beta = [None] * T\n    beta[-1] = jnp.ones((K,))\n\n    for t in range(T - 2, -1, -1):\n        beta[t] = B_mats[t].T @ (row_scale[t] * beta[t + 1])\n\n    beta = jnp.stack(beta, axis=0)\n\n    smoothed = filtered * beta\n    smoothed = smoothed / jnp.clip(jnp.sum(smoothed, axis=-1, keepdims=True), min=MINVAL)\n\n    if T == 1:\n        trans_probs = jnp.zeros((0, K, K))\n        cond_probs = jnp.zeros((0, K, K))\n    else:\n        xi_list = []\n        for t in range(T - 1):\n            numer = (\n                B_mats[t]\n                * filtered[t][None, :]\n                * row_scale[t][:, None]\n                * beta[t + 1][:, None]\n            )\n            numer = numer / jnp.clip(jnp.sum(numer), min=MINVAL)\n            xi_list.append(numer)\n\n        xi_nc = jnp.stack(xi_list, axis=0)  # (T-1, next, curr)\n        cond_probs = xi_nc / jnp.clip(smoothed[1:, :, None], min=MINVAL)\n        trans_probs = xi_nc.transpose(0, 2, 1)\n\n    return marginal_loglik, filtered, predicted, smoothed, trans_probs, cond_probs\n\n\nclass TestAssociativeScanHMM(unittest.TestCase):\n    def _make_case(self, key, T, K, time_varying=False):\n        k1, k2, k3 = jr.split(key, 3)\n        initial_probs = _random_simplex(k1, (K,))\n        if time_varying:\n            transition_mats = _random_simplex(k2, (T - 1, K, K))\n        else:\n            transition_mats = _random_simplex(k2, (K, K))\n        log_likelihoods = nn.log_softmax(jr.normal(k3, (T, K)), axis=-1)\n        return initial_probs, transition_mats, log_likelihoods\n\n    def _make_case_col(self, key, T, K, time_varying=False):\n        k1, k2, k3 = jr.split(key, 3)\n        initial_probs = _random_simplex(k1, (K,))\n        if time_varying:\n            B_mats = _random_col_stochastic(k2, (T - 1, K, K))\n        else:\n            B_mats = _random_col_stochastic(k2, (K, K))\n        log_likelihoods = nn.log_softmax(jr.normal(k3, (T, K)), axis=-1)\n        return initial_probs, B_mats, log_likelihoods\n\n    def _make_batch_row(self, key, batch_size, T, K, time_varying=False):\n        cases = [self._make_case(jr.fold_in(key, i), T, K, time_varying) for i in range(batch_size)]\n        init = jnp.stack([c[0] for c in cases], axis=0)\n        trans = jnp.stack([c[1] for c in cases], axis=0)\n        ll = jnp.stack([c[2] for c in cases], axis=0)\n        return init, trans, ll\n\n    def _make_batch_col(self, key, batch_size, T, K, time_varying=False):\n        cases = [self._make_case_col(jr.fold_in(key, i), T, K, time_varying) for i in range(batch_size)]\n        init = jnp.stack([c[0] for c in cases], axis=0)\n        trans = jnp.stack([c[1] for c in cases], axis=0)\n        ll = jnp.stack([c[2] for c in cases], axis=0)\n        return init, trans, ll\n\n    def _assert_close(self, a, b, atol=1e-5, rtol=1e-5):\n        self.assertTrue(bool(jnp.allclose(a, b, atol=atol, rtol=rtol)))\n\n    def _assert_all_finite_tree(self, tree):\n        leaves = jtu.tree_leaves(tree)\n        self.assertTrue(all(bool(jnp.all(jnp.isfinite(x))) for x in leaves))\n\n    def test_filter_scan_matches_reference_stationary(self):\n        key = jr.PRNGKey(0)\n        initial_probs, transition_mats, log_likelihoods = self._make_case(\n            key, T=6, K=4, time_varying=False\n        )\n\n        mll_ref, filt_ref, pred_ref, _ = _reference_filter(\n            initial_probs, transition_mats, log_likelihoods\n        )\n        mll_scan, filt_scan, pred_scan = hmm_filter_scan_rowstoch(\n            initial_probs, transition_mats, log_likelihoods\n        )\n\n        self._assert_close(mll_ref, mll_scan)\n        self._assert_close(filt_ref, filt_scan)\n        self._assert_close(pred_ref, pred_scan)\n\n    def test_smoother_scan_matches_reference_time_varying(self):\n        key = jr.PRNGKey(1)\n        initial_probs, transition_mats, log_likelihoods = self._make_case(\n            key, T=5, K=3, time_varying=True\n        )\n\n        (mll_ref, filt_ref, pred_ref, smooth_ref, xi_ref, cond_ref) = _reference_smoother(\n            initial_probs, transition_mats, log_likelihoods\n        )\n        (mll_scan, filt_scan, pred_scan, smooth_scan, xi_scan, cond_scan) = hmm_smoother_scan_rowstoch(\n            initial_probs, transition_mats, log_likelihoods\n        )\n\n        self._assert_close(mll_ref, mll_scan)\n        self._assert_close(filt_ref, filt_scan)\n        self._assert_close(pred_ref, pred_scan)\n        self._assert_close(smooth_ref, smooth_scan)\n        self._assert_close(xi_ref, xi_scan)\n        self._assert_close(cond_ref, cond_scan)\n\n    def test_smoother_scan_T1_edge(self):\n        key = jr.PRNGKey(2)\n        initial_probs, transition_mats, log_likelihoods = self._make_case(\n            key, T=1, K=3, time_varying=False\n        )\n\n        (mll_ref, filt_ref, pred_ref, smooth_ref, xi_ref, cond_ref) = _reference_smoother(\n            initial_probs, transition_mats, log_likelihoods\n        )\n        (mll_scan, filt_scan, pred_scan, smooth_scan, xi_scan, cond_scan) = hmm_smoother_scan_rowstoch(\n            initial_probs, transition_mats, log_likelihoods\n        )\n\n        self._assert_close(mll_ref, mll_scan)\n        self._assert_close(filt_ref, filt_scan)\n        self._assert_close(pred_ref, pred_scan)\n        self._assert_close(smooth_ref, smooth_scan)\n        self._assert_close(xi_ref, xi_scan)\n        self._assert_close(cond_ref, cond_scan)\n\n    def test_filter_scan_colstoch_matches_reference_stationary(self):\n        key = jr.PRNGKey(3)\n        initial_probs, B_mats, log_likelihoods = self._make_case_col(\n            key, T=6, K=4, time_varying=False\n        )\n\n        mll_ref, filt_ref, pred_ref, _ = _reference_filter_col(\n            initial_probs, B_mats, log_likelihoods\n        )\n        mll_scan, filt_scan, pred_scan = hmm_filter_scan_colstoch(\n            initial_probs, B_mats, log_likelihoods\n        )\n\n        self._assert_close(mll_ref, mll_scan)\n        self._assert_close(filt_ref, filt_scan)\n        self._assert_close(pred_ref, pred_scan)\n\n    def test_smoother_scan_colstoch_matches_reference_time_varying(self):\n        key = jr.PRNGKey(4)\n        initial_probs, B_mats, log_likelihoods = self._make_case_col(\n            key, T=5, K=3, time_varying=True\n        )\n\n        (mll_ref, filt_ref, pred_ref, smooth_ref, xi_ref, cond_ref) = _reference_smoother_col(\n            initial_probs, B_mats, log_likelihoods\n        )\n        (mll_scan, filt_scan, pred_scan, smooth_scan, xi_scan, cond_scan) = hmm_smoother_scan_colstoch(\n            initial_probs, B_mats, log_likelihoods, return_trans_probs=True\n        )\n\n        self._assert_close(mll_ref, mll_scan)\n        self._assert_close(filt_ref, filt_scan)\n        self._assert_close(pred_ref, pred_scan)\n        self._assert_close(smooth_ref, smooth_scan)\n        self._assert_close(xi_ref, xi_scan)\n        self._assert_close(cond_ref, cond_scan)\n\n    def test_row_col_equivalence(self):\n        key = jr.PRNGKey(5)\n        initial_probs, transition_mats, log_likelihoods = self._make_case(\n            key, T=5, K=4, time_varying=False\n        )\n\n        B_mats = transition_mats.T\n\n        (mll_row, filt_row, pred_row, smooth_row, xi_row, cond_row) = hmm_smoother_scan_rowstoch(\n            initial_probs, transition_mats, log_likelihoods\n        )\n        (mll_col, filt_col, pred_col, smooth_col, xi_col, cond_col) = hmm_smoother_scan_colstoch(\n            initial_probs, B_mats, log_likelihoods, return_trans_probs=True\n        )\n\n        self._assert_close(mll_row, mll_col)\n        self._assert_close(filt_row, filt_col)\n        self._assert_close(pred_row, pred_col)\n        self._assert_close(smooth_row, smooth_col)\n        self._assert_close(xi_row, xi_col)\n        self._assert_close(cond_row, cond_col)\n\n    @pytest.mark.nightly\n    def test_smoother_scan_colstoch_stability_shifted_ll(self):\n        key = jr.PRNGKey(6)\n        initial_probs, B_mats, log_likelihoods = self._make_case_col(\n            key, T=100, K=48, time_varying=True\n        )\n        log_likelihoods = log_likelihoods - 100.0\n\n        (mll_ref, filt_ref, pred_ref, smooth_ref, xi_ref, cond_ref) = _reference_smoother_col(\n            initial_probs, B_mats, log_likelihoods\n        )\n        (mll_scan, filt_scan, pred_scan, smooth_scan, xi_scan, cond_scan) = hmm_smoother_scan_colstoch(\n            initial_probs, B_mats, log_likelihoods, return_trans_probs=True\n        )\n\n        self._assert_close(mll_ref, mll_scan)\n        self._assert_close(filt_ref, filt_scan)\n        self._assert_close(pred_ref, pred_scan)\n        self._assert_close(smooth_ref, smooth_scan)\n        self._assert_close(xi_ref, xi_scan)\n        self._assert_close(cond_ref, cond_scan)\n\n    def test_vmap_filter_scan_row(self):\n        key = jr.PRNGKey(7)\n        batch_size = 3\n        init, trans, ll = self._make_batch_row(key, batch_size, T=5, K=4, time_varying=True)\n\n        vmap_out = vmap(hmm_filter_scan_rowstoch, in_axes=(0, 0, 0))(init, trans, ll)\n        seq_out = [hmm_filter_scan_rowstoch(init[i], trans[i], ll[i]) for i in range(batch_size)]\n        stacked = tuple(jnp.stack([o[j] for o in seq_out], axis=0) for j in range(len(vmap_out)))\n\n        for a, b in zip(vmap_out, stacked):\n            self._assert_close(a, b)\n\n    def test_vmap_smoother_scan_row(self):\n        key = jr.PRNGKey(8)\n        batch_size = 3\n        init, trans, ll = self._make_batch_row(key, batch_size, T=5, K=4, time_varying=True)\n\n        vmap_out = vmap(hmm_smoother_scan_rowstoch, in_axes=(0, 0, 0))(init, trans, ll)\n        seq_out = [hmm_smoother_scan_rowstoch(init[i], trans[i], ll[i]) for i in range(batch_size)]\n        stacked = tuple(jnp.stack([o[j] for o in seq_out], axis=0) for j in range(len(vmap_out)))\n\n        for a, b in zip(vmap_out, stacked):\n            self._assert_close(a, b)\n\n    def test_vmap_filter_scan_col(self):\n        key = jr.PRNGKey(9)\n        batch_size = 3\n        init, trans, ll = self._make_batch_col(key, batch_size, T=5, K=4, time_varying=True)\n\n        vmap_out = vmap(hmm_filter_scan_colstoch, in_axes=(0, 0, 0))(init, trans, ll)\n        seq_out = [hmm_filter_scan_colstoch(init[i], trans[i], ll[i]) for i in range(batch_size)]\n        stacked = tuple(jnp.stack([o[j] for o in seq_out], axis=0) for j in range(len(vmap_out)))\n\n        for a, b in zip(vmap_out, stacked):\n            self._assert_close(a, b)\n\n    def test_vmap_smoother_scan_col(self):\n        key = jr.PRNGKey(10)\n        batch_size = 3\n        init, trans, ll = self._make_batch_col(key, batch_size, T=5, K=4, time_varying=True)\n\n        smoother_fn = lambda pi, b, lls: hmm_smoother_scan_colstoch(pi, b, lls, return_trans_probs=True)\n        vmap_out = vmap(smoother_fn, in_axes=(0, 0, 0))(init, trans, ll)\n        seq_out = [smoother_fn(init[i], trans[i], ll[i]) for i in range(batch_size)]\n        stacked = tuple(jnp.stack([o[j] for o in seq_out], axis=0) for j in range(len(vmap_out)))\n\n        for a, b in zip(vmap_out, stacked):\n            self._assert_close(a, b)\n\n    def test_gradients_finite_rowstoch_smoother(self):\n        key = jr.PRNGKey(11)\n        T, K = 16, 16\n        k1, k2, k3 = jr.split(key, 3)\n        pi_logits = jr.normal(k1, (K,))\n        trans_logits = jr.normal(k2, (K, K))\n        ll_logits = jr.normal(k3, (T, K))\n\n        def loss_fn(pi_l, trans_l, ll_l):\n            pi = nn.softmax(pi_l, axis=-1)\n            trans = nn.softmax(trans_l, axis=-1)  # row-stochastic\n            ll = nn.log_softmax(ll_l, axis=-1)\n            mll, filt, pred, smooth, trans_probs, cond_probs = hmm_smoother_scan_rowstoch(pi, trans, ll)\n            return (\n                mll\n                + 1e-2 * (filt**2).sum()\n                + 1e-2 * (pred**2).sum()\n                + 1e-2 * (smooth**2).sum()\n                + 1e-2 * (trans_probs**2).sum()\n                + 1e-2 * (cond_probs**2).sum()\n            )\n\n        pi = nn.softmax(pi_logits, axis=-1)\n        trans = nn.softmax(trans_logits, axis=-1)\n        ll = nn.log_softmax(ll_logits, axis=-1)\n        outputs = hmm_smoother_scan_rowstoch(pi, trans, ll)\n        self._assert_all_finite_tree(outputs)\n\n        loss = loss_fn(pi_logits, trans_logits, ll_logits)\n        grads = grad(loss_fn, argnums=(0, 1, 2))(pi_logits, trans_logits, ll_logits)\n\n        self.assertTrue(bool(jnp.isfinite(loss)))\n        self._assert_all_finite_tree(grads)\n\n    def test_gradients_finite_colstoch_smoother(self):\n        key = jr.PRNGKey(12)\n        T, K = 16, 16\n        k1, k2, k3 = jr.split(key, 3)\n        pi_logits = jr.normal(k1, (K,))\n        B_logits = jr.normal(k2, (K, K))\n        ll_logits = jr.normal(k3, (T, K))\n\n        def loss_fn(pi_l, B_l, ll_l):\n            pi = nn.softmax(pi_l, axis=-1)\n            B = nn.softmax(B_l, axis=0)  # col-stochastic\n            ll = nn.log_softmax(ll_l, axis=-1)\n            mll, filt, pred, smooth, trans_probs, cond_probs = hmm_smoother_scan_colstoch(\n                pi, B, ll, return_trans_probs=True\n            )\n            return (\n                mll\n                + 1e-2 * (filt**2).sum()\n                + 1e-2 * (pred**2).sum()\n                + 1e-2 * (smooth**2).sum()\n                + 1e-2 * (trans_probs**2).sum()\n                + 1e-2 * (cond_probs**2).sum()\n            )\n\n        pi = nn.softmax(pi_logits, axis=-1)\n        B = nn.softmax(B_logits, axis=0)\n        ll = nn.log_softmax(ll_logits, axis=-1)\n        outputs = hmm_smoother_scan_colstoch(pi, B, ll, return_trans_probs=True)\n        self._assert_all_finite_tree(outputs)\n\n        loss = loss_fn(pi_logits, B_logits, ll_logits)\n        grads = grad(loss_fn, argnums=(0, 1, 2))(pi_logits, B_logits, ll_logits)\n\n        self.assertTrue(bool(jnp.isfinite(loss)))\n        self._assert_all_finite_tree(grads)\n\n    def test_strict_zero_absorbing_transitions_finite_outputs_and_grads(self):\n        key = jr.PRNGKey(14)\n        T, K = 24, 10\n        ll_logits = jr.normal(key, (T, K)) * 3.0 - 80.0\n        ll = nn.log_softmax(ll_logits, axis=-1)\n\n        # Deterministic initial state includes strict zeros.\n        pi = jnp.zeros((K,)).at[0].set(1.0)\n        A = _sparse_absorbing_rowstoch(K)\n        B = A.T\n\n        self.assertTrue(bool(jnp.any(A == 0.0)))\n        self.assertTrue(bool(jnp.isclose(A[-1, -1], 1.0)))\n\n        row_outputs = hmm_smoother_scan_rowstoch(pi, A, ll)\n        col_outputs = hmm_smoother_scan_colstoch(pi, B, ll, return_trans_probs=True)\n        self._assert_all_finite_tree(row_outputs)\n        self._assert_all_finite_tree(col_outputs)\n\n        def row_loss(ll_l):\n            ll_local = nn.log_softmax(ll_l, axis=-1)\n            mll, filt, pred, smooth, trans_probs, cond_probs = hmm_smoother_scan_rowstoch(pi, A, ll_local)\n            return (\n                mll\n                + 1e-2 * (filt**2).sum()\n                + 1e-2 * (pred**2).sum()\n                + 1e-2 * (smooth**2).sum()\n                + 1e-2 * (trans_probs**2).sum()\n                + 1e-2 * (cond_probs**2).sum()\n            )\n\n        def col_loss(ll_l):\n            ll_local = nn.log_softmax(ll_l, axis=-1)\n            mll, filt, pred, smooth, trans_probs, cond_probs = hmm_smoother_scan_colstoch(\n                pi, B, ll_local, return_trans_probs=True\n            )\n            return (\n                mll\n                + 1e-2 * (filt**2).sum()\n                + 1e-2 * (pred**2).sum()\n                + 1e-2 * (smooth**2).sum()\n                + 1e-2 * (trans_probs**2).sum()\n                + 1e-2 * (cond_probs**2).sum()\n            )\n\n        row_grad = grad(row_loss)(ll_logits)\n        col_grad = grad(col_loss)(ll_logits)\n        self.assertTrue(bool(jnp.all(jnp.isfinite(row_grad))))\n        self.assertTrue(bool(jnp.all(jnp.isfinite(col_grad))))\n\n    def test_near_zero_transitions_finite_outputs_and_grads(self):\n        key = jr.PRNGKey(15)\n        T, K = 16, 12\n        k1, k2 = jr.split(key, 2)\n        ll_logits = jr.normal(k1, (T, K)) * 4.0 - 120.0\n        ll = nn.log_softmax(ll_logits, axis=-1)\n        pi = nn.softmax(jr.normal(k2, (K,)), axis=-1)\n        A = _near_zero_rowstoch(K, tiny=1e-20)\n        B = A.T\n\n        # Near-zero (but nonzero) off-diagonals\n        self.assertTrue(bool(jnp.all(A > 0.0)))\n        self.assertTrue(bool(jnp.min(A) < 1e-10))\n\n        row_outputs = hmm_smoother_scan_rowstoch(pi, A, ll)\n        col_outputs = hmm_smoother_scan_colstoch(pi, B, ll, return_trans_probs=True)\n        self._assert_all_finite_tree(row_outputs)\n        self._assert_all_finite_tree(col_outputs)\n\n        def row_loss(ll_l):\n            ll_local = nn.log_softmax(ll_l, axis=-1)\n            mll, filt, pred, smooth, trans_probs, cond_probs = hmm_smoother_scan_rowstoch(pi, A, ll_local)\n            return (\n                mll\n                + 1e-2 * (filt**2).sum()\n                + 1e-2 * (pred**2).sum()\n                + 1e-2 * (smooth**2).sum()\n                + 1e-2 * (trans_probs**2).sum()\n                + 1e-2 * (cond_probs**2).sum()\n            )\n\n        def col_loss(ll_l):\n            ll_local = nn.log_softmax(ll_l, axis=-1)\n            mll, filt, pred, smooth, trans_probs, cond_probs = hmm_smoother_scan_colstoch(\n                pi, B, ll_local, return_trans_probs=True\n            )\n            return (\n                mll\n                + 1e-2 * (filt**2).sum()\n                + 1e-2 * (pred**2).sum()\n                + 1e-2 * (smooth**2).sum()\n                + 1e-2 * (trans_probs**2).sum()\n                + 1e-2 * (cond_probs**2).sum()\n            )\n\n        row_grad = grad(row_loss)(ll_logits)\n        col_grad = grad(col_loss)(ll_logits)\n        self.assertTrue(bool(jnp.all(jnp.isfinite(row_grad))))\n        self.assertTrue(bool(jnp.all(jnp.isfinite(col_grad))))\n\n    def test_directional_derivative_rowstoch_filter_mll(self):\n        key = jr.PRNGKey(13)\n        T, K = 10, 6\n        n_pi = K\n        n_trans = K * K\n        n_ll = T * K\n        n_total = n_pi + n_trans + n_ll\n        theta0 = jr.normal(key, (n_total,))\n\n        def scalar_mll(theta):\n            pi_l = theta[:n_pi]\n            trans_l = theta[n_pi:n_pi + n_trans].reshape(K, K)\n            ll_l = theta[n_pi + n_trans:].reshape(T, K)\n\n            pi = nn.softmax(pi_l, axis=-1)\n            trans = nn.softmax(trans_l, axis=-1)  # row-stochastic\n            ll = nn.log_softmax(ll_l, axis=-1)\n\n            mll, _, _ = hmm_filter_scan_rowstoch(pi, trans, ll)\n            return mll\n\n        g = grad(scalar_mll)(theta0)\n        self.assertTrue(bool(jnp.all(jnp.isfinite(g))))\n\n        # Check sampled directional derivatives against central finite differences.\n        eps = 1e-3\n        n_dirs = 2\n        dir_keys = jr.split(jr.PRNGKey(101), n_dirs)\n        for dkey in dir_keys:\n            v = jr.normal(dkey, theta0.shape)\n            v = v / (jnp.linalg.norm(v) + 1e-12)\n            ad_dir = jnp.vdot(g, v)\n            fd_dir = (scalar_mll(theta0 + eps * v) - scalar_mll(theta0 - eps * v)) / (2.0 * eps)\n            self.assertTrue(bool(jnp.isfinite(ad_dir)))\n            self.assertTrue(bool(jnp.isfinite(fd_dir)))\n            self.assertTrue(bool(jnp.allclose(ad_dir, fd_dir, atol=5e-3, rtol=5e-2)))\n\n    def test_update_posterior_states_exact_inference_matches_wrapper(self):\n        key = jr.PRNGKey(202)\n        k1, k2, k3, k4 = jr.split(key, 4)\n        T, K, no, nu = 7, 6, 5, 3\n\n        A = utils.random_A_array(k1, [no], [K], A_dependencies=[[0]])\n        B = utils.random_B_array(k2, [K], [nu], B_dependencies=[[0]])\n        prior = [jr.dirichlet(k3, jnp.ones((K,)))]\n\n        obs_idx = jr.randint(k4, (T,), 0, no)\n        obs = [nn.one_hot(obs_idx, no)]\n        actions = jr.randint(jr.fold_in(k4, 1), (T - 1,), 0, nu)\n        ll = vmap(lambda obs_t: jnp.log(A[0][obs_t]))(obs_idx)\n        B_seq = vmap(lambda u: B[0][..., u])(actions)\n        _, filtered_ref, _ = hmm_filter_scan_colstoch(prior[0], B_seq, ll)\n\n        prior_t = prior\n        for t in range(T):\n            obs_t = [obs[0][t : t + 1]]\n\n            qs_exact = inference.update_posterior_states(\n                A=A,\n                B=B,\n                obs=obs_t,\n                past_actions=None,\n                prior=prior_t,\n                A_dependencies=[[0]],\n                B_dependencies=[[0]],\n                method=\"exact\",\n                distr_obs=True,\n            )\n            self._assert_close(qs_exact[0][-1], filtered_ref[t])\n\n            if t < T - 1:\n                prior_t = [B[0][..., actions[t]] @ qs_exact[0][-1]]\n\n    def test_exact_inference_respects_inference_horizon(self):\n        key = jr.PRNGKey(203)\n        k1, k2, k3, k4 = jr.split(key, 4)\n        T, K, no, nu = 8, 5, 4, 2\n        horizon = 4\n\n        A = utils.random_A_array(k1, [no], [K], A_dependencies=[[0]])\n        B = utils.random_B_array(k2, [K], [nu], B_dependencies=[[0]])\n        prior = [jr.dirichlet(k3, jnp.ones((K,)))]\n\n        obs_idx = jr.randint(k4, (T,), 0, no)\n        obs = [nn.one_hot(obs_idx, no)]\n        actions = jr.randint(jr.fold_in(k4, 1), (T - 1,), 0, nu)\n\n        ll = vmap(lambda obs_t: jnp.log(A[0][obs_t]))(obs_idx)\n        B_seq = vmap(lambda u: B[0][..., u])(actions)\n        _, filtered_ref, _ = hmm_filter_scan_colstoch(prior[0], B_seq, ll)\n\n        prior_t = prior\n        qs_hist = None\n        for t in range(T):\n            obs_t = [obs[0][t : t + 1]]\n            qs_hist = inference.update_posterior_states(\n                A=A,\n                B=B,\n                obs=obs_t,\n                past_actions=None,\n                prior=prior_t,\n                qs_hist=qs_hist,\n                A_dependencies=[[0]],\n                B_dependencies=[[0]],\n                method=\"exact\",\n                distr_obs=True,\n                inference_horizon=horizon,\n            )\n            expected = filtered_ref[max(0, t - horizon + 1) : t + 1]\n            self.assertEqual(qs_hist[0].shape[0], expected.shape[0])\n            self._assert_close(qs_hist[0], expected)\n\n            if t < T - 1:\n                prior_t = [B[0][..., actions[t]] @ qs_hist[0][-1]]\n\n    def test_exact_inference_loop_with_policy_inference_and_learning(self):\n        key = jr.PRNGKey(204)\n        k1, k2, k3, k4 = jr.split(key, 4)\n        T, K, no, nu = 6, 5, 4, 3\n        horizon = 4\n\n        A = utils.random_A_array(k1, [no], [K], A_dependencies=[[0]])\n        B = utils.random_B_array(k2, [K], [nu], B_dependencies=[[0]])\n        pA = [jnp.ones_like(A[0])]\n        pB = [jnp.ones_like(B[0])]\n        D = [jr.dirichlet(k3, jnp.ones((K,)))]\n\n        agent = Agent(\n            A=A,\n            B=B,\n            D=D,\n            pA=pA,\n            pB=pB,\n            A_dependencies=[[0]],\n            B_dependencies=[[0]],\n            num_controls=[nu],\n            inference_algo=\"exact\",\n            inference_horizon=horizon,\n            policy_len=1,\n            learn_A=True,\n            learn_B=True,\n            batch_size=1,\n        )\n\n        obs_idx = jr.randint(k4, (T,), 0, no)\n        action_hist = jr.randint(jr.fold_in(k4, 1), (1, T - 1, 1), 0, nu)\n\n        empirical_prior = agent.D\n        qs_hist = None\n        for t in range(T):\n            obs_t = [jnp.array([obs_idx[t]])]\n            qs_hist = agent.infer_states(\n                observations=obs_t,\n                empirical_prior=empirical_prior,\n                qs_hist=qs_hist,\n            )\n\n            expected_len = min(t + 1, horizon)\n            self.assertEqual(qs_hist[0].shape, (1, expected_len, K))\n\n            if t < T - 1:\n                action_t = action_hist[:, t, :]\n                empirical_prior = agent.update_empirical_prior(action_t, qs_hist)\n\n        q_pi, neg_efe = agent.infer_policies(qs_hist)\n        self.assertTrue(bool(jnp.allclose(q_pi.sum(-1), 1.0, atol=1e-5)))\n        self.assertTrue(bool(jnp.all(jnp.isfinite(neg_efe))))\n\n        prior_next = agent.update_empirical_prior(action_hist[:, -1, :], qs_hist)\n        self.assertEqual(prior_next[0].shape, (1, K))\n        self.assertTrue(bool(jnp.allclose(prior_next[0].sum(-1), 1.0, atol=1e-5)))\n\n        observations_window = [jnp.expand_dims(obs_idx[-horizon:], 0)]\n        actions_window = action_hist[:, -(horizon - 1):, :]\n        pA_before = agent.pA[0]\n        pB_before = agent.pB[0]\n        agent_updated = agent.infer_parameters(qs_hist, observations_window, actions_window)\n\n        self.assertFalse(bool(jnp.allclose(agent_updated.pA[0], pA_before)))\n        self.assertFalse(bool(jnp.allclose(agent_updated.pB[0], pB_before)))\n\n    def test_exact_inference_accepts_missing_past_actions(self):\n        key = jr.PRNGKey(205)\n        k1, k2, k3, k4 = jr.split(key, 4)\n        T, K, no, nu = 5, 4, 3, 2\n\n        A = utils.random_A_array(k1, [no], [K], A_dependencies=[[0]])\n        B = utils.random_B_array(k2, [K], [nu], B_dependencies=[[0]])\n        D = [jr.dirichlet(k3, jnp.ones((K,)))]\n\n        agent = Agent(\n            A=A,\n            B=B,\n            D=D,\n            A_dependencies=[[0]],\n            B_dependencies=[[0]],\n            num_controls=[nu],\n            inference_algo=\"exact\",\n            inference_horizon=T,\n            batch_size=1,\n        )\n\n        obs_idx = jr.randint(k4, (T,), 0, no)\n        observations = [jnp.expand_dims(obs_idx, 0)]  # (batch, T)\n\n        qs = agent.infer_states(\n            observations=observations,\n            empirical_prior=agent.D,\n            past_actions=None,\n        )\n        self.assertEqual(qs[0].shape, (1, 1, K))\n        self.assertTrue(bool(jnp.allclose(qs[0].sum(-1), 1.0, atol=1e-5)))\n\n    def test_exact_inference_rejects_multi_factor_models(self):\n        key = jr.PRNGKey(206)\n        k1, k2, k3 = jr.split(key, 3)\n        no = 4\n        num_states = [3, 2]\n        num_controls = [2, 2]\n\n        A = utils.random_A_array(k1, [no], num_states, A_dependencies=[[0, 1]])\n        B = utils.random_B_array(k2, num_states, num_controls, B_dependencies=[[0], [1]])\n        D = [\n            jr.dirichlet(jr.fold_in(k3, 0), jnp.ones((num_states[0],))),\n            jr.dirichlet(jr.fold_in(k3, 1), jnp.ones((num_states[1],))),\n        ]\n\n        with self.assertRaisesRegex(ValueError, \"single hidden-state factor\"):\n            _ = Agent(\n                A=A,\n                B=B,\n                D=D,\n                A_dependencies=[[0, 1]],\n                B_dependencies=[[0], [1]],\n                num_controls=num_controls,\n                inference_algo=\"exact\",\n                batch_size=1,\n            )\n\n\nif __name__ == \"__main__\":\n    unittest.main()\n"
  },
  {
    "path": "test/test_inductive_inference_jax.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\"Unit tests for inductive inference.\"\"\"\n\nimport unittest\n\nimport numpy as np\nfrom jax.nn import one_hot\nimport jax.numpy as jnp\n\nimport pymdp.control as ctl_jax\n\n\ndef _chain_transition(num_states: int) -> jnp.ndarray:\n    \"\"\"Single-action chain with a self-loop on the goal state.\"\"\"\n    B = jnp.zeros((num_states, num_states, 1), dtype=jnp.float32)\n    for prev in range(num_states - 1):\n        B = B.at[prev + 1, prev, 0].set(1.0)\n    B = B.at[num_states - 1, num_states - 1, 0].set(1.0)\n    return B\n\n\ndef _advance_or_stay_transition() -> jnp.ndarray:\n    \"\"\"Two-action transition: advance along a chain or stay put.\"\"\"\n    B = jnp.zeros((3, 3, 2), dtype=jnp.float32)\n    B = B.at[:, :, 0].set(\n        jnp.array(\n            [\n                [0.0, 0.0, 0.0],\n                [1.0, 0.0, 0.0],\n                [0.0, 1.0, 1.0],\n            ],\n            dtype=jnp.float32,\n        )\n    )\n    B = B.at[:, :, 1].set(jnp.eye(3, dtype=jnp.float32))\n    return B\n\n\ndef _manual_chain_I() -> list[jnp.ndarray]:\n    return [\n        jnp.array(\n            [\n                [0.0, 0.0, 1.0],\n                [0.0, 1.0, 1.0],\n                [1.0, 1.0, 1.0],\n            ],\n            dtype=jnp.float32,\n        )\n    ]\n\nclass TestInductiveInferenceJax(unittest.TestCase):\n\n    def test_generate_I_matrix_rejects_nonpositive_depth(self):\n        H = [jnp.array([0.0, 1.0], dtype=jnp.float32)]\n        B = [jnp.zeros((2, 2, 1), dtype=jnp.float32)]\n\n        with self.assertRaisesRegex(ValueError, \"`depth` must be >= 1\"):\n            ctl_jax.generate_I_matrix(H, B, threshold=0.5, depth=0)\n\n    def test_generate_I_matrix_matches_chain_reachability(self):\n        H = [jnp.array([0.0, 0.0, 1.0], dtype=jnp.float32)]\n        B = [_chain_transition(3)]\n\n        I = ctl_jax.generate_I_matrix(H, B, threshold=0.5, depth=4)\n\n        expected = jnp.array(\n            [\n                [0.0, 0.0, 1.0],\n                [0.0, 1.0, 1.0],\n                [1.0, 1.0, 1.0],\n                [1.0, 1.0, 1.0],\n            ],\n            dtype=jnp.float32,\n        )\n        self.assertTrue(np.array_equal(np.array(I[0]), np.array(expected)))\n\n    def test_generate_I_matrix_respects_threshold_pruning(self):\n        H = [jnp.array([0.0, 1.0], dtype=jnp.float32)]\n\n        reachable = jnp.zeros((2, 2, 2), dtype=jnp.float32)\n        reachable = reachable.at[:, :, 0].set(\n            jnp.array([[0.49, 0.0], [0.51, 1.0]], dtype=jnp.float32)\n        )\n        reachable = reachable.at[:, :, 1].set(\n            jnp.array([[1.0, 0.0], [0.0, 1.0]], dtype=jnp.float32)\n        )\n\n        not_reachable = jnp.zeros((2, 2, 2), dtype=jnp.float32)\n        not_reachable = not_reachable.at[:, :, 0].set(\n            jnp.array([[0.51, 0.0], [0.49, 1.0]], dtype=jnp.float32)\n        )\n        not_reachable = not_reachable.at[:, :, 1].set(\n            jnp.array([[1.0, 0.0], [0.0, 1.0]], dtype=jnp.float32)\n        )\n\n        I_reachable = ctl_jax.generate_I_matrix(H, [reachable], threshold=0.5, depth=2)\n        I_not_reachable = ctl_jax.generate_I_matrix(H, [not_reachable], threshold=0.5, depth=2)\n\n        self.assertEqual(float(I_reachable[0][1, 0]), 1.0)\n        self.assertEqual(float(I_not_reachable[0][1, 0]), 0.0)\n\n    def test_generate_I_matrix_respects_depth_truncation(self):\n        H = [jnp.array([0.0, 0.0, 0.0, 1.0], dtype=jnp.float32)]\n        B = [_chain_transition(4)]\n\n        I_depth_3 = ctl_jax.generate_I_matrix(H, B, threshold=0.5, depth=3)\n        I_depth_4 = ctl_jax.generate_I_matrix(H, B, threshold=0.5, depth=4)\n\n        self.assertEqual(float(I_depth_3[0][-1, 0]), 0.0)\n        self.assertEqual(float(I_depth_4[0][-1, 0]), 1.0)\n\n    def test_calc_inductive_value_on_path_zero_and_off_path_logeps(self):\n        I = _manual_chain_I()\n        qs = [one_hot(0, 3)]\n        log_eps = float(jnp.log(1e-3))\n\n        on_path = ctl_jax.calc_inductive_value_t(qs, [one_hot(1, 3)], I, epsilon=1e-3)\n        off_path = ctl_jax.calc_inductive_value_t(qs, [one_hot(0, 3)], I, epsilon=1e-3)\n\n        self.assertAlmostEqual(float(on_path), 0.0, places=6)\n        self.assertAlmostEqual(float(off_path), log_eps, places=6)\n\n    def test_calc_inductive_value_scales_with_off_path_mass(self):\n        I = _manual_chain_I()\n        qs = [one_hot(0, 3)]\n        qs_next = [jnp.array([0.25, 0.75, 0.0], dtype=jnp.float32)]\n\n        value = ctl_jax.calc_inductive_value_t(qs, qs_next, I, epsilon=1e-3)\n        expected = 0.25 * float(jnp.log(1e-3))\n\n        self.assertAlmostEqual(float(value), expected, places=6)\n\n    def test_calc_inductive_value_is_zero_when_goal_unreachable(self):\n        I_unreachable = [\n            jnp.array(\n                [\n                    [0.0, 0.0, 1.0],\n                    [0.0, 0.0, 1.0],\n                    [0.0, 0.0, 1.0],\n                ],\n                dtype=jnp.float32,\n            )\n        ]\n        qs = [one_hot(0, 3)]\n        qs_next = [jnp.array([0.4, 0.6, 0.0], dtype=jnp.float32)]\n\n        value = ctl_jax.calc_inductive_value_t(qs, qs_next, I_unreachable, epsilon=1e-3)\n\n        self.assertAlmostEqual(float(value), 0.0, places=6)\n\n    def test_calc_inductive_value_depends_on_map_current_state(self):\n        I = _manual_chain_I()\n        qs_next = [jnp.array([0.25, 0.75, 0.0], dtype=jnp.float32)]\n\n        qs_a = [jnp.array([0.51, 0.49, 0.0], dtype=jnp.float32)]\n        qs_b = [jnp.array([1.0, 0.0, 0.0], dtype=jnp.float32)]\n        qs_c = [jnp.array([0.49, 0.51, 0.0], dtype=jnp.float32)]\n\n        value_a = ctl_jax.calc_inductive_value_t(qs_a, qs_next, I, epsilon=1e-3)\n        value_b = ctl_jax.calc_inductive_value_t(qs_b, qs_next, I, epsilon=1e-3)\n        value_c = ctl_jax.calc_inductive_value_t(qs_c, qs_next, I, epsilon=1e-3)\n\n        self.assertAlmostEqual(float(value_a), float(value_b), places=6)\n        self.assertAlmostEqual(float(value_c), float(jnp.log(1e-3)), places=6)\n\n    def test_one_step_policy_ranking_prefers_goal_directed_action(self):\n        A = [jnp.eye(3, dtype=jnp.float32)]\n        B = [_advance_or_stay_transition()]\n        C = [jnp.zeros((3,), dtype=jnp.float32)]\n        E = jnp.array([0.5, 0.5], dtype=jnp.float32)\n        qs_init = [one_hot(0, 3)]\n        I = _manual_chain_I()\n        policy_matrix = jnp.array([[[0]], [[1]]], dtype=jnp.int32)\n\n        q_pi, neg_efe = ctl_jax.update_posterior_policies_inductive(\n            policy_matrix,\n            qs_init,\n            A,\n            B,\n            C,\n            E,\n            None,\n            None,\n            [[0]],\n            [[0]],\n            I,\n            gamma=1.0,\n            inductive_epsilon=1e-3,\n            use_utility=False,\n            use_states_info_gain=False,\n            use_param_info_gain=False,\n            use_inductive=True,\n        )\n\n        expected_neg_efe = np.array([0.0, jnp.log(1e-3)], dtype=np.float32)\n        expected_q_pi = np.array([1.0 / (1.0 + 1e-3), 1e-3 / (1.0 + 1e-3)], dtype=np.float32)\n\n        self.assertTrue(np.allclose(np.array(neg_efe), expected_neg_efe, atol=1e-6))\n        self.assertTrue(np.allclose(np.array(q_pi), expected_q_pi, atol=1e-6))\n\n    def test_compute_neg_efe_policy_inductive_matches_non_inductive_when_disabled(self):\n        A = [jnp.eye(3, dtype=jnp.float32)]\n        B = [_advance_or_stay_transition()]\n        C = [jnp.array([0.0, 0.5, 1.0], dtype=jnp.float32)]\n        qs_init = [one_hot(0, 3)]\n        policy = jnp.array([[0]], dtype=jnp.int32)\n        I = _manual_chain_I()\n\n        neg_efe = ctl_jax.compute_neg_efe_policy(\n            qs_init,\n            A,\n            B,\n            C,\n            None,\n            None,\n            [[0]],\n            [[0]],\n            policy,\n            use_utility=True,\n            use_states_info_gain=False,\n            use_param_info_gain=False,\n        )\n        neg_efe_inductive_disabled = ctl_jax.compute_neg_efe_policy_inductive(\n            qs_init,\n            A,\n            B,\n            C,\n            None,\n            None,\n            [[0]],\n            [[0]],\n            I,\n            policy,\n            use_utility=True,\n            use_states_info_gain=False,\n            use_param_info_gain=False,\n            use_inductive=False,\n        )\n\n        self.assertAlmostEqual(float(neg_efe), float(neg_efe_inductive_disabled), places=6)\n\n    def test_multistep_inductive_scoring_stays_anchored_to_qs_init(self):\n        A = [jnp.eye(3, dtype=jnp.float32)]\n        B = [_advance_or_stay_transition()]\n        C = [jnp.zeros((3,), dtype=jnp.float32)]\n        qs_init = [one_hot(0, 3)]\n        I = _manual_chain_I()\n\n        advance_then_stay = jnp.array([[0], [1]], dtype=jnp.int32)\n        advance_twice = jnp.array([[0], [0]], dtype=jnp.int32)\n\n        score_a = ctl_jax.compute_neg_efe_policy_inductive(\n            qs_init,\n            A,\n            B,\n            C,\n            None,\n            None,\n            [[0]],\n            [[0]],\n            I,\n            advance_then_stay,\n            use_utility=False,\n            use_states_info_gain=False,\n            use_param_info_gain=False,\n            use_inductive=True,\n        )\n        score_b = ctl_jax.compute_neg_efe_policy_inductive(\n            qs_init,\n            A,\n            B,\n            C,\n            None,\n            None,\n            [[0]],\n            [[0]],\n            I,\n            advance_twice,\n            use_utility=False,\n            use_states_info_gain=False,\n            use_param_info_gain=False,\n            use_inductive=True,\n        )\n\n        self.assertAlmostEqual(float(score_a), float(score_b), places=6)\n        self.assertAlmostEqual(float(score_a), 0.0, places=6)\n\n\nif __name__ == \"__main__\":\n    unittest.main()\n"
  },
  {
    "path": "test/test_infer_states_optimized.py",
    "content": "\"\"\"\nUnit tests to compare outputs of different state inference methods.\n\nThis module tests that the following methods produce identical results:\n- Original method\n- End2End padded method\n- Hybrid method\n- Hybrid block method\n\n\"\"\"\n\nimport unittest\nimport numpy as np\nimport jax.numpy as jnp\nimport jax.tree_util as jtu\nfrom jax import nn, jit, vmap\nfrom jax.experimental import sparse as jsparse\nfrom functools import partial\n\n# Import helpers from pymdp\nfrom pymdp.utils import init_A_and_D_from_spec, get_sample_obs, generate_agent_specs_from_parameter_sets\n\n# Import utils functions for different methods\nfrom pymdp.utils import (\n    apply_padding_batched,\n    preprocess_A_for_block_diag,\n    concatenate_observations_block_diag,\n    apply_A_end2end_padding_batched,\n    apply_obs_end2end_padding_batched\n)\n\n# Import math functions\nfrom pymdp.maths import (\n    compute_log_likelihoods_padded,\n    deconstruct_lls,\n    compute_log_likelihoods_block_diag,\n    compute_log_likelihood_per_modality_end2end2_padded\n)\n\n# Import algorithms\nfrom pymdp.algos import (\n    run_factorized_fpi_hybrid,\n    run_factorized_fpi_end2end_padded\n)\n\n# Import original inference method\nfrom pymdp.inference import update_posterior_states\n\nclass TestInferStatesComparison(unittest.TestCase):\n    \"\"\"Test that all inference methods produce identical results.\"\"\"\n\n    # Default test parameters\n    NUM_ITER = 8\n    ATOL = 1e-5\n\n    # Agent specs will be generated from parameter sets\n    AGENT_SPECS = None\n\n    @classmethod\n    def setUpClass(cls):\n        \"\"\"Generate agent specs from parameter sets once before all tests.\"\"\"\n\n        # Use explicit seed for reproducible tests\n        # This keeps memory complexity low: (see issue #335)\n        test_seed = 17\n\n        # Define coordinated parameter sets\n        # (num_factors, num_modalities, state_dim_upper_limit, obs_dim_upper_limit, dim_sampling_type, label)\n        parameter_sets = [\n            (5, 5, 5, 5, 'uniform', 'low'),\n            (10, 10, 10, 10, 'uniform', 'medium'),\n            (18, 18, 18, 18, 'uniform', 'high'),\n            # (125, 125, 125, 125, 'uniform', 'extreme'),  # Uncomment to include extreme cases\n        ]\n\n        # Generate agent specs without dumping to file\n        spec_data = generate_agent_specs_from_parameter_sets(\n            parameter_sets,\n            num_agents_per_set=1,\n            max_A_dependency_list_size=3,\n            output_file=None,  # Don't save to file\n            seed=test_seed\n        )\n\n        # Load 'arbitrary dependencies' category specs\n        cls.AGENT_SPECS = []\n        category = 'arbitrary dependencies'\n        if category in spec_data:\n            specs = spec_data[category]\n            for i, spec in enumerate(specs):\n                # Add a name field for easier identification\n                spec['name'] = f\"{category}_{i}\"\n                spec['category'] = category\n                cls.AGENT_SPECS.append(spec)\n            print(f\"Generated {len(cls.AGENT_SPECS)} agent specs from parameter sets\", flush=True)\n        else:\n            raise ValueError(f\"Category '{category}' not found in generated specs\")\n\n    @classmethod\n    def should_skip_spec(cls, spec):\n        \"\"\"\n        Determine if a spec should be skipped based on filtering criteria.\n\n        Args:\n            spec: Agent specification object containing metadata\n\n        Returns:\n            bool: True if spec should be skipped\n        \"\"\"\n\n        metadata = spec.get('metadata', {})\n\n        # Filter for extreme dimensions combination\n        if (metadata.get('state_dim_upper_limit') == \"extreme\" and\n            metadata.get('obs_dim_upper_limit') == \"extreme\"):\n            return True\n\n        # Filter for high modalities with high/extreme state dimensions\n        if (metadata.get('num_modalities') == \"high\" and\n            metadata.get('state_dim_upper_limit') in [\"high\", \"extreme\"]):\n            return True\n\n        return False\n\n    @classmethod\n    def get_specs_subset(cls, max_specs=None, filter_fn=None):\n        \"\"\"Get a subset of agent specs for testing.\n\n        Args:\n            max_specs: Maximum number of specs to return (None for all)\n            filter_fn: Optional function to filter specs (takes spec dict, returns bool)\n\n        Returns:\n            List of agent specs\n        \"\"\"\n        specs = cls.AGENT_SPECS\n\n        if filter_fn:\n            specs = [s for s in specs if filter_fn(s)]\n\n        if max_specs is not None:\n            specs = specs[:max_specs]\n\n        return specs\n\n    def _compare_results(self, r1, r2, m1, m2, spec):\n        \"\"\"Compare posterior results (qs) from two methods with flexible batch shapes.\"\"\"\n        print(f\"\\n=== Comparing Results: {m1} vs {m2} ===\")\n        print(f\"Spec: {spec}\")\n        print(f\"Number of factors - {m1}: {len(r1)}, {m2}: {len(r2)}\")\n\n        self.assertEqual(len(r1), len(r2),\n                        f\"[{spec}] {m1} vs {m2}: different #factors\")\n\n        ATOL = getattr(self, \"ATOL\", 1e-6)\n        RTOL = getattr(self, \"RTOL\", 1e-6)\n        print(f\"Tolerance: ATOL={ATOL}, RTOL={RTOL}\")\n\n        for i, (a, b) in enumerate(zip(r1, r2)):\n            print(f\"\\n--- Factor {i} ---\")\n\n            a = jnp.asarray(a)\n            b = jnp.asarray(b)\n\n            print(f\"{m1} - Type: {type(a)}, Shape: {a.shape}, Dtype: {a.dtype}\")\n            print(f\"{m2} - Type: {type(b)}, Shape: {b.shape}, Dtype: {b.dtype}\")\n            print(f\"{m1} - Min: {float(jnp.min(a)):.6f}, Max: {float(jnp.max(a)):.6f}, Mean: {float(jnp.mean(a)):.6f}\")\n            print(f\"{m2} - Min: {float(jnp.min(b)):.6f}, Max: {float(jnp.max(b)):.6f}, Mean: {float(jnp.mean(b)):.6f}\")\n\n            a_orig, b_orig = a.shape, b.shape\n\n            self.assertEqual(\n                a.shape, b.shape,\n                f\"[{spec}] {m1} vs {m2}: factor {i} shape {a.shape} != {b.shape} \"\n                f\"(orig {a_orig} vs {b_orig})\"\n            )\n\n            if not bool(jnp.allclose(a, b, rtol=RTOL, atol=ATOL, equal_nan=True)):\n                diff = jnp.abs(a - b)\n                idx = jnp.unravel_index(jnp.argmax(diff), diff.shape)\n                print(f\"\\n[{spec}] {m1} vs {m2}: factor {i}\")\n                print(f\"Shapes: {a_orig} vs {b_orig} -> reshaped {a.shape}\")\n                print(f\"Max diff: {float(diff[idx])}, mean diff: {float(jnp.mean(diff))}\")\n                self.fail(f\"[{spec}] {m1} vs {m2}: factor {i} values differ (atol={ATOL}, rtol={RTOL})\")\n            else:\n                diff = jnp.abs(a - b)\n                print(f\"✓ Factor {i} matches! Max diff: {float(jnp.max(diff)):.2e}, Mean diff: {float(jnp.mean(diff)):.2e}\")\n\n        print(f\"\\n✓ All factors match between {m1} and {m2}!\\n\")\n\n    def _test_single_spec_with_batch(self, spec, batch_size=4, A_sparsity_level=None, use_sparsity=False):\n        \"\"\"Test a single agent spec with batch size.\n\n        Args:\n            spec: Agent specification\n            batch_size: Batch size for inference\n            A_sparsity_level: Sparsity level for A matrix generation (0.0-1.0)\n            use_sparsity: Whether to convert A matrices to sparse BCOO format\n        \"\"\"\n        spec_name = spec['name']\n        A_dependencies = spec[\"A_dependencies\"]\n\n        # Initialize agent from spec\n        A, D = init_A_and_D_from_spec(\n            spec[\"num_obs\"],\n            spec[\"num_states\"],\n            spec[\"A_dependencies\"],\n            A_sparsity_level=A_sparsity_level,\n            batch_size=batch_size\n        )\n        obs = get_sample_obs(spec[\"num_obs\"], batch_size=batch_size)\n\n        # Prepare observations\n        o_vec = [nn.one_hot(o, spec[\"num_obs\"][m]) for m, o in enumerate(obs)]\n        obs_tmp = jtu.tree_map(lambda x: jnp.squeeze(x, 1), o_vec)\n\n        # === Original method (from pymdp.inference) ===\n        infer_states_orig_pymdp = vmap(\n            partial(\n                update_posterior_states,\n                A_dependencies=A_dependencies,\n                num_iter=self.NUM_ITER,\n                method='fpi'\n            )\n        )\n        qs_original = infer_states_orig_pymdp(A, None, o_vec, None, D)\n\n        # === Hybrid method ===\n        def infer_states_hybrid(obs_padded, A_padded, D, A_shapes, A_dependencies, num_iter):\n            lls_padded = compute_log_likelihoods_padded(obs_padded, A_padded)\n            log_likelihoods = deconstruct_lls(lls_padded, A_shapes)\n            return vmap(partial(run_factorized_fpi_hybrid, A_dependencies=A_dependencies, num_iter=num_iter))(log_likelihoods, D)\n\n        A_padded_hybrid = apply_padding_batched(A)\n        A_shapes = [a.shape for a in A]\n        if use_sparsity:\n            A_padded_hybrid = jsparse.BCOO.fromdense(A_padded_hybrid, n_batch=1)\n        obs_padded_hybrid = apply_padding_batched(obs_tmp)\n\n        infer_states_hybrid_jit = jit(partial(infer_states_hybrid, A_shapes=A_shapes, A_dependencies=A_dependencies, num_iter=self.NUM_ITER))\n        qs_hybrid = infer_states_hybrid_jit(obs_padded_hybrid, A_padded_hybrid, D)\n\n        # === Hybrid Block method ===\n        def infer_states_hybrid_block(obs, A_big, D, state_shapes, cuts, A_dependencies, num_iter, use_einsum=False):\n            \"\"\"Hybrid inference using block diagonal approach for log-likelihood computation.\"\"\"\n            log_likelihoods = compute_log_likelihoods_block_diag(A_big, obs, state_shapes, cuts, use_einsum=use_einsum)\n            return vmap(partial(run_factorized_fpi_hybrid, A_dependencies=A_dependencies, num_iter=num_iter))(log_likelihoods, D)\n\n        A_moveaxis = [jnp.moveaxis(a, 1, -1) for a in A]\n        A_big, state_shapes, cuts = preprocess_A_for_block_diag(A_moveaxis)\n        if use_sparsity:\n            A_big = jsparse.BCOO.fromdense(A_big, n_batch=1)\n        obs_concat = concatenate_observations_block_diag(obs_tmp)\n\n        infer_states_hybrid_block_jit = jit(partial(infer_states_hybrid_block, state_shapes=state_shapes, cuts=cuts, A_dependencies=A_dependencies, num_iter=self.NUM_ITER, use_einsum=False))\n        qs_hybrid_block = infer_states_hybrid_block_jit(obs_concat, A_big, D)\n\n        # === End2End padded method ===\n        def infer_states_end2end_padded(A_padded, obs_padded, D, A_dependencies, max_obs_dim, max_state_dim, num_iter, sparsity=None):\n            lls_padded = compute_log_likelihood_per_modality_end2end2_padded(obs_padded, A_padded, sparsity=sparsity)\n            return run_factorized_fpi_end2end_padded(lls_padded, D, A_dependencies, max_obs_dim, max_state_dim, num_iter)\n\n        A_padded_e2e = apply_A_end2end_padding_batched(A)\n        if use_sparsity:\n            A_padded_e2e = jsparse.BCOO.fromdense(A_padded_e2e)\n        max_obs_dim = A_padded_e2e.shape[2]\n        max_state_dim = max(A_padded_e2e.shape[3:])\n        obs_padded_e2e = apply_obs_end2end_padding_batched(obs_tmp, max_obs_dim)\n\n        infer_states_e2e_jit = jit(partial(infer_states_end2end_padded, A_dependencies=A_dependencies, max_obs_dim=max_obs_dim, max_state_dim=max_state_dim, num_iter=self.NUM_ITER, sparsity='ll_only' if use_sparsity else None))\n        qs_end2end = infer_states_e2e_jit(A_padded_e2e, obs_padded_e2e, D)\n\n        # Compare all methods\n        self._compare_results(qs_original, qs_hybrid,\n                             \"Original\", \"Hybrid\", spec_name)\n        self._compare_results(qs_original, qs_hybrid_block,\n                             \"Original\", \"Hybrid Block\", spec_name)\n        self._compare_results(qs_original, qs_end2end,\n                             \"Original\", \"End2End Padded\", spec_name)\n\n    # Test methods for different subsets of specs\n    def test_first_spec_with_batch(self):\n        \"\"\"Test first agent spec with batch size.\"\"\"\n        self._test_single_spec_with_batch(self.AGENT_SPECS[0], batch_size=4)\n\n    def test_small_subset_with_batch(self):\n        \"\"\"Test first 5 agent specs with batch size.\"\"\"\n        specs = self.get_specs_subset(max_specs=5)\n        batch_size = 4\n        skipped_count = 0\n        tested_count = 0\n        for spec in specs:\n            print(f\"Testing spec '{spec['name']}' [BS={batch_size}]\")\n\n            should_skip_extreme = self.should_skip_spec(spec)\n\n            if should_skip_extreme:\n                skipped_count += 1\n                print(\"  ⏭️  Skipped due to extreme dimensions\")\n                continue\n\n            with self.subTest(spec=spec['name']):\n                tested_count += 1\n                self._test_single_spec_with_batch(spec, batch_size=batch_size)\n\n        print(f\"\\n✓ Tested {tested_count} specs, skipped {skipped_count} specs\")\n\n    def test_different_batch_sizes(self):\n        \"\"\"Test that batch size method works with different batch sizes.\"\"\"\n        spec = self.AGENT_SPECS[0]  # Use first spec\n\n        for batch_size in [1, 4]:\n            with self.subTest(batch_size=batch_size):\n                self._test_single_spec_with_batch(spec, batch_size=batch_size)\n\n    def test_low_complexity_specs_with_batch(self):\n        \"\"\"Test only low complexity specs (low num_factors and low num_modalities) with batch.\"\"\"\n        def is_low_complexity(spec):\n            return (spec.get('num_factors', 0) == 5 and\n                   spec.get('num_modalities', 0) == 5)\n\n        specs = self.get_specs_subset(filter_fn=is_low_complexity, max_specs=25)\n        print(f\"\\nTesting {len(specs)} low complexity specs with batch size\")\n\n        batch_size = 4\n        skipped_count = 0\n        tested_count = 0\n        for spec in specs:\n            print(f\"Testing spec '{spec['name']}' [BS={batch_size}]\")\n\n            should_skip_extreme = self.should_skip_spec(spec)\n\n            if should_skip_extreme:\n                skipped_count += 1\n                print(\"  ⏭️  Skipped due to extreme dimensions\")\n                continue\n\n            with self.subTest(spec=spec['name']):\n                tested_count += 1\n                self._test_single_spec_with_batch(spec, batch_size=batch_size)\n\n        print(f\"\\n✓ Tested {tested_count} specs, skipped {skipped_count} specs\")\n\n    def test_sparsity_with_batch(self):\n        \"\"\"Test sparse matrix support with batch size.\"\"\"\n        print(\"\\nTesting sparsity support (with batch)\")\n\n        # Use first spec for sparsity test\n        spec = self.AGENT_SPECS[0]\n        A_sparsity_level = 0.95  # 95% sparse\n        batch_size = 4\n\n        print(f\"Testing spec '{spec['name']}' [BS={batch_size}] with sparsity={A_sparsity_level}\")\n\n        # Test with sparsity using the helper function\n        self._test_single_spec_with_batch(spec, batch_size=batch_size, A_sparsity_level=A_sparsity_level, use_sparsity=True)\n\n        print(\"✓ Sparse matrix operations completed successfully\")\n\n    def test_all_agents_with_batch(self):\n        \"\"\"Test all agent specs with batch size.\"\"\"\n        specs = self.AGENT_SPECS\n        batch_size = 4\n        skipped_count = 0\n        tested_count = 0\n\n        print(f\"\\nTesting all {len(specs)} agent specs with batch size {batch_size}\")\n\n        for spec in specs:\n            print(f\"Testing spec '{spec['name']}' [BS={batch_size}]\")\n\n            should_skip_extreme = self.should_skip_spec(spec)\n\n            if should_skip_extreme:\n                skipped_count += 1\n                print(\"  ⏭️  Skipped due to extreme dimensions\")\n                continue\n\n            with self.subTest(spec=spec['name']):\n                tested_count += 1\n                self._test_single_spec_with_batch(spec, batch_size=batch_size)\n\n        print(f\"\\n✓ Tested {tested_count} specs, skipped {skipped_count} specs\")\n\nif __name__ == '__main__':\n    unittest.main()\n"
  },
  {
    "path": "test/test_inference.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Unit Tests\n__author__: Conor Heins, Alexander Tschantz, Daphne Demekas, Brennan Klein\n\"\"\"\n\nimport unittest\n\nimport numpy as np\n\nfrom pymdp.legacy import utils, maths\nfrom pymdp.legacy import inference\n\nclass TestInference(unittest.TestCase):\n\n    def test_update_posterior_states(self):\n        \"\"\"\n        Tests the refactored version of `update_posterior_states`\n        \"\"\"\n\n        '''Test with single hidden state factor and single observation modality'''\n\n        num_states = [3]\n        num_obs = [3]       \n\n        prior = utils.random_single_categorical(num_states)\n\n        A = utils.to_obj_array(maths.softmax(np.eye(num_states[0]) * 0.1))\n\n        obs_idx = 1\n        obs = utils.onehot(obs_idx, num_obs[0])\n\n        qs_out = inference.update_posterior_states(A, obs, prior=prior)\n        qs_validation =  maths.softmax(maths.spm_log_single(A[0][obs_idx,:]) + maths.spm_log_single(prior[0]))\n\n        self.assertTrue(np.isclose(qs_validation, qs_out[0]).all())\n\n        '''Try single modality inference where the observation is passed in as an int'''\n        qs_out_2 = inference.update_posterior_states(A, obs_idx, prior=prior)\n        self.assertTrue(np.isclose(qs_out_2[0], qs_out[0]).all())\n\n        '''Try single modality inference where the observation is a one-hot stored in an object array'''\n        qs_out_3 = inference.update_posterior_states(A, utils.to_obj_array(obs), prior=prior)\n        self.assertTrue(np.isclose(qs_out_3[0], qs_out[0]).all())\n\n        '''Test with multiple hidden state factors and single observation modality'''\n\n        num_states = [3, 4]\n        num_obs = [3]\n\n        prior = utils.random_single_categorical(num_states)\n\n        A = utils.random_A_matrix(num_obs, num_states)\n\n        obs_idx = 1\n        obs = utils.onehot(obs_idx, num_obs[0])\n\n        qs_out = inference.update_posterior_states(A, obs, prior=prior, num_iter = 1)\n\n        # validate with a quick n' dirty implementation of FPI\n\n        # initialize posterior and log prior\n        qs_valid_init = utils.obj_array_uniform(num_states)\n        log_prior = maths.spm_log_obj_array(prior)\n\n        qs_valid_final = utils.obj_array(len(num_states))\n\n        log_likelihood = maths.spm_log_single(maths.get_joint_likelihood(A, obs, num_states))\n\n        num_factors = len(num_states)\n\n        qs_valid_init_all = qs_valid_init[0]\n        for factor in range(num_factors-1):\n            qs_valid_init_all = qs_valid_init_all[...,None]*qs_valid_init[factor+1]\n        LL_tensor = log_likelihood * qs_valid_init_all\n\n        factor_ids = range(num_factors)\n\n        for factor, qs_f in enumerate(qs_valid_init):\n            ax2sum = tuple(set(factor_ids) - set([factor])) # which axes to sum out\n            qL = LL_tensor.sum(axis = ax2sum) / qs_f\n            qs_valid_final[factor] = maths.softmax(qL + log_prior[factor])\n\n        for factor, qs_f_valid in enumerate(qs_valid_final):\n            self.assertTrue(np.isclose(qs_f_valid, qs_out[factor]).all())\n\n        '''Test with multiple hidden state factors and multiple observation modalities, for two different kinds of observation input formats'''\n        \n        num_states = [3, 4]\n        num_obs = [3, 3, 5]\n\n        prior = utils.random_single_categorical(num_states)\n\n        A = utils.random_A_matrix(num_obs, num_states)\n\n        obs_index_tuple = tuple([np.random.randint(obs_dim) for obs_dim in num_obs])\n\n        qs_out1 = inference.update_posterior_states(A, obs_index_tuple, prior=prior)\n\n        obs_onehots = utils.obj_array(len(num_obs))\n        for g in range(len(num_obs)):\n            obs_onehots[g] = utils.onehot(obs_index_tuple[g], num_obs[g])\n\n        qs_out2 = inference.update_posterior_states(A, obs_onehots, prior=prior)\n\n        for factor in range(len(num_states)):\n            self.assertTrue(np.isclose(qs_out1[factor], qs_out2[factor]).all())\n\n    def test_update_posterior_states_factorized_single_factor(self):\n        \"\"\"\n        Tests the version of `update_posterior_states` where an `mb_dict` is provided as an argument to factorize\n        the fixed-point iteration (FPI) algorithm. Single factor version.\n        \"\"\"\n        num_states = [3]\n        num_obs = [3]       \n\n        prior = utils.random_single_categorical(num_states)\n\n        A = utils.to_obj_array(maths.softmax(np.eye(num_states[0]) * 0.1))\n\n        obs_idx = 1\n        obs = utils.onehot(obs_idx, num_obs[0])\n\n        mb_dict = {'A_factor_list': [[0]],\n                    'A_modality_list': [[0]]}\n\n        qs_out = inference.update_posterior_states_factorized(A, obs, num_obs, num_states, mb_dict, prior=prior)\n        qs_validation =  maths.softmax(maths.spm_log_single(A[0][obs_idx,:]) + maths.spm_log_single(prior[0]))\n\n        self.assertTrue(np.isclose(qs_validation, qs_out[0]).all())\n\n        '''Try single modality inference where the observation is passed in as an int'''\n        qs_out_2 = inference.update_posterior_states_factorized(A, obs_idx, num_obs, num_states, mb_dict, prior=prior)\n        self.assertTrue(np.isclose(qs_out_2[0], qs_out[0]).all())\n\n        '''Try single modality inference where the observation is a one-hot stored in an object array'''\n        qs_out_3 = inference.update_posterior_states_factorized(A, utils.to_obj_array(obs),num_obs, num_states, mb_dict, prior=prior)\n        self.assertTrue(np.isclose(qs_out_3[0], qs_out[0]).all())\n\n    def test_update_posterior_states_factorized(self):\n        \"\"\"\n        Tests the version of `update_posterior_states` where an `mb_dict` is provided as an argument to factorize\n        the fixed-point iteration (FPI) algorithm.\n        \"\"\"\n\n        num_states = [3, 4]\n        num_obs = [3, 3, 5]\n\n        prior = utils.random_single_categorical(num_states)\n\n        obs_index_tuple = tuple([np.random.randint(obs_dim) for obs_dim in num_obs])\n\n        mb_dict = {'A_factor_list': [[0], [1], [0, 1]],\n                    'A_modality_list': [[0, 2], [1, 2]]}\n        \n        A_reduced = utils.random_A_matrix(num_obs, num_states, A_factor_list=mb_dict['A_factor_list'])\n\n        qs_out = inference.update_posterior_states_factorized(A_reduced, obs_index_tuple, num_obs, num_states, mb_dict, prior=prior)\n\n        A_full = utils.initialize_empty_A(num_obs, num_states)\n        for m, A_m in enumerate(A_full):\n            other_factors = list(set(range(len(num_states))) - set(mb_dict['A_factor_list'][m])) # list of the factors that modality `m` does not depend on\n\n            # broadcast or tile the reduced A matrix (`A_reduced`) along the dimensions of corresponding to `other_factors`\n            expanded_dims = [num_obs[m]] + [1 if f in other_factors else ns for (f, ns) in enumerate(num_states)]\n            tile_dims = [1] + [ns if f in other_factors else 1 for (f, ns) in enumerate(num_states)]\n            A_full[m] = np.tile(A_reduced[m].reshape(expanded_dims), tile_dims)\n        \n        qs_validation = inference.update_posterior_states(A_full, obs_index_tuple, prior=prior)\n\n        for qs_f_val, qs_f_out in zip(qs_validation, qs_out):\n            self.assertTrue(np.isclose(qs_f_val, qs_f_out).all())\n    \n    def test_update_posterior_states_factorized_noVFE_compute(self):\n        \"\"\"\n        Tests the version of `update_posterior_states` where an `mb_dict` is provided as an argument to factorize\n        the fixed-point iteration (FPI) algorithm.\n\n        In this version, we always run the total number of iterations because we don't compute the variational free energy over the course of convergence/optimization.\n        \"\"\"\n\n        num_states = [3, 4]\n        num_obs = [3, 3, 5]\n\n        prior = utils.random_single_categorical(num_states)\n\n        obs_index_tuple = tuple([np.random.randint(obs_dim) for obs_dim in num_obs])\n\n        mb_dict = {'A_factor_list': [[0], [1], [0, 1]],\n                    'A_modality_list': [[0, 2], [1, 2]]}\n        \n        A_reduced = utils.random_A_matrix(num_obs, num_states, A_factor_list=mb_dict['A_factor_list'])\n\n        qs_out = inference.update_posterior_states_factorized(A_reduced, obs_index_tuple, num_obs, num_states, mb_dict, prior=prior, compute_vfe=False)\n\n        A_full = utils.initialize_empty_A(num_obs, num_states)\n        for m, A_m in enumerate(A_full):\n            other_factors = list(set(range(len(num_states))) - set(mb_dict['A_factor_list'][m])) # list of the factors that modality `m` does not depend on\n\n            # broadcast or tile the reduced A matrix (`A_reduced`) along the dimensions of corresponding to `other_factors`\n            expanded_dims = [num_obs[m]] + [1 if f in other_factors else ns for (f, ns) in enumerate(num_states)]\n            tile_dims = [1] + [ns if f in other_factors else 1 for (f, ns) in enumerate(num_states)]\n            A_full[m] = np.tile(A_reduced[m].reshape(expanded_dims), tile_dims)\n        \n        qs_validation = inference.update_posterior_states(A_full, obs_index_tuple, prior=prior, compute_vfe=False)\n\n        for qs_f_val, qs_f_out in zip(qs_validation, qs_out):\n            self.assertTrue(np.isclose(qs_f_val, qs_f_out).all())\n    \n\nif __name__ == \"__main__\":\n    unittest.main()"
  },
  {
    "path": "test/test_inference_jax.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Unit Tests\n__author__: Dimitrije Markovic, Conor Heins\n\"\"\"\n\nimport unittest\n\nimport numpy as np\nfrom jax import numpy as jnp, random as jr\n\nfrom pymdp.algos import run_vanilla_fpi as fpi_jax\nfrom pymdp.utils import random_factorized_categorical, random_A_array\n\nfrom pymdp.legacy.algos import run_vanilla_fpi as fpi_numpy\nfrom pymdp.legacy import utils\n\nclass TestInferenceJax(unittest.TestCase):\n\n    def test_fixed_point_iteration_singlestate_singleobs(self):\n        \"\"\"\n        Tests the jax-ified version of mean-field fixed-point iteration against the original numpy version.\n        In this version there is one hidden state factor and one observation modality\n        \"\"\"\n\n        num_states_list = [\n                            [1],\n                            [5],\n                            [10]\n        ]\n\n        num_obs_list = [\n                        [5],\n                        [1],\n                        [2]\n        ]\n\n        keys = jr.split(jr.PRNGKey(42), len(num_states_list)*2).reshape((len(num_states_list), 2, 2))\n        for (keys_per_element, num_states, num_obs) in zip(keys, num_states_list, num_obs_list):\n            \n            # jax arrays\n            prior_jax = random_factorized_categorical(keys_per_element[0], num_states)\n            A_jax = random_A_array(keys_per_element[1], num_obs, num_states)\n\n            # numpy arrays\n            prior = utils.obj_array_from_list(prior_jax)\n            A_np = utils.obj_array_from_list(A_jax)\n\n            obs = utils.obj_array(len(num_obs))\n            for m, obs_dim in enumerate(num_obs):\n                obs[m] = utils.onehot(np.random.randint(obs_dim), obs_dim)\n\n            qs_numpy = fpi_numpy(A_np, obs, num_obs, num_states, prior=prior, num_iter=16, dF=1.0, dF_tol=-1.0) # set dF_tol to negative number so numpy version of FPI never stops early due to convergence\n\n            obs = [jnp.array(o_m) for o_m in obs]\n            qs_jax = fpi_jax(A_jax, obs, prior_jax, num_iter=16)\n\n            for f, _ in enumerate(qs_jax):\n                self.assertTrue(np.allclose(qs_numpy[f], qs_jax[f]))\n    \n    def test_fixed_point_iteration_singlestate_multiobs(self):\n        \"\"\"\n        Tests the jax-ified version of mean-field fixed-point iteration against the original numpy version.\n        In this version there is one hidden state factor and multiple observation modalities\n        \"\"\"\n\n        num_states_list = [\n                            [1],\n                            [5],\n                            [10]\n        ]\n\n        num_obs_list = [\n                        [5, 2],\n                        [1, 8, 9],\n                        [2, 2, 2]\n        ]\n\n        keys = jr.split(jr.PRNGKey(43), len(num_states_list)*2).reshape((len(num_states_list), 2, 2))\n        for (keys_per_element, num_states, num_obs) in zip(keys, num_states_list, num_obs_list):\n\n            # jax arrays\n            prior_jax = random_factorized_categorical(keys_per_element[0], num_states)\n            A_jax = random_A_array(keys_per_element[1], num_obs, num_states)\n\n            # numpy arrays\n            prior = utils.obj_array_from_list(prior_jax)\n            A_np = utils.obj_array_from_list(A_jax)\n\n            obs = utils.obj_array(len(num_obs))\n            for m, obs_dim in enumerate(num_obs):\n                obs[m] = utils.onehot(np.random.randint(obs_dim), obs_dim)\n\n            qs_numpy = fpi_numpy(A_np, obs, num_obs, num_states, prior=prior, num_iter=16, dF=1.0, dF_tol=-1.0) # set dF_tol to negative number so numpy version of FPI never stops early due to convergence\n\n            obs = [jnp.array(o_m) for o_m in obs]\n\n            qs_jax = fpi_jax(A_jax, obs, prior_jax, num_iter=16)\n\n            for f, _ in enumerate(qs_jax):\n                self.assertTrue(np.allclose(qs_numpy[f], qs_jax[f]))\n    \n    def test_fixed_point_iteration_multistate_singleobs(self):\n        \"\"\"\n        Tests the jax-ified version of mean-field fixed-point iteration against the original numpy version.\n        In this version there are multiple hidden state factors and a single observation modality\n        \"\"\"\n\n        num_states_list = [\n                            [1, 10, 2],\n                            [5, 5, 10, 2],\n                            [10, 2]\n        ]\n\n        num_obs_list = [\n                        [5],\n                        [1],\n                        [10]\n        ]\n\n        keys = jr.split(jr.PRNGKey(44), len(num_states_list)*2).reshape((len(num_states_list), 2, 2))\n        for (keys_per_element, num_states, num_obs) in zip(keys, num_states_list, num_obs_list):\n            \n            # jax arrays\n            prior_jax = random_factorized_categorical(keys_per_element[0], num_states)\n            A_jax = random_A_array(keys_per_element[1], num_obs, num_states)\n\n            # numpy version\n            prior = utils.obj_array_from_list(prior_jax)\n            A_np = utils.obj_array_from_list(A_jax)\n\n            obs = utils.obj_array(len(num_obs))\n            for m, obs_dim in enumerate(num_obs):\n                obs[m] = utils.onehot(np.random.randint(obs_dim), obs_dim)\n\n            qs_numpy = fpi_numpy(A_np, obs, num_obs, num_states, prior=prior, num_iter=16, dF=1.0, dF_tol=-1.0) # set dF_tol to negative number so numpy version of FPI never stops early due to convergence\n\n            obs = [jnp.array(o_m) for o_m in obs]\n            qs_jax = fpi_jax(A_jax, obs, prior_jax, num_iter=16)\n\n            for f, _ in enumerate(qs_jax):\n                self.assertTrue(np.allclose(qs_numpy[f], qs_jax[f]))\n\n\n    def test_fixed_point_iteration_multistate_multiobs(self):\n        \"\"\"\n        Tests the jax-ified version of mean-field fixed-point iteration against the original numpy version.\n        In this version there are multiple hidden state factors and multiple observation modalities\n        \"\"\"\n\n        ''' Start by creating a collection of random generative models with different \n        cardinalities and dimensionalities of hidden state factors and observation modalities'''\n\n        num_states_list = [ \n                         [2, 2, 5],\n                         [2, 2, 2],\n                         [4, 4]\n        ]\n\n        num_obs_list = [\n                        [5, 10],\n                        [4, 3, 2],\n                        [5, 10, 6]\n        ]\n\n        keys = jr.split(jr.PRNGKey(45), len(num_states_list)*2).reshape((len(num_states_list), 2, 2))\n        for (keys_per_element, num_states, num_obs) in zip(keys, num_states_list, num_obs_list):\n            \n            # jax arrays\n            prior_jax = random_factorized_categorical(keys_per_element[0], num_states)\n            A_jax = random_A_array(keys_per_element[1], num_obs, num_states)\n                \n            # numpy arrays\n            prior = utils.obj_array_from_list(prior_jax)\n            A_np = utils.obj_array_from_list(A_jax)\n\n            obs = utils.obj_array(len(num_obs))\n            for m, obs_dim in enumerate(num_obs):\n                obs[m] = utils.onehot(np.random.randint(obs_dim), obs_dim)\n\n            qs_numpy = fpi_numpy(A_np, obs, num_obs, num_states, prior=prior, num_iter=16, dF=1.0, dF_tol=-1.0) # set dF_tol to negative number so numpy version of FPI never stops early due to convergence\n\n            # jax version\n            obs = [jnp.array(o_m) for o_m in obs]\n            qs_jax = fpi_jax(A_jax, obs, prior_jax, num_iter=16)\n\n            for f, _ in enumerate(qs_jax):\n                self.assertTrue(np.allclose(qs_numpy[f], qs_jax[f]))\n    \n    def test_fixed_point_iteration_index_observations(self):\n        \"\"\"\n        Tests the jax-ified version of mean-field fixed-point iteration against the original NumPy version.\n        In this version there are multiple hidden state factors and multiple observation modalities.\n\n        Test the jax version with index-based observations (not one-hots)\n        \"\"\"\n\n        ''' Start by creating a collection of random generative models with different \n        cardinalities and dimensionalities of hidden state factors and observation modalities'''\n\n        num_states_list = [ \n                         [2, 2, 5],\n                         [2, 2, 2],\n                         [4, 4]\n        ]\n\n        num_obs_list = [\n                        [5, 10],\n                        [4, 3, 2],\n                        [5, 10, 6]\n        ]\n\n        keys = jr.split(jr.PRNGKey(46), len(num_states_list)*2).reshape((len(num_states_list), 2, 2))\n        for (keys_per_element, num_states, num_obs) in zip(keys, num_states_list, num_obs_list):\n            \n            # jax arrays\n            A_jax = random_A_array(keys_per_element[1], num_obs, num_states)\n            prior_jax = random_factorized_categorical(keys_per_element[0], num_states)\n\n            # numpy arrays\n            prior = utils.obj_array_from_list(prior_jax)\n            A_np = utils.obj_array_from_list(A_jax)\n\n            obs = utils.obj_array(len(num_obs))\n            for m, obs_dim in enumerate(num_obs):\n                obs[m] = utils.onehot(np.random.randint(obs_dim), obs_dim)\n\n            qs_numpy = fpi_numpy(A_np, obs, num_obs, num_states, prior=prior, num_iter=16, dF=1.0, dF_tol=-1.0) # set dF_tol to negative number so numpy version of FPI never stops early due to convergence\n\n            obs_idx = []\n            for ob in obs:\n                obs_idx.append(np.where(ob)[0][0])\n            \n            qs_jax = fpi_jax(A_jax, obs_idx, prior_jax, num_iter=16, distr_obs=False)\n\n            for f, _ in enumerate(qs_jax):\n                self.assertTrue(np.allclose(qs_numpy[f], qs_jax[f]))\n\nif __name__ == \"__main__\":\n    unittest.main()\n"
  },
  {
    "path": "test/test_jax_sparse_backend.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Unit Tests\n__author__: Conor Heins, Toon Van de Maele, Ozan Catal\n\"\"\"\n\nimport unittest\n\n\nimport numpy as np\nimport jax.numpy as jnp\nimport jax.tree_util as jtu\nfrom jax import random as jr\n\nfrom pymdp.inference import smoothing_ovf\nfrom pymdp import utils\nfrom pymdp.legacy.control import construct_policies\nfrom jax.experimental.sparse._base import JAXSparse\n\nfrom jax.experimental import sparse\n\nfrom typing import List, Dict\n\ndef make_model_configs(source_seed=0, num_models=4) -> Dict:\n    \"\"\"\n    This creates a bunch of model configurations (random amounts of num states, num obs, num controls, etc.)\n    that will be looped over and used as inputs for each unit test. This is intended to test each function on a variety of\n    differently-dimensioned generative models\n    \"\"\"\n    \"\"\n    rng_keys = jr.split(jr.PRNGKey(source_seed), num_models)\n    num_factors_list = [\n        jr.randint(key, (1,), 1, 7)[0].item() for key in rng_keys\n    ]  # list of total numbers of hidden state factors per model\n    num_states_list = [jr.randint(key, (nf,), 2, 5).tolist() for nf, key in zip(num_factors_list, rng_keys)]\n    num_controls_list = [jr.randint(key, (nf,), 1, 3).tolist() for nf, key in zip(num_factors_list, rng_keys)]\n\n    rng_keys = jr.split(rng_keys[-1], num_models)\n    num_modalities_list = [jr.randint(key, (1,), 1, 10)[0].item() for key in rng_keys]\n    num_obs_list = [jr.randint(key, (nm,), 1, 5).tolist() for nm, key in zip(num_modalities_list, rng_keys)]\n\n    rng_keys = jr.split(rng_keys[-1], num_models)\n    A_deps_list, B_deps_list = [], []\n    for nf, nm, model_key in zip(num_factors_list, num_modalities_list, rng_keys):\n        modality_keys_model_i = jr.split(model_key, nm)\n        num_f_per_modality = [\n            jr.randint(key, shape=(), minval=1, maxval=nf + 1).item() for key in modality_keys_model_i\n        ]  # this is the number of factors that each modality depends on\n        A_deps_model_i = [\n            sorted(jr.choice(key, a=nf, shape=(num_f_m,), replace=False).tolist())\n            for key, num_f_m in zip(modality_keys_model_i, num_f_per_modality)\n        ]\n        A_deps_list.append(A_deps_model_i)\n\n        factor_keys_model_i = jr.split(modality_keys_model_i[-1], nf)\n        num_f_per_factor = [\n            jr.randint(key, shape=(), minval=1, maxval=nf + 1).item() for key in factor_keys_model_i\n        ]  # this is the number of factors that each factor depends on\n        B_deps_model_i = [\n            sorted(jr.choice(key, a=nf, shape=(num_f_f,), replace=False).tolist())\n            for key, num_f_f in zip(factor_keys_model_i, num_f_per_factor)\n        ]\n        B_deps_list.append(B_deps_model_i)\n\n    return {\n        \"nf_list\": num_factors_list,\n        \"ns_list\": num_states_list,\n        \"nc_list\": num_controls_list,\n        \"nm_list\": num_modalities_list,\n        \"no_list\": num_obs_list,\n        \"A_deps_list\": A_deps_list,\n        \"B_deps_list\": B_deps_list,\n    }\n\n\nclass TestJaxSparseOperations(unittest.TestCase):\n\n    def test_sparse_smoothing(self):\n        cfg = {\"source_seed\": 1, \"num_models\": 4}\n        gm_params = make_model_configs(**cfg)\n        num_states_list = gm_params[\"ns_list\"]\n        \n        num_controls_list = gm_params[\"nc_list\"]\n\n        n_time = 8\n        n_batch = 1\n\n        b_keys = jr.split(jr.PRNGKey(42), cfg[\"num_models\"])\n        for b_key, num_states, num_controls in zip(b_keys, num_states_list, num_controls_list):\n\n            # Randomly create a B matrix that contains a lot of zeros\n            B = utils.random_B_array(b_key, num_states, num_controls)\n            # Map all values below the mean to 0 to create a B tensor with zeros\n            B = jtu.tree_map(\n                lambda x: jnp.array(utils.norm_dist(jnp.clip((x - x.mean()), 0, 1))),\n                B,\n            )\n\n            # Create a sparse array B\n            sparse_B = jtu.tree_map(lambda b: sparse.BCOO.fromdense(b), B)\n\n            # Construct a random list of actions\n            policies = construct_policies(num_states, num_controls, policy_len=1)\n            acs = [None for _ in range(n_time - 1)]\n            for t in range(n_time - 1):\n                pol = policies[np.random.randint(len(policies))]\n                # Get rid of the policy length index, and insert batch dim\n                pol = jnp.expand_dims(pol[0], 0)\n                # Broadcast to add in the batch dim\n                pol = jnp.broadcast_to(pol, (n_batch, 1, len(num_controls)))\n                acs[t] = pol\n            action_hist = jnp.concatenate(acs, axis=1)\n\n            # Construct a random list of beliefs\n            beliefs = [None for _ in range(len(num_states))]\n            for m, ns in enumerate(num_states):\n                beliefs[m] = np.random.uniform(0, 1, size=(n_batch, n_time, ns))\n                beliefs[m] /= beliefs[m].sum(axis=-1, keepdims=True)\n                beliefs[m] = jnp.array(beliefs[m])\n\n            # Take the ith element from the pytree (not testing batched here)\n            take_i = lambda pytree, i: jtu.tree_map(lambda leaf: leaf[i], pytree)\n\n            for i in range(n_batch):\n                smoothed_beliefs_dense = smoothing_ovf(take_i(beliefs, i), B, action_hist[i])\n                dense_marginals, dense_joints = smoothed_beliefs_dense\n\n                # sparse jax version\n                smoothed_beliefs_sparse = smoothing_ovf(take_i(beliefs, i), sparse_B, action_hist[i])\n                sparse_marginals, sparse_joints = smoothed_beliefs_sparse\n\n                # test equality of marginal distributions from dense and sparse versions of smoothing\n                for f, (dense_out, sparse_out) in enumerate(zip(dense_marginals, sparse_marginals)):\n                    \n                    self.assertTrue(np.allclose(dense_out, sparse_out))\n\n                # test equality of joint distributions from dense and sparse versions of smoothing\n                for f, (dense_out, sparse_out) in enumerate(zip(dense_joints, sparse_joints)):\n\n                    # Densify\n                    qs_joint_sparse = jnp.array(\n                        [j.todense() if isinstance(j, JAXSparse) else j for j in sparse_out]\n                    )\n\n                    self.assertTrue(np.allclose(dense_out, qs_joint_sparse))\n\n    def test_sparse_smoothing_with_invalid_actions(self):\n        cfg = {\"source_seed\": 2, \"num_models\": 3}\n        gm_params = make_model_configs(**cfg)\n        num_states_list = gm_params[\"ns_list\"]\n        num_controls_list = gm_params[\"nc_list\"]\n\n        n_time = 8\n        n_batch = 1\n        n_invalid = 3\n\n        b_keys = jr.split(jr.PRNGKey(24), cfg[\"num_models\"])\n        for b_key, num_states, num_controls in zip(b_keys, num_states_list, num_controls_list):\n\n            # Randomly create a B matrix with zeros so sparse conversion is meaningful.\n            B = utils.random_B_array(b_key, num_states, num_controls)\n            B = jtu.tree_map(\n                lambda x: jnp.array(utils.norm_dist(jnp.clip((x - x.mean()), 0, 1))),\n                B,\n            )\n            sparse_B = jtu.tree_map(lambda b: sparse.BCOO.fromdense(b), B)\n\n            # Construct valid random actions, then pad the first `n_invalid` steps\n            # with the window sentinel used by rollout (-1). These should map to\n            # identity/no-transition dynamics, not to the last action slice.\n            policies = construct_policies(num_states, num_controls, policy_len=1)\n            acs = [None for _ in range(n_time - 1)]\n            for t in range(n_time - 1):\n                pol = policies[np.random.randint(len(policies))]\n                pol = jnp.expand_dims(pol[0], 0)\n                pol = jnp.broadcast_to(pol, (n_batch, 1, len(num_controls)))\n                acs[t] = pol\n            action_hist = jnp.concatenate(acs, axis=1)\n            if n_invalid > 0:\n                action_hist = action_hist.at[:, :n_invalid, :].set(-1)\n\n            beliefs = [None for _ in range(len(num_states))]\n            for m, ns in enumerate(num_states):\n                leaf = np.random.uniform(0, 1, size=(n_batch, n_time, ns))\n                leaf /= leaf.sum(axis=-1, keepdims=True)\n                beliefs[m] = jnp.array(leaf)\n\n            take_i = lambda pytree, i: jtu.tree_map(lambda leaf: leaf[i], pytree)\n\n            for i in range(n_batch):\n                smoothed_beliefs_dense = smoothing_ovf(take_i(beliefs, i), B, action_hist[i])\n                dense_marginals, dense_joints = smoothed_beliefs_dense\n\n                smoothed_beliefs_sparse = smoothing_ovf(take_i(beliefs, i), sparse_B, action_hist[i])\n                sparse_marginals, sparse_joints = smoothed_beliefs_sparse\n\n                for f, (dense_out, sparse_out) in enumerate(zip(dense_marginals, sparse_marginals)):\n                    self.assertTrue(np.allclose(dense_out, sparse_out))\n\n                for f, (dense_out, sparse_out) in enumerate(zip(dense_joints, sparse_joints)):\n                    qs_joint_sparse = jnp.array(\n                        [j.todense() if isinstance(j, JAXSparse) else j for j in sparse_out]\n                    )\n                    self.assertTrue(np.allclose(dense_out, qs_joint_sparse))\n\n\nif __name__ == \"__main__\":\n    unittest.main()\n"
  },
  {
    "path": "test/test_learning.py",
    "content": "import unittest\n\nimport numpy as np\nfrom pymdp.legacy import utils, maths, learning\n\nfrom copy import deepcopy\n\nclass TestLearning(unittest.TestCase):\n\n    def test_update_pA_single_factor_all(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over sensory likelihood (pA)\n        in the case that all observation modalities are updated and the generative model \n        has a single hidden state factor\n        \"\"\"\n        num_states = [3]\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        '''single observation modality'''\n        num_obs = [4]\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.obj_array_ones([A_m.shape for A_m in A])\n        \n        observation = utils.sample(maths.spm_dot(A[0], qs))\n\n        pA_updated = learning.update_obs_likelihood_dirichlet(\n            pA, A, observation, qs, lr=l_rate, modalities=\"all\")\n        validation_pA = pA[0] + l_rate * maths.spm_cross(utils.onehot(observation, num_obs[0]), qs)\n        self.assertTrue(np.all(pA_updated[0] == validation_pA))\n\n        '''multiple observation modalities'''\n        num_obs = [3, 4]\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.obj_array_ones([A_m.shape for A_m in A])\n        \n        observation = [utils.sample(maths.spm_dot(A_m, qs)) for A_m in A]\n\n        pA_updated = learning.update_obs_likelihood_dirichlet(\n            pA, A, observation, qs, lr=l_rate, modalities=\"all\")\n\n        for modality, obs_dim in enumerate(num_obs):\n            update = maths.spm_cross(utils.onehot(observation[modality], obs_dim), qs)\n            validation_pA = pA[modality] + l_rate * update\n            self.assertTrue(np.all(pA_updated[modality] == validation_pA))\n\n    def test_update_pA_single_factor_one_modality(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over sensory likelihood (pA)\n        in the case that ONE observation modalities is updated and the generative model \n        has a single hidden state factor\n        \"\"\"\n\n        num_states = [3]\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        '''multiple observation modalities'''\n        num_obs = [3, 4]\n\n        modality_to_update = [np.random.randint(len(num_obs))]\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.obj_array_ones([A_m.shape for A_m in A])\n        \n        observation = [utils.sample(maths.spm_dot(A_m, qs)) for A_m in A]\n\n        pA_updated = learning.update_obs_likelihood_dirichlet(\n            pA, A, observation, qs, lr=l_rate, modalities=modality_to_update)\n\n        for modality, obs_dim in enumerate(num_obs):\n            if modality in modality_to_update:\n                update = maths.spm_cross(utils.onehot(observation[modality], obs_dim), qs)\n                validation_pA = pA[modality] + l_rate * update\n            else:\n                validation_pA = pA[modality]\n            self.assertTrue(np.all(pA_updated[modality] == validation_pA))\n    \n    def test_update_pA_single_factor_some_modalities(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over sensory likelihood (pA)\n        in the case that some observation modalities are updated and the generative model \n        has a single hidden state factor\n        \"\"\"\n        num_states = [3]\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n        \n        '''multiple observation modalities'''\n        num_obs = [3, 4, 5]\n        modalities_to_update = [0, 2]\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.obj_array_ones([A_m.shape for A_m in A])\n\n        observation = [utils.sample(maths.spm_dot(A_m, qs)) for A_m in A]\n\n        pA_updated = learning.update_obs_likelihood_dirichlet(\n            pA, A, observation, qs, lr=l_rate, modalities=modalities_to_update)\n\n        for modality, obs_dim in enumerate(num_obs):\n            if modality in modalities_to_update:\n                update = maths.spm_cross(utils.onehot(observation[modality], obs_dim), qs)\n                validation_pA = pA[modality] + l_rate * update\n            else:\n                validation_pA = pA[modality]\n            self.assertTrue(np.all(pA_updated[modality] == validation_pA))\n    \n    def test_update_pA_multi_factor_all(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over sensory likelihood (pA)\n        in the case that all observation modalities are updated and the generative model \n        has multiple hidden state factors\n        \"\"\"\n        num_states = [2, 6]\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        # single observation modality\n        num_obs = [4]\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.obj_array_ones([A_m.shape for A_m in A])\n        observation = [utils.sample(maths.spm_dot(A_m, qs)) for A_m in A]\n        pA_updated = learning.update_obs_likelihood_dirichlet(\n            pA, A, observation, qs, lr=l_rate, modalities=\"all\")\n        update = maths.spm_cross(utils.onehot(observation[0], num_obs[0]), qs)\n        validation_pA = pA[0] + l_rate * update\n        self.assertTrue(np.all(pA_updated[0] == validation_pA))\n\n        # multiple observation modalities\n        num_obs = [3, 4]\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.obj_array_ones([A_m.shape for A_m in A])\n        observation = [utils.sample(maths.spm_dot(A_m, qs)) for A_m in A]\n        pA_updated = learning.update_obs_likelihood_dirichlet(\n            pA, A, observation, qs, lr=l_rate, modalities=\"all\")\n        for modality, obs_dim in enumerate(num_obs):\n            update = maths.spm_cross(utils.onehot(observation[modality], obs_dim), qs)\n            validation_pA = pA[modality] + l_rate * update\n            self.assertTrue(np.all(pA_updated[modality] == validation_pA))\n    \n    def test_update_pA_multi_factor_one_modality(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over sensory likelihood (pA)\n        in the case that ONE observation modalities is updated and the generative model \n        has multiple hidden state factors\n        \"\"\"\n        num_states = [2, 6]\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        # multiple observation modalities\n        num_obs = [3, 4]\n        modality_to_update = [np.random.randint(len(num_obs))]\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.obj_array_ones([A_m.shape for A_m in A])\n        observation = [utils.sample(maths.spm_dot(A_m, qs)) for A_m in A]\n        pA_updated = learning.update_obs_likelihood_dirichlet(\n            pA, A, observation, qs, lr=l_rate, modalities=modality_to_update)\n\n        for modality, obs_dim in enumerate(num_obs):\n            if modality in modality_to_update:\n                update = maths.spm_cross(utils.onehot(observation[modality], obs_dim), qs)\n                validation_pA = pA[modality] + l_rate * update\n            else:\n                validation_pA = pA[modality]\n            self.assertTrue(np.all(pA_updated[modality] == validation_pA))\n    \n    def test_update_pA_multi_factor_some_modalities(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over sensory likelihood (pA)\n        in the case that SOME observation modalities are updated and the generative model \n        has multiple hidden state factors\n        \"\"\"\n        num_states = [2, 6]\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        # multiple observation modalities\n        num_obs = [3, 4, 5]\n        modalities_to_update = [0, 2]\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.obj_array_ones([A_m.shape for A_m in A])\n        observation = [utils.sample(maths.spm_dot(A_m, qs)) for A_m in A]\n        pA_updated = learning.update_obs_likelihood_dirichlet(\n            pA, A, observation, qs, lr=l_rate, modalities=modalities_to_update)\n\n        for modality, obs_dim in enumerate(num_obs):\n            if modality in modalities_to_update:\n                update = maths.spm_cross(utils.onehot(observation[modality], obs_dim), qs)\n                validation_pA = pA[modality] + l_rate * update\n            else:\n                validation_pA = pA[modality]\n            self.assertTrue(np.all(pA_updated[modality] == validation_pA))\n    \n    def test_update_pA_diff_observation_formats(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over sensory likelihood (pA)\n        in the case that observation is stored in various formats\n        \"\"\"\n\n        num_states = [2, 6]\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        # multiple observation modalities\n        num_obs = [3, 4, 5]\n        modalities_to_update = \"all\"\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.obj_array_ones([A_m.shape for A_m in A])\n\n        observation_list = [0, 3, 2]\n\n        pA_updated_1 = learning.update_obs_likelihood_dirichlet(\n            pA, A, observation_list, qs, lr=l_rate, modalities=modalities_to_update)\n\n        observation_tuple = (0, 3, 2)\n\n        pA_updated_2 = learning.update_obs_likelihood_dirichlet(\n            pA, A, observation_tuple, qs, lr=l_rate, modalities=modalities_to_update)\n        \n        observation_obj_array = utils.process_observation((0, 3, 2), len(num_obs), num_obs)\n\n        pA_updated_3 = learning.update_obs_likelihood_dirichlet(\n            pA, A, observation_obj_array, qs, lr=l_rate, modalities=modalities_to_update)\n\n        for modality, _ in enumerate(num_obs):\n            \n            self.assertTrue(np.allclose(pA_updated_1[modality], pA_updated_2[modality]))\n            self.assertTrue(np.allclose(pA_updated_1[modality], pA_updated_3[modality]))\n       \n        # now do the same for case of single modality\n\n        num_states = [2, 6]\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        num_obs = [3]\n        modalities_to_update = \"all\"\n        A = utils.random_A_matrix(num_obs, num_states)\n        pA = utils.dirichlet_like(A)\n\n        observation_int = 2\n\n        pA_updated_1 = learning.update_obs_likelihood_dirichlet(\n            pA, A, observation_int, qs, lr=l_rate, modalities=modalities_to_update)\n\n        observation_onehot = utils.onehot(2, num_obs[0])\n\n        pA_updated_2 = learning.update_obs_likelihood_dirichlet(\n            pA, A, observation_onehot, qs, lr=l_rate, modalities=modalities_to_update)\n        \n        self.assertTrue(np.allclose(pA_updated_1[0], pA_updated_2[0]))\n    \n    def test_update_pA_factorized(self):\n        \"\"\"\n        Test for `learning.update_obs_likelihood_dirichlet_factorized`, which is the learning function updating prior Dirichlet parameters over the sensory likelihood (pA) \n        in the case that the generative model is sparse and only some modalities depend on some hidden state factors\n        \"\"\"\n\n        \"\"\" Test version with sparse conditional dependency graph (taking advantage of `A_factor_list` argument) \"\"\"\n        num_states = [2, 6, 5]\n        num_obs = [3, 4, 5]\n        A_factor_list = [[0], [1, 2], [0, 2]]\n\n        qs = utils.random_single_categorical(num_states)\n        A = utils.random_A_matrix(num_obs, num_states, A_factor_list=A_factor_list)\n        pA = utils.dirichlet_like(A, scale=1.0)\n        observation = [np.random.randint(obs_dim) for obs_dim in num_obs]\n        pA_updated_test = learning.update_obs_likelihood_dirichlet_factorized(\n            pA, A, observation, qs, A_factor_list\n            )\n\n        for modality, obs_dim in enumerate(num_obs):\n            update = maths.spm_cross(utils.onehot(observation[modality], obs_dim), qs[A_factor_list[modality]])\n            pA_updated_valid_m = pA[modality] +  update\n            self.assertTrue(np.allclose(pA_updated_test[modality], pA_updated_valid_m))\n\n        \"\"\" Test version with full conditional dependency graph (not taking advantage of `A_factor_list` argument, but including it anyway) \"\"\"\n        num_states = [2, 6, 5]\n        num_obs = [3, 4, 5]\n        A_factor_list = len(num_obs) * [[0, 1, 2]]\n        qs = utils.random_single_categorical(num_states)\n        A = utils.random_A_matrix(num_obs, num_states)\n\n        modalities_to_update = [0, 2]\n        learning_rate = np.random.rand() # sample some positive learning rate\n\n        pA = utils.dirichlet_like(A, scale=1.0)\n        observation = [np.random.randint(obs_dim) for obs_dim in num_obs]\n        pA_updated_test = learning.update_obs_likelihood_dirichlet_factorized(\n            pA, A, observation, qs, A_factor_list, lr=learning_rate, modalities=modalities_to_update\n            )\n\n        pA_updated_valid = learning.update_obs_likelihood_dirichlet(\n            pA, A, observation, qs, lr=learning_rate, modalities=modalities_to_update\n            )\n\n        for modality, obs_dim in enumerate(num_obs):\n            self.assertTrue(np.allclose(pA_updated_test[modality], pA_updated_valid[modality]))\n\n    def test_update_pB_single_factor_no_actions(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over transition likelihood (pB)\n        in the case that the one and only hidden state factor is updated, and there \n        are no actions.\n        \"\"\"\n\n        num_states = [3]\n        num_controls = [1]  # this is how we encode the fact that there aren't any actions\n        qs_prev = utils.random_single_categorical(num_states)\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated = learning.update_state_likelihood_dirichlet(\n            pB, B, action, qs, qs_prev, lr=l_rate, factors=\"all\"\n        )\n\n        validation_pB = utils.obj_array_ones([B_f.shape for B_f in B])\n        validation_pB[0][:, :, 0] += (\n            l_rate * maths.spm_cross(qs[0], qs_prev[0]) * (B[0][:, :, action[0]] > 0)\n        )\n        self.assertTrue(np.all(pB_updated[0] == validation_pB[0]))\n    \n    def test_update_pB_single_factor_with_actions(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over transition likelihood (pB)\n        in the case that the one and only hidden state factor is updated, and there \n        are actions.\n        \"\"\"\n\n        num_states = [3]\n        num_controls = [3]\n        qs_prev = utils.random_single_categorical(num_states)\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated = learning.update_state_likelihood_dirichlet(\n            pB, B, action, qs, qs_prev, lr=l_rate, factors=\"all\"\n        )\n\n        validation_pB = utils.obj_array_ones([B_f.shape for B_f in B])\n        validation_pB[0][:, :, action[0]] += (\n            l_rate * maths.spm_cross(qs[0], qs_prev[0]) * (B[0][:, :, action[0]] > 0)\n        )\n        self.assertTrue(np.all(pB_updated[0] == validation_pB[0]))\n\n    def test_update_pB_multi_factor_no_actions_all_factors(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over transition likelihood (pB)\n        in the case that there are mulitple hidden state factors, and there \n        are no actions. All factors are updated.\n        \"\"\"\n\n        num_states = [3, 4]\n        num_controls = [1, 1]\n        qs_prev = utils.random_single_categorical(num_states)\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated = learning.update_state_likelihood_dirichlet(\n            pB, B, action, qs, qs_prev, lr=l_rate, factors=\"all\"\n        )\n\n        validation_pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        for factor, action_i in enumerate(action):\n            validation_pB[factor][:, :, action_i] += (\n                l_rate\n                * maths.spm_cross(qs[factor], qs_prev[factor])\n                * (B[factor][:, :, action_i] > 0)\n            )\n            self.assertTrue(np.all(pB_updated[factor] == validation_pB[factor]))\n    \n    def test_update_pB_multi_factor_no_actions_one_factor(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over transition likelihood (pB)\n        in the case that there are mulitple hidden state factors, and there \n        are no actions. One factor is updated\n        \"\"\"\n\n        num_states = [3, 4]\n        num_controls = [1, 1]\n        qs_prev = utils.random_single_categorical(num_states)\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        factors_to_update = [np.random.randint(len(num_states))]\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated = learning.update_state_likelihood_dirichlet(\n            pB, B, action, qs, qs_prev, lr=l_rate, factors=factors_to_update\n        )\n\n        validation_pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        for factor, action_i in enumerate(action):\n\n            if factor in factors_to_update:\n                validation_pB[factor][:, :, action_i] += (\n                    l_rate\n                    * maths.spm_cross(qs[factor], qs_prev[factor])\n                    * (B[factor][:, :, action_i] > 0)\n                )\n            self.assertTrue(np.all(pB_updated[factor] == validation_pB[factor]))\n    \n    def test_update_pB_multi_factor_no_actions_some_factors(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over transition likelihood (pB)\n        in the case that there are mulitple hidden state factors, and there \n        are no actions. Some factors are updated.\n        \"\"\"\n\n        num_states = [3, 4, 5]\n        num_controls = [1, 1, 1]\n        qs_prev = utils.random_single_categorical(num_states)\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        factors_to_update = [0, 2]\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated = learning.update_state_likelihood_dirichlet(\n            pB, B, action, qs, qs_prev, lr=l_rate, factors=factors_to_update\n        )\n\n        validation_pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        for factor, action_i in enumerate(action):\n\n            if factor in factors_to_update:\n                validation_pB[factor][:, :, action_i] += (\n                    l_rate\n                    * maths.spm_cross(qs[factor], qs_prev[factor])\n                    * (B[factor][:, :, action_i] > 0)\n                )\n            self.assertTrue(np.all(pB_updated[factor] == validation_pB[factor]))\n    \n    def test_update_pB_multi_factor_with_actions_all_factors(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over transition likelihood (pB)\n        in the case that there are mulitple hidden state factors, and there \n        are actions. All factors are updated\n        \"\"\"\n\n        num_states = [3, 4, 5]\n        num_controls = [2, 3, 4]\n        qs_prev = utils.random_single_categorical(num_states)\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated = learning.update_state_likelihood_dirichlet(\n            pB, B, action, qs, qs_prev, lr=l_rate, factors=\"all\"\n        )\n\n        validation_pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        for factor, action_i in enumerate(action):\n\n            validation_pB[factor][:, :, action_i] += (\n                l_rate\n                * maths.spm_cross(qs[factor], qs_prev[factor])\n                * (B[factor][:, :, action_i] > 0)\n            )\n            self.assertTrue(np.all(pB_updated[factor] == validation_pB[factor]))\n    \n    def test_update_pB_multi_factor_with_actions_one_factor(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over transition likelihood (pB)\n        in the case that there are mulitple hidden state factors, and there \n        are actions. One factor is updated\n        \"\"\"\n\n        num_states = [3, 4, 5]\n        num_controls = [2, 3, 4]\n        qs_prev = utils.random_single_categorical(num_states)\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        factors_to_update = [np.random.randint(len(num_states))]\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated = learning.update_state_likelihood_dirichlet(\n            pB, B, action, qs, qs_prev, lr=l_rate, factors=factors_to_update\n        )\n\n        validation_pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        for factor, action_i in enumerate(action):\n            \n            if factor in factors_to_update:\n                validation_pB[factor][:, :, action_i] += (\n                    l_rate\n                    * maths.spm_cross(qs[factor], qs_prev[factor])\n                    * (B[factor][:, :, action_i] > 0)\n                )\n            self.assertTrue(np.all(pB_updated[factor] == validation_pB[factor]))\n    \n    def test_update_pB_multi_factor_with_actions_some_factors(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over transition likelihood (pB)\n        in the case that there are mulitple hidden state factors, and there \n        are actions. Some factors are updated\n        \"\"\"\n\n        num_states = [3, 4, 5]\n        num_controls = [2, 3, 4]\n        qs_prev = utils.random_single_categorical(num_states)\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        factors_to_update = [0, 1]\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated = learning.update_state_likelihood_dirichlet(\n            pB, B, action, qs, qs_prev, lr=l_rate, factors=factors_to_update\n        )\n\n        validation_pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        for factor, action_i in enumerate(action):\n            \n            if factor in factors_to_update:\n                validation_pB[factor][:, :, action_i] += (\n                    l_rate\n                    * maths.spm_cross(qs[factor], qs_prev[factor])\n                    * (B[factor][:, :, action_i] > 0)\n                )\n            self.assertTrue(np.all(pB_updated[factor] == validation_pB[factor]))\n\n    def test_update_pB_multi_factor_some_controllable_some_factors(self):\n        \"\"\"\n        Test for updating prior Dirichlet parameters over transition likelihood (pB)\n        in the case that there are mulitple hidden state factors, some of which \n        are controllable. Some factors are updated.\n        \"\"\"\n\n        num_states = [3, 4, 5]\n        num_controls = [2, 1, 1]\n        qs_prev = utils.random_single_categorical(num_states)\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        factors_to_update = [0, 1]\n\n        B = utils.random_B_matrix(num_states, num_controls)\n        pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated = learning.update_state_likelihood_dirichlet(\n            pB, B, action, qs, qs_prev, lr=l_rate, factors=factors_to_update\n        )\n\n        validation_pB = utils.obj_array_ones([B_f.shape for B_f in B])\n\n        for factor, action_i in enumerate(action):\n            \n            if factor in factors_to_update:\n                validation_pB[factor][:, :, action_i] += (\n                    l_rate\n                    * maths.spm_cross(qs[factor], qs_prev[factor])\n                    * (B[factor][:, :, action_i] > 0)\n                )\n            self.assertTrue(np.all(pB_updated[factor] == validation_pB[factor]))\n    \n    def test_update_pB_interactions(self):\n        \"\"\"\n        Test for `learning.update_state_likelihood_dirichlet_factorized`, which is the learning function updating prior Dirichlet parameters over the transition likelihood (pB) \n        in the case that there are allowable interactions between hidden state factors, i.e. the dynamics of factor `f` may depend on more than just its control factor and its own state.\n        \"\"\"\n\n        \"\"\" Test version with interactions \"\"\"\n        num_states = [3, 4, 5]\n        num_controls = [2, 1, 1]\n        B_factor_list= [[0, 1], [0,1,2], [1, 2]]\n        factors_to_update = [0, 1]\n\n        qs_prev = utils.random_single_categorical(num_states)\n        qs = utils.random_single_categorical(num_states)\n\n        B = utils.random_B_matrix(num_states, num_controls, B_factor_list=B_factor_list)\n        pB = utils.dirichlet_like(B, scale=1.)\n        l_rate = np.random.rand() # sample some positive learning rate\n\n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated_test = learning.update_state_likelihood_dirichlet_interactions(\n            pB, B, action, qs, qs_prev, B_factor_list, lr=l_rate, factors=factors_to_update\n        )\n\n        pB_updated_valid = utils.dirichlet_like(B, scale=1.)\n\n        for factor, action_i in enumerate(action):\n            \n            if factor in factors_to_update:\n                pB_updated_valid[factor][...,action_i] += (\n                    l_rate\n                    * maths.spm_cross(qs[factor], qs_prev[B_factor_list[factor]])\n                    * (B[factor][...,action_i] > 0)\n                )\n            self.assertTrue(np.all(pB_updated_test[factor] == pB_updated_valid[factor]))\n\n        \"\"\" Test version without interactions, but still use the factorized version to test it against the non-interacting version `update_state_likelihood_dirichlet` \"\"\"\n        num_states = [3, 4, 5]\n        num_controls = [2, 1, 1]\n        B_factor_list= [[0], [1], [2]]\n        factors_to_update = [0, 1]\n\n        qs_prev = utils.random_single_categorical(num_states)\n        qs = utils.random_single_categorical(num_states)\n\n        B = utils.random_B_matrix(num_states, num_controls, B_factor_list=B_factor_list)\n        pB = utils.dirichlet_like(B, scale=1.)\n        l_rate = np.random.rand() # sample some positive learning rate\n\n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated_test = learning.update_state_likelihood_dirichlet_interactions(\n            pB, B, action, qs, qs_prev, B_factor_list, lr=l_rate, factors=factors_to_update\n        )\n\n        pB_updated_valid = learning.update_state_likelihood_dirichlet(\n            pB, B, action, qs, qs_prev, lr=l_rate, factors=factors_to_update\n        )\n\n        for factor, action_i in enumerate(action):\n            self.assertTrue(np.allclose(pB_updated_test[factor], pB_updated_valid[factor]))\n\n\n    def test_update_pD(self):\n        \"\"\"\n        Test updating prior Dirichlet parameters over initial hidden states (pD). \n        Tests different cases\n        1. Multiple vs. single hidden state factor\n        2. One factor vs. several factors vs. all factors learned\n        \"\"\"\n\n        # 1. Single hidden state factor\n        num_states = [3]\n\n        pD = utils.dirichlet_like(utils.random_single_categorical(num_states), scale = 0.5)\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        pD_test= learning.update_state_prior_dirichlet(\n                        pD, qs, lr=l_rate, factors=\"all\"\n                    )\n        \n        for factor in range(len(num_states)):\n            pD_validation_f = pD[factor].copy()\n            idx = pD_validation_f > 0\n            pD_validation_f[idx] += l_rate * qs[factor][idx]\n            self.assertTrue(np.allclose(pD_test[factor], pD_validation_f))\n\n        # 2. Multiple hidden state factors\n        num_states = [3, 4, 5]\n\n        pD = utils.dirichlet_like(utils.random_single_categorical(num_states), scale = 0.5)\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        pD_test= learning.update_state_prior_dirichlet(\n                        pD, qs, lr=l_rate, factors=\"all\"\n                    )\n        \n        for factor in range(len(num_states)):\n            pD_validation_f = pD[factor].copy()\n            idx = pD_validation_f > 0\n            pD_validation_f[idx] += l_rate * qs[factor][idx]\n            self.assertTrue(np.allclose(pD_test[factor], pD_validation_f))\n        \n        # 3. Multiple hidden state factors, only some learned\n        num_states = [3, 4, 5]\n\n        factors_to_learn = [0, 2]\n\n        pD = utils.dirichlet_like(utils.random_single_categorical(num_states), scale = 0.5)\n        qs = utils.random_single_categorical(num_states)\n        l_rate = 1.0\n\n        pD_test= learning.update_state_prior_dirichlet(\n                        pD, qs, lr=l_rate, factors=factors_to_learn\n                    )\n        \n        pD_validation = deepcopy(pD)\n\n        for factor in range(len(num_states)):\n\n            if factor in factors_to_learn:\n                idx = pD_validation[factor] > 0\n                pD_validation[factor][idx] += l_rate * qs[factor][idx]\n\n            self.assertTrue(np.allclose(pD_test[factor], pD_validation[factor]))\n    \n    def test_prune_prior(self):\n        \"\"\"\n        Test removing hidden state factor levels and/or observation levels from the priors vectors\n        of a generative model, using the `_prune_prior` function of the `learning` module\n        \"\"\"\n\n        \"\"\" Test 1a. Testing `_prune_prior()` in case of a single hidden state factor/modality \"\"\"\n\n        num_levels_total = 4 # this could either be 4 hidden state levels, or 4 observation levels\n        test_prior = utils.random_single_categorical([num_levels_total])[0]\n\n        levels_to_remove = [2]\n\n        reduced_prior = learning._prune_prior(test_prior, levels_to_remove)\n\n        self.assertTrue(len(reduced_prior) == (num_levels_total - len(levels_to_remove)))\n        self.assertTrue(utils.is_normalized(reduced_prior))\n\n        \"\"\" Test 1b. Testing `_prune_prior()` in case of multiple hidden state factors/modalities \"\"\"\n\n        num_levels_total = [4, 5] # this could either be 4 hidden state levels, or 4 observation levels\n        test_prior = utils.random_single_categorical(num_levels_total)\n\n        levels_to_remove = [ [2, 3], []]\n\n        reduced_prior = learning._prune_prior(test_prior, levels_to_remove)\n\n        for f, ns in enumerate(num_levels_total):\n            self.assertTrue(len(reduced_prior[f]) == (ns - len(levels_to_remove[f])))\n            self.assertTrue(utils.is_normalized(reduced_prior[f]))\n        \n        \"\"\" Test 1c. Testing `_prune_prior()` in case of multiple hidden state factors/modalities, and where you're removing all the levels of a particular factor \"\"\"\n\n        num_levels_total = [4, 5] # this could either be 4 hidden state levels, or 4 observation levels\n        test_prior = utils.random_single_categorical(num_levels_total)\n\n        levels_to_remove = [ [2, 3], list(range(5))]\n\n        reduced_prior = learning._prune_prior(test_prior, levels_to_remove)\n\n        self.assertTrue(len(reduced_prior[0]) == (num_levels_total[0] - len(levels_to_remove[0])))\n        self.assertTrue(utils.is_normalized(reduced_prior[0]))\n    \n        self.assertTrue(len(reduced_prior) == (len(levels_to_remove)-1))\n    \n    def test_prune_likelihoods(self):\n        \"\"\"\n        Test removing hidden state factor levels and/or observation levels from the likelihood arrays \n        of a generative model, using the `_prune_A` and `_prune_B` functions of the `learning` module\n        \"\"\"\n\n        \"\"\" Test 1a. Testing `_prune_A()` in case of a single hidden state factor/modality \"\"\"\n\n        A = utils.random_A_matrix([5], [4])[0]\n\n        obs_levels_to_prune = [2, 3]\n        state_levels_to_prune = [1, 3]\n\n        A_pruned = learning._prune_A(A, obs_levels_to_prune, state_levels_to_prune)\n\n        expected_shape = (A.shape[0] - len(obs_levels_to_prune), A.shape[1] - len(state_levels_to_prune))\n        self.assertTrue(A_pruned.shape == expected_shape)\n        self.assertTrue(utils.is_normalized(A_pruned))\n\n        \"\"\" Test 1b. Testing `_prune_A()` in case of a single hidden state factor/modality, where hidden state levels aren't pruned at all \"\"\"\n\n        A = utils.random_A_matrix([5], [4])[0]\n\n        obs_levels_to_prune = [2, 3]\n        state_levels_to_prune = []\n\n        A_pruned = learning._prune_A(A, obs_levels_to_prune, state_levels_to_prune)\n\n        expected_shape = (A.shape[0] - len(obs_levels_to_prune), A.shape[1] - len(state_levels_to_prune))\n        self.assertTrue(A_pruned.shape == expected_shape)\n        self.assertTrue(utils.is_normalized(A_pruned))\n\n        \"\"\" Test 1c. Testing `_prune_A()` in case of a single hidden state factor/modality, where observation levels aren't pruned at all \"\"\"\n        \n        A = utils.random_A_matrix([5], [4])[0]\n\n        obs_levels_to_prune = []\n        state_levels_to_prune = [2,3]\n\n        A_pruned = learning._prune_A(A, obs_levels_to_prune, state_levels_to_prune)\n\n        expected_shape = (A.shape[0] - len(obs_levels_to_prune), A.shape[1] - len(state_levels_to_prune))\n        self.assertTrue(A_pruned.shape == expected_shape)\n        self.assertTrue(utils.is_normalized(A_pruned))\n\n        \"\"\" Test 1d. Testing `_prune_A()` in case of a multiple hidden state factors/modalities \"\"\"\n\n        num_obs = [3, 4, 5]\n        num_states = [2, 10, 4]\n        A = utils.random_A_matrix(num_obs, num_states)\n\n        obs_levels_to_prune = [ [0, 2], [], [1, 2, 3]]\n        state_levels_to_prune = [[], [5,6,7,8], [1]]\n\n        A_pruned = learning._prune_A(A, obs_levels_to_prune, state_levels_to_prune)\n\n        expected_lagging_dimensions = []\n        for f, ns in enumerate(num_states):\n            expected_lagging_dimensions.append(ns - len(state_levels_to_prune[f]))\n        for m, no in enumerate(num_obs):\n            expected_shape = (no - len(obs_levels_to_prune[m]),) + tuple(expected_lagging_dimensions)\n            self.assertTrue(A_pruned[m].shape == expected_shape)\n            self.assertTrue(utils.is_normalized(A_pruned[m]))\n        \n        \"\"\" Test 2a. Testing `_prune_B()` in case of a single hidden state factor / control state factor \"\"\"\n\n        B = utils.random_B_matrix([4], [3])[0]\n\n        state_levels_to_prune = [1, 3]\n        action_levels_to_prune = [0, 1]\n\n        B_pruned = learning._prune_B(B, state_levels_to_prune, action_levels_to_prune)\n\n        expected_shape = (B.shape[0] - len(state_levels_to_prune), B.shape[1] - len(state_levels_to_prune), B.shape[2] - len(action_levels_to_prune))\n        self.assertTrue(B_pruned.shape == expected_shape)\n        self.assertTrue(utils.is_normalized(B_pruned))\n\n        \"\"\" Test 2b. Testing `_prune_B()` in case of a single hidden state factor, where control state levels aren't pruned at all \"\"\"\n\n        B = utils.random_B_matrix([4], [3])[0]\n\n        state_levels_to_prune = [1, 3]\n        action_levels_to_prune = []\n\n        B_pruned = learning._prune_B(B, state_levels_to_prune, action_levels_to_prune)\n\n        expected_shape = (B.shape[0] - len(state_levels_to_prune), B.shape[1] - len(state_levels_to_prune), B.shape[2] - len(action_levels_to_prune))\n        self.assertTrue(B_pruned.shape == expected_shape)\n        self.assertTrue(utils.is_normalized(B_pruned))\n\n        \"\"\" Test 1c. Testing `_prune_B()` in case of a single hidden state factor, where hidden state levels aren't pruned at all \"\"\"\n        \n        B = utils.random_B_matrix([4], [3])[0]\n\n        state_levels_to_prune = []\n        action_levels_to_prune = [0]\n\n        B_pruned = learning._prune_B(B, state_levels_to_prune, action_levels_to_prune)\n\n        expected_shape = (B.shape[0] - len(state_levels_to_prune), B.shape[1] - len(state_levels_to_prune), B.shape[2] - len(action_levels_to_prune))\n        self.assertTrue(B_pruned.shape == expected_shape)\n        self.assertTrue(utils.is_normalized(B_pruned))\n        \n        \"\"\" Test 1d. Testing `_prune_B()` in case of a multiple hidden state factors \"\"\"\n\n        num_states = [2, 10, 4]\n        num_controls = [5, 3, 4]\n        B = utils.random_B_matrix(num_states, num_controls)\n\n        state_levels_to_prune = [ [0, 1], [], [1, 2, 3]]\n        action_levels_to_prune = [[], [0, 1], [1]]\n\n        B_pruned = learning._prune_B(B, state_levels_to_prune, action_levels_to_prune)\n\n        for f, ns in enumerate(num_states):\n            expected_shape = (ns - len(state_levels_to_prune[f]), ns - len(state_levels_to_prune[f]), num_controls[f] - len(action_levels_to_prune[f]))\n            self.assertTrue(B_pruned[f].shape == expected_shape)\n            self.assertTrue(utils.is_normalized(B_pruned[f]))\n\n    \n\n        \nif __name__ == \"__main__\":\n    unittest.main()\n"
  },
  {
    "path": "test/test_learning_jax.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Unit Tests\n__author__: Dimitrije Markovic, Conor Heins\n\"\"\"\n\nimport unittest\n\nimport numpy as np\nfrom jax import numpy as jnp, random as jr, nn\nimport jax.tree_util as jtu\n\nfrom pymdp import utils\n\nfrom pymdp.legacy.learning import update_obs_likelihood_dirichlet as update_pA_numpy\nfrom pymdp.legacy.learning import update_obs_likelihood_dirichlet_factorized as update_pA_numpy_factorized\nfrom pymdp.learning import update_obs_likelihood_dirichlet as update_pA_jax\nfrom pymdp.legacy import utils as legacy_utils\n\nfrom pymdp.legacy.learning import update_state_likelihood_dirichlet as update_pB_numpy\nfrom pymdp.legacy.learning import update_state_likelihood_dirichlet_interactions as update_pB_interactions_numpy\n\nfrom pymdp.learning import update_state_transition_dirichlet as update_pB_jax\n\n\ndef _to_numpy_list_of_arrs(jax_tree):\n    \"\"\" Helper function to convert a JAX pytree (list of arrays) to a list of numpy arrays, before casting to object array in legacy_utils.obj_array_from_list\"\"\"\n    return jtu.tree_map(lambda x: np.array(x), jax_tree)\n\nclass TestLearningJax(unittest.TestCase):\n\n    def test_update_observation_likelihood_fullyconnected(self):\n        \"\"\"\n        Testing JAX-ified version of updating Dirichlet posterior over observation likelihood parameters (qA is posterior, pA is prior, and A is expectation\n        of likelihood wrt to current posterior over A, i.e. $A = E_{Q(A)}[P(o|s,A)]$.\n\n        This is the so-called 'fully-connected' version where all hidden state factors drive each modality (i.e. A_dependencies is a list of lists of hidden state factors)\n        \"\"\"\n\n        num_obs_list = [[5], [10, 3, 2], [2, 4, 4, 2], [10]]\n        num_states_list = [[2, 3, 4], [2], [4, 5], [3]]\n\n        A_dependencies_list = [[[0, 1, 2]], [[0], [0], [0]], [[0, 1], [0, 1], [0, 1], [0, 1]], [[0]]]\n\n        keys = jr.split(jr.PRNGKey(42), len(num_obs_list)*3).reshape((len(num_obs_list), 3, 2))\n        for (keys_per_model, num_obs, num_states, A_dependencies) in zip(keys, num_obs_list, num_states_list, A_dependencies_list):\n\n            # create jax arrays\n            A_jax = utils.random_A_array(keys_per_model[1], num_obs, num_states, A_dependencies=A_dependencies)\n            pA_jax = utils.list_array_scaled([a.shape for a in A_jax], scale=3.0)\n\n            # convert to numpy arrays for validation\n            A_np = legacy_utils.obj_array_from_list(A_jax)\n            pA_np = legacy_utils.obj_array_from_list(pA_jax)\n          \n            # create random observations\n            obs_np = legacy_utils.obj_array(len(num_obs))\n            for m, obs_dim in enumerate(num_obs):\n                obs_np[m] = legacy_utils.onehot(np.random.randint(obs_dim), obs_dim)\n\n            # create random state posterior\n            qs_jax = utils.random_factorized_categorical(keys_per_model[2], num_states)\n            qs_np = legacy_utils.obj_array_from_list(qs_jax)\n\n            l_rate = 1.0\n\n            # run numpy version of learning\n            qA_np_test = update_pA_numpy(pA_np, A_np, obs_np, qs_np, lr=l_rate)\n\n            obs_jax = jtu.tree_map(lambda x: jnp.array(x)[None], list(obs_np))\n            qs_jax = jtu.tree_map(lambda x: jnp.expand_dims(x,0), qs_jax)\n\n            qA_jax_test, _ = update_pA_jax(\n                pA_jax,\n                A_jax,\n                obs_jax,\n                qs_jax,\n                A_dependencies=A_dependencies,\n                categorical_obs=True,\n                num_obs=num_obs,\n                lr=l_rate\n            )\n\n            for modality, obs_dim in enumerate(num_obs):\n                self.assertTrue(np.allclose(qA_jax_test[modality], qA_np_test[modality]))\n\n    def test_update_observation_likelihood_factorized(self):\n        \"\"\"\n        Testing JAX-ified version of updating Dirichlet posterior over observation likelihood parameters (qA is posterior, pA is prior, and A is expectation\n        of likelihood wrt to current posterior over A, i.e. $A = E_{Q(A)}[P(o|s,A)]$.\n\n        This is the factorized version where only some hidden state factors drive each modality (i.e. A_dependencies is a list of lists of hidden state factors)\n        \"\"\"\n\n        num_obs_list = [[5], [10, 3, 2], [2, 4, 4, 2], [10]]\n        num_states_list = [[2, 3, 4], [2, 5, 2], [4, 5], [3]]\n\n        A_dependencies_list = [[[0, 1]], [[0, 1], [1], [1, 2]], [[0, 1], [0], [0, 1], [1]], [[0]]]\n\n        keys = jr.split(jr.PRNGKey(43), len(num_obs_list)*3).reshape((len(num_obs_list), 3, 2))\n        for (keys_per_model, num_obs, num_states, A_dependencies) in zip(keys, num_obs_list, num_states_list, A_dependencies_list):\n            \n            # create jax arrays\n            A_jax = utils.random_A_array(keys_per_model[1], num_obs, num_states, A_dependencies=A_dependencies)\n            pA_jax = utils.list_array_scaled([a.shape for a in A_jax], scale=3.0)\n\n            # convert to numpy arrays for validation\n            A_np = legacy_utils.obj_array_from_list(A_jax)\n            pA_np = legacy_utils.obj_array_from_list(pA_jax)\n\n            # create random observations\n            obs_np = legacy_utils.obj_array(len(num_obs))\n            for m, obs_dim in enumerate(num_obs):\n                obs_np[m] = legacy_utils.onehot(np.random.randint(obs_dim), obs_dim)\n\n            # create random state posterior\n            qs_jax = utils.random_factorized_categorical(keys_per_model[2], num_states)\n            qs_np = legacy_utils.obj_array_from_list(qs_jax)\n            l_rate = 1.0\n\n            # run numpy version of learning\n            qA_np_test = update_pA_numpy_factorized(pA_np, A_np, obs_np, qs_np, A_dependencies, lr=l_rate)\n\n            obs_jax = jtu.tree_map(lambda x: jnp.array(x)[None], list(obs_np))\n            qs_jax = jtu.tree_map(lambda x: jnp.expand_dims(x, 0), qs_jax)\n\n            qA_jax_test, _ = update_pA_jax(\n                pA_jax,\n                A_jax,\n                obs_jax,\n                qs_jax,\n                A_dependencies=A_dependencies,\n                categorical_obs=True,\n                num_obs=num_obs,\n                lr=l_rate\n            )\n\n            for modality, obs_dim in enumerate(num_obs):\n                self.assertTrue(np.allclose(qA_jax_test[modality], qA_np_test[modality]))\n\n    def test_update_state_likelihood_single_factor_no_actions(self):\n        \"\"\"\n        Testing the JAXified version of updating Dirichlet posterior over transition likelihood parameters.\n        qB is the posterior, pB is the prior and B is the expectation of the likelihood wrt the\n        current posterior over B, i.e. $B = E_Q(B)[P(s_t | s_{t-1}, u_{t-1}, B)]\n        \"\"\"\n\n        num_states = [3]\n        num_controls = [1]\n\n        l_rate = 1.0\n\n        qs_prev_key, qs_key, b_key = jr.split(jr.PRNGKey(0), 3)\n        # Create random variables to run the update on\n        qs_prev_jax = utils.random_factorized_categorical(qs_prev_key, num_states)\n        qs_jax = utils.random_factorized_categorical(qs_key, num_states)\n        B_jax = utils.random_B_array(b_key, num_states, num_controls)\n        pB_jax = utils.list_array_scaled([B_f.shape for B_f in B_jax], scale=1.0)\n\n        qs_prev_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(qs_prev_jax))\n        qs_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(qs_jax))\n        B_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(B_jax))\n        pB_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(pB_jax))\n\n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated_numpy = update_pB_numpy(pB_np, B_np, action, qs_np, qs_prev_np, lr=l_rate, factors=\"all\")\n\n        action_jax = jnp.array([action])\n\n        belief_jax = jtu.tree_map(\n            lambda x, y: [x[None, ...], y[None, ...]], qs_jax, qs_prev_jax\n        )\n\n        pB_updated_jax, _ = update_pB_jax(pB_jax, B_jax, belief_jax, action_jax, num_controls=num_controls, lr=l_rate)\n\n        for pB_np, pB_jax in zip(pB_updated_numpy, pB_updated_jax):\n            self.assertTrue(pB_np.shape == pB_jax.shape)\n            self.assertTrue(np.allclose(pB_np, pB_jax))\n\n    def test_update_state_likelihood_single_factor_with_actions(self):\n        \"\"\"\n        Testing the JAXified version of updating Dirichlet posterior over transition likelihood parameters.\n        qB is the posterior, pB is the prior and B is the expectation of the likelihood wrt the\n        current posterior over B, i.e. $B = E_Q(B)[P(s_t | s_{t-1}, u_{t-1}, B)]\n        \"\"\"\n\n        num_states = [3]\n        num_controls = [3]\n\n        l_rate = 1.0\n\n        qs_prev_key, qs_key, b_key = jr.split(jr.PRNGKey(1), 3)\n        # Create random variables to run the update on\n        qs_prev_jax = utils.random_factorized_categorical(qs_prev_key, num_states)\n        qs_jax = utils.random_factorized_categorical(qs_key, num_states)\n        B_jax = utils.random_B_array(b_key, num_states, num_controls)\n        pB_jax = utils.list_array_scaled([B_f.shape for B_f in B_jax], scale=1.0)\n\n        qs_prev_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(qs_prev_jax))\n        qs_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(qs_jax))\n        B_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(B_jax))\n        pB_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(pB_jax))\n\n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated_numpy = update_pB_numpy(pB_np, B_np, action, qs_np, qs_prev_np, lr=l_rate, factors=\"all\")\n\n        action_jax = jnp.array([action])\n\n        belief_jax = jtu.tree_map(\n            lambda x, y: [x[None, ...], y[None, ...]], qs_jax, qs_prev_jax\n        )\n\n        pB_updated_jax, _ = update_pB_jax(pB_jax, B_jax, belief_jax, action_jax, num_controls=num_controls, lr=l_rate)\n\n        for pB_np, pB_jax in zip(pB_updated_numpy, pB_updated_jax):\n            self.assertTrue(pB_np.shape == pB_jax.shape)\n            self.assertTrue(np.allclose(pB_np, pB_jax))\n\n    def test_update_state_likelihood_multi_factor_all_factors_no_actions(self):\n        \"\"\"\n        Testing the JAXified version of updating Dirichlet posterior over transition likelihood parameters.\n        qB is the posterior, pB is the prior and B is the expectation of the likelihood wrt the\n        current posterior over B, i.e. $B = E_Q(B)[P(s_t | s_{t-1}, u_{t-1}, B)]$\n        \"\"\"\n\n        num_states = [3, 4]\n        num_controls = [1, 1]\n        l_rate = 1.0\n\n        qs_prev_key, qs_key, b_key = jr.split(jr.PRNGKey(2), 3)\n        # Create random variables to run the update on\n        qs_prev_jax = utils.random_factorized_categorical(qs_prev_key, num_states)\n        qs_jax = utils.random_factorized_categorical(qs_key, num_states)\n        B_jax = utils.random_B_array(b_key, num_states, num_controls)\n        pB_jax = utils.list_array_scaled([B_f.shape for B_f in B_jax], scale=1.0)\n\n        qs_prev_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(qs_prev_jax))\n        qs_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(qs_jax))\n        B_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(B_jax))\n        pB_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(pB_jax))\n\n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated_numpy = update_pB_numpy(pB_np, B_np, action, qs_np, qs_prev_np, lr=l_rate, factors=\"all\")\n\n        action_jax = jnp.array([action])\n\n        belief_jax = jtu.tree_map(\n            lambda x, y: [x[None, ...], y[None, ...]], qs_jax, qs_prev_jax\n        )\n\n        pB_updated_jax, _ = update_pB_jax(pB_jax, B_jax, belief_jax, action_jax, num_controls=num_controls, lr=l_rate)\n\n        for pB_np, pB_jax in zip(pB_updated_numpy, pB_updated_jax):\n            self.assertTrue(pB_np.shape == pB_jax.shape)\n            self.assertTrue(np.allclose(pB_np, pB_jax))\n\n    def test_update_state_likelihood_multi_factor_all_factors_with_actions(self):\n        \"\"\"\n        Testing the JAXified version of updating Dirichlet posterior over transition likelihood parameters.\n        qB is the posterior, pB is the prior and B is the expectation of the likelihood wrt the\n        current posterior over B, i.e. $B = E_Q(B)[P(s_t | s_{t-1}, u_{t-1}, B)]$\n        \"\"\"\n        num_states = [3, 4]\n        num_controls = [3, 5]\n        \n        l_rate = 1.0\n        qs_prev_key, qs_key, b_key = jr.split(jr.PRNGKey(3), 3)\n        # Create random variables to run the update on\n        qs_prev_jax = utils.random_factorized_categorical(qs_prev_key, num_states)\n        qs_jax = utils.random_factorized_categorical(qs_key, num_states)\n        B_jax = utils.random_B_array(b_key, num_states, num_controls)\n        pB_jax = utils.list_array_scaled([B_f.shape for B_f in B_jax], scale=1.0)\n\n        qs_prev_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(qs_prev_jax))\n        qs_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(qs_jax))\n        B_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(B_jax))\n        pB_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(pB_jax))\n\n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated_numpy = update_pB_numpy(pB_np, B_np, action, qs_np, qs_prev_np, lr=l_rate, factors=\"all\")\n        action_jax = jnp.array([action])\n\n        belief_jax = jtu.tree_map(\n            lambda x, y: [x[None, ...], y[None, ...]], qs_jax, qs_prev_jax\n        )\n\n        pB_updated_jax, _ = update_pB_jax(pB_jax, B_jax, belief_jax, action_jax, num_controls=num_controls, lr=l_rate)\n\n        for pB_np, pB_jax in zip(pB_updated_numpy, pB_updated_jax):\n            self.assertTrue(pB_np.shape == pB_jax.shape)\n            self.assertTrue(np.allclose(pB_np, pB_jax))\n\n    def test_update_state_likelihood_multi_factor_some_factors_no_action(self):\n        \"\"\"\n        Testing the JAXified version of updating Dirichlet posterior over transition likelihood parameters.\n        qB is the posterior, pB is the prior and B is the expectation of the likelihood wrt the\n        current posterior over B, i.e. $B = E_Q(B)[P(s_t | s_{t-1}, u_{t-1}, B)]$\n        \"\"\"\n\n        num_states = [3, 4, 2]\n        num_controls = [3, 5, 5]\n        \n        l_rate = 1.0\n\n        qs_prev_key, qs_key, b_key = jr.split(jr.PRNGKey(4), 3)\n        # Create random variables to run the update on\n        qs_prev_jax = utils.random_factorized_categorical(qs_prev_key, num_states)\n        qs_jax = utils.random_factorized_categorical(qs_key, num_states)\n        B_jax = utils.random_B_array(b_key, num_states, num_controls)\n        pB_jax = utils.list_array_scaled([B_f.shape for B_f in B_jax], scale=1.0)\n\n        qs_prev_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(qs_prev_jax))\n        qs_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(qs_jax))\n        B_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(B_jax))\n        pB_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(pB_jax))\n\n        action = list(np.array([np.random.randint(c_dim) for c_dim in num_controls]))\n\n        factors_to_update = np.random.choice(list(range(len(B_jax))), replace=False, size=(2,)).tolist()\n\n        pB_updated_numpy = update_pB_numpy(pB_np, B_np, action, qs_np, qs_prev_np, lr=l_rate, factors=factors_to_update)\n\n        belief_jax = jtu.tree_map(\n            lambda x, y: [x[None, ...], y[None, ...]], qs_jax, qs_prev_jax\n        )\n\n        action_jax = jnp.array([action])\n\n        pB_updated_jax_factors, _ = update_pB_jax(\n            pB_jax, B_jax, belief_jax, action_jax, num_controls=num_controls, lr=l_rate, factors_to_update=factors_to_update\n        )\n\n        for pB_np, pB_jax in zip(pB_updated_numpy, pB_updated_jax_factors):\n            self.assertTrue(pB_np.shape == pB_jax.shape)\n            self.assertTrue(np.allclose(pB_np, pB_jax))\n\n    def test_update_state_likelihood_with_interactions(self):\n        \"\"\"\n        Test for `learning.update_state_likelihood_dirichlet_factorized`, which is the learning function updating prior\n        Dirichlet parameters over the transition likelihood (pB) in the case that there are allowable interactions\n        between hidden state factors, i.e. the dynamics of factor `f` may depend on more than just its control factor\n        and its own state.\n        \"\"\"\n\n        \"\"\" Test version with interactions \"\"\"\n        num_states = [3, 4, 5]\n        num_controls = [2, 1, 1]\n        B_dependencies = [[0, 1], [0, 1, 2], [1, 2]]\n\n        l_rate = jr.uniform(jr.PRNGKey(123), (), minval=0.01, maxval=1.0)  # sample some positive learning rate\n\n        qs_prev_key, qs_key, b_key = jr.split(jr.PRNGKey(5), 3)\n        # Create random variables to run the update on\n        qs_prev_jax = utils.random_factorized_categorical(qs_prev_key, num_states)\n        qs_jax = utils.random_factorized_categorical(qs_key, num_states)\n        B_jax = utils.random_B_array(b_key, num_states, num_controls, B_dependencies=B_dependencies)\n        pB_jax = utils.list_array_scaled([B_f.shape for B_f in B_jax], scale=1.0)\n\n        qs_prev_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(qs_prev_jax))\n        qs_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(qs_jax))\n        B_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(B_jax))\n        pB_np = legacy_utils.obj_array_from_list(_to_numpy_list_of_arrs(pB_jax))\n       \n        action = np.array([np.random.randint(c_dim) for c_dim in num_controls])\n\n        pB_updated_numpy = update_pB_interactions_numpy(\n            pB_np, B_np, action, qs_np, qs_prev_np, B_factor_list=B_dependencies, lr=l_rate, factors=\"all\"\n        )\n\n        action_jax = jnp.array([action])\n\n        belief_jax = []\n        for f, deps in enumerate(B_dependencies):\n            q_f = qs_jax[f][None, ...]                                  # shape (1, n_f)\n            q_prev_list = [qs_prev_jax[fi][None, ...] for fi in deps]   # one per dependency\n            belief_jax.append([q_f, *q_prev_list])\n\n        pB_updated_jax, _ = update_pB_jax(pB_jax, B_jax, belief_jax, action_jax, lr=l_rate, num_controls=num_controls)\n\n        for pB_np, pB_jax in zip(pB_updated_numpy, pB_updated_jax):\n            self.assertTrue(pB_np.shape == pB_jax.shape)\n            self.assertTrue(np.allclose(pB_np, pB_jax))\n\n    def test_update_state_likelihood_single_factor_sequence_joints(self):\n        \"\"\"\n        Ensure B-learning accepts sequence-form pairwise joints, as produced by exact smoothing\n        (shape `(T-1, K_next, K_curr)` for a single factor).\n        \"\"\"\n        num_states = [4]\n        num_controls = [3]\n        T = 6  # number of state timepoints, so transitions are T-1\n        l_rate = 0.75\n\n        key_b, key_joint, key_action = jr.split(jr.PRNGKey(1234), 3)\n        B_jax = utils.random_B_array(key_b, num_states, num_controls)\n        pB_jax = utils.list_array_scaled([B_f.shape for B_f in B_jax], scale=1.0)\n\n        # Sequence of pairwise joints: (T-1, K_next, K_curr), normalized per timestep.\n        joint_seq = jr.uniform(key_joint, (T - 1, num_states[0], num_states[0])) + 1e-6\n        joint_seq = joint_seq / joint_seq.sum(axis=(1, 2), keepdims=True)\n        joint_beliefs = [joint_seq]\n\n        actions = jr.randint(key_action, (T - 1, 1), 0, num_controls[0])\n\n        qB_jax, _ = update_pB_jax(\n            pB_jax,\n            B_jax,\n            joint_beliefs,\n            actions,\n            num_controls=num_controls,\n            lr=l_rate,\n        )\n\n        actions_oh = nn.one_hot(actions[:, 0], num_controls[0])\n        expected_dfdb = jnp.einsum(\"tij,tu->iju\", joint_seq, actions_oh)\n        expected_qB = pB_jax[0] + l_rate * expected_dfdb\n\n        self.assertTrue(np.allclose(np.array(qB_jax[0]), np.array(expected_qB), atol=1e-6))\n\n\nif __name__ == \"__main__\":\n    unittest.main()\n"
  },
  {
    "path": "test/test_message_passing_jax.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Unit Tests\n__author__: Dimitrije Markovic, Conor Heins\n\"\"\"\n\nimport unittest\nfrom functools import partial\n\nimport numpy as np\nimport jax.numpy as jnp\nimport jax.tree_util as jtu\nfrom jax import vmap, nn\nfrom jax import random as jr\n\nfrom pymdp.algos import run_vanilla_fpi as fpi_jax\nfrom pymdp.algos import run_factorized_fpi as fpi_jax_factorized\nfrom pymdp.legacy.algos import run_vanilla_fpi as fpi_numpy\nfrom pymdp.algos import run_mmp as mmp_jax\nfrom pymdp.algos import run_vmp as vmp_jax\nfrom pymdp.utils import random_factorized_categorical, random_A_array, random_B_array, make_A_full\nfrom pymdp.legacy import utils\n\nfrom typing import List, Dict\n\ndef make_model_configs(source_seed=0, num_models=3) -> Dict:\n    rng_keys = jr.split(jr.PRNGKey(source_seed), num_models)\n    num_factors_list = [ jr.randint(key, (1,), 1, 7)[0].item() for key in rng_keys ] # list of total numbers of hidden state factors per model\n    num_states_list = [ jr.randint(key, (nf,), 2, 5).tolist() for nf, key in zip(num_factors_list, rng_keys) ]\n    num_controls_list = [ jr.randint(key, (nf,), 1, 3).tolist() for nf, key in zip(num_factors_list, rng_keys) ]\n\n    rng_keys = jr.split(rng_keys[-1], num_models)\n    num_modalities_list = [ jr.randint(key, (1,), 1, 10)[0].item() for key in rng_keys ]\n    num_obs_list = [ jr.randint(key, (nm,), 1, 5).tolist() for nm, key in zip(num_modalities_list, rng_keys) ]\n\n    rng_keys = jr.split(rng_keys[-1], num_models)\n    A_deps_list, B_deps_list = [], []\n    for nf, nm, model_key in zip(num_factors_list, num_modalities_list, rng_keys):\n        modality_keys_model_i = jr.split(model_key, nm)\n        num_f_per_modality = [jr.randint(key, shape=(), minval=1, maxval=nf+1).item() for key in modality_keys_model_i] # this is the number of factors that each modality depends on\n        A_deps_model_i = [sorted(jr.choice(key, a=nf, shape=(num_f_m,), replace=False).tolist()) for key, num_f_m in zip(modality_keys_model_i, num_f_per_modality)]\n        A_deps_list.append(A_deps_model_i)\n\n        factor_keys_model_i = jr.split(modality_keys_model_i[-1], nf)\n        num_f_per_factor = [jr.randint(key, shape=(), minval=1, maxval=nf+1).item() for key in factor_keys_model_i] # this is the number of factors that each factor depends on\n        B_deps_model_i = [sorted(jr.choice(key, a=nf, shape=(num_f_f,), replace=False).tolist()) for key, num_f_f in zip(factor_keys_model_i, num_f_per_factor)]\n        B_deps_list.append(B_deps_model_i)\n\n    return {'nf_list': num_factors_list, \n            'ns_list': num_states_list, \n            'nc_list': num_controls_list,\n            'nm_list': num_modalities_list, \n            'no_list': num_obs_list, \n            'A_deps_list': A_deps_list,\n            'B_deps_list': B_deps_list\n        }\n                \nclass TestMessagePassing(unittest.TestCase):\n\n    def test_fixed_point_iteration(self):\n        cfg = {'source_seed': 0,\n                'num_models': 3\n            }\n        gm_params = make_model_configs(**cfg)\n        num_states_list, num_obs_list = gm_params['ns_list'], gm_params['no_list']\n        keys = jr.split(jr.PRNGKey(42), len(num_states_list)*3).reshape((len(num_states_list), 3, 2))\n        for (keys_per_element, num_states, num_obs) in zip(keys, num_states_list, num_obs_list):\n            \n            # jax arrays\n            prior_jax = random_factorized_categorical(keys_per_element[0], num_states)\n            A_jax = random_A_array(keys_per_element[1], num_obs, num_states)\n\n            # numpy arrays\n            prior = utils.obj_array_from_list(prior_jax)\n            A_np = utils.obj_array_from_list(A_jax)\n\n            obs = utils.obj_array(len(num_obs))\n            for m, obs_dim in enumerate(num_obs):\n                obs[m] = utils.onehot(np.random.randint(obs_dim), obs_dim) # TODO: replace with sampling using keys_per_element[2]\n\n            qs_numpy = fpi_numpy(A_np, obs, num_obs, num_states, prior=prior, num_iter=16, dF=1.0, dF_tol=-1.0) # set dF_tol to negative number so numpy version of FPI never stops early due to convergence\n\n            obs = [jnp.array(o_m) for o_m in obs]\n            qs_jax = fpi_jax(A_jax, obs, prior_jax, num_iter=16)\n\n            for f, _ in enumerate(qs_jax):\n                self.assertTrue(np.allclose(qs_numpy[f], qs_jax[f], atol=1e-4))\n\n    def test_fixed_point_iteration_factorized_fullyconnected(self):\n        \"\"\"\n        Test the factorized version of `run_vanilla_fpi`, named `run_factorized_fpi`\n        with multiple hidden state factors and multiple observation modalities.\n        \"\"\"\n        cfg = {'source_seed': 1,\n                'num_models': 3\n            }\n        gm_params = make_model_configs(**cfg)\n        num_states_list, num_obs_list = gm_params['ns_list'], gm_params['no_list']\n        keys = jr.split(jr.PRNGKey(43), len(num_states_list)*3).reshape((len(num_states_list), 3, 2))\n        for (keys_per_element, num_states, num_obs) in zip(keys, num_states_list, num_obs_list):\n\n            # jax arrays\n            prior = random_factorized_categorical(keys_per_element[0], num_states)\n            A = random_A_array(keys_per_element[1], num_obs, num_states)\n\n            obs = utils.obj_array(len(num_obs))\n            for m, obs_dim in enumerate(num_obs):\n                obs[m] = utils.onehot(np.random.randint(obs_dim), obs_dim) # TODO: replace with sampling using keys_per_element[2]\n\n            obs = [jnp.array(o_m) for o_m in obs]\n            factor_lists = len(num_obs) * [list(range(len(num_states)))]\n\n            qs_jax = fpi_jax(A, obs, prior, num_iter=16)\n            qs_jax_factorized = fpi_jax_factorized(A, obs, prior, factor_lists, num_iter=16)\n\n            for f, _ in enumerate(qs_jax):\n                self.assertTrue(np.allclose(qs_jax[f], qs_jax_factorized[f], atol=1e-6))\n\n    def test_fixed_point_iteration_factorized_sparsegraph(self):\n        \"\"\"\n        Test the factorized version of `run_vanilla_fpi`, named `run_factorized_fpi`\n        with multiple hidden state factors and multiple observation modalities, and with sparse conditional dependence relationships between hidden states\n        and observation modalities\n        \"\"\"\n        cfg = {'source_seed': 3,\n                'num_models': 3\n            }\n        gm_params = make_model_configs(**cfg)\n\n        num_states_list, num_obs_list, A_dependencies_list = gm_params['ns_list'], gm_params['no_list'], gm_params['A_deps_list']\n        keys = jr.split(jr.PRNGKey(44), len(num_states_list)*3).reshape((len(num_states_list), 3, 2))\n        for (keys_per_element, num_states, num_obs, a_deps_i) in zip(keys, num_states_list, num_obs_list, A_dependencies_list):\n            \n            prior = random_factorized_categorical(keys_per_element[0], num_states)\n\n            obs = utils.obj_array(len(num_obs))\n            for m, obs_dim in enumerate(num_obs):\n                obs[m] = utils.onehot(np.random.randint(obs_dim), obs_dim) # TODO: replace with sampling using keys_per_element[1]\n\n            A_reduced = random_A_array(keys_per_element[1], num_obs, num_states, A_dependencies=a_deps_i)\n            A_full = make_A_full(A_reduced, a_deps_i, num_obs, num_states) # create the full A matrix, where all hidden state factors are represented in the lagging dimensions of each sub-A array\n           \n            obs_jax = [jnp.array(o_m) for o_m in obs]\n\n            qs_out = fpi_jax_factorized(A_reduced, obs_jax, prior, a_deps_i, num_iter=16)\n\n            qs_validation = fpi_jax(A_full, obs_jax, prior, num_iter=16)\n\n            for qs_f_val, qs_f_out in zip(qs_validation, qs_out):\n                self.assertTrue(np.allclose(qs_f_val, qs_f_out))\n\n    def test_marginal_message_passing(self):\n\n        cfg = {'source_seed': 5,\n                'num_models': 3\n            }\n        gm_params = make_model_configs(**cfg)\n\n        num_states_list, num_obs_list, num_controls_list, A_dependencies_list, B_dependencies_list = gm_params['ns_list'], gm_params['no_list'], gm_params['nc_list'], \\\n                                                                                                     gm_params['A_deps_list'], gm_params['B_deps_list']\n\n        batch_size = 10\n        n_timesteps = 4\n\n        for num_states, num_obs, num_controls, A_deps, B_deps in zip(num_states_list, num_obs_list, num_controls_list, A_dependencies_list, B_dependencies_list):\n\n            # create a version of a_deps_i where each sub-list is sorted\n            prior = vmap(lambda k: random_factorized_categorical(k, num_states), in_axes=0)(jr.split(jr.PRNGKey(0), batch_size))\n\n            obs = [jr.categorical(key, logits=jnp.zeros(no), shape=(n_timesteps,batch_size)) for no, key in zip(num_obs, jr.split(jr.PRNGKey(1), len(num_obs)))]\n            obs = jtu.tree_map(lambda x, no: nn.one_hot(x, num_classes=no), obs, num_obs)\n\n            A = random_A_array(jr.PRNGKey(2), num_obs, num_states, A_dependencies=A_deps)\n            A = jtu.tree_map(lambda a: jnp.broadcast_to(a, (batch_size,) + a.shape), A)\n\n            B_sub_shapes = [ [ns for f, ns in enumerate(num_states) if f in b_deps_i] + [nc] for nc, b_deps_i in zip(num_controls, B_deps) ]\n            B_sampling_keys = jr.split(jr.PRNGKey(3), len(num_states))\n            B = [jr.dirichlet(key, alpha=jnp.ones(ns) / ns, shape=factor_shapes) for ns, factor_shapes, key in zip(num_states, B_sub_shapes, B_sampling_keys)]\n            B = jtu.tree_map(lambda b: jnp.moveaxis(b, -2, -1), B) # move u_t to the rightmost axis of the array\n            B = jtu.tree_map(lambda b: jnp.moveaxis(b, -2, 0), B) # s_t+1 to the leading dimension of the array\n            B = jtu.tree_map(lambda b: jnp.broadcast_to(b, (batch_size,) + b.shape), B)\n\n            # # create a policy-dependent sequence of B matrices, but now we store the sequence dimension (action indices) in the first dimension (0th dimension is still batch dimension)\n            policy = []\n            key = jr.PRNGKey(11)\n            for nc in num_controls:\n                key, k = jr.split(key)\n                policy.append( jr.choice(k, jnp.arange(nc), shape=(n_timesteps - 1, 1)) )\n            \n            policy = jnp.concatenate(policy, -1)\n            nf = len(B)\n            actions_tree = [policy[:, i] for i in range(nf)]\n            B_seq = jtu.tree_map(lambda b, a_idx: jnp.moveaxis(b[..., a_idx], -1, 0), B, actions_tree)\n\n            mmp = vmap(\n                partial(mmp_jax, num_iter=16, tau=1.0),\n                in_axes=(0, 1, 1, 0, None, None)\n            )\n            qs_out = mmp(A, B_seq, obs, prior, A_deps, B_deps)\n\n            self.assertTrue(qs_out[0].shape[0] == obs[0].shape[1])\n\n    def test_variational_message_passing_with_transition_dependencies(self):\n        num_states = [4, 3, 2]\n        num_obs = [3, 2]\n        num_controls = [2, 2, 2]\n        A_dependencies = [[0, 1], [1, 2]]\n        B_dependencies = [[0], [0, 1], [1, 2]]\n        T = 5\n\n        a_key, b_key, d_key, obs_key, action_key = jr.split(jr.PRNGKey(123), 5)\n\n        A = random_A_array(a_key, num_obs, num_states, A_dependencies=A_dependencies)\n        B = random_B_array(b_key, num_states, num_controls, B_dependencies=B_dependencies)\n        prior = random_factorized_categorical(d_key, num_states)\n\n        obs_keys = jr.split(obs_key, len(num_obs))\n        obs = [\n            nn.one_hot(jr.randint(k, shape=(T,), minval=0, maxval=no), no)\n            for k, no in zip(obs_keys, num_obs)\n        ]\n\n        action_keys = jr.split(action_key, len(num_controls))\n        policy = jnp.stack(\n            [\n                jr.randint(k, shape=(T - 1,), minval=0, maxval=nc)\n                for k, nc in zip(action_keys, num_controls)\n            ],\n            axis=-1,\n        )\n        B_policy = [\n            jnp.moveaxis(b[..., policy[:, f]], -1, 0)\n            for f, b in enumerate(B)\n        ]\n\n        qs_vmp = vmp_jax(\n            A,\n            B_policy,\n            obs,\n            prior,\n            A_dependencies,\n            B_dependencies,\n            num_iter=8,\n            tau=1.0,\n        )\n        qs_mmp = mmp_jax(\n            A,\n            B_policy,\n            obs,\n            prior,\n            A_dependencies,\n            B_dependencies,\n            num_iter=8,\n            tau=1.0,\n        )\n\n        for qs_vmp_f, qs_mmp_f, ns in zip(qs_vmp, qs_mmp, num_states):\n            self.assertEqual(qs_vmp_f.shape, (T, ns))\n            self.assertEqual(qs_mmp_f.shape, (T, ns))\n            self.assertTrue(jnp.all(jnp.isfinite(qs_vmp_f)))\n            self.assertTrue(jnp.all(jnp.isfinite(qs_mmp_f)))\n            self.assertTrue(jnp.allclose(qs_vmp_f.sum(axis=-1), 1.0, atol=1e-5))\n            self.assertTrue(jnp.allclose(qs_mmp_f.sum(axis=-1), 1.0, atol=1e-5))\n\n    # def test_variational_message_passing(self):\n\n    #     num_states = [3]\n    #     num_obs = [3]\n\n    #     A = [ jnp.broadcast_to(jnp.array([[0.5, 0.5, 0.], \n    #                                     [0.0,  0.0,  1.], \n    #                                     [0.5, 0.5, 0.]]\n    #                                 ), (2, 3, 3) )]\n\n    #     # create two B matrices, one for each action\n    #     B_1 = jnp.broadcast_to(jnp.array([[0.0, 0.75, 0.0],\n    #                                     [0.0, 0.25, 1.0],\n    #                                     [1.0, 0.0, 0.0]]\n    #                 ), (2, 3, 3))\n        \n    #     B_2 = jnp.broadcast_to(jnp.array([[0.0, 0.25, 0.0],\n    #                                     [0.0, 0.75, 0.0],\n    #                                     [1.0, 0.0, 1.0]]\n    #                 ), (2, 3, 3))\n        \n    #     B = [jnp.stack([B_1, B_2], axis=-1)]\n\n    #     # create a policy-dependent sequence of B matrices\n\n    #     policy = jnp.array([0, 1, 0])\n    #     B_policy = jtu.tree_map(lambda b: b[..., policy].transpose(0, 3, 1, 2), B)\n\n    #     # for the single modality, a sequence over time of observations (one hot vectors)\n    #     obs = [\n    #             jnp.broadcast_to(jnp.array([[1., 0., 0.], \n    #                                         [0., 1., 0.], \n    #                                         [0., 0., 1.],\n    #                                         [1., 0., 0.]])[:, None], (4, 2, 3) )\n    #                             ]\n\n    #     prior = [jnp.ones((2, 3)) / 3.]\n\n    #     A_dependencies = [list(range(len(num_states))) for _ in range(len(num_obs))]\n    #     qs_out = vmp_jax(A, B_policy, obs, prior, A_dependencies, num_iter=16, tau=1.)\n\n    #     self.assertTrue(qs_out[0].shape[0] == obs[0].shape[0])\n    \n    # def test_vmap_variational_message_passing_across_policies(self):\n\n    #     num_states = [3, 2]\n    #     num_obs = [3]\n\n    #     A_tensor = jnp.stack([jnp.array([[0.5, 0.5, 0.], \n    #                                     [0.0,  0.0,  1.], \n    #                                     [0.5, 0.5, 0.]]\n    #                                 ), jnp.array([[1./3, 1./3, 1./3], \n    #                                               [1./3, 1./3, 1./3], \n    #                                               [1./3, 1./3, 1./3]]\n    #                                 )], axis=-1)\n\n    #     A = [ jnp.broadcast_to(A_tensor, (2, 3, 3, 2)) ]\n\n    #     # create two B matrices, one for each action\n    #     B_1 = jnp.broadcast_to(jnp.array([[0.0, 0.75, 0.0],\n    #                                     [0.0, 0.25, 1.0],\n    #                                     [1.0, 0.0, 0.0]]\n    #                 ), (2, 3, 3))\n        \n    #     B_2 = jnp.broadcast_to(jnp.array([[0.0, 0.25, 0.0],\n    #                                     [0.0, 0.75, 0.0],\n    #                                     [1.0, 0.0, 1.0]]\n    #                 ), (2, 3, 3))\n        \n    #     B_uncontrollable = jnp.expand_dims(\n    #         jnp.broadcast_to(\n    #             jnp.array([[1.0, 0.0], [0.0, 1.0]]), (2, 2, 2)\n    #         ), \n    #         -1\n    #     )\n\n    #     B = [jnp.stack([B_1, B_2], axis=-1), B_uncontrollable]\n\n    #     # create a policy-dependent sequence of B matrices\n\n    #     policy_1 = jnp.array([ [0, 0],\n    #                            [1, 0],\n    #                            [1, 0] ]\n    #                         )\n\n    #     policy_2 = jnp.array([ [1, 0],\n    #                            [1, 0],\n    #                            [1, 0] ]\n    #                         )\n        \n    #     policy_3 = jnp.array([ [1, 0],\n    #                            [0, 0],\n    #                            [1, 0] ]\n    #                         )\n        \n    #     all_policies = [policy_1, policy_2, policy_3]\n    #     all_policies = list(jnp.stack(all_policies).transpose(2, 0, 1)) # `n_factors` lists, each with matrix of shape `(n_policies, n_time_steps)`\n\n    #     # for the single modality, a sequence over time of observations (one hot vectors)\n    #     obs = [jnp.broadcast_to(jnp.array([[1., 0., 0.], \n    #                                        [0., 1., 0.], \n    #                                        [0., 0., 1.],\n    #                                        [1., 0., 0.]])[:, None], (4, 2, 3) )]\n\n    #     prior = [jnp.ones((2, 3)) / 3., jnp.ones((2, 2)) / 2.]\n\n    #     A_dependencies = [list(range(len(num_states))) for _ in range(len(num_obs))]\n\n    #     ### First do VMP\n    #     def test(action_sequence):\n    #         B_policy = jtu.tree_map(lambda b, a_idx: b[..., a_idx].transpose(0, 3, 1, 2), B, action_sequence)            \n    #         return vmp_jax(A, B_policy, obs, prior, A_dependencies, num_iter=16, tau=1.)\n    #     qs_out = vmap(test)(all_policies)\n    #     self.assertTrue(qs_out[0].shape[1] == obs[0].shape[0])\n\n    #     ### Then do MMP\n    #     def test(action_sequence):\n    #         B_policy = jtu.tree_map(lambda b, a_idx: b[..., a_idx].transpose(0, 3, 1, 2), B, action_sequence)\n    #         return mmp_jax(A, B_policy, obs, prior, A_dependencies, num_iter=16, tau=1.)\n    #     qs_out = vmap(test)(all_policies)\n    #     self.assertTrue(qs_out[0].shape[1] == obs[0].shape[0])\n    \n    # def test_variational_message_passing_multiple_modalities_factors(self):\n\n    #     num_states_list = [ \n    #                      [2, 2, 5],\n    #                      [2, 2, 2],\n    #                      [4, 4]\n    #     ]\n\n    #     num_controls_list = [\n    #                         [2, 1, 3],\n    #                         [2, 1, 2],\n    #                         [1, 3]\n    #     ]\n\n    #     num_obs_list = [\n    #                     [5, 10],\n    #                     [4, 3, 2],\n    #                     [5, 2, 6, 3]\n    #     ]\n\n    #     batch_dim, T = 2, 4 # batch dimension (e.g. number of agents, parallel realizations, etc.) and time steps\n    #     n_policies = 3\n\n    #     for (num_states, num_controls, num_obs) in zip(num_states_list, num_controls_list, num_obs_list):\n\n    #         # initialize arrays in numpy\n    #         A_numpy = utils.random_A_matrix(num_obs, num_states)\n    #         B_numpy = utils.random_B_matrix(num_states, num_controls)\n\n    #         A = []\n    #         for mod_i in range(len(num_obs)):\n    #             broadcast_shape = (batch_dim,) + tuple(A_numpy[mod_i].shape)\n    #             A.append(jnp.broadcast_to(A_numpy[mod_i], broadcast_shape))\n            \n    #         B = []\n    #         for fac_i in range(len(num_states)):\n    #             broadcast_shape = (batch_dim,) + tuple(B_numpy[fac_i].shape)\n    #             B.append(jnp.broadcast_to(B_numpy[fac_i], broadcast_shape))\n\n    #         prior_numpy = utils.random_single_categorical(num_states)\n    #         prior = []\n    #         for fac_i in range(len(num_states)):\n    #             broadcast_shape = (batch_dim,) + tuple(prior_numpy[fac_i].shape)\n    #             prior.append(jnp.broadcast_to(prior_numpy[fac_i], broadcast_shape))\n\n    #         # initialization observation sequences in jax\n    #         obs_seq = []\n    #         for n_obs in num_obs:\n    #             obs_ints = np.random.randint(0, high=n_obs, size=(T,1))\n    #             obs_array_mod_i = jnp.broadcast_to(nn.one_hot(obs_ints, num_classes=n_obs), (T, batch_dim, n_obs))\n    #             obs_seq.append(obs_array_mod_i)\n\n    #         # create random policies\n    #         policies = []\n    #         for n_controls in num_controls:\n    #             policies.append(jnp.array(np.random.randint(0, high=n_controls, size=(n_policies, T-1))))\n            \n    #         A_dependencies = [list(range(len(num_states))) for _ in range(len(num_obs))]\n    #         ### First do VMP\n    #         def test(action_sequence):\n    #             B_policy = jtu.tree_map(lambda b, a_idx: b[..., a_idx].transpose(0, 3, 1, 2), B, action_sequence)            \n    #             return vmp_jax(A, B_policy, obs_seq, prior, A_dependencies, num_iter=16, tau=1.)\n    #         qs_out = vmap(test)(policies)\n    #         self.assertTrue(qs_out[0].shape[1] == obs_seq[0].shape[0])\n\n    #         ### Then do MMP\n    #         def test(action_sequence):\n    #             B_policy = jtu.tree_map(lambda b, a_idx: b[..., a_idx].transpose(0, 3, 1, 2), B, action_sequence)\n    #             return mmp_jax(A, B_policy, obs_seq, prior, A_dependencies, num_iter=16, tau=1.)\n    #         qs_out = vmap(test)(policies)\n    #         self.assertTrue(qs_out[0].shape[1] == obs_seq[0].shape[0])\n    \n    # def test_A_dependencies_variational_message_passing(self):\n    #     \"\"\" Test variational message passing with A dependencies \"\"\"\n\n    #     num_states_list = [ \n    #                      [2, 2, 5],\n    #                      [2, 2, 2],\n    #                      [4, 4]\n    #     ]\n\n    #     num_controls_list = [\n    #                         [2, 1, 3],\n    #                         [2, 1, 2],\n    #                         [1, 3]\n    #     ]\n\n    #     num_obs_list = [\n    #                     [5, 10],\n    #                     [4, 3, 2],\n    #                     [5, 2, 6, 3]\n    #     ]\n\n    #     A_dependencies_list = [\n    #                         [[0, 1], [1,2]],\n    #                         [[0], [1], [2]],\n    #                         [[0,1], [1], [0], [1]]\n    #     ]\n\n    #     batch_dim, T = 13, 4 # batch dimension (e.g. number of agents, parallel realizations, etc.) and time steps\n    #     n_policies = 3\n\n    #     for (num_states, A_dependencies, num_controls, num_obs) in zip(num_states_list, A_dependencies_list, num_controls_list, num_obs_list):\n            \n    #         A_reduced_numpy = utils.random_A_matrix(num_obs, num_states, A_factor_list=A_dependencies)\n    #         A_reduced = jtu.tree_map(lambda x: jnp.broadcast_to(x, (batch_dim,) + x.shape), list(A_reduced_numpy))\n          \n    #         A_full_numpy = []\n    #         for m, no in enumerate(num_obs):\n    #             other_factors = list(set(range(len(num_states))) - set(A_dependencies[m])) # list of the factors that modality `m` does not depend on\n\n    #             # broadcast or tile the reduced A matrix (`A_reduced`) along the dimensions of corresponding to `other_factors`\n    #             expanded_dims = [no] + [1 if f in other_factors else ns for (f, ns) in enumerate(num_states)]\n    #             tile_dims = [1] + [ns if f in other_factors else 1 for (f, ns) in enumerate(num_states)]\n    #             A_full_numpy.append(np.tile(A_reduced_numpy[m].reshape(expanded_dims), tile_dims))\n            \n    #         A_full = jtu.tree_map(lambda x: jnp.broadcast_to(x, (batch_dim,) + x.shape), list(A_full_numpy))\n\n    #         B_numpy = utils.random_B_matrix(num_states, num_controls)\n    #         B = jtu.tree_map(lambda x: jnp.broadcast_to(x, (batch_dim,) + x.shape), list(B_numpy))\n\n    #         prior_numpy = utils.random_single_categorical(num_states)\n    #         prior = jtu.tree_map(lambda x: jnp.broadcast_to(x, (batch_dim,) + x.shape), list(prior_numpy))\n          \n    #         # initialization observation sequences in jax\n    #         obs_seq = []\n    #         for n_obs in num_obs:\n    #             obs_ints = np.random.randint(0, high=n_obs, size=(T,1))\n    #             obs_array_mod_i = jnp.broadcast_to(nn.one_hot(obs_ints, num_classes=n_obs), (T, batch_dim, n_obs))\n    #             obs_seq.append(obs_array_mod_i)\n\n    #         # create random policies\n    #         policies = []\n    #         for n_controls in num_controls:\n    #             policies.append(jnp.array(np.random.randint(0, high=n_controls, size=(n_policies, T-1))))\n\n    #          ### First do VMP\n    #         def test_full(action_sequence):\n    #             B_policy = jtu.tree_map(lambda b, a_idx: b[..., a_idx].transpose(0, 3, 1, 2), B, action_sequence)\n    #             dependencies_fully_connected = [list(range(len(num_states))) for _ in range(len(num_obs))]\n    #             return vmp_jax(A_full, B_policy, obs_seq, prior, dependencies_fully_connected, num_iter=16, tau=1.)\n            \n    #         def test_sparse(action_sequence):\n    #             B_policy = jtu.tree_map(lambda b, a_idx: b[..., a_idx].transpose(0, 3, 1, 2), B, action_sequence)\n    #             return vmp_jax(A_reduced, B_policy, obs_seq, prior, A_dependencies, num_iter=16, tau=1)\n\n    #         qs_full = vmap(test_full)(policies)\n    #         qs_reduced = vmap(test_sparse)(policies)\n\n    #         for f in range(len(qs_full)):\n    #             self.assertTrue(jnp.allclose(qs_full[f], qs_reduced[f]))\n\n    # def test_B_dependencies_variational_message_passing(self):\n    #     \"\"\" Test variational message passing with B dependencies \"\"\"\n\n    #     num_states_list = [ \n    #                      [2, 2, 5],\n    #                      [2, 2, 2],\n    #                      [4, 4]\n    #     ]\n\n    #     num_controls_list = [\n    #                         [2, 1, 3],\n    #                         [2, 1, 2],\n    #                         [1, 3]\n    #     ]\n\n    #     num_obs_list = [\n    #                     [5, 10],\n    #                     [4, 3, 2],\n    #                     [5, 2, 6, 3]\n    #     ]\n\n    #     A_dependencies_list = [\n    #                         [[0, 1], [1,2]],\n    #                         [[0], [1], [2]],\n    #                         [[0,1], [1], [0], [1]]\n    #     ]\n\n    #     batch_dim, T = 13, 4 # batch dimension (e.g. number of agents, parallel realizations, etc.) and time steps\n    #     n_policies = 3\n\n    #     for (num_states, A_dependencies, num_controls, num_obs) in zip(num_states_list, A_dependencies_list, num_controls_list, num_obs_list):\n            \n    #         A_reduced_numpy = utils.random_A_matrix(num_obs, num_states, A_factor_list=A_dependencies)\n    #         A_reduced = jtu.tree_map(lambda x: jnp.broadcast_to(x, (batch_dim,) + x.shape), list(A_reduced_numpy))\n          \n    #         A_full_numpy = []\n    #         for m, no in enumerate(num_obs):\n    #             other_factors = list(set(range(len(num_states))) - set(A_dependencies[m])) # list of the factors that modality `m` does not depend on\n\n    #             # broadcast or tile the reduced A matrix (`A_reduced`) along the dimensions of corresponding to `other_factors`\n    #             expanded_dims = [no] + [1 if f in other_factors else ns for (f, ns) in enumerate(num_states)]\n    #             tile_dims = [1] + [ns if f in other_factors else 1 for (f, ns) in enumerate(num_states)]\n    #             A_full_numpy.append(np.tile(A_reduced_numpy[m].reshape(expanded_dims), tile_dims))\n            \n    #         A_full = jtu.tree_map(lambda x: jnp.broadcast_to(x, (batch_dim,) + x.shape), list(A_full_numpy))\n\n    #         B_numpy = utils.random_B_matrix(num_states, num_controls)\n    #         B = jtu.tree_map(lambda x: jnp.broadcast_to(x, (batch_dim,) + x.shape), list(B_numpy))\n\n    #         prior_numpy = utils.random_single_categorical(num_states)\n    #         prior = jtu.tree_map(lambda x: jnp.broadcast_to(x, (batch_dim,) + x.shape), list(prior_numpy))\n          \n    #         # initialization observation sequences in jax\n    #         obs_seq = []\n    #         for n_obs in num_obs:\n    #             obs_ints = np.random.randint(0, high=n_obs, size=(T,1))\n    #             obs_array_mod_i = jnp.broadcast_to(nn.one_hot(obs_ints, num_classes=n_obs), (T, batch_dim, n_obs))\n    #             obs_seq.append(obs_array_mod_i)\n\n    #         # create random policies\n    #         policies = []\n    #         for n_controls in num_controls:\n    #             policies.append(jnp.array(np.random.randint(0, high=n_controls, size=(n_policies, T-1))))\n\n    #          ### First do VMP\n    #         def test_full(action_sequence):\n    #             B_policy = jtu.tree_map(lambda b, a_idx: b[..., a_idx].transpose(0, 3, 1, 2), B, action_sequence)\n    #             dependencies_fully_connected = [list(range(len(num_states))) for _ in range(len(num_obs))]\n    #             return vmp_jax(A_full, B_policy, obs_seq, prior, dependencies_fully_connected, num_iter=16, tau=1.)\n            \n    #         def test_sparse(action_sequence):\n    #             B_policy = jtu.tree_map(lambda b, a_idx: b[..., a_idx].transpose(0, 3, 1, 2), B, action_sequence)\n    #             return vmp_jax(A_reduced, B_policy, obs_seq, prior, A_dependencies, num_iter=16, tau=1)\n\n    #         qs_full = vmap(test_full)(policies)\n    #         qs_reduced = vmap(test_sparse)(policies)\n\n    #         for f in range(len(qs_full)):\n    #             self.assertTrue(jnp.allclose(qs_full[f], qs_reduced[f]))\n    \n    # def test_online_variational_filtering(self):\n    #     \"\"\" Unit test for @dimarkov's implementation of online variational filtering, also where it's conditional on actions (vmapped across policies) \"\"\"\n\n    #     num_states_list = [ \n    #                 [2, 2, 5],\n    #                 [2, 2, 2],\n    #                 [4, 4]\n    #     ]\n\n    #     num_controls_list = [\n    #                         [2, 1, 3],\n    #                         [2, 1, 2],\n    #                         [1, 3]\n    #     ]\n\n    #     num_obs_list = [\n    #                     [5, 10],\n    #                     [4, 3, 2],\n    #                     [5, 2, 6, 3]\n    #     ]\n\n    #     A_dependencies_list = [\n    #                         [[0, 1], [1, 2]],\n    #                         [[0], [1], [2]],\n    #                         [[0,1], [1], [0], [1]],\n    #     ]\n\n    #     batch_dim, T = 13, 4 # batch dimension (e.g. number of agents, parallel realizations, etc.) and time steps\n    #     n_policies = 3\n\n    #     for (num_states, A_dependencies, num_controls, num_obs) in zip(num_states_list, A_dependencies_list, num_controls_list, num_obs_list):\n            \n    #         A_reduced_numpy = utils.random_A_matrix(num_obs, num_states, A_factor_list=A_dependencies)\n    #         A_reduced = jtu.tree_map(lambda x: jnp.broadcast_to(x, (batch_dim,) + x.shape), list(A_reduced_numpy))\n                \n    #         A_full_numpy = []\n    #         for m, no in enumerate(num_obs):\n    #             other_factors = list(set(range(len(num_states))) - set(A_dependencies[m])) # list of the factors that modality `m` does not depend on\n\n    #             # broadcast or tile the reduced A matrix (`A_reduced`) along the dimensions of corresponding to `other_factors`\n    #             expanded_dims = [no] + [1 if f in other_factors else ns for (f, ns) in enumerate(num_states)]\n    #             tile_dims = [1] + [ns if f in other_factors else 1 for (f, ns) in enumerate(num_states)]\n    #             A_full_numpy.append(np.tile(A_reduced_numpy[m].reshape(expanded_dims), tile_dims))\n            \n    #         A_full = jtu.tree_map(lambda x: jnp.broadcast_to(x, (batch_dim,) + x.shape), list(A_full_numpy))\n\n    #         B_numpy = utils.random_B_matrix(num_states, num_controls)\n    #         B = jtu.tree_map(lambda x: jnp.broadcast_to(x, (batch_dim,) + x.shape), list(B_numpy))\n\n    #         prior_numpy = utils.random_single_categorical(num_states)\n    #         prior = jtu.tree_map(lambda x: jnp.broadcast_to(x, (batch_dim,) + x.shape), list(prior_numpy))\n                \n    #         # initialization observation sequences in jax\n    #         obs_seq = []\n    #         for n_obs in num_obs:\n    #             obs_ints = np.random.randint(0, high=n_obs, size=(T,1))\n    #             obs_array_mod_i = jnp.broadcast_to(nn.one_hot(obs_ints, num_classes=n_obs), (T, batch_dim, n_obs))\n    #             obs_seq.append(obs_array_mod_i)\n\n    #         # create random policies\n    #         policies = []\n    #         for n_controls in num_controls:\n    #             policies.append(jnp.array(np.random.randint(0, high=n_controls, size=(n_policies, T-1))))\n\n    #         def test_sparse(action_sequence):\n    #             B_policy = jtu.tree_map(lambda b, a_idx: b[..., a_idx].transpose(3, 0, 1, 2), B, action_sequence)\n    #             qs, ps, qss = ovf_jax(obs_seq, A_reduced, B_policy, prior, A_dependencies)\n    #             return qs, ps, qss\n\n    #         qs_pi_sparse, ps_pi_sparse, qss_pi_sparse = vmap(test_sparse)(policies)\n\n    #         for f, (qs, ps, qss) in enumerate(zip(qs_pi_sparse, ps_pi_sparse, qss_pi_sparse)):\n    #             self.assertTrue(qs.shape == (n_policies, batch_dim, num_states[f]))\n    #             self.assertTrue(ps.shape == (n_policies, batch_dim, num_states[f]))\n    #             self.assertTrue(qss.shape == (n_policies, T, batch_dim, num_states[f], num_states[f]))\n\n    #             #Note: qs/ps are of dimension [n_policies x num_agents x dim_state_f] * num_factors\n    #             #Note: qss is of dimension [n_policies x time_steps x num_agents x dim_state_f x dim_state_f] * num_factors\n            \n    #         def test_full(action_sequence):\n    #             B_policy = jtu.tree_map(lambda b, a_idx: b[..., a_idx].transpose(3, 0, 1, 2), B, action_sequence)\n    #             dependencies_fully_connected = [list(range(len(num_states))) for _ in range(len(num_obs))]\n    #             qs, ps, qss = ovf_jax(obs_seq, A_full, B_policy, prior, dependencies_fully_connected)\n    #             return qs, ps, qss\n\n    #         qs_pi_full, ps_pi_full, qss_pi_full = vmap(test_full)(policies)\n\n    #         # test that the sparse and fully connected versions of OVF give the same results\n    #         for (qs_sparse, ps_sparse, qss_sparse, qs_full, ps_full, qss_full) in zip(qs_pi_sparse, ps_pi_sparse, qss_pi_sparse, qs_pi_full, ps_pi_full, qss_pi_full):\n    #             self.assertTrue(np.allclose(qs_sparse, qs_full))\n    #             self.assertTrue(np.allclose(ps_sparse, ps_full))\n    #             self.assertTrue(np.allclose(qss_sparse, qss_full))\n\nif __name__ == \"__main__\":\n    unittest.main()\n\n\n\n\n\n\n    \n"
  },
  {
    "path": "test/test_mmp.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Unit Test of `run_mmp` function under various parameterisations\n\n__date__: 25/11/2020\n__author__: Conor Heins, Alexander Tschantz\n\"\"\"\n\nimport os\nimport unittest\n\nimport numpy as np\nfrom scipy.io import loadmat\n\nfrom pymdp.legacy.utils import get_model_dimensions, convert_observation_array\nfrom pymdp.legacy.algos import run_mmp\nfrom pymdp.legacy.maths import get_joint_likelihood_seq\n\nDATA_PATH = \"test/matlab_crossval/output/\"\n\nclass MMP(unittest.TestCase):\n   \n    def test_mmp_a(self):\n        \"\"\"\n        Testing our SPM-ified version of `run_MMP` with\n            1 hidden state factor & 1 observation modality, at a random fixed\n            timestep during the generative process\n        \"\"\"\n\n        array_path = os.path.join(os.getcwd(), DATA_PATH + \"mmp_a.mat\")\n        mat_contents = loadmat(file_name=array_path)\n\n        A = mat_contents[\"A\"][0]\n        B = mat_contents[\"B\"][0]\n        prev_obs = mat_contents[\"obs_idx\"].astype(\"int64\")\n        policy = mat_contents[\"policy\"].astype(\"int64\") - 1\n        curr_t = mat_contents[\"t\"][0, 0].astype(\"int64\") - 1\n        t_horizon = mat_contents[\"t_horizon\"][0, 0].astype(\"int64\")\n        prev_actions = mat_contents[\"previous_actions\"].astype(\"int64\") - 1\n        result_spm = mat_contents[\"qs\"][0]\n        mat_contents[\"likelihoods\"][0]\n\n        num_obs, num_states, _, num_factors = get_model_dimensions(A, B)\n        prev_obs = convert_observation_array(\n            prev_obs[:, max(0, curr_t - t_horizon) : (curr_t + 1)], num_obs\n        )\n\n        prev_actions = prev_actions[(max(0, curr_t - t_horizon) -1) :, :]\n        prior = np.empty(num_factors, dtype=object)\n        for f in range(num_factors):\n            uniform = np.ones(num_states[f]) / num_states[f]\n            prior[f] = B[f][:, :, prev_actions[0, f]].dot(uniform)\n\n        lh_seq = get_joint_likelihood_seq(A, prev_obs, num_states)\n        qs_seq, _ = run_mmp(\n            lh_seq, B, policy, prev_actions[1:], prior=prior, num_iter=5, grad_descent=True\n        )\n\n        result_pymdp = qs_seq[-1]\n        for f in range(num_factors):\n            self.assertTrue(np.isclose(result_spm[f].squeeze(), result_pymdp[f]).all())\n   \n    def test_mmp_b(self):\n        \"\"\" Testing our SPM-ified version of `run_MMP` with\n        2 hidden state factors & 2 observation modalities, at a random fixed\n        timestep during the generative process\"\"\"\n\n        array_path = os.path.join(os.getcwd(), DATA_PATH + \"mmp_b.mat\")\n        mat_contents = loadmat(file_name=array_path)\n\n        A = mat_contents[\"A\"][0]\n        B = mat_contents[\"B\"][0]\n        prev_obs = mat_contents[\"obs_idx\"].astype(\"int64\")\n        policy = mat_contents[\"policy\"].astype(\"int64\") - 1\n        curr_t = mat_contents[\"t\"][0, 0].astype(\"int64\") - 1\n        t_horizon = mat_contents[\"t_horizon\"][0, 0].astype(\"int64\")\n        prev_actions = mat_contents[\"previous_actions\"].astype(\"int64\") - 1\n        result_spm = mat_contents[\"qs\"][0]\n        mat_contents[\"likelihoods\"][0]\n\n        num_obs, num_states, _, num_factors = get_model_dimensions(A, B)\n        prev_obs = convert_observation_array(\n            prev_obs[:, max(0, curr_t - t_horizon) : (curr_t + 1)], num_obs\n        )\n\n        prev_actions = prev_actions[(max(0, curr_t - t_horizon)) :, :]\n        lh_seq = get_joint_likelihood_seq(A, prev_obs, num_states)\n        qs_seq, _ = run_mmp(lh_seq, \n             B, policy, prev_actions=prev_actions, prior=None, num_iter=5, grad_descent=True\n        )\n\n        result_pymdp = qs_seq[-1]\n        for f in range(num_factors):\n            self.assertTrue(np.isclose(result_spm[f].squeeze(), result_pymdp[f]).all())\n\n    def test_mmp_c(self):\n        \"\"\" Testing our SPM-ified version of `run_MMP` with\n         2 hidden state factors & 2 observation modalities, at the very first\n         timestep of the generative process (boundary condition test). So there \n         are no previous actions\"\"\"\n\n        array_path = os.path.join(os.getcwd(), DATA_PATH + \"mmp_c.mat\")\n        mat_contents = loadmat(file_name=array_path)\n\n        A = mat_contents[\"A\"][0]\n        B = mat_contents[\"B\"][0]\n        prev_obs = mat_contents[\"obs_idx\"].astype(\"int64\")\n        policy = mat_contents[\"policy\"].astype(\"int64\") - 1\n        curr_t = mat_contents[\"t\"][0, 0].astype(\"int64\") - 1\n        t_horizon = mat_contents[\"t_horizon\"][0, 0].astype(\"int64\")\n        # prev_actions = mat_contents[\"previous_actions\"].astype(\"int64\") - 1\n        result_spm = mat_contents[\"qs\"][0]\n        mat_contents[\"likelihoods\"][0]\n\n        num_obs, num_states, _, num_factors = get_model_dimensions(A, B)\n        prev_obs = convert_observation_array(\n            prev_obs[:, max(0, curr_t - t_horizon) : (curr_t + 1)], num_obs\n        )\n\n        # prev_actions = prev_actions[(max(0, curr_t - t_horizon)) :, :]\n        lh_seq = get_joint_likelihood_seq(A, prev_obs, num_states)\n        qs_seq, _ = run_mmp(\n            lh_seq, B, policy, prev_actions=None, prior=None, num_iter=5, grad_descent=True\n        )\n\n        result_pymdp = qs_seq[-1]\n        for f in range(num_factors):\n            self.assertTrue(np.isclose(result_spm[f].squeeze(), result_pymdp[f]).all())\n    \n    def test_mmp_d(self):\n        \"\"\" Testing our SPM-ified version of `run_MMP` with\n        2 hidden state factors & 2 observation modalities, at the final\n        timestep of the generative process (boundary condition test)\n        @NOTE: mmp_d.mat test has issues with the prediction errors. But the future messages are \n        totally fine (even at the last timestep of variational iteration.\"\"\"\n\n        array_path = os.path.join(os.getcwd(), DATA_PATH + \"mmp_d.mat\")\n        mat_contents = loadmat(file_name=array_path)\n\n        A = mat_contents[\"A\"][0]\n        B = mat_contents[\"B\"][0]\n        prev_obs = mat_contents[\"obs_idx\"].astype(\"int64\")\n        policy = mat_contents[\"policy\"].astype(\"int64\") - 1\n        curr_t = mat_contents[\"t\"][0, 0].astype(\"int64\") - 1\n        t_horizon = mat_contents[\"t_horizon\"][0, 0].astype(\"int64\")\n        prev_actions = mat_contents[\"previous_actions\"].astype(\"int64\") - 1\n        result_spm = mat_contents[\"qs\"][0]\n        mat_contents[\"likelihoods\"][0]\n\n        num_obs, num_states, _, num_factors = get_model_dimensions(A, B)\n        prev_obs = convert_observation_array(\n            prev_obs[:, max(0, curr_t - t_horizon) : (curr_t + 1)], num_obs\n        )\n        \n        prev_actions = prev_actions[(max(0, curr_t - t_horizon) -1) :, :]\n        prior = np.empty(num_factors, dtype=object)\n        for f in range(num_factors):\n            uniform = np.ones(num_states[f]) / num_states[f]\n            prior[f] = B[f][:, :, prev_actions[0, f]].dot(uniform)\n\n        lh_seq = get_joint_likelihood_seq(A, prev_obs, num_states)\n\n        qs_seq, _ = run_mmp(\n            lh_seq, B, policy, prev_actions[1:], prior=prior, num_iter=5, grad_descent=True, last_timestep=True\n        )\n    \n        result_pymdp = qs_seq[-1] \n\n        for f in range(num_factors):\n            self.assertTrue(np.isclose(result_spm[f].squeeze(), result_pymdp[f]).all())\n    \n    \"\"\"\n    @ NOTE (from Conor Heins 07.04.2021)\n    Please keep this uncommented code below here. We need to figure out how to re-include optional arguments e.g. `save_vfe_seq` \n    into `run_mmp` so that important tests like these can run again some day. My only dumb solution for now would be to just have a 'UnitTest variant' of the MMP function\n    that has extra optional outputs that slow down run-time (e.g. `save_vfe_seq`), and are thus excluded from the deployable version of `pymdp`,\n    but are useful for benchmarking the performance/ accuracy of the algorithm\n    \"\"\"\n    # def test_mmp_fixedpoints(self):\n\n    #     array_path = os.path.join(os.getcwd(), DATA_PATH + \"mmp_a.mat\")\n    #     mat_contents = loadmat(file_name=array_path)\n\n    #     A = mat_contents[\"A\"][0]\n    #     B = mat_contents[\"B\"][0]\n    #     prev_obs = mat_contents[\"obs_idx\"].astype(\"int64\")\n    #     policy = mat_contents[\"policy\"].astype(\"int64\") - 1\n    #     curr_t = mat_contents[\"t\"][0, 0].astype(\"int64\") - 1\n    #     t_horizon = mat_contents[\"t_horizon\"][0, 0].astype(\"int64\")\n    #     prev_actions = mat_contents[\"previous_actions\"].astype(\"int64\") - 1\n    #     result_spm = mat_contents[\"qs\"][0]\n    #     likelihoods = mat_contents[\"likelihoods\"][0]\n\n    #     num_obs, num_states, _, num_factors = get_model_dimensions(A, B)\n    #     prev_obs = convert_observation_array(\n    #         prev_obs[:, max(0, curr_t - t_horizon) : (curr_t + 1)], num_obs\n    #     )\n\n    #     prev_actions = prev_actions[(max(0, curr_t - t_horizon) -1) :, :]\n    #     prior = np.empty(num_factors, dtype=object)\n    #     for f in range(num_factors):\n    #         uniform = np.ones(num_states[f]) / num_states[f]\n    #         prior[f] = B[f][:, :, prev_actions[0, f]].dot(uniform)\n\n    #     lh_seq = get_joint_likelihood_seq(A, prev_obs, num_states)\n    #     qs_seq, F = run_mmp(\n    #         lh_seq, B, policy, prev_actions[1:], prior=prior, num_iter=5, grad_descent=False, save_vfe_seq=True\n    #     )\n\n    #     self.assertTrue((np.diff(np.array(F)) < 0).all())\n\n\nif __name__ == \"__main__\":\n    unittest.main()\n"
  },
  {
    "path": "test/test_param_info_gain_jax.py",
    "content": "import pytest\nimport jax.numpy as jnp\nimport numpy as np\nfrom jax import grad\nfrom jax.scipy.special import digamma\n\nfrom pymdp.maths import _exact_wnorm\n\n\n@pytest.mark.parametrize(\"scale\", [-12, -6, 0, 6, 12])\ndef test_exact_wnorm_finite(scale):\n    \"\"\"Ensure _exact_wnorm returns finite values and gradients across a wide range of magnitudes.\"\"\"\n    # Matrix whose entries span many orders of magnitude; include an explicit zero.\n    base = jnp.array([\n        [0.0, 2.0, 3.0, 4.0],\n        [1.0, 5.0, 6.0, 0.5],\n        [7.0, 8.0, 9.0, 10.0],\n    ])\n    A = base * (10.0 ** scale)\n\n    # Forward computation\n    wA = _exact_wnorm(A)\n    assert jnp.all(jnp.isfinite(wA)), \"_exact_wnorm produced NaN or Inf values\"\n\n    # Backward computation (gradient wrt A)\n    grad_wA = grad(lambda x: _exact_wnorm(x).sum())(A)\n    assert jnp.all(jnp.isfinite(grad_wA)), \"Gradient of _exact_wnorm produced NaN or Inf values\" \n\n\ndef test_exact_wnorm_mathematical_correctness():\n    \"\"\"Test _exact_wnorm with a simple case where we can verify the mathematical result.\"\"\"\n    # Simple 2x2 case with known values\n    A = jnp.array([[1.0, 2.0],\n                   [3.0, 4.0]])\n    \n    result = _exact_wnorm(A)\n    \n    # Manually compute expected result using the formula\n    # wA = log(A.sum(0)) - log(A) + 1/A - 1/A.sum(0) + digamma(A) - digamma(A.sum(0))\n    A_sum = A.sum(axis=0)  # [4.0, 6.0]\n    \n    expected = (\n        jnp.log(A_sum) - jnp.log(A) +\n        1.0 / A - 1.0 / A_sum +\n        jnp.array(digamma(A)) - jnp.array(digamma(A_sum))\n    )\n    expected = -expected  # minus sign in the implementation\n    \n    np.testing.assert_allclose(result, expected, rtol=1e-6, atol=1e-8)\n    \n    # Verify output shape matches input\n    assert result.shape == A.shape \n\n\n# -----------------------------------------------------------------------------\n# Test 3: Higher Dirichlet counts → lower expected information gain\n# -----------------------------------------------------------------------------\n\n@pytest.mark.parametrize(\"seed\", [0, 1, 2, 3, 42])\ndef test_calc_negative_pA_info_gain_precision(seed):\n    \"\"\"Scaling Dirichlet counts upward (more precise prior) should *reduce* the magnitude of (negative) information gain.\"\"\"\n    \n    import jax.random as jr\n    from pymdp.control import calc_negative_pA_info_gain\n    \n    MINVAL = jnp.finfo(float).eps\n\n    # ---------------------------\n    # Shapes copied from T-Maze\n    # ---------------------------\n    num_obs = [5, 3, 3]   # observation dimensionalities per modality\n    num_states = [5, 2]   # hidden-state factor sizes\n    A_dependencies = [[0], [0, 1], [0, 1]]\n\n    # Build a dummy (uniform) observation model just to get shapes correct\n    A_like = [jnp.ones(shape) for shape in [\n        (5, 5),           # modality 0: 5×5\n        (3, 5, 2),        # modality 1: 3×5×2\n        (3, 5, 2)         # modality 2: 3×5×2\n    ]]\n\n    key_root = jr.PRNGKey(seed)\n    key_qs, key_qo, key_pA, key_scalar = jr.split(key_root, 4)\n\n    # Random posterior over hidden states (qs)\n    qs = []\n    for n, k in zip(num_states, jr.split(key_qs, len(num_states))):\n        probs = jr.uniform(k, (n,)) + MINVAL # ensure strictly positive\n        qs.append(probs / probs.sum())\n\n    # Random predictive beliefs over observations (qo)\n    qo = []\n    for n, k in zip(num_obs, jr.split(key_qo, len(num_obs))):\n        probs = jr.uniform(k, (n,)) + MINVAL\n        qo.append(probs / probs.sum())\n\n    # Random Dirichlet base counts (>0)\n    pA_uncertain = []\n    for a_like, k in zip(A_like, jr.split(key_pA, len(A_like))):\n        draw = jr.uniform(k, a_like.shape) * 2.0 + MINVAL  # counts in [MINVAL, MINVAL + 2.0)\n        pA_uncertain.append(draw)\n\n    # Slightly more precise prior\n    scalar = 1.0 + jr.uniform(key_scalar, ()) * 0.1  # factor in (1.0, 1.1]\n    pA_precise = [a * scalar for a in pA_uncertain]\n\n    # Negative information gain for each prior\n    neg_ig_uncertain = calc_negative_pA_info_gain(pA_uncertain, qo, qs, A_dependencies)\n    neg_ig_precise = calc_negative_pA_info_gain(pA_precise, qo, qs, A_dependencies)\n\n    # `calc_negative_pA_info_gain` returns a *negative* quantity by design.\n    # A larger (less negative) value corresponds to *lower* expected information gain.\n    assert neg_ig_precise > neg_ig_uncertain, \"Increasing Dirichlet counts should make (negative) information gain less negative\"\n"
  },
  {
    "path": "test/test_pybefit_model_fitting.py",
    "content": "\"\"\"Smoke tests for pybefit-based model fitting integration.\"\"\"\n\nimport pytest\nfrom jax import nn, random as jr\nfrom jax import lax\nfrom jax import numpy as jnp\nfrom jax import tree_util as jtu\n\nfrom pymdp.agent import Agent\nfrom pymdp.envs import TMaze\n\n\npybefit = pytest.importorskip(\"pybefit\")\nfrom pybefit.inference import Normal, NumpyroModel  # noqa: E402\nfrom pybefit.inference.numpyro.likelihoods import pymdp_likelihood  # noqa: E402\nfrom numpyro.infer import Predictive  # noqa: E402\n\n\ndef _build_tmaze_agent_transform(task):\n    \"\"\"Build the notebook-style parameter transform used for pybefit fitting.\"\"\"\n\n    def transform(z):\n        num_agents = z.shape[0]\n\n        reward_prob = nn.sigmoid(z[..., 0])\n        lam = nn.softplus(z[..., 1])\n        d = nn.sigmoid(z[..., 2])\n\n        A = lax.stop_gradient(task.A)\n        A = jtu.tree_map(lambda x: jnp.broadcast_to(x, (num_agents,) + x.shape), A)\n        B = lax.stop_gradient(task.B)\n        B = jtu.tree_map(lambda x: jnp.broadcast_to(x, (num_agents,) + x.shape), B)\n\n        one_minus = 1.0 - reward_prob\n        reward_left = jnp.stack([reward_prob, one_minus], -1)\n        punish_left = jnp.stack([one_minus, reward_prob], -1)\n        reward_right = jnp.stack([one_minus, reward_prob], -1)\n        punish_right = jnp.stack([reward_prob, one_minus], -1)\n        zeros = jnp.zeros_like(reward_left)\n\n        side = jnp.broadcast_to(\n            jnp.array([[1.0, 1.0], [0.0, 0.0], [0.0, 0.0]]), (num_agents, 3, 2)\n        )\n        left_col = jnp.stack([zeros, reward_left, punish_left], axis=-2)\n        right_col = jnp.stack([zeros, reward_right, punish_right], axis=-2)\n        A[1] = jnp.stack([side, left_col, right_col, side, side], axis=-2)\n\n        C = [\n            jnp.zeros((num_agents, A[0].shape[1])),\n            jnp.expand_dims(lam, -1) * jnp.array([0.0, 1.0, -1.0]),\n            jnp.zeros((num_agents, A[2].shape[1])),\n        ]\n        D = [\n            jnp.zeros((num_agents, B[0].shape[1])).at[:, 0].set(1.0),\n            jnp.stack([d, 1.0 - d], -1),\n        ]\n\n        return Agent(\n            A,\n            B,\n            C=C,\n            D=D,\n            policy_len=2,\n            A_dependencies=task.A_dependencies,\n            B_dependencies=task.B_dependencies,\n            batch_size=num_agents,\n        )\n\n    return transform\n\n\ndef test_pybefit_tmaze_predictive_smoke():\n    \"\"\"\n    Run a minimal pybefit+pymdp predictive pass used in docs model-fitting examples.\n\n    This is intended to catch API drift between pybefit and pymdp early.\n    \"\"\"\n\n    num_blocks = 2\n    num_trials = 2\n    num_agents = 1\n    num_params = 3\n    key = jr.PRNGKey(0)\n\n    task = TMaze(\n        reward_probability=0.98,\n        punishment_probability=0.0,\n        cue_validity=1.0,\n        reward_condition=None,\n        dependent_outcomes=True,\n    )\n    prior = Normal(num_params, num_agents, backend=\"numpyro\")\n    transform = _build_tmaze_agent_transform(task)\n\n    opts_task = {\n        \"task\": task,\n        \"num_blocks\": num_blocks,\n        \"num_trials\": num_trials,\n        \"num_agents\": num_agents,\n    }\n    opts_model = {\"prior\": {}, \"transform\": {}, \"likelihood\": opts_task}\n\n    model = NumpyroModel(prior, transform, pymdp_likelihood, opts=opts_model)\n    pred = Predictive(model, num_samples=1)\n    key, subkey = jr.split(key)\n    samples = pred(subkey)\n\n    assert \"outcomes\" in samples\n    observations = samples[\"outcomes\"]\n    assert len(observations) == 3\n    # Observations include the initial observation plus one per trial.\n    assert observations[0].shape == (1, num_blocks, num_agents, num_trials + 1)\n"
  },
  {
    "path": "test/test_rollout_function.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\"Unit tests for the jittable rollout loop.\"\"\"\n\nimport unittest\nimport warnings\n\nimport numpy as np\nimport jax.numpy as jnp\nimport jax.random as jr\nimport jax.tree_util as jtu\nfrom jax import lax, vmap\n\nfrom pymdp.agent import Agent\nfrom pymdp.envs import TMaze\nfrom pymdp.envs.env import PymdpEnv\nfrom pymdp.envs.rollout import (\n    rollout,\n    default_policy_search,\n    infer_and_plan,\n    _append_to_window,\n    MAX_WINDOWED_HISTORY_WITHOUT_HORIZON,\n)\nfrom pymdp import control\nfrom pymdp import utils\n\nclass TestRolloutFunction(unittest.TestCase):\n    def setUp(self):\n        self.num_obs = [3]\n        self.num_states = [2]\n        self.num_controls = [2]\n        self.A_dependencies = [[0]]\n        self.B_dependencies = [[0]]\n        self.batch_size = 1\n\n    def build_agent_env(\n        self,\n        *,\n        learn_A=False,\n        learn_B=False,\n        learning_mode=\"online\",\n        inference_algo=\"fpi\",\n        inference_horizon=None,\n        policy_len=1,\n        seed=0,\n        categorical_obs=False,\n        env_categorical_obs=False,\n    ):\n        \n        A_key, B_key, D_key = jr.split(jr.PRNGKey(seed), 3)\n\n        A = utils.random_A_array(A_key, self.num_obs, self.num_states, A_dependencies=self.A_dependencies)\n        B = utils.random_B_array(B_key,\n            self.num_states, self.num_controls, B_dependencies=self.B_dependencies\n        )\n        pA = utils.list_array_scaled([a.shape for a in A], scale=1.0)\n        pB = utils.list_array_scaled([b.shape for b in B], scale=1.0)\n        D = utils.random_factorized_categorical(D_key, self.num_states)\n\n        def _broadcast(arr_list):\n            return [\n                jnp.broadcast_to(jnp.array(arr), (self.batch_size,) + arr.shape)\n                for arr in arr_list\n            ]\n\n        A_batched = _broadcast(A)\n        B_batched = _broadcast(B)\n        pA_batched = _broadcast(pA)\n        pB_batched = _broadcast(pB)\n        D_batched = _broadcast(D)\n\n        agent = Agent(\n            A_batched,\n            B_batched,\n            A_dependencies=self.A_dependencies,\n            B_dependencies=self.B_dependencies,\n            num_controls=self.num_controls,\n            batch_size=self.batch_size,\n            learn_A=learn_A,\n            learn_B=learn_B,\n            pA=pA_batched if learn_A else None,\n            pB=pB_batched if learn_B else None,\n            learning_mode=learning_mode,\n            inference_algo=inference_algo,\n            inference_horizon=inference_horizon,\n            policy_len=policy_len,\n            categorical_obs=categorical_obs,\n        )\n\n        env_params = {\"A\": A_batched, \"B\": B_batched, \"D\": D_batched}\n        env = PymdpEnv(\n            A_dependencies=self.A_dependencies,\n            B_dependencies=self.B_dependencies,\n            categorical_obs=env_categorical_obs,\n        )\n\n        initial = {\n            \"pA\": [np.array(val) for val in (agent.pA if learn_A else [])],\n            \"pB\": [np.array(val) for val in (agent.pB if learn_B else [])],\n        }\n\n        return agent, env, env_params, initial\n\n    def manual_windowed_rollout_reference(self, agent, env, num_steps, rng_key, env_params=None):\n        batch_size = agent.batch_size\n        is_sequence_method = agent.inference_algo in {\"mmp\", \"vmp\"}\n        use_smoothing_online_windows = (\n            (agent.inference_algo in {\"ovf\", \"exact\"})\n            and (agent.learning_mode == \"online\")\n            and (agent.learn_A or agent.learn_B)\n        )\n        self.assertTrue(is_sequence_method or use_smoothing_online_windows)\n\n        history_len = (\n            agent.inference_horizon\n            if agent.inference_horizon is not None\n            else min(num_steps + 1, MAX_WINDOWED_HISTORY_WITHOUT_HORIZON)\n        )\n        action_history_len = max(history_len - 1, 0)\n\n        keys = jr.split(rng_key, batch_size + 1)\n        rng_key = keys[0]\n        observation, env_state = vmap(env.reset)(keys[1:], env_params=env_params)\n        action = -jnp.ones((batch_size, agent.policies.policy_arr.shape[-1]), dtype=jnp.int32)\n\n        qs = jtu.tree_map(\n            lambda x: jnp.broadcast_to(jnp.expand_dims(x, axis=1), (x.shape[0], history_len, x.shape[-1])),\n            agent.D,\n        )\n\n        def _init_observation_history(obs):\n            if obs.ndim == 1:\n                obs = jnp.expand_dims(obs, axis=1)\n            history_shape = (obs.shape[0], history_len) + obs.shape[2:]\n            if agent.categorical_obs and obs.shape[-1] > 0:\n                hist = jnp.zeros(history_shape, dtype=obs.dtype)\n            else:\n                hist = jnp.full(history_shape, -1, dtype=obs.dtype)\n            start_idx = (0, history_len - 1) + (0,) * (hist.ndim - 2)\n            return lax.dynamic_update_slice(hist, obs[:, :1, ...], start_idx)\n\n        observation_hist = jtu.tree_map(_init_observation_history, observation)\n        action_hist = -jnp.ones(\n            (batch_size, action_history_len, agent.policies.policy_arr.shape[-1]),\n            dtype=jnp.int32,\n        )\n        valid_steps = jnp.array(1, dtype=jnp.int32)\n        empirical_prior = agent.D if is_sequence_method else None\n\n        info_steps = []\n        for _ in range(num_steps + 1):\n            keys = jr.split(rng_key, batch_size + 2)\n            rng_key = keys[0]\n\n            k = int(valid_steps)\n            obs_k = jtu.tree_map(lambda x: x[:, history_len - k :, ...], observation_hist)\n            qs_prev_k = jtu.tree_map(lambda x: x[:, history_len - k :, ...], qs)\n            actions_k = action_hist[:, history_len - k : history_len - 1, :]\n\n            if is_sequence_method:\n                past_actions_k = actions_k if k > 1 else None\n                updated_agent, action_next, qs_k, xtra = infer_and_plan(\n                    agent,\n                    qs_prev_k,\n                    obs_k,\n                    action,\n                    keys[1],\n                    policy_search=default_policy_search,\n                    past_actions=past_actions_k,\n                    empirical_prior=empirical_prior,\n                    learning_observations=obs_k,\n                    learning_actions=past_actions_k,\n                )\n                qs = jtu.tree_map(\n                    lambda prev, new: prev.at[:, history_len - k :, ...].set(new),\n                    qs,\n                    qs_k,\n                )\n                qs_latest = jtu.tree_map(lambda x: x[:, -1, ...], qs_k)\n                if (k == history_len) and (history_len > 1):\n                    qs_window_start = jtu.tree_map(lambda x: x[:, 0, ...], qs_k)\n                    action_window_start = actions_k[:, 0, :]\n                    propagate = lambda beliefs, B, act: control.compute_expected_state(\n                        beliefs,\n                        B,\n                        act,\n                        B_dependencies=updated_agent.B_dependencies,\n                    )\n                    empirical_prior = vmap(propagate)(\n                        qs_window_start,\n                        updated_agent.B,\n                        action_window_start,\n                    )\n            else:\n                updated_agent, action_next, qs_k, xtra = infer_and_plan(\n                    agent,\n                    qs_prev_k,\n                    observation,\n                    action,\n                    keys[1],\n                    policy_search=default_policy_search,\n                    learning_observations=obs_k,\n                    learning_actions=actions_k,\n                    learning_beliefs=qs_prev_k,\n                )\n                qs_latest = jtu.tree_map(lambda x: x[:, -1, ...], qs_k)\n                qs = jtu.tree_map(_append_to_window, qs, qs_k)\n\n            observation_next, env_state_next = vmap(env.step)(\n                keys[2:], env_state, action_next, env_params=env_params\n            )\n            observation_hist = jtu.tree_map(_append_to_window, observation_hist, observation_next)\n            action_hist = _append_to_window(action_hist, action_next)\n            valid_steps = jnp.minimum(valid_steps + 1, history_len)\n\n            if updated_agent.learn_A:\n                xtra[\"A\"] = updated_agent.A\n                xtra[\"pA\"] = updated_agent.pA\n            if updated_agent.learn_B:\n                xtra[\"B\"] = updated_agent.B\n                xtra[\"pB\"] = updated_agent.pB\n\n            info_t = {\n                \"qs\": qs_latest,\n                \"env_state\": env_state,\n                \"observation\": observation,\n                \"action\": action_next,\n            }\n            info_t.update(xtra)\n            info_steps.append(info_t)\n\n            agent = updated_agent\n            action = action_next\n            observation = observation_next\n            env_state = env_state_next\n\n        info = jtu.tree_map(lambda *xs: jnp.stack(xs, axis=1), *info_steps)\n        last = {\n            \"action\": action,\n            \"observation\": observation,\n            \"observation_hist\": observation_hist,\n            \"action_hist\": action_hist,\n            \"valid_steps\": valid_steps,\n            \"qs\": qs,\n            \"env_state\": env_state,\n            \"agent\": agent,\n            \"rng_key\": rng_key,\n        }\n        if is_sequence_method:\n            last[\"empirical_prior\"] = empirical_prior\n        return last, info\n\n    def test_rollout_collects_time_series(self):\n        agent, env, env_params, _ = self.build_agent_env()\n        key = jr.PRNGKey(0)\n        num_steps = 3\n\n        last, info = rollout(agent, env, num_steps, key, env_params=env_params)\n\n        self.assertIn(\"observation\", info)\n        self.assertIn(\"action\", info)\n        self.assertIn(\"qs\", info)\n\n        action = np.asarray(info[\"action\"])\n        self.assertEqual(action.shape[0], agent.batch_size)\n        self.assertEqual(action.shape[1], num_steps + 1)\n\n        obs_series = np.asarray(info[\"observation\"][0])\n        self.assertEqual(obs_series.shape[0], agent.batch_size)\n        self.assertEqual(obs_series.shape[1], num_steps + 1)\n\n        qs_series = np.asarray(info[\"qs\"][0])\n        self.assertEqual(qs_series.shape[0], agent.batch_size)\n        self.assertEqual(qs_series.shape[1], num_steps + 1)\n\n        self.assertEqual(last[\"action\"].shape[0], agent.batch_size)\n\n    def test_rollout_env_state_matches_manual_steps(self):\n        num_obs = [2]\n        num_states = [2]\n        num_controls = [2]\n        A_dependencies = [[0]]\n        B_dependencies = [[0]]\n        batch_size = 2\n\n        A = [jnp.eye(num_obs[0], dtype=jnp.float32)]\n        b = jnp.zeros((num_states[0], num_states[0], num_controls[0]), dtype=jnp.float32)\n        b = b.at[:, :, 0].set(jnp.eye(num_states[0], dtype=jnp.float32))\n        b = b.at[:, :, 1].set(jnp.array([[0.0, 1.0], [1.0, 0.0]], dtype=jnp.float32))\n        B = [b]\n        D = [jnp.array([1.0, 0.0], dtype=jnp.float32)]\n\n        def _broadcast(arr_list):\n            return [\n                jnp.broadcast_to(jnp.array(arr), (batch_size,) + arr.shape)\n                for arr in arr_list\n            ]\n\n        A_batched = _broadcast(A)\n        B_batched = _broadcast(B)\n        D_batched = _broadcast(D)\n\n        agent = Agent(\n            A_batched,\n            B_batched,\n            A_dependencies=A_dependencies,\n            B_dependencies=B_dependencies,\n            num_controls=num_controls,\n            batch_size=batch_size,\n            D=D_batched,\n        )\n\n        env_params = {\"A\": A_batched, \"B\": B_batched, \"D\": D_batched}\n        env = PymdpEnv(A_dependencies=A_dependencies, B_dependencies=B_dependencies)\n\n        num_steps = 3\n        key = jr.PRNGKey(9)\n\n        last, info = rollout(agent, env, num_steps, key, env_params=env_params)\n\n        env_state_series = info[\"env_state\"][0]\n        action_series = info[\"action\"]\n\n        current_state = [env_state_series[:, 0]]\n        step_fn = lambda k, st, act, params: env.step(k, st, act, env_params=params)\n\n        key = jr.PRNGKey(10)\n        for t in range(num_steps + 1):\n            key, step_key = jr.split(key)\n            step_keys = jr.split(step_key, batch_size)\n            _, next_state = vmap(step_fn, in_axes=(0, 0, 0, 0))(\n                step_keys, current_state, action_series[:, t, :], env_params\n            )\n\n            if t < num_steps:\n                np.testing.assert_array_equal(\n                    np.asarray(next_state[0]), np.asarray(env_state_series[:, t + 1])\n                )\n            else:\n                np.testing.assert_array_equal(\n                    np.asarray(next_state[0]), np.asarray(last[\"env_state\"][0])\n                )\n\n            current_state = next_state\n\n    def test_online_learning_updates_A_during_scan(self):\n        agent, env, env_params, initial = self.build_agent_env(learn_A=True, learning_mode=\"online\")\n        key = jr.PRNGKey(1)\n        num_steps = 3\n\n        last, info = rollout(agent, env, num_steps, key, env_params=env_params)\n\n        pA_series = np.asarray(info[\"pA\"][0])\n        self.assertEqual(pA_series.shape[0], agent.batch_size)\n        self.assertEqual(pA_series.shape[1], num_steps + 1)\n        self.assertFalse(\n            np.allclose(pA_series[:, 0, ...], pA_series[:, -1, ...])\n        )\n\n        final_pA = np.asarray(last[\"agent\"].pA[0])\n        self.assertFalse(np.allclose(final_pA, initial[\"pA\"][0]))\n\n    def test_offline_learning_defers_A_update(self):\n        agent, env, env_params, initial = self.build_agent_env(learn_A=True, learning_mode=\"offline\")\n        key = jr.PRNGKey(2)\n        num_steps = 3\n\n        last, info = rollout(agent, env, num_steps, key, env_params=env_params)\n        pA_series = np.asarray(info[\"pA\"][0])\n        self.assertEqual(pA_series.shape[0], agent.batch_size)\n        self.assertEqual(pA_series.shape[1], num_steps + 1)\n        self.assertTrue(\n            np.allclose(pA_series[:, 0, ...], pA_series[:, -1, ...])\n        )\n\n        final_pA = np.asarray(last[\"agent\"].pA[0])\n        self.assertFalse(np.allclose(final_pA, initial[\"pA\"][0]))\n\n    def test_online_learning_updates_B(self):\n        agent, env, env_params, initial = self.build_agent_env(\n            learn_B=True, learning_mode=\"online\", policy_len=2\n        )\n        key = jr.PRNGKey(3)\n        num_steps = 4\n\n        last, info = rollout(agent, env, num_steps, key, env_params=env_params)\n\n        pB_series = np.asarray(info[\"pB\"][0])\n        self.assertEqual(pB_series.shape[0], agent.batch_size)\n        self.assertEqual(pB_series.shape[1], num_steps + 1)\n        self.assertFalse(\n            np.allclose(pB_series[:, 0, ...], pB_series[:, -1, ...])\n        )\n\n        final_pB = np.asarray(last[\"agent\"].pB[0])\n        self.assertFalse(np.allclose(final_pB, initial[\"pB\"][0]))\n\n    def test_online_learning_updates_B_for_sequence_inference(self):\n        num_steps = 4\n        for algo, seed in ((\"mmp\", 31), (\"vmp\", 32)):\n            with self.subTest(inference_algo=algo):\n                agent, env, env_params, initial = self.build_agent_env(\n                    learn_B=True,\n                    learning_mode=\"online\",\n                    inference_algo=algo,\n                    inference_horizon=3,\n                    policy_len=2,\n                    seed=seed,\n                )\n                key = jr.PRNGKey(seed)\n\n                last, info = rollout(agent, env, num_steps, key, env_params=env_params)\n\n                self.assertIn(\"pB\", info)\n                pB_series = np.asarray(info[\"pB\"][0])\n                self.assertEqual(pB_series.shape[0], agent.batch_size)\n                self.assertEqual(pB_series.shape[1], num_steps + 1)\n                self.assertFalse(\n                    np.allclose(pB_series[:, 0, ...], pB_series[:, -1, ...])\n                )\n\n                final_pB = np.asarray(last[\"agent\"].pB[0])\n                self.assertFalse(np.allclose(final_pB, initial[\"pB\"][0]))\n\n    def test_online_learning_updates_for_smoothing_inference_with_horizon(self):\n        num_steps = 5\n        for algo, seed in ((\"ovf\", 33), (\"exact\", 34)):\n            with self.subTest(inference_algo=algo, learn=\"B\"):\n                agent, env, env_params, initial = self.build_agent_env(\n                    learn_B=True,\n                    learning_mode=\"online\",\n                    inference_algo=algo,\n                    inference_horizon=3,\n                    policy_len=2,\n                    seed=seed,\n                )\n                key = jr.PRNGKey(seed)\n\n                last, info = rollout(agent, env, num_steps, key, env_params=env_params)\n\n                self.assertIn(\"pB\", info)\n                pB_series = np.asarray(info[\"pB\"][0])\n                self.assertEqual(pB_series.shape[0], agent.batch_size)\n                self.assertEqual(pB_series.shape[1], num_steps + 1)\n                self.assertFalse(\n                    np.allclose(pB_series[:, 0, ...], pB_series[:, -1, ...])\n                )\n\n                final_pB = np.asarray(last[\"agent\"].pB[0])\n                self.assertFalse(np.allclose(final_pB, initial[\"pB\"][0]))\n\n            with self.subTest(inference_algo=algo, learn=\"A\"):\n                agent, env, env_params, initial = self.build_agent_env(\n                    learn_A=True,\n                    learning_mode=\"online\",\n                    inference_algo=algo,\n                    inference_horizon=3,\n                    policy_len=2,\n                    seed=seed + 100,\n                )\n                key = jr.PRNGKey(seed + 100)\n\n                last, info = rollout(agent, env, num_steps, key, env_params=env_params)\n\n                self.assertIn(\"pA\", info)\n                pA_series = np.asarray(info[\"pA\"][0])\n                self.assertEqual(pA_series.shape[0], agent.batch_size)\n                self.assertEqual(pA_series.shape[1], num_steps + 1)\n                self.assertFalse(\n                    np.allclose(pA_series[:, 0, ...], pA_series[:, -1, ...])\n                )\n\n                final_pA = np.asarray(last[\"agent\"].pA[0])\n                self.assertFalse(np.allclose(final_pA, initial[\"pA\"][0]))\n\n    def test_online_learning_updates_A_only_for_sequence_inference(self):\n        num_steps = 5\n        for algo, seed in ((\"mmp\", 111), (\"vmp\", 112)):\n            with self.subTest(inference_algo=algo):\n                agent, env, env_params, initial = self.build_agent_env(\n                    learn_A=True,\n                    learn_B=False,\n                    learning_mode=\"online\",\n                    inference_algo=algo,\n                    inference_horizon=4,\n                    policy_len=2,\n                    seed=seed,\n                )\n                key = jr.PRNGKey(seed)\n\n                last, info = rollout(agent, env, num_steps, key, env_params=env_params)\n\n                self.assertIn(\"pA\", info)\n                self.assertNotIn(\"pB\", info)\n                pA_series = np.asarray(info[\"pA\"][0])\n                self.assertEqual(pA_series.shape[0], agent.batch_size)\n                self.assertEqual(pA_series.shape[1], num_steps + 1)\n                self.assertFalse(\n                    np.allclose(pA_series[:, 0, ...], pA_series[:, -1, ...])\n                )\n\n                final_pA = np.asarray(last[\"agent\"].pA[0])\n                self.assertFalse(np.allclose(final_pA, initial[\"pA\"][0]))\n\n    def test_sequence_rollout_updates_empirical_prior_with_finite_horizon(self):\n        num_steps = 4\n        for algo, seed in ((\"mmp\", 41), (\"vmp\", 42)):\n            with self.subTest(inference_algo=algo):\n                agent, env, env_params, _ = self.build_agent_env(\n                    inference_algo=algo,\n                    inference_horizon=3,\n                    policy_len=2,\n                    seed=seed,\n                )\n                key = jr.PRNGKey(seed)\n\n                _, info = rollout(agent, env, num_steps, key, env_params=env_params)\n\n                prior_series = np.asarray(info[\"empirical_prior\"][0])\n                self.assertEqual(prior_series.shape[0], agent.batch_size)\n                self.assertEqual(prior_series.shape[1], num_steps + 1)\n                self.assertFalse(\n                    np.allclose(prior_series[:, 0, ...], prior_series[:, -1, ...])\n                )\n\n    def test_sequence_rollout_keeps_empirical_prior_fixed_during_warmup(self):\n        horizon = 3\n        num_steps = 5\n        for algo, seed in ((\"mmp\", 51), (\"vmp\", 52)):\n            with self.subTest(inference_algo=algo):\n                agent, env, env_params, _ = self.build_agent_env(\n                    inference_algo=algo,\n                    inference_horizon=horizon,\n                    policy_len=2,\n                    seed=seed,\n                )\n                key = jr.PRNGKey(seed)\n\n                _, info = rollout(agent, env, num_steps, key, env_params=env_params)\n                prior_series = np.asarray(info[\"empirical_prior\"][0])[0]  # (T, Ns)\n                initial_prior = np.asarray(agent.D[0])[0]\n\n                self.assertTrue(\n                    np.allclose(\n                        prior_series[:horizon],\n                        np.broadcast_to(initial_prior, (horizon, initial_prior.shape[-1])),\n                    )\n                )\n\n    def test_rollout_caps_history_without_inference_horizon(self):\n        num_steps = MAX_WINDOWED_HISTORY_WITHOUT_HORIZON + 2\n        agent, env, env_params, _ = self.build_agent_env(\n            inference_algo=\"mmp\",\n            inference_horizon=None,\n            policy_len=2,\n            seed=61,\n        )\n        key = jr.PRNGKey(61)\n\n        with warnings.catch_warnings(record=True) as caught:\n            warnings.simplefilter(\"always\")\n            last, _ = rollout(agent, env, num_steps, key, env_params=env_params)\n\n        self.assertTrue(\n            any(\"capping rollout history\" in str(w.message).lower() for w in caught)\n        )\n        self.assertEqual(last[\"qs\"][0].shape[1], MAX_WINDOWED_HISTORY_WITHOUT_HORIZON)\n\n    def test_rollout_supports_multiple_inference_algorithms(self):\n        for algo, seed in ((\"mmp\", 3), (\"vmp\", 4), (\"ovf\", 5), (\"exact\", 6)):\n            agent, env, env_params, _ = self.build_agent_env(\n                inference_algo=algo,\n                inference_horizon=2 if algo in (\"mmp\", \"vmp\") else None,\n                policy_len=2,\n                seed=seed,\n            )\n            key = jr.PRNGKey(seed)\n            num_steps = 2\n\n            _, info = rollout(agent, env, num_steps, key, env_params=env_params)\n\n            actions = np.asarray(info[\"action\"])\n            self.assertEqual(actions.shape[0], agent.batch_size)\n            self.assertEqual(actions.shape[1], num_steps + 1)\n\n            self.assertIn(\"neg_efe\", info)\n            self.assertNotIn(\"G\", info)\n            neg_efe = np.asarray(info[\"neg_efe\"])\n            self.assertEqual(neg_efe.shape[0], agent.batch_size)\n            self.assertEqual(neg_efe.shape[1], num_steps + 1)\n\n    def test_rollout_categorical_obs_matches_discrete_semantics(self):\n        num_steps = 3\n        seed = 701\n\n        discrete_agent, env, env_params, _ = self.build_agent_env(\n            policy_len=2,\n            seed=seed,\n            categorical_obs=False,\n            env_categorical_obs=False,\n        )\n        categorical_agent, _, _, _ = self.build_agent_env(\n            policy_len=2,\n            seed=seed,\n            categorical_obs=True,\n            env_categorical_obs=True,\n        )\n        key = jr.PRNGKey(seed)\n\n        _, discrete_info = rollout(discrete_agent, env, num_steps, key, env_params=env_params)\n        categorical_env = PymdpEnv(\n            A_dependencies=self.A_dependencies,\n            B_dependencies=self.B_dependencies,\n            categorical_obs=True,\n        )\n        _, categorical_info = rollout(\n            categorical_agent,\n            categorical_env,\n            num_steps,\n            key,\n            env_params=env_params,\n        )\n\n        np.testing.assert_array_equal(\n            np.asarray(categorical_info[\"action\"]),\n            np.asarray(discrete_info[\"action\"]),\n        )\n        np.testing.assert_allclose(\n            np.asarray(categorical_info[\"qpi\"]),\n            np.asarray(discrete_info[\"qpi\"]),\n            atol=1e-5,\n        )\n        np.testing.assert_allclose(\n            np.asarray(categorical_info[\"neg_efe\"]),\n            np.asarray(discrete_info[\"neg_efe\"]),\n            atol=1e-5,\n        )\n        for qs_cat, qs_disc in zip(categorical_info[\"qs\"], discrete_info[\"qs\"]):\n            np.testing.assert_allclose(np.asarray(qs_cat), np.asarray(qs_disc), atol=1e-5)\n\n    def test_tmaze_rollout_supports_categorical_observations(self):\n        batch_size = 2\n        num_steps = 3\n        env = TMaze(categorical_obs=True)\n        env_params = env.generate_env_params(batch_size=batch_size)\n\n        agent = Agent(\n            env_params[\"A\"],\n            env_params[\"B\"],\n            D=env_params[\"D\"],\n            A_dependencies=env.A_dependencies,\n            B_dependencies=env.B_dependencies,\n            batch_size=batch_size,\n            policy_len=2,\n            categorical_obs=True,\n        )\n\n        _, info = rollout(agent, env, num_steps, jr.PRNGKey(702), env_params=env_params)\n\n        self.assertEqual(info[\"observation\"][0].shape, (batch_size, num_steps + 1, 1, 5))\n        self.assertEqual(info[\"observation\"][1].shape, (batch_size, num_steps + 1, 1, 3))\n        self.assertEqual(info[\"observation\"][2].shape, (batch_size, num_steps + 1, 1, 3))\n        for obs_m in info[\"observation\"]:\n            self.assertTrue(jnp.allclose(obs_m.sum(axis=-1), 1.0, atol=1e-5))\n\n        for qs_f, ns in zip(info[\"qs\"], (5, 2)):\n            self.assertEqual(qs_f.shape, (batch_size, num_steps + 1, ns))\n            self.assertTrue(jnp.all(jnp.isfinite(qs_f)))\n            self.assertTrue(jnp.allclose(qs_f.sum(axis=-1), 1.0, atol=1e-5))\n\n    def test_sequence_rollout_supports_interacting_transition_dependencies(self):\n        num_obs = [2, 2]\n        num_states = [2, 2, 2]\n        num_controls = [1, 1, 1]\n        A_dependencies = [[0, 1], [1, 2]]\n        B_dependencies = [[0], [0, 1], [1, 2]]\n        batch_size = 1\n        # `rollout()` scans for `num_steps + 1` iterations, so one environment\n        # step is sufficient to exercise the second inference pass where\n        # `past_actions` is non-None and interacting `B_dependencies` matter.\n        num_steps = 1\n\n        a_key, b_key, d_key = jr.split(jr.PRNGKey(606), 3)\n        A = utils.random_A_array(a_key, num_obs, num_states, A_dependencies=A_dependencies)\n        B = utils.random_B_array(b_key, num_states, num_controls, B_dependencies=B_dependencies)\n        D = utils.random_factorized_categorical(d_key, num_states)\n\n        def _broadcast(arr_list):\n            return [\n                jnp.broadcast_to(jnp.array(arr), (batch_size,) + arr.shape)\n                for arr in arr_list\n            ]\n\n        A_batched = _broadcast(A)\n        B_batched = _broadcast(B)\n        D_batched = _broadcast(D)\n\n        env = PymdpEnv(A_dependencies=A_dependencies, B_dependencies=B_dependencies)\n        env_params = {\"A\": A_batched, \"B\": B_batched, \"D\": D_batched}\n\n        agent = Agent(\n            A_batched,\n            B_batched,\n            D=D_batched,\n            A_dependencies=A_dependencies,\n            B_dependencies=B_dependencies,\n            num_controls=num_controls,\n            batch_size=batch_size,\n            inference_algo=\"vmp\",\n            inference_horizon=3,\n            policy_len=1,\n        )\n\n        _, info = rollout(\n            agent,\n            env,\n            num_steps,\n            jr.PRNGKey(608),\n            env_params=env_params,\n        )\n\n        for qs_f, ns in zip(info[\"qs\"], num_states):\n            self.assertEqual(qs_f.shape, (batch_size, num_steps + 1, ns))\n            self.assertTrue(jnp.all(jnp.isfinite(qs_f)))\n            self.assertTrue(jnp.allclose(qs_f.sum(axis=-1), 1.0, atol=1e-5))\n\n    def test_rollout_modes_for_ovf_and_exact(self):\n        modes = (\n            {\n                \"name\": \"planning_only\",\n                \"learn_A\": False,\n                \"learn_B\": False,\n                \"learning_mode\": \"online\",\n            },\n            {\n                \"name\": \"online_learning\",\n                \"learn_A\": False,\n                \"learn_B\": True,\n                \"learning_mode\": \"online\",\n            },\n            {\n                \"name\": \"offline_learning\",\n                \"learn_A\": False,\n                \"learn_B\": True,\n                \"learning_mode\": \"offline\",\n            },\n        )\n\n        num_steps = 4\n        for algo, seed_base in ((\"ovf\", 40), (\"exact\", 80)):\n            for mode_idx, mode in enumerate(modes):\n                with self.subTest(algo=algo, mode=mode[\"name\"]):\n                    agent, env, env_params, initial = self.build_agent_env(\n                        learn_A=mode[\"learn_A\"],\n                        learn_B=mode[\"learn_B\"],\n                        learning_mode=mode[\"learning_mode\"],\n                        inference_algo=algo,\n                        policy_len=2,\n                        seed=seed_base + mode_idx,\n                    )\n                    key = jr.PRNGKey(seed_base + 100 + mode_idx)\n                    last, info = rollout(agent, env, num_steps, key, env_params=env_params)\n\n                    if mode[\"name\"] == \"planning_only\":\n                        self.assertNotIn(\"pA\", info)\n                        self.assertNotIn(\"pB\", info)\n                        continue\n\n                    self.assertNotIn(\"pA\", info)\n                    self.assertIn(\"pB\", info)\n                    pB_series = np.asarray(info[\"pB\"][0])\n\n                    if mode[\"name\"] == \"online_learning\":\n                        self.assertFalse(\n                            np.allclose(pB_series[:, 0, ...], pB_series[:, -1, ...])\n                        )\n                    else:\n                        self.assertTrue(\n                            np.allclose(pB_series[:, 0, ...], pB_series[:, -1, ...])\n                        )\n\n                    final_pB = np.asarray(last[\"agent\"].pB[0])\n                    self.assertFalse(np.allclose(final_pB, initial[\"pB\"][0]))\n\n    def _assert_rollout_matches_manual_reference(self, algo, seed, include_empirical_prior=False):\n        num_steps = 5\n        kwargs = dict(\n            learn_A=True,\n            learn_B=True,\n            learning_mode=\"online\",\n            inference_algo=algo,\n            inference_horizon=4,\n            policy_len=2,\n            seed=seed,\n        )\n        agent, env, env_params, _ = self.build_agent_env(**kwargs)\n        ref_agent, ref_env, ref_env_params, _ = self.build_agent_env(**kwargs)\n        key = jr.PRNGKey(seed + 10_000)\n\n        last, info = rollout(agent, env, num_steps, key, env_params=env_params)\n        ref_last, ref_info = self.manual_windowed_rollout_reference(\n            ref_agent, ref_env, num_steps, key, env_params=ref_env_params\n        )\n\n        np.testing.assert_allclose(np.asarray(info[\"action\"]), np.asarray(ref_info[\"action\"]), atol=1e-5)\n        np.testing.assert_allclose(np.asarray(info[\"qs\"][0]), np.asarray(ref_info[\"qs\"][0]), atol=1e-5)\n        if include_empirical_prior:\n            np.testing.assert_allclose(\n                np.asarray(info[\"empirical_prior\"][0]),\n                np.asarray(ref_info[\"empirical_prior\"][0]),\n                atol=1e-5,\n            )\n        np.testing.assert_allclose(np.asarray(info[\"pA\"][0]), np.asarray(ref_info[\"pA\"][0]), atol=1e-5)\n        np.testing.assert_allclose(np.asarray(info[\"pB\"][0]), np.asarray(ref_info[\"pB\"][0]), atol=1e-5)\n        np.testing.assert_allclose(np.asarray(last[\"agent\"].pA[0]), np.asarray(ref_last[\"agent\"].pA[0]), atol=1e-5)\n        np.testing.assert_allclose(np.asarray(last[\"agent\"].pB[0]), np.asarray(ref_last[\"agent\"].pB[0]), atol=1e-5)\n\n    def test_sequence_rollout_matches_manual_window_branch_reference(self):\n        for algo, seed in ((\"mmp\", 501), (\"vmp\", 502)):\n            with self.subTest(inference_algo=algo):\n                self._assert_rollout_matches_manual_reference(algo, seed, include_empirical_prior=True)\n\n    def test_smoothing_rollout_matches_manual_window_branch_reference(self):\n        for algo, seed in ((\"ovf\", 601), (\"exact\", 602)):\n            with self.subTest(inference_algo=algo):\n                self._assert_rollout_matches_manual_reference(algo, seed)\n\n\n    def test_rollout_with_custom_policy_search_and_initial_carry(self):\n        agent, env, env_params, _ = self.build_agent_env(learn_A=True, policy_len=2)\n        init_key = jr.PRNGKey(6)\n        keys = jr.split(init_key, agent.batch_size + 1)\n        init_obs, initial_state = vmap(env.reset)(keys[1:], env_params=env_params)\n        qs0 = jtu.tree_map(lambda x: jnp.expand_dims(x, -2), agent.D)\n\n        initial_carry = {\n            \"qs\": qs0,\n            \"action\": -jnp.ones(\n                (agent.batch_size, agent.policies.policy_arr.shape[-1]), dtype=jnp.int32\n            ),\n            \"observation\": init_obs,\n            \"env_state\": initial_state,\n            \"agent\": agent,\n            \"rng_key\": keys[0],\n        }\n\n        def custom_policy_search(agent_obj, beliefs, rng):\n            qpi, extras = default_policy_search(agent_obj, beliefs, rng)\n            extras[\"custom_flag\"] = jnp.ones((agent_obj.batch_size,), dtype=jnp.float32)\n            return qpi, extras\n\n        num_steps = 2\n        _, info = rollout(\n            agent,\n            env,\n            num_steps,\n            keys[0],\n            initial_carry=initial_carry,\n            policy_search=custom_policy_search,\n            env_params=env_params,\n        )\n\n        obs_series = np.asarray(info[\"observation\"][0])\n        np.testing.assert_array_equal(\n            np.squeeze(obs_series[0, 0]),\n            np.squeeze(np.asarray(init_obs[0])),\n        )\n\n        custom_flag = np.asarray(info[\"custom_flag\"])\n        self.assertEqual(custom_flag.shape[:2], (agent.batch_size, num_steps + 1))\n        self.assertTrue(np.allclose(custom_flag, 1.0))\n\n    def test_offline_B_learning_matches_outer_products(self):\n        num_obs = [2]\n        num_states = [2]\n        num_controls = [1]\n        A_dependencies = [[0]]\n        B_dependencies = [[0]]\n\n        identity_A = [np.eye(num_obs[0], dtype=np.float32)]\n        toggle_B = [np.zeros((num_states[0], num_states[0], num_controls[0]), dtype=np.float32)]\n        toggle_B[0][:, :, 0] = np.array([[0.0, 1.0], [1.0, 0.0]], dtype=np.float32)\n        initial_state = [np.array([1.0, 0.0], dtype=np.float32)]\n        prior_pB = [np.ones_like(toggle_B[0])]\n\n        def _broadcast(arr_list):\n            return [\n                jnp.broadcast_to(jnp.array(arr), (self.batch_size,) + arr.shape)\n                for arr in arr_list\n            ]\n\n        A_batched = _broadcast(identity_A)\n        B_batched = _broadcast(toggle_B)\n        D_batched = _broadcast(initial_state)\n        pB_batched = _broadcast(prior_pB)\n\n        agent = Agent(\n            A_batched,\n            B_batched,\n            A_dependencies=A_dependencies,\n            B_dependencies=B_dependencies,\n            num_controls=num_controls,\n            batch_size=self.batch_size,\n            learn_B=True,\n            learning_mode=\"offline\",\n            pB=pB_batched,\n        )\n\n        env_params = {\"A\": A_batched, \"B\": B_batched, \"D\": D_batched}\n        env = PymdpEnv(A_dependencies=A_dependencies, B_dependencies=B_dependencies)\n\n        num_steps = 4\n        rng_key = jr.PRNGKey(8)\n\n        last, info = rollout(agent, env, num_steps, rng_key, env_params=env_params)\n\n        qs = info[\"qs\"][0]\n        self.assertEqual(qs.shape[0], self.batch_size)\n        self.assertEqual(qs.shape[1], num_steps + 1)\n\n        counts = jnp.einsum(\"bti,btj->ij\", qs[:, 1:, :], qs[:, :-1, :])\n        expected_pB = prior_pB[0] + counts[..., None]\n        expected_B = expected_pB / expected_pB.sum(axis=0, keepdims=True)\n\n        learned_pB = last[\"agent\"].pB[0][0]\n        learned_B = last[\"agent\"].B[0][0]\n\n        self.assertTrue(jnp.allclose(learned_pB, expected_pB, atol=1e-5))\n        self.assertTrue(jnp.allclose(learned_B, expected_B, atol=1e-5))\n\n\nif __name__ == \"__main__\":\n    unittest.main()\n"
  },
  {
    "path": "test/test_sophisticated_inference_jax.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\"Unit tests for sophisticated inference planning (JAX).\"\"\"\n\nimport unittest\n\nimport jax.numpy as jnp\nimport jax.random as jr\nimport jax.tree_util as jtu\n\nfrom pymdp import control, utils\nfrom pymdp.agent import Agent\nfrom pymdp.planning.si import si_policy_search\n\n\ndef _build_single_cue_model():\n    num_locations = 4  # 0: start, 1: left, 2: right, 3: cue\n    num_reward_states = 2  # 0: reward on left, 1: reward on right\n\n    cue_obs = jnp.zeros((5, num_locations, num_reward_states), dtype=jnp.float32)\n    reward_obs = jnp.zeros((3, num_locations, num_reward_states), dtype=jnp.float32)\n\n    for loc in range(num_locations):\n        for reward_state in range(num_reward_states):\n            if loc == 0:\n                cue_obs = cue_obs.at[0, loc, reward_state].set(1.0)\n                reward_obs = reward_obs.at[0, loc, reward_state].set(1.0)\n            elif loc == 3:\n                cue_idx = 3 if reward_state == 0 else 4\n                cue_obs = cue_obs.at[cue_idx, loc, reward_state].set(1.0)\n                reward_obs = reward_obs.at[0, loc, reward_state].set(1.0)\n            elif loc == 1:\n                cue_obs = cue_obs.at[1, loc, reward_state].set(1.0)\n                observation_idx = 1 if reward_state == 0 else 2\n                reward_obs = reward_obs.at[observation_idx, loc, reward_state].set(1.0)\n            elif loc == 2:\n                cue_obs = cue_obs.at[2, loc, reward_state].set(1.0)\n                observation_idx = 1 if reward_state == 1 else 2\n                reward_obs = reward_obs.at[observation_idx, loc, reward_state].set(1.0)\n\n    A = [cue_obs, reward_obs]\n    A_dependencies = [[0, 1], [0, 1]]\n\n    B_loc = utils.create_controllable_B(num_locations, num_locations)[0]\n    B_reward = jnp.eye(num_reward_states, dtype=jnp.float32).reshape(\n        num_reward_states, num_reward_states, 1\n    )\n    B = [B_loc, B_reward]\n    B_dependencies = [[0], [1]]\n\n    D = [\n        jnp.array([1.0, 0.0, 0.0, 0.0], dtype=jnp.float32),\n        jnp.array([0.5, 0.5], dtype=jnp.float32),\n    ]\n\n    return A, B, A_dependencies, B_dependencies, D\n\n\ndef _build_dual_cue_model():\n    num_locations = 5  # 0: start, 1: cue A, 2: cue B, 3: reward L, 4: reward R\n    num_reward_states = 2\n    num_distractor_states = 2\n\n    loc_obs = jnp.eye(num_locations, dtype=jnp.float32)\n    cue_a_obs = jnp.zeros((3, num_locations, num_reward_states), dtype=jnp.float32)\n    cue_b_obs = jnp.zeros((3, num_locations, num_distractor_states), dtype=jnp.float32)\n    reward_obs = jnp.zeros((3, num_locations, num_reward_states), dtype=jnp.float32)\n\n    for loc in range(num_locations):\n        for reward_state in range(num_reward_states):\n            if loc == 1:\n                cue_idx = 1 if reward_state == 0 else 2\n                cue_a_obs = cue_a_obs.at[cue_idx, loc, reward_state].set(1.0)\n            else:\n                cue_a_obs = cue_a_obs.at[0, loc, reward_state].set(1.0)\n\n            if loc == 3:\n                observation_idx = 1 if reward_state == 0 else 2\n                reward_obs = reward_obs.at[observation_idx, loc, reward_state].set(1.0)\n            elif loc == 4:\n                observation_idx = 1 if reward_state == 1 else 2\n                reward_obs = reward_obs.at[observation_idx, loc, reward_state].set(1.0)\n            else:\n                reward_obs = reward_obs.at[0, loc, reward_state].set(1.0)\n\n        for distractor_state in range(num_distractor_states):\n            if loc == 2:\n                cue_idx = 1 if distractor_state == 0 else 2\n                cue_b_obs = cue_b_obs.at[cue_idx, loc, distractor_state].set(1.0)\n            else:\n                cue_b_obs = cue_b_obs.at[0, loc, distractor_state].set(1.0)\n\n    A = [loc_obs, cue_a_obs, cue_b_obs, reward_obs]\n    A_dependencies = [[0], [0, 1], [0, 2], [0, 1]]\n\n    B_loc = utils.create_controllable_B(num_locations, num_locations)[0]\n    B_reward = jnp.eye(num_reward_states, dtype=jnp.float32).reshape(\n        num_reward_states, num_reward_states, 1\n    )\n    B_distractor = jnp.eye(num_distractor_states, dtype=jnp.float32).reshape(\n        num_distractor_states, num_distractor_states, 1\n    )\n    B = [B_loc, B_reward, B_distractor]\n    B_dependencies = [[0], [1], [2]]\n\n    D = [\n        jnp.array([1.0, 0.0, 0.0, 0.0, 0.0], dtype=jnp.float32),\n        jnp.array([0.5, 0.5], dtype=jnp.float32),\n        jnp.array([0.5, 0.5], dtype=jnp.float32),\n    ]\n\n    return A, B, A_dependencies, B_dependencies, D\n\n\nclass TestSophisticatedInferenceJax(unittest.TestCase):\n    def _run_si_search(self, agent, horizon):\n        qs = jtu.tree_map(lambda x: jnp.expand_dims(x, -2), agent.D)\n        search_fn = si_policy_search(\n            horizon=horizon,\n            max_nodes=512,\n            max_branching=32,\n            policy_prune_threshold=0.0,\n            observation_prune_threshold=0.0,\n            entropy_stop_threshold=-1.0,\n            gamma=4.0,\n            topk_obsspace=2,\n        )\n        q_pi, _ = search_fn(agent, qs=qs, rng_key=jr.PRNGKey(0))\n        return q_pi, qs\n\n    def _run_vanilla_search(self, agent):\n        qs = jtu.tree_map(lambda x: jnp.expand_dims(x, -2), agent.D)\n        q_pi, _ = agent.infer_policies(qs)\n        return q_pi\n\n    def test_si_accepts_costly_informative_cue(self):\n        A, B, A_dependencies, B_dependencies, D = _build_single_cue_model()\n        cue_cost = -2.0\n        reward_value = 6.0\n        punishment_value = -12.0\n\n        C = [\n            jnp.array([0.0, 0.0, 0.0, cue_cost, cue_cost], dtype=jnp.float32),\n            jnp.array([0.0, reward_value, punishment_value], dtype=jnp.float32),\n        ]\n\n        agent = Agent(\n            A,\n            B,\n            C=C,\n            D=D,\n            A_dependencies=A_dependencies,\n            B_dependencies=B_dependencies,\n            num_controls=[4, 1],\n            policy_len=1,\n        )\n\n        q_pi, qs = self._run_si_search(agent, horizon=2)\n        action_marginals = control.get_marginals(q_pi[0], agent.policies, agent.num_controls)\n\n        cue_action = int(jnp.argmax(action_marginals[0]))\n        self.assertEqual(cue_action, 3)\n\n        cue_prob = float(action_marginals[0][3])\n        left_prob = float(action_marginals[0][1])\n        right_prob = float(action_marginals[0][2])\n        self.assertGreater(cue_prob, left_prob)\n        self.assertGreater(cue_prob, right_prob)\n\n        qs_current = D\n        cue_policy = [3, 0]\n        qs_next = control.compute_expected_state(qs_current, B, cue_policy, B_dependencies)\n        qo = control.compute_expected_obs(qs_next, A, A_dependencies)\n        immediate_u = control.compute_expected_utility(qo, C)\n        self.assertLess(float(immediate_u), 0.0)\n\n        vanilla_agent = Agent(\n            A,\n            B,\n            C=C,\n            D=D,\n            A_dependencies=A_dependencies,\n            B_dependencies=B_dependencies,\n            num_controls=[4, 1],\n            policy_len=2,\n            gamma=4.0,\n            use_utility=True,\n            use_states_info_gain=True,\n        )\n        q_pi_vanilla = self._run_vanilla_search(vanilla_agent)\n        action_marginals_vanilla = control.get_marginals(\n            q_pi_vanilla[0], vanilla_agent.policies, vanilla_agent.num_controls\n        )\n        stay_prob = float(action_marginals_vanilla[0][0])\n        cue_prob = float(action_marginals_vanilla[0][3])\n        self.assertLess(cue_prob, stay_prob)\n        self.assertNotEqual(int(jnp.argmax(action_marginals_vanilla[0])), 3)\n\n    def test_si_ignores_irrelevant_distractor_cue(self):\n        A, B, A_dependencies, B_dependencies, D = _build_dual_cue_model()\n        cue_cost = -2.0\n        reward_value = 6.0\n        punishment_value = -12.0\n\n        C = [\n            jnp.zeros(5, dtype=jnp.float32),\n            jnp.array([0.0, cue_cost, cue_cost], dtype=jnp.float32),\n            jnp.array([0.0, cue_cost, cue_cost], dtype=jnp.float32),\n            jnp.array([0.0, reward_value, punishment_value], dtype=jnp.float32),\n        ]\n\n        agent = Agent(\n            A,\n            B,\n            C=C,\n            D=D,\n            A_dependencies=A_dependencies,\n            B_dependencies=B_dependencies,\n            num_controls=[5, 1, 1],\n            policy_len=1,\n        )\n\n        q_pi, _ = self._run_si_search(agent, horizon=2)\n        action_marginals = control.get_marginals(q_pi[0], agent.policies, agent.num_controls)\n\n        cue_a_prob = float(action_marginals[0][1])\n        cue_b_prob = float(action_marginals[0][2])\n        self.assertGreater(cue_a_prob, cue_b_prob)\n        self.assertEqual(int(jnp.argmax(action_marginals[0])), 1)\n\n        vanilla_agent = Agent(\n            A,\n            B,\n            C=C,\n            D=D,\n            A_dependencies=A_dependencies,\n            B_dependencies=B_dependencies,\n            num_controls=[5, 1, 1],\n            policy_len=2,\n            gamma=4.0,\n            use_utility=True,\n            use_states_info_gain=True,\n        )\n        q_pi_vanilla = self._run_vanilla_search(vanilla_agent)\n        action_marginals_vanilla = control.get_marginals(\n            q_pi_vanilla[0], vanilla_agent.policies, vanilla_agent.num_controls\n        )\n        cue_a_prob = float(action_marginals_vanilla[0][1])\n        cue_b_prob = float(action_marginals_vanilla[0][2])\n        self.assertAlmostEqual(cue_a_prob, cue_b_prob, places=6)\n\n\nif __name__ == \"__main__\":\n    unittest.main()\n"
  },
  {
    "path": "test/test_tmaze_envs.py",
    "content": "import unittest\n\nimport jax.numpy as jnp\n\nfrom pymdp.envs.tmaze import TMaze, SimplifiedTMaze\n\n\nclass TestTMazeVariants(unittest.TestCase):\n    def test_classic_shapes(self):\n        env = TMaze()\n\n        self.assertEqual(len(env.A), 3)\n        self.assertEqual(env.A[0].shape, (5, 5))\n        self.assertEqual(env.A[1].shape, (3, 5, 2))\n        self.assertEqual(env.A[2].shape, (3, 5, 2))\n        self.assertEqual(env.A_dependencies, [[0], [0, 1], [0, 1]])\n\n        self.assertEqual(env.B[0].shape, (5, 5, 5))\n        self.assertEqual(env.B[1].shape, (2, 2, 1))\n\n        self.assertEqual(env.D[0].shape, (5,))\n        self.assertEqual(env.D[1].shape, (2,))\n\n    def test_simplified_shapes(self):\n        env = SimplifiedTMaze()\n\n        self.assertEqual(len(env.A), 2)\n        self.assertEqual(env.A[0].shape, (5, 4, 2))\n        self.assertEqual(env.A[1].shape, (3, 4, 2))\n        self.assertEqual(env.A_dependencies, [[0, 1], [0, 1]])\n\n        self.assertEqual(env.B[0].shape, (4, 4, 4))\n        self.assertEqual(env.B[1].shape, (2, 2, 1))\n\n        self.assertEqual(env.D[0].shape, (4,))\n        self.assertEqual(env.D[1].shape, (2,))\n\n    def test_classic_cue_validity(self):\n        cue_validity = 0.7\n        env = TMaze(cue_validity=cue_validity)\n        cue_loc = 3\n\n        self.assertTrue(bool(jnp.isclose(env.A[2][1, cue_loc, 0], cue_validity)))\n        self.assertTrue(bool(jnp.isclose(env.A[2][2, cue_loc, 0], 1 - cue_validity)))\n        self.assertTrue(bool(jnp.isclose(env.A[2][2, cue_loc, 1], cue_validity)))\n        self.assertTrue(bool(jnp.isclose(env.A[2][1, cue_loc, 1], 1 - cue_validity)))\n\n    def test_simplified_cue_validity(self):\n        cue_validity = 0.6\n        env = SimplifiedTMaze(cue_validity=cue_validity)\n        cue_loc = 3\n\n        self.assertTrue(bool(jnp.isclose(env.A[0][3, cue_loc, 0], cue_validity)))\n        self.assertTrue(bool(jnp.isclose(env.A[0][4, cue_loc, 0], 1 - cue_validity)))\n        self.assertTrue(bool(jnp.isclose(env.A[0][4, cue_loc, 1], cue_validity)))\n        self.assertTrue(bool(jnp.isclose(env.A[0][3, cue_loc, 1], 1 - cue_validity)))\n\n    def test_reward_outcomes_independent(self):\n        env = TMaze(reward_probability=0.8, punishment_probability=0.3, dependent_outcomes=False)\n        reward_condition = 0\n        correct_loc = 1\n        wrong_loc = 2\n\n        self.assertTrue(bool(jnp.isclose(env.A[1][1, correct_loc, reward_condition], 0.8)))\n        self.assertTrue(bool(jnp.isclose(env.A[1][0, correct_loc, reward_condition], 0.2)))\n        self.assertTrue(bool(jnp.isclose(env.A[1][2, correct_loc, reward_condition], 0.0)))\n\n        self.assertTrue(bool(jnp.isclose(env.A[1][2, wrong_loc, reward_condition], 0.3)))\n        self.assertTrue(bool(jnp.isclose(env.A[1][0, wrong_loc, reward_condition], 0.7)))\n        self.assertTrue(bool(jnp.isclose(env.A[1][1, wrong_loc, reward_condition], 0.0)))\n\n    def test_reward_outcomes_dependent(self):\n        env = TMaze(reward_probability=0.8, dependent_outcomes=True)\n        reward_condition = 0\n        correct_loc = 1\n        wrong_loc = 2\n\n        self.assertTrue(bool(jnp.isclose(env.A[1][1, correct_loc, reward_condition], 0.8)))\n        self.assertTrue(bool(jnp.isclose(env.A[1][2, correct_loc, reward_condition], 0.2)))\n        self.assertTrue(bool(jnp.isclose(env.A[1][0, correct_loc, reward_condition], 0.0)))\n\n        self.assertTrue(bool(jnp.isclose(env.A[1][2, wrong_loc, reward_condition], 0.8)))\n        self.assertTrue(bool(jnp.isclose(env.A[1][1, wrong_loc, reward_condition], 0.2)))\n        self.assertTrue(bool(jnp.isclose(env.A[1][0, wrong_loc, reward_condition], 0.0)))\n\n    def test_simplified_reward_and_punishment_probabilities(self):\n        env = SimplifiedTMaze(reward_probability=0.9, punishment_probability=0.2, dependent_outcomes=False)\n        reward_condition = 1\n        correct_loc = 2\n        wrong_loc = 1\n\n        self.assertTrue(bool(jnp.isclose(env.A[1][1, correct_loc, reward_condition], 0.9)))\n        self.assertTrue(bool(jnp.isclose(env.A[1][0, correct_loc, reward_condition], 0.1)))\n        self.assertTrue(bool(jnp.isclose(env.A[1][2, correct_loc, reward_condition], 0.0)))\n\n        self.assertTrue(bool(jnp.isclose(env.A[1][2, wrong_loc, reward_condition], 0.2)))\n        self.assertTrue(bool(jnp.isclose(env.A[1][0, wrong_loc, reward_condition], 0.8)))\n        self.assertTrue(bool(jnp.isclose(env.A[1][1, wrong_loc, reward_condition], 0.0)))\n\n    def test_classic_transition_connectivity(self):\n        env = TMaze()\n        B_loc = env.B[0]\n\n        centre = 0\n        left = 1\n        right = 2\n        cue = 3\n        middle = 4\n\n        self.assertTrue(bool(jnp.isclose(B_loc[cue, centre, cue], 1.0)))\n        self.assertTrue(bool(jnp.isclose(B_loc[centre, centre, left], 1.0)))\n        self.assertTrue(bool(jnp.isclose(B_loc[left, centre, left], 0.0)))\n\n        self.assertTrue(bool(jnp.isclose(B_loc[middle, left, middle], 1.0)))\n        self.assertTrue(bool(jnp.isclose(B_loc[left, left, right], 1.0)))\n        self.assertTrue(bool(jnp.isclose(B_loc[right, left, right], 0.0)))\n\n        self.assertTrue(bool(jnp.isclose(B_loc[centre, cue, centre], 1.0)))\n        self.assertTrue(bool(jnp.isclose(B_loc[cue, cue, left], 1.0)))\n        self.assertTrue(bool(jnp.isclose(B_loc[left, cue, left], 0.0)))\n\n        self.assertTrue(bool(jnp.allclose(jnp.sum(B_loc, axis=0), 1.0)))\n\n    def test_simplified_transition_connectivity(self):\n        env = SimplifiedTMaze()\n        B_loc = env.B[0]\n\n        self.assertTrue(bool(jnp.isclose(B_loc[1, 0, 1], 1.0)))\n        self.assertTrue(bool(jnp.isclose(B_loc[0, 0, 1], 0.0)))\n        self.assertTrue(bool(jnp.isclose(B_loc[2, 3, 2], 1.0)))\n        self.assertTrue(bool(jnp.isclose(B_loc[3, 3, 3], 1.0)))\n\n        self.assertTrue(bool(jnp.allclose(jnp.sum(B_loc, axis=0), 1.0)))\n\n    def test_render_accepts_singleton_discrete_and_categorical_observations(self):\n        env = TMaze()\n\n        discrete_obs = [\n            jnp.array([[[0]]], dtype=jnp.int32),\n            jnp.array([[[0]]], dtype=jnp.int32),\n            jnp.array([[[0]]], dtype=jnp.int32),\n        ]\n        categorical_obs = [\n            jnp.array([[[1.0, 0.0, 0.0, 0.0, 0.0]]]),\n            jnp.array([[[1.0, 0.0, 0.0]]]),\n            jnp.array([[[1.0, 0.0, 0.0]]]),\n        ]\n\n        discrete_img = env.render(discrete_obs, mode=\"rgb_array\")\n        categorical_img = env.render(categorical_obs, mode=\"rgb_array\")\n\n        self.assertIsNotNone(discrete_img)\n        self.assertIsNotNone(categorical_img)\n"
  },
  {
    "path": "test/test_tmaze_recoverability.py",
    "content": "\"\"\"Smoke tests for the fast TMaze recoverability diagnostics.\"\"\"\n\nimport math\n\nfrom examples.model_fitting.tmaze_recoverability import RecoverabilityConfig, run_recoverability\n\n\ndef _small_cfg(parameterization: str) -> RecoverabilityConfig:\n    return RecoverabilityConfig(\n        parameterization=parameterization,\n        seed=3,\n        num_agents=4,\n        num_blocks=8,\n        num_trials=4,\n        svi_steps=24,\n        num_particles=1,\n        num_samples=8,\n    )\n\n\ndef test_tmaze_recoverability_three_param_smoke():\n    results = run_recoverability(_small_cfg(\"three_param\"))\n\n    assert results[\"num_params\"] == 3\n    assert len(results[\"corr_latent\"]) == 3\n    assert len(results[\"true_reward_probability\"]) == 4\n    assert len(results[\"inferred_reward_probability\"]) == 4\n    assert 0.0 <= results[\"bimodality_score_reward_probability\"] <= 1.0\n    assert math.isfinite(results[\"corr_reward_probability\"])\n\n\ndef test_tmaze_recoverability_reward_only_smoke():\n    results = run_recoverability(_small_cfg(\"reward_only\"))\n\n    assert results[\"num_params\"] == 1\n    assert len(results[\"corr_latent\"]) == 1\n    assert len(results[\"true_reward_probability\"]) == 4\n    assert len(results[\"inferred_reward_probability\"]) == 4\n    assert 0.0 <= results[\"bimodality_score_reward_probability\"] <= 1.0\n    assert math.isfinite(results[\"corr_reward_probability\"])\n"
  },
  {
    "path": "test/test_utils.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Agent Class\n\n__author__: Conor Heins, Alexander Tschantz, Daphne Demekas, Brennan Klein\n\n\"\"\"\n\nimport unittest\nimport numpy as np\n\nfrom pymdp.legacy import utils as legacy_utils\n\nclass TestUtils(unittest.TestCase):\n    def test_obj_array_from_list(self):\n        \"\"\"\n        Tests `obj_array_from_list`\n        \"\"\"\n        # make arrays with same leading dimensions. naive method trigger numpy broadcasting error.\n        arrs = [np.zeros((3, 6)), np.zeros((3, 4, 5))]\n        obs_arrs = legacy_utils.obj_array_from_list(arrs)\n        \n        self.assertTrue(all([np.all(a == b) for a, b in zip(arrs, obs_arrs)]))\n\nif __name__ == \"__main__\":\n    unittest.main()"
  },
  {
    "path": "test/test_utils_jax.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\n\"\"\" Agent Class\n\n__author__: Conor Heins, Alexander Tschantz, Daphne Demekas, Brennan Klein\n\n\"\"\"\n\nimport unittest\nimport itertools\nimport numpy as np\nfrom jax import numpy as jnp\nfrom jax import random as jr\n\nfrom pymdp import utils as jax_utils\nfrom pymdp.legacy import utils as legacy_utils\n\nclass TestUtils(unittest.TestCase):\n\n    def test_random_factorized_categorical(self):\n        \"\"\"\n        Test `random_factorized_categorical`\n        \"\"\"\n        key = jr.PRNGKey(0)\n        dims_per_var = [3, 5, 2]\n\n        dists = jax_utils.random_factorized_categorical(key, dims_per_var)\n        repeat = jax_utils.random_factorized_categorical(key, dims_per_var)\n\n        self.assertEqual(len(dists), len(dims_per_var))\n        for idx, (dist, dim) in enumerate(zip(dists, dims_per_var)):\n            with self.subTest(factor=idx):\n                self.assertEqual(dist.shape, (dim,))\n                self.assertTrue(bool(jnp.all(dist >= 0)))\n                self.assertTrue(bool(jnp.isclose(dist.sum(), 1.0)))\n                self.assertTrue(bool(jnp.allclose(dist, repeat[idx])))\n\n    def test_random_A_array_shapes_and_normalization(self):\n        \"\"\"\n        `random_A_array` should honor factor structure and yield normalized conditionals\n        \"\"\"\n        key = jr.PRNGKey(42)\n        num_obs = [3, 2]\n        num_states = [4, 5, 6]\n        A_dependencies = [[0, 2], [1]]  # modality 0 depends on states 0 & 2, modality 1 on state 1 only\n\n        A = jax_utils.random_A_array(key, num_obs, num_states, A_dependencies=A_dependencies)\n\n        self.assertEqual(len(A), len(num_obs))\n        expected_shapes = [\n            (num_obs[0], num_states[0], num_states[2]),\n            (num_obs[1], num_states[1]),\n        ]\n\n        for idx, (A_m, expected_shape) in enumerate(zip(A, expected_shapes)):\n            with self.subTest(modality=idx):\n                self.assertEqual(A_m.shape, expected_shape)\n                # each column over the observation axis should be a normalized categorical distribution\n                marginal_sums = A_m.sum(axis=0)\n                self.assertTrue(bool(jnp.allclose(marginal_sums, jnp.ones_like(marginal_sums))))\n\n    def test_random_A_array_defaults_to_all_factors(self):\n        \"\"\"\n        `random_A_array` should fallback to each modality depending on every hidden factor\n        \"\"\"\n        key = jr.PRNGKey(7)\n        num_obs = [2, 3]\n        num_states = [4, 5]\n\n        A = jax_utils.random_A_array(key, num_obs, num_states)\n\n        self.assertEqual(len(A), len(num_obs))\n        for idx, (A_m, n_o) in enumerate(zip(A, num_obs)):\n            with self.subTest(modality=idx):\n                self.assertEqual(A_m.shape, (n_o, *tuple(num_states)))\n                marginal_sums = A_m.sum(axis=0)\n                self.assertTrue(bool(jnp.allclose(marginal_sums, jnp.ones_like(marginal_sums))))\n\n    def test_random_B_array_shapes_and_normalization(self):\n        \"\"\"`random_B_array` should honor provided dependencies and normalise per control slice\"\"\"\n\n        key = jr.PRNGKey(11)\n        num_states = [3, 2]\n        num_controls = [2, 3]\n        B_dependencies = [[0, 1], [1]]\n        B_action_dependencies = [[0], [0, 1]]\n\n        B = jax_utils.random_B_array(\n            key,\n            num_states,\n            num_controls,\n            B_dependencies=B_dependencies,\n            B_action_dependencies=B_action_dependencies,\n        )\n\n        expected_shapes = [\n            (num_states[0], num_states[0], num_states[1], num_controls[0]),\n            (num_states[1], num_states[1], num_controls[0], num_controls[1]),\n        ]\n\n        self.assertEqual(len(B), len(num_states))\n        for idx, (B_f, expected_shape) in enumerate(zip(B, expected_shapes)):\n            with self.subTest(factor=idx):\n                self.assertEqual(B_f.shape, expected_shape)\n                marginal_sums = B_f.sum(axis=0)\n                self.assertTrue(bool(jnp.allclose(marginal_sums, jnp.ones_like(marginal_sums))))\n\n    def test_random_B_array_defaults_to_self_dependencies(self):\n        \"\"\"`random_B_array` should default to self-transition dependencies when none provided\"\"\"\n\n        key = jr.PRNGKey(13)\n        num_states = [4, 5]\n        num_controls = [2, 3]\n\n        B = jax_utils.random_B_array(key, num_states, num_controls)\n\n        expected_shapes = [\n            (num_states[0], num_states[0], num_controls[0]),\n            (num_states[1], num_states[1], num_controls[1]),\n        ]\n\n        self.assertEqual(len(B), len(num_states))\n        for idx, (B_f, expected_shape) in enumerate(zip(B, expected_shapes)):\n            with self.subTest(factor=idx):\n                self.assertEqual(B_f.shape, expected_shape)\n                marginal_sums = B_f.sum(axis=0)\n                self.assertTrue(bool(jnp.allclose(marginal_sums, jnp.ones_like(marginal_sums))))\n\n    def test_random_B_array_accepts_out_of_order_control_dependency_lists(self):\n        \"\"\"`random_B_array` should validate control coverage independent of list ordering\"\"\"\n\n        key = jr.PRNGKey(17)\n        num_states = [3, 2]\n        num_controls = [2, 3]\n        B_dependencies = [[0], [1]]\n        B_action_dependencies = [[1], [1, 0]]\n\n        B = jax_utils.random_B_array(\n            key,\n            num_states,\n            num_controls,\n            B_dependencies=B_dependencies,\n            B_action_dependencies=B_action_dependencies,\n        )\n\n        self.assertEqual(B[0].shape, (num_states[0], num_states[0], num_controls[1]))\n        self.assertEqual(B[1].shape, (num_states[1], num_states[1], num_controls[1], num_controls[0]))\n\n    def test_norm_dist_list_version(self):\n        \"\"\"\"\n        Test `list_array_norm_dist`\n        \"\"\"\n        dist_list = [jnp.array([0.2, 0.3, 0.5]), jnp.array([1.0, 2.0, 3.0, 4.0])]\n        normed_list = jax_utils.list_array_norm_dist(dist_list)\n\n        for idx, (orig, normed) in enumerate(zip(dist_list, normed_list)):\n            with self.subTest(factor=idx):\n                self.assertTrue(bool(jnp.all(normed >= 0)))\n                self.assertTrue(bool(jnp.isclose(normed.sum(), 1.0)))\n                expected = orig / orig.sum()\n                self.assertTrue(bool(jnp.allclose(normed, expected)))\n\n    def test_get_combination_index(self):\n        \"\"\"\n        Test `get_combination_index`\n        \"\"\"\n        num_controls = [10, 20]\n        act = [5, 1]\n\n        # make all combinations from itertools and find correct index\n        action_map = list(itertools.product(*[list(range(i)) for i in num_controls]))\n        true_act_flat = action_map.index(tuple(act))\n\n        batch_size = 10\n        act_vec = np.array(act)\n        act_vec = np.broadcast_to(act_vec, (batch_size,) + act_vec.shape)\n\n        # find flat index without itertools\n        act_flat = jax_utils.get_combination_index(act_vec, num_controls)\n\n        self.assertTrue(np.allclose(act_flat, true_act_flat))\n\n    def test_index_to_combination(self):\n        \"\"\"\n        Test `index_to_combination`\n        \"\"\"\n        num_controls = [10, 20]\n        act = [5, 1]\n\n        # make all combinations from itertools and find correct index\n        action_map = list(itertools.product(*[list(range(i)) for i in num_controls]))\n        act_flat = action_map.index(tuple(act))\n\n        batch_size = 10\n        act_flat_vec = np.array([act_flat])\n        act_flat_vec = np.broadcast_to(act_flat_vec, (batch_size,))\n\n        # reconstruct categorical actions from flat index\n        act_reconstruct = jax_utils.index_to_combination(act_flat_vec, num_controls)\n\n        self.assertTrue(np.allclose(act_reconstruct - np.array([act]), 0))\n    \n    def test_validate_normalization_ok(self):\n        \"\"\"\n        Distributions are properly normalized along axis=1 (default) -> no error\n        \"\"\"\n        # shape: (batch=2, num_obs[m]=3, num_states=[4])\n        tensor = jnp.ones((2, 3, 4)) / 3.0  # sums to 1 along axis=1\n        # should not raise\n        jax_utils.validate_normalization(tensor, axis=1, tensor_name=\"test_tensor\")\n\n    def test_validate_normalization_zero_filled_raises(self):\n        \"\"\"\n        Zero-filled distributions along the checked axis should raise ValueError\n        \"\"\"\n        tensor = jnp.zeros((2, 3, 4))\n        with self.assertRaises(ValueError):\n            jax_utils.validate_normalization(tensor, axis=1, tensor_name=\"zero_tensor\")\n\n    def test_validate_normalization_not_normalised_raises(self):\n        \"\"\"\n        Non-zero but not summing to 1 along the checked axis should raise ValueError\n        \"\"\"\n        base = jnp.ones((2, 3, 4)) / 3.0   # normalized\n        bad = base * 2.0                   # sums to 2.0 along axis=1\n        with self.assertRaises(ValueError):\n            jax_utils.validate_normalization(bad, axis=1, tensor_name=\"bad_tensor\")\n\n    def test_validate_normalization_axis_argument(self):\n        \"\"\"\n        Verify the 'axis' argument: normalized on axis=0 passes; same tensor on axis=1 fails\n        \"\"\"\n        # shape: (3, 2); normalize along axis=0\n        t = jnp.ones((3, 2)) / 3.0  # each column sums to 1\n        # should pass on axis=0\n        jax_utils.validate_normalization(t, axis=0, tensor_name=\"axis0_ok\")\n        # should fail on axis=1 (each row sums to 2/3)\n        with self.assertRaises(ValueError):\n            jax_utils.validate_normalization(t, axis=1, tensor_name=\"axis1_bad\")\n\n    def test_create_controllable_B_matches_legacy(self):\n        \"\"\"`create_controllable_B` should reproduce the legacy construction semantics\"\"\"\n\n        num_states = [2, 3]\n        num_controls = [2, 3]\n\n        legacy_B = legacy_utils.construct_controllable_B(num_states, num_controls)\n        jax_B = jax_utils.create_controllable_B(num_states, num_controls)\n\n        self.assertEqual(len(jax_B), len(num_states))\n        for idx, (jax_factor, legacy_factor, ns, nc) in enumerate(zip(jax_B, legacy_B, num_states, num_controls)):\n            with self.subTest(factor=idx):\n                self.assertEqual(jax_factor.shape, (ns, ns, nc))\n                factor_np = np.array(jax_factor)\n                self.assertTrue(np.allclose(factor_np, legacy_factor))\n                # summing over future states should yield ones for each (current state, action) pair\n                marginal = factor_np.sum(axis=0)\n                self.assertTrue(np.allclose(marginal, np.ones_like(marginal)))\n\n\nif __name__ == \"__main__\":\n    unittest.main()\n"
  },
  {
    "path": "test/test_vfe_jax.py",
    "content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\nimport unittest\nfrom itertools import product\n\nimport numpy as np\nfrom jax import grad, jit, nn\nfrom jax import numpy as jnp\nfrom jax import tree_util as jtu\nfrom jax.scipy.special import digamma, gammaln\n\nfrom pymdp import inference, maths\nfrom pymdp.algos import all_marginal_log_likelihood, run_factorized_fpi\nfrom pymdp.agent import Agent\nfrom pymdp.legacy import maths as legacy_maths\nfrom pymdp.legacy import utils as legacy_utils\n\n\ndef _manual_dirichlet_kl(q_dir: np.ndarray, p_dir: np.ndarray) -> float:\n    q_sum = q_dir.sum(axis=0)\n    p_sum = p_dir.sum(axis=0)\n    digamma_q_sum = digamma(q_sum)[None, ...]\n    kl = (\n        gammaln(q_sum)\n        - gammaln(p_sum)\n        - gammaln(q_dir).sum(axis=0)\n        + gammaln(p_dir).sum(axis=0)\n        + ((q_dir - p_dir) * (digamma(q_dir) - digamma_q_sum)).sum(axis=0)\n    )\n    return float(np.asarray(kl).sum())\n\n\ndef _bruteforce_sequence_vfe(\n    prior: np.ndarray,\n    A: np.ndarray,\n    B: np.ndarray,\n    obs_idx: np.ndarray,\n    actions: np.ndarray,\n) -> float:\n    trajectories = np.array(list(product(range(prior.shape[0]), repeat=len(obs_idx))), dtype=int)\n    log_joint = np.zeros((trajectories.shape[0],), dtype=float)\n\n    for i, traj in enumerate(trajectories):\n        log_prob = np.log(prior[traj[0]])\n        log_prob += np.log(A[obs_idx[0], traj[0]])\n        for t in range(1, len(obs_idx)):\n            log_prob += np.log(B[traj[t], traj[t - 1], actions[t - 1]])\n            log_prob += np.log(A[obs_idx[t], traj[t]])\n        log_joint[i] = log_prob\n\n    log_norm = np.logaddexp.reduce(log_joint)\n    posterior = np.exp(log_joint - log_norm)\n    return float(np.sum(posterior * (np.log(posterior) - log_joint)))\n\n\ndef _filtered_history_single_factor(\n    method: str,\n    A: list[jnp.ndarray],\n    B: list[jnp.ndarray],\n    prior: list[jnp.ndarray],\n    obs: list[jnp.ndarray],\n    actions: jnp.ndarray,\n) -> list[jnp.ndarray]:\n    qs_hist = None\n    prior_t = prior\n    for t in range(obs[0].shape[0]):\n        qs_hist = inference.update_posterior_states(\n            A=A,\n            B=B,\n            obs=[obs[0][t : t + 1]],\n            past_actions=None,\n            prior=prior_t,\n            qs_hist=qs_hist,\n            A_dependencies=[[0]],\n            B_dependencies=[[0]],\n            method=method,\n            distr_obs=True,\n            inference_horizon=obs[0].shape[0],\n        )\n        if t < obs[0].shape[0] - 1:\n            prior_t = [B[0][..., int(actions[t])] @ qs_hist[0][-1]]\n    return qs_hist\n\n\ndef _factorized_fpi_vfe_history(\n    A: list[jnp.ndarray],\n    obs: list[jnp.ndarray],\n    prior: list[jnp.ndarray],\n    A_dependencies: list[list[int]],\n    *,\n    num_iter: int,\n    distr_obs: bool = True,\n) -> tuple[list[list[jnp.ndarray]], jnp.ndarray]:\n    log_likelihoods = maths.compute_log_likelihood_per_modality(obs, A, distr_obs=distr_obs)\n    log_prior = jtu.tree_map(maths.log_stable, prior)\n    log_q = jtu.tree_map(jnp.zeros_like, prior)\n\n    qs_history = []\n    vfe_history = []\n\n    for _ in range(num_iter):\n        qs = jtu.tree_map(nn.softmax, log_q)\n        qs_history.append(qs)\n        vfe_history.append(\n            maths.calc_vfe(\n                qs,\n                prior,\n                obs=obs,\n                A=A,\n                A_dependencies=A_dependencies,\n                distr_obs=distr_obs,\n            )[1]\n        )\n        marginal_ll = all_marginal_log_likelihood(qs, log_likelihoods, A_dependencies)\n        log_q = jtu.tree_map(lambda ll, lp: ll + lp, marginal_ll, log_prior)\n\n    qs = jtu.tree_map(nn.softmax, log_q)\n    qs_history.append(qs)\n    vfe_history.append(\n        maths.calc_vfe(\n            qs,\n            prior,\n            obs=obs,\n            A=A,\n            A_dependencies=A_dependencies,\n            distr_obs=distr_obs,\n        )[1]\n    )\n\n    return qs_history, jnp.stack(vfe_history)\n\n\nclass TestCanonicalVFE(unittest.TestCase):\n    def test_calc_vfe_single_step_matches_legacy_full_model(self):\n        prior = [\n            jnp.array([0.55, 0.45]),\n            jnp.array([0.30, 0.70]),\n        ]\n        qs = [\n            jnp.array([0.25, 0.75]),\n            jnp.array([0.60, 0.40]),\n        ]\n        obs = [jnp.array([0.0, 1.0, 0.0])]\n        A = [\n            jnp.array(\n                [\n                    [[0.80, 0.20], [0.30, 0.10]],\n                    [[0.15, 0.30], [0.30, 0.20]],\n                    [[0.05, 0.50], [0.40, 0.70]],\n                ]\n            )\n        ]\n\n        _, vfe_jax = maths.calc_vfe(\n            qs,\n            prior,\n            obs=obs,\n            A=A,\n            A_dependencies=[[0, 1]],\n        )\n\n        qs_np = legacy_utils.obj_array_from_list([np.asarray(q) for q in qs])\n        prior_np = legacy_utils.obj_array_from_list([np.asarray(p) for p in prior])\n        prior_log_np = legacy_maths.spm_log_obj_array(prior_np)\n        A_np = legacy_utils.obj_array_from_list([np.asarray(a) for a in A])\n        obs_np = legacy_utils.obj_array_from_list([np.asarray(o) for o in obs])\n        ll_np = legacy_maths.spm_log_single(\n            legacy_maths.get_joint_likelihood(A_np, obs_np, [2, 2])\n        )\n        vfe_legacy = legacy_maths.calc_free_energy(\n            qs_np,\n            prior_log_np,\n            n_factors=2,\n            likelihood=ll_np,\n        )\n\n        np.testing.assert_allclose(\n            np.asarray(vfe_jax),\n            np.asarray(vfe_legacy).squeeze(),\n            atol=1e-6,\n        )\n\n    def test_calc_vfe_sequence_matches_manual_terms_and_parameter_kls(self):\n        prior = [jnp.array([0.65, 0.35])]\n        qs = [jnp.array([[0.80, 0.20], [0.25, 0.75], [0.60, 0.40]])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0], [0.40, 0.60]])]\n        A = [jnp.array([[0.90, 0.15], [0.10, 0.85]])]\n        B = [\n            jnp.array(\n                [\n                    [[0.85, 0.30], [0.20, 0.65]],\n                    [[0.15, 0.70], [0.80, 0.35]],\n                ]\n            )\n        ]\n        actions = jnp.array([0, 1])\n        qA = [jnp.array([[4.0, 2.0], [1.5, 5.0]])]\n        pA = [jnp.array([[2.0, 1.0], [1.0, 2.5]])]\n        qB = [jnp.array([[[5.0, 2.0], [2.0, 4.0]], [[1.5, 3.0], [4.5, 2.0]]])]\n        pB = [jnp.array([[[2.5, 1.5], [1.5, 3.0]], [[1.0, 2.0], [2.5, 1.0]]])]\n\n        vfe_t, vfe, info = maths.calc_vfe(\n            qs,\n            prior,\n            obs=obs,\n            A=A,\n            B=B,\n            past_actions=actions,\n            A_dependencies=[[0]],\n            B_dependencies=[[0]],\n            qA=qA,\n            pA=pA,\n            qB=qB,\n            pB=pB,\n            return_decomposition=True,\n        )\n\n        qs_np = np.asarray(qs[0])\n        prior_np = np.asarray(prior[0])\n        obs_np = np.asarray(obs[0])\n        A_np = np.asarray(A[0])\n        B_np = np.asarray(B[0])\n\n        expected_vfe_t = []\n        for t in range(qs_np.shape[0]):\n            neg_entropy = float(np.sum(qs_np[t] * np.log(qs_np[t])))\n            if t == 0:\n                dynamics = float(-np.sum(qs_np[t] * np.log(prior_np)))\n            else:\n                b_t = B_np[..., int(actions[t - 1])]\n                dynamics = float(\n                    -np.sum(\n                        qs_np[t][:, None]\n                        * qs_np[t - 1][None, :]\n                        * np.log(b_t)\n                    )\n                )\n            accuracy = float(\n                np.sum(\n                    qs_np[t]\n                    * np.sum(obs_np[t][:, None] * np.log(A_np), axis=0)\n                )\n            )\n            expected_vfe_t.append(neg_entropy + dynamics - accuracy)\n\n        expected_vfe_t = np.asarray(expected_vfe_t)\n        expected_kl_A = _manual_dirichlet_kl(np.asarray(qA[0]), np.asarray(pA[0]))\n        expected_kl_B = _manual_dirichlet_kl(np.asarray(qB[0]), np.asarray(pB[0]))\n\n        np.testing.assert_allclose(np.asarray(vfe_t), expected_vfe_t, atol=1e-6)\n        np.testing.assert_allclose(np.asarray(info[\"state_vfe\"]), expected_vfe_t.sum(), atol=1e-6)\n        np.testing.assert_allclose(np.asarray(info[\"parameter_kl_A\"]), expected_kl_A, atol=1e-6)\n        np.testing.assert_allclose(np.asarray(info[\"parameter_kl_B\"]), expected_kl_B, atol=1e-6)\n        np.testing.assert_allclose(\n            np.asarray(vfe),\n            expected_vfe_t.sum() + expected_kl_A + expected_kl_B,\n            atol=1e-6,\n        )\n\n    def test_calc_vfe_rejects_multifactor_1d_past_actions(self):\n        prior = [jnp.array([0.55, 0.45]), jnp.array([0.30, 0.70])]\n        qs = [jnp.array([[0.6, 0.4], [0.5, 0.5]]), jnp.array([[0.4, 0.6], [0.7, 0.3]])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0]])]\n        A = [\n            jnp.array(\n                [\n                    [[0.90, 0.20], [0.10, 0.30]],\n                    [[0.10, 0.80], [0.90, 0.70]],\n                ]\n            )\n        ]\n        B = [\n            jnp.array([[[0.8], [0.3]], [[0.2], [0.7]]]),\n            jnp.array([[[0.7], [0.4]], [[0.3], [0.6]]]),\n        ]\n\n        with self.assertRaisesRegex(\n            ValueError,\n            \"1D `past_actions` is only supported for single-factor action histories\",\n        ):\n            maths.calc_vfe(\n                qs,\n                prior,\n                obs=obs,\n                A=A,\n                B=B,\n                past_actions=jnp.array([0, 0]),\n                A_dependencies=[[0, 1]],\n                B_dependencies=[[0], [1]],\n            )\n\n    def test_calc_vfe_accepts_multifactor_single_transition_action_history_as_2d(self):\n        prior = [jnp.array([0.55, 0.45]), jnp.array([0.30, 0.70])]\n        qs = [jnp.array([[0.6, 0.4], [0.5, 0.5]]), jnp.array([[0.4, 0.6], [0.7, 0.3]])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0]])]\n        A = [\n            jnp.array(\n                [\n                    [[0.90, 0.20], [0.10, 0.30]],\n                    [[0.10, 0.80], [0.90, 0.70]],\n                ]\n            )\n        ]\n        B = [\n            jnp.array(\n                [\n                    [[0.8, 0.6], [0.3, 0.4]],\n                    [[0.2, 0.4], [0.7, 0.6]],\n                ]\n            ),\n            jnp.array(\n                [\n                    [[0.7, 0.5], [0.4, 0.3]],\n                    [[0.3, 0.5], [0.6, 0.7]],\n                ]\n            ),\n        ]\n\n        vfe_t, vfe = maths.calc_vfe(\n            qs,\n            prior,\n            obs=obs,\n            A=A,\n            B=B,\n            past_actions=jnp.array([[0, 1]]),\n            A_dependencies=[[0, 1]],\n            B_dependencies=[[0], [1]],\n        )\n\n        self.assertEqual(vfe_t.shape, (2,))\n        self.assertTrue(bool(jnp.all(jnp.isfinite(vfe_t))))\n        self.assertTrue(bool(jnp.isfinite(vfe)))\n\n    def test_calc_vfe_rejects_mismatched_past_action_history_length_when_transitions_used(self):\n        prior = [jnp.array([0.65, 0.35])]\n        qs = [jnp.array([[0.80, 0.20], [0.25, 0.75], [0.60, 0.40]])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0], [0.40, 0.60]])]\n        A = [jnp.array([[0.90, 0.15], [0.10, 0.85]])]\n        B = [\n            jnp.array(\n                [\n                    [[0.85, 0.30], [0.20, 0.65]],\n                    [[0.15, 0.70], [0.80, 0.35]],\n                ]\n            )\n        ]\n\n        with self.assertRaisesRegex(\n            ValueError,\n            \"`past_actions` has leading dimension 1, expected 2\",\n        ):\n            maths.calc_vfe(\n                qs,\n                prior,\n                obs=obs,\n                A=A,\n                B=B,\n                past_actions=jnp.array([0]),\n                A_dependencies=[[0]],\n                B_dependencies=[[0]],\n            )\n\n    def test_calc_vfe_accepts_mismatched_past_action_history_when_no_transitions_used(self):\n        prior = [jnp.array([0.65, 0.35])]\n        qs = [jnp.array([[0.80, 0.20], [0.25, 0.75], [0.60, 0.40]])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0], [0.40, 0.60]])]\n        A = [jnp.array([[0.90, 0.15], [0.10, 0.85]])]\n\n        vfe_t, vfe = maths.calc_vfe(\n            qs,\n            prior,\n            obs=obs,\n            A=A,\n            B=None,\n            past_actions=jnp.array([0]),\n            A_dependencies=[[0]],\n        )\n\n        self.assertEqual(vfe_t.shape, (3,))\n        self.assertTrue(bool(jnp.all(jnp.isfinite(vfe_t))))\n        self.assertTrue(bool(jnp.isfinite(vfe)))\n\n    def test_update_posterior_states_rejects_multifactor_1d_past_actions(self):\n        prior = [jnp.array([0.55, 0.45]), jnp.array([0.30, 0.70])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0]])]\n        A = [\n            jnp.array(\n                [\n                    [[0.90, 0.20], [0.10, 0.30]],\n                    [[0.10, 0.80], [0.90, 0.70]],\n                ]\n            )\n        ]\n        B = [\n            jnp.array([[[0.8], [0.3]], [[0.2], [0.7]]]),\n            jnp.array([[[0.7], [0.4]], [[0.3], [0.6]]]),\n        ]\n\n        with self.assertRaisesRegex(\n            ValueError,\n            \"1D `past_actions` is only supported for single-factor action histories\",\n        ):\n            inference.update_posterior_states(\n                A=A,\n                B=B,\n                obs=obs,\n                past_actions=jnp.array([0, 0]),\n                prior=prior,\n                A_dependencies=[[0, 1]],\n                B_dependencies=[[0], [1]],\n                method=\"mmp\",\n                distr_obs=True,\n            )\n\n    def test_update_posterior_states_accepts_multifactor_single_transition_action_history_as_2d(self):\n        prior = [jnp.array([0.55, 0.45]), jnp.array([0.30, 0.70])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0]])]\n        A = [\n            jnp.array(\n                [\n                    [[0.90, 0.20], [0.10, 0.30]],\n                    [[0.10, 0.80], [0.90, 0.70]],\n                ]\n            )\n        ]\n        B = [\n            jnp.array(\n                [\n                    [[0.8, 0.6], [0.3, 0.4]],\n                    [[0.2, 0.4], [0.7, 0.6]],\n                ]\n            ),\n            jnp.array(\n                [\n                    [[0.7, 0.5], [0.4, 0.3]],\n                    [[0.3, 0.5], [0.6, 0.7]],\n                ]\n            ),\n        ]\n\n        qs_hist = inference.update_posterior_states(\n            A=A,\n            B=B,\n            obs=obs,\n            past_actions=jnp.array([[0, 1]]),\n            prior=prior,\n            A_dependencies=[[0, 1]],\n            B_dependencies=[[0], [1]],\n            method=\"mmp\",\n            distr_obs=True,\n        )\n\n        self.assertEqual(qs_hist[0].shape, (2, 2))\n        self.assertEqual(qs_hist[1].shape, (2, 2))\n        self.assertTrue(bool(jnp.all(jnp.isfinite(qs_hist[0]))))\n        self.assertTrue(bool(jnp.all(jnp.isfinite(qs_hist[1]))))\n\n    def test_update_posterior_states_rejects_mismatched_past_action_history_length(self):\n        prior = [jnp.array([0.65, 0.35])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0], [0.40, 0.60]])]\n        A = [jnp.array([[0.90, 0.15], [0.10, 0.85]])]\n        B = [\n            jnp.array(\n                [\n                    [[0.85], [0.20]],\n                    [[0.15], [0.80]],\n                ]\n            )\n        ]\n\n        with self.assertRaisesRegex(\n            ValueError,\n            \"`past_actions` has leading dimension 1, expected 2\",\n        ):\n            inference.update_posterior_states(\n                A=A,\n                B=B,\n                obs=obs,\n                past_actions=jnp.array([0]),\n                prior=prior,\n                A_dependencies=[[0]],\n                B_dependencies=[[0]],\n                method=\"mmp\",\n                distr_obs=True,\n            )\n\n    def test_sequence_inference_uses_singleton_control_transitions_without_past_actions(self):\n        prior = [jnp.array([0.65, 0.35])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0], [0.40, 0.60]])]\n        A = [jnp.array([[0.90, 0.15], [0.10, 0.85]])]\n        B = [\n            jnp.array(\n                [\n                    [[0.85], [0.20]],\n                    [[0.15], [0.80]],\n                ]\n            )\n        ]\n\n        qs_hist = inference.update_posterior_states(\n            A=A,\n            B=B,\n            obs=obs,\n            past_actions=None,\n            prior=prior,\n            A_dependencies=[[0]],\n            B_dependencies=[[0]],\n            method=\"mmp\",\n            distr_obs=True,\n        )\n\n        self.assertEqual(qs_hist[0].shape, (3, 2))\n        self.assertTrue(bool(jnp.all(jnp.isfinite(qs_hist[0]))))\n\n    def test_sequence_return_info_uses_singleton_control_transitions_without_past_actions(self):\n        A = [jnp.array([[0.90, 0.15], [0.10, 0.85]])]\n        B = [\n            jnp.array(\n                [\n                    [[0.85], [0.20]],\n                    [[0.15], [0.80]],\n                ]\n            )\n        ]\n        prior = [jnp.array([0.60, 0.40])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0], [0.0, 1.0]])]\n\n        qs_hist, info = inference.update_posterior_states(\n            A=A,\n            B=B,\n            obs=obs,\n            past_actions=None,\n            prior=prior,\n            A_dependencies=[[0]],\n            B_dependencies=[[0]],\n            method=\"mmp\",\n            distr_obs=True,\n            return_info=True,\n        )\n\n        expected_vfe_t, expected_vfe = maths.calc_vfe(\n            qs_hist,\n            prior,\n            obs=obs,\n            A=A,\n            B=B,\n            past_actions=None,\n            A_dependencies=[[0]],\n            B_dependencies=[[0]],\n        )\n\n        np.testing.assert_allclose(np.asarray(info[\"vfe_t\"]), np.asarray(expected_vfe_t), atol=1e-6)\n        np.testing.assert_allclose(np.asarray(info[\"vfe\"]), np.asarray(expected_vfe), atol=1e-6)\n\n    def test_return_info_requires_prior(self):\n        A = [jnp.array([[0.9, 0.2], [0.1, 0.8]])]\n        obs = [jnp.array([[0.0, 1.0]])]\n\n        with self.assertRaisesRegex(\n            ValueError,\n            \"`prior` must be provided when `return_info=True`\",\n        ):\n            inference.update_posterior_states(\n                A=A,\n                B=None,\n                obs=obs,\n                past_actions=None,\n                prior=None,\n                A_dependencies=[[0]],\n                B_dependencies=[[0]],\n                method=\"fpi\",\n                distr_obs=True,\n                return_info=True,\n            )\n\n    def test_calc_vfe_gradients_are_finite(self):\n        qs = [jnp.array([0.60, 0.40])]\n        prior = [jnp.array([0.55, 0.45])]\n        obs = [jnp.array([1.0, 0.0])]\n\n        def scalar_vfe(logits: jnp.ndarray) -> jnp.ndarray:\n            A = [nn.softmax(logits, axis=0)]\n            return maths.calc_vfe(\n                qs,\n                prior,\n                obs=obs,\n                A=A,\n                A_dependencies=[[0]],\n            )[1]\n\n        gradients = grad(scalar_vfe)(jnp.array([[0.5, -0.1], [0.2, 0.4]]))\n        self.assertTrue(bool(jnp.all(jnp.isfinite(gradients))))\n\n    def test_calc_vfe_sequence_gradients_are_finite_without_joint_qs(self):\n        qs = [jnp.array([[0.70, 0.30], [0.40, 0.60], [0.65, 0.35]])]\n        prior = [jnp.array([0.55, 0.45])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0], [0.25, 0.75]])]\n        actions = jnp.array([0, 1])\n        base_a_logits = jnp.array([[0.9, 0.2], [0.1, 0.8]])\n        base_b_logits = jnp.array(\n            [\n                [[0.8, 0.3], [0.2, 0.7]],\n                [[0.2, 0.7], [0.8, 0.3]],\n            ]\n        )\n\n        def scalar_vfe_from_A(a_logits: jnp.ndarray) -> jnp.ndarray:\n            A = [nn.softmax(a_logits, axis=0)]\n            B = [nn.softmax(base_b_logits, axis=0)]\n            return maths.calc_vfe(\n                qs,\n                prior,\n                obs=obs,\n                A=A,\n                B=B,\n                past_actions=actions,\n                A_dependencies=[[0]],\n                B_dependencies=[[0]],\n            )[1]\n\n        def scalar_vfe_from_B(b_logits: jnp.ndarray) -> jnp.ndarray:\n            A = [nn.softmax(base_a_logits, axis=0)]\n            B = [nn.softmax(b_logits, axis=0)]\n            return maths.calc_vfe(\n                qs,\n                prior,\n                obs=obs,\n                A=A,\n                B=B,\n                past_actions=actions,\n                A_dependencies=[[0]],\n                B_dependencies=[[0]],\n            )[1]\n\n        gradients_A = grad(scalar_vfe_from_A)(jnp.array([[0.5, -0.1], [0.2, 0.4]]))\n        gradients_B = grad(scalar_vfe_from_B)(base_b_logits)\n\n        self.assertTrue(bool(jnp.all(jnp.isfinite(gradients_A))))\n        self.assertTrue(bool(jnp.all(jnp.isfinite(gradients_B))))\n\n    def test_calc_vfe_sequence_is_jittable_without_joint_qs(self):\n        qs = [jnp.array([[0.70, 0.30], [0.40, 0.60], [0.65, 0.35]])]\n        prior = [jnp.array([0.55, 0.45])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0], [0.25, 0.75]])]\n        actions = jnp.array([0, 1])\n        B = [\n            jnp.array(\n                [\n                    [[0.8, 0.3], [0.2, 0.7]],\n                    [[0.2, 0.7], [0.8, 0.3]],\n                ]\n            )\n        ]\n\n        @jit\n        def compiled_vfe(a_logits: jnp.ndarray) -> tuple[jnp.ndarray, jnp.ndarray, dict[str, jnp.ndarray]]:\n            A = [nn.softmax(a_logits, axis=0)]\n            return maths.calc_vfe(\n                qs,\n                prior,\n                obs=obs,\n                A=A,\n                B=B,\n                past_actions=actions,\n                A_dependencies=[[0]],\n                B_dependencies=[[0]],\n                return_decomposition=True,\n            )\n\n        _, vfe, decomposition = compiled_vfe(jnp.array([[0.5, -0.1], [0.2, 0.4]]))\n        self.assertTrue(bool(jnp.isfinite(vfe)))\n        self.assertTrue(bool(jnp.isfinite(decomposition[\"state_vfe\"])))\n\n    def test_calc_vfe_sequence_gradients_are_finite_with_joint_qs(self):\n        qs = [jnp.array([[0.70, 0.30], [0.40, 0.60], [0.65, 0.35]])]\n        joint_qs = [\n            jnp.array(\n                [\n                    [[0.30, 0.10], [0.40, 0.20]],\n                    [[0.25, 0.40], [0.15, 0.20]],\n                ]\n            )\n        ]\n        prior = [jnp.array([0.55, 0.45])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0], [0.25, 0.75]])]\n        actions = jnp.array([0, 1])\n        base_a_logits = jnp.array([[0.9, 0.2], [0.1, 0.8]])\n        base_b_logits = jnp.array(\n            [\n                [[0.8, 0.3], [0.2, 0.7]],\n                [[0.2, 0.7], [0.8, 0.3]],\n            ]\n        )\n\n        def scalar_vfe_from_A(a_logits: jnp.ndarray) -> jnp.ndarray:\n            A = [nn.softmax(a_logits, axis=0)]\n            B = [nn.softmax(base_b_logits, axis=0)]\n            return maths.calc_vfe(\n                qs,\n                prior,\n                obs=obs,\n                A=A,\n                B=B,\n                past_actions=actions,\n                A_dependencies=[[0]],\n                B_dependencies=[[0]],\n                joint_qs=joint_qs,\n            )[1]\n\n        def scalar_vfe_from_B(b_logits: jnp.ndarray) -> jnp.ndarray:\n            A = [nn.softmax(base_a_logits, axis=0)]\n            B = [nn.softmax(b_logits, axis=0)]\n            return maths.calc_vfe(\n                qs,\n                prior,\n                obs=obs,\n                A=A,\n                B=B,\n                past_actions=actions,\n                A_dependencies=[[0]],\n                B_dependencies=[[0]],\n                joint_qs=joint_qs,\n            )[1]\n\n        gradients_A = grad(scalar_vfe_from_A)(jnp.array([[0.5, -0.1], [0.2, 0.4]]))\n        gradients_B = grad(scalar_vfe_from_B)(base_b_logits)\n\n        self.assertTrue(bool(jnp.all(jnp.isfinite(gradients_A))))\n        self.assertTrue(bool(jnp.all(jnp.isfinite(gradients_B))))\n\n    def test_calc_vfe_sequence_is_jittable_with_joint_qs(self):\n        qs = [jnp.array([[0.70, 0.30], [0.40, 0.60], [0.65, 0.35]])]\n        joint_qs = [\n            jnp.array(\n                [\n                    [[0.30, 0.10], [0.40, 0.20]],\n                    [[0.25, 0.40], [0.15, 0.20]],\n                ]\n            )\n        ]\n        prior = [jnp.array([0.55, 0.45])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0], [0.25, 0.75]])]\n        actions = jnp.array([0, 1])\n        B = [\n            jnp.array(\n                [\n                    [[0.8, 0.3], [0.2, 0.7]],\n                    [[0.2, 0.7], [0.8, 0.3]],\n                ]\n            )\n        ]\n\n        @jit\n        def compiled_vfe(a_logits: jnp.ndarray) -> jnp.ndarray:\n            A = [nn.softmax(a_logits, axis=0)]\n            return maths.calc_vfe(\n                qs,\n                prior,\n                obs=obs,\n                A=A,\n                B=B,\n                past_actions=actions,\n                A_dependencies=[[0]],\n                B_dependencies=[[0]],\n                joint_qs=joint_qs,\n            )[1]\n\n        vfe = compiled_vfe(jnp.array([[0.5, -0.1], [0.2, 0.4]]))\n        self.assertTrue(bool(jnp.isfinite(vfe)))\n\n    def test_factorized_fpi_vfe_decreases_monotonically(self):\n        prior = [\n            jnp.array([0.55, 0.45]),\n            jnp.array([0.30, 0.70]),\n        ]\n        obs = [jnp.array([0.0, 1.0, 0.0])]\n        A = [\n            jnp.array(\n                [\n                    [[0.80, 0.20], [0.30, 0.10]],\n                    [[0.15, 0.30], [0.30, 0.20]],\n                    [[0.05, 0.50], [0.40, 0.70]],\n                ]\n            )\n        ]\n        A_dependencies = [[0, 1]]\n        num_iter = 8\n\n        qs_history, vfe_history = _factorized_fpi_vfe_history(\n            A,\n            obs,\n            prior,\n            A_dependencies,\n            num_iter=num_iter,\n        )\n        qs_final = run_factorized_fpi(\n            A,\n            obs,\n            prior,\n            A_dependencies,\n            num_iter=num_iter,\n        )\n\n        self.assertEqual(len(vfe_history), num_iter + 1)\n        self.assertTrue(bool(jnp.all(jnp.diff(vfe_history) <= 1e-6)))\n\n        for qs_hist_f, qs_final_f in zip(qs_history[-1], qs_final):\n            np.testing.assert_allclose(\n                np.asarray(qs_hist_f),\n                np.asarray(qs_final_f),\n                atol=1e-6,\n            )\n\n    def test_update_posterior_states_return_info_includes_vfe(self):\n        A = [jnp.array([[0.9, 0.2], [0.1, 0.8]])]\n        prior = [jnp.array([0.55, 0.45])]\n        obs = [jnp.array([[0.0, 1.0]])]\n\n        qs_hist, info = inference.update_posterior_states(\n            A=A,\n            B=None,\n            obs=obs,\n            past_actions=None,\n            prior=prior,\n            A_dependencies=[[0]],\n            B_dependencies=[[0]],\n            method=\"fpi\",\n            distr_obs=True,\n            return_info=True,\n        )\n\n        expected_vfe_t, expected_vfe = maths.calc_vfe(\n            [qs_hist[0][0]],\n            prior,\n            obs=[obs[0][0]],\n            A=A,\n            A_dependencies=[[0]],\n        )\n\n        self.assertEqual(qs_hist[0].shape, (1, 2))\n        self.assertIn(\"vfe_t\", info)\n        self.assertIn(\"vfe\", info)\n        self.assertIn(\"vfe_components\", info)\n        np.testing.assert_allclose(np.asarray(info[\"vfe_t\"]), np.asarray(expected_vfe_t), atol=1e-6)\n        np.testing.assert_allclose(np.asarray(info[\"vfe\"]), np.asarray(expected_vfe), atol=1e-6)\n\n    def test_agent_infer_states_return_info_batches_sequence_vfe(self):\n        A = [jnp.array([[0.90, 0.15], [0.10, 0.85]])]\n        B = [\n            jnp.array(\n                [\n                    [[0.85, 0.30], [0.20, 0.65]],\n                    [[0.15, 0.70], [0.80, 0.35]],\n                ]\n            )\n        ]\n        D = [jnp.array([0.60, 0.40])]\n        observations = [jnp.array([[0, 1, 1]])]\n        actions = jnp.array([[[0], [1]]])\n\n        agent = Agent(\n            A=A,\n            B=B,\n            D=D,\n            A_dependencies=[[0]],\n            B_dependencies=[[0]],\n            num_controls=[2],\n            inference_algo=\"mmp\",\n            inference_horizon=3,\n            batch_size=1,\n        )\n\n        qs_hist, info = agent.infer_states(\n            observations=observations,\n            empirical_prior=agent.D,\n            past_actions=actions,\n            return_info=True,\n        )\n\n        expected_vfe_t, expected_vfe = maths.calc_vfe(\n            [qs_hist[0][0]],\n            [agent.D[0][0]],\n            obs=[nn.one_hot(observations[0][0], 2)],\n            A=[agent.A[0][0]],\n            B=[agent.B[0][0]],\n            past_actions=actions[0, :, 0],\n            A_dependencies=[[0]],\n            B_dependencies=[[0]],\n        )\n\n        self.assertEqual(qs_hist[0].shape, (1, 3, 2))\n        self.assertEqual(info[\"vfe_t\"].shape, (1, 3))\n        self.assertEqual(info[\"vfe\"].shape, (1,))\n        np.testing.assert_allclose(\n            np.asarray(info[\"vfe_t\"][0]),\n            np.asarray(expected_vfe_t),\n            atol=1e-6,\n        )\n        np.testing.assert_allclose(\n            np.asarray(info[\"vfe\"][0]),\n            np.asarray(expected_vfe),\n            atol=1e-6,\n        )\n\n    def test_sequence_return_info_accepts_missing_past_actions(self):\n        A = [jnp.array([[0.90, 0.15], [0.10, 0.85]])]\n        B = [\n            jnp.array(\n                [\n                    [[0.85], [0.20]],\n                    [[0.15], [0.80]],\n                ]\n            )\n        ]\n        prior = [jnp.array([0.60, 0.40])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0], [0.0, 1.0]])]\n\n        qs_hist, info = inference.update_posterior_states(\n            A=A,\n            B=B,\n            obs=obs,\n            past_actions=None,\n            prior=prior,\n            A_dependencies=[[0]],\n            B_dependencies=[[0]],\n            method=\"mmp\",\n            distr_obs=True,\n            return_info=True,\n        )\n\n        self.assertEqual(qs_hist[0].shape, (3, 2))\n        self.assertEqual(info[\"vfe_t\"].shape, (3,))\n        self.assertTrue(bool(jnp.all(jnp.isfinite(info[\"vfe_t\"]))))\n        self.assertTrue(bool(jnp.isfinite(info[\"vfe\"])))\n\n    def test_sequence_inference_requires_past_actions_for_multiaction_transitions(self):\n        A = [jnp.array([[0.90, 0.15], [0.10, 0.85]])]\n        B = [\n            jnp.array(\n                [\n                    [[0.85, 0.30], [0.20, 0.65]],\n                    [[0.15, 0.70], [0.80, 0.35]],\n                ]\n            )\n        ]\n        prior = [jnp.array([0.60, 0.40])]\n        obs = [jnp.array([[1.0, 0.0], [0.0, 1.0], [0.0, 1.0]])]\n\n        with self.assertRaisesRegex(\n            ValueError,\n            \"requires `past_actions` when transition tensors have more than one control state\",\n        ):\n            inference.update_posterior_states(\n                A=A,\n                B=B,\n                obs=obs,\n                past_actions=None,\n                prior=prior,\n                A_dependencies=[[0]],\n                B_dependencies=[[0]],\n                method=\"mmp\",\n                distr_obs=True,\n                return_info=True,\n            )\n\n    def test_calc_vfe_with_smoothed_exact_posterior_matches_bruteforce_sequence_vfe(self):\n        prior = [jnp.array([0.55, 0.45])]\n        A = [jnp.array([[0.92, 0.12], [0.08, 0.88]])]\n        B = [\n            jnp.array(\n                [\n                    [[0.85, 0.30], [0.20, 0.65]],\n                    [[0.15, 0.70], [0.80, 0.35]],\n                ]\n            )\n        ]\n        obs_idx = jnp.array([0, 1, 1])\n        obs = [nn.one_hot(obs_idx, 2)]\n        actions = jnp.array([0, 1])\n\n        filtered_qs = _filtered_history_single_factor(\"exact\", A, B, prior, obs, actions)\n        smoothed_qs, joint_qs = inference.smoothing_exact(filtered_qs, B, actions)\n        _, vfe = maths.calc_vfe(\n            smoothed_qs,\n            prior,\n            obs=obs,\n            A=A,\n            B=B,\n            past_actions=actions,\n            A_dependencies=[[0]],\n            B_dependencies=[[0]],\n            joint_qs=joint_qs,\n        )\n\n        expected_vfe = _bruteforce_sequence_vfe(\n            np.asarray(prior[0]),\n            np.asarray(A[0]),\n            np.asarray(B[0]),\n            np.asarray(obs_idx),\n            np.asarray(actions),\n        )\n\n        np.testing.assert_allclose(np.asarray(vfe), expected_vfe, atol=1e-6)\n\n    def test_calc_vfe_with_smoothed_ovf_posterior_matches_bruteforce_sequence_vfe(self):\n        prior = [jnp.array([0.55, 0.45])]\n        A = [jnp.array([[0.92, 0.12], [0.08, 0.88]])]\n        B = [\n            jnp.array(\n                [\n                    [[0.85, 0.30], [0.20, 0.65]],\n                    [[0.15, 0.70], [0.80, 0.35]],\n                ]\n            )\n        ]\n        obs_idx = jnp.array([0, 1, 1])\n        obs = [nn.one_hot(obs_idx, 2)]\n        actions = jnp.array([0, 1])\n\n        filtered_qs = _filtered_history_single_factor(\"ovf\", A, B, prior, obs, actions)\n        smoothed_qs, joint_qs = inference.smoothing_ovf(filtered_qs, B, actions)\n        _, vfe = maths.calc_vfe(\n            smoothed_qs,\n            prior,\n            obs=obs,\n            A=A,\n            B=B,\n            past_actions=actions,\n            A_dependencies=[[0]],\n            B_dependencies=[[0]],\n            joint_qs=joint_qs,\n        )\n\n        expected_vfe = _bruteforce_sequence_vfe(\n            np.asarray(prior[0]),\n            np.asarray(A[0]),\n            np.asarray(B[0]),\n            np.asarray(obs_idx),\n            np.asarray(actions),\n        )\n\n        np.testing.assert_allclose(np.asarray(vfe), expected_vfe, atol=1e-6)\n\n\nif __name__ == \"__main__\":\n    unittest.main()\n"
  },
  {
    "path": "test/test_wrappers.py",
    "content": "import unittest\nfrom pymdp.legacy.utils import Dimensions, get_model_dimensions_from_labels\n\nclass TestWrappers(unittest.TestCase):\n\n    def test_get_model_dimensions_from_labels(self):\n        \"\"\"\n        Tests model dimension extraction from labels including observations, states and actions.\n        \"\"\"\n        model_labels = {\n            \"observations\": {\n                \"species_observation\": [\n                    \"absent\",\n                    \"present\",\n                ],\n                \"budget_observation\": [\n                    \"high\",\n                    \"medium\",\n                    \"low\",\n                ],\n            },\n            \"states\": {\n                \"species_state\": [\n                    \"extant\",\n                    \"extinct\",\n                ],\n            },\n            \"actions\": {\n                \"conservation_action\": [\n                    \"manage\",\n                    \"survey\",\n                    \"stop\",\n                ],\n            },\n        }\n\n        want = Dimensions(\n            num_observations=[2, 3],\n            num_observation_modalities=2,\n            num_states=[2],\n            num_state_factors=1,\n            num_controls=[3],\n            num_control_factors=1,\n        )\n\n        got = get_model_dimensions_from_labels(model_labels)\n\n        self.assertEqual(want.num_observations, got.num_observations)\n        self.assertEqual(want.num_observation_modalities, got.num_observation_modalities)\n        self.assertEqual(want.num_states, got.num_states)\n        self.assertEqual(want.num_state_factors, got.num_state_factors)\n        self.assertEqual(want.num_controls, got.num_controls)\n        self.assertEqual(want.num_control_factors, got.num_control_factors)\n       \nif __name__ == \"__main__\":\n    unittest.main()\n    "
  }
]