{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from sklearn.metrics import roc_auc_score\n",
    "from sklearn.cross_validation import train_test_split\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import ipywidgets as widgets"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Иллюстрация недообучения/переобучения"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "N_samples = 20\n",
    "x = np.random.uniform(-10, 10.0, size=N_samples)\n",
    "def f(x):\n",
    "    return 0.2 * np.sin(12.0 / (0.14 * x ** 2 + 5))\n",
    "y = f(x) + np.random.normal(0.0, 0.005, size=N_samples)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAswAAAISCAYAAADY5ZlFAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XecFeXZ//HPnK2wsIuL9KKAIFiwAEaJIEqxoKioIDzB\n2JCo8ZeoMTExFqIpah7RqNEHeyGAxihNUUBBI4oCghQVBOkdlrZs3/v3x5xZl2XLKXPOmTP7fb9e\nvGTPmZlzIzez115z3ddtGWMQEREREZHqBRI9ABERERERL1PALCIiIiJSCwXMIiIiIiK1UMAsIiIi\nIlILBcwiIiIiIrVQwCwiIiIiUovURA8AwLIs9bYTERERkbgwxljhHO+ZDLMxRr+S9Nf999+f8DFU\n92vr1q0ANG/ePOFjefLJJwG49dZbEz6WZPn70y/93fn9l/7+ov917733AjB27FhXr9u7d28A/vvf\n/+rvzoe/IuGZgFnEbWVlZQCkpKQkeCSQkZEBQGFhYYJHIiLiH+Xl5QAEAgpnJLY0w8S3nBupFwLm\nzMxMAIqKihI8EhER/1DALPGiGSZR69evX6KHUC0nw+yFG6kTMHsxw+zVvz+pm/7ukpv+/qKXqIBZ\nf3f1T+IjCUl6Xr1xqCQjNF79+5O66e8uuenvL3oKmCVeFDCLb3kpYFZJhoiI+1SSIfGiGSa+5cUa\nZi9mmEVEklWsA+ZIOyqI/yhgFt/yUg2zU5KhDLOIiHtiFTBbVlgteqUeSHwkIRIjXizJUIZZRMQ9\nKsmQeNEME9/yUsDs5UV/IiLJyktPEsXfNMPEt7xYw6ySDBER93jpPi/+poBZfMtLmQeVZIiIuE8l\nGRIvmmHiWyrJEBHxNwXMEi+aYeJbXgqYVZIhIuI+BcwSL5ph4lteqm2rnGFWX08REXeoD7PEiwJm\n8S0v1TAHAgHS0tIAKCkpSfBoRET8QX2YJV4SH0mIxIiXSjJAC/9ERNymkgyJF80w8S2vBcxa+Cci\n4i4FzBIvmmHiW167kWrhn4iIu7x2nxf/0gwT3/JahlklGSIi7vLSWhXxN80w8S2vBcwqyRARcZeX\nuiGJvylgFt/y2o1UJRkiIu5SWzmJFwXM4ltee1SnkgwREXeprZzEizciCZEY8GpJhjLMIiLu0KI/\niRfNMPEtrwXMyjCLiLhLAbPEi2aY+JZXa5gVMIuIuEMBs8RLSDPMsqwLLMv61rKsVZZl/a6a92+3\nLGuFZVlLLMuaZVlWu+Drp1iWNd+yrGXB94a5/QcQqYnXaphVkiEi4i4FzBIvdc4wy7ICwFPA+cCJ\nwAjLsrpWOWwx0MMYcyrwFvBo8PVDwChjzMnAhcDjlmVluzV4kdqoJENExN8UMEu8hDLDzgBWG2PW\nG2NKgEnApZUPMMbMM8Y4UcDnQJvg66uNMWuCv98K7ACauTV4kdp4LWBWH2YREXcpYJZ4CWWGtQE2\nVvp6U/C1mtwAvFf1RcuyzgDSnABaJNa8WsOskgwREXfEuvROfZjFkermxSzL+hnQAzinyuutgFeB\nUTWd+8ADD1T8vl+/fvTr18/NoUk95LUaZpVkiIi4K1aJEfVh9pe5c+cyd+7cqK4RSsC8GWhf6eu2\nwdcOY1nWAOD3QN9g6YbzemNgOvB7Y8yXNX1I5YBZxA1eLclQhllExB0qyZBQVE3Ejh07NuxrhDLD\nvgSOsyzrGMuy0oGrgamVD7As6zTgWWCIMWZ3pdfTgHeAV4wxb4c9OpEoeC1gVoZZRMRdCpglXuqc\nYcaYMuCXwAfACmCSMeYby7LGWpZ1cfCwR4As4E3Lsr6yLOud4OvDgLOBa4OvL7Ysq7v7fwyRI3m1\nhlkBs4iIOxQwS7yEVMNsjJkJHF/ltfsr/X5gDedNACZEM0CRSHmthlklGSIi7lLALPGiGSa+pZIM\nERF/U8As8aIZJr7ltYBZfZhFRNwV64BZbeXEoYBZfMtrmQf1YRYRcVes7vNqKydVeSOSEIkBr2WY\nVZIhIuIuryVGxL80w8S3vBYwa9GfiIi7vLa4W/xLM0x8S23lRET8zWv3efEvBcziW17LPChgFhFx\nl0oyJF40w8S3VJIhIuJvCpglXjTDxLe8FjArwywi4i4FzBIvmmHiW16rbVPALCLiLvVhlngJaWts\nkWTktRpmlWSIJN6qVauYPHkyBQUF3H///RX/LiU5qQ+zxIsCZvEtlWSICMDGjRuZPHkyEydOZPHi\nxRWvr1y5kjfffJO0tLQEjk6ioZIMiRfNMPEtrwXMyjCLxN/HH39M586dueuuu1i8eDGNGzfmf/7n\nfzjqqKOYMmUK//M//0NpaWmihykRUsAs8aIZJr7ltRrmtLQ0LMuipKSkIpgXkdgxxnDnnXdSVFTE\nwIEDeeutt9i+fTuvv/46H3zwAdnZ2bz55ptce+21+jeZpBQwS7xoholvea2G2bKsirIMZZlFYm/K\nlCksXLiQFi1a8PbbbzN06FAaNGgAQM+ePZk5cyaNGjViwoQJjB49uiL4kuThtfu8+JdmmPiW10oy\nQGUZIvFSVlbGvffeC8A999xDVlbWEcecddZZzJgxg4YNG/LSSy8xduzYeA9TouS1J4niXwqYxbe8\nGDBr4Z9IfEyaNInly5fTvn17brrpphqP69u3L2+//TYAjz76KNu3b4/XEOsdYwzTpk1j+fLlrl1T\nbeUkXhQwi295MfOggFkk9kpKSrj//vsBQmodN2jQIIYMGUJBQQGPPPJIPIZYL02ePJkhQ4YwatQo\n166ptnISLwqYxbe8WNumkgyR2Hv55ZdZs2YNXbp04ZprrgnpHCfAfuaZZ9i2bVssh1cvbd26lVtu\nuQWADRs2uHZdLfqTeNEME99SSYZI/VNYWMif/vQnAMaOHUtqamjbDZx++ulceumlyjLHgDGG0aNH\nk5eXB0BeXp5rXUkUMEu8aIaJb3kxYFaGWSS2nn32WTZt2kT37t0ZNmxYWOc+8MADgLLMbnvppZeY\nMWMGTZo0oUGDBhhj2LdvnyvXVsAs8aIZJr7lxRupMswisWOMYdy4cQA89NBDYf/bP/XUU7n88ssp\nLCzk4YcfjsUQ653169fz61//GoCnnnqKVq1aAbB7925Xru/F+7z4k2aY+JYXM8wKmEViZ/ny5WzY\nsIEWLVowePDgiK7h1DI/++yzbN261c3h1Tvl5eVcf/31HDhwgKFDhzJy5Ehyc3MBBcySfDTDxLe8\nGDCrJEMkdt59910ALrzwwogDqFNOOYWhQ4cqy+yC559/ng8//JBmzZrxzDPPYFkWTZs2BRQwS/LR\nDBPfUls5kfrFCZgvuuiiqK5TOcusWubITZs2DYC//OUvNG/eHMD1gDnW3ZDUh1kcCpjFt7zYVk4B\ns0hs7N27l08//ZSUlBQGDhwY1bW6d+/OpZdeSlFREc8995xLI6x/nB82TjrppIrX3AyYjTEVAa36\nMEuseSeSEHGZSjJE6o9Zs2ZRVlbG2WefTZMmTaK+3m233QbA//3f/1FaWhr19eojJ2Bu2bJlxWtO\nwLxnz56or+8Ey5ZlKcCVmFPALL7lxYBZGWaR2HCrHMNx3nnn0bVrVzZv3syUKVNcuWZ9Ul5eXrHN\neIsWLSpedzPDrPpliSfNMvEtL9cwK8Ms4p7y8nLee+89wL2A2bKsip3pnn76aVeuWZ/k5eVRUlJC\nTk4ODRo0qHhdAbMkK80y8S0v1jA7JRnKMIu456uvvmL79u20a9eOE0880bXrXnPNNWRlZfHRRx+x\ncuVK165bH1RXjgG42lZOAbPEk2aZ+JZKMkTqh8rlGG7Wsubk5DBq1ChAWeZw1RQwK8MsyUqzTHzL\niwGzFv2JuM/t+uXKbr31VgBeffVV9u/f7/r1/UoBs/iNZpn4lpdrmJVhFnHHrl27WLBgAenp6Zx3\n3nmuX/+kk06ib9++HDx4kNdee8316/uVXwJm9WEWhwJm8S0v1jArYBZx1/vvv48xhnPOOYdGjRrF\n5DOcLPPTTz+tACpENQXMjRs3JjU1lUOHDkV9H4xlwKw2dVKVdyIJEZepJEPE/2bMmAHEphzDcfnl\nl9OqVSu++eYb5s6dG7PP8ZOaAubK22NH24vZi0kR8S/NMvEtLwbMyjCLuKesrIyZM2cCMHjw4Jh9\nTlpaGmPGjAHgH//4R8w+x09qCpjBvU4ZqmGWeNIsE99SDbN7fvjhBw4dOpToYYgcZsGCBeTl5XHc\nccfRuXPnmH7WmDFjSE9PZ8qUKaxatSqmn+UHtQXMbtUxe/EeL/6lgFl8y4uP65wG/gUFBQkeSehe\ne+01OnXqxKmnnsrOnTsTPRyRCh9//DEAgwYNivlntWzZklGjRmGM4bHHHov55yW7eAbMXrrHi39p\nlolvebEko2HDhgBJk62dOnUq1113HcYYVq9ezSWXXEJ+fn6ihyUCwBdffAHAmWeeGZfPu/POOwF4\n5ZVX2LFjR1w+MxmVlJSwa9cuAoEAzZo1O+J9BcySjDTLxLe8HDAnQ4Z57ty5DBs2jLKyMm677TaO\nOeYYFixYwNVXX01paWmihydSETCfccYZcfm8bt26cckll1BYWKiNTGrh/DDRrFmzau+/bi36U1s5\niScFzOJbXsw+JEuGeeHChQwZMoSioiJuvvlmnnjiCWbOnElubi7Tp0/nlltu0TcSSajNmzezefNm\ncnJyYl6/XNlvfvMbwG4x5/V/x4lSWzkGJEeGWW3lpCrvRBIiLvNihtmpYfbyN9pvv/2WCy64gAMH\nDjBixAieeuopLMuia9euTJs2jczMTJ577jkefPDBRA9V6rEvv/wSgF69esX1h+I+ffpwxhlnsHv3\nbl566aW4fW4yqStgVpcMSUaaZeJbXgyYkyHDfMcdd7B7924uuugiXnnllcO+GfXu3ZuJEycSCAS4\n//77+eijjxI4UqnP4l2O4bAsi7vuuguAxx57rOI+Iz/yQ4ZZpCrNMvEtL7Yc8nrAXFhYWBEEv/TS\nS6SlpR1xzGWXXcYf/vAHAMaNGxfX8Yk4EhUwg72RSceOHVm7di1vv/123D/f6xQwix9plolvebGt\nnNOHuaCgoOJm7yXz58+nsLCQU089lebNm9d43G233UZ6ejrTp09n7dq1cRyhiB0oOSUZiQiYU1JS\nuOOOOwB49NFHVc9fhQJm8SPNMvEtL5ZkBAKBijpmL25eMnv2bAAGDBhQ63HNmzdnxNVXY4zh6bPO\nghYtoGdPmDABPPiDgPjLqlWr2L9/P23btqVVq1YJGcN1111H06ZN+eKLL5RlriJeAbMXkyLiX5pl\n4lteDJjB22UZTsDcv3//2g8sL+e29esBeGHHDg7u2AGLFsGYMXDFFQqaJaYSWY7haNiwIQ888AAA\nN998c9TBn5+Euuhvz549UWXnvVh2J/6lgFl8y6s3U68GzHl5eSxcuJC0tDT69OlT+8ETJ9Jj4UJ6\nA/uA153X8/Nh1iyYNCm2g5V6zQsBM8Att9xC37592bFjB7/61a8SOhYvqStgzsjIICsri7KyMvbv\n3x/x56gPs8STAmbxLa8+rvNqwPzRRx9hjKF3795kZWXVfvC4cZCfz23BL5+r/F5+PmjrYIkhrwTM\ngUCAF154gQYNGjBhwgSmTp3qynUPHTrExx9/TF5enivXi7e6AmZwpyxDfZglnrwVSYi4SCUZ4Qm1\nfhmAjRsBuBTIBhYD31V+f9Mml0cnYisqKmLJkiVYlkWPHj0SPRyOO+44/vKXvwAwZsyYiHavM8aw\nbNky/v73vzNo0CByc3M555xzOPXUU1mxbJm9NqBnz6RYK5Cfn8/BgwfJyMggJyenxuO8HjCLVKVZ\nJr5kjKl4lOa1m6lXA+Y5c+YAIQbM7doB0AC4PPjSxMrvt23r5tBEKixdupSSkhK6detGdnZ2oocD\n2F1jfvrTn7Jt2zZuv/32sM5duXIlZ599Nt27d+euu+5i1qxZFBUV0axZMzZs2EDv009nzo032msE\nkmCtwPbt2wE7u1xbllYBsyQbzTLxpco3Uq89WnMC5oKCggSP5EcbNmxg1apVZGdn07Nnz7pPuP12\nCJZtjAy+NBEwYL8ebLkl4rYFCxYAiS/HqCwlJYUXX3yRzMxMXn31VSZOnGgHs7VkhouLi3nwwQc5\n7bTTmD9/Pk2bNuXnP/85EyZMYMeOHaxfv54revVif2kpFxQW8nLlD/TwWoFQyjFAAbMkH80y8SWv\n1i+DNzPMTnb53HPPJTU1te4TRoyAAQMgK4vzgObAKuCrzEwYOBCuvjqWw5V6zCv1y1V16dKFhx56\nCICRI0dyaZs2fD96dLWZ4QWffUaPHj247777KC4uZvTo0Xz//fe8/PLLjBw5kmbNmtGgQQPeKCvj\nLqAUuA44bJsgj64VCDdgjqSExaGAWeIppFlmWdYFlmV9a1nWKsuyflfN+7dblrXCsqwllmXNsiyr\nXaX3fh487zvLsq5xc/AiNfFq/TJQ0YfZSwFzWPXLAIEA/Oc/MH48qT16cFXwz/Sv886Dt96y3xeJ\nAa8GzAC33347Dz/8MI0yM5m6bRsnFhRwN7ALmAXckZ9PtylTOLN3b5YvX06nTp348MMPGT9+PE2a\nNDnieoFNm3gE+Gfw698Dh60O8OBagVADZqe1nDLMkizqnGWWZQWAp4DzgROBEZZlda1y2GKghzHm\nVOAt4NHguUcB9wG9gJ8A91uWVfMqABGXeDlg9lqG2RgTev/lygIBGDkSFi5kxKxZALy5fDnGYyUw\n4h95eXmsWrWKjIwMTj755EQP5wiBQIDf/va3rOrShWuBYuBhoBkwCDtD/K0xZAeP+/rrrzn33HNr\nvmBwrcDNwFCgCPhX5fc9uFbAbyUZaisnjlBm2RnAamPMemNMCTAJe3F8BWPMPGOMs23Z50Cb4O/P\nBz4wxuwzxuwFPgAucGfoIjXzag9m8F7AvHz5cnbs2EHr1q3p2rXqz8KhOeuss2jRogUbNmzg66+/\ndnmEIraFCxcCcNppp5Genp7g0dSs1bZtvAR8AfQOvtYduBuYB+w6+mgefvjhintBjSqtFXAez1ZU\nLXt0rUA8A+ZYlt55be2LJF4os6wNsLHS15v4MSCuzg3AezWcu7mOc0VcoRrm0FUux4j0m0QgEOCS\nSy4BcK0XrUhVXi7HOEwwM9wL+BQoAJYCfwX6Amnt2tV46mEqrRW4ALuF41fAqgYNPLtWIBEZZi8m\nRsR/XI0mLMv6GdCDYEmGSKKoJCN04dQvr14N//gHjB4NQ4bA734Hr78O69bBkCFDAJgyZUoshyv1\nmNcCZmNg2DC45x6YPBlWroTSUg7LDANkVj4pnMxwpbUCGT16cHmmfaXJgwd7dq2A30oyRBwhLIdn\nM9C+0tdtg68dxrKsAdhrEvoGSzecc/tVOfej6j7kgQceqPh9v3796NevX3WHiYREAXNoiouLmTdv\nHhBa/fL338O338Lpp9udsr75BqZNs4OE4cMH0KBBAxYtWsSmTZto68H6SkluTklGr1694vq55eV2\ncFz1dmJZcM01sHAhvPEG/PGPsGULjPrZSP7Z/98E5syyu1k4srLCzww7awVGjmT4e+/xykUXMWnl\nSu71aJCogFm8aO7cucydOze6izgbPNT0C0gBvgeOAdKBJUC3KsecFjymU5XXjwLWADmVft+kms8w\nIm7asmWLAUyLFi0SPZQjPPXUUwYwt9xyS6KHYubPn28A061bN1eud+mllxrAPPPMM65cT8Sxc+dO\nA5isrCxTVlYWt8+dPduY004zZuLE0I7fudOYCROMMWVl9m969DCmRQv7vxMm2K9HqLi42OTm5hrA\nLFu2LOLrxEp5eblJS0szgDl06FCtx+7Zs8cAJjs7O+LPmzlzpgHMoEGDIr5GTQYNGmQAM3PmTNev\nLYkXjDvrjIEr/6rzxzJjTBnwS+wFeyuAScaYbyzLGmtZ1sXBwx4BsoA3Lcv6yrKsd4Ln5gEPAguB\nBcBYYy/+E4kpZZhDs2TJEuDwR9xLlsCZZ0bWscopy5g6dSr5+fDCC3ZmTiRay5YtA+Ckk06KS0Zx\n3Tq46CK46Sa4+24YPjy0844+2k4IV+4iw7Zt9n9HjoyqjCItLY0rrrgCgEke3LQkLy+PkpIScnJy\nKtpn1iQnJ4dAIMD+/fspKSmp9diaKMMs8RTSLDPGzDTGHG+M6WyM+VvwtfuNMdODvx9ojGlljDnd\nGHOaMeaySue+HDyvizHm1dj8MUQOp4C5DsFdyJbedx8Ap8yZAxMm8ObkcgYOhFtvhTYRLM8dPHgw\nlmUxZ84ctmw5yOOPw29+o6BZoucEzN27d4/5Z61cCX36wNln22VHw4bZ5RfRijAuPMzVwXKOSZMm\nea7lWajlGGAHuUcddRQQ+eYlCpglnjTLxJe8vHo64QFzeTkMHQpjxrB01y4ATtq0ifuu28hvrtvF\nBzPLGTUqsgChRYsWnHnmmRQXF/P11+8zbx7Mnw833BBcDCUSIaddYTz6Lz/4IPz1r/CHP4Bb3eu+\n+Qa6d7fXAETjnHPOoUWLFqxZs4bFixe7MziXhBMwQ/R1zOrDLPGkgFl8KRnayhUUFCRmABMnwuzZ\nlOfnsyz40rM8y4clZ/OFdSanfRfdo95LL7XbtE+dOpXcXJg92y7vGD4cioqiHLvUW07AHI8M87/+\nBT/7mbvX7NYN7roL+vaF996r+/iapKSkcNVVVwHeK8vwU8CsPsxSlfeiCREXqCSjFuPGQX4+64B8\noDVwJ6/wIefR4tAP8NhjUV3eqWOeMWMGpaWlZGXZnTQCAXjqqWgHL/VRWVkZK1asAOKTYY5VrHT9\n9fDOO/YTlwkTIr/O8GBB9RtvvFERNHqBnwJmkao0y8SXvBwwO4thEhYwb7T3Evou+GU3oDefkU6w\nwDKS1X6VdO3aleOOO47du3fz2WefAZCRAZMmwa9+FdWlpZ5au3Ythw4dok2bNuTm5iZ6OFHp3Rtm\nzbJbMb//fqTX6E3btm3ZsGEDn3/+ubsDjEKkAXOkNcxefpIo/qNZJr6kGuZaBHcZWxX8skvV96Ps\nn2xZ1mHdMhwpKZAaSud3kSpiWY5x4ED8S4VOPBHefhuCa97CFggEGDZsGOCtsoxwA2bnh59oM8xe\nvM+L/yhgFl/ycuYh4QFzcBcyJ2DuXPm9cHYhq4VTxzxlyhQtmpGoxapDhjH2xiP/+Ierlw1J794Q\nzYaFTnu5OXPmuDSi6KkkQ/xMs0x8ycslGYkOmB/dPIIPT7mdVcFvMhUZ5kh2IatB7969yc3NZfXq\n1XwbbVsAqfdi1SFj3DjYvBn+3/9z9bJxcdppp5GSksK3337riZ7uoIBZ/E2zTHxJAXP13nwT/vlM\ngK6Tx7Iq+Dy4S9Om0KMHjB8Pb70V1cYKjtTUVAYPHgzA9OnTqz1m2zb47W/tLncitYlFhnn+fHj4\nYXtL64wM1y4bNw0aNOCEE06gvLy84geKRPNjwKwnZOJQwCy+5OXatoyMDCzLoqioqCKwj4e1a+0N\nSf79bziqaREbdu8mNTWVY7dudWUXsqouvtjeCLSmgDk3Fz75BP7+d9c+Unzo4MGDrFmzhrS0NI4/\n/nhXrrlrl/0g5YUX4NhjXbmkK4Ibb4bstNNOA/BEP+aSkhJ27dpFIBCgWbNmIZ3j5YBZbeWkKgXM\n4ktermG2LCvuvZiLi+0A4Z577GTymjVrAOjYsSNpaWkx+cxBgwaRmprKp59+Sl5e3hHvp6fD5Mnw\nyCOwenVMhiA+sGLFCowxdO3alXSXdhF55RV7757gz3SeUFAAl18OldbJ1un0008H4KuvvorRqEK3\nc+dOjDE0a9Ys5ESFlwNmkao0y8SXvFySAfEvy/jjH6Flyx9rNVetspf8delyRI8M1zTJzqZPly6U\nlZXx/rHHQs+edvPZSjUY7dvD734Hv/51zIYhSS4W5Rh33AGPPura5VzRoIG9Ycro0RWdH+vkBMxe\nyDBv374dsHf7DJXTJUNbY0sy0CwTX1LAfLhhw+Cll37ckCHmAXNw++2Lv/8egOn798OiRTBmDFxx\nxWFB869+BWvWQA2VG1LPxaKlnGVBjB6sROWss+wmNiNHhraV/CmnnALYP1QUFxfHeHS127VrF0DI\n5RhweIY5klphBcwST5pl4ktermGG+G+P3bMnBL83AXEImIPbbw8OfhN/DygFyM+3d22o1Ds2Pd3e\nAXD//tgMRZJbrDpkeNVvf2tnm8eOrfvY7OxsOnfuTElJScVOiIniBMxHH310yOc0bNiQzMxMiouL\nyc/PD/szFTBLPGmWiS95uYYZEt9aLuYBc3D77S7AccAe4DPnvfz8I7bfHjDAzqqJVGaMiVkPZq8K\nBOC11+wFsaHEkF6pY44kYIbo6pi9fp8Xf9EsE1/yeklGorfHjnnAHCzCtIBLgi9Nq/x+lNtvS/2w\nZcsW9uzZQ25uLq1bt47qWsn0BKNFC5g7126NXhev1DHv3LkTiG/A7PUnieIvCpjFl7weMMc6w1xb\nt7q8vDx27txJw4YNow5CahTcfhtgSPC/hy3+j3L7bakfKpdjRNPma9ky6N4dSkrcGpl3eKW1XCIy\nzOrDLPGkgFl8yeu1bbEOmK+/3i4jrs7qYA+3Ll26xK7XaHD7bYCfAkcB3wV/ubX9tvifW+UYv/qV\nXRvsxYV+0XIC5qVLl8a1r3tVkQbMTqcMrwXM6sMsVXkzmhCJUn3OMM+eDfPmwSWXVP9+PFrKMWKE\nXZiclUUacFHw5alpaXVuv11aCjNnxm5okjzc6JDx8cewYQPcdJNbo/KWo48+mvbt23Po0KGKf9uJ\nEGnA3LhxYwAt+hPP0ywTX6qvAXNBAfziF/DPf0KjRtUfE5eAORCA//zH3m67Rw8uzckBYGrHjnVu\nv22M/Wf47LMaD5F6wskwR9Mh46GH4Pe/h9RUt0YVfwcPwuef1/y+F+qYIw2YnfUckXQMUsAs8aRZ\nJr7k9cUgsQqYH3zQ3snvootqPsYJmDt37uzqZx8hELBbXyxcyPkbNpCWlsb81avZWcej17Q0uPtu\n+POfYzs88bbi4mK++eYbLMvixBNPjOgaCxbAd9/BqFEuDy7O1q6FIUNg27bq33fKMhLZKSOSPswQ\n3b1QAbO/tWLWAAAgAElEQVTEk2aZ+JLX2w3FImBesQKefx6eeKL24yrXMMdLdnY25557LuXl5bz7\n7rt1Hn/ddbBkCXhgx19JkO+++46SkhI6depEo5oel9ShWTN48UW713cy697dXpdw553Vv5/oDLMx\npiJgblq54XsIlGGWZKFZJr5UH0sy2rSxqyBatqz5GGNMfEoyqjFkiN0vY8qUKXUem5EBd91lP06X\n+smNcoyOHaF/f7dGlFj33muvTaiuNKNyL+ZEdHXYv38/JSUlNGrUiMzMzLDOVcAsyUKzTHypPgbM\nTZrA2WfXfsy2bds4ePAgTZs2rVidHi9OwDxz5kwOHjxY5/GjR8Onn8I338R6ZOJFy5cvB+Ckk05K\n8Ei8ISvLLlO64w67zr+yVq1a0bx5c/bu3cu6deviPrZI65chul1P1VZO4kkBs/hSfa1hrkuisssA\n7dq1o3fv3hQUFDBt2rQ6j2/Y0O5wkIChigesXLkSIOL6ZT8aNQoKC+G//z38dcuyElqWEU3AHM0m\nTrEsvVNbOalKAbP4UrLUMEeSVYlGIgNmgOHDhwMwefLkkI7v0gU8+jOPxNiKFSsABcyVBQL2D5F9\n+hz5XrIHzNFkmL2aGBF/8WY0IRKl+liSEYpEB8xXXnkllmXx3nvvsW/fvoSMQbyvoKCANWvWkJKS\nEnY3l40b7QWwflXT+sfKdczx5ueSDBGHZpn4ktcD5mgeQ1b27LOwdGnox8etpVwNWrduTd++fSku\nLg5p8Z/UT9999x3GGDp37kxGRkZY5/797/D66zEamIc5reUWLVoU97rbSFvKQXT3QgXMEk+aZeJL\nXn9U50aGecMGuOceCCep4ywI6tSpU8SfG61wyzKk/om0HCM/3w6Wf/GLWIzK2zp06EBOTg47duxg\n69atcf3sRJdkKGCWeNAsE19KlhrmaALme+6BW2+128mFasOGDQC0b98+4s+N1hVXXEEgEOCDDz5g\nz549IZ1TXg5PP21vmy3+5wTMJ5xwQljnTZhgd4o55phYjMqbnGSyZVkVWeal4Tx2coECZqkPNMvE\nl7xekhFtwLx8OXzwgd2rOFQHDhxg7969ZGZmhr25gJuaN2/OeeedR2lpKW+//XZI5wQCduZwxowY\nD048IZIMszH2D1W33hqrUXnP++/Dtdf++PXxxx8P/Lg5Ubzs3LkTiK6GWSUZ4nWaZeJLfg+Yx46F\n3/wGGjcO/ZyNGzcCdnY50S2TIinLuOUW+Oc/YzUi8ZJIWsrNnw+HDsGAAbEalff89Kd20BxsWV2x\nNiHeAbOfM8zqwywOBcziS36uYd6/H9avDz+T5oVyDMfQoUNJTU3lww8/rMhO1eWqq+ztsoPrFsWn\nKnfICKeby3HHwauv2k8j6otGjeynTPffb3+tgNk9iU4qiPfUo1uL1Cd+rmHOzoYFC+yNPcLhpYA5\nNzeXgQMHUlZWxltvvRXSOZmZcP31dmcQ8a9vv/22okNGenp6yOe1aAFnnRXDgXnUzTfb22V/9VVy\nBsxqKyfJQrNMfMnvJRmRJD+8FDBDZGUZY8bYWcQ47/cicaQd/sLTsCHcfTfcdx907NiRQCDAunXr\nKC4ujsvnl5WVVSzezc3NDft8r+70J1KVZpn4ktcD5rS0NFJSUigpKaGkpCQun+m1gPmyyy4jPT2d\nefPmhdwG69hj4dNP7Wyz+JN2+Avf6NHQqROkpGTQvn17ysvLWbt2bVw+Oy8vD2MMubm5pKamhn1+\nZvAfc1FRUUXGOFReL70Tf1HALL7k9Ud1lmXFfXtsJ2Bu165dXD6vLjk5OVx44YUYY3jttddCPu/4\n4yPLsEtyiLSlXH2WmQmPPw6pqfEvy4imHAPse7QTNBcWFoZ1rtfv8+IvmmXiS17PMEP4tXvR9iCu\n3CXDK0aPHg3AM888U/F3JvVbuCUZS5b82ItY4h8wR9NSzhFpWYYCZoknzTLxpWQImMP5JvHJJ3DR\nRZF/Vnl5eUXA7JUMM8AFF1xAhw4dWLduHTNnzkz0cCTBwu2QsXEj9O8PRUVxGFySSLYMM0TeKUMB\ns8STZpn4UjLUtoWz8O/Pf4ZhwyL/rO3bt1NSUkKzZs0qvjl5QUpKCjfffDMATz/9dIJHI4kWboeM\n11+32w2qpv1HyRgwR1qepj7MEk8KmMWXkmH1dKgB8+LF9sYEo0ZF/lleW/BX2fXXX09mZiYzZ85k\nzZo1IZ+3bh18/XXsxiXxF86CP2PsjinXXBPrUSWXZAyYvZhhVh9mqcq70YRIFJKhJCPUgPmvf4U7\n74SMjMg/y8sBc9OmTbn66qsxxvDMM8+EfN4nn9jttMQ/wqlf/vJLu66/PvZerk3bth2AFDZu3Bj2\nIrpIuBkwq4ZZvEyzTHzJLwHzt9/CvHl226hoeK1DRlW33HILAC+++GLI3zSHDrW3Q962LZYjk3gK\np0OGk11WIvBwDRum0bRpB4wxYT2xiZQTMDdr1izia3gxwyxSlWaZ+JJfapj37oW//c3eAjcaXs4w\nA/Tq1YtevXqRl5fHpEmTQjonKwsuuwz+9a8YD07iJpySjJ/8BH7+81iPKDmdfrpdlvHJJ7Evy/B7\nDbOIQ7NMfMnTNczl5TBhAg3nzgXg0G9+AxMm2K9XceaZ9nbQ0fJiS7mqbr31VsBe/BfqQpuf/xxe\neSWWo5J4KSgoYO3atSF3yBg1Cjw8nROqWzc7YH7lldgHzIlsK+fp+7z4jmaZ+JJnSzLKy+1agjFj\naBjcTvbQunX2ns9XXFFt0OwGr2eYwd4qu2nTpixevJgFCxaEdM4559hZ+KVLYzw4iblwO2RIzZyF\nf4sXrybETTQj5tdFfyJVaZaJL3k2YJ44EWbPhvx8GgZfOgSQnw+zZkGI5QjhSoaAOTMzkxtuuAGA\np556KqRzAgF4/nmI4nu1eIS2xHaPEzB36bIqqsXCofBCSUYs7/NqKycOBcziS56tYR43zg6OoSJg\nznfey8+Hxx5z/SMLCgrYuXMnaWlptGjRwvXru+nmm28mJSWFSZMmhdwWa+BAaNMmxgOTmFPA7B4n\nYN6zZzW5ubH7nKKiIg4cOEBKSgo5OTkRX8eLXTLUVk6qUsAsvuTZ2rZgLTGAs44vv/L7mzZRUFAR\nU7v0kT/u8Oe5/x9VHHvssVx77bWUlZVx3333JXo4EkdOS7m6OmREu0V8fdC+fXvS0tLYsmUL+W7e\nTKrYvXs3YGeXowkwVZIhyUCzTHzJsyUZldq6OQHzgcrvt23L+PEQ7LLmCq+3lKvqvvvuIz09nUmT\nJrFUxcn1RigZ5pUr4Ywz4jWi5JWamkrHjh0B+P7772P2OW6UY4C6ZEhy0CwTX/JswHz77XY/NKBx\n8KWDzntZWZT+6k4efxyCu0W7Ihnqlytr3759RV/mP/7xjwkejcTDoUOHWLt2LampqbV2yJg4Efr3\nj+PAklg8dvxzowczKMMsyUGzTHzJszXMI0bAgAGQlXV4hjkrCwYO5O304bRubbeTc0uyBcwAv//9\n78nKymL69OnMnz8/pHOMcbeUReLnm2++qbNDhjEweTIMHx7nwSWpygGzMfDpp/b/Qze5lWH2Yg2z\nSFWaZeJLnq1hDgTgP/+B8eNpfNxxABzMzobx4zH/fov/HRfgzjvd/chk6MFcVfPmzbn99tsB+MMf\n/hDSSvV//9vuzSvJxynHOOmkk2o8ZulSu365R494jSq5Vc0w33wzfPCBu5/hRg9mUIZZkoNmmfiS\nZ0sywA6aR46k0csvA3DgxBNh5Ejmfx5g1y649FJ3Py4ZM8wAd955J0cddRTz5s1j1qxZdR4/cCDM\nmQP798dhcOKqUOqX33gDhg3TVtihqhwwWxbccQf87/+6+xmqYZb6RLNMfMnTAXNQ48Z2FfPBg3YV\nc1YWPP44uD3kZA2YmzRpwu9+9zsgtCxzkybQty9MmxaP0YmbQgmYd+60A2YJTdUM84gRsHw5fP21\ne59RH0oy1IdZHCHNMsuyLrAs61vLslZZlvW7at7vY1nWIsuySizLGlrlvYcty1puWdYKy7Ied2vg\nIrVJhsxDo0Z2FfOBA3afjFNPhYsvdvczjDFJ1yWjsttuu42WLVuyaNEiJk+eXOfxw4fbmUhJLsuX\nLwdqL8l47jk4/fR4jSj5tWvXjoyMDLZv387+/fvJyIBf/tLdVu9uB8zhZphjWXqnPsxSVZ2zzLKs\nAPAUcD5wIjDCsqyuVQ5bD/wcmFDl3LOA3saYk4CTgDMsy+rrxsBFapOMGeZY2LVrF4WFhTRp0qTi\n85JJw4YN+dOf/gTAHXfcwf466i2GDIG5c2HfvjgMTlxx8OBB1q9fT3p6OscF6/oleoFAgE6dOgE/\ntpb7xS9gyhTYssWdz/BKSYaX7/PiH6H8WHYGsNoYs94YUwJMAg6rsjTGbDDGLAeqPrswQKZlWZlA\nAyAV2B79sEVqlwwBc9UMcywkazlGZTfccAM/+clP2Lp1a52bmWRnw403QvCPLUnA2bDk+OOPJzU1\nNcGj8ZeqZRm5ufDOOxDFpnyHcbutnBdLMkQcocyyNsDGSl9vCr5WJ2PM58BcYCuwGXjfGPNdmGMU\nCVsyZB4yMzNJSUmhqKiIkpKSmHyGHwLmQCDAM888QyAQ4Mknn2TJkiW1Hv+//wsnnxynwUnUnHIM\nbYntPidgXrVqVcVr55xT0Qo+aokuyVDALPEU01lmWVYnoCvQGjvI7m9Z1k9j+Zki4OG2cpVYllWR\nZY5VWUYytpSrzmmnncZtt91GeXk5N998c8U3Skl+obSUk8jEcvMSY4xrbeXUJUOSQSjPvzYDlb/b\ntg2+ForLgc+NMQUAlmW9B5wFfFr1wAceeKDi9/369aNfv34hfoTIkZKhJAMgNbUxsI8DBw5w1FFH\nuX59P2SYHX/605948803+fzzz3n++ee56aabEj0kcUFtHTKMgTvvhD//GYJJSAlDLAPm/Px8ioqK\naNCgQUXAGyllmCXW5s6dy9y5c6O6RigB85fAcZZlHYNdWnE1MKKW4ysvLd0A3GhZ1t+ws9nnAOOq\nO6lywCwSrWQJmA8dim2GOZk7ZFSVnZ3NuHHjGD58OHfffTeXX3551LWTkni1lWR88QW89577/YPr\nC2cR5Q8//OD6td0qxwBv1zCrrZw/VE3Ejh07Nuxr1DnLjDFlwC+BD4AVwCRjzDeWZY21LOtiAMuy\nelqWtRG4EnjWsqxlwdP/DawFlgFfAV8ZY2aEPUqRMCVDDfOSJVBaaneuiNXCPz9lmAGuuuoqBg4c\nSF5eHr/97W8TPRyJ0t69e9m8eTOZmZl07NjxiPcnT9ZmJdFo3bo16enpbN++/YgfyktK4OOPI792\nLAJmL2WY1VZOqgpplhljZhpjjjfGdDbG/C342v3GmOnB3y80xrQzxjQ2xjQzxpwcfL3cGPMLY8wJ\nxpiTjDF3xe6PIvKjZKhhfvJJaNcuPhlmvwTMlmXx9NNPk5GRwcsvv8x///vfGo/917/g7bfjODgJ\nm9Mho1u3bkf8cGuMvd35VVclYmT+kJKSQocOHYAjs8zFxTB0KKxbF9m13QyY09LSSElJoaysLKwF\n0CrJkHjSLBNf8npJxq5d8J//QJcuscswFxUVsXXrVgKBAK1bt3b9+onSuXPnih0Ab7nlFkpLS2s8\n9sUX4zUqiURt5RiLFtl1y2qeER0nc7927drDXs/Kgmuvhaefjuy6bgbMlmVFVJahgFniSbNMfMnr\nAXNxMYwbB7m5scswb95sr81t06aN7/rb3n333XTo0IFly5bx5JNPVnvMRRfBvHkQw31hJEq1dch4\n5x247DKVY0SlvJyOwR8o1/7sZ9CzJ0yYAMFA89Zb4aWXID8//Eu71YPZEUlZRjI8SRT/0CwTX/J6\nDXPr1nZ2x9l9LxYZZqelnB8W/FXVoEGDikD5vvvuq/jhoLImTeCss2DmzHiPTkJVW4eMO+6wO2RI\nhMrLYehQOs2bB8CagwfttP2YMXDFFVBeTocOcPbZ8Prr4V/erZZyjkhay3n9Pi/+ooBZfClZMg+x\n7MO8adMmwJ8BM8DgwYO59NJLOXjwIHfWEFldfrmdqRRvqq0kIzcXmjeP94h8ZOJEmD2bjsXFgL36\nHrDTybNmwaRJAPy//wf/+IddMx4ON0syILJOGSrJkHjSLBNf8npJhiOWGWYnYG7TJqSNOZPSE088\nQYMGDZg8eTKzZ88+4v0hQ+Ddd+2OAOItu3fvZvv27TRs2JBjjjkm0cPxn3HjID+fTsEv11R+Lz8f\nHnsMgHPPhUceCT9gdjvDHElJhgJmiSfNMvGlZAmY45Fhbtu2revX9opjjjmGe++9F4Bbb72VoqKi\nw95v3RqWLYO0tESMTmpTuRxDAU8MBEuyOgS/XAeUVX4/eH+wLBg8GML9K9iyZQsArVq1imaUFaIp\nyVAfZokH3aXEl7xa2xZ8ilkhlhlmp67XzwEzwJ133snxxx/PqlWreLqaJf8+TrAntdrKMcQFwVKs\nLKAlUEyVLXqjvC9UXlTsBq9lmNWHWapSwCy+5MUa5r17oUsX2LPnx9eUYY5eeno6f//73wH429/+\nFrOe1uKumhb8bdwIhYWJGJHP3H673TsOjizLyMqyV1VGqKysjK1btwK41rJSNczidZpl4kteLMl4\n9VUYNMhezORQDbM7Bg8ezJlnnsnOnTtrbDMn3lJTS7nRo2Hq1ESMyGdGjIABAyArqyJg/h7sYHng\nQLj66ogvvWPHDsrKyjj66KPJyMhwY7SeyzCLVKVZJr7ktYDZGPjnP+GWWw5/PVYZ5pKSErZt24Zl\nWa7VGHqZZVk89NBDADzyyCPs3bs3wSOS2hhjqi3J2LcP5s+HCy9M1Mh8JBCwd0caP55OwXvAmhYt\nYPx4eOutaouW9+2DVavqvrTb5Rjg3RpmEYdmmfiS126kH35oLzzr0+fw12OVYd62bRvGGFq2bEla\nPVnxdt5559GvXz/27t3LuHHjDnvPGPjqqwQNTI6wY8cOdu/eTXZ29mElQ+++C337QvCfhUQrEICR\nI+n06KMArOnTB0aOrHGF36xZcOONdV82FgGzSjLE6zTLxJe8lmF++mk7u1x1HUmsMsz1pX65Msuy\nePDBBwEYN25cRZ9Yx5Ah8M03iRiZVOWUY5xwwgmHLa565x27d7a4q1MnuyhjzZo1tR536aWwZo3d\nWaY2sQyYtdOfeJVmmfiSlwJmY+CUU+BnPzvyvVhlmOtT/XJlZ599NhdccAEHDhzg0WBWDewfVC67\nDN5+O4GDkwrVlWMUFsL778MllyRqVP5VOWCurU1aWhrcdJNdPlYbp6WcV0oyYnmfV1s5cShgFl/y\nUls5y4L776/+MXOsMsz1paVcdZws85NPPsm2bdsqXlfA7B1Lly4F4JRTTql4bc8euPVW7e4XC0cf\nfTSNGzdm//797N69u9ZjR4+2NwHct6/mY7ySYVZbOYknBcziS8nyqK5ywOxmJqM+lmQ4evbsyWWX\nXUZBQQF/+ctfKl7v29d+3BxMjkkCLVmyBDg8YG7dGv7850SNyN8sywq5LKN1a7uJxmuv1XyMapil\nPtIsE1/yUklGbVJSUmjQoAHGmLC+UdSlPgfMAH/6058AeP7558nLywPsx83nnw8zZiRyZFJaWlpR\nw1w5YJbYCjVgBvjjH+GMM2p+3wmY3erBDOqSId6nWSa+lCwBM8SmjjkWGaBkcvLJJzNw4EAKCgp4\n5ZVXKl6/8UY4+ugEDkz47rvvKCoq4thjjyUnJyfRw6k3wgmYu3cPLWD2c0mGSFWaZeJLXqhhLiy0\nF/zVJRZ1zPU9wwxwS7Dp9T//+c+K+dC/v7owJFp19csSe+EEzLXJz89n3759ZGRk0LRpUzeGBqgk\nQ7xPs0x8yQs1zL//PVRpB1wttzPM5eXl9T7DDHDxxRfTtm1bVq9ezYcffpjo4UiQAubEcCtgrlyO\n4ebCOGWYxes0y8R3nJsoJO5GWlBgL5oJJZvpPJZ2a3e6nTt3UlJSQm5ubsU3ofooNTWVMWPGAHaW\nWbyhasC8aRPcfHMiR1Q/uB0wu/3DuGqYxes0y8R3vFC//MYbdg1ghw51H3t0sKi26kYbkarPLeWq\nuvHGG0lNTWXKlCkVZSqSWE6HjFNPPRWA6dPB5TbkUo127dqRlpbG1q1bwyp72LwZKuUgYhYwe7Uk\nQ32YxaGAWXzHC/XLzz4Lv/hFaMc6AXNd/VFDpfrlH7Vs2ZKhQ4dSXl7Oc889l+jh1Hvbt29n+/bt\nNG7cmGOPPRaAadO0WUk8pKSkVPw/X7t2bcjnXXYZzJnz49exDpi9stOf+jBLVQqYxXcSXb+8dKn9\nmPmii0I73lk441aGWQHz4ZzFf+PHj6ekpASwt2B+8slEjqp+csoxunfvTiAQID8fPv4YLrggwQOr\nJyIpy7jxRjsB4PBKSYYxpiL7q5IMiQfNMvGdRJdk7N4N994LqamhHR+rDHN9XvBXWd++fTnhhBPY\ntm0b77zzDgBNm8KLLyZ4YPVQ1frlWbPs0iV1l4uPSALmkSPho49+3PAnFttiQ/gZZidYtixL2WCJ\nCwXM4juJDpjPOw9uuin0493OMKuG+XCWZXFzcFWZs/jvrLNg40b7l8RP1YB5xgyVY8RTJAFz48Yw\nfDi88IL9tVdqmLXgT+JNM018xws1zOFQDXPsjRo1iqysLObOncvKlStJTYULL7QXnEn8OAGzs+Dv\n8cfhhhsSOaL6JdJOGb/4BTz3HJSWxmaXPwi/JEMBs8SbZpr4TqJrmMOlGubYy8nJYeTIkQC89tpr\ngJ3ZnDYtkaOqXwoLC/n2228JBAKcdNJJAGRl2RlMiY9IA+ZTToHbboODB8vZunUr4H7AnJmZCdjz\npHJr0JooYJZ400wT30l0SUa43MwwG2O0aUkNnID5jTfewBjD+efDp5/aPbMl9lauXElpaSmdO3eu\nyCZKfHXs2BGAdevWUVpaGta5d90FhYU7KC0tpWnTphUBrlsCgQAZGRmAHTTXRQGzxJtmmvhOogLm\nSNt1uplh3rdvH/n5+TRq1Ijs7Oyor+cnffr0oWXLlqxdu5bFixeTkwPr10M93tslrrTDX+I1aNCA\n1q1bU1paysYICvhj/cN4OAv/4hUwqw+zOBQwi+8kIvNw4ACceioUFYV/bk5ODikpKezfv7+i7Vmk\nKpdjaOX44VJSUrjyyisBmDx5MgBNmiRyRPWLAmZvcMoyvv/++7DPjXXAHE4dc6zv87p/SlUKmMV3\nEpFhnjgROnWC4BPFsAQCAXJzc4HoyzJUv1y7YcOGAT+WZUj8VF7w98MPsH9/ggdUT3Xr1g2AFStW\nhH1uvDLMoXTKUEmGxJtmmvhOIgLm8ePDayVXlVt1zKpfrt1Pf/pTWrVqxfr16/nyyy8TPZx6wxhz\nWIb5ttvgvfcSPKh66uSTTwZg+fLlYZ/r3F9atEh8SUayLe6W5KeZJr4T77ZyixbBrl0waFDk13Cr\njlkZ5toFAgGuuuoqwM4yS3xs2rSJvLw8mjZtSpMmrfn4Yzj//ESPqn5yAuZly5aFfa4TME+f7p2S\njGRZ3C3JTwGz+E68Mw/PPQejR0M0H+dWhlkBc92GDx8O/FiWUVYGX3yR4EH5XOXs8kcfWfToofrx\nRHFa+q1YsSKk9m2VObv8rVnThmDs7CovLvoTcWimie/EsyTDGNi0Ca67LrrrKMMcP2eeeSZt27Zl\n48aNLFiwgPJyO9sZbC8rMbBkyRLADpinT4fBgxM8oHqsadOmtGrVivz8fNatWxfWuU6G+cIL21Ts\n/Ocm1TCLl2mmie/EM2C2LHu3uGh7+KuGOX4ql2VMnjyZtDS7nObddxM8MB/7McN8KjNmwMUXJ3hA\n9ZyTZQ63LMO5v9x8cxuefx6Ct1rXeKlLhkOLg8WhgFl8Jxlr25Rhji+nW8abb75JeXk5F18MM2Yk\neFA+5gTMnTufwpVXwvHHJ3hA9VwkC/8OHTrE3r17SU9Pp1+/prRsCe+/7+64vFSSobZyUpUCZvGd\nZFw97UaG+dChQ+Tl5ZGenl5xPaneT37yE9q3b8/mzZv57LPPuPBCmDMnsj7aUru9e/eyevVqMjIy\n6NmzG+PG2U9mJHEiyTA72eXWrVtjWRZ33WX3n3eTSjLEyzTTxHeSbWtscCfD7HxD06YldbMs67Ce\nzEcfDSeeCB9/nOCB+dCiRYsAu/9yenp6gkcjEFmGuWq511VXQXD9rGu8lGEWqUozTXwnGQNmJyMc\nTcDslGOofjk0TsD873//G2MMv/41ZGYmeFA+9EWwBckZZ5yR4JGI44QTTsCyLL777juKi4tDOice\n6yO8WMMs4tBME9+JRw3zG2/Y7eTc4mSYoynJUP1yeHr27Enr1q3ZsmULS5cuZdgw6NMn0aPyHwXM\n3tOwYUM6depEaWkp3333XUjnxCNgVkmGeJlmmvhOPGqYn3gCmjd373puZpgVMIfGsiwuuugiAN5V\ni4yYcQLmXr16JXgkUlm4dczxDJi10594kWaa+E6sSzJWrIAffnC3l2yTJk2wLIu9e/dSWloa0TXU\nUi58Cphja/PmzWzZsoWcnBzuvbczJSWJHpE4Qt7xr7wcJkxg86uvAtDm6adhwgT7dZepJEO8TDNN\nfCfWAfNzz8H110NqqnvXTElJITc3F4A9e/ZEdA1lmMPXv39/0tLS+OyzzyL+/y41+/LLLwE47rhe\n/PBDgLS0BA9IKjgZ5loX/pWXw9ChMGYMW/buBaDNDz/AmDFwxRVQXk55OfTuDTt2RD+mSBb9xXqt\nivowi0MBs/hOLG+khYV2cuWGG1y/dNR1zOvXrwegXbt2ro3J77Kzs+nTpw/l5eW873ZTWakox0hJ\nOUO7+3lMSBnmiRNh9mzIz8fZCbsNQH4+zJoFkyYRCECXLhBMQEfFSzXM6jQkVSlgFt+JZW3b559D\nr17QoYPrl466jvmHH34AoEMsBudjVcsynngCpk5N5Ij8w8kwb9rUi0suSfBg5DCdO3cmPT2d9evX\nszmUNuIAACAASURBVH///uoPGjcO8vMpB7YEX6rY1DQ/Hx57DIDRo+H55yHaZKxKMsTLNNPEd2JZ\nktGvH0yb5vplgegyzHl5eezbt4+srCxtWhImJ2CeOXMmZWVlZGTYXVAkOuXl5RUBc2npGZx2WoIH\nJIdJTU2lW7duAKxYsaL6gzZuBGAbUAocDRzWeTFYBta7NwQC8Mkn0Y1JfZjFyzTTxHdiXcMcq5K5\naDLMTna5Y8eOepQYpq5du3Lssceya9cuFi5cyODBMHMmBKeRRGj16tXs27ePnJw2DBnSGsU13lPn\nBibB8q4vgl+eUPX94HoJy7KzzNG22vRSSYZIVZpp4jvJeiONJsOscozIWZbF4GCB7bvvvku7dnYc\n8PnnCR5YknPql885pxd//WuCByPVqrO13O23Q1YWs4Jf9q/8XlYW3HFHxZfXXAPr1kXXPEMZZvEy\nzTTxnWTc6Q+iyzCvXbsWUMAcKacsY8aMGQBcfDFMn57IESU/pxzjzDPPQFVC3lTnwr8RI2DAAGYH\nn1oNcF7PyoKBA+HqqysObdrULsmIJn5VDbN4mWaa+E6yBszKMCdOv379yMzMZNGiRWzbto2LL4b3\n3kv0qJJMsF8vPXtCixZ88eKLAJzRs2eCByY1qZxhrrZ9WiDAhscfZ5UxNA4EOKN5c+jRA8aPh7fe\nii46roYXSzLUVk4cCpjFd2LRVu6RR2DrVtcuVy03apgVMEemYcOGnHvuuYC9+K9XL5g7N7FjSiqV\n+vWyaBHFO3bwVX4+AD0efzwmm1xI9Nq1a0d2dja7d+9m+/bt1R4z+8MPATj34otJ3b4dFi6EkSNd\nD5bBWzv9aS2IVKWAWXzH7Rvphg3w8MPQpIkrl6uRMsyJVbm9XEpK7P++faVSv16AZUAxcDzQZN48\nmDQpkaOTGliWVecGJrNm2RXMAwcOjPl4VJIhXqaZJr7jdknGSy/ZpXzB5EfMRJphLi8vZ926dYAC\n5mg4AfMHH3xAifZwDk+wX6/D6arQnYzD+vWK99RWx1xeXs6cOXOA+ATMXtzpT8QRUsBsWdYFlmV9\na1nWKsuyflfN+30sy1pkWVaJZVlDq7zXzrKs9y3LWmlZ1nLLstq7NXiR6rgZMJeVwQsv2C2TYi3S\nDPPWrVspKiqiWbNmNGrUKBZDqxc6duxI165d2bdvH/Pnz0/0cJJLsF+vw/m/t5dB9m+C/XrFe2rL\nMH/99dfs3LmTtm3b0qVLl5Cv+a9/RdbLPC0tjUAgQGlpaZ0/tCrDLPFW50yzLCsAPAWcD5wIjLAs\nq2uVw9YDPwcmVHOJV4GHjTEnAGcALuw4L1IzNzMPs2ZBixZwyilRX6pOubm5AOzZs6ci6A+FyjHc\nc+GFFwJom+xwVdmO/dPgf0dgb9fu9OsV7+nevTsAH3300RFB6uzZswE7uxxOTW92dmQPFSzLCrks\nQwGzxFsoM+0MYLUxZr0xpgSYBFxa+QBjzAZjzHLgsOWklmV1A1KMMR8GjztkjCl0Z+gi1XOzhvnl\nl+OTXQZ7562jjjoKYwx79+4N+TwFzO5xHjs7gUJhIXz9dSJHlCSC/XoBtgL2jMxiJMsgIwN+/esE\nDk5qc9ZZZ9G5c2d++OEHXgx2NnE49csDBgyo7tQaXXCB/VChpm51tQm1LEMBs8RbKDOtDVD5edum\n4Guh6ALssyzrrWDJxsOWlp5KjLlZkvF//wc/+1nUlwmZU5YRTh2zAmb39O3bl7S0NBYuXEheXh6b\nNtnf/NXkoQ4jRkD//pCSUpFdbkUHMjBQWmq3INP/RE9KS0vjoYceAmDs2LHkB2vRCwsL+SS413X/\n/v1rPL86qalw3XXw/PPhjyfU1nIKmCXeYj3TUoGzgTuAXkAn4NrqDnzggQcqfs1VPyeJgpsBc04O\nBJ8QxoWz8C+cOmYFzO7Jysqid+/eGGP48MMPOe44+/HyV18lemQeFwjAlVdCair/Db70U+eBY1mZ\nXdukThmedeWVV9KjRw+2bt3KE088AcD8+fMpKCige/futGjRIuxrXn+93Za7MMxnyl4ryVAfZn+Y\nO3fuYXFmJFJDOGYzUHmhXtvga6HYBCwxxqwHsCzrHeAnwEtVD4z0DyBSVTKvno4kw+zs8texY8eY\njKm+GTBgAPPmzWP27NlcccUVXHIJTJ1q79cgtXjiCSgq4pPgl6NY9+N7TqeMkSMTMTKpQyAQ4OGH\nH2bAgAE8/PDDjBkz5rD65Uh06GD/m5k3D84/P/TzvFKSoYfh/tKvXz/69etX8fXYsWPDvkYoM+1L\n4DjLso6xLCsduBqYWsvxlWfZl0ATy7KaBr8+D1gZ9ihFwhDrhvaxpAxz4lWtY77kEpg2LZEjShIb\nN7IXWIKdielP/uHvq1OGp/Xv35+BAweyf/9+/vKXv0Rcv1zZ1KnhBcvgnYBZpKo6Z5oxpgz4JfAB\nsAKYZIz5xrKssZZlXQxgWVZPy7I2AlcCz1qWtSx4bjnwG+BDy7KWBi/5XAz+HCIVknVrbAg/w1xc\nXMymTZsIBAK0b6+OjW7o0aMHOTk5fP/996xbt47eve3Na6p0TpOq2rVjLlAO9Aayqr6vThme97e/\n/Q2Ap556ikWLFpGenk6fPn0ivl5GRvjnhFrDnMyJEUlOIc00Y8xMY8zxxpjOxpi/BV+73xgzPfj7\nhcaYdsaYxsaYZsaYkyudO8cYc0rw1/XGmNLY/FFEbNEGzHl5MGWKmyMKXbgZ5g0bNmCMoW3btqSl\npcVyaPVGampqxTbZs2fPJjUVHnjgsH05pDq3387sVLvK74icZFYW3HFH3Ick4Tn99NO5+uqrKS4u\nxhhD7969yco64kefmPJaDbOIQzNNfCfaGubXX0/c+qRwM8xO/bLKMdxVtSzjl7+ErlW7z8vhRoxg\ndmYmUCVgzsqCgQPh6qsTMiwJz0MPPURq8AefeOzuV1W4JRnJ+CRRkpMCZvGdaB7VGQPPPQc33uj2\nqEITboZZ9cux4dRtzpkzp+Ibs9Ru4+bNfHfwII0zM+l1+un2jj89esD48XZbOWUCk0KnTp24//77\nadmyJVcn4IcctZUTr9JME9+JpiRj4UI4eBCCT+TjLtwMsxMwq0OGuzp37ky7du3YtWsXS5curfsE\nqcjG/7TfIFIXLYJt2+x/UCNHKlhOMn/84x/ZunWra/eVnTvhqadCO9ZrJRlqKycO3cXEd6IJmJ9/\n3s4uJ+r7uzLM3mBZ1hFlGVK7t9+2/z9deGHkXRXEnxo2hPvuC61Rile6ZKitnFSlgFl8J9Ib6cGD\n8OabcO21MRhUiCLNMCtgdp9TluG015KaGWP46COnb68CZjlcVhYMHw4vv1z3sSrJEK/STBPfiTTD\nnJ5ud8do3ToWowqNEzDv2bMnpNpZLfqLHWc74E8++YTC4HZl99wDn35a21n10/Llyzl4cAe5ua3p\nqtWRUo3Ro+GFF+reId1rJRkiDs008Z1oAuYoWo66Ii0tjezsbMrKyti3b1+txx44cIDdu3eTkZFB\ny5Yt4zTC+qN58+accsopFBYWMn/+fMDuK/vWWwkemAdNmfJjOYYeZUt1Tj8djjoK5syp/TivlGSI\nVKWZJr6T7O2GQq1jdsoxjj32WH3TiJGqZRlDhti7l2kd0OH+/W/7/88FF8S/DZkkjxtvtNeJ1EYB\ns3iVZpr4TrLvABVqHbM6ZMSes/DPCZhPOQVKSuCbbxI5Km8pLi5m9ep5wI9lLCLVueYa+Mc/aj9G\nNcziVZpp4jvJvDU2hJ9hVv1y7PTp04f09HQWL17Mnj17sCw7y5yonSC96PPPP+fQoUOceOKJtGrV\nKtHDEQ9r1Mhuz12bUGuYkz0xIslHM018J9yAec0aOHAgliMKT6gZZi34i72GDRvSu3fvYBeIjwA7\nYJ45M8ED8xCn7Z5TviISDa/t9Kc+zOJQwCy+E+6NdPRoePfdWI4oPMowe4sTCDqB4bnnwnvvJXJE\n3qKAWdzklZIMLV6VqhQwi++E86ju++9h+XK47LJYjyp04dYwK2COraoBc2qqvRGDwLZt21iwYAHp\n6en07ds30cMRH1BbOfEqzTTxnXBKMl54AUaNstuFeUUoGWZjjALmOOnRowc5OTl8//33rF+/PtHD\n8ZTnn3+L8vJyzj//fLKzsxM9HEkic+bA3r1Hvq4uGeJVmmniO/+/vTsPk7Mq8z7+Pb2RpMnCGpaE\noDCA8oJIwiIwMSgICIokGLOgLCKbgCaiwuuooAgzwBCCWwwgIEQCyCIiW1ga9NUJkMAIDFsYIAkQ\nCWugQ5buPu8fVdVUV3qpTj+19vdzXVypeuqpfg5XdXf9+q77nJNvYF67NrXz1PHHF2FQvZBPhXn5\n8uWsXLmSYcOGsdFGGxVraP1SXV0d+++/PwD39bSIbD/z61/fAMDEiRNLPBJVmtmzYc6cdY+XS0uG\nlMvvNFWdfHuYb78dtt8ePvaxYowqf9tuuy0A//jHP7o854UXXgCsLhdLbluGYOnSV3n11b/Q0LAB\nX/ziF0s9HFWYb3wDLrts3TXNM4E5s7tmVwzMKja/01R18u1h3mYbOPfcYoyod3bffXeGDRvGokWL\n2lfCyPXgg6l1b3fbbbdiDq3fyqwvfO+997a/Ua9aBemFM/qlGTNuAiKHHHKw7Rjqtc98BlasgAUL\nOh63JUPlyu80VZ18WzJGj4ZPf7oYI+qd2tra9ormPffc0+k5d6SX9Tj00EOLNq7+bMcdd2Trrbdm\n+fLlPPnkk0Cqpefwwzvvw+wPrr8+1Y7xla98pcQjUSWqqYGvfz1VZc42YMAAoHwqzC4rpwwDs6pO\npW9cAvC5z30O6Dwwv/322/ztb3+jrq7OpbyKJISwTlvG4MEwblyqtae/Wbr0FV555a9ssMEADjvs\nsFIPRxXq2GPhxhvh/fc/PFYugdll5ZTLwKyqU6wF7QspE5jvu+8+1q5d2+GxefPm0drayr777svQ\noUNLMbx+qbM+5gkT4KabSjWi0pk79w8AHHro5xk8eHCJR6NKtdVW8PvfQ/av6vr6empra2ltbV3n\nd182d/pTsfmdpqpTDb9IR40axY477siKFSt4+OGHOzyWacf4/Oc/X4qh9VuZPuaHHnqINWvWAPCF\nL6SWx8qukPUHN998PeDqGOq7gw+GdNtyu3yqzNVQGFFlqdxEIXWhp5aMFSuKOZr111lbRltbG3em\nt5kzMBfXlltuyc4770xzczPz588HYOONYe+9+9fOf4sXL+bvf/87AwcOtIdeBZHPShlO+lOx+Z2m\nqtNdYF62LLWU3OrVxR5V72UC8913391+7LHHHuP1119n5MiR7LzzzqUaWr/VWVvGWWfBqFGlGlHx\n/eEPmXaMQ9lwww1LPBpVo0yFubuVMgzMKja/01R1uvtFetVVqZUNymlnv66MGzeO+vp6HnnkEd56\n6y2gYzuGk1KKr7PAvP/+sOeepRpR8d1wg5uVqLB605JhYFax+J2mqtNVhbmtLbWE0Te+UYpR9d6G\nG27IvvvuS1tbG/fffz9g/3KpffrTn6a2tpb58+ezolJ6exL00ksvMX/+fAYNGmQ7hhK1ejVkdp7P\nZy1mA7OKze80VZ2uAvMDD6SWAttjj1KMav1k9zG/8cYbzJ8/n4aGBj7zmc+UeGT90+DBg9l7771p\nbW2lqamp1MMpuksuuRaAww47jEGDBpV4NKomd94JRx2Vul1OFWbXYVaGgVlVp6vZ07Nnp6rLldTJ\ncNBBBwGpPua77rqLGCOf/vSn7R0toZ42lalWa9as4YorfgXANyrlYxpVjEMPhUWL4OmnyyMw2/Km\nXAZmVZ3OlpWLEUaMgKlTSzWq9bPbbrux6aabsnjxYmbOnAnYjlFqhxxyCAB33nnnOtWnai5GzZ17\nPe+//xrbb79L+xJ7UlLq6+GYY+Dyy23JUHnyO01Vp7OWjBDgP/8Thg0r1ajWT01NDQceeCAAjz76\nKPBhYFNpjBkzhk022YT//d//5bnnnms//sADcOSRJRxYAcUYOe+8GQCceea3rb6pII4/Hq65Bhoa\nSl9hlnL5naaqUw1bY2fL9DEDfPSjH2WHHXYo4WhUW1vb3ipzZ9YCzGPGwL33whtvlGpkhfPQQw/x\n7LOP0di4OVOnTin1cFSlttsOdt0V3nyz5wpzNWxQpcrid5qqTrXtAJUdmF1Orjxkt2VkDB4MhxwC\nN95YqlEVzowZqeryMcec3N5fKhXCj34EQ4e605/Kj4FZVafaKg9bbbUVu+66K5BanUCld9BBBxFC\n4MEHH2TlypXtx6dOhd//voQDK4BFixZx22230dDQwA9/eHKph6MqN3YsjBrVTWBua4M5c2hLrwde\nc8EFMGdO6rhUQNWRKKQs2S0Z1TIJ65prruHyyy/vUG1W6Wy22WaMGTOG1atX88ADD7QfP+ig1Cz/\nzHqy1WDmzJnEGJk6dSrDhw8v9XDUD3Q56a+tDcaPhxNPpC3d+1SzeDGceCJMmGBoVkEZmFV1sgPz\nzJlw7rklHlACdt11V77+9a/bjlFGOmvLaGiA446DJ58s1aj6IF25Y8wYGD4cxozhndmzufLKKwGY\nNm1aiQeo/qLLZeWuuy41UaC5mUw0rgFoboZ582Du3MTH4jrMyjAwq+p8OHu6lt/8JvURn5S0rpaX\nu+CC1JqyFSWrcseCBfD667BgAZedeirNzc0c8NnPsssuu5R6lOonuqwwz5iRCsfQMTBD6vjFFyc2\nBosTymVgVvVIV8haX3wRgMcO/SGseJd/3deP6ZS8PfbYo315ueeff77Uw+mbrMpdxirg0rVrAZi2\n++4lGpj6o0yF+b33cirMS5a032xN/9shxCxdWtBxqX8zMKs6ZFXIWlevBuCGlz7FCW+cRzjS3jYl\nr7a2tr2nPLstoyJlVe4yLgWWAluyKQffd19JhqX+KROYf/vbVSxalPXAyJHtN1vS/9ZnP3HEiEIP\nTf2YgVnVIatClqk8PMABfG3N5QXrbZM662OuSFmVO4A3gfPStz/CydS88krRh6T+K9OSse22H3DZ\nZVkPTJsGjY0ArE0fqss81tgI06cXa4jqhwzMqg6d9LZN5A9swluJ97ZJGZkNTJqamjosL1dxsip3\nAD8F3gWGsBdnsdDKnYoqU2HedttVXHUVrFmTfmDyZDjgAGhs7FhhbmyEAw+ESZOKP1j1GwZmVYdO\netvOJmt5DHvbVACbb755+/JyTU1NHR574QU4++ySDKv3sip3LwC/AgIwgJ9wyKCHrNypqDIV5vr6\nD9h5Z7j11vQDNTVw880wezYtQ4cCULfddjB7Ntx0U+pxqUD87lJ1yKqQZQJzh/2frJCpQDJtGXfc\ncUeH45tvDpdeCq++WopR9VJW5e4sUh9378DenFL/CLWf+6yVOxVV9rJyJ5yQysPtampgyhTW7rMP\nAHUzZ8KUKQULyy4rpwwDs6pDVoVsneWG7G1TAWUH5uw318GDYeJE+O1vSzWyXkhX7u7/1re4ERhA\nYFnNFXz9Pz9u5U5Flx2YjzgCtt8eWlo6ntOSPlBfX5/79ES4rJxy+VtQ1SGrQtahwmxvmwpszz33\nZPjw4bz44os8/vjjHR474QS47DJobe3iyWVk9dq1nPyHPwDww5+dy2OLPs6I044wLKvostdh3mAD\nmDUL6uo6npMJzHW5D0gF4m9CVYes3ra22lQzRu0nPmFvmwqutraWCRMmAHDDDTd0eGz33VOtGXff\nXYqR9c7PfvYznnvuOT72sY9xxhln8JGPlHpE6q+63Okvy9r0GuEGZhWLKUJVI4YajrhxCi0DBwFQ\n8+CDBe1tkzImTpwIwPXXX79Oz+OJJ8L115diVPmbP38+5513HiEEZs2aRUNDQ6mHpH6sy53+shS6\nJUPKZZJQ1XjwQXj+eYgx1cVcW1vbwzOkZOy3335sscUWvPjiiyxYsKDDY1/7Glx+eYkGlofm997j\nq1/6Eq2trXxn4EDGTp8Oc+a42Y9KJp8Ksy0ZKjYDs6rGrFmpal5rumG0xsqyiqS2tpYvf/nLwLpt\nGQ0NULZFsLY2zth1V55ftoxdgHNXroQFC1I/SBPcIVOl0V1gznyAY0uGis1Eoarw+uupPtGvfvXD\nwGyFWcWUacu44YYbKmYpqju+/31mvfQSDcC1wEL25kW2TW324w6ZKoW2NgbefjsAH/zznzBmTPsn\nHldfDd/9buo0WzJUbAZmVYUrr4Tx42HYMGhrsyVDxbfPPvuw9dZb8/LLL/Pwww+Xejg9euONNzju\nkksAOBfYBTiVX/AsO6ZOcIdMFVtbG4wfz4Bp0wBYFWOHTzzG7tfGVVfBBx8Ur8JcKX/8qvAMzKoK\nDz0EJ52Uum1Lhkqhpqamy7aMchNj5IQTTuCfLS2MBaYDD7A/77MhBzLvwxPdIVPFdN11cO+9DEhv\nM7+a9Lr66U88PjJ/LnvsATfcUPgeZtdhVi4TharC7benPrnLrgYYmFVs2W0ZbZ30/86dC+VQfJ45\ncya33HILg2tquJrUmuU/4wecxfnUkjVud8hUMc2YAc3NBGCD9KHVmcfSn3icdBL85je2ZKj4TBSq\nCiGk/rO6rFLaa6+9GDlyJEuXLuW//uu/1nl8xQo4++zijyvbX//6V76bbgS96rTT2Laxkf9iL15g\nO6Yy58MT3SFTxbZkSfvNgel/Oywst3Qphx4KixfDBx846U/FZapQVXHCn0qppqaGLx95JAA3HHEE\nDB/eYdLS0UfDP/4BCxeWZnzLli1j4sSJtLS0cMYZZzD+4ovhgAP499of8D0uoJ70/sPukKlSGDmy\n/eag9L/N2Y+PGEFdXervuNWrXVZOxWVgVlVxwp9Kqq2Nr6TXYb7x9ddpe/31DpOWNqhv44wz4Lzz\nij+0lpYWJk2axGuvvcbYsWM5//zz23fIvPTiVo775OOpgD96tDtkqjSmTUv9sQY0pg+tzDyW9YnH\n9OlQW2tLhoorr9+GIYSDQwjPhBCeCyF8v5PH/zWEsCCEsDaEML6TxweHEJaEEC5NYtBSV2zJUEld\ndx17PPooo4BXgb9mjmct0/aNb8Bf/gJPP13cof3gBz/gwQcfZIsttmDu3LkfVuZqatjm9C8xYOHf\nYNkyePRRd8hUaUyeDAccAI2N7YG5GTr9xMN1mFVsPf5GDCHUAL8ADgJ2BiaHEHbKOe1l4GjIboDr\n4KfAg30Yp7SOefPg6qs7HrPCrJKaMYOwciVfSd+9Jvux9KSlxkb41rdSXRrFcvPNN3PBBRdQW1vL\n9ddfz5Zbblm8i0v5Sn/iwezZDEpXmpt32KHTTzyKtdOfy8opI58Swp7A8zHGl2OMa4G5wOHZJ8QY\nF8cYnwTW+c4KIYwGNgfuSWC8UruLLoLcXGyFWSWVnrR0bPrutcDy7MfTy7R997vw058WZ0hPPPEE\nX/va1wD4j//4D8aOHVucC0vro6YGpkyhcZ99AGieObPTTzwKvUqGy8opVz6pYmtgSdb9peljPQqp\n77iLgDMAv/uUmEWL4LHHID2/qp2T/lRS6UlLOwGfB1YBv85+PL1MW319alWXQnvjjTf44he/SHNz\nM0cddRTTXfVCFaIxU2Fubl7nsRhje2D2d72KpdDNP6cAf44xvpr+a63Lt4izs9ZaGjduHOPGjSvw\n0FTJZs2CY4+FAQM6HrclQyU1bVpqgl9zM2cAd5DqZ/suMLDIy7StXbuWiRMn8tJLLzFmzBhmz57d\noWp20UXwla90WJhAKhuZwLxy5cp1Hsv+JPHQQ2u49lrYZJOiDk8Vpqmpiaampj59jXwC8yvANln3\nR6SP5eNTwH4hhFOAwUB9COG9GOP/zT3x7FIvTqqK8cEHqd7l+fPXfcyWDJXU5Mlw441w772Ma25m\nd2AhcE1DAycUeZm273znOzzwwAMMHz6cW265hYEDB7Y/1tQEl1764e6YUrnprsKc3Y6x+eZw5ZVw\nxhlFHZ4qTG4h9pxzzun118gnVTwCbB9CGBVCaAAmAbd1c357CSPGeFSMcdsY40dJtWX8rrOwLPXG\n/fenlrb96EfXfcwKs0oqa9JSGD2aM4YMAeDiTTah7cYbu1x5Iv3+n5grrriCn//85zQ0NHDLLbcw\nImvHvtWrU0H50kthww2Tva6UlEGDUisxdxaYs1fIOPnk1CeOnWysKSWqx8AcY2wFTiU1ae8pYG6M\n8ekQwjkhhMMAQghjQghLgCOBWSGEJwo5aPVvhx4Kt9zS+WNWmFVy6UlLPPooR77xBttssw3PvvYa\nf77zzk5Pf+st2Hnn1L9JuP/++zkpXTqeNWsWn/rUpzo8fuGFsMMOcPjhnT1bKg/5VJjr6urYay8Y\nMiS1apJUSHmlihjjXTHGHWOM/xJj/Pf0sR/HGG9P3340xjgyxjg4xrhZjHGXTr7G1THG05Mdvvqr\n3N7lDCf9qZzU19fz7W9/G4CLLrqo03M23ji1xOyZZ/b9ek899RTjx4+npaWF6dOnc+yxx3Z4fNEi\nuOQS+PnPizPpUFpf+bZkhAAnnwy//vU6p0mJsgynqpJpybDCrHJx/PHHM3ToUB566CEefvjhTs/5\n2c/gz3+Gv/1t/a/z2muv8fnPf553332XCRMmcOGFF65zzhNPwI9/DKNGrf91pGLobtJf7qYlU6bA\nyy+n5rckzXWYlWGqUFWxwqxyM3jwYE444QSg6yrz0KFw8cWpBTbSWaBX3n//fQ477DAWL17Mpz71\nKa655ppO/2g84gg47bTef32p2LqrMK9evRqAhoaG9LmwcCFkzWvtM9dhVi4Ds6qKk/5Ujk4//XTq\n6+u58cYbufvuuzs9Z+JE2GorOP/83n3tlpYWJk2axMKFC9luu+344x//2GFFDKkSdTfp75133gFg\n2LBh7cfMtyo0A7MqQlsb/OhHPX/k5qQ/laMRI0a0L2N0zDHHsHz58nXOCQF+9zv40pfy/7otLS0c\ne+yx/PnPf2bjjTfmjjvuYLPNNktq2FLJdFdhfis9Q3bjjTcu6pjUv5kqVBHuuw9uvbXryX4ZDZI7\nQQAAHYdJREFUtmSoXH3ve99j7NixLFu2jOOPP77T3sjhw2HXXbv4Am1tMGdOak3F4cNZO3o0U/fb\nj2uvvZbGxkb+9Kc/scMOOxT2f0Iqku56mA3MKgUDsyrCL38J3/xmzx+7OelP5aq2tpbf/e53DB06\nlNtuu43LLrss/ye3tcH48akm5wULWP3660xcuJAb5s9nSF0d99x1F/vss0+Hp6xdm9o6vrMNfqRy\n112F+e233wZgo402KuqY1L+ZKlT2Fi+Gv/wFpk7t+VwrzCpno0aN4tfp9a+mTZvGs88+m98Tr7sO\n7r0XmptZBYwHbgWGAffW1bHP4sUdTo8RTjgBVq6E3XdP8v9AKo71bcmYPx9++tPCjk39k4FZZW/W\nLDjqqPx2JXPSn8rd5MmTmTp1KitXrmTq1KmsWbOm2/Mvuwyu/bdnaGteyT+Bw4A7gE2AB4A9Vq1K\nLbGRtnhxagfup59O7dJdX1/A/xmpQLqb9JepMHcWmEeNSv04pOcF9pnLyinDwKyy1tqamgh1yin5\nnu+kP5W/X/7yl4waNYoFCxawzz77dLk+M8DHPw6XLvkiH+G7bE8t9wGbA03AbpmTli4F4De/gU9+\nEnbcMVWQThfppIqTT4W5s5aMLbaAgw+Gq67q2/VdVk65TBUqa7W18PjjqQCQDyvMqgRDhw7lxhtv\nZMSIESxYsIC9996bE044gTfffHOdcwcOXAgbjGMxF/A+rQznk1zMfvyf7JNGjABgn33gv/8bfvKT\n/D6RkcpVXyb9ffOb8KtfpVr/paQYmFX2Nt00/3OtMKtS7LHHHjzzzDOceeaZ1NXVcdlll7HDDjtw\n3HHHcdhhhzF69Gi23HJLRo8ezSMrV7J1CPyeeqbxWf6bL3z4hRobYfp0AHbZpT07SxUt05KxcuXK\nddoiepr0t+++MGhQ6lMWKSl1pR6AlCQn/amSNDY2cv7553P00Udz6qmnct9993HllVd2OKehoYFT\nTj6Znzz/PIMffBCaL8r+AnDggammZamK1NbWMmDAAFatWsUHH3zQHqCh5wpzCKkq8x13wOc+V5Th\nqh8wMKuq2JKhSrTTTjsxb9487r77bl588UW22morttxyS7baaiuGDx9OfX196vPluXNTM5qWLk2V\nkqdPT4VlP1FRFRo0aBCrVq2iubm5Q2DubtJfxnHH+WOhZBmYVVVsyVClCiFw8MEHd31CTQ1MmZL6\nT+oHGhsbeeutt2hubu6wg2V3k/4yrJkoaaYKlaU//hGeeqr3z7PCLEnVobOJf2vXruX999+ntraW\nIUOGlGpo6ocMzCo7LS1w+umwalXvn2uFWZKqQ2dLy2XaMYYNG1aUpd9ch1kZpgqVnT/9CbbeGkaP\n7v1znfQnSdWhs8Dc04S/pLgOs3IZmFV2Lr0UTjtt/Z5rS4YkVYfOdvtbn8D8i1/A3/+e7NjU/xiY\nVXCXX3455557bl7nPvEEPPssTJiwfteyJUOSqkN3LRndTfjrzIwZyY1L/ZOpQgX3ne98hx/+8Ie8\n++67PZ47axacdBI0NKzftawwS1J16GzS3/pUmI8+OrWJyZIlyY5P/YuBWQW1evVqVqxYAcCqPGbx\nnX8+fOtb6389K8ySVB26qzD3JjAPHgxHHZUqyEjry1ShgspUAyC1HFBPhgyBoUPX/3pO+pOk6tDd\npL/etmSceipcfvn6rb4kgYFZBfbmm2+2325paSn49WzJkKTqkNSkP4AddkitvNTUlNjw1M+4058K\nKjsw51Nh7itbMiSpOiQ56Q/g1lt7Pz/GdZiVYapQQfW2JaOvrDBLUnVIatJfRm/CsuswK5eBWQWV\nT4X52WfhjjuSuZ4VZkmqDklN+pOSYKpQQeVTYb7wQli4MJnrOelPkqpDkpP+pL6yh1kF1dOkv+XL\n4aab4LnnkrlepiXDCrMkVbYkJ/3lra0Nrrsu1fAMcO65MHAgTJ4Mvq/0a776KqieWjJmz4bx42Gz\nzZK5nhVmSaoOuRXmGGOfJv1ltLXBaadBVg7/8IHx4+HEEyHz3vXyy6n7EyakHle/ZWBWQXXXkrFm\nDfzqV33bqCSXk/4kqTrkTvp7//33aWlpYdCgQWywwQbr/XVrauCVV+B3v8t54LrrUlsC5ibp5maY\nNw/mzl3va6ryGZhVUN1VmG+5BXbcEXbdNbnrOelPkqpDboU5yQl/3/oWzJyZUzSeMWOdsNy+qFxz\nM1x8cZ+vq8plqlBBdVdhHj8errkm2etZYZak6pAbmJOc8Dd2bKo1+Z57sg4uWdJ+s9NF5ZYu7fN1\nVbkMzCqo7irM9fWw9dbJXs8KsyRVh9xJf0lO+AshVWW+5JKsgyNHdv+kESP6fF1VLlOFCibGWPSt\nsZ30J0nVoZAtGQCTJsHTT8OyZekD06ZB+pqdDAamT0/kuqpMBmYVzMqVK1mzZk37fXf6kyTla+DA\ngYQQWL16Na2trYmvwTxgQGpJ0y22SB+YPBkOOGDd0NzYCAcemErY6rcMzCqY7OoyFCcw25IhSdUh\nhNDelrFy5cqCrMHcYbGNmhq4+ebUeqebbpo6ts02qfs33eQ6zP2cr74KprPA/N57qd89hWKFWZKq\nR3ZbRhJrMPeopgamTIEvfSl1/9/+LXXfsNzv+R2ggsleIQNSgfm3v4X77ivcNa0wS1L1yJ74V/Bd\n/qRuuDW2Cia3wrx6dQszZxZ27Xcn/UlS9eiswmxgVilYhlPB5FaYH3tsLVttBXvtVbhr2pIhSdUj\ne7e/pCf9ZXvnHTj1VIix53PVPxmYVTC5FeamprUFX5XHlgxJqh7ZFeZCtmQMHQpNTYVtGVRlM1Wo\nYDKBuaGhAYAVK9a2z6MoFCvMklQ9itWSEUJqmWV3v1ZXDMwqmEw1YPjw4QAce+xaCp1jrTBLUvXo\nbNJfoVbJmDIFFi6E//mfgnx5VThThQomU2HeIr0q/MCB7vQnScpfpsL87rvv8t5771FTU8OQIUMK\ncq0BA+CUU3K2y5bSDMwqmExgzlSY3elPktQbmcD8yiuvADBs2LCCfoJ48smpPuZ07YXoLEClGZhV\nMJmPzzIVZnf6kyT1RiYwL126FCj8knKbbQbPPgt1daGg11HlMVWoYHJbMqwwS5J6IxOYlyxZAhRn\nDeY6d6hQJwzMKoi2trb2CvNmLy0GYO0VV8CYMTBnDqSDbdKsMEtS9chM+stUmAu6LbbUDVOFCmLF\nihW0tbVRGxoZdENqa7+WVatgwQI48USYMKEgodlJf5JUPUpRYZY6Y2BWQSxfnmrH2Iw26tesAaC9\nIaO5GebNK8ge2ZmWDCvMklT5snf6AyvMKh1ThQri9ttT7RhbxQ+oTx/r0MHc3FyQFeKtMEtS9cgE\n5oxiV5ivvtrtspViYFZBXHllqsK8CZCZP7HOKszpnrQkOelPkqpHqQPzokXw0ENFvaTKlIFZiXv2\nWXjttVSFeRMgE11bc08cMSLxazvpT5KqR2bSX0axWzIOPBAuvLCol1SZyitVhBAODiE8E0J4LoTw\n/U4e/9cQwoIQwtoQwvis458IIfwthPBECOHxEMLEJAev8rTjjvDd76YqzBvX1XUemBsbYfr0xK9t\nS4YkVY9SV5j33hsefdTtspVHYA4h1AC/AA4CdgYmhxB2yjntZeBoYE7O8WbgqzHGXYBDgEtCCIXZ\n01JlZeXKdEvGRz9K3QYbAFktGY2NqT/bJ01K/LpO+pOk6lHqwNzQAKeeapVZ+VWY9wSejzG+HGNc\nC8wFDs8+Ica4OMb4JBBzji+KMb6Qvv0a8DqwWSIjV1nLrMG88UknUXv66QC0NjTA6NEwezbcdBMU\nINRaYZak6pEbmEuxSsY3vwlPPAHpBZ/UT+WTWLYGlmTdX5o+1ishhD2B+kyAVnXL7PK3yaabUnvA\nAQC0jh2b+mxrypSChGVw0p8kVZNSV5gBNtoIHnkkVW1W/1WUDSBDCFsCvwO+WozrqfTaA/Mmm7SH\n10z1t5Cc9CdJ1aPUk/4yQijJZVVG8gnMrwDbZN0fkT6WlxDCYOB24KwY4yNdnXf22We33x43bhzj\nxo3L9xIqAytWwI9+BDNmpH6xtLdkbLwxq1atAooTmK0wS1L1aGhooLa2ltbWVgYOHMiAAQOKev3o\nIsxVoampiaampj59jXwC8yPA9iGEUcBrwCRgcjfnt/8dFkKoB24Fro4x3tLdRbIDsyrPrFmwfPmH\nf4VnV5iXLVsGWGGWJPVOCIHGxkZWrFhR1HaMYEm5quQWYs8555xef40eU0WMsRU4FbgHeAqYG2N8\nOoRwTgjhMIAQwpgQwhLgSGBWCOGJ9NMnAvsBx4QQHgshLAwh7NrrUaqsrVoFl1wC3/veh8cyFeZS\ntWRYYZak6pDpY3ZbbJVSXj3MMca7gB1zjv046/ajwMhOnjeHdZeaU5W55hrYbTf4xCdS91taWnjn\nnXcIITB06NCiBmZbMiSpumQCcykm/OV6802YMAHmzYP6+lKPRsXk59bqk9bW1PqU38/azubtt98G\nUtWA2tpa6upSf5e1tKyzOXYBxmNLhiRVk8zEv3KoMG+ySerfG24o7ThUfKYK9cljj8GWW8LYsR8e\ny57wB1hhliStt3KqMAOceWZqKwH1L0VZVk7Va8wYuP/+jkvuZE/4g+IGZivMklRdyi0wH3RQarNa\n9S+mCvVZbjG3HAKzFWZJqg7lNukvhHXf91T9DMxKnC0ZkqSklFuFWf2TgVmJK4cKsy0ZklQdvvCF\nL7Dddtux//77l3oo6sdMFUqcFWZJUlImTZrEokWL2GmnnUo9FPVjBmYlzgqzJEmqJqYKJa4cArMV\nZkmSlBQDsxKX25JRzI1LbMmQJElJMzArceVQYbYlQ5IkJcVUocRlArOT/iRJlSzGWOohqEwYmJW4\nTEuGFWZJUiUK2dvXShiYlbDVq1fT3NxMXV0dgwcPBpz0J0mSKpuBWYnKnvCX+QvdlgxJklTJDMxK\nVO6EP7AlQ5IkVTZThRKVO+EPOgbmQk+gsCVDkiQlzcCsROVO+INUtTfTnpFpmSgUWzIkSVLSDMxK\nVGctGVC8tgxbMiRJUtJMFUrUihUrABgyZEiH48UOzFaYJUlSUgzMSlQmsGa2w84oVmC2JUOSJCXN\nwKxEdVXhtSVDkiRVKlOFElUugdkKsyRJSoqBWYkqZWCOMbYvW2eFWZIkJcVUoUSVMjBn+pdDCO3L\n2EmSJPWVgVmJ6iowZyYBFjIw244hSUpSoTfbUuUwMCsZbW0wZw6tV1wBQO2sWTBnTuo4H4bYlpaW\nAg7BFTIkSX3np5TKZWBW37W1wfjxcOKJtC1bBkDNq6/CiSfChAnQ1laUlgxXyJAkSYVgslDfXXcd\n3HsvNDeTicO1AM3NMG8ezJ1b1MBshVmSJCXJwKy+mzEjFY6hY2CG1PGLLy7qpD8DsyRJSpKBWX23\nZEn7zbb0vx2+sZYutSVDkiRVLJOF+m7kyPabnQbmESNsyZAkSRXLwKy+mzYNGhsByCzA0/6N1dgI\n06fbkiFJkiqWgVl9N3kyHHAANDa2V5gDpMLygQfCpEm2ZEiSpIplslDf1dTAzTfD7NnETTdNHdpm\nG5g9G266CWpq2jcuKeQ6zLZkSJKkQjAwKxk1NTBlCm3jxwMQzjoLpkxJHae4W2NbYZYkSUkyWShR\nmW1Ec0Ork/4kSVKlMjArUZkqb+62ogZmSZJUqQzMSlQpK8y2ZEiSpEIwWShRVpglSdUiUwSSDMxK\nlD3MkqRKl1v0kQzMSlQpK8y2ZEiSpEIwWShRXVWYM+swW2GWJEmVxsCsRPVUYS7kxiVujS1JkgrB\nwKxEZSrMpZz0Z0uGJElKkslCieqqj9hJf5IkqVIZmJWoUlaYbcmQJEmFYGBWosphWTlbMiRJUpJM\nFkqUG5dIkqRqY2BWospha2wDsyRJSpKBWYkqhwqzLRmSJClJJgslqqeNSwq5DrMtGZIkqRAMzEpU\nOWyNbWCWJElJMjArUa6SIUmqFpn3NCmvZBFCODiE8EwI4bkQwvc7efxfQwgLQghrQwjjcx47Ov28\nZ0MIX0tq4CpP5dDDbIVZktQXue9hUl1PJ4QQaoBfAJ8FXgUeCSH8Mcb4TNZpLwNHA2fkPHcj4EfA\n7kAAFqSf+25C41eZcZUMSZJUbfKpMO8JPB9jfDnGuBaYCxyefUKMcXGM8Ukg97OLg4B7Yozvxhjf\nAe4BDk5g3CpT5VBhtiVDkiQlKZ9ksTWwJOv+0vSxfOQ+95VePFcVqBx6mK0wS5KkJFmKU6JcJUOS\nJFWbHnuYSVWFt8m6PyJ9LB+vAONynvtAZyeeffbZ7bfHjRvHuHHjOjtNZa6ndZhtyZAkScXU1NRE\nU1NTn75GPoH5EWD7EMIo4DVgEjC5m/OzS4t3Az8LIQwlVc0+EDizsydlB2ZVrp4qzG5cIkmSiim3\nEHvOOef0+mv0WIqLMbYCp5KasPcUMDfG+HQI4ZwQwmEAIYQxIYQlwJHArBDCE+nnvg38FHgUmA+c\nk578pyrlKhmSJKna5FNhJsZ4F7BjzrEfZ91+FBjZxXOvAq5a7xGqorhKhiRJqjYmCyXKVTIkSVK1\nMTArUa6SIUmSqo2BWYkqhwqzLRmSJClJJgslqhx6mK0wS5KkJBmYlShXyZAkVYvMe5pkYFaiuqow\nZzYuKcY6zLZkSJL6Ivc9TDJZKFHl0MNshVmSJCXJwKxEuUqGJEmqNgZmJSpTYXbjEkmSVC1MFkpU\npsprS4YkSaoWBmYlqpQVZlsyJElSIRiYlahymPRnS4YkSUqSyUKJcuMSSZJUbQzMSlRXFebMOsy2\nZEiSpEpjYFaieqowu3GJJEmqNCYLJaocepitMEuSpCQZmJUoNy6RJEnVxsCsRJVDhdmWDEmSlCST\nhRLlKhmSJKnaGJiVqFJWmG3JkCQlKfOeJhmYlahyqDDbkiFJ6ovc9zDJZKFElUMPsxVmSZKUJAOz\nEtVVhTmzcUkh12G2JUOSJBWCgVmJKocKsy0ZkiQpSSYLJaocepitMEuSpCQZmJUoV8mQJEnVxsCs\nRJVDhdmWDEmSlCSThRJVDj3MVpglSVKSDMxKVCkrzLZkSJKkQjAwK1HlUGG2JUOSJCXJZKFE9bQO\nsy0ZkiSp0hiYlaieKszF2LjECrMkSUqSyUKJKodVMqwwS5KkJBmYlahy6GE2MEuSkpB5T5MMzEpU\nOaySYUuGJKkvct/DJJOFEpX5a9yWDEmSVC0MzEpUV1Xe7PuZcwp1bQOzJElKkoFZieqqwgyFrzK7\nDrMkSSoEk4US1dWkPyheYLbCLEmSkmRgVqK6mvQHH25eUqi1mG3JkCRJhWBgVqLKocJsS4YkSUqS\nyUKJ6q7CbEuGJEmqRAZmJSZ7gfdSBGZbMiRJUiEYmJWYUgdmWzIkSVIhmCyUmO76l8GWDEmSVJkM\nzEpMd/3LYEuGJEmqTAZmJaZcKsy2ZEiSpCSZLJSYnirMmXWYbcmQJFWC7Lk56t8MzEpMvhVmNy6R\nJJWzrgo/6r8MzEpMqXuYbcmQJEmFYLJQYsqlh9kKsyRJSpKBWYkpdYXZlgxJklQIBmYlplwqzLZk\nSJKkJJkslJhSV5htyZAkSYWQV2AOIRwcQngmhPBcCOH7nTzeEEKYG0J4PoTw9xDCNunjdSGEq0II\n/wghPBVCODPp/wGVj1JXmG3JkCRJhdBjYA4h1AC/AA4CdgYmhxB2yjnt68BbMcZ/AS4BLkgf/zLQ\nEGPcFRgDnJgJ06o+5VJhtiVDkiQlKZ9ksSfwfIzx5RjjWmAucHjOOYcDV6dv/wH4TPp2BBpDCLXA\nIGA1sKLPo1ZZ6qnCnNm4pBDrMMcYrTBLkqSCyCcwbw0sybq/NH2s03NijK3AuyGEjUmF55XAa8BL\nwEUxxnf6OGaVqVJWmDNhPYTggvOSJClRdQX6upnEsifQAmwBbAL8JYRwb4zxpdwnnH322e23x40b\nx7hx4wo0NBVKKXuYbceQJEmdaWpqoqmpqU9fI5/A/AqQ3Xc8In0s21JgJPBquv1iSIzxrRDCFOCu\nGGMbsDyE8P9I9TK/lHuR7MCsylTKCrMrZEiSpM7kFmLPOeecXn+NfMpxjwDbhxBGhRAagEnAbTnn\n/Ak4On37y8D96duLSfczhxAagb2BZ3o9SlWEUlaY7V+WJEmF0mNgTvcknwrcAzwFzI0xPh1COCeE\ncFj6tCuATUMIzwPfBjLLx/0SGBxCeBKYD1wRY3wy6f8JlYdyqDDbkiFJSkqmECTl1cMcY7wL2DHn\n2I+zbq8GJnbyvObOjqs6ZU+864wtGZKkSuDkceWyHKfEZCrMtmRIkqRqYmBWYnqqMGfWYbYlQ5Ik\nVRLThRKT76S/QmxcYkuGJEkqFAOzElPKSX+2ZEiSpEIxMCsxblwiSZKqkelCiSmHZeWsMEuSpKQZ\nmJUYNy6RJEnVyMCsxJRDhdmWDEmSlDTThRJTDj3MVpglSVLSDMxKjKtkSJKkamRgVmJ6qjBnNi4p\n5DrMtmRIkqSkmS6UmHLoYbbCLEmSkmZgVmJcJUOSVE0y72uSgVmJKYcKsy0ZkqS+6up9TP2X6UKJ\ncZUMSZJUjQzMSoyrZEiSpGpkYFZiyqHCbEuGJElKmulCiSmHHmYrzJIkKWkGZiUm33WYbcmQJEmV\nxMCsxORbYXbjEkmSVElMF0pMOfQwW2GWJElJMzArMa6SIUmSqpGBWYkphwqzLRmSJClppgv1WVNT\nE+AqGZUq8/qp8vjaVTZfv8rla9f/GJjVZ5lfHKWsMNuSsf78xV+5fO0qm69f5fK1638MzEpMOVSY\nbcmQJElJM10oMZkKc1eB2XWYJUmVJPO+JoVy+GYIIZR+EJIkSeoXYoydV/e6UBaBWZIkSSpXtmRI\nkiRJ3TAwS5IkSd0oaWAOIRwZQngyhNAaQtg96/ioEMLKEMLC9H+/KuU41bmuXr/0Y2eFEJ4PITwd\nQvhcqcaonoUQfhxCWJr183ZwqceknoUQDg4hPBNCeC6E8P1Sj0f5CyG8FEL47xDCYyGEh0s9HnUv\nhHBFCOGfIYR/ZB3bKIRwTwjh2RDC3SGEoaUco7rWxevX6/e9UleYnwCOAB7s5LFFMcbd0/+dUuRx\nKT+dvn4hhI8BE4GPAYcAvwpdLZ2hcnFx1s/bXaUejLoXQqgBfgEcBOwMTA4h7FTaUakX2oBxMcZP\nxhj3LPVg1KMrSf2sZTsTuDfGuCNwP3BW0UelfHX2+kEv3/dKGphjjM/GGJ8HOgtTBqwy183rdzgw\nN8bYEmN8CXge8E2hvPnzVln2BJ6PMb4cY1wLzCX1c6fKECh9wUp5ijH+FXg75/DhwNXp21cDXyrq\noJS3Ll4/6OX7Xjn/wG4bQlgQQngghLBfqQejXtkaWJJ1/5X0MZWvb4YQHg8hXO5HixUh92dsKf6M\nVZII3B1CeCSE8I1SD0brZfMY4z8BYozLgM1LPB71Xq/e9+oKPZoQwjxgePYhUr8sfhBj/FMXT3sV\n2CbG+Ha6N/bWEMLHY4zvF3i4yrGer5/KTHevI/Ar4CcxxhhCOBe4GPh68Ucp9Rv7xhhfCyFsBswL\nITydroKpcrlGb2Xp9ftewQNzjPHA9XjOWtLl8xjjwhDCC8AOwMKEh6cerM/rR6qiPDLr/oj0MZVI\nL17HywD/ECp/rwDbZN33Z6yCxBhfS/+7PIRwC6kWGwNzZflnCGF4jPGfIYQtgNdLPSDlL8a4POtu\nXu975dSS0d5LEkLYND2phRDCR4Htgf8t1cCUl+xeoNuASSGEhhDCR0i9fs4EL1PpX/YZ44EnSzUW\n5e0RYPv0ikINwCRSP3cqcyGEQSGEDdO3G4HP4c9cJQis+z53TPr20cAfiz0g9UqH12993vcKXmHu\nTgjhS8DPgU2B20MIj8cYDwHGAj8JIawhNZv4xBjjOyUcqjrR1esXY/yfEMINwP8Aa4FToltKlrML\nQgi7kfpZewk4sbTDUU9ijK0hhFOBe0gVPq6IMT5d4mEpP8OBW0IIkdR78JwY4z0lHpO6EUL4PTAO\n2CSEsBj4MfDvwI0hhOOAl0mtDKUy1MXrt39v3/fcGluSJEnqRjm1ZEiSJEllx8AsSZIkdcPALEmS\nJHXDwCxJkiR1w8AsSZIkdcPALEmSJHXDwCxJkiR1w8AsSZIkdeP/A09Eyy8nLiNBAAAAAElFTkSu\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f4ada417278>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def learn(x, y, N):\n",
    "    X = x[:, None] ** np.arange(N+1)    \n",
    "    w = np.linalg.solve(np.dot(X.T, X), np.dot(X.T, y))\n",
    "    return w\n",
    "\n",
    "def predict(x, w):\n",
    "    N = w.size\n",
    "    X = x[:, None] ** np.arange(N)\n",
    "    \n",
    "    return np.dot(X, w)\n",
    "\n",
    "def plot(N):\n",
    "    \n",
    "    plt.figure(figsize=(12, 9))\n",
    "    cx = np.linspace(-10, 10, 100)\n",
    "    plt.plot(cx, f(cx), 'b--', linewidth=1)\n",
    "\n",
    "    w = learn(x, y, N)\n",
    "    sx = np.sort(np.concatenate([cx, x]))\n",
    "    plt.plot(sx, predict(sx, w), 'k', linewidth=2)\n",
    "    plt.scatter(x, y, marker='o', color='r', s=60)\n",
    "    plt.ylim([0.07, 0.23])\n",
    "    plt.show()\n",
    "    \n",
    "    \n",
    "widgets.interact(plot, N=widgets.IntSlider(min=0, max=N_samples-1))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "## Игрушечная задача классификации"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "toy = np.load('./toy.npz')\n",
    "X, y = toy['X'], toy['y']\n",
    "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Задача 1. \n",
    "Вычислите коэффицент корреляции между каждым признаком и целевой переменной. \n",
    "\n",
    "Какой признак наиболее скоррелирован с целевой переменной?\n",
    "\n",
    "Постройте на одном графике две гистограммы, отображающие распределение значений найденного признака среди объектов\n",
    "первого и второго класса (для тренировочной выборки).\n",
    "\n",
    "Попробуйте выдать найденный признак в качетве предсказания, какое значение AUC-ROC получает такой алгоритм на тренировочной и тестовой выборке?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Задача 2.\n",
    "Отобразите объекты тренировочной выборки на scatter-plot'e, используя  качестве осей $x$ и $y$ 0-ой и 4-ый признаки. Не забудьте выделить каждый класс своим цветом.\n",
    "\n",
    "Можете ли вы улучшить разделение классификацию объектов используя выбранные признаки?\n",
    "\n",
    "Попробуйте использовать в качетве предсказания линейную композицию 0-го и 4-го признаков с весами 2 и 3. \n",
    "($a(x) = 2 x_0 + 3x_4$).\n",
    "\n",
    "Какое значение AUC-ROC  получает новый алгоритм на тренировочной и тестовой выборке?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "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.5.2"
  },
  "widgets": {
   "state": {
    "84230e0f37144af197e83a371cdc03d0": {
     "views": [
      {
       "cell_index": 3
      }
     ]
    }
   },
   "version": "1.2.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
