{ "cells": [ { "cell_type": "markdown", "id": "a486ca71", "metadata": {}, "source": [ "# Geometry plotting\n", "\n", "This notebook provides a tutorial for plotting tidy3d components **before** running them, to get a sense for the geometry." ] }, { "cell_type": "code", "execution_count": 1, "id": "708d098a", "metadata": { "execution": { "iopub.execute_input": "2023-02-03T06:00:56.459772Z", "iopub.status.busy": "2023-02-03T06:00:56.459442Z", "iopub.status.idle": "2023-02-03T06:00:57.078759Z", "shell.execute_reply": "2023-02-03T06:00:57.078452Z" }, "tags": [] }, "outputs": [ { "data": { "text/html": [ "
[00:00:57] WARNING This version of Tidy3D was pip installed from the 'tidy3d-beta' repository on __init__.py:103\n", " PyPI. Future releases will be uploaded to the 'tidy3d' repository. From now on, \n", " please use 'pip install tidy3d' instead. \n", "\n" ], "text/plain": [ "\u001b[2;36m[00:00:57]\u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING \u001b[0m This version of Tidy3D was pip installed from the \u001b[32m'tidy3d-beta'\u001b[0m repository on \u001b]8;id=841208;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=911850;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py#103\u001b\\\u001b[2m103\u001b[0m\u001b]8;;\u001b\\\n", "\u001b[2;36m \u001b[0m PyPI. Future releases will be uploaded to the \u001b[32m'tidy3d'\u001b[0m repository. From now on, \u001b[2m \u001b[0m\n", "\u001b[2;36m \u001b[0m please use \u001b[32m'pip install tidy3d'\u001b[0m instead. \u001b[2m \u001b[0m\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
INFO Using client version: 1.9.0rc1 __init__.py:121\n", "\n" ], "text/plain": [ "\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Using client version: \u001b[1;36m1.9\u001b[0m.0rc1 \u001b]8;id=566115;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=936901;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py#121\u001b\\\u001b[2m121\u001b[0m\u001b]8;;\u001b\\\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pylab as plt\n", "import numpy as np\n", "\n", "import tidy3d as td\n", "\n", "td.config.logging_level = \"error\"\n" ] }, { "cell_type": "markdown", "id": "23d3dc07", "metadata": {}, "source": [ "## Simple, 2D plotting\n", "\n", "### Geometries\n", "\n", "All [Geometry](https://docs.flexcompute.com/projects/tidy3d/en/v1.9.0rc1/_autosummary/tidy3d.components.geometry.Geometry.html) objects, such as [Box](https://docs.flexcompute.com/projects/tidy3d/en/v1.9.0rc1/_autosummary/tidy3d.Box.html), [Sphere](https://docs.flexcompute.com/projects/tidy3d/en/v1.9.0rc1/_autosummary/tidy3d.Sphere.html), [Cylinder](https://docs.flexcompute.com/projects/tidy3d/en/v1.9.0rc1/_autosummary/tidy3d.Cylinder.html), and [PolySlab](https://docs.flexcompute.com/projects/tidy3d/en/v1.9.0rc1/_autosummary/tidy3d.PolySlab.html), have a `.plot()` method that plots their geometries on a plane specified by coordinate=position syntax (eg. `z=5.0`)." ] }, { "cell_type": "code", "execution_count": 2, "id": "6160eaef", "metadata": { "execution": { "iopub.execute_input": "2023-02-03T06:00:57.080314Z", "iopub.status.busy": "2023-02-03T06:00:57.080145Z", "iopub.status.idle": "2023-02-03T06:00:57.151276Z", "shell.execute_reply": "2023-02-03T06:00:57.151011Z" }, "tags": [] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdMAAAHWCAYAAAAsM2MeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABVN0lEQVR4nO3dd3hT5eMF8JO0TdJ078GeLRtk1KLIKhTBgbJFCqigKEtwgCII/rCgbEVRFCtLGbJREAoFGZat7D0LHdCRjrRpm/f3BzZfK6uQtm/G+TxPHujNvcnJJeT03vveG4UQQoCIiIgemVJ2ACIiImvHMiUiIjITy5SIiMhMLFMiIiIzsUyJiIjMxDIlIiIyE8uUiIjITCxTIiIiM7FMiYiIzMQyJbITcXFxUCgUiIuLkx2FyOawTIlszFdffYWYmBjZMR7J0qVLMWvWLNkxivn+++9Rp04daDQa1KpVC1988UWJl83Ly8P777+P4OBgODs7IywsDFu2bLnrvHv27MGTTz4JrVaLwMBADB8+HFlZWaX1MqisCSKyKfXq1ROtW7e+Y3phYaHQ6/WisLCw/EOVUJcuXUSVKlVkxzCZN2+eACC6desmvv32W9GvXz8BQEyZMqVEy/fu3Vs4OjqKd955R3zzzTciPDxcODo6ij/++KPYfIcPHxYajUY0adJEfP311+LDDz8UarVadOrUqSxeFpUBlinZpKysLNkRpLlXmVoDSyrTnJwc4ePjI7p06VJset++fYWLi4tITU297/Lx8fECgPj8889N0/R6vahRo4YIDw8vNu/TTz8tgoKCREZGhmna/PnzBQCxefPmUng1VNZYpmTxrl27Jl555RURFBQkVCqVqFq1qnjjjTdEXl6eEEKIH374QQAQcXFxYsiQIcLPz094enqalp87d66oW7euUKlUIigoSLz55psiLS2t2HOcOXNGvPjiiyIgIECo1WpRoUIF0atXL5Genm6a5/fffxdPPPGE8PDwEC4uLqJ27dpi7NixD8xfkuVyc3PF+PHjRY0aNYRKpRIVK1YU7777rsjNzb3j8RYtWiSaN28unJ2dhaenp2jVqpXpA7dKlSoCQLFbUbFu375dABDbt28v9njLly8Xjz32mNBoNMLHx0f07dtXXLt2rdg8/fv3Fy4uLuLatWvi+eefFy4uLsLX11eMHj1aFBQUPHAdrFmzRnTu3Nn0b1i9enUxadKkYsu2bt36juz3K9YFCxYIAOL7778vNn3y5MkCgNi4ceMDc93Pxo0b7/o4e/bsEQDEokWL7rv8u+++KxwcHIoVpBBCfPrppwKAuHLlihBCiIyMDOHo6CjefffdYvPl5eUJV1dX8eqrr5r1Oqh8OJbzXmWih3L9+nW0aNEC6enpGDx4MEJDQ5GQkICVK1ciJycHKpXKNO+bb74JPz8/jB8/HtnZ2QCAjz/+GBMnTkRERASGDBmC06dP4+uvv8b+/fuxe/duODk5wWAwIDIyEnl5eRg2bBgCAwORkJCADRs2ID09HR4eHjh+/DieeeYZNGzYEJMmTYJarca5c+ewe/fu++YvyXJGoxHPPfccdu3ahcGDB6NOnTo4evQoZs6ciTNnzmDNmjWmeSdOnIiPP/4YLVu2xKRJk6BSqRAfH49t27ahY8eOmDVrFoYNGwZXV1d8+OGHAICAgIB75ouJicHAgQPRvHlzREdHIykpCbNnz8bu3btx+PBheHp6muYtLCxEZGQkwsLCMG3aNGzduhXTp09HjRo1MGTIkPuuh5iYGLi6umLUqFFwdXXFtm3bMH78eOh0Onz++ecAgA8//BAZGRm4du0aZs6cCQBwdXW952MOHDgQq1atwqhRo9ChQwdUqlQJR48excSJE/Hqq6+ic+fOpnnT0tJQWFh434wAoNVqodVqAQCHDx8GADRr1qzYPE2bNoVSqcThw4fx8ssv3/OxDh8+jNq1a8Pd3b3Y9BYtWgAAjhw5YspcUFBwx/OoVCo0btzYlIMsnOw2J7qfqKgooVQqxf79+++4z2g0CiH+t2X65JNPFtvSSU5OFiqVSnTs2LHYccIvv/xSABALFiwQQtw+XgVArFix4p45Zs6cKQCIlJSUh8pfkuUWLVoklErlHcfRio7X7d69WwghxNmzZ4VSqRQvvPDCHcc9i9aFEPfezfvfLVODwSD8/f1F/fr1hV6vN823YcMGAUCMHz/eNK1///4CgJg0aVKxx2zSpIlo2rTp/VeCuL3L9L9ef/11odVqi219P+xu3hs3bghvb2/RoUMHkZeXJ5o0aSIqV658x9bg3bbY73abMGGCaZm33npLODg43PV5/fz8RO/eve+brV69eqJdu3Z3TD9+/LgAIObNmyeEEGLFihUCgNi5c+cd8/bo0UMEBgY+aDWQBeBoXrJYRqMRa9aswbPPPnvHb+0AoFAoiv08aNAgODg4mH7eunUrDAYDRo4cCaVSWWw+d3d3bNy4EQDg4eEBANi8eTNycnLumqVoC23t2rUwGo0lfg0lWW7FihWoU6cOQkNDcfPmTdOtXbt2AIDt27cDANasWQOj0Yjx48cXez3AneuiJA4cOIDk5GS8+eab0Gg0puldunRBaGioaf382xtvvFHs51atWuHChQsPfC5nZ2fT3zMzM3Hz5k20atUKOTk5OHXq1ENnLxIYGIi5c+diy5YtaNWqFY4cOYIFCxbcsTW4ZMkSbNmy5YG3qKgo0zJ6vb7Yno9/02g00Ov1982m1+uhVqvvumzR/f/+817zPuh5yDJwNy9ZrJSUFOh0OtSvX79E81erVq3Yz5cvXwYAhISEFJuuUqlQvXp10/3VqlXDqFGjMGPGDCxZsgStWrXCc889h5dfftlUtL169cJ3332H1157DWPGjEH79u3x4osvonv37ncU27+VZLmzZ8/i5MmT8PPzu+tjJCcnAwDOnz8PpVKJunXrlmh9PMi91g8AhIaGYteuXcWmaTSaOzJ6eXkhLS3tgc91/PhxjBs3Dtu2bYNOpyt2X0ZGxsNGL6Z3795YvHgxNm7ciMGDB6N9+/Z3zPPEE0889OM6OzvDYDDc9b7c3NxivyDca/m8vLy7Llt0/7//vNe8D3oesgwsU7IZ5nzoTJ8+HQMGDMDatWvx+++/Y/jw4YiOjsaff/6JihUrwtnZGTt37sT27duxceNGbNq0CcuWLUO7du3w+++/F9si/m+mBy1nNBrRoEEDzJgx466PUalSpUd+XaXpXq/xQdLT09G6dWu4u7tj0qRJqFGjBjQaDQ4dOoT333//obb07+bWrVs4cOAAAODEiRMwGo13/IKTkpJSomOmrq6upuO0QUFBKCwsRHJyMvz9/U3zGAwG3Lp1C8HBwfd9rKCgICQkJNwx/caNGwBgWj4oKKjY9P/O+6DnIcvA3bxksfz8/ODu7o5jx4490vJVqlQBAJw+fbrYdIPBgIsXL5ruL9KgQQOMGzcOO3fuxB9//IGEhATMmzfPdL9SqUT79u0xY8YMnDhxApMnT8a2bdtMu2Hv5UHL1ahRA6mpqWjfvj0iIiLuuBVtOdaoUQNGoxEnTpy47/OVdJfvvdZP0bT/rp9HFRcXh1u3biEmJgYjRozAM888g4iICHh5ed0x76Psrn7rrbeQmZmJ6Oho7Nq1664XfWjevDmCgoIeeJs2bZppmcaNGwOAqaiLHDhwAEaj0XT/vTRu3Bhnzpy5Y0s8Pj6+2OPXr18fjo6OdzyPwWDAkSNHHvg8ZBlYpmSxlEolunbtivXr19/xQQMAQoj7Lh8REQGVSoU5c+YUm/f7779HRkYGunTpAgDQ6XQoKCgotmyDBg2gVCpNu95SU1PvePyiD7m77Z4rUpLlevbsiYSEBMyfP/+OefV6vWlkcteuXaFUKjFp0qQ7tub+/fpcXFyQnp5+z0xFmjVrBn9/f8ybN6/Ya/jtt99w8uRJ0/oxV9EW7b8zGgwGfPXVV3fM6+Li8lC7fVeuXIlly5ZhypQpGDNmDHr37o1x48bhzJkzxeZ7lGOm7dq1g7e3N77++utij/X1119Dq9UWWz83b97EqVOnih1z7969OwoLC/Htt9+apuXl5eGHH35AWFiYaY+Dh4cHIiIisHjxYmRmZprmXbRoEbKystCjR48Srw+SSO74J6L7u3btmggMDBRarVaMHDlSfPPNN+Ljjz8W9erVM50rWjSa924jfidMmCAAiI4dO4ovv/xSDBs2TDg4OIjmzZsLg8EghBBi9erVokKFCmLkyJHiq6++EnPmzBHNmzcXTk5OYu/evUIIIUaMGCGaNGkixo0bJ+bPny8mT54sKlSoICpWrFjsXNT/KslyhYWFonPnzkKhUIjevXuLL774QsyaNUu88cYbwtvbu9jr+uijjwQA0bJlSzFt2jTxxRdfiKioKDFmzBjTPG+++aZQKBTik08+ET/99JOIjY0VQtz9PNOidRcWFiZmzZolxo4dK7RarahatWqxc3GLzjO91/q9n5s3bwovLy9RpUoVMX36dDFjxgzRpEkT0ahRozvyfPbZZwKAePvtt8XSpUvFunXr7vm4SUlJwtfXV7Rt29Y0mvnmzZsiICBAhIeHl8qVnubOnSsAiO7du4v58+eLqKgoAUBMnjy52HxF6+G/5/D26NHDdA7pN998I1q2bCkcHR3Fjh07is138OBBoVari10BSaPRiI4dO5r9Gqh8sEzJ4l2+fFlERUUJPz8/oVarRfXq1cVbb711x0Ub7lamQtw+FSY0NFQ4OTmJgIAAMWTIkGJFceHCBfHKK6+IGjVqCI1GI7y9vUXbtm3F1q1bTfPExsaK559/XgQHBwuVSiWCg4NFnz59xJkzZ+6bvaTLGQwGMXXqVFGvXj2hVquFl5eXaNq0qZg4ceIdp3ksWLBANGnSxDRf69atxZYtW0z3JyYmii5dugg3N7cSXbRh2bJlpsfz9va+70Ub/qskZSqEELt37xaPP/64cHZ2FsHBweK9994TmzdvviNPVlaWeOmll4Snp+cDL9rw4osvCjc3N3Hp0qVi09euXSsAiKlTpz4wV0l8++23IiQkRKhUKlGjRg0xc+bMYqciCXHvMtXr9eKdd94RgYGBQq1Wi+bNm4tNmzbd9Xn++OMP0bJlS6HRaISfn5946623hE6nK5XXQGVPIcQD9pURERHRffGYKRERkZlYpkRERGZimRIREZmJZUpERGQmlikREZGZWKZERERm4rV5H8BoNOL69etwc3N7pEudERGRdRJCIDMzE8HBwff9QguAZfpA169ft5gLjRMRUfm7evUqKlaseN95WKYP4ObmBuD2yvzvdyQSEZHt0ul0qFSpkqkH7odl+gBFu3bd3d1ZpkREdqgkh/g4AImIiMhMLFMiIiIzsUyJiIjMxDIlIiIyE8uUiIjITCxTIiIiM7FMiYiIzMQyJSIiMhPLlIiIyEwsUyIiIjOxTImIiMzEMiUiIjITy5SIiMhMLFMiIiIzsUyJiIjMxDIlIiIyE8uUiIjITCxTIiIiM7FMiYiIzMQyJSIiMhPLlIiIyEwsUyIiIjOxTImIiMzEMiUiIjITy5SIiMhMLFMiIiIzsUyJiIjMxDIlIiIyE8uUiIjITCxTIiIiM7FMiYiIzMQyJSIiMhPLlIiIyEwsUyIiIjOxTImIiMzEMiUiIjITy5SIiMhMVlWmO3fuxLPPPovg4GAoFAqsWbPmgcvExcXhscceg1qtRs2aNRETE1PmOYmIyL5YVZlmZ2ejUaNGmDt3bonmv3jxIrp06YK2bdviyJEjGDlyJF577TVs3ry5jJMSEZE9cZQd4GE8/fTTePrpp0s8/7x581CtWjVMnz4dAFCnTh3s2rULM2fORGRkZFnFJCIiO2NVW6YPa+/evYiIiCg2LTIyEnv37pWUiMi6CCEghJAdg8jiWdWW6cNKTExEQEBAsWkBAQHQ6XTQ6/Vwdna+Y5m8vDzk5eWZftbpdGWek6isFBQU4NKlSzh//jzS0tKQlZWFzMxMZGZmmv5e9KdOl4kMXSZ0mTpkZWUjOysTOTnZEEYjnLUucHFxhaubK9zd3ODm5gYPd3e4ubnCzc0Nrq63//z3393d3VG1alXUrFkTGo1G9qogKlM2XaaPIjo6GhMnTpQdg6jEhBC4fv06zpw5Y7qdPnMGJ0+dxuVLF1FYUFBsfke1Fg5qDZQqLRROGsDJGcJJDYWTM5QqLyjcg6H0dYaDSgMPlfb2c+TnIs+gR64hF8kGPYwpeojrSVDkXwYKciEMeghDLgryclCYp4cQRtPzKRQKBFWohDqhtREaEoLatWubblWqVIGDg0O5ri+ismDTZRoYGIikpKRi05KSkuDu7n7XrVIAGDt2LEaNGmX6WafToVKlSmWak6gk9Ho9/v7772KleeLkaZw/fxb6nBwAgELpAI13IBQeQXDwqguPdh3g6BUMJ69gKJ3doHBSQ6Eo26M7QgiIgjwYc7NRkJGIgtQEZKVex94rCdhzdCPybs2HscAAAHByUqFKteqoGxqCkJD/lWzDhg3h6elZpjmJSpNNl2l4eDh+/fXXYtO2bNmC8PDwey6jVquhVqvLOhrRA+n1evz555+Ii4tD7Lbt2Bcfj/z82yWk9vCDg1cwlB5B0IQ1hat3BTh5VYCjZwAUDk5ScysUCiicNFA6aeDo5gNUrFfsfmEsRGHmLeSnJqAgLQFJqQm4fuwatuzej9zURAhhhEKhQINGjRHRri3atGmDVq1asVzJoimEFY0uyMrKwrlz5wAATZo0wYwZM9C2bVt4e3ujcuXKGDt2LBISErBw4UIAt0+NqV+/Pt566y288sor2LZtG4YPH46NGzeWeDSvTqeDh4cHMjIy4O7uXmavjSg3N7dYecbHxyPfkAcnrTucKtaDulIDqCvWhZN3BShVd9+zYu1EQT7y02/AcP00cq/8jYJrx5CXkQKlUnlHuXp4eMiOSzbuYT7/rapM4+Li0LZt2zum9+/fHzExMRgwYAAuXbqEuLi4Ysu8/fbbOHHiBCpWrIiPPvoIAwYMKPFzskyprOTm5iI+Ph5xcXHYGrvtX+XpBqeK9aGu1ACayg3g5FelzHfNWiohBAoykpB35W/kXjnKcqVyZbNlKgPLlErTjRs38NNPP2HN2nX4888//1Oe9f8pz6p2W54PIoRAQXoicq8cRd7Voyi4dhR5GTehVCrRsHETPNP5afTt2xehoaGyo5INYJmWIpYpmUun02H16tX4ceEi7IjbDigdoKnaBOrKjW6Xpz/L81H9u1xzr/wFw8WDKNBnoVGTx9C/38vo3bs3goKCZMckK8UyLUUsU3oUBoMBmzdvxuLFi7Fm7ToY8nKhrdIQmjqtoQ15Ag4aV9kRbZIoMEB//gByTmyH/sIBwFiItm3bISqqH1544QW4ubnJjkhWhGVailimVFJCCOzduxeLFy/GTz8vQ3paKjT+VaGp0wYudZ+Co7u/7Ih2pTA3CzmndiH3ZBxyrhyDWuOMrs8/j379XkbHjh3h5CR31DNZPpZpKWKZ0oOcOnUKS5YswcLFS3Dl0kWoPXyhDm0Nl7ptoPKvJjseASjISEb2yR3IPbkDucmX4OXtgz69e+Hll1/G448/DoVCITsiWSCWaSlimdLdFBQUYPny5Zg+YyYOHTwAR40LNLWfgEu9NlBXqs9joBZKCIH8lIvIPh6H3FM7YdDdRJVq1TFi2FAMGjQIrq7c/U7/wzItRSxT+rfc3FzExMQgeupnuHLpIrTVm0LbsCO0NZpD4aiSHY8egjAWIvfqMWQf3Qr9qZ1wc3PH2yNHYNiwYfD29pYdjywAy7QUsUwJADIzMzFv3jx8Pm06UlKS4RL6JNzDukMVUEN2NCoFBRnJ0O1bhZyjW6BycsAbr7+O0aNHo0KFCrKjkUQs01LEMrVvKSkpmDNnDmbP+QLZ2dnQ1msH97BucPLmh6wtKsxOh+7gOuQc+RWKAgP694/C+++/j5o1a8qORhKwTEsRy9Q+Xb16FZ9//jm+nf8dCowC2oaRcG/+AhzdfWVHo3JgzMtG5uHfkHNoLQqyM9C9e3eMHTsWjRs3lh2NyhHLtBSxTO3LqVOnMGXKVCxeshhKlTO0TZ6BW9Nn4eDMf3t7ZMzPQ/axWGTvX4W8tEREduqEDz/4AK1atZIdjcoBy7QUsUztw+nTpzH2gw+wZvVqOLn5wKXp83Bt3MlmLyhPD0cYC5F9ciey9/2C3ORLeDy8JaZOicZTTz0lOxqVIZZpKWKZ2rbs7Gx88sknmD59BhzcfODSojtc67eHwpEn9NOdhDBCf24/sv78GfrrZ9HnpZcwfdo0XrLQRrFMSxHL1DYJIfDLL79g+IiRSE65CdcW3eAe1g1KJ36XLT2YEEZkH42FbmcMnBSF+L9JkzB06FBeVcnGPMznP88sJ7tz6tQptI/ogB49ekDnUhEBr8yF55MvsUipxBQKJVwbdkDAa9/AoXZrjB79Dho0aowdO3bIjkaSsEzJbmRlZeH9999HgwYNsefICfh1nwDfFz+Ck2eg7GhkpRw0rvDuMASB/WfiSqZAmzZt0KdPH1y/fl12NCpn3M37ANzNa/2EEFi5ciWGj3wbKSk34RrWHR5h3XjFIipVQhiRfWwbMnfGwFHkY9LEiRg+fDh3/Vox7uYl+sepU6fQrn0EevbsicyiXbpP9GGRUqlTKJRwbRAB/1fnwSGkLd599z00aNgIcXFxsqNROWCZkk3KysrCe++9hwYNGmLvXye5S5fKze1dv28gsP8sXMlSoG3bttz1awe4m/cBuJvX+uzfvx/devTE9es3uEuXpCra9avbGQOVohAxCxage/fusmNRCXE3L9klIQRmzpyJli2fwM0CNQIGfslduiRV0a7fgFfnARUaoUePHhgyZAhyc3NlR6NSxjIlm3Dr1i0888yzGDVqFLRNnoFfnylw8uKJ9GQZHDSu8HnufXhHvoVvv1uA5i3CcPr0admxqBSxTMnq7dq1Cw0aNsKWuD/g1208vNq9CoUDR1CSZVEoFHBr/DQC+k3DuRtpaPJYUyxevFh2LColLFOyWkajEdHR0Wjdpg3SHTzh338OtDVbyI5FdF8q/+rw6zcDDtVaoF+/fhg4cCCys7NlxyIzcQDSA3AAkmVKSkpC374vI3ZbLNwf7wnPJ1+CQukgOxbRQ8k6Gov0rV+jRrWq+GXlCtSvX192JPoXDkAimxYbG4sGDRvhj/iD8O8xCV5P9WORklVybdAeAf1m4kpaLpo2a47vvvsO3L6xTixTshoFBQX46KOP0KFDB2Rrg+Dffw6cqzWRHYvILE6+leD38nSoQttg0KBB6PPSS9DpdLJj0UNylB2AqCQSExPRvUdP7Nm9Gx5Pvgz3x7tza5RshtJJDZ9OQ6Gp0hC/rPkS8fv2Y82qX9CoUSPZ0aiEuGVKFu/s2bNoEfY49v99Av59PoVHy14sUrJJLnWegn/ULCTpFXjiySexbds22ZGohFimZNEOHDiAx8NbIkVvhF/fz6GpxAEaZNucvILh2zsawj8EnTo9jeXLl8uORCXAMiWLtWXLFjzVug30Gl/49pkKR3d/2ZGIyoVS5QzfF8dBVbslevfujS+//FJ2JHoAlilZpJ9++gmdO3eBIqgOfHv+HxyceVoS2ReFgxN8uoyCa9PnMGzYMIwbN44jfS0YByCRxZk9ezZGjhwJ1/rt4N1pOBQOfJuSfVIolPBq9xocXL0xefJkJCYmYt68eXB05P8JS8N/EbIYQgiMHTsWU6dOhXuLF+HZZiAUCoXsWERSKRQKeIR1g4PWEwt+mIPklBQs+/lnODs7y45G/8IyJYtQUFCAQYMGISYmBl5tX4V7ixdkRyKyKK4N2kOpdceva6egfUQHbNywHl5eXrJj0T94zJSky8nJwfPPd8XCRYvg88xoFinRPWhrNIdfr8k4cOQonniyFRISEmRHon+wTEmq1NRUtGsfgc1bY+H74ni41msrOxKRRVNXCIVfn6m4cD0FYY+H49SpU7IjEVimJFFycjJaPvEkDh09Ab9ek+FcvansSERWwcm3Enz7fIZbeUqEt3wCR44ckR3J7rFMSYrMzExEdnoaFxOS4NdnCtTBIbIjEVkVR3df+PaZgjyNDzp0jMSFCxdkR7JrLFMqdwaDAc93fQHHTp6GT7eP4eRTSXYkIqvk4OwGn24TkGV0QruIDkhKSpIdyW6xTKlcGY1G9IuKwo6dO+HzwodQBVSXHYnIqjm4eMK7+0TcuJmOyE5PIzMzU3Yku8QypXIjhMDIkSOxfPlyeD/zDjSVG8qORGQTnDwD4dP9Yxw/dQbPPd8VeXl5siPZHZYplZspU6bgiy++gHeHIXAJeUJ2HCKbovKvDp8XxmHnH7vQLyoKRqNRdiS7wjKlcvH999/jgw8+gMcTfeDWpLPsOEQ2SVO5AXyeeQcrVqzA8OHDeS3fcsQypTK3bt06DB48GK6NO8HjiZdkxyGyadqQlvDu+Cbmzp2L6Oho2XHsBi8nSGVq9+7d6NGzF5xrPQ7vDkN4rV2icuDW+GkUZqfjww8/hL+/P1577TXZkWwey5TKzPHjx/F05y5wDKwFn2fegULpIDsSkd3waNkbhdlpeP311+Hv74/nnntOdiSbxt28VCauXLmC9h06okDrA58XxkHhqJIdiciuKBQKeEe8Duda4ejRsxd27dolO5JNY5lSqcvOzkbHTk8jPdcI724fQ6l2kR2JyC4plA7weWY0HANro3OXZ3iVpDLEMqVSN3ToUJw7fwHeL46Ho6u37DhEdk3hqIJP1w9gcNSiR89eMBgMsiPZJJYplapFixYhJiYGnhFDoPKtLDsOEQFQalzh9cy7OHLkCMaMGSM7jk1imVKpOX36NF5/4w241G8H1wbtZcchon9RB9WGR+uBmDlzJtavXy87js1hmVKp0Ov16Na9B4TWB94dhsiOQ0R34dbsObjUehz9ovrj6tWrsuPYFJYplYpRo0bh5KnT8Hr2PShVzrLjENFdKBQKeD09ArlwQs9evVFQUCA7ks1gmZLZVq5ciXnz5sGz/SCo/KvJjkNE9+Hg7AbPLu8gPj4eEyZMkB3HZrBMySwXLlzAgFdegUvok3Bt1El2HCIqAU3FuvB4si+io6OxZcsW2XFsAsuUHpnBYECPnr1Q4OgK707DeKlAIivi/nh3OFdtjD4v9UViYqLsOFaPZUqPbMyYMThy5Ai8nn2XF2YgsjIKhRLeXUYhM68Qvfu8hMLCQtmRrBrLlB7J+vXrMXPmTHi0Hgh1UG3ZcYjoETi4eMGzy2js2BHHb5gxE8uUHtrVq1fRL6o/XGqFwa0ZL55NZM2cqzSCR3hvTJgwATt37pQdx2qxTOmhCCEw+PXXkSsc4fX0CB4nJbIBHk/0hqZiXbwc1R96vV52HKvEMqWHsn79emz67Te4txsEB2d32XGIqBQolA7wjByGhGvX8Nlnn8mOY5VYplRier0ebw0bDm31pnCuFS47DhGVIifvCnBt3hWTP43mt8s8ApYpldiUKVNw/fp1eLYfzN27RDbII7w3lFoPDB8+QnYUq2N1ZTp37lxUrVoVGo0GYWFh2Ldv3z3njYmJgUKhKHbTaDTlmNZ2nD9/HtFTpsK1+Ytw8q4gOw4RlQGlSgO31q9g48YN2LBhg+w4VsWqynTZsmUYNWoUJkyYgEOHDqFRo0aIjIxEcnLyPZdxd3fHjRs3TLfLly+XY2LbIITA0GHDoNR6wCO8h+w4RFSGtCFPQFutCd4aNhy5ubmy41gNqyrTGTNmYNCgQRg4cCDq1q2LefPmQavVYsGCBfdcRqFQIDAw0HQLCAgox8S2wTToqM1rUDpxy57IlikUCni2fx3Xrl7lYKSHYDVlajAYcPDgQURERJimKZVKREREYO/evfdcLisrC1WqVEGlSpXw/PPP4/jx4+UR12bo9XoMLRp0VJuDjojsgZNPRbg2uz0Y6eLFi7LjWAWrKdObN2+isLDwji3LgICAe15XMiQkBAsWLMDatWuxePFiGI1GtGzZEteuXbvn8+Tl5UGn0xW72bMpU6YgISGBg46I7IxHy15QaNwwfAQHI5WE1ZTpowgPD0dUVBQaN26M1q1bY9WqVfDz88M333xzz2Wio6Ph4eFhulWqVKkcE1sW06CjFhx0RGRvlCpnuLV5FRvWr8fGjRtlx7F4VlOmvr6+cHBwQFJSUrHpSUlJCAwMLNFjODk5oUmTJjh37tw95xk7diwyMjJMN3v+Nvphw4dD6ewBj8d7yo5CRBLcHozUGG8OHcbBSA9gNWWqUqnQtGlTxMbGmqYZjUbExsYiPLxkx/IKCwtx9OhRBAUF3XMetVoNd3f3Yjd7tH79evz2669wb/salCoOOiKyR/8ejPT555/LjmPRrKZMAWDUqFGYP38+fvzxR5w8eRJDhgxBdnY2Bg4cCACIiorC2LFjTfNPmjQJv//+Oy5cuIBDhw7h5ZdfxuXLl/Haa6/JeglWwWAw/HOlo8c46IjIzjn5VIJrs+fxf5M/tes9dQ/iKDvAw+jVqxdSUlIwfvx4JCYmonHjxti0aZNpUNKVK1egVP7v94O0tDQMGjQIiYmJ8PLyQtOmTbFnzx7UrVtX1kuwCkuXLsXVy5cQ9Mo7HHRERPAI7wX90d8xbdo0zJ49W3Yci6QQQgjZISyZTqeDh4cHMjIy7GKXr9FoREidurghPOH74key4xCRhUj/YwnyDq/F1SuX4evrKztOuXiYz3+r2s1LZW/NmjU4d+Y03MJ4pSMi+h+3Zs8iv9CIOXPmyI5ikVimZCKEwP9N/hTaKg2hrhAqOw4RWRAHZ3doG0Zi1uw5dn/+/d2wTMkkNjYWhw8dhGtYd9lRiMgCuTd/AdnZ2fc9V99esUzJ5P8mfwrnoJrQVG0iOwoRWSBHd184122Lz6dN53mn/8EyJQDAvn37sCNuO1xadOcIXiK6J4+wbkhJScaPP/4oO4pFYZkSAGDyp59C41sRWp5XSkT34eRTES4hLfHplKkoKCiQHcdisEwJx48fx7q1a+HS/EUolA6y4xCRhXML64Erly5ixYoVsqNYDJYpYcqUqVB7+MGlXlvZUYjICqgDa0JbvSn+79No8FIFt7FM7dylS5ew9Kel0DbtCoWDk+w4RGQl3MK648Sxo/j1119lR7EILFM79/nnn8NB4wrXRpGyoxCRFVFXqg/ninXwyf9N5tYpWKZ2LSUlBd99vwDaJs/wm2GI6KEoFAq4hnVH/J97sWvXLtlxpGOZ2rGff/4Z+QX5cGvSWXYUIrJCzjWaQ+MdjAULFsiOIh3L1I7FLFwE5+rN4KD1kB2FiKyQQqGEuk5rLF+5Enq9XnYcqVimdurs2bM4dGA/tHXayI5CRFbMpW4b5GRlYf369bKjSMUytVNLliyBo0YL55otZEchIivm5F0BzhVCsGjxYtlRpGKZ2iEhBGIWLoK6VksondSy4xCRldOEtsZvv/2GW7duyY4iDcvUDu3btw+XL16AS902sqMQkQ1wqdMKRqOw6ysisUzt0KJFi6By94WmcgPZUYjIBji4eMG5WhP8uHCR7CjSsEztTH5+Pn76eRk0oU/xOrxEVGqc67TGn3v34OLFi7KjSMEytTNbtmxB6q2b3MVLRKVKWyscjmpnLF26VHYUKVimdmbRosXQ+FeFk3812VGIyIYoVRqoa4YhZuEiu7y8IMvUjmRmZmL1mjXQ1GnNLwAnolLnUrctzp05jcOHD8uOUu5YpnZkzZo1yMvVw6VOa9lRiMgGaao2hsrVC4vt8JxTlqkdWbhoMbSV68PRw192FCKyQQqlA9QhT2LRkqUoLCyUHadcsUztxK1bt7Atdis0vHwgEZUhl7ptcDM5CTt37pQdpVyxTO3Ezp07YTQa4Vy9qewoRGTDVEG1oHL1wPbt22VHKVcsUzuxfft2aHyC4ejuJzsKEdkwhUIJxwr1sDV2m+wo5Yplaie2xm6HY4X6smMQkR1QV2qA/fv2IScnR3aUcsMytQM3b97EyRPHoOblA4moHGgqN0BBQT727t0rO0q5YZnagaKBAJpK3DIlorLn5FsZKhcPxMXFyY5SblimdiAuLo7HS4mo3CgUSjhWrIfYbfYzCIllagd4vJSIypumckO7Om7KMrVxPF5KRDKoK9nXcVOWqY3bsWMHAB4vJaLyVXTc1F7ON2WZ2jgeLyUiGRQKBRwr1reb46YsUxu3dRuPlxKRHJrKDXBg/35kZ2fLjlLmWKY2LCUlBadOHOfxUiKSwp6Om7JMbdj/zi9lmRJR+XPyrQyVq6ddnG/KMrVhO3fu/Od4qa/sKERkhxQKBRwr1MP2uB2yo5Q5lqkNO3b8OJQ+VWXHICI75uRfDcdPnJAdo8yxTG3YqVNn4OgdLDsGEdkxJ68KyEhLRWpqquwoZYplaqP0ej2uJ1yFk1cF2VGIyI45ed/+DDp79qzkJGWLZWqjzp07BwBw9GaZEpE8jl5BAIAzZ85ITlK2WKY2quiN68QyJSKJlCpnqD38WKZknc6cOQMnZzcond1lRyEiO+fgGcwyJet05swZOHkHQ6FQyI5CRHZO6RWEEydPy45RplimNurkqdNQeHIkLxHJ5+RVAefOnYUQQnaUMsMytVGnz5yBoxfLlIjkc/SugFx9Dq5fvy47Splhmdqg1NRUpKfe4uAjIrIIRZ9FtnzclGVqg4rO52KZEpElcPQIgELpwDIl61L0huVuXiKyBAoHR2i8g1imZF3OnDkDtYcvlCpn2VGIiAAACo8gnDptuyN6WaY26MyZM3DwDJIdg4jIxMEr2KZPj2GZ2qCE6zegcPGRHYOIyMTRzQcpyUmyY5QZlqkNytBlQsFdvERkQRQqLfQ52TZ7rinL1AZlZmbyeCkRWRSlSgOj0YicnBzZUcoEy9QGZWdlccuUiCxK0WdSVlaW5CRlg2Vqg7KzuWVKRJal6DMpMzNTcpKywTK1MUajEfqcHCicNLKjEBGZKJy4ZUpWJDs7GwC4ZUpEFoVbpmRVin7rU6i1kpMQEf2PQnV7bxnLlKxC0RtVyd28RGRBlKrbv+BzNy9ZhaIy5WheIrIkCic1AG6ZWoy5c+eiatWq0Gg0CAsLw759++47/4oVKxAaGgqNRoMGDRrg119/LaekchT91sdjpkRkSRRKBzioNNwytQTLli3DqFGjMGHCBBw6dAiNGjVCZGQkkpOT7zr/nj170KdPH7z66qs4fPgwunbtiq5du+LYsWPlnLz8cMuUiCyVo1rLLdN/a9euHSZOnHjH9LS0NLRr187sUPcyY8YMDBo0CAMHDkTdunUxb948aLVaLFiw4K7zz549G506dcK7776LOnXq4JNPPsFjjz2GL7/8sswyysYtUyKyVEqVhmX6b3Fxcfjyyy/RtWtX06kYAGAwGLBjx45SC/dvBoMBBw8eREREhGmaUqlEREQE9u7de9dl9u7dW2x+AIiMjLzn/LbAtGX6z/EJIiJLoVA5czfvf23duhWJiYl4/PHHcenSpVKMdHc3b95EYWEhAgICik0PCAhAYmLiXZdJTEx8qPkBIC8vDzqdrtjNmuTk5MDBSQ2Fwqr24BORHRAKJQoKCmTHKBOP/IkbFBSEHTt2oEGDBmjevDni4uJKMZY80dHR8PDwMN0qVaokO9JDcXZ2RmGBwWa/mYGIrJdCCDg4OMiOUSYeqUwVCgUAQK1WY+nSpRgxYgQ6deqEr776qlTD/Zuvry8cHByQlFT8+/CSkpIQGBh412UCAwMfan4AGDt2LDIyMky3q1evmh++HLm5uQFCQOTnyo5CRFSMyNff/oyyQY9Upv/d6hk3bhyWLFmC6dOnl0qou1GpVGjatCliY2NN04xGI2JjYxEeHn7XZcLDw4vNDwBbtmy55/zA7V8Q3N3di92sSdEbVRhYpkRkWYx5eri6usqOUSYcH2Whixcvws/Pr9i0bt26ITQ0FAcOHCiVYHczatQo9O/fH82aNUOLFi0wa9YsZGdnY+DAgQCAqKgoVKhQAdHR0QCAESNGoHXr1pg+fTq6dOmCn3/+GQcOHMC3335bZhllK3qjGg05cICX5DRERP9TaLDdLdNHKtMqVarcdXq9evVQr149swLdT69evZCSkoLx48cjMTERjRs3xqZNm0yDjK5cuQKl8n8b2y1btsTSpUsxbtw4fPDBB6hVqxbWrFmD+vXrl1lG2YreqEaDXnISIqL/EcKIAm6ZWo6hQ4di6NChd73vboOgevTogR49epRxKstR9EblMVMisiRFh55sdcuU50/YGG6ZEpElKvpMYpmSVTBtmbJMiciCFH0m2epuXpapjfnfACSWKRFZDmM+d/OSFVEqlXDWarllSkQWRRhyAHDLlKyI1sWVW6ZEZFGMHIBE1sbV1ZVbpkRkUQQHIJG1cXXllikRWRajQQ+FQgGtVis7SplgmdogD3d3bpkSkUURBj2ctS6ma7vbGpapDQoKDITISZMdg4jIpDArFb5+/rJjlBmWqQ0KCakNY/p12TGIiEwK0hJQt06I7BhlhmVqg2rXro3c9BTT6DkiItlExg2EhrBMyYrUrl0bAFDArVMisgDCWIjc1OumzyZbxDK1QUVv2PxUlikRyVeQkQRRWMgyJevi4+MDD08vFKQmyI5CRGT6LGKZktWpXbs28tNYpkQkX37qdag1zqhQoYLsKGWGZWqj6oSGQKTfkB2DiAj5aQmoXqMmlErbrRzbfWV2jlumRGQpjGnXUTfUdkfyAixTm1W7dm3kZ+tQqNfJjkJEds6Yfh0hIbZ7vBRgmdos0+kxHIRERBIZ83ORm56MWrVqyY5SplimNqpmzZoAeHoMEclVkHZ77IYtj+QFWKY2y8XFBYFBFXjclIikyreD02IAlqlNCwmpzd28RCRVQdp1uHt4wsfHR3aUMsUytWH169WFuHVZdgwismOG5IuoU6eOzX71WhGWqQ1r1aoV9DevoSArVXYUIrJDQggUXj+ONq2fkh2lzLFMbVjr1q0BAHlXjkpOQkT2qCA1AXm6VLRp00Z2lDLHMrVhgYGBqFkrBLlXWaZEVP5yrx6F0sEBTzzxhOwoZY5lauM6RLRDYcJx2TGIyA7lXTmKpk2bwc3NTXaUMscytXFt2rSBPuUqj5sSUbkSQiD/2jG0b9dWdpRywTK1cTxuSkQyFKRegyHTPo6XAixTmxcQEICatUN53JSIylXuFfs5XgqwTO1Ch/ZtedyUiMpV7tXbx0tdXV1lRykXLFM7YDpumnlLdhQisgNCCBRcO243x0sBlqldKDpmkXf1mNwgRGQXio6Xtm3LMiUb4u/vj9ohdZDLQUhEVA5yrxyFg6MjWrZsKTtKuWGZ2omI9m1RmMAtUyIqe7lXjuIxOzpeCrBM7UabNm1uX6eXx02JqAzdPl56DBF2dLwUYJnajdatW0OhUCD34kHZUYjIhuUnX4AhK82ujpcCLFO74e/vj6dat4H+5E7ZUYjIhmUfj4O3j6/dXKyhCMvUjkT1exk5l/9CQeZN2VGIyAYJYyHyTv+BPr17wcnJSXaccsUytSPdunWDk5MKOdw6JaIykHvlKPJ0N9GvXz/ZUcody9SOeHh44Nlnn0HuyR2yoxCRDco+Hocq1aqjRYsWsqOUO5apnYnq1w/6xPMwpFyWHYWIbIgxPw955/ZgQFQ/KBQK2XHKHcvUzjz99NNw9/BE9ok42VGIyIboz+1DQW4O+vbtKzuKFCxTO6NSqdC7V0/kndoBIYyy4xCRjdCfjMNjzZqjVq1asqNIwTK1Q/369UNeejLyrp2QHYWIbEChXoecCwcwIMr+Bh4VYZnaoZYtW6JCpcrIPh4nOwoR2YCcU7ugANCrVy/ZUaRhmdohpVKJ/v1eRt6ZXRAF+bLjEJGVyz0Zhw4dOsDf3192FGlYpnaqb9++yNdnQX/hgOwoRGTF8tMTkXP1BPq9/LLsKFKxTO1U3bp10aBRY+RwVC8RmSHnxA44a7Xo2rWr7ChSsUzt2ICoftCf34fC3CzZUYjICgkhkHtqB1584UW4uLjIjiMVy9SOvfTSS3BQKJB1ZJPsKERkhXIvHUZuyhW88spA2VGkY5nascDAQPTvH4WcQ2thzM+THYeIrExW/Eo0eayp3X3d2t2wTO3c+++/j4LsDGQfi5UdhYisSF7CKeRc/hvjPvzALi8f+F8sUztXs2ZNdOveHdn7V0MYC2XHISIrkRm/AjVrh9j9wKMiLFPCB2PHIi/tBrL51WxEVAKGlEvIPhuPD8eOgVLJGgFYpgSgcePGiOzUCdn7fuH1eonogXTxKxFUoSJeeukl2VEsBsuUAAAffvABcpMvQX9+v+woRGTB8tMTkXPyD4x5712oVCrZcSwGy5QAAK1atcLj4S2RFb8SQgjZcYjIQun2rYKnpydee+012VEsCsuUTMZ9+AH0104i7+ox2VGIyAIVZqUh5+hWjB71NrRarew4FoVlSiadO3dGvfoNkBm/UnYUIrJAugNrodGo8NZbb8mOYnFYpmSiUCjw4QdjkXPhIPISz8mOQ0QWxJibhZy/fsXQN9+Ep6en7DgWh2VKxfTo0QOVq1ZDZvwK2VGIyIJkHv4VCmMh3n77bdlRLBLLlIpxdHTEB2PeR/bpPci/dU12HCKyAMb8XOQcWodXBg5AYGCg7DgWyWrKNDU1FX379oW7uzs8PT3x6quvIivr/t920qZNGygUimK3N954o5wSW6/+/fsjMCgYGTtjZEchIgugi/8FxtxsvP/++7KjWCyrKdO+ffvi+PHj2LJlCzZs2ICdO3di8ODBD1xu0KBBuHHjhun22WeflUNa66bRaDBn1kxkn/mT550S2bn8tBvIjP8F77wzGtWqVZMdx2I5yg5QEidPnsSmTZuwf/9+NGvWDADwxRdfoHPnzpg2bRqCg4PvuaxWq+VuiUfQvXt3tGnbDnu3zYemSiMoHHlyNpE9ytg2H4EB/hg3bpzsKBbNKrZM9+7dC09PT1ORAkBERASUSiXi4+Pvu+ySJUvg6+uL+vXrY+zYscjJybnv/Hl5edDpdMVu9kihUOCruV+iQJeMjPhfZMchIglyzsUj+9w+zJk9y+6//PtBrKJMExMT4e/vX2yao6MjvL29kZiYeM/lXnrpJSxevBjbt2/H2LFjsWjRIrz88sv3fa7o6Gh4eHiYbpUqVSqV12CN6tSpg1Fvv42s+JUoyEiSHYeIypExPw+6bd8hIqIDXnzxRdlxLJ7UMh0zZswdA4T+ezt16tQjP/7gwYMRGRmJBg0aoG/fvli4cCFWr16N8+fP33OZsWPHIiMjw3S7evXqIz+/LRg/fjx8fX2Qvm2+7ChEVI508b+gMPMm5s79kt9XWgJSj5mOHj0aAwYMuO881atXR2BgIJKTk4tNLygoQGpq6kMdDw0LCwMAnDt3DjVq1LjrPGq1Gmq1usSPaetcXV0xZ9ZM9OrVCy7n98O5RnPZkYiojOWnJyIzfiXeHT0KtWvXlh3HKkgtUz8/P/j5+T1wvvDwcKSnp+PgwYNo2rQpAGDbtm0wGo2mgiyJI0eOAACCgoIeKa+96tGjB776eh7+5GAkIruQsW0+AgL88dFHH8mOYjWs4phpnTp10KlTJwwaNAj79u3D7t27MXToUPTu3ds0kjchIQGhoaHYt28fAOD8+fP45JNPcPDgQVy6dAnr1q1DVFQUnnrqKTRs2FDmy7E6CoUCX3819/ZgpH2rZMchojKUc24fss/GY86smRx09BCsokyB26NyQ0ND0b59e3Tu3BlPPvkkvv32W9P9+fn5OH36tGm0rkqlwtatW9GxY0eEhoZi9OjR6NatG9avXy/rJVi1OnXq4O2RI5H15woORiKyUaLAAN32+WjXPgLdunWTHceqKAS/vPK+dDodPDw8kJGRAXd3d9lxpMrMzEStkFBkuVWB7wsfyo5DRKUsffdPyP5zOY4dO4qQkBDZcaR7mM9/q9kyJfnc3Nwwe+YMZJ/ZC/35A7LjEFEpyk9PRFb8Sowa9TaL9BGwTOmh9OzZE63btEVG7Dcw5mXLjkNEpUAII9K3fAU/P18OOnpELFN6KAqFAgu+/w6OBVlI3fwleJSAyPrp4lch58Ih/PjDAri6usqOY5VYpvTQqlevjgXffYfsk38g66/NsuMQkRlyr51Exh+LMGbMGHTs2FF2HKvFMqVH0rNnT7z++uvI2DYfhpRLsuMQ0SMo1GcifePnCAsLwyeffCI7jlVjmdIjmzlzJkJDaiNt/VQYDbmy4xDRQxBCIG3TbKiFAct+/gmOjlbxJWIWi2VKj8zZ2RkrVywHsm4hbes82XGI6CFkHlyP7DN/YtHCH1G5cmXZcawey5TMEhoaim/mfY2so1uRdSxWdhwiKoG8G2eREbcAI0aMwHPPPSc7jk1gmZLZoqKiEBXVHxlb5yH/ln1/yw6RpTPmZSNtw2do1KgRPvvsM9lxbAbLlErF3LlfomqVykhd/zmM+Xmy4xDRXQghkLr5SzjmZ2HF8mVQqfilFaWFZUqlwtXVFb+sWA5j+nWkbftOdhwiuousvzYj++QfWPDdd/f8Gkp6NCxTKjUNGzbEF3NmI+vIb8g+tUt2HCL6F0PKJWRsm4/XX38dPXv2lB3H5rBMqVQNGjQIPXr2RPrmL5CfdkN2HCICYDTokbZ+KkJDamPmzJmy49gklimVKoVCge/mz0fF4ECkrpqEwpwM2ZGI7JooLMCtdVOhzEnFyhXL4ezsLDuSTWKZUqlzd3fHls2boBV63PplEi/oQCSJEEak/jYbhst/Yc3q1QgNDZUdyWaxTKlM1KxZE79v3gRFxjXcWhsNUVggOxKR3UmPi0HW8e1YtGghOnToIDuOTWOZUplp2rQp1q5ZA8OVv3Hrt9kQwig7EpHd0O1bBd2+VZg9ezZ69+4tO47NY5lSmYqIiMDixYuQcyIO6XExsuMQ2YWs49uRtn0BxowZg+HDh8uOYxd4ZWMqc7169UJycjKGDx8OpdYTHmEvyo5EZLP0Fw4i7bdZGDhwID799FPZcewGy5TKxbBhw3Djxg1ER0fDwcUTrvXbyY5EZHPyrp/GrbXR6BTZCd9++y0UCoXsSHaDZUrlZvLkyUhMTMSPC2fDwdkdzjWayY5EZDPyb13DrVWT0OyxJlixYjm/Uq2c8ZgplRuFQoFvv/0WTz/9NG6tm4K866dlRyKyCQWZN3Fr5XhUrxSMXzdugFarlR3J7rBMqVw5Ojpi+bJlaN70MdxaNYnfMkNkJmNuFm6t/BjeLips3fI7vL29ZUeySyxTKndarRYbN6xH9coVcGvlBBRkJMmORGSVjHk5uLnqE6gNGYjd8jsqVqwoO5LdYpmSFN7e3tj6+2YEeLogZel7MCRflB2JyKoUZqfj5rIPoUy/gt9+3Yg6derIjmTXWKYkTcWKFRG/dw9CqlZEys9jkXv1mOxIRFYhPz0RKT+9D9dCHXbt3Inw8HDZkewey5SkCgwMxK4/duKJsOZIWT4eOWf2yo5EZNEMSRdwc+l7CPLQ4M+9e9C4cWPZkQgsU7IA7u7u2LzpN7zQ9TncXBONzCObZEciski5V/5Gys9jUbdmVcTv3YPq1avLjkT/YJmSRVCr1Vj2888YMuQNpG7+Eum7f4IQQnYsIouRfXo3UlZMQKuWj2Pnjjj4+/vLjkT/wrN6yWI4ODjgyy+/RFBQED766CMYc9Lh1X4wFEoH2dGIpMo8/CtSt3yNnj17YtHChVCpVLIj0X+wTMmiKBQKjBs3DgEBAXjjjTdgzMmAT5fRUDg6yY5GVO6EEMjYvRQZu3/CsGHDMGvWLCiV3KFoifivQhZp0KBB+OWXX2C4sB83f/kYxrwc2ZGIypUwFiL197nI2P0ToqOjMXv2bBapBeO/DFmsrl27YuuW36FMvYiUn8eiMCtNdiSiciEKDLi1bipyjm7B999/jzFjxvCi9RaOZUoW7amnnsKeXbvgLrKRsvQ95CWekx2JqEwV6G4iZfk45F86hDWrV+OVV16RHYlKgGVKFq9BgwbYF/8n6lQNQvLid6A7sI4jfckm5Zzfj+SFI+BRmIG47dvw7LPPyo5EJcQyJatQpUoV/Ll3D4YNfQtpsd/i1ppPUajPlB2LqFSIwnykbfseKSsnokPrJ3Hs7794VSMrwzIlq6FWqzFr1iysXbsWDkknkbJwBPISTsqORWSW25cGHIOcwxswY8YMbNiwHj4+PrJj0UNimZLVee6553D077/QOLQGkpaOQcafKyGEUXYsooeWfXo3kheOhK9jHnbv3oW3336bA42sFMuUrFLlypXxx84deO/dd5C+IwY3V05EYXa67FhEJSIKDEjd8jVuronGc50j8feRw2jRooXsWGQGlilZLScnJ0yZMgWbNm2CJuMykheOQO6Vv2XHIrqv/NQEpCx5F7nHtuKrr77CyhUr4OnpKTsWmYllSlYvMjISR//+C483aYDkn8chfddSCGOh7FhEd8g+EYfkhW8jyFWJffF/YsiQIdytayNYpmQTgoODsS12Kz7+eAJ0e3/GzeXjUZB5S3YsIgCA0ZCLW7/Nwc3109Cz+ws4cuggvzrNxrBMyWY4ODhg/Pjx2BYbC9fcJCQteBO6/Wu5lUrSCCGQc3oPkhe8iYKzu/DDDz9g8aJFcHNzkx2NShnLlGxOmzZtcPLEcbw2oB/St3+H5IUjkXv1mOxYZGfyUxNwc+UEpKz5FO2eaIZjR//GgAEDuFvXRrFMySZ5e3vj66+/xv79+1G/sh+Slo7BzQ3TUZCVKjsa2TijIRdpO35E4oK34FNwC+vWrcOvGzeiRo0asqNRGWKZkk1r2rQp4v/ci++++w6qG38j6fs3uOuXyoQQ4vZ5owvehP7QOnw07kOcPnWSlwS0EwrBi5zel06ng4eHBzIyMuDu7i47DpkhNTUVH374Ib755huo/arAI+INaCrVlx2LbEB+agLSY79BzoVD6Ny5C+bMmc0tURvwMJ//3DIlu1Fs128V/392/U7jrl96ZMV26RamYt26ddi4cQOL1A6xTMnuFO36/f7776G6cfSfXb9rIAoLZEcjK2HapfvD7V264z8ah9MnT3CXrh3jbt4H4G5e25aamopx48Zh3rx5UPtVhuvjvaANeQIKpYPsaGSBhBDIu3oUmXuXIefSX+jS5RnMmTMb1atXlx2NygB38xKVkLe3N7766iscOHAALRvUws11nyF5wZvIPLIJoiBfdjyyEEIYkXM2HilL3kXSTx+gqqsR69evx4YN61mkBIBbpg/ELVP7cuDAAXwaHY01q1fDyc0HLk2fg2vjp6FUOcuORhIIYyGyT+5E9r6VyE2+jMfDW2Lchx+gc+fOPF/UDjzM5z/L9AFYpvbp1KlTmDp1KhYtXgylyhnaxs/ArdmzcHDme8AeGPPzkH10K7IPrEZeWiIiO3XChx98gFatWsmORuWIZVqKWKb27cqVK5g2bRq+nf8dCowC2oaRcG/+AhzdfWVHozJgzMtG5uFfkXNoHQqyM9Cte3d8MHYsr6Nrp1impYhlSgCQkpKCOXPmYPacL5CdnQ1tvXZwD+sGJ+8KsqNRKSjMTofuwFrk/PUbFAUG9O8fhffffx81a9aUHY0kYpmWIpYp/ZtOp8M333yDz6dNR0pKMlxCWsKlYSQ0VRpxBLCVEULAkHgWWUe3Qn8sFionBwx54w2MHj0awcHBsuORBWCZliKWKd1Nbm4ufvzxR3w+fQbOnz0DlZs31CGt4FKvLVQBNTg4xYLlp91A9ok45J3agdyb1+Dr549hQ9/C0KFD4e3tLTseWRCWaSlimdL9CCFw8OBBLFq0CEt++hm3UpKh8asMdehTcKnbBk6egbIjEoDCnAzknPoD+pM7oL92EloXF3R7sRv69XsZbdu2haOjo+yIZIFYpqWIZUolVVBQgNjYWCxevAS/rPoF+pwcaCvWhaZuG2hDn+RI4HJmzM+F/mw8ck7ugP7iQSgVCnTs2BFR/frhueeeg1arlR2RLBzLtBSxTOlRZGdnY926dVi4aBF+//13CADO1ZtCW6ctnGu2gNJJLTuiTRLGQuRe/vv2btyze1GQl4PmLcLQP6ofevbsCT8/P9kRyYqwTEsRy5TMlZycjOXLl+PHhYtwYP8+OGq0UFdvAU2VhlBXbghHjwAeYzVDYXY6cq8eQ+6Vv2E4Hw+D7haq16yF/v1eRt++fXnReXpkLNNSxDKl0nT27FksXboUq9euw9G/jsBoNELjFQCHCvWgqdQA6soNWK4P8L/yPIrChGPQJ18GANSoWRudn45Ev3790KxZM65DMhvLtBSxTKmspKenY9euXdi+fTu2btuOo38dgRCC5fof9yrP6jVqoX27Nmjbti3atGmDoKAgyUnJ1thkmU6ePBkbN27EkSNHoFKpkJ6e/sBlhBCYMGEC5s+fj/T0dDzxxBP4+uuvUatWrRI/L8uUykt6ejr++OMPxMXF3btcK9aFo2egzZ7TKoQRhZm3kHf9NPKuHkXBtePQJ18CULw8W7duzXNBqczZZJlOmDABnp6euHbtGr7//vsSlenUqVMRHR2NH3/8EdWqVcNHH32Eo0eP4sSJE9BoNCV6XpYpyZKWllasXI/9/ReEEFA6OELtEwyFeyAcvSrA0bsCnLyD4ehVAQ6u3laxFVuoz0RBagLy0xKQn3odBakJgO4G8m4loNCQCwCoVr1msfKsUIFXm6LyZZNlWiQmJgYjR458YJkKIRAcHIzRo0fjnXfeAQBkZGQgICAAMTEx6N27d4mej2VKliItLQ0HDhzA2bNncebMGZw6fRonT53BtSuXYDQaAQCOameovCsAHkFw8v6naL2C4egVDKXGtdyKVggBYdCjICPRVJb5aQkQ6TduF2i2zjRvYFAFhITURp3QENSuXRu1a9dG48aNWZ4k3cN8/tvsmcoXL15EYmIiIiIiTNM8PDwQFhaGvXv33rNM8/LykJeXZ/pZp9PddT6i8ubl5YUOHTqgQ4cOxaYbDAZcuHABZ86cMd1OnjqN02fikLIn8X8zKhRwVDnDQe0MpcoZCpUz4KSBcNRAofpnmpMGSpUWCpXGNI9CoYTRoIcw6G//mZ8LoyHnn2m5UOTnAgW5QL4ehXm35ynI00MYC01P7e7hiTohIaj7WHPUrt3XVJo1a9aEi4tLea1CojJjs2WamHj7QyQgIKDY9ICAANN9dxMdHY2JEyeWaTai0qRSqRAaGorQ0NA77svMzMTZs2dx7tw5pKenIysrC5mZmcjMzPzX37OQodNBl3kTmRm3f87Jvn0r2uIFAK2LC1xc3ODq5gpXVzd4+LjB3c0X7u5ucHV1hZubG9zciv+9evXqqF27Nnx8fMpzlRCVO6llOmbMGEydOvW+85w8efKuHxJlZezYsRg1apTpZ51Oh0qVKpXb8xOVJjc3Nzz22GN47LHHHnpZIQRyc3NRWFgIrVYLpVJZBgmJbIPUMh09ejQGDBhw33mqV6/+SI8dGHj7mqhJSUnFhswnJSXd97sJ1Wo11GpenYZIoVDA2dlZdgwiqyC1TP38/Mrs8l7VqlVDYGAgYmNjTeWp0+kQHx+PIUOGlMlzEhGRfbKa/TZXrlzBkSNHcOXKFRQWFuLIkSM4cuQIsrKyTPOEhoZi9erVAG7/Vj1y5Ej83//9H9atW4ejR48iKioKwcHB6Nq1q6RXQUREtshqBiCNHz8eP/74o+nnJk2aAAC2b9+ONm3aAABOnz6NjIwM0zzvvfcesrOzMXjwYKSnp+PJJ5/Epk2bSnyOKRERUUlY3Xmm5Y3nmRIR2aeH+fy3mt28REREloplSkREZCaWKRERkZlYpkRERGZimRIREZmJZUpERGQmlikREZGZWKZERERmYpkSERGZiWVKRERkJpYpERGRmVimREREZmKZEhERmYllSkREZCaWKRERkZlYpkRERGZimRIREZmJZUpERGQmlikREZGZWKZERERmYpkSERGZiWVKRERkJpYpERGRmVimREREZmKZEhERmYllSkREZCaWKRERkZlYpkRERGZimRIREZmJZUpERGQmlikREZGZWKZERERmYpkSERGZiWVKRERkJpYpERGRmVimREREZmKZEhERmclRdgBLJ4QAAOh0OslJiIioPBV97hf1wP2wTB8gMzMTAFCpUiXJSYiISIbMzEx4eHjcdx6FKEnl2jGj0Yjr16/Dzc0NCoVCdpwH0ul0qFSpEq5evQp3d3fZcSwW11PJcD2VDNdTyVjbehJCIDMzE8HBwVAq739UlFumD6BUKlGxYkXZMR6au7u7VbxZZeN6Khmup5LheioZa1pPD9oiLcIBSERERGZimRIREZmJZWpj1Go1JkyYALVaLTuKReN6Khmup5LheioZW15PHIBERERkJm6ZEhERmYllSkREZCaWKRERkZlYpjZg8uTJaNmyJbRaLTw9PUu0jBAC48ePR1BQEJydnREREYGz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\n", "text/plain": [ "