{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Lecture 10: Model Optimization and Cross Validation " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Risky Business" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Thus far in the course, you have learned that machine learning tasks, particularly Supervised Learning methods, involve minimizing some sort of loss function, e.g. Means Squared Error for Ordinary Least Squares Regression.\n", "\n", "In this document, we will approach this concept with more depth, introducing the topic of risk functions, while exploring the implications of one of the more significant topics in understanding risk, the Bias-Variance Tradeoff, Model Optimization, and Cross Validation.\n", "\n", "Make sure to run this block before running any other code blocks." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true }, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "from sklearn import datasets\n", "from sklearn.model_selection import *\n", "from sklearn import svm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Risk and Loss Functions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While it would be wonderful if a single notion success and failure was inherent to the study of data science, this is not the case. Therefore, we must be resigned to either defining or choosing our own metric for success, in order to reason about our model and data.\n", "\n", "To do this, we define a **Loss Function**, a function $L(\\hat{y},y)$ which takes a predicted value and the corresponding true value and maps them to a value in the Real Numbers. This function serves as our metric for the loss caused by a particular prediction in our model (because of reasons we won't get into, minimizing loss is generally superior to attempting to maximize success); by outputting numbers in the Reals, we are better able to quantify and compare the loss in our models.\n", "\n", "While knowing what we've lost while training the model is vital moving forward, we must remember that our real objective is minimizing the amount of loss we'll see in the future. For this, we introduce something called a **Risk Function**, also known as Expected Loss, which is a function $R(\\hat{Y},Y)$ that takes two Random Variables and maps them to the Real numbers. This serves as a measure for how much loss you expect to see for future predictions - our objective then becomes minimizing this function, thus (ideally) making our future predictions more accurate.\n", "\n", "It should be known that your choice of loss function has a drastic effect on your model - indeed, new models are often defined with only small changes to an existing loss function (see Ridge Regression later in these notes). Then we must be aware of the implications and behavior of any formulation of a loss function we choose. One of, if not the most common loss functions is $L_2$ loss: $$L_2(\\hat{Y}, Y) = (\\hat{Y} - Y)^2$$\n", "\n", "Indeed, it's Squared Error, which many of you may recognize from Mean Squared Error, which was in fact a risk function." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bias-Variance Decomposition" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, loss and risk functions are just like any other mathematical function - as such we have a fair amount of freedom to play around with them. Consider the following example, starting with Expected $L_2$ loss:\n", "\n", "\\begin{align*}\n", " R(\\hat{Y}, Y) = E[L_2(\\hat{Y}, Y)] &= E[(\\hat{Y} - Y)^2] \\\\\n", " &= (Y - E[\\hat{Y}])^2 + E[(\\hat{Y} - E[\\hat{Y}])^2] + Var[Y] \\\\\n", " &= Bias^2[\\hat{Y}] + Var[\\hat{Y}] + \\sigma^2\n", "\\end{align*}\n", "\n", "Now, this may seem fairly mundane (though rather arcane: a full proof is provided here for the curious), but the concepts behind it are vital to reasoning about what we do as data scientists. To better understand this, let's break down the components of the Bias-Variance Decomposition." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Starting off on the wrong foot - Bias" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first component to look at is something called Bias - essentially, Bias is a measure of the effect of our initial reasoning about our model. It is a consistent error throughout the system, resulting from poor or limiting assumptions, insufficient training or oversymplification of the model.\n", "\n", "A model with high bias will not change too much between different uses - unless of course, we change our assumptions. Linear models are examples of models with high bias." ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "![Lazy Bias](./lazybias.png)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that the linear model in the above image does not conform to the data, despite there being a clear trend along the curve. Our assumptions of linearity are very strong, and it reflects in the model, giving it high bias." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### In Need of Consistency - Variance" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Variance is a more common statistical topic than Bias and is one that you may have come across in past classes. Put simply, Variance is a measure of how much some thing changes; in this context, it's how much a model may vary depending on the training data used." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A model with high Variane may change wildly between uses, unless some sort of constraint is imposed upon it. As a result, it is particularly sensitive to noise. As such, Variance is also known as random error in this context. An example of a model with (comically) high variance is 1-Nearest-Neighbors." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "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\nsuj4KAAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from sklearn import neighbors as ne\n", "import pandas as pd\n", "from matplotlib.colors import ListedColormap\n", "\n", "poke = pd.read_csv(\"./Pokemon.csv\")\n", "poke['TN'] = poke['Type 1'].astype('category').cat.codes\n", "type_mask = poke['Type 1'].isin(['Fire','Electric'])\n", "type_num = {'Fire':0, 'Electric':1}\n", "EorF = poke[type_mask]\n", "\n", "cml = ListedColormap(['#E17362', '#F7DE82'])\n", "cmb = ListedColormap(['#cf3e28', '#f2cb3a'])\n", "\n", "stp = 0.5\n", "\n", "s1 = EorF.iloc[:(EorF.shape[0] // 2), :]\n", "s2 = EorF.iloc[(EorF.shape[0] // 2):, :]\n", "\n", "xcol = ['Speed', 'Sp. Atk']\n", "ycol = 'TN'\n", "\n", "spmin, spmax = 5, 180\n", "samin, samax = 10, 194\n", "\n", "plt.figure(1)\n", "plt.subplot(121)\n", "\n", "nn = ne.KNeighborsClassifier(n_neighbors=1)\n", "nn.fit(s1[xcol].as_matrix(), s1[ycol].as_matrix())\n", " \n", "\n", "xx, yy = np.meshgrid(np.arange(spmin, spmax, stp),\n", " np.arange(samin, samax, stp))\n", "\n", "Z = nn.predict(np.c_[xx.ravel(), yy.ravel()])\n", "\n", "Z = Z.reshape(xx.shape)\n", "plt.pcolormesh(xx, yy, Z, cmap=cml)\n", "\n", "plt.scatter(s1['Speed'].as_matrix(), s1['Sp. Atk'].as_matrix(), c=s1[ycol], cmap=cmb, edgecolor='black')\n", "\n", "plt.subplot(122)\n", "\n", "nn = ne.KNeighborsClassifier(n_neighbors=1)\n", "nn.fit(s2[xcol].as_matrix(), s2[ycol].as_matrix())\n", "\n", "Z = nn.predict(np.c_[xx.ravel(), yy.ravel()])\n", "\n", "Z = Z.reshape(xx.shape)\n", "plt.pcolormesh(xx, yy, Z, cmap=cml)\n", "\n", "plt.scatter(s2['Speed'].as_matrix(), s2['Sp. Atk'].as_matrix(), c=s2[ycol], cmap=cmb, edgecolor='black')\n", "\n", "plt.suptitle(\"1-Nearest Neighbor for Electric and Fire Pokemon\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see, the two models apear to be quite different, even though they were run on two sets with fairly similar data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Along for the Ride - Irreducible Error\n", "\n", "Irreducible Error, written here as \\sigma, is error that is inherent to the data. Much as we would like to believe that we could reduce our expected error to zero, the irreducible error constant prevents this. While irreducible error is always present, there's not much that we can really do about it, so don't pay it too much heed." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Lets Revisit the Equation - the Bias-Variance Tradeoff\n", "\n", "Consider again our alternate equation for expected loss: $$E[L_2(\\hat{Y}, Y)] = Bias^2[\\hat{Y}] + Var[\\hat{Y}] + \\sigma^2$$\n", "\n", "Notice that this implies that expected error conserves - this makes logical sense, as reducing bias (and loosening constraints on the system), comes with the penalty of increased variance, as the model will be more free to move and change, and vice versa.\n", "\n", "This is what we call the Bias-Variance tradeoff, and it should be easily understood: a model must neither be too complex and be allowed to change freely, nor must it be too simple and conform too closely to a particular assumption." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Highs and Lows - X-Fitting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As it turns out, we have names for the inbalance of bias and variance depending on which is too high or too low. \n", "\n", "They are as follows:\n", "\n", "* Underfitting : Underfitting is the situation where the model has High Bias and Low Variance \n", "* Overfitting : Overfitting is the situation where the model has High Variance and Low Bias\n", "\n", "In either one of these cases, the model will be unabl to capture the overall trend in the data - let us know consider two examples to determine why this is the case.\n", "\n", "\n", "\n", "This image shoes an example of underfitting - it is unable to capture the trend because it is unable to conform more to the data - the trend is beyond the assumptions used in the model.\n", "\n", "\n", "\n", "This image shoes an example of overfitting - once again, it is unable to reasonably capture the trend in the data. This time, however, it is because the model is unable to discern noise from the more valuable data." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From Amazon Web Services" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Approaching Over/Underfitting" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While Under and Overfitting may reduce the accuracy of our models, or even render them useless, we do not have to be content with it. Here, we'll introduce (and briefly reintroduce) two methods for reducing \\-fitting problems." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Hyperparameters" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hyperparameters should be nothing new to the reader; they are a parameters chosen by the user in order to affect the behavior of the model. They also happen to be the one of the more effective ways of adjusting a model so to stop it from over/underfitting.\n", "\n", "Take KNN for example: choosing low values of K will tend to produce models with very high variance and low bias, whereas higher values of K will tend to procude models with High Bias and low variance." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAEVCAYAAADuAi4fAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd8FMX7x99zJXfpvZNCIHREINKkqSiChWJBUKnqF0Xs\nglh+Yu9d7CKggkgRESk2pBfpvSdASO89l+Tm98ddwqWRQsrdZd+vV165m93ZeXbvmc8+OzM7I6SU\nKCgoKCjYL6rmNkBBQUFBoXFRhF5BQUHBzlGEXkFBQcHOUYReQUFBwc5RhF5BQUHBzlGEXkFBQcHO\nUYRewW4QQgwQQhyv5b6DhRCxl9g+TwjxasNZZz8IIe4WQvzR3HYo1B5F6K0IIUSMECJJCOFskXaf\nEOLfS+SZJ4SQQoheFmlthRBW9YKEECLcbKfmEvvMNu9zp0WaxpwWXlMZUspNUsr2DWNx4yOEGCeE\n2CWEyBFCxAsh1ggh+je3XTUhpfxRSnlDc9uhUHsUobc+1MCjdcyTBjR69HkpkW5A0oCXhBDqJiir\n0REmKtUzIcQTwIfA64A/EArMAW5tWgvrRhP5gEIDowi99fEO8JQQwqMOeeYDVwghBlW1UQjhLoT4\n1hw1XhBCvFoqpEKINkKIf4QQqUKIFCHEj5Zlm58yZgohDgC55gg7SAixTAiRLISIFkI8YrF/L3OU\nmiWESBRCvG/etNH8P8Mcwfat5lzWAgbgnmrORSeEeFcIcc58/C+EEI7mbeWaY4QQPYQQe4UQ2UKI\nJUKIxRWbY4QQT5qfouKFEJMqFOcjhPjTnH+DECLMIl8/IcR/QohM8/9+Ftv+FUK8JoTYAuQBERV/\nD+BlYJqUcrmUMldKWSSlXCWlnGFxnh8KIeLMfx8KIXSW5ymEmGFh+0ghxHAhxAkhRJoQ4lmL8mYL\nIZaazz9bCLFHCNHNYvszQojT5m1HhBCjLLZNFEJsEUJ8IIRIBWab0zabtwvztiTzb35QCNGl9DyF\nEAvMfnJWCPF86U2v9Bjm3zLd7EfDqvEJhctEEXrrYxfwL/BUHfLkYYoMX6tm+zygGGgLdAduAO4z\nbxPAG0AQ0BEIAWZXyD8WuAnwAIzAb8B+IBi4DnhMCDHUvO9HwEdSSjegDfCzOX2g+b+HlNJFSrmt\nGlsl8ALwohBCW8X2N4F2wJXm8wkG/q/iTkIIB+AX87l7AYuAURV2CwDczceYAswRQnhabL8beAXw\nAfYBP5qP7QX8DnwMeAPvA78LIbwt8t4LPAC4AmcrlNsX0Jvtq47ngD7m8+wG9AKer2C73uL8v8Z0\nc+wJDABeEEK0tth/BLDEfC0WAissru9pcx534CXgByFEoEXe3sAZTE8eFX3sBky/bTtz/juBVPO2\nT8xpEcAgYDxgeTPtDRzHdH3fBr4VQohLXBOF+iKlVP6s5A+IAYYAXYBMwBeTIP97iTzzMDXb6IBz\nwDBMAijN2/2BQsDRIs9YYH01xxsJ7K1g02SL772BcxXyzAK+M3/eiEksfCrsE45JxDWXOJfZwA/m\nzzuABwGNOV84pptSLtDGIk9fINr8eTAQa/48ELgACIt9NwOvWuybb2kPkAT0sbiuP1lscwFKMN0I\n7wV2VrB9GzDR/Plf4OVLnOfdQEINvnAaGG7xfSgQU8F2tfm7q/ka9bbYfzcw0uK6brfYpgLigQHV\nlL0PGGH+PLGK33sisNn8+VrgBKabkspiHzWmJ7NOFmn/w+zL5mOcstjmZD6HgOauh/b4p0T0VoiU\n8hCwCnjGMl0I8ay52SNHCPFFhTyFmKLPVyocLgzQAvFCiAwhRAbwJeBnPqa/EOInYWrSyQJ+wBRh\nWXK+wvGCSo9lPt6zmG4oYIqM2wHHzE0aN9frIpii1+cwRa2l+GIShN0WZa81p1ckCLggzSpSxXkA\npEopiy2+52ES9Er7SylzMPUfBJn/KkbpZzFF19WVVa5cTM1Cl2rvrljGWXOape0l5s/55v+JFtvz\nqf5cjEBs6fGEEOOFEPssrmkXyvtAtecipfwH+BRT/0KSEOIrIYSbOb+2inOwvEYJFsfJM3+0tFmh\ngVCE3np5Ebgfi4ohpXxdmpo9XKSUU6vI8x2m5pXRFmnnMUX0PlJKD/Ofm5Sys3n765giqa7S1Nxy\nD6bI2ZKKYhltcSwPKaWrlHK42caTUsqxmG4kbwFLhWkUUZ1GAUkp/wROAQ9ZJKdgErDOFmW7Symr\nEod4ILhCU0BIXWyw3F8I4YKp2SPO/BdWYd9QTE8QZadwieNuw/SbjLzEPhXLCDWn1RfLc1EBrYA4\nc7/D18DDgLeU0gM4RHkfuORvJ6X8WErZE+iE6Sb/NKbfqqiKc7hQ+QgKjY0i9FaKlPIUsBh4pKZ9\nLfIUY7pBzLRIiwf+AN4TQrgJIVTC1AFb2nHrCuQAmUKIYEyV9FLsBLKFqYPWUQihFkJ0EUJcBSCE\nuEcI4WuOGjPMeYxAsvl/RNWHrZLngBkW52LEJEofCCFKn0iCLfoHLNmGqanlYWHqQB6BqZ27LgwX\nQvQ3t/e/gqn54zywGmgnTMMjNUKIMZhEblVtDiqlzMTUrj7H3InqJITQCiGGCSHeNu+2CHheCOEr\nhPAx7/9DHe23pKcQYrT5KeIxTDea7UDpTTgZQJg6pLvU9qBCiKuEEL3N7f25QAFgND9t/Ay8JoRw\nNd9QnrjMc1CoJ4rQWzcvY6qIdWERpmjWkvGAA3AESAeWAqWdbS8BPTD1CfwOLL/Uwc0V+GZMnYTR\nmCK3bzB1ugHcCBwWQuRg6pi9S0qZb340fw3YYm4i6FPTiUgpt2C6sVgyE1Okv93c1PQXUGnsvJTS\ngOnJZgqmG849mIS4sKZyLViI6caZhqmT8x7zsVMxXYMnMTXDzABullKm1PbAUsr3MAnf85hE9jym\nqHqFeZdXMXXMHwAOAnu4vCG0vwJjMP3+9wKjpWmkzxHgPUw3xkSgK7ClDsd1w3TzTcfUNJOKaeQY\nwHRM4n8GU//IQmDuZZyDQj0R5ZswFRTsFyHEDuALKeV3zW1LUyKEmA20lVJWOWRVwf5RInoFu0UI\nMUgIEWBuXpkAXIGp81ZBoUWhvOWmYM+0x9RO7Iyp+eB2c5+FgkKLQmm6UVBQULBzlKYbBQUFBTtH\nEXoFBQUFO0cRegUFBQU7RxF6BQUFBTtHEXoFBQUFO0cRegUFBQU7RxF6BQUFBTtHEXoFBQUFO0cR\negUFBQU7RxF6BQUFBTtHEXoFBQUFO0cRegUFBQU7RxF6BQUFBTtHEXoFBQUFO8cq5qP3ctTLVu4t\nb/F3ra+uuU1oVoqS67Kq3+VxMDE1RUrp22QFmvHxcpZhwR5NXazCJajK76y5Ll6qntTWr61C6Fu5\nu7DqnhHNbUaT4zctvLlNaDaS5sQ0aXlh780926QFlpYb7MGWlVObo2iFaqjoe9ZcD2uqJ7X1a6Xp\nRkFBQcHOUYReQUGhxdDUT5KXQ0Paqgi9QpNjS5VNwb6x1mabhq4jitArKCi0CGypbb6hsQqht+Ye\n78aiJTmZJUo0r2ANtLT6ZxVCr9AyUEReobmw9D1rF/nGqCdWI/TWfvEVFBQUGpvGCoasRugV7Bsl\nmlewBlpqQGlVQt9SfwQFBYXGw1aCjMa006qEXkFBQaGxaMmBpNUJfUv+MewVW4moFOyPUt+zdl1p\n7DpidUIP1v+jKNQeReQVFC5NU9QRqxR6BQUFhYZCCRytWOiVH8f2UaJ5hebG2nWkqeqI1Qq9PWPt\nzqegoND4NGUgZNVCrwii7aJE8woK1oNVCz0oYq+goKBwudQo9EKIuUKIJCHEIYu0xUKIfea/GCHE\nPnN6uBAi32LbF41pvIJ1YivRvOLbCs1FU9eR2iwlOA/4FFhQmiClHFP6WQjxHpBpsf9pKeWVDWUg\nmKJ6WxEPBZtiHs3s2wotj+bQshqFXkq5UQgRXtU2IYQA7gSubVizFGwVW7ohK76t0FK43Db6AUCi\nlPKkRVpr86PtBiHEgOoyCiEeEELsEkLsSk7LrbEgpa1eoYlpMt9WaDk0VyB0uUI/Flhk8T0eCDU/\n3j4BLBRCuFWVUUr5lZQySkoZ5evlXKvCFLFXaEKa1LcVFBqTegu9EEIDjAYWl6ZJKQullKnmz7uB\n00C7yzVSwTawpWabS6H4tkJj0Jz143Ii+iHAMSllbGmCEMJXCKE2f44AIoEzl2dieZSo3jqxF5E3\n0yy+rWC/NHf9qM3wykXANqC9ECJWCDHFvOkuyj/aAgwEDpiHpC0Fpkop0xrSYAWFhkLxbYWWQm1G\n3YytJn1iFWnLgGWXb9alUYZbWhe2+ltYo28r2B/WUD+s/s1YBQUFBYXLw2aFXmmrtw6sIVpRULBW\nrKV+2KzQQ8OKfVGJkX+jY/n16GkSspWxzwr2Q0JyNj//dpC1609gMBQ3tzktBmsReajdFAh2z7Hk\nNCYvX4ePRo2vg4bn/9zCfVFdeLRfj+Y2TUHhsnjv8428/ekGenm7kF5UwkNFxSz9bjw9ugY1t2kK\nTYjNC/3ldswapeR/K/5karAHN/u7A5BqKGbygWN0D/JnYHhwA1lqwp6anKwpYlGozOadMXz+5WaW\nXBGKn04LwF/JWdx13w8c2fIkGo26mS20X6ytbth0000plyOee+OT0UgjN/ldfMnR20HD3YHuLDt0\nvAGss0+szZEVKvPjz3sY4+NWJvIAQ3zdcEew5b+zzWiZfWONdcMuhP5yyC8qxlWjxjSH1UVcNWry\nlPZMBRsmN6cQV03lKu6qUZGbV9QMFik0F3Yj9PWN6nsG+RGdV8jJ3IKytBIpWZGUxbVtwxrIOvvC\nGiMWhcoMu7ETv6XnUixlWdrZPANHMvLo30vx7ZaEzbfRW1Kf9npHrYbZ1/blwX+2McrfHV8HNWtT\ncnBycWF0p7aNY6iCQhNw+01d+GnpXqYcvcBwD2fSi0tYlpzNmy8Mw81V39zm2SXWGgTZldDXl1Gd\n2tLZz5slh05wOr+AyVd3ZFhkOFq17TzwSCk5dCyRrJxCenQNwlGvrTmTgl2j1apZNu9eVv5xjD/+\nPoabmyO/39mDKzoGNLdpdSIv38Ceg3F4ujvSqZ1fpWZWa8FaRR4UoS+jnY8nzw3u3dxm1IszZ9O4\n++GFZGTk4O3hQExcAW8/P5xxoxp+MSRrdmaFymg0akYP78zo4Z2b25R6Me/nXTz3xjoiQh1JSjXg\n5+PGD3PGERbs0dym2RR2J/TWOg9OYw2rNBqN3P7A90y4xY2pY9qgUgkOn8pl5PTVdGrnz5WdAxus\nLGu8rgr2y46953n5/T9Y93VH2rd2wmiUfPR9HGOn/sCWldOsKrK39rphO20TNkxjjp3fvuc8GA08\neFcAKpXJ8Tu3deaBO/yYt/i/RitXQaGxmbtoJ9PHBdC+tRMAKpXg0XuDyMrOZd/h+Ga2zrawu4ge\nrCOqb6oXo9Iy8gkJ0FWKbloFOHDsXMNN5dDc11Oh5ZGWnkurKIdyaSqVINhfT2p6XjNZVRlbqBt2\nG9E31xuoftPCm7Ts3t1D2Hkwi4QUQ1malJKlf6QzoE+bJrNDQaGhGdS3LUvWpSMthoeeiy/gwPFs\noro17Bvr9cUWRB7sNKJvLprj5uLr7czjD/Rn2AM7ePTeAHy9tPy4KoX0bC333Na9QcqwFWdWsC8m\njunJ98t2M2HWKe4a5k1CqoEPFyQwa/o1eLg5Nrd5NoVdC31TNeE09/w1Mx4azJWdg1mw5D+ysgu4\nflAUk++KUoZYKtg0Ls46/lr8AN8s3Mk3K07g6e7EnDfu4Nr+1vGkaksBkF0LPTSu2De3wFtyw6BI\nbhgU2eDHtSVnVrA/XF10PP7AAB5/YEBzm1IOW6sXdi/0DY01ibuCgoJCbbDbzlhLFHGuH7YWtSgo\nKFRNi4noL6cJx95vFIqgKyjUHlusLzUKvRBiLnAzkCSl7GJOmw3cDySbd3tWSrnavG0WMAUoAR6R\nUq5rBLubBFsVeFt0xOagJfu2Qv2w1bpVm4h+HvApsKBC+gdSynctE4QQnYC7gM5AEPCXEKKdlLKk\nAWxtUqxd5G3V4ayMebRA31ZoedQo9FLKjUKI8FoebwTwk5SyEIgWQpwCegHb6m1hA1Kb5pvmFHhF\nvJsWe/JthcbHluvn5XTGThdCHBBCzBVCeJrTgoHzFvvEmtMqIYR4QAixSwixKzmt4V7Vr4nqhLyp\n32itzgYFq8AmfVuh8bBlkYf6C/3nQARwJRAPvFfXA0gpv5JSRkkpo3y9nOtpRsOgCKyCBXbl2woK\nUM9RN1LKxNLPQoivgVXmrxeAEItdW5nTGoyY8+l8u2gnMedT6da5FZPGROHt6VSnY9ijsEsp2Xj2\nAr8dOU2x0cjQ9q0Z2jYMlRVN5WoLNJdvSyn5Y8NJlv5+AGmUjLixCzcP6WBVU/E2F1nZBcz/eTc7\ndpwlKNiD++7tRbsInyYr39ajeahnRC+EsJzkfBRwyPx5JXCXEEInhGgNRAI7L8/Ei2zbfY7+Iz/D\nkBPDjX1KOHL4EP1umcP5uMyGKqLZqe9N6PUNO/m/tRtpbcimU0keH/67nSdXbyg3IZRCzTSXb894\nZTUzXllBt4hsotrn8vK7q3jwmeUt/vdLScvl6ps+4695O+h+PpP8Dae4ZsQX/LHhZJOUbw8iD7Ub\nXrkIGAz4CCFigReBwUKIKwEJxAD/A5BSHhZC/AwcAYqBaQ05KuGpl37jvafDGH296W5+542+vDTn\nHG988jefvTG6oYqxOU6lZrDs0AmW9wjHTasG4GZ/d8buO8fOC4n0bmVbS8c1Fdbi24eOJbJs9X52\nLr4CdxdTlbxruC99xx5k575YencPqeEI9sv7n2/kSlQ818avLK2nqyOPzfqVQ5ufQKVqEe98Xja1\nGXUztorkby+x/2vAa5djVFWkZeRxMjqVEddGlEu/51Zfbnmoae7uTUVdX+7adPYC13i7lIk8gF6t\nYqi3M/+eOa8IfTVYi2//tfkUtwz2KhN5AGdHNbdd78UfG062aKH/858TzPBxLZfW28OJgrPJRJ9L\np024dzNZZlvYzO1Qr9MgJWTnlQ+iUtKLcXV1qCaX7VKXJhwXBwfSi42V0tNLjLjq7O/a2BtuLjpS\nM4srpadkFOPmomsGi6wHNxcdGUXl67xBSvKKSnBxbtxrYy/NNmBDQu/k6MAt13fgpc/OU1JiarfM\nzS/hlc9jufe2ns1sXfMyNDKM3Zl57Ey/OJTvaHYB65JzGNnROqZ0VaiekTd2Yv2OTLbuzSpL2304\nm9/Wp3PHLV2b0bLmZ/w9vfgqIZ3sYpPYG6Xk69g0enVrhb+vSzNbZzvY1Fw3782+hXEP/ki30fvp\n3NaZnQezuHlIB6ZP7tfoZRsMxcxfsoff/zqMVqPmzhHduf2mLlYxKsJN58Dntw5h+m//EOKoRSsE\nJ3IKeGtof4LclMpg7Xh5OLHgozHc+8QS2obqUasER07n8uU7txHk79bo5cecT+ezeVs5dDyeNuE+\nPDShHx0j/WrO2ASMv707hw7FccvSvXT3ciEmtxDvADeWfnR7o5ZrT9E8gLCGXv2eXYPllpVTa73/\n/iPxnI3NoGsHf1qHejWiZSZKSoyMvm8BhXkZ3He7LwWFRj75MZE+UZF89MqIRi27Lg5XWFzCjtgE\nio1G+oQE4KRVFh4pJey9ubullFFNXW5dfLugsIiN22MwGiUD+4Tj5Nj4zW6Hjycy7J5vuecmHwZE\nubLnSC5f/JzEos/G0b9XeKOXX1ti4zPZczCOIH83el4R1KgBli2JfG392qYi+lK6dQqkW6fAmnds\nINb9e5KkpBT+mdsZjcbkYMMHetHj9v08OKEfHdr6Npktl0KnUTMw3DrW0lSoO3qdtlEWj7kUL7//\nJ09OCOChsUEADOnrSZsQPc+9uYYNyx9sUlsuRatAd1oFutc7f9KcmFr1e9mSyNcFm2mjb042bD/N\nyGs9ykQewNVZzY39Pdm4PbpRy7bHl7sUrIdNO2K4Y2j5l49GXOvN3kOJFBQWNZNVDU9Lr0eK0NcC\nb09nzidWHhVxLsGAt1fd3spVULAmvDwcOZ9gKJeWkGLAyVGDg8VwXVumtlG6vUbzoAh9rRg78kp+\n+SuVLXtMb+BKKVmyLpljZwoYfm37Ri/fGiZcU7BPJo/txXMfnSc9yxTI5OaXMPP9c4y/vbtdvIxk\nz+JdF2yyjb6pCQly57sP7mTyzGX4eGjILzQihIbl347HUV++w7O2bYH1wfK41uLAF7Jy+HLnAf6L\njcfP2YnxPbtwXUTLfcHH1nj0vquJjc+g26h9dIhw5kR0LkMHt+PlGTc0t2mXTV3qSFX7ro8+z/zd\nh0jMyaNncABTe3ejlY2OYlOEvpbcMCiS45ueZs+hOBy0arp1CqgU8TSl+NbnZtLQ9sVl5TDyx5UM\n93ZmVogH5/IN/N+6jVzo053x3Ts1aFkKjYNareL92bcwc9o1nIxOITzE87I6PW2RqurFj/uOMmfb\nHh4M8SLcy4N/UlMY9cOv/HLPCJsUe0Xo64BWq67ydXRria5r4nLWza2Kr/47yDBvZx5tbRp11MXN\nkU6ueiZv2c2dXdqh1yruZSv4+7rY1QtIln5e16CosLiE97bs5svOwbQxv33b2dURCXy5cz+vDLm6\n4QxtImy/Ea6ZsRWRbwx2X0hgcIX51sOddHg5aIjOyKoml4KC9VBV/T2bkYWbRl0m8qVc6+XC7tiE\nJrKsYVFCrnrSkgW+lAAXJ87mG7jS/eLIo/wSIykFRXg76ZvRMoWWzOWOsvF20pNaWEReiREn9cVY\nOCbfgL+LbS4kowh9HbFlgW9o28f36MLTq/+lk6ueSGc9eSVG3j6TRP+wIPyclWGnAEXJhc1tgtXQ\nmAMValt+bfB2cmRw61a8cTqJZyJ8cdaoOZVbyOfn0nhj2KDGNbKRUIS+nkgpWXL4JD/sOUxyXgFR\nwf482q8Hbb09yvbJyS3k7c82sGLNIaSUjBzWhRkPDUbnoOajb7ewaMVe8vOLGHZtB555+Br8fOrX\nRmowFHPvI4vZvOMMRcVGQoM9+Pyt27iqW6uGOt0qGRAezOMDonho4y6c1YJ0QzEDw4N5+8aBjVqu\nQuOSkpbLGx+u5/c/jqJ3UHPXHd15/IEB6HQX5WLf4Xje/ORvdh+4QEiQOw9PHsDo4Z05eSaFNz/9\nh007YvD1dmLKuD5MGtOz3lMWbN19junPLud8XCYOWhUD+0ay4KPb0WhqL131CXDeHDqAZ9ZtYvh/\n0XjpNGQXG3mqfxSDWzdunWosFKGvJRWd5dPt+1h58BiPhfnQytGTv1OyufOnVay4+1b8AKPRyKjJ\n8/HzKGTuq6GohOCjH05yy4RoWgW6kZGezCezgnF3UfPNsgtcP+Zrtqx8qF5Tr1596xx02kIWvdse\nHw8t81cmMmzct+xY/TBtwhp3vu4xXdszqlNbYjKy8HbU4+3k2Kjl2SLNHcnWhbx8A9ff9jVXGOG9\nEB/yS4x8vWgPu/fGsmTuvYBprqmbx8/lmfuCeOWh9hw5lcezb63iVEwyn83bxv/u9GXGZ+04e6GA\n//v0X2LjM5jq0LbOthw5kcit4+cydUwgd98SRkKygWc+iGHw6C/ZvHJalXka6qnV2UHLJ7dcS2pe\nPqn5BYS5u6HT2O4LZIrQ10BVjpNjKOLrXQf56cowAszj6CeGeJNbIvnqv4NEcQV/bz5NVlYWqz7t\njEplima+fqkNgyYc5p/NyZxY0xOdg6n9752nwhn71EkWrdjP/Xf3qpN9W/6LIfp8OifXXoWLk8kR\nX30knAuJhTz10u/8Mnd8tefRUDio1bTz9my049sDtiL2S1cdwtdQwqzIi3NJveuiZ9Ses+w9FEf3\nLkG889l6np4UyP/uNO0THqwnLFjHjQ9sYvwIP56aZIp6I1rpWdLGiatu28bYSSG463V1ug5PzF7F\n6Ot9eHFaGABtQx1Z9Xln2g/fVWZLY+Pt5GgXwYsy6uYSVCeO0emZBOgdykS+lH6eThxKSAZg78E4\nruvtVibyAEIIru/rRpC/rkzkSxnS15W9h2LrbOPa9SeJ6uJaJvKlDBvgxemYpDofT6Fls3vvefo4\nlX+q1KoEV3k4se9wPAD7DsVxfd/yN/bObZ1RqSQ9OpbvrAzwcSAi2JHTaXVf1znmfArDBpQvx8NV\nQ9dI5yZbM9ZeUIS+CpLmxFwyAg50dSY+30BucfmVb07kFhLsblr2LCzEkwMn8yvl3X88n/TM4kqL\nPh88kU9Yq7pPuXxFpwAOn8orW4ylrJxjOXh5upSdj0LzYwu/Q3i4FycN5ed1klJyMs9AaJDpRaqw\nVh4cPJlbbp/4ZAOFhZKz8QXl0vMKSoiJzyfIte6jVbw8Xdh3LKdcWlGxkeMxeXTrVHl5TFu4vs2F\nIvQVqI2z+Dg5cn2bUGafSiLNYBLt/zJy+SY2nclRphWBRgztyKlzBj7+Po6CQiOFBiOfLYrn6JlC\nfL3dePHT8+TklVBcLPlpdTK/bUhn/B11Xynrjpu7olareeKt02TmFGM0Sn79J5VvliXy8tND63w8\nhcbF2sXontt6sDkzj5WJGRRLSX6Jkc9jU8FVxzVXm9Zrnj5lIC98cp5dh7MBuJBYyNQXTjPixk7M\nWZjIPzsykFKSkl7EtNlnGBgWTICF0Nf2Gvzf40P49Md4Vm9Iw2iUpGcVM/3V07g667jxmsafY8qe\nqLGNXggxF7gZSJJSdjGnvQPcAhiA08AkKWWGECIcOAocN2ffLqWs/YoiTUBDVbTXb+jPK+u3M2L3\nGdQCvPR6Xr+hPz2DTCvz6HVaVv8whUdfWMGb3+wC4KpuQfz+/WTcXPU8+sIKIm/cjVot6NDWh+Xf\njOfXdYf5fN5WLiTkENUtkBcev4Grrwrjp1/38/6XGzh9NoNOkd48+8gQhl3bvuxcFt0ynLuW/c6P\nq/5DpRI4aAT3X9mVDrsFSbsvnu+x5DTe3riTbbGJeOgcGNutAw/17obGDiavqg/N5dvW3F7v6+3M\nqoWTeGTGCt7ZeRopYXDvcH57Z1TZlB83XtOO2U8NY+Kzf5KTVYDRCHd1bc9T4T25XgQw8/1dJCae\npMQoubU3M6AyAAAgAElEQVRDBA/26caMvzay7uRZVCrB7SO6MjvTH7VK8NL7f/HzbwcoLjZy03Xt\neenpoQQHuJnLac8D9/blgRe3U1QsKTFKvDz0/P3z/8rZLKVk7qJdfPDtv8Rl59HF15PHB0RxdWjj\nt+HbCjWuMCWEGAjkAAssKsMNwD9SymIhxFsAUsqZ5sqwqnS/2lLXFaYuh4aOqAqKiskpKsLbUV82\nhKxiJc7IMjXheLiV79TJzinEUFSCt6cTb81Zz4rVu3n36TA6tHZkzaZ0Zn14jvvH9WHxr7v48Jkw\nenZ2ZdOuTB5/O4bP3ridHkdMKxBNW/k32elp3B/ihZNaxYaUbBYlZrN6wmh8nU1lns/MZsQPv3Jf\nsCfD/dxIKCzig5gUIoICeWPogAa9JtZIVSvxNIVvXxHgI1fdU3kVMmsVektS0/Nw0Kpxdam6E9Vo\nNHL03eO46RzKjUiRUpKaX4CLVosQgpsW/cLQ61x4+J5Aiksk734Xx6HToHNQExZQzMwpwTjqVXy5\nOIFf/slm5+rpODs5EBufSb9hcxjv48YAL2eyi418EZ9O697hfP3hxaUEP/pqM99+uZlZoT5EOuvY\nkpbLO9HJfDnqBq4K9m+qy9Us1HaFqRpDOSnlRiCtQtofUsrShrztgM0MLm3oCqbXavBxcrzkOGEP\nN8dKIg/g6qLD29OJ/IIiPv5mK9+/2ZZeXV1xc9EwZpgvz0wJ4usft/HVSxEM7uWBq7Oa4YO8eO/p\nMN769G/A1DG87Vwcb3UIpLOrI62ddEwM9WGgpxML9x8rK2vensPc4uvKXcGeuGnVtHPR806HQH4/\nEU1iTl6DXhNboSl8W+urq9LnrL0JB8Db0wlXl4sdsxVtVqlU+Do7Vhp2KITAx8kRvVbDmpMxBAWr\nef2JcIL8dIQG6vloVmsKC3M5G5vGZy9E0LqVngAfB16cFkr7cC1LfjsIwJfztzPU05l7WnkR5qSj\ni5sj77QN4Pe/jnHuQgYARUUlvPvZRt5q4093dydcNGqG+rnxcJg3n23b27gXyIZoiGf2ycAai++t\nhRD7hBAbhBBWGSo2djRV2plb3V9F4hOzcXVWExZUftqA/j3cKDSUcFWX8i9SXd3DnSMnUwA4kZJB\nFzcndBWaX3q4OXI8KaXs+/GkVHq4l7/ZuGjUtHWp34iIFkKj+ralL1i78JfWmYp21lSXTqSm079X\nef8VQtC/uwuBPppyo9IA+nd35vAJ03wyhw7F08O5fJ1wVKvo6OHEsVOm0W3JablQImldYaRQlLsT\nJ1LTa3NqLYLLEnohxHNAMfCjOSkeCJVSXgk8ASwUQlS5jL0Q4gEhxC4hxK7ktNyqdmkxBPi5kJVT\nTFxS+dfl/zuUg4NWxf7j5a/PfweziWxtGqHT2suNo9n5FBkrjOLJKaCNz8WhaRHenhzMKj8iIr/E\nyOmcAsI9XBvydOyChvbt6gTR2gW+Kupic4SnOzv3lvdfKSU7D+aSnF559Nl/h/KJjDDNhtq+vT8H\n88rXiUKjkeOZeUS2Nr0I6OPphFFAbH75VbIOZOXT2rNlTbd8Keot9EKIiZg6su6W5l9LSlkopUw1\nf96NqTOrXVX5pZRfSSmjpJRRvl62OVFQbSk2GikqMZZ9rxjZOzk6cN/dvZj03GmOR+dhNErWbErj\nlS8uMG50T/43+wx7juQgpWTz7kyeePssT04dDEA7b0+6Bvjy4skEkgqLMBiNLIvP4I+UHMZ161hW\nxsQenVmamMmqxEyKjJK4giKeO5HA4NbBBNng/NqNSWP5dulKYdWtGGZroi+lpKCwqJJYW3JTu9ac\nOF3Im1+dJyunmPSsYl74+BwFRVq8PN2Y8d5ZUjOKyMkr4YP5F9h1JI+7br0CgKkT+7AyNZtfEzIo\nMkoSCop44XQSg/pG0DrUFOg4OGh4eHJfnotO4mRuAUYp2ZqWw4dnU5na+8omuQ62QL3ejBVC3AjM\nAAZJKfMs0n2BNClliRAiAogEzjSIpQ1MQ8/NXhUJ2bnM/nsrf0dfQCK5JjyY2df1I9jt4vj20go/\n+8khvPuFAzc/tJ3ktHyu6OjL1+/ewfUD2/J1a28mPLuR8/E5RIZ78PLTwxk1rHOZ/Z/eei1vbtjJ\n6D2nKCg20jfYj+/vGEagxZC2CC93vrttKK+v386LJ47jotWYRkr0r7Efp0XRlL5dXXOItWJZZ75/\n7F/e3bSL6Kxs3LRaJvfozEN9rkRVoa/KUath0eibeG3zdiLm7UIIwagbO/D79zeh0ah45vXVdLpl\nD8XFkqGD27Bu4X24uZqaa8JDPPn1+4nMmv07r2w9gbNOw/jbe/DyrPKrX818ZDB6Ry2PfLWFpIw8\nOoV78/rQAfQPU0bdlFKbUTeLgMGAD5AIvAjMAnRAqnm37VLKqUKI24CXgSLACLwopfytJiOactSN\nJY1ZwQwlJQz9bhnXuesZ38oTAfxwIZ3V6fn8Oek29OZJmSpGdlJKSkqMaKqYV6O4uKRcekX7pZQY\npURdw3DJEqMRlRD1nmjKFqlm1I3V+PblLJTRlCTNiWHLuTge/e0fXo70p7eHEzH5Bl45lcSA9m14\nsprAwW9aOEaj6am24spsRqMRKU2rXVVHSYkRlerSPmtZd2zl5nm51HbUTY0RvZRybBXJ31az7zJg\nWc3mWQeNGdX/efoc3mrBQ+E+ZWn/C/PhQE4ca0+eZWTHNlXmE0JUKfJAtemWedW1EO+abgQtBWvy\nbVuJ7v2mhfPl4DU8EuZNH0/TE2NrJx2vtQtg3N6jTOtzZVkQY5kHKgt8KbVZhPxSN4FSLOuOPTSN\nNSTKpGaNRHR6Fp2dHSqld3bWEp3eNKNcrHExcYVLY83RfCkx6Vl08fMrlxao16JTCVLzCsqaJq2J\nlu7/LT60a6yK1cHHk91ZBeU6qqSU7MoupINv3ee0qQvVdfYpKNQXywEE7X082ZVR/t2LmLxCiqHs\nBT1roqWLPChCX2dS8vLJyK951aBrWrcCBwdePZVEbL6BC/kG3jidRIFKw5CI0LL9GtIJLyXw1W3L\nMRSRkJ2LsYa+GgX7pqiohNj4TAoKiy65X9KcGKb17c7n59NYlZhJZlEJuzLyePp4Ag/26oaDunzz\nYnMFHFJKEpKzOfne8Zp3bgEoTTfUrq3+cFIqz67bxJn0LEqkJCrIjzeGDqj2MVWtUvHjncN5d/Mu\nJh2MQSIZFhnOogFRaC3aGxuiItTnGLmGIl78ayurT8agU6tw1+l4/to+DGkTWnNmBbtBSsmn327l\nnU83IIwSg5Q8NKEPzz1xbbVt51cG+vLVyOv5YMtu3j4TTZCLE/f36cGYruVHmzaXyO/Ye55HZqzg\n7IUMiouN9AsJ4PWhA1r08paK0NeC9PwCxi9Zy/RQT4a3b0OJlHwfm869S9bwx6Tbqp0UzF2v45Uh\nV/PKkKsbxa7qKtLuAxd49cM/+W9/HEH+Ljw4oR8T7yy/nNsTq/9Fk5vN6qsicNWo+C8jjxlrNjL/\njhvp6u9T5XEV7I8FS/by1eeb+KJdIBFOOuIKinj+5z046DTMnD642nxXtQpg4Zibms5QTDelzxfs\n4JuF20lKyePqqFBeePx6unS4OJ9NbHwmt01cwIxW3gy5KoJCo+Tr86lMWrqOVeNHtqiRZpYoTTdm\nLhV9LD9yij4ejtwa4IFGCHQqFfeFeuOCkQ3RdV8spDZl1peDRxMYMWkew/rC9oVdePMxfz6bu573\nvtxYts+FrBy2n4/nuTZ+uGnVCCHo5enM+GB35u0+1OA2KVgvn3yxiZkh3kSYpxAI0mt5PtyXOXO3\nlg2HbA6qmjLkxXf/ZOGyLXw0M4htC7vQv1sRw+75llPRqWX7zP9pN0M8XbjB1w2VEDiqVUwP86Gg\nsID/LiQ2w5lYB4rQ14LYzGwiHbWV0iOddMRm5VSRo2Ya67H2/S838OSEQCaNDsDfx4EBPd358e1I\nPvhqM/kFpvbXuOxcQp306CsMWWvnrCc2M7tR7FKwTs4nZtG2wnwyrR0dyMwxUGgoqSZXzTSUf5ce\nJyMrn69/3MnidyPp082NAB8Hpo4JZMpoXz6Zu7ls/7Pn0ojUla+rQgjaXkZdtQcUobegOufsFujH\n5sz8ciNoioyS7Rm5dAvwbbByGoIDR+MZdFX5OT5at9Lj4aohNs40rLOdtwfRuQUkF5ZfSWhzei7d\nAssPm1Owb7p3DGBLWnkB3JGRR+sgd/Q6TY2rrTU2pWWfik4jPNgRP+/yQ5av6eXOgSNxZd979gxh\na275OZ0KSoz8l5HbopskFaGvBcMiw8lTaXjpZCLHcwrYn5XPk0fj6ODnQ7eA8s5THxE3GIo5eDSB\nuMSsavdJy8jjwNEEsrILqt0HoE24N3uPlq+4yWkG0jKLCPAzTV7mrtcxqUdnHjkax9a0HKLzCvni\nbAp/puYxqWfN060n5+ZzNDmNgqLiGvdVsG6en3E9H8Smsiw+g3P5BtYkZTI7OonZs4YihLjsoCQp\nJYeDRxPKniar4szZNI6dSq6yqai0/NBgd85eyCcrp7zP7TmaQxuLlxLvHnUl51Xwpnnumz2ZeTx6\nNI6B4a2I9Pa4pK1SSk6lZhCTnnXJ+XtsEaUzthboNGoWjbmJOdv38+ypGLQqFbd2iuT+qK7lOndK\nnfJSLypVrDgLluzhhbfX4emuITm1kH5XhfHl27fh5WEaIVBUVMKMV39n0Yr9BPs7EpdUwP/u7c2L\nTwyp1LFkNBp5eNLVjH/kJ4L9dVzb252zcYU88no042/vTt48U+QjhOCJq3vQyt2Vr/cdIS2/gD4h\ngSwbN7jc/DgVyTUUMXPtRjaevYCvTkuKoZjH+vZgUs/OdbyiCtZC/17hLFswgbc/XM+CYwm0Dffm\n2zljuG5A27J96vIGeal/5+YZePjZX1i7/iSBfjoSUw3MevgaHp7cr2zf46eTmfLEz1xIyESnVeHg\n4MBnb46mf6/wsn1K54Py8XLi1qEduf/FM7z3dBhBfg6s3ZTG+/PiWTn/RqSUCCFwcdbx9y//462P\n1zPj18M4ajTc1rUjk3pc2kd3xyXx1Op/KTAUUSIlPi5OfHDTNbT38bxkPluhxrlumoLmmuumKur7\nmFpT5FPVCj2bdkQz6bGfWPJBO7pEOpNfUMILn5znXJKeX+ZOBODFd/9g154jfPtKG7w9tMQnGxj3\n9EnG3daPhyb2BSAlLZeRk+Zz6HgihiKJl7sDLs4OJCTnodUIcvJK8PfQk55lQAi4ISKE56/pU24d\nz9rw2Kr1FGWmM6uNH05qFWfzDTxyJI4XhlzNDW3D6nSspqa2c4I0NM2xelpDNw3WpU6Uln3/00sx\n5CXwwczWuDqrOX0+nzseP8ErM29h5I2dMBiK6XrtBzw+3peJI/1RqWDt5nQeeiWGXWuno/rZ1MH6\n69HTvLlrJ/HJ+ThoBf4+zqRlFCClEUORSbu8nXUkZhUQ5OXMxM4duS+qa6XJ1S5FWl4B181dynNt\nfLnG2wUJrEzM5MvYDDbcdyd6rfXGww22wpRCw1BV5fvqh+08OTGQLpEmwXXUq3nt0VB27b/A2dh0\njEYj3/z4Hx/MDMfbw9TBFOjrwJtPhPLVD9vLjtN/xBwCvQ3sXtqd+I29mfVAMIkpubQJdWLFp53o\nFOrIEBdH1vaO4I9ebfArzOWuxb9TUFz7ppeM/EL+OnOemRG+OJk7ccMcHXgoxIsFykgdq6Ih29Tr\neqykOTFkZOWzct1R3n06HFdn0wtUbUIc+b8Hg5nz3nqS5sSwZv0JwoK0TLktALXaNFnZsAFe3DzI\nk4XL9+E3LZyTvWDmP5t45r4gEjb2Zufi7rQLV6NWwcRRgSx8pz1uDmpmBHuzs3973gvzZeX+o3y0\ndU+dbF5x9DT9PJ241scVIQQqIRgZ4EGEo5Y/T5+r07GsFUXoG4D6RlCJyVm0DS0/4kHnoKJVgJ7E\nlBwMRSVk5xYRFlR+9Zy2oXoSkk2LOaz+5zgZWfnMe70doYF6nPRqJo8KwEGjYv7rbUlOK0KXL3iy\ntR+eWg1uWjUPh/sQoBGsPXm21ramFxTgrlXjUmFitVBHB5Jy8+t1/goNR0VBbq4OVL9p4aRn5OPu\nqsXDtXwk3DbUsWzZysTkHNqE6CrlbxPiQEKyqa/q2TfWMmW0PxNH+eOoV9O6lZ57b/En2N+B1x8L\nZe7iRB4K9uEaH1c0QtDeRc+b7QOYt+dInfqPknLzCNVVjtpD9Fq78W1F6C+Ty3lM7t2zNb+uL7/c\nWXRsAefiCvBdX0DWNxfo3N6HtZvK77Pyn1T69DAtZbpt1zmu7OCCg/biT5mZUwwC2rd24kRMHl0t\nFi4vpZuLjlOpGbW2tZWbKwYJx3LKdwb/k5pNVKuAWh9HoeGpTtQvZ8RMffMmzYlB92sGJfmSPUfK\nDwr49e80ogJNvtKnZyh/bs0gv+DiEE6jUfLbv5n07RluOlZyJv26l1/E62xcIYOuckcIwYnoPLpV\nWIs5SK/FUa0iKa/2An1VsD//ZuRRYtGMbTAa2ZyeS1SwfYxCa7FCn19QxKYd0ew9FFdtD3tSbh5b\nzsVxrpqx5VWJfGp6Hhu2neHkmZTKGSrw8MR+/Lk1h6ffjWH7/ix+Wp3MqEeOM2v6NWTlFzHu5zWo\nVWqmvnSSz3+KZ+fBbN777gIvf3GBFx6/HoABvcPZezSHQsPFEQvuLqbo5OjpPDq0dmJfXn6lc9yb\nU0i7OnQ0adUqZg7qxeNH41mRkMH+rHw+ik5mZXIOU3t3q/VxFBqf2KwctpyLq3bRdykl+4/Es3F7\nNLl55Zfgu5TAn0hJZ+u5eLIKDVVuL0WjUvF036sY98QJ5q9IZMeBbGZ/co7vliTxUM9uLD54nOnP\nrcTDw5kR04+zZmMa63dkcPeTJ3DQudD7lEm8A/w92Lir/Ei08GAd63dkIKWkQxsn9mWVF/QL+Qby\njUb86jC52uDWrfBwdeXxo3FsT89lU2oO0w7H0T04oF7Dp60R6+1laER++nU/T760iogQR9Izi9Dp\n9SycM472bUw/aonRyEv/bOOXI6dp5+rI6ZwC+oQE8MFN1+BYTceMlJKXP/iLz+dvp0ukK6fO5XFF\nx0Dmf3wXnu5VO52/rwv/Lp/Kx99s5tmPz+Dr7cK7L47kxWfX8EJKOn4OGkqSodBg5IP5iQQH5tK5\nfSB//nQLHSNNkcYNgyLx9nTinhnHeOOJ1vh6aZn3SyJFhUbGPHmUL2ZHYnSBN6MTmRLsjVoIFlxI\nJ6UEhtaxA/X2zpEEujozb9chfonNonuwP7/ceB2trHBa2paCpSgXFBfzzN+b2BATS8fWzhw+k8vw\nyHBeMRrLpunIudmNu+77gYyUXHz0WqJzCnjzhWEMS/autozEnDweXvs3F3KyCfHXc/T3XKb3upL7\ne3atNs/oTm0JcHFmwfJDfJuTzpV+fvwwKoph85ZTJCURTg6czS9CAK+8I9DrVFwf1poJ/TqV2frG\ns8MYfs9c2obquWu4L4kpRXz6wwViEwp59PUzjL/dnwefP4WrRsVALxdO5xXy+ulkpvToTOijbWv9\nRKJWqfjutqEs2HuUb46fQa0SjOjRlXFXtK9VflugxY26OXg0gZvHz2XFJ+3pEumMlJLvfknk04Vp\n7PvrMVK/OMfX/x1k9cGjfNgxEFeNmkKjkdknE/Hx8+e1G/qXHcsyol/4yz4+/PIvfvm4HX7eDhQV\nG5n5/lnSctz5cc64Wtv3ydR1vPDXVj7t0oooD1Mn7b+p2TxzNI7fF07iaouhZ6VkZOUzavIC9h+J\nx1BkxN3ZgdZCw7U+LixJyeB8lgG9RoWhWCIE9A8N4q0bW9YkT/Y66sZSzF7btJ04XSLfvN4WJ72a\nrJxi7nnyBFFOrZneuztSSobOW8atXo6MDfRACMGZvEKmHrrAN6OHcmVg1dHr2OW/c/UgLc9ODUGt\nFpyLL+CWB44yu98ABrduVWtbr/j4ewIdVHx5RShuWlO9euFYPNvSczn82MRK+/tNC2fFmiPMeO03\n4hJycdAKtELNlCBPzhUZWJuYTWGJEb1QkVdsxMPZgak9r+D5724p11Rpz9MUK6NuqmHBkt1Muc23\nbKSLEILJowNwcZJs3hkDwKIDx3gszBtXc8ejTqXiyda+/HL0dLlFvi357qcdPD81qOzNPa1GxcsP\nh/L35tOkZVT9CF0VL63fwRAf1zKRBxjs7UoPdyfufnhxlXk83BxZv/R/pB2ZTc7Jl3EyapjRxo+x\nQZ74OGiYNNKfo+uiSNzahzmz23IgK5Xias5DwbYoDTaklCw+eJK3ZoTjpDf5rZuLhteeDGPxEdNU\nvXvjkykyFJWJPECEk45xgR4sPnCsyuPHpGdxOiODWf8ziTxAaKCep+8P4qejR+tka4mxhJlt/XHT\nXqxXz7T1p9AoOVvNYjwjh3XixOaZ5Jx6mV/mTiDERc/4Vt6M9fNCr1Xx/VsdiN3Sm1N/XMWQgR4c\nccxuMSJfF1qc0Kdn5hLsV3nlpyA/B1LTTe19GQWF+FXohffUqimRksKSquf/SE3PJ6jCcZ0dVTg7\nasjKrnn+ejA5ZXFJCUH6yvPqBOu15GTU7jjpBYX46bQcySkgmRLefSYCD1cNGo1gzDBfbr/Bi5X6\nhLI56pVFSmwbv2nhlEhJTmExAT7lfSfIz4F0czt8ekEh/jptpY55f52a9Pyq37jOKCjEz8MBjaZ8\nniB/HRkFl35LuyIlUuJXYR4aD7Pon0mv/FZ4RZFOy8gvy/9zcjoP3h3ITYO8UKkEPp5aPn0ugs07\nY4g5n97sUzdYGy1O6Af1jWTJunSMxotNVkmpBrbuzaTfVaa52PuGBLI6qbzjrU/Jpp2XOy4OlUUY\nYHC/Nvy8JrVc2ta9Weh0WkKD3avMUxWd/L1ZlZhJkYV9+SVG/kzO4tqIkBrzJ82JoV9IAKuTMrlQ\nUMQVkU6oVBVG3LR3IuZceVsV0bdtNCoVUaE+LP2j/CCAn9em0C/MNNKlZ6Afh7PySLCYjkBKyZqU\nXPqFV90E08HXk7jkQo6cyi2XvnhVCn2Dat9sA6AWgtWJ5SP3Dak56FSC/iFVj9yyFOu+UaHsTssh\n1VBMXFEx3TqV7xvS61R0iHDmbGy64scVaHGdsXfe0pV5i3dy5xMnuPdWH9Iyivj4h0SmT+5HgK8r\nSaTyRP8oxvy0itSiEnq7O3Ekp4DFCZl8OfL6ao/75NRBXHP7F2TlnWH4AA+Oncnn04UJzHljdK0W\nPy516CV3DKPbpz9w794YJoR4UyIl355LpVjCz2snUVBYxL9bo0lNz0MIQaCfCwN6h5dbOPzpgb0Y\nu/h3Bng4seV8DvkFJTjqL27/Z0c2PXtE1P8iKlgdftPCeSauN1Pe+YPTMQVEXeHC5l3ZLFyZwsLR\nwwHwcNQxve+V3L/rIPcGeeDtoGFVUjZZKg13dI6s8rh6jYZZ/Xsxatp/PDohkLBgPcvWprJvfwHL\n7+xUJxvv7t6Jb/ccJtlQTH8vFw7n5LPgfBod/X3QarVcyMphX3wyOQYDzlotHf28aeN1MUgK8HXl\nsfuvZsr8HYRoVfy5OZ2hV18cOZaWWcShkzl0aGsfQyIbkho7Y4UQc4GbgSQpZRdzmhewGAgHYoA7\npZTp5m2zgClACfCIlHJdTUY09RQI+QVFzF+yh3Xrj+LqrOOe26O4YZDJ0UsFNz47l3l7DnM0MYVQ\nT3cm9OhcaVIky6jBaDQydeZyfllzGG8PLXkFJfh4ubL6xykE+LqW7VfVa+oVHzFT8vIYNv9XCgym\nphpXR0f+mjSac3003PvIT4QFahEYOXQyD38fHRItS766t2wBhqQ5McRm5TB/z2HWnDlDWGsHXn4k\nFC93LQtWJLHsr0y2rXq42tFAVdlk61TVaWWPvr3j1f3M33+E6KwM2nl6MaFb50qjojafvcDiA8fI\nLjAwICKEsVe0x0lb9ZMqwLmMLMYtX41BFKHXqUhOK+buK9rz3IDedV7IY+7ug7y7aTdaAUUSRnRq\nw+vX9+fVTTtYeuQk3Ts7c+pcPgWFRkqKYUBoMAuWjcfB4WJM+seGk3w5dyub9pzl0XuDGDPMhwuJ\nBv7v01h692zP2y9cXBDF3vy4IrXtjK2N0A8EcoAFFpXhbSBNSvmmEOIZwFNKOVMI0QlYBPQCgoC/\ngHZSyktObG2rc91YivXXP+7khyWb+eXj9rg6q5FS8srn5zkU7VA2b83lOJ3jhEA6DXqPua9GMLiX\n6YZz9HQew6ce4vEJwcz9JYMDfz+O2mKO+aQ5MXg+EMJH327hh6W7yckzMHRwO2ZNv5ZWgZduTrK3\nClKN0Lco34b6/a4jf/6VO25zZdq4QIQQpGYUMWzKER67sjfDIsMv26blR04x7+RefvuqIx6uGqSU\nvDM3lg3/ZaLXa+nb6wpmTb+mUr7TMam89tHf/LvtDF4ejkwe25up9/Yqe4K2Nx+uitoKfY1NN1LK\njUKI8ArJI4DB5s/zgX+Bmeb0n6SUhUC0EOIUpoqxrbaGNxd1dYqKbYA/Lt/NM/cFls3tIYTg6cnB\ntBu+h+TUXORPyZdl36q/jnFVV9cykQfo2MaJMcN8ycs3otcauXvaIjbtjKGkRHLL9e15ecaNaLVq\nnpo6kKemDrys8u2RluLbllT025r8/lRqBol5uTw0tl1Z9O7toeXJ+4L4+ccTDSL0y04cZ+bUoLIp\nE4QQPD4hmC8Wx/P5i2159PWdbNh2ip374gjyc+HBCX15aGJf2oR7M/eDO+tUVun5t4SbgCX17Yz1\nl1LGmz8nAKWLNgYD5y32izWnVUII8YAQYpcQYldyWm5Vu9gU2TmFeLmXf/zV61Q46tXk5V/6TcKa\n8JsWTk6uAS93daVt3h5asnKKSU4vwE2fwabvu7Dr5yvwcUnjxrHfUFBY/TzgClXSony7pg743KIi\nPFw0lTr0vdw15BRdnl+XlWEoqlR3tBoVLk5qzsUVkJmdzz3D9ZxaG8U3L4eycNlWXvv4n0sesyoh\nb9w7VwUAACAASURBVMkdtJc96kaa2n7q/NaVlPIrKWWUlDLK16tu0+U2JA01DOuGQe35fmX5qP2P\nrRm4uzqiX1H7OWWqImlODEMGtGHNpjRS0i8Kd35BCYvXJKNSCdyc1Xz6fAQhATr8fRx4eXoYIQEq\n5j2xQRlqVk9s3bfrguWoK0tB7OjrRUp6MbsOX5wGRErJguXJDG4VWmX+ujKwVQjzlyeVm6Zj0+5M\npIR5vyTxwoOhjBnmi6uzmp6dXfn+rUg++25bnQKolizyUP9RN4lCiEApZbwQIhBIMqdfACzHALYy\np1kdFYWvoKiYv86cI7PAwNWhQYR7ulWdkaqd5smpAxly5zHGPX2CmwZ5cORUPgtXp/B6/6tZevgU\nEsl1ESF4O9V+Dg5LHFZkcHVAEFF37uOuYT54uKqZuzwRnYOKucsTGXeTX6WOsf7dnfll9Sn8nJ3o\nFxpY7pzr+gjfgrB5365IzPl0/t58GlcXHTdd1x5np8rvkVTEsonj5cF9uWP6Fibe5kdEiI6la9JI\nixfc09+P7/cdpfO4NgwpLikb+VWXhUoARrRvw7jlJ7h67AEmjPJly54s1m1Jp12YE+fiC+nfo3x/\nUkiADlcXNR9+vZW7R3cjrFXlOZtKbWjpAl9KfYV+JTABeNP8/1eL9IVCiPcxdVhFAjsv18iGpqIT\n7k9IZsryP4h00uHjoObdTf9xe5d2PDuoV61HFbi76ukQ6cuGbdGcPpdHTp4RgeCptRvp62Ua9fDK\nP9t58bq+3F7NULbqiEnP4t6la/BRCwY4OrNwWRJFJZJ+Xs5kFBpJNZaw81Bu2So7pfy7M5PcjGJe\nWrcRR0c982+/EU9HfZXXQKEMm/btisx++0++WrCDAd4upJcYefKF31j8zd30i6rdPEd+08KJOu6I\nav1Wlq5NQa8XXEg04OOg59GVf9Pb04klsw4xw0HNqkWTCQ32KMtXGx/7fu8R3t606//ZO+vwKM7t\nj39mJbuRjXsgCUlIcNfixaGU4t7eQqFQSttbg/ZXufVbo24UbYsWK14o7h4IweKuG9vIblbm98fC\nhiUJEQgXyed5eIDZed+Z2T1z5p3znvd7eMTVgeI8I2/NT8BRJqWviyNnkkqwU8g4EaGhVVjZm1Fa\nVilZah2n/zzLd78cZM4z3Xjz349W2P+tBjcPE1U6ekEQVmKenHIXBCEZeBfzTbBGEIRpQAIwFkAU\nxUhBENYAFwEDMLuqrIS7SUWGZzSZeO6v3cxr5M6j7uY0yAK9O09HxNKloQ99g/3LtamIn347Rn5u\nNlHb26OwkZCWVUq74WdY1iqAYHuz7nZcsY6n9xyla0Mf/G5IeatqgujlbfsY52HPRD9XAHTBnjx3\nPokOTnaM9XVhX7aGdxMyeOOrBF6b6odcJvD98lRirhSzplUjlBKBT2Oz+GDPMeYP7V29L+sh4EGy\n7YrYcyiGlStPsa61Py7XxPgO5RQy6dmVXD32GnJ5+TmfmxFFkadeXMV/XmrAlMfN0xWf/prE32vU\n/Ng+EPm12P3CZDXPvbKOLaumVXsQEa3OY/7h06xo44+frfkt45JGy8yIRF4J8kQlkzDrQjLv/5CI\nt7ucwT1ciUooYfZ/ohnv48IL/h7kNHTjqWXH6PFII3p0bgRUXM3tRh7GQU6VMXpRFCeIougjiqJc\nFMUGoiguEkVRLYpiX1EUG4ui2E8UxZwb9v9IFMVgURTDRFHcXrenX30q+3HPpGVhL8Hi5AEc5VIm\n+jixITKq2v2v2RTOq0/7oLAxf6Ubd6vp76WyOHmARnYK+rur2HIlzrLtRoOsyDhTCgqJy81nrG/Z\n66lCImGqvxvbr63e7e2uwlepICpFSbNhZwjoe4LDm/P4pak/tlIJgiAw09+NrVHxmO4BEbt7hQfF\ntitj1bqzjHNXWZw8QHdXB7zkUg4ej69WHxevZlJYWMLkYWWLkP7akc1zAe4WJw8wxdeFE+dSUOcW\nVztWv/lKLEM9VBYnD9BUpaSzsz371BqkgsBrQR7IpTLm/56Ha9ej9HnqPJ11SmY3NBcEd7WRMcbd\nkVXrwi19VPY28TDPVT0UEgi3+nFLjUaUFaxcVUoESivRtamwH70RW2VZP3q9CWUFYR+FREB/rdp9\ndW4GvdGEXBC4eeyllEgovUEmwV6U8PzT3VBHvoO9VMbbgd5WmjkKiYBRFOsd/UNEqc5QiW1L0JVW\nrwKT2a6lViFBnV4s169MEJBKBPSG6t8zeqOp4vOTChbbVkokSASBgxtns+KHcbR1VTGtgTvSG85H\nKREovel6HuYwTUU88I6+qid4e19PkrSlRGrKChjoTSLrMjUMCG1Ubv/KDGhI36b8sibDkjkwuIcr\nO7I0qG8wwFy9gb+zChn3f12qbYgBzipUSgV71WXVekRRZHVqLr3czOGfK4VaYgq1dO8UgCAI9A/2\nZ2WqdVWqNWl59PT3tWh91/Pg89jQFmzILaTUVKZUerVQyxVNCT06B1arj1ZNvSkqEdl3oixzbHAf\nV/5IzbHKktmeWUCjhi5Wq8Crol+wP1uzNGhueDhk6PQcUBfS49q81uqMfIb2awJAn0eCicgrIaao\nTNxPZzKxIVNDTzwf6hF7VTx0Wjc3o5TJ+GRAd57fcZAhnirc5VJ2qoto4ObCE02Drfa9lXN+eUYP\nBk+6ytBZlxnSw4lLsVqMIkw4m8ATXk6AyNr0Alq09uXcxTQa+btgZ1t19oMgCHw6qCfPbNjJodxi\nAm1l7MzSkFyiJ8hOwRexmWzN1PDxfwbz259n0RTqmDK3Gy+8uJ64S6m0VymJKNJxXqPjk4E9+OnE\neRQyKUNDG+Hl8PDo0T+MjBjUjA2bzjPldBIDnezINZnYmqXh20+G42Bfvl5rRUilEn7+dBRTXljF\niH5uBPrKOXC2kMRCLbOuptHNXsklXSkH1YVMHN2Oo6cT6dKuYbWSGNr5ejK4SRATw2N5zENFqSiy\nJiWXADsbdmdrOFGgJU0h4Yuhzfnsh/04O9ny/tz+zPh0F495qHAUJGzPLqSZjycG0cS3x8IJdnWi\n/7dGbKRVzz88TDwUhUeq85RPzNewITKaPK2WHoEN6N2oAZKbjLWqUXhpqYENOy5yMjwRP29nBua7\nkVpQxMaL0fyTmIC9i8Cgbk5ExuiIjNGy9fephAa5V+tcM4uKWR8ZTbqmiHZ+ntjJ5RxJSEWlsKHJ\niEDe/Hg7A7o74+4kZeOeXHp4N6CVuwdXsnMIcnUmMbeAjRejGeDuQLFJZK9aw0f9uzOsycMhbvag\nFh6pCpPJxO5DMezcexUnRyUTRrQhOLDyalKVkZyWz4oN4WRmF9KjcyP69Qhm087LbN5xkd1Hounb\n1QV/bzmb9+XRoXUAi78ai/rnxCr7FUWRU6mZ7IyKRyaR0CeoIZGZahJyC2jq6cZZuzyOnIhl+KMu\npGUb2H0sj8/eGkrE2hgKdXra+3ny9eEz2GOirYOC80U6ck0Cq8YPfSgK69wxrZu7wd24GW73la42\nMb/rx/z66BnibFNY+nGIZYXhL2vS2bS/lJ2rZtzWeWoNBrr9voYVn4XQpbU5919TZKTftIu81rIz\nfYP9OZmSwYub/uGP1v4W/e+rhVqmX0jm0PRxOCmrN7q7n3lYHX1dYjSaaN77Sz57xY/BPcwZYVqd\niceeu8x435aMqmEa8c1svRLHz5dOsXNpM0sxlf0n85n+RgyHnh6PXCrhte37keXn8mqQh+Ut4pu4\nLPLsVHzzWMUplw8S9RWmbuJ2Jmdut+3fWYm8MMXbahn51JGenL+UQZa6qNz+NeFKW5HQADuLkwdQ\n2Ut5ZpQ7e4QMALZdieUJT5XFyQOEOihp52TPvrjkWlxVPfXA2Qtp2CmxOHkwy37MGufJttiY2+5/\nW1wssyZ5WZw8QK+OTnh72HA69ZptRyXwrwauVqGipxq4sj06kXthEHuv8NA4+tpyJx4QdWluldmy\nIAiIVRy5ZgKz9dRjTWX2JQjcGeOqxLirCv/X23V5HipHX1OnfadStEYMbsl3f6RbVbVasj6Tlk28\n8HC7PS2UJuECVxOKOX6urCJWYbGRheuyGDGkFQBDwoLYmKkhX1+W3RBVpOV0XlGNijvXU8+NtGvh\nS7EWdhyyLDVAqzPxw+/pDG4UfIuWZVy/xyrSyhkcFMTPKzIo1pbZ7YFT+aRmlNLe17x4a0jjAJal\nWGcALU3OYVCIf4218h9k7rusm5y8YlZuOEd8cg5tmvsxamhzlIrKiybcTHWXZt/s5EVR5OjpRLb+\ncwmZTMrYYa1oHuZVceObeHlGD0ZMjaXnk5H07+pIZIyWiKgStv4+9ZbHruw8TaLIwYQUDsYlo1Iq\n+PD1gYx7ZQcDujnj4SJj454cBvZpypBHw8i6nEBHPy+GN2/MmLNXzZOxRpE9ag0fDehW4/h8TXVM\n6qk+4ZFprNsWgWgSGT6oOR1b352HcHFJKX9uvsCFK2kEBbgx8Yk2ODkqq2wnlUpYNH8s42Yup1fH\nHPNk7N48mqs8GNG0akd/o5O/Tl5BCUvPRJKQZ56MDVa603nUeYb3dyU9U88/R/L4bvCjyK/VXZjb\nqxMTV2/jmQsptHNQcK5IR45JYOWQLrX6Lh5U7qvJ2MgrGQydsoReHVW0DlXyz/FCMnJg58rpuLlU\nf4a9po5eFEVe/2AbW3ZFMGGoG1qtyB9bspj3/KM896+u1TqmyWTin4MxnD6fgr+fMyMGN6tWeuXN\n52o0mZi9aQ9RmVkMcnMgx2Bk27X0Sm2pkQKNlv49G9OupW+59leyc/knJhGlTMbQ0EC8VTV/m7hf\nHf29Phn7+U/7+XHpYSY/5o5UKrB8SzYTR7bnvVcH1On5pWVqGDj+V4IayOjZ3p7TF0s4HlHEjuXP\nENKoetk5ufklrN1yAXVuET27NCL4mKnC0XRVb8hXYrIYNHYRbWzkNLW34US+ljQDvNO3Cxcy1Dgp\nFTwW2ghXO+uHkN5oYldMIlHqPEJcnegf4v/QpFc+kFk3A8YvYFRfG6aONBcSFkWRlz+NR6lqyBfv\nPFbt41XXUV03zKOnE5n60goO/tECJwfzS1BSuo7ukyI4ueMF/LwrV7q8XW4+102XY1lw6CSLWjaw\nLEG/XKhlVmQKMWfmlnt43EmnfD8XbbiXHX1MvJpeo37m2IqWeLmbfz91np5HJkXw15KptGxaceHs\nO8HMuetwUmTz4YtlImffL09l/1kJG5f8q1Z91lYLfsjYRXTM0zLhBrmPz2MyEVzd+XhA91qdy4PO\nA5d1k1dQwpmIdKY8Xqa5IQgCM8d5sWXXpTo99pZdF5kw1M3i5MEslTqguwt/77tap8e+mZ1X4xjp\npbLSGWnioCTYXsnhkwmW1YHX/9RWI7yeu8e2PVcY3sfV4uTBXFBmzAA3NtexbW/dfYVnx1k/SKaO\n8mLvkfhysgLV5VZx98ooLinlSHgSo7ytJYnH+zqzKzqhVudRTxn3jaOXXlu6X6q3fgMp0ZmwqYYK\nX224PjKRy2VoteXffLQ6sc6OXRlyqbXGzXV0xvLfw82CaXcqxbT+wXFnkcukaEvL/6YlOtGqKHbd\nHFuCVmey2qYrFZFIhHJVpWpCTW1EIhEQBKGcbetMIjbS+8ZN3bPcN9+gykFBn26N+GpZqmWbwSDy\n2aJUxjzeuk6PPXZYK5ZvzSYxTWvZdvZSIQdO5ll0OOqKm2+Y4c0aszIt3yqD5mBOISkGPbPmrqft\n97/xyM8r+OzASYqK70ypt3rqluGDmrH9QA4Xo8vWVEQnlrBul5rRQ1vU6bHHDmvFp4tSLBlhoijy\n2aIUnhjYxFJI5G6gVMgZ3CuERTdk0BhFkQVJahxtFXT8+Q/aff8bQ5etZ09sUhW91XMz91XWzTcf\nDGfYU0vYc/wiLRvbsv9UAY2DvHhtlnXh6xPhSaxYf5biklIG9WnK8IFNkVYxKriYqebPiKvka3V0\nb9SAx8IaWSZ0moV6Mvf5PvSYvJv+3VzQ6kwcPJXPz5+NwsWpdhWjrpOTV8zcD3dw6lw8Kgdb5s15\nlCGPhlW6f69APwY3DWHkmSt0d3UgV2/kbEERNjIBjxIDc0N9kEsElsTE0rHft3Tu1IDQYC/+Na4D\nPp6qcpOpZ9MyWXchCq1eT5+QAAaFBFjenq5T09HZsaQ0Nl2KQW80MjC0EY8GNSwnJ1FPGT6eKr5+\n/3EGPbuJPp2ckUgFdh/N5ZM3BxHYsCxerdXpWf1XBAePR+Pu6sCTYzrQLNTzFj2DXm9k/fZIdv1z\nGUcnWyaPbW+ZqAd466W+jJ6eSqfxEXRvq+LMpWKQKNi0tPpzXpVx4Fgc783fRU5uIc3CfPni7SH4\neFU+nzX/o8cZNmEJk88n08xewcn8YnJK9SCITPB1obeLivgSHa9v20uotzu+Tvb0atiQwaGB5cT6\ntAYDf12K5VhCCm72toxtGUaoe/lKVDWhWK9nXWQ0Z5LT8VLZM75Vk1tWoruXuK8mY8G87Pqfg9Ek\nJOfRurkPndo0sJrh/3bRYb5deIDpoz1xdJCyfIsaP18vVvw40eLsb54sWhsZxcd7jzHG2wkPGxnb\nswuR2trx25hBKGUyi6NLSS9g5/4obORShvQNu20nn56locPAb2gapGT8EA9ik7X8siaNZyd35aN5\nAy37VTS5FZ9bwOHEVIwmkU+PncBFJmVdq0aW2L1JFJkQHs+jQ1zQGwQ278tj6+9TadHEy9LfwlMR\n/HriHKO9nFDJJGzO0uDr5srPw/tZOfvKHH1F5/XlodOsj7jMGC9H5BKBDZkaWjfw4YvBvf6nec33\n8mTsdbJziti2+womk8jgR8Pw8igrTlNUXMqQyYuwV+gY2c+FxLRSlmzM5Jv3hzNySMWjfr3eyIgn\nl5ETq2aIkx25RhNrswp4+/X+PDO5k2U/URQ5fDKByCuZhAS60qdbEJLbVDn9duFh3pu/i3+N8KJF\niB0bd6s5dr6QgxtnERrkUWm7tO9iOZSYSmKehotZOZxSJ9BHbs9M/7I2UUVapkcm8dYcf1ZvVuNk\nVLHgsf4WZ1+s1zNx9TYU+lL6u9mTpjOwPiOfD/t3Z2hYeUXa6pCv1TFm5RZ8pCK9XOxIKNHzV2YB\n3z72KD0DK6wRf1eorl3fVyN6MOfuDuwdWuFnGVmFfPLdXo4sb0kDb3N++FNPeNJv6kW27r7C4wOa\nlmtTrNfzwZ5jLGzZwFIk5AlvJ2ZfTGV9ZDQTW5eFZvy8HXl6XPs7di2z5m2gYwt7Vs9vQlaOnsjo\nYto0sWfmf47yfy/0we5abc+KUhoDXRwJdHFkZ3QCfl5K2hptrCZoJYJAfzcVchsJn70aSPOQdN74\nZCubl5lz97OKSvjmyFlWtw3A+5pu/QhvZ/51Pol/YpIY2Lh6peZuJCGvgN/PXmRd+wBLsYsnvJ2Z\nGJ7IiZQMOjeou+yRBwF3V3ueHNOuws8WrjiJh5OeFZ+HWR6YQ3u5MPblzTzWr0mFsfw/t0SQF6fm\n1ya+Fv32ge4qnvzkb8Y83sqSKy8IAt07BdK9U+AduQ6TycTH3+1m6SehDOzmQsTVYhr6KHHbksGM\n19axb13lDz6pREKvQPP6gelb/6ZUJ9LL01r6uLG9EkeFlEc7OzNtpDcDno5k+9V4i0Df8nNXcDbp\n+bK5r+W76u1mz0v/HKl16uWvpyIIsxF4L9THsq2zsx3/t/MQ+6ePveffWO+bGH112H8sjh7tnS1O\nHsyTTROGurFjb8XZC2dSMwmyV1hVgpIIAsM9VOyJqdvZ/vORyUwd6cX/fR1PhzFn+XJpMq9+FodS\nIWH5+vCqOwCaPh1CnsZAgq58PD5eX4qvp/lhMXmYJ/uOJmC4pv19NCmNji72FicPIJcIPObhYHXd\nNQnb7I9Pobe7g1VFI1uphEHuDuyJqVrJsJ7K2bn/Mk8Od7d6K2rXzAFvdxvORqZV2GbH35cY5mxv\nVaTD39aG5s52HDoZX2fneuxsMiDSNMiO3k+dZ/Lcy3y8IJGtB3KJvJJRabubBzNetvYoFALxJTqr\n7RqDkTydAXcXOTKZwJQR7uxLKrOvfTEJPOHpaPVdNVfZ4mEj5UKGulbXtDcmkRE3hZ06O9thMBqI\nzy2opNW9wwPl6B3sbMgtKJ8SlltgQGVfcVFsO7mcfIOxnABSgcGIg41NhW3uFDK5lI171Bw7ryF8\nQzu2/NSCi1va07eLM5t2XqhWH+1a+tLAx4XLGi2r03IxXKsitT2zgOMFxYwdbH7lzdcYUNpILZkU\n9nIZ+QZTuf4KDCYcFFUv5ILyD4HK+sw3mLC3qf7q5XrKU5Ftm0wieRo9DnYV/14OKkUlv4cRVTX1\n6GuDq5MtOp2JKXOv8ERfN8LXt+PvX1ty4PfWKOQCh07EV6ufiS2akpZj4LukbKKvFRvRGIx8HJ/B\nY73ccHE0DyjUeQbsZWX2ZSeXk6e3rnRlEkUKDMZa26GdXEb+TdWzDCIUG4zYye/9wMgD5ej7dg8m\nOlHL9gNl2htxyVoWr89iwoi2FbZp4+OBKJGyOSPfsi1LZ+D31DxGt6w4RHSnGDm4NdsP5PLe8wG4\nOpkN0EYu4fPXGnH8bArFJVVnzWT9mMDahVNo3tyH7+Oz6H0kit5Ho/gyKZOVXzfB1UmO0Sjynx+T\nGP9EK0vstXuAH4klpexXayx9JZeUsjajgBHNzPKyNZ2E7R8SwJn8Yk7lFVu2RRfp2J6lKVfEpZ6a\nMWlUB776LZ3sXD1gjqv/ujYDVxeHSidkJ49rz6qsAtK1esu2vzML0AgC3TrWPDRXXZqEeOCoUpCp\n1vPiFD/L4CKogZLXn2nA0tUnq9VPM0835g/oTako8GR4PP2ORdH/WDRaL/jqLXOYJjFNy6+rMxjZ\npOxeHdMqjGWpeeRcWwcgiiJrUvNwtrMl1M25Vtc0umUTFibnUnjN2YuiyJJkNc093Wq1wvxuU+tH\nkSAIYcDqGzYFAe8AzsB0IOva9jdFUdxW6zOsAQqFjFU/T2LCrBV89XsGTg4yjp3L4/3XB9CmuY9l\nZK7VG1gTGcXe6ATsbeRM79iKH4+f488MDe42Ms7kFfFsx1Z0D6jbSZaP5g1gyeoT+HhYj8hcHGVI\nJVBYVFqhTEKJ3sCqiCsciE1CpbBhXGITdq2eQXqWhgOfnuNoUipbY2MZ8/wlWjRzJDFNR2iQJys+\nGlz2XcmkLBjRnxkb/2FZaj4qmZSzeUXM7dGBFl41L0wB4Kiw4YdhfZmzZQ/BdgrkEoELBcV80K8b\n/s73R3YC3Ju2Pax/E85EJNN+9HG6tXcmKU1LiU7K+kVPWoUoYuLV/Lj4KFevZtCiuS9PTu7IuCXH\naO/mQI7egNoksnbplCqz0G6Xd17uz89Ld5fLxW/gpWDv6aIK23jODuTI++EsOxtJQk4+zb09eKpt\nM04+O5FodT4XM9VsuxrLyYvpdHginBB/O85c1vDyI+1p41M2Wds/2J/zaVmMPHOR9s72pGn16AQJ\ni0cNrHVCwJgWjYnMyGLYqVjaO9uRUFKK3EbBklF9a9Xf3eaOZN0IgiAFUoDOwNNAoSiKX1S3/Z0u\nzlBaamDf0TiKikvp1bURrs5mHZzMH+LRGYxMWrMNm1Itwz1V5OuN/Jaax5jWTWnv502+VkenBt54\n2Ftn1NTVIqEZr6/FxzmXt55taNm241AO7/2UxcntL1gM8/pDqkRvYPyqLTiZDDzm4UDOtfN/ukMr\nJrZuwtiVW/AUTAzxcCBTZ2BZWi6TJnbkozcrzuIpNRo5kphGsd7AIw19cLZVWF2vKIocO5PE3/uu\norJXMGZYS/z9nCvs6zpavYHDianoTSa6+fuiqmYoqC6pbdbNvWbbKekFHDuTiIerPd07BVhlx5wI\nT2Lkk78xwl1FS3slpwtL2JZbxMoFE8nMLsJJpaBX10Z3JT9eU6gjrPvn7F3WgqAG5rCpKIpMmRdN\nt67teGFat3JtDp2IZ9y05Yx2V9HMQcGJ/BJ2qYtYM/4x0gqLeH7TbsZ6O9HEQcGR3GJ2qQv5bfQg\nWnlXnMWTrinidGomrnZKOjfwLjdhWqI3sOVKHHF5+TR2c2FI40AUVXw3SfkazqVn4WVvRwc/r/+5\nQubdzrrpC8SIopjwv75wABsbGQN6VVzdZvOVWNCV8G1zP8sP39tdxahTF5jQukmF5cfuhJNPzSjg\n6OlE3F3s6N4p0DKienNOX/qOXUBOvpH+XRyJiCrm5zUZLPt6fDknD+ZUUJXJwFdNfSyf93R1YOzR\ns5QaTXgIRr5ocuNn9kxcdpynlY0Iebl8KMpGKq1UqlgURWa/uYF9h6MYNcCFuAwjXYcd4LsPy1L6\nKsoIUspl9A32v63v6x7inrJtP29HRlWSTvnGf7bxop8rw7zMMgI93Rzwkkn5+ocDrF32ZJ2cjyiK\nnAhPJjElj/Yt/QgKMBchUTkoePfV/jw2aw8vTPbGz9OG1TtySEgXWDiuYr/0+jtbmOfvRn8P89tf\nLzcV7nI1Xxw8SWxOPm8Fe9LHXWX5zM1GypLTkXw1tHeF/Xmr7CtNp0wuKGTCuq00DVXSsa0dG44n\n8cOps6wcObTcIO9GGjqpaOhU/QLo9wp36v1tPLDyhv/PEQThvCAIiwVBuL1VCneYw3HJDHJzsHq6\nu9vIaOdsz8mUyjMCaosoirz/1T90GPgtq9btY96HG2jb/2uiYrMBCGzowuFNz+HuFcLiTToyNR78\nvWI6j3avOKZ9JD6ZQW72ViMJb6WcFo527I6OZ7C7g9VnfrY2hKpsOZeWVeNJ5R17r3L8dAxHVrTg\nnVn+fDW3EZu+b8Lzb26ksEhXdQcPBveFbRsMRo5fSGWQh3WIbIinE/vrKMMmI6uQXiN/ZvorK1n3\n1356jfyJmXPXYTSaJ4CfndyZJV9P4FyMPb9v09Otazt2rZqOyqH8RHBhkY5LcWoedbd2okM8HTmS\nlEZiQSG93BysP/Nw5EhiKrXhw0NHeXK0G39+F8br0xqyeUFTBvZ14Iuj1Zs/uN+47RG9IAg2IU3f\nmgAAIABJREFUwOPAG9c2/QR8gLmw0gfAl0A54XVBEGYAMwAa+jrd/PEd57qTc7ZVkpWrKfd5Rqme\noPEBeHYNvKPH3bbnCms3n+H02ta4u5gnXH/9M51Jz6/g+NY5CIKAt4eKd1/uV2kfN46anW2VZBbl\nW30uiiIZOj2NVCoydfpyn2Xq9JaQTE0kmv/6+wL/esIde9uy19lWYfa0baZi75FYhvVvWu78HiTu\nF9sG8/oSe4WM7FIDPjekzGbo9Lg4VK0tXxvmvLWBR1pJeX9OSwRBoKjEyOiXrvLzb8eZ/bRZvru6\n+fkKGxkyqUCu3oj7DWsCMnUGnBQ2ZBVryTcYrVJ3M0sNOCtrHhY0mkzsjkph4U8drbbPnuTDI+PO\n82nlt+J9y50Y0Q8GzoiimAEgimKGKIpGURRNwK9Ap4oaiaK4QBTFDqIodvBwvXuz1mNbhfFnej5R\nRdrr58H6tDy0drI7tmDkRv5Ye4p/T/GyOHmAaaO80GiKuXC55m8Q41o1YWVaHnHF5hG1KIqsTM1F\nKpczq3Nr/kjLI+Fato5JFPk9JRcHpZIWntWbYL0xTCWVSjAYy8/h6A1iOZmEB5T7xrYFQeCpMe34\nMikb7bURdZHByNfJap6e1LGK1jUnN7+EfUfimDfdz/IGaW8r5Y3pvixff7rG/cnlUsYPa8X8xGx0\nJvP5awxGvklQM6lNU4aGBjI/LpvSa58V6I18l6BmfOvyiyCrQhAEJALlbNtgFJEID6Zd34kY/QRu\neLUVBMFHFMXrKzhGANVLCK8mx84k8sOSw8Qn5dCmhR8vTutRZYGEG0ebTT1ceatPV2bsPUqArYJ8\nvQG5jQ3PPd+NkdOWkZdfQp/ujZkztZtVMZPiklJ+/u04W/+JRC6XMmZYG3y9HVm84jgZ2Roe6dCI\nF57pju9NiyoKi0txcbIeUUkkAi5OcjQ3hT8OHIvjp2WHSUnPp0Nrf16c3oMAP+t0sDY+HrzasyNT\n950g0F5BTqkBe6WChSMGEOjiyJxH2vPUwVME2SvILjXgaKvklxH9azVpNHpoK+a8uZaJQz0s6Z9H\nwwu4FFNMn25BNe7vPuSu2bZeb2TRqlNs2HoOkygyfGBLpk/qhEJR/Vv0/TcGMD2jgKEHY2jsZMuV\nvGKG9A2j1Gik96ifUDkoeHJMR0YPbWFlD5ejs/j61wNEXkknJNCdaRM7c+xMItv+iUShkDN+eDum\njG5jNfGr1RmQyyXYKqwdo6uTrFxYT6vT8+vyk/y1IwKpRGDkY62ZNr5DuUnh/747hGkv/MnQ43GE\nONpyOa+YxxsHMa19C7QGIy9t2cuQk3EEOyi5XFDC6OYhPNW2WU2+ZsC8IHJQqD9fLErmw5cCzPWV\nRZHPF6bwWGhgjfu7H7itrBtBEOyBRCBIFMX8a9t+B9pgfr2NB5694eaokOpmJmz55zKz31jP3Gk+\ntApzYPexPBatz2LH8mcqzSWuLKRQojdwNi0LBxs5x93z+XPzaeZO88XHXc6q7WqOntOxf8NMnB1t\nMRiMDJm8GJVtCTPGeKLVmvh8SSrxKSV8+GIAQQ2U/LUnh037Cti/fqaVs/9+8RH2HDjFqi8aW26u\n8MuFjHopiqhDr1lu5JUbz/HWf7fxxnRfmjSyZfvBPJZvzWHv2hk08nctdy3Fej3hadmoFHJaeLpZ\n3bhFpXrC07NwVipo5uFaIyd/c2Wtdz7bybI/T/F4H1dy8o3sP5nPsm/H0a9HSLW/63uBmmbd3E3b\nFkWRic+tQK3OZM4kL2RSgR9XZSLIHNm4+Kka684kJOcSE59DQ19Hxj+3gtaNZUwe5k52rp7PFqcx\nuG8rPnjdnIV19kIqw55awuwJXvRo78TpyEI++iWR5iEOvDHdj2KtifnL0mjetBE//Xek1Tl3GvId\nb0xzY1ifsoHWa1/EI7dtyOfvDAXMcgjD/7UUQdQwa5wnBqPIt39k4OnpxR/fT6jQNuMSc4hPyqVJ\nY098PFVWdpWQV0BSfiGh7s4VJk5Ul6yiEiZv3IaDs0inVg4cOqVBWmrDsuGDalxe83/JA1dhShRF\n2vT7ii9e9aV3p7JR7nd/pHA22o7fv5tgtX91nY5kggct+szn5JrWeN9Q+GHa2zG0btWSV2b2ZOOO\ni8z/aQe7Fja15AWXaI20HnGGdd80o2Wo+fX89S/jUToE8MmbZfnqxSWlDJ2yGKVMy6j+LiSll7Jk\nQxbz/zOM0Y+1BMwTaWE9vmDFZ8G0a1Y24fThz4lkF3nww8cjanxdtaGy7KIrMVns3B+Fyl7B8EHN\nKhVze5Ac/Z2iOrZ99HQi019eyfHVLbGRm526wSDS48kL/PetERU+VKvDj0uPsvfAKVZ8XpaBps7T\n03bkOc7sehEfTxUjpi5lUFcsVdsAtu7P4b8Lkzj4u1n+u6jESJuR59i+/BmaNi4bUB06Ec/4WcsZ\nP9id5sFKdh7RcCG6lN1/zsDT3WzHf++7ytv/3cSB35ojlZrvHV2piU7jIljyzUQ6ty1LK74VdWFb\nBpOJfXHJxObmE+buQo8Av3tes+ZmHrgKU+rcYjKyi+jV0Xpy6/FH3ThyylpHpSZGER6ZRusmjlZO\nHuDxPs4cPR0HwJFTcQzr7WS1+MNWKWVQd1eOnSvTuRjex4Wjp+KszsHO1oYdy59h4uheHL9oh1b0\nY8eKZyxOHiApNR+pRLRy8gDDH3Xj6E0ZE/+Loh9hwR7MmfoI/xrX/rYVO+spz9HTiQzq4Wxx8gAy\nmcDQnk4cPll7vaWjp+N4vI916M/NWU6n1k6cOpcMwLEzyQx/1Dr0ObiHCxejiy0FSextpfTt4syx\nM9Y68N07BXJ402wcXII4FKGkR7f2HN70nMXJAxw5lcjQXo4WJw+gsJEwsKsjR0//b/WPZBIJ/YL9\nmdGhJb0CG9x3Tr4m3PsiDddwsLcBBDLUeiunHJukxdujdhNenrMD8bqUTnxKCUajaGWMsUlavDzM\nIRMvd0eio8obZUxSCf0fKbuRYpO1eHk4Wpz89VJ+CoWMKaPbMmV0xTIMLs625Gv05BcarMoVxiZr\n8fIsn7N7r2a53Kvnda/j7eHAoSPl01Vjk/X06Fb7nG0vD0dik60jS6IoEpdcYpFA9nK3JyZJi5tz\nWbJAYpoOB3spNvIb7odkHaPcrQciAAF+zvznlf6VnoO3p4pjx/Xltsck6GhSpK2gRXnqber2uW9G\n9EqFnEkjW/Pyp/HkF5o1LJLTdfzfN0nMmPJIrftt0cQLP29nPvoliVK9eQRz5mIhP67KYNqEzgBM\nGtWGzfty2XHIXP3GZBJZvC6dC1HF9Oxgjsdfji3m00VpjHW0XqBRHSN1drTl8f5NePWzBAqLzVoa\nscla3vsxmRmTu9b62mpCfXnA/x3DBzbj7KViVm7LxGQSEUWRv/ao2XcynzHDWlbdQSVMHd+Jhesy\nOX7trVNvMPHZohQc7O3o2Nq8SG7G5C7MnZ9IerY5Uyu3wMDM96Lp29kJQQCjUeTXP9PJUBvp37Pm\nIaSxw1qy53g+m/aoLffO8s2ZRFwpZlBIQL0Tv0vcNzF6MM/ev/TOJv76+xJ+XkpSM7S88Ew35s7u\nbTWpc7PxLD59gYXnzqMp1eNoY8PMdm2Y0qapxbmlZ2l45uU1hF9Mx81ZjqbIxGdvDbUKrxw6Ec/M\nueswGQ1oS414uqlwdbbj3MU0vNwVZOXqeXZyFyJ2xHMuLQtvlR1TO7RkUGPzMapypIVFOp5/cwM7\n90fj46kkPVvHvOd7M2dqN/YejuGrBQeISVDTLNSLp8d3ZOO3pzkUn4xKYcOYVk2Y3LrJbb163ilH\nf6/euPdyjB7g/KV0pr28hrz8IiQSATtbBb98PppObSqPYRcXlzLlhdUcPx2P0SQSEujBkq/HWmWh\nbdp5iZf/swlbhUC+Rk+zUE8WfjmWBj7mEKjJZOK9+f+w4I8T+HkpScnQ0qNzIBGX0pAIJoq1Rvy8\nnRg5pBV/bY4gS11M9y6BvPHvRy1JAlVx/GwSz762Fq1Wh15nwtlGyfz+vQlycWLRmQtszYzHYDAx\ntF9TOrRuyK+LjxGblEPLpt5M92tC60okDup5ACdjbyRLXURqRgHBAa443CS3erOj+fZoOAvOneOz\nVxrRqZWKo+EFzJsfz5z27ZjZqaWVg0tMySO/QEuTEA/kFRT9NplMXI7OxkYuJTjQnM2SmlFAdk4x\nJpOJoaMX86SvE73cHIgtLuXr+Gye7dKWKW2bVduRZmQVkp6loXEjN+xsbfjr74u89M5G3n++Ie2b\nO7DjUA4ffp/EKG9nhns5oS418GNiDm0DG/B+v/L6IdXhTo7m6x29NTWxbVEUiYpTYzKJhAW7V5kt\n1aL3F3i6iLw7OwAHOym/rE5j094cLux7Bfcb8vcNBiOXorJwdFSWS9e9ToFGS1xSLg19nXB1trPY\nulIhY/WGcFb9foLn/VzxU8rZma1hY14RB7c8V+0FYaIociUmG6lEwHGbecHis1v/wehcxOvTfVEq\nJLz5VQIXIgp5PdiTZg62HM8r4uekHBaPHEg731uXTHxYeWArTAF4uNnj4Va9uPzSiAgWvt+YwT3N\no4/GAbY4Okh55eNzzOxk/Vrs7+cMtxCslEgk5dI4fb0c8fVyZNKQJUz2deKphubRVKCdggBbG2Ye\nOcu4VmEVOsCKHKyXh4MlfiqKIu/N38kv7wbRp7P5Bt20R+RRDwdeCTKfR4i9gmYqJcNOxjCrcxt8\naiiZeqdDNvVx+tojCAKhQe7V2nfj9ovk5BVzbGUHFDbmCOz3bwcTn6LljY//5tcvylIhZTIpLZve\nurqXo0pJ62Zl1ZOu23p+gZZvfj3Mmlb+eCrMcfyZ/gpKRJHvFx7m03eGVPvamoSYR+aZQiHhaVlc\nzs3mzNLWyGUSRFEkNVXL50396HBNhDDAzgYbicDXh0/z25jBt+q+niq4b2L0tcFkMqHW6BnQzVqS\nZGA3F9SF5pjk7TglURQ5eS6Zrbsvczolg+43rYIMtldgI4E0TcWyrFWhKzUQHZdH705lo6Yz4Rp6\nOFlPiqlkUlo62RGZWbvqOfXcf2zfe4XeHZ0sTh7MznR4XzfCLyTdomX1KCzS8fe+q6zYGE4DB4XF\nyV+nu5MdJ24jI+h8RjZ9ujghl5nPX1NkJE2tp/1NWV3dXR04n5Fd6+PUY+aBdvQSiQQHWymR0cVW\n2yNjinFQ3p5Ua3JaPt0e/5GpL63glyU7ydJrWZCcbVWpKldvQHOt0k1WUUm5Pqp6yChsZLg4KYhK\nKGvbsIGC6JtKqxlFkZgiHX6O5bMi6nkwaRLiQcTVonKV0cIvFeLteXv6Oqv/Ok9Y9y/48sdt/L7m\nMHGaYk7mWQ9WoopKadjAhYSUPIqKqy6QcyOeswPxU9lzMarMru1tpdjaSEjWWmfoRBfp8LsPCnvc\n6zzQjh7gET9fZrwTRXyKOZUrJqmEme9G06th2SRXbUb1015ew5DuCk7/2ZJ134RyYVN7oqR6liaZ\nq1vllBqYdykNJ4Wcx37byKOL/mTk8r+4qs6t9jEEQeC5f3Vl9ofxJKWbnXvfR1xYkZzLQXUhoihS\nZDDyZVwWAS5ONPWo3uRYXVOfwVP3zJnahew8Ix/+lEiJ1ojRKLJ2Zzbrdqn5cN7AqjuohKjYbF55\nfzNbf27C1p+asH9Zc5Z8FMrLV1PI0uoRRZFTecX8kqxm75FYeg/5kaCOn/LK25spLS1fxrMyejVq\ngDrbxBeLUyz5+t3aOzLvcioZ14T5Yot1fBaXxbQOrWp9PfWYuS9j9JVRkcP+ZVhfntywg05jw1Eq\nBLSlIl39vPl2SO9aHyc+KZfL0Zls/LqdZcLM3UXOu7MDeOnjGBYnqdGZTMglEuYEejDKxxlBgA1p\neUxes52908ZYaldez7WvjNdm9URXaqDH5OMoFBIMRpg0ri3fbrvKu1EZlJpM9Ar04+cB3Wt9PfXc\nf8hkMrb8MZXxM37n2+WpSKUCShsp898bZhVrrykrNoYzcag7zUPKRtGDe7rSrLE9Q07GoJBIMCLi\nZCPjm8behDkoUZcaeG/3Fd4AvvxgWPXOXyLhtycG8+aug3y19BRSiUCAswMt/Rsw7mwCComACYHn\nu7RhZPParQyup4wHytFXhEQi4Y9RQ9BoS4nOySPE1RlVLaRNb6SgUIedUoJMZp0V4eEix8NVzu+f\nhrF6exaHNucy3q9sfmCMrwtH80vYejWOsS2qV49WIpHwzr/78fpzvchSF+Plbo+NjYwM7zgyi0qw\nlctwvI0KTlU9aOq5d2nf0o+oo/OISVBTXFJK81CvGuvi3Iw6pwh/9/JuwdNNzqyJPowb7MG0168y\nzcmVsGvyx242Mt4N9GTk+nDef2Mg9pUUK7fqb3Yg/BDPb8MHk1uixWASLQU/3u9rIFerw93OFnkd\nlzx8WHjgHf11VEob2tYiRauitwR5sZZMtY6TFzR0bFG2cnHZ+nSc7KW0aGzPjkO5tHQsLxcQbCsn\ntaAs3lldJ6tUyK1S2QRBwMuh9qJON1IXzr4+++buERxQuxq/FSGRSlm2IYNZ430skgzqPD17j+cx\n8f3GtApzQGcQCbkprdnNRoatTEJOXkm1HP2NuNhaq7sq5TJ85A+Na7orPDCPy9t1KjVpn6opxFmQ\nMW7OJT5dkMSaHVlMfOkSJ09oSEnRYTKJtG/mwBFNEcYbJstMosjhvBJaeVcvha6eeu42plIDNoUw\n8F8R/L4pg59XpdJn0nkayOXsPW4ueNO+uQMHcwqt2l0u1CKRSfHxrDwhIPOHeMufeu4uD4yjrwsq\nM0g/lQMag4nPg32J/buQP3/JoGm6nMfdHEEisHlfDr06OuHma8OLF5I5X1BCREEJc6+kobK3r7RG\n63USUvI4dzGtRpNbt0v9zVcPQOMQT/wUNoySOLFlSRZH1uQy19MDowBr/s5CV2ritRkNWJiiZlmS\nmrhiHbuyCngtOp13Xut3y8LjBpOJi5lqEvMKKt2nnrqh/v3oBqobwnC1U9LB15OfErN5t7E33go5\n+9WFfJSQwVNjvNi2P4fmIXaUiiYyTCIfJ+QiAkPCgni2U8tKpQquSzGcu5iOu4sNuQUG/vt/Qxg/\nvHW1zl8URUziQ1P9qZ46YNKoNrz/+S7a2Ct5N9AbrVHkl+RsHD1lqKRSjp8rIE9jxIDISScFm5LV\nNPR14psvRzGkb1il/W7edYl/r9yEnRTyCvUE/bOfrwb0qXZKsNFkQiIItSqgU0+9o6+Uqka4U9o1\n493Dh5h4IYESnYmm/rYs/jSUiKgiflqZysbdajq3a8iq/r2wkVXva548eyVdWgis/rwtNnIJ4ZcL\nGfvyVoID3SwiVBWdV7Fez6cHTrI2MpoSg5FHGnjxf3261Djd8k7H6uvj9Pcfrs52dO3iz47EdL45\nmoVEAo/3dGPt3Kb0eiqCx2dfxNXZhv+8MoAXnqme5MalqEyee2M9Kz5rTJfWjhgMIl//lsozG3ey\nbcKIWzrviIxsPtp7jOOpmTjIZYxtEcprPTqgrOY9VY+ZB2Lod6ecSU2c3MiPH6HUJGHxJ6Ek7evE\nwTVtaBlqz8J1Wfz23XgyI95i+/Jp1XbykVcySEhW89bMBpZJsDZNHHh+gjeLVhy/Zds5m/aQnprG\n2nYBHO7WmJ4KkUlrttV6RW49DzfPTOyCQSojcmt7Ug50ZuF/Qzl0pgCZTEHCybkknX6r2k4eYOnq\nU0wd4UmX1malV5lM4JWnfTHK9JxKzay0XWK+hif/3MEAewlHu4Wysk0AcUnJvLJt3+1e4kPHA+Ho\n7wQ3O/nKnL7n7ECLxvwf34/n2ffimPJGDM+8HUPL4WdwdXZg35EYLkbVbNl2ZnYhAb62Vpr4AEEN\nFWRkmUWgKnqgXVXnci49i/dDvfFSyFFIJIz2dWGAmwMrzl2q0TlUdox6Hi6G9W9C/17N6Tohghc/\niWfgjIvM+SiOsGB3VmwIJ6+g/CrvW5GRVUCjBtZZOoIgEBxkR3Zx5X39fvYij3uqeMLbGRuJBF+l\nnI/CvDmSmFYf568hD72jv+64K/vsVvt17xTI5QOvMmZ4T85FldK2mSNTn1DhZJPGsCcXs2JD+C37\nhzLH2qaFL5HRhaRmWssb/LUnj0c6NqrUAcflFNBMZYtcYv2AaKlSEpNd/VW4dUV9jv79hyAIfPrW\nEPaunYmHdzCXYoqZPMyTJ3pLOHkqnEeG/UBqRvUdbdeOjdi0N89KrkGdp+fo2Xz6zWtXabuY7Fxa\nqaxTLxUSCWEOtsTm1jv6mvBQO/rqOKGqHLW9nQ2FxToaeknY8mMTnhzuxbzpDdn0fRivfbCV4pLq\n6YC4ONny8rM9GDb7Cqu3Z3HwdD5zPorlzCUdz0zsVGm7xm7OXCgoRmcyWW0/q9ES6lm7/Or6UX09\nACGN3Nh3OIqv5wXyyb8DmDjUk8UfBjOsl4r/fre32v1MHtmW5EyBZ96JYd+JPNbtzOaxGZeYNqED\nft6OlbYL9XDlTIF1FaoSo4lLmmJC3CqWW66nYh5KR1+V864pu/ZfZsowN6uass1C7Anxt+NkeHKF\nbbR6AznFWkRRtDjW12b14qM3hrF+r4kPfsnB268xe9fNRP9HBnqjieziEow3OfQgVye6NPRh3uV0\n4op15OuN/JakZn9OERNbN7lj13g71I/q70+yc4qIScgtV1P2yeEe7Nx/tdJ2OXnFFBaZ30wzf4jH\n3s6GXaum07Rpcz5ZlMuypRpmNevA+6+bNXkKS/Xka8uXUnyybTN2ZBeyIiWHAr2RmCIdr11Oo1+w\nPw3qBfxqxG1NXQuCEA9oACNgEEWxgyAIrsBqIBCIB8aKolhnMYSajD7ryuGo7BXk5FuPPERRJD2r\nBOVN8q5FpXre23OULVfikAjg7WDH2492pdcP5vMb1r8pw/o3teyf/n0cPx4LZ+HpSETRhI1Uypyu\nbXmybTPLPl8N7cM3R84w88JVCvUGevj7smp8Tzzta79y9mGXRrgXbPt/jVIhw2QSKSox4nhDLeOc\nfEO5uSSAE+FJ/PuNTVyNVyMCA3oE83bjdnDNlt6Y04c35vSx3LOpGRpeeH0D+46Z/9/cw4UP+3en\nybVsMV9HB1aOG8JnB07w/YlYnBRyxrYM44WuFdderqdy7sSIvo8oim1uqHIyD9gtimJjYPe1/z8Q\nVPZQmTy6A1//lkZGdlmYZunGDIpKDKzZHG617yvb9lGYnc3mjo3Y3yWEF/yceGnLXi5WoCWf+UM8\nC05GsD3yCktbNWBvlxC+a+rDouPhrI2MsuynkEl5vWdHTj43iUsvPsWCEf0Jdr09qdp6gIfItivC\nwV7BoD6Nee/HREwmc3y9WGvk/R8Tycou5kxEqmXf5LR8Rj71G6MFCfs6BbOjfSPsr2Yzbf1Oq7dW\nMA9ojCYTg4cuoEFKAf90DmZflxAGOciY/Od28m6Q4Q51d2HhyIFcfukpjs+ayCvd29fr39SCuvjG\nhgPLrv17GfBEHRyjRtzJUE1Fy7j79QjB1lZJu9FnGffyJXpOOce3f6Sy8vMwlq8PR1NoNtzkgkKO\nJaXzdmNPXOQyBEGgu6sDk3ydWXYmstyDRBRFFp6K4D8hXvjbmvVDQh2UvBHkwcKT5+/I9VR1rfVY\ncc/Zdl0zb86jrN6WRbtRZ5n02mVaPH6aAF8Fr0/346elhy37LV15iv6uDgz2dEIqCDjIpLwc4E5u\nYRFn07IAa3vaH5+CrWhkVkM3bKUS5BKBkT7OdHSyZf3F6Lt9mQ88t7vqQAT+EQTBCPwiiuICwEsU\nxbRrn6cDXhU1FARhBjADqHbdyZpS16GH64Z7/Tirvggjp8CIi6OMbm0dkUoFnFRysnOKsAdSCgoJ\ntFeguGnlapi9gjM3ZRFk/hCPzmAkT1dK0E0iUWEOSpIL0rgb3KkQzn24eOqetu27RWFRKSEBDnz5\nuj9J6TrefyGA4Ia2HDiVz99Hciz7xcWpCbspTCkIAqEOSpILCmnn62llR/ltFIQet065BAizlZOc\nr6mz63lYuV1H310UxRRBEDyBXYIgXL7xQ1EURUEQKqw+fu3GWQDmAsq1OXhljuNux5Yzf4inTXNf\nwi8XMWeyr2X71fhiSnQivl6O5FNAY1dnogu15JQacLUp++qP5ZXQwtvH0td1FDIp/o4OnMovpqNz\nmT74kdwimnlYl0es547zP7Xte4WwYHdik0vw81LQvnmZUuvuo/m0aV62WrtxkT1H85N4wrssG0Zn\nMnE6r4i5N63QzvwhHv9UOJFfjEEUkV1bGSuKIkcLtIxrUi/6d6e5rdCNKIop1/7OBDYAnYAMQRB8\nAK79XfnStzrgdpx8epaGq7HZGI2mqne+hrq4hGh1Hi8+04P5v6Xx8+o0ElK1/H04lwmvRTFvdm8U\nCrNTd7VTMrFVGC9eSuVkXhFJJaX8mqhmp7qQp9s3L9e3IAi80r0D70RlsCurgFStnk3peXwZl8UL\nj7QnNiefjMLicu3quX3uRduuLUajiajYbNIyqz9SFkWRmHg1msJSZj7ZmbEvX2XfiTzikrV8uSSF\n5VvVPD+tbHXs6BaNuVxi4MvYTOKLdZwrKOGli2n0CPQjxM253JqUdj4eBLm78vqlNCI1JcQU6fg4\nJpNcUUKPAF+i1HmU6O+eqN+DTq1H9IIg2AMSURQ11/49AHgf2AQ8Bfz32t9/3YkTrQ61dfJZ6iKe\nfX0tx04n4aSSYTRJ+Pydxxg+sFmlbTS6Uub9fZAD8Sk42cjQrhZ5bsYjHIlI5Zs/rtDAx5G3/j2E\nscNaWrV7o1cn/nB25Ovwi+RqdXRt6MufE3rhU0ldzKFhjbCzkfHzsXDmJ+QQ5u7C9E6tmLvjAKLJ\niEZvpK2PB18M6XVbWTa34mEL39yLtl1bduy9yr/f3YTJZKCwyEC7Vn4s+Hw0Pp6qStscOhHPc6+u\nR5OvpdRoIizYnRFDO/LujxFkqYvo3imQf1YPJ8DP2fJ7OipsWDthGN8ePcPzl5Kwk8sfsjrnAAAR\nnklEQVQY1SKUZzq0rNB2vJ5vxC/Gfvx84jzvXIym1GiiX7A/7YxG+ixai5tCTl6pgekdWjK7S+t6\nMbPbRLi5uHC1GwpCEOaRDpgfGCtEUfxIEAQ3YA3gDyRgTkHLqaQbwPx6e3jTzBod/+ZZ/NthwPgF\ntGks8tbMBtgqpRwNL2DKvGg2LXvaqizbjcecuXEXimINrwV5YieVcKVQy0uXUlm6cCK9ugbd8nxv\nh6vZuYxbtYVPw3zo4GyHzmTil0Q153SwftLjdXpD3Aln/79y9AFfLj59Q/bMLflf2/ad4nJ0Fv3H\nL2DpRyH0aO9IqV7k00Up7D9tYP/6mRXaSmpGAR37f8db/u70dnPAIMKqtFw2lug4t+8lZDJprX7D\nymznxr7+u/8E4XEJfNjYC1cbGanaUl6+lMbULu0Y36pyZcyHmerada1DN6Ioxoqi2Pran+aiKH50\nbbtaFMW+oig2FkWxX1U3wu1yu84n8koGcYlq3p/jj63SrKXdtY0js8Z5sbASMbGMwmKOJKXx+jUn\nD+YJ0ukNXPlx4ZHbOp+qWH7uEmO9nejgbB69KyQSng9wJ0tTxIUKUjTrqTn3im3fLotXnmDqCE96\ndnBCEAQUNhLeerYBObkFnD6fWmGbP9aepa+rA33cVQiCgFwiMMXPFUeDiX8OxtTZuRpMJlaev8Jb\nwZ6W+StfpQ2vNnJnyekLdXbch4X7VuvzTk24pmVqCPa3K7cApHGAklNX8itsk1VUgqfCBtub8nkD\n7WzYElkzMbOakqEpoqetdRaORBDwt7Mhs7C4kjyQO8OdCOHcL+GbB4G0zHwGdrbWipFIBEL87UjL\nLAD8yrVJTc0noILiIQFKOWmZmlr/dlW10xqM6IxGfBTWLinAVkFmUc1E1Oopz0O/8qB1Mx/OXdaQ\nlWOtSbP1QD6d2gZW2CbY1YmsUj2JN+nY7FUX0s7Pq04dWTs/b/bnWssP5+mNROQX08KrPluhnjI6\ntw1k2wHrwUpugYET5/Np19KvQjvt0imQA0VaKwEyrdHEsZwiQi7Xnbuwl8tooLLneJ51csE+tYa2\nPh51dtyHhYfe0Xu42fPslM4Mf/4Km/eqOXlBwyufxXE8ooRnJnassI2tXMaLXdsy52IqOzILiNSU\n8E1cFrtyipnesVWdnu/4VmFc0Rr5KDqDcwUl7M3W8FxkChNbhd2xYuG3on40fv/w5Jh2XIzVM+ej\nWI6f17Btfw7DZ1/mqbHtLWJiN/+eIwY1w+hiy5sxGZzJL+ZwTiHPX02jb+/GhLnXXUqvIAjM692Z\nt6MyWJeWxyWNlqVJOfyUlMO/u7evs+M+LNx3oZu6cDTDdd6syhCZ80EMAqArFXmla3sMyzMrzZ+b\n2r4FDZ0c+e3MBbIy8+jY0JsNg/pasmfqSivGUWHD+omPs+DkeT6PS0KlsGFGtw6MaBp8x49VV9SH\nb+4Ojiolzz/djTc/3sGWPdmIIvx/e/ceXVV1J3D8+0tu3gEmCQGiBIQWCIolKD4QFDSOTJQOYgcL\nRusLsNrl0ikulvWxqn1M/6m203GkQsfBUQTpgIoKyyhoHV8zgEAgPARsUWIgQCAvQh5kzx+5hJDc\nG5L7Ovuc/D5r3ZXLyT2XX875nd89Z5999+6TlsLcojOjoXbM0aQkH2tXzOEPiz/h39aWkpzk444H\nr+Efj0X/rPr67wzhj9OvZ/GGElbuP8boAVm8NmtiVD9geouQe91EUnd7JkSjOBhj+P7LbzA5zcdd\nuZnEi7CvroEHSst4YcYNXHLegLDe//SB5LXCFu6HWKy3R0963USSk71utu4oZ9qsF3luZA6j0pNp\nMYZXy4+xpqmZTesf4vDz+7u9H72Wv14R9V43sRatRCutqOT4iXru9hd5gO+kJVF0Xj+WhTBDU0d6\ngCin/OfSDfwwuy+j0ltvyMaJUJSTQVNNA59/8Y3D0alYck2hj5bK+pMMSkogrkOf4pykBCpPnAyy\nVs94sdh78W/ymsMVNQxKPLt1VkTISU7g6DH9RnVvYn2h7zhSZKSNHdSf3TX1lJ9saltmjKH4aB1X\nDu3c/UydEc5+6c1j3cfK5CkjKK46cVYPmiONzWw9Vsfl+WfGqekO3V/uZn2hj7Z+yUk8OCGfedsP\nsKr8OP9ztJaf7T7IgWaYfY5v4xlj2FxeQfHe/VTU6RmSssvtt+RT2y+JBXsP8dHRWt44eJy5u8p4\neO5EBvTveoam2roG1q7fzQef7KOp6RSgxd7NrO51E6vmgXmXfY9R2Zm8tnUXx4+f5OpRI3hmbB7p\niQlB1/m2upY5rxdz4mQDg1MSmH/8BHeOu5D5ky7VcTmUFVJTEin+77n8aekGXi/eSb8BfXl2QQGF\n13V9ArP8ja3885Nvkdc3hfpTLRw+1cKri27jinG52mPKpawt9LFOpskXDGbyBYO7/fqH3v6AyekJ\nzBk9EBGhsrGZ+7bvYfSALG4aNSzkOGw/a+q4X8LpRqpFI/rS05J4eN4kHp43qVuv3/PVEeY/8RaL\nR5/Pd9Nax4v/6GgtM+95hd2fPUJKcsJZ+1v3nztY2XRje/J8XVXDvsrj3J2b2Xb2npno497BGbxW\nsuscawdne5GHM7N1tZ+1y/b9pbrWfv8tXbmZ72f3aSvyANdkpTMiNZG1678Mup6ym3WF3g3JU9vQ\nSN8EX9uECadlJsRT29AYZC1viuQ0jcp51dUnyYjrXBYyfPFtU2KepvvdPawq9G4o8gAjsjKoO2Uo\nqT4z2JIxhtUV1UwePiSk9+ytB01v/btt9ffXjmRt1QmaWs701KlsbOaTIzVMmdh5+G3df+5gTRu9\nW4o8QEJ8HL+4fgI/Lf6YmYP6kZucwPuVdXx7SvjNJcEnKwkmlIPl67Lj/OWzv9K3TxJTp4wgOSn4\njWOlumvqlBEsGXs+c7aVcXNGOvUtLSw/UsNP7pnA0PP/LuA6kbzXYozh8wMH2X+8hosGZHKxDtQX\nEdYUercpHDmMYRn9WFayi09rTjBlzGhmjhlJWhc9dQIJpcj/8vfv88eXPqdgQgaHK5t56MnV/Hnx\n7Vw2tvs3k5UKJC4ujlcX3caqtaW89c52kpMTeOGfCrl2YvTHUjp6op67V79Lo6+RcaPT+Pfiakb0\ny+T5wgKSE7RUhcOKrdd0uOHcL7JQXnYmTxdcFdP/c/3H+1j++iY2/nks/TNaP1Te/vAoRQ+8yo6/\nzMcXYCxxpc6lfe+p+Pg4Zk67mJnTLu56pXa6Oqvv7k37pz/6jImTkvnN/FGICM3Nhh8t+JLnNmzh\nkatiPkyRp1jVRq/Obdkbm7l/1oC2Ig8wbUoW/TPi+XTj1w5GFjpt53VepOYEDvX3Dc2nKN7zDY/e\nN7itJ5vPJzx2/2De/DJ6M1v1FlroXaahoYn0lM5n7emp8ZxsaHYgIqXC12IMxhhSk88uSemp8TQ0\nn3IoKu/QQu8yhQUXsuTNIzQ1t7QtK91bR+meOiZeNtTByMKjZ/XeEGg/tm+yCbafUxJ8XJqbzX+9\nefYMEItXHOS6YbkRjLB3sqKNXnXfzGljWLWmhIJ7dnDr1EwqKpt55e3DPPPUNNJSE8/9BkpFWai9\ncH5+9VXcvnAtG7bWccnFqXzwaTU7djew4gfXRD7IXibkM3oRyRWRD0Rkh4iUishD/uVPiUiZiGzx\nP26MXLixY+sXgXy+eJYvLOKJn05j/5H+JKYPY92K+5g1fazToXmG13PbVqP6Z/Bu0S0Mrx9CyboE\nJqWMZM3sGTGZItPrwjmjbwbmG2O+EJE+wCYRec//u98ZY34bfnixE6yo2/g1//j4OG4qyOOmgjyn\nQ4koi8a+8VRun0tPTmhCHduo/Xpd7efM1GTmje9+bx/VPSEXemNMOVDuf14jIjsB1wzg3tNktbHg\nq+hwe25HS7TmQVbRF5GbsSJyATAO+F//ogdFpEREXhSRgDP7isg8EdkoIhsjNZPTuXQcjMtptsSh\nggs3tw9X1sUo0tBEKwc1t+0SdqEXkXRgJfCwMaYaWAgMB/JpPSt6JtB6xphFxpjxxpjxmanJ4YYR\nUKCRFiP1nio6bNq2kcjt7My0mMUbTZG4ktWrYeeE1etGRBJoPRCWGmNWARhjDrX7/WLg7bAi7IFY\nFgltyvE223LbBjZ9CKueCbnQS+vX1/4D2GmMebbd8hx/GyfADGB7eCEGZkvSacH3HqdzO1acOIZO\nt/NbdOO9VwjnjH4icAewTUS2+Jc9BswWkXzAAH8D7gsrwg5sKfAdaeJ6iiO5bSvNa/cLp9fNx0Cg\nyVHXhB5OZ7YW9kC02EeG09sxVrntJpE8DrX3TuxZ9c1YL+x8bcpRXhKtPNbjI7asGOsmITvJE0W+\nPa/9PUr1hBZyu1h1Rm+TquqTLF21ma07vmX40CzuvPVSBmX36dF7dHV2rx8EXXO6+cbLSncf4pWV\nX1BVU0/B1SOZfsNoncfA46w4o7dN2cFqrpz2HJ98tonxI2vZ/9VOrrjxOUp2Hgzp/bSoh0a3W+S9\nsnIzhUV/ItEc4KIhVfz+hXf5wdyXaWrSoYC9TAt9AL949j1uKejLkn/5LnfNGMi/PjaMJ398Ho88\nvTrk99SipZxWU9vAgl++wzsLR/PEj3OZd2sOxYsupLb6GCve2hZ0Pc1d99NCH8C7H37J3bcMOGvZ\n7Juy2bC1nLoTjSG/r36rtud0e0XOpxv3M2ZkOnnDz4wG6fMJP5qexdr1OxyMTEWbFvoAUlMSqKo5\n+1K2rr6FuDjBFx/+JtPi1TO6vSIjLTWR6trOs5BV1ZwiVecy8DQt9AHMnjGOXy8qo7GpdRYnYwy/\nfuEA02/IIylJ7187QYt9+CZcOoSqWlj13pG2ZYeONLJw+SFuu/kSByNT0aaFPoAF908mKSWL7928\nlXuf/Irxt25j217htz+f5nRovZoW+/DEx8exbGERj/+hjKnzdnLHo3u5/Icl3DXrSqZcNTzgOqFu\nc91XdtHT0wCSknwsW1jE9l2H2LbrIA/MyeCKcblts9Mr52i3y/DkX5TDjg/ns+7jfVTVNPDsry7g\nvIF9nQ5LRZkW+i6MyRvImLyBToehVEQlJvoovG6U02GoGNKmG+U62iygVM+IMcbpGBCRw8B+p+Po\nQn/gyDlfZQc3xQqxi3eoMSY7Bv/PWSzPbc2V6LEqr60o9LYTkY3GmPFOx9EdbooV3Bevl7ht27sp\nXtti1aYbpZTyOC30SinlcVrou2eR0wH0gJtiBffF6yVu2/ZuiteqWLWNXimlPE7P6JVSyuO00Hcg\nIn8TkW0iskVENvqXZYrIeyKyx/8zw8H4XhSRChHZ3m5Z0PhE5GcisldEdovIVAtifUpEyvzbd4uI\n3GhDrL2BzbntprzuIl5rc1sLfWDXGmPy23WPehRYZ4wZAazz/9spS4B/6LAsYHwiciEwC7jIv87z\nIhLLqYSW0DlWgN/5t2++MWYNWBFrb2Frbi/BPXkNLsttLfTdMx14yf/8JeBmpwIxxnwEVHZYHCy+\n6cByY0yDMeavwF7g8pgEStBYg3E01l7Mitx2U16D+3JbC31nBnhfRDaJyDz/soHGmHL/84OAbQPg\nBIvvfOCbdq874F/mtAdFpMR/+Xv6ctzWWL3EbbnttrwGS3NbC31nk4wx+UAh8BMRuab9L01rNyVr\nuyrZHh+wEBgO5APlwDPOhtOruDa3bY6tHWtzWwt9B8aYMv/PCuB1Wi+xDolIDoD/Z4VzEQYULL4y\nILfd6wb7lznGGHPIGHPKGNMCLObMJax1sXqNC3PbNXkNdue2Fvp2RCRNRPqcfg7cAGwHVgN3+l92\nJ/CmMxEGFSy+1cAsEUkSkWHACOD/HIivzekD128GrdsXLIzVS1ya267Ja7A8t40x+vA/aL3s2up/\nlAKP+5dn0XrXfw/wPpDpYIzLaL0sbKK1re/eruIDHgf2AbuBQgtifRnYBpTQegDk2BCr1x+257ab\n8rqLeK3Nbf1mrFJKeZw23SillMdpoVdKKY/TQq+UUh6nhV4ppTxOC71SSnmcFnqllPI4LfRKKeVx\nWuiVUsrj/h+Fz9Gsm78H6QAAAABJRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from sklearn import neighbors as ne\n", "import pandas as pd\n", "from matplotlib.colors import ListedColormap\n", "\n", "poke = pd.read_csv(\"./Pokemon.csv\")\n", "poke['TN'] = poke['Type 1'].astype('category').cat.codes\n", "type_mask = poke['Type 1'].isin(['Fire','Electric'])\n", "type_num = {'Fire':0, 'Electric':1}\n", "EorF = poke[type_mask]\n", "\n", "cml = ListedColormap(['#E17362', '#F7DE82'])\n", "cmb = ListedColormap(['#cf3e28', '#f2cb3a'])\n", "\n", "stp = 0.5\n", "\n", "xcol = ['Speed', 'Sp. Atk']\n", "ycol = 'TN'\n", "\n", "spmin, spmax = 5, 180\n", "samin, samax = 10, 194\n", "\n", "plt.figure(1)\n", "plt.subplot(121)\n", "\n", "nn = ne.KNeighborsClassifier(n_neighbors=1)\n", "nn.fit(EorF[xcol].as_matrix(), EorF[ycol].as_matrix())\n", " \n", "\n", "xx, yy = np.meshgrid(np.arange(spmin, spmax, stp),\n", " np.arange(samin, samax, stp))\n", "\n", "Z = nn.predict(np.c_[xx.ravel(), yy.ravel()])\n", "\n", "Z = Z.reshape(xx.shape)\n", "plt.pcolormesh(xx, yy, Z, cmap=cml)\n", "\n", "plt.scatter(EorF['Speed'].as_matrix(), EorF['Sp. Atk'].as_matrix(), c=EorF[ycol], cmap=cmb, edgecolor='black')\n", "\n", "plt.subplot(122)\n", "\n", "nn = ne.KNeighborsClassifier(n_neighbors=16)\n", "nn.fit(EorF[xcol].as_matrix(), EorF[ycol].as_matrix())\n", "\n", "Z = nn.predict(np.c_[xx.ravel(), yy.ravel()])\n", "\n", "Z = Z.reshape(xx.shape)\n", "plt.pcolormesh(xx, yy, Z, cmap=cml)\n", "\n", "plt.scatter(EorF['Speed'].as_matrix(), EorF['Sp. Atk'].as_matrix(), c=EorF[ycol], cmap=cmb, edgecolor='black')\n", "\n", "plt.suptitle(\"N-Nearest Neighbor Comparison\")\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Regularization" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Regularization is a method for rexducing overfitting by reducing the complexity of the model, or to add constraints to the model in order to achieve a more unique solution.\n", "\n", "You see, model complexity should be treated as a resource; the reason for this, is that while training error does decrease by adding additional variables or by heavily weighting two colinear examples, this will do nothing for, or perhaps even harm, your testing error. The reason being is that an overly complex model becomes exceptionally hard to generalize as it grows.\n", "\n", "Take *Ridge Regression* for example: Ridge Regression is an expansion of Ordinary Least Squares Regression which adds a regularization term to it's loss function: $$L(\\hat{Y}, Y) = (\\hat{Y} - Y)^2 + \\alpha\\|\\beta\\|^2$$\n", "That final term $\\|\\beta\\|^2$ penalizes the size and number of coefficients in the linear model. The severity of this penalty is set using the $\\alpha$ coefficient preceding the term. \n", "\n", "Thus, the values of the coefficients of the model will be kept small unless they have a substantial effect on the accuracy of the model. Look at this graph from the scikit-learn notes:\n", "\n", "![Ridge Coefficients](./sphx_glr_plot_ridge_path_0011.png)\n", "\n", "As you can see, regularization has a significant impact on the complexity of the model. Picking good values for $\\alpha$ is vital to proper function, however.\n", "\n", "Ridge regression is useful for predictor variables that are correlated and not sparse, and when the predictors have small individual effects." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Validation and Cross Validation

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since training and testing error are so different, it's imperative to always have a testing set to verify how the model will perform \"in the wild.\" However, we usually want to keep any test set we define untouched until our model has been fully constructed and trained. Therefore, We have to be parsimonious with our training data and use cross validation to approximate our testing error using our training set. Essentially, some subset of the training set is kept as a validation set that is used to approximate the model's test error during training.\n", "\n", "The simplest type of cross validation is the validation set method. This is when part of the training set is allocated as the \"validation set\", or a pseudo-training set. The model is trained on the non-validation portion and is tested on the validation portion. We can then tune model parameters to reduce under/overfitting as we need, and repeat the process until we are satisfied with the training error and validation error we get. \n", "\n", "Without validation, you lose the ability to approximate how good your model is without having test data. Imagine having a machine learning model for some application used in the real world: you need to know how the model performs before your application is deployed. Validation is a way of assessing how your model will do when it is given new data which isn't really \"new\" data. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From InTech" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Implementing Cross-validation

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's important to be careful with terminology. When we say \"validation error\", this refers to the error computed by the model upon with some validation set, which is a subset of the training set. Since the model isn't trained on that subset of the training data, this is an effective way to approximate what test error will be. \n", "\n", "* k-fold\n", " - Create k partitions (folds) of the data. For each fold, treat the other k−1 folds as the training data and the remaining fold as the testing data. Compute the test error. The overall cross validated error is the average of all of these error values.\n", "\n", "\n", "* LOOCV\n", " - LOOCV stands for Leave Out One Cross Validation, where one training sample is used as validation while the rest is kept as training data. This is the same as k-fold cross-validation where k is equal to the size of the training set n.\n", " - More generally, we can leave-p-out. For each data point, leave out p points and train the model on the rest of the points, and compute test error. The overall cross validated error is the average of all of these error values.\n", " \n", "Let's run through the code for these using an example from sklearn documentation: " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(127, 4)\n", "(127,)\n", "(23, 4)\n", "(23,)\n" ] } ], "source": [ "# Modifications to the original code have been added\n", "import matplotlib.pyplot as plt\n", "from sklearn.linear_model import Lasso\n", "import sklearn.model_selection\n", "\n", "#Load dataset and split into training and test samples\n", "iris = datasets.load_iris()\n", "X_train,X_test,y_train,y_test = train_test_split(iris.data,iris.target,test_size=0.15,random_state=0)\n", "print (X_train.shape)\n", "print (y_train.shape)\n", "print (X_test.shape)\n", "print (y_test.shape)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Create a lasso model\n", "lasso = Lasso(random_state=0)\n", "alphas = np.logspace(-3, 0.5, 40) #Create a np array of alpha, a parameter of the lasso model\n", "\n", "\n", "scores = list()\n", "scores_std = list()\n", "actual_scores = list()\n", "train_scores= list()\n", "\n", "n_folds = 3\n", "\n", "for alpha in alphas:\n", " lasso.alpha = alpha\n", " this_scores = cross_val_score(lasso, X_train, y_train, cv=n_folds) #calculate validation accuracy with this alpha\n", " scores.append(np.mean(this_scores))\n", " \n", " lasso.fit(X_train,y_train)\n", " \n", " train_score = lasso.score(X_train,y_train)\n", " train_scores.append(train_score)\n", " \n", " actual_test_score = lasso.score(X_test,y_test)\n", " actual_scores.append(actual_test_score)\n", "\n", " scores_std.append(np.std(this_scores))\n", "\n", "scores, scores_std = np.array(scores), np.array(scores_std)\n", "\n", "#Plot results\n", "plt.figure().set_size_inches(8, 6)\n", "plt.semilogx(alphas, scores)\n", "plt.title('Results')\n", "\n", "# plot error lines showing +/- std. errors of the scores\n", "std_error = scores_std / np.sqrt(n_folds)\n", "\n", "plt.semilogx(alphas, np.array(actual_scores),'ro') #Red dotted line shows actual test score as alpha changes\n", "plt.semilogx(alphas, np.array(train_scores),'go') #Green dotted line shows training accuracy as alpha changes\n", "\n", "plt.semilogx(alphas, scores + std_error, 'b--')\n", "plt.semilogx(alphas, scores - std_error, 'b--')\n", "\n", "# alpha=0.2 controls the translucency of the fill color\n", "plt.fill_between(alphas, scores + std_error, scores - std_error, alpha=0.2)\n", "\n", "plt.ylabel('CV score +/- std error')\n", "plt.xlabel('alpha')\n", "plt.axhline(np.max(scores), linestyle='--', color='.5')\n", "plt.xlim([alphas[0], alphas[-1]])\n", "plt.show()" ] } ], "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.6.3" } }, "nbformat": 4, "nbformat_minor": 2 }