ml-finance-python
python scripts for finance machine learning
git clone https://9o.is/git/ml-finance-python.git
Portfolio expected return and variance.ipynb
(43562B)
1 {
2 "cells": [
3 {
4 "cell_type": "markdown",
5 "metadata": {},
6 "source": [
7 "# Expected return\n",
8 "By Evgenia \"Jenny\" Nitishinskaya and Delaney Granizo-Mackenzie\n",
9 "\n",
10 "Notebook released under the Creative Commons Attribution 4.0 License.\n",
11 "\n",
12 "---\n",
13 "A common way of evaluating a portfolio is computing its expected return, which corresponds to the reward for investing in that portfolio, and the variance of the return, which corresponds to the risk. To compute the expected return, we use the linearity property of expected value:\n",
14 "\n",
15 "$$ E(R_p) = E(w_1 R_1 + w_2 R_2 + \\ldots + w_n R_n) = w_1 E(R_1) + w_2 E(R_2) + \\ldots w_n E(R_n) $$\n",
16 "\n",
17 "So the expected return of our portfolio $R_p$, which is a weighted average of some securities, is the weighted average of the expected returns on the individual securities $R_i$. As with the expected value of other variables, we can compute this from a known or estimated probability distribution, or empirically from historical data."
18 ]
19 },
20 {
21 "cell_type": "markdown",
22 "metadata": {},
23 "source": [
24 "# Portfolio variance\n",
25 "\n",
26 "To compute the variance of the portfolio, we need to define the <i>covariance</i> between two random variables:\n",
27 "\n",
28 "$$ Cov(R_i, R_j) = E[(R_i - E[R_i])(R_j - E[R_j])] $$\n",
29 "\n",
30 "This is an extension of the idea of variance — notice that $Cov(R_i, R_i) = E[(R_i - E[R_i])^2] = Var(R_i)$. We can summarize the covariances in a covariance matrix, where the $ij$th entry is $Cov(R_i, R_j)$. For two variables, it looks like this:\n",
31 "\n",
32 "$$ \\left( \\begin{array}{cc}\n",
33 "Var(R_1) & Cov(R_1, R_2) \\\\\n",
34 "Cov(R_1, R_2) & Var(R_2) \\end{array} \\right) $$\n",
35 "\n",
36 "The covariance is useful here because when we expand the variance of the portfolio returns $Var(R_p)$, we find that\n",
37 "\n",
38 "$$ Var(R_p) = E[(R_p - E[R_p])^2] = E\\left[ \\left(\\sum_{i=1}^n w_i R_i - E\\left[\\sum_{i=1}^n w_i R_i \\right] \\right) \\right] = \\ldots = \\sum_{i=1}^n \\sum_{j=1}^n w_i w_j Cov(R_i, R_j)$$\n",
39 "\n",
40 "So, the variance of the portfolio returns is the weighted sum of the covariances of the individual securities' returns (with each term involving two different securities appearing twice). If our portfolio consists of two securities, then\n",
41 "\n",
42 "$$Var(R_p) = w_1^2 Var(R_1) + 2w_1 w_2 Cov(R_1, R_2) + w_2^2 Var(R_2)$$\n",
43 "\n",
44 "Notice that there are $n^2$ terms in this sum, of which only $n$ are variances of individual securities $Var(R_i)$. Therefore, the covariances of pairs of securities play a huge role. We will see in the next section that covariances correspond to correlations, which is why minimizing correlations between securities is vital for minimizing portfolio variance (i.e. risk)."
45 ]
46 },
47 {
48 "cell_type": "markdown",
49 "metadata": {},
50 "source": [
51 "## Correlation\n",
52 "\n",
53 "The covariance of two variables is negative if, on average, one is above its expected value when the other is below its expected value, and vice versa. The covariance is positive if the two variables tend to be on the same side of their expected values at the same time (in particular, variance is always positive). However, the magnitude of the covariance doesn't tell us much. Therefore we define <i>correlation</i> as follows:\n",
54 "\n",
55 "$$ \\rho(R_i, R_j) = \\frac{Cov(R_i, R_j)}{\\sigma(R_i)\\sigma(R_j)} $$\n",
56 "\n",
57 "The correlation is normalized and unitless, so its value is always between -1 and 1. Since $\\sigma$ is always positive, the same sign rules apply to correlation as to covariance. Additionally, we can say that the smaller $\\rho$ is in absolute value, the weaker the linear relationship ($R_1 = a + b R_2 + $ error) between the variables. A positive correlation means that $b>0$, and the variables are called correlated. A variable has a correlation of 1 with itself, which indicates a perfect linear relationship. A negative correlation indicates an inverse linear relationship ($b<0$), and we say that the variables are anticorrelated. If $\\rho = 0$, then $b=0$ in this relationship, and the variables are uncorrelated.\n",
58 "\n",
59 "Two independent variables are always uncorrelated, but the converse is not always true.\n",
60 "\n",
61 "Below we compute the correlation matrix for some returns, and plot the most and the least correlated pairs."
62 ]
63 },
64 {
65 "cell_type": "code",
66 "execution_count": 156,
67 "metadata": {
68 "collapsed": false
69 },
70 "outputs": [
71 {
72 "name": "stdout",
73 "output_type": "stream",
74 "text": [
75 "Correlation matrix:\n",
76 "[[ 1. 0.23194547 0.26660902 0.46651736 0.82990042]\n",
77 " [ 0.23194547 1. 0.0228684 0.22597695 0.28042275]\n",
78 " [ 0.26660902 0.0228684 1. 0.07741378 0.28296692]\n",
79 " [ 0.46651736 0.22597695 0.07741378 1. 0.47010889]\n",
80 " [ 0.82990042 0.28042275 0.28296692 0.47010889 1. ]]\n",
81 "Means:\n",
82 "Equity(19658 [XLK]) 0.000650\n",
83 "Equity(13895 [MIG]) 0.001072\n",
84 "Equity(4283 [KO]) 0.000195\n",
85 "Equity(34692 [ATHN]) 0.000876\n",
86 "Equity(19662 [XLY]) 0.000359\n",
87 "dtype: float64\n"
88 ]
89 }
90 ],
91 "source": [
92 "# Import for plotting\n",
93 "import matplotlib.pyplot as plt\n",
94 "\n",
95 "# Get returns data for 5 different assets\n",
96 "assets = ['XLK', 'MIG', 'KO', 'ATHN', 'XLY']\n",
97 "data = get_pricing(assets,fields='price',start_date='2014-01-01',end_date='2015-01-01').pct_change()[1:].T\n",
98 "\n",
99 "# Print pairwise correlations\n",
100 "print 'Correlation matrix:\\n', np.corrcoef(data)\n",
101 "\n",
102 "# Print the mean return of each\n",
103 "print 'Means:\\n', data.T.mean()"
104 ]
105 },
106 {
107 "cell_type": "code",
108 "execution_count": 157,
109 "metadata": {
110 "collapsed": false
111 },
112 "outputs": [
113 {
114 "data": {
115 "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0oAAAHiCAYAAADWCjxHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl0XeVh7/3vGSzJsiWP8jzbeGN5AGMBJpBAaQiENBAy\nEZqQ29um4fZNuG3a29vQu25Wm9yGpEnelzTQhjYtGXobSIAQEiCEJmEMNkhMMpK350HyKNmaxzO8\nfxzLljeWkX1ky7K/n7XOkvbW3s95dB5L1u88UyybzSJJkiRJOiI+3BWQJEmSpDONQUmSJEmSIgxK\nkiRJkhRhUJIkSZKkCIOSJEmSJEUYlCRJkiQpIplvAUEQXAfcBSSA74Rh+NXI1z8O/E8gBrQCfxKG\n4RuHvrYNaAHSQG8YhpfkWx9JkiRJyldePUpBECSAu4HrgHLgliAIlkQu2wK8KwzDFcCXgH/u97Us\ncFUYhisNSZIkSZLOFPn2KF0CbArDcBtAEAT3AzcCtX0XhGH4Yr/r1wKzImXE8qyDJEmSJA2pfOco\nzQR29juuO3RuIH8EPN7vOAv8ZxAElUEQ/HGedZEkSZKkIZFvj1J2sBcGQfA7wB8Cl/c7fXkYhruD\nICgDngqCYH0Yhs8NVEZVVdWgn0+SJEnSuWnVqlV5j1rLNyjVA7P7Hc8m16t0lCAIVgD/AlwXhuHB\nvvNhGO4+9HF/EAQ/ITeUb8CgBLBq1ao8q6zhUlVVZfuNULbdyGb7jVy23chm+41stt/IVVVVNSTl\n5BuUKoHzgiCYB+wCbgZu6X9BEARzgIeBT4RhuKnf+WIgEYZhaxAEY4D3AH+bZ30kSZIkKW95BaUw\nDFNBEHwWeJLc8uD/GoZhbRAEtx36+r3AF4AJwD8FQQBHlgGfBjx86FwS+L9hGP4yn/pIkiRJ0lDI\nex+lMAyfAJ6InLu33+efAj51jPu2ABfm+/ySJEnS6ZLJZOjp6RnuauiQgoIC4vF816c7tlNTqiRJ\nknQW6unpobu7e7irIaC7u/uUhta8e5QkSZKkc0lhYSFFRUXDXQ2dYvYoSZIkSVKEQUmSJEmSIgxK\nkiRJkhRhUJIkSZJGmP379/O5z32Oa665hg9+8IN8+tOfZtu2bUP6HHV1dbz//e8/7jX19fX8/Oc/\nP+GyP//5z/Pkk0+ebNVOC4OSJEmSNIJks1k++9nPsnr1ap566ikefvhh/vzP/5yGhoa3vTeVSh33\n+ETV1dWdVFCKxWLEYrG8nvtUc9U7SZIk6RTKZrM888xG9u3LMmtWkssuW5BXSFizZg2jRo3i5ptv\nPnzu/PPPB+CrX/0qzz//PAB/8id/wvXXX8/atWv55je/ybhx49iyZQtf+tKXuOuuuxg3bhxbt27l\n8ccf52tf+xovv/wyPT09fPzjHz+qbMgFor/6q7+is7MTgP/9v/83K1eu5Bvf+AZbtmzhAx/4ADfd\ndBO33nrrMcvKZrN86Utf4re//S3Tp09n1KhRZLPZk34NTgeDkiRJknQKPfLIm1RVLSKZLOKNN9pp\nbQ259trzT7q8jRs3snTp0recf/LJJwnDkEcffZQDBw7w4Q9/mIsvvhiA2tpafv7znzNz5kzWrl17\n1PEDDzxAaWkpDz74ID09Pdxyyy1cfvnlR5U9efJk7rvvPgoKCti2bRt/8Rd/wUMPPcT/+B//g3/7\nt3/j29/+NsCAZdXU1LBt2zaeeOIJ9u/fz/ve9z4+/OEPn/RrcDoYlCRJkqRTaMOGUSSTuX2Xkskx\nrF8f49prT768gXqjXnnlFX7v936PWCzGpEmTuPjii6murmbs2LEsX76cmTNnHr62//ELL7xAGIaH\n5wy1tbWxY8cO5syZc/j63t5evvjFL7J+/XoSiQTbt28HeEuv0LHK2r59O5WVlYfrNmXKFFavXn3y\nL8BpYlCSJEmSTqHCwhSHRqwBUFSU37ygRYsWDbgQQjS49IWq4uLio85Hj7/whS+8pReprq7u8Off\n/e53KSsr42tf+xrpdJoVK1YMWL9jlfXMM8+c8UPtolzMQZIkSTqFbrhhMolELZ2deyksrOF975ua\nV3mXXXYZPT09/OhHPzp8bv369ZSUlPD444+TyWQ4cOAAlZWVrFix4m0DyhVXXMF//Md/HF7YYevW\nrYfnIvVpa2ujrKwMgEceeYR0Og3AmDFjaG9vf9uyLr744sN127dvH2vXrs3rNTgd7FGSJEmSTqEF\nC6by+c9PpK2tjZKSxSST+f8Jfvfdd/PlL3+Zf/mXf6GwsJBZs2Zxxx130NHRwY033gjAX/7lXzJp\n0iQ2b9581L3RoXsf+chHqK+v56abbgJg4sSJ3HPPPUdd8/u///vcfvvtPPLII7zzne883CN1/vnn\nE4/HufHGG/ngBz/IJz/5yWOWdc0117BmzRquv/56ZsyYwcqVK/N+DU612EjqAquqqsquWrVquKuh\nk1RVVYXtNzLZdiOb7Tdy2XYjm+03sg3Ufl1dXQAUFRWd7iopYqC2ONR2ea897tA7SZIkSYowKEmS\nJElShEFJkiRJkiIMSpIkSZIUYVCSJEmSpAiDkiRJkiRFGJQkSZKkEaSuro73v//9R5371re+xb/9\n278NU42OuPXWW1m3bt1xr/nud797eGnvwVq7di3/7b/9t3yqdsIMSpIkSdIIF91EdihlMpnjHp9o\nXb7//e/T2dmZd71Otfy3BZYkSZI0sGwWXnkFDhyAqVNhxYpT9lS33norF1xwAWvXrqWlpYW/+7u/\no6KignQ6zde//nWef/55YrEYH/3oR/nEJz7Biy++yN///d+TSqVYvnw5f/M3f0NBQQFXX301119/\nPb/97W/51Kc+xde//vWjjktLS7n77rvp6elh9uzZ3HnnnRQXFx9Vl7/5m7+hurqa7u5urr32Wm6/\n/Xa+//3vs2/fPj75yU8yceJEvve97/H8888fs6xnn32WO++8k9GjR3PRRRedstdsIPYoSZIkSafS\nb34DL70EW7fCCy/Aiy+e0qdLp9P8+Mc/5q//+q+55557AHjggQfYtWsXP/3pT3n00Ud5//vfT3d3\nN3fccQd33XUXP/vZz0in0/zwhz88XM6ECRN4+OGHuf766486Xr16Nd/+9rf57ne/y8MPP8zSpUu5\n77773lKPz33uczz00EP89Kc/5aWXXmLDhg188pOfZMqUKfzgBz/ge9/7HgcOHDhmWd3d3XzhC1/g\n3nvv5eGHH6ahoeGUvmbHYo+SJEmSdCrt2AGJRO7zRAK2bYPLLjvp4gYa2tZ3/j3veQ8AS5cupb6+\nHoA1a9Zwyy23EI/n+knGjRvH+vXrmTVrFnPnzgXgAx/4AP/xH//Bf/kv/wXgcEDq03f8+uuvs2nT\nJj72sY8B0Nvby8qVK99Sn8cff5wf//jHpFIp9u/fz6ZNm1i8ePFR1wxU1tatW5k1axZz5swB4IYb\nbuBHP/rRibxMeTMoSZIkSafSqFHQ03P0cR7Gjx9Pc3PzUeeampqYNWvWoeJz5cfjcVKp1OFrstns\n25bdP4SNHj36qK/1P7788sv5xje+MWA5O3fu5L777uOhhx6ipKSEO+64g57+r0E/xypr/fr1Rx0P\npu5DzaF3kiRJ0ql01VW5j52dkEzClVfmVdyYMWMoKytjzZo1QC4kPffcc6xatWrAe97xjndw//33\nk06nAWhubmb+/PnU19ezY8cOAH76059y8cUXv+3zX3DBBbzyyiuH7+vo6GDbtm1HXdPe3s7o0aMZ\nO3YsDQ0NPPvss0fVv62t7bhlLViwgPr6enbu3AnAY489NpiXZkjZoyRJkiSdSjNnwh/9EXR0QHHx\nkWF4efj7v/97/vZv/5avfOUrANx+++3Mnj0bOLpXqO/zj3zkI2zbto0bbriBZDLJRz/6UT7+8Y/z\n5S9/mT/90z8llUqxYsWKw0PgosP7+h9PnDiRO++8kz//8z8/3Ev0uc99jnnz5h2+5vzzz6e8vJzr\nrruO6dOnHxXibr75Zj71qU8xdepUvve97w1Y1he/+EU+/elPM3r0aFatWkVHR0fer9uJiA1HN9bJ\nqqqqyh4vKevMVlVVddx3OnTmsu1GNttv5LLtRjbbb2QbqP369v8pKio63VVSxEBtcajt8l4v3aF3\nkiRJkhRhUJIkSZKkCIOSJEmSJEW4mIMkSZJ0Arq7u4e7CiLXDoWFhaesfIOSJEmSNEgFBQXDXQUd\nUlhYeErbw6AkSZIkDVI8HnfFu3OEc5QkSZIkKcKgJEmSJEkRBiVJkiRJijAoSZIkSVKEQUmSJEmS\nIgxKkiRJkhRhUJIkSZKkCIOSJEmSJEUYlCRJkiQpwqAkSZIkSREGJUmSJEmKMChJkiRJUoRBSZIk\nSZIiDEqSJEmSFGFQkiRJkqQIg5IkSZIkRRiUJEmSJCnCoCRJkiRJEQYlSZIkSYowKEmSJElSRDLf\nAoIguA64C0gA3wnD8KuRr38c+J9ADGgF/iQMwzcGc68kSZIkDYe8epSCIEgAdwPXAeXALUEQLIlc\ntgV4VxiGK4AvAf98AvdKkiRJ0mmXb4/SJcCmMAy3AQRBcD9wI1Dbd0EYhi/2u34tMGuw90qSJEnS\ncMh3jtJMYGe/47pD5wbyR8DjJ3mvJEmSJJ0W+fYoZQd7YRAEvwP8IXD5id7bX1VV1cncpjOE7Tdy\n2XYjm+03ctl2I5vtN7LZfue2fINSPTC73/Fscj1DRwmCYAXwL8B1YRgePJF7o1atWnXSldXwqqqq\nsv1GKNtuZLP9Ri7bbmSz/UY222/kGqqAm29QqgTOC4JgHrALuBm4pf8FQRDMAR4GPhGG4aYTuVeS\nJEmShkNec5TCMEwBnwWeBGqAB8IwrA2C4LYgCG47dNkXgAnAPwVB8GoQBC8d79586iNJkiRJQyHv\nfZTCMHwCeCJy7t5+n38K+NRg75UkSZKk4ZbvqneSJEmSdNYxKEmSJElShEFJkiRJkiIMSpIkSZIU\nYVCSJEmSpIi8V72TJCkv6TTU1OQ+Ly+HRGJ46yNJEgYlSdJwSqfhgQegpSV3XF0NN99sWJIkDTuH\n3kmShk9NTS4kxeO5R0vLkd4lSZKGkUFJkiRJkiIMSpKk4VNeDqWlkMnkHqWluXOSJA0z5yhJkoZP\nIpGbk+RiDpKkM4xBSZI0vBIJWL58uGshSdJRHHonSZIkSREGJUmSJEmKMChJkiRJUoRBSZIkSZIi\nDEqSJEmSFGFQkiRJkqQIg5IkSZIkRRiUJEmSJCnCoCRJkiRJEQYlSZIkSYowKEmSJElShEFJkiRJ\nkiIMSpIkSZIUYVCSJEmSpAiDkiRJkiRFGJQkSZIkKcKgJEmSJEkRBiVJkiRJijAoSZIkSVKEQUmS\nJEmSIgxKkiRJkhRhUJIkSZKkCIOSJEmSJEUYlCRJkiQpwqAkSZIkSREGJUmSJEmKMChJkiRJUoRB\nSZIkSZIiDEqSJEmSFGFQkiRJkqQIg5IkSZIkRRiUJEmSJCnCoCRJkiRJEQYlSZIkSYowKEmSJElS\nhEFJkiRJkiIMSpIkSZIUYVCSJEmSpAiDkiRJkiRFGJQkSZIkKcKgJEmSJEkRBiVJkiRJijAoSZIk\nSVJEMt8CgiC4DrgLSADfCcPwq5Gvnw/cB6wE/lcYht/o97VtQAuQBnrDMLwk3/pIkiRJUr7yCkpB\nECSAu4F3A/XAy0EQPBqGYW2/yxqB24EPHKOILHBVGIYH8qmHJEmSJA2lfIfeXQJsCsNwWxiGvcD9\nwI39LwjDcH8YhpVA7wBlxPKsgyRJkiQNqXyD0kxgZ7/jukPnBisL/GcQBJVBEPxxnnWRJEmSpCGR\n7xylbJ73Xx6G4e4gCMqAp4IgWB+G4XPHu6GqqirPp9Rwsv1GLttuZLP9Ri7bbmSz/UY22+/clm9Q\nqgdm9zueTa5XaVDCMNx96OP+IAh+Qm4o33GD0qpVq06imjoTVFVV2X4jlG03stl+I5dtN7LZfiOb\n7TdyDVXAzTcoVQLnBUEwD9gF3AzcMsC1R81FCoKgGEiEYdgaBMEY4D3A3+ZZH0mSJEnKW15BKQzD\nVBAEnwWeJLc8+L+GYVgbBMFth75+bxAE04CXgVIgEwTBnwLlwBTg4SAI+urxf8Mw/GU+9ZEkSZKk\noZD3PkphGD4BPBE5d2+/z/dw9PC8Pm3Ahfk+vyRJkiQNtXxXvZMkSZKks45BSZIkSZIiDEqSJEmS\nFGFQkiRJkqQIg5IkSZIkRRiUJEmSJCnCoCRJkiRJEQYlSZIkSYowKEmSJElShEFJkiRJkiIMSpIk\nSZIUYVCSJEmSpAiDkiRJkiRFGJQkSZIkKcKgJEmSJEkRBiVJkiRJijAoSZIkSVKEQUmSJEmSIgxK\nkiRJkhRhUJIkSZKkCIOSJEmSJEUYlCRJkiQpwqAkSZIkSREGJUmSJEmKMChJkiRJUoRBSZIkSZIi\nDEqSJEmSFGFQkiRJkqQIg5IkSZIkRRiUJEmSJCnCoCRJkiRJEQYlSZIkSYowKEmSJElShEFJkiRJ\nkiIMSpIkSZIUYVCSJEmSpAiDkiRJkiRFGJQkSZIkKcKgJEmSJEkRBiVJkiRJijAoSZIkSVKEQUmS\nJEmSIgxKkiRJkhRhUJIkSZKkCIOSJEmSJEUYlCRJkiQpwqAkSZIkSREGJUmSJEmKMChJkiRJUoRB\nSZIkSZIiDEqSJEmSFGFQkiRJkqQIg5IkSZIkRRiUJEmSJCnCoCRJkiRJEcl8CwiC4DrgLiABfCcM\nw69Gvn4+cB+wEvhfYRh+Y7D3SpIkSdJwyKtHKQiCBHA3cB1QDtwSBMGSyGWNwO3A10/iXkmSJEk6\n7fIdencJsCkMw21hGPYC9wM39r8gDMP9YRhWAr0neq8kSZIkDYd8g9JMYGe/47pD5071vZIkSZJ0\nyuQ7Ryl7uu+tqqrK4yk13Gy/kcu2G9lsv5HLthvZbL+RzfY7t+UblOqB2f2OZ5PrGTpl965atWrQ\nldOZpaqqyvYboWy7kc32G7lsu5HN9hvZbL+Ra6gCbr5BqRI4LwiCecAu4GbglgGujeVxryRJkiSd\nNnkFpTAMU0EQfBZ4ktwS3/8ahmFtEAS3Hfr6vUEQTANeBkqBTBAEfwqUh2HYdqx786mPJEmSJA2F\nvPdRCsPwCeCJyLl7+32+h6OH2B33XkmSJEkabvmueidJkiRJZx2DkiRJkiRFGJQkSZIkKcKgJEmS\nJEkReS/mIEmSNCjpNNTU5D4vL4dEYnjrI0nHYVCSJOlcMNwhJZ2GBx6AlpbccXU13HyzYUnSGcug\nJEnS2e5MCCk1Nbnnjx8a9d/Skju3fPnpq4MknQDnKEmSdLbrH1Li8SMhRZI0IIOSJEk69crLobQU\nMpnco7Q0d06SzlAOvZMk6WxXXp4bbtc39G44QkoikRvu52IOkkYIg5IkSWe7MyWkJBLOSZI0YhiU\nJEk6FxhSJOmEOEdJkiRJkiIMSpIkSZIUYVCSJEmSpAiDkiRJkiRFGJQkSZIkKcKgJEmSJEkRBiVJ\nkiRJijAoSZIkSVKEQUmSJEmSIgxKkiRJkhRhUJIkSZKkCIOSJEmSJEUYlCRJkiQpwqAkSZIkSREG\nJUmSJEmKMChJkiRJUoRBSZIkSZIiDEqSJEmSFJEc7gpIkqQhlk5DTU3u8/JySCSGtz6SNAIZlCRJ\nOpuk0/DAA9DSkjuuroabbzYsSdIJcuidJElnk5qaXEiKx3OPlpYjvUuSpEEzKEmSJElShEFJkqSz\nSXk5lJZCJpN7lJbmzkmSTohzlCRJOpskErk5SS7mIEl5MShJknS2SSRg+fLhroUkjWgOvZMkSZKk\nCHuUJEnnHvcZkiS9DYOSJOnc4j5DkqRBcOidJOnc4j5DkqRBMChJkiRJUoRBSZJ0bnGfIUnSIDhH\nSZJ0bnGfIUnSIBiUJEnnHvcZkiS9DYfeSZIkSVKEQUmSJEmSIgxKkiRJkhRhUJIkSZKkCIOSJEmS\nJEW46p0kScpfOu2S65LOKgYlSZKUn3QaHngAWlpyx9XVub2qDEuSRjCH3kmSpPzU1ORCUjyee7S0\nHOldkqQRyh4lSdLZ50SHgTlsTJIUkXdQCoLgOuAuIAF8JwzDrx7jmn8A3gt0AH8QhuGrh85vA1qA\nNNAbhuEl+dZHknSOO9FhYA4by195ee5163sNS0tz5yRpBMsrKAVBkADuBt4N1AMvB0HwaBiGtf2u\nuR5YFIbheUEQXAr8E7D60JezwFVhGB7Ipx6SJB3WfxgYHBkGtnz50Fyvt0okcuHSXjlJZ5F85yhd\nAmwKw3BbGIa9wP3AjZFrbgC+BxCG4VpgfBAEU/t9PZZnHSRJ0nBLJHLhcvlyQ5Kks0K+QWkmsLPf\ncd2hc4O9Jgv8ZxAElUEQ/HGedZEkKdebUVoKmUzu8XbDwE70eknSOSHfOUrZQV43UK/RFWEY7gqC\noAx4KgiC9WEYPne8gqqqqk6ogjqz2H4jl203sp1z7bdoEUVbtwLQNX8+vPba0F5/Gp1zbXeWsf1G\nNtvv3JZvUKoHZvc7nk2ux+h418w6dI4wDHcd+rg/CIKfkBvKd9ygtGrVqjyrrOFSVVVl+41Qtt3I\nds623yUnuD7QiV5/GpyzbXeWsP1GNttv5BqqgJvv0LtK4LwgCOYFQVAA3Aw8GrnmUeCTAEEQrAaa\nwjDcGwRBcRAEJYfOjwHeA1TnWR9JkiRJylteQSkMwxTwWeBJoAZ4IAzD2iAIbguC4LZD1zwObAmC\nYBNwL/D/HLp9GvBcEASvAWuBn4dh+Mt86iNJkiRJQyHvfZTCMHwCeCJy7t7I8WePcd8W4MJ8n1+S\nJEmShlq+Q+8kSZIk6axjUJIkSZKkCIOSJEmSJEUYlCRJkiQpIu/FHCRJ0hkqnYaamtzn5eWQSAxv\nfSRpBDEoSZJ0Nkqn4YEHoKUld1xdDTffbFiSpEFy6J0kSWejmppcSIrHc4+WliO9S5Kkt2VQkiRJ\nkqQIg5IkSWej8nIoLYVMJvcoLc2dkyQNinOUJEk6GyUSuTlJLuYgSSfFoCRJ0tkqkYDly4e7FpI0\nIjn0TpIkSZIi7FGSpKHinjWSJJ01DEqSNBTcs0aSpLOKQ+8kaSi4Z40kSWcVe5QkSTpTRIdv5nu/\nPZqSdNIMSpI0FMrLc8Pt+obeuWeNTtSxhm8uWpTf/Q7/lKSTZlCSpKHgnjXKV//hmwAtLRRt3QqX\nXHLS91NT4/LgknSSDEqSNFTcs0ZnmnQ617MER3o4DfOSNCgGJUnSiXEezKlxjOGbXfPnn/z9Y8fm\njtvbc8evvQaxGLS15Y4dmidJx2VQkiQNnvNgTp1jDd987bWTvz+TgRdfPDIUb+NGyGZh9uzc8WCH\n5p2lwTiVSlFZuQWAiooFJJP+SSTpaP5WkCQNnvNgTq18h2/2v79vyF0+jheMR0KAGqCOqVSKe+6p\nprFxBQBr177BZz6z3LAk6Sj+RpAk6WwQDQXRoXjnnXf00LvBrMw4UDAuL8+vZ/F0hKzjhLzKyi00\nNq4gHs89b2PjCiorN7N69eKhr8dIMxICsHSaGJQkSYPnMuhnpoFCQXQoHwzNH8H59CyeruGb9n6e\nOIfWSkeJD3cFJEkjSN88mMsvzz3OtT+i+laRq67OfX6m6B8K4vEjoaBvKN7y5bnPo8dvp7w8F4Yz\nmdxjKILxQHU9jSoqFjBp0htkMmkymTSTJr1BRcWC01qHM9IZ0DbSmcQeJUnSiTlXl0E/F99tH2h/\nsCCAxx6Djg6YNg3Gjx+6nsWhGvp1nN7PZDLJZz6znMrKzQBUVDg/SdJb+VtBkqTByHcoV18ASKdz\nc4Xi8aGbA3Iqh0RGg3E6DQ8+mHuO9vbcc37qU4P/Po5X16EMo2+zCXQymXROUpRDa6WjGJQkSRpq\n0V4RyAWApiaorMwFpVWrhq5X6m1CwZDqC4zJZG6p8UwGwnDwgfF4dR3qeUXnau/nyTqd/46kEcCg\nJEnSYAz23fZj9YqUl+eO9+6F7u7c+b17cx8feQQWL87/j9KRFApGUl3PNbaNdJhBSZKkwRjsu+3H\n6hXZvPmt12UyUFUFM2bA/v1DO+fpVC7xfCqHZzn0S9IZxKAkSdJgney77YsW5XqSMhnYuTM39C6b\nzT1mzjx6hbF8380/1YtOnMrhWQ79knQGMShJkjSQk+mZifaKjBmTC0Tl5bmA9I535D5u2pTrTYoP\n8U4dp2P/oFM5PGuEDf1KpVJUVm4BcsuOu3qedPbwp1nS0HJXd50tTrZnpn+vSCaTu2/NmtzXSkuP\nlLFs2dHlH2/Okz9TQ2KoQ00qleKee6ppbFwBwNq1b/CZz7jUuHS28CdZ0tA5F/eZ0dkrn56Zvl6R\n6mpoazt2GYMZZjaYn6m+TXA3b84N8Vuy5Mye5zNMwe9UhJrKyi2HystSX7+Furoi1qzZwBVXnEGv\nt6STZlCSNHROx5AfaSTLZGDDhtznfSHhOD8fRVu3Hv9nKp2GH/4Qfv1r6OqC0aPhqqtyYSoMj36e\nU2jQPTXD+GZKX6iJx3PP1di4gsrKzXnvpZTJpKisrKGzcwXZbIaHHvo1q1cvtldJOgsM8cBoSZLO\nEuXlud6YTCb3iG6MWl2de6TTgysjlYI338wtC/7CC7nAcLx73046nVta/PnncyEpHs993LjxyL5G\nfT1Xg63vSejrqXn88YU8/vhC7rmnmlQqdeyL162D9eth9+7ccV/wG6EqKhbQ3v5LOjqWATGKixsY\nM+bqw6FR0sjm2x06ffr+owbH2Z+tXNpXw20oh3UNNDSuf69IJgOPPQbvfW9uzlH0+fqX0deT1NfT\nMIge167583PPF/2Z6qtDbS3s2AHNzTBv3rELOcW9OIPtqUl1d1N/7/cp3hQyaVIJ8Z07Yfr03Oty\nGv5PqKhYwNq1bxweejdp0htUVOTX251MJvnQhxbS3HyQeDzBjBlTgewQ1FbSmcCgpNMjnWbCU0/B\npEm5Y+eunJ1c2lfDoS8c9S2c0NaWOz8Uv2cSidy/45qa3KPv877Q8cor0NGRe7z55rGfr//wuv37\nT/z5P/xh+NnPcsfvf3/uXN8bEjNnQn09NDXlHtOmwXnnHf0GxYkOiY3OeTpWADxBqVSKH37hUUq3\nzWfm/oMu4pAhAAAgAElEQVQ0NOwiKNhK/ODB3PfwwAOn/P+EZDLJZz6znMrK3J5WFRVDs+jC6tWL\nqaqqPjxXaSgCmKQzg0FJp0dNDYn2digryx07d+XsNcKW9tUI17+3ZNcuqKuDSy45uX2JjtUbdaze\nmL4Qsns3dHbmlvqOxY7/fOl07tHUlOsViscH1+OaTsODDx55/gcfzAWKPvF47vudPh0mT4arrz5+\nsMlkcq/Thg0QBG+dxzTQnKff//0ByxxMT01l5RaamxczPt7I7pmXULb7VZrinUxctizXwzbItsp3\n1bpkMpn3nKRjlXkqApik4edPsiRp5OrfWxKL5f64370710txIgYannas3phYLBdy6utz+yMVF+eC\nymDKHjs2N0dn3jy4+OK3rdaAizlEh7kuXTpwj0zftU1NUFWVq/OUKfC5z+Xui8eP/n7DMLc5bv85\nT/170/rKPPRcgw0K+ycvYdr+NynsbqG9eDK94yYf1U6pdJrKNRsOlfHWENTV1cUddzxDc/NKZsyY\nwNq11fmtWjeEwzRPRQCTNPwMSjo9ystJjxmTezcTnLsiaehkMrlwlMlAYeHRiy8EweDmRg40PO1Y\n4vFcqKiuhl/8Ivc8MPDvtehQvfXrc5vNrluX6wG65ZYT/yP9RIa59l37yCO5DW5nzoTdu8k0NlJf\nVUNv2VTmzk6TON6iCpnMcec5vV1QyPU6VVPNhylrqGX8kglcuWxxrkcukyFVXMzdv+qmunoq05s2\nsGHxK/z+l24iWVgI5HqS7rjjKSor301r63ZqajZx9dUrqazccnIBZYBgnMpm3TxW0mH+BtDpkUhw\n8JprcsM4wLkrkoZGEMC3vw0HD+aOx42DD3wACgpyX+s/bO1k5iwNtEBJIgEXXpgbKjbYXondu3Mr\n3qVSubDV3Z3rvTnOkLMBF3OAYw5zHXBoWiIBixfn5kjF46TTaTZsaKIlNo6OMT1snVrHlZenSS5f\nnnvd6uuPDL0777xcL1RLC+lslu3bGyC7lxmLX+W1VOlbn2uA+tx22xJee20bMJqKig+RjMUOv3Zr\nDsCT/17KZTt+RXG6hQMbmtk8+psEX/gLSCSorNzCwYPz2LXrTVKplWSzWX71q99y/fWTj/99D+QY\nwThVXc09z2TdPFbSYf706/Rx7oqkoRaGueFje/fmjqdOzYWkvs1eB7uIwfEC0fF6bgbze62v7Pr6\n3PGoUblANxgn0HP0thuqlpfD669DGLJrx36SB3spGtNCUU8rnR3jqGxJsjqRyPVwLVt29GIONTWk\n02mefnY3be2zyKbTfLPyt5RcdhvxePKYoeJ49UmlUqx5eTNQSEXFAtZ95z8p3t5ArH0PFI+lt3c8\n+zaHBEe1VwyYBsSIxQCmAunDz7N//zJ21zXwdOo7/NmfVVC0cuUJheI336yjsfG9Q77PUv/Xw94q\naWTxp1SSNLLF40fmuvQN7z1Rxwsk+b7J01d2dXVuPtOGDbnepKKiXO9NdLhe/7kz6fTbP/+h6998\nYzsH9r+HRBzKGmrI7ItTuXYjqy9fcmQlu507IZsl2dpMS8kMWsbPg1icljFlzNu5DVh2pLfswguP\nPEd5OVsefpK2thnEY7C7M8nr6T9i4e7tzJ69+JihYqBlwysqFnDPPdUc2L+USfve5Dff+meqOgo5\ncCBGS1eCzq4mpkxpZtr0I2GyomIBEyY8wYwZ76GtrZHCwgNcffU8ksntVFZuYf/+Zbzy8l4u3fZr\netub+X7tN/mD23+XgltvPf68rX7BuHPuQggH36wn4m1DrKQzkj+hkqSR63h7d53ovl6noNf76F6E\nZbmhbevW5eYoLVx4ZEPYPpG5MxMaG2HVqoF7RvpdX7J1L8vCRmKxOIW97WSyGSb9ZwdcvJDU/fez\n++k1FNXtYOLMMqaUL6Rpxys0MY+2kumMLd7J0qVXDPyNJBI0vvt97NzdQzwe59WuqWQ2HalTJpOi\nunrHoe/z+L0llZVbOLB/Kcve/BG7wnp6m2FKRyPP8UGC2GOU9jYwdUor85dffri9kskkd955DXfc\n8fShxRwWUFa2joqK5VRWbmHXroOUNTTQe2A3qXQpe/Yu5JEfvMIHL7yQZP/A1+/7iQbjimyWtZVD\nu89S/+95MHtNSTqzGJQkSSPX2/UEDeO+XgP2IlxwAVxwwbFv6jd3Jp1Os2dDPa33P8HSm687Ej6i\nPU6Hrp87bwr7Xn2ezs6ptIybxdixu1gweTqpRx/lmZ+HsGcSkw420XBgL4tnzGDx8qmMjTfSW5Zk\n1pLzqGwvhDUbqKhYAPCWYWIVl57H2spq9jUuY2omQ2PTE0yffi2pVDc1NU8C72Xnzvjh77OiYgG/\n/e0rrFs3FoBly9qoqMgtwDBp35vs3bSVltbx9PS2MSaVYsXYNE+P/RhL4/WseudrJD/+8aPaq6io\niK997XcP1avp8Op6FRULeOCBX7GjrYB0aiyJUfWMHj2Dzs5i3nyzjguOFZTgLcE4CS7zLeko/gaQ\nJI1sx+sJGsa5kYPtRUilUlSu3cjobZtZWthFMpMhnU7z8qOvs39vEa8WzuDphkNLYcdiR6/Wdmhf\npnQ6TV3lm4zprCcxtpVZ5UkWzJ9JIhZj/aY9tLXPJF4aZ1xrPR0Hinjl1a2UXrSCtoXnkcnC3a+O\npnjTIuLxOM8/X8XOnbtobQ2YMWPBUctw33bbEn7wg98A8PnPX826ddsP9SS9l2RyFJlMitdfL+K+\n+57m1luvIBaLEcuMZ3rTBibv2Q3pFVx44Rx+uPmfKTuQZGzrHsaylcZRM8lm0xSNKaJt6ihmXnvl\nMUPtsVbXy/U2Xckf1P2A7Np2xhdMo2BUK6OnTKdz3sITarO3lD9ES4gPZq8pSWceg5IkSQzPZPtU\nKsU/fus1pj9bS0FPKw3FO7ly4gEad+5j3OYuCnqzpPZV88aUW3JLYY/pPnqBitJSUgcOUPvoS+zd\n0UNXZiqZggxbOvdBNsv85QtpWLyCPU88RVFvO1s6FzAqDb+szbJn//WUjB9HW3M156XKGD36OaZc\neTk//vE4urrGMH78YnbteoOKinIqK7dQUbGAf/zHataty80Ha22t5b//95UA7NwZJ5NJ8dJL1XR0\nLAMmUVPzFGNHX8N7Wx+mMNVC5s0MW7/yLRrf/T7GXfxfuaz+0/R07SIem0pzvI7fzN7EhUtHsWJF\n9nBYOVabHOtcUVER3/3Brfz1X/2apm2FQAvb58a4YdX8k2+cgfbWOomw5Ka0w2AI98nSucufUknS\nOe9UTLYfTC9CZeUW4uEoinrbIZ6krXMuuzsPULJvN7HYRHqShczb/ix7piwHxr71SeJxNsVK2Nw9\nk4OFkzlQMIOmAwdp3TqH6vElTJo6lfS+Hn5V+FGK9+yitXUT1ak9pLLvJtXURSyzg1uLqinJPElh\n4SQKH3+F3uwfEYvtJRZL0Nm5gl27NgAJ1qzZwC9+kWXfvkkA1NW1csklGw4NfXucjRsLaG9/F2PG\nNDBr1lTq6hYxZutaClMtEMsFu0RHO6O3bWZKUw/t899BprCW9o5mZqws4b8HjbTM2cOtt15xOBBF\n2+S225Zw7721x2ynoqIivvzVqw9tSns5M0omcO+9645qxxMKwwPtrXWSPZRuSnsaDWHI1bktPtwV\nkCRpuPUfJhePJw4Nk9uSV5l9vQjXX7+Z66/fPOjglWw+SGlRkoKCNrJAoreD2anf5OYOlZfnFqXo\nt6lu95x5NI+ZQmPhTDq72pnY2wFAdWoKv3oa1q2bw8WrZ9O5cAJr20tp7biKlpaJNDd3MLOllN6G\nrbS0FtPWXkbn3p2sLHqMKVPGkM1myGYzlJSEpFIpHn30ZTZuLOPgwckcPDiZTZum8/rrW7n33lrG\njLkOWEBPz8tUVEwiHo8zY8YCxo6tJZPNkMlmGDumjrlzJrN06SxKSmrYsn0XGzuWsy+5lNowxt69\nl7Jz5+9w7721hwNNtE1+8IPnj9tOr722g5KSdzNnzhSSyVFHfb0veD3++EIef3wh99xTTSqVyquN\ndYbqH3Lj8eNvIC0dhz1KkiSdIm/Xi1BRsYCXXnyNzj3FdO7bw+iiHUyekIbmZso6uoj31FEYXMD5\nt11xpCfkQx8iuWFDroDycpZ2d9N8/y9J7K6juLWd3kyC5s42LtqY5pHCC9myZScQo6GhgXT6Knp7\n60n1bKOcAyykhmxmHolEE4nEDmbNnkbBokamz5/Grl0NlJRUMnv2DJ76xSJaX9zMjAPPsbtkCgvT\nW4jFDrLmhfWMKrqYWbMSXHjhfJ56qpfXXvsNK1ZcQWfnr7nmD1cz7ZlfMqqrk7lzppOYMIHUkiV0\nza+nt7CIKeNbgR52NF5Kan8LU+Jv8uqOadx339MsWTLj8OuUyaSoq9tIb+8eEonU4XlfJ+KEV547\n0VUTJZ11DEqSpHPecEy27+s1WbGygEe2jGUsAUvis6nd/gPG7O9hVGeWbLyQMFPGT35QR2tH6aHF\nFWq47bYlvPbaDlLP11D21GPMnZRi8ZwdtJW08pvEQuL75xJrP8CMrl8Txi9l369fY0znQaZMmsre\nvVv4II2UcoAEm1lKlo290xg9YRp7O2NMuGwBE5K/Yvr0DNu37+fNNy7g+tYf0ZHezaRkN0Hrf2X7\n2Ivp6d3CmDfLeIBe1q1bDyTo7p5JOt3A888/wrx5v8P3/j3JiqVX8tmbCkkkEqQWL+aeb9fw+usX\ns2Xs7xJkfkbZpDgFDa0s2PsSTWGGOenprOEiWlvbmTDhVRobl/Pyy9Vks1NIpa5mx46HeMc7biKZ\nLHhLOw1pOw7zqonKgyFXQ8SgJEk6e5zkBO7jTbY/FYs89A0DO7B/Kel1T9Cxr5RxV19JtvYnbN/Q\nRSa7hMmjesikG3hs4wye2XM5paWTqal5kWDRHO5a+0/M7ppG8xsvcP7+1yiaOI6pRR3MHwcb0z3s\nppme7oNkRt3EJ0o2Mrr3RboKJtPa+xwvJj/K+O4aiHcTi6+gJr2WA/FiwtgUtnQmWfTz+ZTUbaS1\ndQf1pe9k6oFt1I+rY+7cUuYWbqGMncRGJ9lfuhS6WylrfY4Xmt8NNDNlSkhDQ5bGxvfS2pqmtHQS\n9fU9VFzawhVXlFO5ZgONjSuYNSvGrl17qe34AJNjP6Os+CUyzKent5Txo0ImFa1gX9NFvOc9IbW1\nz1FXt4zduzNs3z6NTOZDbN7879x++2WsXn30cMbjteNJhahhXDVReTDkaogYlCRJZ4c8J3Afa5hc\n/0BT1lDLxp/8hFu+eAPJwsK8qtq36ery2gdp37eRcfsmU/rcRn7RkOQ9XSUUZTvYk0rQEyvhza6L\naY+30tDQSzJWweVb72RJ6mXOj+8mfvAAiXSCpt5eto8bT3H3DsaXljMqeYCDvZNIpYuJtWxmyvyF\nNB1sIHOwi4WxTRQUdFIwOkaMA3R1xKkbfQXr2oro2lvMuxsfozgF3d09nNd1P2FiOS3NBaxf38DM\nol5KCqfRVtjNuJIuDjTOYezYuRR0bgIKKC0dS3Nzlvb2IsaN6yQWi9PZOZXa2vVcccWRd/Tj8TiX\nXDKVuroGVs5p5MZ3L2HNS1uIx8YzfvwM6g8Nj0smkyxfPocXX4zT1TWFWCxOPJ5kzJh3kEwmjhla\nBxru6Mpz5xhDroaAizlIkt5eOp0LHtXVuc/zkEqlWLNmA2vWbBjayfSnYAJ3/0Azt+5FStftZ+tX\nvgU9PXm/HmUNtYzqOgjZNOM6XiCx8WXqdjbxbPxaNmQWU9szg6dS72RN2zja28fQfCDJpfvu5aKu\nZ5jQ00ZXezMpSiigm3FdeylqbKQ2U8wv0osIJ36CHaXnU9b6z8RiJTTsH0uqZyeLikcxvnQrE+fO\noXRsCaWltVB6MZsLVtHREWNRbxvJjh7aO9voTU8k2xSnt7eb1OitlI5pZfaMKYwtLqB9zEU0Hayh\nPVZEHKgoaqa4sIX29p0UFU2lsPAxSkpKyWbTjB79+uH5RhUVC5g06Q0ymTSQ5YIL6vnAHZ9k1KRJ\nvGP1ImbN7KGnoJS9E4NDPT4LqKhYwLhxr5LNpg+V9wYzZiw4qde8L0StvnghydraIfn3LOnslfdb\nKUEQXAfcBSSA74Rh+NVjXPMPwHuBDuAPwjB8dbD3SpKG2RAutXsqluEeav2H2qVSKSbtq6Z990ba\nY3FKSyewJ9xBwZ/9NbOWzieRSAzq9ehf5oUXziGVStHa+jRbN9WxoGkf2Y49pNOdvCszmW/GVnN+\n0TvIpHvZVryRcePiNDVu56aeNwgyVUxM7WN8LEs6UUx7BoqAVDZLT2+SzfXj+PeyWdxa8gbppmq6\nE+NZkv4Ve5PzmbR9F+l0M5MnzqS1rYr2BUuYM28Zjz1/I10trcRis4nFfgH0kmUqmcyb9PbOpLlt\nDj+fupf/MzlLJt3Js+kVJPZm2TTzesbX/5Zrp9Sz42AjS1jAs6NvomT8r/jYx+axadMmAJYtO7Iv\n0oC9OjffTKKmhisvT1PZXsjsxLajenzuvPNK7rjjFzQ3L2LGjHLKympOfu6RS0dLGqS8/mcKgiAB\n3A28G6gHXg6C4NEwDGv7XXM9sCgMw/OCILgU+Cdg9WDulSQNo775Phs2QFMT9IWZPPaTOdbKY2vW\nhEfNIznp0DQEE7j7NoCNh6MA6Jrfyo5NVczeN5lsLMa27S9z+dwpbNk5ik2Nu7nqqpkkBng9+sJR\nKpXi5Zc7aGy8gB07dvP66//MjKkrmLh7Er+77ynGFnbSWzSFfS37OJhOcF6ym+rsAsZPTHLevAa2\nbh3D+dnfMjZbR112NkuyuxnFOsbGC2jJ9rKLMvYwmxomsT97EZc2tdLeuoaCovPpTieo6lxGavNo\nGnunsZtisnu2MyoxgZ2FE8kun06iYAuFyVUsim8hHT9AdyJkdu9OMsTpohvSSWa1ZmmevJuezHw6\n08W0d21iwoGFLMxMIbH/WebP/13iiW7GTdtOpvzjvOvy9bxvbi4MLf3wNW+ZR/SWoXGHhkklgdXH\naJeioiK+9rX3Hgqb2/MbNjfE+yMdJTpHTtKIlu9beJcAm8Iw3AYQBMH9wI1A/7BzA/A9gDAM1wZB\nMD4IgmnA/EHcK0kaDv3fdd+1C+rq4JJLjvxxOUQymRQPPbSTkpJ3A3n2MA3BBO7KtRuZ/mxtbgNY\nYFdtKy0zPwJNj0BzI0UFK9nRsJ7OgqkUp4vZsnUv5y2Y9pZyUqkU//APr7Ju3Vj27dtJV9diYrFd\nrFtXTeO+K1he/VMmJtvYlw2Y2ftr3mQG22MfJBZvJh7fw+jRk5k1q5kJE6ZTV7eRZHIlo+K9LM88\nwxRaSDGG5t4Um5nGVhZSx2KIzWRUHMjuJ5UKyHS1Q3YC3b0z2dbbxRSWkmUTcB696VEcPNjF3qoV\nrL64g2VvfpP9m7eRHHMBi1Nxdmd3sjxezMFMDy3pHiY1FNE68QBBeYKW1mLimXnMbl3LhJ69JAvS\nJA9W03ze5bRPG8deskx9+kkWTB7N9h0NbN20nvmfvz3veV1n/Iatx+qpWrRoeOskKS/5BqWZwM5+\nx3XApYO4ZiYwYxD3SpKGQ/933WfMgPr63GPmzKN7ak5wlbnoymPt7b9kzJjrBt7b5jjlH3M1ukQi\nd11NTe7R/55jldV3LpOBbJbxzz3P3s4sTa3dlHbsZUq6hZ7G13h84meY2P4Ku3c3UFe8iht7t1DK\nTkYX7mX+sgUky8sPz72qrd1FT08Pv/hFGV1dC9i9u5mDB6sYN24STU3FLM70UMJEylL1ZOMpGnpG\n002CWCJNpmQ2uwsv4NILt3HDDQXU1W1k+fKbeezRFyjZVMc02hnFQZoZxw7msZUxdCQ6SKQ7mJLd\nRXe2jZ8Uz+R3mzsJUo3E4ylq05N5jPP4ECHjmcw02mmjmHU9NzCnazdlDY8ztTgL0y5hYmctczNt\nFBVMpat1K0WJDDMSc2lOxiiNTWPGjFL27jlIY1MzXbFCRsf3MnbcZNLpXXR2NbN3YsCi3p8yb2oh\nTz+7m7b2WZDNsOYLj3LL3900uAB8kisXDtqpWjr6GD1VRVu35t5gkDQi5RuUsoO8Lpbn8xxWVVU1\nVEVpGNh+I5dtN7KdaPsVbdrE2B07IHbo13dZGT2lpfRMmEDX/Pnw2muQTjPhqadItOd6X9JjxnDw\nmmve9g/b1atT1NY+BvQt7LDncFDKZNKsW7eO9evXE8ukecfONyjo7n5L+alUih//eA9NTRcB8OCD\nj3HTTZPZFO5j3trnmT1hFIl4nJ7CQn47OxfK3lLW1VdT+stfsn/zbiZv3cS4CcWMHj+exKtbKOmZ\nzfhUI2R3cNm4Hv6x5xK2dExlSs8rzMy28pPR7yeIPcqB1DS6UyWcX1nJAw/s4sUXF9PVdRFNTQ/Q\n1bWEVOpZurqW0d09g7a279Pb+2lirOMiXmV0toN4JiQTm8a65FI2xUs4OH41k0omMn78GlauXMHK\nleP58Y9/zapLllF58CVm7skCs2lmEsR6GFWQ5cWi27my+/+joLeRjqK5vLfzfHozPWTppCcVI02a\nNJ/gQV7jzxhFllbaKePG1M94oTXDpR8YS8HLr9HWHqNsbJLRzQlGpXqJF/SQSiVJJJoYNyHJm7Ov\noWjcZhbdOp/0//tTpjW0kSgeS7x3OxMvC6hbNJr5c37BBQW9vPxkLfX1c4jFWiCbYePG8/j3f3+c\n5ctnHv8f3kn+mzphixblQgwc+fecp7f8zGSzMGGCvztHONvv3JZvUKoHZvc7nk2uZ+h418w6dM2o\nQdz7FqtWrTqpimr4VVVV2X4jlG03sp1U+114Ye6d/f7vukcnvFdXw6RJUFaWO85kYPToQc31uPTQ\n+IFUKkV7+5HFHSZMeJWWltk0NV3ElH3r2HGgkqt+Z3Zu0YR+5a95oZZ5bUXEC5rYP7mc3swUHnzw\naRZ2LqCpbjeppl28613TefaZXbTuzq2QFi0rVV/PM+u6KNmSJdNSwIH2HoonFDN33ARK9r9KurCA\nVLyIpq4mlo95kVmpdSQLRlFQWEOmaCe7Jl/JpEm7CYLFZLMJmprmU1AwmcLCOJnMO9m791V6e68i\nHh9PItFOIjGPeLaexT31TGAvXWTJZsdTSjOQYn3sYxS1vcG112/ga1+7laKiIqqqqvjKV95HZeUW\nXll1IfVfb2N6XRXjMy0cSBRQX7yQyZN6mVQ0l8mTp9HQMJNZO2tpTxeyM7OEdLqO8fEmVo95gt6u\nuZT2PEU8MYnioi7GJjbyh5cFfPDzfwJ33UXl09vYH19GLNFF6QVjmL77ADu376VszjLGTD+PPVdO\n5fduv5ZkbS0X/HErDb98hnhPN5MmzCdeXs7cv7z9cC/dxo272N9QTDwW///bu/fwqK/7zuPvueiO\nhLhIQkIgEKCDJGSDEUY2TuxkfcFJnPgWO5cmadps3Drxtt1uu2nT7e7T7XbTdNtNmsSNN2nSNOk6\n9HEbx17fE9uJ7RpiMMLi4iMQCKErAiSEbkhz2T/ODBLD6DqS0OXzeh49zIx+v5nfzJlBv8+cc76H\niylZeEpvZuPGerZuLRm9xyiB99SETXVPT5zPzL61a/V/5xymv31z11QF3ESD0l5ggzFmDdAMPAh8\nPGabp4AvAj82xlQBndbaNmPM2XHsKyIiV8MMLdgYWwUtEEjnxRcNXq8Pr9dLd89KTp48Q3Fx3tBO\nwSDLfvYMq065E/Hcthqey7yGsHcL3tQ2ABobs3n6/+3Dy1a8y91QqNj7OlbbzOKjLWT2tJPee4Zg\nn5/2M10EMnLJ7O9kMHUx5wJhkjsvsCNwkoFFy+kKHyI9dSmm623OBvazek0hlXXn2btuW8wzW0pS\nUiPBYCrJvgFK+SWZqakY79dZTTaBAT8ZNJHJIAOBPLaldpHp+QbPJa0hLa0/fvGDYBDv6nraejtJ\n7WmgyV/JGyt/nfet3MXOiiXg8XDoYA7tZ1vp6cvA40nH7w/g91WQn7eWHV0/Y33PKdIXdTDoP8H5\n9UV85Heux//kk5CdzbbK5TR2nuTU73+OlhdrOZrzCUKbgvT07+amf38d9+4ovXRcvqQk8j54K7S0\nuJ6TO+8cen/4fKz90iPs/tOnOH++hPblpSzNOeSq1E1XxbnpHq43HvE+M1PQUyUiV09CQclaGzDG\nfBF4AVfi+++ttUeMMQ9Ffv+YtfZZY8wHjDHHgB7gs6Ptm8jxiIjIFBprwcYpmusxfJL+7jeOkHv6\nIF6vlzNLDTkt1QSDbRyvayGYnsHakhL8hw9TvDyNhkXNdPcUktTfyYa0V+he81u0sYSu13+JrzeN\nrq5FdBOif+tGvF4vOS3VEG53vRRZWVxMSQX205+SRWZXI8mDneR78jm2IpOGC8vxBwZJSupm2crV\ndPnPkHy+haI1K8jqOkD24EU8OeX4/H48Fy5QmXGRNysaaGoa4GLvcspCP6WkIIU9HS9wa+dRMsNp\nrO5/m7VJR6jOvJlgdxLrA114gn10edLJGWyi0dvHhsFbOXw4i299q4YvfKFiaP0qoDJ1gIbkY5zM\n3kJX9rV4Aoe4Y+1einZugvbDrFmaQkN9I63FZZz3hckJHCQpOZW2vnQ8hPAtCbF61XJWLAnjBZbc\nvBp/aqprP78f35o1FIVCdJ5uoS7tAbwZ0eGQ1+FPqRsKb2VlBPbvp6GmjqSzZ8hfvxJ/aenlbZqS\nwsf/xz2ROWTDSn1H3y8jVZwzBp55Bnp7YcUKyM4e+z01UviCmQ9PWuRUZF5JeOEKa+1zwHMxtz0W\nc/2L491XRETmiKnudQoGqax7i55zlu6eleS0VNN84zp6T/u5cL6M9qRSln77EF+42YPf5+OWW1Zy\n8mQ7hEPc8dEP8tgbBzlwYCXHF/8mJvNpysu38+rxiyRV7yM3dzFZOzZwz60Vlwo+lNfU8Mv1eeQd\nfBcAT9Igqc2naFhaQG/eLeR117NsWSd7Ohbxw44PcseFY3R21rIxK5es3CA9hYbu7iCvv/Eu7e3J\nbDqTzl4AACAASURBVLllO1uuaSf4+KMUZvmoq+tlyy+e4XRoJUlp2WRmpJGblM86TzXd3rUM9uXi\n8XTTGvCQRgsrfYXY9Gau3XwtZ8962LunltxXX3JD0QB/Zyf3fHgdP3n6IH19uWRlbuTVniZONT/E\nj7iV9Y0/5aN/eAMpPSnU/msd+X03AnA65ST3Zx/luv4UitfsxHf6tOsF+tCHJlXFMBAO83fthpJ9\njfgHs6m9cIGbf/xj/J/85GXtP+EqdcEgPPGEC9w9PS74fO5zY7+n4pX7PngQDh2aeM/VbOiZEpFZ\nY/as8CciInPPKN+gx61KN5rDh/H39nLL+wo5efIMhNspzs3kpxdc74aHSFW8nlqqsrLwdXVRvCbH\nnVhv2cIXNof5/vdfBVaSV3gPp0MBOqp/TlJfAcuXLwFfD2zadGk9KH9FBe+97lm6mjvwe0J0Xcyi\noaOQwfZMqlflUX7DzextPcmB1KWkhyt4KclQfLGY2uSLXMx6m7xwkPoTp9g3UMRrpz5FypsH+cQ1\nR/m1LSsZDAZ56um3SQ3mssKTSuvgec6nbaSju5ec1Ul4PB30nMslNX09xtfKxf4LdIYG2Xzf7fj8\nfkKhIGn1dfh6egguXepej2CA1UtC3PORjezeU0djVxuLNn8Fv9+V3T7qvZfqQB033VxC1Y7SS6/9\nw5Ufxu/xDPW65Oe712zTJve6x/QKlt93G69+e6gy4bJl71y2uOvevcfxHE1lIH0pA57lBHuCvPni\n22T5llL+4M7R23m0Xsho4PH7YdUq1/Nn7eR6aI4dm/haSVqIVkRiKCiJiMiUCwQCfOtbQ0Uaxlwf\nKRh0C9s2N+MrKHDziEIhDsTbflhPViAYZG9PCrxVR2VlMZ/97C309tbQ3h7kpZde4MyZ91JYmMXp\nlhY8fg9P/vn3KbztJiq3bwDg0KpyludUM9jVSzOrwePB4/HQN1DK/sE0wktLCLV1cOFCiEBgGQe5\nAfr3k7VmJwXnj1Jz0cupRe8hy+unv38LR482cZx3eeWVBs6evR6vL4An+DbB0Gq6ulo4vGI96dfe\nwY03NpB1sg5fbw9FSYUE09P5p7Zr6Wg9T0HBEnJyDlJeXkhDTYhXXzmFt9UH4TBvVK4i3JlE16L3\nst+fS+P+WrZv34zXe/nrFLc3J6b3LxAOuzBVtIXKjIv4Iz1tfuALN3s4dOg5+taso3L7yO0WCoeo\nP9lF17lFLP2HWk7+3PKBb/42/vT0+O08HXPf4oWvdeugrc3NoQLIyxt5/6jpXIhWROYkBSURkQVi\nwj08Cdi79zhnz14z8vpIw0W/ye/sdAvbNjXB1q2QnT1y74bPR6CkhMeHFQzYs8fN63nooVL+7L/u\nYn3/ACa7nmbK2V7/Mn32OD0FYU4d2Mvum7oIebx0nLmDRcfr2dh6llSPn1Cyh7YledSnGYrDJ9i0\nqZv09LMcOXKUcHgzSUltrF0bpHJ7I6+9NsjJzE/Q0ZHBhd4aCgrKaMleR0PHHi5ezIVQkNOD3fyz\n/+usC+4nJ+l1tt/1e/R6k/CntLHh3jsgHCYAPPbzixRd9JN27k16M8M89Cc78Scl0fjoD1hc20lS\n8CJBfypH92Wyp/jTrFqTz8pQiMaWII2NRyksLGH5kv1UpkbmAY0RQAKBAI8+WoPXJgHwKxPg4Uc2\nuZOCXbvwd3VxbSgErx2EjJ0uLETur7KymF+9WU1/Wwa9bS34gme54fQ+ertzCbdA+6c+R/7j/wDJ\nyfEffKReyMnOeYsXvoJB+M53oKPD3XbmjBvGJyIyAQpKIiILwIR7eOLsP9UhK3qfaXW1bOrswJeU\n5Eo2NzW5HoC778bv811WFe9SUYBgkLq/+Dqh1yDLc5K83BoOlj/A7t21vP1WL0W728juSaHnwg+p\nSl3GuYAXkrvJXroO72APZ17rp3lpLl5vD3VLHubdpBvJ6XqSJH8FrF3OdcUvc+9H11BVtYXdu2vp\n7g5y5swvyM0toKBgC8nJr7F+/X10dLTT3e1hYKCcixefo/yaAlK2fpwg/extf5m9wf8IPj/1vnQy\niv8Tzc3HuD/0FJvyF8ObjZCRwaFQBiXPWgZSF7PW46W/IYPqfSeo2lHKucIiBo+k4/X66c7MJ+Vc\nC/mdtUA+Xq+XbdvyKCp6l4oyqKw7jH93r3txY4eNBYPw+ONuKBtwggwKavJJCfQB0N+Wwd6tqVS1\nW3j3XVdI4e23XVGFnh4XQiL35/f7efiRzey9PoPGl15n6eseeltzwesDwvgvnIenn4b77pvYGyKR\n3qbY8HX4MJSXu14lcO+nsYbxTddCtCIyZykoiYjAvJ/EPaEenhiTCVmVlcXs2TPyPJfh95l7uo8z\n597klvcVujWOVq6EkpJLbRBvGFmgpoYDr9dzur0C8BBoPk4g9AYHCy/itfmsWJROf0oLeIpZzNvk\nZJzGX7QTr8cH4RDgFrdtb6+joyuLcGY52xe9QlrgCMWLz3PD1uvw33AH+HxUVZWwb18NZ8++79Jz\nKS0t4NQpL9u25ZKUVE9HxwU+8Qk/D33uGjhyhBPL6im87XZO7m4jObmDu+66htOnu7hz9ZvcnrPY\nPc+mJjh4kNyAj+STPYSS0jix9laSBy6QVl8HO0opXp9L+8F2unrzASgoGMBT3MKxUBCAnJyDfPaz\nt+A/csSFmthhY2Vl7t8jR+BnP4PBQQCWNLaxLLid7iVFAKT0nyf/x9+HZelQV+eKIaSmusVTvd4r\nhqH5/X6qdpQS2L6BZz//dcKtAGFSkjtYtjRrzPfUiKayapzX695L4OY7jeexZ6AkvojMHQpKIiIL\neRL3OALiZEJW7PpIl3qC4tzn2dxNnGt7h5P1xylemzeub/IPHWokObmUpORG2k/nEAospf74u3Qf\nKWJdKIDX42PN2pV0dpxmddEitpcV84vqJpqbk+lPWkTWTi+de47S2flBurp6KOz8DnkbU8ha3MWN\nOwy+3t5LwSDecwF46639PP/8Cvr6ili06AADfcvcsLXeXj6xOsj1qSd4bOkm0jNvw+v1cu21Tdx9\n8zZ8//ZvsHevmz/T1kZuTw8MeAj0ZrD2+Eu0VmykvNxVrBtcv56bPxSg4dAJAFaXGqjYwKF3x5g/\nFC2E8Mwz7vV85x03B2ztWvB4WJrmZ2mXpSvs1n3PC75DYfZyFyxaWuD8eejvh4ICV/xhlHb+wDd/\nm/ZPfQ7/hfMsW5qFd9kyuOuu+Dsk8oXERPZNZBif5iSJSISCkojIPJ7EHQgEqKlpYv369SxZsp+O\nji1ApIdnS9m0BsTYnqDoULtAIMDBgw00NmZTWLgcr9fHwfIHKSl9Ea4pGtcJdN+adQymdrBkcR8X\nznfSk5ZB2nU7yczcSD3PkJ+UQfLABQpXDnDDzkq4/35a//RJzp/rpz1zDV1NnZSV7eT06Qts2BAi\n/+w1LM/8qQtJPt8VPRDDn8ulIYNpZ8nPT8Xn62Xlys0kHTtEQ/sJitfl4/N6MflZfPWeAvb2u5BT\nWVnhqs89/7zr/XF3hi8jg7yUAD0D/WRkn8NsycQfOdFPPXEC/8c+RrG1Q2sqvfUW1wKc7ILo6zs8\nGIRCrjR2c7PrHbp40ZUYD4fdPLDsbLz5+ZS/Zz2ZXW5o2urFa/BlZ7vPQGUlnDrlhtyVRO5/lKDh\nT093c5KeftrdcNddbn5SbLCByb/fJvplhnqHRGQKKCiJiMxT0eFtNTVbOH68gOzst7n9dovf73cn\n7UeOjCsgjjWMblSRk+VAMMijrwQ4fbaCt96qIRTaiMdzkqamAbZtyyMn5xDlD+68VLp7+HOINzeq\ncvsGfvXeHk7/YjWnLmbRvjxIZVEp4OHej5bg93hIq6+jvPxG/BUV7N5dS2pdkLXpA6wN1tJcE+ZX\na+tYtcaVyA4X7GBF0j58Hs+lBWnjBYNAIMCj36jGa5NobU2lrbeHbVUbAWhtraepu4OiNbkubAH+\nyNC9y+zc6UIIuEDR2Ih35UoyU1KgtBTuuMOtJ9TVxaKGBvcaRk/6e3quXC8oev3++10vUm2tu97S\nAg0NbrhdX58LCqmpkJkJN9yA/4EHKH72WbftBz4AP/nJUBApLx+6Pxg7aCQnXz4nKV6wKSub/BcS\nk/kyQ71DIpIgBSURkXk0iXt4sAgEApHhbW14vT46O6/D7x/fvKRYW7emcOTIK5SWFlBVNcJwr1F6\nEBpOtJFfW8w72Rn0928BPKxblwaco6joXTfPJk5IGmluVLSgwO5ttfzLv9SxKuN2wBMJcaVUVzfQ\nt64ENhUTCIdpfOl1ets6SF6ahdfjJS99kA2BV+gNlQKwLOcQa3/rkaGQMdIwxD1Hyf/lEVIHe1gV\nDpHREqS2PoXmtgDe8Gau4TyvvnyEWzZ48GVlgTFXvk4VFUMn/nl58PrrsH69G+aWne3CYjQUeDxD\noSAqFHIhKBiEZ5+FJUvc7dFeFoD29isf1+t1PUu5ue76E08MBbaf/CR+MJps0IgXbOrqJndfIiJX\niYKSiMg8GaYTGywuXPgZGRnrRt5hHAHx8vs09Pa+Q1XV5b/fu/c4BINU1r2FPzqkLLYHweMleeAC\n+Z11HMUFNa/XT0FBCRUVvrjBa6y5UX6/n5tuKqOqquRSONy8uZTHHjty6TV48839hMNh/M3XEep8\ngo7zYdYUZZGZ2czv/u49VAdi5lCNEQzS6utIvnieRT0uiJSuXE5q0nN4Vv4mhYXLeTf0Mba/+dc0\ntzayqrDQhZHYIWKx77fPf/7ygDI8FMW219tvw5NPwsAAJCW5Nisqcq9xKDRUwKGmxg29W73aDb3L\nyRlabHblShcIz5wZCk3Nza7gw7XXjvr8E7J+vTuWyXwhMY++zBCRuUNBSUQE5sUwndhgkZHxfnp6\nnicU2kwoFLxyyNw4AuJoYeXyynUH6TlnhyrXxfQgrFq1lL1vvUvIb0hJeRuPJ58VK/ImNoxvBMPn\nD+3eXXvZ8dbUrAbOUlRYQpk5RG9bHcuWtnDD7dfh37KFqthAPEbBgPKN+XjPfYdgTwYAyzOqWfXg\np+k4sQyv18vyM5b+1MUMLh9wpalbW93wuGgAGen+h7/3hoeCcPjyUNDU5MKGx+OuHz0KZ8/C4sVw\n4AAsX+62ffBB97jPPef2b2mBQMAFpWig6u9324ALVM89B5s2jf9Lgng9iNHrxlwZbDZtcj+TLf89\nD77MEJG5RUFJRGSe8nq93HffOo4d28/GjX1XVJ4DEgqIw0OU1+ulu2clJ0+eobg4z20Q6UEIdnTw\ny180Q+ZWWrPzKF1zjHvvTSUlpTf+MUUkNDcqRtjr43DFJ1mWd5Cs95zC/7E7rzzRHkfBAL/fT9nG\nJZxrOQvhMEvTfITTA7yxZD9nOrYQCoVYlH6KovZW1+sTDg8FELj8/g8ccK+913v5if+wUNC9ZIkb\nEufzuePp63ND7TweOHfOXQ+H4eRJ9++BAy4QPfigC2ebNrn9amshPd2FpNZWF6zC4Uvlwrl40YWZ\n8c4Zin2tDhxw9xcdyldTM/Icp8l+ITEPvswQkblFQUlEZJ6IFyyqqipIS+tj69aJz0sa6T7jhZX2\n5WXktFQTDLZxvK6FYHoGazduxL9pE9U/eppXBgppXVLCylUbgFJSUsaeKzVWifHxHG9FRQPhcJjO\nTrfuULA05IpGxOmNCNTU0HDgKHi8FBUtxxevYIDXi6+ykpx33nE9Zmk5cOgQD6+/yN7rM4BkKn+R\nie/gSRdm0tNh0SI3XA5c1Tm/3wWWl192AaagAKqrhx4nFIITJ2D9evrXrr38WPPyXEW7ixddMFmz\nxg2f83pd0InObxp+3NH5QosXu3+vucYtKNvSMhSUysuH5hONR+wcJGvd8y0sdNe7usZe4FVEZJZT\nUBIRmSNGqgAXNZlgMZbR7jM2lDTdVEJvq58L58toTypl6bcP8dBDpfyoOo19596Pp8NLY8s7VFaW\njev5RB9/IsUnrjzezQBjviaBQIDHHz9K1sEc8Hg5caKRW96bzxVxyhj49rehsdGFgWAQ3vte/L29\nVGUFXDDIuOh6erxeF2z27nUBIhx2c4G2bXMhpb9/aAjdq6/Cu++6oXUnTrjwlJ7OkqIi2LrVhaXo\nYycnu30zM121uuPHobvbhbLYNY+GBxqv1xWL2LDB9XaBO75weKh0eLziEyOJFpWIXtZQOBGZZxSU\nRETmgNEqwA030WAxHiPdZ2woCQQyefHFB/Bm+PDg5jP98IevkJHxftLTz9DXl0dv7yZ6ep5n8+bb\nxn4+411gNGa7eMc76msSDHJo1/N0dawjLeUiKQPddHcXcPxMLxtiCwZY63pfQiEXchYvdnORhgeU\n4VXtmprcdgUF7ndNTS4shcOQlub2a2lxwercOVetrq/P7XvhAhkdHUNznKKP3ebWPiIvDzZvhi1b\nhuYiwdiFDrzeofk+VVXwwgtuXaesrPjFJ+KJhraODnd98WJ3X3194zsGEZE5QEFJRGQOGKsC3NUS\nW0ghHq/Xy/XX59Hc3EEoFOS++9ZRXd0w+vMZ7wKjE12INFZk/8x3jlLY1MBgciaNhVUE8ZB3azIb\n4t2P1+uCy+CgCxixBReGFx6orXVhKDpErbLSBZx169yx9vS4/VNTXSGGhoahnqekJJKTki6f4+T1\nuqp1MNSLU1ExcpGEeNXijBna1ut1c56WLXPXx7u2UbzQdu21lz+uephEZI5TUBIRkSkRbz7Tpz51\nE4895m4rKMi+NG8qOuRuRONdYHQyC5HG2b9oTS4n6pvo7i4giIdgaYjK7Ruu3H548LjuOvfvnXde\nWS0uGmDKyi4PctnZcPfdQ78/fNgFnuh95uS48OHzQVISgWXLhoosjFYie7RCB+XlcOyYC2dlZZcW\nswXccLusrInNT4oaKbTNZuPtpRQRQUFJRGROmIoKcMPnBG3evJrq6oZL9z3WXKbxzieKN58p3m2j\nPp9g0PXENDe7IWuTOYkfbhwnxz6fj1tuWcnJ+tOsueYU5Q/ujP+aTLRM9Wjb+3xD6yZVVLiepBtv\ndL01L78Mubn0BgJDz3+ijx3b2xYtKz48WGZluevZ2UPXxzNkrqzMVbqLVrUzZvYPtUu091FEFhwF\nJRGROSDRQg3D5ziFQgG++tUXKCu7E6/XO+J8p+H7PvqNarw2CYBfvVnNw49sHnfxhZFui/t8oiez\nnZ2uYEJTkytmkJ0d/0R8rIVIxzo5Hra/z+Oh+NoN8GCc0uHDTbTnZKTtY48tK8sdW0WFK7Zw9ChJ\n7e3uGMfTcxQrXm/bsWOXb+P1uh6xcNhV8Vu/fvzPKxweKkYRDo9/v6sl0d5HEVlwFJREROaIRAo1\nDJ/j1NRUx5kzd9La2kVh4bIx5zvt3XOU/F8eIXXQrZHT35bB3uszqNpROuLjTbqiXfRk1u+H6693\nQSkvb2i4WqyxelnGOjm+mguZHj7sAmF0nk90IdiyMhdAwmHCMBRGohIZPrZunetZGh7OSkuHhuO1\nt7vy42P1tBw+7OZXRcuB9/QodIjIvKOgJCIio0qrryN54AJ43Z+M5IELpNXXwQhBabwV+sYUnQNT\nUjK1PTxTvf9khUKwb58r9Q2uB23HDhc4urth1SoCoZC7HA0hExk+Fq+3raJiaG5UdJup7mmZrfOA\nxup9FBGJkeDAbxERiScQCLB7dy27d9cSCATGvH26VVYWs2zZO4RCQfLzi1i+/DlWrMgiFApG5gcV\nj7hveXkhizKaCIVDhMIhFmU0UV5eOOL2w3uvvF5fpMdqjOINUWVl7gQ2FHI/iZ7MTvX9TaXo+kUj\nXY8ndl2kaKiJJ9pbtmOH+4kGqmgwrKiYfIgZ6XWNBrk33nA/u3a522aDkV4PEZERqEdJRGSKjdSj\nAkxNT8skxM4J+pM/uZ3q6hPA2POd/BUV3Pyhd2g45LZfXW7wT1cPzFQPhbuaQ+vG4vO5cuHDS2xH\nCzxEez5iS49P5jHGaqvJ9LREX9eDB4cq6sHsnwc0FyrzicisoaAkIjLFRlrzKHr5aq2FFDsnaNyP\n6/Ph/+QnKR5n2Ei4Qt9ETmbHM8xrtp4cRwPK8Ap00ecQCXfdS5bA/fePvi5Soj1kiYTJQ4eG5jZF\n51ctNLN1qKGIJExBSURExjaBsJFohb644p2MzqVyz/GOf6zS4RUV9A8MXLk+03T0kE0mTMbrPfJ4\nhkqOw+wa6jgd5tJ7UEQmTEFJRGSKjdajkuhaSLNeJBD4gaptU3QSP9LJaJwT9UBNDXv704HxrQ81\nI0Y7mZ5MQJmtPWTg2mK2DnWcDrN9qKGIJGQW/AUREZlfRutRmfKeltlkur5dH+lk9IqHD/L440c5\nmnIvMLNzwEY1X0+mRxoGOJuDnIjIBMyjv9AiIrPHSGseJbIW0qw304Eg5kT9+Jk+jiV95KrNAUvY\nTM51mYrHms2FMmaKSo6LzGsKSiIiMruN1nMx7ET9bJef8As+PKPc1YyIDSHjOZkeqTduuo5vqnr+\nFnrvkcKiyLymoCQiIlNjur5dH0fRA4DKQIA9e6/yHLCRQshYJ9PjHF44JebrUMCrZaGHRZF5TEFJ\nRESmxnR+uz6Ok9FpqbY3UaOFEJ1Mi4jMKd6rfQAiIjKPRANNRcVVGYIUnQNWVVVy9Ys4TERZmeuB\nC4Xcz3TOdZnJxxIRmcPm0F8RERGRWW6yww9ncq6L5tWIiIyLgpKIiMhUSSSEzORcF82rEREZk4KS\niIjIVFIIERGZFzRHSUREREREJIaCkoiIiIiISAwNvRMREZlqsYvOqliCiMico6AkIiJz02wNIyMt\nOjtbjk9ERMZFQUlEZKbM1hP7uWg2h5HRFp2dC/Q+FREBFJRERGbGbD6xn4vmehiZrfQ+FRG5RMUc\nRERmwvATe6936MReZr9g0AWGmhp3eSxlZW6h2VDI/Yx30dnZQO9TEZFL1KMkIiJzT1mZCy7Rno/p\nCiOT6WFJZNFZERGZNRSURERmwkyd2C8UMxVGJjvEb64uOqv3qYjIJQpKIiIzQb0MU2+uhpHZTO9T\nEZFLFJRERGaKTuznnoXYw6L3qYgIoKAkIiIyMvWwiIgsWApKIiIio1EPi4jIgqTy4CIiIiIiIjHU\noyQiIrJQBIMaRigiMk4KSiIiIrNFbJCZ6vue6JpQIiILmIKSiIjIbBAvyKxfP3X3P9k1oUREFijN\nURIREZkNhgcZrxe6ukg9ceJqH5WIyIKloCQiIrIQlJW5daBCIfezENaEEhFJgIbeiYiIzAZxFrft\nX7t26u5fa0KJiEzIpIOSMWYpsAsoAuqBB6y1nXG22wl8DfAB37XW/mXk9v8GfA5oj2z6R9ba5yd7\nPCIiInNavCBTXT31jzFb5iSpAp+IzHKJDL37EvCStbYE+Hnk+mWMMT7gm8BOoAz4uDGmNPLrMPA3\n1totkR+FJBERWdiiQaaiYn4Hh2jhijfecD+7drnbRERmkUSC0oeBH0Qu/wC4O8421wPHrLX11tpB\n4MfAR4b93pPA44uIiMhcFKdwxaXeJRGRWSKRoJRnrW2LXG4D8uJssxI4Nex6Y+S2qEeMMQeMMX9v\njMlO4FhERERERESmzKhzlIwxLwEr4vzqy8OvWGvDxphwnO3i3Rb1d8CfRS7/d+Cvgd8c7XgA9u3b\nN9YmMoup/eYutd3cpvabu+Zl2wWDLDl7Fl9Pj7uakUFHXx/Mw+c6L9tvAVH7LWyjBiVr7W0j/c4Y\n02aMWWGtbTXG5AOn42zWBKwadn0VrlcJa+2l7Y0x3wWeHs8Bb926dTybySy0b98+td8cpbab29R+\nc9e8brutW+d9MYd53X4LgNpv7pqqgJvI0LungM9ELn8GeDLONnuBDcaYNcaYZODByH5EwlXUPUBN\nAsciIiIic8lCKVwhInNWIkHpK8Btxpha4P2R6xhjCowxzwBYawPAF4EXgMPALmvtkcj+f2mMeccY\ncwC4Gfi9BI5FRERERERkykx6HSVr7Tng1ji3NwMfHHb9OeC5ONt9erKPLSIiIiIiMp0S6VESERER\nERGZlxSUREREREREYigoiYiIiIiIxFBQEhERERERiaGgJCIiIiIiEkNBSUREREREJMaky4OLiIjM\nCsEgHD7sLpeVafFSERGZEgpKIiIydwWDsGsXdHW56zU18OCDCksiIpIwDb0TEZG56/BhF5K8XvfT\n1TXUuyQiIpIABSUREREREZEYCkoiIjJ3lZVBVhaEQu4nK8vdJiIikiDNURIRkbnL53NzklTMQURE\nppiCkoiIzG0+H1RUXO2jEBGReUZD70RERERERGIoKImIiIiIiMRQUBIREREREYmhoCQiIiIiIhJD\nQUlERERERCSGgpKIiIiIiEgMBSUREREREZEYCkoiIiIiIiIxFJRERERERERiKCiJiIiIiIjEUFAS\nERERERGJoaAkIiIiIiISQ0FJREREREQkhoKSiIiIiIhIDAUlERERERGRGApKIiIiIiIiMRSURERE\nREREYigoiYiIiIiIxFBQEhERERERiaGgJCIiIiIiEkNBSUREREREJIaCkoiIiIiISAwFJRERERER\nkRgKSiIiIiIiIjEUlERERERERGIoKImIiIiIiMRQUBIREREREYmhoCQiIiIiIhJDQUlERERERCSG\ngpKIiIiIiEgMBSUREREREZEYCkoiIiIiIiIxFJRERERERERiKCiJiIiIiIjEUFASERERERGJoaAk\nIiIiIiISQ0FJREREREQkhoKSiIiIiIhIDAUlERERERGRGApKIiIiIiIiMRSUREREREREYigoiYiI\niIiIxPBPdkdjzFJgF1AE1AMPWGs742z3PeCDwGlrbcVE9xcREREREZlpifQofQl4yVpbAvw8cj2e\n7wM7E9hfRERERERkRiUSlD4M/CBy+QfA3fE2sta+BnRMdn8REREREZGZlkhQyrPWtkUutwF5M7y/\n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\nxwAAAABJRU5ErkJggg==\n",
116 "text/plain": [
117 "<matplotlib.figure.Figure at 0x7fb12407da50>"
118 ]
119 },
120 "metadata": {},
121 "output_type": "display_data"
122 }
123 ],
124 "source": [
125 "# Plot what we've identified as the most and the least correlated pairs from the matrix above\n",
126 "plt.scatter(data.iloc[4], data.iloc[0], alpha=0.5)\n",
127 "plt.scatter(data.iloc[2], data.iloc[1], color='r', alpha=0.4)\n",
128 "plt.legend(['Correlated', 'Uncorrelated']);"
129 ]
130 },
131 {
132 "cell_type": "markdown",
133 "metadata": {},
134 "source": [
135 "All of the means are approximately 0, so we can intuitively see the correlation from the plot. The blue data is mostly in the top right and bottom left quadrants, so the variables are generally either both positive (i.e. both above their means, since both have mean approximately 0) or both negative. This means that they are positively correlated. The red data is scattered fairly evenly across the quadrants, so there is no relationship between the data; x and y are both positive or both negative about as often as they have opposite signs."
136 ]
137 }
138 ],
139 "metadata": {
140 "kernelspec": {
141 "display_name": "Python 2",
142 "language": "python",
143 "name": "python2"
144 },
145 "language_info": {
146 "codemirror_mode": {
147 "name": "ipython",
148 "version": 2
149 },
150 "file_extension": ".py",
151 "mimetype": "text/x-python",
152 "name": "python",
153 "nbconvert_exporter": "python",
154 "pygments_lexer": "ipython2",
155 "version": "2.7.6"
156 }
157 },
158 "nbformat": 4,
159 "nbformat_minor": 0
160 }