Skip to content

Instantly share code, notes, and snippets.

@edisoncastro01
Created November 7, 2020 15:16
Show Gist options
  • Save edisoncastro01/0ea90b5213ffacf1e41c346dafe65bfb to your computer and use it in GitHub Desktop.
Save edisoncastro01/0ea90b5213ffacf1e41c346dafe65bfb to your computer and use it in GitHub Desktop.
Created on Skills Network Labs
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<center>\n",
" <img src=\"https://s3-api.us-geo.objectstorage.softlayer.net/cf-courses-data/CognitiveClass/Logos/organization_logo/organization_logo.png\" width=\"300\" alt=\"cognitiveclass.ai logo\" />\n",
"</center>\n",
"\n",
"# Model Evaluation and Refinement\n",
"\n",
"Estimated time needed: **30** minutes\n",
"\n",
"## Objectives\n",
"\n",
"After completing this lab you will be able to:\n",
"\n",
"- Evaluate and refine prediction models\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h1>Table of content</h1>\n",
"<ul>\n",
" <li><a href=\"#ref1\">Model Evaluation </a></li>\n",
" <li><a href=\"#ref2\">Over-fitting, Under-fitting and Model Selection </a></li>\n",
" <li><a href=\"#ref3\">Ridge Regression </a></li>\n",
" <li><a href=\"#ref4\">Grid Search</a></li>\n",
"</ul>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This dataset was hosted on IBM Cloud object click <a href=\"https://cocl.us/DA101EN_object_storage\">HERE</a> for free storage.\n"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"# Import clean data \n",
"path = 'https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-DA0101EN-SkillsNetwork/labs/Data%20files/module_5_auto.csv'\n",
"df = pd.read_csv(path)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"df.to_csv('module_5_auto.csv')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" First lets only use numeric data \n"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Unnamed: 0</th>\n",
" <th>Unnamed: 0.1</th>\n",
" <th>symboling</th>\n",
" <th>normalized-losses</th>\n",
" <th>wheel-base</th>\n",
" <th>length</th>\n",
" <th>width</th>\n",
" <th>height</th>\n",
" <th>curb-weight</th>\n",
" <th>engine-size</th>\n",
" <th>...</th>\n",
" <th>stroke</th>\n",
" <th>compression-ratio</th>\n",
" <th>horsepower</th>\n",
" <th>peak-rpm</th>\n",
" <th>city-mpg</th>\n",
" <th>highway-mpg</th>\n",
" <th>price</th>\n",
" <th>city-L/100km</th>\n",
" <th>diesel</th>\n",
" <th>gas</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>3</td>\n",
" <td>122</td>\n",
" <td>88.6</td>\n",
" <td>0.811148</td>\n",
" <td>0.890278</td>\n",
" <td>48.8</td>\n",
" <td>2548</td>\n",
" <td>130</td>\n",
" <td>...</td>\n",
" <td>2.68</td>\n",
" <td>9.0</td>\n",
" <td>111.0</td>\n",
" <td>5000.0</td>\n",
" <td>21</td>\n",
" <td>27</td>\n",
" <td>13495.0</td>\n",
" <td>11.190476</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>3</td>\n",
" <td>122</td>\n",
" <td>88.6</td>\n",
" <td>0.811148</td>\n",
" <td>0.890278</td>\n",
" <td>48.8</td>\n",
" <td>2548</td>\n",
" <td>130</td>\n",
" <td>...</td>\n",
" <td>2.68</td>\n",
" <td>9.0</td>\n",
" <td>111.0</td>\n",
" <td>5000.0</td>\n",
" <td>21</td>\n",
" <td>27</td>\n",
" <td>16500.0</td>\n",
" <td>11.190476</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>122</td>\n",
" <td>94.5</td>\n",
" <td>0.822681</td>\n",
" <td>0.909722</td>\n",
" <td>52.4</td>\n",
" <td>2823</td>\n",
" <td>152</td>\n",
" <td>...</td>\n",
" <td>3.47</td>\n",
" <td>9.0</td>\n",
" <td>154.0</td>\n",
" <td>5000.0</td>\n",
" <td>19</td>\n",
" <td>26</td>\n",
" <td>16500.0</td>\n",
" <td>12.368421</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>2</td>\n",
" <td>164</td>\n",
" <td>99.8</td>\n",
" <td>0.848630</td>\n",
" <td>0.919444</td>\n",
" <td>54.3</td>\n",
" <td>2337</td>\n",
" <td>109</td>\n",
" <td>...</td>\n",
" <td>3.40</td>\n",
" <td>10.0</td>\n",
" <td>102.0</td>\n",
" <td>5500.0</td>\n",
" <td>24</td>\n",
" <td>30</td>\n",
" <td>13950.0</td>\n",
" <td>9.791667</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>2</td>\n",
" <td>164</td>\n",
" <td>99.4</td>\n",
" <td>0.848630</td>\n",
" <td>0.922222</td>\n",
" <td>54.3</td>\n",
" <td>2824</td>\n",
" <td>136</td>\n",
" <td>...</td>\n",
" <td>3.40</td>\n",
" <td>8.0</td>\n",
" <td>115.0</td>\n",
" <td>5500.0</td>\n",
" <td>18</td>\n",
" <td>22</td>\n",
" <td>17450.0</td>\n",
" <td>13.055556</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 21 columns</p>\n",
"</div>"
],
"text/plain": [
" Unnamed: 0 Unnamed: 0.1 symboling normalized-losses wheel-base \\\n",
"0 0 0 3 122 88.6 \n",
"1 1 1 3 122 88.6 \n",
"2 2 2 1 122 94.5 \n",
"3 3 3 2 164 99.8 \n",
"4 4 4 2 164 99.4 \n",
"\n",
" length width height curb-weight engine-size ... stroke \\\n",
"0 0.811148 0.890278 48.8 2548 130 ... 2.68 \n",
"1 0.811148 0.890278 48.8 2548 130 ... 2.68 \n",
"2 0.822681 0.909722 52.4 2823 152 ... 3.47 \n",
"3 0.848630 0.919444 54.3 2337 109 ... 3.40 \n",
"4 0.848630 0.922222 54.3 2824 136 ... 3.40 \n",
"\n",
" compression-ratio horsepower peak-rpm city-mpg highway-mpg price \\\n",
"0 9.0 111.0 5000.0 21 27 13495.0 \n",
"1 9.0 111.0 5000.0 21 27 16500.0 \n",
"2 9.0 154.0 5000.0 19 26 16500.0 \n",
"3 10.0 102.0 5500.0 24 30 13950.0 \n",
"4 8.0 115.0 5500.0 18 22 17450.0 \n",
"\n",
" city-L/100km diesel gas \n",
"0 11.190476 0 1 \n",
"1 11.190476 0 1 \n",
"2 12.368421 0 1 \n",
"3 9.791667 0 1 \n",
"4 13.055556 0 1 \n",
"\n",
"[5 rows x 21 columns]"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df=df._get_numeric_data()\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Libraries for plotting \n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"%%capture\n",
"! pip install ipywidgets"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"from ipywidgets import interact, interactive, fixed, interact_manual"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Functions for plotting</h2>\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def DistributionPlot(RedFunction, BlueFunction, RedName, BlueName, Title):\n",
" width = 12\n",
" height = 10\n",
" plt.figure(figsize=(width, height))\n",
"\n",
" ax1 = sns.distplot(RedFunction, hist=False, color=\"r\", label=RedName)\n",
" ax2 = sns.distplot(BlueFunction, hist=False, color=\"b\", label=BlueName, ax=ax1)\n",
"\n",
" plt.title(Title)\n",
" plt.xlabel('Price (in dollars)')\n",
" plt.ylabel('Proportion of Cars')\n",
"\n",
" plt.show()\n",
" plt.close()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"def PollyPlot(xtrain, xtest, y_train, y_test, lr,poly_transform):\n",
" width = 12\n",
" height = 10\n",
" plt.figure(figsize=(width, height))\n",
" \n",
" \n",
" #training data \n",
" #testing data \n",
" # lr: linear regression object \n",
" #poly_transform: polynomial transformation object \n",
" \n",
" xmax=max([xtrain.values.max(), xtest.values.max()])\n",
"\n",
" xmin=min([xtrain.values.min(), xtest.values.min()])\n",
"\n",
" x=np.arange(xmin, xmax, 0.1)\n",
"\n",
"\n",
" plt.plot(xtrain, y_train, 'ro', label='Training Data')\n",
" plt.plot(xtest, y_test, 'go', label='Test Data')\n",
" plt.plot(x, lr.predict(poly_transform.fit_transform(x.reshape(-1, 1))), label='Predicted Function')\n",
" plt.ylim([-10000, 60000])\n",
" plt.ylabel('Price')\n",
" plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h1 id=\"ref1\">Part 1: Training and Testing</h1>\n",
"\n",
"<p>An important step in testing your model is to split your data into training and testing data. We will place the target data <b>price</b> in a separate dataframe <b>y</b>:</p>\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"y_data = df['price']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"drop price data in x data\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"x_data=df.drop('price',axis=1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now we randomly split our data into training and testing data using the function <b>train_test_split</b>. \n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"number of test samples : 21\n",
"number of training samples: 180\n"
]
}
],
"source": [
"from sklearn.model_selection import train_test_split\n",
"\n",
"\n",
"x_train, x_test, y_train, y_test = train_test_split(x_data, y_data, test_size=0.10, random_state=1)\n",
"\n",
"\n",
"print(\"number of test samples :\", x_test.shape[0])\n",
"print(\"number of training samples:\",x_train.shape[0])\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The <b>test_size</b> parameter sets the proportion of data that is split into the testing set. In the above, the testing set is set to 10% of the total dataset. \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #1):</h1>\n",
"\n",
"<b>Use the function \"train_test_split\" to split up the data set such that 40% of the data samples will be utilized for testing, set the parameter \"random_state\" equal to zero. The output of the function should be the following: \"x_train_1\" , \"x_test_1\", \"y_train_1\" and \"y_test_1\".</b>\n",
"\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"number of test samples : 81\n",
"number of training samples: 120\n"
]
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"x_train1, x_test1, y_train1, y_test1 = train_test_split(x_data, y_data, test_size=0.4, random_state=0) \n",
"print(\"number of test samples :\", x_test1.shape[0])\n",
"print(\"number of training samples:\",x_train1.shape[0])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"x_train1, x_test1, y_train1, y_test1 = train_test_split(x_data, y_data, test_size=0.4, random_state=0) \n",
"print(\"number of test samples :\", x_test1.shape[0])\n",
"print(\"number of training samples:\",x_train1.shape[0])\n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's import <b>LinearRegression</b> from the module <b>linear_model</b>.\n"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.linear_model import LinearRegression"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" We create a Linear Regression object:\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [],
"source": [
"lre=LinearRegression()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we fit the model using the feature horsepower \n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lre.fit(x_train[['horsepower']], y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's Calculate the R^2 on the test data:\n"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.36358755750788263"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lre.score(x_test[['horsepower']], y_test)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"we can see the R^2 is much smaller using the test data.\n"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.6619724197515104"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lre.score(x_train[['horsepower']], y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #2): </h1>\n",
"<b> \n",
"Find the R^2 on the test data using 90% of the data for training data\n",
"</b>\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.7340722810055448"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"x_train1, x_test1, y_train1, y_test1 = train_test_split(x_data, y_data, test_size=0.1, random_state=0)\n",
"lre.fit(x_train1[['horsepower']],y_train1)\n",
"lre.score(x_test1[['horsepower']],y_test1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"x_train1, x_test1, y_train1, y_test1 = train_test_split(x_data, y_data, test_size=0.1, random_state=0)\n",
"lre.fit(x_train1[['horsepower']],y_train1)\n",
"lre.score(x_test1[['horsepower']],y_test1)\n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Sometimes you do not have sufficient testing data; as a result, you may want to perform Cross-validation. Let's go over several methods that you can use for Cross-validation. \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2>Cross-validation Score</h2>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Lets import <b>model_selection</b> from the module <b>cross_val_score</b>.\n"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.model_selection import cross_val_score"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We input the object, the feature in this case ' horsepower', the target data (y_data). The parameter 'cv' determines the number of folds; in this case 4. \n"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"Rcross = cross_val_score(lre, x_data[['horsepower']], y_data, cv=4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The default scoring is R^2; each element in the array has the average R^2 value in the fold:\n"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([0.7746232 , 0.51716687, 0.74785353, 0.04839605])"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Rcross"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" We can calculate the average and standard deviation of our estimate:\n"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The mean of the folds are 0.522009915042119 and the standard deviation is 0.291183944475603\n"
]
}
],
"source": [
"print(\"The mean of the folds are\", Rcross.mean(), \"and the standard deviation is\" , Rcross.std())"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can use negative squared error as a score by setting the parameter 'scoring' metric to 'neg_mean_squared_error'. \n"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([20254142.84026702, 43745493.2650517 , 12539630.34014931,\n",
" 17561927.72247591])"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"-1 * cross_val_score(lre,x_data[['horsepower']], y_data,cv=4,scoring='neg_mean_squared_error')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #3): </h1>\n",
"<b> \n",
"Calculate the average R^2 using two folds, find the average R^2 for the second fold utilizing the horsepower as a feature : \n",
"</b>\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.5166761697127429"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Write your code below and press Shift+Enter to execute \n",
"\n",
"Rc=cross_val_score(lre,x_data[['horsepower']], y_data,cv=2)\n",
"Rc.mean()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"Rc=cross_val_score(lre,x_data[['horsepower']], y_data,cv=2)\n",
"Rc.mean()\n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"You can also use the function 'cross_val_predict' to predict the output. The function splits up the data into the specified number of folds, using one fold for testing and the other folds are used for training. First import the function:\n"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.model_selection import cross_val_predict"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We input the object, the feature in this case <b>'horsepower'</b> , the target data <b>y_data</b>. The parameter 'cv' determines the number of folds; in this case 4. We can produce an output:\n"
]
},
{
"cell_type": "code",
"execution_count": 26,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([14141.63807508, 14141.63807508, 20814.29423473, 12745.03562306,\n",
" 14762.35027598])"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"yhat = cross_val_predict(lre,x_data[['horsepower']], y_data,cv=4)\n",
"yhat[0:5]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h1 id=\"ref2\">Part 2: Overfitting, Underfitting and Model Selection</h1>\n",
"\n",
"<p>It turns out that the test data sometimes referred to as the out of sample data is a much better measure of how well your model performs in the real world. One reason for this is overfitting; let's go over some examples. It turns out these differences are more apparent in Multiple Linear Regression and Polynomial Regression so we will explore overfitting in that context.</p>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's create Multiple linear regression objects and train the model using <b>'horsepower'</b>, <b>'curb-weight'</b>, <b>'engine-size'</b> and <b>'highway-mpg'</b> as features.\n"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lr = LinearRegression()\n",
"lr.fit(x_train[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']], y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Prediction using training data:\n"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 7426.6731551 , 28323.75090803, 14213.38819709, 4052.34146983,\n",
" 34500.19124244])"
]
},
"execution_count": 28,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"yhat_train = lr.predict(x_train[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']])\n",
"yhat_train[0:5]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Prediction using test data: \n"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([11349.35089149, 5884.11059106, 11208.6928275 , 6641.07786278,\n",
" 15565.79920282])"
]
},
"execution_count": 29,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"yhat_test = lr.predict(x_test[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']])\n",
"yhat_test[0:5]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's perform some model evaluation using our training and testing data separately. First we import the seaborn and matplotlibb library for plotting.\n"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"import seaborn as sns"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's examine the distribution of the predicted values of the training data.\n"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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21zvl/ls90FsvsM0YDpW9x6XBalkH+eLnIcVf84mOn3hve/gbKbwHO99sRdnyGe7r4e2+2FRtxURSTTOuV+BF7z3rwUdS2k56yrzO1ApzkeCpBChIwkveO9bFnljkTIq4UeOvfebgYXOuTMhu31VRN0IQodtw/0B6wNHATNjFqyISBQ55452zjUKlVVchLVGi2S0MyE5Wyq9orPWU48BnysxDlao9Glw6H+sKVZqMjzouESClHDJsXPuHeywUltnza7/iLU2+aOzRSJmYIc/I9EOmBi63w9YKxslxyKSLNpiNYybsMP4f/DeZwQbUqlciZWtzMcO2+etEZb4c1hZwwasrGIWxagHFymLYlpW4Zz7M1YL5LHamUsiaI8iIiIiIhKImI0chw7PXA909953wJbIPafwe4mIiIiIBKc0K3RFuv0qzrndWN+/Qnv11a9f37dq1SrGIYmIiIhIefbbb7+t9d43yO+6mCXH3vvlzrknsGb524Fvvfff5r2dc+4KQmuXt2jRgokTJ8YqJBERERERnHMFrs4ay7KKOtjEudbY0ofVnHPn572d9/4l73137333Bg3yTeBFREREROIilt0qBmIrCq3x3u/GmnofGcP9iYiIiIiUSiyT4yVAr9Cynw44FmsRIyIiIiKSkGJZc/yrc+5DbOnDPVj/xJditT8RERFJLrt372bZsmXs2KEurxIblStXplmzZqSlpUV8n5h2q/De34uttiMiIiKSy7Jly6hRowatWrXCDjKLRI/3nnXr1rFs2TJat24d8f0SboU8ERERKR927NhBvXr1lBhLTDjnqFevXrGPTCg5FhERkcAoMZZYKsn/l5JjEREREZEQJcciIiIiIiFKjkVERKRcGz58OM45Zs+eXeRtn3rqKbZt21bifb3++utcd911uS5btGgRzZo1IysrK9flXbp0Yfz48fluZ9GiRXTo0KHEcUTik08+4YEHHuChhx6iS5cudOnShdTU1Oyfn3766Yi2c9lllzFz5sxCb/Pss8/y2muvRSPsUlNyLCIiIuXaO++8Q58+fXj33XeLvG1pk+P8tGrViubNm/Pzzz9nXzZ79mwyMzPp2bNnVPdVHI8//jjXXHMNd955J1OmTGHKlClUqVIl++frr78esK4QeRP7nF5++WXat29f6L4uvfTSiJPtWFNyLCIiIsG78Ubo3z+6pxtvLHK3W7ZsYfTo0bzyyiu5kuO9e/dy880307FjRzp16sQzzzzD008/zYoVKxgwYAADBgwAoHr16tn3+fDDD7n44osB+PzzzzniiCPo2rUrAwcOZNWqVYXGMWzYsFz7f/fddxk2bBiLFi2ib9++dOvWjW7dujFmzJj97pt3NPrkk0/mxx9/BODbb7+ld+/edOvWjTPPPJMtW7YAcNttt9G+fXs6derEzTffvN82586dS6VKlahfv36+8S5atIh27dpxzTXX0K1bN5YuXcrVV19N9+7dOeyww7j33n2dfPv378/EiROzH68777yTzp0706tXr+zHpWrVqrRq1arAkfJ4UnIsIiIi5dYnn3zCiSeeyCGHHELdunWZNGkSAC+99BILFy5k8uTJTJs2jfPOO4/rr7+eJk2a8MMPP/DDDz8Uut0+ffowbtw4Jk+ezDnnnMPjjz9e6O3POussPvnkE/bs2QPAe++9xznnnMMBBxzAiBEjmDRpEu+99172aG0k1q5dy4MPPsjIkSOZNGkS3bt355///Cfr169n+PDhzJgxg2nTpnHXXXftd9/Ro0fTrVu3Qrc/Z84cLrzwQiZPnkzLli156KGHmDhxItOmTeOnn35i2rRp+91n69at9OrVi6lTp9KvXz/+85//ZF/XvXv3XKPnQYnpIiAiIiIiEXnqqUB2+84773BjaIT5nHPO4Z133qFbt26MHDmSq666igoVLFWqW7dusba7bNkyzj77bDIyMti1a1eRi1A0atSIww47jO+++46GDRuSlpZGhw4d2LRpE9dddx1TpkwhNTWVuXPnRhzDuHHjmDlzJkcddRQAu3btonfv3tSsWZPKlStz2WWXcdJJJ3HyySfvd9+MjAwaNGhQ6PZbtmxJr169sn9///33eemll9izZw8ZGRnMnDmTTp065bpPxYoVs/d3+OGHM2LEiOzrDjjggIjqvmNNybGIiIiUS+vWreP777/n999/xznH3r17cc7x+OOP472PqEduztvkXGziT3/6EzfddBOnnHIKP/74I/fdd1+R2wqXVjRs2JBhw4YB8OSTT9KwYUOmTp1KVlYWlStX3u9+FSpUyFXzG47De89xxx3HO++8s999xo8fz3fffce7777Ls88+y/fff5/r+ipVqrBp06ZC461WrVr2zwsXLuSJJ55gwoQJ1KlTh4svvjjfxTfS0tKyH7PU1NTskfJw3FWqVCl0n/GgsgoREREplz788EMuvPBCFi9ezKJFi1i6dCmtW7fml19+4fjjj+eFF17ITt7Wr18PQI0aNcjMzMzeRsOGDZk1axZZWVkMHz48+/JNmzbRtGlTAN54442I4jnjjDP46quvsksqwttp3LgxKSkpvPnmm+zdu3e/+7Vq1YopU6aQlZXF0qVLs+t2e/XqxejRo0lPTwdg27ZtzJ07ly1btrBp0yYGDx7MU089xZQpU/bbZrt27bLvF4nNmzdTrVo1atWqxapVq/j6668jvm/Y3LlzY96BIxJKjkVERKRceueddxg6dGiuy8444wzefvttLrvsMlq0aEGnTp3o3Lkzb7/9NgBXXHEFgwYNyp6Q9+ijj3LyySdzzDHH0Lhx4+zt3HfffZx55pn07du3wEltedWuXZtevXrRsGHD7DKMa665hjfeeINevXoxd+7cXKO1YUcddRStW7emY8eO3Hzzzdm1wg0aNOD1119n2LBhdOrUiV69emV3wTj55JPp1KkTRx99NE8++eR+2+zXrx+TJ0/Gex9R7J07d6Zr164cdthhXHrppdmlHMUxevRoBg4cWOz7RZuL9I+Oh+7du/vwbEYREREp22bNmkW7du2CDkMKcMMNNzBkyJC4JKyTJ0/mn//8J2+++WbUt53f/5lz7jfvfff8bq+RYxERERHZzx133BH1ns4FWbt2LX/729/isq+iaEKeiIiIiOynYcOGnHLKKXHZ13HHHReX/URCI8ciIiIiIiFKjkVEREREQpQci4iIiIiEqOZYJCh798LNN8PmzdCgAdSvb+fHHAPNmwcdnYiISLmkkWORoLz6qi2X+sUX8M9/wi23wMUXwxFHwJYtQUcnIlIupKam0qVLFzp06MCZZ55Zqu4MF198MR9++CEAl112GTNnzizwtj/++CNjxowp9j5atWrF2rVr99vviy++mOuyTz75hMGDB0cUayx47znmmGNYvHgxXbp0oUuXLjRq1IimTZtm/75r164itzNx4kSuv/76Qm+za9cu+vXrl2u1vdJQciwShMxMuOsu6NsXVq6EnTth40b4+mvIyIBHHw06QhGRcqFKlSpMmTKF33//nYoVK/LCCy/kuj6/Feki8fLLL9O+ffsCry9pcpyf8LLTOb377rvZS1AH4auvvqJz5860bNmSKVOmMGXKFK666ir+/Oc/Z/9esWJFgEKT2u7du/P0008Xuq+KFSty7LHH8t5770UldiXHIkF49FFYvRr+8Q9wzk61asGJJ8J558ETT8CiRUFHKSISNzfeCP37R/d0443Fi6Fv376kp6fz448/MmDAAM4991w6duzI3r17ueWWW+jRowedOnXKHqX13nPdddfRvn17TjrpJFavXp29rf79+xNe2Oybb76hW7dudO7cmWOPPZZFixbxwgsv8OSTT9KlSxd+/vln1qxZwxlnnEGPHj3o0aMHo0ePBmDdunUcf/zxdO3alSuvvDLfFesGDhzI7NmzycjIAGyZ6JEjR3LaaafxwAMP0KNHDzp06MAVV1yR7/1zjkZPnDiR/v37A7B161YuvfRSevToQdeuXfn0008BmDFjBj179qRLly506tSJefPm7bfNt956i1NPPbXAx/riiy/mpptuYsCAAfz1r39l/PjxHHnkkXTt2pUjjzySOXPmAPYl4uSTTwZs1cFLL72U/v37c+CBB+ZKmk877TTeeuutAvdXHKo5Fom3xYstKT7vPOjRY//rH3kEPv4Y/vpXiNK3YBERKdyePXv4+uuvOfHEEwEYP348v//+O61bt+all16iVq1aTJgwgZ07d3LUUUdx/PHHM3nyZObMmcP06dNZtWoV7du359JLL8213TVr1nD55ZczatQoWrduzfr166lbty5XXXUV1atX5+abbwbg3HPP5c9//jN9+vRhyZIlnHDCCcyaNYv777+fPn36cM899/Dll1/y0ksv7Rd7amoqp59+Ou+//z433HADn332GQMGDKBGjRpcd9113HPPPQBccMEFfPHFFwwZMiSix+Shhx7imGOO4dVXX2Xjxo307NmTgQMH8sILL3DDDTdw3nnnsWvXrnxH10ePHr1fqUdec+fOZeTIkaSmprJ582ZGjRpFhQoVGDlyJHfccQcfffTRfveZPXs2P/zwA5mZmbRt25arr76atLQ0OnTowIQJEyL6u4qi5Fgk3u64w0aKH344/+ubN7fE+L774LrrrPRCRKSMe+qpYPa7fft2unTpAtjI8R//+EfGjBlDz549ad26NQDffvst06ZNy67R3bRpE/PmzWPUqFEMGzaM1NRUmjRpwjHHHLPf9seNG0e/fv2yt1W3bt184xg5cmSuGuXNmzeTmZnJqFGj+PjjjwE46aSTqFOnTr73HzZsGLfccgs33HAD7777LhdeeCEAP/zwA48//jjbtm1j/fr1HHbYYREnx99++y2fffYZTzzxBAA7duxgyZIl9O7dm4ceeohly5Zx+umnc/DBB+933/Xr11OjRo1Ct3/mmWeSmpoK2GN60UUXMW/ePJxz7N69O9/7nHTSSVSqVIlKlSpxwAEHsGrVKpo1a0ZqaioVK1YkMzOzyP0WRcmxSDyNHw9vvw133gktWhR8u1tugZdftmOCEyZAiiqgRERiIVxznFe1atWyf/be88wzz3DCCSfkus1XX32Fc67Q7Xvvi7wNQFZWFmPHjqVKlSr7XRfJ/Y866igyMjKYOnUqY8aM4d1332XHjh1cc801TJw4kebNm3PfffexY8eO/e5boUIFsrKyAHJd773no48+om3btrlu365dO4444gi+/PJLTjjhBF5++eX9vhiEt5lSyOdXzsf47rvvZsCAAQwfPpxFixZll3bkValSpeyfU1NTc9Ur79y5k8qVKxe4v0jpE1ckXryHm26Chg1tZLgwVavCY4/BpEnwxhvxiU9ERPJ1wgkn8Pzzz2ePZs6dO5etW7fSr18/3n33Xfbu3UtGRgY//PDDfvft3bs3P/30EwsXLgRsRBWgRo0aZGZmZt/u+OOP59lnn83+PZyw9+vXL7uW9uuvv2bDhg35xuic46yzzuKiiy5i8ODBVK5cOTvRrV+/Plu2bCmwO0WrVq347bffAHKVMpxwwgk888wz2XXKkydPBmDBggUceOCBXH/99ZxyyilMmzZtv222bduWBQsW5Lu//GzatImmTZsC8Prrr0d8v7B169bRoEED0tLSin3fvJQci8TLl1/C6NHwt79BJId8hg2DXr2sDKMUrYVERKR0LrvsMtq3b0+3bt3o0KEDV155JXv27GHo0KEcfPDBdOzYkauvvpqjjz56v/s2aNCAl156idNPP53OnTtz9tlnAzBkyBCGDx+ePSHv6aefZuLEiXTq1In27dtnd8249957GTVqFN26dePbb7+lRSFHHYcNG8bUqVM555xzAKhduzaXX345HTt25LTTTqNHfvNcQvu44YYb6Nu3b3aZA9ho7u7du+nUqRMdOnTg7rvvBuC9996jQ4cOdOnShdmzZ2eXcOR00kkn8eOPP0b2AAO33nort99+O0cddVSJOoT88MMPhbauKw6X36zFoHTv3t2HZ3aKlDmXXw4ffABr10KFCCuaRo6E446DDz+EM86IbXwiInE2a9Ys2rVrF3QYEgMZGRlceOGFjBgxIi77O/3003nkkUf2KwGB/P/PnHO/ee+757ctjRyLxIP3MGIEDBgQeWIM1ouoXj3rXiEiIpIkGjduzOWXX87mzZtjvq9du3Zx2mmn5ZsYl4SSY5F4SE+3Fm7HHVe8+1WoAKeeaqvoRbCSkIhIskmkI9gSXWeddRY1a9aM+X4qVqyYb2kHlOz/S8mxSDyEDysVNzkGGDoUNm+G77+PbkwiIgGrXLky69atU4IsMeG9Z926dcXuYKFWbiLxMHIktGwJbdoU/74DB0L16lZaEWpOLyJSFjRr1oxly5axZs2aoEORMqpy5co0a9asWPdRciwSa3v22KjvH/5gi38UV+XKcNJJ8Omn8PzzkGMmsYhIMktLS8teHEMkUaisQiTWJk6ETZtKVlIRNnQorF4NY8ZELy4RERHZj5JjkVgbOdJGjI89tuTbGDwYKlZU1woREZEYU3IsEmsjRkDXrlC/fsm3UaMGHH88DB9ubeFEREQkJpQci8TSli0wdmzpSirChg61dnCh5TtFREQk+pQci8TSTz/B7t3WcaK0TjkFUlJs9FhERERiQsmxSCyNHGndJvr0Kf226teHo49W3bGIiEgMKTkWiaURI6BvX0uQo2HoUJg5E+bMic72REREJBclxyKxsmIFzJgRnXrjsKFD7fyzz6K3TREREcmm5FgkVkaOtPNoJsfNmsGhh1ots4iIiESdkmORWBk5Eho0gE6dorvdvn1h9GjIyorudkVERETJsUjMTJgARx5pHSaiqW9f2LgRfv89utsVERERJcciMbF9O8ydC507R3/bffva+ahR0d+2iIhIOafkWCQWZs2ysoeOHaO/7ZYtrfb455+jv20REZFyTsmxSCxMm2bn0a43BnDORo9//llLSYuIiESZkmORWJg2DapUgYMOis32+/WDjAxYsCA22xcRESmnlByLxML06XDYYZCaGpvth+uOVVohIiISVUqORWJh2rTYlFSEtWsHdesqORYREYkyJcci0bZqFaxeHZvJeGEpKdCnjzpWiIiIRJmSY5Fomz7dzmM5cgxWWpGeDitXxnY/IiIi5YiSY5FoC3eqiOXIMajuWEREJAaUHItE27Rp0KiRLR0dS926QdWqSo5FRESiSMmxSLRNnx77kgqAtDTo3VvJsYiISBQpORaJpj17YMaM2JdUhPXtC1OnwqZN8dmfiIhIGafkWCSa5s2DnTvjM3IMlhx7D2PGxGd/IiIiZZySY5FoilenirBevaBCBbV0ExERiRIlxyLRNG2arYrXrl189le1Khx+uOqORUREoiRmybFzrq1zbkqO02bn3I2x2p9IQpg2Ddq2hUqV4rfP3r1h0iSrdxYREZFSiVly7L2f473v4r3vAhwObAOGx2p/Iglh+vT4TcYL694dtm+HmTPju18REZEyKF5lFccC8733i+O0P5H427QJFi2KX71xWI8edj5xYnz3KyIiUgbFKzk+B3gnvyucc1c45yY65yauWbMmTuGIxMDvv9t5vJPjNm2gZk0lxyIiIlEQ8+TYOVcROAX4IL/rvfcvee+7e++7N4j1imIisRTuVBHvsoqUFJuUN2FCfPcrIiJSBsVj5HgQMMl7vyoO+xIJzrRpNoLbokX8992jhy0GsnNn/PctIiJShsQjOR5GASUVImXKtGlWUuFc/PfdvTvs3r1v9FpERERKJKbJsXOuKnAc8HEs9yMSOO+D6VQRpkl5IiIiUVEhlhv33m8D6sVyHyIJYfly2LwZOnQIZv8tW0K9ekqORURESkkr5IlEw/z5dt6mTTD7d85GjzUpT0REpFSUHItEQzg5Puig4GLo3h1mzIBt24KLQUREJMkpORaJhvnzITU1mE4VYd27w969MGVKcDGIiIgkOSXHItEwf77V/aalBReDJuWJiIiUmpJjkWiYPz/YkgqAJk2gcWMlxyIiIqWg5FgkGhIhOQZNyhMRESklJccipbVhg50SITnu3h3mzLG2ciIiIlJsSo5FSisROlWE9ehhC5JMnhx0JCIiIklJybFIaSVScnz44Xau0goREZESUXIsUlrh5PjAA4ONA6BBA+uaoUl5IiIiJaLkWKS05s+Hhg2hevWgIzGalCciIlJiSo5FSitROlWEde8OCxbAunVBRyIiIpJ0lByLlFaiJcfhumNNyhMRESk2JccipbFjByxfnljJcdeudq7kWEREpNiUHIuUxsKF1jotkZLjevWgeXMlxyIiIiWg5FikNBKpjVtOXbsqORYRESkBJccipZHIyfGcObB1a9CRiIiIJBUlxyKlMX++tXBr0CDoSHLr2tXKPaZNCzoSERGRpKLkWKQ0wp0qnAs6ktw0KU9ERKRElByLlEaitXELa94c6tZVciwiIlJMSo5FSmrvXutWkYjJsXOalCciIlICSo5FSmr5cti1KzGTY7DkePp02L076EhERESShpJjkZJK1E4VYd26WfI+a1bQkYiIiCQNJcciJZXoybEm5YmIiBSbkmORkpo/HypUsMlviejgg6FqVSXHIiIixaDkWKSk5s+H1q0tQU5EqanQubOSYxERkWJQcixSUonaxi2nrl1hyhTIygo6EhERkaSg5FikJLxPnuR482ZrOSciIiJFUnIsUhLr18OmTcmRHINKK0RERCKk5FikJBK9U0VYhw5WE63kWEREJCJKjkVKIlmS40qVoH17JcciIiIRUnIsUhKLFtl5q1ZBRhEZLSMtIiISMSXHIiWxdCnUrQvVqgUdSdG6doWVK+0kIiIihVJyLFISS5ZAixYx2/y6dfD11/DoozBxYik3pkl5IiIiEVNyLFISS5dGfWW8kSPhggtsYbv69WHwYLj9dujVCx54APbsKeGGu3SxcyXHIiIiRVJyLFISS5ZENTkePdqS4f/9Dw47DB55BL7/3nLws8+Ge++Ffv1gwYISbLxmTZs4qORYRESkSAm67q1IAtuyBTZujFpZxdKlcPrp0LIljB8Pderkvv6tt+Ckk+Caa2w16GeegYsuAueKsRNNyhMREYmIRo5FimvpUjuPwsjxtm1w2mmwfTt89tn+iXHYuefC1Klw+OFwySXw0kvF3FHXrtZ+btOm0oYsIiJSpik5FimuJUvsvJQjx97DpZfagO7bb0O7doXfvmVL+O47OPZYuPnmfWFEJDwpb+rUEscrIiJSHig5FimuKI0cP/oovPcePPwwnHxyZPdJTYWXX7bE+vLL7Twi6lghIiISESXHIsW1ZIkV/DZpUuJNfPMN3HknDBsGf/1r8e7bqhU89hh8+y289lqEd2rUyE5KjkVERAql5FikuJYutcQ4La1Ed/feWrQdfLCNAhdrYl3I1Vdb94qbboLlyyO8kybliYiIFEnJsUhxlbLH8ahRMGWK1Q1XrVqybaSkwCuvwK5dcOWVEZZXdO0KM2fCzp0l26mIiEg5oORYpLhKuTreU09BvXpw/vmlC6NNG3joIfjyS2v3VqSuXW0lkd9/L92ORUREyjAlxyLF4X2pRo4XLIBPP7XR3ipVSh/O9ddD7952vmFDETfWpDwREZEiKTkWKY61a2HHjhInx888Yx0nrrkmOuGkpsLzz1ti/OKLRdy4dWtbLU/JsYiISIGUHIsUR7iNWwnKKjZvtjrhs86Cpk2jF1LnznD88fCvfxVRTpySAl26KDkWEREphJJjkeIoRY/j116DzEy44YYox4RN7lu50hYTKVTXrrYQyN690Q9CRESkDFByLFIc4WXpipkc790LTz8NRx4JPXtGP6yBA20E+Ykniuhc0bWrrVk9d270gxARESkDlByLFMfSpVCpEjRoUKy7ffmlTca78cbYhOWcjR7PnGkLjBRIk/JEREQKpeRYpDiWLoVmzax+txieesoGm4cOjU1YAGefbbXMf/97ITdq186SeyXHIiIi+VJyLFIcJehxPG0a/PAD/OlPUKFCjOLCFuy78Ubb12+/FXKjDh2UHIuIiBRAybFIcZSgx/G771rLtUsvjVFMOVxxhXVr+8c/CrlReBnpiJbVExERKV+UHItEas8eWL682MnxF19A3762Kl6s1axpCfL778PixQXcqGtXWL9+X+cNERERyabkWCRSGRmQlVWssorFi2H6dDj55BjGlcf119sEvaeeKuAGmpQnIiJSICXHIpEqQY/jL7+083gmx82bwznn2IIj27blc4NOnSx7VnIsIiKyHyXHIpEqQY/jL76ANm3gkENiFFMBLr3UFhz57LN8rqxWDdq2VXIsIiKSDyXHIpEq5tLRW7fC99/bqLFzMYwrH0cfbTn8m28WcIPwpDwRERHJRcmxSKSWLLEZbzVrRnTz776DnTvjW1IRlpIC550H//sfrFqVzw26drVkf926uMcmIiKSyGKaHDvnajvnPnTOzXbOzXLO9Y7l/kRiaunSYk3G++ILqFHDOlUE4YILbNnqd9/N50pNyhMREclXrEeO/wV8470/FOgMzIrx/kRipxg9jr235PiEE6BixRjHVYD27aFbtwJKK5Qci4iI5CtmybFzribQD3gFwHu/y3u/MVb7E4m5JUsiTo4nT7bOb0GUVOR0wQW2Wt6svF9L69WzUXAlxyIiIrnEcuT4QGAN8JpzbrJz7mXnXLW8N3LOXeGcm+icm7hmzZoYhiNSCtu3w9q1EZdVfPGFTcIbNCjGcRVh2DBbna/A0WMlxyIiIrnEMjmuAHQDnvfedwW2ArflvZH3/iXvfXfvffcGDRrEMByRUihm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HbB6tZJjiY0jj7QVPkqwssdf/mJ3ffTRGMQlIiJRpeRYkt6cOVCpErRwS+0CJccSC1WrwhFHFHtSHkCjRnDZZfDGG3ZwQ0REEpeSY0l6c+fCwQdDyrJQ1qHkWGKlf3/47TfYvLnYd731Vps8+ve/Rz8sERGJHiXHkvSy27gtUXIsMRauO/7ll2LftUULuOgiePllWLky+qGJiEh0KDmWpLZ7t01yyp6M55wWAJHY6d0bKlYsUWkFwG23wa5d8M9/RjcsERGJHiXHktQWLbKFy7JHjhs1sgJkkVgI1x2XYFIeQJs2cM458O9/w7p1UY5NRESiQsmxJDW1cZO469/f1oPetKlEd7/jDti6Ff71r+iGJSIi0aHkWJJadhs3LQAi8TJgAGRllajuGOCww+D00+GZZ0qcX4uISAwpOZakNmcO1KsH9ep6JccSH716Wd1xCUsrwEaPN2608goREUksSo4lqWV3qli7FnbsUHIssVelik3MK+GkPIDDD4dBg2xi3tat0QtNRERKT8mxJLU5c9TGTQLQvz9MnmzDvyV01132ne4//4laVCIiEgVKjiVpZWZCRkaOyXig5Fjio39/qzv++ecSb+LII20zf/+7HfQQEZHEoORYktZ+k/EAWrYMLB4pR3r1spaBpSitABs9XrECXn89KlGJiEgUKDmWpBVOjrNHjqtWhbp1A41JyonKla3uuBST8gCOOcby7EcftQVtREQkeEqOJWnNmWML4h10EPs6VTgXdFhSXvTvD1OmwIYNJd6EczZ6vHgxvP121CITEZFSUHIsSWvuXKuiqFIFtXGT+BswALwvVd0xwODB0KULPPww7N0bndBERKTklBxL0spu4wZKjiX+eva08opSllY4B3feaf/PH34YpdhERKTElBxLUvLeyiratgV27oSVK5UcS3yF645LOSkPbMW8du3goYesCYaIiARHybEkpZUrYcuW0MjxsmV2oZJjibcBA2DqVFi/vlSbSUmB22+H6dPhiy+iFJuIiJSIkmNJSnPm2LkWAJFA9e9vhzFGjSr1poYNg9at4cEHbZMiIhIMJceSlPZr4wZKjiX+eva0GaFRKK2oUMFGjydMgG++KX1oIiJSMkqOJSnNnm0ln82bsy85btYs0JikHKpUyZa6i0JyDHDRRdCqFdxzj0aPRUSCouRYktLMmTaBKSUFS44bNbJE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\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"Title = 'Distribution Plot of Predicted Value Using Training Data vs Training Data Distribution'\n",
"DistributionPlot(y_train, yhat_train, \"Actual Values (Train)\", \"Predicted Values (Train)\", Title)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Figure 1: Plot of predicted values using the training data compared to the training data. \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So far the model seems to be doing well in learning from the training dataset. But what happens when the model encounters new data from the testing dataset? When the model generates new values from the test data, we see the distribution of the predicted values is much different from the actual target values. \n"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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fzXPjUVEpEA0oi4iInlyzh3pnNs/VDIwAGgJfBl0XCIiySwZVgsUEZHoa4R9tF0B67pzuvd+ZbAhiYgkN5W+iIiIiIjEIZW+iIiIiIjEIZW+5KB69eq+Xr16QYchIiIiIkls8uTJf3vva2R3nxL1HNSrV4/U1NSgwxARERGRJOacy3FVbJW+iIiIiIjEISXqIiIiIiJxSIm6iIiIiEgcUo26iIiISDZ27drFsmXL2L59e9ChSBIoU6YMderUoWTJkmHvo0RdREREJBvLli2jYsWK1KtXD+dc0OFIAvPes2bNGpYtW0b9+vXD3k+lLyIiIiLZ2L59O9WqVVOSLoXmnKNatWr5/nRGibqIiIhIDpSkS6QU5LmkRF1EREREJA4pURcRERERiUNK1EVERETi2EcffYRzjjlz5uS57eOPP87WrVsLfK7hw4czZMiQf9y2aNEi6tSpQ3p6+j9uT0lJYeLEidkeZ9GiRTRv3rzAcYTj448/5u677+a+++4jJSWFlJQUihcvvvfrJ598Muxj3X///Xu/3rlzJ926dWP37t3RCDtflKiLiIiIxLF33nmHLl26MGLEiDy3LWyinp169epRt25dfvjhh723zZkzh02bNtGhQ4eInis/HnroIS6//HJuueUWpk2bxrRp0yhbtuzer6+66qqwj5U5US9VqhTHHnss7777bjTCzhe1ZxQRERHJy9VXw7RpkT1mSgo8/nium2zevJkJEyYwduxYTj75ZO68804A9uzZww033MBXX32Fc45LLrkE7z0rVqzg6KOPpnr16owdO5YKFSqwefNmAD744AM+++wzhg8fzqeffsq9997Lzp07qVatGm+99Ra1atXKMY7+/fszYsQIjjzySABGjBhB//79WbRoEeeddx5btmwBYNiwYXTu3Pkf+w4fPpzU1FSGDRsGwEknncR1113HUUcdxddff80dd9zBjh07OOSQQ3j11VepUKECN954I6NGjaJEiRIcf/zxPPzww/84ZlpaGqVLl6Z69erZxrtnzx5uvPFGxo0bx44dO7jiiiu49NJLWblyJWeddRYbN25k9+7dPPvss3z++eds27aNlJQUmjVrxltvvUXfvn256aabOOecc3L9/USbEnURERGROPXxxx/Ts2dPDjvsMKpWrcqUKVNo06YNL7zwAgsXLmTq1KmUKFGCtWvXUrVqVR599FHGjh2bYwKboUuXLvzyyy8453jppZd46KGHeOSRR3Lc/swzz6R169Y89dRTlChRgnfffZf333+fmjVr8s0331CmTBnmzZtH//79SU1NDeux/f3339x7772MGTOG8uXL89///pdHH32UIUOG8NFHHzFnzhycc6xfv/5f+06YMIE2bdrkeOyXX36ZSpUqMWnSJHbs2MERRxzB8ccfz8iRI+nRowe33HILe/bsYevWrXTt2pVhw4YxLdMbsebNmzNp0qSwHkc0KVEXERERyUseI9/R8s4773D11VcD0K9fP9555x3atGnDmDFjGDx4MCVKWCpXtWrVfB132bJlnHXWWaxcuZKdO3fmuQjP/vvvT7Nmzfj222+pVasWJUuWpHnz5mzYsIEhQ4Ywbdo0ihcvTlpaWtgx/PLLL8yaNYsjjjgCsNrwww8/nP32248yZcpw8cUXc+KJJ3LSSSf9a9+VK1dSo0aNHI/99ddfM336dD744AMANmzYwLx582jfvj0XXXQRu3btom/fvqSkpGS7f/HixSlVqhSbNm2iYsWKYT+mSFOiLiIiIhKH1qxZw3fffcfvv/+Oc449e/bgnOOhhx7Cex9WX+7M22RebOfKK6/k2muv5eSTT2bcuHF7S2pyk1H+UqtWLfr37w/AY489Rq1atfjtt99IT0+nTJky/9qvRIkS/5iImhGH957u3bvzzjvv/GufiRMn8u233zJixAiGDRvGd99994/7y5Yty4YNG3KM1XvPU089RY8ePf513/jx4/n8888577zzuP766zn//POzPcaOHTuyfTyxpMmkIiIiInHogw8+4Pzzz2fx4sUsWrSIpUuXUr9+fX788UeOP/54nnvuub2dSdauXQtAxYoV2bRp095j1KpVi9mzZ5Oens5HH3209/YNGzZw4IEHAvDaa6+FFc9pp53G6NGjeffdd+nXr9/e49SuXZtixYrxxhtvsGfPnn/tV69ePaZNm0Z6ejpLly7d2ymmU6dOTJgwgfnz5wOwdetW0tLS2Lx5Mxs2bOCEE07g8ccf/0dJSoYmTZrs3S87PXr04Nlnn2XXrl2A1bRv2bKFxYsXU7NmTS655BIGDhzIlClTAChZsuTebcHeJNWoUYOSJUuG9bOJFiXqIiIiInHonXfe4ZRTTvnHbaeddhpvv/02F198MQcddBAtW7akVatWvP322wAMGjSIXr16cfTRRwPw4IMPctJJJ3HMMcdQu3btvce58847OeOMM+jatWue9ewZKleuTKdOnahVq9beUpnLL7+c1157jU6dOpGWlkb58uX/td8RRxxB/fr1adGiBdddd93e2vIaNWowfPhw+vfvT8uWLenUqdPebjInnXQSLVu25Mgjj+Sxxx771zG7devG1KlT8d5nG+vFF19M06ZNadOmDc2bN+fSSy9l9+7djBs3jpSUFFq3bs2HH37I0KFD9/7cWrZsuXfy6NixYznhhBPC+rlEk8vpARZ17dq18+FOhhAREZHkM3v2bJo0aRJ0GJKDoUOH0rt3b4477riIH/vUU0/lgQceoFGjRhE9bnbPKefcZO99u+y214i6iIiIiCScm2++OeI948Emtfbt2zfiSXpBKFEXERERkYRTq1YtTj755Igft1SpUjlOMI01JeoiIiIiInFIibqIiIiISBxSoi4iIiIiEoe04JGIJLdt2+DOO2HBAti9G/bssetu3eCGG6CYxitERCQ+6T+UiCSvtWvh+OPhf/+D2bNh4UJYsQKWL4ebb4bTT4ctW4KOUkQkR8WLFyclJYXmzZtzxhlnFKrLyQUXXMAHH3wAWJ/xWbNm5bjtuHHj+Omnn/J9jnr16vH333//67zPP//8P277+OOPc+1TnjnWaPDec8wxx7B48WJSUlJISUlh//3358ADD9z7/c6dO8M6Vtaf1bBhw3j11VcjEqcSdRFJTosXQ5cuMHEivPsuzJwJv/0Gkyfb9eOPwyef2DbLlgUdrYhItsqWLcu0adP4/fffKVWqFM8999w/7s9uJdBwvPTSSzRt2jTH+wuaqGenf//+jBgx4h+3jRgxgv79+0fk+AUxevRoWrVqxcEHH8y0adOYNm0agwcP5pprrtn7falSpcI6Vtaf1UUXXcSTTz4ZkTiVqItI8vntNzj8cFi5Er7+Gs4445/3OwdDh8Jnn1lJTPv2MGlSMLGKSEK4+mo46qjIXq6+On8xdO3alfnz5zNu3DiOPvpozj77bFq0aMGePXu4/vrrad++PS1bttw7eu29Z8iQITRt2pQTTzyRv/76a++xjjrqKDIWdvzyyy9p06YNrVq14thjj2XRokU899xzPPbYY6SkpPDDDz+wevVqTjvtNNq3b0/79u2ZMGECAGvWrOH444+ndevWXHrppdmuFHrccccxZ84cVq5cCcDWrVsZM2YMffv25e6776Z9+/Y0b96cQYMGZbt/5lH61NRUjjrqKAC2bNnCRRddRPv27WndujWffPIJADNnzqRDhw6kpKTQsmVL5s2b969jvvXWW/Tp0yfHn/XkyZM58sgjadu2LT169Ngb+5NPPknTpk1p2bIl/fr1y/ZnVa5cOerVq8fEiRNz/4WGQTXqIpJc5s6Frl2hUiX48Udo1iznbXv1gp9/hpNOgmOOsfKYOnViF6uISJh2797NF198Qc+ePQGYOHEiv//+O/Xr1+eFF16gUqVKTJo0iR07dnDEEUdw/PHHM3XqVObOncuMGTNYtWoVTZs25aKLLvrHcVevXs0ll1zC+PHjqV+/PmvXrqVq1aoMHjyYChUqcN111wFw9tlnc80119ClSxeWLFlCjx49mD17NnfddRddunTh9ttv5/PPP+eFF174V+zFixfn1FNP5b333mPo0KGMGjWKo48+mooVKzJkyBBuv/12AM477zw+++wzevfuHdbP5L777uOYY47hlVdeYf369XTo0IHjjjuO5557jqFDh3LOOeewc+fObD91mDBhwr/KcTLs2rWLK6+8kk8++YQaNWrw7rvvcsstt/DKK6/w4IMPsnDhQkqXLs369eupXLnyv35WAO3ateOHH36gQ4cOYT2WnChRF5Hk8p//2Ij5Tz9B3bp5b9+sGXz3HTRtCtdeC++9F/0YRSThPP54MOfdtm0bKSkpgI2oDxw4kJ9++okOHTpQv359AL7++mumT5++t6Z7w4YNzJs3j/Hjx9O/f3+KFy/OAQccwDHHHPOv4//yyy9069Zt77GqVq2abRxjxoz5R037xo0b2bRpE+PHj2fkyJEAnHjiiVSpUiXb/fv378/111/P0KFDGTFixN4FhcaOHctDDz3E1q1bWbt2Lc2aNQs7Uf/6668ZNWoUDz/8MADbt29nyZIlHH744dx3330sW7aMU089lYYNG/5r37Vr11KxYsVsjzt37lx+//13unfvDlh5Ue3atQFo2bIl55xzDn379qVv3745xlazZk3mzJkT1uPIjRJ1EUke33wDn39uk0fDSdIz1K8Pt9wCt91mpTLHHx+9GEVE8iGjRj2r8uXL7/3ae89TTz1Fjx49/rHN6NGjcc7lenzvfZ7bAKSnp/Pzzz9TtmzZf90Xzv5HHHEEK1eu5LfffuOnn35ixIgRbN++ncsvv5zU1FTq1q3LnXfeyfbt2/+1b4kSJUhPTwf4x/3eez788EMaNWr0j+2bNGlCx44d+fzzz+nRowcvvfTSv96kZByzWDadv7z3NGvWjJ9//vlf933++eeMHz+eUaNGcc899zBz5sxsH+/27duz/Vnll2rURSQ57N5tI+INGsCVV+Z//+uvh0MPhSFDYMeOyMcnIhIlPXr04Nlnn2XXrl0ApKWlsWXLFrp168aIESPYs2cPK1euZOzYsf/a9/DDD+f7779n4cKFgI00A1SsWJFNmzbt3e74449n2LBhe7/PePPQrVs33nrrLQC++OIL1q1bl22MzjnOPPNMBgwYwAknnECZMmX2Jt3Vq1dn8+bNOXZ5qVevHpMnTwbgww8//Mfjfuqpp/bWtU+dOhWAP/74gwYNGnDVVVdx8sknM3369H8ds1GjRvzxxx/Znq9Ro0asXr16b6K+a9cuZs6cSXp6OkuXLuXoo4/moYceYv369WzevPlfPyuw30Hz5s2zPX5+KFEXkeTw8svw++/w0ENQunT+9y9dGoYNg3nzIPQxqohIIrj44otp2rQpbdq0oXnz5lx66aXs3r2bU045hYYNG9KiRQsuu+wyjjzyyH/tW6NGDV544QVOPfVUWrVqxVlnnQVA7969+eijj/ZOkHzyySdJTU2lZcuWNG3adG/3mTvuuIPx48fTpk0bvv76aw466KAc4+zfvz+//fYb/fr1A6By5cpccskltGjRgr59+9K+ffts97vjjjsYOnQoXbt2pXjx4ntvv+2229i1axctW7akefPm3HbbbQC8++67NG/enJSUFObMmbO3zCazE088kXHjxmV7vlKlSvHBBx9www030KpVK1JSUvjpp5/Ys2cP5557Li1atKB169Zcc801VK5c+V8/K7Aa+OOOOy7Hn0W4XHazawXatWvnM2ZDi0ic27ABGjaEJk1g3DirUS+o00+H0aNh1iyoVy9SEYpIApo9ezZNmjQJOgyJgpUrV3L++efzzTffRPzYU6dO5dFHH+WNN974133ZPaecc5O99+2yO1ZUR9Sdcz2dc3Odc/Odczdmc79zzj0Zun+6c65NXvs656o6575xzs0LXVcJ3V7NOTfWObfZOTcs0/blnHOfO+fmOOdmOucejOZjFpEAPPAArF4Njz5auCQd4LHHbLXS/PZNExGRhFG7dm0uueQSNm7cGPFj//3339xzzz0ROVbUEnXnXHHgaaAX0BTo75zL2lm/F9AwdBkEPBvGvjcC33rvGwLfhr4H2A7cBuzrjbPPw977xkBr4AjnXK+IPEgRCd7ChZZcn38+tG1b+OPVrQu3326LIY0fX/jjiUhCU+VB8jrzzDPZb7/9In7c7t27Uy+bT2QL8lyK5oh6B2C+9/4P7/1OYASQtbN8H+B1b34BKjvnauexbx/gtdDXrwF9Abz3W7z3P2IJ+17e+63e+7Ghr3cCUwA1ShZJFhmj6PffH7ljXnklVKkCTz8duWOKSMIpU6YMa9asUbIuhea9Z82aNZQpUyZf+0WzPeOBwNJM3y8DOoaxzYF57FvLe78SwHu/0jlXM9yAnHOVgd7AEzncPwgb2c91MoSIxInt2+Gtt+DUU+HAAyN33LJl4aKL4IknbHXTUP9cESla6tSpw7Jly1i9enXQoUgSKFOmDHXyuaheNBP17ApFs74lzWmbcPbNXzDOlQDeAZ703mfbj8d7/wLwAthk0sKcT0RiYNQoWLcOLrww8scePBgeeQReesn6q4tIkVOyZMm9CwGJBCGapS/LgMwrjtQBVoS5TW77rgqVxxC6/ivMeF4A5nnvHw9zexGJd6++ajXl2ay2V2iHHgo9esDzz1uPdhERkRiLZqI+CWjonKvvnCsF9ANGZdlmFHB+qPtLJ2BDqKwlt31HAQNCXw8APskrEOfcvUAl4OpCPiYRiRfLlsFXX8GAAZCpr25EXX45LF9uI/ciIiIxFrXSF+/9bufcEOAroDjwivd+pnNucOj+54DRwAnAfGArcGFu+4YO/SDwnnNuILAEOCPjnM65RcB+QCnnXF/geGAjcAswB5gSWuZ2mPf+pWg9dhGJgddfB+/hgguid44TT4SDDoJnnrE6eBERkRjSgkc50IJHInHMezjsMJtAmsPKchFz//1wyy0wezY0bhzdc4mISJET2IJHIiJR8eOPMH9+dCaRZjVwIJQsCaHlskVERGJFibqIJJ5XX4UKFeD006N/rlq17DzDh8OWLdE/n4iISIgSdRFJLJs3w3vvwVlnQfnysTnn5ZfDhg0wYkRsziciIoISdRFJNO+/byPbsSh7yXDEEXDIIXZuERGRGFGiLiKJ5a23oGFD6Nw5dud0Dk47Db791hZYEhERiQEl6iKSODZtgvHjoW9fS55j6dRTbeGjzz6L7XlFRKTIUqIuIoljzBjYtQtOOCH2527fHurUgQ8/jP25RUSkSFKiLiKJY/RoqFjRasZjrVgxOOUUWw118+bYn19ERIocJeoikhi8t0T9+OOtr3kQTjsNtm+HL74I5vwiIlKkKFEXkcQwfTqsWAEnnhhcDF26QI0aMHJkcDGIiEiRoURdRBLD6NF23bNncDEUL24TWT/7zEbWRUREokiJuogkhtGjoU0bqF072DhOPdVq1MeMCTYOERFJekrURST+rVsHP/0UTLeXrI45BipVUvmLiIhEnRJ1EYl/X38N6enxkaiXKgW9e8Mnn1irSBERkShRoi4i8W/0aKhaFTp0CDoSc9ppsHatLb4kIiISJUrURSS+padbO8SePW0yZzw4/ngoV06LH4mISFQpUReR+DZ5MqxeHR9lLxnKlYPu3eHLL4OOREREkpgSdRGJb6NHg3PQo0fQkfxT9+6wcCEsWBB0JCIikqSUqItIfBs9Gjp1gurVg47kn7p3t+tvvgk2DhERSVpK1EUkfm3YAJMmWU14vGnYEA46SIm6iIhEjRJ1EYlfP/8M3kO3bkFH8m/O2aj6d9/Bnj1BRyMiIklIibqIxK8ffoASJaBjx6AjyV737rB+PaSmBh2JiIgkISXqIhK/fvgB2rSB8uWDjiR7xx5rI+sqfxERkShQoi4i8WnHDpg4Ebp0CTqSnFWvDq1bK1EXEZGoUKIuIvEpNdWS9a5dg44kd927Wy395s1BRyIiIklGibqIxKcff7TrI44INo68dO8Ou3bB998HHYmIiCQZJeoiEp9++AEaN4YaNYKOJHdHHAFlyqj8RUREIk6JuojEn/R0mDAh/stewJL0bt2UqIuISMQpUReR+DNzprU9jOeJpJl17w6zZsHy5UFHIiIiSUSJuojEn4z69EQYUQc47ji7HjMm2DhERCSpKFEXkfjzww9wwAFQr17QkYSnZUurpVf5i4iIRJASdRGJL95bot61qy0mlAiKFbNR9TFjLH4REZEIUKIuIvFlyRJYtixx6tMzHHUUrFoF8+cHHYmIiCQJJeoiEl9++MGuE6U+PUNGvBnxi4iIFJISdRGJLz/+CPvtB82bBx1J/jRuDNWq7ZsIKyIiUkhK1EUkvvzwgy0iVLx40JHkj3NWrqMRdRERiRAl6iISP9assX7kiVafnqFLF6tR//PPoCMREZEkoERdROLHxIl23blzsHEUVMYbjAkTgo1DRESSghJ1EYkfqalWQtKmTdCRFEybNlC2rMpfREQkIpSoi0j8SE2FRo1sMmkiKlUKOnbUhFIREYkIJeoiEj8mT4Z27YKOonC6doWpU2HTpqAjERGRBKdEXUTiw8qVsHx54ifqXbpAejr88kvQkYiISIJToi4i8WHyZLtO9ET98MOhWDHVqYuISKEpUReR+JCaagluSkrQkRROxYr2GFSnLiIihaREXUTiQ2oqNG0K5csHHUnhdelipS87dwYdiYiIJDAl6iISPO8tUU/0spcMXbvCtm02qVRERKSAlKiLSPCWL4dVq5InUc9Y+Eh16iIiUghK1EUkeKmpdp0sifr++8Ohh6pOXURECkWJuogELzUVSpSAli2DjiRyunSxRN37oCMREZEEpURdRIKXmgrNm0PZskFHEjldusCaNTBnTtCRiIhIglKiLiLByphI2rZt0JFE1uGH2/WvvwYbh4iIJCwl6iISrMWLbeQ5WerTMzRuDPvtp0RdREQKTIm6iAQr2SaSZihWDNq3V6IuIiIFpkRdRIKVmgolS0KLFkFHEnkdO8L06bB1a9CRiIhIAlKiLiLBSk21bi+lSwcdSeR17Ah79sCUKUFHIiIiCUiJuogEJ9lWJM2qQwe7VvmLiIgUgBJ1EQnOggWwYUPyJur77w8HHQQTJwYdiYiIJCAl6iISnGSdSJpZx44aURcRkQJRoi4iwZk2zSaSNm0adCTR07GjtaBctSroSEREJMEoUReR4Eyfbkl6qVJBRxI9HTvatUbVRUQkn5Soi0hwpk+3ji/JrE0bKF5cibqIiOSbEnURCcaaNbB8efIn6uXK2WNUoi4iIvmkRF1EgjF9ul23ahVsHLHQsSNMmgTp6UFHIiIiCUSJuogEIyNRT/YRdbBEfeNGmDMn6EhERCSBKFEXkWBMnw41a0KtWkFHEn2aUCoiIgWgRF1EglEUJpJmaNQIKlVSoi4iIvmiRF1EYm/3bvj996JRnw5QrBi0b69EXURE8kWJuojE3vz5sH170RlRByt/mTEDtm4NOhIREUkQStRFJPaK0kTSDB07wp49MHly0JGIiEiCUKIuIrE3fbotAtSkSdCRxE7GhNKJE4ONQ0REEoYSdRGJvd9+g8aNoXTpoCOJnZo1oU4djaiLiEjYlKiLSOxNn150JpJm1q6dEnUREQmbEnURia3162HJkqJVn56hbVtIS7PFj0RERPKgRF1EYmvGDLsuqok6wNSpwcYhIiIJQYm6iMRWUez4kiEjUU9NDTYOERFJCFFN1J1zPZ1zc51z851zN2Zzv3POPRm6f7pzrk1e+zrnqjrnvnHOzQtdVwndXs05N9Y5t9k5NyzLedo652aEjvWkc85F83GLSC5++w2qVYMDDgg6ktirWRPq1lWduoiIhCVqibpzrjjwNNALaAr0d841zbJZL6Bh6DIIeDaMfW8EvvXeNwS+DX0PsB24Dbgum3CeDR0/41w9I/AQRaQgpk+30fSi+n65bVsl6iIiEpZojqh3AOZ77//w3u8ERgB9smzTB3jdm1+Ays652nns2wd4LfT1a0BfAO/9Fu/9j1jCvlfoePt573/23nvg9Yx9RCTG0tOtRr0olr1k0IRSEREJUzQT9QOBpZm+Xxa6LZxtctu3lvd+JUDoumYYcSzLIw4AnHODnHOpzrnU1atX53FYEcm3P/6ArVuVqANMmRJsHCIiEveimahn97m2D3ObcPaNZBx2o/cveO/bee/b1ahRo4CnE5EcFeWJpBkyEnWVv4iISB6imagvA+pm+r4OsCLMbXLbd1WonCWjrOWvMOKok0ccIhILv/0GxYpBs2ZBRxIcTSgVEZEwRTNRnwQ0dM7Vd86VAvoBo7JsMwo4P9T9pROwIVTOktu+o4ABoa8HAJ/kFkToeJucc51C3V7Oz2sfEYmSGTOgYUMoWzboSIKlCaUiIhKGEtE6sPd+t3NuCPAVUBx4xXs/0zk3OHT/c8Bo4ARgPrAVuDC3fUOHfhB4zzk3EFgCnJFxTufcImA/oJRzri9wvPd+FnAZMBwoC3wRuohIrM2cCc2bBx1F8Nq2hY8/hg0boFKloKMREZE4FbVEHcB7PxpLxjPf9lymrz1wRbj7hm5fAxybwz71crg9FVB2IBKkHTtg/nw466ygIwle5hVKjzoq0FBERCR+aWVSEYmNtDRrz9g063IKRZAmlIqISBiUqItIbMwMVa8pUdeEUhERCYsSdRGJjVmzrONLo0ZBRxIf2raF1NSgoxARkTimRF1EYmPWLDj0UChdOuhI4kPbtjBvnk0oFRERyYYSdRGJjZkzVfaSWbt2dj11arBxiIhI3FKiLiLRt3OnjR4X5YWOstKEUhERyYMSdRGJvrQ02LNHI+qZ1ahhE0pVpy4iIjlQoi4i0Tdrll0rUf+n1q1V+iIiIjlSoi4i0aeOL9lr3do+bdi8OehIREQkDilRF5HomzkTGjSAsmWDjiS+tG4N3sOMGUFHIiIicUiJuohE36xZKnvJTuvWdq3yFxERyYYSdRGJrl27rLxDHV/+rW5dqFpVibqIiGRLibqIRNe8ebB7t0bUs+OcJpSKiEiOlKiLSHSp40vuWre2GvVdu4KORERE4owSdRGJrpkzbeS4ceOgI4lPrVvbglCzZwcdiYiIxBkl6iISXbNmQf36UK5c0JHEJ00oFRGRHChRF5HoUseX3B12mL2JUaIuIiJZKFEXkejZtQvmzlXHl9wULw4tWypRFxGRf1GiLiLRs2CBJesaUc9d69YwbRqkpwcdiYiIxBEl6iISPer4Ep7WrWHjRli4MOhIREQkjihRF5HomTnTrps0CTaOeKcJpSIikg0l6iISPbNmQb16UL580JHEt+bNrVZdibqIiGSiRF1EomfmTJW9hKNMGfs5KVEXEZFMlKiLSHTs2QNpaSp7CVfr1krURUTkH5Soi0h0LF4MO3YoUQ9X69bw5592ERERQYm6iETLnDl23ahRsHEkCk0oFRGRLJSoi0h0ZCTqjRsHG0eiSEmxayXqIiISokRdRKJj7lyoVg2qVw86ksRQqRI0aKBEXURE9lKiLiLRMWeORtPzSxNKRUQkEyXqIhIdc+aoPj2/UlJgwQLYtCnoSEREJA4oUReRyFu3Dv76SyPq+ZVRpz59eqBhiIhIfFCiLiKRN3euXStRz5+MRP233wINQ0RE4oMSdRGJPHV8KZgDD4SqVWHatKAjERGROKBEXUQib84cKFkS6tcPOpLE4pyNqmtEXUREUKIuItEwZw4ceiiUKBF0JImnVSurUd+9O+hIREQkYErURSTy5s5V2UtBpaTA9u0wb17QkYiISMCUqItIZO3aBfPnK1EvKE0oFRGRECXqIhJZf/xhZRtK1AumcWOr79eEUhGRIk+JuohEVkbHFy12VDClSkGzZhpRFxERJeoiEmEZPdSVqBdcq1YaURcRESXqIhJhc+bA/vtD5cpBR5K4UlLgzz9h1aqgIxERkQApUReRyJozR/XphaUJpSIighJ1EYkk7y1RV9lL4bRqZdcqfxERKdKUqItI5Pz9N6xbpxH1wqpSBQ46SCPqIiJFnBJ1EYmcjI4vStQLTxNKRUSKPCXqIhI5StQjJyXFfp7btgUdiYiIBESJuohEzpw5UKaMlW1I4aSkQHo6zJwZdCQiIhIQJeoiEjlz58Jhh0ExvbQUmiaUiogUefpvKiKRo9aMkVO/PlSsqAmlIiJFmBJ1EYmM7dth4UIl6pFSrBi0bKkRdRGRIkyJuohExoIFVlN92GFBR5I8UlJsRD09PehIREQkAErURSQy0tLsWosdRU5KCmzaBIsWBR2JiIgEQIm6iETGvHl23bBhsHEkE00oFREp0pSoi0hkzJsHNWtCpUpBR5I8mje3WnUl6iIiRZISdRGJjLQ0jaZHWtmyVkqkzi8iIkWSEnURiYx58zSRNBpSUjSiLiJSRClRF5HC27QJVq7UiHo0pKTAkiWwbl3QkYiISIwpUReRwps/3641oh55GRNKVf4iIlLkKFEXkcLLaM2oEfXIS0mxa5W/iIgUOUrURaTwMlozHnposHEko1q17KIRdRGRIkeJuogUXloa1KkD5coFHUly0oRSEZEiSYm6iBTevHkqe4mmlBSYNQt27gw6EhERiSEl6iJSeGlpmkgaTa1aWZI+Z07QkYiISAwpUReRwlmzBtau1Yh6NGlCqYhIkaREXUQKJ2MiqUbUo6dhQyhTRhNKRUSKGCXqIlI4GYm6RtSjp0QJaNFCI+oiIkWMEnURKZy0NChWDBo0CDqS5JaSYiPq3gcdiYiIxIgSdREpnHnzoF49KFUq6EiSW6tWNh9g+fKgIxERkRhRoi4ihaOOL7GhCaUiIkWOEnURKTjv1UM9Vlq2tGtNKBURKTKUqItIwf35J2zerBH1WKhYEQ45RCPqIiJFiBJ1ESk4dXyJrYwJpSIiUiQoUReRgktLs2uNqMdGq1Ywfz5s2hR0JCIiEgNK1EWk4ObNs24vBx0UdCRFQ0qKzQuYMSPoSEREJAaUqItIwaWlWd108eJBR1I0tGpl1yp/EREpEqKaqDvnejrn5jrn5jvnbszmfuecezJ0/3TnXJu89nXOVXXOfeOcmxe6rpLpvptC2891zvXIdHt/59yM0Dm+dM5Vj+bjFiky1PElturWhSpVNKFURKSIiFqi7pwrDjwN9AKaAv2dc02zbNYLaBi6DAKeDWPfG4FvvfcNgW9D3xO6vx/QDOgJPOOcK+6cKwE8ARztvW8JTAeGROVBixQl6elWL6369NhxThNKRUSKkGiOqHcA5nvv//De7wRGAH2ybNMHeN2bX4DKzrnaeezbB3gt9PVrQN9Mt4/w3u/w3i8E5oeO40KX8s45B+wHrIj8wxUpYpYuhR07NKIea61awfTpsGdP0JGIiEiURTNRPxBYmun7ZaHbwtkmt31ree9XAoSua+Z2LO/9LuAyYAaWoDcFXs4uYOfcIOdcqnMudfXq1eE8RpGiSx1fgpGSAtu27WuNKSIiSSuaibrL5jYf5jbh7BvW+ZxzJbFEvTVwAFb6clN2B/Dev+C9b+e9b1ejRo08TidSxKmHejBSUuxa5S8iIkkvmon6MqBupu/r8O+Sk5y2yW3fVaHyGELXf+VxrBQA7/0C770H3gM6F+gRicg+8+ZBuXJwwAFBR1K0NGkCJUtqQqmISBEQzUR9EtDQOVffOVcKm+g5Kss2o4DzQ91fOgEbQuUsue07ChgQ+noA8Emm2/s550o75+pjE1QnAsuBps65jCHy7sDsSD9YkSInLc1G0112H2ZJ1JQqBU2bakRdRKQIKBGtA3vvdzvnhgBfAcWBV7z3M51zg0P3PweMBk7AJn5uBS7Mbd/QoR8E3nPODQSWAGeE9pnpnHsPmAXsBq7w3u8BVjjn7gLGO+d2AYuBC6L1uEWKjHnz9pVhSGy1agXffBN0FCIiEmXOqkEkq3bt2vnU1NSgwxCJT7t2QdmycMMNcN99QUdT9Dz2GFx7LaxaBTVr5r29iIjELefcZO99u+zu08qkIpJ/ixZZe0B1fAmGJpSKiBQJStRFJP8yWjOq40swWrWya00oFRFJakrURST/MlozakQ9GFWrQt26GlEXEUlyStRFJP/S0qByZahWLehIiq5WrTSiLiKS5JSoi0j+zZun1oxBS0mBOXNg+/agIxERkShRoi4i+ZeWprKXoKWk2ITemTPz3FRERBKTEnURyZ9t22DpUk0kDZomlIqIJD0l6iKSPwsWgPcaUQ9agwZQoYImlIqIJDEl6iKSPxkdXzSiHqxixaBlS42oi4gkMSXqIpI/6qEeP1JSbERdK0yLiCQlJeoikj/z5tmy9ZUqBR2JpKTAxo22UqyIiCQdJeoikj/q+BI/NKFURCSpKVEXkfzJ6KEuwWve3GrVNaFURCQpKVEXkfBt3Ah//qkR9XhRrpz9LjSiLiKSlJSoi0j45s+3a42ox4+UFCXqIiJJSom6iIQvo+OLRtTjR0oKLF4M69cHHYmIiESYEnURCV9GD/VDDgk2DtknY0Kp6tRFRJKOEnURCV9aGtSta7XREh9SUuxaibqISNLJM1F3zj3knNvPOVfSOfetc+5v59y5sQhOROKMOr7En/33t772qlMXEUk64YyoH++93wicBCwDDgOuj2pUIhKf1EM9PmlCqYhIUgonUS8Zuj4BeMd7vzaK8YhIvFqzBtat04h6PEpJgZkzYdeuoCMREZEICidRH+WcmwO0A751ztUAtkc3LBGJO+r4Er9atYKdO2HOnKAjERGRCMo1UXfOFQM+BQ4H2nnvdwFbgT4xiE1E4klGxxeNqMefjAmlKn8REUkquSbq3vt04BHv/Trv/Z7QbVu893/GJDoRiR9paVC8ONSvH3QkktVhh0Hp0ur8IiKSZMIpffnaOXeac85FPRoRiV/z5kG9elCqVNCRSFYlSkCLFhpRFxFJMiXC2OZaoDyw2zm3HXCA997vF9XIRCS+zJun+vR4lpICH38M3oPGVUREkkKeI+re+4re+2Le+1Le+/1C3ytJFylKvLfSF9Wnx69WreDvv2HFiqAjERGRCAlnRB3nXBWgIVAm4zbv/fhoBSUicebPP2HLFo2ox7PME0oPPDDISEREJELCWZn0YmA88BVwV+j6zuiGJSJxJaM1o0bU41fLlnatCaUiIkkjnMmkQ4H2wGLv/dFAa2B1VKMSkfiS0ZpRI+rxa7/9oEEDTSgVEUki4STq27332wGcc6W993OARtENS0TiSlqadXupWzfoSCQ3KSkaURcRSSLhJOrLnHOVgY+Bb5xznwCarSRSlMybB4cean3UJX61amW/q82bg45EREQiIM/JpN77U0Jf3umcGwtUAr6MalQiEl/U8SUxpKRYh54ZM+Dww4OORkRECinHEXXnXHvnXK/Mt3nvvw992SKqUYlI/NizBxYsUKKeCFq1smuVv4iIJIXcSl/+B8zO5vZZoftEpChYuhR27NBE0kRw0EFQubImlIqIJIncEvVq3vtFWW/03s8HqkUtIhGJLxkdXzSiHv+cs/IXJeoiIkkht0S9bC73lY90ICISpzJ6qGtEPTGkpMD06VayJCIiCS23RH2Mc+4+55zLfKNz7i7gu+iGJSJxY948KF8eatcOOhIJR5s2sG0bzJ0bdCQiIlJIuSXq/wEaAPOdcx+GLvOxHurXxiQ6EQleRseXf75nl3jVpo1dT5kSbBwiIlJoObZn9N5vAfo75xoAzUI3z/Te/xGTyEQkPsybB61bBx2FhKtRIyhTxhL1c88NOhoRESmEcPqo/wEoORcpinbtgoUL4ayzgo5EwlWihLVpnDo16EhERKSQwlmZVESKqoULbVKiOr4kljZtbEQ9PT3oSEREpBByW/CofiwDEZE4pI4vial1a9i40d5oiYhIwsptRP0DAOfctzGKRUTijXqoJ6aMCaUqfxERSWi51agXc87dARzmnPtXlxfv/aPRC0tE4kJaGlSpAtW0xllCad7catWnTIHTTw86GhERKaDcRtT7AduxZL5iNhcRSXbz5qk1YyIqXRqaNVOLRhGRBJdbe8a5wH+dc9O991/EMCYRiRdpaXDkkUFHIQXRpg189hl4rzdaIiIJKpyuLz855x51zqWGLo845ypFPTIRCda2bbB0qerTE1Xr1rB6NaxYEXQkIiJSQOEk6q8Am4AzQ5eNwKvRDEpE4sD8+Xatji+JSSuUiogkvHAS9UO893d47/8IXe4CGkQ7MBEJmDq+JLZWrazkRZ1fREQSVjiJ+jbnXJeMb5xzRwDboheSiMSFjB7qStQTU4UK9mmIRtRFRBJWbu0ZMwwGXs9Ul74OGBC9kEQkLsybB7VqwX77BR1J1O3cCX/9BatWwbp1sGkTbN6873rPHlvkMz39n19nvpQsCWXK5H6pWBGqVrVul5UrQ/HiUX5gbdrAjz9G+SQiIhIteSbq3vvfgFbOuf1C32+MelQiErx585KmPt17mxc7a5aV3s+fbw/vjz/2Jef54RwUK7bv4hzs3m2X/ByjcmVL2jOS96pVoWZNqFt33+Wgg+z9UrFwPv/Mqk0beOcd+PtvqF69AAcQEZEghTOiDihBFyly0tLgxBODjqJAtmyBCRNg4sR9l1Wr9t1fvrxV9DRtCscea4lwrVqWJFerZiPfFSrYdfnyNlqeNTHPzu7dsGMHbN/+78u2bTZCv2YNrF1r15m//usvmDMH/vzTts2sXDmL97DD7NKoEaSkQOPGFluOWre266lToXv3wvxIRUQkAGEn6iJShGzcaJltAo2oL11qbcM//RS++84SZoAmTaBnT+jQAVq0sIS3Vq3otBYvUcIu5csX/Bje2wj/kiX2mJYsgQUL7H3TtGkwcqSV34Cta9S8uSXt7dtDly72ePeOvmck6lOmKFEXEUlAStRF5N8SpOPLpk3w1lvw0kswebLddsghcNll0KsXdOwIlRJs1QfnrASmalVLwLPaudN+Pb/9ZgPl06bBxx/Dyy/b/VWrwhFHWNLevXtVUg6uh1PnFxGRhBRWou6c6wzUy7y99/71KMUkIkHLSNTjdER9+nR49ll4802b7JmSAv/9L/TubeUgybwQZ6lS0KyZXc4+227z3kbdf/zRLj/8YJ8s3HAD7F96Cj1Gj6XXuzaoXrVqsPGLiEj48kzUnXNvAIcA04DQB654QIm6SLLKaM14yCHBxpFFaircdBOMGWNdVM46y0bPO3RI7uQ8L87BoYfa5YIL7LY//4SvvoIvH1nBpzOO5LV+VpZz7LFw5pnQt6+SdhGReBfOiHo7oKn33kc7GBGJE/PmWbuRsmWDjgSwcG69Fd57z5qXPPQQDByoRDM3++8PAwbAgJpL2HNCSyY+nconS1rz3nv2s7v0Ukvazz0XTj3VJqyKiEh8Cafh1+/A/tEORETiSFpaXNSnr1sHV1xh3Vk+/xxuu81KPK6/Xkl62Nq2pTjpHL7tOx580H5+qalw7bUwdy6cdx7Urg2DB8OkSVZGIyIi8SGcRL06MMs595VzblTGJdqBiUhAvI+LRP3rr61Ly/PPw6BB1vv87ruLxPpLkZXRmD01FbAymbZtraZ/wQIYOxb69IHXX7cSolat4IUXYOvWgOMWEZGwEvU7gb7A/cAjmS4ikozWrIH16wObSLpli42i9+hhSfkvv8DTT1sphxRQu3b72uJkUqwYHHWUJekrV9qbouLFrSymTh34v/+DxYtjH66IiJg8E3Xv/ffAHKBi6DI7dJuIJKMAWzP+8ot1cHn2WbjmGsst27WLeRjJp107+72uX5/jJpUq2ScXU6ZY15jjjoNHH4UGDWzyqTo8iojEXp6JunPuTGAicAZwJvCrc+70aAcmIgHJ6PgS4xH111+Hbt1g1y4rx3j00biZy5r42ra16ylT8tzUOevB/t578McfcN111j2mTRvrTT9+vOrYRURiJZzSl1uA9t77Ad7784EOwG3RDUtEAjNvntU/1K8fk9Olp9sk0QEDoGtXG7k98siYnLroyEjUsyl/yc1BB1kt+5IlcP/9tvuRR9rvacwYJewiItEWTqJezHv/V6bv14S5n4gkorQ0S9JLloz6qbZts0V77r3XWgZ++SVUqRL10xY91atDvXp7J5TmV6VK1r9+0SJ46imrW+/eHY4+2spkREQkOsJJuL8MdXy5wDl3AfA5MDq6YYlIYObNi0l9+urVcMwx8O671hf9xRdj8t6g6GrXrsCJeoZy5WDIEHuKPPmktXfs1s0m/k6aFKE4RURkr3Amk14PvAC0BFoBL3jvb4h2YCISAO8tC4tyffqaNbbYzrRp8OGH1he9KK8sGhNt21rR+bp1hT5UmTJw5ZXW3vHhh630vUMHOOccdYkREYmksEpYvPcfeu+v9d5f473/KNpBiUhAVq60/ohRHFFfv95GYNPSYNQoWxVTYiCjfU4+69RzU64c/Oc/lv/feiuMHAmNGlmZzMaNETuNiEiRlWOi7pz7MXS9yTm3MdNlk3NOL8EiySjKHV82bbLOIdOnwwcfWJ2zxEjGhNJClr9kp2JFuOcee/qceSY8+CAceig89xzs3h3x04mIFBk5Jure+y6h64re+/0yXSp677U2oEgyimIP9S1b4MQTrZZ5xAg46aSIn0JyU6WKNUWP4Ih6VnXrWpvNSZOgSRO47DJb6fSLL9QhRkSkIMLpo/5GOLeJSBJIS4PSpS3jiqCdO6FvX5gwAd58U+UugYnAhNJwTzNunJXC7NwJJ5xg5U4zZkT91CIiSSWcGvVmmb9xzpUA2kYnHBEJ1Lx5cMgh1kc9goYOtb7bL74I/fpF9NCSH+3aWY/FNWuifirn4JRTYOZMeOwxe3+QkmLPhQ0bon56EZGkkFuN+k3OuU1Ay8z16cAq4JOYRSgisZOWFvH69Oees8v118NFF0X00JJfBVz4qDBKlYKrr4b582HwYOvD3qgRvPGGymFERPKSW436A0Al4PUs9enVvPc3xS5EEYmJPXus314E69O//97a+PXqBQ88ELHDSkG1aWPXMSh/yapqVXj6aatfr1cPzj/ferCrHEZEJGe5lr5479Ox3ukikuyWLLGC4giNqC9aBKefbpU077wT8WoaKYjKle2NWACJeoa2beGnn+Cll2D2bGjdGq65Ru0cRUSyE06N+i/OufYFObhzrqdzbq5zbr5z7sZs7nfOuSdD9093zrXJa1/nXFXn3DfOuXmh6yqZ7rsptP1c51yPTLeXcs694JxLc87Ncc6dVpDHI5LUItjxZcsW6NMHdu2yXumVKhX6kBIpbdvGtPQlO8WKwcCBVml1ySXwxBNWDvP22yqHERHJLJxE/WjgZ+fcglAyPcM5Nz2vnZxzxYGngV5AU6C/c65pls16AQ1Dl0HAs2HseyPwrfe+IfBt6HtC9/fDJr/2BJ4JHQfgFuAv7/1hoeN9H8bjFilaIthDffBg+P13a8MY5UVOJb/atbNPT/76K+hIqFoVnn0Wfv0V6tSxlU2PPtpG2kVEJLxEvRdwCHAM0Bs4KXSdlw7AfO/9H977ncAIoE+WbfpgNfDee/8LUNk5VzuPffsAr4W+fg3om+n2Ed77Hd77hcD80HEALgIeACvn8d7/HUb8IkXLvHlQoQLsv3+hDjNihLVgvP126NkzQrFJ5GSsUBpg+UtW7dvDL7/A88/bYlitWsEdd8D27UFHJiISrDwTde/9YqAylpz3BiqHbsvLgcDSTN8vC90Wzja57VvLe78yFNtKoGZux3LOVQ59f49zbopz7n3nXK3sAnbODXLOpTrnUlevXh3GQxRJImlpVvbiXIEPsXSpLXLTqRPccksEY5PIadPGfseTJgUdyT8ULw6DBsGcOba66d13W8I+blzQkYmIBCecBY+GAm9hCXFN4E3n3JVhHDu7//ZZqw9z2iacfcM9XwmgDjDBe98G+Bl4OLsDeO9f8N638963q1GjRh6nE0ky8+YVqj49PR0GDLC69DffhBIlIhibRE7FitCsGUycGHQk2apZ054/X35pz6Wjj7a2njFo/S4iEnfCKX0ZCHT03t/uvb8d6ARcEsZ+y4DMyxvWAVaEuU1u+64KlccQus4otMxpnzXAVuCj0O3vA20QkX127rQ2LYUoKH/sMRg7Fp580jq9SBzr0MEKw+N45maPHjbP4YYb4PXXoUkTS+DjOGQRkYgLJ1F3wJ5M3+8h+9HrrCYBDZ1z9Z1zpbCJnqOybDMKOD/U/aUTsCFUzpLbvqOAAaGvB7Bv8aVRQD/nXGnnXH1sgupE770HPgWOCm13LDArjPhFio4//rA+6gUcUf/tN7j5ZluJ8sILIxybRF6HDjZEvXBh0JHkqlw5ePBBmDIFGjSA886zBH7BgqAjExGJjXAS9VeBX51zdzrn7gJ+AV7Oayfv/W5gCPAVMBt4z3s/0zk32Dk3OLTZaOAPbOLni8Dlue0b2udBoLtzbh7QPfQ9ofvfw5LwL4ErvPcZbzBuAO4Mdas5D/hPGI9bpOjI6PjSqFG+d92+3bp1VK0KL7xQqBJ3iZWOHe3611+DjSNMLVvChAm2qukvv0Dz5pbA79oVdGQiItHlfBifI4b6m3cJffuD935qVKOKA+3atfOpcdQVQSSq/vc/+L//g7VroUqVvLfP5M474a67YPRoW4FUEsCuXdbc/tJLrWYpgSxfbqvdfvQRtGhhbw47dQo6KhGRgnPOTfbet8vuvnBG1Pceh5wneopIIktLgxo18p2kz5sHDzwA/fsrSU8oJUta95c4nVCamwMPhJEj4eOPYd066NwZrrgCNmwIOjIRkcgLp+vL7Vi/8ipAdeBV59yt0Q5MRGJo7tx8l714D5dfDmXLwqOPRikuiZ6OHa34O0HrR/r0gVmzbHT92WehaVNbBVdEJJmEM6LeH2jvvb/Te38H1vXlnOiGJSIxlZaW744vI0bAmDFw332FXiNJgtChg00wmDEj6EgKrGJFeOIJq1uvVs2S97PPBi2DISLJIpxEfRFQJtP3pQHNuRdJFhs2wKpV+RpRX78err3WFrkcPDjPzSUeZUwoTcDyl6w6dLCFVu+6Cz74wEbXR4xQK0cRSXzhJOo7gJnOueHOuVeB34HNzrknnXNPRjc8EYm6uXPtOh8j6rfeCn/9Bc89ZytKSgI6+GCbl5AgnV/yUqoU3H67VfPUr2/zJvr2hRVZV+8QEUkg4awd+BH7FgsCGBedUEQkEPlszThpEjzzDAwZAm3bRjEuiS7nbCg6CUbUM2veHH7+GR5/3N5QNm0Kjzxiq5uqdaiIJJo8R9S9968B7wCTQ5e3vfevZVyiHaCIRNncuVCsWFjLiaanW4eNWrXgnntiEJtEV8eOMHs2bNwYdCQRVbw4/Oc/Vn6fkgIXXwzHHx/36zuJiPxLOF1fjgLmAU8DzwBpzrlu0Q1LRGImLc1qBUqVynPTd9+1EfUHH7Q23JLgOnSwQu4kXTPi0EPhu++sK0zGQknPPafadRFJHOHUqD8CHO+9P9J73w3oASTWChkikrMwWzPu2AE33wytWsG558YgLom+9u3tOsnKXzIrVswmPM+cCUccAZddBiecoNp1EUkM4STqJb33czO+8d6nASWjF5KIxEx6etitGZ9+GhYtskVMNYE0SVStCg0bJs2E0twcdBB8+SUMGwbff2+j6+++G3RUIiK5CydRn+yce9k5d1To8iJWqy4iiW75cti2Lc8R9XXr4N57oUcP6N49RrFJbCThhNKcFCtmcyymTbP3pv36Wd/1tWuDjkxEJHvhJOqDgZnAVcBQYFboNhFJdGG2ZrzvPuud/tBD0Q9JYqxjR6sDWb486Ehi5rDD4McfbUL0++9Dixbw1VdBRyUi8m+5JurOuWLAZO/9o977U733p3jvH/Pe74hRfCISTWG0Zly0CJ56CgYMgJYtYxOWxFCHDnZdBMpfMitRwto3/vorVK4MPXvaaPuWLUFHJiKyT66Juvc+HfjNOXdQjOIRkViaOxfKl4cDDshxk1tusZp0tWNMUq1aQcmSRS5Rz9CmDUyebCvtPvustXOcNCnoqERETDilL7WxlUm/dc6NyrhEOzARiYGMiaQ5rAQzZQq8/TZccw3UqRPj2CQ2ypSxbPXnn4OOJDBlytiiSGPHws6d0LkzPPywzbUWEQlSOCuT3hX1KEQkGHPnWo1yDu64wxqD3HBDDGOS2Dv8cGswvmuXja4XUUceaRNNBw6E66+Hb7+F116DmjWDjkxEiqocR9Sdc2Wcc1cDZwCNgQne++8zLrEKUESiZPt2K0DPYSJpaip89pmt8LjffrENTWKsc2d7PkybFnQkgatSBT78EJ55xkbYW7WyhF1EJAi5lb68BrQDZgC9sIWPRCRZLFhgSzTmMJH0rrtsNH3IkBjHJbF3+OF2/dNPwcYRJ5yzhZEmTrSJpt27W+cjlcKISKzllqg39d6f671/Hjgd6BqjmEQkFnJpzTh5so2mX3utRtOLhDp1oG7dIl2nnp2WLW1iab9+1iGmTx9bU0BEJFZyS9R3ZXzhvd8dg1hEJJYyWjNmk6jfdZeVAFx5ZYxjkuB07qwR9WxUqABvvWUtSr/6Ctq2halTg45KRIqK3BL1Vs65jaHLJqBlxtfOuY2xClBEomTuXNh//38NmU+eDJ9+qtr0Iufww2HpUli2LOhI4o5zVgL2/ffWFebww+H114OOSkSKghwTde99ce/9fqFLRe99iUxf69+3SKJLS8u2Pv3uuzWaXiR17mzXKn/J0eGH22h65862ANj118OePUFHJSLJLJw+6iKSjObO/VeiPmUKjBql2vQiKSUFypZV+UseatSwEpgrrrBe6yefDBv1GbOIRIkSdZGiaM0au2SpT1dtehFWsiS0a6cR9TCULAnDhtlKpl9/DZ06wfz5QUclIslIibpIUZQxkTTTiPrvv9to+tVXQ6VKwYQlAevc2T5W2bYt6EgSwuDBlqivWmXrhv34Y9ARiUiyUaIuUhRl05rx4YehXDn7SF+KqM6dbXXSyZODjiRhHH209VuvXh2OO84WSxIRiRQl6iJF0ezZ9vl9gwaANfp46y24+GKoVi3g2CQ4nTrZtcpf8uWQQ2DCBGjTBs44A558MuiIRCRZKFEXKYrmzIGGDaFECQAef9wWKb3mmmDDkoDVrAmHHqoJpQVQvTqMGWOLIg0dah1htJKpiBSWEnWRomjOHGjSBID16+GFF+DMM6FevUCjknhw+OGWqHsfdCQJp1w5+OADuPxyKyU7/3yrJBIRKSgl6iJFzc6dsGABNG4MwPPPw6ZNNgIoQufO8NdfsHBh0JEkpOLFrSPMffdZOdlZZ8GOHUFHJSKJSom6SFGzYIGt0tK4MTt2WNlL9+7QunXQgUlcyFj4SOUvBeYc3HwzPPEEfPQR9O0LW7cGHZWIJCIl6iJFzezZdt24MW+9BX/+qdF0yaRZM6hYURNKI+Cqq+Cll2yBpBNPtE+uRETyQ4m6SFEzZw4A6Yc15n//swUpjzsu2JAkjhQvbk3BJ0wIOpKkMHCglcD88IN9crV+fdARiUgiUaIuUtTMmQN16vDZuArMmQP/93/2Ub3IXl27wvTpyiojpH9/668+ZQr06qWRdREJnxJ1kaJmzhxo3JjHHoODDrK+zyL/0K2bdX3RqHrE9OkD778PqalWBrNlS9ARiUgiUKIuUpR4D3PmML36MYwbB0OG7G2lLrJPx462INb48UFHklT69LEymAkT4OSTYdu2oCMSkXinRF2kKFmxAjZt4qklfShb1upnRf6lbFlo394KqyWizjwTXnsNxo6F005T60YRyZ0SdZGiZM4c1lCVN1Mbcd55ULVq0AFJ3OrWDSZNUl/BKDj3XFtk7IsvoF8/2L076IhEJF4pURcpSubM4SUuZvvO4lx5ZdDBSFzr2tUyyF9+CTqSpHTxxfDUU/Dxx3DFFVoIVkSyp0RdpAjZPXMuT7shHHOMp3nzoKORuHbEEdYOSOUvUTNkiC2M9MILcPfdQUcjIvFI08hEipBPfqzGUl+XJzWaLnmpVMma7GtCaVTde69NHbnzTqhdGwYNCjoiEYknGlEXKUKenNuDg8uvpnfvoCORhNCtm61QunNn0JEkLedsRL1XL7jsMhg1KuiIRCSeKFEXKSKmTdjC+J2dGNJtOsWLBx2NJISuXa2H4JQpQUeS1EqWtB7rbdvCWWfZeyMREVCiLlJkPPXfrZRjCwP7q3mzhKlrV7tW+UvUlS8Pn38OBx4IffvCkiVBRyQi8UCJukgR8Pff8NaXVTmPN6jS/tCgw5FEUbMmNG6sRD1GatSATz+F7dttQaTNm4OOSESCpkRdpAgYPhx27CrOFcWfh0MOCTocSSRdu8KPP8KePUFHUiQ0aQLvvgszZsB550F6etARiUiQlKiLJLn0dHj+eehSbRYtDt1mBbEi4erWDTZsgN9/DzqSIqNnT3jkEeuxftttQUcjIkFSoi6S5L77DubPh8Glh9twnUh+dOtm1yp/iamhQ21RpPvvh7ffDjoaEQmKEnWRJPfss1Ctmue0v561emOR/DjoILto4aOYcg6eftreJ110kRrviBRVStRFktiKFfDJJ3BR33WU2b1ZiboUTLduNqKude5jqlQp+OADm2R6+umwbl3QEYlIrClRF0liL79scwAHtZ9qNyhRl4I48khYtQrmzAk6kiKnRg3rsb5sGZx/viaXihQ1StRFktTu3bbiYffucOj6VLtRiboUxDHH2PV33wUbRxHVqRM8+ih89hk8+GDQ0YhILClRF0lSo0fbKNxllwGzZ0Pt2lCpUtBhSSJq0ADq1YNvvw06kiLriiugf3/rAjNmTNDRiEisKFEXSVLPPQcHHAAnnQTMnAnNmgUdkiSyY46BcePUTz0gztknZI0bW8K+bFnQEYlILChRF0lCCxfCl19ae7eSxdNh1ixo2jTosCSRHXuszWacNi3oSIqsChVg5EhbubRfPytvE5HkpkRdJAm98IKNwF1yCbBkCWzdqhF1KZyjj7Zr1akHqlEjW8BswgS4996goxGRaFOiLpJkdu2CV1+1kpc6dbCyF1CiLoVTu7Z9KqM69cCdfbZ1gLnnHrW3F0l2StRFksxnn1knvUsuCd2Qkair9EUK65hjLDPcuTPoSIq8YcOgfn045xz1VxdJZkrURZLMSy/ZJNKePUM3zJplo6FVqgQalySBY4+1Mqpffw06kiKvYkV45x1YuRIGDdJaVCLJSom6SBJZutQmkV54IZQoEbpRHV8kUo48EooVU516nGjf3urUP/jAFjcTkeSjRF0kiQwfbisXXnRR6IZ0dXyRCKpSBdq0UZ16HLn+evug46qrYO7coKMRkUhToi6SJNLTbVTtuONsfRpAHV8k8o45Bn75BbZsCToSwT7geP11KFMGLrhALRtFko0SdZEkMWYMLF5svdP3UscXibRjjrHWQj/+GHQkEnLAAfD00/b+6eGHg45GRCJJibpIknjpJahaFfr2zXSjOr5IpHXpAiVLqk49zvTrB6efDrffDjNmBB2NiESKEnWRJLB6NXz8sfVWLl060x3q+CKRVr48dOqkOvU44xw884z9qZ9/vjpoiiQLJeoiSeCNN6waYeDALHeo44tEw7HHwpQpauAdZ2rUsFVLp02D++4LOhoRiQQl6iIJznt48UUb5GzePNMd6vgi0XLssfbEU/lL3OnbF847zxL11NSgoxGRwlKiLpLgfvoJ5szJtBJpBnV8kWjp2BH228+a9kvceeIJ2H9/GDAAduwIOhoRKQwl6iIJ7tVXrWz4zDOz3KGOLxItJUtC9+6WqGtJzLhTpYqVwMyaBQ8+GHQ0IlIYStRFEtiWLfDee3DGGVChQpY71fFFoqlnT1i2bN/zTOLKiSdC//5WAjNrVtDRiEhBKVEXSWAjR8KmTbbQyb/MnKmOLxI9PXvatcpf4tYTT1iF0sUXw549QUcjIgWhRF0kgQ0fbquQdu2azZ2zZqnsRaKnTh2bvaxEPW7VqAGPPQY//wzPPht0NCJSEErURRLUokXWdGPAAFtG/B/U8UVioWdP+OEH2Lw56EgkB+eeCz16wE032fxyEUksStRFEtTrr9v1gAHZ3Ll4sTq+SPT17Gkr64wdG3QkkgPn4LnnbM7vZZdp7q9IolGiLpKA0tOt7OWYY+Dgg7PZIGP2mBJ1iaYuXazlkMpf4lq9ejapdPRoGDEi6GhEJD+imqg753o65+Y65+Y7527M5n7nnHsydP9051ybvPZ1zlV1zn3jnJsXuq6S6b6bQtvPdc71yOZ8o5xzv0fjsYrE0g8/wMKFcOGFOWygji8SC6VL27vFL77QUG2cGzIE2rWDa6+FDRuCjkZEwhW1RN05Vxx4GugFNAX6O+eyZg29gIahyyDg2TD2vRH41nvfEPg29D2h+/sBzYCewDOh42TEcyqgQkpJCq++ChUrwqmn5rCBOr5IrPTsae8a580LOhLJRfHiNqF01Sq47bagoxGRcEVzRL0DMN97/4f3ficwAuiTZZs+wOve/AJUds7VzmPfPsBroa9fA/pmun2E936H934hMD90HJxzFYBrgXuj8DhFYmrzZvjgAzjrLChXLoeNZs5U2YvERkabxi++CDYOyVO7dnD55fD00zBlStDRiEg4opmoHwgszfT9stBt4WyT2761vPcrAULXNcM43z3AI8DW3AJ2zg1yzqU651JXr16d26YigXn/fVvoKNve6WANk2fOhBYtYhmWFFUNGsBhh6lOPUHce6+1bbzsMvVWF0kE0UzUXTa3ZS1izGmbcPYN63zOuRTgUO/9R3nsj/f+Be99O+99uxo1auS1uUgghg+Hhg2hc+ccNpg/H7Zvh5YtYxmWFGU9e8K4cbBtW9CRSB4qV4ZHHoGJE+Gll4KORkTyEs1EfRlQN9P3dYAVYW6T276rQuUxhK7/yuNYhwNtnXOLgB+Bw5xz4wr0iEQCtmABjB9vo+kuu7emANOn27USdYmVXr3szeH33wcdiYTh7LPh6KPhxhvhr7/y3l5EghPNRH0S0NA5V985Vwqb6DkqyzajgPND3V86ARtC5Sy57TsKyOgcPQD4JNPt/ZxzpZ1z9bEJqhO998967w/w3tcDugBp3vujovGARaLttdcsQT///Fw2mj7dVkBSxxeJlSOPhDJl4PPPg45EwuAcPPOMldBdf33Q0YhIbqKWqHvvdwNDgK+A2cB73vuZzrnBzrnBoc1GA39gEz9fBC7Pbd/QPg8C3Z1z84Duoe8J3f8eMAv4ErjCe68KPEka6emWqHfvbqu352j6dGjUyBInkVgoWxaOPx4++URtGhNE48aWpL/+OkyYEHQ0IpIT5/Wimq127dr51NTUoMMQ2evbb+G44+Cdd6Bfv1w2rF8fOnbUyiYSW6+8AgMHWjuR1q2DjkbCsGWLJew1a1rNevHiee8jIpHnnJvsvW+X3X1amVQkQQwfDpUqQZ+sTU4z27gRFi1SfbrE3kknWU3Fxx8HHYmEqXx5ePhhe2/1yitBRyMi2VGiLpIANmyADz+E/v2tyiBHv4cW3lWiLrFWsyYccYSVv0jCOPNM6NYNbr4Z1q0LOhoRyUqJukgCeP9963yXY+/0DOr4IkHq0wd++80+1ZGE4Bw8+SSsXQt33BF0NCKSlRJ1kQTw6qvQpAl06JDHhtOnW31M3bp5bCgSBRl1WRpVTyitWsHgwdYJZsaMoKMRkcyUqIvEubQ0+OmnPHqnZ5g+3UbT89xQJAoaNrS2oErUE87dd9t7/KFD1bhHJJ4oUReJc8OHW1v0887LY0PvLVFv0SIWYYlkr29fW5Vr7dqgI5F8qFYN7r0Xxo6FDz4IOhoRyaBEXSSO7dljfY579oTatfPYePFi2LRJ9ekSrD597ImrxY8SzqBB9vLxf/9nC82KSPCUqIvEsTFjYPlyuPDCMDbWRFKJB+3awQEHqPwlARUvDo88YnOBn3oq6GhEBJSoi8S14cOhalXo3TuMjTNmgTVvHs2QRHJXrBicfDJ8+aWGZRPQccfBiSdaGczq1UFHIyJK1EXi1Lp18NFHcPbZULp0GDtMnw4NGkDFilGPTSRXffrYspfffht0JFIA//uf/fruuivoSEREibpInHr3XdixI4ze6RkyOr6IBO3oo+0No1YpTUhNmli9+nPPwZw5QUcjUrQpUReJU6++ag1c2rQJY+Nt26yPoxJ1iQelS1v9xMcfw65dQUcjBXDnnVCunE0sFZHgKFEXiUOzZsHEiWH2Ts/YIT1dibrEj3794O+/4bvvgo5ECqBmTbjlFvj0U/0KRYKkRF0kDg0fDiVKwLnnhrmDOr5IvOnZ01bQGTEi6EikgIYOhYMPhv/8xzpuikjsKVEXiTO7d8Mbb8AJJ9ioVlimT7fPqRs0iGpsImErXRpOOQVGjrTJFpJwypSBBx6AadPsNUlEYk+Jukic+eor+PPPMHunZ5g+3doyFi8etbhE8q1fP9i40Vo1SkLq1w86dLAymC1bgo5GpOhRoi4SZ4YPh+rVbUQ9LN6r44vEp2OOsSezyl8SlnPw6KOwYgU8/HDQ0YgUPUrUReLImjUwapTVppcqFeZOK1fapD0l6hJvSpaE00+3J7WGYxPWEUfYr/GhhyxhF5HYUaIuEkfeeQd27sxH73SAKVPsOqw+jiIx1q8fbN0Kn30WdCRSCA8+aJ02b7st6EhEihYl6iJxZPhwaN0aWrXKx05Tptjn0/naSSRGunSBAw5Q+UuCO+QQuPJKW99h2rSgoxEpOpSoi8SJGTNg8uR8jqaDJeqNGkGFCtEIS6RwiheHM8+E0aNhw4ago5FCuPVWqFIFrrvOpsaISPQpUReJE6+8YnXp55yTzx2nTFHZi8S3fv2spuvjj4OORAqhShW44w749lt73yUi0adEXSQO7NwJb74JJ58M1arlY8fVq2HpUiXqEt86dIB69VT+kgQuuwwaNoTrr7c1H0QkupSoi8SBzz6zxi0XXZTPHadOtWsl6hLPnIP+/eGbb2yRAElYJUvaIkizZ8PrrwcdjUjyU6IuEgdeeQUOPBCOPz6fO2Z0fGndOuIxiUTUgAG2Dr2yu4R36qn2Icntt8O2bUFHI5LclKiLBGzFCvjiCzj//AIsLDplCjRoAJUrRyM0kchp1Mgacr/8smYiJjjnrKf68uXw1FNBRyOS3JSoiwTsjTcgPR0uvLAAO2siqSSSgQMhLQ1++inoSKSQjjzSVk9+4AFYty7oaESSlxJ1kQB5b2UvXbrYBK18Wb8eFixQoi6J44wzrI3oyy8HHYlEwAMPWMfNBx8MOhKR5KVEXSRAP/9sA4z5nkQK+yaStm0b0ZhEoqZCBTjrLHjvPdi0KehopJBatoRzz4UnnrDmUyISeUrURQL0yitQvrwNNOabJpJKIho4ELZssWRdEt7dd9sng3feGXQkIslJibpIQLZsgXfftUUbC7So6JQpULcu1KgR8dhEoqZTJ2jcWOUvSaJePbjiChg+HGbNCjoakeSjRF0kIB98AJs3F7DsBTSRVBKTczaq/vPP1oxbEt7NN9tgw803Bx2JSPJRoi4SkFdesQmkRxxRgJ03b4a5c5WoS2I67zwoUcL+CCThVa8O//d/8MknMGFC0NGIJBcl6iIBmD8fxo+3lozOFeAAv/1mhaFK1CUR1aoFJ51kix/t2hV0NBIBV18N++8PN9ygNvkikaREXSQAw4dDsWK2yFGBZEwkVaIuiWrgQPjrLxg5MuhIJALKl7cJpRMmwKefBh2NSPJQoi4SY3v2WKLeowcceGABDzJlio1K1q4dydBEYqdXL1tV94kngo5EIuSii+Cww+Cmm+x1TkQKT4m6SIyNGWNLbxd4Einsm0haoLoZkThQvDhcdZVNKv3116CjkQgoWRLuv9+6v7z+etDRiCQHJeoiMfbKK1CtGvTuXcADbN8OM2eq7EUS30UXwX77aVQ9iZx6KnToALffDtu2BR2NSOJToi4SQ2vXwscfwznnQOnSBTzIjBn2ubISdUl0FStarfr778OyZUFHIxHgHPz3v/brHDYs6GhEEp8SdZEYevtt2LmzkGUvEyfadbt2EYlJJFBXXgnp6fDMM0FHIhFy1FE2BeGBB2DduqCjEUlsStRFYuiVV2wgvFWrQhzkl19sEmnduhGLSyQw9etDnz7w/POwdWvQ0UiEPPAArF9vo+siUnBK1EViZNo0mDrVeqcXyq+/QseOmkgqyePqq60u7M03g45EIqRVKzj3XJt+oKomkYJToi4SI6++CqVKwdlnF+Iga9bAvHmWqIski65doXVrePxxrZaTRO6+26qa7rwz6EhEEpcSdZEY2LHDBgv79oWqVQtxoIz69E6dIhGWSHxwzkbVZ8+Gr74KOhqJkHr14PLLbZBi9uygoxFJTErURWLgk0/sk/2IlL0UK6aJpJJ8zjrLVgC7916NqieRW26xVUtvvjnoSEQSkxJ1kRh48UU4+GDo3r2QB/rlF2jeHCpUiEhcInGjdGnL5iZMsFXBJClUrw433GBtaX/6KehoRBKPEnWRKFuwwPKOgQNtMcYCS0+30hfVp0uyGjjQuhndfrtG1ZPI1VfD/vtbwq5fq0j+KFEXibKXX7ZqlUL1TgebRLpunRJ1SV6lS1utxC+/wJdfBh2NREj58nDHHfDjj/DZZ0FHI5JYlKiLRNGuXdY7/cQTrfy2UH791a41kVSS2YUXWp3YHXdo+DWJDBwIhx0GN95oCyuLSHiUqItE0aefwqpVMGhQBA7266+25HrjxhE4mEicKlUKbrsNJk2Czz8POhqJkJIl4f77YdYseO21oKMRSRzOa8QiW+3atfOpqalBhyEJrlcv+P13WLgQSpQo5MHatoUqVTTRTpLfrl32hrRyZUhN1eJeScJ7OPxwWwApLQ3KlQs6IpH44Jyb7L3Ptp2bRtRFomTRImsJfdFFEUjSt26F6dNVny5FQ8mSNqo+ZQqMGhV0NBIhzsFDD8Hy5fDUU0FHI5IYlKiLRMnLL9v1wIERONiUKbB7txJ1KTrOPRcaNoSbboKdO4OORiKkWzc46SR44AFbaFlEcqdEXSQKdu+2SaS9esFBB0XggBkTSZWoS1FRogQ88ogtafnkk0FHIxH0wAOwaZPVrItI7pSoi0TB6NGwYgVcckmEDvjrr7Yed61aETqgSALo3duGX++6y/6gJCk0bw4DBsCwYbB4cdDRiMQ3JeoiUfDii1C7trVljIhfflFbRimannjCJpded13QkUgE3X23rS9x221BRyIS35Soi0TYokXWVe6ii2xOXKGtWAFLl6rsRYqmBg1sSct33oGxY4OORiKkTh0YOhTefBN++y3oaETilxJ1kQh74QXrbhCR3umg+nSRG2+00q8hQ2x0XZLCDTdYB84bbww6EpH4pURdJIJ27ICXXrLS2ohMIgX4+Wcbmm/dOkIHFEkwZctaCcysWerrl0SqVIFbboEvv4Tvvgs6GpH4pERdJII+/BBWr4bLL4/gQX/4ATp0gDJlInhQkQTTu7dN+rj9dlstR5LCFVfYoMb//R+kpwcdjUj8UaIuEkHPPAOHHgrHHRehA27ZYiszdusWoQOKJCjn4LnnoHRp6NfPPr6ShFemDNxzD0yeDO+/H3Q0IvFHibpIhPz2G0yYAJddZt0MIuLnn60p+5FHRuiAIgmsTh1boGDqVFsISZLCOedAy5Zw881a20okKyXqIhHy7LM2OnTBBRE86PjxlvV37hzBg4oksD59rF7iscdswQJJeMWLw3//C3/8Ac8/H3Q0IvHFee+DjiEutWvXzqempgYdhiSIDRvgwAPhzDNtwC9ijjrKyl8mTYrgQUUS3PbtNm/jzz/to6zatYOOSArJeysZnD4dFiyA/fYLOiKR2HHOTfbet8vuPo2oi0TAG29YPh3RSaQ7dthCR6pPF/mnMmXg3Xdh82Y47zzYsyfoiKSQnLNR9b//hv/9L+hoROKHEnWRQvLeJpG2a2eXiJk0yZJ1Jeoi/9akibVq/PZbK4XRp8MJr107myf8yCOwfHnQ0YjEByXqIoX0/fcwe3aER9MzDgzQpUuEDyySJAYOtFVznn/e2jZKwrv/fvuA5NZbg45EJD4oURcppKeesoU7zjorwgcePx5atIBq1SJ8YJEk8sADlrDfey88/njQ0Ugh1a8PQ4fCa6/BtGlBRyMSvBJBByCSyBYtgo8/tsU6ypWL4IF377ZejxFtISOShDL6q69bB9dcY29szzsv6KgKLz3d6j/WrbPZ6hs32qVUKahYcd/lwANtpCCJ3HyzTcq/7jr45hv7FYsUVUrURQph2DD7JxLxspepU212qurTRfJWogS89ZatXHrhhfZHee65QUcVvo0b7Y35xIlWRzdnDsyda91twlGzJjRubJfmzW3dhebNI7igQ2xVrgx33AFXXWUdOE88MeiIRIKj9ow5UHtGycvmzbb+Ss+eMGJEhA/+yCM2nLRihVrPiYRr0ybo3dvmd1x3HTz4oDXpjjc7dtgk2DFjLNZp02wE3Tmr/Wjc2CbLNmwI1atbr8JKlWwEfdcue5ybNlmCv3SpJfazZ9tl7Vo7R7VqlrAfcwycfDLUrRvoQ86vnTvtvUaJEtaysYSGFSWJ5daeUU99kQJ67TX7RPrqq6Nw8O+/t3/SStJFwlexotVKXH01PPwwzJgB77wTH6UhmzfDl1/CyJHw2WeWaJcpA506wW232adnnToVvoZu8WIYN84uY8fa+YYMgY4d4bTT7NKgQSQeUVSVKgUPPQSnnAIvvQSDBwcdkUgwNKKeA42oS27S023Qq0oV+PXXKBy8WjX7h/rSSxE+uEgR8eKL1rbx4IPhgw+gVavYx7BunSXlI0dakr59u42Q9+kDp55qo91lykQ3hrQ0O/8HH8DkyXbb4YfbBNyzzoIKFaJ7/kLw3tZ8mz0b5s/XIkiSvLTgkUiEffklzJsXpdH033+H9etVny5SGJdcYiPKmzZBmzb2/cqV0T/vn39au8gePax2/PzzbU2EjHhWrrQ34CecEP0kHeCww+DGGyE1Ff74w1YVWrcOLr7YPrG7+GL4+ee47EPvnFUBrl5tbRtFiiKNqOdAI+qSmx49LJ9etAhKlozwwYcNgyuvtIMffHCEDy5SxKxZY60bn37a6imuv97q18uXj8zxvbd37Z9/biPXEybYbYceap+KnXqqreQTTxM7vbfk/OWXbYXXLVusJn7gQOuYU7Nm0BH+w4ABNg9o1iw45JCgoxGJvMBG1J1zPZ1zc51z851zN2Zzv3POPRm6f7pzrk1e+zrnqjrnvnHOzQtdV8l0302h7ec653qEbivnnPvcOTfHOTfTOfdgNB+zJL9Zs+Drr+1T9Ygn6WD16QcdpCRdJBKqVYPHHrP6iRNOgDvvtJaG554LH30EW7fm/5h//QUffgiDBtnkz0aN4NprbfT+zjutNj4tzSazdugQX0k62FB1586WqGeM8FeqZG9gDjzQ3mB8+aWtPBQHHnjAXmuvvz7oSERiL2oj6s654kAa0B1YBkwC+nvvZ2Xa5gTgSuAEoCPwhPe+Y277OuceAtZ67x8MJfBVvPc3OOeaAu8AHYADgDHAYUBpoKP3fqxzrhTwLXC/9/6L3OLXiLrkZPBgm0i6dKmVm0bUnj02mtW7NwwfHuGDiwg//2z16598Yh1SypaFY4+1EpGDDrLLgQfaWgYbN+7rrpKWBr/9Zpc//7RjVaxo+/boAccfnxCTNHM1a5Yl76+/Dn//bZ1iLrrILgcdFGho991nq5V+9x0cfXSgoYhEXG4j6tFM1A8H7vTeZ4xs3wTgvX8g0zbPA+O89++Evp8LHAXUy2nfjG289yudc7VD+zfKenzn3FehY/ycJa4ngN+99y/mFr8SdcnO33/b/6uzz47SPM+JE607w9tvQ//+UTiBiADW5nD8eCtX+fZbWLIEtm3LefuSJaFZM5uU2qqVjZR36BClj9UCtnOnvZF56SXrogPW6vGcc+D0063ReYxt22bVOZUr25zYAnXd3LPHJvSWLq1+jxJXgmrPeCCwNNP3y7BR87y2OTCPfWt571cChJL1jGK6A4FfsjnWXs65ykBv4InsAnbODQIGARwU8OiBxKenn7Z/GP/5T5RO8NVX9rF09+5ROoGIAJZgH3usXcDqttessYR9+XKrZ99vv30rgB5wQHIm5dkpVQrOOMMuixbZR4hvvWUTYq+4Ak46yWrve/a00qIYKFsW/vc/OPNMG/QfNCjLBps3Wz/5BQts0uzChXZZtcom569fb5+OZChRwibzli9v5UuHHbbv0rmzfaoiEgeimahnt+hv1uH7nLYJZ998nc85VwIrjXnSe/9Hdgfw3r8AvAA2op7H+aSI2bIFnnrK1g5p0iRKJ/nqK+tQEfGaGhHJlXP2d1e9uv0NiqlXz5YJvf126xzz1ls2AXXkSKu9P+IIK9U77jho0SKqI9Wnnw5dO+/m1hs9Z+1+j0qLfoOZM61kZ9Gif25cvbol4A0aWB/dypXtUrasLTi1fbtdNm60xP6776zkJ0OLFvZGpFcve4ylSkXtcYnkJpqJ+jIg81JodYAVYW5TKpd9VznnamcqffkrzPO9AMzz3j+e/4ciAq+8YgNu//d/UTrBhg3wyy9www1ROoGISAE5B+3b2+XRR63l5Gefwaef7ntRLF/e7j/8cGjb1jrfHHJI/nu1795tI+ELFtgk4FmzYPZs3KxZPL68Ju1I5Z4rVvJwqSdsQYtOnaxjTdOmtlBc/foF6w+/ZYuNyn/3nU2mffxxG8avWRMuvdQmKB1wQP6PK1II0axRL4FNCD0WWI5NCD3bez8z0zYnAkPYN5n0Se99h9z2dc79D1iTaTJpVe/9/znnmgFvs28y6bdAQ+/9HufcvUAT4AzvfXo48atGXTLbvdv+59SpAz/+GKWTfPSRfZz8/ffqoS4iiWPZMvjhB5uo+/PPMG2avWhmqFnTulhVqmQJdIUKtgLrrl02qr1tm11Wr4YVKyxJz5yblC9vH2M2bQpNmnDxt/15bdxBzJi6h8bNozjeuHkzjBljtTaff26F8aedZgtodOoUvfNKkRPIZNLQiU8AHgeKA6947+9zzg0G8N4/55xzwDCgJ7AVuNB7n5rTvqHbqwHvAQcBS7Dke23ovluAi4DdwNXe+y+cc3Wwevc5wI5QaMO897lOBVSiLpm9/bbNo/rkEyt9iYrBg+1j5bVri04trIgkn61b99WLZ1yWLLEa8c2b7bJli73OlS2771K9uo1YH3CA1YgffLAl6HXr2oh+yF9/WSl5+/bWKtdlV/gaaQsWwLPPWtK+fr3V7z/0kJUGiRRSYIl6IlOiLhm8h9atrRHC779HqSWy91ZL2bKlvRsQEZEcPfUUXHUVfPCBDXLHzJYttlzqf/9rXWT+8x+46aaCldqIhAS24JFIMvj6a2udfP31UVy3ZP58mwzVo0eUTiAikjwuu8zGNa65pmBrVhVY+fI2sXbuXJvdev/9Nrw/enQMg5CiRIm6SB7++1/7FPacc6J4kq++smsl6iIieSpRAoYNs4Xn7r8/gADq1IE337Sa/OrV4cQTYehQq7kXiSAl6iK5mDQJxo61UZuoduf66ivrjnDIIVE8iYhI8ujaFc491xqzzJ8fUBCdOtlCdVddBU8+aYtgzZyZ934iYVKiLpKLBx6wRgWXXBLFk+zcae8Gjj8+iicREUk+Dz1kgyhXXx1gEGXKwBNPWGeYVaugXbt/9mQXKQQl6iI5mD7dOiYOHWoLFEbNTz/ZBCWVvYiI5Evt2nDnnZYjjxoVcDAnnGD/ODp3hgED4JZbID2sjtAiOVKiLpKDu++2BD3qIzVffWUFl0cfHeUTiYgkn6uugmbN4MorbcwjULVq2WJJl1xixfNnnWU94kUKSIm6SDZmzIAPP7TR9CpVonyyr76yEZioDtuLiCSnkiXhueesVfuddwYdDRbQ88/Dww/bP5KjjoI//ww6KklQStRFsnH33VCxYgxG05cvh6lTVfYiIlIIXbrAxRfDY49ZO93AOWc91keOtAU4jjgCFi8OOipJQErURbL4/XdbRGPoUKhaNcon+/hjuz7llCifSEQkuf33v/aafemlthZRXOjbF777zlac7tYtwPY0kqiUqItkcc89Npp+zTUxONlHH0HjxrZMtoiIFFjVqvDoo/Drr/DCC0FHk0nHjpasb9liyfqcOUFHJAlEibpIJjNnwvvv2+SkqI+mr1kD48bBqadG+UQiIkXDOefAscfCjTfCypVBR5NJ69b2ep+eDkceaROhRMKgRF0kk3vusRWiYzKa/umn9vmsyl5ERCLCOXj2WdixI+De6tlp3hy+/94mmx59NMyaFXREkgCUqIuEzJwJ771no+nVqsXghB99BHXrQtu2MTiZiEjR0LChtTB/7z0bD4krjRrZyHrJktC9OyxcGHREEueUqIuE3HSTdUi89toYnGzzZmvLeMopNgQkIiIRc8MN0KIFDB4M69cHHU0Whx4KX39t/dWPOw5WrAg6IoljStRFgB9+sJGXG2+M0Wj6l1/aZ7OqTxcRibhSpeDVV2HVKuuSGHdatLD/A3/9ZSPrf/8ddEQSp5SoS5HnvY2+HHCAlb3ExMiRUKOGNf8VEZGIa9sWrr8eXnnFBrDjTocONkK0YAH06gWbNgUdkcQhJepS5H3yCfz8M9x1F5QrF4MT7tgBn30GJ58MxYvH4IQiIkXTHXdYWfgll8RpHnzUUbZwx9SpcMYZsGtX0BFJnFGiLkXa7t1Wm964MVxwQYxO+t139h9DZS8iIlFVpoyNqC9daqWNcemkk+C552ze0uDB9jGvSIgSdSnSXn3V1p548EEoUSJGJx050lZUOvbYGJ1QRKTo6tzZWjU+84w1XIlLF18Mt91m7yruuSfoaCSOOK93btlq166dT01NDToMiaKtW23yff368OOPMWq+smcP1K5tSfo778TghCIisnUrtGxpL8G//WYdvuKO93DhhfDaa5awX3hh0BFJjDjnJnvv22V3n0bUpch64glbue6//41hh8Tx42H1ai1yJCISQ+XKweuvw5IlMHRo0NHkwDl44QVr2ThoEHzzTdARSRxQoi5F0sqVcP/9Np8zpo1XXnvNhnJ6947hSUVEpHNnm5M0fLhVIMalUqXgww+hSRM4/XStXipK1KVouuEG2LkTHnkkhifdvNlm9591FpQtG8MTi4gIWBeYtm1twHrlyqCjycF++1lnsLJl4cQTrde6FFlK1KXImTAB3ngDrrvOatRj5sMPYcsWGDAghicVEZEMJUvCm29azfrAgXHcYOWgg2DUKPjzT+jbF7ZvDzoiCYgSdSlS9uyBIUOgTh24+eYYn3z4cHtn0LlzjE8sIiIZGjeG//0PvvgCnn026Ghy0aGDjSr9/DNcdFEcv6uQaFKiLkXKiy/CtGnw8MNQvnwMT7xokfUFGzAghjNXRUQkO5dfDj162Cers2cHHU0uTj8dHnjAuoTddVfQ0UgAlKhLkbFmDdxyiy0Ed+aZMT75669bgn7++TE+sYiIZOWcraNRoYL9P9i6NeiIcnHDDdaq8a674K23go5GYkyJuhQZt94KGzbAU0/FeFDbe+v2cvTRVncoIiKBq13b6tVnzoSrrgo6mlw4ZyuXHnmklcBMmBB0RBJDStSlSJgyBZ5/Hq64Apo3j/HJf/wR/vgDLrggxicWEZHcHH+8tWx8+WVL2uNWqVLWU/Lgg21y6YIFQUckMaJEXZLerl22OnPNmgGV+L32mn2+euqpAZxcRERyc9dd0LUrDB4Mc+YEHU0uqlaFzz+H9HQ46SRYvz7oiCQGlKhL0nv4YZg6FZ55BipXjvHJt26F996DM86I8exVEREJR4kSNlezbFmrV9+2LeiIctGwoY2sL1hgE0137Qo6IokyJeqS1GbPhjvvtNezQAa0R46ETZtU9iIiEscOPNA6Ic6YEef16mC16i++CN9+a/WcatuY1JSoS9Las8cWtKhQAYYNCyAA7+GJJ6BRI+jSJYAAREQkXD172voaL71kc5ri2oABFuyLL8KjjwYdjURRiaADEImWYcNsnYg33oBatQIIYMIESE21FTWK6T2xiEi8u/tuK5UcMgSaNYvzMZZ77oG0NLj+ejjkEJtkKknHeX1kkq127dr51NTUoMOQAvrjD2jRwnqmf/ZZQGsMnXaaLXK0dCmUKxdAACIikl/r19uioBs2wOTJtpJ13Nq2zf7R/f47/PADtGkTdERSAM65yd77dtndp2E+STrp6dblpXhxaz0bSJK+cCF8/DFceqmSdBGRBFK5MnzyieXAp5wS55NLy5a1YKtXh969YfnyoCOSCFOiLknnkUdg7Fi7rls3oCCefNLKXa64IqAARESkoJo0sb7qqak23hLXxQf7728fHW/aZMn65s1BRyQRpERdksrEiTa/5rTTbFQ9EBs22Gykfv2slYCIiCSck0+2mvU33oD//S/oaPLQogW8+y789hucc451U5CkoERdksbGjdC/PxxwgE2ED6TkBWyJu82b4ZprAgpAREQi4ZZbbMzlhhtgxIigo8lDr17WaWzUKPi//ws6GokQdX2RpOA9XHYZLFoE48dDlSoBBbJ7t5W9dOumST0iIgmuWDEYPhxWrLCOiLVrWxvzuDVkiHWCefRROOwwq9uRhKYRdUkKr78Ob79tixsdcUSAgXz0ESxerNF0EZEkUbq09QbI6IA4a1bQEeXh0UfhhBNsjtQ33wQdjRSS2jPmQO0ZE0damg1et28PY8ZYt5dApKdbEBs2wNy5AQYiIiKRtngxdOoEpUrZGh0HHBB0RLnYtMlGrZYsgZ9+gqZNg45IcqH2jJK0Nm609lllytgM/UBz4w8+gClT4I47lKSLiCSZgw+Gzz+HNWtswHr9+qAjykXFitYJpkwZOOkkWL066IikgJSoS8LaswfOPdcGr997L+AGK7t2wa23QvPmcPbZAQYiIiLR0qaNjcnMmmVzNzdtCjqiXBx0kE0sXbnSana2bw86IikAJeqSsG67DT791Ca5H3NMwMG8+irMmwcPPKDRdBGRJNazp3VCnDTJBqu3bg06olx06GD9JX/6CS66KM4bwkt2lKhLQnrnHcuJBw2Cyy8POJitW/fNYj3xxICDERGRaDvlFMt/f/ghAQarTz8d7r/f/nHeemvQ0Ug+qT2jJJxJk2xgoFs3eOqpAPulZ3jqKfto8b334iAYERGJhf79YccOuPBCOOMM+PBDm2gal268ERYutIS9cmW4/vqgI5IwKVGXhLJ0qY1e1KpldYKBvyiuWwcPPmgj6V26BByMiIjE0gUX2Gj6ZZdZsv7uuzZ/M+44B88+ax0Y/u//YL/91GM9QShRl4SxejV0726Lfv7wA9SoEXREwEMPWTvG++8POhIREQnA4MHWnfeKK2zM5uOPrelK3Cle3Op1Nm+2dxYVK6r5QQJQjbokhA0bbALP4sXWcaply6Ajwhq4P/YYnHNOnAQkIiJBuPxyW3jv++9tQGnt2qAjykHJkvD++7a86vnnwyefBB2R5EGJusS9bdvg5JNh+nSrAezaNeiIsOGTiy+GsmVtVF1ERIq0886zksypUy0PXrky6IhyULastW1s29bqdZSsxzUl6hLXdu2y15EffrBP7E44IeiIQp5/3oJ69FGoXTvoaEREJA707QujR9u8za5drWtvXKpYEb76Clq3tq4wI0cGHZHkQIm6xK1du2xBo88/h2eegX79go4oZMkSm4xz3HE2k0hERCTk2GNhzBhbubRjRxg7NuiIclC5Mnz9NbRvD2eeaZ3LJO4oUZe4tG2b9al97z343/9ssk5c8H7fzKEXXlA7RhER+ZdOnWDiRNh/fzj+eHjxxaAjykGlSjayfvjh1m/y7beDjkiyUKIucWfjRps4Onq0dZO67rqgI8rk7bfhiy+sy0v9+kFHIyIicapBA/j5ZxthHzQI/vMf2LMn6KiyUbGi/V/r1s0+xn766aAjkkyUqEtc+ftvOOYYW+34rbfiaCQdYMUKGDrUhkqGDAk6GhERiXOVKlmnsiuvtClNvXvb/7m4U6GC1Zn27m3/3265xT5BlsApUZe4sWSJvaGfOdP60PbvH3REmezYAaedZitbvPKK9aMVERHJQ4kS8OST9gnxt9/a/M0ffww6qmyUK2et1QYNsk+NL7rIJotJoJSoS1wYPx7atYPly61c7sQTg44oE+9thOGXX2D4cGjSJOiIREQkwQwebKUwpUvDUUfZotbp6UFHlUWJEvDcc3DXXfb/7uSTYdOmoKMq0pSoS6C8t3K4Y4+FqlVt8k23bkFHlcXzz8NLL8HNN1sbKxERkQJo0wamTLEPaG+6yQalVq0KOqosnIPbb7cZsN98Y+WecdtnMvkpUZfA7NgBl1xig9U9e8Kvv0KjRkFHlcWPP8JVV0GvXnD33UFHIyIiCW6//WDECCuFGTsWmjWzPgVxVxJ+8cXWvnHVKmvh+MUXQUdUJClRl0DMn28rt738ss1Z+eQTm3QTV5YutRH0gw+2V1HVpYuISAQ4Z6UwU6dCw4Zwzjm2WFLcrWZ6zDGQmgr16tnw//33x+E7iuSmRF1iyntrP56SAnPn2nLL994LxeLtmbh0KRx9NGzdajNbK1cOOiIREUkyTZrYB7ePPGKD102bwquvxlnter161ortrLNsZO3kk+Gvv4KOqsiIt/RIktiff1rnp0svtbUVZsywOr24s3SpzfRZvdpeOZs1CzoiERFJUsWLw7XXwvTp0KKFNVs54gibsxU3ypWzT5Yff9zq1lu2VClMjChRl6jz3nqiN29uramefNI6u9SpE3Rk2ViyxJL0v/+2JL1Tp6AjEhGRIqBhQxg3Dl57DRYtgo4dYcAAW8IjLjhna4lMmgQ1asAJJ9gcrm3bgo4sqSlRl6iaNm3fYmcNGths9yuvjMNSF4DFiy1JX7PGRgw6dgw6IhERKUKKFYPzz4e0NOsKM2IEHHYY3HEHrF8fdHQhLVpYsj50KDz1lNWyfvdd0FElrXhMlyQJrFkDl18ObdvCnDnW5emXX+K4Bfm4cdChA6xda0l6hw5BRyQiIkVUxYo2b3P2bOuKdvfdVip+111xkrCXKbOvDGbPHuuxfO65cdhrMvEpUZeI2rAB7rvPPsJ74QVrvZiWZl2e4nIU3XubxXPccVClik2Yad8+6KhERERo0MCaLkydag1Y7rwT6te3hH316qCjw/53zpgBt90G771nPZafeUYrmkZQPKZOkoDWr9/3jv/WW6FzZ3theeIJy3/j0qZNcOaZcN111hdr4kSbci8iIhJHUlJg5Ej7v3r00Zaw160LAwfCb78FHFzZspYAzJhhH6NfcYX9Lx0xIs7a1yQmJepSKEuW2IKd9epZDV23btZy9bPPrIwtbn31lS0RN3Ik/O9/8P77tgqFiIhInMpI2GfOhAsvtFw4JcWmV737LmzfHmBwjRrBmDEwapQl7/37W+I+erR6rxeCEnXJt/R0+PJLa6Vavz7897/2kdyUKbZwUdu2QUeYi4xFjHr2tBns331nI+rOBR2ZiIhIWJo2tZVNly2zsaZFi6BfP9h/f2uBPGFCQLmxc9aHeepUePNN2LjRFkpKSYHhw21JcskX5/UuJ1vt2rXzqampQYcRV2bNsnfsb74Jf/wBNWta7fmgQbZ4Z1zbvBmGDYN77rFXr1tvhf/8B0qXDjoyERGRQtmzB8aOtdaOI0faWn2HHAJnnGGVne3bBzRPbOdOSxoeewx+/x1q1bLSmIsvhtq1AwgoPjnnJnvv22V7nxL17ClRt3w2Lc2qQt591/7GnLOP2AYNglNPhVKlgo4yD6tWWfuoZ56BdeugTx+bqV6vXtCRiYiIRNymTZasv/mmNTTbvdty4pNPtsHuI4+EChViHJT3tpDKo4/aQknFisHxx1svyj59bEGlIkyJegEU1UR940arBvnySyvjXrTIbj/iCFs9+PTTE+BNsPc2MfTll+H11+0d/SmnwPXXawEjEREpMtatsxLxjz+2/HjLFihRwv4VHnusXTp0iPGHy2lp9r/5jTdsolvFipas9+4NPXpApUoxDCY+KFEvgKKSqC9fbh0JMy5Tpti77woVrO68Z0846SSbXR7XvLfg333XWkQtXmx9XgcMsBKXhg2DjlBERCQw27bBjz/awPa338Lkyfavs1QpKyHv1MkuHTrY/LOol8qkp8P48Za0jxplC7CUKAFdu0KvXtadok0bKFkyyoEET4l6ASRbor5rF8yfz/+3d/cxclX3Gce/D3bt9Rsv6wVkbBKcsI5FYsxLtODgIFoHCP7HpEoqV1WgDgpyGgpphRKiqClqJeREbVWiqKE0ccFVC4SQF5cGkqYJhqjg5aV+5cUv2IqNDYuxi23MOtn1r3+cM9npMDNrm5mdO+vnIx3dO+ee+zL3+K5/c+6557Ju3VBasyY9iAIppu3pSS3nV18N8+YVvFtLROo0v2pVutBXrYJXX00X+VVXpeb/RYtOyF/mZmZmw9m3L/3X+eSTsHp1etnooUNp2eTJaeS2OXPg/PPTywq7u2H69CYF8IOD6a2IDz+c0oYNKX/ChPTrYf789Gti7twR+hUxshyoH4d2C9QHBlKc+sorKfjesQO2bk3B+ebNqQvL4GAqO3YszJ6dLr6enjTm+dy5BQ7M+/vTX5ONG1NwXpru35+WT5+eOt0tWJCemunsbOnhmpmZtZuBgfTfa29vGhJ9/fo0Rvu+fUNlOjrg3HNTeu97093297wnTc86C7q6GtTdfPfuNHTNE0+k2wBr1gyNyT5pUvoF0d2d3ghVSjNmwOmnp+VtpmWBuqSPA3cCY4BvR8SyiuXKyxcCh4A/jojn6q0rqRN4ADgH2A78QUTsy8u+DNwADAI3R8RPcv7FwD3ABODHwC0xzBdvRaD+6qvQ15f6kL31VhqopNr8/v2wZ89Qev31tF7lewVOPjn9Oy5dVLNmpYB89uw2G+xkz5508UGafvCDKV18cQrQZ8708IpmZmYNFgG7dsGLL6ZGv82bUwPgli2pe/nBg+9cp6MjBexdXTB16v+fnnZaaiSvljo6hqYnnZSSlNK4gUOc3rcxdQdYuzb9iti6NbVMVoZzEyemYek6O1PQPnFimnZ0pI2Vyh85km4hHDiQ0sGD6Xm2O+5o/omt0JJAXdIYYBNwJbATeBr4w4h4vqzMQuBPSYH6JcCdEXFJvXUlfR3YGxHLJN0GnBYRX5J0HnAf0AOcBfwMmBURg5J6gVuAp0iB+jci4pF6x9+KQH3JkjTMaD3jxqXnLrq6UsxauhimTUsNyzNmDE2nTh1F8esvf5leplAK2M3MzKxlIuDNN1PAvmNHagR/443Utlaals/v23f8Y7vPmZNi9Hc4fDgdwMsvpwPo6xtKe/emQLzUyln+NqhScDRpUgqqpkxJ/X2uvBI++9njO8h3oV6gPraJ++0BtkTEy/kg7gcWAc+XlVkErMit209JOlXSNFJrea11FwFX5PXvBR4DvpTz74+Iw8A2SVuAHknbgZMj4sm8rRXAtUDdQL0Vli5N7wWYPDn92ylNy+fHNrPGimz+/FYfgZmZmWUSnHpqSuefP3z5wcEU2L/9dkr9/UPz5Xn9/amx+8iRFNhHpJb4qsaPT10HRvGAEc0M+6YDO8o+7yS1mg9XZvow654ZEbsBImK3pDPKtvVUlW39Js9X5r+DpBuBG/PHg5JeqvXlrCG6gD2tPghzPRSE66H1XAfF4HooBtfDyKn52shmBurVOl1U3vSoVeZo1j3a/R31tiLibuDuYfZjDSLpmVq3emzkuB6KwfXQeq6DYnA9FIProRiaOb7NTqB89O0ZwK6jLFNv3ddy9xjytO8otjVjmOMwMzMzMyuUZgbqTwPdkmZKGgcsBlZWlFkJXKfkUuDN3K2l3rorgevz/PXAj8ryF0saL2km0A305u0dkHRpHmXmurJ1zMzMzMwKqWldXyJiQNJNwE9IQywuj4iNkpbm5XeRRmBZCGwhDc+4pN66edPLgO9KugH4FfCpvM5GSd8lPXA6AHw+IvLI4XyOoeEZH6GAD5KeoNzNqBhcD8Xgemg910ExuB6KwfVQAH7hkZmZmZlZAY2ud7CamZmZmY0SDtTNzMzMzArIgbq1hKSPS3pJ0pb8hllrIEnbJa2XtEbSMzmvU9J/Stqcp6eVlf9yrouXJF1dln9x3s4WSd/ID2RbDZKWS+qTtKEsr2HnPT8s/0DOXy3pnBH9gm2iRj3cLumVfE2syW/GLi1zPTSYpLMl/ULSC5I2Srol5/t6GEF16sHXQ7uICCenEU2kB4S3Au8DxgFrgfNafVyjKQHbga6KvK8Dt+X524Cv5fnzch2MB2bmuhmTl/UC80jvI3gEuKbV363ICbgcuAjY0IzzDvwJcFeeXww80OrvXMRUox5uB26tUtb10Jw6mAZclOenAJvyufb1UIx68PXQJskt6tYKPcCWiHg5In4N3A8savExnQgWAffm+XuBa8vy74+IwxGxjTQKU4/SewpOjognI/0FXlG2jlUREY8DeyuyG3ney7f1PWCB73K8U416qMX10AQRsTsinsvzB4AXSG8F9/UwgurUQy2uh4JxoG6tMB3YUfZ5J/X/cNixC+Cnkp6VdGPOOzPSewXI0zNyfq36mJ7nK/Pt2DTyvP92nYgYAN4EpjbtyEefmySty11jSl0uXA9NlrtCXAisxtdDy1TUA/h6aAsO1K0Vqv3S9jihjXVZRFwEXAN8XtLldcrWqg/XU3Mdz3l3nRy/bwHvBy4AdgN/m/NdD00kaTLwEPCFiNhfr2iVPNdDg1SpB18PbcKBurXCTuDsss8zgF0tOpZRKSJ25Wkf8ANSd6PX8u1L8rQvF69VHzvzfGW+HZtGnvffriNpLHAKR9/F44QWEa9FxGBEHAH+iXRNgOuhaST9Dik4/NeI+H7O9vUwwqrVg6+H9uFA3VrhaaBb0kxJ40gPn6xs8TGNGpImSZpSmgeuAjaQzvH1udj1wI/y/EpgcX5yfybQDfTm29IHJF2a+xteV7aOHb1GnvfybX0S+HnuL2rDKAWH2SdI1wS4Hpoin7PvAC9ExN+VLfL1MIJq1YOvhzbS6qdZnU7MBCwkPX2+FfhKq49nNCXSaDprc9pYOr+kPoP/BWzO086ydb6S6+IlykZ2AT5M+gO+Ffgm+W3GTjXP/X2k28i/IbUy3dDI8w50AA+SHvDqBd7X6u9cxFSjHv4FWA+sIwUW01wPTa2D+aTuD+uANTkt9PVQmHrw9dAmqXSSzczMzMysQNz1xczMzMysgByom5mZmZkVkAN1MzMzM7MCcqBuZmZmZlZADtTNzMzMzArIgbqZWRuRNChpjaQNkh6UNLFGuf9u0P6ulfTVPL9U0nXvYlv3SPrkMGUek/ThPL9dUtfx7q9smzdJWvJut2NmNtIcqJuZtZe3I+KCiPgQ8GtgaflCSWMAIuIjDdrfF4F/yNu8KyJWNGi7DVf67lUsB24eyWMxM2sEB+pmZu3rCeBcSVdI+oWkfyO9xARJB0uFJH1R0npJayUty3nvl/SopGclPSFpduXGJc0CDkfEnvz5dkm35vnHJH1NUq+kTZI+WmV9SfqmpOcl/QdwRtmyBZL+Jx/Xcknj631RST/Mx7pR0o1l+Qcl/ZWk1cA8Scvy/tZJ+huAiDgEbJfUU2v7ZmZFNLbVB2BmZsdO0ljgGuDRnNUDfCgitlWUuwa4FrgkIg5J6syL7gaWRsRmSZeQWs1/r2I3lwHP1TmMsRHRI2kh8JfAxyqWfwL4ADAHOBN4HlguqQO4B1gQEZskrQA+B/x9nX19JiL2SpoAPC3poYh4A5gEbIiIr+bv9h1gdkSEpFPL1n8G+CjpzYlmZm3BLepmZu1lgqQ1pMDzV6TAFKC3MkjPPgb8c25VJge7k4GPAA/mbf0jMK3KutOA1+scy/fz9FngnCrLLwfui4jBiNgF/DznfwDYFhGb8ud7c9l6bpa0FngKOBvozvmDwEN5fj/QD3xb0u8Dh8rW7wPOGmYfZmaF4hZ1M7P28nZEXFCeIQngrRrlBURF3knA/1Zup9q+gFPqLD+cp4PU/v+kct+lYzpqkq4g/eCYl+8KPAZ05MX9ETEIEBEDuXvLAmAxcBNDdwk6SN/HzKxtuEXdzGx0+ynwmdLoMJI6I2I/sE3Sp3KeJM2tsu4LwLnvYt+PA4sljZE0DfjdnP8icI6k0rY/Dayqs51TgH05SJ8NXFqtUL5TcEpE/Bj4AnBB2eJZwIbj/SJmZq3gQN3MbBSLiEeBlcAzuZvLrXnRHwE35O4kG4FFVVZ/HLhQucn+OPwA2Ex6wPVb5GA8IvqBJaSuN+uBI8BddbbzKDBW0jrgr0ndX6qZAjycy60C/qxs2WXAz47ze5iZtYQiqt2VNDMzA0l3Av8eEW0b5Eq6EPjziPh0q4/FzOxYuEXdzMzquQOo+lKlNtIF/EWrD8LM7Fi5Rd3MzMzMrIDcom5mZmZmVkAO1M3MzMzMCsiBupmZmZlZATlQNzMzMzMrIAfqZmZmZmYF9H91wsukZSMM1gAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"Title='Distribution Plot of Predicted Value Using Test Data vs Data Distribution of Test Data'\n",
"DistributionPlot(y_test,yhat_test,\"Actual Values (Test)\",\"Predicted Values (Test)\",Title)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Figur 2: Plot of predicted value using the test data compared to the test data. \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<p>Comparing Figure 1 and Figure 2; it is evident the distribution of the test data in Figure 1 is much better at fitting the data. This difference in Figure 2 is apparent where the ranges are from 5000 to 15 000. This is where the distribution shape is exceptionally different. Let's see if polynomial regression also exhibits a drop in the prediction accuracy when analysing the test dataset.</p>\n"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.preprocessing import PolynomialFeatures"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h4>Overfitting</h4>\n",
"<p>Overfitting occurs when the model fits the noise, not the underlying process. Therefore when testing your model using the test-set, your model does not perform as well as it is modelling noise, not the underlying process that generated the relationship. Let's create a degree 5 polynomial model.</p>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's use 55 percent of the data for training and the rest for testing:\n"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [],
"source": [
"x_train, x_test, y_train, y_test = train_test_split(x_data, y_data, test_size=0.45, random_state=0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will perform a degree 5 polynomial transformation on the feature <b>'horse power'</b>. \n"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"PolynomialFeatures(degree=5, include_bias=True, interaction_only=False)"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pr = PolynomialFeatures(degree=5)\n",
"x_train_pr = pr.fit_transform(x_train[['horsepower']])\n",
"x_test_pr = pr.fit_transform(x_test[['horsepower']])\n",
"pr"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now let's create a linear regression model \"poly\" and train it.\n"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"LinearRegression(copy_X=True, fit_intercept=True, n_jobs=None,\n",
" normalize=False)"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"poly = LinearRegression()\n",
"poly.fit(x_train_pr, y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can see the output of our model using the method \"predict.\" then assign the values to \"yhat\".\n"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array([ 6728.65561887, 7307.98782321, 12213.78770965, 18893.24804015,\n",
" 19995.95195136])"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"yhat = poly.predict(x_test_pr)\n",
"yhat[0:5]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's take the first five predicted values and compare it to the actual targets. \n"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Predicted values: [ 6728.65561887 7307.98782321 12213.78770965 18893.24804015]\n",
"True values: [ 6295. 10698. 13860. 13499.]\n"
]
}
],
"source": [
"print(\"Predicted values:\", yhat[0:4])\n",
"print(\"True values:\", y_test[0:4].values)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We will use the function \"PollyPlot\" that we defined at the beginning of the lab to display the training data, testing data, and the predicted function.\n"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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hYWSpBdffLFF53311Ve67777dMMNNxzQz2effbb+uN69e6usrKz+fqjjugpCOgAAgJt4vVJenpSeLhnjv83La/f56E3dfvvtuuuuu3T88cerpqam3a8fHx+vxx57TNOmTdOUKVM0cOBAJSYmBj32gw8+qC/BeMMNN+iRRx6pr+xyzz336KKLLtIJJ5ygfv361Z8zffp0vfrqq/ULR0Md11WYtnz00B1lZWXZ/Px8p7sBAAC6keXLl9dP14hk5eXlSkhIkLVWN9xwg0aPHq1bb73V6W51imCvAWPMQmtt0PqWjKQDAACgU/zlL3/RhAkTdNhhh6m0tFTXXnut011yLaq7AAAAoFPceuutETNy3laMpAMAAAAuQ0gHAAAAXIaQDgAAALgMIR0AAABwGUI6AABAN1dSUqIJEyZowoQJGjRokFJTU+vvV1ZWHvT8efPmacGCBUEfe+aZZ9S/f39NnDhRo0eP1plnnhny2Ib+/e9/a9myZWE/l0hBSAcAAHAZX4FPGTMzFHVvlDJmZshX4GvT9VJSUrR48WItXrxY1113nW699db6+z169Djo+c2FdEn6/ve/r0WLFmnVqlW68847dcEFF2j58uXNXpOQ3jxCOgAAgIv4CnzKnpOtotIiWVkVlRYpe052m4N6UwsXLtRJJ52ko446SmeeeaY2b94sSXrkkUc0btw4jR8/XpdccokKCwv1+OOP66GHHqrfzbM5p5xyirKzs5WXlyfJXxv96KOP1hFHHKHvfe97qqio0IIFCzR79mz9/Oc/14QJE7RmzZqgx0UyQjoAAICL5MzNUUVV44BaUVWhnLk57fYzrLW66aab9PLLL2vhwoW6+uqrlZPjv/7999+vRYsW6auvvtLjjz+ujIyMRqPvJ5xwwkGvf+SRR+rrr7+WJF1wwQX6/PPP9eWXX2rs2LF66qmnNHnyZH33u9/V7373Oy1evFgjR44MelwkYzMjAAAAFykuLQ6rvTX279+vJUuW6PTTT5ck1dTUaPDgwZKk8ePHy+v16rzzztN5553Xqutba+u/X7JkiX75y19q165dKi8v15lnnhn0nJYeFykI6QAAAC6SlpimotKioO3txVqrww47TB9//PEBj/33v//V/PnzNXv2bN13331aunRp2NdftGiRxo4dK0m68sor9e9//1tHHHGEnnnmGc2bNy/oOS09LlIw3QUAAMBFcqfmyhPradTmifUod2puu/2MuLg4bdu2rT6kV1VVaenSpaqtrdX69et1yimn6MEHH6wf1e7du7fKyspadO33339feXl5+vGPfyxJKisr0+DBg1VVVSWf79t59U2vGeq4SEVIBwAAcBFvpld50/OUnpguI6P0xHTlTc+TN9Pbbj8jKipKL7/8su644w4dccQRmjBhghYsWKCamhr98Ic/VGZmpiZOnKhbb71VSUlJmj59ul599dWQC0dffPFFTZgwQYcccoh+85vf6JVXXqkfSb/vvvt0zDHH6PTTT9eYMWPqz7nkkkv0u9/9ThMnTtSaNWtCHhepTMM5Q5CysrJsfn6+090AAADdyPLly+tDKyJTsNeAMWahtTYr2PGMpAMAAAAuQ0gHAAAAXIaQDgAAALgMIR0AAABwGUI6AAAA4DKEdAAAAMBlCOkAAAARIDo6WhMmTNDhhx+uiy66SBUVFa2+1pVXXqmXX35ZkvSjH/1Iy5YtC3nsvHnztGDBgrB/RkZGhrZv3x60PTMzUxMmTKiv795emvb18ccf13PPPddu1w9HjCM/FQAAAJ0qPj5eixcvliR5vV49/vjj+ulPf1r/eE1NjaKjo8O+7pNPPtns4/PmzVNCQoImT54c9rVDee+999SvX792u16dpn297rrr2v1ntBQj6QAAABHmhBNO0OrVqzVv3jydcsop+sEPfqDMzEzV1NTo5z//uY4++miNHz9eTzzxhCTJWqsbb7xR48aN0znnnKOtW7fWX+vkk09W3UaQ//vf/3TkkUfqiCOO0NSpU1VYWKjHH39cDz30UP1updu2bdP3vvc9HX300Tr66KP10UcfSZJKSkp0xhlnaOLEibr22msVzoabDfuwfft2ZWRkSJKeeeYZXXDBBZo2bZpGjx6t22+/vf6clvT1nnvu0e9//3tJ0uLFi3Xsscdq/PjxOv/887Vz5876n33HHXdo0qRJOuSQQ4LuyNoajKQDAAB0onvnLNWyTbvb9ZrjhvTR3dMPa9Gx1dXVeuONNzRt2jRJ0meffaYlS5Zo+PDhysvLU2Jioj7//HPt379fxx9/vM444wwtWrRIK1asUEFBgbZs2aJx48bp6quvbnTdbdu26cc//rHmz5+v4cOHa8eOHUpOTtZ1112nhIQE3XbbbZKkH/zgB7r11ls1ZcoUFRcX68wzz9Ty5ct17733asqUKfrVr36l//73v8rLywv5HE455RRFR0crLi5On376abPPd/HixVq0aJHi4uJ06KGH6qabblLPnj1b1Ne5c+fWX+fyyy/Xn/70J5100kn61a9+pXvvvVczZ86s/zf97LPP9Prrr+vee+/VO++806LfRXMI6QAAABFg7969mjBhgiT/SPo111yjBQsWaNKkSRo+fLgk6a233tJXX31VP9+8tLRUq1at0vz583XppZcqOjpaQ4YM0amnnnrA9T/55BOdeOKJ9ddKTk4O2o933nmn0Rz23bt3q6ysTPPnz9e//vUvSdI555yjvn37hnwu4Ux3mTp1qhITEyVJ48aNU1FRkXbu3NmivtYpLS3Vrl27dNJJJ0mSrrjiCl100UX1j19wwQWSpKOOOkqFhYUt6tfBENIBAAA6UUtHvNtbwznpDfXq1av+e2ut/vSnP+nMM89sdMzrr78uY0yz17fWHvQYSaqtrdXHH3+s+Pj4Ax5ryfnBxMTEqLa2VpK0b9++Ro/FxcXVfx8dHa3q6uoW97Wl6n5G3fXbA3PSAQAAIEk688wzNWvWLFVVVUmSVq5cqT179ujEE0/UCy+8oJqaGm3evFnvvffeAeced9xxev/997Vu3TpJ0o4dOyRJvXv3VllZWf1xZ5xxhh599NH6+3VvHE488UT5fD5J0htvvFE/57slMjIytHDhQkmq/xSgOS3ta53ExET17du3fr75888/Xz+q3lEI6QAAAJDkL6c4btw4HXnkkTr88MN17bXXqrq6Wueff75Gjx6tzMxMzZgxI2hA7d+/v/Ly8nTBBRfoiCOO0Pe//31J0vTp0/Xqq6/WL8Z85JFHlJ+fr/Hjx2vcuHF6/PHHJUl333235s+fryOPPFJvvfWW0tLSWtzv2267TbNmzdLkyZODlm1sbV8bevbZZ/Xzn/9c48eP1+LFi/WrX/2qxf1rDRPOytlIkJWVZetWBwMAALSH5cuXa+zYsU53Aw4K9howxiy01mYFO56RdAAAAMBlCOkAAACAyxDSAQAAOgFTjCNXa373hHQAAIAO1rNnT5WUlBDUI5C1ViUlJerZs2dY51EnHQAAoIMNHTpUGzZs0LZt25zuChzQs2dPDR06NKxzCOkAAAAdLDY2tn53S6AlmO4CAAAAuAwhHQAAAHAZQjoAAADgMoR0AAAAwGUI6QAAAIDLENIBAAAAlyGkAwAAAC5DSAcAAABchpAOAAAAuAwhHQAAAHAZQjoAAADgMoR0AAAAwGUI6QAAAIDLENIBAAAAlyGkAwAAAC5DSAcAAABchpAOAAAAuAwhHQAAAHAZQjoAAADgMoR0AAAAwGUcDenGmEJjTIExZrExJj/QlmyMedsYsypw27fB8XcZY1YbY1YYY85s0H5U4DqrjTGPGGNMoD3OGPNioP1TY0xGpz9JAAAAIExuGEk/xVo7wVqbFbh/p6S51trRkuYG7ssYM07SJZIOkzRN0mPGmOjAObMkZUsaHfiaFmi/RtJOa+0oSQ9JeqATng8AAADQJm4I6U2dK+nZwPfPSjqvQfsL1tr91tp1klZLmmSMGSypj7X2Y2utlfRck3PqrvWypKl1o+wAAACAWzkd0q2kt4wxC40x2YG2gdbazZIUuB0QaE+VtL7BuRsCbamB75u2NzrHWlstqVRSStNOGGOyjTH5xpj8bdu2tcsTAwAAAForxuGff7y1dpMxZoCkt40xXzdzbLARcNtMe3PnNG6wNk9SniRlZWUd8DgAAADQmRwdSbfWbgrcbpX0qqRJkrYEprAocLs1cPgGScManD5U0qZA+9Ag7Y3OMcbESEqUtKMjngsAAADQXhwL6caYXsaY3nXfSzpD0hJJsyVdETjsCkmvBb6fLemSQMWW4fIvEP0sMCWmzBhzbGC++eVNzqm71oWS3g3MWwcAAABcy8npLgMlvRpYxxkj6e/W2v8ZYz6X9JIx5hpJxZIukiRr7VJjzEuSlkmqlnSDtbYmcK0Zkp6RFC/pjcCXJD0l6XljzGr5R9Av6YwnBgAAALSFYWC5saysLJufn+90NwAAANDNGWMWNihD3ojT1V0AAAAANEFIBwAAAFyGkA4AAAC4DCEdAAAAcBlCOgAAAOAyhHQAAADAZQjpAAAAgMsQ0gEAAACXIaQDAAAALkNIBwAAAFyGkA4AAAC4DCEdAAAAcBlCOgAAAOAyhHQAAADAZQjpAAAAgMsQ0gEAAACXIaQDAAAALkNIBwAAAFyGkA4AAAC4DCEdAAAAcBlCOgAAAOAyhHQAAADAZQjpAAAAgMsQ0gEAAACXIaQDAAAALkNIBwAAAFyGkA4AAAC4DCEdAAAX8BX4lDEzQ1H3RiljZoZ8BT6nuwTAQTFOdwAAgEjnK/Ape062KqoqJElFpUXKnpMtSfJmep3sGgCHMJIOAIDDcubm1Af0OhVVFcqZm+NQjwA4jZAOAIDDikuLw2oH0P0R0gEAcFhaYlpY7QC6P0I6AAAOy52aK0+sp1GbJ9aj3Km5DvUIgNMI6QAAOMyb6VXe9DylJ6bLyCg9MV150/NYNApEMGOtdboPrpKVlWXz8/Od7gYAAAC6OWPMQmttVrDHGEkHAAAAXIaQDgAAALgMIR0AAABwGUI6AAAA4DKEdAAAAMBlCOkAAACAyxDSAQAAAJchpAMAAAAuQ0gHAAAAXIaQDgAAALgMIR0AAABwGUI6AAAA4DKEdAAAAMBlCOkAAACAyxDSAQAAAJchpAMAAAAuQ0gHAAAAXIaQDgAAALgMIR0AAABwGUI6AAAA4DKEdAAAAMBlCOkAAACAyxDSAQAAAJchpAMA0Jl8PikjQ4qK8t/6fE73CIALxTjdAQAAIobPJ2VnSxUV/vtFRf77kuT1OtcvAK7DSDoAAJ0lJ+fbgF6nosLfDgANENIBAOgsxcWh25kGA6ABQjoAAJ0lLS14e3Kyf9pLUZFk7bfTYAjqQMQipAMA0FlycyWPp3Fb3X2mwQBogJAOAEBn8XqlvDwpPV0yxn+blyft2BH8+FDTYwB0e4R0AAA6k9crFRZKtbX+W6839DSYUO0Auj1COgAATgs1DSY315n+AHAcIR0AAKeFmgZD7XQgYrGZEQAAbuD1EsoB1HN8JN0YE22MWWSM+U/gfrIx5m1jzKrAbd8Gx95ljFltjFlhjDmzQftRxpiCwGOPGGNMoD3OGPNioP1TY0xGpz9BAAAAIEyOh3RJN0ta3uD+nZLmWmtHS5obuC9jzDhJl0g6TNI0SY8ZY6ID58ySlC1pdOBrWqD9Gkk7rbWjJD0k6YGOfSoAAABA2zka0o0xQyWdI+nJBs3nSno28P2zks5r0P6CtXa/tXadpNWSJhljBkvqY6392FprJT3X5Jy6a70saWrdKDsAAADgVk6PpM+UdLuk2gZtA621myUpcDsg0J4qaX2D4zYE2lID3zdtb3SOtbZaUqmklKadMMZkG2PyjTH527Zta+NTAgAAANrGsZBujPmOpK3W2oUtPSVIm22mvblzGjdYm2etzbLWZvXv37+F3QEAAAA6hpPVXY6X9F1jzNmSekrqY4z5m6QtxpjB1trNgaksWwPHb5A0rMH5QyVtCrQPDdLe8JwNxpgYSYmSQmzrBgAAALiDYyPp1tq7rLVDrbUZ8i8Ifdda+0NJsyVdETjsCkmvBb6fLemSQMWW4fIvEP0sMCWmzBhzbGC++eVNzqm71oWBn3HASDoAAADgJm6sk36/pJeMMddIKpZ0kSRZa5caY16StExStaQbrLU1gXNmSHpGUrykNwJfkvSUpOeNMavlH0G/pLOeBAAAANBahoHlxrKysmx+fr7T3QAAAEA3Z4xZaK3NCvaY09VdAAAAADRBSAcAAABchpAOAAAAuAwhHQAAAHAZQjoAAADgMoR0AAAAwGUI6QAAAIDLENIBAAAAlyGkAwAAAC5DSAcAAABchpAOAAAAuAwhHQAAAHAZQjoAAADgMoR0AAAAwGUI6QAAwBV8BT5lzMxQ1L1RypiZIV+Bz+kuAY4hpAMA0IkIosH5CnzKnpOtotIiWVkVlRYpe042/z6IWIR0AAA6CUE0tJy5OaqoqmjUVlFVoZy5OQ71CHAWIR0AgE5CEA2tuLQ4rHaguyOkAwDQSQiioaUlpoXVDnR3hHQAADoJQTS03Km58sR6GrV5Yj3KnZrrUI8AZxHSAQDoJATR0LyZXuVNz1N6YrqMjNIT05U3PU/eTK/TXQMcYay1TvfBVbKysmx+fr7T3QAAdFO+Ap9y5uaouLRYaYlpyp2aSxAFIpQxZqG1NivoY4T0xgjpAAAAkcHpN83NhfSYTusFAAAA4BJ1JVHrKi7VlUSV5IpPt5iTDgAAgIjj9pKohHQAAFqI3UKB7sPtJVEJ6QAAtAC7hQLdi9tLohLSAQBoAbd/NA4gPG4viUpIBwCgBdz+0TiA8Li9Nj8hHQDQej6flJEhRUX5b33dd+qH2z8aBxA+b6ZXhbcUqvbuWhXeUuiagC4R0gEAreXzSdnZUlGRZK3/Nju72wZ1t380DqB7IaQDAFonJ0eqaDxHWxUV/vZuyO0fjQPoXthxtAl2HAWAFoqK8o+gN2WMVFvb+f0BgC6muR1HGUkHALROWoi52KHaAQAtRkgHALRObq7kaTxHWx6Pvx0A0CaEdABA63i9Ul6elJ7un+KSnu6/72WONgC0FSEdAAAAcBlCOgCgdSKsBCM6nq/Ap4yZGYq6N0oZMzPkK+C1hMhFSAcAtE6ElWBEx/IV+JQ9J1tFpUWysioqLVL2nGyCOiIWIR0A0DrFxeG1A83ImZujiqrGb/oqqiqUM5c3fYhMhHQAQOtQghHtqLg0+Ju7UO1Ad0dIBwC0DiUY0Y7SEoO/uQvVDnR3hHQAQOtQghHtKHdqrjyxjd/0eWI9yp3Kmz5EphinOwAA6MK8XkI52oU30/86ypmbo+LSYqUlpil3am59OxBpjLXW6T64SlZWls3Pz3e6GwAAAOjmjDELrbVZwR5jugsAAADgMoR0AAAAwGUI6QAAAIDLENIBAAAAlyGkAwAAV/AV+JQxM0NR90YpY2aGfAU+p7sEOIYSjAAAwHG+Ap+y52SroqpCklRUWqTsOdmSRBlGRCRG0gEAaCFGejtOztyc+oBep6KqQjlzcxzqEeAsRtIBAGgBRno7VnFpcVjtQHfHSDoAAC3ASG/HSktMC6sd6O4I6QAAtAAjvR0rd2quPLGeRm2eWI9yp+Y61CPAWYR0AABagJHejuXN9Cpvep7SE9NlZJSemK686XlMJULEIqQD6H58PikjQ4qK8t/6WNyHtmOkt+N5M70qvKVQtXfXqvCWQgI6IhohHUD34vNJ2dlSUZFkrf82O5ugjjZjpBdAZzLWWqf74CpZWVk2Pz/f6W4AaK2MDH8wbyo9XSos7OzeAAAQkjFmobU2K9hjjKQD6F6KQyziC9UOAIALEdIBdC9pIRbxhWoHAMCFCOkAupfcXMnTeHGfPB5/OwAAXQQhHUD34vVKeXn+OejG+G/z8vztgAv4CnzKmJmhqHujlDEzQ74CFjUDOFCM0x0AgHbn9RLK4Uq+Ap+y52TX71xaVFqk7DnZkkSVGACNMJIOAEAnyZmbUx/Q61RUVShnbo5DPQLgVoR0AAA6SXFp8CpDodoBRC5COgAAnSQtMXiVoVDtACIXIR0AgE6SOzVXntjG1Yc8sR7lTqX6EIDGHAvpxpiexpjPjDFfGmOWGmPuDbQnG2PeNsasCtz2bXDOXcaY1caYFcaYMxu0H2WMKQg89ogxxgTa44wxLwbaPzXGZHT6EwUAIMCb6VXe9DylJ6bLyCg9MV150/NYNArgAMZa68wP9gfpXtbacmNMrKQPJd0s6QJJO6y19xtj7pTU11p7hzFmnKR/SJokaYikdyQdYq2tMcZ8Fjj3E0mvS3rEWvuGMeZ6SeOttdcZYy6RdL619vvN9SsrK8vm5+d30LMGAAAA/IwxC621WcEec2wk3fqVB+7GBr6spHMlPRtof1bSeYHvz5X0grV2v7V2naTVkiYZYwZL6mOt/dj633E81+Scumu9LGlq3Sg7AAAA4FaOzkk3xkQbYxZL2irpbWvtp5IGWms3S1LgdkDg8FRJ6xucviHQlhr4vml7o3OstdWSSiWlBOlHtjEm3xiTv23btnZ6dgAAAEDrOBrSrbU11toJkobKPyp+eDOHBxsBt820N3dO037kWWuzrLVZ/fv3P0ivAQAAgI7liuou1tpdkuZJmiZpS2AKiwK3WwOHbZA0rMFpQyVtCrQPDdLe6BxjTIykREk7OuI5AAAAAO3Fyeou/Y0xSYHv4yWdJulrSbMlXRE47ApJrwW+ny3pkkDFluGSRkv6LDAlpswYc2xgvvnlTc6pu9aFkt61Tq2UBQAAAFooxsGfPVjSs8aYaPnfLLxkrf2PMeZjSS8ZY66RVCzpIkmy1i41xrwkaZmkakk3WGtrAteaIekZSfGS3gh8SdJTkp43xqyWfwT9kk55ZgAAAEAbOFaC0a0owQgAAIDO0FwJRidH0gEAQCvU1FrtrKjUjj2V2r23SsZIUcYopVecBvSJU8/YaKe7CKCNCOkAALiYtVZrtpXrw1XbtXj9Ln39TZnWbtujyprakOcMTuypw4b00cS0vjrl0AEaO7i32CYE6FoI6QAAuExtrdXC4p2avXiT3lr2jbbs3i9JGtSnp8YM7q2TDumvIUnxSknooT49YyVJ1bW1Kimv1Nay/Vq5pUxLN+3WO8u36ndvrlBqUrwuPGqoLj56mFKT4p18agBaiJAOAIBLlJTv1wufr9ffPy3Wxl171TM2SqccOkAnHtJfx4/sp7QUT1jX27p7n+at2Kb/FGzWI++u0p/eXaXvHjFEN592iIb369VBzwJAe2DhaBMsHAUAdLY128r1xPtr9O/Fm1RZXavjR6XowqOG6vRxg5QQ1z7jaet3VOj5T4r03MeFqqqxuuToYbp92hglxse2y/UBhK+5haOE9CYI6UDX55t1vXLW5qm4V43S9kQrd0S2vDMec7pbwAHW76jQw3NX6V9fbFCPmChdcORQXTU5Q6MH9u6wn7mtbL/+/N5qPfdxoVIS4vTr7x6mszIHd9jPAxAaIT0MhHSga/PNul7ZG2eposHgoKdKykudQVCHa+zcU6mH3lmpv39arKgoo8uPTdd1J49Uv4S4TutDwYZS3fXqV1qycbe8x6Tp/74zjqowQCcjpIeBkA50bRk/j1FRQs0B7enl0Sr8XbUDPQK+VVNr9cLnxfrdmytUtq9al04aphtPGa1BiT0d6U9VTa1+/9YKPfH+Wo0b3Ed/uSKLhaVAJ6JOOoCIUdzrwIDeXDvQWZZsLNWd//KPXB8zPFn3nnuYxgzq42ifYqOjdNdZYzUpI1m3vLhYFzz2kf565SSNG+JsvwBIUU53AADaU9qe4B/Xh2oHOtr+6hr94a0VOvfPH2nL7v165NKJeiH7WMcDekNTxw7UP687TkZGFz/xsT5eU+J0l4CIR0gH0K3kjsiWp6pxm6fK3w50toINpfrunz7Sn95drXMnDNE7t56k7x4xxJUbC40Z1Eev3jBZgxN76upnPtdn63Y43SUgohHSAXQr3hmPKS91htLLo2Wsfy46i0bR2WprrR5/f43Of+wj7dpbqaevzNIfL56gRI+7yx0OTozX3398rIYk9dSVf/1MC4sI6oBTWDjaBAtHAQBtsa1sv3760mJ9sGq7zs4cpN+eP9714byprbv36ft5n6ikfL/+df3xGjUgwekuAd1ScwtHGUkHAKCdfLBqm856+AN9tm6HfnN+pv78gyO7XECXpAF9euq5qycpNjpKVz/zuUrK9zvdJSDiENIBAGij2lqrh99Zpcue+kx9PbGafeMU/eCYNFfOPW+pYcke/eWKLG3ZvU/Zzy9UZXWt010CIgohHQCANijbV6Vr/7ZQD72zUhdMTNXsG6fo0EEdt2NoZzoyra/+ePEELSzaqd+8vtzp7gARhTrpAAC00uqt5cp+Pl9FJRW6e/o4XTk5o0uPngdzzvjB+qJ4uJ76cJ2OzkjWOeMHO90lICIQ0gEAaIW3l23RrS8uVo+YKP3tmmN03MgUp7vUYe48a4wWFe/UHa98pcOG9FFGv15Odwno9pjuAgBAGKy1euL9Ncp+Pl8Z/Tyac9OUbh3QJf/OpI/+4EhFRxn97J9fqqaWynBARyOkAwDQQtU1tcr59xL99o2vdfbhg/XydZOVmhTvdLc6xZCkeP363MO0sGin/vLBWqe7A3R7hHQAAFqgbF+Vrn42X3//tFgzTh6pP106UT1jo53uVqf67hFDdNbhg/THt1ZqxTdlTncH6NYI6QAAHMSmXXt10eMf66PV23X/BZm6Y9oYRUV1rwWiLWGM0f8773D17hmjO175SrVMewE6DCEdAIBmLNlYqvP+/JE27tyrZ646WpdMSnO6S45KSYjTL78zVovX79ILn693ujtAt0VIBwAghE/Wluj7T3ys2OgovXL9ZJ0wur/TXXKF8yak6tgRyXrgf19rO7uRAh2iRSHdGHOIMWauMWZJ4P54Y8wvO7ZrAAA4572vt+qKpz/T4KR4vTJjsg4Z2D02KGoPddNeKiqr9dvXv3a6O0C31NKR9L9IuktSlSRZa7+SdElHdQoAACf956tN+vFz+TpkYG+9dO1xGpTY0+kuuc6oAb11zZQReuWLDSrYUOp0d4Bup6Uh3WOt/axJW3V7dwYA2oXPJ2VkSFFR/lufz+keoQt56fP1+sk/FmliWpJ8Pz5Gyb16ON0l17rhlJFK6dVDua8vk7UsIgXaU0tD+nZjzEhJVpKMMRdK2txhvQKA1vL5pOxsqahIstZ/m51NUEeLPPXhOt3+yleaMrq/nrv6GPXpGet0l1ytd89Y3XLaaH2ydofmLt/qdHeAbqWlIf0GSU9IGmOM2SjpFkkzOqpTANBqOTlSRUXjtooKfzsQgrVWj8xdpfv+s0xnHT5If7n8KMX3iKwa6K11yaQ0jejfS795Y7mqamqd7g7QbbQopFtr11prT5PUX9IYa+0Ua21hh/YMAFqjuDi8dkQ8a61+8/py/fHtlfrekUP1p0snKi6GgN5SsdFRumPaGK3dtkevLtrodHeAbqOl1V1+Y4xJstbusdaWGWP6GmP+X0d3DgDClhaihnWodkS0mlqrX7xaoL98sE5XTs7Q7y4cr5hoqhOH64xxA3V4ah/96d1VjKYD7aSlf4nOstbuqrtjrd0p6ewO6REAtEVuruTxNG7zePztQANVNbW65cXF+sdn63XjKaN09/RxEbmLaHswxuiWqYdo/Y69evULRtOB9tDSkB5tjImru2OMiZcU18zxAOAMr1fKy5PS0yVj/Ld5ef52IGBfVY2ue36h5ny5SXeeNUa3nXmojCGgt8XUsQM0fmii/vQeo+lAe2hpSP+bpLnGmGuMMVdLelvSsx3XLQBooWDlFr1eqbBQqq313xLQ0UD5/mpd9dfP9e6KrbrvvMN13Ukjne5St2CM0S2njdb6HXv1ysINTncH6PJiWnKQtfZBY0yBpKmSjKT7rLVvdmjPAOBg6sot1lVzqSu3KBHMEdSuikpd+dfPVbCxVA9dPEHnTUx1ukvdyimH+kfTH39/jS7KGqZopg8Brdbi1THW2jestbdZa39GQAfgCpRbRBi2le3XJXmfaNmm3ZrlPZKA3gGMMbr2xJEqLKnQ28u+cbo7QJfWbEg3xnwYuC0zxuxu8FVmjNndOV0EgBAot4gW2rhrry5+4mMVlVTo6SuP1hmHDXK6S93WtMMHaVhyvPLmr3W6K0CX1mxIt9ZOCdz2ttb2afDV21rbp3O6CAAhUG4RLbB2W7kumrVA28v3628/mqQpo/s53aVuLTrK6EdTRuiL4l1aWLTD6e4AXdZBp7sYY6KMMUs6ozMAEBbKLeIglm/erYuf+Fj7q2v1QvaxOio92ekuRYSLsoYqyRPLaDrQBgcN6dbaWklfGmMYmgLgLt243KKvwKeMmRmKujdKGTMz5CvwOd2lLueL4p36/hMfKzY6Si9ee5wOG5LodJcihqdHjC47Nl1vLduiddv3ON0doEtq6cLRwZKWGmPmGmNm1311ZMcAoEW6YblFX4FP2XOyVVRaJCurotIiZc/JJqiHYcHq7frhk5+qb68eeuna4zRqQILTXYo4lx2Xrpgoo799UuR0V4AuqUUlGCXd26G9AADUy5mbo4qqxlVrKqoqlDM3R97Mrv8mpKO9s2yLrv/7F8pI8ehv1xyjAX16Ot2liDSgd0+dedgg/TN/vW4741DF94h2uktAl3Kw6i49jTG3SLpI0hhJH1lr36/76owOAkCkKS4NXp0mVDu+NfvLTbrubws1dlBvvZh9HAHdYZcdm67d+6o158tNTncF6HIONt3lWUlZkgoknSXpDx3eIwCIcGmJwZcAhWqH398/LdbNLyzSkel99bcfHaO+vXo43aWIN2l4sg4ZmKC/fcqUFyBcBwvp46y1P7TWPiHpQkkndEKfACCi5U7NlSe2cdUaT6xHuVOpWhPKX+av1S9eLdBJh/TXs1dNUu+esU53CfJvbnTZsen6akOpvly/y+nuAF3KwUJ6Vd031trqDu4LAECSN9OrvOl5Sk9Ml5FRemK68qbnMR89CGut/vj2SuW+vlznZA5W3mVZzH12mfMmpqpXj2g99zGj6UA4jLU29IPG1Eiqq51kJMVLqgh8b7vjhkZZWVk2Pz/f6W4AAA7CWqv7/rNcT3+0ThdnDdVvLxiv6CjjdLcQxC9eLdC/vtigz3NO41MOoAFjzEJrbVawxw6242h0k11GY9hxFADgtJpaqzte+UpPf7ROVx2fofsJ6K520VFDta+qVv/9arPTXQG6jJbWSQeA9uHzSRkZUlSU/9ZH7W+Ep7K6Vj/5xyK9lL9BP5k6Wr/6zjhFEdBdbcKwJI0akKCXF25wuitAl0FIB9B5fD4pO1sqKpKs9d9mZxPU0WJ7K2uU/Xy+/luwWb84e4x+evohMoaA7nbGGF141FDlF+3U2m3lTncH6BII6QAO1FGj3Tk5UkXjTXpUUeFvBw6idG+VLnvqU72/cpvuvyBT2SeOdLpLCMMFE1MVZaRXvmA0HWgJQjqAxjpytLs4xGY8odqBgO3l+3Vp3if6csMuPXrpkbpkEjXju5oBfXrqpEP665WFG1VTG7poBQA/QjqAxjpytDstRLAK1Q5I2rhrry5+/GOt3V6uv1yepXPGD3a6S2ili7KG6Zvd+/Th6u1OdwVwPUI6gMY6crQ7N1fyNN6kRx6Pvx1h8RX4lDEzQ1H3RiljZoZ8Bd1zXv+abeW6aNYCbSvfr79dc4xOPnSA011CG0wdO0B9esbotcUbne4K4HqEdACNdeRot9cr5eVJ6emSMf7bvDx/O1rMV+BT9pxsFZUWycqqqLRI2XOyu11QX7KxVBc//rEqa2r1QvaxyspIdrpLaKO4mGhNO3yQ3lq6RfuqapzuDuBqhHQAjXX0aLfXKxUWSrW1/lsCethy5uaooqrxlKSKqgrlzO0+C3A/W7dDl+Z9op6x0Xrp2uN02JBEp7uEdjL9iCEq31+teSu2Ot0VwNUI6QAaY7Tb9YpLg089CtXe1bz39VZd9tSnGtAnTv+87jiN6J/gdJfQjo4bkaJ+CT00+8tNTncFcDVCOoADMdrdJh09XzwtMfjUo1DtXclL+ev1o+fyNXpggl669jgNSYp3uktoZzHRUTonc7DmLt+q8v3VTncHcC1COgC0o86YL547NVee2MZTkjyxHuVO7boLcK21evTdVbr95a80eWSKXsg+TikJcU53Cx1k+hFDtL+6Vm8v+8bprgCuRUgHgHbUGfPFvZle5U3PU3piuoyM0hPTlTc9T97MrvmJR02t1a9eW6rfv7VS509M1VNXHK2EuBinu4UOdGRaX6UmxWv2Yqa8AKHwVxBAl+Yr8Clnbo6KS4uVlpim3Km5jobVzpov7s30dtlQ3tC+qhrd8sJi/W/pN7r2pBG648wxiooyTncLHSwqyug74wfrqQ/XqbSiSomeWKe7BLgOI+kAuixfgU/Zr17deGrJq1c7WoqwO88Xb2+lFVW67KlP9eayb3T39HG666yxBPQIMu3wQaqutXp3xRanuwK4EiEdQJeVM/tmVdjKRm0VtlI5s292qEfdc754R9i0a68ufHyBvlxfqj9dOlFXHT/c6S6hkx0xNEkD+8TpzSWEdCAYQjqALqu4qiSs9s7Q3eaLd4SCDaU6788f6ZvSfXr26kn6zvghTncJDoiKMjrzsEGat3Kr9laysRHQFHPSAXRZaaVSUVLwdid1l/niHeHNpd/olhcWK7lXDz0/4xgdOqi3012Cg6YdNkjPfVyk91du07TDBzndHcBVGEkH0GXlLk6Rp/FsF3kq/e1wF2ut/jJ/ra7720IdOqi3/n3D8QR0aNLwZCV5YvXWUkoxAk0R0gF0Wd4fPay8N2OVvksyVkrfJeW9GSvvjx52umtooKqmVr94dYlyX1+usw8frBeyj1X/3tRAh39jo9PGDtQ7y7eosrrW6e4ArsJ0FwBdl9crryRvTo5UXCylpUm5ueyQ6iKle6t0g+8Lfbh6u244ZaR+dvqhVHBBI9MOG6SXF27QJ2tLdOIh/Z3uDuAahHQAXZvXSyh3qXXb9+jHz+WrqGSPfnfheF2UNczpLsGFpozup/jYaL29bAshHWjAsekuxphhxpj3jDHLjTFLjTE3B9qTjTFvG2NWBW77NjjnLmPMamPMCmPMmQ3ajzLGFAQee8QYYwLtccaYFwPtnxpjMjr9iQJABHpvxVZ999EPVVK+X89dfQwBHSH1jI3W8aP66d2vt8pa63R3ANdwck56taSfWWvHSjpW0g3GmHGS7pQ011o7WtLcwH0FHrtE0mGSpkl6zBgTHbjWLEnZkkYHvqYF2q+RtNNaO0rSQ5Ie6IwnBgCRylqrx+at1tXPfK5hfT2afeMUHTeShbxo3qljBmjjrr1atbXc6a4AruFYSLfWbrbWfhH4vkzSckmpks6V9GzgsGclnRf4/lxJL1hr91tr10laLWmSMWawpD7W2o+t/y34c03OqbvWy5Km1o2yAwDaV0VltW78xyI9+L8V+s74IXplxmQNS/Yc/ER0XT6flJEhRUX5b32t2+33lDH+aS7vfr21/foGdHGuqO4SmIYyUdKnkgZaazdL/iAvaUDgsFRJ6xuctiHQlhr4vml7o3OstdWSSiUdMKRjjMk2xuQbY/K3bdvWTs8KACLH+h0VuuCxBXqjYLPuOmuMHrlkguJ7RB/8RHRdPp+UnS0VFUnW+m+zs1sV1Acnxmvs4D6EdKABx0O6MSZB0iuSbrHW7m7u0CBttpn25s5p3GBtnrU2y1qb1b8/i1YAIBzvfr1F0x/9UJt27dVfr5qka08aKT60jAA5OVJFReO2igp/eyucOqa/FhbtVGlFVTt0Duj6HA3pxphY+QO6z1r7r0DzlsAUFgVu695Wb5DUcOXRUEmbAu1Dg7Q3OscYEyMpUdKO9n8mABB5qmtq9cD/vtbVz+RrSGK8Zt84RSdRnSNyFBeH134Qp44ZoJpaq/mr+EQbkJyt7mIkPSVpubX2jw0emi3pisD3V0h6rUH7JYGKLcPlXyD6WWBKTJkx5tjANS9vck7dtS6U9K5l6TgAtNmW3fv0gyc/1ax5a3TppDT96/rJyujXy+luoTOlpYXXfhAThvVVX0+s3mPKCyDJ2ZH04yVdJulUY8ziwNfZku6XdLoxZpWk0wP3Za1dKuklScsk/U/SDdbamsC1Zkh6Uv7FpGskvRFof0pSijFmtaSfKlApBgDQeh+u2q6zH/5ABRtK9dD3j9BvL8hUz9gw55+304JDOCg3V/I0WRjs8fjbWyE6yujkQwdo3sptqqllPA1wbDMja+2HCj5nXJKmhjgnV9IB//Vba/MlHR6kfZ+ki9rQTQAH4SvwKWdujopLi5WWmKbcqbnyZrK5UHdUXVOrR+au0p/eW61R/RP0QvaRGj2wd/gXqltwWDefuW7BYR12kO0a6n4v7fj7OmXMAL26aKO+3LBLR6b1PfgJQDdmmP3RWFZWls3Pz3e6G0CX4CvwKXtOtiqqvl085on1KG96HkG9mykq2aObX1isxet36XtHDtV95x0mT49WjvNkZPiDeVMpKdLevY0XI3o8Ul4eQT1C7Kqo1MT73tbNU0frltMOcbo7QIczxiy01mYFe8zx6i4Auq6cuTmNArokVVRVKGdu66o7wH2stfpn/nqd/fAHWrutXH+6dKL+cPERrQ/oUuiFhSUl7VotBF1PkqeHxqcm6sNV253uCuA4QjqAVisuDR62QrWja9lVUakb/v6Ffv7yV8ocmqj/3XKiph8xpO0XDndhYSurhaBrmjK6nxat36WyfZRiRGQjpANotbTE4GErVDu6jve+3qppMz/Q28u26M6zxsj3o2M1JCm+fS5+9tnB2xMSgre3sloIuqYpo/qrptbqk7VUTEZkI6TDdXwFPmXMzFDUvVHKmJkhXwFVH9wqd2quPLGNqzt4Yj3Kndq66g4txWuk4+yqqNRPX1qsq575XInxsXr1+uN13UkjFR3VjpsTvfRS8PbKyuDtoUI9uqUj05MUHxutD6mXjghHSIer1C1ELCotkpVVUWmRsudkE8JcypvpVd70PKUnpsvIKD0xvcMXjUb0a6SDyxa+tfQbnf7QfM1evEk/OXWUZt90vA5PTWzXnyHJP/c8mFAh/fXX278PcK24mGgdMyJZH6xmXjoiG9VdmqC6i7MyZmaoqPTAqg/piekqvKWw8zsE14nY10jTsoVSu1U+KSnfr3vnLNPsLzdp7OA++t2F4zsmnNcxYY7KGyPV1nZMX+BKT36wVv/vv8u14M5T22+aFeBCVHdBl8FCxG8xpSO4iH2N5OS0e+WT2lqrv39arFP/8L7eWLJZPz39EM2+sYNGzxuKCvN/PcxJjzhTRveTJKq8IKIR0uEqLET0i+gpHQcRsa+RUBVOWln5ZMnGUp0/a4F+8WqBxg7urdd/coJ+MnW0YqM74X8LzY2Kt+MOlui6Dh3YW/17xzHlBRGNkA5XcWohott0qfrj7TBPOpxPDSL2NRJqNDnMUebd+6p0z+yl+u6jH2rjzgo99P0j9I8fH9u6nUNbKz09dHtenv/WmG/vs5FRxDHGaMqofvpo9XbV1jItF5GJkA5XcWIhoht1mSkddfOki4oka7/d3j2MoB7upwYR+xrJzW3TKHN1Ta18nxbp1N/P07MfF+qHx6Zr7s9O1vkTh8qEO0e8rZp7Ll6vVFjoH20vLCSgR7Apo/ppx55KLf9mt9NdARzBwtEmWDgKN+gyiyNDbe+enu4PWM3wFfiUMzcn6POUXPhc3cDn889BLy72j6DXhdqDeH/lNuX+d5lWbinX0Rl99X/fGafxQ5M6vr/NaeVzQeTYtGuvJt//rv7vO+N0zZThTncH6BDNLRwlpDdBSIcb1I0uN5zy4on1uG/EOCrKP4Le1EGqcQR7fgdcQka1d1PRoy1WfFOm3NeXa/7KbUpP8ejOaWM07fBBnT9yDrTSiQ++pzGDeivv8qAZBujyqO4CdDFdZkpHK+dJB5tzf8AluvtC0A60bvse3fLCIk17eL4WF+/UL88Zq7duPVFnZQ52TUCnehFa4pjhyfqscAfz0hGRYpzuAIAuLDc3eO3ug8yTPtjc+ohYCNoB1u+o0J/eXaVXvtio2Gij7BNG6LqTRqpvrx5Od62Rpp+k1K1DkOS+N6Jw1LEjUvTPhRu0YkuZxg7u43R3gE7FSDrgQr4Cn67691WNFlNe9e+rwh9t7OAdKuX1hl2Nw1fgU5QJ/afHtZ8auNj6HRX65b8LdOof5unfizbpsmPTNf/2U3TX2WNdF9ClLla9CI46ZkSyJOmTtSF2qQW6MeakN8GcdLhBvwf7qWTvgf9TSolP0fbbW1g3uAN3qGyt5uaiu3LOvct9/c1uPT5vjeZ8tVlRRrrwqGG66dRRrt+hMereKFkd+P8e1iEgmCkPvKvDhyTq8cuOcrorQLtjTjrQxQQL6JJUUlHS8pHxDtihsq1CzUWPNtEE9DB8XrhDVz/zuabN/EBvLduiqyZnaP7tp+i3F2S6PqBLEbwhFVrlmOEp+nRdCfPSEXEI6YAbNff/opbWJG/nHSpb5CDTa0LNRa+1tQT0g9hXVaOXF27QuY9+qIse/1iL1+/Sz04/RAvuPFW//M44DU7svHDe1kWfQTekqjbKfbqoY6ZltVVHTxtDs44dkaydFVVatbXc6a4AnYqFo4ALpVRIJb2CtzdSNzIebPpKWlrwGuZh7lDZYk2n19S9iZDq+5cWk6yi6gM/JUiLSe6YPnUDG3ZW6G+fFOvFz4u1s6JKowYk6L5zD9OFRw1TfI/oTu9Peyz6rDsuZ26OikuLlFZqlPuOlbdAkg583TiqBa9rdKxjR6RI8s9LP3RQJ+6MCziMOelNMCcdbuA7pZ+unlKiygZvo3tUS0+/pkCQaSBUTfLrr5dmzTqwfcYM6bHH2rW/klq0sZHvlH7KnlyiigZrGT2VUt6CFHnfa+Fc+whQWV2rd7/eqpcXrte7X2+VJJ0+bqCuOC5Dx41McbSMYrtvtNWGDbE6hdv7FwGstZrywHs6YliiHvMyLx3dS3Nz0hlJB1zI+6OHpYeuUs4JVSpOlNJKpdy5QQK6FHpk/PXXw2tvqxZMr/G+v0MqkXKmqvHzWrKjY/rUxSzbtFv/XLhery3epB17KtW/d5yuO2mkvMemK9Ulc81DTVk6WFnN0Bd0YFpWONzevwhgjNExw5M1b+U2WWtdU+sf6GiEdMCNvF55JXkbbpt+9tnSmmdbXpO8s8NFS6bXpKXJW1B04JuN9MhdMLh+R4X+W7BZsxdv0rLNu9UjOkqnjRugi44aphNG91NMtLuWDqUlpgUdSW/1os/OnpYVLrf3L0JMGp6sfy3aqDXb9mjUgASnuwN0Cnf99QfwLa/X/3F6ba3/9rHHwqtJ3srdQFstN9f/pqGhpm8izj47+Lmh2rupDTsrlDd/jc599EOd8OB7uv+NrxUbbXTvdw/Tp7+Yqse8R+mUMQNcF9ClEIs+27L5lNtfEy15XaPDZWX0lSR9UbTT4Z4AnYeRdKAr8XpbvlitlbuBtqlvkn8ha93of25u4/529hQcl6ittVq6abfe/Xqr3v16i77cUCpJGj80UXedNUZnZw7WsGTPQa7iDo0XfRYrLTFNuVNz5c30yjfreuWszVNxrxql7YlW7ohseWccZP2D218TLXldo8ON6JegJE+s8ot26OKjhzndHaBTsHC0CRaOwi18Bb6gQSi8i/jcFS6iovzlI5sKtfi1CyvfX63fzP2X/v75YlXvHaMYpcjI6ohhfXXmYYN0TuZgpaV0jWDeEr5Z1yt74yxVxH7b5qmS8lJnNB/UI+g1gba55pnPta5kj9792clOdwVoNywcBbqY9ihz5z84jJH3VgrrzUQ3nt+7r6pGXxTv1MdrSvTxmhJ9UbxDtbaXajVB+6O/0K6oz6W4ZbroxN/Lm3m8091tdzlr81TRZKpwRay/3atmQno3fk2gfR2V0Vdzv96qHXsqldyrx8FPALo4QjrgQsF25qyoqlDO3BxXbfoT9puJzp6C04H27K/Wl+t3aWHRTn28tkT5RTtVWV2rKCNlDk1SredtfVP1nvZHLZNMjf+kGrnud9heinvVhNVerxu9JtCxjkr7dl76aeMGOtwboOMR0gEXavcydx0k7DcTXXR+r7VW67bv0aLiXfqieKe+KN6lFd/sVt0u5WMH99Flx6Zr8sgUHT08WX16xirq3hNkow+cxuG232F7SdsTraKEAwN52p6DbLjURV8T6HxHDEtSbLRRPiEdEYKQDrhQu5e56yDB+thcu6ROmYLTFjW1/kC+dFOplm3erWWbdmvJxlLtrKiSJPWOi9GEtCSdfsooTUzvq4nDkpTkOfCj967yO2wvuSOyg85Jzx2RffCTXf6agDv0jI3WYUMStbCIfRUQGQjpgAvlTs1tNI1EamOZuw4SZaJUaw9c3Bdl3Fc6MJjd+6q0emu5VnxT5g/lm3Zr+eYy7a3yjwj3iI7SIYMSdPq4gZqY1ldHpvXVqAEJio46+GYqXeV32F68Mx6TZin86i5AGLLS++q5T4pUWV2rHjFd4+8M0FqEdMCFmitz5ybBAnpz7U7ZVVGpVVvLtWpLuVZtLdPqwPff7N5Xf0zvuBiNHdJHl0wapnGD++iwIYkaNSCh1UHAqd9hu1QFaiXvjMeaXyQKtNFR6X315IfrtGRTqY4MzFEHuitCOuBS3kyv60K5m1lrtbVsv9ZsK9fqreX1QXzV1nJtL99ff5ynR7RGDUjQ5FEpGj2gt0YNSNAhAxM0rK9HUS0YIQ9HZ/8O260qEOBSRwU2NVpYuJOQjm6PkA6g1VLiU1SytyRoe0fZX12jopIKrdlarjXbyrVm2x6tDdyW76+uP653XIxGDUzQqWP6+8P4wASNHpCgIYnx7R7G3aKrVAUCWmtA755KS/Yov2iHfqwRTncH6FCEdACt9vBZD+vq165WZU1lfVuP6B56+KyH23Rda6127KlsEMD9IXzNtnKt31FRX1VFkoYk9tTIAQn63pGpGjkgQSP7+78G9omTMd0zjIfSIVWB3LYhFiJeVnpfzV+1XdbaiPtvHJGFkA6g1dpj3vWuikqt+KZMK7eUacWWMq38plwrt5ZpV6CaiiTFxURpeL9eOjw1UedOSNXI/r00sn+ChvfrpV5x/BmrkxaTrKLqAz/ZSItJbt0Ffb7GNcyLivz3JYI6HDMhLUn/WrRRm0r3KTUp3unuAB3G2GDbMUewrKwsm5+f73Q3gG6nsrpWK7eUadnm3Vr5TSCQbynTlt3fzhfv3TNGhw7srdED/XPF68J4alL3naLSnnyn9FP25BJVNKgI6amU8hakyPve9vAvmJERfDfQ9HSpsLC13QTa5Mv1u3Tunz/SY94jdXbmYKe7A7SJMWahtTYr2GMMQQFod5XVtVrxTZkKNpaqYGOplm4q1deby1RZ46/6EhcTpdEDE3T8qH4aM6i3DhnYW4cO6q1BfXry8XUbeN/fIZVIOVOl4kQprVTKnSt5l7SyrnRxiGkyodqBTjBmcG/1iI7Sl+t3EdLRrRHSgUjQwfOKN+7aq4VFO7WwcIe+KN6lr7/Zraoa/6d0vXvG6PAhibry+Awdnpqow4f0UXpKrxbVGkeY0tLkLSiSt6BJe3orN1BKSws+kp7WPTdkQtcQFxOtcUP6aNH6XU53BehQhHR0Dhafha3d6l2387zimlqr5Zt36/PCHf5gXrRTm0v99cY9PaJ1xNAkXT1luDJTE5WZmqi0ZA+j450lN7fx71qSPB5/uxuuB7STCcOS9OLn61VdU6uYaDY1QvdESEfHY/FZ2Nqr3rWvwKecxVeo+Oc13059KJD/d5GT06J/f2ut1m3fo4/WlGjB6u1asKZEpXv9izoHJ/bUUel9lZXeV1kZyRozqDf/w3RS3e+zvd4Qt/f1gHZyxLBEPbOgUKu3lWvMoD5OdwfoECwcbYKFox2AxWdhy5iZoaLSA//N0hPTVXhLYYuu0TToS4FFhHMCQd0YqTb4zqCle6s0f+U2vb9ymxas3q5NgZHyIYk9dfyofjp+VD9NGp6sIU0rK/CJSbfjm3W9ctbmqbhXjdL2RCt3RLa8M9hVFM5at32PTvn9PN1/QaYumcT0K3RdLByFs1h8Frb2qHcddGObHv5Fhd4CHTCveN32PZq7fIvmLt+qzwt3qLrWKskTq8kjU3T9SH8wz0hpZupKSz8xIch3Gb5Z1yt74yxVJPjvFyXUKHvjLGmWCOpwVEaKR4nxsfpywy5COrotQjo6HovPwpaWmBZ0JD0tseX/ZiGDfqIkj0f2/+WqYMMu/ferzXp72Rat3b5HknTowN7KPnGEpo4dqAnDkg66wLN+7vyuIqVlN5hSIx04rYapT11Kztq8+oBepyLW3+4VIR3OMcboiGFJWry+1OmuAB2GkI6Ox+KzsOVOzVX2q1erwn67k6fH9FDu1Jb/mwUN+lZK2zNa9//6t/rvpr5a/+hHiokyOm5kiq6YnKFTxwzQsGRPi39Goyk1RipKkrKn+x+rD+oNPzHJyWn8OpDCmh+PzlXcqyasdqAzTRiaqEffW62Kymp5ehBn0P2wwgsdz+uV8vL8c9CN8d/m5RHKmuH9SsqbbZW+SzJWSt/lv+/9quXXyJ2aK0+sP3DH1A5WYtUPlVr5Fyn6If2lJF7D+yXowQvHK/+Xp+n5a47RFZMzwgroUvNTauo1/MSEqU8dz+fzrwOJivLf+nytvlTanuiw2oHOdMSwJNVaacnG3U53BegQvPVE5/B6CeXhyMmRt6hK3oUNG6vCGnE+95Dv64WBxcpfE6242sNkVaN+STv081MzdeZhg9S3V4+DX+Qgmp1SIx34iQlTnzpWO08nyh2R7Z+THvttm6fK3w447YhhSZL8O5BOGp7sbGeADsBIOuBGrRxxttbqk7Ul+umLizXx1/9TwarxirJ9tDPmGW3sebW+rr1BNfEftEtAl0LPkU8rVfBPTM4+O/iFQrUjPM1NJ2oF74zHlJc6Q+nl0f5PdMqjlZc6g0WjcIV+CXEa2jdei9nUCN0UJRiboAQjXCHMspXl+6v16hcb9PwnRVq5pVy942JUFjVPm2tfVaVZITVY+xlOGceDCVrmMdajvOl5weu5U46zYzW3aRR/69ENXe9bqCUbd2v+7ac43RWgVSjBCHQ1LVxsu3JLmZ7/uEj/+mKD9lTWKDM1UQ9eOF7Txw9Rr9+eJRt1YDALp4zjwdQF8RbvjMqc9I5lTPAwzo6v6KYOT03U6wXfqLSiSome2IOfAHQhhHTAjULs9OgbL+U8lKGtO/tpgC6VKseoR0yUvjN+sC4/LkMTAnM0pfYp49iirmZ6W74LKnPSO1ao0XJG0dFNHT7EvwBm6aZSTR7Vz+HeAO2LOelAO/EV+JQxM0NR90YpY2aGfAWtr6ohyR/UCwv9u4IWFurZw6SbXvmbKrfepgGV96q6sp/K43y67dyd+uPFExoFdKlxdZc6nlhPWGUc211urv8TgYYoxwmglTJT/SG9YCP10tH9ENKBdlA3N7uotEhWVkWlRcqek932oC6pbF+V/jJ/re5+yarPvhslGW2P/aM29vyRSqL+od989Iug53kzvcqbnqf0xHQZGaUnpoeeK94GYb05oRxnx0pJCa8d6OL69uqh1KR4LdlEGUZ0PywcbYKFo2iNjJkZQaeWtGWR5u59VXrmo0I9+cFa7d5XrX1RX6k05hXti1rYaCGokVHt3bWt7HnbhL1wFB3L55Ouvlqq/HYTLPXoIT39NG+E0G1d+3y+Vm4p13u3nex0V4CwNbdwlJF0oB2ErBfeikWau/dV6ZG5qzTl/nf1x7dXatLwZL12w/HqOeAJ7YtuHNClg8wxb8eNbYIJuplRVYVy5rau5B/ayOv1B/KGn1QQ0NHNZaYmat32PSrbV+V0V4B2RUgH2kHIeuFhLNI8MJynaM6NU/TkFUfriGFJyo07W54m/w/yVEm5cSFqjNdtbFNU5F84WLexTTsG9eIgnx5IUlFpUfvMy0f4mqxlIKCjuzsstW7xKFNe0L0Q0oF2EGqR5tmjzz7ofO19VTXKm79GJzzwnv749kodMyJF/7lpip68IkuZQxPrj/M+8LryZkvpu+TfWGaXlDfb3x5UO29sE0xaeejt4cOal9/BI/4Auq+6Ci9LWDyKboY56U0wJx2t5SvwNaoXfvbos/Xsl8+GnK9dU2v1ry826KG3V2pT6T6dfGh/3XbGoTo8NTH4D4iKCl0DuzbInPRwj28F33ij7OlSRTMbmB50Xn7Trewlf8UXFpQCaKFjfzNXx45I1sxLJjrdFSAszc1JJ6Q3QUhHewm5mLRPup4+61M98MYKrdhSpiOGJuqOs8Zo8siD1PgNd7fOztjdMyNDvj5FypkqFSXqgPnyUgsWtrILKYA2+tGz+Vq3vVxzf3ay010BwsLCUaAV2lr3PNii0R61o7Vv2wxd/Uy+9q9eoz+/dr/+/fsfavInbx78guHWGO+MmuS5ufKu8ahwppQe4pPmg87LZxdSAG10eGofrd2+R3v2VzvdFaDdENKBINqj7nnDcBplk5RSebMG739IPe0w3TfvSb39+I91ztcfyrR0QWe4NcY7oyZ5g59x9gpJQT6YO3t0iIWtdZKTw2sHgCYyUxNlrbRsM4tH0X0Q0oEg2qO04Nmjz5ZsjPpUfU+p+/LUq+Zklcb8U6evu1mXffpvxdbWNLh4Cxd0urFyR6BPr5+RHnS6y+urQixsBYB2UrfzKItH0Z0Q0tEqbZ0K4nZtrXturdXrBes1ZP9j6lt9lfZFfaVNcddrV+yzenvw9hA/tJ2nd3RCCcaGWv1vtmNHeO0A0MSAPj3Vv3eclmxkJB3dByEdYWuPqSDh/Cwn3gy0pe756q3luvzpz6Rd18mqWlt6/J+2xf0/VUdtliQVhyje0u7TOzqhBGNDrf43SwvxeKh2AAhi7OA+Ws50F3QjhHSErbN2mezMNwNN5U7Nlcc0rivoMT2UOzX0ost9VTX6/ZsrdNbD8/Xl+l1S739qc9xN2he9qNFxaWWd9J9dJy/IDFUrvrl/M/+JnbDAFUC3N3Zwb63eWq6qmvYpMQs4jZCOsLV1KkhLObnlvPcrKW+2bbJxkJX3q+DHv7diq854aL4efW+1po8fondvO1m53z1dnh5xjY7zxHqU+3aI/4G09/SOTh6h9mZ6lTc9T+mJ6TIySk9Mr68J3/yJnbDAFUC3N25wH1XW1GrNtnKnuwK0ixinO4CuJy0xLWj975ZMBQlHZ70ZCConR96iKnkXNmys+naqSE6OVFysbw7N1K8vu0ev7+6hkf176e8/Pqa+3nldOG24wVHu1Fx583IkBakL3l7h2efz96+oyB96G+6F0MEj1N5M78FDedATvYRyAG0ydnAfSdLyzbs1ZlAfh3sDtB0j6Qhbq6c1hKkt88LbrLhYvkwp4xYp6m7/rS9T9Ysvq4vX66mjpmvqtF9q7g7p5wP36o2bTzxgQyJvpleFtxSq9u5aFd5S6A+wzUzvaPMc/IaLRSV/QDeBkiuMUAPoxkb066UeMVFavrnM6a4A7cLRkG6MedoYs9UYs6RBW7Ix5m1jzKrAbd8Gj91ljFltjFlhjDmzQftRxpiCwGOPGONPJcaYOGPMi4H2T40xGZ36BMPUVXZ/bfW0hjB11puBYHwnJSt7ulSUJFnjv82eLvnGG33VZ4i+e8VDum9qto7esExvPzlDNzx8m3rEtPA/pxDTO3zj1fY5+MEWi1r77e6dBHQA3VRMdJQOGZjA4lF0G06PpD8jaVqTtjslzbXWjpY0N3Bfxphxki6RdFjgnMeMMdGBc2ZJypY0OvBVd81rJO201o6S9JCkBzrsmbRBZXWtZvxtof783mqnu9JiQUeIO+BndMabgWByTpMqGq8b1d7YOOWcfqXOu+wPKvEkadarv9FfX75HaaVbQi/G9Pn8295HRflvmyl/2C5z8EN9AtDcYtEw+thhrr9eionxv2mJifHfB4AwjR1EhRd0H47OSbfWzg8yun2upJMD3z8raZ6kOwLtL1hr90taZ4xZLWmSMaZQUh9r7ceSZIx5TtJ5kt4InHNP4FovS3rUGGOsy4ase8REqabW6vH31+rSSWlKSYg7+EkRotVznNuouLrxIs64msOVUvUTKWaIvr/4f7rrvafVp7JBoA42n7xu6kndyHZdnfKPPpKeffaA9qLbKw68hhR0/n8ovpOSlT25pP4NRt0nAEpJVtB/xVB9lDpv1P3666VZs769X1Pz7f3HHuucPgDoFsYO7qN/LtygrWX7NKB3T6e7A7SJ0yPpwQy01m6WpMDtgEB7qqT1DY7bEGhLDXzftL3ROdbaakmlklKa/kBjTLYxJt8Yk79t27Z2fCotd/u0Q1VRWa1Hu9BoendWN+/d2HglV16vQZX3SzJS/P367QdNAnqoxZih6pTn5QVtjw5R9CW6/gOjgwv2CUBFD3978BM6t5Z6UHl54bUDQAjfLh5lXjq6PjeG9FCCbDgu20x7c+c0brA2z1qbZa3N6t+/fxu62HqjBvTWxVnD9LdPirR+R/AR1a6sq+1Qmjs1V0k6XkP2P6aEmjNVGvMv7Ur4uXIvuK7l5QJDTTGpqQneHOzVKqnGfnv8wf4dm34CcLD2Dq2l3tJpNCH+PUK2A0AI4xpUeAG6OjeG9C3GmMGSFLjdGmjfIGlYg+OGStoUaB8apL3ROcaYGEmJkly71/gtpx2i6CijP7y1wumutCsnNyVqjZLy/fps6Tgl7r1LMdGV2hL3cyX2m6u87z7qn3rj9foXYdbWNr8YM1RJxejgI+Ppe0K0J6ZLatm/Y9gVcTqqlnrDKjPWfjuNxon57gAiRqInVkMSe2rZJkI6uj43hvTZkq4IfH+FpNcatF8SqNgyXP4Fop8FpsSUGWOODVR1ubzJOXXXulDSu26bj97QoMSeuvr44fr34k36asMup7vTbkIuiJx9s/MLFuv4fLIZGZo97iSd/stX9fqXG3XLaaO18p4fad+9K1q3ODZUqcXs7KDtuSOym61m05KFpWFXxMnNlXo0mR/To0fba6m7YRoNgIg0djCLR9E9OF2C8R+SPpZ0qDFmgzHmGkn3SzrdGLNK0umB+7LWLpX0kqRlkv4n6QZr6+cBzJD0pKTVktbIv2hUkp6SlBJYZPpTBSrFuNl1J49Uv4Q4/eq1paqtde37ibCE3JSoqsQdI60+n7659Q79+KjL9ZPv3q5hOzbpP3+7Tbds+bzlZRWDCbWT5mOPBW33znis2Wo2LdncqVUVcZq+b22P97FFIRa7Bmvv1Sv4saHaAaAZYwf30drte7Sviilz6NqMiweWHZGVlWXz8/Md7cMrCzfoZ//8Ug9+b7wuPnrYwU9wuYyZGUErlKTvkgpnNm0M1PPuJNZavTDVq98ccZ6qoqJ12/znddXCOYq2tSH74ivwHbiLaCdUoAn575iYrsJbDuxnyy6aETw4t/X3EBMTfE55dLRUXX1gW22QVbNRUcxLBxC21ws263rfF5pz4xRlDk10ujtAs4wxC621WcEec+N0l4h3wZGpykrvq/v/97VKK6qc7k6bBZ2CUSnlzg1ycHssWGyh4pIKeZ/8VHdN8urwb1brzadv1I/yX/MHdEm+PkUHLNL0FfiU/erVjeeFv3q1/7FZ1yvj5zGKusco4+cx8s1qptZ3K2qT507NVWxUbKO22KjYtm3u1FELR8NZDBosoDfXDgDNGMviUXQThHQXMsbo3nMP066KSv3eDYtI27jZTdApGAtS5C0IcnBbFyy2QG2t1V8/WqczZ87XVxtK9dvPfPr7CzlK3/VN/TG+TCn7XHPAIs2bX71WFbay0fUqbKVufvkaZW+cpaKEGv8OpQk1yt44K3hQb8OiysBmuiHvh62jFo6mp7e8PcRC2pDtANCMtGSPesZGacUWyjCiayOku9RhQxJ1+XEZev6TIn22zsGCNO1UpeOAHUp/9HDwRZVtXbB4EGu2leviJz7WvXOW6ZgRyXrr1hN16TXnyDTpS85pRhUxjaeCVVRVqKR2T9Drlpj9qmg8yK2KWClnbZBa361cVJkzN0eVNY3fIFTWVIa3I2lToRa3tvX3EM516zZPamk7ADQjOspo9IDeWklIRxdHSHex26cdqmHJ8br95S+1t9KhubkdVaUj1KLKDtrlsrqmVrPmrdFZD3+gVVvL9ceLj9BfrzxaQ5Lig/alOLF91moU9wrye2vlFJOWLBwNJWR99Y76PYRz3ccek2bM+HbkPDraf5/dRgG00uiBCYR0dHmEdBfz9IjRA98br8KSCuemvXTkZjed5Otvduv8xxbogf99rVMO7a+3f3qiLjhyaOOpIk1qn6fFHLAxrV+Q2SWeSiklxP5TaWVB/hNr5RSTsGugBxy0vnpL676HK4zr+mYcr4zfD1XUPUYZvx8q34zj26cPACLSoQN7a8vu/d1iXRciFyHd5SaP7KcfHpumpz9a58y0l46Ys+zzSf36yffAD5VxfpGifmWVcX6RfA9d1a4lGCurazXznZWa/qcPtWnXXv35B0fq8R8epQG9ex703Nx3/OG7WdZfoSbvzVg9/G6PA473VEq5C+KDXLx1U0zCroEe0JL66k7qaptdAXC/Qwb1liSt3MpoOrouQnoXcOdZY5We7NHNLyzSzj0HS47trL3nLAfmuPuGlCh7ulSUJP9CyyQp+8wq+Z68ua09liQVbCjVdx/9UDPfWaVzMgfr7Z+epHPGD27xQkvv+zuUN8cfwhVi5ouRVPhqury3/lXeL6p0xSIpusZ/fHSNdMUiyftpkCH2Vk4xaVUNdLVtmkxncPubCABdzyED/SF9xTeEdHRd1Elvwg110oNZsrFUFzy2QMMH7deK6ltUvLsTa3T7fP456MXF/hH03NzWT4kI1OXOuMUfzJtK3yUVPtT612RFZbUefmeVnvxwnfol9FDueZk6bdzAg553QO3z18rlnVciSer3c6kkyL46KfEp2n77dv/5p/RT9uQSVTTYvNNTKX8Vm/e2t/r5tIcOqa/ejqLujZIN8k7IyKj2bsowAgiftVaZ97ylC45M1a/PPdzp7gAhUSe9Gzg8NVGnTyjXio2x2rFjQounBYRcMBgG33gp4xYp6m7/rW98659H3cY5RSH2lwjV3hLzVmzVGQ/N1xPz1+qio4bqrVtPanFAP2C6xSll8h3lL9eyPyb4eft3ldSXpMw5TY0CuuS/n3Na659Pezm7dtSBnwbYQLsLtHauPQCEYozRIQMTGElHl0ZI70L+u+Hnqoj6WH2rrlbPGn9Sbm5aQHMb77RUu88Xjo6WL7OZh034L8ltZft10z8W6cq/fq64mCi9mH2s7v/eeCXGxx78ZIWYbmErlXN+Hyk9XeU9gp9X3kP1JSmLq0uCHlNc7WD5zIDXN887cMGrCbS7QGvn2gNAcw4Z6C/DyIwBdFWE9C6keHeRtvf4o6rMBvWrvEsxtYP97UGmMkhSzuybg268kzO75fO+222+8PXXSzEx8o2rUfZ0Ba2SIkk1ajy9oblPAmprrf7xWbGm/mGe3lzyjW497RC9fvMJOmZEiMosIQSbCiJJRdUl/qokB5vGXlGhtPLgG++4YTQ4aBnIZto7W2vn2gNAcw4Z2Fs7K6q0vbyT13IB7STEB/lwo7TyaBUl7NW2Hr/WoP1/1IDKX2lz3G1K27Mv6PHFVSVBA2ZxVfBR36DXaI9Fh9dfL82aJUnKmXrgtJCG0huE3bpR/Lo3CXWj+JI0acB39YtXC/R54U4dOyJZuednamT/hJb3qYFoE60ae2BgjTb+vqTEp6hk74H/Zg3LLua+WaPsSzyN3tC4ZTQ4rTT4/P+00k7vSkjeTC+hHEC7OrSuwsuWMvXvHedwb4DwMZLeheS+WSNPpVQdtUXbevxWMXaQBu37P939dvD3WqFCWDjhrF3mC+flyZfpn8/e3JxzT6X/OdYJNoq/t1LKefULTQtsSvTgheP1j8XPa+TgJH+llJgY/5uCMAQL6A3bHz7rYcVGNZ46E1stPfy/b+97d6e7djQ4d+6B5SQ9lf52AOiuqPCCro6Q3oV4d6fXlwWsjFoiU/UHxdmxeveI+7S/+sCgmbs4JXg4W9zy6SDtMV+4bopLUZJCTx2xgZKFu9PrmxqN1lujXtWnKXXfE7IVJ+virGF692cn6+Knfysza5ZUE3j+NTX+Ufswgnp6iKkqde3eTK/+et5fAwFcSi81+utrkrcgcGCgJKU306vCWwpVe3etCm8pdEVAlxq/bkxdbfc5jf+tAaC76ZfQQ309sVpFrXR0UYT0riQ3V941HhXOlGrvlQr/+KEemJunDwaP00/+sUiV1YH53D6flJEh77ySA8PZm7Hy/ujhFv/I9pgvfLApLpIkIz17pOS74+z6prrR+h61ozVo/+/Ur+oWVUVtlkl5UL+9IFPJvXo0GqWvrz6TKX/d8RbKfbNGPaobt/Wobjyq/20Atyo86nl/wA2jxrmjmr5uZkreNW2odQ8AXYC/wktvRtLRZRHSu5Igm+BcfOulumf6OL25dIuuefZzVTzv3yyortSht0AqfNj4w1lg453ODpTFLSyrWBEr5ex/vf7+bdHf08B9P9Wg/X9QtB2g7bF/UJm5XbkJ35aHaThKX78p0nR/e4ulpASrUCilhPjEIdR294E3R4qKqi/N6Aqt3DwJALq6Qwf11qot5VR4QZfEwtGuxus9IFxdKcnTI0Z3/usrebft0NO10erb8ABr/cGssDDsH9fc4s2WjqanJaWHrKDSVFFpkXbuqdSj763W88UnKEG1qravaHOvlzRs917lzpW8u1+XZviPDzZKX9HD3+7NyGjRBkw5p0lVTUbSq2L87S2OsYGdVFURmEMfKM0oyR1hOMjrBgC6u9EDe6tsf7U2l+7TkKR4p7sDhIWR9G7i4qOH6THvUVqaNEznXf4Hfd2vyXzj4tZtAd8eJRhz485WVAs2jjS2p5KqL9aJD76nv360TuctfU8fPJGtwj88q5pf7/VP0yhQo+fS7KZIRUX+Nyh1gTnEyHaoWuZh1TjPyfk2oNepqPC3AwAccWjd4tEtTHlB10NI70amHT5I/3jvYe2NidP5l/1B/xkz5dsH01pXr7s9SjD+9fM81TZTa9xYj/pUXazUfU8psepyHTMiWW/cfKIeXPaaBpcFKRfZ4LlERwVf9Bnd9E1BM4G5XSrYhHoT1Mo3RwCAtjtkoL80L/PS0RUR0ruZo376I/3npbs0buta3Xjunbrt7JtVmtSv8SLBMOZOt0eAnZtWE7SqS5Tto8SqHyh139PqW3259ketVEWfX+vJK47217fNzfVXTmnI03jBY8jyicFe2SECc7vseBnqTVAr3xwBANouydND/XvHafXWcqe7AoSNkN7deL0aMPNB/WPB47ppwQt69bBTdeYNT+vtiaf5F874GiwsbcFUkNy4s4OXcYw7O+jxLRFbm6HkypuUuu+vSqr+gfZHFWhz3M3aFnevamPWNHouB1vwGLJ8YrBa8CECc7vseNmCNxQAgM43qn8CIR1dkmHFc2NZWVk2Pz/f6W60m6827NJt//xSK7eU67gRKcp57DYd/uVHBx4YamFpv37yDSlRzlR/lZa0Uv8mON5NKdL27S3qg7nHyChO8TXHqHfNNPWsHa9a7dOe6PdUFjNHVVGNR7jt3S1/TfrGG2VPb7x41FMZqANe0OBAj6fjK5r4fP4pNS1YrAoA6Bz/9+8l+vfijfrq7jNkTDNzLwEHGGMWWmuzgj5GSG+su4V0SaqqqdXfPy3WzHdWamdFlU5b9al+9PmrOmb9km9noRjjLynYVHN/0A7y2qmuqdXnhTt12Z9/rcoeUxQlj6rNFpVFv67y6DdVG3XgyEa0iVb1r6qDXC2EjAz5+hQFfxORkEBgBoAI98xH63TPnGX67BdTNaBPT6e7AzTSXEinBGMEiI2O0hWTM3TexFQ9ddEt+tuI43XJ6Ps1Zus6nbtsnqYvn6+hfT0Hv1AL7NxTqQVrSjR3+Ra9u2KrdlVUSbFTVBH9kcqj39X+qCX+nZVCCDXHPKTcXHmzs+UtaFBZxeOR8h4mlAMANGqAv8LL6q3lhHR0KYT0CJIYH6ufXjpZ18+4Xq+MOE4vZ56mB06+Sg+cfJVGx9XouNeWKCsjWYcMTNDwfr0UFxPt39Cn5MAKKzYlRdvL9mvNtnKt3lquJRtLlV+0s37eX19PrE49dIBOHTtA574yQrVR+1vUx/TEMLeqrwviTDMBAAQxaoC/wsuabeWaPKqfw70BWo7pLk10x+kuB2gwd7p47ES9/uO7tKBPmvILd6ii0j+SHWWk5F5xSqmqUO+1K2UCU2H2xfTQjl6JKknsr33226kwfXrGKCsjWUel99Uxw5M1Ma2voqP8j2fcalSUdGA3jPXvElrHE+sJf8EmAADNsNYq85639L0jU3XvuYc73R2gEaa7oLEGu0+mSbou8FVVU6tVW8q1OjA6vq1sn3bsqVRZTK20dq20b596WWl0WpKSDx+hIUnxGjUgQaMGJGhQn56Kigo+fz33gx7KPrOy0eJOYyUr/xz0Gluj9MR05U7NJaADANqVMUYj+/fS6m1UeEHXQkhHvdgX/qFxOTka13DayGVeSUHf4LWYN+kEac5c5Uz17wRq9O0Ieo2tqa9JTkAHAHSEkf0TtGBNkM3xABejTjr8mqmf7ivwKWNmhqLujVLGzAz5CkJvfhTUe+/JWyAVzvTXL7dNBtwrqiqUMzf4bqAAALTVyAEJ+mb3PpXtq3K6K0CLEdLdIIwdQDtMTo5UUdG4raJCvidvVvacbBWVFsnKqqi0SNlzssML6g1KOxYnBj+kuDT4bqAAALRV3eLRtdv2ONwToOUI6U4LcwfQDlMcPCTnTChRRVXj8N6Wke/kihDt8cmtuh4AAAczsr8/pLPzKLoSQrrTQoxgK6eTp3+kpQVtbpeRb3Z4AwA4KD3Fo5gow+JRdCmEdKeFGMEO2d5RcnP9mwA15PEoLTYl6OFpicFDfVANynzuCLFn0o69O1p+PQAAwhAbHaWMfr20hpF0dCGEdKeFGMEO2d5RvF4pL09KT/ePfKenS3l5yv3uw/LENk7WddVYWiz92w2K0kqDHxJW6AcAIEyUYURXQ0h3WogRbOWGEYLbi9crFRb6F3oWFkper7yZXuVNz1N6YrqMjNIT08PfcKjBc8ydK3kqGz8cdugHACBMowYkqKikQpXVtQc/GHAB6qQ7rQtsa+/N9LathnmD5+hdUiylJCvnNKm4eofSEtOokQ4A6HCjBiSoptaqeMcejRrQ2+nuAAdFSHeDBjuAdlsNnqM38AUAQGdpWOGFkI6ugOkuAACg26MMI7oaQjoAAOj2esXFaHBiT0I6ugxCOgAAiAgj+ydoXUmIXfUAlyGkAwCAiJDRz6N128plG+zfAbgVIR0AAESE4f0StHtftXbsqTz4wYDDCOkAACAijOjXS5K0bvseh3sCHBwhHQAARIThhHR0IYR0AAAQEYb2jVdMlCGko0sgpAMAgIgQEx2ltGQPIR1dAiEdAABEjOH9ehHS0SUQ0gEAQMSoC+m1tZRhhLsR0gEAQMQY3r+X9lfX6pvd+5zuCtAsQjoAAIgYVHhBV0FIBwAAEWNEvwRJ0lpCOlyOkA4AACLGwD5xio+N1rpthHS4GyEdAABEDGOMMvr10rrt5U53BWgWIR0AAESUEf16qbCkwuluAM0ipAMAgIgyvF8vFe+oUFVNrdNdAUIipAMAgIgyvF8v1dRard/BaDrci5AOAAAiSgZlGNEFENIBAEBEGUFIRxdASAcAABGlb68eSvLEEtLhaoR0AAAQcYb366W11EqHixHSAQBAxMlI8Vd4AdyKkA4AACJOeopHm0r3an91jdNdAYIipAMAgIiTnuKRtdL6HXud7goQFCEdAABEnLRkf4WX4h3MS4c7EdIBAEDESU/xSJKKSpiXDncipAMAgIiT0quHEuJiCOlwLUI6AACIOMYYpSV7VFTCdBe4EyEdAABEpPQUj4oowwiXIqQDAICIlJbi0YYde1VTa53uCnCAiAjpxphpxpgVxpjVxpg7ne4PAABwXkZKL1XW1GpzKWUY4T7dPqQbY6Il/VnSWZLGSbrUGDPO2V4BAACnpSf7K7wUs3gULtTtQ7qkSZJWW2vXWmsrJb0g6VyH+wQAAByWVleGkXnpcKFICOmpktY3uL8h0FbPGJNtjMk3xuRv27atUzsHAACcMTgxXrHRhjKMcKVICOkmSFujFSLW2jxrbZa1Nqt///6d1C0AAOCk6CijYZRhhEtFQkjfIGlYg/tDJW1yqC8AAMBF0pM9jKTDlSIhpH8uabQxZrgxpoekSyTNdrhPAADABdJTeql4R4WspQwj3KXbh3RrbbWkGyW9KWm5pJestUud7RUAAHCDtGSPyvdXa8eeSqe7AjQS43QHOoO19nVJrzvdDwAA4C4Z/fwVXgpLKpSSEOdwb4BvdfuRdAAAgFDSkntJkop3sHgU7kJIBwAAEWtYcryMEYtH4TqEdAAAELHiYqI1uE9Pdh2F6xDSAQBAREtP6cWuo3AdQjoAAIho6SlsaAT3IaQDAICINizZo+3llaqorHa6K0A9QjoAAIhoQ/vGS5I27NzrcE+AbxHSAQBARBuW7K+Vvp556XARQjoAAIhow/oS0uE+hHQAABDR+iX0UHxstNYz3QUuQkgHAAARzRijoX3jGUmHqxDSAQBAxBuW7GHhKFyFkA4AACLesL7xWr+TkXS4ByEdAABEvGHJHpXtq1ZpRZXTXQEkEdIBAAA0tK7CC6PpcAlCOgAAiHh1GxqxeBRuQUgHAAARr35DI0bS4RKEdAAAEPES42PVp2eM1u+gwgvcgZAOAAAg/2g6I+lwC0I6AACApGF9PcxJh2sQ0gEAACQNS47Xhp17Za11uisAIR0AAEDyT3fZX12rbWX7ne4KQEgHAACQ/NNdJCq8wB0I6QAAAPJPd5GkDTup8ALnEdIBAADUYNdRFo/CBQjpAAAAknrGRqtfQhy10uEKhHQAAICAYcnxzEmHKxDSAQAAAob1ZUMjuAMhHQAAIGBYcrw27dqn6ppap7uCCEdIBwAACBja16OaWqtvdu9zuiuIcIR0AACAgNQkfxnGjZRhhMMI6QAAAAGpff0hfVMpIR3OIqQDAAAEMJIOtyCkAwAABPhrpffQxl2EdDiLkA4AANDAkKR4bWAkHQ4jpAMAADSQmhTPSDocR0gHAABoIDUpXpt27ZW11umuIIIR0gEAABpI7RuvfVW1KtlT6XRXEMEI6QAAAA3UVXjZxJQXOIiQDgAA0MAQyjDCBQjpAAAADQwNbGjE4lE4iZAOAADQQGJ8rHr1iKYMIxxFSAcAAGjAGKPUvpRhhLMI6QAAAE2kJsUzJx2OIqQDAAA0kdo3XptKCelwDiEdAACgiSFJ8dpVUaU9+6ud7goiFCEdAACgibpa6cxLh1MI6QAAAE3Ul2FkXjocQkgHAABoIjXJI0nawEg6HEJIBwAAaGJA7zjFRhtG0uEYQjoAAEATUVFGgxOplQ7nENIBAACCGJLUU5sI6XAIIR0AACCI1CQP013gGEI6AABAEKl947WlbJ8qq2ud7goiECEdAAAgiKFJ8bJW+qZ0n9NdQQQipAMAAAQxhA2N4CBCOgAAQBCDk3pKkr7ZTUhH5yOkAwAABDE40R/SN+1iugs6HyEdAAAgCE+PGCXGx2pzKSPp6HyEdAAAgBAGJ/bUZkbS4QBCOgAAQAhDkuK1ieoucAAhHQAAIITBiT2Z7gJHENIBAABCGJIUr10VVdpbWeN0VxBhCOkAAAAh1Fd4YTQdnYyQDgAAEMLgRP+GRuw6is5GSAcAAAjh21rpjKSjcxHSAQAAQhgUCOmbGUlHJyOkAwAAhNAzNlopvXpQ4QWdjpAOAADQjMFJPbWJDY3QyRwJ6caYi4wxS40xtcaYrCaP3WWMWW2MWWGMObNB+1HGmILAY48YY0ygPc4Y82Kg/VNjTEaDc64wxqwKfF3RaU8QAAB0G4MT4xlJR6dzaiR9iaQLJM1v2GiMGSfpEkmHSZom6TFjTHTg4VmSsiWNDnxNC7RfI2mntXaUpIckPRC4VrKkuyUdI2mSpLuNMX078DkBAIBuaEhiT21mJB2dzJGQbq1dbq1dEeShcyW9YK3db61dJ2m1pEnGmMGS+lhrP7bWWknPSTqvwTnPBr5/WdLUwCj7mZLettbusNbulPS2vg32AAAALTI4KV5l+6tVtq/K6a4ggsQ43YEmUiV90uD+hkBbVeD7pu1156yXJGtttTGmVFJKw/Yg5zRijMmWf5ReksqNMcHeQDipn6TtTncCXQ6vG7QGrxu0RkS8bvo84HQPup2IeN0cRHqoBzospBtj3pE0KMhDOdba10KdFqTNNtPe2nMaN1qbJykvRJ8cZ4zJt9ZmHfxI4Fu8btAavG7QGrxu0Bq8bprXYSHdWntaK07bIGlYg/tDJW0KtA8N0t7wnA3GmBhJiZJ2BNpPbnLOvFb0CQAAAOhUbivBOFvSJYGKLcPlXyD6mbV2s6QyY8yxgfnml0t6rcE5dZVbLpT0bmDe+puSzjDG9A0sGD0j0AYAAAC4miNz0o0x50v6k6T+kv5rjFlsrT3TWrvUGPOSpGWSqiXdYK2tCZw2Q9IzkuIlvRH4kqSnJD1vjFkt/wj6JZJkrd1hjLlP0ueB435trd3R8c+uQ7h2Kg5cjdcNWoPXDVqD1w1ag9dNM4x/0BkAAACAW7htugsAAAAQ8QjpAAAAgMsQ0l3GGFNojCkwxiw2xuQH2pKNMW8bY1YFbtk5NcIZY542xmw1xixp0BbydWKMucsYs9oYs8IYc6YzvYYbhHjt3GOM2Rj4u7PYGHN2g8d47UQ4Y8wwY8x7xpjlxpilxpibA+38zUGzmnnt8DenBZiT7jLGmEJJWdba7Q3aHpS0w1p7vzHmTkl9rbV3ONVHOM8Yc6KkcknPWWsPD7QFfZ0YY8ZJ+oekSZKGSHpH0iENFmUjgoR47dwjqdxa+/smx/LagQK7fg+21n5hjOktaaH8u35fKf7moBnNvHYuFn9zDoqR9K7hXEnPBr5/Vv4XOCKYtXa+/NWMGgr1OjlX0gvW2v3W2nWSVsv/BxARKMRrJxReO5C1drO19ovA92WSlsu/gzd/c9CsZl47ofDaaYCQ7j5W0lvGmIXGmOxA28BArXgFbgc41ju4WajXSaqk9Q2O26Dm/0giMt1ojPkqMB2mbtoCrx00YozJkDRR0qfibw7C0OS1I/E356AI6e5zvLX2SElnSboh8NE00BYmSBvz3NDQLEkjJU2QtFnSHwLtvHZQzxiTIOkVSbdYa3c3d2iQNl43ESzIa4e/OS1ASHcZa+2mwO1WSa/K/zHPlsC8rrr5XVud6yFcLNTrZIOkYQ2OGyppUyf3DS5mrd1ira2x1tZK+ou+/XiZ1w4kScaYWPlDls9a+69AM39zcFDBXjv8zWkZQrqLGGN6BRZWyBjTS9IZkpZImi3pisBhV0h6zZkewuVCvU5mS7rEGBNnjBkuabSkzxzoH1yqLmgFnC//3x2J1w4kGWOM/Lt7L7fW/rHBQ/zNQbNCvXb4m9MyMU53AI0MlPSq/zWtGEl/t9b+zxjzuaSXjDHXSCqWdJGDfYQLGGP+IelkSf2MMRsk3S3pfgV5nVhrlxpjXpK0TFK1pBsidaU8Qr52TjbGTJD/Y+VCSddKvHZQ73hJl0kqMMYsDrT9QvzNwcGFeu1cyt+cg6MEIwAAAOAyTHcBAAAAXIaQDgAAALgMIR0AAABwGUI6AAAA4DKEdAAAAMBlCOkAAACAyxDSAQAAAJf5/4uKdGGYmY9rAAAAAElFTkSuQmCC\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"PollyPlot(x_train[['horsepower']], x_test[['horsepower']], y_train, y_test, poly,pr)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Figur 4 A polynomial regression model, red dots represent training data, green dots represent test data, and the blue line represents the model prediction. \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see that the estimated function appears to track the data but around 200 horsepower, the function begins to diverge from the data points. \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" R^2 of the training data:\n"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.556771690212023"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"poly.score(x_train_pr, y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" R^2 of the test data:\n"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"-29.871340302044153"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"poly.score(x_test_pr, y_test)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see the R^2 for the training data is 0.5567 while the R^2 on the test data was -29.87. The lower the R^2, the worse the model, a Negative R^2 is a sign of overfitting.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's see how the R^2 changes on the test data for different order polynomials and plot the results:\n"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(3, 0.75, 'Maximum R^2 ')"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"Rsqu_test = []\n",
"\n",
"order = [1, 2, 3, 4]\n",
"for n in order:\n",
" pr = PolynomialFeatures(degree=n)\n",
" \n",
" x_train_pr = pr.fit_transform(x_train[['horsepower']])\n",
" \n",
" x_test_pr = pr.fit_transform(x_test[['horsepower']]) \n",
" \n",
" lr.fit(x_train_pr, y_train)\n",
" \n",
" Rsqu_test.append(lr.score(x_test_pr, y_test))\n",
"\n",
"plt.plot(order, Rsqu_test)\n",
"plt.xlabel('order')\n",
"plt.ylabel('R^2')\n",
"plt.title('R^2 Using Test Data')\n",
"plt.text(3, 0.75, 'Maximum R^2 ') "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We see the R^2 gradually increases until an order three polynomial is used. Then the R^2 dramatically decreases at four.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following function will be used in the next section; please run the cell.\n"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [],
"source": [
"def f(order, test_data):\n",
" x_train, x_test, y_train, y_test = train_test_split(x_data, y_data, test_size=test_data, random_state=0)\n",
" pr = PolynomialFeatures(degree=order)\n",
" x_train_pr = pr.fit_transform(x_train[['horsepower']])\n",
" x_test_pr = pr.fit_transform(x_test[['horsepower']])\n",
" poly = LinearRegression()\n",
" poly.fit(x_train_pr,y_train)\n",
" PollyPlot(x_train[['horsepower']], x_test[['horsepower']], y_train,y_test, poly, pr)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following interface allows you to experiment with different polynomial orders and different amounts of data. \n"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "446ae49a39704e05a63d0753e7d9d629",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"interactive(children=(IntSlider(value=3, description='order', max=6), FloatSlider(value=0.45, description='tes…"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<function __main__.f(order, test_data)>"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"interact(f, order=(0, 6, 1), test_data=(0.05, 0.95, 0.05))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #4a):</h1>\n",
"\n",
"<b>We can perform polynomial transformations with more than one feature. Create a \"PolynomialFeatures\" object \"pr1\" of degree two?</b>\n",
"\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [],
"source": [
"pr1=PolynomialFeatures(degree=2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"pr1=PolynomialFeatures(degree=2)\n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #4b): </h1>\n",
"\n",
"<b> \n",
" Transform the training and testing samples for the features 'horsepower', 'curb-weight', 'engine-size' and 'highway-mpg'. Hint: use the method \"fit_transform\" \n",
"?</b>\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [],
"source": [
"\n",
"x_train_pr1=pr1.fit_transform(x_train[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']])\n",
"\n",
"x_test_pr1=pr1.fit_transform(x_test[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"x_train_pr1=pr1.fit_transform(x_train[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']])\n",
"\n",
"x_test_pr1=pr1.fit_transform(x_test[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']])\n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<!-- The answer is below:\n",
"\n",
"x_train_pr1=pr.fit_transform(x_train[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']])\n",
"x_test_pr1=pr.fit_transform(x_test[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']])\n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #4c): </h1>\n",
"<b> \n",
"How many dimensions does the new feature have? Hint: use the attribute \"shape\"\n",
"</b>\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(110, 15)"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"\n",
" x_train_pr1.shape #There are now 15 features:"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
" x_train_pr1.shape #There are now 15 features:\n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #4d): </h1>\n",
"\n",
"<b> \n",
"Create a linear regression model \"poly1\" and train the object using the method \"fit\" using the polynomial features?</b>\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [],
"source": [
"poly1=LinearRegression().fit(x_train_pr1,y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"poly1=LinearRegression().fit(x_train_pr1,y_train)\n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" <div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #4e): </h1>\n",
"<b>Use the method \"predict\" to predict an output on the polynomial features, then use the function \"DistributionPlot\" to display the distribution of the predicted output vs the test data?</b>\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAscAAAJcCAYAAAAVVwmuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAACQg0lEQVR4nOzdd3yUVfbH8c8lCb1J71VAOlJUBBUrir2u2Neuq2Jfe2/r2n7qqssqdsXeGxawoCIoHQKhg4bee8r9/XFmIISUSTKTZ2byfb9e85pk5pnnOVMyOXPn3HOd9x4REREREYFKQQcgIiIiIhIvlByLiIiIiIQoORYRERERCVFyLCIiIiISouRYRERERCREybGIiIiISIiS4wrCOfecc+72KO2rlXNuo3MuJfT7GOfchdHYd2h/Xzjnzo3W/koZw0vOufvK6VgnOucWhx7TvcvjmEXEssA5d1jo51ucc8+XwzEHOeeWxGC/bZxz3jmXGu19l4VzbrpzblDQcUhicc4d4JybFcX97Xifdc6d55z7KYr7PtM5Nypa+yvBcQc45zJC76UnlPfxJXkoOU4CoYRmi3Nug3NurXPuZ+fcpc65Hc+v9/5S7/29Ee7rsKK28d4v8t7X9N7nRCH2u5xzr+Xb/1He+5fLuu8Ijj3GObc19Ea60jn3vnOuaSn2451ze5YhlEeAK0KP6cRijhVO+DaGTgucczeV4diF8t4/4L0v9kNPLD9IOOfSnXPnF3D5MOfchFgcMxIFPecFvZYL4r3v6r0fE+V4bsnzmtjqnMvJ8/v0Uuyv2A8soed9e+h9Z4Nzbppz7kHnXJ0SHKfY95tYCyWGeR+v+c65F51zHUuwjzL9DYReO1l5HsvZzrmn874fee9/9N53inBfkbwOo/I+W9CHUO/96977I8q671K4B3g69F76Yd4r8jy/G51zuaH/meHfzyzpgYobFCrgvXqZc+5T59zhJThGVD+0SOSUHCePY733tYDWwEPAP4EXon2QeBuFi4IrvPc1gY5AXeDxAGJoDZQ0gakbinsocIdz7sj8GyTJc/UycE4Bl58duk7Y8UGmZug1cSnwS/h3733XGB764dD7TkPg78B+wFjnXI0YHjMWfgk9dnWAw4AtwO/OuW7lGMNboceyHnAi0CQUQ4k/sBfFmWT931/oe2mev4eawCLsf2b4stdjGFP4vbon8DXwgXPuvBgeT6LBe69Tgp+ABcBh+S7bB8gFuoV+fwm4L/RzA+BTYC2wGvgR+6D0aug2W4CNwI1AG8ADF2BvKD/kuSw1tL8xwIPAb8A64COgXui6QcCSguIFjgS2A1mh403Os78LQz9XAm4DFgLLgVeAOqHrwnGcG4ptJXBrCR63HccJ/f4PYFr+xyv0+0XAnNDj9THQLHT5D6EYNoXuw98KOE6B9wGoErpN+PZzI4h5l8c+dNl44PrwY419MFoaej4rATcBc4FVwNvh5yZ027NDca0CbiXPawm4C3gtz7YDgZ+x181i4Dzg4tDztz10Xz4JbdsMeA9YAcwHrsqzn2qhx3cNMAO4If9rJM+2LYBsoHWeyzqHjtcAOBqYCKwPxXRXYY8V+f5OCrh/++W5f5OBQUU8Dx7YM99lO/ZHIX9j+eMI3ebt0GtiA/aPvW+effYO3b8NwDvAW+R5XRYS23nAT3l+3wv7p7wamAWclue6IaHnYAPwJ/Y6qoG9B+SGntONhF7v+Y7zUv5YgFpAJvahE6A98B32+loJvI4lC1DA+03o8new1+867O+rayH383RgQr7LrgE+Luy+RfJ45bn8U+DdPL8XGBeF/w2E/+42hOI4sYjnbMdrJ89lKaHX4SMFvZdif+d/hvY/CziUot9T7wfGhh7vPdn1ffa80HVPhe5fOnBonmMtoJC/Hey91+d5rfTP/5gC+2PvU+tC5/vnex++N3T8DcAooEERj1Vh78Vz872eqhSxjx33hyLeI4GqwGuhy9eGYm8ceixzgK2hYz0dyXt16PLrgWXsfD8o8HWCvc9tDR1nI7A2dHmh73k6Re+UrJ8eKzzv/W9YonRAAVdfF7quIfaHfovdxJ/Nrp+oH85zm4OwP9bBhRzyHOB8LCnKBp6MIMYvgQewEZOa3vueBWx2Xuh0MNAOqAk8nW+bgUAn7J/DHc65zsUdOz/nXAPgZOxNJ/91h2DJ/2lAUyyZHBm6DweGNusZug9vRXofvPfbvI0ohG/fvoQxO+fcAKBrnribYCNPrbF/2lcBJ2DPXzMsIf1P6PZdgGexBLkZUB9LRgs6VivgC+yfZ0OgFzDJez8cS3geDt3/Y0OjUp9g/9ibY8/L1c658GvnTixpao+9ngqtL/feLwFGh2IMOwf43Hu/EvtQcQ426n80cFlpag2dc82Bz4D7sMfveuA951zDku4rpMC/sUK2PQ57PdXF/tk/HYqpMvABloTWA97ERhQjFhrB/Rp4A2iEfdPwjHMuPJr8AnCJtxHLbsB33vtNwFHAX37nyNpfkRzPe78hdLzw+47D/naaYe8fLbHEiiLeb74AOoTi/QN7fRXkY6CTc65DnsvOCN3XAu9bJPchj/fZ9f2zwLgK+hsIbT83dPs6wN3AayUZBfZWtvYRBbyHO+c6AVcA/UL3bzCwoJj31LOx94Ra2HtYfvsC87APdncC7zvn6kUQavg9sG7omL/ki7Ue9rf1JPYe8xjwmXOufp7NzsC+eWgEVMb+/nZTzHtxe3Z9PW2LIHYo4j0Se2+qg71u62Pfymzx3t+KfeANl8NdEeGxwF5XjbD/WVDI68R7P5NdvwWqG9o+Ku95UrS4S46dcyOcc8udc9OitL8c59yk0OnjaOwzgfyF/VPNLwt7Y2ntvc/yVstW2D/usLu895u891sKuf5V7/200D/W24HTXGjCXhmdCTzmvZ/nvd8I3Aycnq9k4G7v/Rbv/WQsISsoyS7Mk865taHbZQLXFhLDCO/9H6E33JuB/s65NlG8DyW1Ehs5eR64yXv/bejyXODOUOK9BbgEG01fEor9LuCU0LFPAT713v8Quu720O0Luw/feO/fDL1mVnnvJxWybT+goff+Hu/9du/9POB/2Egf2D+2+733q733iyn+g9TLhJLjUOJ9ZugyvPdjvPdTvfe53vspWAJ5UDH7K8hZWML9eWhfXwMTsNHH0ijJ39hPoePmYKOp4dfvfkAq8GRoH+9j386UxDFY0vSi9z7be/8HNqJ/Sp44uzjnanvv14SuL6sd7zve+zne+69Dr8cVWGJU5PPjvR/hvd+Q5/Xas6A6Zu/9Zix5HAoQSpL3wpLmaNy3Xd4/I40rz/bveO//Cr2e3gIysG/0Sh1DHjnYN09dnHNp3vsF3vu5xezrJe/99NDrIKuA65cDT4Rea29ho9FHlzDeghwNZHjvXw0d+01sZPrYPNu86L2fHXrPehv78F2Qsr4XF6So98gsLCne03uf473/3Xu/vgzHAntOYeffSIleJ1F8z5MixF1yjI2S7FY/WQZbvPe9QqfjorjfRNAcS6Dy+zf2tdQo59w8F9mErsUluH4hkIaNQJRVM3Yd5ViIJQyN81y2NM/Pm7GR2Uhd5b2v671v7r0/M/QPvMgYQgnuKuzxjUQk96GkGnjv9/Ded/be500uV3jvt+b5vTVW47Y29CFgJvaPtXEorh3PW+iDzapCjtcSG+GIRGugWfiYoePews77u8txKXgUK6/3gabOuf2wr5arYyNROOf2dc6Nds6tcM6tw0ZaSvO6aw2cmi/mgViCW5Ac7DWeVxr2zxRK9jeW//VbNfSPuRnwZ76kuri/w/xaA/vmu19nYt8wgH1bMgRY6Jz73jnXv4T7L8iO9x3nXCPn3Ejn3J/OufXYV9SFPj/OuRTn3EPOubmh7ReErirsNm8QSo6x0ccPQ0kzlP2+5b0fJY0L59w5oUGZ8OPerajti4shL+/9HOBqLJFbHnqMmxWzr+JeO/lfawux12BZ5X//C+877/tnpO/hZX0vLkhR75GvAl8BI51zfznnHnbO5f+7L6lwrOHXVoleJ1F8z5MixF1y7L3/gXxvBs659s65L51zvzvnfnTO7RVQeAnDOdcP+yPcbaZraPTjOu99O+zT+7XOuUPDVxeyy+JGllvm+bkVliSEv/aunieuFOyr5kj3+xf25pV339lYzVZ52SWG0FfV9bF6vxLfntjeh/yP52LgqNAHgPCpqvf+T2ykfMfz5pyrjt2vgizGyiAiPeb8fMes5b0Pj8Luclzs8Sj8Dlmy8y72VeLZwEjv/fbQ1W9gI4Utvfd1gOewr/ILsstrkZ0JYjjmV/PFXMN7/1Ah+1qE1RTm1ZbQP+5i/sYilQk0d87lvT8tC9u4EIuB7/Pdr5re+8tCcY733h+Pfc37ITZqB8X/XRbIOVcTm0/wY+iiB0P76uG9r42N0Oe9P/mPcwZwfGgfddj5GBf2nI4CGjjnemFJcrikoqj7FqkT89yP4uLa5X4451pj35ZcAdT39pX4tCLux25C35IcmyeGXXjv3/DeD8TeWzzwr4JiyXuTYg6Z/7XWip2jnEX97ZT0PTy870jfPwvdVyneiwtS6HtkaBT9bu99F6xu+hh2ThAu1d8I9rpaDsyK4HVS0DFK8p4npRR3yXEhhgNXeu/7YLVIz5TgtlWdcxOcc79WhLoc51xt59wxWB3Wa977qQVsc4xzbs/QG+F67FNyuC3bMqwutqTOcs51CSVY92ATWXKA2dhzcHToE/dt2NeBYcuANq7w2dNvAtc459qG/vGG6+mySxFjab0B/N0518s5VyUUwzjv/YLQ9cU9ZkHeh+eA+0NvwjjnGjrnjg9d9y5wjHNuoLP61nso/D3hdeAw59xpzrlU51z9UEICu9//34D1zrl/OueqhUbduoU+sIElKTc75/ZwzrUArozgfrwM/A0bDczbpaIWsNp7v9U5tw+WxBRmElbOkuac68vO0gKwEc1jnXODQ/FWddbOrMAabGxi3G3OuRbOuUrO2pEdiz2mxf2NReqX0G2uCD3mx1Pyr+U/BTo6584O3e8051w/51xn51xlZ/1o64S+Zg/HCfac1ncRtmVzzlVxzvXBktA1wIuhq2oRmkzkrK77hnw3zf/aqQVsw0YDq2N/K4UK/Q29i43U18PqnSnmvhV1P1JCf6dPYd9S3B1hXPnvRw0ssVkR2u/fsRHBYoWeo87Y+0YTrBQl/zadnHOHhN6PtmKT0PI+d0W9pxamEXBV6PinYjXin4eum0ThfzsrsHKswt4DP8deg2eEXsd/A7pgr82SKu69uDQKfY90zh3snOseGtRZjw36lOp/pXOusXPuCqye+2bvfS7Fv06WAS1C789hJXnPk1KK++Q4lEzsD7zjnJsE/JfQV53OuZOc9dbMf/oqzy5aee/7Yi+gJ5xzJZr0lEA+cc5twD4F34q9of69kG07AN9g/7R+AZ7xO/uuPoj901/rnCtwUkQhXsVKYpZiM3yvAvDerwMux2pj/8RGIPL2T30ndL7KOVdQTeCI0L5/wLoebCWyZCpqvNXz3o7VamZiI6in59nkLuDl0GN2WgG7CPI+/B82yjAq9Pr4FZt4g/d+Otah4w3sfq1h1+dmB+/9Iuwr6uuwb3YmsbM29gWs9nGtc+7D0IeiY7G6wfnYNwjPYyNuYAnHwtB1o7DHpjg/YDPd//Tej89z+eXAPaH7dgdFjw7ejj13a0Ix5B1lXIyNDN6C/aNajCVyhb1H3oN1tvgptL+HgTO99+G5EkX9jUUkNDp+EtYpZi026voplqRFuo8NwBHY6/Uv7O/zX+z8gHo2sMBZqcCloWPgvU/HkrN5oee1sK/Xbww99quxjhu/Y50INoWuvxvruLEOK4V5P9/t87/fvIK9Nv7EZu7/GsHdfAMb0X0n3wfOAu9bIfo75zZiCdAYoDY22S08uFBcXPn/BmYAj2LP/TKgO9aNoSh/C8WwFvubXQX08QVPhqyCtexciT2njbDXLhT/nlqYcdjrdiXWjeEU7324zKqov53Noe3Hhu7/fnl3GtrHMdh7xyqsC9Ix3ibUlkgE78WlUeh7JPbh5F3sdTET+B77IB2+3SnOuTXOuaLmTax1zm0CpmLvoad670eE7k9xr5PvsA42S51z4cerJO95UkrOFzsPq/w5K67/1HvfzTlXG5jlvS9zr0fn3Euh/b5b1n2JiJQ359w44Dnv/YvFbiwiIqUS9yPHoZmh80Nf84TbV0XUjSD0tW2V0M8NgAHYp34RkbjnnDvIOdck9HX0uUAP4Mug4xIRSWZxlxw7597EvmLo5Jxb4py7AJtdfYFzbjL2FcPxRe0jj87AhNDtRgMPhb7GEBFJBJ2wNoPrsK+lT/HeZwYbkohIcovLsgoRERERkSDE3cixiIiIiEhQyrJCV9Q1aNDAt2nTJugwRERERCSJ/f777yu99w0Lui6ukuM2bdowYcKEoMMQERERkSTmnCt0dVaVVYiIiIiIhCg5FhEREREJUXIsIiIiIhISVzXHIiIiUrFlZWWxZMkStm7dGnQokgSqVq1KixYtSEtLi/g2So5FREQkbixZsoRatWrRpk0bnHNBhyMJzHvPqlWrWLJkCW3bto34diqrEBERkbixdetW6tevr8RYysw5R/369Uv8LYSSYxEREYkrSowlWkrzWlJyLCIiIiISouRYRERERCREybGIiIhIPh988AHOOdLT04vd9oknnmDz5s2lPtZLL73EFVdcsctlCxYsoEWLFuTm5u5yea9evfjtt98K3M+CBQvo1q1bqeOIxIcffsg999zD/fffT69evejVqxcpKSk7fn7yyScj3tcDDzyw4+ft27dz4IEHkp2dHYuwS0TJsYiIiEg+b775JgMHDmTkyJHFblvW5Lggbdq0oWXLlvz44487LktPT2fDhg3ss88+UT1WSTz88MNcfvnl3HrrrUyaNIlJkyZRrVq1HT9fddVVEe8rb3JcuXJlDj30UN56661YhF0iauUmIiIi8enqq2HSpOjus1cveOKJIjfZuHEjY8eOZfTo0Rx33HHcddddAOTk5PDPf/6Tr776CuccF110Ed57/vrrLw4++GAaNGjA6NGjqVmzJhs3bgTg3Xff5dNPP+Wll17ik08+4b777mP79u3Ur1+f119/ncaNGxcax9ChQxk5ciQHHXQQACNHjmTo0KEsWLCAs88+m02bNgHw9NNPs//+++9y25deeokJEybw9NNPA3DMMcdw/fXXM2jQIEaNGsWdd97Jtm3baN++PS+++CI1a9bkpptu4uOPPyY1NZUjjjiCRx55ZJd9zp49mypVqtCgQYMC483JyeGmm25izJgxbNu2jX/84x9ccsklZGZm8re//Y3169eTnZ3Ns88+y2effcaWLVvo1asXXbt25fXXX+eEE07g5ptv5swzzyzy+Yk1JcciIiIieXz44YcceeSRdOzYkXr16vHHH3/Qu3dvhg8fzvz585k4cSKpqamsXr2aevXq8dhjjzF69OhCk8awgQMH8uuvv+Kc4/nnn+fhhx/m0UcfLXT70047jb333punnnqK1NRU3nrrLd555x0aNWrE119/TdWqVcnIyGDo0KFMmDAhovu2cuVK7rvvPr755htq1KjBv/71Lx577DGuuOIKPvjgA9LT03HOsXbt2t1uO3bsWHr37l3ovl944QXq1KnD+PHj2bZtGwMGDOCII47g/fffZ/Dgwdx6663k5OSwefNmDjjgAJ5++mkm5fnw061bN8aPHx/R/YglJcciIiISn4oZ4Y2VN998k6uvvhqA008/nTfffJPevXvzzTffcOmll5KaaulTvXr1SrTfJUuW8Le//Y3MzEy2b99e7MIUTZo0oWvXrnz77bc0btyYtLQ0unXrxrp167jiiiuYNGkSKSkpzJ49O+IYfv31V2bMmMGAAQMAq/Xt378/tWvXpmrVqlx44YUcffTRHHPMMbvdNjMzk4YNGxa671GjRjFlyhTeffddANatW0dGRgb9+vXj/PPPJysrixNOOIFevXoVePuUlBQqV67Mhg0bqFWrVsT3KdqUHIuIiIiErFq1iu+++45p06bhnCMnJwfnHA8//DDe+4j65ubdJu8CFFdeeSXXXnstxx13HGPGjNlRrlGUcGlF48aNGTp0KACPP/44jRs3ZvLkyeTm5lK1atXdbpeamrrLZL5wHN57Dj/8cN58883dbvPbb7/x7bffMnLkSJ5++mm+++67Xa6vVq0a69atKzRW7z1PPfUUgwcP3u26H374gc8++4yzzz6bG264gXPOOafAfWzbtq3A+1OeNCFPREREJOTdd9/lnHPOYeHChSxYsIDFixfTtm1bfvrpJ4444giee+65HR0VVq9eDUCtWrXYsGHDjn00btyYmTNnkpubywcffLDj8nXr1tG8eXMAXn755YjiOfnkk/n888956623OP3003fsp2nTplSqVIlXX32VnJyc3W7Xpk0bJk2aRG5uLosXL97R4WK//fZj7NixzJkzB4DNmzcze/ZsNm7cyLp16xgyZAhPPPHELuUOYZ07d95xu4IMHjyYZ599lqysLMBqlDdt2sTChQtp1KgRF110ERdccAF//PEHAGlpaTu2Bftg0rBhQ9LS0iJ6bGJFybGIiIhIyJtvvsmJJ564y2Unn3wyb7zxBhdeeCGtWrWiR48e9OzZkzfeeAOAiy++mKOOOoqDDz4YgIceeohjjjmGQw45hKZNm+7Yz1133cWpp57KAQccUGx9cljdunXZb7/9aNy48Y4yjMsvv5yXX36Z/fbbj9mzZ1OjRo3dbjdgwADatm1L9+7duf7663fUCjds2JCXXnqJoUOH0qNHD/bbb78dXTCOOeYYevTowUEHHcTjjz++2z4PPPBAJk6ciPe+wFgvvPBCunTpQu/evenWrRuXXHIJ2dnZjBkzhl69erH33nvz3nvvMWzYsB2PW48ePXZMwBs9ejRDhgyJ6HGJJVfYHQxC3759faQF5SIiIpJ8Zs6cSefOnYMOQwoxbNgwjj32WA477LCo7/ukk07iwQcfpFOnTlHdb0GvKefc7977vgVtr5FjEREREYnILbfcEvWezmATA0844YSoJ8aloeRYRERERCLSuHFjjjvuuKjvt3LlyoVO0itvSo5FREREREKUHIuIiIiIhCg5FhEREREJUXIskscvv8Cll8KSJUFHIiIiIkFQciwCLF4MZ5wB++8P//0vHHccbNoUdFQiIhKElJQUevXqRbdu3Tj11FPL1J3hvPPO27Gc8oUXXsiMGTMK3XbMmDH8/PPPJT5GmzZtWLly5W7H/e9//7vLZR9++GGRfYTzxhoL3nsOOeQQFi5cSK9evejVqxdNmjShefPmO37fvn17RPvK/1g9/fTTvPjii1GJU8mxVGibN8Ndd0GnTvDBB3DbbfDWWzBpEpx3HuRZeVNERCqIatWqMWnSJKZNm0blypV57rnndrm+oBXpIvH888/TpUuXQq8vbXJckPCy03mNHDlyxxLUQfj888/p2bMnrVu3ZtKkSUyaNIlLL72Ua665ZsfvlStXjmhf+R+r888/nyeffDIqcSo5lgpt6FC4+2449lhIT4d774XTToOHH4Z337XfRUQkGFdfDYMGRfd09dUli+GAAw5gzpw5jBkzhoMPPpgzzjiD7t27k5OTww033EC/fv3o0aPHjlFa7z1XXHEFXbp04eijj2b58uU79jVo0CDCi519+eWX9O7dm549e3LooYeyYMECnnvuOR5//HF69erFjz/+yIoVKzj55JPp168f/fr1Y+zYsYAts3zEEUew9957c8kllxS4Yt1hhx1Geno6mZmZgC0T/c0333DCCSdwzz330K9fP7p168bFF19c4O3zjkZPmDCBQYMGAbBp0ybOP/98+vXrx957781HH30EwPTp09lnn33o1asXPXr0ICMjY7d9vv766xx//PGFPta///47Bx10EH369GHw4ME7Yn/yySfp0qULPXr04PTTTy/wsapevTpt2rTZsUx2WaSWeQ8iCWr+fPjkE7j1Vrjvvl2vu+46mD7dRpW7dIFTTw0kRBERCVB2djZffPEFRx55JAC//fYb06ZNo23btgwfPpw6deowfvx4tm3bxoABAzjiiCOYOHEis2bNYurUqSxbtowuXbpw/vnn77LfFStWcNFFF/HDDz/Qtm1bVq9eTb169bj00kupWbMm119/PQBnnHEG11xzDQMHDmTRokUMHjyYmTNncvfddzNw4EDuuOMOPvvsM4YPH75b7CkpKZx00km8/fbbDBs2jI8//piDDz6YWrVqccUVV3DHHXcAcPbZZ/Ppp59y7LHHRvSY3H///RxyyCGMGDGCtWvXss8++3DYYYfx3HPPMWzYMM4880y2b99e4Oj62LFjdyv1CMvKyuLKK6/ko48+omHDhrz11lvceuutjBgxgoceeoj58+dTpUoV1q5dS926dXd7rAD69u3Ljz/+yD777BPRfSmMkmOpsF54AZyDSy7Z/Trn4LnnYPZsOPdcaNcO+vQp/xhFRCqyJ54I5rhbtmyhV69egI0cX3DBBfz888/ss88+tG3bFoBRo0YxZcqUHTW669atIyMjgx9++IGhQ4eSkpJCs2bNOOSQQ3bb/6+//sqBBx64Y1/16tUrMI5vvvlmlxrl9evXs2HDBn744Qfef/99AI4++mj22GOPAm8/dOhQbrjhBoYNG8bIkSN3LLIxevRoHn74YTZv3szq1avp2rVrxMnxqFGj+Pjjj3nkkUcA2Lp1K4sWLaJ///7cf//9LFmyhJNOOokOHTrsdtvVq1dTq1atAvc7a9Yspk2bxuGHHw5Y6UrTpk0B6NGjB2eeeSYnnHACJ5xwQqGxNWrUiPT09IjuR1GUHEuFlJUFI0bAkCHQsmXB21SpYnXIfftaB4vx48s3RhERCUa45ji/GjVq7PjZe89TTz3F4MGDd9nm888/xzlX5P6998VuA5Cbm8svv/xCtWrVdrsuktsPGDCAzMxMJk+ezM8//8zIkSPZunUrl19+ORMmTKBly5bcddddbN26dbfbpqamkhuaeJP3eu8977333m7LPHfu3Jl9992Xzz77jMGDB/P888/v9sEgvM9KlXav6vXe07VrV3755Zfdrvvss8/44Ycf+Pjjj7n33nuZPn16gfd369atBT5WJaWaY6mQPvsMMjPh4ouL3q5RI7j2WpgwAYqYYCwiIhXM4MGDefbZZ8nKygJg9uzZbNq0iQMPPJCRI0eSk5NDZmYmo0eP3u22/fv35/vvv2f+/PmAjagC1KpViw0bNuzY7ogjjuDpp5/e8Xs4YT/wwAN5/fXXAfjiiy9Ys2ZNgTE65zjttNM499xzGTJkCFWrVt2R6DZo0ICNGzcW2p2iTZs2/P777wC89957u9zvp556aked8sSJEwGYN28e7dq146qrruK4445jypQpu+2zU6dOzJs3r8DjderUiRUrVuxIjrOyspg+fTq5ubksXryYgw8+mIcffpi1a9eycePG3R4rsOegW7duBe6/JJQcS4U0fDg0bw5HHVX8tkOHQkoKvPpq7OMSEZHEcOGFF9KlSxd69+5Nt27duOSSS8jOzubEE0+kQ4cOdO/encsuu4yDDjpot9s2bNiQ4cOHc9JJJ9GzZ0/+9re/AXDsscfywQcf7Jhk9uSTTzJhwgR69OhBly5ddnTNuPPOO/nhhx/o3bs3o0aNolWrVoXGOXToUCZPnszpp58OQN26dbnooovo3r07J5xwAv369SvwdnfeeSfDhg3jgAMOICUlZcflt99+O1lZWfTo0YNu3bpx++23A/DWW2/RrVs3evXqRXp6+o4SjryOPvpoxowZU+DxKleuzLvvvss///lPevbsSa9evfj555/JycnhrLPOonv37uy9995cc8011K1bd7fHCqym+bDDDiv0sYiUK2iGYlD69u3rw7M4RWJl4UJo29batt1zT2S3OfpomDLFblvAt0EiIhIlM2fOpHPnzkGHITGQmZnJOeecw9dffx31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ibNUQqR0FiyIr5KKsB49rMXcNhUUiYiIJAQlx5IU4jU57tnTumjMmBF0JCIiIhIJJceS8LZsgWXL4jM5VscKERGRxKLkWBLewoV2Ho/JcYcOULWqkmMREZFEoeRYEl48tnEL0zLSIiIiiUXJsSS8eE6OYWfHCi0jLSIiEv+UHEvCi8cex3n16AErV8LSpUFHIiIiIsVRciwJb+HC+OxxHNazp52r7lhERCT+xWk6IRK5eG3jFqZlpEVERBKHkmNJePGeHGsZaRERkcSh5FgS2pYtVssbz8kx2OixRo5FRETin5JjSWiLFtl5vCfHPXtqGWkREZFEoORYElq8t3EL69EDsrNh5sygIxEREZGiKDmWhJYoybE6VoiIiCQGJceS0OK9x3HYnnvaMtKqOxYREYlvSo4loS1YAK1axW+P47DUVOjaFaZODToSERERKUqcpxQiRYv3Nm55de0K06cHHYWIiIgURcmxJLRES47/+gvWrAk6EhERESmMkmNJWInS4zisWzc71+ixiIhI/FJyLAkrUXoch3XtaudKjkVEROKXkmNJWInSxi2sVSuoWVPJsYiISDxTciwJK9GSY+ds9HjatKAjERERkcIoOZaElSg9jvNSxwoREZH4puRYEla4x3FKStCRRK5rV1i+HFasCDoSERERKYiSY0lYidTGLUwdK0REROKbkmNJWImYHKtjhYiISHxTciwJKdF6HIc1awZ16ig5FhERiVdKjiUhJVqP4zDnrLRCHStERETik5JjSUiJ1sYtr3DHCu+DjkRERETyU3IsCWnhQjtP1OR49WpYtizoSERERCQ/JceSkBKxx3FYuGOFSitERETij5JjSUgLF0KLFonV4zhMHStERETil5JjSUhLlkDLlkFHUTqNGkH9+kqORURE4pGSY0lIf/4JzZsHHUXpqGOFiIhI/FJyLAnHexs5btEi6EhKTx0rRERE4pOSY0k4q1bBtm2JO3IMlhyvX28j4CIiIhI/lBxLwgknlIk8cqyOFSIiIvFJybEknCVL7DzRR45Bk/JERETijZJjSTjJMHJcvz40bqyRYxERkXij5FgSzpIlUKkSNGkSdCRl062bRo5FRETijZJjSTh//mmJcWpq0JGUTdeuMGMG5OYGHYmIiIiEJXh6IRVR1Nq4bdsGc+dCejps2gSnn25rUpeTrl3tsAsXQtu25XZY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53lxSUG8h19+sbmfxx8P3btDzZr2Zc4ee9hChf372xccDz0ECxcGHbHEivNx9Gmyb9++foJqpCKzcqXV4R1/vNXklcB999mk5r/+Sq4VVkUS2X//C5deaoOo771n34rvMGOGrY42caJl0088kZhf+0yZYpPs3nkHatSAG26w0pFEvC+Jwnu49164806bqPf++5blyQ6rV1u5+//+B9OnQ9Wqtvhiu3Z2atvWxqEyMnaeFi+2Mu8hQ+zv9qijrNmMJA7n3O/e+74FXum9j5tTnz59vETollu8d8776dNLfNPevb3fd98YxCQiZfLf/3oP3g8Z4v2WLfmu3LbN/u4rVfK+bVvvR48OIsTS+fVX74891u5crVre33ST98uWBR1VxfLmm95XqeJ9+/bez5wZdDRxYcUK7y++2B4W8H6ffbz/3/+837Ch+NsuXOj97bd737Sp3bZlS++fesr77OzYxy3RAUzwheSj+v4qEa1ZA089ZV9LdulSopuOH28tVM88M0axiUipXXyxjSB//rnNpVq0KM+VlSvbqOsPP9jvBx8Mxx0Xv4uGZGXZaieDBln5xNixtqrbwoVWA9uoUdARViynn24TPTdssNqAb78NOqLAeA8vvmjNYUaMsIqTSZOsTPvCC62UojitWsE999jL+b33bIT5yivtpT5xYszvgsSYkuNE9NRT9gZ3220lvul//mN/+OeeG4O4RKTMLr7YvvlOT7dmDbvlMAMG2MSB+++H77+3wsgLL4Q//wwk3t0sW2a1W23bwqmnWvbw739bW4477rDiTQnGfvvBb79BixbWqmj48KAjKnfTp8NBB1l10l572WDRs89Cz56l219amjWWGT3a5pMuXmyreV93ndZiSWiFDSkHcVJZRQTWrfN+jz28P+64Et90+XL7+ujyy2MQl4hE1axZ3nfpYlUUDz7ofW5uARutWOH9sGHep6V5X62a95dd5v0ff5R3qN5v2uT9W295f8IJFgt4f8QR3n/8sb5njkfr1nl/1FH2PF1zTYV4jnJzvX/iCXt51qvn/fPPe5+TE/3jrFnj/SWX2EPbqpX3v/wS/WNIdKCyiiTyzDNWVnH77SW+6Qsv2GTlf/wjBnGJSFR17Ghf8556Ktx8Mxx7rA2+7qJBA5ucl55uG44YYf2C+/a1HnHr18cuwA0bbDW2M8+0Eom//c0C/sc/rPPEV19Z0JqlFH9q17bn7qqr4PHHrXXRhg1BRxUzGzdax9Orr7aJc+npcMEFsWmMUreu/emNHWsv/QMPtJHpOOp9IBFQt4pEsmmTdajo2xe++KJEN83OttVY99yzQpeaiSQc762S6uabITfXzm+80WbU72b1aute87//wdSptgTfAQfY98gHHQT9+lntcmls2mT/8UePttrV8eNtVbt69ayX7umnWyagZDixPPOMJcldu1rC3Lp10BFFVXq6lT3MmmWVSDfeWH7dAlevtiYzX3xhpYzPPmt/khIfiupWoeQ4kfz73/aXPXYs7L9/iW764Ydw4olWy3jiibEJT0RiZ/Fi67/69ts2+eeJJ+CYY6yd1G68t+T1tdcsmZ02zS6vVs0+XLdpA82b26lFCxvu2r7dvloKn2dm7t67CiA11ZLsgw+204EHlj7hlvgwapStspqaCiNHwmGHBR1RVLz3Hpx3nr3s33zTFr4qb7m51knv7rutrvn9960cX4Kn5DgZLFpknSkOOshWCyihww6D2bNt8Y/U1BjEJyLl4rvvbFb8jBmW5157rQ3cpqUVcaOVK+HHH20C34QJsGSJTeArblnqevWsvqNDBzvts49NCIxkOr8klowMGzmZOdO6idxwQyGfvOKf9/DIIzaWtO++1jSlRYtgY/r8c6tASkuzAfr99gs2HlFynPi8tyGi77+3qbYl/Npr5kzLq++/3xZKEpHElpVlcwgef9w+9LZoAVdcARddZPlsRHJzYcUKS5LXrbNVRypX3nneoAHUrx/T+yFxZuNGK8Z9+237xDViRMIt0JKdDcOGWbXIqafCyy/HTynD7Nm2yM+SJfDKKxafBEfJcaIbOdJmEzz+uM0oKKErr7SOPYsXq7WoSDLJzbURqccftxHltDT7lujkk23xTC2EJiXmPTz6KPzzn9br7K23bOnyBLBpk5W+f/qpDXw/9FD8rUa+cqXNfxw71uK78caEHaBPeEqOE9mqVdC5s9UI/vJLiSe7rF9vZYUnnmifVEUkOU2ebCXG770H8+fbW8VBB8Hhh1tZcN++Kg2WEvj2W6sDWLvWahT+8Y+4zuKWLrUvWCdOtAmsl18edESF27rVFh4ZOdK+7fnPf4opi5KYKCo5VvVpvLv+emvd9s03pZoF/n//Z9+UXXFFDGITkbjRs6edHn7YEoT33oOPPrLuFmBfLffvb6e997ZT27Zxne9IkA49FKZMsSzuyivhyy+tzCIOv36cOdNatK1YYZPPjz026IiKVrWqNZVp1w4eeMBaNL7zDtSpE3RkEqaR43j2zTc27HPLLVYwXEILFtig87HHWgmZiFQ8K1bATz/ZqtPff2/5Tk6OXVe7tiXU3brZe0WXLnZq0kRJs4R4D08/bXUKdevaustHHRV0VDt8/72VKVSpYuUUfQscB4xfI0bAJZdYBctnn9my1FI+VFaRiDZvtmVhU1Pt+9ICm5oW7eST7cP+zJn6gxMRs3WrdXabOBEmTbLTjBn27XlY3bo7E+UuXXYmzi1bKmmusKZOhTPOsBfP0KHw2GP2KSpAr79uA9t77mm1923aBBpOqX37rf2/rlbNEvw+fYKOqGJQcpxovIdzzrECwjFjrHCwhEaNgsGD1aFCRIrnvdVszpxpiXLe04oVO7erWXNnoty9uy3Gt/felkxLBbB1q80ie/BBqF7dfr7oonKf9ea9lSPcdpv9e/zgA9hjj3INIepmzIAhQ+zv7Y03bEKtxJaS40Rz991w111w331w660lvvn27faPKzfXPuRXqRL9EEWkYlixwpLmvInz9Om2RkhY27Y22tW/v61PtPfeet9JarNmwaWX2uBN//7WN61Xr3I59NatcOGFNmp81lnw/PPJ81pbtszKICdMsA40V12lb2piSclxInntNTj7bFtr8sUXS/WX8a9/wU032ddMcVQaJiJJZMUKK8344w87jR9v8xzAkpW+fa1LxuGHW8KcLAmMhHgPr74K111n/clOPdUGdjp3jtkhly2z+uJff7VvRW++OfmSx82bLen/4AObSP/441q4K1aUHCeKH37Y+Z/kq69K1XdpyRIr7D/sMJu1KyJSXjIzrePkzz9bH9fx423yX7VqOxPlww+3b7aSLampsNassfrjJ56wzO7MM+HOO6F9+6geZvJkG1Vdtcpy8pNOiuru40purrWZfuQRWzRk5EgtShkLSo4TwezZ9vVUw4b236UUBVTeW1H/55/bV6Bav11EgrR+vXUT+PprO6Wn2+WNG9sH+MMOgyOOgGbNgo1TomDlSusj+PTTVtt36qnWhuGgg8r8Sej1121Xe+xhSy/vvXeUYo5zzz5ro8fdu9sS2HvuGXREyUXJcbxbsgQOPtimi//6a6k/cd96q01S+Pe/rT2yiEg8WbLEOlR+/bWdL19ul3fvDkceaZOIBw5UCUZCy8y0f0Ivvmj/0zp1ssz23HNLsLa52bzZWiyPGAEHHGCL9TVtGpuw49WXX1qTkOxsq68+7bSgI0oeSo7j2e+/w3HHwYYN9lew//6l2s3//gcXX2wTFYYP11eWIhLfcnOtO9ioUfbW9+OPkJVlTRAOOcQS5SOPjO/RMu/hr79g0SKrwQ6fVq+2+5Kbu/NUpYrlhvXr26lhQ7tvLVok6fv15s22ssV//2vfhlaubE/s0UfbUnbF9F2bPt0SwZkzbeDnzjsrbu3twoW2LPavv9o8yMcfL1V3V8lHyXG8+vBDq89q0MCaG3bvXqrdfPmlvdccdhh88omWoRSRxLNxozU/+PJLm3IxZ45d3q6d5VQDB9qpXbvyTybXrbPKt9mzrVFD+OfZs2HTpt23r1LFcsGUFOtyVqkSbNlS8LbVq9vgaqdO0KOHVdf17ZtkNaZTpsBLL9n/uYwMu6xLF5sx3q+ftTpp1w4qVSI31wZ4rr3WFql57TX731bRZWXZh4R//9sW7nnjDXsIpfSUHMcb7+HRR+HGG+2N4aOPSt1MfdIk+7qpfXsbealVK7qhiogEYc4cS5K/+spW+Fuzxi5v3Ni+YOvRw8YTune397+UlLIdb9MmGwHOyNiZAIfPly3buV2lSjbo2bGjJbQdO9rvDRvuPNWoUfAxtm2zCWWrVllJSUaG1WHPmmXn4W4flSrtTJSPOMI+HNSuXbb7Fzdmz7al4D77zP5pbd9ul9euzbSOJ3Hxktv5ZWk7Du+WySv3LqRJz8b2oFavHp1+yrm5lmlmZVmtQlaWXZ6aai+ilBT7uXLluBzS/+wzq1BZv966Ut1yi0aRS0vJcTxZtw6uucbqsU49FV5+2aZyl0J6Ohx6qL1f/PorNG8e5VhFROJAbq59vf7TT3b67TdLnnNz7fqqVW0V0GbNrCa1WTP7Qi4tbecpNdW+6V+/3t6G16+3EohFi+xr61Wrdj1mw4a7JsDh8/btY1cTvWoVjBtn7+e//GLnGzda7Pvvb2UmRx5pI4flvO5GbGzfDtOns/mXydz7fFMemXQodVjHY/4azuZVdktNa9SwEaAaNexBcW7nCSzZDSe8eZPfvJdFmvNUqmQJec2adryaNXfWwzRoYKdGjawupkULWz6yQYNySaiXL7eR9ddft9fkc8/ZtCUpGSXH8cB7eyVff729sm+91XpClvId7s03bWGiatVs6ckePaIcr4hIHNuyxRYkmTrVFjtavNjqfzMz4c8/bbGIwlSrBnXqWK7TqhW0bm3nrVpZHXDHjvGx4tr27ZYkh0tNJk60yxs33lmTffjhlpMloqws+7d4zz0wf74tBf3ww9Cgygabvbl4sZ1Wr7ZPCXlP2dn2fzXvKfwpKO8nokh+Bus5mJ2983zLFjvOpk12Wr/e4lixwjpzhL/KyKtKld2/VgifN24c9cT566+tBnnePFtU9+67E3cJ7SAoOQ7atGnwj39YH+N+/Ww1ob4FPh/F2rrVBp6fe87q70aO1IixiEhe3ltuEx4sDA8eVq9u5QmJOi9j6dKdExhHjbKRZufs30l4VHmffeJ/4lpWFrzyii3kMX++tWZ77DEYNCjoyEogO9sGuv780xL4cDI/b56VjmRkWB1NWO3aliSHE+YuXaBrV/s0VoYX5ObNcO+99vjl5sIFF1ipRatWUbiPSU7JcVBmzoQnn7RWEnXq2Dr0F1xQ6tHiOXPgb3+z1ahuvNFWl07UN3kRESm9nBxrdhQeVf71V0uO6ta1CWzh1ngtWgQd6U5Ll9pEsieftFKWvn3hjjtsQnkclveWTU6OJcv5C9hnzbJanrC0NFu5q2vXnadu3WyCYgkK6ZcsgQcftHTDOetcdc018d3tJWhKjstTdrZNsPvPf2D0aCvq//vfLZMt5Xdfs2dbXv3qq1Zu9fLLtlKQiIgI2Lf833xjifKXX9qAJliudcQRNnF7//3t2/3ytHmz/Ut85RUb7c7NtYmGt91mzSqSLimOxObNNmlo2jTrWTd9uv28cOHObapWtaS5W7ddk+bWrYscYFu0yEbkR4ywdGTQIBuTO/nkUk9vSlpKjmNt2zabJfLll1bnsGSJfadx6aX2qmzUqFS7nTrVFvV4+23LsS++2EaMVUYhIiKF8d7yrfCo8o8/7vyGv317GDDAuqeFu31Es2Z561abMPn993b6+WcrcWnVCs46C84+23I+KcCGDfaNczhZDifOS5bs3KZ69Z0lGeHEuWNHe4DzfJX85582kDZiBMyda19en3YaDBliE/nV2UrJcfRt3Wov3HHj7J3nu++sYD/c5PzSS+17ohL2FsrKsjeSzz+3di3Tp9sE2X/8w74eKe9P/CIikvi2bbNyvLFj7X/M2LE7VycE6yTapYvlVy1b7mzAsMceNtpYvbqdUlPtX114ntqGDTZSOWeOJWBz51put22bjQh3726rR590Ehx4YJJ02AjC2rU2+zTvKPP06VanElapkj2B7drtcspt3Zbvl3bihXdr89FHbkf3k4EDrfRm//2hV6+KmSwHlhw7544E/g9IAZ733j9U1PZxlRzn5NgLb9EiO82fb0O5kyZZzVBOjm3Xrp19N3Tkkfb9RYSd2zdtsm9Vwq/16dPtDWvtWnvhHnig5delWHFTRESkUN7bv7dp0+zf2tSp9v9o8WLr9hFukReptDT7V9i+PXTubP+/Bg7U/66YW7XKkuY5c2wiYPg0f/6uzbkBatZke5NW/Fz1EL7MOpQvVvZlyqqdBekdW22hd69cuu2dRtsOabRp62jb1gblkvVDTSDJsXMuBZgNHA4sAcYDQ733Mwq7TSDJ8TPPwOTJ1qIlfFq1yt4hsrN33bZVK2sw2bOnfdTae29o27bYoqn/+z8rP16+fOdpw4ad11eubJNX+/a1lTUPPzyJGr6LiEjCyM62f39Lllj3ss2b7RTu/lGjxs62vzVq7BxpLusiLBJlGzfaqjLhhHnBAvtEtGyZnS9dyrK1lfmdPvxBb/6gN7/Th0W03mU3ld12GqSto36VjdSruoV6NbZRq3oOaWlQubKncprlMOcNyKBL69A36OFTaurO9dO933U99by/9+pleVU5Kyo5jmXDl32AOd77eaEgRgLHA4Umx4H44gsrkAovet+ypT1JzZrt3gCzlN87zJ1rH+QaNrQ2Ow0b2qexTp12dnKJ99Y7IiKS/FJT7d9gy5ZBRyJlUrOm1SR361boJo23bWPIsmUM2ZEwj2LT0g0sXFyJBZlVWLC8OgvX1GLVxqqs2lKN1RtrkLGmFhtyqpPlU9lOZbJIYzuVOXjMHXThy9LFes89gSTHRYnlyPEpwJHe+wtDv58N7Ou9vyLfdhcDF4d+7QTMiklAiaUBsDLoIKRYep4Sh56rxKDnKTHoeUoMep6K1tp737CgK2I5XllQrcFumbj3fjgwPIZxJBzn3ITChvolfuh5Shx6rhKDnqfEoOcpMeh5Kr1YllkvAfJ+MdMC+CuGxxMRERERKZNYJsfjgQ7OubbOucrA6cDHMTyeiIiIiEiZxKyswnuf7Zy7AvgKa+U2wns/PVbHSzIqM0kMep4Sh56rxKDnKTHoeUoMep5KKa4WARERERERCVKStnYWERERESk5JcciIiIiIiFKjuOMc+5I59ws59wc59xNQcdTETjnRjjnljvnpuW5rJ5z7mvnXEbofI88190cen5mOecG57m8j3Nuaui6J52zpROdc1Wcc2+FLh/nnGtTrncwCTjnWjrnRjvnZjrnpjvnhoUu1/MUR5xzVZ1zvznnJoeep7tDl+t5ikPOuRTn3ETn3Keh3/U8xSHn3ILQYzzJOTchdJmeqxhSchxHnC25/R/gKKALMNQ51yXYqCqEl4Aj8112E/Ct974D8G3od0LPx+lA19Btngk9bwDPYgvadAidwvu8AFjjvd8TeBz4V8zuSfLKBq7z3ncG9gP+EXou9DzFl23AId77nkAv4Ejn3H7oeYpXw4CZeX7X8xS/Dvbe98rTt1jPVQwpOY4vO5bc9t5vB8JLbksMee9/AFbnu/h44OXQzy8DJ+S5fKT3fpv3fj4wB9jHOdcUqO29/8XbLNdX8t0mvK93gUPDn9glMt77TO/9H6GfN2D/0Juj5ymueLMx9Gta6OTR8xR3nHMtgKOB5/NcrOcpcei5iiElx/GlObA4z+9LQpdJ+Wvsvc8ES8yARqHLC3uOmod+zn/5Lrfx3mcD64D6MYs8yYW+8tsbGIeep7gT+qp+ErAc+Np7r+cpPj0B3Ajk5rlMz1N88sAo59zvzrmLQ5fpuYqhWC4fLSUX0ZLbEqjCnqOinjs9r1HinKsJvAdc7b1fX8Tghp6ngHjvc4Bezrm6wAfOuW5FbK7nKQDOuWOA5d77351zgyK5SQGX6XkqPwO893855xoBXzvn0ovYVs9VFGjkOL5oye34sSz0NRSh8+Whywt7jpaEfs5/+S63cc6lAnXYvYxDiuGcS8MS49e99++HLtbzFKe892uBMVhdo56n+DIAOM45twAr3zvEOfcaep7ikvf+r9D5cuADrARTz1UMKTmOL1pyO358DJwb+vlc4KM8l58emt3bFpvU8Fvoa60Nzrn9QrVa5+S7TXhfpwDfea2+UyKhx/QFYKb3/rE8V+l5iiPOuYahEWOcc9WAw4B09DzFFe/9zd77Ft77Ntj/me+892eh5ynuOOdqOOdqhX8GjgCmoecqtrz3OsXRCRgCzAbmArcGHU9FOAFvAplAFvYJ+gKs3upbICN0Xi/P9reGnp9ZwFF5Lu+LvWnNBZ5m5wqUVYF3sIkRvwHtgr7PiXYCBmJf800BJoVOQ/Q8xdcJ6AFMDD1P04A7QpfreYrTEzAI+FTPU3yegHbA5NBpejgv0HMV25OWjxYRERERCVFZhYiIiIhIiJJjEREREZEQJcciIiIiIiFKjkVEREREQpQci4iIiIiEKDkWESmGcy7HOTfJOTfNOfeOc656Idv9HKXjneCcuyP086XOuXPKsK+XnHOnFLPNGOdc39DPC5xzDUp7vDz7vMI59/ey7kdEpLwpORYRKd4W730v7303YDtwad4rnXMpAN77/aN0vBuBZ0L7fM57/0qU9ht14ftegBHAVeUZi4hINCg5FhEpmR+BPZ1zg5xzo51zbwBTAZxzG8MbOedudM5Ndc5Nds49FLqsvXPuS+fc7865H51ze+XfuXOuI7DNe78y9PtdzrnrQz+Pcc79yzn3m3NutnPugAJu75xzTzvnZjjnPgMa5bnuUOfcxFBcI5xzVYq6o865D0OxTnfOXZzn8o3OuXucc+OA/s65h0LHm+KcewTAe78ZWOCc2yfyh1ZEJHipQQcgIpIonHOpwFHAl6GL9gG6ee/n59vuKOAEYF/v/WbnXL3QVcOBS733Gc65fbHR4UPyHWYA8EcRYaR67/dxzg0B7sSWaM7rRKAT0B1oDMwARjjnqgIvAYd672c7514BLgOeKOJY53vvV4eWgh7vnHvPe78KqAFM897fEbpvLwB7ee99ePnokAnAAdiqWyIiCUEjxyIixavmnJuEJXuLsGQQ4Lf8iXHIYcCLodFTQglmTWB/4J3Qvv4LNC3gtk2BFUXE8n7o/HegTQHXHwi86b3P8d7/BXwXurwTMN97Pzv0+8uhbYtylXNuMvAr0BLoELo8B3gv9PN6YCvwvHPuJGBzntsvB5oVcwwRkbiikWMRkeJt8d73ynuBcw5gUyHbO8Dnu6wS/9/e/bNUGUcBHP8ebHCJC9LS5iDhZm5FS+ELaAqEcKhWBxPXJsG9qd5FUCIiDensVIlCQy8hcbpBehqec1Hk6ZI34enC97NceM7v+f1ZLodzz/NcOL48T9taQG9I/Gd9nvLn7/DLaw/29Nci4iFNkn+/qt+fgMkK9zPzFCAzf1XrxAKwCCxzXg2fpDmPJI0NK8eSdP12gOeDt1pExFRmngDfI+JJXYuImGu59xCY+Ye194DFiJiIiNvAo7p+BExHxGDuJWB3yDw94EclxrPAvbZBVRHvZeYWsALcvRC+A3wd9SCS1AWTY0m6Zpm5DbwH9quFYq1CT4EX1apwADxuuX0PmI8qTY/gHfCN5iHBN1QCnJl94BlNW8cX4Ax4O2SebeBGRHwG1mlaK9rcBDZr3C7w8kLsAfBxxHNIUicis+3XN0lSVyLiNfAhM8c2sYyIeWA1M5e63oskXYWVY0n6/2wArX80MkZuAa+63oQkXZWVY0mSJKlYOZYkSZKKybEkSZJUTI4lSZKkYnIsSZIkFZNjSZIkqfwG8zQDqPCBOSEAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"yhat_test1=poly1.predict(x_test_pr1)\n",
"Title='Distribution Plot of Predicted Value Using Test Data vs Data Distribution of Test Data'\n",
"DistributionPlot(y_test, yhat_test1, \"Actual Values (Test)\", \"Predicted Values (Test)\", Title)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"yhat_test1=poly1.predict(x_test_pr1)\n",
"Title='Distribution Plot of Predicted Value Using Test Data vs Data Distribution of Test Data'\n",
"DistributionPlot(y_test, yhat_test1, \"Actual Values (Test)\", \"Predicted Values (Test)\", Title)\n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #4f): </h1>\n",
"\n",
"<b>Using the distribution plot above, explain in words about the two regions were the predicted prices are less accurate than the actual prices</b>\n",
"\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [],
"source": [
"\n",
"\n",
"#The predicted value is higher than actual value for cars where the price $ 10,000 range, conversely the predicted price is lower than the price cost in the $30,000 to $40,000 range. As such the model is not as accurate in these ranges .\n",
" \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"The predicted value is higher than actual value for cars where the price $ 10,000 range, conversely the predicted price is lower than the price cost in the $30,000 to $40,000 range. As such the model is not as accurate in these ranges .\n",
" \n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"ref3\">Part 3: Ridge regression</h2> \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" In this section, we will review Ridge Regression we will see how the parameter Alfa changes the model. Just a note here our test data will be used as validation data.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's perform a degree two polynomial transformation on our data. \n"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {},
"outputs": [],
"source": [
"pr=PolynomialFeatures(degree=2)\n",
"x_train_pr=pr.fit_transform(x_train[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg','normalized-losses','symboling']])\n",
"x_test_pr=pr.fit_transform(x_test[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg','normalized-losses','symboling']])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Let's import <b>Ridge</b> from the module <b>linear models</b>.\n"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.linear_model import Ridge"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's create a Ridge regression object, setting the regularization parameter to 0.1 \n"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {},
"outputs": [],
"source": [
"RigeModel=Ridge(alpha=0.1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Like regular regression, you can fit the model using the method <b>fit</b>.\n"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/sklearn/linear_model/ridge.py:125: LinAlgWarning: Ill-conditioned matrix (rcond=1.02972e-16): result may not be accurate.\n",
" overwrite_a=True).T\n"
]
},
{
"data": {
"text/plain": [
"Ridge(alpha=0.1, copy_X=True, fit_intercept=True, max_iter=None,\n",
" normalize=False, random_state=None, solver='auto', tol=0.001)"
]
},
"execution_count": 57,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"RigeModel.fit(x_train_pr, y_train)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Similarly, you can obtain a prediction: \n"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {},
"outputs": [],
"source": [
"yhat = RigeModel.predict(x_test_pr)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's compare the first five predicted samples to our test set \n"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"predicted: [ 6567.83081933 9597.97151399 20836.22326843 19347.69543463]\n",
"test set : [ 6295. 10698. 13860. 13499.]\n"
]
}
],
"source": [
"print('predicted:', yhat[0:4])\n",
"print('test set :', y_test[0:4].values)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We select the value of Alpha that minimizes the test error, for example, we can use a for loop. \n"
]
},
{
"cell_type": "code",
"execution_count": 60,
"metadata": {},
"outputs": [],
"source": [
"Rsqu_test = []\n",
"Rsqu_train = []\n",
"dummy1 = []\n",
"Alpha = 10 * np.array(range(0,1000))\n",
"for alpha in Alpha:\n",
" RigeModel = Ridge(alpha=alpha) \n",
" RigeModel.fit(x_train_pr, y_train)\n",
" Rsqu_test.append(RigeModel.score(x_test_pr, y_test))\n",
" Rsqu_train.append(RigeModel.score(x_train_pr, y_train))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We can plot out the value of R^2 for different Alphas \n"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f32da8b82e8>"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtcAAAJNCAYAAAD6c1l4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAA4eElEQVR4nO3de5hlZWHn+9/bdenqK91Agwi03RoUaEAuFaLBUYjRoBPjJSbBy0Q8E4lEJ5k8GQaSSWLUJ2dyToyjjhpDHGcyDonHoCjmMd4yGNTgSDeicvHCTWhJoAGBvndV13v+2HtX766uvu61u7qrP5/n2c9ee112vZul8nXVW3uVWmsAAIDezZnpAQAAwGwhrgEAoCHiGgAAGiKuAQCgIeIaAAAaIq4BAKAhgzM9gCYde+yxdcWKFTM9DAAAZrE1a9Y8UmtdNt22WRXXK1asyOrVq2d6GAAAzGKllB/ubptpIQAA0BBxDQAADRHXAADQkFk15xoAYCaNjY1l7dq12bJly0wPhQaMjIzkpJNOytDQ0D4fI64BABqydu3aLFq0KCtWrEgpZaaHQw9qrXn00Uezdu3arFy5cp+PMy0EAKAhW7ZsyTHHHCOsZ4FSSo455pj9/i2EuAYAaJCwnj0O5FyKawCAI9jChQuTJA8++GBe/epXT7vPhRdeuNd7ibznPe/Jpk2bJl+/9KUvzeOPP97YODs6492dxx9/PB/84Acb/7n7SlwDAJCnPvWpufbaaw/4+Klx/dnPfjZLlixpYGT7R1wDANCIK6+8cqew/KM/+qP82Z/9WTZs2JAXvvCFOffcc3PmmWfm05/+9C7H3nfffTnjjDOSJJs3b84ll1ySs846K7/yK7+SzZs3T+53+eWXZ3R0NKtWrcrb3va2JMn73ve+PPjgg7noooty0UUXJWndOfuRRx5Jkrz73e/OGWeckTPOOCPvec97Jn/eaaedlje96U1ZtWpVXvziF+/0czruvffePPe5z81P/uRP5g/+4A8m1+/uM1111VW5++67c/bZZ+eKK67Yp8/eqFrrrHmcd955FQBgptxxxx0z+vNvueWW+vznP3/y9WmnnVZ/+MMf1rGxsfrEE0/UWmtdt25dfcYznlEnJiZqrbUuWLCg1lrrvffeW1etWlVrrfXP/uzP6hvf+MZaa63f+ta36sDAQL355ptrrbU++uijtdZax8fH6wte8IL6rW99q9Za69Oe9rS6bt26yZ/deb169ep6xhln1A0bNtT169fX008/vd5yyy313nvvrQMDA/Wb3/xmrbXWX/qlX6of/ehHd/lML3vZy+pf/dVf1Vprff/73z853t19pu7Psaf99tV05zTJ6rqbHvVVfAAAffD2z9yeOx58stH3PP2pi/O2l63a7fZzzjknDz/8cB588MGsW7cuS5cuzfLlyzM2Npbf+73fy4033pg5c+bkRz/6UR566KE85SlPmfZ9brzxxvzmb/5mkuSss87KWWedNbnt4x//eK6++uqMj4/nn//5n3PHHXfstH2qr371q3nlK1+ZBQsWJEle9apX5Stf+Up+4Rd+IStXrszZZ5+dJDnvvPNy33337XL81772tXziE59Ikvybf/NvcuWVVyZpXSCe7jNNtbv9dvfZeyWuAQBmkVe/+tW59tpr8y//8i+55JJLkiTXXHNN1q1blzVr1mRoaCgrVqzY61fMTfdNGffee2/e9a535eabb87SpUtz6aWX7vV9Whd6pzd37tzJ5YGBgWmnhexuLPv6mQ7ks/dCXAMA9MGerjD30yWXXJI3velNeeSRR/KP//iPSZInnngixx13XIaGhnLDDTfkhz/84R7f4/nPf36uueaaXHTRRbntttvy7W9/O0ny5JNPZsGCBTnqqKPy0EMP5e///u9z4YUXJkkWLVqU9evX59hjj93lvS699NJcddVVqbXmuuuuy0c/+tF9/jwXXHBBPvaxj+X1r399rrnmmsn1u/tMnXHsbb9+EdcAALPIqlWrsn79+px44ok54YQTkiSve93r8rKXvSyjo6M5++yzc+qpp+7xPS6//PK88Y1vzFlnnZWzzz47559/fpLk2c9+ds4555ysWrUqT3/603PBBRdMHnPZZZflJS95SU444YTccMMNk+vPPffcXHrppZPv8Wu/9ms555xzpp0CMp33vve9ee1rX5v3vve9+cVf/MXJ9bv7TMccc0wuuOCCnHHGGXnJS16SK6+8cr8+e6/Kni7VH25GR0fr3r6DEQCgX+68886cdtppMz0MGjTdOS2lrKm1jk63v6/iAwCAhohrAABoiLgGAICGiGsAAGiIuAYAgIaIawAAaIi47tXmzcmLX5x89rMzPRIA4Aj3+OOP54Mf/OABHfvSl740jz/++B73+cM//MN86UtfOqD3n2rFihU588wzc+aZZ+b000/P7//+72fr1q17PKaXz3ewiOtePfBA8sUvJq98ZesZAGCG7Ck+t2/fvsdjP/vZz2bJkiV73Ocd73hHfvZnf/ZAh7eLG264Id/5znfyjW98I/fcc08uu+yyPe4vro8EnXvTDwwkL3950r7NKADAwXbVVVfl7rvvztlnn50rrrgiX/7yl3PRRRflta99bc4888wkySte8Yqcd955WbVqVa6++urJY1esWJFHHnkk9913X0477bS86U1vyqpVq/LiF784mzdvTpJceumlufbaayf3f9vb3pZzzz03Z555Zr773e8mSdatW5cXvehFOffcc/Prv/7redrTnpZHHnlkj+NeuHBhPvShD+VTn/pUHnvssWzYsCEvfOELJ9/705/+9LSfb3f7zSRx3avOry8+8IFk5crkX//r5J/+aWbHBAAckf7kT/4kz3jGM3LrrbfmT//0T5Mk3/jGN/LHf/zHueOOO5IkH/nIR7JmzZqsXr0673vf+/Loo4/u8j4/+MEP8pa3vCW33357lixZkk984hPT/rxjjz02t9xySy6//PK8613vSpK8/e1vz8/8zM/klltuyStf+crcf//9+zT2xYsXZ+XKlfnBD36QkZGRXHfddbnllltyww035Hd+53dSa93l8+1uv5k0OKM/fTboxPVJJyVf+lLyghckP/dzyX/9r8kb3pCUMrPjAwBmxr//98mttzb7nmefnbznPft1yPnnn5+VK1dOvn7f+96X6667LknywAMP5Ac/+EGOOeaYnY5ZuXJlzj777CTJeeedl/vuu2/a937Vq141uc8nP/nJJMlXv/rVyfe/+OKLs3Tp0n0eayeMa635vd/7vdx4442ZM2dOfvSjH+Whhx6adv/p9nvKU56yzz+zaa5c96ozLWRkJDnhhOTLX07OOy954xtb00TavyIBAJgJCxYsmFz+8pe/nC996Uu56aab8q1vfSvnnHNOtnRapsvcuXMnlwcGBjI+Pj7te3f2697nQK8cr1+/Pvfdd1+e+cxn5pprrsm6deuyZs2a3HrrrTn++OOnHee+7ncwuXLdq86V685/CJ/61OQf/iF597uTd7wjWbUqueSS5M1vTp73PFeyAeBIsZ9XmJuwaNGirF+/frfbn3jiiSxdujTz58/Pd7/73Xz9619vfAzPe97z8vGPfzxXXnllvvCFL+THP/7xXo/ZsGFDfuM3fiOveMUrsnTp0jzxxBM57rjjMjQ0lBtuuCE//OEPk+z6+Xa330xy5bpX3VeuOwYGkiuuSO6+O/mt30r+7u+S5z8/Oe205Hd/N7nppmQvf7ELALC/jjnmmFxwwQU544wzcsUVV+yy/eKLL874+HjOOuus/MEf/EGe85znND6Gt73tbfnCF76Qc889N3//93+fE044IYsWLZp234suuihnnHFGzj///Cxfvjx/8Rd/kSR53etel9WrV2d0dDTXXHNNTj311Gk/3+72m0llpid9N2l0dLSuXr364P7Qv/7r5HWva03/eNazpt9n48bk4x9PPvrR5MYbW2G9cGHynOckF1zQmkZy+umtP4ic4//vAMDh6s4778xpp50208OYUVu3bs3AwEAGBwdz00035fLLL8+tTc89P4imO6ellDW11tHp9jctpFdTp4VMZ8GC1hzsN74xefzx5POfb0X2176WvPOdycREa79581pXt5/1rORpT0uWL9/xvHx5smiRaSUAwCHt/vvvzy//8i9nYmIiw8PD+cu//MuZHtJBJa57Nd20kD1ZsiT5lV9pPZJk/frkttuS229P7rij9fz1ryd/+7fJ1D8eGBlJjjsuWbZs58exxyZHHZUsXtx67l7uPA861QBA/51yyin55je/OdPDmDGKq1f7cuV6TxYtSp773Naj2/btyb/8S3L//TseDz/ceqxb13rceWfredOmvf+cefOS+fN3PLpf727bvHnJ8HDrMXfujuXpXu9tn8HB1lx0V94BgFlMXPdqf69c76uBgeTEE1uPqeE91ebNyZNPJk88seO5e7nzvHlzK8Q3bdqxvHFj8sgju65v34mpcQMDrdDuPKa+nvrY2/ap+wwM7HjMmdN6dJanPu/run5s6zxKmf55T9v6+dx5AHDAaq0p/rd0VjiQv00U173q9cp1E+bNaz2OP76595yYaH22bdt2fuzLuuleb9/emuayu8f+bN+yZffbx8ZaY+88tm+f/rl7eRb9UW9j+hHv+xr2u3sk+7bfwX6vQ/39ZmJsnX26993TOsc45mAdcxCMjIzk0UcfzTHHHBOBfXirtebRRx/NyH5eQBXXvdq6tXXFdLZ9y8ecOTuifbardffhvacoP9D9u6N+uuc9bTvcn/e2z+4enfO0P4/dveeBvFfTYztY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\n",
"text/plain": [
"<Figure size 864x720 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"width = 12\n",
"height = 10\n",
"plt.figure(figsize=(width, height))\n",
"\n",
"plt.plot(Alpha,Rsqu_test, label='validation data ')\n",
"plt.plot(Alpha,Rsqu_train, 'r', label='training Data ')\n",
"plt.xlabel('alpha')\n",
"plt.ylabel('R^2')\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Figure 6**:The blue line represents the R^2 of the validation data, and the red line represents the R^2 of the training data. The x-axis represents the different values of Alpha. \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here the model is built and tested on the same data. So the training and test data are the same.\n",
"\n",
"The red line in figure 6 represents the R^2 of the test data. \n",
"As Alpha increases the R^2 decreases. \n",
"Therefore as Alpha increases the model performs worse on the test data. \n",
"\n",
"The blue line represents the R^2 on the validation data. \n",
"As the value for Alpha increases the R^2 increases and converges at a point \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #5): </h1>\n",
"\n",
"Perform Ridge regression and calculate the R^2 using the polynomial features, use the training data to train the model and test data to test the model. The parameter alpha should be set to 10.\n",
"\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.5418576440206702"
]
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"RigeModel = Ridge(alpha=10) \n",
"RigeModel.fit(x_train_pr, y_train)\n",
"RigeModel.score(x_test_pr, y_test)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"RigeModel = Ridge(alpha=10) \n",
"RigeModel.fit(x_train_pr, y_train)\n",
"RigeModel.score(x_test_pr, y_test)\n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h2 id=\"ref4\">Part 4: Grid Search</h2>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The term Alfa is a hyperparameter, sklearn has the class <b>GridSearchCV</b> to make the process of finding the best hyperparameter simpler.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's import <b>GridSearchCV</b> from the module <b>model_selection</b>.\n"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.model_selection import GridSearchCV"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We create a dictionary of parameter values:\n"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'alpha': [0.001, 0.1, 1, 10, 100, 1000, 10000, 100000, 100000]}]"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"parameters1= [{'alpha': [0.001,0.1,1, 10, 100, 1000, 10000, 100000, 100000]}]\n",
"parameters1"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create a ridge regions object:\n"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Ridge(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=None,\n",
" normalize=False, random_state=None, solver='auto', tol=0.001)"
]
},
"execution_count": 66,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"RR=Ridge()\n",
"RR"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Create a ridge grid search object \n"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {},
"outputs": [],
"source": [
"Grid1 = GridSearchCV(RR, parameters1,cv=4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Fit the model \n"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/sklearn/model_selection/_search.py:841: DeprecationWarning: The default of the `iid` parameter will change from True to False in version 0.22 and will be removed in 0.24. This will change numeric results when test-set sizes are unequal.\n",
" DeprecationWarning)\n"
]
},
{
"data": {
"text/plain": [
"GridSearchCV(cv=4, error_score='raise-deprecating',\n",
" estimator=Ridge(alpha=1.0, copy_X=True, fit_intercept=True, max_iter=None,\n",
" normalize=False, random_state=None, solver='auto', tol=0.001),\n",
" fit_params=None, iid='warn', n_jobs=None,\n",
" param_grid=[{'alpha': [0.001, 0.1, 1, 10, 100, 1000, 10000, 100000, 100000]}],\n",
" pre_dispatch='2*n_jobs', refit=True, return_train_score='warn',\n",
" scoring=None, verbose=0)"
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"Grid1.fit(x_data[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']], y_data)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The object finds the best parameter values on the validation data. We can obtain the estimator with the best parameters and assign it to the variable BestRR as follows:\n"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Ridge(alpha=10000, copy_X=True, fit_intercept=True, max_iter=None,\n",
" normalize=False, random_state=None, solver='auto', tol=0.001)"
]
},
"execution_count": 69,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"BestRR=Grid1.best_estimator_\n",
"BestRR"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" We now test our model on the test data \n"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.8411649831036152"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"BestRR.score(x_test[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']], y_test)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div class=\"alert alert-danger alertdanger\" style=\"margin-top: 20px\">\n",
"<h1> Question #6): </h1>\n",
"Perform a grid search for the alpha parameter and the normalization parameter, then find the best values of the parameters\n",
"</div>\n"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/jupyterlab/conda/envs/python/lib/python3.6/site-packages/sklearn/model_selection/_search.py:841: DeprecationWarning: The default of the `iid` parameter will change from True to False in version 0.22 and will be removed in 0.24. This will change numeric results when test-set sizes are unequal.\n",
" DeprecationWarning)\n"
]
},
{
"data": {
"text/plain": [
"Ridge(alpha=0.1, copy_X=True, fit_intercept=True, max_iter=None,\n",
" normalize=True, random_state=None, solver='auto', tol=0.001)"
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"parameters2= [{'alpha': [0.001,0.1,1, 10, 100, 1000,10000,100000,100000],'normalize':[True,False]} ]\n",
"Grid2 = GridSearchCV(Ridge(), parameters2,cv=4)\n",
"Grid2.fit(x_data[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']],y_data)\n",
"Grid2.best_estimator_\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Double-click <b>here</b> for the solution.\n",
"\n",
"<!-- The answer is below:\n",
"\n",
"parameters2= [{'alpha': [0.001,0.1,1, 10, 100, 1000,10000,100000,100000],'normalize':[True,False]} ]\n",
"Grid2 = GridSearchCV(Ridge(), parameters2,cv=4)\n",
"Grid2.fit(x_data[['horsepower', 'curb-weight', 'engine-size', 'highway-mpg']],y_data)\n",
"Grid2.best_estimator_\n",
"\n",
"-->\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Thank you for completing this lab!\n",
"\n",
"## Author\n",
"\n",
"<a href=\"https://www.linkedin.com/in/joseph-s-50398b136/\" target=\"_blank\">Joseph Santarcangelo</a>\n",
"\n",
"### Other Contributors\n",
"\n",
"<a href=\"https://www.linkedin.com/in/mahdi-noorian-58219234/\" target=\"_blank\">Mahdi Noorian PhD</a>\n",
"\n",
"Bahare Talayian\n",
"\n",
"Eric Xiao\n",
"\n",
"Steven Dong\n",
"\n",
"Parizad\n",
"\n",
"Hima Vasudevan\n",
"\n",
"<a href=\"https://www.linkedin.com/in/fiorellawever/\" target=\"_blank\">Fiorella Wenver</a>\n",
"\n",
"<a href=\" https://www.linkedin.com/in/yi-leng-yao-84451275/ \" target=\"_blank\" >Yi Yao</a>.\n",
"\n",
"## Change Log\n",
"\n",
"| Date (YYYY-MM-DD) | Version | Changed By | Change Description |\n",
"| ----------------- | ------- | ---------- | ----------------------------------- |\n",
"| 2020-10-30 | 2.3 | Lakshmi | Changed URL of csv |\n",
"| 2020-10-05 | 2.2 | Lakshmi | Removed unused library imports |\n",
"| 2020-09-14 | 2.1 | Lakshmi | Made changes in OverFitting section |\n",
"| 2020-08-27 | 2.0 | Lavanya | Moved lab to course repo in GitLab |\n",
"\n",
"<hr>\n",
"\n",
"## <h3 align=\"center\"> © IBM Corporation 2020. All rights reserved. <h3/>\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python",
"language": "python",
"name": "conda-env-python-py"
},
"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.11"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment