diff --git a/02_activities/assignments/a1_sampling_and_reproducibility.ipynb b/02_activities/assignments/a1_sampling_and_reproducibility.ipynb index 873f5985..6ac633f0 100644 --- a/02_activities/assignments/a1_sampling_and_reproducibility.ipynb +++ b/02_activities/assignments/a1_sampling_and_reproducibility.ipynb @@ -16,7 +16,16 @@ "cell_type": "markdown", "id": "4ea73db3", "metadata": {}, - "source": [] + "source": [ + "Sampling occurs in the model during infection assignment and tracked status, primary contact tracing, and simulation running. \n", + "\n", + "The sampling procedure for who gets infected uses simple random sampling because every individual in the sample has an equal chance of being selected. The sampling method is simple random sampling without replacement. The function being used is np.random.choice which selects a random sample. The procedure samples a subset of individuals who become infected. The sample size is 100 infected individuals. The sampling frame is all individuals who attended the wedding (200 attendees) and brunch (800 attendees) which totals to 1000 people. \n", + "\n", + "For primary contact tracing, the sampling procedure is simple random sampling because each individual that is infected has an equal probability of being chosen. Each infected individual is independently selected for sampling through the use of np.random.rand. This sampling is conducted to determine whether each infected person is successfully traced uring primary contact tracing. The sampling frame consists of only indiduals who are already infected which is expected to be 100 people. The sample size is 100 per simulation. The underlying distribution is Bernoulli trial because each infected person is traced with a probability of 0.20. The number of traced individuals follows a Binomial distribution (n = 0.20). \n", + "\n", + "Repeated random sampling occurs from running the simulation as it is sampling independent repetitions of the model, each with its own random infection and tracing outcomes. The sampling frame is the space of all possible epidemic and tracing outcomes defined by infection randomness and primary contact tracing randomness. The sample size is 1000 independent simulations. The sampling method uses the simulate_event() function to generate a new random draw from the same underlying model. The underlying distribution is sampling distribution because it demonstrates the proportion of infections from the wedding/brunch and proportion of traced cases from the wedding/brunch.\n", + "\n" + ] }, { "cell_type": "markdown", @@ -26,11 +35,156 @@ "Modify the number of repetitions in the simulation to 10 and 100 (from the original 1000). Run the script multiple times and observe the outputted graphs. Comment on the reproducibility of the results." ] }, + { + "cell_type": "code", + "execution_count": 17, + "id": "c778ce42", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAVwJJREFUeJzt3QeYVOXdP+4HqaIoCjYUwVgQu2KJJbFgxfjakhiDisYYYzdqLDGxxxprrDHWmNcaNaaoQYMau2JXghUrip0mff7X93n/s7/ZZYFd2LPD7t73dY3szJw588w5Z8bzOU9rVyqVSgkAAABocgs0/SoBAACAIHQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAPMgz/96U9p1VVXTR07dkzdu3evdnGYS+3atUunnHJKtYtBHfvuu2/q27dviz8mqvk56jNt2rR07LHHpt69e6cFFlgg7bLLLs323qNGjcrb9vrrr2+29wSoNqEbqFecEMWJ0bPPPptaun/+85+FBKr//ve/+WR6xRVXTFdffXX6wx/+MMfXvPDCC2mvvfbKJ7udO3dOiy++eNp6663Tddddl6ZPn56K8vjjj+dt8NVXX6Ui/e///m+66KKL5rhclCWOrzndtthii0LL21Y89NBDtbZrXCT61re+lfbZZ5/09ttvV7t4LVY5QNZ3+/a3v134/rzjjjvm6vXXXnttOu+889L3v//9dMMNN6Rf/OIXVfstaG5/+9vf0uabb56WXHLJ1LVr1/w9+OEPf5juu+++ahcNaMU6VLsAAM0Rui+77LImD95x4jtjxox08cUXp5VWWmmOy//xj39MP//5z9NSSy2V9t5777TyyiuncePGpQcffDDtv//+afTo0elXv/pVKip0n3rqqfkiQZE18nGi/corr6QjjzxytsvttttutbbZ+PHj00EHHZR23XXX/FxZbKvm8M0336QOHVr//xIPP/zwtMEGG6SpU6em5557Ll8o+sc//pFefvnl1KtXrzS/iYtZ8R2b3+25555p0KBBtR5bYokl0vzq3//+d1p22WXThRde2Oy/BX369Mnft7jw09x+97vfpV/+8pc5dJ9wwgk5dL/55pvpgQceSLfcckvafvvtm71MQNvQ+s8wAAoyZsyY/G9DQuyTTz6ZA/fGG2+c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jRuXevXqlWctaZWhOwK3kWEBAAColvfffz8tt9xyrTN0Rw13+UMussgi1S4OAAAAbcTYsWNzJXA5l7bK0F1uUh6BW+gGAACguc2pq7OB1AAAAKAgQjcAAAAUROgGAACAgrToPt0NNX369DR16tRqFwPanI4dO6b27dtXuxgAAFA1HVr7vGkff/xx+uqrr6pdFGizunfvnpZeeuk5DjABAACtUasO3eXAveSSS6auXbs66Ydmvug1ceLENGbMmHx/mWWWqXaRAACg2XVozU3Ky4G7R48e1S4OtEkLLrhg/jeCd3wXNTUHAKCtabUDqZX7cEcNN1A95e+gcRUAAGiLWm3oLtOkHKrLdxAAgLas1YduAAAAqJZW26d7dt5777302WefNct79ezZMy2//PLNMmjc3nvvnR5//PE8TVNRI7Zff/316cgjj6zqiPAxQNeBBx6Y7rjjjvTll1+m559/Pq2zzjqpLWjI9j/llFPS3XffnV544YV8f999983Lx2MAAEDz6tAWA3e/fv3TpEkTm+X9unTpmkaOHNGo4D03IenCCy9Mo0ePzkFr0UUXTU2hb9++OeDFrWyPPfZIgwYNStV033335fD50EMPpW9961v5wkY1HX/88Xlf/fe//615LP7u379/GjJkSC5rWfwdFwxi/5YHGSvaxRdfnC9UAAAAza/Nhe6o4Y7A3b//Talr1/6FvtfEiSPSiBF75fcsurb7rbfeSgMGDEgrr7xyoe8TQbG5wuLsPmtMP7XJJpvMcpkpU6akTp06NUt5ttxyy3TOOefk1gYxH3UYNmxY6t27d74wUCke//a3v92s27CpLsIAAACN12b7dEfg7tZtvUJvTRXqt9hii3T44YenY489Ni2++OI52EUT4soa6b/85S/pxhtvzINWRU15iNrUn/70p2mJJZZIiyyySNpqq63Siy++WGvdf/vb39IGG2yQunTpkmuMd91115r3fPfdd9MvfvGLvM7yYFhRU9u9e/da67jiiivSiiuumENuv3790p/+9Kdaz8dr//jHP+Z1x0jWcWHgnnvuqXk+mogPHjw4lzPCaDx/3XXX1bst4rMddthhucVCrDc+e7m8hx56aK6Vj8+x3Xbb5ccffvjhtOGGG6bOnTvnoB610tOmTau1bWN98brFFlssLbXUUunqq69OEyZMSPvtt1/q1q1bWmmlldK99947y/2z2Wab5Sb9lQE7/j7kkEPSF198kUaNGlXr8QjpYfLkyemYY45Jyy67bFpooYXSRhttNFNIj+0dF2xiu8X2+/zzz2d6/7PPPjuXO8q6//77p0mTJs20zXbZZZcGH0/lmvr4XHFcrLbaaumBBx7I27vc+iIuasT2jm0ay/Tp0yedddZZs9xGAADQVrXZ0N3S3HDDDTmYPfXUU+ncc89Np512Who6dGh+7plnnknbb799+uEPf5ibmEdz4vCDH/wgz48cgXH48OFpvfXWSwMHDsxBMPzjH//IQS6ai0e/6AcffDAH1HDnnXem5ZZbLr9PrDNu9bnrrrvSEUcckY4++uj0yiuv5KbTEVajRrfSqaeemsv30ksv5feLkF0ux29+85v02muv5XKOGDEih/hZNRmPzxZlirJFmeKzV26jCP6PPfZYuvLKK9OHH36Y3ysuKsTFhljvNddck84444yZtm2839NPP50D+EEHHZS3XdSkP/fcc2nbbbfN/eUnTqy/S0Lsl3iPys8c4Tm29aabblrz+Ntvv50vFpRDd4TWJ554It1yyy15u8R7xn5844038vOxryNEx3LRbSBeV7fst912Ww7MZ555Znr22WdzCL788svrLWdDj6eY4z5CegT9eP4Pf/hDOvHEE2u9/pJLLskXTuL9R44cmf785z/XXAABAAAqlFqwr7/+Ojqq5n/r+uabb0qvvfZa/rfS8OHD82sGDBhe2mKLUqG3eI94r3jPxhgyZEhp5513rrm/+eablzbbbLNay2ywwQal4447ruZ+LB+vK/vPf/5TWmSRRUqTJk2q9boVV1yxdNVVV+W/N95449LgwYNnWY4+ffqULrzwwlqPXXfddaVFF1205v4mm2xSOuCAA2ot84Mf/KA0aNCgmvuxDX7961/X3B8/fnx+7N577833d9ppp9J+++1XaqgoU5StUmyjddddt9Zjv/rVr0r9+vUrzZgxo+axyy67rLTwwguXpk+fXu+2nTZtWmmhhRYq7b333jWPjR49Opf3iSeemGWZTjzxxNIqq6yS/3711Vfzto91nXnmmaV99tknP37NNdeUunTpkvfJu+++W2rfvn3pww8/rLWegQMHlk444YT895577llrO4Y99tij1vaPfXjwwQfXWmajjTYqrb322nN9PMV+6dChQ/7cZUOHDs3b4K677sr3Dzvs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69at0NvchPqll1665rbooovmmu/y/f/+97+pW7du6d57700DBgxInTt3To8++miu2d15553TUkstlUP5BhtskB544IFa6508eXI67rjjclCN16200krpmmuuqXn+lVdeSTvssEN+faxn7733rtUEf8KECWmfffbJzy+zzDLp/PPPn+3nuP7669Opp56aXnzxxfwZ4haPlVsbRHljXYssskj64Q9/mD755JPZhu648PDxxx/XPPbwww+n448/PofssnfeeSe9++67efnw/vvv53V37949Lb744vk9R40aVbN8XLA46qij8vM9evRIxx57bL6QUakhnzual1c2sY/P+sc//jHtuuuuqWvXrmnllVdO99xzT63XxP14vEuXLrm8N9xwQ35dNG0P8Tl22mmntNhii+Va9NVXXz3985//nO02BwAA5j9tNnS3ZBE2zz777DRixIi01lprpfHjx6dBgwalBx98MD3//PNp++23z4Etwm1ZBMebb745XXLJJfl1V111VU2teQS9rbbaKq277rrp2WefTffdd18OwRFYy375y1/moPvXv/41/etf/8ph97nnnptlGffYY4909NFH57AYtfdxi8dmzJiRw+8XX3yR1zd06ND09ttv5+dmZdNNN00dO3bMtdvhtddeS998803af//90+eff57DdojnI8RuvPHGaerUqWm77bbLFymiqfljjz2WP29smylTpuTlI0DHhYBrr702X7yIMtWtUW/s5y6LCw6x/V566aW8bwYPHpzXH6K83//+99Muu+ySL0oceOCB6cQTT6z1+kMOOSRfKHnkkUfSyy+/nM4555xarRwAAICWoXW3S26lTjvttLTNNtvU3I9a3LXXXrvm/umnn57DY9SmHnrooen1119Pt912Ww64W2+9dV7mW9/6Vs3yl156aQ7cZ555Zs1jEUSjVjxe26tXr1wrftNNN6WBAwfm56NmdrnllptlGRdccMEcEqPpe9TSl0UZIkRG8Iz1hxtvvDGH8+gbHbX0dUVN74YbbpgD75577pn/3WyzzXKN/SabbJLvr7DCCvnfCNzxeJQ1An7UOJf7yUf/76jVjuW23XbbXDt9wgknpN12262mn/j9999f875xMaOxn7ssmrxHWUNs17jY8fTTT+fQHxc8+vXrl84777z8fPwdLQ1++9vf1rw+Lpjsvvvuac0115xp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LgLMk549e6bll18+tQZVDd233HJLeu6553Lz8oY466yz0qmnnlp4uQAAoCWaMmV0bsy61157VbsoME+6dOmaRo4c0SqCd9VC9/vvv5+OOOKINHTo0NSlS5cGveaEE05IRx11VK2a7t69exdYSgAAaDmmTfsqpTQj9e17derRY71qFwfmysSJI9KIEXulzz77TOieF8OHD09jxoxJ6633/34Mpk+fnh555JF06aWX5mbk7du3r/Wazp075xsAADBrCy7YL3XrJnRDmw7dAwcOTC+//HKtx/bbb7+06qqrpuOOO26mwA0AAAAtTdVCd7du3dIaa6xR67GFFloo9ejRY6bHAQAAoCWq+pRhAAAA0FpVfcqwSg899FC1iwAAAABNRk03AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBrDN1XXHFFWmuttdIiiyySbxtvvHG69957q1kkAAAAaB2he7nllktnn312Gj58eHr22WfTVlttlXbeeef06quvVrNYAAAA0CQ6pCraaaedat3/7W9/m2u/n3zyybT66qtXrVwAAADQ4kN3penTp6fbb789TZgwITczr8/kyZPzrWzs2LGpJXnvvffSZ599Vu1iwCz17NkzLb/88tUuBkCLNmnSe2nqVP+/pzq++ead///fkWncuIXqXWbGjMlpgQU6N3PJoOEmThyRWpOqh+6XX345h+xJkyalhRdeON11111ptdVWq3fZs846K5166qmpJYrA3b9fvzRx0qRqFwVmqWuXLmnEyJGCN8A8BO5nn+6Xps3w/3uqa9SoA9KoUbPuXzqjuQsEjRTH6ejRo1NrUPXQ3a9fv/TCCy+kr7/+Ot1xxx1pyJAh6eGHH643eJ9wwgnpqKOOqlXT3bt379QSRA13BO6b+vdP/bt2rXZxYCYjJk5Me40YkY9VoRtg7kQNdwTuM7r2Tyss4P/3NL+p0z5PkyaNSl269EsdOyw80/OPTfs8XT5pVDqtc9+0YsceVSkjzMlbUz9PJ00elb766qvUGlQ9dHfq1CmttNJK+e8BAwakZ555Jl188cXpqquummnZzp0751tLFoF7vW7dql0MAKBAEbj7d/D/e5rflBkT08RovbZA19SpnmPwnekT//9jdEHHKPOtGf//cdqmRy9/++23U1FmzJhRq982AAAAtKnQHTXTW265ZbrppptyX+y5Fc3FH3nkkTRq1KjctzvuP/TQQ2nw4MFzvU4AAABo0aH7ueeeS2uttVbuX7300kunAw88MD399NONXs+YMWPSPvvsk/t1Dxw4MDctv//++9M222wzN8UCAACAlh+611lnndzv+qOPPkrXXnttHlVus802S2ussUa64IIL0qefftqg9VxzzTW5ljuak0cAf+CBBwRuAAAA2nboLuvQoUPabbfd8vza55xzTnrzzTfTMccck0cUjxrs1jLEOwAAADR76H722WfTwQcfnJZZZplcwx2B+6233kpDhw7NteA777zzvKweAAAA2t6UYRGwr7vuujRy5Mg0aNCgdOONN+Z/F1jg/zL8CiuskK6//vrUt2/fpi4vAAAAtO7QfcUVV6Sf/OQnad9998213PVZcsklc59tAAAAaKvmKnS/8cYbc1ymU6dOaciQIXOzegAAAGi7fbqjaXkMnlZXPHbDDTc0RbkAAACgbYbus846K/Xs2bPeJuVnnnlmU5QLAAAA2mbofu+99/JgaXX16dMnPwcAAADMZeiOGu2XXnpppsdffPHF1KNHj6YoFwAAALTN0L3nnnumww8/PA0bNixNnz493/7973+nI444Iv3oRz9q+lICAABAWxm9/PTTT0+jRo1KAwcOTB06/N8qZsyYkfbZZx99ugEAAGBeQndMB3brrbfm8B1NyhdccMG05ppr5j7dAAAAwDyE7rJVVlkl3wAAAIAmCt3Rh/v6669PDz74YBozZkxuWl4p+ncDAABAWzdXoTsGTIvQveOOO6Y11lgjtWvXrulLBgAAAG0xdN9yyy3ptttuS4MGDWr6EgEAAEBbnjIsBlJbaaWVmr40AAAA0NZD99FHH50uvvjiVCqVmr5EAAAA0Jablz/66KNp2LBh6d57702rr7566tixY63n77zzzqYqHwAAALSt0N29e/e06667Nn1pAAAAoK2H7uuuu67pSwIAAACtzFz16Q7Tpk1LDzzwQLrqqqvSuHHj8mMfffRRGj9+fFOWDwAAANpWTfe7776btt9++/Tee++lyZMnp2222SZ169YtnXPOOfn+lVde2fQlBQAAgLZQ033EEUek9ddfP3355ZdpwQUXrHk8+nk/+OCDTVk+AAAAaFs13f/5z3/S448/nufrrtS3b9/04YcfNlXZAAAAoO3VdM+YMSNNnz59psc/+OCD3MwcAAAAmMvQve2226aLLrqo5n67du3yAGonn3xyGjRoUFOWDwAAANpW8/Lzzz8/bbfddmm11VZLkyZNSj/+8Y/TG2+8kXr27Jluvvnmpi8lAAAAtJXQvdxyy6UXX3wx3XLLLemll17Ktdz7779/Gjx4cK2B1QAAAKAt6zDXL+zQIe21115NWxoAAABo66H7xhtvnO3z++yzz9yWBwAAANp26I55uitNnTo1TZw4MU8h1rVrV6EbAAAA5nb08i+//LLWLfp0jxw5Mm222WYGUgMAAIB5Cd31WXnlldPZZ589Uy04AAAAtFVNFrrLg6t99NFHTblKAAAAaFt9uu+5555a90ulUho9enS69NJL06abbtpUZQMAAIC2F7p32WWXWvfbtWuXllhiibTVVlul888/v6nKBgAAAG0vdM+YMaPpSwIAAACtTJP26QYAAADmsab7qKOOavCyF1xwwdy8BQAAALTN0P3888/n29SpU1O/fv3yY6+//npq3759Wm+99Wr19QYAAIC2aq5C90477ZS6deuWbrjhhrTYYovlx7788su03377pe985zvp6KOPbupyAgAAQNvo0x0jlJ911lk1gTvE32eccYbRywEAAGBeQvfYsWPTp59+OtPj8di4cePmZpUAAADQ6sxV6N51111zU/I777wzffDBB/n2l7/8Je2///5pt912a/pSAgAAQFvp033llVemY445Jv34xz/Og6nlFXXokEP3eeed19RlBAAAgLYTurt27Zouv/zyHLDfeuut/NiKK66YFlpooaYuHwAAALSt5uVlo0ePzreVV145B+5SqdR0JQMAAIC2GLo///zzNHDgwLTKKqukQYMG5eAdonm56cIAAABgHkL3L37xi9SxY8f03nvv5abmZXvssUe677775maVAAAA0OrMVZ/uf/3rX+n+++9Pyy23XK3Ho5n5u+++21RlAwAAgLZX0z1hwoRaNdxlX3zxRercuXNTlAsAAADaZuj+zne+k2688caa++3atUszZsxI5557btpyyy2bsnwAAADQtpqXR7iOgdSeffbZNGXKlHTsscemV199Ndd0P/bYY01fSgAAAGgrNd1rrLFGev3119Nmm22Wdt5559zcfLfddkvPP/98nq8bAAAAmIua7qlTp6btt98+XXnllenEE08splQAAADQFmu6Y6qwl156qZjSAAAAQFtvXr7XXnula665pulLAwAAAG19ILVp06ala6+9Nj3wwANpwIABaaGFFqr1/AUXXNBU5QMAAIC2Ebrffvvt1Ldv3/TKK6+k9dZbLz8WA6pViunDAAAAgEaG7pVXXjmNHj06DRs2LN/fY4890iWXXJKWWmqposoHAAAAbaNPd6lUqnX/3nvvzdOFAQAAAE00kNqsQjgAAAAwl6E7+mvX7bOtDzcAAAA0QZ/uqNned999U+fOnfP9SZMmpZ///OczjV5+5513Nma1AAAA0Co1KnQPGTJkpvm6AQAAgCYI3dddd11jFgcAAIA2bZ4GUgMAAABmTegGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgNYYus8666y0wQYbpG7duqUll1wy7bLLLmnkyJHVLBIAAAC0jtD98MMPp0MOOSQ9+eSTaejQoWnq1Klp2223TRMmTKhmsQAAAKBJdEhVdN9999W6f/311+ca7+HDh6fvfve7VSsXAAAAtLo+3V9//XX+d/HFF692UQAAAKBl13RXmjFjRjryyCPTpptumtZYY416l5k8eXK+lY0dO7YZSwgAAAAttKY7+na/8sor6ZZbbpntwGuLLrpoza13797NWkYAAABocaH70EMPTX//+9/TsGHD0nLLLTfL5U444YTcBL18e//995u1nAAAANBimpeXSqV02GGHpbvuuis99NBDaYUVVpjt8p07d843AAAAaAk6VLtJ+f/+7/+mv/71r3mu7o8//jg/Hk3HF1xwwWoWDQAAAFp28/IrrrgiNxPfYost0jLLLFNzu/XWW6tZLAAAAGgdzcsBAACgtZovBlIDAACA1kjoBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBrDN2PPPJI2mmnnVKvXr1Su3bt0t13313N4gAAAEDrCd0TJkxIa6+9drrsssuqWQwAAAAoRIdURTvssEO+AQAAQGukTzcAAAC0xpruxpo8eXK+lY0dO7aq5QFgZu+991767LPPCln36NGj01dffVXIuiG88847+d+JE0fM1evn9nUAtF4tKnSfddZZ6dRTT612MQCYTeDu169/mjRpYmHNs2YUsmaobcSIvebp9aXSlCYrCwAtW4sK3SeccEI66qijatV09+7du6plAuD/iRruCNz9+9+Uunbt36TrjhrECEKnde6bVlhgwSZdN5RNm/51mjzlo9SlS7/UscPCjX79Y9M+T5dPGpVKM6YVUj4AWp4WFbo7d+6cbwDM3yJwd+u2XiHrXrFjj9S/Q7dC1g1TpqQ0ccpHqesCXVOnuTjO3pleTCsPAFquqobu8ePHpzfffLNWP6oXXnghLb744mn55ZevZtEAAACgZYfuZ599Nm255ZY198tNx4cMGZKuv/76KpYMAAAAWnjo3mKLLVKpVKpmEQAAAKAw5ukGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAAGjNofuyyy5Lffv2TV26dEkbbbRRevrpp6tdJAAAAGj5ofvWW29NRx11VDr55JPTc889l9Zee+203XbbpTFjxlS7aAAAANCyQ/cFF1yQDjjggLTffvul1VZbLV155ZWpa9eu6dprr6120QAAAKDlhu4pU6ak4cOHp6233vr/FWiBBfL9J554oppFAwAAgHnWIVXRZ599lqZPn56WWmqpWo/H/f/+978zLT958uR8K/v666/zv2PHjk3zu/Hjx+d/h48bl8ZPn17t4sBMRk6cmP+NC2Hl4xUaa+TIkfnfTz+9M40bN7xJ1z1p0rv531enfJomTBvXpOuGsmnTx6Y40+g89bPUYcaERr/+7Wn/d27y6rQv0zcl/79n/juGHaO0BG9P/798N3HixPk665XLViqVZrtcu9KclijQRx99lJZddtn0+OOPp4033rjm8WOPPTY9/PDD6amnnqq1/CmnnJJOPfXUKpQUAAAAZvb++++n5ZZbLs2XNd09e/ZM7du3T5988kmtx+P+0ksvPdPyJ5xwQh50rWzGjBnpiy++SD169Ejt2rXLVxp69+6dP/QiiyzSLJ8BmpJjmJbOMUxL5ximpXMM0xqMbSHHcdRfjxs3LvXq1Wu2y1U1dHfq1CkNGDAgPfjgg2mXXXapCdJx/9BDD51p+c6dO+dbpe7du8+0XOyY+XnnwJw4hmnpHMO0dI5hWjrHMK3BIi3gOF500UXnuExVQ3eImushQ4ak9ddfP2244YbpoosuShMmTMijmQMAAEBLVvXQvccee6RPP/00nXTSSenjjz9O66yzTrrvvvtmGlwNAAAAWpqqh+4QTcnra07eWNH0/OSTT56pCTq0FI5hWjrHMC2dY5iWzjFMa9C5lR3HVR29HAAAAFqzBapdAAAAAGithG4AAAAoiNANAAAAbTF0X3bZZalv376pS5cuaaONNkpPP/30bJe//fbb06qrrpqXX3PNNdM///nPWs9H9/UYJX2ZZZZJCy64YNp6663TG2+8UfCnoC1r6mN43333Te3atat123777Qv+FLRljTmGX3311bT77rvn5ePYjCkg53WdMD8ex6eccspMv8Xx2w3zwzF89dVXp+985ztpscUWy7c43627vHNiWvoxvG8LOyeeb0P3rbfemufwjlHrnnvuubT22mun7bbbLo0ZM6be5R9//PG05557pv333z89//zzaZdddsm3V155pWaZc889N11yySXpyiuvTE899VRaaKGF8jonTZrUjJ+MtqKIYzjED8ro0aNrbjfffHMzfSLamsYewxMnTkzf+ta30tlnn52WXnrpJlknzI/HcVh99dVr/RY/+uijBX4K2rLGHsMPPfRQPp8YNmxYeuKJJ1Lv3r3Ttttumz788MOaZZwT09KP4RZ3TlyaT2244YalQw45pOb+9OnTS7169SqdddZZ9S7/wx/+sLTjjjvWemyjjTYqHXjggfnvGTNmlJZeeunSeeedV/P8V199VercuXPp5ptvLuxz0HY19TEchgwZUtp5550LLDXM/TFcqU+fPqULL7ywSdcJ88txfPLJJ5fWXnvtJi8r1GdefzenTZtW6tatW+mGG27I950T09KP4ZZ4Tjxf1nRPmTIlDR8+PDclKFtggQXy/bjaUZ94vHL5EFdQysu/88476eOPP661zKKLLpqbN8xqnTA/HcOVV/+WXHLJ1K9fv3TQQQelzz//vKBPQVs2N8dwNdYJ1Trmoilur169cq344MGD03vvvdcEJYamP4aj9cbUqVPT4osvnu87J6alH8Mt8Zx4vgzdn332WZo+fXpaaqmlaj0e9+NHoj7x+OyWL//bmHXC/HQMl5vR3HjjjenBBx9M55xzTnr44YfTDjvskN8Lqn0MV2OdUI1jLsLJ9ddfn+677750xRVX5BAT/Q/HjRvXBKWGpj2GjzvuuHyBqBx6nBPT0o/hlnhO3KHaBQAa7kc/+lHN3zHQ2lprrZVWXHHFfKVv4MCBVS0bQFsRJ3Zl8TscIbxPnz7ptttuy+NywPwixia45ZZb8nlCDGAFreUY/lELOyeeL2u6e/bsmdq3b58++eSTWo/H/VkNahKPz2758r+NWSfMT8dwfaJZY7zXm2++2UQlh7k/hquxTpgfjrnu3bunVVZZxW8x89Ux/Lvf/S4Hln/96185kJQ5J6alH8Mt8Zx4vgzdnTp1SgMGDMjNBcpmzJiR72+88cb1viYer1w+DB06tGb5FVZYIe/YymXGjh2bR2yc1TphfjqG6/PBBx/k/isx5QdU+xiuxjphfjjmxo8fn9566y2/xcw3x3CMTn766afnLhDrr79+reecE9PSj+EWeU5cmk/dcssteRTF66+/vvTaa6+Vfvazn5W6d+9e+vjjj/Pze++9d+n444+vWf6xxx4rdejQofS73/2uNGLEiDyyaMeOHUsvv/xyzTJnn312Xsdf//rX0ksvvZRHvFthhRVK33zzTVU+I61bUx/D48aNKx1zzDGlJ554ovTOO++UHnjggdJ6661XWnnllUuTJk2q2uek9WrsMTx58uTS888/n2/LLLNMPl7j7zfeeKPB64SWcBwfffTRpYceeij/Fsdv99Zbb13q2bNnacyYMVX5jLRujT2G43y3U6dOpTvuuKM0evTomlucR1Qu45yYlnoMj2uB58TzbegOv//970vLL7983ugx1PyTTz5Z89zmm2+eh4qvdNttt5VWWWWVvPzqq69e+sc//lHr+Zgi4Te/+U1pqaWWyjt+4MCBpZEjRzbb56HtacpjeOLEiaVtt922tMQSS+QwHlPZHHDAAcIK880xHP/ji2u5dW+xXEPXCS3hON5jjz1yII/1Lbvssvn+m2++2eyfi7ajMcdwnB/UdwzHxfwy58S05GN4Ygs8J24X/6l2bTsAAAC0RvNln24AAABoDYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidANAK9CuXbt09913V7sY6eOPP07bbLNNWmihhVL37t2rXRwAqDqhG4A2a999981hNW6dOnVKK620UjrttNPStGnT0vzqlFNOSeuss85Mj48ePTrtsMMOqdouvPDCXJYXXnghvf7669UuDgBUXYdqFwAAqmn77bdP1113XZo8eXL65z//mQ455JDUsWPHdMIJJ8y07JQpU3I4r4ZSqZSmT58+y+eXXnrpND9466230oABA9LKK69c7aIAwHxBTTcAbVrnzp1zYO3Tp0866KCD0tZbb53uueeemprwXXbZJf32t79NvXr1Sv369cuPv/zyy2mrrbZKCy64YOrRo0f62c9+lsaPH1+zzvLrTj311LTEEkukRRZZJP385z/Pob0sQv7hhx+ellxyydSlS5e02WabpWeeeabm+YceeijXwN977705xEY5b7rpprzOF198saaG/vrrr6+3eXlDy/i73/0uLbPMMnmZuOAwderU2W6vK664Iq244or54kNsjz/96U81z/Xt2zf95S9/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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Import necessary libraries\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "# Note: Suppressing FutureWarnings to maintain a clean output. This is specifically to ignore warnings about\n", + "# deprecated features in the libraries we're using (e.g., 'use_inf_as_na' option in Pandas, used by Seaborn),\n", + "# which we currently have no direct control over. This action is taken to ensure that our output remains\n", + "# focused on relevant information, acknowledging that we rely on external library updates to fully resolve\n", + "# these deprecations. Always consider reviewing and removing this suppression after significant library updates.\n", + "import warnings\n", + "warnings.simplefilter(action='ignore', category=FutureWarning)\n", + "\n", + "# Constants representing the parameters of the model\n", + "ATTACK_RATE = 0.10\n", + "TRACE_SUCCESS = 0.20\n", + "SECONDARY_TRACE_THRESHOLD = 2\n", + "\n", + "def simulate_event(m):\n", + " \"\"\"\n", + " Simulates the infection and tracing process for a series of events.\n", + " \n", + " This function creates a DataFrame representing individuals attending weddings and brunches,\n", + " infects a subset of them based on the ATTACK_RATE, performs primary and secondary contact tracing,\n", + " and calculates the proportions of infections and traced cases that are attributed to weddings.\n", + " \n", + " Parameters:\n", + " - m: Dummy parameter for iteration purposes.\n", + " \n", + " Returns:\n", + " - A tuple containing the proportion of infections and the proportion of traced cases\n", + " that are attributed to weddings.\n", + " \"\"\"\n", + " # Create DataFrame for people at events with initial infection and traced status\n", + " events = ['wedding'] * 200 + ['brunch'] * 800\n", + " ppl = pd.DataFrame({\n", + " 'event': events,\n", + " 'infected': False,\n", + " 'traced': np.nan # Initially setting traced status as NaN\n", + " })\n", + "\n", + " # Explicitly set 'traced' column to nullable boolean type\n", + " ppl['traced'] = ppl['traced'].astype(pd.BooleanDtype())\n", + "\n", + " # Infect a random subset of people\n", + " infected_indices = np.random.choice(ppl.index, size=int(len(ppl) * ATTACK_RATE), replace=False)\n", + " ppl.loc[infected_indices, 'infected'] = True\n", + "\n", + " # Primary contact tracing: randomly decide which infected people get traced\n", + " ppl.loc[ppl['infected'], 'traced'] = np.random.rand(sum(ppl['infected'])) < TRACE_SUCCESS\n", + "\n", + " # Secondary contact tracing based on event attendance\n", + " event_trace_counts = ppl[ppl['traced'] == True]['event'].value_counts()\n", + " events_traced = event_trace_counts[event_trace_counts >= SECONDARY_TRACE_THRESHOLD].index\n", + " ppl.loc[ppl['event'].isin(events_traced) & ppl['infected'], 'traced'] = True\n", + "\n", + " # Calculate proportions of infections and traces attributed to each event type\n", + " ppl['event_type'] = ppl['event'].str[0] # 'w' for wedding, 'b' for brunch\n", + " wedding_infections = sum(ppl['infected'] & (ppl['event_type'] == 'w'))\n", + " brunch_infections = sum(ppl['infected'] & (ppl['event_type'] == 'b'))\n", + " p_wedding_infections = wedding_infections / (wedding_infections + brunch_infections)\n", + "\n", + " wedding_traces = sum(ppl['infected'] & ppl['traced'] & (ppl['event_type'] == 'w'))\n", + " brunch_traces = sum(ppl['infected'] & ppl['traced'] & (ppl['event_type'] == 'b'))\n", + " p_wedding_traces = wedding_traces / (wedding_traces + brunch_traces)\n", + "\n", + " return p_wedding_infections, p_wedding_traces\n", + "\n", + "# Run the simulation 10 times\n", + "results = [simulate_event(m) for m in range(10)]\n", + "props_df = pd.DataFrame(results, columns=[\"Infections\", \"Traces\"])\n", + "\n", + "# Plotting the results\n", + "plt.figure(figsize=(10, 6))\n", + "sns.histplot(props_df['Infections'], color=\"blue\", alpha=0.75, binwidth=0.05, kde=False, label='Infections from Weddings')\n", + "sns.histplot(props_df['Traces'], color=\"red\", alpha=0.75, binwidth=0.05, kde=False, label='Traced to Weddings')\n", + "plt.xlabel(\"Proportion of cases\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.title(\"Impact of Contact Tracing on Perceived Flu Infection Sources\")\n", + "plt.legend()\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "c2d03419", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAXERJREFUeJzt3QeYVOXdP+6HjnQFBQuosSB2xYaa2FAs8bUlMcaCxhhjr7G8JvZYY01sMYoajTVqNIkaxRa7YleCXVRA7DTp87++z/ub/c+uCyywh1127/u6xmVmzpx55pwz4/mcp7UolUqlBAAAANS7lvW/SgAAACAI3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAPXsL3/5S1pllVVSmzZtUrdu3Rq6OMyjFi1apFNPPbWhi0EN++67b1puueUW+mOiIT9HbaZPn56OO+641Lt379SyZcu08847L7D3/uCDD/K2ve666xbYewIsSEI3UGdxQhQnRi+88EJa2P3rX/8qJFD997//zSfTK6ywQrr66qvTn/70pzm+5uWXX0577bVXPtlt165dWmyxxdLAgQPTkCFD0owZM1JRnnrqqbwNvv7661Skv/71r+niiy+e43JRlji+5nTbfPPNCy1vc/Hoo49W265xkeh73/te2meffdJ7773X0MVbaJUDZG23jTbaqPD9eccdd8zT66+99tp0/vnnpx/96Efp+uuvT0cddVSD/RYsaPfee2/abLPN0hJLLJE6dOiQvwc/+clP0v3339/QRQOaiNYNXQCAhgrdl112Wb0H7zjxnTlzZrrkkkvSiiuuOMfl//znP6df/epXqWfPnmnvvfdOK620Uho/fnwaOnRo2n///dPo0aPT//7v/6aiQvdpp52WLxIUWSMfJ9qvv/56OvLII2e73K677lptm02YMCEddNBBaZdddsnPlcW2WhC+/fbb1Lp10//f5OGHH57WX3/9NG3atPTiiy/mC0X//Oc/02uvvZaWWmqp1NjExaz4jjV2e+yxR9p+++2rPbb44ounxurhhx9OSy+9dLrooosW+G/Bsssum79vceFnQfv973+ffv3rX+fQfeKJJ+bQ/c4776SHHnoo3XLLLWnbbbdd4GUCmp6mfzYBsACNHTs2/61LiH3mmWdy4B4wYEC+CNC5c+eq5+KkNFoUxAlqc7HmmmvmW9nnn3+eQ3c8Fi0BZmXy5Mmpbdu2uUlsfWrfvn1qDr7//e/n2s2w3377pZVXXjkH8ajtjBAyPyZOnJg6duyY6lNDBLN5se666872uG2Mv10N1R0maugb4vsWTerPOOOMtPXWW6d///vfs/w9X5CK+M4ADU/zcmC+RC1pp06d0siRI9MPf/jD/O+oLYla5BC1ZVtuuWU+iYjajKjpqK3J+uOPP54OPPDA1L1799SlS5fcxPWrr76qtuzf//73tMMOO+Tat2iGHU2444SptibYzz77bK5lWnTRRfN7R3CL2udymcvlq2z6OSeXX355Wm211fJ7RxkOOeSQak2zo3/mKaecUlWjNaf+n1HLHMvcdNNN1QJ32XrrrZfLWnkydswxx1Q1Q+/bt2+upSmVStVeF+s89NBD0913351WX331vGyUu7KpZJQranfC8ssvX7UNomlsiKbtsd+iuWW8ftVVV01XXHFFrZ/jvvvuy7VE8Rli30WtaXk/R1PwqDX98MMPq95jfvqxlpvQRg3Ub37zm3ysRc3UuHHj0pdffpmOPfbYtMYaa+TjMMqy3XbbpVdeeaXWoB7bIAJmnOwvueSSuTb93XffrbYdK/dfufl71IKVWwd07do1B9VJkyZVW3/U2kVw7dGjR94u//M//5M++eSTOvcJjpP9aOkQtfpRvrXWWiuH4NqaMccxELXT8X2IfRXb//nnn5/HLZzyfg/vv/9+tX0c4Ty+S/F54nv4xhtv1PpbENswvnux3J577pmfK7f+iH0Tnye+H1GDWLOryo033pj69++fFllkkdzN4qc//Wn66KOPvvM+5WMoaudjudgHNcUxEe8Vx0TZlClT8nc0WlTEtorvUvRjjscrxf1oXh3lLO+/jz/+OBWpfGzH3/rq71yXY7a8/kceeSTv0/L3tFyO2HfRJDx+Q2J7xjEZv9U1f5/n57dgVp8xat/Lx12UfaeddkrDhw+f6884K3FhL46TTTbZpNbn4/dvbr+Xc7MfF9R35u2330677bZb6tWrV17XMsssk5f75ptvZrt9gPqjphuYbxF6I9z84Ac/SOedd14OkRH64kTppJNOyicREWiuvPLKHKajZjeCXqVYPk6W4gRqxIgROeDFyVn5BCbEyUqcoBx99NH5b5yQnXzyyfmkKfoilj344IP5AkAEqSOOOCKfaMSJ2j/+8Y98P04YR40alZeLQc/qIsoVITn6Wkfta7mMEW6efPLJXPsWJ6Y33HBDuuuuu/JzUcbKmttKcTIYTchjm/Xp02eO7x/BOk7848Q4TvrWXnvt9MADD+TgHGGuZpPQJ554It15553p4IMPzidyl156aT7piosjcWEj9sdbb72Vbr755vzaCIeVzV+j/HGSHe8ZTayjz2OsK04E42JDWeyTn//853nZqBWNffjSSy/lgP+zn/0s7/84sYvAUi5jbJf5FRdbonY7AlUEpPj3m2++mS80/PjHP87H16effpquuuqqHALiuXJT6The4/iI7R8nnnFMRJP+OB6iZUGE19mJvp6x/rPPPjs3x44uAnFyfu6551Y7mb7ttttyl4Hox/vYY4/loFoXEdgjoESIiO9FvNftt9+e1xkXeaK8lSLURPnjuI7vSnwHY/9Gv+x5qRUuX3iI4yTEd2Tw4MFp0KBB+TPGsRvHx6abbpr3deVFlKg5jOXiubgYEBdEQhyzcazE78QvfvGLvNx//vOf3NojLi6F3/3ud+m3v/1t3r6xzGeffZb+8Ic/5O9IvE9ttbDx+aL7QRzrsa/jOCiLYyGOjdjHIY7dOJ7ju/HLX/4y9evXL18UjOMyvguxfFm8f4SZOIY33njj/FtT1/1XFtspQl2lCIMNUVM/u2M2vvOxj2P7R5eOWCbE9glxXMW+ixAbF5LiYswf//jHvE/Kv31F/BZE8+44XqJ/dfz+xvcijocIyPEZal68q8v3sqZ4PsJq/L4ddthhObTW1/eyror+zkydOjWvP74L8Rnj/4fx/4z4/2GUO45JYAEoAdTRkCFDokq19Pzzz1c9Nnjw4PzYWWedVfXYV199VVpkkUVKLVq0KN1yyy1Vj//3v//Ny55yyinfWWf//v1LU6dOrXr8vPPOy4///e9/r3ps0qRJ3ynTgQceWOrQoUNp8uTJ+f706dNLyy+/fGnZZZfN5ag0c+bMqn8fcsghef11MXbs2FLbtm1L22yzTWnGjBlVj//xj3/M67j22murHovPFo999tlns13nK6+8kpc74ogj6lSGu+++Oy9/5plnVnv8Rz/6Ud7O77zzTtVjsVyUt/Kx8vv94Q9/qHrs/PPPz4+9//7733m/2rb1oEGDSt/73veq7n/99delzp07lzbccMPSt99+O8ttvcMOO+T9MbdiG9Y8Xh555JH8WJSjZhnjGKjcPyE+W7t27Uqnn3561WOxv2IdF1544Xfes7LcNd+7vG9//vOfV3vNLrvsUurevXvV/WHDhuXljjzyyGrL7bvvvt9ZZ20uvvjivNyNN95Y9Vh8NwYMGFDq1KlTady4cVWfLZaL9/7yyy+rlo3vTDx+7733zvZ9ytsytkds61GjRpX++c9/lpZbbrl8TMX3fPz48aVu3bqVDjjggGqvHTNmTKlr167VHi//FpxwwgnVln344Yfz44cffvgst/cHH3xQatWqVel3v/tdtedfe+21UuvWras9Hu9TeTw98MADtX7e7bffvtrx+pe//KXUsmXL0n/+859qy1155ZX59U8++WS+//LLL+f7Bx98cLXlfvazn9Vp/5X3S2232Oaz+hzl/VG5TOX64rdydsqvv/322+f6mA2bbbZZabXVVqv2WGyreP1NN91U7fH777+/2uPz+1tQ22dce+21S0sssUTpiy++qPY7Fvtwn332mafPWJuTTz45v75jx46l7bbbLh9r8R2e1+/l3OzHBfGdeemll75zXAALnublQL2Iq+xlcXU9mj5HTXdcgS+Lx+K52kZGjpqnyhqgqE2OGtbo61wWNRJlUbMXtUjR9DBqlGLU8BBX96MmJvpE16wZq0sT8lnVuERtQayzst/wAQcckJtQRpPJuRW186G2ZuW1ie3QqlWrXNNUKZqbRz6MZp2Voka+ssY2atyjrHUdlbpyW0ftVGzrqDGO15ebJEbNcOyHE0444Tv9Med1W9dV1LxWljFEc+Hy/ona7C+++CLXpMVxFzVfZX/7299yzX7U+tRUl3JHP/xKcQzGe5X3abkZf7QMqFTb+81qX0dtVAzEVRbfjdj3URMZteaVdt9999yNorI8oa77Omono7YzWgJEbW50Y4gms1GbFvs4asOiLHEMlG9xLG644Ya55UVN8d2tFNs7tmu560Vt2ztqqqMmOn4vKt8ntkMMLljb+1Q2h4/9eeutt1Y9Fk2fo+yxbcqiVjJqb2M6v8r3KDenL79H+Ten5ndtTgMB1vabFmWovEVz5IYwp2N2VmKbRU1o9Hmu3GbRnDm+W+VtVt+/BTGAZMzqELXIlbXP8TsWZan8/8L8fsZowRStRdZZZ53ceihq5OPzRZ/8yqbsc/u9nBtFfmfKNdnx2ebU3B4ojublwHwr9zerFP+jj35jNU+44vHa+gLGSUKlOKGL5uHlPsYh+htGP95o6lnzRKocBMtNY6Mvc32JZu4hwlulaMoaTR/Lz8+NCMAhTlTrWoYIRTVDerkJaM0y1NZkPYJZbdu+NtFsNE74nn766e+cqMW2jv1YxLauq5rdEyr7QEbf+7jwUtnXv9xUOkS5Y1/O68jkNbdtOfDGto39Gvsiwn/NMtZlNPsQr4/vQ82B4eq6ryvLUxfRRSMCSgTpCK/xPuVtE31BQzmYzuo4LovXxfe+UmzvOHZn13Q33icuHtX8HSibXZPseM/oOhHBKZrQxsWXCCTR37sydMd7RIia1Qji5UGzyvuvZjeDmt//OYnPEhe/GoM5HbOzEtssvu81+zbX3Gb1/Vswq9/cEMdnBMiaA47N62cMEaTjFv9fifFAoll3HE877rhj7nIS/4+b2+9lXRX9nYnfoeiSdeGFF+auX/Fdj24WMcifpuWw4AjdwHyLk/W5ebzmwF91EbVtUdMaJ0+nn356PiGOE6GowTz++OMXiimEagawONmKPqVFmJ9tHyd8W221Va4RjBO1GGwqLjBETU/0xWwM27pmLXc466yzcv/GqLmNPt9xwhonyFFDWZ9lrs/jujGUJwZqmlU4LG+36PMbNWg11bxwUdnaYG7E+8QFumixUdvnmdM4ANFvO/p0x+t33nnn3J8+jt/KmuV4j/iscUzXJo7zhjSrGuHaBopcUMdIbLMI3BHWatOYpkCrj+9l/P8latLjFqE1WnxECI//9xS1HxfEd+aCCy7IrQZiMNIYpT1q56Pve/QPrxn4gWII3UCjEFftt9hii6r70VwvmhiW57mNAdWiqWDUYMUgMWWVIyyHcu1U1E7MrpZpbpo8xqjrIQZPi5rtsmhyHu8/L7VZMVhO1B5GrX2MNDunE/4oQzRzj5rxytrucrP6chnnxqy2QQwqFDWG99xzT7Xao5pNfCu39exqcYtual52xx135GPommuu+c4Fm/JAceVyx4l01IQWMahV7Is4IY5jo7IWKgZgquvrX3311byOypPx+dnX86q8jyN4zWutbawjaiZjdPlZ1dzFMhGOolYuRpSfW/GbEC1jool5DEgV36toJlzzPWIk+7igNLtjsrz/yi0iyuL7X6RyzWzljAjzU4NaH2Kbxe9ODF5W24WuyuXq87eg8je3pvgexPe56Gm1ontFhO74/9DcfC/rYz8W8Z2JC05xi9ZiTz31VN6nMbjpmWeeWedyAfNOn26gUYgpjyIElcXoyDFaa4zcGspX8itrLSL0RlPiStEPL05CYiTxmic9la8tn7DVXKY2ETaipjdGAK9cR4S7aHo5t6Mal0Xz7VhfjHAdFxlqGjZsWNV0NHHxIWpKYtTgSlHzHCey5e00N2a1DWrb1vE5YxqxSttss02+ABA1JjEF1+y29YKYmibKXbNWK/qkxki9laIpcvR9rLkt66u2OkYKDjWPzRhVuC5iX48ZM6ZaH+X4LsTro/Zqbmrd6uOzRO1ftCKo/H6WxWjJcxLbO7Zr9J2d1faO0dZj/8UyNfdB3I8LbrMTISjmGo8LRlErH9ursml5iL6vcSxcffXVtY5MHc2VQ/m7FN/3SvGbUqQIbbENYvrESjWPowUptln87kTLkZpiG5d/O+r7tyAuoMQMDfH7V/n7FKE+amrLF2PnV3SdiS40tSmPk1G+8FLX72V97Mf6/M5Ek/koZ6UI3/GdqTlVHlAcNd1AoxABOmqg4iQvajfiBCVqrKLvWYhpe6IGIQbQiqZxETTj5LrmyUacSERgj754cdIW09zECVzURkSf8Kg9CDFQToh1RbCIk5fy1EK1NaGMKXDi5CbmSY0ylcsY89BG37h5EZ8p5guPAbeiKWyE76gZjdrsqNmPmuZyLUR8nqjFjdq76OcezWbj5DOaC0bz6TlNc1Wb8jaIdcZnj1rfeJ84gY6LDPHvmC4oLghEUInaznKtT4gwFqE/BtGL7RDTAsU+itrEOJktXzCI94kT1ehXGMvFCWqsu77FNGDR9SD2eWzbaLofzWIrWyeEmLYupnaL8jz33HO5j2MErqjRi30RcwHPj/i8cdIcIS1OfMtThsW0VHWp7YsBuKKpdDQHjQsvMTVS1OJHP/tYZ10H36sPsY/j+xTHZlzQiuMkvg8x9VwMIBi1ZbVdvKgUx228PkJstGiJ71DUFsb0R/FcTL8Ux28c6/E9i+M7mojH54zWAjEFX2yTyvm2axMhOwJQXMyKUFHua1sWZYhm5zHgVrTaiLJHoIzfhng8fhuidjN+N6J/b3y/IyDGsRTTy9W1pcK8iv61Md1dfIY4RmKbxLRO5X7TDSGCZPwGRJiOgc3ityF+J2I/xgWtGEMhLnYU8VsQ00DGBZCYYjKmzypPGRbbqS5z3ddFlC32b3xH47iMFkcR8mP6uDg+4ziMAdbm5ntZH/uxPr8z0eojlo8yRY14BPD4f2f8Py9+p4AFpAFGTAea2JRhMdVKTbVNPxNiupiYNqbmOh977LHSL3/5y9Kiiy6ap1/Zc889q00VE2JKn4022ihPR7bUUkuVjjvuuKrpgmpOz/LEE0+Utt566zyNTZRvzTXXrDZdVkwtdthhh5UWX3zxPD1SXX4OY4qwVVZZpdSmTZtSz549SwcddNB3piWr65RhlWJ6mpiOKD5TrDu2wVZbbVW6/vrrq02BFdM3HXXUUVXLrbTSSnnar8opeUK8f0yJVtu2j/1V6YwzzigtvfTSeRqeyunD7rnnnrzN2rdvn6eQOvfcc6um2qo5xVgsu/HGG+f90qVLl9IGG2xQuvnmm6uenzBhQv58MfVUvL6u04fNbsqw2qa/iSnDjjnmmNKSSy6Zy7LJJpuUnn766Xwsxq1STDd20kkn5enlYlv26tUrT7/27rvvznHKsJr7tnwMV26XiRMn5n2w2GKL5eN55513Lo0YMSIvd84558zxs3/66ael/fbbr9SjR488/dsaa6zxnSmjylMQxTFQU12mtprdtqxt2ZgyLqYJi2NihRVWyFOgvfDCC3P8LSh/36Kc8f2JzxPfu5ieqebUTH/7299Km266aV5P3GL52I6x7Srfp7ZjKL4HvXv3rnVqvcopnuJYjt+mmEouvmsxXeFpp51W+uabb6qWi2mvYrqmmHIqyrHjjjuWPvroo7maMqy2/VKpts8Rx9Zuu+2Wp0GMssWUiK+//vp8TxlWl2N2Vr/Z4U9/+lPeTvG9it/UOB7j9zemmauP34JZTYv20EMP5e9xeX2xH958881qy8zNZ6xp2rRppauvvjp/P6MscUzEtl9nnXXy/psyZcpcfy/nZj8uiO/Me++9l6dTi+9sfHfjN2mLLbbI2xZYcFrEfxZUwAeoKUaJjZrJ559/PtcyQVMVNYVRa3bjjTemPffcs6GLAwAsIPp0A0A9i6awNUUT1Oj+UDkQIADQ9OnTDQD17Lzzzsv9PqP/ZUyrFYMyxS36WTb01FQAwIIldANAPYvBmR588ME86nMMRBdTr8XgTzWnsQIAmj59ugEAAKAg+nQDAABAQYRuAAAAKEiT79M9c+bMNGrUqNS5c+fUokWLhi4OAAAATUD01B4/fnxaaqml8gwlzTZ0R+A2UiwAAABF+Oijj9IyyyzTfEN31HCH2BBdunRp6OIAAADQBIwbNy5X8JYzZ7MN3eUm5RG4hW4AAADq05y6MRtIDQAAAAoidAMAAEBBhG4AAAAoSJPv011XM2bMSNOmTWvoYkCz06ZNm9SqVauGLgYAABSi2YfumFttzJgx6euvv27ookCz1a1bt9SrV685DkIBAAALm2YfusuBe4kllkgdOnRw0g8L+KLXpEmT0tixY/P9JZdcsqGLBAAA9ap1c29SXg7c3bt3b+jiQLO0yCKL5L8RvOO7qKk5AABNSYMOpHbqqafmmuXK2yqrrFL1/OTJk9MhhxySA3GnTp3Sbrvtlj799NN6e/9yH+6o4QYaTvk7aFwFAACamgYfvXy11VZLo0ePrro98cQTVc8dddRR6d5770233357euyxx9KoUaPSrrvuWu9l0KQcGpbvIAAATVWDNy9v3bp1HkCppm+++SZdc8016a9//Wvacsst82NDhgxJ/fr1S88880zaaKONGqC0AAAAsBCF7rfffjsttdRSqX379mnAgAHp7LPPTn369EnDhg3LTU0HDhxYtWw0PY/nnn766UJD98iRI9Pnn3+eFpQePXrkz1X0gHF77713euqpp/IUTUWN1n7dddelI488skFHg4/BuQ488MB0xx13pK+++iq99NJLae21107NQV22f3TruPvuu9PLL7+c7++77755+XgMAABoQqF7ww03zCGhb9++uWn5aaedlr7//e+n119/PYfEtm3b5qmEKvXs2TM/NytTpkzJt7Jx48bNdeDu27dfmjx5UlpQ2rfvkEaMGF7n4D0vIemiiy7K2ziCVteuXVN9WG655XLAi1vZ7rvvnrbffvvUkO6///58XD366KPpe9/7Xr6o0ZBOOOGEvK/++9//Vj0W/45WG4MHD85lLYt/xwWD2L/lAcaKdskll+QLFQAAQBML3dttt13Vv9dcc80cwpdddtl02223zXPgiJryCO/zKmq4I3D363dj6tChXyrapEnD0/Dhe+X3LbK2+9133039+/dPK620UipS7LcFFRZn91lj6qmNN954lstMnTo1X9RZELbYYot07rnn5otF5a4UjzzySOrdu3e+MFApHo9WHAtyG9bXRRgAAKARDqRWKWq1V1555fTOO+/kcBLBqGYz2Ri9vLY+4GUnnnhi7g9evn300UfzVJYI3J07r1v4rT6C/eabb54OP/zwdNxxx6XFFlssb59oQlxZI/23v/0t3XDDDXnAqqgpD7Ftf/GLX6TFF188denSJfedf+WVV6qtOwayW3/99XPz/6gx3mWXXare88MPP8yD3ZVHni/X1NZsnXDFFVekFVZYIYfcaNXwl7/8pdrz8do///nPed0xinVcGLjnnnuqno8m4nvuuWcuZ4TReD7699cmPtthhx2WWyzEeuOzl8t76KGH5lr5+ByDBg3Kj8cAfRtssEFq165dDupRKz19+vRq2zbWF69bdNFFc0uLq6++Ok2cODHtt99+qXPnzmnFFVdM99133yz3z6abbpqb9FcG7Ph3jMz/5Zdfpg8++KDa4xHSQ7TYOPbYY9PSSy+dOnbsmC9K1Qzpsb3jYk1st9h+X3zxxXfe/5xzzsnljrLuv//+eVaAmtts5513rvPxVK6pj88Vx8Wqq66aHnrooby9y60v4rsb2zu2aSwTF9PighgAADQ3jSp0T5gwoaqWMmplI6gMHTq06vkRI0bkMBV9v2clwlMEyMpbc3D99dfnYPbss8+m8847L51++unpwQcfzM89//zzadttt00/+clPchPzaE4cfvzjH+e5kSMwRh/6ddddN2211VY5CIZ//vOfOchFc/HoFx37IgJquPPOO9MyyyyT36c88nxt7rrrrnTEEUekY445JncbiKbTEVajRrdStE6I8r366qv5/SJkl8vx29/+Nr355pu5nMOHD88hflZNxuOzRZmibFGm+OyV2yiC/5NPPpmuvPLK9Mknn+T3iosKcbEh1huD95155pnf2bbxfs8991wO4AcddFDedlGT/uKLL6Ztttkm95efNKn2LgmxX+I9Kj9zhOfY1ptssknV4++9914+vsuhO0JrjF9wyy235O0S7xn7McZBCLGvI0THctFtIF5Xs+zRaiQC81lnnZVeeOGF/N26/PLLay1nXY+nmN8+QnoE/Xj+T3/6UzrppJOqvf7SSy/NF07i/eN7e9NNN1VdAAEAgGal1ICOOeaY0qOPPlp6//33S08++WRp4MCBpR49epTGjh2bn//Vr35V6tOnT+nhhx8uvfDCC6UBAwbk29z45ptvorNq/lvTt99+W3rzzTfz37Jhw4bl5fv3H1bafPNS4bd4n3i/eN+6Gjx4cGmnnXaqur/ZZpuVNt1002rLrL/++qXjjz++6n4sH68r+89//lPq0qVLafLkydVet8IKK5Suuuqq/O/Y1nvuuecsy7HsssuWLrroomqPDRkypNS1a9eq+xtvvHHpgAMOqLbMj3/849L2229fdT8+/29+85uq+xMmTMiP3Xffffn+jjvuWNpvv/1KdRVlirJVim20zjrrVHvsf//3f0t9+/YtzZw5s+qxyy67rNSpU6fSjBkzat2206dPL3Xs2LG09957Vz02evToXN6nn356lmU66aSTSiuvvHL+9xtvvJG3fazrrLPOKu2zzz758WuuuabUvn37vE8+/PDDUqtWrUqffPJJtfVstdVWpRNPPDH/e4899qi2HcPuu+9ebfvHPjz44IOrLbPhhhuW1lprrXk+nmK/tG7dOn/usgcffDBvg7vuuivfP+yww0pbbrlltW07O7V9FwEAoDGbXdas1KA13R9//HHaY489cpPjqOXs3r17ng4smhGXB//64Q9/mHbbbbf0gx/8IDdzjRpWviv6xFeKGs2oxZ6VqNmNlgWxzTt16lR1e//993NrgxC1p1EbOz+iZjpqcyvF/Xh8VuWPGtZooVAuf9QsR21vjEAeTZ5jBPZ5Ea0napYtWk1UzhEdZYvtEsdmbWVr1apV3mZrrLFG1WPRdDvMbntHk+233nor175HLXc0zY51bbbZZlVNxuNv1J5Ha43XXnst1yhHd4vK/RPN4cv7J8ofTc4r1WwFUpdl5vZ4iprr6I9e2c2j3AKissl6HD/x3Y6m6v/+97/n+J4AANAUNehAahGkZif6gl522WX5xuxFU/xKESRnzpw5y+UjWEaQqtlHOJT7ZC/IwbxmV/4YcC/6j//rX//KTZzjQkD0h/79738/V+8RYb6+ylb5WDm0z257R5iPpu3RlDxuEbZDNDuPQfSiaXnsi2h+X94/Ecqj2X/8rRThu7EdTzVFV4W4gBNdAqK/d1xUi+n/Yho3AABoThpVn24WnAhFMZp269at80Bglbdyf+mo7azsU19ThMiojZ2dmBYr+lBXivsx+NbciNYPMb3WjTfemC6++OLcj3h+Rdmiz3TldFlRthhwLPqE16e4gFEeCC1qq6PmuxxuY7Ty6Eseg/6V+3Ovs846edtG7XLN/VOuYY7yR5/qStFSpOZnnNMycytqr6OsMahhWWXf+bJorRBTyMXAc7feemsezK/cTx8AAJqLBq3ppuFErWM0M44BsWKgrGjGPGrUqKrB09Zbb710yimn5FrlGHn8pz/9aR7VO2qbjz/++LyOGBjr8ccfz89Fk+jaBjf79a9/nWs5I0TGe8Zo6NFFIGo/6+rkk0/OTcNXW221PKL3P/7xjxwm59fBBx+cA3wMjhaDkUWz6fjMRx99dGrZsv6vR0Wgji4T5YseZVHrHbX25QHXQuyPGExun332SRdccEHefp999lm+CBIXQ3bYYYfcbDtq0OO1O+20U3rggQfyHOWVYhC7aOod+zOWjQHN3njjjTx/+bzaeuut8zERF0Hi2Bk/fnz6zW9+U63W/8ILL8wtKaLcsS1vv/32fLGg5sj2AADQ1Ands5k/uym9T00RjiJAx6jTMZp4BLoIRdF3vtxHOWpjIyydccYZedqpqLmM58tiROtoDh0BLMJwZY1xWYT6GFE8gmEEwOWXXz5P91Wu6a2LqFGPqeBiaq2oMf7+978/x64JdRFTccU2iAsDa621Vp4eK0YDLwfIIkJ3bLMYgTxaGFSG7gj7MY1ZZbPu2E4xGnmM/B4jrcdFjagVj3EOQvw7apHjtXFhIi5qRNljf5VFTXP0AY++8DFVWIyPEH3kI6DPq2juHlODxXRzcZEgAvz555+fdtxxx9wlJERrgQjkMdJ6LB/LxbYu4mIGQFMWs1pENyRoCHHuEVOTAvOnRYymlpqwcePGpa5du+Y5u2tOHxYhJPqdRhAsh4X4n1vfvv3S5Mm1T/9UhPbtO6QRI4b7UWOhFc3yY3C4d955J1+EmVu1fRcBmruGOCeBSs5RYd6zZiU13TXEj0r8uCzIq8quIrKwifnXY0C3lVZaKQftaMUQzdfnJXADULs4F4nA3a/fjalDh/nvVgVz2xpz+PC98nHoPBXmj9Bdi/hh8eMCsxb9uKNvf9TCxEWjaNoefc8BqH8RuDt3/v/HAgFg4SJ0A3MtBniLGwAAMHtGNQIAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFMWVYLWLu4c8//3yBvV/Mc9wU5wXffPPN09prr50uvvjihi5Kvdl3333T119/ne6+++46f+7lllsuHXnkkfkGAAA0L0J3LYG7X9++adLkyQvsPTu0b5+GjxhRp+DdokWL2T5/yimnpFNPPTUtDKKcEV5ffvnl+VrPRhttlEPulVdeWfVY/Puggw5KQ4YMyUG5LP797rvvpv/85z9pQXn++edTx44dF9j7AQAAjYfQXUPUcEfgvrFfv9SvQ4fC32/4pElpr+HD8/vWJXSPHj266t+33nprOvnkk9OIESOqHuvUqVPVv0ulUpoxY0Zq3bpp7+Ytttgi3XXXXdUee+SRR1Lv3r3To48+Wi10x/3Bgwcv0PItvvjiC/T9AACAxkOf7lmIwL1u586F3+Y22Pfq1avq1rVr11zzXb7/3//+N3Xu3Dndd999qX///qldu3bpiSeeyDW7O+20U+rZs2cO5euvv3566KGHqq13ypQp6fjjj89BNV634oorpmuuuabq+ddffz1tt912+fWxnr333rtaE/yJEyemffbZJz+/5JJLpgsuuGC2n+O6665Lp512WnrllVfyZ4hbPFZubRDljXV16dIl/eQnP0mffvrpbEN3XHgYM2ZM1WOPPfZYOuGEE3LILnv//ffThx9+mJcPH330UV53t27d0mKLLZbf84MPPqhaPi5YHH300fn57t27p+OOOy5fyKhUl88dzcsrm9jHZ/3zn/+cdtlll9ShQ4e00korpXvuuafaa+J+PN6+fftc3uuvvz6/Lpq2h/gcO+64Y1p00UVzLfpqq62W/vWvf812mwMAAAue0N0ERdg855xz0vDhw9Oaa66ZJkyYkLbffvs0dOjQ9NJLL6Vtt902B7YIt2URHG+++eZ06aWX5tddddVVVbXmEfS23HLLtM4666QXXngh3X///TkER2At+/Wvf52D7t///vf073//O4fdF198cZZl3H333dMxxxyTw2LU3sctHps5c2YOv19++WVe34MPPpjee++9/NysbLLJJqlNmza5dju8+eab6dtvv037779/+uKLL3LYDvF8hNgBAwakadOmpUGDBuWLFNHU/Mknn8yfN7bN1KlT8/IRoONCwLXXXpsvXkSZataoz+3nLosLDrH9Xn311bxv9txzz7z+EOX90Y9+lHbeeed8UeLAAw9MJ510UrXXH3LIIflCyeOPP55ee+21dO6551Zr5QAAADQOTbvdcTN1+umnp6233rrqftTirrXWWlX3zzjjjBweozb10EMPTW+99Va67bbbcsAdOHBgXuZ73/te1fJ//OMfc+A+66yzqh6LIBq14vHapZZaKteK33jjjWmrrbbKz0fN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InQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgKYeus8555zUokWLdOSRR1Y9Nnny5HTIIYek7t27p06dOqXddtstffrppw1aTgAAAFioQvfzzz+frrrqqrTmmmtWe/yoo45K9957b7r99tvTY489lkaNGpV23XXXBisnAAAALFShe8KECWnPPfdMV199dVp00UWrHv/mm2/SNddcky688MK05ZZbpv79+6chQ4akp556Kj3zzDMNWmYAAABYKEJ3NB/fYYcd0sCBA6s9PmzYsDRt2rRqj6+yyiqpT58+6emnn26AkgIAAMDcaZ0a0C233JJefPHF3Ly8pjFjxqS2bdumbt26VXu8Z8+e+blZmTJlSr6VjRs3rp5LDQAAAI28pvujjz5KRxxxRLrppptS+/bt6229Z599duratWvVrXfv3vW2bgAAAFgoQnc0Hx87dmxad911U+vWrfMtBku79NJL87+jRnvq1Knp66+/rva6GL28V69es1zviSeemPuDl28R7gEAAKBZNS/faqut0muvvVbtsf322y/32z7++ONzDXWbNm3S0KFD81RhYcSIEWnkyJFpwIABs1xvu3bt8g0AAACabeju3LlzWn311as91rFjxzwnd/nx/fffPx199NFpscUWS126dEmHHXZYDtwbbbRRA5UaAAAA6q5BB1Kbk4suuii1bNky13TH4GiDBg1Kl19+eUMXCwAAABa+0P3oo49Wux8DrF122WX5BgAAAAubBp+nGwAAAJoqoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAADTF0H3FFVekNddcM3Xp0iXfBgwYkO67776q5ydPnpwOOeSQ1L1799SpU6e02267pU8//bQhiwwAAAALR+heZpll0jnnnJOGDRuWXnjhhbTlllumnXbaKb3xxhv5+aOOOirde++96fbbb0+PPfZYGjVqVNp1110bssgAAABQZ61TA9pxxx2r3f/d736Xa7+feeaZHMivueaa9Ne//jWH8TBkyJDUr1+//PxGG23UQKUGAACAhaxP94wZM9Itt9ySJk6cmJuZR+33tGnT0sCBA6uWWWWVVVKfPn3S008/3aBlBQAAgEZf0x1ee+21HLKj/3b0277rrrvSqquuml5++eXUtm3b1K1bt2rL9+zZM40ZM2aW65syZUq+lY0bN67Q8gMAAECjrenu27dvDtjPPvtsOuigg9LgwYPTm2++Oc/rO/vss1PXrl2rbr17967X8gIAAMBCE7qjNnvFFVdM/fv3z4F5rbXWSpdccknq1atXmjp1avr666+rLR+jl8dzs3LiiSemb775pur20UcfLYBPAQAAAI0wdNc0c+bM3Dw8QnibNm3S0KFDq54bMWJEGjlyZG6OPivt2rWrmoKsfAMAAIBm16c7aqW32267PDja+PHj80jljz76aHrggQdy0/D9998/HX300WmxxRbL4fmwww7LgdvI5QAAACwMGjR0jx07Nu2zzz5p9OjROWSvueaaOXBvvfXW+fmLLrootWzZMu2222659nvQoEHp8ssvb8giAwAAwMIRumMe7tlp3759uuyyy/INAAAAFjaNrk83AAAANBVCNwAAADSm0P3ee+/Vf0kAAACgiZmn0B3zam+xxRbpxhtvTJMnT67/UgEAAEBzDd0vvvhiHmk8pvPq1atXOvDAA9Nzzz1X/6UDAACA5ha611577XTJJZekUaNGpWuvvTZP+bXpppum1VdfPV144YXps88+q/+SAgAAQHMaSK1169Zp1113Tbfffns699xz0zvvvJOOPfbY1Lt376r5twEAAKC5mq/Q/cILL6SDDz44LbnkkrmGOwL3u+++mx588MFcC77TTjvVX0kBAABgIdN6Xl4UAXvIkCFpxIgRafvtt0833HBD/tuy5f9l+OWXXz5dd911abnllqvv8gIAAEDTDt1XXHFF+vnPf5723XffXMtdmyWWWCJdc80181s+AAAAaF6h++23357jMm3btk2DBw+el9UDAABA8+3THU3LY/C0muKx66+/vj7KBQAAAM0zdJ999tmpR48etTYpP+uss+qjXAAAANA8Q/fIkSPzYGk1Lbvssvk5AAAAYB5Dd9Rov/rqq995/JVXXkndu3evj3IBAABA8wzde+yxRzr88MPTI488kmbMmJFvDz/8cDriiCPST3/60/ovJQAAADSX0cvPOOOM9MEHH6StttoqtW79f6uYOXNm2mefffTpBgAAgPkJ3TEd2K233prDdzQpX2SRRdIaa6yR+3QDAAAA8xG6y1ZeeeV8AwAAAOopdEcf7uuuuy4NHTo0jR07NjctrxT9uwEAAKC5m6fQHQOmRejeYYcd0uqrr55atGhR/yUDAACA5hi6b7nllnTbbbel7bffvv5LBAAAAM15yrAYSG3FFVes/9IAAABAcw/dxxxzTLrkkktSqVSq/xIBAABAc25e/sQTT6RHHnkk3XfffWm11VZLbdq0qfb8nXfeWV/lAwAAgOYVurt165Z22WWX+i8NAAAANPfQPWTIkPovCQAAADQx89SnO0yfPj099NBD6aqrrkrjx4/Pj40aNSpNmDChPssHAAAAzaum+8MPP0zbbrttGjlyZJoyZUraeuutU+fOndO5556b71955ZX1X1IAAABoDjXdRxxxRFpvvfXSV199lRZZZJGqx6Of99ChQ+uzfAAAANC8arr/85//pKeeeirP111pueWWS5988kl9lQ0AAACaX033zJkz04wZM77z+Mcff5ybmQMAAADzWNO9zTbbpIsvvjj96U9/yvdbtGiRB1A75ZRT0vbbb1/fZQQAABrAxEmT6nU9w4cPr5f10fT16NEj9enTJzXb0H3BBRekQYMGpVVXXTVNnjw5/exnP0tvv/123jA333xz/ZcSAABYYGaWptZrSH7r//3da6+96mV9NH3t23dII0YMbxLBe55C9zLLLJNeeeWVdMstt6RXX30113Lvv//+ac8996w2sBoAALDwKZWm57/t2/dNbVp3mu/1dZwxKaVvh6d+/W5MHTr0q4cS0pRNmjQ8DR++V/r888+bb+jOL2zd2pUqAABowlq27JBate5cbwNJReDu3Hnd+V4fNPnQfcMNN8z2+X322WdeywMAAADNO3THPN2Vpk2bliZNmpSnEOvQoYPQDQAAAPM6ZdhXX31V7RZ9ukeMGJE23XRTA6kBAADA/ITu2qy00krpnHPO+U4tOAAAADRX9Ra6y4OrjRo1qj5XCQAAAM2rT/c999xT7X6pVEqjR49Of/zjH9Mmm2xSX2UDAACA5he6d95552r3W7RokRZffPG05ZZbpgsuuKC+ygYAjcLIkSPzXKGwIA0fPryhiwBAQ4XumTNn1sd7A8BCEbj79u2XJk+e1NBFoZmaOnVKQxcBgAUdugGguYga7gjc/frdmDp06NfQxaEZ+eKLf6UPPvhtmj59ekMXBYAFHbqPPvroOi974YUXzstbAECjEoG7c+d1G7oYNCOTJmleDtBsQ/dLL72Ub9OmTUt9+/bNj7311lupVatWad11163W1xsAAACaq3kK3TvuuGPq3Llzuv7669Oiiy6aH/vqq6/Sfvvtl77//e+nY445pr7LCQAAAM1jnu4Yofzss8+uCtwh/n3mmWcavRwAAADmJ3SPGzcuffbZZ995PB4bP378vKwSAAAAmpx5Ct277LJLbkp+5513po8//jjf/va3v6X9998/7brrrvVfSgAAAGgufbqvvPLKdOyxx6af/exneTC1vKLWrXPoPv/88+u7jAAAANB8QneHDh3S5ZdfngP2u+++mx9bYYUVUseOHeu7fAAAANC8mpeXjR49Ot9WWmmlHLhLpVL9lQwAAACaY+j+4osv0lZbbZVWXnnltP322+fgHaJ5uenCAAAAYD5C91FHHZXatGmTRo4cmZual+2+++7p/vvvn5dVAgAAQJMzT326//3vf6cHHnggLbPMMtUej2bmH374YX2VDQAAAJpfTffEiROr1XCXffnll6ldu3b1US4AAABonqH7+9//frrhhhuq7rdo0SLNnDkznXfeeWmLLbaoz/IBAABA82peHuE6BlJ74YUX0tSpU9Nxxx2X3njjjVzT/eSTT9Z/KQEAAKC51HSvvvrq6a233kqbbrpp2mmnnXJz81133TW99NJLeb5uAAAAYB5quqdNm5a23XbbdOWVV6aTTjqpmFIBAABAc6zpjqnCXn311WJKAwAAAM29eflee+2VrrnmmvovDQAAADT3gdSmT5+err322vTQQw+l/v37p44dO1Z7/sILL6yv8gEAAEDzCN3vvfdeWm655dLrr7+e1l133fxYDKhWKaYPAwAAAOYydK+00kpp9OjR6ZFHHsn3d99993TppZemnj17FlU+AAAAaB59ukulUrX79913X54uDAAAAKingdRmFcIBAACAeQzd0V+7Zp9tfbgBAACgHvp0R832vvvum9q1a5fvT548Of3qV7/6zujld95559ysFgAAAJqkuQrdgwcP/s583QAAAEA9hO4hQ4bMzeIAAADQrM3XQGoAAADArAndAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAABNMXSfffbZaf3110+dO3dOSyyxRNp5553TiBEjqi0zefLkdMghh6Tu3bunTp06pd122y19+umnDVZmAAAAWChC92OPPZYD9TPPPJMefPDBNG3atLTNNtukiRMnVi1z1FFHpXvvvTfdfvvteflRo0alXXfdtSGLDQAAAHXSOjWg+++/v9r96667Ltd4Dxs2LP3gBz9I33zzTbrmmmvSX//617TlllvmZYYMGZL69euXg/pGG23UQCUHAACAhaxPd4TssNhii+W/Eb6j9nvgwIFVy6yyyiqpT58+6emnn26wcgIAAECjr+muNHPmzHTkkUemTTbZJK2++ur5sTFjxqS2bdumbt26VVu2Z8+e+bnaTJkyJd/Kxo0bV3DJAQCAupg0aXhDF4GFwKQmdpw0mtAdfbtff/319MQTT8z34GynnXZavZULAACYP5/PnJqb2A4fvldDF4WFRMuU0ujRo1NT0ChC96GHHpr+8Y9/pMcffzwts8wyVY/36tUrTZ06NX399dfVartj9PJ4rjYnnnhiOvroo6vVdPfu3bvgTwAAAMzK+NL0NDOldHq75dIKbbo3dHFo5N6d9kU6ecoHOQc2BQ0aukulUjrssMPSXXfdlR599NG0/PLLV3u+f//+qU2bNmno0KF5qrAQU4qNHDkyDRgwoNZ1tmvXLt8AAIDGZfmWi6R+rTs3dDFo5GbOmJSaktYN3aQ8Rib/+9//nufqLvfT7tq1a1pkkUXy3/333z/XXMfgal26dMkhPQK3kcsBAABo7Bo0dF9xxRX57+abb17t8ZgWbN99983/vuiii1LLli1zTXcMkDZo0KB0+eWXN0h5AQAAYKFqXj4n7du3T5dddlm+AQAAwMKkUc3TDQAAAE2J0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQkNZFrRgAWPhMnjwyTZv2eUMXg5TSt9++///+jkjjx3dMjc2kScMbuggACwWhGwCoCtwvPNc3TZ85uaGLQoUPPjggffBBarRKpakNXQSARk3oBgCyqOGOwH1mh35p+ZYdGro4zd606V+kyZM/SO3b901tWndKjc2T079Il0/+IJVmTm/oogA0akI3AFBNBO5+rTs3dDGavakzJ6VJKaUOLTukto1wf7w/I0oHwJwYSA0AAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAK0rqoFTP3Ro4cmT7//POGLgYLiR49eqQ+ffo0dDEAAIDZELobUeDu17dvmjR5ckMXhYVEh/bt0/ARIwRvAABoxITuRiJquCNw39ivX+rXoUNDF4dGbvikSWmv4cPzcSN0AwBA4yV0NzIRuNft3LmhiwEAAEA9MJAaAAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAphu7HH3887bjjjmmppZZKLVq0SHfffXe150ulUjr55JPTkksumRZZZJE0cODA9PbbbzdYeQEAAGChCd0TJ05Ma621Vrrssstqff68885Ll156abryyivTs88+mzp27JgGDRqUJk+evMDLCgAAAHOrdWpA2223Xb7VJmq5L7744vSb3/wm7bTTTvmxG264IfXs2TPXiP/0pz9dwKUFAACAJtKn+/33309jxozJTcrLunbtmjbccMP09NNPN2jZAAAAoNHXdM9OBO4QNduV4n75udpMmTIl38rGjRtXYCkBAABgIazpnldnn312rhEv33r37t3QRQIAAKCZarShu1evXvnvp59+Wu3xuF9+rjYnnnhi+uabb6puH330UeFlBQAAgIUqdC+//PI5XA8dOrRaU/EYxXzAgAGzfF27du1Sly5dqt0AAACg2fXpnjBhQnrnnXeqDZ728ssvp8UWWyz16dMnHXnkkenMM89MK620Ug7hv/3tb/Oc3jvvvHNDFhsAAAAaf+h+4YUX0hZbbFF1/+ijj85/Bw8enK677rp03HHH5bm8f/nLX6avv/46bbrppun+++9P7du3b8BSAwAAwEIQujfffPM8H/estGjRIp1++un5BgAAAAubRtunGwAAABZ2QjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUJDWRa0YgMZj5MiR6fPPP2/oYiyUhg8fnv9OmvR/f5uy5vAZAWBBE7oBmkHg7te3b5o0eXJDF2WhNnz4Xqm5KJWmNnQRAKDJELoBmrio4Y7AfWO/fqlfhw4NXZyFzsRJk9Kbw4enjov0Sy1bNe3t9+T0L9Llkz9IpZnTG7ooANBkCN0AzUQE7nU7d27oYix0xqeUIoJ2btUhtWrdtLff+zMmNXQRAKDJMZAaAAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAM05dF922WVpueWWS+3bt08bbrhheu655xq6SAAAALDwh+5bb701HX300emUU05JL774YlprrbXSoEGD0tixYxu6aAAAALBwh+4LL7wwHXDAAWm//fZLq666arryyitThw4d0rXXXtvQRQMAAICFN3RPnTo1DRs2LA0cOLDqsZYtW+b7Tz/9dIOWDQAAAOakdWrEPv/88zRjxozUs2fPao/H/f/+97+1vmbKlCn5VvbNN9/kv+PGjUuN2YQJE/LfYePHpwkzZjR0cWjkRkyalP/GRanysQOzMmLEiPzX78u8mTRpUor/47Sf9llqNX18asrem/5//898Y/pX6duSY6WhTZ8xLsUZTbtpn6fWMyemxsbx0rTV9/HneGFuvDdjXNX/gxtzjiuXrVQqzXa5FqU5LdGARo0alZZeeun01FNPpQEDBlQ9ftxxx6XHHnssPfvss995zamnnppOO+20BVxSAAAAmqOPPvooLbPMMgtnTXePHj1Sq1at0qefflrt8bjfq1evWl9z4okn5oHXymbOnJm+/PLL1L1799SiRYvUmK+S9O7dO++wLl26NHRxaCIcVxTBcUV9c0xRBMcVRXBcUSnqr8ePH5+WWmqpNDuNOnS3bds29e/fPw0dOjTtvPPOVSE67h966KG1vqZdu3b5Vqlbt25pYRFfXl9g6pvjiiI4rqhvjimK4LiiCI4ryrp27ZrmpFGH7hC11oMHD07rrbde2mCDDdLFF1+cJk6cmEczBwAAgMas0Yfu3XffPX322Wfp5JNPTmPGjElrr712uv/++78zuBoAAAA0No0+dIdoSj6r5uRNRTSJP+WUU77TNB7mh+OKIjiuqG+OKYrguKIIjivmRaMevRwAAAAWZi0bugAAAADQVAndAAAAUBChGwAAAAoidBfksssuS8stt1xq37592nDDDdNzzz032+Vvv/32tMoqq+Tl11hjjfSvf/2r2vPR9T5GcF9yySXTIosskgYOHJjefvvtgj8FTf242nfffVOLFi2q3bbddtuCPwUL83H1xhtvpN122y0vH8dLTOM4v+ukaarv4+rUU0/9zu9V/L7RvMzNcXX11Ven73//+2nRRRfNtzh3qrm88yuKOK6cX1GT0F2AW2+9Nc8vHiMbvvjii2mttdZKgwYNSmPHjq11+aeeeirtscceaf/9908vvfRS2nnnnfPt9ddfr1rmvPPOS5deemm68sor07PPPps6duyY1zl58uQF+MloasdViP8JjB49uup28803L6BPxMJ4XE2aNCl973vfS+ecc07q1atXvayTpqeI4yqsttpq1X6vnnjiiQI/BQv7cfXoo4/m/w8+8sgj6emnn069e/dO22yzTfrkk0+qlnF+RRHHVXB+RTUxejn1a4MNNigdcsghVfdnzJhRWmqppUpnn312rcv/5Cc/Ke2www7VHttwww1LBx54YP73zJkzS7169Sqdf/75Vc9//fXXpXbt2pVuvvnmwj4HTfu4CoMHDy7ttNNOBZaapnZcVVp22WVLF110Ub2uk6ahiOPqlFNOKa211lr1XlYWHvP72zJ9+vRS586dS9dff32+7/yKIo6r4PyKmtR017OpU6emYcOG5aYmZS1btsz342pYbeLxyuVDXGErL//++++nMWPGVFuma9euufnLrNZJ01LEcVV5xXaJJZZIffv2TQcddFD64osvCvoUNIXjqiHWycKlyGMgmv0utdRSuVZ8zz33TCNHjqyHEtNcjqtoUTFt2rS02GKL5fvOryjiuCpzfkUlobueff7552nGjBmpZ8+e1R6P+/HDXpt4fHbLl//OzTppWoo4rspNn2644YY0dOjQdO6556bHHnssbbfddvm9aPrm5bhqiHWycCnqGIggdN1116X7778/XXHFFTkwRb/K8ePH10OpaQ7H1fHHH58v2pQDlvMrijiugvMramr9nUeAZuOnP/1p1b9joLU111wzrbDCCvnq7FZbbdWgZQOoFCesZfFbFSF82WWXTbfddlseuwJmJ8YLuOWWW/L/32KwLCjyuHJ+RU1quutZjx49UqtWrdKnn35a7fG4P6vBYeLx2S1f/js366RpKeK4qk002Yz3euedd+qp5DS146oh1snCZUEdA926dUsrr7yy36tmYn6Oq9///vc5HP373//O4afM+RVFHFe1cX6F0F3P2rZtm/r375+bk5TNnDkz3x8wYECtr4nHK5cPDz74YNXyyy+/fP7iVy4zbty4PMrmrNZJ01LEcVWbjz/+OPc5iqlTaPrm5bhqiHWycFlQx8CECRPSu+++6/eqmZjX4ypGJz/jjDNyt4T11luv2nPOryjiuKqN8yuMXl6AW265JY98ed1115XefPPN0i9/+ctSt27dSmPGjMnP77333qUTTjihavknn3yy1Lp169Lvf//70vDhw/MIrW3atCm99tprVcucc845eR1///vfS6+++moeEXH55Zcvffvttw3yGVn4j6vx48eXjj322NLTTz9dev/990sPPfRQad111y2ttNJKpcmTJzfY56RxH1dTpkwpvfTSS/m25JJL5mMo/v3222/XeZ00fUUcV8ccc0zp0Ucfzb9X8fs2cODAUo8ePUpjx45tkM9I4z+u4typbdu2pTvuuKM0evToqlv8/69yGedXzVt9H1fOr6iN0F2QP/zhD6U+ffrkL2VMRfDMM89UPbfZZpvlqQQq3XbbbaWVV145L7/aaquV/vnPf1Z7Pqa1+O1vf1vq2bNn/mHYaqutSiNGjFhgn4emd1xNmjSptM0225QWX3zxHMZjmp4DDjhAMGqG5ua4ihOIuF5b8xbL1XWdNA/1fVztvvvuOZDH+pZeeul8/5133lngn4uF57iK/6/VdlzFRegy51fU93Hl/IratIj/NHRtOwAAADRF+nQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidANAE9SiRYt09913N3Qx0pgxY9LWW2+dOnbsmLp169bQxQGABU7oBoD/Z999981hNW5t27ZNK664Yjr99NPT9OnTU2N16qmnprXXXvs7j48ePTptt912qaFddNFFuSwvv/xyeuuttxq6OACwwLVe8G8JAI3Xtttum4YMGZKmTJmS/vWvf6VDDjkktWnTJp144onfWXbq1Kk5nDeEUqmUZsyYMcvne/XqlRqDd999N/Xv3z+ttNJKDV0UAGgQaroBoEK7du1yYF122WXTQQcdlAYOHJjuueeeqprwnXfeOf3ud79LSy21VOrbt29+/LXXXktbbrllWmSRRVL37t3TL3/5yzRhwoSqdZZfd9ppp6XFF188denSJf3qV7/Kob0sQv7hhx+ellhiidS+ffu06aabpueff77q+UcffTTXwN933305xEY5b7zxxrzOV155paqG/rrrrqu1eXldy/j73/8+LbnkknmZuOAwbdq02W6vK664Iq2wwgr54kNsj7/85S9Vzy233HLpb3/7W7rhhhtyeeI9ZuXaa69Nq622Wv5c8f6HHnpo1XMXXnhhWmONNXIT9d69e6eDDz64Wtk//PDDtOOOO6ZFF100LxPriQsmZa+//nqu9e/UqVPq2bNn2nvvvdPnn39e9fwdd9yR11/eNrHPJ06cONvPDQB1JXQDwGxEEKsMx0OHDk0jRoxIDz74YPrHP/6Rw9mgQYNy4IuQfPvtt6eHHnqoWmgsv2748OE5PN98883pzjvvzIG57LjjjssB9frrr08vvvhibtoe6/3yyy+rreeEE05I55xzTl5X9JU+5phjcsiMJtxx23333b/zGepaxkceeSTXTMffKEcE+HKIr81dd92VjjjiiFyGCLYHHnhg2m+//fLrQ7xXtBz4yU9+kst2ySWXzDK4R8CPCwFxcSAucsTnL2vZsmW69NJL0xtvvJHL9fDDD+ftVRavjYsWjz/+eH79ueeemwN2+Prrr/PFhnXWWSe98MIL6f7770+ffvppLlOIcu2xxx7p5z//edX+2XXXXXNLAgCoFyUAIBs8eHBpp512yv+eOXNm6cEHHyy1a9eudOyxx1Y937Nnz9KUKVOqXvOnP/2ptOiii5YmTJhQ9dg///nPUsuWLUtjxoypet1iiy1WmjhxYtUyV1xxRalTp06lGTNm5Ne2adOmdNNNN1U9P3Xq1NJSSy1VOu+88/L9Rx55JFJg6e67765W5lNOOaW01lprfeezxLJ33XXXXJVx2WWXLU2fPr1qmR//+Mel3XfffZbba+ONNy4dcMAB1R6L12y//fZV92N7xrpnJz7nSSedVKqr22+/vdS9e/eq+2ussUbp1FNPrXXZM844o7TNNttUe+yjjz7K22fEiBGlYcOG5X9/8MEHdX5/AJgbaroBoELUXkctaTTxjibJUXMcg5WVRTPkyn7cUTu61lpr5WbNZZtsskmaOXNmrhEvi2U6dOhQdX/AgAG5ifRHH32Ua5ejGXe8riz6kW+wwQZ5/ZXWW2+9uf5MdS1j1Ji3atWq6n408x47duxs11tZ5vJ6a5Z5dmL9o0aNSltttdUsl4la+Xh+6aWXTp07d87Nw7/44os0adKk/Hw0yz/zzDPze59yyinp1VdfrXptNL2PmvfYp+XbKquskp+L7R7bJdYd+/XHP/5xuvrqq9NXX31V5/IDwJwI3QBQYYsttsgjbb/99tvp22+/zc2ZK8Nq5b8bQpHvH0G/UvTDjmBedPP92fnggw/SD3/4w7Tmmmvm5vfDhg1Ll112WX6u3Oz/F7/4RXrvvfdyGI/m5XFh4g9/+EN+Li5sRH/v2KeVt9i/P/jBD/JFhugqEH3lV1111fy66Jv+/vvvF/q5AWg+hG4AqBFqoz9xnz59UuvWc57ko1+/frk2tXLgrSeffDL3Qy4PtBZimQjxZc8880yudY2BwcoDkcXryqLmO/pERxCcnXjd7EYxn5syzq1Yb2WZy+udU5krRc11DLgWfd5rEyE7gv8FF1yQNtpoo7TyyivnmvGaYjvG4HTRVz76mEeNdVh33XVzX/B4j9ivlbfyBYy4uBC15NHH/qWXXsrbNPqrA0B9ELoBYD7sueeeuSn64MGD82Bi0ZT5sMMOy7WuMVJ2WdTK7r///unNN9/MI2tHM+gYyCyCb4S/GCn917/+dR7oK5Y54IADcvPpeM3sRJiMWtmovY0RuWNAsXkt49yK8sZAazEQWtQcxyjjEXqPPfbYuVpPNN+PUB2DpcV6YiC5ck11hOO4ABH3ozY7Rke/8sorq73+yCOPTA888EDeDvHa+HxxQaA8yFoMRheDpcVFjGhSHsvGgG9xseLZZ59NZ511Vh5kbeTIkbn8n332WdXrAWB+Cd0AMB+in3aEuAh266+/fvrRj36U+wj/8Y9/rLZcPBZzVUeT5ugn/j//8z/V+orHiOS77bZbDsJRO/vOO+/k9caI47MTr4kRwqNZfExHFiOjz2sZ51ZMMRYjksc0Y9Ef/KqrrspznG+++eZztZ64GHDxxRenyy+/PK8nmpNH+A7R5zrCfIxIvvrqq6ebbropnX322dVeH+E5wnUE5dgWURse6woxtVvUvscy22yzTe67HSG9W7du+YJHTN8Wo55vv/32+XW/+c1v8gWA6M8PAPWhRYymVi9rAgBqFfNTx9RVlfNmAwDNg5puAAAAKIjQDQAAAAXRvBwAAAAKoqYbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAABSMf4/sJ2ck2MxkRYAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Run the simulation 100 times\n", + "results = [simulate_event(m) for m in range(100)]\n", + "props_df = pd.DataFrame(results, columns=[\"Infections\", \"Traces\"])\n", + "\n", + "# Plotting the results\n", + "plt.figure(figsize=(10, 6))\n", + "sns.histplot(props_df['Infections'], color=\"blue\", alpha=0.75, binwidth=0.05, kde=False, label='Infections from Weddings')\n", + "sns.histplot(props_df['Traces'], color=\"red\", alpha=0.75, binwidth=0.05, kde=False, label='Traced to Weddings')\n", + "plt.xlabel(\"Proportion of cases\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.title(\"Impact of Contact Tracing on Perceived Flu Infection Sources\")\n", + "plt.legend()\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, { "cell_type": "markdown", "id": "4cf5d993", "metadata": {}, - "source": [] + "source": [ + "The results change between using 10 and 100 for the number of repetitions. \n", + "\n", + "If the number of repetitions in the simulation is 10, the histograms vary a lot run to run. The shapes are irregular and sparse. The summary patterns are unstable as the distributions changes a lot. Since the number of repetitions is small, the individual outcomes can dominate the plot. 10 repetitions is not reproducible and can lead to different conclusions.\n", + "\n", + "If the number of repetitions in the simulation is 100, the histograms start to show a more consistent shape. The distribution is more centralized but is not identical across each run. The 100 repetitions can be partially reproducible because the main pattern can be consistent but the finer details such as the spread and tail behavour depend on the random seed. \n", + "\n", + "The higher the number of repetitions, the more reproducible the model can become. 100 and 1000 repetitions are more reproducible because more repetitions reduces the variability introduced by random sampling." + ] }, { "cell_type": "markdown", @@ -44,7 +198,9 @@ "cell_type": "markdown", "id": "77613cc3", "metadata": {}, - "source": [] + "source": [ + "I added a random seed function at the beginning of the code to fix the starting state of NumPy's random number generator. This function helps make the random number generator deterministic. So the other random functions further down in the code will produce the same sequence of values in the same order going forward. As a result, the simulate_event() function will produce the same output, have identical runs across the 1000 sumulation, and produce the same histogram each time the code is run. " + ] }, { "cell_type": "markdown", @@ -56,10 +212,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "ab8587a0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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SvC+SpUqBf8fCAQsMzPT4uKiO5KcccYZ9sYbb4Tdt3DhQmvQoIF9/PHHYaFbtwcMGFCk5atVq1aRvl5pRJ9uAAAAoIRR4G6fmOj7paDBvm7dusFLlSpVXM23d/vnn3+2xMRE++CDD6xDhw5Wvnx5+/zzz13N7rnnnmt16tRxofyEE06w+fPnh6133759duutt7qgquc1bdrUnnnmmeDjP/30k/Xo0cM9X+u57LLLwprg79271y6//HL3eL169eyhhx7KczumT59ud999t/3www9uG3TRfV5rA5VX66pcubJdeOGFtnnz5jxDt048bNq0KXjfJ598YrfddpsL2Z41a9bYb7/95paX9evXu3VXrVrVqlev7l5z7dq1weV1wmLYsGHu8Ro1atgtt9ziTmSEys92q3l5aBN7bet//vMfO++88ywhIcGaNWtmb7/9dthzdFv3x8fHu/LOmDHDPU9N20Xbcc4551i1atVcLXqrVq3s/ffft9KK0A0AAACgyChs3nfffZacnGxt2rSxPXv2WM+ePW3BggW2dOlSO/vss11gU7j1KDi+9NJL9thjj7nnPfXUU8FacwW9M88804477jj79ttvbc6cOS4EK7B6br75Zhd033rrLZs7d64Lu999912uZbzooots+PDhLiyq9l4X3ZeVleXC719//eXWN2/ePPv111/dY7k5+eSTrWzZsq52W1asWGF///23DRw40LZt2+bCtuhxhdhOnTrZ/v37rXv37u4khZqaL1q0yG2v9k16erpbXgFaJwKeffZZd/JCZcpeo17Q7fbohIP2348//uiOTb9+/dz6ReU9//zzrXfv3u6kxLXXXmu333572PMHDx7sTpR8+umntmzZMrv//vvDWjmUNtHdlgMAAABAsTJmzBg766yzgrdVi9u2bdvg7bFjx7rwqNrUIUOG2C+//GKvvPKKC7hdu3Z1yxx11FHB5Z944gkXuMeNGxe8T0FUteJ6bv369V2t+MyZM61Lly7ucdXMHnnkkbmWsUKFCi4kqum7auk9KoNCpIKn1i/PPfecC+fqG61a+uxU03viiSe6wHvJJZe4686dO7sa+3/84x/udpMmTdy1ArfuV1kV8FXj7PWTV/9v1WpruW7durna6ZEjR1qfPn2C/cQ//PDD4OvqZEZBt9ujJu8qq2i/6mTH119/7UK/Tng0b97cHnjgAfe4/q+WBvfee2/w+Tph0rdvX2vduvUBx6s0oqYbAAAAQJE5/vjjw24rHI4YMcKSkpJcqFTYVW22V9OtgczKlCljp512Wo7rU22raon1PO/SokUL95iaruui2uGOHTuGBX2FxYJSuRS2vcAtLVu2dOXWY3mNGO41Jde1bou2KfR+r2m5tmnVqlWuptvbJpU5LS3Nbc/OnTtd7XvoNukEQei+PZztVguE0JMGaka/ZcsWd1tN5bOfXNBJhVDXX3+93XPPPa6Wf9SoUa7GvDQjdAMAAAAoMtlHylbgVs22alTVlFohWzWkXjNq1TrnRaFdzdH1vNDLypUr7dRTT7XiQGFate5//PGHC9feCQQvdCsgqw+3msl726R+79m3Seu49NJLfS+vmsOHUm27at7z61//+pdrdq++9cuWLXMnAx5//HErrQjdAAAAACJG/ZXVnFkDdylsqzl36IBhuk+BT32Tc9K+fXtbvny5GxBMA6yFXhTwjz76aBciv/rqq+Bztm/f7gJsXsqVK+cGKwul2niFY1086qOtfuWq8c6NmpFrfZMmTXK11QrUohrjP//80zWH95qhe9ukkwa1a9c+YJs0QJ0uGhgtdJsyMjJsyZIlwduHut0Ho5py9Z0Ppab12ak1wL///W97/fXXXf/4qVOnWmlF6AYAAAAQMRoFW8FMNblqVq2a3NBaVYVpTaN11VVXuXmz1Z9atcPq5+0N2qVBvtQHWeFPtcbq23zllVe60Kym2Rq0TIOKffTRR67/sUJ+bGzeUUivq9dSuTQSugYGU59ynQTQwGIakEz9nDXIm2qsszebD6Xaes3XrdpeNblWc3lREA+936th1vpr1qzpBm1T7b+3zWq2/fvvv7tlbrjhBjcgnfaJRoa/7rrrgqOHy6Fu98Fo4DS9nkaT9/rbeyO7e/3Pb7zxRncMVO7vvvvONf/XCYvSioHUAAAAgBJG82dHy+tMnDjRBWrVBitoKszt2rUrbJnJkyfb//7v/7pgqRG/NWe4bosGSlNtuZ6nAcYUjhs1auQG/fICpgb98pqhq5+0al7VLzovGghMJwPUNFxhVgOZKbRqJPChQ4e6putav14nP02ntR6N5u315/YosCuUev25RVN1aVltkwZK2717tx1xxBFuQDT1rxZtg/p164SEyqF9qNYCodt1KNt9MBr07dVXX3XrevTRR93gbxq9fNCgQW4QONHJDp0M0QmCypUru3308MMPW2kVE8g+mVsppA+1mmjoDei9iQEAQPGlmhM1z+zQYYklJraPdHFQRHbv/s6WLOngmtCq+W00UxNk1RIq4GgaKY8GF0tq3txS09KKrCwJ8fGWnJLigi6QE41crtHTQ5vdR/tnsSA5kppuAAAAoIRQ8FUAVnPnoqLaZwI3Qqlvuvqj16hRw7UyUI26pndDzgjdAAAAQAmiAEwIRiRpkDdNCaa+9Hovqqm55gxHzgjdAAAAAIB8U//s0txHu6AYvRwAAAAAAJ8QugEAAAAA8AmhGwAAACimQuerBlAyP4P06QYAAACKmXLlyrm5lzds2GC1atVyt2NiYiJdLKDUCAQClp6ebn/++af7LOozeKgI3QAAAEAxox/5mhd448aNLngDiIyEhAQ3Qrs+k4eK0A0AAAAUQ6pZ04/9jIwMy8zMjHRxgFKnTJkyFhcXd9itTAjdAAAAQDGlH/tly5Z1FwAlEwOpAQAAAADgE0I3AAAAAAA+IXQDAAAAAOATQjcAAAAAAD4hdAMAAAAA4BNCNwAAAAAAPiF0AwAAAADgE0I3AAAAAAA+IXQDAAAAAOATQjcAAAAAAD4hdAMAAAAA4BNCNwAAAAAAPiF0AwAAAADgE0I3AAAAAAA+IXQDAAAAAOATQjcAAAAAAD4hdAMAAAAA4BNCNwAAAAAAPiF0AwAAAADgE0I3AAAAAAA+IXQDAAAAAOATQjcAAAAAAD4hdAMAAAAA4BNCNwAAAAAAPiF0AwAAAADgE0I3AAAAAAA+IXQDAAAAAOATQjcAAAAAANEYukePHm0xMTFhlxYtWgQfT0tLs8GDB1uNGjWsUqVK1rdvX9u8eXPYOtatW2e9evWyhIQEq127tt18882WkZERga0BAAAAACBcnEVYq1atbP78+cHbcXH/v0g33XSTvffeezZ79myrUqWKDRkyxPr06WOLFi1yj2dmZrrAXbduXfviiy9s48aNdvnll1vZsmVt3LhxEdkeAAAAAACKTehWyFZozm7nzp32zDPP2Isvvmhnnnmmu2/atGmWlJRkX375pZ100kk2d+5cW7FihQvtderUsXbt2tnYsWPt1ltvdbXo5cqVi8AWAQAAAABQTPp0r1y50urXr29HHXWU9evXzzUXlyVLltj+/futa9euwWXV9Lxhw4a2ePFid1vXrVu3doHb0717d9u1a5ctX74819fct2+fWyb0AgAAAABAVIXujh072vTp023OnDk2efJkW7NmjZ1yyim2e/du27Rpk6uprlq1athzFLD1mOg6NHB7j3uP5Wb8+PGuubp3adCggS/bBwAAAAAo3SLavLxHjx7B/7dp08aF8EaNGtkrr7xiFSpU8O11R44cacOGDQveVk03wRsAAAAAEHXNy0OpVvuYY46xVatWuX7e6enptmPHjrBlNHq51wdc19lHM/du59RP3FO+fHmrXLly2AUAAAAAgKgO3Xv27LHVq1dbvXr1rEOHDm4U8gULFgQfT0lJcX2+O3Xq5G7retmyZbZly5bgMvPmzXMhumXLlhHZBgAAAAAAikXz8hEjRtg555zjmpRv2LDBRo0aZWXKlLFLLrnE9bUeOHCgawZevXp1F6SHDh3qgrZGLpdu3bq5cH3ZZZfZhAkTXD/uO+64w83trdpsAAAAAABKbej+/fffXcDetm2b1apVyzp37uymA9P/5eGHH7bY2Fjr27evG3FcI5NPmjQp+HwF9HfffdcGDRrkwnjFihVtwIABNmbMmAhuFQAAAAAAxSB0z5o1K8/H4+Pj7cknn3SX3KiW/P333/ehdAAAAAAARFGfbgAAAAAAogmhGwAAAAAAnxC6AQAAAADwCaEbAAAAAACfELoBAAAAAPAJoRsAAAAAAJ8QugEAAAAA8AmhGwAAAAAAnxC6AQAAAADwCaEbAAAAAACfELoBAAAAAPAJoRsAAAAAAJ8QugEAAAAA8AmhGwAAAAAAnxC6AQAAAADwCaEbAAAAAACfELoBAAAAAPAJoRsAAAAAAJ8QugEAAAAA8AmhGwAAAAAAnxC6AQAAAADwSZxfKwYAAChp0tLW2f79WyNdDOQiNTXZXScn//e6IGrWrGkNGzb0oVQAkDdCNwAAwP8F7m+/bm4ZWWmRLgoOon///gV+TkJ8vCWnpBC8ARQ5QjcAAICZq+FW4L4nIcmaxCZEujjIQVZmqu39O9laJiVZxYT8H6Pk1FTrn5xsW7duJXQDKHKEbgAAgBAK3ElxiZEuBnKQaWa7zaxdQoIlJnKMAJQMDKQGAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAABAtIfu++67z2JiYuzGG28M3peWlmaDBw+2GjVqWKVKlaxv3762efPmsOetW7fOevXqZQkJCVa7dm27+eabLSMjIwJbAAAAAABAMQzd33zzjT311FPWpk2bsPtvuukme+edd2z27Nn2ySef2IYNG6xPnz7BxzMzM13gTk9Pty+++MJmzJhh06dPt7vuuisCWwEAAAAAQDEL3Xv27LF+/frZ1KlTrVq1asH7d+7cac8884xNnDjRzjzzTOvQoYNNmzbNhesvv/zSLTN37lxbsWKFzZw509q1a2c9evSwsWPH2pNPPumCOAAAAAAApTp0q/m4aqu7du0adv+SJUts//79Yfe3aNHCGjZsaIsXL3a3dd26dWurU6dOcJnu3bvbrl27bPny5UW4FQAAAAAAHCjOImjWrFn23Xffuebl2W3atMnKlStnVatWDbtfAVuPecuEBm7vce+x3Ozbt89dPArpAAAAAABETU33+vXr7YYbbrAXXnjB4uPji/S1x48fb1WqVAleGjRoUKSvDwAAAAAoHSIWutV8fMuWLda+fXuLi4tzFw2W9thjj7n/q8Za/bJ37NgR9jyNXl63bl33f11nH83cu+0tk5ORI0e6PuPeRScAAAAAAACImtDdpUsXW7ZsmX3//ffBy/HHH+8GVfP+X7ZsWVuwYEHwOSkpKW6KsE6dOrnbutY6FN498+bNs8qVK1vLli1zfe3y5cu7ZUIvAAAAAABETZ/uxMREO/bYY8Puq1ixopuT27t/4MCBNmzYMKtevboLxkOHDnVB+6STTnKPd+vWzYXryy67zCZMmOD6cd9xxx1ucDYFawAAAAAASu1Aagfz8MMPW2xsrPXt29cNfKaRySdNmhR8vEyZMvbuu+/aoEGDXBhXaB8wYICNGTMmouUGAAAAAKDYhe6PP/447LYGWNOc27rkplGjRvb+++8XQekAAAAAAChh83QDAAAAABCtCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAABAcQrdv/76a+GXBAAAAACAKHNIobtp06Z2xhln2MyZMy0tLa3wSwUAAAAAQGkN3d999521adPGhg0bZnXr1rVrr73Wvv7668IvHQAAAAAApS10t2vXzh599FHbsGGDPfvss7Zx40br3LmzHXvssTZx4kT7888/C7+kAAAAAACUpoHU4uLirE+fPjZ79my7//77bdWqVTZixAhr0KCBXX755S6MAwAAAABQWh1W6P7222/tuuuus3r16rkabgXu1atX27x581wt+Lnnnlt4JQUAAAAAoISJO5QnKWBPmzbNUlJSrGfPnvbcc8+569jY/2b4Jk2a2PTp061x48aFXV4AAAAAAKI7dE+ePNmuuuoqu+KKK1wtd05q165tzzzzzOGWDwAAAACA0hW6V65cedBlypUrZwMGDDiU1QMAAAAAUHr7dKtpuQZPy073zZgxozDKBQAAAABA6Qzd48ePt5o1a+bYpHzcuHGFUS4AAAAAAEpn6F63bp0bLC27Ro0auccAAAAAAMAhhm7VaP/4448H3P/DDz9YjRo1CqNcAAAAAACUztB9ySWX2PXXX28LFy60zMxMd/noo4/shhtusIsvvrjwSwkAAAAAQGkZvXzs2LG2du1a69Kli8XF/XcVWVlZdvnll9OnGwAAAACAwwndmg7s5ZdfduFbTcorVKhgrVu3dn26AQAAAADAYYRuzzHHHOMuAAAAAACgkEK3+nBPnz7dFixYYFu2bHFNy0OpfzcAAAAAAKXdIYVuDZim0N2rVy879thjLSYmpvBLBgAAAABAaQzds2bNsldeecV69uxZ+CUCAAAAAKA0TxmmgdSaNm1a+KUBAAAAAKC0h+7hw4fbo48+aoFAoPBLBAAAAABAaW5e/vnnn9vChQvtgw8+sFatWlnZsmXDHn/99dcLq3wAAAAAAJSu0F21alU777zzCr80AAAAAACU9tA9bdq0wi8JAAAAAABR5pD6dEtGRobNnz/fnnrqKdu9e7e7b8OGDbZnz57CLB8AAAAAAKWrpvu3336zs88+29atW2f79u2zs846yxITE+3+++93t6dMmVL4JQUAAAAAoDTUdN9www12/PHH2/bt261ChQrB+9XPe8GCBYVZPgAAAAAASldN92effWZffPGFm687VOPGje2PP/4orLIBAAAAAFD6arqzsrIsMzPzgPt///1318wcAAAAAAAcYuju1q2bPfLII8HbMTExbgC1UaNGWc+ePQuzfAAAAAAAlK7Q/dBDD9miRYusZcuWlpaWZpdeemmwabkGU8uvyZMnW5s2baxy5cru0qlTJ/vggw+Cj2vdgwcPtho1alilSpWsb9++tnnz5rB1aDC3Xr16WUJCgtWuXdtuvvlmN7I6AAAAAAAlsk/3kUceaT/88IPNmjXLfvzxR1fLPXDgQOvXr1/YwGr5Wc99991nzZo1s0AgYDNmzLBzzz3Xli5daq1atbKbbrrJ3nvvPZs9e7ZVqVLFhgwZYn369HGBX9TEXYG7bt26ro/5xo0b7fLLL7eyZcvauHHjDmXTAAAAAACIbOh2T4yLs/79+x/Wi59zzjlht++9915X+/3ll1+6QP7MM8/Yiy++aGeeeaZ7fNq0aZaUlOQeP+mkk2zu3Lm2YsUKN194nTp1rF27djZ27Fi79dZbbfTo0QcM9AYAAAAAQLEP3c8991yej6u2uaBUa60a7b1797pm5kuWLLH9+/db165dg8u0aNHCGjZsaIsXL3ahW9etW7d2gdvTvXt3GzRokC1fvtyOO+64ApcDAAAAAICIhm7N0x1K4Tg1NdXVLKtvdUFC97Jly1zIVv9t9dt+4403XF/x77//3q2vatWqYcsrYG/atMn9X9ehgdt73HssN/v27XMXz65du/JdXgAAAAAAfB1Ibfv27WEX9elOSUmxzp0720svvVSgdTVv3twF7K+++srVUA8YMMA1GffT+PHjXR9x79KgQQNfXw8AAAAAUDodUujOiQZD06Bo2WvBD0a12U2bNrUOHTq4MNy2bVt79NFH3eBo6enptmPHjrDlNXq5HhNdZx/N3LvtLZOTkSNH2s6dO4OX9evXF6jMAAAAAAAUaej2BlfbsGHDYa0jKyvLNf1WCNco5AsWLAg+ptp0TRGm5uiiazVP37JlS3CZefPmuenH1EQ9N+XLlw9OU+ZdAAAAAAAoFn2633777bDbmu5L03U98cQTdvLJJ+d7Papx7tGjhxscbffu3W6k8o8//tg+/PBD1+xb05ANGzbMqlev7oLx0KFDXdDWIGrSrVs3F64vu+wymzBhguvHfccdd7i5vRWsAQAAAAAocaG7d+/eYbdjYmKsVq1abmqvhx56KN/rUQ21Bl1TYFfIbtOmjQvcZ511lnv84YcfttjYWOvbt6+r/dbI5JMmTQo+v0yZMvbuu++6vuAK4xUrVnR9wseMGXMomwUAAAAAQORDt5qAFwbNw52X+Ph4e/LJJ90lN40aNbL333+/UMoDAAAAAECx7dMNAAAAAAAOs6Zb/azza+LEiYfyEgAAAAAAlM7QvXTpUnfZv3+/m2dbfvnlF9fHun379mF9vQEAAAAAKK0OKXSfc845lpiYaDNmzLBq1aq5+7Zv325XXnmlnXLKKTZ8+PDCLicAAAAAAKWjT7dGKB8/fnwwcIv+f8899xRo9HIAAAAAAKLZIYXuXbt22Z9//nnA/bpP820DAAAAAIBDDN3nnXeea0r++uuv2++//+4ur732mg0cOND69OlT+KUEAAAAAKC09OmeMmWKjRgxwi699FI3mJpbUVycC90PPPBAYZcRAAAAAIDSE7oTEhJs0qRJLmCvXr3a3Xf00UdbxYoVC7t8AAAAAACUrublno0bN7pLs2bNXOAOBAKFVzIAAAAAAEpj6N62bZt16dLFjjnmGOvZs6cL3qLm5UwXBgAAAADAYYTum266ycqWLWvr1q1zTc09F110kc2ZM+dQVgkAAAAAQNQ5pD7dc+fOtQ8//NCOPPLIsPvVzPy3334rrLIBAAAAAFD6arr37t0bVsPt+euvv6x8+fKFUS4AAAAAAEpn6D7llFPsueeeC96OiYmxrKwsmzBhgp1xxhmFWT4AAAAAAEpX83KFaw2k9u2331p6errdcssttnz5clfTvWjRosIvJQAAAAAApaWm+9hjj7VffvnFOnfubOeee65rbt6nTx9bunSpm68bAAAAAAAcQk33/v377eyzz7YpU6bY7bff7k+pAAAAAAAojTXdmirsxx9/9Kc0AAAAAACU9ubl/fv3t2eeeabwSwMAAAAAQGkfSC0jI8OeffZZmz9/vnXo0MEqVqwY9vjEiRMLq3wAAAAAAJSO0P3rr79a48aN7aeffrL27du7+zSgWihNHwYAAAAAAAoYups1a2YbN260hQsXutsXXXSRPfbYY1anTh2/ygcAAAAAQOno0x0IBMJuf/DBB266MAAAAAAAUEgDqeUWwgEAAAAAwCGGbvXXzt5nmz7cAAAAAAAUQp9u1WxfccUVVr58eXc7LS3N/v3vfx8wevnrr79ekNUCAAAAABCVChS6BwwYcMB83QAAAAAAoBBC97Rp0wqyOAAAAAAApdphDaQGAAAAAAByR+gGAAAAAMAnhG4AAAAAAHxC6AYAAAAAwCeEbgAAAAAAfELoBgAAAADAJ4RuAAAAAAB8QugGAAAAAMAnhG4AAAAAAHxC6AYAAAAAwCeEbgAAAAAAfELoBgAAAADAJ4RuAAAAAAB8QugGAAAAAMAnhG4AAAAAAHxC6AYAAAAAwCeEbgAAAAAAfELoBgAAAADAJ4RuAAAAAAB8QugGAAAAAMAnhG4AAAAAAHxC6AYAAAAAwCeEbgAAAAAAfELoBgAAAADAJ4RuAAAAAAB8QugGAAAAAMAncX6tGACAorJu3TrbunVrpIuBIpScnBzpIgAAkC+EbgBAiQ/czZsnWVpaaqSLgghIT98X6SIAAJAnQjcAoERTDbcCd1LSTEtISIp0cVBEtm1739auvdMyMjIiXRQAAPJE6AYARAUF7sTE9pEuBopIairNywEAJQMDqQEAAAAA4BNqugEAKKC0tHW2fz8Dt0XS33+v+b/rFNu9u2KhrJPacwCAHwjdAAAUMHB/+3Vzy8hKi3RRYGZr115ta9cW7joDgfTCXSEAoFQjdAMAUACq4VbgvichyZrEJkS6OKXW/oxtlpa21uLjm1vZuEqFss5FGdtsUtpaC2QxOBsAoPAQugEAOAQK3ElxiZEuRqmVnpVqmiQuITbByhXScViTybRzAIDCx0BqAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAERj6B4/frydcMIJlpiYaLVr17bevXtbSkpK2DJpaWk2ePBgq1GjhlWqVMn69u1rmzdvDltm3bp11qtXL0tISHDrufnmmy0jI6OItwYAAAAAgGIUuj/55BMXqL/88kubN2+e7d+/37p162Z79+4NLnPTTTfZO++8Y7Nnz3bLb9iwwfr06RN8PDMz0wXu9PR0++KLL2zGjBk2ffp0u+uuuyK0VQAAAAAA/FecRdCcOXPCbissq6Z6yZIlduqpp9rOnTvtmWeesRdffNHOPPNMt8y0adMsKSnJBfWTTjrJ5s6daytWrLD58+dbnTp1rF27djZ27Fi79dZbbfTo0VauXLkIbR0AAAAAoLQrVn26FbKlevXq7lrhW7XfXbt2DS7TokULa9iwoS1evNjd1nXr1q1d4PZ0797ddu3aZcuXL8/xdfbt2+ceD70AAAAAABC1oTsrK8tuvPFGO/nkk+3YY491923atMnVVFetWjVsWQVsPeYtExq4vce9x3LrS16lSpXgpUGDBj5tFQAAAACgNCs2oVt9u3/66SebNWuW7681cuRIV6vuXdavX+/7awIAAAAASp+I9un2DBkyxN5991379NNP7cgjjwzeX7duXTdA2o4dO8JquzV6uR7zlvn666/D1ueNbu4tk1358uXdBQAAAACAqK3pDgQCLnC/8cYb9tFHH1mTJk3CHu/QoYOVLVvWFixYELxPU4ppirBOnTq527petmyZbdmyJbiMRkKvXLmytWzZsgi3BgAAAACAYlTTrSblGpn8rbfecnN1e32w1c+6QoUK7nrgwIE2bNgwN7iagvTQoUNd0NbI5aIpxhSuL7vsMpswYYJbxx133OHWTW02AAAAAKDUhu7Jkye769NPPz3sfk0LdsUVV7j/P/zwwxYbG2t9+/Z1o45rZPJJkyYFly1Tpoxrmj5o0CAXxitWrGgDBgywMWPGFPHWAAAAAABQjEK3mpcfTHx8vD355JPukptGjRrZ+++/X8ilAwAAAAAgSkYvBwAAAAAg2hC6AQAAAADwCaEbAAAAAACfELoBAAAAAPAJoRsAAAAAAJ8QugEAAAAA8AmhGwAAAAAAnxC6AQAAAADwCaEbAAAAAACfELoBAAAAAPAJoRsAAAAAAJ8QugEAAAAA8AmhGwAAAAAAnxC6AQAAAADwCaEbAAAAAACfELoBAAAAAPAJoRsAAAAAAJ8QugEAAAAA8AmhGwAAAAAAnxC6AQAAAADwCaEbAAAAAACfELoBAAAAAPAJoRsAAAAAAJ8QugEAAAAA8AmhGwAAAAAAnxC6AQAAAADwCaEbAAAAAACfxPm1YgAAAKA4SU5OjnQR4IOaNWtaw4YNI10MIFeEbgAAAES1jenprnln//79I10U+CAhPt6SU1II3ii2CN0AAACIajsyMizLzKY2bmzta9SIdHFQiJJTU61/crJt3bqV0I1ii9ANAACAUqF5hQrWPjEx0sUAUMowkBoAAAAAAD4hdAMAAAAA4BNCNwAAAAAAPiF0AwAAAADgEwZSAwAAQImyNzW1QMv//fffwevdu3f7VCr4pWzZshYfHx/pYgCHjNANAACAEiErkO6uk5OTC/S8Nd712rVWdu1aH0oGP8XGxlrHE08keKPEInQDAACgRAgEMtx1fHxzKxtXKd/Pq7B/m9m+tRYf39gS45inuyTJzEq11NRk279/P6EbJRahGwAAACVKbGyClYnL/3zbMZn/bY5eJqZCgZ6HYuC/51mAEo2B1AAAAAAA8AmhGwAAAAAAnxC6AQAAAADwCaEbAAAAAACfELoBAAAAAPAJoRsAAAAAAJ8QugEAAAAA8AmhGwAAAAAAnxC6AQAAAADwCaEbAAAAAACfELoBAAAAAPAJoRsAAAAAAJ8QugEAAAAA8AmhGwAAAAAAnxC6AQAAAADwCaEbAAAAAACfELoBAAAAAPAJoRsAAAAAAJ8QugEAAAAA8AmhGwAAAAAAnxC6AQAAAADwCaEbAAAAAACfELoBAAAAAPAJoRsAAAAAAJ8QugEAAAAA8AmhGwAAAAAAnxC6AQAAAADwCaEbAAAAAACfELoBAAAAAPAJoRsAAAAAAJ8QugEAAAAA8AmhGwAAAAAAnxC6AQAAAACIxtD96aef2jnnnGP169e3mJgYe/PNN8MeDwQCdtddd1m9evWsQoUK1rVrV1u5cmXYMn/99Zf169fPKleubFWrVrWBAwfanj17inhLAAAAAAAoZqF779691rZtW3vyySdzfHzChAn22GOP2ZQpU+yrr76yihUrWvfu3S0tLS24jAL38uXLbd68efbuu++6IH/NNdcU4VYAAAAAAJCzOIugHj16uEtOVMv9yCOP2B133GHnnnuuu++5556zOnXquBrxiy++2JKTk23OnDn2zTff2PHHH++Wefzxx61nz5724IMPuhp0AAAAAAAipdj26V6zZo1t2rTJNSn3VKlSxTp27GiLFy92t3WtJuVe4BYtHxsb62rGc7Nv3z7btWtX2AUAAAAAgFITuhW4RTXboXTbe0zXtWvXDns8Li7OqlevHlwmJ+PHj3cB3rs0aNDAl20AAAAAAJRuxTZ0+2nkyJG2c+fO4GX9+vWRLhIAAAAAIAoV29Bdt25dd7158+aw+3Xbe0zXW7ZsCXs8IyPDjWjuLZOT8uXLu9HOQy8AAAAAAETVQGp5adKkiQvOCxYssHbt2rn71PdafbUHDRrkbnfq1Ml27NhhS5YssQ4dOrj7PvroI8vKynJ9v6PNunXrbOvWrZEuBnxQs2ZNa9iwYaSLAQAAACCaQrfm0161alXY4Gnff/+965OtAHLjjTfaPffcY82aNXMh/M4773Qjkvfu3dstn5SUZGeffbZdffXVblqx/fv325AhQ9zI5tE2crkCd1Lz5pYaMl0aokdCfLwlp6QQvAEAAIAoE9HQ/e2339oZZ5wRvD1s2DB3PWDAAJs+fbrdcsstbi5vzbutGu3OnTu7KcLi4+ODz3nhhRdc0O7SpYsbtbxv375ubu9ooxpuBe6ZSUmWlJAQ6eKgECWnplr/5GR3jAndAAAAQHSJaOg+/fTT3XzcuYmJibExY8a4S25UK/7iiy9aaaHA3T4xMdLFAAAAAACU5IHUAAAAAAAo6QjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+CTOrxUDAMzWrVtnW7dujXQxolpycrK7Tk3977Xfiup1AABAdCB0A4CPgTupeXNLTUuLdFFKheTk/kX6eoFAepG+HgAAKJkI3QDgE9VwK3DPTEqypISESBcnau1NTbUVyclWsUKSxZbxfz8vythmk9LWWiArw/fXAgAAJR+hGwB8psDdPjEx0sWIWrvNTPE3sUyClYnzfz+vyUz1/TUAAED0YCA1AAAAAAB8QugGAAAAAMAnhG4AAAAAAHxC6AYAAAAAwCeEbgAAAAAAfELoBgAAAADAJ0wZBgAAAKBY25uamuf9ycnJRVwi+K1mzZrWsGFDiwaEbgAAAADFUlYgPc9Q/cv/Xffv378IS4WiEB+fYCkpyVERvAndAAAAAIqlQCDDXcfHN7eycZUOeLxiZqrZ38mWlDTTEhKSIlBC+CE1NdmSk/vb1q1bCd0AAAAA4LfY2AQrE5d44P3/d63AnZjYvsjLBeQHA6kBAAAAAOATQjcAAAAAAD4hdAMAAAAA4BP6dAOIKuvWrXODbhQH3kirms5kd6QLUwqnkQEAACgOCN0AoipwN2+eZGlpxSuErUhOtv+OvQo/ZQUCVibShQAAAMiG0A0gaqiGW4G7uEwb4k13UbFCkiWWSYh0caLW/oy/LC1tjQUCgUgXBQAQwb+5iB6pUXY8Cd0Aok5xmzYktkzO05ygcGRmFa+WDQCAorM1K90NUqWT3IgusWa2ceNGiwaEbgAAAAAl0u5AhmWZ2Zjyje3osjUiXRwUktX7t9ld+9bajh07LBoQugEAAACUaE1iK1gSrcqiRlZmdLViY8owAAAAAAB8QugGAAAAAMAnhG4AAAAAAHxC6AYAAAAAwCeEbgAAAAAAfELoBgAAAADAJ4RuAAAAAAB8EjWh+8knn7TGjRtbfHy8dezY0b7++utIFwkAAAAAUMpFReh++eWXbdiwYTZq1Cj77rvvrG3btta9e3fbsmVLpIsGAAAAACjF4iwKTJw40a6++mq78sor3e0pU6bYe++9Z88++6zddtttkS4ekC/JycmRLkLU7MPU1OKxL4tLOQAAABA5JT50p6en25IlS2zkyJHB+2JjY61r1662ePHiiJYNyI+N6emuyUn//v0jXZSokZxcvPZlIJAe6SIAAAAgQkp86N66datlZmZanTp1wu7X7Z9//jnH5+zbt89dPDt37nTXu3btsuJqz5497nrJ7t22JzMz0sVBIVq8c6dlmdn1tWtb08TESBenREtLT7d169dbubK1LTamfKSLY8sz99gHmdvtp/Q/LTXz/3/noHBlZO4y7d3y+7daXNZe31/v14z//s1YnrHd/g7wfRxNx51jG73HnWMbvcecYxudfs38by5LTU0t1hnNK1sgEMhzuZjAwZYo5jZs2GBHHHGEffHFF9apU6fg/bfccot98skn9tVXXx3wnNGjR9vdd99dxCUFAAAAAESb9evX25FHHhm9Nd01a9a0MmXK2ObNm8Pu1+26devm+Bw1RdfAa56srCz766+/rEaNGhYTE2PF9SxKgwYN3AGtXLlypIuDIsJxL5047qUTx7104riXThz30onjHn1Uf717926rX79+nsuV+NBdrlw569Chgy1YsMB69+4dDNG6PWTIkByfU758eXcJVbVqVSsJ9AHlQ1r6cNxLJ4576cRxL5047qUTx7104rhHlypVqhx0mRIfukW11gMGDLDjjz/eTjzxRHvkkUds7969wdHMAQAAAACIhKgI3RdddJH9+eefdtddd9mmTZusXbt2NmfOnAMGVwMAAAAAoChFRegWNSXPrTl5NFBz+FGjRh3QLB7RjeNeOnHcSyeOe+nEcS+dOO6lE8e99Crxo5cDAAAAAFBcxUa6AAAAAAAARCtCNwAAAAAAPiF0AwAAAADgE0J3BD355JPWuHFji4+Pt44dO9rXX3+d5/KzZ8+2Fi1auOVbt25t77//ftjj6p6vEdzr1atnFSpUsK5du9rKlSt93gpE+rhfccUVFhMTE3Y5++yzfd4K+Hncly9fbn379nXL63hqGsTDXSei47iPHj36gM+7vh9Qco/71KlT7ZRTTrFq1aq5i/52Z1+ev++l75jztz36jvvrr7/upjeuWrWqVaxY0c229Pzzz4ctw2c9ehG6I+Tll19284trBMPvvvvO2rZta927d7ctW7bkuPwXX3xhl1xyiQ0cONCWLl1qvXv3dpeffvopuMyECRPssccesylTpthXX33lPtBaZ1paWhFuGYr6uIv+EG/cuDF4eemll4poi+DHcU9NTbWjjjrK7rvvPqtbt26hrBPRcdylVatWYZ/3zz//3MetgN/H/eOPP3bf8wsXLrTFixdbgwYNrFu3bvbHH38El+Hve+k75sLf9ug67tWrV7fbb7/dHfMff/zRrrzySnf58MMPg8vwWY9iGr0cRe/EE08MDB48OHg7MzMzUL9+/cD48eNzXP7CCy8M9OrVK+y+jh07Bq699lr3/6ysrEDdunUDDzzwQPDxHTt2BMqXLx946aWXfNsORPa4y4ABAwLnnnuuj6VGUR/3UI0aNQo8/PDDhbpOlNzjPmrUqEDbtm0LvawoPIf72czIyAgkJiYGZsyY4W7z9730HXPhb3vxVxh/h4877rjAHXfc4f7PZz26UdMdAenp6bZkyRLXZMQTGxvrbuvsV050f+jyojNf3vJr1qyxTZs2hS1TpUoV19Qlt3Wi5B/30LPmtWvXtubNm9ugQYNs27ZtPm0FiuK4R2KdKFx+HiM1Naxfv76rFe/Xr5+tW7euEEqM4nLc1eJh//79rlZM+Pte+o65h7/t0Xvc1Yx8wYIFlpKSYqeeeqq7j896dCN0R8DWrVstMzPT6tSpE3a/buvDlhPdn9fy3nVB1omSf9y95mfPPfec+/K+//777ZNPPrEePXq410LJPO6RWCcKl1/HSD++pk+fbnPmzLHJkye7H2nqG7p79+5CKDWKw3G/9dZb3UkV74c3f99L3zEX/rZH53HfuXOnVapUycqVK2e9evWyxx9/3M466yz3GJ/16BYX6QIAODwXX3xx8P8aaK1NmzZ29NFHuzPkXbp0iWjZABQu/ej26LOuEN6oUSN75ZVX3NgPKNnUn3/WrFnu+1sDM6H0HnP+tkenxMRE+/77723Pnj3uhIr6hKvV0umnnx7posFn1HRHQM2aNa1MmTK2efPmsPt1O7fBc3R/Xst71wVZJ0r+cc+Jvrz1WqtWrSqkkqOoj3sk1onCVVTHSKPgHnPMMXzeo+C4P/jggy6AzZ071wUsD3/fS98xzwl/26PjuKsJetOmTd3I5cOHD7fzzz/fxo8f7x7jsx7dCN0RoCYlHTp0cGe4PFlZWe52p06dcnyO7g9dXubNmxdcvkmTJu4DGbrMrl273MiHua0TJf+45+T33393/b403QRK5nGPxDpRuIrqGKm2ZPXq1XzeS/hx14jFY8eOdd0GNKVQKP6+l75jnhP+tkfnd7yes2/fPvd/PutRLtIjuZVWs2bNcqMRTp8+PbBixYrANddcE6hatWpg06ZN7vHLLrsscNtttwWXX7RoUSAuLi7w4IMPBpKTk90ItmXLlg0sW7YsuMx9993n1vHWW28FfvzxRzfqZZMmTQJ///13RLYR/h/33bt3B0aMGBFYvHhxYM2aNYH58+cH2rdvH2jWrFkgLS0tYtuJwzvu+/btCyxdutRd6tWr546x/r9y5cp8rxPRedyHDx8e+Pjjj93nXd8PXbt2DdSsWTOwZcuWiGwjDv+46293uXLlAq+++mpg48aNwYu+30OX4e976Tnm/G2PzuM+bty4wNy5cwOrV692y+u3nX7jTZ06NbgMn/XoReiOoMcffzzQsGFD98WraQe+/PLL4GOnnXaamy4i1CuvvBI45phj3PKtWrUKvPfee2GPa6qBO++8M1CnTh33JdClS5dASkpKkW0Piv64p6amBrp16xaoVauWC+OaZujqq68meJXw464fWTonmv2i5fK7TkTncb/oootcINf6jjjiCHd71apVRb5dKLzjru/tnI67TrJ6+Pteuo45f9uj87jffvvtgaZNmwbi4+MD1apVC3Tq1MkF91B81qNXjP6JdG07AAAAAADRiD7dAAAAAAD4hNANAAAAAIBPCN0AAAAAAPiE0A0AAAAAgE8I3QAAAAAA+ITQDQAAAACATwjdAAAAAAD4hNANAAAAAIBPCN0AAJQCMTEx9uabb0a6GLZp0yY766yzrGLFila1atVIFwcAAN8RugEAyMUVV1zhwqou5cqVs6ZNm9qYMWMsIyPDiqvRo0dbu3btDrh/48aN1qNHD4u0hx9+2JXl+++/t19++SXSxQEAwHdx/r8EAAAl19lnn23Tpk2zffv22fvvv2+DBw+2smXL2siRIw9YNj093YXzSAgEApaZmZnr43Xr1rXiYPXq1dahQwdr1qxZpIsCAECRoKYbAIA8lC9f3gXWRo0a2aBBg6xr16729ttvB2vCe/fubffee6/Vr1/fmjdv7u5ftmyZnXnmmVahQgWrUaOGXXPNNbZnz57gOr3n3X333VarVi2rXLmy/fvf/3ah3aOQf/3111vt2rUtPj7eOnfubN98803w8Y8//tjVwH/wwQcuxKqcM2fOdOv84YcfgjX006dPz7F5eX7L+OCDD1q9evXcMjrhsH///jz31+TJk+3oo492Jx+0P55//vngY40bN7bXXnvNnnvuOVcevUZunn32WWvVqpXbLr3+kCFDgo9NnDjRWrdu7ZqoN2jQwK677rqwsv/22292zjnnWLVq1dwyWo9OmHh++uknV+tfqVIlq1Onjl122WW2devW4OOvvvqqW7+3b3TM9+7dm+d2AwCQG0I3AAAFoCAWGo4XLFhgKSkpNm/ePHv33XddOOvevbsLfArJs2fPtvnz54eFRu95ycnJLjy/9NJL9vrrr7vA7LnllltcQJ0xY4Z99913rmm71vvXX3+Free2226z++67z61LfaWHDx/uQqaacOty0UUXHbAN+S3jwoULXc20rlUOBXgvxOfkjTfesBtuuMGVQcH22muvtSuvvNI9X/Raajlw4YUXurI9+uijuQZ3BXydCNDJAZ3k0PZ7YmNj7bHHHrPly5e7cn300Uduf3n0XJ20+PTTT93z77//fhewZceOHe5kw3HHHWfffvutzZkzxzZv3uzKJCrXJZdcYldddVXw+PTp08e1JAAA4JAEAABAjgYMGBA499xz3f+zsrIC8+bNC5QvXz4wYsSI4ON16tQJ7Nu3L/icp59+OlCtWrXAnj17gve99957gdjY2MCmTZuCz6tevXpg7969wWUmT54cqFSpUiAzM9M9t2zZsoEXXngh+Hh6enqgfv36gQkTJrjbCxcuVAoMvPnmm2FlHjVqVKBt27YHbIuWfeONNwpUxkaNGgUyMjKCy1xwwQWBiy66KNf99Y9//CNw9dVXh92n5/Ts2TN4W/tT686LtvP2228P5Nfs2bMDNWrUCN5u3bp1YPTo0TkuO3bs2EC3bt3C7lu/fr3bPykpKYElS5a4/69duzbfrw8AQF6o6QYAIA+qvVYtqZp4q0myao41WJlHzZBD+3GrdrRt27auWbPn5JNPtqysLFcj7tEyCQkJwdudOnVyTaTXr1/vapfVjFvP86gf+YknnujWH+r4448v8Dblt4yqMS9Tpkzwtpp5b9myJc/1hpbZW2/2MudF69+wYYN16dIl12VUK6/HjzjiCEtMTHTNw7dt22apqanucTXLv+eee9xrjxo1yn788cfgc9X0XjXvOqbepUWLFu4x7XftF61bx/WCCy6wqVOn2vbt2/NdfgAAsiN0AwCQhzPOOMONtL1y5Ur7+++/XXPm0LAa+v9I8PP1FfRDqR+2grnfzffzsnbtWvvnP/9pbdq0cc3vlyxZYk8++aR7zGv2/69//ct+/fVXF8bVvFwnJh5//HH3mE5sqL+3jmnoRcf31FNPdScZ1FVAfeVbtmzpnqe+6WvWrPF1uwEA0YvQDQDAQUKt+hM3bNjQ4uIOPulHUlKSq00NHXhr0aJFrh+yN9CaaBmFeM+XX37pal01MJg3EJme51HNt/pEKwjmRc/LaxTzgpSxoLTe0DJ76z1YmUOp5loDrqnPe04UshX8H3roITvppJPsmGOOcTXj2Wk/anA69ZVXH3PVWEv79u1dX3C9ho5r6MU7gaGTC6olVx/7pUuXun2q/uoAABwKQjcAAIWoX79+rin6gAED3GBiaso8dOhQV+uqkbI9qpUdOHCgrVixwo2srWbQGshMwVfhTyOl33zzzW6gLy1z9dVXu+bTek5eFCZVK6vaW43IrQHFDrWMBaXyaqA1DYSmmmONMq7QO2LEiAKtR833Fao1WJrWo4HkvJpqhWOdgNBt1WZrdPQpU6aEPf/GG2+0Dz/80O0HPVfbpxMC3iBrGoxOg6XpJIaalGtZDfimkxVfffWVjRs3zg2ytm7dOlf+P//8M/h8AAAKitANAEAhUj9thTgFuxNOOMHOP/9810f4iSeeCFtO92muajVpVj/x//mf/wnrK64Ryfv27euCsGpnV61a5darEcfzoudohHA1i9d0ZBoZ/VDLWFCaYkwjkmuaMfUHf+qpp9wc56effnqB1qOTAY888ohNmjTJrUfNyRW+RX2uFeY1Ivmxxx5rL7zwgo0fPz7s+QrPCtcKytoXqg3XukRTu6n2Xct069bN9d1WSK9atao74aHp2zTqec+ePd3z7rjjDncCQP35AQA4FDEaTe2QngkAAA6J5qfW1FWh82YDAIDoRE03AAAAAAA+IXQDAAAAAOATmpcDAAAAAOATaroBAAAAAPAJoRsAAAAAAJ8QugEAAAAA8AmhGwAAAAAAnxC6AQAAAADwCaEbAAAAAACfELoBAAAAAPAJoRsAAAAAAJ8QugEAAAAAMH/8P3UZlDXaRpvNAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# Import necessary libraries\n", "import pandas as pd\n", @@ -75,6 +242,9 @@ "import warnings\n", "warnings.simplefilter(action='ignore', category=FutureWarning)\n", "\n", + "# Insert random seed for reproducibility \n", + "np.random.seed(42) \n", + "\n", "# Constants representing the parameters of the model\n", "ATTACK_RATE = 0.10\n", "TRACE_SUCCESS = 0.20\n", @@ -193,7 +363,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "sampling-env", "language": "python", "name": "python3" }, @@ -207,7 +377,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.0" + "version": "3.11.14" } }, "nbformat": 4,