You are on page 1of 61

{

"cells": [
{
"cell_type": "markdown",
"id": "4caafec3",
"metadata": {},
"source": [
"# Probability 2: Loaded dice \n",
"\n",
"In this assignment you will be reinforcening your intuition about the concepts
covered in the lectures by taking the example with the dice to the next level. \n",
"\n",
"This assignment will not evaluate your coding skills but rather your intuition
and analytical skills. You can answer any of the exercise questions by any means
necessary, you can take the analytical route and compute the exact values or you
can alternatively create some code that simulates the situations at hand and
provide approximate values (grading will have some tolerance to allow approximate
solutions). It is up to you which route you want to take! \n",
"\n",
"Note that every exercise has a blank cell that you can use to make your
calculations, this cell has just been placed there for you convenience but **will
not be graded** so you can leave empty if you want to."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "da0fcf2f",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"import utils"
]
},
{
"cell_type": "markdown",
"id": "4546a127",
"metadata": {},
"source": [
"## Some concept clarifications 🎲🎲🎲\n",
"\n",
"During this assignment you will be presented with various scenarios that
involve dice. Usually dice can have different numbers of sides and can be either
fair or loaded.\n",
"\n",
"- A fair dice has equal probability of landing on every side.\n",
"- A loaded dice does not have equal probability of landing on every side.
Usually one (or more) sides have a greater probability of showing up than the
rest.\n",
"\n",
"Let's get started!"
]
},
{
"cell_type": "markdown",
"id": "c8f09f02",
"metadata": {},
"source": [
"## Exercise 1:\n",
"\n"
]
},
{
"cell_type": "markdown",
"id": "3510c610",
"metadata": {},
"source": [
"Given a 6-sided fair dice (all of the sides have equal probability of showing
up), compute the mean and variance for the probability distribution that models
said dice. The next figure shows you a visual represenatation of said
distribution:\n",
"\n",
"<img src=\"./images/fair_dice.png\" style=\"height: 300px;\"/>\n",
"\n",
"**Submission considerations:**\n",
"- Submit your answers as floating point numbers with three digits after the
decimal point\n",
"- Example: To submit the value of 1/4 enter 0.250"
]
},
{
"cell_type": "markdown",
"id": "5ee9b479",
"metadata": {},
"source": [
"Hints: \n",
"- You can use
[np.random.choice](https://numpy.org/doc/stable/reference/random/generated/
numpy.random.choice.html) to simulate a fair dice.\n",
"- You can use
[np.mean](https://numpy.org/doc/stable/reference/generated/numpy.mean.html) and
[np.var](https://numpy.org/doc/stable/reference/generated/numpy.var.html) to
compute the mean and variance of a numpy array."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "df437e8e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean: 3.499, Variance: 2.916\n"
]
}
],
"source": [
"# You can use this cell for your calculations (not graded)\n",
"np.random.seed(0)\n",
"dice_rolls = np.random.choice([1, 2, 3, 4, 5, 6], size=1000000)\n",
"mean = np.mean(dice_rolls)\n",
"variance = np.var(dice_rolls)\n",
"print(f\"Mean: {mean:.3f}, Variance: {variance:.3f}\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "db9477e7",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "395643493f7248c58c25dae1d466505e",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"FloatText(value=0.0, description='Mean:')"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "9a2f409e9bce4afea695c38de1b44303",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"FloatText(value=0.0, description='Variance:')"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7bde44c96b63473fa2073f78d558250f",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Button(button_style='success', description='Save your answer!',
style=ButtonStyle())"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "dbea8dca32c448ab8917594fee93a12e",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Run this cell to submit your answer\n",
"utils.exercise_1()"
]
},
{
"cell_type": "markdown",
"id": "d43dcbbd",
"metadata": {},
"source": [
"## Exercise 2:\n",
"\n",
"Now suppose you are throwing the dice (same dice as in the previous exercise)
two times and recording the sum of each throw. Which of the following `probability
mass functions` will be the one you should get?\n",
"\n",
"<table><tr>\n",
"<td> <img src=\"./images/hist_sum_6_side.png\" style=\"height: 300px;\"/>
</td>\n",
"<td> <img src=\"./images/hist_sum_5_side.png\" style=\"height: 300px;\"/>
</td>\n",
"<td> <img src=\"./images/hist_sum_6_uf.png\" style=\"height: 300px;\"/> </td>\
n",
"</tr></table>\n"
]
},
{
"cell_type": "markdown",
"id": "605c58c0",
"metadata": {},
"source": [
"Hints: \n",
"- You can use numpy arrays to hold the results of many throws.\n",
"- You can sum to numpy arrays by using the `+` operator like this: `sum =
first_throw + second_throw`\n",
"- To simulate multiple throws of a dice you can use list comprehension or a
for loop"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "e9a8b2ed",
"metadata": {},
"outputs": [
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAAkAAAAHFCAYAAAAaD0bAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIH
ZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpA
AA/
RUlEQVR4nO3dfViUZf7//9cIMlgq3iP4QUC3FCPN4JOBkpqJqZmWbpj3m1iIu4lUq4iG2ippZljesJpmVpp
bWrnFpuiq2YKVKNWWq92AmMIimmD6FRDm94c/
59M0oIDgMF7Px3HMEXNe53Ve73PskJfndTMmi8ViEQAAgIE0cHQBAAAA1xsBCAAAGA4BCAAAGA4BCAAAGA4
BCAAAGA4BCAAAGA4BCAAAGA4BCAAAGA4BCAAAGA4BCLjBrFu3TiaTSfv3769w+wMPPCA/Pz+bNj8/
P02YMKFax0lLS9OcOXN05syZmhVqQJs2bdJtt92mRo0ayWQyKTMz09ElAYZFAAKg9957T7Nnz67WPmlpaZo
7dy4BqIpOnjypsWPHqmPHjvr444+Vnp6uW2+91dFlAYbl6ugCADhe9+7dHV1CtZWWlspkMsnV1Tn+Gjty5I
hKS0s1ZswY9e7d29HlAIbHChAAu1Ng5eXl+stf/
qJOnTqpUaNGatasmbp27aqlS5dKkubMmaNnnnlGkuTv7y+TySSTyaTdu3db91+0aJE6d+4ss9msNm3aaNy4
cfrpp59sjmuxWLRgwQL5+vrK3d1dwcHBSk1NVZ8+fdSnTx9rv927d8tkMumNN97QU089pXbt2slsNuv777/
XyZMnFR0drS5duqhx48Zq06aN7r33Xu3du9fmWNnZ2TKZTHrhhRe0cOFC+fn5qVGjRurTp481nMyYMUPe3t
7y8PDQQw89pPz8/
Cp9flu3blVISIhuuukmNWnSRP3791d6erp1+4QJE9SrVy9JUkREhEwmk838fuv8+fN6+umn5e/
vL3d3d7Vo0ULBwcHauHGjtc9vP6NfH+vXpzjrct6AM3OOfzoBqLaysjJdvHjRrt1isVx130WLFmnOnDmaNW
uW7rnnHpWWluo///mP9XRXZGSkTp8+rVdeeUVbtmyRl5eXJKlLly6SpMmTJ2vVqlX64x//
qAceeEDZ2dmaPXu2du/erQMHDqhVq1aSpPj4eCUmJurxxx/Xww8/
rGPHjikyMlKlpaUVnh6Ki4tTSEiIkpOT1aBBA7Vp00YnT56UJCUkJKht27b65Zdf9N5776lPnz7auXOnXUh
Yvny5unbtquXLl+vMmTN66qmnNGTIEPXo0UMNGzbU2rVrdfToUT399NOKjIzU1q1br/
hZbdiwQaNHj1Z4eLg2btyo4uJiLVq0yHr8Xr16afbs2brrrrs0ZcoULViwQH379lXTpk0rHTM2NlZvvPGG/
vKXv6h79+46d+6c/v3vf+vUqVNX/
bOrTG3PG3B6FgA3lNdee80i6YovX19fm318fX0t48ePt75/4IEHLHfccccVj/
PCCy9YJFmysrJs2g8dOmSRZImOjrZp/
+yzzyySLDNnzrRYLBbL6dOnLWaz2RIREWHTLz093SLJ0rt3b2vbrl27LJIs99xzz1Xnf/
HiRUtpaamlX79+loceesjanpWVZZFk6datm6WsrMzanpSUZJFkefDBB23GiYmJsUiyFBYWVnqssrIyi7e3t
+X222+3GfPs2bOWNm3aWEJDQ+3m8M4771x1DoGBgZZhw4ZdsU/v3r1tPqPLxo8fb/
PnWxfzBm4EnAIDblDr16/
XF198Yfe6fCrmSu666y59+eWXio6O1rZt21RUVFTl4+7atUuS7O4qu+uuuxQQEKCdO3dKkvbt26fi4mI98s
gjNv3uvvtuu7vULhs+fHiF7cnJybrzzjvl7u4uV1dXNWzYUDt37tShQ4fs+g4aNEgNGvzfX30BAQGSpMGDB
9v0u9yek5NTyUylw4cP68SJExo7dqzNmI0bN9bw4cO1b98+nT9/vtL9K3PXXXfpH//4h2bMmKHdu3fr//
2//1ftMX6rNucN3AgIQMANKiAgQMHBwXYvDw+Pq+4bFxenxYsXa9++fRo4cKBatmypfv36VXpr/
a9dPk1z+bTYr3l7e1u3X/6vp6enXb+K2iobc8mSJZo8ebJ69OihzZs3a9+
+ffriiy90//33VxgcWrRoYfPezc3tiu0XLlyosJZfz6GyuZaXl+vnn3+udP/KvPzyy5o+fbref/
999e3bVy1atNCwYcP03XffVXusy2pz3sCNgAAEwI6rq6tiY2N14MABnT59Whs3btSxY8c0YMCAq65otGzZU
pKUm5trt+3EiRPW638u9/vvf/9r1y8vL6/CsU0mk13bm2++qT59+mjlypUaPHiwevTooeDgYJ09e/
bKk6wFV5trgwYN1Lx582qPe/
PNN2vu3Ln6z3/+o7y8PK1cuVL79u3TkCFDrH3c3d1VXFxst29BQUG1jwcYEQEIwBU1a9ZMI0aM0JQpU3T69
GllZ2dLksxmsyTZrbLce+
+9ki4Fk1/74osvdOjQIfXr10+S1KNHD5nNZm3atMmm3759+3T06NEq12cymay1XPbVV1/
Z3IVVVzp16qR27dppw4YNNheXnzt3Tps3b7beGXYtPD09NWHCBD366KM6fPiwNYD6+fnpyJEjNiHo1KlTSk
tLu6bjAUbBXWAA7AwZMkSBgYEKDg5W69atdfToUSUlJcnX11e33HKLJOn222+XJC1dulTjx49Xw4YN1alTJ
3Xq1EmPP/
64XnnlFTVo0EADBw603gXm4+OjadOmSbp06iU2NlaJiYlq3ry5HnroIf3000+aO3euvLy8bK5XuZIHHnhAz
z33nBISEtS7d28dPnxY8+bNk7+/f4V3wdWmBg0aaNGiRRo9erQeeOABPfHEEyouLtYLL7ygM2fO6Pnnn6/
RuD169NADDzygrl27qnnz5jp06JDeeOMNm0A1duxY/fWvf9WYMWM0adIknTp1SosWLbri3WUA/
g8BCICdvn37avPmzXr11VdVVFSktm3bqn///
po9e7YaNmwo6dJzaOLi4vT6669r9erVKi8v165du6ynozp27Kg1a9Zo+fLl8vDw0P3336/
ExETraSNJmj9/vm6+
+WYlJyfrtddeU+fOnbVy5UrFx8erWbNmVao1Pj5e58+f15o1a7Ro0SJ16dJFycnJeu+996zPJapLo0aN0s0
336zExERFRETIxcVFd999t3bt2qXQ0NAajXnvvfdq69ateumll3T+/
Hm1a9dO48aNU3x8vLVPz5499frrr+v555/
X0KFD1aFDByUkJCglJeW6zBtwdiaLpQoPBQGA6yQrK0udO3dWQkKCZs6c6ehyANygCEAAHObLL7/
Uxo0bFRoaqqZNm+rw4cNatGiRioqK9O9//7vSu8EA4FpxCgyAw9x8883av3+/1qxZozNnzsjDw0N9+vTR/
PnzCT8A6hQrQAAAwHC4DR4AABgOAQgAABgOAQgAABgOF0FXoLy8XCdOnFCTJk0qfPQ+AACofywWi86ePStv
b+
+rPkyVAFSBEydOyMfHx9FlAACAGjh27Jj+53/+54p9CEAVaNKkiaRLHyCPlQcAwDkUFRXJx8fH+nv8SghAF
bh82qtp06YEIAAAnExVLl/
hImgAAGA4BCAAAGA4BCAAAGA4BCAAAGA4BCAAAGA4BCAAAGA4BCAAAGA4BCAAAGA4BCAAAGA4BCAAAGA4BC
AAAGA4BCAAAGA4BCAAAGA4BCAAAGA4BCAAAGA4ro4uAACqy2/
GR44uQdnPD3Z0CQCuAStAAADAcAhAAADAcAhAAADAcAhAAADAcAhAAADAcAhAAADAcAhAAADAcAhAAADAcB
wegFasWCF/f3+5u7srKChIe/
furbRvbm6uRo0apU6dOqlBgwaKiYmpsN+ZM2c0ZcoUeXl5yd3dXQEBAUpJSamjGQAAAGfj0AC0adMmxcTEK
D4+XgcPHlRYWJgGDhyonJycCvsXFxerdevWio+PV7du3SrsU1JSov79+ys7O1vvvvuuDh8+rNWrV6tdu3Z1
ORUAAOBEHPpVGEuWLNHEiRMVGRkpSUpKStK2bdu0cuVKJSYm2vX38/
PT0qVLJUlr166tcMy1a9fq9OnTSktLU8OGDSVJvr6+dTQDAADgjBy2AlRSUqKMjAyFh4fbtIeHhystLa3G4
27dulUhISGaMmWKPD09FRgYqAULFqisrOxaSwYAADcIh60AFRQUqKysTJ6enjbtnp6eysvLq/G4P/74o/
75z39q9OjRSklJ0XfffacpU6bo4sWLevbZZyvcp7i4WMXFxdb3RUVFNT4+AACo/
xx+EbTJZLJ5b7FY7Nqqo7y8XG3atNGqVasUFBSkkSNHKj4+XitXrqx0n8TERHl4eFhfPj4+NT4+AACo/
xwWgFq1aiUXFxe71Z78/
Hy7VaHq8PLy0q233ioXFxdrW0BAgPLy8lRSUlLhPnFxcSosLLS+jh07VuPjAwCA+s9hAcjNzU1BQUFKTU21
aU9NTVVoaGiNx+3Zs6e+//
57lZeXW9uOHDkiLy8vubm5VbiP2WxW06ZNbV4AAODG5dBTYLGxsXr11Ve1du1aHTp0SNOmTVNOTo6ioqIkX
VqZGTdunM0+mZmZyszM1C+//
KKTJ08qMzNT3377rXX75MmTderUKU2dOlVHjhzRRx99pAULFmjKlCnXdW4AAKD+cuht8BERETp16pTmzZun
3NxcBQYGKiUlxXrbem5urt0zgbp37279OSMjQxs2bJCvr6+ys7MlST4+Ptq+fbumTZumrl27ql27dpo6daq
mT59+3eYFAADqN5PFYrE4uoj6pqioSB4eHiosLOR0GFAP+c34yNElKPv5wY4uAcBvVOf3t8PvAgMAALjeCE
AAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAA
MBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBw
CEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwHB6
AVqxYIX9/f7m7uysoKEh79+6ttG9ubq5GjRqlTp06qUGDBoqJibni2G+//
bZMJpOGDRtWu0UDAACn5tAAtGnTJsXExCg+Pl4HDx5UWFiYBg4cqJycnAr7FxcXq3Xr1oqPj1e3bt2uOPbR
o0f19NNPKywsrC5KBwAATsyhAWjJkiWaOHGiIiMjFRAQoKSkJPn4+GjlypUV9vfz89PSpUs1btw4eXh4VDp
uWVmZRo8erblz56pDhw51VT4AAHBSDgtAJSUlysjIUHh4uE17eHi40tLSrmnsefPmqXXr1po4cWKV+hcXF6
uoqMjmBQAAblwOC0AFBQUqKyuTp6enTbunp6fy8vJqPO6//
vUvrVmzRqtXr67yPomJifLw8LC+fHx8anx8AABQ/
zn8ImiTyWTz3mKx2LVV1dmzZzVmzBitXr1arVq1qvJ+cXFxKiwstL6OHTtWo+MDAADn4OqoA7dq1UouLi52
qz35+fl2q0JV9cMPPyg7O1tDhgyxtpWXl0uSXF1ddfjwYXXs2NFuP7PZLLPZXKNjAkBF/
GZ85OgSJEnZzw92dAlAveSwAOTm5qagoCClpqbqoYcesranpqZq6NChNRqzc+fO+vrrr23aZs2apbNnz2rp
0qWc2gKuoj780uYXNoDrwWEBSJJiY2M1duxYBQcHKyQkRKtWrVJOTo6ioqIkXTo1dfz4ca1fv966T2ZmpiT
pl19+0cmTJ5WZmSk3Nzd16dJF7u7uCgwMtDlGs2bNJMmuHQAAGJdDA1BERIROnTqlefPmKTc3V4GBgUpJSZ
Gvr6+kSw8+/
O0zgbp37279OSMjQxs2bJCvr6+ys7OvZ+kAAMCJOTQASVJ0dLSio6Mr3LZu3Tq7NovFUq3xKxoDAAAYm8Pv
AgMAALjeCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEA
AAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAM
BwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwCEAAAMBwH
B6AVqxYIX9/f7m7uysoKEh79+6ttG9ubq5GjRqlTp06qUGDBoqJibHrs3r1aoWFhal58+Zq3ry57rvvPn3+
+ed1OAMAAOBsHBqANm3apJiYGMXHx+vgwYMKCwvTwIEDlZOTU2H/
4uJitW7dWvHx8erWrVuFfXbv3q1HH31Uu3btUnp6utq3b6/
w8HAdP368LqcCAACciEMD0JIlSzRx4kRFRkYqICBASUlJ8vHx0cqVKyvs7+fnp6VLl2rcuHHy8PCosM9bb7
2l6Oho3XHHHercubNWr16t8vJy7dy5sy6nAgAAnIjDAlBJSYkyMjIUHh5u0x4eHq60tLRaO8758+dVWlqqF
i1aVNqnuLhYRUVFNi8AAHDjclgAKigoUFlZmTw9PW3aPT09lZeXV2vHmTFjhtq1a6f77ruv0j6JiYny8PCw
vnx8fGrt+AAAoP5x+EXQJpPJ5r3FYrFrq6lFixZp48aN2rJli9zd3SvtFxcXp8LCQuvr2LFjtXJ8AABQP7k
66sCtWrWSi4uL3WpPfn6+3apQTSxevFgLFizQjh071LVr1yv2NZvNMpvN13xMAADgHBy2AuTm5qagoCClpq
batKempio0NPSaxn7hhRf03HPP6eOPP1ZwcPA1jQUAAG48DlsBkqTY2FiNHTtWwcHBCgkJ0apVq5STk6Ooq
ChJl05NHT9+XOvXr7fuk5mZKUn65ZdfdPLkSWVmZsrNzU1dunSRdOm01+zZs7Vhwwb5+flZV5gaN26sxo0b
X98JAgCAesmhASgiIkKnTp3SvHnzlJubq8DAQKWkpMjX11fSpQcf/
vaZQN27d7f+nJGRoQ0bNsjX11fZ2dmSLj1YsaSkRCNGjLDZLyEhQXPmzKnT+QAAAOfg0AAkSdHR0YqOjq5w
27p16+zaLBbLFce7HIQAAAAq4/
C7wAAAAK43AhAAADAcAhAAADAcAhAAADAcAhAAADAcAhAAADAcAhAAADAcAhAAADAcAhAAADAcAhAAADAcA
hAAADAch38XGGAEfjM+cnQJyn5+sKNLQD3E/
5swKlaAAACA4RCAAACA4RCAAACA4RCAAACA4RCAAACA4RCAAACA4RCAAACA4RCAAACA4RCAAACA4RCAAACA
4RCAAACA4RCAAACA4RCAAACA4RCAAACA4RCAAACA4RCAAACA4dQoAK1bt07nz5+v7VoAAACuixoFoLi4OLV
t21YTJ05UWlpabdcEAABQp2oUgH766Se9+eab+vnnn9W3b1917txZCxcuVF5eXm3XBwAAUOtqFIBcXFz04I
MPasuWLTp27Jgef/xxvfXWW2rfvr0efPBBffDBByovL6/SWCtWrJC/v7/
c3d0VFBSkvXv3Vto3NzdXo0aNUqdOndSgQQPFxMRU2G/
z5s3q0qWLzGazunTpovfee68m0wQAADeoa74Iuk2bNurZs6dCQkLUoEEDff3115owYYI6duyo3bt3X3HfTZ
s2KSYmRvHx8Tp48KDCwsI0cOBA5eTkVNi/uLhYrVu3Vnx8vLp161Zhn/
T0dEVERGjs2LH68ssvNXbsWD3yyCP67LPPrnWqAADgBlHjAPTf//
5Xixcv1m233aY+ffqoqKhIH374obKysnTixAk9/PDDGj9+/
BXHWLJkiSZOnKjIyEgFBAQoKSlJPj4+WrlyZYX9/fz8tHTpUo0bN04eHh4V9klKSlL//
v0VFxenzp07Ky4uTv369VNSUlJNpwoAAG4wNQpAQ4YMkY+Pj9atW6dJkybp+PHj2rhxo+677z5JUqNGjfTU
U0/
p2LFjlY5RUlKijIwMhYeH27SHh4df04XV6enpdmMOGDDgimMWFxerqKjI5gUAAG5crjXZqU2bNtqzZ49CQk
Iq7ePl5aWsrKxKtxcUFKisrEyenp427Z6entd0MXVeXl61x0xMTNTcuXNrfEwAAOBcarQC1Lt3b91555127
SUlJVq/fr0kyWQyydfX96pjmUwmm/cWi8WurbqqO2ZcXJwKCwutryutXAEAAOdXowD0hz/
8QYWFhXbtZ8+e1R/
+8IcqjdGqVSu5uLjYrczk5+fbreBUR9u2bas9ptlsVtOmTW1eAADgxlWjAFTZispPP/
1U6cXJv+Xm5qagoCClpqbatKempio0NLQmZUmSQkJC7Mbcvn37NY0JAABuLNW6Bqh79+4ymUwymUzq16+fX
F3/b/eysjJlZWXp/vvvr/J4sbGxGjt2rIKDgxUSEqJVq1YpJydHUVFRki6dmjp+/Lj1tJokZWZmSpJ+
+eUXnTx5UpmZmXJzc1OXLl0kSVOnTtU999yjhQsXaujQofrggw+0Y8cOffrpp9WZKgAAuIFVKwANGzZM0qU
QMmDAADVu3Ni6zc3NTX5+fho+fHiVx4uIiNCpU6c0b9485ebmKjAwUCkpKdZrh3Jzc+2eCdS9e3frzxkZGd
qwYYN8fX2VnZ0tSQoNDdXbb7+tWbNmafbs2erYsaM2bdqkHj16VGeqAADgBlatAJSQkCDp0vN4IiIi5O7uf
s0FREdHKzo6usJt69ats2uzWCxXHXPEiBEaMWLEtZYGAABuUDW6Df5qDzgEAACoz6ocgFq0aKEjR46oVatW
at68+RVvKz99+nStFAcAAFAXqhyAXnrpJTVp0sT687U+qwcAAMBRqhyAfn3aa8KECXVRCwAAwHVR5QBUne/
H4kGCAACgPqtyAGrWrNlVT3tdfkBiWVnZNRcGAABQV6ocgHbt2lWXdQAAAFw3VQ5AvXv3rss6AAAArpsqB6
CvvvpKgYGBatCggb766qsr9u3ates1FwYAAFBXqhyA7rjjDuXl5alNmza64447ZDKZKnwqM9cAAQCA+q7KA
SgrK0utW7e2/gwAAOCsqhyALn9B6W9/BgAAcDY1+i4wSTp8+LBeeeUVHTp0SCaTSZ07d9af/
vQnderUqTbrAwAAqHUNarLTu+++q8DAQGVkZKhbt27q2rWrDhw4oMDAQL3zzju1XSMAAECtqtEK0J///
GfFxcVp3rx5Nu0JCQmaPn26fv/
739dKcQAAAHWhRitAeXl5GjdunF37mDFjlJeXd81FAQAA1KUaBaA+ffpo7969du2ffvqpwsLCrrkoAACAul
TlU2Bbt261/
vzggw9q+vTpysjI0N133y1J2rdvn9555x3NnTu39qsEAACoRVUOQMOGDbNrW7FihVasWGHTNmXKFEVFRV1z
YQAAAHWlygGovLy8LusAAAC4bmp0DRAAAIAzq/GDEM+dO6c9e/
YoJydHJSUlNtuefPLJay4MAACgrtQoAB08eFCDBg3S+fPnde7cObVo0UIFBQW66aab1KZNGwIQAACo12p0C
mzatGkaMmSITp8+rUaNGmnfvn06evSogoKCtHjx4tquEQAAoFbVKABlZmbqqaeekouLi1xcXFRcXCwfHx8t
WrRIM2fOrO0aAQAAalWNAlDDhg1lMpkkSZ6ensrJyZEkeXh4WH8GAACor2p0DVD37t21f/
9+3Xrrrerbt6+effZZFRQU6I033tDtt99e2zUCAADUqhqtAC1YsEBeXl6SpOeee04tW7bU5MmTlZ+fr1WrV
tVqgQAAALWtRitAwcHB1p9bt26tlJSUWisIqA6/GR85ugRJUvbzgx1dAgCgGmr8HCBJys/
P1+HDh2UymdSpUye1bt26tuoCAMCqPvxjh3/o3FhqdAqsqKh
IY8eOVbt27dS7d2/dc8898vb21pgxY1RYWFjbNQIAANSqGgWgyMhIffbZZ/rwww915swZFRYW6sMPP9T+/
fs1adKkao21YsUK+fv7y93dXUFBQdq7d+8V++/
Zs0dBQUFyd3dXhw4dlJycbNcnKSlJnTp1UqNGjeTj46Np06bpwoUL1aoLAADcuGp0Cuyjjz7Stm3b1KtXL2
vbgAEDtHr1at1///1VHmfTpk2KiYnRihUr1LNnT/31r3/VwIED9e2336p9+/Z2/
bOysjRo0CBNmjRJb775pv71r38pOjparVu31vDhwyVJb731lmbMmKG1a9cqNDRUR44c0YQJEyRJL730Uk2m
CwAAbjA1CkAtW7aUh4eHXbuHh4eaN29e5XGWLFmiiRMnKjIyUtKllZtt27Zp5cqVSkxMtOufnJys9u3bKyk
pSZIUEBCg/fv3a/HixdYAlJ6erp49e2rUqFGSJD8/Pz366KP6/
PPPqztNAABwg6rRKbBZs2YpNjZWubm51ra8vDw988wzmj17dpXGKCkpUUZGhsLDw23aw8PDlZaWVuE+6enp
dv0HDBig/fv3q7S0VJLUq1cvZWRkWAPPjz/
+qJSUFA0ezMVrAADgkiqvAHXv3t369GdJ+u677+Tr62s9VZWTkyOz2ayTJ0/
qiSeeuOp4BQUFKisrk6enp027p6en8vLyKtwnLy+vwv4XL15UQUGBvLy8NHLkSJ08eVK9evWSxWLRxYsXNX
nyZM2YMaPSWoqLi1VcXGx9X1RUdNX6AQCA86pyABo2bFidFPDrUCVJFovFru1q/X/
dvnv3bs2fP18rVqxQjx499P3332vq1Kny8vKqdHUqMTFRc+fOvZZpAAAAJ1LlAJSQkFCrB27VqpVcXFzsVn
vy8/PtVnkua9u2bYX9XV1d1bJlS0nS7NmzNXbsWOt1RbfffrvOnTunxx9/
XPHx8WrQwP6sX1xcnGJjY63vi4qK5OPjc03zAwAA9dc1PQgxIyNDhw4dkslkUpcuXdS9e/
cq7+vm5qagoCClpqbqoYcesranpqZq6NChFe4TEhKiv//97zZt27dvV3BwsBo2bChJOn/
+vF3IcXFxkcVisa4W/
ZbZbJbZbK5y7QAAwLnVKADl5+dr5MiR2r17t5o1ayaLxaLCwkL17dtXb7/9dpWfCB0bG6uxY8cqODhYISEh
WrVqlXJychQVFSXp0srM8ePHtX79eklSVFSUli1bptjYWE2aNEnp6elas2aNNm7caB1zyJAhWrJkibp3724
9BTZ79mw9+OCDcnFxqcl0AQDADaZGAehPf/
qTioqK9M033yggIECS9O2332r8+PF68sknbQLJlUREROjUqVOaN2+ecnNzFRgYqJSUFPn6+kqScnNzlZOTY
+3v7+
+vlJQUTZs2TcuXL5e3t7defvll6y3w0qU71Ewmk2bNmqXjx4+rdevWGjJkiObPn1+TqQIAgBtQjQLQxx9/
rB07dljDjyR16dJFy5cvt7tN/
Wqio6MVHR1d4bZ169bZtfXu3VsHDhyodDxXV1clJCTU+jVLAADgxlGj5wCVl5dbr7n5tYYNG6q8vPyaiwIA
AKhLNQpA9957r6ZOnaoTJ05Y244fP65p06apX79+tVYcAABAXahRAFq2bJnOnj0rPz8/dezYUb/73e/k7+
+vs2fP6pVXXqntGgEAAGpVja4B8vHx0YEDB5Samqr//Oc/
slgs6tKli+67777arg8AAKDWVTsAXbx4Ue7u7srMzFT//v3Vv3//uqgLAACgzlT7FJirq6t8fX1VVlZWF/
UAAADUuRp/G3xcXJxOnz5d2/UAAADUuRpdA/Tyyy/r+++/l7e3t3x9fXXzzTfbbL/
Sc3oAAAAcrUYBaNiwYTKZTJV+txYAAEB9Vq0AdP78eT3zzDN6//33VVpaqn79+umVV15Rq1at6qo+AACAWl
eta4ASEhK0bt06DR48WI8+
+qh27NihyZMn11VtAAAAdaJaK0BbtmzRmjVrNHLkSEnS6NGj1bNnT5WVlfFN6wAAwGlUawXo2LFjCgsLs76
/66675OrqavOVGAAAAPVdtQJQWVmZ3NzcbNpcXV118eLFWi0KAACgLlXrFJjFYtGECRNkNputbRcuXFBUVJ
TNrfBbtmypvQoBAABqWbUC0Pjx4+3axowZU2vFAAAAXA/
VCkCvvfZaXdUBAABw3dToqzAAAACcGQEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAA
AYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYjsMD0IoVK+Tv7y93d3cFBQVp7
969V+y/
Z88eBQUFyd3dXR06dFBycrJdnzNnzmjKlCny8vKSu7u7AgIClJKSUldTAAAATsahAWjTpk2KiYlRfHy8Dh4
8qLCwMA0cOFA5OTkV9s/
KytKgQYMUFhamgwcPaubMmXryySe1efNma5+SkhL1799f2dnZevfdd3X48GGtXr1a7dq1u17TAgAA9ZyrIw
++ZMkSTZw4UZGRkZKkpKQkbdu2TStXrlRiYqJd/+TkZLVv315JSUmSpICAAO3fv1+LFy/
W8OHDJUlr167V6dOnlZaWpoYNG0qSfH19r8+EAACAU3DYClBJSYkyMjIUHh5u0x4eHq60tLQK90lPT7frP2
DAAO3fv1+lpaWSpK1btyokJERTpkyRp6enAgMDtWDBApWVlVVaS3FxsYqKimxeAADgxuWwAFRQUKCysjJ5e
nratHt6eiovL6/CffLy8irsf/
HiRRUUFEiSfvzxR7377rsqKytTSkqKZs2apRdffFHz58+vtJbExER5eHhYXz4+Ptc4OwAAUJ85/
CJok8lk895isdi1Xa3/
r9vLy8vVpk0brVq1SkFBQRo5cqTi4+O1cuXKSseMi4tTYWGh9XXs2LGaTgcAADgBh10D1KpVK7m4uNit9uT
n59ut8lzWtm3bCvu7urqqZcuWkiQvLy81bNhQLi4u1j4BAQHKy8tTSUmJ3Nzc7MY1m80ym83XOiUAAOAkHL
YC5ObmpqCgIKWmptq0p6amKjQ0tMJ9QkJC7Ppv375dwcHB1guee/bsqe+//
17l5eXWPkeOHJGXl1eF4QcAABiPQ0+BxcbG6tVXX9XatWt16NAhTZs2TTk5OYqKipJ06dTUuHHjrP2joqJ0
9OhRxcbG6tChQ1q7dq3WrFmjp59+2tpn8uTJOnXqlKZOnaojR47oo48+0oIFCzRlypTrPj8AAFA/
OfQ2+IiICJ06dUrz5s1Tbm6uAgMDlZKSYr1tPTc31+aZQP7+/
kpJSdG0adO0fPlyeXt76+WXX7beAi9JPj4+2r59u6ZNm6auXbuqXbt2mjp1qqZPn37d5wcAAOonhwYgSYqO
jlZ0dHSF29atW2fX1rt3bx04cOCKY4aEhGjfvn21UR4AALgBOfwuMAAAgOuNAAQAAAyHAAQAAAzH4dcAof7
ym/
GRo0tQ9vODHV0CAOAGRAACAKCW8A9H58EpMAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEI
AAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAA
YDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgOD0ArVqy
Qv7+/3N3dFRQUpL17916x/549exQUFCR3d3d16NBBycnJlfZ9+
+23ZTKZNGzYsFquGgAAODOHBqBNmzYpJiZG8fHxOnjwoMLCwjRw4EDl5ORU2D8rK0uDBg1SWFiYDh48qJkz
Z+rJJ5/U5s2b7foePXpUTz/
9tMLCwup6GgAAwMk4NAAtWbJEEydOVGRkpAICApSUlCQfHx+tXLmywv7Jyclq3769kpKSFBAQoMjISD322G
NavHixTb+ysjKNHj1ac+fOVYcOHa7HVAAAgBNxWAAqKSlRRkaGwsPDbdrDw8OVlpZW4T7p6el2/
QcMGKD9+/
ertLTU2jZv3jy1bt1aEydOrFItxcXFKioqsnkBAIAbl8MCUEFBgcrKyuTp6WnT7unpqby8vAr3ycvLq7D/
xYsXVVBQIEn617/+pTVr1mj16tVVriUxMVEeHh7Wl4+PTzVnAwAAnInDL4I2mUw27y0Wi13b1fpfbj979qz
GjBmj1atXq1WrVlWuIS4uToWFhdbXsWPHqjEDAADgbFwddeBWrVrJxcXFbrUnPz/
fbpXnsrZt21bY39XVVS1bttQ333yj7OxsDRkyxLq9vLxckuTq6qrDhw+rY8eOduOazWaZzeZrnRIAAHASDl
sBcnNzU1BQkFJTU23aU1NTFRoaWuE+ISEhdv23b9+u4OBgNWzYUJ07d9bXX3+tzMxM6+vBBx9U3759lZmZy
aktAAAgyYErQJIUGxursWPHKjg4WCEhIVq1apVycnIUFRUl6dKpqePHj2v9+vWSpKioKC1btkyxsbGaNGmS
0tPTtWbNGm3cuFGS5O7ursDAQJtjNGvWTJLs2gEAgHE5NABFRETo1KlTmjdvnnJzcxUYGKiUlBT5+vpKknJ
zc22eCeTv76+UlBRNmzZNy5cvl7e3t15+
+WUNHz7cUVMAAABOyKEBSJKio6MVHR1d4bZ169bZtfXu3VsHDhyo8vgVjQEAAIzN4XeBAQAAXG8EIAAAYDg
EIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIA
AAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDgEIAAAYDiuji7AiPxmfOToEpT9/
GBHlwAAcID68DtIcvzvIVaAAACA4RCAAACA4RCAAACA4RCAAACA4RCAAACA4RCAAACA4RCAAACA4RCAAACA
4RCAAACA4RCAAACA4RCAAACA4Tg8AK1YsUL+/v5yd3dXUFCQ9u7de8X+e/
bsUVBQkNzd3dWhQwclJyfbbF+9erXCwsLUvHlzNW/eXPfdd58+//
zzupwCAABwMg4NQJs2bVJMTIzi4+N18OBBhYWFaeDAgcrJyamwf1ZWlgYNGqSwsDAdPHhQM2fO1JNPPqnNm
zdb+
+zevVuPPvqodu3apfT0dLVv317h4eE6fvz49ZoWAACo5xwagJYsWaKJEycqMjJSAQEBSkpKko+Pj1auXFlh
/
+TkZLVv315JSUkKCAhQZGSkHnvsMS1evNja56233lJ0dLTuuOMOde7cWatXr1Z5ebl27tx5vaYFAADqOYcF
oJKSEmVkZCg8PNymPTw8XGlpaRXuk56ebtd/wIAB2r9/v0pLSyvc5/
z58yotLVWLFi0qraW4uFhFRUU2LwAAcONyWAAqKChQWVmZPD09bdo9PT2Vl5dX4T55eXkV9r948aIKCgoq3
GfGjBlq166d7rvvvkprSUxMlIeHh/Xl4+NTzdkAAABn4vCLoE0mk817i8Vi13a1/
hW1S9KiRYu0ceNGbdmyRe7u7pWOGRcXp8LCQuvr2LFj1ZkCAABwMq6OOnCrVq3k4uJit9qTn59vt8pzWdu2
bSvs7+rqqpYtW9q0L168WAsWLNCOHTvUtWvXK9ZiNptlNptrMAsAAOCMHLYC5ObmpqCgIKWmptq0p6amKjQ
0tMJ9QkJC7Ppv375dwcHBatiwobXthRde0HPPPaePP/
5YwcHBtV88AABwag49BRYbG6tXX31Va9eu1aFDhzRt2jTl5OQoKipK0qVTU+PGjbP2j4qK0tGjRxUbG6tDh
w5p7dq1WrNmjZ5++mlrn0WLFmnWrFlau3at/Pz8lJeXp7y8PP3yyy/XfX4AAKB+ctgpMEmKiIjQqVOnNG/
ePOXm5iowMFApKSny9fWVJOXm5to8E8jf318pKSmaNm2ali9fLm9vb7388ssaPny4tc+KFStUUlKiESNG2B
wrISFBc+bMuS7zAgAA9ZtDA5AkRUdHKzo6usJt69ats2vr3bu3Dhw4UOl42dnZtVQZAAC4UTn8LjAAAIDrj
QAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAE
AAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAA
MhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMhwAEAAAMx+EBaMWKFf
L395e7u7uCgoK0d+/eK/
bfs2ePgoKC5O7urg4dOig5Odmuz+bNm9WlSxeZzWZ16dJF7733Xl2VDwAAnJBDA9CmTZsUExOj+Ph4HTx4U
GFhYRo4cKBycnIq7J+VlaVBgwYpLCxMBw8e1MyZM/
Xkk09q8+bN1j7p6emKiIjQ2LFj9eWXX2rs2LF65JFH9Nlnn12vaQEAgHrOoQFoyZIlmjhxoiIjIxUQEKCkp
CT5+Pho5cqVFfZPTk5W+/btlZSUpICAAEVGRuqxxx7T4sWLrX2SkpLUv39/xcXFqXPnzoqLi1O/
fv2UlJR0nWYFAADqO4cFoJKSEmVkZCg8PNymPTw8XGlpaRXuk56ebtd/wIAB2r9/v0pLS6/
Yp7IxAQCA8bg66sAFBQUqKyuTp6enTbunp6fy8vIq3CcvL6/C/
hcvXlRBQYG8vLwq7VPZmJJUXFys4uJi6/vCwkJJUlFRUbXmVFXlxefrZNzqqMrcnKHO+lCj5Bx13ih/
5pJz1FkfapSco84b5c9cco4660ONUt38jr08psViuWpfhwWgy0wmk817i8Vi13a1/
r9tr+6YiYmJmjt3rl27j49P5YU7OY8kR1dQNdRZe5yhRok6a5sz1OkMNUrUWdvqss6zZ8/
Kw8Pjin0cFoBatWolFxcXu5WZ/
Px8uxWcy9q2bVthf1dXV7Vs2fKKfSobU5Li4uIUGxtrfV9eXq7Tp0+rZcuWVwxOjlJUVCQfHx8dO3ZMTZs2
dXQ5To3PsnbxedYePsvaxedZe+rzZ2mxWHT27Fl5e3tfta/
DApCbm5uCgoKUmpqqhx56yNqempqqoUOHVrhPSEiI/v73v9u0bd+
+XcHBwWrYsKG1T2pqqqZNm2bTJzQ0tNJazGazzGazTVuzZs2qO6XrrmnTpvXufz5nxWdZu/
g8aw+fZe3i86w99fWzvNrKz2UOPQUWGxursWPHKjg4WCEhIVq1apVycnIUFRUl6dLKzPHjx7V+/
XpJUlRUlJYtW6bY2FhNmjRJ6enpWrNmjTZu3Ggdc+rUqbrnnnu0cOFCDR06VB988IF27NihTz/
91CFzBAAA9Y9DA1BERIROnTqlefPmKTc3V4GBgUpJSZGvr68kKTc31+aZQP7+/
kpJSdG0adO0fPlyeXt76+WXX9bw4cOtfUJDQ/
X2229r1qxZmj17tjp27KhNmzapR48e131+AACgfnL4RdDR0dGKjo6ucNu6devs2nr37q0DBw5cccwRI0Zox
IgRtVFevWQ2m5WQkGB32g7Vx2dZu/
g8aw+fZe3i86w9N8pnabJU5V4xAACAG4jDvwsMAADgeiMAAQAAwyEAAQAAwyEAAQAAwyEAOYnExET97//+r
5o0aaI2bdpo2LBhOnz4sKPLuiEkJibKZDIpJibG0aU4rePHj2vMmDFq2bKlbrrpJt1xxx3KyMhwdFlO6eLF
i5o1a5b8/
f3VqFEjdejQQfPmzVN5ebmjS6v3PvnkEw0ZMkTe3t4ymUx6//33bbZbLBbNmTNH3t7eatSokfr06aNvvvnG
McU6gSt9nqWlpZo+fbpuv/123XzzzfL29ta4ceN04sQJxxVcTQQgJ7Fnzx5NmTJF+/
btU2pqqi5evKjw8HCdO3fO0aU5tS+++EKrVq1S165dHV2K0/r555/Vs2dPNWzYUP/4xz/
07bff6sUXX3SKp6nXRwsXLlRycrKWLVumQ4cOadGiRXrhhRf0yiuvOLq0eu/
cuXPq1q2bli1bVuH2RYsWacmSJVq2bJm++OILtW3bVv3799fZs2evc6XO4Uqf5/
nz53XgwAHNnj1bBw4c0JYtW3TkyBE9+OCDDqi0hixwSvn5+RZJlj179ji6FKd19uxZyy233GJJTU219O7d2
zJ16lRHl+SUpk+fbunVq5ejy7hhDB482PLYY4/ZtD388MOWMWPGOKgi5yTJ8t5771nfl5eXW9q2bWt5/
vnnrW0XLlyweHh4WJKTkx1QoXP57edZkc8//9wiyXL06NHrU9Q1YgXISRUWFkqSWrRo4eBKnNeUKVM0ePBg
3XfffY4uxalt3bpVwcHB+v3vf682bdqoe/fuWr16taPLclq9evXSzp07deTIEUnSl19+qU8//
VSDBg1ycGXOLSsrS3l5eQoPD7e2mc1m9e7dW2lpaQ6s7MZRWFgok8nkNKu/
Dn8SNKrPYrEoNjZWvXr1UmBgoKPLcUpvv/22Dhw4oC+++MLRpTi9H3/8UStXrlRsbKxmzpypzz//XE8+
+aTMZrPGjRvn6PKczvTp01VYWKjOnTvLxcVFZWVlmj9/
vh599FFHl+bU8vLyJEmenp427Z6enjp69KgjSrqhXLhwQTNmzNCoUaPq5RekVoQA5IT++Mc/
6quvvuILXmvo2LFjmjp1qrZv3y53d3dHl+P0ysvLFRwcrAULFkiSunfvrm++
+UYrV64kANXApk2b9Oabb2rDhg267bbblJmZqZiYGHl7e2v8+PGOLs/pmUwmm/
cWi8WuDdVTWlqqkSNHqry8XCtWrHB0OVVGAHIyf/rTn7R161Z98skn+p//
+R9Hl+OUMjIylJ+fr6CgIGtbWVmZPvnkEy1btkzFxcVycXFxYIXOxcvLS126dLFpCwgI0ObNmx1UkXN75pl
nNGPGDI0cOVKSdPvtt+vo0aNKTEwkAF2Dtm3bSrq0EuTl5WVtz8/
Pt1sVQtWVlpbqkUceUVZWlv75z386zeqPxF1gTsNiseiPf/yjtmzZon/+85/y9/d3dElOq1+/
fvr666+VmZlpfQUHB2v06NHKzMwk/FRTz5497R7JcOTIEfn6+jqoIud2/vx5NWhg+1ezi4sLt8FfI39/
f7Vt21apqanWtpKSEu3Zs0ehoaEOrMx5XQ4/3333nXbs2KGWLVs6uqRqYQXISUyZMkUbNmzQBx98oCZNmlj
PZ3t4eKhRo0YOrs65NGnSxO7aqZtvvlktW7bkmqoamDZtmkJDQ7VgwQI98sgj+vzzz7Vq1SqtWrXK0aU5pS
FDhmj+/Plq3769brvtNh08eFBLlizRY4895ujS6r1ffvlF33//
vfV9VlaWMjMz1aJFC7Vv314xMTFasGCBbrnlFt1yyy1asGCBbrrpJo0aNcqBVddfV/
o8vb29NWLECB04cEAffvihysrKrL+XWrRoITc3N0eVXXUOvgsNVSSpwtdrr73m6NJuCNwGf23+/ve/
WwIDAy1ms9nSuXNny6pVqxxdktMqKiqyTJ061dK+fXuLu7u7pUOHDpb4+HhLcXGxo0ur93bt2lXh35Pjx4+
3WCyXboVPSEiwtG3b1mI2my333HOP5euvv3Zs0fXYlT7PrKysSn8v7dq1y9GlV4nJYrFYrmfgAgAAcDSuAQ
IAAIZDAAIAAIZDAAIAAIZDAAIAAIZDAAIAAIZDAAIAAIZDAAIAAIZDAAJgeOfPn9fw4cPVtGlTmUwmnTlzp
kr7zZkzR3fccYf1/
YQJEzRs2LA6qRFA7SIAAah1+fn5euKJJ9S+fXuZzWa1bdtWAwYMUHp6uqNLq9Drr7+uvXv3Ki0tTbm5ufLw
8KjROEuXLtW6detqtzgAdYLvAgNQ64YPH67S0lK9/vrr6tChg/773/9q586dOn36tKNLq9APP/yggICAa/
4uuJoGJwDXHytAAGrVmTNn9Omnn2rhwoXq27evfH19dd
dddykuLk6DBw+WJGVnZ8tkMikzM9NmP5PJpN27d0uSdu/eLZPJpG3btql79+5q1KiR7r33XuXn5+sf//
iHAgIC1LRpUz366KM6f/
78FWvavHmzbrvtNpnNZvn5+enFF1+0buvTp49efPFFffLJJzKZTOrTp0+l4zz//
PPy9PRUkyZNNHHiRF24cMFm+29PgZWXl2vhwoX63e9+J7PZrPbt22v+/
PnW7cePH1dERISaN2+uli1baujQocrOzr7yBwygVhCAANSqxo0bq3Hjxnr//
fdVXFx8zePNmTNHy5YtU1pamo4dO6ZHHnlESUlJ2rBhgz766COlpqbqlVdeqXT/jIwMPfLIIxo5cqS+/
vprzZkzR7Nnz7aeqtqyZYsmTZqkkJAQ5ebmasuWLRWO87e//U0JCQmaP3++9u/
fLy8vL61YseKKtcfFxWnhwoWaPXu2vv32W23YsEGenp6SLl131LdvXzVu3FiffPKJPv30UzVu3Fj333+/
SkpKavZhAag6R38bK4Abz7vvvmtp3ry5xd3d3RIaGmqJi4uzfPnll9btl79J+uDBg9a2n3/+2eabpC9/E/
WOHTusfRITEy2SLD/88IO17YknnrAMGDCg0lpGjRpl6d+/v03bM888Y+nSpYv1/dSpUy29e/
e+4pxCQkIsUVFRNm09evSwdOvWzfp+/
PjxlqFDh1oslkvf6m42my2rV6+ucLw1a9ZYOnXqZCkvL7e2FRcXWxo1amTZtm3bFWsBcO1YAQJQ64YPH64T
J05o69atGjBggHbv3q0777yzRhcId+3a1fqzp6enbrrpJnXo0MGmLT8/
v9L9Dx06pJ49e9q09ezZU999953KysqqXMehQ4cUEhJi0/bb97/
tX1xcrH79+lW4PSMjQ99//72aNGliXTVr0aKFLly4oB9++KHKdQGoGS6CBlAn3N3d1b9/f/Xv31/
PPvusIiMjlZCQoAkTJqhBg0v/9rJYLNb+paWlFY7TsGFD688mk8nm/
eW28vLySuuwWCwymUx2bXWtUaNGV9xeXl6uoKAgvfXWW3bbWrduXVdlAfj/sQIE4Lro0qWLzp07J+n/
fsHn5uZat//6gujaPu6nn35q05aWlqZbb71VLi4uVR4nICBA+/
bts2n77ftfu+WWW9SoUSPt3Lmzwu133nmnvvvuO7Vp00a/
+93vbF7cTQbUPQIQgFp16tQp3XvvvXrzzTf11VdfKSsrS+
+8844WLVqkoUOHSrq0OnL33Xfr+eef17fffqtPPvlEs2bNqpN6nnrqKe3cuVPPPfecjhw5otdff13Lli3T0
08/Xa1xpk6dqrVr12rt2rU6cuSIEhIS9M0331Ta393dXdOnT9ef//xnrV+/Xj/
88IP27dunNWvWSJJGjx6tVq1aaejQodq7d6+ysrK0Z88eTZ06VT/
99NM1zRnA1XEKDECtaty4sXr06KGXXnpJP/
zwg0pLS+Xj46NJkyZp5syZ1n5r167VY489puDgYHXq1EmLFi1SeHh4rddz55136m9/+5ueffZZPffcc/
Ly8tK8efM0YcKEao0TERGhH374QdOnT9eFCxc0fPhwTZ48Wdu2bat0n9mzZ8vV1VXPPvusTpw4IS8vL0VFR
UmSbrrpJn3yySeaPn26Hn74YZ09e1bt2rVTv3791LRp02uZMoAqMFmux8lwAACAeoRTYAAAwHAIQAAAwHAI
QAAAwHAIQAAAwHAIQAAAwHAIQAAAwHAIQAAAwHAIQAAAwHAIQAAAwHAIQAAAwHAIQAAAwHAIQAAAwHD+P/
UbEq5vGXbhAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# You can use this cell for your calculations (not graded)\n",
"np.random.seed(0)\n",
"num_trials = 1000000\n",
"first_throw = np.random.choice([1, 2, 3, 4, 5, 6], size=num_trials)\n",
"second_throw = np.random.choice([1, 2, 3, 4, 5, 6], size=num_trials)\n",
"sums = first_throw + second_throw\n",
"\n",
"plt.hist(sums, bins=range(2, 14), align='left', rwidth=0.8, density=True)\n",
"plt.xticks(range(2, 13, 2))\n",
"plt.xlabel('Sum of dice')\n",
"plt.ylabel('Probability')\n",
"plt.title('Histogram of sum')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "d4d5dcf9",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "f26fe400caf54a6394dc8dc5abc5f751",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"ToggleButtons(description='Your answer:', options=('left', 'center',
'right'), value='left')"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "de794385f9e94357957e0efb36f07476",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Button(button_style='success', description='Save your answer!',
style=ButtonStyle())"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "4c3017eeb8f742d8b51551cb99687887",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Run this cell to submit your answer\n",
"utils.exercise_2()"
]
},
{
"cell_type": "markdown",
"id": "adfb889c",
"metadata": {},
"source": [
"## Exercise 3:\n",
"\n",
"Given a fair 4-sided dice, you throw it two times and record the sum. The
figure on the left shows the probabilities of the dice landing on each side and the
right figure the histogram of the sum. Fill out the probabilities of each sum
(notice that the distribution of the sum is symetrical so you only need to input 4
values in total):\n",
"\n",
"<img src=\"./images/4_side_hists.png\" style=\"height: 300px;\"/>\n",
"\n",
"**Submission considerations:**\n",
"- Submit your answers as floating point numbers with three digits after the
decimal point\n",
"- Example: To submit the value of 1/4 enter 0.250"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "342ca685",
"metadata": {},
"outputs": [
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAAkAAAAHFCAYAAAAaD0bAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIH
ZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpA
AA2x0lEQVR4nO3deVyVdf7//+cB9WAq5AZiImKlgOYGiWC4ZGCmpmUjLaKWZqRTKtUYkrm0oLZh5jI2Jloj
UqOWUzaG3lw/aqMItoyjjmmYQrgkuHxFhev3Bz9PnQADBC71etxvt+sW533e1/
u83lfe5On7Wo7NMAxDAAAAFuJidgEAAADVjQAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAsh
wAEAAAshwAEAAAshwAE3GCSkpJks9m0c+fOEt/
v16+fWrRo4dTWokULDR8+vFyfs3XrVk2ZMkWnTp2qWKEWlJKSojZt2qh27dqy2WzKyMgwuyTAsghAALRy5U
pNmjSpXPts3bpVU6dOJQCV0bFjxxQdHa1bb71V//
rXv7Rt2za1atXK7LIAy6phdgEAzNexY0ezSyi3ixcvymazqUaN6+OvsX379unixYsaMmSIunfvbnY5gOWxA
gSg2CmwwsJCvfrqq2rdurVq166tm2+
+We3atdOsWbMkSVOmTNELL7wgSfLz85PNZpPNZtOGDRsc+8+cOVP+/
v6y2+3y9PTU0KFD9dNPPzl9rmEYev311+Xr6ys3NzcFBwcrNTVVPXr0UI8ePRz9NmzYIJvNpg8//
FDPPfecbrnlFtntdv3vf//
TsWPHNHr0aAUGBqpu3bry9PTU3Xffrc2bNzt91qFDh2Sz2fTGG29oxowZatGihWrXrq0ePXo4wsmLL76opk
2bysPDQw888IBycnLKdPxWrVql0NBQ3XTTTapXr54iIiK0bds2x/vDhw/XXXfdJUmKioqSzWZzmt/
vnTt3Ts8//7z8/Pzk5uamBg0aKDg4WMnJyY4+vz9Gv/
2s357irMp5A9ez6+OfTgDKraCgQJcuXSrWbhjGH+47c+ZMTZkyRS+99JK6deumixcv6r///a/
jdNfIkSN18uRJzZ49WytWrJC3t7ckKTAwUJL09NNPa8GCBfrzn/
+sfv366dChQ5o0aZI2bNigXbt2qVGjRpKk+Ph4JSQkaNSoUXrwwQd1+PBhjRw5UhcvXizx9FBcXJxCQ0M1f
/
58ubi4yNPTU8eOHZMkTZ48WU2aNNGZM2e0cuVK9ejRQ+vWrSsWEubMmaN27dppzpw5OnXqlJ577jn1799fI
SEhqlmzpj744AP9+OOPev755zVy5EitWrXqisdq6dKleuyxxxQZGank5GTl5+dr5syZjs+/
6667NGnSJHXu3FljxozR66+/rp49e8rd3b3UMWNjY/Xhhx/q1VdfVceOHXX27Fl99913OnHixB/
+vytNZc8buO4ZAG4oixYtMiRdcfP19XXax9fX1xg2bJjjdb9+/YwOHTpc8XPeeOMNQ5Jx8OBBp/Y9e/
YYkozRo0c7tX/99deGJGPixImGYRjGyZMnDbvdbkRFRTn127ZtmyHJ6N69u6Nt/fr1hiSjW7dufzj/
S5cuGRcvXjR69eplPPDAA472gwcPGpKM9u3bGwUFBY72xMREQ5Jx//
33O40zbtw4Q5KRm5tb6mcVFBQYTZs2Ne644w6nMU+fPm14enoaYWFhxebwySef/
OEc2rZtawwcOPCKfbp37+50jC4bNmyY0//
fqpg3cCPgFBhwg1qyZIl27NhRbLt8KuZKOnfurN27d2v06NFas2aN8vLyyvy569evl6Rid5V17txZAQEBWr
dunSRp+/btys/P1+DBg536denSpdhdapcNGjSoxPb58+erU6dOcnNzU40aNVSzZk2tW7dOe/
bsKdb3vvvuk4vLr3/1BQQESJL69u3r1O9ye2ZmZikzlfbu3aujR48qOjraacy6detq0KBB2r59u86dO1fq/
qXp3LmzvvzyS7344ovasGGD/t//+3/lHuP3KnPewI2AAATcoAICAhQcHFxs8/
Dw+MN94+Li9Oabb2r79u3q06ePGjZsqF69epV6a/1vXT5Nc/m02G81bdrU8f7l/3p5eRXrV1JbaWO+/
fbbevrppxUSEqLly5dr+/bt2rFjh+69994Sg0ODBg2cXteqVeuK7efPny+xlt/
OobS5FhYW6pdffil1/9K8++67mjBhgj799FP17NlTDRo00MCBA7V///
5yj3VZZc4buBEQgAAUU6NGDcXGxmrXrl06efKkkpOTdfjwYfXu3fsPVzQaNmwoScrKyir23tGjRx3X/
1zu9/
PPPxfrl52dXeLYNputWNtHH32kHj16aN68eerbt69CQkIUHBys06dPX3mSleCP5uri4qL69euXe9w6depo6
tSp+u9//6vs7GzNmzdP27dvV//+/R193NzclJ+fX2zf48ePl/
vzACsiAAG4optvvlkPPfSQxowZo5MnT+rQoUOSJLvdLknFVlnuvvtuSUXB5Ld27NihPXv2qFevXpKkkJAQ2
e12paSkOPXbvn27fvzxxzLXZ7PZHLVc9s033zjdhVVVWrdurVtuuUVLly51urj87NmzWr58uePOsKvh5eWl
4cOH65FHHtHevXsdAbRFixbat2+fUwg6ceKEtm7delWfB1gFd4EBKKZ///5q27atgoOD1bhxY/
34449KTEyUr6+vbr/
9dknSHXfcIUmaNWuWhg0bppo1a6p169Zq3bq1Ro0apdmzZ8vFxUV9+vRx3AXm4+Oj8ePHSyo69RIbG6uEhA
TVr19fDzzwgH766SdNnTpV3t7eTterXEm/fv30yiuvaPLkyerevbv27t2radOmyc/
Pr8S74CqTi4uLZs6cqccee0z9+vXTU089pfz8fL3xxhs6deqUpk+fXqFxQ0JC1K9fP7Vr107169fXnj179O
GHHzoFqujoaP31r3/VkCFD9OSTT+rEiROaOXPmFe8uA/ArAhCAYnr27Knly5frb3/7m/
Ly8tSkSRNFRERo0qRJqlmzpqSi59DExcVp8eLFev/991VYWKj169c7TkfdeuutWrhwoebMmSMPDw/de+
+9SkhIcJw2kqTXXntNderU0fz587Vo0SL5+/
tr3rx5io+P180331ymWuPj43Xu3DktXLhQM2fOVGBgoObPn6+VK1c6nktUlR599FHVqVNHCQkJioqKkqurq
7p06aL169crLCysQmPefffdWrVqld555x2dO3dOt9xyi4YOHar4+HhHn65du2rx4sWaPn26BgwYoJYtW2ry
5MlavXp1tcwbuN7ZDKMMDwUBgGpy8OBB+fv7a/
LkyZo4caLZ5QC4QRGAAJhm9+7dSk5OVlhYmNzd3bV3717NnDlTeXl5+u6770q9GwwArhanwACYpk6dOtq5c
6cWLlyoU6dOycPDQz169NBrr71G+AFQpVgBAgAAlsNt8AAAwHIIQAAAwHIIQAAAwHK4CLoEhYWFOnr0qOrV
q1fio/
cBAMC1xzAMnT59Wk2bNv3Dh6kSgEpw9OhR+fj4mF0GAACogMOHD6tZs2ZX7EMAKkG9evUkFR1AHisPAMD1I
S8vTz4+Po7f41dCACrB5dNe7u7uBCAAAK4zZbl8hYugAQCA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCA
AACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5ZgegObOnSs/
Pz+5ubkpKChImzdvLrXvihUrFBERocaNG8vd3V2hoaFas2aNU5+kpCTZbLZi2/
nz56t6KgAA4DphagBKSUnRuHHjFB8fr/T0dIWHh6tPnz7KzMwssf+mTZsUERGh1atXKy0tTT179lT//
v2Vnp7u1M/
d3V1ZWVlOm5ubW3VMCQAAXAdshmEYZn14SEiIOnXqpHnz5jnaAgICNHDgQCUkJJRpjDZt2igqKkovv/
yypKIVoHHjxunUqVMVrisvL08eHh7Kzc3l2+ABALhOlOf3t2krQBcuXFBaWpoiIyOd2iMjI7V169YyjVFYW
KjTp0+rQYMGTu1nzpyRr6+vmjVrpn79+hVbIfq9/Px85eXlOW0AAODGVcOsDz5+/
LgKCgrk5eXl1O7l5aXs7OwyjfHWW2/p7NmzGjx4sKPN399fSUlJuuOOO5SXl6dZs2apa9eu2r17t26//
fYSx0lISNDUqVMrPhkAlaLFi1+YXUKlOzS9r9klACiB6RdB22w2p9eGYRRrK0lycrKmTJmilJQUeXp6Otq7
dOmiIUOGqH379goPD9fHH3+sVq1aafbs2aWOFRcXp9zcXMd2+PDhik8IAABc80xbAWrUqJFcXV2Lrfbk5OQ
UWxX6vZSUFI0YMUKffPKJ7rnnniv2dXFx0Z133qn9+/
eX2sdut8tut5e9eAAAcF0zbQWoVq1aCgoKUmpqqlN7amqqwsLCSt0vOTlZw4cP19KlS9W37x8vLRuGoYyMD
Hl7e191zQAA4MZg2gqQJMXGxio6OlrBwcEKDQ3VggULlJmZqZiYGElFp6aOHDmiJUuWSCoKP0OHDtWsWbPU
pUsXx+pR7dq15eHhIUmaOnWqunTpottvv115eXl69913lZGRoTlz5pgzSQAAcM0xNQBFRUXpxIkTmjZtmrK
ystS2bVutXr1avr6+kqSsrCynZwL99a9/1aVLlzRmzBiNGTPG0T5s2DAlJSVJkk6dOqVRo0YpOztbHh4e6t
ixozZt2qTOnTtX69wAAMC1y9TnAF2reA4QYA7uAgNwNa6L5wABAACYhQAEAAAshwAEAAAshwAEAAAshwAEA
AAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAs
hwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwA
EAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAA
AshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAsh
wAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAE
AAAshwAEAAAshwAEAAAsx/
QANHfuXPn5+cnNzU1BQUHavHlzqX1XrFihiIgINW7cWO7u7goNDdWaNWuK9Vu+fLkCAwNlt9sVGBiolStXV
uUUAADAdcbUAJSSkqJx48YpPj5e6enpCg8PV58+fZSZmVli/
02bNikiIkKrV69WWlqaevbsqf79+ys9Pd3RZ9u2bYqKilJ0dLR2796t6OhoDR48WF9//
XV1TQsAAFzjbIZhGGZ9eEhIiDp16qR58+Y52gICAjRw4EAlJCSUaYw2bdooKipKL7/8siQpKipKeXl5+vLL
Lx197r33XtWvX1/
JycllGjMvL08eHh7Kzc2Vu7t7OWYE4Gq0ePELs0uodIem9zW7BMAyyvP727QVoAsXLigtLU2RkZFO7ZGRkd
q6dWuZxigsLNTp06fVoEEDR9u2bduKjdm7d+8rjpmfn6+8vDynDQAA3LhMC0DHjx9XQUGBvLy8nNq9vLyUn
Z1dpjHeeustnT17VoMHD3a0ZWdnl3vMhIQEeXh4ODYfH59yzAQAAFxvTL8I2mazOb02DKNYW0mSk5M1ZcoU
paSkyNPT86rGjIuLU25urmM7fPhwOWYAAACuNzXM+uBGjRrJ1dW12MpMTk5OsRWc30tJSdGIESP0ySef6J5
77nF6r0mTJuUe0263y263l3MGAADgemXaClCtWrUUFBSk1NRUp/bU1FSFhYWVul9ycrKGDx+upUuXqm/
f4hcXhoaGFhvzq6+
+uuKYAADAWkxbAZKk2NhYRUdHKzg4WKGhoVqwYIEyMzMVExMjqejU1JEjR7RkyRJJReFn6NChmjVrlrp06e
JY6aldu7Y8PDwkSWPHjlW3bt00Y8YMDRgwQJ999pnWrl2rLVu2mDNJAABwzTH1GqCoqCglJiZq2rRp6tChg
zZt2qTVq1fL19dXkpSVleX0TKC//vWvunTpksaMGSNvb2/
HNnbsWEefsLAwLVu2TIsWLVK7du2UlJSklJQUhYSEVPv8AADAtcnU5wBdq3gOEGAOngME4GpcF88BAgAAMA
sBCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWA4BCAAAWI6pX4YKACiOr
wQBqh4rQAAAwHJYAQJMxr/
2AaD6sQIEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAA
AshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAsh
wAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAE
AAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAA
shwAEAAAshwAEAAAsp0IBKCkpSefOnavsWgAAAKpFhQJQXFycmjRpohEjRmjr1q2VXRMAAECVqlAA+umnn/
TRRx/pl19+Uc+ePeXv768ZM2YoOzu7susDAACodBUKQK6urrr//vu1YsUKHT58WKNGjdLf//53NW/
eXPfff78+++wzFRYWlmmsuXPnys/
PT25ubgoKCtLmzZtL7ZuVlaVHH31UrVu3louLi8aNG1esT1JSkmw2W7Ht/
PnzFZkqAAC4AV31RdCenp7q2rWrQkND5eLiom+//VbDhw/
Xrbfeqg0bNlxx35SUFI0bN07x8fFKT09XeHi4+vTpo8zMzBL75+fnq3HjxoqPj1f79u1LHdfd3V1ZWVlOm5
ub29VMEwAA3EAqHIB+/vlnvfnmm2rTpo169OihvLw8ff755zp48KCOHj2qBx98UMOGDbviGG+//
bZGjBihkSNHKiAgQImJifLx8dG8efNK7N+iRQvNmjVLQ4cOlYeHR6nj2mw2NWnSxGkDAAC4rEIBqH///
vLx8VFSUpKefPJJHTlyRMnJybrnnnskSbVr19Zzzz2nw4cPlzrGhQsXlJaWpsjISKf2yMjIq76w+syZM/
L19VWzZs3Ur18/
paenX9V4AADgxlKjIjt5enpq48aNCg0NLbWPt7e3Dh48WOr7x48fV0FBgby8vJzavby8rupian9/
fyUlJemOO+5QXl6eZs2apa5du2r37t26/fbbS9wnPz9f+fn5jtd5eXkV/
nwAAHDtq9AKUPfu3dWpU6di7RcuXNCSJUskFZ2G8vX1/cOxbDab02vDMIq1lUeXLl00ZMgQtW/
fXuHh4fr444/VqlUrzZ49u9R9EhIS5OHh4dh8fHwq/PkAAODaV6EA9Pjjjys3N7dY++nTp/
X444+XaYxGjRrJ1dW12GpPTk5OsVWhq+Hi4qI777xT+/fvL7VPXFyccnNzHduVTt0BAIDrX4UCUGmrND/
99NMVL07+rVq1aikoKEipqalO7ampqQoLC6tIWSUyDEMZGRny9vYutY/
dbpe7u7vTBgAAblzlugaoY8eOjufq9OrVSzVq/
Lp7QUGBDh48qHvvvbfM48XGxio6OlrBwcEKDQ3VggULlJmZqZiYGElFKzNHjhxxnFaTpIyMDElFFzofO3ZM
GRkZqlWrlgIDAyVJU6dOVZcuXXT77bcrLy9P7777rjIyMjRnzpzyTBUAANzAyhWABg4cKKkohPTu3Vt169Z
1vFerVi21aNFCgwYNKvN4UVFROnHihKZNm6asrCy1bdtWq1evdlw7lJWVVeyZQB07dnT8nJaWpqVLl8rX11
eHDh2SJJ06dUqjRo1Sdna2PDw81LFjR23atEmdO3cuz1QBAMANzGYYhlHenRYvXqyoqKgb9uGCeXl58vDwU
G5uLqfDUOVavPiF2SVUukPT+1ZoP45FEY4DUDHl+f1dodvg/+gBhwAAANeyMgegBg0aaN+
+fWrUqJHq169/xVvVT548WSnFAQAAVIUyB6B33nlH9erVc/x8Nc/
qAQAAMFOZA9BvT3sNHz68KmoBAACoFmUOQOX5egguHAYAANeyMgegm2++
+Q9Pe11+QGJBQcFVFwYAAFBVyhyA1q9fX5V1AAAAVJsyB6Du3btXZR0AAADVpswB6JtvvlHbtm3l4uKib77
55op927Vrd9WFAQAAVJUyB6AOHTooOztbnp6e6tChg2w2m0p6iDTXAAEAgGtdmQPQwYMH1bhxY8fPAAAA16
syB6DLX1D6+58BAACuNxX6LjBJ2rt3r2bPnq09e/bIZrPJ399fzzzzjFq3bl2Z9QEAAFQ6l4rs9I9//
ENt27ZVWlqa2rdvr3bt2mnXrl1q27atPvnkk8quEQAAoFJVaAXoL3/5i+Li4jRt2jSn9smTJ2vChAn605/+
VCnFAQAAVIUKrQBlZ2dr6NChxdqHDBmi7Ozsqy4KAACgKlUoAPXo0UObN28u1r5lyxaFh4dfdVEAAABVqcy
nwFatWuX4+f7779eECROUlpamLl26SJK2b9+uTz75RFOnTq38KgEAACpRmQPQwIEDi7XNnTtXc+fOdWobM2
aMYmJirrowAACAqlLmAFRYWFiVdQAAAFSbCl0DBAAAcD2r8IMQz549q40bNyozM1MXLlxweu/
ZZ5+96sIAAACqSoUCUHp6uu677z6dO3dOZ8+eVYMGDXT8+HHddNNN8vT0JAABAIBrWoVOgY0fP179+/
fXyZMnVbt2bW3fvl0//vijgoKC9Oabb1Z2jQAAAJWqQgEoIyNDzz33nFxdXeXq6qr8/
Hz5+Pho5syZmjhxYmXXCAAAUKkqFIBq1qwpm80mSfLy8lJmZqYkycPDw/
EzAADAtapC1wB17NhRO3fuVKtWrdSzZ0+9/
PLLOn78uD788EPdcccdlV0jAABAparQCtDrr78ub29vSdIrr7yihg0b6umnn1ZOTo4WLFhQqQUCAABUtgqt
AAUHBzt+bty4sVavXl1pBQEAAFS1Cj8HSJJycnK0d+9e2Ww2tW7dWo0bN66sumABLV78wuwSKt2h6X3NLgG
4YfB3BKpShU6B5eXlKTo6Wrfccou6d++ubt26qWnTphoyZIhyc3Mru0YAAIBKVaEANHLkSH399df6/
PPPderUKeXm5urzzz/
Xzp079eSTT1Z2jQAAAJWqQqfAvvjiC61Zs0Z33XWXo6137956//33de+991ZacQAAAFWhQitADRs2lIeHR7
F2Dw8P1a9f/
6qLAgAAqEoVCkAvvfSSYmNjlZWV5WjLzs7WCy+8oEmTJlVacQAAAFWhzKfAOnbs6Hj6syTt379fvr6+at68
uSQpMzNTdrtdx44d01NPPVX5lQIAAFSSMgeggQMHVmEZAAAA1afMAWjy5MlVWQcAAEC1uaoHIaalpWnPnj2
y2WwKDAxUx44dK6suAACAKlOhAJSTk6OHH35YGzZs0M033yzDMJSbm6uePXtq2bJlPBEaAABc0yp0F9gzzz
yjvLw8ff/99zp58qR++eUXfffdd8rLy9Ozzz5b2TUCAABUqgqtAP3rX//
S2rVrFRAQ4GgLDAzUnDlzFBkZWWnFAQAAVIUKrQAVFhaqZs2axdpr1qypwsLCqy4KAACgKlUoAN19990aO3
asjh496mg7cuSIxo8fr169elVacQAAAFWhQgHovffe0+nTp9WiRQvdeuutuu222+Tn56fTp09r9uzZlV0jA
ABAparQNUA+Pj7atWuXUlNT9d///leGYSg
wMFD33HNPZdcHAABQ6codgC5duiQ3NzdlZGQoIiJCERERVVEXAABAlSn3KbAaNWrI19dXBQUFVVEPAABAla
vwt8HHxcXp5MmTlV0PAABAlavQNUDvvvuu/ve//
6lp06by9fVVnTp1nN7ftWtXpRQHAABQFSoUgAYOHCibzSbDMCq7HgAAgCpXrgB07tw5vfDCC/
r000918eJF9erVS7Nnz1ajRo2qqj4AAIBKV65rgCZPnqykpCT17dtXjzzyiNauXaunn366qmoDAACoEuVaA
VqxYoUWLlyohx9+WJL02GOPqWvXriooKJCrq2uVFAgAAFDZyrUCdPjwYYWHhzted+7cWTVq1HD6SgwAAIBr
XbkCUEFBgWrVquXUVqNGDV26dKlSiwIAAKhK5ToFZhiGhg8fLrvd7mg7f/
68YmJinG6FX7FiReVVCAAAUMnKFYCGDRtWrG3IkCGVVgwAAEB1KFcAWrRoUVXVAQAAUG0q9FUYAAAA1zPTA
9DcuXPl5+cnNzc3BQUFafPmzaX2zcrK0qOPPqrWrVvLxcVF48aNK7Hf8uXLFRgYKLvdrsDAQK1cubKKqgcA
ANcjUwNQSkqKxo0bp/j4eKWnpys8PFx9+vRRZmZmif3z8/
PVuHFjxcfHq3379iX22bZtm6KiohQdHa3du3crOjpagwcP1tdff12VUwEAANcRUwPQ22+/
rREjRmjkyJEKCAhQYmKifHx8NG/evBL7t2jRQrNmzdLQoUPl4eFRYp/ExERFREQoLi5O/
v7+iouLU69evZSYmFiFMwEAANcT0wLQhQsXlJaWpsjISKf2yMhIbd26tcLjbtu2rdiYvXv3vuKY+fn5ysvL
c9oAAMCNy7QAdPz4cRUUFMjLy8up3cvLS9nZ2RUeNzs7u9xjJiQkyMPDw7H5+PhU+PMBAMC1z/
SLoG02m9NrwzCKtVX1mHFxccrNzXVshw8fvqrPBwAA17ZyPQeoMjVq1Eiurq7FVmZycnKKreCUR5MmTco9p
t1ud3q6NQAAuLGZtgJUq1YtBQUFKTU11ak9NTVVYWFhFR43NDS02JhfffXVVY0JAABuLKatAElSbGysoqOj
FRwcrNDQUC1YsECZmZmKiYmRVHRq6siRI1qyZIljn4yMDEnSmTNndOzYMWVkZKhWrVoKDAyUJI0dO1bdunX
TjBkzNGDAAH322Wdau3attmzZUu3zAwAA1yZTA1BUVJROnDihadOmKSsrS23bttXq1avl6+srqejBh79/
JlDHjh0dP6elpWnp0qXy9fXVoUOHJElhYWFatmyZXnrpJU2aNEm33nqrUlJSFBISUm3zAgAA1zZTA5AkjR4
9WqNHjy7xvaSkpGJthmH84ZgPPfSQHnrooastDQAA3KBMvwsMAACguhGAAACA5RCAAACA5RCAAACA5RCAAA
CA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5
RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCA
AACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAAC
A5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5RCAAACA5d
QwuwAravHiF2aXUOkOTe9rdgkAcMPi90blYwUIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYD
gEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYjukBaO7cufLz85Obm5uCgoK0efPmK/
bfuHGjgoKC5ObmppYtW2r+/PlO7yclJclmsxXbzp8/
X5XTAAAA1xFTA1BKSorGjRun+Ph4paenKzw8XH369FFmZmaJ/Q8ePKj77rtP4eHhSk9P18SJE/
Xss89q+fLlTv3c3d2VlZXltLm5uVXHlAAAwHWghpkf/
vbbb2vEiBEaOXKkJCkxMVFr1qzRvHnzlJCQUKz//Pnz1bx5cyUmJkqSAgICtHPnTr355psaNGiQo5/
NZlOTJk2qZQ4AAOD6Y9oK0IULF5SWlqbIyEin9sjISG3durXEfbZt21asf+/
evbVz505dvHjR0XbmzBn5+vqqWbNm6tevn9LT069YS35+vvLy8pw2AABw4zItAB0/
flwFBQXy8vJyavfy8lJ2dnaJ+2RnZ5fY/9KlSzp+/Lgkyd/fX0lJSVq1apWSk5Pl5uamrl27av/+/
aXWkpCQIA8PD8fm4+NzlbMDAADXMtMvgrbZbE6vDcMo1vZH/X/
b3qVLFw0ZMkTt27dXeHi4Pv74Y7Vq1UqzZ88udcy4uDjl5uY6tsOHD1d0OgAA4Dpg2jVAjRo1kqura7HVnp
ycnGKrPJc1adKkxP41atRQw4YNS9zHxcVFd9555xVXgOx2u+x2ezlnAAAArlemrQDVqlVLQUFBSk1NdWpPT
U1VWFhYifuEhoYW6//VV18pODhYNWvWLHEfwzCUkZEhb2/vyikcAABc90w9BRYbG6u//
e1v+uCDD7Rnzx6NHz9emZmZiomJkVR0amro0KGO/jExMfrxxx8VGxurPXv26IMPPtDChQv1/PPPO/
pMnTpVa9as0Q8//
KCMjAyNGDFCGRkZjjEBAABMvQ0+KipKJ06c0LRp05SVlaW2bdtq9erV8vX1lSRlZWU5PRPIz89Pq1ev1vjx
4zVnzhw1bdpU7777rtMt8KdOndKoUaOUnZ0tDw8PdezYUZs2bVLnzp2rfX4AAODaZGoAkqTRo0dr9OjRJb6
XlJRUrK179+7atWtXqeO98847eueddyqrPAAAcAMy/
S4wAACA6kYAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMA
AgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgA
AlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlk
MAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAA
gAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAA
lkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlkMAAgAAlmN6AJo7d678/
Pzk5uamoKAgbd68+Yr9N27cqKCgILm5ually5aaP39+sT7Lly9XYGCg7Ha7AgMDtXLlyqoqHwAAXIdMDUAp
KSkaN26c4uPjlZ6ervDwcPXp00eZmZkl9j948KDuu+8+hYeHKz09XRMnTtSzzz6r5cuXO/
ps27ZNUVFRio6O1u7duxUdHa3Bgwfr66+/rq5pAQCAa5ypAejtt9/
WiBEjNHLkSAUEBCgxMVE+Pj6aN29eif3nz5+v5s2bKzExUQEBARo5cqSeeOIJvfnmm44+iYmJioiIUFxcnP
z9/RUXF6devXopMTGxmmYFAACudaYFoAsXLigtLU2RkZFO7ZGRkdq6dWuJ+2zbtq1Y/
969e2vnzp26ePHiFfuUNiYAALCeGmZ98PHjx1VQUCAvLy+ndi8vL2VnZ5e4T3Z2don9L126pOPHj8vb27vU
PqWNKUn5+fnKz893vM7NzZUk5eXllWtOZVWYf65KxjVTRY4Vx6EIx+FXHIsiHIciHIdfcSzKN6ZhGH/
Y17QAdJnNZnN6bRhGsbY/6v/79vKOmZCQoKlTpxZr9/
HxKb1wOPFINLuCawPHoQjH4VcciyIchyIch19V5bE4ffq0PDw8rtjHtADUqFEjubq6FluZycnJKbaCc1mTJ
k1K7F+jRg01bNjwin1KG1OS4uLiFBsb63hdWFiokydPqmHDhlcMTteyvLw8+fj46PDhw3J3dze7HFNxLIpw
HIpwHH7FsSjCcShyIxwHwzB0+vRpNW3a9A/7mhaAatWqpaCgIKWmpuqBBx5wtKempmrAgAEl7hMaGqp//
vOfTm1fffWVgoODVbNmTUef1NRUjR8/3qlPWFhYqbXY7XbZ7Xantptvvrm8U7omubu7X7d/
kCsbx6IIx6EIx+FXHIsiHIci1/
tx+KOVn8tMPQUWGxur6OhoBQcHKzQ0VAsWLFBmZqZiYmIkFa3MHDlyREuWLJEkxcTE6L333lNsbKyefPJJb
du2TQsXLlRycrJjzLFjx6pbt26aMWOGBgwYoM8+
+0xr167Vli1bTJkjAAC49pgagKKionTixAlNmzZNWVlZatu2rVavXi1fX19JUlZWltMzgfz8/
LR69WqNHz9ec+bMUdOmTfXuu+9q0KBBjj5hYWFatmyZXnrpJU2aNEm33nqrUlJSFBISUu3zAwAA1ybTL4Ie
PXq0Ro8eXeJ7SUlJxdq6d+
+uXbt2XXHMhx56SA899FBllHfdstvtmjx5crFTe1bEsSjCcSjCcfgVx6IIx6GI1Y6DzSjLvWIAAAA3ENO/
CwwAAKC6EYAAAIDlEIAAAIDlEIAAAIDlEIBuMAkJCbrzzjtVr149eXp6auDAgdq7d6/
ZZVW7efPmqV27do4HeoWGhurLL780uyzTJSQkyGazady4cWaXUu2mTJkim83mtDVp0sTsskxx5MgRDRkyRA
0bNtRNN92kDh06KC0tzeyyql2LFi2K/
Zmw2WwaM2aM2aVVq0uXLumll16Sn5+fateurZYtW2ratGkqLCw0u7QqZfpt8KhcGzdu1JgxY3TnnXfq0qVL
io+PV2RkpP7zn/
+oTp06ZpdXbZo1a6bp06frtttukyQtXrxYAwYMUHp6utq0aWNydebYsWOHFixYoHbt2pldimnatGmjtWvXO
l67urqaWI05fvnlF3Xt2lU9e/bUl19+KU9PTx04cOCGefp9eezYsUMFBQWO1999950iIiL0pz/
9ycSqqt+MGTM0f/
58LV68WG3atNHOnTv1+OOPy8PDQ2PHjjW7vCrDbfA3uGPHjsnT01MbN25Ut27dzC7HVA0aNNAbb7yhESNGm
F1KtTtz5ow6deqkuXPn6tVXX1WHDh2UmJhodlnVasqUKfr000+VkZFhdimmevHFF/V///d/
2rx5s9mlXHPGjRunzz//
XPv3779uvweyIvr16ycvLy8tXLjQ0TZo0CDddNNN+vDDD02srGpxCuwGl5ubK6nol79VFRQUaNmyZTp79qx
CQ0PNLscUY8aMUd++fXXPPfeYXYqp9u/fr6ZNm8rPz08PP/ywfvjhB7NLqnarVq1ScHCw/
vSnP8nT01MdO3bU+++/b3ZZprtw4YI+
+ugjPfHEE5YKP5J01113ad26ddq3b58kaffu3dqyZYvuu+8+kyurWpwCu4EZhqHY2Fjdddddatu2rdnlVLt
vv/1WoaGhOn/
+vOrWrauVK1cqMDDQ7LKq3bJly7Rr1y7t2LHD7FJMFRISoiVLlqhVq1b6+eef9eqrryosLEzff/
+9GjZsaHZ51eaHH37QvHnzFBsbq4kTJ+rf//
63nn32Wdntdg0dOtTs8kzz6aef6tSpUxo+fLjZpVS7CRMmKDc3V/7+/
nJ1dVVBQYFee+01PfLII2aXVrUM3LBGjx5t+Pr6GocPHza7FFPk5+cb+/fvN3bs2GG8+OKLRqNGjYzvv//
e7LKqVWZmpuHp6WlkZGQ42rp3726MHTvWvKKuEWfOnDG8vLyMt956y+xSqlXNmjWN0NBQp7ZnnnnG6NKli0
kVXRsiIyONfv36mV2GKZKTk41mzZoZycnJxjfffGMsWbLEaNCggZGUlGR2aVWKAHSD+vOf/
2w0a9bM+OGHH8wu5ZrRq1cvY9SoUWaXUa1WrlxpSDJcXV0dmyTDZrMZrq6uxqVLl8wu0VT33HOPERMTY3YZ
1ap58+bGiBEjnNrmzp1rNG3a1KSKzHfo0CHDxcXF+PTTT80uxRTNmjUz3nvvPae2V155xWjdurVJFVUPToH
dYAzD0DPPPKOVK1dqw4YN8vPzM7uka4ZhGMrPzze7jGrVq1cvffvtt05tjz/+uPz9/
TVhwgRL3gV1WX5+vvbs2aPw8HCzS6lWXbt2LfZojH379snX19ekisy3aNEieXp6qm/
fvmaXYopz587JxcX5kmBXV1dug8f1ZcyYMVq6dKk+++wz1atXT9nZ2ZIkDw8P1a5d2+Tqqs/
EiRPVp08f+fj46PTp01q2bJk2bNigf/3rX2aXVq3q1atX7PqvOnXqqGHDhpa7Luz5559X//
791bx5c+Xk5OjVV19VXl6ehg0bZnZp1Wr8+PEKCwvT66+/rsGDB+vf//
63FixYoAULFphdmikKCwu1aNEiDRs2TDVqWPNXYv/+/fXaa6+pefPmatOmjdLT0/X222/
riSeeMLu0qmX2EhQql6QSt0WLFpldWrV64oknDF9fX6NWrVpG48aNjV69ehlfffWV2WVdE6x6DVBUVJTh7e
1t1KxZ02jatKnx4IMPWu6asMv++c9/
Gm3btjXsdrvh7+9vLFiwwOySTLNmzRpDkrF3716zSzFNXl6eMXbsWKN58+aGm5ub0bJlSyM+Pt7Iz883u7Q
qxXOAAACA5fAcIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIACWd+7cOQ0aNE
ju7u6y2Ww6depUmfabMmWKOnTo4Hg9fPhwDRw4sEpqBFC5CEAAKl1OTo6eeuopNW/
eXHa7XU2aNFHv3r21bds2s0sr0eLFi7V582Zt3bpVWVlZ8vDwqNA4s2bNUlJSUuUWB6BKWPOLTwBUqUGDBu
nixYtavHixWrZsqZ9//
lnr1q3TyZMnzS6tRAcOHFBAQMBVfz9aRYMTgOrHChCASnXq1Clt2bJFM2bMUM+ePeXr66vOnTsrLi7O8W3b
hw4dks1mU0ZGhtN+NptNGzZskCRt2LBBNptNa9asUceOHVW7dm3dfffdysnJ0ZdffqmAgAC5u7vrkUce0bl
z565Y0/
Lly9WmTRvZ7Xa1aNFCb731luO9Hj166K233tKmTZtks9nUo0ePUseZPn26vLy8VK9ePY0YMULnz593ev/
3p8AKCws1Y8YM3XbbbbLb7WrevLlee+01x/
tHjhxRVFSU6tevr4YNG2rAgAE6dOjQlQ8wgEpBAAJQqerWrau6devq008/VX5+/
lWPN2XKFL333nvaunWrDh8+rMGDBysxMVFLly7VF198odTUVM2ePbvU/dPS0jR48GA9/
PDD+vbbbzVlyhRNmjTJcapqxYoVevLJJxUaGqqsrCytWLGixHE+/
vhjTZ48Wa+99pp27twpb29vzZ0794q1x8XFacaMGZo0aZL+85//
aOnSpfLy8pJUdN1Rz549VbduXW3atElbtmxR3bp1de+99+rChQsVO1gAys7sb2MFcOP5xz/
+YdSvX99wc3MzwsLCjLi4OGP37t2O9w8ePGhIMtLT0x1tv/zyiyHJWL9+vWEYhrF+/
XpDkrF27VpHn4SEBEOSceDAAUfbU089ZfTu3bvUWh599FEjIiLCqe2FF14wAgMDHa/Hjh1rdO/e/
YpzCg0NNWJiYpzaQkJCjPbt2zteDxs2zBgwYIBhGEXfsG23243333+/
xPEWLlxotG7d2igsLHS05efnG7Vr1zbWrFlzxVoAXD1WgABUukGDBuno0aNatWqVevfurQ0bNqhTp04VukC
4Xbt2jp+9vLx00003qWXLlk5tOTk5pe6/Z88ede3a1amta9eu2r9/vwoKCspcx549exQaGurU9vvXv+
+fn5+vXr16lfh+Wlqa/ve//6levXqOVbMGDRro/
PnzOnDgQJnrAlAxXAQNoEq4ubkpIiJCERERevnllzVy5EhNnjxZw4cPl4tL0b+9DMNw9L948WKJ49SsWdPx
s81mc3p9ua2wsLDUOgzDkM1mK9ZW1WrXrn3F9wsLCxUUFKS///3vxd5r3LhxVZUF4P/
HChCAahEYGKizZ89K+vUXfFZWluP9314QXdmfu2XLFqe2rVu3qlWrVnJ1dS3zOAEBAdq+fbtT2+9f/
9btt9+u2rVra926dSW+36lTJ+3fv1+enp667bbbnDbuJgOqHgEIQKU6ceKE7r77bn300Uf65ptvdPDgQX3y
ySeaOXOmBgwYIKlodaRLly6aPn26/vOf/2jTpk166aWXqqSe5557TuvWrdMrr7yiffv2afHixXrvvff0/
PPPl2ucsWPH6oMPPtAHH3ygffv2afLkyfr+++9L7e/m5qYJEyboL3/5i5YsWaIDBw5o+/
btWrhwoSTpscceU6NGjTRgwABt3rxZBw8e1MaNGzV27Fj99NNPVzVnAH+MU2AAKlXdunUVEhKid955RwcOH
NDFixfl4+OjJ598UhMnTnT0++CDD/TEE08oODhYrVu31syZMxUZGVnp9XTq1Ekff/
yxXn75Zb3yyivy9vbWtGnTNHz48HKNExUVpQMHDmjChAk6f/
68Bg0apKefflpr1qwpdZ9JkyapRo0aevnll3X06FF5e3srJiZGknTTTTdp06ZNmjBhgh588EGdPn1at9xyi
3r16iV3d/
ermTKAMrAZ1XEyHAAA4BrCKTAAAGA5BCAAAGA5BCAAAGA5BCAAAGA5BCAAAGA5BCAAAGA5BCAAAGA5BCAAA
GA5BCAAAGA5BCAAAGA5BCAAAGA5BCAAAGA5/x/e/In0wDwBewAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# You can use this cell for your calculations (not graded)\n",
"np.random.seed(0)\n",
"num_trials = 1000000\n",
"first_throw = np.random.choice([1, 2, 3, 4], size=num_trials)\n",
"second_throw = np.random.choice([1, 2, 3, 4], size=num_trials)\n",
"sums = first_throw + second_throw\n",
"\n",
"plt.hist(sums, bins=range(2, 10), align='left', rwidth=0.8, density=True)\n",
"plt.xticks(range(2, 9))\n",
"plt.xlabel('Sum of dice')\n",
"plt.ylabel('Probability')\n",
"plt.title('Histogram of sum')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "e0a24beb",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "47977d77817546c2a4da2c832ae7acb6",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"FloatText(value=0.0, description='P for sum=2|8',
style=DescriptionStyle(description_width='initial'))"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "f576bd50366a416499b7adc2d2e8da9f",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"FloatText(value=0.0, description='P for sum=3|7:',
style=DescriptionStyle(description_width='initial'))"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7d1fc687d2da4c44b6ef98176b508b91",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"FloatText(value=0.0, description='P for sum=4|6:',
style=DescriptionStyle(description_width='initial'))"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "1244e3b8c57846cfaed1347bd214a181",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"FloatText(value=0.0, description='P for sum=5:',
style=DescriptionStyle(description_width='initial'))"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "f41706179b0a4dc7b2ff97982b68f552",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Button(button_style='success', description='Save your answer!',
style=ButtonStyle())"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "d88cfd196c8f48f19f04470543052347",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Run this cell to submit your answer\n",
"utils.exercise_3()"
]
},
{
"cell_type": "markdown",
"id": "108837bd",
"metadata": {},
"source": [
"## Exercise 4:\n",
"\n",
"Using the same scenario as in the previous exercise. Compute the mean and
variance of the sum of the two throws and the covariance between the first and the
second throw:\n",
"\n",
"<img src=\"./images/4_sided_hist_no_prob.png\" style=\"height: 300px;\"/>\n",
"\n",
"\n",
"Hints:\n",
"- You can use
[np.cov](https://numpy.org/doc/stable/reference/generated/numpy.cov.html) to
compute the covariance of two numpy arrays (this may not be needed for this
particular exercise)."
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "f4eadc3c",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Mean of sum: 5.000\n",
"Variance of sum: 2.499\n",
"Covariance between first and second throw: -0.001\n"
]
}
],
"source": [
"# You can use this cell for your calculations (not graded)\n",
"np.random.seed(0)\n",
"num_trials = 1000000\n",
"first_throw = np.random.choice([1, 2, 3, 4], size=num_trials)\n",
"second_throw = np.random.choice([1, 2, 3, 4], size=num_trials)\n",
"sums = first_throw + second_throw\n",
"\n",
"print(f\"Mean of sum: {np.mean(sums):.3f}\")\n",
"print(f\"Variance of sum: {np.var(sums):.3f}\")\n",
"print(f\"Covariance between first and second throw: {np.cov(first_throw,
second_throw)[0, 1]:.3f}\")"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "4e662b9b",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "6dad6dd34611453aab0722296342f0fe",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"FloatText(value=0.0, description='Mean:')"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ab91b014e0d4485b858f22a39fc171f2",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"FloatText(value=0.0, description='Variance:')"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "cbf34ec9760a437b9e3a787d502e2929",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"FloatText(value=0.0, description='Covariance:')"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "de3d16c3813943a492951de7dea87dfa",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Button(button_style='success', description='Save your answer!',
style=ButtonStyle())"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "3ef1e07af52a46d6a4d5d44c813e17c1",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Run this cell to submit your answer\n",
"utils.exercise_4()"
]
},
{
"cell_type": "markdown",
"id": "714e099b",
"metadata": {},
"source": [
"## Exercise 5:\n",
"\n",
"\n",
"Now suppose you are have a loaded 4-sided dice (it is loaded so that it lands
twice as often on side 2 compared to the other sides): \n",
"\n",
"\n",
"<img src=\"./images/4_side_uf.png\" style=\"height: 300px;\"/>\n",
"\n",
"You are throwing it two times and recording the sum of each throw. Which of
the following `probability mass functions` will be the one you should get?\n",
"\n",
"<table><tr>\n",
"<td> <img src=\"./images/hist_sum_4_4l.png\" style=\"height: 300px;\"/> </td>\
n",
"<td> <img src=\"./images/hist_sum_4_3l.png\" style=\"height: 300px;\"/> </td>\
n",
"<td> <img src=\"./images/hist_sum_4_uf.png\" style=\"height: 300px;\"/> </td>\
n",
"</tr></table>"
]
},
{
"cell_type": "markdown",
"id": "ecb27c1b",
"metadata": {},
"source": [
"Hints: \n",
"- You can use the `p` parameter of
[np.random.choice](https://numpy.org/doc/stable/reference/random/generated/
numpy.random.choice.html) to simulate a loaded dice."
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "a35573ec",
"metadata": {},
"outputs": [
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAAkAAAAHFCAYAAAAaD0bAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIH
ZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpA
AA25klEQVR4nO3deVhWdf7/8dcN6o2p4ApqImKNCzoqQiIYLpmoqWnpSIuopZXhlEo1imQuLaQtYuaSjYrW
V6RGLadsDL1cv2qjCLY56pgGKYRLgstXVDi/P/h51x1ggMBRz/NxXeea+/6cz/
mc9znTFa8+Z7lthmEYAgAAsBAXswsAAACobAQgAABgOQQgAABgOQQgAABgOQQgAABgOQQgAABgOQQgAABgO
QQgAABgOQQgAABgOQQg4BYTHx8vm82mPXv2FLm+f//
+atasmVNbs2bNNHLkyFLtZ8eOHZo2bZrOnDlTtkItKDExUW3atFH16tVls9mUmppqdkmAZRGAAGjNmjWaMm
VKqbbZsWOHpk+fTgAqoRMnTigiIkJ33HGH/vWvf2nnzp1q0aKF2WUBllXF7AIAmM/f39/
sEkrt8uXLstlsqlLl5vjX2MGDB3X58mUNGzZM3bp1M7scwPKYAQJQ6BJYfn6+XnnlFbVs2VLVq1dX7dq11a
5dO82ZM0eSNG3aNL3wwguSJF9fX9lsNtlsNm3evNmx/
axZs9SqVSvZ7XZ5enpq+PDh+umnn5z2axiGXnvtNfn4+MjNzU2BgYFKSkpS9+7d1b17d0e/
zZs3y2az6YMPPtBzzz2n22+/XXa7Xf/973914sQJRUZGys/
PTzVr1pSnp6fuuecebdu2zWlfR48elc1m0xtvvKGZM2eqWbNmql69urp37+4IJ5MmTVLjxo3l4eGhBx54QF
lZWSU6f2vXrlVwcLBuu+021apVS7169dLOnTsd60eOHKm7775bkhQeHi6bzeZ0fL934cIFPf/88/
L19ZWbm5vq1q2rwMBAJSQkOPr8/hz9dl+/
vcRZkccN3Mxujv90AlBqeXl5unLlSqF2wzD+cNtZs2Zp2rRpevHFF9W1a1ddvnxZ//
nPfxyXu0aPHq3Tp09r7ty5Wr16tRo1aiRJ8vPzkyQ9/fTTWrRokf7617+qf//
+Onr0qKZMmaLNmzdr7969ql+/viQpJiZGsbGxevLJJ/
Xggw8qPT1do0eP1uXLl4u8PBQdHa3g4GAtXLhQLi4u8vT01IkTJyRJU6dOVcOGDXXu3DmtWbNG3bt318aNG
wuFhHnz5qldu3aaN2+ezpw5o+eee04DBgxQUFCQqlatqiVLlujHH3/U888/
r9GjR2vt2rXXPFcrVqzQo48+qrCwMCUkJCg3N1ezZs1y7P/uu+/
WlClT1KlTJ40dO1avvfaaevToIXd392LHjIqK0gcffKBXXnlF/v7+On/+vL799ludOnXqD/+/
K055Hzdw0zMA3FKWLl1qSLrm4uPj47SNj4+PMWLECMf3/
v37Gx06dLjmft544w1DknHkyBGn9v379xuSjMjISKf2r776ypBkTJ482TAMwzh9+rRht9uN8PBwp347d+40
JBndunVztG3atMmQZHTt2vUPj//KlSvG5cuXjZ49exoPPPCAo/3IkSOGJKN9+/ZGXl6eoz0uLs6QZNx///
1O44wfP96QZGRnZxe7r7y8PKNx48bGn//8Z6cxz549a3h6ehohISGFjuHjjz/
+w2No27atMWjQoGv26datm9M5umrEiBFO//
9WxHEDtwIugQG3qOXLl2v37t2FlquXYq6lU6dO2rdvnyIjI7V+/
Xrl5OSUeL+bNm2SpEJPlXXq1EmtW7fWxo0bJUm7du1Sbm6uhg4d6tSvc+fOhZ5Su2rw4MFFti9cuFAdO3aU
m5ubqlSpoqpVq2rjxo3av39/ob733XefXFx+/
Vdf69atJUn9+vVz6ne1PS0trZgjlQ4cOKDjx48rIiLCacyaNWtq8ODB2rVrly5cuFDs9sXp1KmTvvjiC02a
NEmbN2/W//3f/5V6jN8rz+MGbgUEIOAW1bp1awUGBhZaPDw8/
nDb6Ohovfnmm9q1a5f69u2revXqqWfPnsU+Wv9bVy/TXL0s9luNGzd2rL/6v15eXoX6FdVW3Jhvv/
22nn76aQUFBWnVqlXatWuXdu/erT59+hQZHOrWrev0vVq1atdsv3jxYpG1/PYYijvW/Px8/
fLLL8VuX5x33nlHEydO1CeffKIePXqobt26GjRokA4dOlTqsa4qz+MGbgUEIACFVKlSRVFRUdq7d69Onz6t
hIQEpaenq3fv3n84o1GvXj1JUkZGRqF1x48fd9z/c7Xfzz//XKhfZmZmkWPbbLZCbR9++KG6d+
+uBQsWqF+/fgoKClJgYKDOnj177YMsB390rC4uLqpTp06px61Ro4amT5+u//
znP8rMzNSCBQu0a9cuDRgwwNHHzc1Nubm5hbY9efJkqfcHWBEBCMA11a5dW0OGDNHYsWN1+vRpHT16VJJkt
9slqdAsyz333COpIJj81u7du7V//3717NlTkhQUFCS73a7ExESnfrt27dKPP/5Y4vpsNpujlqu+/
vprp6ewKkrLli11++23a8WKFU43l58/f16rVq1yPBl2Pby8vDRy5Eg9/
PDDOnDggCOANmvWTAcPHnQKQadOndKOHTuua3+AVfAUGIBCBgwYoLZt2yowMFANGjTQjz/
+qLi4OPn4+OhPf/qTJOnPf/
6zJGnOnDkaMWKEqlatqpYtW6ply5Z68sknNXfuXLm4uKhv376Op8C8vb01YcIESQWXXqKiohQbG6s6derog
Qce0E8//aTp06erUaNGTverXEv//
v318ssva+rUqerWrZsOHDigGTNmyNfXt8in4MqTi4uLZs2apUcffVT9+/fXU089pdzcXL3xxhs6c+aMXn/
99TKNGxQUpP79+6tdu3aqU6eO9u/frw8++MApUEVEROi9997TsGHD9MQTT+jUqVOaNWvWNZ8uA/
ArAhCAQnr06KFVq1bp73//u3JyctSwYUP16tVLU6ZMUdWqVSUVvIcmOjpay5Yt0/vvv6/8/
Hxt2rTJcTnqjjvu0OLFizVv3jx5eHioT58+io2NdVw2kqRXX31VNWrU0MKFC7V06VK1atVKCxYsUExMjGrX
rl2iWmNiYnThwgUtXrxYs2bNkp+fnxYuXKg1a9Y43ktUkR555BHVqFFDsbGxCg8Pl6urqzp37qxNmzYpJCS
kTGPec889Wrt2rWbPnq0LFy7o9ttv1/DhwxUTE+Po06VLFy1btkyvv/
66Bg4cqObNm2vq1Klat25dpRw3cLOzGUYJXgoCAJXkyJEjatWqlaZOnarJkyebXQ6AWxQBCIBp9u3bp4SEB
IWEhMjd3V0HDhzQrFmzlJOTo2+//bbYp8EA4HpxCQyAaWrUqKE9e/
Zo8eLFOnPmjDw8PNS9e3e9+uqrhB8AFYoZIAAAYDk8Bg8AACyHAAQAACyHAAQAACzH9Jug58+frzfeeEMZG
Rlq06aN4uLiFBoaWmTf1atXa8GCBUpNTVVubq7atGmjadOmqXfv3o4+8fHxeuyxxwpt+3//939yc3MrUU35
+fk6fvy4atWqVeSr9wEAwI3HMAydPXtWjRs3/sOXqZoagBITEzV+/HjNnz9fXbp00Xvvvae+ffvq+++/
V9OmTQv137p1q3r16qXXXntNtWvX1tKlSzVgwAB99dVX8vf3d/S7+jjtb5U0/
EgFv+Hj7e1d9gMDAACmSU9PV5MmTa7Zx9SnwIKCgtSxY0ctWLDA0da6dWsNGjRIsbGxJRqjTZs2Cg8P10sv
vSSpYAZo/
PjxOnPmTJnrys7OVu3atZWens5r5QEAuEnk5OTI29vb8VqNazFtBujSpUtKTk7WpEmTnNrDwsJK/GN+
+fn5Onv2rOrWrevUfu7cOfn4+CgvL08dOnTQyy+/
7DRD9Hu5ublOPyh49Vek3d3dCUAAANxkSnL7imk3QZ88eVJ5eXmFXnbm5eWlzMzMEo3x1ltv6fz58xo6dKi
jrVWrVoqPj9fatWuVkJAgNzc3denSRYcOHSp2nNjYWHl4eDgWLn8BAHBrM/
0psN+nNMMwSpTcEhISNG3aNCUmJsrT09PR3rlzZw0bNkzt27dXaGioPvroI7Vo0UJz584tdqzo6GhlZ2c7l
vT09LIfEAAAuOGZdgmsfv36cnV1LTTbk5WV9YevwE9MTNSoUaP08ccf6957771mXxcXF911113XnAGy2+2y
2+0lLx4AANzUTJsBqlatmgICApSUlOTUnpSUpJCQkGK3S0hI0MiRI7VixQr169fvD/
djGIZSU1PVqFGj664ZAADcGkx9DD4qKkoREREKDAxUcHCwFi1apLS0NI0ZM0ZSwaWpY8eOafny5ZIKws/
w4cM1Z84cde7c2TF7VL16dcfd3tOnT1fnzp31pz/
9STk5OXrnnXeUmpqqefPmmXOQAADghmNqAAoPD9epU6c0Y8YMZWRkqG3btlq3bp18fHwkSRkZGUpLS3P0f+
+993TlyhWNHTtWY8eOdbSPGDFC8fHxkqQzZ87oySefVGZmpjw8POTv76+tW7eqU6dOlXpsAADgxsWvwRchJ
ydHHh4eys7O5jF4AABuEqX5+236U2AAAACVjQAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAshwAEAAAs
hwAEAAAsx9Q3QQOQmk363OwSyt3R1//4d/
qKwrkAUFmYAQIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDA
AIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIA
AJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZ
DAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAA
IAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAA
JZDAAIAAJZDAAIAAJZjegCaP3++fH195ebmpoCAAG3btq3YvqtXr1avXr3UoEEDubu7Kzg4WOvXry/
Ub9WqVfLz85Pdbpefn5/
WrFlTkYcAAABuMqYGoMTERI0fP14xMTFKSUlRaGio+vbtq7S0tCL7b926Vb169dK6deuUnJysHj16aMCAAU
pJSXH02blzp8LDwxUREaF9+/
YpIiJCQ4cO1VdffVVZhwUAAG5wNsMwDLN2HhQUpI4dO2rBggWOttatW2vQoEGKjY0t0Rht2rRReHi4XnrpJ
UlSeHi4cnJy9MUXXzj69OnTR3Xq1FFCQkKJxszJyZGHh4eys7Pl7u5eiiMCSq/ZpM/
NLqHcHX29X5m241wAuB6l+ftt2gzQpUuXlJycrLCwMKf2sLAw7dixo0Rj5Ofn6+zZs6pbt66jbefOnYXG7N
279zXHzM3NVU5OjtMCAABuXVXM2vHJkyeVl5cnLy8vp3YvLy9lZmaWaIy33npL58+f19ChQx1tmZmZpR4zN
jZW06dPL0X1AFBxmAkDKp7pN0HbbDan74ZhFGorSkJCgqZNm6bExER5enpe15jR0dHKzs52LOnp6aU4AgAA
cLMxbQaofv36cnV1LTQzk5WVVWgG5/
cSExM1atQoffzxx7r33nud1jVs2LDUY9rtdtnt9lIeAQAAuFmZNgNUrVo1BQQEKCkpyak9KSlJISEhxW6Xk
JCgkSNHasWKFerXr/CUanBwcKExv/
zyy2uOCQAArMW0GSBJioqKUkREhAIDAxUcHKxFixYpLS1NY8aMkVRwaerYsWNavny5pILwM3z4cM2ZM0edO
3d2zPRUr15dHh4ekqRx48apa9eumjlzpgYOHKhPP/
1UGzZs0Pbt2805SAAAcMMx9R6g8PBwxcXFacaMGerQoYO2bt2qdevWycfHR5KUkZHh9E6g9957T1euXNHYs
WPVqFEjxzJu3DhHn5CQEK1cuVJLly5Vu3btFB8fr8TERAUFBVX68QEAgBuTqTNAkhQZGanIyMgi18XHxzt9
37x5c4nGHDJkiIYMGXKdlQEAgFuV6U+BAQAAVDYCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAA
AsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsB
wCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCE
AAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAA
sBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBw
CEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsJwqZhcA62o26XOzSyh3R1/
vZ3YJAIASYAYIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYjukBaP78+f
L19ZWbm5sCAgK0bdu2YvtmZGTokUceUcuWLeXi4qLx48cX6hMfHy+bzVZouXjxYgUeBQAAuJmYGoASExM1f
vx4xcTEKCUlRaGhoerbt6/
S0tKK7J+bm6sGDRooJiZG7du3L3Zcd3d3ZWRkOC1ubm4VdRgAAOAmY2oAevvttzVq1CiNHj1arVu3VlxcnL
y9vbVgwYIi+zdr1kxz5szR8OHD5eHhUey4NptNDRs2dFoAAACuMi0AXbp0ScnJyQoLC3NqDwsL044dO65r7
HPnzsnHx0dNmjRR//
79lZKScl3jAQCAW4tpAejkyZPKy8uTl5eXU7uXl5cyMzPLPG6rVq0UHx+vtWvXKiEhQW5uburSpYsOHTpU7
Da5ubnKyclxWgAAwK3L9JugbTab03fDMAq1lUbnzp01bNgwtW/fXqGhofroo4/
UokULzZ07t9htYmNj5eHh4Vi8vb3LvH8AAHDjK1MAio+P14ULF65rx/
Xr15erq2uh2Z6srKxCs0LXw8XFRXfdddc1Z4Cio6OVnZ3tWNLT08tt/
wAA4MZTpgAUHR2thg0batSoUWW+X6datWoKCAhQUlKSU3tSUpJCQkLKNGZRDMNQamqqGjVqVGwfu90ud3d3
pwUAANy6yhSAfvrpJ3344Yf65Zdf1KNHD7Vq1UozZ84s9b07UVFR+vvf/64lS5Zo//
79mjBhgtLS0jRmzBhJBUFr+PDhTtukpqYqNTVV586d04kTJ5Samqrvv//
esX769Olav369fvjhB6WmpmrUqFFKTU11jAkAAFClLBu5urrq/
vvv1/3336+srCx9+OGHio+P15QpU9SnTx+NGjVKAwYMkIvLtfNVeHi4Tp06pRkzZigjI0Nt27bVunXr5OPj
I6ngxYe/fyeQv7+/43NycrJWrFghHx8fHT16VJJ05swZPfnkk8rMzJSHh4f8/
f21detWderUqSyHCgAAbkFlCkC/
5enpqS5duujAgQM6ePCgvvnmG40cOVK1a9fW0qVL1b1792tuHxkZqcjIyCLXxcfHF2ozDOOa482ePVuzZ88
uafkAAMCCyvwU2M8//6w333xTbdq0Uffu3ZWTk6PPPvtMR44c0fHjx/
Xggw9qxIgR5VkrAABAuSjTDNCAAQO0fv16tWjRQk888YSGDx+uunXrOtZXr15dzz33HDMxAADghlSmAOTp6
aktW7YoODi42D6NGjXSkSNHylwYAABARSnTJbBu3bqpY8eOhdovXbqk5cuXSyp4weHVm5kBAABuJGUKQI89
9piys7MLtZ89e1aPPfbYdRcFAABQkcoUgIr7uYqffvrpmr/SDgAAcCMo1T1A/
v7+stlsstls6tmzp6pU+XXzvLw8HTlyRH369Cn3IgEAAMpTqQLQoEGDJBW8jbl3796qWbOmY121atXUrFkz
DR48uFwLBAAAKG+lCkBTp06VJDVr1kzh4eFyc3OrkKIAAAAqUpkeg+cFhwAA4GZW4gBUt25dHTx4UPXr11e
dOnWKvAn6qtOnT5dLcQAAABWhxAFo9uzZqlWrluPztQIQAADAjazEAei3l71GjhxZEbUAAABUihIHoJycnB
IP6u7uXqZiAAAAKkOJA1Dt2rX/
8LLX1Rck5uXlXXdhAAAAFaXEAWjTpk0VWQcAAEClKXEA6tatW0XWAQAAUGlKHIC+/
vprtW3bVi4uLvr666+v2bddu3bXXRgAAEBFKXEA6tChgzIzM+Xp6akOHTrIZrPJMIxC/
bgHCAAA3OhKHICOHDmiBg0aOD4DAADcrEocgHx8fIr8DAAAcLMp02+BSdKBAwc0d+5c7d+/
XzabTa1atdIzzzyjli1blmd9AAAA5c6lLBv94x//UNu2bZWcnKz27durXbt22rt3r9q2bauPP/
64vGsEAAAoV2WaAfrb3/6m6OhozZgxw6l96tSpmjhxov7yl7+US3EAAAAVoUwzQJmZmRo+fHih9mHDhikzM
/O6iwIAAKhIZQpA3bt317Zt2wq1b9++XaGhodddFAAAQEUq8SWwtWvXOj7ff//
9mjhxopKTk9W5c2dJ0q5du/Txxx9r+vTp5V8lAABAOSpxABo0aFChtvnz52v+/
PlObWPHjtWYMWOuuzAAAICKUuIAlJ+fX5F1AAAAVJoy3QMEAABwMyvzixDPnz+vLVu2KC0tTZcuXXJa9+yz
z153YQAAABWlTAEoJSVF9913ny5cuKDz58+rbt26OnnypG677TZ5enoSgAAAwA2tTJfAJkyYoAEDBuj06dO
qXr26du3apR9//
FEBAQF68803y7tGAACAclWmAJSamqrnnntOrq6ucnV1VW5urry9vTVr1ixNnjy5vGsEAAAoV2UKQFWrVpXN
ZpMkeXl5KS0tTZLk4eHh+AwAAHCjKtM9QP7+/tqzZ49atGihHj166KWXXtLJkyf1wQcf6M9//
nN51wgAAFCuyjQD9Nprr6lRo0aSpJdffln16tXT008/
raysLC1atKhcCwQAAChvZZoBCgwMdHxu0KCB1q1bV24FAQAAVLQyvwdIkrKysnTgwAHZbDa1bNlSDRo0KK+
6AAAAKkyZLoHl5OQoIiJCt99+u7p166auXbuqcePGGjZsmLKzs8u7RgAAgHJVpgA0evRoffXVV/
rss8905swZZWdn67PPPtOePXv0xBNPlHeNAAAA5apMl8A+//xzrV+/XnfffbejrXfv3nr//
ffVp0+fcisOAACgIpRpBqhevXry8PAo1O7h4aE6depcd1EAAAAVqUwB6MUXX1RUVJQyMjIcbZmZmXrhhRc0
ZcqUcisOAACgIpT4Epi/v7/
j7c+SdOjQIfn4+Khp06aSpLS0NNntdp04cUJPPfVU+VcKAABQTkocgAYNGlSBZQAAAFSeEgegqVOnVmQdAA
AAlea6XoSYnJys/fv3y2azyc/PT/7+/
uVVFwAAQIUpUwDKysrSQw89pM2bN6t27doyDEPZ2dnq0aOHVq5cyRuhAQDADa1MT4E988wzysnJ0XfffafT
p0/rl19+0bfffqucnBw9++yz5V0jAABAuSrTDNC//
vUvbdiwQa1bt3a0+fn5ad68eQoLCyu34gAAACpCmWaA8vPzVbVq1ULtVatWVX5+/
nUXBQAAUJHKFIDuuecejRs3TsePH3e0HTt2TBMmTFDPnj3LrTgAAICKUKYA9O677+rs2bNq1qyZ7rjjDt15
553y9fXV2bNnNXfu3PKuEQAAoFyV6R4gb29v7d27V0l
JSfrPf/4jwzDk5+ene++9t7zrAwAAKHelDkBXrlyRm5ubUlNT1atXL/
Xq1asi6gIAAKgwpb4EVqVKFfn4+CgvL68i6gEAAKhwZf41+OjoaJ0+fbq86wEAAKhwZboH6J133tF///
tfNW7cWD4+PqpRo4bT+r1795ZLcQAAABWhTAFo0KBBstlsMgyjvOsBAACocKUKQBcuXNALL7ygTz75RJcvX
1bPnj01d+5c1a9fv6LqAwAAKHelugdo6tSpio+PV79+/fTwww9rw4YNevrppyuqNgAAgApRqhmg1atXa/
HixXrooYckSY8++qi6dOmivLw8ubq6VkiBAAAA5a1UM0Dp6ekKDQ11fO/UqZOqVKni9JMYpTV//
nz5+vrKzc1NAQEB2rZtW7F9MzIy9Mgjj6hly5ZycXHR+PHji+y3atUq+fn5yW63y8/
PT2vWrClzfQAA4NZTqgCUl5enatWqObVVqVJFV65cKdPOExMTNX78eMXExCglJUWhoaHq27ev0tLSiuyfm5
urBg0aKCYmRu3bty+yz86dOxUeHq6IiAjt27dPERERGjp0qL766qsy1QgAAG49pboEZhiGRo4cKbvd7mi7e
PGixowZ4/Qo/
OrVq0s03ttvv61Ro0Zp9OjRkqS4uDitX79eCxYsUGxsbKH+zZo105w5cyRJS5YsKXLMuLg49erVS9HR0ZKk
6OhobdmyRXFxcUpISCjZgQIAgFtaqQLQiBEjCrUNGzasTDu+dOmSkpOTNWnSJKf2sLAw7dixo0xjSgUzQBM
mTHBq6927t+Li4ordJjc3V7m5uY7vOTk5Zd4/
AAC48ZUqAC1durTcdnzy5Enl5eXJy8vLqd3Ly0uZmZllHjczM7PUY8bGxmr69Oll3icAALi5lOmnMMqTzWZ
z+m4YRqG2ih4zOjpa2dnZjiU9Pf269g8AAG5sZXoTdHmoX7+
+XF1dC83MZGVlFZrBKY2GDRuWeky73e50XxMAALi1mTYDVK1aNQUEBCgpKcmpPSkpSSEhIWUeNzg4uNCYX3
755XWNCQAAbi2mzQBJUlRUlCIiIhQYGKjg4GAtWrRIaWlpGjNmjKSCS1PHjh3T8uXLHdukpqZKks6dO6cTJ
04oNTVV1apVk5+fnyRp3Lhx6tq1q2bOnKmBAwfq008/1YYNG7R9+/
ZKPz4AAHBjMjUAhYeH69SpU5oxY4YyMjLUtm1brVu3Tj4+PpIKXnz4+3cC+fv7Oz4nJydrxYoV8vHx0dGjR
yVJISEhWrlypV588UVNmTJFd9xxhxITExUUFFRpxwUAAG5spgYgSYqMjFRkZGSR6+Lj4wu1leQX6IcMGaIh
Q4Zcb2kAAOAWZfpTYAAAAJWNAAQAACyHAAQAACyHAAQAACyHAAQAACyHAAQAACyHAAQAACyHAAQAACyHAAQ
AACyHAAQAACyHAAQAACyHAAQAACyHAAQAACyHAAQAACyHAAQAACyHAAQAACyHAAQAACyHAAQAACyHAAQAAC
yHAAQAACyHAAQAACyHAAQAACynitkFAABQlGaTPje7hHJ39PV+ZpeA/
48ZIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkE
IAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAA
AYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYD
kEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDmmB6D58+fL19dXbm5uC
ggI0LZt267Zf8uWLQoICJCbm5uaN2+uhQsXOq2Pj4+XzWYrtFy8eLEiDwMAANxETA1AiYmJGj9+vGJiYpSS
kqLQ0FD17dtXaWlpRfY/cuSI7rvvPoWGhiolJUWTJ0/
Ws88+q1WrVjn1c3d3V0ZGhtPi5uZWGYcEAABuAlXM3Pnbb7+tUaNGafTo0ZKkuLg4rV+/XgsWLFBsbGyh/
gsXLlTTpk0VFxcnSWrdurX27NmjN998U4MHD3b0s9lsatiwYaUcAwAAuPmYNgN06dIlJScnKywszKk9LCxM
O3bsKHKbnTt3Furfu3dv7dmzR5cvX3a0nTt3Tj4+PmrSpIn69+
+vlJSUa9aSm5urnJwcpwUAANy6TAtAJ0+eVF5enry8vJzavby8lJmZWeQ2mZmZRfa/
cuWKTp48KUlq1aqV4uPjtXbtWiUkJMjNzU1dunTRoUOHiq0lNjZWHh4ejsXb2/
s6jw4AANzITL8J2mazOX03DKNQ2x/
1/217586dNWzYMLVv316hoaH66KOP1KJFC82dO7fYMaOjo5Wdne1Y0tPTy3o4AADgJmDaPUD169eXq6trod
merKysQrM8VzVs2LDI/
lWqVFG9evWK3MbFxUV33XXXNWeA7Ha77HZ7KY8AAADcrEybAapWrZoCAgKUlJTk1J6UlKSQkJAitwkODi7U
/8svv1RgYKCqVq1a5DaGYSg1NVWNGjUqn8IBAMBNz9RLYFFRUfr73/+uJUuWaP/+/
ZowYYLS0tI0ZswYSQWXpoYPH+7oP2bMGP3444+KiorS/v37tWTJEi1evFjPP/+8o8/06dO1fv16/
fDDD0pNTdWoUaOUmprqGBMAAMDUx+DDw8N16tQpzZgxQxkZGWrbtq3WrVsnHx8fSVJGRobTO4F8fX21bt06
TZgwQfPmzVPjxo31zjvvOD0Cf+bMGT355JPKzMyUh4eH/
P39tXXrVnXq1KnSjw8AANyYTA1AkhQZGanIyMgi18XHxxdq69atm/
bu3VvseLNnz9bs2bPLqzwAAHALMv0pMAAAgMpGAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAAJZDAAIAA
JZDAAIAAJZj+osQrajZpM/
NLqHcHX29n9klAMAti78b5Y8ZIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIA
AAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAY
DkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkE
IAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAA
AYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYD
kEIAAAYDkEIAAAYDkEIAAAYDkEIAAAYDmmB6D58+fL19dXbm5uCggI0LZt267Zf8uWLQoICJCbm5uaN2+uh
QsXFuqzatUq+fn5yW63y8/
PT2vWrKmo8gEAwE3I1ACUmJio8ePHKyYmRikpKQoNDVXfvn2VlpZWZP8jR47ovvvuU2hoqFJSUjR58mQ9+
+yzWrVqlaPPzp07FR4eroiICO3bt08REREaOnSovvrqq8o6LAAAcIMzNQC9/
fbbGjVqlEaPHq3WrVsrLi5O3t7eWrBgQZH9Fy5cqKZNmyouLk6tW7fW6NGj9fjjj+vNN9909ImLi1OvXr0U
HR2tVq1aKTo6Wj179lRcXFwlHRUAALjRmRaALl26pOTkZIWFhTm1h4WFaceOHUVus3PnzkL9e/
furT179ujy5cvX7FPcmAAAwHqqmLXjkydPKi8vT15eXk7tXl5eyszMLHKbzMzMIvtfuXJFJ0+eVKNGjYrtU
9yYkpSbm6vc3FzH9+zsbElSTk5OqY6ppPJzL1TIuGYqy7niPBTgPPyKc1GA81CA8/ArzkXpxjQM4w/
7mhaArrLZbE7fDcMo1PZH/X/fXtoxY2NjNX369ELt3t7exRcOJx5xZldwY+A8FOA8/
IpzUYDzUIDz8KuKPBdnz56Vh4fHNfuYFoDq168vV1fXQjMzWVlZhWZwrmrYsGGR/
atUqaJ69epds09xY0pSdHS0oqKiHN/z8/
N1+vRp1atX75rB6UaWk5Mjb29vpaeny93d3exyTMW5KMB5KMB5+BXnogDnocCtcB4Mw9DZs2fVuHHjP+xrW
gCqVq2aAgIClJSUpAceeMDRnpSUpIEDBxa5TXBwsP75z386tX355ZcKDAxU1apVHX2SkpI0YcIEpz4hISHF
1mK322W3253aateuXdpDuiG5u7vftP8glzfORQHOQwHOw684FwU4DwVu9vPwRzM/
V5l6CSwqKkoREREKDAxUcHCwFi1apLS0NI0ZM0ZSwczMsWPHtHz5cknSmDFj9O677yoqKkpPPPGEdu7cqcW
LFyshIcEx5rhx49S1a1fNnDlTAwcO1KeffqoNGzZo+/
btphwjAAC48ZgagMLDw3Xq1CnNmDFDGRkZatu2rdatWycfHx9JUkZGhtM7gXx9fbVu3TpNmDBB8+bNU+PGj
fXOO+9o8ODBjj4hISFauXKlXnzxRU2ZMkV33HGHEhMTFRQUVOnHBwAAbkym3wQdGRmpyMjIItfFx8cXauvW
rZv27t17zTGHDBmiIUOGlEd5Ny273a6pU6cWurRnRZyLApyHApyHX3EuCnAeCljtPNiMkjwrBgAAcAsx/
bfAAAAAKhsBCAAAWA4BCAAAWA4BCAAAWA4B6BYTGxuru+66S7Vq1ZKnp6cGDRqkAwcOmF1WpVuwYIHatWvn
eKFXcHCwvvjiC7PLMl1sbKxsNpvGjx9vdimVbtq0abLZbE5Lw4YNzS7LFMeOHdOwYcNUr1493XbbberQoYO
Sk5PNLqvSNWvWrNA/EzabTWPHjjW7tEp15coVvfjii/L19VX16tXVvHlzzZgxQ/
n5+WaXVqFMfwwe5WvLli0aO3as7rrrLl25ckUxMTEKCwvT999/rxo1aphdXqVp0qSJXn/
9dd15552SpGXLlmngwIFKSUlRmzZtTK7OHLt379aiRYvUrl07s0sxTZs2bbRhwwbHd1dXVxOrMccvv/
yiLl26qEePHvriiy/k6empw4cP3zJvvy+N3bt3Ky8vz/H922+/Va9evfSXv/
zFxKoq38yZM7Vw4UItW7ZMbdq00Z49e/TYY4/
Jw8ND48aNM7u8CsNj8Le4EydOyNPTU1u2bFHXrl3NLsdUdevW1RtvvKFRo0aZXUqlO3funDp27Kj58+frlV
deUYcOHRQXF2d2WZVq2rRp+uSTT5Sammp2KaaaNGmS/vd//1fbtm0zu5Qbzvjx4/XZZ5/
p0KFDN+3vQJZF//
795eXlpcWLFzvaBg8erNtuu00ffPCBiZVVLC6B3eKys7MlFfzxt6q8vDytXLlS58+fV3BwsNnlmGLs2LHq1
6+f7r33XrNLMdWhQ4fUuHFj+fr66qGHHtIPP/xgdkmVbu3atQoMDNRf/vIXeXp6yt/fX++//
77ZZZnu0qVL+vDDD/X4449bKvxI0t13362NGzfq4MGDkqR9+/Zp+/btuu++
+0yurGJxCewWZhiGoqKidPfdd6tt27Zml1PpvvnmGwUHB+vixYuqWbOm1qxZIz8/
P7PLqnQrV67U3r17tXv3brNLMVVQUJCWL1+uFi1a6Oeff9Yrr7yikJAQfffdd6pXr57Z5VWaH374QQsWLFB
UVJQmT56sf//
733r22Wdlt9s1fPhws8szzSeffKIzZ85o5MiRZpdS6SZOnKjs7Gy1atVKrq6uysvL06uvvqqHH37Y7NIqlo
FbVmRkpOHj42Okp6ebXYopcnNzjUOHDhm7d+82Jk2aZNSvX9/47rvvzC6rUqWlpRmenp5Gamqqo61bt27Gu
HHjzCvqBnHu3DnDy8vLeOutt8wupVJVrVrVCA4Odmp75plnjM6dO5tU0Y0hLCzM6N+/
v9llmCIhIcFo0qSJkZCQYHz99dfG8uXLjbp16xrx8fFml1ahCEC3qL/+9a9GkyZNjB9+
+MHsUm4YPXv2NJ588kmzy6hUa9asMSQZrq6ujkWSYbPZDFdXV+PKlStml2iqe+
+91xgzZozZZVSqpk2bGqNGjXJqmz9/vtG4cWOTKjLf0aNHDRcXF+OTTz4xuxRTNGnSxHj33Xed2l5+
+WWjZcuWJlVUObgEdosxDEPPPPOM1qxZo82bN8vX19fskm4YhmEoNzfX7DIqVc+ePfXNN984tT322GNq1aq
VJk6caMmnoK7Kzc3V/
v37FRoaanYplapLly6FXo1x8OBB+fj4mFSR+ZYuXSpPT0/169fP7FJMceHCBbm4ON8S7OrqymPwuLmMHTtW
K1as0KeffqpatWopMzNTkuTh4aHq1aubXF3lmTx5svr27Stvb2+dPXtWK1eu1ObNm/Wvf/
3L7NIqVa1atQrd/1WjRg3Vq1fPcveFPf/
88xowYICaNm2qrKwsvfLKK8rJydGIESPMLq1STZgwQSEhIXrttdc0dOhQ/fvf/
9aiRYu0aNEis0szRX5+vpYuXaoRI0aoShVr/kkcMGCAXn31VTVt2lRt2rRRSkqK3n77bT3+
+ONml1axzJ6CQvmSVOSydOlSs0urVI8//
rjh4+NjVKtWzWjQoIHRs2dP48svvzS7rBuCVe8BCg8PNxo1amRUrVrVaNy4sfHggw9a7p6wq/
75z38abdu2Nex2u9GqVStj0aJFZpdkmvXr1xuSjAMHDphdimlycnKMcePGGU2bNjXc3NyM5s2bGzExMUZub
q7ZpVUo3gMEAAAsh/
cAAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAbC8CxcuaPDgwXJ3d5fNZtOZM
2dKtN20adPUoUMHx/
eRI0dq0KBBFVIjgPJFAAJQ7rKysvTUU0+padOmstvtatiwoXr37q2dO3eaXVqRli1bpm3btmnHjh3KyMiQh
4dHmcaZM2eO4uPjy7c4ABXCmj98AqBCDR48WJcvX9ayZcvUvHlz/
fzzz9q4caNOnz5tdmlFOnz4sFq3bn3dv49W1uAEoPIxAwSgXJ05c0bbt2/XzJkz1aNHD/
n4+KhTp06Kjo52/Nr20aNHZbPZlJqa6rSdzWbT5s2bJUmbN2+WzWbT+vXr5e/
vr+rVq+uee+5RVlaWvvjiC7Vu3Vru7u56+OGHdeHChWvWtGrVKrVp00Z2u13NmjXTW2+95VjXvXt3vfXWW9
q6datsNpu6d+9e7Divv/66vLy8VKtWLY0aNUoXL150Wv/7S2D5+fmaOXOm7rzzTtntdjVt2lSvvvqqY/
2xY8cUHh6uOnXqqF69eho4cKCOHj167RMMoFwQgACUq5o1a6pmzZr65JNPlJube93jTZs2Te++
+6527Nih9PR0DR06VHFxcVqxYoU+//
xzJSUlae7cucVun5ycrKFDh+qhhx7SN998o2nTpmnKlCmOS1WrV6/
WE088oeDgYGVkZGj16tVFjvPRRx9p6tSpevXVV7Vnzx41atRI8+fPv2bt0dHRmjlzpqZMmaLvv/
9eK1askJeXl6SC+4569OihmjVrauvWrdq+fbtq1qypPn366NKlS2U7WQBKzuxfYwVw6/nHP/
5h1KlTx3BzczNCQkKM6OhoY9+
+fY71R44cMSQZKSkpjrZffvnFkGRs2rTJMAzD2LRpkyHJ2LBhg6NPbGysIck4fPiwo+2pp54yevfuXWwtjz
zyiNGrVy+nthdeeMHw8/
NzfB83bpzRrVu3ax5TcHCwMWbMGKe2oKAgo3379o7vI0aMMAYOHGgYRsEvbNvtduP9998vcrzFixcbLVu2N
PLz8x1tubm5RvXq1Y3169dfsxYA148ZIADlbvDgwTp+/LjWrl2r3r17a/
PmzerYsWOZbhBu166d47OXl5duu+02NW/e3KktKyur2O3379+vLl26OLV16dJFhw4dUl5eXonr2L9/
v4KDg53afv/99/1zc3PVs2fPItcnJyfrv//
9r2rVquWYNatbt64uXryow4cPl7guAGXDTdAAKoSbm5t69eqlXr166aWXXtLo0aM1depUjRw5Ui4uBf/
tZRiGo//ly5eLHKdq1aqOzzabzen71bb8/Pxi6zAMQzabrVBbRatevfo11+fn5ysgIED/8z//
U2hdgwYNKqosAP8fM0AAKoWfn5/Onz8v6dc/
8BkZGY71v70hurz3u337dqe2HTt2qEWLFnJ1dS3xOK1bt9auXbuc2n7//bf+9Kc/
qXr16tq4cWOR6zt27KhDhw7J09NTd955p9PC02RAxSMAAShXp06d0j333KMPP/xQX3/9tY4cOaKPP/
5Ys2bN0sCBAyUVzI507txZr7/+ur7//ntt3bpVL774YoXU89xzz2njxo16+eWXdfDgQS1btkzvvvuunn/+
+VKNM27cOC1ZskRLlizRwYMHNXXqVH333XfF9ndzc9PEiRP1t7/9TcuXL9fhw4e1a9cuLV68WJL06KOPqn7
9+ho4cKC2bdumI0eOaMuWLRo3bpx++umn6zpmAH+MS2AAylXNmjUVFBSk2bNn6/
Dhw7p8+bK8vb31xBNPaPLkyY5+S5Ys0eOPP67AwEC1bNlSs2bNUlhYWLnX07FjR3300Ud66aWX9PLLL6tRo
0aaMWOGRo4cWapxwsPDdfjwYU2cOFEXL17U4MGD9fTTT2v9+vXFbjNlyhRVqVJFL730ko4fP65GjRppzJgx
kqTbbrtNW7du1cSJE/Xggw/
q7Nmzuv3229WzZ0+5u7tfzyEDKAGbURkXwwEAAG4gXAIDAACWQwACAACWQwACAACWQwACAACWQwACAACWQw
ACAACWQwACAACWQwACAACWQwACAACWQwACAACWQwACAACWQwACAACW8/8A9ZxyaTkXmR8AAAAASUVORK5CY
II=\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# You can use this cell for your calculations (not graded)\n",
"np.random.seed(0)\n",
"num_trials = 1000000\n",
"first_throw = np.random.choice([1, 2, 3, 4], p=[1/5, 2/5, 1/5, 1/5],
size=num_trials)\n",
"second_throw = np.random.choice([1, 2, 3, 4], p=[1/5, 2/5, 1/5, 1/5],
size=num_trials)\n",
"sums = first_throw + second_throw\n",
"\n",
"plt.hist(sums, bins=range(2, 10), align='left', rwidth=0.8, density=True)\n",
"plt.xticks(range(2, 9))\n",
"plt.xlabel('Sum of dice')\n",
"plt.ylabel('Probability')\n",
"plt.title('Histogram of sum')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "3104e647",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "0af24b755281400592aee22bbb601cae",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"ToggleButtons(description='Your answer:', options=('left', 'center',
'right'), value='left')"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "0897be884f634b94a0a5e37f05c05d96",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Button(button_style='success', description='Save your answer!',
style=ButtonStyle())"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "9dc080702992482eaea077d75ec36778",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Run this cell to submit your answer\n",
"utils.exercise_5()"
]
},
{
"cell_type": "markdown",
"id": "0d0f3429",
"metadata": {},
"source": [
"## Exercise 6:\n",
"\n",
"You have a 6-sided dice that is loaded so that it lands twice as often on side
3 compared to the other sides:\n",
"\n",
"<img src=\"./images/loaded_6_side.png\" style=\"height: 300px;\"/>\n",
"\n",
"You record the sum of throwing it twice. What is the highest value (of the
sum) that will yield a cumulative probability lower or equal to 0.5?\n",
"\n",
"<img src=\"./images/loaded_6_cdf.png\" style=\"height: 300px;\"/>\n",
"\n",
"Hints:\n",
"- The probability of side 3 is equal to $\\frac{2}{7}$"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "10feaaa8",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The highest value (of the sum) that will yield a cumulative probability
lower or equal to 0.5 is 6\n"
]
}
],
"source": [
"# You can use this cell for your calculations (not graded)\n",
"np.random.seed(0)\n",
"num_trials = 1000000\n",
"dice = [1,2,3,4,5,6]\n",
"probs = [1/7, 1/7, 2/7, 1/7, 1/7, 1/7]\n",
"\n",
"first_throw = np.random.choice(dice, p=probs, size=num_trials)\n",
"second_throw = np.random.choice(dice, p=probs, size=num_trials)\n",
"\n",
"sums = first_throw + second_throw\n",
"\n",
"for i in range(2, 13):\n",
" cdf = (sums <= i).mean()\n",
" if cdf > 0.5:\n",
" break\n",
"\n",
"print(\"The highest value (of the sum) that will yield a cumulative
probability lower or equal to 0.5 is\", i-1)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "963e5763",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b09a071ff6574c129670027434608915",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"IntSlider(value=2, continuous_update=False, description='Sum:', max=12,
min=2)"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7102a00fe4d44b84a770a2fe2248191f",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Button(button_style='success', description='Save your answer!',
style=ButtonStyle())"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "4fd3f9958f174c7ea3caaf802555bd4b",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Run this cell to submit your answer\n",
"utils.exercise_6()"
]
},
{
"cell_type": "markdown",
"id": "f6684426",
"metadata": {},
"source": [
"## Exercise 7:\n",
"\n",
"Given a 6-sided fair dice you try a new game. You only throw the dice a second
time if the result of the first throw is **lower** or equal to 3. Which of the
following `probability mass functions` will be the one you should get given this
new constraint?\n",
"\n",
"<table><tr>\n",
"<td> <img src=\"./images/6_sided_cond_green.png\" style=\"height: 250px;\"/>
</td>\n",
"<td> <img src=\"./images/6_sided_cond_blue.png\" style=\"height: 250px;\"/>
</td>\n",
"<td> <img src=\"./images/6_sided_cond_red.png\" style=\"height: 250px;\"/>
</td>\n",
"<td> <img src=\"./images/6_sided_cond_brown.png\" style=\"height: 250px;\"/>
</td>\n",
"\n",
"</tr></table>\n",
"\n",
"Hints:\n",
"- You can simulate the second throws as a numpy array and then make the values
that met a certain criteria equal to 0 by using
[np.where](https://numpy.org/doc/stable/reference/generated/numpy.where.html)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "9e64d178",
"metadata": {},
"outputs": [
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAAkAAAAHFCAYAAAAaD0bAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIH
ZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpA
AA38UlEQVR4nO3de1xVVf7/8fcB9EAq5A3UQkQrBU1FSAXzloKZmpaONCVqaWY6pVKNIpm3KdTpgpqXsTHR
GokatZyyMfTh9aH2VQSdJkfN0TCFITUBdUSF/
fvDn2c6AQZ4DkfYr+fjsR+x11l7nc9CkzdrX47FMAxDAAAAJuLm6gIAAAAqGwEIAACYDgEIAACYDgEIAACY
DgEIAACYDgEIAACYDgEIAACYDgEIAACYDgEIAACYDgEIqGaSkpJksVi0b9++El/v37+/
mjVrZtfWrFkzjRw5slzvs2vXLs2YMUPnz5+vWKEmlJKSotatW8vLy0sWi0UZGRmuLgkwLQIQAK1bt07Tpk0
r1zG7du3SzJkzCUBl9OOPPyomJkYtWrTQ3//+d+3evVv33Xefq8sCTMvD1QUAcL2QkBBXl1BuV69elcVikY
dH1fhn7MiRI7p69aqGDRum7t27u7ocwPRYAQJQ7BRYUVGR/vCHP6hly5by8vLSnXfeqbZt22r+/
PmSpBkzZuiVV16RJAUGBspischisWjr1q224+fNm6dWrVrJarXK19dXw4cP1w8//
GD3voZh6I033lBAQIA8PT0VFham1NRU9ejRQz169LD127p1qywWiz744AO99NJLuuuuu2S1WvXdd9/
pxx9/1Lhx4xQcHKzatWvL19dXDz30kHbs2GH3XidOnJDFYtEf//
hHzZ07V82aNZOXl5d69OhhCydTpkxRkyZN5OPjo8cee0w5OTll+v6tX79e4eHhuuOOO1SnTh1FRkZq9+7dt
tdHjhypBx98UJIUHR0ti8ViN79funTpkl5++WUFBgbK09NT9erVU1hYmJKTk219fvk9+vl7/
fwUpzPnDVRlVeNXJwDlVlhYqGvXrhVrNwzjV4+dN2+eZsyYoVdffVXdunXT1atX9a9//
ct2umv06NE6d+6cFi5cqLVr16px48aSpODgYEnS888/r2XLlul3v/ud+vfvrxMnTmjatGnaunWr9u/
frwYNGkiS4uPjlZCQoDFjxujxxx/XyZMnNXr0aF29erXE00NxcXEKDw/X0qVL5ebmJl9fX/
3444+SpOnTp6tRo0a6cOGC1q1bpx49emjz5s3FQsKiRYvUtm1bLVq0SOfPn9dLL72kAQMGqFOnTqpRo4bef
/99ff/993r55Zc1evRorV+//qbfq9WrV+upp55SVFSUkpOTVVBQoHnz5tne/8EHH9S0adPUsWNHjR8/
Xm+88YZ69uwpb2/vUseMjY3VBx98oD/84Q8KCQnRxYsX9c033+js2bO/
+mdXGkfPG6jyDADVyooVKwxJN90CAgLsjgkICDBGjBhh2+/fv7/Rvn37m77PH//
4R0OScfz4cbv2Q4cOGZKMcePG2bV//
fXXhiRj6tSphmEYxrlz5wyr1WpER0fb9du9e7chyejevbutbcuWLYYko1u3br86/2vXrhlXr141evXqZTz2
2GO29uPHjxuSjHbt2hmFhYW29sTEREOS8eijj9qNM3HiREOSkZubW+p7FRYWGk2aNDHuv/9+uzHz8/
MNX19fIyIiotgcPvnkk1+dQ5s2bYxBgwbdtE/37t3tvkc3jBgxwu7P1xnzBqoDToEB1dSqVau0d+/
eYtuNUzE307FjRx04cEDjxo3Txo0blZeXV+b33bJliyQVu6usY8eOCgoK0ubNmyVJe/
bsUUFBgYYOHWrXr3PnzsXuUrth8ODBJbYvXbpUHTp0kKenpzw8PFSjRg1t3rxZhw4dKtb3kUcekZvb//
7pCwoKkiT169fPrt+N9szMzFJmKh0+fFinT59WTEyM3Zi1a9fW4MGDtWfPHl26dKnU40vTsWNHffnll5oyZ
Yq2bt2q//73v+Ue45ccOW+gOiAAAdVUUFCQwsLCim0+Pj6/
emxcXJzefPNN7dmzR3379lX9+vXVq1evUm+t/7kbp2lunBb7uSZNmthev/FfPz+/Yv1KaittzLffflvPP/
+8OnXqpDVr1mjPnj3au3evHn744RKDQ7169ez2a9asedP2y5cvl1jLz+dQ2lyLior0008/
lXp8aRYsWKDJkyfr008/Vc+ePVWvXj0NGjRIR48eLfdYNzhy3kB1QAACUIyHh4diY2O1f/
9+nTt3TsnJyTp58qT69Onzqysa9evXlyRlZWUVe+306dO2639u9PvPf/
5TrF92dnaJY1sslmJtH374oXr06KElS5aoX79+6tSpk8LCwpSfn3/
zSTrAr83Vzc1NdevWLfe4tWrV0syZM/Wvf/
1L2dnZWrJkifbs2aMBAwbY+nh6eqqgoKDYsWfOnCn3+wFmRAACcFN33nmnhgwZovHjx+vcuXM6ceKEJMlqt
UpSsVWWhx56SNL1YPJze/fu1aFDh9SrVy9JUqdOnWS1WpWSkmLXb8+ePfr+++/LXJ/
FYrHVcsPBgwft7sJylpYtW+quu+7S6tWr7S4uv3jxotasWWO7M+xW+Pn5aeTIkfrtb3+rw4cP2wJos2bNdO
TIEbsQdPbsWe3ateuW3g8wC+4CA1DMgAED1KZNG4WFhalhw4b6/vvvlZiYqICAAN17772SpPvvv1+SNH/
+fI0YMUI1atRQy5Yt1bJlS40ZM0YLFy6Um5ub+vbta7sLzN/fX5MmTZJ0/
dRLbGysEhISVLduXT322GP64YcfNHPmTDVu3NjuepWb6d+/v2bPnq3p06ere/
fuOnz4sGbNmqXAwMAS74JzJDc3N82bN09PPfWU+vfvr+eee04FBQX64x//qPPnz2vOnDkVGrdTp07q37+/
2rZtq7p16+rQoUP64IMP7AJVTEyM/vSnP2nYsGF69tlndfbsWc2bN++md5cB+B8CEIBievbsqTVr1ujPf/
6z8vLy1KhRI0VGRmratGmqUaOGpOvPoYmLi9PKlSv13nvvqaioSFu2bLGdjmrRooWWL1+uRYsWycfHRw8//
LASEhJsp40k6fXXX1etWrW0dOlSrVixQq1atdKSJUsUHx+vO+
+8s0y1xsfH69KlS1q+fLnmzZun4OBgLV26VOvWrbM9l8iZnnzySdWqVUsJCQmKjo6Wu7u7OnfurC1btigiI
qJCYz700ENav3693nnnHV26dEl33XWXhg8frvj4eFufLl26aOXKlZozZ44GDhyo5s2ba/
r06dqwYUOlzBuo6iyGUYaHggBAJTl+/
LhatWql6dOna+rUqa4uB0A1RQAC4DIHDhxQcnKyIiIi5O3trcOHD2vevHnKy8vTN998U+rdYABwqzgFBsBl
atWqpX379mn58uU6f/68fHx81KNHD73+
+uuEHwBOxQoQAAAwHW6DBwAApkMAAgAApkMAAgAApsNF0CUoKirS6dOnVadOnRIfvQ8AAG4/
hmEoPz9fTZo0+dWHqRKASnD69Gn5+/
u7ugwAAFABJ0+e1N13333TPgSgEtSpU0fS9W8gj5UHAKBqyMvLk7+/
v+3n+M0QgEpw47SXt7c3AQgAgCqmLJevcBE0AAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQI
QAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHZcHoMWLFyswMFCenp4KDQ3Vjh07Su27du1aRU
ZGqmHDhvL29lZ4eLg2btxo1ycpKUkWi6XYdvnyZWdPBQAAVBEuDUApKSmaOHGi4uPjlZ6erq5du6pv377Kz
Mwssf/27dsVGRmpDRs2KC0tTT179tSAAQOUnp5u18/
b21tZWVl2m6enZ2VMCQAAVAEWwzAMV715p06d1KFDBy1ZssTWFhQUpEGDBikhIaFMY7Ru3VrR0dF67bXXJF
1fAZo4caLOnz9f4bry8vLk4+Oj3NxceXt7V3gcAABQecrz89ujkmoq5sqVK0pLS9OUKVPs2qOiorRr164yj
VFUVKT8/
HzVq1fPrv3ChQsKCAhQYWGh2rdvr9mzZyskJKTUcQoKClRQUGDbz8vLK8dMYGbNpnzh6hIq7MScfmXuW1Xn
WZ45AjAXl50CO3PmjAoLC+Xn52fX7ufnp+zs7DKN8dZbb+nixYsaOnSora1Vq1ZKSkrS+vXrlZycLE9PT3X
p0kVHjx4tdZyEhAT5+PjYNn9//4pNCgAAVAkuWwG6wWKx2O0bhlGsrSTJycmaMWOGPvvsM/
n6+traO3furM6dO9v2u3Tpog4dOmjhwoVasGBBiWPFxcUpNjbWtp+Xl0cIAkyIlS7APFwWgBo0aCB3d/
diqz05OTnFVoV+KSUlRaNGjdInn3yi3r1737Svm5ubHnjggZuuAFmtVlmt1rIXDwAAqjSXnQKrWbOmQkNDl
ZqaateempqqiIiIUo9LTk7WyJEjtXr1avXr9+u/
9RiGoYyMDDVu3PiWawYAANWDS0+BxcbGKiYmRmFhYQoPD9eyZcuUmZmpsWPHSrp+aurUqVNatWqVpOvhZ/
jw4Zo/
f746d+5sWz3y8vKSj4+PJGnmzJnq3Lmz7r33XuXl5WnBggXKyMjQokWLXDNJAABw23FpAIqOjtbZs2c1a9Y
sZWVlqU2bNtqwYYMCAgIkSVlZWXbPBPrTn/6ka9euafz48Ro/frytfcSIEUpKSpIknT9/
XmPGjFF2drZ8fHwUEhKi7du3q2PHjpU6NwAAcPty6XOAblc8BwhlVVUvmpW4Db4kZpknUF2V5+e3yz8KAwA
AoLIRgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgO
kQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQg
AAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAA
gOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOk
QgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgA
AAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOm4PAAtXrxYgYGB8vT0VGhoqHbs2FFq3
7Vr1yoyMlINGzaUt7e3wsPDtXHjxmL91qxZo+DgYFmtVgUHB2vdunXOnAIAAKhiXBqAUlJSNHHiRMXHxys9
PV1du3ZV3759lZmZWWL/
7du3KzIyUhs2bFBaWpp69uypAQMGKD093dZn9+7dio6OVkxMjA4cOKCYmBgNHTpUX3/9dWVNCwAA3OYshmE
YrnrzTp06qUOHDlqyZImtLSgoSIMGDVJCQkKZxmjdurWio6P12muvSZKio6OVl5enL7/80tbn4YcfVt26dZ
WcnFymMfPy8uTj46Pc3Fx5e3uXY0Ywm2ZTvnB1CRV2Yk6/MvetqvMszxwl88wTqK7K8/
PbZStAV65cUVpamqKiouzao6KitGvXrjKNUVRUpPz8fNWrV8/
Wtnv37mJj9unT56ZjFhQUKC8vz24DAADVl8sC0JkzZ1RYWCg/Pz+7dj8/
P2VnZ5dpjLfeeksXL17U0KFDbW3Z2dnlHjMhIUE+Pj62zd/
fvxwzAQAAVY3LL4K2WCx2+4ZhFGsrSXJysmbMmKGUlBT5+vre0phxcXHKzc21bSdPnizHDAAAQFXj4ao3bt
Cggdzd3YutzOTk5BRbwfmllJQUjRo1Sp988ol69+5t91qjRo3KPabVapXVai3nDAAAQFXlshWgmjVrKjQ0V
KmpqXbtqampioiIKPW45ORkjRw5UqtXr1a/fsUv/
AsPDy825ldffXXTMQEAgLm4bAVIkmJjYxUTE6OwsDCFh4dr2bJlyszM1NixYyVdPzV16tQprVq1StL18DN8
+HDNnz9fnTt3tq30eHl5ycfHR5I0YcIEdevWTXPnztXAgQP12WefadOmTdq5c6drJgkAAG47Lr0GKDo6Wom
JiZo1a5bat2+v7du3a8OGDQoICJAkZWVl2T0T6E9/+pOuXbum8ePHq3HjxrZtwoQJtj4RERH66KOPtGLFCr
Vt21ZJSUlKSUlRp06dKn1+AADg9uTSFSBJGjdunMaNG1fia0lJSXb7W7duLdOYQ4YM0ZAhQ26xMgAAUF25/
C4wAACAykYAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMA
AgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgA
ApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApk
MAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAA
gAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAA
pkMAAgAApkMAAgAApkMAAgAAplOhAJSUlKRLly45uhYAAIBKUaEAFBcXp0aNGmnUqFHatWuXo2sCAABwqgo
FoB9++EEffvihfvrpJ/
Xs2VOtWrXS3LlzlZ2d7ej6AAAAHK5CAcjd3V2PPvqo1q5dq5MnT2rMmDH6y1/+oqZNm+rRRx/
VZ599pqKiIkfXCgAA4BC3fBG0r6+vunTpovDwcLm5uekf//iHRo4cqRYtWmjr1q2/
evzixYsVGBgoT09PhYaGaseOHaX2zcrK0pNPPqmWLVvKzc1NEydOLNYnKSlJFoul2Hb58uVbmCUAAKhOKhy
A/vOf/+jNN99U69at1aNHD+Xl5enzzz/X8ePHdfr0aT3++OMaMWLETcdISUnRxIkTFR8fr/
T0dHXt2lV9+/
ZVZmZmif0LCgrUsGFDxcfHq127dqWO6+3traysLLvN09OzolMFAADVTIUC0IABA+Tv76+kpCQ9+
+yzOnXqlJKTk9W7d29JkpeXl1566SWdPHnypuO8/fbbGjVqlEaPHq2goCAlJibK399fS5YsKbF/s2bNNH/
+fA0fPlw+Pj6ljmuxWNSoUSO7DQAA4AaPihzk6+urbdu2KTw8vNQ+jRs31vHjx0t9/
cqVK0pLS9OUKVPs2qOiom75zrILFy4oICBAhYWFat+
+vWbPnq2QkJBS+xcUFKigoMC2n5eXd0vvDwAAbm8VWgHq3r27OnToUKz9ypUrWrVqlaTrqzABAQGljnHmzB
kVFhbKz8/Prt3Pz++W7iZr1aqVkpKStH79eiUnJ8vT01NdunTR0aNHSz0mISFBPj4+ts3f37/C7w8AAG5/
FQpATz/
9tHJzc4u15+fn6+mnny7XWBaLxW7fMIxibeXRuXNnDRs2TO3atVPXrl318ccf67777tPChQtLPSYuLk65ub
m27ddO3QEAgKqtQqfASgspP/
zww02vzfm5Bg0ayN3dvdhqT05OTrFVoVvh5uamBx544KYrQFarVVar1WHvCQAAbm/
lCkAhISG228p79eolD4//HV5YWKjjx4/r4YcfLtNYNWvWVGhoqFJTU/XYY4/
Z2lNTUzVw4MDylHVThmEoIyND999/
v8PGBAAAVVu5AtCgQYMkSRkZGerTp49q165te61mzZpq1qyZBg8eXObxYmNjFRMTo7CwMIWHh2vZsmXKzMz
U2LFjJV0/NXXq1CnbdUU33lu6fqHzjz/
+qIyMDNWsWVPBwcGSpJkzZ6pz58669957lZeXpwULFigjI0OLFi0qz1QBAEA1Vq4ANH36dEnXb0ePjo6+5W
frREdH6+zZs5o1a5aysrLUpk0bbdiwwXbxdFZWVrFnAv38bq60tDStXr1aAQEBOnHihCTp/
PnzGjNmjLKzs+Xj46OQkBBt375dHTt2vKVaAQBA9WExDMNwdRG3m7y8PPn4+Cg3N1fe3t6uLge3sWZTvnB1
CRV2Yk6/MvetqvMszxwl88wTqK7K8/
O7zCtA9erV05EjR9SgQQPVrVv3pndqnTt3ruzVAgAAVLIyB6B33nlHderUsX19K7eqAwAAuFKZA9DPP9dr5
MiRzqgFAACgUpQ5AJXn4yG4bgYAANzOyhyA7rzzzl897XXjAYmFhYW3XBgAAICzlDkAbdmyxZl1AAAAVJoy
B6Du3bs7sw4AAIBKU+YAdPDgQbVp00Zubm46ePDgTfu2bdv2lgsDAABwljIHoPbt2ys7O1u+vr5q3769LBa
LSnqGItcAAQCA212ZA9Dx48fVsGFD29cAAABVVZkD0I3P5/
rl1wAAAFVNuT4M9ecOHz6shQsX6tChQ7JYLGrVqpVeeOEFtWzZ0pH1AQAAOJxbRQ7661//
qjZt2igtLU3t2rVT27ZttX//frVp00affPKJo2sEAABwqAqtAP3+979XXFycZs2aZdc+ffp0TZ48Wb/
5zW8cUhwAAIAzVGgFKDs7W8OHDy/
WPmzYMGVnZ99yUQAAAM5UoQDUo0cP7dixo1j7zp071bVr11suCgAAwJnKfAps/
fr1tq8fffRRTZ48WWlpaercubMkac+ePfrkk080c+ZMx1cJAADgQGUOQIMGDSrWtnjxYi1evNiubfz48Ro7
duwtFwYAAOAsZQ5ARUVFzqwDAACg0lToGiAAAICqrMIPQrx48aK2bdumzMxMXblyxe61F1988ZYLAwAAcJY
KBaD09HQ98sgjunTpki5evKh69erpzJkzuuOOO+Tr60sAAgAAt7UKnQKbNGmSBgwYoHPnzsnLy0t79uzR99
9/r9DQUL355puOrhEAAMChKhSAMjIy9NJLL8nd3V3u7u4qKCiQv7+/
5s2bp6lTpzq6RgAAAIeqUACqUaOGLBaLJMnPz0+ZmZmSJB8fH9vXAAAAt6sKXQMUEhKiffv26b777lPPnj3
12muv6cyZM/rggw90//33O7pGAAAAh6rQCtAbb7yhxo0bS5Jmz56t+vXr6/
nnn1dOTo6WLVvm0AIBAAAcrUIrQGFhYbavGzZsqA0bNjisIAAAAGer8HOAJCknJ0eHDx+WxWJRy5Yt1bBhQ
0fVBQAA4DQVOgWWl5enmJgY3XXXXerevbu6deumJk2aaNiwYcrNzXV0jQAAAA5VoQA0evRoff311/
r88891/vx55ebm6vPPP9e+ffv07LPPOrpGAAAAh6rQKbAvvvhCGzdu1IMPPmhr69Onj9577z09/
PDDDisOAADAGSq0AlS/fn35+PgUa/
fx8VHdunVvuSgAAABnqlAAevXVVxUbG6usrCxbW3Z2tl555RVNmzbNYcUBAAA4Q5lPgYWEhNie/
ixJR48eVUBAgJo2bSpJyszMlNVq1Y8//
qjnnnvO8ZUCAAA4SJkD0KBBg5xYBgAAQOUpcwCaPn26M+sAAACoNLf0IMS0tDQdOnRIFotFwcHBCgkJcVRd
AAAATlOhAJSTk6MnnnhCW7du1Z133inDMJSbm6uePXvqo48+4onQAADgtlahu8BeeOEF5eXl6Z///
KfOnTunn376Sd98843y8vL04osvOrpGAAAAh6rQCtDf//
53bdq0SUFBQba24OBgLVq0SFFRUQ4rDgAAwBkqtAJUVFSkGjVqFGuvUaOGioqKbrkoAAAAZ6pQAHrooYc0Y
cIEnT592tZ26tQpTZo0Sb169XJYcQAAAM5QoQD07rvvKj8/X82aNVOLFi10zz33KDAwUPn
5+Vq4cKGjawQAAHCoCl0D5O/vr/379ys1NVX/+te/
ZBiGgoOD1bt3b0fXBwAA4HDlDkDXrl2Tp6enMjIyFBkZqcjISGfUBQAA4DTlPgXm4eGhgIAAFRYWOqMeAAA
Ap6vwp8HHxcXp3Llzjq4HAADA6Sp0DdCCBQv03XffqUmTJgoICFCtWrXsXt+/
f79DigMAAHCGCgWgQYMGyWKxyDAMR9cDAADgdOUKQJcuXdIrr7yiTz/
9VFevXlWvXr20cOFCNWjQwFn1AQAAOFy5rgGaPn26kpKS1K9fP/32t7/
Vpk2b9PzzzzurNgAAAKco1wrQ2rVrtXz5cj3xxBOSpKeeekpdunRRYWGh3N3dnVIgAACAo5VrBejkyZPq2r
Wrbb9jx47y8PCw+0gMAACA2125AlBhYaFq1qxp1+bh4aFr1645tCgAAABnKtcpMMMwNHLkSFmtVlvb5cuXN
XbsWLtb4deuXeu4CgEAABysXAFoxIgRxdqGDRvmsGIAAAAqQ7kC0IoVK5xVBwAAQKWp0EdhAAAAVGUuD0CL
Fy9WYGCgPD09FRoaqh07dpTaNysrS08+
+aRatmwpNzc3TZw4scR+a9asUXBwsKxWq4KDg7Vu3TonVQ8AAKoilwaglJQUTZw4UfHx8UpPT1fXrl3Vt29
fZWZmlti/
oKBADRs2VHx8vNq1a1din927dys6OloxMTE6cOCAYmJiNHToUH399dfOnAoAAKhCXBqA3n77bY0aNUqjR49
WUFCQEhMT5e/vryVLlpTYv1mzZpo/
f76GDx8uHx+fEvskJiYqMjJScXFxatWqleLi4tSrVy8lJiY6cSYAAKAqcVkAunLlitLS0hQVFWXXHhUVpV2
7dlV43N27dxcbs0+fPjcds6CgQHl5eXYbAACovlwWgM6cOaPCwkL5+fnZtfv5+Sk7O7vC42ZnZ5d7zISEBP
n4+Ng2f3//Cr8/AAC4/
bn8ImiLxWK3bxhGsTZnjxkXF6fc3FzbdvLkyVt6fwAAcHsr13OAHKlBgwZyd3cvtjKTk5NTbAWnPBo1alTu
Ma1Wq93TrQEAQPXmshWgmjVrKjQ0VKmpqXbtqampioiIqPC44eHhxcb86quvbmlMAABQvbhsBUiSYmNjFRM
To7CwMIWHh2vZsmXKzMzU2LFjJV0/NXXq1CmtWrXKdkxGRoYk6cKFC/
rxxx+VkZGhmjVrKjg4WJI0YcIEdevWTXPnztXAgQP12WefadOmTdq5c2elzw8AANyeXBqAoqOjdfbsWc2aN
UtZWVlq06aNNmzYoICAAEnXH3z4y2cChYSE2L5OS0vT6tWrFRAQoBMnTkiSIiIi9NFHH+nVV1/
VtGnT1KJFC6WkpKhTp06VNi8AAHB7c2kAkqRx48Zp3LhxJb6WlJRUrM0wjF8dc8iQIRoyZMitlgYAAKopl9
8FBgAAUNkIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQ
AAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQ8XF0AAKByNZvyhatLqJATc/
q5ugRUI6wAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAA
QAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA
0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yE
AAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0yEAAQAA0/
FwdQGovppN+cLVJVTIiTn9XF0CAAfg3yDcDCtAAADAdAhAAADAdFwegBYvXqzAwEB5enoqNDRUO3bsuGn/
bdu2KTQ0VJ6enmrevLmWLl1q93pSUpIsFkux7fLly86cBgAAqEJcGoBSUlI0ceJExcfHKz09XV27dlXfvn2
VmZlZYv/jx4/rkUceUdeuXZWenq6pU6fqxRdf1Jo1a+z6eXt7Kysry27z9PSsjCkBAIAqwKUXQb/
99tsaNWqURo8eLUlKTEzUxo0btWTJEiUkJBTrv3TpUjVt2lSJiYmSpKCgIO3bt09vvvmmBg8ebOtnsVjUqF
GjSpkDAACoely2AnTlyhWlpaUpKirKrj0qKkq7du0q8Zjdu3cX69+nTx/
t27dPV69etbVduHBBAQEBuvvuu9W/
f3+lp6c7fgIAAKDKclkAOnPmjAoLC+Xn52fX7ufnp+zs7BKPyc7OLrH/
tWvXdObMGUlSq1atlJSUpPXr1ys5OVmenp7q0qWLjh49WmotBQUFysvLs9sAAED15fKLoC0Wi92+YRjF2n6
t/8/
bO3furGHDhqldu3bq2rWrPv74Y913331auHBhqWMmJCTIx8fHtvn7+1d0OgAAoApwWQBq0KCB3N3di6325O
TkFFvluaFRo0Yl9vfw8FD9+vVLPMbNzU0PPPDATVeA4uLilJuba9tOnjxZztkAAICqxGUBqGbNmgoNDVVqa
qpde2pqqiIiIko8Jjw8vFj/
r776SmFhYapRo0aJxxiGoYyMDDVu3LjUWqxWq7y9ve02AABQfbn0FFhsbKz+/Oc/
6/3339ehQ4c0adIkZWZmauzYsZKur8wMHz7c1n/s2LH6/vvvFRsbq0OHDun999/
X8uXL9fLLL9v6zJw5Uxs3btS///
1vZWRkaNSoUcrIyLCNCQAA4NLb4KOjo3X27FnNmjVLWVlZatOmjTZs2KCAgABJUlZWlt0zgQIDA7VhwwZNm
jRJixYtUpMmTbRgwQK7W+DPnz+vMWPGKDs7Wz4+PgoJCdH27dvVsWPHSp8fAAC4Pbn8w1DHjRuncePGlfha
UlJSsbbu3btr//
79pY73zjvv6J133nFUeQAAoBpy+V1gAAAAlY0ABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAAT
IcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcA
BAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATIcABAAATMfD1QWYUbMpX7i6hAo5Maefq0sAAMA
hCEAAAFRRVfUXasn1v1RzCgwAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJ
gOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOA
QgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgA
AJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJiOywPQ4sWLFRgYKE9PT4WGhmrHjh037b9t2zaFhobK09NTzZs
319KlS4v1WbNmjYKDg2W1WhUcHKx169Y5q3wAAFAFuTQApaSkaOLEiYqPj1d6erq6du2qvn37KjMzs8T+x4
8f1yOPPKKuXbsqPT1dU6dO1Ysvvqg1a9bY+uzevVvR0dGKiYnRgQMHFBMTo6FDh+rrr7+urGkBAIDbnEsD0
Ntvv61Ro0Zp9OjRCgoKUmJiovz9/
bVkyZIS+y9dulRNmzZVYmKigoKCNHr0aD3zzDN68803bX0SExMVGRmpuLg4tWrVSnFxcerVq5cSExMraVYA
AOB257IAdOXKFaWlpSkqKsquPSoqSrt27SrxmN27dxfr36dPH+3bt09Xr169aZ/
SxgQAAObj4ao3PnPmjAoLC+Xn52fX7ufnp+zs7BKPyc7OLrH/
tWvXdObMGTVu3LjUPqWNKUkFBQUqKCiw7efm5kqS8vLyyjWnsioquOSUcZ2tvN8PM8yzqs5RMsc8+TtbMuZ
5ezPD/5uSc37G3hjTMIxf7euyAHSDxWKx2zcMo1jbr/X/
ZXt5x0xISNDMmTOLtfv7+5deuAn5JLq6gsrBPKsPM8xRYp7VDfO8dfn5+fLx8blpH5cFoAYNGsjd3b3Yykx
OTk6xFZwbGjVqVGJ/Dw8P1a9f/6Z9ShtTkuLi4hQbG2vbLyoq0rlz51S/fv2bBqfbTV5envz9/
XXy5El5e3u7uhynYZ7VhxnmKDHP6oZ53r4Mw1B+fr6aNGnyq31dFoBq1qyp0NBQpaam6rHHHrO1p6amauDA
gSUeEx4err/97W92bV999ZXCwsJUo0YNW5/U1FRNmjTJrk9ERESptVitVlmtVru2O+
+8s7xTum14e3tXmb+st4J5Vh9mmKPEPKsb5nl7+rWVnxtcegosNjZWMTExCgsLU3h4uJYtW6bMzEyNHTtW0
vWVmVOnTmnVqlWSpLFjx+rdd99VbGysnn32We3evVvLly9XcnKybcwJEyaoW7dumjt3rgYOHKjPPvtMmzZt
0s6dO10yRwAAcPtxaQCKjo7W2bNnNWvWLGVlZalNmzbasGGDAgICJElZWVl2zwQKDAzUhg0bNGnSJC1atEh
NmjTRggULNHjwYFufiIgIffTRR3r11Vc1bdo0tWjRQikpKerUqVOlzw8AANyeXH4R9Lhx4zRu3LgSX0tKSi
rW1r17d+3fv/
+mYw4ZMkRDhgxxRHlVitVq1fTp04udzqtumGf1YYY5SsyzumGe1YPFKMu9YgAAANWIyz8LDAAAoLIRgAAAg
OkQgAAAgOkQgAAAgOkQgKqBhIQEPfDAA6pTp458fX01aNAgHT582NVlOdSSJUvUtm1b2wO5wsPD9eWXX7q6
LKdLSEiQxWLRxIkTXV2KQ82YMUMWi8Vua9SokavLcopTp05p2LBhql+/
vu644w61b99eaWlpri7LoZo1a1bsz9NisWj8+PGuLs1hrl27pldffVWBgYHy8vJS8+bNNWvWLBUVFbm6NIf
Lz8/XxIkTFRAQIC8vL0VERGjv3r2uLsvhXH4bPG7dtm3bNH78eD3wwAO6du2a4uPjFRUVpW+//
Va1atVydXkOcffdd2vOnDm65557JEkrV67UwIEDlZ6ertatW7u4OufYu3evli1bprZt27q6FKdo3bq1Nm3a
ZNt3d3d3YTXO8dNPP6lLly7q2bOnvvzyS/
n6+urYsWNV+knzJdm7d68KCwtt+998840iIyP1m9/8xoVVOdbcuXO1dOlSrVy5Uq1bt9a+ffv09NNPy8fHR
xMmTHB1eQ41evRoffPNN/rggw/UpEkTffjhh+rdu7e+/
fZb3XXXXa4uz3EMVDs5OTmGJGPbtm2uLsWp6tata/
z5z392dRlOkZ+fb9x7771Gamqq0b17d2PChAmuLsmhpk+fbrRr187VZTjd5MmTjQcffNDVZVS6CRMmGC1at
DCKiopcXYrD9OvXz3jmmWfs2h5//
HFj2LBhLqrIOS5dumS4u7sbn3/+uV17u3btjPj4eBdV5RycAquGcnNzJUn16tVzcSXOUVhYqI8+
+kgXL15UeHi4q8txivHjx6tfv37q3bu3q0txmqNHj6pJkyYKDAzUE088oX//
+9+uLsnh1q9fr7CwMP3mN7+Rr6+vQkJC9N5777m6LKe6cuWKPvzwQz3zzDNV6sOkf82DDz6ozZs368iRI5K
kAwcOaOfOnXrkkUdcXJljXbt2TYWFhfL09LRr9/
Lyqn4fKeXqBAbHKioqMgYMGFAtf+s8ePCgUatWLcPd3d3w8fExvvjiC1eX5BTJyclGmzZtjP/
+97+GYRjVcgVow4YNxl//+lfj4MGDtlUuPz8/48yZM64uzaGsVqthtVqNuLg4Y//+/
cbSpUsNT09PY+XKla4uzWlSUlIMd3d349SpU64uxaGKioqMKVOmGBaLxfDw8DAsFovxxhtvuLospwgPDze6
d+9unDp1yrh27ZrxwQcfGBaLxbjvvvtcXZpDEYCqmXHjxhkBAQHGyZMnXV2KwxUUFBhHjx419u7da0yZMsV
o0KCB8c9//
tPVZTlUZmam4evra2RkZNjaqmMA+qULFy4Yfn5+xltvveXqUhyqRo0aRnh4uF3bCy+8YHTu3NlFFTlfVFSU
0b9/
f1eX4XDJycnG3XffbSQnJxsHDx40Vq1aZdSrV89ISkpydWkO99133xndunUzJBnu7u7GAw88YDz11FNGUFC
Qq0tzKAJQNfK73/3OuPvuu41///
vfri6lUvTq1csYM2aMq8twqHXr1tn+0bmxSTIsFovh7u5uXLt2zdUlOk3v3r2NsWPHuroMh2ratKkxatQou
7bFixcbTZo0cVFFznXixAnDzc3N+PTTT11disPdfffdxrvvvmvXNnv2bKNly5Yuqsj5Lly4YJw+fdowDMMY
OnSo8cgjj7i4IsfiLrBqwDAMvfDCC1q3bp22bt2qwMBAV5dUKQzDUEFBgavLcKhevXrpH//4h13b008/
rVatWmny5MnV8k4pSSooKNChQ4fUtWtXV5fiUF26dCn2SIojR44oICDARRU514oVK+Tr66t+/
fq5uhSHu3Tpktzc7C+bdXd3r5a3wd9Qq1Yt1apVSz/99JM2btyoefPmubokhyIAVQPjx4/
X6tWr9dlnn6lOnTrKzs6WJPn4+MjLy8vF1TnG1KlT1bdvX/n7+ys/P18fffSRtm7dqr///
e+uLs2h6tSpozZt2ti11apVS/Xr1y/WXpW9/PLLGjBggJo2baqcnBz94Q9/
UF5enkaMGOHq0hxq0qRJioiI0BtvvKGhQ4fq//7v/7Rs2TItW7bM1aU5XFFRkVasWKERI0bIw6P6/
WgZMGCAXn/
9dTVt2lStW7dWenq63n77bT3zzDOuLs3hNm7cKMMw1LJlS3333Xd65ZVX1LJlSz399NOuLs2xXLwCBQeQVO
K2YsUKV5fmMM8884wREBBg1KxZ02jYsKHRq1cv46uvvnJ1WZWiOl4DFB0dbTRu3NioUaOG0aRJE+Pxxx+vd
tdz3fC3v/
3NaNOmjWG1Wo1WrVoZy5Ytc3VJTrFx40ZDknH48GFXl+IUeXl5xoQJE4ymTZsanp6eRvPmzY34+HijoKDA1
aU5XEpKitG8eXOjZs2aRqNGjYzx48cb58+fd3VZDmcxDMNwYf4CAACodDwHCAAAmA4BCAAAmA4BCAAAmA4B
CAAAmA4BCAAAmA4BCAAAmA4BCAAAmA4BCIDpXbp0SYMHD5a3t7csFovOnz9fpuNmzJih9u3b2/
ZHjhypQYMGOaVGAI5FAALgcDk5OXruuefUtGlTWa1WNWrUSH369NHu3btdXVqJVq5cqR07dmjXrl3KysqSj
49PhcaZP3++kpKSHFscAKeofh/YAsDlBg8erKtXr2rlypVq3ry5/vOf/
2jz5s06d+6cq0sr0bFjxxQUFHTLn7dW0eAEoPKxAgTAoc6fP6+dO3dq7ty56tmzpwICAtSxY0fFxcXZPiX8
xIkTslgsysjIsDvOYrFo69atkqStW7fKYrFo48aNCgkJkZeXlx566CHl5OToyy+/
VFBQkLy9vfXb3/5Wly5dumlNa9asUevWrWW1WtWsWTO99dZbttd69Oiht956S9u3b5fFYlGPHj1KHWfOnDn
y8/
NTnTp1NGrUKF2+fNnu9V+eAisqKtLcuXN1zz33yGq1qmnTpnr99ddtr586dUrR0dGqW7eu6tevr4EDB+rEi
RM3/wYDcAgCEACHql27tmrXrq1PP/
1UBQUFtzzejBkz9O6772rXrl06efKkhg4dqsTERK1evVpffPGFUlNTtXDhwlKPT0tL09ChQ/XEE0/oH//
4h2bMmKFp06bZTlWtXbtWzz77rMLDw5WVlaW1a9eWOM7HH3+s6dOn6/
XXX9e+ffvUuHFjLV68+Ka1x8XFae7cuZo2bZq+/
fZbrV69Wn5+fpKuX3fUs2dP1a5dW9u3b9fOnTtVu3ZtPfzww7py5UrFvlkAys7Vn8YKoPr561//
atStW9fw9PQ0IiIijLi4OOPAgQO2148fP25IMtLT021tP/
30kyHJ2LJli2EYhrFlyxZDkrFp0yZbn4SEBEOScezYMVvbc889Z/
Tp06fUWp588kkjMjLSru2VV14xgoODbfsTJkwwunfvftM5hYeHG2PHjrVr69Spk9GuXTvb/
ogRI4yBAwcahnH908OtVqvx3nvvlTje8uXLjZYtWxpFRUW2toKCAsPLy8vYuHHjTWsBcOtYAQLgcIMHD9bp
06e1fv169enTR1u3blWHDh0qdIFw27ZtbV/
7+fnpjjvuUPPmze3acnJySj3+0KFD6tKli11bly5ddPToURUWFpa5jkOHDik8PNyu7Zf7v+xfUFCgXr16lf
h6WlqavvvuO9WpU8e2alavXj1dvnxZx44dK3NdACqGi6ABOIWnp6ciIyMVGRmp1157TaNHj9b06dM1cuRIu
bld/93LMAxb/6tXr5Y4To0aNWxfWywWu/0bbUVFRaXWYRiGLBZLsTZn8/LyuunrRUVFCg0N1V/
+8pdirzVs2NBZZQH4/1gBAlApgoODdfHiRUn/+wGflZVle/3nF0Q7+n137txp17Zr1y7dd999cnd3L/
M4QUFB2rNnj13bL/d/
7t5775WXl5c2b95c4usdOnTQ0aNH5evrq3vuucdu424ywPkIQAAc6uzZs3rooYf04Ycf6uDBgzp+/Lg+
+eQTzZs3TwMHDpR0fXWkc+fOmjNnjr799ltt375dr776qlPqeemll7R582bNnj1bR44c0cqVK/Xuu+/
q5ZdfLtc4EyZM0Pvvv6/3339fR44c0fTp0/XPf/6z1P6enp6aPHmyfv/
732vVqlU6duyY9uzZo+XLl0uSnnrqKTVo0EADBw7Ujh07dPz4cW3btk0TJkzQDz/
8cEtzBvDrOAUGwKFq166tTp066Z133tGxY8d09epV+fv769lnn9XUqVNt/
d5//30988wzCgsLU8uWLTVv3jxFRUU5vJ4OHTro448/1muvvabZs2ercePGmjVrlkaOHFmucaKjo3Xs2DFN
njxZly9f1uDBg/X8889r48aNpR4zbdo0eXh46LXXXtPp06fVuHFjjR07VpJ0xx13aPv27Zo8ebIef/
xx5efn66677lKvXr3k7e19K1MGUAYWozJOhgMAANxGOAUGAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMh
wAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABMhwAEAABM5/8B7lazHtWrsKMAAAAASUVORK5C
YII=\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# You can use this cell for your calculations (not graded)\n",
"np.random.seed(0)\n",
"num_trials = 1000000\n",
"first_throw = np.random.choice([1, 2, 3, 4, 5, 6], size=num_trials)\n",
"second_throw = np.random.choice([1, 2, 3, 4, 5, 6], size=num_trials)\n",
"\n",
"second_throw = np.where(first_throw <= 3, second_throw, 0)\n",
"final_outcomes = first_throw + second_throw\n",
"\n",
"plt.hist(final_outcomes, bins=range(2, 11), align='left', rwidth=0.8,
density=True)\n",
"plt.xticks(range(2, 10))\n",
"plt.xlabel('Sum of dice')\n",
"plt.ylabel('Probability')\n",
"plt.title('Histogram of sum')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "82a4db40",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "1944748e06004c0fa5104c3936835e1e",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"ToggleButtons(description='Your answer:', options=('left-most', 'left-
center', 'right-center', 'right-most'), …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ad78254c8465422085abaade527ab201",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Button(button_style='success', description='Save your answer!',
style=ButtonStyle())"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "e25c36f46f5b4859b2fb5b1ebf88eccf",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Run this cell to submit your answer\n",
"utils.exercise_7()"
]
},
{
"cell_type": "markdown",
"id": "ba973eaf",
"metadata": {},
"source": [
"## Exercise 8:\n",
"\n",
"Given the same scenario as in the previous exercise but with the twist that
you only throw the dice a second time if the result of the first throw is
**greater** or equal to 3. Which of the following `probability mass functions` will
be the one you should get given this new constraint?\n",
"\n",
"<table><tr>\n",
"<td> <img src=\"./images/6_sided_cond_green2.png\" style=\"height: 250px;\"/>
</td>\n",
"<td> <img src=\"./images/6_sided_cond_blue2.png\" style=\"height: 250px;\"/>
</td>\n",
"<td> <img src=\"./images/6_sided_cond_red2.png\" style=\"height: 250px;\"/>
</td>\n",
"<td> <img src=\"./images/6_sided_cond_brown2.png\" style=\"height: 250px;\"/>
</td>\n",
"\n",
"</tr></table>\n"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "4d25300f",
"metadata": {},
"outputs": [
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAAkAAAAHFCAYAAAAaD0bAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIH
ZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpA
ABC00lEQVR4nO3de1zX9f3///tbDm/
MA3lEcAjoSjHSDD45MFIzcVamZQuzPExpI9wSyKaIhtkUM+eoVJym2cnDltZcsZScmg2sRCjXmHZAMYUhmm
L6FRBevz/8+V7vAAUEX+Drdr1cXpcP7+fr+Xq+Hk/
aR+8+X4e3zTAMQwAAABbSwuwCAAAArjYCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEA
AAsBwCEAAAsBwCEHCNWbNmjWw2m/bs2VPt/nvvvVf+/v5Obf7+/
po4cWKdzpORkaE5c+bo5MmT9SvUgjZs2KCbbrpJLVu2lM1mU05OjtklAZZFAAKgt99+W7Nnz67TMRkZGXrm
mWcIQLV07NgxjRs3Tj169ND777+vzMxM3XjjjWaXBViWq9kFADBfv379zC6hzsrLy2Wz2eTq2jz+GDtw4ID
Ky8v16KOPauDAgWaXA1geK0AAqlwCq6ys1O9//3v17NlTLVu21PXXX68+ffrohRdekCTNmTNHTz31lCQpIC
BANptNNptNO3bscBy/
cOFC9erVS3a7XZ07d9b48eP17bffOp3XMAzNnz9ffn5+8vDwUEhIiNLT0zVo0CANGjTI0W/Hjh2y2Wx6/
fXX9eSTT6pr166y2+366quvdOzYMcXExKh3795q3bq1OnfurDvvvFO7du1yOtfBgwdls9n0/
PPP67nnnpO/
v79atmypQYMGOcLJjBkz5OPjI09PT91///0qKiqq1e9v8+bNCg0N1XXXXac2bdpo6NChyszMdOyfOHGibr/
9dklSZGSkbDab0/x+7OzZs5o2bZoCAgLk4eGh9u3bKyQkROvWrXP0+fHv6Ifn+uElzsacN9CcNY9/
OgGos4qKCp0/f75Ku2EYlz124cKFmjNnjmbNmqU77rhD5eXl+s9//
uO43BUVFaUTJ07opZde0qZNm+Tt7S1J6t27tyTp8ccf14oVK/Sb3/
xG9957rw4ePKjZs2drx44d2rt3rzp27ChJSkxMVHJysn71q1/
pgQce0OHDhxUVFaXy8vJqLw8lJCQoNDRUy5cvV4sWLdS5c2cdO3ZMkpSUlKQuXbro+++/
19tvv61BgwZp27ZtVULC0qVL1adPHy1dulQnT57Uk08+qREjRqh///
5yc3PT6tWrdejQIU2bNk1RUVHavHnzJX9Xa9eu1SOPPKKIiAitW7dOpaWlWrhwoeP8t99+u2bPnq3bbrtNU
6ZM0fz58zV48GC1bdu2xjHj4+P1+uuv6/e//7369eunM2fO6F//
+peOHz9+2f92NWnoeQPNngHgmvLKK68Yki65+fn5OR3j5+dnTJgwwfH53nvvNW655ZZLnuf55583JBl5eXl
O7bm5uYYkIyYmxqn9448/NiQZM2fONAzDME6cOGHY7XYjMjLSqV9mZqYhyRg4cKCjbfv27YYk44477rjs/
M+fP2+Ul5cbQ4YMMe6//35He15eniHJ6Nu3r1FRUeFoT0lJMSQZ9913n9M4sbGxhiTj1KlTNZ6roqLC8PHx
MW6++WanMU+fPm107tzZCAsLqzKHv/
zlL5edQ1BQkDFq1KhL9hk4cKDT7+iiCRMmOP33bYx5A9cCLoEB16jXXntNn376aZXt4qWYS7ntttv02WefK
SYmRlu2bFFJSUmtz7t9+3ZJqvJU2W233abAwEBt27ZNkrR7926VlpbqoYcecur3s5/9rMpTaheNHj262vbl
y5fr1ltvlYeHh1xdXeXm5qZt27YpNze3St+7775bLVr874+
+wMBASdI999zj1O9ie35+fg0zlfbv36+jR49q3LhxTmO2bt1ao0eP1u7du3X27Nkaj6/Jbbfdpr///
e+aMWOGduzYof/
3//5fncf4sYacN3AtIAAB16jAwECFhIRU2Tw9PS97bEJCghYtWqTdu3dr+PDh6tChg4YMGVLjo/U/
dPEyzcXLYj/k4+Pj2H/x/3p5eVXpV11bTWMuXrxYjz/+uPr376+NGzdq9+7d+vTTT/Xzn/
+82uDQvn17p8/u7u6XbD937ly1tfxwDjXNtbKyUt99912Nx9fkxRdf1PTp0/XOO+9o8ODBat+
+vUaNGqUvv/
yyzmNd1JDzBq4FBCAAVbi6uio+Pl579+7ViRMntG7dOh0+fFjDhg277IpGhw4dJEkFBQVV9h09etRx/8/
Ffv/973+r9CssLKx2bJvNVqXtjTfe0KBBg5Samqp77rlH/
fv3V0hIiE6fPn3pSTaAy821RYsWateuXZ3HbdWqlZ555hn95z//
UWFhoVJTU7V7926NGDHC0cfDw0OlpaVVji0uLq7z+QArIgABuKTrr79eDz74oKZMmaITJ07o4MGDkiS73S5
JVVZZ7rzzTkkXgskPffrpp8rNzdWQIUMkSf3795fdbteGDRuc+u3evVuHDh2qdX02m81Ry0Wff/
6501NYjaVnz57q2rWr1q5d63Rz+ZkzZ7Rx40bHk2FXwsvLSxMnTtTDDz+s/fv3OwKov7+/Dhw44BSCjh8/
royMjCs6H2AVPAUGoIoRI0YoKChIISEh6tSpkw4dOqSUlBT5+fnphhtukCTdfPPNkqQXXnhBEyZMkJubm3r
27KmePXvqV7/6lV566SW1aNFCw4cPdzwF5uvrq7i4OEkXLr3Ex8crOTlZ7dq10/33369vv/
1WzzzzjLy9vZ3uV7mUe++9V88++6ySkpI0cOBA7d+/
X3PnzlVAQEC1T8E1pBYtWmjhwoV65JFHdO+99+rXv/61SktL9fzzz+vkyZNasGBBvcbt37+/
7r33XvXp00ft2rVTbm6uXn/9dadANW7cOP3pT3/So48+qscee0zHjx/XwoULL/l0GYD/
IQABqGLw4MHauHGjXn75ZZWUlKhLly4aOnSoZs+eLTc3N0kX3kOTkJCgV199VStXrlRlZaW2b9/
uuBzVo0cPrVq1SkuXLpWnp6d+/
vOfKzk52XHZSJLmzZunVq1aafny5XrllVfUq1cvpaamKjExUddff32tak1MTNTZs2e1atUqLVy4UL1799by
5cv19ttvO95L1JjGjh2rVq1aKTk5WZGRkXJxcdHPfvYzbd++XWFhYfUa884779TmzZv1xz/
+UWfPnlXXrl01fvx4JSYmOvoMGDBAr776qhYsWKCRI0eqe/
fuSkpKUlpa2lWZN9Dc2QyjFi8FAYCrJC8vT7169VJSUpJmzpxpdjkArlEEIACm+eyzz7Ru3TqFhYWpbdu22
r9/vxYuXKiSkhL961//
qvFpMAC4UlwCA2CaVq1aac+ePVq1apVOnjwpT09PDRo0SPPmzSP8AGhUrAABAADL4TF4AABgOQQgAABgOQQ
gAABgOdwEXY3KykodPXpUbdq0qfbV+wAAoOkxDEOnT5+Wj4/
PZV+mSgCqxtGjR+Xr62t2GQAAoB4OHz6sn/
zkJ5fsQwCqRps2bSRd+AXyWnkAAJqHkpIS+fr6Ov4evxQCUDUuXvZq27YtAQgAgGamNrevcBM0AACwHAIQA
ACwHAIQAACwHAIQAACwHAIQAACwHAIQAACwHAIQAACwHAIQAACwHAIQAACwHAIQAACwHAIQAACwHAIQAACw
HAIQAACwHAIQAACwHAIQAACwHFezC7Ai/
xnvmXLegwvuMeW8AAA0NawAAQAAy2EFCA5mrUxJrE4BAK4uVoAAAIDlEIAAAIDlEIAAAIDlEIAAAIDlEIAA
AIDlEIAAAIDlEIAAAIDlmB6Ali1bpoCAAHl4eCg4OFi7du2qsW9BQYHGjh2rnj17qkWLFoqNja2238mTJzV
lyhR5e3vLw8NDgYGBSktLa6QZAACA5sbUALRhwwbFxsYqMTFR2dnZCg8P1/Dhw5Wfn19t/
9LSUnXq1EmJiYnq27dvtX3Kyso0dOhQHTx4UG+99Zb279+vlStXqmvXro05FQAA0IyY+iboxYsXa/
LkyYqKipIkpaSkaMuWLUpNTVVycnKV/v7+/
nrhhRckSatXr652zNWrV+vEiRPKyMiQm5ubJMnPz6+RZgAAAJoj01aAysrKlJWVpYiICKf2iIgIZWRk1Hvc
zZs3KzQ0VFOmTJGXl5eCgoI0f/58VVRUXGnJAADgGmHaClBxcbEqKirk5eXl1O7l5aXCwsJ6j/vNN9/
oH//4hx555BGlpaXpyy+/1JQpU3T+/Hk9/
fTT1R5TWlqq0tJSx+eSkpJ6nx8AADR9pt8EbbPZnD4bhlGlrS4qKyvVuXNnrVixQsHBwRozZowSExOVmppa
4zHJycny9PR0bL6+vvU+PwAAaPpMC0AdO3aUi4tLldWeoqKiKqtCdeHt7a0bb7xRLi4ujrbAwEAVFhaqrKy
s2mMSEhJ06tQpx3b48OF6nx8AADR9pgUgd3d3BQcHKz093ak9PT1dYWFh9R53wIAB+uqrr1RZWeloO3DggL
y9veXu7l7tMXa7XW3btnXaAADAtcvUS2Dx8fF6+eWXtXr1auXm5iouLk75+fmKjo6WdGFlZvz48U7H5OTkK
CcnR99//72OHTumnJwc/fvf/3bsf/
zxx3X8+HFNnTpVBw4c0Hvvvaf58+drypQpV3VuAACg6TL1MfjIyEgdP35cc+fOVUFBgYKCgpSWluZ4bL2go
KDKO4H69evn+DkrK0tr166Vn5+fDh48KEny9fXV1q1bFRcXpz59+qhr166aOnWqpk+fftXmBQAAmjabYRiG
2UU0NSUlJfL09NSpU6ca5XKY/
4z3GnzM2ji44J5L7jerLunytQEAcDl1+fvb9KfAAAAArjYCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAA
sBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBw
CEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEA
AAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBzTA9CyZcsUEBAgDw8PBQcHa9euXTX2LSgo0NixY
9WzZ0+1aNFCsbGxlxx7/fr1stlsGjVqVMMWDQAAmjVTA9CGDRsUGxurxMREZWdnKzw8XMOHD1d+fn61/
UtLS9WpUyclJiaqb9+
+lxz70KFDmjZtmsLDwxujdAAA0IyZGoAWL16syZMnKyoqSoGBgUpJSZGvr69SU1Or7e/
v768XXnhB48ePl6enZ43jVlRU6JFHHtEzzzyj7t27N1b5AACgmTItAJWVlSkrK0sRERFO7REREcrIyLiise
fOnatOnTpp8uTJtepfWlqqkpISpw0AAFy7TAtAxcXFqqiokJeXl1O7l5eXCgsL6z3uP//
5T61atUorV66s9THJycny9PR0bL6+vvU+PwAAaPpMvwnaZrM5fTYMo0pbbZ0+fVqPPvqoVq5cqY4dO9b6uI
SEBJ06dcqxHT58uF7nBwAAzYOrWSfu2LGjXFxcqqz2FBUVVVkVqq2vv/
5aBw8e1IgRIxxtlZWVkiRXV1ft379fPXr0qHKc3W6X3W6v1zkBAEDzY9oKkLu7u4KDg5Wenu7Unp6errCws
HqN2atXL+3bt085OTmO7b777tPgwYOVk5PDpS0AACDJxBUgSYqPj9e4ceMUEhKi0NBQrVixQvn5+YqOjpZ0
4dLUkSNH9NprrzmOycnJkSR9//33OnbsmHJycuTu7q7evXvLw8NDQUFBTue4/
vrrJalKOwAAsC5TA1BkZKSOHz+uuXPnqqCgQEFBQUpLS5Ofn5+kCy8+/
PE7gfr16+f4OSsrS2vXrpWfn58OHjx4NUsHAADNmKkBSJJiYmIUExNT7b41a9ZUaTMMo07jVzcGAACwNtOf
AgMAALjaCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEA
AAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAM
ByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByCEAAAMByT
A9Ay5YtU0BAgDw8PBQcHKxdu3bV2LegoEBjx45Vz5491aJFC8XGxlbps3LlSoWHh6tdu3Zq166d7rrrLn3y
ySeNOAMAANDcmBqANmzYoNjYWCUmJio7O1vh4eEaPny48vPzq+1fWlqqTp06KTExUX379q22z44dO/
Twww9r+/btyszMVLdu3RQREaEjR4405lQAAEAzYmoAWrx4sSZPnqyoqCgFBgYqJSVFvr6+Sk1Nrba/v7+/
XnjhBY0fP16enp7V9nnzzTcVExOjW265Rb169dLKlStVWVmpbdu2NeZUAABAM2JaACorK1NWVpYiIiKc2iM
iIpSRkdFg5zl79qzKy8vVvn37GvuUlpaqpKTEaQMAANcu0wJQcXGxKioq5OXl5dTu5eWlwsLCBjvPjBkz1L
VrV91111019klOTpanp6dj8/
X1bbDzAwCApsf0m6BtNpvTZ8MwqrTV18KFC7Vu3Tpt2rRJHh4eNfZLSEjQqVOnHNvhw4cb5PwAAKBpcjXrx
B07dpSLi0uV1Z6ioqIqq0L1sWjRIs2fP18ffPCB+vTpc8m+drtddrv9is8JAACaB9NWgNzd3RUcHKz09HSn
9vT0dIWFhV3R2M8//7yeffZZvf/+
+woJCbmisQAAwLXHtBUgSYqPj9e4ceMUEhKi0NBQrVixQvn5+YqOjpZ04dLUkSNH9NprrzmOycnJkSR9//3
3OnbsmHJycuTu7q7evXtLunDZa/bs2Vq7dq38/
f0dK0ytW7dW69atr+4EAQBAk2RqAIqMjNTx48c1d+5cFRQUKCgoSGlpafLz85N04cWHP34nUL9+/Rw/
Z2Vlae3atfLz89PBgwclXXixYllZmR588EGn45KSkjRnzpxGnQ8AAGgeTA1AkhQTE6OYmJhq961Zs6ZKm2E
YlxzvYhACAACoielPgQEAAFxtBCAAAGA5BCAAAGA5BCAAAGA5BCAAAGA5BCAAAGA5BCAAAGA5BCAAAGA5BC
AAAGA5BCAAAGA5BCAAAGA5pn8XGACgev4z3jPt3AcX3HPJ/
WbVdrm6gNoiAAGwvKYcNAA0Di6BAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEA
AQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAAy6lXAFqzZo3Onj3b0LUAAABcFfUKQAk
JCerSpYsmT56sjIyMhq4JAACgUdUrAH377bd644039N1332nw4MHq1auXnnvuORUWFjZ0fQAAAA2uXgHIxc
VF9913nzZt2qTDhw/rV7/6ld58801169ZN9913n/
7617+qsrKyoWsFAABoEFd8E3Tnzp01YMAAhYaGqkWLFtq3b58mTpyoHj16aMeOHZc9ftmyZQoICJCHh4eCg
4O1a9euGvsWFBRo7Nix6tmzp1q0aKHY2Nhq+23cuFG9e/
eW3W5X79699fbbb9dzdgAA4FpU7wD03//+V4sWLdJNN92kQYMGqaSkRO++
+67y8vJ09OhRPfDAA5owYcIlx9iwYYNiY2OVmJio7OxshYeHa/
jw4crPz6+2f2lpqTp16qTExET17du32j6ZmZmKjIzUuHHj9Nlnn2ncuHF66KGH9PHHH9d3qgAA4BpTrwA0Y
sQI+fr6as2aNXrsscd05MgRrVu3TnfddZckqWXLlnryySd1+PDhS46zePFiTZ48WVFRUQoMDFRKSop8fX2V
mppabX9/
f3+98MILGj9+vDw9Pavtk5KSoqFDhyohIUG9evVSQkKChgwZopSUlPpMFQAAXINc63NQ586dtXPnToWGhtb
Yx9vbW3l5eTXuLysrU1ZWlmbMmOHUHhERcUVPlmVmZiouLs6pbdiwYZcMQKWlpSotLXV8Likpqff5AQBA01
evFaCBAwfq1ltvrdJeVlam1157TZJks9nk5+dX4xjFxcWqqKiQl5eXU7uXl9cVPU1WWFhY5zGTk5Pl6enp2
Hx9fet9fgAA0PTVKwD98pe/1KlTp6q0nz59Wr/85S/
rNJbNZnP6bBhGlba6quuYCQkJOnXqlGO73KU7AADQvNXrElhNgeLbb7+t8d6cH+vYsaNcXFyqrMwUFRVVWc
Gpiy5dutR5TLvdLrvdXu9zAgCA5qVOAahfv36y2Wyy2WwaMmSIXF3/d3hFRYXy8vL085//
vFZjubu7Kzg4WOnp6br//vsd7enp6Ro5cmRdynISGhqq9PR0p/
uAtm7dqrCwsHqPCQAAri11CkCjRo2SJOXk5GjYsGFq3bq1Y5+7u7v8/
f01evToWo8XHx+vcePGKSQkRKGhoVqxYoXy8/MVHR0t6cKlqSNHjjjuK7p4bkn6/
vvvdezYMeXk5Mjd3V29e/eWJE2dOlV33HGHnnvuOY0cOVJ//
etf9cEHH+ijjz6qy1QBAMA1rE4BKCkpSdKFx9EjIyPl4eFxRSePjIzU8ePHNXfuXBUUFCgoKEhpaWmOm6cL
CgqqvBOoX79+jp+zsrK0du1a+fn56eDBg5KksLAwrV+/
XrNmzdLs2bPVo0cPbdiwQf3797+iWgEAwLWjXvcAXe4Fh3URExOjmJiYavetWbOmSpthGJcd88EHH9SDDz5
4paUBAIBrVK0DUPv27XXgwAF17NhR7dq1u+RTVSdOnGiQ4gAAABpDrQPQH//
4R7Vp08bx85U+qg4AAGCWWgegH172mjhxYmPUAgAAcFXUOgDV5esh2rZtW69iAAAAroZaB6Drr7/+spe9Lr
4gsaKi4ooLAwAAaCy1DkDbt29vzDoAAACumloHoIEDBzZmHQAAAFdNrQPQ559/rqCgILVo0UKff/
75Jfv26dPnigsDAABoLLUOQLfccosKCwvVuXNn3XLLLbLZbNW+lJB7gAAAQFNX6wCUl5enTp06OX4GAABor
modgC5+P9ePfwYAAGhu6vVdYJK0f/9+vfTSS8rNzZXNZlOvXr3029/+Vj179mzI+gAAABpci/
oc9NZbbykoKEhZWVnq27ev+vTpo7179yooKEh/+ctfGrpGAACABlWvFaDf/
e53SkhI0Ny5c53ak5KSNH36dP3iF79okOIAAAAaQ71WgAoLCzV+/Pgq7Y8+
+qgKCwuvuCgAAIDGVK8ANGjQIO3atatK+0cffaTw8PArLgoAAKAx1foS2ObNmx0/33fffZo+fbqysrL0s5/
9TJK0e/du/
eUvf9EzzzzT8FUCAAA0oFoHoFGjRlVpW7ZsmZYtW+bUNmXKFEVHR19xYQAAAI2l1gGosrKyMesAAAC4aup1
DxAAAEBzVu8XIZ45c0Y7d+5Ufn6+ysrKnPY98cQTV1wYAABAY6lXAMrOztbdd9+ts2fP6syZM2rfvr2Ki4t
13XXXqXPnzgQgAADQpNXrElhcXJxGjBihEydOqGXLltq9e7cOHTqk4OBgLVq0qKFrBAAAaFD1CkA5OTl68s
kn5eLiIhcXF5WWlsrX11cLFy7UzJkzG7pGAACABlWvAOTm5iabzSZJ8vLyUn5+viTJ09PT8TMAAEBTVa97g
Pr166c9e/boxhtv1ODBg/X000+ruLhYr7/+um6++eaGrhEAAKBB1WsFaP78+fL29pYkPfvss+rQoYMef/
xxFRUVacWKFQ1aIAAAQEOr1wpQSEiI4+dOnTopLS2twQoCAABobPV+D5AkFRUVaf/+/bLZbOrZs6c
6derUUHUBAFBn/jPeM+W8BxfcY8p5UX/
1CkAlJSWaMmWK1q9fr4qKCkmSi4uLIiMjtXTpUnl6ejZokQCuDfzlBKCpqNc9QFFRUfr444/17rvv6uTJkz
p16pTeffdd7dmzR4899lhD1wgAANCg6hWA3nvvPa1evVrDhg1T27Zt1aZNGw0bNkwrV67Ue+/
V7V94y5YtU0BAgDw8PBQcHKxdu3Zdsv/OnTsVHBwsDw8Pde/eXcuXL6/
SJyUlRT179lTLli3l6+uruLg4nTt3rk51AQCAa1e9AlCHDh2qvczl6empdu3a1XqcDRs2KDY2VomJicrOzl
Z4eLiGDx9e47uE8vLydPfddys8PFzZ2dmaOXOmnnjiCW3cuNHR580339SMGTOUlJSk3NxcrVq1Shs2bFBCQ
kLdJwoAAK5J9QpAs2bNUnx8vAoKChxthYWFeuqppzR79uxaj7N48WJNnjxZUVFRCgwMVEpKinx9fZWamlpt
/+XLl6tbt25KSUlRYGCgoqKiNGnSJKev38jMzNSAAQM0duxY+fv7KyIiQg8//
LD27NlTn6kCAIBrUK1vgu7Xr5/j7c+S9OWXX8rPz0/dunWTJOXn58tut+vYsWP69a9/
fdnxysrKlJWVpRkzZji1R0REKCMjo9pjMjMzFRER4dQ2bNgwrVq1SuXl5XJzc9Ptt9+uN954Q5988oluu+0
2ffPNN0pLS9OECRNqrKW0tFSlpaWOzyUlJZetHwAANF+1DkCjRo1q0BMXFxeroqJCXl5eTu1eXl4qLCys9p
jCwsJq+58/f17FxcXy9vbWmDFjdOzYMd1+++0yDEPnz5/X448/XiVo/
VBycrKeeeaZK58UAABoFmodgJKSkhqlgB+uKkmSYRhV2i7X/
4ftO3bs0Lx587Rs2TL1799fX331laZOnSpvb+8aL88lJCQoPj7e8bmkpES+vr71mg8AAGj6ruhFiFlZWcrN
zZXNZlPv3r3Vr1+/Wh/bsWNHubi4VFntKSoqqrLKc1GXLl2q7e/
q6qoOHTpIkmbPnq1x48YpKipKknTzzTfrzJkz+tWvfqXExES1aFH1tie73S673V7r2gEAQPNWrwBUVFSkMW
PGaMeOHbr++utlGIZOnTqlwYMHa/369bV6I7S7u7uCg4OVnp6u+++/39Genp6ukSNHVntMaGio/
va3vzm1bd26VSEhIXJzc5MknT17tkrIcXFxkWEYjtUiAABgbfV6Cuy3v/
2tSkpK9MUXX+jEiRP67rvv9K9//
UslJSV64oknaj1OfHy8Xn75Za1evVq5ubmKi4tTfn6+oqOjJV24NDV+/HhH/
+joaB06dEjx8fHKzc3V6tWrtWrVKk2bNs3RZ8SIEUpNTdX69euVl5en9PR0zZ49W/
fdd59cXFzqM10AAHCNqdcK0Pvvv68PPvhAgYGBjrbevXtr6dKlVZ7SupTIyEgdP35cc+fOVUFBgYKCgpSWl
iY/
Pz9JUkFBgdM7gQICApSWlqa4uDgtXbpUPj4+evHFFzV69GhHn1mzZslms2nWrFk6cuSIOnXqpBEjRmjevHn
1mSoAALgG1SsAVVZWOi45/ZCbm5sqKyvrNFZMTIxiYmKq3bdmzZoqbQMHDtTevXtrHM/
V1VVJSUmNdtM2AABo/up1CezOO+/U1KlTdfToUUfbkSNHFBcXpyFDhjRYcQAAAI2hXgFoyZIlOn36tPz9/
dWjRw/99Kc/VUBAgE6fPq2XXnqpoWsEAABoUPW6BObr66u9e/cqPT1d//
nPf2QYhnr37q277rqroesDAABocHUOQOfPn5eHh4dycnI0dOhQDR06tDHqAgAAaDR1vgTm6uoqPz8/
VVRUNEY9AAAAja7e3wafkJCgEydONHQ9AAAAja5e9wC9+OKL+uqrr+Tj4yM/
Pz+1atXKaf+lHlMHAAAwW70C0KhRo2Sz2fhqCQAA0CzVKQCdPXtWTz31lN555x2Vl5dryJAheumll9SxY8f
Gqg8AAKDB1ekeoKSkJK1Zs0b33HOPHn74YX3wwQd6/
PHHG6s2AACARlGnFaBNmzZp1apVGjNmjCTpkUce0YABA1RRUcEXjQIAgGajTitAhw8fVnh4uOPzbbfdJldX
V6evxAAAAGjq6hSAKioq5O7u7tTm6uqq8+fPN2hRAAAAjalOl8AMw9DEiRNlt9sdbefOnVN0dLTTo/
CbNm1quAoBAAAaWJ0C0IQJE6q0Pfroow1WDAAAwNVQpwD0yiuvNFYdAAAAV029vgoDAACgOSMAAQAAyyEAA
QAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAAyyEAAQAA
yyEAAQAAyyEAAQAAyzE9AC1btkwBAQHy8PBQcHCwdu3adcn+O3fuVHBwsDw8PNS9e3ctX768Sp+TJ09qypQ
p8vb2loeHhwIDA5WWltZYUwAAAM2MqQFow4YNio2NVWJiorKzsxUeHq7hw4crPz+/2v55eXm6+
+67FR4eruzsbM2cOVNPPPGENm7c6OhTVlamoUOH6uDBg3rrrbe0f/
9+rVy5Ul27dr1a0wIAAE2cq5knX7x4sSZPnqyoqChJUkpKirZs2aLU1FQlJydX6b98+XJ169ZNKSkpkqTAw
EDt2bNHixYt0ujRoyVJq1ev1okTJ5SRkSE3NzdJkp+f39WZEAAAaBZMWwEqKytTVlaWIiIinNojIiKUkZFR
7TGZmZlV+g8bNkx79uxReXm5JGnz5s0KDQ3VlClT5OXlpaCgIM2fP18VFRU11lJaWqqSkhKnDQAAXLtMC0D
FxcWqqKiQl5eXU7uXl5cKCwurPaawsLDa/ufPn1dxcbEk6ZtvvtFbb72liooKpaWladasWfrDH/
6gefPm1VhLcnKyPD09HZuvr+8Vzg4AADRlpt8EbbPZnD4bhlGl7XL9f9heWVmpzp07a8WKFQoODtaYMWOUm
Jio1NTUGsdMSEjQqVOnHNvhw4frOx0AANAMmHYPUMeOHeXi4lJltaeoqKjKKs9FXbp0qba/
q6urOnToIEny9vaWm5ubXFxcHH0CAwNVWFiosrIyubu7VxnXbrfLbrdf6ZQAAEAzYdoKkLu7u4KDg5Wenu7
Unp6errCwsGqPCQ0NrdJ/
69atCgkJcdzwPGDAAH311VeqrKx09Dlw4IC8vb2rDT8AAMB6TL0EFh8fr5dfflmrV69Wbm6u4uLilJ+fr+j
oaEkXLk2NHz/e0T86OlqHDh1SfHy8cnNztXr1aq1atUrTpk1z9Hn88cd1/
PhxTZ06VQcOHNB7772n+fPna8qUKVd9fgAAoGky9TH4yMhIHT9+XHPnzlVBQYGCgoKUlpbmeGy9oKDA6Z1A
AQEBSktLU1xcnJYuXSofHx+9+OKLjkfgJcnX11dbt25VXFyc+vTpo65du2rq1KmaPn36VZ8fAABomkwNQJI
UExOjmJiYavetWbOmStvAgQO1d+/
eS44ZGhqq3bt3N0R5AADgGmT6U2AAAABXGwEIAABYjumXwAA0PP8Z75ly3oML7jHlvABQV6wAAQAAy2EFCA
CARmbWqqzEymxNWAECAACWQwACAACWQwACAACWQwACAACWQwACAACWQwACAACWQwACAACWQwACAACWQwACA
ACWQwACAACWQwACAACWQwACAACWQwACAACWQwACAACWQwACAACWQwACAACWQwACAACWQwACAACWQwACAACW
QwACAACWQwACAACWQwACAACWQwACAACWQwACAACWQwACAACWQwACAACWY3oAWrZsmQICAuTh4aHg4GDt2rX
rkv137typ4OBgeXh4qHv37lq+fHmNfdevXy+bzaZRo0Y1cNUAAKA5MzUAbdiwQbGxsUpMTFR2drbCw8M1fP
hw5efnV9s/
Ly9Pd999t8LDw5Wdna2ZM2fqiSee0MaNG6v0PXTokKZNm6bw8PDGngYAAGhmTA1Aixcv1uTJkxUVFaXAwEC
lpKTI19dXqamp1fZfvny5unXrppSUFAUGBioqKkqTJk3SokWLnPpVVFTokUce0TPPPKPu3btfjakAAIBmxL
QAVFZWpqysLEVERDi1R0REKCMjo9pjMjMzq/QfNmyY9uzZo/
Lyckfb3Llz1alTJ02ePLlWtZSWlqqkpMRpAwAA1y7TAlBxcbEqKirk5eXl1O7l5aXCwsJqjyksLKy2//
nz51VcXCxJ+uc//6lVq1Zp5cqVta4lOTlZnp6ejs3X17eOswEAAM2J6TdB22w2p8+GYVRpu1z/i+2nT5/
Wo48+qpUrV6pjx461riEhIUGnTp1ybIcPH67DDAAAQHPjataJO3bsKBcXlyqrPUVFRVVWeS7q0qVLtf1dXV
3VoUMHffHFFzp48KBGjBjh2F9ZWSlJcnV11f79+9WjR48q49rtdtnt9iudEgAAaCZMWwFyd3dXcHCw0tPTn
drT09MVFhZW7TGhoaFV+m/dulUhISFyc3NTr169tG/fPuXk5Di2+
+67T4MHD1ZOTg6XtgAAgCQTV4AkKT4+XuPGjVNISIhCQ0O1YsUK5efnKzo6WtKFS1NHjhzRa6+9JkmKjo7W
kiVLFB8fr8cee0yZmZlatWqV1q1bJ0ny8PBQUFCQ0zmuv/
56SarSDgAArMvUABQZGanjx49r7ty5KigoUFBQkNLS0uTn5ydJKigocHonUEBAgNLS0hQXF6elS5fKx8dHL
774okaPHm3WFAAAQDNkagCSpJiYGMXExFS7b82aNVXaBg4cqL1799Z6/
OrGAAAA1mb6U2AAAABXGwEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABY
DgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYDgEIAABYjqv
ZBQDNlf+M90w798EF95h2bgDXDiv/
OcYKEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBwCEAAAsBw
CEAAAsBzTA9CyZcsUEBAgDw8PBQcHa9euXZfsv3PnTgUHB8vDw0Pdu3fX8uXLnfavXLlS4eHhateundq1a6
e77rpLn3zySWNOAQAANDOmBqANGzYoNjZWiYmJys7OVnh4uIYPH678/Pxq+
+fl5enuu+9WeHi4srOzNXPmTD3xxBPauHGjo8+OHTv08MMPa/
v27crMzFS3bt0UERGhI0eOXK1pAQCAJs7UALR48WJNnjxZUVFRCgwMVEpKinx9fZWamlpt/
+XLl6tbt25KSUlRYGCgoqKiNGnSJC1atMjR580331RMTIxuueUW9erVSytXrlRlZaW2bdt2taYFAACaONMC
UFlZmbKyshQREeHUHhERoYyMjGqPyczMrNJ/
2LBh2rNnj8rLy6s95uzZsyovL1f79u0bpnAAANDsuZp14uLiYlVUVMjLy8up3cvLS4WFhdUeU1hYWG3/8+f
Pq7i4WN7e3lWOmTFjhrp27aq77rqrxlpKS0tVWlrq+FxSUlKXqQAAgGbG9JugbTab02fDMKq0Xa5/
de2StHDhQq1bt06bNm2Sh4dHjWMmJyfL09PTsfn6+tZlCgAAoJkxLQB17NhRLi4uVVZ7ioqKqqzyXNSlS5d
q+7u6uqpDhw5O7YsWLdL8+fO1detW9enT55K1JCQk6NSpU47t8OHD9ZgRAABoLkwLQO7u7goODlZ6erpTe3
p6usLCwqo9JjQ0tEr/rVu3KiQkRG5ubo62559/Xs8++6zef/
99hYSEXLYWu92utm3bOm0AAODaZeolsPj4eL388stavXq1cnNzFRcXp/z8fEVHR0u6sDIzfvx4R//
o6GgdOnRI8fHxys3N1erVq7Vq1SpNmzbN0WfhwoWaNWuWVq9eLX9/fxUWFqqwsFDff//
9VZ8fAABomky7CVqSIiMjdfz4cc2dO1cFBQUKCgpSWlqa/
Pz8JEkFBQVO7wQKCAhQWlqa4uLitHTpUvn4+OjFF1/
U6NGjHX2WLVumsrIyPfjgg07nSkpK0pw5c67KvAAAQNNmagCSpJiYGMXExFS7b82aNVXaBg4cqL1799Y43s
GDBxuoMgAAcK0y/
SkwAACAq40ABAAALIcABAAALIcABAAALIcABAAALIcABAAALIcABAAALIcABAAALIcABAAALIcABAAALIcA
BAAALIcABAAALIcABAAALIcABAAALIcABAAALIcABAAALIcABAAALIcABAAALIcABAAALIcABAAALIcABAA
ALIcABAAALIcABAAALIcABAAALIcABAAALIcABAAALIcABAAALIcABAAALIcABAAALIcABAAALIcABAAALM
f0ALRs2TIFBATIw8NDwcHB2rVr1yX779y5U8HBwfLw8FD37t21fPnyKn02btyo3r17y263q3fv3nr77bcbq
3wAANAMmRqANmzYoNjYWCUmJio7O1vh4eEaPny48vPzq+2fl5enu++
+W+Hh4crOztbMmTP1xBNPaOPGjY4+mZmZioyM1Lhx4/TZZ59p3Lhxeuihh/
Txxx9frWkBAIAmztQAtHjxYk2ePFlRUVEKDAxUSkqKfH19lZqaWm3/5cuXq1u3bkpJSVFgYKCioqI0adIkL
Vq0yNEnJSVFQ4cOVUJCgnr16qWEhAQNGTJEKSkpV2lWAACgqTMtAJWVlSkrK0sRERFO7REREcrIyKj2mMzM
zCr9hw0bpj179qi8vPySfWoaEwAAWI+rWScuLi5WRUWFvLy8nNq9vLxUWFhY7TGFhYXV9j9//
ryKi4vl7e1dY5+axpSk0tJSlZaWOj6fOnVKklRSUlKnOdVWZenZRhn3ci43H7Pqkhrvd92YmvLvi/
+NOWuqdUmXrq2p1iXx3/LHmmpdUvP939iVjGkYxmX7mhaALrLZbE6fDcOo0na5/
j9ur+uYycnJeuaZZ6q0+/r61lx4M+SZYnYFNWvKtTVFTfX3RV1111Rro666aap1SU23tsas6/Tp0/
L09LxkH9MCUMeOHeXi4lJlZaaoqKjKCs5FXbp0qba/
q6urOnTocMk+NY0pSQkJCYqPj3d8rqys1IkTJ9ShQ4dLBidcUFJSIl9fXx0+fFht27Y1uxwnTbU26qob6qq
7plobddUNddWNYRg6ffq0fHx8LtvXtADk7u6u4OBgpaen6/7773e0p6ena+TIkdUeExoaqr/
97W9ObVu3blVISIjc3NwcfdLT0xUXF+fUJywsrMZa7Ha77Ha7U9v1119f1ylZXtu2bZvU/
yP8UFOtjbrqhrrqrqnWRl11Q121d7mVn4tMvQQWHx+vcePGKSQkRKGhoVqxYoXy8/MVHR0t6cLKzJEjR/
Taa69JkqKjo7VkyRLFx8frscceU2ZmplatWqV169Y5xpw6daruuOMOPffccxo5cqT++te/
6oMPPtBHH31kyhwBAEDTY2oAioyM1PHjxzV37lwVFBQoKChIaWlp8vPzkyQVFBQ4vRMoICBAaWlpiouL09K
lS+Xj46MXX3xRo0ePdvQJCwvT+vXrNWvWLM2ePVs9evTQhg0b1L9//6s+PwAA0DSZfhN0TEyMYmJiqt23Zs
2aKm0DBw7U3r17Lznmgw8+qAcffLAhykMt2O12JSUlVbmM2BQ01dqoq26oq+6aam3UVTfU1XhsRm2eFQMAA
LiGmP5dYAAAAFcbAQgAAFgOAQgAAFgOAQgAAFgOAQj1lpycrP/7v/
9TmzZt1LlzZ40aNUr79+83uyylpqaqT58+jhd0hYaG6u9//7vZZVWRnJwsm82m2NhYs0vRnDlzZLPZnLYuX
bqYXZYk6ciRI3r00UfVoUMHXXfddbrllluUlZVlak3+/
v5Vfl82m01Tpkwxta7z589r1qxZCggIUMuWLdW9e3fNnTtXlZWVptYlXfhqgtjYWPn5+ally5YKCwvTp59+
etXr+PDDDzVixAj5+PjIZrPpnXfecdpvGIbmzJkjHx8ftWzZUoMGDdIXX3xhel2bNm3SsGHD1LFjR9lsNuX
k5DR6TZerq7y8XNOnT9fNN9+sVq1aycfHR+PHj9fRo0evSm1XigCEetu5c6emTJmi3bt3Kz09XefPn1dERI
TOnDljal0/+clPtGDBAu3Zs0d79uzRnXfeqZEjR16VP8Rq69NPP9WKFSvUp08fs0txuOmmm1RQUODY9u3bZ
3ZJ+u677zRgwAC5ubnp73//u/7973/rD3/4g+lvav/000+dflfp6emSpF/
84hem1vXcc89p+fLlWrJkiXJzc7Vw4UI9//zzeumll0ytS5KioqKUnp6u119/
Xfv27VNERITuuusuHTly5KrWcebMGfXt21dLliypdv/ChQu1ePFiLVmyRJ9+
+qm6dOmioUOH6vTp06bWdebMGQ0YMEALFixo1DrqUtfZs2e1d+9ezZ49W3v37tWmTZt04MAB3XfffVe1xno
zgAZSVFRkSDJ27txpdilVtGvXznj55ZfNLsMwDMM4ffq0ccMNNxjp6enGwIEDjalTp5pdkpGUlGT07dvX7D
KqmD59unH77bebXcZlTZ061ejRo4dRWVlpah333HOPMWnSJKe2Bx54wHj00UdNquiCs2fPGi4uLsa7777r1
N63b18jMTHRpKoMQ5Lx9ttvOz5XVlYaXbp0MRYsWOBoO3funOHp6WksX77ctLp+KC8vz5BkZGdnX7V6LrpU
XRd98sknhiTj0KFDV6eoK8AKEBrMqVOnJEnt27c3uZL/
qaio0Pr163XmzBmFhoaaXY4kacqUKbrnnnt01113mV2Kky+//
FI+Pj4KCAjQmDFj9M0335hdkjZv3qyQkBD94he/UOfOndWvXz+tXLnS7LKclJWV6Y033tCkSZNM//
Lk22+/Xdu2bdOBAwckSZ999pk+
+ugj3X333abWdf78eVVUVMjDw8OpvWXLlk3qa4ry8vJUWFioiIgIR5vdbtfAgQOVkZFhYmXNx6lTp2Sz2Ux
fpa0N098EjWuDYRiKj4/
X7bffrqCgILPL0b59+xQaGqpz586pdevWevvtt9W7d2+zy9L69eu1d+9eU+59uJT+/fvrtdde04033qj//
ve/
+v3vf6+wsDB98cUX6tChg2l1ffPNN0pNTVV8fLxmzpypTz75RE888YTsdrvGjx9vWl0/9M477+jkyZOaOHG
i2aVo+vTpOnXqlHr16iUXFxdVVFRo3rx5evjhh02tq02bNgoNDdWzzz6rwMBAeXl5ad26dfr44491ww03mF
rbDxUWFkqSvLy8nNq9vLx06NAhM0pqVs6dO6cZM2Zo7NixTe4LUqtDAEKD+M1vfqPPP/
+8yfxrrmfPnsrJydHJkye1ceNGTZgwQTt37jQ1BB0+fFhTp07V1q1bq/xL2GzDhw93/
HzzzTcrNDRUPXr00Kuvvqr4+HjT6qqsrFRISIjmz58vSerXr5++
+OILpaamNpkAtGrVKg0fPlw+Pj5ml6INGzbojTfe0Nq1a3XTTTcpJydHsbGx8vHx0YQJE0yt7fXXX9ekSZP
UtWtXubi46NZbb9XYsWMv+9VGZvjxSp5hGKav7jV15eXlGjNmjCorK7Vs2TKzy6kVAhCu2G9/+1tt3rxZH3
74oX7yk5+YXY4kyd3dXT/
96U8lSSEhIfr000/1wgsv6E9/+pNpNWVlZamoqEjBwcGOtoqKCn344YdasmSJSktL5eLiYlp9P9SqVSvdfP
PN+vLLL02tw9vbu0poDQwM1MaNG02qyNmhQ4f0wQcfaNOmTWaXIkl66qmnNGPGDI0ZM0bShTB76NAhJScnm
x6AevTooZ07d+rMmTMqKSmRt7e3IiMjFRAQYGpdP3TxycfCwkJ5e3s72ouKiqqsCuF/
ysvL9dBDDykvL0//+Mc/msXqj8RTYLgChmHoN7/5jTZt2qR//
OMfTeoPsh8zDEOlpaWm1jBkyBDt27dPOTk5ji0kJESPPPKIcnJymkz4kaTS0lLl5uY6/S
VghgEDBlR5tcKBAwfk5+dnUkXOXnnlFXXu3Fn33HOP2aVIuvBUTosWzn+su7i4NInH4C9q1aqVvL299d133
2nLli0aOXKk2SU5BAQEqEuXLo6n+qQL93jt3LlTYWFhJlbWdF0MP19++aU+
+OADUy+Z1xUrQKi3KVOmaO3atfrrX/
+qNm3aOK6fe3p6qmXLlqbVNXPmTA0fPly+vr46ffq01q9frx07duj99983rSbpwn0QP74/
qlWrVurQoYPp901NmzZNI0aMULdu3VRUVKTf//73KikpMX3VIC4uTmFhYZo/
f74eeughffLJJ1qxYoVWrFhhal3Shctzr7zyiiZMmCBX16bxR+mIESM0b948devWTTfddJOys7O1ePFiTZo
0yezStGXLFhmGoZ49e+qrr77SU089pZ49e+qXv/zlVa3j+++/
11dffeX4nJeXp5ycHLVv317dunVTbGys5s+frxtuuEE33HCD5s+fr+uuu05jx441ta4TJ04oPz/f8Y6di/
8w6NKlS6O+s+tSdfn4+OjBBx/
U3r179e6776qiosLx90D79u3l7u7eaHU1CFOfQUOzJqna7ZVXXjG1rkmTJhl+fn6Gu7u70alTJ2PIkCHG1q
1bTa2pJk3lMfjIyEjD29vbcHNzM3x8fIwHHnjA+OKLL8wuyzAMw/
jb3/5mBAUFGXa73ejVq5exYsUKs0syDMMwtmzZYkgy9u/
fb3YpDiUlJcbUqVONbt26GR4eHkb37t2NxMREo7S01OzSjA0bNhjdu3c33N3djS5duhhTpkwxTp48edXr2L
59e7V/
bk2YMMEwjAuPwiclJRldunQx7Ha7cccddxj79u0zva5XXnml2v1JSUmm1XXxkfzqtu3btzdqXQ3BZhiG0eg
pCwAAoAnhHiAAAGA5BCAAAGA5BCAAAGA5BCAAAGA5BCAAAGA5BCAAAGA5BCAAAGA5BCAAlnf27FmNHj1abd
u2lc1m08mTJ2t13Jw5c3TLLbc4Pk+cOFGjRo1qlBoBNCwCEIAGV1RUpF//
+tfq1q2b7Ha7unTpomHDhikzM9Ps0qr16quvateuXcrIyFBBQYE8PT3rNc4LL7ygNWvWNGxxABpF0/
gCGwDXlNGjR6u8vFyvvvqqunfvrv/+97/atm2bTpw4YXZp1fr6668VGBh4xd/JVt/
gBODqYwUIQIM6efKkPvroIz333HMaPHiw/
Pz8dNtttykhIcHxrekHDx6UzWZTTk6O03E2m007duyQJO3YsUM2m01btmxRv3791LJlS915550qKirS3//+
dwUGBqpt27Z6+OGHdfbs2UvWtHHjRt10002y2+3y9/fXH/7wB8e+QYMG6Q9/+IM+/
PBD2Ww2DRo0qMZxFixYIC8vL7Vp00aTJ0/WuXPnnPb/+BJYZWWlnnvuOf30pz+V3W5Xt27dNG/
ePMf+I0eOKDIyUu3atVOHDh00cuRIHTx48NK/YAANggAEoEG1bt1arVu31jvvvKPS0tIrHm/
OnDlasmSJMjIydPjwYT300ENKSUnR2rVr9d577yk9PV0vvfRSjcdnZWXpoYce0pgxY7Rv3z7NmTNHs2fPdl
yq2rRpkx577DGFhoaqoKBAmzZtqnacP//5z0pKStK8efO0Z88eeXt7a9myZZesPSEhQc8995xmz56tf//
731q7dq28vLwkXbjvaPDgwWrdurU+/PBDffTRR2rdurV+/vOfq6ysrH6/LAC1Z/
a3sQK49rz11ltGu3btDA8PDyMsLMxISEgwPvvsM8f+i98inZ2d7Wj77rvvnL5F+uK3UH/
wwQeOPsnJyYYk4+uvv3a0/
frXvzaGDRtWYy1jx441hg4d6tT21FNPGb1793Z8njp1qjFw4MBLzik0NNSIjo52auvfv7/
Rt29fx+cJEyYYI0eONAzjwjez2+12Y+XKldWOt2rVKqNnz55GZWWlo620tNRo2bKlsWXLlkvWAuDKsQIEoM
GNHj1aR48e1ebNmzVs2DDt2LFDt956a71uEO7Tp4/
jZy8vL1133XXq3r27U1tRUVGNx+fm5mrAgAFObQMGDNCXX36pioqKWteRm5ur0NBQp7Yff/5x/
9LSUg0ZMqTa/VlZWfrqq6/Upk0bx6pZ+/btde7cOX399de1rgtA/
XATNIBG4eHhoaFDh2ro0KF6+umnFRUVpaSkJE2cOFEtWlz4t5dhGI7+5eXl1Y7j5ubm+Nlmszl9vthWWVlZ
Yx2GYchms1Vpa2wtW7a85P7KykoFBwfrzTffrLKvU6dOjVUWgP8fK0AArorevXvrzJkzkv73F3xBQYFj/
w9viG7o83700UdObRkZGbrxxhvl4uJS63ECAwO1e/dup7Yff/6hG264QS1bttS2bduq3X/rrbfqyy+/
VOfOnfXTn/7UaeNpMqDxEYAANKjjx4/rzjvv1BtvvKHPP/9ceXl5+stf/qKFCxdq5MiRki6sjvzsZz/
TggUL9O9//1sffvihZs2a1Sj1PPnkk9q2bZueffZZHThwQK++
+qqWLFmiadOm1WmcqVOnavXq1Vq9erUOHDigpKQkffHFFzX29/Dw0PTp0/W73/1Or732mr7+
+mvt3r1bq1atkiQ98sgj6tixo0aOHKldu3YpLy9PO3fu1NSpU/Xtt99e0ZwBXB6XwAA0qNatW6t///
764x//qK+//lrl5eXy9fXVY489ppkzZzr6rV69WpMmTVJISIh69uyphQsXKiIiosHrufXWW/XnP/9ZTz/
9tJ599ll5e3tr7ty5mjhxYp3GiYyM1Ndff63p06fr3LlzGj16tB5//
HFt2bKlxmNmz54tV1dXPf300zp69Ki8vb0VHR0tSbruuuv04Ycfavr06XrggQd0+vRpde3aVUOGDFHbtm2v
ZMoAasFmXI2L4QAAAE0Il8AAAIDlEIAAAIDlEIAAAIDlEIAAAIDlEIAAAIDlEIAAAIDlEIAAAIDlEIAAAID
lEIAAAIDlEIAAAIDlEIAAAIDlEIAAAIDl/H/tNPsAQJdBAwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# You can use this cell for your calculations (not graded)\n",
"np.random.seed(0)\n",
"num_trials = 1000000\n",
"first_throw = np.random.choice([1, 2, 3, 4, 5, 6], size=num_trials)\n",
"second_throw = np.random.choice([1, 2, 3, 4, 5, 6], size=num_trials)\n",
"\n",
"second_throw = np.where(first_throw >= 3, second_throw, 0)\n",
"final_outcomes = first_throw + second_throw\n",
"\n",
"plt.hist(final_outcomes, bins=range(1, 14), align='left', rwidth=0.8,
density=True)\n",
"plt.xticks(range(2, 13))\n",
"plt.xlabel('Sum of dice')\n",
"plt.ylabel('Probability')\n",
"plt.title('Histogram of sum')\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "33bb9fd2",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b78103c55d4d4133bd6e468638bd32ab",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"ToggleButtons(description='Your answer:', options=('left-most', 'left-
center', 'right-center', 'right-most'), …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b40074764c9f4bc79e6164831df08455",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Button(button_style='success', description='Save your answer!',
style=ButtonStyle())"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "25021b2ce9f0426995eaa245497c67af",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Run this cell to submit your answer\n",
"utils.exercise_8()"
]
},
{
"cell_type": "markdown",
"id": "017e9b22",
"metadata": {},
"source": [
"## Exercise 9:\n",
"\n",
"Given a n-sided fair dice. You throw it twice and record the sum. How does
increasing the number of sides `n` of the dice impact the mean and variance of the
sum and the covariance of the joint distribution?"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "645a9b74",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"For a 2-sided dice:\n",
"Mean of the sum: 3.002\n",
"Variance of the sum: 0.497\n",
"Covariance of the joint distribution: -0.002\n",
"\n",
"For a 3-sided dice:\n",
"Mean of the sum: 4.000\n",
"Variance of the sum: 1.331\n",
"Covariance of the joint distribution: -0.001\n",
"\n",
"For a 4-sided dice:\n",
"Mean of the sum: 5.003\n",
"Variance of the sum: 2.510\n",
"Covariance of the joint distribution: 0.003\n",
"\n",
"For a 5-sided dice:\n",
"Mean of the sum: 6.014\n",
"Variance of the sum: 4.003\n",
"Covariance of the joint distribution: 0.002\n",
"\n",
"For a 6-sided dice:\n",
"Mean of the sum: 7.012\n",
"Variance of the sum: 5.820\n",
"Covariance of the joint distribution: -0.001\n",
"\n",
"For a 7-sided dice:\n",
"Mean of the sum: 8.011\n",
"Variance of the sum: 7.934\n",
"Covariance of the joint distribution: -0.024\n",
"\n",
"For a 8-sided dice:\n",
"Mean of the sum: 9.007\n",
"Variance of the sum: 10.492\n",
"Covariance of the joint distribution: 0.012\n",
"\n",
"For a 9-sided dice:\n",
"Mean of the sum: 10.010\n",
"Variance of the sum: 13.225\n",
"Covariance of the joint distribution: -0.040\n",
"\n",
"For a 10-sided dice:\n",
"Mean of the sum: 11.020\n",
"Variance of the sum: 16.428\n",
"Covariance of the joint distribution: -0.018\n",
"\n"
]
}
],
"source": [
"# You can use this cell for your calculations (not graded)\n",
"def simulate_dice_throws(n, num_trials=100000):\n",
" np.random.seed(0)\n",
" first_throw = np.random.choice(np.arange(1, n+1), size=num_trials)\n",
" second_throw = np.random.choice(np.arange(1, n+1), size=num_trials)\n",
" sum_throws = first_throw + second_throw\n",
"\n",
" mean = np.mean(sum_throws)\n",
" variance = np.var(sum_throws)\n",
" covariance = np.cov(first_throw, second_throw)[0][1]\n",
"\n",
" return mean, variance, covariance\n",
"\n",
"for n in range(2, 11):\n",
" mean, variance, covariance = simulate_dice_throws(n)\n",
" print(f\"For a {n}-sided dice:\")\n",
" print(f\"Mean of the sum: {mean:.3f}\")\n",
" print(f\"Variance of the sum: {variance:.3f}\")\n",
" print(f\"Covariance of the joint distribution: {covariance:.3f}\\n\")"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "907412da",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"As the number of sides in the die increases:\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b67d3cf1a785454f8a228499aa246633",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"ToggleButtons(description='The mean of the sum:', options=('stays the
same', 'increases', 'decreases'), value=…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "742384c0e29744bc9b62ab41d5fa0513",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"ToggleButtons(description='The variance of the sum:', options=('stays the
same', 'increases', 'decreases'), va…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "98d96e90803d41f9ac7315e4f9a7d0b3",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"ToggleButtons(description='The covariance of the joint distribution:',
options=('stays the same', 'increases',…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "e93ac2af51014ad4899a9ac867780fe1",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Button(button_style='success', description='Save your answer!',
style=ButtonStyle())"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "1597fc72f95b4040ad5085def6650900",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Run this cell to submit your answer\n",
"utils.exercise_9()"
]
},
{
"cell_type": "markdown",
"id": "fcf9b3ac",
"metadata": {},
"source": [
"## Exercise 10:\n",
"\n",
"Given a 6-sided loaded dice. You throw it twice and record the sum. Which of
the following statemets is true?"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "008c5858",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"For a 6-sided dice with side 1 loaded:\n",
"Mean of the sum: 6.298\n",
"Variance of the sum: 6.565\n",
"\n",
"For a 6-sided dice with side 2 loaded:\n",
"Mean of the sum: 6.581\n",
"Variance of the sum: 5.595\n",
"\n",
"For a 6-sided dice with side 3 loaded:\n",
"Mean of the sum: 6.864\n",
"Variance of the sum: 5.092\n",
"\n",
"For a 6-sided dice with side 4 loaded:\n",
"Mean of the sum: 7.151\n",
"Variance of the sum: 5.093\n",
"\n",
"For a 6-sided dice with side 5 loaded:\n",
"Mean of the sum: 7.436\n",
"Variance of the sum: 5.588\n",
"\n",
"For a 6-sided dice with side 6 loaded:\n",
"Mean of the sum: 7.725\n",
"Variance of the sum: 6.579\n",
"\n"
]
}
],
"source": [
"# You can use this cell for your calculations (not graded)\n",
"def simulate_loaded_dice(n, loaded_side, num_trials=100000):\n",
" np.random.seed(0)\n",
" p = [2/7 if i == loaded_side else 1/7 for i in range(1, n+1)]\n",
" first_throw = np.random.choice(np.arange(1, n+1), p=p, size=num_trials)\
n",
" second_throw = np.random.choice(np.arange(1, n+1), p=p, size=num_trials)\
n",
" sum_throws = first_throw + second_throw\n",
"\n",
" mean = np.mean(sum_throws)\n",
" variance = np.var(sum_throws)\n",
"\n",
" return mean, variance\n",
"\n",
"for loaded_side in range(1, 7):\n",
" mean, variance = simulate_loaded_dice(6, loaded_side)\n",
" print(f\"For a 6-sided dice with side {loaded_side} loaded:\")\n",
" print(f\"Mean of the sum: {mean:.3f}\")\n",
" print(f\"Variance of the sum: {variance:.3f}\\n\")"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "99373567",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "714480702dcb469f93f857b2632106cc",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"RadioButtons(layout=Layout(width='max-content'), options=('the mean and
variance is the same regardless of whi…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "b461913e196446e5a6eff5aff1b804d5",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Button(button_style='success', description='Save your answer!',
style=ButtonStyle())"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "051b7fa513c344ccb21fb57828d2c6a4",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Run this cell to submit your answer\n",
"utils.exercise_10()"
]
},
{
"cell_type": "markdown",
"id": "0a84afef",
"metadata": {},
"source": [
"## Exercise 11:\n",
"\n",
"Given a fair n-sided dice. You throw it twice and record the sum but the
second throw depends on the result of the first one such as in exercises 7 and 8.
Which of the following statements is true?"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "7cb6ad84",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Covariance when second throw is made if first throw is <= 3: -2.623\n",
"Covariance when second throw is made if first throw is >= 3: 2.333\n"
]
}
],
"source": [
"# You can use this cell for your calculations (not graded)\n",
"np.random.seed(0)\n",
"num_trials = 1000000\n",
"\n",
"first_throw = np.random.choice(range(1, 7), size=num_trials)\n",
"\n",
"second_throw1 = np.where(first_throw <= 3, np.random.choice(range(1, 7),
size=num_trials), 0)\n",
"cov1 = np.cov(first_throw, second_throw1)[0, 1]\n",
"\n",
"second_throw2 = np.where(first_throw >= 3, np.random.choice(range(1, 7),
size=num_trials), 0)\n",
"cov2 = np.cov(first_throw, second_throw2)[0, 1]\n",
"\n",
"print(f\"Covariance when second throw is made if first throw is <= 3:
{cov1:.3f}\")\n",
"print(f\"Covariance when second throw is made if first throw is >= 3:
{cov2:.3f}\")"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "9b048c03",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ae5a8b4b8ccd480686d27ab5c580304f",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"RadioButtons(layout=Layout(width='max-content'), options=('changing the
direction of the inequality will chang…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ca5d16098e9c4740b4e09eab657ed470",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Button(button_style='success', description='Save your answer!',
style=ButtonStyle())"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "a9a02ba00ce34e4f9b785fffec880992",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Run this cell to submit your answer\n",
"utils.exercise_11()"
]
},
{
"cell_type": "markdown",
"id": "f8a1a8a3",
"metadata": {},
"source": [
"## Exercise 12:\n",
"\n",
"Given a n-sided dice (could be fair or not). You throw it twice and record the
sum (there is no dependance between the throws). If you are only given the
histogram of the sums can you use it to know which are the probabilities of the
dice landing on each side?"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "b42149cf",
"metadata": {},
"outputs": [
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAAkAAAAHFCAYAAAAaD0bAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIH
ZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpA
ABAY0lEQVR4nO3de1yUdf7//+cIMlgKHlAEFxE7KEaeoAyN1ExMy7RswzxvWmGWAmsfRTQPfZW0MitPNw0z
t/WwpW220Sa1arbgpgjWFmkHFFMI0WQ0PwLC9fvDn/NpAhQQHMbrcb/d5vbhes/
7el+v97Sf5tn7OozFMAxDAAAAJtLA2QUAAABcbQQgAABgOgQgAABgOgQgAABgOgQgAABgOgQgAABgOgQgAA
BgOgQgAABgOgQgAABgOgQg4Bqydu1aWSwW7d27t8L377//
frVr186hrV27dho3bly1jpOamqo5c+bo1KlTNSvUhDZt2qRbbrlFjRo1ksViUWZmZqV9s7KyNHr0aLVv316
enp7y8fFR9+7d9fTTT8tms129ooFrmLuzCwDgXO+99568vLyqtU9qaqrmzp2rcePGqWnTpnVT2DXk+PHjGj
16tO69914tX75cVqtVN998c4V9MzIy1KtXLwUHB+u5555Tu3btVFBQoP3792vjxo2aOnVqtf95ASiPAASYX
Ldu3ZxdQrWVlJTIYrHI3d01/hV28OBBlZSUaNSoUerdu/cl+y5ZskQNGjTQjh071KRJE3v7ww8/
rOeff178fCNQOzgFBpjc70+BlZWV6f/9v/
+nDh06qFGjRmratKk6d+6sV199VZI0Z84cPfvss5KkoKAgWSwWWSwW7dixw77/
okWL1LFjR1mtVrVq1UpjxozRTz/
95HBcwzC0YMECBQYGytPTU2FhYUpJSVGfPn3Up08fe78dO3bIYrHoL3/5i/
785z+rTZs2slqt+v7773X8+HE99dRT6tSpkxo3bqxWrVrp7rvv1q5duxyOdejQIVksFr344otauHCh2rVrp
0aNGqlPnz72cDJ9+nT5+/vL29tbDz74oPLz86v0+W3dulXh4eG67rrr1KRJE/
Xv319paWn298eNG6c777xTkhQVFSWLxeIwv987ceKEvLy81Lhx4wrft1gs9r8rO31Z2We4fv16TZs2TX5+f
mrcuLEGDx6sn3/+WadPn9YTTzwhHx8f+fj46E9/+pPOnDlTpfkDrso1/vMJQLWUlpbq/
Pnz5dqrsnqwaNEizZkzRzNnztRdd92lkpISffvtt/brfSZMmKCTJ0/
q9ddf15YtW+Tn5ydJ6tSpkyRp4sSJWrVqlZ5++mndf//
9OnTokGbNmqUdO3Zo37598vHxkSQlJCQoMTFRTzzxhB566CEdOXJEEyZMUElJSYWnh+Lj4xUeHq6VK1eqQY
MGatWqlY4fPy5Jmj17tlq3bq0zZ87ovffeU58+ffTpp5+WCxrLli1T586dtWzZMp06dUp//
vOfNXjwYPXo0UMNGzbUmjVrdPjwYU2dOlUTJkzQ1q1bL/lZrV+/XiNHjlRkZKQ2bNigoqIiLVq0yH78O+
+8U7NmzdLtt9+uSZMmacGCBerbt+8lT2GFh4frww8/1MiRI/Xkk0/
q9ttvV6NGjS77z60qZsyYob59+2rt2rU6dOiQpk6dqkcffVTu7u7q0qWLNmzYoIyMDM2YMUNNmjTRa6+9Vi
vHBeolA8A148033zQkXfIVGBjosE9gYKAxduxY+/
b9999vdO3a9ZLHefHFFw1JRnZ2tkN7VlaWIcl46qmnHNr/85//
GJKMGTNmGIZhGCdPnjSsVqsRFRXl0C8tLc2QZPTu3dvetn37dkOScdddd112/ufPnzdKSkqMfv36GQ8+
+KC9PTs725BkdOnSxSgtLbW3L1myxJBkPPDAAw7jxMTEGJKMwsLCSo9VWlpq+Pv7G7feeqvDmKdPnzZatWp
l9OzZs9wc3nnnncvO4dy5c8bQoUPt/7zc3NyMbt26GQkJCUZ+fr5D39//s7uod+/
eFX6GgwcPrnCekydPdmgfOnSo0bx588vWCrgyToEB16B169Zpz5495V4XT8Vcyu233679+/
frqaee0scff1ytu462b98uSeVOy9x++
+0KDg7Wp59+KknavXu3ioqK9Mgjjzj0u+OOO8rdpXbRsGHDKmxfuXKlunfvLk9PT7m7u6thw4b69NNPlZWV
Va7voEGD1KDB//
1rLzg4WJJ03333OfS72J6Tk1PJTKUDBw7o2LFjGj16tMOYjRs31rBhw7R7926dPXu20v0rY7Va9d577+mbb
77RK6+8ouHDh+v48eOaP3++goODdeDAgWqPedH999/
vsH2p+Z88eZLTYLimEYCAa1BwcLDCwsLKvby9vS+7b3x8vF566SXt3r1bAwcOVIsWLdSvX79Kb63/
rRMnTkiS/bTYb/n7+9vfv/h/fX19y/WrqK2yMRcvXqyJEyeqR48e2rx5s3bv3q09e/bo3nvv1f/
+7/+W69+8eXOHbQ8Pj0u2nzt3rsJafjuHyuZaVlamX375pdL9Lyc4OFgxMTF6+
+23lZOTo8WLF+vEiROaNWtWjceszfkDro4ABMCBu7u74uLitG/
fPp08eVIbNmzQkSNHNGDAgMuuaLRo0UKSlJubW+69Y8eO2a//udjv559/LtcvLy+vwrF/e/HvRW+//
bb69OmjFStW6L777lOPHj0UFham06dPX3qSteByc23QoIGaNWtWK8eyWCyKjY1V06ZN9d///
tfe7unpqaKionL9CwoKauW4wLWMAASgUk2bNtXDDz+sSZMm6eTJkzp06JCkC6dpJJVbZbn77rslXQgmv7Vn
zx5lZWWpX79+kqQePXrIarVq06ZNDv12796tw4cPV7k+i8Vir+WiL7/80uEurLrSoUMHtWnTRuvXr3e4uPz
XX3/V5s2b7XeGVVdFgUq6EKpsNpv8/f3tbe3atdOXX37p0O/
gwYNXdJoMMAvuAgPgYPDgwQoJCVFYWJhatmypw4cPa8mSJQoMDNRNN90kSbr11lslSa++
+qrGjh2rhg0bqkOHDurQoYOeeOIJvf7662rQoIEGDhxovwssICBAsbGxki6ccomLi1NiYqKaNWumBx98UD/
99JPmzp0rPz8/h2tqLuX+++/X888/r9mzZ6t37946cOCA5s2bp6CgoArvgqtNDRo00KJFizRy5Ejdf//
9evLJJ1VUVKQXX3xRp06d0gsvvFCjcZ944gmdOnVKw4YNU0hIiNzc3PTtt9/
qlVdeUYMGDTRt2jR739GjR2vUqFF66qmnNGzYMB0+fFiLFi1Sy5Yta2uawDWLAATAQd+
+fbV582a98cYbstlsat26tfr3769Zs2apYcOGki48ZyY+Pl5vvfWWVq9erbKyMm3fvt1+OuqGG25QUlKSli
1bJm9vb917771KTEy0nzaSpPnz5+v666/
XypUr9eabb6pjx45asWKFEhISqvx06YSEBJ09e1ZJSUlatGiROnXqpJUrV+q9996zP5eoLo0YMULXX3+9Eh
MTFRUVJTc3N91xxx3avn27evbsWaMxn3nmGW3atEmrV6/W0aNH9euvv6ply5YKDw/XunXrdMcddzgc/
9ixY/
bPMCQkRCtWrNDcuXNra4rANctiGDxWFED9kJ2drY4dO2r27NmaMWOGs8sBcA0jAAFwiv3792vDhg3q2bOnv
Ly8dODAAS1atEg2m03//e9/K70bDABqA6fAADjF9ddfr7179yopKUmnTp2St7e3+vTpo/
nz5xN+ANQ5VoAAAIDpcBs8AAAwHQIQAAAwHQIQAAAwHS6CrkBZWZmOHTumJk2aVPj4fQAAUP8YhqHTp0/
L39//sg9UJQBV4NixYwoICHB2GQAAoAaOHDmiP/
zhD5fsQwCqQJMmTSRd+AC9vLycXA0AAKgKm82mgIAA+/
f4pRCAKnDxtJeXlxcBCAAAF1OVy1e4CBoAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAA
JgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJgOAQgAAJiOu7MLAIDLGb92j7NL
uKykcbc5uwQA1cAKEAAAMB0CEAAAMB0CEAAAMB0CEAAAMB0CEAAAMB0CEAAAMB0CEAAAMB0CEAAAMB0CEAA
AMB0CEAAAMB2nB6Dly5crKChInp6eCg0N1a5duyrtm5ubqxEjRqhDhw5q0KCBYmJiKux36tQpTZo0SX5+fv
L09FRwcLCSk5PraAYAAMDVODUAbdq0STExMUpISFBGRoYiIiI0cOBA5eTkVNi/
qKhILVu2VEJCgrp06VJhn+LiYvXv31+HDh3Su++
+qwMHDmj16tVq06ZNXU4FAAC4EKf+GOrixYs1fvx4TZgwQZK0ZMkSffzxx1qxYoUSExPL9W/
Xrp1effVVSdKaNWsqHHPNmjU6efKkUlNT1bBhQ0lSYGBgHc0AAAC4IqetABUXFys9PV2RkZEO7ZGRkUpNTa
3xuFu3blV4eLgmTZokX19fhYSEaMGCBSotLa10n6KiItlsNocXAAC4djktABUUFKi0tFS+vr4O7b6+vsrLy
6vxuD/++KPeffddlZaWKjk5WTNnztTLL7+s+fPnV7pPYmKivL297a+AgIAaHx8AANR/
Tr8I2mKxOGwbhlGurTrKysrUqlUrrVq1SqGhoRo+fLgSEhK0YsWKSveJj49XYWGh/XXkyJEaHx8AANR/
TrsGyMfHR25ubuVWe/
Lz88utClWHn5+fGjZsKDc3N3tbcHCw8vLyVFxcLA8Pj3L7WK1WWa3WGh8TAAC4FqetAHl4eCg0NFQpKSkO7
SkpKerZs2eNx+3Vq5e+//57lZWV2dsOHjwoPz+/
CsMPAAAwH6eeAouLi9Mbb7yhNWvWKCsrS7GxscrJyVF0dLSkC6emxowZ47BPZmamMjMzdebMGR0/
flyZmZn65ptv7O9PnDhRJ06c0JQpU3Tw4EF9+OGHWrBggSZNmnRV5wYAAOovp94GHxUVpRMnTmjevHnKzc1
VSEiIkpOT7bet5+bmlnsmULdu3ex/p6ena/
369QoMDNShQ4ckSQEBAdq2bZtiY2PVuXNntWnTRlOmTNG0adOu2rwAAED9ZjEMw3B2EfWNzWaTt7e3CgsL5
eXl5exyANMbv3aPs0u4rKRxtzm7BMD0qvP97fS7wAAAAK42AhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAA
ADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADA
dAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAh
AAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdpweg5cuXKygoSJ6engoNDdWuXbsq7Zubm6sRI0aoQ4cOa
tCggWJiYi459saNG2WxWDR06NDaLRoAALg0pwagTZs2KSYmRgkJCcrIyFBERIQGDhyonJycCvsXFRWpZcuW
SkhIUJcuXS459uHDhzV16lRFRETURekAAMCFOTUALV68WOPHj9eECRMUHBysJUuWKCAgQCtWrKiwf7t27fT
qq69qzJgx8vb2rnTc0tJSjRw5UnPnzlX79u3rqnwAAOCinBaAiouLlZ6ersjISIf2yMhIpaamXtHY8+bNU8
uWLTV+/Pgq9S8qKpLNZnN4AQCAa5fTAlBBQYFKS0vl6+vr0O7r66u8vLwaj/vvf/
9bSUlJWr16dZX3SUxMlLe3t/
0VEBBQ4+MDAID6z+kXQVssFodtwzDKtVXV6dOnNWrUKK1evVo+Pj5V3i8+Pl6FhYX215EjR2p0fAAA4Brcn
XVgHx8fubm5lVvtyc/PL7cqVFU//
PCDDh06pMGDB9vbysrKJEnu7u46cOCAbrjhhnL7Wa1WWa3WGh0TACRp/
No9zi7hspLG3ebsEoB6w2krQB4eHgoNDVVKSopDe0pKinr27FmjMTt27KivvvpKmZmZ9tcDDzygvn37KjMz
k1NbAABAkhNXgCQpLi5Oo0ePVlhYmMLDw7Vq1Srl5OQoOjpa0oVTU0ePHtW6devs+2RmZkqSzpw5o+PHjys
zM1MeHh7q1KmTPD09FRIS4nCMpk2bSlK5dgAAYF5ODUBRUVE6ceKE5s2bp9zcXIWEhCg5OVmBgYGSLjz48P
fPBOrWrZv97/T0dK1fv16BgYE6dOjQ1SwduGa4wqkbAKhtFsMwDGcXUd/
YbDZ5e3ursLBQXl5ezi4HqFMEIPPgGiBc66rz/
e30u8AAAACuNgIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAw
HQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQI
QAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAAAwHQIQAA
AwHacHoOXLlysoKEienp4KDQ3Vrl27Ku2bm5urESNGqEOHDmrQoIFiYmLK9Vm9erUiIiLUrFkzNWvWTPfcc
4++
+OKLOpwBAABwNU4NQJs2bVJMTIwSEhKUkZGhiIgIDRw4UDk5ORX2LyoqUsuWLZWQkKAuXbpU2GfHjh169NF
HtX37dqWlpalt27aKjIzU0aNH63IqAADAhVgMwzCcdfAePXqoe/
fuWrFihb0tODhYQ4cOVWJi4iX37dOnj7p27aolS5Zcsl9paamaNWumpUuXasyYMVWqy2azydvbW4WFhfLy8
qrSPoCrGr92j7NLwFWSNO42Z5cA1KnqfH87bQWouLhY6enpioyMdGiPjIxUampqrR3n7NmzKikpUfPmzSvt
U1RUJJvN5vACAADXLqcFoIKCApWWlsrX19eh3dfXV3l5ebV2nOnTp6tNmza65557Ku2TmJgob29v+ysgIKD
Wjg8AAOofp18EbbFYHLYNwyjXVlOLFi3Shg0btGXLFnl6elbaLz4+XoWFhfbXkSNHauX4AACgfnJ31oF9fH
zk5uZWbrUnPz+/
3KpQTbz00ktasGCBPvnkE3Xu3PmSfa1Wq6xW6xUfEwAAuAanrQB5eHgoNDRUKSkpDu0pKSnq2bPnFY394os
v6vnnn9c///
lPhYWFXdFYAADg2uO0FSBJiouL0+jRoxUWFqbw8HCtWrVKOTk5io6OlnTh1NTRo0e1bt06+z6ZmZmSpDNnz
uj48ePKzMyUh4eHOnXqJOnCaa9Zs2Zp/
fr1ateunX2FqXHjxmrcuPHVnSAAAKiXnBqAoqKidOLECc2bN0+5ubkKCQlRcnKyAgMDJV148OHvnwnUrVs3
+9/p6elav369AgMDdejQIUkXHqxYXFyshx9+2GG/
2bNna86cOXU6HwAA4Bqc+hyg+ornAMFMeA6QefAcIFzrXOI5QAAAAM5CAAIAAKZDAAIAAKZDAAIAAKZDAAI
AAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKbj1B9DBQBcPa7wu2/8XhmuFlaAAACA6b
ACBNQhV/
gvbgAwI1aAAACA6RCAAACA6RCAAACA6RCAAACA6RCAAACA6RCAAACA6RCAAACA6RCAAACA6RCAAACA6RCAA
ACA6RCAAACA6RCAAACA6RCAAACA6dQoAK1du1Znz56t7VoAAACuihoFoPj4eLVu3Vrjx49XampqbdcEAABQ
p2oUgH766Se9/fbb+uWXX9S3b1917NhRCxcuVF5eXm3XBwAAUOtqFIDc3Nz0wAMPaMuWLTpy5IieeOIJ/
fWvf1Xbtm31wAMP6P3331dZWVlt1woAAFArrvgi6FatWqlXr14KDw9XgwYN9NVXX2ncuHG64YYbtGPHjsvu
v3z5cgUFBcnT01OhoaHatWtXpX1zc3M1YsQIdejQQQ0aNFBMTEyF/
TZv3qxOnTrJarWqU6dOeu+992o4OwAAcC2qcQD6+eef9dJLL+mWW25Rnz59ZLPZ9I9//
EPZ2dk6duyYHnroIY0dO/
aSY2zatEkxMTFKSEhQRkaGIiIiNHDgQOXk5FTYv6ioSC1btlRCQoK6dOlSYZ+0tDRFRUVp9OjR2r9/
v0aPHq1HHnlE//nPf2o6VQAAcI2xGIZhVHenwYMH6+OPP9bNN9+sCRMmaMyYMWrevLlDn2PHjukPf/
jDJU+F9ejRQ927d9eKFSvsbcHBwRo6dKgSExMvWUOfPn3UtWtXLVmyxKE9KipKNptNH330kb3t3nvvVbNmz
bRhw4Yqzc9ms8nb21uFhYXy8vKq0j5ARcav3ePsEgCXkjTuNmeXABdWne9v95ocoFWrVtq5c6fCw8Mr7ePn
56fs7OxK3y8uLlZ6erqmT5/u0B4ZGXlFd5alpaUpNjbWoW3AgAHlgtJvFRUVqaioyL5ts9lqfHwAAFD/
1egUWO/evdW9e/dy7cXFxVq3bp0kyWKxKDAwsNIxCgoKVFpaKl9fX4d2X1/
fK7qbLC8vr9pjJiYmytvb2/4KCAio8fEBAED9V6MA9Kc//UmFhYXl2k+fPq0//
elP1RrLYrE4bBuGUa6tuqo7Znx8vAoLC+2vI0eOXNHxAQBA/
VajU2CVBYqffvpJ3t7eVRrDx8dHbm5u5VZm8vPzy63gVEfr1q2rPabVapXVaq3xMQEAgGupVgDq1q2bLBaL
LBaL+vXrJ3f3/9u9tLRU2dnZuvfee6s0loeHh0JDQ5WSkqIHH3zQ3p6SkqIhQ4ZUpywH4eHhSklJcbgOaNu
2berZs2eNxwQAANeWagWgoUOHSpIyMzM1YMAANW7c2P6eh4eH2rVrp2HDhlV5vLi4OI0ePVphYWEKDw/
XqlWrlJOTo+joaEkXTk0dPXrUfl3RxWNL0pkzZ3T8+HFlZmbKw8NDnTp1kiRNmTJFd911lxYuXKghQ4bo/
fff1yeffKLPP/
+8OlMFAADXsGoFoNmzZ0uS2rVrp6ioKHl6el7RwaOionTixAnNmzdPubm5CgkJUXJysv3i6dzc3HLPBOrWr
Zv97/
T0dK1fv16BgYE6dOiQJKlnz57auHGjZs6cqVmzZumGG27Qpk2b1KNHjyuqFQAAXDtq9Bygax3PAUJt4TlAQ
PXwHCBciTp5DlDz5s118OBB+fj4qFmzZpe8q+rkyZNVrxYAAOAqq3IAeuWVV9SkSRP731d6qzoAAICzVDkA
/fZ3vcaNG1cXtQAAAFwVVQ5A1fl5CK6bAQAA9VmVA1DTpk0ve9rr4gMSS0tLr7gwAACAulLlALR9+/
a6rAMAAOCqqXIA6t27d13WAQAAcNVUOQB9+eWXCgkJUYMGDfTll19esm/
nzp2vuDAAAIC6UuUA1LVrV+Xl5alVq1bq2rWrLBaLKnqGItcAAQCA+q7KASg7O1stW7a0/
w0AAOCqqhyALv4+1+//BgAAcDXV+jHU3zpw4IBef/
11ZWVlyWKxqGPHjnrmmWfUoUOH2qwPAACg1jWoyU7vvvuuQkJClJ6eri5duqhz587at2+fQkJC9M4779R2j
QAAALWqRitA//M//6P4+HjNmzfPoX327NmaNm2a/
vjHP9ZKcQAAAHWhRitAeXl5GjNmTLn2UaNGKS8v74qLAgAAqEs1CkB9+vTRrl27yrV//
vnnioiIuOKiAAAA6lKVT4Ft3brV/
vcDDzygadOmKT09XXfccYckaffu3XrnnXc0d+7c2q8SAACgFlmMip5mWIEGDaq2WHQtPAjRZrPJ29tbhYWF
/
LI9rsj4tXucXQLgUpLG3ebsEuDCqvP9XeUVoLKysisuDAAAoD6o0TVAAAAArqzGD0L89ddftXPnTuXk5Ki4
uNjhvcmTJ19xYQAAAHWlRgEoIyNDgwYN0tm
zZ/Xrr7+qefPmKigo0HXXXadWrVoRgAAAQL1Wo1NgsbGxGjx4sE6ePKlGjRpp9+7dOnz4sEJDQ/XSSy/
Vdo0AAAC1qkYBKDMzU3/+85/
l5uYmNzc3FRUVKSAgQIsWLdKMGTNqu0YAAIBaVaMA1LBhQ1ksFkmSr6+vcnJyJEne3t72vwEAAOqrGl0D1K
1bN+3du1c333yz+vbtq+eee04FBQX6y1/+oltvvbW2awQAAKhVNQpACxYs0OnTpyVJzz//
vMaOHauJEyfqxhtv1JtvvlmrBQIAzMMVHh7KwxqvDTUKQGFhYfa/
W7ZsqeTk5ForCAAAoK7V+DlAkpSfn68DBw7IYrGoQ4cOatmyZW3VBQAAUGdqdBG0zWbT6NGj1aZNG/
Xu3Vt33XWX/P39NWrUKBUWFtZ2jQAAALWqRitAEyZMUGZmpv7xj38oPDxcFotFqampmjJlih5//HH97W9/
q+06gXJc4VoBAED9VKMVoA8//
FBr1qzRgAED5OXlpSZNmmjAgAFavXq1Pvzww2qNtXz5cgUFBcnT01OhoaHatWvXJfvv3LlToaGh8vT0VPv2
7bVy5cpyfZYsWaIOHTqoUaNGCggIUGxsrM6dO1etugAAwLWrRgGoRYsW8vb2Ltfu7e2tZs2aVXmcTZs2KSY
mRgkJCcrIyFBERIQGDhxY6bOEsrOzNWjQIEVERCgjI0MzZszQ5MmTtXnzZnufv/
71r5o+fbpmz56trKwsJSUladOmTYqPj6/+RAEAwDWpRgFo5syZiouLU25urr0tLy9Pzz77rGbNmlXlcRYvX
qzx48drwoQJCg4O1pIlSxQQEKAVK1ZU2H/
lypVq27atlixZouDgYE2YMEGPPfaYw89vpKWlqVevXhoxYoTatWunyMhIPfroo9q7d29NpgoAAK5BVb4GqF
u3bvanP0vSd999p8DAQLVt21aSlJOTI6vVquPHj+vJJ5+87HjFxcVKT0/
X9OnTHdojIyOVmppa4T5paWmKjIx0aBswYICSkpJUUlKihg0b6s4779Tbb7+tL774Qrfffrt+/
PFHJScna+zYsVWdKgAAuMZVOQANHTq0Vg9cUFCg0tJS+fr6OrT7+voqLy+vwn3y8vIq7H/+/
HkVFBTIz89Pw4cP1/
Hjx3XnnXfKMAydP39eEydOLBe0fquoqEhFRUX2bZvNdgUzAwAA9V2VA9Ds2bPrpIDfripJkmEY5dou1/+37
Tt27ND8+fO1fPly9ejRQ99//72mTJkiPz+/Sk/
PJSYmau7cuVcyDQAA4EKu6EGI6enpysrKksViUadOndStW7cq7+vj4yM3N7dyqz35+fnlVnkuat26dYX93d
3d1aJFC0nSrFmzNHr0aE2YMEGSdOutt+rXX3/VE088oYSEBDVoUP6yp/
j4eMXFxdm3bTabAgICqjwXAADgWmoUgPLz8zV8+HDt2LFDTZs2lWEYKiwsVN+
+fbVx48YqPRHaw8NDoaGhSklJ0YMPPmhvT0lJ0ZAhQyrcJzw8XB988IFD27Zt2xQWFqaGDRtKks6ePVsu5L
i5uckwDPtq0e9ZrVZZrdbL1gwAAK4NNboL7JlnnpHNZtPXX3+tkydP6pdfftF///
tf2Ww2TZ48ucrjxMXF6Y033tCaNWuUlZWl2NhY5eTkKDo6WtKFlZkxY8bY+0dHR+vw4cOKi4tTVlaW1qxZo
6SkJE2dOtXeZ/DgwVqxYoU2btyo7OxspaSkaNasWXrggQfk5uZWk+kCAIBrTI1WgP75z3/
qk08+UXBwsL2tU6dOWrZsWbm7tC4lKipKJ06c0Lx585Sbm6uQkBAlJycrMDBQkpSbm+vwTKCgoCAlJycrNj
ZWy5Ytk7+/
v1577TUNGzbM3mfmzJmyWCyaOXOmjh49qpYtW2rw4MGaP39+TaYKAACuQRajsvNCl9CkSRPt2rVLXbt2dWj
PyMhQ7969Xf4uKpvNJm9vbxUWFsrLy8vZ5aAS/BQGAGdIGnebs0tAJarz/
V2jU2B33323pkyZomPHjtnbjh49qtjYWPXr168mQwIAAFw1NQpAS5cu1enTp9WuXTvdcMMNuvHGGxUUFKTT
p0/r9ddfr+0aAQAAalWNrgEKCAjQvn37lJKSom+//VaGYahTp0665557ars+AACAWlftAHT+/
Hl5enoqMzNT/fv3V//+/euiLgAAgDpT7VNg7u7uCgwMVGlpaV3UAwAAUOdq/
Gvw8fHxOnnyZG3XAwAAUOdqdA3Qa6+9pu+//17+/v4KDAzU9ddf7/
D+vn37aqU4AACAulCjADR06FBZLJZKf1oCAACgPqtWADp79qyeffZZ/f3vf1dJSYn69eun119/
XT4+PnVVHwAAQK2r1jVAs2fP1tq1a3Xffffp0Ucf1SeffKKJEyfWVW0AAAB1olorQFu2bFFSUpKGDx8uSRo
5cqR69eql0tJSfmgUAAC4jGqtAB05ckQRERH27dtvv13u7u4OP4kBAABQ31UrAJWWlsrDw8Ohzd3dXefPn6
/
VogAAAOpStU6BGYahcePGyWq12tvOnTun6Ohoh1vht2zZUnsVAgAA1LJqBaCxY8eWaxs1alStFQMAAHA1VC
sAvfnmm3VVBwAAwFVTo5/
CAAAAcGUEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIA
AAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDpOD0DLly9XUFCQPD09FRoaql27dl2y/
86dOxUaGipPT0+1b99eK1euLNfn1KlTmjRpkvz8/
OTp6ang4GAlJyfX1RQAAICLcWoA2rRpk2JiYpSQkKCMjAxFRERo4MCBysnJqbB/
dna2Bg0apIiICGVkZGjGjBmaPHmyNm/ebO9TXFys/
v3769ChQ3r33Xd14MABrV69Wm3atLla0wIAAPWcxTAMw1kH79Gjh7p3764VK1bY24KDgzV06FAlJiaW6z9t
2jRt3bpVWVlZ9rbo6Gjt379faWlpkqSVK1fqxRdf1LfffquGDRvWqC6bzSZvb28VFhbKy8urRmOg7o1fu8f
ZJQAwoaRxtzm7BFSiOt/fTlsBKi4uVnp6uiIjIx3aIyMjlZqaWuE+aWlp5foPGDBAe/
fuVUlJiSRp69atCg8P16RJk+Tr66uQkBAtWLBApaWldTMRAADgctyddeCCggKVlpbK19fXod3X11d5eXkV7
pOXl1dh//Pnz6ugoEB+fn768ccf9a9//UsjR45UcnKyvvvuO02aNEnnz5/Xc889V+G4RUVFKioqsm/
bbLYrnB0AAKjPnH4RtMVicdg2DKNc2+X6/7a9rKxMrVq10qpVqxQaGqrhw4crISHB4TTb7yUmJsrb29v+Cg
gIqOl0AACAC3BaAPLx8ZGbm1u51Z78/
PxyqzwXtW7dusL+7u7uatGihSTJz89PN998s9zc3Ox9goODlZeXp+Li4grHjY+PV2Fhof115MiRK5kaAACo
55wWgDw8PBQaGqqUlBSH9pSUFPXs2bPCfcLDw8v137Ztm8LCwuwXPPfq1Uvff/+9ysrK7H0OHjwoPz8/
eXh4VDiu1WqVl5eXwwsAAFy7nHoKLC4uTm+88YbWrFmjrKwsxcbGKicnR9HR0ZIurMyMGTPG3j86OlqHDx9
WXFycsrKytGbNGiUlJWnq1Kn2PhMnTtSJEyc0ZcoUHTx4UB9+
+KEWLFigSZMmXfX5AQCA+slpF0FLUlRUlE6cOKF58+YpNzdXISEhSk5OVmBgoCQpNzfX4ZlAQUFBSk5OVmx
srJYtWyZ/
f3+99tprGjZsmL1PQECAtm3bptjYWHXu3Flt2rTRlClTNG3atKs+PwAAUD859TlA9RXPAXINPAcIgDPwHKD
6yyWeAwQAAOAsTj0FBgCAq3GF1WdWqS6PAIQKucL/
gwMAUFOcAgMAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAI
AAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAK
ZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKZDAAIAAKbj9AC0fPlyBQUFydPTU
6Ghodq1a9cl++/cuVOhoaHy9PRU+/
bttXLlykr7bty4URaLRUOHDq3lqgEAgCtzagDatGmTYmJilJCQoIyMDEVERGjgwIHKycmpsH92drYGDRqki
IgIZWRkaMaMGZo8ebI2b95cru/
hw4c1depURURE1PU0AACAi3FqAFq8eLHGjx+vCRMmKDg4WEuWLFFAQIBWrFhRYf+VK1eqbdu2WrJkiYKDgz
VhwgQ99thjeumllxz6lZaWauTIkZo7d67at29/
NaYCAABciNMCUHFxsdLT0xUZGenQHhkZqdTU1Ar3SUtLK9d/wIAB2rt3r0pKSuxt8+bNU8uWLTV+/
PjaLxwAALg8d2cduKCgQKWlpfL19XVo9/X1VV5eXoX75OXlVdj//PnzKigokJ+fn/
79738rKSlJmZmZVa6lqKhIRUVF9m2bzVb1iQAAAJfj9IugLRaLw7ZhGOXaLtf/
Yvvp06c1atQorV69Wj4+PlWuITExUd7e3vZXQEBANWYAAABcjdNWgHx8fOTm5lZutSc/P7/
cKs9FrVu3rrC/u7u7WrRooa+//
lqHDh3S4MGD7e+XlZVJktzd3XXgwAHdcMMN5caNj49XXFycfdtmsxGCAAC4hjktAHl4eCg0NFQpKSl68MEH
7e0pKSkaMmRIhfuEh4frgw8+cGjbtm2bwsLC1LBhQ3Xs2FFfffWVw/
szZ87U6dOn9eqrr1YaaqxWq6xW6xXOCAAAuAqnBSBJiouL0+jRoxUWFqbw8HCtWrVKOTk5io6OlnRhZebo0
aNat26dJCk6OlpLly5VXFycHn/
8caWlpSkpKUkbNmyQJHl6eiokJMThGE2bNpWkcu0AAMC8nBqAoqKidOLECc2bN0+5ubkKCQlRcnKyAgMDJU
m5ubkOzwQKCgpScnKyYmNjtWzZMvn7+
+u1117TsGHDnDUFAADggizGxauIYWez2eTt7a3CwkJ5eXk5uxynGL92j7NLAADUUNK425xdglNU5/
vb6XeBAQAAXG0EIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAY
DoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoE
IAAAYDruzi7AjMav3ePsEgAA1zBX+J5JGnebU4/
PChAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdpweg5cuXKy
goSJ6engoNDdWuXbsu2X/
nzp0KDQ2Vp6en2rdvr5UrVzq8v3r1akVERKhZs2Zq1qyZ7rnnHn3xxRd1OQUAAOBinBqANm3apJiYGCUkJC
gjI0MREREaOHCgcnJyKuyfnZ2tQYMGKSIiQhkZGZoxY4YmT56szZs32/
vs2LFDjz76qLZv3660tDS1bdtWkZGROnr06NWaFgAAqOcshmEYzjp4jx491L17d61YscLeFhwcrKFDhyoxM
bFc/2nTpmnr1q3Kysqyt0VHR2v//
v1KS0ur8BilpaVq1qyZli5dqjFjxlSpLpvNJm9vbxUWFsrLy6uas7o8V/iNFgAA6lJd/BZYdb6/
nbYCVFxcrPT0dEVGRjq0R0ZGKjU1tcJ90tLSyvUfMGCA9u7dq5KSkgr3OXv2rEpKStS8efPaKRwAALg8p/
0afEFBgUpLS+Xr6+vQ7uvrq7y8vAr3ycvLq7D/+fPnVVBQID8/
v3L7TJ8+XW3atNE999xTaS1FRUUqKiqyb9tstupMBQAAuBinXwRtsVgctg3DKNd2uf4VtUvSokWLtGHDBm3
ZskWenp6VjpmYmChvb2/7KyAgoDpTAAAALsZpAcjHx0dubm7lVnvy8/
PLrfJc1Lp16wr7u7u7q0WLFg7tL730khYsWKBt27apc+fOl6wlPj5ehYWF9teRI0dqMCMAAOAqnBaAPDw8F
BoaqpSUFIf2lJQU9ezZs8J9wsPDy/Xftm2bwsLC1LBhQ3vbiy++qOeff17//Oc/
FRYWdtlarFarvLy8HF4AAODa5dRTYHFxcXrjjTe0Zs0aZWVlKTY2Vjk5OYqOjpZ0YWXmt3duRUdH6/
Dhw4qLi1NWVpbWrFmjpKQkTZ061d5n0aJFmjlzptasWaN27dopLy9PeXl5OnPmzFWfHwAAqJ+cdhG0JEVFR
enEiROaN2+ecnNzFRISouTkZAUGBkqScnNzHZ4JFBQUpOTkZMXGxmrZsmXy9/fXa6+9pmHDhtn7LF+
+XMXFxXr44YcdjjV79mzNmTPnqswLAADUb059DlB9xXOAAACoW6Z9DhAAAICzEIAAAIDpEIAAAIDpEIAAAI
DpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpE
IAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAA
AIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpEIAAAIDpOD0ALV+
+XEFBQfL09FRoaKh27dp1yf47d+5UaGioPD091b59e61cubJcn82bN6tTp06yWq3q1KmT3nvvvboqHwAAuC
CnBqBNmzYpJiZGCQkJysjIUEREhAYOHKicnJwK+2dnZ2vQoEGKiIhQRkaGZsyYocmTJ2vz5s32PmlpaYqKi
tLo0aO1f/9+jR49Wo888oj+85//
XK1pAQCAes5iGIbhrIP36NFD3bt314oVK+xtwcHBGjp0qBITE8v1nzZtmrZu3aqsrCx7W3R0tPbv36+0tDR
JUlRUlGw2mz766CN7n3vvvVfNmjXThg0bqlSXzWaTt7e3CgsL5eXlVdPpVWr82j21PiYAAK4kadxttT5mdb
6/
nbYCVFxcrPT0dEVGRjq0R0ZGKjU1tcJ90tLSyvUfMGCA9u7dq5KSkkv2qWxMAABgPu7OOnBBQYFKS0vl6+v
r0O7r66u8vLwK98nLy6uw//nz51VQUCA/P79K+1Q2piQVFRWpqKjIvl1YWCjpQpKsC8X/
e6ZOxgUAwFXUxXfsxTGrcnLLaQHoIovF4rBtGEa5tsv1/317dcdMTEzU3Llzy7UHBARUXjgAAKixt5+qu7F
Pnz4tb2/vS/ZxWgDy8fGRm5tbuZWZ/Pz8cis4F7Vu3brC/
u7u7mrRosUl+1Q2piTFx8crLi7Ovl1WVqaTJ0+qRYsWlwxO9YHNZlNAQICOHDlSJ9crmQWfY+3gc6wdfI61
g8+xdrjS52gYhk6fPi1/f//L9nVaAPLw8FBoaKhSUlL04IMP2ttTUlI0ZMiQCvcJDw/
XBx984NC2bds2hYWFqWHDhvY+KSkpio2NdejTs2fPSmuxWq2yWq0ObU2bNq3ulJzKy8ur3v8P0xXwOdYOPs
fawedYO/gca4erfI6XW/
m5yKmnwOLi4jR69GiFhYUpPDxcq1atUk5OjqKjoyVdWJk5evSo1q1bJ+nCHV9Lly5VXFycHn/
8caWlpSkpKcnh7q4pU6borrvu0sKFCzVkyBC9//77+uSTT/
T55587ZY4AAKD+cWoAioqK0okTJzRv3jzl5uYqJCREycnJCgwMlCTl5uY6PBMoKChIycnJio2N1bJly+Tv7
6/XXntNw4YNs/
fp2bOnNm7cqJkzZ2rWrFm64YYbtGnTJvXo0eOqzw8AANRPTr8I+qmnntJTT1V8JdTatWvLtfXu3Vv79u275
JgPP/
ywHn744door96zWq2aPXt2uVN4qB4+x9rB51g7+BxrB59j7bhWP0enPggRAADAGZz+W2AAAABXGwEIAACYD
gEIAACYDgEIAACYDgHIRSUmJuq2225TkyZN1KpVKw0dOlQHDhxwdlkuLzExURaLRTExMc4uxeUcPXpUo0aN
UosWLXTdddepa9euSk9Pd3ZZLuX8+fOaOXOmgoKC1KhRI7Vv317z5s1TWVmZs0ur1z777DMNHjxY/
v7+slgs+vvf/+7wvmEYmjNnjvz9/
dWoUSP16dNHX3/9tXOKrccu9TmWlJRo2rRpuvXWW3X99dfL399fY8aM0bFjx5xX8BUiALmonTt3atKkSdq9
e7dSUlJ0/
vx5RUZG6tdff3V2aS5rz549WrVqlTp37uzsUlzOL7/8ol69eqlhw4b66KOP9M033+jll192uSeqO9vChQu1
cuVKLV26VFlZWVq0aJFefPFFvf76684urV779ddf1aVLFy1durTC9xctWqTFixdr6dKl2rNnj1q3bq3+/
fvr9OnTV7nS+u1Sn+PZs2e1b98+zZo1S/
v27dOWLVt08OBBPfDAA06otJYYuCbk5+cbkoydO3c6uxSXdPr0aeOmm24yUlJSjN69extTpkxxdkkuZdq0a
cadd97p7DJc3n333Wc89thjDm0PPfSQMWrUKCdV5HokGe+99559u6yszGjdurXxwgsv2NvOnTtneHt7GytX
rnRCha7h959jRb744gtDknH48OGrU1QtYwXoGlFYWChJat68uZMrcU2TJk3Sfffdp3vuucfZpbikrVu3Kiw
sTH/84x/VqlUrdevWTatXr3Z2WS7nzjvv1KeffqqDBw9Kkvbv36/PP/
9cgwYNcnJlris7O1t5eXmKjIy0t1mtVvXu3VupqalOrMz1FRYWymKxuOxKr9OfBI0rZxiG4uLidOeddyokJ
MTZ5bicjRs3at++fdqzZ4+zS3FZP/
74o1asWKG4uDjNmDFDX3zxhSZPniyr1aoxY8Y4uzyXMW3aNBUWFqpjx45yc3NTaWmp5s+fr0cffdTZpbmsv
Lw8SZKvr69Du6+vrw4fPuyMkq4J586d0/Tp0zVixAiX+IHUihCArgFPP/
20vvzyS37wtQaOHDmiKVOmaNu2bfL09HR2OS6rrKxMYWFhWrBggSSpW7du+vrrr7VixQoCUDVs2rRJb7/9t
tavX69bbrlFmZmZiomJkb+/
v8aOHevs8lyaxWJx2DYMo1wbqqakpETDhw9XWVmZli9f7uxyaowA5OKeeeYZbd26VZ999pn+8Ic/
OLscl5Oenq78/HyFhoba20pLS/
XZZ59p6dKlKioqkpubmxMrdA1+fn7q1KmTQ1twcLA2b97spIpc07PPPqvp06dr+PDhkqRbb71Vhw8fVmJiI
gGohlq3bi3pwkqQn5+fvT0/P7/cqhAur6SkRI888oiys7P1r3/9y2VXfyTuAnNZhmHo6aef1pYtW/Svf/
1LQUFBzi7JJfXr109fffWVMjMz7a+wsDCNHDlSmZmZhJ8q6tWrV7nHMBw8eFCBgYFOqsg1nT17Vg0aOP5r2
c3Njdvgr0BQUJBat26tlJQUe1txcbF27typnj17OrEy13Mx/
Hz33Xf65JNP1KJFC2eXdEVYAXJRkyZN0vr16/X+++
+rSZMm9vPc3t7eatSokZOrcx1NmjQpd93U9ddfrxYtWnA9VTXExsaqZ8+eWrBggR555BF98cUXWrVqlVatW
uXs0lzK4MGDNX/+fLVt21a33HKLMjIytHjxYj322GPOLq1eO3PmjL7//
nv7dnZ2tjIzM9W8eXO1bdtWMTExWrBggW666SbddNNNWrBgga677jqNGDHCiVXXP5f6HP39/
fXwww9r3759+sc//
qHS0lL7907z5s3l4eHhrLJrzsl3oaGGJFX4evPNN51dmsvjNvia+eCDD4yQkBDDarUaHTt2NFatWuXsklyO
zWYzpkyZYrRt29bw9PQ02rdvbyQkJBhFRUXOLq1e2759e4X/Phw7dqxhGBduhZ
89e7bRunVrw2q1GnfddZfx1VdfObfoeuhSn2N2dnal3zvbt293duk1YjEMw7iagQsAAMDZuAYIAACYDgEIA
ACYDgEIAACYDgEIAACYDgEIAACYDgEIAACYDgEIAACYDgEIgOmdPXtWw4YNk5eXlywWi06dOlWl/
ebMmaOuXbvat8eNG6ehQ4fWSY0AahcBCECty8/
P15NPPqm2bdvKarWqdevWGjBggNLS0pxdWoXeeust7dq1S6mpqcrNzZW3t3eNxnn11Ve1du3a2i0OQJ3gt8
AA1Lphw4appKREb731ltq3b6+ff/5Zn376qU6ePOns0ir0ww8/KDg4+Ip//62mwQnA1ccKEIBaderUKX3+
+edauHCh+vbtq8DAQN1+++2Kj4/
XfffdJ0k6dOiQLBaLMjMzHfazWCzasWOHJGnHjh2yWCz6+OOP1a1bNzVq1Eh333238vPz9dFHHyk4OFheXl
569NFHdfbs2UvWtHnzZt1yyy2yWq1q166dXn75Zft7ffr00csvv6zPPvtMFotFffr0qXScF154Qb6+vmrSp
InGjx+vc+fOObz/
+1NgZWVlWrhwoW688UZZrVa1bdtW8+fPt79/9OhRRUVFqVmzZmrRooWGDBmiQ4cOXfoDBlArCEAAalXjxo3
VuHFj/f3vf1dRUdEVjzdnzhwtXbpUqampOnLkiB555BEtWbJE69ev14cffqiUlBS9/
vrrle6fnp6uRx55RMOHD9dXX32lOXPmaNasWfZTVVu2bNHjjz+u8PBw5ebmasuWLRWO87e//U2zZ8/W/
PnztXfvXvn5+Wn58uWXrD0+Pl4LFy7UrFmz9M0332j9+vXy9fWVdOG6o759+6px48b67LPP9Pnnn6tx48a6
9957VVxcXLMPC0DVOfvXWAFce959912jWbNmhqenp9GzZ08jPj7e2L9/v/39i78snZGRYW/
75ZdfHH5Z+uIvU3/yySf2PomJiYYk44cffrC3Pfnkk8aAAQMqrWXEiBFG//
79HdqeffZZo1OnTvbtKVOmGL17977knMLDw43o6GiHth49ehhdunSxb48dO9YYMmSIYRgXftndarUaq1evr
nC8pKQko0OHDkZZWZm9raioyGjUqJHx8ccfX7IWAFeOFSAAtW7YsGE6duyYtm7dqgEDBmjHjh3q3r17jS4Q
7ty5s/1vX19fXXfddWrfvr1DW35+fqX7Z2VlqVevXg5tvXr10nfffafS0tIq15GVlaXw8HCHtt9v/75/
UVGR+vXrV+H76enp+v7779WkSRP7qlnz5s117tw5/fDDD1WuC0DNcBE0gDrh6emp/v37q3///
nruuec0YcIEzZ49W+PGjVODBhf+28swDHv/kpKSCsdp2LCh/
W+LxeKwfbGtrKys0joMw5DFYinXVtcaNWp0yffLysoUGhqqv/71r+Xea9myZV2VBeD/
xwoQgKuiU6dO+vXXXyX93xd8bm6u/f3fXhBd28f9/PPPHdpSU1N18803y83NrcrjBAcHa/
fu3Q5tv9/+rZtuukmNGjXSp59+WuH73bt313fffadWrVrpxhtvdHhxNxlQ9whAAGrViRMndPfdd+vtt9/
Wl19+qezsbL3zzjtatGiRhgwZIunC6sgdd9yhF154Qd98840+++wzzZw5s07q+fOf/6xPP/1Uzz//
vA4ePKi33npLS5cu1dSpU6s1zpQpU7RmzRqtWbNGBw8e1OzZs/X1119X2t/T01PTpk3T//zP/
2jdunX64YcftHv3biUlJUmSRo4cKR8fHw0ZMkS7du1Sdna2du7cqSlTpuinn366ojkDuDxOgQGoVY0bN1aP
Hj30yiuv6IcfflBJSYkCAgL0+OOPa8aMGfZ+a9as0WOPPaawsDB16NBBixYtUmRkZK3X0717d/3tb3/
Tc889p+eff15+fn6aN2+exo0bV61xoqKi9MMPP2jatGk6d+6chg0bpokTJ+rjjz+udJ9Zs2bJ3d1dzz33nI
4dOyY/Pz9FR0dLkq677jp99tlnmjZtmh566CGdPn1abdq0Ub9+/
eTl5XUlUwZQBRbjapwMBwAAqEc4BQYAAEyHAAQAAEyHAAQAAEyHAAQAAEyHAAQAAEyHAAQAAEyHAAQAAEyH
AAQAAEyHAAQAAEyHAAQAAEyHAAQAAEyHAAQAAEzn/wO2m2la7/RTfwAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# You can use this cell for your calculations (not graded)\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def simulate_dice_throws(n, num_trials=100000):\n",
" np.random.seed(0)\n",
" first_throw = np.random.choice(np.arange(1, n+1), size=num_trials)\n",
" second_throw = np.random.choice(np.arange(1, n+1), size=num_trials)\n",
" sum_throws = first_throw + second_throw\n",
"\n",
" plt.hist(sum_throws, bins=np.arange(1.5, 2*n+1.5), density=True,
alpha=0.7)\n",
" plt.title(\"Histogram of Sum\")\n",
" plt.xlabel(\"Sum of dice\")\n",
" plt.ylabel(\"Probability\")\n",
" plt.show()\n",
"\n",
"n = 6\n",
"simulate_dice_throws(n)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "33a2e4d9",
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "ec09aca0831447999a97f31daa877680",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"RadioButtons(layout=Layout(width='max-content'), options=('yes, but only if
one of the sides is loaded', 'no, …"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "9362c7078e204c1bb1410c0a9d687f84",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Button(button_style='success', description='Save your answer!',
style=ButtonStyle())"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "7b5b563faf1e4b67ab7920a0aaf6027d",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Output()"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Run this cell to submit your answer\n",
"utils.exercise_12()"
]
},
{
"cell_type": "markdown",
"id": "1635ca7c",
"metadata": {},
"source": [
"## Before Submitting Your Assignment\n",
"\n",
"Run the next cell to check that you have answered all of the exercises"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "c6822278",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"All answers saved, you can submit the assignment for grading!\n"
]
}
],
"source": [
"utils.check_submissions()"
]
},
{
"cell_type": "markdown",
"id": "5286008f",
"metadata": {},
"source": [
"**Congratulations on finishing this assignment!**\n",
"\n",
"During this assignment you tested your knowledge on probability distributions,
descriptive statistics and visual interpretation of these concepts. You had the
choice to compute everything analytically or create simulations to assist you get
the right answer. You probably also realized that some exercises could be answered
without any computations just by looking at certain hidden queues that the
visualizations revealed.\n",
"\n",
"**Keep up the good work!**\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "dbe8e3c1",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

You might also like