{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2020-02-16T23:07:58.179814Z", "start_time": "2020-02-16T23:07:56.458785Z" } }, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from sklearn.model_selection import StratifiedShuffleSplit\n", "import operator" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2020-02-16T23:07:58.195684Z", "start_time": "2020-02-16T23:07:58.185150Z" } }, "outputs": [], "source": [ "def getDataset(loc):\n", " columns = ['sepal_length', 'sepal_width','petal_length','petal_width', 'class']\n", " data = pd.read_csv(loc, header=None, names=columns)\n", " return data" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "ExecuteTime": { "end_time": "2020-02-16T23:07:58.447880Z", "start_time": "2020-02-16T23:07:58.201359Z" } }, "outputs": [], "source": [ "def splitDataset(dataset, ratio):\n", " split = StratifiedShuffleSplit(n_splits=1, test_size=ratio, random_state=42)\n", " \n", " for train_index, test_index in split.split(dataset, dataset['class']):\n", " train_data = dataset.loc[train_index]\n", " test_data = dataset.loc[test_index]\n", " \n", " \n", " return train_data, test_data" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2020-02-16T23:07:58.630056Z", "start_time": "2020-02-16T23:07:58.450499Z" } }, "outputs": [], "source": [ "def euclideanDistance(instance1, instance2):\n", " instance1 = np.array(instance1)\n", " instance2 = np.array(instance2)\n", " distance = np.sum(np.power(instance1 - instance2, 2))\n", " return np.sqrt(distance)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2020-02-16T23:07:58.768916Z", "start_time": "2020-02-16T23:07:58.632827Z" } }, "outputs": [], "source": [ "# using pandas indexing methods\n", "\n", "def getKNeighbors(training_set, test_instance, k):\n", " distances = []\n", " classes = training_set['class'].unique()\n", " for row in range(len(training_set)):\n", " dist = euclideanDistance(training_set.iloc[row].values[:-1], test_instance[:-1])\n", " \n", " distances.append((training_set.iloc[row]['class'], dist))\n", "\n", " distances = sorted(distances, key=operator.itemgetter(1))[:k]\n", " inv_class_freq = {x:0 for x in classes}\n", " \n", " for cls, dist in distances:\n", " inv_class_freq[cls] += (1 / dist)\n", "\n", " return inv_class_freq" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2020-02-16T23:07:58.941440Z", "start_time": "2020-02-16T23:07:58.771905Z" } }, "outputs": [], "source": [ "# faster cause turning the data into a list of lists\n", "# as the dataset is smaller in size\n", "\n", "def getKNeighbors(training_set, test_instance, k):\n", " distances = []\n", " classes = training_set['class'].unique()\n", " \n", " training_set = training_set.values\n", " \n", " for row in range(len(training_set)):\n", " dist = euclideanDistance(training_set[row][:-1], test_instance[:-1])\n", " \n", " distances.append((training_set[row][-1], dist))\n", " distances = sorted(distances, key=operator.itemgetter(1))[:k]\n", " inv_class_freq = {x:0 for x in classes}\n", " \n", " for cls, dist in distances:\n", " inv_class_freq[cls] += (1 / dist)\n", "\n", " return inv_class_freq" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2020-02-16T23:07:59.117381Z", "start_time": "2020-02-16T23:07:58.951616Z" } }, "outputs": [], "source": [ "def getResponse(inv_freq):\n", " predicted_class = max(inv_freq, key=inv_freq.get)\n", " return predicted_class" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2020-02-16T23:07:59.266774Z", "start_time": "2020-02-16T23:07:59.123520Z" } }, "outputs": [], "source": [ "def getAccuracy(testSet, predictions):\n", " correct = 0\n", " for x in range(len(testSet)):\n", " if testSet.iloc[x]['class'] == predictions[x]:\n", " correct += 1\n", " return (correct/len(testSet)) * 100.0" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2020-02-16T23:08:05.002270Z", "start_time": "2020-02-16T23:07:59.271965Z" } }, "outputs": [], "source": [ "if __name__ == '__main__':\n", " # get data\n", " data = getDataset(r'../datasets/iris_data.csv')\n", " \n", " # split data into stratified subsets\n", " ratio = 0.2\n", " trainingSet, testSet = splitDataset(data, ratio)\n", "\n", " trainingSet = trainingSet.reset_index(drop=True)\n", " testSet = testSet.reset_index(drop=True)\n", " accuracy_scores = []\n", " # generate predictions\n", " for k in range(1, 31):\n", " predictions = []\n", " for row in range(len(testSet)):\n", " inv_freq = getKNeighbors(trainingSet, testSet.iloc[row].values, k)\n", " result = getResponse(inv_freq)\n", " predictions.append(result)\n", "\n", " accuracy = getAccuracy(testSet, predictions)\n", " accuracy_scores.append(accuracy)\n", "# print(f'k: {k}, Accuracy: {round(accuracy,3)}%')" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "ExecuteTime": { "end_time": "2020-02-16T23:08:05.817093Z", "start_time": "2020-02-16T23:08:05.006180Z" } }, "outputs": [ { "data": { "text/plain": [ "<matplotlib.legend.Legend at 0x2503e08f7c8>" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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f+1rX6tHPOIROnXqlF7+8pdLkr7whS/oKU95ik6dOqVHP/rR+qd/+id98IMf1NOe9rT5n/vxH/9xveUtb5EkXXnllfqFX/gFPf7xj9c73/lO/dZv/Za+5Vu+RadOndIzn/lMra6uSpLuuece3XDDDTp16pROnTqlj3zkI/q5n/s53XTTTfPr/uzP/qxe//rXH/rvyzGEAAAA2JNbbrtLP/3uT2ttY7qSfNfpNf30uz8tSbr+mssOft1bbtH3fd/36cEPfrDa7bY+8YlP6J577tEtt9yiv/3bv9XS0pJ6vZ4k6TnPeY5e/vKX64YbbtD6+romk4m++tWv7nr9hYUFffjDH5YkRVGkF77whZKkV7ziFXrTm96kn/iJn9BP/uRP6ju/8zv1nve8R+PxWP1+X5deeqme8Yxn6CUveYkmk4ne/va36+/+7u8O/PdMEMABAACwJ7/yvs/Nw3dibWOsX3nf5w4VwG+++Wa99KUvlSQ961nP0s0336zJZKIf/uEf1tLSkiSp3W7r3Llzuuuuu3TDDTdImgbrvfjBH/zB+a9vv/12veIVr9Dp06fV7/d13XXXSZI+8IEP6Hd/93clSdVqVSdOnNCJEycUhqFuu+023XPPPbrmmmsUhuGB/54JAjgAAAD25O7Ta/t6fS+iKNIHPvAB3X777TLGaDweyxijZz7zmfc53s9au+01arWaJpPJ/PcXnsndbDbnv37+85+vW265RadOndJb3vIWffCDH9x1fD/6oz+qt7zlLfra176mF7zgBfv8222PGnAAAADsyaUnF/f1+l784R/+oZ773Ofqy1/+sr70pS/pq1/9qh70oAep3W7rzW9+87xGu9fr6fjx47r88st1yy23SJKGw6FWV1f1jd/4jfrsZz+r4XCoM2fO6P3vf/+O73fu3Dk94AEP0MbGht72trfNX3/yk5+s3/zN35Q03ax59uxZSdINN9yg9773vfrYxz42Xy0/LAI4AAAA9uRl112txXr1vNcW61W97LqrD3zNm2++eV5SknjmM5+pu+++W09/+tN17bXX6lGPepR+9Vd/VZL01re+Va9//ev1yEc+Uo973OP0ta99TQ984AN144036pGPfKSe85zn6Jprrtnx/V796lfrW7/1W/U93/M9eshDHjJ//aabbtJf/uVf6hGPeIQe85jH6DOf+YwkKQgCffd3f7duvPFGVavVnS67L2anpfyiuvbaa+2tt96a9zAAAACccMcdd+ihD33onr/+ltvu0q+873O6+/SaLj25qJddd/Wh6r9dN5lM9OhHP1rvfOc7ddVVV+34ddt9jsaYj1trr73wa6kBBwAAwJ5df81lhQ7cW332s5/V0572NN1www27hu/9IoADAAAA23jYwx6mL37xi0d+XWrAAQAASq5sJclHbb+fHwEcAACgxBYWFhRFESH8gKy1iqJoz2eSS5SgAAAAlNrll1+uO++8U/fee2/eQ/HWwsKCLr/88j1/PQEcAACgxOr1uh70oAflPYxScSqAG2PeLOlpkr5urX347LW2pHdIulLSlyTdaK1dMdPWSDdJeqqkVUnPt9Z+Io9xF00axwv5cM2yHau0lQ+fZZnvDwCgWFyrAX+LpO+74LWXS3q/tfYqSe+f/V6S/jdJV83+9yJJv5nRGAvtltvu0k+/+9O66/SarKS7Tq/pp9/9ad1y212FvmYaY/SFD59lme8PAKB4nGvEY4y5UtKfbFkB/5yk77LW/rMx5gGSPmitvdoY8z9mv775wq/b7fo04tndd7zmA7rr9Np9Xq8ao284sffNBVt97cy6xtt8n7l0zZ2ud9nJRf31y590oDH64qjveZb3uwz3BwDgL58b8dw/CdWzEH6/2euXSfrqlq+7c/bafQK4MeZFmq6S64orrkh3tJ67e5sgJklja/Vt/yI80DXf9Yk7nb/mTtfb6fMokqO+51ne7zLcHwBA8fgQwHditnlt2+V8a+0bJL1Bmq6Apzko3116cnHb1dDLTi7qdTeeOtA1P/rFyPlr7nS9S08uHmh8Pjnqe57l/S7D/QEAFI9rNeDbuWdWeqLZP78+e/1OSQ/c8nWXS7o747EVzsuuu1oLtfO/LRbrVb3suqsPdc3FetXpa6YxRl+87LqrFVSP7p77cL8BAMiTDwH8jyQ9b/br50n6f7e8/lwz9W2Szlys/hsXd/01l+nnnvaw+e8vO7moX3rGIw512sT111ymX3rGI3TZyUUZR6+ZXO8bjk9rlE8u1g89Rl9cf81luvHazbNLj+qzTON+3+9YQ5K0vFSe+wMAKB6nNmEaY26W9F2SOpLukfSfJN0i6Q8kXSHpK5J+wFrbmx1D+BuanpqyKumHrbUX3V3JJsyL+8LXz+kpv/ZXuulZj9L3P6pcAWdjPNFVP/s/9VNPebBe8pSr8h5OZt74v76oX/zTO/Sp//S9OrFYz3s4O4r6Qz3mF/9Cr3r6v9TzHndl3sMBAGBXXmzCtNY+e4d/9eRtvtZKenG6Iyqnbj+WJHVajZxHkr16taKTS3VFg2HeQ8lUtx+rXjU6vuDU/yXcx8mlQBUzDeIAAPjKhxIUZKw3mAbwdjPIeST5aDcDRbPPoCx6g6HazUDTB0vuqlaMlpfKd38AAMVCAMd9JKuLYaucAbzTbJRuhTXqxwqbfjzxCFuBoj4BHADgLwI47iMpQWkvlTOAlzHgdQexNxOusNkoXYkQAKBYCOC4j2gw1PJSXbVqOb89wlb5Shyi/tCbmv8yTpAAAMVSzoSFXUX9WKEnYSwNYbOhldVY44k7JwSlbVqC4scKeKfVULdkJUIAgGIhgOM+okFc2g2Y0nSF1VppZbUcq6yr8UhrG2O1PSlBaTcDnV0fKR5N8h4KAAAHQgDHfUzLEfwIY2lINiOWpcwh+Xt2PNqEKZVnggQAKB4COO4jGvhzIkYakoBXlpNQknp3nzZhSqIMBQDgLQI4zrMxnuj06oY3YSwNyep/tyQbMTePnfRj0tWZT5DKcX8AAMVDAMd5VuaroX6EsTRslqCUY4U1CbK+bMJMvjc5ihAA4CsCOM4zL0fwJIyl4cRiXdWKmXcELTrfSlCSDcKsgAMAfEUAx3l8Ww1NQ2XW7rxbkoAX9YdarFe1FNTyHsqeHF+oqV41pTurHQBQHARwnCd5rF/mEhRpWmdcmhIUj7pgSpIxZtoNsyT3BwBQPARwnCdZ9S3zMYRSubphdvtD7yZcdMMEAPiMAI7zRP2hahWj4wv1vIeSqzKtsEb9WB3PSo7CVqM0p9QAAIqHAI7z9AaxlpuBKhWT91By1W6WZwW852Hn07AZqMcpKAAATxHAcZ5uPy71BsxEpxXo3PpIw9E476GkylqraOBhCUqTEhQAgL8I4DhPNBiq41kYS0MSSIt+FOHZ9ZE2xta7mv+w1dBqPNZqPMp7KAAA7BsBHOeJ+n6diJGWsCRnTW92wfTrnod0wwQAeIwAjvNE/eG8E2SZJSvg3YJvxNxsvOTXPZ+3oy/4EwoAQDERwDG3vjHWIB57txqahmQFvOglKMkKsm+bMNvNpESo2BMkAEAxEcAxRxv6TWUpcUgaL/lW9598j5alWykAoFgI4JjbrAf2K4ylodWoKahV1C34CquvK+BlmSABAIqJAI65JMxQgjJtd94pwVF3UX+o4wvTyYZPloKaloJqaZolAQCKxa//6iJVyYbDjmcb8tIStorfDbM7iL0rP0mErfI0SwIAFAsBHHPJhsM2K+CSpmUZRd+E2ev71wUz0W42COAAAC8RwDEXDWI1ahU1g2reQ3FC2AoKv8lv2gXTzwA+LREq9hMKAEAxEcAx1+1Pu2AaY/IeihM6rYaiwVDW2ryHkppp4yWPS1AKPkECABQTARxzdME8X9gMtL4x0Wo8znsoqRhPrHqrsTqelqCEJZggAQCKiQCOuWgw5AzwLZKV4aKusq6sxrLW32Mnw2agjbHV2fVR3kMBAGBfCOCYm27I8zOMpSGZjEQFPQt8vunW00lX8rSm6BtlAQDFQwCHJMlaOzuSzs8wloaiN3vpzhsv+XnPw2byhKKYEyQAQHERwCFJ6g9HikcTb8NYGuYlKAVdAU8mFj6fAy7Rjh4A4B8COCRt6YJJCcpcUoJS1ICXrBz7WvffKfgECQBQXARwSNoMMayAb1qoV9Vq1ApbghINYlWMdHLJz3u+vFTsEiEAQHERwCGJFfCdTLthFnOFNRrEWl4KVK34ee57UKvo+EKNTZgAAO8QwCFJ85berICfL2wFhW13HvX97YKZ6LQa882kAAD4ggAOSZv1wL4eSZeWsNkocA147P0TD7phAgB8RACHpOlGw2ONmhbq1byH4pROKyjsMXfRwP/Op2GzwSZMAIB3COCQNG1m4nsYS0PYCtQbxIVsdx71h94eQZhI7g8AAD4hgEPS9BQUyk/uq91saDSxOrtWrHbn8Wiis+sj7+952JwG8PGkeBMkAEBxEcAhaVYP7PlqaBqSzqDdgpU59Aqy6TZsNTSx0ulVVsEBAP4ggEPStAacNvT3tdnuvFgBb96GvgCbMCUV9qQaAEAxEcChycRqZdX/EzHSMA94BduImQRW3yddyfcsRxECAHxCAIfOrG1oPLHe1wOnYd6OvmArrElzId/veTJBYiMmAMAnBHDQhn4Xy7OA2itYCcq886nndf/JBKloJUIAgGIjgGPeaMb3I+nSUK9WdHKpXrizprv9WPWq0fGFWt5DOZSTS4EqpnglQgCAYiOAY8tqKCvg2wmbxeu2GPWHCpsNGWPyHsqhVCtG7WZQuBIhAECxEcCxWYLCJsxtha1G4Tb5FaELZiJsNlgBBwB4hQCO+eru8lI955G4KWwGhTvmLhrE3m/ATLSbdMMEAPiFAA5Fg6GWl+qqVfl22E4R250XoQ19ImwVr0QIAFBsJC7QBfMiwmZDK6uxRuNJ3kM5MlE/np8g4rtOAUuEAADFRgBHocJYGjqtQNZKK6sbeQ/lSKzGI61tjAsz6Qqbgc6ujxSPijNBAgAUGwEc6g6KU46QhiSoFuUowqKdepPcn6KVCQEAiosADvUKtCEvDe2CNXtJNpQW5anH/P4UZIIEACg+AnjJbYwnOr26UZjV0DR0WknAK0gA7yedT4vx1GN+fwoyQQIAFB8BvORWBsVoSZ6m5Hz0opw1PS9BKcgKeNFKhAAAxUcAL7l5G/qChLE0nFisq1oxhVlh7SaNlwry1CNkBRwA4BkCeMnNu2CyAr6jyqzdeVFWWKN+rKWgqqWglvdQjsSxRk1BtTKfTAIA4DoCeMklJ0ewCXN3YTMoTMAr2qZbY8ysG2YxJkgAgOIjgJfcvASlIOUIaSlSN8xuf1i4Jx50wwQA+IQAXnJRf6haxej4Qj3voTgtbDYKtQmzaDX/YauhbkEmSACA4iOAl1zUn5YjVCom76E4rUgrrNFgWJgNmIlOMyjMBAkAUHwE8JKbhrFilSOkodNq6NxwpPWNcd5DORRrrXqDuHD3vEgTJABA8XkTwI0xLzHG3G6M+Ywx5qWz104ZY/7GGPNpY8wfG2OO5z1O30SDuDDnQacp2bToex342fWRNsa2cPe83WxobWOs1XiU91AAALgoLwK4Mebhkl4o6bGSTkl6mjHmKklvlPRya+0jJL1H0svyG6Wfon5cuHKENIQFCeCbXTCLdc85CxwA4BMvArikh0r6qLV21Vo7kvQhSTdIulrSX82+5s8lPTOn8Xkr6g/nnR6xs6Rko+t5nXGUdD4t2D2ft6P3fIIEACgHXwL47ZKeaIwJjTFLkp4q6YGz158++5ofmL12H8aYFxljbjXG3HrvvfdmMmAfrMVjDeJx4VZD09ApyAprYVfAZxMKNmICAHzgRQC31t4h6Zc1XeV+r6RPSRpJeoGkFxtjPi7pmKRt05G19g3W2muttddecsklGY3afUlnR84Av7hkBdz3bpib574XawWcEhQAgE+8COCSZK19k7X20dbaJ0rqSfq8tfYfrLXfa619jKSbJf1TvqP0y2YXzGKFsTQ0g6qCWsX7gJfc8+WlYk265ivglKAAADzgTQA3xtxv9s8rJD1D0s1bXqtIeoWk/ye/EfonCZNFK0dIgzFmeta05wEv6g91fKGmoObNj/6eLAZVLQVVSlAAAF7w6b/C7zLGfFbSH0t6sbV2RdKzjTH/KOkfJN0t6bfzHKBvkg2FHVbA9yRs+d8NszuIC1d+kghb/k+QAADlUMt7AHtlrX3CNq/dJOmmHIZTCPMTMVgB35MiBLyoX7wumImw2fD+lBoAQDn4tAKOIxb1h1qoV7QUVPMeihfCZsP7GvCoHxfuCMJEh26YAABPEMBLbNoFsyFjTN5D8ULYCtTtD2WtzXsoB9YbxGoXdAW83Qy8b5QEACgHAniJ0QVzf8JmoOFootV4nPdQDmQ8seqtxuoUrA19Imw1FA38niABAMqBAF5i0WA4b7GOi5ufBe5pmcPKaixrN/8eRRM2A22Mrc6uj/IeCgAAuyKAl9h0BbyYYSwNydOCrqfNeIp+7GSnRTdMAIAfCOAlZa2lBGWfOk2/V8DnbegLuglz3g2TOnAAgOMI4CXVH44UjyeUoOxDe97u3M8V1qIfO9lu0o4eAOAHAnhJzcsRCroamoZksuLrCuvmCngxA/i8BMXTEiEAQHkQwEsqCSlFXQ1Nw0K9qlaj5u0KazSIVTHSyaVi3vPlJVbAAQB+IICXVHcWUoraljwt026Yfq6wdvux2s1A1Uoxz30PahWdWKx7WyIEACgPAnhJ9QpeD5yWsOlvt8XeYFj4kqPpBMnP+wMAKA8CeEklq4TtgtYDp6XdbKjr6QprNFsBLzKfJ0gAgPIggJdUtx/rWKOmRq2a91C80mn52+48GhT/2Mmw2fC2RAgAUB4E8JIqQxhLQzgL4JOJf+3Ou/1h4Wv+wxYr4AAA9xHASyrqD+mCeQBhs6HRxOrs+kbeQ9mX4Wisc+ujwh5BmAhbDfVWY409nCABAMqDAF5SvUFc+DCWhnk7es9WWVcG0wlD0SddnVYga6XTq37dHwBAuRDAS6pLG/oDCeft6P2qM+6WZNNt2/NmSQCAciCAl9BkYktxJF0akkmLbxsxk0DaKfikK/me9vWkGgBAORDAS+j02oYmljPAD2JeguJbAE/a0JegBEWiGyYAwG0E8BIqSxhLQ3ve7tyvFdYkkBZ90pV8T/t2fwAA5UIAL6GkHIFNmPtXq1Z0cqnu3QprNIhVrxoda9TyHkqqTi7WVTH+lQgBAMqFAF5CZVkNTUvYDLxr9hL1pzX/xpi8h5KqSsWo3Qy8KxECAJQLAbyEkvDIJsyDCVsNL1fAyzLhCpsNSlAAAE4jgJdQtx/LGGl5qZ73ULzUaQXeHXNXpsZLdMMEALiOAF5CUX+o5aVAtSq3/yB8XGHt9mN1SlLzH7Ya3k2QAADlQgIrod4gLnxDljS1m4FWVjc0Gk/yHsqelemeh83AuwkSAKBcCOAlFPVpQ38YyVnTPU/ana/GI61tjMtTgtIMdHZ9pHjkzwQJAFAuBPAS6g6G6pQkjKUhCbK+HHVXtlNvfLs/AIDyIYCXUNQvz4kYaUieHviy0S9py170NvSJebdSylAAAI4igJfMxniiM2sbHEF4CMkKqy8Bb74CXpJ7Pm9Hzwo4AMBRBPCSWZmFknZJVkPT4NsKeFKKUZZNmO1mUoLixwQJAFA+BPCS6c5CY1mOpEvDicW6qhXjTTfMbtJ4qSSTruTv6csECQBQPgTwkpl3wWQT5oEl7c592eQX9WMtBVUtBbW8h5KJY42agmplPtkEAMA1BPCSKduJGGkJm4E3AW/aBbM899sYM+uG6ccTCgBA+RDAS2Z+IkZJNuSlpdPypxtmNIhLswEzEbYCNmECAJxFAC+Z3iBWrWJ0fLEc5QhpaTf9CXhlbLzUbtKOHgDgLgJ4yUT9aUtyY0zeQ/HatMTBj4AXDcpVgiJNNxn78oQCAFA+BPCSmYaxcpUjpKHTaqg/HGl9Y5z3UHZlrZ01XirXPfdpggQAKB8CeMl0+3FpOiKmKSnpcP0klLNrI40mtnQlKGGrobWNsVbjUd5DAQDgPgjgJRMNhqULY2lIVpRdX2VNzgDvlG0F3LNmSQCAciGAl0yvH887BeLgkq6SXceb8ZStC2YipB09AMBhBPASWYvHGsTj0m3IS0PHk26LyUbEst3z5NhFNmICAFxEAC+RaF6OUK4wloakBKXn+Ap40iyodCUonkyQAADlRAAvkXkXTEpQDq0ZVNWoVZwPeMn4lpfKNelKvsddLxECAJQTAbxEkhXwspUjpMEYo06r4Xw7+mgw1InFuoJauX7UF4OqmkHV+QkSAKCcyvVf5ZJjBfxoTbthur3COm1DX84JV7sVOH9MJACgnAjgJZKcCMEK+NHwodlL1C9fF8xE2GyoyyZMAICDCOAlEvWHWqhXtBRU8x5KIYTNhvMrrFE/Lu0Tj44HEyQAQDkRwEskCWPGmLyHUgidVqBufyhrbd5D2VE0iEu9Au56iRAAoJwI4CXSHdCG/iiFrUDD0USDeJz3ULY1nlitrMbzIxPLJpzVgLs8QQIAlBMBvER6g2HpOiKmqe14s5eV1VjWqrybMJuBNsZWZ9dHeQ8FAIDzEMBLJOqXdzU0DUlph6tHEc5PvSnpU4+k+ZCrEyQAQHkRwEvCWjsL4OUMY2noNJNumK4G8Nm57yXdhDnvhuno/QEAlBcBvCTODUeKx5N5aKMT3mAAACAASURBVMThbbY7d3OFtTtI2tCXc9IVOl4iBAAoLwJ4SZS9HCENST29qyus8xXwkpYddRwvEQIAlBcBvCR6s+PY2IR5dBbqVbUaNWebvfQGsSpGOrlYz3souViefa+7WiIEACgvAnhJJKuAnZKuhqbF5W6Y3X6sdjNQpVLOc9/r1YpOLNYpQQEAOIcAXhKUoKQjbAbOrrBG/WFpN2AmwlYwr4UHAMAVBPCSSFYBKUE5WmGr4WwJSpm7YCY6zQYr4AAA5xDASyIaxDq2UFOjVs17KIXSaQXObsLsDTj3PemGCQCASwjgJREN4tJ2RExTe1aCMpm41+682x+W/p63m+7W6AMAyosAXhJRf1j61dA0hM2GxhOrM2sbeQ/lPMPRWOfWR6UP4GGrod5qrLGDEyQAQHkRwEsi6rMCngZXuy0mZRdln3R1WoGslVZW3bo/AIByI4CXRDRgBTwNybGOrm3049Sbqc1umARwAIA7vAngxpiXGGNuN8Z8xhjz0tlrjzLGfNQY80ljzK3GmMfmPU4XTSZWvUFc2pbkaXJ1BTwqeRv6xOb9cWuCBAAoNy8CuDHm4ZJeKOmxkk5Jepox5ipJr5X0KmvtoyT9/Oz3uMDptQ1NLEcQpmHejt65FfDk2MlyP/UI5/fHrQkSAKDcankPYI8eKumj1tpVSTLGfEjSDZKspOOzrzkh6e58hue2JIxRgnL02kvTgNd1LOBRgjIVOloiBAAoN18C+O2S/rMxJpS0Jumpkm6V9FJJ7zPG/Kqmq/mP2+4PG2NeJOlFknTFFVdkMmCXzNvQswJ+5GrVipaX6s6dNd0dDBVUKzrW8OVHPB0nF+uqGPdKhAAA5eZFCYq19g5JvyzpzyW9V9KnJI0k/Zikn7LWPlDST0l60w5//g3W2muttddecsklGY3aHUn9Kyvg6QhbDedqjKP+tAumMSbvoeSqUjFqNxvOPaEAAJSbFwFckqy1b7LWPtpa+0RJPUmfl/Q8Se+efck7Na0RxwU2j6RjBTwNYTNwLuD1aEM/12kF6jk2QQIAlJs3AdwYc7/ZP6+Q9AxJN2ta8/2dsy95kqahHBfo9mMZIy0vEcjSELYC52qMo/6w9BswE3TDBAC4xqcC0XfNasA3JL3YWrtijHmhpJuMMTVJ65rVeeN8UX+o5aVA1Uq5yxHSEjYbigZR3sM4T7cf65suaeU9DCeErYZuv+tM3sMAAGDOmwBurX3CNq99WNJjchiOV+iCma6wFej06oZG44lq1fwfKllrZ42XuOdSUiLk1hMKAEC55Z8WkDrCWLqSza09R9qdr8ZjrW9M2HQ702kFOrc+0nA0znsoAABIIoCXQjSI5y25cfRca/aSbLql8dJUUgu/MtjIeSQAAEwRwEsgOZIO6XAtgCflFmVvQ59IvvcpQwEAuIIAXnDxaKIzaxusgKdo3m3RkaPu5l0wueeSNiciNOMBALiCAF5wK6ucAZ62ecBzZAV8s/ES91zanIi4dlQkAKC8COAFRzlC+o4v1FWrGGdWwLusgJ8ndGyCBAAAAbzgNjfkEcbSUqkYLTvU7KU3iLUUVLUYVPMeihNajZqCaoUSFACAMwjgBTevB2YFPFUutaOP+hw7uZUxxslupQCA8iKAF9y8BIUV8FR1Wg1nSlA4dvK+wlbACjgAwBkE8IKLBrFqFaPji940PfVS2Arm5T556/Zjav4vEDYbrIADAJxBAC+4pBzBGJP3UAptGvDcCOBRf8gK+AXCljslQgAAEMALrjeI2YCZgbAVqD8caX0j33bn1trpPWcF/Dxh050nFAAAEMALjnKEbMy7YeYc8s6ujTSa2Pl4MBW2GlrbGGs1HuU9FAAACOBFFw2GhLEMzLth5lxn3B0k577z1GOr+QSJMhQAgAMI4AUX9eN5OER6QkfanXPs5PaSCUmXjZgAAAcQwAtsLR5rNR4TxjLQmbc7zzuAz9rQU/d/HrphAgBcQgAvsORcakpQ0teeB7x8V1iTFXgmXedrz34G2IgJAHABAbzA5uUIrIamrhlU1ajl3+48uefLSwTwrZKfga4jzZIAAOVGAC+w+Qo4q6GpM8ao02rkXmMcDYY6sVhXUONHe6vFoKpmUKUEBQDgBP4rXWBJ4xFOxMiGC90wp5tumXBtJ2zRDRMA4AYCeIFxIka2wmaQ+wprtz+cbwjF+cJWkHuJEAAAEgG80HqDoRbqFS0FtbyHUgrtZv4rrNPOp0y4tuPCBAkAAIkAXmhRP2YDZoY6rUDdQSxrbW5jiAaUoOwkbDbm+yIAAMgTAbzAugPa0GcpbAWKRxP1h/m0Ox+NJ1pZpfHSTsLWdAU8zwkSAAASAbzQov6QMJah5GlDXhsxV1Y3ZK2YdO0gbDU0mlidXctnggQAQIIAXmDTEhTCWFaS0o9uTnXGm42XmHRtJ5mYcBY4ACBvBPCCstZON+SxGpqZcN6OPp+A15sFfzZhbo9umAAAVxDAC+rccKR4POFIugwlK+B5HXXXHSTnvhPAt5P3BAkAgAQBvKA4Azx7yQprXgEveV/q/rfXyblECACABAG8oAhj2VuoV3WsUcttBTzqx6oY6eRiPZf3d93yfIJEAAcA5IsAXlDJKh+bMLOVHHWXh2gwVLvZUKVicnl/19WrFZ1cqnMWOAAgdwTwgko2mlGCkq12M8gt4HHqzcVN7w8r4ACAfBHACyopQeFEjGyFrUaOK+B0wbyYTrPBJkwAQO4I4AUVDWIdW6ipUavmPZRS6bSC/M4Bp/HSReVZIgQAQIIAXlDd/lAdwljmwmZDK6uxJpPs251TgnJxYYsSFABA/gjgBdUbEMbyELYCjSdWZ9Y2Mn3f4Wisc8MRZ4BfRDJBGucwQQIAIEEAL6ioH1P/nYP5WeAZb8RMNt22aby0q7AVyFppZZVVcABAfgjgBRUNqAfOQ1L2k3UdOI2X9mazGyYBHACQHwJ4AY0nVr1BTDlCDubt6DMOeN3ZyR7c891t3h9OQgEA5IcAXkCnV2NNLE148pCssPYyLkGZr4BTgrKreTt6NmICAHJEAC+gzSY8hLGsLS/VZUz2JSg0Xtqb+QSJFXAAQI4I4AVEG/r81KoVnVzMvt15dzBUUK2o1ahl+r6+ObFYV7ViOIoQAJArAngBJeGPFfB85NENM+pPu2AaYzJ9X99UKkbLS/k1SwIAQCKAFxInYuQrbGbfbXHaBZP7vRedVsAmTABArgjgBRT1hzJGWl4ikOWh02pkXoISDWI2YO4R3TABAHkjgBdQNIjVXgpUrVCOkIc8Al5SgoKLC5uN+aZVAADyQAAvILpg5qvdDHR6dUMb40km72etnTZe4p7vSbsZzM9NBwAgDwTwApp2wSSM5SXZ/LqS0SrrajzW+saETbd71GkFOrc+0nA0znsoAICSIoAX0LQcgTCWl85sJTqrkzYijp3cl+RngzIUAEBeCOAF1O0P5yEQ2cs64HUHSRt6Jl17kUxUsj6pBgCABAG8YOLRRGfXR2pzIkZukvr7rE5C6c2CJHX/e5OUZ3ESCgAgLwTwgllZ5QzwvHVaGZegzBsvcc/3IjmukbPAAQB5IYAXTHK6Q4cwlpvjC3XVKiazgNed14Dz1GMv5ivglKAAAHJCAC+YzS6YhLG8VCpG7Qy7YUb9WM2gqsWgmsn7+a7VqCmoVea18wAAZI0AXjDzcgTqgXMVthqZ1RhPj51kwrVXxhh1MpwgAQBwIQJ4wUSUIzghbAbZbcIc0Hhpv9qtgGMIAQC5IYAXTDSIVasYHV+s5T2UUgtb2a2wdvsxNf/7FDYbbMIEAOSGAF4wUX/aBdMYk/dQSi3LgBf1hzzx2KewFWR2Sg0AABcigBdM1I8JYw4IW4EG8VjrG+m2O59MrHqDmCMI96nTaigaDGWtzXsoAIASIoAXTJcw5oRORs1ezq5vaDSxbMLcp7AZaH1jotU43QkSAADbIYAXTG8w5AQUB7QzavaSBHzu+f4km1bZiAkAyAMBvGCifsxqqAOyavayee47AXw/OrOfkS4bMQEAOSCAF8hqPNJqPCaMOaDTzCbgJSvs1P3vD90wAQB5IoAXSBImOoSx3IUZ1YB3Z9fnGML9SZ4SZXVWOwAAWxHAC2ReD0wYy91SUNVCvZJ6jXGyAr5MDfi+JDXzHEUIAMiDNwHcGPMSY8ztxpjPGGNeOnvtHcaYT87+9yVjzCfzHmeeerPVPLoi5s8Yo7DZSL0EpTeIdWKxrnrVmx9lJyzUq2oGVTZhAgBy4UW7RGPMwyW9UNJjJcWS3muM+VNr7Q9u+ZrXSTqT0xCdkKzmddiE6YQsumFON90y4TqIsEU3TABAPnxZNnuopI9aa1ettSNJH5J0Q/IvzbTt442Sbs5pfE7gRAy3hM0g9Rrjbn9Izf8Bha0g9Rp9AAC240sAv13SE40xoTFmSdJTJT1wy79/gqR7rLWf3+4PG2NeZIy51Rhz67333pvBcPMR9YdarFe1FHjxYKPwpiusKa+A03jpwKYlQgRwAED2vAjg1to7JP2ypD+X9F5Jn5I02vIlz9Yuq9/W2jdYa6+11l57ySWXpDrWPBHG3JKssKbZ7jzqD7nnB9RpBZSgAABy4UUAlyRr7ZustY+21j5RUk/S5yXJGFOT9AxJ78hzfC6IBjEdER0SNgPFo4n6w9HFv/gARuOJTq9tzLtuYn/azUC9lCdIAABsx5sAboy53+yfV2gauJMV76dI+gdr7Z15jc0V09VQwpgrwnk7+nTKHFZWN2QtZ4AfVNhqaDSxOruWzgQJAICdeBPAJb3LGPNZSX8s6cXW2pXZ689SyTdfJqI+K+Au2WzGk06ZQ3JdumAeTDJx6dKMBwCQMW9261lrn7DD68/PeChOstYqGrAC7pLkOMi0Nvpx6s3hbH1C8U3F3RoCAHCQTyvg2MXZ9ZE2xpZyBIckwTitZi9Jkx/u+cHMn1CwERMAkDECeEEkIY8umO5I7kVaAW/znvPU4yCSci3OAgcAZI0AXhBJyKMExR2NWlXHGrVUS1AqRjq5WE/l+kW3PJ8gEcABANkigBdEEvLYhOmWNLstRoOh2s2GKhWTyvWLrl6t6ORSPfVupQAAXIgAXhBJiOiwAu6UaTfMdAJetx9T/31IYTNgBRwAkDkCeEEkIYIacLeEs2YvaaAL5uGFrcZ8MysAAFkhgBdEbxDr2EJNQY1b6pKwFaRWA94bxGzAPKQ0J0gAAOyEtFYQ3f6Q8hMHhc2GeoOhJpOjb3dO46XDS7NGHwCAnRDAC4Iw5qawFWhipdNrG0d63fWNsc4NR9SAH1LYbGhlNdZoPMl7KACAEtlTADfG3GCMscaYh6Q9IBzMtAsmYcw1ybGQR70RMymb4NjJw+m0Alkrrawe7QQJAIDd7HUF/NmSPizpWWkNxBhTTevaZdAbxIQxB3VSavYyD+A89TiU5GeGOnAAQJYuGsCNMS1J3yHpR7QlgBtj/qMx5tPGmE8ZY14ze+2bjTF/MXvtE8aYbzLGfJcx5k+2/LnfMMY8f/brLxljft4Y82FJP2CMeaEx5mOzP/8uY8zS7Ovub4x5z+z1TxljHmeMebUx5iVbrvufjTE/eUSfi1fGEzsN4IQx57Rb6TR76c4bL3HPDyPtbqUAAGyntoevuV7Se621/2iM6RljHi3p/rPXv9Vau2qMac++9m2SXmOtfY8xZkHTgP/Ai1x/3Vr7eEkyxoTW2t+a/foXNQ39/1XS6yV9yFp7w2ylvCXpbknvlnSTMaai6eTgsXv/qxfH6dVYE8tqqIvC2SklR93sJZo3XuKpx2EkNfRdVsABABnaSwB/tqRfn/367bPfVyT9trV2VZKstT1jzDFJl1lr3zN7bV2SjLlol753bPn1w2fB+6SmIft9s9efJOm5s+uOJZ2RdMYYExljrtF0QnCbtTbaw9+ncCLqgZ21vFSXMTryowiTQM8K+OHMJ0isgAMAMrRrADfGhJqG34cbY6ykqiQr6V2zf5735TtcZqTzS10WLvj3gy2/fouk6621n5qVqXzXbuOT9EZJz5f0DZLefJGvLSzKEdxVq1a0vBQcecCL+rGCWkWtxl7m0NjJicW6qhVDN0wAQKYu9l/vfy3pd621/zZ5wRjzIUk9SS8wxvx+UoIyWwW/0xhzvbX2FmNMQ9PA/mVJD5v9fkHSkzXd0LmdY5L+2RhTl/QcSXfNXn+/pB+T9OuzEpSmtfaspPdI+gVJdUn/Zv9//Wzdcttd+pX3fU53n17TpScX9bLrrtb111x26Gu+6o8/I0l66ds/qZ956kMPfU0cnVtuu0tn1zb0tr/9ij74uXuP7J6/9aNfVjya6PG//JdHcs2y+qNP3S1rrX7jL7+g99x215HdnzR+zo/ymj6MsczXTGOMaeCzPDqM8+j4MEbp4gH82ZJec8Fr75L0UEl/JOlWY0ws6f+T9DOS/g9J/8MY8wuSNiT9gLX2i8aYP5D095I+L+m2Xd7v5yT9raah/dOaBnJJeomkNxhjfkTSWNMw/jfW2tgY85eSTs9KU5x1y2136aff/WmtbUyHedfpNf30uz8tSQf+xrjwml8/Nzz0NXF0kvszmjXhSeOeH8U1yyr5LJMeSa7en6O+pg9jLPM1ffkZ57M8Oozz6PgwxoSx9ug79GVltvnyE5oG/c/v5c9ce+219tZbb013YNv4jtd8QHedXrvP60G1omuuOHmga972ldOKt2kgctnJRf31y590oGvi6HDP3Zbl/XHpmj6MsczX9OVn3IefH98/S8a5fy6O0RjzcWvttRe+7m0nTGPMwyR9QdL79xq+83T3Nt8Qkrb9P4e92unP7vReyBb33G1Z3h+XrunDGMt8TV9+xn34+fH9s2Sc++fDGBPe7uCy1n5W0r/Iexx7denJxR1nZe/4t99+oGvuNNO79OTiga6Ho8U9d1uW98ela/owxjJf05efcR9+fnz/LBnn/vkwxoS3K+C+edl1V2uxfn6zz8V6VS+77mqnromjwz13my/356iv6cMYy3xNX37GX3bd1VqonR8h+CwPxqdxBtWjvedHzZfPUpKqr3zlK/MeQ6be8IY3vPJFL3pR5u/7kAcc1+XLi/r0XWfUXx/pspOL+vl/9bBDbQpI45o4Otxzt/lyf476mj6MsczXTK73ya+eVn840snFun7x+oc79zP+kAcc10K9qr/6fFeSnP4s//7O0zo3HKnVqOn/vuERTn6Wl55c0Ps+c48k6RuOL+iVT/+XTo7zS9FAd/zzOUlHc8+PWnLP/+KOezSxbozxVa961T+/8pWvfMOFr3u9CfMg8tqECQDAXg1HY139ivfqP3zvg/XjT7oq7+Fs6xNfWdEz/vtH9NvP/xZ990Pul/dwdvW4X3q/vv2bOnrdjafyHsq2Vgaxrnn1n0uS/uQnHq+HX3Yi5xFt79f+/B/1+vd/Xo/5xmW968cel/dwdnTqVX+m6x91qV71/Q/PeyjF24QJAEBRNWpVHVuoHXkX3aOUNLDyoQlc2GrMOwi7aOvYug535k2ayrncPTgeTXRmbcP57uAEcAAAHNRpNRQNXA7gSRdmt4OONJ0kuNzxdutEy+VxJmNzeYwrq35MDAngAAA4KGwG6jm9ajsLOk23g44khc2Geg5PZraOzYdxnhuONBy52f8weYIQNt2eGBLAAQBwULvp9qpt1I/VDKpauODUCReFrUDd/lCu7nvbWtLRdXjStXVsrk4Ukp+ZDivgAABgv8JWw+0a8MHQi/ITabpKPxxNNIhdXbWNZYx0v2MN5yddDzixMP+1i5KJQdvxJzMEcAAAHNRpTUtQJhNXV21j5+tsE8lEwdXNg9FgqOWlQPc/vuDsGJPNjQ++/zFJ7m4W7XqyN4EADgCAg8JmoImVTq9t5D2UbXX7Q+frbBPJRMHVJwpRP1a7GUzLjhwt7Ug2Nz74/i1J7q6AR4NY9arR8QW3m70TwAEAcFB7toLn6kbM3iD2YgOmJHWayWfpbmgMm4HTp7Uk47pqtgLu7Gc5mxgaY/Ieyq4I4AAAOKjTdHfVdjKx0wDuSQlKezZOV8s7ov5QnVZjdvSkm5tFk7PKrwybCqoVZzeL+lIaRQAHAMBBm3XL7gXws+sbGk2s83W2iWSl3tXyjmg2mQmbgdY3Jlp1cLPo1tNFnF6pH8TOb8CUCOAAADgpWcVzsYNj15Oj3hIL9apajZqTGwc3xhOdXt1Q2Gw4PenaurlxGsDd+yyl6c9Lx4OJIQEcAAAHLS8FMsbNEpTIk2YnW7m6aruSHJs3WwGX3DwLfOvmxnbT3S6tUd+PvQkEcAAAHFStGC0vudkN05ezlreadhZ1LzQmQbYz24QpST0HJwq92Uktxhh1HG0StRqPtBqPvSiNIoADAOCo0NGg0x34VYIiSe1mw8kSlOT+Tks7ZiUoDk66osHmsZNhK3Bys+j8s/RgYkgABwDAUa6WTSQlKMseBJ1Ep+XmGdtJ2A63lqA4eM+7W04XCVsNJzeLJk84OAUFAAAcWNhquFkP3I91cqmuetWfGBG2piUornUWnW9obTbmm0WdnHRt2dw4P1XGsXFuTmYoQQEAAAfkaq3ttBzB/VXGrcJmQ+OJ1RnHOotG/aFqFaPji9POjdNumG5OupKa/3lnUcfG2aUEBQAAHFa72dCZtQ1tjCd5D+U805Mm3F9l3GrzWEe3JjS9webmRmlzpd4la/F4trlxFsCTzqKOTQ436+kJ4AAA4ICSILHiWCCLPOqCmUhCo2vnV09rqzcnM2Gz4VwNeLIi39myCXPr666I+kMt1qtaCmp5D+WiCOAAADgqOWXEuUDWH/oXwB1dAZ/WVm9+lh0Hm9xcuLKcTGZc+77seTQxJIADAOAoF4+lG40nWpl1bvTJPIA7GG631iy7uFn0ws2Ni0FVzaDq3P6E7iD2YgOmRAAHAMBZLp420Vv17wxwSWovufs0ob1lMtNuNjSaWJ1dd2ez6HabG9st95pERf2hOh5swJQI4AAAOGtet+xQ2cRmF0w/VhoTtWpFy0t1pzY4rm+MNdiyuVHanNi4eM+3jjN0sB191KcEBQAAHNLxxZpqFeNU2YRPJ01cyLUj/qJtOopubhZ1J9xut7mx0wqceppgrVU0GHozMSSAAwDgKGOMc90wk3buvpWgSLPGRg59lsnEams9vYu16tutLIfNhlNjPDccaWNsvfm+JIADAOCw6aN+d4LOfAXck5XGrVw7YWS7pwmbTW7cmShst7kx2SxqrRubRX17MkMABwDAYaFjj/qjwVDVitGJxXreQ9k31+qWu9usgC8vubgCft/Op+1mMN0sujbKaVTn2+5pgssI4AAAOCxsutUZsTeItbwUqFIxeQ9l38JWoNOrGxo50ll0u82N9WpFJx3bLNobxPcJ4J3Zirgr7ei7rIADAICjErbcqrXt9mNv6mwvlITI5CjFvEWDWAv1ipaC6nmvh0136v6ttbMa8PuWoEjubBadn1XOCjgAADissBVoEI+1Fo/zHookP7tgJuaNjRwJjd3+UGGzIWPOf5ow3SzqxqTr3HCkeDy5z6Rr87QWN8bZ6yfHY/rxvUkABwDAYZ2mW90wo0HszSrjhVxrbBTt8DSh0wqcqVXfaXNjx7HNotEg1vGFmoKaH9HWj1ECAFBSzj3q96jZyYXmK+DOTGaG267YtpvunNaSjOPC87WXk3IeR74vu/3hvC7dBwRwAAAclgQ0FzblrW+M1R+O7rMhzxcdxyYzvW1qq6VpecfpNTc2iyYr8Rfe83q1ohOLdXcmM55NDAngAAA4bH7ahAMropundviz0rjV8YW6qhXjRGi01s7O196+BMVaaWV1I4eRnS+ZrGy3uuxSk6idnia4igAOAIDD5iUoDqyAbzbh8SfobFWpmFl5R/6fZX84UjyazGv8t3KpVGazBGWbiULTnc2ivW2aBbmMAA4AgMOWgpoW61UnaoKTM599CjoXCptuNDbarXOjS5tFd9vcGDqyWXQ8seoNYnU8mhgSwAEAcJwrj/o3yxH8CToX6rQabqwsD3ZeWZ63o3dh0tUf7jjhajvSJOr0aqyJ9WtiSAAHAMBxYdONlcbeLqHRF2HLjdC4a231rCzFhXFu1wUzEbYaWlmNc98sGm3TUdR1BHAAABwXurJq248V1CpqNWp5D+XAXKkB3y00nlicbRZ1YZy7nC7iymbR7i516q4igAMA4DhXWpN3+9M62ws7N/qk02qoPxxpfSPfzqK7bW6cbxZ1YdI12LkEJXSkSVTypIBzwAEAwJEJWw1F/VjW2lzHsVsY88V8g2PO5R3dfqxjjZoateq2/96FzaLJ5sadSlDajmwW9fF0Hm8CuDHmJcaY240xnzHGvHTL6z9hjPnc7PXX5jlGAADS0GkFiscTnRuOch2Hb81OtjM/4i/nDY7RDmeAJ6Ybb/Md43xz4w7BtuPIEZlRf6iKkU4u+fO96UURlzHm4ZJeKOmxkmJJ7zXG/KmkyyV9v6RHWmuHxpj75ThMAABS0d7S9vv4Qj23cfQGsa66fyu39z8Krpyr3rvI04Sw2dDfr5zOcET3dbHGS65MZrqDWO1moGrFn9IoX1bAHyrpo9baVWvtSNKHJN0g6cckvcZaO5Qka+3XcxwjAACpcKExi7VW3f7Qqzrb7bhyxnbU37m0Q3Lj6MnuLmeVS9LJxboqxoXP0q8umJI/Afx2SU80xoTGmCVJT5X0QEkPlvQEY8zfGmM+ZIz5lu3+sDHmRcaYW40xt957770ZDhsAgMNLglqeNcGDeKzhaOJVne12nFm17e/eubHTauhczptFkwnfTpOu6WbR/E/omdap+zUx9CKAW2vvkPTLkv5c0nslfUrSSNMSmmVJ3ybpZZL+wGyzNdta+wZr7bXW2msvueSS7AYOAMAR6MxDY34BPAmsvm/CbAZVNWqVXEtQJhM7LUHZZTIzLzvKcZzJ99tuq8subBb1cW+CFwFckqy1b7LWPtpai9FNCQAAIABJREFU+0RJPUmfl3SnpHfbqb+TNJHUyXOcAAActc3TJvJbabxYOYIvjDHqtBq5dpk8vbYx69y4e7CV8p90GSMt77K50YXGRj6WRnkTwJMNlsaYKyQ9Q9LNkm6R9KTZ6w+WFEjq5jVGAADSENQqOrZQy3XVdr4hz/MSFCn/0Jh0FN11E6YDdf/RIFZ7affNjdMjMvMbYzya6Oz6yLvvSy9OQZl5lzEmlLQh6cXW2hVjzJslvdkYc7ump6M8z+Z9SCoAACnotBq5BvCilKBI+XfDTJ4mdHYJjfMj/nJdAb94aUfeTaKSiVTbsycz3gRwa+0TtnktlvRDOQwHAIBMTYNOvquhyTh8FzYb+sevncvt/eeNY5xfAR9edHNjpxXo3HCk4Wi8Y1OhNCWfD5swAQDAkcv7WLpuf6hWo6aFevYh66h1WoG6g/w6iyahcbfNjc2gqqBWyX0F/GIry+1Z8M2rpCf5fDqerYATwAEA8EDYyve4Nx9PmthJ2AoUjybq59RZtNuPZ5sbd26qZIxRJ+cTRrr94a5lMtKWxkY5jTPaQz29iwjgAAB4IGxONw5OJvms2vZm3QaLIMx51bY3GGp5KVCtunsMC1uN+YbNrM03N14k2CYrz3mdKrOXoxJdRAAHAMADYTPQxE6PsMtDt3/xemBftFv5Nja6WBfMRNgKctt4u7K6t2Mnk++JvFbAu/1Y9arR8QVvtjVKIoADAOCFvDs4RoPYuzrbnXSaOX+WeyznCZuNHIPt3jY3zktQclqp7802im7Th9FpBHAAADwQ5rhqO+3cWKwacEm5rS5393C6iDQdZ7c/zGWzaLTHxkutRk1BNb/Oor7uTSCAAwDggfmj/hxWGs+sbWg8sfMTL3yXd2fRva+ABxqOJhrE4wxGdb7N4/12H6cxJtcTerqD2LsNmBIBHAAALySBLY+Ng8nqZlFKUBbqVR1r5NNZdGM80Zm1jT2ugM82i+YQbvdyVnliGsDzmswMvTybngAOAIAHlpcCGZNPCUq0x3pgn7RzWrVdGeyttGPr13RzeOoRDfa+uTFs5telda8bWl1DAAcAwAPVilF7KZ+VxmgfodEXYTPIpZynu4/GMZ0cTxiJ+nvf3JhXCcpqPNLaxpgSFAAAkJ68gs58BbxIAbyVzwkjm10wLx4a2638atWj/t7PfU8mM1lvFt3rRlEXEcABAPBEO6dV22QFfHnJv6Czk04rny6Tvf2UoDTzO60l2sepN2GrofWNiVYz3izq894EAjgAAJ6YtqPPZ0PeyaW66hfp3OiTsNnQymr2nUXnJSh7WAFfqFfVatRyW6nv7LG0Yz5RyHicyZMBH0/nKc5PEgAABddp5lSCMvDzpIndtJuBxhOrMxl3Fo36Q9UqRscX99a5cdoNM58SlL3e8ySoZ71ZdF6C4uH3JgEcAABPhK2GzqxtKB5NMn3fbt/Ps5Z3k1cHx+QM8L12bgxzmHStxiOtxnvf3Dj/LLNeAfd4czABHAAATyRBY2U1+0f9PtbZ7ma+apt5aBzuq2Si3WzM28JnZb8ry8lmzV7mk5mhloKqloK9PU1wCQEcAABP5FVr2xvs/UQMX+TV2CgaxPuazHRaQeZj3M9GUWnzfPjsJzN+tqGXCOAAAHgjKQnIsmxiNJ5oZXVvnRt9Es7P2M6hBGUfk5lwFsCz3Cw6b0O/xxKUxaCqZlDNfGLY7e/vaYJLCOAAAHgijxXw3qq/R73tZnmpLimHVdv+cF/19GGzodHE6ux6dptFuwfY3Dg9oSf7yUzH0yczBHAAADwRzuuWsws6m81O/Fxp3EmtWtHyUj3T0LgWjzWIx/sqm5i3o89wonCQBjd5NInqUYICAADSdnyhpnrVZHoWuM9HvV1M1t0w56Ud+1lZzqFUJuoPtVjf3+bGaTfM7D5La+30eExPJ4YEcAAAPGGMUbsZqJdHaPR0pXE3WYfG+ebGfdQt57FZ9CAry2Gzkekk4ez6SBtj6+3EkAAOAIBHwma2tbabK+B+rjTuptPKNjQetLRDkroZBvDuYP/nvme9WTS5b75ODAngAAB4JGwF2dYDD4aqVoxOLNYze8+stDNeAU9q9/fa4l2S2kvJxttsS1D2u7kxbGW7WTQ6wNMElxDAAQDwSCfj0yai/vQM8Eplb50bfRK2Ap1e3dDGOJvOogfp3DjfLJrxJsz9rix3Mt4sepCnCS4hgAMA4JGsW5N393lutU+SMouVjFbBo/5QC/XKvjs3Tlfqs5l0JZsb93u+9mY3zIw+y8H+nya4hAAOAIBH2q1Aq/FYa/E4k/frDYberjJeTFJmkVUZSjSID1QykeVpLeeG082N+z33PevTWpLPY3nJz+9NAjgAAB7pNLPthnnQ0OiDeWfRDMsmDtLQqNPKrlb9oKUdnYw3i0b9oY4v1BTU/Iyyfo4aAICSSoJRlqGxqCvg7fkKeFaTmYOdW53lEX/z00X2Oelabma7WbQ7iL0tP5EI4AAAeGW+aptBaFzfGKs/HHkddHaTx8bBg9TTh61AK6sbGmWwWbR7wBXwerWik0v1zGrAe55PDAngAAB4JAlwWYTGzaPe/A06uzm+UFetYjJZtbXWTk+UOUBoTD7/3moW9/xgK+DSbLNoVpOZwdDr0igCOAAAHsmyM2LScbNd0ABeqcw6i2bwWfaHI8XjybyGfz+Spx6u3/NOszE/6zxtvpdGEcABAPDIUlDTYr2ayaptd96G3t+VxosJW41sniYc4tzqsJld3X80iA+8uTHMaLPoeGLVW/X7eEwCOAAAnglb2TzqT97jICd3+CLM6Izt6BCTmeTPZLG63O0PD1zzP/2+TH+MK6uxrPV7YkgABwDAM2Grkclxb/MTMTwOOheT1WRmvrnxIKUdGZ58c5jSjrDZ0Om19DeL9g7QUdQ1BHAAADzTaWaz0hgNYjVqFTWDaurvlZesjvg7TAnK8YW6qhWT2Ur9QWv+w1Yga6WV1Y0jHtX5ugc8KtElBHAAADyT1cbB5Ng8Y0zq75WXsBVoEI+1vpFuZ9HeLDwfJNxmuVm0N4gP/MQjzKhJVBFKowjgAAB4JmlNbq1N9X0O2jjGJ/PyjpTDbbcf69hCTY3awZ4mhM0g9c2i44lVbxCrc4gVcCn9UpnkiYXPp/MQwAEA8EynFSgeT3RuOEr1fXw/6m0v2smqbcplKNEhOzd2WumXypxejTU5xObGzcZG6X+WFSOdXPL3e5MADgCAZ7JcafS5znYvsv0sDx4YszjiLzrk5sbkeyXtUploEKvdDFSt+FsaRQAHAMAzYQarttZadQex13W2e5E0xkl91bYfH6pkIosuk91DlnacWJxtFmVieFEEcAAAPJMEpDRXRAfxWPFo4nWd7V5k1Vk0OsTmRmlagtIfjlLdLJp8BgctlalUjJaX0j9X/bCTGRcQwAEA8EwSkNJcaSzDGeCStBRUtVCvpDqZmUyseoPhoZ4mJOUraU4UokOcVZ7otNLfLDqdzBDAAQBAhuYr4CmWTXQPcW61T4wxCpuNVEtQTq9tTDc3HqoGPJtJ12E3N2bRDfMw3TpdQQAHAMAzQa2i4wu1VFdtkxDV8bzWdi/S7oZ5FE8TkolQN8Xyju4RbG4Mm41UV+nj0UTn1keHmsy4gAAOAICHOq10V20PeyKGT8JmunXLh2lDnwib6Z/WEvUP3gUzkfZm0c029H5PDAngAAB4KO3OiMm1fd/sthdhq6Ge46Ex+bO9FCcKvUF86NNFOq1A51LcLHrYk1pcQQAHAMBDaZdNdPtDtRo1LdQP1rnRJ2ErUHeQXmfRZHX9ME8TmkFVjVol5RXww29u3JwopDPOaH5SCwEcAABkLGw1Ui2bKEMXzETYDBSPJuqn1Fm0249ljLR8iM2NxphZ2VG6k67Dbm5Mu1SmKKfzEMABAPBQZ1aCMp6kt2rr+0a3vdpsbJReaGwvHb5z47QbZjqTrng00dkj2Nw4P60lpXH2CrI3gQAOAICHwlZDEyudXk0rNB6ucYxP5u3oUwqNR9U4Js0NjvOa/8OWoKS8At7txwqqFR1r1FK5flYI4AAAeKidcmOWaBCXZgU87cZGvSNqHJPmEX/zOvVDbsJMfzIzPanFmMM9TcgbARwAAA/Nz4VOITROOzeWqAZ8HhpTWrUdDI/kacK0y+Qwlc2iyeTjsJsbW42aghQ3ixahC6ZEAAcAwEudFGttz6xtaDyxh14N9UXanUWjfqzOETxNCFuBhqOJBvHRH/G3eVLL4e65MUadZnrt6KP+0Uxm8kYABwDAQ2nW2h7FsXk+adSqOtaopRIa49FEZ9Y2jiQ0bm4WPfqJQvJ9dCSlMq1GaueVR4OjmczkjQAOAICHTi4FMiadMLbZudH/lca9mp4wcvQBfGX16BoatVMsO+r2Y9Wr5kg2N7ab6XyWUnGOxySAAwDgoWrFqL2UTtApylFv+5HWqu1R1VZLUqeZXpOb3mCosNk4ks2NaTWJWo1HWtv4/9u79yDJ7uo+4N/Tj9sz3b2jnbktxQiERQhWkVIZIa8pHCzZQQ4PhVIsYrucIimniCGmwJFIgWOiFIWLchVYEFKVP3BhROJgTLABC0MqSPKDR1UiyCJpxcpCCAohtEir7e5ZzXb3TN9+nPxx7+2Zne3u6b73d5/9/VRN7Tx/+5vuuTPn97vn/M4IWzlYGDIAJyIiyqioAp39ZicrFIBHdMSfqdxqd4zoctVN7iy7DYPMF4uaTJNJGgNwIiKijLJr0XTD9FMctkJ0bswaux5N4eAkaDR0DjgQzWktza65c9/tWjTFok1v4ZH1NvQAA3AiIqLMimwHvNvHZrWMUnF1wgT3jO0+xoY7i/pBo4l8+rVyEfVKaTKmSa2Ouc6nkzPqDf9sTlKjmIJCRERESbFrVkTBmJnOjVli1y23s+juwOi4ra6DUkGwsW6mc2N0aUfmGi/5R2Q2Dd+dYQoKERERJc6uV7CzN4QzHBsdt2UwHSEr/O/XdCFm28utNtW50a5Zxosw/eJGYyko9WiOyGwa6taZBgzAiYiIMsoPdPyj7kxpdfq5yLNdhn+2tOk88JZ3uogptlfgaJLpnWU/kDddLNrqOKhaRaxbRaPjJoEBOBERUUb5gZ3xgKzr5GKXcRlbUe3aGj63uhHBeeX+eKYWXXZExaJuF8x8LAwzE4CLyG0iclpEHhGR2733vU9EzojIQ97LzUnPk4iIKC6NCILGwWiM871BbgKdRU26TJrOW+6aK24E3ALHdtcxWizq71SbOl97rVxEzSoaX8zkaWFopiIgYiJyLYC3AHgFAAfAl0Xkf3kf/oiqfiixyRERESVk/1g6c0HjdtfcsXlZslktQySCFJSO2Xx6u1bBaKx4bneATUPPkcmjEn123fwRma2OgyuPrxkdMylZ2QF/KYD7VbWnqkMAXwVwa8JzIiIiStR+rq25oLE16YKZj53GRZWKBWxWLaNFmLvOCD1nZPRuwqTA0WB6RyuCzqdRnNbS6vZzczpPVgLw0wBuFBFbRKoAbgZwlfexd4jIwyLyCRHZnPbFIvJWETkpIifPnTsX15yJiIgitbFWQrkoZoOxCHZDs8J0N0x/B7hhMG2iEUGBY6vTR9UqomqZS4ywa2aLRVXV+N2EJGUiAFfVRwF8EMB9AL4M4BSAIYCPAngxgOsAPA3gwzO+/mOqekJVT1x++eXxTJqIiChiIuJ2wzQZjBlsnZ41W6YD8AjOrY5qB9x0zn+jbva4xJ3dIYZjzc3CMBMBOACo6l2qer2q3gigDeBxVT2rqiNVHQP4I7g54kRERCvD9K1+Pwd61Y4hBNzdZZPNY/zFjMm0iUnev8FFV7PTN1aA6TNdLDq5m5CThWFmAnARucL794UA3gjg0yLyvAOfcivcVBUiIqKVsVWz0DSagtJHsSDYWCsbGzMrolvMmAsat6rmzytvdZzJOeim2PUKhmPFzp6ZzqJR5KknKROnoHg+JyI2gAGAt6vqtoh8UkSuA6AAngDwb5OcIBERUdwa9QqeaHWNjdfuum3oCwUznRuzxK5V8NzuAIPRGOVi+D3KdgRBo1ssWjaa3tHuOrj2+RvGxgP276A0Ow6OV8N///tHJTIAj5Wq3jDlff8qibkQERGlhenCwWbHyU2e7bImnUW7Dq7YCH/cXavTx3rZbHEjYPaIP1V1zyo3nNoxOVe908c/uKIeerwo7iYkKTMpKERERHQpu15Bzxmh5wyNjNfq9nMT5CzLNtyOvmW4C6bPrlnG5rizN8RgZL640f++Te3U+4vMTQO76WnAAJyIiCjDbMPdMKMKGrNgcq66od3lZjeauwlurrqZOfrjmH7OJ4sZQwF4u9vHZetlWKV8hK75+C6IiIhWlF0zeyxdq5OfZifLMr+YMZ/aAbjpHcae70nnU7Pz3DR8WkszgqMSk8QAnIiIKMP8AM9EB8e9wQhdZ7SyKSh+wxxTwW07wh3w870BhqNx6LGiOKscAMrFAo5Xy2YXMzlaGDIAJyIiyjCTecv7u6H5CXSWsbFeQqkgRnZto+zcOFl09Uw859Gdr23XLGPpPK2OY3yXPkkMwImIiDLMZNrEfj5wfgKdZYiIsW6YF/pDOKNxJA2NGjWTz3l0xY12vWJuB5wpKERERJQWVauEqlU0smsbVTpClpg64s9/LKPIp98yGoD3sbFWiqS40d0BDz/H0Vix3YvmbkJSGIATERFl3JahQKfp74CvaAoK4DaQMZLOE+HdBJOntTS7TmQ5/6ZOa9nuOVDN188lA3AiIqKMc3dtwweN+50b87PTuCy7Zhk5uzrKfPqGwbSjdoTHTtq1CrYNFIvm8c4MA3AiIqKMa9TM7DS2ug4qpQJqVtHArLLJzVs2l4ISxe7yxlrZLRY1kSrT7UdW3OgvFMIWi07uJrAIk4iIiNLCvdVvJgWlUa9ARAzMKpu2aha6zgi7zijUOH7QGEUOeKFgrlg0ysZL+0dkhpun38wnioLWpDAAJyIiyji/cFBVQ42zyl0wfZP0jpC7y62ug2MRFTcCbmAfNld9NFa0e9GcVQ6YKxZt5/B0HgbgREREGWfXLAxGip29YahxWt3V7YLp89McwgaN/t2EqDQMnNYyKW6MaJ7+YqYZMqWn1XVQEOD4etnEtFKBATgREVHG+bvWYW/1t3PW7CQIY49lRF0wfXY9fLHoftFtdEWYgInFjIOtmoVCIT+pUQzAiYiIMm4/0Am+06iq3pF0q70D7u9ah961jTidx66Fb3LTjLi48bL1MooGikXdNvT5WhgyACciIso4ux6+HX2nP4QzHK98Dvgkbznk7nKr2480Z9muW+j0h9gbBC8W3T+pJZrn3C8WDbtTn7cumAADcCIiosxrGGjMMjlrOWc7jcuqWkWslQuh7iaMxhp9CoqBhUKUJ7X4bAPFou1uvrpgAgzAiYiIMm+zGv60CT9438rZTuOyRCR0esf5noNxxJ0bJ90wQywUJsWN1Whz1cOeq97s9HPVBRNgAE5ERJR5VqmAjbVSqFv9k3SEFd8BB9yUjDA7y3F0FLXrBnbAu25xYzHC4ka7Fq5La384woW9IQNwIiIiSp9GvRKqcLAV8YkYWWKHPOKvGUPr9IaBE0biKG606xbaIeYYx2ImCQzAiYiIciBsN8w48oGzImyXST94j/Ic8MkOeJhFVwyNlxr1Ci6EKBZtxbCYSQIDcCIiohxwb/WH27U9VilhrVw0OKts8hczQTuL+kFjlIuZqlVEpVQwkoISJX/8oOlRrRy2oQcYgBMREeXCVsjGLO2us/IFmL5GrQJnNEanH6yzaKvrQGS/ODYKIuJ2wwx51yPKXXrgwGktAee5f2eGKShERESUMg3vvOXROOCubTd/J00EtZ/eETxo3KpGW9wIeDv1Ae96OMMxdmIobvRzt5sB58kUFCIiIkotu17BWN0j8IJw84HztcsYlB3yXPU4cqsBd3c56CIhruJGP3UkaCFms9uHVSzgWKVkclqJYwBORESUA2GPpWt22Ibe5+8KB20g495NiH4xY9crgYswJ23oI37OTS1mRKK9mxA3BuBEREQ54Ad8QY4iHI8V2z1n5btg+sKnoMSTT2/XLDS7wYpFJ8dORpyCUrOKsEqFUDv1eUs/ARiAExER5YIfpAQpxHxud4DRWHkEoWf/5I6Au7ZdB40YHku7bsEZjtF1lj/iz//eok5BERE0QrSjb3X6uSvABBiAExER5UKY0yZa3XjSEbKiUiri2FopUNDoDMd4bncQSz69XQvejj7O4sYwjY2anXgWM3FjAE5ERJQDx6sWChIsGPMDzaiPpMuSRj1YC/XtXpyBbfBc9WbHia240Q54RKaquvn0OVwYMgAnIiLKgWJBsOXlBC8rr0e9heF2wwyymPHuJsSQNuEvmILtgPdjK260a8HOK+85I+wNxrk8nYcBOBERUU4EDRr99ADmgO8LesRfnIsZ//kKslMfRxdMn1230Oz0ly4WbcdUKJoEBuBEREQ5YdcqgW71T1qnR9i5MWvsgCkocQaNYdq8t7rxnftu1yz0AxSLxnVUYhIYgBMREeWEXQ+4a9vtY7NaRqnIsMDXqFtod/sYL9lZdD9ojD64XSsXcaxSCnT0ZKvTj6240Q6YKjO5m8BTUIiIiCitGvVKwGCMXTAPs2uW21l0d7DU17W6DspFwcZaPJ0bAy+6YurWCQRvEpXn03kYgBMREeWEXbOwszeEMxwv9XWtjpPLPNswtgLv2rpdMOPq3BjkiL+eM8TuYBTboqsxOS5xuQC8yR1wIiIiSrutgM14mjk96i2MRsB29K1OfMWNgF94u/wc/a+Nw9aks+hyC4V210HNKmLdKkYxrUQxACciIsqJSWOWJXdE2122oT/M3x1edjHTirl1eqNuBUjt8M99jykFJeBpLa1OfxK85w0DcCIiopxo1JfvhjkYjXG+N+AO+CH7ectLpqB0+7E2NPJPvlmmWLQV41nlgFssWg9QLNrK8cKQATgREVFOTE6bWCJo3PaPzWMR5kU2qxZEgqWgxJlPb9ctjMaK55YoFk2i8VKQbpjNjhPbLn3cGIATERHlhB1gB3zShp5FmBcpFgSb1eUaG/WcIXpOfMWNQLBFV7Mb7w64+38FyVXvcweciIiI0u1YpYRyUZbatWUXzNmWDRr3z62OcWc5QLFoq+OgGnNx41ZtuSMyVdWtTeAOOBEREaWZiHg5wYsHOm2moMy0bNrE/mMZb2rHwf97EUkEtssWi+7sDjEca24XhgzAiYiIcmTZxiyTFJSc7jSGYdcrk3SNRew3jom3CBNY7oi/ZgKpHf5iZtFiUf9xj7OgNU4MwImIiHLEDRqXSUfoo1QQbKyVI5xVNjWWTEFpJpCCslktL10s2kqguNGuVTAaK3b2FisWTaJQNE4MwImIiHLEDRqX2LX1GscUCvF0bsySrVoFz+0OFu4smkTQWCoW3GLRJXfqk9gBBxZfKMR9VGLcGIATERHlyLKdEVvdfm7zbMPyg8bt3uJB43q5iKpVinJal1jmOfeLG+NucLNsqkwrgXz6ODEAJyIiyhG7XsHuYISeM1zo81tdJ7d5tmEt29goqVM77NriBY47e0MMRhprmgxwsLHRoosZ9/M2qwzAiYiIKOWWPQu81cnvUW9hLXvGdrPrJHKaTKNeWXxnuZNMcePSAXi3j8vWy7BK+QxV8/ldERERrajG0juN+W12Epa/S7z4YqafSEMje4kj/pJK7diq+o/loguFfC8MGYATERHlyDK5trvOCF1nlOtAJwz/sVy0gUxSQaNdq+B8b4DB6Ohi0aSKG91i0fLCi5lmp49GjheGDMCJiIhyZGuJXdvJudUswpxqY72EUkEW2l1WVa+gNf6g0S+o3F5gns0Ej/fbqi1+Wku76+S6OJgBOBERUY4sk2vLLpjziYjbQGaBxcyFvlvcmERDIz/tZZnnPIniRrteWfwYwhy3oQcYgBMREeVK1SqhahUXSkHJe7MTE+xaZaFd2yQfy0mx6CJ3PTrJFTc2vG6YRxmOxtjuJVPQGhcG4ERERDmzaFGen9uc51zbsOy6tdCubZKNY/bvehy9UGgmuLNs1xY7rWW7N4AqErmbEBcG4ERERDlj1yoLFQ7mvdmJCfaCect+kJ5E3rKfw7/oQiGpnP+tmoXt3gDDI4pF92sT8rswZABORESUM/aCnRFbnT4qpQKqVjGGWWWTXa8sVdCaRFOjjbWyWyy6YNpRUoGtv6PdPqKzaDvBxUxcGIATERHljL1grq3fBVNEYphVNtl1Cz1nhF1nNPfzkgwaCwXBVm2x5zypbp3A4rnqTe/7YAoKERERZYZddwsHVXXu5+W92YkJfn78UWkora6DjbVSYp0bFzlhZDRWtBMsbvRTX45aKEzy6VmESURERFlh1ywMRoqdveHcz2t1k8sHzopJgeNRu7adfiLpJ75G/ehc9e2ek2hxox9QH1Wf0Oo4KAhwfL0cx7QSwQCciIgoZxr1xbphujvg+d1lNGHS2OioHfBOso1jthbI+28lnFttL9gkym9oVCjkNzWKATgREVHObC3QmEVVvYI87oDP05js2h4dNCaZzrPIEX9JHpUIAJetl1EsyEKLmbz/XDIAJyIiyplF0iY6/SGc0Zg54EfwH5+j8pbd4sbk7ibYdQtdZ4S9wexi0VbCxY1+sejRO+D5r01gAE5ERJQzkxSUOTuNk86NOT5r2YSqVcJ6eX5n0dFY0e46k5bwSWjUj77rkYbiRvdc9aOLMPOeGpWZAFxEbhOR0yLyiIjcfuhj7xIRFZFGUvMjIiJKi83q0Tvgk2YnOd9pNMGuz9+1Pd9zMNakA9uj8/5b3eSLGxv1RVJlmIKSCiJyLYC3AHgFgJcBeIOIvMT72FUA/gmAJ5ObIRERUXpYpQIuWy/PDXT8nOYkT+7ICrtmTc6mnsbf0U20CHOBtKOmVyiaZHHj1hE74P3hCBf6w1yfAQ5kJAA81ftXAAAYdklEQVQH8FIA96tqT1WHAL4K4FbvYx8B8DsA5h92SkREtEKODBpXoNugKfYRu7bNTvJ3E/zzyucd8ee2oU92wXXU3YT2ZDGT74VhVgLw0wBuFBFbRKoAbgZwlYjcAuCMqp6a98Ui8lYROSkiJ8+dOxfHfImIiBJl161Jd8Zp2l4KCgPwo9lHdJlsd5O/m7BIsWiSXTB9jXoFnf5wZrHopDaBO+DJU9VHAXwQwH0AvgzgFIAhgDsAvHeBr/+Yqp5Q1ROXX355pHMlIiJKA7tWmVuE2ew4OFYpYa1cjHFW2eTugDszO4vuF7QmFzRWrSLWyoX5RZgJn9QCHN0N09/BZwpKSqjqXap6vareCKAN4AkALwJwSkSeAPACAA+IyE8kN0siIqJ0OOpW/yoc9WZKo27BGY1xoT+9s2ir03eLG6vJPZ4iArtWmZuC0uwk3/nUnjSJmv6zuSqn82QmABeRK7x/XwjgjQD+h6peoapXq+rVAJ4CcL2qPpPgNImIiFLBrlfQ7jkYjWft2ub/qDdTto7o4NjsOtisWigm3Llx3qKrPxzhwt4w8QDcfyybM+7OrMrpPJkJwAF8TkT+DsAXAbxdVbeTnhAREVFa2TULqsB2b/ZOI/O/F7O/azsjaOwk2wXT556xPX2OfspH0ouuxhGntbS6DqxiAfVKKc5pxS4z352q3nDEx6+OaSpERESpd7Aob1pxYKvr4PqfPB73tDLJ3zWelV/d7jqpSJmw6xU89syFqR9LS3Hj0YsZNzVKJNm7CVHL0g44ERERLciecyzdeKxod5M/ki4rGgvkLScd2AJucN3sTi8WTboNva9mFVEpFWYWYablbkLUGIATERHl0Lxb/ed3B17nxvwHOibs54BP37VtdvqpaGjUqFXgDMfoTCkWnbShT3jRJSJo1CuTRlCHtVJyNyFqDMCJiIhyaF7Q6L+POeCLsUoFHFsrTU1BcYZj7OwNU/FYzisWnTReSsGia2tOrnpa7iZEjQE4ERFRDh2vWijI9LxltqFfnrtre2nQuF/cmHzQ6M9hWnDb7PZhFQs4loLixlmntagqWt3kj0qMAwNwIiKiHCoWxNtpvDTQSVPQmBWzumFOjs1LQdrEvFz1doqKG+1aZepj2XNG2BuMEz+pJQ4MwImIiHLKrlWmp6CkKGjMilm7tq1OOoobgYM74NMWCulJ7WjULTQ7/UuKRdPQUTQuDMCJiIhyalbQ2Ow4EAE2q+UEZpVNdr0yNbVjv3FM8ouZo/L+07LgsusW+sMxus7oovf7zXlWITWKATgREVFOzUpBaXX6OL5eRqnIMGBRfgrK4c6ik+LGFOzaVkpFHKuUpp4w0uw4qdlZ3qpNPws8LWeVx4FXHhERUU7NKhx0T5rI/y6jSXbNwliB84c6izY7DspFwcZa8sWNgHfXY0aueloCW38ehxcK7e7qnM7DAJyIiCin7JqFC3tDOMPxRe93OzfmP8gxyV+wHC4e9BsapaG4EXDn2T6UKtNzhqkqbmzUpj+WzUkOeDrmGSUG4ERERDk1K2hsdtPROCZLZu3apu3cart2ad5/2oobJ8WiU1JQalYR61YxiWnFigE4ERFRTu0HjZcGOmkKGrNgcsTfod3lZjdd6Tz2lC6T/vOflkXXpFj00MLQTZNJxxyjxgCciIgop+wpgY4zHOO53cFK5NmaNKvLpHu6SHoeS7dYtI/xgWLRNBWKAsBauYh6pTR1YZiWOUaNATgREVFO2fVLT5vY7jkXfYwWs1m1IDI9bSJVAXjdKxbdHUzet39UYrrmeclipuuk4jz1ODAAJyIiyik/4DqYAz5pHJOioDELigXBVvXiE0Z6zhC7g1GqFjP7ef/7CwV/zmkqbpzWWTRNZ5VHjQE4ERFRTh2rlGAVCxflBKepcUzWHN61TeO51f7CqnlonmkrbrQPHZE5Hqt7Ok+KHssoMQAnIiLKKRHxgsYDu6EpDBqzwq5d3A3T31lOU9rEftrRwQA8fcWNjUPnle/sDTAca+rmGRUG4ERERDl2uBumv+uYprzlrNi6ZAfcbxyTnqBx/4SRixcKaStu3PJSUPxi0WbKjkqMGgNwIiKiHLPrlYt3wLsOSgXBxlo5wVllU6NmXZQ2kbbztQFgs1qGyMUpKM1O+oob7VoFo7HiOa9Y1M8HX5U7MwzAiYiIcqxxaAe87R31Viiko3Njltj1CnYOdBZtpTBoLBUL2KxaFxVh+t0602TSjMd7DFuTOzPpmmdUGIATERHl2CWFgyvU7MQ0P2j0j3JsdfqoWkVUrVKS07rEwW6YqprKxkuNQ0dkNlOYTx8lBuBEREQ5Ztcr2B2M0HOGANKZjpAV/u6sn4bSSumpHQcXXTu7w1QWN87aAd9MUTpPlBiAExER5djhDo6tbj91BXlZMQkavcey2emnqgDTZ9cqaHb9neV0Ft3u/1x6i5mOg8vWyygXVyM0XY3vkoiIaEX5u93NA4HOquTZmmYfOmGk1XFS2dDo4A54Wo+d3KpefF75Kp0BDjAAJyIiyjU/2G53Hew6I/Sc0UoFOiYdPmM7rUGjXavgud0BBqPxpBgzbYsut1i0PDn9pNnpo5GyOUaJATgREVGOHUyb8HdumQMezMZaCeWioNV13OLGlBa0TopFu85khzmNz7ld329slNZ8+qgwACciIsqxSeFgt3/g3Or0BY1ZICJuN8xOHzt7QwxGmrrcauBg2pEzec7TWNxo16zJAsHt1pm+OUaFATgREVGOrVtFVK3iRTvgWysU6Ji25R3xNzm3OoWPpV8Y2ur20er2U1vc6Oaq9zEcjbHdG6SyoDUq6Xs2iIiIyCi77rb99ndDVynX1jS77jY2mnRuTOFj6S8K2l0n1akddq2CVtfBds/thpnGNJmoMAAnIiLKObtWQbPTT2XnxqxpeHnLzZSeLgLsL7Ca3k59Whdcdt3C+d4AZ3f23LdTOs8oMAAnIiLKuUZ9P21irVxA1SomPaXM8rtM7he0pi9o3FgvoVQQtDr9VHbB9PkFrN97tuO9nc55RoEBOBERUc65t/r7kzPARSTpKWWWXa+g54zwo/YuAGCzmr6gUUQmZ4GnOQXFP0P9sbMX3LdTOs8oMAAnIiLKuS0vB/zcip00EQX/1JPvPXsBG2slWKV0hlJbtQqevbCH7Z6T2uJGvxvm414AntZ5RiGdPzVERERkjF2zMBgpftjqpfLYvCzxFzDfPdtJZfqJr1G38P1zXaimd2fZT0H57tkOCgIcXy8nPKP4MAAnIiLKOT9QfLLdS2XjmCyxL3os0xnYAu6i68l2z3s9nc+5vzB4st3DVq2CQmF1UqMYgBMREeXcwUAxzUFjFhy8g5DWwBbARQuttD7nG2tllLygO6279FFhAE5ERJRzBwPFtB5JlxVZWcwcnFtag9tCQSZ54Gl+LKPAAJyIiCjnDgY3W8wBD6VqlbBedo9xTHM+/cG5pbm40f95TPMco8AAnIiIKOcOHpW3ajuNUfAfwzTn0/t3PdJe3OjXJ6R5MRMFBuBEREQ5Z5UKuMwLwtJ8ckdW+IF3mhcz/tzSXtzozzOtaTJRYQBORESUc3c/eAbd/hAA8Jt/fBJ3P3gm4Rll190PnsFjT+8AAN73hUdS+1g+8MNtAECz08erPvA3qZzn3Q+ewV89ehYA8PGv/yCVc4xKKekJEBERUXTufvAM3vP5b2M4VgDAMzt7eM/nvw0A+OWXPz/JqWWO/1juDccAgGbXSeVjefeDZ3DnPY9N3j5zfjd18/Qfy93BCABwfneQujlGiTvgREREOXbnPY9Nghzf7mB0UYBGi8nKY3nnPY9NFgm+tM0zK49lVBiAExER5diPz+8u9X6aLSuPZRbmmYU5RokBOBERUY5deXx9qffTbFl5LLMwzyzMMUoMwImIiHLs3a+9ZnJutW+9XMS7X3tNQjPKrqw8llmYZxbmGCUWYRIREeWYX9B25z2P4cfnd3Hl8XW8+7XXrEShm2lZeSyzMM8szDFKoqpJzyFWJ06c0JMnTyY9DSIiIiLKORH5lqqeOPx+pqAQEREREcWIATgRERERUYwYgBMRERERxYgBOBERERFRjBiAExERERHFiAE4EREREVGMGIATEREREcWIATgRERERUYwYgBMRERERxYgBOBERERFRjBiAExERERHFiAE4EREREVGMGIATEREREcWIATgRERERUYwYgBMRERERxYgBOBERERFRjBiAExERERHFKDMBuIjcJiKnReQREbnde9/7ReRhEXlIRO4VkSuTnicRERER0TyZCMBF5FoAbwHwCgAvA/AGEXkJgDtV9adV9ToAXwLw3gSnSURERER0pEwE4ABeCuB+Ve2p6hDAVwHcqqo7Bz6nBkATmR0RERER0YKyEoCfBnCjiNgiUgVwM4CrAEBEfl9EfgTgTZixAy4ibxWRkyJy8ty5c7FNmoiIiIjosEwE4Kr6KIAPArgPwJcBnAIw9D52h6peBeBTAN4x4+s/pqonVPXE5ZdfHtOsiYiIiIgulYkAHABU9S5VvV5VbwTQBvD4oU/5UwD/PP6ZEREREREtTlSzkTYtIleo6rMi8kIA9wL4OQANVX3c+/hvA/gFVf2VI8Y5B+CHkU94vgaAJsdM7ZhZmGNWxszCHFd5zCzMcZXHzMIcszJmFua4ymNmYY5B/aSqXpJ+UUpiJgF9TkRsAAMAb1fVbRH5uIhcA2AMN6j+raMGmfYgxE1ETqrqCY6ZzjGzMMesjJmFOa7ymFmY4yqPmYU5ZmXMLMxxlcfMwhxNy0wArqo3THkfU06IiIiIKFMykwNORERERJQHDMCT8TGOmeoxszDHrIyZhTmu8phZmOMqj5mFOWZlzCzMcZXHzMIcjcpMESYRERERUR5wB5yIiIiIKEYMwImIiIiIYsQAPEYi8gkReVZEThsc8yoR+VsReVREHhGR2wyMuSYi3xSRU96Yv2dorkUReVBEvmRovCdE5Nsi8pCInDQ05nER+ayIfMd7TH8u5HjXePPzX3ZE5PaQY77Te15Oi8inRWQtzHjemLd54z0SdH7Tfr5FZEtE7hORx71/Nw2M+avePMcisvQRUzPGvNN7zh8Wkb8QkeMGxny/N95DInKviFwZZrwDH3uXiKiINAzM8X0icubAz+fNYcf03v/bIvKY9zz9gYF5fubAHJ8QkYcMjHmdiNzv//4QkVeEHO9lIvJ/vd9JXxSRjSXnOPV3eZhraM6Yga6hOeMFvn7mjBnm+pn7dzHINTRnnoGuoXlzDHr9zJlj4Otnzphhrp9ZYwa+hmRG3CIiLxKRb3jXz2dExFp0zMipKl9iegFwI4DrAZw2OObzAFzvvX4MwHcB/MOQYwqAuvd6GcA3ALzSwFz/PdyOpV8y9L0/AbcZk8nn6I8B/Kb3ugXguMGxiwCegXsof9Axng/gBwDWvbf/DMC/DjmvawGcBlCFezTpXwF4SYBxLvn5BvAHAH7Xe/13AXzQwJgvBXANgK8AOGFonq8BUPJe/6CheW4ceP3fAfjDMON5778KwD1w+x4s9bM/Y47vA/CuED8708b8x97PUMV7+4qwYx76+IcBvNfAPO8F8Hrv9ZsBfCXkeP8PbjM4AHgzgPcvOcepv8vDXENzxgx0Dc0ZL/D1M2fMMNfPzL+LQa+hOfMMdA3NGS/w9TPv+w56/cyZZ5jrZ9aYga8hzIhb4P6N/HXv/X8I4G3LPldRvXAHPEaq+jUAbcNjPq2qD3ivXwDwKNwgLcyYqqod782y9xKqWldEXgDgnwL4eJhxouSttm8EcBcAqKqjqucN/hc3Afi+qobtxFoCsC4iJbhB849DjvdSAPerak9VhwC+CuDWZQeZ8fP9z+AuauD9+8thx1TVR1X1sWXnd8SY93rfOwDcD+AFBsbcOfBmDUtcQ3N+V3wEwO8sM9YCYwY2Y8y3AfiAqva9z3nWwJgAABERAL8G4NMGxlQA/g7bZVjiOpox3jUAvua9fh+ApfpUzPldHvgamjVm0GtozniBr585Y4a5fub9XQx0DZn+WztnvMDXz1FzDHL9zBkzzPUza8zA19CcuOXVAD7rvX/pv0FRYgCeIyJyNYCXw135hR2r6N2mehbAfaoadsz/AveX3jjs3A5QAPeKyLdE5K0Gxvv7AM4B+G/ipsp8XERqBsb1/TqWDBwOU9UzAD4E4EkATwN4TlXvDTmv0wBuFBFbRKpwdzOuCjmm7++p6tOA+0sXwBWGxo3SmwH8bxMDicjvi8iPALwJwHtDjnULgDOqesrE3A54h3er/xPLpDfM8VMAbvBu+35VRH7WwJi+GwCcVdXHDYx1O4A7vefnQwDeE3K80wBu8V7/VYS4hg79LjdyDZn8+3DEeIGvn8Njmrh+Do5p6hqa8r2HuoYOjWfk+pnx/IS6fg6NaeT6OTRmqGvocNwC4PsAzh9YHD6FkBuUJjEAzwkRqQP4HIDbD+0cBKKqI1W9Du5OxitE5NoQc3sDgGdV9Vth53XIq1T1egCvB/B2Ebkx5HgluLeVP6qqLwfQhXvLNzQv7+wWAH8ecpxNuDtiLwJwJYCaiPzLMGOq6qNwbxvfB+DLAE4BGM79opwSkTvgfu+fMjGeqt6hqld5470jxLyqAO5AyCB+io8CeDGA6+Au6D5sYMwSgE24t3/fDeDPvJ03E/4FQi5iD3gbgHd6z8874d35CuHNcH8PfQvubXUnyCCmf5dHMeas8cJcP9PGDHv9HBzTm1foa2jKPENdQ1PGC339zHm+A18/U8YMff1MGTPUNXQ4boF7d/eST1t2nlFhAJ4DIlKG+0P8KVX9vMmxvRSMrwB4XYhhXgXgFhF5AsD/BPBqEfkTA3P7sffvswD+Au4FF8ZTAJ46sNv/WbgBuQmvB/CAqp4NOc4vAfiBqp5T1QGAzwP4R2Enp6p3qer1qnoj3FvrJnYYAeCsiDwPALx/l0pHiJOI/AaANwB4k6qa/iX9p1gyJeGQF8NddJ3yrqMXAHhARH4izKRU9az3R2sM4I8Q/hoC3Ovo894t4W/Cveu1VMHoNF7K1RsBfCbsWJ7fgHv9AO7CONT3rqrfUdXXqOrPwA1yvr/sGDN+l4e6hkz/fZg1XpjrZ4E5Ln39TBkz9DU0bZ5hrqEZ33eo62fO8xP4+pkxZqjrZ8ZjGfoa8sbx45ZXAjjufe+A+5yHTdk0hgF4xnkr47sAPKqq/9nQmJeLV8UuIutwg77vBB1PVd+jqi9Q1avhpmH8jaqG2rUVkZqIHPNfh1sEFOp0GVV9BsCPROQa7103Afi7MGMeYGrn7kkArxSRqvfc3wQ3fy4UEbnC+/eFcH9Jm9pl/Eu4v6jh/fsFQ+MaJSKvA/AfANyiqj1DY77kwJu3INw19G1VvUJVr/auo6fgFjE9E3KOzzvw5q0IeQ157oabdwkR+Sm4xcxNA+P+EoDvqOpTBsYC3D/Ev+C9/mqEXHQeuIYKAP4T3IKvZb5+1u/ywNeQ6b8Ps8YLc/3MGTPw9TNtzLDX0Jx5BrqG5jw3ga+fI57vQNfPnDEDXz9zHsvA19CMuOVRAH8L4Fe8T0vX3yBNQSXoqrzADWqeBjCAe/H/GwNj/jzcWyoPA3jIe7k55Jg/DeBBb8zTWPLEgSPG/kUYOAUFbr72Ke/lEQB3GJrfdQBOet/73QA2DYxZBdACcJmhOf4e3D9GpwF8El61fMgxvw53sXEKwE0Bx7jk5xuADeCv4f5y/msAWwbGvNV7vQ/gLIB7DIz5PQA/OnANLXziwpwxP+c9Rw8D+CLcwrLA4x36+BNY/hSUaXP8JIBve3P8SwDPMzCmBeBPvO/9AQCvDjum9/7/DuC3DP5s/jyAb3k/898A8DMhx7sN7mkO3wXwAcDtNL3EmFN/l4e5huaMGegamjNe4Otnzphhrp8j/y4uew3NmWega2jOeIGvn3nfd9DrZ848w1w/s8YMfA1hRtwCN1b4pvcz+ucw8PfS1Atb0RMRERERxYgpKEREREREMWIATkREREQUIwbgREREREQxYgBORERERBQjBuBERERERDFiAE5ERDOJSOfA6zeLyOPeefFERBRQ6ehPISKiVSciNwH4rwBeo6pPJj0fIqIsYwBORERzicgNcNts36yqgdpDExHRPjbiISKimURkAOACgF9U1YeTng8RUR4wB5yIiOYZAPg/cNutExGRAQzAiYhonjGAXwPwsyLyH5OeDBFRHjAHnIiI5lLVnoi8AcDXReSsqt6V9JyIiLKMATgRER1JVdsi8joAXxORpqp+Iek5ERFlFYswiYiIiIhixBxwIiIiIqIYMQAnIiIiIooRA3AiIiIiohgxACciIiIiihEDcCIiIiKiGDEAJyIiIiKKEQNwIiIiIqIY/X+oB4W+MgMwVwAAAABJRU5ErkJggg==\n", "text/plain": [ "<Figure size 864x720 with 1 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(12, 10))\n", "plt.plot(list(range(1, 31)), accuracy_scores)\n", "plt.scatter(list(range(1, 31)), accuracy_scores, label=\"Accuracy\")\n", "plt.title('K vs Accuracy')\n", "plt.xticks(ticks=range(1, 31))\n", "plt.xlabel('K')\n", "plt.ylabel('Accuracy', rotation=0)\n", "plt.legend()" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.6" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 2 }