{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "47ab9d3d-5a84-4b1c-a5e0-03e14abf4524",
"metadata": {
"tags": [
"remove_cell"
]
},
"outputs": [],
"source": [
"# Setting up the Colab environment. DO NOT EDIT!\n",
"import os\n",
"import warnings\n",
"warnings.filterwarnings(\"ignore\")\n",
"\n",
"try:\n",
" import otter\n",
"\n",
"except ImportError:\n",
" ! pip install -q otter-grader==4.0.0\n",
" import otter\n",
"\n",
"if not os.path.exists('walkthrough-tests'):\n",
" zip_files = [f for f in os.listdir() if f.endswith('.zip')]\n",
" assert len(zip_files)>0, 'Could not find any zip files!'\n",
" assert len(zip_files)==1, 'Found multiple zip files!'\n",
" ! unzip {zip_files[0]}\n",
"\n",
"grader = otter.Notebook(colab=True,\n",
" tests_dir = 'walkthrough-tests')"
]
},
{
"cell_type": "markdown",
"id": "739d080a-ad24-4687-bb6e-aab37952233a",
"metadata": {
"tags": []
},
"source": [
"# Walkthrough"
]
},
{
"cell_type": "markdown",
"id": "e920c6ea-e620-4f58-ba02-15bf10430cce",
"metadata": {},
"source": [
"## Learning Objectives\n",
"At the end of this learning activity you will be able to:\n",
"\n",
"* Practice summarize observations by sample using `groupby`.\n",
"* Measure the uncertainty of the estimate of the mean.\n",
"* Distinguish when to use parametric and non-parametric estimates of error.\n",
"* Practice merging two dataframes."
]
},
{
"cell_type": "markdown",
"id": "3e3d5466",
"metadata": {
"id": "59f3483e-0a2a-4217-8185-c5557dda482e"
},
"source": [
"This week we will start looking at the imaging data we discussed with Dr. Gaskill.\n",
"In this experiment, they used pH responsive beads that flouresce when in the low pH environment of the phagasome.\n",
"With this technology, they exposed cells to different levels of dopamine and measured the uptake of these beads.\n",
"They did this using a _high content_ imager which automates the process of scanning a plate, detecting cell boundaries, and _spots_ of flourescing beads."
]
},
{
"cell_type": "markdown",
"id": "2ad9f689-472f-479d-a638-8d7bd4e5f097",
"metadata": {},
"source": [
"This imager returns a giant spreadsheet where each cell is a row and the columns are the cell area, bead count, and intensity.\n",
"This dataset of a single 96-well plate has over **315,000 cells** measured across 60 samples of 20 conditions performed in triplicate."
]
},
{
"cell_type": "markdown",
"id": "e3294db5",
"metadata": {},
"source": [
"---------------------------------------------"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "02d710d4",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "00ed4f31-4ec4-47fb-9d37-1885d9cae14b",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cells_per_well.plot(kind='box')"
]
},
{
"cell_type": "markdown",
"id": "11def79e-e815-41c9-abee-550b4afa6501",
"metadata": {},
"source": [
"The count ranges from 257 to 794 with an average of 525 cells per well."
]
},
{
"cell_type": "markdown",
"id": "129f75e6-f68f-4561-9be9-3628f17e7034",
"metadata": {},
"source": [
"## Measuring phagocytosis"
]
},
{
"cell_type": "markdown",
"id": "e823934d-691e-4523-8ea9-38e84e791cbc",
"metadata": {},
"source": [
"Each cell can take up 0 or more pH beads.\n",
"Our biological question is whether dopamine changes the amount of beads that are taken up by the cells."
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "1c754d5e-646b-41e2-982f-8720ce91424f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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asqUKcy1D82fP1+lpaXq16+fgoKCVFVVpcWLF2vixImS+HPdXBozr8XFxQoODlbnzp1rjPHF352EGS85HA6Pz8aYGm3w3syZM3Xw4EHt3r27Rh9zf/0KCws1a9Ysbdu2TSEhIXWOY66vX3V1tQYPHqy0tDRJ0p133qlDhw5pxYoVmjJlinscc3393nzzTb322mtav369BgwYoNzcXKWkpCgqKkrJycnuccx18/BmXn0191xmaqJu3bopKCioRpIsKSmpkUrhnSeffFJbt27Vjh071L17d3e7y+WSJObeB3JyclRSUqK4uDi1bdtWbdu2VVZWll588UW1bdvWPZ/M9fWLjIxU//79Pdr+4R/+QSdPnpTEn2tfeuqpp/T000/roYce0sCBA/XII4/o3//935Weni6JuW4ujZlXl8ulyspKnTlzps4x14Mw00TBwcGKi4tTZmamR3tmZqbi4+P9VFXrYIzRzJkztXnzZr3//vuKjo726I+OjpbL5fKY+8rKSmVlZTH3TfS9731PeXl5ys3NdR+DBw/W5MmTlZubqz59+jDXPjJs2LAajxg4evSo+2W5/Ln2nfPnz6tNG8+/1oKCgty3ZjPXzaMx8xoXF6d27dp5jCkqKtInn3zim7m/7i3EN6Art2a/8sor5vDhwyYlJcV06NDBfPbZZ/4uzWqPP/64CQ8PNzt37jRFRUXu4/z58+4xS5YsMeHh4Wbz5s0mLy/PTJw4kdsqfeTqu5mMYa595cMPPzRt27Y1ixcvNseOHTOvv/66ad++vXnttdfcY5hr30hOTja33nqr+9bszZs3m27dupl58+a5xzDX3ikvLzcfffSR+eijj4wks2zZMvPRRx+5H0nSmHmdPn266d69u3nvvffMgQMHzKhRo7g1299+85vfmF69epng4GBz1113uW8fhvck1XqsWbPGPaa6utosWrTIuFwu43Q6zfDhw01eXp7/im5Frg0zzLXv/PGPfzSxsbHG6XSafv36mZdfftmjn7n2jbKyMjNr1izTs2dPExISYvr06WMWLlxoKioq3GOYa+/s2LGj1v9/Tk5ONsY0bl4vXLhgZs6cabp06WJCQ0PNP/3TP5mTJ0/6pD6HMcZc//oOAACAf7BnBgAAWI0wAwAArEaYAQAAViPMAAAAqxFmAACA1QgzAADAaoQZAABgNcIMAACwGmEGAK7TZ599JofDodzcXH+XAtyQCDPADa6kpETTpk1Tz5495XQ65XK5NHr0aP3f//2fz35j6tSpeuCBB2rt27Fjh8aOHauuXbuqffv26t+/v+bMmaNTp0757PcbY+3atbrppptq7fv000/16KOPqnv37nI6nYqOjtbEiRO1f//+Rp9/586duv/++xUZGakOHTrojjvu0Ouvv+6j6oEbG2EGuME9+OCD+vjjj7Vu3TodPXpUW7duVUJCgr766qtm/+1Vq1bp3nvvlcvl0qZNm3T48GGtXLlSpaWl+tWvftXsv98Y+/fvV1xcnI4ePapVq1bp8OHD2rJli/r166c5c+Y0+jzZ2dkaNGiQNm3apIMHD+rHP/6xpkyZoj/+8Y/NWD1wg/DJG54AWOnMmTNGktm5c2edYySZl156ydx3330mJCTE9O7d2/zud7/zGHPw4EEzcuRIExISYrp06WL+9V//1ZSXlxtjjFm0aFGNl9Pt2LHDFBYWmuDgYJOSklJnbVf8/ve/N/379zfBwcGmV69e5r//+79r1LhlyxaPtvDwcPdLSgsKCowks2nTJpOQkGBCQ0PNoEGDTHZ2tjGm9pfoLVq0yFRXV5sBAwaYuLg4U1VVVWeNDZ2/LmPHjjWPPvpovWMANIwwA9zALl26ZDp27GhSUlLMxYsXax0jyXTt2tWsXr3a5Ofnm2eeecYEBQWZw4cPG2OMOXfunImKijITJkwweXl5Zvv27SY6Otr9Nt3y8nLzL//yL+a+++4zRUVFpqioyFRUVJhly5YZSeb06dP11rh//37Tpk0b8+yzz5r8/HyzZs0aExoa6vE29caGmX79+pm3337b5Ofnmx/+8IemV69e5tKlS6aiosJkZGSYTp06uWssLy83Bw4cMJLM+vXr662xofPXZdiwYWbOnDn1nhtAwwgzwA3u97//vencubMJCQkx8fHxZsGCBebjjz9290sy06dP9/jOkCFDzOOPP26MMebll182nTt3NmfPnnX3/+lPfzJt2rQxxcXFxhhjkpOTzf333+9xjscff9x06tSpwfomTZpkEhMTPdqeeuop079/f48aGxNmfvvb37r7Dx06ZCSZI0eOGGOMWbNmjQkPD/c4x5tvvmkkmQMHDtRbY2POf62NGzea4OBg88knn9R7bgANY88McIN78MEHdfr0aW3dulWjR4/Wzp07ddddd2nt2rXuMUOHDvX4ztChQ3XkyBFJ0pEjR3T77berQ4cO7v5hw4apurpa+fn5df6uMUYOh6PB+o4cOaJhw4Z5tA0bNkzHjh1TVVVVY/4R3QYNGuT+35GRkZK+2QBdX42SGlVnU86/c+dOTZ06VatXr9aAAQMadW4AdSPMAFBISIgSExP1n//5n8rOztbUqVO1aNGier9z5S/4+kJJfSGgb9++Ki0tVVFRUb2/U9v5r4SMq3/n2rZLly7VOFe7du1q1FZdXV1vjZLcwa0hjTl/VlaWxo8fr2XLlmnKlCmNOi+A+hFmANTQv39/nTt3zv157969Hv179+5Vv3793GNzc3M9xu/Zs0dt2rRxh4Hg4OAaqyg//OEPFRwcrKVLl9Zaw9dff+0+/+7duz36srOz1bdvXwUFBUmSbr75Zo9QdOzYMZ0/f74p/8i11njHHXeof//++tWvflVr6LlSY2Pt3LlT48aN05IlS/Rv//ZvTfougLoRZoAb2JdffqlRo0bptdde08GDB1VQUKCNGzdq6dKluv/++93jNm7cqFdffVVHjx7VokWL9OGHH2rmzJmSpMmTJyskJETJycn65JNPtGPHDj355JN65JFHFBERIUnq3bu3Dh48qPz8fH3xxRe6dOmSevTooeeff14vvPCCHnvsMWVlZenEiRPas2ePpk2bpp///OeSpDlz5mj79u36+c9/rqNHj2rdunVavny55s6d665v1KhRWr58uQ4cOKD9+/dr+vTpHqskjdG7d2+dPXtW27dv1xdffKHz58/L4XBozZo1Onr0qIYPH6533nlHx48f18GDB7V48WKPOWrIlSDz05/+VA8++KCKi4tVXFzcIrfAA62ePzfsAPCvixcvmqefftrcddddJjw83LRv3958+9vfNs8884w5f/68MeabzbW/+c1vTGJionE6naZXr17mjTfe8DhPfbdmG2NMSUmJSUxMNB07dnTfmn1FZmamGT16tHsTcr9+/czcuXM97nK6cmt2u3btTM+ePc0vf/lLj98/deqUSUpKMh06dDAxMTHmnXfeqXUD8EcffeT+zpXb0q+uZfr06aZr167uW7OvyM/PN1OmTDFRUVHu28MnTpzo3hjcmPMnJyfXuP1bkhkxYkQj/20BqIvDmGsuNAPAVRwOh7Zs2VLnE3wBwN+4zAQAAKxGmAEAAFZr6+8CAAQ2rkQDCHSszAAAAKsRZgAAgNUIMwAAwGqEGQAAYDXCDAAAsBphBgAAWI0wAwAArEaYAQAAVvt/iXevByp5I6YAAAAASUVORK5CYII=\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.histplot(data = cell_level_data,\n",
" x = 'SpotCountCh2',\n",
" bins = np.arange(0, 100),\n",
" stat = 'percent')"
]
},
{
"cell_type": "markdown",
"id": "e469f666-fddb-473a-a7b4-6fd26858e6ae",
"metadata": {},
"source": [
"From our graph, we can see that most cells took up 0 beads and then about 10% took up 1, ~5% took up two, etc."
]
},
{
"cell_type": "markdown",
"id": "ad7b9c5f-a1ac-4c75-9364-b78de949a694",
"metadata": {},
"source": [
"We hypothesize that dopamine treatment will increase the average number of beads taken up by cells."
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "c6cdd477-0923-42bb-a54c-1af140c2984d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAj0AAAGzCAYAAADEw6Y0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABkXElEQVR4nO3de1zM6f8//sc0qSgbohJSFDlFDmul91Yscl5vh3VYZHd9rMMSy9KyclhisewKrVPsOqw363xIVrKidU7OkTO1oZoOW0m9fn/0bX6NZqaJmnnNzON+u3W7fXo1c11X83nf9NzrdT1eT4kgCAKIiIiIDJyJrhdAREREpA0seoiIiMgosOghIiIio8Cih4iIiIwCix4iIiIyCix6iIiIyCiw6CEiIiKjwKKHiIiIjAKLHiIiIjIKLHqIiIjIKJjqegGa8Pf3x+bNm+Xf16hRA+3atcMPP/wAd3d3PHjwAPPnz0dkZCSSkpLg4OCATz/9FDNnzoSZmZnG8xQUFODZs2eoWrUqJBJJRfwqREREVM4EQUBGRgYcHBxgYqJ6P0cvih4A8PPzQ1hYGAAgKSkJs2bNQq9evfDo0SPcunULBQUF+OWXX+Di4oJr165h9OjRyMrKwtKlSzWe49mzZ6hXr15F/QpERERUgR4/foy6deuq/LlEHxqO+vv7Iy0tDXv37pVfO3XqFD788EMkJyejVq1aJd6zZMkSrFmzBvfu3dN4HplMhmrVqqH5mOWQmlUuj6UTqScIkOTnaW26Q7P6a20uS0tL7pgSkVakp6ejXr16SEtLg7W1tcrX6c1OT3GZmZnYunUrXFxcYGNjo/Q1MpkMNWrUUDtObm4ucnNz5d9nZGQAAKRmlSE1Z9FDFU/y+hWsb+zU2nzDh+/V2lz79u2DlZWV1uYjIirtP7T0pug5ePCg/B/QrKws1K5dGwcPHlR67y4hIQErV67EsmXL1I4ZHByMuXPnVsh6iYiISFz0Jr3l6+uL2NhYxMbG4uzZs+jatSu6d++Ohw8fKrzu2bNn8PPzw8CBA/HFF1+oHTMwMBAymUz+9fjx44r8FYiIiEiH9GKnJzo6GgkJCXB1dQVQmN5q27YtMjIysG7dOnz//ffo06cPLl68iMTERFhYWCAnJwfPnj2Dg4ODynHNzc1hbm6urV+DqARBWgky9yFamy9q/mCtzWVpaam1uYiINKEXRQ8A2Nra4sqVKwAK01szZ85ETk4OsrOzAQCtW7fG5cuX0atXL0ybNg3Tp0/HgAEDcObMmTLP9df3Q/Dee++V6/qJiIhIt/Sm6CnO3NwcZmZmEAQB//nPf/Ds2TNs3boVjRo1wpo1ayCVSjFmzBiMGjUKeXl5qFSpUpnG/3DWdh5kpvKlhZSWNndxAKaziEj/6E3Rk5ycjNq1awMArKysULlyZdjb26NPnz749ddfcffuXdy9e7dEPl9dwfNmeis9Pb1iFk9GT5KfB+u47RU6R9++FTv+m5jOIiJ9oxcHmb28vCCVSmFpaQlLS0tkZmbC1NQUhw4dgomJCfz9/SEIAr755htUqVIFAPDBBx/gxYsXascNDg6GtbW1/IsPJiQiIjJcelH0AJqlt6ZNm4bLly8jIiICUqkUI0aMgLpnLzK9RUREZDz04vaWJuktAKhZsyaqVq2KQYMGyQ89//333+jQoYPScZneIm3RRkpLF2d6iIj0iV4UPUDp6a0i33zzDRwcHOSvLX5mR1NMbxERERkevSl6inszvXXu3DmcO3cOAHDo0CHMnDkTR44cQd26dVXu8qjD9BaV5uKSEbpeAhERlZHeFD3q0lvXr1/H77//jjNnzsDU1BTfffcdAGDDhg28fWWMtBAPz8zMrNDxi2M0nIiofOhF0ePl5YUHDx7AwsICQOEfnKpVq8p7bzVv3hxVq1bFvHnzMGvWLDx48ADOzs6wtbVVOy4j64bJ0OLhjIYTEZUPg0hvrVy5Eunp6QgMDCzTmIysExERGQ+9KHqio6Px559/wtXVFa6urujevTsSExPl6a3IyEj5rS2JRAJnZ2cAha0pRo4cqXJcRtaJiIiMh17c3gLUp7d+/vlnnD9/Hv369cOAAQOQlJSEIUOG4Ndff4WPj4/KMVVF1pne0m+CICArS7vx7YrEaDgRUfnQm6KnuDfTW46OjqhUqRJcXFzg4+ODBw8eAACaN29eoi2FJpjeIl1jOoyIqPzpTdGjLr1VZPHixZg/fz7s7OwAAHl5FZvgISNWwQmxikyHMQ1GRMZKL4qe0tJbADBp0iS0bt0a1atXx7lz5xAYGIhffvkF7dq1Uzku01v0tio6IVaR6TCmwYjIWOlF0QMUprfWrFkDAEhJScHq1avRvXt3nDt3DvXr18fkyZPlr3V3d0f16tUxYMAALF68GDY2NkrHDA4Oxty5c7WyfiIiItItvUhvAYVb8i4uLnBxccH777+PDRs2ICsrC+vWrVP6+g8++AAAcPfuXZVjMr1FRERkPPRip6eo4WjROYSihqOCICj03jp06BDmzZuHuLg4VKpUCQDk54CUYXqL3pY+J8SYBiMiYyURBEHQ9SJK4+LiAplMhuPHjwMo3L2ZMmUKHj58iBMnTsDc3By//PIL9uzZg2nTpsHKygrBwcFwdHTE+fPnNZ4nPT0d1tbWaPlVKNNbpIBpKiIi8Sr6+y2TydRuWujFTg8AvHjxAi1btgQAVK1aFXXq1AEANGvWDPfv38e2bdtgamqKBQsWoH79+hg7diy++eYbXS6ZdKmc01XlnaZigoqISPv0oujx8vJC8+bNsXfvXgCFf4CmTp2K169fw8bGBvfv30deXh5++eUX/Pzzz0hKSsLZs2dx//59NGvWTOW4TG8ZrvJOV5V3mooJKiIi7dObg8wHDx6ElZUVrKysULVqVezfvx87duyAiYkJ7t27BwCYM2cOZs2ahYMHD6J69erw9vZGSkqKyjHZe4uIiMh46E3Ro67haEFBAQBg5syZ6N+/P9q0aYOwsDBIJBLs3LlT5ZhMbxERERkPvTnInJCQIP++KL116tQpTJkyBTY2NpgyZYrS9/r7+yMsLEyjeTQ9CEXiV5iuytL1MlTimR4iovJjcAeZ1TUcHT58OGbMmIHg4GAMHToUQOGuz6ZNm+TP6yHjIpFIeGaGiIgU6E3RU9ybDUdr1qyJsWPH4scff0Tz5s3h4OCAbdu2oXLlyhg0aFCZx2fDUSNUwb20ouZr/5k+3E0iIlKkN0VPaQ1HlyxZAlNTUwwfPhzp6enIycnBsWPHUL16dZVjMr1FRfS5l5YqTIgRESnSi4PMXl5ekEqlsLS0hKWlJTIzM2FqaopDhw7JG45WqlQJS5cuxT///ANfX190794dH330kdpxmd4iIiIyHnpR9ADq01vFPXnyBEePHsXnn39e6phMbxERERkPvbi9VdR7y9XVFcD/n97KyMjAunXr8P333yM+Ph7Tpk3Dn3/+CUEQsGzZMtSoUQO+vr4qx2XvLSqiz720VGGPLSIiRXpR9ADq01sA0LNnTzRq1AjVq1fH4MGDYWFhgV69eiEhIQH29va6XDrpAaa9iIgMn94UPcW9md568eIF7t69i/Hjx+Pw4cOYOnUq6tati9WrV+P69etlLnqY3iKdquAkmTJMlxGRMdCbokddeksikaBJkyYICQlB+/bt4erqihUrVsDOzg5t2rRROSbTWyRGFZ0kU4bpMiIyBnpxkLm09JZEIsGxY8dQrVo1nDt3DhYWFli+fDnCw8NRrVo1leMyvUVERGQ89KLoAdSntwRBwLhx42Bra4tTp07h3Llz6Nu3L3r16oXExESVYzK9RUREZDz04vZWaektX19fHDhwAN7e3ujZsyekUin69+8Pc3NzbN68GTNmzFA6rqr0FpEuCdJKkLkP0eqcujrTQ0SkTXpR9ADq01uPHz+GIAho2LAhQkNDkZ6ejoCAACQnJ8s7sJcFI+tERESGR2+KnuLeTG/du3cPEokEKSkpyMnJgbW1NVxcXHDmzBm0aNGizOMzvUWioIUUlzZ2eJjSIiKx0JuiR116a9WqVahVqxaysrLQqVMn5OXloUGDBgCAly9fqhyT6S0SM22kuLSR2mJKi4jEQi8OMpeW3urUqRNSUlLw0UcfITExEQ8fPkTDhg0BQO1BZqa3iIiIjIdeFD2A+vRWs2bNsHnzZixbtgxVqlSBvb09GjRoADs7O0ilUpVjMr1FRERkPHR+e8vf3x+bN2+Wf1+jRg20a9cOP/zwA9zd3QEAcXFxePDgAdzd3WFmZoa0tDS0adMG1tbW8t5bXl5eaNeuHY4fP47KlSsjMzMTycnJcHZ2Vjk301skZtpIcWnrTA8RkRjovOgBAD8/P4SFhQEoTGbNmjULvXr1wqNHjwAABQUFqFOnDrp27YoNGzYAKOyVZGJiguzsbOTn56Nnz56oVasWTp8+jZcvX2LgwIGQSqXo0qVLmdfD9BYREZHhEUXRY25uLu+PZW9vj+nTp+PDDz/E8+fPUatWLbRq1Qr//PMPHB0dIQgCbt68iZCQEGRmZqJ3796IiIjA9evXceTIEVhaWuLMmTPIysoCAJiYlP0OHtNbpDEDSVgBTFkRkeETRdFTXGZmJrZu3QoXFxfY2NjIr4eHhyM8PBwA0L59e7i5uWHnzp3w8fHB7NmzUa1aNQwdOhSZmZlwc3PDzz//jLFjx+LixYvw9fVVOhfTW/SuDCVhBTBlRUSGTxQHmQ8ePAgrKytYWVmhatWq2L9/P3bs2CHfpdm0aRMEQUBYWBisra2Rnp6Oc+fOoX///gAKb4m1bdsWL1++RG5uLq5cuYIvv/wSZmZmSEpKUjkv01tERETGQxRFj7pklqaUbcsLgqB2u57pLSIiIuOh89tbpfXV+v7777FgwQIcOnQIFy9exKtXr0qMYW9vj927d6NNmza4du0amjRpghMnTiAvLw92dnYq52Z6i96VoSSsAKasiMjw6bzoAdT31QKAV69eYeDAgXjvvfdw9OjREu/v0KED5s+fjylTpqBZs2aIi4tDREQEzM3N0aZNmzKvh+ktIiIiwyOKoqe4N/tqAcDnn3+OlJQU/PXXXwCA2NhYAICLiwusrKzQtWtXNG/eHJGRkWjYsCEyMzMxdepUjB49+q2KF6a39MPFJSN0vQQiItIjoih61PXVAoDZs2crPMDQw8MDAHDixAn4+PhAKpXi0KFDGDduHDZu3AhBEDB27FgsXbpU+78MaaYcot6ZmZnlshRGtYmIjINEEARBlwvw9/fHli1bYGFhAQDIyspC7dq1cfDgQbRu3VrhtZs2bUJAQADS0tJUjjdnzhzs3btXvhukjrLIer169dDyq1Du9FQwyetXFR711hSj2kRE+i09PR3W1taQyWRq7/AYTHrrbTCyTkREZDxEUfRYWlrCxcUFLi4ueP/997FhwwZkZWVh3bp1FTovI+tERETGQxRnet5UvK9WkaSkJGzZsgXp6ekwNzeHra0tWrVqhYCAAHh4eCAoKAgRERG4d+8eJBIJJk6ciPnz58Pa2lrlPKoi60xvVTxBEJCVpZ0odmkY1SYiMg6iKHpyc3PlT05OTU1V6KsFAKdPn0a/fv0AFBYqv//+O16/fo34+HiMHz8eu3btQnx8PMaNG4e///4b0dHR2LdvH27cuIHDhw/DzMysTOtheouMCVNwRGQsRFH0hIeHy9NbVatWVeirBQCffPIJnj9/Ln/9xx9/DKAwvTV27FhUq1YNubm5CAgIUBj30aNHePToEVxcXLTxaxBpRgtNSsuivFJw5YFJOiKqSDpPb5UmJSUFNWvWxIIFCxAYGKjx+9avX4/AwECFYulNTG+RLogpuSY2TNIR0dvQq/SWOnfv3oUgCHBzc9P4PS9fvsT8+fMxZswYta9jeouIiMh4iL7oKdqI0nTLOz09HT179kTTpk0RFBSk9rVMbxERERkPUZzpUcfV1RUSiQTnzp3D8ePHcejQITx9+lQhvdW5c2eMGTMGERERePjwIUxNTdGtWzckJCSo3SFieot0QUzJNbFhko6IKpLoi54aNWrgP//5DxYvXoxGjRrhhx9+gLu7O/Ly8nD06FGMHTsW8fHxaNq0KaKjo/H+++9j2bJlWLx4Mbp27Yr79+9DKpWWaU6mt4jUY+KLiPSR6IseQPHWlkQikT/Hx9S0cPkZGRnYvn07pFIptm7dCktLS/kOUEJCAho1aqSrpROVncjSXcqIKfGlCabCiAjQg6KnqLv6jBkzkJ6ejq+//hqJiYmoVasW2rRpg7Vr1+LixYs4e/YsAJQpnq4svUWka5L8PNGnu/r2Fff63sRUGBEBenCQuSi91a5dO4SEhODBgwfIzc3FkydPsG/fPvj4+MDHxweCIGDVqlXyMwFubm64e/eu2l0epreIiIiMh+iLnrKkt4YNG4bLly/j5MmTcHV1xaBBg5CTk6Py9UxvERERGQ+9eTjhjBkzkJGRoTK9VUQQBPTo0QPh4eEwMzPDpk2bMGTIEI3m0vThRkQVqTDdlaXrZRgUnukhMmya/v0W/ZkeTdNbRVasWKHwj1vxMztE+kAikfD8CRFRBRB90QOUnt66d+8eduzYAScnJyxZsgRr167FkSNHYGZmhh49epR5PkbWSWMiS1pFzRfv83+420JEuib6okeT9JaFhQWioqJw/PhxAMDYsWMBAIsWLYKtra3KsZneoncltqSVmFNVTFARka6Jvugpnt7q168fQkJClL7OyckJ/v7+WL9+PYDCHaE6deqoHTs4OBhz584t9zUTERGR+BhEemv//v2IjIzEihUryjQ201tERETGQ/Q7PZr03oqMjMTdu3dRtWpVhff269cP3t7eiIqKUjq2qt5bRJoSpJUgc9csHagNYj/TQ0SkS6KPrAOAt7c3oqOj0ahRI8yfP18hvRUaGoq//voLvXv3Rv369TFhwgQAgK+vLxYtWoRBgwbB2dlZo3kYWSciItI/BhNZB0pPb9nb28PS0hJ169aFj4+P/LWNGzfWuOApjuktA6WlpJUudluYjCIiKp3oix5N0ltFtm7dii1btsDOzg4AkJ2drXZspreMi7aSVrpIUDEZRURUOtEXPZqmt4YNGwZnZ2fY29vj2rVrCAwMxMaNG9U+jZnpLSIiIuMh+qJH095bo0ePlv/fzZs3h6urK9q2bYtLly6hdevWSt8TGBiIKVOmyL9PT09n01EiIiIDJfqiR5P0VlHvrZiYGMycORNnz55FpUqVIJFIcP36dZVFD9NbxkVbSStdnekhIiL1RF/0aNp7KyYmBn5+fggMDMTKlSvx4MED9OrVC7Vr1y7znH99P4TpLSIiIgMj+qIHKD29lZCQgEGDBmHAgAEYPHgwbty4galTp8LDwwO+vr5lno/pLSoTLfff0vZOEpNhRGQoRP+cnpSUFNSsWVOe3jp48KBCemvy5MmwtrZG69atUaVKFWRnZ8PExAR2dnZYt26d2oajytJb9erVQ8uvQln0kMYkr1+Jqv9WeWMyjIjETtPn9Ii+DUXx9FZISAgePHiA3NxcPHnyBPv27YOPj4+8cLGwsMCGDRtw/vx5DBo0CP369cOdO3dUjh0cHAxra2v5Fw8xExERGS7RFz2apLcKCgoAAGPGjMGoUaPg4eGB5cuXo3Hjxti4caPK97H3FhERkfEQ/ZkeTdJbZmZmAAp3boKDgxXeb21trXJspreoPGi7/5YuzvQQERkC0Rc9mqS3bty4ATs7OwwZMgTTp08HAKxduxZz585F+/btyzwn01tERESGR/RFD1B6esvU1BQzZsxAUFAQOnbsiFatWmH16tWQSCQYO3Zsmedjesu4XVwyQtdLICKiCiD6okfT3lsBAQHIycnB5MmT8eLFC+Tk5GD16tVo2LChjn8DqhAVGBPPzMyskHGLMAJORKQboo+snzt3Du3bt8fu3bvRr18/jd4zbtw4REVF4caNG2pfx8i6/tLnmDgj4ERE5ctgIuua9t4qkp2djW3btuHzzz8v9bWMrBMRERkP0Rc9RemtmzdvavT6Xbt24d9//8WIEaWfy2BknYiIyHiI/vYWAHTv3h2xsbHo27cvIiIiFCLrX3zxBfr27YukpCRMmzYNO3bsQEFBAdzd3fHtt99iwIABGs+j6fYY6Z4gCMjKytL1Mt4Kz/QQEZUvTf9+60XRc+rUKfj4+KBSpUqYMGECunbtipycHISFheHw4cPIzc1Fly5dkJycjLi4OGzcuBFPnz5FUFAQLly4AA8PD43mKfrQeKbHuDG9RUSkXzQtekSf3gIKz97Y2dmhd+/e2LVrF1auXClPb/3xxx8AgJiYGPj6+iIlJQUjR46EiYkJli9fjkuXLmlc9JCIabGpZ0Wnt5Th7g8RUcUTfdGTkpKC8PBwLFiwAIGBgSpf5+XlBUEQcOXKFQDA77//jtzcXPj4+Kh8j7L0FomTJD9Pa2mtvn21nwpjoouIqOKJ/iBzUcNRNzc3ta/bsWMHXr9+DRsbG5ibm2PMmDHYs2eP2uf0ML1FRERkPERf9GgaWZ81axZSU1Px559/4sKFC5gyZQoGDhyIq1evqnwP01tERETGQ/QHmVNSUlCzZk3MmDEDGRkZShuOOjk5wcXFBZ06dUJcXBxyc3Ph5+eHxMRENGvWDKGhoRrNxfSWeOlzWksTPNNDRPT2DOYgsyYNR3/77TcAgImJCSIjIwEA3333HeLi4kq9LaYMe2+RLjA1RkRUsURf9AClNxx9+fIlACArKwvZ2dmwsbFBmzZtsG/fPjg5OeliyWRItJQc02ZqjDtLRGSMRF/0aNJwNCMjA1KpFLa2tujduzcyMzPRoEEDSCQS5OWp/mPF9BZpQlvJMW2mxpgWIyJjJPqDzEXprXbt2iEkJAQPHjxAbm4unjx5gn379sHHxwcffPABLC0t4eTkhPv37yM5ORne3t4QBAGJiYkqx2Z6i4iIyHiIvujRJL1Vq1Yt7Ny5EwcOHICVlZX8MFPr1q0hlUpVvo/pLSIiIuMhittbSUlJWLBggdJkVtHTlKdMmYIRI0YgIyMDqampqFatmsIY7dq1g6enJ54/fy6/9vjxYwwePFjlvObm5jA3Ny9x/a/vhzC9RXKFyTHV/zvSR5aWlrpeAhGR1um86Hnw4AE6duyIatWqlUhmjR8/Hrdu3YKbmxuePXuGqVOnIigoSOH9aWlpqFatGoYOHYonT57g6NGjAIBhw4bh+fPn6NOnjy5+LTIgEomE51+IiAyAzouecePGQSKR4Ny5cwr/9dmsWTN89tlnAIDDhw/D09MTGzduBAAkJCSgSpUqOHbsGNasWYPdu3cjPDwc69evh62tLWJiYuSJrrfByLqe0mJ/rqj5utv5YfKKiOjt6LToKd5XS9l2e9EtLGdnZ1y6dAnjxo3Dw4cP0aFDB9ja2qJNmzZYs2YNYmJiYG5ujpkzZyIlJQVOTk4ICgrCvHnzcObMGTRu3Fjp/ExvGRZD789VhMkrIqK3o9OiR9O+WgBQu3ZtTJo0CXv37kVycrLCmZ4zZ87A0dER8fHxCu8JDQ1FUlKSyjGDg4Mxd+7ct14/ERER6Q+dprc07aulCWVjCIKgdmymt4iIiIyHTnd6XF1d5ed5jh8/rjS91blzZ6xduxbbtm3D+fPnAQAymUxhp8fe3h4PHz6Ep6cnYmNjYWZmhrS0NDx//hx2dnYq51eV3iL9JEgrQeY+RCtz6fpMDxERlZ1Oix5N+mrFx8fj33//hZ+fHxo1aoR169aVGKdDhw7Izc1F+/bt0aFDB2zYsAFnz56FTCaDp6dnmdfFyDoREZHh0Xl6q7S+WgAwePBgJCUlYevWrQCA69evIzU1FY6OjqhRowaaNGkCPz8/REZGok+fPsjPz8fo0aPRq1cvlYeY1WF6i96ZFpNkb9L1LhSTZUQkVhKh6GCNDqSkpKBmzZryvloHDx5U6Ks1efJk+Pj4YM6cOUoPHIeFhcHf318+1sSJE/HHH38gJycHw4YNQ0hISImHGBanLL1Vr149tPwqlEUPvRPJ61daS5KJCZNlRKQL6enp8m4M6u7U6LToOXfuHNq3b4/du3ejX79+pb4+KioKvr6+Sp/IXGTTpk0ICAhAWlpaqeOpKqZY9NC7YtFDRKQ9mhY9BpPeehtMbxERERkPUaS3bt68iY8//ljpa/z9/bF582YAkDcP7devH4YPHw5/f3+YmJggJSUFQUFBiIiIwIMHD5CXl4eJEydi/vz5sLa2Vjk/01tUUbSZJHuTrs/0EBGJlc7TW926dcOqVaswceLEEv9gFt2i8vPzQ1hYGE6dOoVBgwbBy8sLkyZNwq5du7B//348e/YMz549w9KlS3Hz5k3MmzcP4eHhePbsGXbt2lXmdTG9RUREZHh0nt5avXo1PD098f7772PevHlwd3fH69ev5X212rdvD0EQkJSUBJlMBgDo2rUr6tWrhzFjxmDTpk344osvsHz5cqSkpODy5cuQSCQYPXo0Zs6cKW9IWhZMbxkQHaSodLXTwuQUEZF6Oj3IXCQxMRELFixQmt7atGkT/v77b9y+fbvE++rVq4fmzZvj8OHDCrfBijtx4gR8fHyUzsv0luEzpgPFPERMRMZKLw4yF6lduzZCQkLw4MED5Obm4smTJ9i3b5+8WHFzc4MgCCW+PD098eDBAwCFqa2i6y9evICjoyNmzpypsuABCntvWVtby7/q1atX8b8sERER6YQoip63pay3Vnp6Onr27ImmTZsiKChI7fuZ3iIiIjIeOj/TU5ro6GgkJCRAIpHA1NQUNWrUgLu7O4YMGYIbN27A2dkZADBmzBhERETg4cOHMDU1Rbdu3ZCQkKC2gzvTW4ZPFykqXZ7pISIi1URf9ACAra0trly5gvz8fPzzzz8IDw/HhAkTkJ2djUmTJgEAmjZtiujoaLz//vtYtmwZFi9ejK5du+L+/fvyqLummN4iIiIyPHpR9ChTdP66oKAAGRkZ2L59O6RSKbZu3QpLS0t5h/aEhAQ0atSoTGMzvUXFXVwyQtdLICKicqAXRU9ycjJq164NU1NTVK9eHS1btsTq1avx008/Ye/evWjUqBHOnj0LAHBxcdHxaknrKjiWnpmZWWFjv4mxcyKiiiP6osfLywvNmzfH3r17S/zs6NGjiIuLg4+PDwRBwOrVq/HNN98gKysLbm5uOHjwIBo2bKhybGWRddI/kvy8Co2l9+2rvcg7Y+dERBXHoNJbw4YNw+XLl3Hy5Em4urpi0KBByMnJUfl+RtaJiIiMh14XPTdv3pSntwDA2toarq6u+PDDD7Fr1y7cunULe/bsUfl+RtaJiIiMh+hvb6mKrLdq1QpXr17F5MmTFV4vCAJ69OiB8PBwmJmZKdy+epOqyDrTW/pFEARkZemuyWZ5YuyciKjiiL7oAYCaNWvi+PHjePXqFW7fvo3Nmzdj6dKlqFWrFoYOHYp79+5hx44d6Nq1K/bt2yfv0WVmZoYePXqUeT6mtwwTU1hERMZNL4qeFy9eoGXLlgrprWnTpmHJkiX47bff0KNHD5w6dQpLlixBamoqateuDQBYtGgRbG1tdbx6KpWWmoJqM4UFMIlFRCQ2oi961KW3IiIisHv3bnzxxRfYtWsX2rZti7CwMPTt2xcSiQR16tRROzbTW+JQ0emrItpMYQFMYhERiY1eH2R2c3OTNxydPHkyPD090bdvX43fz/QWERGR8dDroqcosr5//35ERkZixYoVZXo/01tERETGQyIU9XMQKRcXFyQkJABAiYajy5cvR/369eHi4oKffvpJ6fu9vb0RFRWl0Vzp6emwtraGTCZjekuLCtNXWbpeRrnjmR4iIu3Q9O+36M/0AKU3HO3VqxdOnz6N+vXrY8KECQAAX19fLFq0CIMGDSrzfExvGRemuoiIjINeFD3KFG84am9vD0tLS9StWxc+Pj7y1zRu3Fjh4YWkZ5jqIiKicqQXRU9pDUf/7//+DwCwdetWbNmyBXZ2dgCA7OxsteMyvSVuTHUREVF5En3Ro0nDUaCw75azszPs7e1x7do1BAYGYuPGjRgyZIjKsYODgzF37tyKWjoRERGJiOiLHnWKNxwdPXq0/Hrz5s3h6uqKtm3b4tKlS2jdurXS9wcGBmLKlCny79PT0xlbJyIiMlCiL3pU9d4aMmQIbty4oXBmJyYmBjNnzsTZs2dRqVIlSCQSXL9+XWXRw95b4mZIPbWKY38tIiLdEH3RA5Se3gIKCx4/Pz8EBgZi5cqVePDgAXr16iVvSUH6RyKR8OwLERGVG70oepQpnt5KSEjAoEGDMGDAAAwePBg3btzA1KlT4eHhAV9f3zKPzci6BrSQrIqar71dHiaqiIgMn14UPaWlt9q1a4cnT57g999/R1hYGExMTGBnZ4dly5ZBKpWqHJfprbenjWSVNlNVTFQRERk+0beh8PLyQt++fSEIAvLy8pCcnIxjx45h1KhR8t5bRYWLhYUFNmzYgPPnz2PQoEHo168f7ty5o3Js9t4iIiIyHqIvetQpSm8VFBQAAMaMGYNRo0bBw8MDy5cvR+PGjbFx40aV72fvLSIiIuMh+ttbmqS38vPzARTu3AQHByu839raWuXYqtJbVDpBWgkyd9XPQCoP2j7TQ0REhk30RQ9QenqrQ4cOsLOzw5AhQzB9+nQAwNq1azF37ly0b9++zPMxsk5ERGR49KLoUaZ4esvU1BQzZsxAUFAQOnbsiFatWmH16tWQSCQYO3ZsmcdmestIVGACTRu7VEycERGVjV4UPZr03goICEBOTg4mT56MFy9eICcnB6tXr0bDhg1Vjsv0lnGryASaNpJnTJwREZWN6A8ya5LeKjJjxgw8fvwYo0aNQpMmTUrd5WF6i4iIyHiIvuhRp3jvrSLZ2dnYtm0bPv/881Lfz/QWERGR8RD97S1Ne28lJSVh2rRpOHDgAGQyGTZv3oz69etjwIABKsdmesu4VWQCTVtneoiISHOiL3oAzXpvDR8+HDKZDA0aNICtrS28vLzwySef4MKFC/Dw8CjTfExvERERGR69KHqUKZ7eAgobjs6ZMwfffPMNDh8+DD8/PyxfvhyXLl0qc9HD9BaVwF5jRER6Ty+KHk3SW15eXggNDUXt2rXx0Ucf4ffff0dubi58fHxUjsv0FmmKvcaIiPSf6IseLy8vNG/eHHv37i3xs6NHjyIuLg4AsGPHDnzyySc4evQoKleujCpVqmDPnj1qI+vBwcGYO3duRS2diIiIRMRg0luzZs1Camoq/vzzT1y4cAFTpkzBwIEDcfXqVZXvZ3qLiIjIeIh+p0eT9FZCQgJCQkLQqVMnDB48GLm5ufDz80OLFi2watUqhIaGKh2b6S3SFHuNERHpP9EXPUDp6a0XL14AAExMTBAZGQkA+O677xAXFwc3N7cyz8f0FhERkeHRi6JHmeLprZcvXwIAsrKykJ2dDRsbG7Rp0wb79u2Dk5NTmcdmeqtiXFwyQtdLICIiI6YXRU9p6a2xY8dCKpXC1tYWvXv3RmZmJho0aACJRIK8vIqNGRuVd4xtZ2ZmlttSGLkmIqKyEn3Ro0l664MPPoClpSWcnJywbds2CIKA6dOn49q1a0hMTFQ5NiPrZfOuse3yjGQzck1ERGVlEOmtWrVqYefOnThw4ACsrKxgbW0NmUyG1q1bQyqVqnw/G44SEREZD50WPf7+/pBIJJBIJKhUqRLs7OzQpUsXbNy4Uf6kZQB48OABfHx88N5770EikSAtLQ0AcPPmTXnvrXbt2sHT0xNWVlaoUqUKAODx48fynyvDyDoREZHx0PntLT8/P4SFhSkksyZNmoRdu3Zh//79AID8/Hz4+fnBz88PgYGBAIDIyEhcvXoVkydPBgAMHToUT548wdGjRwEAw4YNw/Pnz9GnTx+Vc6uKrDO9pZwgCMjK0l6sWh1GromIqKx0XvSYm5vD3t4eAFCnTh20bt0aH3zwATp37oxNmzYBAOrWrQt/f3+cOnUKALBs2TKsWLECvXr1wogRI3Dz5k2Eh4dj/fr1sLW1RUxMjDzR9TaY3hIvJsCIiOhtaVT0eHh4aJyUuXTp0jstCAA6deqEli1bYvfu3bC1tUV4eDhq164NE5PCu3GnTp3Czz//jJEjR8LExAQxMTEwNzfHzJkzkZKSAicnJwQFBWHevHk4c+YMGjdu/M5rondUTg07mQAjIqK3pVHR8/HHH1fwMkpyc3NDXFwcDh8+LN/xiYqKgq+vL/bu3Ytq1arJX5uUlARHR0fEx8crjBEaGoqkpCSVczC9pT3l1bCTCTAiInpbGhU9QUFBFb2OEor31dKEsteWNgYbjhIRERkP0UbWiyezSmNvb49//vmnxPXnz5/Dzs5O5fuY3iIiIjIeGu30VK9eXeNdl5SUFI0nV9VMtFWrVgrJrLVr12Lbtm04f/48AEAmkync3urQoQNkMhnc3d1x9+5dmJmZ4ejRo5DJZPD09FQ5P9Nb2iOm5FcRJsCIiIyLRkXPihUrKmwBNWvWxPHjx/Hq1Svcvn0bmzdvxtKlS1GrVi0MHToUQOGZHXd3d9jY2GD37t24fv06UlNT4ejoiBo1aqBJkyZo2LAhXrx4gY8//hgHDhzA6NGj0atXr7c6xMz0lvgwtUVERO9Ko6Jn5MiRFbaAFy9eoGXLlgp9taZNm4YlS5bgt99+wxdffIGCggKsXLlS/p6ePXsCAMLCwuDv7w8AOHfuHCZOnIg//vgDOTk5cHd3R0hISIWtmzQkwtRWEaa3iIiMi0QoaldeBgkJCQgLC0NCQgJ++ukneay8Xr16aNasmcbj+Pv7Iy0tTWlfrVatWsHBwQGHDx+WXytKb6Wmpirc3ipu06ZNCAgIkD+1WR1l6a169eqh5Veh3OkpJ5LXr8oltVURmN4iIjIM6enp8hZU6o6nlPkg88mTJ9GiRQucPXsWu3fvlv8XeFxcXLmmvNzc3PDgwYNyG08Z9t4iIiIyHmUuembMmIHvv/8ex44dg5mZmfy6r68vYmJiym1hZY2svw2mt4iIiIxHmdtQXL16Fdu2bStxvVatWu/U+uFNb0bW/f39sXnzZgCFabIi3bp1w7Zt2xAUFISIiAg8ePAAeXl5mDhxIubPnw9ra2uVczC9VfHEmNoqwvQWEZFxKXPRU61aNSQmJpZ4hs7ly5dRp06dclnUm81Ei7z//vs4d+4cbt26JS9mzM3N8fTpUzx79gxLly7FzZs3MW/ePISHh+PZs2fYtWtXuayJ3o5EIuG5GSIiEoUyFz1Dhw7F9OnTsXPnTkgkEhQUFOD06dOYOnUqRowoe6w4NzcXSUlJCl3Wg4OD5c1EgcLIekpKCl69egUASE5ORnZ2NhwdHVG9enVUr14dy5cvR0pKCi5fvgyJRILRo0dj5syZSEtLU3noWRVG1omIDEg5pUjFIGq+OHfOy0KXyVmN01t3796Fi4sL8vLyMGrUKGzfvh2CIMDU1BT5+fkYOnQoNm3aBKlUqvHkxW9ZFY+sDx06VN5MFADmzJmjtF1E8ch68bGKO3HiBHx8fJTOz/QWEZHhE3OK1BhVRHJW0/SWxkWPiYkJ6tSpA19fX/j6+sLb2xuXLl1CQUEBPDw84OrqWm6LV8bf3x9btmyBhYWFwvXp06fju+++U7j28uVLtG7dGsOHD8f333+vckxVxRSLHiIiw8GiR1x0WfRofHvr5MmTOHnyJKKiojBhwgTk5OTA0dERnTp1wqtXr1ClSpVyO9Ojiq+vL9asWaNwrUaNGgrfp6eno2fPnmjatGmpEfrAwEBMmTJF4b2MrRMRERmmt3o4YV5eHmJiYhAVFYWoqCj8/fffyM3NhYuLC27fvl0R64SLiwsSEhJKXO/WrRvCw8MxZswYRERE4OHDhzA1NUW3bt2wZMkSuLm5aTyHppUiERHpj8IUaZaul0H/T0Wc6Sn3nZ7iKlWqhA8//BDt2rVDhw4dcPToUaxbtw5379596wVrwtbWFleuXFG4VhQ5b9q0KaKjo/H+++9j2bJlWLx4Mbp27Yr79++X6ZwREREZFqZIqUiZip6cnBycOXMGJ06cQFRUFM6fPw9nZ2d4e3tjzZo18Pb2rqh1qpSfn4+MjAxs374dUqkUW7duhaWlJQICAtC5c2ckJCSgUaNGZRqT6S0iEh09TiAxcURioXHR4+3tjfPnz6Nhw4b48MMP8dVXX8Hb2xt2dnYVuT4FycnJqF27tsK1xo0bIzQ0FGfPngVQeBtMU8rSW0REYiTJz9Pbw7h9++rnuotjrz7DoHEbijNnzqBmzZrw9fVF586d0alTJ60WPF5eXpBKpbC0tFT4GjZsGHx8fCAIAlatWiV/yq6bmxvu3r2rdpeHvbeIiIiMh8YHmbOysnDq1ClERUXhxIkTiI2NRaNGjeDt7Q0fHx94e3ujVq1aFbZQf39/PH36VGl6qyjBJZPJkJycjMTERCxduhRPnz7F6dOnS8Tci/A5PUSkLxi71i3u9IhbuT+n500ZGRmIjo6Wn++5cuUKXF1dce3atbdetDqlpbeKCIKAHj16IDw8HGZmZti0aROGDBmi0RxFHxqLHiISHZ7p0Sme6RG3Ck1vAYX/AyjaZalevTpMTU1x8+bNtx1OI+rSW0VWrFih8D/M4js5mmLDUSIiIsOjcdFTUFCACxcuyG9vnT59GllZWfKnNK9atQq+vr4VuVal8vPzce/ePezYsQNOTk5YsmQJ1q5diyNHjsDMzAw9evQo85hMbxERiZAe7nbp+y6Xoe1waVz0VKtWDVlZWahduzZ8fHzw448/wtfXFw0bNqzI9SlQld6KjIxEVFQUjh8/DgAYO3YsAGDRokWwtbVVOR7TW0RE+kMfE2z6nlwztLNMGhc9S5Ysga+vb5mfeVNevLy88ODBgxKHkocNGwYHBwc4OTnB398f69evB1D4MKrS2mIEBwcr7b1FREREhkfjomfMmDEVuQ6NqOq9tX//fkRGRuLy5ctlGo+9t4iIiIzHWx9k1rbo6GgkJCSU6OberVs3+TN5qlatqvCzfv36wdvbG1FRUUrHNDc3L3EQmoiIxEmQVoLMXbM0rlgYwpkeQ6I3RQ+gOr2Vm5uL06dPo379+pgwYQKAwl2hRYsWYdCgQWWeh+ktIiIiw6NXRY8y+fn5sLe3h6WlJerWrQsfHx/5zxo3bgxnZ+cyj8n0FpGREnE6SJ92DAwt8UOGQ6+KHlXprVu3bgEAtm7dii1btsjbY2RnZ6sdj+ktIipOzOkgfUoBGVrihwyHxr23dE1d7y2gMMW1fft2REVF4bvvvoOTkxM2btyodkz23iIiIjIeerXToyq9BQCjR4+WX2vevDlcXV3Rtm1bXLp0Ca1bt1Y6HtNbRERExkNvih516a2i3lsxMTGYOXMmzp49i0qVKkEikeD69esqix6mt4ioODGng/TtTA+RGOlN0QOo770VExMDPz8/BAYGYuXKlXjw4AF69epV4gyQJpjeIiIiMjx6VfQok5+fj4SEBAwaNAgDBgzA4MGDcePGDUydOhUeHh5v1Q+M6S0iEpuLS0boeglEek+vih5V6a3t27fjyZMn+P333xEWFgYTExPY2dlh2bJlkEqlOlotEekNEUfVi2RmZup6CaViVJ3ETm+KHnW9t4pi5xYWFggJCUGrVq3w66+/ol+/frh27VqJc0BFGFknIkDcUfUi+hBZZ1SdxE5vih5AdXqr6Dk9Y8aMwahRowAAHh4eOH78ODZu3Ijg4GCl47HhKBERkfHQq6LH0tISLi4uJa4X3fJq2rSpwvUmTZrg0aNHKsdjZJ2IiMh4SARBEHS9CE24uLggISGhxPVu3bphzZo1aNCggdL3ffzxx9izZ49Gc6Snp8Pa2hoymYzpLSIjIggCsrKydL0MvcczPaQrmv791qudnpo1a+L48eMK16pUqQJHR0fMnTsXS5YswY8//ojmzZtjxowZ+Ouvv97q9hXTW0REhoPJNyqiV0XPixcv0LJlS4VrRb23Zs+eDTMzM8ybNw8pKSkAgJ49e8Ld3V0XSyUiMj4iTcEx+UZF9Ob2lr+/P9LS0rB3795SX3vx4kW0bdsWp0+fhqenp8rXKUtv1atXDy2/CuVODxFRGUlevxJ9Ck6smHx7N5re3tKbhqMAcPDgQVhZWSl8zZ8/v8TrNmzYgCZNmqgteAA2HCUiIjImenV7S13D0SLZ2dnYtm0bvvvuu1LHY3qLiIjIeOjN7S116a3w8HAkJSVh2rRpOHDgAGQyGVq0aIHZs2djwIABGs/B9BYR0dtjCu7t8UzPuzHI9Ja6hqPDhw+HTCZDgwYNYGtrCy8vL3zyySe4cOECPDw8yjQP01tEZIzeNeUkkUh4LoVETa+KHmXy8/MBFHZZnzNnDr755hscPnwYfn5+WL58OS5dulTmooeISKtEknoSc8qJOyFUHvSq6FHVcPTWrVvw8vJCaGgoateujY8++gi///47cnNz4ePjo3I89t4iIjEQS+8vMff3YrqJyoPepLe8vLwglUphaWmp8DVs2DAAwI4dO+Di4oJnz56hcuXKGDNmDPbs2YOGDRuqHJPpLSIiIuOhVzs96tJbs2bNQmpqKv7880/UrFkTe/fuxcCBA3Hq1Cm0aNFC6XhMbxERERkPg0hvrVq1Ci4uLujUqRPi4uKQm5sLPz8/JCYmolmzZggNDdVoDqa3iEgXmHoqHc/0kDpGld6Kj48HAJiYmCAyMhIA8N133yEuLg5ubm5aXycRUVkw9USkHXpV9CiTn5+Ply9fAgCysrKQnZ0NGxsbtGnTBvv27YOTk1OZx2RknYgqnAgSW1HzB+t0/jdxN4cqml4VParSW0uWLIFUKoWtrS169+6NzMxMNGjQABKJBHl5qv9RYXqLiHRFDIktsaW1mNCiimYQ6a0PPvgAlpaWcHJywv3795GcnAxvb28IgoDExESVYzK9RUREZDz0pugBCtNbsbGxCl/jx49HrVq1sHPnThw4cABWVlbyw0ytW7eGVCpVOV5gYCBkMpn86/Hjx1r8bYiIiEibRHF7y9/fH5s3by5xvaiv1tq1axEeHo6XL1/C1dUVqampqFatmsJr27VrB09PTzx//lx+7fHjxxg8WPU9a3Nzc3kbCyIibRKklSBzH6LTNYjxTA9RRRJF0QMAfn5+CAsLU7hWVJD8+++/qFOnDmrUqIGbN28qff/QoUPx5MkTHD16FAAwbNgwPH/+HH369CnzWv76fggj60RERAZGNEWPubk57O3tlf4sICAAsbGxuHHjBgDgn3/+QU5ODgDA1NQUz58/R3h4ONavXw9bW1vExMTIE11vg+kt0jsiSAKpIrbdBHWYHiIybKIpejRx/vx5AFB49k7jxo3xzTffwNzcHDNnzkRKSgqcnJwQFBSEefPm4cyZM2jcuLHS8ZjeIkMhhiSQKmJLCKnD9BCRYRPNQeaDBw/CyspK4Wv+/Pnyn2/atAknTpwAAKSmpkIQBAiCgFu3biEpKQmOjo5ISkrCq1evEB8fjylTpsDW1hZJSUkq52R6i4iIyHiIZqdHXV8tTSjbkhYEQe1WNXtvERERGQ9RFD3R0dFISEiAq6urwvXi6a1t27bJb2/JZDKF9Ja9vT0ePnwIT09PxMbGwszMDGlpaXj+/Dns7OxUzsv0FhkKMSSBVNG3Mz1EZLhEUfQAqvtqAYXpLT8/PzRq1Ajr1q0r8d4OHTogNzcX7du3R4cOHbBhwwacPXsWMpkMnp6eZV4L01tERESGRzRFjzL5+fkAgMGDByMpKQlbt24FAFy/fh2pqalwdHREjRo10KRJE/j5+SEyMhJ9+vRBfn4+Ro8ejV69eqk8xKwO01tE70CLSTJd7SIx5UWkn0RT9Kjqq3Xr1i2EhoZi7ty58us9e/YEAISFhcHf3x8AsHXrVkycOBFLly5FTk4O3N3dERISonZOpreIyp82k2S6SoYx5UWkn0SR3lLXVwsA5syZA0EQSqS3igoeoPDQ85YtW7BmzRpYW1tjy5YtJZ7a/Camt4iIiIyHaHZ63jW99TaY3iIiIjIeoil6LC0t4eLiovY1ixYtAgBUr15d4fqdO3ewc+dO7N69G9euXUNubi4+/vhjLF68WO2ZHqa3iMqfNpNkujzTQ0T6RzRFT1ncunUL1tbW8u9r1aqFkydPYvz48Xj69CkWLVqE169fo2vXrrhx40aZ/4FieouIiMjwiKboyc3NLfH0ZFNTU9SsWRNJSUlISkqSHzROTk5Gdna2PL0FAGvXrkVKSgoePXoEAJgyZQo6d+6MU6dOwc/Pr0xrYXqLjMXFJSN0vQQiIq0RTdETHh6ucXrrww8/BKCY3po9ezY2b94sf03nzp0BAImJiRW8cqJ3pMNmoZmZmTqZF2Dsm4i0TyIIgqDrRWjK398fW7ZsgYWFhfxa9+7dsXPnToXXCYKAvn37IjU1FadOnVI5nrLIer169dDyq1Du9JDWSF6/Em2z0IrE2DcRlZf09HRYW1tDJpOpPZ4imp0eTb2Z8lJ2XmfChAmIi4tDdHS02rGCg4MVdpCIiIjIcOld0VNayuurr77C/v378ddff6Fu3bpqx2JknYiIyHjo1e0tFxcXJCQklLh+584dREREYPbs2UhJSUGVKlXQokULzJ49G927d9d4fE23x4jKkyAIyMrK0vUytI5neoiovBjs7S1ljUlr1aqFgwcPIjs7G7/++iucnZ3xv//9D3379kVMTAzatGlTpjmY3no3TASVjUQi4dkWIiIt0Luix8TEBPb29iWuHzlyBAAwfPhwheurVq3Cxo0btbI2vVQByaHyTgRxR4CIiMqDXhU9Xl5eSEtLU/qz4nfp8vPzsXPnTowcORJTp05VOR4bjlZMc8jybgLJlA8REZUHUTQcLYuDBw/CyspK/jVw4ED5z65evQorKyuYm5vjyy+/xJ49e9C0aVOVY7HhKBERkfHQq50eQH1kvXHjxoiNjUVaWhr++OMPjBw5EidPnlRZ+DC9RUREZDwMJr1VPMYeHByMb7/9FvXq1UP37t3xyy+/aDS+Maa39CE5xDM9RESkjtGlt4qcP38ea9euhbu7O1JSUhTO7GiK6S0iw8NUIRHpXdGjKr317bffwtvbG19++SW+/fZbfP/993jy5AmGDRumg1USGSkd9hErjS77jL0t7nISlS+9K3pU+eeff9C/f39kZ2dj5syZyMvLQ79+/dClSxeV72F6i6h8VUQasLyUd6pQG5hcJCpfepXe8vLywvPnz5Wmt7p06QJnZ2dkZWUhOTkZLVu2hKOjo9rxmN4iIiIyHnq306MsvfX48WNMmjQJERERCh3YS8P0FhERkfEwiPTW6tWrMW7cOKXvkUqlyM3NhVQqLXV8Y0xvEZUnfUgD6hOe6SHSjFGltywsLHD16lUcO3YM69atAwAEBATA1dUVQUFBGhU8RPTu2EeMiMRM74oeVektW1tbWFpawsfHBwBQrVo11KlTB82bNy/zHIys01sTSXopav5gXS+hBO5aEJGu6V3Ro86dO3fg4OAAc3NzZGVlwdnZWe3rmd6i8iaW9JIYk0pMIhGRrhlMeqt9+/b49ddfcfToUaxbtw5NmzbFkSNH8PLlS5XjMb1FRERkPPRup0dV763u3bvLr7Vo0QIdOnRAw4YNsXnzZoWEVnFMbxERERkPvSp6oqOjkZCQAFdXV4XrRb23nj59iunTp+PIkSPIzs6GVCrFmTNnVBY95ubmMDc318bSyUgI0kqQuQ/R9TJEe6aHiEiX9KroAVT33kpNTUXHjh3h6+uLI0eOwNraGh07dkTdunXLPMdf3w9hZJ2IiMjA6F3Royq91a1bN7z33nuYPXs2kpOTMXXqVLx69QqTJ08u8xxMbxkQHaepxLTjwvQUERk7vSt6VLl9+zby8/PRsGFDSCQSVK1aFV9//TXq16+v8j1Mbxk+XaepxJSiYnqKiIydwaS3cnNz8fr1a8yYMQMXLlzA4sWLsWjRIvz6668qx2N6i4iIyHjo3U6PqvRWQUEB2rZti4ULFwIAPDw8cP36daxZswYjRoxQOhbTW0RERMZDr4oedemtgoICxMTElDizUKVKFZXjMb1l+HSdphLbmR4iImOmV0UPoDq91adPHzx9+hT79u0DAFy7dg1dunSBk5NTmedgeouIiMjw6F3Royq9FRgYCE9PT2zcuBGDBg3CsmXLIJFIEBgYWOY5jCa9ZeTJJqaZiIiMi94VPaq0a9cOe/bsQWBgIObOnYv8/Hz07dsXn376qcr3GHt6y9iTTUwzEREZF4NJbwFAr169cPXqVfz2228AgFWrVqkdj+ktIiIi46F3Oz2q0lvFbdiwAd27d4eDg4PasZjeIiIiMh56VfSoS285OTlhzpw52Lx5M548eQI7OzvMmzcPs2bNgomJ8g0tY09vGXuyiWkmIiLjoldFD6A6vbVo0SKEhoaia9euOHbsGH766Sd88cUXsLa2xqRJk8o0B9NbREREhkfvih5V6a2YmBj06dMHx48fx+eff45PPvkE//vf/3DhwoUyz2E06S2id3RxifIHfxIRiZHeFT2qeHl5YcWKFfjnn3/w2Wef4cqVK4iOjsaKFSt0vTSiiqXDRw9kZmbqZF4+boCI3oZeFT1eXl7YsmWLQsy4e/fu2LlzJ6ZPnw6ZTIbFixejWbNmyM/Px4IFCzBkiOozK8YeWSfDoMtHD+jqsQN83AARvQ29KnoA1emtHTt2YMuWLdi2bRuaNWuG2NhYBAQEwMHBASNHjlQ6VnBwMObOnauVdRMREZFu6V3RY2lpCRcXlxLXp02bhhkzZmDw4MJEUIsWLfDw4UMEBwerLHoYWSciIjIeEkEQBF0vQlMuLi5ISEgocf3OnTt4//330apVKyQkJCA5ORkeHh7w8PDAsWPHEB8fr9H46enpsLa2hkwmY3qL9IYgCMjKytL1MrSKZ3qIqDhN/37r3U6Pqsi6tbU1Tp06he+//x7t27fHmjVrsGbNGnz55ZdlnoPpLf1krEkiiUTC8y1ERBrQu6JHWWQ9Ozsbjx8/Rs+ePbF69WrMmTMHDg4O8mKIRKKCU0baSBJxh4GISH/pVdHj5eWFtLS0Etdfv36N/Px8TJw4EZ07d5Zf79ChA2JiYlSOx/SWdlV0ykgbSSKmhoiI9JdeNRwFgIMHD5ZoOFq1alV06NAB8+fPx7Nnz5Cfn48tW7bg7NmzSExMVDkWG44SEREZD70renx9fREbGyv/+vnnnwEAv/32GwRBQJ06dWBubo6ff/4ZQ4cOhVQqVTlWYGAgZDKZ/Ovx48fa+jWIiIhIy0Rze8vf3x+bN28ucf3OnTt49uwZlixZguPHjyM7OxvXrl3Dxx9/rPC6Bg0awNfXF/Hx8UhLS0OVKlXw4sULODs7q5xTVcNR9t6qGIUpI902GX1XbFJKRKS/RFP0AICfnx/CwsIUrtWqVQt37txBy5YtkZmZiaioKKXv/eGHH/Djjz9i06ZNaNSoEWbPno29e/e+VRsKprdIU8aaGCMi0keiKnrMzc2VNhPt3r07unfvDn9/f6XvEwQBixcvxoABA+Dh4YG7d+/i7t27MDExgampqH5F0iYt9KRiYoyISH8YREVw//59pKamIiIiAlu3bkWNGjXQv39/1K1bF2fPnsW4ceOUvo/pLcOmjZ5UTIwREekPUR1kVpbMKm7Tpk1K35eUlAQAOHfuHHJzc5GYmIiQkBDUrVtX/jNlmN4iIiIyHqLa6VHVTFRTb94CEARB7W0B9t4iIiIyHqIpeqKjo5GQkABXV1eF68XTWxcvXgQAnD17ViG9VXQO6L///S/u3LmDly9f4vLly0hOToadnZ3KOZneMmyGkBYDmBgjIiovoil6ANV9tYrSW6NGjUL//v1LvM/Z2RnW1taoWrUqFi1ahNGjRyMvLw8nT57E4sWLtbV8Ehn2pCIiouJEVfQo66sFAP/5z39Qu3Zt+ff//PMPYmNjUaNGDTg6OkIikSAwMBDBwcHyomj27NmoUqUKhg4dWuZ1MLJOSmkhDfamqPm62aliYoyIDJGoih5VLly4AF9fX/n3YWFhCAsLw8iRI+WHm7/55htkZ2dj1qxZAIDk5GRERESgatWqKsdleovKQhtpsDdpIx2mDBNjRGSIRJPe8vLywvPnz5Wmt3x8fCAIAgRBAADs2bMHgiAopLkkEgnmzJmD8+fPAwA2bNiA5s2bq52T6S0iIiLjIaqdnndNb5UV01tERETGQ1RFj6WlJVxcXEpcT0pKQnBwMA4dOgSgsE9X8+bN8emnn2LEiBHIyclBUFAQIiIi8OjRIwDA4sWLERoaCmtra5XzqUpvESkjSCtB5j5Eq3Pq8kwPEZGhEVXRo8y9e/fQsWNHVKtWDQsXLsQnn3yCuXPnom7duti4cSMcHBzQoEEDPHv2DEuXLsV7770HHx8fnDlzBp9//jl27dpV5jkZWSciIjI8oi96xo0bB6lUio0bN6Jy5cJEVUFBARo2bIg1a9agXr16kEgkWLduHR49eoRnz54BKHxmz6pVq/DkyRPUrVu3THMyvUUGTYspNF3sVDF5RkSqiLroefnyJSIiIvDFF1/A09NTfr3oHE7x9Nb+/fsxatQo+WuKuquvX78ec+bMUTo+01tkjLSZQtNF+ozJMyJSRTTprU2bNmHv3r0K1+7evQtBENC9e3d5eksQBNjY2MDS0hK7du3C9OnTARSe8yn6+YsXL+Do6IiZM2eqLHgApreIiIiMiWiKHnXe3Ko+d+4cYmNj0axZM4WdGqBwt6Znz55o2rQpgoKC1I4bGBgImUwm/3r8+HG5r52IiIjEQdS3t1xcXCCRSHD+/HmcOHEChw4dwpMnT2BtbQ1XV1ekpqYiL6/wbMKYMWMQERGBhw8fwtTUFN26dUNCQgLc3NxUjs/0FhkjbabQdHWmh4hIGVEXPTY2NujYsSMWLVoEFxcXLFy4EC1atMDr168RHx+P//u//5PvzjRt2hTR0dF4//33sWzZMixevBhdu3bF/fv3IZVKyzQv01tERESGR9RFD6B4a6voicxmZmbIzs5GpUqV4OLigoyMDGzfvh1SqRRbt26FpaUlAgIC0LlzZyQkJKBRo0ZlmpPpLdIbOugHBuju+UFFmNAiorch6qLn5cuXiI6OxowZM5CRkYHAwEA8efIE5ubmaNq0KaZOnYpx48bh3LlzOHv2LAAofbihKkxvkb7TRT8wQHc9wYowoUVEb0PUB5mL0lvt2rXDypUrce/ePbx69Qrm5ua4fv065syZg7lz58p7c61atUp+P9/NzQ13795Vu8vD9BYREZHxEHXRU0TT9NawYcNw+fJlnDx5Eq6urhg0aBBycnJUjsv0FhERkfEQ9e2tsqS3AMDa2hrvvfceJk6ciPDwcJiZmWHPnj0YMkR5UoXpLdJ3uugHBojjTA8RUVmJuugpS3qryIoVKxR2ht58jo8mmN4iIiIyPKIuegDN0lv37t3Djh074OTkhCVLlmDt2rU4cuQIzMzM0KNHjzLPyfQWUfm6uGSErpdARCTuokfT9FZaWhqioqJw/PhxAMDYsWMBAIsWLYKtra0ufwUi7dNRjF2dzMxMXS9BKUbfiYyLqIue4umtfv36YeXKlQCAmjVr4vr167h+/TqeP3+OxYsXw8nJCf7+/li/fj2Awh2iOnXqqB2fkXUyRLqKsauj64i7Koy+ExkXURc9RZSltwoKCjBs2DDk5uZi//79iIyMxOXLl8s0bnBwMObOnVueSyUiIiKREnVkvXh6a9KkSXBxcYGFhQU6dOgAf39/eXorMjISd+/eRdWqVSGRSORFUr9+/eDj46NyfEbWiYiIjIdEKDodLFL/+c9/cObMGbi4uGD+/Pkl0lsdO3bE2rVr0bt3b9SvXx8TJkwAAPj6+mLRokUYNGgQnJ2dNZorPT0d1tbWkMlkTG+R3hIEAVlZWbpehl7gmR4iw6Dp32/R397SJL1lb28PS0tL1K1bV2Fnp3HjxhoXPMUxvUWke0x8EVF5E3XRo2l6q8jWrVuxZcsW2NnZAQCys7N1tXQicRJhsksVsSa+3sTdIiL9IeqipyzprWHDhsHZ2Rn29va4du0aAgMDsXHjRpVPYwaY3iLjI8ZklypiTXy9iQkwIv0h6qKnSGnpLQAYPXq0/OfNmzeHq6sr2rZti0uXLqF169ZKx2V6i4iIyHjoRXrr1q1bCtcbNGgAFxcXVK6s+txN69atUalSJdy5c0fla5jeIiIiMh6i3umxsbFBly5d8NNPP+HRo0eIiIhQaDianJyMZs2ayV8fExODmTNn4uzZs5BKpcjLy0ONGjVUjq+q4Sh7b5GhKkx26bZZqKFh81Mi/SH6yPqJEyfw0UcfwdTUFGPHjsVHH32EgoICHD9+HKGhoejevTuWLVuGRYsWYfv27Rg/fjycnJywdOlSFBQU4Pr166hSpYpGcxVF3lp+Fcr0FpESTFQRkRhpGlkXfdHj5+eHuLg49OnTR77TU5TeGjhwIMaOHYuUlBQ0a9YMeXl5KCgoQL169dCzZ08EBQWp3el5E4se0ktaTGRFzdf+LhHTUURUGoN4Ts/Lly8RERGBhQsXYsaMGSpfl5WVhYyMDPz888/Yvn07EhISEBsbixs3bsDLy0vl+5jeIkOgzUSWLhJVTEcRUXkR9UHmosh648aNFa7XrFkTVlZWsLKywvTp03Hv3j0AwJw5czB69GiEh4ejdevW6Ny5s9qDzMHBwbC2tpZ/1atXr0J/HyIiItIdURc9RZRF1mNjY9GsWTPk5uaioKAAADBmzBiMGjUKHh4eWL58ORo3boyNGzeqHJfpLSIiIuMh6ttbxRuOnjhxAocOHVJIbxU1HM3PzwdQuHMTHBysMIa1tbXK8ZneIkNg6IkspqOIqLyIuuixsbFBx44dsWjRIri4uGDhwoUlGo4+fvwYHTp0gJ2dHYYMGYLp06cDANauXYu5c+eiffv2Ov4tiCqWRCLhmRciIg2IuugBNGs4ampqihkzZiAoKAgdO3ZEq1atsHr1akgkEowdO7bMc7LhKImGDntl6SKpVRxTW0RU3kRd9JSl4WhAQABycnIwefJkvHjxAjk5OVi9ejUaNmyocnymt0jsdNkrS9e9r5jaIqLyJuqDzMUbjq5cuRL37t3Dq1evYG5ujuvXr2POnDkKvbNmzJiBx48fY9SoUWjSpEmpuzxMbxERERkPURc9RUpLbxWXnZ2Nbdu24fPPPy91XKa3iIiIjIeob29pmt4CgKSkJEybNg0HDhyATCbD5s2bUb9+fQwYMEDl+ExvkdgZejJLHaa2iKi8ibro0TS9BQDDhw+HTCZDgwYNYGtrCy8vL3zyySe4cOECPDw8dPybEL0dJrOIiMqPqIseQLP0FlDYYX3OnDn45ptvcPjwYfj5+WH58uW4dOlSmYseprdIFLSQ3NJGQospLCISC1E3HH358iVq1aolT28V3d4q3nB03LhxqFKlCvz8/HD37l1kZ2fj4cOH2LVrF7744gtcuXJFZYJLWXqrXr16bDhKoiB5/Upnya3yxBQWEVU0TRuOivogc1nSWzt27ICLiwuePXuGypUrY8yYMdizZ4/ayDrTW0RERMZD1EVPEU3SW7NmzUJqair+/PNPXLhwAVOmTMHAgQNx9epVleMyvUVERGQ8RH2mR9P0VkJCAkJCQtCpUycMHjwYubm58PPzQ4sWLbBq1SqEhoYqHV9VeotIDARpJcjch1ToHNo600NEJAaiLno0TW+9ePECAGBiYoLIyEgAwHfffYe4uDi4ubmVeV5G1omIiAyPqIseQLP01suXLwEAWVlZyM7Oho2NDdq0aYN9+/bBycmpzHMyvUWkhg76gbEPGBGVB1EXPZr23jp+/DikUilsbW3Ru3dvZGZmokGDBpBIJPKHFyrD3ltEZaeLfmDsA0ZE5UHUB5k1TW998MEHsLS0hJOTE+7fv4/k5GR4e3tDEAQkJiaqHJ/pLSIiIuMh6qKnSGnprVq1amHnzp04cOAArKys5Fn91q1bQyqVqhyX6S0iIiLjofPbW0lJSQgODi6RzPr000/Rs2dPSCQS/Prrr1ixYgUuXbqEjIwMpKamolq1aqhc+f8/d9OuXTt4enri+fPn8muPHz/G4MGqzwIwvUVUdtpIlb1JDGd6iEj/6bTouXfvHjp27Ihq1aqVSGZt3LgRDg4O6NKlCyIjIzFlyhT4+fkhMDBQ6VhDhw7FkydPcPToUQDAsGHD8Pz5c/Tp06fM62J6i4iIyPDotOgZN24cTE1NceHCBYX/kmrRogX69+8PQRDQrFkzdOzYEdu3b8fAgQMBAHfu3MHt27dx69YttGnTBjdv3kR4eDjWr18PW1tbxMTEyBNdb4PpLSI9p4OEmSq63qVShmk0MlY6K3pevnyJiIgILFy4UOXWsUQiQcOGDXH58mUsXLgQ69atAwD4+vqiWbNm8vTW77//DnNzc8ycORMpKSlwcnJCUFAQ5s2bhzNnzqBx48ZKx2d6i8gw6SJhpoquk2fKMI1GxkpnRU9RMuvNgqRmzZrIyckBAIwfPx6LFy9G7dq1sXLlSvTv3x++vr548uQJqlWrJn9PUlISHB0dER8frzBWaGgokpKSVK4hODhY3ruLiIiIDJvO01ua9NV6m3GAwocZqtvCZXqLiIjIeOhsp0fTvloAsHbtWmzbtg3nz58HAMhkMoWdHnt7ezx8+BCenp6IjY2FmZkZ0tLS8Pz5c9jZ2alcA9NbRIZJFwkzVcR6pofIGOms6NG0rxYA/Pvvv/Dz80OjRo3k53qK69ChA3Jzc9G+fXt06NABGzZswNmzZyGTyeDp6VnmtTG9RUREZHh0mt7SpK8WAAwePBhJSUnYunUrAOD69etITU2Fo6MjatSogSZNmsDPzw+RkZHo06cP8vPzMXr0aPTq1UvlIWZ1mN4iQ3FxyQhdL4GISDR0mt7SpK8WUHggufiB4549ewIAwsLC4O/vDwDYunUrJk6ciKVLlyInJwfu7u4ICQnR+u9FpJSOItSZmZlanY9RaCISM4lQtMWiZWfPnsUHH3yA3bt3o1+/fvLrytJbRaKiouDr6yt/IrMymzZtQkBAANLS0kpdg7LIer169dDyq1Du9FC5krx+JZoIdUViFJqIdCE9PV3egkrd8RSDSW+9DTYcJSIiMh46K3qK0lu3bt1SuN6gQQO4uLgo9NWqKIysExERGQ+dpre6dOmCkJAQfPXVVzqJUL4ZWS+603fwm55Mb1G5EgQBWVk9dL2MCpefn88nmxOR1hX9u1PaiR2dprdWr16Njh07om3btpgzZw7c3d1hYmKC8+fPy/tqAYVPXE5KSsLdu3cBAFevXkXVqlXl6S0AePToEVJSUvDo0SPk5+cjNjYWQOGOkqZnDIr6dfE2FxERkf7JyMiAtbW1yp/r7CBzkcTERCxcuFD+cMKi9NbAgQMxbtw4VKlSBXPmzFHaLqJ4esvf3x+bN28u8ZoTJ07Ax8dHo7WkpaWhevXqePTokdoPjZQrOgj++PFj7pS9BX5+74af39vjZ/du+Pm9m/L4/ARBQEZGBhwcHGBiovrkjs6LHjHR9PQ3KcfP793w83s3/PzeHj+7d8PP791o8/PTeXqLiIiISBtY9BAREZFRYNFTjLm5OYKCgtiE9C3x83s3/PzeDT+/t8fP7t3w83s32vz8eKaHiIiIjAJ3eoiIiMgosOghIiIio8Cih4iIiIwCix4iIiIyCix6/p/Vq1fD2dkZFhYWaNOmDU6dOqXrJemF4OBgtGvXDlWrVoWtrS0+/vhj3L59W9fL0lvBwcGQSCQICAjQ9VL0xtOnT/Hpp5/CxsYGVapUQatWrXDx4kVdL0svvH79GrNmzYKzszMqV66MBg0aYN68eSgoKND10kTpr7/+Qu/eveHg4ACJRIK9e/cq/FwQBMyZMwcODg6oXLkyfHx8cP36dd0sVoTUfX55eXmYPn06WrRoAUtLSzg4OGDEiBF49uxZua6BRQ+AHTt2ICAgADNnzsTly5fxn//8B927d8ejR490vTTRO3nyJMaPH4+///4bx44dw+vXr9G1a1dkZWXpeml65/z581i7di3c3d11vRS9kZqaio4dO6JSpUo4cuQIbty4gWXLlqFatWq6XppeWLx4MUJDQxESEoKbN2/ihx9+wJIlS7By5UpdL02UsrKy0LJlS4SEhCj9+Q8//IAff/wRISEhOH/+POzt7dGlSxdkZGRoeaXipO7z+/fff3Hp0iV89913uHTpEnbv3o34+Hj06dOnfBchkPD+++8LX375pcI1Nzc3YcaMGTpakf5KTk4WAAgnT57U9VL0SkZGhuDq6iocO3ZM8Pb2FiZNmqTrJemF6dOnC15eXrpeht7q2bOn8Nlnnylc++9//yt8+umnOlqR/gAg7NmzR/59QUGBYG9vLyxatEh+LScnR7C2thZCQ0N1sEJxe/PzU+bcuXMCAOHhw4flNq/R7/S8evUKFy9eRNeuXRWud+3aFWfOnNHRqvSXTCYDANSoUUPHK9Ev48ePR8+ePfHRRx/peil6Zf/+/Wjbti0GDhwIW1tbeHh4YN26dbpelt7w8vLC8ePHER8fDwC4cuUKoqOj0aNHDx2vTP/cv38fSUlJCn9LzM3N4e3tzb8lb0kmk0EikZTrzq1puY2kp168eIH8/HzY2dkpXLezs0NSUpKOVqWfBEHAlClT4OXlhebNm+t6OXrj999/x6VLl3D+/HldL0Xv3Lt3D2vWrMGUKVPw7bff4ty5c5g4cSLMzc0xYsQIXS9P9KZPnw6ZTAY3NzdIpVLk5+djwYIFGDJkiK6XpneK/l4o+1vy8OFDXSxJr+Xk5GDGjBkYOnRouTYhNfqip4hEIlH4XhCEEtdIvQkTJiAuLg7R0dG6XoreePz4MSZNmoSIiAhYWFjoejl6p6CgAG3btsXChQsBAB4eHrh+/TrWrFnDokcDO3bswJYtW7Bt2zY0a9YMsbGxCAgIgIODA0aOHKnr5ekl/i15d3l5eRg8eDAKCgqwevXqch3b6IuemjVrQiqVltjVSU5OLlGxk2pfffUV9u/fj7/++gt169bV9XL0xsWLF5GcnIw2bdrIr+Xn5+Ovv/5CSEgIcnNzIZVKdbhCcatduzaaNm2qcK1Jkyb4448/dLQi/TJt2jTMmDEDgwcPBgC0aNECDx8+RHBwMIueMrK3twdQuONTu3Zt+XX+LSmbvLw8DBo0CPfv30dkZGS57vIATG/BzMwMbdq0wbFjxxSuHzt2DJ6enjpalf4QBAETJkzA7t27ERkZCWdnZ10vSa907twZV69eRWxsrPyrbdu2GDZsGGJjY1nwlKJjx44lHpEQHx+P+vXr62hF+uXff/+FiYninwGpVMrI+ltwdnaGvb29wt+SV69e4eTJk/xboqGigufOnTv4888/YWNjU+5zGP1ODwBMmTIFw4cPR9u2bdGhQwesXbsWjx49wpdffqnrpYne+PHjsW3bNuzbtw9Vq1aV75hZW1ujcuXKOl6d+FWtWrXE+SdLS0vY2NjwXJQGJk+eDE9PTyxcuBCDBg3CuXPnsHbtWqxdu1bXS9MLvXv3xoIFC+Do6IhmzZrh8uXL+PHHH/HZZ5/pemmilJmZibt378q/v3//PmJjY1GjRg04OjoiICAACxcuhKurK1xdXbFw4UJUqVIFQ4cO1eGqxUPd5+fg4IABAwbg0qVLOHjwIPLz8+V/T2rUqAEzM7PyWUS55cD03KpVq4T69esLZmZmQuvWrRm51hAApV9hYWG6XpreYmS9bA4cOCA0b95cMDc3F9zc3IS1a9fqekl6Iz09XZg0aZLg6OgoWFhYCA0aNBBmzpwp5Obm6npponTixAml/96NHDlSEITC2HpQUJBgb28vmJubCx9++KFw9epV3S5aRNR9fvfv31f59+TEiRPltgaJIAhC+ZRPREREROJl9Gd6iIiIyDiw6CEiIiKjwKKHiIiIjAKLHiIiIjIKLHqIiIjIKLDoISIiIqPAooeIiIiMAoseIiItevDgASQSCWJjY3W9FCKjw6KHiDSWnJyMMWPGwNHREebm5rC3t0e3bt0QExNTbnP4+/vj448/VvqzEydOoEePHrCxsUGVKlXQtGlTfP3113j69Gm5za+JTZs2oVq1akp/dvfuXYwaNQp169aFubk5nJ2dMWTIEFy4cEHj8aOiotC3b1/Url0blpaWaNWqFbZu3VpOqycyXix6iEhj/fv3x5UrV7B582bEx8dj//798PHxQUpKSoXP/csvv+Cjjz6Cvb09/vjjD9y4cQOhoaGQyWRYtmxZhc+viQsXLqBNmzaIj4/HL7/8ghs3bmDPnj1wc3PD119/rfE4Z86cgbu7O/744w/ExcXhs88+w4gRI3DgwIEKXD2RESi3hhZEZNBSU1MFAEJUVJTK1wAQVq9eLfj5+QkWFhaCk5OT8L///U/hNXFxcYKvr69gYWEh1KhRQxg9erSQkZEhCIIgBAUFKe278/jxY8HMzEwICAhQubYiu3btEpo2bSqYmZkJ9evXF5YuXVpijXv27FG4Zm1tLe8XV9QD6I8//hB8fHyEypUrC+7u7sKZM2cEQVDePygoKEgoKCgQmjVrJrRp00bIz89XucbSxlelR48ewqhRo9S+hojUY9FDRBrJy8sTrKyshICAACEnJ0fpawAINjY2wrp164Tbt28Ls2bNEqRSqXDjxg1BEAQhKytLcHBwEP773/8KV69eFY4fPy44OzvLGzZmZGQIgwYNEvz8/ITExEQhMTFRyM3NFX788UcBgPDs2TO1a7xw4YJgYmIizJs3T7h9+7YQFhYmVK5cWaEBrqZFj5ubm3Dw4EHh9u3bwoABA4T69esLeXl5Qm5urrBixQrhvffek68xIyNDuHTpkgBA2LZtm9o1lja+Kh07dhS+/vprtWMTkXoseohIY7t27RKqV68uWFhYCJ6enkJgYKBw5coV+c8BCF9++aXCe9q3by+MHTtWEARBWLt2rVC9enUhMzNT/vNDhw4JJiYmQlJSkiAIgjBy5Eihb9++CmOMHTtWeO+990pd39ChQ4UuXbooXJs2bZrQtGlThTVqUvSsX79e/vPr168LAISbN28KgiAIYWFhgrW1tcIYO3bsEAAIly5dUrtGTcZ/086dOwUzMzPh2rVrascmIvV4poeINNa/f388e/YM+/fvR7du3RAVFYXWrVtj06ZN8td06NBB4T0dOnTAzZs3AQA3b95Ey5YtYWlpKf95x44dUVBQgNu3b6ucVxAESCSSUtd38+ZNdOzYUeFax44dcefOHeTn52vyK8q5u7vL/+/atWsDKDzIrW6NADRaZ1nGj4qKgr+/P9atW4dmzZppNDYRKceih4jKxMLCAl26dMHs2bNx5swZ+Pv7IygoSO17igoBdcWLumKhUaNGkMlkSExMVDuPsvGLipHi87x5LS8vr8RYlSpVKrG2goICtWsEIC/wSqPJ+CdPnkTv3r3x448/YsSIERqNS0SqseghonfStGlTZGVlyb//+++/FX7+999/w83NTf7a2NhYhdefPn0aJiYm8qLBzMysxK7MgAEDYGZmhh9++EHpGtLS0uTjR0dHK/zszJkzaNSoEaRSKQCgVq1aCsXTnTt38O+//5blV1a6xlatWqFp06ZYtmyZ0uKoaI2aioqKQs+ePbFo0SL83//9X5neS0TKseghIo28fPkSnTp1wpYtWxAXF4f79+9j586d+OGHH9C3b1/563bu3ImNGzciPj4eQUFBOHfuHCZMmAAAGDZsGCwsLDBy5Ehcu3YNJ06cwFdffYXhw4fDzs4OAODk5IS4uDjcvn0bL168QF5eHurVq4fly5fjp59+wueff46TJ0/i4cOHOH36NMaMGYP58+cDAL7++mscP34c8+fPR3x8PDZv3oyQkBBMnTpVvr5OnTohJCQEly5dwoULF/Dll18q7LpowsnJCZmZmTh+/DhevHiBf//9FxKJBGFhYYiPj8eHH36Iw4cP4969e4iLi8OCBQsUPqPSFBU8EydORP/+/ZGUlISkpCStPBqAyKDp8kAREemPnJwcYcaMGULr1q0Fa2troUqVKkLjxo2FWbNmCf/++68gCIWHhFetWiV06dJFMDc3F+rXry9s375dYRx1kXVBEITk5GShS5cugpWVlTyyXuTYsWNCt27d5Iep3dzchKlTpyqkuooi65UqVRIcHR2FJUuWKMz/9OlToWvXroKlpaXg6uoqHD58WOlB5suXL8vfUxTXL76WL7/8UrCxsZFH1ovcvn1bGDFihODg4CCPzQ8ZMkR+wFmT8UeOHFkiFg9A8Pb21vD/W0SkjEQQ3ri5TUT0liQSCfbs2aPyicpERLrE21tERERkFFj0EBERkVEw1fUCiMhw8G45EYkZd3qIiIjIKLDoISIiIqPAooeIiIiMAoseIiIiMgoseoiIiMgosOghIiIio8Cih4iIiIwCix4iIiIyCix6iIiIyCj8f9RJO+C7vq34AAAAAElFTkSuQmCC\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Visually\n",
"sns.barplot(data = cell_level_data,\n",
" y = 'Well',\n",
" x = 'SpotCountCh2')"
]
},
{
"cell_type": "markdown",
"id": "47f5bb2f-13c0-4afb-8c8d-80b0a79ed601",
"metadata": {},
"source": [
"The length of the bars indicates the average number of spots per cell while the black hashes indicate the 95% CI of that estimate."
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "9742a3d3-bddc-4d40-b60f-7287a760603d",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
mean
\n",
"
sem
\n",
"
count
\n",
"
\n",
"
\n",
"
Well
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
B10
\n",
"
4.138889
\n",
"
0.290394
\n",
"
612
\n",
"
\n",
"
\n",
"
B11
\n",
"
2.692828
\n",
"
0.200705
\n",
"
739
\n",
"
\n",
"
\n",
"
B2
\n",
"
4.599343
\n",
"
0.326940
\n",
"
609
\n",
"
\n",
"
\n",
"
B3
\n",
"
4.391667
\n",
"
0.312008
\n",
"
720
\n",
"
\n",
"
\n",
"
B4
\n",
"
3.464491
\n",
"
0.301991
\n",
"
521
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" mean sem count\n",
"Well \n",
"B10 4.138889 0.290394 612\n",
"B11 2.692828 0.200705 739\n",
"B2 4.599343 0.326940 609\n",
"B3 4.391667 0.312008 720\n",
"B4 3.464491 0.301991 521"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Numerically\n",
"well_level_data = cell_level_data.groupby('Well')['SpotCountCh2'].agg(['mean', 'sem', 'count'])\n",
"well_level_data.head()"
]
},
{
"cell_type": "markdown",
"id": "6bcb719a-126f-49fe-8460-f58dc4d95404",
"metadata": {},
"source": [
"## Decoding samples"
]
},
{
"cell_type": "markdown",
"id": "b3adfeda-e84f-45d9-9590-8d7ba0d8c75e",
"metadata": {},
"source": [
"Up to now we've been treating all of our without knowing which treatment they came from.\n",
"Now that we've collapsed our data to a single representative number for each sample, we can merge with our plate map."
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "b21f12bd-5d1b-415e-b169-4c099a1b2026",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"