{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Plotting Macro Phase-Space Constraints"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false,
"inputHidden": false,
"jupyter": {
"outputs_hidden": false
},
"outputHidden": false
},
"outputs": [],
"source": [
"\"\"\"\n",
" TITLE : Plotting Macro Phase-Space Constraints\n",
" PROJECT : macro_lightning\n",
"\"\"\"\n",
"\n",
"__author__ = \"Nathaniel Starkman\"\n",
"__version__ = \"Jun 24, 2020\""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
" About\n",
"\n",
"\n",
"This notebook gives some examples of the functions in `macro_lightning.plot`. Of particular note is the function `constraint_plot` which allows very easy creation of a standardized mass - cross-section constraint plot."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Imports**"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false,
"inputHidden": false,
"jupyter": {
"outputs_hidden": false
},
"outputHidden": false
},
"outputs": [],
"source": [
"# THIRD PARTY\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
"# PROJECT-SPECIFIC\n",
"import macro_lightning\n",
"from macro_lightning import plot"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Parameters**"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"m_arr = np.logspace(1, 25)\n",
"mmin = m_arr.min()\n",
"mmax = m_arr.max()\n",
"\n",
"sigmin: float = 1e-15\n",
"sigmax: float = 1e25"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
\n",
"\n",
"- - - \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Individual Plots"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Most sources of constraints on macros are offered as individual functions. To name a few, there are:\n",
"\n",
" - plot_white_dwarf_constraints\n",
" - plot_cmb_constraints\n",
" - plot_superbursts_constraints\n",
" - plot_humandeath_constraints\n",
"\n",
"All these functions, and documentation are available in the code, on GitHub, and readthedocs.\n",
"\n",
"We show a few of these constraint plotters below."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false,
"inputHidden": false,
"jupyter": {
"outputs_hidden": false
},
"outputHidden": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAacAAAEcCAYAAABj4nsuAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeVxVdf7H8deXXRAEZJMdyn1XXFGTe8fRsrLMss3W0WmxqSanpilLp5mafmVNZbZY5pLltKqlmcWmiAuKuOC+oF5AdkX2C/f7+wM8gYEiXLhc+D4fjx7FOeee8zkpvPl+z/d8v0JKiaIoiqK0JTaWLkBRFEVRLqXCSVEURWlzVDgpiqIobY4KJ0VRFKXNUeGkKIqitDkqnBRFUZQ2R4WToiiK0uaocFIURVHanHYZTkKIW4QQi4UQa4QQf6zZNl4IsVkI8aEQYryFS1QURVEuw2rCSQixRAiRLYTYf8n2SUKIw0KIY0KIvwNIKVdLKWcCDwDTaw6VQBHgBBhasXRFURTlKglrmb5ICDGO6nBZLqXsV7PNFjgCTKA6cJKAu6SUB2r2LwBWSimThRA2UkqTEMIXeEtKeY9FbkRRFEW5IqtpOUkpNwH5l2weDhyTUp6QUlYAq4ApotrrwE9SyuSaz5tqPlMAOLZW3YqiKMrVs7N0Ac0UAJyp9bUBGAE8AfwB6CKEuFZK+aEQYiowEXAHFtZ3MiHELGAWgIuLy9BevXq1ZO2Koijtzq5du3KllN7NPY+1h5OoZ5uUUr4LvHvJxu+A7y53Minlx8DHABEREXLnzp3mqlNRFKVDEEKcMsd5rKZbrwEGIKjW14FAhoVqURRFUczE2sMpCeguhAgTQjgAdwJrLVyToiiK0kxWE05CiC+BrUBPIYRBCPGwlLISmA38DBwEvpJSplqyTkVRFKX5rOaZk5Tyrga2rwfWt0YNRqMRg8FAWVlZa1xOaUVOTk4EBgZib29v6VIURcGKwqktMBgMuLq6EhoaihD1jcVQrJGUkry8PAwGA2FhYZYuR1EUrKhbry0oKyuja9euKpjaGSEEXbt2VS1iRWlDVDhdJRVM7ZP6c1WUtkWFk6IoitLmqHBSFEVR2hwVTlZq0aJF9OvXj5CQEN577z1Ll6MoimJWKpys0Lfffssvv/zC7t272bZtG/Pnz6eysvJ3xxUUFFigOkVRlOZT4dQMQgiz/9MY7777Lq+//jr29vZ069YNe3t7TCbT7457+umnm3Rfc+fObdLnFEVRzEW959QMllgLy2g0snfvXnr06AFAZmYmXl5eODg4MH/+fPLz83F3d2fUqFEcOnSIN998k8cff5wXXniB8vJyPDw8mD17NtOnT2fy5MmkpqYyevRofvnlF+bNm4eXlxeVlZVUVlby7LPPIoQgJCSEv/zlL61+r4qidFwqnKzMgQMHOH/+PCdOnCA0NJTnn3+eJ554gvT0dIxGI+7u7mzbto2bbrqJe++9l9mzZ/N///d/3H333URERDBt2jR2797N1KlTefLJJ7nllluYOXMm7u7unDp1ijNnzjBo0CA++OADpkyZwnXXXWfpW1YUpQNS3XpWZvfu3dxzzz3cddddDBgwgODgYGbNmsXcuXN57rnnuP/++wkICGDv3r0MHDgQgNTUVPr3709FRQXOzs6kpKQwceJEjEYjXbt2xcbGhv3799O/f39SUlIYNGgQycnJREZGWvhuFUXpqFTLycqkpKRw4403Mn369Drb+/bty5tvvkleXh6DBw/Gy8uLTz75BC8vL+644w5mzZqFs7Mzzz//PG+++SY9evRg79699O7dG4C0tDSCg4M5duwY3bt355ZbbuHPf/4znp6ePP/883h6elridhVF6aCEJZ6bWIP6Fhs8ePCg9sPcUsaPH89HH31Ez549LVpHe9QW/nwVxdoJIXZJKSOaex7VcrIycXFxli5BURSlxalnToqiKEqbo8JJURRFaXNUOCmKoihtTrt85iSEuAWYDPgA70spNwohXIBFQAUQJ6VcackaFUVRlIZZTctJCLFECJEthNh/yfZJQojDQohjQoi/A0gpV0spZwIPABfHXE8FvqnZfnNr1q4oiqJcHasJJ2ApMKn2BiGELfA+cD3QB7hLCNGn1iEv1uwHCATO1Px3VYtWqiiKojSL1YSTlHITkH/J5uHAMSnlCSllBbAKmCKqvQ78JKVMrjnWQHVAgRXdt6IoSkdk7T+kA/itNQTVARQAPAH8AZgmhHikZt93wG1CiA+AH+o7mRBilhBipxBiZ05OTguWrSiKolyOtYdTfWtMSCnlu1LKoVLKR6SUH9ZsLJZSPiilfLShwRBSyo+llBFSyghvb+8WLby51GKDiqK0Z9Y+Ws8ABNX6OhDIaI0Li/mNW3vpasmXrzydVO3FBnNzc+nfvz+PPvoodnbW/sepKIpSzdpbTklAdyFEmBDCAbgTWGvhmlpcYxcbbIwHHnjgqo5XczEqitIarOZXbSHEl8B4wEsIYQBellJ+KoSYDfwM2AJLpJSprVFPY1o4LaGhxQazs7OZMWMGN998M9u2bePFF1/k559/Zs6cOTz22GO8+eabODg41FlA8E9/+hMuLi4YjUZefvllSkpKqKioYNGiRXUWLnz00UeZOnUqN998M/fffz/dunWzyL0ritJxWE04SSnvamD7emB9K5djMQ0tNrhnzx5uueUWnnzySe655x52796tredUUlKCs7Mz7733Xp0FBBMSEhgyZAgff/wxpaWluLu7c+LEid8tXDhy5EjuvPNOtRquoiitxmrCSalWe7HB4uJipk6dyqxZs3j11VeZOnUqAEII9u3bx8SJEyksLESI6udjycnJPProo9q5kpKS0Ov1vPvuu7z//vs4OjoC8NBDD/HOO++Qk5PDmTNnSElJ4ZZbbmn9m1UUpcNS4WRlGlps8NixY/To0YPc3Fz8/Pzo1asXb775JnZ2dvTq1QvgdwsIpqam8pe//IUpU6bwwAMPEBQUhE6n+93Chbt371brRymK0qrUYoMNUIsNdjxt4c9XUaydWmywg1KLDSqK0hFY+1ByRVEUpR1S4aQoiqK0OSqcFEVRlDZHhZOiKIrS5qhwUhRFUdocFU6KoihKm6PCSVEURTELc743q95zUhRFUZpESsnJkyeJjo4mJiaGmJgYs51btZyslFpsUFEUS8jMzGTlypU8/PDDhIWFERkZSXx8PBMmTGDHjh1mu45qOTXRxclUW8KVmsZqsUFFUVpLfn4+8fHxWusoMzOT8ePHo9frmTNnDr169WqRn4fqp5kVevfdd1m8ePHvFhuMiIhgxIgR7N+/n0WLFtG3b1+mTJnCmjVrALj99ttZtWoVtra2Fr4DRVHaquLiYhISErQwOnLkCKNHj0an07FixQoGDRrUKj9DVDhZmYYWG8zKymL48OG8//77vPXWWxgMBtzc3OosDGgymVQwKYpSR0VFBdu3bycmJobo6GiSk5MZMmQIOp2Ot99+mxEjRuDg4NDqdalwaiJLzebe0GKDu3bt4siRIzz00ENkZ2fz17/+ldWrV3PgwAEeeeQRSktL8ff3t0jNiqK0HVVVVaSkpGhhlJiYSPfu3dHr9bzwwguMGTMGFxcXS5fZPsNJCBEOvAB0kVJOq9k2HngFSAVWSSnjLFZgMzS02ODcuXNZsGABAwcO5LbbbqO4uJhdu3axYMEChg0bxrp168jJybF0+YqitDIpJYcOHdLCKC4uDj8/P3Q6HbNmzeKLL77A09PT0mX+jtWEkxBiCXAjkC2l7Fdr+yTgHcAW+ERK+R8p5QngYSHEN7VOIYEiwAkwtF7l5tXQYoO7du0iNzcXGxsbevfujYuLC/v372fu3LkA7Nixg2nTplmiZEVRWtmpU6e0MIqJicHe3h69Xs9tt93GwoULraIXxWoWGxRCjKM6XJZfDCchhC1wBJhAdeAkAXdJKQ/U7P+mVsvJRkppEkL4Am9JKe+53PXUYoMdT1v481WUpsjJydHeM4qOjqawsBCdToder0en0xEeHt6iI4xr63CLDUopNwkhQi/ZPBw4VtNSQgixCpgCHKjn86aa/ywAHFuu0palFhtUFOX8+fNs2rRJC6PTp08zbtw49Ho9TzzxBH379m21MGopVhNODQgAztT62gCMEEJ0Bf4NDBZCPC+lfE0IMRWYCLgDC+s7mRBiFjALIDg4uEULVxRFaazS0lISExO1brrU1FRGjBiBXq9n8eLFDB06tN2952jtd1PfrwZSSpkHPHLJxu+A7y53Minlx8DHUN2tZ64iFUVRrobRaCQpKUlrGSUlJTFgwAB0Oh2vvfYao0aNwsnJydJltihrDycDEFTr60Agw0K1KIqiNInJZGLv3r1aGCUkJBAWFqbNwjB27Fjc3NwsXWarsvZwSgK6CyHCgHTgTuBuy5akKIpyeVJKjh07pnXTxcbG4uHhgV6v54EHHmDZsmV4eXlZukyLsppwEkJ8CYwHvIQQBuBlKeWnQojZwM9UDyVfIqVMtWCZiqIo9UpPT68ze3dVVRV6vZ7JkyezYMECgoKCrnySDsRqwklKeVcD29cD61u5HEVRlMvKy8sjNjZW66rLzc0lKioKvV7P888/T48ePax+RF1LsppwUqo9/fTThISE8NRTTwEwceJEgoKC+OSTTwB45plnCAgI4IUXXqBXr16UlZXh6urK448/zv3332/J0hWlXSsqKqozvPv48eOMHTsWnU7HzJkzGThwIDY2apWixlLh1AyPPPIP0tLyzHa+0NCufPjhq5c9ZvTo0Xz99dc89dRTmEwmcnNzKSws1PYnJiby3//+l2uuuYbdu3cDcOLECaZOnYrJZOLBBx80W72K0pGVl5ezbds2ratuz549REREoNPpeP/99xk2bBj29vaWLtNqqXBqhrS0PEJCPjLj+f58xWMiIyN5+umnAUhNTaVfv35kZmZSUFCAs7MzBw8exMPDo85nwsPDeeutt3jmmWdUOClKE1VVVZGcnKyF0datW+nTpw86nY558+YxevRonJ2dLV1mu6HCycr4+/tjZ2fH6dOnSUxMZNSoUaSnp7N161a6dOnCgAED6p3efsiQIRw6dMgCFSuKdZJScuDAAS2M4uPjCQgIQK/XM3v2bL766ivc3d0tXWa7pcLJCkVGRpKYmEhiYiJ//etfSU9PJzExkS5dujB69Oh6P2MtcygqiiWdOHGizoSpnTt3RqfTMX36dD766CN8fX0tXWKHocLJCo0ePZrExET27dtHv379CAoKYsGCBbi5ufHQQw/V+5ndu3erSU0V5RKZmZnExsZqYVRWVoZOp2PChAm89tprhIaGWrrEDkuFkxWKjIxkwYIFhIeHY2tri6enJ+fOnSM1NZXFixdTVFRU5/i0tDTmzJnDE088YaGKFaVtKCgoID4+XgujjIwMxo8fj06n45lnnqF3795qeHcbocLJCvXv35/c3FzuvvvuOtuKiorw8vKiqKiI48ePM3jwYG0o+RNPPKEGQygdTnFxMVu2bNG66g4dOsSoUaPQ6/UsW7aMwYMHY2tra+kylXqocGqG0NCujRphdzXnawxbW9s6w8cBli5dWus8oZSWlpqtLkWxFhUVFezYsUNrGe3atYvBgwej0+lYsGABI0aMwNHRalfM6VBUODXDld5JUhSlZZlMJlJSUrQw2rJlC9dee602C8OYMWPo3LmzpctUmkCFk6IoVkNKyeHDh7Vuuri4OHx8fNDr9cycOZPPP/+crl0b1wOhtG0qnBRFadNOnz5dZ3i3nZ0dOp2OW2+9lffeew9/f39Ll6i0gEaFkxDipWZeZ7mUMq2Z51AUpQPIycmpM7z73Llz6HQ69Ho98+bNIzw8XI2o6wAa23KaB0jqX3n2SiSQAKQ14bOKorRzhYWFxMfHa0tJnDp1irFjx6LX63n88cfp16+fmjC1A7qabr2ngTVXeX5PYNdVfkZRlHastLSUxMRErasuNTWVESNGoNPp+Oijj4iIiMDOTj1x6Oiu5teRXCnlqav5BzjdUoUrraOlRjq9+mrjRjpOmzaNEydOAPDCCy8QFBRUb02ZmZn88Y9/JCUlhVGjRtG3b18GDBjA//73P+2YO++8k6NHj5rnBpRGq6ysZNu2bfz73/9Gr9fj7e3Niy++iBCCV199lZycHH799Vf+8Y9/MHLkSBVMCtD4ltMo4FgTzn+u5rMHmvDZNu/pR54mIy3DbOfzD/Xn7Q/fNtv5mkNK2ez5+CorKxv8QfPqq6/yj3/847KfT01NpaqqivDwcABuuukmZs+eTffu3X937IYNG5g4cSLOzs4sX76c7t27k5GRwdChQ5k4cSLu7u48+uij/N///R+LFy9u1n0pl2cymdi/f7/2zGjz5s0EBwej1+t5+umnGTduHG5ubpYuU2njGhVOUsrtTTm5lLIKaNJnrUFGWgb3htxrtvN9nvb5FY8pLi7mjjvuwGAwUFVVxdy5c3nuuefYuXMnXl5e7Ny5kzlz5hAXF8e8efM4fvw46enpnDlzhmeffZaZM2cC8MYbb/DVV19RXl7Orbfeyvz580lLS+P6668nKiqKrVu3snr1aqB6AcPY2Fg8PDxYtWoV3t7ejB8/njfffJOIiAhyc3OJiIggLS2NpUuXsm7dOsrKyiguLmblypVMnz6dwsJCKisr+eCDD1i3bh2lpaUMGjSIvn378vHHH//unqZPn87KlSuZMmWKdu8jR45s8P/Lhg0bePnll+nRo4e2zd/fHx8fH3JycnB3d2fs2LE88MADlw1N5epJKTl27Jj2zCg2NpYuXbqg1+uZMWMGS5Yswdvb29JlKlamXX6HCiHCgReALlLKaTXbXIBFQAUQJ6VcacESm2zDhg34+/uzbt06AM6fP89zzz3X4PF79+5l27ZtFBcXM3jwYCZPnsz+/fs5evQoO3bsQErJzTffzKZNmwgODubw4cN89tlnLFq0CKgOwyFDhrBgwQL++c9/Mn/+fBYuXHjZGrdu3crevXvx9PRkwYIFTJw4kRdeeIGqqipKSkoYO3YsCxcuJCUlBYBvv/32d/cEsGXLFu66664r/j+pqqri8OHD9OnTp872HTt2UFFRwTXXXAOAjY0N1157LXv27GHo0KFXPK/SsPT0dC2MoqOjqaqqQqfTcf311/PGG28QHBxs6RIVK2c1Q2CEEEuEENlCiP2XbJ8khDgshDgmhPg7gJTyhJTy4UtOMRX4Rko5E7i5lco2u/79+/Prr7/y3HPPsXnzZrp06XLZ46dMmUKnTp3w8vIiKiqKHTt2sHHjRjZu3MjgwYO1dZ4uPosJCQmp00KxsbFh+vTpANx7770kJCRcscYJEybg6ekJwLBhw/jss8+YN28e+/btw9XVtdH3lJmZ2ajfuLdv386IESPqbMvMzGTGjBl89tlndUZ6+fj4kJFhvq7YjiI/P5/vvvuOxx9/nF69ejFgwADWrFnDsGHD+OWXXzAYDKxYsYIHHnhABZNiFldsOQkhbgcigT3ACillZa1966SUk1uwvtqWAguB5bWubwu8D0wADECSEGKtlLK+Z1yBwL6a/65q2VJbTo8ePdi1axfr16/n+eef549//CN2dnaYTCYAysrK6hx/6fsgQgiklDz//PP8+c915wVMS0vDxcXlste/eL7LXbP2OcaNG8emTZtYt24dM2bM4G9/+xv33XffFe/ppZdeolOnTr87d31++uknJk2apH1dWFjI5MmT+de//vW7rsCysjI6dep0xXN2dEVFRWzevFlrGR07dowxY8ag0+n48ssvGThwoBrerbSoy/7tEkI8CbwHuAJ/B7YIITxrHTK2BWurQ0q5Cci/ZPNw4FhNS6kCWAVM+d2HqxmoDiho4L6FELOEEDuFEDtzcnLMUbbZZWRk4OzszL333sucOXNITk4mNDSUXbuqR+x/++23dY5fs2YNZWVl5OXlERcXx7Bhw5g4cSJLlizRltZIT08nOzu73uuZTCa++eYbAL744gvGjBkDUOeaF/fX59SpU/j4+DBz5kwefvhhkpOTAbC3t8doNDZ4TwC9e/fm2LErj8OJjo5Gr9cD1RN/3nrrrdx3333cfvvtvzv2yJEj9O3b94rn7GjKy8uJj4/n5ZdfZsyYMfj5+fH666/j6urKe++9R25uLuvXr2fOnDkMHjxYBZPS4q7UcnoMmCil3FPTSnkPiBFC6KSU+TTtpVxzCgDO1PraAIwQQnQF/g0MFkI8L6V8DfgOWCiEmAz8UN/JpJQfAx8DREREtMmlY/ft28ff/vY3bGxssLe354MPPqC0tJSHH36YV1999XfdW8OHD2fy5MmcPn2auXPn4u/vj7+/PwcPHmTUqFFA9XDxzz//vN6lA1xcXEhNTWXo0KF06dJFG5o9Z84c7rjjDlasWIFOp2uw3ri4ON544w3s7e3p3Lkzy5dXN3xnzZrFgAEDGDJkCPfdd9/v7glg8uTJxMXF8Yc//AGAZ599li+++IKSkhICAwP505/+xOOPP46Tk5M2+uurr75i06ZN5OXlaTO1L126lEGDBpGVlUWnTp3o1q1bM/4E2oeqqiqSk5O1ltHWrVvp3bs3Op2Ol156iTFjxuDs7GzpMpUOTFxuuLAQolBK6XbJtgXAHwAdcPLS/S1JCBEK/Cil7Ffz9e1Uh+efar6eAQyXUjZ7Vb2IiAi5c+fOOtsOHjxYZzXZtj6UfN68eXTu3Jk5c+aY7ZytqbS0lKioKLZs2dLgmjuff/45BoOBv//971c839tvv42bmxsPP3zp48hql/75tidSSg4cOKAN746Pj8ff3x+9Xo9er+e6667D3d3d0mUq7YAQYpeUMqK557lSyylHCBEmpTx5cYOU8hkhxH+B2EZ8vqUZgKBaXwcCrfa0u628k9RederUifnz55Oent7gQ/Z77238UH53d3dmzJhhrvLavLS0NKKjo7VA6tSpE3q9nunTp/Phhx/i5+dn6RIVpUFXajl9DGRKKV+uZ9+7wGwpZat1PtfTcrIDjgB6IB1IAu6WUqY291qNaTkp7Yu1//mePXuW2NhYrauupKSEqKgorXUUFhZm6RKVDqC1Wk6zGzpGSvkXIcSbzS2gsYQQXwLjAS8hhAF4WUr5qRBiNvAzYAssMUcwKYo1OHfuHPHx8VrLKD09neuuuw6dTsdTTz1Fnz591OzditW6bDjVjICruMz+Vps7T0pZ79uYUsr1wPpWrEN9w7dDzZ2qqTWUlJSwZcsWLYwuDmrR6XR89tlnDBkypMFnc4pibZr8zEgIcTfwONAdqG/pSSmltPQzKbNycnIiLy+Prl27qoBqR6SU5OXl4eTkZOlS6jAajezYsUPrptu5cyeDBg1Cr9fzxhtvMHLkSBwdHS1dpqK0iCaFhxDiRWA+kAUkAgXmLKqtCgwMxGAw0FbfgVKazsnJicDAwCsf2IJMJhN79uzRwighIYFrr70WvV7Pc889x9ixY1tslnhFaWua2rJ5DIgDJkkpjeYrp22zt7dXD5UVs5FScuTIEa2bLi4uDi8vL3Q6HQ8//DArVqyga9f6OiUUpf1raji5AV91pGBSFHMwGAx1hnfb2Nig1+uZMmUK//3vfy3eelOUtqKp4bSbuu8XKYpSj5ycHOLi4rQwKigoQKfTaTMxXHPNNer5paLUo6nh9CLwrRDiOyllsjkLUhRrVlhYyObNm7UwOnnyJGPHjkWv1/PYY4/Rr18/NS+dojRCk8JJShkvhHgY2CaE2Aqk8fuZvmU9y1YoSrtSVlZGYmKitrbR3r17GT58ODqdjg8++ICIiAjs7e0tXaaiWJ2mjtYbQfUSFnZUz0xe3+zkElDhpLQrlZWV7Ny5UxtRt2PHDvr164dOp+OVV15h9OjRakkORTGDpnbrvQMYqV6eYrOU8pz5SlKUtsNkMpGamqp1011cMViv1/PUU08xbty4Ky74qCitobS0lJSUPQwcOKBVZ5SXUnI47zDRJ6KJSYsx23mbGk4DgHlSynqXnlAUayWl5MSJE1oYxcbG4urqik6n45577uGTTz7Bx8fH0mUqClD99/XYsWP88ssWNm5MIT/fln/9q4Jx48a16HVPnz+thVHMyRgyLph/vu2mhlM2l5nWSFGsSUZGhvbMKDo6GqPRiE6nY+LEibz++uuEhIRYukRFqaOwsJAtW7bx/fcJGAwCG5sxeHvfhtG4pkWul12cTezJWGJOxhB9MprjBcfr7Pd18UUXpkMXpmPmvJlmuWZTw2kJcK8QYmHtZdsVxRrk5+fXGd6dlZVFVFQUOp2OZ599lp49e6rh3UqbYzKZOHDgAD/9lEB8/CGqqgbj7n4/gYHhZv/7WlheSHxavBZG+7L31dnfxbEL40PHowvToQ/T08f7t0mGZ2LZcEoAbqR6tN4i4CS/H613cWl1RbGo4uJiEhIStJdfjx49SmRkJDqdjpUrVzJw4EA1YarSZuXl5REXt4U1axLJze2Cnd0YfH0fwM7OfHNBlhpLSTyTSPTJaGJOxrAzYydV8rcf6U52TowJHoM+TI8+TM/gboOxs2nZqVObevZfa/33J1SPzKtN1GxT3/FKq6uoqGDbtm1aV11ycjJDhgxBr9fzzjvvMHz4cBwcHCxdpqI0qLKykpSUFH74IYGdO88g5XA8PGYTFGSeGUSMVUZ2ZuzUwijxTCLlVeXafjsbO0YFjKoOo3A9owJH4WjXupMMNzWcHjRrFYrSDFVVVezevVt7ZpSYmEjPnj3R6/W8+OKLREZG4uLiYukyFeWKDAYDsbGJ/PDDdoqKAnF0HIO//yBsbJr3rpxJmtiXtU/rptt0ahMXKi5o+wWCwX6DtedGY4PH4uro2tzbaZamvoS7zNyFKEpjSSk5ePCgFkbx8fF069aNqKgoHnnkEVatWoWHh4ely1SURikuLmb79h2sWbOFI0eKEGIU3t7P4+Hh1eRzSik5ln9MC6PYtFhyS3LrHNOza08tjKJCo+jq3LYmGW5X6y0p7VdaWpoWRjExMTg6OqLX67n99ttZtGgR3bp1s3SJitJoFwc3bNyYSFzcAYzGfri63kZQUE+EaNr0VsUVxRgKDby6+XMO7DrAmcIzdfYHugVqz4yiwqIIdGvbkwL1Kn4AACAASURBVAw3dYaIx4FbpZR/aGD/RuBbKeVHzSnOnIQQ44FXgFRglZQyzqIFKZeVlZVFbGysFkZFRUXodDr0ej2vvPIK4eHhli5RUa5aVlYW8fGJrF27jfx8d2xtR+Pjcy92dlf/0mxZZRkZFzLIuJBO+oV0zpedh8I97D32M4SCl7MXUaFR6MP06MJ0XOt5rVWNQm1qy+kBYOdl9h8BHgJaNJyEEEuoHjWYLaXsV2v7JKpnsbAFPpFS/ofqARpFgBNgaMm6lKt3/vx54uPjtdbRmTNnuO6669DpdDz55JP07dvXqr6xFOWisrIydu7cxQ8/bGHfvhxgBJ6eTxIU5H9V5zFWGTlblEn6hXTSL2SQV5JH7bFodjb2eDj7cMewx5k5dSb9fftj08RWWFvQ1HDqDnx2mf2pwN1NPPfVWAosBJZf3CCEsAXeByZQHUJJQoi1VE+zFC+E8AXeAu5phfqUBpSUlJCYmKi1jA4cOMDIkSPR6XR8+umnDBkyBDs71eusWCcpJUePHuWXX7bwyy97qKjogbPzRAIC+mFj07hBzFWmKrKLs7Qwyi7ORkqTtt9G2OLX2Rd/1wACXAPwdvEiI/1L7ugXzEC/gS11a62mqd/99lS3QBridIX9ZiGl3CSECL1k83DgmJTyBIAQYhUwRUp5oGZ/AVDvmEghxCxgFkBwcHBLlNxhGY1GkpKStDBKSkpi4MCB6PV6Xn/9dUaNGoWjY+sOVVUUc8vPzychYSurVydy9qwDNjaReHtPw8HhyiPfpDSRW5KrhdHZC2epqjPHgcDbxYeAmjDy7ezb4u8aWVJT7+wI1S2TtxrY/0fgeAP7WloAUPtJoAEYIYSYCkwE3Klubf2OlPJj4GOAiIiIS9/dUq6CyWRi7969WjddQkIC4eHh6PV6/va3vzF27FhcXS07VFVRzEFKSWpqKt9+G82OHaeQMgJ395kEBoZctitaSklBWYH2zCjzQiYVVXVnhfPs5Km1jLq5+uFg23F+gWtqOH0JvCaEeAV4RUpZASCEsKd6IcI/1vzbEur72yCllN8B37V2MR3FxW6Mi2EUGxtL165d0el0PPjggyxbtgwvr6YPjVWUtqa8vJwtW7byv//FcPq0A46Oevz9H7vsO0mF5YVaGKUXZlBWWVpnv5ujG/6u/gS4BuDv6k8n+9abXbytaWo4vQ1cD7wAPCqEOET1k7negCewGVhglgqvnoG6S8gHAuafMlfBYDBo3XQxMTFIKdHr9dx00028/fbbBAa27aGqitIU+fn5bNwYxzffJFBc3IMuXWYQFFT/SLgSY0lNGGWQXphOUa0XXwGc7Z21lpG/q7/FX3xtS5r6Eq5RCPFH4GmqBz4Mrtl1BPgP8I6U0mieEq9aEtBdCBEGpAN30jqDM9q93NxcYmNjtdZRfn6+NmHqCy+8QPfu3dWIOqVdklJy8uRJ1qyJJjr6ICbTKLy9/0HXrnV7A8qrysm8kKGF0bmygjr7HWwda1pG/vi7BuDu5K6+ZxrQ5KdpNeHzfzX/WIQQ4ktgPOAlhDAAL0spPxVCzAZ+pnoo+RIpZaqlarRmFy5cYNOmTVoYnTx5krFjx6LT6fjzn//MgAEDsLGx3qGqinIlVVVV7NqVzP/+9ysHDhRhZ6fH13eGNulqpcnI2aKzWhhVz8JQe3i3HX6du2ktIy/nrk1+ybajseqhHlLKuxrYvh5Y38rlWL3y8nK2bt2qzd69d+9ehg0bhl6vZ9GiRQwbNgx7++bN8aUo1qC4uJjY2E38739x5Ob64OJyA0FB/TEhySnO1sIouzgLU53h3Tb4uPhpYeTT2Qdboea/bopGhZMQYjRwWEqZdzUnr3nnaASwT0p54UrHK62rsrKS5ORk7bnRtm3b6NOnD3q9nn/+859ERkbSqVMnS5epKK0mMzOTdeti+PHHnZSXD8LD43GcvZwxXEhn+7ENnC06S6Wp9hMLgZeztxZGfp39sLdVv8CZQ2NbTpuBGcAXV3l+95rPTgDMt7i80iRSSvbv3691023atImgoCD0ej1PPPEE33zzDV26dLF0mYrSqqSUHDhwgG+/jWbr1tOUVEZQ7nQnWcbzZB6PqbOUBIC7k4f2zMjf1b/Vl5LoKBobTgLoKoS42jdTPal/aLfSCi4+xL3YTRcbG4urqytRUVHcfffdLF68GF9fX0uXqSgWUV5ezrZt21m8bDV7DhdTYOxHvk1/SivPAynacZ0dXLXh3QFu/jjbq+VXWsPVPHP6b80/V0u9zNqKMjMztQlTo6OjqaioQKfTMXHiRF5//XVCQkIsXaKiWNQRwxHeX/UxP65O4mx+N0ps+oBjDxACTGU42XUiwM0f/84BBLgF4OrgqkbUWUBjw2l+M69zopmfVxpQUFBAXFyc1lV39uxZxo8fj06nY86cOfTq1Ut9YykdWmF5IZtObeK7xO/46cfNnN0LyNHgfBM4u2Jv60C3mhF1AW7+eDh5qu+ZNqBR4SSlbG44KWZSXFxMQkKCFkZHjhxh9OjR6HQ6VqxYwaBBg7C1VaODlI6rrLKMxDOJRJ+IJvpENDuSkpCp7pAdDGIyNq496NYluKZl5I+Xs7dVz97dXln1UPKOoKKigu3bt2sj6pKTkxkyZAg6nY633nqLkSNH4uDgYOkyFcViKk2V7MzYqa36uuX0FspLyyHNBvb7QkkUnl0mE9xjNIFdAvF18cW2HU+Y2l6oP6E2pqqqipSUFC2MEhMT6dGjhzYLw5gxY3BxUQ9klY7LJE3sz95P9IloYtJiiE+L58LFaYEuAEcccTs9EE/7iYSE3Eq4zxDsbdUvcNZGhZOFSSk5dOiQ1k0XFxeHn5+fNgvDF198gaenp6XLVBSLkVJyvOC4FkaxJ2PJKcmpc0yYCMPraDjGU754Od9K4OA/4uDgZqGKLUfKynbzvEyFkwWcOnVKC6OYmBjs7e3R6/VMnTqVhQsX4u9/dStkKkp7k3EhQ+umizkZw+nzp+vsD3ANQBemI8ItgrwdZSRtzsPO7gZ8e46+7Kzg7ZnRWIyNzV56977R0qWYhQqnVpCdna0N746JiaGwsBCdToder2f+/PmEh4e3m992FKUp8kvziUuL01pHh3IP1dnftVNXosKi0Ifp0YXp8Lbx5ptv1rHm090IMQF//yhsO9BaR/U5e/ZXbrllcLtZmkaFUws4f/48mzZt0sLo9OnTjBs3Dp1OxxNPPEG/fv1UGHVglZWVbNu2jU/e/4R/vv7PDrnqclFFEQmnE6pH1J2MJuVsCrLWK5GdHTozLmQculAd+nA9A3wHYCNsKC4uZu3aDaxalYDROBY/v39ir16KrWk1xTN16j8sXYrZmCWchBCPSik/MMe5rFFpaSmJiYlaV11qaiojR45Ep9PxySefMGTIEOzs1O8BHV1paSmxMbGs/XIt9nn2lJ0rw2AwdIhwKq8sZ5thm9ZVtz19O5Wm35Ygd7B1YHTQaK1lNMx/WJ056srLy9m4MYZly36huHgovr4v4+jobolbaZOysqK5+eZB7abVBOZrOb0khAiSUtYb20KIECnlKTNdy+KMRiM7d+7UWkZJSUn0798fvV7Pa6+9xqhRo3BycrJ0mUobce7cOdatXcdPX/+Eb6UvIzxH4BXsxSbbTZYurcVUmapIzkzWwijhdAKltVZ9tRE2DA8Yji5Uhy5MR2RwJM71rPpaWVnJpk0JfPrpevLyuuPt/Rxdu6opt2ozGosRIo7bbms/rSYwXziNAtbVzL334MWFBoUQ3aleLfcOwGrXGzaZTOzbt08Lo82bNxMWFoZer+eZZ55h3LhxuLqqFSyVujIzM1n73Vq+WvYVPZx7cH3I9bg51R1B1l66d6WUHMw9qHXTxaXFcb78fJ1j+vn001pG40LG4e7UcMtHSsmOHUksXryG9HRfPD1nExLS/luYTdEeW01gpnCSUqYJIcYA3wMbhBBzgb8At1A9k/lAc1ynNZWXl/Phhx8SExNDbGwsHh4e6PV67r//fj777DO8vb0tXaLSBkkpOX78OGu/Xsu2X7eRnpbOHYPuINwrvN7jrTmcThacrDOiLqs4q87+cI9wLYyiQqPw7XzlFo+UktTUVBYv/p7Dh+3p0uU+goN7ttQtWL3KypJ22WoCMw6IkFIWCCH+DvxK9TIZ3wO9pZQnzXWN1nTkyBG2bt3K5MmTWbBgAUFBQZYuSWnDpJTs2bOH1V+u5vTe03iWe1KWU8aMiBkEuAfU/xkrmxP5bNFZYk/GamF08lzdb22/zn5aGOnCdIS6h17V+Y8fP86SJd+TnFyEs/MtBAcPtOrwbg1nz7bPVhOYb0DECOAl4DrgU6qXybgZaDNjO4UQLsAioAKIk1KuvNzx/fv3Z9myZa1Sm2K9jEYj27Zt4/vPv6f4dDG9nXvj4+rDxvSN3NDnhgaDyRqcKztHfFq81jpKzUmts9/dyZ2o0Ch0YTr0YXp6eTVtkuGMjAxWrFhNXNwZHBxuIihopFrKvBGqW02x7bLVBOZrOf1C9Q/+B6WU2QBCiJPAZiHEVCnlZjNdpw4hxBLgRiBbStmv1vZJwDuALfCJlPI/wFTgGynlD0KI/wGXDSdFuZySkhLiYuNY+8Va7PPt6ePWh4CgADLOZ7Dh4AYm9Z5kdcFUYixhy+ktWhjtytxVZwnyTnadGBsyVmsdDfYbjK1N0ycZzsvLY9Wqtaxfn4qNzSQCA2d22Bdom+Ls2WhuvHFgu2w1gfnCKVRKmV97g5TybSGEAfhBCDFLSvmVma5V21JgIbD84oaapeHfp3r1XQOQJIRYCwQC+2oOq2qBWpQOoKCggJ9/+pmfv/kZz1JPbeQdQPq59KsKpnMl5yzabWWsMrIjfYcWRlsNW6moqtD229vYExkUqXXTjQgYYZZVXwsLC/n++/V8880OTKYo/Pz+hZ2dGt16NS62mqZNe97SpbSYJoWTECIeWHXx3aZLg+kiKeXXQogs4FvA7OEkpdwkhAi9ZPNw4JiU8kRNrauAKVQHVSDVS1zW22cghJgFzAI6xLsnSuNlZGSwbvU6En5KwL/Snwk+E3D1/m2E5tUGU/q5dA5nHMbGpvW6r0zSxJ6ze7Qw2nRqE8XGYm2/QDCk2xCtZTQ2eCwuDuZ7wbWsrIx16zaycmUcZWUj8PWdj4ODGuXaFBdbTe15YFZTW05jgTwhxGdACFAkpUyv78CaABnX1AKbIAA4U+trAzACeBdYKISYDPxQ3wellB8DHwNERERY19NqxeyklBw7dow1X61h35Z9hIkwbvS9ESf7ur/lNyWYNhzcQM+Ani3acpJScjT/aJ0JU/NK8+oc08urlxZG40PH49nJ/JMMG41GYmLi+eyzDRQW9sPb+wW8vbua/TodRUdoNUHzuvWuAwoABwAhxFngf8AbUsrM2gdKKQ824zpXq77vdimlLAYebMU6FCtlMpnYs2cP33/xPen707nW/lpuCbgFu3rWAGpqME3qPYkjxUfM3nIyFBq0MIo5GYOh0FBnf3CX4Doj6vxdW26SYZPJRGLiVhYv/oGsrGC8vP5KUJCa1Li5OkKrCZoXTu7AMSCO6lF5w4GngAeFELdJKWOaX16TGIDa474DgQwL1aJYkcrKSrZs2cLXS7+m8mwlvZx7MTRoaIOrpDYnmALcAzhccrjZLaec4pzqCVNrhncfzT9aZ7+3s7cWRPowPeEeLT/JsJSS3btTWLx4NSdPuuLhMZOQkGta9JodRWVlCRDLbbf93dKltLjmhFMcMFFKqU2QJYQYDnwCrBZCDJFSHmtmfU2RBHQXQoQB6cCdwN0WqEOxIkajkesnXI9tji239rsV/yD/y/4Qb24wXXS1LafC8kI2ndpEzMnqltGerD119rs5unFdyHVa66ifT+tOMnzo0CE+/fR79u2rxNX1doKD+6p3lczo7NkYJk8egI+Pj6VLaXFNDScT8F3tYAKQUu4QQlwH7AH+ATzUzPouSwjxJTAe8KoZGfiylPJTIcRs4Geqh5IvkVKmXuY0SgdnMpn44J0PKEgrYIzvmCuGjbmCyYQJW9vLD8Uuqywj8UyiNoghKT2JKvnbYFMnOycigyK1MBrqP7Te7seWdurUKZYu/Z6tW3Po1OkWgoMjVCiZWXWrKYZp09p/qwmaHk75QL1PTmtmilgCzGxyVY0kpbyrge3rgfUtfX3F+kkpWb5kOYd/OUyAa0CDXXgXmSuYoHr03KUtp0pTJbsydmnddFvObKGsskzbbytsGRU4SgujUUGjcLLgMOysrCxWrlzDr78ew85uMkFBkdhYIBw7go7UaoKmh9MOYKYQ4h0pZWE9+/MANRxHafPWfL+GxK8TmRg4kWUZy1qlK08jqrv19mXt01pG8afiKSyv+y010Heg9sxobMhY3Bwtv/x4QUFB9WJ/a5KBCfj739/hF/trSR2t1QRND6c3gGggQQgxU0q5/eIOIYQj1c94Mhv6sKK0BTHRMaz9aC0T/SfiYOeARCLqHexpxmCSUFhRSEZhBkmZSUQujSS/U93XBLt7dtfCaHzoeLxd2s6orN8v9veKWuyvFZw9G8MNN/TvMK0maGI4SSnjhRAPAx8AiUKIY1Q/Z6qgeoi5P/Cq2apUFDPbuXMny99czgS/CTg7VK/mIpH1DlBobjCVGEvIKMwg/UI6GRcyuFBxAQDDBQP55fn4+/ijD9OjD9MTFRZFcJe29wJ43cX+hqjF/lrRxVbT7bd3nFYTNGO0npRymRBiE/BX4CZgWs2uMqpfeJ3X7OoUpQUcPHiQhfMXcp3ndXXWV6qoqsDJofkv2K5PXc/AoIGkFaaRmJ5IQVlBnWMcbR3xd/XnguMFVj+xmqFhQ9vs4IHai/3l53fHy0st9tfaOmKrCZo5t17NchhPAE8IIboAbsDZi4sNKkpbc+bMGRbMXcBI55F4da47YWZFZQWdHDppXzc2mCqrKjlbdJa9mXvZfHwzPu4+pOSkaPvtbezx6+xHgFsAAa4BdO3UlYqqCrIzs9tsMJlMJnbsSOKTT9ZiMPjg6fk4wcEhli6rw6msLAVimTbtWUuX0urMuZ7TeeD8FQ9UFAvJycnh33//N/1kv3rDpqKyQuviu9Iou+yibK2bLqs4i8LSQk7nnCbYOxi3Tm74uPhoYeTt4v27UYCHsw/j5OLU5oLJZDKxbdt2li37iVOnXOjSZQYhIb0sXVaHlZUVy6RJffH17XitVTXmU+kQCgsLefWFVwktCuUav/pnK6gwVuDs6Py7YJJSkleSR/qFdNIvpHO26CyVpt9e8SsuKybnXA4Te09kQLcB+Hb2vey7Runn0tl4aCPX33u92e+zqSorK0lM3MqyZRvIyPDEze1ugoNbdu4/5fIqK8uQMobbb59j6VIsQoWT0u4VFRXxn3n/oUtGF/oG9G3wOGOlkfPl59lyagujw0dzruIcqcdTybyQSXlVeZ1jPZw8CHALwB57Us6kcEfkHVc1WGKA/wBCrrV8N5nRaGTz5i0sW7aBrCw/3N0fIDi4u6XLUoCsrHj+8Iee+Pn5WboUi1DhpLRbJpOJzZs28/miz+lW0o0h/kMaPLawtJBzpef4Ys8XdPPsxmZD3fUxXR1ctW46f1d/Otl30oKmsSve1m6RnbxwEr8Ay/3QqaioID5+M8uXbyQnJxAPj1mEhIRbrB6lrqqqCkymX7njjqcsXYrFqHBS2qVTp07x6cJPyd6bzWiv0XgF1B38UGYs054ZpV9IJ7c4l/Nl5wkPDMfWzpZOdp0IcKsOogDXAFwd66471Nzh5XuK9xAQ0Por5ZaVlRETE8+KFb9SUBCOp+djhIRYvgWn1JWVtZmoqGss8nekrVDhpLQrxcXFfP3l18R+F0s/h35EhFTP8VZRVUHmhUwtkPJL6774WlVZhWcnTyZ2n0iAawDuTu71L75C84OpylRFoamwVRe0LC0t5ZdfYlm5MobCwp54ej5JSEhgq11faTyTyUhV1UamT3/c0qVYlAonpV2QUrIlYQsrFq3A45wHN/jdQEFZAUkZSWRcyCCnOAfJb+tH2gk7/Fz9tG66n1N/xsnLib4+DT+TguYH06n8UxwsPkiPgT1wdGz56X6Ki4v5+ecYvvgiluLifnh5PUNwcLcWv67SdFlZWxg7NrjDr8atwkmxemfOnOHj9z7myPYjBNgHUFBVwJf7v6wze7eNsMHXxVcLI18XX202iIrKClIzUnlWf/l3SZobTLlFuSRXJfPYPx9j4MCBzbvpK7hw4QI//fQrq1ZtprR0EN7ef6dr1471Eqc1MpkqMRo3cNddj1i6FItT4aRYJZM0sf3kdt5f8j67f9xN14quuHVy46ioXmxPIPBy9tLCqFvnbtjZ1v/XfV/GPnycffBw9Wjwes0NpqLyIjbnbuZPL/2JiIiIpt10I5w/f54ff9zI118nUl4egY+PWhLdmmRlbWXUqG6EhoZauhSLU+GkWAUpJUfzjxJzMoZfT/zKL/G/IDdJQstCCe4cjJ2zHe5O7toABn9XfxztGtdtlmxIplfXhl80bW4wnS08S2JBInc8eQejI0c3+p6vRkFBAWvW/Mz332/HaByJj89LODo2HLZK22MyVWE0buDuux+0dCltggonpc0yFBqIPhFNTFr1qq+GQgMUgtMOJ3wzfenv2p+e4T21QLo4u8PVKKkoIS0njVuvu7Xe/c0JJkc7Rzaf3kyhZyGz/z2boUOHXnV9V5Kbm8v3329g7dpdVFWNwdd3Pg4Oll9SQ7l62dnbGTasK9dee62lS2kTVDgpbUZuSS6xJ2O1tY2O5h/9bacRuhzrQtCRICJdI4kcHXnZEXVXYpImsi5ksfHwRro4d+FQ8SEorm6hXXSu5BwH0g/QJ6APJ4pOcKLoxGXPWfv4lAsp2HrZMmHmBCZMnICLi3mXlcjOzubbb39i3bo9SDkOX99XsLfvbNZrKK1HShMVFT9xzz33WrqUNqPDhJMQYjzwCpAKrJJSxlm0IIUL5RfYfHqz1jpKOZtSZ7+rgyvjQsZxbcm1ZG3IIrA4kIiBEU1qIUF1K+l0wWkyKzLJIYeAawK49YZb8fb1Nnt4eHh40KtXr3qX4GiOzMxMvv56PT//nAro8PP7F3Z2Tfv/obQdOTk7GTjQlR49eli6lDbDKsKpZtn3G4FsKWW/WtsnAe8AtsAnUsr/XOY0EigCnABDC5arNKCssoxthm1aGO1I31FnjjpHW0cigyPRherQhekItAlk+YfLSduRhs5Th1/w1c2oYJImsi9kc6bwDDkihzKHMgZHDmbqqKn069cPd3frWY/IYDDw1Vfr+fXXIwihx8/vHuwsuDy7Yj5SSsrK1jNjxu1qLsNarCKcgKXAQmD5xQ1CCFvgfWAC1WGTJIRYS3VQvXbJ5x8CNtcskugLvAXc0wp1d2iVpkqSM5O1MEo4nUBZZZm231bYMjJwJPowPbowHaODRuNk50R5eTmrv1vNRys/oodND24MufF3s3o3pMxYxpmCM2SUZ5BNNr4hvgybMoxBQwYRHh6OnZ21/JWvdurUKVatWkdc3ElsbdVy6O1RXt5u+vZ1pE+fPpYupdmKi4vNdi6r+E6VUm4SQoResnk4cExKeQJACLEKmCKlfI3qVlZDCgD13d0CpJSk5qRqYRSXFkdheWGdYwb4DtDCaFzIONwc3ep8PikpiaXvLcUp24nru11/xS48KSW5xbmcLjhNjk0ORXZFDBw+kJsib6J///54enq2yL22tBMnTvDFF+vYssWAnd1EAgNnYmNjb+myFDOTUlJSso777pti9a2mo0ePMnXqVLOdzyrCqQEBwJlaXxuAEQ0dLISYCkwE3KluhdV3zCxgFtDh385urBMFJ7QBDDEnY8guzq6z/xqPa6qXIA/XMz50PD4u9b8ImpWVxWcffsaxxGMM8xiGf4h/g9csryzHcM5Aekk62SIbzwBPhl0/jOlDp3Pttddib2+9P8SPHDnCypXr2LEjB3v7SQQGPorNZZbfUKxbfv5eevYU9O/f39KlNMvq1au5//77KSwsvPLBjWTNf+vr+zVD1rOteoeU3wHfXe6EUsqPgY8BIiIiGjxXR5Z5IZOYk9VDu2PSYkg7l1Znf7fO3dCH69GH6YkKjSLE/fKTipaXl/Pjmh9Zs3wN4TKcSYGTsBE2VFRWaNMNSSkpKi/izLkzZJFFkV0RfYf25fox19O/f3+8vb1b6nZbhZSSQ4cO8fnn60hOPoeDw/UEBo7ExsbW0qUpLUhKSXHxOu67b7LVtpoqKyuZO3cu//nP5R73N401h5MBCKr1dSCQYaFa2q2C0gLi0uK01tHB3IN19ns4eRAVFqV11fXsenUL1KXuT2XNqjWYhInjNsc5nnNcG+EmhEDYCAQCN3c3hk4bytRhU+nRowcODg5mvU9LkFKyf/9+VqxYx759pTg53UBQ0DBEI5+vKdatoCCVa64xMnjwIEuX0iQ5OTncddddREdHa9tCQkI4deqUWc5vzeGUBHQXQoQB6cCdwN2WLcn6FVcUk3A6QeumS85MrjNhqrO9M+NCxmlhNMhvUKMHK9RnyNAhLP9u+ZUPbEeklKSkpLB8+XoOHqzE2XkyQUFDVCh1IFJKLlxYx7PPWmerafv27UybNg2D4beBz5MmTeLzzz/Hy8vrMp9sPKsIJyHEl8B4wEsIYQBellJ+KoSYDfxM9Qi9JVLKVAuWaZUqqirYbtiutYy2GbZhNBm1/fY29owKGqUN7x4ROAIHW+tvtViCyWRi165kli9fz9GjNri4TCY4eJBV/nBSmufcuUOEhBQzdGjDC2C2RVJKPvroI/7yl79gNFb/nBBC8NJLLzF37lxsbc3XFW0V4SSlvKuB7euB9a1cjlWrMlWxJ2sP0SeiiT4ZzebTmykxlmj7BYII/witZRQZFImLg3lfUO1oTCYTO3YksXTpetLSOuHqeivBwf1UKHVghYXrePrpG8z+knZLKikpMU4ORgAAEypJREFU4dFHH2X58t96Otzd3Vm5ciU33HCD2a9nFeGkNJ2UkkO5h7QBDLEnYykoK6hzTB/vPloYXRdyHR6d1ISh5lBVVcXWrdtYuvQn0tPdcXW9k+DgXiqUOrjz548SGHiOESOGW7qURjt+/DhTp05l79692rZBgwbx7bffEh4e3iLXVOHUDp06d6rO8O7Mosw6+0PdQ7Uw0oXp8Ot8dTMvKJdXWVlJQkIiy5ZtIDPTmy5d7iM4WE1Lo1Q7d24ds2dfbzWtph9//JF7772X8+fPa9seeOABFi1aRKdOnVrsuiqc2oHs4mxiT8ZqYXS84Hid/b4uvujCdFoghXmEWajS9s1oNBIfv5lly34mNzcQd/c/ERLSMr9VKtapsPAE3bplM2rUSEuXckVVVVXMmzePf/3rX9o2BweH/2/v7qOjqu88jr+/AeTRUAoNIqCAFCtKBRpEKBoBte4eqm5AT0RZtSyu2pTKlp7SZdet9AGLWzk260IjQkULyEMW1JWWtYdAXThb0igLHtSiojxYEBAQ1EDgu3/MZJgMmWwSZubeIZ/XOTmZfO+dOx8ncb787sPvUlJSwqRJk9K+B0DNKQsdqTrCuh3rYqOjLfu21FresXVHCnoVRC5+7T2a/l/qr11JaVRVVcXatetZuHANBw/25otffJCLLqr/+i5pnj7++D+ZNu2mlJ44kA4HDhxg/PjxrFmzJlbr2bMnK1asYMiQIRnJoOaUBT478Rkbdm6INaOKPRW1bkHetmVbRlw0IjY6GtRtEC01q0BGrFr1Ek8//SI7d0Ju7lDat+/OoUNvcujQm0FHk5A5efJz8vJ2MWLEA0FHqVdFRQVjx47lgw8+iNVuuOEGFi1alLLTxBtCn2AhdOLkCSr2VMSa0YadG6g6WRVb3jKnJV/v8fXYMaNhPYY1+K6vklp5eV9i1KgBdOvWLVo5GmgeCbeBAyeGdvJhd2fevHkUFxdz/PjxWH369Ok88sgjGR/thfNdamZO+Sm27N0SO2a0/v31fHL8k1rrDLxgYGw33YiLRnB+6/MDSivxhg0byrBhSad0FMkKn332GcXFxcyfPz9W69ixIwsXLuTmm28OJJOaUwDcne0Ht8ea0doda9n/6f5a6/Tr3C92AsN1va6jS7vMDadFpPl47733GDt2LK+99lqs9tWvfpUVK1YEest4NacM2X1kd63Tu3ce2VlreY/cHrGR0cjeI+mR2yOgpCLSXKxevZo777yTjz8+fe3jhAkTmDt3Lu3aBXuHZTWnNDnw6QHW7lgbm8H7rQNv1VrepV0XRvY6PWFq3y/21Rl1IpIRp06dYsaMGcyYMQP3yNyZrVq14oknnuD+++8PxWeRmlOKHD1+lPXvr4+Njjb/ZXOtCVM7nNeBgosLYs1oQNcBZzVhqohIUxw8eJC77rqL1atXx2o9evRg2bJlXH11eK6/UnNqoqrqKjbu2hhrRn/c/UeqT1XHlrdu0ZrhPYfHmlH+hfm0apG9N8ETkexXWVnJ2LFj2bFjR6w2atQoFi9eTF5e3TcCDYqaUwNVn6qm8sPKWDN69YNX+bz689jyHMthaPehsWuNhvccTttW6ZvaQ0SkMRYsWMADDzxAVdXpy1KmTZvGj3/841Ce3h6+RCGydd/WWDNat2Mdh6sO11o+IG9AbGR07cXX0rFNx4CSiojU7fPPP2fy5Mk89dRTsVpubi7PPPMMt956a4DJ6mc1B8OktlY9W3n131XXql3S6ZJYMxrZeyR57cM1DBYRiff+++8zbtw4KioqYrUrrriCFStW0K9feiYjNrM/uXv+2W5HI6ckqk9W061DN0b3GR270d7FX9B8aSKSHdasWcMdd9zBwYMHY7Xx48dTWlpK+/bhv0ebmlMSl+ddzpZ/2BKKUypFRBrq1KlT/OxnP+Phhx+OnSbesmVLHn/8cYqLi7PmM+2cbE5m1geYDnR093HRWnvg34HjQLm7/6a+bbRp2SZrfokiIgCHDh1iwoQJvPTSS7HahRdeyLJlyxg+fHiAyRovdBfamNl8M9tnZlsT6jeZ2Vtmtt3MptW3DXd/190nJpQLgeXuPgkIZrIoEZE02bx5M/n5+bUaU0FBAZWVlVnXmCCEzQn4NXBTfMHMWgBPAn8F9AfuMLP+ZjbAzF5K+Ep2lkIPoGbOoJNJ1hERyTrPPvssw4YN4513Tt9odOrUqbzyyit07do1wGRNF7rdeu6+3sx6JZSvAra7+7sAZrYEuMXdZwJjGrjpXUQa1OuEsymLiDRKVVUVU6ZMYc6cObFahw4dWLBgAePGjQsw2dnLlg/p7pwe9UCk0XRPtrKZdTazucAgM/thtFwGjDWzOcCLSZ53n5lVmFnFRx99lKLoIiKpt3PnTgoKCmo1pssuu4xNmzZlfWOCEI6ckqjrzISkF2i5+wHg/oTaMeDe+l7E3UuBUoD8/HxdACYiofT73/+eoqIi9u8/faud22+/nXnz5nH++efGvd6yZeS0C+gZ93MPYE9AWUREAuHuPProo9x4442xxtSiRQtmz57NkiVLzpnGBNkzctoEfNnMegO7gSJgfLCRREQy5/Dhw9xzzz2sXLkyVrvgggtYunQp11xzTYDJ0iN0IyczWwxsBC41s11mNtHdq4Fi4HfANmCpu78RZE4RkUzZunUrQ4YMqdWYRowYQWVl5TnZmCCEIyd3vyNJ/WXg5QzHEREJ1KJFi5g0aRKffvpprPbQQw8xa9YsWrU6d2/DE7rmJCIicPz4caZOnUpJSUms1r59e+bNm0dRUVGAyTJDzUlEJGR2797NbbfdxsaNG2O1fv36UVZWxuWXXx5gsswJ3TEnEZHmrLy8nMGDB9dqTIWFhWzatKnZNCZQcxIRCQV357HHHuP6669n3759AOTk5DBr1iyWL19Obm5uwAkzS7v1REQCduTIEe69917Kyspitby8PJYsWcLIkSMDTBYcNScRkQC98cYbFBYW8vbbb8dqw4YNY9myZXTvnnSWtnOeduuJiATk+eefZ+jQobUaU3FxMeXl5c26MYGak4hIxp04cYIpU6ZQVFTEsWPHAGjXrh3PPfccJSUlnHfeeQEnDJ5264mIZNCHH37I7bffzquvvhqr9e3bl7KyMgYMGBBgsnDRyElEJEPWr1/PoEGDajWmW265hYqKCjWmBGpOIiJp5u7Mnj2bUaNGsXfvXiBymvjMmTMpKyujY8eOAScMH+3WExFJo6NHjzJx4kSWLl0aq3Xp0oUlS5YwevToAJOFm5qTiEiavPnmmxQWFrJt27ZYbejQoSxbtoyePXvW80zRbj0RkTRYsWIFQ4YMqdWYHnzwQdatW6fG1ABqTiIiKVRdXc33v/99xo0bx9GjRwFo27YtCxcu5Mknn6R169YBJ8wO2q0nIpIie/fupaioiPLy8litT58+lJWVceWVVwYXLAtp5CQikgIbNmxg8ODBtRrTmDFjqKioUGNqgnO2OZlZHzN72syWx9WuM7M/mNlcM7suwHgico5wd0pKSigoKGDPnj0AmBk/+clPWLVqFZ06dQo4YXYKZXMys/lmts/MtibUbzKzt8xsu5lNq28b7v6uu09MLANHgTbArtSmFpHm5tixY9x1111MnjyZ6upqADp37sxvf/tbpk+fTk5OKD9is0JYjzn9Gvg3YGFNwcxaAE8CNxBpLJvM7AWgBTAz4fnfcvd9dWz3D+6+zsy6Ao8Dd6Yhu4g0A3/+858pLCxk69bT/4bOz89n+fLlXHzxxQEmOzeEsjm5+3oz65VQvgrY7u7vApjZEuAWd58JjGngdk9FH34M6JQZEWmSlStXcvfdd3PkyJFY7b777uOJJ56gTZs2ASY7d4SyOSXRHdgZ9/MuYGiylc2sM/BTYJCZ/dDdZ5pZIfAN4AtERmaJz7kPuC/6Y1XibsWQ6gLsDzpEAyhnailnap11ztLSUkpLS1MUp07Z8l5emoqNZFNzsjpqnmxldz8A3J9QKwPK6n4GuHspUApgZhXunt+0qJmjnKmlnKmlnKmTDRkhkjMV28mmo3W7gPjLqnsAewLKIiIiaZRNzWkT8GUz621m5wFFwAsBZxIRkTQIZXMys8XARuBSM9tlZhPdvRooBn4HbAOWuvsbaYyR1p3HKaScqaWcqaWcqZMNGSFFOc096WEbERGRQIRy5CQiIs2bmpOIiISOmpOIiISOmlMD1TWRbFiZWXsz+5OZNWjmjCCY2TXRCXjnmdmGoPPESzJpcHsze8bMnjKzUEx7lSTnZdH3dbmZPRBkvhpJcuaY2U/NrMTM7g4yX40kOfub2VIzm2Nm44LMV8PMbo3+Ha4ysxuT1YKWJGfDJ99292b7BcwH9gFbE+o3AW8B24FpCcuWhz0nMAP4ATAmzDmjy24F/j6k2ZbHPZ4AfDP6+Pmw5oyr5QBPhzUn8DdE5tB8HBgd4pzfA66JPn4hZDk7Jf6O66qFKSdQAKyO/u771vta6fqPyIYv4FpgcPwbTWQi2XeAPsB5wGagf9zyIJpTg3MC1xO5BuweMt+cmvJ+LgVyQ5ot/kPqh8DA6ONFYc0Z/flmYAMwPqw5gWlE/1GSzv+nUpAzj8iE048B/x2ynL8ABids54xamHICOdHvXYHf1PdazXq3nruvBw4mlGMTzLr7cWAJcEvGw8VpZM6RwNXAeGCSmWXsd9zY99PMLgIOu/sR0iwFv+tdRGYlgTTuDk/F36S7v+Duw0njrPspej8/jj4+mZ6UZ5/T3fe5+7eJNNO0zWvXmJwW8XNgtbtXAtRVC2NOb8Tk2826OSVR1wSz3c2ss5nNJTqRbDDRaqkzp7tPd/eHgEXAU3F/DEGpM2f08URgQcYTndaY33UZMNbM5gAvhjVndJ/+L83sV8DLYc1J5P38hpmVAOvDmtPMeplZKZHb9zwWhpzAd4jsIRlnZjXzh9ZVy5QG5zSzwujf5rPUMfl2vGya+DVT6pxg1uuYSDZg9U6E6+6/zlyUeiXN6e7/kuEsiRr8u3b3Y8C9GUl1psbkLAfKM5CpLo3J+SmRf5wEoTE5d3D6TgWZliznL4FfJhTPqGVQY3LWO/l2PI2czpQtE8wq59kLc7Z4yplayplaacmp5nSmbJlgVjnPXpizxVPO1FLO1EpPznSd1ZENX8Bi4EPgBJHuPzFa/2vgbSJnoExXzuzPGeZsyqmcynnmlyZ+FRGR0NFuPRERCR01JxERCR01JxERCR01JxERCR01JxERCR01JxERCR01JxERCR01JxERCR01J5FzgJn9yMw87mtEE7dzdcJ2fpTiqCINouYkkmJmlmtmp6If7v+TZJ2OZrYvus5hM6trZuemmELkrr1vNfH526PPn5KiPCJNoltmiKTeYCK3EfgMuNzMzM+cJ+xHQG708Wt1LG+qlR65zUOTuPt+4Dkz6wXMTlEmkUbTyEkk9QZHv/8H0J7I7atjzOwrwLeBldHSnzIXTSQ7qDmJpN7Xot/nR78PSFg+G9gNrI3+nLbbateI3tF1hZkdie5GXBW9xcEOMytP9+uLNJZ264mk3mDgAyK3Hz8OXEF0lGRmY4CbgLHAddH10zpyMrPOwB+ArsBcYBtwDZHm2D6dry3SVBo5iaSQmXUA+gGV7n6CSCMYEF3WCvgFsNYjt6seDBwlch+cdPoBkbuT3uvuk919jruPB5YCXdL82iJNouYkkloDifx/VbOr7nVO79b7LnAJ8F0zywGuBF5391NpzvRNIjeIW5xQ/9c0v65Ik6k5iaRWzfGm+Ob0ZTO7CPhn4FfuvoXI6KpD3HqYWWcz+8TMhsXVepnZX8zs22eRqTewPbEJuvs+4NBZbFckbdScRFKr5ky9+ObUEngeqAYeTlgvdrzJ3Q8Ac4g0McysE/Ay8Iy7P5ne2CLhohMiRFLra8Bf3P3D6M+vR79fDXwn2oBq1oMzz9T7BfBedPT0KLAZmHaWmXYAfc0sJ370ZGZ5wBfOctsiaaGRk0iKmFlb4CvENRx3P0TkhITpREZFNQYTuUh3W/w23H0vMA94BXDgnhRcoPsi0A24I6E+9Sy3K5I2GjmJpM5AoAUJoyF3n5Vk3c3ufjLJttoB/+TuVSnI9XNgPLDAzK4C3gRGAF8H9hNpgiKhopGTSOokHm+qk5ldQmR32hnrmdkU4FYis0t8JxWholMSjQBeAr5FpFl1AEZyepolkVDRyEkkRaInLfy/Jy64+ztEmkItZnYb8E/AtUR3+ZnZpe7emElcO5nZUeCQu1fHveZ7QGHC63UGOhO5YLim1pJI4+zUiNcUSTmNnERCwMyuJXKsaay7v+Hu7xK5LukfG7mpSuAjIidgxG+/bR3r/iD6/b/iavnR56d9SiWR+ljqJkMWkaYws/5EphcqdvfFcfV+wP8Cl0VHPvVtow+1J5jd5O6H45aXA+8DFUSOi40GxgAbgGtrjn2ZWS5wVdx23o02SpGMUnMSaQbM7HvA3wK9gLbALqAMeMTdPwkwmkid1JxERCR0dMxJRERCR81JRERCR81JRERCR81JRERCR81JRERCR81JRERCR81JRERCR81JRERC5/8AA9rA+SV8ZKkAAAAASUVORK5CYII=\n",
"text/plain": [
"