{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Decision trees, overarching aims\n", "\n", "\n", "We start here with the most basic algorithm, the so-called decision\n", "tree. With this basic algorithm we can in turn build more complex\n", "networks, spanning from homogeneous and heterogenous forests (bagging,\n", "random forests and more) to one of the most popular supervised\n", "algorithms nowadays, the extreme gradient boosting, or just\n", "XGBoost. But let us start with the simplest possible ingredient.\n", "\n", "Decision trees are supervised learning algorithms used for both,\n", "classification and regression tasks.\n", "\n", "\n", "The main idea of decision trees\n", "is to find those descriptive features which contain the most\n", "**information** regarding the target feature and then split the dataset\n", "along the values of these features such that the target feature values\n", "for the resulting underlying datasets are as pure as possible.\n", "\n", "The descriptive features which reproduce best the target/output features are normally said\n", "to be the most informative ones. The process of finding the **most\n", "informative** feature is done until we accomplish a stopping criteria\n", "where we then finally end up in so called **leaf nodes**. \n", "\n", "## Basics of a tree\n", "\n", "A decision tree is typically divided into a **root node**, the **interior nodes**,\n", "and the final **leaf nodes** or just **leaves**. These entities are then connected by so-called **branches**.\n", "\n", "The leaf nodes\n", "contain the predictions we will make for new query instances presented\n", "to our trained model. This is possible since the model has \n", "learned the underlying structure of the training data and hence can,\n", "given some assumptions, make predictions about the target feature value\n", "(class) of unseen query instances.\n", "\n", "\n", "## General Features\n", "\n", "The overarching approach to decision trees is a top-down approach.\n", "\n", "* A leaf provides the classification of a given instance.\n", "\n", "* A node specifies a test of some attribute of the instance.\n", "\n", "* A branch corresponds to a possible values of an attribute.\n", "\n", "* An instance is classified by starting at the root node of the tree, testing the attribute specified by this node, then moving down the tree branch corresponding to the value of the attribute in the given example.\n", "\n", "This process is then repeated for the subtree rooted at the new\n", "node.\n", "\n", "\n", "\n", "In simplified terms, the process of training a decision tree and\n", "predicting the target features of query instances is as follows:\n", "\n", "1. Present a dataset containing of a number of training instances characterized by a number of descriptive features and a target feature\n", "\n", "2. Train the decision tree model by continuously splitting the target feature along the values of the descriptive features using a measure of information gain during the training process\n", "\n", "3. Grow the tree until we accomplish a stopping criteria create leaf nodes which represent the *predictions* we want to make for new query instances\n", "\n", "4. Show query instances to the tree and run down the tree until we arrive at leaf nodes\n", "\n", "Then we are essentially done!" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2nd degree coefficients:\n", "zero power: 0.9887034589972739\n", "first power: -0.10518426027535331\n", "second power: 0.0005840075008020406\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAHFCAYAAADyj/PrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAAC+aElEQVR4nOzdd3hTZRvA4V+6dwuli7ZQ9pQlG6WgHyAbVEAQBERRQEWGIIqAoCAIqIiioDIUBBQFZe+9t6wyBFqgLVC6d5Pz/XFMmnTv0va5rysXyZnvSTnJk3c8r0ZRFAUhhBBCiDLArLgLIIQQQghRVCTwEUIIIUSZIYGPEEIIIcoMCXyEEEIIUWZI4COEEEKIMkMCHyGEEEKUGRL4CCGEEKLMkMBHCCGEEGWGBD5CCCGEKDMk8BGiGC1btgyNRmN4WFhY4OPjw9ChQ7l7926uj9euXTvatWtX8AUtBnv37kWj0bB3795C21e/nf5hbm6Om5sb3bt35+TJk3kreAmk/39469at4i6KEIXOorgLIISApUuXUrt2beLj49m/fz+zZs1i3759/PPPP9jb2xd38YpFkyZNOHLkCHXr1i30c82cOZP27duTnJzMmTNn+Pjjj/H39+fs2bPUqFGj0M9f3Lp27cqRI0fw8vIq7qIIUegk8BHiMVC/fn2aNm0KQPv27dFqtcyYMYP169fz8ssvF3PpioeTkxMtW7YsknPVqFHDcK6nn34aFxcXBg8ezC+//MLHH39cJGXQi4uLw87OrkjP6ebmhpubW5GeU4jiIk1dQjyG9F/Ct2/fBiAhIYFJkyZRpUoVrKys8Pb2ZtSoUURERGR6DEVRqFGjBp06dUq3LiYmBmdnZ0aNGgWkNvn8+uuvfPjhh1SsWBEnJyf+97//ERAQkG7/n376iYYNG2JjY0P58uXp3bs3ly9fNtlmyJAhODg4cOXKFTp16oS9vT1eXl589tlnABw9epSnnnoKe3t7atasyfLly032z6i56uTJk7z00kv4+flha2uLn58f/fv3N7xPBUUfhIaGhposv3btGgMGDMDd3R1ra2vq1KnDN998k27/ixcv0rFjR+zs7HBzc2PUqFFs2rQp3fW0a9eO+vXrs3//flq3bo2dnR2vvvoqAFFRUYwfP97kb/7uu+8SGxtrcq7ffvuNFi1a4OzsjJ2dHVWrVjUcA0Cn0/HJJ59Qq1YtbG1tcXFxoUGDBnz11VeGbTJr6srN3/n69et06dIFBwcHfH19GTduHImJiTl/04UoIhL4CPEYun79OqD+ElcUhV69ejF37lwGDRrEpk2bGDt2LMuXL+eZZ57J9MtFo9Hw9ttvs2PHDq5du2aybsWKFURFRRkCH70PPviA27dv88MPP7B48WKuXbtG9+7d0Wq1hm1mzZrFsGHDqFevHn/88QdfffUV58+fp1WrVunOk5yczPPPP0/Xrl3ZsGEDnTt3ZtKkSXzwwQcMHjyYV199lT///JNatWoxZMgQTp06leX7cuvWLWrVqsWXX37Jtm3bmD17NsHBwTRr1oyHDx/m+P3Nzs2bNwGoWbOmYdmlS5do1qwZFy5cYN68eWzcuJGuXbvyzjvvmNQKBQcH4+/vT0BAAIsWLWLFihVER0fz1ltvZXiu4OBgBg4cyIABA9i8eTMjR44kLi4Of39/li9fzjvvvMOWLVuYOHEiy5Yto0ePHiiKAsCRI0fo168fVatWZfXq1WzatIkpU6aQkpJiOP6cOXOYNm0a/fv3Z9OmTaxZs4Zhw4ZlGTRD7v/OPXr04Nlnn2XDhg28+uqrfPHFF8yePTtX77sQRUIRQhSbpUuXKoBy9OhRJTk5WYmOjlY2btyouLm5KY6OjkpISIiydetWBVDmzJljsu+aNWsUQFm8eLFhmb+/v+Lv7294HRUVpTg6OiqjR4822bdu3bpK+/btDa/37NmjAEqXLl1Mtlu7dq0CKEeOHFEURVHCw8MVW1vbdNsFBgYq1tbWyoABAwzLBg8erADKunXrDMuSk5MVNzc3BVBOnz5tWB4WFqaYm5srY8eOTVemPXv2ZPr+paSkKDExMYq9vb3y1Vdf5Wpf4+3WrFmjJCcnK3FxccqhQ4eUWrVqKXXr1lXCw8MN23bq1Enx8fFRIiMjTY7x1ltvKTY2NsqjR48URVGU9957T9FoNMrFixdNtuvUqVO6Mvn7+yuAsmvXLpNtZ82apZiZmSknTpwwWf77778rgLJ582ZFURRl7ty5CqBERERkeo3dunVTGjVqlOX7oP9/ePPmTUVR8vZ3Xrt2rcm2Xbp0UWrVqpXleYUoDlLjI8RjoGXLllhaWuLo6Ei3bt3w9PRky5YteHh4sHv3bkBtUjDWp08f7O3t2bVrV6bHdXR0ZOjQoSxbtszQRLJ7924uXbqUYQ1Ejx49TF43aNAASG1yO3LkCPHx8enK4uvryzPPPJOuLBqNhi5duhheW1hYUL16dby8vGjcuLFhefny5XF3d8+2ySomJoaJEydSvXp1LCwssLCwwMHBgdjY2HRNMLnRr18/LC0tsbOzo02bNkRFRbFp0yZcXFwAtalx165d9O7dGzs7O1JSUgyPLl26kJCQwNGjRwHYt28f9evXT9cpu3///hmeu1y5cjzzzDMmyzZu3Ej9+vVp1KiRybk6depk0lzWrFkzAPr27cvatWszHAnYvHlzzp07x8iRI9m2bRtRUVHZvh95+Tt3797dZFmDBg0KvAlSiIIggY8Qj4EVK1Zw4sQJzpw5w7179zh//jxt2rQBICwsDAsLi3SdTzUaDZ6enoSFhWV57Lfffpvo6GhWrlwJwMKFC/Hx8aFnz57ptnV1dTV5bW1tDUB8fLyhLECGo38qVqyYrix2dnbY2NiYLLOysqJ8+fLp9reysiIhISHLaxkwYAALFy7ktddeY9u2bRw/fpwTJ07g5uZmKGNezJ49mxMnTrBv3z4+/PBDQkND6dWrl6EZMSwsjJSUFL7++mssLS1NHvrATt/UFhYWhoeHR7pzZLQMMn4vQ0NDOX/+fLpzOTo6oiiK4Vxt27Zl/fr1pKSk8Morr+Dj40P9+vX59ddfDceaNGkSc+fO5ejRo3Tu3BlXV1eeffbZLIfrF8Tf2draOtu/pxDFQUZ1CfEYqFOnjqFDbVqurq6kpKTw4MEDk+BHURRCQkIMv/ozU716dTp37sw333xD586d+euvv/j4448xNzfPdTn1gVFwcHC6dffu3aNChQq5PmZORUZGsnHjRqZOncr7779vWJ6YmMijR4/ydeyqVasa3v+2bdtia2vL5MmT+frrrxk/fjzlypXD3NycQYMGpesXpVelShVAfY/SdooGCAkJyXA/jUaTblmFChWwtbXlp59+ynAf4/e5Z8+e9OzZk8TERI4ePcqsWbMYMGAAfn5+tGrVCgsLC8aOHcvYsWOJiIhg586dfPDBB3Tq1ImgoKAMR5AV599ZiMImNT5CPOaeffZZAH755ReT5evWrSM2NtawPiujR4/m/PnzDB48GHNzc15//fU8laVVq1bY2tqmK8udO3fYvXt3jsqSVxqNBkVRDLVQej/88INJ5+uCMGHCBKpXr85nn31GdHQ0dnZ2tG/fnjNnztCgQQOaNm2a7qEPFvz9/blw4QKXLl0yOebq1atzfP5u3bpx48YNXF1dMzyXn59fun2sra3x9/c3dCg+c+ZMum1cXFx48cUXGTVqFI8ePco0YWFx/p2FKGxS4yPEY65Dhw506tSJiRMnEhUVRZs2bTh//jxTp06lcePGDBo0KEfHqFu3Lnv27GHgwIG4u7vnqSwuLi589NFHfPDBB7zyyiv079+fsLAwPv74Y2xsbJg6dWqejpsTTk5OtG3bls8//5wKFSrg5+fHvn37+PHHHw19cQqKpaUlM2fOpG/fvnz11VdMnjyZr776iqeeeoqnn36aESNG4OfnR3R0NNevX+fvv/829MV69913+emnn+jcuTPTp0/Hw8ODVatWceXKFQDMzLL/vfnuu++ybt062rZty5gxY2jQoAE6nY7AwEC2b9/OuHHjaNGiBVOmTOHOnTs8++yz+Pj4EBERwVdffYWlpSX+/v4AdO/e3ZAnys3Njdu3b/Pll19SuXLlTJMzFuffWYjCJjU+QjzmNBoN69evZ+zYsSxdupQuXboYhrbv3r07XQ1IZvr27QuQ6bDqnJo0aRI//PAD586do1evXrz11lvUq1ePw4cPF3qW41WrVtG+fXsmTJjA888/z8mTJ9mxYwfOzs4Ffq4+ffrQokUL5s+fT2RkJHXr1uX06dPUr1+fyZMn07FjR4YNG8bvv/9uUgNSsWJF9u3bR82aNXnzzTd5+eWXsbKyYvr06QA5CtLs7e05cOAAQ4YMYfHixXTt2pW+ffuyYMECfHx8DDU+LVq0ICQkhIkTJ9KxY0eGDx+Ora0tu3fvpl69eoCaEHP//v28+eabdOjQgcmTJ/Pss8+yb98+LC0tMy1Dcf6dhShMGkX5LyGEEKJUa9q0KRqNhhMnThR3Ucqk4cOH8+uvvxIWFoaVlVVxF0eIMkuauoQoxaKiorhw4QIbN27k1KlT/Pnnn8VdpDJh+vTpVKxYkapVqxITE8PGjRv54YcfmDx5sgQ9QhQzCXyEKMVOnz5N+/btcXV1ZerUqfTq1au4i1QmWFpa8vnnn3Pnzh1SUlKoUaMG8+fPZ/To0cVdNCHKPGnqEkIIIUSZIZ2bhRBCCFFmSOAjhBBCiDJDAh8hhBBClBnSuTkNnU7HvXv3cHR0zDCVvBBCCCEeP4qiEB0dTcWKFbNMFCqBTxr37t3D19e3uIshhBBCiDwICgrCx8cn0/US+KTh6OgIqG+ck5NTMZdGCCGEEDkRFRWFr6+v4Xs8MxL4pKFv3nJycpLARwghhChhsuumIp2bhRBCCFFmSOAjhBBCiDJDAh8hhBBClBnSxycPdDodSUlJxV0MIQqEpaUl5ubmxV0MIYQoEhL45FJSUhI3b95Ep9MVd1GEKDAuLi54enpK7iohRKkngU8uKIpCcHAw5ubm+Pr6ZpkgSYiSQFEU4uLiuH//PgBeXl7FXCIhhChcEvjkQkpKCnFxcVSsWBE7O7viLo4QBcLW1haA+/fv4+7uLs1eQohSTaosckGr1QJgZWVVzCURomDpA/nk5ORiLokQQhQuCXzyQPpBiNJG/k8LIcoKCXyEEEIIUWZI4CMKnZ+fH19++WVxF6NA3Lp1C41Gw9mzZwHYu3cvGo2GiIiIYi2XEEKInJHApwwYMmQIGo0GjUaDhYUFlSpVYsSIEYSHhxd30QrN1q1b0Wg0hISEmCz39PTE19fXZNmdO3fQaDRs3769SMpm/PewtLTEw8ODDh068NNPP+U6TcKyZctwcXEpnIIKIUQpJIFPGfHcc88RHBzMrVu3+OGHH/j7778ZOXJkcRer0Dz11FNYWFiwd+9ew7LLly+TkJBAVFQU169fNyzfs2cPlpaWtGnTpsjKZ/z32LJlC+3bt2f06NF069aNlJSUIiuHEEIUpYCAAEJDQ4s1F54EPmWEtbU1np6e+Pj40LFjR/r162dSw6HVahk2bBhVqlTB1taWWrVq8dVXX5kcY8iQIfTq1Yu5c+fi5eWFq6sro0aNMhkJdP/+fbp3746trS1VqlRh5cqV6coSGBhIz549cXBwwMnJib59+xIaGmpYP23aNBo1asRPP/1EpUqVcHBwYMSIEWi1WubMmYOnpyfu7u58+umnmV6vg4MDzZo1Mwl89u7dy1NPPcVTTz2Vbnnz5s2xt7dn69atPPXUU7i4uODq6kq3bt24ceNGjt/n+Ph4unbtSsuWLXn06FGm2+n/Ht7e3jRp0oQPPviADRs2sGXLFpYtW2bYbv78+TzxxBPY29vj6+vLyJEjiYmJMZR76NChREZGGmqQpk2bBsAvv/xC06ZNcXR0xNPTkwEDBhhy9QghRHFp164dnp6enDt3rtjKIHl88kFRFOKS44rl3HaWdnkeifPvv/+ydetWLC0tDct0Oh0+Pj6sXbuWChUqcPjwYYYPH46Xlxd9+/Y1bLdnzx68vLzYs2cP169fp1+/fjRq1IjXX38dUIOjoKAgdu/ejZWVFe+8847JF66iKPTq1Qt7e3v27dtHSkoKI0eOpF+/fibByI0bN9iyZQtbt27lxo0bvPjii9y8eZOaNWuyb98+Dh8+zKuvvsqzzz5Ly5YtM7zO9u3b8/vvv5uUvV27duh0Ovbs2cNrr71mWP7yyy8DEBsby9ixY3niiSeIjY1lypQp9O7dm7Nnz2absDIyMpJu3bphY2PDrl27sLe3z+FfRPXMM8/QsGFD/vjjD0PZzMzMWLBgAX5+fty8eZORI0cyYcIEvv32W1q3bs2XX37JlClTCAgIANSAD9QM4zNmzKBWrVrcv3+fMWPGMGTIEDZv3pyrMgkhREHRarWG7wNPT89iK4cEPvkQlxyHwyyHYjl3zKQY7K1y/sW6ceNGHBwc0Gq1JCQkAGptgp6lpSUff/yx4XWVKlU4fPgwa9euNQl8ypUrx8KFCzE3N6d27dp07dqVXbt28frrr3P16lW2bNnC0aNHadGiBQA//vgjderUMey/c+dOzp8/z82bNw19bX7++Wfq1avHiRMnaNasGaAGYj/99BOOjo7UrVuX9u3bExAQwObNmzEzM6NWrVrMnj2bvXv3Zhr4tGvXjpkzZxIcHIyXlxf79u3jvffeQ6fTGWqzgoKCuHnzJu3btwfghRdeMDnGjz/+iLu7O5cuXaJ+/fqZvr+hoaH069ePatWq8euvv+Y511Pt2rU5f/684fW7775reF6lShVmzJjBiBEj+Pbbb7GyssLZ2RmNRpPuQ+TVV181PK9atSoLFiygefPmxMTEGIIjIYQoSg8ePECn02FmZoa7u3uxlUOausqI9u3bc/bsWY4dO8bbb79Np06dePvtt022+e6772jatClubm44ODiwZMkSAgMDTbapV6+eSWZfLy8vQwR/+fJlLCwsaNq0qWF97dq1TTrfXr58GV9fX5MOxnXr1sXFxYXLly8blvn5+eHo6Gh47eHhQd26dU1qXTw8PLJsvmnTpg1WVlbs3buXS5cuER8fT5MmTXjyySeJiori2rVr7NmzB2tra1q3bg2oNU0DBgygatWqODk5UaVKFYB070Na//vf/6hatSpr167NV4JLRVFMavL27NlDhw4d8Pb2xtHRkVdeeYWwsDBiY2OzPM6ZM2fo2bMnlStXxtHRkXbt2uXoOoQQorAEBwcD4ObmVqwZ4qXGJx/sLO2ImRRTbOfODXt7e6pXrw7AggULaN++PR9//DEzZswAYO3atYwZM4Z58+bRqlUrHB0d+fzzzzl27JjJcYybx0BNfKfvpKYoimFZZtJ+sWe2PKPzZHXujNjZ2dG8eXP27NnDo0ePeOqppww3W+vWrdmzZw9HjhyhVatW2NjYANC9e3d8fX1ZsmQJFStWRKfTUb9+fZKSkjI9D0DXrl1Zt24dly5d4oknnshy26xcvnzZEGzdvn2bLl268OabbzJjxgzKly/PwYMHGTZsWJYZlmNjY+nYsSMdO3bkl19+wc3NjcDAQDp16pTtdQghRGHRj7It7jkBJfDJB41Gk6vmpsfJ1KlT6dy5MyNGjKBixYocOHCA1q1bm4z0yk2nXoA6deqQkpLCyZMnad68OaD24DfOcVO3bl0CAwMJCgoy1PpcunSJyMhIkyaxgtK+fXtWr15NeHi4odYDwN/fn71793LkyBGGDh0KQFhYGJcvX+b777/n6aefBuDgwYM5Os9nn32Gg4MDzz77LHv37qVu3bq5Luvu3bv5559/GDNmDAAnT54kJSWFefPmGWq61q5da7KPlZWVYSoVvStXrvDw4UM+++wzw3t88uTJXJdHCCEKkr7Gpzj794A0dZVZ7dq1o169esycOROA6tWrc/LkSbZt28bVq1f56KOPOHHiRK6OWatWLZ577jlef/11jh07xqlTp3jttdcMk2CC2iTUoEEDXn75ZU6fPs3x48d55ZVX8Pf3N2kiKyjt27fn2rVrbN26FX9/f8Nyf39/Nm7cyK1btwz9e8qVK4erqyuLFy/m+vXr7N69m7Fjx+b4XHPnzuXll1/mmWee4cqVK1lum5iYSEhICHfv3uX06dPMnDmTnj170q1bN1555RUAqlWrRkpKCl9//TX//vsvP//8M999953Jcfz8/IiJiWHXrl08fPiQuLg4KlWqhJWVlWG/v/76y1CzJ4QQxeVxqfGRwKcMGzt2LEuWLCEoKIg333yT559/nn79+tGiRQvCwsLylOdn6dKl+Pr64u/vz/PPP8/w4cNNOrFpNBrWr19PuXLlaNu2raFvzJo1awry0gxatWqFtbU1AE8++aRhebNmzdBqtdja2ho6YpuZmbF69WpOnTpF/fr1GTNmDJ9//nmuzvfFF1/Qt29fnnnmGa5evZrpdlu3bsXLyws/Pz+ee+459uzZw4IFC9iwYYOhOa5Ro0bMnz+f2bNnU79+fVauXMmsWbNMjtO6dWvefPNN+vXrh5ubG3PmzMHNzY1ly5bx22+/UbduXT777DPmzp2bq+sQQoiC9rjU+GgUfccMAUBUVBTOzs5ERkbi5ORksi4hIYGbN29SpUoVQ58QIUoD+b8thChsffr04ffff2fBggXpBtcUhKy+v41JjY8QQgghCt3jUuMjgY8QQgghCp308RFCCCFEmaEPfKTGRwghhBClWnR0tCHxqqdRctriIIGPEEIIIQqVvrbHwcwMh+bN4fjxYiuLBD5CCCGEKFT6js1eOh1EREClSsVWFgl8hBBCCFGoQv7La+YJMGMGFGM/Hwl8hBBCCFGogpcsAcDLxQXykBy3IEngI4QQQojCc/AgIf/16fHs0AEsineaUAl8RJ7dunULjUbD2bNni7sojx0/Pz++/PLL4i6GEEIUr+RkePNNgv976dWkSbEWByTwKRNmzZpFs2bNcHR0xN3dnV69ehEQEFAk527Xrh0ajQaNRoO1tTXe3t50796dP/74o0jOX5iMr834kZKSwokTJxg+fLhhW/0cZUIIUaZ88QVcvEiwpSVQ/Dl8QAKfMmHfvn2MGjWKo0ePsmPHDlJSUujYsaMhp0Jhe/311wkODub69eusW7eOunXr8tJLL5kEBoUlKSmpUI+vvzbjh4WFBW5ubtjZ2RXquYUQ4rF26xZMmwbAHTc3AHx8fIqvPP+RwKcM2Lp1K0OGDKFevXo0bNiQpUuXEhgYyKlTpwzb+Pn5MXPmTF599VUcHR2pVKkSixcvNjnO8ePHady4MTY2NjRt2pQzZ87k6Px2dnZ4enri6+tLy5YtmT17Nt9//z1Llixh586dhu3u3r1Lv379KFeuHK6urvTs2ZNbt24Z1qekpPDOO+/g4uKCq6srEydOZPDgwfTq1cuwTbt27XjrrbcYO3YsFSpUoEOHDgBcunSJLl264ODggIeHB4MGDeLhw4eG/RRFYc6cOVStWhVbW1saNmzI77//nuNrM37o3099U5efnx8AvXv3RqPRGF4LIUSppSjw9tsQHw/+/gRFRwPg6+tbzAWTwCd/FAViY4vnoSh5LnZkZCQA5cuXN1k+b948Q0AzcuRIRowYwZUrVwCIjY2lW7du1KpVi1OnTjFt2jTGjx+f5zIMHjyYcuXKGZq84uLiaN++PQ4ODuzfv5+DBw/i4ODAc889Z6i1mT17NitXrmTp0qUcOnSIqKioDJuPli9fjoWFBYcOHeL7778nODgYf39/GjVqxMmTJ9m6dSuhoaH07dvXsM/kyZNZunQpixYt4uLFi4wZM4aBAweyb9++PF+j3okTJwBYunQpwcHBhtdCCFFqbdgAGzeCpSWRc+YQ/V/g8zjU+KAIE5GRkQqgREZGplsXHx+vXLp0SYmPj1cXxMQoihqCFP0jJiZP16fT6ZTu3bsrTz31lMnyypUrKwMHDjTZzt3dXVm0aJGiKIry/fffK+XLl1diY2MN2yxatEgBlDNnzmR6Pn9/f2X06NEZrmvRooXSuXNnRVEU5ccff1Rq1aql6HQ6w/rExETF1tZW2bZtm6IoiuLh4aF8/vnnhvUpKSlKpUqVlJ49e5qcr1GjRibn+eijj5SOHTuaLAsKClIAJSAgQImJiVFsbGyUw4cPm2wzbNgwpX///llem6WlpWJvb294jB07VlEU9f384osvDNsCyp9//pnpsYpbuv/bQgiRV9HRiuLjo35XffCB8s8//yiAUq5cuUI9bVbf38aKd0yZKHJvvfUW58+f5+DBg+nWNWjQwPBco9Hg6enJ/fv3Abh8+TINGzY06bfSqlWrfJVFURQ0Gg0Ap06d4vr16zimmcMlISGBGzduEBkZSWhoKM2bNzesMzc358knn0Sn05ns07RpU5PXp06dYs+ePTg4OKQrg/7YCQkJhmYxvaSkJBo3bpzlNbz88st8+OGHhtcuLi5Zbi+EEKXetGlw5w5UqQIffkjQfzXnj0MzF4AEPvlhZwcxMcV37lx6++23+euvv9i/f3+G1Y2W//W619NoNIagQslH01pGtFot165do1mzZgDodDqefPJJVq5cmW5bt/86xenLZCyjctnb25u81ul0dO/endmzZ6fb1svLiwsXLgCwadMmvL29TdZbW1tneR3Ozs5Ur149y22EEKLMOHcO9Kk8Fi4EOzuCgoIACXxKB40G0nzJPo4UReHtt9/mzz//ZO/evVSpUiXXx6hbty4///wz8fHx2NraAnD06NE8l2n58uWEh4fzwgsvANCkSRPWrFmDu7s7Tk5OGe7j4eHB8ePHefrppwE1eDpz5gyNGjXK8lxNmjRh3bp1+Pn5YZFB4qy6detibW1NYGAg/v7+eb6mrFhaWqLVagvl2EII8VjQ6eDNN0GrhRdfhC5dAB67wEc6N5cBo0aN4pdffmHVqlU4OjoSEhJCSEgI8fHxOT7GgAEDMDMzY9iwYVy6dInNmzczd+7cHO0bFxdHSEgId+7c4dixY0ycOJE333yTESNG0L59e0BtMqpQoQI9e/bkwIED3Lx5k3379jF69Gju3LkDqDVWs2bNYsOGDQQEBDB69GjCw8PT1QJldP2PHj2if//+HD9+nH///Zft27fz6quvotVqcXR0ZPz48YwZM4bly5dz48YNzpw5wzfffMPy5ctz/B5lxc/Pj127dhESEkJ4eHiBHFMIIR4rP/wAR4+Co2NqrQ8S+IhisGjRIiIjI2nXrh1eXl6Gx5o1a3J8DAcHB/7++28uXbpE48aN+fDDDzNsOsrIkiVL8PLyolq1avTu3ZtLly6xZs0avv32W8M2dnZ27N+/n0qVKvH8889Tp04dXn31VeLj4w01QBMnTqR///688sortGrVCgcHBzp16oSNjU2W569YsSKHDh1Cq9XSqVMn6tevz+jRo3F2dsbMTL0FZsyYwZQpU5g1axZ16tShU6dO/P3333mqHcvIvHnz2LFjB76+vtn2GxJCiBLn/n2YOFF9/sknYNRt4HELfErUqK59+/Yp3bp1U7y8vDIcJaPT6ZSpU6cqXl5eio2NjeLv769cuHAhV+fI1aguUay0Wq1Ss2ZNZfLkycVdlBJP/m8LIfJl0CB1FFeTJoqSnGyyqkaNGgqg7Nmzp1CLkNNRXSWqxic2NpaGDRuycOHCDNfPmTOH+fPns3DhQk6cOIGnpycdOnQw5A8QJdvt27dZsmQJV69e5Z9//mHEiBHcvHmTAQMGFHfRhBCi7NqzB37+We33+t13JpOQKory2NX4lKjOzZ07d6Zz584ZrlMUhS+//JIPP/yQ559/HlA70Hp4eLBq1SreeOONoiyqKARmZmYsW7aM8ePHoygK9evXZ+fOndSpU6e4iyaEEGVTfDzov19HjID/RurqhYWFkZCQADwmyQspYYFPVm7evElISAgdO3Y0LLO2tsbf35/Dhw9nGvgkJiaSmJhoeB0VFVXoZRV54+vry6FDh4q7GEIIIYDtN7ZzY2R/Rlx7BBUrwsyZ6bbR1/a4u7tnmx6kqJSopq6shISEAOqQZ2MeHh6GdRmZNWsWzs7OhsfjUhUnhBBCPM4ObvyW13Y+Ul8sXAjOzum2edyauaAUBT56GSW4y2q486RJk4iMjDQ89H8kIYQQQmRCq6X/gj1Y6uBIMy/o3TvDzR7HwKfUNHXpZ8UOCQnBy8vLsPz+/fvpaoGMWVtbPzbVb0IIIUSJ8M031Pk3ikhrmPaiK9sy2exxDHxKTY1PlSpV8PT0ZMeOHYZlSUlJ7Nu3j9atWxdjyYQQQohSJDAQ5YMPAJj4Pzhrdj/TTf/991+AAsuJVhBKVI1PTEwM169fN7y+efMmZ8+epXz58lSqVIl3332XmTNnUqNGDWrUqMHMmTOxs7OT4c5CCCFEQVAUGDkSTWwsByrB4idBib1PYkoi1hbpW0/0gU/VqlWLuqSZKlGBz8mTJw1THACMHTsWgMGDB7Ns2TImTJhAfHw8I0eOJDw8nBYtWrB9+/Z0M34LIYQQIg/WroVNm9BZWTK8ezL6bIB3ou5QrXy1dJvfuHEDgGrV0q8rLiWqqatdu3YoipLusWzZMkDt2Dxt2jSCg4NJSEhg37591K9fv3gLXcpNmzYt20lChWrZsmW4uLgUdzGEECJvHj2Cd94B4PobfbjilroqKCr9wKDw8HAiIiKAx6upq0QFPiJv9u/fT/fu3alYsSIajYb169en20ZRFKZNm0bFihWxtbWlXbt2XLx40WSbzPbNrb1796LRaNBoNJiZmeHs7Ezjxo2ZMGECwcHB+T5+cTK+NuPH5MmT6devH1evXjVsK0GjEKJEee89dU6uOnXY+1JLk1VBkekDH31tj6enJ/b29kVSxJyQwKcMyG6qDyie6T4CAgK4d+8eJ06cYOLEiezcuZP69evzzz//FNo5QQ3yUlJSCvUcAQEBBAcHGx7vv/8+tra2uLu7F+p5hRCiUOzZAz/9pD5fsoTb8ab58TKq8Xkc+/eABD5lQufOnfnkk08MU3mklXa6j/r167N8+XLi4uJYtWoVAH5+fgD07t0bjUZjeK33888/4+fnh7OzMy+99FKOAiZ3d3c8PT2pWbMmL730EocOHcLNzY0RI0aYbLd06VLq1KmDjY0NtWvXNpnVHeDw4cM0atQIGxsbmjZtyvr169FoNJw9exZIrYXZtm0bTZs2xdramgMHDqAoCnPmzKFq1arY2trSsGFDfv/9d5NjX7p0iS5duuDg4ICHhweDBg3i4cOHOb42/cPBwcGkqWvZsmV8/PHHnDt3zlArpG+yFUKIx0p8PAwfrj4fMQLatDEEOrYWtkDWNT6PU/8eKGGdmx83iqIQFxdXLOe2s7PLMjFjbuRkuo8TJ07g7u7O0qVLee655zA3Nzdse+PGDdavX8/GjRsJDw+nb9++fPbZZ3z66ae5KoetrS1vvvkmY8aM4f79+7i7u7NkyRKmTp3KwoULady4MWfOnOH111/H3t6ewYMHEx0dTffu3enSpQurVq3i9u3bvPvuuxkef8KECcydO5eqVavi4uLC5MmT+eOPP1i0aBE1atRg//79DBw4EDc3N/z9/QkODsbf35/XX3+d+fPnEx8fz8SJE+nbty+7d+/O03ut169fPy5cuMDWrVvZuXMnAM4ZZD0VQohiN2MGXL+uTksxaxaQWsPT3Ls5+27vK1E1PhL45ENcXBwODg7Fcu6YmJgCazPNarqP27dvA+DmpvZic3FxMSSL1NPpdCxbtswwem7QoEHs2rUr14EPQO3atQG4desW7u7uzJgxg3nz5hlqq6pUqcKlS5f4/vvvGTx4MCtXrkSj0bBkyRJsbGyoW7cud+/e5fXXX0937OnTp9OhQwdAbf6bP38+u3fvplWrVoB6cx48eJDvv/8ef39/Fi1aRJMmTZhpNP/MTz/9hK+vL1evXqVmzZqZXkfayfj076Oera0tDg4OWFhYpHs/hRDisXH2LHz+ufr8m28M01LciboDQCufVuy7vc/w2pjU+IjHXm6n+9Dz8/MzSRng5eXF/fuZJ7TKiqIohrI8ePCAoKAghg0bZhLIpKSkGGpHAgICaNCgATY2Nob1zZs3z/DYTZs2NTy/dOkSCQkJhkBILykpicaNGwNw6tQp9uzZk2Fwe+PGjSwDnwMHDpi8J+XKlct0WyGEeCwlJ8PQoZCSAi+8AL16AerntD7Qae2rJgiWGp8yws7OjpiYmGI7d0HJ63QfepaWliavNRoNOp0uT2W5fPkyoAZT+mMsWbKEFi1amGynb2rLKDjTB09pGdeQ6Y+9adMmvL29TbbTT2Gi0+no3r07s2fPTncs4/cpI1WqVJGh60KIkm3OHLXGp3x5tbbnPw/jHpKQkgBASx91dNej+EfEJcdhZ6l+NyUlJRmmq5Aan1JEo9E8VkP08sp4ug99bYd+ug/jL31LS0u0Wm2hlSM+Pp7FixfTtm1bQ9Oat7c3//77Ly+//HKG+9SuXZuVK1eSmJhoCFhOnjyZ7bnq1q2LtbU1gYGB+Pv7Z7hNkyZNWLduHX5+flhYFPytYmVlVajvpxBC5NnFizB9uvp8wQIw+hGsr93xsPfAzd4NRytHopOiCYoMolaFWoDavK/T6bCzs8vRD+iiJIFPGZDdVB8ajSZH0334+fmxa9cu2rRpg7W1db6bb+7fv09CQgLR0dGcOnWKOXPm8PDhQ/744w/DNtOmTeOdd97BycmJzp07k5iYyMmTJwkPD2fs2LEMGDCADz/8kOHDh/P+++8TGBjI3LlzgfRNd8YcHR0ZP348Y8aMQafT8dRTTxEVFcXhw4dxcHBg8ODBjBo1iiVLltC/f3/ee+89KlSowPXr11m9ejVLliwx6eCdF35+foa/hY+PD46OjjJhrhCi+KWkwKuvQlISdOsGAwYwZP0Q1l1ep67WqelAfJ19Df9eenCJxt83xtxM/VxMuapu4+zljEaj4Zvj3zB5z2TDvqeHn6aGa42ivjJAAp8yIbupPoAcTfcxb948xo4dy5IlS/D29ubWrVv5KletWrXQaDQ4ODhQtWpVOnbsyNixY006+7722mvY2dnx+eefM2HCBOzt7XniiScMI7ecnJz4+++/GTFiBI0aNeKJJ55gypQpDBgwwKTfT0ZmzJiBu7s7s2bN4t9//8XFxYUmTZrwwX+T71WsWJFDhw4xceJEOnXqRGJiIpUrV+a5557DzCz/mSBeeOEF/vjjD9q3b09ERARLly5lyJAh+T6uEELky5dfwvHj4OQE331HgjaR5eeWp9usvV97w7+XHlwiPiU+deV/aX7iHdVly84tIyIhwrBaIeMuCUVBo2TWIaKMioqKwtnZmcjISJycnEzWJSQkcPPmTapUqZLtl6ooPitXrmTo0KFERkZia2tb3MUpEeT/thACgKtXoWFDSEiAH36AYcO4/ug6Nb6ugZ2lHf+MUBPMWppZ4uPkg0ajQVEUAiMD0SqpTfdvjXyLLau3YP+MPTG7YvCc60lobCgb+2+kjlsdfJx8sDK3KtCiZ/X9bUxqfESJt2LFCqpWrYq3tzfnzp0z5NqRoEcIIXJBp4Nhw9Sgp0MHtbmL1OSEvk6+VC2XfoSWRqOhsktlk2URQREAxDrHEpMUQ2hsKAAtfFpQwa5CIV5E9iTwESVeSEgIU6ZMMYxK69OnT55yCAkhRJn27bdw8CA4OMCSJfBfP0l9Z2YfJ5+s9jZx/ep//Urd4Pjd4wDYWNjgautasGXOAwl8RIk3YcIEJkyYUNzFEEKIkuvmTXj/ffX57NlQObUGx1Dj819n5uw8fPiQBw8eqC8qwOGgwwCGprHiJnN1CSGEEGWZosDrr0NsLLRtC2++abJan6zQ1ylngY8+H5u1qzVYpQY+Od2/sEngkwfSH1yUNvJ/Wogy7IcfYNcusLWFH3+ENKNW9U1dOQ1cLl26BIBrZbVZ68idI+r+OawxKmwS+OSCPm9LUlJSMZdEiIKln2w3bRZuIUQpd+cOjBunPv/kE6hePd0mhsAnh4GLvsbHp6raJ0g/jP1xqfGRPj65YGFhgZ2dHQ8ePMDS0rJAcrkIUZwURSEuLo779+/j4uKS76SMQogSRFHUUVzR0dCiBYweneFmxqO6ckIf+NSoVYPjHDcsl8CnBNJoNHh5eXHz5s10s20LUZK5uLjILPFClDVLlsD27WBjA8uWQQY/fGKTYglPCAdyXuOjb+pqVL8RKwNWGpY/Lk1dEvjkkpWVFTVq1JDmLlFqWFpaSk2PEGXNzZvwXxZ/Zs6E2rUz3EzfzOVk7YSTdeZJAfWioqK4c0ftDN2ycUsISF0nNT4lmJmZmWS3FUIIUTLpdDB0qDqK6+mnM23igtRmrpzm8Llw4QIAXl5e1K1U12RdbvIAFSbppCKEEEKUJV9/Dfv2gb09LF2abhSXsdyO6Dp9+jQATZo0oZxNOews7QCwt7THxcYlf+UuIBL4CCGEEGVFQEBqosK5c6FatSw3z20OH+PAR6PRGPbzdfZ9LJIXggQ+QgghRNmQkgJDhqTOxfXGG9nuktuszadOnQLgySefNNnvcenfAxL4CCGEEGXD3Llw9Cg4OamJCnNQA5Obpq6EhAQuXrwIqDU+xvtJ4COEEEKIovPPPzB1qvp8wQLwzVkgkpvkhefPn0er1eLm5oaPj9qR+Zkqz2CmMaN9lfZ5K3chkFFdQgghRGmWnAyDB0NSEnTvDq+8kuNdc5O8MG3/HoCBDQbSu3Zv7K3s81DwwiE1PkIIIURp9umncOYMlC8PixfnqIkLIDIhkuikaCBnQ9H1gY++f4/e4xT0gAQ+QgghROl16pQ6BxfAokWQiwzt+maucjblchS86Ds26/v3PK4k8BFCCCFKo/h4GDQItFro21d95EJuRnTFxcXxzz//AOlrfB43EvgIIYQQpdHEiXD5Mnh5wTff5Hr33OTwOXbsGMnJyXh7e1O5cuVcn6soSeAjhBBClDbbtqkZmkHNzlyhQq4PkZuh7Pv37wegbdu2j02iwsxI4COEEEKUJmFh6lxcAG+9BZ065ekwuRnKbhz4PO4k8BFCCCFKC0VRMzIHB6szrs+enedD5XQoe1JSEkeOHAEk8BFCCCFEUVqxAtatAwsLWLkS7OzyfKic1vicOnWK+Ph4KlSoQJ06dfJ8vqIigY8QQghRGty8CW+/rT6fPh3yMaxcURRDjU92OXxKUv8ekMBHCCGEKPm0WnXoenQ0PPUUTJiQr8M9in9EfEo8kH3gs3fvXqBkNHOBBD5CCCFEyTdnDhw6BI6OanOXuXm+Dqdv5nKzc8PGwibT7WJjY9mzZw8Azz77bL7OWVQk8BFCCCFKslOnYMoU9fnXX0OVKvk+pCGHTzb9e3bs2EFiYiJVqlShXr16+T5vUZDARwghhCip4uJg4EBISYEXXsjVBKRZyemIrr///huAHj16lIj+PSCBjxBCiDIgMDKQ6guqM//IfAAWHl9ItQXVuPHoRp6OdzDwIO6fu2PziQ0+83249OBSQRY35yZOhCtX1OzM33/Pb5d+x+UzF2w+saHm1zV5EPsgT4fNSfJCrVZrCHy6d++ep/MUBwl8hBBClHrbb2znRvgNfj7/MwA/n/+Zf8P/ZduNbXk63p+X/+RB3AMStYncjb7L5mubC7K4OfP337Bwofp86VJwdWX1xdVEJkaSqE3k2qNr7Lu9L0+HzslQ9uPHj/PgwQOcnZ1LTMdmkMBHCCFEGaDvs6JvwtG/1v+bW/rAQN/xV3/cInPvXmp25jFjDNmZ9dejL1eery8HTV1//vknAM899xyWlpZ5Ok9xkMBHCCFEqaf/Ig+LDyMqMYrg6GB1eVTeAhZ9QNHSp6X6OjpvAUae6Ieuh4VB48Ywa5Zhlf469eXKa0Cmf18yG8qekpLCzz+rtWd9cznre3GTwEcIIUSpZxzgnLh7AgVFXZ7PwKC1T+t8HSdPPv8cdu9WszL/+itYWwOQpE0iJCbEtFx5COx0ii7bUV2bN28mJCQEd3d3unXrlperKDYS+AghhCj1jAOAw0GHM1yeUym6FO5F3wOgtW/eA4w8OXYMJk9Wn3/9NdSqZVh1L/oeCgpW5lY08WqS53I9iH1AkjYJDRq8Hb0z3ObHH38E4JVXXsHKyirX5yhOEvgIIYQo1YynXwA4fCc18LkTdQedosvV8YKjg9EpOizMLHiy4pMAhMaEkqRNKpgCZyYyEvr3V5u6+vVL7ePzH+MpJio5VzJZlhv62h5PB08szdP33QkODmbTpk0ADBs2LNfHL24S+AghhCjVIhIiiE2ONbw+eueo4XmSNinXQ771tSjejt542HtgbW6NgsLdqLsFU+CMKAqMHKnOx1W5Mnz3HaTJm2M8BF3fRBUcE0yKLiVXp8puRNfXX3+NVquldevW1K5dO7dXUuwk8BFCCFGqpW3uiUiIyHJ9tseLTA0MNBqNoQNwoTZ3/fwzrFqlTkWxahW4uGRaLh8nH9zt3bE0s0Sn6AzNcjmV1YiuBw8esGDBAgDef//9XF7E40ECHyGEEKVads09uW0OSpvczxD4FFYH52vXYNQo9fm0adC6dbblMtOY4e3knadyZZW88PPPPyc2NpamTZuWuE7NehL4CCGEKNX0fVbsLO1Mlutf5zbXTdoaEX2TUKHU+CQlqf16YmLA3x8mTcp007QjsfTly/X1ZdLUFRgYyML/EiZ+/PHHJWaKirQk8BFCCFGq6b/IW3i3MFne3Lu5yfqc0ufsyW+AkSOTJ6uTkJYvD7/8kuWs62lravIakBk3menpdDqGDh1KfHw8Tz31FJ07d87VMR8nEvgIIYQo1fRf/K18Wpksz2uum3Q1Pk6FVOOzebOaswfgxx/BJ+NkgunKlSYgK4imroULF7J7927s7Oz46aefSmxtD4BFcRdACCGEKEz6L/66bnVxtnYmMjESGwsbGnk2Mlmf4+OlaQoy1KwUZB+foKDUmdZHjULXowfnz57lwIEDnD9/nhs3bnD//n1iY9XRavb29jyIewCusKv8LuKbxuNu4W5S3pzQ6rSG0Wn66/r7778ZP348oPbxqVGjRkFdZbGQwEcIIUSpZhyo+Dr7Enk/0mTId24CgyRtEqExoUBqU1CB1/gkJ6v9esLCOF6rFiu0Wn7z8uL+/fvZ73sTxp9UgxRzC3OoCMebHOdU9VM0btwYM7OsG3pCY0PRKlrMNeZ4OXixYcMG+vbtS3JyMv3792fEiBEFcYXFSgIfIYQQpZaiKIa+Nz5OPvg4+XDh/gV8nX0NgcvdqLtodVrMzTLvP6N3N+ouCgrW5ta42bkBqTUjD+MeEp8cj62lbf7K/NFHbDh0iNnm5hwNCICAAECt1Wnbti1PPvkktWvXxtPTE3t7ewD2X93PxD8nUi6mHC0sWnDu3DmCg4MhEO4G3qXp+qa4ubnRsWNHnn32Wdq1a4efn1+6Jit9rZUHHrz5xpv88MMPALzwwgusWLGiRDdx6UngI4QQokT7N/xf/rfif4xuMZrRLUcblr+64VV+Of8LybpkQE04aNwvx8vBC3ONOVpFi82nNvSp24dVL6zK8lzGk3fqg4ByNuWws7QjLjmOO1F3qOGa96agg3PnMn72bI4BaLVYWVnRp08fBg4cyDPPPIOVlRUf7vqQGZdncKj3ISzMLGj1Yyuuhl2FRtC4SmO2vLIFgJMXT9JsYjO4DtxUc/CsXLmSlStXAuDh7cEzbZ/hXMo5kmySGN9mPLvO74IdcO/GPX7QqUHP6NGjmTNnDhYWpSNkkM7NQgghSrRt17dxM+ImK/9ZaVim1WlZcW6FIehp59cOawtr/lf1f1iYWfC/qv/D3MycDtU6AOr8W79e+JXElMQsz5W2AzFQIEkMHz16xLCXXuLp997jGGBnYcGkSZO4ffs2v/zyC88995xhTqzl55YTEBbAwcCDHLlzhMsPL6NVtAB0rNrRcMwn6z5Jkx5NoD8wAexft+eDDz7AtZYrmEHo3VB+/fVXLv12ies/X+fNN9/kt29/g2uADlq2bMnevXv58ssvS9x8XFkpHeGbEEKIMksfbBgHHcExwYa+KrfevUVFx4oA9K3Xlx61emBjYQPApgGbCI4OpsbXNYhPiedO1B2qla+W7bnSJvfzdfLlatjVPHVw3r59O0OGDFGbpoDXXF2ZcfIknn5+6bZN0aUQHBNsKIu1uToz+7NVnuXXF37Fzd7NsK1Go+H4a8e5EX6DWgtrEesdy/vvv8/eans5fOMw/mb+NKEJX2z6AuKhlXcrosyjuKhcZPCLg1k2fFmur6UkkBofIYQQJZo+GDGeKFQfgHg7eePj5IOZJvXrTh/0AIYMxzmtsclsOoe8dJTWarV8+OGHdOrUieDgYGoBB+3sWHLsWIZBD6gzsOsnVQ2KDDKcr3r56iZBj565mTk1XWviZO0EqLmGgiKDwAqSqyTz3JDnoCfwEgyfO5w6r9WBNtC4QeMcX0dJI4GPEEKIEk3feVlBMcxLZchinMG0CxnRBy7ZJSFMm7zQsH8ukxhGRETQs2dPZs6cCcBI4DTQZtkyqJZ5jZPx8YOigrKcXiKj8t2KuGV4j4Iig0xqqIxfZzZBaWkggY8QQogSLe2XN2Q/w3haOU32l1FWY5P9c1Djc/nyZVq0aMGmTZuwsbbmZwcHvgHsRo6EPn1ydH79uXIaqOjXn7h3wtAf6F70PW5F3DI9Xg4DqZJM+vgIIYQosYyHq4NRf58sZhjPSE4Dl0z7+OQwieGBAwfo3r07kZGR+Pr68qerK0+ePQuNG8O8edmW07h8d6LuGPr45LTG53DQYcMyraLlZPBJw+ubETcJjg42uZ7SSGp8hBBClFgP4h6QqE0diZWuxieXTV1ZBT7xyfE8jHtosr1h/xwETps2baJjx45ERkbSpk0bTnbrpgY9jo6wdi3Y2GS6r55xYHUn6k6Oa7b05Tt656jJcuPXJ+6eQEHB0swSd3v3bMtSUkmNjxBCiBIrbQ1L2hFeBdnUZTzLezmbcqb7/3eeiIQIYpJicLByMFm/cuVKhgwZQkpKCt26dWPtSy9hO3CgunL5cqhePUflNA6sUnQppOhSgPRNb2npyxeZGGmyPCIhwvBcvy5tZ/DSpvRemRBCiFIvbQ1Lnpu6clDjY1yLlDaDsZO1E45Wjibn1vvuu+8YOHAgKSkpDBw4kD9mzsT2zTfVle+9B71756iMmZXPzc7NZKRaRnLTZ6c0N3OBBD5CCCFKMONaGFCDjiRtEiExIUD2NSF6+u0exT8iLjkuw22y60icUfC0ePFiw/xWb7/9Nsu/+QbLl16CmBjw94f/RnXllL4M+us1LntW0m5jvH9ejleSSeAjhBCixNIHAi28W6ivo4K4F30PBQUrc6sMc9tkxNna2dA8lVlzl/F0FRlJ21z2008/8cYbbwAwbtw4vvryS8zeeAMuXQIvL1i9GnIxDURiSiKhseoEqfrrhZzV0KTdxnj/8rblqVYudQh9aR7RBRL4CCGEKMH0wUhr39aAOlHotbBrQO76qmg0mmw7KGfXfGa8//Lly3nttdcAda6rzz//HM3ChanBzm+/gadnjsqmdzf6LgDW5tY08myU7rxZsbO0o7xtecNr/ful3984MJLApwSZNm0aGo3G5OGZy/9YQgghSg59kNLAo4GhuUY/Uim3X+DZJTE0JC/MLPD5b/8DWw4wdOhQFEVh5MiRfPHFF2iOHIFx49QNP/8c2rTJVdmMy+Xj5EMl50qp583lkH1IE/g4++Lj6GPyujQrVYEPQL169QgODjY8/vnnn+IukhBCiEJiXAuj/2I/cueIuiyXX+DZjezKto+Pky/8C3vm70FRFF5//XW+/vprNPfvq4kJU1Kgb18YPTrD/bNjfH7jICbHI9f+287K3IomXk1Myl2WanxK3XB2CwsLqeURQogyQKvTGpp/fJx88HX2JSAswJCkL9c1Ptk1dWWTGyjxTiKsBiVF4fnnn2fRokWY6XTw0ktw7x7Urg0//ABpRoTllPH58xKo6LfzcfLB3d4dK3MrkrRJ+Dr5GiZxhdJf41PqAp9r165RsWJFrK2tadGiBTNnzqRq1aqZbp+YmEhiYmryq6ioqKIoZrHZcGUDIzeP5OfeP/NMlWfo93s/fr/0OwBDGg7hx54/FnMJhRAiZ0JjQ0nRpWCmMcPL0cvwxa7PR5PXpq4lp5fw45n0n4X6yUEzCgxu3LjB5GGTIQnwgw31NjBt3zRmbEuCvXvBwQH++ENNVphDj+If0XxJc25G3DQ9v1Mea3z+28fXyRczjRk+Tj78G/4vvs6pgY+NhQ2utq45LmNJVKqaulq0aMGKFSvYtm0bS5YsISQkhNatWxMWFpbpPrNmzcLZ2dnw8PUt3ZHuusvruBd9jw1XNpCQksDai2vRKTp0io5f/vnFcGMJIcTjTt/npaJjRSzMLOhQtQMa1NoUGwsb2lZum6vjPV3paUM/If3novEDoKVPS8NM53ohISF07NiRsAdhWHlbwUugNdcS8fNimDNH3ejHH6FOnVyV51DgIW6E3zA5v4WZBc9UeQYPBw8aeTaiToU6OR5+3r5Ke6zMrehUrRMAz1V7DntLe9r4tqGxZ2Pc7d3pVK1TuhxFpY1GURSluAtRWGJjY6lWrRoTJkxg7NixGW6TUY2Pr68vkZGRODk5ZbhPSdZ+eXv23tpL79q9mdNhDjW+roG1uTVJ2iQUFELGheDh4FHcxRRCiGytu7SOF397kVY+rTg8TG3eikiIID45HidrJ+yt7HN9zLjkOCITIjNd7+HgYTJSLCoqCn9/f86ePUvVqlXZu38voZpQhs1oxuEfwT4ZNUmhPgDKhW9PfMuozaN4rvpz/NTjJwDsrewNgZdWp0VBwcIsd0PirS2sM3ydpE3C0syyxAY+UVFRODs7Z/v9XeqauozZ29vzxBNPcO3atUy3sba2xtraOtP1pY3xPDb6534ufkQnRXMv+h5BUUES+AghSoSMpqVwsXHBxcYlz8e0s7RLl9wvMwkJCfTq1YuzZ8/i7u7Otm3b8PX2xfO+JX+uVoOexGfbYT1rVp7Kov+Mrl6uOl6OXunWm5uZ5/qYxkFP2tdW5la5Pl5JVKqautJKTEzk8uXLeHml/w9TFhnPYmw8uZ2Pk4+hqjS7mYWFEOJxkdtpKQqSVqtl4MCB7NmzB0dHR7Zs2UL16tUhJQXLlwdRNQJulINLX00G89wHKJB9wkSRN6Uq8Bk/fjz79u3j5s2bHDt2jBdffJGoqCgGDx5c3EV7LBjPYhwaE8qNRzcA06GRWc1TI4QQj5PczsBeUBRF4a233mLdunVYWVmxfv16mjT5b3j4++/Dzp3EWZvR6yW4ZZb3ATO5nWhV5Eypauq6c+cO/fv35+HDh7i5udGyZUuOHj1K5cqVi7tojwXj2hwFhWN3jwHqh0Z0YnS6bYQQ4nFWXDUi06dP57vvvkOj0fDLL7/wzDPPqCtWrYJ58wD4dmQzLjgfy9ePyeKs0SrNSlXgs3r16uIuwmMtbTZS4+ym0Ulq4KPPTCqEEI+77BIKFobvvvuOadOmAbBw4UL69Omjrjh9GoYNU59/8AF3n46DY8cyzQKdHZ2iM+QokhqfglWqmrpE1tL+8jDkujBu6pIaHyFECZCiSyE4JhgouhqRdevWMXLkSACmTJlieM6DB9C7NyQkQJcuMH16hjO158aD2AckaZPQoMHb0btAyi9UparGR2Qts6DGuMZH+vgIIUqC4OhgdIoOSzPLIhmJumvXLgYMGICiKLzxxhuGWh+Sk9VpKAIDoUYNWLkSzM3z/WNS/1ns6eCJpbllQVyC+I8EPmWI/kayt7QnNjnWsNzXObWPz92ou2h12jwNkxRCiKKi/zzzdvLO8QzseXXixAl69epFUlISzz//PN98801qrptx49TMzI6OsGEDuLgA5LvGpzia8coKaeoqQ/Q3YHPv5oZlTtZOOFk74engibnGHK2iJSQmpLiKKIQQOVJUHX8vX75M586diYmJ4dlnn2XVqlWY64enf/cdfP21+vznn00yM+s7XOt/TOZWcY1YKwsk8ClD9B8UrX1bG5bpb05zM3PDXC3S3CWEeNwVxVDvwMBAdSqKsDCaNWvGn3/+mZrwdvdueOst9fnMmdCzp8m+Xg5e+foxqf+8lhw+BU8CnzLCeBZj48Ano4nupIOzEOJxZwgMHAsnMLh//z4dOnTgzp071KlThy1btuCon2D02jV48UXQamHgQDV3Txr5/TEpNT6FRwKfMsJ4FuNmFZsZlpsEPpLEUAhRQhRmjU9UVBSdO3fm6tWrVKpUie3bt+Pq+t+M5RER0L07hIdDy5awZAlkMrdVfn5MSvLCwiOBTxlhPItxBbsKhrlojG8qfeCT17wTQghRVPSfUwVdIxIdHU3nzp05ffo0bm5u7NixAx+f/2qVUlLUEVwBAeDrC+vXg41NpsfKz4/Jwro+IYFPmWHcEVCj0Rhupoyaur44+gWajzVoPtbgNc+Lm+E3i77AQgjuRt3FZ76P4X7UfKzB7XM3Lty/UNxFKzazDszCYroFJ+6dAAq2RiQ2NpauXbty+PBhXFxc2LZtGzVr1kzdYMwY2LED7O3h77/BI+th9Hn5MTlu2zjMPjYjMDJQPYbU+BQ4CXzKiLTVpl1rdMXe0p6nKz9t2KadXztsLWxN9guJCWH3zd1FV1AhhMGeW3sMffP0HsY9ZNv1bcVUouL364Vf0SrqKKnKzpWpU6FONnvkTFxcHN27d+fAgQM4OTmxfft2GjdunLrBokWwcKH6/JdfoGHDbI9pmPw5FzU+K/9ZiYICQEOPhng5yCTbBU0CnzIibUfAeZ3mET4xnOrlqxu2aeDRgIcTHhI6PpTQ8aG80vAVdV/p8yNEsdDft/3q9SN0fChvN39bXV6G70n9tR8YeoBrb1/D1tI2mz2yFxcXR8+ePQ0zrW/bto1mzVL7QrJrF7ytvvfMmgW9euXouLnt45OYkkhobCgAV0Zd4dTwU5JTrRBIAsMyIqOOchllA7WztDP0/6lRvoa6r4zyEqJY6O/b6uWr427vTk3XmibLy5qYpBgiEiIAtTakIDIaR0ZG0q1bNw4ePIi9vT1btmyhZcuWqRtcvQp9+qgjuAYNgokTc3zs3Pbx0dfu2VjYUNO1ZmqSRFGgpManjMjL0EgZ5SVE8Up735b1OfX01+1s7YyjtWO+j/fw4UOeeeYZDh48iLOzM9u3b6dNmzapGzx4oM69pR/BtXhxpiO4MqL/oRkcHUyyNjnb7dP2xRSFQwKfMiIv6c/zm3JdCJE/ae/bsn5PFuQQ73v37uHv78/p06epUKECe/bsoXXr1BxnxMerSQlv3IAqVdTpKLIYwZURd3t3LM0sUVC4F30v2+1lCHvRkMCnDMjrLMaGjnmRQSiKUihlE0JkLrMan9CYUJK0ScVWruJSUNmML1y4QKtWrbh06RLe3t4cOHDAtCOzTgevvAJHjkC5crB5M7i75/o8ZhqzXHVwlmzNRUMCnzIgr7MY62++2ORYQ7u6EKJoxCXH8Sj+EZB6L1awq4C1uTUKCnej7ma1e6lUENmM9c1ZgYGB1KxZkwMHDlC7dm3TjSZNgt9/B0tL+PNPSLs+F3LTwVmyNRcNCXzKgLzOYmxnaYerravJMYQQRUP/RWlvaY+LjQsAGo0mT0OkS4v8Tky6ZMkSunTpQlRUFG3btuXIkSNUqVLFdKPvvoM5c9TnS5eCv39+ipyrv5ckLSwaEviUAfn5sND/WpFszkIULcOXoLNpR9eyfE/eiU59T3IjMTGRkSNHMnz4cLRaLYMGDWL79u2UL1/edMPNm2HUKPX59Onw8sv5LnNukhhKH5+iIYFPGaC/mfLSblzWR5EIUVwya/Yoy/dkXn7E3bp1i6eeeopFixYB8PHHH7N8+fLUWdb1zp6Ffv3U/j1DhsDkyQVS5tyMjs1vjZbIGcnjUwbkq8ZHhrQLUSwyu2/L6j2pKEqua0T+/vtvBg8eTHh4OOXLl+eXX36hc+fO6Te8cwe6doWYGHj2Wfj++1wNW89KTvv4xCXHERYfZrKPKBxS41MG5Kf6tKwPnxWiuGR235bVezIyMZKYpBgg+9rr8PBwhgwZQo8ePQgPD6d58+acOXMm46AnMlINeu7dg7p11U7NVlYFVu6cBqr6pjAHKwecrZ0L7PwiPQl8yoD8jBQoy9XqQhQnaeoypb/e8rblDdnlM7Jx40bq1avH8uXL0Wg0jBs3jgMHDlCpUqX0GycmqtNPnD+vTji6eTO4uBRoufWB6v3Y+ySmJGa6nSQvLDr5DnwSEhIKohyiEOUleaFeWR5BIkRxyiynS1m9J7P7AXf9+nVeeOEFunfvTnBwMDVr1uTgwYPMnTsXq4xqcHQ6dQqKvXvB0RG2bIHKlQu83K62rthYqIkPs+rgnJ++mCJ38hT46HQ6ZsyYgbe3Nw4ODvz7778AfPTRR/z4448FWkCRXm6SCSZpkwyT3uV3VJckMRSicOkUneGRXVPXw7iHxCbFFnkZM2P8+ZCfzwr99ac9RmY/4MLDwxk3bhx169bljz/+wMzMjHHjxnH27FnTTMymhYV334XffkvN1WOcwLAAGacguB15O9P3Rjo2F508BT6ffPIJy5YtY86cOSaR9BNPPMEPP/xQYIUT6U3aOYnKX1YmJCYkR9vrk5zZWNhQwa5Crs/n7egNQEJKAg/jHuZ6fyFEznx59EusZlhhPt0c8+nmRCVGAem/CMvZlDM09TjMcqDrqq5FXta03t/5PpW/rExoTCiRCZHUXFiTERtH5Po4H+/9GIvpFphPN6fZkmYm81ulrfEJDQ3lww8/pGrVqsyfP5/k5GSee+45zp8/z9y5c7G1zWLW9tmz4euv1ecrVqgdmguRvszPrniWaguqZZgQ1jh9gShceQp8VqxYweLFi3n55ZcxNzc3LG/QoAFXrlwpsMKJ9FZfXE1QVBD7b+/P0fbG1ad5aTe2trDGw17N9lwW84YIUVTWXlyLVtGaLHu60tPpJuPUaDR0q9nN8Hrztc1EJkQWSRkz8+uFXwmKCuJA4AGO3z3O9UfX+fXCr7k+zuqLq1FQa0ROBZ/iathVwzr9Z5nlQ0veeOMNKleuzMyZM4mIiKBevXps2bKFLVu2UK9evaxPsmyZmpkZ4Isv4KWXcl3O3OpaIzU4vRlxk2N3jqXbRrI2F508BT53796levXq6ZbrdDqSk7OfgVbkjU7RGWpwctqxsSDmfimro0iEKEr6+2vbwG08eO8BD957wN4hezPcdvULq3n43kPK2ZQz2bc4aHVak88lfVkiEyOJTozO8XEURTF8XtlaqLU1+mOFhoZy5Lcj8B0sGLKAxYsXk5iYSIsWLfjjjz84f/48zz33XPYn2bIFXntNff7ee2pzVxEY13ocERMj6FC1A5Dx30uSFxadPAU+9erV48CBA+mW//bbb6YTvYkCdT/2Psk6NbDM6QddQfyKKKujSIQoKim6FIKj1YmE67vXp4JdBSrYVch0ihmNRoOrnWuu5oEqLKGxoYaaqqCoIJOy5KaWOCIhgthktc9Sc6/mEAjfzPmGli1bUrFiRa6tugYhYGFpQa9evdi/fz9Hjhyhd+/emJnl4Kvs+HF48UXQatVOzZ99lrsLzSdnG2equKjTY2T095I+PkUnTwkMp06dyqBBg7h79y46nY4//viDgIAAVqxYwcaNGwu6jOI/eflAKYibqawmTBOiqITEhKBVtFiYWRialnPC18mX86Hni7UZOu3nUrR1ai1PUFQQddzqZLqvoijcv3+fGzdusPvEbtgMFiEWHAo5BEmwkdTvE42PBqWBwpGvjtC0etPcFfLqVTVXT1wcdOoEP/4IOQmWClhm041EJ0YTmag2V8qorsKXp8Cne/furFmzhpkzZ6LRaJgyZQpNmjTh77//pkOHDgVdRvEf48Aj1zU++ag+laYuIQqXPnjwdvTG3Mw8m61TFcePkpSUFGJiYoiNjSUmJoa95/dCIJAM5x+exwYbuAOkwNLopZyucJqEhATi4+OJjo7mwYMHPHjwgPv37xMYGEhsrOnItBRS1Cc24PekHx+9+hFNn25Kw1UNAXjC74ncFTgoCDp0gIcPoWnT1FnXi0Fmfy/9a2dr53R9ukTBy/OUFZ06daJTp04FWRaRDeNfVjnu41MATV2GvCHS1CVEocjrD5SC/lESERFBQEAA165d49q1a9y8eZOQkBBCQ0MJDQ0lIiKCxMTMk/AFEGDyevXG1axmdZbn1Gg0+Pr6YutuS4BFAI2fbEy/Dv14//T7VK9enVcHvcqZ4DMAuNu7Y21hneXxTNy/rwY9gYFQsyZs2gQODjnfv4Bl9vfKT641kXt5CnxOnDiBTqejRYsWJsuPHTuGubk5TZvmshpS5IjxzRISE0KSNgkr86xTqxfEEElp6hKicOW1STo//e8UReHixYvs3buX48ePc+zYMa5evZr9jv+xsLDAwcGBFIsUYnQx6reJJZhZmqEz14EFVHGvgn81f2xtbbGxscHe3h53d3fc3Nxwc3PD19eXypUrY21tzeTdk/n0wKe0atqK5nWbw9nU68rTD7jISHjuOQgIAF9f2LED3N1z8Q4VPOO/l6IohpG2MqKraOUp8Bk1ahQTJkxIF/jcvXuX2bNnc+xY+qF6Iv+MAw8FhXvR9/Bz8ct0+/jkeEPunXz18fkvaLobdRedosu0w6UQIm/ymrU3tzU+ycnJ7Ny5k40bN7Jx40YCAwPTbVOxYkVq1KhBjRo1qFatGl5eXnh6euLh4UH58uVxcHDAwcHBkMOtz299+P3S74b9degMz6tXrc7SQUtzVDbjWi/j7NTGo71y/AMuLg66dYMzZ8DNDXbuhIymrChi+uuKTY4lIiGCcrbqqDzDD1QJfIpEngKfS5cu0aRJk3TLGzduzKVLl/JdKJGxtL/qgiKDsgx89DeTvaU9LjYueT5vRceKmGnMSNYlExoTipejV56PJYRIL6+/+I2boY1rENIKCAjgxx9/ZMWKFYSGhhqW29jY4O/vT6tWrWjevDnNmzfH1dU1d2XPorYpN7XExqk39NcVlxxHeEJ47t6fpCR44QU4eBCcnWH7drWZ6zFga2mLq60rYfFhBEUFGQIfaeoqWnkKfKytrQkNDaVq1aomy4ODg7GwyHO3IZEN/c3vYOVATFJMth8qxr+g8jPpnYWZBV4OXtyNvsudqDsS+AhRwPL6xacPEOJT4nkU/whXu9SgRVEUdu/ezSeffMLevXsNyz08POjduzfdunWjffv22NllPuFnjsqe5nPJ+Hl2AVlGx/F18sXW0pYKdhV4GPfQJDdQtjViWi0MHAhbt4Ktrdqnp1GjvF9cIfB19lUDn8ggGng0AKSpq6jlqc2iQ4cOTJo0icjI1GyhERERfPDBBzKqq5AY5/lo4a02MWbXrl8QyQv1ZGSXEIUnr00dNhY2uNm5Aan3pqIobN26lTZt2vC///2PvXv3YmZmRrdu3Vi/fj1BQUEsWrSIrl275jvoSdYmp/tcAmju3RxQm3T0w7SzoihKuv6I+vfiTtSdnL0/igJvvGE6/1abNrm/qEKWUZ9JSV5YtPIU+MybN4+goCAqV65M+/btad++PVWqVCEkJIR58+YVdBkFpnk+mlZUO49nl7ujIH9FSBJDIQpHkjbJMPdeXr74jJMYXrx4kWeeeYbOnTtz5MgRbGxseOedd7h16xZ///03PXv2xLIAh3IHxwSjoGBpZsmTXk8altcsXxNXW1dDubLzMO4hCSkJQOr8gMY/trKtEVMUNROzPj/PqlVqvp7HUNrPUpM+TFLjUyTy1C7l7e3N+fPnWblyJefOncPW1pahQ4fSv3//Ar2pRCrjPB+VnSury7Jr6irAm8m4s6EQouDci76HgoK1ubWh9iY3fJ18OX3rNF/N+Ip9a/aRkpKCra0tI0eOZPz48Xh6ehZCqVXGtcqVnFM7D/s6+6Y26UQF8YRH1rl39J8rHvYehuHq+s+twMjA7Gt8pk4F/Y/uJUvUDM2PqbS158YZq72dvIutXGVJnjvk2NvbM3z48IIsi8iCcVVoTpudCrL6VIa0C1E4jIOHvPTFU24osBB2Re8CoHfv3nzxxRdUrly5QMuZkYw+l0D9vPB18uVsyNkc1fhklHZD/5lzKvgUybpkNGio6Fgx/c6ffAIzZqjPv/wSXn01j1dTNIyb8CD1PXS1dcXOMn9NjyJn8hz4XL16lb1793L//n10Op3JuilTpuS7YEKtAtXPgXM74jaQ+oECGVchG3ckLMghko/DnEBClCQ6RYdO0aFBky4bs8m9HfnfvZ3LHyhJSUl8+OGH/DX3LwAcPB1Y+9NaOnfujFanJUWXgrnGPF8DG4zLm9FxjIM248+ZtEPSsztmRrXT+vfjcNBhALwcvbA0T9OiMGcOfPRR6vPRo3N7aUUu7Q9XGdFV9PIU+CxZsoQRI0ZQoUIFPD09TW4I/RQWIn/C48NpsrgJtyJumSw3Hur5IO4BCSkJ2FjYALDmwhpGbR7F2j5reabKM1LjI0QxufHoBi1/bMnDuIfYWNiw+oXV9KzdE1D79DRf0pxzoedM9snNIISrV6/Sv39/Tp8+rS5oCo1ea0Tnzp1ZdGIR72x9hxRdCn4ufpx540y+0lmM3TaW3y/9zqnhp3CzN22KM+5HaFx+40Aoo8+M6MRomixuQttKbfmx548Z9kfUH08/Uizd+/PllzBxovr8k0/UPj4lgHGNj0mnbunfU2Ty1Ln5k08+4dNPPyUkJISzZ89y5swZw8NwI4p8OXb3WLqgx8rcig5VO1Detjy2FraAaQfnP6/8SVh8GJuubiImKYaIhAigYGt87kXfI0WXku/jCVGa7bq5y5A8NCElgb8C/jKsu/zgcrqgx1xjTufqnXN07K1bt9KsWTNOnz6Nq6srM5fMhG5wL/EeAOsurzPco7cibnH87vF8Xcuai2sIigriUNChdOuMA5YKdhVo6dOS+u718XPxy7KW+OS9k1x/dJ01F9eonXsz+JHWyLORSbDTrUa31AN88w2MGaM+nzIFPvwwX9dYlPT9eBJSEtTh+jKUvcjlqcYnPDycPn36FHRZhBH9h0XHah1Z/YI6142NhQ22lmrA4+vsy9WwqwRFBlG9fHV1H33VqdEoiIKa9M7D3gMLMwtSdCmExITIDMJCZEF//9lZ2hGXHJfh0OWGHg3ZM3gPoP6osbeyz/a4CxcuZPTo0eh0Op5++mlWr15Nkl0SH3z1AXei7qBTdIbj21rYEp8Sn6/maePh6hkdx7hvjkaj4dCranBkpjFL15fFmL6M+gzGGaXecLJ24ubom0QnRmNhZpH6ObZkCbz1lvp84kSYNi3P11ccrMyt8LD3IDQ2VP2slqHsRS5PNT59+vRh+/btBV0WYUR/M1RxqUI523KUsy1nCHogk1wQRvPa5DUFfmbMzcwNw0yln48QWdPff618Wpm8htT7p7JLZcO9nV3Qk5KSwqhRo3j77bfR6XQMHTqUnTt3UrFiRbwdvdGgIUmbxIPYB4bjt/JNf+7c0o84y+w4afvmmGnMDFPaGPdlURQlw/306zOr9bAws6CcbbnUoGf5cjVXD6g1PrNmQQH0YSpqxrVhMpS96OWpxqd69ep89NFHHD16lCeeeCLdEPZ33nmnQApXlmVX/am/cfS/prQ6Lfei1apuk5upAH9F+Dr7cjvyNkFRQbSiVYEdV4jSRn//tvZtza6bu0wyGOe2aSMxMZGXXnqJ9evXo9FomD17NuPHjzf0rbQ0t8TTwZPgmGDOhZ4jPiUegJbeLdl9c3e+fqhkVFNlKFdKIqGx6vQXGX3O6H8oJaQkEBYfRgW7Chke63bEbe5G3c30OAYrV6ojthQFRo1Sh6+XwKAH1L/9yXsnC+VHqshengKfxYsX4+DgwL59+9i3b5/JOo1GI4FPAchuVvW0I7v0CQ5BTSp2M+KmyXYFwXheICFE5vT3r77GR5/B2MXGJVedWePj43n++efZunUr1tbW/Prrr/Tu3Tvddr7OvgTHBBtGQLnZuVHDtYZaluisE51mxfheT9tkdTdaDVZsLGwMyQqNWVtYpzbpRAaZBD7Gx9IPVzfTmGU8XB3Ump6hQ9Wg5/XXYcGCEhv0QCY5iqSpq8jkKfC5efNmQZdDpJFd9Wfapi7jX1A6RWfo0FiQgY+M7BIie8aZeGu61kydlDIyCBcblxz36YiJiaFHjx7s2bMHOzs7NmzYwP/+978Mt/V18uX43eOGwMfXOeu0FzllHKBkNEkyZJ1/yMfJx9CXpbFX49R9jT5DDMPVHbywMMvgK+nHH9VgR1Fg+HBYtEjNzlyC6f/2Z0POpstYLQpfyf7fU0plNsrBWGa5IPSO3jma5f55IYGPENl7FP/I0Nzk4+STed6WLH6UxMTE0KlTJ/bs2YOjoyNbt27NNOgxPpbhvnfyzbKPTU4Z3+t3o++i1WnTrcvqOjIb2WX8OsvPqsWL4bXX1KBn5MhSEfRA+r+XccZqUfjynMDwzp07/PXXXwQGBpKUlGSybv78+fkuWFkWnhBOXHIckHm7b9pfc2mDkeikaJPtCoIkMRQie/p70d3eHWsLa5MMxhlNxplWYmIizz//PIcPH8bFxYVt27bRvHnzLM+pP5bxfW+cB0ffzJbXawF1ouTQ2FBDc1RO+hFm9GMpNimW8IRww+tMP6u+/VbtywNqYsIvvijRzVvG0v29pJmrSOUp8Nm1axc9evSgSpUqBAQEUL9+fW7duoWiKDRp0qSgy1jm6D9Q3OzcDMkJ09J/qIUnhBObFJtpMCI1PkIUrbQ1Osb3zYO4ByRqE9GgybBpQ6vV8sorr7Bjxw7s7e3ZunVrtkGP8TkMr519sbO0S9fMltdrMX5tCHxyUuOTxUzkWV7DggWpWZjHjoW5c0tN0AMZ/L1kRFeRylOd4aRJkxg3bhwXLlzAxsaGdevWERQUhL+/v+T3KQA56QPgbOOMo5WjYXv9Pg5WDibbFeRIAX15QmNCSdImZbO1EGVT2vs3o1nGPR08002/oCgKo0aNYu3atVhaWvLHH3/QokWLHJ0z7X1uCLpyOK9fdtei/1wxPk5OOmmnHX0KqcFUpp9V8+enBj0TJ5a6oAfU6Tf0w/5BAp+ilqfA5/LlywwePBgACwsL4uPjcXBwYPr06cyePbtAC1gWZZTMKyMmuSD++0Bq4Z36QVnetnyBTnrnZueGlbkVCoph6LwQwpTh/nVU71/j0ZBZDV3++OOP+f7779FoNPzyyy907Ngxx+dM+yNJf/z8jMRMTEnkfux9IPVzxSSAycEPtIw6WOuP0axis/TXMHs2jBunLvjwwxKbpyc7FmYWeDl4GV7LUPailafAx97ensTERAAqVqzIjRs3DOsePnxYMCUrw3Ka58O4Gln/wdLat3W69QVFo9HIkHYhspGuxieD+zRtsLBmzRo+/vhjAL755hv69u2bq3N6OXhhrkmdCDWjc+eWPkCxsbChkWcj9TjGiQdz0EnbuMZHp+hMylKtXDU87D3UDRVotWgjvP+++nrqVHXG9VIY9OiZzEQvfXyKVJ4Cn5YtW3LokJqavGvXrowbN45PP/2UV199lZYtWxZoAcuinOb50K+/GX6TkJgQIE3gUwg3k/TzESJrae9f4y//jH7UnDx5kiFDhgAwbtw4RowYketzmpuZG/reGPcfymraiOwYlzXtfR+XHEdYfJi6PovPGS8HtUknWZdsqD0yDv58nX3R6GDBFvBeuFzdadYsdRqKUhz0QJqZ6KWpq0jlqXPz/PnziYlRZ8ydNm0aMTExrFmzhurVq/PFF18UaAHLopzm+dCvP37vOAoKVuZWNPFK7VxeGDeTjOwSImtp71/jDMb6yUn19+bdu3fp2bMnCQkJdOnSJV9dBXydfQmKCjLpP5SfPj5pAxTj4+gDKXtLe5ytnTM9hj6r9L3oewRFqmUzDqgq23vz1oaTDD4HikaD5ptvIA+BX0lkEvhIjU+RylPgU7VqVcNzOzs7vv322wIrUKml1aJERJDskjphqJW5leF5ii4ltSo4h3O36NfrE4D5OPkYRoIlpCQUTuAjNT5CZEqn6NLV+BhnMDZOMBgfH0+vXr24d+8edevW5ddff8Xc3DzTY2cnbQ2T8bLAyECStcnpOlRnxfg60qXPMAqKMkteaFyGe9H3CIoKopl3M8NnRyUbDz765gINz0GKGVis+BlefjnH5Svp9H+nLDNWi0KRp6auqlWrEhYWlm55RESESVAk/qMoMHo0SsuW1BpnjfUn6uOtzeoMw0vPLMX2U1vD8hvhap+pnNb4xCSptW++Tr4m/XCkqUuIovUg9gFJ2iQ0aEy+zDK6V9955x1OnjxJ+fLl+euvv3BycsrXudMOnzc+7/VH17H6xIqx28bm+HjGNTP6z5TgmGBSdCm5mm8sbS1xUGQQdknQcuSnNDx8gwRzmDyqTpkKeiD1vcs0Y7UoNHkKfG7duoVWq023PDExkbt37+a7UKVOWBhs2oTZ9esc+hGeULvj8Pul3wFYH7CeFF2KyS6NPBtl+6HStGJTk3b9bjW7AdCzVk/K2ZTj6UpPF/CFSFOXEFnRBwRejl4mtSs9avYwPPdz8ePCzgv88MMPaDQa1qxZQ7Vq1fJ97k7VO2FvaU/XGl0Nyyo5V6KhR0PDa/1nTk4YN9l5OHhgaWaJTtEZmq0gh4GP0Y+lyIRIzCKj2f4z2O89jNbOlj6DbSnfb0iOy1VatPZtTQW7CvSs1bO4i1Lm5CrM/OuvvwzPt23bhrNzatuuVqtl165d+Pn5FVjhSo0KFeDQIZTnnqPiP/9wZpUj7V6I5mDlUBJTEg0fImtfXEvHauoQVkdrR5M8DxlxsXHh9ru3iU2KxcLMAnsrewDmdpzL7P/Nxtws79XmmZEaHyEyl1lA8JH/R4xpNQatTkvg9UBatlAHgUydOjXLqShy439V/0fk+5Em972FmQWn3zjN1bCr1PmmDvei76HVaXP02WCcVsNMY4a3kze3Im5xJ+pOribWNO5gHXL9LHuWQ+MQwMUF8y1bWN+8WaF8Vj3uvBy9CBkXUiavvbjlKvDp1asXoA5r1ufx0bO0tMTPz4958+YVWOFKlYoV0ezfD927Y37wINt/hn4vqvPf6IOIWhVq4WyTeUfBjFiYWWS4T2HdTPoPuodxD0lIScg0s7QQZVFWeXocrByIjY3lpX4vERcXx//+9z8mT55coOfP6L4305hRo3wNLMwsSNGlEBwTnKO8MWmbs3ydfLkVccskH1FumrqUa1fxHfMSdiEQ5miB67590KABZflrX4Ke4pGrpi6dTodOp6NSpUrcv3/f8Fqn05GYmEhAQADdunUrrLKWfC4usH07dO+ObQr8uQbivlvIwzg191FJGNJYzqYctha2QN6GyApRmmXXBDRq1CguXbqEl5cXK1euzFdn5twwHu6ek2bquOQ4HsU/AjLJQJ3DkaegvhdN78K3n57D7k4I18vBxI+fggYN8nQtQuRXnvr43Lx5kwoVKpgsi4iIKIjylH62tvDHH2x52hNzBep/8AUTDoKdhW2e5tIpahqNRvr5CJGJO9GZNwGtWbOG5cuXY2ZmxurVq3F3dy/SshmSj+agmdp4Wgn9cHXjkV05zS4PUO34NfYuA9dYHXdretJ6GFjWqJ2XSxCiQOQp8Jk9ezZr1qwxvO7Tpw/ly5fH29ubc+fOFVjhSi0LC1aP6cBnbdSXs3fCN7ts0ChK8ZYrh6SfjxAZy6zG586dO7z55psAfPjhh7Rt27bIy5bR9BGZMW7K0g9X1+9/6eElIhMjTZZl6uefce03FPtk2FYNRo6rwwMHyVsjileeAp/vv/8eX1/1P+6OHTvYuXMnW7dupXPnzrz33nsFWsDSyte5EpM6wKQu1gAM2RMOAwZAQkIxlyx7UuMjRMYyagLS6XQMGTKEiIgImjVrxkcffVQsZcvND5aMOi/ra3eO3TkGgLO1M47Wjul3BjWFx5w58MoraFJS+PNJO7r3hz1hJ02OJURxyFPygODgYEPgs3HjRvr27UvHjh3x8/PL8WzCZZ3+Q+iz5okEWcOyvzRYrFkDd+/C+vXg6lq8BcyC1PgIkZ5Wp+VulJrOw7gmZMGCBezatQtbW1t+/vlnLC1znkSwIGU0U3pmMqq50u8fnRRt8jodnU6daPTLL9XX48Yxv/YRku8eJlm/bwnozyhKrzzV+JQrV46gIPXG2Lp1q2E4pqIoGeb3EekZf2isbAi/zB4Izs5w8CC0bg3//luMpcuaBD5CpBcSE4JW0WKuMcfTwROAixcv8v5/E2/OmzePWrVqFVv5cnPfZjRqK22wkmHwEhcHL76YGvTMnQtz5+JTrpLpvtLUJYpRngKf559/ngEDBtChQwfCwsLo3LkzAGfPnqV69eoFWsDSKu2HRkr7tnDoEFSqBFevQsuWcOxYMZUua9LUJUR6+mChomNFzM3MSUlJYciQISQmJtKlSxdDH5/ikpv7NqMmuwp2FUzSV6QLfEJCoF07+PNPsLKCVavUmp8MtpWmLlGc8hT4fPHFF7z11lvUrVuXHTt24ODgAKhNYCNHjizQApZWaX/x+Dr5Qr16cPQoNGkCDx5A+/bqh8hjRv+hJcPZhUhlPH8VqJ+TJ0+exNnZmSVLlmQ7p1Vh0wcfITEhJGmTstw2o1FbxtPhQJrPsAsXoEULOHFCbabftQv69093bsAwn6AQxSVPfXwsLS0ZP358uuXvvvtufstTZjhbO+Ng5ZA6d4/+Q8TLC/btg5degk2b4IUXYP58eIzeW/2HWHhCOLFJsYaM0UKUZcbNQ1evXmXKlCkAzJ8/n4oVi38SSjd7N6zMrUjSJnEv+h5+Ln6ZbptZgkJfJ1+uP7puum7HDrV5KyoKatRQP7dq1DDdzzl9XyEhikuOa3z++usvkpOTDc+zehS3b7/9lipVqmBjY8OTTz7JgQMHirtI6aT99WRS9evgoHZwHjFCHR0xZgy8/TakpKQ/UDFwtnHG0UodzSH9fIRQGWpJHHx47bXXSEhIoEOHDgwdOrSYS6Yy05jh7egNZN3cFZUYRVRiFJA+SEn3mbVkCXTurAY9Tz8NR46kC3oy3E+IYpTjGp9evXoREhKCu7u7YeqKjGg0mmLt4LxmzRreffddvv32W9q0acP3339P586duXTpEpUqVcr+AEXI18mXKw+v4GTthJN1mpmZLSzgm2+gShWYMAEWLoQrV2DtWihXrngKbMTX2ZdLDy4RFBlE7QqSjEwIffLC27tuc+DAAezt7Vm8eHGxN3EZ83X25WbEzSx/sOiDIhcbFxysHEz3/6+WR6ODxl+tgQVL1BUvvww//gjW1hmfN4tO0kIUtRzX+Oh0OkOmUeOpKtI+intU1/z58xk2bBivvfYaderU4csvv8TX15dFixYVa7kyYjwHToY0GnjvPbWfj7097NyptqMHBBRhKTMmI7tEaaEoCkoBJA8NigyCSNj47UYAZs2a9dhN2qy/b2+G3yRFl3ENclbzcPk6++KQCH+sgfL6oGfqVPj550yDHkhtZsvsuEIUpVx3btbpdPz0009069aN+vXr88QTT9CzZ09WrFhRIB8e+ZGUlMSpU6fo2LGjyfKOHTty+PDhDPdJTEwkKirK5FFU0s6Bk6levVJHfF27po742rGj8AuYhdxkgRXicdZlVRcaftcw2w6/2QmKCoItkBCXQOvWrRk1alQBlbDg6O/byXsmU252OUMyQmNZzbxeM9KSIz9ArwDUkVsrVsC0aeqPtCyYacwMTVzSx0cUt1wFPoqi0KNHD1577TXu3r3LE088Qb169bh16xZDhgyhd+/ehVXOHHn48CFarRYPDw+T5R4eHoSEhGS4z6xZs3B2djY89IkZi0LHah1xtHKke83u2W/csKE6YqJNG4iIUNvVv/5a7QNUDIwnLBSipIpJimHr9a38c/8froVdy/NxkrXJ3Dt5D66Aubk53333HWZmeRo0W6ieq/6cYZLhmKQYtt3Ylm6bTCda3b2bdn3fo/4DiChnqw7CGDQox+fuVasXrrauPF3p6bxfgBAFIFejupYtW8b+/fvZtWsX7du3N1m3e/duevXqxYoVK3jllVcKtJC5lbZNXVGUTNvZJ02axNixYw2vo6KiCi340Wq17N27F41GY3hsaLUB83hzDhw4YFhmZmZmso3JY+5cNDNnovn7b8zeeQfN/v1YTZmCjZMTtra22NjYYGNjg6WlZaH2LZCmLlEaGKdkuBN1h3ru9fJ0nBuhN2Cz+nzMmDE88cQTBVG8Aufv50/4xHCm75vOzIMzM0xJka6pS1HU/obvvouZVovSrBkuf/4J3t65Ove8TvP4vOPnmGkev4BQlC25Cnx+/fVXPvjgg3RBD8AzzzzD+++/z8qVK4st8KlQoQLm5ubpanfu37+frhZIz9raGuss2qYLUkJCgiHLdYH5/Xf1kYaZmRk2NjY4ODhQvnx5w6NcuXK4urri4+NDpUqVDA8PD49c/UKVXD6iNDBuqs1PEP/Jp59AJJiXM2fatGkFULLCY21hTbXy1YCMr9kkeWFSEowaBT/8oK4cOBDN4sVga5unc0vQIx4HuQp8zp8/z5w5czJd37lzZxYsWJDvQuWVlZUVTz75JDt27DBpdtuxYwc9e/YstnLpaTQa6tevb+hMmdVDp9Nlv11CArqICJIVhXjAeHpTnU5HXFwccXFx3L9/P9uyWVpaUq1aNerVq0e9evWoX78+zZo1o3LlyhnWHEn2ZlEaGH/x5/X/8sWLF1m9eDUAtQbWwt7+8c9rlVUfPf2yqon28Oyz6jQ6Gg3Mng3jx2fbn0eIx12uAp9Hjx5lWnMCal+a8PDwfBcqP8aOHcugQYNo2rQprVq1YvHixQQGBhZ7ungAOzs7/vnnn4I9aEAAPP88XLqEYmFB0vz5xA8cSEJiIgkJCURFRREeHs6jR48MjwcPHnDnzh0CAwO5ffs29+7dIzk5mStXrnDlyhXWrVtnOLyHhwctW7akdevWdOzYkQYNGmBmZmb44IxOiiYyIRJnG+eCvS4hikB+a3wURWHUqFFoU7RQCxq3a1yQxSs0mfXRUxSFoKggWgdCyx4jIfQ+ODnBr79Cly7FUVQhClyuAh+tVouFRea7mJur89MUp379+hEWFsb06dMJDg6mfv36bN68mcqVKxdruQpNrVrqNBevvorm99+xfucdrM+cUdvkPT1zdIjk5GTu3r1LQEAAFy9e5OLFi5w/f56zZ88SGhrKhg0b2LBhAxMnTsTDw4MOHTrQo0cPXMxciNBFEBQVJIGPKJFManzyEPj8/vvv7Nu3D3Mrc7SdtSVmqLa+qVqfrFCfRyw8/hGvHYhj7naw0N2HOnXUdBrFOLmqEAVNo+RiDLqZmRmdO3fOtE9MYmIiW7duLfZcPvkRFRWFs7MzkZGRODk5Zb/D40JR1JmQ338fdDp1vq8//oB8BHzx8fGcOXOGI0eOsHfvXvbs2UNsbKxhvcZKg1JDYfKIyUwZPgVLS8uCuBIhikynXzqx/cZ2AGq51uLKW1dyvG9cXBx16tQhMDCQWi/UIuCJAL7p8g0jm5WM+QrLzS5HREIEF0ZcUDt1x8QQPqgP5dZvVTfo10/t2+PgkPWBhHhM5PT7O1c9zQYPHoy7u7vJ8G/jh7u7e7GP6Cqz9MkOt2+HChXg9Gl48sl85fuxtbWldevWjBs3jr///ptHjx6xZ88e3nvvPfz8/FCSFLgIn7z1CZUqVWLy5Mncvn27AC9KiMKVtqkrN7nI5s6dS2BgIL6+vti1swNKVnI+k5GZAQHQogXl1m8l2Qw+7+OtNm9J0CNKoVzV+JQFJbbGx1hgoDq56cmTakA0ebKaXdXcvMBOoSgKL37xIn/8/gcOAQ7EPFInWzUzM6NHjx5MmjSJ5s2bF9j5hChoiqLg9JmTYaJggLAJYZS3LZ/tvoGBgdSuXZv4+HhWr17NO0HvcD/2PmfeOEMjz0aFWOqC03VVVzZf28x22zfo8MkqiI4mtoIznbpH4tqxBxte2lDcRRQiVwqlxkeUEJUqwYEDMHy42gQ2Y4Y6OuPevQI7hUajoUnTJtAJen/fm99++41nn30WnU7H+vXradGiBR06dGDv3r3FntFbiIxEJUYZgh79nFQ5Tc8wYcIE4uPjefrpp+n5fE/ux6ojJ0vSBJxVbCvyxRboMPF7iI6Gtm1Z8O1gDlUuWTVXQuSWBD6llY0NfP89rFqlVlfv2weNGqlNYQVEPzLkXtw9XnzxRXbu3Mnly5cZMmQI5ubm7Ny5k/bt29OpU6eCH80mRD7pOzOXty1PjfLqjOI5GdK+f/9+1qxZg0aj4auvvuJu9F0AbCxscLV1LbwCF6Tr1/lw0mbe1c9YMW4c7NzJZQt1VK4EPqI0k8CntOvfH06dUqe8ePAAnntObfoqgNF3GWVvrl27NkuXLuX69euMGDECS0tLduzYQaNGjRg+fHimU4cIUdT0QY6Pk0+Op2DRarWMHj0agNdff53GjRubZDp+nGZiz9Tq1dCkCV4B9wizhY/GNFQHRlhamiYvFKKUksCnLKhZE44cgTfeUJu+Pv0UnnkG7t7N12GNkximbc7y8/Pj22+/5cqVK/Tp0wedTseSJUuoWbMm3377LTqdLl/nFiK/jAMWH0e1iSq7Gp8ff/yRs2fP4uzszCeffGKyz2MfLMTFweuvqz+GoqOJaPoEjd6E36qmpj7NdJ4uIUoRCXzKCltb+O671JEaBw5AgwZqjo480vdniE+J51H8owy3qVq1KmvXruXgwYM0b96c6OhoRo0aRdu2bblyJedDh4UoaMZf8jmp8YmMjOTDDz8EYNq0abi5uQFGs5k/zsHCxYvQvLk6PP2/AQ8PN63ljnPqaDZFUbKcmV2I0kICn7LmpZfUoe6NG8OjR2rW59deg5iY7PdNw8bCBjc79cM/uyaCNm3acOTIERYuXIiDgwOHDh2iYcOGfPbZZ1L7I4pcYkoityJvAeqXfE4m3Z0zZw4PHz6kVq1ajBg5wrA83aSejxNFgW+/hWbN1ODH01NNcTFjBt7l1Bxfcclx3I2+S2BkIInaRDRoqOhYsZgLLkThkcCnLKpRQ832PHGi+uvvxx/VQOj48VwfKjdzdpmZmTFq1CguXrxIly5dSEpKYtKkSXTo0IF7BTjiTIisrPpnFQ6zHPjl/C9Amj4+mfw/Dg4O5osvvgBg1KRReH3hxaf7P1X3eVz7xQQHq9NMjBoF8fHQqROcPauO8ARsLW2pYFcBAN8vfPH7yg8ADwcPrMytiqnQQhQ+CXzKKisr+Owz2L0bfHzg+nVo3Vrt/5OLzNs5+aWcVqVKldi4cSM//fQTdnZ27N69mwYNGrBx48ZcX4YQufX31b9J0amd+11tXfGv7G/4f3wn6k6G6Rc+/vhj4uPjadWqFdSG8IRw1gesBx7TfjF//AFPPAFbt6ojPL/6CjZvhjRzLb5Y58V0uz5f+/miKqUQxUICn7KuXTs4f15NT6/VqiO+2rWDW7dytLu+n09uZ7bWaDQMHTqU06dP06hRI8LCwujevTuTJk0q0VOeiMef/v/qz71/JmR8CJVdKuPt5I0GDYnaRB7GPTTZ/urVq/zwww8AfPbZZ4Z+MPrj6IP+xyKHT1QUDB2qJjANC1Nrck+dgnfeAbP0H/eLui0i7oM4Yj+IJfaDWOI+iOObrt8UQ8GFKDoS+AgoV07t9LxiBTg6wsGD6q/F779X+whkIS81PsZq1arF0aNHDUOEP/vsM3r06EFkZGSejidEdvT/V6uVq4aFmTrpspW5FR4OHibr9SZPnoxWq6Vr1660bduWO9Fq4BMaG0p4fLihY3+xN3UdPKimrVi2TG3CnjRJbdKuWzfL3WwtbbGztMPO0g5bS9uiKasQxUgCH6HSaGDQIDh3Dp56Su3s/Oab0LEjZDH/lv7DPqcZbzNibW3Nl19+yS+//IKNjQ2bN2+mRYsWBAQE5PmYQmREq9NyL1rtT5Y2UDEE8Ua1lydOnOC3335Do9Ewa9asdOuP3VUzADpYOeBs7VyoZc9UXByMGQNt26o1tX5+sH8/zJypNmkLIUxI4CNMVamiZnn+4gt1CPzOnWrtz+LFGdb+5LfGx9jLL7/MwYMH8fHxISAggJYtW3LgwIF8H1cIvdDYUFJ0KZhrzPFy8DJZZ2i2/e//sqIovP/++wAMGjSIJ554wmQ9wOGgw0AxJi/ct09NS/Hll+r9OXRo6o8XIUSGJPAR6ZmZwbvvqh+gbdqo8/i88YY6KiQw0GRT4xofnZL/YelPPvkkJ0+epFWrVkRERNChQwf++OOPfB9XCEitranoWBFzM9NJe9PW+OzYsYPdu3djZWXF9OnTAdApOu5GpSb+PHLniLpvUTdzxcSoo7XatYMbN9QBCps3w08/QUmdXFmIIiKBj8hcjRrqL8r589WRITt2QP36aiLE/3LveDuqnUKTtEk8iH1QIKf18PBg586d9OjRg8TERF588UUWLVpUIMcWZVtWQ8+NkxjqdDomTpwIwMiRI6lcWc15ExoTSrIu2bDPsTtqU1eRjujauVO9D7/9Vn39+utw4QJ07lx0ZRCiBJPAR2TN3FztP3DunDrcPToaRoyAp5+GCxewNLfE08ETKJjmLj07OzvWrVvH8OHDURSFkSNHMn36dJnpXeRLVkPPjZtt16xZw9mzZ3F0dDRka9avMxadFJ3p8Qrco0dqkNOhg9rvrnJl9cfI4sXgXEz9i4QogSTwETlTs6baYfKrr9QpLw4fVofKfvgh1W29gdwPac+OhYUF3333HR9//DEAU6dO5aOPPpLgR+RZVlmW9TU+gWGBTJ48GYAJEyZQoUKF1P0z+T9eqEPZFQV+/hlq11annAAYORL++Qf+97/CO68QpZQEPiLnzM3VfCCXLkHPnuoM7zNnsmbGZZ75t2BrfPQ0Gg1Tpkxh/vz5AHz66adMnDhRgh+RJ1nl3DEkMdx7h3///RcPDw/GjBmT4f6OVo6m+xZWH5+rV9Xg5pVX4MEDqFNH/QHyzTdq6gkhRK5J4CNyz9cX1q9Xs8NWrIhXSCy7VkCbD7+H+/cL5ZRjxoxhwYIFAHz++eeMGTNGgh+Ra1nNpO7l6IUmSYNur9p/berUqdjb25tso0/b0NKnpcnyAm/qSkiAadPUEZW7d6t97GbOVKecePrpgj2XEGWMBD4i73r3hkuXOPN8a3TAk7suqU1iX32l1gYVsLffftvQyfmrr77i/fffl+BH5EpWM6lbmFngeMoRYsHHz4fXXnst3Tb6Gp/Wvq1Nlhdojc+OHWoiwo8/hqQkeO45dYLRSZMkL48QBUACH5E/zs5cmz6a1sMgoLI9REaqQ+EbN4a9ewv8dG+++Sbff/89oM6WPXPmzAI/hyidUnQpBMcEAxkHKvfv3ydmbwwAfd/ui6WlZbpt9DVGT7g/gb2lWhvkYuOCg5VD/gt44wb06qUmDb16VZ1Jfc0adZh61ar5P74QApDARxQAXydfjvnCc++UV4e6ly+vDq9t316dAyyoYPv+DB8+nHnz5gHqdAL6JjAhsnIv+h46RYelmSXu9u7p1n/66afoEnXgBd4tvTM8hvFweH3wlO9mrpgY+OADdWqJDRvUvnSjR8OVK9C3r5pVXQhRYCTwEflmyH8Sc4/wV/oSdeEUSW+8hmJmBmvXotSuTcLHHxEVEYpWlzoBaX4SHo4dO5apU6cCMHr0aJYtW5avaxCln762xsfJBzON6Uffv//+m5or6n9wN/pu2t1J0aUYprvwcfIxBDx5buZSFPjlF6hVC2bNUpu1OnRQJw3+8ksZoi5EIZHAR+Sbl4MX5hpztIqW8nPK47y4CtZeP9D4dR0HKoEmLg6baZ8QWdmT9wZ5EB0fyc3wm1SYU4GJOybm+bxTp041jLp57bXX2LJlS0FdkiiFskpeOGXKFJKTk6nZvCZUy3iEYnB0MDpFh4WZBR72HqmBT15qfI4cUbOiDxoE9+6pTVnr18O2bdlOKiqEyB8JfES+mZuZ83yd59MtP+cFbYfCgOfhtjP4RsH8VWFomjbj2ppFhCeEsyFgQ57Pq9FomDdvHq+88gparZY+ffpw8uTJ/FyKKMUyS1549uxZVq5cCcBr76kdmjMKfPTLvB29MTczp3ut7rjYuNC1RtecFyIgAF54QU0GeuQI2Nuro7UuXlRTREizlhCFzqK4CyBKh7V91pKQkpD5BvHxfPdqE/r/fQvnS9foOOJzNlWHqV1uoyhKnid41Gg0LFmyhHv37rFz5066du3KkSNHqCqdQUUameXwmTRpEgAvvfQS/q384WLq6C+T/dMMhe9Vuxc9a/XM2f/dkBB1lNaSJaDVqvPhDR2qLvPOuD+REKJwSI2PKDA2FjaZPxzLcbB/G6q9AydfbIPWXEOX63D06wSSBg+EW7fyfF4rKyvWrVtHw4YNuX//Pp07dyYsLKzgLkyUChllbd6zZw9bt27FwsKCGTNmGNbdi75His40JUNGQ+GzDXpiYtR8PNWrqx3/tVro3l3tx/PDDxL0CFEMJPARRcbXyZcwe1g+tDHDZz/Nb3XBXAHrn1ep+X9GjIA76X9p54STkxObN2+mUqVKXL16lRdffJHk5OTsdxRlRtoaG0VReP/99wF1pGD16tXxcPDAwswCnaIjODrYdP8sprtIJy4O5s6FKlXUWp3YWGjeXJ3096+/oF69ArwyIURuSOAjiozx7NfH7R7Rty+0eA0etGkEycnqL+Lq1dU8QCEhuT5+xYoV2bRpEw4ODuzdu5fRo0cX7AWIEi1tjc0ff/zB8ePHsbe356OPPgLATGOGt+N/c8+l6eeTVedog/h4+OILtbPye+/Bw4fq/+m1a+HoUWjbtqAvSwiRSxL4iCJjPPu1/tf3cR9Y9+Ub6i/hp5+GxEQ183PVqjBxYq6nwKhfvz6rVq1Co9GwaNGi1CHKokxLTEkkNDYUUAOXlJQUPvjgA0BNjeDp6WnY1hCgp5mQ1Hg4fDoJCfD111CtGowdC6Gham3P0qVw+TL06SMdl4V4TEjgI4qM/gvlathVIhMjDcuDIoPUX8L79sH27dCihfrLec4c8PNTk7nlIgli9+7dDRmd3377bfbs2VOg1yFKHn1eHhsLG1xtXfnpp5+4evUqFSpUYPz48SbbGgfoxjJs6oqJUXPuVK+uTuAbHAyVK6v9dwICYMgQsJAxJEI8TiTwEUVG/4URkxRjstzwBaPRqAncjhyBv/+Gpk3VAGjBAvWX9LBhair/HJg4cSIvv/wyWq2WF198kRs3bhTotYiSxXgoe3x8PNOmTQPUzN9OTk4m2xoCH6ManyRtEqExqTVGhIWpnZYrV4YxY+DuXXXy3u++U/+PDhsGGUx5IYQofhL4iCJT3rY8tha26Zany5mi0UC3bnD8uDphY/v2ah+gn36C2rXVaTDOnMnyXPph7s2aNePRo0f06NGDqKiogrwcUYIY989ZsGABwcHB+Pn58eabb6bb1rgvmt7dqLsoKFSLscLtg0+hUiW10/KjR2ptz+LFcO0avPGGTCQqxGNOAh9RZDQajUnHUEcrRyB9XwqjHeB//4Pdu+HwYXUYsKKoHUWbNIF27dRst1pthrvb2tqyfv16KlasyKVLlxg0aBA6Xd6nyRAll/7/mJvGjc8++wyAGTNmYG1tnW5bfY2PcS6f8MO7WPYnXJ6fhGbBAnXUVuPG6iSiV67A669DBscSQjx+JPARRcq4Y2hLn5aA+gWjKErWO7ZqpQ4DPncOBgxQ+03s2we9e0ONGmo/iwxqdCpWrMj69euxtrbmr7/+Ys6cOQV5OaKE0Nfe3N54m8jISBo0aMCAAQMy3FYfnN8LD4TffoOnnqJJt9cZfA4sdag1kNu2walT6iSi5uZFdRlCiAIggY8oUsYdQ1t4t0CDhkRtIg/iHuTsAA0awMqVcPMmvP8+lCunPh8zBnx81H/T9ANq1qwZCxcuBODDDz+Uzs5lUFBUEETAyfXqlCazZs3CzCzjj79KyfZMPABHPg1VA5tDh9Cam7HyCZg2u7NaA9mxo4zSEqKEksBHFCnjwKda+Wp4OHgAWTR3ZcbHR53R+s4dtUNp7doQHa3W/NSqBc88A6tXq8PjgWHDhjF06FB0Oh0vvfQSd++mn31blF53ou7AXkhJSsHf35/OnTubbqAocOAAvPIKrrUa8dkudW45bQVX+Ogjpix9hYEvQPKTjYul/EKIgiOBjyhSxn18fJ18DU1fGc2NlCN2dmqH0osXYetW6NpV/SW+Zw/0768GSBMmoLlxg2+++cYwrUXfvn0ls3MZcjPgJpxTn3/22WepU008fAjz5qkzordtCz//jCYhgQs+VrzSCw4f/BWmT+eC5SMgkxw+QogSRQIfUaSMa3x8nX0Nr6+GXSUxJTHT/bQ6bZavMTODTp1g40Z13q8pU6BiRfWL7fPPoUYNbLt04feXXsLZ2ZnDhw8zYcKEfF+PcTkURSEiIYLIhMjs+yyJ9H/DXFIUBZ2SfWf1uOQ4IjdHggLde3anZdOmar6ol15S/4+MH692ULa3V4ehHz3K2zNa8XMjCExUE2imne5CCFFySeAjipTxF4ePk48h8JmwcwLl55TnTHD6Yerbb2zH6TMnlp1dBsCgPwfh+4Uvj+IfZXwS/VDj27fVUV9duqi1QHv3Un3SJJbHxwPw5Zdf8tvq1Xm+lp/O/ITTZ07s/HcniqLQdllbys0uh8tsFwb+OTDPxy0LQmJC8JznyRt/v5Gn/RVFoc1PbWj8feN0k4mmtWHHBggANDDbuZyab6dTJ3VEVnKymi/q++/h3j018WCLFvg6VwJSO0Xnap4uIcRjTQIfUaRqutakkWcjutfsjp2lHd1qdsPO0g5Qf5nvvrk73T7brm8jLjmOzdc2A7DhygaCY4I5de9U1iezsICePWHTJrUW6NNPoVYteiYlMfG/TV4dMICrQ4ao8yjlcqj7pmubiEuOY/uN7UQkRHAw8KBh3V8Bf0mtTxaOBB3hYdxD/r76d572fxj3kCN3jnA+9DyBkYGZbqf8+y/zh48B4DUF6qxYoc4D5+oKI0fC6dNw4gQMHw5GiQyNkxjGJ8fzMO6hulxqfIQo8STwEUXKytyK08NP81f/vwDoUK0DUe9HMb6VOm1AumSGmP7qjkyIJDopOtNtM1WpEnzwgTpv0vHjfDJqFP4WFsQoCi8tX05iq1ZqFt5331U7uWaSG8ikXJGp5dKXxd7SHlCzUxtPyyFM6d+vkJgQkrRJed4fMugYf+WKGuQ++SQbq1Xj5N1QbIBJFho1+eVff6m1O998o+biyYA+wLkTfcfQ/8zO0o5yNuVyXVYhxONFAh9R5DRphgGbm5lT2aUykE3gExmU9Rdezk4OzZphsXAhq65fp4KTE2eAiZaW6gixr75SO7n6+MCoUWrm6MSM+x6ZlOu/stR0rYmrrWvey1dG6N8bBYV70ffyvL/6PFDN5D15stpJuU4dmDwZ7enTTPpvm2o1YN6Kl9WRft27Z5td2bjGx3hW97T/d4UQJY8EPuKxkNH8SHr6ZcExwdwMv5m6PDc1PhmoWLkyy1atAuCr5GT++uADeOUVcHZWm0O+/VbN1+LqCr16qdMS3FG/BI3nbjKu8fF19s1wygNhKr8BbOi9qzx/CZZsgB4d3lIzeX/6qVqjZ2kJXbrw89ChXASsHay5+Dy4eVXL8fGN/4bGf1shRMkn0waLx4J+mHDaYCFFl0JwTDAAOkXH8bvHDesKIrDo2rUrY8aM4YsvvmDod99x7tw5fJYsgV27YN06tX9QSAhs2KA+ABo0IK59K/4XpnCokjqP0+2I24AawCmKwtmQs1LjkwWTwCcnf0etVs3avW0bbNnCsEMHGW7okhWlpjXo3Bmefx66diXB2popNWsC4NfNjwDbgFx1TNZv+zDuIdfCrpksE0KUbBL4iMeC/td0aEwoSdokrMzVpoh70fdMhiwfuXPE8LygAotZs2axf/9+Tp06xcsvv8zu3bsx79xZ/SLV6eDsWdi8WX0cPQrnz+Ny/jzbgSQzOO6t5dap1bR3Ab+nPNA5qeWVGp/MmTZVZfA+paSo7/veverUJAcOQGRqnylz4IorbKkB4e1aMH3qXrCxMaz/dv58goKC8PHxwbylOUTkrsbGxcYFO0s74pLjDP/nJIePEKWDBD7iseBm54a1uTWJ2kTuRd/Dz8UPSP+leOzuMcPzoKggFEXJd78La2trVq9eTePGjdm/fz+ffPIJU6dOVVeamanNKE2aqH1IHj6ErVu58dtiLPYdoHIkPBUETwXdYiCgXT2D4BpeVHcE65gDUD1QHT4tfUMMtDqtSb+eoKggCAtTR1cdO6Y+Dh1KP/eakxP4+0PnzvSN/onf4tXpJxp6JDDdKOgJDw/nk08+AWDatGmMezAOyF2NjUajwdfJl4CwAMP/OanxEaJ0kMBHPBY0Gg0+Tj7cCL9BUGRQauCTptYkJinG5HlkYiQuNi75Pn/16tX57rvvGDhwINOnT6ddu3b4+/un37BCBRg4kN/97v6/vTsPb6pM1AD+njRpuqRp6UKbLhSQRZFNisimoA44KLghm+LA9YqDUhjUGQSHTR1kEXQYFRVkBBUE3LiuDIugMCyCgiwKglQaSlugLU1pm7RJz/3jcA5Jm7bplpyk7+958tAmZ/nyEc3Lt2L6DTvRtgC4NQO49Xfpz8TL5Ug+lomnAGDvd8DiVCAhAejdG0hLA7p1k/Yba9Wq2Yah3Mxf0C/DgW45wE1ZwK1vrgJyXq96YGSkNNB8wABg4ECge3dlQ9D9SxcB0nJMVVb9XrBgAQoKCnD99dfj/tH349HFjwKo+xidlEgp+MifOY7xIQoMDD6kGimRKVLwqcPA17OWs40SfADgoYcewtatW7Fq1So89NBDOHToEGJjY90ea7aYAQE4HS09VqYBEIHModtweec2bPvgRQzI0aNLtkMaI7Rxo/SQRUZKAahbN6BzZ2mH+Q4dpJWEq9k80+8UFACnTkkDjo8cUR6J587hW5cDi6U/OnQAevWSHv36SXXjZufzCrECWZare63lleahpLwEYbowZGZmYunSpQCAhQsXIrtEGh8WFRIFQ7ChTsWv3MLDFh+iwMDgQ6rhbmaX/K95o94Ii+1q10dEcASKyopgLjSjc8vOjVaGV199FXv27MGJEyfwyCOP4P/+7//cdqXJ4cy5XIIgIP6G/ii/pjUmW15EiFZAyZOFEA4elMYGHToEHD4sBYHCQmncys6drhcODQXatZNCQLt2UjdZcrL0SEmRWpzUEIxEEbh0CcjKktbEycqSFok8derqI7+albUBZEQBP5u02Jtgx4lrIrFh4WkgOtqjW+dezkV5RTk0ggYh2hCUlJfgrOUsOsR0wKxZs2Cz2TBw4EDceeed2PzbZgD1G59TJfiwxYcoIDD4kGoowcfNjJ+bkm7CltNblOd7JfXCtoxtjT6A2GAwYN26dejduzc+//xzvPrqq5gyZUqV4+Rw5lyueEM8goOCkRSRBACw2q3IQwli+/WTWjBkZWXSInuHD0szlX75Bfj1VyAjAygtvdo64k5wsNQqFBcnTbOv/DAapRlOoaHSn/JDp5O61uQQJ/9cUQFYrdKjtPTqn6WlUotNfv7VP/PzpbE4OTlS0Lmy9UeNTCapNatLF6mFq0sXvFq8HVP++3cManvrlborhNUYhpBaL3al7q/8nSdGJMIQbMDxi8dhLjSjxFyC9957DwCwaNEiCILQoK0mnIOOUW+EUW+s4Wgi8hcMPqQa7qa0yz/3TemrBIy4sDi0j24vBZ8mmDLevXt3LF68GJMnT8bf/vY3DBgwAN26dXM5xl255C9XvVaP+PB45BbnwlxoRmxYpe6y4GApBHTtCox12tOrvFzaX+zXX4GTJ4HffpPWDZIfOTlSaPr9d+mhBtHRQFKSFMZatZJCTrt20qNtW2njz0pOb9oAAOgW3w27Mneh1F6Ks5azaBfdzqNbyn/nycZkRARHSMHHYsaiZxZBFEWMHj0aN954o8ux9Qo+zhvqspuLKGAw+JBqKIvGuZnq3Delr8txTb1I4KRJk7B582Z8/vnnGD16NA4cOIDwK1/izns3VS6X88+5xbkwW8y4weR+W4QqdLqrocGdsjIgO1tqbbl4UWp9kR9ya8zly0BJSdVHWZnUPQVIf8o/C4I0DTw0VHo4/xwVJQWb6GigRYurfyYkXA07oaF1qlcAVRZ7/DXvV5gLzZ4HH6dWnIjgCADA9q3bsXnzZuh0OsybN8/tveqq8t8nEQUGBh9SDflf1fK4HpvdhtxiaXXk7gndEaINgdVuRYoxxW23WGMSBAH//ve/0a1bNxw/fhxPPvkkli9f7lK+MF0YusZ3Vc5Jjrg6jiTFmIID5w40botUcLC0n1hqauNd0wecg0uK8UrwqcPfo3MrToQ+AqgAvlj2BQApsLZt21Y51nm7ibpyHhfk/HdLRP5NBaMkiSTyv6ovlFyA1W5FVpE0cydEG4K4sDjliyjZmOy2daixxcbG4r333oMgCFixYgU++ugjlDvK8cvFX5RytAxvCZ1G51J++TXA+4sYFpcVI780H1a71av3rQsljDi13J3MO4n80nzkl+a73bS0tLxUef30pdNXzzemAEeA/Ix8REZGYubMmS7nNaTFx3lcD1t8iAIHgw+pRouQFgjThQGQvhydx3LIC8oBqNLiI8rdNk3gtttuwzPPPAMAeHTCozDNNuGedfco5dAIGiXkuBsT4s3g8/HPHyNyQSRiFsUgdlEsjp4/6rV7e6rcUY7sImmKufPf4z92/gMxi2IQsygGpiUm5RgA+G/mf9FiYQvl9Y3HNyrnx4fEA99Ix82YMQMxMTHKeaIoNmiMj/N5HONDFDgYfEg1nMON807s8nMPdHoALcNb4o52dyhhw2q3Ir+0+mnTjeH5559Hr169UHipEHnv5wEOQKvR4oFODwAARncejWRjMm5JvUU5xxstUpVtOrUJDtEBACguL8aO33d47d6eOld0DiJEBAcFIy48Dne2v7PKbKn80nzsPbtX+X3r6a2wOWwuxyRFJKF/q/7YumYrUAgIkUKV2XeXrJdQXC6tEVTf7SZGXT8KJoMJt7a5tV7nE5H6MPiQqrjsil3o2k3xxI1PIOfpHHRP6A69Vo+W4S2VY5uSTqfDBx98gJDwECATaH+sPWwzbZjYcyIA4MXbX0Tm1EyYIkxX34cPWnzke8kL9alxk1S5jMnGZGgEDXon90bBMwWwz7LDPsuO+6+73+U455/nDJijHGd+0gyHxYG3l74NABBvF2HX2N3eKyY0BqG6ug/CBoBZA2Yh66ksZSVxIvJ/DD6kKsrYGDctPgBcFhN0t+BhU2nbti3++Jc/AgBObTyF3f/d7fJ65UUO5bCWZcly2WS1KcljZ+SZZmeLztZ0uE84d1/KNIIGQZogBGmCqgxwd/45NTJVOU4QBDz77LMoLi5GUEoQ0KVqyKwcnOuroXvBEZG6MPiQqji3lNQ2I8fbA4ijekUBXQGxQsRDDz2EgoKCao9NjEiERtCgvKIc54vPe6V8ytpCyVLwUXOLT3V/pzUtYukcYPbv34/Vq1cDAFLHpAJC1ffbkMULiShwMfiQqjj/i9+5W6SmY731BW8uNAN3AfEp8cjMzMRjjz1W7cBqrUYLk8HktfJZbBZl64w+KX2k+3p5RpknahtsXNNaTvI5oihi6tSpAICHH34YHbt2lI6rrsWHwYeInDD4kKrUNManpmO9wWwxA3pg7qtzodVq8dFHH2HlypXVHu/N8sl11SKkBa6NvRaAd7vZPCV3v1X7d1qpxafQWoiisiKXc9atW4fdu3cjLCwM8+fPrzYA13YvImqeGHxIVeQvsd/yf0NeaZ7Lc9Ud641g4Tw1etDNg5TVgf/yl7/g+PHjNZfPCy0+zt1BJoNJ6WbLvZzb5PeuC09bfLIsWXBUOJT3FR0ajTBdGEpKSjBt2jQA0vT1pKQk5RzncUGe3IuImicGH1IV+UtMnoYcrgtHVEhUjcd6I1jkl+aj1C5typlkTMJf//pX/OEPf0BJSQlGjx4Nq7XqgoHeHIPkPGhYF6RDgiHBa/eui9oWFEwwJEAjaOAQHci5nFNlMPRLL72Es2fPIjU1FU8//bR0rWoCcEMWLySiwMXgQ6pi1BuV/ZcA6Uurulk1zuOBmrpLR/4SjQuLQ4g2BBqNBu+++y5iY2Px008/Yfr06dWWzyvBp9JAXm+Pf/KEzW5TBnpX1wqj1WiRGJEI4Ep3p9P7MpvNWLhwIQBp9/XQK/uEuetSFEWxQdtVEFHgYvAh1XHZHLKGL63EiEQIEFBeUY4LxReatEzuxhuZTCasWrUKALB06VJ89dVXLud4s0WqSvCppvvHl+SyhGpDER0aXe1xLotYOnVXTZs2DaWlpbj55psxYsQIt8fLg80vllxUtu2QgxQREcDgQyrkbusHd3RBOmXRwKZuVamu9eCuu+5SVgweP348srOvbrXgzRYf5/2vvH1vTznP0qtpbRzn0CYPULadtGHdunXQaDRYunSpy/lJxiQAUvfoJesll3vFh8dDr9U3+nshIv/F4EOq4xJ8ahmf4bzgYVOqaU2YhQsXolu3brhw4QL+9Kc/oaJC6naTy36u6BzsFfYq5zVq+Qqr6epSU/DxcEFB57KbC82AHfh66dcAgPT0dNxwww0ux4fpwhATGqOcU5d7EVHzE1DBp3Xr1hAEweXhbuwFqZunXV3Orzf1F3xNA2VDQkLwwQcfIDQ0FFu3bsWSJUsASK0NWo0WFWIFci7nNFnZRFGsUj5f7BVWG08XFHQJPhYzsBvIOZODhIQEPP/88+7PqfR+uXghEVUnoIIPIG0omZ2drTxmzpzp6yJRHdWlxcdbg3hrmxp93XXXYenSpQCAZ599FgcOHECQJghJEUlNXr4CawFKyksAoMpO8Wpq8fF0sLFziDmTcQb4Tnp+yZIliIyMdH9OpffLgc1EVJ2ACz4RERFISEhQHgaDwddFojpyDju17ardFIsEljvKqzznydToRx99FMOHD4fdbseYMWNQVFRUpXwVYgUuFF/AheIL1a76XNeyHsk9AgCIDYtFiDbEpZze6GbzlKfTy+Wwcjj3MGxf2AA7MGDgAIwZM6bWc+TAw6nsRFSdgAs+CxcuRExMDLp374558+ahrKysxuNtNhssFovLg3zLOex4u6tr55mdMC4w4p97/6k8VyFWeNSCIAgCVqxYgZSUFJw6dQrp6elVWqQGrhqIlotbouXilrh/w/0NKmtxWTHavdoOA1cPrFI252627KJs9xfwMk8XFJT//ksPlwK/AggC3lj2hkcDoquM8WGLDxFVElDB5y9/+QvWrVuH7du3Iz09Hf/85z/xxBNP1HjO/PnzERkZqTxSUvg/Sl9rF90ONyXdhGEdhiFCH1HjsY09lmVbxjZY7VZ8fepr5bkLxRdQ5iiDAKHWqdEtWrTAmjVrlHV+LPulIG22mGGxWbAzc6dy7Ncnv25Qq8/R80eRWZgJAAgSgjDq+lHKa0GaIJf1cNTA01aYBEMCBsQPAK6sDnDjiBtx3XXX1XhO5YDJFh8iqo7qg8/cuXOrDFiu/Dhw4AAA4Mknn8SAAQPQtWtXPProo3jzzTexcuVK5OXlVXv9GTNmoLCwUHmYzer4kmjOtBot9j66F5+N+azWY+UvvHNF5+CocDT43soXp/MmmVe+RBMMCdAF6Wq9xs0334xZs2YBALb8awtw3nXvsTBdGAQIsDlsuFBS//WH5HL1Tu4N+2w7nun/jMvrlbt/fKmkvAT5pfkAam+FEQQB1+y/BrgMXHvttfjune9qvb5zi0+FWIEsSxaA2rtKiaj50fq6ALVJT0/H6NGjazymdevWbp/v3bs3AODUqVOIiYlxe4xer4dez3U+/FWCIQFajRb2CjtyLucoa7rUl9JVYpEWwxMEoV5To2fNmoVdu3Zh27ZtwHrg946/KwGkbYu2uFhyUdmSoWV4y/qV1ZN9r8zqmNkll8EQbIBRb6zx2K1bt+Lf//43BEHA22+/jZCQkFqvLwecs5azyLmcg/KKcmgEDRcvJKIqVB98YmNjERsbW69zDx48CEBaYZcCk9ylk1mYCbPF3ODgI4eTy2WXUWgrRFRIVL1mCAUFBWHt2rXo0q0Lzuecx7GVx5DZL1O5Tqg2VAo+FjPSEtMaVFY1bOJaG+fp5TWN1SkuLsZjjz0GAJg0aRL69evn0fXl2XNWuxWHcg4BAEwGE7Qa1f8vjoi8TPVdXZ7as2cPXnnlFRw6dAgZGRnYsGED/vznP+Puu+9Gq1atfF08akKNtYih83o4gJsZQnUcKNuyZUu8s/YdQAPYDtuwbsU65TqNsaVEbeNY1BR8Kq8sXZ2ZM2ciIyMDKSkpePHFFz2+vl6rR3x4PABgt3m3R/ciouYpYIKPXq/H+vXrMXDgQHTq1AmzZ8/GhAkT8MEHH/i6aNTEGusLvtBWiMtll5XfG2Og7JCBQ6AdIrU6bF+xHTgjXacx1h+qLZCpaRFDT2ZZbd++XVkL6a233kJERM0D2yuT368SfDiji4jcCJh24B49emDv3r2+Lgb5QGMtYlj5/MaYGi0IAloNaoXTmachHhGBD4GIMREINYa63KMh5fWHFp/aQlphYSHGjRsHURQxYcIEDBkypM73SDGm4MC5A/g+6/sa70VEzVvAtPhQ89VYixhWPr+xpka3imoFDAMQB+AysPLvK2EKa9jmqvYKO7IvS+vz1Nbik3s5F2WOmtezamq11eHkyZNhNpvRtm1bvPzyy/W6h1wPxeXFNd6LiJo3Bh/ye43VsuGuxcdR4VCmRte3BSHZmAwEAxgFIBg4sv8IPlrykdt7eupc0TlUiBXQaXSIN8S7PSYuLA7BQcEQIeJc0bl63aex1NRq9uGHH+K9996DRqPBe++9V+/V1isHHbb4EJE7DD7k9xprLIscnCL1kcrvOZdz4BAdCBKCkGBIqF/55C/gWADDpe6vT9//FPgeyCrKqtf6Q/J7TTImQSO4/89YEASv7V5fG7luK6+rc+7cOUycOBGAtKZW3759632PytfmGj5E5A6DD/k9OVjkXM5xu8+Wp5wXBASksCA/lxiRiCBNUIPKBwAx3WMwf/586ZdNgP2UHbnFuXW+pjxLqta9zFQwzsdis8Bik1awdm6Vkfc0y8/PR48ePTB79uwG3adyCw+7uojIHQYf8ntx4Y3TpSOHib4pfZXf67N4YWXO56ZEpmDatGkYO3YsUAFgA7Dnpz11vqanU+zVMLNLrteokCgYgq92Y82ePRvfffcdDAYD1q5di+Dg4Abdx7metRqtMr2diMgZgw/5PY2gURawa4xZUnKLT6m9FIdzDwNo2HgR53PlBfxWrFgBQ1sDYAUmj52Mixcv1qus3t7EtT7clfWrr75SWr7efvttdOzYscH3SYxIVLr9kiKS6t1CR0SBjcGHAkJDWzacFy9sF91O2UZi99mGrwnj0uJz5TohISG4dfqtQCSQfSYbw4YNQ0lJicfX9HSmmSqCT6WyZmZm4uGHHwYgrc48atSoas+tC61GC5PB5HIvIqLKGHwoINT1C955erejwoETeSdgtVsBSK0F8vX2mKVuqIZ8kbYIaYEwXViV63RI7QCMBfQGPfbu3YuHHnoIDodnA50b0tVlsVmQezkXxWXF1Z7XWNPfi2xFOHHxhFQWYwqsVitGjhyJ/Px89OzZE0uWLGmU+8jk98sZXURUHQYfCgh1WcRw6d6liJgfgR2/74CjwoG05Wm47vXrAADx4fHQa/XKF2ipvdTl+vUhCIJyfuVuL8QBthE2QAts3LgRU6ZMgSiKtV7T07FHlQPhp798iuiF0UhYkoDYl2JxMPtglXM+P/E5DC8a8M7Bdzx7g9XY8tsWRC+KxuI9iwEAyRHJePTRR7Fv3z5ERUVhw4YNjb5BsLt6JiJyxuBDAaEuixhu+m0Tyhxl+CbjG2RfzsZPuT8BkMYKPdTlIQDAiE4jEKoNhQABraNao3+r/g0q34NdHkRqZCoGth6oPHdHuzukAbipAO4HIADLli3DnDlzarxWmaNMmQnmaYvPxZKLsNqt2HJ6Cxyi1KpktVvx7Zlvq5yz5fQWlFeUY/PpzZ6/QTe2ZWyDvcIOAIgJjUHWl1lYs2YNtFotPvroI7Rp06ZB13fngU4PIDEiEUM7DG30axNRYAiYLSuoeatLV5fziszyz60iW+HM1DPKMQ92eRAPdnmw0co3e8BszB7gOl372thrkfPXHLx54E08jsfR+U+dcXT1UbzwwgsIDQ3FjBkz3F5LXlBRH6RHbFhsjfeVu9lKykukWWpX6seoN8Jis7htIau8VUd9ydd5adBLSDGnYPQzowFI4e72229v0LWrM/L6kRh5/cgmuTYRBQa2+FBAqMtu585f7PXdeb0xyffW9tFi4cKFAIBnn30Wr7zyitvjnRcDFAShxmtXXsRQDjN9kvu4XMvl+pW26qgv+TrWDCvGjx8PAHjqqacwYcKEBl2XiKghGHwoIMjh4XzxedjstmqPc15Mz2wxe7wQYFNyDibTpk3D3LlzAUghYdmyZVWOr+vaQs6tYXKYqTH4XHkuy1K/VaVdrpMDLJq0CFarFcOGDcOiRYvqfT0iosbA4EMBITo0GqFaacfzmlp9nLtvnFtAfNricyXA5JXmoaS8BLNnz8YzzzwDQJruXTks1LWVSr7+iYsnkF+aD+DqIo2Vu7NsdhvOF58HADhEB3Iu59TnLaFCrMDZ384C7wJFhUXo06cP1q5di6Agrq1DRL7F4EMBwaVLp4YuGufXSu2lysBmX6774jzd/azlLARBwPz58zF9+nQAwDPPPIPp06crs73qGtaUqflnpan5hmADOrfsDADIvpytDECW7++svt1d+w7vg32VHSgBbuhxA77++ut6bz5KRNSYGHwoYHiyiGHlL/Z9Wfukc33Y4uM83V0unxx+5DE/CxcuxMSJE+FwODxevFAmX9v5vcYb4qHT6FAhViC7KFs5tkrwqccA51OnTmH40OFAEaBN0GLL5i2IjIys83WIiJoCgw8FDE9mdlX+Ii8pl1ZL9vVKv9WFtmnTpmH58uUQBAHLly/HvffeizO50uyzunZ1Ob9XjaBBkrHqNh+V686TweLO9u/fj759+yL7bDYQDXT9W1fExMTU6RpERE2JwYcChieLGFYXiny94F1NoW3ChAnYsGEDQkJC8MUXX+DY/GPAxbq3+FT+3V19Va67unR1ff311xg4cCAuXLiA5I7JwP8A16Rc4/H5RETewOBDAcOTRQzl1yL1V7tegoOCERce17SFq0Vtoe2BBx7Azp07kZScBMd5B7ACOL7nuGfXjqwm+Lipr8r142nwefvtt5X9xgYPHoz7FtwHRPg+UBIRVcbgQwGjLl1d8g7sgDSdXN7V21c8CW09e/bEhv9sAFIA2IBR943C1KlTUVpaWuO1jXojIoIjqtzLbYuPxbV+ahvjY7Va8dhjj2HChAlwOBx4+OGH8fnnnyPXnutyLyIitWDwoYBR2yKGzjuwy9O5Ad+u4SPzdOVpa6gVGAdE9Y8CACxduhQ33HADvv/++5qv7xRA5PfrbhacHHSU6e41lOfw4cPo1asXVqxYAUEQ8MILL2D16tUIDg5WxTIBRETuMPhQwJC/ZPNL85WBvM4KrAXK8/ICfs7n+ZLzIoY1MReaAS3Q87Ge+Oqrr2AymXDixAn07dsX06ZNg8VicXtelc1R4T5sVQ6G2UXZKHeUu1zLarXiueeew4033ogjR44gLi4OmzZtwsyZM5WVpJ1XlyYiUhMGHwoYRr0RhmBprRi3e1BdeS42LBbtY9orz6sh+MgtMoW2QhTZiqo9znnxwiFDhuDo0aN48MEH4XA48NJLL6FDhw5YtmwZbDbX1atdgk9kpTE+V+qlpLxEWeAwzZQGnUYHESLOFZ0DILWYffTRR+jSpQvmzp2LsrIy3H333Th69CgGDx6sXN9eYVfOYVcXEakNgw8FDOf1cNx10chdYCnGFCRFJEGA1Dqhhi9no94Io94IoPquuoLSAvya9yuAq0EmOjoaa9aswZdffon27dsjNzcXkyZNQvv27bF48WIUFBRIx195j1EhUUo4lK+RW5yLM5fO4GD2QQDSAodRIVFKa01GfgbWrVuHnj17YsSIETh16hRMJhPWr1+PjRs3IjLadY2e7KJsVIgV0Gq00u7zREQqwuBDAaWmRQydF/7TBemQYEiQfldBiw9Q8zifNYfXIGZRDN47/J50bKWwduedd+Lo0aN47bXXYDKZYDab8be//Q2JiYkYPXo0zu8/D1hd32tsWCxCtCEAgNZLW6P/O/2VclRUVCDyQiSwGbiv930YM2YMfvzxRxgMBsyZMwfHjx/HyJEjsWDXAhgXGLHbvFu5rhzckiKSEKThFhVEpC5aXxeAqDHVFB7kMJQcIbVkPNz1YWw8sRH9WvXzXgFrkBKZgmMXjrkNbVtOb4EIEQIEJEYk4g9t/1DlmODgYEyaNAmPPPII1q5di6VLl+LIkSNYv349sB6ABijoUICJP01E+/btkZycjIFlA7E5YzNQDoiXRQiFAuw2O+JmxSmtRZdwCXFxcUhPT8fjjz+OuLirU/83n96MMkcZdvy+o8qAaDW0pBERVcbgQwGlpvVwKn8hLxy0EAsHLfRe4WpRY2i78ty7972LsV3H1nid0NBQ/O///i8eeeQR/Pjjj1i7di2++OIL/Prrrzh7/CzeOv5WteeKEHESJwEA+nA9bK1tuOv+u/DJzE8QHBxctVxX6tndIohqaUkjInLG4EMBpab1cOq6q7m31Rja6hEmBEFAWloa0tLSsGTJEpw5cwb79u3DwYMH8fvvvyMrKwvFxcVwOBwIDQ1FbGwsUlNTcf311yMtLQ37HPswZfMU6K7VuQ09oigq3VruZoaptZ6JqHlj8KGAUnmzT2dKeFBpF0x1oc15/aGGlD01NRWpqakYOXKkR8fnnMiRylPNFPsLJRdgc0izx9wGH5XWMxE1bxzcTAGlpvDgPKtLjarr6sorzYPVbgUgDRj2dXlk1e3xxa4uIlIzBh8KKPIUbIvNAovt6mJ+F0suwuawQYCg7EquNs6LGIqiqDwvB4mW4S2h1+q9Vh45RJ4vPg+b3VbldedAVGAtQHFZscvzXLyQiNSIwYcCirwGDeB+D6p4QzyCg6qOV1EDOWgUlxej0FaoPO+rMTMxoTHKdPeaug6V3y1mlDnKkHuZ+3QRkXox+FDAcbsVgx90v4TpwhAdGg3ANVQoXXReDhLOC0K6DT6VusDMhWacKzoHESL0QXrEhfl2x3siIncYfCjguFvE0F+6X9QW2jyZJSc7azl7da0kY7KybxcRkZow+FDAUVt4qIuaQptPgo8HU+yVrkWLmTO6iEj1GHwo4NS067jav5DVVnZP9j7rndxbOqbQ7DcBk4iaLwYfCjhqazWpi5paq3zRTVddV5ejwoGsoiwAQJ/kPsox/lLPRNR8cQFDCjjuBuSqffFCWeXQViFW+HT9oeq6unKLc2GvsEMjaNArqZd0jMWsTLdXez0TUfPF4EMBx7mVQhRFiBCV1gm1t0RUDm3ni8+jvKJc2ZzU25S1hdzM4AKAxIhEtI5qrTynD9K7nEdEpDbs6qKAI69uXFJeggJrAXIvX22dMEWYfFy6mjkHDefVpk0RJuiCdF4vjxwi80vzcSr/FBwVDqV8gBTU5DIXlRXhl4u/KM8TEakRgw8FnFBdKGLDYgFcGXBrudo6odWou5FTDhFWuxV5pXk+HywcqY+EIdgAAGj/anv0Xtlb2jvMqevQedFIeWsNdnURkVox+FBAch4k7MvBwXWl1+rRMrwlANfQ5qsgIQgC/qf7/yhdWAfOHcAl66Uqg5jlY4KDgnFPx3vQIqSFT8pLRFQbBh8KSM6DhP1tppG70ObLsv9ryL9gnWlFTGjM1XJVqtOX73gZ1plW2GbasHH0Ri5eSESqxeBDAUlt4aEu3IU2NbRWuZTLT2bJERFVxuBDAckl+PjJ4oUyt2VXQWhznnGmpnIREdWFukd6EtWTHHLOWs7CZrdJz/nJl7RzwPDVBqXuyOXKuJSB7KJs6TkVlIuIqC4YfCggOS+8Z3NcCT5+8iUtl/NM4RlkWdSz/pBcru+zvocIETqNThmITUTkLxh8KCA5L2Jor7BLz6kgPHhCLueP2T/CITqg1WiRYEjwcamulmtf1j4AQJIxCRqBveVE5F8YfCggJUYkQoCAMkcZAECr0SLeEO/jUnlGHshcUl4CQHovQZogXxYJwNUwKZfLX4IkEZEz/nONAlJwULBL0EmK8J/WCTm0ydQSMCrPLPOXrkMiImf+8U1AVA/OgcGfvqR1QTqXrTXUMJUduLoViEwtgYyIqC4YfChgOYcdf/uSdgltKim7XqtHfPjVVjS1lIuIqC4YfChgqTE8eMoltKmotUqt5SIi8hSDDwUsf+3qAtQb2tRaLiIiTzH4UMAKmK4uFYU2tZaLiMhTDD4UsPz5S1qtoU0uV4g2RNm0lIjInzD4UMByng2lpvDgCbnswUHBiAuP83FprpLrMdmYzB3YicgvcQFDClhJxiT8sd0fERwUjNiwWF8Xp066J3THjYk3ooeph6rWH7q1za3oGNMRY7uO9XVRiIjqRRBFUfR1IdTEYrEgMjIShYWFMBqNvi4OERERecDT72/1/FOSiIiIqIkx+BAREVGzweBDREREzQaDDxERETUbDD5ERETUbDD4EBERUbPB4ENERETNBoMPERERNRsMPkRERNRsMPgQERFRs+E3wWfevHno27cvwsLCEBUV5faYzMxMDBs2DOHh4YiNjcWUKVNQVlbm3YISERGRavnNJqVlZWUYMWIE+vTpg5UrV1Z53eFw4K677kJcXBx27dqFvLw8jBs3DqIo4tVXX/VBiYmIiEht/Cb4PPfccwCAVatWuX198+bN+Pnnn2E2m5GYmAgAWLJkCcaPH4958+Zxw1EiIiLyn66u2uzZswedO3dWQg8A3HHHHbDZbPjhhx+qPc9ms8Fisbg8iIiIKDD5TYtPbXJychAfH+/yXIsWLRAcHIycnJxqz5s/f77SmuSMAYiIiMh/yN/boijWeJxPg8/cuXPdhg5n+/fvR8+ePT26niAIVZ4TRdHt87IZM2bgqaeeUn7PyspCp06dkJKS4tE9iYiISD2KiooQGRlZ7es+DT7p6ekYPXp0jce0bt3ao2slJCRg3759Ls8VFBSgvLy8SkuQM71eD71er/xuMBhgNpsRERFRY2CqK4vFgpSUFJjNZo43akKsZ+9hXXsH69k7WM/e0ZT1LIoiioqKXIa8uOPT4BMbG4vY2NhGuVafPn0wb948ZGdnw2QyAZAGPOv1eqSlpXl8HY1Gg+Tk5EYpkztGo5H/UXkB69l7WNfewXr2DtazdzRVPdfU0iPzmzE+mZmZyM/PR2ZmJhwOBw4dOgQAaNeuHQwGAwYPHoxOnTrh4YcfxksvvYT8/Hz89a9/xYQJE/ghJiIiIgB+FHxmz56N1atXK7/fcMMNAIDt27dj4MCBCAoKwpdffoknnngC/fr1Q2hoKB588EEsXrzYV0UmIiIilfGb4LNq1apq1/CRtWrVCl988YV3ClRHer0ec+bMcRlPRI2P9ew9rGvvYD17B+vZO9RQz4JY27wvIiIiogARMAsYEhEREdWGwYeIiIiaDQYfIiIiajYYfIiIiKjZYPDxkmXLlqFNmzYICQlBWloadu7c6esi+bW5c+dCEASXR0JCgvK6KIqYO3cuEhMTERoaioEDB+LYsWM+LLF/+O677zBs2DAkJiZCEARs3LjR5XVP6tVms2Hy5MmIjY1FeHg47r77bpw9e9aL70L9aqvn8ePHV/l89+7d2+UY1nPt5s+fjxtvvBERERFo2bIl7r33Xpw4ccLlGH6mG86TelbTZ5rBxwvWr1+PqVOn4u9//zsOHjyIm2++GUOGDEFmZqavi+bXrr/+emRnZyuPI0eOKK8tWrQIL7/8Ml577TXs378fCQkJGDRoEIqKinxYYvUrLi5Gt27d8Nprr7l93ZN6nTp1Kj799FOsW7cOu3btwuXLlzF06FA4HA5vvQ3Vq62eAeCPf/yjy+f7q6++cnmd9Vy7b7/9FpMmTcLevXuxZcsW2O12DB48GMXFxcox/Ew3nCf1DKjoMy1Sk+vVq5c4ceJEl+euvfZacfr06T4qkf+bM2eO2K1bN7evVVRUiAkJCeKCBQuU56xWqxgZGSm++eabXiqh/wMgfvrpp8rvntTrpUuXRJ1OJ65bt045JisrS9RoNOKmTZu8VnZ/UrmeRVEUx40bJ95zzz3VnsN6rp/z58+LAMRvv/1WFEV+pptK5XoWRXV9ptni08TKysrwww8/YPDgwS7PDx48GLt37/ZRqQLDyZMnkZiYiDZt2mD06NE4ffo0ACAjIwM5OTkuda7X6zFgwADWeQN4Uq8//PADysvLXY5JTExE586dWfd1tGPHDrRs2RIdOnTAhAkTcP78eeU11nP9FBYWAgCio6MB8DPdVCrXs0wtn2kGnyZ28eJFOByOKjvEx8fHIycnx0el8n833XQT3n33XfznP//BihUrkJOTg759+yIvL0+pV9Z54/KkXnNychAcHIwWLVpUewzVbsiQIVizZg2++eYbLFmyBPv378dtt90Gm80GgPVcH6Io4qmnnkL//v3RuXNnAPxMNwV39Qyo6zPtN1tW+DtBEFx+F0WxynPkuSFDhig/d+nSBX369ME111yD1atXKwPmWOdNoz71yrqvm1GjRik/d+7cGT179kRqaiq+/PJL3H///dWex3quXnp6Og4fPoxdu3ZVeY2f6cZTXT2r6TPNFp8mFhsbi6CgoCqJ9fz581X+lUH1Fx4eji5duuDkyZPK7C7WeePypF4TEhJQVlaGgoKCao+hujOZTEhNTcXJkycBsJ7ravLkyfjss8+wfft2JCcnK8/zM924qqtnd3z5mWbwaWLBwcFIS0vDli1bXJ7fsmUL+vbt66NSBR6bzYZffvkFJpMJbdq0QUJCgkudl5WV4dtvv2WdN4An9ZqWlgadTudyTHZ2No4ePcq6b4C8vDyYzWaYTCYArGdPiaKI9PR0fPLJJ/jmm2/Qpk0bl9f5mW4ctdWzOz79TDfqUGlya926daJOpxNXrlwp/vzzz+LUqVPF8PBw8ffff/d10fzW008/Le7YsUM8ffq0uHfvXnHo0KFiRESEUqcLFiwQIyMjxU8++UQ8cuSIOGbMGNFkMokWi8XHJVe3oqIi8eDBg+LBgwdFAOLLL78sHjx4UDxz5owoip7V68SJE8Xk5GRx69at4o8//ijedtttYrdu3US73e6rt6U6NdVzUVGR+PTTT4u7d+8WMzIyxO3bt4t9+vQRk5KSWM919Pjjj4uRkZHijh07xOzsbOVRUlKiHMPPdMPVVs9q+0wz+HjJ66+/LqamporBwcFijx49XKb5Ud2NGjVKNJlMok6nExMTE8X7779fPHbsmPJ6RUWFOGfOHDEhIUHU6/XiLbfcIh45csSHJfYP27dvFwFUeYwbN04URc/qtbS0VExPTxejo6PF0NBQcejQoWJmZqYP3o161VTPJSUl4uDBg8W4uDhRp9OJrVq1EseNG1elDlnPtXNXxwDEd955RzmGn+mGq62e1faZFq4UmoiIiCjgcYwPERERNRsMPkRERNRsMPgQERFRs8HgQ0RERM0Ggw8RERE1Gww+RERE1Gww+BAREVGzweBDREREzQaDDxH5hfPnz+PPf/4zWrVqBb1ej4SEBNxxxx3Ys2cPAGmH7Y0bN/q2kESkelpfF4CIyBPDhw9HeXk5Vq9ejbZt2yI3Nxfbtm1Dfn6+r4tGRH6ELT5EpHqXLl3Crl27sHDhQtx6661ITU1Fr169MGPGDNx1111o3bo1AOC+++6DIAjK7wDw+eefIy0tDSEhIWjbti2ee+452O125XVBEPDGG29gyJAhCA0NRZs2bfDhhx8qr5eVlSE9PR0mkwkhISFo3bo15s+f7623TkSNjMGHiFTPYDDAYDBg48aNsNlsVV7fv38/AOCdd95Bdna28vt//vMfjB07FlOmTMHPP/+Mt956C6tWrcK8efNczp81axaGDx+On376CWPHjsWYMWPwyy+/AAD+9a9/4bPPPsOGDRtw4sQJvP/++y7Bioj8CzcpJSK/8PHHH2PChAkoLS1Fjx49MGDAAIwePRpdu3YFILXcfPrpp7j33nuVc2655RYMGTIEM2bMUJ57//33MW3aNJw7d045b+LEiXjjjTeUY3r37o0ePXpg2bJlmDJlCo4dO4atW7dCEATvvFkiajJs8SEivzB8+HCcO3cOn332Ge644w7s2LEDPXr0wKpVq6o954cffsDzzz+vtBgZDAZMmDAB2dnZKCkpUY7r06ePy3l9+vRRWnzGjx+PQ4cOoWPHjpgyZQo2b97cJO+PiLyDwYeI/EZISAgGDRqE2bNnY/fu3Rg/fjzmzJlT7fEVFRV47rnncOjQIeVx5MgRnDx5EiEhITXeS27d6dGjBzIyMvDCCy+gtLQUI0eOxAMPPNCo74uIvIfBh4j8VqdOnVBcXAwA0Ol0cDgcLq/36NEDJ06cQLt27ao8NJqr//vbu3evy3l79+7Ftddeq/xuNBoxatQorFixAuvXr8fHH3/M2WREforT2YlI9fLy8jBixAg88sgj6Nq1KyIiInDgwAEsWrQI99xzDwCgdevW2LZtG/r16we9Xo8WLVpg9uzZGDp0KFJSUjBixAhoNBocPnwYR44cwT/+8Q/l+h9++CF69uyJ/v37Y82aNfj++++xcuVKAMArr7wCk8mE7t27Q6PR4MMPP0RCQgKioqJ8URVE1FAiEZHKWa1Wcfr06WKPHj3EyMhIMSwsTOzYsaM4c+ZMsaSkRBRFUfzss8/Edu3aiVqtVkxNTVXO3bRpk9i3b18xNDRUNBqNYq9evcTly5crrwMQX3/9dXHQoEGiXq8XU1NTxQ8++EB5ffny5WL37t3F8PBw0Wg0irfffrv4448/eu29E1Hj4qwuImrW3M0GI6LAxTE+RERE1Gww+BAREVGzwcHNRNSssbefqHlhiw8RERE1Gww+RERE1Gww+BAREVGzweBDREREzQaDDxERETUbDD5ERETUbDD4EBERUbPB4ENERETNBoMPERERNRv/D6efUhI1G+rtAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter6_1_1.png" } }, "output_type": "display_data" }, { "data": { "image/png": "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PS1RkQEDBvD0008zduxYjEYjoaGhzJw5k6ysLB588EH8/f1p164dy5cvB6CwsJCHH36YyMhIfHx86NSpEx9++KGWX05ODtHR0Tz66KPauqSkJAICAvjiiy8qVaa5c+fSunVrfH19ue2220hNTS2T5pdffiE2NhZvb2+ioqKYNGkSBQUF2nZFUfj0008ZNmwYPj4+REZGsnjxYm178R0ePXv2RFEUBgwYYJX/tGnTCA8PJygoiCeffJL8/PxKlb00T09PwsLCtEdQUBA///wzDz30UINtcxdCOBl9DZBCSefnGnSg1jphNzASDDVi8+bNIzg4mM2bN/P000/z+OOPM2LECPr27Ut8fDxDhgzh/vvv58KFC1gsFlq2bMl3333Hnj17eO2113j55Zf57rvvAPD29ubrr79m3rx5LF26lMLCQu6//34GDhzII488UmFZNm3axEMPPcQTTzzB9u3bGThwIG+//bZVmt9//5377ruPZ555hj179vD5558zd+5c3nnnHat0r776Krfffjs7duzgvvvu45577mHv3r0AbN68GYDVq1djMpn48ccftf3WrFlDYmIia9asYd68ecydO9dqAuAxY8bYnV+t+HHs2DGb5/fzzz9z9uxZRo8eXeFrIYQQjmDVvKWvGaritEWN4W4yRZXJnMqVnp5OQEAAaWlpNG3a1GpbTk4OSUlJREZG4u3tra3f2msrecl5dVpOzzBPem2tfPPLgAEDKCws5O+//waKan4CAgIYPnw48+fPByA5OZnw8HA2bNhA7969y+Tx5JNPcvr0ab7//ntt3XvvvcfUqVO55557WLx4Mbt27SI4OLjC8owcORKz2azVRAHcfffdrFixgvPnzwNw9dVXM2zYMCZOnKilWbBgARMmTODUqVNAUc3QmDFj+PTTT7U0vXv3JiYmhhkzZnDkyBEiIyPZtm0bPXr00NKMHj2atWvXkpiYiJubGwB33nknBoOBhQsXApCSkkJ6enq559G2bVvc3cu2Pl9//fUA/Pbbb3b3tfd+EkKI6jj+wXESn08EoMt3XTj2n2NkxmeieCj0z+tf6XwWv76Y5m82B+D0y6e56527aqW8jlbe93dp0meoFuQl55F3sm6Doero3r279tzNzY2goCC6deumrQsNDQWKggCAzz77jFmzZnH06FGys7PJy8uzCigAnn/+eX766Sc+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NpR0kI6LiyMzI1NbTjycaLWtuq+Xo15rIRyhWsHQhAkT+PPPP5kxYwZeXl7MmjWLSZMmERERwfz58yvOoBqCg4Nxc3MrUwuUkpJSpvanWFhYmM307u7uBAXZrnGZOHEiaWlp2uP48eOOOYEKKG4Kl268lOeaP8coRjEhfAIxfWPq5Ng1pfgp3PvMvWxvs1231lXa+IQoERsbq9UYR0REEBNTvc+gp5un9jyo2QPck7fFIeVzJIO7gUu3llxz9NMBde/WXXseGxtLU/+S2n79BN01eb0c9VoL4QjV+sb65ZdfmDFjBnfccQfu7u5cddVVvPLKK0yePJmvv/7a0WUEwNPTk9jYWFatWmW1ftWqVfTt29fmPn369CmTfuXKlfTq1ctufyEvLy+aNm1q9agrgUGB/LH/D+asnsPOhJ0uVWVscbNwtPlRbVktvhVO+gwJF2I0GklISGD16tXs3r272p9B/aCDYdnncDM4548D/TWn9zW9tfUBTUs6SBuNRp595llt2c/fz2pbdV8vR73WQjhCtT6h586d0yZhbdq0qXYr/ZVXXslff/3luNKV8txzzzFr1iy+/PJL9u7dy7hx4zh27Jg2btDEiRMZNWqUln7MmDEcPXqU5557jr179/Lll18ye/Zsxo8fX2tlrCmj0cigQYNc6sJge7RZ57z4C1ERR3wGFYuuPw7OPdZW8fn6+ukmTy3Vxclq+JRSp1KT18sVr3eiYapWB+qoqCiOHDlCmzZt6NKlC9999x2XX345v/zyC82aNXNwEUvcddddpKam8uabb2IymejatSu//fYbbdq0AYranY8dO6alj4yM5LfffmPcuHF88sknRERE8NFHHzndbfWurrj/lcXq9mHnvfgLUZfcXKR2VD9ERunxwiozArUQrqxawdCDDz7Ijh076N+/PxMnTuSGG27g448/pqCggA8++MDRZbTyxBNP8MQTT9jcNnfu3DLr+vfvLx3zallxzZB+lF1VgiHRmOl+FxhU5xtjyCa3kqdqYakArhJzkwnhyqoVDI0bN057PnDgQPbt28fWrVtp164dl156qcMKJ1yD7Zqhi81kLvKrWAhHKhl5Ggwu8hkod45BCYZEA1flYMhisTB37lx+/PFHjhw5gqIoREZGcscdd9C9e/eKMxANjq2aoSeuV7jjMNxaT2USojoyd2eS9HISeSl52jrf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VlZWlj755BPt27dPBw4c0JYtWyRJxcXFmjx5shITE5Wamqp33nlHLS0tkqTy8nK9+eabamxsDJ1lWrlypSRp+/btmjJlitxutzwej9544w01NDRYdKQA+hplCMCgNWvWLGVmZmrPnj2SpJiYGK1bt04nT57U1q1bVVpaqo8++kiSlJOToy+//FJJSUny+/3y+/368MMPJUnt7e1atWqVfv/9d+3du1fnz5/XokWLrDosAH3sEasHAID+NGHCBJ04cUKSVFhYGHo8PT1dq1at0pIlS7Rx40bFx8crOTlZLpdLHo8n7Dneeuut0O3HH39c69at09SpU9XS0qKhQ4dG5TgA9B/ODAEY1IwxcrlckqSysjLNnj1bo0ePltvt1sKFC3X9+nW1trbe9zlqa2s1d+5cpaWlye12a8aMGZKkS5cu9ff4AKKAMgRgUDt9+rTS09N18eJFvfTSS8rIyNAPP/yg6upqbdiwQZJ069ate35/a2urcnNzNXToUG3fvl1VVVUqKSmR9O/bZwAGPt4mAzBolZaWqq6uTu+//76OHz+ujo4OrV27VjEx//4c+P3334ftHx8fr9u3b4c99scff+jatWsqKipSamqqJOn48ePROQAAUcGZIQCDQltbmwKBgK5cuaKamhp99tlnmjt3rvLz87Vw4UKNHz9eHR0d+uqrr3Tu3Dl999132rRpU9hzjBs3Ti0tLfrll1907do13bx5U2PHjlV8fHzo+/bv369Vq1ZZdJQA+gNlCMCgcPDgQXm9Xo0bN05z5sxRWVmZ1q1bp3379ik2NlZPPfWUiouL9fnnnysjI0M7duzQ6tWrw54jJydHixcv1oIFCzRy5EitWbNGI0eO1JYtW7R79249+eSTKioq0hdffGHRUQLoDy5jjLF6CAAAAKtwZggAADgaZQgAADgaZQgAADgaZQgAADgaZQgAADgaZQgAADgaZQgAADgaZQgAADgaZQgAADgaZQgAADgaZQgAADgaZQgAADja/wAP8CJaw20s1gAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "filenames": { "image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter6_1_2.png" } }, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from sklearn.preprocessing import PolynomialFeatures\n", "from sklearn.linear_model import LinearRegression\n", "\n", "steps=250\n", "\n", "distance=0\n", "x=0\n", "distance_list=[]\n", "steps_list=[]\n", "while x" ] }, "metadata": { "filenames": { "image/png": "/Users/mhjensen/Teaching/MachineLearning/doc/LectureNotes/_build/jupyter_execute/chapter6_24_1.png" } }, "output_type": "display_data" } ], "source": [ "from sklearn.datasets import load_iris\n", "from sklearn import tree\n", "X, y = load_iris(return_X_y=True)\n", "tree_clf = tree.DecisionTreeClassifier()\n", "tree_clf = tree_clf.fit(X, y)\n", "# and then plot the tree\n", "tree.plot_tree(tree_clf)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Alternatively, the tree can also be exported in textual format with the function exporttext.\n", "This method doesn’t require the installation of external libraries and is more compact:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "editable": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "|--- petal width (cm) <= 0.80\n", "| |--- class: 0\n", "|--- petal width (cm) > 0.80\n", "| |--- petal width (cm) <= 1.75\n", "| | |--- class: 1\n", "| |--- petal width (cm) > 1.75\n", "| | |--- class: 2\n", "\n" ] } ], "source": [ "from sklearn.datasets import load_iris\n", "from sklearn.tree import DecisionTreeClassifier\n", "from sklearn.tree import export_text\n", "iris = load_iris()\n", "decision_tree = DecisionTreeClassifier(random_state=0, max_depth=2)\n", "decision_tree = decision_tree.fit(iris.data, iris.target)\n", "r = export_text(decision_tree, feature_names=iris['feature_names'])\n", "print(r)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Algorithms for Setting up Decision Trees\n", "\n", "Two algorithms stand out in the set up of decision trees:\n", "1. The CART (Classification And Regression Tree) algorithm for both classification and regression\n", "\n", "2. The ID3 algorithm based on the computation of the information gain for classification\n", "\n", "We discuss both algorithms with applications here. The popular library\n", "**Scikit-Learn** uses the CART algorithm. For classification problems\n", "you can use either the **gini** index or the **entropy** to split a tree\n", "in two branches.\n", "\n", "### The CART algorithm for Classification\n", "\n", "For classification, the CART algorithm splits the data set in two subsets using a single feature $k$ and a threshold $t_k$.\n", "This could be for example a threshold set by a number below a certain circumference of a malign tumor.\n", "\n", "How do we find these two quantities?\n", "We search for the pair $(k,t_k)$ that produces the purest subset using for example the **gini** factor $G$.\n", "The cost function it tries to minimize is then" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "C(k,t_k) = \\frac{m_{\\mathrm{left}}}{m}G_{\\mathrm{left}}+ \\frac{m_{\\mathrm{right}}}{m}G_{\\mathrm{right}},\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "where $G_{\\mathrm{left/right}}$ measures the impurity of the left/right subset and $m_{\\mathrm{left/right}}$\n", " is the number of instances in the left/right subset\n", "\n", "Once it has successfully split the training set in two, it splits the subsets using the same logic, then the subsubsets\n", "and so on, recursively. It stops recursing once it reaches the maximum depth (defined by the\n", "$max\\_depth$ hyperparameter), or if it cannot find a split that will reduce impurity. A few other\n", "hyperparameters control additional stopping conditions such as the $min\\_samples\\_split$,\n", "$min\\_samples\\_leaf$, $min\\_weight\\_fraction\\_leaf$, and $max\\_leaf\\_nodes$.\n", "\n", "\n", "### The CART algorithm for Regression\n", "\n", "The CART algorithm for regression works is similar to the one for classification except that instead of trying to split the\n", "training set in a way that minimizes say the **gini** or **entropy** impurity, it now tries to split the training set in a way that minimizes our well-known mean-squared error (MSE). The cost function is now" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "C(k,t_k) = \\frac{m_{\\mathrm{left}}}{m}\\mathrm{MSE}_{\\mathrm{left}}+ \\frac{m_{\\mathrm{right}}}{m}\\mathrm{MSE}_{\\mathrm{right}}.\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here the MSE for a specific node is defined as" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\mathrm{MSE}_{\\mathrm{node}}=\\frac{1}{m_\\mathrm{node}}\\sum_{i\\in \\mathrm{node}}(\\overline{y}_{\\mathrm{node}}-y_i)^2,\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "with" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\n", "\\overline{y}_{\\mathrm{node}}=\\frac{1}{m_\\mathrm{node}}\\sum_{i\\in \\mathrm{node}}y_i,\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "the mean value of all observations in a specific node.\n", "\n", "Without any regularization, the regression task for decision trees, \n", "just like for classification tasks, is prone to overfitting.\n", "\n", "\n", "\n", "### Computing the Gini index\n", "\n", "The example we will look at is a classical one in many Machine\n", "Learning applications. Based on various meteorological features, we\n", "have several so-called attributes which decide whether we at the end\n", "will do some outdoor activity like skiing, going for a bike ride etc\n", "etc. The table here contains the feautures **outlook**, **temperature**,\n", "**humidity** and **wind**. The target or output is whether we ride\n", "(True=1) or whether we do something else that day (False=0). The\n", "attributes for each feature are then sunny, overcast and rain for the\n", "outlook, hot, cold and mild for temperature, high and normal for\n", "humidity and weak and strong for wind.\n", "\n", "The table here summarizes the various attributes and\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
Day Outlook Temperature Humidity Wind Ride
1 Sunny Hot High Weak 0
2 Sunny Hot High Strong 1
3 Overcast Hot High Weak 1
4 Rain Mild High Weak 1
5 Rain Cool Normal Weak 1
6 Rain Cool Normal Strong 0
7 Overcast Cool Normal Strong 1
8 Sunny Mild High Weak 0
9 Sunny Cool Normal Weak 1
10 Rain Mild Normal Weak 1
11 Sunny Mild Normal Strong 1
12 Overcast Mild High Strong 1
13 Overcast Hot Normal Weak 1
14 Rain Mild High Strong 0
\n", "\n", "### Simple Python Code to read in Data and perform Classification" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false, "editable": true }, "outputs": [ { "ename": "FileNotFoundError", "evalue": "[Errno 2] No such file or directory: 'DataFiles/rideclass.csv'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", "Input \u001b[0;32mIn [6]\u001b[0m, in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 34\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21msave_fig\u001b[39m(fig_id):\n\u001b[1;32m 35\u001b[0m plt\u001b[38;5;241m.\u001b[39msavefig(image_path(fig_id) \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m.png\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28mformat\u001b[39m\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mpng\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[0;32m---> 37\u001b[0m infile \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mopen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mdata_path\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mrideclass.csv\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mr\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 39\u001b[0m \u001b[38;5;66;03m# Read the experimental data with Pandas\u001b[39;00m\n\u001b[1;32m 40\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mIPython\u001b[39;00m\u001b[38;5;21;01m.\u001b[39;00m\u001b[38;5;21;01mdisplay\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m display\n", "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'DataFiles/rideclass.csv'" ] } ], "source": [ "# Common imports\n", "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "from sklearn.tree import DecisionTreeClassifier\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.tree import export_graphviz\n", "from sklearn.preprocessing import StandardScaler, OneHotEncoder\n", "from sklearn.compose import ColumnTransformer\n", "from IPython.display import Image \n", "from pydot import graph_from_dot_data\n", "import os\n", "\n", "# Where to save the figures and data files\n", "PROJECT_ROOT_DIR = \"Results\"\n", "FIGURE_ID = \"Results/FigureFiles\"\n", "DATA_ID = \"DataFiles/\"\n", "\n", "if not os.path.exists(PROJECT_ROOT_DIR):\n", " os.mkdir(PROJECT_ROOT_DIR)\n", "\n", "if not os.path.exists(FIGURE_ID):\n", " os.makedirs(FIGURE_ID)\n", "\n", "if not os.path.exists(DATA_ID):\n", " os.makedirs(DATA_ID)\n", "\n", "def image_path(fig_id):\n", " return os.path.join(FIGURE_ID, fig_id)\n", "\n", "def data_path(dat_id):\n", " return os.path.join(DATA_ID, dat_id)\n", "\n", "def save_fig(fig_id):\n", " plt.savefig(image_path(fig_id) + \".png\", format='png')\n", "\n", "infile = open(data_path(\"rideclass.csv\"),'r')\n", "\n", "# Read the experimental data with Pandas\n", "from IPython.display import display\n", "ridedata = pd.read_csv(infile,names = ('Outlook','Temperature','Humidity','Wind','Ride'))\n", "ridedata = pd.DataFrame(ridedata)\n", "\n", "# Features and targets\n", "X = ridedata.loc[:, ridedata.columns != 'Ride'].values\n", "y = ridedata.loc[:, ridedata.columns == 'Ride'].values\n", "\n", "# Create the encoder.\n", "encoder = OneHotEncoder(handle_unknown=\"ignore\")\n", "# Assume for simplicity all features are categorical.\n", "encoder.fit(X) \n", "# Apply the encoder.\n", "X = encoder.transform(X)\n", "print(X)\n", "# Then do a Classification tree\n", "tree_clf = DecisionTreeClassifier(max_depth=2)\n", "tree_clf.fit(X, y)\n", "print(\"Train set accuracy with Decision Tree: {:.2f}\".format(tree_clf.score(X,y)))\n", "#transfer to a decision tree graph\n", "export_graphviz(\n", " tree_clf,\n", " out_file=\"DataFiles/ride.dot\",\n", " rounded=True,\n", " filled=True\n", ")\n", "cmd = 'dot -Tpng DataFiles/cancer.dot -o DataFiles/cancer.png'\n", "os.system(cmd)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The above functions (gini, entropy and misclassification error) are\n", "important components of the so-called CART algorithm. We will discuss\n", "this algorithm below after we have discussed the information gain\n", "algorithm ID3.\n", "\n", "In the example here we have converted all our attributes into numerical values $0,1,2$ etc." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "editable": true }, "outputs": [], "source": [ "# Split a dataset based on an attribute and an attribute value\n", "def test_split(index, value, dataset):\n", "\tleft, right = list(), list()\n", "\tfor row in dataset:\n", "\t\tif row[index] < value:\n", "\t\t\tleft.append(row)\n", "\t\telse:\n", "\t\t\tright.append(row)\n", "\treturn left, right\n", " \n", "# Calculate the Gini index for a split dataset\n", "def gini_index(groups, classes):\n", "\t# count all samples at split point\n", "\tn_instances = float(sum([len(group) for group in groups]))\n", "\t# sum weighted Gini index for each group\n", "\tgini = 0.0\n", "\tfor group in groups:\n", "\t\tsize = float(len(group))\n", "\t\t# avoid divide by zero\n", "\t\tif size == 0:\n", "\t\t\tcontinue\n", "\t\tscore = 0.0\n", "\t\t# score the group based on the score for each class\n", "\t\tfor class_val in classes:\n", "\t\t\tp = [row[-1] for row in group].count(class_val) / size\n", "\t\t\tscore += p * p\n", "\t\t# weight the group score by its relative size\n", "\t\tgini += (1.0 - score) * (size / n_instances)\n", "\treturn gini\n", "\n", "# Select the best split point for a dataset\n", "def get_split(dataset):\n", "\tclass_values = list(set(row[-1] for row in dataset))\n", "\tb_index, b_value, b_score, b_groups = 999, 999, 999, None\n", "\tfor index in range(len(dataset[0])-1):\n", "\t\tfor row in dataset:\n", "\t\t\tgroups = test_split(index, row[index], dataset)\n", "\t\t\tgini = gini_index(groups, class_values)\n", "\t\t\tprint('X%d < %.3f Gini=%.3f' % ((index+1), row[index], gini))\n", "\t\t\tif gini < b_score:\n", "\t\t\t\tb_index, b_value, b_score, b_groups = index, row[index], gini, groups\n", "\treturn {'index':b_index, 'value':b_value, 'groups':b_groups}\n", " \n", "dataset = [[0,0,0,0,0],\n", " [0,0,0,1,1],\n", " [1,0,0,0,1],\n", " [2,1,0,0,1],\n", " [2,2,1,0,1],\n", " [2,2,1,1,0],\n", " [1,2,1,1,1],\n", " [0,1,0,0,0],\n", " [0,2,1,0,1],\n", " [2,1,1,0,1],\n", " [0,1,1,1,1],\n", " [1,1,0,1,1],\n", " [1,0,1,0,1],\n", " [2,1,0,1,0]]\n", "\n", "split = get_split(dataset)\n", "print('Split: [X%d < %.3f]' % ((split['index']+1), split['value']))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Entropy and the ID3 algorithm\n", "\n", "The ID3 algorithm learns decision trees by constructing\n", "them in a top down way, beginning with the question **which attribute should be tested at the root of the tree**?\n", "\n", "1. Each instance attribute is evaluated using a statistical test to determine how well it alone classifies the training examples.\n", "\n", "2. The best attribute is selected and used as the test at the root node of the tree.\n", "\n", "3. A descendant of the root node is then created for each possible value of this attribute.\n", "\n", "4. Training examples are sorted to the appropriate descendant node.\n", "\n", "5. The entire process is then repeated using the training examples associated with each descendant node to select the best attribute to test at that point in the tree.\n", "\n", "6. This forms a greedy search for an acceptable decision tree, in which the algorithm never backtracks to reconsider earlier choices. \n", "\n", "The ID3 algorithm selects which attribute to test at each node in the\n", "tree.\n", "\n", "We would like to select the attribute that is most useful for classifying\n", "examples.\n", "\n", "What is a good quantitative measure of the worth of an attribute?\n", "\n", "Information gain measures how well a given attribute separates the\n", "training examples according to their target classification.\n", "\n", "The ID3 algorithm uses this information gain measure to select among the candidate\n", "attributes at each step while growing the tree.\n", "\n", "\n", "### Cancer Data again now with Decision Trees and other Methods" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "editable": true }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "from sklearn.model_selection import train_test_split \n", "from sklearn.datasets import load_breast_cancer\n", "from sklearn.svm import SVC\n", "from sklearn.linear_model import LogisticRegression\n", "from sklearn.tree import DecisionTreeClassifier\n", "\n", "# Load the data\n", "cancer = load_breast_cancer()\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(cancer.data,cancer.target,random_state=0)\n", "print(X_train.shape)\n", "print(X_test.shape)\n", "# Logistic Regression\n", "logreg = LogisticRegression(solver='lbfgs')\n", "logreg.fit(X_train, y_train)\n", "print(\"Test set accuracy with Logistic Regression: {:.2f}\".format(logreg.score(X_test,y_test)))\n", "# Support vector machine\n", "svm = SVC(gamma='auto', C=100)\n", "svm.fit(X_train, y_train)\n", "print(\"Test set accuracy with SVM: {:.2f}\".format(svm.score(X_test,y_test)))\n", "# Decision Trees\n", "deep_tree_clf = DecisionTreeClassifier(max_depth=None)\n", "deep_tree_clf.fit(X_train, y_train)\n", "print(\"Test set accuracy with Decision Trees: {:.2f}\".format(deep_tree_clf.score(X_test,y_test)))\n", "#now scale the data\n", "from sklearn.preprocessing import StandardScaler\n", "scaler = StandardScaler()\n", "scaler.fit(X_train)\n", "X_train_scaled = scaler.transform(X_train)\n", "X_test_scaled = scaler.transform(X_test)\n", "# Logistic Regression\n", "logreg.fit(X_train_scaled, y_train)\n", "print(\"Test set accuracy Logistic Regression with scaled data: {:.2f}\".format(logreg.score(X_test_scaled,y_test)))\n", "# Support Vector Machine\n", "svm.fit(X_train_scaled, y_train)\n", "print(\"Test set accuracy SVM with scaled data: {:.2f}\".format(logreg.score(X_test_scaled,y_test)))\n", "# Decision Trees\n", "deep_tree_clf.fit(X_train_scaled, y_train)\n", "print(\"Test set accuracy with Decision Trees and scaled data: {:.2f}\".format(deep_tree_clf.score(X_test_scaled,y_test)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Another example, the moons again" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "editable": true }, "outputs": [], "source": [ "from __future__ import division, print_function, unicode_literals\n", "\n", "# Common imports\n", "import numpy as np\n", "import os\n", "\n", "# to make this notebook's output stable across runs\n", "np.random.seed(42)\n", "\n", "# To plot pretty figures\n", "import matplotlib\n", "import matplotlib.pyplot as plt\n", "from matplotlib.colors import ListedColormap\n", "plt.rcParams['axes.labelsize'] = 14\n", "plt.rcParams['xtick.labelsize'] = 12\n", "plt.rcParams['ytick.labelsize'] = 12\n", "\n", "\n", "from sklearn.svm import SVC\n", "from sklearn import datasets\n", "from sklearn.tree import DecisionTreeClassifier\n", "from sklearn.datasets import make_moons\n", "from sklearn.tree import export_graphviz\n", "\n", "Xm, ym = make_moons(n_samples=100, noise=0.25, random_state=53)\n", "\n", "deep_tree_clf1 = DecisionTreeClassifier(random_state=42)\n", "deep_tree_clf2 = DecisionTreeClassifier(min_samples_leaf=4, random_state=42)\n", "deep_tree_clf1.fit(Xm, ym)\n", "deep_tree_clf2.fit(Xm, ym)\n", "\n", "\n", "def plot_decision_boundary(clf, X, y, axes=[0, 7.5, 0, 3], iris=True, legend=False, plot_training=True):\n", " x1s = np.linspace(axes[0], axes[1], 100)\n", " x2s = np.linspace(axes[2], axes[3], 100)\n", " x1, x2 = np.meshgrid(x1s, x2s)\n", " X_new = np.c_[x1.ravel(), x2.ravel()]\n", " y_pred = clf.predict(X_new).reshape(x1.shape)\n", " custom_cmap = ListedColormap(['#fafab0','#9898ff','#a0faa0'])\n", " plt.contourf(x1, x2, y_pred, alpha=0.3, cmap=custom_cmap)\n", " if not iris:\n", " custom_cmap2 = ListedColormap(['#7d7d58','#4c4c7f','#507d50'])\n", " plt.contour(x1, x2, y_pred, cmap=custom_cmap2, alpha=0.8)\n", " if plot_training:\n", " plt.plot(X[:, 0][y==0], X[:, 1][y==0], \"yo\", label=\"Iris-Setosa\")\n", " plt.plot(X[:, 0][y==1], X[:, 1][y==1], \"bs\", label=\"Iris-Versicolor\")\n", " plt.plot(X[:, 0][y==2], X[:, 1][y==2], \"g^\", label=\"Iris-Virginica\")\n", " plt.axis(axes)\n", " if iris:\n", " plt.xlabel(\"Petal length\", fontsize=14)\n", " plt.ylabel(\"Petal width\", fontsize=14)\n", " else:\n", " plt.xlabel(r\"$x_1$\", fontsize=18)\n", " plt.ylabel(r\"$x_2$\", fontsize=18, rotation=0)\n", " if legend:\n", " plt.legend(loc=\"lower right\", fontsize=14)\n", "plt.figure(figsize=(11, 4))\n", "plt.subplot(121)\n", "plot_decision_boundary(deep_tree_clf1, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)\n", "plt.title(\"No restrictions\", fontsize=16)\n", "plt.subplot(122)\n", "plot_decision_boundary(deep_tree_clf2, Xm, ym, axes=[-1.5, 2.5, -1, 1.5], iris=False)\n", "plt.title(\"min_samples_leaf = {}\".format(deep_tree_clf2.min_samples_leaf), fontsize=14)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "editable": true }, "outputs": [], "source": [ "np.random.seed(6)\n", "Xs = np.random.rand(100, 2) - 0.5\n", "ys = (Xs[:, 0] > 0).astype(np.float32) * 2\n", "\n", "angle = np.pi/4\n", "rotation_matrix = np.array([[np.cos(angle), -np.sin(angle)], [np.sin(angle), np.cos(angle)]])\n", "Xsr = Xs.dot(rotation_matrix)\n", "\n", "tree_clf_s = DecisionTreeClassifier(random_state=42)\n", "tree_clf_s.fit(Xs, ys)\n", "tree_clf_sr = DecisionTreeClassifier(random_state=42)\n", "tree_clf_sr.fit(Xsr, ys)\n", "\n", "plt.figure(figsize=(11, 4))\n", "plt.subplot(121)\n", "plot_decision_boundary(tree_clf_s, Xs, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)\n", "plt.subplot(122)\n", "plot_decision_boundary(tree_clf_sr, Xsr, ys, axes=[-0.7, 0.7, -0.7, 0.7], iris=False)\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "editable": true }, "outputs": [], "source": [ "# Quadratic training set + noise\n", "np.random.seed(42)\n", "m = 200\n", "X = np.random.rand(m, 1)\n", "y = 4 * (X - 0.5) ** 2\n", "y = y + np.random.randn(m, 1) / 10" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "editable": true }, "outputs": [], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", "\n", "tree_reg = DecisionTreeRegressor(max_depth=2, random_state=42)\n", "tree_reg.fit(X, y)" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "editable": true }, "outputs": [], "source": [ "from sklearn.tree import DecisionTreeRegressor\n", "\n", "tree_reg1 = DecisionTreeRegressor(random_state=42, max_depth=2)\n", "tree_reg2 = DecisionTreeRegressor(random_state=42, max_depth=3)\n", "tree_reg1.fit(X, y)\n", "tree_reg2.fit(X, y)\n", "\n", "def plot_regression_predictions(tree_reg, X, y, axes=[0, 1, -0.2, 1], ylabel=\"$y$\"):\n", " x1 = np.linspace(axes[0], axes[1], 500).reshape(-1, 1)\n", " y_pred = tree_reg.predict(x1)\n", " plt.axis(axes)\n", " plt.xlabel(\"$x_1$\", fontsize=18)\n", " if ylabel:\n", " plt.ylabel(ylabel, fontsize=18, rotation=0)\n", " plt.plot(X, y, \"b.\")\n", " plt.plot(x1, y_pred, \"r.-\", linewidth=2, label=r\"$\\hat{y}$\")\n", "\n", "plt.figure(figsize=(11, 4))\n", "plt.subplot(121)\n", "plot_regression_predictions(tree_reg1, X, y)\n", "for split, style in ((0.1973, \"k-\"), (0.0917, \"k--\"), (0.7718, \"k--\")):\n", " plt.plot([split, split], [-0.2, 1], style, linewidth=2)\n", "plt.text(0.21, 0.65, \"Depth=0\", fontsize=15)\n", "plt.text(0.01, 0.2, \"Depth=1\", fontsize=13)\n", "plt.text(0.65, 0.8, \"Depth=1\", fontsize=13)\n", "plt.legend(loc=\"upper center\", fontsize=18)\n", "plt.title(\"max_depth=2\", fontsize=14)\n", "\n", "plt.subplot(122)\n", "plot_regression_predictions(tree_reg2, X, y, ylabel=None)\n", "for split, style in ((0.1973, \"k-\"), (0.0917, \"k--\"), (0.7718, \"k--\")):\n", " plt.plot([split, split], [-0.2, 1], style, linewidth=2)\n", "for split in (0.0458, 0.1298, 0.2873, 0.9040):\n", " plt.plot([split, split], [-0.2, 1], \"k:\", linewidth=1)\n", "plt.text(0.3, 0.5, \"Depth=2\", fontsize=13)\n", "plt.title(\"max_depth=3\", fontsize=14)\n", "\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": false, "editable": true }, "outputs": [], "source": [ "tree_reg1 = DecisionTreeRegressor(random_state=42)\n", "tree_reg2 = DecisionTreeRegressor(random_state=42, min_samples_leaf=10)\n", "tree_reg1.fit(X, y)\n", "tree_reg2.fit(X, y)\n", "\n", "x1 = np.linspace(0, 1, 500).reshape(-1, 1)\n", "y_pred1 = tree_reg1.predict(x1)\n", "y_pred2 = tree_reg2.predict(x1)\n", "\n", "plt.figure(figsize=(11, 4))\n", "\n", "plt.subplot(121)\n", "plt.plot(X, y, \"b.\")\n", "plt.plot(x1, y_pred1, \"r.-\", linewidth=2, label=r\"$\\hat{y}$\")\n", "plt.axis([0, 1, -0.2, 1.1])\n", "plt.xlabel(\"$x_1$\", fontsize=18)\n", "plt.ylabel(\"$y$\", fontsize=18, rotation=0)\n", "plt.legend(loc=\"upper center\", fontsize=18)\n", "plt.title(\"No restrictions\", fontsize=14)\n", "\n", "plt.subplot(122)\n", "plt.plot(X, y, \"b.\")\n", "plt.plot(x1, y_pred2, \"r.-\", linewidth=2, label=r\"$\\hat{y}$\")\n", "plt.axis([0, 1, -0.2, 1.1])\n", "plt.xlabel(\"$x_1$\", fontsize=18)\n", "plt.title(\"min_samples_leaf={}\".format(tree_reg2.min_samples_leaf), fontsize=14)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pros and cons of trees, pros\n", "\n", "* White box, easy to interpret model. Some people believe that decision trees more closely mirror human decision-making than do the regression and classification approaches discussed earlier (think of support vector machines)\n", "\n", "* Trees are very easy to explain to people. In fact, they are even easier to explain than linear regression!\n", "\n", "* No feature normalization needed\n", "\n", "* Tree models can handle both continuous and categorical data (Classification and Regression Trees)\n", "\n", "* Can model nonlinear relationships\n", "\n", "* Can model interactions between the different descriptive features\n", "\n", "* Trees can be displayed graphically, and are easily interpreted even by a non-expert (especially if they are small)\n", "\n", "### Disadvantages\n", "\n", "* Unfortunately, trees generally do not have the same level of predictive accuracy as some of the other regression and classification approaches\n", "\n", "* If continuous features are used the tree may become quite large and hence less interpretable\n", "\n", "* Decision trees are prone to overfit the training data and hence do not well generalize the data if no stopping criteria or improvements like pruning, boosting or bagging are implemented\n", "\n", "* Small changes in the data may lead to a completely different tree. This issue can be addressed by using ensemble methods like bagging, boosting or random forests\n", "\n", "* Unbalanced datasets where some target feature values occur much more frequently than others may lead to biased trees since the frequently occurring feature values are preferred over the less frequently occurring ones. \n", "\n", "* If the number of features is relatively large (high dimensional) and the number of instances is relatively low, the tree might overfit the data\n", "\n", "* Features with many levels may be preferred over features with less levels since for them it is *more easy* to split the dataset such that the sub datasets only contain pure target feature values. This issue can be addressed by preferring for instance the information gain ratio as splitting criteria over information gain\n", "\n", "However, by aggregating many decision trees, using methods like\n", "bagging, random forests, and boosting, the predictive performance of\n", "trees can be substantially improved." ] } ], "metadata": { "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.9.10" } }, "nbformat": 4, "nbformat_minor": 4 }