{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "# HIDDEN\n", "from datascience import *\n", "%matplotlib inline\n", "path_data = '../../../data/'\n", "import matplotlib.pyplot as plots\n", "plots.style.use('fivethirtyeight')\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "# HIDDEN\n", "\n", "def standard_units(any_numbers):\n", " \"Convert any array of numbers to standard units.\"\n", " return (any_numbers - np.mean(any_numbers))/np.std(any_numbers) \n", "\n", "def correlation(t, x, y):\n", " return np.mean(standard_units(t.column(x))*standard_units(t.column(y)))\n", "\n", "def slope(table, x, y):\n", " r = correlation(table, x, y)\n", " return r * np.std(table.column(y))/np.std(table.column(x))\n", "\n", "def intercept(table, x, y):\n", " a = slope(table, x, y)\n", " return np.mean(table.column(y)) - a * np.mean(table.column(x))\n", "\n", "def fit(table, x, y):\n", " \"\"\"Return the height of the regression line at each x value.\"\"\"\n", " a = slope(table, x, y)\n", " b = intercept(table, x, y)\n", " return a * table.column(x) + b" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "### The Method of Least Squares ###\n", "We have retraced the steps that Galton and Pearson took to develop the equation of the regression line that runs through a football shaped scatter plot. But not all scatter plots are football shaped, not even linear ones. Does every scatter plot have a \"best\" line that goes through it? If so, can we still use the formulas for the slope and intercept developed in the previous section, or do we need new ones?\n", "\n", "To address these questions, we need a reasonable definition of \"best\". Recall that the purpose of the line is to *predict* or *estimate* values of $y$, given values of $x$. Estimates typically aren't perfect. Each one is off the true value by an *error*. A reasonable criterion for a line to be the \"best\" is for it to have the smallest possible overall error among all straight lines.\n", "\n", "In this section we will make this criterion precise and see if we can identify the best straight line under the criterion." ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "Our first example is a dataset that has one row for every chapter of the novel \"Little Women.\" The goal is to estimate the number of characters (that is, letters, spaces punctuation marks, and so on) based on the number of periods. Recall that we attempted to do this in the very first lecture of this course." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/html": [ "
Periods | Characters | \n", "
---|---|
189 | 21759 | \n", "
188 | 22148 | \n", "
231 | 20558 | \n", "
... (44 rows omitted)
" ], "text/plain": [ "Periods | Characters | Linear Prediction | Error | \n", "
---|---|---|---|
189 | 21759 | 21183.6 | 575.403 | \n", "
188 | 22148 | 21096.6 | 1051.38 | \n", "
231 | 20558 | 24836.7 | -4278.67 | \n", "
195 | 25526 | 21705.5 | 3820.54 | \n", "
255 | 23395 | 26924.1 | -3529.13 | \n", "
140 | 14622 | 16921.7 | -2299.68 | \n", "
131 | 14431 | 16138.9 | -1707.88 | \n", "
214 | 22476 | 23358 | -882.043 | \n", "
337 | 33767 | 34056.3 | -289.317 | \n", "
185 | 18508 | 20835.7 | -2327.69 | \n", "
... (37 rows omitted)
" ], "text/plain": [ "Periods | Characters | Linear Prediction | Error\n", "189 | 21759 | 21183.6 | 575.403\n", "188 | 22148 | 21096.6 | 1051.38\n", "231 | 20558 | 24836.7 | -4278.67\n", "195 | 25526 | 21705.5 | 3820.54\n", "255 | 23395 | 26924.1 | -3529.13\n", "140 | 14622 | 16921.7 | -2299.68\n", "131 | 14431 | 16138.9 | -1707.88\n", "214 | 22476 | 23358 | -882.043\n", "337 | 33767 | 34056.3 | -289.317\n", "185 | 18508 | 20835.7 | -2327.69\n", "... (37 rows omitted)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lw_with_predictions.with_column('Error', errors)" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "We can use `slope` and `intercept` to calculate the slope and intercept of the fitted line. The graph below shows the line (in light blue). The errors corresponding to four of the points are shown in red. There is nothing special about those four points. They were just chosen for clarity of the display. The function `lw_errors` takes a slope and an intercept (in that order) as its arguments and draws the figure. " ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "lw_reg_slope = slope(little_women, 'Periods', 'Characters')\n", "lw_reg_intercept = intercept(little_women, 'Periods', 'Characters')" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": true, "deletable": true, "editable": true }, "outputs": [], "source": [ "# HIDDEN\n", "\n", "sample = [[131, 14431], [231, 20558], [392, 40935], [157, 23524]]\n", "def lw_errors(slope, intercept):\n", " little_women.scatter('Periods', 'Characters')\n", " xlims = np.array([50, 450])\n", " plots.plot(xlims, slope * xlims + intercept, lw=2)\n", " for x, y in sample:\n", " plots.plot([x, x], [y, slope * x + intercept], color='r', lw=2)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Slope of Regression Line: 87.0 characters per period\n", "Intercept of Regression Line: 4745.0 characters\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAFXCAYAAAC83gnhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzs3Xlc1HX+wPHXMJyiXMMAkqiZikqu9LNALS8wz/JYDzJ/WrZloq1dah6Vaa5HtpqbR5bibp71U0stEt3EK1F0N7UVM1rzVhiGGzlnvr8/jMlJjgGZYYD38/HgEcz3M5/v5/sJec/3c7y/qszMTAUhhBCiHA613QAhhBD2TQKFEEKICkmgEEIIUSEJFEIIISokgUIIIUSFJFAIIYSokAQKIYQQFarVQLF06VK8vLyYNm2a6bXo6Gi8vLzMvvr06WP2vsLCQqZNm0arVq0IDAzkqaee4tq1a2Zlrly5QlRUFIGBgbRq1Yrp06dTVFRkVubIkSP07NkTf39/OnXqRExMjPUuVggh6qhaCxQnTpzg73//OyEhIXcd69WrF+fPnzd9/d///Z/Z8ZkzZ7J7927WrVtHbGwsOTk5REVFYTAYADAYDERFRZGbm0tsbCzr1q1j165dzJ4921THxYsXGTVqFGFhYRw6dIjXXnuN6dOns3PnTuteuBBC1DG1EiiysrJ44YUXWLFiBV5eXncdd3Fxwd/f3/Tl7e1t9t4NGzYwb948evfuTWhoKGvWrOHs2bMcOHAAgP3793Pu3DnWrFlDaGgovXv3Zu7cuXz66adkZ2cDsH79egICAliyZAnBwcE888wzjB49mhUrVtikD2pLcnJybTfBbknflE/6pnwNoW9qJVC88sorDBkyhB49epR5PCEhgdatW9O5c2emTJmCTqczHTt16hTFxcVERESYXmvWrBnBwcEcP34cgMTERIKDg2nWrJmpTGRkJIWFhZw6dcpU5s46Sst8//33FBcX19i1CiFEXedo6xP+4x//4MKFC3z88cdlHu/Tpw9PPvkkLVq04PLly8yfP5/Bgwdz4MABXFxcSE1NRa1Wo9FozN6n1WpJTU0FIDU1Fa1Wa3Zco9GgVqvNyvTq1euuOkpKStDr9QQEBJTZvvrw6aE+XIO1SN+UT/qmfHW9b9q0aVPhcZsGiuTkZObNm8eePXtwcnIqs8zw4cNN34eEhBAaGkrHjh2Ji4tj8ODBtmpquSrrUHuXnJxc56/BWqRvyid9U76G0Dc2HXpKTExEr9fTpUsXNBoNGo2G7777jrVr16LRaCgsLLzrPU2bNiUwMJALFy4A4Ofnh8FgQK/Xm5XT6XT4+fmZytw5XAWg1+sxGAwVltHpdDg6Ot51tyKEEA2ZTQPFoEGDOHr0KIcPHzZ9PfTQQwwfPpzDhw/j7Ox813v0ej03btzA398fgNDQUJycnIiPjzeVuXbtGufPnyc8PByAsLAwzp8/b7ZkNj4+HhcXF0JDQ01l7qyjtMxDDz1U7t2OEEI0RDYdeirdF3GnRo0a4e3tTYcOHcjNzWXRokUMHjwYf39/Ll++zLx589BqtTzxxBMAeHp6MnbsWObMmYNWq8Xb25vZs2cTEhJimnOIiIigffv2TJw4kfnz55ORkcHbb7/NuHHj8PDwAGD8+PF88sknzJgxg/Hjx3P8+HE2b97M2rVrbdklQghh92w+mV0RtVpNUlISW7duJSsrC39/f7p378769etp0qSJqdzChQtRq9WMHz+egoICevTowUcffYRarTbV89lnnzF16lT69++Pq6srI0eO5N133zXV0bJlSz7//HNmzZpFTEwMAQEBLF68mCFDhtj8uoUQwp6p5Al3DUtDmHirLumb8knflK8h9I3kehJCCFEhCRRCCFEPbL9wi/hrBVapWwKFEELUcTE/5vH8wQz+d386l3NLarx+CRRCCFFHKYrC0jM5vJaQiQK83qkJQe7qGj+PXa16EkIIYRlFUZhzMpu//ScXFfDXrl48187dKueSQCGEEHWMwajwytFMNiTfwlEFa3p4M7xVI6udTwKFEELUIYUGhQmH0tl5sQBXNXzaW0PfIFernlMChRBC1BF5xUbG7k9n//VCPJxUbO2joVuAi9XPK4FCCCHqgMxCI6P26UnUFeHr6sD2vho6ae7Oj2cNEiiEEMLO3bxl4I9700jKKKGZu5ov+2lo7Wm75KUSKIQQwo5dzClhWFwav+QYaOvpyI6+Gpo1tu2fbgkUQghhp85lFDMsLo2b+UZCNU5s66vB17Xm90lURgKFEELYoZO6IkbuSyOjUOHRAGe2RGrwcK6dPdISKIQQws4cvF7A09+mk1ei0D/IlfW9fHBzVNVaeySFhxBC2JHdl/IZuU9PXonCqAfc2BBRu0ECJFAIIYTd2JScxzPx6RQZ4YX27nzU3Rsnh9oNEiBDT0IIYRdWnc1lVmIWANNDmzAztAkqVe0HCZBAIYQQtUpRFBZ8n8OS0zkALAjzZFJI41pulTkJFEIIUUuMisIbx7P45FweDir48FEvxrSxTgbYeyGBQgghakGxUWHy4Qw+v5CPswPE9PLhiRZutd2sMkmgEEIIG8svUXj2QDpxVwpwd1SxOdKHnoHWzQB7LyRQCCGEDWUXGRn9rZ7vbhbh7aJi2+O+dNbaJrlfdUmgEEKICqSkZbBg5VbSs3Lw8WzC7Mmj8fP1qlZdaQUGhu/Vc1pfTNNGDuzo60t7b9sl96su2UchhBAVWLByK9dT0ykqKuF6ajoLVm2pVj1Xc0sYGJvGaX0x9zdR881AbZ0IEiB3FEIIUaH0rBz2bloCQP//nY4+M6fKdfycVczQOD1X8wx08HZkR19fAhrZPrlfdUmgEEKICvh4NjF9b1QUs58tcUZfxPC9enQFRsK0znz+uAYvl7o1mFO3WiuEEDY2e/Jo0/eBfj5mP1cmIaWQJ75JQ1dgJCLQhS/61b0gAbUcKJYuXYqXlxfTpk0zvaYoCgsXLqRdu3YEBAQwaNAgzp07Z/a+zMxMJkyYQPPmzWnevDkTJkwgMzPTrMzZs2cZOHAgAQEBtG/fnsWLF6MoilmZnTt3Eh4ejp+fH+Hh4ezevdt6FyuEqJPunLhePifa4onsvVcK+GOcnuxihaEt3djSR4O7U90LElCLgeLEiRP8/e9/JyQkxOz15cuXs3LlShYvXsz+/fvRarUMGzaMnJzfxgWff/55zpw5w7Zt29i2bRtnzpzhxRdfNB3Pzs5m2LBh+Pn5sX//fhYtWsSHH37IihUrTGUSExN57rnnGDlyJIcPH2bkyJE8++yznDx50voXL4So17ZfuMXT3+rJNyiMbdOIdT29cVHbR96m6qiVQJGVlcULL7zAihUr8PL6LTorisLq1at55ZVXGDJkCB06dGD16tXk5uaybds2AM6fP88///lPPvjgA8LCwggLC2PZsmXExcWRnJwMwP/93/+Rn5/P6tWr6dChA0OGDOHll19m1apVpruK1atX0717d6ZOnUpwcDBTp07lscceY/Xq1bbvECFEvRHzYx7PH8ygRIE/P9iYvz3qhdoOMsDei1oJFKWBoEePHmavX7p0iZSUFCIiIkyvubm50a1bN44fPw7cvhNo3Lgx4eHhpjJdunTB3d3drEzXrl1xc/ttO3xkZCQ3btzg0qVLwO07mjvPU1qmtA4hhKgKRVFYeiaH1xIyUYC3O3sw72EPu8kAey9sHij+8Y9/cOHCBd588827jqWkpACg1WrNXtdqtaSmpgKQmpqKRqMx63yVSoWvr69ZmbLqKD1Weq6KziOEEJZSFIU5J7OZ969sVMDSrl689gf7SRN+r2y6PDY5OZl58+axZ88enJzqxkaT3ysd3qrL6sM1WIv0Tfkact88/Ot/y+oDgwLPfnOZnSmOqFUK89oW0V19nbrUXW3atKnwuE0DRWJiInq9ni5dupheMxgMHD16lJiYGI4dOwaATqcjKCjIVEan0+Hn5weAn58fer0eRVFM0VpRFNLS0szK6HQ6s3OX/lxaxt/fv8wypcfLU1mH2rvk5OQ6fw3WIn1TPumb237fB4UGhae/vsy3ekdc1fBpb1/6Btlvcr/qsunQ06BBgzh69CiHDx82fT300EMMHz6cw4cP07p1a/z9/YmPjze9p6CggISEBNOcRFhYGLm5uSQmJprKJCYmkpeXZ1YmISGBgoICU5n4+HiaNm1KixYtAHjkkUfMzlNa5s65DyGEKE9esZHR/9Tzrd4RDycVO/ree5BIScvg5bmrGfvae7w8dzWpaZmVv8kGbBoovLy86NChg9lXo0aN8Pb2pkOHDqhUKqKjo1m+fDm7du0iKSmJSZMm4e7uzogRIwAIDg6mT58+vPrqqyQmJpKYmMirr75Kv379TNF+xIgRuLm5MWnSJJKSkti1axcffPABkyZNMt2FTJw4kUOHDrFs2TJ++uknli5dyuHDh4mOjrZllwgh6qDMQiPD4vTsv16It5PC7gG+dAtwued6ayqvVE2zuxQeL7/8Mvn5+UybNo3MzEw6d+7Mjh07aNLkt23za9euZfr06QwfPhyAAQMG8N5775mOe3p68sUXXzB16lR69+6Nl5cXkydP5qWXXjKVCQ8PJyYmhvnz57NgwQLuv/9+YmJiePjhhxFCiPLcvGXgj3vTSMoooZm7mg/a5dJJUzNpwtOzcnD49cOsg0pVrbxS1qDKzMxUKi8m6gsZay6f9E35GnrfeP663+v0lTSGxaXxS46Btp6O7OirIf/GLzXWNy/PXc311HQcVCqMikKgnw/L59T+KEfd3E8uhBC1oP/XOn7JMRCqcSJ2oC/NGtfsoMzsyaO5z98HZ2fHKueVsia7G3oSQgh7dTPfyKMBzmyJ1ODhXPOfs/18vfjg7dq/g/g9CRRCCFGBg9cLePrDJPJKFPoHubK+lw9ujvVjI52lZOhJCCHKsftSPiP36ckrURj1gBsbIhpekAAJFEIIUaZNyXk8E59OkRFeaO/OR929carjyf2qS4aehBDid1adzWVWYhYA00ObMDO0/uRtqg4JFEII8StFUVjwfQ5LTt/ev7AgzJNJIY1ruVW1TwKFEEJw+3nYbxzP4pNzeTio4MNHvRjTxr22m2UXJFAIIRq8YqPC5MMZfH4hH2cHiOnlwxMt3Cp/YwMhgUII0aDllyg8eyCduCsFuDuq2BzpQ8/A+pcB9l5IoBBCNFjZRUZGf6vnu5tFeLuo2Pa4L521NZO3qT6RQCGEaJDSCgwM36vntL6Ypo0c2NHXl/bedfOBatYmgUII0eBczS3hj3v1/JRVwv1N1HzRz5eWTeTPYXmkZ4QQDcrPWcUMjdNzNc9AB29HdvT1JaCRurabZdckUAghGowz+iKG79WjKzASpnXm88c1eLlIgorKSKAQQjQICSmFRO3Tk12sEBHowoYIH9ydJEhYQgKFEKLe23ulgGfi08k3KAxt6caaHt64qBtuSo6qknAqhKjXtl+4xdPf6sk3KIxt04h1PSVIVJUECiFEvRXzYx7PH8ygRIE/P9iYvz3qhbqBZoC9FzL0JISodxRFYdkPucz7VzYAb3f24NWOjRt0Bth7IYFCCFGvKIrCnJPZ/O0/uaiAv3b14rl2ktzvXkigEELUGwajwitHM9mQfAtHFazp4c3wVo1qu1l1ngQKIUS9UGhQmHAonZ0XC3BVw6e9NfQNkuR+NUEChRCizssrNjJ2fzr7rxfi4aRiax8N3QJcartZ9YYECiFEnZZZaGTUPj2JuiJ8XR3Y3ldDJ41kgK1JEiiEEHXWzVsG/rg3jaSMEpq5q/myn4bWnpIBtqZJoBBC1EkXc0oYFpfGLzkG2no6sqOvhmaN5U+aNdh0w90nn3xCt27dCAoKIigoiMcff5y4uDjT8ejoaLy8vMy++vTpY1ZHYWEh06ZNo1WrVgQGBvLUU09x7do1szJXrlwhKiqKwMBAWrVqxfTp0ykqKjIrc+TIEXr27Im/vz+dOnUiJibGehcuhKhR5zKK6f+1jl9yDIRqnIgd6CtBwops2rOBgYHMnTuXBx54AKPRyJYtWxgzZgwHDhzgwQcfBKBXr16sWbPG9B5nZ/OxxpkzZxIbG8u6devw9vZm9uzZREVFcfDgQdRqNQaDgaioKLy9vYmNjSUjI4Po6GgURWHJkiUAXLx4kVGjRjFmzBg+/vhjjh07xuuvv45Go2HIkCG26xAhRJWd1BUxcl8aGYUKjwY4syVSg4ezJJmwJpsGikGDBpn9/NZbb7Fu3TpOnDhhChQuLi74+/uX+f6srCw2bNjAypUr6d27NwBr1qyhY8eOHDhwgMjISPbv38+5c+f44YcfaNasGQBz585lypQpvPXWW3h4eLB+/XoCAgJMgSM4OJiTJ0+yYsUKCRRC2LGD1wt4+tt08koU+ge5sr6XD26Ostva2motDBsMBrZv305eXh5hYWGm1xMSEmjdujWdO3dmypQp6HQ607FTp05RXFxMRESE6bVmzZoRHBzM8ePHAUhMTCQ4ONgUJAAiIyMpLCzk1KlTpjJ31lFa5vvvv6e4uNgq1yuEuDe7L+Uzcp+evBKFUQ+4sSFCgoSt2HxQ7+zZs/Tt25eCggLc3d3ZuHEjISEhAPTp04cnn3ySFi1acPnyZebPn8/gwYM5cOAALi4upKamolar0Wg0ZnVqtVpSU1MBSE1NRavVmh3XaDSo1WqzMr169bqrjpKSEvR6PQEBAVa6eiFEdWxKzuPP32ViVOCF9u4sDvfEQfI22YzNA0WbNm04fPgw2dnZ7Ny5k+joaL766is6dOjA8OHDTeVCQkIIDQ2lY8eOxMXFMXjwYFs3tUzJycm13YR7Vh+uwVqkb8pXW32z+Zojy365PVf5fFAxL/jo+O/PukreZVt1/femTZs2FR63eaBwdnamVatWAISGhvLvf/+bVatWsWLFirvKNm3alMDAQC5cuACAn58fBoMBvV6Pr6+vqZxOp6Nr166mMqXDUKX0ej0GgwE/Pz9TmTuHtErrcHR0vOtu5fcq61B7l5ycXOevwVqkb8pXG32jKAoLvs9h2S85ACwI82RSSGObtsESDeH3ptaXChiNxruWrpbS6/XcuHHDNLkdGhqKk5MT8fHxpjLXrl3j/PnzhIeHAxAWFsb58+fNlszGx8fj4uJCaGioqcyddZSWeeihh3Byks06QtQ2o6Iw/XgWS07n4KCClY952WWQaChsGijeeecdjh49yqVLlzh79ixz587lyJEjjBw5ktzcXN58800SExO5dOkShw8f5qmnnkKr1fLEE08A4OnpydixY5kzZw4HDhzg9OnTvPjii4SEhJjmHCIiImjfvj0TJ07k9OnTHDhwgLfffptx48bh4eEBwPjx47lx4wYzZszg/PnzfPrpp2zevJmXXnrJlt0hhChDsVFh4qEMPjmXh7MDfNrbhzFtJE14bbLp0FNKSgoTJkwgNTUVDw8PQkJC2LZtG5GRkeTn55OUlMTWrVvJysrC39+f7t27s379epo0aWKqY+HChajVasaPH09BQQE9evTgo48+Qq1WA6BWq/nss8+YOnUq/fv3x9XVlZEjR/Luu++a6mjZsiWff/45s2bNIiYmhoCAABYvXixLY4WoZfklCs8eSCfuSgHujio2R/rQM1AywNY2VWZmplLbjRC20xDGU6tL+qZ8tuib7CIjo7/V893NIrxdVGx73JfOWvtP7tcQfm9kz7sQotalFRgYvlfPaX0xTRs5sKOvL+29Zb7QXtT6ZLYQomG7mltC390pnNYX06gwh67Je9EY8mq7WeIOEiiEELXm56xi+semcSFXofGtdMJ+/IacG1dZsGpLbTdN3EGGnoQQteKMvojhe/XoCox45+l4KPmfOBmKQKVCn5lT280Td5A7CiGEzSWkFPLEN2noCoxEBLowID0RdUkhcHsPhY9nk0pqELYkdxRCCIukpGWwYOVW0rNy8PFswuzJo/Hz9apyPXuvFPBMfDr5BoWhLd1Y08ObrM6jWLBqC/rM3+oW9kMChRDCIgtWbuV6ajoOKhXXU9NZsGoLH7wdXaU6tl+4xYuHMihRYGybRnzQzQu1gwo/X68q1yVsR4aehBAWSc/KMWVsdajGPELMj3k8f/B2kPjzg43526O3g4SwfxIohBAW8fFsglG5vT+3KvMIiqKw9EwOryVkogBvd/Zg3sMeqCRNeJ0hgUIIYZHZk0dzn78Pzs6OBPr5WDSPoCgKc05mM+9f2aiApV29eO0PTSRI1DEyRyGEsEhV5xEMRoVXjmayIfkWjipY08Ob4a0aWbGFwlokUAhh52pqtZEtFRoUJhxKZ+fFAlzV8GlvDX2DJLlfXSVDT0LYudLVRkVFJabVRvYsr9jI6H/q2XmxAA8nFTv6+kqQqOPkjkIIO3evq41sKbPQyKh9ehJ1Rfi6OrC9r4ZOGvvPACsqJncUQti56q42srWbtwwM/EZHoq6IZu5q9gz0lSBRT0igEMLOVWe1ka1dzClhQKyOpIwS2no6smegL609JU14fSFDT0LYOXvftXwuo5hhcWnczDcSqnFiW18Nvq7q2m6WqEESKIQQ1XZSV8TIfWlkFCo8GuDMlkgNHs4yUFHfWPx/9Ouvv2bjxo2mny9fvszjjz9Os2bNGDduHLm5uVZpoBDCPh28XsCQPbeDRP8gV7Y97itBop6y+P/q+++/j16vN/08e/Zsrl+/zjPPPMPRo0dZtGiRVRoohLA/uy/lM3KfnrwShVEPuLEhwgc3R9ltXV9ZHCh++eUXQkJCAMjPz2ffvn385S9/4S9/+Qtvv/02X331ldUaKYSwH5uS83gmPp0iI7zQ3p2PunvjJMn96jWL5ygKCwtxdb29aSYxMZGSkhJ69+4NQOvWrbl586Z1WiiEsBurzuYyKzELgOmhTZgZKnmbGgKLA0Xz5s05duwYjz32GF9//TWhoaF4enoCoNPp8PDwsFojhRCVs2aqD0WBv/w7myWnb2/2WxDmyaSQxjVSt7B/Fg89PfvssyxatIhevXqxbt06xo4dazp24sQJgoODrdJAIYRlrJXqw6govH/BiSWnc3BQwcrHvCRINDAW31FER0fj6+tLYmIiL774IqNH/7bpJzc3lzFjxlilgUIIy1gj1UexUWHy4Qw+v+GEswPE9PLhiRZu91yvqFssChRFRUWsW7eOnj17MnLkyLuOf/DBBzXeMCFE1fh4NjE9qrQmUn3klyg8eyCduCsFuDkobH3cl56BktyvIbJo6MnZ2Zm5c+eSkZFh7fYIIaqpJlN9ZBcZGbEvjbgrBXi7qFjdsVCCRANm8RxF27ZtuXjx4j2d7JNPPqFbt24EBQURFBTE448/TlxcnOm4oigsXLiQdu3aERAQwKBBgzh37pxZHZmZmUyYMIHmzZvTvHlzJkyYQGZmplmZs2fPMnDgQAICAmjfvj2LFy9G+TWpWqmdO3cSHh6On58f4eHh7N69+56uTYjaVprqY8PS6SyfE13tiey0AgNP7knju5tFNG3kQOwALSFNjDXcWlGXWBwoZs2axZIlSzh79my1TxYYGMjcuXM5ePAg8fHx9OjRgzFjxvCf//wHgOXLl7Ny5UoWL17M/v370Wq1DBs2jJyc38Zan3/+ec6cOcO2bdvYtm0bZ86c4cUXXzQdz87OZtiwYfj5+bF//34WLVrEhx9+yIoVK0xlEhMTee655xg5ciSHDx9m5MiRPPvss5w8ebLa1yZEfXA1t4SBsWmc1hdzfxM13wzU0t5bkvs1dKrMzEyl8mIwYMAAfv75Z9LT02nevDkBAQHmFalUxMbGVrkBLVu2ZM6cOTz77LO0a9eOF154galTpwK3N/a1adOGd999l/Hjx3P+/HnCw8PZs2cPXbp0ASAhIYEBAwZw4sQJ2rRpw7p163jnnXf46aefcHO7Pem2ZMkSYmJiSEpKQqVSMX78eDIyMvjyyy9N7RgyZAi+vr6sW7euytdQlyQnJ9OmTZvaboZdauh983NWMUPj9FzNM9DB25EdfX0JaHQ7uV9D75uKNIS+sfiOwsHBgeDgYLp27cp9992HWq02+3JwqFqOF4PBwPbt28nLyyMsLIxLly6RkpJCRESEqYybmxvdunXj+PHjwO07gcaNGxMeHm4q06VLF9zd3c3KdO3a1RQkACIjI7lx4waXLl0Cbi/nvfM8pWVK6xCioTmjL2JAbBpX8wyEaZ2JHaA1BQkhLF4e+/XXX9fICc+ePUvfvn0pKCjA3d2djRs3EhISYvojrdVqzcprtVpu3LgBQGpqKhqNxmwnqEqlwtfXl9TUVFOZwMDAu+ooPdayZUtSUlLKPE9pHUI0JAkphUTt05NdrBAR6MKGCB/cnSS5n/iNzdOMt2nThsOHD5Odnc3OnTuJjo6uU3mikpOTa7sJ96w+XIO1NLS++S7dgTd+dKHQqKKPbwlzW97i+sWyVzc2tL6pirreN5UNnVUpUFy/fp0VK1Zw9OhR0tPT2bp1Kx06dGDVqlWEhYXx8MMPV1qHs7MzrVq1AiA0NJR///vfrFq1yjQvodPpCAoKMpXX6XT4+fkB4Ofnh16vR1EU012FoiikpaWZldHpdGbnLP25tIy/v3+ZZUqPV6Suj0U2hPHU6mpofbP9wi2mnsugRIFxbRuxrKsX6nKS+zW0vqmKhtA3Ft9fnjt3jm7duvHZZ58REBDA1atXKSoqAuDKlSt89NFH1WqA0WikqKiIFi1a4O/vT3x8vOlYQUEBCQkJpjmJsLAwcnNzSUxMNJVJTEwkLy/PrExCQgIFBQWmMvHx8TRt2pQWLVoA8Mgjj5idp7TMnXMfQtRnMT/m8fzB20FiyoONWd6t/CAhhMWB4s033yQ4OJjTp0+zceNGs30J4eHhnDhxotI63nnnHY4ePcqlS5c4e/Ysc+fO5ciRI4wcORKVSkV0dDTLly9n165dJCUlMWnSJNzd3RkxYgQAwcHB9OnTh1dffZXExEQSExN59dVX6devnymijxgxAjc3NyZNmkRSUhK7du3igw8+YNKkSaa7kIkTJ3Lo0CGWLVvGTz/9xNKlSzl8+DDR0fb7uEkhaoKiKCw9k8NrCZkowNudPZj7sIdkgBUVsnjo6dixY6xdu5bGjRtjMBjMjlkpTAeNAAAgAElEQVQ6EZySksKECRNITU3Fw8ODkJAQtm3bRmRkJAAvv/wy+fn5TJs2jczMTDp37syOHTto0uS3VARr165l+vTpDB8+HLi9bPe9994zHff09OSLL75g6tSp9O7dGy8vLyZPnsxLL71kKhMeHk5MTAzz589nwYIF3H///cTExFg0dCZEXaUoCnNOZvO3/+SiAv7a1Yvn2rnXdrNEHWBxoKho+aterzc9q6Iiq1evrvC4SqVi5syZzJw5s9wyXl5efPzxxxXWExISwjfffFNhmSFDhjBkyJAKywhRXxiMCq8czWRD8i0cVbCmhzfDWzWq7WaJOsLioaf/+Z//YdOmTWUe+/LLL2V8Xwg7VWhQeO5gOhuSb+Gqhs2RGgkSokosvqOYNm0aQ4cOZdiwYYwYMQKVSsXBgwf56KOP+Oqrr6q1K1sIYV15xUbG7k9n//VCPJxUbO2joVuAS203S9QxFt9RPPbYY2zatIlLly7x0ksvoSgK77zzDgkJCWzatEnG94WwM5mFRobF6dl/vRBfVwd2D/CVICGqpUr7KPr160e/fv24cOECOp0OHx+fer9+WIi66OYtA3/cm0ZSRgnN3NV82U9Da09J7ieqx+I7isWLF5tSabRq1Yrw8HBTkLh58yaLFy+2TguFEFVyMaeEAbE6kjJKaOvpyJ6BvhIkxD2pUqC4fv16mcckUAhhH85lFNP/ax2/5BgI1TgRO9CXZo1tnqlH1DMW/wb9/sE/d8rMzMTFRcY+hahNJ3VFjNyXRkahwqMBzmyJ1ODhLMn9xL2rMFAcPnyYQ4cOmX5ev349e/bsMStTUFDA3r17adeunXVaKISo1MHrBTz9bTp5JQr9g1xZ38sHN0fZbS1qRoWB4rvvvuP9998Hbm+GK2sfhbOzM8HBwTL0JEQt2X0pnz8dSKfICKMecGPlY944Sd4mUYMqDBQzZsxgxowZAHh7e7Nv3z5ZBiuEHdmUnMefv8vEqMAL7d1ZHO6Jg+RtEjXM4jmKjIyyc9QLIWrHqrO5zErMAmB6aBNmhjaR5H7CKiye6dq4cSMLFy4s89jChQvZvHlzjTVKCFE+RVGYdSTFFCQeyfgPzwcZJUgIq7E4UHz00Uf4+PiUeUyr1Vaa8E8Ice+MisL041msSi4BxciDF4/g9d+TLFi1pbabJuoxi4eefvnll3JXNrVt25aLFy/WVJuEEGUoNipMPpzB5xfycTAa+MOFg/hnXQGVCn1mTm03T9RjFgcKtVpNenp6mcf0en2NNUiI+iYlLYMFK7eSnpWDj2cTZk8ejZ+vV5XqyC9RePZAOnFXCnB3VPHoteMomZdBpcKoKPh4Nqm8EiGqyeKhp86dOxMTE1PmsZiYGB566KEaa5QQ9cmClVu5nppOUVEJ11PTqzxMlF1kZMS+NOKuFODtomJXf19WPP849/n74OzsSKCfD7Mnj7ZS64Wowh3F66+/ztChQ4mMjGTcuHE0bdqUGzdu8Omnn3L69Gm++OILa7ZTiDorPSvHtGTVoYrDRGkFBobv1XNaX0zTRg7s6OtLe28nwJkP3pZH9wrbsDhQPPbYY/zjH/9g5syZvPLKK6bXmzdvzqeffkr37t2t0kAh6jofzyZcT03HoYrDRFdzS/jjXj0/ZZVwfxM1X/TzpWUTydskbK9Kv3WDBg1i0KBBJCcnk56ejkajoXXr1tZqmxD1wuzJo1mwagv6zN/mKCrzc1YxQ+P0XM0z0MHbkR19fQlopLZBa4W4W7U+nsgzKERdUBOTyDXBz9erSsNEZ/RFDN+rR1dgJEzrzOePa/BykeR+ovZUOVD88MMP/PzzzxQUFNx1bPRomVAT9qN0EtlBpTJNItt6XL+qwSohpZCofXqyixUiAl3YEOGDu5MECVG7LA4UmZmZREVFceLECeC3tON37gaVQCHsyb1MIteUqgSrvVcKeCY+nXyDwtCWbqzp4Y2LWnZbi9pncaB49913SU9PJzY2lgEDBrBx40Y8PDzYuHEjJ06cKHfprBC1pbqTyDU5ZGVpsNp+4RYvHsqgRIFxbRuxrKsXaskAK+yExfe03377La+99hqPPPIIAPfddx/du3dnzZo19OrVS1J4CLsze/Loau01uNd9D3fy8WyC8de77/KCVcyPeTx/8HaQmPJgY5Z3kyAh7IvFdxQpKSm0bNkStVqNq6srOTm/fTJ68sknee6556zSQCGqq6qTyKVqasgqJS2D/IJCzl+4DKgI79TOLFgpisKyH3KZ969sAN7u7MGrHRtLcj9hdyy+o/Dz8yMr63a2yqCgINNcBcCFCxdqvmVC1BJL7gIssWDlVjKy82j/QAuCWwXh3sjFNISlKApzTmYz71/ZqIClXb147Q+SJlzYJ4vvKLp06cLJkyfp378/UVFRLF68mMuXL+Po6MiWLVsYMGCANdspRI2pbA6iOvseylLenYnBqPDK0Uw2JN/CUQVrengzvFWje78wIazE4kAxY8YMbty4AcCUKVNIT0/niy++4NatWwwYMID33nvPao0UoiZVthKpukNWv1fWZHqhQWHCoXR2XizAVQ2f9tbQN8j1ns8lhDVZPPR0//33061bNwCcnJz4y1/+QlJSEhcvXmTt2rXlPqviTkuXLqV3794EBQXxwAMPEBUVRVJSklmZ6OhovLy8zL769OljVqawsJBp06bRqlUrAgMDeeqpp7h27ZpZmStXrhAVFUVgYCCtWrVi+vTpFBUVmZU5cuQIPXv2xN/fn06dOsnKrQbCVstmfz+Z/uqLTzH6n3p2XizAw0nFjr6+EiREnWDRHUVRURFt27Zl1apVDBw4sNonO3LkCH/605/4n//5HxRFYcGCBQwdOpTjx4/j7e1tKterVy/WrFlj+tnZ2dmsnpkzZxIbG8u6devw9vZm9uzZREVFcfDgQdRqNQaDgaioKLy9vYmNjSUjI4Po6GgURWHJkiUAXLx4kVGjRjFmzBg+/vhjjh07xuuvv45Go2HIkCHVvkZh/6q7bLaq7rwzySw0MmqfnkRdEb6uDmzvq6GTxrmSGoSwDxYFCmdnZxwdHXF1vbdPPzt27DD7ec2aNTRv3pxjx46ZzXG4uLjg7+9fZh1ZWVls2LCBlStX0rt3b1M9HTt25MCBA0RGRrJ//37OnTvHDz/8QLNmzQCYO3cuU6ZM4a233sLDw4P169cTEBBgChzBwcGcPHmSFStWSKCo52pqDsJSN28Z+OPeNJIySmjmrubLfhpaezpZ9ZxC1CSLh54GDRrEzp07a/Tkubm5GI1GvLzMNzMlJCTQunVrOnfuzJQpU9DpdKZjp06dori4mIiICNNrzZo1Izg4mOPHjwOQmJhIcHCwKUgAREZGUlhYyKlTp0xl7qyjtMz3339PcXFxjV6nsC+ln/Q3LJ3O8jnRVs3/dDGnhAGxOpIySmjr6ciegb4SJESdY/Fkdp8+fZgxYwbjxo1j0KBBBAQE3FWmZ8+eVTr5jBkz6NixI2FhYWbnefLJJ2nRogWXL19m/vz5DB48mAMHDuDi4kJqaipqtRqNRmNWl1arJTU1FYDU1FS0Wq3ZcY1Gg1qtNivTq1evu+ooKSlBr9eXeX0AycnJVbpGe1QfrsFaarJv/pun4qWzLqQVOdC+sYHl7W6RfyObutr78ntTvrreN5UlerU4UIwbNw6A69evs3v3btPrKpUKRVFQqVTlPiq1LLNmzeLYsWPs2bMHtfq39MnDhw83fR8SEkJoaCgdO3YkLi6OwYMHW1y/tdT1zLnJycl1/hqspSb75qSuiOgTaaRP7gDAldR0PJzrbnI/+b0pX0PoG4sDxZ3B4V7NnDmTHTt2sHv3blq2bFlh2aZNmxIYGGja1Ofn54fBYECv1+Pr62sqp9Pp6Nq1q6lM6TBUKb1ej8FgwM/Pz1TmziGt0jocHR3vulsRoioOXi/g6W/TyStRTK/V5SAhRJWecFcT3njjDb744gt2795N27ZtKy2v1+u5ceOGaXI7NDQUJycn4uPjGTlyJADXrl3j/PnzhIeHAxAWFsb777/PtWvXuO+++wCIj4/HxcWF0NBQU5mvvvrK7Fzx8fE89NBDODnJGLKont2X8vnTgXSKjDDqAbfabo4QNcKmz1WcOnUqn332GRs3bsTLy4uUlBQA3N3dady4Mbm5uSxatIjBgwfj7+/P5cuXmTdvHlqtlieeeAIAT09Pxo4dy5w5c9BqtablsSEhIaY5h4iICNq3b8/EiROZP38+GRkZvP3224wbNw4PDw8Axo8fzyeffMKMGTMYP348x48fZ/Pmzaxdu9aWXSJqmK0eVlTWefZlOPHn7zIxKvBCe3cWh3vW+HmFqA2qzMxMpfJit507d45PP/20zAcXqVQqdu3aVeH7f7+6qdQbb7zBzJkzyc/PZ8yYMZw5c4asrCz8/f3p3r07s2fPNlvBVFhYyJtvvsm2bdsoKCigR48e/PWvfzUrc+XKFaZOncqhQ4dwdXVl5MiRvPvuu7i4uJjKHDlyhFmzZvHjjz8SEBDAK6+8Uu+TG9b38dSX56422yNxn7+Pxbusq9I3vz9P5gMPc8L7QQCmhzZhZujtvE2ev/7OZ2VmVu+C7ER9/725Fw2hbyy+ozh58iSDBg2iefPm/Pe//yUkJITMzEyuXr3Kfffdx/33319pHZmV/GNxc3O7a69FWVxcXFiyZIlpD0RZgoKC+Oyzzyqs57HHHuPQoUOVnk/UHbbadV16HgX4b+BDXPg1SCwI82RSSGOrnFOI2mLxDNu8efN48sknOXbsGIqi8OGHH/LDDz/w5ZdfYjAYmDp1qjXbKYRFairzqyXnMSgKPwaFcSGwEypFYeVjXhIkRL1kcaA4e/Yso0aNMqVBNhqNwO29E1OnTmXevHnWaaEQVVDdhxVV1fTop7jQvg+X/drjoBhY8YgrY9q4W+VcQtQ2i4eeiouLadSoEQ4ODnh7e3Pz5k3TsdatW3Pu3DmrNFA0DDU1CV1TmV8rkl+i8NoZIxfcm+HuqGJzpB89A2s3uZ+tJvFFw1Sl7LGlacZDQkLYuHEjRqMRo9HIpk2bTPsThKiOmnz8qDVlFxkZsS+NuCsFeLuo2NXf16pBIiUtg5fnrmbsa+/x8tzVpKaVPc9XV/pP1E0WB4r+/ftz5MgRAF5//XX++c9/EhQURMuWLdm2bRuTJ0+2WiNF/ZeelcPeTUvYs/E9q05C34u0AgNP7knju5tFNG3kQOwALZ211s0Aa2kAsNUkvmiYLB56mjlzpun7Xr16sW/fPnbv3s2tW7fo06fPXQn2hKiKOyedrTkJXV1Xc0v44149P2WVcH8TNV/086Vlk9/++Vhr6MfSAGCr1OmiYar2hrtOnTrRqVOnmmyLaMBmTx4Ny25/GLHmJHR1/qD/nFXM0Dg9V/MMdPB2ZEdfXwIaqc3KVPbUvOq2y9IAYOvU6aJhkQQ0wi7c+cfamqm/qzqWf0ZfxIDYNK7mGQjTOhM7QHtXkIB7H/opr12WruKyZep00fBYfEdRVFTE0qVL2b59O1evXqWwsNDsuEqlQq/X13gDhahJVfmDnpBSSNQ+PdnFChGBLmyI8MHdqezPVvc69FNeu2yxikuIylgcKN566y3Wrl1rel7E7x9PKkRdYOkf9L1XCngmPp18g8LQlm6s6eGNi1pVbr33OvQjcwzCnlkcKHbt2sXMmTNlB7ao0yz5g779wi1ePJRBiQLj2jZiWVcv1A6qCuc37vWTv8wxCHtmcaDIy8vjkUcesWZbhLC6yv6gx/yYx+sJmSjAlAcbM/dhD1M2gnudsL6XdglRm6q0j+Lo0aPWbIsQtUZRFNZfceS1X4PE2509zIIEyF4F0XBVeEdx8eJF0/cTJkxg4sSJODg40LdvX7y9ve8qX9nT6oSwNUuWwyqKwpyT2ay65IwK+GtXL55rd3feJplHEA1Vhc+j8Pb2NvtEpfyalfPO10pfr+ozs0XtsOfc+dZ4dkNlz6cwGBVeOZrJhuRbqFUKH/fwYXirRmXWlZqWedc8QmXLUOV5FPVfQ+ibCu8oVqxYcVdQEKIuqWi4qNCgMOFQOjsvFuCqhkXBheUGCZB5BNFwVRgoRo8eTVxcHC1atKBDhw5lljl79iyXL19mwIABVmmgqH9smenUx7MJF6+m8N9L1ykqLsbTozGpaZm4e3owdn86+68X4uGkYmsfDdqcy1ZpgxB1XYWT2Z999hnPP/88jRqV/ymrcePGvPDCC2zbtq3GGyfqJ1tmOp09eTQ3UvUUFpfg7OREU60Pc1ZvY1icnv3XC/F1dWD3AF+6BbhUXpkQDVSFdxSff/45Tz/9dIWT1C1atGDMmDFs2bKFESNG1HT7RD1ky9VDfr5eBD8QRFFRCQCFjm58pelCjq6IZu5qvuynobWnk9XOL0R9UOEdxenTpy3KCturVy++//77GmuUqN9s9bjS35/vlnNjjgf3J8fNm7aejuwZ6EtrTyfTMx+mv7ehwmc+CNFQVRgocnNz8fKqfOzYy8uL3NzcGmuUqN9s9bjSO8/X6L4WJLYbQL6rBw96OhA70JdmjW/fUJcOhRWXGOShP0KUocKhJ41Gw5UrV+jatWuFlVy9ehWNRlOjDRP1l61XD11WGnGoZQSFhQqPBjizJVKDh/Nvn5FkI50QFavwjqJLly5s2VL5p6vNmzfTpUuXGmuUEDXl4PUChuxJI6NQoX+QK9se9zULEmD7oTAh6poKA0V0dDQHDx5k5syZFBUV3XW8uLiYGTNmcOjQISZNmmS1RgpRkfKeK737Uj4j9+nJK1EY9YAbGyJ8cHO8e19Q6VCYk6PaJkNhQtQ1Fe7MBli1ahVvvvkmPj4+REREEBQUBMCVK1eIj48nPT2d+fPnEx0tG5HqAnveRVrdXcxl7b5+ZPQ4/vxdJkYFXmjvzuJwT9PwUnms0TeyM7v+awh9U2n22EmTJtGpUyeWL1/OV199RX5+PgBubm489thjvPLKK3Tr1s3qDRWiPL+fYzihDuTvR27/YZ4e2oSZoU1qJcNASloGnr9+//Lc1VbdWCiENVmUZvzRRx/l0UcfxWg0mp5i5+Pjg1p99yMhhbC10mR9KpWK5Kad+CUwFIAFYZ5MCmlca+1asHIrf//1+5pOSy6ELVXpmdkODg5otVq0Wm21gsTSpUvp3bs3QUFBPPDAA0RFRZGUlGRWRlEUFi5cSLt27QgICGDQoEGcO3fOrExmZiYTJkygefPmNG/enAkTJpD5u1v7s2fPMnDgQAICAmjfvj2LFy82JTUstXPnTsLDw/Hz8yM8PJzdu3dX+ZpE7Zs9eTSB/j781KILvwSG4gCsfMyrVoME3L7T6f+/0+n/v9NlNZWo06oUKO7VkSNH+NOf/kRcXBy7du3C0dGRoUOHkpGRYSqzfPlyVq5cyeLFi9m/fz9arZZhw4aRk/PbP7Lnn3+eM2fOsG3bNrZt28aZM2d48cUXTcezs7MZNmwYfn5+7N+/n0WLFvHhhx+yYsUKU5nExESee+45Ro4cyeHDhxk5ciTPPvssJ0+etE1niBrj7eNJfs8oLvoG4+wAn0b4MKbN3WnCbU1WU4n6otLJbGvKzc2lefPmbNq0iQEDBqAoCu3ateOFF14wPXI1Pz+fNm3a8O677zJ+/HjOnz9PeHg4e/bsMS3JTUhIYMCAAZw4cYI2bdqwbt063nnnHX766Sfc3NwAWLJkCTExMSQlJaFSqRg/fjwZGRl8+eWXpvYMGTIEX19f1q1bZ/vOsBF7nnirzsRvfonCswfSibtSgLujis2RPvQMdK3W+Wu6b6qTltxe2fPvTW1rCH1j0zuK38vNzcVoNJp2f1+6dImUlBSztCFubm5069aN48ePA7fvBBo3bkx4eLipTJcuXXB3dzcr07VrV1OQAIiMjOTGjRtcunQJgBMnTtyVniQyMtJUh7B/2UVGRuxLI+5KAd4uKnb19612kLCG0o2FG5ZOZ/mc6DobJISw+JnZ1jBjxgw6duxIWFgYACkpKQBotVqzclqtlhs3bgCQmpqKRqMxW8WiUqnw9fUlNTXVVCYwMPCuOkqPtWzZkpSUlDLPU1pHeZKTk6t6mXbHXq/h4V//a0n7Mophyn9c+THPAa2zkQ87FOKReYnke1yFaq99Yw+kb8pX1/umsjuiWgsUs2bN4tixY+zZs6dOrZ6q67eYdeE2ubL2Xc0t4em9epLzSri/iZov+vnTssm9/yrXhb6pLdI35WsIfVMrQ08zZ85k+/bt7Nq1yyyFub+/PwA6nc6svE6nw8/PDwA/Pz/0er3ZCiZFUUhLSzMrU1YdpcdKz1XReYR9+jmrmP6xaSRnldDB25FvBmprJEgIIcpn80DxxhtvmIJE27ZtzY61aNECf39/4uPjTa8VFBSQkJBgmpMICwsjNzeXxMREU5nExETy8vLMyiQkJFBQUGAqEx8fT9OmTWnRogUAjzzyiNl5SsvcOfch7MsZfREDYtO4mmcgTOtM7AAtAY3qzt2oEHWVTQPF1KlT2bx5M5988gleXl6kpKSQkpJiSlGuUqmIjo5m+fLl7Nq1i6SkJCZNmoS7u7vpoUjBwcH06dOHV199lcTERBITE3n11Vfp16+f6fZvxIgRuLm5MWnSJJKSkti1axcffPABkyZNMs1tTJw4kUOHDrFs2TJ++uknli5dyuHDhyUViZ1KSCnkiW/S0BUYiQh04Yt+GrxcanUthhANhk2Xx5b3bIs33niDmTNnAreHkRYtWsTf//53MjMz6dy5M++//77ZM7szMzOZPn0633zzDQADBgzgvffeM6v/7NmzTJ06lX//+994eXkxfvx43njjDbNJ8J07dzJ//nwuXrzI/fffz5tvvsngwYOtcel2w57HU8tbHrv3SgHPxKeTb1AY2tKNNT28cVHXfEoOe+6b2iZ9U76G0De1uo9C2J49/1KXFSi2X7jFi4cyKFFgXNtGLOvqhdrBOnmb7Llvapv0TfkaQt/IvbuwWzE/5vH8wdtBYsqDjVnezXpBQghRPlkuIuyOoigs+yGXef/KBmBOZw9e/cPd6S9S0jJYsHIr6Vl1f+ezEPZM7iiE3ZlzMpt5/8pGBSzt6lVmkIDfnnVdVFRy17Ouy3uYkRCi6iRQCLvzt//k4qiCtT29ea5d+cn9KnrWdUVBRAhRNRIohF0oNPy2psJVDZsjNQxv1ajC91SUnbWiICKEqBoJFKLW5RUbGf1PPaplZ/FckcSOvr70Dao8uV/ps66dnR3veta1pPgWoubIZLaoVZmFRkbt05OoK8LX1YHtfTV00jhb9N7S7KxlmT159F0pvoUQ1SOBQtSam7cM/HFvGkkZJTRzV/NlPw2tPZ2qVVdZK6DksaNC1AwZehK14mJOCQNidSRllNDW05E9A32rHSRAJq+FsCa5oxA2dy6jmGFxadzMNxKqcWJbXw2+rveW3E8mr4WwHrmjEDZ1UlfEwG903Mw38miAM7v6+95zkACZvBbCmuSOQlSoJnY/l9ZxvqQRJ1v2osTBkf5Brqzv5YObY82k5Jg9eTRv/vXvHDv1I6Dg7eFOalqm7NQWogbIHYWoUE2M/S9YuZVTRY053rI3JQ6OtMq7woaImgsScHsFlJurC8Gtgmj/QAsysvNknkKIGiKBQlSoJsb+T6u0nH6gF4qDmuap5+hw4RBOVkjuJ/MUQliHBApRoXsd+191NpdTQV1B5cAD10/R9vJxNFaaP5B5CiGsQwKFqFBFu58roigKf/l3NrMSswB4JOM/dNCf5b4q1GGrtgohKiaT2aJMv5/E/uusCRZPDBsVhTeOZ/HJuTwcVPDho16MadMP6GfVNle0U1sIUX1yRyHKVN1J7GKjwsRDGXxyLg9nB/i0tw9j2pSfAVYIYf/kjkKUqToTw/klCs8eSCfuSgHujio2R/rQM7Dy5H5CCPsmdxSiTFWdGM4uMjJiXxpxVwrwdlGxq7+vBAkh6gkJFKJMVZkYTisw8OSeNL67WUTTRg7EDtDSWWtZBlghhP2ToSdRJksnhq/mljBsr57krBLub6Lmi36+tGwiv1ZC1CfyL1pU289ZxQyN03NlQjsAzl/XE9Do3vM2CSHsiwSKBq66uZzO6IsYvlePrsBoek2ChBD1k8xRNHDVWQabkFLIE9+koSswEhHoYoNWCiFqkwSKBq6qy2D3Xingj3F6sosVhrZ0Y0sfjS2aKYSoRTL01MD5eDbhemo6DipVpctgt1+4xYuHMihRYFzbRizr6oXaCsn9KlMTqc+FEJaz+R3Fd999x1NPPUX79u3x8vJi06ZNZsejo6Px8vIy++rTp49ZmcLCQqZNm0arVq0IDAzkqaee4tq1a2Zlrly5QlRUFIGBgbRq1Yrp06dTVFRkVubIkSP07NkTf39/OnXqRExMjHUu2o5Zugw25sc8nj94O0hMebAxy7vVTpAAeeypELZm8zuKvLw8OnTowOjRo5k4cWKZZXr16sWaNWtMPzs7m6/JnzlzJrGxsaxbtw5vb29mz55NVFQUBw8eRK1WYzAYiIqKwtvbm9jYWDIyMoiOjkZRFJYsWQLAxYsXGTVqFGPGjOHjjz/m2LFjvP7662g0GoYMGWK9DrAzlS2DVRSFZT/kMu9f2QDM6ezBq3+o3ayskk5cCNuyeaDo27cvffv2BWDSpElllnFxccHf37/MY1lZWWzYsIGVK1fSu3dvANasWUPHjh05cOAAkZGR7N+/n3PnzvHDDz/QrFkzAObOncuUKVN466238PDwYP369QQEBJgCR3BwMCdPnmTFihUNKlBURFEU5pzM5m//yUUF/LWrF8+1q/28TVUZLhNC3Du7nMxOSEigdevWdO7cmSlTpqDT6UzHTp06RXFxMREREabXmjVrRnBwMMePHwcgMTGR4OBgU5AAiIyMpLCwkFOnTpnK3FlHaZnvv/+e4uJia15enWAwKkz5LpO//ScXRxWs7eltF0ECJJ24ELZmd+ddmjsAABcKSURBVJPZffr04cknn6RFixZcvnyZ+fPnM3jwYA4cOICLiwupqamo1Wo0GvPVNlqtltTUVABSU1PRarVmxzUaDWq12qxMr1697qqjpKQEvV5PQEBAme1LTk6uoSutPZVdQ5ER3j7vzLd6R1wcFBa3K+QPhmuU97aHLay3Jk0e/du8VVaGjqwMXQWlLVcf/v9ai/RN+ep637Rp06bC43YXKIYPH276PiQkhNDQUDp27EhcXByDBw+uxZbdVlmH2rvk5OQKryGv2MjY/ens1xfi4aRiax9fugVYtlfiznrr4sqkyvqmIZO+KV9D6Bu7HHq6U9OmTQkMDOTChQsA+Pn5YTAY0Ov1ZuV0Oh1+fn6mMncOVwHo9XoMBkOFZXQ6HY6OjnfdrTQUmYVGhsXp2X+9EF9XB3YPqDxIpKRlmL5/ee5qUtMyAVmZJER9YveBQq/Xc+PGDdPkdmhoKE5OTsTHx5vKXLt2jfPnzxMeHg5AWFgY58+fN1syGx8fj4uLC6GhoaYyd9ZRWuahhx7CycnJ2pdld27eMjDwGx2JuiKauavZM9CXTprKM8AuWLnV9P2dAUFWJglRf9h86Ck3N9d0d2A0Grl69SpnzpzB29sbb29vFi1axODBg/H39+fy5cvMmzcPrVbLE088AYCnpydjx45lzpw5aLVa0/LYkJAQ05xDREQE7du3Z+LEicyfP5+MjAzefvttxo0bh4eHBwDjx4/nk08+YcaMGYwfP57jx4+zefNm1q5da+suqXUXc0oYFpfGLzkG2no6sqOvhmaNLfvVSM/Kof//Tgduf+ooDQi/X5nk6uzMy3NX16mhKCHEbTa/o/j+++/p0aMHPXr0ID8/n4ULF9KjRw8WLFiAWq0mKSmJp59+mocffpjo6Ghat27N3r17adLktyWQCxcuZNCgQYwfP57+/fvj7u7O1q1bUatvJ6VTq9V89tlnNGrUiP79+zN+/HiefPJJ5s+fb6qjZcuWfP755xw9epTu3bvz/vvvs3jx4ga3NPZcRjH9v9bxS46BUI0TsQN9LQ4SUP4Djn6/MkmlQoaihKijVJmZmUptN0LYzp0Tbyd1RYzc9//t3X1UVPW+x/H38CSI4uAwgCKIz4LRySdAPQeOkihamakpeb1LSyU93q6cY1BZaZIJnsKHVE6pRdessxQ18Zwraok2IYne1oqrounyylHzDDAyIpOIMPv+4WFsRAYRlIf5vtbiD/b+ufeer6z9mb3377d/JZTeVBjh68KXURo8XBr23aGoxMh7G77EYLR9pTDjjyuprKyy/O7i4sSW1ITGfZgmZg8PJR+U1KZu9lCbFtfrSTwah3+u4IVvrmKqUhjr78qnv++Mm1PDX8lxvxMc2Rok1xp7SAlhT1r8w2zR9PYU3mDKAQOmKoXne7mxZVTdIaEvKeU/30ljxh9XWvVqaihbg+Skh5QQLZtcUbQh9/PNfI/ekXfPXcWswJwgd1LCOll6J91LzUncQaWynMTv5wribrauPKSHlBAtm1xRtCH1fTPfcLKcZWfbYVYg4YmOrKwnJODRnMTreiAuhGgZJCjakLpO6oqisPyHMt7IuwbAe6GdeGOgB6p6QgIezUlc3t0kRMsmt57akHs9MDYrColHr7GxwISDCt7sfZP5Azrc9zYX/yG2Vq+mpna/D8SFEM1DgqINufuknjBvGi9/W8q28zdwcYBPft+ZfpWXGrRNOYkLISQo2pBfn9RvVCnMPHSVfRcrcHdS8UVUZyK7utb5BlghhKiLBEUbVFZpJvYbAzn/rMSznYqM0V4M1tb/3iYhhLgXCYo2pqSimkn7DfxouEWX9g7sjPYiyNP+XnIohGg6EhRtyKXyKibuN3D2WhU9OjqyMdSZv6zdZDWuQgghGkq6x7YR567dYux/l3D2WhXBnk7sHadly6fbZMSzEKLR5IqiDcg3VDJpv4HiCjOhWhe2jdagbucgI56FEE1CrihauVz9TZ7aW0JxhZlRXduxa8ztkAAZ8SyEaBoSFK3Y/osVPLfPQNkthWcD3fjySQ3uznf+S2XEsxCiKcitp1Zqx/lfiPu2lCoF/r1ve1YNU+PoYP1KjnsNlrtWaj1PuBBC1EeuKFqhT06bmH34dki88lgH1gyvHRJCCNFU5IqiFVEUhVX/W86y/ykDYMlgD+Ifl+cOQoiHS4KilVAUhSXHy1h7ohwV8MEwNS/2d7/vf18zV8U/Ll0hoFsXmUVOCHHf5NZTM2nIzHHVZoVXcoysPVGOkwo2RXo2KCTgzlwVt6qqZUyFEKJBJCiayf1O/3mzWuHFw1fZcvYXXB3hiygNk3q2b/D+ZEyFEOJBSVA0k/s5cZtumYn92sDuCxV4OKvYGe1FtL/rA+1PxlQIIR6UBEUzqe/EbbxpZuI+Awd/vomXqwN7YrwY7tvugfdXM6bC2clRxlQIIRpEHmY3E1szx/3zl2qe21/CqdIqurk78tUYDb07Ne4NsDVjKs6ePUufPn0ae/hCCDsiQdFM6po57sL1KibuK+H/rlfTt5MTO6M1dOsg/01CiOYjZ6AWpKD0FhP3lfDPG2ae0DiTEa3By9WxuQ9LCGHnJChaiOPFlUw5UELpTYURvi58GaXBw0UeIQkhmt8jPxPl5OQwbdo0goKCUKvVbN261Wq9oiisWLGC/v374+vry/jx4ykoKLBqYzQamTt3LgEBAQQEBDB37lyMRutxCCdPnmTcuHH4+voSFBRESkoKyr8eHtfYvXs3YWFheHt7ExYWxp49ex7Oh67H4Z8rmJB1OyTG+ruSMdqr0SHRkHEaQghhyyMPCpPJRHBwMMnJybi5udVav2bNGtavX09KSgoHDx5Eq9UyceJErl+/03109uzZ5Ofnk5GRQUZGBvn5+cTFxVnWl5WVMXHiRLy9vTl48CDJycl8+OGHrFu3ztImLy+PF198kSlTpqDT6ZgyZQozZ87k+PHjD7cAd9lTeIMpBwyYqhSe7+XGllGdcXNq/Hub7nechhBC1OeR33qKjo4mOjoagPnz51utUxSFtLQ0Fi5cyIQJEwBIS0ujT58+ZGRkMGvWLM6cOcPXX39NVlYWoaGhAKxatYqYmBhLj57t27dz48YN0tLScHNzIzg4mJ9++okNGzawYMECVCoVaWlp/O53v2PRokUA9OvXD51OR1paGps3b34ktdh61sR/5BgxKzAnyJ2UsE6WsRWNJQPshBBNpUXdBC8sLESv1zNq1CjLMjc3N4YPH87Ro0eB21cCHTp0ICwszNImPDwcd3d3qzbDhg2zumKJioriypUrFBYWAnDs2DGr/dS0qdnGw7bhZDl/+O52SCQ80ZGVTRgSIAPshBBNp0U9zNbr9QBotVqr5VqtlitXrgBQVFSERqNB9auTqkqlwsvLi6KiIkubrl271tpGzbrAwED0ev0991OzjbqcPXv2AT7ZHYoCH/3Dmc0Xb4+LiO9RyZQOes6d0zdqu3eLHRfGR1/ux3j9Fzp1bE/suDDLsTf2M7RlUpu6SW3q1tprU9/YqhYVFK1BYwarmRWFxKPX2HzRhIMKPhyhZnqfhr3c7371AcKHDqq1XAbc1U1qUzepTd3soTYt6taTj48PAMXF1rOwFRcX4+3tDYC3tzcGg8GqB5OiKJSUlFi1udc2atbV7MvWfpraLbPCy9+WsrHAhIsD/NfIzg8tJIQQoim1qKDo3r07Pj4+ZGdnW5ZVVFSQm5treSYRGhpKeXk5eXl5ljZ5eXmYTCarNrm5uVRUVFjaZGdn06VLF7p37w7A0KFDrfZT0+bXzz6ayo0qhX87eJVt52/g7qRi+2gNT3Wv3eNLCCFaokceFOXl5eTn55Ofn4/ZbObSpUvk5+dz8eJFVCoV8+bNY82aNWRmZnLq1Cnmz5+Pu7s7kydPBm73TnryySeJj48nLy+PvLw84uPjGTNmjOXyb/Lkybi5uTF//nxOnTpFZmYmq1evZv78+ZZnGy+//DLffvstq1at4qeffiI1NRWdTse8ebVfq9EYZZVmJh8oYd/FCjzbqcgc60Vk1wd7A6wQQjQHldFoVOpv1nR0Oh1PP/10reWxsbGkpaWhKArJycmkp6djNBoZPHgw77//PsHBwZa2RqORhIQE9u7dC0BMTAwrV65Erb4zY9vJkydZtGgRP/zwA2q1mlmzZpGYmGj1EHz37t28++67XLhwgR49evDmm2/yzDPPNNlnLamoZtJ+Az8abtGlvQM7o70I8mzcy/0ayx7upz4oqU3dpDZ1s4faPPKgsCcf/HidpB/K6NHRkV1jvAjs2Px9B+zhj/pBSW3qJrWpmz3UpvnPXG1Y/OMduGlWeLGfO77t5eV+QojWSYLiIXJQqXhjoEdzH4YQQjRKi+r1JIQQouWRoBBCCGGTBIUQQgibJCiEEELYJEEhhBDCJgkKIYQQNklQCCGEsEmCQgghhE0SFEIIIWySoBBCCGGTvBRQCCGETXJFIYQQwiYJCiGEEDZJUAghhLBJgkIIIYRNEhRCCCFskqBo5XJycpg2bRpBQUGo1Wq2bt1qtV5RFFasWEH//v3x9fVl/PjxFBQUWLUxGo3MnTuXgIAAAgICmDt3Lkaj8VF+jIciNTWVkSNH4u/vT69evZg6dSqnTp2yamOv9dm4cSPDhw/H398ff39/Ro8ezb59+yzr7bUu95KamoparebVV1+1LLO3+khQtHImk4ng4GCSk5Nxc3OrtX7NmjWsX7+elJQUDh48iFarZeLEiVy/ft3SZvbs2eTn55ORkUFGRgb5+fnExcU9yo/xUHz33Xe89NJL7Nu3j8zMTJycnHj22WcpLS21tLHX+nTt2pV33nmHw4cPk52dTUREBNOnT+fEiROA/dblbseOHSM9PZ0BAwZYLbe3+sg4ijbEz8+PlStXMn36dOD2t57+/fszZ84cFi1aBMCNGzfo06cPSUlJzJo1izNnzhAWFkZWVhbh4eEA5ObmEhMTw7Fjx9rUpPHl5eUEBASwdetWYmJipD53CQwMZMmSJcycOVPqAly7do3IyEjWrl1LSkoKwcHB/PnPf7bLvxu5omjDCgsL0ev1jBo1yrLMzc2N4cOHc/ToUQDy8vLo0KEDYWFhljbh4eG4u7tb2rQV5eXlmM1m1Go1IPWpUV1dzY4dOzCZTISGhkpd/mXhwoVMmDCBiIgIq+X2WB+n5j4A8fDo9XoAtFqt1XKtVsuVK1cAKCoqQqPRoFKpLOtVKhVeXl4UFRU9uoN9BF577TVCQkIIDQ0FpD4nT54kOjqaiooK3N3d+fzzzxkwYIDlRGavdQH47LPPOH/+PB9//HGtdfb4dyNBIezCG2+8wffff09WVhaOjo7NfTgtQp8+fdDpdJSVlbF7927mzZvH3/72t+Y+rGZ39uxZli1bRlZWFs7Ozs19OC2C3Hpqw3x8fAAoLi62Wl5cXIy3tzcA3t7eGAwGFOXOoypFUSgpKbG0ae1ef/11duzYQWZmJoGBgZbl9l4fFxcXevbsyRNPPMGSJUsICQlhw4YNdl+XvLw8DAYD4eHhaDQaNBoNOTk5bNq0CY1GQ+fOnQH7qo8ERRvWvXt3fHx8yM7OtiyrqKggNzfXcu80NDSU8vJy8vLyLG3y8vIwmUxW91dbq8TEREtI9O3b12qd1Mea2WymsrLS7usyfvx4jhw5gk6ns/wMHDiQSZMmodPp6N27t93Vx/G1115b2twHIR5ceXk5p0+fRq/Xs2XLFoKDg/Hw8KCyspJOnTpRXV3N6tWr6dWrF9XV1SxevBi9Xs/q1atp164dXl5eHD9+nIyMDEJCQrh8+TLx8fEMGjSo1Xblq7Fo0SL++te/kp6eTrdu3TCZTJhMJuD2t2mVSmW39Vm6dCkuLi6YzWYuX75MWloa27ZtY+nSpZZa2GNdAFxdXdFqtVY/27dvJyAggOnTp9vl3410j23ldDodTz/9dK3lsbGxpKWloSgKycnJpKenYzQaGTx4MO+//z7BwcGWtkajkYSEBPbu3QtATEwMK1eutPQOaq3qOv7ExERef/11ALutz7x589DpdBQVFeHh4cGAAQN45ZVXiIqKAuy3LnUZP368pXss2F99JCiEEELYJM8ohBBC2CRBIYQQwiYJCiGEEDZJUAghhLBJgkIIIYRNEhRCCCFskqAQ4j5s3boVtVpt+enWrRsjRozg448/pqqqqkn2odPpUKvV6HS6Frk9Yb/kpYBCNMBnn31G165duX79Ol999RUJCQkUFxezePHiRm/7N7/5DQcOHKBfv35NcKRCNB0JCiEaICQkhJ49ewIwatQozp8/z0cffdSooKiurkZRFDw8PBg6dGhTHaoQTUZuPQnRCIMGDaKsrMzyJtH09HRGjBiBj48PPXv2ZMGCBVZTr8LtV4skJSWxatUqHn/8cbRaLSdPnrznrSJFUVi/fj1DhgxBq9XSr18/Xn31VcrKyqy2WVJSwuzZs/H39ycgIIC4uDiuXbtW63i/+eYboqOjCQgIwM/PjyFDhpCSkvIQKiPaErmiEKIRCgsLcXR0xN3dnaVLl7Ju3Tri4uJISkri559/Zvny5RQUFLB//36reTC++OILAgMDSUpKwt3dnS5dutQ6+QMkJSWRmprKnDlzGDt2LKdPn+a9997jxIkT/P3vf8fB4fZ3vRkzZnDixAneeustevXqxc6dO0lMTLTa1oULF4iNjWXChAkkJCTg7OzM+fPnuXDhwkOtkWj9JCiEaIDq6mqqqqooLy9n165d7Nmzh7Fjx1JcXMzatWtJTEy0OkH37t2bsWPHsnfvXp566inLckVR2LlzJ25ubpZlZ86csdpXaWkp69atIzY21vIyuqioKLy8vIiLiyMrK4tx48aRnZ1Nbm4umzdvZtKkSZZ2kydP5vLly5bt/fjjj1RWVvLBBx/g4eEBQGRkZNMXSbQ5cutJiAYYOnQoXl5eBAYG8qc//YkpU6awfv16Dh06hNls5vnnn6eqqsryM2TIEDp27MiRI0esthMVFWUVEvdy7NgxKisrmTp1qtXySZMm4eTkRE5ODnB7ngNHR0eeeeYZq3bPPfec1e8hISE4Ozvz0ksvsXv37loT7whRF7miEKIBPv/8c/z8/OjQoQP+/v64uroCd2Y7Gzhw4D3/3dWrV61+9/X1rXdfNc82amacq+Hk5ETnzp0t6/V6PWq1uta0nXfPpNazZ0927NjBmjVriIuL4+bNmwwePJilS5fy29/+tt7jEfZLgkKIBggODrb0evq1mukxd+3adc/5Bjw9Pa1+V6lU9e6r5t8UFRURFBRkWV5VVcXVq1ct6318fDAajdy6dcsqLIqKimptMyIigoiICG7evMn333/PihUrmDp1Kvn5+Wg0mnqPSdgnCQohmsDIkSNxcHDg4sWLjBw5skm2OXToUFxcXNixY4fVs4SdO3dSVVVluQoIDQ2lurqazMxMyzOKmnZ1adeuHZGRkZhMJl544QUKCwslKESdJCiEaAI9evRg4cKFJCQkcO7cOUaMGIGrqyuXLl3i0KFDzJgxg4iIiAZt09PTkwULFpCamkr79u2Jjo7mzJkzLF++nGHDhjFmzBjgdkgNGzaM+Ph4DAaDpddTQUGB1fY++eQTjhw5wujRo/Hz88NgMLBq1Sq6dOlidcUixN0kKIRoIm+//TZ9+/Zl06ZNbNq0CZVKhZ+fH5GRkfTq1euBtvnWW2+h0Wj49NNP2bx5M507d2batGm8/fbblq6xAFu2bCExMZFly5bh4OBgmXZz+vTpljaPPfYYBw4cYNmyZRQXF+Pp6Ul4eDgbN26s98G6sG8yFaoQQgibpHusEEIImyQohBBC2CRBIYQQwiYJCiGEEDZJUAghhLBJgkIIIYRNEhRCCCFskqAQQghhkwSFEEIIm/4f08R7cYW8JesAAAAASUVORK5CYII=\n", "text/plain": [ "