{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "from utils import *\n",
    "np.set_printoptions(precision=3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 0. Clarification from last time"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x1129ed940>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "np.random.seed(3)\n",
    "# 1 + 0.5 * x - 0.5 x^2 - 0.2 x^3 - 0.1 x^4\n",
    "coeffs = [1, 0.5, -0.5, -0.2, -0.1]\n",
    "x, y = polynomial_data(coeffs, 200)\n",
    "plt.scatter(x, y, color='green')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.7256854071479403\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "linear_coeff, err = least_squares(x, y)\n",
    "plt.scatter(x, y, color='green')\n",
    "plot_linear(linear_coeff)\n",
    "print(err)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "w_fit_right = np.array([[1.7]])\n",
    "w_closer_right = np.array([[0.75]])\n",
    "plt.scatter(x, y, color='green')\n",
    "plot_linear(linear_coeff, color='red')\n",
    "plot_linear(w_fit_right, color='blue')\n",
    "plot_linear(w_closer_right, color='purple')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "def mse(x, y, w):\n",
    "    return np.mean((x.dot(w) - y)**2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Regression error 0.7256854071479403\n",
      "Purple line 0.7702181887975788\n",
      "Blue line 1.2863414234807027\n"
     ]
    }
   ],
   "source": [
    "print(\"Regression error\", mse(x, y, linear_coeff))\n",
    "print(\"Purple line\", mse(x, y, w_closer_right))\n",
    "print(\"Blue line\", mse(x, y, w_fit_right))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1. Hyparparameter selection"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Goal: recover a polynomial model from noisy data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "coeffs = [0.4, -0.5, 0.3, -0.5, -0.5]\n",
    "plot_polynomial(coeffs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x112c34ef0>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "DATASET_SIZE = 400\n",
    "\n",
    "np.random.seed(0)\n",
    "x, y = polynomial_data(coeffs, n_data=DATASET_SIZE)\n",
    "plt.scatter(x, y)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## If we know the degree of the polynomial, can we recover the coeffs?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 0.398 -0.483  0.271 -0.509 -0.505]\n",
      "[0.4, -0.5, 0.3, -0.5, -0.5]\n"
     ]
    }
   ],
   "source": [
    "features_4 = polynomial_features(x, 4)\n",
    "w_4, err = least_squares(features_4, y)\n",
    "print(w_4.flatten())\n",
    "print(coeffs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## What if we don't know the degree?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "errs = []\n",
    "ws = []\n",
    "for i in range(20):\n",
    "    w, err = least_squares(polynomial_features(x, i), y)\n",
    "    errs.append(err)\n",
    "    ws.append(w)\n",
    "\n",
    "plt.figure(figsize=(8, 4))\n",
    "plot_errors(errs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Let's evaluate the learned model against the true underlying model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### How does the degree 4 polynomial we found compare?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x113f8fc50>"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAD8CAYAAABzTgP2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xd4FFX3wPHvSQKhI70LqPQEAoT2Q6QXBSkqKk2KCBasryiIryCK8ooKig0RAXtB6aIIgoiKGpBeQocgJYZeQkhyfn/MEDeYkIRssinn8zz7ZGbulLPDsmdn7p17RVUxxhhjLvLzdQDGGGOyFksMxhhjErHEYIwxJhFLDMYYYxKxxGCMMSYRSwzGGGMSscRgjDEmEUsMxhhjErHEYIwxJpEAXwdwJUqWLKlVqlTxdRjGGJOtrF69+m9VLZXSetkyMVSpUoWwsDBfh2GMMdmKiOxNzXpeuZUkIu+LyBER2ZhMeR8RWS8iG0TkFxGp51G2x12+VkTs294YY3zMW3UMM4BOlynfDbRU1WDgOeDdS8pbq2qIqoZ6KR5jjDFXyCu3klR1hYhUuUz5Lx6zq4CK3jiuMcYY7/NFHcPdwCKPeQUWi4gCU1T10qsJAERkCDAE4Oqrr87wII3xpQsXLhAREUF0dLSvQzHZUL58+ahYsSJ58uS5ou0zNTGISGucxHC9x+LrVfWAiJQGvheRraq64tJt3YTxLkBoaKgNImFytIiICAoXLkyVKlUQEV+HY7IRVSUqKoqIiAiqVq16RfvItOcYRKQu8B7QTVWjLi5X1QPu3yPAbKBxZsVkTFYVHR1NiRIlLCmYNBMRSpQoka6rzUxJDCJyNfA10E9Vwz2WFxSRwhengQ5Aki2bvCI+PsN2bYy3WVIwVyq9nx2v3EoSkU+BVkBJEYkARgN5AFT1HeAZoATwlhtwrNsCqQww210WAHyiqt96I6YkdekCRYvCffdBixZg//GMMeZfvHLFoKq9VLWcquZR1YqqOk1V33GTAqo6WFWLuU1SE5qlquouVa3nvuqo6jhvxJOkgwdh8WL47DNo2RLq1IHXX4fjxzPskMZkV8ePH+ett97ydRgJ9uzZQ1BQkE+OPW/ePMaPH3/ZdWbMmMGwYcMyKaKMl3v6SipXDnbtgqefhrJlYcsWePhhKF8ehgyBrVt9HaExWcblEkNsbGwmR+NbXbt2ZcSIEb4OI1PlnsQAcPXV8NxzsG8ffPkltG0L587B1KlQqxZ07QorVoBaoyeTu40YMYKdO3cSEhLC8OHDWb58OS1atKBr167Url37X7/gX375ZcaMGQPAzp076dSpEw0bNqRFixZsTeJH15gxY+jXrx/NmjWjWrVqTJ06FXBa1AwfPpygoCCCg4P5/PPP/7XtDTfcwNq1axPmr7/+etatW8eYMWMYNGgQrVq14pprruH1119PWOfVV18lKCiIoKAgJk2aBDhXITVr1mTAgAFUr16dPn36sGTJEpo3b061atX4/fffgcRXA/Pnz6dJkybUr1+fdu3acfjw4XSe6SxKVbPdq2HDhnolXnlF9ZNPVM+c8Vi4ZYvq0KGqgYGqTkpQbdRI9fPPVWNjr+g4xqTX5s2b/5m5+Ln09usydu/erXXq1EmYX7ZsmRYoUEB37dqVZPmECRN09OjRqqrapk0bDQ8PV1XVVatWaevWrf+1/9GjR2vdunX17NmzGhkZqRUrVtQDBw7orFmztF27dhobG6uHDh3SSpUq6V9//ZXoeDNmzNCHH35YVVW3bdumF78PRo8erc2aNdPo6GiNjIzU4sWLa0xMjIaFhWlQUJCePn1aT506pbVr19Y1a9bo7t271d/fX9evX69xcXHaoEEDHThwoMbHx+ucOXO0W7duqqo6ffp0feCBB1RV9ejRoxofH6+qqlOnTtXHHnvsX+tkFYk+Qy4gTFPxHZtrrhhOn4b//hd693buJA0aBMuWQXz1mvDOO85VxDPPQIkS8McfcMcdTj3Exx9DXJyvwzfG5xo3bpxiu/jTp0/zyy+/0LNnT0JCQhg6dCgHDx5Mct1u3bqRP39+SpYsSevWrfn9999ZuXIlvXr1wt/fnzJlytCyZUv++OOPRNv17NmTBQsWcOHCBd5//30GDBiQUNa5c2cCAwMpWbIkpUuX5vDhw6xcuZIePXpQsGBBChUqxC233MJPP/0EQNWqVQkODsbPz486derQtm1bRITg4GD27Nnzr5gjIiLo2LEjwcHBTJgwgU2bNqXtJGYTuSYxiMD//geNG8OpUzB9OrRpA1WqONUO+6JLw7PPOgnizTedgm3boG9fqF0bPvwQctm9VZNFZNQ1QxoVLFgwYTogIIB4j+bfF9vMx8fHc9VVV7F27dqE15YtW5Lc36VNKlPbxLJAgQK0b9+euXPn8sUXX9CnT5+EssDAwIRpf3//FOtDPNf38/NLmPfz80ty2wcffJBhw4axYcMGpkyZkmOfTM81iaFgQRg2DH77zalnfvppqFwZ9u+HceOgalWnimHRjwWIv/d+CA+HadOcgvBwuOsuJ0F88IFdQZgcr3Dhwpw6dSrZ8jJlynDkyBGioqI4f/48CxYsAKBIkSJUrVqVL7/8EnBuVa9bty7JfcydO5fo6GiioqJYvnw5jRo1okWLFnz++efExcURGRnJihUraNz438+8Dh48mIceeohGjRpRrFixy76XFi1aMGfOHM6ePcuZM2eYPXs2LVq0SO2pSOTEiRNUqFABgJkzZ17RPrKDXJMYPNWo4dRB79oFy5dDr17g7w/z58NNN8F118GESXk4fssg56rh/ffh2mth+3bo3x/q1YN586yS2uRYJUqUoHnz5gQFBTF8+PB/lefJk4dnnnmGxo0b0759e2rWrJlQ9vHHHzNt2jTq1atHnTp1mDt3bpLHqFu3Lq1bt6Zp06b897//pXz58vTo0YO6detSr1492rRpw0svvUTZsmX/tW3Dhg0pUqQIAwcOTPG9NGjQgAEDBtC4cWOaNGnC4MGDqV+/fhrOxj/GjBlDz549adiwISVLlryifWQLqamIyGqvK618vpzDh1VffFG1SpV/rrULFVJ99FHVPXtU9cIF1enTVStX/meF5s1Vf/rJ67EYk1TFYU4yevRonTBhwhVvf+DAAa1WrZrGxcV5MaqcxSqfvaB0aRgxAnbsgAULnJasp0/DxInOxULvuwJYU3eAcwUxaRKULAk//+w8QX3zzbBhg6/fgjG5wgcffECTJk0YN24cfn72FZYRRLPh7ZDQ0FDNjKE9//wTXnnFeVj6YrVCu3ZO46UW9U46ha+8AmfOOLXbAwc6FRZJXPoakxZbtmyhVq1avg7DZGNJfYZEZLWmYkA0S7eXUb8+fPSRUxfxn/9A4cKwZAnccAO07laE5a2fhZ07nVptf3+nLqJaNXjxRcihrRWMMTmfJYZUuPpqePll2LsXRo92+uFbvhxat4aWt5dhaffJ6MZNTrOm06fhqaecJ6m//NIqqI0x2Y4lhjQoVgzGjHESxHPPOfMrVji3l1rcXZ0fH5sL338PQUGwZw/cfrtzebF6ta9DN8aYVLPEcAWKFnWeg9izB154wXlY+uefoVUruPGVdvz5/p/O09QlS8LKldCokVP/kFP7VTHG5CiWGNKhSBEYOdJJEM8958x/+y00aBzAncuGsv27XfD44xAQADNmQPXqTlff9gS1yWFmzJjBX3/9lTA/ePBgNm/enO797tmzh08++STN2w0YMIBZs2al+/i+7E77mWeeYcmSJZddx1vv81JeSQwi8r6IHBGRJEdfE8frIrJDRNaLSAOPsv4ist199fdGPJmtUCHnCmLnTqeSOjAQPv8cajUuzL2nJvDXsm3Ok3MnTzpdfTds6FxJGJNDXJoY3nvvPWrXrp3u/V5pYsgJxo4dS7t27XxybG9dMcwAOl2m/EagmvsaArwNICLFcUZ7a4Iz1vNoEbn88+1ZWMmSTiX19u0weLBT7zxlClzbriqj6i3g1KcLnH441q93nn/o399uL5ks66OPPqJx48YJneHFxcURFxfHgAEDErrFnjhxIrNmzSIsLIw+ffoQEhLCuXPnaNWqFReblBcqVIjhw4dTp04d2rVrx++//57QNfa8efMAJwG0aNGCBg0a0KBBA3755RfA6f77p59+IiQkhIkTJxIXF8fw4cNp1KgRdevWZcqUKYDzoO6wYcOoUaMG7dq148iRI0m+p1atWvHwww8TEhJCUFBQQtfaR48epXv37tStW5emTZuyfv36RNudOnWKqlWrcuHCBQBOnjyZMN+qVSuefPJJGjduTPXq1RM66IuOjmbgwIEEBwdTv359li1bBjhJtHv37rRv354qVarwxhtv8Oqrr1K/fn2aNm3K0aNHgcRXA2PHjqVRo0YEBQUxZMgQMvwxg9Q8BZeaF1AF2JhM2RSgl8f8NqAc0AuYktx6yb0y4snnjLBli+ptt/3zoHTp0qpTJkfrhVGj/+nmu0gR1ddec56sNsbl+dSqD3rd1s2bN2uXLl00JiZGVVXvu+8+nTlzpoaFhWm7du0S1jt27JiqqrZs2VL/+OOPhOWe84B+8803qqravXt3bd++vcbExOjatWu1Xr16qqp65swZPXfunKqqhoeHJ3SlvWzZMu3cuXPCfqdMmaLPPfecqqpGR0drw4YNddeuXfrVV18ldNd94MABLVq0qH755Zf/el8tW7bUwYMHq6rqjz/+mNCV97Bhw3TMmDGqqrp06dKEuDy70x4wYIDOnj07IY6LXW63bNkyYXrhwoXatm1bVVV9+eWXdeDAgaqqumXLFq1UqZKeO3dOp0+frtdee62ePHlSjxw5okWKFNG3335bVVUfeeQRnThxoqqq9u/fP+E9REVFJbyHvn376rx58/61TlL/hpciiz35XAHY7zEf4S5LbnmOULOm02L111+hWTM4cgSGPhhIyJwxfPf2Lru9ZLKspUuXsnr1aho1akRISAhLly5l165dXHPNNezatYsHH3yQb7/9liJFiqS4r7x589Kpk3NDITg4mJYtW5InT55EXVtfuHCBe+65h+DgYHr27Jls/cTixYv54IMPCAkJoUmTJkRFRbF9+3ZWrFiR0F13+fLladOmTbLx9OrVC3AG/Dl58iTHjx9n5cqV9OvXD4A2bdoQFRXFyZMnE203ePBgpk+fDsD06dMT9dN0yy23AE4fThff08qVK+nbty8ANWvWpHLlyoSHhwPQunVrChcuTKlSpShatCg333xzwvlJqrvvZcuW0aRJE4KDg/nhhx8yvLvvbFP5LCJDRCRMRMIiIyN9HU6aNG3qtFr6/HOns9ZNm6DToPLcGL+ATZN/cLr4vnh7adAg+PtvX4dsspCMuma4/DGV/v37J3SdvW3bNsaMGUOxYsVYt24drVq14p133mHw4MEpxp8nT56ELrWT69p64sSJlClThnXr1hEWFkZMTEyycU2ePDkhrt27d9OhQ4c0nM0r7+67efPm7Nmzh+XLlxMXF5doBLuL7yk1XX17rg8pd/cdHR3N/fffz6xZs9iwYQP33HNPhnf3nVmJ4QBQyWO+orssueX/oqrvqmqoqoaWKlUqwwLNKCLOYw1btsCECRdbMAl1H27NvW23c/jR8ZA3rzNQRM2azl97OM74SNu2bZk1a1bCvfqjR4+yd+9e/v77b+Lj47n11lt5/vnnWbNmDZByN90pOXHiBOXKlcPPz48PP/yQOLcPmkv327FjR95+++2Ee/3h4eGcOXOGG264IaG77oMHDybcz0/KxeFCV65cSdGiRSlatCgtWrTg448/BmD58uWULFkyyauhu+66i969e6eqV1fPfYaHh7Nv3z5q1KiRyjPyj4tJoGTJkpw+fTpDWiFdKrMSwzzgLrd1UlPghKoeBL4DOohIMbfSuYO7LMcKDHRasO7YAQ884CSMKdMCqPbek7z8SAQxrTpAVJRz5dCqlZNJjMlktWvX5vnnn6dDhw7UrVuX9u3bc/DgQQ4cOECrVq0ICQmhb9++vPjii4BTUXrvvfcmVD6n1f3338/MmTOpV68eW7duTRgUqG7duvj7+1OvXj0mTpzI4MGDqV27Ng0aNCAoKIihQ4cSGxtLjx49qFatGrVr1+auu+6iWbNmyR4rX7581K9fn3vvvZdp06YBTnfaq1evpm7duowYMSLZsRb69OnDsWPHEm5HpfSe4uPjCQ4O5o477mDGjBmJrhRS66qrruKee+4hKCiIjh070qhRozTvI81SUxGR0gv4FDgIXMCpJ7gbuBe41y0X4E1gJ7ABCPXYdhCww30NTM3xskvlc2ps3qzaufM/F/jVq8frN48vVS1VylmQJ4/qqFGqZ8/6OlSTiXJ6t9u+cmkleVp9+eWX2rdvXy9GlHHSU/kc4KXkctn06Qb0QDJl7wPveyOO7KhWLaeb70WL4JFHIDxcuOnlNnTpGMHEq8Zy3efjnB5bP/0U3noLOnb0dcjG5EoPPvggixYt4ptvvvF1KBnOut3OQmJiYPJkZ+jpU6ecKodHb49g1JrbKLz5N2elO+5wBokoV863wZoMZd1um/SybrdziLx5nSenw8NhwAAnUfzvo4rUOPYrH925AM1fwGnaVLMmvPmmjT2dw2XHH20ma0jvZ8cSQxZUtqzTKGnVKmjcGA4eFPp91pnmtaIIu/4R59mHYcOchyP+/NPX4ZoMkC9fPqKioiw5mDRTVaKiosiXL98V78NuJWVx8fHwwQfOsKOHD4OIMqjNXl7Y1I3Sh9aDnx889BCMHeuMJGRyhAsXLhAREZHh7dVNzpQvXz4qVqxInjx5Ei1P7a0kSwzZxMmTTg+ur70GFy5AkSLKmPpzGbbiDvJoDFSo4PTc2qOH0wbWGGMuYXUMOUyRIs6DcRs2wI03wsmTwmM/dqdeleMsqX4/HDgAt94KN98Mu3f7OlxjTDZmiSGbqVEDFi6E+fPh2mthy+78tA9/k1vq7WR34bpOYZ06MH68U3ttjDFpZIkhGxKBLl2cPpdefBEKFoTZ666hVsxangn6irPncEYQql/fGXvUGGPSwBJDNhYY6FRKb9sGffrA+fPCcxtvoWapo3xR9iF082Zo2dI65jPGpIklhhygQgX46COn1+769WF/ZD7uOPQarSvvZn1AA6fta40aMG2a08zJGGMuwxJDDtK8OfzxhzNqXIkS8OPeKtSPD2NYxTkcParOsHI33AAbkxyB1RhjAEsMOY6/PwwZ4gwv+uCDTl/zb0Z0o3qhg7xTeDhxP//qXFY8+SScOePrcI0xWZAlhhyqWDHnsYY//4TWrSHqdCD3nXqJ0JJ7+Cm2Gbz0EtSuDe6Yu8YYc5ElhhwuOBiWLnWGGL36alj7dyVuYAW9i31DxL446NYNuneHfft8HaoxJouwxJALiMBttzlj/oweDfnywafHbqRG3t28kHcM0XO/dfr/fvll57FqY0yu5pXEICKdRGSbiOwQkRFJlE8UkbXuK1xEjnuUxXmU2X2NDFSgAIwZ4ySIW2+FszF5GBUzmjoF9zDvbFt0+HCoVw+WLPF1qMYYH0p3YhARf5zR2W4EagO9RKS25zqq+qiqhqhqCDAZ+Nqj+NzFMlXtmt54TMqqVIFZs5zv/9q1YdeZsnRjHjcVWM62LXHQvr1zibF3r69DNcb4gDeuGBoDO1R1l6rGAJ8B3S6zfi+coUCNj7VtC2vXOh3zFS0K355tSZDfZoYHTOTkV4ud20tjx8IVjOFrjMm+vJEYKgD7PeYj3GX/IiKVgarADx6L84lImIisEpHuXojHpEGePE6v3du3O485xKk/L8c+QrXA/Uw514/Y0WOdvpfmznWGpTbG5HiZXfl8JzBLVT2HHqvsdgPbG5gkItcmtaGIDHETSFhkZGRmxJqrlCoFU6c6D8g1awZHzhflXqYQEriFRbtroN27O926btvm61CNMRnMG4nhAFDJY76iuywpd3LJbSRVPeD+3QUsB+ontaGqvquqoaoaWqpUqfTGbJLRsCH8/LMzgmjVqrDpfDVuYhEdA5ay/ru/nPavTzzhDEptjMmRvJEY/gCqiUhVEcmL8+X/r9ZFIlITKAb86rGsmIgEutMlgebAZi/EZNJBBG6/3Wm9NGGCU//wfWwbQljL4Atv89eEj6BaNXjvPRt32pgcKN2JQVVjgWHAd8AW4AtV3SQiY0XEs5XRncBnmnjIuFpAmIisA5YB41XVEkMWERgIjz8OO3Y49RD+AX5M426q+e3k2cNDOXPPw073Gta81ZgcxYb2NKkWHu508z17tjNfzv8wz8eNpD8z8e98o3N5UauWb4M0xiTLhvY0Xle9Onz9Nfz4I4SGwsG4MtzN+9Tz28CchQFoUDAMG2ZjPxiTzVliMGl2ww3w22/OGBBVqsCm+Nr0YA7N4ley7M1NcN11Tvca58/7OlRjzBWwxGCuiJ+fM2rc1q1OL66lSsFvNKUNy+h44nNWD/8UataEDz+0CmpjshlLDCZdAgOdcR927YLnnoMiRWAxHQllNT33vMS2u553KqgXLLAH5IzJJiwxGK8oVAieftpJEI8/DvnyKbPoSR02MXjDQ+y7+X5o0cIZf9QYk6VZYjBeVaKE0zhp+3bhnnsAf3+mMZjr2MG9P/dlb4s+cPPNsGGDr0M1xiTDEoPJEBUrwrvvwubNQq9eECt5mMK9VGM7Qxd0YW/dm6FfP6cNrDEmS7HEYDJU9erwySewaZPQu7eTIN5lKNUIZ+hH17O3Zkfo39/pxc8YkyVYYjCZolYt+Phj5wqiTx+I83MSxHUazpAPmrOnZicYMMB5zNoY41OWGEymqlnTef5h0yYnQcT7BTCVIVSL38pdM9uwscatliCM8TFLDMYnLiaIzZuFvn1B/QP4kLsIjl9H15m38EuNgc4tps3WdZYxmc0Sg/GpGjWcZ+C2bxceeADyBcYzn640j/+JGz64m2/qPI527+E8am2MyRSWGEyWULUqvPEG7N3nx6hRcFWROH7iBjrzDfXmPstHTScT07I9fPedPShnTAazxGCylNKl4fnnYe9+fyZMgHJl4thAXfrxEVVWzGRcpxX8Xa8tfPGFdbVhTAaxxGCypCJFnCeod+/1Z+pUqFMrjoOU52nGUWnDQu654wQbK3eGSZPg5Elfh2tMjmKJwWRpgYEweDBs2OTP4sVwU6c4osnPe9xD8IFv6fBobb4pO4j4hx+FnTt9Ha4xOYJXEoOIdBKRbSKyQ0RGJFE+QEQiRWSt+xrsUdZfRLa7r/7eiMfkPCLQvj0sXOTP1q1w/33xFAiM5Xs60PncLGq8fj8vX/cOUTf1cwaMsHoIY65YukdwExF/IBxoD0TgjAHdy3OIThEZAISq6rBLti0OhAGhgAKrgYaqeuxyx7QR3AzAsWPOsNOTX41h/6G8AAQSTU++5N7rlvJ/T1yP9O4FBQv6OFJjsobMHMGtMbBDVXepagzwGdAtldt2BL5X1aNuMvge6OSFmEwuUKwYDB8Ou/bnZd48uLHNeWII5CP6cf2OGdQb0pi3Sj7DySGPw8aNvg7XmGzDG4mhArDfYz7CXXapW0VkvYjMEpFKadwWERkiImEiEhYZGemFsE1OERDgdNj6zdJAdu4SRg6PpXSRc2ygLg9Ev0L5qWMYHLyKn+veh370MURH+zpkY7K0zKp8ng9UUdW6OFcFM9O6A1V9V1VDVTW0VKlSXg/Q5AxVq8ILLwWwPzI/n30GrUJPc4ZCTGMw1294mxr9GvFC8ZfZP+Q52LLF1+EakyV5IzEcACp5zFd0lyVQ1ShVvTgA8HtAw9Rua8yVyJsX7rgDlv1RiK1b4clHYyhX9Azbqc6oc09TeeooOtbex6fX/Zdzr0+F48d9HbIxWYY3Kp8DcCqf2+J8qf8B9FbVTR7rlFPVg+50D+BJVW3qVj6vBhq4q67BqXw+erljWuWzuRKxsfD9YmX6q0eZu6wIMfF5ACjKce7wm0XvVn/R4vEm+HVoB/7+Po7WGO9LbeVzuhODe7CbgEmAP/C+qo4TkbFAmKrOE5EXga5ALHAUuE9Vt7rbDgKecnc1TlWnp3Q8SwwmvY4ehU9nxjBj8inCdpdIWF6BCO4otJDet8XQ4LHWSHCQD6M0xrsyNTFkNksMxps2boSP3z7Bp58oe49flbC8GuH0KrWUXn38qPlQB6cCw5hszBKDMWmkCqt+VT555SBfLCrEkXNFEspC+JPbK63i1rsKUn1YByhb1oeRGnNlLDEYkw6xsbBs8QU+nXiQr38swYkL/zwkV4eN3FLlT27tV4C6D7RAypT2YaTGpJ4lBmO85Px5+HZONF+/eZB5q0px/EKhhLJr2cEtFf/glp7+NH7k//C7uqIPIzXm8iwxGJMBYmJg+fxTfPX6AeasKsORmGIJZRWIoGvpVdzcWWn9nwbkq3OtDyM15t8sMRiTweLi4OdvT/H15AN8vaIE+8/98+BlQU7TvsjvdGl1ms7DqlK2XZDTE6AxPmSJwZhMpAphP51j/uQ9LFiajz+PJW7B1DjPn3Spt5+b7ypGvbtDkQL5fRSpyc0sMRjjQxE7z7Ng4nYWzI9n6b5qRPNPIqgoEXS5egNduvrR5pG65L+mnA8jNbmJJQZjsogzp+JZOnUX8z86wYINlTkUWzKhLD9naVN0DZ1bnKTzfVdz9Y117JaTyTCWGIzJguLjYc23R5j/1n4WrizC6hPVEpUHBWylS9AeOt9ZmKb31SegSAEfRWpyIksMxmQDB3eeZdFr4SycH8/ivdU5rf80hS3GUTqVX0/nDrF0eqQmJepZU1iTPpYYjMlmzp+L56fpO1j44VEW/lme7eevTijzI45mBdbTufEROg8qS3CvICTAOvozaWOJwZhsLvznSBZO3sXCH/KxIrIWF8ibUFbJL4Kbrg2nS488tHk4mALlr7rMnoxxWGIwJgc5GXmeJZO3sOCraL7Zdi2H4/55ZiIf52hdfD2dW56m8wNVqNLmGqvANkmyxGBMDhUfp6z5eg8Lp/7FwlXF+eNUrUTldfKG0zl4P517F+X/7q1LQIG8yezJ5DaWGIzJJQ5tPc6iSdtY+I2weH8tTlE4oewqjtGx4mY63xjHjY/WomQtGxY3N8vsgXo6Aa/hDNQzqfcrAAAZo0lEQVTznqqOv6T8MWAwzkA9kcAgVd3rlsUBG9xV96lq15SOZ4nBmKTFnI3lp3e3sPCTEyxcV4HwmH+ewBbiaVpoI52bRNF5cDnq3V4D8bNbTrlJpiUGEfHHGdqzPRCBM7RnL1Xd7LFOa+A3VT0rIvcBrVT1DrfstKpHG71UsMRgTOrsWB7Bwjd2s2B5QX6MCkpUgV3R/y9uqr6Tm/sWpf0jdQgsYK2ccrrMTAzNgDGq2tGdHwmgqi8ms3594A1Vbe7OW2IwJhOcOnSGJa9tYuHs8yzcXp1D8WUSyorKCXpU38ydgwrQ5qEg8uSzJJETpTYx+HnhWBWA/R7zEe6y5NwNLPKYzyciYSKySkS6eyEeY0wSCpctSI8XG/Pe1hYciClN2IdbeLbFEurm3cIJLcqMbc3o9GQ9yhU4ztA6P7Fs4lriYuJ8HbbxAW8khlQTkb5AKDDBY3FlN4P1BiaJSJKd2IvIEDeBhEVGRmZCtMbkXH7+QsO+tXhmRTvWRddky1ebGXP9Emrm2UGUluDdzS1o81gIFfP/zeONfmTj7O2+DtlkIm8khgNAJY/5iu6yRESkHTAK6Kqq5y8uV9UD7t9dwHKgflIHUdV3VTVUVUNLlbKWFcZ4jQg1b6nN6J/asTn6WtZ9toWnmi3j2oC9HIovwythLQm+pRqhBTfzxm3LiNpqP8xyOm/UMQTgVD63xUkIfwC9VXWTxzr1gVlAJ1Xd7rG8GHBWVc+LSEngV6CbZ8V1UqyOwZiMp/HKb+9tYOZrx/h0cwgnKApAHmLoWvYP7r7Hj45PN8Ivb4CPIzWpldnNVW8CJuE0V31fVceJyFggTFXnicgSIBg46G6yT1W7isj/AVOAeJyrl0mqOi2l41liMCZzRR+PZu6za5nxcR4WR4YQj1M5fY3/Hu5rE87AV4IoEVzex1GalNgDbsaYDHFg3d988NQWpiyuyt5Yp8fXQKK5s9IvPPCffDR6sCn4ZWr1pUmlzGyVZIzJRSrUK8nIhS3Yea4C88et58ayfxJDXmbub0PjR/6P/yu4ltlDvyXu1Flfh2qukCUGY8wV8Q8QujxVl28O1mf7r1E83mIVxfyO82t0A255txO1rjrIlJvmcm73IV+HatLIEoMxJt2ubVqKCSuasv9oIV4fsIbKef9ie/y13LuoG1WuEcY1/JqTf+70dZgmlSwxGGO8pmDRAB6c3oAdp8vx6eit1C+6kyOU4ek1t1ClQTFeqP8lp9bYMxFZnSUGY4zXBeQR7hxTk9XHruX76RFcXyacYxRn1NqeVG1YjP/V/4zTYVt9HaZJhiUGY0yGEYF2Ayqy4mB1vv/gIM1K7ySKkoxYeyfXNCrOW80+JHZPhK/DNJewxGCMyXAi0K5fOX4+dC3fzjxM49K7iaQ0D6zqR/A1p1lw2wz02HFfh2lclhiMMZlGBDreVYZVh6oy641DXFvoEFu1Jjd/NYB2pdfz538+gpgYX4eZ61liMMZkOhG49YGybI4qy6uP7KNYwEl+iL2Bhq/2ZliZLzk+Z7mvQ8zVLDEYY3wmb154dOLV7DhUmEe67cKPeN483oeaPWrySZPX0L37fB1irmSJwRjjc8VLCBPnXMOfYfE0r7yfw5Slz+8P0+6aXYQ//i7Exvo6xFzFEoMxJssIbpiXFbsqMW3CUUrkPckP8a2o90o/Xq3yOnFr1vk6vFzDEoMxJkvx84NBjxdn219F6N/+ANHk5z8HHqNlw9Nsf2AinD+f8k5MulhiMMZkSSVKwIzFFVjwxVnKFTjBzzSn3ltDmVR5IvFha3wdXo5micEYk6V17lmATRFF6dfxCOcowKOHR3Bj4785/MybEB/v6/ByJEsMxpgsr1gx+ODb0sz5/Dwl851isXag3nO3srjBCIiwJ6e9zSuJQUQ6icg2EdkhIiOSKA8Ukc/d8t9EpIpH2Uh3+TYR6eiNeIwxOVO32wNZt7Mwrev+zWHK0nHdSzx53Vdc+Gqer0PLUdKdGETEH3gTuBGoDfQSkdqXrHY3cExVrwMmAv9zt60N3AnUAToBb7n7M8aYJJUvD9+vKclzT57GjzheOv8wbW4rxqFhz1uzVi/xxhVDY2CHqu5S1RjgM6DbJet0A2a607OAtiIi7vLPVPW8qu4Gdrj7M8aYZPn7w9PjC/HjCj8qFD3FSlrQ8M2B/NbkITh82NfhZXveSAwVgP0e8xHusiTXUdVY4ARQIpXbAiAiQ0QkTETCIiMjvRC2MSa7u76FELa1MNcHn+AvKnDDmolMq/ES/PKLr0PL1rJN5bOqvquqoaoaWqpUKV+HY4zJIsqWhaVhRRk28AwxBDL4xCvc32IDsdM/9HVo2ZY3EsMBoJLHfEV3WZLriEgAUBSISuW2xhhzWXnzwuT3CzL9vVgC/S/wdvxQug4qwan/jLEmrVfAG4nhD6CaiFQVkbw4lcmXNhGYB/R3p28DflBVdZff6bZaqgpUA373QkzGmFxowN0B/LAiDyULnWMRN9Hi1e4c6DIUzpzxdWjZSroTg1tnMAz4DtgCfKGqm0RkrIh0dVebBpQQkR3AY8AId9tNwBfAZuBb4AFVjUtvTMaY3Ov//g9+/TM/1SqcYR0hNFk0mnWNBluldBqI88M9ewkNDdWwsDBfh2GMycKioqBbh7P8vKYAhTnJ/PL30vKn5+Gaa3wdms+IyGpVDU1pvWxT+WyMMWlRogQs+bkAt3eN5hRF6PTXNL4J/S+ss15aU2KJwRiTY+XLB598nY97+scQTX66HZvB580mwYoVvg4tS7PEYIzJ0fz9Ycr0vDz+aCyx5KHXuWm81/ZTWLzY16FlWZYYjDE5ngi89EoAz4+NR/Hjnti3ebfzXPj2W1+HliVZYjDG5AoiMOq/fkx81XmuYWjsm0zrMhsWLvRxZFmPJQZjTK7yyKN+vPKy0xrznri3mdHta5g/38dRZS2WGIwxuc5j/xH+N15R/BgUN5UPe3wN333n67CyDEsMxphc6YknhXHPO8lhQNx7zOn6Pqxc6euwsgRLDMaYXOupUcLTo5R4/LkzZiYrOo6DNTaetCUGY0yuNvY5YeiQeM6Tj65nP2V920dh61Zfh+VTlhiMMbmaCLz5lh+39ojnBFfR8fhn7G49CA7k3o6eLTEYY3I9f3/46BM/Wt8QxyHK0eHQTKI69oaTJ30dmk9YYjDGGJzuM+bM9yckOJYdVOPWTc8Sc1tvuHDB16FlOksMxhjjKlIE5n8TQPkysfxIK4Z+fyt63/2QDXuhTg9LDMYY46FiRZi3MID8gXHMYCD/m1YCXnzR12FlqnQlBhEpLiLfi8h292+xJNYJEZFfRWSTiKwXkTs8ymaIyG4RWeu+QtITjzHGeEPDhvDRJ/4AjGQ8X48KgzlzfBxV5knvFcMIYKmqVgOWuvOXOgvcpap1gE7AJBG5yqN8uKqGuK+16YzHGGO84pZbYPx4Z7ofH7Kh94uwaZNvg8ok6U0M3YCZ7vRMoPulK6hquKpud6f/Ao4ApdJ5XGOMyXBPPAH9+ilnKUiPcx9z/OZ+cOyYr8PKcOlNDGVU9aA7fQgoc7mVRaQxkBfY6bF4nHuLaaKIBKYzHmOM8RoRmDJFCKkbz06uo9/uZ4m/oxfE5eyh6VNMDCKyREQ2JvHq5rmeOoNHJ1t1LyLlgA+Bgaoa7y4eCdQEGgHFgScvs/0QEQkTkbDIyMiU35kxxnhB/vzw9Rw/ihWNYwE38/z3jWHkSF+HlaFE09EMS0S2Aa1U9aD7xb9cVWsksV4RYDnwgqrOSmZfrYDHVbVLSscNDQ3VsLCwK47bGGPS6rvv4MYbFVRZSGdunHMvdOuW8oZZiIisVtXQlNZL762keUB/d7o/MDeJQPICs4EPLk0KbjJBRASnfmJjOuMxxpgM0bEjjB0rKH704WP23zUK9uzxdVgZIr2JYTzQXkS2A+3ceUQkVETec9e5HbgBGJBEs9SPRWQDsAEoCTyfzniMMSbDPPUUdO6sHKM4fU6+ReztvSEmxtdheV26biX5it1KMsb4SmQk1AuO5+BhP0YzhjGPnICJE30dVqpk1q0kY4zJVUqVcjrcE1Ge47/8OGlNjnv4zRKDMcakUZs2MHKkEI8/ffiYqP6PQUSEr8PyGksMxhhzBcaMgWbNlANU5O6Tr6L9B0B8fEqbZQuWGIwx5grkyQOffCIULRLPXLoz84eK8Prrvg7LKywxGGPMFapSBV6f7HyNPsxr7HvyTdiY/VvdW2Iwxph06NfPec7tJEW5O+Yt4vv0g/PnfR1WulhiMMaYdHD6U4ISxeNZQnveWd8MnnnG12GliyUGY4xJpzJl4J0pztfpcCawY8Js+P13H0d15SwxGGOMF9x2G/TqBWcpyECdRvygwdn2qWhLDMYY4yVvvAFlSisracHUTc3ghRd8HdIVscRgjDFeUrw4vD5ZAHiCl/hr3HTYsMHHUaWdJQZjjPGinj2hSxenldLDsS/D3XdDbKyvw0oTSwzGGONFIvDmm1CwoDKLnsz7oyxMmuTrsNLEEoMxxnjZ1VfDuHHOLaX7eYuTz7wM+/b5OKrUs8RgjDEZYNgwaNQIDlCRp889BY884uuQUi1diUFEiovI9yKy3f1bLJn14jwG6ZnnsbyqiPwmIjtE5HN3tDdjjMn2/P1h6lTw91fe5AHWzd4J33zj67BSJb1XDCOApapaDVjqziflnKqGuK+uHsv/B0xU1euAY8Dd6YzHGGOyjHr14IEHnO65H2QyOuxBOHfO12GlKL2JoRsw052eiTNuc6q44zy3AS6OA52m7Y0xJjt49lkoVUr5iRv4dHcTGD/e1yGlKL2JoYyqHnSnDwFlklkvn4iEicgqEbn45V8COK6qF9txRQAV0hmPMcZkKVddBePHOxXRw5nAqfFvwvbtPo7q8lJMDCKyREQ2JvHq5rmeOoNHJzeAdGV3nNHewCQRuTatgYrIEDe5hEVGRqZ1c2OM8ZkBA6BxY/iLCjwfMxweftjXIV1WiolBVdupalASr7nAYREpB+D+PZLMPg64f3cBy4H6QBRwlYgEuKtVBA5cJo53VTVUVUNLlSqVhrdojDG+5ecHkyc70xN5lG2LdsK33/o2qMtI762keUB/d7o/MPfSFUSkmIgEutMlgebAZvcKYxlw2+W2N8aYnKBxY+ch6Avk5VEmwn/+k2WfiE5vYhgPtBeR7UA7dx4RCRWR99x1agFhIrIOJxGMV9XNbtmTwGMisgOnzmFaOuMxxpgs64UXoEgRZRE3sWRzOXj3XV+HlCRxfrhnL6GhoRoWFubrMIwxJs1efBGeegpC+JPVxTvgtyMciiX5CJjXichqt773suzJZ2OMyUSPPAIVKyprqc9HR2+E55/3dUj/YonBGGMyUf78//SjNIpxnHt9apZrvmqJwRhjMlnfvhASAhFUYlLsA/Dkk74OKRFLDMYYk8n8/GDCBGf6RUYSOfsn+O033wblwRKDMcb4QLt20KkTnKIIY3kGRo6ELNIYyBKDMcb4yEsvgYgyhaHsXbYTlizxdUiAJQZjjPGZ4GDo1Uu4QN4sddVgicEYY3xozBhnzIaZ9Cd89Un46itfh2SJwRhjfKlaNRgwQIgjgGcZDaNG+byrDEsMxhjjY//9L+TJo3xKLzaG54EZM3wajyUGY4zxscqVYcgQQfFjNM/Cc89BTIzP4rHEYIwxWcCoUZAvn/I1t7J6X0mYOTPljTKIJQZjjMkCypWDYcOcrjJG8yyMG+ezqwZLDMYYk0U88QQUKKAspAt/7i0GH3zgkzgsMRhjTBZRqhQMHepcNbzAU85Vw4ULmR6HJQZjjMlCHn8c8uZVvuJWNu/JDx9+mOkxpCsxiEhxEfleRLa7f/812oSItBaRtR6vaBHp7pbNEJHdHmUh6YnHGGOyu/Ll4e67nRZKLzLSJ1cN6b1iGAEsVdVqwFJ3PhFVXaaqIaoaArQBzgKLPVYZfrFcVdemMx5jjMn2nngCAgKc5xp27gI+/jhTj5/exNANuNimaibQPYX1bwMWqerZdB7XGGNyrCpVoG9f52no//EkjB8PcXGZdvz0JoYyqnrQnT4ElElh/TuBTy9ZNk5E1ovIRBEJTG5DERkiImEiEhYZGZmOkI0xJusbOdLpeXUGA9i/7QzMmZNpx04xMYjIEhHZmMSrm+d6qqpAst0Cikg5IBj4zmPxSKAm0AgoDiQ7jJGqvquqoaoaWqpUqZTCNsaYbK16dbjjDqfn1Zd53LlqyKSeV1NMDKraTlWDknjNBQ67X/gXv/iPXGZXtwOzVTWhFkVVD6rjPDAdaJy+t2OMMTnHyJHO3/cYTFTYLvjhh0w5bnpvJc0D+rvT/YG5l1m3F5fcRvJIKoJTP7ExnfEYY0yOUbeuM8rbWQryNvc5Vw2ZIL2JYTzQXkS2A+3ceUQkVETeu7iSiFQBKgE/XrL9xyKyAdgAlASeT2c8xhiTowwf7vydLA8RveQnCAvL8GMGpGdjVY0C2iaxPAwY7DG/B6iQxHpt0nN8Y4zJ6Vq3hgYNYM2a0nzAXQyZPx9CQzP0mPbkszHGZGEi/1w1vHL1a8SPfjbDj2mJwRhjsrjbbnOebQjfl5958zL+eJYYjDEmiwsIgEcfhWLF4OjRTDhexh/CGGNMet1zDwwaBIUKZfyxLDEYY0w2kD9/5h3LbiUZY4xJxBKDMcaYRCwxGGOMScQSgzHGmEQsMRhjjEnEEoMxxphELDEYY4xJRDSTBn7wJhGJBPZe4eYlgb+9GI63WFxpY3GljcWVNjk1rsqqmuJIZ9kyMaSHiISpasZ2TXgFLK60sbjSxuJKm9wel91KMsYYk4glBmOMMYnkxsTwrq8DSIbFlTYWV9pYXGmTq+PKdXUMxhhjLi83XjEYY4y5jByZGESkp4hsEpF4EUm2Bl9EOonINhHZISIjPJZXFZHf3OWfi0heL8VVXES+F5Ht7t9iSazTWkTWeryiRaS7WzZDRHZ7lIVkVlzuenEex57nsdyX5ytERH51/73Xi8gdHmVePV/JfV48ygPd97/DPR9VPMpGusu3iUjH9MRxBXE9JiKb3fOzVEQqe5Ql+W+aSXENEJFIj+MP9ijr7/67bxeR/pkc10SPmMJF5LhHWYacLxF5X0SOiMjGZMpFRF53Y14vIg08yrx/rlQ1x72AWkANYDkQmsw6/sBO4BogL7AOqO2WfQHc6U6/A9znpbheAka40yOA/6WwfnHgKFDAnZ8B3JYB5ytVcQGnk1nus/MFVAequdPlgYPAVd4+X5f7vHiscz/wjjt9J/C5O13bXT8QqOruxz8T42rt8Rm672Jcl/s3zaS4BgBvJLFtcWCX+7eYO10ss+K6ZP0Hgfcz4XzdADQANiZTfhOwCBCgKfBbRp6rHHnFoKpbVHVbCqs1Bnao6i5VjQE+A7qJiABtgFnuejOB7l4KrZu7v9Tu9zZgkaqe9dLxk5PWuBL4+nypariqbnen/wKOACk+wHMFkvy8XCbeWUBb9/x0Az5T1fOquhvY4e4vU+JS1WUen6FVQEUvHTtdcV1GR+B7VT2qqseA74FOPoqrF/Cpl46dLFVdgfMjMDndgA/UsQq4SkTKkUHnKkcmhlSqAOz3mI9wl5UAjqtq7CXLvaGMqh50pw8BZVJY/07+/aEc515KThSRwEyOK5+IhInIqou3t8hC50tEGuP8Ctzpsdhb5yu5z0uS67jn4wTO+UnNthkZl6e7cX55XpTUv2lmxnWr++8zS0QqpXHbjIwL95ZbVeAHj8UZdb5SklzcGXKusu3QniKyBCibRNEoVZ2b2fFcdLm4PGdUVUUk2SZh7q+BYOA7j8Ujcb4g8+I0W3sSGJuJcVVW1QMicg3wg4hswPnyu2JePl8fAv1VNd5dfMXnKycSkb5AKNDSY/G//k1VdWfSe/C6+cCnqnpeRIbiXG21yaRjp8adwCxVjfNY5svzlWmybWJQ1Xbp3MUBoJLHfEV3WRTOZVqA+6vv4vJ0xyUih0WknKoedL/IjlxmV7cDs1X1gse+L/56Pi8i04HHMzMuVT3g/t0lIsuB+sBX+Ph8iUgRYCHOj4JVHvu+4vOVhOQ+L0mtEyEiAUBRnM9TarbNyLgQkXY4ybalqp6/uDyZf1NvfNGlGJeqRnnMvodTp3Rx21aXbLvcCzGlKi4PdwIPeC7IwPOVkuTizpBzlZtvJf0BVBOnRU1enA/BPHVqdJbh3N8H6A946wpknru/1Oz3X/c23S/Hi/f1uwNJtmDIiLhEpNjFWzEiUhJoDmz29fly/+1m49x/nXVJmTfPV5Kfl8vEexvwg3t+5gF3itNqqSpQDfg9HbGkKS4RqQ9MAbqq6hGP5Un+m2ZiXOU8ZrsCW9zp74AObnzFgA4kvnLO0Ljc2GriVOb+6rEsI89XSuYBd7mtk5oCJ9wfPhlzrrxZs55VXkAPnHtt54HDwHfu8vLANx7r3QSE42T8UR7Lr8H5j7sD+BII9FJcJYClwHZgCVDcXR4KvOexXhWcXwJ+l2z/A7AB5wvuI6BQZsUF/J977HXu37uzwvkC+gIXgLUer5CMOF9JfV5wbk11dafzue9/h3s+rvHYdpS73TbgRi9/3lOKa4n7/+Di+ZmX0r9pJsX1IrDJPf4yoKbHtoPc87gDGJiZcbnzY4Dxl2yXYecL50fgQfezHIFTF3QvcK9bLsCbbswb8GhtmRHnyp58NsYYk0huvpVkjDEmCZYYjDHGJGKJwRhjTCKWGIwxxiRiicEYY0wilhiMMcYkYonBGGNMIpYYjDHGJPL/zzTL6MRUJ+AAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_polynomial(coeffs, color='red', label='true polynomial')\n",
    "plot_polynomial(w_4, color='blue', label='estimated polynomial')\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### What about the degree 19?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x113f23f98>"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_polynomial(coeffs, color='red', label='true polynomial')\n",
    "plot_polynomial(ws[-1], color='blue', label='estimated polynomial')\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Let's see if we can make this intuition more quantitative"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "def validation_error(eval_x, eval_y, w):\n",
    "    pred_y = polynomial(eval_x, w).flatten()\n",
    "    \n",
    "    err = np.mean((eval_y.flatten() - pred_y.flatten()) ** 2)    \n",
    "\n",
    "    return err"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "errs = []\n",
    "eval_x = np.linspace(-1, 1, 1000)\n",
    "eval_y = polynomial(eval_x, coeffs).flatten()\n",
    "for w in ws:\n",
    "    errs.append(validation_error(eval_x, eval_y, w))\n",
    "\n",
    "plt.figure(figsize=(8, 4))\n",
    "plot_errors(errs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Now let's try 'infinite' noisy data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [],
   "source": [
    "eval_x, eval_y = polynomial_data(coeffs, n_data=10000)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Degree 4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,4))\n",
    "plt.subplot(121)\n",
    "plot_polynomial(w_4, color='blue')\n",
    "plt.scatter(x, y, color='green')\n",
    "plt.title(\"Original data\")\n",
    "plt.subplot(122)\n",
    "plot_polynomial(w_4, color='blue')\n",
    "plt.scatter(eval_x, eval_y, color='green')\n",
    "plt.title(\"'Infinite' noisy data\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Degree 19"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,4))\n",
    "plt.subplot(121)\n",
    "plot_polynomial(ws[-1], color='blue')\n",
    "plt.scatter(x, y, color='green')\n",
    "plt.title(\"Original data\")\n",
    "plt.subplot(122)\n",
    "plot_polynomial(ws[-1], color='blue')\n",
    "plt.scatter(eval_x, eval_y, color='green')\n",
    "plt.title(\"'Infinite' noisy data\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Quantitative"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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3Ue0N1+mi3djYyOzZ6d9hpOIiEjXMLOCVzeM025zERGRKqPiLSIiUmVUvEVERKpMpo95i4hIddixYwetra1s27Yt7VSqQp8+fRg1ahQ9e/Zsf+Y8VLxFRKRira2tDBw4kMbGRvb+gzppy91Zv349ra2tjB07tkMxtNtcREQqtm3bNoYNG6bCXQIzY9iwYRXtpVDxFhGRRKhwl67SZVUzxfuee+C++9LOQkREpHI1U7wffBCmTk07CxER6QwbNmzgBz/4QYeee/bZZ7Nhw4aEM+pcNVO8m5th6dK0sxARkc5QrHjv3Lmz6HOffPJJBg8enGg+bV+zvRzKVTO9zZuaYM0a2LQJBgxIOxsREUnSzTffzJIlSxg/fjynn34655xzDl/5ylcYMmQIr776KosWLeKCCy6gpaWFbdu2ccMNNzB58mRgz6W4N23axFlnncWJJ57Ib37zG0aOHMnjjz9O375993qtdevWce2117Jy5UoA7rzzTk444QRuueUWlixZwtKlSxkzZgxnnHEGjz76KJs2bWLXrl08++yzib3fminezc3hfulSOOqodHMREenObrwR5s1LNub48XDnnYUfv/3225k/fz7zoheeOXMmc+fOZf78+e+djnXvvfcydOhQtm7dyjHHHMNFF13EsGHD9oqzePFipk2bxt13383FF1/MI488wuWXX77XPDfccAM33XQTJ554IitXruSMM85g4cKFACxYsIBf//rX9O3bl/vuu4+5c+fy8ssvM3To0ASXRg0V76amcK/iLSJSG4499ti9zqO+6667eOyxxwBoaWlh8eLF+xTvsWPHMn78eACOPvpoli9fvk/cGTNmsGDBgvfG3377bTZt2gTAeeedt1dL/fTTT0+8cEMNFe9cy3vJknTzEBHp7oq1kLtS//793xueOXMmM2bM4Pnnn6dfv36ccsopec+z7t2793vDdXV1bN26dZ95du/ezaxZs+jTp0/R18w3npSa6bA2ZEi4qdOaiEj3M3DgQN55552Cj2/cuJEhQ4bQr18/Xn31VWbNmtXh1/rIRz7C9773vffG5yV9jKAENVO8Iew6V8tbRKT7GTZsGCeccAJHHnkkn//85/d5/Mwzz2Tnzp2MGzeOm2++mYkTJ3b4te666y5mz57NUUcdxeGHH86UKVMqSb1DzN27/EVLNWHCBJ89e3Zi8S65BH73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\n",
      "text/plain": [
       "<Figure size 576x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "errs = []\n",
    "for w in ws:\n",
    "    errs.append(validation_error(eval_x, eval_y, w))\n",
    "\n",
    "plt.figure(figsize=(8, 4))\n",
    "plot_errors(errs)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## A realistic approach: validation sets"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "N_TRAIN = DATASET_SIZE // 2\n",
    "x_train, y_train = x[:N_TRAIN], y[:N_TRAIN]\n",
    "x_val, y_val = x[N_TRAIN:], y[N_TRAIN:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "errs_train = []\n",
    "ws_train = []\n",
    "errs_val = []\n",
    "for i in range(20):\n",
    "    w, err = least_squares(polynomial_features(x_train, i), y_train)\n",
    "    errs_train.append(err)\n",
    "    errs_val.append(validation_error(x_val, y_val, w))\n",
    "    ws_train.append(w)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Degree 4"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,4))\n",
    "plt.subplot(121)\n",
    "plot_polynomial(ws[4], color='blue')\n",
    "plt.scatter(x_train, y_train, color='green')\n",
    "plt.title(\"Training data\")\n",
    "plt.subplot(122)\n",
    "plot_polynomial(ws[4], color='blue')\n",
    "plt.scatter(x_val, y_val, color='green')\n",
    "plt.title(\"Validataion data\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Degree 19"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x288 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(12,4))\n",
    "plt.subplot(121)\n",
    "plot_polynomial(ws[-1], color='blue')\n",
    "plt.scatter(x_train, y_train, color='green')\n",
    "plt.title(\"Training data\")\n",
    "plt.subplot(122)\n",
    "plot_polynomial(ws[-1], color='blue')\n",
    "plt.scatter(x_val, y_val, color='green')\n",
    "plt.title(\"Validatiaon data\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Quantitative"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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2jm3a2PbZXXyrqioYPLkqEc4iYiItA0zS3l1w0RqNhcREckxSt4iIiI5RslbREQkx2T1OW8REckN1dXVLF26lC1btkRdlJxQUlJC3759KS4ubnzjJJS8RUSkxZYuXUrnzp2pqKig/g3qpCHnHGvWrGHp0qUMGDCgWTHUbC4iIi22ZcsWysvLlbgzYGaUl5e3qJVCyVtEREKhxJ25ln5W+ZO8770X7r8/6lKIiIi0WP4k74kT4c47oy6FiIi0gnXr1vGnP/2pWc899thjWbduXcglal35k7wrK2HOnKhLISIirSBd8q6pqUn73BdffJFddtkl1PI0fM3GytBU+dPbPBaDtWv91K1b1KUREZEQXXvttcyfP5/hw4czevRojjvuOH7605/StWtXZs2axZw5czj55JNZsmQJW7Zs4fLLL2fcuHHA9ktxb9y4kWOOOYZDDz2Ud999lz59+vDss89SWlpa77Wqqqq4+OKLWbx4MQC/+93vOOSQQ5gwYQLz589nwYIF9O/fn6OPPpqnnnqKjRs3Ultby1tvvRXa+82f5F1Z6f/OnQsHHRRtWUREdmLjx8O0aeHGHD4cfve71OtvvPFGpk+fzrTghd98802mTp3K9OnTtw3Huu++++jWrRubN2/mwAMP5LTTTqO8vLxenLlz5/Lwww9z9913861vfYsnn3ySs88+u942l19+OVdccQWHHnooixcv5uijj2bmzJkAzJgxg3/+85+UlpZy//33M3XqVD7++GO6hVxpzJvk/Zd3Y5wLvulcyVtEZKc3cuTIeuOob731Vp5++mkAlixZwty5c3dI3gMGDGD48OEAHHDAASxcuHCHuK+99hozZszY9viLL75g48aNAJx44on1auqjR48OPXFDHiXvRz4YyNkUUDh3btRFERHZqaWrIbeljh07bpt/8803ee2115g0aRIdOnTg8MMPTzrOun379tvmCwsL2bx58w7b1NXV8d5771FSUpL2NZM9DkvedFgbuEc7FhdU4JS8RUR2Op07d2bDhg0p169fv56uXbvSoUMHZs2axXvvvdfs1zrqqKP4wx/+sO3xtLDPEWQgb5J3LAaz62LUzFCPcxGRnU15eTmHHHIIe+21F1ddddUO68eMGUNNTQ1Dhw7l2muv5eCDD272a916661MnjyZffbZh2HDhnHHHXe0pOjNYs65Nn/RTI0Y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\n",
      "text/plain": [
       "<Figure size 576x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(8, 4))\n",
    "plot_errors(errs_train, label=\"train err\", color='b')\n",
    "plot_errors(errs_val, label=\"val err\", color=\"r\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2. Regularization"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Let's try to recover the same polynomial, but from a different range"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Coefficients:  [0.4, -0.5, 0.3, -0.5, -0.5]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "print(\"Coefficients: \", coeffs)\n",
    "x_range = [100, 110]\n",
    "plot_polynomial(coeffs, x_range=x_range, color='b')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x1154e8cf8>"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "np.random.seed(0)\n",
    "x, y = polynomial_data(coeffs, x_range=x_range, n_data=10000)\n",
    "plt.scatter(x, y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x1147a6438>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAe8AAAEDCAYAAAAcD4w0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzt3Xmc1uP+x/HXNTPtu0raqLSZpn1aUNoVjsoShTZaSInjdOTYsv2cQ5S0StpskaUkpGQJ0UT7pmWiRSXaaO/6/fGZ6Z4yqWm+96zv5+NxP8x85zv3dfUVn/vaPh/nvUdEREQyj4j07oCIiIikjIK3iIhIJqPgLSIikskoeIuIiGQyCt4iIiKZjIK3iIhIJpPhg7dz7mXn3Hbn3LIzuHeIc25RwmuNc25XWvRRREQkLbmMfs7bOXcZsA+Y5L2PScHv9QNqe+9vDVvnRERE0kGGH3l7778Afkt6zTl3oXPuI+fcQufcl865qsn8aifg9TTppIiISBqKSu8OnKUXgdu99z865xoAI4HmiT90zl0AlAc+Taf+iYiIhE2mC97OufzAJcBbzrnEy7lOuq0jMNV7fzQt+yYiIpIWMl3wxqb6d3nva/3NPR2BO9OoPyIiImkqw695n8x7vwfY4JzrAOBMzcSfJ6x/FwG+SacuioiIhFWGD97OudexQFzFObfJOXcbcDNwm3NuMbAcaJfkVzoCb/iMvo1eRETkLGX4o2IiIiJyogw/8hYREZETZegNa8WKFfPlypVL726IiIikiYULF/7qvS9+uvsydPAuV64ccXFx6d0NERGRNOGc23gm92naXEREJJNR8BYREclkFLxFREQymQy95i0ikpEdPnyYTZs2ceDAgfTuimQyuXPnpkyZMuTIkeOsfl/BW0TkLG3atIkCBQpQrlw5ktRaEPlb3nt27tzJpk2bKF++/Fm9h6bNRUTO0oEDByhatKgCt6SIc46iRYumasYm+wTvY8fSuwcikgUpcMvZSO3fm+wRvA8fhuhouPNOWLQovXsjIiKSKtkjeH/xBaxeDSNHQu3aUL8+vPQS7NuX3j0TETlru3btYuTIkendjePi4+OJiYlJl7anT5/Of//737+9Z8KECfTt2zeNehRe2SN4t2gBS5ZAv35QuDAsWAA9e0LJktC7NyxcmN49FBFJsb8L3keOHEnj3qSvtm3bMnDgwPTuRprJHsEboHp1GDYMtmyBSZOgUSMbeb/4IsTGQp06MHo07NmT3j0VETkjAwcOZN26ddSqVYsBAwbw2Wef0bhxY9q2bUt0dPRfRsKDBw9m0KBBAKxbt442bdpQt25dGjduzKpVq/7y/oMGDaJz585cfPHFVKpUibFjxwK2W3rAgAHExMRQvXp1pkyZ8pffveyyy1iUZJmyUaNGLF68mEGDBnHrrbfStGlTKlSowLBhw47f89xzzxETE0NMTAxDhw4FbDRftWpVunXrRuXKlbn55puZPXs2l156KZUqVeK7774DThxVv//++zRo0IDatWvTsmVLtm3blsonnQF57zPsq27duj6sli/3/p57vD/nHO/BXnnzen/rrd7Pn+/9sWPhbV9EMrUVK1Yc/zrxfyFBv/7Ohg0bfLVq1Y5/P3fuXJ83b16/fv36ZH/+zDPP+EceecR7733z5s39mjVrvPfez58/3zdr1uwv7//II4/4GjVq+D///NPv2LHDlylTxm/evNlPnTrVt2zZ0h85csT/8ssvvmzZsn7Lli0ntDdhwgTfv39/7733q1ev9on/P3/kkUf8xRdf7A8cOOB37NjhzznnHH/o0CEfFxfnY2Ji/L59+/zevXt9dHS0//777/2GDRt8ZGSkX7JkiT969KivU6eO7969uz927Jh/7733fLt27bz33o8fP97feeed3nvvf/vtN38s4f/fY8eO9f/85z//ck9GkPTvTyIgzp9BfMw+I+/kREfDc8/B5s3w2mvQtCn8+Se8/DI0bAg1a8Lw4bBrV3r3VETkjNSvX/+0Z4f37dvH119/TYcOHahVqxa9e/dm69atyd7brl078uTJQ7FixWjWrBnfffcd8+bNo1OnTkRGRlKiRAmaNGnCggULTvi9Dh06MGPGDA4fPszLL79Mt27djv/sqquuIleuXBQrVoxzzz2Xbdu2MW/ePK655hry5ctH/vz5ufbaa/nyyy8BKF++PNWrVyciIoJq1arRokULnHNUr16d+Pj4v/R506ZNtG7dmurVq/PMM8+wfPnylD3ETCB7B+9EuXNDp04wd65tbBswAIoVg6VLbZ28ZEno2hW++so+DIuInCRcY++Uypcv3/Gvo6KiOJbkmGziueJjx45RuHBhFi1adPy1cuXKZN/v5CNNZ3rEKW/evLRq1Ypp06bx5ptvcvPNNx//Wa5cuY5/HRkZedr1+aT3R0REHP8+IiIi2d/t168fffv2ZenSpYwZMyZLZsBT8D5Z5crw9NM2Gn/zTWjZEg4cCK2TV6sGQ4fCzp3p3VMRyeYKFCjA3r17T/nzEiVKsH37dnbu3MnBgweZMWMGAAULFqR8+fK89dZbgC2fLl68ONn3mDZtGgcOHGDnzp189tln1KtXj8aNGzNlyhSOHj3Kjh07+OKLL6hfv/5ffrdHjx7cdddd1KtXjyJFivztn6Vx48a89957/Pnnn/zxxx+8++67NG7c+EwfxQl2795N6dKlAZg4ceJZvUdGl6rg7Zwb5Jzb7JxblPC68hT3tXHOrXbOrXXOZY7tgDlzQocO8MknsHYt3H8/lCgBK1fCPfdA6dJw883w+ecajYtIuihatCiXXnopMTExDBgw4C8/z5EjBw8//DD169enVatWVK1a9fjPXn31VcaNG0fNmjWpVq0a06ZNS7aNGjVq0KxZMxo2bMhDDz1EqVKluOaaa6hRowY1a9akefPmPP3005x33nl/+d26detSsGBBunfvfto/S506dejWrRv169enQYMG9OjRg9q1a6fgaYQMGjSIDh06ULduXYoVK3ZW75HROZ+KwOOcGwTs894P/pt7IoE1QCtgE7AA6OS9X3G694+NjfVxcXFn3b/AHT4MM2bYDvWPPw4F7cqV7ehZ165QvHj69lFE0szKlSu56KKL0rsbYTNo0CDy58/Pv/71r7P6/S1bttC0aVNWrVpFRIQmek+W3N8f59xC733s6X43LZ5mfWCt93699/4Q8AbQLg3aDV6OHHDNNfDhh7BhAzz0kI3A16yxdfLSpeHGG2HOHKVjFZFsbdKkSTRo0IAnn3xSgTsMghh5dwP2AHHAvd7730+653qgjfe+R8L3nYEG3vtk09w453oBvQDOP//8uhs3bjzr/qWJI0csmL/4IsycGQraFSrYaLx7d5tuF5EsJ6uPvCW8wjryds7Nds4tS+bVDhgFXAjUArYCz57dHyHEe/+i9z7Wex9bPDNMQUdFwdVXw/vvw8aN8OijULYsrF9v6+RlysANN8Cnn2ptXEREAnHa4O29b+m9j0nmNc17v817f9R7fwwYi02Rn2wzUDbJ92USrqWpceNspjusypSBhx+2hmbOhHbtLGC/9ZalaK1SBZ59VjvVRUQkVVK727xkkm+vAZYlc9sCoJJzrrxzLifQEZiemnZTat066NEDLrwQWreGqVPh0KEwNhgZCVdcAe+9FxqNlykDP/4I//qXrY137gzz5mk0LiIiKZbaXQRPO+eWOueWAM2AewCcc6WcczMBvPdHgL7Ax8BK4E3vfZqmu/HeTnXlzAmzZtkJsLJl4d//tr1mYVW6dGg0Pm2aBfVDh+CVV6BxY8u5rixuIiKSAqkK3t77zt776t77Gt77tt77rQnXt3jvr0xy30zvfWXv/YXe+ydT2+mUqljRYuWWLZZfpVo12L4dnnnGZrKbNbPsqGFNwhMVBW3b2nT6+vXwn//YRrblyy2LW6lScNttVvFMo3ERCYMJEyawZcuW49/36NGDFStOe2r3tOLj43nttddS/HvdunVj6tSpqW4/PUt9Pvzww8yePftv7wnqz5lUttq/f8450L+/ZT396ivo1g3y5IHPPrOReenSln8lgL/Lf69cOXjySfjpp9B6+P79llO9fn2oW9d2r6veuIgE6OTg/dJLLxEdHZ3q9z3b4J0VPPbYY7Rs2TLN281WwTuRc3DJJTB+PGzdCiNHQq1a8NtvoZH5pZfCxIlWpyRscuaE66+H2bMtp/q990LRovDDD1ZnvFQpuOMOOEXaQhGRV155hfr16x8vMHL06FGOHj1Kt27djpfsHDJkCFOnTiUuLo6bb76ZWrVqsX//fpo2bUpiIqz8+fMzYMAAqlWrRsuWLfnuu++Ol+2cPt22KcXHx9O4cWPq1KlDnTp1+PrrrwErTfrll19Sq1YthgwZwtGjRxkwYAD16tWjRo0ajBkzBrA0rH379qVKlSq0bNmS7du3J/tnatq0Kf3796dWrVrExMQcL/v522+/0b59e2rUqEHDhg1ZsmTJCb+3d+9eypcvz+HDhwHYs2fP8e+bNm3KfffdR/369alcufLxoicHDhyge/fuVK9endq1azN37lzAPui0b9+eVq1aUa5cOYYPH85zzz1H7dq1adiwIb/99htw4qj6scceo169esTExNCrVy9ScxT7tM6k9Fh6vcJeEjSJY8e8X7DA+169vM+fP1QWoFAh7/v08f6HH9KoI/v3e//KK943anRifYKGDb2fMMH7P/9Mo46IyOmcUNIxHWqCrlixwv/jH//whw4d8t57f8cdd/iJEyf6uLg437Jly+P3/f77795775s0aeIXLFhw/HrS7wE/c+ZM77337du3961atfKHDh3yixYt8jVr1vTee//HH3/4/fv3e++9X7NmzfEyn3PnzvVXXXXV8fcdM2aMf/zxx7333h84cMDXrVvXr1+/3r/99tvHS4lu3rzZFypUyL/11lt/+XM1adLE9+jRw3vv/eeff368zGjfvn39oEGDvPfez5kz53i/kpb67Natm3/33XeP9yOxHGiTJk2Of/3BBx/4Fi1aeO+9Hzx4sO/evbv33vuVK1f6smXL+v379/vx48f7Cy+80O/Zs8dv377dFyxY0I8aNcp77/3dd9/thwwZ4r33vmvXrsf/DDt37jz+Z7jlllv89OnT/3LPyf/+ToZKgqaMcxAbC2PG2Gh87Fibwd6920bmtWvb92PHwt/UAUi93LltDv/LL2HZMlsPL1QI5s+3ef5SpeDuuy3Huohka3PmzGHhwoXUq1ePWrVqMWfOHNavX0+FChVYv349/fr146OPPqJgwYKnfa+cOXPSpk0bAKpXr06TJk3IkSPHCWU3Dx8+TM+ePalevTodOnQ45Xr5rFmzmDRpErVq1aJBgwbs3LmTH3/8kS+++OJ4KdFSpUrRvHnzU/anU6dOAFx22WXs2bOHXbt2MW/ePDp37gxA8+bN2blzJ3v27Dnh93r06MH48eMBGD9+/Al51a+99lrAcq4n/pnmzZvHLbfcAkDVqlW54IILWJOwk7lZs2YUKFCA4sWLU6hQIa6++urjzye5UqRz586lQYMGVK9enU8//TSspUgVvJORP78dLfv2W5ux7tvX4ueCBdCrl8XPnj3TYG9ZtWowbJhVOBs3zj497NoFzz9vtcibNoXXX4eDB8PYCRE5I+lQE9R7T9euXY+X9Vy9ejWDBg2iSJEiLF68mKZNmzJ69Gh69Ohx2u7nyJHjeLnPU5XdHDJkCCVKlGDx4sXExcVx6BRnbr33vPDCC8f7tWHDBi6//PKUPM2zLkV66aWXEh8fz2effcbRo0eJiYk5/rPEP9OZlCFNej+cvhTpgQMH6NOnD1OnTmXp0qX07NkzrKVIFbxPo0YNeOEF26k+caJVBd23D156yWJp7dowYkSYT3rlywe33mqfJhYutE8Q+fJZRbObbrIz5PfdZwfaRSTbaNGiBVOnTj2+dvzbb7+xceNGfv31V44dO8Z1113HE088wffffw+cvoTo6ezevZuSJUsSERHB5MmTOXr0aLLv27p1a0aNGnV87XnNmjX88ccfXHbZZcdLiW7duvX4+nJypkyZAtjIuFChQhQqVIjGjRvz6quvAvDZZ59RrFixZGcVunTpwk033XRG1cySvueaNWv46aefqFKlyhk+kZDEQF2sWDH27dsX+O7ykyl4n6G8eaFLF5vNXrHCdqUXLRoamZcqZbPaX30V5tF4nTo2t79lC4waZZ8ufv3VapBXrAiXX27JYc7gU6WIZG7R0dE88cQTXH755dSoUYNWrVqxdetWNm/eTNOmTalVqxa33HILTz31FGCbq26//fbjG9ZSqk+fPkycOJGaNWuyatUq8uXLB1jZ0MjISGrWrMmQIUPo0aMH0dHR1KlTh5iYGHr37s2RI0e45pprqFSpEtHR0XTp0oWLL774lG3lzp2b2rVrc/vttzNu3DjAqpwtXLiQGjVqMHDgwFPW6r755pv5/fffj0+9n+7PdOzYMapXr86NN97IhAkTThhxn6nChQvTs2dPYmJiaN26NfXq1Uvxe6REqgqThFuGKwl6koMH4d13bR38009D16OjbVq9c2cL8GHlvY3IR4+GKVNCh9XLlLEd6z16QDJ1dkUk9VSYJDyaNm3K4MGDiY09bX2OZE2dOpVp06YxefLkgHsWrIxeEjTLypULOna0CqA//mgz1yVKhEbmpUqF9p6F7TOSc9CwIUyYYKPxIUOgUiXYtMlKlpYta538/HMlfxGRLK9fv34MHDiQhx56KL27ElYaeQfs8GErMDZ2LHz8cSheXnSRDYS7dIEiRcLciWPHbCpg5EhLyZpYpjQ6Gvr0sSmBM9h9KiJ/TyNvSQ2NvDOQHDng2mutxPf69fDAAzZrvXKlnfBKXBufPz+MA+GICGjZEt55B+LjbQSeOCXQt6+lkrvjDks1JyKpkpEHQJJxpfbvjYJ3GJUrB088YVlQp061eHrggO1av/hiy+o2ahScdEwxWGXLwmOPWSemTIEmTWy7/OjRttmtcWMdNxM5S7lz52bnzp0K4JIi3nt27txJ7ty5z/o9NG2extautbTl48fbJnGwU1+dOsHtt1ta87Bbvtw+NUyaFMo4c+65trmtVy+44II06IRI5nf48GE2bdoU1vO8kjXlzp2bMmXKkCNHjhOun+m0uYJ3OkncqT56tO0lS1S3rgXxjh0tWUxY7d1r5dRGjAhNoUdEwFVX2dr45Zfb9yIikiYUvDORVatsND5hAvz+u10rUMD2lfXubbPbYeU9fP21bXB76y3bdQdw4YX2SaJ79zQ48yYiIgremdD+/bY2Pnq0xdJEF19sQfyGG6yEaVht22alSUePtnVyCJ2J69MH6tWz42kiIhI4Be9MbulSS6Q2eXJoQ1vhwtC1qwXysJ9OOXoUZs600fhHH4Wu161rQbxjR0s7JyIigVHwziL++MM2iY8ebYVQEl12mQXx666zgXFYrVtnHXj5ZSt6DvZJont3m1avXDnMHRARyR4UvLOg77+30firr1pQByhWzM6N9+plidXCav9+WxMfOdJSsiZq1crOj191FURGhrkTIiJZl4J3FrZnj20SHzMGFi0KXW/Rwkbj7dtbspiwWrjQjpu99poFdbCD7X36WAU0bXATEUkxBe9swHubSh89Gt54IxRDS5a0wig9e1p9krD67Tc7tD5ypKWUA8id20qV9u1rNVNFROSMKHhnM7t22ea20aMtCyrYDHbbtpYJtUWLMB/ZPnrUNrYNH37iBrdLLrEgft11kDNnGDsgIpL5KXhnU97DF1/YQPidd0JlvStVsr1l3brBOeeEuRM//mgdePnl0Fb5EiVsTr93b0vwLiIif6HgLfzyC7z0kiWA+flnu5Y794lHtsNq3z7bXTd8OCxbZteiomwU3rcvXHqpzoyLiCSh4C3HHTkCH3xg+8s+/jh0Pc2ObCdOB7zwArz3nk2xA9SsaUH8ppt0ZlxEBAVvOYW1a22X+slHtrt1s2n1KlXC3IGff7YOjB0L27eHOnDbbbY4f+GFYe6AiEjGpeAtf2v/fnjzTRuNJz2y3aKFjcbbtrUZ7rA5eNDOjA8fHuqAc3DllTYaV1EUEcmGFLzljH3/vQXxV18NHTcrVcoSv/TsmQb7yxYssMpmb7wRqitesSLceadNCRQuHOYOiIhkDArekmK7dlmJ75EjYfVquxYZaUlf7rgDmjcP8/6yHTtg3DjrQOIOu3z54JZbLJBXrx7GxkVE0p+Ct5w172HuXBuNv/tuaH9ZlSq2Lt61KxQpEsYOHDkCM2bYlPqcOaHrTZpAv37Qrl2Y5/RFRNJHmgRv59wgoCewI+HSf7z3M5O5Lx7YCxwFjpxJx0DBOyPYssWOm40ZY1+DlSXt1MnWxuvWDXMHVqywkfjEiXb0DCxtXJ8+NqdfrFiYOyAiknbSMnjv894PPs198UCs9/7XlLy/gnfGceQIvP++xdHZs0PX69WzGe0bb7Qz5GGzZ4/N6Q8fHprTz50bbr4Z7roLatQIY+MiImnjTIO3tvPKGYmKgmuugU8+sdh5zz22j2zBAttTVqYM3H8/bNwYpg4ULGi70FessPSrV14JBw7YGnnNmtC0qc3xJ6aUExHJwoIYeXcD9gBxwL3e+9+TuW8D8DvggTHe+xf/5j17Ab0Azj///LobwxYNJLX+/NM2iA8fDj/8YNciIuDqqy3OtmgR5g1ua9ZY4+PHh6bUL7jApgJuuy0N8sCKiAQrsGlz59xs4LxkfvQAMB/4FQvKjwMlvfe3JvMepb33m51z5wKfAP2891+crnOaNs8cvIf58y2OvvUWHD5s16tWtTjapYsNnMNmzx6YMMEyuK1da9fy5LGG+/WDatXC2LiISHDSfLe5c64cMMN7H3Oa+wZxBuvkoOCdGW3bZsnTRo+GzZvtWv78FkfvvBOio8PY+LFj8OGHMGwYzJoVut6iBfTvb1PtkZFh7ICISOqkyZq3c65kkm+vAZYlc08+51yBxK+By5O7T7KGEiXgwQdhwwYbhTdpYjPaI0faALhFixOrnQUqIgKuusoSuC9fbofT8+a142Zt20LlyjBkiB1oFxHJxFK75j0ZqIVNm8cDvb33W51zpYCXvPdXOucqAO8m/EoU8Jr3/skzeX+NvLOGZcssgdrkyfDHH3atTBmLrT16wLnnhrHxXbsskfsLL0B8vF3Ll8922fXta3P7IiIZhJK0SIaze7cd1x4+3Ep+A+TMCTfcYHG0fv0wbnA7etQSvwwbBp9+GrreurVNqbdurVzqIpLuFLwlwzp2zM6KDx9u8TTxr2BsrAXxsJ8ZX7rURuKTJ9txM4BKlWxzW9euYd5dJyJyagrekils2GCb2156KVSitGhRm06/4w47+RU2O3dawyNGhHKpFygA3btbIK9YMYyNi4j8lYK3ZCr798OUKTYg/v57u5ZmZ8aPHIFp0+D55+HLL+1aYnnSu+6CVq3CfGBdRMQow5pkKnny2B6yuDj45hvLehoZaTG1VSu46CIL7Hv2hKHxqCi47jr44gv75NC9uy3Gf/CBrYVXq2bJ3f/8MwyNi4iknEbekmFt22az2qNGnXhmvGvXNNgovmOHHVgfMSJUkeWcc6B3bzuwXrp0GBsXkexK0+aSZSTOao8YYaVKE7VubbPabdqEcaP44cMwdaqdD1+wwK5FRdkW+XvusV12IiIB0bS5ZBmJs9qffmobxXv3tmn2jz+2nCxVqthy9e7dYWg8Rw6rf/rtt/DVV3D99bZd/rXXrKRao0bw9tsqiCIiaUojb8mUfvvNcq8MHx6qZJY/fyj3SpUqYWx840ZbgB87NrQIf8EFNg1w221QqFAYGxeRrEzT5pItHD1qdcaHDTtxSr1NG4ulYc29snevFUR5/nlYt86u5c9vG97694cLLwxTwyKSVWnaXLKFyEho396m1JcsgZ49bUo9seR31aph3KVeoICdB1+9GqZPh2bNLJH7Cy9Y0pf27eGzz0JZaEREAqKRt2Q5O3fCuHG2we2nn+xaYu6Vvn0trobN4sUwdKitiR86ZNdq1YK774aOHSFXrjA2LiKZnabNJds7csQGxMOGweefh64nzb0Stin1X36x1HEjR9qxM7CSa336wO23h7kai4hkVgreIkksWWKz2a+8EkpnXqWKzXp36WIj87A4cABef91G40uW2LVcuSwLzd13Q/XqYWpYRDIjBW+RZCSXzrxgwdCUetjSmXtvO+qGDj2xGkuLFnZe/IorVNVMRLRhTSQ5RYvCfffB+vWWe+Wyy2wz2/PPQ+XK8I9/wKxZYdhj5hw0b27z+KtX2yeFfPlgzhxr9KKLbIo9seC5iMjf0Mhbsr1Fi2xK/dVX4eBBu1a1amhKPX/+MDX8+++2s+6FF0I76woXhl69rPEyZcLUsIhkVJo2F0mhX3+1vCsjR8KmTXatYEErT9q3L5QvH6aGjxyBd9+1FKzffGPXoqKssPm990Lt2mFqWEQyGk2bi6RQsWJw//1WY/ytt6BxY5tSf+45Wwu/7jqrGBr4592oKOjQAb7+GubPt6DtvU0F1Klj58dnzLC0rCIiKHiL/EVUlKUw/+ILWLjQps4jI+Gdd2yNPDYWJk8OHeMOVIMG8MYbsHatbWQrUMASvVx9tZUmffFFK34uItmaps1FzsAvv1hp0lGjQse2zzvPqoP27g3Fi4ep4d27bXv888+HtscXK2bnxe+8U+fFRbIYrXmLhMGBA5Y8behQq3AGdmz7llssnXnYjm0nliZ99lmbDkhsuHNnG6FHR4epYRFJS1rzFgmD3Lnh1lstC+qcOTabfeiQbRqvUQNatgzT8nRiadIFCyxdXNu21vBLL9l0+pVXWocy8IdxEQmOgrfIWTj52Ha/fqFj21dfbUfNRoywOiWBN3zZZTBtGqxaZalW8+SBDz+0Tw61a8OkSWFakBeRjELT5iIB2bUrdGw7scZ4oUJW6axvXyv5HRa//mp51IcPh23b7FqpUvaJondvKFIkTA2LSNC05i2STo4csYHx0KEwb55di4iAa6+1dOaXXGID6MAdPGgL8s89B8uW2bW8eW2e/+67VV9cJBPQmrdIOomKCp0JX7DAapBERNh+s0aNoH79EyuGBiZXLkvSvmQfnNIkAAAgAElEQVSJFTS//HL4808bkVeqZJ366iuti4tkAQreImEUG2uVzDZuhAcesNzqcXEW0MuXh//7P5v1DpRz0Lo1fPyxBfJu3ewTxTvv2KeHiy+2LDRHjgTcsIikFU2bi6Sh/fstcdrQobB8uV3LndtOfPXvbxvHw2LrVttBN2oU/PabXStXzhq97bYw1kQVkZTQmrdIBuY9zJ5tQXzmzND1Vq3s2HabNmFaF//jD5g40fKor11r1woXtl3rd90FJUuGoVEROVNa8xbJwJyzQP3BB3biq08f21v2ySd2ZDsmxo5wHzgQcMP58lljq1bBe+9ZAvddu+C//7WR+G23wcqVATcqIkFLdfB2zvVzzq1yzi13zj19invaOOdWO+fWOucGprZNkaykShWb0d60yWJo6dKwYoUdMTv/fHj0Udi+PeBGIyOhXTtL4D5/vm1mO3wYXn7ZsrVdfbX9LAPPzIlkZ6maNnfONQMeAK7y3h90zp3rvd9+0j2RwBqgFbAJWAB08t6vON37a9pcsqPDh+HNNy0T6g8/2LVcuaxAyj33wEUXhanhtWvtmNn48aEhf/36MGAAXHONBXwRCau0mja/A/iv9/4gwMmBO0F9YK33fr33/hDwBtAule2KZFk5cthu9IULYe5cGwQfPGi1xqOjw5gJtWJFK2b+00/wyCO2Nf6776xcaZUq9rM//wy4URE5G6kN3pWBxs65b51znzvn6iVzT2ng5yTfb0q4JiJ/wzlo2tRSsCaXCbVWLdt7Fvh58eLFYdAgC+IjRkCFCrBunVUxu+AC+1liaTURSRenDd7OudnOuWXJvNoBUcA5QENgAPCmc6nbI+uc6+Wci3POxe3Q/yBEABv4jhpl8fSJJ6BEidAR7nLl7Lx44gmwwOTNa5vb1qyxc+H169uh9EcftcX4Pn1CO9ZFJE2lds37I+B/3vu5Cd+vAxp673ckuediYJD3vnXC9/cDeO+fOt37a81bJHkHD8Lrr9u6eNJMqN26WSbUSpXC0Kj3ljbumWesdBrY9MC119q6eIMGYWhUJHtJqzXv94BmCQ1WBnICJ+eLWgBUcs6Vd87lBDoC01PZrki2liuXBeolS2DWLEuo9ueftixdpQq0bx+GzeKJFc3ef98yzNx6qy3Qv/02NGwY+lng9VBF5GSpDd4vAxWcc8uwjWhdvffeOVfKOTcTwHt/BOgLfAysBN703i9PZbsiQui8+EcfwdKloXg6bRo0aWIz3a+/bjvYAxUdbSXU4uNh4EArn/bll1ZnvFo1+1ngh9RFJJEyrIlkMdu22Qh85MhQ3vSyZS2BWo8ellAtcHv3WlaZIUPg54T9qSVKWKN33KGypCJnSOlRRbK5/fth8mQ7ur16tV3Ln9+SqPXvb4VRApd4SP2ZZ2DxYruWL599arjnnjAWNRfJGpQeVSSby5MHevWybG0zZkDz5rBvHzz/vB3p7tABvvkm4EYTD6n/8IMtxrdqZfnUn3/e6onfdFMoqIvIWVPwFsniIiLgqqssscsPP1gFs8T64pdcApdeamnOA91nlrgYP2uWNXrzzXb99dftgHqbNvDZZ0q/KnKWFLxFspFatWDSpNA+s8KF4euvLftp1aowZoxNtwfe6CuvwPr1do4tXz6rNd6sme1Sf+cd7VAXSSGteYtkY/v22cbwIUNg40a7Vrw49O1rOViKFQtDozt3Wua2YcPsa4DKle2seOfOdg5OJJvShjUROWNHjtg0+jPPwPff27U8eezo2T332HJ14P7806qYDR4c+uRQsqQ12Ls3FCwYhkZFMjZtWBORMxYVBR07QlycrY1fcYVNn48YYYPiDh3g228DbjRvXhvi//ijTatXrw5bt8K//23pV++/H375JeBGRbIGBW8ROc4525U+c6Ylfena1SqBTp0axiRqiTvUFy+2hps0gd27rbh5uXJWkUU51EVOoOAtIsmKiYEJE2DDBhsMFyx4YhK1l14KOImaczbk/+wzmD/fdtEdOmS76KpUgRtusDqpIqLgLSJ/r3Rp+N//LHHas89atrZVq6BnTxsYP/lkGCqaNWhgu9BXrLCF98hIq2wWG2v1UGfP1jEzydYUvEXkjBQsCP/8p5X2fuUVqFnTUrE++GAo/eqGDQE3WrWqbYffsAHuvddSxM2ZY2fIY2Mtm9vRowE3KpLxKXiLSIqcnETt8stt4/gLL1jmtsSNb4EqXdp2pf/0kw31zz3XtsXfeKNNqY8Zo0Iokq0oeIvIWUlMovbxx7BoUShz25QpUK+e5WD54IOAN7cVKQL/+Y9lmRk1CipUsKmA22+3OfynnoJduwJsUCRjUvAWkVSrWdMyt61fb7PbBQrYvrN//MNOgI0fDwcPBthgnjwWsNessU8LtWvbHP5//mPHzAYMgC1bAmxQJGNR8BaRwJQta7PbP/8MTz9ts92Je87Kl7fTX7t3B9hgZGRoF/qsWdCihZUnHTzYRuI9etg5cpEsRsFbRAJXqJANftevh4kTQ/lX7r/fAvy//x3wwDhxDn/2bFiwAK6/3tLGjRtnm95uvNHm9kWyCAVvEQmbnDmhSxfLv/Lhh7YOvnevpWEtX94Gxom1xgMTG2vHylavtgYiI21Xeu3acOWVMG9ewA2KpD0FbxEJO+esCuinn1qa1euug8OHbWB80UVw7bVhSL9aqRKMHWvD/3vusXSsH34IjRtbqrgPP9RZccm0FLxFJE3Vr2/pVhMTveTIAe++a+lXmza1DKmBxtQyZeC556z4ycMPWx3UL7+0UXidOjorLpmSgreIpIvKleHFF+3U1333WRKYzz+Hq66y3euvvGKj88AUKwaPPmpnxZ9+Gs47z9bBb7zRhv/jxlk6VpFMQMFbRNJVyZK2C/2nnywNa8mSVhSlc2dL+jJsGPzxR4ANFihgu+k2bLCz4uXL2470Hj2s9unQoQE3KBI8BW8RyRAKFbJd6Bs2WNGTKlUsoPfvDxdcAIMGwa+/Bthg7tyhs+KvvGKVWDZtsvXxCy6Axx+H338PsEGR4Ch4i0iGkisX3HabnQ9/5x2rUbJzp814n3++5VCPjw+wwaioUEnSadNCDT78sDV4332qKy4ZjoK3iGRIERFWFfSbbyxb2xVXwP79oRzqifE20AbbtrUGP/3Uzo3v22fr4+XKwR132M51kQxAwVtEMjTnoEkT24W+eLEFbYDXXoNatUIlwAPboe6cHUifNQu++84+QRw8CKNH2y67W26BZcsCakzk7Ch4i0imUaOGLU+vW2fT53nzwkcfWaxt2NCm2QM99VWvnr3p8uWWbQbg1VctZVz79mE4nC5yZhS8RSTTueACeP5529A2aBAULWqD5Ouug+ho2/AWaCGU6GjL87p2Ldx5p212mzbNPjG0aGFpWZXwRdKQgreIZFpFi8Ijj1j+lWHDLKivWWPJX8qXtzSse/cG2GC5cjB8uO2YGzjQjp0lro83aGABPdAaqCLJU/AWkUwvXz7o18+Oa7/6qk2vb91qR8/OPx8eegh27AiwwRIlrHb4Tz/Bk09C8eJWEKV9e8sw88YbytomYaXgLSJZRo4ccNNNljht5kxLY75rFzzxhI3K+/e3cqWBKVzYaojHx1tyl9KlbTNbp0421T5hQsBp4kSMgreIZDnO2S70L74IpTHfv9+m1itUgO7dLbd6YPLmtU8G69bBmDE2Z79mjTVUqZJlcjtwIMAGJbtLdfB2zvVzzq1yzi13zj19invinXNLnXOLnHNxqW1TRORMNWoEH3xgo/GOHW1JesIEGxhffz0sXBhgY7lyQa9eFrgnTbJa4hs3Qp8+9qlhyBClXpVApCp4O+eaAe2Amt77asDgv7m9mfe+lvc+NjVtioicjZo14fXXrcx3r142xf7221b+u3XrgM+KR0VZcvZly6xqWeIi/D//aZvennoK9uwJqDHJjlI78r4D+K/3/iCA93576rskIhI+FSvazPaGDXDvvbbZbdYsOyt+ySUwfXqAG8YjI6FDBxv2T59u9VB//dXWyS+4wLbK79wZUGOSnaQ2eFcGGjvnvnXOfe6cq3eK+zwwyzm30DnX6+/e0DnXyzkX55yL2xHo9lARkZBSpWDwYNsw/uijduxs/nxo1y6UDObIkYAacw6uvtoa+OQTSxm3axc89pgF8X//W/nTJUWcP808kXNuNnBeMj96AHgSmAvcBdQDpgAV/Elv6pwr7b3f7Jw7F/gE6Oe9/+J0nYuNjfVxcVoiF5Hw++MPGDvWAvrmzXatXDmrHtq9O+TJE3CD8+bZMbOPPrLvc+e2A+oDBkDZsgE3JpmFc27hmSwvn3bk7b1v6b2PSeY1DdgEvOPNd8AxoFgy77E54Z/bgXeB+in9A4mIhFO+fHD33VZ7ZNw4S2MeH28J1cqXt1rjgS5TN2oEH34YOh9+4IBVXbnwQluUX7cuwMYkq0nttPl7QDMA51xlICdwQsVd51w+51yBxK+BywFl9ReRDClnTrj1VitJ+uabULs2bNtmCdXOPx8eeAC2B7m7JzYW3n0Xliyx7fBHjtgUQOXKtult5coAG5OsIrXB+2WggnNuGfAG0NV7751zpZxzMxPuKQHMc84tBr4DPvDef5TKdkVEwipxr9nChTaz3aQJ7N4N//d/Np3er5+dAgtM9eq2HX7lSujWzUqUvvIKVKsW2vQmkuC0a97pSWveIpKRfP21nfKaMcO+j4qyEqX33QcXXRRwY/HxVkt83Dg4dMiuXXUVPPigFUSRLCmwNW8RETGXXALvv28z3DfdZEfKJk60wfF118H33wfYWLlyMHKknWm75x7bMffBB3DxxdCyJXz+eYCNSWaj4C0ikkLVq1sBlB9/hNtvt3Xyd96BunUtFetXXwXYWKlS8NxzNkd///1WyWzOHGja1Oby58xROdJsSMFbROQsVahgacsTE77kzWsbyBs1sqQvgcbV4sVtwX3jRjuYXqSIJW9v2dIa/PhjBfFsRMFbRCSVSpa08+EbN9qSdMGClm61ZUub5Z4xI8C4WqQIPPywrYk/+SScc44txrdpY43NnKkgng0oeIuIBKRYMXj88VCZ76JF4dtvLbla7drw1lsBlvkuWDBUjvR//7OR+bff2qa2evUsHauCeJal4C0iErBChSyubtxoy9UlS8LixXDDDba5bdKkAMt8Fyhg6VU3bLDhf4kSdr6tXTuoU8cW4wNL1i4ZhYK3iEiY5MtnG8XXr7e18XLlrKpZ166Wg2XMGDh4MMDG7r3XGhs61D4xLFpk2+Br1bJhv4J4lqHgLSISZrlz2670NWuslniVKjbbffvttult6NAAy3znzQv9+1sQHz4cypSBpUtt2J+YCCawuXtJLwreIiJpJEcOG3UvXw5Tplj1si1bbHSeWOZ79+6AGsud2xKzr10Lo0dbbtcVK+yAerVqAZdNk7Sm4C0iksYiI20gnFjmu0GDE8t8P/xwgGW+c+WC3r3tUPrYsVZlZfVqy5t+0UU2FRDYArykFQVvEZF0kljm+5tvrMx306Y28n78cQviAwYEWOY7Z07o0cMC9/jxULGijcq7d7d5/JdeCqVhlQxPwVtEJJ05Z2fC5861Mt9XXGFr4IMH23R63752/CwQOXJY4ZOVK2HyZAvcGzZYLfHAd9FJuCh4i4hkIJdeanlW4uLg2mstjo4YYWW+b7vNZr8DERUFt9xiC/CvvWZT6Bs32i66ihWt0QMHAmpMgqbgLSKSAdWtC2+/DcuWWeWyY8fg5ZehalXbc7Z8eUANRUZCp07W0JtvQkwMbNpkw/0KFeD552H//oAak6AoeIuIZGCJG8NXr7Yl68hIO+1VvbqV+V6yJKCGIiLsDRcvtk8NNWvC1q1w992h82wK4hmGgreISCZQsaJtFl+3zk6A5cgBU6dajL3mmgDLkUZE2Hz9Dz/AtGk2BfDLL3aeTSPxDEPBW0QkEylb1nKvrF9vuVhy54b33rMYe/XV8N13ATXkHLRtCwsW2Hm2OnUsiN99ty3ADxumIJ6OFLxFRDKh0qVtJnvDBvjXvyyx2owZdmb8iius0FggEs+zxcXZSLx2bZtO79/fgvgLL2hjWzpQ8BYRycTOOw+eecbSrQ4cCPnzw0cf2a71li2t5HcgEkfiCxfaUL9WLQvid91lQXz4cAXxNKTgLSKSBRQvbulV4+NDNcXnzIEmTSz5y6efBlQh1DmrWPb99/Duu7bovmUL9OunI2ZpSMFbRCQLKVrUMrRt3AiPPgqFC8Pnn0OLFtCoEXz8cYBBvH17C+LvvGOJ2jdvtiNmFSvCyJFK9hJGCt4iIllQ4cKWI33jRnjySTjnHFsHb9MGGjaEDz4IKIhHRNh29x9+sCNmiUH8zjstiI8apSAeBgreIiJZWMGCVvAkPh7+9z+bXv/uO/jHPyA21pavAynznfSI2dSpdhB90ybo0wcqVbLKZgrigVHwFhHJBgoUgH//23anP/ecbXT7/nsbNNeubfE2sCB+3XVWMu2ttyxj288/wx13WBAfM0YFUAKg4C0iko3ky2f5Vtavt6PapUtblrYOHWyw/MYbcPRoAA1FRMD111vGtjfftFRxP/9sudMVxFNNwVtEJBvKk8c2iK9bZ8vS558PK1ZYmvPElKxHjgTQUGLa1SVLYMoUiI62EmmJQfzFFxXEz4KCt4hINpYrl8XRH3+09Kvly1se9c6drQjK+PFw+HAADUVEwA03wNKlNry/6CIL4r17WynSsWMDaih7UPAWERFy5rTCJ6tXw4QJtlF83Tq49dYwBPEbb7Qg/vrroVKkvXpZEH/pJQXxM6DgLSIix+XIAV27wsqVNnVepYqtjwcexCMjoWNHC+KvvWZvHh8PPXva15MmBTRvnzUpeIuIyF9ERVkd8eXLLYhXrhwK4hddZKPzQGJr0nrir74aaqhrV9up/vrrAW2Dz1pSFbydc1Occ4sSXvHOuUWnuK+Nc261c26tc25gatoUEZG0ExlpQXzFilAQX7cOune3AXKgQfymm+zTwoQJocX3m26yxC9vv60gnkSqgrf3/kbvfS3vfS3gbeCdk+9xzkUCI4ArgGigk3MuOjXtiohI2kqzIB4VZaPu1attJ3rZshbQr7/e6p6+/35AqeEyt0CmzZ1zDrgBeD2ZH9cH1nrv13vvDwFvAO2CaFdERNJWYhBfvhwmTw5jEM+Rw9a/f/zRKpaVLGmJX9q2tfyugSVpz5yCWvNuDGzz3v+YzM9KAz8n+X5TwrVkOed6OefinHNxO3bsCKh7IiISpKgouOWWUBCvVOnEID5xYkBBPFcuy5O+bh0MGQLnnmv5Xdu0gcaNYe7cABrJfE4bvJ1zs51zy5J5JR09dyL5UXeKee9f9N7Heu9jixcvHsRbiohImCQG8RUrTgzi3boFHMTz5IG777bNbP/7n5VP++oraN7cXvPmBdBI5nHa4O29b+m9j0nmNQ3AORcFXAtMOcVbbAbKJvm+TMI1ERHJIpIG8UmTwhjE8+ULJWl//HErnzZ3ro3CW7e2UXk2EMS0eUtglfd+0yl+vgCo5Jwr75zLCXQEpgfQroiIZDBRUZadLexBvEABePBBC+IPPWTfz5oFDRrA1VdbdbMsLIjg3ZGTpsydc6WcczMBvPdHgL7Ax8BK4E3v/fIA2hURkQzq5CCemLGtWzc7Jx5YDpbCheGxxyyIDxwIefPCjBlQp45VN1u2LIBGMh7nM/BuvdjYWB8XF5fe3RARkVQ6csQSqT3+OKxda9cqVrRB8003WbAPxPbttiY+ciQcOADOWTrWRx6xoX8G55xb6L2PPd19yrAmIiJhFxUFXbpY2tWJEy1wr11rR7oDHYmfey48+6wN8/v2tSNnb7xhpdK6dLHrWYCCt4iIpJnTBfHJkwOqJ16qFLzwgp0T79XLCqJMnmzJ2nv0sGIomZiCt4iIpLmkQXzCBLjwQgviXbpYSvMpUwLKhnr++TBmDKxZY4fQAcaNs510ffrA5sx5+EnBW0RE0k1iNtRVq6xiWfny9nXHjlCzJrzzTkBBvHx5ePll+7Rw8802Rz9qlA39770XMllSMAVvERFJd1FRthM9aUrzZctsw3igKc0rVbLk7IlvfuAAPPccVKhgu+d27QqgkfBT8BYRkQwjaUrzESNs6ToxpXmDBvDRRwEF8ehomDoVFi6EK6+EffvgiScsiD/1FPzxRwCNhI+Ct4iIZDi5ctmS9Nq1MHQolCgBCxbAFVdAo0YwZ05AQbxOHfjgA0uv2rQp/P47/Oc/FsSHDrWReQak4C0iIhlWnjzQv7+d8Hr6aUtp/vXX0LKlxdovvgiooUsvhU8/hdmzbYi/fTvcc49Ns7/4Ihw+HFBDwVDwFhGRDC9fPhgwwBKpPfkkFCligbtJE2jVCr75JoBGnIMWLezNpk+HGjVg0ybo3dvOsb3ySkDn2FJPwVtERDKNAgVsVnvDBhg0CAoWtMHyJZfY0nUgSTmdC+VHf+ONUNHyzp0toL/9drrXElfwFhGRTKdQIct4Gh8PDzwA+fPDhx9CvXrQrp1tcku1iAhLrbp8uZ1jK1fOkrVffz3ExlqD6RTEFbxFRCTTKlLENolv2GCVQvPmtRnv2rUtxi4PogxW0nNsI0ZAyZLw/fc21L/iinQJ4AreIiKS6RUrZvVI1q+3fWa5c9vsdvXq0KmTxd1Uy5kztAV+8GDbPRcba9PsaUxVxUREJMvZssWOa7/4Ihw6ZDPgt9xieVgqVgyokb177Z8FCgT0hqoqJiIi2VjSuiS9e1vwnjTJqoL26GFr5alWoECggTslFLxFRCTLOv98GD3a6pLceqtdGzfONpD36WMj9MxIwVtERLK88uUtaK9cadPniXVJLrwwU9YlUfAWEZHso1IlK+u9bJntRk+sS1K+PDz4oGVHzQwUvEVEJNuJjoa33rITX1ddZXVInnzSUpo/+aTVKcnIFLxFRCTbql0bZsywfOnNm1tF0AcftJH4c8/B/v3p3cPkKXiLiEi2d/HFVqlszhz7+tdfbS28YkVbGz90KL17eCIFbxERkQTNm8NXX1mV0Nq1bTd6nz5QpQpMmGAb3TICBW8REZEknAsVOZk61QqKxcdD9+4QEwNTpsCxY+nbRwVvERGRZEREwHXXwdKltkO9QgVLs9qxo43Kp09Pv+JiCt4iIiJ/IzLSzoavWmXpVsuUgSVLrHpZq1bpE8AVvEVERM5AjhzQs6elXH3+eTj3XKsjng51SYhK+yZFREQyr9y54a674Lbb0m/aXMFbRETkLOTLl35ta9pcREQkk1HwFhERyWQUvEVERDKZVK15O+emAFUSvi0M7PLe10rmvnhgL3AUOOK9j01NuyIiItlZqoK39/7GxK+dc88Cu//m9mbe+19T056IiIgEtNvcOeeAG4DmQbyfiIiInFpQa96NgW3e+x9P8XMPzHLOLXTO9fq7N3LO9XLOxTnn4nbs2BFQ90RERLIO509zwtw5Nxs4L5kfPeC9n5Zwzyhgrff+2VO8R2nv/Wbn3LnAJ0A/7/0Xp+2cczuAjae7LwWKAZq6Tx09w9TTM0w9PcNg6DmmXtDP8ALvffHT3XTa4H3aN3AuCtgM1PXebzqD+wcB+7z3g1PV8FlwzsVps1zq6Bmmnp5h6ukZBkPPMfXS6xkGMW3eElh1qsDtnMvnnCuQ+DVwObAsgHZFRESypSCCd0fg9aQXnHOlnHMzE74tAcxzzi0GvgM+8N5/FEC7IiIi2VKqd5t777slc20LcGXC1+uBmqltJyAvpncHsgA9w9TTM0w9PcNg6DmmXro8w1SveYuIiEjaUnpUERGRTEbBW0REJJPJUsHbOfeyc267c25ZkmvnOOc+cc79mPDPIgnXnXNumHNurXNuiXOuTvr1PONI4TO8OeHZLXXOfe2cyyh7G9JVSp5hkp/Xc84dcc5dn/Y9znhS+gydc02dc4ucc8udc5+nT68zlhT+t1zIOfe+c25xwjPsnn49zzhO8Qw7JDyjY8652JPuvz8hpqx2zrUOZ9+yVPAGJgBtTro2EJjjva8EzEn4HuAKoFLCqxcwKo36mNFN4Myf4Qagife+OvA42vySaAJn/gxxzkUC/wNmpVUHM4EJnOEzdM4VBkYCbb331YAOadjPjGwCZ/738E5ghfe+JtAUeNY5lzON+pmRTeCvz3AZcC1wQqIx51w0dvqqWsLvjEz4bzssslTwTsja9ttJl9sBExO+ngi0T3J9kjfzgcLOuZJp09OMKyXP0Hv/tff+94Tr84EyadLJDC6Ffw8B+gFvA9vD37vMIYXP8CbgHe/9Twm/q+dIip+hBwok1KnIn/B7R9KinxlZcs/Qe7/Se786mdvbAW947w967zcAa4H64epblgrep1DCe7814etfsHPnAKWBn5PctynhmvzVqZ5hUrcBH6ZdlzKdZJ+hc640cA2a+TkTp/p7WBko4pz7LKF+Qpf06V6mcKpnOBy4CNgCLAX6e++PpUP/MrM0jSmBVBXLLLz33jmns3GpkNwzdM41w4J3o/TpVeZy0jMcCtznvT9mgx45Eyc9wyigLtACyAN845yb771fk24dzAROeoatgUVYZcgLgU+cc1967/ekWwflb2WHkfe2xOnwhH8mTqltBsomua9MwjX5q1M9Q5xzNYCXgHbe+53p1L/M4FTPMBZ4wzkXD1yPrZO1T/4tsr1TPcNNwMfe+z+8979ia5HaPJm8Uz3D7tjSg/fer8X2s1RNpz5mVmkaU7JD8J4OdE34uiswLcn1Lgm7zhsCu5NMJ8mJkn2GzrnzgXeAzhrlnFayz9B7X957X857Xw6YCvTx3r+XPl3M8E713/I0oJFzLso5lxdoAKxMh/5lBqd6hj9hMxc450oAVYD1ad67zG060NE5l8s5Vx7bDP1d2Frz3meZF5ZjfStwGPs0fhtQFNtV+SMwGzgn4V4HjADWYWs8send/4zwSuEzfAn4HZtuWwTEpXf/M8IrJZmx3R4AAACFSURBVM/wpN+bAFyf3v3PCK+UPkNgALAC2wl8d3r3PyO8UvjfcinstMPShGd4S3r3PyO8TvEMr0n4+iCwDZv1Sbz/gYSYshq4Ipx9U3pUERGRTCY7TJuLiIhkKQreIiIimYyCt4iISCaj4C0iIpLJKHiLiIhkMgreIiIimYyCt4iISCbz/w5VLbUsa4uzAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 576x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "features_4 = polynomial_features(x, 4)\n",
    "w, err = least_squares(features_4, y)\n",
    "\n",
    "plt.figure(figsize=(8, 4))\n",
    "plot_polynomial(coeffs, x_range=x_range, color='b', label='true polynomial')\n",
    "plot_polynomial(w, x_range=x_range, color='r', label='estimated polynomial')\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True coeffs [0.4, -0.5, 0.3, -0.5, -0.5]\n",
      "Estimated coeffs [ 1.605e+06  1.728e+04 -2.143e+02 -3.061e-01 -4.967e-01]\n"
     ]
    }
   ],
   "source": [
    "print(\"True coeffs\", coeffs)\n",
    "print(\"Estimated coeffs\", w.flatten())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1.505e+20, 1.003e+13, 5.575e+05, 6.364e-05, 4.728e-02])"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.linalg.eig(features_4.T.dot(features_4))[0]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ridge regression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [],
   "source": [
    "def ridge_regression(x, y, l=1.0):\n",
    "    # TODO: modify linear regression to avoid numerical instability\n",
    "    xTx = x.T.dot(x)\n",
    "    w = np.linalg.inv(xTx + l * np.eye(xTx.shape[0])).dot(x.T.dot(y))\n",
    "    err = np.mean((x.dot(w) - y) ** 2)\n",
    "    return w, err"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "LAMBDA = 50\n",
    "w, err = ridge_regression(features_4, y, l=LAMBDA)\n",
    "plt.figure(figsize=(8, 4))\n",
    "plot_polynomial(coeffs, x_range=x_range, color='b')\n",
    "plot_polynomial(w, x_range=x_range)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "True coeffs [0.4, -0.5, 0.3, -0.5, -0.5]\n",
      "Estimated coeffs [ 0.434 -0.011  0.286 -0.5   -0.5  ]\n"
     ]
    }
   ],
   "source": [
    "print(\"True coeffs\", coeffs)\n",
    "print(\"Estimated coeffs\", w.flatten())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
