0% found this document useful (0 votes)
340 views25 pages

01 Quantopian Research Basics

The document provides an overview of basic research functions available on the Quantopian trading platform, including get_pricing() to access pricing data, symbols() to list traded securities, and get_fundamentals() to access financial data. It demonstrates getting minute-level stock price data for McDonald's (MCD) stock and exploring the data, noting that pricing data goes back 12 years which is generally sufficient for algorithmic trading strategies.

Uploaded by

Chris Harris
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
340 views25 pages

01 Quantopian Research Basics

The document provides an overview of basic research functions available on the Quantopian trading platform, including get_pricing() to access pricing data, symbols() to list traded securities, and get_fundamentals() to access financial data. It demonstrates getting minute-level stock price data for McDonald's (MCD) stock and exploring the data, noting that pricing data goes back 12 years which is generally sufficient for algorithmic trading strategies.

Uploaded by

Chris Harris
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 25

{

"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 01-Quantopian Research Basics\n",
"\n",
"**Please remember that this notebook will only work on Quantopian! Make an
account and upload this notebook file. These commands and functions won't work
except on the Quantopian trading platform!**\n",
"\n",
"Note a lot of the written markdown text in this notebook comes direclty from
the Quantopian docs and tutorials, definitely check those out as well, they're
great!\n",
"\n",
"## Research\n",
"\n",
"The notebook format allows us to easily gather information about variuos
securities all within the Quantopian platform. Keep in mind this is different than
the base coding platform of quantopian, which focuses on actually implementing and
backtesting trading strategies."
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"# NO NEED TO DO MAGIC INLINE COMMAND ON QUANTOPIAN!"
]
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"source": [
"## Getting Information\n",
"\n",
"Let's go over a few key functions:\n",
"\n",
"* get_pricing()\n",
"* symbols()\n",
"* local_csv()\n",
"* get_backtest()\n",
"* get_fundamentals()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## get_pricing()\n",
"\n",
"The `get_pricing` function provides access to 12 years of US Equity pricing
data: the same data used by the Quantopian backtester.\n",
"\n",
"`get_pricing` returns a <b>pandas object</b>. This could be a panel, dataframe
or series depending on the input values. "
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"mcdon = get_pricing('MCD',\n",
" start_date='2017-01-01', \n",
" end_date = '2017-02-01', \n",
" frequency='minute')"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>open_price</th>\n",
" <th>high</th>\n",
" <th>low</th>\n",
" <th>close_price</th>\n",
" <th>volume</th>\n",
" <th>price</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2017-01-03 14:31:00+00:00</th>\n",
" <td>121.86</td>\n",
" <td>121.86</td>\n",
" <td>121.57</td>\n",
" <td>121.63</td>\n",
" <td>123665.0</td>\n",
" <td>121.63</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-03 14:32:00+00:00</th>\n",
" <td>121.73</td>\n",
" <td>121.92</td>\n",
" <td>121.41</td>\n",
" <td>121.45</td>\n",
" <td>13536.0</td>\n",
" <td>121.45</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-03 14:33:00+00:00</th>\n",
" <td>121.45</td>\n",
" <td>121.79</td>\n",
" <td>121.45</td>\n",
" <td>121.52</td>\n",
" <td>17562.0</td>\n",
" <td>121.52</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-03 14:34:00+00:00</th>\n",
" <td>121.45</td>\n",
" <td>121.80</td>\n",
" <td>121.44</td>\n",
" <td>121.75</td>\n",
" <td>12072.0</td>\n",
" <td>121.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2017-01-03 14:35:00+00:00</th>\n",
" <td>121.74</td>\n",
" <td>122.00</td>\n",
" <td>121.66</td>\n",
" <td>121.99</td>\n",
" <td>8100.0</td>\n",
" <td>121.99</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" open_price high low close_price
volume \\\n",
"2017-01-03 14:31:00+00:00 121.86 121.86 121.57 121.63
123665.0 \n",
"2017-01-03 14:32:00+00:00 121.73 121.92 121.41 121.45
13536.0 \n",
"2017-01-03 14:33:00+00:00 121.45 121.79 121.45 121.52
17562.0 \n",
"2017-01-03 14:34:00+00:00 121.45 121.80 121.44 121.75
12072.0 \n",
"2017-01-03 14:35:00+00:00 121.74 122.00 121.66 121.99
8100.0 \n",
"\n",
" price \n",
"2017-01-03 14:31:00+00:00 121.63 \n",
"2017-01-03 14:32:00+00:00 121.45 \n",
"2017-01-03 14:33:00+00:00 121.52 \n",
"2017-01-03 14:34:00+00:00 121.75 \n",
"2017-01-03 14:35:00+00:00 121.99 "
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"mcdon.head()"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"DatetimeIndex: 8190 entries, 2017-01-03 14:31:00+00:00 to 2017-02-01
21:00:00+00:00\n",
"Data columns (total 6 columns):\n",
"open_price 8188 non-null float64\n",
"high 8188 non-null float64\n",
"low 8188 non-null float64\n",
"close_price 8188 non-null float64\n",
"volume 8190 non-null float64\n",
"price 8190 non-null float64\n",
"dtypes: float64(6)\n",
"memory usage: 447.9 KB\n"
]
}
],
"source": [
"mcdon.info()"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Can only go about 12 years back\n",
"# which is really all you need for algo trading, \n",
"# going back further probably is more noise than signal.\n",
"\n",
"mcdon = get_pricing('MCD',\n",
" start_date='2005-01-01', \n",
" end_date = '2017-01-01', \n",
" frequency='daily')"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f98b62cdc90>"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAAzMAAAHBCAYAAABdbuWNAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAL
EgAACxIB0t1+/AAAIABJREFUeJzs3Xd8VFXaB/Df9Mmk9xBCaKFDQggdQWqwV4oFXFdXd0Vl\n12XtrGVdX
RF5XXaV1bWsBexYAAsKgiBICxB6CYSQhPReJpn6/jEzd+ZmJslkMpMy+X3/4d5z25lw\nPzBPnnOeIzGbzW
YQERERERF1M9LO7gAREREREZEnGMwQEREREVG3xGCGiIiIiIi6JQYzRERERETU\nLTGYISIiIiKibonBDBE
RERERdUtuBTOnTp3CnDlzsG7dOlH7zp07MXToUGF/w4YNmDdvHhYuXIjP\nP//cuz0lIiIiIiJyIG/tBK1W
ixUrVmDKlCmidp1Oh//
+97+IiYkRzluzZg3Wr18PuVyOefPmIT09\nHSEhIb7pORERERER9WitZmZUKhXeeOMNREVFidpff/11LF68
GAqFAgCQmZmJ5ORkBAYGQqVSYcyY\nMTh48KBvek1ERERERD1eq8GMVCqFUqkUtWVnZyMrKwvp6elCW2lpK
SIiIoT9iIgIlJSUeLGrRERE\nREREdh4VAFixYgUee+wxAIDZbHZ5TnPtRERERERE3tDqnJmmioqKkJ2djT
//
+c8wm80oKSnB4sWL\nsXTpUmzbtk10Xmpqaov3ysjIaHuPiYiIiIioR0lLS3PZ3uZgJjY2Fps3bxb2Z86ci
Q8+
+ACNjY1Y\nvnw5amtrIZFIcOjQITz55JMed4x6joyMDL4HxPeABHwXCOB7QBZ8DwhoOQHSajCTmZmJ5cuXo
7y8\nHDKZDB9//DHWrl2L0NBQAIBEIgFgKRSwbNky3HXXXZBKpXjwwQcRFBTkpY9AREREREQk1mowk5KS\n
go0bNzZ7fOvWrcJ2enq6qCgAERERERGRr3hUAICIiIiIiKizMZghIiIiIqJuicEMERERERF1Swxm\niIiIi
IioW2IwQ0RERERE3RKDGSIiIiIi6pYYzBARERERUbfEYIaIiIiIiLolBjNERERERNQtMZgh\nIiIiIqJuic
EMERERERF1SwxmiIiIiIioW2IwQ0RERERE3RKDGSIiIiIi6pYYzBARERERUbfEYIaI\niIiIiLolBjNERER
ERNQtMZghIiIiIqJuicEMERERERF1SwxmiIiIiIioW2IwQ0RERERE3RKDGSIi\nIiIi6pYYzBARERERUbfE
YIaIiIiIiLolBjNERERERNQtMZghIiIiIqJuicEMERERERF1SwxmiIiI\niIh6mIZGAzbsOIdarb6zu9IuD
GaIiIiIiHqYD74/iTe/PoZ3Nhzr7K60C4MZIiIiIqIeJiu3EgBQ\nWFbfyT1pHwYzREREREQ9zMkL5QCA4E
BFJ/ekfRjMEBERERH1ILX1OpjNlu0AlbxzO9NODGaIiIiI\niHqQ+gaDsL11f24n9qT9GMwQEREREfUgWp1
BtJ+VV9lJPWk/BjNERERERD3InmMFov3Xvzji1nUN\nOgPe+
+YEqmobfdEtjzCYISIiIiLyc7X1Ory8NgP7ThRCrzeJjkWGqt26x4Yd5/H5T2fx7Ft7fNFF\nj3TvGT9ERE
RERNSqAyeL8POhPOw9XoDxI+JExyJC3AtmJBLLn2dzu86wNGZmiIiIiIj8VEOjAS+
+\nv1+Y6N+gM2LHoXwAwFN3TwAA6Jpkapojk0p808l2YGaGiIiIiMhP/ZJ5CbsyL7k81q9XKACgUWd0\n61
51DYbWT+pgzMwQEREREfmp1Z8cavaYSikDAOgM7gUzn24545U+eRODGSIiIiIiP1Re3dDicVsw\n425mxpH
JZPaoT97GYIaIiIiIyA+dzqkAACT1CXM6JpdJoZRbQoFGfduDGWMHBDP5JbWtloFmMENE\nRERE5IfqG/QA
gCsn9cP981JEx0YNjIREIoFSIXM7mLFlcgDAaHKvaICniivq8YcXt+KBldtaPI/B\nDBERERGRH6qu0wEAA
tUKXDGpn9DeJzYYj94xDgCgUsjQqHNvYr/coZqZL4eZ1TfocffffwQAVDIz\nQ0RERETU85y8UA4ACFCJCx
jfMmcwAgMUAIDAADnqtO4FM3qjPYDx5TCzI1mlbp/LYIaIiIiIyA/Z\nsicDEywlmPvEBgEAwoPti2QGBSh
Qq9W7dT+D0T60zGj0XTDz/P/2uX0u15khIiIiIvJDtrkwGrXl\nK/8/llyGY+fLMCopSjhHo1ZApzfCYDRB
Lms+z5FbVCMaWubrOTMAMHNsHxw+U9LiOczMEBERERH5\nIZ3eCIkEQpASGqTClOR40Tlya0Uzx6wLYBlGZ
jbbg5clL/3kdNxXhvWLAAA8MD8FIwdGtngugxki\nIiIiIj/zzS/ncSK7HEqFDBKJpNnzFDJbMGMPTvQGE2
54eANeXpvR7HW+KgDQoDMgp7AasREaKOQy\nDOwd2uL5bgUzp06dwpw5c7Bu3ToAQEFBAX77299i8eLFuOu
uu1BWVgYA2LBhA+bNm4eFCxfi888/\nb+dHISIiIiKitmrQGfD6l0cBQFhLpjm2rM0L1nkqpZVarFx7AACw
43C+cF5YkAoAMHdiXwDOmRxv\nMJnMOHymBPUNBkwd3RsAcNOMQS1e02owo9VqsWLFCkyZMkVoW716NRYsW
IAPPvgAs2bNwv/+9z9o\ntVqsWbMG7733Ht5//3289957qK6ubudHIiIiIiIiG6PJjD/
+33a8u+m4y+M19TrMf/wbYd9Wtaw5\ntmDm6LlS7Dycj98+9wN+PVrgdJ7eaEJiXDCk1vLM3h5mln2pCjc8
sgGf/3QWAJCU4LzQpyutBjMq\nlQpvvPEGoqLsE4WefvppzJ07FwAQERGByspKZGZmIjk5GYGBgVCpVBgzZ
gwOHjzoyWchIiIiIiIX\nLhZW43x+FdZvy3J5vOmEebWy5Xpfcrl9CNreY4Uuz9HpjajT6hEerILMGsx4e5
jZ5j05MJuB0zkV\nAICwYJVb17UazEilUiiVSlFbQEAApFIpTCYTPvzwQ1xzzTUoLS1FRESEcE5ERARKSlq
uPkBERERE\nRO47cb6sxePVDotMJsYF47KU+BbOFvv5UJ7L9oLSOgBATLgGMqklfPB2aWbbAp824W4GMx6X
ZjaZ\nTHj44YcxadIkTJw4EZs2bRIdd6x+0JKMjOYnFlHPwfeAAL4HZMd3gQC+B2TB90Ds0PFKYdvVz8Z2\
n/J65MegdqQRQ2+LPMDvXOfkwb0oEfj1Vi8IKHTIyMrD/bC0AQI0alJRY1qQ5fuIEqordCzjckZMv\n7seF
cydRcLH16f0eBzOPP/44+vfvjyVLlgAAYmJiRJmYoqIipKamtnqftLQ0T7tAfiIjI4PvAfE9\nIAHfBQL4H
pAF3wNnO88eBGAJLlz9bDYc/BVALWZNHdvqfBkAUIeX4bvdF3DmYgUKyuoQFRaA39w0\nFftX/gSjSYfRqW
Ow/dRBAJW4cnoqtmXkAifPYtDgIRjev+Wyye4yGk0o+
+I7UdukCWOFKmwtBWMe\nlWbesGEDlEolHnjgAaEtJSUFx44dQ21tLerq6nDo0CG+fEREREREXlTfYBC2XY
2EulRSi7BglVuB\nDACMGBCJvyxKw7jhsQAgVBHLKawBAGzZdxHbD+YhWKNEQkyQfZiZl+bMGIwmLH5mM+o
cPheAFstJ\nO2o1M5OZmYnly5ejvLwcMpkMH3/8MUwmE1QqFRYvXgyJRIKkpCQ89dRTWLZsGe666y5IpVI8
+OCD\nCAoK8uxTERERERGRk/oGvbBtMJqhcJjArzeYUFxej6H9Ilxd2qJFVw5DYlwwZo5NFLW/
+tlhAEBo\nkBISiQQymbUAgJfmzFwqqUVNvXi+zIy0BLevbzWYSUlJwcaNG926WXp6OtLT091+OBERERERu
c8x\ng6E3GKFwWEemvkEPkxkIDWr7XJYAlRxzJ/YT9ieMiMPe4/bqZvfeMAoAhGpm3srMFJXXO7VNGNHL\n
7es9GmZGREREREQdr15rz8zoDeKFKxt0RgCAWilr93MmjIgTthddMRSpQ2IAOAYz3lk00zac7bb0\nIZg1r
g8AYEjfcLev97gAABERERERdaz6RntmRqdvGsxYjrW2tow7VA4BUVRYgLAttc6ZKSyrxy+Z\n+fhyexb+du
9kt+foNGUryTxmaAwGJoThzqtHuL3GDMBghoiIiIio23DMzNRqdYgOtwcajdbMjMoL\nmRnHgEijVji0W+7
936+OCm27jlxC+oS+Hj2nxhrMBGuUkMukbQpkAA4zIyIiIiLqFvQGE3QOQ8ua\nTpwvrdQCAMKD1e1+lkZt
D2Ych60N6B3qdG6Z9bmeKCyvg0QCRDpkf9qCwQwRERERUReUW1QjClgc\nK5kBzsPMbMFMbISm3c92HDbmm
OlRKpyzPtkF1S7vcfRcqdO8nqYqaxoRrFFC5eK+7mAwQ0RERETU\nxdTW67DkpZ/w4MvbhLb6JmuxmBzWmc
m+VIXMs6UAgAB1+2eSBDoMLXMMNJRy5/ChvLoBANDQaMAD\nK3/Chp3ncPhMMZ5YswsvrzvQ4nO0jQYEqDz
vL4MZIiIiIqIuptY6N6asqkFoa5qZMTmUR166ajv2\nnbCUUta0Iziw0biZmZFJJaiqbQQAnMopR05hDd78
6hguFFiqlO0+UoBLJbXNPofBDBERERGRn7FN\n5geAB1b+BMA+RybIGmg06Iz45MfTqG0yd0btjWBG5Thnx
r4d5BDkBGuU6BsXgooaSzCTV2wPWhwD\nr/e/PenyGWazGQ3tDGZYzYyIiIiIqAvRG0x4wGF4WU5hDUwmM8
7lVQEA+sWH4Ni5Mrz/7QmUVGiF\ntVps2hMc2Eit68kA4syMWiXHqw/PwBfbsnDNZf3x7qYTaNQZUVBahws
Oc2c+
+uG0sD040fW6MY06\nI0zm9g2LY2aGiIiIiKgLyS2qcWqra9DjVE45AGB4/0gAQEmFZcL/zsP5onO9Ecw4a
jo5v29cCB66\ndQwG9bEHKYVlddi8J8fl9c0tsKm1rpnTnmFxDGaIiIiIiLoIs9mMCwVVTu3aRgPyimsRrF
EgJrzl\nMsbeDmYULib926QNjQEA7Dte2Ow5P+67iJPZ5Xj6zV9Fw89swQznzBARERER+YGfDuTilY8OAQB
C\ng5RCu8FoQl5xLSJC1JBKJM1dDqDl4KMtbk0fgikp8ZC08DyF3JK1yW9hkn9BaR0eeXUnDp4qxg97\nLw
rtR7LaX32NwQwRERERURfQqDfinx8fEvbvvWGUsP37f2wFYJk/4zifpak/3ZLqtf7cNncoHrtj\nXIvn2AK
nQ2dKnI4tuz3Nqc2x6699ngkAqK3XO53nLgYzRERERERdwCsfHRTtTxzZC9dNHeB0XnPB\nzPP3TcascYk+
6Vtz5DJxOHH9tIEAgDnjEzF9TAJGD4oWHXeVNaq0VkPz6PkeX0lERERERF6zK/OS\naF+pkDkFCwBcDjMbM
SASyUnRTu2+1nRy/21zh+B3148U9m9JH4LDZ+1Zmx/2XcTQfhHoHx8qtKUM\nivL4+czMEBERERF1ssKyOt
H+jLQEAIDcRSZDJnMOZp6/b4pvOtaKaakJCAtSCfsatUJ0XNNkPkxW\nbiWWrtoOo8mMqFA1AOD6y5M8fj6
DGSIiIiKiTrZlv31ifFJCKP58m2W+idlsdjrXMTPzxmOz8Opf\nZkDWwjwaXwpQyfHmE7MBABNGxDkdDwlU
OrUBQHZ+FeobDegfH9KuvnOYGRERERFRJ7OVKb73hlG4\nYlI/ob20Uis6b8KIOOgM9qFd8dFBHdK/lqhVc
nz+4jWQuwhKIkMDMHdiX5zLr0JWbqXQXl7dAG2j\nwSmT01bMzBARERERdTKDNUBJHhQlmiR/3dSBovMev3
M85NZhZiMGRHZcB1uhUsggczG/BwAemD8a\nr/zpclHbyrUHYDYDgQxmiIiIiIi6N4PRMpxM0SQgSOoThj/
fNgYAEB6sgkwqweRR8fjL7Wl45p6J\nHd5Pb2nQGQEA4SGqVs5sGYeZERERERF1Ir3BhB/25gBwLnUMADPS
+mBKcjyUCssClVKpBJePSejQ\nPnpDgEouDKeziQwNaNc9mZkhIiIiIupEf3trj7DtqnoZACGQ6c5U1s8QF
mzPxkRaK5p5isEMERER\nEVEnuVRaK1qHxVVmxl/YirD1igwU2tTK9gVp/vvTIiIiIiLq4pb9c4dov7NKLH
eEeusQs/LqBgzo\nbVk0Mz6qfdXYOGeGiIiIiKiDFZTW4XROOWq1egDAsH4RCFDLEaDy36/ns8cl4ptd2aj
T6vHKQ5fj\nQkE1kvqEteue/vvTIiIiIiLqgsxmM+79xxZhf9KoXnjizvGd2KOOcfWU/vhmVzaWzEtBsEaJ
UQOj\n2n1PBjNERERERB3o213Zov32ToLvLvrEBmPDy9dBIvHeUDoGM0REREREHaC6Toc7nvkeRpNZ1B6s\
nUXZSjzqeNwMZgMEMEREREZHPGU1m3P7Udy6PadT8Su4pVjMjIiIiIvKxRp2h2WP+POnf1xjMEBER\nERH5
WKPOKNp3LMGsUSk6ujt+g8EMEREREZGPNertwcwdVw3DXdeNEPYDOMzMYwxmiIiIiIh8TGcN\nZlIHR+PmG
YOglNtXvucwM88xmCEiIiIi8jGd3gQASIwLgVQqgVJhD2Z6SmlmX2AwQ0RERETkYyaz\npRyz41wZm7jIwI
7ujt9gMENERERE5GO2YMa2zEplTWMn9sZ/cIAeEREREZGPmS2jzCC1ZmZmj09E\nxqki/PaaES1cRa1hMEN
ERERE5GP2zIwlmAkJVOL5+6Z0Zpf8AoeZERERERH5mLnJMDPyDgYzRERE\nREQ+Zo1lIGU041UMZoiIiIiI
fKzpMDPyDgYzREREREQ+Zhtm5qIyM7UDgxkiIiIiIh8zWYeZMTPj\nXQxmiIiIiIh8jAUAfIPBDBERERGRj
7EAgG8wmCEiIiIi8jEWAPANBjNERERERD5mtk6akfLbt1fx\nx0lERERE5GMsAOAbbgUzp06dwpw5c7Bu3T
oAQGFhIRYvXoxFixbhoYcegl6vBwBs2LAB8+bNw8KF\nC/H555/7rtdERERERN0ICwD4RqvBjFarxYoVKzB
lyhShbfXq1Vi8eDHWrl2LxMRErF+/HlqtFmvW\nrMF7772H999/H+
+99x6qq6t92nkiIiIioq7OaDRhw87zAFgAwNtaDWZUKhXeeOMNREVFCW379u3D\njBkzAAAzZszA7t27kZm
ZieTkZAQGBkKlUmHMmDE4ePCg73pORERERNQNHDxdjOPnywBwmJm3tRrM\nSKVSKJVKUZtWq4VCoQAAREZG
ori4GGVlZYiIiBDOiYiIQElJiZe7S0RERETUvdQ1GIRtvcHYiT3x\nP+0uAGAb/
+duOxERERFRT1JXrxO2K6obO7En/kfuyUWBgYHQ6XRQKpUoKipCbGwsYmJiRJmYoqIi\npKamtnqvjIwMT7
pAfobvAQF8D8iO7wIBfA/Iwh/egy17SoXtC7kFyMho6MTe+BePgplJkyZh8+bN\nuPbaa7F582ZMnToVycn
JWL58OWprayGRSHDo0CE8+eSTrd4rLS3Nky6QH8nIyOB7QHwPSMB3gQC+\nB2ThD+9BYVkdsgq2CPvBIeHd
/jN1tJYC2laDmczMTCxfvhzl5eWQyWT4+OOP8fbbb+Oxxx7DJ598\ngvj4eNx4442QyWRYtmwZ7rrrLkilU
jz44IMICgry6gchIiIiIupO7nlhi2i/QWdo5kzyRKvBTEpK\nCjZu3OjU/s477zi1paenIz093Ts9IyIiIi
LyMzERms7ugl/xaJgZERERERG575Pnr8KP+y5izvjE\nzu6KX2EwQ0RERETkAzUOVcw0agWunzawE3vjn9p
dmpmIiIiIiJwVldUDACJC1J3cE//FYIaIiIiI\nyAeKKyzBzI3TmZHxFQYzREREREQ+UFyhBQBEh3PSv68w
mCEiIiIi8kDGqSL88+ODMJrMLo+XWDMz\n0WEBHdmtHoXBDBERERGRB555cw+27s9FTkG1y+MllZbMTAwzM
z7DYIaIiIiIqI0a9UZh29RMZqas\nSgu5TIrQIGVHdavHYWlmIiIiIuqRTuWUIyJE3abMyYGTRZDLJAjW2A
MUbaPB5bm19XoEaRSQSCTt\n7iu5xmCGiIiIiLo1o8mMRp0BGrXC7Wv0BiMe/tdOAMDGVde7dY1Ob8Szb+1
xancMZvJLanEyuwyz\nx/dFrVaPkEBmZXyJwQwRERFRD2IymfHF9ixMG90bMRH+MZdj2eqfcS6vCu8+lY7I
UPcm2+v0Jrfv\nb1v8srkMjN5gv9cfXtwKAIgKC0B1nQ5JCWFuP4fajnNmiIiIiHqQXzLz8d43J3D38z8CA
Eortfjz\nP3/GtozcTu6ZZ4xGE87lVQEAcgpr3L7OYLQHIGaz6zkvNrf99Tssfvp7VNfqXB7XG50Do52HLw
EA\nYiP9I2DsqhjMEBEREfUgK9dmCNuFZXVYsz4TZ3Mr8X8fHkRReT0+23oG2ZeqOrGHbfPoq78I2zLr\n3
JTtB/Nw5mJFi9c5ZlPqtPpmz6uoaQBgGcrW3HkGg3Mw88PeHACARsWBUL7EYIaIiIioh2iagbjn\nhS3Yf6
JI2F/7/Um8/+1JLF21HbX1rrMQXc1ph6ClvlGP+gY9Vq3LwLLVO1q8zjEzYyuh7MqpC/b7\n11qDmXtvGCU
6x5aZOXym2On6AAYzPsVghoiIiKiHaCkDAQDbM/KE7XWbT6GqtlFUgrira9QZmw1M\nMs+W4L4VW1FWZTnu
mJlZump7s+WVT10oF7bP5loCm8AABR7/zThcnpoAwJ6ZeePLo07XB6gZzPgS\ngxkiIiKiHqBBZ8CuIwUA4
NbE/02/ZGPR09/jsVd3+rpr7TJqYJSw3ag3oaTCdTDzt7f2IK+4Fl/v\nOI+fD+bh2LlS0fHcYvF8mwsF1T
AYTcjKqxTa1m/LAgAEBSgwOTke01J7AwC2HriISyW1yCuudXqu\nSiHz7IORWxjMEBEREfUAz7y5B69+dhg
AcNWkfqJjM8f2EbaX3TZGdCwrr6rV+SedyeQwdK66rlGU\nmck8U4Jj50qRV1wDnTV78ktmPl5el4E164+I
7lNbb89a/eHFLXjw5W147bNMoZKZo8AASwloudzy\nVfpcXhV+b61iBgBrHpkpbNc3uK6ARt7BYIaIiIjIT
5nNZmzLyEVecQ2Ony8T2oM0Cvxr2XTclj4E\nGrUcN01PEo6NHRaLFQ9cJrrP+9+e6LA+t5Xj3Jf3vz2Jwt
I6YX/5G7vx+JpduG/FT0Jb08zNtNGW\n7MrpnHKYzWYYTWbkl1jusWX/RWRfqgYALJg9WLjGFsw0l3VRKmR
ISggVnUu+wUF8RERERH7KVqWs\nqbHDYhEZGoD+8aG4de5QUWGAII0Sw/tH4pWHLsdDr/wMACivbuywPreV
vkklsS+2Z7Xp+tQhMdhx\nOB//23QCAWoFBvYOdXleYmywsK2xzoNRKZsJZuRSPHPPJOw4lI/Z4xLb1B9qG
2ZmiIiIyC+9/sUR\nvPKR8xf5nsTVZPiNq653WlhSIpFg9rhE0RfvpIQwfPXStegVGYg6bdetbGZwscaLu/
61bLooc7Lt\nQC7+8e4+l+cGa5TCdpD1GnUzwYxCLkVokArXTh0AqVTicf+odczMEBERkV/6Zlc2AGD+rEF
IiAlG\nYVkdwoJVUCt7ztef/CYT0m9LH9LsuX+8JdWpTSaTolarR029DrX1OgQ5fKHvKgwGEyJCVEgbGosf
\n9110+7r5swahf3wolA5DxU46VC5ranj/CMwa1wdKuUwot+zqXbp6Sv8u+XPyV8zMEBERkV+7b
8VP\nqKhpwD0vbMFfX9/d2d3pMCaTGR98d1LUduXk/m2+j20C/Dsbj3ulX02dzC7H5j05Hl9vMJogl0mF\n
tV5sbp6R1MwVFv17WYaT9Y4Owkd/v0qUoWk6fGzNIzOhVsnxp1vGYMm8FEisi3O6ysz84aZkjz4H\neYbBD
BEREfm9zLOWMryncipQ36BHVW0jqutaHjq1PSMXT/5nFxp03aMalbHJl/niinqnc4IDPc8Y\nFJU7388bHn
l1J1797DAqaho8ul5vMEEhl6KhUfz3ZFs2JipULWq/7+ZkDEkMR8rgaKEtKECByaN6\nCfsRIWokxAQBAJ6
4cxz6OMyXcaRqkpnpFRno0WcgzzGYISIiIr/TdFL4qnUZwvZtf/0Oi57+Hrc/\n9V2L91j14UEcySrFr0cL
fNJHb9pzrAALnvgGB04WCW221eonJ/fCA/NTcGv6EMg8mL/xxJ3jAACh\nQSrvdNbBTwdyhe07ntmMAodKZ
O6yZWZsNQxiIjT47IWrcc2U/pg9LhEv/3Ga6PyrJvfHy3+chpAm\ngd2wfhHCdlFZHf7+h8m4f14KJo7she
Yo5OKv0gaT5/N3yDMMZoiIiMjvfNlCRSujw0rv7kwed1UN\nrKvZfjAPOoMJH/94GgCg0xtRUW3JdPSLC8H
cif1w29yhHt17woheUMqlKCh1XhCyPfQGo1OBhm0Z\nuc2c7aywrA5VtY2WYMYhqNCo5FCr5IiJ0OCPt6Q6
FTtozuzxiUgbGgMA6BcfisjQAFwxqZ8wpMwd\nUW4+i7yn58yAIyIioh6hvLrBaa5Ic25/6jusffYKKOT2u
Q96gwmfbT0jOs82lKmr0utNoj8f+ufP\nuFhoWdE+Lqp9Q5+kUgnCglWoamVYnqPaeh02/pKNm2ckiSbY2x
hNZtzzwhYAwIDeoTifXwXAMrzL\nHWaz5XqpBJBKpZDLpLhu2gDsPV6IW1wUOYgJD0BxhRbKFv4OJRIJ/nr
3RGzceR6Tk5vPxjQnNEiJ\nvyxKa/N11D4MZoiIiMivVNW6XhNFpZShUWcUtdU3GFBW1YC4yEDoDZZjPx3I
xUc/nBad9+vRS5iW\nmuD1vjboDF6prqZQWL6kn79Uhb3HCoRABgBiwjXtvr9GrUCJizk4zVm5NgMHTxfDa
DJh0RXDnI6f\nyalAWZUlc7Tk5mT85V87AdgzZbVaPd7ddBx9QnRwFR7U1FuG0JnMgMloCTSTk6Lx1UvXQi
ZzDlj+\n/ZcZOJtbif7xrteQsZFJJbjh8oFuf05H994wyis/a2qbrvsrBiIiIiIP2FZsn56WgEkOk7qfuHO
8\ny/Nr6nUV5PYuAAAgAElEQVRY+/1J3PToJtz06Ca8+lmm0zm2VeMdh6g1VValxRfbzrZ4jqPdRy5h\n/u
Pf4PCZYrfOb4lGZQ+I3m5SdcwbK9AHBihQ32iAyc3PdvpiBQCgpplsTnm1fbJ/Up9wodRxfYNl\nEv+qdRn
YvCcHO45Vu7y+skmxAFv2x1UgA1iCsZRB0U7zZLxJ3syzybf4UyciIiK/YTabhXkYgWoF\nVA5DnHpHBwnb
V07qJ2z/
+9PD+ORH8bAyAHj+vsl46YGpACwBzydbTmP+45tw6LTr4OOZN/fgf5tO\n4NMfT7tVAe3Vzw4DAL7dfaHVc
1vjGLA0nUQfGtT+L/CBagXMZkuQUVjW8iR9s9mMOmvxAVeBVGVN\nIz61DuNb/tvxkEklePaeSQAAbaMBZr
NZKGRQ22DEm18fRX2DXri+pEKLZ9/eK7pneLD3ixO0FYOZ\nzsFhZkRERNTt/fX13YgIVSMpIUxoM5rMiA6
3T8gOcMhe3HdzMipqGrDnWKGQyWkqOSkal0osk96L\nK7TYeTgfAHA8uwypQ2Kczr9QYLnPhz+cxuGzJVhh
DYQcXSqtxZZ9F/Hl9nPCkKpfjxagTqsXffHP\nK65BYIAC4cHuzSFxVcjg2XsnISY8wO17tHh/a5WuHYfzE
RKoxO9bWEtl6377wpWfbT2L2+cOFWVM\nvtiehfP5VQgLUmGMdcJ9gNqWmdFjW0aecO6lcj027DgPpVyG31
w9HACw6sMMFDcpE52cFI3O5m5G\njryLwQwRERF1a7lFNTh8tgSAuNRvUIACY4fF4rOtZwEAIYFK3HHVMCQ
lhEEikWBwYjj2HCt0ec/f\nXT/Sco21HPG+E/bzCkud547U1ouHU53Idr2S/O//sdVl+2+f24w3n5iD0CAV
1n1/Ch//eBpD+4Zj\n5dJpLs+3qaxphFIhhdHo/EU6OiwACTGu10dpK4NDqWtNC8PWDEYTVn9yWNR2sahGm
KtiNpux85Al\nWFm5dKpQeME2TK6iptGpwhkAUWYm+1KVsL1kXgr6x4dgaN8Ip2s6mjuV8cj7GMwQERFRt/
bvTw+7\nbJ83cxA0ajnuunYEhvW3fNmdP2uwcLzpKu+ObGuOBFozBo6FAy4WOWdybv1ry2vWAMCPe51XuQ8
J\nVKK6TgdtoxH//vQwVAoZdlgzQKdyKvCvTw5h6cJUl/fbcSgPK9dmoF+vECEr5Cgu0nuT0e+6dgRW\nfZ
iB3KJa0RC6Oq0e96/8CddPG4gbpyfhRHaZ07WnciqEYKZRZ0RpVQOS+oQhzmGBSVtm5qRDEJgy\nKEpY7LS
ixlLU4esd54R5NQAwckBkswtadjQGM52Dg/uIiIio26qoacDJC85ZkNcfm4XAAAUkEglu\nnJ7k8jf3KoX4
d7qOX4qDrNkHV2uM5BRUQ9vY8pyYQLUcZrM4W7LryCWn8z545gph+8zFCiGQsflx\n30WsWpchWgzzSFYJ8
oprsHKtZSFQx0DmiTvH44bLB2Llg1NF5abba2BCGJb/dgIA4PCZEphMZny2\n9QxuWf4tyqoa8I616MAH3z
qXxF7zub2gwsZfzgMAEhzmLwH2IYB6a0AQrFHgspTewvFfjxagpl6H\nt74+JrpOo+46v5c3MpjpFAxmiIi
Iuiijyey0kj2J1VpL9NrmXgBAbIRGNNm/OeommRnHSlchLla7\nHz88DjdOT4LJDGTlVgrttlLQSX3C8NCt
qRjQOxR1DQYUNZnXUVppqYh284wkRIWq8de7J0AqtQdL\ntuwDAHz50rXC9vaDeXj2rT0ALIHLk//ZjftW/
OTyM40eHI27rxuJof28P+zKNv/oYmENftyXg/eb\nBC6/Hi3AqZwKYX/JvBRh2/ZFf8chS7DWtESyXCaFUi
4VCgekT+iLQX3CROdccDG3KVDd/kpt7WUr\n5Ty8f2Qn96Rn6jrhLBEREQlMJjNueHgDAOCrlddBJnV/FfK
exDbkKTE2GM/eMwlZuZWICnNvFfam\nwczx85YhUgEqmZCZcTRueCyCrQHPqZxyjEqKAgB8ssVSmWvcsFjM
HJuImno9zudX4cDJIlxz2QAA\nli/zOYU1SIwLxp3XjMCd14xosW9ymRTBGoWwngoAvPZ5Jqal9m72mk+ev
0pU5MDbFHIZrpjUD9//\nesFl+eoX3t0HwBL0/OGmZIzoHylkZarrdAgPUaOsqgFhwSqXa7lo1ArorIGhQi
5D314houOO82aS\nk6KwZF4K1D78vO66+7qRuP2KoV5ZL4jajpkZIiKiLsi2IjoAnM2tgMlkFhZ1dOTuuh/
+qsE6l8U2\n/yWpTxjC3CzTGxEqrvK1YLZlPs3LTSbd2+bPxEcHYmjfcADAaYcMhC1jcNOMJADA6EGWylpn
rdmb\n+gY9svIs22YXf13/eXSmy2D1GWu5Ypvvf73gtOjn2mevQFiQCgPiQ6HpgCzFZId1ewDgjcdm4am7\
nJzi1jR8eJwqsKmsbUVqpRU29DkkJYaKMlI3j+Qq5FHKZFLdPj8L0MZbFSrWNBoyxVpH7690T3Mq+\ndRQG
Mp2HP3kiIqIuYu13J1FQVofZ4xJF5YKPZpViV+YlfPXzObz15BzsO16IY+dLEROuwVc/n8PL\nS6diSBeo5
tQZtNbJ4AEefJlMSgjDzTOSsH5bFhZdMRTzZw3GvJmDnLIbz9wzEZlnSzBqYBQkEgmi\nwgJwKqccDY0G/O
vTwzh6rhQRISrhC21shGXifWVNIw6cLMKzb+3BiAGWIUjpE/o69SMhJhi3XzFU\nGLY1YUQcAGBwYjhmju0
jqtBW6TAU7U+3pCI0SIW3l89xObfHF2yFFCQS4LnfT0Z8dBDio4PwwPwU\nIVtjm6sjlUqQPqEvftibg8qa
RmHY3fD+rt/VALU4mAGAQfFq9E6Iw/aDefhx30UhCJJJ+ft4smAw\nQ0RE1AWczC4XhivZ5hXY1Gn1+Ornc
wCALfsu4uMfT4uO/5J5SQhmjCYzqusavbK2SHdQZl1JPjyk\n7Z9XIpHgzmtGYNGVw4QFD10N09KoFZg0Kl
7YHxAfin0nCvHCu/tw6IylJHR0mL1ymFolh1wmwdnc\nSvzjvf0A7EPYBvYWzxWxKa7QCtvjrcEMADy4YDT
uuX4k/rfpBH7Ym4PVnxwCYAlkZo1LBAAoFd6b\n6N8atVKOr1deB4lEXBxhzJBYl+cP6xeOH/bmoLhCi3zr
mj3xUa4zKo5ZRlswAwDJgyzD+Y5klQpt\nHHZJNgxriYiIuoCmAYqjAocV112d51iF6+W1B3DHM5tbXaXdH
+j0Ruy3rv8SGep58NbWldtjIixz\ncmyBDADR4pwAEBOuQU29Djq9eFjY8AGuJ4lfNbkfAODaqQMw2xqk2P
oWpFHiumkDROeHuihQ0FGk\nUolTJihA5Tqgio2wlF9+9bPD+HJ7FoICFEgb5rzgKCCuyub4dxIapBIVE7D
1gQhgMENERNQllFVp\nndrusS7c6Gphx2W3pwnbjutb/JJpKf97zwtbREOS/NF/1h/B/hOWksXtCWbaKkSj
dGobOTBKtD93\nYj+X1zaXUegfH4qNq67HvTeMcvlFvW+ceDJ8V6ji5ai5ifixTda6CQlUujW/xDEzA9jnL
RE1xWCG\niIiokzXoDMgprBG1XZYSj3HDLcONXE3ynz4mAY//ZhwA8ersjpa/vsvLPe08RqMJPx/ME0pV1z
fo\nsWX/ReF4ZKh7Fcy84YpJ/TBnvD17MnNsHyGzYtO0WldSQij+
+dDlXuuDLTvUVchlUkwa1QuLrxwm\nam/695I2zPVwtKaaBjN947rGwpjU9XDODBERUSeq0+qxLSPXqf3hR
WNRUdMgarssJV7IvACA3PqF\n771vT0KtkguVtmyaBkjd2Rfbs/D+tydx9YVy/OGmZJy5WCE67suSxE2Fh6
ixdGEqli5MRa1W77KM\ns2N2JSEmCC8vnQZZG4ezNbVy6VSsWpeBlEHRiPBgjpCvPXHneKc2x0zUgPhQ3H3
dyGav/9ey6Vi6\najsA52CmowocUPfDYIaIiKgTLXnpJ5RX24OWh24dg1qtDlKpBOHBakgk9nK+40fE4ZfM
S0IWQG6t\n6KTTG/HvTw+jX5N1OQDAbDbjSFYptmXk4v55o52+JHYX5/Ispaq/2ZWN8BCVkKFZdOVQoRRyZ
3AV\nyNgEqOTQNhrw2sMzvTLHY2jfCLz5xJx236ejJcYF42JhDWIiAlqcuO+4kKatIpqjJTcnY836Iz7p\n
I3VfDGaIiIg6ycXCalEgs3TBaMwc20fYl0ol2PDy9TiSVYL9J4owLTUBU5LjhcnRcrn4i6HjBGqb\n6/6yQ
diOCFHjjquGe/tjdIhdR+wZqbXfnYJcZvnsl6cmIC4ysLO61aJ3ls+BttHY4yer33j5QKz+\n5DCmp/Vp/W
QrhYss1pWT+zOYIScMZoiIiDrJ+Uvi4CPIxcRyAEhOikZykiX7IJPaf2PdXBWu5+
+b\njFXrDooCJQCo1epdnt/VmV2sNGkwWtqCm/mZdQVBGiWCNK2f5+9mj+
+LccPj2lSBTdVMdbQbLh+I\num76HpNvdM9cMxERkR8orRRXMNOo2/Y7xgHxoRicGCZqGzUwCslJ0ZiSEu9
0vrSbzju42MzcH6mk\nY+fKkOfcDWQemJ+CccNjkZQQ5vL43deNxNKFqd7sGnVzDGaIiIg6iS2Yeew343D7
FUOFVeLdpVbJ\n8eL9l+Hff5khtI0ebMng3HXtCKfz6xq652+0P9t6FgDw8KI0vL3cPmekT2xwjx/C5W/mT
uyHp+6e\n2Oa1f6jn4ptCRETUSWzBzKiBUbhlzhCPvsAp5DLRxP8Y6+KNru51MrvcaRFHXzpzsQJrvzvpsr
S0\nu8xmM34+lAcAGD04BuHB9ipef1k0tt19JKLujblZIiKiTtCgM2Dv8UIoFTIEa9q/AOKy28Zg3eZT\nS
B3ienX14f0jcCK7HFl5lRjev20ZIHeYzWa8+fUxXCqpxWN3jINaJcey1TsAACMHRmL0YNf9ao3j\nvJ+QQM
v8mA+euQJqpazZhRqJqOfw6F+B+vp6PProo6iqqoJer8f999+PpKQkPPzwwzCbzYiOjsZL\nL70EhaJrrU5
LRETUVbz51TEAlrLK3lhDY3paH6dqUU/
+djye/98+AJYV6k9kl0PbaGj3s1wpKKvD\nxp3nAQDrNp8SrSdSWavz+L62dXXuvs4+bC4s2P2J5ETk3zwa
Zvbll19iwIABeP/997F69Wo8//zz\nWL16NRYtWoS1a9ciMTER69ev93ZfiYiI/MZW6+r1M9ISfPaMiSN7C
duh1qxGo843w8z+/s5eYfur\nn8+h0WE4W3Vdo8f33X4wD3KZBDPaUNaXiHoOj4KZiIgIVFRYVt6tqqpCRE
QE9u/fj5kzZwIAZsyY\ngd27d3uvl0RERH5GrZQhISYID906xqfP+dey6Vj1x2lQKS2DMRp8FMzkFtWK9n8
5nC9s12nbng0y\nGM148j+7kJVbid7RQW0q60tEPYdHwcyVV16JwsJCpKen44477sCjjz4KrVYrDCuLjIxE
SUmJVztK\nRETU3Z25WAGj0bJyfaPeiMAAhVeGmLWkf3woBieGQ6WUCc91V0V1A77YdhZGNybwD+8fAQAIt
JaX\n3rwnRzhm+8xtUVKtx5GsUgBATjOlmYmIPJozs2HDBsTFxeG///0vTp8+jSeffFJ03NXiVs3JyMjw\n
pAvkZ/geEMD3gOz87V0wmc3420f2TMXyhb1hMJqha6jvsM+an2epnJZ17gIylGWtnl/XYMTKLwoA\nAGUlB
RgzMLDZcytqDTh5oRyxYQoUVVrKP5+8UG5/9qUCZGTUu91Xs9mMr/dUCPt9Y5R+906Q+/h3\nTy3xKJg5eP
Agpk6dCgAYMmQIioqKEBAQAJ1OB6VSiaKiIsTEuFe1JC0tzZMukB/JyMjge0B8D0jg\nj+9CVl4lAHswY1D
FA8hHZERYh31WaVAxsONXxMT2QlrakFbPX/76LmE7Jq430tIGujxPbzDhpkc3\nAgBuu3IktmXk4fAZy+iM
YI0CNfV6REXHIC1tpMvrbYrL6/Ha55m4f34KtmfkobDC8vOaP2sQbrg8\nSahkRj2LP/57QG3XUkDr0TCzv
n374vDhwwCA/Px8aDQaTJ48Gd9//z0AYPPmzUKwQ0RE1JPll9Ti\npwO5orbiCkuWIjJU7eoSn2jrMLPMs6
X2axWyZs/7Ztd5YXtQn3A8uGC0sD8t1VLcwJ11Zv716SEc\nPF2Mu//
+Iz747qTQfsdVwxnIEFGzPMrMLFy4EE888QQWL14Mo9GI5557Dv3798ejjz6KTz/9FPHx\n8bjxxhu93Vci
IqJu5w8vbnVqy8qtBAD0imx+6Ja3qa0FAE5kl7dypkVSQiiy8qoAADX1zZdWPnTa\nPkc2OiwAUql9DtDMs
X3wza7sVufcXCqpFQVPNsP6RbjVVyLquTwKZjQaDf75z386tb/zzjvt7hAR\nEZG/aG4O6Q5rpa+4qI4LZu
IiNQCA4+fL8O6m48grrsWfbklFkMZ11sPkMGe/uq75YKa6XgeZVIIP\nn7vSaRHLAOu+oZUCAH965WeX7U/
/bmKL1xEReTTMjIiIiFq3+0hBi8fjOzCY0agVuGpyPwDA+m1Z\n2Hu8EN/uvgAA2JaRi7uf/xE5BdXC+ecv
VQnbzQUzdVo9SirqERiggEZtXyh7zSMz8daTcyCXWb5m\ntDTMzGg0uVzIMzhAisAALr5NRC1jMENEROQDB
qMJL76/X9R2W7p44n1cBw4zA4AhfcXDtj747iTK\nqrTYsu8iisvrsXLtAQBAYVmd6Lzmgpnn3tmLqloddE
3m4fSJDUZshAYy65CzljIzF4vsZZdvuNxe\nZCBQ3fw8HSIiGwYzREREPqA3iL/A944OxK1zh+KPCy0T5AN
UcmEYVkeZOrq3U9ul0jqhH3UNlgzJ\n+9/aJ+Ar5FJU1TZi7fcn8dvnfkDmWcscmdyiGhw/bynxHBbsekFL
mcwSzLQ0Z+bMRUsJ5iXzUnD3\ndSOFQgUqhW/X3yEi/9Cx/4oSERH1EI4LRT72m3FIHRwNAJg9vi8SYoLRJ
za4w/ukkNt/hzmsXwRO\nXihHxski1Gota8OUVmrx04GLOHCyCAAgkQDBGiXO5lbirLVowaHTxUgZFI0lL/
0k3OueG0a5fJ7K\nWnTgbG4lDEaTMOzMUX6JJQvUv1cIAEBvzfJEhXCIGRG1jpkZIiKiNmrUG/HupuMoq9I
2e47eGsxc\nlhKPKcnxojklQ/tFdPp8kBlplrLJuUW1os/xykeHoG00YOywWHz6/NUor24AAASqLYFJWXWD
aFjZ\noiuHYvzwOJfPCApQ4LKUeBSU1uHMxQoUltU5DWE7ft5SxSzYWn554qheAIDkfhpvfEwi8nMMZoiI\
niNrom1/OY/22LPzt7b3NnmM0WoZWucpGdKanfzcRd1w1DIMTwwEA+04UorCs3um8IX3DRdXJrpjU\nDwBQ
UFKH1z7PBGAZOrdwdssLcCYnRQGwLIp5zwtbcM8LW4Rjm345jzMXLRkfjTVYWrogFa/86XL0\njXE9dI2Iy
FHX+heWiIioG7ANyzqfXyVqr2/Qw2w2Q6c34o0vjwDoesHM2GGxmD9rsGjImSu2Smu2\n+TC2TNLpixXCIq
ADE8JafV50uCXD8qo1AHJ0JMu+tkxooP05SX1avy8REcBghoiIqE20jQZ8tvUs\nAECpsFfcOnymGAuf/Ba
b9+Tg6x3nsOdYIQDgUmltp/SzNQp589XCIkPVSB0SAwC476ZkDEkMx7TU\nBKfz7p+X0upzBvYOBQA06uxD
04wmM9786ih+PVoAuUyCr1deJ1psk4jIXSwAQERE1AZrHDIMOr0R\nf39nL4b0DRcqgH294xzyiu0BzIns8
g7vozuaZozkMikS44LxzD0TER6sFtonJ8djcnK80/VXT+kv\nmgfUnPAQNXpHBwoT/QHL+jQbdp4HAEilUg
YyROQxBjNERERtcMxajthm7/FC7D1eKOw7BjIAEBWq\nRlfUdJhZXKQGq/88vcVrhvQNx+mcCtx+xVBcaZ1
D446Hbh2DnMIa7DpyCQdPFYuyVU3XqCEiagsG\nM0RERG1QW+96AcnmvPzHaT7qSfsEqMVfAQb2bn2eyov3
XwaTySwaXueOIX0jMKRvBHKLanDwVLGw\ntgxgCaKIiDzFOTNEREQu1Gr1ePrNX3HsXKmoXa20BwGTk3u1e
I9PX7gakaEBPulfe6kUMlxzWX8A\nwB1XDcOSecmtXiOXSdscyDgKshYROGutYJYyKArP/X6yx/cjImIwQ0
RE5MLJ7DIcPFWMx9fsgt5g\nHwo1YmAkAOD//jStxUpli64cigBV1x4A8fsbk/HJ81dh/qzBbs1/aS9bMLP
9YB4AYP6swYiLDPT5\nc4nIfzGYISIicsFgXScGALJyLSWYdXojLpVY5nv0jg5qMZhJjA3xbQe9pCOCGJuw
YPH8of7xoR32\nbCLyTwxmiIiIXHCcmF5d1wgAeGLNLmRfqoZUKkGASg5ZC1W4hvWL8Hkfu5uxw2MRG2GfI
xMSqOzE\n3hCRP2AwQ0
RE5IJjMFNe3QDAsmAkAIzoHwmJRNJiZiY0iF/Um1IpZPjrXRMgkQA3z0jq7O4QkR/o\n2oN5iYiIOkmDwyK
PG385LyplHBFiGS5lMJqavV4i4doprvTtFYKPnrsKGjW/ghBR+/FfEiIiIgcf\n/XAaYUFK/Hq0QGjLLarF
6k8OC/sSa1xjW1MmKECBW9KHYNywWPz+xa0d2t/uKDCg4+bpEJF/YzBD\nRERk9dIHB7DzcL6o7b6bk/Gf9
UdEbVJr1sW2+OPU0b1x/bSBAICP/n5VB/SUiIgAzpkhIiICAOgN\nRqdAJqlPGApK60RtESFqzJs5CIBlZf
s+sUFYMHuwcDwoQCGUICYiIt9iZoaIiAhAndYAABjUJwxn\ncy2LOv5xYSqycitE57339FxhO21oLNKGxnZ
cJ4mISITBDBEREYD1284CAM7mVmLZbWOgVsnRr1cI\n+sYFi+bLEBFR18FghoiICMCFgmoAlvVhpqf1EdpZ
lYyIqOvinBkiIiIAvaICAVgm/Dc1enB0R3eH\niIjcwGCGiIgI9kUyA1TOgxaiQgMA2NeXISKiroHDzIiIq
EfTG0z496eHsC0jD4BllfqmNAGW/y61\njfoO7RsREbWMmRkiIupRGvVGYX4MAHy3O1sIZABA6SKYCVRbSi
1rG42+7yAREbmNwQwREfUYmWdK\nMO+xTXjw5W3IK64BAOQU1ojOUbsYZjakbzgAYPzwON93koiI3MZghoi
IeoxVH2YI23965WfkFFbj\nh705AACpVIIH5qdAJnWuXpY2NBYvLJmCvyxK67C+EhFR6zhnhoiIeozwEDUq
ahoRHR6AkgotHli5\nTTj21UvXtliGedTAqI7oIhERtQEzM0RE1COYzWacz6+CTCrBg/NHi471igrkejJER
N0QgxkiIuoR\nNu+xDCczmswY0jccYUEq4didVw/vrG4REVE7cJgZERH1CJ9tPQMAWDIvBRq1Av95dCYOnS
lBXlEN\nJo3q1cm9IyIiTzCYISIiv2c2m1FcocXgxDBcOakfACBIo8TU0b07t2NERNQuHGZGRESd4qPNp/D
3\nd/bCbDb7/FlnLlZY/6z0+bOIiKjjMDNDREQdrqq2ER/
+cBoAoDeYXC5U6S06vRHLX98NAAgMUPjs\nOURE1PGYmSEiog733jcnhO36BoNPn/Xm18fQoDMCAP69bIZP
n0VERB2LmRkiIvK5o+dK8X8fHkRC\ndBDyimtQUdMoHKtv1CMsWNXC1Z55d9NxlFU1YPvBPABAUIAC0eEBX
n8OERF1HgYzRETkU9szcrHq\nw4MAgNJKrdNxX2Vm1m/LErZHDIjEX+
+a4JPnEBFR52EwQ0REPpGVV4kvt2XhtHXyfXO0PghmLhRU\ni/bvvWEU58sQEfkhBjNEROR19Q16PPTKz80
eT06KglIhw4GTRaioafD68x97dadoPy5S4/VnEBFR\n52MBACIi8rrCsnrR/pghMcK8mPQJffH8fVOQPiER
APD1jnMwGk0A0KYyzUajCS+8u09YDBMAcotq\ncPfzP6KuSbYnQMXf3RER+SP+605ERF5V36DHo00yI5NG9
cKxc6UAAI3a8l/P+BG90K9XCM5crMQN\nj2wEAKiVMvzp+thWn1FSocVdf/8BAPDr0QLMnzUYeoMRS176ye
nc1x+bBYlE0q7PREREXRMzM0RE\n5FXHzpcJpZABIG1oDOZO7It7bxwFAJg9zpKRkUkl+MNNyaJrG3RGfL3
H9RwbvcGI8/lVMJvNWPHB\nftGxOq0eX/18TtS2culUfPnStegdHdTuz0RERF0TMzNERORVjhXL/vv4bPSK
CgQAzJ3YD3Mn9hOd\nO2JAJN56cg6qahvxyL93wmgyo6RK73RPg9GEmx7d1Owzs/IqsemXbADA8P4RWHTFM
AztG+GFT0NE\nRF0ZMzNEROSR4+fLsO94oaitvkGP73ZfAAA8/buJQiDTktgIDQYnhmP9imsRHR4AvdEs3O
vng3nI\nyqvEt7uzW7zHvz45hPJqSyGBF+
+/DKOSojz4RERE1N0wM0NERG1mNpvx2Gu/AAA2vHwd9AYTlAoZ\nFj75rXCObW6Mu2RSCZRyKeq1ZjQ0GoR
7BarluHbqQADArelD8NEPp4Vrfnf9SLz19TEUV1iyQXPG\nJ3J+DBFRD8LMDBERtdlR62R+APj+1wu4+bFN
OH6+THROVFhAm+9bVatDXYMJheX2amh1DQY06i1z\ncMYOi8WIAZEAgKSEUAzrZx9KFqxRYOnC1DY/k4iIu
i9mZoiIqM0+33pW2F6z/ggACJkaAHjsjnGI\nCW/72i61Wr3TvQCgtl4HAFApZXjhvikoKKtD7+gg5BbVCO
fERbY+pI2IiPyLx8HMhg0b8Pbbb0Mu\nl2Pp0qUYMmQIHn74YZjNZkRHR+Oll16CQsHVlomI/I3JZMaxJlk
YR/fPS8GUlPh2PaNOq4dUAqQM\nisahMyX4cd9FAIBKIYNUKhEqlKmV9v/GhvePbNcziYio+/FomFllZSVe
e+01fPzxx3jjjTewdetW\nrPoLMMMAACAASURBVF69GosXL8batWuRmJiI9evXe7uvRETUBdTU66A3mFweG
zssFldM6ufxvb9a\neZ2wbTI7D1VTKWSi/YhQtbA9fUyCx88lIqLuyaNgZvfu3ZgyZQoCAgIQFRWFv/3tb9
i3bx9mzJgB\nAJgxYwZ2797t1Y4SEVHXUF1nGfI1aVQvoe3t5XPwyfNX4am7J7Tr3jKpBH1jlMK+WmXPvGj
UcgRp\nlE7nP/6bcVgwezAGJoS269lERNT9eDTMLD8/H1qtFvfddx9qampw//33o6GhQRhWFhkZiZKSEq92
\nlIiIuoYlL/0EAIgMUWPts1egrkHv0fyY5kwYHISc4nIAwPxZgxAVGoA5ExKhUSsgkzpXKpucHI/J\nye0
b1kZERN2TR8GM2WwWhprl5+fjjjvugNlsFh13V0ZGhiddID/D94AAvgddXXGVHt/srxD2L+YX\nIeu0ZcJ+
QY73njOglxoRQXJMGR6E82eOo28IcObkUe89gLoN/ptAAN8DaplHwUxUVBRSU1MhlUrR\np08fBAYGQi6XQ
6fTQalUoqioCDExMW7dKy0tzZMukB/JyMjge0B8D7owvcGEf396CNsyikTtt18z\nxieT7jMyMvDes1d7/b
7UvfDfBAL4HpBFSwGtR3NmpkyZgr1798JsNqOiogL19fWYNGkSvv/
+ewDA\n5s2bMXXqVM96S0REXcqpC+XYlpEnartt7lBWDyMiok7nUWYmNjYWc+fOxYIFCyCRSPDUU09h5MiR
\neOSRR/Dpp58iPj4eN954o7f7SkREneBcfpVo/48LR2Pm2MRO6g0REZGdx+vMLFiwAAsWLBC1vfPO\nO+3
uEBERdS6z2QyzGTCZzZDLpMi+ZA9mpBJg9vi+ndg7IiIiO4+DGSIi6vrMZjMkEucKYC1548uj\n+GZXNgDg
iTvHo6xKKxxbMm+0V/tHRETUHgxmiIj8kNlsxvd7crDm80wAwBcrroFCLmvlKgtbIAMA\nL7y7T9jeuOp67
3aSiIionTwqAEBERF3bhp3nhUAGAC4UVMNoci6b/
+pnh/HR5lPCvt5g6pD+ERER\neQMzM0REfui73RdE+3/+5w6MHhyN534/WWgzGk3YvMeyQIxEKsEtc4aguq
7R5f36xgX7rK9ERESe\nYmaGiMjP6A0m5JfUOrUfPlOCLfsuCvuOw8lswc/pnIqmlwEAXnloulf7SERE5A0
MZoiI/MyZi5aA\npE9sEBbMHiw6tvqTQ8L2/zadELYb9UYAwP4TloUxX3pgKt59Kh0AMGZoDBRy/ndBRERd
D4eZERH5\nEb3BhMde+wUAsGDWYAztF4FPt5xxea5cJoHBaAl6cotqodMbUVxRDwAYlBgGuUyKd5anIyRI2
WH9\nJyIiagv+qo2IyE+YzWa8vO6AsD+8fyQ0aoWwn5QQConEcl5JhRYNOiPkMgnCgtQAgLO5laiu00Gj\n
lkMus/z3EB0eAJXCvSpoREREHY3BDBGRnyip0GL3kQIAQMqgKMREaKBR2xPwoUEqmM1ARU0j7nnh\nRwBAg
EqBCSPjAACVNY2oqdchWMNMDBERdQ8MZoiI/MQbXx4Vtp+4czwACBkWwF52+TfP/n979xkY\nZZW/ffw76b
03EhJa6IQivYQSwYoUC+uuyiNrWbu4u8qu7Fr3b0FZZBfL4uJaUOwiKogiRaTX0KUE\nQkmH9ISUmXleDJk
wJIH0yYTr82rmnvu+50w4JLlyzvmd5dYyzTcndCYyxBuAHzYlk19Yiq9X5WiO\niIhIS6Y1MyIiDi45LY/9
R8+weV8aAFcPaWczvWzqdd3x8XTl4x9/rXKtp7szV3QLp0tMANt/zQDQ\nyIyIiDgMhRkREQdWbjTx0Curr
M+jQr257epuNufccqWlolnn6EAee22NzWs+nm44OxmICffj4PEc\nAHy9FWZERMQxaJqZiIgDe3r+Bpvnk0
fHEujnUe25sdEBNs97dQpmYI9wwBKKKvhpZEZERByEwoyI\niIMqN5rYdTgLsFQqu6JrGPF9o2p1bY8OQfz
ffcPxcLcM0HeI9LO+1qdLaOM3VkREpAlompmIiIPa\ncK5yWWx0AHOmj6rVNe3b+HEsNY8bR8fi5GSwHp84
shNurs6M7h+Nj6cKAIiIiGNQmBERcUBl5Ub+\nuWg7bi5OPH5b/1pf99wfhrLj1wwG9YywOe7s7MT4ER0bu
5kiIiJNSmFGRMSBFBaXUVpu5K0vd1Fu\nNBEd7ktkqE+trw/09SBhQEwTtlBERKT5KMyIiLRg36xNYv7i3b
z1lyuJCvXh4dmryMwups25vWFu\nu6bbJe4gIiLSeinMiIi0YPMXWzbC/CXxFGYzZGYXA5CaVUhUqA/De0f
as3kiIiJ2pWpmIiLNoOhs\nGYdP5mA0mjCZzHW+vqzMxHfrjtocMxhqOFlEROQyoZEZEZFm8MS/15Kclg9A
n84hzJg6EN9z+7kY\njSY27k2jbagP7dpYSiQXFJXy3tL91us/WXEQgDH927L7yGmycorpEhPYzJ9CRESkZ
VGYERFpBhVB\nBiDxUBa/
+/syvpk9EZPJzJNvrmPf0TN0jPJn7h9Hk5yWx0OvrKr2PlOv64G/jxs/bEzmyoFayC8i\nIpc3hRkRuaift
hwnJsKXztEaBaiv07nFNb6WdrqQfUfPAJB0Kpd1iSms35VS7bk9OwYTEuAJwPUq\noywiIqI1MyJSsw27U3
nt4x3M+mCrvZvi0FKyCq2Pp43vQWx0AAAFxWX84aWfbM596f0t/LzzVJV7\ndI4O4Ll7hzZtQ0VERByMwoy
I1GjXoUwA0k4X2RwvLTNy+GSOPZrkkJ58Yx0A0eG+3DimM5HBlrLK\nv/3bUus5t19btcTy338/GIAX7h/O
P6ePws3VuRlaKyIi4jgUZkSkRmVGEwBOTrZlsxYs2cNjc9Zw\n/8s/YTbXvTLXhUrKjKzfn8+
+o6cbfK+WpqC4zPq4pLQcAG8vV5tzYqMD+M3Yrpz/ZV7wt3EM6hnB\n169MIC42pFnaKiIi4mgUZkSkRuXn
wsyFpYTX704F4GRGAXMWbSczu5jcgpJ6v8+G3an8sCOXGfN+\nqX9jW6gDx85YHz97bppYQv9o67EJ8R159
eF4ACaNirWcd89QwgK9gKpBUkRERCqpAICI1MhoNJ/3\n2ISzs+XvHyH+HuTkW8LLqm0nWbXtJADfzJ5Yq/
uWlBnJKyjl7a938/sbepKZXTmNrdxowsW59fyd\nZffhLAD+8YdhtA3zBaBb+yDr6zERftav6x3Xdef64R0
IC/Jq/oaKiIg4IIUZEalRxTQzgElPfMO4\nQTGEBnpx+GRuve+5+3AWT765jgBfd3LySziZkU9cp8ppVAVF
ZQT4ujeo3S3JmbyzALQJ9bY5Ht83\nirU7TxHb1t96zMXZSUFGRESkDhRmRKRGxvPCDMCPm483+J6rtp0As
I7sZOWc5XTuWevr+UWlrSrM\n5BeVAuB3boPMCn+YHMfEkR3p1DbAHs0SERFpFVrPXA4RB2EymSkrN9q7GZ
dkNpvZuCetxtcDfOoX\nOAL9PGyeF5eU2+zDUlBUduEljaqgqJQZ89ay82BGk75P5fuV4eLshLubbSUyfx9
3urYLquEqERER\nqQ2FGZFm9v7Sfdw441vSThde+mQ7ysypDBj3TOxV5fX4flH8ZmwXm2MXFgqojodb1fLC
509byy2s\nfyGB2vglMYV9R8/w9/9saLL3KCwu4/89u5xPVxwkr6gUXy9XDAYt5BcREWlsCjMizeyLVYcB2
JvU\nsssQny0ptz4eP6IjT989hD6dK9e2hPh7MKhnhM01pWWXHnEqKb34ORnZRRd9vaGKzjbtyA/AtOd/\n
4EzeWT5Ytp/UrEL8vN0ufZGIiIjUmcKMiJ04t/CKXWfPhY4rB0bj5GRgQPdw/nHfcOvrwf6edIkJ\nZNygG
Oux4tLyKvep6b41eXvxHsrKTRc9pyH2n1cq+WKBsjajTNU5nVtMcYnt12Fgj4gazhYREZGG\naNm/TYm0Yo
XFTTdCYDSa+Gj5Ab77JYnf/m0pL72/pVbXmUxmktPyMJvN/JKYAkB4kHe154YEeAJw\nz6Q467GzJZcemTl
7XuD5zdguPHfvUF55OJ4Hrg+3Hl/0w4FatbeuzGazTZj5y+vV72vzzdokJj6+\npF5TAZPT8qscu2lMbJ3v
IyIiIpemMCPSjMzmyr/2b92f3mTv8+vxbBb98CtvfbWbguIy1iWmsGlP\nqvX14pJydh3OrFKIYPGaIzz0y
iomP/ENX622TIcLD/K0OcffxzJlKibCsmeKp7sLE0Z2BGoX0M6f\nZjZpdCz9uobRrX0QYf6u3DquKwCf/X
SI5NQ81u1KwWw22wSghvhw+QFyC0qJCvWxHvv7W+tJO13I\npysOcjTFsnZn/uLdAOw5klWn+5tMZk5mWMK
Mj6crb85I4JvZE/Hx0jQzERGRpqDSzCLNKCunsgTx\nkZM5bNyTSlynELw9XRv1fd5ZsrfKsS9WHWZwrzaU
lZuY8uR3AAzpFcHMaYOt52zeZ6leZjxvilX/\nbuE29/nno6PIKyzF97xf0P29LZXNLrV4Pzv/LKu3WzbYX
PjsNfhc8LnbhFTusfLQq6tsXnv/6aur\nVEKrq09+PHjufbw5lVkAwM5Dmfxp7s/kFZbywbL9NqMotf13KS
guY822E3z600HO5Fm+Bs/eO9S6\nSaaIiIg0DYUZkWY04/W11sfZ+SX83/82c+3Q9jxwc59Ge4+UzAJ+PZ5
d5XhGdhE/bTmO/3kllc+v\nIvbZTwerrCEJ8vOwOR8gLMirysaOFaM1uQWlF23bH1/72frYy6Pqtx93t5q/
JZ3KLGhQmDk/oF1Y\nJjmvsLLdFQUagGrX7pzJO4uXhwse59qanX+WVxduY9dh21GcyPNGf0RERKRpKMyIN
BOz2UxmdnGV\n48s2HOMPN/bG2alxSveu3XmqyrEuMQEcPJ7Dax/vsDmedV755feX7q9y3d3VlGSujl/FyE
zBxUdm\nzn8/l2oKILi51DzztaFFAVLOjcQATL22Ow/c1Ifbnlp20WsufM+UzAL+8NJPdG0XyL2T4jiakse
8\nz3ZWuc7P263KqJOIiIg0Pq2ZEWkmJ9IrF4bfNznO5rUVm4832vssWZsEwLzHx+Dr5cqA7uEXHSVY\ns/
2kTRnm81W3J0x1KkdmKsNMdv5ZEg9m1lhqubp9Vy6sAna+2qybKTpbVmPoOZaaB1gCWmSoD37e\nbsx6KN7
6uqd75WeNCLaMPL328Q6OpuSyN+k0KZkF/LApGYBfk7P509yfbYJMRLAXM6YO4O6JvXjq\nrsqpeyIiItJ0
NDIj0sROpOfz7S9JBPlbpkjdeX0PrugWDuy2nvPLzlNcPaRdg99r6/5065Sp8CAv\nPnr+OgA+WFZ11KXCq
x9us5nm1jHKn6RTluln5cbajYZUTEX7YtVhnJ2duOPa7jZTr76ZPRFjLe4V\nHW67xuSb2RNZsfk4cz/Zwc
mMghqusuyJM/OtdRw8nkNsW3/mPDa6yjl554JWkG/lVLXuHYKYNKoT\ni9cc4em7h3K2tBxPdxey80t46T1
LBbgX3t1M2ulL731TWmZiRJ+oS54nIiIijUdhRqQJfPbTQT78\n/gBjB8Ww49cMMs6bXjYkrg0RwV48dEsf
2ob5Mn/xbnYeyuSBWSv52+8HERlS/7UWm/daFvBfOTDa\nuqYDKsson+
+2a7rx4feWEshvfJ5oPR7XKYQhvdrw0fIDdI4OrNX7+p+3KeSnKw5y67iuVdaQXGzU\npUKHSH/enJHAZz8
dYkz/tgAM6hmBl4cL7y/dz9iBMVXWzRxNyeXFd7eQeq6M8uGTuTz6z9W88nA8\nbq6Voy1vfWUJj26utgPS
08b35PrhHYgIrixBfSbvLK4uTpSVm2oVZNxcnXnolsZb9yQiIiK1o2lm\nIo2s6GwZ7y/dj9FkZvnGZJsgE
+DrTmSINwaDgauHtKdnx2D6dg4FLCM4f39rfYPe+0yepVratPE9\nbY53bx+Eu5uzTagZ2qtNtfe4ekg7bh
3Xha9m3VBtCKqOp4ft+pAbZ3xj8/yTFb/y3bqjtbpX2zBf\nHvvtFfTtEgZY1p8MOdfWqc8utzn3RHo+j8x
ebQ0yFZJO5TJ9zupq7192wQiRk5PBJsiApfDB5y+O\nr/b6h6f05R/3DbOWpgZ47+mrtTGmiIiIHSjMiDSy
itLD1fH1cq2yViTQr7JaWEY1BQIu5ZfEU/zx\ntTUUFJdx5GQOAT7u+Hnb7mvSvo0fn/zf9SyYOY6QAE96d
QqmXRs/RvVraz1n/IgOfPbi9USH+2Iw\nGKpdoF+TSxUvWLjsAAu/r9wIc/qt/Wp9b4Bu7aofIXpg1soarz
mRXkDGmSLSTheSmlWI67niAkNq\nCHEXcnIy2JSfrjCsdyR9OodyzZD21mPe1VRmExERkaann8AijWz9rpQ
aX6surASct4ajupGQjDNF\n+Pu64+5adTF+SmYBL7+/FYAfNh4jp6CETm0Dql1cXxE4/vf3q6zHbr2qC2t2
WMLXsLhIm6lpTeWW\nKztz5cCYOl0z6oq2vPHFLsBSFc5gMNiUWq7QLsKX5LTKQgv/XbKHTXvTMJnMRIV6k
1NQWqeQNu/x\nMazedgI/b3fmfmKpBFdRpWzMgGg27E7Fp5qAKiIiIs1DYUakkZ3KKCA00JNbx3Xl359aql
1NiO/I\nii3HeeCmqusqRvaNYs+RLJZvTKZfl1Cb15LT8njolVVEhfoQEuBBeJA3D0/pa339Dy/9ZH38v2/
3\nAVQ7mlCTtmG+vPDAcNYlptC1htGPxubtUfeSxV4ergzsEc6Wfel8tfoIN46JpaSa6mZ/uq0/j8xe\nbX
2+YXeq9fGpzMIq519KkJ8HN47pDEDXdoE2AcrH05UXHhhe53uKiIhI41GYEWkEC7/fT/rpIh75\nTT9O552
lR4dgrhrcjnGDYjh0IofO0QHcMymu2mudnAxMubILyzcmV6ke9v2GY4Blw0jLjvVZPHBz\nH5ydDGTnn632
fsH+ddtYMq5TCHGdQup0TUMM7V27aV4XCjq38P9/3+5l8uhOlJQaq5wTc0E1tMZ0\nYaU1ERERsT+FGZEGM
pvNfPLjQaByvUxkiGVBucFgoEvMpUc8XM6t5yg3Vv7lv7TMaA0z58vOO8vR\nlFxWb6tcmxPo6052vqX0cP
9u4fX6HM2lvtXa4jqFsHyjZZ+XpFO5eF+wKeX0W/vh7OzEndf3ICTA\nEyeDgVkLt9qcExVqu9BfREREHFu
DwkxJSQnjx4/nwQcfZMiQITz++OOYzWZCQ0OZNWsWrq7aAVta\nv+o2vOwcHVCne1SsZ1m78xSP3
toPd1dncvJLbMJNhczsYp5bsMn6/Om7hzCgezgmk5kyo6natTWt\nweBeldXCps9Zw10TelmfJwyItq7DuS
nBMi0s8WCmzfX9u4Xx1zsHNUNLRUREpLk0qJrZG2+8QUCA\n5Ze2uXPncscdd7Bw4UJiYmL44osvGqWBIi3
Z6dxi/vXpzirHLxw1uJSKSltgWedRWmYk/Yxlf5Or\nh7TjzRkJTBrVCYBnF2y0ubZXp2DAMl2tpQWZG0fH
MuexUUwc2anB9/Jwc7HZWHTBkj0ADOkVwWO/\nvaLK+X4+lWuH3pyRwDP3DG1xXx8RERFpmHqHmaSkJI4eP
cqoUaMwm81s2bKFMWPGADBmzBjWr2/Y\nfhkiLVVxSTkz5q3lnhd+tJnq9cffXcFt13Sja7tA4mLrtgbl/D
CzcNl+bvrLtzz55joAwoO8aBvm\ny+grLGWUC4vLbK5tjgpk9eXq6kRs2wBuv7Zbo9yvuhLQbcOqX8sSeq4
yXGxb/xrPEREREcdW79+C\nZs2axVNPPcWXX34JQHFxsXVaWXBwMJmZmRe7XMRhbdidyr6jZwB49ztLBbFn
7x3KFV0tmzzeOq5r\nne/p6uLMuEEx/Lj5uHVEpkJFdbIOkf5VrqtYm9NSFZdYKo65uTjj5GRgcM+GbSyZM
CCapeuP2Ryr\n2Cj0Qj5ebrz71FX4+7hX+7qIiIg4vnqNzCxevJiBAwcSGRlZ7etmc9V5/iKthYdb1alKjV
FF6/wp\nVNb7RvgyrLfl/9mFYeDLl2/gzRlXNvh9G8tLD46ocuxkRgFgaftXL9/Akw1cs9K1XZB1hKrCLVd
2\nrvH8YH/POu0rIyIiIo6lXiMza9as4eTJk/zwww+kp6fj6uqKl5cXpaWluLm5kZ6eTlhYWK3utW3b\ntv
o0QVoZR+oHB45W3a/k2OG9JDdw48Tsgqr7piT09ODQgd3W50NjYdNey+NdiTsa9H5NIdDHmeyC\nypLJuTm
5dfq3rc255tJc6+MeMZ6knzhI+om6tVNaPkf6niBNR/1AQP1ALq5eYWbOnDnWx/PmzaNt\n27Zs376d77//
ngkTJrB8+XLi4+Nrda/
+/fvXpwnSimzbts2h+kFm6TEgm4en9CUls4AJIztZ90Bp\niOKScuYu+c7mWFyv7jalncuNJhb8+D0De0TQ
v3/VRe/2NuRYIsvWH2Pa+B5kZhczeXQsYUFetbq2\ntv2ga/dScN3N0Lg2DOwRjpsW9bc6jvY9QZqG+oGA+
oFYXCzQNtrK4UceeYQnnniCTz/9lMjISCZP\nntxYtxZpUUrKLCMPvl6u3Dm+Z6Pdt7rpa+cXBgBwcXbio+
eva7T3bGx3T+jF8LhIesWGVLtYvzH4\neLnx59v1g01EREQaIcw89NBD1sfvvPNOQ28n0qhMJjMrt57Ay8P
FuvYEYPuvGRQUlTKyX+X6iwPJ\nZ3j8X2uZOLITd0/sVd3tADhbapkO5t7IVcQMBgNvPJFAaZmR6XPWADjc
qIObqzN9uoTauxkiIiJy\nmWi5NV1FGsH7S/fxxarDACyedQPOzk7MWbSdlVstiyzi+0ZhMBgoKTPy+L/WA
vD1z0e49aqu+NSw\nV0xJqWVkpin2LIkO98VoqiygUd1ojYiIiIhYKMxIq7brcJb1cXZ+CT5ertYgA/C7vy
/jd1d3Y+Oe\nVJvrcvLP1hhmPvvpEADuTRQ0nJ0MTIjvSGZOcaOsxRERERFprRRmpNUym83W0sAA2w6kM+
+zRJtz\nCorLmL+4slrY1UPasXxjMjn5JZfcaNFkaroS5PdMimuye4uIiIi0FtqAQVqtL1cdtm7aCNgEmZo
2\nb2wX4QdATkHJJe/fKarqJpYiIiIi0nwUZqTVMZnM7D6SxYotxwGYNr4HbhdUBRt13sL/8zddDPC1\n7B
afk1/CS+9t4S+v/wLAht2pHD6ZA4CPpyvtInxx1maMIiIiInalaWbS6mw7kM5zCzYBEBHsxY1j\nOtO/ezj
PL9jE2dJyhveOZHifSO4p6EV83ygCfT1wdXGmU5Q/nu6W/xI5+SWs25UCQNKpXF54dzMA\nAT7uFBSX0a6N
n30+nIiIiIhYKcxIq1FQXEZJaTkvvrfFeqxi2li7CD/
+O3OczfkT4jtZH//2qq4A\nnEjPByylmyts2ptmfVwx/Sw0wLORWy8iIiIidaUwI62C0Wji/pd+slnr4u/j
xm/GdanTfSqmmR06\nkWM99tXqQ1XOu+2abvVsqYiIiIg0FoUZaRVyC0urLNqf/egowoO86nQfH09X/H3cy
C0otR4rLjHa\nnLP4lQlNtru9iIiIiNSewoy0Cr8mn7F5HuTnXq89WgwGA/F9ovh23dEqr81+dCSd2gYoyI
iIiIi0\nEAoz0iosW38MgHl/HkN0uC9mqHfouHFMZ3YdyeL+G3vz1zfWWY93iQlshJaKiIiISGNRbVlpFc7
k\nncXbw4V2bfxwcjI0aPQkNNCT1x9PoFenEN6ckUCArzvz/zq2EVsrIiIiIo1BIzPiEMxmMwZD9QFl\nx6
8ZJKfl49QE07/ahvnywTPXNPp9RURERKThNDIjLd78xbv5zcylbNyTWuU1s9nMPxdtB2BCfMfm\nbpqIiIi
I2JHCjLRoW/en883aJIpLyvnw+wM2r5lMZg6dyCEnv4SoUB/uHN/TTq0UEREREXvQNDNp\nMT5feYiUzAJu
vrIz4YFe/Ho8m3+8swknA5jMlRtWmkxm9iRl8ff/bMBkMgNwzdB2qjImIiIicplR\nmBG7OZGeT0Z2EUaTm
Rnz1rLvqKW88o+bj+Pm6kxpmWV/l4E9wikoKuPX49ms2JzMW1/tpqTUdu+X\nkf3aNnv7RURERMS+FGakWe
UXleLm6sxH3x/gy9WHAQgPcCU9p8zmvIog4+bixF+mDuS+l3/CZDIz\n95OdNuf96bb+dI0JrNeeMiIiIiL
i2BRmpNmczMjn/pdXVjleEWR6x4aw/9gZyspNGAzw1F1D6BIT\niJurM5nZxVWuGz+8A6Ov0IiMiIiIyOVK
BQCk2Wzem27z3GCAuyf2wmCAkf2iePbeofToEASAj6cb\nA7qH4+ftBsCz9wytcr9Jo2ObvtEiIiIi0mJpZ
EaaTeLhTOvjh27pw1WD22EwGIj0zGbgwAEAxET4\nkXgoi4kjbcssX9EtjE5t/TlyMpep13UnYUA0wf6ezd
p+EREREWlZFGakSZ0tLWfR8l/x9XZj16FM\nYiJ8mffnMTYbYJ6/2eW08T0YNyiG9m38qtzr6buGkJlTTJe
YwGZpu4iIiIi0bAoz0mROZRZw30s/\n2Ry749ruNkHmQq4uznSI9K/2tUA/DwK10F9EREREzlGYkQZLO13I
7A+3EejnwYbdqfTsGMyoflG8\n8cWuKucO6dXGDi0UERERkdZIYUYabO3OUxxIzrY+35t0mr1Jp63Pp17Xn
feX7ufmhM72aJ6IiIiI\ntFIKM9JgF25geb75fx1LRLAXVw1uh4+nazO2SkRERERaO4UZabCjKXk2z+
+e2It1iSlMv7UfbUK8\nAfD3cbdH00RERESkFVOYkQY5cjKHzfvSCPLzIMDHnWuHteeaoe2ZOLKTvZsmIiI
iIq2cwozUi8lk\n5pWFW/klMQWAO67txthB7ezcKhERERG5nDjZuwHimLJyi61BBmBEnyg7tkZERERELkcK
M1IvyamV\n62TeeCIBD3cN8omIiIhI89JvoFInyal5pGQV8MK7WwCYOW0Q0eG+dm6ViIiIiFyOFGakTh563
vpi\nRQAAFnpJREFUdZXNc22CKSIiIiL2omlmUmub96XZPH/0N33t1BIREREREYUZqaUDyWd4fsEm6/Ou\n
7QIZ3T/aji0SERERkcudppm1QFk5xTz5xjpSTxcyoHs4T989xC7tKC4pZ/nGYyQMiOGF/222Hp8x\ndYCql
4mIiIiI3SnMtBC7Dmfy9PyNTLuhB28v3mM9vnV/Ove9tII3Z1yJwWCo9lqj0YSzc+UgW0mZ\nkecXbOSKru
HcOCa2zm1ZufUEJpOZvMIS/vftPhYs2WvzutbJiIiIiEhLoDDTDNJOF/LTlhOUlRv5\nfsMxHry5L/H9LCM
bZeUmPv7xV37clEy50WQNMuFBXrQJ8WbnwUxOZRbyw6Zkrh7SnrJyEyWl5fh4\nuQGQnJbH4//6manX9WD8
iI4ALFt/lMRDWSQeyqp1mDGZzBSVlLNxdypzP9lR7Tm+Xq689thoXJw1\nO1FERERE7E9hphk8t2ATJ9Lzr
c9f+2QHg3pF4O7qzA+bkvl0xcEq19w1oSdD4yJ555u9fLX6MPM+\nSyQ1q5BtBzI4lppHRLAXj/32CmbM+w
WA/3y1mwVL9vDyQ/E2IykrNh9n7KCYS7bx/aX7+GLV4Yue\ns/DZa3Fyqn50SERERESkuSnMNIOzpeU2z0v
LjNz8l2+ZMXUASadyrcednAyEBnhyRdcw61Su39/Q\nk7IyI9+uO2oTNtJOF1mDTIVyo5k/zf3Z5tgHy/YR
3y8Kd1fnGtu3+0hWjUEm2N+DuX+0jMYoyIiI\niIhIS6L5QtXYvC+Nx//1M0Vny+p9jy9XHWL2h9s4mpJLZ
nYxAN3bB9mc8/L7W/lhUzIAfTqHMPeP\no/nvzHE8cHMfm/Uxf7ixN3P/OLrG97prQq8qx954IoEJ8R05k1
fC65/t5HRuMbkFJRQUlVrPOXDs\nDDPmreXJN9ZZj4UGevLKI/HW5y8+MAJ/H3e8PV3r9gUQEREREWliDjE
y8+mKg6zceoJXH4m3rhVp\nShUliD9dcZA7x/cEIDWrkDc+T+TQyRzuntCLsYNiSM0qJMDXHU932y/j1v3p
/O/bfQCs3n4SsIy6\nvPzQCArPlrN49WHW7jxFSlYhAP/v+h7cnND5om3qGOXPN7MncvhEDm3DfDA4GSgoK
iXIzwODwcC4\nQTG8990+Nu5J5a2/XImXhytTxnbhm1+SWLXtJKu2nbTe6+oh7fB0d+GnLcfJL6oMbNcMbc
+DN/cB\nYOGz11BWbiIkwLMhX0oRERERkSbT4sNMRnYRHyzbD0BSSi69Y0Ob7b2/WHWYcqOZoXFtmPXBFs7
k\nlQAw95MdODkZmLNoO9cObc/vJ/Tk9c8TuWlMZ9qG+fDsfzdWudeHz12LwWDAx9OV26/tzm/GdeXd\n7/
ZyIi2fyaM61bpNsdEB1sfu/pVBw9vTlftu7M09k+JwdbEMuPn7uGM2V73H8o3J1d7bzbVyoM7f\nx73WbRI
RERERsYcWGWaMRhNf/3yEPp1Defe7fdbj3607SpeYQDzcmq/ZX/98hK9/PlLl+JxF2wFY\ntuEYEcFerN52
ktXbTnJDfMcq5z5xxwB8Lpim5erixD0T4xq1rU5OhirrWh66pS/zPtsJgIuzgXKj\nbboJDfRkSK82pJ8uu
uTokIiIiIhIS9KiwkxhcRmvfriNrfvTq319/a5UYtsmccuVXZq0HdHhPpxI\nL6j1+RVTygC+WZsEwHXD2n
PLlV0I8vOw68L5q4e0Y0D3MPYfO0P/buFMefI7m9ednQzcO6lxQ5WI\niIiISHOwewGAipLFe45kcevfllY
bZJ68c5D18S+JKU3annKjiey8EoL9PVjy6gSevntIjedeO7R9\nja9NG9+TkADPFlEBLNjfkxF9oqxrezq1
9edffxqNwQD3KMiIiIiIiIOye5h5YNZK/vv1Hv56XkWt\n84UFeTGkVwQLZo7Dz9uNpFO53PCnr7l15nd8t
+4opzJrHkEpKzfxS+IpSsqMtW7PU//ZQEFxGUN6\ntcFgMNC/W5j1tb9MHYivl2W6mMHARTek9HBvUYNeVl
+
+fAOzHxlJh0h/lrw6kUE9IuzdJBERERGR\nemkRv3FXrEnx83ajd2wI8X2j6Nc1jOy8sxgMBgwGA2FBXjx0
Sx9eeHcLAIVny3nry10A3DquK7dd\n083mngVFpfz278usz5+6azADq/nFvdxoYvPeNErLTew6lMnuI1kAD
OllOddgMNA7NoR9R88wNK4N\nJWVG5izaTrd2QUQEe/OP+4bx7rd7+dvvB/Pwq6vJLyplUh0W9De3iuIAIi
IiIiKOrkWEGYCeHYOZ\nOW0QvueVXvYM9bE5Z2hcJP/
+8xgefnWVzfGPf/yV313d1WZvls9XHrI5Z86i7daKYufbuCeVl9/f\nanPMx9OVuE4h1ufP3TsUo8mMk5OB
Mf3bAmb6dwsHoE/nUOY8NhqA956+CqPRjLtbzRtUioiIiIhI\n46h3mJk1axbbt2/HaDRy7733EhcXx+OPP
47ZbCY0NJRZs2bh6nrpjRb/cd8wwgK9aBPiXav3bd/G\njy9fHk/ioSxKyoy89J5lpGbCn5cAMLhnBNn5Zz
mWkgfApFGdWLzmCPlFZazfncrw3pE298vKOVvl\nPRb94zqb587OTjifyycGg4GEATHVts3VxRnXFhMPRUR
ERERat3rNOdq0aROHDx/m448/5u233+aF\nF15g7ty53H777SxcuJCYmBi+
+OKLWt2rT+fQWgeZCq4uzgzoHs7w3pHMfnSkbdv2pnHweA6l5Sba\nhvlw14RePHnnQADe+3Yf5gs2XjmQf
AaAP0yOw8XZwLRzm2SKiIiIiEjLVq8wM3DgQObOnQuAn58f\nRUVFbNmyhYSEBADGjBnD+vXrG6+VF9ElJp
B/3DeMXp2CbY67uTrz8JS+APQ6N2Us9XQhE/68hO9+\nScJosoSaUxmWAgKDe7bhg2evZfLolrveRURERER
EKtVrUpSTkxOenpbd5z///HNGjx7NL7/8Yp1W\nFhwcTGZmZuO18hL6dA4lrlMI7323jzKjiQHdw+nbOdRa
Fvn8dTgAb321myB/D0wmOJaaR+/YEEID\nPZutvSIiIiIi0nAG84XzrupgxYoVvP322yxYsICrrrrKOhpz/
PhxZsyYwaJFiy56/bZt2+r71nWW\nW1TOqaxSdiYVcTDFdp3MA9eHE+Z/6fU9IiIiIiLS/Pr371/t8XovV1
+7di3z589nwYIF+Pj44O3t\nTWlpKW5ubqSnpxMWFnbpm1ykYU3lt0YTj/5zNcfT8q3HrhkzuEqVM2k+27Z
ta/Z+IC2P+oFUUF8Q\nUD8QC/UDgYsPgNRrzUxBQQGvvPIKb731Fr6+vgAMHTqU5cuXA7B8+XLi4+Prc+sm
5+LsxL/
+OJqh\ncW0AuGlMrIKMiIiIiIgDqtfIzNKlS8nJyWH69OmYzWYMBgMvv/wyM2fO5JNPPiEyMpLJkyc3dlsb
\njbOzE0/eOcjezRARERERkQaoV5iZMmUKU6ZMqXL8nXfeaXCDREREREREaqNe08xERERERETsTWFG\nRER
EREQcksKMiIiIiIg4JIUZERERERFxSAozIiIiIiLikBRmRERERETEISnMiIiIiIiIQ1KYERER\nERERh6Qw
IyIiIiIiDklhRkREREREHJLCjIiIiIiIOCSFGRERERERcUgKMyIiIiIi4pAUZkRERERE\nxCEpzIiIiIiIi
ENSmBEREREREYekMCMiIiIiIg5JYUZERERERBySwoyIiIiIiDgkhRkREREREXFI\nCjMiIiIiIuKQFGZERE
RERMQhKcyIiIiIiIhDUpgRERERERGHpDAjIiIiIiIOSWFGREREREQcksKM\niIiIiIg4JIUZERERERFxSAo
zIiIiIiLikBRmRERERETEISnMiIiIiIiIQ1KYERERERERh6QwIyIi\nIiIiDklhRkREREREHJLCjIiIiIiI
OCSFGRERERERcUgKMyIiIiIi4pAUZkRERERExCEpzIiIiIiI\niENSmBEREREREYekMCMiIiIiIg5JYUZER
ERERBySwoyIiIiIiDgkhRkREREREXFICjMiIiIiIuKQ\nFGZERERERMQhKcyIiIiIiIhDUpgRERERERGH5N
LYN3zxxRdJTEzEYDDw5JNPEhcX19hvISIiIiIi\n0rhhZsuWLSQnJ/Pxxx9z5MgRZs6cyccff9yYbyEiIiI
iIgI08jSzDRs2MHbsWAA6depEXl4ehYWF\njfkWIiIiIiIiQCOHmaysLIKCgqzPAwMDycrKasy3EBERERER
AZq4AIDZbG7K24uIiIiIyGWsUdfM\nhIWF2YzEZGRkEBoaetFrtm3b1phNEAelfiCgfiCV1BcE1A/EQv1AL
qZRw8zw4cOZN28eU6ZMYe/e\nvYSHh+Pl5VXj+f3792/MtxcRERERkctIo4aZfv360bNnT2699VacnZ156q
mnGvP2IiIiIiIiVgaz\nFraIiIiIiIgDatICACIiIiIiIk1FYUZERERERBySwoyIiIiIiDgkhRkREREREXF
ICjPSLNLT0wEw\nmUx2bonYm2qOiIjI+QoKCuzdBHFgCjPSpPLz85kzZw633HILaWlpODmpy12OcnNzeeed
d0hKSqKo\nqAhQqLlc5eXlcezYMXs3Q+wsLy+Pf//736xZs4YzZ84A+p5wOcrLy2P27Nm8+
+67lJaW2rs54qD0\nm6U0mU8+
+YT7778fgClTpuDk5KQfVpehDRs28MADD5CZmcmyZct48cUXATAYDHZumTS38vJypk2b\nxvz58zl16pS9m
yN2snLlSh588EGKi4vZsGEDr776KqDvCZebRYsWMW3aNHx9fbn33ntxc3Ozd5PE\nQSnMSJM4fPgwGRkZvP
LKKzz22GPs2rWL0tJS/bC6jBiNRsAyxXDgwIHMmDGDBx98kG3btvHDDz8A\nmnZ4uUlJScHT0xMXFxf27du
nv8ReplJTU5k0aRJPPPEEY8eOpWPHjtbX9Aevy0Nqaiq7du1i0KBB\n1iCTl5dnfV0/G6QunJ955pln7N0I
aR0OHjzIf/7zH44dO8awYcMYNmwYvr6+AJw4cQIXFxfat29v\n30ZKkzt48CDz588nKSmJ7t27k5iYiJOTE
5GRkfj4+HDo0CE++
+wz7rjjDoXbVu748eOsXr2abt26\nAZaRmZEjRwKwfft22rVrR1BQkD2bKM3gwn5w9OhRhg0bhtFo5NFHH8
XV1ZX09HR69+6t7wmt2PHj\nx1m1ahXdunXD19cXg8FARkYG2dnZvPvuu6xZs4ZNmzYxcuRI9QOpE4UZaRC
z2YzBYODo0aM888wz\njBw5kl27drFx40YiIyMJDg6mvLyclStX0q1bNyIjIzGZTPpG1crU1A/27dtHWFgY
ycnJrF+/nh07\ndhAZGcmJEycoKiqib9+
+1muldTj/3/Nvf/sb69evJzo6mujoaJydnQkODqZdu3asWrUKk8lEVFQU\nHh4eGI1GralrRarrB1FRUcTE
xNC1a1d8fHzIzMwkJCSEG264gbfffpuUlBQGDRqknxGtyIX9YMOG\nDdZ+4OXlxcGDB/n666+55ppruOOOO
3j//ffVD6TO9JNDGqSsrAyAI0eOEBQUxOTJk/nrX/
+Kr68v\na9euJSMjAxcXF6KionjvvfcA9AtLK1RdP5g5cyYAhYWFXH/99QwdOhRvb2+mTp3KPffcQ0pKin5
Y\ntUIVfSEpKQl3d3cmTZrE4sWLMZvNuLu7YzQa8fT0JCEhgZ07d1qnlmhaSetSXT9YsmSJzS+30dHR\n3H
zzzXTo0IFnnnmG5cuXU1JSop8RrcjF+kFERARjxozh3nvvZfz48QQEBPDcc8+xdOlS9QOpE43M\nSL1s3Li
Rl19+mR07duDr60vnzp2tw8cRERE4OTmxd+9e3N3dad+
+PbGxsfz4449ERkYSERGhv8a3\nEpfqBwaDgcTERKKiokhISKBbt264u7uzbNkywsLC6Nu3r70/gjSSir6w
c+dOvL296dmzJ127dqVj\nx47s2LGDM2fO0KNHD0wmE05OTnTo0IH9+/ezYsUKZs+ejYeHB7169bL3x5AGq
m0/KC8vJykpiTNn\nzhAUFMTu3bsxm82MGTPG3h9BGsGl+sHp06fp2bMn
wcHBxMbGUlxcjJubG3v37sXJyYlRo0bZ+yOI\nA3GxdwPE8WRkZPDaa69x//33k5+fz+LFi4mMjGTkyJGsX
LmSTp06MXjwYLZs2cLx48cBy19nunTp\nwo4dO+jbt6+CTCtQm34wZMgQtm7dypEjR4iNjWXRokVs3LgRFx
cXHnvsMXt/BGkk1fWF5ORkbrrp\nJoqLixk1ahRLliwhPj6e8PBwAEpLS1m7di1FRUX8+c9/ZuzYsXb+FNJ
Qde0HBw8eZN26daSlpWE2\nm/n9739v748gjaC2/WDkyJGEh4eza9culi5dyr59+3B1deWuu+6y90cQB6OR
GakVo9HI66+/zqFD\nh0hKSiImJoYbb7yRdu3aERgYyEcffUTPnj1JT0/H2dmZtm3bUlZWxocffsjNN9+Mh
4cHMTExxMfH\n2/ujSAPUtx989NFHTJ06lcGDBxMREcGjjz5KmzZt7P1xpAEu1hcCAgJ45513SEhIwM/PD3
d3d06c\nOEFGRga9e/fmyJEj7N27l8jISF588UWbalbiWOrTD9LS0ujTpw8Gg4HrrruO8PBwHnnkEWJiYuz
9\ncaSe6tMP0tPT6dOnD/n5+YwYMYLw8HCmT59OdHS0vT+OOBhNSJRLSk9PZ/r06eTn5+Pu7s7zzz/P\nki
VLKC4uxt3dnT59+jBw4EC2b99OXFwc8+bNo6ysjJycHK644gpKSkoA9Murg2tIP+jbty9nz54F\nYPjw4Xb
+JNJQl+oL/fv3Jy4ujgULFgAQFRXFddddx8KFCxkxYgS7d+8mPj6e2267zc6fRBqivv3g\no48+YsSIEWzf
vh1vb2/9kcvB1bcffPjhh4wYMYIdO3YQFBTElVdeaedPIo5KIzNySSdPnuTHH39k\nzpw59OzZk+TkZLZu3
crp06et85v9/f1JTEzktttuIyUlhSVLlrBx40buv/9+wsLC7PwJpDGoH0iF\nS/UFs9lMcHAwGzZsoHfv3h
QUFPDwww/Tpk0bnn/+eUaNGqXFva1AQ/tBQkKCvT+CNAL1A7E3rZmR\nSwoODua++
+7DZDJhMpmIiYnh7bffZsaMGezZs4devXrh4+ODi4sLXl5ePProoxQWFuLn52fvpksj\nUj+QCrXtCx4eHo
SEhJCbm8t9993H+PHj7d10aUTqBwLqB2J/GpmRS/L29iYmJgaDwYDJZGLevHnc\neeed+Pj4sGjRIsLCwti
6dStJSUkkJCTg7u6Ou7u7vZstjUz9QCrUti8cOXKEMWPG4O/vT5cuXezd\nbGlk6gcC6gdifxqZkTo5ePAg
YJlOdPvtt+Pp6cnGjRvJzMzkmWeewcvLy84tlOagfiAVLtUXvL29\n7dxCaQ7qBwLqB2IfCjNSJ+np6Vx//
fVkZGTw9NNP07t3b6ZPn65Sy5cZ9QOpoL4goH4gFuoHYg8K\nM1InOTk5vPDCC6xYsYLJkydzww032LtJYg
fqB1JBfUFA/UAs1A/EHgxms9ls70aI49i8eTP79u3j\nd7/7HW5ubvZujtiJ+oFUUF8QUD8QC/UDsQeFGak
Ts9ms4WJRPxAr9QUB9QOxUD8Qe1CYERERERER\nh6Rdy0RERERExCEpzIiIiIiIiENSmBEREREREYekMCMi
IiIiIg5JYUZERERERBySwoyIiIiIiDik\n/w97e4RCsi9jfgAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f98c634d790>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"mcdon['close_price'].plot()"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f98c85a6a10>"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png":
"iVBORw0KGgoAAAANSUhEUgAAAX4AAAEDCAYAAAAyZm/jAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAAL
EgAACxIB0t1+/AAAGTNJREFUeJzt3XtQVPfdx/EPuwLRBS+LQjU1reNEfSaKASaNiaVeoqum\nbSwJXnLRR
GyTqbeYoomozdhmGqtJ6jjjYxMmOo3VDomSzIMZR9pM0k46pGIWSmbb2Iz7ZBg7xuWi\nIjdLhfP84QMFBX
dZdtmF3/v1D+zhnLPf/XH2s2d/
+9vfibEsyxIAwBi2SBcAAOhfBD8AGIbgBwDD\nEPwAYBiCHwAMQ/ADgGGG+Fvh6tWr2rJli2pra9XS0qIf/
/jHmjJlijZv3izLsjRmzBjt3r1bsbGx\nKioq0qFDh2S327VkyRJlZ2f3x2MAAPRCjL9x/CdOnNBXX32l1a
tX6/z581q1apXS09M1e/ZsLViw\nQHv27NHYsWO1ePFiZWVlqbCwUEOGDFF2draOHDmi4cOH99djAQAEwG9
Xz4MPPqjVq1dLks6fP6+x\nY8fq9OnTmjt3riRpzpw5KikpUUVFhVJTU+VwOBQfH6/09HSVlZWFt3oAQK/5
7eppt3z5clVVVenX\nv/61cnJyFBsbK0lKSkpSVVWVamtr5XQ6O9Z3Op2qrq4OfcUAgD4JOPgLCgp05swZb
dq0SZ17h3rq\nKWImCACITn6D3+PxKCkpSWPHjtWUKVPU1tYmh8OhlpYWxcXFyefzKSUlRcnJyV3O8H0+n9
LS0m65\nb7fb3fdHAAAGysjICHpbv8H/6aef6vz589q6datqamrU1NSkzMxMnTx5Ug899JCKi4uVmZmp1NR
U\nbd++XQ0NDYqJiVF5ebm2bdsW1uLRldvtpj1DhLYMLdoztPp60uw3+B999FFt3bpVjz/
+uP71r39p\nx44duuuuu/T888/rnXfe0bhx45SVlSW73a7c3Fzl5OTIZrNp/fr1SkhI6FNxAIDQ8xv88fHx
eu21\n125afvDgwZuWuVwuuVyu0FQGAAgLvrkLAIYh+AHAMAQ/ABiG4AcAwxD8AGAYgh8ADEPwA4BhCH4A\
nMAzBDwCGIfgBwDAEPwAYhuAHAMMQ/ABgGIIfAAwT8KUXAVO0traqsrJSiYmJkqSJEyfKbrdHuCog\ndAh+
4AZer1e7jnymYSMuqKmuSr/d+ZgmTZoU6bKAkCH4gW4MG5GshFG3R7oMICzo4wcAwxD8AGAY\ngh8ADEPwA
4BhCH4AMAzBDwCGIfgBwDAEPwAYhuAHAMMQ/ABgGIIfAAwT0Fw9u3fvVllZmVpbW/X0\n00/rww8/lMfj0a
hRoyRJq1ev1qxZs1RUVKRDhw7JbrdryZIlys7ODmvxAIDe8xv8p06d0tmzZ1VQ\nUKDLly8rKytLM2bM0KZ
NmzRr1qyO9Zqbm7V//34VFhZqyJAhys7Olsvl0vDhw8P6AAAAveM3+O+5\n5x6lpqZKkoYPH66mpia1tbXJ
sqwu61VUVCg1NVUOh0OSlJ6errKyMs2ePTv0VQMAgua3j99ms2no\n0KGSpKNHj2r27Nmy2Ww6fPiwnnzyS
eXm5urSpUuqqamR0+ns2M7pdKq6ujp8lQMAghLwfPwffPCB\n3n33XR04cEAej0cjR47UlClTlJ+fr3379i
ktLa3L+je+IwAARIeAgv/jjz9Wfn6+Dhw4oISEBM2Y\nMaPjbw888IB27NihhQsX6qOPPupY7vP5bnox6I7
b7Q6ibPSE9uy7ysrKLrc9Ho/q6+sjVM3gwbEZ\nPfwGf0NDg1555RX95je/6bgG6YYNG7R27VpNnjxZpaWl
mjRpklJTU7V9+3Y1NDQoJiZG5eXl2rZt\nm98CMjIy+v4oIOn6E4v27LvExETp/Qsdt6dOncqlF/uIYzO0+
voi6jf4T5w4ocuXL2vjxo2yLEsx\nMTF6+OGHlZeXJ4fDIYfDoZdfflnx8fHKzc1VTk6ObDab1q9fr4SEhD
4VBwAIPb/Bv3TpUi1duvSm\n5T/4wQ9uWuZyueRyuUJTGQAgLPjmLgAYhuAHAMMQ/ABgmIDH8QOma21tldf
r7bg9ceJE2e32CFYE\nBIfgBwLk9Xq1Iu93GjYiWU11VfrtzscY5okBieAHemHYiGQljLo90mUAfUIfPwAY
huAHAMMQ/ABg\nGIIfAAxD8AOAYQh+ADAMwQ8AhiH4AcAwBD8AGIbgBwDDEPwAYBiCHwAMQ/ADgGGYnRO4B
autTV9+\n+aUkdfwEBjqCH7iF5vpqvZhfo2EjvKr95+dK+vp/RbokoM/o6gH8aJ+Df2iiM9KlACFB8AOAYQ
h+\nADAMwQ8AhuHDXRirtbVVXq+34/bEiRNlt9sjWBHQPwh+GMvr9WpF3u80bESymuqq9Nudj2nSpEmR\nL
gsIO4IfRmsfsQOYhD5+ADBMQGf8u3fvVllZmVpbW/X0009r2rRp2rx5syzL0pgxY7R7927Fxsaq\nqKhIhw
4dkt1u15IlS5SdnR3u+gEAveQ3+E+dOqWzZ8+qoKBAly9fVlZWlmbMmKEnnnhCCxYs0J49\ne1RYWKjFixd
r//79Kiws1JAhQ5SdnS2Xy6Xhw4f3x+MAAATIb1fPPffco71790qShg8frqamJp0+\nfVpz586VJM2ZM0cl
JSWqqKhQamqqHA6H4uPjlZ6errKysvBWDwDoNb/Bb7PZNHToUEnSsWPHNHv2\nbDU3Nys2NlaSlJSUpKqqK
tXW1srp/M9X2p1Op6qrq8NUNhBa7ZOxffHFF0zGhkEv4FE9H3zwgQoL\nC3XgwAG5XK6O5ZZldbt+T8tv5H
a7Ay0BAaA9A1dZWdnxezCTsXk8HtXX14ezxEGFYzN6BBT8H3/8\nsfLz83XgwAElJCTI4XCopaVFcXFx8vl
8SklJUXJycpczfJ/Pp7S0NL/7zsjICL56dOF2u2nPXkhM\nTJTev9Bxu31oZ1OdL6Dtp06dyrj/AHFshlZf
X0T9dvU0NDTolVde0euvv379iSLpvvvuU3FxsSSp\nuLhYmZmZSk1NlcfjUUNDgxobG1VeXs4/GgCikN8z/
hMnTujy5cvauHGjLMtSTEyMdu3apW3btunt\nt9/WuHHjlJWVJbvdrtzcXOXk5Mhms2n9+vVKSEjoj8cAAO
gFv8G/dOlSLV269KblBw8evGmZy+Xq\n0v8PAIg+fHMXAAxD8AOAYQh+ADAMwQ8AhiH4AcAwBD8AGIbgBwD
DEPwAYBguvQgEoX02z3ZcqB0D\nCcEPBKHzbJ5cqB0DDcEPBIkLtWOgoo8fAAxD8AOAYQh+ADAMffwwSmtr
q7xeryRxbV0Yi+CHUbxe\nr1bk/U7DRiQHfG1dYLChqwfGaR+NMzTRGelSgIgg+AHAMAQ/ABiGPn6gj5i+A
QMNwQ/0EdM3YKAh\n+IEQYPoGDCT08QOAYQh+ADAMwQ8AhiH4AcAwBD8AGIbgBwDDBBT8Z86c0fz583XkyB
FJUl5enr7/\n/e9r5cqVWrlypf70pz9JkoqKipSdna1ly5bp2LFj4asaABA0v+P4m5ubtWvXLs2cObPL8k2
bNmnW\nrFld1tu/f78KCws1ZMgQZWdny+Vyafjw4aGvGgAQNL9n/PHx8XrjjTc0evToW65XUVGh1NRUORwO
\nxcfHKz09XWVlZSErFAAQGn6D32azKS4u7qblhw8f1pNPPqnc3FxdunRJNTU1cjr/M82t0+lUdXV1\naKs
FAPRZUFM2LF68WCNHjtSUKVOUn5+vffv2KS0trcs6lmUFtC+32x1MCegB7XlrlZWVYb8Pj8ej\n+vr6sN/P
QMOxGT2CCv4ZM2Z0/P7AAw9ox44dWrhwoT766KOO5T6f76YXg+5kZGQEUwK64Xa7aU8/\nEhMTpfcvhPU+p
k6dyiRtN+DYDK2+vogGNZxzw4YN+sc//iFJKi0t1aRJk5SamiqPx6OGhgY1Njaq\nvLycfzSiRmtrq7744g
uuswsogDP+iooKbd+
+XRcvXpTdbldBQYE2bNigvLw8ORwOORwOvfzyy4qP\nj1dubq5ycnJks9m0fv16JSQk9MdjAPxqv9Zuc30t
19mF8fwG//Tp03X8+PGbls+fP/
+mZS6XSy6X\nKzSVASE2bESypMA+ewIGM765CwCGIfgBwDAEPwAYhuAHAMMQ/ABgGIIfAAxD8AOAYQh+ADA
MwQ8A\nhiH4AcAwBD8AGIbgBwDDBDUfPzAQtLa2yuv1ShLTMQOdEPwYtNqnYh42Ilm1//yc6ZiB/0fwY1Ab
\nNiJZCaNuV1Odr1/uz2pr6/LuYuLEibLb7f1y30CgCH4ghJrrq/Vifo2GjfCqqa5Kv935GJdhRNQh\n+IE
Qa3+XAUQrRvUAgGEIfgAwDMEPAIYh+AHAMAQ/ABiG4AcAwxD8AGAYxvFjUGF+HsA/gh+DCvPz\nAP7R1YNB
p/2bs0MTnZEuBYhKBD8AGCag4D9z5ozmz5+vI0eOSJIuXLigFStW6IknntBzzz2nf//7\n35KkoqIiZWdna
9myZTp27Fj4qgYABM1v8Dc3N2vXrl2aOXNmx7K9e/dqxYoVOnz4sO644w4VFhaq\nublZ+/fv11tvvaVDhw
7prbfe0pUrV8JaPACg9/wGf3x8vN544w2NHj26Y1lpaanmzJkjSZozZ45K\nSkpUUVGh1NRUORwOxcfHKz0
9XWVlZeGrHAAQFL/Bb7PZFBcX12VZc3OzYmNjJUlJSUmqqqpSbW2t\nnM7/fJjmdDpVXV0d4nIBAH3V5+Gc
lmX1avmN3G53X0tAJ6a3Z2VlZaRL6MLj8ai+vj7SZUQF04/N\naBJU8DscDrW0tCguLk4+n08pKSlKTk7uc
obv8/mUlpbmd18ZGRnBlIBuuN1u49szMTFRev9CpMvo\nMHXqVK7AJY7NUOvri2hQwznvu+8+FRcXS5KKi4
uVmZmp1NRUeTweNTQ0qLGxUeXl5fyjASAK+T3j\nr6io0Pbt23Xx4kXZ7XYVFBTowIED2rJli95+
+22NGzdOWVlZstvtys3NVU5Ojmw2m9avX6+EhIT+\neAxAVOLC64hWfoN/
+vTpOn78+E3LDx48eNMyl8sll8sVmsqAAY4LryNaMVcPEEZceB3RiCkbAMAw\nBD8AGIbgBwDD0MePAY+Lr
wC9Q/BjwOPiK0Dv0NWDQYGLrwCBI/gBwDAEPwAYhj5+oB8wfQOiCcEP\n9AOmb0A0IfiBfsL0DYgW9PEDgG
EIfgAwDMEPAIYh+AHAMAQ/ABiG4AcAwzCcEwMSM3ICwSP4MSAx\nIycQPLp6MGAxIycQHIIfAAxD8AOAYQh
+ADAMwQ8AhiH4AcAwDOfEgDFYxu5zURZEGsGPAWOwjN3n\noiyItKCCv7S0VM8+
+6zuvPNOWZalyZMn64c//KE2b94sy7I0ZswY7d69W7GxsaGuF4ZrH7vfVOeL\ndCl9wkVZEElBn/F/61vf0
t69eztu5+XlacWKFXK5XNqzZ48KCwu1fPnykBQJAAidoD/ctSyry+3S\n0lLNmTNHkjRnzhyVlJT0rTIAQF
gEfcbv9Xq1Zs0a1dXVae3atbp69WpH105SUpKqq6tDViQAIHSC\nCv5vfOMbWrdunRYtWqRz585p5cqVunb
tWsffb3w3AACIHkEFf0pKihYtWiRJGj9+vEaPHi2Px6OW\nlhbFxcXJ5/MpOTk5oH253e5gSkAPBnN7VlZW
RrqEsPB4PKqvr490GWE3mI/NgSao4D9+/LgqKyu1\nbt061dbWqra2Vg8//LBOnjyphx56SMXFxcrMzAxoX
xkZGcGUgG643e5B3Z6JiYnS+xciXUbITZ06\nddAP5xzsx2Z/6+uLaFDBP3fuXOXm5urRRx+VZVn62c9+pi
lTpuiFF17QO+
+8o3HjxikrK6tPhQEA\nwiOo4Hc4HHr99ddvWn7w4ME+FwQACC/m6gEAwxD8AGAYgh8ADMMkbYg6nWfhlJi
9Egg1gh9Rp/Ms\nnI2XL+ilZ2ZqwoQJA3oq5p4wRTMigeBHVOo8C+eL+Z9o2AjvgJ6KuSdM0YxIIPgR9QbL
VMw9aX98\nnP2jvxD8QJTg7B/9heAHoggXaEF/IPgRFQbL9XSBgYDgR1QYLNfTBQYCvsCFqNHezTE00RnpU
oBB\njTN+IAoxwgfhRPADUYgRPggngh+IUozwQbgQ/ECUo9sHoUbwA1GObh+EGsEPDAB0+yCUCH5EDF/a\n
AiKD4EfE8KUtIDIIfkTUYJ95M9T4oBehQPADAwgf9CIUCH6EHZdSDC0+6EVfEfwIu859+ZylApFH\n8CMsb
hyxw1lq6HXu729tbZUk2e32Lr9LvMPCzQh+hAUjdsKvc39/7T8/19DEpI72bv+dd1joDsGP\nsOluxE7ns1
TG7vdd5zbu7negOwQ/
+qRzl07nLoaeQv3Gs1TeCfQfPmRHu5AH/86dO1VRUaGYmBht\n3bpV06ZNC/VdIEjheOLf2KXTubuhp1Bn7
H7/ufEd1ov5n/R7F1Bra6sqKyuVmJgoiRecaBDS4D99\n+rQqKytVUFAgr9erbdu2qaCgIJR3gT4I1+ianr
obEHndvcO6VRdQuE4Odh35TMNGXOAzhygR0uD/\n5JNPNG/ePEnXD5grV66osbFRDocjlHeDXuhpdE1fRoQ
wx87A4u+zlhu76NrfFTRevqCXnpmpCRMm\nBHSM3OpFI5jPHOiaCp+QBn9NTY2mTp3acXvUqFGqqamJuuBv
amrSlStXJEm33XabRo4cGbJ99+Vg\n7eu27W+ne3oid+5+CWRESE9P/J72iYHjVv//9ncFTXW+//8/BzZqK
JB3lIFMOdH+POjpRain7cIt\n3C9E/flCF9YPdy3LCufug/bK3jf1h4/LJUljk4bpFz99NmT7/vLLL7X51f
/RbQlOXW24qFc2Le44\nWMO97Y5ff6DbEspU5/tfxTtG6rYEp+p8/6uRY//z5Guqq5IkNddf1NDEpFvu82r
DpY56At2nFBPV\nv0f6/qPp957+/705RiT1OEqr8/L2fV48/w9tfvXvtzzG258H/2q83HGcdT4We/vcCJW+
PD+D2f+x\n/94Yti6xGCuE6bxv3z4lJydr6dKlkqR58+apqKhIw4YN63Z9t9sdqrsGAKNkZGQEvW1Iz/hnz
pyp\nffv2aenSpfrb3/6mlJSUHkNf6lvhAIDghDT409LSdNddd2n58uWy2+168cUXQ7l7AEAIhLSrBwAQ\n
/WyRLgAA0L8IfgAwDMEPAIYJ+yRt165d05YtW3T+/HnZ7Xbt3LlTX//617usU1dXp5/85CdKSEjQ\n3r17A
97ORIG0S1FRkQ4dOiS73a4lS5YoOztb7733nvbu3as77rhD0vURWM8880wkHkJUuNWcUiUl\nJdqzZ4/sdr
u+853vaM2aNX63MV1v27O0tFTPPvus7rzzTlmWpcmTJ2v79u0RfATR41Zt2dLSop/
+\n9Kfyer06duxYQNt0ywqz9957z/r5z39uWZZl/fnPf7Y2btx40zrPPfeclZ+fb23YsKFX25nIX7s0\nNT
VZCxYssBoaGqyrV69a3/ve96y6ujrr3XfftXbt2hWJkqNOaWmp9cwzz1iWZVlnz561li1b1uXv\nDz74oHX
hwgWrra3Neuyxx6yzZ8/63cZkwbTnqVOnujzfcZ2/tnzppZesw4cPW4888kjA23Qn7F09\nnefvuf/+
+1VWVnbTOr/4xS80ffr0Xm9nIn/tUlFRodTUVDkcDsXHxys9Pb1jHYsBXJJ6nlNKks6d\nO6eRI0cqJSVFM
TExmjVrlj755JNbbmO63rbnX/7yF0kcj93xd5zl5uZq9uzZvdqmO2EP/pqaGjmd\nTklSTEyMbDabrl271m
WdoUOHBrWdify1S+e/S5LT6VR1dbWk67On/uhHP9KqVav0+eef92/hUeTG\nNmqfU6q7v7W33622MV1v27O
q6vr0DV6vV2vWrNHjjz+ukpKS/i06Svk7zvxlZXfbdCekffxHjx7V\nsWPHFBNzfT4Qy7L02WefdVmnra0t
qH0Hu91AFor2bD+ruvvuu+V0OjVr1iz99a9/1fPPP6/jx4+H\np/AB5lZnnj39jbPVngXSnt/85je1bt06L
Vq0SOfOndPKlSv1hz/8QUOGcG2ozoI5zgLZJqStvGTJ\nEi1ZsqTLsry8PNXU1Gjy5MkdZ6aB/HOTk5OD2m
4wCaY9k5OTO87wJcnn8yktLU0TJkzomFDq7rvv\n1qVLl2RZVseLiknaj612VVVVGjNmTMffbmy/5ORkxcb
G9riN6YJpz+TkZC1atEiSNH78eI0ePVo+\nn0+332725SJv1Zah3CbsXT0zZ87UyZMnJUkffvih7r333m7X
syyryytVoNuZxl+7TJ8+XR6PRw0N\nDWpsbFR5ebkyMjL05ptv6ujRo5Kks2fPyul0Ghn60vU2LC4ulqSb5
pS6/fbb1djYqPPnz+vatWv6\n4x//qG9/+9u33MZ0wbTn8ePHtW/fPklSbW2tLl68qJSUlIg9hmgRyHHWXV
b29tgM+5QNbW1t2rZt\nmyorKxUfH69f/vKXSklJUX5+vu69915NmzZNixcvVnNzs+rq6vS1r31NL7zwgu6
///5utzOdv/ac\nPn26fv/73+vNN9+UzWbTihUr9N3vflc+n0+bNm3q2MeWLVuMHo74q1/9SqWlpR1zSv39
739XYmKi\n5s2bp08//VSvvvqqJGnhwoV66qmnut1m8uTJEXwE0aW37dnY2Kjc3FzV1dXJsiytXbtWmZmZE
X4U\n0eFWbblq1SpduHBBX331lcaPH6+nnnpKjzzyiF577TWdPn064GOTuXoAwDB8cxcADEPwA4BhCH4A\n
MAzBDwCGIfgBwDAEPwAYhuAHAMMQ/ABgmP8DH/WYevZoWlYAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f98b6d440d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"mcdon['close_price'].pct_change(1).hist(bins=100,figsize=(6,4))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## symbols()\n",
"\n",
"By default `symbols` returns the security object for a ticker symbol. Specify
a ticker symbol, or list of symbols, as a string and get a list of security objects
back. \n",
"\n",
"- Use `symbol_reference_date` to identify which date you want the symbol back
for a particular ticker symbol. \n",
"- Specify how you would like missing results to be handled with
`handle_missing`\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"mcdon_eq_info = symbols('MCD')"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<type 'zipline.assets._assets.Equity'>"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"type(mcdon_eq_info)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"end_date\n",
"2017-07-19 00:00:00+00:00\n",
"\n",
"\n",
"exchange\n",
"NYSE\n",
"\n",
"\n",
"auto_close_date\n",
"2017-07-24 00:00:00+00:00\n",
"\n",
"\n",
"symbol\n",
"MCD\n",
"\n",
"\n",
"first_traded\n",
"None\n",
"\n",
"\n",
"asset_name\n",
"MCDONALDS CORP\n",
"\n",
"\n",
"exchange_full\n",
"NEW YORK STOCK EXCHANGE\n",
"\n",
"\n",
"sid\n",
"4707\n",
"\n",
"\n",
"start_date\n",
"2002-01-01 00:00:00+00:00\n",
"\n",
"\n"
]
}
],
"source": [
"for key in mcdon_eq_info.to_dict():\n",
" print(key)\n",
" print(mcdon_eq_info.to_dict()[key])\n",
" print('\\n')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## get_fundamentals()\n",
"\n",
"The `get_fundamentals` function provides programmatic access to the Quantopian
fundamental database. Based on data provided by Morningstar, `get_fundamentals`
provides over 600 corporate metrics dating back to 2002 (to match Quantopian's
pricing data). \n",
"\n",
"The data used by this research function is the same data used by the
`get_fundamentals` function used in the Quantopian IDE. The fields are described in
the Quantopian help documents: http://www.quantopian.com/help/fundamentals.\n"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Have to do this first in the notebook:\n",
"fundamentals = init_fundamentals()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The get_fundamentals() function takes in a SQLAlchemy query which can be quite
complicated and strange looking at first. Basically it allows you to filter by a
variety of fundamentals (things like Market Cap, P/E Ratio, or even city of HQ).
Check out the link above for all the things you can filter by!\n",
"\n",
"Let's walk through a few query examples.\n",
"\n",
"First call fundamentals and use tab to check out the various options:"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"collapsed": false
},
"outputs": [
{
"ename": "SyntaxError",
"evalue": "invalid syntax (<ipython-input-55-bbf6938c8013>, line 1)",
"output_type": "error",
"traceback": [
"\u001b[0;36m File \u001b[0;32m\"<ipython-input-55-
bbf6938c8013>\"\u001b[0;36m, line \u001b[0;32m1\u001b[0m\n\u001b[0;31m
fundamentals. # call tab here as in the video!\u001b[0m\n\u001b[0m
^\u001b[0m\n\u001b[0;31mSyntaxError\u001b[0m\u001b[0;31m:\u001b[0m invalid
syntax\n"
]
}
],
"source": [
"fundamentals. # call tab here as in the video!"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# Market Cap\n",
"my_query = query(fundamentals.valuation.market_cap)"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"my_funds = get_fundamentals(my_query,'2017-01-01')"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"Index: 1 entries, market_cap to market_cap\n",
"Columns: 5551 entries, Equity(21 [AAME]) to Equity(50554 [HEBT])\n",
"dtypes: float64(5551)\n",
"memory usage: 43.4+ KB\n"
]
}
],
"source": [
"my_funds.info()"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Equity(21 [AAME])</th>\n",
" <th>Equity(24 [AAPL])</th>\n",
" <th>Equity(25 [ARNC_PR])</th>\n",
" <th>Equity(31 [ABAX])</th>\n",
" <th>Equity(39 [DDC])</th>\n",
" <th>Equity(41 [ARCB])</th>\n",
" <th>Equity(52 [ABM])</th>\n",
" <th>Equity(53 [ABMD])</th>\n",
" <th>Equity(62 [ABT])</th>\n",
" <th>Equity(64 [ABX])</th>\n",
" <th>...</th>\n",
" <th>Equity(50533 [CNDT])</th>\n",
" <th>Equity(50534 [HGV])</th>\n",
" <th>Equity(50535 [PK])</th>\n",
" <th>Equity(50537 [WRD])</th>\n",
" <th>Equity(50539 [TIG])</th>\n",
" <th>Equity(50540 [TRVG])</th>\n",
" <th>Equity(50541 [KEY_PRI])</th>\n",
" <th>Equity(50544 [KEG])</th>\n",
" <th>Equity(50547 [YTRA])</th>\n",
" <th>Equity(50554 [HEBT])</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>market_cap</th>\n",
" <td>80256300.0</td>\n",
" <td>6.224410e+11</td>\n",
" <td>NaN</td>\n",
" <td>1.190750e+09</td>\n",
" <td>808964000.0</td>\n",
" <td>722555000.0</td>\n",
" <td>2.265560e+09</td>\n",
" <td>4.927210e+09</td>\n",
" <td>5.640420e+10</td>\n",
" <td>1.910140e+10</td>\n",
" <td>...</td>\n",
" <td>3.029760e+09</td>\n",
" <td>2.559150e+09</td>\n",
" <td>5.890500e+09</td>\n",
" <td>1.734880e+09</td>\n",
" <td>2.265930e+09</td>\n",
" <td>2.741480e+09</td>\n",
" <td>NaN</td>\n",
" <td>26639500.0</td>\n",
" <td>329764000.0</td>\n",
" <td>91800000.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1 rows × 5551 columns</p>\n",
"</div>"
],
"text/plain": [
" Equity(21 [AAME]) Equity(24 [AAPL]) Equity(25
[ARNC_PR]) \\\n",
"market_cap 80256300.0 6.224410e+11 NaN
\n",
"\n",
" Equity(31 [ABAX]) Equity(39 [DDC]) Equity(41 [ARCB]) \\\n",
"market_cap 1.190750e+09 808964000.0 722555000.0 \n",
"\n",
" Equity(52 [ABM]) Equity(53 [ABMD]) Equity(62 [ABT]) \\\n",
"market_cap 2.265560e+09 4.927210e+09 5.640420e+10 \n",
"\n",
" Equity(64 [ABX]) ... Equity(50533
[CNDT]) \\\n",
"market_cap 1.910140e+10 ...
3.029760e+09 \n",
"\n",
" Equity(50534 [HGV]) Equity(50535 [PK]) Equity(50537
[WRD]) \\\n",
"market_cap 2.559150e+09 5.890500e+09
1.734880e+09 \n",
"\n",
" Equity(50539 [TIG]) Equity(50540 [TRVG]) \\\n",
"market_cap 2.265930e+09 2.741480e+09 \n",
"\n",
" Equity(50541 [KEY_PRI]) Equity(50544 [KEG]) \\\n",
"market_cap NaN 26639500.0 \n",
"\n",
" Equity(50547 [YTRA]) Equity(50554 [HEBT]) \n",
"market_cap 329764000.0 91800000.0 \n",
"\n",
"[1 rows x 5551 columns]"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Basically just returns the market cap of everything\n",
"# for 2017-01-01\n",
"my_funds.head()"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"# What you usualy do is filter by other qualities after the query!\n",
"\n",
"# Only get companies worth 500 billion or more (that's a lot of dough!)\n",
"big_companies = (query(fundamentals.valuation.market_cap).\n",
" filter(fundamentals.valuation.market_cap > 500000000000) )"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"my_big_funds = get_fundamentals(big_companies,'2017-07-19')"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Equity(24 [AAPL])</th>\n",
" <th>Equity(5061 [MSFT])</th>\n",
" <th>Equity(26578 [GOOG_L])</th>\n",
" <th>Equity(46631 [GOOG])</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>market_cap</th>\n",
" <td>7.824930e+11</td>\n",
" <td>5.659140e+11</td>\n",
" <td>6.752440e+11</td>\n",
" <td>6.752440e+11</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Equity(24 [AAPL]) Equity(5061 [MSFT]) Equity(26578 [GOOG_L])
\\\n",
"market_cap 7.824930e+11 5.659140e+11 6.752440e+11
\n",
"\n",
" Equity(46631 [GOOG]) \n",
"market_cap 6.752440e+11 "
]
},
"execution_count": 76,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# On \n",
"my_big_funds"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"782000000000.0"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"7.82 * 10**11"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {
"collapsed": false
},
"outputs": [
{
"ename": "TypeError",
"evalue": "get_fundamentals() takes at least 2 arguments (0 given)",
"output_type": "error",
"traceback": [
"\u001b[0;31m\u001b[0m",
"\u001b[0;31mTypeError\u001b[0mTraceback (most recent call last)",
"\u001b[0;32m<ipython-input-50-68e9d331adfd>\u001b[0m in
\u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m
\u001b[0mget_fundamentals\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001
b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
"\u001b[0;31mTypeError\u001b[0m: get_fundamentals() takes at least 2
arguments (0 given)"
]
}
],
"source": [
"get_fundamentals()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.12"
}
},
"nbformat": 4,
"nbformat_minor": 2
}

You might also like