diff --git a/02_activities/assignments/a1_sampling_and_reproducibility.ipynb b/02_activities/assignments/a1_sampling_and_reproducibility.ipynb index 11852458..c2259e56 100644 --- a/02_activities/assignments/a1_sampling_and_reproducibility.ipynb +++ b/02_activities/assignments/a1_sampling_and_reproducibility.ipynb @@ -16,7 +16,31 @@ "cell_type": "markdown", "id": "4ea73db3", "metadata": {}, - "source": [] + "source": [ + "1. During the initial infections that occur in the model for a simulation\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", + "Sample Size of 100 out of all 1000 individuals get infected randomly without replacement as a uniform distribution across the wedding and brunch events\n", + "\n", + "2. The primary contact tracing of the infected people\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", + "Sample Size of 1 for each of the 100 infected people, either being traced or not, as a Bernoulli distribution across the wedding and brunch events\n", + "\n", + "3. Secondary contact tracing of the infected people\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", + "Sample Size and frame of all the infected people at flagged events that surpass threshold for traced infections, no distribution since this a deterministic threshold\n" + ] }, { "cell_type": "markdown", @@ -30,7 +54,9 @@ "cell_type": "markdown", "id": "4cf5d993", "metadata": {}, - "source": [] + "source": [ + "When we do 10 repetitions, the graphs are highly variable where the shapes and peaks change alot, it becomes more consistent with 100 simulations but there is still some variability, limiting reproducibility for both." + ] }, { "cell_type": "markdown", @@ -44,7 +70,9 @@ "cell_type": "markdown", "id": "77613cc3", "metadata": {}, - "source": [] + "source": [ + "Added a random seed (np.random.seed(123)) at the start of the code so that the results would be the same, providing reproducibilty." + ] }, { "cell_type": "markdown", @@ -56,10 +84,41 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "ab8587a0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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6vDDD88/NOKH2n333Zdvxw/GYcOG5eVi0LMZEeWKkBx9raP2tVzGCDfPPPNMrn2LH6Y33XRTuvvuu/NjUcbKmttK8WMwmpDHNlt88cWn+/oRrOOHf/wwjh99q6++enr44YdzcI4wV7dJ6L///e901113pYMOOij/kLv00kvzj644ORInNmJ/vPvuu+nWW2/Nz41wWNn8NcofP7LjNaOJdfR5jHXFD8E42VAW++TXv/51XjZqRWMfvvrqqzng77777nn/xw+7CCzlMsZ2mVVxsiVqtyNQRUCK/7/zzjv5RMPPf/7z/Pn64osv0h//+MccAuKxclPp+LzG5yO2f/zwjM9ENOmPz0O0LIjwOi3R1zPWf8455+Tm2NFFIH6cn3feebV+TN9+++25y0D0433qqadyUJ0REdgjoESIiOMiXuuOO+7I64yTPFHeShFqovzxuY5jJY7B2L/RL3tmaoXLJx7icxLiGOnfv3/q27dvfo/x2Y3Px4Ybbpj3deVJlKg5jOXisTgZECdEQnxm47MS3xO/+c1v8nL/+te/cmuPOLkUzjrrrPT73/8+b99Y5quvvkqXXXZZPkbideqrhY33F90P4rMe+zo+B2XxWYjPRuzjEJ/d+DzHsbH//vunPn365JOC8bmMYyGWL4vXjzATn+Gf/vSn+btmRvdfWWynCHWVIgw2R039tD6zcczHPo7tH106YpkQ2yfE5yr2XYTYOJEUJ2Muv/zyvE/K331FfBdE8+74vET/6vj+jeMiPg8RkOM91D15NyPHZV3xeITV+H479NBDc2htrONyRhV9zEyYMCGvP46FeI/x9zD+ZsTfwyh3fCaBApQAZtL1118fVaqll156qea+/v375/vOPvvsmvu+/fbb0hxzzFHq0KFD6bbbbqu5/z//+U9e9pRTTvnROtdaa63ShAkTau4fOHBgvv8f//hHzX1jx479UZkOOOCAUlVVVWncuHH59qRJk0pLLbVUaYkllsjlqDRlypSa/x988MF5/TPiyy+/LM0+++ylrbfeujR58uSa+y+//PK8juuuu67mvnhvcd9XX301zXW+/vrrebnDDz98hspwzz335OXPPPPMWvfvuuuueTu///77NffFclHeyvvKr3fZZZfV3Hf++efn+z766KMfvV5927pv376lpZdeuub2d999V+revXtp3XXXLf3www9T3dbbb7993h8NFduw7ufliSeeyPdFOeqWMT4DlfsnxHvr0qVL6fTTT6+5L/ZXrOOiiy760WtWlrvua5f37a9//etaz9l5551L8803X83twYMH5+WOOOKIWsvts88+P1pnfS655JK83M0331xzXxwb66+/fmnOOecsjRw5sua9xXLx2t98803NsnHMxP3//Oc/p/k65W0Z2yO29bBhw0r3339/ackll8yfqTjOR40aVerRo0dpv/32q/Xc4cOHl+aee+5a95e/C44//vhayz7++OP5/sMOO2yq2/vjjz8uderUqXTWWWfVevzNN98sde7cudb98TqVn6eHH3643ve73Xbb1fq8/uUvfyl17Nix9K9//avWcldffXV+/jPPPJNvv/baa/n2QQcdVGu53XfffYb2X3m/1HeJbT6191HeH5XLVK4vviunpfz8O+64o8Gf2bDJJpuUVlpppVr3xbaK599yyy217n/ooYdq3T+r3wX1vcfVV1+9tOCCC5a+/vrrWt9jsQ/33nvvmXqP9Tn55JPz87t161badttt82ctjuGZPS4bsh+b4ph59dVXf/S5AIqneTlQiDjLXhZn16Ppc9R0xxn4srgvHqtvZOSoeaqsAYra5Khhjb7OZVEjURY1e1GLFE0Po0YpRg0PcXY/amKiT3TdmrEZaUI+tRqXqC2IdVb2G95vv/1yE8poMtlQUTsf6mtWXp/YDp06dco1TZWiuXnkw2jWWSlq5CtrbKPGPco6o6NSV27rqJ2KbR01xvH8cpPEqBmO/XD88cf/qD/mzG7rGRU1r5VlDNFcuLx/ojb766+/zjVp8bmLmq+yv//977lmP2p96pqRckc//ErxGYzXKu/TcjP+aBlQqb7Xm9q+jtqoGIirLI6N2PdRExm15pV222233I2isjxhRvd11E5GbWe0BIja3OjGEE1mozYt9nHUhkVZ4jNQvsRncd11180tL+qKY7dSbO/YruWuF/Vt76ipjpro+L6ofJ3YDjG4YH2vU9kcPvbn3/72t5r7oulzlD22TVnUSkbtbUznV/ka5eb05dcof+fUPdamNxBgfd9pUYbKSzRHbg7T+8xOTWyzqAmNPs+V2yyaM8exVd5mjf1dEANIxqwOUYtcWfsc32NRlsq/C7P6HqMFU7QWWWONNXLroaiRj/cXffIrm7I39LhsiCKPmXJNdry36TW3BxqP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T+1Ro0alhRdeOM9IMjVCd0o5cBs9FgAAgIb69NNP06KLLjrVx4XulHINd3ljzTXXXM1dHAAAAFq4kSNH5srbcp6cGqE7hnD/vyblEbiFbgAAAGbU9LooG0gNAAAACiJ0AwAAQEGEbgAAACiIPt0AANCCTZ48OU2cOLG5iwHtzmyzzZY6deo0y+sRugEAoIXOATx8+PD03XffNXdRoN3q0aNH6tWr13QHS5sWoRsAAFqgcuBecMEFU1VV1Sz96AcaftJr7Nix6csvv8y3F1pooTSzhG4AAGiBTcrLgXu++eZr7uJAuzTHHHPk6wjecSzObFNzA6kBAEALU+7DHTXcQPMpH4OzMq6C0A0AAC2UJuXQ+o9BoRsAAAAKok83AAC0IkOHDk0jRoxostebf/750+KLL174oHF77bVXevbZZ/M0TUWN2H7DDTekI444ollHhI8Bug444IB05513pm+//Ta9+uqrafXVV0/twQ0zsP1PPfXUdM8996TXXnst395nn33y8nFfayV0AwBAKwrcvXv3SePGjW2y1+zatSoNGVI9w8F7ZkLSxRdfnD7//PMctOaee+7UGJZccskc8OJStttuu6XtttsuNaeHHnooh88nn3wyLb300vmkRnM6/vjj8776z3/+U3Nf/L9Pnz6pf//+uaxl8f84YRD7tzzIWNH+8Ic/5BMVrZnQDQAArUTUcEfg7tPn5lRV1afw1xs7tjpVV++ZX7fI2u4PPvggrbXWWmm55ZZLRYqg2FRhcVrvNaaf+ulPfzrVZSZMmJBmn332JinPZpttls4777zc2iDmow5PPPFEWmyxxfKJgUpx/3rrrdek23DuRjoJ05z06QYAgFYmAnf37msWfmmMYL/pppumww47LB133HFp3nnnzcEumhBX1kj//e9/TzfddFMetCpqykPUpv7mN79JCyywQJprrrnS5ptvnl5//fVa6/7nP/+ZfvKTn6SuXbvmGuOdd9655jU/+eSTdOSRR+Z1lgfDipraHj161FrHVVddlZZZZpkccnv37p3+8pe/1Ho8nvvnP/85rztGso4TA/fee2/N49FEfI899sjljDAaj19//fX1bot4b4ceemhusRDrjfdeLu8hhxySa+XjffTt2zff/9RTT6V11lkndenSJQf1qJWeNGlSrW0b64vnzTPPPKlnz57pmmuuSWPGjEn77rtv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WuRTTjkln5iIkxpR9thfZVHTHH3Aoy98DJ7Wr1+/3Ec+AvrMiubuMeBeTDcXJwkiwJ9//vlphx12yAPBhWgtEIE8RlqP5WO52NZFnMwIHUr1fframZEjR+aRBL///vt8sAIALSNw9+7dJ40bV/80N7R9XbtWpSFDqttl8I4AEn1OIwSWg0JzHRfteT/QNjzzzDN5cLj3338/n4RpjGOxITlSTTcA0CJFDXcEiz59bk5VVbPeVJPWJWpYq6v3zJ8DYe//F9siAnBTtgDR4oDW5u67784DusW0YBG0oxVDNF9vaOBuLEI3ANCiReDu3v3/718I7V0EYCEYpi76cUff/mgZEieNoml79D1vLkI3AAAAbcbee++dLy2FKcMAAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQUwZBgAArUjMPTxixIgme72Y57gtzgu+6aabptVXXz1dcsklqa3YZ5990nfffZfuueeeGX7fSy65ZDriiCPyhWII3QAA0IoCd5/evdPYceOa7DWrunZN1UOGzFDw7tChwzQfP+WUU9Kpp56aWoMoZ4TX1157bZbWs9566+WQe/XVV9fcF/8/8MAD0/XXX5+Dcln8/4MPPkj/+te/UlN56aWXUrdu3Zrs9dojoRsAAFqJqOGOwH1znz6pT1VV4a9XPXZs2rO6Or/ujITuzz//vOb/f/vb39LJJ5+chgwZUnPfnHPOWfP/UqmUJk+enDp3btuRZLPNNkt33313rfueeOKJtNhii6Unn3yyVuiO2/3792/S8i2wwAJN+nrtkT7dAADQykTgXrN798IvDQ32vXr1qrnMPffcuea7fPs///lP6t69e3rwwQfTWmutlbp06ZL+/e9/55rdHXfcMfXs2TOH8p/85Cfp0UcfrbXe8ePHp9/97nc5qMbzll122XTttdfWPP7WW2+lbbfdNj8/1rPXXnvVaoI/ZsyYtPfee+fHF1pooXThhRdO833ccMMN6bTTTkuvv/56fg9xifvKrQ2ivLGuueaaK/3iF79IX3zxxTRDd5x4GD58eM19Tz31VDr++ONzyC776KOP0ieffJKXD59++mled48ePdK8886bX/Pjjz+uWT5OWBx11FH58fnmmy8dd9xx+URGpRl539G8vLKJfbzXP//5z2nnnXdOVVVVabnllkv33ntvrefE7bi/a9euubw33nhjfl40bQ/xPnbYYYc0zzzz5Fr0lVZaKT3wwAOpvRK6AQCAJhNh89xzz03V1dVp1VVXTaNHj07bbbddeuyxx9Krr76attlmmxzYItyWRXC89dZb06WXXpqf98c//rGm1jyC3uabb57WWGON9PLLL6eHHnooh+AIrGXHHntsDrr/+Mc/0iOPPJLD7iuvvDLVMu62227p6KOPzmExau/jEvdNmTIlh99vvvkmr2/QoEHpww8/zI9NzQYbbJBmm222XLsd3nnnnfTDDz+kAQMGpK+//jqH7RCPR4hdf/3108SJE1Pfvn3zSYpoav7MM8/k9xvbZsKECXn5CNBxIuC6667LJy+iTHVr1Bv6vsvihENsvzfeeCPvmz322COvP0R5d91117TTTjvlkxIHHHBAOvHEE2s9/+CDD84nSp5++un05ptvpvPOO69WK4f2pm235QAAAFqU008/PW211VY1t6MWd7XVVqu5fcYZZ+TwGLWphxxySHr33XfT7bffngPulltumZdZeumla5a//PLLc+A+++yza+6LIBq14vHchRdeONeK33zzzWmLLbbIj0fN7KKLLjrVMs4xxxw5JEbT96ilL4syRIiM4BnrDzfddFMO59E3Omrp64qa3nXWWScH3l/96lf5esMNN8w19j/96U/z7aWWWipfR+CO+6OsEfCjxrncTz76f0etdiy39dZb59rpE044Ie2yyy41/cQffvjhmteNkxkNfd9l0eQ9yhpiu8bJjhdffDGH/jjh0bt373T++efnx+P/0dLgrLPOqnl+nDDp169fWmWVVX60v9ojNd0AAECTWXvttWvdjnB4zDHHpD59+uRQGWE3arPLNd0xkFmnTp3SJptsUu/6orY1aonjeeXLCiuskB+Lputxidrhddddt1bQj7DYUFGuCNvlwB1WXHHFXO54bFojhpebksd13A7xnirvLzctj/f0/vvv55ru8nuKMo8bNy6/n++//z7Xvle+pzhBULltZ+V9RwuEypMG0Yz+yy+/zLejqXzdkwtxUqHSYYcdls4888xcy3/KKafkGvP2TOgGAACaTN2RsiNwR8121KhGU+oI2VFDWm5GHbXO0xKhPZqjx/MqL++9917aeOONU0sQYTpq3f/73//mcF0+gVAO3RGQow93NJMvv6fo9173PcU6dt9998LLG83hK0Vte9S8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NGDAgLTrrrumrl27Nn7JAEjtPXD37t0njRvXMoPXO9XVaVJzF6KdmFIqpU7NXQgAaMrQ/corr6Trr78+HXXUUemQQw5Ju+22Ww7g66yzzsyWAwBqiRruCNx9+tycqqr6pJZi7NjqVF29Z+o2R5/UvVNVcxenTZs46Zs0btxHqVQqNXdRAKBpQ/fqq6+e/vCHP6QLL7ww3XvvvemGG25IG264YVp++eXTr3/967TXXnulBRZYYOZLBQD/JwJ39+5rppamY6eq1Klz9+YuRps2eUrLbOUAAE02kFrnzp3TLrvsku6444503nnnpffffz8dc8wxabHFFkt77713+vzzz2dl9QAAANB+Q/fLL7+cDjrooLTQQguliy66KAfuDz74IA0aNCgNGzYs7bjjjo1XUgAAAGgPzcsjYEef7iFDhqTtttsu3XTTTfm6Y8f/zfBLLbVUbnK+5JJLNnZ5AQAAoG3XdF911VVp9913T5988km655570s9+9rOawF224IILpmuvvXa661l11VXTXHPNlS/rr79+evDBB2seHzduXDr44IPTfPPNl+acc87Ur1+/9MUXX/xodNvtt98+VVVV5dc89thj06RJxpMFAACgldZ0v/fee9NdZvbZZ0/9+/ef5jKLLrpoOvfcc9Nyyy2XRya98cYbc5P0V199Na200krpyCOPTPfff3/uMz733HPnkdKjD/kzzzyTnz958uQcuHv16pWeffbZ3Ic8+pLPNtts6eyzz56ZtwYAAADNW9MdTcsjCNcV90VwnlE77LBDbpYeoTtGPj/rrLNyjfbzzz+fvv/++1xTHk3ZN99887TWWmvl141wHY+HRx55JL3zzjvp5ptvziOqb7vttumMM85IV1xxRZowYcLMvDUAAABo3tB9zjnnpPnnn/9H90fz7pmtYY5a69tuuy2NGTMmNzMfPHhwmjhxYtpyyy1rlllhhRXS4osvnp577rl8O65XWWWV1LNnz5pl+vbtm0aOHJnefvvtmSoHAAAANGvz8uhHHYOl1bXEEkvkxxrizTffzCE7+m9HLffdd9+dVlxxxfTaa6/lJuo9evSotXwE7OHDh+f/x3Vl4C4/Xn5sasaPH58vZRHSAQAAoEXUdEeN9htvvPGj+19//fU86FlD9O7dOwfsF154IR144IG5H3g0GS9S1NRHH/HyJeYVBwAAgBYRun/1q1+lww47LD3xxBO5WXhcHn/88XT44YenX/7ylw1aV9RmL7vssrnPdoTh1VZbLf3hD3/Ig6NFv+zvvvuu1vIxenk8FuK67mjm5dvlZepzwgkn5D7j5cunn37aoDIDAABAYaE7Bitbd9110xZbbJHmmGOOfNl6663zgGezOmr4lClTctPvCOExCvljjz1W81jMCx7N16M5eojraJ7+5Zdf1iwzaNCgPP1YNFGfmi5dutRMU1a+AAAAQIvo0x2103/7299y+I4m5RG6Y0Cz6NPdEFHjHCOOx+Boo0aNSn/961/Tk08+mR5++OHc7HvAgAHpqKOOSvPOO28OxoceemgO2uutt15+fgT9CNd77bVXGjhwYO7HfdJJJ+W5vSNYAwAAQKsL3WUxzVdcZlbUUMe82jG/doTsVVddNQfurbbaKj9+8cUXp44dO6Z+/frl2u8YmfzKK6+seX6nTp3Sfffdl/uCRxjv1q1b7hN++umnz8rbAgAAgOYL3dGH+4YbbshNvyM4R5PwStG/e0bEPNzT0rVr1zzndlymJmrXH3jggRksOQAAALTw0B0DpkXo3n777dPKK6+cOnTo0PglAwAAgPYYum+77bZ0++23p+22267xSwQAAADtefTy8jRfAAAAQCOH7qOPPjrPpV0qlWbm6QAAANAuzFTz8n//+9/piSeeSA8++GBaaaWV8nzale66667GKh8AAAC0r9Ddo0ePtPPOOzd+aQAAAKC9h+7rr7++8UsCAAAAbcxM9ekOkyZNSo8++mj64x//mEaNGpXvGzZsWBo9enRjlg8AAADaV033J598krbZZps0dOjQNH78+LTVVlul7t27p/POOy/fvvrqqxu/pAAAANAearoPP/zwtPbaa6dvv/02zTHHHDX3Rz/vxx57rDHLBwAAAO2rpvtf//pXevbZZ/N83ZWWXHLJ9N///rexygYAAADtr6Z7ypQpafLkyT+6/7PPPsvNzAEAAICZDN1bb711uuSSS2pud+jQIQ+gdsopp6TtttuuMcsHAAAA7at5+YUXXpj69u2bVlxxxTRu3Li0++67p/feey/NP//86dZbb238UgIAAEB7Cd2LLrpoev3119Ntt92W3njjjVzLPWDAgLTHHnvUGlgNAAAA2rPOM/3Ezp3Tnnvu2bilAQAAgPYeum+66aZpPr733nvPbHkAAACgfYfumKe70sSJE9PYsWPzFGJVVVVCNwAAAMzs6OXffvttrUv06R4yZEjacMMNDaQGAAAAsxK667Pccsulc88990e14AAAANBeNVroLg+uNmzYsMZcJQAAALSvPt333ntvrdulUil9/vnn6fLLL08bbLBBY5UNAAAA2l/o3mmnnWrd7tChQ1pggQXS5ptvni688MLGKhsAAAC0v9A9ZcqUxi8JAAAAtDGN2qcbAAAAmMWa7qOOOmqGl73oootm5iUAAACgfYbuV199NV8mTpyYevfune979913U6dOndKaa65Zq683AAAAtFczFbp32GGH1L1793TjjTemeeaZJ9/37bffpn333TdttNFG6eijj27scgIAAED76NMdI5Sfc845NYE7xP/PPPNMo5cDAADArITukSNHpq+++upH98d9o0aNmplVAgAAQJszU6F75513zk3J77rrrvTZZ5/ly9///vc0YMCAtMsuuzR+KQEAAKC99Om++uqr0zHHHJN23333PJhaXlHnzjl0n3/++Y1dRgAAAGg/obuqqipdeeWVOWB/8MEH+b5lllkmdevWrbHLBwAAAO2reXnZ559/ni/LLbdcDtylUqnxSgYAAADtMXR//fXXaYsttkjLL7982m677XLwDtG83HRhAAAAMAuh+8gjj0yzzTZbGjp0aG5qXrbbbrulhx56aGZWCQAAAG3OTPXpfuSRR9LDDz+cFl100Vr3RzPzTz75pLHKBgAAAO2vpnvMmDG1arjLvvnmm9SlS5fGKBcAAAC0z9C90UYbpZtuuqnmdocOHdKUKVPSwIED02abbdaY5QMAAID21bw8wnUMpPbyyy+nCRMmpOOOOy69/fbbuab7mWeeafxSAgAAQHup6V555ZXTu+++mzbccMO044475ubmu+yyS3r11VfzfN0AAADATNR0T5w4MW2zzTbp6quvTieeeGIxpQIAAID2WNMdU4W98cYbxZQGAAAA2nvz8j333DNde+21jV8aAAAAaO8DqU2aNCldd9116dFHH01rrbVW6tatW63HL7roosYqHwAAALSP0P3hhx+mJZdcMr311ltpzTXXzPfFgGqVYvowAAAAoIGhe7nllkuff/55euKJJ/Lt3XbbLV166aWpZ8+eRZUPAAAA2kef7lKpVOv2gw8+mKcLAwAAABppILWphXAAAABgJkN39Neu22dbH24AAABohD7dUbO9zz77pC5duuTb48aNS7/97W9/NHr5XXfd1ZDVAgAAQJvUoNDdv3//H83XDQAAADRC6L7++usbsjgAAAC0a7M0kBoAAAAwdUI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAANAWQ/c555yTfvKTn6Tu3bunBRdcMO20005pyJAhtZYZN25cOvjgg9N8882X5pxzztSvX7/0xRdf1Fpm6NChafvtt09VVVV5Pccee2yaNGlSE78bAAAAaEGh+6mnnsqB+vnnn0+DBg1KEydOTFtvvXUaM2ZMzTJHHnlk+uc//5nuuOOOvPywYcPSLrvsUvP45MmTc+CeMGFCevbZZ9ONN96YbrjhhnTyySc307sCAACA/9U5NaOHHnqo1u0Iy1FTPXjw4LTxxhun77//Pl177bXpr3/9a9p8883zMtdff33q06dPDurrrbdeeuSRR9I777yTHn300dSzZ8+0+uqrpzPOOCP97ne/S6eeemqaffbZm+ndAQAA0N61qD7dEbLDvPPOm68jfEft95ZbblmzzAorrJAWX3zx9Nxzz+Xbcb3KKqvkwF3Wt2/fNHLkyPT222/X+zrjx4/Pj1deAAAAoM2G7ilTpqQjjjgibbDBBmnllVfO9w0fPjzXVPfo0aPWshGw47HyMpWBu/x4+bGp9SWfe+65ay6LLbZYQe8KAACA9qzFhO7o2/3WW2+l2267rfDXOuGEE3Ktevny6aefFv6aAAAAtD/N2qe77JBDDkn33Xdfevrpp9Oiiy5ac3+vXr3yAGnfffddrdruGL08Hisv8+KLL9ZaX3l08/IydXXp0iVfAAAAoM3WdJdKpRy477777vT444+npZZaqtbja621VpptttnSY489VnNfTCkWU4Stv/76+XZcv/nmm+nLL7+sWSZGQp9rrrnSiiuu2ITvBgAAAFpQTXc0KY+Ryf/xj3/kubrLfbCjn/Ucc8yRrwcMGJCOOuqoPLhaBOlDDz00B+0YuTzEFGMRrvfaa680cODAvI6TTjopr1ttNgAAAO02dF911VX5etNNN611f0wLts8+++T/X3zxxaljx46pX79+edTxGJn8yiuvrFm2U6dOuWn6gQcemMN4t27dUv/+/dPpp5/exO8GAAAAWlDojubl09O1a9d0xRVX5MvULLHEEumBBx5o5NIBAABAGxm9HAAAANoaoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABSkc1ErBgCAWTVm7NhGW0d1dXUjlIimMv/886fFF1+8uYsBs0zoBgCgxZlSmtBoQfnd/7vec889Z3ldNJ2uXavSkCHVgjetntANAECLUypNytddu/ZOs3Wec5bW1W3y2JR+qE59+tycqqr6NFIJKdLYsdWpunrPNGLECKGbVk/oBgCgxerYsSp16tx91tbRaKWhqc1ISwfN0GnphG4AANq0EVMm5OAdNae0LjPSJaCqa9dUPWSI4E2LJXQDANCmjSpNSlNSSqd3WTItM9t8zV0cZsCUyWPTmB+q04p9+qRuVVVTXa567Ni0Z3W1Zui0aEI3AADtwlId50h9ZrGpOk1jcpwsSSmtXlWVune3z2jddHEBAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAADQFkP3008/nXbYYYe08MILpw4dOqR77rmn1uOlUimdfPLJaaGFFkpzzDFH2nLLLdN7771Xa5lvvvkm7bHHHmmuueZKPXr0SAMGDEijR49u4ncCAAAALSx0jxkzJq222mrpiiuuqPfxgQMHpksvvTRdffXV6YUXXkjdunVLffv2TePGjatZJgL322+/nQYNGpTuu+++HOT333//JnwXAAAAUL/OqRltu+22+VKfqOW+5JJL0kknnZR23HHHfN9NN92UevbsmWvEf/nLX6bq6ur00EMPpZdeeimtvfbaeZnLLrssbbfddumCCy7INegAAADQXFpsn+6PPvooDR8+PDcpL5t77rnTuuuum5577rl8O66jSXk5cIdYvmPHjrlmfGrGjx+fRo4cWesCAAAA7SZ0R+AOUbNdKW6XH4vrBRdcsNbjnTt3TvPOO2/NMvU555xzcoAvXxZbbLFC3gMAAADtW4sN3UU64YQT0vfff19z+fTTT5u7SAAAALRBLTZ09+rVK19/8cUXte6P2+XH4vrLL7+s9fikSZPyiOblZerTpUuXPNp55QUAAADaTeheaqmlcnB+7LHHau6LvtfRV3v99dfPt+P6u+++S4MHD65Z5vHHH09TpkzJfb8BAACg3Y5eHvNpv//++7UGT3vttddyn+zFF188HXHEEenMM89Myy23XA7hv//97/OI5DvttFNevk+fPmmbbbZJ++23X55WbOLEiemQQw7JI5sbuRwAAIB2HbpffvnltNlmm9XcPuqoo/J1//790w033JCOO+64PJd3zLsdNdobbrhhniKsa9euNc+55ZZbctDeYost8qjl/fr1y3N7AwAAQLsO3Ztuummej3tqOnTokE4//fR8mZqoFf/rX/9aUAkBAACgDfbpBgAAgNZO6AYAAICCCN0AAADQFvt00zBDhw5NI0aMaO5iUID5558/j9gPAAC0LUJ3KwrcfXr3TmPHjWvuolCAqq5dU/WQIYI3AAC0MUJ3KxE13BG4b+7TJ/Wpqmru4tCIqseOTXtWV+d9LHQDAEDbInS3MhG41+zevbmLAQAAwAwwkBoAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACtK5qBUDkNLQoUPTiBEjmrsYrVJ1dXW+Hjv2f69bipZWHgCgZRO6AQoM3H16905jx41r7qK0atXVe6aWqFSa0NxFAABaAaEboCBRwx2B++Y+fVKfqqrmLk6rM2bs2PROdXXqNkef1LFTy9l+z0z6Ol057uNUmjKpuYsCALQCQjdAwSJwr9m9e3MXo9UZlVKKWNu9U1Xq1LnlbL+PJo9t7iIAAK2IgdQAAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKYvRyoMXPdR1Tb7VG1dXVNVNfxUjcNExsNwCA1k7oBlp04O7du08aN651h6+Ya9qMzjNvSqmUOjV3IQAAZpLQDbRYUcMdgbtPn5tTVVWf1NqMHVudqqv3TN3m6JPnmqZhJk76Jo0b91EqlUrNXRQAgJkmdAMtXgTu7t3XTK1Vx05VqVPn7s1djFZn8pTW3cIBACAYSA0AAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIJ0LmrFAAAAs2LM2LEz9PgDDzyQqqurm6hUNIWll146rb/++qktaDOh+4orrkjnn39+Gj58eFpttdXSZZddltZZZ53mLhYAANBAU0oT8vX0gvTz/9d09/e//30TlYym0jGl9O9nn20TwbtNhO6//e1v6aijjkpXX311WnfdddMll1yS+vbtm4YMGZIWXHDB5i4eAADQAKXSpHzdtWvvNFvnOae63OSJX6cp4z9Op86+cFqm09xNWEKK9MHk79OpE4alDz/8UOhuKS666KK03377pX333TffjvB9//33p+uuuy4df/zxzV08AABgJnTsWJU6de4+1cc7TP7f5uURuFfq0rMJS0ahxsc/w1Jb0epD94QJE9LgwYPTCSecUHNfx44d05Zbbpmee+65Zi0bNIR+SFPfJmPHts5t01rLDQBA42n1oXvEiBFp8uTJqWfP2me24vZ//vOfep8zfvz4fCn7/vvv8/XIkSNTSzV69Oh8PXjUqDR68uTmLg6N6LmRI1OHlNKee+7Z3EVpsaqrW/e2eWvC52nMpFHNXYxWZ9LkkflEd5eJI1LnKWNSS/HhpP/9m/H2pG/TDyXfx23pM2Dftt39b9+23f1v37ZNH07+31w2duzYFp3RymUrlUrTXK5DaXpLtHDDhg1LiyyySHq2Tif74447Lj311FPphRde+NFzTj311HTaaac1cUkBAABoaz799NO06KKLtt2a7vnnnz916tQpffHFF7Xuj9u9evWq9znRFD0GXiubMmVK+uabb9J8882XOnSIOseWeRZlscUWyzt0rrnmau7i0Ijs27bLvm2b7Ne2y75tu+zbtsu+bZtGtpL9GvXXo0aNSgsvvPA0l2v1oXv22WdPa621VnrsscfSTjvtVBOi4/YhhxxS73O6dOmSL5V69OiRWoP40LXkDx4zz75tu+zbtsl+bbvs27bLvm277Nu2aa5WsF/nnnv6o+a3+tAdota6f//+ae21185zc8eUYWPGjKkZzRwAAACaQ5sI3bvttlv66quv0sknn5yGDx+eVl999fTQQw/9aHA1AAAAaEptInSHaEo+tebkbUE0hz/llFN+1Cye1s++bbvs27bJfm277Nu2y75tu+zbtqlLG9uvrX70cgAAAGipOjZ3AQAAAKCtEroBAACgIEI3AAAAFETobkZXXHFFWnLJJVPXrl3Tuuuum1588cVpLn/HHXekFVZYIS+/yiqrpAceeKDW49E9P0ZwX2ihhdIcc8yRttxyy/Tee+8V/C5oin27zz77pA4dOtS6bLPNNgW/C2Zlv7799tupX79+efnYXzGV4ayuk9azb0899dQfHbNxjNOy9+0111yTNtpoozTPPPPkS/wdrbu8v7Vtd9/6W9v69utdd92Vpwzu0aNH6tatW57B6C9/+UutZRyzbXff7tOajtkYSI2md9ttt5Vmn3320nXXXVd6++23S/vtt1+pR48epS+++KLe5Z955plSp06dSgMHDiy98847pZNOOqk022yzld58882aZc4999zS3HPPXbrnnntKr7/+eul//ud/SksttVTphx9+aMJ3RhH7tn///qVtttmm9Pnnn9dcvvnmmyZ8VzR0v7744oulY445pnTrrbeWevXqVbr44otneZ20nn17yimnlFZaaaVax+xXX33VBO+GWdm3u+++e+mKK64ovfrqq6Xq6urSPvvsk/+ufvbZZzXL+Fvbdvetv7Wtb78+8cQTpbvuuiv/fnr//fdLl1xySf5N9dBDD9Us45htu/u2fys6ZoXuZrLOOuuUDj744JrbkydPLi288MKlc845p97lf/GLX5S23377Wvetu+66pQMOOCD/f8qUKfnH3/nnn1/z+HfffVfq0qVL/mFI69235S+VHXfcscBS09j7tdISSyxRbzCblXXSsvdthO7VVlut0ctKw8zqMTZp0qRS9+7dSzfeeGO+7W9t2923wd/a5tcYfxfXWGONXIERHLNtd9+2tmNW8/JmMGHChDR48ODcvKWsY8eO+fZzzz1X73Pi/srlQ9++fWuW/+ijj9Lw4cNrLTP33HPnphtTWyetY9+WPfnkk2nBBRdMvXv3TgceeGD6+uuvC3oXNMZ+bY510rL2QzRfXHjhhdPSSy+d9thjjzR06NBGKDFNuW/Hjh2bJk6cmOadd95829/atrtvy/ytbb37NSoTH3vssTRkyJC08cYb5/scs21337a2Y1bobgYjRoxIkydPTj179qx1f9yOL4b6xP3TWr583ZB10jr2bYj+KTfddFP+wjnvvPPSU089lbbddtv8WrTM/doc66Tl7If4QXfDDTekhx56KF111VX5h1/0Jx01alQjlJqm2re/+93v8omT8g9Ff2vb7r4N/ta2zv36/fffpznnnDPNPvvsafvtt0+XXXZZ2mqrrfJjjtm2u29b2zHbubkLAEzfL3/5y5r/x0Brq666alpmmWXy2b0tttiiWcsG/Fj80S+L4zVC+BJLLJFuv/32NGDAgGYtGzPm3HPPTbfddlv+no1Bf2j7+9bf2tape/fu6bXXXkujR4/O4euoo47KLYw23XTT5i4aBe/bX7aiY1ZNdzOYf/75U6dOndIXX3xR6/643atXr3qfE/dPa/nydUPWSevYt/WJL5x4rffff7+RSk5j79fmWCctdz/E6KvLL7+8Y7aV7NsLLrggB7NHHnkk/4gr87e27e7b+vhb2zr2azRTXnbZZfPo1kcffXTadddd0znnnJMfc8y23X3b2o5ZobsZRBOJtdZaK5+xKZsyZUq+vf7669f7nLi/cvkwaNCgmuWXWmqp/KGtXGbkyJHphRdemOo6aR37tj6fffZZ7rMS01/QMvdrc6yTlrsf4iz9Bx984JhtBft24MCB6YwzzshdA2K6mkr+1rbdfVsff2tb5/dxPGf8+PH5/47ZtrtvW90x29wjubXnYfNj5MQbbrghD4W///7752Hzhw8fnh/fa6+9Sscff3ytaaU6d+5cuuCCC/JUFzEybn1ThsU6/vGPf5TeeOONPJqfKRFa/74dNWpUnp7oueeeK3300UelRx99tLTmmmuWlltuudK4ceOa7X22Nw3dr+PHj89T08RloYUWyvsw/v/ee+/N8Dppvfv26KOPLj355JP5mI1jfMsttyzNP//8pS+//LJZ3mN71dB9G39HY0qbO++8s9YUNPE9XLmMv7Vtb9/6W9s69+vZZ59deuSRR0offPBBXj5+S8VvqmuuuaZmGcds29y3o1rZMSt0N6PLLrustPjii+c/AjGM/vPPP1/z2CabbJKHwa90++23l5Zffvm8fMz/ev/999d6PKZF+P3vf1/q2bNn/lBvscUWpSFDhjTZ+6GYfTt27NjS1ltvXVpggQVyGI8pimJuQ8GsZe/X+AMQ5zXrXmK5GV0nrXff7rbbbjmQx/oWWWSRfDvmGaVl79v4fq1v38bJ0DJ/a9vmvvW3tnXu1xNPPLG07LLLlrp27VqaZ555Suuvv34Od5Ucs21z345tZcdsh/inuWvbAQAAoC3SpxsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwDagQ4dOqR77rmnuYuRhg8fnrbaaqvUrVu31KNHj+YuDgAUTugGgKnYZ599cliNy+yzz56WXXbZdPrpp6dJkyallurUU09Nq6+++o/u//zzz9O2226bmtvFF1+cy/Laa6+ld999t7mLAwCF61z8SwBA67XNNtuk66+/Po0fPz498MAD6eCDD06zzTZbOuGEE3607IQJE3I4bw6lUilNnjx5qo/36tUrtQQffPBBWmuttdJyyy3X3EUBgCahphsApqFLly45sC6xxBLpwAMPTFtuuWW69957a2rCd9ppp3TWWWelhRdeOPXu3Tvf/+abb6bNN988zTHHHGm++eZL+++/fxo9enTNOsvPO+2009ICCyyQ5pprrvTb3/42h/ayCPmHHXZYWnDBBVPXrl3ThhtumF566aWax5988slcA//ggw/mEBvlvPnmm/M6X3/99Zoa+htuuKHe5uUzWsYLLrggLbTQQnmZOOEwceLEaW6vq666Ki2zzDL55ENsj7/85S81jy255JLp73//e7rppptyeeI1pua6665LK620Un5f8fqHHHJIzWMXXXRRWmWVVXIT9cUWWywddNBBtcr+ySefpB122CHNM888eZlYT5wwKXvrrbdyrf+cc86Zevbsmfbaa680YsSImsfvvPPOvP7ytol9PmbMmGm+bwCYGqEbABogglhlOH7sscfSkCFD0qBBg9J9992Xw1nfvn1z4IuQfMcdd6RHH320VmgsP6+6ujqH51tvvTXdddddOTCXHXfccTmg3njjjemVV17JTdtjvd98802t9Rx//PHp3HPPzeuKvtJHH310DpnRhDsuu+2224/ew4yW8Yknnsg103Ed5YgAXw7x9bn77rvT4YcfnssQwfaAAw5I++67b35+iNeKlgO/+MUvctn+8Ic/TDW4R8CPEwFxciBOcsT7L+vYsWO69NJL09tvv53L9fjjj+ftVRbPjZMWTz/9dH7+eeedlwN2+O677/LJhjXWWCO9/PLL6aGHHkpffPFFLlOIcv3qV79Kv/71r2v2zy677JJbEgDATCkBAPXq379/accdd8z/nzJlSmnQoEGlLl26lI455piax3v27FkaP358zXP+9Kc/leaZZ57S6NGja+67//77Sx07diwNHz685nnzzjtvacyYMTXLXHXVVaU555yzNHny5Pzc2WabrXTLLbfUPD5hwoTSwgsvXBo4cGC+/cQTT0QKLN1zzz21ynzKKaeUVltttR+9l1j27rvvblAZl1hiidKkSZNqlvn5z39e2m233aa6vX7605+W9ttvv1r3xXO22267mtuxPWPd0xLv88QTTyzNqDvuuKM033zz1dxeZZVVSqeeemq9y55xxhmlrbfeutZ9n376ad4+Q4YMKQ0ePDj//+OPP57h1weAaVHTDQDTELXXUUsaTbyjSXLUHMdgZWXRDLmyH3fUjq622mq5WXPZBhtskKZMmZJrxMtimaqqqprb66+/fm4i/emnn+ba5WjGHc8ri37k66yzTl5/pbXXXrvB72lGyxg15p06daq5Hc28v/zyy2mut7LM5fXWLfO0xPqHDRuWtthii6kuE7Xy8fgiiyySunfvnpuHf/3112ns2LH58WiWf+aZZ+bXPuWUU9Ibb7xR89xoeh8177FPy5cVVlghPxbbPbZLrDv2689//vN0zTXXpG+//XaGyw8AdQndADANm222WR5p+7333ks//PBDbs5cGVYr/98cinz9CPqVoh92BPOim+9Py8cff5x+9rOfpVVXXTU3vx88eHC64oor8mPlZv+/+c1v0ocffpjDeDQvjxMTl112WX4sTmxEf+/Yp5WX2L8bb7xxPskQXQWir/yKK66Ynxd90z/66KNC3zcAbZfQDQDTCbXRn3jxxRdPnTtPf9KPPn365NrUyoG3nnnmmdwPuTzQWohlIsSXPf/887nWNQYGKw9EFs8ri5rv6BMdQXBa4nnTGsW8IWVsqFhvZZnL651emStFzXUMuBZ93usTITuC/4UXXpjWW2+9tPzyy+ea8bpiO8bgdNFXPvqYR411WHPNNXNf8HiN2K+Vl/IJjDi5ELXk0cf+1Vdfzds0+qsDwMwQugGgEe2xxx65KXr//v3zYGLRlPnQQw/Nta4xUnZZ1MoOGDAgvfPOO3lk7WgGHQOZRfCN8BcjpR977LF5oK9YZr/99svNp+M50xJhMmplo/Y2RuSOAcVmtowNFeWNgdZiILSoOY5RxiP0HnPMMQ1aTzTfj1Adg6XFemIguXJNdYTjOAERt6M2O0ZHv/rqq2s9/4gjjkgPP/xw3g7x3Hh/cUKgPMhaDEYXg6XFSYxoUh7LxoBvcbLihRdeSGeffXYeZG3o0KG5/F999VXN8wGgoYRuAGhE0U87QlwEu5/85Cdp1113zX2EL7/88lrLxX0xV3U0aY5+4v/zP/9Tq694jEjer1+/HISjdvb999/P640Rx6clnhMjhEez+JiOLEZGn9kyNlRMMRYjksc0Y9Ef/I9//GOe43zTTTdt0HriZMAll1ySrrzyyryeaE4e4TtEn+sI8zEi+corr5xuueWWdM4559R6foTnCNcRlGNbRG14rCvE1G5R+x7LbL311rnvdoT0Hj165BMeMX1bjHq+3Xbb5eeddNJJ+QRA9OcHgJnRIUZTm6lnAgAzJeanjqmrKufNBgDaJjXdAAAAUBChGwAAAAqieTkAAAAURE03AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAACkYvx/QF04kreZyE4AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAWB1JREFUeJzt3QfcnfP9P/5PZAohBCH2iBV7FqkVW9VqqxrEKGoralQrdoxSq2bNUtSsDtSITRF7xSaa2CSE7PN/vD/f/7l/575zJ7nv5L7uc4/n8/E43Oec61znc62T63V9xtWhVCqVEgAAANDkZmv6WQIAAABB6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBpgFf/nLX9Lyyy+fOnfunHr27Fnt4jCTOnTokE488cRqF4M69txzz7TEEku0+n2imstRn0mTJqWjjz46Lbroomm22WZLO+ywQ7N99/vvv5/X7TXXXNNs3wlQbUI3UK84IYoTo2effTa1dv/+978LCVRvvPFGPpleeuml0xVXXJEuv/zyGX7mhRdeSLvttls+2e3atWuad95502abbZauvvrqNHny5FSUJ554Iq+Dr7/+OhXpr3/9azrvvPNmOF2UJfavGT023njjQsvbXjz00EO11mtcJFpqqaXSHnvskd59991qF6/VKgfI+h4/+MEPCt+et95660x9/qqrrkpnn312+slPfpKuvfba9Otf/7pqvwXN7R//+EfaaKON0gILLJC6d++ej4Of/exn6Z577ql20YA2rFO1CwDQHKH7T3/6U5MH7zjxnTJlSjr//PPTMsssM8Pp//znP6df/epXqXfv3mn33XdPffv2Td9880164IEH0j777JNGjRqVfvvb36aiQvdJJ52ULxIUWSMfJ9qvvPJKOvzww6c73U477VRrnX377bfpgAMOSDvuuGN+ryzWVXP4/vvvU6dObf+fxEMPPTStvfbaaeLEiem5557LF4r+9a9/pZdffjn16dMntTRxMSuOsZZu1113Tdtss02t1+aff/7UUj344INp4YUXTn/84x+b/bdg8cUXz8dbXPhpbn/4wx/Sb37zmxy6jzvuuBy633777XT//fenm266KW211VbNXiagfWj7ZxgABfn000/z/xsSYp966qkcuNdbb718EaBH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oTsCt5FhAQAAqJYRI0akRRZZpG2G7qjhLi/kXHPNVe3iAAAA0E6MGTMmVwKXc2mbDN3lJuURuIVuAAAAmtuMujobSA0AAAAKInQDAABAQYRuAAAAKEir7tMNAABt3eTJk9PEiROrXQxodzp37pw6duw4y/MRugEAoIXeA/jjjz9OX3/9dbWLAu1Wz54904ILLjjDwdKmR+gGAIAWqBy4F1hggdS9e/dZOukHGn/R67vvvkuffvppfr7QQgulmSV0AwBAC2xSXg7cvXr1qnZxoF2affbZ8/8jeMexOLNNzQ2kBgAALUy5D3fUcAPVUz4GZ2VcBaEbAABaKE3KofUfg0I3AAAAFESfbgAAaEU+/PDD9Pnnnzfb980333xpscUWK3zQuN133z098cQT+TZNRY3Yfs0116TDDz+8qiPCxwBd+++/f7r11lvTV199lZ5//vm02mqrpfbgmgas/xNPPDHdeeed6YUXXsjP99xzzzx9vNZaCd0AANCKAvdyy62Qxo37rtm+s1u37mn48NcbHLxnJiT98Y9/TKNGjcpBa+65505NYYkllsgBLx5lu+yyS9pmm21SNd1zzz05fD700ENpqaWWyhc1qunYY4/N2+qNN96oeS3+XmGFFdKgQYNyWcvi77hgENu3PMhY0c4///x8oaI1E7oBAKCViBruCNwrrHB96t59hcK/77vvXk+vv75b/t4ia7vfeeedtOaaa6a+ffumIkVQbK6wOL1ljdtPrb/++tOcZsKECalLly7NUp5NNtkknXnmmbm1QdyPOgwdOjQtuuii+cJApXj9Bz/4QbOuw7mb6CJMNenTDQAArUwE7h491ij80RTBfuONN06HHnpoOvroo9O8886bg100Ia6skb7tttvSddddlwetipryELWpv/zlL9P888+f5pprrrTpppumF198sda8//GPf6S11147devWLdcY77jjjjXf+cEHH6Rf//rXeZ7lwbCiprZnz5615nHJJZekpZdeOofc5ZZbLv3lL3+p9X589s9//nOed4xkHRcG7rrrrpr3o4n4wIEDczkjjMb7V199db3rIpbtkEMOyS0WYr6x7OXyHnzwwblWPpZjyy23zK8//PDDaZ111kldu3bNQT1qpSdNmlRr3cb84nPzzDNP6t27d7riiivS2LFj01577ZV69OiRlllmmXT33XdPc/v0798/N+mvDNjx90EHHZS+/PLL9P7779d6PUJ6GD9+fDrqqKPSwgsvnOaYY4607rrrThXSY30vtthieb3F+vviiy+m+v4zzjgjlzvKus8++6Rx48ZNtc522GGHBu9P5Zr6WK7YL1ZcccV0//335/Vdbn0RFzVifcc6jWkWX3zxNGTIkFQUoRsAACjUtddem4PZf//733TWWWelk08+Od133335vWeeeSZttdVW6Wc/+1luYh7NicNPf/rTfH/kCIzDhg1La6yxRhowYEAOguFf//pXDnLRXDz6RT/wwAM5oIbbb789LbLIIvl7Yp7xqM8dd9yRDjvssHTkkUemV155JTedjrAaNbqVTjrppFy+l156KX9fhOxyOX7/+9+n1157LZfz9ddfzyF+Wk3GY9miTFG2KFMse+U6iuD/+OOPp0svvTT973//y98VFxXiYkPM98orr0ynnnrqVOs2vu/pp5/OAfyAAw7I6y5q0p977rm0xRZb5P7y331Xf5eE2C7xHZXLHOE51vUGG2xQ8/q7776bLxaUQ3eE1ieffDLddNNNeb3Ed8Z2fOutt/L7sa0jRB988MG520B8rm7Z//a3v+XAfPrpp6dnn302h+CLL7643nI2dH+Ke9xHSI+gH+9ffvnl6fjjj6/1+QsuuCBfOInvHz58eLrhhhtqLoAUQfNyAACgUKusskoaPHhw/jtqgi+66KIckjfffPNcQxw1uVFLXG7e/Nhjj+UQGaE73gt/+MMfck1lDEC23377pdNOOy39/Oc/z4G4bNVVV83/jxrQjh075trT8jzrE/OMmtQDDzwwPz/iiCPSU089lV8vh8sQ0+y666757wiIEdqifBEyI4iuvvrqaa211srvTy+8RVPpKFOUrW65Yr1EgCyLoBhNvGNdRS3t8ssvn0aOHJmOOeaYdMIJJ6TZZputZpl/97vf5b+PO+64XHMcIXzffffNr8W0EdgjGEfT8PrEst5yyy3577iAELXNsUwbbrhhDuBxISL+H7XCMY9Y5qjNj//36dMnfy5qvaO/erwe6yguMMT6Ofroo/P7yy67bB4oL6YpO++883Iwj0eIUB610nVruxuzP0X4jib8Ud7yOo59Jd4ri3LH56I2PNZt1HQXSU03AABQqAhJlaJGMwL1tETN7rfffpt69eqV5pxzzprHe++9lwNViNrTqI2dFVEzHbW5leJ5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TLryyitr3n/llVfS1ltvnT8f89l9991rNcEfO3Zs2mOPPfL7Cy20UDrnnHOmuxzXXHNNOumkk9KLL76YlyEe8Vq5tUGUN+Y111xzpZ/97Gfpk08+mW7ojgsPH3/8cc1rDz/8cDr22GNzyC5777330gcffJCnDyNGjMjz7tmzZ5p33nnzd77//vs108cFiyOOOCK/36tXr3T00UfnCxmVGrLc0by8sol9LOuf//zntOOOO6bu3bunvn37prvuuqvWZ+J5vN6tW7dc3muvvTZ/Lpq2h1iO7bbbLs0zzzy5Fr1fv37p3//+d2qvhG4AAKDZRNg844wz0uuvv55WWWWV9O2336ZtttkmPfDAA+n5559PW221VQ5sEW7LIjjeeOON6YILLsifu+yyy2pqzSPobbrppmn11VdPzz77bLrnnntyCI7AWvab3/wmB92///3v6T//+U8Ou88999w0y7jLLrukI488MofFqL2PR7w2ZcqUHH6//PLLPL/77rsvvfvuu/m9adlggw1S586dc+12eO2119L333+f9tlnn/TFF1/ksB3i/Qix6623Xpo4cWLacsst80WKaGr++OOP5+WNdTNhwoQ8fQTouBBw1VVX5YsXUaa6NeqNXe6yuOAQ6++ll17K22bgwIF5/iHK+5Of/CTtsMMO+aLE/vvvn44//vhanz/ooIPyhZJHHnkkvfzyy+nMM8+s1cqhvWnbbTkAAIAW5eSTT06bb755zfOoxV111VVrnp9yyik5PEZt6sEHH5zefPPN9Le//S0H3M022yxPs9RSS9VMf9FFF+XAffrpp9e8FkE0asXjs3369Mm14tdff30aMGBAfj9qZhdZZJFplnH22WfPITGavkctfVmUIUJkBM+Yf7juuutyOI++0VFLX1fU9K6zzjo58O666675//3798819uuvv35+vuSSS+b/R+CO16OsEfCjxrncTz76f0etdky3xRZb5Nrp4447Lu200041/cTvvffemu+NixmNXe6yaPIeZQ2xXuNix9NPP51Df1zwWG655dLZZ5+d34+/o6XBaaedVvP5uGCy8847p5VXXnmq7dUeqekGAACazVprrVXreYTDo446Kq2wwgo5VEbYjdrsck13DGTWsWPHtNFGG9U7v6htjVri+Fz5sfzyy+f3oul6PKJ2eN11160V9CMsNlaUK8J2OXCHFVdc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rPWZrl275gcAAAC0BlUL3QMGDEgvv/xyrdf22muvtPzyy6djjjlmqsANAAAArU3VQnePHj3SSiutVOu1OeaYI/Xq1Wuq1wEAAKA1qvro5QAAANBWVXX08roeeuihahcBAAAAmoyabgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAthi6L7nkkrTKKqukueaaKz/WW2+9dPfdd1ezSAAAANA2QvciiyySzjjjjDRs2LD07LPPpk033TRtv/326dVXX61msQAAAKBJdEpVtN1229V6ftppp+Xa76eeeir169evauUCAACAVh+6K02ePDndcsstaezYsbmZeX3Gjx+fH2VjxoxpxhICABAef/zxahcBaOOWWmqpaebC1qbqofvll1/OK3PcuHFpzjnnTHfccUdaccUV6512yJAh6aSTTmr2MgIAkNJnU77LfROjZWI8AIoyW0rpsSeeaBPBu+qhe7nllksvvPBCGj16dLr11lvToEGD0sMPP1xv8D7uuOPSEUccUaume9FFF23mEgMAtE9jShPSlJTSCR17pb5dFqh2cYA26p3Jo9OJE0amd999V+huCl26dEnLLLNM/nvNNddMzzzzTDr//PPTZZddNtW0Xbt2zQ8AAKpnyY5zpn5de1e7GEBbNT7+MzK169HL44pDUaZMmVKr3zYAAAC0q9AdNdObbLJJuv7663Nf7JkVzcUfeeSR9P777+e+3fH8oYceSgMHDpzpeQIAAECrDt3PPfdcWmWVVXL/6gUXXDDtv//+6emnn270fD799NO0xx575H7dAwYMyE3L77333rT55pvPTLEAAACg9Yfu1VZbLfe7HjlyZLrqqqvSqFGjUv/+/dNKK62Uzj333PTZZ581aD5XXnllruWO5uQRwO+//36BGwAAgPYduss6deqUdtppp3x/7TPPPDO9/fbb6aijjsojikcNdoRxAAAAaK9mKXQ/++yz6cADD0wLLbRQruGOwP3OO++k++67L9eCb7/99k1XUgAAAGgPtwyLgH311Ven4cOHp2222SZdd911+f+zzfZ/GX7JJZdM11xzTVpiiSWaurwAAADQtkP3JZdckvbee++055575lru+iywwAK5zzYAAAC0VzMVut96660ZTtOlS5c0aNCgmZk9AAAAtN8+3dG0PAZPqyteu/baa5uiXAAAANA+Q/eQIUPSfPPNV2+T8tNPP70pygUAAADtM3R/+OGHebC0uhZffPH8HgAAADCToTtqtF966aWpXn/xxRdTr169mqJcAAAA0D5D96677poOPfTQNHTo0DR58uT8ePDBB9Nhhx2Wfv7znzd9KQEAAKC9jF5+yimnpPfffz8NGDAgder0f7OYMmVK2mOPPfTpBgAAgFkJ3XE7sJtvvjmH72hSPvvss6eVV1459+kGAAAAZiF0ly277LL5AQAAADRR6I4+3Ndcc0164IEH0qeffpqblleK/t0AAADQ3s1U6I4B0yJ0b7vttmmllVZKHTp0aPqSAQAAQHsM3TfddFP629/+lrbZZpumLxEAAAC051uGxUBqyyyzTNOXBgAAANp76D7yyCPT+eefn0qlUtOXCAAAANpz8/LHHnssDR06NN19992pX79+qXPnzrXev/3225uqfAAAANC+QnfPnj3Tjjvu2PSlAQAAgPYeuq+++uqmLwkAAAC0MTPVpztMmjQp3X///emyyy5L33zzTX5t5MiR6dtvv23K8gEAAED7qun+4IMP0lZbbZU+/PDDNH78+LT55punHj16pDPPPDM/v/TSS5u+pAAAANAearoPO+ywtNZaa6WvvvoqzT777DWvRz/vBx54oCnLBwAAAO2rpvvRRx9NTzzxRL5fd6Ulllgi/e9//2uqsgEAAED7q+meMmVKmjx58lSvf/TRR7mZOQAAADCToXuLLbZI5513Xs3zDh065AHUBg8enLbZZpumLB8AAAC0r+bl55xzTtpyyy3TiiuumMaNG5d+8YtfpLfeeivNN9986cYbb2z6UgIAAEB7Cd2LLLJIevHFF9NNN92UXnrppVzLvc8++6SBAwfWGlgNAAAA2rNOM/3BTp3Sbrvt1rSlAQAAgPYeuq+77rrpvr/HHnvMbHkAAACgfYfuuE93pYkTJ6bvvvsu30Kse/fuQjcAAADM7OjlX331Va1H9OkePnx46t+/v4HUAAAAYFZCd3369u2bzjjjjKlqwQEAAKC9arLQXR5cbeTIkU05SwAAAGhffbrvuuuuWs9LpVIaNWpUuuiii9IGG2zQVGUDAACA9he6d9hhh1rPO3TokOaff/606aabpnPOOaepygYAAADtL3RPmTKl6UsCAAAAbUyT9ukGAAAAZrGm+4gjjmjwtOeee+7MfAUAAAC0z9D9/PPP58fEiRPTcsstl1978803U8eOHdMaa6xRq683AAAAtFczFbq322671KNHj3TttdemeeaZJ7/21Vdfpb322iv98Ic/TEceeWRTlxMAAADaR5/uGKF8yJAhNYE7xN+nnnqq0csBAABgVkL3mDFj0meffTbV6/HaN998MzOzBAAAgDZnpkL3jjvumJuS33777emjjz7Kj9tuuy3ts88+aaeddmr6UgIAAEB76dN96aWXpqOOOir94he/yIOp5Rl16pRD99lnn93UZQQAAID2E7q7d++eLr744hyw33nnnfza0ksvneaYY46mLh8AAAC0r+blZaNGjcqPvn375sBdKpWarmQAAADQHkP3F198kQYMGJCWXXbZtM022+TgHaJ5uduFAQAAwCyE7l//+tepc+fO6cMPP8xNzct22WWXdM8998zMLAEAAKDNmak+3f/5z3/SvffemxZZZJFar0cz8w8++KCpygYAAADtr6Z77NixtWq4y7788svUtWvXpigXAAAAtM/Q/cMf/jBdd911Nc87dOiQpkyZks4666y0ySabNGX5AAAAoH01L49wHQOpPfvss2nChAnp6KOPTq+++mqu6X788cebvpQAAADQXmq6V1pppfTmm2+m/v37p+233z43N99pp53S888/n+/XDQAAAMxETffEiRPTVlttlS699NJ0/PHHF1MqAAAAaI813XGrsJdeeqmY0gAAAEB7b16+2267pSuvvLLpSwMAAADtfSC1SZMmpauuuirdf//9ac0110xzzDFHrffPPffcpiofAAAAtI/Q/e6776YlllgivfLKK2mNNdbIr8WAapXi9mEAAABAI0N3375906hRo9LQoUPz81122SVdcMEFqXfv3kWVDwAAANpHn+5SqVTr+d13351vFwYAAAA00UBq0wrhAAAAwEyG7uivXbfPtj7cAAAA0AR9uqNme88990xdu3bNz8eNG5d+9atfTTV6+e23396Y2QIAAECb1KjQPWjQoKnu1w0AAAA0Qei++uqrGzM5AAAAtGuzNJAaAAAAMG1CNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAC0xdA9ZMiQtPbaa6cePXqkBRZYIO2www5p+PDh1SwSAAAAtI3Q/fDDD6eDDjooPfXUU+m+++5LEydOTFtssUUaO3ZsNYsFAAAATaJTqqJ77rmn1vNrrrkm13gPGzYsbbjhhlUrFwAAALS5Pt2jR4/O/5933nmrXRQAAABo3TXdlaZMmZIOP/zwtMEGG6SVVlqp3mnGjx+fH2VjxoxJrcmTTz6Z3n333WoXA2ijHn/88WoXAQCAlhq6o2/3K6+8kh577LHpDrx20kknpdYoAnf/9ddPU6pdEKDNmzxlQrWLAABASwrdBx98cPrnP/+ZHnnkkbTIIotMc7rjjjsuHXHEEbVquhdddNHUGkQNdwTuE7v0SUt3nLvaxQHaoEcnjkqXT/o6lUqTql0UAABaQugulUrpkEMOSXfccUd66KGH0pJLLjnd6bt27ZofrVkE7n5de1e7GEAb9M7kr1NK8QAAoKXoVO0m5X/961/T3//+93yv7o8//ji/Pvfcc6fZZ5+9mkUDAACA1j16+SWXXJJHLN94443TQgstVPO4+eabq1ksAAAAaBvNywEAAKCtalH36QYAAIC2ROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQFsM3Y888kjabrvtUp8+fVKHDh3SnXfeWc3iAAAAQNsJ3WPHjk2rrrpq+tOf/lTNYgAAAEAhOqUq2nrrrfMDAAAA2iJ9ugEAAKAt1nQ31vjx4/OjbMyYMVUtDwAAALSZmu4hQ4akueeeu+ax6KKLVrtIAAAA0DZC93HHHZdGjx5d8xgxYkS1iwQAAABto3l5165d8wMAAABag6qG7m+//Ta9/fbbNc/fe++99MILL6R55503LbbYYtUsGgAAALTu0P3ss8+mTTbZpOb5EUcckf8/aNCgdM0111SxZAAAANDKQ/fGG2+cSqVSNYsAAAAAhWlVA6kBAABAayJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAth+4//elPaYkllkjdunVL6667bnr66aerXSQAAABo/aH75ptvTkcccUQaPHhweu6559Kqq66attxyy/Tpp59Wu2gAAADQukP3ueeem/bdd9+01157pRVXXDFdeumlqXv37umqq66qdtEAAACg9YbuCRMmpGHDhqXNNtvs/xVottny8yeffLKaRQMAAIBZ1ilV0eeff54mT56cevfuXev1eP7GG29MNf348ePzo2z06NH5/2PGjEkt3XfffZf//+qkr9L3pcnVLg7QBr0/+f9+Z96YNCZNHDey2sUB2iC/M0BzeHfymJoM1ZKzXrlspVKp5YbuxhoyZEg66aSTpnp90UUXTa3FGRM/TikeAAU5c8pXKY37qtrFANowvzNAc9hvv/3yo6X75ptv0txzz90yQ/d8882XOnbsmD755JNar8fzBRdccKrpjzvuuDzoWtmUKVPSl19+mXr16pU6dOjQLGXm/13ViYsdI0aMSHPNNVe1i8M02E6tg+3UOthOrYPt1DrYTq2D7dQ62E7VEzXcEbj79Okz3emqGrq7dOmS1lxzzfTAAw+kHXbYoSZIx/ODDz54qum7du2aH5V69uzZbOVlanFgO7hbPtupdbCdWgfbqXWwnVoH26l1sJ1aB9upOqZXw91impdHzfWgQYPSWmutldZZZ5103nnnpbFjx+bRzAEAAKA1q3ro3mWXXdJnn32WTjjhhPTxxx+n1VZbLd1zzz1TDa4GAAAArU3VQ3eIpuT1NSen5Ypm/oMHD56quT8ti+3UOthOrYPt1DrYTq2D7dQ62E6tg+3U8nUozWh8cwAAAGCmzDZzHwMAAABmROgGAACAggjdAAAAUBChmxp/+tOf0hJLLJG6deuW1l133fT0009Pc9pXX3017bzzznn6Dh065Fu9Tc8ZZ5yRpzv88MMLKHn7UsR2+t///pd222231KtXrzT77LOnlVdeOT377LMFLkXb19TbafLkyen3v/99WnLJJfM2WnrppdMpp5ySDMvRfNvpiiuuSD/84Q/TPPPMkx+bbbbZVNPH9oi7cSy00EJ5O8U0b731VjMsSdvWlNtp4sSJ6Zhjjsm/c3PMMUfq06dP2mOPPdLIkSObaWnapqY+lir96le/atC5BtXZTq+//nr68Y9/nO9VHMfU2muvnT788MOCl6Rta+rt9O233+ZBqxdZZJH8b9OKK66YLr300mZYEsqEbrKbb7453zM9Rj587rnn0qqrrpq23HLL9Omnn9Y7/XfffZeWWmqpHKYXXHDB6c77mWeeSZdddllaZZVVCip9+1HEdvrqq6/SBhtskDp37pzuvvvu9Nprr6Vzzjkn/3DTcrbTmWeemS655JJ00UUX5ROceH7WWWelCy+8sOClabsau50eeuihtOuuu6ahQ4emJ598Mi266KJpiy22yBetymKbXHDBBflk5r///W8+AY15jhs3rhmXrG1p6u0Ux1vMJy5ixf9vv/32NHz48BwaaDnHUtkdd9yRnnrqqXxxhJa3nd55553Uv3//tPzyy+fpX3rppXxsRVik5WynmF/ckvn666/P5xBRCRYh/K677mrGJWvnYvRyWGeddUoHHXRQzfPJkyeX+vTpUxoyZMgMP7v44ouX/vjHP9b73jfffFPq27dv6b777itttNFGpcMOO6xJy93eFLGdjjnmmFL//v2bvKztWRHbadttty3tvffetV7baaedSgMHDmyiUrc/s7KdwqRJk0o9evQoXXvttfn5lClTSgsuuGDp7LPPrpnm66+/LnXt2rV04403FrAE7UNTb6f6PP3009FkpPTBBx80SZnbm6K20UcffVRaeOGFS6+88sp0zzWo3nbaZZddSrvttlsh5W2vithO/fr1K5188sm1pltjjTVKxx9/fBOWnOlR002aMGFCGjZsWG6OUjbbbLPl53HFbFYcdNBBadttt601b1rWdoqrnGuttVb66U9/mhZYYIG0+uqr56ZKtKzttP7666cHHnggvfnmm/n5iy++mB577LG09dZbN0m525um2E5RYxpNleedd978/L333ksff/xxrXlGc8toGjirv6XtVRHbqT6jR4/OzZd79uzZJOVuT4raRlOmTEm77757+s1vfpP69etXSNnbkyK2U2yjf/3rX2nZZZfNNbFxDhG/d3feeWdhy9HWFXU8xTlEnO9F7Xd0g4pa8TifiBpxmofQTfr8889zf9HevXvXej2exwnkzLrppptys5ghQ4Y0QSkpaju9++67udly375907333psOOOCAdOihh6Zrr722CUrd/hS1nY499tj085//PDfhi64AcXEkmocNHDiwCUrd/jTFdop+wdHktXxyVP5cU2/79qyI7VRXNP2PaaJ55lxzzdUk5W5PitpG0YWmU6dO+d8jWuZ2iubO0Vc4ukZttdVW6T//+U/acccd00477ZQefvjhQpajrSvqeIquaNGPO/p0d+nSJW+v6De+4YYbNvkyUL9O03gdZsmIESPSYYcdlu677z79elq4uFIdNd2nn356fh5h7pVXXsl9UgcNGlTt4vH/+9vf/pZuuOGG9Ne//jXX+rzwwgs5dMc/rLZT84uTzLiwGH3p/Ma13u0UtUE/+9nPcs1PXHykZWyjqOk7//zz84X7aIFAy9xOcf4Qtt9++/TrX/86/73aaqulJ554Ip9DbLTRRlUtc3s0rd+8CN0xNkLUdi+++OLpkUceya1Rp3dBkqYldJPmm2++1LFjx/TJJ5/Uej2ez2iQtGmJfzDjCugaa6xR81pcuYuDPAaCGj9+fP5OqrudQoyyHFc/K62wwgrptttum+l5tmdFbadoYlmu7Q4x8vIHH3yQW5II3c27nf7whz/kE5v777+/1gCR5c/FPOK4qpxnnIjSMrZT3cAdx9GDDz6olrsFbaNHH300n0Mstthitc4hjjzyyDyC+fvvv1/AkrRtRWynmGe0RqjvHCK6P9EyttP333+ffvvb3+ZBCaPLZ4j34+J9fEbobh6al5Obmay55pq5v2hZXL2M5+utt95MzXPAgAHp5Zdfzgd0+RG1qdEUNv4WuFvGdgoxcnmM3Fsp+vnElVBaznaKPlrRr6tSHEflmgaaZzvF6ORxq7YYBTZ+0yrF7dzipKhynmPGjMmjmM/Ktm/PithOlYE7bucWJ6hxu0RazjaKvtwxCnblOUTUyMXFx+gGReMVsZ1innF7MOcQLXs7xe9dPJxDVNl0h1mj3bjpppvyCLvXXHNN6bXXXivtt99+pZ49e5Y+/vjj/P7uu+9eOvbYY2umHz9+fOn555/Pj4UWWqh01FFH5b/feuutaX6H0ctb5naKUXs7depUOu200/LrN9xwQ6l79+6l66+/virL2BYUsZ0GDRqUR/H95z//WXrvvfdKt99+e2m++eYrHX300VVZxva4nc4444xSly5dSrfeemtp1KhRNY+4S0PlNDGPv//976WXXnqptP3225eWXHLJ0vfff1+VZWwLmno7TZgwofTjH/+4tMgii5ReeOGFWtPEsUjLOJbqMnp5y9xO8W9R586dS5dffnn+N+vCCy8sdezYsfToo49WZRnbgiK2U5yDxwjmQ4cOLb377rulq6++utStW7fSxRdfXJVlbI+EbmrED+Viiy2WD9y4XcFTTz1V62CNk/6yOOmPazZ1HzHdtAjdLXc7/eMf/yittNJK+Ud++eWXz/940rK205gxY/LxE/OMfyiXWmqpfKsPIaH5tlOc9Ne3nQYPHlwzTdw27Pe//32pd+/e+XgaMGBAafjw4c2+XG1NU26naR1v8YgTUlrGsVSX0N1yt9OVV15ZWmaZZfK/TauuumrpzjvvbNZlaouaejtFCN9zzz3zrcdiOy233HKlc845J/+bRfPoEP+pdm07AAAAtEX6dAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0A0Ab0KFDh3TnnXdWuxjp448/TptvvnmaY445Us+ePatdHACoOqEbgHZrzz33zGE1Hl26dEnLLLNMOvnkk9OkSZNSS3XiiSem1VZbbarXR40albbeeutUbX/84x9zWV544YX05ptvVrs4AFB1napdAACopq222ipdffXVafz48enf//53Ouigg1Lnzp3TcccdN9W0EyZMyOG8GkqlUpo8efI0319wwQVTS/DOO++kNddcM/Xt27faRQGAFkFNNwDtWteuXXNgXXzxxdMBBxyQNttss3TXXXfV1ITvsMMO6bTTTkt9+vRJyy23XH795ZdfTptuummaffbZU69evdJ+++2Xvv3225p5lj930kknpfnnnz/NNddc6Ve/+lUO7WUR8g899NC0wAILpG7duqX+/funZ555pub9hx56KNfA33333TnERjmvv/76PM8XX3yxpob+mmuuqbd5eUPL+Ic//CEttNBCeZq44DBx4sTprq9LLrkkLb300vniQ6yPv/zlLzXvLbHEEum2225L1113XS5PfMe0XHXVValfv355ueL7Dz744Jr3zj333LTyyivnJuqLLrpoOvDAA2uV/YMPPkjbbbddmmeeefI0MZ+4YFL2yiuv5Fr/OeecM/Xu3Tvtvvvu6fPPP695/9Zbb83zL6+b2OZjx46d7nIDwMwSugGgQgSxynD8wAMPpOHDh6f77rsv/fOf/8zhbMstt8yBL0LyLbfcku6///5aobH8uddffz2H5xtvvDHdfvvtOTCXHX300TmgXnvttem5557LTdtjvl9++WWt+Rx77LHpjDPOyPOKvtJHHnlkDpnRhDseu+yyy1TL0NAyDh06NNdMx/+jHBHgyyG+PnfccUc67LDDchki2O6///5pr732yp8P8V3RcuBnP/tZLtv5558/zeAeAT8uBMTFgbjIEctfNttss6ULLrggvfrqq7lcDz74YF5fZfHZuGjxyCOP5M+feeaZOWCHr7/+Ol9sWH311dOzzz6b7rnnnvTJJ5/kMoUo16677pr23nvvmu2z00475ZYEAFCIEgC0U4MGDSptv/32+e8pU6aU7rvvvlLXrl1LRx11VM37vXv3Lo0fP77mM5dffnlpnnnmKX377bc1r/3rX/8qzTbbbKWPP/645nPzzjtvaezYsTXTXHLJJaU555yzNHny5PzZzp07l2644Yaa9ydMmFDq06dP6ayzzsrPhw4dGimwdOedd9Yq8+DBg0urrrrqVMsS095xxx2NKuPiiy9emjRpUs00P/3pT0u77LLLNNfX+uuvX9p3331rvRaf2WabbWqex/qMeU9PLOfxxx9faqhbbrml1KtXr5rnK6+8cunEE0+sd9pTTjmltMUWW9R6bcSIEXn9DB8+vDRs2LD89/vvv9/g7weAWaGmG4B2LWqvo5Y0mnhHk+SoOY7BysqiGXJlP+6oHV111VVzs+ayDTbYIE2ZMiXXiJfFNN27d695vt566+Um0iNGjMi1y9GMOz5XFv3I11lnnTz/SmuttVajl6mhZYwa844dO9Y8j2ben3766XTnW1nm8nzrlnl6Yv4jR45MAwYMmOY0USsf7y+88MKpR48euXn4F198kb777rv8fjTLP/XUU/N3Dx48OL300ks1n42m91HzHtu0/Fh++eXze7HeY73EvGO7/vSnP01XXHFF+uqrrxpcfgBoLKEbgHZtk002ySNtv/XWW+n777/PzZkrw2rl39VQ5PdH0K8U/bAjmBfdfH963n///fSjH/0orbLKKrn5/bBhw9Kf/vSn/F652f8vf/nL9O677+YwHs3L48LEhRdemN+LCxvR3zu2aeUjtu+GG26YLzJEV4HoK7/iiivmz0Xf9Pfee6/Q5Qag/RK6AWjXItRGf+LFFlssdeo045t6rLDCCrk2tXLgrccffzz3Qy4PtBZimgjxZU899VSudY2BwcoDkcXnyqLmO/pERxCcnvjc9EYxb0wZGyvmW1nm8nxnVOZKUXMdA65Fn/f6RMiO4H/OOeekH/zgB2nZZZfNNeN1xXqMwemir3z0MY8a67DGGmvkvuDxHbFdKx/lCxhxcSFqyaOP/fPPP5/XafRXB4AiCN0A0AgDBw7MTdEHDRqUBxOLpsyHHHJIrnWNkbLLolZ2n332Sa+99loeWTuaQcdAZhF8I/zFSOm/+c1v8kBfMc2+++6bm0/HZ6YnwmTUykbtbYzIHQOKzWwZGyvKGwOtxUBoUXMco4xH6D3qqKMaNZ9ovh+hOgZLi/nEQHLlmuoIx3EBIp5HbXaMjn7ppZfW+vzhhx+e7r333rwe4rOxfHFBoDzIWgxGF4OlxUWMaFIe08aAb3Gx4r///W86/fTT8yBrH374YS7/Z599VvN5AGhqQjcANEL0044QF8Fu7bXXTj/5yU9yH+GLLrqo1nTxWtyrOpo0Rz/xH//4x7X6iseI5DvvvHMOwlE7+/bbb+f5xojj0xOfiRHCo1l83I4sRkaf2TI2VtxiLEYkj9uMRX/wyy67LN/jfOONN27UfOJiwHnnnZcuvvjiPJ9oTh7hO0Sf6wjzMSL5SiutlG644YY0ZMiQWp+P8BzhOoJyrIuoDY95hbi1W9S+xzRbbLFF7rsdIb1nz575gkfcvi1GPd9mm23y5373u9/lCwDRnx8AitAhRlMrZM4A0E7F/anj1lWV980GANonNd0AAABQEKEbAAAACqJ5OQAAABRETTcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAAKRi/H/7Et+3w7ZxlgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAXGZJREFUeJzt3Qm8XOP9P/Ane4RESEgEsYvYiSKo2mOpn62tKhWqqH2t8tOKfd/3Vq2l1qK09thqJ3au2IUmQWyJXNnn//o+v//c19zrJrLck7u936/XuJkzZ848Z5lxPudZTptSqVRKAAAAQINr2/CLBAAAAILQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNAN0MD+9re/pRVWWCF16NAhde/evbGLw2xq06ZNOv744xu7GNSxxx57pCWXXLLZHxONuR71mTJlSjrqqKPS4osvntq2bZu23377ufbZH374Yd6211xzzVz7TIC5SegGZlqcEMWJ0QsvvJCau3vuuaeQQPXWW2/lk+llllkmXXHFFekvf/nLD77n5ZdfTrvttls+2e3UqVNacMEF02abbZauvvrqNHXq1FSUp556Km+Dr7/+OhXp73//ezr//PN/cL4oSxxfP/TYaKONCi1va/Hoo4/W2q5xkWjppZdOu+++e3r//fcbu3jNVjlA1vdYd911C9+ft91222y9/6qrrkpnnXVW+tnPfpauvfbadNhhhzXab8Hcdvfdd6ef/OQnaeGFF05dunTJ34Nf/OIX6b777mvsogEtRPvGLgBAY4XuSy65pMGDd5z4Tps2LV1wwQVp2WWX/cH5//rXv6bf/e53qVevXunXv/51Wm655dK4cePS0KFD01577ZVGjRqV/vd//zcVFbpPOOGEfJGgyBr5ONF+/fXX06GHHjrD+Xbcccda2+zbb79N++23X9phhx3ya2WxreaG7777LrVv3/L/N3nwwQenH/3oR2ny5MnpxRdfzBeK/v3vf6fXXnst9enTJzU1cTErvmNN3S677JK23nrrWtMWWmih1FQ9/PDDadFFF03nnXfeXP8tWGKJJfL3LS78zG1nn312+v3vf59D9zHHHJND97vvvpseeuihdNNNN6Utt9xyrpcJaHla/tkEwFz02Wef5b8zE2KfeeaZHLgHDhyYLwJ07dq15rU4KY0WBXGC2lqsuuqq+VE2ZsyYHLpjWrQEmJ4JEyakjh075iaxDalz586pNfjxj3+cazfDnnvumZZffvkcxKO2M0LInBg/fnyad955U0NqjGA2O9Zcc80ZHrdN8bersbrDRA19Y3zfokn9SSedlDbffPP0wAMPTPf3fG4q4jsDND7Ny4E5ErWk8803XxoxYkT66U9/mv8dtSVRixyitmyTTTbJJxFRmxE1HfU1WX/88cfTvvvum3r06JG6deuWm7h+9dVXteb95z//mbbZZptc+xbNsKMJd5ww1dcE+9lnn821TAsssED+7AhuUftcLnO5fJVNP3/IpZdemlZaaaX82VGGAw44oFbT7OifOWTIkJoarR/q/xm1zDHPDTfcUCtwl6211lq5rJUnY0cccURNM/R+/frlWppSqVTrfbHMAw88MN15551p5ZVXzvNGuSubSka5onYnLLXUUjXbIJrGhmjaHvstmlvG+1dcccV02WWX1bse9957b64linWIfRe1puX9HE3Bo9b0o48+qvmMOenHWm5CGzVQf/zjH/OxFjVTY8eOTV9++WU68sgj0yqrrJKPwyjLVlttlV555ZV6g3psgwiYcbK/yCKL5Nr09957r9Z2rNx/5ebvUQtWbh0w//zz56BaXV1da/lRaxfBtWfPnnm7/M///E/673//O9N9guNkP1o6RK1+lG+11VbLIbi+ZsxxDETtdHwfYl/F9n/++edncwunvN/DBx98UGsfRziP71KsT3wP33jjjXp/C2Ibxncv5tt1113za+XWH7FvYn3i+xE1iHW7qlx//fVpwIABaZ555sndLH75y1+mjz/++HufUz6GonY+5ot9UFccE/FZcUyUTZw4MX9Ho0VFbKv4LkU/5pheKZ5H8+ooZ3n/ffLJJ6lI5WM7/jZUf+eZOWbLy3/kkUfyPi1/T8vliH0XTcLjNyS2ZxyT8Vtd9/d5Tn4LpreOUftePu6i7Nttt12qqqqa5XWcnriwF8fJ+uuvX+/r8fs3q9/LWdmPc+s7884776Sddtop9e7dOy9rscUWy/N98803M9w+QMNR0w3MsQi9EW423HDDdOaZZ+YQGaEvTpSOPfbYfBIRgebyyy/PYTpqdiPoVYr542QpTqCGDx+eA16cnJVPYEKcrMQJyuGHH57/xgnZcccdl0+aoi9i2YMPPpgvAESQ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dk3LLrtsuvfee6e7fzbYYIPcpL8yYMe/DzjggPTll1+mDz/8sNb0COlh4sSJ6cgjj0yLLrpomnfeedM666zzvZAe27tv3755u8X2++KLL773+aeffnoud5R1r732ShMmTPjeNtt+++1n+ngq19THesVxseKKK6aHHnoob+9y64u4qBHbO7ZpzLPEEkuk0047LRVF6AYAAAp17bXX5mD27LPPpjPPPDOdeOKJ6cEHH8yvPf/882nLLbdMv/jFL3IT82hOHH7+85/n+yNHYBw2bFhac80106abbpqDYPj3v/+dg1w0F49+0UOHDs0BNdx+++1pscUWy58Ty4xHfe644450yCGHpCOOOCK9/vrruel0hNWo0a10wgkn5PK9+uqr+fMiZJfL8ac//Sm9+eabuZxVVVU5xE+vyXisW5QpyhZlinWv3EYR/J988sl0+eWXp//+97/5s+KiQlxsiOVeeeWV6eSTT/7eto3Pe+6553IA32+//fK2i5r0F198MW2xxRa5v3x1df1dEmK/xGdUrnOE59jW66+/fs30999/P18sKIfuCK1PP/10uummm/J2ic+M/fjOO+/k12NfR4g+8MADc7eBeF/dst9yyy05MJ966qnphRdeyCH40ksvrbecM3s8xT3uI6RH0I/X//KXv6Rjjz221vsvvPDCfOEkPn/48OHphhtuqLkAUgTNywEAgEKtuuqqaciQIfnfURN88cUX55C8+eab5xriqMmNWuJy8+Ynnngih8gI3fFaOPvss3NNZQxAts8++6RTTjkl/fKXv8yBuGy11VbLf6MGtF27drn2tLzM+sQyoyZ1//33z88PP/zw9Mwzz+Tp5XAZYp5ddtkl/zsCYoS2KF+EzAiia6yxRlprrbXy6zMKb9FUOsoUZatbrtguESDLIihGE+/YVlFLu8IKK6SRI0emP/zhD+m4445Lbdu2rVnnP/7xj/nfxxxzTK45jhC+995752kxbwT2CMbRNLw+sa633npr/ndcQIja5linDTfcMAfwuBARf6NWOJYR6xy1+fG3T58++X1R6x391WN6bKO4wBDb56ijjsqvL7/88nmgvJin7Pzzz8/BPB4hQnnUStet7Z6V4ynCdzThj/KWt3EcK/FaWZQ73he14bFto6a7SGq6AQCAQkVIqhQ1mhGopydqdr/99tvUo0ePNN9889U8Pvjggxyo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o1QqpUmTJqXPP/88fxfjOzi7hG4AAGhi4iQ/7gs8atSoHLyBxtGlS5c8Qnt8J2eX0A0AAE1Q1KzFyf6UKVPS1KlTG7s40Oq0a9cutW/ffo5bmQjdAADQRMXJfocOHfIDaJ4MpAYAAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAALT10n3766alNmzbp0EMPrZk2YcKEdMABB6QePXqk+eabL+20007p008/bdRyAgAAQLMK3c8//3z685//nFZdddVa0w877LB09913p1tvvTU99thjaeTIkWnHHXdstHICAABAswrd3377bdp1113TFVdckRZYYIGa6d9880268sor07nnnps22WSTNGDAgHT11Venp556Kj3zzDONWmYAAABoFqE7mo9vs802abPNNqs1fdiwYWny5Mm1pq+wwgqpb9++6emnn26EkgIAAMCsaZ8a0U033ZRefPHF3Ly8rtGjR6eOHTum7t2715req1ev/Nr0TJw4MT/Kxo4d28ClBgAAgCZe0/3xxx+nQw45JN1www2pc+fODbbc0047Lc0///w1j8UXX7zBlg0AAADNInRH8/HPPvssrbnmmql9+/b5EYOlXXjhhfnfUaM9adKk9PXXX9d6X4xe3rt37+ku95hjjsn9wcuPCPcAAADQqpqXb7rppum1116rNW3PPffM/bb/8Ic/5BrqDh06pKFDh+ZbhYXhw4enESNGpIEDB053uZ06dcoPAAAAaLWhu2vXrmnllVeuNW3eeefN9+QuT99rr73S4YcfnhZccMHUrVu3dNBBB+XAve666zZSqQEAAKCZDKT2Q84777zUtm3bXNMdg6MNGjQoXXrppY1dLAAAAGh+ofvRRx+t9TwGWLvkkkvyAwAAAJqbRr9PNwAAALRUQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCtC9qwQDQnI0YMSKNGTMmtSZVVVX57/jq6jQutWwdOnRInTt3buxiANAKCN0AUE/g7tevf5owoTq1Rm9WVaUpqWVr27ZtWmfttQVvAAondANAHVHDHYG7f//rU5cu/VNrUV1dlaqqdkvzztM/dW3XJbVUU6dV53WdPHmy0A1A4YRuAJiOCNxdu66ZWpu27bqkdu27pharpVfjA9CkGEgNAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAgrQvasEAAE3Z+Orqxi5Ci9h+VVVVqSnq2bNn6tu3b2MXA0DoBgBal2mlSU06LDYXb///v7vttltqijp37pKGD68SvIFGJ3QDAK1KqTQl/+3cuV/q0H6+xi5OszXv1OqUvqtK/ftfn7p06Z+akurqqlRVtVsaM2aM0A00OqEbAGiV2rbtktq179rYxWj2AwNF4O7adc1GLg1A02UgNQAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAA0BJD92WXXZZWXXXV1K1bt/wYOHBguvfee2tenzBhQjrggANSjx490nzzzZd22mmn9OmnnzZmkQEAAKB5hO7FFlssnX766WnYsGHphRdeSJtssknabrvt0htvvJFfP+yww9Ldd9+dbr311vTYY4+lkSNHph133LExiwwAAAAzrX1qRNtuu22t56ecckqu/X7mmWdyIL/yyivT3//+9xzGw9VXX5369++fX1933XUbqdQAAADQzPp0T506Nd10001p/PjxuZl51H5Pnjw5bbbZZjXzrLDCCqlv377p6aefnu5yJk6cmMaOHVvrAQAAAK0ydL/22mu5v3anTp3S7373u3THHXekFVdcMY0ePTp17Ngxde/evdb8vXr1yq9Nz2mnnZbmn3/+msfiiy8+F9YCAAAAmmDo7tevX3r55ZfTs88+m/bbb780ePDg9Oabb8728o455pj0zTff1Dw+/vjjBi0vAAAANIs+3SFqs5dddtn87wEDBqTnn38+XXDBBWnnnXdOkyZNSl9//XWt2u4Yvbx3797TXV7UmMcDAAAAUmuv6a5r2rRpuV92BPAOHTqkoUOH1rw2fPjwNGLEiNznGwAAAJq6Rq3pjqbgW221VR4cbdy4cXmk8kcffTTdf//9uT/2XnvtlQ4//PC04IIL5vt4H3TQQTlwG7kcAACA5qBRQ/dnn32Wdt999zRq1KgcslddddUcuDfffPP8+nnnnZfatm2bdtppp1z7PWjQoHTppZc2ZpEBAACgeYTuuA/3jHTu3Dldcskl+QEAAADNTZPr0w0AAAAthdANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFCQ9kUtGACAlq+6uio11TJVVTW9srVmPXv2TH379m3sYsBcJ3QDADDLxkyblJtMVlXtlpqq3XZrumVrjbp07pyqhg8XvGl1hG4AAGbZuNKUNC2ldGKnJdMyHXqkpmTa1Oo0/ruqtGL//mneLl0auzjExZnq6rRbVVUaM2aM0E2rI3QDADDblmo7T+rfvmtqSqbGRYGU0upduqSuXZtW2YDWx0BqAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAAmlLofv/99xu+JAAAANDCzFboXnbZZdPGG2+crr/++jRhwoSGLxUAAAC01tD94osvplVXXTUdfvjhqXfv3mnfffdNzz33XMOXDgAAAFpb6F599dXTBRdckEaOHJmuuuqqNGrUqLTBBhuklVdeOZ177rnp888/b/iSAgAAQGsaSK19+/Zpxx13TLfeems644wz0rvvvpuOPPLItPjii6fdd989h3EAAABoreYodL/wwgtp//33T4ssskiu4Y7A/d5776UHH3ww14Jvt912DVdSAAAAaGbaz86bImBfffXVafjw4WnrrbdO1113Xf7btu3/ZfillloqXXPNNWnJJZds6PICAABAyw7dl112WfrNb36T9thjj1zLXZ+FF144XXnllXNaPgAAAGhdofudd975wXk6duyYBg8ePDuLBwAAgNbbpzualsfgaXXFtGuvvbYhygUAAACtM3SfdtppqWfPnvU2KT/11FMbolwAAADQOkP3iBEj8mBpdS2xxBL5NQAAAGA2Q3fUaL/66qvfm/7KK6+kHj16NES5AAAAoHWG7l122SUdfPDB6ZFHHklTp07Nj4cffjgdcsgh6Ze//GXDlxIAAABay+jlJ510Uvrwww/Tpptumtq3/79FTJs2Le2+++76dAMAAMCchO64HdjNN9+cw3c0KZ9nnnnSKquskvt0AwAAAHMQusuWX375/AAAAAAaKHRHH+5rrrkmDR06NH322We5aXml6N8NAAAArd1she4YMC1C9zbbbJNWXnnl1KZNm4YvGQAAALTG0H3TTTelW265JW299dYNXyIAAABozbcMi4HUll122YYvDQAAALT20H3EEUekCy64IJVKpYYvEQAAALTm5uVPPPFEeuSRR9K9996bVlpppdShQ4dar99+++0NVT4AAABoXaG7e/fuaYcddmj40gAAAEBrD91XX311w5cEAAAAWpjZ6tMdpkyZkh566KH05z//OY0bNy5PGzlyZPr2228bsnwAAADQumq6P/roo7TlllumESNGpIkTJ6bNN988de3aNZ1xxhn5+eWXX97wJQUAAIDWUNN9yCGHpLXWWit99dVXaZ555qmZHv28hw4d2pDlAwAAgNZV0/2f//wnPfXUU/l+3ZWWXHLJ9N///rehygYAAACtr6Z72rRpaerUqd+b/sknn+Rm5gAAAMBshu4tttginX/++TXP27RpkwdQGzJkSNp6660bsnwAAADQupqXn3POOWnQoEFpxRVXTBMmTEi/+tWv0jvvvJN69uyZbrzxxoYvJQAAALSW0L3YYoulV155Jd10003p1VdfzbXce+21V9p1111rDawGAAAArVn72X5j+/Zpt912a9jSAAAAQGsP3dddd90MX999991ntzwAAADQukN33Ke70uTJk1N1dXW+hViXLl2EbgAAAJjd0cu/+uqrWo/o0z18+PC0wQYbGEgNAAAA5iR012e55ZZLp59++vdqwQEAAKC1arDQXR5cbeTIkQ25SAAAAGhdfbrvuuuuWs9LpVIaNWpUuvjii9P666/fUGUDAIDZNr66urGLQJ19UVVV1SDL69mzZ+rbt2+DLAuaZOjefvvtaz1v06ZNWmihhdImm2ySzjnnnIYqGwAAzLJppUkNGvCYc2///78Ndcvhzp27pOHDqwRvWm7onjZtWsOXBAAAGkCpNCX/7dy5X+rQfr7GLg4ppXmnVqf0XVXq3//61KVL/zlaVnV1Vaqq2i2NGTNG6Kblhm4AAGjq2rbtktq179rYxaBiIKkI3F27rtnIpYFmELoPP/zwmZ733HPPnZ2PAAAAgNYZul966aX8mDx5curXr1+e9vbbb6d27dqlNddcs1ZfbwAAAGitZit0b7vttqlr167p2muvTQsssECe9tVXX6U999wz/fjHP05HHHFEQ5cTAAAAWsd9umOE8tNOO60mcIf498knn2z0cgAAAJiT0D127Nj0+eeff296TBs3btzsLBIAAABanNkK3TvssENuSn777benTz75JD/+8Y9/pL322ivtuOOODV9KAAAAaC19ui+//PJ05JFHpl/96ld5MLW8oPbtc+g+66yzGrqMAAAA0HpCd5cuXdKll16aA/Z7772Xpy2zzDJp3nnnbejyAQAAQOtqXl42atSo/FhuueVy4C6VSg1XMgAAAGiNofuLL75Im266aVp++eXT1ltvnYN3iOblbhcGAAAAcxC6DzvssNShQ4c0YsSI3NS8bOedd0733Xff7CwSAAAAWpzZ6tP9wAMPpPvvvz8ttthitaZHM/OPPvqoocoGAAAAra+me/z48bVquMu+/PLL1KlTp4YoFwAAALTO0P3jH/84XXfddTXP27Rpk6ZNm5bOPPPMtPHGGzdk+QAAAKB1NS+PcB0Dqb3wwgtp0qRJ6aijjkpvvPFGrul+8sknG76UAAAA0FpquldeeeX09ttvpw022CBtt912ubn5jjvumF566aV8v24AAABgNmq6J0+enLbccst0+eWXp2OPPbaYUgEAAEBrrOmOW4W9+uqrxZQGAAAAWnvz8t122y1deeWVDV8aAAAAaO0DqU2ZMiVdddVV6aGHHkoDBgxI8847b63Xzz333IYqHwAAALSO0P3++++nJZdcMr3++utpzTXXzNNiQLVKcfswAAAAYBZD93LLLZdGjRqVHnnkkfx85513ThdeeGHq1atXUeUDAACA1tGnu1Qq1Xp+77335tuFAQAAAA00kNr0QjgAAAAwm6E7+mvX7bOtDzcAAAA0QJ/uqNneY489UqdOnfLzCRMmpN/97nffG7389ttvn6nlnXbaaXnet956K80zzzxpvfXWS2eccUbq169fzTzxGUcccUS66aab0sSJE9OgQYPSpZdeqh85AAAALaume/DgwWnhhRdO888/f37E/br79OlT87z8mFmPPfZYOuCAA9IzzzyTHnzwwTR58uS0xRZb1Oonfthhh6W777473XrrrXn+kSNHph133HHW1hIAAACaek331Vdf3aAfft9999V6fs011+RQP2zYsLThhhumb775Jl155ZXp73//e9pkk01qytC/f/8c1Nddd90GLQ8AAAA0mYHUGlqE7LDgggvmvxG+o/Z7s802q5lnhRVWSH379k1PP/10vcuIJuhjx46t9QAAAIBWHbqnTZuWDj300LT++uunlVdeOU8bPXp06tixY+revXuteaM/d7w2vX7ilU3dF1988blSfgAAAGiyoTv6dr/++ut5wLQ5ccwxx+Qa8/Lj448/brAyAgAAQGF9uoty4IEHpn/961/p8ccfT4sttljN9N69e6dJkyalr7/+ulZt96effppfq0+MrF4eXR0AAABabU133IIsAvcdd9yRHn744bTUUkvVen3AgAGpQ4cOaejQoTXThg8fnkaMGJEGDhzYCCUGAACAZlLTHU3KY2Tyf/7zn6lr1641/bSjL3bctzv+7rXXXunwww/Pg6t169YtHXTQQTlwG7kcAACApq5RQ/dll12W/2600Ua1psdtwfbYY4/87/POOy+1bds27bTTTnlk8kGDBqVLL720UcoLAAAAzSZ0R/PyH9K5c+d0ySWX5AcAAAA0J01m9HIAAABoaYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFaV/UggFoOkaMGJHGjBnT2MVoNqqqqvLf6ur/+9tatLb1BYC5QegGaAWBu3+/fql6woTGLkqzU1W1W2qNSqVJjV0EAGgxhG6AFi5quCNwX9+/f+rfpUtjF6dZGF9dnd6sqkrzztM/tW3XerbZk1O+SJdO+DCVpk1p7KIAQIshdAO0EhG41+zatbGL0SyMSylF7Ozarktq1771bLMPplY3dhEAoMUxkBoAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFKR9UQtm1o0YMSKNGTOmsYtBM9GzZ8/Ut2/fxi4GAAAwA0J3Ewrc/fv1S9UTJjR2UWgmunTunKqGDxe8AQCgCRO6m4io4Y7AfX3//ql/ly6NXRyauKrq6rRbVVU+boRuAABouoTuJiYC95pduzZ2MQAAAGgABlIDAACAggjdAAAAUBChGwAAAFpi6H788cfTtttum/r06ZPatGmT7rzzzlqvl0qldNxxx6VFFlkkzTPPPGmzzTZL77zzTqOVFwAAAJpN6B4/fnxabbXV0iWXXFLv62eeeWa68MIL0+WXX56effbZNO+886ZBgwalCW6rBQAAQDPQqKOXb7XVVvlRn6jlPv/889Mf//jHtN122+Vp1113XerVq1euEf/lL385l0sLAAAALaRP9wcffJBGjx6dm5SXzT///GmdddZJTz/9dKOWDQAAAJr1fbojcIeo2a4Uz8uv1WfixIn5UTZ27NgCSwkAAADNsKZ7dp122mm5Rrz8WHzxxRu7SAAAALRSTTZ09+7dO//99NNPa02P5+XX6nPMMcekb775pubx8ccfF15WAAAAaFahe6mllsrheujQobWaisco5gMHDpzu+zp16pS6detW6wEAAACtrk/3t99+m959991ag6e9/PLLacEFF0x9+/ZNhx56aDr55JPTcsstl0P4n/70p3xP7+23374xiw0AAABNP3S/8MILaeONN655fvjhh+e/gwcPTtdcc0066qij8r2899lnn/T111+nDTbYIN13332pc+fOjVhqAAAAaAahe6ONNsr3456eNm3apBNPPDE/AAAAoLlpsn26AQAAoLkTugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCtG/sAgA0RyNGjEhjxoxJzUFVVVX+O766Oo1r7MI0E7GtAAAagtANMBuBu1+//mnChOYVzN6sqkpTGrsQzcy0Uim1a+xCAADNmtANMIuihjsCd//+16cuXfqnpq66uipVVe2W5p2nf+rarktjF6dZmDzlyzRhwgepVCo1dlEAgGZO6AaYTRG4u3ZdMzUXbdt1Se3ad23sYjQLU6c1r1YMAEDTZSA1AAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAQYRuAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUpH1RCwYAAKhUXV3VYMu45557UlXVnC+PpmnppZdOAwcOTC2B0A0AABRqzLRJuYltVdVuDbbMP/3pTw22LJqetimlJ556qkUEb6EbAAAo1LjSlDQtpXRipyXTMh16zNGyJk/5Ik2Y8GHq1HGJ1L5dlwYrI03He1O/ScdPGpnef/99oRsAAGBmLdV2ntS/fdc5WsakadWpOqXUpf2CqWPH+RusbDQhE+M/I1NLYSA1AAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AAAAoiNANAAAABRG6AQAAoCBCNwAAABRE6AYAAICCCN0AAABQEKEbAAAACiJ0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAaw7dl1xySVpyySVT586d0zrrrJOee+65xi4SAAAANP/QffPNN6fDDz88DRkyJL344otptdVWS4MGDUqfffZZYxcNAAAAmnfoPvfcc9Pee++d9txzz7Tiiiumyy+/PHXp0iVdddVVjV00AAAAaL6he9KkSWnYsGFps802q5nWtm3b/Pzpp59u1LIBAADAD2mfmrAxY8akqVOnpl69etWaHs/feuutet8zceLE/Cj75ptv8t+xY8empuzbb7/Nf4eNG5e+nTq1sYtDEze8ujr/jYtS5WOHuWf48OH57+ef357GjRuWmroJEz7Kf9+Y9HkaP2VcYxenWZgydWyK/5N0mjwmtZ82PrUW70/5v/9nvjHlq/RdqeX+v6i17t/WdLzYxy37eLF/W773p/5fdquurm7SOa5ctlKpNMP52pR+aI5GNHLkyLToooump556Kg0cOLBm+lFHHZUee+yx9Oyzz37vPccff3w64YQT5nJJAQAAaI0+/vjjtNhiizXPmu6ePXumdu3apU8//bTW9Hjeu3fvet9zzDHH5IHXyqZNm5a+/PLL1KNHj9SmTZvUlK+SLL744nmHdevWrbGLQyNyLFDmWKDMsUCZY4EyxwKVHA+NI+qvx40bl/r06TPD+Zp06O7YsWMaMGBAGjp0aNp+++1rQnQ8P/DAA+t9T6dOnfKjUvfu3VNzEV8SXxSCY4EyxwJljgXKHAuUORao5HiY++aff/4fnKdJh+4QtdaDBw9Oa621Vlp77bXT+eefn8aPH59HMwcAAICmrMmH7p133jl9/vnn6bjjjkujR49Oq6++errvvvu+N7gaAAAANDVNPnSHaEo+vebkLUU0iR8yZMj3msbT+jgWKHMsUOZYoMyxQJljgUqOh6atSY9eDgAAAM1Z28YuAAAAALRUQjcAAAAUROgGAACAggjdBbnkkkvSkksumTp37pzWWWed9Nxzz81w/ltvvTWtsMIKef5VVlkl3XPPPbVej673MYL7IosskuaZZ5602WabpXfeeafgtaCpHg977LFHatOmTa3HlltuWfBaMLePhTfeeCPttNNOef7Yx3HLxDldJi33WDj++OO/97sQvyO0rGPhiiuuSD/+8Y/TAgsskB9xPlB3fucMzVdDHwvOF1rHsXD77bfn2yt37949zTvvvPluT3/7299qzeN3oXEJ3QW4+eab8/3FYwTBF198Ma222mpp0KBB6bPPPqt3/qeeeirtsssuaa+99kovvfRS2n777fPj9ddfr5nnzDPPTBdeeGG6/PLL07PPPpu/ULHMCRMmzMU1o6kcDyH+pzlq1Kiax4033jiX1oi5dSxUV1enpZdeOp1++umpd+/eDbJMWu6xEFZaaaVavwtPPPFEgWtBYxwLjz76aP5/xCOPPJKefvrptPjii6ctttgi/fe//62ZxzlD81TEsRCcL7T8Y2HBBRdMxx57bD4OXn311bTnnnvmx/33318zj9+FRhajl9Ow1l577dIBBxxQ83zq1KmlPn36lE477bR65//FL35R2mabbWpNW2eddUr77rtv/ve0adNKvXv3Lp111lk1r3/99delTp06lW688cbC1oOmeTyEwYMHl7bbbrsCS01TOBYqLbHEEqXzzjuvQZdJyzoWhgwZUlpttdUavKwUa06/w1OmTCl17dq1dO211+bnzhmar4Y+FoLzheapIf7fvsYaa5T++Mc/5n/7XWh8arob2KRJk9KwYcNyk42ytm3b5udx9ak+Mb1y/hBXnsrzf/DBB2n06NG15pl//vlzU5PpLZOWezxUXuFeeOGFU79+/dJ+++2Xvvjii4LWgsY6FhpjmRSvyP0WTQX79OmTa8V33XXXNGLEiAYoMU35WIhWEJMnT841XcE5Q/NUxLFQ5nyhdR0L0Yx86NChafjw4WnDDTfM0/wuND6hu4GNGTMmTZ06NfXq1avW9HgeB3t9YvqM5i//nZVl0nKPh3JTseuuuy7/qJ5xxhnpscceS1tttVX+LFrOsdAYy6R4Re23OHm65ppr0n333Zcuu+yyfJIV/T3HjRvXAKWmqR4Lf/jDH/KFlvLJtHOG5qmIYyE4X2g9x8I333yT5ptvvtSxY8e0zTbbpIsuuihtvvnm+TW/C42vfWMXAJh1v/zlL2v+HQOtrbrqqmmZZZbJV7M33XTTRi0b0DjiRLosfhMihC+xxBLplltuyWNE0PJEH/+bbrop//bHYEu0XtM7FpwvtB5du3ZNL7/8cvr222/zRZboEx6tnjbaaKPGLhpquhtez549U7t27dKnn35aa3o8n97gNzF9RvOX/87KMmm5x0N94kc1Puvdd99toJLTFI6FxlgmxZtb+y1GsV1++eX9LrTQY+Hss8/OQeuBBx7IQarMOUPzVMSxUB/nCy33WIgm6Msuu2weufyII45IP/vZz9Jpp52WX/O70PiE7gYWTToGDBiQrzCVTZs2LT8fOHBgve+J6ZXzhwcffLBm/qWWWip/ISrnGTt2bB55cHrLpOUeD/X55JNPch+tuA0ELedYaIxlUry5td+ituO9997zu9ACj4UYhfikk07KXQniNkGVnDM0T0UcC/VxvtB6/h8R75k4cWL+t9+FJqCxR3JriW666aY8GuA111xTevPNN0v77LNPqXv37qXRo0fn13/961+Xjj766Jr5n3zyyVL79u1LZ599dqmqqiqPQNuhQ4fSa6+9VjPP6aefnpfxz3/+s/Tqq6/mkSiXWmqp0nfffdco60jjHQ/jxo0rHXnkkaWnn3669MEHH5Qeeuih0pprrllabrnlShMmTGi09aThj4WJEyeWXnrppfxYZJFF8n6Pf7/zzjszvUxaz7FwxBFHlB599NH8uxC/I5tttlmpZ8+epc8++6xR1pFijoU4H+jYsWPptttuK40aNarmEf9vqJzHOUPz09DHgvOF1nMsnHrqqaUHHnig9N577+X54xwyziWvuOKKmnn8LjQuobsgF110Ualv3775xzCG/X/mmWdqXvvJT36Sb+FQ6ZZbbiktv/zyef6VVlqp9O9//7vW6zHU/5/+9KdSr1698pdw0003LQ0fPnyurQ9N53iorq4ubbHFFqWFFlooh/G4fdDee+8tZLXAYyFOkuLaaN1HzDezy6T1HAs777xzDuSxvEUXXTQ/f/fdd+f6elHssRC/+fUdC3GBtsw5Q/PVkMeC84XWcywce+yxpWWXXbbUuXPn0gILLFAaOHBgDu6V/C40rjbxn8aubQcAAICWSJ9uAAAAKIjQDQAAAAURugEAAKAgQjcAAAAUROgGAACAggjdAAAAUBChGwAAAAoidAMAAEBBhG4AaIHatGmT7rzzzsYuRho9enTafPPN07zzzpu6d+/e2MUBgLlO6AaA/2+PPfbIYTUeHTt2TMsuu2w68cQT05QpU1JTdfzxx6fVV1/9e9NHjRqVttpqq9TYzjvvvFyWl19+Ob399tuNXRwAmOvaz/2PBICma8stt0xXX311mjhxYrrnnnvSAQcckDp06JCOOeaY7807adKkHM4bQ6lUSlOnTp3u6717905NwXvvvZcGDBiQlltuucYuCgA0CjXdAFChU6dOObAuscQSab/99kubbbZZuuuuu2pqwrfffvt0yimnpD59+qR+/frl6a+99lraZJNN0jzzzJN69OiR9tlnn/Ttt9/WLLP8vhNOOCEttNBCqVu3bul3v/tdDu1lEfIPPvjgtPDCC6fOnTunDTbYID3//PM1rz/66KO5Bv7ee+/NITbKef311+dlvvLKKzU19Ndcc029zctntoxnn312WmSRRfI8ccFh8uTJM9xel112WVpmmWXyxYfYHn/7299qXltyySXTP/7xj3Tdddfl8sRnTM9VV12VVlpppbxe8fkHHnhgzWvnnntuWmWVVXIT9cUXXzztv//+tcr+0UcfpW233TYtsMACeZ5YTlwwKXv99ddzrf98882XevXqlX7961+nMWPG1Lx+22235eWXt03s8/Hjx89wvQFgZgndADADEcQqw/HQoUPT8OHD04MPPpj+9a9/5XA2aNCgHPgiJN96663poYceqhUay++rqqrK4fnGG29Mt99+ew7MZUcddVQOqNdee2168cUXc9P2WO6XX35ZazlHH310Ov300/Oyoq/0EUcckUNmNOGOx8477/y9dZjZMj7yyCO5Zjr+RjkiwJdDfH3uuOOOdMghh+QyRLDdd99905577pnfH+KzouXAL37xi1y2Cy64YLrBPQJ+XAiIiwNxkSPWv6xt27bpwgsvTG+88UYu18MPP5y3V1m8Ny5aPP744/n9Z5xxRg7Y4euvv84XG9ZYY430wgsvpPvuuy99+umnuUwhyrXLLruk3/zmNzX7Z8cdd8wtCQCgQZQAgGzw4MGl7bbbLv972rRppQcffLDUqVOn0pFHHlnzeq9evUoTJ06sec9f/vKX0gILLFD69ttva6b9+9//LrVt27Y0evTomvctuOCCpfHjx9fMc9lll5Xmm2++0tSpU/N7O3ToULrhhhtqXp80aVKpT58+pTPPPDM/f+SRRyIFlu68885aZR4yZEhptdVW+966xLx33HHHLJVxiSWWKE2ZMqVmnp///OelnXfeebrba7311ivtvffetabFe7beeuua57E9Y9kzEut57LHHlmbWrbfeWurRo0fN81VWWaV0/PHH1zvvSSedVNpiiy1qTfv444/z9hk+fHhp2LBh+d8ffvjhTH8+AMwKNd0AUCFqr6OWNJp4R5PkqDmOwcrKohlyZT/uqB1dbbXVcrPmsvXXXz9NmzYt14iXxTxdunSpeT5w4MDcRPrjjz/OtcvRjDveVxb9yNdee+28/EprrbXWLK/TzJYxaszbtWtX8zyaeX/22WczXG5lmcvLrVvmGYnljxw5Mm266abTnSdq5eP1RRddNHXt2jU3D//iiy9SdXV1fj2a5Z988sn5s4cMGZJeffXVmvdG0/uoeY99Wn6ssMIK+bXY7rFdYtmxX3/+85+nK664In311VczXX4A+CFCNwBU2HjjjfNI2++880767rvvcnPmyrBa+e/GUOTnR9CvFP2wI5gX3Xx/Rj788MP005/+NK266qq5+f2wYcPSJZdckl8rN/v/7W9/m95///0cxqN5eVyYuOiii/JrcWEj+nvHPq18xP7dcMMN80WG6CoQfeVXXHHF/L7om/7BBx8Uut4AtB5CNwDUCbXRn7hv376pffsfvslH//79c21q5cBbTz75ZO6HXB5oLcQ8EeLLnnnmmVzrGgODlQcii/eVRc139ImOIDgj8b4ZjWI+K2WcVbHcyjKXl/tDZa4UNdcx4Fr0ea9PhOwI/uecc05ad9110/LLL59rxuuK7RiD00Vf+ehjHjXWYc0118x9weMzYr9WPsoXMOLiQtSSRx/7l156KW/T6K8OAA1B6AaAObDrrrvmpuiDBw/Og4lFU+aDDjoo17rGSNllUSu71157pTfffDOPrB3NoGMgswi+Ef5ipPTf//73eaCvmGfvvffOzafjPTMSYTJqZaP2NkbkjgHFZreMsyrKGwOtxUBoUXMco4xH6D3yyCNnaTnRfD9CdQyWFsuJgeTKNdURjuMCRDyP2uwYHf3yyy+v9f5DDz003X///Xk7xHtj/eKCQHmQtRiMLgZLi4sY0aQ85o0B3+JixbPPPptOPfXUPMjaiBEjcvk///zzmvcDwJwSugFgDkQ/7QhxEex+9KMfpZ/97Ge5j/DFF19ca76YFveqjibN0U/8f/7nf2r1FY8RyXfaaacchKN29t13383LjRHHZyTeEyOER7P4uB1ZjIw+u2WcVXGLsRiRPG4zFv3B//znP+d7nG+00UaztJy4GHD++eenSy+9NC8nmpNH+A7R5zrCfIxIvvLKK6cbbrghnXbaabXeH+E5wnUE5dgWURseywpxa7eofY95tthii9x3O0J69+7d8wWPuH1bjHq+9dZb5/f98Y9/zBcAoj8/ADSENjGaWoMsCQCoV9yfOm5dVXnfbACgdVDTDQAAAAURugEAAKAgmpcDAABAQdR0AwAAQEGEbgAAACiI0A0AAAAFEboBAACgIEI3AAAAFEToBgAAgIII3QAAAFAQoRsAAAAKInQDAABAKsb/A7YrrWZHmCj8AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "# Import necessary libraries\n", "import pandas as pd\n", @@ -67,6 +126,8 @@ "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\n", + "np.random.seed(123) # Fixed seed for reproducibility\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", @@ -143,6 +204,38 @@ "plt.title(\"Impact of Contact Tracing on Perceived Flu Infection Sources\")\n", "plt.legend()\n", "plt.tight_layout()\n", + "plt.show()\n", + "\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()\n", + "\n", + "\n", + "# 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()" ] }, @@ -193,7 +286,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "sampling-env (3.11.13)", "language": "python", "name": "python3" }, @@ -207,7 +300,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.0" + "version": "3.11.13" } }, "nbformat": 4, diff --git a/uv.lock b/uv.lock index 467e0b9c..3851cc6e 100644 --- a/uv.lock +++ b/uv.lock @@ -1,11 +1,29 @@ version = 1 -revision = 2 +revision = 3 requires-python = ">=3.11" resolution-markers = [ "python_full_version >= '3.12'", "python_full_version < '3.12'", ] +[[package]] +name = "appnope" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170, upload-time = "2024-02-06T09:43:11.258Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321, upload-time = "2024-02-06T09:43:09.663Z" }, +] + +[[package]] +name = "asttokens" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/be/a5/8e3f9b6771b0b408517c82d97aed8f2036509bc247d46114925e32fe33f0/asttokens-3.0.1.tar.gz", hash = "sha256:71a4ee5de0bde6a31d64f6b13f2293ac190344478f081c3d1bccfcf5eacb0cb7", size = 62308, upload-time = "2025-11-15T16:43:48.578Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/39/e7eaf1799466a4aef85b6a4fe7bd175ad2b1c6345066aa33f1f58d4b18d0/asttokens-3.0.1-py3-none-any.whl", hash = "sha256:15a3ebc0f43c2d0a50eeafea25e19046c68398e487b9f1f5b517f7c0f40f976a", size = 27047, upload-time = "2025-11-15T16:43:16.109Z" }, +] + [[package]] name = "cffi" version = "2.0.0" @@ -103,6 +121,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] +[[package]] +name = "comm" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/13/7d740c5849255756bc17888787313b61fd38a0a8304fc4f073dfc46122aa/comm-0.2.3.tar.gz", hash = "sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971", size = 6319, upload-time = "2025-07-25T14:02:04.452Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417", size = 7294, upload-time = "2025-07-25T14:02:02.896Z" }, +] + [[package]] name = "contourpy" version = "1.3.3" @@ -253,6 +280,49 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/e7/05/c19819d5e3d95294a6f5947fb9b9629efb316b96de511b418c53d245aae6/cycler-0.12.1-py3-none-any.whl", hash = "sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30", size = 8321, upload-time = "2023-10-07T05:32:16.783Z" }, ] +[[package]] +name = "debugpy" +version = "1.8.19" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/73/75/9e12d4d42349b817cd545b89247696c67917aab907012ae5b64bbfea3199/debugpy-1.8.19.tar.gz", hash = "sha256:eea7e5987445ab0b5ed258093722d5ecb8bb72217c5c9b1e21f64efe23ddebdb", size = 1644590, upload-time = "2025-12-15T21:53:28.044Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/80/e2/48531a609b5a2aa94c6b6853afdfec8da05630ab9aaa96f1349e772119e9/debugpy-1.8.19-cp311-cp311-macosx_15_0_universal2.whl", hash = "sha256:c5dcfa21de1f735a4f7ced4556339a109aa0f618d366ede9da0a3600f2516d8b", size = 2207620, upload-time = "2025-12-15T21:53:37.1Z" }, + { url = "https://files.pythonhosted.org/packages/1b/d4/97775c01d56071969f57d93928899e5616a4cfbbf4c8cc75390d3a51c4a4/debugpy-1.8.19-cp311-cp311-manylinux_2_34_x86_64.whl", hash = "sha256:806d6800246244004625d5222d7765874ab2d22f3ba5f615416cf1342d61c488", size = 3170796, upload-time = "2025-12-15T21:53:38.513Z" }, + { url = "https://files.pythonhosted.org/packages/8d/7e/8c7681bdb05be9ec972bbb1245eb7c4c7b0679bb6a9e6408d808bc876d3d/debugpy-1.8.19-cp311-cp311-win32.whl", hash = "sha256:783a519e6dfb1f3cd773a9bda592f4887a65040cb0c7bd38dde410f4e53c40d4", size = 5164287, upload-time = "2025-12-15T21:53:40.857Z" }, + { url = "https://files.pythonhosted.org/packages/f2/a8/aaac7ff12ddf5d68a39e13a423a8490426f5f661384f5ad8d9062761bd8e/debugpy-1.8.19-cp311-cp311-win_amd64.whl", hash = "sha256:14035cbdbb1fe4b642babcdcb5935c2da3b1067ac211c5c5a8fdc0bb31adbcaa", size = 5188269, upload-time = "2025-12-15T21:53:42.359Z" }, + { url = "https://files.pythonhosted.org/packages/4a/15/d762e5263d9e25b763b78be72dc084c7a32113a0bac119e2f7acae7700ed/debugpy-1.8.19-cp312-cp312-macosx_15_0_universal2.whl", hash = "sha256:bccb1540a49cde77edc7ce7d9d075c1dbeb2414751bc0048c7a11e1b597a4c2e", size = 2549995, upload-time = "2025-12-15T21:53:43.773Z" }, + { url = "https://files.pythonhosted.org/packages/a7/88/f7d25c68b18873b7c53d7c156ca7a7ffd8e77073aa0eac170a9b679cf786/debugpy-1.8.19-cp312-cp312-manylinux_2_34_x86_64.whl", hash = "sha256:e9c68d9a382ec754dc05ed1d1b4ed5bd824b9f7c1a8cd1083adb84b3c93501de", size = 4309891, upload-time = "2025-12-15T21:53:45.26Z" }, + { url = "https://files.pythonhosted.org/packages/c5/4f/a65e973aba3865794da65f71971dca01ae66666132c7b2647182d5be0c5f/debugpy-1.8.19-cp312-cp312-win32.whl", hash = "sha256:6599cab8a783d1496ae9984c52cb13b7c4a3bd06a8e6c33446832a5d97ce0bee", size = 5286355, upload-time = "2025-12-15T21:53:46.763Z" }, + { url = "https://files.pythonhosted.org/packages/d8/3a/d3d8b48fec96e3d824e404bf428276fb8419dfa766f78f10b08da1cb2986/debugpy-1.8.19-cp312-cp312-win_amd64.whl", hash = "sha256:66e3d2fd8f2035a8f111eb127fa508469dfa40928a89b460b41fd988684dc83d", size = 5328239, upload-time = "2025-12-15T21:53:48.868Z" }, + { url = "https://files.pythonhosted.org/packages/71/3d/388035a31a59c26f1ecc8d86af607d0c42e20ef80074147cd07b180c4349/debugpy-1.8.19-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:91e35db2672a0abaf325f4868fcac9c1674a0d9ad9bb8a8c849c03a5ebba3e6d", size = 2538859, upload-time = "2025-12-15T21:53:50.478Z" }, + { url = "https://files.pythonhosted.org/packages/4a/19/c93a0772d0962294f083dbdb113af1a7427bb632d36e5314297068f55db7/debugpy-1.8.19-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:85016a73ab84dea1c1f1dcd88ec692993bcbe4532d1b49ecb5f3c688ae50c606", size = 4292575, upload-time = "2025-12-15T21:53:51.821Z" }, + { url = "https://files.pythonhosted.org/packages/5c/56/09e48ab796b0a77e3d7dc250f95251832b8bf6838c9632f6100c98bdf426/debugpy-1.8.19-cp313-cp313-win32.whl", hash = "sha256:b605f17e89ba0ecee994391194285fada89cee111cfcd29d6f2ee11cbdc40976", size = 5286209, upload-time = "2025-12-15T21:53:53.602Z" }, + { url = "https://files.pythonhosted.org/packages/fb/4e/931480b9552c7d0feebe40c73725dd7703dcc578ba9efc14fe0e6d31cfd1/debugpy-1.8.19-cp313-cp313-win_amd64.whl", hash = "sha256:c30639998a9f9cd9699b4b621942c0179a6527f083c72351f95c6ab1728d5b73", size = 5328206, upload-time = "2025-12-15T21:53:55.433Z" }, + { url = "https://files.pythonhosted.org/packages/f6/b9/cbec520c3a00508327476c7fce26fbafef98f412707e511eb9d19a2ef467/debugpy-1.8.19-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:1e8c4d1bd230067bf1bbcdbd6032e5a57068638eb28b9153d008ecde288152af", size = 2537372, upload-time = "2025-12-15T21:53:57.318Z" }, + { url = "https://files.pythonhosted.org/packages/88/5e/cf4e4dc712a141e10d58405c58c8268554aec3c35c09cdcda7535ff13f76/debugpy-1.8.19-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:d40c016c1f538dbf1762936e3aeb43a89b965069d9f60f9e39d35d9d25e6b809", size = 4268729, upload-time = "2025-12-15T21:53:58.712Z" }, + { url = "https://files.pythonhosted.org/packages/82/a3/c91a087ab21f1047db328c1d3eb5d1ff0e52de9e74f9f6f6fa14cdd93d58/debugpy-1.8.19-cp314-cp314-win32.whl", hash = "sha256:0601708223fe1cd0e27c6cce67a899d92c7d68e73690211e6788a4b0e1903f5b", size = 5286388, upload-time = "2025-12-15T21:54:00.687Z" }, + { url = "https://files.pythonhosted.org/packages/17/b8/bfdc30b6e94f1eff09f2dc9cc1f9cd1c6cde3d996bcbd36ce2d9a4956e99/debugpy-1.8.19-cp314-cp314-win_amd64.whl", hash = "sha256:8e19a725f5d486f20e53a1dde2ab8bb2c9607c40c00a42ab646def962b41125f", size = 5327741, upload-time = "2025-12-15T21:54:02.148Z" }, + { url = "https://files.pythonhosted.org/packages/25/3e/e27078370414ef35fafad2c06d182110073daaeb5d3bf734b0b1eeefe452/debugpy-1.8.19-py2.py3-none-any.whl", hash = "sha256:360ffd231a780abbc414ba0f005dad409e71c78637efe8f2bd75837132a41d38", size = 5292321, upload-time = "2025-12-15T21:54:16.024Z" }, +] + +[[package]] +name = "decorator" +version = "5.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" }, +] + +[[package]] +name = "executing" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", hash = "sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4", size = 1129488, upload-time = "2025-09-01T09:48:10.866Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017", size = 28317, upload-time = "2025-09-01T09:48:08.5Z" }, +] + [[package]] name = "fancyimpute" version = "0.7.0" @@ -325,6 +395,76 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, ] +[[package]] +name = "ipykernel" +version = "7.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "appnope", marker = "sys_platform == 'darwin'" }, + { name = "comm" }, + { name = "debugpy" }, + { name = "ipython" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "matplotlib-inline" }, + { name = "nest-asyncio" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/a4/4948be6eb88628505b83a1f2f40d90254cab66abf2043b3c40fa07dfce0f/ipykernel-7.1.0.tar.gz", hash = "sha256:58a3fc88533d5930c3546dc7eac66c6d288acde4f801e2001e65edc5dc9cf0db", size = 174579, upload-time = "2025-10-27T09:46:39.471Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/17/20c2552266728ceba271967b87919664ecc0e33efca29c3efc6baf88c5f9/ipykernel-7.1.0-py3-none-any.whl", hash = "sha256:763b5ec6c5b7776f6a8d7ce09b267693b4e5ce75cb50ae696aaefb3c85e1ea4c", size = 117968, upload-time = "2025-10-27T09:46:37.805Z" }, +] + +[[package]] +name = "ipython" +version = "9.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "decorator" }, + { name = "ipython-pygments-lexers" }, + { name = "jedi" }, + { name = "matplotlib-inline" }, + { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit" }, + { name = "pygments" }, + { name = "stack-data" }, + { name = "traitlets" }, + { name = "typing-extensions", marker = "python_full_version < '3.12'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/46/dd/fb08d22ec0c27e73c8bc8f71810709870d51cadaf27b7ddd3f011236c100/ipython-9.9.0.tar.gz", hash = "sha256:48fbed1b2de5e2c7177eefa144aba7fcb82dac514f09b57e2ac9da34ddb54220", size = 4425043, upload-time = "2026-01-05T12:36:46.233Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/86/92/162cfaee4ccf370465c5af1ce36a9eacec1becb552f2033bb3584e6f640a/ipython-9.9.0-py3-none-any.whl", hash = "sha256:b457fe9165df2b84e8ec909a97abcf2ed88f565970efba16b1f7229c283d252b", size = 621431, upload-time = "2026-01-05T12:36:44.669Z" }, +] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" }, +] + +[[package]] +name = "jedi" +version = "0.19.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload-time = "2024-11-11T01:41:40.175Z" }, +] + [[package]] name = "jinja2" version = "3.1.6" @@ -346,6 +486,35 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1e/e8/685f47e0d754320684db4425a0967f7d3fa70126bffd76110b7009a0090f/joblib-1.5.2-py3-none-any.whl", hash = "sha256:4e1f0bdbb987e6d843c70cf43714cb276623def372df3c22fe5266b2670bc241", size = 308396, upload-time = "2025-08-27T12:15:45.188Z" }, ] +[[package]] +name = "jupyter-client" +version = "8.8.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-core" }, + { name = "python-dateutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/05/e4/ba649102a3bc3fbca54e7239fb924fd434c766f855693d86de0b1f2bec81/jupyter_client-8.8.0.tar.gz", hash = "sha256:d556811419a4f2d96c869af34e854e3f059b7cc2d6d01a9cd9c85c267691be3e", size = 348020, upload-time = "2026-01-08T13:55:47.938Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2d/0b/ceb7694d864abc0a047649aec263878acb9f792e1fec3e676f22dc9015e3/jupyter_client-8.8.0-py3-none-any.whl", hash = "sha256:f93a5b99c5e23a507b773d3a1136bd6e16c67883ccdbd9a829b0bbdb98cd7d7a", size = 107371, upload-time = "2026-01-08T13:55:45.562Z" }, +] + +[[package]] +name = "jupyter-core" +version = "5.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "platformdirs" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508", size = 89814, upload-time = "2025-10-16T19:19:18.444Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl", hash = "sha256:ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407", size = 29032, upload-time = "2025-10-16T19:19:16.783Z" }, +] + [[package]] name = "kiwisolver" version = "1.4.9" @@ -558,6 +727,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/16/53/8d8fa0ea32a8c8239e04d022f6c059ee5e1b77517769feccd50f1df43d6d/matplotlib-3.10.6-pp311-pypy311_pp73-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d6ca6ef03dfd269f4ead566ec6f3fb9becf8dab146fb999022ed85ee9f6b3eb", size = 8693933, upload-time = "2025-08-30T00:14:22.942Z" }, ] +[[package]] +name = "matplotlib-inline" +version = "0.2.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c7/74/97e72a36efd4ae2bccb3463284300f8953f199b5ffbc04cbbb0ec78f74b1/matplotlib_inline-0.2.1.tar.gz", hash = "sha256:e1ee949c340d771fc39e241ea75683deb94762c8fa5f2927ec57c83c4dffa9fe", size = 8110, upload-time = "2025-10-23T09:00:22.126Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/33/ee4519fa02ed11a94aef9559552f3b17bb863f2ecfe1a35dc7f548cde231/matplotlib_inline-0.2.1-py3-none-any.whl", hash = "sha256:d56ce5156ba6085e00a9d54fead6ed29a9c47e215cd1bba2e976ef39f5710a76", size = 9516, upload-time = "2025-10-23T09:00:20.675Z" }, +] + [[package]] name = "missingno" version = "0.5.2" @@ -573,6 +754,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/87/22/cd5cf999af21c2f97486622c551ac3d07361ced8125121e907f588ff5f24/missingno-0.5.2-py3-none-any.whl", hash = "sha256:55782621ce09ba0f0a1d08e5bd6d6fe1946469fb03951fadf7d209911ca5b072", size = 8704, upload-time = "2023-02-26T20:10:26.042Z" }, ] +[[package]] +name = "nest-asyncio" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418, upload-time = "2024-01-21T14:25:19.227Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195, upload-time = "2024-01-21T14:25:17.223Z" }, +] + [[package]] name = "nose" version = "1.3.7" @@ -740,6 +930,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/cd/d7/612123674d7b17cf345aad0a10289b2a384bff404e0463a83c4a3a59d205/pandas-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:d2c3554bd31b731cd6490d94a28f3abb8dd770634a9e06eb6d2911b9827db370", size = 13186141, upload-time = "2025-08-21T10:28:05.377Z" }, ] +[[package]] +name = "parso" +version = "0.8.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d4/de/53e0bcf53d13e005bd8c92e7855142494f41171b34c2536b86187474184d/parso-0.8.5.tar.gz", hash = "sha256:034d7354a9a018bdce352f48b2a8a450f05e9d6ee85db84764e9b6bd96dafe5a", size = 401205, upload-time = "2025-08-23T15:15:28.028Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl", hash = "sha256:646204b5ee239c396d040b90f9e272e9a8017c630092bf59980beb62fd033887", size = 106668, upload-time = "2025-08-23T15:15:25.663Z" }, +] + [[package]] name = "patsy" version = "1.0.1" @@ -752,6 +951,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/87/2b/b50d3d08ea0fc419c183a84210571eba005328efa62b6b98bc28e9ead32a/patsy-1.0.1-py2.py3-none-any.whl", hash = "sha256:751fb38f9e97e62312e921a1954b81e1bb2bcda4f5eeabaf94db251ee791509c", size = 232923, upload-time = "2024-11-12T14:10:52.85Z" }, ] +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, +] + [[package]] name = "pillow" version = "11.3.0" @@ -836,6 +1047,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/34/e7/ae39f538fd6844e982063c3a5e4598b8ced43b9633baa3a85ef33af8c05c/pillow-11.3.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c84d689db21a1c397d001aa08241044aa2069e7587b398c8cc63020390b1c1b8", size = 6984598, upload-time = "2025-07-01T09:16:27.732Z" }, ] +[[package]] +name = "platformdirs" +version = "4.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cf/86/0248f086a84f01b37aaec0fa567b397df1a119f73c16f6c7a9aac73ea309/platformdirs-4.5.1.tar.gz", hash = "sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda", size = 21715, upload-time = "2025-12-05T13:52:58.638Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/28/3bfe2fa5a7b9c46fe7e13c97bda14c895fb10fa2ebf1d0abb90e0cea7ee1/platformdirs-4.5.1-py3-none-any.whl", hash = "sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31", size = 18731, upload-time = "2025-12-05T13:52:56.823Z" }, +] + [[package]] name = "pluggy" version = "1.6.0" @@ -845,6 +1065,64 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, ] +[[package]] +name = "prompt-toolkit" +version = "3.0.52" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", hash = "sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855", size = 434198, upload-time = "2025-08-27T15:24:02.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955", size = 391431, upload-time = "2025-08-27T15:23:59.498Z" }, +] + +[[package]] +name = "psutil" +version = "7.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/73/cb/09e5184fb5fc0358d110fc3ca7f6b1d033800734d34cac10f4136cfac10e/psutil-7.2.1.tar.gz", hash = "sha256:f7583aec590485b43ca601dd9cea0dcd65bd7bb21d30ef4ddbf4ea6b5ed1bdd3", size = 490253, upload-time = "2025-12-29T08:26:00.169Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/77/8e/f0c242053a368c2aa89584ecd1b054a18683f13d6e5a318fc9ec36582c94/psutil-7.2.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:ba9f33bb525b14c3ea563b2fd521a84d2fa214ec59e3e6a2858f78d0844dd60d", size = 129624, upload-time = "2025-12-29T08:26:04.255Z" }, + { url = "https://files.pythonhosted.org/packages/26/97/a58a4968f8990617decee234258a2b4fc7cd9e35668387646c1963e69f26/psutil-7.2.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:81442dac7abfc2f4f4385ea9e12ddf5a796721c0f6133260687fec5c3780fa49", size = 130132, upload-time = "2025-12-29T08:26:06.228Z" }, + { url = "https://files.pythonhosted.org/packages/db/6d/ed44901e830739af5f72a85fa7ec5ff1edea7f81bfbf4875e409007149bd/psutil-7.2.1-cp313-cp313t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ea46c0d060491051d39f0d2cff4f98d5c72b288289f57a21556cc7d504db37fc", size = 180612, upload-time = "2025-12-29T08:26:08.276Z" }, + { url = "https://files.pythonhosted.org/packages/c7/65/b628f8459bca4efbfae50d4bf3feaab803de9a160b9d5f3bd9295a33f0c2/psutil-7.2.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:35630d5af80d5d0d49cfc4d64c1c13838baf6717a13effb35869a5919b854cdf", size = 183201, upload-time = "2025-12-29T08:26:10.622Z" }, + { url = "https://files.pythonhosted.org/packages/fb/23/851cadc9764edcc18f0effe7d0bf69f727d4cf2442deb4a9f78d4e4f30f2/psutil-7.2.1-cp313-cp313t-win_amd64.whl", hash = "sha256:923f8653416604e356073e6e0bccbe7c09990acef442def2f5640dd0faa9689f", size = 139081, upload-time = "2025-12-29T08:26:12.483Z" }, + { url = "https://files.pythonhosted.org/packages/59/82/d63e8494ec5758029f31c6cb06d7d161175d8281e91d011a4a441c8a43b5/psutil-7.2.1-cp313-cp313t-win_arm64.whl", hash = "sha256:cfbe6b40ca48019a51827f20d830887b3107a74a79b01ceb8cc8de4ccb17b672", size = 134767, upload-time = "2025-12-29T08:26:14.528Z" }, + { url = "https://files.pythonhosted.org/packages/05/c2/5fb764bd61e40e1fe756a44bd4c21827228394c17414ade348e28f83cd79/psutil-7.2.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:494c513ccc53225ae23eec7fe6e1482f1b8a44674241b54561f755a898650679", size = 129716, upload-time = "2025-12-29T08:26:16.017Z" }, + { url = "https://files.pythonhosted.org/packages/c9/d2/935039c20e06f615d9ca6ca0ab756cf8408a19d298ffaa08666bc18dc805/psutil-7.2.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3fce5f92c22b00cdefd1645aa58ab4877a01679e901555067b1bd77039aa589f", size = 130133, upload-time = "2025-12-29T08:26:18.009Z" }, + { url = "https://files.pythonhosted.org/packages/77/69/19f1eb0e01d24c2b3eacbc2f78d3b5add8a89bf0bb69465bc8d563cc33de/psutil-7.2.1-cp314-cp314t-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:93f3f7b0bb07711b49626e7940d6fe52aa9940ad86e8f7e74842e73189712129", size = 181518, upload-time = "2025-12-29T08:26:20.241Z" }, + { url = "https://files.pythonhosted.org/packages/e1/6d/7e18b1b4fa13ad370787626c95887b027656ad4829c156bb6569d02f3262/psutil-7.2.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d34d2ca888208eea2b5c68186841336a7f5e0b990edec929be909353a202768a", size = 184348, upload-time = "2025-12-29T08:26:22.215Z" }, + { url = "https://files.pythonhosted.org/packages/98/60/1672114392dd879586d60dd97896325df47d9a130ac7401318005aab28ec/psutil-7.2.1-cp314-cp314t-win_amd64.whl", hash = "sha256:2ceae842a78d1603753561132d5ad1b2f8a7979cb0c283f5b52fb4e6e14b1a79", size = 140400, upload-time = "2025-12-29T08:26:23.993Z" }, + { url = "https://files.pythonhosted.org/packages/fb/7b/d0e9d4513c46e46897b46bcfc410d51fc65735837ea57a25170f298326e6/psutil-7.2.1-cp314-cp314t-win_arm64.whl", hash = "sha256:08a2f175e48a898c8eb8eace45ce01777f4785bc744c90aa2cc7f2fa5462a266", size = 135430, upload-time = "2025-12-29T08:26:25.999Z" }, + { url = "https://files.pythonhosted.org/packages/c5/cf/5180eb8c8bdf6a503c6919f1da28328bd1e6b3b1b5b9d5b01ae64f019616/psutil-7.2.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:b2e953fcfaedcfbc952b44744f22d16575d3aa78eb4f51ae74165b4e96e55f42", size = 128137, upload-time = "2025-12-29T08:26:27.759Z" }, + { url = "https://files.pythonhosted.org/packages/c5/2c/78e4a789306a92ade5000da4f5de3255202c534acdadc3aac7b5458fadef/psutil-7.2.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:05cc68dbb8c174828624062e73078e7e35406f4ca2d0866c272c2410d8ef06d1", size = 128947, upload-time = "2025-12-29T08:26:29.548Z" }, + { url = "https://files.pythonhosted.org/packages/29/f8/40e01c350ad9a2b3cb4e6adbcc8a83b17ee50dd5792102b6142385937db5/psutil-7.2.1-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5e38404ca2bb30ed7267a46c02f06ff842e92da3bb8c5bfdadbd35a5722314d8", size = 154694, upload-time = "2025-12-29T08:26:32.147Z" }, + { url = "https://files.pythonhosted.org/packages/06/e4/b751cdf839c011a9714a783f120e6a86b7494eb70044d7d81a25a5cd295f/psutil-7.2.1-cp36-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ab2b98c9fc19f13f59628d94df5cc4cc4844bc572467d113a8b517d634e362c6", size = 156136, upload-time = "2025-12-29T08:26:34.079Z" }, + { url = "https://files.pythonhosted.org/packages/44/ad/bbf6595a8134ee1e94a4487af3f132cef7fce43aef4a93b49912a48c3af7/psutil-7.2.1-cp36-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:f78baafb38436d5a128f837fab2d92c276dfb48af01a240b861ae02b2413ada8", size = 148108, upload-time = "2025-12-29T08:26:36.225Z" }, + { url = "https://files.pythonhosted.org/packages/1c/15/dd6fd869753ce82ff64dcbc18356093471a5a5adf4f77ed1f805d473d859/psutil-7.2.1-cp36-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:99a4cd17a5fdd1f3d014396502daa70b5ec21bf4ffe38393e152f8e449757d67", size = 147402, upload-time = "2025-12-29T08:26:39.21Z" }, + { url = "https://files.pythonhosted.org/packages/34/68/d9317542e3f2b180c4306e3f45d3c922d7e86d8ce39f941bb9e2e9d8599e/psutil-7.2.1-cp37-abi3-win_amd64.whl", hash = "sha256:b1b0671619343aa71c20ff9767eced0483e4fc9e1f489d50923738caf6a03c17", size = 136938, upload-time = "2025-12-29T08:26:41.036Z" }, + { url = "https://files.pythonhosted.org/packages/3e/73/2ce007f4198c80fcf2cb24c169884f833fe93fbc03d55d302627b094ee91/psutil-7.2.1-cp37-abi3-win_arm64.whl", hash = "sha256:0d67c1822c355aa6f7314d92018fb4268a76668a536f133599b91edd48759442", size = 133836, upload-time = "2025-12-29T08:26:43.086Z" }, +] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" }, +] + [[package]] name = "pycparser" version = "2.23" @@ -909,12 +1187,71 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, ] +[[package]] +name = "pyzmq" +version = "27.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "implementation_name == 'pypy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/04/0b/3c9baedbdf613ecaa7aa07027780b8867f57b6293b6ee50de316c9f3222b/pyzmq-27.1.0.tar.gz", hash = "sha256:ac0765e3d44455adb6ddbf4417dcce460fc40a05978c08efdf2948072f6db540", size = 281750, upload-time = "2025-09-08T23:10:18.157Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/06/5d/305323ba86b284e6fcb0d842d6adaa2999035f70f8c38a9b6d21ad28c3d4/pyzmq-27.1.0-cp311-cp311-macosx_10_15_universal2.whl", hash = "sha256:226b091818d461a3bef763805e75685e478ac17e9008f49fce2d3e52b3d58b86", size = 1333328, upload-time = "2025-09-08T23:07:45.946Z" }, + { url = "https://files.pythonhosted.org/packages/bd/a0/fc7e78a23748ad5443ac3275943457e8452da67fda347e05260261108cbc/pyzmq-27.1.0-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:0790a0161c281ca9723f804871b4027f2e8b5a528d357c8952d08cd1a9c15581", size = 908803, upload-time = "2025-09-08T23:07:47.551Z" }, + { url = "https://files.pythonhosted.org/packages/7e/22/37d15eb05f3bdfa4abea6f6d96eb3bb58585fbd3e4e0ded4e743bc650c97/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c895a6f35476b0c3a54e3eb6ccf41bf3018de937016e6e18748317f25d4e925f", size = 668836, upload-time = "2025-09-08T23:07:49.436Z" }, + { url = "https://files.pythonhosted.org/packages/b1/c4/2a6fe5111a01005fc7af3878259ce17684fabb8852815eda6225620f3c59/pyzmq-27.1.0-cp311-cp311-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5bbf8d3630bf96550b3be8e1fc0fea5cbdc8d5466c1192887bd94869da17a63e", size = 857038, upload-time = "2025-09-08T23:07:51.234Z" }, + { url = "https://files.pythonhosted.org/packages/cb/eb/bfdcb41d0db9cd233d6fb22dc131583774135505ada800ebf14dfb0a7c40/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:15c8bd0fe0dabf808e2d7a681398c4e5ded70a551ab47482067a572c054c8e2e", size = 1657531, upload-time = "2025-09-08T23:07:52.795Z" }, + { url = "https://files.pythonhosted.org/packages/ab/21/e3180ca269ed4a0de5c34417dfe71a8ae80421198be83ee619a8a485b0c7/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bafcb3dd171b4ae9f19ee6380dfc71ce0390fefaf26b504c0e5f628d7c8c54f2", size = 2034786, upload-time = "2025-09-08T23:07:55.047Z" }, + { url = "https://files.pythonhosted.org/packages/3b/b1/5e21d0b517434b7f33588ff76c177c5a167858cc38ef740608898cd329f2/pyzmq-27.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:e829529fcaa09937189178115c49c504e69289abd39967cd8a4c215761373394", size = 1894220, upload-time = "2025-09-08T23:07:57.172Z" }, + { url = "https://files.pythonhosted.org/packages/03/f2/44913a6ff6941905efc24a1acf3d3cb6146b636c546c7406c38c49c403d4/pyzmq-27.1.0-cp311-cp311-win32.whl", hash = "sha256:6df079c47d5902af6db298ec92151db82ecb557af663098b92f2508c398bb54f", size = 567155, upload-time = "2025-09-08T23:07:59.05Z" }, + { url = "https://files.pythonhosted.org/packages/23/6d/d8d92a0eb270a925c9b4dd039c0b4dc10abc2fcbc48331788824ef113935/pyzmq-27.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:190cbf120fbc0fc4957b56866830def56628934a9d112aec0e2507aa6a032b97", size = 633428, upload-time = "2025-09-08T23:08:00.663Z" }, + { url = "https://files.pythonhosted.org/packages/ae/14/01afebc96c5abbbd713ecfc7469cfb1bc801c819a74ed5c9fad9a48801cb/pyzmq-27.1.0-cp311-cp311-win_arm64.whl", hash = "sha256:eca6b47df11a132d1745eb3b5b5e557a7dae2c303277aa0e69c6ba91b8736e07", size = 559497, upload-time = "2025-09-08T23:08:02.15Z" }, + { url = "https://files.pythonhosted.org/packages/92/e7/038aab64a946d535901103da16b953c8c9cc9c961dadcbf3609ed6428d23/pyzmq-27.1.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:452631b640340c928fa343801b0d07eb0c3789a5ffa843f6e1a9cee0ba4eb4fc", size = 1306279, upload-time = "2025-09-08T23:08:03.807Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5e/c3c49fdd0f535ef45eefcc16934648e9e59dace4a37ee88fc53f6cd8e641/pyzmq-27.1.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1c179799b118e554b66da67d88ed66cd37a169f1f23b5d9f0a231b4e8d44a113", size = 895645, upload-time = "2025-09-08T23:08:05.301Z" }, + { url = "https://files.pythonhosted.org/packages/f8/e5/b0b2504cb4e903a74dcf1ebae157f9e20ebb6ea76095f6cfffea28c42ecd/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3837439b7f99e60312f0c926a6ad437b067356dc2bc2ec96eb395fd0fe804233", size = 652574, upload-time = "2025-09-08T23:08:06.828Z" }, + { url = "https://files.pythonhosted.org/packages/f8/9b/c108cdb55560eaf253f0cbdb61b29971e9fb34d9c3499b0e96e4e60ed8a5/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43ad9a73e3da1fab5b0e7e13402f0b2fb934ae1c876c51d0afff0e7c052eca31", size = 840995, upload-time = "2025-09-08T23:08:08.396Z" }, + { url = "https://files.pythonhosted.org/packages/c2/bb/b79798ca177b9eb0825b4c9998c6af8cd2a7f15a6a1a4272c1d1a21d382f/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0de3028d69d4cdc475bfe47a6128eb38d8bc0e8f4d69646adfbcd840facbac28", size = 1642070, upload-time = "2025-09-08T23:08:09.989Z" }, + { url = "https://files.pythonhosted.org/packages/9c/80/2df2e7977c4ede24c79ae39dcef3899bfc5f34d1ca7a5b24f182c9b7a9ca/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:cf44a7763aea9298c0aa7dbf859f87ed7012de8bda0f3977b6fb1d96745df856", size = 2021121, upload-time = "2025-09-08T23:08:11.907Z" }, + { url = "https://files.pythonhosted.org/packages/46/bd/2d45ad24f5f5ae7e8d01525eb76786fa7557136555cac7d929880519e33a/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f30f395a9e6fbca195400ce833c731e7b64c3919aa481af4d88c3759e0cb7496", size = 1878550, upload-time = "2025-09-08T23:08:13.513Z" }, + { url = "https://files.pythonhosted.org/packages/e6/2f/104c0a3c778d7c2ab8190e9db4f62f0b6957b53c9d87db77c284b69f33ea/pyzmq-27.1.0-cp312-abi3-win32.whl", hash = "sha256:250e5436a4ba13885494412b3da5d518cd0d3a278a1ae640e113c073a5f88edd", size = 559184, upload-time = "2025-09-08T23:08:15.163Z" }, + { url = "https://files.pythonhosted.org/packages/fc/7f/a21b20d577e4100c6a41795842028235998a643b1ad406a6d4163ea8f53e/pyzmq-27.1.0-cp312-abi3-win_amd64.whl", hash = "sha256:9ce490cf1d2ca2ad84733aa1d69ce6855372cb5ce9223802450c9b2a7cba0ccf", size = 619480, upload-time = "2025-09-08T23:08:17.192Z" }, + { url = "https://files.pythonhosted.org/packages/78/c2/c012beae5f76b72f007a9e91ee9401cb88c51d0f83c6257a03e785c81cc2/pyzmq-27.1.0-cp312-abi3-win_arm64.whl", hash = "sha256:75a2f36223f0d535a0c919e23615fc85a1e23b71f40c7eb43d7b1dedb4d8f15f", size = 552993, upload-time = "2025-09-08T23:08:18.926Z" }, + { url = "https://files.pythonhosted.org/packages/60/cb/84a13459c51da6cec1b7b1dc1a47e6db6da50b77ad7fd9c145842750a011/pyzmq-27.1.0-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:93ad4b0855a664229559e45c8d23797ceac03183c7b6f5b4428152a6b06684a5", size = 1122436, upload-time = "2025-09-08T23:08:20.801Z" }, + { url = "https://files.pythonhosted.org/packages/dc/b6/94414759a69a26c3dd674570a81813c46a078767d931a6c70ad29fc585cb/pyzmq-27.1.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:fbb4f2400bfda24f12f009cba62ad5734148569ff4949b1b6ec3b519444342e6", size = 1156301, upload-time = "2025-09-08T23:08:22.47Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ad/15906493fd40c316377fd8a8f6b1f93104f97a752667763c9b9c1b71d42d/pyzmq-27.1.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:e343d067f7b151cfe4eb3bb796a7752c9d369eed007b91231e817071d2c2fec7", size = 1341197, upload-time = "2025-09-08T23:08:24.286Z" }, + { url = "https://files.pythonhosted.org/packages/14/1d/d343f3ce13db53a54cb8946594e567410b2125394dafcc0268d8dda027e0/pyzmq-27.1.0-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:08363b2011dec81c354d694bdecaef4770e0ae96b9afea70b3f47b973655cc05", size = 897275, upload-time = "2025-09-08T23:08:26.063Z" }, + { url = "https://files.pythonhosted.org/packages/69/2d/d83dd6d7ca929a2fc67d2c3005415cdf322af7751d773524809f9e585129/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d54530c8c8b5b8ddb3318f481297441af102517602b569146185fa10b63f4fa9", size = 660469, upload-time = "2025-09-08T23:08:27.623Z" }, + { url = "https://files.pythonhosted.org/packages/3e/cd/9822a7af117f4bc0f1952dbe9ef8358eb50a24928efd5edf54210b850259/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f3afa12c392f0a44a2414056d730eebc33ec0926aae92b5ad5cf26ebb6cc128", size = 847961, upload-time = "2025-09-08T23:08:29.672Z" }, + { url = "https://files.pythonhosted.org/packages/9a/12/f003e824a19ed73be15542f172fd0ec4ad0b60cf37436652c93b9df7c585/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c65047adafe573ff023b3187bb93faa583151627bc9c51fc4fb2c561ed689d39", size = 1650282, upload-time = "2025-09-08T23:08:31.349Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4a/e82d788ed58e9a23995cee70dbc20c9aded3d13a92d30d57ec2291f1e8a3/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:90e6e9441c946a8b0a667356f7078d96411391a3b8f80980315455574177ec97", size = 2024468, upload-time = "2025-09-08T23:08:33.543Z" }, + { url = "https://files.pythonhosted.org/packages/d9/94/2da0a60841f757481e402b34bf4c8bf57fa54a5466b965de791b1e6f747d/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:add071b2d25f84e8189aaf0882d39a285b42fa3853016ebab234a5e78c7a43db", size = 1885394, upload-time = "2025-09-08T23:08:35.51Z" }, + { url = "https://files.pythonhosted.org/packages/4f/6f/55c10e2e49ad52d080dc24e37adb215e5b0d64990b57598abc2e3f01725b/pyzmq-27.1.0-cp313-cp313t-win32.whl", hash = "sha256:7ccc0700cfdf7bd487bea8d850ec38f204478681ea02a582a8da8171b7f90a1c", size = 574964, upload-time = "2025-09-08T23:08:37.178Z" }, + { url = "https://files.pythonhosted.org/packages/87/4d/2534970ba63dd7c522d8ca80fb92777f362c0f321900667c615e2067cb29/pyzmq-27.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:8085a9fba668216b9b4323be338ee5437a235fe275b9d1610e422ccc279733e2", size = 641029, upload-time = "2025-09-08T23:08:40.595Z" }, + { url = "https://files.pythonhosted.org/packages/f6/fa/f8aea7a28b0641f31d40dea42d7ef003fded31e184ef47db696bc74cd610/pyzmq-27.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:6bb54ca21bcfe361e445256c15eedf083f153811c37be87e0514934d6913061e", size = 561541, upload-time = "2025-09-08T23:08:42.668Z" }, + { url = "https://files.pythonhosted.org/packages/87/45/19efbb3000956e82d0331bafca5d9ac19ea2857722fa2caacefb6042f39d/pyzmq-27.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ce980af330231615756acd5154f29813d553ea555485ae712c491cd483df6b7a", size = 1341197, upload-time = "2025-09-08T23:08:44.973Z" }, + { url = "https://files.pythonhosted.org/packages/48/43/d72ccdbf0d73d1343936296665826350cb1e825f92f2db9db3e61c2162a2/pyzmq-27.1.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1779be8c549e54a1c38f805e56d2a2e5c009d26de10921d7d51cfd1c8d4632ea", size = 897175, upload-time = "2025-09-08T23:08:46.601Z" }, + { url = "https://files.pythonhosted.org/packages/2f/2e/a483f73a10b65a9ef0161e817321d39a770b2acf8bcf3004a28d90d14a94/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7200bb0f03345515df50d99d3db206a0a6bee1955fbb8c453c76f5bf0e08fb96", size = 660427, upload-time = "2025-09-08T23:08:48.187Z" }, + { url = "https://files.pythonhosted.org/packages/f5/d2/5f36552c2d3e5685abe60dfa56f91169f7a2d99bbaf67c5271022ab40863/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01c0e07d558b06a60773744ea6251f769cd79a41a97d11b8bf4ab8f034b0424d", size = 847929, upload-time = "2025-09-08T23:08:49.76Z" }, + { url = "https://files.pythonhosted.org/packages/c4/2a/404b331f2b7bf3198e9945f75c4c521f0c6a3a23b51f7a4a401b94a13833/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:80d834abee71f65253c91540445d37c4c561e293ba6e741b992f20a105d69146", size = 1650193, upload-time = "2025-09-08T23:08:51.7Z" }, + { url = "https://files.pythonhosted.org/packages/1c/0b/f4107e33f62a5acf60e3ded67ed33d79b4ce18de432625ce2fc5093d6388/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:544b4e3b7198dde4a62b8ff6685e9802a9a1ebf47e77478a5eb88eca2a82f2fd", size = 2024388, upload-time = "2025-09-08T23:08:53.393Z" }, + { url = "https://files.pythonhosted.org/packages/0d/01/add31fe76512642fd6e40e3a3bd21f4b47e242c8ba33efb6809e37076d9b/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cedc4c68178e59a4046f97eca31b148ddcf51e88677de1ef4e78cf06c5376c9a", size = 1885316, upload-time = "2025-09-08T23:08:55.702Z" }, + { url = "https://files.pythonhosted.org/packages/c4/59/a5f38970f9bf07cee96128de79590bb354917914a9be11272cfc7ff26af0/pyzmq-27.1.0-cp314-cp314t-win32.whl", hash = "sha256:1f0b2a577fd770aa6f053211a55d1c47901f4d537389a034c690291485e5fe92", size = 587472, upload-time = "2025-09-08T23:08:58.18Z" }, + { url = "https://files.pythonhosted.org/packages/70/d8/78b1bad170f93fcf5e3536e70e8fadac55030002275c9a29e8f5719185de/pyzmq-27.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:19c9468ae0437f8074af379e986c5d3d7d7bfe033506af442e8c879732bedbe0", size = 661401, upload-time = "2025-09-08T23:08:59.802Z" }, + { url = "https://files.pythonhosted.org/packages/81/d6/4bfbb40c9a0b42fc53c7cf442f6385db70b40f74a783130c5d0a5aa62228/pyzmq-27.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dc5dbf68a7857b59473f7df42650c621d7e8923fb03fa74a526890f4d33cc4d7", size = 575170, upload-time = "2025-09-08T23:09:01.418Z" }, + { url = "https://files.pythonhosted.org/packages/4c/c6/c4dcdecdbaa70969ee1fdced6d7b8f60cfabe64d25361f27ac4665a70620/pyzmq-27.1.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl", hash = "sha256:18770c8d3563715387139060d37859c02ce40718d1faf299abddcdcc6a649066", size = 836265, upload-time = "2025-09-08T23:09:49.376Z" }, + { url = "https://files.pythonhosted.org/packages/3e/79/f38c92eeaeb03a2ccc2ba9866f0439593bb08c5e3b714ac1d553e5c96e25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:ac25465d42f92e990f8d8b0546b01c391ad431c3bf447683fdc40565941d0604", size = 800208, upload-time = "2025-09-08T23:09:51.073Z" }, + { url = "https://files.pythonhosted.org/packages/49/0e/3f0d0d335c6b3abb9b7b723776d0b21fa7f3a6c819a0db6097059aada160/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53b40f8ae006f2734ee7608d59ed661419f087521edbfc2149c3932e9c14808c", size = 567747, upload-time = "2025-09-08T23:09:52.698Z" }, + { url = "https://files.pythonhosted.org/packages/a1/cf/f2b3784d536250ffd4be70e049f3b60981235d70c6e8ce7e3ef21e1adb25/pyzmq-27.1.0-pp311-pypy311_pp73-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f605d884e7c8be8fe1aa94e0a783bf3f591b84c24e4bc4f3e7564c82ac25e271", size = 747371, upload-time = "2025-09-08T23:09:54.563Z" }, + { url = "https://files.pythonhosted.org/packages/01/1b/5dbe84eefc86f48473947e2f41711aded97eecef1231f4558f1f02713c12/pyzmq-27.1.0-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c9f7f6e13dff2e44a6afeaf2cf54cee5929ad64afaf4d40b50f93c58fc687355", size = 544862, upload-time = "2025-09-08T23:09:56.509Z" }, +] + [[package]] name = "sampling-env" version = "0.1.0" source = { virtual = "." } dependencies = [ { name = "fancyimpute" }, + { name = "ipykernel" }, { name = "matplotlib" }, { name = "missingno" }, { name = "numpy" }, @@ -925,6 +1262,7 @@ dependencies = [ [package.metadata] requires-dist = [ { name = "fancyimpute", specifier = ">=0.7.0" }, + { name = "ipykernel", specifier = ">=6.30.1" }, { name = "matplotlib", specifier = ">=3.10.6" }, { name = "missingno", specifier = ">=0.5.2" }, { name = "numpy", specifier = ">=2.3.3" }, @@ -1116,6 +1454,20 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, ] +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, +] + [[package]] name = "statsmodels" version = "0.14.5" @@ -1147,6 +1499,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/1e/48/973da1ee8bc0743519759e74c3615b39acdc3faf00e0a0710f8c856d8c9d/statsmodels-0.14.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5a085d47c8ef5387279a991633883d0e700de2b0acc812d7032d165888627bef", size = 10453538, upload-time = "2025-07-07T14:24:06.959Z" }, { url = "https://files.pythonhosted.org/packages/c7/d6/18903fb707afd31cf1edaec5201964dbdacb2bfae9a22558274647a7c88f/statsmodels-0.14.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9f866b2ebb2904b47c342d00def83c526ef2eb1df6a9a3c94ba5fe63d0005aec", size = 10681584, upload-time = "2025-07-07T14:24:21.038Z" }, { url = "https://files.pythonhosted.org/packages/44/d6/80df1bbbfcdc50bff4152f43274420fa9856d56e234d160d6206eb1f5827/statsmodels-0.14.5-cp313-cp313-win_amd64.whl", hash = "sha256:2a06bca03b7a492f88c8106103ab75f1a5ced25de90103a89f3a287518017939", size = 9604641, upload-time = "2025-07-07T12:08:36.23Z" }, + { url = "https://files.pythonhosted.org/packages/fd/6c/0fb40a89d715412160097c6f3387049ed88c9bd866c8838a8852c705ae2f/statsmodels-0.14.5-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:07c4dad25bbb15864a31b4917a820f6d104bdc24e5ddadcda59027390c3bed9e", size = 10211256, upload-time = "2025-10-30T13:46:58.591Z" }, + { url = "https://files.pythonhosted.org/packages/88/4a/e36fe8b19270ab3e80df357da924c6c029cab0fb9a0fbd28aaf49341707d/statsmodels-0.14.5-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:babb067c852e966c2c933b79dbb5d0240919d861941a2ef6c0e13321c255528d", size = 10110933, upload-time = "2025-10-30T13:47:11.774Z" }, + { url = "https://files.pythonhosted.org/packages/8a/bf/1b7e7b1a6c09a88a9c5c9e60622c050dfd08af11c2e6d4a42dbc71b32ee1/statsmodels-0.14.5-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:110194b137286173cc676d7bad0119a197778de6478fc6cbdc3b33571165ac1e", size = 10253981, upload-time = "2025-10-30T16:32:22.399Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d0/f95da95524bdd99613923ca61a3036d1308cee1290e5e8acb89f51736a8c/statsmodels-0.14.5-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c8a9c384a60c80731b278e7fd18764364c8817f4995b13a175d636f967823d1", size = 10460450, upload-time = "2025-10-30T16:32:44.985Z" }, + { url = "https://files.pythonhosted.org/packages/28/bb/59e7be0271be264b7b541baf3973f97747740950bfd5115de731f63da8ab/statsmodels-0.14.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:557df3a870a57248df744fdfcc444ecbc5bdbf1c042b8a8b5d8e3e797830dc2a", size = 10694060, upload-time = "2025-10-30T16:33:07.656Z" }, + { url = "https://files.pythonhosted.org/packages/8b/c0/b28d0fd0347ea38d3610052f479e4b922eb33bb8790817f93cd89e6e08ba/statsmodels-0.14.5-cp314-cp314-win_amd64.whl", hash = "sha256:95af7a9c4689d514f4341478b891f867766f3da297f514b8c4adf08f4fa61d03", size = 9648961, upload-time = "2025-10-30T13:47:24.303Z" }, ] [[package]] @@ -1158,6 +1516,43 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638, upload-time = "2025-03-13T13:49:21.846Z" }, ] +[[package]] +name = "tornado" +version = "6.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/37/1d/0a336abf618272d53f62ebe274f712e213f5a03c0b2339575430b8362ef2/tornado-6.5.4.tar.gz", hash = "sha256:a22fa9047405d03260b483980635f0b041989d8bcc9a313f8fe18b411d84b1d7", size = 513632, upload-time = "2025-12-15T19:21:03.836Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ab/a9/e94a9d5224107d7ce3cc1fab8d5dc97f5ea351ccc6322ee4fb661da94e35/tornado-6.5.4-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d6241c1a16b1c9e4cc28148b1cda97dd1c6cb4fb7068ac1bedc610768dff0ba9", size = 443909, upload-time = "2025-12-15T19:20:48.382Z" }, + { url = "https://files.pythonhosted.org/packages/db/7e/f7b8d8c4453f305a51f80dbb49014257bb7d28ccb4bbb8dd328ea995ecad/tornado-6.5.4-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:2d50f63dda1d2cac3ae1fa23d254e16b5e38153758470e9956cbc3d813d40843", size = 442163, upload-time = "2025-12-15T19:20:49.791Z" }, + { url = "https://files.pythonhosted.org/packages/ba/b5/206f82d51e1bfa940ba366a8d2f83904b15942c45a78dd978b599870ab44/tornado-6.5.4-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1cf66105dc6acb5af613c054955b8137e34a03698aa53272dbda4afe252be17", size = 445746, upload-time = "2025-12-15T19:20:51.491Z" }, + { url = "https://files.pythonhosted.org/packages/8e/9d/1a3338e0bd30ada6ad4356c13a0a6c35fbc859063fa7eddb309183364ac1/tornado-6.5.4-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50ff0a58b0dc97939d29da29cd624da010e7f804746621c78d14b80238669335", size = 445083, upload-time = "2025-12-15T19:20:52.778Z" }, + { url = "https://files.pythonhosted.org/packages/50/d4/e51d52047e7eb9a582da59f32125d17c0482d065afd5d3bc435ff2120dc5/tornado-6.5.4-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e5fb5e04efa54cf0baabdd10061eb4148e0be137166146fff835745f59ab9f7f", size = 445315, upload-time = "2025-12-15T19:20:53.996Z" }, + { url = "https://files.pythonhosted.org/packages/27/07/2273972f69ca63dbc139694a3fc4684edec3ea3f9efabf77ed32483b875c/tornado-6.5.4-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9c86b1643b33a4cd415f8d0fe53045f913bf07b4a3ef646b735a6a86047dda84", size = 446003, upload-time = "2025-12-15T19:20:56.101Z" }, + { url = "https://files.pythonhosted.org/packages/d1/83/41c52e47502bf7260044413b6770d1a48dda2f0246f95ee1384a3cd9c44a/tornado-6.5.4-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:6eb82872335a53dd063a4f10917b3efd28270b56a33db69009606a0312660a6f", size = 445412, upload-time = "2025-12-15T19:20:57.398Z" }, + { url = "https://files.pythonhosted.org/packages/10/c7/bc96917f06cbee182d44735d4ecde9c432e25b84f4c2086143013e7b9e52/tornado-6.5.4-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6076d5dda368c9328ff41ab5d9dd3608e695e8225d1cd0fd1e006f05da3635a8", size = 445392, upload-time = "2025-12-15T19:20:58.692Z" }, + { url = "https://files.pythonhosted.org/packages/0c/1a/d7592328d037d36f2d2462f4bc1fbb383eec9278bc786c1b111cbbd44cfa/tornado-6.5.4-cp39-abi3-win32.whl", hash = "sha256:1768110f2411d5cd281bac0a090f707223ce77fd110424361092859e089b38d1", size = 446481, upload-time = "2025-12-15T19:21:00.008Z" }, + { url = "https://files.pythonhosted.org/packages/d6/6d/c69be695a0a64fd37a97db12355a035a6d90f79067a3cf936ec2b1dc38cd/tornado-6.5.4-cp39-abi3-win_amd64.whl", hash = "sha256:fa07d31e0cd85c60713f2b995da613588aa03e1303d75705dca6af8babc18ddc", size = 446886, upload-time = "2025-12-15T19:21:01.287Z" }, + { url = "https://files.pythonhosted.org/packages/50/49/8dc3fd90902f70084bd2cd059d576ddb4f8bb44c2c7c0e33a11422acb17e/tornado-6.5.4-cp39-abi3-win_arm64.whl", hash = "sha256:053e6e16701eb6cbe641f308f4c1a9541f91b6261991160391bfc342e8a551a1", size = 445910, upload-time = "2025-12-15T19:21:02.571Z" }, +] + +[[package]] +name = "traitlets" +version = "5.14.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload-time = "2024-04-19T11:11:49.746Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + [[package]] name = "tzdata" version = "2025.2" @@ -1166,3 +1561,12 @@ sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be76 wheels = [ { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, ] + +[[package]] +name = "wcwidth" +version = "0.2.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz", hash = "sha256:4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605", size = 102293, upload-time = "2025-09-22T16:29:53.023Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl", hash = "sha256:a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1", size = 37286, upload-time = "2025-09-22T16:29:51.641Z" }, +]