{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Bias, variance, K-fold cross validation and Leaning curves \n", "\n", "This notebook explores the relationship between the number of K folds, the bias, variance and learning curve for a simple toy data set. The code in python was used to generate the plots and simulations used for the following stats.stackexchange post\n", "- https://stats.stackexchange.com/questions/61546/optimal-number-of-folds-in-k-fold-cross-validation-is-leave-one-out-cv-always/357572?noredirect=1#comment672417_357572" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Question: how to chose K in K-fold cross validation " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Libraries " ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import pandas as pd\n", "import numpy as np\n", "plt.style.use('seaborn-white')\n", "%matplotlib inline\n", "\n", "from sklearn.preprocessing import PolynomialFeatures\n", "from sklearn.linear_model import LinearRegression\n", "from sklearn.pipeline import Pipeline, make_pipeline\n", "from sklearn.model_selection import train_test_split, ShuffleSplit, KFold\n", "from sklearn.metrics import mean_squared_error \n", "\n", "from scipy import interpolate" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Viewing the toy data set and degree 4 polynomial regression " ] }, { "cell_type": "code", "execution_count": 274, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Utility variables\n", "degs = np.arange(0,11)\n", "degrees = [4]\n", "Train_MSE_list, Test_MSE_list = [], []\n", "\n", "#Initializing noisy non linear data\n", "n = 10000\n", "x = np.linspace(0,1,n)\n", "x_plot = np.linspace(0,1,10*n)\n", "noise = np.random.uniform(-.5,.5, size = n)\n", "y = np.sin(x * 1 * np.pi - .5) \n", "y_noise = y + noise\n", "Y = (y + noise).reshape(-1,1)\n", "X = x.reshape(-1,1)\n", "\n", "rs = ShuffleSplit(n_splits=1, train_size = 15, test_size=5)\n", "rs.get_n_splits(X)\n", " \n", "for train_index, test_index in rs.split(X):\n", " X_train, X_test, y_train, y_test = X[train_index],X[test_index],Y[train_index], Y[test_index] \n", "\n", "\n", "#Setup plot figures\n", "fig = plt.figure(figsize=(16,8))\n", "ax = fig.add_subplot(1, 2, 1)\n", "\n", "for d in degs:\n", " #Create an sklearn pipeline, fit and plot result\n", " pipeline = Pipeline([('polynomialfeatures', PolynomialFeatures(degree=d, include_bias=True, interaction_only=False)),\n", " ('linearregression', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=True))])\n", " \n", " pipeline.fit(X_train,y_train)\n", " \n", " Train_MSE = mean_squared_error(y_train, pipeline.predict(X_train))\n", " Test_MSE = mean_squared_error(y_test, pipeline.predict(X_test))\n", " Train_MSE_list.append(Train_MSE)\n", " Test_MSE_list.append(Test_MSE)\n", "\n", " if d in degrees: \n", " plt.plot(x_plot, pipeline.predict(x_plot.reshape(-1,1)), label = 'd = {}'.format(d), color = 'red') \n", "\n", "\n", "#First plot left hand side\n", "ax.plot(x,y,color = 'darkblue',linestyle = '--', label = 'f(x)')\n", "ax.scatter(X_train,y_train, facecolors = 'none', edgecolor = 'darkblue')\n", "ax.set_title('Noisy sine curve, 15 data points')\n", "ax.set_xlabel('x')\n", "ax.set_ylabel('y')\n", "ax.set_ylim(-1.5,1.5)\n", "ax.legend()\n", "\n", "#========================== RHS plot ====================#\n", "\n", "\n", "rs = ShuffleSplit(n_splits=1, train_size = 60, test_size=15)\n", "rs.get_n_splits(X)\n", " \n", "for train_index, test_index in rs.split(X):\n", " X_train, X_test, y_train, y_test = X[train_index],X[test_index],Y[train_index], Y[test_index] \n", "\n", "\n", "ax = fig.add_subplot(1, 2, 2)\n", "\n", "for d in degs:\n", " #Create an sklearn pipeline, fit and plot result\n", " pipeline = Pipeline([('polynomialfeatures', PolynomialFeatures(degree=d, include_bias=True, interaction_only=False)),\n", " ('linearregression', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=True))])\n", " \n", " pipeline.fit(X_train,y_train)\n", " \n", " Train_MSE = mean_squared_error(y_train, pipeline.predict(X_train))\n", " Test_MSE = mean_squared_error(y_test, pipeline.predict(X_test))\n", " Train_MSE_list.append(Train_MSE)\n", " Test_MSE_list.append(Test_MSE)\n", "\n", " if d in degrees: \n", " plt.plot(x_plot, pipeline.predict(x_plot.reshape(-1,1)), label = 'd = {}'.format(d), color = 'red') \n", "\n", "\n", "#First plot left hand side\n", "ax.plot(x,y,color = 'darkblue',linestyle = '--', label = 'f(x)')\n", "ax.scatter(X_train,y_train, facecolors = 'none', edgecolor = 'darkblue')\n", "ax.set_title('Noisy sine curve, 60 data points')\n", "ax.set_xlabel('x')\n", "ax.set_ylabel('y')\n", "ax.set_ylim(-1.5,1.5)\n", "ax.legend()\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Learning curve " ] }, { "cell_type": "code", "execution_count": 218, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5,1,'1 - Error (MSE) vs Training size ')" ] }, "execution_count": 218, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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3HPZdddd0+eLxWIcfPDB/POf/6SyspLp06cTDofZY489mDZtGo7jsHbtWi688EJ23HHH9OOOP/54Lr74YmpqajjnnHNwXZdRo0al9z/66KPcddf6Wup1113Hvffey5o1a7j44ovZbrvt+OijjzjnnHO47bbb+Pe//004HGbnnXfm3HPP5YYbbmDJkiWsWrWKZcuW8atf/Yq99967y/etp9TMKHkTDUf5vPnzIdOMItJTHYNsQ9t74vPPP2fTTTfN2lZVVUUkEqGtrY27776bQw89lN/85jf86U9/4s4772SXXXbhpptuYu7cudTU1HDLLbdw4YUX0tTUxCeffMLKlSv5y1/+wlVXXUVra/barpFIhG9961s8/vjjADz88MMceuihLFiwgPPPP5/bb7+dE088kVmzZuUs71//+le++93vMmPGDA444ID09oULF3LzzTczY8YMJkyYwPPPP89Pf/pT6urquPjii9PHWWt55JFHmDlzJjNnzmTRokU8/fTTAJSVlTF9+nQuuOACbr/99j6/p5lUM5O8KQuVsbZtLeti66gq09yWMnScsP0J3daiGq5tYNGaRZ22f6XuKzzzw2f6dM4xY8bw7rvZi2ovXryYV199lQkTJgCwevVqqqur2XjjjQHYZZdduPrqqzn33HNZuHAhp512GuFwmJ/+9KdsscUWHHvssZx99tnE43GOP/54XnvtNa677joATjrpJI488kguvvhiJk6cSENDA/X19Wy00UbceOONlJeX09zcTHV17qn6PvjgAw499FAAdtxxR+655x4ARowYwfnnn09VVRUfffQRO+ywQ87Hf/TRR2y//fZEIhEAdt55Zz744AMAJk2aBHhTFra3D0zPZ9XMJK8qwhUsb16u2pn4yqX7X0plpDJrW2Wkkkv3v7TPz7nffvvx3HPP8cknnwBeM+C0adOor68nGPQ+iuvr62lqauLzzz8H4JVXXqGhoYGXX36ZjTbaiNtuu42f/vSnXH311VhraW5u5uabb2batGn8/ve/Z+edd2bGjBnMmDGDfffdl4aGBlzXZfr06Rx55JHea7v0Uk4//XT++Mc/suWWW3b5tzlx4kTefPNNAObNmwdAY2Mj119/Pddccw2XXHIJ0Wg0/fiOzzNx4kTmzp1LPB7Hdd2s0M7HhOSqmUleRUIRWttavYmIy2sLXRyRHkl18rhg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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Utility variables\n", "CV_Mean_MSE, CV_Std_MSE = [],[]\n", "train_sizes=np.array([5,10,15,20,25,30,35,40,50,60,70,80,90,100])\n", "test_sizes = np.array([1,2,3,4,5,6,7,8,10,12,14,16,18,20])\n", "\n", "\n", "for s in range(len(train_sizes)):\n", "\n", " Test_MSE_list = []\n", " rs = ShuffleSplit(n_splits=300, train_size = train_sizes[s], test_size=test_sizes[s])\n", " rs.get_n_splits(X)\n", " \n", "\n", " for train_index, test_index in rs.split(X):\n", " #print(\"TRAIN:\", train_index, \"TEST:\", test_index)\n", " X_train, X_test, y_train, y_test = X[train_index],X[test_index],Y[train_index], Y[test_index] \n", "\n", " pipeline = Pipeline([('polynomialfeatures', PolynomialFeatures(degree=4, include_bias=True, interaction_only=False)),\n", " ('linearregression', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=True))])\n", " pipeline.fit(X_train,y_train)\n", "\n", " #Inner loop results\n", " Test_MSE_list.append(mean_squared_error(y_test, pipeline.predict(X_test)))\n", " \n", " #Calculating loop results: mean and std\n", " CV_Mean_MSE.append(np.mean(Test_MSE_list))\n", " CV_Std_MSE.append(np.std(Test_MSE_list))\n", "\n", "#Converting to numpy for convenience\n", "CV_Mean_MSE = np.asarray(CV_Mean_MSE)\n", "CV_Std_MSE = np.asarray(CV_Std_MSE)\n", "\n", "\n", "#Plotting\n", "plt.figure(figsize = (7,7))\n", "plt.fill_between(train_sizes, 1 - (CV_Mean_MSE - CV_Std_MSE),\n", " 1 - (CV_Mean_MSE + CV_Std_MSE), alpha=0.1, color=\"g\")\n", "\n", "plt.plot(train_sizes, 1 - CV_Mean_MSE, 'o-', color=\"g\",\n", " label=\"Cross-validation\")\n", "\n", "plt.hlines(1 - 1/12 , 0,100, linestyle = '--', color = 'gray', alpha = .5, label = 'True noise $\\epsilon$')\n", "plt.legend(loc=\"best\")\n", "plt.ylim(0.4,1)\n", "plt.ylabel('1 - MSE')\n", "plt.xlabel('Size of training set')\n", "plt.title('1 - Error (MSE) vs Training size ')\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Approach 1) Re-sampling with replacement from 10,000 points at each bootstrap iteration\n", "\n", "\n", "\n", "- Iterate i times (e.g. 100 or 200 times). At each iteration, change the data set by sampling N data points from the original dataset\n", " - For each dataset i: Perform K fold CV for one value of K\n", " - Calculate the mean MSE of the K fold CV\n", "- Calculate the mean and standard deviation across the i iterations for the same value of K\n", "- Repeat the above steps for different k = 5.. N\n", "\n", "\n", "## Small data set: Increasing K improves bias slightly\n", "### Small dataset - 40 points" ] }, { "cell_type": "code", "execution_count": 283, "metadata": {}, "outputs": [], "source": [ "#Utility variables\n", "CV_Mean_MSE_small, CV_Var_MSE_small = [],[]\n", "k_folds_range = np.array([2,4,6,8,10,15,20,25,29,35,39])\n", "\n", "for k in k_folds_range:\n", " #Reset list at start of loop\n", " i_Mean_MSE = []\n", " \n", " #Repeat experiment i times\n", " for i in range(300):\n", " #Reset list at start of loop \n", " Kfold_MSE_list = []\n", " \n", " #Resample with replacement from original dataset\n", " rs = ShuffleSplit(n_splits=1, train_size = 40, test_size=1)\n", " rs.get_n_splits(X)\n", " for subset_index, _ in rs.split(X):\n", " X_subset, Y_subset, = X[subset_index],Y[subset_index]\n", " \n", " #Loop over kfold splits\n", " kf = KFold(n_splits = k)\n", " for train_index, test_index in kf.split(X_subset):\n", " X_train, X_test = X_subset[train_index], X_subset[test_index]\n", " y_train, y_test = Y_subset[train_index], Y_subset[test_index]\n", " \n", " #Fit model on X_train\n", " pipeline = Pipeline([('polynomialfeatures', PolynomialFeatures(degree=4, include_bias=True, interaction_only=False)),\n", " ('linearregression', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=True))])\n", " pipeline.fit(X_train,y_train)\n", " \n", " #Store each Kfold MSE values on X_test\n", " Kfold_MSE_list.append(mean_squared_error(y_test, pipeline.predict(X_test)))\n", " \n", " #Average over the K folds for a single \"i\" iteration\n", " i_Mean_MSE.append(np.mean(Kfold_MSE_list))\n", " \n", " #Average and std for a particular k value over all i iterations\n", " CV_Mean_MSE_small.append(np.mean(i_Mean_MSE))\n", " CV_Var_MSE_small.append(np.var(i_Mean_MSE, ddof = 1))\n", " \n", "#Convert to numpy for convenience\n", "CV_Mean_MSE_small = np.asarray(CV_Mean_MSE_small)\n", "CV_Var_MSE_small = np.asarray(CV_Var_MSE_small)\n", "CV_Std_MSE_small = np.sqrt(CV_Var_MSE_small)" ] }, { "cell_type": "code", "execution_count": 287, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5,1,'1 - MSE vs Number of Kfolds: 40 data points, 300 iterations bootstrap ')" ] }, "execution_count": 287, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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ERFREmTwPE8BKSIiCshsdB9WERFRQGZwcNSCFBERBWQ2CkgREVESpNFt5kREJEUBmUZ30REJl/kr5jP6+tFELo8w+vrRzF8xv9PbXLlyJWeddRannXYaJ554IjfeeKP/PbO7iE9/+tMAzJ49mw8++KDFvHfeeYfTTjut3fXvueceAJ544gkWLFhQnELuItRcSuN6LvFIvKeLISLdYP6K+Zz1wFnUNtUCsGbrGs564CwATj3g1IK2uW3bNmbMmMFNN93E6NGjSSaTnHvuufzpT3/ilFNO6bKyd4WLL764oPVuvfVWvvWtb3HUUUd1cYl2PQrINBriIVI6fv/q75n38rw25y9bv4yGZEOLabVNtXz3r9/l9hdvz7rOdw76DqePP73NbS5evJiJEycyevRoAKLRKFdffTXxeJzly5fzq1/9ing8zte+9jUGDx7M9ddfT69evejXrx9XXXUViUSC8847D8/zaGpq4vLLL2f06NGce+651NTUUF9fz/nnn8/EiRObn7OpqYnjjjuOv/71r1RWVjJ37lxisRhHHHEEc+bMwXVdtm3bxiWXXMLBBx/cvN5pp53GZZddRnV1NTNnzsTzPAYPHtw8/5FHHmH+/J0t6htuuIEFCxawdetWLrvsMg488EDeffddZs6cybx583jwwQeJxWIceuihnH/++dx0002sX7+ezZs388EHH3DRRRdx5JFHNm9v/fr1TJ8+naFDh7J+/Xq++MUvsnLlSt544w2mTJnCjBkzsNZy5ZVXAjTvo8rKSi699FI2bNjAli1bOOqoozjvvPOYNWsWZWVlvP/++3z00UfMmTOH/fffv83/VS4UkGl0DlIkPDLDsaPpufjoo4/Ya6+9Wkyrqqraue2GBu6//348z2Pq1Knce++97Lnnntx9993ceuutTJw4kerqaq699lpWrVpFTU0Na9euZdOmTdx1111s3ryZ1atXt9h+PB7n85//PI8++ignnHACDz30EHfccQfPPvssF154IcYYHnjgARYuXNgiIFPuvPNOvvSlL/G1r32Nhx56iHvvvReA1atXc9ttt1FRUcGll17KU089xQ9+8APuueceLrvsMhYuXAiAtZaHH36YP/3pT8RiMc455xwef/xxAMrKypg7dy5PP/008+bNaxGQAOvWrWPevHnU19czdepUnnjiCSoqKjj66KOZMWMGP/vZz7jqqqsYN24c999/P3PnzuXkk09mwoQJnHzyyTQ0NDQHJMCwYcO44ooruO+++1iwYAFXXHFFwf9LUEC2oBuVi5SO08ef3m5rb/T1o1mzdU2r6aP6jmLJt5cU9JzDhg3jjTfeaDFt3bp1bNiwAYAxY8YAsGXLFnr37s2ee+4JwGGHHcZ1113H+eefz+rVq/nhD39ILBbjBz/4Afvssw+nnnoqM2bMIJFIcNppp/HCCy9www03APDd736Xk08+mcsuu4yxY8cyevRo+vfvzx577MEtt9xCeXk5O3bsoHfv3lnLvHLlSr7yla8AcPDBBzcH5MCBA7nwwgupqqri3XffZcKECVnXf/fddxk/fjzxuH966tBDD2XlypUA7LfffgAMGTKExsbGVuvutddeVFdXU1ZWxqBBg+jXrx+wcyz6O++8w+WXXw74LeUxY8bQr18/VqxYwbJly+jdu3eL7aY/30svvZS1vPlQGqRRC1IkPGZPnd3iHCRAZbyS2VNnF7zNo48+mt/97neccsopjBw5kqamJubMmcMRRxzBuHHjiET8Uzj9+/enpqaGjz76iD322IPnnnuO0aNHs3z5cvbYYw/mzZvHyy+/zHXXXccll1zCjh07uO222/joo4/4xje+wWOPPcYf/vCHFs/teR5z585tPtc5e/ZsfvWrX7H33ntz44038v7772ct89ixY3n55Zf5xCc+wYoVKwDYvn07N954I0uWLAHgjDPOaL7QKPOCo7Fjx3LnnXeSSCSIRqM8//zznHDCCbz11lsd3nSlo/ljxozh6quvZtiwYbz44ots3LiRhQsXUl1dzRVXXMGaNWu47777msvU1Td5URpk0DlIkXBIXYhz8eKLWbt1LSP7jmT21NkFX6AD0Lt3b+bMmcMll1yC53ns2LGDo48+mm9+85s899xzzcs5jsOVV17JOeecg+M49O3bl1/84hc4jsP06dO5++67iUQi/Pd//zejR4/m5ptv5i9/+QvxeJwf//jHWZ/7pJNO4oYbbmDSpEkAfPnLX+aHP/whAwcOZMiQIWzZsiXreueeey7Tp0/noYceYsSIEc2v4+CDD+arX/0qlZWV9OnTh48++giAvffem5kzZ3LEEUcAYIzh2GOP5ZRTTsF1XQ455BA+97nP8dZbbxW8H1Muu+wyLrzwQpLJJOCH/t57782MGTN48cUXqaio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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Plotting result - LHS - 1 - MSE\n", "fig = plt.figure(figsize=(16,8))\n", "fig.add_subplot(1, 2, 1)\n", "k_folds_range = np.array([2,4,6,8,10,15,20,25,30,35,39])\n", "\n", "plt.fill_between(k_folds_range, 1 - (CV_Mean_MSE_small - CV_Std_MSE_small),\n", " 1 - (CV_Mean_MSE_small + CV_Std_MSE_small), alpha=0.1, color=\"g\", label = '$\\pm 1$ std')\n", "\n", "plt.plot(k_folds_range, 1 - CV_Mean_MSE_small, 'o-', color=\"g\",\n", " label=\"Cross-validation mean\")\n", "\n", "plt.hlines(1 - 1/12 , min(k_folds_range),max(k_folds_range), linestyle = '--', color = 'gray', alpha = .5, label = 'True noise $\\epsilon$')\n", "plt.legend(loc=\"lower right\"), \n", "plt.ylim(0.7,1)\n", "plt.ylabel('1 - MSE'), plt.xlabel('Kfolds')\n", "plt.title('1 - MSE vs Number of Kfolds: 40 data points, 300 iterations bootstrap ')\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Printing the standard deviation for each K value " ] }, { "cell_type": "code", "execution_count": 285, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
K =Mean MSEStd MSE
020.1571340.175537
140.1076290.029576
260.1016690.023816
380.1005000.019984
4100.0998510.017532
5150.0992720.019867
6200.0962210.018406
7250.0964280.018322
8300.0978860.017572
9350.0975600.018720
10390.0980320.018140
\n", "
" ], "text/plain": [ " K = Mean MSE Std MSE\n", "0 2 0.157134 0.175537\n", "1 4 0.107629 0.029576\n", "2 6 0.101669 0.023816\n", "3 8 0.100500 0.019984\n", "4 10 0.099851 0.017532\n", "5 15 0.099272 0.019867\n", "6 20 0.096221 0.018406\n", "7 25 0.096428 0.018322\n", "8 30 0.097886 0.017572\n", "9 35 0.097560 0.018720\n", "10 39 0.098032 0.018140" ] }, "execution_count": 285, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.DataFrame(data = {'K = ':k_folds_range,'Mean MSE': CV_Mean_MSE_small,'Std MSE': CV_Std_MSE_small })\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Viewing variance as a function of k " ] }, { "cell_type": "code", "execution_count": 286, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5,1,'Var MSE vs Number of Kfolds: 40 data points, 100 iterations bootstrap ')" ] }, "execution_count": 286, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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t3+5y5wyZQrdunUjJycHgPT0dO6++24yMzP59NNPueeee8jMzOScc85hjz32YMSIEdStW5emTZty5513UlxczNVXX004HGbz5s3cdttt5OTkcNVVV7F+/XoKCwu57rrr6NatW+lzbt68mZNOOolXX32VBg0a8Pjjj5ORkcHvf/97hg8fTklJCWvXrmXYsGEcdthhpY/r168ft956K40bN+baa68lHA6zxx57lE6fPHky+flbw37kyJE899xzFBQUcOutt9KxY0fmzp3Ltddey5gxY3jjjTfIyMigc+fOXHfddTz44IMsXLiQVatWsXjxYm688UaOPPLI0uW1bt2a9u3b8/nnn9OlSxdWrFjBokWL6NKlC0uXLuXWW2+lqKiINWvWcPnll9O7d29OOeUUcnJyqFOnDh06dGD33XfnnHPO4ZZbbmHp0qWsXr2ao446iquvvpobbriBOnXqsGjRIpYvX87w4cM58MAD+c9//sMzzzxDSUkJvXr14sorr2TSpEmMHTuWtLQ0OnXqtNOtyPKoBVdJOgYnUrXKhtuO7t8Zy5cvp127dtvc17BhQ+rUqeMtu6iIp59+mj59+nDzzTfz0EMP8dRTT9GlSxceffRRZs6cSePGjRk9ejTDhg1j/fr1zJ8/n5UrV/LYY49x7733UlhYuM3yMzMz+cMf/sDbb78NwJtvvkmfPn2YM2cO119/PWPHjmXgwIG89NJLMWt+8sknOeWUU5gwYQK9e/cuvf+XX35h1KhRTJgwgQ4dOvDxxx9z6aWXkpWVxa233lo6n5kxadIknn32WZ599lnmzZvH+++/D0CdOnV4/PHHGTp0KGPHjt3uuc855xxeffVVAF555RXOPPNMAObOncvAgQN58sknufnmm0uDduPGjVx22WXcd999pctYsmQJhxxyCE888QTPPPMMzzzzTOm01q1b88QTT9CvXz+ee+45Vq1axejRo3n66ad56aWXWLduHYsXL+bBBx9k7NixPPPMMyxbtoypU6eW/ybvBLXgKkmnCYhUTv/c/hW2tnJG5DCvYN5297fPas8H538Q13O2bt2a7777bpv7FixYwNKlSwHo0KEDAKtXr6ZRo0bsueeeAHTp0oX77ruP6667jl9++YXLLruMjIwMLr30Uvbdd1/69u3LkCFDKC4upl+/fnz++eelx6/++te/cvbZZ3Prrbey1157kZOTQ7NmzWjRogWPPPII9erVY8OGDTRq1ChmzbNnz6ZPnz4AHHbYYaUB0bx5c66//noaNmzI3LlzOeSQQ2I+fu7cueTm5pKZ6e2Ed+7cmdmzZwOw//77A96lDjdt2rTdY3v27Ml9991HYWEhb7zxBk8++SQAe+yxB48++igvvPACoVCI4uKt273IOoxo2rQps2bNYtq0aTRq1Gib54l+/i+//JIFCxaw7777Uq9ePQBuuukmZs6cya+//sqgQYMA2LBhAwsWLIj5WneWWnCVpEEmIlUrr1ceDTIbbHNfg8wG5PXKi3uZPXv25KOPPmL+/PmA1304fPhwfvzxRwDS0rxNX7NmzVi/fj3Lly8HYPr06eTk5PDpp5/SokULxowZw6WXXsp9992HmbFhwwZGjRrF8OHD+cc//kHnzp2ZMGECEyZM4JhjjiEnJ4dwOMzjjz/O2Wef7b2+vDwGDx7M3XffzX777VfuQJe99tqLr776CoBZs7zL965bt44HHniA+++/nzvuuIO6deuWPr7scvbaay9mzpxJcXEx4XCYzz77rDSEQqFQhesrMzOT3r178+ijj7L33nvTrFkzwOsO7dOnD//617/o1q3bNs8ZWYcRL730Eo0bN+bee+/lggsuoLCwsHT+ss+fnZ3N3LlzS0Nw8ODBNG/enFatWjFmzBgmTJjAeeedR25uboV174hacJWkQSYiVavvwX0BGDplKPML5pOdlU1er7zS++PRqFEjhg8fzrBhwwiHw2zYsIGePXvyl7/8henTp5fOFwqFuOOOO7jyyisJhUJkZWVx1113EQqFuOaaaxg3bhxpaWlcfvnl5OTk8PDDD/PKK6+QmZnJ4MGDYz73WWedxciRI+nevTsAp512GpdddhnNmzenZcuWrF69OubjrrrqKq655hrefPPN0gvKN2rUiMMOO4w//vGPNGjQgCZNmpSG8d577821117L73//ewCcc5x44on8+c9/pqSkhE6dOtG7d29++OGHmM9X1tlnn83JJ5/MmDFbj5eecMIJ5OXl8e9//5tWrVqVWzvA4YcfzpAhQ/jiiy+oX78+7du3L621rN12242LLrqI8847j1AoRM+ePWnTpg3nn38+/fr1Y8uWLbRp04YTTzxxp2ovTyiVhs1WxDmXA/w8ZcqUpP6awM+rf2avB/biyT5Pcv4h5yetDhER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SCAp4EREJJAUcCIiEkgKOBERCSQFnIiIBJICTkREAkkBJyIigaSAExGRQFLAiYhIICngREQkkBRwIiISSAo4EREJJAWciIgEkgJOREQCSQEnIiKBpIATEZFAUsCJiEggKeBERCSQFHAiIhJICjgREQkkBZyIiASSAk5ERAJJASciIoGkgBMRkUBSwImISCAp4EREJJAUcCIiEkgKOBERCSQFnIiIBJICTkREAkkBJyIigaSAExGRQFLAiYhIICngREQkkBRwIiISSBmJWKhzLg14BMgFioALzWxO1PSLgIuBYuAOM3s9atrVQEszuyERtYmISO2QkIADTgfqmdnhzrnuwL1AHwDnXEtgMNAZqAd87Jx7B681ORroBryYoLpERKSWSFQX5RHAZAAzm4YXZhFdgalmVmRmBcAcoCNe2I0H8hJUk4iI1CKJCrgmQEHU31uccxnlTFsHZJnZajN7O0H1iIhILZOogFsLNI5+HjMrLmdaY2BNguoQEZFaKlEBNxU4CcA/Bjcratp04EjnXD3nXBawP/BNguoQEZFaKlGDTF4GjnPOfQKEgIHOuSHAHDN7zTn3APARXsAONbPCBNUhIiK1VEICzsxKgEvK3P1D1PTReCMmYz12bCJqEhGR2kUneouISCAp4EREJJAUcCIiEkgKOBERCSQFnIiIBJICTkREAkkBJyIigaSAExGRQFLAiYhIICngREQkkBRwIiISSAo4EREJJAWciIgEkgJOREQCSQEnIiKBpIATEZFAUsCJiEggKeBERCSQFHAiIhJICjgREQkkBZyIiASSAk5ERAJJASciIoGkgBMRkUBSwImISCAp4EREJJAUcCIiEkgKOBERCSQFnIiIBJICTkREAkkBJyIigaSAExGRQFLAiYhIICngREQkkBRwIiISSAo4EREJJAWciIgEkgJOREQCSQEnIiKBpIATEZFAUsCJiEggKeBERCSQFHAiIhJICjgREQkkBZyIiASSAk5ERAJJASciIoGkgBMRkUBSwImISCAp4EREJJAUcCIiEkgKOBERCSQFnIiIBJICTkREAkkBJyIigaSAExGRQFLAiYhIICngREQkkBRwIiISSAo4EREJJAWciIgEkgJOREQCSQEnIiKBpIATEZFAUsCJiEggKeBERCSQFHAiIhJICjgREQmkjEQs1DmXBjwC5AJFwIVmNidq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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize = (7,7))\n", "\n", "plt.plot(k_folds_range, CV_Std_MSE_small, 'o-', color=\"g\",\n", " label=\"Cross-validation Variance\")\n", "\n", "plt.legend(loc=\"best\")\n", "plt.ylabel('Std MSE')\n", "plt.xlabel('Kfolds')\n", "plt.ylim(0,.05)\n", "plt.title('Var MSE vs Number of Kfolds: 40 data points, 100 iterations bootstrap ')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Large dataset: Increasing K increases the variance, constant bias\n", "### Large data set: 200 points" ] }, { "cell_type": "code", "execution_count": 277, "metadata": {}, "outputs": [], "source": [ "#Utility variables\n", "CV_Mean_MSE_larger, CV_Std_MSE_larger = [],[]\n", "k_folds_range = np.array([5,20,40,80,125,175,199])\n", "\n", "for k in k_folds_range:\n", " #Reset list at start of loop\n", " i_Mean_MSE = []\n", " \n", " #Repeat experiment i times\n", " for i in range(50):\n", " #Reset list at start of loop \n", " Kfold_MSE_list = []\n", " \n", " #Resample with replacement from original dataset\n", " rs = ShuffleSplit(n_splits=1, train_size = 200, test_size=1)\n", " rs.get_n_splits(X)\n", " for subset_index, _ in rs.split(X):\n", " X_subset, Y_subset, = X[subset_index],Y[subset_index]\n", " \n", " #Loop over kfold splits\n", " kf = KFold(n_splits = k)\n", " for train_index, test_index in kf.split(X_subset):\n", " X_train, X_test = X_subset[train_index], X_subset[test_index]\n", " y_train, y_test = Y_subset[train_index], Y_subset[test_index]\n", " \n", " #Fit model on X_train\n", " pipeline = Pipeline([('polynomialfeatures', PolynomialFeatures(degree=4, include_bias=True, interaction_only=False)),\n", " ('linearregression', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=True))])\n", " pipeline.fit(X_train,y_train)\n", " \n", " #Store each Kfold MSE values on X_test\n", " Kfold_MSE_list.append(mean_squared_error(y_test, pipeline.predict(X_test)))\n", " \n", " #Average over the K folds for a single \"i\" iteration\n", " i_Mean_MSE.append(np.mean(Kfold_MSE_list))\n", " \n", " #Average and std for a particular k value over all i iterations\n", " CV_Mean_MSE_larger.append(np.mean(i_Mean_MSE))\n", " CV_Std_MSE_larger.append(np.std(i_Mean_MSE))\n", " \n", "#Convert to numpy for convenience\n", "CV_Mean_MSE_larger = np.asarray(CV_Mean_MSE_larger)\n", "CV_Std_MSE_larger = np.asarray(CV_Std_MSE_larger)" ] }, { "cell_type": "code", "execution_count": 278, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5,1,'1 - MSE vs Number of Kfolds: 200 data points ')" ] }, "execution_count": 278, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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iivYddddO7vPmjWLSy65hCuuuIKNNtqIO+64g2OOOYbx48dz1llndfaXUuKGG27g6quv5uqrr2b27NnceuutAAwfPpypU6dy2mmncfnll6/QdK2wBSlJK+jwLQ7vtbU3+fzJzJ4zu1v3DcdvyB8++ofl/txJkybx97//vUu3J554gnvuuYeNNtoIgJdeeokxY8bw+te/HoB3vOMdnHfeeZx00knMmjWLT33qUzQ3N3PMMcfwxje+kUMOOYQTTjiB1tZWDjvsMO69914uuOACAD7+8Y+z//77c9ZZZ7HxxhszefJkJkyYwNprr833v/99Ro4cyYIFCxgzZky2vo8++ih77bUXAFtuuSU//elPAVhjjTU4+eSTGT16NDNnzuRtb3tbdviZM2eyxRZbMGzYMAC23nprHn30UQA222wzoLhf9+LFi5d7mlazBSlJdTZllymMGjaqS7dRw0YxZZcpKzTenXfemdtvv53HH38cKHaBnnPOOUyYMIHGxmL1PmHCBObPn89zzz0HwF/+8hcmT57Mn//8Z9Zee20uu+wyjjnmGM477zxSSixYsIBLLrmEc845h69+9atsvfXWXHHFFVxxxRXstNNOTJ48mY6ODqZOncr++xc3QJsyZQrHHnss3/jGN9h00017PElo44035v777wfgoYceAmDevHlceOGFfOc73+Hss89mxIgRncPXjmfjjTfmwQcfpLW1lY6Oji4bAg0NDSs0LXNsQUpSnVVOxDnt5tN4fM7jbDB+A6bsMmWFTtABGDNmDOeccw6nn346HR0dLFiwgJ133plNNtmEe++9FyiC4+yzz+azn/0sDQ0NjB8/nq9//es0NDRw/PHH8+Mf/5jGxkY+/elPM3nyZL73ve/xy1/+kmHDhnHsscdmP3e//fbjggsuYNtttwXgv/7rv/jUpz7FGmuswcSJE3nppZeywx133HEcf/zx/Pa3v+18KtOYMWPYcsst+dCHPsSoUaMYN25cZ5hvsskmnHjiiWy33XYARAS77747Bx10EO3t7Wy11Vbsuuuu/POf/1yh6diThqFyOnBfyudL/uvmm2/2cVeSpBX25JNPsssuuwBsVN4/vAt3sUqSlGFASpKUYUBKkpRhQEqSlGFASpKUYUBKkpRhQEqSlGFASpKU4Z10JOlV6pxzzuHhhx/m+eefZ9GiRay//vpMmDCBCy+8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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Plotting result - LHS\n", "fig = plt.figure(figsize=(16,8))\n", "fig.add_subplot(1, 2, 1)\n", "k_folds_range = np.array([5,20,40,80,125,175,199])\n", "plt.fill_between(k_folds_range, 1 - (CV_Mean_MSE_larger - CV_Std_MSE_larger),\n", " 1 - (CV_Mean_MSE_larger + CV_Std_MSE_larger), alpha=0.1, color=\"g\")\n", "\n", "plt.plot(k_folds_range, 1 - CV_Mean_MSE_larger, 'o-', color=\"g\",\n", " label=\"Cross-validation\")\n", "\n", "plt.hlines(1 - 1/12 , min(k_folds_range),max(k_folds_range), linestyle = '--', color = 'gray', alpha = .5, label = 'True noise $\\epsilon$')\n", "plt.legend(loc=\"best\")\n", "plt.ylim(0.7,1)\n", "plt.ylabel('1 - MSE')\n", "plt.xlabel('Kfolds')\n", "plt.title('1 - MSE vs Number of Kfolds: 200 data points ')\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Printing the standard deviation for each K value " ] }, { "cell_type": "code", "execution_count": 280, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
K =Mean MSEStd MSE
050.0862420.005556
1200.0856080.006608
2400.0861420.005320
3800.0870020.005372
41250.0853110.006317
51750.0851180.004977
61990.0847040.005453
\n", "
" ], "text/plain": [ " K = Mean MSE Std MSE\n", "0 5 0.086242 0.005556\n", "1 20 0.085608 0.006608\n", "2 40 0.086142 0.005320\n", "3 80 0.087002 0.005372\n", "4 125 0.085311 0.006317\n", "5 175 0.085118 0.004977\n", "6 199 0.084704 0.005453" ] }, "execution_count": 280, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.DataFrame(data = {'K = ':k_folds_range,'Mean MSE': CV_Mean_MSE_larger,'Std MSE': CV_Std_MSE_larger })\n" ] }, { "cell_type": "code", "execution_count": 281, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5,1,'Var MSE vs Number of Kfolds: 200 data points, 100 iterations bootstrap ')" ] }, "execution_count": 281, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcQAAAGyCAYAAAB6JLTDAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xl8FPX9+PHX5ibkINw3YSN8iKggh4JXpdIiHqBJvapY8QDF1qrVn7ba1vYrrT08awkCIhY5rDWI4i22HliUgAoUeCNHwn2TA0JCjv39MTNxiUnIsbuzSd7Px8OHYWZn5r27s/Oez2c+7xmPz+dDKaWUau0i3A5AKaWUCgeaEJVSSik0ISqllFKAJkSllFIK0ISolFJKAZoQlVJKKQCi3A4gVIwx/wbeFZHHqk3/BXCBiIxv5HpTga3AxyLyvWrz5gA/ATqJyAFjzAjgj0AHrJOR7cB9IvI/+/U+YC1QUW0zV4hIbmPiqyXmm4AsYLiIrPWbvgT4l4jMCcA2UoG1IpLQ1HXVc3uDgVeBfCDT//MyxuQCPxKRHPvfA4F3gWdE5M/25/F7YL2IjKljGz7s77La9PuA00TkpkbGPhx4CmgLRAJ/EpGX7HmXYu0zscBq4BYRKTTGRAKPAxdj/Y7/KiLT67Gtk37HxphkYJGIfL8x76chjDGzgIUi8kEdr+mL9f4ym7gtDzAHWCMif7Wn1fo5GmP6Ac8DHYEjwI0isqGG9X4FXAj4CPDnZu8bt4jI7caYYcCDIvKjQK2/lm3WuJ83YX0zgekisrKO11wKnC0ivwnENhurNbUQpwE31zD9NuDvTVx3CWCMMX2cCcaYtsC5fv+OBZYAvxCRM0TkNGAe8Lb9o3SMEpHB1f7LbWJ8NfEAC4wxcUFYtxvGAf8WkaF1fV7GmLOBpVgHlj/bk28EflVXMgwW+yD9KvBbERkMjAWeMMb0M8Z0Al7ASvAG2AI4J3STgf7AacBw4G5jzFkBCisFCNS66iQit9aVDG19ANOU7Rhj0rG+9+rJpK7PcR7WgfxU4LfAv+zv6wT2bzSf4HxuA4Ge9nZygp0Mg+QHWMebugwH2ocgljq1mhYisAh4yhhzvoh8AmCM+R7WF/W+MSYCeBIYASTa028VkWV2S689kAYsEZEHqq27AngZuB74gz0tA1gM/ML+dzzQDvBvMc0DCrFaBdVbhbUyxvwQeFxETrf/3Q6rleoFrgVuB45jJerJIrKuhtUsBWKAvwI/rWEbuZzYqsrFOpgcAD4E3geGYu1Dv8E6sAwAcoDr7NVE2C2AoUAZcJeILLfX9xCQiXVSlgtMEZFdxpj/AIfsdWWJyN+qxfVre/3lwEY79ouAKUCkMaaNiFxfy+d2EfAS1pn+e/a0J7EOYn3tBDQb6wRpMNYZ/9tYybLcbz3RwDNYP/R9wF6gwJ6XATwMVGJ9p/eLyMfGmHHA7SJySbWwYoHfOUlBRHYYY/ZjHQTPAlaIyDf2a7OAr40xdwJXAjPsuA4bYxYCNwBfVHvP3YEXge5AHtDZb97NWN9bDNb+/ZiIZGEl4TZ2y2coVi9HTa+r/vmWYyXssVit3V+JSLY97zvfm4jssb/vZ7H2m6XAW8DZWMnl/wGvA7OAHsaYd4FLgb9hnWyWYZ0kTBSRI9XjqeZOez3bqk2v8XM0xuzE2gcXAojI28aYLOBMYFW19+0DnJMX/8+tP/A0Vo9QJFaPxGxjzIX29KNYx4PhwJ+pduyxY/09kGyMeQHre3xWRE6zW/E17qfGmBL7e/gh0A34s4hkGWO6Av/AavECvCkiv67l85pqt04jgIdFZIn9Xmv7Hnti7Z+pdvwvishfjDFTsfa9ecaYG4EeVPt9AKVYx6xIY0wB8A1wC9Y+VABcZq+7n/1ZFgE/FhGx959VwHn2+5orIr+t5T2dVKtpIdo7/EysD9oxCZgmIj6sH2F3YKR9Rvgi8KDfa+NFZGANydDxD2CC379/gtU942z/MNYP/B1jzBZjzFxgIvCBiBz3W+7fxpiv/P5bVMO23gcS7C4UsHbQN7GS61PAxSIyHJiBtaPUxIfVMrraGHNZLa+pTV+sH9Mw4L9YP+7rsM5mz8f6YQO0Ad4XkTOxfgSvGGNi7B/G6cBZdqvoLayDleOwiJxaQzKciHWwHS4iZ2B1L88RkXnAdODl2pIh1oHvTeATJxkCiMg9WAfj+0XkSaxEd9CObxgwCLiv2rqmYB3sTsVKir395v0FK7kPA36N1ZWGiLxeQzJEREpE5Hm/9zgJ66C4HOiF1a3u2AEk2fNrmtezhvf9d2C5iAwE7sI6yGOMScDqHbnE/n6uwToog7VfHrO/mzZ1vK66SKBYRIYCVwOzjTGdavvealjei3VZ4yys395TIlKBlRw22y34kVif6SB7O1uAM2qJp4qI/FRE5tcwq7bPsRewS0Qqa5hXG//PzQP8C6snYijwPeA++7IJWC3S6+zPYwg1HHtEZDvWyeYnIjKx2rbq2k9jgQMicg7WSeyTdk/QbcAWERmC9TvtZyfWmjivuwF4sR7f4zysHprTsU5WbjDGXCsiDwG7gOtF5HNq+H3Y053f70P2+gba80bZ28wXkZEi0h9YwYkn8cbe5hDgmkYcz6q0moRomwFcYYxJNMa0B8Zgf6Ei8l+sg/ZkY8xfsXYk/9bcp3Wt2O4frzDGDDXG9AISxe/6nP2aJ4AuWAem3cADwJfVdsrqXaZX1rAtH1ZL5iZ70kRgpn3weAX4zBjzLNb1tOerL++3nt1YJwiz7bPH+ioD3rD/3gx8JiKFIlKCtfM7XR/5IvKyvS0nCQ3AOuMbAeTYZ9M/48QusU9q2e5Y4AUROWr/+2ngImNMTD1ivg4YBZxrjJlcx+vGYp2F+0SkFOuHOrbaa0YD80XkuB3LPL95C4FFdss4hdqTx3cYYx4EfgdcLiLHsH6fNd1bsaKGeR5q7mUYzbf7+Cas1j12i+oy4FJjzP8BD3Hi/k5DXufnWXu51cAa4ALq/72VYZ0cgXXWX1MX2hr7fX5ux/OqiHxWRzwnU9vnWNNnX9tnXJP+WD1Ks+19/COsk4sz7fnbRSQP6nXsqcnJ9tPF9v9XYSXItsA7QKYx5i2sFv+DIlJQy/qn27GtBdZhnYjU9j0mYyWkv9vLFGDtc9V/N1D/38dqESm01/cvYI4x5mfGmKexToj8P5/nRKRMrG7rV7CO643SqhKiiOzCal1di9U6+pezQ9gXdd+0X7oYa4fw7/c+WZcMwFysM6oJ9t9VjDHnGmPuF5EiEVkiIv8P6yzIh9XKaKjZwFXGGkzSTkQ+st/jDcDlwCass+wFda1ERN7A2on+wYnv11ft3/4Hr+N2UnaU1bL66gePCPu1zsCRwfbZ9DD8rrdS+2cdyYkHqQisLtuTXZ8AmGAfeK7FukY3opbXVT8QRgDRNbzOf5tV3an2Ge55WK3Om4CPTxaYMSbWGLMAK2mPFJGv7VnbsFoOjh5YreejNczrjtWCqa7691hub7Mn8BXW9blPsQ7INcVWr9dVX78tAmsfqO/3dtyvRVY9bgDsg57TGqoAXjbGTDlJTHWp7XPcBnSrds2wts+4JpFAgf/JLdZJ4Av2/Kp9vB7HnpqcbD89BlUnzwAeEVmB1bszA6tr8wtjzNBa1u//2/X/3db0PVJDvDX+bhrw+/D/fO7AOrEvBuZjHdNq/P3x7T7XKK0qIdr+jnWt7yecOJjmB8AbYl0byQGuwNoBGuIl4CqsbqXq3TP7gYeNMf5dmN2AZKyz3gYRkZ1Y14uew+5uNMZ0NMZsBw6KyFNYB6/h9VjdL7B+7BdVi3eYvd4L7VgbqoPTfWGMuRzrR/oN1gjPW40xSfbrfk+1E4havAPcbKwBS2C1tD+2z5BPphRArOvHv8caINGlhte9C/zUGOMx1kCoSVgnUf7eBm40xsTZXVHX2O8xyr7WGi/WSMUpwBn2euryElZX6Dly4oCg94ARxhrtCNZ1FufMfzHWZxFlX0O+FnithnW/Y78HjDG9sVrJYH23+4FH7e0431Mk1gEm0k4Gdb2uJjfa84dg9QZ8RNO+N+x4ou31XoZ1rfEzEXkE60SuPvt4bWr8HEVkB9ZJpfPdjsG67lXXb9X/cxPgmDHmBnv5XlhdjDUloLqOPVXvvZr67KcnMMY8BvxaRF4Dfg78D6vrtiY32csMAU4BPqf277EAq4v/TnuZZKz9wImnHIg+ye+jtvcJdk+efWlBsE74/fe/G4wxEcaYFKyu+jdqWEe9tLqEKCL/wbowWygi/jv3dOBCY8warG6GzVgDLer9GdlJaj3wjYgcqjZvI9aO/gf7GuI64J9YAwLE76XVryF+ZYz5zrUn20ysLpgX7W0cwDpwLTXGrMS6sH5bPeIuwWqd+J/9PQD83O7umQDUOmS6Dvuwumi+An6JNVqyHCuBLwGWG2P+h3UN6KZ6rO954AOsM9v1WNcMartmWJc/A18C/zTGVB9YdhfWwJM19n8CTK32muewDlxrsQ74W6HqOvXdwHxjzCqslvfNIlJqjBlnd1WdwBgzEquL7BRgmd93PkZE9mF1h//Lfr+n8+0grSysffRrrGsqzzu9BNXcCZxqL/88VmsPrOS2w35/67Gug+6349iNdbL1P3vdtb2uJufa7302cI1Y186b+r2tA0qMMV9gnYz8D1hrjMkBzsHqZsYYM8sYc3sD1gt1f47XAbcbY9Zi7QNXVbumWJ3/55YIjMc68VuN9Xn/WkSW1bBcXcee5YDXGJNdbZn67KfVPQUMtt9PDtZ+u7CW13qNMV9i/VavtY9ndX2P12N1n66xP4Nsvr2+mI110vd9avl9YHXljzHGnDBuwPZXrO7k1ViXU1Zx4v7Xxt7mcqwxIUtP8jnUyqOPf1JKBYIJcP1aI7b/AyBN6lGPqVoGY49Stq8zNlmrayEqpVqsDpw4wEmpBtEWolJKKYW2EJVSSilAE6JSSikFtNBbt9nDeIdjjfpqdE2KUkqpFiUSq4RsRU1lPy0yIWIlw9rudqKUUqp1O58a7j7WUhPiboB58+bRtWtD7kimlFKqpdqzZw/XX3892DmiupaaECsAunbtSs+edd2LVymlVCtU46U0HVSjlFJKoQlRKaWUAjQhKqWUUoAmRKWUUgrQhKiUUkoBmhCVUkopQBOiUqqZmbdmHqlPpRLxuwhSn0pl3pqmP+Dim2++YdKkSUyYMIHMzEyeeeYZwunBB+eeey4AU6dOZdeuXSfM27x5MxMmTKhz+ZdeegmAjz/+mJdffrnRcTz99NM8/fTTJ0x7//33ue++++q1fHZ2NkuXNvpxhUGnCVEp1WzMWzOPSW9MIq8gDx8+8grymPTGpCYlxcLCQu69915+9atfMXfuXP75z3+yceNGFi6s7dm57nnooYfo3r17g5fLysoC4IILLuCaa65p9PavuuoqlixZcsLJwquvvlrvdWZkZHDRRRc1evvB1lIL85VSzdA/vv4Hs7+cXev85TuWU1px4i0oi8uKuWXxLcxcObPGZW4+82ZuHHRjretcunQpZ599NqmpqQBERkbypz/9iejoaD7//HP++te/Eh0dzdVXX02nTp146qmniI2NpV27dvzhD3+gvLycu+++G5/PR1lZGb/73e9ITU3l5z//OUeOHKGkpIT777+fs88+u2qbZWVlXHLJJSxevJj4+HhmzZpFVFQU55xzDo899hiVlZUUFhby8MMPM2TIkKrlJkyYwCOPPEJiYiL33XcfPp+PTp06Vc1/5513mDfv25ODp59+mpdffpmCggIeeeQRzjjjDLZs2cJ9993H7NmzefPNN4mKimLYsGHcf//9/O1vf2PHjh0cPHiQXbt28ctf/pLzzz+/an3du3enT58+5OTkMHz4cPbv38/OnTsZPnw4e/bs4ZFHHqG0tJT8/HzuvPNORo8ezWWXXUZqaioxMTH07duXjh07cvXVV/Ob3/yGPXv2cPjwYS644ALuvvtuHnzwQWJiYti5cyf79u3jscceY+DAgbzyyissWLCAyspKLrroIn72s5/x9ttvM2fOHCIiIhg6dGi9W6l10RaiUqrZqJ4MTza9Pvbt20evXr1OmNa2bVtiYmKsdZeWMn/+fMaPH8+vf/1rnn32WV566SWGDx9OVlYWq1evJjExkZkzZ/Lwww9z5MgRtm3bxoEDB5g+fTqPP/44JSUlJ6w/OjqaH/7wh7z33nsAvPXWW4wfP55NmzbxwAMPMGfOHCZOnEh2dnaNMb/wwgtcdtllzJ07l9GjR1dNz83NZcaMGcydO5e+ffvy6aefcscdd5CcnMwjjzxS9ToR4e2332bhwoUsXLiQvLw8/v3vfwMQExPDrFmzeOihh5gzZ853tn311VezePFiAF577TUyMzMB2LJlCxMnTuSFF17g17/+dVViLi4uZsqUKTzxxBNV69i9ezeDBw/m+eefZ8GCBSxYsKBqXvfu3Xn++eeZMGECL7/8MgcPHmTmzJnMnz+f7OxsioqK2LVrF3/729+YM2cOCxYsYO/evSxbtqz2L7metIWolAobNw66sc7WXOpTqeQV5H1nep/kPvznpv80apvdu3dn3bp1J0zbvn07e/bsAaBv374AHD58mISEBLp06QLA8OHDeeKJJ7j//vvJzc1lypQpREVFcccdd9CvXz+uv/567r33XsrLy5kwYQI5OTlV199uueUWrrrqKh555BG8Xi+pqamkpKTQuXNnpk2bRlxcHEePHiUhIaHGmL/55hvGjx8PwJAhQ6oSSocOHXjggQdo27YtW7ZsYfDgwTUuv2XLFgYNGkR0dDQAw4YN45tvvgEgPT0dsG59efz48e8sO2rUKJ544glKSkp48803eeGFFwDo1KkTWVlZ/Otf/8Lj8VBeXl61jPMZOtq1a8eaNWtYvnw5CQkJJ2zHf/urVq1i+/bt9OvXj7i4OAB+9atfsXr1ag4dOsSkSZMAOHr0KNu3b6/xvTaEthDDQDAGCSjVEk29aCrx0fEnTIuPjmfqRVMbvc5Ro0bxySefsG3bNsDqznzsscfYuHEjABER1mEyJSWFI0eOsG/fPgC++OILUlNT+fzzz+ncuTOzZ8/mjjvu4IknnkBEOHr0KDNmzOCxxx7j//7v/xg2bBhz585l7ty5XHjhhaSmpuLz+Zg1axZXXXWV9f6mTuWuu+7iT3/6E/379691YI/X6+XLL78EYM2aNQAUFRXxzDPP8OSTT/Loo48SGxtbtXz19Xi9XlavXk15eTk+n48VK1ZUJS2Px1Pn5xUdHc3o0aPJysoiLS2NlJQUwOqeHT9+PH/5y184++yzT9im8xk6srOzSUxM5PHHH+fmm2+mpKSk6vXVt9+7d2+2bNlSlTTvuusuOnToQLdu3Zg9ezZz587lhhtuYNCgQXXGXR/aQnSZM0iguKwYoGqQAMD1p1/vZmhKhR3nN/HQ0ofYVrCN3sm9mXrR1Cb9VhISEnjsscd4+OGH8fl8HD16lFGjRvHjH/+YL774oup1Ho+HRx99lJ/97Gd4PB6Sk5P54x//iMfj4Z577uHFF18kIiKCO++8k9TUVP7+97/z2muvER0dzV133VXjtn/0ox/x9NNPM2LECADGjRvHlClT6NChA127duXw4cM1Lvfzn/+ce+65h7feeqvqAQYJCQkMGTKEK6+8kvj4eJKSkqqSd1paGvfddx/nnHMOAMYYxo4dy3XXXUdlZSVDhw5l9OjRbNiwoV6f2VVXXcWll17K7NnfXu+9+OKLmTp1Ks899xzdunWrNXaAkSNHcu+997Jy5UratGlDnz59qmKtrn379tx2223ccMMNeDweRo0aRY8ePbjpppuYMGECFRUV9OjRg7Fjx9Yr9rp4gjG02BgTAUwDBgGlwK0isslv/m3AZKAceFRElhhjOgLzgTbALmCiiBQbY8YCv7UXXQXcidWyfQIYBsQCj4jIEr/1pwJbly5dGvZPu6irCyj37tzQB6SUUi3Ujh07nFGufUUkt/r8YHWZXgHEichI4EHgcWeGMaYrcBdwLjAG+KP9hPvfAPNF5HzgS2CyMSYR+AtwmYiMAHKBjsAEIFpEzgXGA6cE6X0E3baCbQ2arpRSKjiClRDPA94BEJHlWC05x1nAMhEpFZECYBNwhv8ywNvAaOAcYA3wuDHmE2CviOzHSqQ7jDFvAjOBN4L0PoKud3LvBk1XSikVHMFKiElAgd+/K4wxUbXMKwKSq013pnUERgEPAGOBu40x/e3p/YDLgD8BLwTnbQRfMAYJKKWUarhgDaopBBL9/h0hIuW1zEsE8v2mH/ObdhBYISJ7AIwxHwOD7elLRMQHfGQnyWbJGQxw8+KbOV5xnLbRbXnu8ud0QI1SSoVYsFqIy4BLAIwxI7C6PR1fAOcbY+KMMclAOrDWfxms1uAnwErgNGNMR7uFOQJYB3zqt/5BQLO+4Hb96dfTMb4jAEO6DdFkqJRSLghWQlwElBhjPgOeBO4xxtxrjBlnt/aewUp4HwIPiUgJ8ChwrTFmGTASeNa+XvhL4F3gcyBbRNZiXTf0GGOWAzOA24P0PkKitLyUXUXWDXu3HN7icjRKKdU6BaXswm3NqewCYNOhTfT7Wz+8KV62HN7CsYeOERcV53ZYSinVorhVdqEaIDc/F4Dvp34fgK2Ht7oYjVJKtU6aEMNAXr5VmP/9vlZC1G5TpZQKPU2IYSA3P5cITwQX9LkA0ISolFJu0IQYBvIK8uiR2IPuid1pG92WzYc3ux2SUkq1OpoQw0Bufi6p7VLxeDxVA2uUUkqFlibEMJBXkEefdn0ASGufpglRKaVcoAnRZWUVZewo3EFqcioA3nZWC7EllsMopVQ404Tosp1FO6n0VVa1EL0pXo6VH2PPkT0uR6aUUq2LJkSXOTWIqe1SASshgo40VUqpUNOE6DKnBrFP8rfXEEETolJKhZomRJc5LUTn+Yd9kvvgwaOlF0opFWKaEF2WV5BHt4RuxEbFAhAbFUvPpJ7aQlRKqRDThOgypwbRn5ZeKKVU6GlCdJl/DaLDKb1QSikVOpoQXVRRWcG2gm1VNYgOb4qX3Ud2U1xW7E5gSinVCmlCdNHuI7spryz/TgvRGWmqj4FSSqnQ0YToouo1iA6tRVRKqdDThOii6jWIDichaumFUkqFjiZEFzktxOpdph3adCAxJlFbiEopFUKaEF2UV5BHp/hOxEfHnzDd4/Fo6YVSSoWYJkQX1VSD6PCmeLXLVCmlQkgTootqqkF0eNt52Xp4K5W+yhBHpZRSrZMmRJdU+irJy8/7Tg2iI619GqUVpewu2h3awJRSqpXShOiSfUf3UVpRWnsLUUsvlFIqpDQhuqS2GkSHll4opVRoaUJ0SW01iI7eyb2J8ERoC1EppUJEE6JLaqtBdMRExtA7ubcmRKWUChFNiC7JK8ijfZv2JMUm1foaLb1QSqnQ0YToktz83Fq7Sx36GCillAodTYguySvIq3VAjSOtfRr7ju7jyPEjoQlKKaVaMU2ILvD5fPVrIdojTfUxUEopFXyaEF1w8NhBisuKT9pC1NILpZQKHU2ILjjZCFOHFucrpVToaEJ0gVODeLIWYvs27WkX104TolJKhUBUMFZqjIkApgGDgFLgVhHZ5Df/NmAyUA48KiJLjDEdgflAG2AXMFFEio0xY4Hf2ouuAu4UEZ+9ngHA50AXESkJxnsJhqoW4kmuIYKWXiilVKgEq4V4BRAnIiOBB4HHnRnGmK7AXcC5wBjgj8aYWOA3wHwROR/4EphsjEkE/gJcJiIjgFygo72eJHu9pUF6D0GTV5BHUmwS7eLanfS13hQtvVBKqVAIVkI8D3gHQESWA8P85p0FLBORUhEpADYBZ/gvA7wNjAbOAdYAjxtjPgH2ish+Y4wHmAH8CigO0nsIGmeEqcfjOelr01LSyM3PpaKyIgSRKaVU6xWshJgEFPj9u8IYE1XLvCIgudp0Z1pHYBTwADAWuNsY0x+rC/VNEfk6SPEHVX1qEB3eFC/HK46zs2hncINSSqlWLlgJsRBI9N+OiJTXMi8RyK823Zl2EFghIntE5AjwMTAYuAG4xRjzH6Ar8F6Q3kdQ1KcG0aEjTZVSKjSCMqgGWAZcDvzTGDMCq9vT8QUw1RgTB8QC6cBae5lLgDlYrcFPgJXAafaAm3xgBDBTRE5xVmaMyQV+GKT3EXD5JfkUlhbWu4WYlpIGWAnxwtQLgxeYUkq1csFqIS4CSowxnwFPAvcYY+41xowTkT3AM1gJ70PgIXuE6KPAtcaYZcBI4FkR2Q/8EngXazRptoisDVLMIVHfGkRHr+ReRHoitYWolFJBFpQWoohUArdXm7zBb/5MYGa1ZfYCF9ewroXAwjq2ldqUWEOtvjWIjqiIKPq066OlF0opFWRamB9iDalBdGjphVJKBZ8mxBDLK8gjPjqejvEd671MWkqaJkSllAoyTYgh1pAaRIc3xcuB4gMUlhYGMTKllGrdNCGGWENqEB1aeqGUUsGnCTHEGlKD6PAvvVBKKRUcmhBDqKi0iEPHDmkLUSmlwpAmxBDKK7BKLupbg+hIjkumfZv2bD6kpRdKKRUsmhBDqKE1iP68KV625GsLUSmlgkUTYgg1pgbRoaUXSikVXJoQQyivII/YyFi6JHRp8LLeFC+5+bmUV5af/MVKKaUaTBNiCOXm59I7uTcRnoZ/7N4UL+WV5ewo3BGEyJRy17w180h9KpWI30WQ+lQq89bMczsk1QppQgyhxtQgOrT0QrVU89bMY9Ibk8gryMOHj7yCPCa9MUmTogo5TYgh1JgaRIdTeqEjTVVL89DShyguKz5hWnFZMQ8tfciliFRrpQkxRI6VHWPf0X2NbiH2TOpJdES0thBVi7OtYFuDpisVLJoQQ6SxNYiOyIhIUtulaumFanF6JfeqcXrv5N4hjkS1dpoQQ6QpNYgOfQyUaomuGXjNd6bFR8cz9aKpLkSjWjNNiCHSlBpEhzfFq9cQVYuz4cAGkmKS6JnUE4CkmCRmXD6D60+/3uXIVGujCTFE8gryiIqIonti90avw5vi5XDJYQ4fOxzAyJRyz7aCbbz5zZv89Kyfsv2e7Vx8ysV0iO/Aj0/7sduhqVZIE2KI5Obn0iuS6cElAAAgAElEQVSpF5ERkY1eh1N6sTV/a6DCUspVM1bOAGDS0EkAZKZnsjV/K1/v/drNsFQrpQkxRJpSg+jQ0gvVkhyvOM6sVbO4tN+lVYPNxpvxRHgieHXdqy5Hp1ojTYghkpuf2+gRpg59DJRqSRatX8Teo3u5Y9gdVdM6te3EBX0uIHtDtouRqdZKE2IIlJaXsqtoF6nJqU1aT2JsIp3iO2lCVC1CVk4Wfdv1ZcwpY06YnjEgg3X717HhwAaXIlOtlSbEENheuB1ofA2iP30MlGoJ1u1fx0d5H3H7sNu/c2/fK9OvBCB7vbYSVWhpQgwBp+SiqdcQQUsvVMswPWc6MZExTBw88Tvzeib15OweZ2tCVCGnCTEEnKL8ptQgOrwpXrYVbKOsoqzJ61LKDUeOH+HFr1/kqlOvolPbTjW+JjM9k5W7V1adTCoVCpoQQyA3P5cIT0RV4XFTpKWkUeGrqOqGVaq5WbBmAYWlhScMpqkuIz0DsAbeKBUqmhBDIK8gjx6JPYiOjG7yurT0QjVnPp+PaTnTOKPLGZzT65xaX5fWPo1BXQbx6notv1ChowkxBHLzcwNy/RC09EI1b5/v/Jyv9nzFHcPuwOPx1PnajPQMPtv+GbuLdocoOtXaaUIMgbyCvICMMAXokdSDmMgYTYiqWcrKySIhJqFe9ynNSM/Ah4/XNrwWgsiU0oQYdGUVZewo3NHkGkRHhCeCvu36svmwdpmq5uVg8UFeXvsyE86YQGJs4klfP7DTQPp36K9F+ipkNCEG2c6inVT6KgPWQgR9DJRqnuZ8NYfSitI6B9P483g8ZAzI4N9b/83B4oNBjk4pTYhBF8gaRIc3xcvmw5vx+XwBW6dSwVTpqyQrJ4vzep/H6V1Or/dymadmUuGr4I2NbwQxOqUsmhCDLJA1iI60lDQKSws5XKKPgVLNwwdbPmDz4c31bh06hnYbSu/k3jraVIWEJsQgc1qIvZN7B2ydWnqhmpusnCw6xXciMz2zQcs53abvbX6PotKiIEWnlEUTYpDlFeTRLaEbsVGxAVunll6o5mRH4Q5el9e55cxbGvU7yEjP4HjFcd785s0gRKfUt6KCsVJjTAQwDRgElAK3isgmv/m3AZOBcuBREVlijOkIzAfaALuAiSJSbIwZC/zWXnQVcCeQBLxk/z8GuFdE/huM99JUgaxBdGhCVM3JjJUz8Pl8TB42uVHLn9PrHLq07UL2+myuPe3aAEen1LeC1UK8AogTkZHAg8DjzgxjTFfgLuBcYAzwR2NMLPAbYL6InA98CUw2xiQCfwEuE5ERQC7QEbgXWCoi3wNuAv4epPfRZIF4MHB1bWPa0qVtFy29UGGvrKKMWatmMbbf2Eb/DiIjIrliwBW89c1bHCs7FtgAlfITrIR4HvAOgIgsB4b5zTsLWCYipSJSAGwCzvBfBngbGA2cA6wBHjfGfALsFZH9wJPAc/Zro4CSIL2PJqmorGBbwbaADqhxaOmFag4Wy2J2H9nNlGFTmrSezPRMjpYd5b3N7wUoMqW+K1gJMQko8Pt3hTEmqpZ5RUBytenOtI7AKOABYCxwtzGmv4jki8gxu7X5EvDLIL2PJtl9ZDflleUBbyGCda9HTYgq3E1bMY0+yX24+JSLm7SeC1MvJCUuRYv0VVAFKyEWAv63oogQkfJa5iUC+dWmO9MOAitEZI+IHAE+BgYDGGNOB5YCvxKRj4L0PprEGWEayKJ8h7edl+2F2zlecTzg61YqEDYc2MC/c//N5KGTiYyIbNK6oiOjGWfG8bq8rvu8CppgJcRlwCUAxpgRWN2eji+A840xccaYZCAdWOu/DFZr8BNgJXCaMaaj3cIcAawzxpwKvAL8WETeDtJ7aDKnBjEYLURvipdKX2XVNpQKN9NzphMdEc0tQ24JyPoy0jPIL8nnP7n/Ccj6lKouWAlxEVBijPkM63rfPcaYe40x40RkD/AMVsL7EHhIREqAR4FrjTHLgJHAs/b1wl8C7wKfA9kishb4IxAHPG2M+Y8xZnGQ3keTBKMG0aEjTVU4O3r8KHO+msOPTv0Rndt2Dsg6f5j2Q9pGt+XVdVqkr4IjKGUXIlIJ3F5t8ga/+TOBmdWW2Qt850KDiCwEFlabNj5gwQZRXkEendt2Jj46PuDrTmufBmhCVOFp4dqFFJQWNPjONHWJi4rj0v6X8pq8xrRLpzW5G1ap6rQwP4hy83ODMsIUoGtCV+Ki4rT0QoWlrJwsBnYayHm9zwvoejMGZLDv6D6WbV8W0PUqBZoQgyoYNYgO5zFQ2kJU4WbFzhWs3L2yXg8BbqhL+l1CbGQs2et1tKkKPE2IQeIMeAlWCxG09EKFp6ycLNpGt2XCoAkBX3dibCI/TPsh2euz9WkvKuA0IQbJvqP7KK0oDVoLEazSC30MlAonh44dYsHaBdxwxg0kxSYFZRuZ6ZlsL9xOzq6coKxftV6aEIMkmDWIDm+KlyPHj3Cg+EDQtqFUQ7z41YuUlJcEdDBNdZeby4mKiNJHQqmA04QYJMGsQXRo6YUKJz6fj+krp3NOr3MY1HVQ0LbTvk17RqWO4tX1r2rviAooTYhBUtVCDPI1RNCEqMLDh1s/ZOPBjUFtHToy0jPYdGgTa/etDfq2VOuhCTFI8gryaN+mPYmxiSd/cSM5rU8tvVDhYFrONDq06cCPTv1R0Ld1xYAr8ODR0aYqoDQhBkkwaxAd8dHxdEvopi1E5bqdhTtZvGExN595M3FRcUHfXteErpzb+1y92bcKKE2IQRLMGkR/WnqhwsGsVbOo9FUyeWjjHgLcGJnpmazeu5pNhzad/MVK1YMmxCDw+XwhaSGCNbBGu0yVm8oqypixagZjThlTdV07FK4ccCWAdpuqgNGEGAQHjx2kuKw4JC1EbzsvOwt3UlIels9IVq3AGxvfYFfRrpAMpvHXp10fhnUfpuUXKmA0IQZBKGoQHWnt0/Dh08dAKddk5WTRK6kXl/a7NOTbzhiQwRc7v2B7wfaQb1u1PJoQgyAUNYgOrUVUbtp4cCMfbPkgIA8BbozMUzMBWLRhUci3rVoeTYhBEIoaRIeTEPU6onLD9JzpREVEBewhwA3Vv0N/BnYaqNcRVUBoQgyCvII8kmKTaBfXLujb6tK2C/HR8dpCVCF3rOwYc76aQ0Z6Bl0TuroWR2Z6Jp9s+4R9R/e5FoNqGTQhBoEzwjTQj76picfjwZvi1YSoQu7l/73M4ZLDIR9MU11GegaVvkoWb1jsahyq+dOEGAShqkF0aOmFckNWThbpHdP5Xp/vuRrHGV3OwJvi1dGmqsk0IQZBqGoQHd52VgtRb3SsQmXlrpV8sfOLoDwEuKE8Hg+Z6Zks3bqU/JJ8V2NRzZsmxADLL8mnsLQwpC3EtPZpFJcV6zUUFTJZOVnER8dz46Ab3Q4FsLpNyyvLeUPecDsU1YxpQgywUNYgOnSkqQql/JJ85q+Zz/WnX09yXLLb4QBwVo+z6JHYQ+9tqppEE2KAhbIG0aG1iCqU/vH1PzhWfsz1wTT+IjwRXDngSt7Z9A5Hjh9xOxzVTGlCDLBQ1iA6Utul4sGjCVEFnc/nIysni7N7nM2Z3c50O5wTZJ6aSUl5Ce9sesftUFQzpQkxwPIK8oiPjqdjfMeQbTMuKo4eST00Iaqg+0/uf9hwYENYtQ4d5/U+j47xHXW0qWo0TYgBFsoaRH9aeqFCISsni/Zt2nP1wKvdDuU7oiKiuMJcwZKNS/Rm96pRNCEGWKhrEB1anK+CbXfRbhZtWMTEwRNpE93G7XBqlJGewZHjR1i6ZanboahmSBNigIW6BtGRlpLGrqJdHCs7FvJtq9Zh1qpZlFeWh/QhwA11kfcikmKTtNtUNYomxAAqKi3i0LFDrrUQAbbmbw35tlXLV15ZzoxVM/iB9wf069DP7XBqFRMZw+X9L2exLKa8stztcFQzowkxgPIKrJKLUNYgOrT0QgXTmxvfZEfhDqYMn+J2KCeVmZ7JoWOH+Cj3I7dDUc2MJsQAcqMG0aEJUQXTtJxp9EzqyWX9L3M7lJMac8oY4qPj9ZFQqsE0IQaQGzWIjk7xnUiISWDzIR1pqgJr06FNvLf5PW4bchtREVFuh3NS8dHxjD1lLIs2LKLSV+l2OKoZ0YQYQHkFecRGxtIloUvIt131GKh8bSGqwHou5zkiPZHcOuRWt0Opt4z0DHYf2c3yHcvdDkU1I5oQAyg3P5feyb2J8LjzsWrphQq0Y2XHmP3VbK5Mv5Luid3dDqfeLu13KdER0by6TkebqvrThBhAbtUgOtJS0vQxUCqgXln3CoeOHQrLO9PUJTkumR+k/YDsDdn6e1D1FpQLAsaYCGAaMAgoBW4VkU1+828DJgPlwKMissQY0xGYD7QBdgETRaTYGDMW+K296CrgTiAOeAnoDBQBPxGR/cF4Lw2Rm5/LuP7jXNu+N8VLSXkJu4/sblZn8yp8ZeVkYToYRqWOcjuUBssYkMFb37zFl3u+ZEi3IW6Ho5qBYLUQrwDiRGQk8CDwuDPDGNMVuAs4FxgD/NEYEwv8BpgvIucDXwKTjTGJwF+Ay0RkBJALdATuANbYr/0H8HCQ3ke9HSs7xr6j+1xtIepIUxVIX+35iuU7lofFQ4AbY/yA8UR4InS0qaq3YCXE84B3AERkOTDMb95ZwDIRKRWRAmATcIb/MsDbwGjgHGAN8Lgx5hNgr90SrOm1rnKzBtGRlpIGaEJUgZG1Ios2UW34yeCfuB1Ko3SM78j3+nxP71qj6i1YCTEJKPD7d4UxJqqWeUVAcrXpzrSOwCjgAWAscLcxpn8tr3WVmzWIjj7t+uDBo6UXqskKSgp4ac1LXHfadbSLa+d2OI2WmZ7JhgMbWL9/vduhqGYgWAmxEEj0346IlNcyLxHIrzbdmXYQWCEie0TkCPAxMLiW17rKzRpER0xkDL2Se2nphWqyuavnUlxWzB3Dm9dgmuquGHAFgLYSVb0EKyEuAy4BMMaMwOr2dHwBnG+MiTPGJAPpwFr/ZbBag58AK4HTjDEd7RbmCGBdLa91VV5BHlERUa4PZtHSC9VUzkOAh3cfzrDuw06+QBjrkdSDkT1H6nVEVS/BSoiLgBJjzGfAk8A9xph7jTHjRGQP8AxWEvsQeEhESoBHgWuNMcuAkcCz9vXCXwLvAp8D2SKyFsgCBhpjPgUmAb8L0vuot9z8XHol9SIyItLVOJzSC6Ua6+O8j1m3f12zK7WoTUZ6Bl/u+ZKth/XG96puQSm7EJFK4PZqkzf4zZ8JzKy2zF7g4hrWtRBYWG1aMXBVoOINBLdrEB3eFC97juzh6PGjtI1p63Y4qhnKysmiXVw7rjntGrdDCYiM9Azuf/9+stdn84tzfuF2OCqMaWF+gOTm57o6wtShj4FSTbH3yF6y12dz06CbiI+OdzucgPCmeBncdTDZG7TbVNVNE2IAlJaXsrtoN6nJqW6HoqUXqkme//J5yirLuH1Y9Q6e5i0zPZPPtn/GrqJdboeiwpgmxADYXrgdH76w6TIFtPRCNVhFZQXPrXyOi/pehOlo3A4noDLSMwB4bcNrLkeiwpkmxACoKrkIgy7T9m3akxSbpC1E1WBvffMW2wq2tZjBNP5O7XQqAzoO0PILVSdNiAEQDkX5Dn0MlGqsrJwsuiV0Y5xx7368wZQxIIOPcj/iQPEBt0NRYUoTYgDk5ucS4YmgR2IPt0MBrOuI2mWqGmLL4S28s+kdJg2dRHRktNvhBEVGegYVvgpel9fdDkWFKU2IAZBXkEfPpJ5hcyDxpnjZmr9Vnxau6u25nOeI8ERw25Db3A4laIZ0G0Kf5D5apK9qpQkxAHLzc129ZVt13hQvxyuO64g6VS+l5aXM/mo248w4eiSFRy9HMHg8HjLSM3h/y/sUlha6HY4KQ5oQAyBcivIdWnqhGuJf6/7FgeIDTBk+xe1Qgi4zPZPjFcd5c+ObboeiwpAmxCYqqyhjR+GOsGshgpZeqPqZljONfu378f2+33c7lKAb2WskXRO66mhTVSNNiE20s2gnlb7KsGoh9k7uTaQnUluI6qRW713NZ9s/4/ZhtxPhafmHgwhPBFcOuJK3N71NcVmx2+GoMNPyfwFBFk41iI7oyGh6J/fW0gt1UlkrsoiLiuOmwTe5HUrIZKRnUFxWzLub3nU7FBVmNCE2UTjVIPrzpni1y1TVqbC0kJfWvMS1p11L+zbt3Q4nZL7X53u0b9Ne722qvkMTYhM5LcReSb3cDaQafS6iOpmXVr/EkeNHWuSdaeoSHRnNODOON+QNjlccdzscFUY0ITZRXkEe3RO7ExsV63YoJ/CmeNlfvJ+i0iK3Q1FhyHkI8JBuQxjefbjb4YRcZnomBaUFfLj1Q7dDUWFEE2IThVsNosMpvdDHQKmaLNu+jLX71nLHsDvweDxuhxNyo72jSYhJ0CJ9dQJNiE0UbjWIDi29UHXJyskiOTaZ6067zu1QXBEXFcdl/S/jtQ2vUVFZ4XY4KkxoQmyCisoKthVsC8sWopMQ9Tqiqm7f0X288r9X+Mmgn9A2pq3b4bgmY0AG+4v38+m2T90ORYUJTYhNsPvIbsory8OyhZjSJoWUuBRNiOo7Zn85u0U+BLihxvYbS1xUnBbpqyqaEJsgHGsQ/XlTvGw+rF2m6lvOQ4AvTL2Q9E7pbofjqoSYBMakjSF7fbbeCF8BmhCbJFxrEB1aeqGqe3fzu+Tm5zJlWMu/b2l9ZKRnsLNoJyt2rnA7FBUGak2Ixpin/f6+3u/vRcEOqrlwWoi9k3u7G0gtvClecvNzddCAqjJtxTS6JnTligFXuB1KWLi8/+VERUTpaFMF1N1CPN3v71v8/m4XpFianbyCPDq37Ux8dLzbodQoLSWNskrr5uNK5ebn8tY3b3HrmbeGzbM73ZbSJoXv9/0+r65/FZ/P53Y4ymV1JURPLX/rXmML1xpEh440Vf5mrJyBx+Nh0tBJbocSVjLTM9l8eDNr9q1xOxTlsroSoq+Wv5UtXGsQHZoQlaO0vJRZq2Zxef/L6ZUcXrcZdNt4Mx4PHl5dp6NNW7uoOualGWP+gNU69P/bG5LIwlylr5K8/DzG9R/ndii16pXci6iIKE2Iiuz12ewv3t/q7ltaH10SunB+n/PJ3pDN70b9zu1wlIvqaiH+BhBgQ7W/fxuCuMLevqP7KK0oDesWYlREFH2S+2jphSIrJ4u0lDR+kPYDt0MJSxkDMli7by0bD250OxTloloTooi8CLwpIi/afx8Adtp/t3rhXoPo0NILtXbfWj7Z9kmreQhwY2SkZwDoaNNWrq6yix8Dy40x0caY3wAPA3caYx4OWXRhLNxrEB2aEFXWiixiI2OZOHii26GErV7JvRjefbgmxFaurtPFm4FBIlIG3A5kAJnAZaEILNxVtRDDeJQpWKUXB48dpKCkwO1QlAuOHD/C3NVzuXrg1XSI7+B2OGEtMz2TFbtWsK1gm9uhKJfUlRArROSoMeZUYL+I7BaRSkCrvLFGmLZv057E2ES3Q6mTjjRt3eatnkfR8SIdTFMPTrfpovV675HWqq6EGGmMSQJ+BLwNYIzpCWhFL+Ffg+jQhNh6+Xw+puVMY3DXwYzoOcLtcMJevw79OL3z6Xqz71asroT4OLAauAR4whhzFvAp8PtQBBbuwr0G0aEJsfX6747/snrv6lb7EODGyEjP4NNtn7L3yF63Q1EuqGuU6dsikioiI0RkH1bZxdkisiR04YUnn8/XbFqIyXHJdGjTQUsvWqGsnCwSYxL58ek/djuUZiMzPRMfPl7b8JrboSgX1FqYb48srWk6IlJnK9EYEwFMAwYBpcCtIrLJb/5twGSgHHhURJYYYzoC84E2wC5googUG2OeAc4FiuzFxwPJwFysGwUcAn4sIsX1eL8BcfDYQYrLiptFCxF0pGlrdKD4AP/83z+5bchtJMQkuB1Os3Fa59M4pf0pZG/IZvKwyW6Ho0Ksri7TnwETsJLmHmCv338ncwUQJyIjgQexul8BMMZ0Be7CSnJjgD8aY2Kxiv/ni8j5wJdYCRNgCDBGRC60/ysA7gFeFpELgP9x4s3Hg6651CA60tqnaUJsZV748gWOVxzXwTQN5PF4yBiQwYdbP+TwscNuh6NCrK6E2A0r8aQBl2O19OaJyHP1WO95wDsAIrIcGOY37yxgmYiU2sltE3CG/zJYg3hG2y3NfsAMY8wyY8zN9vyvgBT77ySgrB4xBUxzqUF0eNt5ySvIo7yy3O1QVAhU+iqZvnI6F/S5gIGdB7odTrOTeWom5ZXlvLHxDbdDUSFW1zXEchFZIiLXA9cBlcB8Y8zCeqw3CfAvfKswxkTVMq8IqwvUf7ozrS3wN+AG4GJgijHmDGAH8FNjzP+AscAr9YgpYJpLDaLDm+KlvLKc7QXb3Q5FhcB7m99jy+Et2jpspGHdh9EzqaeONm2F6nsfp6FYXZx9sJLRyRQC/gV6ESJSXsu8RCC/2nRnWjHwtIgUi0gR8CHWdcm/ADeJyEDg58A/6vk+AiKvII+k2CTaxTWPR0PqSNPWJSsni85tO1fV1amGifBEkDEgg3c3vcuR40fcDkeFUF23bhtujHnCGLMGuB5YAAwWkfvqsd5lWOUaGGNGAP4PGvsCON8YE2eMSQbSgbX+y2C1+j4B+gOfGmMijTHRWN2qq4DDfNua3MW33ach4YwwbS5D2dPapwHoSNNWYFvBNpZsXMKtZ95KTGSM2+E0WxnpGZRWlPLWN2+5HYoKobpaiJ9jDXp5DzgI/BCYaj8G6mQWASXGmM+AJ4F7jDH3GmPGicge4BmshPch8JCIlACPAtcaY5YBI4FnRWQ9MA9YDnwE/ENE/oc14OcPxpiPgKeBOxv6xpuiudQgOnok9iA6IlpbiK3AjJUz8Pl8+hDgJjqv93l0iu+k9zZtZep6HmKj7wRs3+Lt9mqTN/jNnwnMrLbMXqzrhNXX9Wfgz9WmrQO+39j4mio3P5cLel/g1uYbLDIiktR2qZoQW7jjFceZtWoWl/a/tNmMgA5XkRGRXDHgChasXUBJeQlxUXFuh6RCoNaEqI95qll+ST6FpYXNqoUIWnrRGry24TX2Ht3LlGFT3A6lRchMz2Tmqpm8v/l9LjeXux2OCgF9OFoDNbcaRIe3nVevIbZw01ZMo2+7vow5ZYzbobQIo/qOIjk2WUebtiKaEBuoudUgOrwpXvJL8rXYuIVat38dH+V9xOShk/UhwAESExnDODOO1+V1yipCWuqsXFLXrdturG2eiIS0zCGcNLcaRId/6cXQNkNdjkYF2vSc6cRExnDzmTef/MWq3jLSM5i7ei4f5X3EaO9ot8NRQVbXqWS6/d9E4BqgF9ZDgq8JQVxhK68gj/joeDrGd3Q7lAbR0ouW6+jxo7z49YtcdepVdGrbye1wWpQxaWOIj47n1XXabdoa1DWo5pcAxph3RORSZ7ox5r1QBBaumlsNoqNvu76AFue3RPPXzKewtFDvTBMEbaLbcEm/S1i0YRHPXvIskRGRboekgqg+Fxs6G2PaARhjOgAdghtSeGtuNYiOxNhEOsV30oTYwvh8PrJysji98+mc0+sct8NpkTLTM9l7dC//3fFft0NRQVafhDgVyDHGrMIq1r87uCGFt+byHMSaaOlFy/PFzi/4cs+X+hDgILqk3yXERMZokX4rUJ+EmCcip2AVzZt6LtMiFZUWcejYoWbZQgRrYI1eQ2xZpuVMIyEmgRvOuMHtUFqspNgkfuD9Adnrs/H5fG6Ho4KornuZnm+MmQy8ZIyZhPWMw9uAv4cquHCTV2CVXDS3GkSHt52XbQXbdAh5C3Gw+CAvr32ZCWdMIDE28eQLqEbLTM8kryCPVbtXuR2KCqK6WnuHga5ALNazEbsBnYD/F4K4wlJzrUF0pLVPo9JXybaCbW6HogJgzldzKK0o1cE0ITDOjCPSE6lF+i1cXc9DXCsivwPOtf//NPCUiLTa2787NYjNNSE6tYjabdr8OQ8BPq/3eZze5XS3w2nxOsR34MLUC3l1/avabdqC1dVlOsQY8yWw3xiTAQjW4JpWe1O/vII8YiNj6dy2s9uhNIo+F7Hl+GDLB2w6tElbhyGUkZ7BxoMbWbd/nduhqCCpq8t0KvATESnDejTTWGA48GAoAgtHufm59GnXp9neGqt7YndiI2M1IbYAWTlZdIrvRGZ6ptuhtBpXDrgSDx4dbdqC1XVkjxCR1caY7kBbEVklIoVAZYhiCzt5BXnNtuQCrCeB903pq12mzdyOwh28Lq9z85k3ExsV63Y4rUa3xG6M7DVSryO2YHUmRPv/FwMfABhjYoFWO5wtNz+32V4/dHhTvNpCbOZmrpyJz+dj8tDJbofS6mSmZ/L13q/ZfEhPKluiuhLiB/bT6x8B/maMSQPeAF4ORWDh5ljZMfYd3desW4hglV5sObxFBwY0U2UVZcxcNZOx/cbSN6Wv2+G0OlcOuBJAu01bqLpGmf4JuBU4U0S+sidnicgfQxJZmHFqEJt7CzGtfRqFpYUcOnbI7VBUIyyWxew+slsH07ikb0pfhnQbQvYGTYgtUa039wYQkfV+f28GWm0/gVOD2FyL8h3+pRcd4lv1bWmbpaycLPok92HsKWPdDqXVyhiQwcP/fpidhTvpkdTD7XBUADXP4ZIuaO41iA4tvWi+NhzYwIdbP2Ty0Mn61AUXZZ5qjexdtGGRy5GoQNOEWE95BXlERUTRLaGb26E0iT4GqvmanjOd6Ihobhlyi9uhtGoDOg4gvWO6XkdsgTQh1lNufi69k3s3+zPztjFt6ZrQVUfJNTPFZcW8+PWLZJ6a2WxvDNGSZKZn8lHeR+w/ut/tUFQAaUKsp+Zeg+jPm+JlS762EJuThWsXkl+Sr4NpwkRGegaVvkpel9fdDkUFkCbEemoJNYgOrUVsfqatmMbATgM5v/f5boeigMFdB5PaLlWL9FsYTUl7OvgAACAASURBVIj1UFpeyu6i3S2mhZiWksb2gu0crzjudiiqHlbsXMHK3Sv1IcBhxOPxkJmeyQdbPqCgpMDtcFSAaEKsh+2F2/Hha1EtRB++qpGzKrxl5WTRNrotEwZNcDsU5ScjPYOyyjKWbFzidigqQDQh1kNLqUF0aOlF83H42GEWrF3ADWfcQFJsktvhKD8jeo6gW0I3LdJvQTQh1kNLqUF0aEJsPuZ8NYeS8hIdTBOGIjwRXDngSt7+5m2OHj/qdjgqADQh1kNufi4Rngh6JLaMu1J0S+hGXFScll6EOZ/Px/SV0xnZcySDug5yOxxVg8xTMzlWfox3N7/rdigqADQh1kNeQR49k3oSHRntdigB4fF4tPSiGfhw64dsPLhRW4dh7II+F9ChTQcdbdpCaEKsh9z83BYzwtShpRfhLysniw5tOnDVwKvcDkXVIioiivFmPEs2LqG0vNTtcFQTaUKsh7yCvBZz/dCRlpLG5kOb9TFQYWpn4U5e2/AaN595M3FRcW6Ho+qQkZ5BYWkhS7cudTsU1USaEE+irKKMHYU7WmQL8WjZUfYX662nwtGsVbOo8FXoQ4CbgdHe0STGJOq9TVsATYgnsbNoJ5W+yhbXQtSRpuGrvLKcmatmMiZtDGnt09wOR51EbFQsl/W/jMWymPLKcrfDUU2gCfEknJKLllKD6EhLsQ60mhDDzxvyBjuLdjJl+BS3Q1H1lJmeyYHiA3yS94nboagmqPMBwY1ljIkApgGDgFLgVhHZ5Df/NmAyUA48KiJLjDEdgflAG2AXMFFEio0xzwDnAkX24uPt5bKAvvD/27vz8CjLe//j78lCQoCEACIiEAjLl6iAIoIboiKCUgQmPVaLtmoV17q01+npKefU0/7k9Pr1dEmAgmJdao2/nlaC+9ZKtYoFREBZkls2WWTfQiAkZJnfHzPBISQskplnZvJ5XRfXRe7neeb5zlwz85lnue+bVsD3nXOLIvFc6jvlJ9oRYv3zUdeL2DNz8Uy6Z3ZnbN+xXpciJ2lMnzG0TmlNcUkxV/W6yuty5GuK1BHiBCDdOXcJ8GPg1/ULzKwL8CDBkBsN/MLM0oCfAi8454YDSwkGJsBgYLRz7srQvzLgX4EVoXXvAixCz+PIEWL3zO6R2oUnWqe2pmu7rup6EWNW717N39b9jckXTo77qcZakjat2jCmzxiKS4upC9R5XY58TZEKxMuBtwCccwuAIWHLhgLznXNVoXBbAwwM3wZ4E7gmdKTZF5htZvPN7I7Q8tHAYTN7G/hPIGK9YjeUbaBru66kpaRFaheeUdeL2PP44sdJSUrhzsF3el2KnCJ/np8t5VtY9GVETlZJFEQqEDOB8CHga80spYll5UBWg/b6tjbAdOAWYAxwn5kNBDoB2c650cCrwK8i9DwSsg9ivfquFxIbDlUf4pllz+DP89OlbRevy5FT9I1+3yA1KZU5q9RJP15FKhD3A+3C9+Ocq2liWTtgX4P2+rYKoNA5V+GcKwfmEbwuuRuon5nzVY4+Am1WidgHsV5udi5fln9JZU2l16UI8L8r/5e9lXs1Mk2cap/enpG5IykuLVb/3jgVqUCcD1wPYGYXA8vDli0ChptZupllAXnAivBtgOuAD4B+wIdmlmxmqQRPqy4BPgxb9wpgZSSeRG1dLRvLNibsEWJ91wtNAxUbZi2eRV6nPEbkjPC6FPma/P39rNu7jk+3f+p1KfI1RCoQ5wKVZvYR8FvgETP7gZnd4JzbBkwjGHjzgCnOuUrgMeAmM5sPXALMcM6VAEXAAuB94Dnn3Ergv4ELzOyfwA8J3mTT7LYe2EpNXU3CHiGq60Xs+GTLJyz6cpEmAY5z4/uPJ8mXpE76cSoi3S6cc3XAPQ2aS8OWPwk82WCb7QSvEzZ8rF8Cv2zQtgfwN1e9TUnUPoj16o8QdR3Re7MWzyIjNYPvDPqO16XIaejcpjPDewxnTskcfn7Vz70uR06ROuYfR6L2QazXuU1nMlIzdITosX2V+3hh+Qt8+7xvk5We5XU5cpry8/JZtXMVpbtKT7yyxBQFYhOKlhdx/xv3A3DtH6+laHmRxxU1P00DFRue+/Q5DtUc4t6LdDNNIpiYNxFAp03jkAKxEUXLi5j86mTKqoK9QDbt38TkVycnZCiq64W3AoEAsxbPYtjZwxh81mCvy5Fm0C2zG8POHqZAjEMKxEZMeXcKFdUVR7VVVFcw5d0pHlUUOfWd83WbuDfe++I9SneVqqtFgvHn+flk6ye6gzvOKBAbsbFs4ym1x7Pc7FwO1Rxi+8HtXpfSIs1aPIvs9GxuPPdGr0uRZuTPC97zN7dkrseVyKlQIDaiR1aPU2qPZ/VdL3TaNPq2lm9lbulcbj//dlqntva6HGlGfTr0YeCZAyku1WnTeKJAbMTUkVPJSM04qi0jNYOpI6d6VFHkaF5E7/x+ye+pqavhniENeyhJIsjPy2f+xvlsO7DN61LkJCkQGzFpwCRmj5tNTlYOPnzkZOUwe9xsJg2Y5HVpza5n+5748CkQo6ymrobZS2YzKncUfTv29bociQB/np8AAV4qfcnrUuQkRaRjfiKYNGBSQgZgQ2kpaXTL7KauF1H2+uevs3n/ZqaNmeZ1KRIh555xLv069mNOyRydBYgTOkIUcrNzdQ0xymYtnsXZ7c5mnI3zuhSJEJ/Ph7+/n7+v/zt7Du3xuhw5CQpE0byIUbZmzxreXvs2ky+cTEqSTtIksvxz8qkN1PKKe+XEK4vnFIhCbnYuWw9sPabvpUTGE4ufINmXrEmAW4ALz7qQ7pnd1Uk/TigQ5UjXi/V713tcSeKrrKnkmWXPMKH/BLq26+p1ORJhPp8Pf56fd9a+Q3lVudflyAkoEEVdL6LoLyv/wu5Du7nvovu8LkWiJD8vn6raKt5Y/YbXpcgJKBBFgRhFMxfPxDoaV/W8yutSJEou7X4pndt0Zk7JHK9LkRNQIAqdMjrRrlU7BWKELdu2jAWbF3DPkHs0CXALkpyUzMT+E3lj9Rscqj7kdTlyHApEOTIN1Nq96noRSbM+nkXrlNZ8d9B3vS5Fosyf5+dg9UHeWfuO16XIcSgQBVDXi0grqyyjaHkRN593M9mts70uR6Lsqp5X0T69vcY2jXEKRAGCgbh+33rqAnVel5KQ/vjZHzlYfVCTALdQqcmp3GA38Ip7hcO1h70uR5qgQBQg2PWisqaSreVbvS4l4dRPAjyk6xCGdB3idTnikfy8fPZV7uO9L97zuhRpggJRAN1pGkkfbPyAVTtXaRLgFm5U7ijapLZhzirdbRqrFIgCKBAjaebHM2mf3p6bzrvJ61LEQ61TWzO231heci9RW1frdTnSCAWiAJDTPockX5LuNG1m2w9sp7ikmNsG3XbMHJvS8vj7+9lxcAcfbfrI61KkEQpEAaBVciu6Z3bXEWIze2rpU1TXVWv6HwHg+r7Xk5acpk76p6BoeRE9C3qS9LMkehb0pGh5UcT2pUCUI9T1onnV1tXyxCdPcHWvq7FO5nU5EgPapbXj2t7XUlxSTCAQ8LqcmFe0vIjJr05mQ9kGAgTYULaBya9OjlgoKhDlCAVi83pj9RtsLNvIfUM0bql8JT8vn037N7F4y2KvS4l5U96dcswsPBXVFUx5d0pE9qdAlCN6Z/dm+8HtHDh8wOtSEsKsxbM4q+1Z3GA3eF2KxJBxNo5kX7KmhDoJG8s2nlL76VIgyhH1d5pqGqjTt37vet5a8xZ3Db6L1ORUr8uRGNKhdQeu6nUVc0rm6LTpCfTI6nFK7adLgShHqOtF83nikydI8iVx14V3eV2KxKD8vHxW71nNyp0rvS4lpk29eio+jh4IPyM1g6kjp0ZkfwpEOaJ3h+BEwep6cXqqaqp4aulT3GA30C2zm9flSAya0H8CPnzqpH8CXdt1JUCADq074MNHTlYOs8fNZtKASRHZX0pEHlXiUnZ6NllpWTpCPE0vrnqRXRW7NDKNNKlL2y5c1uMyikuLefTKR70uJ2YVLCygU0YnNj68kdaprSO+Px0hyhH100ApEE/PrMWz6NOhDyNzR3pdisQwf38/n23/jDV71nhdSkxau2ctr7pXufvCu6MShqBAlAZ6d+itQDwNn23/jPmb5nPvkHtJ8unjJU3z5/kBdLdpE2YsmkFyUjL3XRS9bkv6xMpRctsHp4HSWItfz6yPZ5Geks5t59/mdSkS43La53DhWRdq1JpG7K/az1NLn+LGc2+ka7uuUdtvRK4hmlkSMBMYBFQBdzrn1oQtvwu4G6gBHnPOvWZmnYAXgNbAFuB251yFmU0DLgPKQ5uPd86VhR7nCqDIOdc9Es+jJcrNzuVw7WG2lG+he5Ze1lNRXlXO88uf51vnfosOrTt4XY7Egfy8fH4y7ydsKtukz1uYZ5c9S/nhch4a9lBU9xupI8QJQLpz7hLgx8Cv6xeYWRfgQYIhNxr4hZmlAT8FXnDODQeWEgxMgMHAaOfclaF/9WHYHfghoE5ezUhdL76+5z97ngOHD+hmGjlp9adN55bO9biS2FFbV8u0hdO4pNslDD17aFT3HalAvBx4C8A5twAInxV1KDDfOVcVCrc1wMDwbYA3gWtCR5p9gdlmNt/M7gAws3TgcUBjYjUzdb34egKBADMXz2TwWYOj/iGW+GWdjHPPOFfXEcO8sfoN1u5dy8MXPxz1fUcqEDOBsrC/a80spYll5UBWg/b6tjbAdOAWYAxwn5kNBGYAv3LOfRmh+lus7pndSfYl6wjxFM3fNJ8VO1Zw75B78fl8J95AJMSf5+eDjR+w4+AOr0uJCQULC+iW2Y2J/SdGfd+RCsT9QLvw/TjnappY1g7Y16C9vq0CKHTOVTjnyoF5wAXAcOBRM3sP6GBmf4rQ82hxUpNT6ZHVQ4F4imYtnkVWWhY3n3ez16VInMnPy6cuUMfLpS97XYrnlm9fzrz183jgogc8GfIwUoE4H7gewMwuBpaHLVsEDDezdDPLAvKAFeHbANcBHwD9gA/NLNnMUgmeVl3snLP6a4rAHuecpiJvRr079NYp01Ow4+AOXlz1It8Z9B3atGrjdTkSZwaeOZDc7FyKS3XatHBhIa1TWns25GGkAnEuUGlmHwG/BR4xsx+Y2Q3OuW3ANIKBNw+Y4pyrBB4DbjKz+cAlwAznXAlQBCwA3geec85p8L8Iy22vzvkno37i0jN/dSaHaw/TPVN3Ccqp8/l85Ofl8+66d9lXuc/rcjyz8+BOnv/seW4deKtnd2lHpNuFc64OaDhFeGnY8ieBJxtss53gdcKGj/VL4JfH2VeX0ypWjpGbncuuil3sr9pPZlqm1+XEpPqJS8Pnavuv9/+LrpldIzbOoiQuf56f//nof3jt89e4ZeAtXpfjidmfzKaqtoqHLo5uV4tw6pgvx9A0UMdXW1fLj/76o6hOXCqJbejZQ+narmuL7aRfXVvNzMUzGZU7inPOOMezOjS4txwjvOvFoC6DPK7GO3sO7cHtcny++3Pcbhf8t8uxZs8aqmqrGt0mUhOXSmJL8iXh7+/n90t/z8HDB1vctegXV73IlvItPDnuyROvHEEKRDlGS+qcX11bzdq9a3G7vgq8+vDbVbHryHopSSn0zu6NdTKu73s9Ty19ij2H9hzzeJGauFQSnz/Pz4yPZ/Dmmjf55jnf9LqcqCpYWEC/jv0Y0+eYq2ZRpUCUY7RPb092enbCBGIgEGDHwR3HBJ7b5Vi3dx21ga/GbT2zzZlYJ2Ni/4n069gP62hYJ6NX+15H3QY+qMugY64hRnLiUkl8w3OG0ymjE8UlxS0qEBdsXsCiLxcx47oZng+Ir0CURsVj14vKmkpW717daPCVVX01FkR6Sjp9O/RlUJdB3HjujUdCr1/HfrRPb39S+6q/cWbKu1PYWLaRHlk9mDpyqm6oka8tJSmF8TaeP6/8M1U1VaSlpHldUlQULCggKy2L757/Xa9LUSBK43Kzc1mydYnXZRwjEAiwef/mr67rhQXfhn0bCBA4sm63zG5YR2PSgElYJzsSfD2yejTLL9FJAyYpAKVZ5efl89TSp/jbur8xtt9Yr8uJuM37N/Piqhd5+OKHaduqrdflKBClcbntcykuKaa2rpbkpOSo77+8qrzR0Pt89+dHnaZs26ot/Tr245Jul3DboNuOBF+/jv1a3I0JEv+u7nU1mWmZzCmZ0yIC8XeLfkeAAA8MfcDrUgAFojQhNzuXmroaNu/fTE77nIjso7aulg1lGxq9oWVL+ZYj6/nw0bN9T6yTMSJnxJEjPetodG3XVWOHSsJIS0ljXL9xvOxepqauhpSkxP2KrqiuYPaS2UzoP4Ge7Xt6XQ6gQJQmhHe9ON1A3Htob6PX9Rp2X8hOz8Y6GaNyRx11Xa9Phz6kp6SfVg0i8cKf56doeRHvf/E+I3NHel1OxDz/2fPsObQn6nMeHo8CURr12fbPABj53EhysnJOeMNIdW016/auazT4dlbsPLJew+4L4Ud7nTI66WhPWrwxfcbQOqU1xSXFCRuIgUCAaQuncX6X8xneY7jX5RyhQJRjFC0vYsq8r0Zc2VC2gcmvToYAXJN7zUl1X+jcpjPW0Rhv44+6oaVh9wUROVpGagbX9b2OuaVzmX79dM+7IkTCu+vfZeXOlTw7/tmY+hGsQJRjTHl3SqPDkt0699aj7uJMS06jb8e+DDxzIP9yzr8cFXwn231BRI6Vn5dPcUkxCzYv4NLul3pdTrMrWFBA5zaduem82JqoSIEox2hq+LEAAQpGFxwJvh5ZPTy5A1Uk0Y3tO5bUpFSKS4oTLhBX717N66tf59ERj8ZcX8vEOxaX09bU8GM5WTk8dPFDjOkzhl7ZvRSGIhGSlZ7FqN6jmFMyh0AgcOIN4si0hdNITUrlniENJ0TyngJRjjF15FQyUjOOatOwZCLR5e/v54t9X7Bs2zKvS2k2+yr38cyyZ7h5wM10aRt7M/cpEOUYkwZMYva42eRk5eDDR05WDrPHzdaoLCJRdIPdQJIvKaGmhHp66dMcrD4YU10twukaojRKw5KJeOuMNmcwImcExSXFPHb1Y16Xc9pq62qZvmg6w3sMZ/BZg70up1E6QhQRiVH+PD8lu0oo2VnidSmn7RX3Cl/s+yJmjw5BgSgiErMm9p8IQHFJsceVnL7ChYXkZOUwvv94r0tpkgJRRCRGnZ15Nhd3uzjuryMu27aM9ze8zwNDH4jp8VkViCIiMSw/L5+l25ayfu96r0v52goXFpKRmsH3Lvie16UclwJRRCSG+fP8QPyeNt1xcAcvLH+B2wbdRnbrbK/LOS4FoohIDMvNzuX8LudTXBqfgfj44sc5XHuYB4c96HUpJ6RAFBGJcf7+fj7a9NFR84TGg6qaKmYtnsV1fa7DOpnX5ZyQAlFEJMbln5MPwEulL3lcyan588o/s+3AtpjuahFOgSgiEuPyOuVhHS2uriMGAgEKFhaQ1ymPa3tf63U5J0WBKCIS43w+H/l5+bz3xXvsrtjtdTknZf6m+SzZuoQHhz0YU3MeHo8CUUQkDvjz/NQGannFveJ1KSelcGEh2enZ3DrwVq9LOWkKRBGRODD4rMHkZOXERSf9Dfs2UFxSzF2D76JNqzZel3PSFIgiInHA5/Phz/Pz13V/ZX/Vfq/LOa7fffw7fPi4f+j9XpdyShSIIiJxwp/n53DtYV7//HWvS2nSwcMHeXLJk/jz/E1ONh6rFIgiInHi0u6X0qVtl5jupP/cp8+xr3Jf3HS1CKdAFBGJE0m+JCbYBN5Y/QYV1RVel3OMukAd0xZNY0jXIVza/VKvyzllCkQRkTiSf04+FdUVvLP2Ha9LOcY7a9+hdFcpDw17KG66WoRTIIqIxJEROSPITs+OybtNCxcW0qVtF24890avS/laIjIxlZklATOBQUAVcKdzbk3Y8ruAu4Ea4DHn3Gtm1gl4AWgNbAFud85VmNk04DKgPLT5eCALeDpUvw+Y7JxzkXguIiKxJDU5lfH9xzO3ZC6Haw/TKrmV1yUBULqrlLfWvMXPr/x5zNR0qiJ1hDgBSHfOXQL8GPh1/QIz6wI8SDDkRgO/MLM04KfAC8654cBSgoEJMBgY7Zy7MvSvDPg/wAzn3JXAfwO/iNDzEBGJOf7+fsqqypi3fp7XpRwxbeE00pLTuHvI3SdeOUZFKhAvB94CcM4tAIaELRsKzHfOVYXCbQ0wMHwb4E3gmtCRZl9gtpnNN7M7Qst/CNTfd5wCVEboeYiIxJxRvUfRtlXbmBnbdO+hvfzh0z/w7QHfpnObzl6X87VFKhAzgbKwv2vNLKWJZeUET4GGt9e3tQGmA7cAY4D7zGygc26Xc67azAz4FfCzCD0PEZGYk56Szti+Y3mp9CVq62q9LoffL/k9FdUVcdnVIlykAnE/0C58P865miaWtQP2NWivb6sACp1zFc65cmAeweuSmNlVwEvArbp+KCItTX5ePjsrdvLhxg89raOmrobpi6ZzZc8rGdRlkKe1nK5IBeJ84HoAM7sYWB62bBEw3MzSzSwLyANWhG8DXAd8APQDPjSzZDNLJXhadUkoDAuBMc65xRF6DiIiMeu6vteRnpLu+d2mL5W+xKb9m3h42MOe1tEcIhWIc4FKM/sI+C3wiJn9wMxucM5tA6YRDLx5wBTnXCXwGHCTmc0HLiF400wJUAQsAN4HnnPOrQQKgFbAH8zsPTN7IkLPQ0QkJrVt1ZbRvUdTXFJMXaDOszoKFhTQq30vvtHvG57V0Fwi0u3COVcH3NOguTRs+ZPAkw222U7wOmHDx/ol8MsGbfF9XC4i0gz8eX5edi+zeMtihp49NOr7/2TLJ8zfNJ/fXPsbkpOSo77/5qaO+SIicWpcv3GkJKUwZ5U3p00LFxbStlVb7rjgjhOvHAcUiCIicSq7dTZX97qa4tJiAoFAVPe9tXwrf1rxJ24//3ay0rOiuu9IUSCKiMQxf38/a/asYfmO5SdeuRk9vvhxaupq+P7Q70d1v5GkQBQRiWMT+k/Ahy+qnfQrayqZtXgWY/uNpW/HvlHbb6QpEEVE4tiZbc/k8h6XR7X7xZ9W/ImdFTsToqtFOAWiiEicy8/LZ8WOFXy++/OI7ysQCFCwoIDzOp/H1b2ujvj+okmBKCIS5ybmTQSIymnTf2z4B59u/zRu5zw8HgWiiEic65HVg4u6XhSVQCxYWEDH1h2ZNGBSxPcVbQpEEZEE4M/z8/GWj9lYtjFi+1i3dx0vl77M3RfeTevU1hHbj1cUiCIiCcCf5wdgbsnciO1jxqIZJCclc99F90VsH15SIIqIJIB+HftxXufzIna3aXlVOU8tfYpvnvNNzs48OyL78JoCUUQkQeTn5fPhxg/ZfmB7sz/2Hz79A/ur9idcV4twCkQRkQThz/MTIMBLpS816+PWBeqYtnAaw84exrBuw5r1sWOJAlFEJEEM6DyAPh36UFzavHebvrn6TVbvWc3DFyfu0SEoEEVEEobP58Pf38+89fPYe2hvsz1uwcICzm53Nvl5+c32mLFIgSgikkDyz8mnpq6GVz9/tVkeb+WOlfxt3d+4/6L7SU1ObZbHjFUKRBGRBDKk6xC6ZXZrtk76hQsLSU9JZ/KFk5vl8WKZAlFEJIEk+ZKY2H8ib699mwOHD5zWY+2u2M0fP/sjtw68lY4ZHZupwtilQBQRSTD5eflU1lTy5uo3T+txZn8ym8qaSh4c9mAzVRbbFIgiIgnm8h6Xc0bGGafVSb+6tprfffw7rsm9hvM6n9eM1cUuBaKISIJJTkpmQv8JvL76dSprKr/WYxSXFPNl+Zc8NOyhZq4udikQRUQSkD/Pz4HDB/jr2r9+re0LFhbQp0Mfru97fTNXFrsUiCIiCejqXleTlZb1tTrpL9y8kAWbF/Dg0AdJ8rWcmGg5z1REpAVpldyKcTaOl0tfprq2+pS2LVxYSGZaJredf1tkiotRCkQRkQSVn5fP3sq9vL/h/ZPe5sv9X/KXVX/hexd8j3Zp7SJYXexRIIqIJKhre19LRmoGc1ad/N2mMz+eSW1dLQ8MfSCClcUmBaKISILKSM3g+r7XM7d0LrV1tSdc/1D1IZ745AnG9x9PbnZuFCqMLQpEEZEE5u/vZ/vB7fxz8z9PuG7R8iJ2H9rdorpahFMgiogksLH9xtIqudUJxzYNBAIULixk0JmDGJEzIkrVxRYFoohIAstMy2RU7iiKS4oJBAJNrjdv/TxW7FjBQ8MewufzRbHC2KFAFBFJcPl5+Wwo28CSrUuaXKdwYSFnZJzBzQNujmJlsUWBKCKS4MbZOJJ9yU2eNl2zZw2vff4a9wy5h/SU9ChXFzsUiCIiCa5TRidG9BzBnJI5jZ42nb5wOilJKdw75F4PqosdCkQRkRYgPy8ft9tRsqvkqPb9Vft5ZtkzfOu8b3FWu7M8qi42pETiQc0sCZgJDAKqgDudc2vClt8F3A3UAI85514zs07AC0BrYAtwu3OuwsymAZcB5aHNxwOpja0bieciIpIIJvSfwP1v3M+cVXM4Z8Q5R9qfXvo05YfLW2xXi3CROkKcAKQ75y4Bfgz8un6BmXUBHiQYcqOBX5hZGvBT4AXn3HBgKcHABBgMjHbOXRn6V3acdUVEpBFd23Xl0u6XHjXYd21dLdMXTeey7pcxpOsQD6uLDZEKxMuBtwCccwuA8Fd6KDDfOVcVCrc1wMDwbYA3gWtCR5p9gdlmNt/M7mj4+PXrRuh5iIgkDH9/P8u2LWPd3nUAvPb5a6zbu05HhyGRCsRMoCzs71ozS2liWTmQ1aC9vq0NMB24BRgD3GdmA5tYV0REjsOf5wc4crdp4cJCumd2Z2LeRC/LihmRCsT9QPgw6UnOuZomlrUD9jVor2+rAAqdcxXOuXJgHsHrko2tKyIix9EruxcXdLmAOSVz+Gz7Z/z9i7/zwNAHSEmKyO0kcSdSgTgfuB7AzC4GloctaZ3PmAAACINJREFUWwQMN7N0M8sC8oAV4dsA1wEfAP2AD80s2cxSCZ4qXdLEuiIicgK9s3uzYPMCBj0+CB8+2qe397qkmBGpQJwLVJrZR8BvgUfM7AdmdoNzbhswjWCIzQOmOOcqgceAm8xsPnAJMMM5VwIUAQuA94HnnHMrG1s3Qs9DRCRhFC0v4rXVrx35O0CAR95+hKLlRR5WFTt8xxvbLl6ZWU9g/bvvvku3bt28LkdEJCb0LOjJhrINx7TnZOXwxcNfRL+gKNu8eTMjR44E6OWc+6LhcnXMFxFpITaWbTyl9pZGgSgi0kL0yOpxSu0tjQJRRKSFmDpyKhmpGUe1ZaRmMHXkVI8qii0KRBGRFmLSgEnMHjebnKwcfPjIycph9rjZTBowyevSYoI6n4iItCCTBkxSADZBR4giIiIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICJC4Y5kmA2zbts3rOkREJEaEZUJyY8sTNRDPApg0SQPYiojIMc4C1jZsTNRA/BgYDmwFaj2uRUREYkMywTD8uLGFvkAgEN1yREREYpBuqhERESFxT5k2ycySgJnAIKAKuNM5t8bbqhpnZqnA00BPIA14DNgMvAqsDq02yzn3v54UeBxmthQoC/25HngCKARqgHeccz/zqrammNltwG2hP9OB84FvA/8DbAq1P+qcez/qxTXBzIYB/9c5d6WZ9QGeBQLACuB+51ydmT0KjCX42j/snFvkWcEcU/P5wHSClzaqgO8457ab2TTgMqA8tNl451xZ448YHQ3qHkwjn8NYe63hmLr/BHQJLeoJLHDO3WRmrwAdgWrgkHPuOm+qbfJ7bxVReG+3uEAEJgDpzrlLzOxi4NfAeI9rasotwG7n3K1m1hFYCvwc+I1z7tfeltY0M0sHcM5dGda2DMgH1gGvm9lg59wSbypsnHPuWYIfOszsdwQ/lIOBHznn5nhXWePM7EfArcDBUNNvgP9wzr1nZo8D481sAzACGAZ0B+YAF3lRLzRacyHwfefcMjO7G/g34AcEX/fRzrld3lR6tEbqHkyDz2EoJGPmtQ7VdFTdzrmbQu3ZwN+BR0Kr9gHOdc7FwjW0xr73lhGF93ZLPGV6OfAWgHNuATDE23KO6y/Af4b9XQNcCIw1s3+Y2VNm1s6b0o5rEJBhZu+Y2TwzuwJIc86tDX3g3gZGelti08xsCMEvh9kEX+87zOwDM/u1mcXSj8i1gD/s7wuB+qPXN4FrCL7f33HOBZxzG4EUMzsjumUepWHNNznnloX+nwJUhs7i9AVmm9l8M7sj2kU2orHXuuHnMNZeazi27no/A6Y757aa2ZlAe+BVM/vQzL4R1QqP1dT3XsTf2y0xEDP56lQeQG2Mfckd4Zw74JwrD33YXgT+A1gE/Ktz7gqCR1uPelljEyqAXwGjgXuAZ0Jt9cqBLA/qOlk/IfiFAfBX4PvAFUBbgs8nJoSOWqvDmnxhv/DrX+OG73dPX/uGNTvntgKY2aXAA8BvgTYET6PeAowB7jOzgdGv9iuNvNaNfQ5j6rWGRuvGzDoT/EH6bKipFcEzZRMIhudvQ+t4oonvvai8t1tiIO4Hwo+qkpxzNV4VcyJm1p3gqY0/OudeAOY65z4JLZ4LXOBZcU37HHg+9Mvtc4Jv2g5hy9sB+zyp7ATMrD3Q3zn391DT0865daEP48vE5utdry7s//WvccP3e8y99mb2LeBxYKxzbifBH0+FzrkK51w5MI/gWYdY0tjnMOZf65BvAi845+q7pG0DHnfO1TjndhA8RWmeVUej33tReW+3xECcD1wPELqGuNzbcpoWOpXxDvBvzrmnQ81vm9nQ0P9HAp80urG37iD4ixMz6wpkAAfNrLeZ+QgeOX7gYX3HcwXwN4BQrZ+ZWbfQslh9vestNbMrQ/+/juBrPB8YbWZJZtaD4A/AmLguB2BmtxA8MrzSObcu1NwP+NDMkkM3WFwOxNT1Zhr/HMb0ax3mGoKnHcP//jOAmbUFzgNKPKiLUA2Nfe9F5b0dk6cKI2wuMMrMPgJ8wO0e13M8PwGygf80s/pz6j8ACszsMMFfdpO9Ku44ngKeNbMPCd4VdgfBX3hFBDvGvuOcW+hhfcdjBE+B4ZwLmNmdQLGZHSJ4p9uTXhZ3Aj8EnjSzVgS/0F50ztWa2QfAPwn+AL7fywLDmVkyMA3YSPA1BnjfOfeomRUBCwie7nvOObfSu0obdS8wI/xz6JzbH6uvdQNH3uMAzrk3zWy0mS0g+Dn9icdB3tj33kPAtEi/t9UxX0REhJZ5ylREROQYCkQREREUiCIiIoACUUREBFAgioiIAApEkbhiZvUDNNf//U0zW2FmV5jZSjP7xclsF9b+p7D+XSItmgJRJE6Z2U3AvxPsGH4FwdFG/t3bqkTiV0vsmC8S98zsVoJjrF5DcCDsO4HDZrYZOEBwypxKYDfBgRHCt70/tP5WoHOorR/BsS2rCQ6m/B3n3JfReC4isUJHiCLxZzjBEYo6ACmhOeCeJTj900vAbMDvnBtBcIaA/6jf0MyyCI76cTHBac9ahRaNIjj82DXAVIIjhYi0KApEkfizlWCAFQDPh6ZLqtcJ2B92dPcP4Nyw5f2Blc65KudcNcFZGyA43N4uglOjPUDwKFGkRVEgisSfNc65SufcDOAwMCVs2S4g08zOCv09guDsI/XWAeeYWevQWKL1s3eMBz5wzo0kOB/dv0X0GYjEIF1DFIlvdxCcrmct8P9CA5LfRXCw7DpgL3AbwRkMcM7tNLOfAh8BO/lqBvjFBI82awgO8PwIIi2MBvcWERFBp0xFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICwP8HOdKPeyiQNYYAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize = (7,7))\n", "\n", "plt.plot(k_folds_range, CV_Std_MSE_larger, 'o-', color=\"g\",\n", " label=\"Cross-validation Variance\")\n", "\n", "#plt.hlines(1 - 1/12 , min(split_range),max(split_range), linestyle = '--', color = 'gray', alpha = .5, label = 'True noise $\\epsilon$')\n", "plt.legend(loc=\"best\")\n", "#plt.ylim(0.8,1)\n", "plt.ylabel('Std MSE')\n", "plt.xlabel('Kfolds')\n", "plt.title('Var MSE vs Number of Kfolds: 200 data points, 100 iterations bootstrap ')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Approach 2) Repeated K-fold with shuffle = True with the same dataset\n", "\n", "- Iterate i times (e.g. 50 times). At each iteration, keep the same dataset but reshuffle it\n", " - For each i: Perform K fold CV for one value of K\n", " - Calculate the mean MSE of the K fold CV\n", "- Calculate the mean and standard deviation across the i iterations for the same value of K\n", "- Repeat the above steps for different k = 5.. N\n", "\n", "## Small dataset" ] }, { "cell_type": "code", "execution_count": 258, "metadata": {}, "outputs": [], "source": [ "#Utility variables\n", "CV_Mean_MSE_small, CV_Var_MSE_small = [],[]\n", "k_folds_range = np.array([2,4,6,8,10,15,20,25,29,35,39])\n", "\n", "#Subsample from original dataset\n", "rs = ShuffleSplit(n_splits=1, train_size = 40, test_size=1)\n", "rs.get_n_splits(X)\n", "for subset_index, _ in rs.split(X):\n", " X_subset, Y_subset, = X[subset_index],Y[subset_index]\n", "\n", "for k in k_folds_range:\n", " #Reset list at start of loop\n", " i_Mean_MSE = []\n", " \n", " #Repeat experiment i times\n", " for i in range(50):\n", " #Reset list at start of loop \n", " Kfold_MSE_list = []\n", " \n", " \n", " #Loop over kfold splits\n", " kf = KFold(n_splits = k, shuffle = True)\n", " for train_index, test_index in kf.split(X_subset):\n", " X_train, X_test = X_subset[train_index], X_subset[test_index]\n", " y_train, y_test = Y_subset[train_index], Y_subset[test_index]\n", " \n", " #Fit model on X_train\n", " pipeline = Pipeline([('polynomialfeatures', PolynomialFeatures(degree=4, include_bias=True, interaction_only=False)),\n", " ('linearregression', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=True))])\n", " pipeline.fit(X_train,y_train)\n", " \n", " #Store each Kfold MSE values on X_test\n", " Kfold_MSE_list.append(mean_squared_error(y_test, pipeline.predict(X_test)))\n", " \n", " #Average over the K folds for a single \"i\" iteration\n", " i_Mean_MSE.append(np.mean(Kfold_MSE_list))\n", " \n", " #Average and std for a particular k value over all i iterations\n", " CV_Mean_MSE_small.append(np.mean(i_Mean_MSE))\n", " CV_Var_MSE_small.append(np.var(i_Mean_MSE, ddof = 1))\n", " \n", "#Convert to numpy for convenience\n", "CV_Mean_MSE_small = np.asarray(CV_Mean_MSE_small)\n", "CV_Var_MSE_small = np.asarray(CV_Var_MSE_small)\n", "CV_Std_MSE_small = np.sqrt(CV_Var_MSE_small)" ] }, { "cell_type": "code", "execution_count": 259, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5,1,'1 - MSE vs Number of Kfolds: 40 data points, 100 iterations bootstrap ')" ] }, "execution_count": 259, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcgAAAHoCAYAAADNDX/cAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3XmcHGWB//FP9T1nJie5CZcPiBIOBSJR8cBdvEVdVxEVZdFdFVZW2fxWXVdXlBXFAxWvRVeN9xKVdUVZvIAkghkIAckDCCQkM7mPuXu6q+r3R1UPPZ2eyVzV3dPzfb8yr/RUVdfzdE13fbueeuopx/d9REREZLhYtSsgIiJSixSQIiIiZSggRUREylBAioiIlKGAFBERKUMBKSIiUkai2hWoFmOMA3wL2GKt/fQEnv874PnACdbax4qmnw/8FviAtfbTxpgW4HrgXMALf75krf1GuPy3gAuAvSVF3GSt/cJ463WUOvvAx621Hy6a9jrgPdba86eojN8BX7TW/mQq1neUsuLAzcApwBestV8smvdvwDxr7XvC31PAWmAh8EqgGfglkAf+3lq7YYQyvgU8UPoeMcbMA/Zaa50peB03Ax1FdZ0PfBs4luD9crm1dv0Y1tMDPMNa+8QoyzwbeIe19l2TrfcY6nMfcL619tAoy7wMOMda+6+TLKsN+APwdmvtn8JpI27HsNxPAmngfoJt0lWyzmcBa6y1r4tiuxljLgNS1tovG2PeBbRZa6+dqvWXKe98gs/mM6ZofbOAddbaFx5luX8FNltrfzYV5VbSjAxIY8wpwJeAc4Atk1jVduDNwMeKpr0F2F30+7VAD3CatdY3xiwGNhpjtltrfx0u89mJhPQE/ZMx5jZr7R8qVF6UlgB/BTRZa92RFjLGNBEEaR9wgbV2wBjzCmCXtfbFlanqiHW7Gngu8MOiyV8C7rDWXmiMOR34hTHmJGtt3xQUeSqwdArWc1TW2tPHsNizgTmTKccY81Lgs8CKkllltyPQBHwTOM9a+4gx5j8IPqf/UFL/PwGvC3+NYrutBh4Iy/rKFK+7EmYDZ49huRcCf464LpGYkQEJvBv4BkHATcZ3KQpIY0wjwZv+/4qWWUQQmElg0FrbYYy5CDgwnoLCo6UngFdbazeF034I/I7giPU/gQzgAN+w1n55hFV9EPiuMWaltfZgSRn/xvCjrqHfwyPDTQRHwguArxEcjT2fYIfzN9bawpeN1xhj1gCNwFpr7TXh+p4D/Ee4vAt81Fr7P8aYtwHvCKcftta+oKRezwWuC9c3CHwIuAu4lWC7bjLGvNZa+5cy22028AvgPoIjZc8Y8wLg48AsY8xvrbUvMMZcDlwR1mt3uOzDJeu6CLiGIGjvKZq+kOBIZV446ReFo/TwKOqywlFNyfrOB/4a+ArBzgZjTAJ4OcF7FGvtfcaYR8Llbi6zXW4A/LA+sXB6jCAwzgVaCN4TlxG83z8Wvu5vhtv8iOWstXeVqed/ANuAk4F+4G3W2ofCo4gvAaeH9fgl8C/W2nzYYjE/fD2vITiKOyncfm8FWoF3AXFjzOHwtZTdjkdxBcHn8MdFdR5tOzYA91hrHwkXvxHYbIx5t7XWL1rH+cAXgQuLt5u19tLwC9aHgFT4et5vrd0QfmZWAYuBzcA/AV8FjiH4vGwD/gY4j6Al4wJjTH+4nQqftVPDcueG2/Qz1tpvh/W5BngMeAbBe/+d1tq7jDGrCVqq4uFzPmmt/e8y26rZGPMT4ETgEMFR9cNH+Tse8fmz1t5K8CWjIXyPnwX8K8HfeRDYD7wNuAh4FnCdMcYFXkXwhegE4H8I9ltfInj/LSL4nL4h/BKbJ/jiciHBvuFfrLXDPgNRm5HnIK2177HWfm8KVnUvMGCMOSf8/SLg5wTNdgX/BrwI2GeMudUY82Ggq7hZFnifMea+kp9nltTZBW4CLoWhHf+Lge8BHwBusdaeBbwUeF64kyznOwRNUV+bwOtdYa09j2Bn9Cngd9baZxEE1XuLlmsl2OmeC7zZGHNhWN9vApdYa88k+KDcaIxZHj7nVILmuNJwnAv8BLjSWnsawY71uwQ70ZcC/dba08uFI8EO6XcEO5OPWWs9AGvtbwk+zHeE4fhC4GrgBdbalQTb9KdhM3yhHscQbP/Xhtt5W1E5fwc8Fr6u5wInhTscwrqVC8fFwOeBiwlCuWAeELPWFje576Dk6CVsMv4x8E/W2jMIviQ1hLPPIdhBr7LWPh34L4KmwieLXvelIy1XZjtCsJO7IfwbfJPgfQTwBYKd4TPDZVYC7y/z/OcD7w2b9/4Y1uePBF8Ofmit/SCjbMfRWGv/2lp7T8nk0bbjMuDJkumtBDvpcusftt3Co9BPAC8Nt/3lwM1hSwUETbpnWGvfDPwtsMFauwo4niBML7HWriPYV3zWWvulQllhsP+cp7b1hcAnjDGrwkXOIQjMMwj+Dp8Ip38UuD58b76d4KitnGXhcqcTvM9H/TuO9PkzxhxHsC/qD9e1GPhH4NnhPuHXBE3nXwL+RHDKaV1YVqO19lRr7T8T/M3/y1p7LkFoHwe8LFwuDvSFr+lvgJvCZvOKmZEBOcW+QxAYELx5vlU801p7P2CAFxC8aZ4D3B9+Ay34bLgjLf4p1/R7E/A34c7xjcDPrbWHgXXA1eG5rIuAKwphMIJ/AM4Kz4GMR+HbWyGMbi36vbiZ7BvW2nx4TucnBOdYVxF8Q/xp+I3zfwm+qZ4WPuf+0nNAoXOAR8OdKdbaBwmOHs8fQ31fTfBN/AfAj4wxyRGW+2uCnfTesIxvETTfrihaZjXB+epCU9FXi+bdCrzWGPO/wDsJdv6HR6pUWI/vA++z1naWzI4RbJdiDsNDFIIdWc5ae3tY5+8D3eHjDQRHN+80xnyaoJmwubQeY10utNlae0f4+CbgjHDneSHBeS3fWpslCLwLyzx/k7V2R/i4nfLNquPajkcx2nYsNw+O3MYjuYDgvXx7+F5eS3B0fGI4f6O1Ng9grf08sN4YcxXwZYIvayNtY4CnAZnCkZK1tgP4b4L3KMA2a+194ePi7fgj4EvGmLUER3P/MsL677dPnc/+FvCs8EvISH/HsX7+dhIcMbeH76X7rLU/HaEOdxY9/mdgb3iq4UaCoC3ePl8My72f4HTY80ZYZyQUkCMwxnys6GjuY6MsuhZ4XfiNqtVa+0DROhLGmK8Cs621m6y111trLyRo3nvneOtkrd1G8KF4OcG3t2+E0/+HoOnqR8AZwBZjzIjnS8IgehPwaYLwLvAJdiIFqZKnZkvWkxuhiOIdTQzIEXwbfKj4SwDBEeavwuV6RlhXocmoWIygeelovmmt/TpBE1wr8JlxlOGUKaN42wy1EoRHL8cRHJWvAO42xpw1Sr2eRXA0cX24g30X8AZjzDeAPYBjjCkOkMUERzmlSjsI5WGoA8ovwmk/I9jZHdGZaKzLFa+7pNxyYTPS36a/6HHp+wyY0HYczWjbcXv4uGAJcNBa2zvGdceB28u8lwuf/aH3cnh+82MEnfC+RvAlebSOXUd7v5fdjtbarxJ8abqN4Lz8/caYTJn1l34J8Ak+nyP9Hcf0+Qu/kD+foFl1P/BZY8ynyr1Ahn/Wv09wBL6NoLm/nRE+Z2G5Y/0SMyUUkCOw1v5r0QdgxB524Te8+wm+VX+nZF6eIIA+XDh6CZtQTiF4I0zE1wm+dTXZ8FyRMeZ7BO32PyA4OuwiaOMf7fVtJAiM4nM8ewmOLB0T9L59+QTr+JZwHbMJmkZuBTYSNJk9L6zz6cAjBDun0WwATjbGnB0+71SCb5G/G0M9sgDW2gHg9cBbjTFvLrPcrcDfFppvjDGXEnzIHy1a5g/AqcaYleHvbyvMMMZcC3w4/MZ8JfAgwZFCWdbaDdbaZUU710Iz42Xhe+YXBDsNjDGnAU8v83rvJwiAl4bLvZLwPCbBEc4t1tobCZq3Xk2wo4Ngh5Mcw3KlTg/rQli39Tbonfor4D3h3zsdzrttpNdexlB9xrsdR3OU7fhr4NywqRSCLyhH62FZvN1uB15ijDk5XPdLCf4eDWWe91fA56y13yEI7Qso/7co2ArkwvPdhab413KUbWqMWU/QrPut8DW3EZxiKLUy/OxB8CX9Tht0/hrp7zja5y9PcP7YCT8XDxB8Cf4kQdg9e5TXWbx9PmatLXRSO4fh78G3hOWeSXD++/ejbYeppoCcGt8maDotd17zdcAs4GFjzIMEzQTbGN7ztdw5yJF6tf2c4Nv1N4qm/TtwsTFmM8H5nXUEO/SjuSZcvmAtQUg+QnACfaJvxsMEHXrWE5xL+W3YfPlagpP1mwm+TFxiR7kkAcBau48g3G4wxmwh2MaX2pIONEdjgw4ZlwFfLdpBFObdRvCB/k34N3or8PLiZuqw/m8C1hpj2gmOdAo+RxAgDxAEzeMEzbqEf8tnjaeuBF9yzgvXt5ZgOw1ragyP3l8N/Ht4FHoRwQ4YgsA9P9xe7QRN4MeF56U3AseHzfGjLVdqF3BNuOyrgUvC6VcQdNraEv5YgvfVWP0G+CtjzA1UaDtaa/cQtMD8xBjzEMGR1z8dZV1D2y1sZr8c+EH4Xv534JXW2nKtIB8DPm2MuZ/gs3snTzXF/hJ4lzHm/xUWLvq7Xhk+5/8IAuS3R6nf1cDHjDH3EoTXR0f4bD0EfCSs9ysJ3uswwt/xKJ+/TuBugi8yOwhasP5kjPkTwXnQq8J1/xz4pDGmUFaxfwHWhev+KsE+58Si+eeFn7ebCA4CDpZZR2Qc3e5KREZjpvj6uQnW4RrgO9bardWqg1SWCXtBhyFdFTqCFJGaZoLexE8oHKXSdAQpIiJSRmQDBZjg2sD/sCVDmIWXN/wrwYnbm6y1XzfGNBBc27aAoKv6W+3w65dEREQqKpKADK9puQToLZme5KneTb3AXcaYWwg6P2yx1v6bMeZvCa7NurLkuenweZ1UuKuviIjUpTjBNa33hNd/DhPVEeRfCHrVfadk+ikEF50eBDDG3EkwYsZqgpFZIOjZVW54qWcDd5SZLiIiMhnPZfgABkBEAWmt/W9jzIoys1oJLgEo6Ca4BKJ4emFaqU6AtWvXsnBhuct7RERExm7Xrl1cfPHFEOZLqUoPVt7F8PEOWwgGzC2eXphWygVYuHAhS5dW5GYEIiIyM5Q9bVfpgHyIYDSVOQTDDT2PYLizYwkGnr6bYPw/NaWKiEhVVSQgjTFvApqttV8LB+39FcE1mDdZa3caY24E/is8JzlI0GlHRESkaiILyHCYo3PDx98rmn4LcEvJsn0EwxmJiIjUBI2kIyIiUoYCUkREpAwFpIiISBkKSBERkTIUkCIiImUoIEVERMpQQIqIiJShgBQRESlDASkiIlKGAlJERKQMBaSIiEgZCkgREZEyFJAiIiJlKCBFRETKUECKiIiUoYAUEREpQwEpIiJShgJSRESkDAWkiIhIGQpIERGRMhSQIiIiZSggRUREylBAioiIlKGAFBERKUMBKSIiUoYCUkREpAwFpIiISBkKSBERkTIUkCIiImUoIEVERMpQQIqIiJShgBQRESlDASkiIlKGAlJERKQMBaSIiEgZCkgREZEyFJAiIiJlKCBFRETKUECKiIiUoYAUEREpQwEpIiJSxowMyLyXZ9AdrHY1RESkhs3IgOzP9fP4wcfpy/VVuyoiIlKjZmRAQnAUuf3wdroGuqpdFRERqUEzNiATsQTNqWZ2du/kQP8BfN+vdpVERKSGzNiABIg5MVrTrezp2cOe3j14vlftKomISI2Y0QEJ4DgOrZlWDmcPs7NrJ67nVrtKIiJSA2Z8QBY0p5oZdAfZfng7OTdX7eqIiEiVKSCLNCQb8PHZdmgbA/mBaldHRESqSAFZIpPIkIwn2X54Oz3ZnmpXR0REqkQBWUYynqQh0cCOrh0cGjhU7eqIiEgVKCBHEI/FaU4309ndyd7evboMRERkhlFAjqJwGcj+/v3s6tmly0BERGYQBeRROI5Da7qVnsEenjz8JHkvX+0qiYhIBSggx6gp1RQMT3douwY6FxGZARSQ49CQbMBxHLYd2kZ/rr/a1RERkQgpIMcpnUiTTqTZdngb3dnualdHREQiooCcgEQsQVOySQOdi4jUMQXkBMVjcVpSLUMDnSskRUTqiwJyEgoDnR8aOMSe3j3Vro6IiEwhBeQUaEm3cKD/gG6+LCJSRxSQU6Ql3UJnTyfZfLbaVRERkSmggJwiMSdGOpHWPSVFROqEAnIKpeIpPN9Tpx0RkTqQiGKlxpgY8GVgJZAFLrPWPlo0/5+BNwJdwKestf9jjJkDPAw8EC62zlr7+SjqF6XGVCOHBw6TSWSY3TC72tUREZEJiiQggVcDGWvtKmPMucBngFcBGGOeCbwJOCdcdr0x5jfAmcD3rbXvjahOFdOcbmZ3z24yiQwNyYZqV0dERCYgqibW1cCtANbajcCziuadAvzOWjtgrR0AHgFOA84CzjTG/N4Y82NjzKKI6ha5mBOjIdnAzq6dGtxcRGSaiiogW4HDRb+7xpjC0eoW4HnGmBZjzFzgOUATsBX4iLX2+cBPgRsiqltFJONJHMehs7tT5yNFRKahqAKyC2gpLsdamwew1j4EfBH4JUHT6x+BfcBvgN+Gy68DzoiobhXTkGygL9fH/r791a6KiIiMU1QBeRfwUoDwHOSWwgxjzHxgnrV2NXAlsIygY843gNeGi70I2BRR3SqqOdXMvv599GR7ql0VEREZh6g66awDLjDGrAcc4FJjzFXAo8AtwPHGmHuAQeAD1lrXGLMGuMkY8w9AL3BZRHWrKMdxaEo20dHdwYrEClLxVLWrJCIiYxBJQFprPeBdJZO3Fj1+Z5nnPA68IIr6VFs8FicRT9DR1cHytuXEHF1+KiJS67SnrpBMIsOgO8je3r3VroqIiIyBArKCmtPNHBw4qEHNRUSmAQVkhTWnmuns6WQgP1DtqoiIyCgUkBVWGNS8o6tDg5qLiNQwBWQVFAY139WzS4MIiIjUKAVklTSmGunOdnNo4FC1qyIiImUoIKuoJd3C7p7d9Of6q10VEREpoYCsIsdxNKi5iEiNUkBWmQY1FxGpTQrIGlAY1Hxf375qV0VEREIKyBrRnGpmf/9+urPd1a6KiIiggKwZhUHNO7s7GXQHq10dEZEZTwFZQ4oHNfd8r9rVERGZ0RSQNaYwqLnOR4qIVJcCsgY1pZo40H+A3sHealdFRGTGUkDWIMdxaEw20tndqesjRUSqRAFZoxKxBDiwp3ePro8UEakCBWQNa0w20pXt0qUfIiJVoICscU3JJnb17NKlHyIiFaaArHHxWJx4LK5bY4mIVJgCchooDEWnW2OJiFSOAnKaaE41s7t3NwP5gWpXRURkRlBAThMxJ0YmkaGzu1Oj7IiIVIACchpJxVPk3Bz7+/ZXuyoiInVPATnNNKWa2N+/n75cX7WrIiJS1xSQ04zjODQkGujs7sT13GpXR0Skbikgp6FkPInv++zp3VPtqoiI1C0F5DTVmGrkcPZwxUfZcT2Xfb37ONh/UIMXiEhdS1S7AjJxhRssZxIZkvFk5OUN5Afo6OrA9YOm3T29e0jH08xumE1jsrEidRARqRQF5DRWPMrO0talOI4TSTm+73Nw4CB7eveQSWTIxDND8/Jenj29e/B8j4ZkA23pNhpTjcFg6yIi05j2YtNcQ7KB7mw3hwYOMbth9pSvP+fm2NWzi75cHy2pliNCOBFLkEgFb6NBd5Bdvbvwe3yakk20NbTRkGggHotPeb1ERKKmgKwDTakm9vTuoTHZSDqRnrL1dme76ezuJB6L05JuOeryqXiKVDwFQDafZWfXThwcWtItzMrMIpPIEHN02ltEpgcFZB2IOTFS8RSd3Z0sb1s+6RByPZc9vXs4nD1MU7JpQkeA6USadCKN7/v05/vpOtxFzIkxKzOLllQLmUQmsiZhEZGpoICsE+lEmp7BHg70HWBe07wJr6c/109Hdwe+79Oabp10vRzHCc5bJjL4vk93tpuD/QdJxBLMSs+iOd1MOp5WWIpIzVFA1pGmZBP7+vbRlGqiIdkwrud6vseBvgPs69tHQ7Ihkh6pjuMM1cvzPQ5lD7G/fz/JWJK2hjaakk1T2kQsIjIZCsg6Ugigju4OVrStGHPT6KA7SGd3J1k3S0v6yI44UYg5MRqTjUDQpLu/bz97/b2k4inmNMzRZSMiUnUKyDqTjCfJuTn29e3jmOZjRl3W9326sl3s6tlFMp6kOdVcoVoOF4/FaUo1AbpsRERqh/Y6dagx1cjB/oM0JhtH7H2a9/Ls7tlN92A3zanmmuldWnzZSM7N0dnTieM4NCYaddmIiFSUArJONaWa2NWzq+woO325Pjq6OsBhSjriRCUZTw7VvfiykeZ0M7PSs2hINtRMsItI/VFA1ql4LE7MibGndw+LWxbjOA6e77G/bz/7+/fTmJxezZbFl40M5AfoznYTc2K0pltpTbfqshERmXLTZw8p49aQbKBroIvDqcNDt8gadAfLjogzXZReNtIz2MOhgUO6bEREppwCss41p5vZ3bMbCEa6aU5XpyNOFHTZyPTk+d7Qj+u5Q4/zXp5ELIHjODg4xJzY0GPHCX8vmi4StRkbkI899NgR1wrOnjub+Qvn47kej2599IjnzJ0/l7kL5pLP5Xns4ceOmD/vmHnMmTeHwewgTzz6xBHzFyxaQNucNgb6B9j+2PYj5i9cspDWtlb6evvY8cSOI+YvXr6Y5pZmerp76NjeccT8pSuW0tjUSNehLnbt3DU03fVcHMdhxQkrIAGHDhxiT+eR95JcceIKUukUB/YdYN/ufUfMP/5px5NIJti/Zz/79+4/Yv6JJ59ILB5j7669HNx/8Ij5Tzv1aQDs7tjN4YOHh81zHIeTnn4SAJ1PdtLdNfw2XvFEnBPMCQDs3LaT3p7eYfOTqSTHnXQcANse28Yj3Y/g+R6JWILGZCOzW2bz9FOeDoC1lv7+/mHPb25u5sQTTwTgoYceIpvNDpvf2trK8ccfD8ADDzxAPp8fNr+trY0VK1YAcP/99+N53rD5c+fOZdmyZQDcd999R2yb+fPns2TJElzXZcuWLUfMX7hwIQsXLiSXy/Hggw8eMX/x4sUsWLCAgYEBtm7desT8pUuXMm/ePPr6+nj44YePmH/ssccye/Zsenp6ePTRI9/7xx13HLNmzeLw4cM8/vjjw+b5vs/xJxxPY1MjBw4cYNv2bcNCMO/lWbJiCYl0goMHDrKn46n3no+P4zgsPX4p6XSag/sPcmD3AXCC9To44MDyE5eTSCQ4uO8gB/cdBB+cmEOMICxPOvkkUskU+3bv49D+Q0MhGiMGDpy28jQcHDp2dnDwwMGh0HVwiMVirFy5EoAnnniCQ4cODXt9iUSCZzzjGQA89thjdHV1DZufTqc55ZRTAHj00Ufp6ekZNr+hoQFjDKD33lS9904//fQjlovCjA3ImWSm9fqMObGhI0fXc+kZ7CHbk6XpUBOzM7OHbtclI/N9Hw8P3/fxfZ++XB+xbIzDA4fpynbhei6u7+L7Pq7nEjsUoyHXQE93D/v79j8VQGEIFb6spONpMsnMEeU1p5pJpVJkk1n6kn1l5yeSCbLJLP2J/qE6+r6Pj4/newzkB+jP99Of78fHJ/jnA7Dj8A5wYG/PXrp7u4cFsBN3aNzfSNyJs7t7N319fU8FrBMj5aU42H+QeCxOf66fbD479LoA4l6cvJcfep1SPxzf96tdhzExxqwAHr/99ttZunTppNbVne2mo7tjTANwS/3IuTmy+Sw+wd1GZmVmDXVUKjTZFXbshceFecWPS5ebDnzfH3ZU5/keru/iei55L0/OzZHzcuS9/ND0wmuGp470Cs2chU5ghZ/prhC0he1U/BgYCmF8jji6LX4cLkwiniAZS5KIJUjFU8HlS7EEMSdWd9tuOtuxYwcvetGLAI6z1j5ROl9HkDJjlF420tnT+dTMwvdEZ/jjcju/QlgUlovFgp1cobkPGNrxFe8ER5pWfI6teLnSYB4tpIvP5+W9PHkvz6A7GAReGIJD9S56zUOh5zjEnXiwQ3dS0yr8p8LQ9nUgzuRaXIq/jPTn++nL9Q1vtfAL//nBPV2d+FCIFv4vDtK4E9d51ypRQMqMlE6kSTM1HXgKRx+Fx/BU017hSG2k5YqXLX7uWIJ5WJjz1LTizizxWJxUIkXGObJZU6JR+LIRJ06S0YdLLIRpzsuRdbN0D3YHR7CFvz8MvQcKX2CKgzQZTw594SoE6Uw7pRIlBaTIJBUf3aEv+TIOxWF6NIWj0kF3kIH8wFCQBisK/isEayE8E7GgqTcZTw4drZY288rIFJAiItNAIdDGMsBHocl9ID9An983FK5DzbRFpweGmtYLR6Wx5FCAljbnl56jL9f0X08UkCIidSbmxIjFj350WGjidX2X3lxv0Cu55HzpsKZ956lTAaXTCpfMlJ6LL+2QNNq0sQZy4cg76lBWQIqIzFDjaeIdi+LewPBU79/CJUGFaaXn6ofOz5cJ5OJpt9hbuH7j9XR2d7K0dSmffPEnufiZF09J3ctRQIqITIGbH7qZa++8lo7uDha3LGbN6jVcdMpF1a7WuE3mdRT3Bo6iXh/+7YfpzwfXwT7Z9SSX33I5QGQhqYAUkaqqh2C5+aGbufq2q4d23ju7d3L1bVcDTKvXMhWvw/d9Bt1Bsm42+D+fZcAdYDAfTMvms8H/hcfh74XOR1k3W3bZXzz8i6F6FfTl+vjg7R9UQIpMlXrYIcP0fx2u5/KTP/+Ef/nNvzCQHwCCHfL7f/1+dvfs5vwV5w9d05n38kMDGQz97ubI+3ny7ijLeLlgfrhcufmu5z41PVw25w5f7oj1l6yzN9d7xOvrz/fz3l++lw/c9oFhl2IUmjVLz8UVzx/qaUosOK9Xbn7R9ZFDvVNHmj/Cukqf/6MHf3RECPXn+7n6tqv5uf35sPAayA8MBeFQyOUHGXAHJv3ecHCCS7Hi6aH/S+tVsP3wkcN2ThUFpMwo9f5N3/d9Xv60l5Pzcgy6g0Mj5JR7POiF00Z4POgOkvNyTz0e5/OP9nikYdmybpaP3/FxPn7Hx6dsexV6ZhZGtyn8FC6mPdK1AAAgAElEQVSFGPq9aLlUPEVTsump58UTJJzEsFFyCj9fb//6iGVfevqlw87DFR57vofnhSMbEfQ6PWJ+ychHpfN93w8GhfAHn3o+Tw0aUeh0U25d5eaXC3oIQrKju2MorNoybaTiqaHfU/EUmURmKNCK52USmeD3onnlls3EM0OPk7HkER1wzv762ezs3nlE3ZbPWj65N8coFJAyo1x757VlvyGv+b81bOrYhIc3tOMo3akUD0NWOq3wvFGfW7JMuWlHe15h2t6+vUcETH++nytuvYIrbr1iyrdbITxS8VQwItEoj1tSLSTjSVKx1NDoRYVr8YqXTcVSfHrDp0cs86sv/+oRwZaMJ4k78bLBVhp8heUq0dvxfx/537I77yUtS/jQ8z4UadlTaaQQWtKyhF9f8usq1Ogpa1avGfalEKAx2cg1L7omsjIVkFLXfN/n4f0Ps2HHBjbs2FD2ww/Qm+vlZ/Znw5q7Sm+xVDxt6Icy00qXC5dJOslhd5kot77S55Ut04mxdsvaEV/zmtVrjgiiQlCVe5yKp4YCbKTHUV1Q/v0Hvj/iDvnlT3t5JGVGodzOuyHRwJrVa6pYq/GrlddR7nZoLzn+JWRfkOX6DdfT2aNerCLj5vkedp9l446NrN+xnj/u+CP7+4Nbcy1uWUxDoqHsuYwlLUu4++/urnR1J+x3T/xuxGB579nvrUKNJqZWdsiTVWien87nhCHa11Eu9Iov9yi+3jHuxInH4mQSmWGtAn//7L/n3We/e2hwA10HKTIKz/d4aN9DbHxyIxt2bGDjjo0cHAjuRbm0dSkvPO6FrFq6ilXLVrGsdRnrtq6rix2ygqX2XHTKRdOy3qXG8zpGC71hl3r4QTN9udAr7TRUSwOzKyBlWnE9l4f2PRQ0mT65gT/u/COHBoIb3C6ftZwLTrggCMSlq1g2a9kRz6+XHXK9vA6on2CpB+XOgx9tzNfpFnrjoYCsY9P9MgAIAvHPe//M+h3r2fDkBu7eeTeHs4cBWDFrBX99wl+zalkQiEtal4xpnfWyQ66X1yHRGK2D2UgKoRaPxcnEM091gIon6ib0xkMBWaem6+UMeS/Pg3seHOpUc/fOu+nKdgFwXNtxvOykl7Fq2SrOXXoui1sWV7m2ItErDMNWNvBGueF98UDkiXhiWC/fctdgzoTAGy8FZJ0a6XKGa++8tqYCMu/l2bJ7y7BA7BnsAeCE2Sfwiqe9gucsew7nLj2Xhc0Lq1xbkckpeylP0VFducArbsosvZyl+LZVw4KuaJBvmTgFZJ3q6O4oO31n907WPbSO85afx4KmBRWuFeTcHPfvvn+oQ83dO+8eujj5pDkn8ZqTXxMcIS45l2Oaj6l4/UTGo7STio+P67k4jhOcpysJqUITZfHtpRKxxFCz5kiX9Uh1KCDrjOu5/OjBHw19QEs5OLznl+8B4OS5J3Pe8vNYvXw1q5auoiXdMuX1GXQH2bx7MxueDALxno576Mv1AWDmGl739NcNBeL8pvlTXr7IeBQf4RWPXFNo5iwE3midVNSEWT8iCUhjTAz4MrASyAKXWWsfLZr/z8AbgS7gU9ba/zHGzAO+BzQAHcCl1tq+KOpXr373xO/499//O1v3b+W4tuPo6O4g62aH5jckGrj2xddy0pyTuHP7ndz55J2svX8t/3nvfxJ34py+8HRWL1/Nc5c/lzMXnUk6kR53HbL5LJt3b2b9k+uHArEwzuYp807hDae+gVVLg3OIcxvnTtlrn4mKby1Ueu88eUq5XpnFTZpO0fUIpTcQLhzlxWPxsuOnanvXt6iOIF8NZKy1q4wx5wKfAV4FYIx5JvAm4Jxw2fXGmN8A/wp8z1r7LWPMGuCdwGcjql9d+fPeP/PxP3yc32/7PStmreBrL/8aLz3ppazbum7EXqwrF67k3We/m4H8AJs6NnHnk3dyx7Y7uOHuG/j8Hz9PJpHhnCXn8Nzlz2X18tWcuuBUfrr1p0es72UnvYx7d93LhieDc4ibOjYNDVZ8yrxTuPiZF7Nq6SrOWXoOcxrmVHMzVUxxcI30PzBsWvG978b6f/HNaYeGpPO8UZ9X3KpQuC1RuTvDl96cttwNbKup9Nq70g4rxUd7MScWjAgUnr8rhN5Qr8yS83giBVEF5GrgVgBr7UZjzLOK5p0C/M5aOwBgjHkEOC18zifCZX4ZPlZAjmJXzy6uu+s6fvjgD5mVnsW/nf9vvHXlW0nFU8DYLgPIJDKct/w8zlt+Hv983j/Tle1i446N3LHtDu588s6hAaMbEg0MuoNDdxvf2b2TK2+9kvfd+j7yfh4Hh6fPfzpvXvlmVi1dxdlLzq75QHQ9d6gZLargGqmprdyRyNFCaawhNZaALpwvG+m6txEHyi4J4cINb4fuATjCdhlrCJc2bXq+d0SzJhz9ovPSu1WITERUAdkKHC763TXGJKy1eWAL8P+MMS1ACngO8LWS53QDsyKq27TXO9jLjX+6ka/86Su4vsvlZ13OFedcQVumbdLrbk238pITXsJLTngJEITwXdvvYs3ta4bCscDzPRpTjdxw4Q2cveTsKSm/UvpyfTg4ZBKZigVXpUR509qCkcJ2tEAeLXw9L1hHIpYYFnqlTZuFoz2RSogqILuA4h4fsTAcsdY+ZIz5IsFR4qPAH4F9Rc/pD/8/FFHdpi3Xc/nBAz/g0xs+zZ7ePbzSvJI1563h2LZjIytzYfNCXvv013LlrVeWnd872DsUptNFT7aHhmQDi1oWkYipn9pEFIdwnHi1qyMSiai+it0FvBQgPAe5pTDDGDMfmGetXQ1cCSwDHih+DnAhcEdEdZt2fN/nt4//lpd85yVc/X9Xc+ysY/n53/6cG192Y6ThWGyki/Kn08X6vu/TNdDFrMwslrQuUTiKyKii2kOsAy4wxqwnaOi51BhzFcER4y3A8caYe4BB4APWWtcY83Hgv4wxf0dwRPmmiOpWs8oNDWfmGT7+h4/zh21/YEXbCr7+iq9z4YkXVrwpb7oPju16Lr25XhY0L2B2ZnZNNIWKSG2LJCCttR7wrpLJW4sev7PMc3YDfx1FfaaDckPD/eOt/4jru7Rl2vjo+R/lLSvfMtQBp9Km8+DYg+4g2XyWJS1LIrnWU0Tqk9qYakS5oeFc36U51cxdb7+rJjrATMfBsftz/fi+z7Ftx5JJZKpdHRGZRhSQNWKkoeF6B3trIhyno77BPhKxBEtmLSEZT1a7OiIyzai/dI2oh04wtcL3fbqyXTQkG1g2a5nCUUQmRAFZI9asXnNEr8rp1AmmVni+R1e2i7kNc1ncsph4TJcgiMjEqIm1RrxgxQuIO3GSiSQD+YFp1QmmVuS9PL2DvSxuWcysjMaZEJHJUUDWiK9s+gqD7iD/95b/4+R5J1e7OtNONp8l5+Y4tu1YGpON1a6OiNQBBWQN2N+3n5vuvYlXmlcqHCegL9dHjBgrZq+o2mUwIlJ/FJA14MY/3chAfoCrVl1V7apMO93ZbhqTjRo2TkSmnPYoVbandw/fvO+bvObk13DinBOrXZ1pw/d9urPdzG6Yzfym+RrAWkSmnAKyyr50z5fIuTned+77ql2VaUPDxolIJSggq2hXzy6+s/k7vP7pr+e42cdVuzrTgoaNE5FKUUBW0Q1/vAHXd7ny3PK3kpLhNGyciFSSArJKdnbt5HsPfI83nPoGls9aHmlZ/bn+oTuuT1e9g70kY0kNGyciFaOArJIv3P0FAK48J9qjR9/3cT2XvJcfuiP7dOL7Pt2D3bSkWljYvHDa1V9Epi91/auC7Ye384MHfsCbnvEmlrQuibSsgfwArelWFrcspmewB9/3Iy1vKnm+R3e2W8PGiUhVKCCr4PMbP0/cifOes98TeVl5L8+szCxa0i3Mb5xP92B35GVOhbyXp2ewh0Uti5jfNF89VUWk4hSQFfb4wcf58Z9/zJtPezOLWhZFWpbruSRjyaEOLXMb59KSaqFvsC/Scicrm88ykBtg+azlGlNVRKpGAVlhn934WZLxZEWOHvtz/cxueOo6QcdxWNi8kFgsRjafjbz8iejL9eH7Pitmr9CYqiJSVQrICnr0wKOs27qOt618GwuaFkRfoMMR1wrGY3GWti4l5+bIe/no6zAO3dlu0vE0y9uWa0xVEak6BWQFfXbDZ8kkMvzDs/8h8rIG8gM0p5rLjk+aiqdY3LKY3sHemui04/s+XQNdtGXaWNK6RGOqikhNUEBWyNZ9W/mZ/RlvP+PtzG2cG3l5OTdHW6ZtxPnN6WaOaT6G7mx1O+24nkv3YDcLmhewoGmBxlQVkZqhr+oVcv2G62lKNfHOs94ZeVmu55KIJWhINIy63OzMbLL5LD2DPTSlmiKvVykNGycitUxf1yvggT0P8ItHfsFlZ1zGnIY5kZc3kB9gTsOco14a4TgOxzQfQzKWZCA/EHm9ivXn+sm7eY5tO1bhKCI1SQFZAddvuJ7WdCt/d9bfVaQ8z/doTjWPadmYE2NJ65Kh0XYqoXewl7gT15iqIlLTFJARu3/3/fzqL7/i8rMuH/Wc4FTJ5rM0JZvGNV5pMp5kaetS+gb78Hwvsrr5vk9XtovGZCPLZi3TmKoiUtMUkBG7bv11tKXbuOyMyypS3qA7yOyG2eN+XkOygYUtC+kZ7ImgVho2TkSmHwVkhDZ1bOI3j/+Gdz37XRU5z+b5HnEnTkNy9M45I2nLtDE7M5ue7NSGpIaNE5HpSAEZoc9s+AxzGubw9tPfXpHyCiPnTOZSiflN88kkM/Tn+qekTho2TkSmKwVkRO7eeTe/3/Z73v3sd1fsEgrP9yZ9pBpzYixuWYzv++Tc3KTWpWHjRGQ6U0BG5Lr11zG/cT5vXfnWipQ36A7SkGyYkiHaErEES2ctZSA/MOFOOz2DPRo2TkSmNQVkBO7afhfrn1zPe85+z4TPB47XYH5wSq+xzCQyLGpeRE92fPeQLAwbNys9S8PGici0pr3XFPN9n09v+DQLmxZy8TMvrkiZnu/hOM6UN2O2ZlrJulkO9B8YU9Ot67n05npZ0LyA2ZnZ6owjItOajiCn2B3b7+DunXfz3nPeW7Gjx4H8ALMzk+ucM5J5jfNoTDbSlxv9HpKD7iB9uT6WtCwZ0yg+IiK1TgE5hXzf57r117G4ZTFvfMYbK1au67mRXUbiOA6LWhYRI8agO1h2GQ0bJyL1SAE5hX7z+G9o72znynOuJJ1IV6TMnJsjHU9HWl4ilmBJ6xIG3UFczx02T8PGiUi9UkBOkcK5x2Wty/ibU/+mYuVm3WxFBkBPJ9Isal5Eby64h6SGjROReqdOOlPktsdu4/7d9/OZl3ymYpc1+L6Pg1Ox6yxb0i3My89jX98+IDg/Obdxrs43ikhdUkBOAc/3uG79dayYtYLXPf11FSt3ID/ArMysio5rOrdxLnk/T2OikdZMa8XKFRGpNAXkJNz80M1ce+e17OzeCcAlp11S0ev+8l6e1nRlQ8pxHBY2L6xomSIi1aBzkBN080M3c/VtVw+FI8BP/vwTbn7o5oqUn/fypOIpdYwREYmIAnKCrr3zWvrzwwf07s/3c+2d11ak/P5cP3Mb5lakLBGRmUgBOUEd3R3jmj6VKt05R0RkJlJATtDilsXjmj6VBvIDtKZbddNhEZEIKSAnaM3qNTQkhg8l15BoYM3qNZGXnffyureiiEjEFJATdNEpF3HVqquGfl/SsoRPXfApLjrlokjLzXt5krGkOueIiERMl3lMQqGTzO/f9ntOnHNiRcocyA2woHmBLs4XEYmYjiAnYVPnJmalZ3H87OMrUp7v++BAc6q5IuWJiMxkCshJaO9s54yFZ0Rym6lysm6W5lSzbkIsIlIBCsgJ6h3sxe63nLHojIqVmXNztGXaKlaeiMhMpoCcoM27N+P5HmcuOrMi5bmeSyKWOKLnrIiIREMBOUHtne0AnL7w9IqUN5AfYE7DHHXOERGpkBED0hhzYdHjuUWP3xl1paaD9s52jp99fEXuxQjBHUPUOUdEpHJGO4L8QNHjHxc9fkNEdZk2fN+nvbO9Ys2r2XyWpmSTbkosIlJBowWkM4bHM9KOrh3s7dtbsYAcdAeZ3TC7ImWJiEhgtID0x/B4RiqcfzxzYfQB6fkeiViCxmRj5GWJiMhTRrugrskYcxJBiDYWP65IzWpY+652MokMJ887OfKy+nP96pwjIlIFowVkH/C18HF/yeMZrb2znZXHrKzIOUHP92hJt0RejoiIDDdiQFprX1DJikwX2XyWB/Y8wDvOeEfkZQ26gzQkG0jFU5GXJSIiw40YkMaY44DrgdcDzwF+BPQAb7bWbqxM9WrPg3sfZNAdrEgHnWw+y5LWJZGXIyIiRxqtk87ngG9aa/PAZ4BLgOcD11aiYrVqqINOxAHp+R5xJ67OOSIiVTLaOci0tfbn4SABy6y1twEYY2b06Dvtne0sal7EwuaFkZYzkB+gLdNWsYHQRURkuLFcB/ki4DcwFI4z+lb29+66tyLNq67nqnOOiEgVjRaQDxhjvg98HPiqMWYRcBNhWM5Ee3v3sv3w9sgDMufmSMfTpBPpSMsREZGRjRaQ7we+DVxkrf09MA/YHE6fke7ddS8AZy06K9Jysm62YmO8iohIeaOdg1wGPAhgjFkOHAb+G1gCbB9tpWFT7JeBlUAWuMxa+2jR/PcDbwQ84BPW2nXGGAfYATwSLrbBWvv/JvKiorKpcxOJWIJnLHhGtAX5kElmoi1DRERGNVpAPhH+7Ap/L5yT9Aku+xjNq4GMtXaVMeZcgl6wrwIwxrQBVwAnAk3AfcA64ASg3Vr7inG/igpp72zn1Pmn0pCM+J6MDiRjGphcRKSaRgvI1xHcuSNDcDePm621fWNc72rgVgBr7UZjzLOK5vUC2wjCsYngKBLgLGCJMea3BKP1vM9aa8f6QqLmei6bd23m9U9/faTl5L086XhaQ8uJiFTZiOcgrbU3W2vfALwFSAM/NMb8lzHmr8aw3laCJtkC1xhTHMZPAn8G2oEvhNM6gU+GI/h8Avju2F9G9B7e/zC9ud6KdNDRtY8iItV31IvsrLWHrbX/SRBajcC3xrDeLqD4GoVYOOAAwIXAIuA4YDnwamPM2cCfgJ+FZd5JcDRZM4dRlRogwPXc6JtwRUTkqEZrYsUYcxrwJoJQuxf4BmO7YfJdwCuAH4XnILcUzTtI0ISatdb6xphDQBvwEWA/8CljzEpgu7W2Zm6t1d7ZzuzMbFa0rYi2IJ1/FBGpCaONxfpg+PD7BM2shbt4nAg8fJT1rgMuMMasJ+jcc6kx5irg0XB0nhcDG40xHnAncBtwD/BdY8zLgDzwtom9pGi072rnzEVnRn9u0KcidwkREZHRjXYEuZegx+qLgBeG05xw2gtHehKAtdYD3lUyeWvR/I8QHDEWOwi87OhVrrzDA4d5eP/DvMq8KtJyXM8lGU9qeDkRkRow2u2uzq9gPWra5t2bgejPP+a8HE3JpkjLEBGRsdGhyhi0d7bj4HD6wtMjLSfv5WlIqIOOiEgtUECOQXtnOyfNPYnWdGu0BfmQSujmyCIitWDMAWmMuTDKitQq3/dp72znzIXR38FDPVhFRGrHeI4gPxBZLWrYE4ee4ODAwYrcIDnhJIjH4pGWIyIiYzOegKyZi/YrqVIDBOTcnAYoFxGpIeMJyA9FVosa1t7ZTlOyiafNfVqk5aiDjohIbRlzQFpr74qyIrXq3l33snLhysibPj3f0w2SRURqiHqxjqI/18+Dex+MvHm1QB10RERqhwJyFA/seYC8l+esRWdFWo7v+8ScGInYqEPjiohIBSkgR7GpcxMAZyw8I9Jycl6OTCKje0CKiNSQ0QYr/y3BfSCLOYBvrX1OpLWqEe2d7SyftZz5TfMjLSfv5WnJtBx9QRERqZjR2vTWAF8HXkNwd40Zp72znbOXnB15Oa7nkknoEg8RkVoy2mDlfzTGfAc4zVq7roJ1qgmd3Z109nRWroOObnElIlJTRu0VYq29rlIVqTX37roXiH6AAN/3cRxHPVhFRGqMOumMoL2znVQ8xanzT420nLyXJx1Pq4OOiEiNUUCOoL2znWcseEbkF+/nvTyNycZIyxARkfFTQJaRc3Ns3r25Iucf816ehqSGmBMRqTUKyDK27tvKQH6gMre4QiPoiIjUIgVkGe27KnMHjwL1YBURqT0KyDLaO9uZ3zifpa1LIy0n7+VJxVPEHP0ZRERqjfbMZbR3tnPmojMj71mac3PqoCMiUqMUkCUO9B/gsYOPVaR51fVc3QNSRKRGKSBL3LfrPqAy5x99fFKJVOTliIjI+CkgS7R3thNzYqw8ZmVFylMPVhGR2qSALHFv572YuYamVFOk5Xi+RzKWJB6LR1qOiIhMjAKyiOd73Lvr3oo0r+bcnAYIEBGpYQrIIo8dfIzD2cOcteisyMvSEHMiIrVNAVlkU+cmoIIddOLqoCMiUqsUkEXaO9tpTbdywpwToi/M1wg6IiK1TAFZpL2zndMXnh75yDae7xGLxUjERr0dp4iIVJECMtSX62Prvq0VGaA87+U1QICISI1TQIY279qM53sVu8WVOuiIiNQ2BWSovTO4g8cZi86IvCzP8yK/EbOIiEyOAjLU3tnOcW3HMadhTvSFORpBR0Sk1ikgAd/3ad/VXpnLO3wfB0cddEREapwCEtjZvZM9vXsqdv4xk8hEfistERGZHAUkT51/VAcdEREpUEASBGQmnuGUeadEXpbru2QSmcjLERGRyVFAEgTkaQtPq8zINhpBR0RkWpjxAZnNZ3lgzwMVGSAAAAd10BERmQZmfED+ee+fybrZip1/TMVSkQ9lJyIikzfj99SVHCAg5+ZoTKmDjojIdDDjA/LeXfeysHkhi1sWR16W67kag1VEZJqY8QHZ3lmZAQKAYAQdddAREZkWZnRA7uvbx7bD2zhr0VmVKdDXEHMiItPFjA7ISg4Q4HouiViCeCweeVkiIjJ5Mz4gE7EEz1zwzMjLynk5GpI6/ygiMl3M+IA8Zd4pFQkuDTEnIjK9zNiAdD2Xzbs3V6yDju/7pOKpipQlIiKTN2MD8i8H/0LPYE/lerCiHqwiItPJjA3Izbs3A5XpoOP5HvFYXEPMiYhMIzM3IHdtpi3TxnFtx0VeVs7NaYAAEZFpZuYGZHj+sRI3LlYHHRGR6WdGBmRXtotHDzxasfOPnu+RTqQrUpaIiEyNGRmQ7Z3t+PiVu8UVGkFHRGS6mZEBeU/HPQCcvvD0yMvyfZ+YE1MHHRGRaWbGBeTaLWu5bv11AFzwnQu4+aGbIy0v5+XIJDIVOdcpIiJTZ0YF5Nota7n8lssZyA8AsLN7J1ffdnWkIakOOiIi09OMCsgP3v5B+nJ9w6b15/u59s5rIyvT9VwyiUxk6xcRkWjMqIDcfnh72ekd3R2RlqsRdEREpp8ZFZDLZy0vO31xy+LIynQcRz1YRUSmoRkVkNe86Jojzgc2JBpYs3pNJOXlvTzpeFoddEREpqEZFZAXP/NivvaKr7GsdRkODktalvCpCz7FRadcFEl5OTenDjoiItPUjLs47+JnXswrn/ZKOro7aEm3RFqW67m6SbKIyDQVSUAaY2LAl4GVQBa4zFr7aNH89wNvBDzgE9badcaYBuC7wAKgG3irtXZvFPWrGEcj6IiITFdRNbG+GshYa1cBa4DPFGYYY9qAK4BVwEuAz4Wz/h7YYq19LvBt4EMR1a1yfPVgFRGZrqIKyNXArQDW2o3As4rm9QLbgKbwxyt9DvBL4MUR1a0iXM8lGU8Sc2bUaV4RkboR1d67FThc9LtrjCluzn0S+DPQDnyhzHO6gVkR1a0icp466IiITGdRddLpAop7wMSstfnw8YXAIqBwp+JfGWPuKnlOC3AoorpVRN7L6ybJIiLTWFRHkHcBLwUwxpwLbCmadxDoB7LW2gGCIGwrfg5BiN4RUd0qw4dUIlXtWoiIyARFdQS5DrjAGLMecIBLjTFXAY9aa39ujHkxsNEY4wF3AreF//+XMeZOYBB4U0R1qwz1YBURmdYiCUhrrQe8q2Ty1qL5HwE+UjK/D3h9FPWpNM/3SDgJ4rF4tasiIiITpC6WEci5OQ0QICIyzSkgI6B7QIqITH8KyAj4+KTi6qAjIjKdKSCjoBF0RESmPQXkFPN9n1gsRiI248aBFxGpKwrIKZbzcmTimWpXQ0REJkkBOcXyXp7GlDroiIhMdwrIKeZ5Hul4utrVEBGRSVJATjVHHXREROqBAnIK+b6Pg6Mh5kRE6oACcgrlvTzpRBrHcapdFRERmSQF5BTKe3kaE+qgIyJSDxSQU8j1XTJJXeIhIlIPFJBTyPd9nX8UEakTCsgpph6sIiL1QQE5RfJenlQ8RczRJhURqQfam0+RnJvTLa5EROqIAnKKuJ5LQ0I3SRYRqRcKyCni45NK6B6QIiL1QgE5hdSDVUSkfiggp4DruSRjSeKxeLWrIiIiU0QBOQVyXo6GpM4/iojUEwXkFMh7efVgFRGpMwrIqeBrgAARkXqjgJwiGiBARKS+aK8+FRyIO+qgIyJSTxSQU8D3fR1BiojUGe3Vp4CDo0s8RETqjAJyklzPVQcdEZE6pICcJM/3SMQS1a6GiIhMMQXkJLm+SyquMVhFROqNAnKSdAQpIlKfFJCT5PmejiBFROqQAnKSdImHiEh90p59knSJh4hIfVJATpZG0RERqUsKyElSE6uISH3Snn2S1MQqIlKfFJCT4HquLvEQEalTCshJ8HxPw8yJiNQpBeQkaBQdEZH6pYCcBI2iIyJSvxSQk6BRdERE6pcCchJ0iYeISP3S3n0SdImHiEj9UkBOhkbRERGpWwrISVITq4hIfdLefTJ81MQqIlKnFJATpFF0RETqmwJygjSKjohIfVNATpBG0RERqW8KyAnyfV9NrCIidUwBOUGu75KMqYlVRKReKSAnyPd99WAVEaljCsKHAT0AABYhSURBVMgJ0ig6IiL1TQE5QT4ah1VEpJ5pDz9BjuNomDkRkTqmgJwoX8PMiYjUM+3hJ6Awio7jONWuioiIREQBOQEaRUdEpP4pICfA9TUOq4hIvVNAToDv+xpmTkSkzikgJ0Cj6IiI1D8F5ARpkAARkfoWyYk0Y0wM+DKwEsgCl1lrHw3nnQ58rmjxc4FXA3cDDwMPhNPXWWs/H0X9Jk03ShYRqXtR9TR5NZCx1q4yxpwLfAZ4FYC19j7gfABjzOuBDmvtrcaYFwPft9a+N6I6TRmNoiMiUv+iCsjVwK0A1tqNxphnlS5gjGkCPgo8L5x0FnCmMeb3wB7gCmttZ0T1mxSNoiMiUv+iOgxqBQ4X/e4aY0rD+B3Aj621+8LftwIfsdY+H/gpcENEdZs8jaIjIlL3otrLdwEtxeVYa/Mly1wMfKPo998Avw0frwPOiKhuk+L5nkbRERGZAaIKyLuAlwKE5yC3FM80xswC0tbaJ4smfwN4bfj4RcCmiOo2Ka7nahQdEZEZIKpzkOuAC4wx6wEHuNQYcxXwqLX258DTgCdKnrMGuMkY8w9AL3BZRHWbFNd3NUiAiMgMEElAWms94F0lk7cWzb+HoKdr8XMeB14QRX2mkkbRERGZGdTTZJw0io6IyMyggJwADRIgIlL/FJDjpVF0RERmBAXkOGkUHRGRmUF7+nHSKDoiIjODAnKcHBwdQYqIzADa04+D53vEnbhG0RERmQEUkOOgUXRERGYOBeQ4uL5LIhbV4EMiIlJLFJDjoFF0RERmDgXkOOgIUkRk5lBAjpMCUkRkZlBAjodG0RERmTEUkOOkayBFRGYG7e3Hw0Gj6IiIzBAKyHHSEaSIyMygvf0Yeb5HwkloFB0RkRlCATlGrueSiKsHq0g9WbtlLSs+t4LYR2Os+NwK1m5ZO+l1PvLII1x++eVccsklvPa1r+ULX/gCvu9PQW2nxnnnnQfANddcQ0dHx7B5f/nLX7jkkktGff53v/tdAP7whz/wwx/+MJpK1gjt8cfI8z0y8Uy1qyEiU2TtlrVcfsvl9OX6ANh2eBuX33I5ABc/8+IJrbOrq4urrrqKG264gRUrVuC6LldeeSU/+MEPeOMb3zhldZ8KH/zgByf0vBtvvJE3v/nNPO95z5viGtUeBeQYeb6nUXREppFvb/42N91704jzN+7YSNbNDpvWl+vjHT97B1/f9PWyz3n7GW/nLSvfMuI6b7/9ds455xxWrFgBQDz+/9u79/ia7zyP469cEQnSFEERifarywyLLmtXymhnh9bUGDHitqPVXVqGZGNJq214oDHFunSq1bhtGdQ27WxbTB8PqkY7jVKdMWy/LmkQl0l4pEhMrufsHydJE05ukuD0vJ+Ph4dzftfv93wfOZ/z/f2+v8/Xj8WLFxMQEEBaWhpLliwhICCA0aNH07p1a5YvX06TJk1o1aoVixYtori4mJkzZ+J0OikqKmLevHlEREQwY8YMcnNzyc/PZ9asWfTr16/8nEVFRQwbNozf/e53BAUFkZKSgr+/PwMGDCA5ORmHw8HVq1eZO3cuvXv3Lt9vwoQJJCUlERISQkJCAk6nk9atW5ev37VrF5s3f9ejXrFiBdu2bePKlSskJSXxwx/+kPT0dBISEli3bh0ffvgh/v7+9O3bl1mzZrFq1SoyMzO5fPky58+fJzExkYEDB5YfLzMzk7i4ONq1a0dmZiaPPfYYJ06c4NixYwwaNIj4+HistSxYsACg/DMKCgrixRdf5OLFi+Tk5BAdHc3MmTOZM2cOgYGBnDt3jqysLJKTk+nevXuVbVUbCpC1pCw6It8vNwbHmpbXRlZWFh07dqy0rHnz5t8du6CA7du343Q6GTJkCFu2bKFt27Zs3LiR1atX069fP0JCQli6dCknT54kNzeXM2fOcOnSJTZs2MDly5fJyMiodPyAgAB+/OMf89FHHzFixAh27NjB2rVr+eMf/8js2bMxxvD++++TmppaKUCWWb9+PY8//jijR49mx44dbNmyBYCMjAzWrFlDs2bNePHFF9m/fz9Tp05l06ZNJCUlkZqaCoC1lp07d7J161b8/f2ZPn06H3/8MQCBgYGkpKTw6aefsm7dukoBEuDs2bOsW7eO/Px8hgwZwr59+2jWrBmDBw8mPj6eF154gUWLFtG1a1e2b99OSkoKMTEx9OrVi5iYGAoKCsoDJED79u2ZP38+b7/9Ntu2bWP+/Pm33JagAFknCpAinmNiz4nV9vYilkdw+srpm5Z3btmZvb/ce0vnbN++PceOHau07OzZs1y8eBGALl26AJCTk0NwcDBt27YF4KGHHmLZsmXMmjWLjIwMnnnmGfz9/Zk6dSr3338/48aNIz4+nuLiYiZMmMDBgwdZsWIFAE899RQxMTEkJSURGRlJREQEoaGhtGnThtdee42mTZuSl5dHcHCw2zKfOHGCJ554AoDevXuXB8iwsDBmz55N8+bNSU9Pp1evXm73T09Pp2fPngQEuGY66tu3LydOnADgwQcfBCA8PJzCwsKb9u3YsSMhISEEBgZy77330qpVK4DywZCnTp1i3rx5gKun3KVLF1q1asWRI0f4/PPPCQ4OrnTciuf78ssv3Za3LvSNX0tOp1NZdES+RxYOWVjpHiRAUEAQC4csvOVjDh48mDfeeIPY2Fg6depEUVERycnJDBgwgK5du+Lr6xoXGRoaSm5uLllZWbRp04YDBw4QERFBWloabdq0Yd26dRw+fJhly5Yxd+5c8vLyWLNmDVlZWYwZM4Y9e/bw1ltvVTq30+kkJSWl/F7nwoULWbJkCVFRUaxcuZJz5865LXNkZCSHDx+mW7duHDlyBIBr166xcuVK9u7dC8CkSZPKBxrdOOAoMjKS9evXU1xcjJ+fH1988QUjRozg66+/rnHUf03ru3TpwuLFi2nfvj2HDh0iOzub1NRUQkJCmD9/PqdPn+btt98uL1NDP2WgAFlLPvjoGUiR75GygTjP736eM1fO0KllJxYOWXjLA3QAgoODSU5OZu7cuTidTvLy8hg8eDBjx47lwIED5dv5+PiwYMECpk+fjo+PDy1btuTll1/Gx8eHuLg4Nm7ciK+vL88++ywRERH85je/4b333iMgIIBf/epXbs89atQoVqxYQf/+/QH46U9/yjPPPENYWBjh4eHk5OS43W/GjBnExcWxY8cO7rvvvvJ69O7dm5/97GcEBQXRokULsrKyAIiKiiIhIYEBAwYAYIxh6NChxMbG4nA46NOnD4888ghff/31LX+OZZKSkpg9ezYlJSWAK+hHRUURHx/PoUOHaNasGZ07dy4vW0PzuZuGH1fHGBMBfLN79+7yRrxV1wqucf7aeUKahNR6n9zCXKJCo9SLFBH5nsjMzGTIkCEAXay1GTeuV5eoDtSDFBHxHvrGrwVl0RER8T4KkLWgLDoiIt5HAbIWHE4HAb4Bd7oYIiJyGylA1oKy6IiIeB8FyFpQFh0REe+jAFlLCpAiIt5FAbIWnE6nHvEQEfEy6hbVgg8+ShAg4oHOfHuG/OL8BjteU/+mdGrVqd7HSUxMZO/evYSFhfHBBx80QMmkMahbVBs+4OejACniafKL8wluEtxg/+oabNPS0pgzZ85Ny0eOHElKSkqdjlU2E4i75T/60Y/qdCypHQXIWtIlVhFpKA899BAtW7as0z7Z2dluA6Q0Hl1irYGy6IhIXcXExFBYWMj169e5cuVK+XRSCQkJN82J6M4333xDYmIi/v7++Pn58etf/5rXX3+dkydP8uqrrzJp0iQSEhK4evUqnTrV/5KvuKcAWYMSR4nuP4pInZT19NLS0nj33XdJTk6u0/6fffYZ3bt3Z86cORw8eJArV64wZcoUjh8/zrRp09i0aRMPPPAAcXFx/OlPfyItLa0xquH1dN2wBkoSICK326hRowgNDWXy5Mls3rwZP7/KP9JPnDjBD37wAwB69uyJv7/6Oo1BAbIGSjMnIreqX79+de49AuzevZs+ffqwceNGfvKTn5CSkoKvry8OhwNwTVL81VdfAXDs2DGKi4sbtNziop8dNXA4HQT4KUCKeKKm/k3JLcht0OPVRtk9yBuV3YOMj4/nwIED5OTkEB0dzfTp04mJiSnfrkePHsyaNYtVq1bh6+tLYmIiYWFhFBUV8corrxAXF0diYiKxsbFERkYSEKDvqMagCZNrkFuYS4eQDjQPbF6vc4qIyN1FEybXk7LoiIh4J33z10BZdEREvJMCZA2cOJVFR0TECylA1sDHx0eXWEVEvJC++auhLDoiIt5LAbIaDqdD9x9FRLyUAmQ1ShwlyqIjIuKlFCCroSw6IiLeS5l0qqEsOiJSV8nJyRw9epTs7Gzy8/Pp2LEjoaGhrFy58raWY9++fVy4cIFf/OIXt/W83ycKkNVw4sTfVx+RiNRe2QTJqamppKenk5CQcEfKER0dXe9j7Nu3j6VLlwIQGBjItm3b8PX1nguP+vavhrLoiHi2soTeFbVu3ZoOHTpQUlLCkSNHblofHh5OeHg4RUVFHD16tNK6Xr163XJZUlNTeeedd3A4HIwcOZLTp0+TkJBAQUEBQ4cOZc+ePRQVFfHSSy9x+vRpHA4HM2fOpF+/fpWO8cknn5Cfn8+ZM2d4+umnGT58OM899xxnz56lpKSESZMmMWzYsPIA/fOf//ymuSXvueeeas9TZsGCBWzevJnWrVvfcr09mQJkNZRFR0QaUosWLVi9ejWpqalu12/fvp3Q0FAWLVpETk4O48eP58MPP6y0TW5uLmvXriUjI4MpU6Zw/fp1QkNDeeWVV8jNzWXkyJH079+/fHt3c0vu3r27xvOAqxc6fPhwhg8fzvPPP9+wH4YHUICshhP1IEU8WXU9Pj8/v2rXBwQE1KvH6E6XLl1uWlZxwojjx49z6NAh/vznPwNQXFxMTk4OoaGh5dt069YNgHbt2lFYWMipU6cYMGAAAMHBwURFRXH27Nny7UeNGsWbb77J5MmTCQkJIS4urlbn+fLLLwHYv3+/18436Z21riUfHx+lmRORBlN2/65JkyZkZ2cDVLqMGxkZSXh4OFOmTCE/P5/Vq1fTsmXLSse4MXFJVFQUBw8e5NFHHyU3N5fjx49z3333cerUKeC7uSWnTZvGBx98QEpKCg8++GCN59m1axcRERH4+/vjdDrJy8sjODi4wT+Tu5m6R1VQFh0RaSwDBw7k3LlzxMbGsnPnTpo3d02nN2bMGNLT0xk/fjxjxoyhQ4cONQ6KGT16NN9++y2xsbFMnDiRadOmERYWVr6+R48eLF++nLFjx7J169byY9d0nscff5xt27YxfPhwRo8eTUZGRoN/Dnc7zQdZhWJHMU6nk86tOtfrXCIicnfSfJC3SFl0RES8mwJkFRxOh56BFBHxYgqQVXA4HepBioh4MQXIKjhx6hlIEREvpgBZDT3iISLivRQgq+JEPUgRES+mAFkFZdEREfFujTJM0xjjC7wG9AQKgMnW2pOl63oByyts3h8YARwEfgs0A84Dk6y11xujfLWhLDoiIt6tsZ5jGAE0tdb+ozGmP7AUeALAWvsVMAjAGBMDnLfW7jLGrAR+a63dYIyZA/w78F8VjukHcPHixXoXLq8wj7/m/ZW8wDy36x1OBwUlBQT9Laje5xIRkbtThXjitjfUWAHyn4FdANbaz40xfW/cwBjTHJgHRFfYZ1Hp652lrysGyHYA48aNa6Qii4iIl2oHnLpxYWMFyBbAlQrvS4wx/tba4grLngK2W2svudnnGlA5cy58AQwELgAlDV9kERHxMn64guMX7lY2VoC8ClRMdOp7Q3AEGAeMcrPP30r//7bixtbaAmB/wxdVRES82E09xzKNNUzzU2AYQOk9yErTdhtjWgJNrLVn3e0DDAX+0EhlExERqVFj9SDfBR41xnwG+ACTjDHxwElr7f8CDwAZN+yzANhojHkauASMbaSyiYiI1MhjprvydMaYw3x3j/Uba+2kO1meujLG9AMWW2sHGWO6AhsAJ/AX4FlrreNOlq+2bqhHb+B94ETp6tXW2m13rnQ1M8YEAOuACKAJrh+Wx/Cw9qiiHpl4Xnv4AW8CBtfYiEm4OgUb8JD2qKIOLfGwtihjjGkDHAIeBYqpR1touorbwBjTFMBaO+gOF+WWGGP+E5gAlD0XswyYa63da4x5HdcjPO/eqfLVlpt69AaWWWuX3rlS1dl44LK1doIxJgw4DHyF57WHu3rMx/PaYziAtfafjDGDcP1t+OBZ7eGuDu/jeW1R9sPrDVxjWaCe31VKFXN79ASCjDEfGWP2lN6X9SSngJEV3vcBPil9vRN45LaX6Na4q8djxph9xpi1xpiqZ9C+e2wHXqjwvhjPbI+q6uFR7WGtfQ/4t9K3nYG/4mHtUU0dPKotSi0BXseVbAbq2RYKkLfHdVwN9y/AFGCzMcZjeu/W2neAogqLfKy1Zdfm3T2Sc1dyU48DwCxrbTSQDrx0RwpWB9baXGvttdIvrP8B5uKB7VFFPTyuPQCstcXGmI3AKlx18cT2uLEOHtcWxphfAtnW2t9XWFyvtlCAvD2OA5ustU5r7XHgMqWJDzxUxWv4Nz2S40HetdYeKnsN/P2dLExtGWM6Ah8Db1lrf4uHtoebenhkewBYa/8V1+DDN3GlyyzjMe1xQx0+8sC2eBLX4NC9QC/gv4E2FdbXuS0UIG+PJ3Gl28MY0x5XUoQLd7RE9XO49F4FePYjOb83xvxD6eshuG7s39WMMW2Bj4DZ1tp1pYs9rj2qqIcntscEY0xi6dvruH6sHPSk9qiiDqme1hbW2mhr7cOlYz2+AiYCO+vTFh5zmc/DrQU2GGP24xpN9aSbxAme5D+AN40xgcD/4bok44mmAq8aYwqBi3x3H+Zu9hwQCrxgjCm7hzcDWOlh7eGuHvHAcg9rj1RgvTFmHxAAzMTVBp709+GuDmfxvL8Nd+r1XaXHPERERNzQJVYRERE3FCBFRETcUIAUERFxQwFSRETEDQVIERERNxQgRe5yxphBxpitFd6PMsb8xRgTbYw5aox5uTb7VVi+tcKzYSJSBQVIEQ9ijBkDJOJ6eDsaeN1am1j9XiJyK5QoQMRDGGMmANNxJVy+H5gMFBpjMoFcXFNG5eNKZfjkDfs+W7r9BUrTbxljHsA1FVARrmThE621525HXUQ8gXqQIp5hIK5sJvcA/tbaA7iC2zLgPWANMNJa+zCu2Qvmlu1ojGmJK9tOf1zT/QSWrnoUVwqxR4CFuDLbiEgpBUgRz3ABV0BbDmwyxlT8270XuFqh97cP6F5hfTfgqLW2wFpbhGumBnClQLwE7AKm4epFikgpBUgRz3DSWptvrX0VKASer7DuEtDCGFM2Q8zDuGaQKZMO/J0xplnp7PFlMzM8AfzBWjsE1/yMsxu1BiIeRvcgRTzPk8BhXBNAb7HWOo0xT+OagcEB5AC/BHoAWGuzjTEvAp8B2UBe6XEO4uqNFuOawSHuttZC5C6nZOUiIiJu6BKriIiIGwqQIiIibihAioiIuKEAKSIi4oYCpIiIiBsKkCIiIm4oQIqIiLjx/2ph6hal7clmAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Plotting result - LHS - 1 - MSE\n", "fig = plt.figure(figsize=(16,8))\n", "fig.add_subplot(1, 2, 1)\n", "k_folds_range = np.array([2,4,6,8,10,15,20,25,30,35,39])\n", "\n", "plt.fill_between(k_folds_range, 1 - (CV_Mean_MSE_small - CV_Std_MSE_small),\n", " 1 - (CV_Mean_MSE_small + CV_Std_MSE_small), alpha=0.1, color=\"g\", label = '$\\pm 1$ std')\n", "\n", "plt.plot(k_folds_range, 1 - CV_Mean_MSE_small, 'o-', color=\"g\",\n", " label=\"Cross-validation mean\")\n", "\n", "plt.hlines(1 - 1/12 , min(k_folds_range),max(k_folds_range), linestyle = '--', color = 'gray', alpha = .5, label = 'True noise $\\epsilon$')\n", "plt.legend(loc=\"lower right\"), \n", "plt.ylim(0.7,1)\n", "plt.ylabel('1 - MSE'), plt.xlabel('Kfolds')\n", "plt.title('1 - MSE vs Number of Kfolds: 40 data points, 100 iterations bootstrap ')\n" ] }, { "cell_type": "code", "execution_count": 260, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5,1,'Var MSE vs Number of Kfolds: 40 data points, 100 iterations bootstrap ')" ] }, "execution_count": 260, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbgAAAGyCAYAAACWUdHVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzs3Xl8FPX9x/HX5iYH4TAkoIYgylfkVEHwFlEUkcTbUkTFVrT6q9cPrS3an7bi0RYFbcWCAooYra3K4YVivRUFEwkIX0CUS0IAMUAg9/7+mN24hCTk2M0evJ+Phw/DzuzMZ695z3fmO99xud1uREREIk1UsAsQEREJBAWciIhEJAWciIhEJAWciIhEJAWciIhEJAWciIhEpJhgF+Avxpj/Am9bax+u9fj/AmdYa3Oaudws4DvgQ2vtmbWmzQKuAdKstduNMYOBh4COODsPG4Hx1toVnvndwHKgqtZqLrLWft+c+uqp+VpgKjDQWrvc5/EFwL+ttbP8sI4sYLm1Nrmly2rk+voD/wF+Ai71fb+MMd8Dl1lrl3j+3Qt4G3jcWvsXz/vxJ2Cltfa8BtbhxvNZ1np8PNDbWnttC19DN2ApMMyn1hE435l4YBnwK2vtroMs5zLgf6y1Zx1kvj8CX1tr57ak7oMxxmQD51hrbznIfNOBp6y1S1u4vmHAX6y1/X0eq/N9NMZEA5OA83G2d3+z1j5VxzL/BKy11j4XiPfNGLMQ+KVnO/EGznbhG38tv471zcL5ff7NT8sbAQyy1v6xgXlSgVettWf7Y53+EDEBBzwJTAQervX49UCDP7xGKAWMMaartXY9zj+SgFO9Mxhj4oEFOBuvrzyPXQW8aYzpZq31htqQ2hvQAHEBucaYgdba0lZYX6BlA/+11v66oZmMMYOAuTgbkOc9D18N/MHn363OGJMAPA/E+TyWBswETrXWrjHGPILz/b3JT6s9GwjYRtTLWjsPmNeIWc8F/tnc9Rhj2gATgJuBzT6PN/Q+3gD0AHoDKcBnxpivrLVf1HoNvhvuQLxv5/qs6wI/L7s1DAQ6HGSe9sBJrVBLo0VSwL0KTDbGnG6t/QjAGHMmzob+HWNMFPAYMBjni+4Cfm2t/cSzt9MB6A4ssNb+rtayq4CXgNHAg57HLsHZkP6v59+JQDvAt0UzB9gFRHNgq61enj3USdbaPp5/t8NpRR4F/AK4ESjHCd4b6tkTXISzMf0b8D91rON79m/1fA9cBmwH3gPeAU7E+Y78EWdDcSywBBjlWUyUMeZpz3wVwC3W2s89y5sAXIrTkv0euMla+4Mx5n3gR8+yplprn6hV172e5VcCqz21D8XZWEUbY9pYa0fX874NxQmRq621Cz2PPYbzo+vm2RDOAP4B9AfcwJs44Vfps5xY4HGcjVIRsBUo9ky7BLgHqMb5TO+01n7oacXc2MDG6x/ALJwNtNcw4Etr7RrPv6cCXxtjbrbW7jcCg6eFMRrYAazxebyHZ9kpQGcgH7gS+BUwAPirMaYKWFHXfLV3fjy/hX2e96cTsBDnc60wxpwO/BXnu14O3GOtfcvTQr7MWnuh5/P9DGfnLxN4FxgH/BnoAswxxlwNHF7X+1jPe+d1HpCEc9TkQZ/H630fgYuBaZ7Pd6cx5kXgKmC/gPO2eDyv3fd9ex14BDgT53ec53k/dnl+M4uBvsAfcH4Df8D53XUCnrXW3muMmelZzX+NMRcAH3neryXGmHE4O+BVON+z/7HWrvbUswvoAxyJ0yq92lq7xxhzv+d1leN8H6611m6p4/06zdPab4vzOY631lbW9zl63oe6fn9dcbY50caYYuAJ4DngMM96XrfW3ouzk9HGGJOPs03Yi7ON7Ifz3e2Lsx2Jw9nePmytner5/lyOs63oirPzco219oc6XlOTRMw5OM8XeDrOD9trHPCkZ2MxCOcHdrK19jjgWeBun3kTrbW96gg3r+eAMT7/vgZng+Vd/07gLuAtY8w6Y8xsYCzwrrW23Od5/zXG5Pv892od63oHSDbGDPD8exTOD20XMBk431o7EJgGnFZPvW6clssVxpgL65mnPt1wvrQDcDZWUzw19AJOx9lJAGgDvGOtPR5nY/WyMSbOswHrA5zkOYz0BvC0z/J3WmuPqyPcxgLDcQ6t9sXZ4Myy1s4BngJeqi/ccH7wrwMfecMNwFp7O04o32mtfQwnuHZ46huA8+MbX2tZN+Hs9R+HE3KZPtP+ihPWA4B7gbM865lXX7gZY34NxFprp9eadCTOYWyvTTgbo5Raz8/B2VnoD5wCpPpMvh5nQzoYOBrnsxthrf2Hz+t+tb756qoX57dyruf1HwfcYIzpCPwbuNXz2VwDPO857Fpbd8/70hfn8zzTWjsB+AEYba1dTD3vY0Osta95Ps/ah3Abeh/rmnZEA+uo/b7djbOxP9Fa28/zGnyPEi231vYEXsPZ2b3G85oGA783xhxmrR3rmXeItbamFmPM2TjbjCGeZb8AvGaMcXlmORHn0GpPIAu43BhzJHAbzm9kAE5wDarn5RyBs3PYH+d7fn1Dn2MDv7/F/Pz7m4DzXVpnrT0BZ3twjOfw5Fhgn7W2v+eIVRww31prgFWe513g2V5cCfzFp9YzPTUdh3MY//F6XlOTREzAeUwDLjLGpBhjOuDs8c0CsNZ+hrMRvsEY8zec1opva+vjhhbsOW9QZYw50fMlS/E9v+WZ51EgHWePbAvwOyDP8+F7DfF8Abz/XVzHutw4LY1rPQ+NBaZ7vjQvA58aY/6Ocz7qmQZq3oIT+DOMMRkNvb5aKoD5nr+/BT611u7y7O3/wM+HKn6y1r7kWZc3VI4FLsT5gS/x7M39FjA+y/+onvUOB2Zaa0s8/54CDDXGxNUzv69RwBDgVGPMDQ3MNxz4u7XWba0tw/nhDq81zznAC9back8tc3ymvQi86mm5tmf/H+kBjDEn4Oz93ljH5CicHZHaarf2zwFesdbu9uzIzfCZ9jtgmzHmLpyWSxf2/143dT5wNmp7PO/Pczi/o0E456gWA1jnvPIn1B1M86211dY5l7iWug9tNel9PIiG3sfa01w04WgKznc5B+d3nA9chBP6Xh9BzW92JHCiMeb/gEc960pqYNnn44TGNs8yZuG0bLM809+y1pZZayuAApz3cTPwNfCVZzuWb619rZ7lz7bWlnh2sJ/H2Wlp6HNs7O/vLeBSz7nEG4C7rbXF9dTgfX/24LyXI4wxf8Y5kuH7/VtorV3t+Xs6zneuxSIq4DxN2ndwDuNdjdOhwntoaQTOHj44zeancL6AXnsasYrZOIc3xnj+rmGMOdUYc6dnI7TAWnsXTovHjc/x9yaYgbPH1h9oZ639wPMar8L5Ia3F2bvMbWgh1tr5OKH4HPu/Xnetf/t+ictrHSKrqGfxtTcUUZ55o4FHvCGO01I61We++t7raPbfGEXhHCJ11T37fsZ4dmJ+ATxqnA4/dam9wYsCYuuYz3edNYcvPXuwp+Hs5V8LHOyw2tU4rYlPPRtI72G6bGCD599eh+O0bksOXEzd9eB8/uOA9TiH4L+i7versfPVXn4Uzudc+7PxTqvrvdvn83ft7xnQrPexIQ29j7WndcFpxTVWNE7LwvtdPgln59hrD9Sck88DTsB5b+/E+S009N2t6z118fN7esD7aK2txmntXItzJOIxY0x9Owe+v0/f32Z9n2Ojfn/W2i9xjgBMwwnjL4wxJ9ZTg/f9OQLnsHhXnMbEPbXmq+s712IRFXAe/8A53nuN52+vc3H2LKfi/KguwvlAm+J5nGPFV+IcTvC1DbjHGON7yLAzzuGkgiauB2vtZpzzBP/Ec3jPGHOYMWYjsMNaOxnnSzKwEYv7X5wf9tBa9Q7wLPcsT61N1dF7+NMYMxLnB7kGpwfjr40xbT3z/YlaOwT1eAu4zrOxAKcl/KGnJXEwZQDWOf/6J+Dfxpj0OuZ7G/gfY4zL0zFoHM5Oka83gauNMQmeziFXel5jjOe8S6J1euLdBPT1LKdO1trbrLU9fDaQ3sN083AOLw02xhzjmf1GnJ2v2t7E2dlp5zmX7Huo/DzgT96WNM4euvd7XcnPG8uG5qvtSmNMvOe1X4PTmv8MONYYc5LnvegFnAG8X99rr0MlENuc9/EgGnof5+J8p2I857J/gXM48aB1ev72fl/iPO/9dJzemrUdg7Mjc49np/IsnB6d3ve4igN3Bt4CfuE5N+w9RL8DZ+e1TsaYfjiHDldaax/C2Vmpbxvwi1qf45s0/Dk29PureU+MMQ8D93pajrfinN/t7Zkn2ucQq68BONucB3A+L+92w/v+DDXGHO75+0Z+PoLUIhEXcNba93G66e+y1voGy1PAWcaYApw9rG9xOh40+j3whM5KYI219sda01bjhOaDnnNw3wD/AsZaa63PrLXPweV7TjzXZTpwPM75QqzT+/IBYJExZinOuYDrG1F3Kc4hPN+9s98Bt3paFWNwjns3VRHOoYp84Pc43fcrcQJ5AfC5MWYFzrmYaxuxvGdwOiV8YYxZibM3XN85t4b8BWdv+l/GmNodqW7B6QBQ4PnP4vS+9fVPnJ2g5cAHOB18vOd5bwNeMMZ8hdMyvs5aW2aMyfYcsmk0a20RzuHnf3tebx9+7rTkO98bOC36JTidGnwPB/0B51BfgafuD3DOsYHTs/EhY8w1B5mvtr04h5YKPP+f6fnuXQ484VnGCzjf7dX1LKMur+DsJJ5N672PU3F+618DXwLPeI+GNMD3ffszTiepPJyelS7q+IxwOoEsAFZ5ahjpmd/7Hr8MfGCM6e1T9zs4AfWe53dyDXChp5VW32v9Gme7ssQYswS4Drijntm/w/n88nBayM8e5HNs6Pf3HnCeMeYJnH4A/Y0xy3G+k9/hHHLegrNTvsJzrs/XQpyWs8XZhmbiBJ73/dkEzPasNwvn+9FiLt0uR0S8jJ+vn2rG+mOAOdbaK4Oxfml9xqcXrr+XHXEtOBEJaz1xWjUiLaYWnIiIRKSAXOjtOa/1JM61F2U4F1Sv9Zl+PU730krgAWvtAk+3/tU45z3AGfJlSiDqExGRyBeokUwuAhKstSd7umtPwrmWBM/1WLfg9KpJAD42xryDc0Iz11r72wDVJCIih5BABdxpOF1OsdZ+bn4ekQOc60g+8XQ9LTPGrMXpZXcicIIx5gOc3nm3WJ/hZzxdiAfi9NTxyzUSIiIS9qJxLnP6svYlRYEKuLbs35W5yhgT4+lmXXvabpxrxVYBS6217xpjRuOMd+Z7QeVA6h8BQ0REDm2nU2tEqkAF3C72H08vyv48mG3taSk4Q04txrn+BpyBk/9Ua5lbAObMmUNGRlNGnQpd4xeO5/NNn/PxdQ2OEiYiIvUoLCxk9OjR4MkIX4EKuE9wLnT8l+ccnO8F118AEz1X18fjdAtejnMx839wLmIcyoEXHlcBZGRkcMQR9Y6VGlY6de7ET0U/RczrEREJogNOXQUq4F4FzjXGfIpz5f9YY8wdOIN8zjPGPI5zuDEKmGCtLTXG3I0zKPBNQAnQ4H2/IkFqfCq7ynbhdrtxuRoz3KKIiDRWQALOM9RM7dHTV/lMn44zDJXvc77DGQ3+kNE2vi1u3JRUlJAc1yo3xhYROWRoJJMgahvvjEVcXFrfnSZERKS5FHBBlJrg3CZuV1nt+zeKiEhLKeCCqKYFV6YWnIiIvynggig1Xi04EZFAUcAFkbcFp4CTQ92cgjlkTc4i6v4osiZnMadgTouXuWbNGsaNG8eYMWO49NJLefzxxwmlweVPPdW5yf3EiRP54Ycf9pv27bffMmbMmLqeVuP5558H4MMPP+Sll15qcN6GTJkyhSlT9h/295133mH8+PGNev4rr7zCokWLmr3+QFLABZE6mYg44TZu/jjWF6/HjZv1xesZN39ci0Ju165d3HHHHfzhD39g9uzZ/Otf/2L16tW8+OKLfqzcPyZMmECXLl2a/LypU6cCcMYZZ3Dllc2/fd7ll1/OggUL9gv///znP41e5iWXXMLQoUObvf5ACtR1cNII6mQih4Lnvn6OGXkz6p3++abPKavabwhB9lbs5Vdzf8X0pdPrfM51x1/H1f2urneZixYtYtCgQWRlZQEQHR3NI488QmxsLIsXL+Zvf/sbsbGxXHHFFaSlpTF58mTi4+Np164dDz74IJWVldx222243W4qKiq4//77ycrK4tZbb2XPnj2UlpZy5513MmjQoJp1VlRUcMEFFzB37lwSExN5+umniYmJ4ZRTTuHhhx+murqaXbt2cc8993DCCSfUPG/MmDHcd999pKSkMH78eNxuN2lpaTXT33rrLebM+Tnsp0yZwksvvURxcTH33Xcfffv2Zd26dYwfP54ZM2bw+uuvExMTw4ABA7jzzjt54okn2LRpEzt27OCHH37g97//PaeffnrN8rp06ULXrl1ZsmQJAwcOZNu2bWzevJmBAwdSWFjIfffdR1lZGT/99BM333wz55xzDhdeeCFZWVnExcXRrVs3DjvsMK644gr++Mc/UlhYyM6dOznjjDO47bbbuPvuu4mLi2Pz5s0UFRXx8MMP06tXL15++WVyc3Oprq5m6NCh/Pa3v+XNN99k1qxZREVFceKJJza6FVkfteCCKCXOGbFMASeHstrhdrDHG6OoqIgjjzxyv8eSkpKIi4tzll1WxgsvvEBOTg733nsvf//733n++ecZOHAgU6dOZdmyZaSkpDB9+nTuuece9uzZw4YNG9i+fTtPPfUUkyZNorS0dL/lx8bGMmzYMBYuXAjAG2+8QU5ODmvXruV3v/sds2bNYuzYsbzyyit11jxz5kwuvPBCZs+ezTnnnFPz+Pfff8+0adOYPXs23bp14+OPP+Y3v/kNqamp3HfffTXzWWt58803efHFF3nxxRdZv349//3vfwGIi4vj6aefZsKECcyaNeuAdV9xxRXMnTsXgNdee41LL70UgHXr1jF27FhmzpzJvffeWxO0e/fu5aabbuLRRx+tWcaWLVvo378/zzzzDLm5ueTm5tZM69KlC8888wxjxozhpZdeYseOHUyfPp0XXniBV155hd27d/PDDz/wxBNPMGvWLHJzc9m6dSuffPJJ/R9yI6gFF0TRUdEkxSapF6VEtKv7Xd1gaytrchbri9cf8HjX1K68f+37zVpnly5d+Oabb/Z7bOPGjRQWFgLQ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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize = (7,7))\n", "\n", "plt.plot(k_folds_range, CV_Std_MSE_small, 'o-', color=\"g\",\n", " label=\"Cross-validation Variance\")\n", "\n", "plt.legend(loc=\"best\")\n", "plt.ylabel('Std MSE')\n", "plt.xlabel('Kfolds')\n", "plt.ylim(0,.05)\n", "plt.title('Var MSE vs Number of Kfolds: 40 data points, 100 iterations bootstrap ')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Large dataset " ] }, { "cell_type": "code", "execution_count": 269, "metadata": {}, "outputs": [], "source": [ "#Utility variables\n", "CV_Mean_MSE_larger, CV_Std_MSE_larger = [],[]\n", "k_folds_range = np.array([5,20,40,80,125,175,199])\n", "\n", "#Resample with replacement from original dataset\n", "rs = ShuffleSplit(n_splits=1, train_size = 200, test_size=1)\n", "rs.get_n_splits(X)\n", "for subset_index, _ in rs.split(X):\n", " X_subset, Y_subset, = X[subset_index],Y[subset_index]\n", "\n", "for k in k_folds_range:\n", " #Reset list at start of loop\n", " i_Mean_MSE = []\n", " \n", " #Repeat experiment i times\n", " for i in range(50):\n", " #Reset list at start of loop \n", " Kfold_MSE_list = []\n", " \n", " #Loop over kfold splits\n", " kf = KFold(n_splits = k, shuffle = True)\n", " for train_index, test_index in kf.split(X_subset):\n", " X_train, X_test = X_subset[train_index], X_subset[test_index]\n", " y_train, y_test = Y_subset[train_index], Y_subset[test_index]\n", " \n", " #Fit model on X_train\n", " pipeline = Pipeline([('polynomialfeatures', PolynomialFeatures(degree=4, include_bias=True, interaction_only=False)),\n", " ('linearregression', LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=True))])\n", " pipeline.fit(X_train,y_train)\n", " \n", " #Store each Kfold MSE values on X_test\n", " Kfold_MSE_list.append(mean_squared_error(y_test, pipeline.predict(X_test)))\n", " \n", " #Average over the K folds for a single \"i\" iteration\n", " i_Mean_MSE.append(np.mean(Kfold_MSE_list))\n", " \n", " #Average and std for a particular k value over all i iterations\n", " CV_Mean_MSE_larger.append(np.mean(i_Mean_MSE))\n", " CV_Std_MSE_larger.append(np.std(i_Mean_MSE))\n", " \n", "#Convert to numpy for convenience\n", "CV_Mean_MSE_larger = np.asarray(CV_Mean_MSE_larger)\n", "CV_Std_MSE_larger = np.asarray(CV_Std_MSE_larger)" ] }, { "cell_type": "code", "execution_count": 270, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5,1,'1 - MSE vs Number of Kfolds: 200 data points ')" ] }, "execution_count": 270, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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DTfw61//mt12242bbrqJV155hebmZm655RYuvfRS2tvbmT9/PosXL+ZnP/sZ11xzDd3d3X2OnUqlOPDAA3n44YcBeOCBBzjssMOYM2cOF154Ibfddhsnn3wy06ZNq1jeX/ziFxxyyCHcfvvt7L///sXl8+bN4+abb+b2229nyy235KmnnuKMM86gpaWFyy67rLidu/Pggw9y5513cuedd/LWW2/x2GOPAVBTU8Ott97KJZdcwm233bbSr2kp1TRFRKrkpB1PGrRWOOHaCbzV9la/5Vu0bMHjn398pR5z44035m9/+1ufZW+//TbPP/88W265JQBLliyhqamJjTbaCIDddtuNH/3oR5x//vnMmzePM888k2QyyRlnnMG2227L8ccfz7nnnksmk+HEE0/khRde4LrrrgPgi1/8IkcddRSXXXYZW221FRMmTKC1tZUNN9yQG2+8kbq6Ojo6OmhqaqpY3tmzZ3PYYYcBsPPOO/Ob3/wGgDFjxnDhhRfS2NjI3Llz2WmnnSruP3fuXHbccUdSqRQAu+66K7NnzwZg4sSJQDA3eW9v70q9nuVU0xQRGSZX7HcFDamGPssaUg1csd8VK33MfffdlyeffJL58+cDQfPpVVddRWtrK/F48JHf2tpKe3s77733HgB//vOfmTBhAs899xwbbrghU6ZM4YwzzuBHP/oR7k5HRwc333wzV111Fd/97nfZdddduf3227n99tvZZ599mDBhAvl8nltvvZWjjjoqeG5XXMFXv/pVvv/977PddtsNOBBpq6224qWXXgJg5sxgmvLly5dz/fXX8+Mf/5jLL7+c2tra4v7lx9lqq6145ZVXyGQy5PP5Pl8OYrHYSr+OA1FNU0RkmBQG+1wy4xLmt81n85bNuWK/K1Z6EBBAU1MTV111FZdeein5fJ6Ojg723Xdftt56a1544QUgCJPLL7+cr3zlK8RiMVpaWvje975HLBbjnHPO4Ze//CXxeJwvf/nLTJgwgZ/+9Kfcc889pFIpvvrVr1Z83COPPJLrrruOPfbYA4DPfOYznHnmmYwZM4bx48ezZMmSivudffbZnHPOOTzwwAPFK1U1NTWx88478x//8R80NDQwatSoYsBvvfXWnHfeeey5554AmBkHH3wwxx57LLlcjl122YX999+fN954o+LjrarYSBmGvLLMbALw9xkzZujSYCIi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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Plotting result - LHS\n", "fig = plt.figure(figsize=(16,8))\n", "fig.add_subplot(1, 2, 1)\n", "k_folds_range = np.array([5,20,40,80,125,175,199])\n", "plt.fill_between(k_folds_range, 1 - (CV_Mean_MSE_larger - CV_Std_MSE_larger),\n", " 1 - (CV_Mean_MSE_larger + CV_Std_MSE_larger), alpha=0.1, color=\"g\")\n", "\n", "plt.plot(k_folds_range, 1 - CV_Mean_MSE_larger, 'o-', color=\"g\",\n", " label=\"Cross-validation\")\n", "\n", "plt.hlines(1 - 1/12 , min(k_folds_range),max(k_folds_range), linestyle = '--', color = 'gray', alpha = .5, label = 'True noise $\\epsilon$')\n", "plt.legend(loc=\"best\")\n", "plt.ylim(0.9,.93)\n", "plt.ylabel('1 - MSE')\n", "plt.xlabel('Kfolds')\n", "plt.title('1 - MSE vs Number of Kfolds: 200 data points ')\n", "\n" ] }, { "cell_type": "code", "execution_count": 273, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5,1,'Var MSE vs Number of Kfolds: 200 data points, 50 iterations bootstrap ')" ] }, "execution_count": 273, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize = (7,7))\n", "\n", "plt.plot(k_folds_range, CV_Std_MSE_larger, 'o-', color=\"g\",\n", " label=\"Cross-validation Variance\")\n", "\n", "#plt.hlines(1 - 1/12 , min(split_range),max(split_range), linestyle = '--', color = 'gray', alpha = .5, label = 'True noise $\\epsilon$')\n", "plt.legend(loc=\"best\")\n", "#plt.ylim(0.8,1)\n", "plt.ylabel('Std MSE')\n", "plt.xlabel('Kfolds')\n", "plt.title('Var MSE vs Number of Kfolds: 200 data points, 50 iterations bootstrap ')" ] }, { "cell_type": "code", "execution_count": 272, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0.0015092 , 0.0005478 , 0.00039666, 0.00112999, 0.00176689,\n", " 0.00155714, 0.00027417])" ] }, "execution_count": 272, "metadata": {}, "output_type": "execute_result" } ], "source": [ "CV_Std_MSE_larger" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.6.4" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": false, "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 } }, "nbformat": 4, "nbformat_minor": 2 }