{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Author: cs224\n", "\n", "Last updated: 2021-09-10\n", "\n", "Python implementation: CPython\n", "Python version : 3.8.10\n", "IPython version : 7.22.0\n", "\n", "numpy : 1.20.2\n", "pandas : 1.2.5\n", "matplotlib: 3.3.4\n", "sklearn : 0.24.2\n", "h5py : 2.10.0\n", "pytest : 6.2.4\n", "\n" ] } ], "source": [ "%load_ext watermark\n", "%watermark -a 'cs224' -u -d -v -p numpy,pandas,matplotlib,sklearn,h5py,pytest" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import numpy as np, scipy, scipy.stats as stats, pandas as pd, matplotlib.pyplot as plt, seaborn as sns\n", "import sklearn, sklearn.pipeline, sklearn.model_selection, sklearn.preprocessing, sklearn.linear_model\n", "\n", "pd.set_option('display.max_columns', 500)\n", "pd.set_option('display.width', 1000)\n", "# pd.set_option('display.float_format', lambda x: '%.2f' % x)\n", "np.set_printoptions(edgeitems=10)\n", "np.set_printoptions(linewidth=1000)\n", "np.set_printoptions(suppress=True)\n", "np.core.arrayprint._line_width = 180\n", "\n", "SEED = 42\n", "np.random.seed(SEED)\n", "\n", "sns.set()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from IPython.core.display import display, HTML\n", "display(HTML(\"\"))" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# import os,sys\n", "# sys.path.append(os.path.realpath(os.path.abspath('') + '/../../lib'))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# %load_ext autoreload\n", "# %autoreload 1\n", "# %aimport somemodule" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from IPython.display import display, HTML\n", "\n", "from IPython.display import display_html\n", "def display_side_by_side(*args):\n", " html_str=''\n", " for df in args:\n", " if type(df) == np.ndarray:\n", " df = pd.DataFrame(df)\n", " html_str+=df.to_html()\n", " html_str = html_str.replace('table','table style=\"display:inline\"')\n", " # print(html_str)\n", " display_html(html_str,raw=True)\n", "\n", "CSS = \"\"\"\n", ".output {\n", " flex-direction: row;\n", "}\n", "\"\"\"\n", "\n", "def display_graphs_side_by_side(*args):\n", " html_str=''\n", " for g in args:\n", " html_str += ''\n", " html_str += '
'\n", " html_str += g._repr_svg_()\n", " html_str += '
'\n", " display_html(html_str,raw=True)\n", " \n", "\n", "display(HTML(\"\"))" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# import importlib, logging\n", "# importlib.reload(logging)\n", "# logging.basicConfig(level=logging.DEBUG)\n", "# logging.info('test')" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# import warnings\n", "# with warnings.catch_warnings():\n", "# warnings.simplefilter(\"ignore\")\n", "# warnings.filterwarnings(\"ignore\", module='xxx_module_xxx')\n", "# warnings.filterwarnings('error', category=RuntimeWarning, module='empyrical.stats')\n", "\n", "\n", "# with warnings.catch_warnings(record=True) as w:\n", "# # Cause all warnings to always be triggered.\n", "# warnings.simplefilter(\"always\")\n", "\n", "# warnings.filterwarnings('error, message='', category=Warning, module='', lineno=0, append=False)\n", "# warnings.filterwarnings('error', module='pandas')\n", "# warnings.filterwarnings('ignore', module='numba_scipy')\n", "# warnings.filterwarnings('ignore', module='zipline.assets')" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 2.57399925],\n", " [-9.08481433],\n", " [-3.78503106],\n", " [-5.34915599],\n", " [ 8.58073346]])" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "N_subjects = 1000\n", "\n", "X = stats.norm(loc=0, scale=10).rvs(size=(N_subjects,1), random_state=np.random.RandomState(43))\n", "X[:5,:]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 1.91169227],\n", " [-2.8842285 ],\n", " [-0.26944552],\n", " [-2.47703586],\n", " [ 4.55629489]])" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a = 0.5\n", "b = 1\n", "y = a * X + b\n", "y = y + stats.norm(loc=0, scale=0.5).rvs(size=(N_subjects,1), random_state=np.random.RandomState(44))\n", "y[:5,:]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "x_min = np.min(X)\n", "x_max = np.max(X)\n", "x_lin = np.linspace(x_min, x_max, 100)\n", "y_lin = a * x_lin + b" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([0.99580863]), array([[0.49856981]]))" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lr_poly = sklearn.linear_model.LinearRegression()\n", "lr_poly.fit(X, y)\n", "lr_poly.intercept_, lr_poly.coef_" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9YAAAIKCAYAAADGYtdSAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAxOAAAMTgF/d4wjAACC8klEQVR4nO39eXyb1Z33/7/PJXmRHVuyYztA7EASHChLQggQtrQdytJpy9ZOSZcpd+d3Q7f5tjMNMy3flk6nHejdDej02xk6tNNlyprepVDaQlnbsm8JgbIkBrI5EC+xLG+ybF3X+f2hSPEiybIs23L8ej4enSHSpUtHycHkrXPO52OstVYAAAAAACAvzmwPAAAAAACAuYxgDQAAAADAFBCsAQAAAACYAoI1AAAAAABTQLAGAAAAAGAKCNYAAAAAAEwBwRoAAAAAgCnwz/YA8tHTE5XrerM9jEmpqalUONw/28PAHMTcQT6YN8gXcwf5YN4gH8wb5Gum547P56i6OpD1mjkZrF3XUzw+d4K1MYn/77qerJ3dsWBuYe4gH8wb5Iu5g3wwb5AP5g3yVaxzh63gAAAAAABMAcEaAAAAAIApIFgDAAAAADAFBGsAAAAAAKaAYA0AAAAAwBQQrAEAAAAAmAKCNQAAAAAAU0CwBgAAAABgCgjWAAAAAABMAcEaAAAAAIApIFgDAAAAADAFBGsAAAAAAKaAYA0AAAAAwBQQrAEAAAAAmAKCNQAAAAAAU+Cf7QEAAAAAAOYXa61aWiNqD0fVUBNQc2NQxpjZHlbeCNYAAAAAgBnTGYnqutu3qDMSlc9x5Hqe6oIBbVi/SnXBwGwPLy9sBQcAAAAAzAhrra67fYvaw1HFXavYsKu4a9Uejur6jVtkrZ3tIeaFYA0AAAAAmBEtrRF1RqLyxgRoz1p1dEfV0hqZpZFNDcEaAAAAADAj2sOJ7d/p+BxH7eHoDI+oMAjWAAAAAIAZ0VATkOt5aZ9zPU8NNZyxBgAAAAAgo+bGoOqCATljKoA7xqg+lKgOPhcRrAEAAAAAM8IYow3rV6mhJiC/z6isxCe/z2hRbUAbLjlhzrbcot0WAAAAAGBGWGvV1RPTX5+6REPDnkr9jhbVVtDHGgAAAACAiWTrXz2XQ7XEVnAAAAAAwDQ7WPtXJxGsAQAAAADT6mDtX51EsAYAAAAATKuDtX91EsEaAAAAADCtaqrKNBx30z43l/tXJ1G8DAAAAAAwLYbjrv70/Jv63ZM75aU5Rj3X+1cnEawBAAAAAAU1HPf0yAtv6ndP7FS4N6ZgZakuOOMIPfVym/b1DKaqgteH5nb/6iSCNQAAAACgIOKup0dfeEu/fWKHunpiqq4o0YfOOlLvXL1YpSU+XXjmUrW0RtQejqqhJjDn+1cnFTxY33TTTbrjjju0bds2nXPOObr++utTz5111lnq7OyUz+eTJB122GH63e9+V+ghAAAAAABmUNz19Phf9urux3ZoX8+gFgRK9MG/Wq6zVjeqrNSXus4YoxVNIa1oCs3eYKdBwYN1Q0ODPvOZz+jxxx9XOBwe9/wPfvADvf3tby/02wIAAAAAZpjreXriL226+/Ht6ugeVGW5Xx94xzK9a02jykvnzwbpgn/Sc889V5L0yiuvpA3WhTKXdgskxzqXxoziwNxBPpg3yBdzB/lg3iAfzJviY62d1BZt1/P01EttuuuxHWoPR1VZ7tf7375MZ5/UqEDZ9AXqYp07M/4VwpVXXinP89Tc3Kx//Md/1Jo1ayZ9j5qaymkY2fRbuLBqtoeAOYq5g3wwb5Av5g7ywbxBPpg3xaG9a0D/cuMTausakN9nFHetFtVW6OufOE0NtRWjrnU9q0ee36Pb7ntVezr6VVnu10fOO1oXrFumykDJjI252ObOjAbrb3/72zruuOMkSXfccYcuv/xy3X333Vq8ePGk7hMO98t1vekY4rQwJvEHv29fr2yaEvNAJswd5IN5g3wxd5AP5g3ywbwpHtZaffnGp9QejsqzVslW02919uuqHz6may5fK2OMPGv1zCvt+s2j2/XmvgGVl/p0wRlH6LxTmlRRXqJo/6Ci/YPTPt7ZmDs+nzPh4u6MBuuTTjop9c8f+chH9Pvf/15//vOf9eEPf3jS95qL/wJaOzfHjdnH3EE+mDfIF3MH+WDeIB/Mm9m3bXdEnZFEqB7Js1Yd3VFt3dWt3oFh3fXYdu3p6FdZqU/vO/1wnXvyEi3Yv0I9G3+GxTZ3ZvU0uTFGtph+NwAAAABgHmkPR+VzHMVdN82zRjfe/bLCvTGVljh6z6mH67xTmlRVUTrj4yx2BQ/W8XhcrusqHo/L8zzFYjE5jqOOjg69+eabWrlypSTpzjvv1F/+8hddc801hR4CAAAAAMxLky1C1lATkOulP2Ybdz31Dgzp3acs0bvXLlF1JYE6k4IH6xtuuEE/+MEPUr++9957dfHFF+uyyy7Tv/3bv2nXrl0qKSnR8uXL9cMf/lBLliwp9BAAAAAAYN7pjER13e1b1BlJrEK7nqe6YEAb1q9SXTCQ9jXNjUHVBQNq6xrQ2L3EleV+/dv/PkWhqvLpH/wcZ+wc3IsdDvcrHp9bxcvq6qrU2UlxBkwOcwf5YN4gX8wd5IN5g3wwbwrPWqsv/+hAEbIkxxgtqg3o6svWpl25ttbq8b/s1f/cu1XD+wtEGyPVhwL65w+t1sJgcYXq2Zg7fn+RFS8DAAAAABReS2v2ImQtrRGtaAqlHrfW6uWdYd35yBt6fU+P/D6jE1fUq7kxqKWHVk+4hRyjEawBAAAAYI7LVoTM5zhqD0dTwfrV/YF6W2tEPsfonSccpveedkTRrU7PJQRrAAAAAJjjshUhcz1PDTUBbd0V1l2Pbteru7rlGKO3rzpU7zvtCNWF0p+/Ru4I1gAAAAAwxyWLkKU7Yx2sLNVdj27XKzvDcozRGccfovPPWKoGAnXBEKwBAAAAYI4zxmjD+lWjqoLHXVd+n9G+npi6emM6/bhDdP4ZR2hRTcVsD/egQ7AGAAAAgINAXTCgay5fqz9veVMPPteq1o5+eZ6nU49ZpPPPOEKHLsxe2Rr5I1gDAAAAwEFg595e3fXodj3/WqeMpFPe1qDzz1iqxXUE6ulGsAYAAACAOWxXWyJQb27plCStOapeF565VI31C2Z5ZPMHwRoAAAAA5qDWjj7d9eh2Pbe1Q5J04op6XXDGEVqyqGqWRzb/EKwBAAAAYA7Z09mv3zy6Xc++2i4r6YQj63ThmUt1+CEE6tlCsAYAAACAOeCtff36zWM79PTLbbKSVi5fqAvPXKqlh1bP9tDmPYI1AAAAABSxtq4B/eax7Xry5TZZKx23rFYXnrlUyw8LzvbQsB/BGgAAAACKUHt3VHc/tl1P/KVNnrU65ogaXXTmMh3ZSKAuNgRrAAAAACgind1R3f34Dj324l551uroJSFdtG6ZVjSFZntoyIBgDQAAAABFYF9kUL99YocefeEtuZ7VisagLlq3TEcfXjPbQ8MECNYAAAAAkCNrrVpaI2oPR9VQE1BzY1DGmCnds6tnUL97Yqf+vOVNuZ7VkYuDumjdUr3t8Jop3xszg2ANAAAAADnojER13e1b1BmJyuc4cj1PdcGANqxfpbpgYNL3C/fG9Psnd+pPz+9R3LVadli1LjpzqY5dWkugnmMI1gAAAAAwAWutrrt9i9rDUXnWKu66kqT2cFTXb9yiqy9bm3MYjvTF9Psnd+mPz+/RcNzTEYdU6aJ1S3X8soUE6jmKYA0AAAAAE2hpjagzkgjVI3nWqqM7qpbWyITFxXr6h3TPUzv18KY9Gop7WrJogS46c5lWHUmgnusI1gAAAAAwgfZwYvt3cqV6JJ/jqD0czRiseweGdO/Tu/Tgc60aGvbUWL9AF61bqtXNdQTqgwTBGgAAAAAm0FATkOt5aZ9zPU8NNePPWPdFh/WHp3fpgedaFRtytbiuUheeuVQnHlUvh0B9UCFYAwAAAMAEmhuDqgsGUmeskxxjVB9KVAdP6h8c1n1P79b9z+7W4JCrQxdW6MIzl+qkoxsI1AcpgjUAAAAATMAYow3rV42rCl4fCmjDJSfIGKOBwbjuf3a37ntmt6KxuBbVVujSM47QKW9bJMchUB/MCNYAAAAAkIO6YEDXXL52XB/rwSFXdz++Q394apcGYnE1hAL66DnNWnvMIvkcZ7aHjRlAsAYAAACAHBljtKIppBVNIQ0OxfX7J3fq3qd2qX8wrrpguT70rmaddhyBer4hWAMAAADAJMSGXD20uVX3PLlLfdFhLawu1wf/6kidftwh8vsI1PMRwRoAAAAAcjA4FNf//ePrevwvezU45Kq2qkyXvvsonXn8oQTqeY5gDQAAAABZDMdd/e6Jnfrt4zvk7S8I7hipxO/ouKW1hGqIGQAAAAAAaQzHPT34XKu++MMn9JvHDoRqSfKs1NE9qOs3bpEd0X4L8xMr1gAAAADmBWvtuIreJk1f6bjr6ZEX3tJvH9+hcG9MleV+OUajgrUkedaqozuqltaIVjSFZnSMKC4EawAAAAAHvc5IdFwP6rpgQBvWr1JdMCApEagf/8te3f3Ydu3riamqokSX/NWRKi/16faHWhQb9sbd1+c4ag9HCxKscxkjihNbwQEAAAAc1Ky1uu72LWoPRxV3rWLDruKuVXs4qus3blHcdfXIC2/qSzc+qZ/d86piw54++M7l+vanTte71y5RZcCfNlRLkut5aqiZeuidaIxsNy9urFgDAAAAOKi1tEbUGYnKGxNOPWu1t2tAX7jhCXX3Damy3K8PvGOZzjqxUYGyRFSy1uqOP72R8d51wcR27ekcY6G3m6PwCNYAAAAAZoW1Vtt2T/954vZwYmt13HXTjEHq7hvSuSc36cIzl6YCdVJLa0T7egYz3vvity8ryJizjbGQ280xPQjWAAAAAGZce9eAvnzjUzNynrihJiDXS7+VO+nFN/Zp/VlHjh9nlsBb6ncUGxr/eKHHWKjt5pg+nLEGAAAAMGOstdq6K6wrvv9ntXUNzMh54uWLq7UgUJL1muR267GyBV7P2oIF3ubGoOqCATljVr8dY1QfKsx2c0wfgjUAAACAGdEZierLP3pK37n1eXX3xjQ2Po88T1wInrV6bmu7vvbTZ9TdN5T12uR267FmKvAaY7Rh/So11ATk9xmVlfjk9xktqg1owyUn0HKryLEVHAAAAMC0G1n1emyBrpEKcZ7YWqvnWzp156Pbtbu9T6V+R+9eu0TNi6v1n3f+RW6aBehM262TgXdsG6z6UOEDb10woGsuX0sf6zmIYA0AAAAgxVpbsGA38l6xYTdt1euxpnKe2FqrLa/v012PbNfOtl6V+B2de3KT/vrUwxWsLJW1VvWhinHhfqLV55kMvMYYrWgKUahsjiFYAwAAAJCU2Ko9dmU234JiY+81HHc10dFpIylYWaq28IAk5RxerbV68Y0u3fXoG9r+Vq/8Pkdnn9So95x6uEILyg7cfwqrzwReZEOwBgAAADBuq3ayCnayoNjVl63NeYU2072ycUwivHb3DemW+1tyCvXWWr28I6w7H3lDr7/ZI7/P6F0nNuo9px2umqqytK9huzWmA8EaAAAAgFpaI2m3ao8sKJbram2me6VjjFRdUSrHkSJ9w/KsletlD/We5+mB5/booU2t+9thGb1z9WK977TDVVtdnsN7jl99LuQWeMw/BGsAAAAAWfs1T7agWLZ7SYkwXVbiU9xNbMO+aN0y/ejul3IK9U+9slc/+d2rGo57qXvVVpXpPacuySlUp1PILfCYn2i3BQAAACBrv+bJFhTLdi8pcZa6vMyvT1xwjK6+bK1iQ658Tvpokgz123Z369u3btJ/3fVyKlRLkrXSvp5Y3v2vR25bz6entrVW23Z369EX3tK23d0F78GNuYEVawAAAACpfs2TrZg9UnI7dVvXgKorS9XdO5R2O7hnpd7+If36z9u1ZkVD1iAed109tKlVO/b2ypjECvXYW+azXT1pKlvgWelGEivWAAAAAFIVsxtqAvL7jMpKfPL7jBbV5tavuTMS1Zd/9JS+e9tm3fJAiyJ9MRkjOU7617leYlX4V396Q9Za1QUDctK8h+tJO/f26tRjF+n965ap1O9Le7/kyvZkJbetT/aeU13pxsGFFWsAAAAAkrJXzM5W3CtTFXAjq4pyfyp0juV6Vvc9s0v3PbNLocpSVVeWKNI3JI1YlV515EJ98J1H6rC6Sm3b3S33se1px55v/+t8t8AXstgb5j6CNQAAAICUdBWzJ9rynClkWkmDQ3ElTlWnlwzcnT2xUS8s9Tv6+/cfp+OX1claq627wnrx9X0qK/HJdeMa+U6T2a4+Vr5b4AtZ7A1zH8EaAAAAQEaZVqPbwgO65n+e06cuPHbCkBko86t3YDin9ltJcdfqtgdf0yG1Ffrurc+rIzI47ppSvyPPWtWHctuunk5yC/zYLw4mumchi71h7iNYAwAAAMgo42q0lSL9Q/rubZsVXFCWsbWWZ60+cnazfv3IdnVGEueV020LT/e6ju6ovnnTJoX7htJeEyjz61MXHqsVTaEp9ZzOtgU+k0IUe8PBg2ANAAAAIGXkWer6ULlefGNf1utdT+ruHZIxRkZ21BZtI6myvETBBaW6+rJT9NqeHj3+l716ZMubymXt2lplDNWS1BcdTrzvFEJ1aqxptsBPdH0+K904OBGsAQAAAEgafZbaMUZD8cy9qEfyrJXPGNVUlalnYCj1WispGovru7c9r9CCMi1ZtECbWzpzCtVSorhZNsZoVs8y57PSjYMTwRoAAADAuLPUyjn+Jvh9ji5ct1QNoYB+eNdLGnaHZK1S4bwzMqjOyKCOOaJGf3XiYt35yA61dfVPKsCPH7Nm/SzzZFe6cXAiWAMAAADIeJY6V67naVFNhSSpf3BY6W7jGOmCM5bqqCUhnXf6Mj3xfKvauqIqK3H060e2q6N7QO4kMjZnmVEs0ndCBwAAADCvJCt752Nkwa433uxRhmLZ8qz0xps9kg6s9J658lCd/LZFuubytTrvlMPl9+W2jbohFNAV6znLjOLAijUAAACArO2jxqos9ys27I4q2PX/e8/bdNN92/SnLW9mXfV+8LndevfapnGPG2O0cvlC3ffMrrSv8zlGJx/doNrqcq1cXqvmxqlVAgcKiWANAAAAIGP7qHT+/uLj5DiO2sNRBcp8emVnWN+6ZZPirtWyw6rVEY6qNzqc9rWR/iG1tEZUX1+d8xgcY9RQE9Dl5x9DmEZRYis4AAAAgFT7qIaagHxZUkJDqFxHLanRopqAdrf36b9+87Ie2rRHTQ0L9PlLVunLH1ujvz51iTLFX9/+QD7RGPw+o7ISn/w+o0W1tLBCcWPFGgAAAICk0e2j3nizR/c/u0s9/Yke1dZa1YcC+sT5x+q/fvOSntvaIdezOnzRAl20bplWLl+YCr7LDgvK5zOKu+NXvl3Py1rJmxZWmIsI1gAAAABkrR0VZs87pUnnndKUemxBoERbXu/Uv/38WVlJRpLjSINDrhbXV44Kvtm2dOdSyZsWVphrCNYAAADAPNfRPaBv3bxZ3X0x+Rwj17OqqijVR85u1tGH1+jFN/bp5vtbFRt2U6+xkqwndXQP6vqNW3T1ZWtT4Tq5pfu627eoMxIdVeSMLd04GBGsAQAAgIPU2FXo5ErxyMdqFpTqSz96Sq6XWFn29m/fjvQP6Ya7XpJRIkTXBcs13OuOa6XlWauO7qhaWiOjVpjZ0o35pODB+qabbtIdd9yhbdu26ZxzztH111+fem7btm266qqrtHXrVjU1Nelf//VfddJJJxV6CAAAAMBBJ11IzhZSOyPRcSvGNVVlsp5VuC8mY4y8ZJjOUgTcSgotKNV7Tztctz34mmKeO+6aZEGyZLAeO9Yzjj+EQI2DWsGDdUNDgz7zmc/o8ccfVzgcTj0+PDysT3/601q/fr1uuukm3XPPPfrMZz6j+++/X8Fg9jMWAAAAwHyWLiTXBQPasH6V6oLjC4FZa3Xd7VtSZ5zjbiIMd3QPjrwq5/fviw4rHvdS9xlrZEGyyY4VOBgUPFife+65kqRXXnllVLB++umnNTg4qMsuu0yO4+jCCy/Uz3/+c91333364Ac/OOn3mUtfeCXHOpfGjOLA3EE+mDfIF3MH+WDeTL9MIbk9HNX1G7fomsvXjlsNbmmNqDMycT/qXDnG6O4ndsr10j9XHwpoRVNQUm5jZd4gX8U6d2bsjHVLS4tWrFghxznQFO/oo49WS0vLpO9VU1NZyKHNmIULq2Z7CJijmDvIB/MG+WLuIB/Mm+nz0hv71BkZHBeSk2ebn97aqbJSvw6tq9QxS2tljNHzb4Tl9zkZV5gnayjuKe4OpX3u0LoKff2Tp6u+pmKCsQ6qvXdYxy5bmHqceYN8FdvcmbFg3d/fr6qq0R++urpavb29k75XONwvN93XZUXKmMQf/L59vSrQl4aYJ5g7yAfzBvli7iAfzJvp17Jjn3yOUTxNRnZdqxvvfFElfl9qy/UVH1qlihKjeIH+vmyMZG36c9g+x+hj566Q47rq7OzNOlafY9SyY58WVZcyb5C32Zg7Pp8z4eLujAXryspK9fX1jXqst7dXlZX5rT7PxX8BrZ2b48bsY+4gH8wb5Iu5g3wwbyY22eJjSfWhgNyxpbiT91Ti9z3ZBqstPKBv3rRJ3/zkqWn7SE9Gic/ISqosL1E0FtdQfPwY/D5H7eFBrWiaeKzJdlsjh8O8Qb6Kbe7MWLBubm7Wj3/8Y3mel9oO/sorr+jDH/7wTA0BAAAAmBVTKejV3BhUzYIydUQGs14nJYLGvp6YNvzgcb39hEP1xEttivTFZGQUz1b6ez/HGL17bZOOX7ZQHd2DaqgJyFqra29/Pu31I4uWJceaLtAnz2En230BBxtn4ksmJx6PKxaLKR6Py/M8xWIxDQ8P65RTTlFpaal+8pOfaGhoSHfffbdaW1t1zjnnFHoIAAAAQNEYWXws7lrFhl3FXZsq6GVzWXabZKGm3uiwfvfELoV7Y/KsFPesykom/qu/Z61WLl+oo5bU6MyVh2pFU0grmkKqCwbkjFldTxeWjTHasH6VGmoC8vuMykp88vuMFtUGtOGSE2i5hYNWwVesb7jhBv3gBz9I/free+/VxRdfrG9+85u64YYbdNVVV+n73/++mpqa9B//8R8KhUKFHgIAAABQNDJV6E4WH2tpjaT6P0vjt4xLVuHeWF7vnXzLqoBfFeV+tYVzW/UeKRmWx66414fSh+W6YEDXXL42r23vwFxV8GD92c9+Vp/97GfTPnfUUUfpl7/8ZaHfEgAAACha7eFEGE1XodvnOGoPR1PBOt2W8Yrykv2rxfkfKB2IxTUQm7hCeKnfUUf3oI5aMvrxyYZlY0xqtRuYD2bsjDUAAAAw1+VTgKyhJntBr+QZ5Uz9qnv7h6YQqRNyXS32rB11ZnrsPQjLQHoEawAAACAH+RYgy7WgV6Yt48lfJdte5SNxjjt7uKbAGJC/ghcvAwAAAA42UylAlmtBr+SW8UxK/Pn91T0ZmOtDATkZsrVjRIExYApYsQYAAAAmMNkCZGPlckY525ZxSRoazvycY6QPn71Cw3FPDzy3Wz39Q+OKjHnW6ks3Ppl22bumqkz/9r9PSbXFBTA5BGsAAABgApMpQJbJRGeUj1xcrYoyv3oGhic9vpqqMp114mIZY3TeKU1pA/y23d3KVAAt0j+k1/b0cH4ayBPBGgAAAJhArgXI8pU8v92bR6g2kt61pim1+p0pwLeHo/L7fHK9/L8cAJAeez0AAACACSQLkDljzh87xqguGJC1Vo++8Ja27e5Onbe21mrb7u5xj4818vx2PrXJfD6jZYdVj7pfuved7i8HgPmMFWsAAABgAskCZGOrgtdWlcl1PV17+/OjKoX/3XuO1k9//2pOFcQznd/OxdhK3tkql+danRzA5LFiDQAAAOQgWYDsnz60Wh89Z4X+6UOJCtr7emKjKoW3dQ3o27dsVnt4IKcK4m1dAzITtMLKpKHmQCXviSqXS8qpOjmAyWPFGgAAAMjRyPPL23Z3a1/PYNq+0643fvXZs4mQm6wgbq3VKzvDuu+Z3Rp2M1f8zsTnSP/r3UdpYbBcUu6VyyeqTg5g8gjWAAAAQAbW2owhNFul8Ew8z6otPCDPs7rz0e3atrtbPscoUObXYCw+6oy1kVRR7k+tPI/l9/nU0T2oo5ZowvGMLE42UXVyAJNHsAYAAADSyHRe+fOXrFS4d0h7uwYmFaqlxGr275/YqbZwVI4xWrfyUJ1/+hGS0bj3qg8FdPG6Zbrx7pfS3mtswTGKkwGzh2ANAAAAjDHyvLJnbSpA7+0a0JdufErGSD7HKI8d3GoPR3XG8Yfo/NOPUENNRerxdFu0Januz7kVHKM4GTB7CNYAAACARm/7jg27GSt1J89Pp9uenYv3nX6ELlq3dNy55kxbtNNVI68PjS84lqlyebprARQWwRoAAABzVrYz0JMxdtv3cNxVmvpjBfH7J3fqmVfb07beSidZjTyXzzmZawEUDsEaAAAAc1K2ns25BNakTNu+p4vrWe3tGtB3b92s//PJ03IKvZMpOEZxMmDm0ccaAAAAc04yDLd1DYzrIZ2uV3Q2mdpUTbf27kG1tHbP6HsCmB6sWAMAAGDOaWmNqKN7QGOjsJXUHh5I9WyWDmwXb+sa0FDcU2mJo0U1Fakt0vm0zSqUF17v0oqmmhl/XwCFRbAGAADAnNPWNZCxIrfrJZ5f0RRKbRfv6D5wvZFkHKOqQIk+cnaz6kPlGdtUAUAuCNYAAACYUYUoODYUzx6Eh+LeqO3iI1e2rSTrWUX6h3TDXS9pUU1ANQvKtK8nNq5NVXVlibr7hiY1tsk4flnttN0bwMwhWAMAAGDGFKrgWGmJIyON2wouJVakS0uc1NnpiU5Ot4ejqg+Vqz5Urn09gyPGVa6L1y3TLQ+0KNJf+HDdECqnwBhwkCBYAwAAYEZkqr7dHo7q+o1bdPVla3NeuV5UUyHHMame0iM5jtGimoqcz05bSV29Mf3Th06QlDhzXVbi6NePbNeNd7+kkTXNMoX5yXCM1FAT0BXrV6c+b6HahgGYHQRrAAAAzIhM1bc9a9XRHR1VcGwizY1B1YcCqZCe5BiTCqaSJnV2+oXXu/SBdyxTc2NQX/zhE+qMDI67pqqyRHHXamAwnvN9E+OS3rWmSY31lVpUWzEqOBdqFR/A7KHdFgAAAGZEcgU5HZ/jqD0czflexhhtWL9KDTUB+X1GZSU++X1Gi2oD2nDJCTLGqLkxqLpgQLms+8Zdqz88vUtX/vAJXXv782lDtSQNDMZ17kmN2cc25teOMaqpKksbqkeu4o9sG5ZcxZ9M2zAAs4cVawAAAMyIhppAxhXkuOtqb9eAtu3uznkbdF0woGsuXztuC7UkbdvdrfZwVBe/fanu+NMb6oxEM1YRT3I9q47IoDoigxm3fPscRzVV5TqkNqC2cHTUNnHHGNUFy2SMSZ3Vju9/0+6+mG55oGXcanQhV/EBzB6CNQAAAGZEc2NQC6vL1R4eX1DM9aQHn9ut+57ZlXYbdKYzyMYYrWgKpcJnpm3Vnzj/WA0OuQr3DuqhzW+qb2BIaY5nT8j1PJWX+uS6VmMXk+uCZfrnD5+o2uqyRN/s8IDuemS7wr0xWUmuN/5MebZz4MlVfII1UPwI1gAAAJgR+3oG5VmbsfhXbDixuju2mFkuZ5ATwbtb//nrv6hnYFiSRhVHu/PR7an7nX/GUt1yf4se2tw6LhynGMnY0avWiRXpcv36ke3a1xMbe7kcx6i2uiwV9iWpZ2Bo3OcduRqdbRXf9Tw11HDGGpgLCNYAAACYNsmV5pGrtxNJBs+tu8La09mvX/3pDQ0OJUJyukri+3oGE+eUu6Py0ixDjwyyhyys0L1P7dKftuzJHKqVCMqhqjL1DAylwnx9KKCL1y3TjXe/NG7rtpXUGRkctXU7l9XoM44/RHXB9EXY6kMHtrYDKG4EawAAAEyLkSvNxhgNx3Ov0G0kffe25zNu106G5W27u/Xze7eqrWsgaxssI+n3T+zU1t3dig27OnRhhfbuy/wav8/RheuWptp2JbefP/bi3py3bueyGp0swjZ2Rb4+dKAIG4DiR7AGAABAwY3tWT3Z7s/D7sTXO8boT8+/qbZw9lCdvN8Lb+xTaEGZ3r22SU++1Ja1KbVnrRbVVIw6vy3lFpaTklXJJ1qNzlSEjVANzB202wIAAEDBZap2XUhDcU9PvdKWdUv3SEZS38CQfvPojnEVvceqKPdLsuPaXSXDsjMm9Kbbup1LS7CR165oCunMlYdqRVOIUA3MMaxYAwAAoOCynS8eyRjtD6lWfp9PruepxOcoOpT9dUmTye1WUjzHUuADg66+e9vz44qkTXbrNqvRwPxAsAYAAEDBZdsyPZJjjL7xibUK9w6lgufuth7d/MBrMzDKzJL9p9vCA/rWzZv0rU+dJsdJbPacbFge2xIMwMGHreAAAAAouExbpsey1uqF17vUFh5QbNhVW9fAhP2l176tQWUlM/PXWGulfT0xfeGGJ9QZiaYeZ+s2gJFYsQYAAEDBGWP0+UtW6Vu3bFK4N5Zxy7ZnpVsf2CY7omd0toha4jNaGAykVpRnSrg3Nqq3NgCMxIo1AAAACq4zkugzHemLyXGyB1HPji7OnW3B2rNW0djwhKvaI1WU+bI+b4zkm2CMVkr1wgaAsQjWAAAAmBJrrbbt7tajL7ylbbu75XleqtWW60luDq2zcmGU2Jr98OY3J1UJvLLcnzY4O0Y6pDagL35ktS497yjVVpcp22J0sk81AIzFVnAAAADkrTMS1VU/flp79/XJMYkK2ZXlJeofzLyqXOJLXGdt9tXpZMZ1HCPXs6O2iuca1a2kcN+QPnH+Mbr94dfU3Tskn8/IWpuq5L0wWK4VTTV62xE1+ubNm9TVE0t7r7F9qgEgiWANAACAvFhrde1tW9QeThQcc5U499wbHc74Gp8jnfK2eh1xaFC3P9SieJbVbGOkshJfqvWWYzSpLeAH3tNRbNjTdz59etZK3nXBgL79qdP0hRueSJwLH3GPdH2qASCJreAAAADIS0trRB3dE1fxHsn1pMdfapPk7a8anvlaz0qDw25q5TqfUJ14z8RKcy6VvB3H0ZV/e6IW1VbI7zMqK/HJ7zNaVJu+TzUASKxYAwAAIE/t4Whi+7cmV6HbWunm+1/LWlTMGGnpodXa8VbPJO8+Wj4rzSP7VLeFBzQ07KnU72hfz+D+c9iEawCjEawBAACQkbU24/bphpqptb0aiLlpHzcmse17V1tvnlu/jfz7z3Enz1FPNgwbY1RbXaaf3fOqOiNR+ZzE/eqCAW1Yv0p1Qc5aAziAYA0AAIC0OiNRXXf7lrTBcmF1uSSrkhJHQ8OF7SltrZQ4ej35VF0fLNP/ft8xag8Ppj1HnfsYbKqyuWet4m7iS4D2cJR+1gDGIVgDAABgnGzB8ju3blY87inSP5T3uefpYoyj5saQVjRNLfS2tEbUGUl89pE8a1P9rFc0hab0HgAOHhQvAwAAwDjZg+Wgwn3FF6olqat3UC2tkSnfpz2cWKVPh37WAMYiWAMAAGCcbMGymBUq9DbUBOR66be4088awFhz76clAAAApo21Vtt2d2tv18CUCpPNlkKF3ubG4P52YKO3lNPPGkA6nLEGAACYp8ZW/K6pKtP1GxPFyhxj5E5hr7cxiSJkheDsv9dEtytk6DXGaMP6VeOKt+VbZRzAwY1gDQAAMA+NrfidKE5mZK3df3Z6dIwtK/Ep7nqTCtvByhJF+oenNE6fI11+/jG685EdowJuTVWZJCncG5u20Duyn3W6dmMAkESwBgAAmGcyVfzOtCbsc6R3rWnUyuW1+unvX1VHd3TCwmXWasqh2jFGDTUBnXz0Ip189KJxAVfStIdeY4xWNIWoAA4gK4I1AADAPDBy23ds2FVH90DOVb2NMWpt75MkXbRuqX75x9cV7onl0WU6dz4nUUBs5Ar0iqaQmhuDammN6LEX96bCNKEXwGwjWAMAAMyQsWeaZ2pb8dht38Nxb1KtsuKu1Qtv7NMLb+ybvkHuZ4xUXVGqT114rFY0hUb9/oz9HK7nqS4Y0Ib1q1QXpEo3gNlDsAYAAJgBsxUKM2/7nl2OMfL7jIbiicrjpX5HnrWpc9ILg+Wjrs/0OdrDUV2/cYuuvmwtZ58BzBqCNQAAwDQrZCj0PE8Pb35Tu9p6tWRRlf5q9WFysvSbbmmNqDOSeN9icsGZh6u2KqCGmnJZK3V0D2Zdxc/0OTxr1dEdVUtrhC3hAGYNwRoAAGCaFSoUtrR269u3bB5Rmfst3fZgi77wkdVqbgyN22p+5OJqvfD69G/fzseTL7XpmstPTYXoo5Zkv749PLJ6+Wg+x1F7OEqwBjBrCNYAAADTrBCh0PO8MaE6wfWsvnXzJn3i/GN0y4OvqT86tH+reeK6A+2zikt7OKqHNu3RWScuzmm1vqEmINfz0j7nep4aajhjDWD2ZN43BAAAgIIoRCh8ePObGXtIe1b64W9eVk//kFxPGoon+k27XnGGaikx5lsfaNGXf/SUOiPRCa9vbgyqLhiQMyaEO8aoPnSg/RYAzAaCNQAAwDQrRCjc1dY7XcObNZ61qXPmdoIz4MYYbVi/Sg01Afl9RmUlPvl9RotqR7fkAoDZwFZwAACAaZYMhWOrgicrYOcSCpcsqpL01vQPdopKfEblZX71DgzndP1kzpnXBQO65vK1s9KyDACyIVgDAADMgIlC4UQ9rv9q9WG69YFtRbu1OynuWQVKffI5RpG+IeUy3MkUHzPGaEVTiEJlAIoKwRoAAGCGZAqFufS4NsYoVFWmrp7YLIw8d8nWWXXBMi2qrUh9puG4m/FLAYqPAZjrCNYAAACzKNce1y2t3Yr0Dc3yaHNjJXVEYvrUBccoVFWu9nBU9aFy/fzeranPmUTxMQAHgxktXnbllVfquOOO0+rVq1P/e/PNN2dyCAAAAEXDWquHNu1Re3gga4/rzkhU/3nnSxmrgk+XqZ5cvvXB19TcGNSZKw/VUUtqKD4G4KA14yvWH//4x/VP//RPM/22AAAARSW5/Tuxgpv+Gp/jqK1rQD+751X19s/sarVJ/p8pZPm+6PCoomQUHwNwsJqzW8Hn0s/f5Fjn0phRHJg7yAfzBvli7swcz/P0zZs2Kdwby5pbXc/TsOupozs6lXybF5v6P/nz+xx1dEd11JJQ6jFjjI5aEhr1GOYfft4gX8U6d2Y8WG/cuFEbN27UIYccoksvvVR/8zd/M+l71NRUTsPIpt/ChVWzPQTMUcwd5IN5g3wxdxJbtF/e3qW3Ovt1aF2ljllam/OqarrXSko9Fijz6cd3/UVdvdmLkPkco0MWVqo2VCEvyxbwshJHcdeT6+X++QrFMcpaUM31rJqPWKi6OuYU0uPnDfJVbHNnRoP1xz72MX3hC19QMBjUs88+q8997nOqqqrSeeedN6n7hMP9cmfjvx55MibxB79vX69skbfIQHFh7iAfzBvki7mT0BmJ6trbxlfovuJDByp0T+a1NQvKJCOFe2PyOUax4Yn/DmOMFFpQqjOOO0SvvNGZdeF4UU2FdrX3TfJTTp1jpEW1Fbpi/Spd/8sX9WZn36h5kyhKVq6GqhJ1dvbO+PhQ3Ph5g3zNxtzx+ZwJF3eNtbM3lb///e9r+/btuv766yf1unC4X/H43ArWdXVV6uzkBwcmh7mDfDBvkC/mTmK1+cs/eipt5epFtYFUhe7JvDYfFWU+DcU9OcZoaBb/zmMkVVWUqH9wWI5JfFGwIFCi805ZouWLg2puDMpxjDzHpy/f8NioLxTqQ4miZAuD5bM2fhQvft4gX7Mxd/z+iYP1rJ6xdhxHs5jrAQAARklW4M5WoXtsD+qJXpuPgZi7/58mvtfbVx2mR154c1r+gmmVKEAWWlCms09q1LLDgqliY9ZatbRG1NEdVfMRC3XN5aeopbWHomQA5qUZDdb33HOP1q1bp4qKCm3atEk33XSTvvKVr8zkEAAAADJqDydWXJO9pEfyOY7aw9GMwbotPDDNoxuvuqJEa99Wr8defEvuFJK1z5HKS/0aHIrL80bHec9K3X1DeuSFt3TeKUtkjElVND+wQm1VFyzXhvWrMv7+AMDBbEb7WN9000165zvfqTVr1uirX/2q/uEf/kHvfe97Z3IIAAAAGTXUBOR66bdeD8c9xYbdtLvtOiNR3fGnNxR3Z3YnXjQW17W3b5lyf2trpc9+4Hh96F0r0lbaHblib61NtQmLu1axYVdx11N7OKrrN25hNyKAeWlGV6xvvvnmmXw7AACASWluDKouGEh7TtqzVrc9uE0PPteqDesPFDKz1ura255XZIb7TEvScIGC/IJAiZobQ2oPD6rE71NsOPOKvaS8t8sDwMFqRlesAQAAipkxRhvWr1J9qFy+NH9Lcj2prWtA37p5kx554U1t292tbbu71RmJzvxgCyi5xTvbir3reWqoCaS2y6czMnwDwHwyq8XLAAAAilGiOFf656ykfT0x3XTfNllrVVbiU4YsOic4Rlq+OCgp84p9onVWoiCZpAnDNwDMN6xYAwAA7Od5nr558ya1hQc00bHl4binuGvVPxjPoXZ3cTJK9KJOBubkin1DTUB+n1FZiU9+X6LV2IZLTpAxJhW+nTGHsceGbwCYT1ixBgAAUOLc8Ddv2qSu3thsD2Xa+X2JUJzsNT2yLVZdMKBrLl+rltZI2tZZyfA9tip4fah83L0AYL4gWAMAgHkvWek6PA9Ctc8xOvfkJVq5fGHGXtPGGK1oCmUsQjYyfCf7WDdUlSixBg4A8w/BGgAAzHstrRF1RqJzdkt3rowSLcU+8I5lU15ZTobvo5aEVFdXpc7O3ozn0gHgYMcZawAAMO9lq3R9MHEco89/cBXbtQGgwFixBgAABy1rbcazwiOfiw27irvjezfPFiPltXru9yWqmbsZKq8ZI3X1xlQXonI3ABQSwRoAAByUOiPRMQW2PNUFA9qwfpUkjXtOMjKy4wLtgoBfgVKfwn1D8jyNakM1XRwn0TN7ss49uUmS0QPP7tZQfPwNkn2mM52dBgDkh2ANAAAOOsliZMl+zMnV6PZwVNfd/rwkM+45xyRWdEfmZiMpGnNVWuKT644P3dMln1AtSSuXL5RkdN8zuzLclz7TADAdDv7DRAAAYN5JFiMbu7rsWauO7qg6utM9p3G9q60S26q7emJFX9jM73PUHh6kzzQAzAKCNQAAOOhkK0Y2lytXZy85ZtVQE0j1mW6oCcjvMyor8cnvM1pUO75nNQCgMNgKDgAAilK2wmMTaagJKJ5hP7VnNSfTdYnf0YVnHqFf/3n7uOJkjtGo1eiRfabz+f0DAEwOwRoAABSdbIXH6oITnxE+cnH1DIxyZllrdeTikL7xiVP1rVs2qbt3SD6fkbVW9aHxq9HJPtMUKgOA6UewBgAARSVb4bHrN27R1ZetnXDl9dmt7RlbTs1FI89HG2P0nU+fzmo0ABQRgjUAACgq2QqPtYcHtG13t45aUpPx9e3hAf3wrpene5gFUep3FHc9WZu5b7VjNO58NKvRAFBcCNYAAKCoJAuPJVeqR3I96Yd3vaQvX7om7Zbwju6ovvSjJ2dimHkLVpbqUxceI8moo3tQsWFXtz/Uorg7PlobI3347BU668TFrEgDQBEjWAMAgKLSUBOQ62Vu5NwzMDRqS7jneXp48x698Po+bd3VrSwvHcco80rxdPA5Rn9/8XE6sjEkSTpqSWLr+4PPtaa2vic5JlHJm1ANAMWPdlsAAKCoJPswZ4qS1iZWtbftDuuhTbt1+Xf+qJvvb9GLb3RpKD6JVK2ZDdVSYuw/vedV2REBmvZYADD3sWINAACKSjJoXv0/z6mnfyjtNa5n9e1bnp/xYDxVnrXq6I6qpTUy6nw07bEAYG5jxRoAABSdumBAn7noWPmczMFyroXqJJ/jqD0cHfd4siDZmSsP1YqmEKEaAOYQVqwBAMCMsNaqpTWitvCAhoY9lfiNhuNWpX5Hi2orxq3QNjeGVB8KqC08IDtXU3QaruepoWbiXtwAgLmDYA0AAKZdZySq627foo7uqDzPjltt9jlSfahCG9avSlX7Nsbo85es0ld/8rQGh8ZXCJ+LRvajBgAcPNgKDgAAppW1VtfdvkXt4ajcNKFaSrTRausa0PUbt6QKe3VGorp+45aDIlQbiYJkAHAQY8UaAABMG2utHtq0R+3do1tJpb1WShX2am4M6rrbt6ita2BmBlogjtH+0Gzl9/kUd12FFpTpXWuatOywagqSAcBBimANAACmRXL7d3t4QF6OZ6RHFvbq6B4oygJljpFK/D7F3WRrr0SIdj1P9aGAPn/JKnX1xKjuDQDzCMEaAAAU3Mjt37mGaulAYa/2cFSOceRqcn2pp1N1RYm++5nT9MZbfanQfOTiar22J6IXXu+SJB2/rFYLq8tVFwyMaqcFADi4EawBAJjnktW6O7qjaj5iSA1VJUqcCs5+fbYV2ZbWiDojE2//HslIowp7uV7xhOpgZamuuvQk+f1+rWgKpUJzZySqn92zVZ2RqHyOo/ue2aW6YGBUETYAwMGPYA0AwDyW3K6dDIauZ1UXLM8YDMdf76UNku3hxPNxN7fCY46RqipKdfG6ZZKk5sagQgvK1NUbK8wHzaLEZzTsZv4CwDHS+047XK/sDKe+SJCkbbu79cO7XlLPwJCsVeqztocTRdeuvmwtW8ABYJ4gWAMAME+N3q5tJwyGuVwvJVar93YNjDiDnJ2R5FlpIBbXjXe/pLo/B/R37zk6VR18umUL1VKiGNltD7WkzlHXLCiTjNTVM6h0H9GzNlWEje3gADA/EKwBADjIZdq6nWm7dqZgONH1z25t16//vF2dkagcY+TmeLg6edVwPJFS27oG9K2bN03qbPZ0Sn4O10t8kdARGZzwNckibARrAJgfCNYAABzEsm3dzrZde2QwTAbzx158K9VKKt31N9/for6B4f3Be/Q1fp9RfIKV4SQraYYWq6dNsggbAGB+IFgDAHCQmmjr9v9691EZC4Qlg+HIYG5kNJxhe3fc9RSPumlXmY3mflCeDMeYUUXYAAAHP2e2BwAAAKbHRFu3rZXqggE5YwpsJYPhkYurU8E87tqModoxRgsCJfI56f9aYaWct4VPJ7/PqLLcL2ca64n5HKNFtQFtuOQECpcBwDxCsAYA4CCV3Oqdjs9x1NE9qA3rV6mhJiC/z6isxCe/z0kFw5bW7tRqdzp+n5HflwiSHzlnxaRaa82Wz37geP3zh1crWFmqXHKvY7I1HjvAKNGS658/fIKuvmytFgbLpzpUAMAcwlZwAAAOUg01gYxbveOuq/pQueqCAV1z+Vq1tHbrxTe6FAiU6shDF2hfz6C+fevzWbdwu65VTVWZ/vGDK1UXDOj/PlyWU2Gv2XBge3ZIxhh9+dI1qS3ujjEaio//fWoIlet/v+8Y/fT3r446o15TVSZJCvfGUo/VhxJfRhCoAWB+IlgDAHCQam4Mqi4YSLvq7HrSz+/dqg3rV0mSfnbPVnVGovL7HA0Npz8rPZaVFO6L6Ru/2KRPXnBMxq3is6nE78hamwq+ye3ZB75QSFRLrw+VS7J68Y2wJOn4ZbVa0ZQI4SOvG9nHOl2ldQDA/GTsTDWJLKBwuF/xNN8sFytjpLq6KnV29s6r4i2YOuYO8sG8wUidkaiuve15tYWj455zjFFDTUCe56mjezBNre/cpa8VPnuMpNrqMl1w5lItqqkg+E4jfuYgH8wb5Gs25o7f76impjLrNZyxBgDgIFYXDOjv3nO0fGkqdnnWqj08oPYphmqpuEK1lAjVV350jdatPCy18gwAwHRhKzgAAHNcss90pm3J7eFB+X2OXG98v+oiKNZdcCU+RxecsZTzzgCAGUOwBgBgDhvZZzpZSKsuGNCG9atUFwxIyl7E7GBkZbWotmK2hwEAmEfYCg4AwBxlrR3VZzo27CruWrWHo7p+4xYly6g0NwZVXVk6y6OdGQeqfwdneygAgHmEYA0AwBzV0hpRZ2R8xW/PWnV0R9XSGpEkGWN09pqm2RjijEn04DapHtycqQYAzCS2ggMAMEe1hxPbv+Pu+LPTPsdRW3ggdd3QcHymhzetSv2OPGtVFyzX+9++XINDLm2vAACzhmANAMAcle3sdNz1dNcj29UzMCTHGA3NoTaVmfh9RnXBgC5++zLFCNIAgCJCsAYAYI5JVgFv6xpQdWWpunuHRm0Hd/YHzXBvbH8brLld+tsx0ntOPVzHLVtIkAYAFCWCNQAAc8jYKuBx15UxRj5j9rfU8hSsLFV3X2zOxmljpNHHxo2e29ahi9++jFANAChKBGsAAIpItp7UI6uAe9amzlYbWdVWl+mCM47QUNxq594ePflym4phpdoxuffKNkqMeEwttlHF2FY0hQo8QgAApo5gDQBAkcjWk3phdbke2rRH7eGBcUHVKrHte+PDr2twKC5jjOLu7IdqKXEOXDLa2zWQ9nnHSCV+n1zPU2V5iaKxeNrz4D7HUXs4SrAGABQlgjUAAEUg02p0eziq79y6ORUsM63+elbqH0xW/i6OUF1Z7tcV61fLKvHZOroH5JjEFwY1VWX6wodXK9w3lFqdl6y+e9vzae/let7+awAAKD4EawAAikD2ntSDszSqqXnHCYdpYbBcknTN5WvTbnGvr6lIrUJba1UXDKS+XEhyjFF9KPEaAACKkTPbAwAAAAd6Uh9MVi5fmPpnY4xWNIV05spDtaIplLYImTFGG9avUkNNQH6fUVmJT36f0aLagDZccgKFywAARYsVawAAikC2ntRzkc8xOnLx5FeY64KBjKvbAAAUq4Prq3EAAOao5sag6oIBzaX4mD3rWr22pyfP+068ug0AQDEhWAMAUASS26Brqspmeyg5cYxUUeZXiS996PX7fGoPR2d4VAAAzA6CNQAARaIuGNCF65bKlyGsFgNjEv2mjTEaGIxrOENbL6p4AwDmE85YAwAwy6y1qTPFQ8OevCLpQZ3kd5INvIw8z8pKcjP1/RJVvAEA8w/BGgCAGTIyQCeLcnV0D+ia/9mkvuiwHMfI2uIK1ZJUVurXReuW6rYHW7J2yC71O/KsVX2IKt4AgPmFYA0AwAzojER13e1b1B4ekDGJld/yUkfRoQOVwLOtAs+maCyucO+QHOPIVfrK5cZIZ5/UpJXLF1LFGwAw7xCsAQCYZtZaXXf7Fu3tGkg+IEmjQnUxS/bXztYOzO9zdEhthVY0hWZoVAAAFA+KlwEAMI2stXpo054DoXoO8qyn45fVKrQgc8Vyay3FygAA8xbBGgCAPFhrtW13tx594S1t292d9mx0ZySqL//oKd1y/7ZZGGFhGEkNNYmV6C9+dLV8zvgt3o4RxcoAAPPajG8F7+np0Ve+8hX9+c9/1oIFC/SpT31KH/3oR2d6GAAA5K2jO6pv3bJJ3b1D8vkSBcfqggFtWL9KdcHA/iJl3frPO19ST//QbA93UhyTqADudxx51lNDTUWqEFl9qELf+MSp4z47xcoAAPPdjAfrr3/963JdV4888oh27dqlv/u7v9Py5ct16qmnzvRQAACYtI7uAX3pxqdShca8eOL/t4cH9K2bN+msExv14KZWRfqGirYYWTZf+NhJMp6ntq4DlctHBub6UEDf+fTp46qbE6oBAPPZjAbrgYEB3Xvvvbrzzju1YMECHXPMMbr44ov1q1/9atLBei799zs51rk0ZhQH5g7ywbyZPtZafevmzWkDs2elfT0x/fKPr8/CyAqjrMSnaMzV6uU1WYuQGWN01JKQjlqS+RrMH/zMQT6YN8hXsc6dGQ3WO3bskCQdeeSRqceOPvpo/exnP5vUfWpqKgs4qpmzcGHVbA8BcxRzB/lg3hTeS2/sU3ff3NraPRmuZ3VoXSVzB3lh3iAfzBvkq9jmzoyvWFdWjg7F1dXV6u/vn9R9wuF+ue7caFEiJb5NWbiwSvv29SpNbRsgI+YO8sG8yU/iXHT27c2bXnlL3kH6m+oYo/pQuY5ZWsvcwaTwMwf5YN4gX7Mxd3w+Z8LF3RkN1hUVFeNCdG9v77iwnYu5+C+gtXNz3Jh9zB3kg3mTu85IVNfdvkWdkah8jiPX80YVI5MSwfuBZ1pneaSFZyQ5jlFDTUBXrE8UIGPuIB/MG+SDeYN8FdvcmdFgfcQRR0iSXn/9dS1fvlyS9Oqrr6q5uXkmhwEAQIq1VtfdvkXt4ag8axV3XUlSeziq625/Xh//66PVHh5UbNhVuDc2y6PNnd+R4vs3d/kcKbnRy+8kqn5XlpfoXWsaFaoq06KaCjU3BuWkaaUFAAAmNuMr1uedd57+/d//Xd/4xjfU2tqqO+64Q9/73vdmchgAgHlkoi3eLa0RdUai47Z4e9Zqb1dU37n1efl9jobjroroi/EJVQZK9ckLjpHjGLWHB1UfKpcxUnt4kEreAAAU2Iy32/rqV7+qq666SuvWrVNlZaU+97nP6bTTTpvpYQAA5oFctni3hxPPJVeqx3I9K9dL/1wx6x8cluM4WtEU0oqmA4+P/GcAAFAYMx6sq6ur9f3vf3+m3xYAMM9k2+J9/cYtuvqytTImcbbY9eZOQcxc+RxH7eFo1rZZAACgMJzZHgAAANMh2xbvju6oWlojkqTmxqDqggHNxPHimdx47XqeGmoCM/iOAADMXwRrAMCcZK3Vtt3devSFt7Rtd7fsmACd2OKdPsomV3MlyRijz1+yakbOG0/HGW2j8YE90TorcY4aAABMvxnfCg4AwFTlcna6rNRRbDj9Fu/Eam65tu3uVns4qtiwq+mJvdOruqJEX/rYGl2/MfF7kWiVZVUfKteGS06gOBkAADOEYA0AKBoTVfBOXjPR2WlJuuNPb2R8n5qqMv30969qX8+gfE6i4rc393K1BmJx7dzbu//3KPn7lPhnOwe/KAAAYK4iWAMAikIuq9BS7men9/UMZnyvoWFPvQPDo4L5XOQYo1seaEl9lqSxBdoAAMD04ow1AGDWjVyFjrtWsWFXcdemAqIdExp9Tvr/fCXPTme7RpJ6+ofGBfO5yPU89UWHJ/ySAQAATC+CNQBg1uWyCp0sVra3ayBLz+lEJeyJWmjN/UidWK1eECiV3zdxgTYAADC92AoOAJh1yRXmdIHZ5zh6482IfnbPq/u3iRu5aTLz2ErY1ZWl6uqJTffQCyJZvdxam9NZb58jNdQEdPG6Zbrx7pfSXkO7LQAAZg7BGgAw67KtMLuepweebVV339D+M9Gjk2ep35FnrepDAX3+g6tSxc9WLa/Tw5v3zMTw82YkffCdy7VscVBHLq7Wa3t69MabPXrgud1pvxQwRqquKNWnLjxWK5pCkqS6PwdShdySaLcFAMDMIlgDAGZdc2NQdcH0ATFYWaruvljalVyfY3T2SU1auXyhaqrKdN3GLalV7eF45q3gxeKTFx6jU952SOrXK5pCWtEU0nmnNOnZre26+f4W9UeH5HMOfHmw4ZITtDBYnnrNhvWrxhV9S15H4TIAAGYGwRoAMOuMMRkD4rqVh+muR7fL9cZvE/f7HB1SW6EjF1frCzc8oXBvTFYat6pdrHa19euUt41/3Bijk49epJOOapiw/VhdMKBrLl874XUAAGD6EKwBAEUhU0BsaY1k3SZeVuLoCz98Ql29c+M89WQYY1Kr2IW4DgAATA+CNQCgaKQLiM2NQdVUlamje3xf6mCFX7c//FpRFikzRqqpKss6tuOX1c7giAAAwHSh3RYAoPhl2Nm9r3e4KEO1JC2qqdCVHz1R9SPOQ4/UECpnhRkAgIMEK9YAgKLW0hpRV+/41epi4/cZWWu1IFCqj56zQmuOqpcxRv/8kdW69rbn1RmJypjENfWhgK5Yv5pz0AAAHCQI1gCAotYejsoxjlwVZ5VvxxjVVJXqgjOWalFtxbjCYXXBgL7xiVMpLgYAwEGMYA0AyIm1dlbCYbYe17PN7zNpW2CNRXExAAAObgRrAEBGyTD9xpsRPfBsqyL9Mfl9Prmep7pgQJ+/ZJXCvbFpDdvNjUGFFpQVXdVvY6T1ZzXrrBMXs/oMAMA8R7AGAKTVGYmm+kq7rk3VD0v2k24PD+hLNz4pyY4K2xvWr1JdMDDp98u0Im6M0Rc/ulpfuvEpuV7x9Kf2OUbhIgv7AABgdhCsAQDjWGt13e1b1B6OyrPpw6xnJe1/7kDYjur6jVt09WVrJ7WKOzLE+xyjuGu1IFCij5zdrJOOblB9qELf+MSp+tpPn9FALD7lz1cIcdfqD0/v0qZtHXl/mQAAAA4OBGsAwDgtrRF1RjKH6kw8a9XRHVVLaySn88TWWm3b3a0f3vWSegaGZG0isEpSpH9IN9z1kqru26qz1jQqNuQW3Vlr17N5f5kAAAAOHgRrAMA47eGofI6juOtO+rWOMXrh9X0TnrtOrlJ3dA/IzZKXe6Nx3fXojkmPY6ZM9ssEAABw8CFYAwDGmUol7qG4pz88vUt+n5Px3PXoreaFGvXs8TmO2sNRgjUAAPOUM9sDAAAUn+bGoOqCATkZtjY7JvG/TBufXc8qNuwq7h7YKm1HbCvPd6v5TKiuKNGnLzpWi2oyf/6xXM9TQw1nrAEAmK8I1gCAcYwx2rB+lRpqAvL7jEr9B/5z4dv/j5XlJapeUCq/z6isxJd6fCzPJsJ1S2t36rHkVvOZVuJz9veeLld9qHzE2I2ClaX69EXH6frPnqmTj16kKz50QurzJz+fzzFyxmRtxyR6WTc3Bmf88wAAgOLAVnAAQFp1wYCuuXytWlq79Z93vqTh+JCslDoP3RsdliTVLCjVOSc3qS8a14PP7VZsePwWctez+s87X9JVl65RXTAwpa3m+SrxOzr1mEU64/hDUyG4pTWitvCAhoY9lfodBStLU9cf+PwHWoDVVJXp+o3J6uWJre71oYA2XHIChcsAAJjHCNYAgIwSYdFoYHBYmTZth/uG9OBzrbrsfW/Tfc/syniv3v6hVPXsIxdXq7qiVOHeWMb7FprnWZ1x/KGjzkHXVpfpZ/e8OioojzwTbozRiqbQqNeMDduZirMBAID5g63gAICsctm2va8nphvvflk1VWXKlDGtpI7uqJ7d2q6rfvy0Iv1DhR/sBI5cXH1gPCMKqMXd7GfCR0qG7TNXJkI6oRoAABCsAQCSDvSUfvSFt7Rtd3cqWOa6bbu7LxGUqytKM17jc4xuvr9F7eGoXM/O2Gp1gtVre3pSv8pUQG1k+ywAAIBcsBUcAJDqKT1yS/TC6nK9/x3LNDjkqrqiVF29saz3sFbq6olp/VnLdftDr6XtTR0b9jQcH5qVFlt+n29US6xsvbppnwUAACaDYA0A89zontI2FTTbwlHdcOdLKitxFHetfI6RO0Eidj2rux/boaqK0tQK9ljTEaodkwj22W49tiVWtpV42mcBAIDJIFgDwDzX0tqtju7MPaXTVfnOpjcaL8SwJuXDZzdrOO7pgWdb066sp2uJlezVnfxCIdu1AAAA2XDGGgDmgUznpzsjUf3nnS9NuBJdaIWu9xXuHdK71x6u73zmdH36omNVXVkqnyOV+hN9qxfVjm+JNbZXd1mJL+O1AAAA2bBiDQAHuXTnp+uCAX3+klW6fuMW9c5wdW6fI1WWl6hnYLjg9zbG6OSjF+mkoxpyaomVrlc17bMAAMBkEawBYI6z1o4KhiuagqOeS3d+uj0c1bdv2aTuvpnrIy1JRlJoQZned9rhuuWB1zScrsJZHo5fVjv6fdL0n844pklcCwAAkA7BGgDmsI7uAX3r5s3q7ovJ5zjyrKf6UIWu+fQZcpS9pVS4d0iOMcpe8qvwuvuGdPcTO+XZwoTqhlA5oRgAAMwqzlgDwBzV0R3Vl258Sl29MXlWGnY9uZ7U1jWgr/7oCVlrUy2l0nEcKT7DZ6utEpXDwz0x5dAaOyvHSIfUBvTPHz6RrdsAAGBWsWINAHOQtVb/56bn0hYds5Le6uzTQ5v2aF9kUMPx8X2aJSnuTn+odkz69lpTfefKcr/+n/cfrxVNIUI1AACYdQRrAJiDWlq7M/aJliTXk26+f5sydNDSTG0AP+LQau1u69VwAUO8zzH66t+drLogfaYBAEBxYCs4AMxBL7zeNeE1mUK1JFVVlKjUP/3/CWgIBTL2x55Iqd9Jtc0q8TlyjLSwukz/5xOnEqoBAEBRYcUaAOYZn2N0/hlH6PaHXpv293rHCYfq5R1debXW8qzVZy46VpKhFRYAAChqBGsAKFJj22iNDJXHL6vV75/cmdd9/T5HpSU+1SwoU0dksJBDHqU+WK7a6oAcZ/JB2DFG9aGAmhtDqXZYAAAAxYpgDQBFqDMS1bW3Pa/OSFTGGFlrVV1ZqnNOWqJlh1WruTGoYGWpIv2Zz1ln4nqeGkKBxEHraVIfLNc/f3i1rtu4RZEsZ8HT8TlGDTUBbbjkBFanAQDAnECwBoAiY63Vd27ZPGI1OXFGOdw7pI0PvyafI9WHKvTpi47Vt2/ZnLbqdiZGUl2wXMZIXT2xgo7b50jHHrFQ7zltiZobQ6ke2pM5YR2sLNWnLzo2tVINAAAwF1C8DACKzLbd3Vm3aCd7Vf/snlf1fz5xqmqry+QYI7/PyDFGoQWlWlRbIV+an/BW0uCQq9f3ROQVvIe10XtOO1wrmmpkTOJctJMhHPt8RhVlPjkmUZjM50iHLqzQVZeelHo9AADAXMGKNQAUmadfaZ/wGitpb1dUtz30mj74zuXa+PBr6u4bkmOMIn1Dqg06uvz8t+nWB15XT//QqFXj7r4h/fKPbxR83JXlfjU3BlO/bqgp11DcS3ut61p9dv3xMsahMBkAAJjzCNYAMMtGFimrD5Xr6Vfacn7t5pZObW7pTP3a3d/aal9kUD+86xU5Zmb6VUvSWWsWjwrGE3fZShQlozAZAACY6wjWADCDxlb6rqkq0/Ubt6gzktg2HXe9SZ2ZnkjBd3tnMTQ8enW6o3tQpX4n7ap1qd9RR/egjloyU6MDAACYPgRrAJghnZGorrs9EaJ9jqO460pKVPxOBOAZTMFZGJPLanPaV476VUNNQF6GG3nWqqEmkM+bAAAAFB2KlwHADLDW6rrbt6g9HFXctYoNu3I9yfXsjK4qT8SY/LtwHb+sdtSvmxuDqgsGxhUwO9CjOigAAICDAcEaAArEWqttu7v16AtvadvubtkRq7XJ1lOZVnCLhbX5bR9vCJWPOyttjNGG9avUUBOQ32dUVuKT32e0qJYe1QAA4ODCVnAAKICx27xdz1NdMKAN61epLhhQe3jk9u/iM9H2b59jJFnVVpXJWincF5MxiW3s9aGArli/Om1QrgsGdM3la0edK6f6NwAAONgQrAFgikZu8/asTYXn9nBU12/coqsvW6uGmoBcL33rqZlUXVGij5yzQr/+8xva1zOY+hKgsrxE0Vg8baGxEp+jU49dpDOOPzS1fXsyQdkYqn8DAICDG8EaAKYo0zZvz1p1dEfV0hpJnTdOhu/ZUlbq07LDqvWNT5w6Khxba3Xt7c+nfY2V1RnHHzoqGBOUAQAADuCMNQDkINv56eQ273R8jqP2cDTteWNnCoXC8tXRPajv3rpZUiIcn7ny0FRIptAYAABAflixBoAJTHR+Ots2b9fzFBt29egLb6mhJqCrLztFr+3pUXs4qtiwq9sfalHcndkV7PbuQbW0dmtFU82ovtoXv32p7vjT6C3i9SEKjQEAAEyEYA0AWeRyfjrTNm9nf0Gw2x7cJr/PJ9fzVF1ZqrPXNGnZYdU6cnG1HnyuVXu7Bmb8cz31cptqq8vTfmFw+fuOUWzYo9AYAABAjgjWAJBFLuenVzSFtGH9qnEh1bNW7v7eVa6XCORdPTFtfPg1+RypPlShs9cs1k33t8z453r6lXa9vCOsju7BcV8Y3Pnodl192VoCNQAAQI44Yw0AWeRyflpKtJW6+rJTtP6sZq1cXqsSn6NsRcBdL3Hvux/fqdnIrwOD8Qm/MAAAAEBuWLEGgCwmOj+drKj97KvtuuWBFvVFh1Or1BPxrFWkf6iQw82Zz5dM8+PHmvzCgKrfAAAAuSFYA5g3RhbqyvX8cKbz00ZSXbBcNVVl+tKNT6pt/8r1XJH4KOm/AEh+YQAAAIDcEKwBzAsTVfbOJNkm6zu3bFZHZDD1uJXkelbfvXWzOkc8PluMkcpKfIoNu5qoTXayhZa1NnXGeuxztNcCAADI3Yydsb7jjjv0tre9TatXr0797ze/+c1MvT2AeWxkZe+4axUbdhV3baqyt50giS6sLpfP54w7C90ZGVRHZDDDuu/MslaKDbkySoTsUr+zv0BauepD5ane2X6f0aLagK5Yf4Ku+NAJo/pqJ5+jvRYAAMDkzOiK9fHHH6+NGzfO5FsCQM6VvSd6/dj8PdHK8HRxjOQ4Rq5rR4V6O2JMcc8qtKBM//Sh1aoLlmfcAn/N5WsnvT0eAAAAo1EVHMBBL9fK3pm88WZErluYFO33GR23tFbvWrM4r9fXVpfpm588TevPas5aTdzzrLp7h/S9X26RJK1oCunMlYdqRVNoVHA2xmR8DgAAALmZ0RXrrVu36tRTT1VVVZXOPfdcffazn1V5eXle95pLf/dLjnUujRnFgbkzXj4FyBbVZq/svag2kPH32PM83fPkroJs9z756AZ99JxmBReUadvubj28+U15OVYQTyor8akuVK7yUp9K/Ikz1ZkkV+Rf25N9RR5I4mcO8sG8QT6YN8hXsc6dggRr13UznlE0xsjn8+nkk0/Wb3/7Wy1evFg7duzQF7/4RX3nO9/RV77ylUm/X01N5VSHPCsWLqya7SFgjmLuJLR3DehfbnxCbV0D8vuM4q7VotoKff0Tp6mhtkLWWr28vUtvdfbr0LpKHbO0VsYYLVy4QIv+sE179/WPaoXlc4wOWVip005oTBvO27sGdOUNT6g3OlyQ8b/VNaBlhy9MjenQP2zTno6+Sd2jo3tQ7b3Daj5iYU5tvfw+RwPDVnV1zCHkjp85yAfzBvlg3iBfxTZ3jJ2oak8OPvaxj+npp59O+1xdXZ0ee+yxcY8/+eSTuuKKK9I+N5FwuF+um371qRgZk/iD37evd9bOZGJuYu4cYK3Vl258alzbK8ckCm59/pJVaat+X/GhRNXvzkhU1942+vn6UKKI18Lg+J0zyfdr6xooWHEyv8/onz+8OrV63BmJ6pr/eU7dfbn3si4r8elvz12hM44/JO3vx0TvCWTDzxzkg3mDfDBvkK/ZmDs+nzPh4m5BVqx/8YtfTPo1juNMWIk3m7n4L6C1c3PcmH3MHWnb7swFyNrDA/rmzZvU3Tskz1rF3cT26PZwosXW1Zet1cLqQNpCXZK0dVf3uK3lz7zarr1dAwX9DD7HUVtXVM2NIUnSwuqAvvuZ0/WFHz6hcE8spwCf/EJASrQBu+72LeroHlC67xqTrbOOXByc9/MHk8PPHOSDeYN8MG+Qr2KbOzN2xvpPf/qTjjnmGNXX12v37t269tprdfbZZ8/U2wOY45IFyJKheSTHOOruG5qw6neyUNfIFeN0q9yf/+BK/c+9Wycck2OkyRyRdj1PDTWje2Y7jqMrP3riuHFYmyhANvL2RlJdsDz1hUBd8MCXBW+82aMHntutnv6h/fewqg+V0zoLAABgBsxYsH7yySf1pS99Sf39/aqpqdF5552nz33uczP19gDmuIaa7AXIfD4nbSGwZNXvsVuhR/a2Hr3KPaD/98YnJwzMPsfkdMY5yRipPpRYEU9XgG3sanpNVam+e+vz6ogMHhizJNez2tczqLpgYP99D3xZcN4pTWppjaijO6rmIxaqoapEiTgOAACA6TRjwfqLX/yivvjFL87U2wE4yDQ3BlUXDKQ9Y11TVapIf/pzyulWiaVsva1zG4/r2UmtWFdXlGrDJSdoX89g2lXyDetXjVpNt9bK53NkzOhtTvsiMV2/MbG9fexKdDJkH7UkpLq6KnV2cm4NAABgJtDHGsCcYEziTHFDTUB+n1FZiU9+X6Jw2Rc/cqLqggE5Y4Jm8oxxcuv0SNl6WxeaY6RPXXisaqvLUqvkcdcqNuwq7lq1h6O6fuOWUXUnksF/bDAeub0dAAAAxWFG+1gDwFQcOFPcrRde75IkHb+sVguD5alCXmOrfmc6Y5xta3mucl2tNsaotro8yyr56LPgUvYz5Zm2twMAAGB2EKwBzCn7egb109+/qs5IVMYY/eHpnfvbap2Qtup3MlSPPdd85OJq1QUDBav8XeIzGnbTJ23Ps/rGL57TGccdsn9VfeKz4BOdKU+3vR0AAACzg2ANoKiNDMT1oXL95HevjCjolQiobeGovnPrZn3zk6eNOqeclKn699pj6nXXozunPEafY1Ra4lPci6c902wlRfqHdO/TuzKucsddd1RYznamPNP2dgAAAMwOgjWAojU2EA/H3YzBtKN7UNt2d+uoJTWjHs9U/buta0C/eWzqoVqSHMcoGksfqkfKvnXcqKaq7MCvjJn09nYAAADMDoI1gKKUKRBn8+IbXeOCdaZzzTb1f6ZuOO7J7zPyMmwFz4W1Vt/75ehq3yP7VKfb3g4AAIDiQLAGUJQyBeLJylYErJDiUwjVUmI1e2wBM2l0n2oAAAAUJ9ptAShKbV0DMprcyuzK5bXjHitE9e9cTXUhOVnADAAAAHMLwRpA0emMRHXXY9s17OYeiKsqStTcGBr3eHNjUKHK0gKOLr1Sv6PqitJUj23HJPpXjw3b2bI31b4BAADmJraCAygqybPV3b1Dk3rd35571Lizx109g/rt4zvUlcO9fD4j60nVlSWSpO6+yb2/Z60+deGxMsakzkPXVJXp+o1jq5GXy/Ws9kViVPsGAAA4SBCsARSVyZ6tNpIW1QZ00lH1qcfCvTH97okd+vOWNxV3rRpCAXX2RJVpR7hjpGMPr9V7Tlui5saQrLX6wg1PKNwby6m+WTIUr2gKpc5EJ6UrPravZ5Bq3wAAAAcRgjWAopJrsbGyEt+oQCpJm7Z16KFNrdq6q1uuZ7X00GpdvG6pSvyOvnvb5oz38qz00o59au+OasP6VaoLBnTl3544KvzGXVehBWU69dhD9MRLe9XTP5RTKE5XfIxq3wAAAAcXgjWAopJLsTGfI71rTaNWLl+o5sagduzt0Vd/8rQGYvHUNTULyvSpC49RfahC1lrVBQNqy1IYzPUSof76jYmWV9nC7/vfvmzKoZhq3wAAAAcPipcBKCrNjUHVBQNZK2z7fT4dUluhQxZW6JcPv6Z/+/lzo0K1JEX6h/S9X74ga62MMbriQyeoPlie9b09a1Mtr6QD4ffMlYemtnlnexwAAADzE8EaQNGw1qqlNaK3rzpUCwIlGa+Lu65e3tGlL97whO59enfaa8aG5LpgQN/81Gn64kdWa+XyhfJlCMO0vAIAAMBksRUcQMElA/Jktkp3RqLjCno5JnH+eSzPk558uU3OBAvFyZCc3G5tjNFRS2pkjNHLO7qkNMe4aXkFAACAySJYAyiosQE57roKVpbp7JMateywYNqQnWyx1R5OVANPFi5zjORzTGo7t7s/ZTtO4p/The6RMoXk5Hbz5Psl0fIKAAAA+SBYAyiYTAG5qzemjQ+/Lp+TCK7JyttJmVpseVZyZOXzORqOe6qtKlPc89TTPzzhWIyR6kMBHbm4Wtt2d49bPd+wfhUtrwAAAFAQBGsABTNRD2rXs9rbNaDv3rpZ/+eTp6UCbLYWW56VKkt9+l/vPkq1VeW69vbMbbNGqq4o1cf/+mhd9eOnR4XnuuCBYE/LKwAAABQCxcsAFEwyIE94XfegWlq7U7/O1mLLMdKnLzxOpx17iF58Y5/c7J24Ut5z6hL99Pevqj0cVdy1ig27irs21VIrub2c6t4AAACYKlasARRMLj2ok/74/JtqDw+qoSagpoZKBUr96o2O3uJtJC2qrdDCYJm+/KOn1B4eyOneRtLGh19LG8JHVgunhzQAAAAKgWANYEK5VPm21kqyqigvUW//kCaoK6anXmrTpq0diu9Pv55NFCWTtfL7HHnWqj4U0OcvWTXi3HaO45WyrmyPrRYOAAAATAXBGkBW6dpgjTynPPYax5gJQ7WUCL9D8QPpt7qyRN/65Gna2da3P8CXy1rpj5vfVEf3QM6hOhe01AIAAEAhEawBZJSpynfynPLVl62VtVbfvHmTwr0xJWqWJRJwckE7Qx2zcQYG49rZ1qcVTSHVVpelgrqUffV5smipBQAAgEIjWAPIKHMbrMQ55WdebdPN97WMOxstJQK1zzGqXlCiSN/Q/tdlfq/k9uzmxuCoMF8IPsfI76OlFgAAAKYHwRpARtnaYDnG6MbfvDxBWDY65ohavfhGl3r6h1RW4tNQ3E27ip3cnj1Ry66RjElUDXeM0bA7/nrHGDXUlOvjf310qlAaLbUAAABQaARrABllq/I98nx0JkNxT4+9uFeV5X79zTuX669WH6Z/+/lz41ajR27PfuzFvRnDvCT5fYlQXB8K6PMfXKWu3pjaw1GVlTj69SPbR50FT65OLwyWa0VTHr8BAAAAQA4I1sBBKJcq3rlobgyqLhgYF4SNlFOBMmOki9ct1bvWNKm81KeW1ojevuowPfDcbvX0D40LwMaYrGHe5xide/ISrVy+MPWZ6kKBVHXvk45uKMjnBgAAACaDYA0cZHKp4p0rY4w2rF817n6V5SXqHxxWPM3266RAmU//70fXqLFhgTojUf3bz59N3SPuugpWlunskxq17LDgqACcKcw7+0P3B96xLGNYNsZoRVOINloAAACYUc5sDwBA4Yys4h13rWLDruKuTVXxtnkUA6sLBnTN5Wv1Tx86Qe9a06hzT16i9522JGuoLisx+twHjtfi+sq0Y3I9qbtvSI+88Na4VeVkmG+oCcjvMyor8cnvM1pUS9ExAAAAFCdWrIE5KNNW74mqeLe0RvJazd3XM6if3bNVHd1RGaOsoVpKPH/t7VtUFwzo4nVLM46pPTygbbu7ddSSmlHPJcM827oBAAAwFxCsgTkm21bvbFW8k+2sJhusrbX6zq2b1dE9mPNrEn2nEyvltzzQIsekP5XtetIP73pJX750zbht6mzrBgAAwFzBVnCgiFhrtW13tx594S1t2909buv2RFu9G2rKMxb+Srazmsz7SVJLa/ekQvVInrXqHRjKOCZJ6ukf0rdu3iQvyzUAAABAMWPFGigSmVair/n0GalvwCba6m2tMhb+qguWS7J69IW31FATUE1Vqa7f+ELWImfWWj3wbOuUPpdnE1XEM1USt5L29cT0hRue0JV/e+KkC6wBAAAAs40Va6AIZFuJ/uqPnkitJCe3eqfjcxx1dA+mLfy1MFgm17P6zq3P63/+8Kq+c+tmfenGp9TWNZB25dvzPL34xj5d/T/P6dmtHQX4fEok6yzCvbG8C6wBAAAAs4kVa6AIZFuJ3rtvQC2tETU3hrL2eE5u9R5b+Ks+VK6f/P6VnLZze9aqLTygr/7kGe3p7JffZ3Ric502tXRmfE3OPa2V6GvtZbjYSlMqsAYAAADMFlasgSKQbSXa7zNqD0clHejx7Iypju0Yo/pQonK2dKDw15krD5UxmtQZac+T3trXr3euXqwvfGS19nT2Z7y2PlimRbUV48aT/nM4qqooVbZLkwXWAAAAgLmEYA0UgWwr0XHXpoqO5dPj+YXXuyY1FmOkT15wrD527gr95HevZgzli2oC+sJH1owaj9+XOTV71urDZzdnDdZx1x1XYA0AAAAodmwFB4pAciU6XdGxQxZWpFaipYl7PI/tca1JnFk2kg6prdBJRzdk3J6eGJf0v959lBYGyyUpNZ628IDuemS7wr2xUdvDkyvqoQWlWY9ahxaUjfqsAAAAwFxAsAaKQHIlemxV8PpQQF/7xGkyrjsqH2fq8ZyusnhVRcmE71/qd+RZq/rQgZXvbD2xPSv9129eTvWfHjmetx1ek/ZzbLjkBL2yMyy/zyfXG39PI+lda5rSrroDAAAAxYxgDRSJdCvRK5qCqq+pUGdn74SvH1lZ3LM2FYgjfcNyMhQNq1lQok9eeJzaw4PjVr6zbU+XpJ6BIV2/cYuuvmztqDCcbUU92z19PqNlh1VP+DkBAACAYkOwBorI2JXoySzeZqssPvo9EqvDDTUBXbF+tRYGy7Wiafz9ktvT27oG0veftpmreGdaUc+25X1k8TUAAABgLqF4GTDLrLXatrtbj77wlrbt7s67j3O2yuKSdMQhVXrvaYfrzOMP1YfPXqGrL1ubOiOdTnJ7elVlacZrJlvFO5/iawAAAECxY8UamEXpzkTXBQPasH6V6oKTq46dbZu1Y6Se/iH94eld8jmOnnhprx58rnXC96kLBvSZi47Vd259Xm6aveTJ3tmTMVHxNQAAAGCuYcUamCUjz0THXavYsKu4a9Uejur6jVsmvXJdWe6X3zf+X2nHGBljFO6N5fU+zY0h1Ycm7p09GSP7bK9oChGqAQAAMKexYg3MkmxnopNnl49aEhr13NhWWs2NQe3tGtBvHtuhp19uk5VUVuIo7nr7q297ClaWqrsvNu6cdPJ9tu3uTlUBT7d6nK1iOdu3AQAAAII1MGuytbNKnl0eGazHbhuPu65K/D7FhhOtuI5bVquLzlympYdWjQrfbV0DuuWBlrQtrhxj9MO7XlL/4HDWrehs3wYAAAAyI1gD0yTd6vLIIJrtTPTYs8uZWmm5Q658jtG7TlqsxXULFHcT9xtbkTvT+wzFPQ27Q7JWqXsmt4iPbaOVqdI3AAAAMN8RrIFpkEtRssm0nmppjaijeyBtL2rXs7rvmVZJks+R6kMVOb2PkWSVaJs10sit6IRoAAAAYGIULwMKLFNRsrauAX3r5k3y9q8e59p6qj08oDv+/Ibc9IvOo7ie1NY1MKooWab3qa4sVak//Y+AybbRAgAAAOYzVqyBAstUlMxK2tcT04YfPKYvX3qS6kOBrGeXu3oG9bsnduqRF95U3M29QriV1NEd1UOb9qisxJe659j3kay+e9vzae+RTxstAAAAYL4iWAMFlq0omST1DAzrSzc+qW98Yq3qQxXjzi6He2P6/ZM79afn9yjuWh11eI3ee+oS3XzfNnV0D44L7Om4rtWtD2xTid83ahv6yPex1ua8FR0AAABAZmwFBwosW1GyJNez+vYtm0f1kI70xXTrAy268r+e0IPPtaqxfoE++FfLdd7aw1VW4ktt507TqnocK8mzytqzOtet6AAAAACyY8UaKLBksbC2roFxvaNHCvfG1NIa0SG1FbrnqZ16eNMeDcU9LVm0QGed2Kh7ntypX//5Dfl9ib7UdcGAPn/JKnX1DOqHd72knoGhcYXHMslUkIw2WgAAAMDUsWINFFCyxdbbVx2qBYGS7Bcb6Rf3bdUV//GY/vD0boWqyvT/vP84/cv/Okn3PrVLHd2DirtWg0MHVp2/98stWtEU0pcvXaNFNRXyOUZm9C0zylSQLLkV/cyVh2pFU4hQDQAAAEwSK9ZAgYxtsRV3XRkzvp1VkudJezr6D7y+O6r/+8c35Ho2bfGzsavOyZXmtvCAhoY9lfodDcU93frAtrRtueKuS0EyAAAAYBoQrIECGNliy7M2Y+GybDwr7e0a0M9+/+r+VePx6Ti56pxcWR5ZjEySPM/TbQ+2ZEjzRkcurp70uAAAAABkx1ZwoAAytdiSEtuzS0ty/1ctOuRqOJ6++NlEbbBe29OT9d4TPQ8AAABg8gjWQAEkW2ylYyUNDXuqqSrTUU1B+Z38zjDn0garPRyVP0PZcL8v/RlrAAAAAFNDsAYKYKIWW+859XB9+9On6eK3L89eYSyNUr+TcxusbOOYaLUbAAAAQH44Yw0UQHNjULXV5eoIR0edjDaSFtUG9IF3LJMxJtWKK3kWeyIlPkfvOLFRJ62o05GLJ26Dlen+uax2AwAAAMgPK9bAFMWGXd33zG4NDMZTodrvGPkc6ZCFFbpi/epUIDbGaMP6VWqoCYxrlZWOldW7Tl6Scxuskff3+4zKSnw5r3YDAAAAyE/BVqyffPJJ/cd//IdefvlllZeX67HHHhv1fE9Pj77yla/oz3/+sxYsWKBPfepT+uhHP1qotwdm3NCwqz89/6Z+/+RORfqHVFNVpr89d4UOqa1QV09MDTWJFeKxYbYuGBjVKis25Op3T+xUz8DQqGLexkj1oYCOWVqrffv6ch7XyPu3h6MZxwEAAACgMAoWrCsqKvSBD3xAF1xwgb73ve+Ne/7rX/+6XNfVI488ol27dunv/u7vtHz5cp166qmFGgIwI4bjnv685U397okd6u4bUnBBqT5ydrPeccJhKvH7crrH2FZZhx9SpW/fslnuiGRtrRQbctURjk56a0m6VlwAAAAApkfBtoKvXLlSF110kZYsWTLuuYGBAd177736x3/8Ry1YsEDHHHOMLr74Yv3qV78q1NsD0y7uenp48x5d+V9P6Ob7t8mz0ofOOlKXvfcYlZf6tf2tXtkczk2PZa3VT3//qlxv/Gu7emP6lxsfz+u+AAAAAGbGjBQv27FjhyTpyCOPTD129NFH62c/+1ne95xLu1qTY51LY8YBcdfTYy++pbsf26F9PTGVl/p01omLddaJi/WDO/6izkii1ZbreaoLBnTFh1apLph79e2W1og6ujO3wdq7b0Cv7YmouTFUgE+D+YCfOcgXcwf5YN4gH8wb5KtY505Owdp13YwrZsYY+XzZt78ODAyosrJy1GPV1dXq7+/PcZij1dRUTnxREVq4sGq2h4BJiLueHn52t267f5vawwMyJvEvsOd5+tPzb+rPW96U50metYq7riSpozuqf/+/L+o/v3BW1jPN1lq9vL1Lb3X2a09HX9YiZsZI/UNWdXXMH0wOP3OQL+YO8sG8QT6YN8hXsc2dnIL1xz/+cT399NNpn6urqxtXqGysioqKcSG6t7d3XNjOVTjcL9fN3DO42BiT+IPft69X7Ogtfq7n6Ym/tOk3j21XR/dg6tuw5J/dUDzzH6LrWe3d168nnm/NeL65MxLVtbdtSa10x10v7TbwJGulylKjzs7efD8S5hl+5iBfzB3kg3mDfDBvkK/ZmDs+nzPh4m5OwfoXv/jFlAZyxBFHSJJef/11LV++XJL06quvqrm5Oe97zsV/Aa2dm+OeLzzP6qmXE4G6LRxVRZlfCwIl6osOT+o+PsdRW1c07dZta62uvW1Lqs90cqU7m0MWVujIxUHmDiaNnznIF3MH+WDeIB/MG+Sr2OZOwYqXeZ6nWCym4eFECInFYhoaGpKUWLE+77zz9O///u/q6+vTq6++qjvuuEPvf//7C/X2QN48z+rJl/fqqh8/pR/99mX1DAzpwjOX6hMXHKPBofik7+d6nhpq0p+xbmmNqDOSCNW5aAiV6+ufPJ1WWQAAAEARK1jxsmeeeUaXXnpp6tcrV67U4sWL9dBDD0mSvvrVr+qqq67SunXrVFlZqc997nM67bTTCvX2wKR51urZV9t116Pb9da+AZWX+nT+6Ufo3FOaVFleokdfeGv/Vu2JV5WTHGNUH0r0jU6nPRzNeM+yEp/etWaxtP/E9fHLanXUkpDqayrYBg4AAAAUsYIF67Vr12rr1q0Zn6+urtb3v//9Qr0dkDfPWm3a2qG7HtuuPR39Kivx6b2nHa7zTlmiBYGS1HUNNQG5Xvaz/D7HyBilqoLXhwLacMkJGVeYs93T9TytXF436mw2C9UAAABA8ZuRdltAMbDWanNLp+56dLt2t/eptMTRX69dovPWLlF1Rem465sbg6oLBlLnocc6pDYRort6Y2oPR9VQk1ipzhSqrbWy1qqyvEQ9A0OjzoRMtNINAAAAoHgRrHHQs9Zqy+v7dNcj27WzrVclfkfnndKkv157uKorxwfqJGOMNqxfpetuH13Be0GgRB85Z4VOOqpexhjVhQIZK4AndUaiqfs4xqRCdanfkWfthCvdAAAAAIoXwRoHLWutXnyjS3c9+oa2v9Urv8/R2Sc16j2nHq7QgrKc7lEXDOiay9eqpTWS06p0pnFcd/uWESvfiVRtJAXK/Pr0RcequTFEqAYAAADmKII1DjrWWr20o0t3PbJdr7/ZI7/P6F0nNuo9px2umqrcAvVIxhitaApNuCqdSaZK4FZS/+CwJEOoBgAAAOYwgjVmlbV2SqvBY+/16s6wfv3odr3WGpHPMfqr1Yv13tMOV211eYFHnrtslcB9jqP2cDTv0A4AAABg9hGsMWtGnjtOVtWuCwa0Yf0q1QXT94HOZOuusH79yHZt290tn2P0jhMO03tPO3zS95kOE1UCz9TzGgAAAMDcQLDGrBh77ji5mtsejur6jVt09WVrc1q53rY7rFseaNGutj4ZI515/KE6/4wjVB8qnrCaqbo4lcABAACAgwPBGrMi07ljz1p1dEfV0hrJuj36tT0R/fLh19TSGpGUCKnGWL22J1J0vZ/TVRfPpec1AAAAgLmBYI1Zke+54zfe7NGdj7yhv2zvGvW4Z61kJ7/iPVMKUV0cAAAAQHEiWGNWTPbc8Y69Pbrzke164fV9khKtqmya1+a64j0bplpdHAAAAEBxIlhjVuR67nhXW6/ufGS7nn+tU5JUXupTbMhNG6qTqLQNAAAAYCYRrDErJjp3vKejX3c9ul3PbeuQJK1ZUa9VRy7U//xha9ZQLVFpGwAAAMDMIlijoCbTlzrdueOKMr9uf/g1PftquyRpdXOdLjxzqZYsqtKjL7yV8Vx2EpW2AQAAAMw0gjUKJp++1Mlzx1UVJfrNYzv09MttspJWLV+oC9ct1RGHVKeubagJKO6mP5ctST7HqKGGStsAAAAAZhbBGgWRb1/qvV0D+s1j2/XUy22yVlq5fKEuPHOplh5aPe7aIxePfyzJGOmfPrRKK5pqCNUAAAAAZhTBGgUx2b7U7eEB3f3YDj3+0l5ZKx27tFYXnblUyxdn3sL92p4epa8FLjlGMsYhVAMAAACYcQRrFESufak7uqO6+/EdevzFvfKs1dsOr9FF65aquTGU03v4fT653vj38Pt8VAIHAAAAMCsI1iiIifpSl5U4+tk9r+qxF9+S61kd1RTSReuW6qglNQV7DyqBAwAAAJgNBGsURKa+1EZSqd+nG+9+Wa5n1dwY1EXrlulth+ceqCd6DyqBAwAAAJhNzmwPAAeHZF/qhpqA/D6jUr8jYxInogdicR1xaJWuWH+CrvzoiXmF6nTvUVbik99ntKiWSuAAAAAAZg8r1iiYumBA//zhE3TLAy16vqVT1kpLD63SxeuW6diltQUJvul6X2frlQ0AAAAA041gjYKI9A/pnid36uHNezQc93T4IVW66MylWrl8YcFDb7L3NYXKAAAAABQDgjWmpGdgSPc+tUsPPdeqobinJQ0LdOG6pTrhyDpWkQEAAADMCwRr5KUvOqx7n9qlB59rVWzYVWN9pS48c5lWr6iTQ6AGAAAAMI8QrDEpfdFh3ffMLt3/bKtiQ64Oq6vURWcu1YlH1ROoAQAAAMxLBGvkZGBwWPc9s1v3P7tb0ZirQxdW6IIzlurkoxvkOARqAAAAAPMXwRpZDQzG9cCzu/WHZ3YrGotrUU1Af3vuUq192yICNQAAAACIYI0MorG4HnyuVX94epf6B+NqCAX0kbObdeqxi+RzaH8OAAAAAEkEa4wyOBTXQ5v26N6ndqkvOqy6YLku+asjddpxh8jvI1ADAAAAwFgEa0iSYsOuHt60R/c8tVO9A8NaWF2mD7zjKJ1x/KEEagAAAADIgmA9zw0Nu/rj82/q90/uVE//kGqqyvSx847SupUEagAAAADIBcF6nhqOu/rT82/qd0/uVKRvSKEFpfroOSv09lWHqsTvm+3hAQAAAMCcQbCeZ4bjnh554U397omdCvfGFKws1Yff1ax3nHCYSksI1AAAAAAwWQTrImatVUtrRO3hqBpqAmpuDMqY/FpcxV1Pj77wln77xA519cRUXVGi9WcdqXeuXqwyAjUAAAAA5I1gXaQ6I1Fdd/sWdUai8jmOXM9TXTCgDetXqS4YyPk+cdfT43/Zq7sf26F9PYNaECjRB/9quc5a3aiyUgI1AAAAAEwVwboIWWt13e1b1B6OyrNWcdeVJLWHo7p+4xZdfdnaCVeuXc/TE39p092Pb1dH96Aqy/36wDuW6V1rGlVeyh87AAAAABQKCasItbRG1BlJhOqRPGvV0R1VS2tEK5pCaV/reVZPvrxXv3lsh9rDUVWW+3Xx25fp7DWNCpTxxw0AAAAAhUbSKkLt4cT27+RK9Ug+x1F7ODouWHue1dOvtOk3j+3Q3q4BBcr8uujMpTr7pCZVlPPHDAAAAADThcRVhBpqAnI9L+1zruepoebAGWvPWj37arvuenS73to3oPJSny444wide3KTKspLZmrIAAAAADBvEayLUHNjUHXBQOqMdZJjjOpDiergnrXatLVDdz22XXs6+lVW6tP7Tj9c5568RAsCBGoAAAAAmCkE6yJkjNGG9avGVQWvDwX0+Q+u0qZtnbrr0e1q7ehTaYmj95x6uM47pUlVFaWzPXQAAAAAmHcI1kWqLhjQNZevTfWxrg+Va2Awrh/8+kXtautTqd/Ru09ZonevXaLqSgI1AAAAAMwWgnURM8aouTGoaCyu2x96TTv29qrE7+jck5v012uXKLigbLaHCAAAAADzHsF6llhrU6vRDTWJc9Mje1Nba/XS9i79+pHt2v5Wj/w+R2evadR7TjtcIQI1AAAAABQNgvUs6IxEx52frgsGtGH9Ki2sLtfLO8O685E39PqeHvl9RmeduFjvPe0I1VQRqAEAAACg2BCsZ5i1VtfdviVV8TvZq7o9HNU3b96khdXlammNyOcYvfOEw/Te047QwmD5LI8aAAAAAJAJwXqGtbRG1BkZ3UZLSvSj7uqJKdwb09tXHar3nXaE6kKBDHcBAAAAABQLgvUMaw8ntn8nV6pHcozR+9+xTO859fBZGBkAAAAAIB/ObA9gvmmoCaQN1ZLkONKRi4MzPCIAAAAAwFQQrGfQ9rd69Lsndsj1xj/nGKP6UKI6OAAAAABg7mAr+AzYubdXN9z1sp5+ea+MpFVHLtSejn5198VSVcHrQwFtuOSEUS23AAAAAADFj2A9jXa19equR7drc0unJOmko+t1wRlL1Vi/YMI+1gAAAACAuYFgPQ1iQ3F9/1cv6pWdYUnSiSvq9PHzj1NVqaNkMXBjjFY0hbSiKTR7AwUAAAAATBnBusA6I1F9+5bN6owMyjGSMdKbnQOqLC+RvPRFywAAAAAAcxfFywrIWqvrbt+irp6YJMmzkuslWmx99UdPyI7pXQ0AAAAAmPsI1gXU0hpRZyQqb0yA9qzV3n0DammNzNLIAAAAAADThWBdQO3hqHxO+t9Sv8+oPRyd4REBAAAAAKYbwbqAGmoCcr00TaolxV2rhprADI8IAAAAADDdCNYF1NwYVF0wIGdM2yzHGB2ysELNjcFZGhkAAAAAYLoQrAvIGKMN61epoSYgv8+orMQnv89oUW1AX/vEafSpBgAAAICDEO22CqwuGNA1l69VS2tE7eGoGmoCWtEUVH1NhTo7e2d7eAAAAACAAiNYTwNjjFY0hbSiKbT/17M7HgAAAADA9GErOAAAAAAAU1CwFesnn3xS//Ef/6GXX35Z5eXleuyxx0Y9f+WVV+q3v/2tSkpKUo/97ne/02GHHVaoIQAAAAAAMOMKtmJdUVGhD3zgA7ryyiszXvPxj39cmzdvTv2PUA0AAAAAmOsKtmK9cuVKrVy5Uk899VShbpnVXDq3nBzrXBozigNzB/lg3iBfzB3kg3mDfDBvkK9inTszWrxs48aN2rhxow455BBdeuml+pu/+Zu87lNTU1ngkc2MhQurZnsImKOYO8gH8wb5Yu4gH8wb5IN5g3wV29zJKVi7ritrbdrnjDHy+XwT3uNjH/uYvvCFLygYDOrZZ5/V5z73OVVVVem8886b3IglhcP9cl1v0q+bLcYk/uD37etVht9GIC3mDvLBvEG+mDvIB/MG+WDeIF+zMXd8PmfCxd2cgvXHP/5xPf3002mfq6urG1eoLJ1jjz029c9r167VRz/6Ud177715BWtJc/JfQGvn5rgx+5g7yAfzBvli7iAfzBvkg3mDfBXb3MkpWP/iF78o+Bs7jpNxFRwAAAAAgLmiYFXBPc9TLBbT8PCwJCkWi2loaCj1/D333KO+vj55nqdnn31WN910k84555xCvT0AAAAAALOiYMXLnnnmGV166aWpX69cuVKLFy/WQw89JEm66aab9JWvfEWu6+qwww7TP/zDP+i9731vod4eAAAAAIBZUbBgvXbtWm3dujXj8zfffHOh3goAAAAAgKJRsK3gAAAAAADMRwRrAAAAAACmgGANAAAAAMAUEKwBAAAAAJiCghUvm0k+39z8PmCujhuzj7mDfDBvkC/mDvLBvEE+mDfI10zOnVzey1hr7QyMBQAAAACAgxJfEQEAAAAAMAUEawAAAAAApoBgDQAAAADAFBCsAQAAAACYAoI1AAAAAABTQLAGAAAAAGAKCNYAAAAAAEwBwRoAAAAAgCkgWAMAAAAAMAUEawAAAAAApoBgDQAAAADAFBCsAQAAAACYAoL1NLvtttt07rnnas2aNTr99NN15ZVXqq+vL/V8T0+P/uEf/kGrV6/WunXrdPPNN8/iaFEsfvzjH+v888/X6tWr9c53vlPXX3+9XNdNPc+8QSZPPvmkPvaxj2nNmjU644wzxj3P3EE6zAvk6qabbtL73/9+HXfccfr85z8/6rlt27bpkksu0apVq/S+971Pzz777CyNEsVmaGhIX/7yl3XWWWdp9erVeu9736u777479TxzB5n8y7/8i9atW6cTTzxRZ511ln74wx+mniu2eUOwnmZnnHGGNm7cqOeee0733XefhoeHde2116ae//rXvy7XdfXII4/ov/7rv/T9739fTz755CyOGMXA8zx94xvf0NNPP62bb75ZDz/8sP77v/879TzzBplUVFToAx/4gK688sq0zzN3kA7zArlqaGjQZz7zGV1yySWjHh8eHtanP/1pnX322XrmmWd0+eWX6zOf+YwikcgsjRTFJB6Pq6GhQT//+c/13HPP6Wtf+5r+9V//VZs3b2buIKtLL71U999/vzZt2qRbbrlFd999t+65556inDcE62nW1NSkUCiU+rUxRjt37pQkDQwM6N5779U//uM/asGCBTrmmGN08cUX61e/+tUsjRbF4hOf+ISOP/54lZSUaPHixTr//PO1adMmScwbZLdy5UpddNFFWrJkybjnmDtIh3mByTj33HN19tlnq6amZtTjTz/9tAYHB3XZZZeptLRUF154oRobG3XffffN0khRTCoqKvQP//APampqkuM4Oumkk3TiiSdq8+bNzB1kdeSRR6q8vFySZK1NZalinDcE6xnwxz/+UWvWrNGaNWv0wAMP6OMf/7gkaceOHZISEybp6KOPVktLyyyMEsXsmWeeUXNzsyTmDfLH3EE6zAsUQktLi1asWCHHOfBXS+YRMhkYGNBf/vIXNTc3M3cwoWuvvVYnnHCC3vnOd2pgYEAXXHBBUc4b/6y980HAdV1Za9M+Z4yRz+eTJL3zne/Uc889pzfffFO33367mpqaJCV+qFRWVo56XXV1tfr7+6d34JhVuc6bpJtvvlnbtm3Tt771LUnMm/lssnNnLOYO0mFeoBD6+/tVVVU16rHq6mr19vbO0ohQrKy1+vKXv6yVK1fqzDPP1AsvvMDcQVZXXHGFNmzYoBdffFEPPvhg6r9RxTZvCNZT8PGPf1xPP/102ufq6ur02GOPjXrssMMO07p163TFFVfojjvuUEVFxbi/uPT29o77Cw4OLpOZN3fddZduuOEG/fznP09tu2PezF+T/ZkzFnMH6TAvUAiVlZWjirNKzCOMZ63VV7/6Vb311lv6yU9+ImMMcwc5McZo5cqVeuSRR/SDH/xAhxxySNHNG4L1FPziF7+Y9Gvi8XjqjPURRxwhSXr99de1fPlySdKrr76a2vKLg1Ou8+buu+/Wt7/9bf30pz9NzQ+JeTOf5fMzZyTmDtJhXqAQmpub9eMf/1ie56W2Zr7yyiv68Ic/PMsjQ7Gw1uprX/uaXn75Zf3sZz9TRUWFJOYOJsd1Xe3cuVPr1q0runnDGetp9qtf/Urt7e2SpN27d+t73/ueTj/9dEmJVYLzzjtP//7v/66+vj69+uqruuOOO/T+979/NoeMIvDb3/5W11xzjX70ox9pxYoVo55j3iAbz/MUi8U0PDwsSYrFYhoaGpLE3EF6zAtMRjweVywWUzweH/Xz5pRTTlFpaal+8pOfaGhoSHfffbdaW1t1zjnnzPaQUSS+/vWva8uWLfrv//5vLViwIPU4cweZ9Pb26s4771RfX588z9Nzzz2nW2+9VaeffnpRzhtjMx3YQ0F87Wtf0/3336++vj4Fg0G94x3v0IYNG1KVwnt6enTVVVfpkUceUWVlpT796U/rox/96OwOGrPurLPOUltbm0pLS1OPrVmzRj/+8Y8lMW+Q2VNPPaVLL7101GOLFy/WQw89JIm5g/SYF8jV//f//X/6wQ9+MOqxiy++WN/85je1detWXXXVVdq6dauampr0r//6rzr55JNnaaQoJnv27NFZZ52l0tJS+f0HNsx+8pOf1Kc+9SnmDtLq6+vT3//93+vll19WPB7XokWL9P73v1+XX365jDFFN28I1gAAAAAATAFbwQEAAAAAmAKCNQAAAAAAU0CwBgAAAABgCgjWAAAAAABMAcEaAAAAAIApIFgDAAAAADAFBGsAAAAAAKaAYA0AAAAAwBQQrAEAAAAAmIL/Py4KawDMuy2eAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(15, 8), dpi=80, facecolor='w', edgecolor='k')\n", "ax = plt.subplot(1, 1, 1)\n", "ax.scatter(X,y)\n", "ax.plot(x_lin,y_lin)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# LaTeX" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here is a `newcommand` (see in the source):\n", "$$\\newcommand{gpvec}[1]{{\\bf #1}}$$\n", "$$\\newcommand{bfvec}[1]{{\\pmb{#1}}}$$\n", "$$p(f_*|x_*, X, y) = \\mathcal{N}\\left(\\frac{1}{\\sigma_n^2}\\gpvec{x_*}^TA^{-1}X\\gpvec{y},\\; \\gpvec{x_*}^TA^{-1}\\bfvec{x_*}\\right)$$\n", "$$A=\\frac{1}{\\sigma_n^2}XX^T+\\Sigma_p^{-1}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\displaystyle\n", "\\begin{array}{rcl}\n", "\\text{μ} & \\sim & a\\\\\n", "\\text{σ} & \\sim & b\\\\\n", "\\end{array}\n", "$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\begin{align}\n", "s_{t+1}=\\begin{pmatrix}\\beta_{t+1}\\\\\\alpha_{t+1}\\end{pmatrix}&=&\\begin{pmatrix}\\beta_t\\\\\\alpha_t\\end{pmatrix}+\\eta_t&,\\qquad& \\eta_t \\sim N(0, I_2\\sigma_\\eta^2)\\\\\n", "y_t &=& Z_t\\cdot s_t + \\varepsilon_t = \\begin{pmatrix}x_t&1\\end{pmatrix}\\cdot\\begin{pmatrix}\\beta_t\\\\\\alpha_t\\end{pmatrix} + \\varepsilon_t =\\beta_tx_t+\\alpha_t \\\n", "&,\\qquad&\\varepsilon_t \\sim N(0, \\sigma_\\varepsilon^2)\n", "\\end{align}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Given a joint distribution:\n", "$$\\left[\\begin{matrix}x\\\\ y\\end{matrix}\\right]\\sim\\mathcal{N}\\left(\n", "\\left[\\begin{matrix}\\mu_x\\\\\\mu_y\\end{matrix}\\right],\n", "\\left[\\begin{matrix}A&C\\\\ C^T&B\\end{matrix}\\right]\n", "\\right)$$\n", "\n", "We get the conditional distribution analytically as follows:\n", "\n", "$$p(x\\,|\\, y)\\sim\\mathcal{N}(\\mu_x+CB^{-1}(y-\\mu_y), A-CB^{-1}C^T)$$\n", "\n", "And as we set the mean to $0$ this reduces to:\n", "\n", "$$p(x\\,|\\, y)\\sim\\mathcal{N}(CB^{-1}y, A-CB^{-1}C^T)$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# SymPy" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "import sympy\n", "sympy.init_printing()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle x^{4} - 7.5 x^{3} + 14.5 x^{2} + 3.0 x - 20.0$" ], "text/plain": [ " 4 3 2 \n", "x - 7.5⋅x + 14.5⋅x + 3.0⋅x - 20.0" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def myfn(x):\n", " return (x+1)*(x-2)*(x-2.5)*(x-4)\n", "\n", "symx = sympy.symbols('x')\n", "sympy.expand(myfn(symx))" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAADxMAAAAuCAYAAABZTNZ5AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAgAElEQVR4Ae29SZL8xpXtHcXH0TeiqBWUtAOKnJeZxB2QpRVI3IFonNWMRu2A0grU7ICUWU3eiM3wzahagVi5A37nIN3x9wC8ORcBRJN5YBaJ7vptfn6vOwIRyPi3n3766bR1+a//+q8v0fYptf8c+3l7q0q3MwETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAET2InA21v14MHhP6Dtu3h9itf/4PULvD7Gy4sJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmMAdEHhriw94kPgdtPsCry/TrxH/iO1vtuhyGxMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwgWMIbP1l4t/THTxI/HVa//IY96zVBEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABExgK4GtDxN/AoPTg8RbDbudCZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACbw0Avgx3y8Q0zt4/QKvf+L1KY49YX2T5a2oVThLx/n6KtrW8iZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAibwUgmkB4m/xPoTvD5EnO/i9Y9bxht+mBjOfpQc/v6Wjtu2CZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiA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gAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAnsTwDPI/4eWj/E+uP9tR+j8a2B2vzLxN8O5HzaBB6SAIr1ezj+NdZ8aN6LCZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACZiACfQIfIqTn/cE7u3c6GHiX9Dh9MDlvfluf0xgLwK/g6LP9lJmPSZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAi+PAJ635a8S//3RnrttPkyMQPKvEn/98rrLEZnAGwLI9SfsfY71l2+OessETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAEngngGUT+gO/HWPOXiR9qaT5MjCjeT5F8/1AR2VkT2EAAxft3NPsK699saO4mJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACJmACL5sAHyL++BFD/Leffvqp6jceqvwbTnyE14fY9q8TVyn5oAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAncL4HeLxO/R7f9IPH9dp49MwETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMIEegd7DxL9Aw+97jX3OBEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzgfglUHybGrxFPv0oMt7++X9ftmQmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYgAmYQI9A9WFiNHg/NfpLr7HPmYAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJmIAJ3C+B1sPEH8LlJ/xC8ff367o9MwETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAET6BFoPUz8ERr9qdfQ50zABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABO6bwOphYvwa8W+Sy1/et+v2zgRMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMwARMoEfgLTw8/AVePxRCn2D7axz7Z3HMmyZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAiZgAg9G4G34+172GQ8Qc5u/TPyrfMxrEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzABEzCBxyTwf/7jP/7j/8L1/++///u/+SDxb/H6HR4q/n+PGY69NgETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETMAETyAT+fxG9S6qiKgiWAAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\int 169468.112192611 \\left(- 2.41880408240179 \\cdot 10^{-9} x^{16} + 1.36276465610668 \\cdot 10^{-7} x^{15} - 3.49098165434104 \\cdot 10^{-6} x^{14} + 5.38111800543089 \\cdot 10^{-5} x^{13} - 0.000556685466469675 x^{12} + 0.00408173406248781 x^{11} - 0.0218377659611658 x^{10} + 0.0864743499623509 x^{9} - 0.25443496251136 x^{8} + 0.553716175458228 x^{7} - 0.880083202281385 x^{6} + x^{5} - 0.786805137406334 x^{4} + 0.409652714068313 x^{3} - 0.13337233534738 x^{2} + 0.0279729800582066 x\\right)^{2}\\, dx$" ], "text/plain": [ "⌠ \n", "⎮ \n", "⎮ ⎛ 16 15 \n", "⎮ 169468.112192611⋅⎝- 2.41880408240179e-9⋅x + 1.36276465610668e-7⋅x - 3.49\n", "⌡ \n", "\n", " \n", " \n", " 14 13 12 \n", "098165434104e-6⋅x + 5.38111800543089e-5⋅x - 0.000556685466469675⋅x + 0.0\n", " \n", "\n", " \n", " \n", " 11 10 9 \n", "0408173406248781⋅x - 0.0218377659611658⋅x + 0.0864743499623509⋅x - 0.2544\n", " \n", "\n", " \n", " \n", " 8 7 6 5 \n", "3496251136⋅x + 0.553716175458228⋅x - 0.880083202281385⋅x + x - 0.786805137\n", " \n", "\n", " \n", " \n", " 4 3 2 ⎞\n", "406334⋅x + 0.409652714068313⋅x - 0.13337233534738⋅x + 0.0279729800582066⋅x⎠\n", " \n", "\n", " \n", "2 \n", " \n", " dx\n", " " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sx = sympy.symbols('x')\n", "sfx = \\\n", " -0.0000009957371 * sx**16 + \\\n", " 0.000056100257831 * sx**15 + \\\n", " -0.0014371151322 * sx**14 + \\\n", " 0.022152182049259 * sx**13 + \\\n", " -0.229167949577895 * sx**12 + \\\n", " 1.680307250977133 * sx**11 + \\\n", " -8.98984498449258 * sx**10 + \\\n", " 35.59846747504916 * sx** 9 + \\\n", " -104.74198119349185 * sx**8 + \\\n", " 227.94559624952703 * sx**7 + \\\n", " -362.2994941897943 * sx**6 + \\\n", " 411.6650485438511 * sx**5 + \\\n", " -323.9001750849299 * sx**4 + \\\n", " 168.63970442305256 * sx**3 + \\\n", " -54.90472890518606 * sx**2 + \\\n", " 11.515498193577798 * sx\n", "sfx2 = sfx**2\n", "isfx2 = sympy.Integral(sfx2, sx)\n", "isfx2" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEkAAAAOCAYAAABjLjEIAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADWUlEQVRYCbWX21FbMRCGHcYFMKGCQAeEVAB0EJIKSDqA4Y03hnQAVMClg5AKuHQQOoBxB873Hc4KSZbNzdmZtaRfe9NqJR1/GI/Hg/fS/v7+DTaO4DP6I3iV/k/4N/0L2kGPndO9hR/gEVwQMrs5wPiQ8X2PLdGegqn/LGW6+lmBX6xbGx/WwBvHy+iZpCOCCxO/6HcJ6oE1WuXkFiVZ9BYR+APv0r9UmFb7J/Bnx7MIWTftgDY2SHs3jDfhu1m6rbl5JUnHLsYEXMEXjWBc3EoDH4Cdw1vMB1lx12BdgnpQ21bgTELnBwLLtHnSrW7H2n02ybWDuSWJIIqjUjtibKATuwjmkToIecYb9GWPSCLwzTSY3THZeXJD2s3bwc4iPHHUQ6jVLrTA/4ER2EQSwUzGPW1+zyjXTOgL49JmiyIx0+ZbOh02nDrzygkWaplLnn+rwPspX7xzNXnn1BXiIm7Bvfy/w17c2vNItiqEqUdiXt/SrGOZ7kTkd5Ddg0NP3ZqO55UknXQvmx5wbiB/ab0omwsD95h5RyQCy4NdY5yqj772TGq6a5LiU+dj3x09QalXJA47+pfWYeOVte0mGUfnB7m7BQbvJgyZjBSYhjFqcnyRJoh5g/B+OJ6YfARWG3PaO+l1p6glWPvTaAkbVukVrUm32r/A8dioewl+J9MfDOkI+ty+hrZ747N0dLCBnC9NfWF7NCeOInLeRdqs5cV81tXzU6JZneBFtTDOKaos7sDcv5sSPk1YsXkmaQT46mcxvKPvkTERtQ3tSpZxBNAB/PihWWMxJx66geWt9prkWmDnIiG5nMUgFX6Rt6pyfyYsHw/mcdw8wy2KoK4bky60CCSTcYenJoK5YpGZXnStsvAdmG0krq7C7p9BJuiGF/rzSJIXdl1F+jR5vlJFMhi7c9K0o+E3k98yRaBg+rBS6kUCF2RleyRr8oUs4ul9eITPKuFCfx5JOsRZcUEz1rE7l39FRxxRJUXyYhJdK8mXxae5o34x3xhs99BADB7D3lWJGHufPNB+DZC+CTempN/PiXlB57HYLz5Lhr3wmxsc6CQSpQOTYJV8qpyHD5OgnF/ATUJvq2FzHUzdjrQNe/Rax8+q22M+NsTLuNDvjDwmI31m9NhEpf4DsqRaFUW1x8kAAAAASUVORK5CYII=\n", "text/latex": [ "$\\displaystyle - 576.0 \\pi$" ], "text/plain": [ "-576.0⋅π" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "isfx2 = sympy.integrate(sfx2, (sx,0,6.56))\n", "isfx2*sympy.pi" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle -1809.5573684677209053544825887689936612975695740401$" ], "text/plain": [ "-1809.5573684677209053544825887689936612975695740401" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "precision=50\n", "sympy.N(isfx2*sympy.pi, precision)" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.plotting.plot(sfx, (sx, 0, 6.56))" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "sa, sb, sc, sd = sympy.symbols(['a', 'b', 'c', 'd'])\n", "se, sf, sg, sh = sympy.symbols('e f g h')" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$\\displaystyle \\left( \\left[\\begin{matrix}a & b\\\\c & d\\end{matrix}\\right], \\ \\left[\\begin{matrix}\\frac{d}{a d - b c} & - \\frac{b}{a d - b c}\\\\- \\frac{c}{a d - b c} & \\frac{a}{a d - b c}\\end{matrix}\\right]\\right)$" ], "text/plain": [ "⎛ ⎡ d -b ⎤⎞\n", "⎜ ⎢───────── ─────────⎥⎟\n", "⎜⎡a b⎤ ⎢a⋅d - b⋅c a⋅d - b⋅c⎥⎟\n", "⎜⎢ ⎥, ⎢ ⎥⎟\n", "⎜⎣c d⎦ ⎢ -c a ⎥⎟\n", "⎜ ⎢───────── ─────────⎥⎟\n", "⎝ ⎣a⋅d - b⋅c a⋅d - b⋅c⎦⎠" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sm = sympy.Matrix([[sa, sb], [sc, sd]])\n", "sm, sm.inv()" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACMAAAAPCAYAAABut3YUAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB20lEQVRIDcWV0U0CQRCGD2IBaAdCBxg7wA5EK1A6kFfeDHQAlgAdSAlCB2AJ0gF+3+b2shxnDHKJk8zt7H87M//tzuw19vt9dq6MRqMWMcZ5nHY+DsHXaWzmvhskWBd7Cr4Qa6RkAO/B3tBr7J0LfhPWSeSNsR/XYkvsBb3DXoozSkSCBRls883RAfasyaOFzlEDPKIGP0X0e0odiDVk7seYKIqJn3nnGAQ77AgT12eS2aF9VOBd8ER5YP2qwscd8UPjsXlkElTLErCLMvqH+RafLklNXJWoZUzeSe5SOwpY3KWp2NlkCHgTg5dGi1OR7JHgJ0mPeII9c8HZZAxSFoL3wDweEx3sFvPYUe6Ku/WKBmlGo+bRbV+QOBRmGhtsK452wDfoJ7bks9rJEFgiS8ai1U1UJayZ5Ljd3KqVDAG9WzLG4i6JJMDaapwn4we29dOrjQyJrIFOSqREwCPZgIXuwj6SWsiQwM65TYnkmWLrOrWQPb6DggaLu7Usd9OPrPMv+sJ5jV20M7bBvGktWFtVMc4V6v0T66KqmCWrv7+DXfg3YVh0OlvVBvK29CxXvAt3AHaG7VZLpihObG/feKe4LBU7x64Jgm38whdbImPw8P86+FEGj398fANaCL4TUZFXaAAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle 1.23$" ], "text/plain": [ "1.23000000000000" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.S(\"{:6.2f}\".format(1.23))" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEAAAAAVCAYAAAD2KuiaAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACEElEQVRYCeWY7VECMRCGwaEAxg6UDmCsQOlA6QAtwb/81Q7ADqQF6EDoQDpQ6eB8XueSSaLHXW6OY+7cmZ3N52bfTbLZu26SJJ2QZrPZPW0jeEN5EfY3qY79Q+x9gN/hBfW9a3/XdQCdfTrX8Iryozuw6WXw3IBhCV9T3ho8Z6aQygly2DbwwgamFeIVflHdUM8UUjlA7oK2yqsYc4tSGXJB2TuSZRaL0Ke1dMothQ6wHVUXMFILC7QcfAl7hlCPoqr01ekAef9OKDFeQVanoDShoxJ9YQwobVBTJ/5HB5y7mxU6QHdTR6utpFzAiz3WAdwp3Um9ldO2ogejkrotcm4w9qgoU3qCtfsj6n8+g7TLc0qSYmjKPJt0xEw81ljsEcYlrNMwlwNk4Bip3Vfq62VKxhDadTWUHjeawLEBwA6pnKfjXgFlSmKdhlYSoPX8KtP9eY4F0jogRWySlLTaOqFd94J8bYlQ4EovErt97I76vmAFq6JXLlOfqzstf7pttToAQIq+eocVb0Rr2t6Q9rOb+h7WSewjxd6OaZIh+nL1mbFZsm4H6Ls8lwA2gHNTZcYU0ndowTAGaKyXKR2afOS+KwBm7n5Va4cO+JUpVbVQjB6A605/xMwpOFZ6Pad6DmBhkymd+imcYMtzQVCFhqFPcUc/fLw/Xd4vMaOJwbp/Y9gGJ9PXNAkWZbqZ/wS/AbJUuA7/zWf2AAAAAElFTkSuQmCC\n", "text/latex": [ "$\\displaystyle \\left\\{-1, 1\\right\\}$" ], "text/plain": [ "{-1, 1}" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "solution = sympy.solveset(sympy.Eq(sx**2 - 1, 0), sx)\n", "solution" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABgAAAAPCAYAAAD+pA/bAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAi0lEQVQ4EWP8//8/Ay0BCzUNb2hoCAGaNxuIFYHsDyCzKbYAaJAA1NB7QFoJiEF8OGCkZhABLUsDmjwTiAVhPmCCW0UjxqgFBAOWBZoK9hJUiaogFajvHKoQdh7IAlB6NcYuTbnoaCSjhyFKLgZJUiUnA+MRlHuFgNgFiEGWgBLAGSA+SxULgAbhBAARyCXrnE17rwAAAABJRU5ErkJggg==\n", "text/latex": [ "$\\displaystyle -1$" ], "text/plain": [ "-1" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "list(solution)[0]" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }