Skip to content

Instantly share code, notes, and snippets.

@lnksz
Last active September 2, 2017 10:44
Show Gist options
  • Save lnksz/bd8ce0a79e499479b61ea7b45d5c661d to your computer and use it in GitHub Desktop.
Save lnksz/bd8ce0a79e499479b61ea7b45d5c661d to your computer and use it in GitHub Desktop.
Demo for grid geometry generation -- rivus
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Showcase rivus.gridder"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"import os\n",
"import matplotlib.pyplot as plt\n",
"from rivus.gridder.create_grid import create_square_grid\n",
"from rivus.gridder.extend_grid import extend_edge_data\n",
"from rivus.gridder.extend_grid import vert_init_commodities"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Constants - Inputs"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" Origo for grid creation. \n",
" You can copy LatLon into this list from osm, google.maps... \n",
" You do not need to input it, if not provided, it default to a point around Munich."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"lat, lon = [48.13512, 11.58198]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### File Access"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"base_directory = os.path.join('data', 'chessboard')\n",
"data_spreadsheet = os.path.join(base_directory, 'data.xlsx')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Create Spatial Rivus Inputs"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Get the raw gemetries"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"vertex, edge = create_square_grid(origo_latlon=(lat, lon), num_edge_x=4, dx=300, dy=150, noise_prop=0.1)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>geometry</th>\n",
" <th>Vertex</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>POINT (11.58198 48.13511999974561)</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>POINT (11.58601061427288 48.13511992931774)</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>POINT (11.59004122854023 48.13511985813629)</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>POINT (11.59407184280205 48.13511978757992)</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" geometry Vertex\n",
"0 POINT (11.58198 48.13511999974561) 0\n",
"1 POINT (11.58601061427288 48.13511992931774) 1\n",
"2 POINT (11.59004122854023 48.13511985813629) 2\n",
"3 POINT (11.59407184280205 48.13511978757992) 3"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"vertex.head(4)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>geometry</th>\n",
" <th>Edge</th>\n",
" <th>Vertex1</th>\n",
" <th>Vertex2</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>LINESTRING (11.58198 48.13511999974561, 11.586...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>LINESTRING (11.58601061427288 48.1351199293177...</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>LINESTRING (11.59004122854023 48.1351198581362...</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>LINESTRING (11.59407184280205 48.1351197875799...</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" geometry Edge Vertex1 Vertex2\n",
"0 LINESTRING (11.58198 48.13511999974561, 11.586... 0 0 1\n",
"1 LINESTRING (11.58601061427288 48.1351199293177... 1 1 2\n",
"2 LINESTRING (11.59004122854023 48.1351198581362... 2 2 3\n",
"3 LINESTRING (11.59407184280205 48.1351197875799... 3 3 4"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"edge.head(4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Extend Vertex with Source Information"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>geometry</th>\n",
" <th>Vertex</th>\n",
" <th>Elec</th>\n",
" <th>Gas</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>POINT (11.58198 48.13511999974561)</td>\n",
" <td>0</td>\n",
" <td>100000</td>\n",
" <td>50000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>POINT (11.58601061427288 48.13511992931774)</td>\n",
" <td>1</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>POINT (11.59004122854023 48.13511985813629)</td>\n",
" <td>2</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>POINT (11.59407184280205 48.13511978757992)</td>\n",
" <td>3</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" geometry Vertex Elec Gas\n",
"0 POINT (11.58198 48.13511999974561) 0 100000 50000\n",
"1 POINT (11.58601061427288 48.13511992931774) 1 0 0\n",
"2 POINT (11.59004122854023 48.13511985813629) 2 0 0\n",
"3 POINT (11.59407184280205 48.13511978757992) 3 0 0"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sources = [('Elec', 0, 100000), ('Gas', 0, 50000)] # Commodity, VertexID, MaxCapacity\n",
"vert_init_commodities(vertex, ('Elec', 'Gas'), sources)\n",
"vertex.head(4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Extend Edge with Demand Information"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style>\n",
" .dataframe thead tr:only-child th {\n",
" text-align: right;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: left;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>geometry</th>\n",
" <th>Edge</th>\n",
" <th>Vertex1</th>\n",
" <th>Vertex2</th>\n",
" <th>residential</th>\n",
" <th>industrial</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>LINESTRING (11.58198 48.13511999974561, 11.586...</td>\n",
" <td>0</td>\n",
" <td>0</td>\n",
" <td>1</td>\n",
" <td>1000</td>\n",
" <td>2000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>LINESTRING (11.58601061427288 48.1351199293177...</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>1000</td>\n",
" <td>2000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>LINESTRING (11.59004122854023 48.1351198581362...</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>3</td>\n",
" <td>1000</td>\n",
" <td>2000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>LINESTRING (11.59407184280205 48.1351197875799...</td>\n",
" <td>3</td>\n",
" <td>3</td>\n",
" <td>4</td>\n",
" <td>1000</td>\n",
" <td>2000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" geometry Edge Vertex1 Vertex2 \\\n",
"0 LINESTRING (11.58198 48.13511999974561, 11.586... 0 0 1 \n",
"1 LINESTRING (11.58601061427288 48.1351199293177... 1 1 2 \n",
"2 LINESTRING (11.59004122854023 48.1351198581362... 2 2 3 \n",
"3 LINESTRING (11.59407184280205 48.1351197875799... 3 3 4 \n",
"\n",
" residential industrial \n",
"0 1000 2000 \n",
"1 1000 2000 \n",
"2 1000 2000 \n",
"3 1000 2000 "
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"building_types = ['residential', 'industrial']\n",
"inits = [1000, 2000]\n",
"extend_edge_data(edge, sorts=building_types, inits=inits)\n",
"edge.head(4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Plot the results with annotated vertex/edge IDs"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"# Helper\n",
"def _calc_xytext_offset(line):\n",
" dx, dy = [abs(cc[0] - cc[1]) for cc in list(zip(*line.coords[:]))]\n",
" if dx == 0 or (dy / dx) > 1:\n",
" shx, shy = 30, 0\n",
" else:\n",
" shx, shy = 0, -30\n",
" \n",
" return (shx, shy)"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"annotate_vertex_ids = True\n",
"annotate_edge_ids = True"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA1gAAAE5CAYAAACNqIF+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XeclNX1+PHP2V5Z2IWl9yYdlCJgQ1BBLLHEFjV2k6gY\njS0mxlh/MZpExWgUW4wtGpMoGrAXBAQUMPRel84WtrB17u+PO3xdyQ7szNzZZ2b2vF+vfbmsO3cP\n7Jn73HOf+9wrxhjihYgkA6mABPlSA9QYY6rcR6VUeEREgDQgKYSX+4AqY0yt26iUCp+IJGJzOyGE\nl9cClSaeLmIqbvjHIymENh6pNsbUuI9KqfD4xyOphDYeqcOOR3xuo4pOEg/XJhHpMAQGdYCuuSDJ\nQb6+FigBdsCO5bCsHNbpRVt5TUSSc6HfETCgPeRk2gtvUGqAPVBXAOuWw1JjzO4IhKpUUEQktw8M\n7Ay98yEp2D4boALYBmVrYNluWKETZCoapIp0GwgD20PHlkBikK+vAwrBbIfNi22fvTUCYSoVFBFJ\nawNH9IUBbSE7DUwwuV0HVIPsgv0bYMVmWG6MKYtUvNEg5gusbJGe58Apl0LpWChJDWEQCrbIWgjZ\nb0LuazCvAL7WIkt5RUSSB8BJV0K3U2FPX9gfalulkDAbWk6DtH/CO8aY7S5jVSoYIpJ/Gpx5FdQe\nD0Ut7bU3JOshdQa0mQbbvoWZWmQpL+WLDL0Qxp4HxcOhNNTxSBXIXMh5GbLfgo+LjFnlOlalGktE\n0obBxKuh3SmwpweE3M9uh+RPIO8vUPElTDfG7HMZazQJ5RZf1BCR9NNg/P2wsxNUh9NWEjASSgdC\neRmM+AtsAXa4iVSp4ORCvyuh2002D8OSDb6JUNgF0vfCySLysjEm5EGtUqESERkDJ90NZcMh7NnL\nHlB1HWxNgI4PwCDgawdhKhU0Ecn7MYy+BwrCmTQASAVzAhT3hfJiGCciBfE+26+iV2cY8lNoezUU\nhNtWe6j5EezIgtalMBaY4SDEqBTKuveokQLtj4eEcIur+jLANwGqukF3V20qFQwRkT7Q/1TY47Ld\n/rB/OKQD+S7bVSoIrYdCtoviqr7TYXdP6C8iMX1NU7GrPXQZD3XhFlcHtVkzDnwZ0NFVm0oFQ0QS\nekK/08Dp4wUTYW936CIi6S7bjSYxfTHqAR0GhrF0KpAhsK8jdHbdrlKNlNoBcsJZFhjIUPC1gDzX\n7SrVSC2Hhrhs6lA6QXVnO3mQ4bptpRqjC3QZCM6XOw2A/b2hk+t2lWqkrO6Q2t4+0u1MKpiB9tNW\nLtuNJjFdYKVCaprdJc2pTKhLtLv/KOWFpEhN6aRDXQu7A5BSTa4FpISyWUtjZNh2Y3rZu4pdSZCa\n7fDu1QFZUJusfbbyTlKk+uwsf/uRaDsaxHSBlQCSGOAXPx1at4MHWsCTOfDERDgd4GvI6gD3ZsPT\nHeDeRZB58GsTwUjwW6sq5Uyg3XkC5fXlMDYHnhB4+2HoFajdhAh1lEo1UsB+NVBuD4fLW8BTLeHx\nbnDntw302RDjFzMVFxrqXwPl9Wj4UUt4vBU81gHu/QByD9GujkdU1AmU2wdMgLME3pkL2Q29Ptgd\nNmNN3F6T0qHuNnhuH/xsPtw6GyZPg84/hXP7wrelcG1f+PYaONfrWJVqrEB5fQxsegz+X1tY5nWM\nSoUiUG4fB4sK4LpimNIGCq7SPlvFkEB5/Rz8sximFMGNQ2D+zXCB17EqFYxAuQ22+FoBQzMcP7sV\nS+K2wJoARTfDeoC+sD8XtqyEvFUw6lfwCcCv4JNVcLS3kSrVeIHy+krYepmDHX6U8kqg3P4jLM72\nLwUfCquKobW3kSrVeIHyun+9Z2wrIU10dYGKMYFyG2AKXHU7vEAzzuu4LbDqewvyd0PPK2FVJbSc\nAEVgk6MSWnodn1KhqJ/XXseilEuBcvt9OGkEfONVXEqF4+C8PhouzoDnF8IJf4FXvI5PqVDVz+2f\nwMgc2DsFNnodl5fivsBaC2lXwy8vgmn9I7Arm1Je0LxW8SpQbh8P5yVA3UvwmYfhKRWShvL6K3i5\nAq44Ej67DU7zOkalQlE/tzOh7h9w3ss6YRDfBVYxJB4PvxwOnz0LcwHSoPgj/7aQH0GrNCj2Nkql\ngtNQXisVDwLl9vlw4nIY8Tk8ErdbTqm4dbg+ewp8vhTGeBGbUuE4OLffg/Zl0HYUPJ4Jz+6H1uPh\nsU+a4WqxuC2waoGRMCUftnwAbx/4eh+Y/wCcCPAAnNgX5nkWpFJBCpTXSsW6QLl9Ixw5E875N9zX\n1eGh8ko1hUB5/TK0P/D5NBiVC1s9CVCpEDWU2z+DTZVwSTlcVQ5XpcOej+HGE5vhzYy4nQy8D/qt\ngXE5sLEVPAZwMbz0JPzjTLg9G07Ogt3T4Xdex6pUYwXK60pIfgWurYKcu+A3j8KGArjb63iVaqxA\nuf0CXOOD5NPgPoCOsGopPOlttEo1TqC8fhdOug46iT38ffcz8GevY1UqGIFye6o+JwvEcYF1D6y4\nB85o6P9th183dTxKuXCovJ4GXzV1PEq5Eii3p8K1XsSjlAuHyGsdhKqYdqjxyAHlcFVTxRNtYnqJ\nYC3U1UXgAL46EF8ETmRXqpFMpJKvFhLq/FteK9XUasEXqeTzXwua7ZbAylvG5rbz8YjPjkc0r5Vn\nItVn+9d7x21ux3SBVQLleyHFdbs7IKUaKly3q1QjVRcBVRG4WBdD4h4od92uUo1RAZWFEbju1AKF\n9lN9Rkt5ohLKd0ZgPLIHUkqh1HW7SjVS1d4I1Qp77X/its+O6QJrM2ydD8mu210AOStgjet2lWoM\nY0zNdtjyNWS7bns2JNTALtftKtVIu+ZgCyKXlkDmVthljNEjC5QnVsG6byLQZy+AtFWwyXW7SjWG\nMaZ8M+xdChku2y2GxG/tpWCvy3ajSUwXWMDOz6HkA8h11eBSyHgH6vbBZldtKhWs5bDsVWhVDImu\n2nwd8hdBgTGm2e3mo6KDMaZsKWx8Gdq5arMUEl6BvGWwxFWbSgWrHLb+B6q/hixXbc6CnI/tioMd\nrtpUKlgr4L8vQesKRzVDLfA0tF8Hy4wxrufbooYYE9vLH0WkxRg4fTJkj4SKdlCVHOSazjpgL6Qs\ngqyZUDMD3jPGaIemPJUnMuhUOGY81A6EsuwQngusAdkKaXMg/V3YvQj+o7P8yksikjoEJp4KHY6B\n/V1gf7B9NkApJC6HrE8heSZ8tQMWmVi/oKmYJiL5J8HkSZA6HMryoDolyNyuBtkFqfMh8z2o+AKm\nG2OKIhWzUocjItIRhk+EEeOgpj+UhjIeKYfEtZD5BaTMgDVr4FNjIvbIuedivsACEJEUoP1A6JkF\nOYlBVtl14KuCiqWwvga2GWPKRSQxnn/xKjaISG4+dO4KnZMgRYLMbR/UlUDhClgPbAfqdBCqvCYi\nSUDbPtCzFeQmhrCjbS1UbYCtu2GzMWaviIjmtvKaiGQkQ4eB0DMNMoPtsw34KqBsBaythm3YZ1SM\n5rbykogIkNcOunSBTkmQkhDEc+I+u3lXzU7YtRE24H9UwRgTt5tuxUWB5ZqI9McemjbeGKNLBVXc\nEJF7sUtqp8Rzx6aaF//FfwlwvTHmM4/DUcoZETkTuAWYbIzZ53U8SrkiIm8BXxpj/uR1LJEQ689g\nRYQxZjn2IMtPRaSL1/Eo5dAjwJHAEyKi738VF/yz+9cDb4rICR6Ho5RL04GlwAwRaeF1MEo5dBNw\nvYjc5HUgkaADrAD8FfUT1CuyROQX/plSpWKSfwZ0IjAUf5ElIkeIyKkeh6ZUWPx3rn5IvSJLRC4R\nkTZexqVUOPwrDa4D/ou/yBKRDBH5icehKRUW/wqxcdQrskTkGBEZ4W1kbugSwcPw/9KvxybBh8Al\nxpj53kalVHj8M6EzgcXAK8AzxpgB3kalVPj8xdWb2GLrYmCFMeYPngalVJj8Kw7+DAwGzgJWA72N\nMbs9DUypMPlvYnyKvalRBJxpjDnL26jCp3ewDqP+nSzsgPSH3kakVPgOupP1IyDH/+yhUjGt/p0s\nYCXaZ6s4cNCdrH8BHwFnexqUUg7Uv5MFdABOFBHnZ8o1NS2wDkNEHsae2fI2tjO7QJcJqlgnIu2A\nl4C/A8Oxh/2d52lQSjkgIpdg71w9BNwO9BORrt5GpZQTLwIF2IOHBwIXeBqNUg6IyDDgYeBPwFXY\nHD/d06Ac0CWChyEifYFLsbOgeUBuCkyussXpMGARMAPd0l3FEP8kwQ+wRdUkIA0oN5Dv/7PmtopJ\n/meuDvTZRwAtEuCpOpiB5rWKYSIyCrgEOAfbZ7dsDd12wyA0t1WMEpFU4ELseOQYIB1YbuyGXDE7\nHtECq5H8A9IhAne/BF0vht5ABlABzANOiaVfvFIHiEg69u7sFcYeijkKzW0VB0SkawLcdi1MehLa\noHmt4oCIJALHAr+ZD2kjbIGlua1inoi0Ai4XGOuDHGJ4PBL04Y7NlX8b4MWIPAe8VkirrO20B8jy\nkTB6NmOv/anwubdRKhUKA7D4KX7y1hJmP7yQYRm9WEsrirN8JIyew5hrrtXcVjHJ8BTXLB3DnMvm\nk5axhEGMZp7mtYpxBmDX01zzZjpzHvk3PTLSqKIrm7N8JIyey+irr9bcVjHJAMx4hqsqljH3D5vp\nnDGOT0mjOgtbbE0C3vU0xEbSO1jBErkL+O0b/DDhfN6gP8sA2EPrXbtou8fb4JQKXT47W7dmT/5K\n+tKOHeRgz7TcS95uzW0Vq/LZ2TqPvW3KyKSATvRlFaB5rWLfgdzeSFeSqKUj2wCb27vJ3+txeEqF\nrA27Wuext/VqerOG3vRgI4APuBtj7vc2usbRAitYIqcBrwFZgsEgAGXAhRgTE1W1Ug3y5/Yovsp6\nnCmMYj5obqtY58/rZfTPOo83WMZA0LxW8cCf27fwcFY7dnALfwDNbRUP/Lmdx56s1fQhj0KIsdzW\nXQSDNwO7DrTM/+cy/59neBZRnBOR1l7H0EzMAOb5SPAZxIfmdkSJlet1HM3Agbyu8P9Z8zrCRCTb\n/5yQiqwZwLw6EmsMYtDcjjjts5vMgbE2sToe0QIrWPbhulOwO57g/2/MPHQXa0RkOLDLv3uSiiR/\nbm+g+9o19J6G5nakvQ6s8TqIuOfP69mMvXUPrXeheR1RItIS2AI85nUscc+f219w3LtLGfg+mtsR\nJSIXAHvi4YymqOfP7VKyS4to9TtiMLd1iWAYRDDGv0ZQuec/u2Y+0Aq43hjzjMchNQsizAOmGGNn\nj5R7InIN9pymTKClMabiMC9RYRJhAPCGMQzwOpZ4JSIp2Bnm44HpxpizPA6pWRDhEWCHMTzidSzx\nSkSOAj4BUoBTjTGfehxSsyDCXqCPMcTcM4V6B0tFJRHJAd4DvsQWWUd7G5FSbojIROBeYBuwDnvW\nh1IxzX+UydOAYHN7sLcRKeWGf7L3HWAWsAAdj6hG0AJLRavHsLNFCdhCSzs0FfP8EwcvAZcDnbE5\nrrmt4sEl2KLqP8D7QJ6I5HsbklJOvAI8AnTF3qHVRxbUYWmBpaLV7cDNwHHAy0AH//ITpWLZPmAo\n9qT6Odg7tDrTr+LBdOAEYAzwKTAXzW0VHy7AjkM6Y5+dHeRtOCoW6EHDKioZY3aKyDBgtzFmi4gc\nYYyp9joupcLhP7B8m4iMw969egP4yNuolAqfMaZIRBKwz19dD3wA/sP0lIphxpitInIeMMsYs0FE\njvE6JhX9tMBS0exE7CAUY8wOj2NRyqVxwOXG7oi02+tglHJkELDHGLPN60CUcmwc9s4sxpjtHsei\nYoAuEVTR7P86NKXihYi0BToBi7yORSnHxgGfeR2EUhGg4xEVFC2wVFQSkSTgWPRireLPCcAXxpha\nrwNRyrET0EGoijMi0gHIB771OhYVO7TAUtFqCLDZGKPLp1S8ORYdhKo449+m/Vjgc69jUcqxY4HP\njDE+rwNphmL2rFl9BktFq9XAxV4HoVQEPANs8joIpVwyxhgR+YE+n6Li0BfAQq+DaMaM1wGEQgss\n1aT8W62n0LhZifUiku3/3AA1xpiqiAWnVIj8s/dpNK5P3eB/zYHc9gGV/g0vlIoq/p0B02jcipdF\nIpJV78+1xpjKyESmVHhEJBVIbsS3lgKl9XLbANXGmJqIBadinhZYHvBfsNpAizbQKh0Sg7wFWl0H\nO0ugZocxpiwiQTomktoNBg6EyR2hJY3r0+qrBUoQGbkDli+D8nX+La9VFBGRDEhpD3ktICWE/qW0\nCgr3Ajtj4Rkle4Fu0x+O6Q/tsiAjhFZqgF21In3XwOqlxphC13Gq8IlIS8hoB7mZkBjk8vo6HxRW\nQMUOoDgW+i779+0xAE7sC22SITXIFuqA/YiMKYZVK6BwhQ5IIybkZVQikgi0hew8yE0LvoWKGthd\nAmyPhWLajr8ye8GAAXB6PrQAEoNspQYoNiJDNsN/lxpjtkYgVBUmOx6hHbRpARlBjkfqDOythP17\nsMcFBb08VAusJiYiuTBmEgzPhhE+yA7hglObANuSYJaI9FoO62ZH8+y3SNshcM2xcEERjNoWetrV\nAguz4c2J8No8Efk6FgYqzYG9aHUbBWcPgWOATrWQEkJO7k+CpYnwVY1I2ofGVG52HqwjIpIGwybC\n1e3glD3QI4wzf4oT4fOeMK2PiLxjjNnlLlIVDvt7HjQBLusEYwzk1kJSkBfb2gQoToI5At9sF5EP\njDH7IxNx+EQkD046A65NgBMKIS+MyY5V6fDeWHi2k4h8qEVWxAR9LRSRjnDCSTAyDYb4ID2E33N1\nAmxIgtk+kQ4LYPviaL0u2+tUl9FwyTD4wV4YGsZ4pEpgbhv425kirT4ypmiV02BVyOzvuevRcNZg\n+/hch1pICbLP9gnsT4QFCfBNmYjMNMbsCaYFLbCakIi0gJPOhLurYWxB+C3+FHh4ADwHdo1w1LEF\n5Y/HwH1boWWYRWASMLIUBpZD2Qj4y2Zgp4s4Vbg6j4BLh8GdWyHVwcV1fSr8arKI/Dt6n+noOgiu\naQs/cfBeblkHZ+6B9tlQOEFEXovWQUpzYmf3h06CX+TBxQ5+z1cCr+fDI6f6C+koLTZGjIM7a+GE\n4vDb6rsf+m4F0w0ePAJYEn6bKlwikg/nnA73FkL/veG3WJoA94yBl+uA/4bfXkR0hB8Ohbs2h3+d\nSjX2/dG3HIpPEJGCWFlRFP+6jYLLhsIdDsYjFwPzs+HuM0XkH8aYksa+UncRbFJtesBFSTDW0en2\nScCtW2FofxHJdNOma226wIm14RdX9WX4YEIVdOvurk0VKrtMbsgQuL3ATXEF0KMKri2DoUPctOeW\n/45dfzjT8S6XI0thcAsgz227KkRt4ZR2cLHDiZwLdsGpbYB27tp0xy4N7NfaTXFV36Q90Le/2zZV\n6PoNhKv2Q39Hd1KzfXDbNhgw3L/sMAr17wUTytxdpwDa19jTCTI6umtThcq/4mCwm+LqgJGlcKlA\nx97BvEoLrCbVux8c4/iilQQcB6RE5cUauneGQaXu2x2yDzp2cd+uCkFbOFps4evS6BLo1MW/MUq0\nyYTOafbi6towgFbu21XB69kNRkfguZIx+6FfD/ftOtEKhkag2f77oW1L/8YCykP2nMkuPWGs4/FI\nfi0MSwHauG3XlTZd4EhHE9z1DaqA3p3ct6tC0A7GiNsiGmBMEfToF8wrtMBqInaXsfQW0C0CF+v2\ntZCTffjv80JSqvuBN0BmHSRG48C7GUrOgM4RaDfV2LMdSY9A4+FKgqzDf1dIMn2QEewuMCoi8lpB\nxwj02Z0qoUW0FtFJkBWh5amZ/vaVx9KgdYK96+RaZ0N09tlAQirkROB59Yw6SNaJg6iQkQGdIpDX\nXashIyOYu7Pa0TUdsf/ckfgnT/IFv0NKU0oMcLHuNwU2jIDUEii5/ruvn3oafDkZpA76fA0LXmy4\nTYnZA+jiS3oiJEVoQJYMUTsRlBBEXve8DQr9S0iqMyGlHIpubJo4VegSEiE5ArmdbCApSpdRQeC3\nXEO5/Vh3uO9nUJcCCXVw61Nwx5omC1WFIiH4nXwbK5r7bAhuPPJ4N7jvOqhJgxa7YOYjDS+pTDCQ\noOORqJCVDMkROhA6BWxuN6pIj+JBeXMyvTVcfRNUtALxwej3YeZ0GP0jWDEKxEB6Cbz4KJwcR1s4\nn/Mx5L4L99z83dfuGASLR8HaG+xyg1k53sWnwhcot+O54Ggor9f9/rvPj7oCMiqaPi7lzvZkGPg7\n8CWDLwEGzoHZr8LkyfD5GVDeHub8CEZHYHm0lxrK7Ycuh4teh8e/gRuOgkcvhzvu9C5GFZ5Aud33\nRtg6EFL8fddvH4UbN3gbq0sN5fY9N8BPXoAHlsK5E+DKs2HuK97FqMITKLdvHwzTroC6JGi3Fr5+\n3MXdXS2wokJ6Hdz2HNy83m5pO/xPMG0xPPdP6O9/M086DW6+AJY+6W2sLt2/DN7K//7X3pgEF/3D\nFlcAxzZ6xxYVjQLldjwXHA3l9QG1wIpj4JlfNWlIyrE2NTDvV9Cr0m6x3+sheOAbmLACrlgAlz7o\ndYSR0VBui4ES/5KwokzIiqNJwOYoUG4DnP8CPD/H2/gipaHc3tcJ7llqP//xYrj4HkALrJjVUG7f\nuxCm/hz+8mu4dBuMuQguGw9vfRjuT4vi27jNyYQiOwAFu6Vt7hZYmff9W9GVafZCFu+KOsLcAdD6\nEWj7IDwU1K4tKtoEyu0DDhQc137uSXhN7rcDIL0YLo7SredV4yRhL9IAJYngS7L9803r4ZxmdobZ\nvdPgzSsg43l46wp4+K9eR6TCESi3m6OWm+C6UfbzqWOhorW38TRLDpdeNpTbST5IqLHFFcD4xTBv\njIufpgVW1HkrH3b3hCv9h9YdfbG9cC08Af7SDGZOfIlQngU7boGbXoB7b7ODcBX7Ds5taH4Fx9vH\nwZFReWadClZFArR6DHq+DD0XwZ2rvY7IG1NPhQufhYor4Pxn4bopXkekwhUot/9xCbR8HIZdCbua\nwQqohx6D6ZMh909QkQ4JOhjxhsMC/+Dcvm01mCR4uJf9/9PHQpmTQloLrAiwOwaGYm0aXP1LuGja\nd3evvnrZXriO/AxuO81ZkFEraw9MmmNnGu5YY2fO5rXwOipluc1taF4FR2kCrBkNN83yOhLlQobP\nPjf4zeWwpQ881UyPjVh2IjztXzb27Jewu4+38ajwNZTbf34JCn8Kq2+Gimw451yvo4y8Kwpg22+g\n8Ca45gvI2uF1RCpcB+f2tC5wx+/h4asg7w+Qvt9usBY+LbAcE5GTgY3BH/xbnAjH/xKGfwbPzv3f\n/z/lc1jq5LZldDvqK/h8sP38pQ72Fu6oCJxboYIhIskiMhV4JvhXB8rt5lZw/Hoo5GyFU/d6HYn6\njoj0EpFFInJcaC0MKYdeS+Cto9xGFivSC+GugfbzOwdD9jZv41EHiMhlIrIo9Bbq5/aEIjvxmV8L\nZ38EG5vB8v0Dm2xVCdx/Poyb4W08CkBEskXk7yJyR+it1M/tu1bBrjtg7y9g9FJo5aQPawa3eJuG\nf2b/dmAK8COgt4iMBEYCrwOfBH51LTByCuRvgQ/e/u7rL7f/bunUtFGQuzUy0Xul1y1QMAiqWkDG\nCzDpVXjhIzh6CuQ8AYm1cMOjmqbeEpG2wJvAPuA6ETkJm9dtjTGHWQ4UKLchfguOhvL6rQ9h5rEw\nqpncrYsNIjIJeBH4LbBVRC7A5vZ6Y8wTgV85uwVk1dmL9NYUWD0UfvhWE4TssYZy+6apMPUa+Esi\nJFbDnYf4d1NNwX84+x+Bk4DzRGQENq+PAv4AbAn86kC5/VErW2TVAjOPhvabI/83aUoN5XZ5Gsye\nbP9/v7nw+kfexqhEpDfwb2A28JKInIrN7ZbGmJ8f+tWBcntWjt1QbVcSvHYuXPqGi1h15OqAiOQA\n7wNdsR3XdGAzMN//8e2hW7ivH6wZBzkb7dpQgItfgndPgus62e2tW+yGZ/4csb+EJ9Y+0vDX1/yx\naeNQgYjIGcBfsfmcDywFFmLzuhGzeYFye+o38VtwBMrrVY81bRzqUETkWeA8YBlwH/ArvuuzDzEh\nBrAoF+76OZgE+zH4S/jzArvb6+fnQGUrOHEqdP8Glk+N8F+lCQXK7Xtuato4VCAi0hP4D/ZAqkJg\nDrAGm9dzgY3AIc5gC5Tb7e+H/TlgBPLXw4w42tEYAuc205s0DBWQiPwEeBhYAYwHzgcWYHO7Eb+n\nQLk9/HJYPQIQGDMDHvqvi3jjrsDyn7Ic9HMixphwHl48Bhjg/7kV2Av128aYjfXiSoBA2+rfswLu\nOeN/vz71m8aHUBelu/wYH1RHIM/qBHwROJE9OvnvkIZyMKnPGBPOeQ5XARlALvAZ9i7th8aYetuq\n1x4i9wLlNsR4wWEaedZgCHwCNRE6KDH62L4xpOXqdcaYYPq9/7su+Jdw/wBI9X88BbxljFn8/Zf4\nArR//Ua4voHZ0hnvAu82LpxAbXvOQE2Emvb5228e/OORYJkQ+uz6Y55zgS7AfmA58CQw3Rizu15c\nh3iuOVBub/91kDFFIeOzY4ckxzlYI1DX3MYjofTZviD77INdi+2vWwEfAG8As74/fj/UeCRQbn/9\nAvDC4X98cLHHRYElIm16Qu+O0OcUSA32L+UDxonU7YENS2GVMSaopXjGmPeAbBHpjK2qx2NvzZ9W\n73t8IuONXcub6vjNXZ0AFZG6Ioapshz2tsF29g7tSIHqODo76X+JSGIKdB0AR5wInVJBgu3RqoFj\nRcrWwoodsNYYE9TzbMaYM0QkCbu0ZDx2CWxr4Lnvvqui1uZ1JFQJkatkwlENeyL0DOtegZrqyLQd\nHUQkuw307A39JkBOcgiD7iowR4lsWworqmFTIyfJDIAxphxoLSK5wPHY3J4mIpONMfW2WffVQVUE\nfs+VCVAXpX021RCJVbtVAsWGyFVvUUFE2vWCXh3seCQ52OSpBY4TqdwIq7bYPntPI196ILcfEpHf\nA0dg8/p0YATw03rfWwdVQUbWWJX+9qNRTQUUpEAPx3/5ohQoK3fbZnQRkZQM6D4I+p0I+akh3Mio\nBsaIFC73bOoLAAAgAElEQVSD5fvsMuygxoXGmGEikg6Mweb2g8BvgHpnVlXWQE2Ers3BjUdivsBK\nE+lyAUw+D6rGQlF+iHt6l0LCXOj0DhyRLzJnlzFBPxhqjNmCXc//YsPfUbYblmTC8LJQYgxsdRIU\nRumBvEvXwdfd3R8YvCAHVixx22b0EJHEXnDchTDgFCgaDjtSQ5z5XQ+ps2H432CIiLxjjAlq9OQf\nuM7zfzR0gGoZrI5AgVWcCAV12LvCUcUYUyFy9C5YlAnDHF5Ya7Eretjprs3oIiItx8GZl0LKMVDc\nCwpCaacK5GvI+RgmvgqrReTTYFciGGMKgX/5PxqwdQes6wAjS0OJMbC1mbB9g9s2ndll3+quJwPn\nt4Dtm40xcVtgZYn0vgxOOhv2j4GivBDHI9sheQ4MeB2GpIm8Vxn8pK/BLqNaATT0TNx+2FltnznJ\nd7z1+GoBHI9xXNm4GuYNhR6O+9cFabBqk9s2o4eIpA6GUy6FTsdD0VDYHkrxUAushIxZcOxfYaCI\nvOuf7Go0f1H2sf+jARWlsDoCBdbydCgvCubuckzvIigimSfDxAdg91mwO9TiCiAbfCdD4f1QcA6M\nFpH2LmO1li6HL1u6bXNvEnxVB0Tp9qE1BfCfKvg6y12bSzPgnTrYF2cP2X4nB/peAv1/A5vGwr5Q\niyuAHlB1CWy/G6qPhon+JVku7YIFNbA92W2zH+fBptVhLt+NoKVL4JU8uxuiKy+1g6Ubgr3oxAqx\nT9uf8mvwXQY7evmnu0ORCmYs7LsTNl8GfXKhv7tID9ixBT5PdnsWXy3wRQpsicoBmTGmElavgecc\nXgOLE+H1lrBiubs2o4uItDoDxj8IO06HPaEWVwDtoeYc2HU/FI2zfXa6y1jtIHH9Svg07/DfHYxV\n6bCslMjcAnWgYD38KwnWp7prc1YOfFxO1I7BwtcDhl8H7X8BW4ZDWah3ZpKAgVDxUyj4BWQNghB3\nbj2knTCv1v05bZ/nwsoVwbwipu9gJUP78SA9HN7rbgl1E2H/B9ADcHz4acVG+NtOyG0H5+6y+/GH\nY30q/KEdzPvUGBOp+/1hMcbsF5F3gdPglBwYXg75VcE/TlQHFCXDN9kwswZmvGuMcTyrHD2OgP5n\n2urZmbGwbzh0/ArygN2HfUEjGWNqRXJnwV0T4I7d352UHqpa4JNceLIOVjt52DQyytfCKy2gcCSM\nq4N+pZAdwtKYGoENGTA7DWYUwMrPnIcaPVoNhVYnhnjXqiFJwFmwezoMEJElYa7xP9ge+HA5PDQA\nfrId8sKstIoT4en28N4qYNdhv90zq2bBk2mwsSuMrYSeFZBsIDGIf9s6gdJEWJoFHyfBjM+MqYzb\nSbF86HIy1LV3uASyL+wfD7mfQHtgvat2rY3L4KlekJ0HJ+8Nfzi4NAN+lwcL3nX8HnTGGFMokvYf\nqD4FJibAkFLIrQ0urwGqBXalwvxMeK8CZk03xsTlsm4RSRoPR5zneFXFWbDrNegqIhnff6Y7PMaY\nGpFWX8LdE+DWHeEvB60S+HcbeLEQCtcG88qYLrD6Q9dBEVg+NBJKOkF37DaQzhhjqkTkP/C7MfBG\nLxgM5EjwxUYlsFVgaRks+9CYolUu43TNGLNbRF6HLzpAv56QngmJQc761xqoLoGl86FmW7zO8AOI\nSNoPIG8IOD9PZjj4MuwzVM4KLABjCleLZNfBiqNhQB50MZAWQktlwFKBDQWw8EtjTLHLOF3yDyK+\nEZGNMLMLdO4ESSHMjNbVwt4CWLsB2GGMidLnF5zIi8RhUX1hf0foiN2QxVnfYIwxIjILplXAJ4Ng\naLLdTDOUCaJdwLe1sG4RbFwQ5uYzEWUHKfI+LGsL/+4OuW0gMdjxgrHPyW5eDrs2G2OKIhJslOgO\n3YaA80m/wbC/j920wmmBZYzZJyLvQMkx8FxnGGQglIUmlcA6gTXF8PV0YyoPsQW894yp3GzHIx92\nhP49ICUDEoJc4l5XCxXFsGItVG+zd33jVk4/SGzp+Lm6JGAomH/ZDbScjuONKVopkuuD5SOhX+vQ\nxiM+oAS7CfiGjbD0y2CfGYvpAisF0lu4XbsBQA7UJYQ2Ojws/xvxExGZDe/lYrdSDZYPu2lEYbTO\nFB3Mn5jr/B/q0JKCPKW60TLAlxOx3C5dJyLrYU4r+6NCWoJcC5TEUgHtf6ZtLxDGgZ7NQwtIzQ68\nnWpYcuwyWufXNH8htEBEFsInedhdrEJ55rAK2Bu9S16/z1/obyMCEz3xKBnSciIwHsmGmtTIjUdK\ngPdEJAP+2YrQ3j912EmN4hgaj5QCK/0f6tCScyLUcEvbjzp+tMCyk76yBr7IJfTxSA12nB1SAR3T\nBRZAYoBnU/rBlA0wIhVKSuB6gLFw4UI4Jc2WpVwML02F/9kKPdEe9BChXdEs/5I+x0sQVbwIND/e\nUF4DnAqnfQmTBer6wNcLAmy0kgAmMYLPXvovsIX+D6W+J8nuhNnoPrsn3FZo70xRDZkpUF4ENzb0\nerHtRqzf9hccUbysT3lJQIIZjzwG3e+Dn9VBSgLU3QpP3WHPq/qeRCAh8uORCqJwMyEV3RrK68eh\n231wXQ2ktYBdM+GR/gF2kW5knx1y7vvHIwcmQJtcTG9ycSjnwMcPwt0Hf30svF0ENxbBjQ0VV0pF\ns4by+g4YtBhGrYUbSuD6PwbcEU2p6NVQbq+D3x/or4+AOQPtQalKxZSGcvshuPwieL0IbrwIXnkU\nLvcqPqVC0VBe3wM3XAN/LYYbRsLcK+FsBz8qJu6MHixuC6z7YVnXqN0qVKnQNJTXb8Cki+AfB3bR\nPNZ/h1apWHKoPrsWWAHHXAufN3FYSoWtodwWMCWQDlAEmVl611/FmIbyeh90ugeWAvwYFi+3Z1Y1\nS3FbYAUyFya3hMf7wZRFEKlHXZRqMkXQcS4MaA2PtIUHH4LeXseklEu/hQHpUHyxLqtWceJemPYm\nXJEBz78FVzwMf/U6JqXC1RI2XQejAKbC2Aq7qVaz1KwKrAdgxm64ZifcmAOFF8GVXsekVLh8kFgO\nWTvglpvghXvhtph4il6pRnobjjsSvvA6DqVcmQqnXgjPVsAV58Oz18EUr2NSKlwPwWPTYXIu/KkC\n0hMisPFLrGhWBdYJUJwBvlQwt8IH26CP1zEpFa4s2DMJ5iQBd8AaATMPWngdl1IulELCGhh9E8zy\nOhalXFkGJz4NcwCehS9363hExYEroGAb/KYQbroGvsiK4wOYD6dZFVgfQasDnz8Do1vDJi/jUcqF\no+Crz+2harwEHXyQNAr2eR2XUi78GobmwNZTPdoJSqlISIfCu2AgwJ0wOFu3w1dxYBbkAFSB3A/n\nj4MZXsfklZjfpj2QXnBLAQyqghYZ8MIkeHUJDNwFPQDTAnY9D3/2Ok6lgtFQXr8AHx0NU3LgiUSo\nvQEejds3topbDeX2W/DhTDh2lC4PVDGsody+CaZOhWv+AomJUH0nPOF1nEoFo6G8Loe02TAZoB/M\nfR0+8jpOr8TtOGwtPNLAlz9s8kCUcihAXrMG/tjUsSjlUqDcXgWPNXUsSrkUKLfvgZuaOhalXAmU\n18D0Jg0kSsX0EkEBUxeBA/jqQEyM7ruv4kNdhNr1gdSBL0LNK3VItWB8ETo01f+e0X5becJEbjyC\n7/B5HdGDiFXzFqkBg7/duO2zY7rAKoeKYkh23e5uSKrRU82Vd2r2EZmtd/ZBYkmAU9WVirR9UFkS\noevOPjvIrIlE20odTjVUFEZgPFICyfsbNx6J24Gq8lRNpA7WLLL/qY5Q856L6QJrDWxaCBmu250P\nrTbDOtftKtUYxpiqHbBjMWS5bnseSAXsdt2uUo2056sINLoUMgqg0BijE2PKEyth/cII7N66ENKX\nw2bX7SrVSMUroWaX40eKqkC+sZMCcbt5UUwXWNWw7UOo/tbhgcHbIfldSNkC6121qVSwlsPytyCv\nwuF7dCbkLrKdWaGrNpUKhjGm+L+w822Hh09WgbwBbZbDUldtKhWsfbBlJpj1kOqqzUWQ+QlUoQds\nK48YY+rWwPKXoZ3Ldl+DtmthnTGm8jDfGrPLX2N6kwtjTKWIvPcrOP0syBkFxe2hOiXIJaN1IHsg\neQHk/AeS/wUfGWN0ll95phzWvmILrKNOhIqjYF8W1CUGuQykGhLWQfpX0OJNKP0aZhpjdCmJ8sxi\n+PB3cNoG6DQGSnrC/mD7bIASSPovZH8Cmf+ExSWwKhLxKtUYxph9aSIzE2HSGWBGQnFbOx4Jts+W\nrZA6D1q+BbUfw7vGmKpIxa3U4WyBb56GnBLodSyUDYbSdPAlBtFGHXY8shwyZ0OLN2DbSpjdyJfH\n5JhF4mGsJSItcqFrH+iTapdVBTXrL2BqYf8GWFcAG40xexr3czHGxG51raKbiAjQvhf0aA9dEiA1\nIcjZnFqoq4KiZbCyHLYYYw77/JUI84ApxjAv1NiVOhQRSUuGzkOgbwbkJoQw2VcHlXugYIVdzr3N\nGHPIIk2EgcDrxtizh5SKBBHJbQ9du0PvZMiU4GfgfZVQuhpWF8ImY8xhzzQU4U/AZmP4U2hRK3Vo\nIpIEdBwEfVpCu8QQnjf0QW0p7FkGK6thqzHmsM9fiVACdDGGSD0KFjExfQfrAH8HtMT/ETYR6QE8\nA/zQGFPkok2lguW/07QNhwdQisgdgM8Y83tXbSoVLP+ykDX+j7CJ9RlwvTFGlwoqzxhjCrHLsBe5\naE9EzgDOAy43xugmLsoTxphaYJP/wwkReQq7YuwtV21Gk5h+BiuCNgDfAh+JSCuvg1HKob8CV4jI\nnV4HopQr/smIp4EPRUTvUKl48j5284y/i4jzXQqV8tDTwJ9F5ByvA4kELbAa4L9Y3wJ8Rr0iS0TO\n8y/bUiomGWO2A+OASw8UWSLSVURGeRuZUuExxrwG3Ey9IktEJopItreRKRU6//NXP8SuOPq7iCSL\nSJqInO5xaEqFxRizGJhIvSJLRIaISC9vI3NDC6wAAhRZvwcGeBmXUuFqoMjqBUz1NiqlwtdAkXUp\ncJG3USkVnoOLLOzOya/o5IGKdQ0UWccAd3kblRtaYB3CQUXWh8C72LXQSsW0+kUWMBroLiLdvIxJ\nKRfqF1nAfOzAVKmYdlCRNQ27A9tpngallAP1iyzssQRniIiz4w68ogXW4d2KfSbrG2A8cL4uE1Sx\nTkTygTuB+4CLsTmuA1EV80TkLOxd2UeA24GRItLG26iUcuI+4J9AGtAGnfBVccC/2uBH2P76fuy5\nbyd5GpQDWmAd3lxgFLYjywb6pMNoROzMkchpiARzHIBS0aAQWAv8DGgLDAKmIJKYx56Wf+PiKzS3\nVYxagj3I+GagBshMgOuf5KfHtWVHG81rFcO+As7GLqPqBpzRXSR3KIu6X87zJ2luqxi1BSjD3tAQ\noDfwC0QSk6hJ2kznW2Mxt+PiHKymICJpwMnA3Y9Dyg3QTTBZBikD5gGnYEydt1EqFTwR6QRcDlxo\nYNsI5o+byg0czbwKNLdVjBKRBGCMwJ3nwaA7GZR7Ea9mLGWQ9tkqpolIDrbQuuNLKPo7jx3ZjY1J\nN/OncjS3VQwTkf7ADcBAA1U5FI/fRFdfS0pibjwSF+dgNQX/uS3vIOIDXqsmOQtgH9lZBhlVQMez\nBwjvexulUqEw+4DHltF/ZQkFz9eQnLCPLErJyjLIqO20P/sIYabXUSoVHAPw7Qr6vtCe7c//l6yM\nGpIpIzPLIKN20O6sPprXKiaZOuDN1fQubceOF14kNbmMDMrJyDLIqF3k/6Cn5raKSWYTcMs6ekws\nY9eLBsFgEoAs7GqySdj9EKKe3sEKlshdwG+f5/KEK3mebOwh61WkVlWTethTqZWKVqlUpqRQnVpK\nNslUkYo907KalGrNbRWrUqhKSaE6pZokqkkjk3LA5nUNKXpwq4pZyVQnp1CdUk4GgiGdSgBqSK7R\n3FaxLJnq5GRqkivIYCn9GcBKAB9wN8bc73F4jaIFVrDss1evAVmCwSBg145eiDExUVUr1SB/bo9k\nXtYTXM9IFoDmtop1/rxewsCsi3iVJQwGzWsVD/y5/XP+lNWNjfycx0BzW8UDf263oCRrK51oQSnE\nWG7rJhfBm4FdB1rm//OB9fwzPIsozumujU1mBjDPR4LPID40tyNOc7tJHMjrCv+fNa8jTPO6ycwA\n5tWRWGMQg+Z2xGluN5kDY21idTyiBVaw7MN1pwAX+r9yITH00F2s8Z/oXSUig72OJe75c3sD3det\npdczaG5HlIj8EdjqdRxxz5/XX3LMbbtpsxPN64gSkXSgQETu8zqWuOfP7VkcO2MJg2aguR1RIjIR\nqIyHM5qinj+395O+v5TsB4nB3NYlgmEQwRj/GkHlnojkAV8DnYErjTF/9TikZkGE+cD1xjDf61ji\nlYicDrwKpALZ/kNEVQSJMAh41RgGeR1LvPLv3Ph37A53bxpjLvA4pGZBhEeBjcbwqNexxCsR6YO9\ng5IJHGOM0etjExBhH9DJGP+GBzFE72CpqOTfFv/fwGpgEXC0txEp5YaIHAk8jz3ceTMwxNuIlHLm\nQaA7sAsY6HEsSjnhP6j8PWABOh5RjaQFlopWDwM7gCJgJnZ7TqVimohkAu8APwd6AJ+iF2sVB0Tk\nHOAc4HXgfaCb/7wmpWLdK8CbQBvgI7TPVo2gBZaKVk8DlwDjgL8BfUUkxduQlApbJXAWsAf4BpgN\nDPc0IqXc+Bo4HhiJnThYCAzzNCKl3PgV8EfspNjrwFHehqNigR40rKKSMWapiAwAKowxq0VktDFG\nz2JSMc3YB3QXiMjvgM+wF+t5ngallAPGmE3+HdZOAG7BTh7s8DQopRwwxiwQkbOBOcBS4HyPQ1Ix\nQAssFc3GAZ8AGGP+63EsSrl0AnCHMaYSWOFxLEq50h8oNcZs9joQpRwbB3xq7M5wi70ORkU/XSKo\notk47FITpeKGiGRjNwD4yutYlHJsHPbOrFLx5v8mfJVqDC2wVFTyb/d7AlpgqfhzLLDAf/dKqXii\nk2Iq7ohIW6AjdgdBpRpFCywVrQYBe4wxBV4HopRjJ6CDUBVn/M9fHY/ewVLx53hglomhQ27jSMye\nNavPYKloVQBc53UQSkXAdGC910Eo5ZIxxojIDcaYrV7HopRji9E+20vG6wBCoQWWanIiksjhZyWK\ngc9E5ECOGp09UtHMP4Of2Ihvnev//gO57TPG+CIWmFJh8i/ZbsyKlzfr5TVAnX9TAKWikn88cjjr\nDvpeo322OhwtsDzgH4i1BFoR2u/AABXALmNMjcvYIkVE2kGvXtChD0xKDn51qg+RE2ph5zpYudoY\nsy0igaqw+AdX+UAGoS1BrsUW10WxMDDzDzy7wtC+MK4LpEnwf+0qERlbAmtWwO61xpiySMSqwuM/\nhy8fSCf4ZSsGqAJ2G2P2u44tEuyh2Lk9oW8/mNAKkkN4P1YakWGbYfkqqN6kg9LoJCItgDzseCTY\n3K4DyrC5HfW/X//4qxP06w1te8ApicH32bWIHFcJG1fClrXGmL2RiFWFx399bgNkEfp4ZK8xZl8o\nP18LrCYmInkwcjwMaGXPYMwMYUBWY2AzML9OpPMi2LowmgejIlm94NKT4dz9cGwhtAzxTlRxIszp\nBv8aINLyE2OKdXvrKCLSbjCMHwEjkqGrscVGMHxAuYElAkuKReQTY8yuiATrgO28u4+B84fCKSUw\negekhvg+XJsGs0bCXweJyDvGmBK30apQ2d9zt5EwaTCMSoAOBpKDzO0aY8+WniciR6yGVbOieXLM\n7nR5zBlwWRYcUwR9Q3wWtkpgfmt4vxe8tkREZsXCILy5sIXVsBPhR+3s2bk5IbRSaWCtwKJKkdzZ\nxhSucR2nK7a4ajcMzh0Dp5fC6N2QHWI+bk+GLwfBG0NF0t4zplKXxkYRkdw+cOJYGJIKvUIYjxgD\nRQILETlqOyz8xBhTGkwLWmA1IRFpCaecCXdVwVgHd2CKE+F3R8PLAnwdfnvuiUgO/HAC/G4HtA9z\nQNGyDk7dC8NLoHqciOw2xuxxE6kKhy2uLjwWfr0N8mrDb/HrLLjnTBH5V/T+jlO6w0VD4a7NoRdW\nB/SqhF7boWMulE0A3nISonKg+xj48WC4tQAywiwOqgSe6w1PponI+9G77HnYePhlMpwa5nUq1cCx\nJTByHyQNhEe2A6udhKjCYu9QHncG/DIRJjrYTGprCvz2JJFsnzGl68JvLyI6wNlHw4NbQi+sDmhf\nAz/cCYPToWyiiLysO8NGB5Hc3nDOSXD3DuhUHX6L/8mDB84QkX8bY8ob+yrdRbBJ9RgAVwuMDel2\n4/9qWQe/2QpHHiUi6W7adK1FJzjZF35xVV9+LZxcA+26uGtThUpEkmHoKLi7wE1xBTC8DH5aA/0H\nuWkvEgb3h8mF4RdX9Z1cCAPz7WSM8pqd4T96INyxNfziCmyu/GwbTOyKXW4YdezfuV9bO5nlSqqB\n0wphwAB3barwtOkNl2XAxEI37XWqhjt3wbAx/qVZUahPT5hcEX5xVV/f/TAuCVI6uGtThcrm3uAx\n8GtHxRXYvvCyLLtkuvGi9E0Qf+wvvWtfOMFRZ3ZAhg+OEaCd23Zd6dsdBkfgmZJhJdCjh/t2VQja\nwsjE0Jd+BnJsEXTuZQu46GIfds7rACOCWjLQOMMN9nkI5bmMDnCccVtEA4ytgp7d3bbpTB4Mj8DW\nyEPLoE1+NL6fm6c+/W0f61KPKhiUCeS6bdeV9t3tChjXhu6Hnp3dt6tC0BoGp0FXR8XVAWOL7POo\njacFVtNJhfxkdzP89XWthTahLJ5uAslpkBOBv3OrWkhKc9+uCl5yll3j7Fq2D9onYDcViDbJkElk\nVlm3MJCsg1D3QigaOuVCtwgs++lWAXnRWkQnhfYsTiOaJRtAc9u9oHLbThBlZdulya51N9jOMQol\npEFuBMYj2TWQEY3XqeYoE4K60dRIffZDRstg7s5qgdV0EiP3yFuKD1Ibs9WoBxIEEgMMvvtNgbS/\nQc4T331t+OXQ4ilo+Th0uxO+DdBRB2pTNb30JEiK0O8j1RC1/dShwmoot0f/yOZ1q8egw73wQYBZ\n3oQQNlFQjRRknqYmRya3U32QGK2FxiFyr6G8PmDCWSDvwNzswzStuR0ZweRpAqREKIxUaNxxFR4Q\nCTwOayi3x14I6S/aPrvVY3DDUQ2/Nkr/us1Tgj8HHUvC/57RAiu2TG8N7R6AFk/aN/fE0+3XG1ts\nACTG4EXrnI/hwbu//7XjFkHBdVA8BdoUwFXnehObciNQbgOceprN75wnYMRlnoUYEQ3l9nP/tHld\ndCMMmQ83X+BNbMqN7cmQ9wdo9bjN4bEX2a+/2RZaPwLZT0PP22BvHG0m1VBeg32frxgKGbubPibl\nVqC8PmDINZD0hjexRVKg3B77tu2zi26Eqd80fVzKnUC5fdtgyH3UFtH5D8Gr7V38NC2wokJ6Hdz2\nHOz7Gcy/FWZPhmmd47/YuH8ZdD3o+aw/Lv7uAdShq6C4ddPHpdwJlNt3DILFo2DtDVByPfzxX15H\n6lZDud2/3vlHlWkgehc2prWpgXm/gqIpsOlGWHUkPNAXbv8xnPo2lF4L6WVw2UleR+pOQ3kNMOUq\nuP0Fgr5DqKJPoLwGeLgX7I/S5X/hCpTbKn4Eyu2nfgYPP2KL6FGfwz3nufhpWmBFhQlFcPN6+3nf\n/ZC7BVbmabHx/kkwQmeMYlqg3H5jElz0D7sjJNitnJuDoy+GjOdh4Qnwl1e8jkaFI4nvnmEpSQRf\nki2aC4bAn2fbr5//MSw82rMQm8RPRkLOXpiy0etIlAuB8roiAf5wOTz5opfRNb25k+0qon5TYFGc\nFpdRzeHqrEC5LQZ2Ztivl2VASyeb0WmBFXXeyofdPeHKVd//enMrNo4/DxLq4KXPvI5EuVI/t4s6\nwtwBdilV2wfhod5eR9c0vnoZKq6AIz+D207zOhoVrooEu6yk58vQcxGM2w7JZfUmxvZCWbRuZuHA\nphT4x3nwsk4WxJWD8/rO1XD2ZLu0eYLjnQej2QMzYPc1sPNGyCmEi670OqJmyuGd8YZy+8apcM/d\nkPECLBwHL/zDxU/SAiuqrE2Dq38JF037/nKi5lZsnH8iLB8Bnz+iZ2HHi4Nz25cI5Vmw4xa46QW4\n9zaIwOZOUWvK57B0zP9n777j5KyqBo7/zmzvm00nCQlJSCOkQkIILfQmiBQFUUAQRBAQQZqgCIrv\nKyJFQAQBEeEVQTqEKiUkpEFCGgnpvW62ZPvunPePOzFr3NndmXlmn5nZ8/189kOyzNw9mz37PPfc\n5xa/ozCxyg26aSVzL4J1Q+CNFrZqTuWpoK/3hl09YeL9kPcY1HSDY+6D9+0ct6S2d17/7AD47DB4\n/lW/I+tYR5W5f4sshevfho1D/I7IxGrv3H54X/jr6fDz26H6Ijj4XTjrEi++khVYHhORcSIy052S\nHomyNDjyJjjoA3hsxp7Pd7Zi4+pxMPVMeOkO788xMNES56cicnfk724pt/O3w0nTXU7f+JXrhM4s\n9DLmxPN0s4Wzj06EkvX+xWJ2E5HuIvKKiMQwlW90FQxeADOGQkM+VIburfO6Qp7HZx8mkh+ugdrv\nQNUl7iNnO7x3NRxd5ndkBkTkRBF5M/oWduf1BwdCRW/o9SdXSDdlQf4j3kWaqN7tsufPf5oE3db4\nF4vZTUQyROT3InJ59K3szu0XxsP2/dyTLIAffQwbhnkRZ2fosXcYEfkOcA9wBZArIkcC44Fngc3h\n39kITLgKeqyDt1/e8/ndxcYbN6VmsTH4OthwINQVukezJz0Db50FwQw49Q73mj5LYeFD/sbZuYlI\nPvA4MAA4U0SGAROAnqr629bfHS63x38KH44CFsJT+7i50BMr4vMd+KGl3P5sPFzRFyQIhdvgTw/6\nHWVnJyLjgX8CTwMLRORQXG7Xq2ob151PCiG/yd2o12fCsjFw9guw8gu4YjI89TH8/RgYNzPu30iH\naQT3/bkAACAASURBVCmvX3jH76jMfxIRAW4CrgS+KSK9cHl9MC7fF4Z/d7i8nvbdPa9Jfw52XRbH\nb8EHLeX2gpGwdSCgULgVHrdrts9CufwcUAHcISIjcbk9ELit9XeHy+2P81w/5Lsb4amxbq147KzA\n8oCIZAJ/BY4G5gC/AboCs4FZQBs709wxHL6aAkWr3dxQgPOfgicuTe1iY3lLT0PsZp1ARGQc8CKw\nEygFFoT+Owt4r+0Wwub2u3DIVW6r1LRG+NG9qXU5stxOdCJyI3ALMB04CfgxsBiX2+2YCvV5Cdx6\nDWjAfYyaBg/Ohr+vhR/+FPLPhx4r4c9vx/Hb6GAt5nUzVZ5MrTHRE5GuuGt2f+Az4G+4g39390e2\nt95CuLxOdXbNTnQicgrwF2ApkA+sxj28mAV81HYL4XK7/gG46ia4WiFrF9x3nxfxplKPxk+nA2fh\nKmqA/wGeVdV/j8iHngKEcfsSuP20//78AykwQhRUaIrDVNQmAQ16367Zy31AP6AOd4P+JfCRanv/\n7cPlNsBX93gSoW/ilX5BgYYUXrfjPxEpAG7H/RDzgReAJ1V1Q/tbuXI1XHnNf3/+m1vgmz/xIk6f\nKGic8i8Yat/E0U+Bw3AdzxrgOuBFVW3Y/QIRaeWQ63B53VyjJ9tYdzxVN6vC665vE9Yf6RB/BIpx\n1+x3gatU9YvmL3APb8MJl9uPfuo+vJUSBZaI5BfBvsNhaCYUSOTHagcboWYlfLUJ1qhqRHPmVfUf\nIvIS7vH70cC3gO8Ck5u9rCl+i/jrA1CdoDsE1FdDaRwWPO/IgPpa79tNHKFpHr0Hw8CesG9G6Bjx\nSAQhWA2l82FpA6xT1fb8m/37CqWqh4tIN+Ao4BjgT8C9QLMnqTWN0Bing67rhPhVMrFogEpcfFke\ndxjLBBpScErwHiKSnQF9R8HQPOgSiPBepKBNUL8Z1i2HlcAm1fYXBapaKSI5wEhcXh8DXCEio1S1\n2Qh/XUN8crsuAE0Nbb/OFw3ugbXXGgmNQSbq9+0JESnuDgMGwaBMyJMIt5lW0Dqo+BKWlcNaVY3o\nbCZVvUFEfgkcDhyLmyp4Kq5PslsQ4nWJqQNXcSSgxlrYlgG9Pc7B8gyoqmn7dclLRALAPsNgcDfo\nnRZdf6RhO2xeAsuBDaoaUZ6oaj8RGcCea/ZUEfmOqjafTRMM5WAcNETUH0n6AktEuh4Hp50FmQdD\n+b5QmRbhCFkTyHbImAMHvQwTs0Sm1qmujqSN0OjQ9NDHnS28pA62NcCOdOjqcTG0Jh22Jeg5QotX\nwudHwqRKb9udUwirZnnbZuIQEekHE78O446BmjFQUQTVkbZTD7ICCj+FY56HchF5TVXb87P49+9Q\nqMP5fOijBQ1VsCoOndDKAGwK4kZhE4qqNomMXQMzurudprz0KbQ5jSd5iUjeRDj1bOhyCFQOhOqc\nKIrockibB/u/D6P/CZ+JyMz2P1mF0Gu/CH38vuVXrd8Ja7Mjja1ta3Nguyfz/ONgO8wS70f6ZxbC\ntg3Nn6SkmmyRfmfCSaeCToDyblCZGWF/pB5kA2TPhsOfh3oRefU/i/62qWoVMDX00dL/bxI5rBJW\nZsFAj3ujqyGKe1XH2LAcZg2B0z2+vn6WA0vXettm4hCRtP3g8DNhxBSoPgAq8yHiAe4aCCyGfh/B\nsBdghYi8p6oR9YfV9c3/HPpoSRWsjEN/ZGkOVO2M5B6T1AWWiGQcDqfeCXUTYuyQdIXGoVBzGGQq\nnCAiz6mqZ8N4qhoUGbQUPhgGZ271ql23p/80pdVNNPxUvR6mKhyT4w6a9cKaTHg9AFtTdkefPBh8\nHoy/DdbnxvgEpwdUToLKIVDyczheRP4ZyWh/O2yGGU1ut8BiD0cuPymGDSsTt0M2bwm8MhjGV+w5\n9yhWL3SHRRubTy9ONWPg+Jsg93SIYDrefyuGpv6w/USQfBh3r1sbuLTNN0akeiN8JHCBx08qp2XD\nylXetecdVd0lMnItPN8bvuXRvao6AC91gS9mtP3a5CQihWfASb+BnYOj6Hw21wMax0LVGChogFNF\n5BlV9fiR07Il8NFBMNDDvsOaTFhQA+zwrk0vrVwBr4yGSel7DrmP1ed58H4dCdsHi113OPBiGHED\nrIu1aOgLpcdDaTcYeJ97pO31NWE7fFHrNrHo6+HvzLQusDSiWJO6wAJ6HgU5E9yN1RP9of4UCH7o\nFoh6PE9i5SJ4dCj0KoTJHnSgKgNwVx+YP0dVE26UH3bfrLPfgPST4bQimFAOPRsgM8IOaZPAlkyY\nUwQvp8ErU1U1ZbcCHgkHnAWlsRZXzZ0CpS/BPnOhCx7+zqhqg0ifWXDnYfCzDd4UWXPy4aEsWDg/\n9rbiZi08OwNqJsLxtTCuHIqaIC3CjnhNAFbkwPRCeK4UvmjH5iHJSUSKL4SesRZXzWWBngM73oMD\n8LjAUtVykcGL4e6R8OMN7gyVWDQCf+4Nb60DtngRY3ws+gDuORnW94VJFbB/NeRE8b2Xp8PcQngn\nF16cBfUJWVR6oRD2PRmItbhqbgJUHgV9PoBegMdPSLZ9BU+NhL5dvDk8eFMG3NULFrwTySh/R1LV\nzSLF/4LgFDi5HsaXQfeGyFeV1Ausz4KZxfBCI7z3qqrGa16ar0REJsPI82GLlwXDd2DzqzBcRGZF\nOlWwNe5hRo9P4dfHwC82elNIv10CT1VB6YpI3pXUBdYA6Ds+DpMtD4KKgW7Lx3letquqZSLyMpQd\nCwf0gbG4tXqBCDtkdcA6gVlNsGgmrP/Myzi9plq7XkSeg2kDYPD+kFlI5GewBaGhBlbOhc2rI10n\nl0xEJOtr0HMMbPS67UOAv0B3PCywnI1fuI00vzgYJqRDf4WsKNqpEpgnsKAcZrwc6dSYjqSqKiKf\nwR83wtsDoXd/SM+CQITTE5oaYVcpLJgFDevbuU4uWXWfGIdNDkZDVV/oIyI53g82rZgGjzbCjJEw\nQaCvQHqE30OjuEkWnwJLlsOXH3nZqfCaqlaLyKswvy+MHA75JRCIsL8QBLQWNn0FyyNeJ5dshsHA\n8Xs2uvLMwVC7v9toyNMCyw1+yitQEeqPHKRQFEVLdcBygTn18Nm7qjuXeRmn11TLlojIDnhvP9h3\nEKQVRt4dUYW6Clg2HUrXpPKMA6BwCOT1B0+XoXSFxgMg430oAbZ52bbq1i9FugssOxQOyoRBQdcf\niaSvHRT3Lc8RWLgVPnsvNPW23ZK6wCqCvKI47BzRFRqyINfrdgFUdYcrNmZ2we2G0spuPmEFcXOc\ntybu9Kn/FHraNA+Pi9YUldGF+PxyFkJTMeR43W6o4zRfRBbDOz2AXMiI8K7VAO73uQwoTYbOWCjG\nTaGPT3wOJ+EVQlZxnDYtKXLtZuDxmr3QaPx0EZkLr/cEsiEjwiK6QXG7CmxV1QRdn/KfQiPyK0If\npg2ZkFcSh50jiqCh0G2z7jlVLQdeEJFieKorkB5FbjfhjqLZmsiDBs2p6lZgK5BCZ9TFTWZxnHb+\n7Or+E00fuE2q25aIyFfwXg8gDzIifUwJNDQAO6KdLZXUBVYAJNyGFsPhqlVwcBaUl7vD9pgD+afB\nTyuhZwFseR3+Zyz8V0WaBhrpzj+RCHXKSvH8KYJJERKuMmkpry+Cyf+Ecyug3//CT653O/S0KACa\nHt/cbsDD6V8mtaS7x3vtvmYfBBctgwkBaCiGzS/DfaNbuGbDvyf5xDO36/B8mpZJFaH+SItayu1J\n8O0lMFFAc6D8Sbj3+Bb6BIE490fg3wOgKTvl3sQmkrze7Vg44z24aDp8e5Lbcjdcu23ldtS5H9pA\nw/OZQO0Vh/OJEsOZ8N6v4efNP3c5nDUU5lfCZUNh/qXu7CpjkkZLeX0YrLkP7uoJi/yKy5hYtZTb\nR8DnG+CKMriqO2y4xK7ZJgm1lNt/hn+WwVU74erRMOtad7yLMUmjpbwGeBW6LYExud5N/Uv42Swt\nSdkC605Y1N89tv63pTDxFngf4BZ4f6lbkmJM0mgpry+G9RfaUyOT5FrK7XtgXkFoSuEYWFoG3fyJ\nzpjotZTbI5pNZa2F7HBPdo1JVC3lNcBVcMkN8ASdPKdTtsBqSS0UHxvaGfBY2Fnr1kAZY4xJcG/B\ncQfDXL/jMMYrh8D5ufD4Z3DUH+FvfsdjTKx+ABOKYMdVoQPROrNOVWAZY4xJPkfCOQFoego+iKGZ\nuK5jMSZSn8LT1fC9cfDBT+HUGJqy3Da+WwOZz8M5T9tgAdDJCqxsKHvXnQHEu9Al2xZ1GmNMQvsm\nHL0YDv4Q7vZgV6ZOPWXFJKar4MOFcGiMzVhuG1+9Dr13Qc+JcH8ePFYD3Y6B+97vpLPFOlWBNQRm\n/QqOBvgVHD3Utug0xpiEdTWMmwpnvgR39I/DFtjG+OVp6L37z4/CxBJY72c8xsTqh7CmFr5TBZdU\nwSU5sP09uProTvowI6m3aW/NYLhuAxxYB4W58MRJ8MxD8PzpcEMBHJ8P216F3/gdpzGRaCmvS6Dy\nb3BZHRTdCrfdC6s2tLCzjzGJrKXcfgvOCkLGqXAHQB9YuhAe8jtWYyLRUm5/BuOvcKdWBwth25/g\nQb/jNCYSLeX1C/CO33ElipQtsJbD3S19fhP8rKNjMcYr4fL6Ufi0o2Mxxkthcttu1ibpWW6bVBSu\nP7JbFVzSUbEkoqSeIhgEbYrD4s4mELX5zMZHwfi1a4uhja80TjnYFI9GjWmnUH8kHu1K0Pojxkfx\nuram+jU7qQusGqipDn/IdNQqIL0B6rxu15h2aqiMUyd0F6SVQ2082jamLaVQWxWn+06la7chHm0b\n05YGqKuMw6ygKkivtWu28U/jfx105ZFdbuAgZa/ZSV1gLYON8yDb63Y/g8K1sMrrdo1pD1Wt3QSl\nCyHX67Y/A6mG7V63a0w7lc6Ow+DBUsjZ6BZS17T5YmPiYCWs+hyKvG53HuQstw0wjH/Kv4L6rR4P\nHlRCYIErsHZ62W4iSeoCC9j0ITQshhyvGtwB6W9BxgZY41WbxkRqCSx8Bbo1etjmDCiYA5XADg+b\nNSYSO+bBzo897Ig2Ai9C9yWwSFVtKpXxxTZY+zakedkRXQ7ZH0JTPWz0qk1jIqGqwRWw5Hno4WW7\nL0KP1bBcVdt6gpW0yxqSepMLVa0TkTdvha+dBwWHws7eUT5urITAJ1D8IuS9Bh+q6jav4zWmvcph\n6V+gdwMMPxZ2ToSKaH9Z10DmNCj5CzR+Cq+oaryWeBnTKlVVEXnnl3D6d6H3EbAj2u3XG4HZUPAe\ndHkalpXCEo/DNabdVHVHscgH2XD0mbBrMpQVRLmcdgekfwRdnoXM9+B1VbUpgsY36+DzP0L3Gtj3\naCgdC1XRtrUQcj+Ekidh69L2b86VlANnkgoDfiLStR8M7g/D8iA70o5oEKiBps2w/Ev4SlU3tO/r\noqrJW12bxCYiaZkwYCQM7wJ9sgGJ8ELTALILqlbA4s2wQlXL2/66zAZ+qMrsaGM3pjUiUtgLBg+G\n4XmQnxnh+xW0BqQcNs6HJQ2wWlVbfeArwmjgKVVGRx+5Ma0TkX0OgKHdYVAepEU6TagJpArq1sGy\nlbCsPYO9ItwPLFfl/uiiNqZ1IpKZCwMPhBGF0D2atTn1QAWULoLFFa4/0ubAgQjVQDdVqqP4kr5K\n6idYu6nqDty0p5kikkbkUx+1+c1ZRIbitnP/vo0cGb+oahOwAlghIkJ0v6/BUDsAiMgPgXJV/ZtH\nYRoTMVWtAD4DPovymg3QtPtprDjPAterqq1XMb5R1Y3ARhH5gOiu2Xv3R04GDgVutSmwxi+qWg98\nCXwpIgGiy+3G5jNoROQB4FlVne5RmAklJQqs5kKdyVh3f1wBZAAvicjXrcgyfgvdWL3Ybed94D0R\nSVPVpzxoz5iYeHHNDk09/Az4l4hMsSLL+M3Da/Z04BdAgYhcY0WW8VuoSIpqavdeXmNPPzvliqxk\n3+QiLkKjR+fjdqV6SUSyAURksq+BGRMjVf0SOAa4S0S+CyAi3UVkf38jMyY2qvpb4E+4IqsvgIgc\nJCKRzkA0JmGoahlwPO4p1r2hp7WZIjLe59CMiYmqvgV8B9fPPhRARAaJSHd/I/OGFVhhhCmynheR\nQf5GZkxsWiiyJgCP+BuVMbFroci6BTjL36iMiU2oyDqOUJGF24XzHRHJ8jUwY2LUQpF1NnCrv1F5\nwwqsVuxdZAGv4n74xiS15kUW0BMYJyI9/Y3KmNg1L7KAD7BrtkkBexVZtwCLgWN9DcoYDzQvsoDV\nwJmhdV5JLem/gQ5wHvB3oAIYA5zjbzjGxE5EugCnAT8A7sDdrL/ha1DGeEBEjgK2Ak8BVwHHiEih\nr0EZ440LgNuAybiTCmzwwCQ9ERkMDAF+DNyPOzD+UF+D8oAVWG2rBq7GjRz1BMaKyHB/QzImZvW4\ngwMfBGqBccCVvkZkjDdqgK8D1+PyPAf4rq8RGROj0E6yAeA3QF9gFHCuTRM0KaAOGIsrrrYD/XGD\nY0nNCqw2qOrzqnoUMBy4G1ifDkcicioAIqfithk2JmmoapWqXoe7kH0beBboikhaCTuKnuHciy23\nTTJS1ZmqegauE3oHsETg0Pu46ojebOxheW2SkTq/V9XRwJG4wbFd+TBiFPMHXMKjJ1hum2SkqutU\n9XtAb+Ba3G7HwxBJS6MxsI1uNyZjbqfEQcMdyv2A3wImCpqvyC5gJnACzc4bMibphHJ7PHOmPMzl\nTGB2NZbbJtmF8vpzxky6kCdz5zPGrtkmNYRy+wr+cMQQlqVfzf1VWG6bVBDK7VyqjtlG92Ae1UnX\nH7ECK1LuydWzT3Bh/vd4gkLKAagmt7qRjMbW32xM4kqnIT2X6twKCsmilmzqAKgir8py2ySrdBrS\n86jKqyWTOnIopgxwed1AphfnFBnjiwzqM/KoyiuniABBCqkAYBf5uyy3TTLLoD4jn135O+nCWvrS\nj40Au4BzUX3N5/DaxQqsSIncCvyijsxANnWUUYQiwQoKf92ftXf7HZ4x0VpLv+sLqLxpMh8H7uFa\nJjJ7d27fNYA1ltsmKa2m//WFVNz4GWMCl/MwM5mEIsFyiu4ayKrf+R2fMdFayX7XFVF+41XcGxjE\nCq7mARQJllH8m8GssNw2SWs5g64rpuyGPqwP7KCEPGoBgsDPUb3T5/DaJd3vAJLQ50B1FvX5AEVu\nxKi6mPKZqqHHWcYkI1n/KVCdQ11+V3ZS7NK5ugtln6qGhv2NSTaydgZQ3Y3S/Bzq6OJSubqEnZ+q\nstPn6IyJnqyeAVR3oTy/G6WUuHSu7krpDFVKfY7OmOjJyulAtUB+s80iqoF5foUUKdvkInJv4uaB\n7gr9ffd8/jd9iyjFicifRcQOwo2/N4GZQQJBRYJYbseViOSIyGoRGeh3LClud15Xh/5ueR1HIpIu\nIgtF5Bq/Y+kE3gRmNpHWoIhiuR1XInKIiGyXJNtsIUnt7muTrP0RK7Ai5RbXnQCcG/rMuSTRortk\nIyKjcAfQnR7aptbESyi3VzNg5QoGPYLldrz9CreLo50/Fk+hvP6Yw2/cRvfNWF7HTegafT8wArft\nsomnUG5/wuS3FnDgG1hux42I7AO8AhTjdpU28RTK7Xoy62vJvoMkzG1bgxUDEVQV6/THiYhkAJ8C\nWUBX4FRVnetvVKlPhDnAD1SZ43csqUpEJgP/xE3TXqmqB/scUsoTYTTwlCqj/Y4lVYnItcClQDdc\nXk/wOaROQYQHgGWqPOB3LKlIRAqAj4AKoAj4g6o+5m9UnYMINUCJKjV+xxIpe4JlEtkNwDZcJ/Ql\n4Dx/wzEmdiKSCzwJPAAsBvqJyBBfgzImRiJyAu4MmyeAd4ADRCTH36iM8cSTwGwgD3dG00RfozFJ\nwQosk8hGAd/HTaN6FDjb33CM8cRI4HVgA7AK+Dtwlq8RGRO7zcBxwGjgXWAJNk3QpIa/AjcDQ4Hn\nsALLtIPtImgSlqqeIyK9gF2q+pmIWIFlkp6qzgJmicjtwGrcmpViX4MyJkaqOj+0BmsKcCvu6ewy\nf6MyJnaq+pKInI5bsjAb+KnPIZkkYAWWSXQDcKP8qOpMf0MxxlP7Af9S1e3Adr+DMcYDQ4AG3Pqr\nFX4HY4yHpgDvq9tkYarfwZjEZ1METaIbgBvlNybV7Edo8MCYFDEFN2hgu2eZVDMF+JffQZjkYQWW\nSXQDsALLpKYBWIFlUstRwAc+x2CMp0SkG+56bbsYm3azAsskugFYgWVSjIhkAT1wG10Yk/RC66+O\nwkb5Teo5Epimqg1+B9IJJe1RSLYGyyS6l3C7URmTShqBK1W10e9AjPHQPaq62u8gjPHYWuAev4Po\nxJJyyrEVWCahqaotJjUpJ7RQ+lG/4zDGK6F1V//rdxzGeE1VZ/sdg0k+VmD5JHQAYzGQEcXbg0A1\nsDPZFxOLSDrQB0YOhi49IS2z5VeqQn01LF8O29aoammHBmraJTRNqBjIJbopyE1AmapWexqYD0Sk\nGLoPgEGDIDMPAmH+PYKNsGsHLFwG9etVta5DAzXtIiIZQAnumh3ptBUF6oDSUHGd8EQkEzL7wsih\nkN8VAhH2F1ShsQ42rIHVq4AtyX6/SmAxTaMKTVnuQnT9kSbcUSoVscTQkdyaqj4DoP9AyIjiMGxV\nqKuAL5dB+VpV3eV5kCZmof5IFyCHyPsjitsRdaeq1kfz9a3A6mAiUgCjJsPpA2BkEAqiuDA2AOsF\nFlWKdJmjunOp13F2BNdhGXY0nDkIjtoFB+yCnDAd6yaB7Rkw8yB4dYJI9lTV2jUdG7FpjUjBIJg8\nEYYXuLOho7lXVyosDoiMXQfzPlHVMq/j7Agi2X3hjJPhNIUJ5dCzEtLCdC5rArCyBKYfB8/tEJHX\nU6HATBXuOjV4Ihw/DEYFoItAWoStNAA7gPkNIgMWwJq5qhqMQ7iecAOA40+Gs3vAoZUwuBpyIoy3\nSaA8DeYPh7fHwkszReQzK7LiJuJ/VxHJhWGT4JRBMFKgkMhyuwmoB5aLyCHbYf501ZqNkcbRkUSK\nh8MFR8FJ9TC+ArpUhL82h1MvsCEbZh4O/6wXkVdDx22YBCFSsj8cNsH1R/podP2RMmChigz7CpbO\nUNXaSN5tBVYHEpF8OOw0uC4TTtwIWTHeaFZmwd3HinRLV92+yJsoO9KAg+CygXDNuva9vmsjDK2B\nw7KAE0Xk78naAU81IiVD4JvHwvXbYWiMN9hG4N1u8L9fE5GXk2lkFHYPopx2EtxV5vK1LcVN0LsB\nJldA/+5w59HAa3EP1LTJPWE/4Di4vC98dwsUxFgU7UiHPx4Mj+eKyEeJW2wcMAWuK4ZvrY+tna6N\nMHAbHBuAnEnw4A5s06KE4Irog06BHxfC17dAboy5PScf7j5NJOdV1ZqE3LxHRHrBRVPgN5ugR4zr\nX3s0wtgqGFcA9aeIyDO2CUZiEOk+Ar41Ba7dCoNjzMXqADw3GO4rFpE3IplhYrsIdqh9R8CleXD6\n9tiLK4CBdXDHRpgw2U3nSB4ikgaDRsB3Nkf+7oF1cLJCyb7eR2Yi5Tqh4w6HOza3r6BoSzpwYilc\nngWDR8XeXkcr6gcnBaL7t/jGNhjR1xVpJgH0gbMGwBWbYi+uwBUcN6yDE0YA3WNvz3tuIHDEvnDW\nVu9aLQjCGWVwwAjv2jSxKRkM3+sK522NvbgCOGgX3FQGYw+Lva14GTwYTq+JvbhqbkIlTMkBenvX\npomW6wtPmOz6xoMjeuLUstwgXLgZvtMLcgdE8k4rsDqIiARgv+FwrMePkbs2wqQAyffLXQIj0l38\n0RhXAfsP9jYkE6WecHCGewrjpaN3QP+hrhhPJkMGwrjK6N6bDkyEBO18dz4HDoHDPF5fkQ4cWQ99\nEnWAqDtMwPsJLhMqoGe/0Lpb47uhI+BIj9cyj66CoV1EpIu37XqlzyCYFIdZL+PqYEhf79s1UegF\nh6RF37cM54gyGBnRAJEVWB0nC7pne98JBRjSCCVF3rcbVxnQNYa396iHzGzPojExyMiHoXFot2sj\n9EnHbZiRRDJzoVtUi2KdLhDdhHHTuijWuxZ3d2tDvTaoGvbp5X27nshwe3l4LUshP9S+8ZMbtCos\nhhEezDjY2zAl9INOJG7Dg7Qcb59e7VbcALl53rdrIldSDPvHYSOhA6sgL6KBTyuwOk4aZMWp6cwg\n5CbbTauNheInnA5Ff3Afg6+DTS18f2L5mxByMlwOxkOWEvmOAj6TVjryJ35tT16feFrLrwkoZCTt\n4YoJLsKp2WmZkW/u0B7ZQUhL1Gu2hO8aDL8Ksv/q8ne3Ofmwzy+h4BH3389b6Wimhdo3PkuDeK0q\nyIaEXd/fWpehpdy+aLL7u7wMv21lxkxAIWB5nRByMyArDgVWlkK6uNlo7WMd1ITwajfo9SsofCjU\n8fqa+3x7f7kB0lLol3tqCUw7FRZdC+VXQjAAVx/hd1SmNYEwHddwuT35XMh5Errc5z5+ND5Mu3GJ\n1h8P7wszToAvroX1V8EXB8PTyTa11wDh8/r+AdD9t1D8AOx7KywOswV0uN+XRHfme/Drn//n5y4/\nC4bOh8rL3H8vPcuf2Exkwo1bbcqArr+DLve73J58nvv88B+5zxXfD/vdCMtTbAZJS7l92Bq47y7o\nmYSbiHVWrfWFw+V2j9/s6YvkPAn9b2n5/ZH1R1Kp95LEcprgp3+Gih/CrOvhk1Pg0X6d+5db02Bz\nJlQGoCEL+u7wOyITjXC5DTD5Zdh5tft4YK6/cXaEWf2gz1LoX+8W/Q9eCE9M8jsqE41weX37j+DS\nv0DZj2DCDLj4G35H6q07F0H/vaZMLp0It7zv/nzL+7D0kI6Py3inewPMvAV2XgVrroal4+BXQ+GF\nx9znyq6CLtvg+6f4Ham3Wsrti9fDhQm5I6KJRrjc3nrjnr5Iry9h0nQvvpoVWAnh2J1w7Ur356E1\nULIOvuzaeX+5TyyFI16EQx6Hbk9BdjXcM8/vqEw0wuV2Z3TYGlh3AMwqgDWZsOQg2N7N76hMdXWa\nDgAAIABJREFUNMLldUVfuH2h+/wF82Dxof7F2FFqi92/B7j/1hb7G4+JTTp7dl8rT4NgOojuWa/V\nCDRk2kxP00E8TLRwub3b0hzYMBpu+9SLr2YFVsJ5oQdsGwQXJ+Xhwd74PA/mT4QPL4EtF0B9Npx3\nlN9RmVjtndszTnHTTYZf1fq6jVRx8Xo4/gU48Q6YcDv0XAWBOMwVNx2reV4Xr4ErJrrPPzAZqq2A\nNkmoOuCmSw16GgZ9Djcvc58fdjXkPwXb+sITr/obo+lEPJxSHS63AX5+CPSZ79XmL1ZgJZTl2fD9\nm+C8R+Ozu0+yuH8MFG9xB68WN7nHtQuG+R2VicXeuf2rN2HbpbDlaigqhfMu9jvCjvHCO1B6DWy5\nCfIqoe8mvyMysdg7r//nPnj1FCj5PVTnQCAOO5YlmuwyeDe0Lfe7XdzfTXLLDbrpUnMvgnVD3PpR\ngC/vg9ILofs6uO5wX0M0Jirhchtg2hFw9EdefSUrsDwmIv1F5HkRiXBr6bI0OPImOOgDeGxGXIJL\nGvtvg41D3TSqRuDz0dBvvd9RdXYicp6IhFn82ZqWcvuoMnehy1K4/m3YOMTTYBPWx6HjFF7uBksO\nhV9+6G88RkTyROQRERkb2TtbyuvvbYCNt0Hpj+HSjyA/ioPUk82QWfCro92ff3U0DJ3pbzxmNxEZ\nLyKPRd/C6CoYvABeaLYJUW4QTpsGn3aC6a8mEYlzvYicG30re+f2rALYNgTunO1NlFZgeUpEjgY+\nBT4B6kRkpIhcKCL7tP7ORmDCVdBjHbz9cvwjTXQ3L4OR0+HA+6DrH0AFnpzqd1SdlYiki8jvgTuA\nV0SkUESmiMi32n53uNx+t9lBlH+aBN3WeBx2gjrzJih6EC68DX7wMIyt8juizkxEBuOu2ZnAktAA\n2dkiMqb1d4bL690FdJ3And+EKW/GJ3K/DL4Ozv8tVPaB3CfgzOPgoefhy7Fum/Yvx8LDz/sdpQER\nuQCYCrwhIhkiMlZELhWRQa2/85NCmB+asr0+E5aNgf3XwzOhHU8bgakHQ48UG/RsKbe/f4j787Zh\ncOtt0Od2v6Ps7ESkAHgeOBP4UERKROQEETm77Xe3lNtDQ3l852QYMNvLs2oT9KyC5OIOsOOXwJW4\nC9rpwO3AJmAW8BFQEb6FO4bDV1OgaLWbGwpw/lNQmwF/uwzqitwv972rYMPPw7eTSj55BnjG7yg6\nu9DgwMtADq4j+n/AAGAe8E7bLYTL7beOgK0DAYXCrfD4g/GIP/FsvdHvCIwTuiH/CZgGdAPWAEFg\nJnBf6+8Ol9df7eN2FAQYPgP+7934RO+X5Xe3/PlNP+vYOEw4IpIB/Bk4FngTuA74K7CaPf2RVnxe\nArdeAxpwH6Omwb1zoN9v4Ie5bsCzxyp4+aG4fiMdLlxuP+rJhgcmdiIyCtcf2QisAj4EegJzgdfb\nbqGl3H4w9MRq1hHwTU8Hh6zA8sa3gJ8BO4FCXGFwhqru3P0CEWnlZPPbl8DtYQ4dTeVf7ljX92uc\nDrc1zbwBjAaWAlW4QYRpqtrOUZ6wuZ3C27KrBwtyG5L0nKTkICLFwN+BOqAINzB2FbBatT0/v1bz\nOtkX/8c79yy34+s+4Du4Ad4s4F5gqqr+e5BXRFo5ZfjK1XDlNf/9+a03eBumH+LZZbBdFTvAB7jr\ndRmuyPoWME9V29mZDJfbAJtv9iC+/5ByBZaIpAO9hsDALtAlEOY0PQWthsovYAWwSVVro/2aqvqs\niLwHTAGOAX4KXAJMaPayoHu0Hg+NAahOtsXUDa0+1GvTznRoqPMsmiQgIvm50GcoDMiCXAlzRW+C\nhs2wZa0bkd+mGlMhOg44EJfXxwAv4fL7kT0vqWmExjjdXeqF+N4V46ChFspzcZ33KJRD/C4WCSc0\nA6D7vjCgJ/RIg4yW5q4HgTqoXgqrq2GDqu5q4WXtoqplIlIEHI7L63OAnwD7A6XNvmowlIMeqwtA\nMFF/xo2xXZtbaZZKoXPldibQ6wAYlA+FEmZZRhAad0LpV25Ufkv7O4x7vlSzP18B3MOea/ZDwIvA\n95u9RsGzmVB7aYDYR089p6oqcmS9WztZ7HF8lemwq1NtTCYixSXQbyD0S3eFfIsaoW4lrC+Fdc0f\nOkSpF3AIcDQuty8FTuE/nspWN7o+sdcaQx/tHyBKqQJLRLLHwEmnQM9DobaPm2PXYucsCLIVes+B\nwa9DtYi8GssPX1W34kZE/x6KZe+Eq4PSJndwboHHHcZN6VBe6W2bcbcTFgWj//f4vAhWp/BTkP+U\nLdL3a3DyCcAYqOrSyt2xDjKXw6iPYPxU+FJEPorihg1AqDibH/q4JzT9ZK+fV0MNrItHJ1RgqwJR\nD374Y/UamD8h+vVVcwToFAdri0hgPzjiRBh+JNQPgaqsVq7Z5ZA7D/q/BWSLvFmrui7ar62qlbgn\ntG+EYsn+74G26p2wugB6eHx93ZQN5Yl6xuGO+DxgnpcP2za1/+l3chORgkPglJOheCLU9IS6cP2R\nOshaC91mwKjXYb2IvKWq9RF+SQVXSADLQx+PiEiAvTrAqtogckQtbMrwcs2Js05I2Gv2ttXuwPfj\nS9t8aUTm5cDSFFuTFl43kZHnwmHHgI6AygJoCrRQeARBqiFnEfR9Hyb3EJmxVTXqM01DvxMfhT5+\nISI5/FeulVe6PrHXVmdDTUX7Zjg4KVVgjYTjroeS86C9N67qo6FsEhTdAqeKyN+juKi1SFXr9vp7\nk8jw5fDxADjZw85TIy7X6pNqtyp3gR+6DF4YAhdGGPuOdHgnHTavjU90iUVESs6CU+6C0sHtvHGN\nhaozgD4w/CGoxq0riVmYztEWmK6uIMrycPrPJ0Wwfo1Xv5MdZ+taeHsSnBBF5+XdLrBom6p2iq2u\n+8P4i2HEDbCuvTejyVBxAmTfBCeLyD9U1ZPOUsuzGJYshZlTYILHBdb0bFi6yts2vaGq5SLjt8Lb\nJd51RBuB10pgcacYFBORtIlw8m2QeVI7+yNjoep0YDD0vgeOAt72IpbQIFkLT1dWfwnTDoSzt3jx\ndZxNGfBFLbDduza9tOQreHM4HBbaxdYLy7Phw0bclMyUly3S/3tw5B2wsWs7n0ZPgMozIO0XcFiB\nSGWl6govYlHVFvK6frNbVvtDvC1xphfDV3MieUfK7CIoIsXjoM95sDXS9x4O5cdBHtA7DqE18+Ui\neDwbFud4014jcHc/mLdYVZNwN7JlM+GBHXB/3z07u7SmMgBTS+Dm3vDaR6qaoBdxb/WCAd+ApvYW\nV7ulA9+HTUNgZGjqbFy4junCBfCbvq7I8sLKLHisAObP96a9juOehL/5L7ilF7zR1U1JacvKLHiy\nF/xaYW6KbYzQMhFJGwwjfxDFcONgqP0GNPWBgXEJ7t+q1sHzVf+562Ws/q8HTN0GJPCg2Gfvwa+D\nLidXhp3+07Y6cTt33b4v/HUhVC33LsaE1uNI6HKSW5cdkQth00gYKCJxPnx93TL4C94d8l4ZgN/1\nhiVzY5yWHk/r4bnZcFtfeL84tvvVjnR4sTvc3BX+NTWWZSbJZDiM/DaUtbe42q0Yms6D0uEwMl6x\nAbi+8Nwl8Lu+3s1GnlEAzzTBtogKw5R5gpUBPSbFsHj2YKgZ7nZHi9t20aq6TURegZ0nwMFdYUwj\n5ESRAY0B2JgOHwvMXQQrP/E+2vhT1VoReR1WDIJhI6Cgj3sCIi38HJsEappg83L4cpmqbuz4iP0x\nCIZNdIs6I9YVGkdD+nvQFfBwpHJvq2fCXwKw4EA4AujTAJkR3mSDQG0aLEiHTxtg2muqmsCd0PBU\ndy4VkQr4dAj03B/y0sKPZ9UDuyph2WzYtjyWtUVJpuuBkBnpjXq3iVA2AIYAEY0qRkJVa9w1+2cn\nwct9YEIQChsiH5sMAtszYUYAZm+CL95S1YRdi+SeYsmLsHgwDBkB+V3dTvaRCOLGhErXwaIZUL86\ngTvenuoPfQ+KMq/TgUnAP9zuaCs9DawZVd3pcrviJDikCMYFXX8k0tyuD8CKDJimMGc6bFkYl4A9\n4NZhyWz43RZ4dxh07Q854ZbGtaIRqK6HdUth5TJV3RaPeBONiGSe4nI7qqd146CyL/RpeTq2l1ZO\ng8cCMG+IW2bbuwHSI6wPgkBVBswJwMwqmP5K841i2iNlCqxukNc1hoWV3aA+Hwq8jKklqrpRRP4K\n7/eAkm6Qnw1pEY6iNDTClgpo2JTsnbHQVMrFwOLQXPFwo/2ayB2SeMqA3F5uB7+odHX/ibR3FJFQ\nx+kTEZkHr/SGnkWQEcX1ZVcdbNuOW+id1Gs1VHUT7kb0YegJYrjf82C0a+SSXGa3GN7cB+ozocSz\naMJQ1QoR+QfM7AqFPaFbLgQi7JE1NMG2XVC9BdgZyTx+v4TuLfOAeSKSRnQzXhqT4Xv1WqGrSKPe\nhKk7BHMh28uYWqKqW0Xkafi4B5R0h6KcyPojTQo1DVBaBvWbWp6ylVhC+bgGWBPaYCeafnBn7Y9k\nFgNZUT7MSAe6uMoliziu0wvdT/8lInPg1d7QLYr+SFMQymugdCtus7CI79EpU2CluTte1BfyNHe4\nQ4fssxn6xdwY+jAhoU56pxjhjIRAIDOGf5fMfzcTf6Gpqp1lGlC7ddKbcVtimrcausl3VF4HgW2h\nj04n1LnojIMAUQlAICOG/kgASO+gJRyhn+3uwaBOJVRsJfVAXgeTjBgbCL0/kut21Nf40EZGvm0A\nlzIFVlvy4LEMqBEIBqBpB1zrd0zGxGo+5H0dfrQD+gN6Pdx3qzuzypik9ST0+bE7DgCAXdDrGPjb\nVHjFx7CMidkJcPqncBxAd1j9MdzX2zr5JgWcCF+bAScATIK3PbxeJ+VT8E5TYAG8CTdP8rGaNcZr\n58D3x8Lcf8JvdkD6+lbOozAmWVwIGy6EqwGqIVACT14GM/yNypjYTIWSaXDqUriiL9QPhJ9eDUc8\nB+/5HZsxsXgY9p0BJ3wB15ZA41C4/WmYfX4nfDK6W8rsImhMZ7MYctbDAc/BO/DvDS2ScDdJY8L7\nGYwqhE1ndNLpeSa1KKRthsxKCDRAVt9OcuadSW2zoF8fWNof6gsgOBgWPuH2a+m0OlOBpafAHSXw\n+6+HHmEak8zegV7ZUHEAXN0F7h0BP1ppT7BMinkTjjjYHfYXqw5Zr2VMOCdC6RHw4iHweDd4Khuq\n73EbiRiT1A6DNevggFlQsAYyl8BB2yGWfYySXqcpsF6EG0rhmpfhFx/CKT+DA/yOyZhY1EPaThh0\nAby5E67JhNpvw1l+x2WMV3ZA+kqYeD14dRRFUs7lN6nhc8ibDxM/hEu2wAX1kH2eO1TYmKR2Maw/\nHl44Ee6YALf3hFWBTr4xTqcpsI6HUnCHCo+AGZ+681OMSVrjYXsObL8ZlgF8DT5ZD4P8jssYr9wM\n47vCiqOiPAfOmERyP4wphi2ToaIYmibB9AUwzO+4jPHCC/BOKVyzBW7Kc2deddr1V9BJCqyVkLUU\ncnb/eRmMPSCOBwob0xGOhrI82P4k9AF4H0b3hHU+h2WMZ96FIybDh37HYYwX9odtG2HoGshsBD6H\n0f1gvd9xGeOFj6EI4GXotgQO/WUnv3Z3il0EZ0PxD+AWgCAExsBH98FnfsdlTKxugUd+Aj+5BtKL\nYMtLcK/fMRnjhTWQuR7GvAwP+h2LMV64GZa9DtMPhPsEmnrCiidhqt9xGeOFM+GmOigIQNMP4OGx\nnXzTrVQqsMLOrf8mbPkmXNWRwRjjpSZ3KOt/5fjVsOrqNs50C9rifpOE+kN9HXw73P+3k5tNImsK\nc939BJ7BfXjJrvGmQwRb+X9b4cZY3p9qUmaKYCnU1kBatO/fBel1UOdlTMZ4IQh1u2LI7SpXmFl/\n1CSaxsoYNp3YBWlBqPcyIGO8UAd1tTH0r6pAKiLPbdvAxcRbY3WMDVS7wYBO0R9JmQKrGnbOi+H7\nWQR5q20utElAW2HdXCiM5r2NwAJ3QbNNAkyiKVsEUhfl6PscKNwBa70OyphYrYRNC0PrvqMxz/1O\n7PQwJGO8ULsJKpdDdjRvXg+Z66AGiLVOSwopU2ABW+dC7eIoLmpbIf0DkHIrsEwCWgLL34X8aDqi\nb0PXFbBWVTvFBc0kD1WtWQVr34aukb63DuRdKFgIX8UjNmNiUQ8bP4TgesiM9L2hrdx3YQcQmwSj\nqroMFr8Z5flWr0P3FbBYVSOZKZi0019TpsBS1aYP4O3boGQqlFS243urA/kYim6DfabCR6paISJH\nikjU07GMiYP1z8P8u6DffMhrzxu2Qvrfoef/QtMX8ImIlIjIqHgHakwk5sMnd0PD/0Gvre1cEzwf\n8u6Cfv8HC4D1IjJORKJ6wmtMPKhqzb/g/dug5wdQ3J7BsUoIvAFdfwEFn8A7QKaIHBv3YI2JwDZY\n/BhseBD6roSs9rxnDWQ+DH0fgc0bYKGI7Cci/SL4skk5/VVUkzLusESk+wgY2RcGdYe0jDCvC+KG\nhzbCusWwsFZ1bej9rwNbgUtUtdVD0kRQ1eStrk3yEJFALux/IBywD/QoAA03glAHbIH6lfDlalgU\nGjgYBnwEfFtV32n9azEH+IEqc7z9Loz5byJSMABGDoRhPSEzCwi0cEMNunUpbIAdX8KicliqqkER\nuR04HjhRVcvDfx3GAo+rMjZe34sxzYlInzFw4D7QvxvQ0kZF4AZ7t0HTWlj+JSxU1e0iUgDMAx5Q\n1VZ3hxXhIWChKg95/10Y859EJLM3HDAIRvSB/LxWCqBqkA1Q/RUs2uyeXtWKyGm43WGPcQ/FWvta\nNAC5qjR4/G3EXSrtIgiAqm4D/iUiH+Oq63BPo4JAvaruvZD0HOA14DERabPIMqYjhB6pLwWWikg2\nkEH4UdEmoKb5Y3hV/VJEvgH8U0TaLLKM6SiqWgnMEJGZuCnerc0gqFfV2r0+9wvclJWpItJqkWVM\nR1LVDcAGEcnE9UfCXbODQK2qNjZ7b6WITMH1Z2iryDKmo4T6zZ+LyDzcNbu1WqIJqNZmT3NU9RUR\n6Qa8JyJtFlnJKuUKrN1CF6qIdypR1SoRORUrskyCCnUw9+5ktud906zIMokqNCAQ8bkpqqoiciXw\nB6zIMgko1CGNeMdLVV1rRZZJVKGiKar13ar6uIhAChdZKbMGy0uqWgWcCgzAFVlpACKyn59xGRMr\nVZ0GfAP4m4gcByAi+SLS3d/IjIle6EZ/Je4A+akiUgQgIgMkdBc3JhmpW74wBfiRiFwDICJpItLX\n38iMiY2qPg78HFdkDQEQkR4ikutvZN6wAiuMMEXWpyLSx9fAjIlRC0XWccDj/kZlTGzCFFkP4a7j\nxiStFoqsXsAs25DLJLsWiqwrgJv8jcobVmC1Yu8iC5gKnOlnTMZ4oXmRhZv/f6SIFPsblTGx2bvI\nAt7Dras1Jqk1L7KAs3GbcU32NShjPNC8yMLtDnt2Ksw8sAKrbYcBt+CKrH2wm7VJASKSB/QDLgIe\nxV3UTvM1KGO8MQZ4HvgcOBc4NbQxjDHJ7iDgfFyRtQFXaBmT1EIzw3YAdwK/BwqAA30NygNWYLVt\nf+CvwL7AUODQCPfvNyYRZQJnAM8Aq3E37h/6GZAxHukN3I2bbZAN5AJf9zUiY2IUGtE/EngFqMAN\n/n7XpgmaFFCEGzT4H2AjblfYy3yNyANWYLVBVf8ADMaNFP0DqE6Ds3E7DYLIqdgFziQZVd2pqufg\nnsr+FvgEGIlIWhdKi57lWxdbbptkpKpvqOp44FDgaaBM4Lzfce3h+7Chp+W1SUbqXI27Zv8UeB3I\nyYcDR7Kg/w94+CTLbZOMVHWxqh4LDMGtB18BnIRImhCUKnJvTsbcTrmDhuPO/YDfAiYKmq/ILmAm\ncAK2nbtJZqHcHsfcKY9wGQczpxrLbZPsQnk9l3GTLuGx3M8ZZ9dskxpCuX0ZfzxiFF+kX8FDVVhu\nm1QQyu0M6o+pIi+YSUPS9UeswIqUe3L17D84K/8c/sFIFhAkENxAn3XlFFf6HZ4x0SqirKAPG/ot\nZnigJ5vpzg7LbZP0dud1KV0Cm+nFgSwkSCC4nr5rLa9NMiuirKAv6/ddypBAFnUMYiVBAsF19Ftj\nuW2SWRFlBf1Y138hIwPlFFDojkjcBZyL6ms+h9cuKXvQcByNBXKP5n0AnuE8FGE1A149nVf+5G9o\nxkTvKb572QBWX/41XuEW7mASsyy3TdLbndezGccvuJ2nOR9FWMV+r53BS4/6HZ8x0foLF1w6gNWX\n/4S7GcxXXM4ju3P7jW/wouW2SVpPcNGl+7HqB+OZQza1uz+di9vEyAqsFPU5UN2V0nyAA1kIUD2K\nBW+pssDXyIyJhbw6FbigGzvyxzPPctukhlBeN5Ke350djHKpXD2aL95S5QufozMmevLKVOCC/Vme\nP4oFjHbpXD2G+VNVme9zdMZET156E/iuQH6zzSKqgXl+hRQp2+Qicm/i5oHuCv1993z+N32LKMWJ\nyB0i8ku/4+gE3gRmBgkEFQliuR1XIpIhIrNFpJffsaS43XldHfq75XWcicjpIvK833F0Am8CM5tI\na1BEsdyOOxF5XkS+5nccncDuvjbJ2h+xAitSbnHdCbjzVQj9N2kW3SUbEdkPuAF3XpOJp1Bur6H/\nqhUMegTL7Xi7Ebc9/jf8DiSlhfL6Q468eQs9N2F5HVcikgP8ETg9dN6eiZdQbk/n0HcXcOBrWG7H\nlYgcjzv+4RK/Y0l5odwOEgg2kn47SZjbtslFDERQVZL+tOlEJSIB4F3ctrTdgcNUdYm/UaU+EeYC\nl6oy1+9YUpWIjAL+BaQBn6vqFJ9DSnkijAMeU2Wc37GkMhH5LXAy7qy921T1WZ9DSnkiPAx8ocrD\nfseSqkSkCPgCKAaCQC9VrfM3qtQnQiOQrUqj37FEyp5gmUR2GW5RYxPuzI9zW3+5MYlPRDKAJ4HH\ngMXA6NBJ9sYkNRE5FDgfWAS8D5znb0TGeOZu4B3cwMEC3EwmY8KyAssksm/hpgYOAP6MFVgmNRwC\nrMIVVyuBF4FzfI3IGG9cBFyOm3XwInCEiHTxNyRjYiMixcB44GFgLfAM1h8xbbBdBE3CUtUjRaQ7\nUAd8hFuLZUxSU9WPgY9F5BfAatzgQYmfMRnjBVX9PoCIPIgbQDgP9uyxbEwyUtUyYJyInIy7Zj8N\nrPE1KJPwrMAyiW4AsErdYsF/+hyLMV76//buPD7K6lzg+O+Z7IEkJIFAEpawC0QW2dxRtIoFt2uv\nWK33aivVqxTQVq1a99ra1qUUva1Va+u11tZyrxYVRRFEEGVHICyySiBsgQRIyDrn/nEGRc0kmZl3\n5p2ZPN/Phw8JzPvOk+TkvOc5axHwoTFmG3ZES6mYJyIpQEdglzHmc7fjUcpBRdj2yFFiaDc75Q6d\nIqiiXRG2x0ipeNMTTaxU/OkBlJoY2u1LqVbqibZHVCtpgqWiXRFaoan4pAmWikdarlW8KkLLtmol\nTbBUtCtCEywVZ0QkGegM7HQ7FqUcVoQ2QlV80hGsyIvZo5B0DZaKdh8BK9wOQimHGeCXxpiYO9tD\nqRZsQBuhKj69hj2CQEVWTB7YqwmWimrGmL+6HYNSTjPG1AMPuB2HUk4zxnzgdgxKhYMx5udux6Bi\nhyZYLhERD5ABJBH4EKgXOGaMqXY8sAgTEQE6QWF3KMyHhKSmX2kM1FXBmq1QvzsevvZ45dtFrB2Q\nEMTlDcCReBjZEZE0SC6Agb0gtb3/GdkNDXDgIGzdBuzVzQGil4hkYA8aDbTONkCdMeaI81FFlq/O\nzoFO3aGo0H+dDVBXA5s/h8OlxpjKiAXZ9oQ0jUpEEoH2BNcmbASqjDF1ocQQDXyHwHeBAb0gKwu/\nzzDjhaOHYd0WYE88fO3xyj6HSSPwJVEGqMe2R4IaQdMEK8LsL3DhEBgzCHqnQBaB/9xrgTKPyKgy\n+HS5MTWlYQg17GySWXQGXFQMY+qgXxWkeJt+tVfgUDtY1gvm1IvIG8aYvZGNWDVHRDrCkOEwoQd0\nB1KCuEuVwJYGkb4bYfOKWE2k7flt35oAF6TAiCroWAceP5V0fQps7wgLB8Psz0XkXX1gRw+bUGSd\nBAMHw9UdIBdIDPCB2yBQjsgZh6DkU6jYGOxD2032e1E4Ai4YAec0wMCjkO6nQ8ArcCQN1nWDOR6R\n7HnGHNoY2YjblIDLk4i0gz7D4Lz+0CsB0gmsPeLFtkF3IDJ4G6xZYYwpDzSOaGC/F6PGw7hcOK0a\n8mshyU97pN4DezvAJ/1h9mERmRUPnSfxRCS1K5w8DC4vhHyvHcsIhFfgMLC1WqRgLZStCbTjVxOs\nCLK9RAPPh0lFMHEv5B8M/m4NwNIM+MMlIpmzjTkcg4uKuw6F606Gn5ZCSisfDmdVwth2IBNE5O++\n8yiUy2xCMf5SmFIPY/a0/ufZlIoEmDUQnirwJdIxlWTZB/W3JsAvamDEgdZdNaQKLgV6d4XpZwFz\nwxmjah2bUBSMhGtGwnX7YeDu0O5YkgYvnA8vtQOWOxJkRHXoD1ePggdKId1P4/PrTjsC45Pg3vNE\n5KgxZld4Y1StYeup0RPgR5kwfj90CGHkvNoDCwpgencRed0Y08p6LzrYzt5h4+Cn7eDy1nZYV8EF\nwMgceODbIvJPnX0QHUQyesHEcXBTBYzcFVqqsyMZXj0VnusoIvMCSbJ0F8GISu4B1/SCaaWQXx/a\nvRKxD66H9sKosb6h7ZhhK7Q+g+GHQTTGh1TBJYmQ1T080anAjTob7joGFxwMLbkC+6C/tgxu7gDd\nTnYmvkhqVwgXJ8OIIJL/G3bDgL4iku58XCoIuTBuhE0oBh4L/XYDj8F9O+HCUSKSE/r9Im3AEJto\ntja5Oi6/Hq6sguKTwhOXClzRYLglC67ZE1pyBbY8jDsId9bB8LOciS+icuH0PLg8iMRw3EEYkw3k\nOR6VCphtC58+Fh7Za9vIoY4j9aizbfbv9sVOzWk1TbAiqngAjKlw9p496uDUJOyWz7EFOurXAAAg\nAElEQVQkGwalBJ9ojjgM/fs4G5IKhohkQt9OcMZhZ+98wQHoPcC3XjGGDOgDI4KcLpIInArQycGA\nVNA6dbNT4QJNKJqT4bX3zOvm3D3Dz64/69kh+ETzzAro0iv2fp/jj/0Z9DoJLtzv7J3PrIA+nX1r\nFWNIXgGMDiHJHFUP3WPq9zmOdbFt4q4OTrNPBMYehqH9ArlKK7qIysoPvuHVnOJGyIm13tAUu5Yh\nWF3qIKW9Y9GoUGTBwDCsJ8mvh8IU7MKAGJLSHjqHULl3hOAWsCnHFRXCgDDU2f2roGuB8/cNq2To\nFMLveboXMj32Pspl7aFbMuQ5vJlQIlBssIvLY0iHdpAbQp2dXQdZ7ZyLRwWvUy4MDHGGWFOGHoEO\nAdXZmmBFiO0xSvSEPn2qKSmNkB5TUwQBCXzR4YkSDGhPaJRItJsGhkO6IebWiorY8hmsRANJMXu4\nYnxJSPK/iUMoMhohKdYSDU/oTQatsqNEAqSGaZOVdN/9Y4nHE/jGNSdKMpAYY19zvGqfAqnhqLO9\n4En27aLaKjHWcIl1/h4uszrCpFuhOhvEC6e9A2/PgmXt4ZI74EhnyNgLb/4KhlU1fY+EOGyQVXug\n8AloXw47H3Y7GhUMf2X7uPMvh7nXw0fX2PnS8a7dc5B0zH4vPI1QfpvbEanmBFpnT+8JD98Mjcn2\n53v77+Gnn/m5d5zV2avbwWU/gvIegIHbp8O9umtg1PKXD5QlQfGj4E0CrweKP4JFL0PfH8PePiCN\nULAJFj8d+tqtWPDnQrj1ji8/P9oFzvsrvP0v92JSwfFXthuAM78H68609fkZb8HsN0J9N02wokJa\nI9zxPNy2FTamwYgn4dlV8MfzoP9qmDcTzr0CfvgdWPoXt6ONnMsuhtxSqE1zOxIVLH9le9JO20hd\nPxTSHV4HEO1m3902ksl45q9c/+p6uPoV+N1y+NFw+O318NO73Y42Mq6cBMOWw/8+CuWJUKrTXGNS\np3r45B7oU2N3dO3zK3hkOYybD08+bl9z0k/g2gtg1mxXQ42I63bBdVPtx9UeyPkz3LjY1ZBUkPyV\n7VVd4WAnOPBfdpbZh45McdXx+qhw/iH7oAbofwxydsKGXNg4Gu553/77Pe/DxlPdizHS3sqFNSPh\nijluR6JC4a9sA0y5Ae58gSDOb1HKXf7KtRio9HUIHWoH7UM4iiOWlKRB6SD4x7v289wGu9urij2J\n2AYoQGUCeBNtuZ6x3P5fItD7M9gfyiLqGPWzwZBZBpe3sU7BeOGvbL//bXjglS+X8JzlyKHommBF\nnZl5sL83/GAj1HSwD3Kwf9d0cDe2SLplEvz4BfA4uHuXcteJZfumUZBVDlO2ux1VhBkY/zDkPAmX\nXeh2MMoJJ5brh56FV78P6X+Cmd+H37SRGQfvdoHUwzBoKmT/Fgb+CLbqCFbMqvZA9nTo/RL0Xgl3\nb/ry/yoSYOm58K0V7sXnltlnw8gFbkfRxjg8lbqpsn20CzxzFuQ+AV3vh5fynXgnTbCiyuZUmHQX\nXP2sM2euxKpbRkL7CvjJFrcjUU45sWy3a4R/Xgkv/dXtqCLv/+6Eg9Pg9Qfgg/Hws0FuR6RC8fU6\ne8a34bvPQfX3YeJzcMsUtyOMjLoEONQb/nM2HJoGyTVwzXfcjkoFK90Lh6bC8uthZz/4/Qnn/5z+\nX9BjLTxc4l58bihPhK2j4fZFbkfSBjk4y6Wpst2YBMl1dk30uDlw21Qn3kkTLIeJSAcRecKekh6I\nigQYcxeMmA/P+eb3plbAe9n24/ey7edtwbIBsGW03RDgyTugbAj01c0AXCYi54jIfwV+5dfL9pv5\ncLQzjP6d/Rkf6wjnTYf328AI7QW+KWNnVcLAxfBxQOdqKOeJSKKI3CMiAwK7sqk6e91YeOYj+/Fz\nC2F/G/n5Dj8AaQe+HOm4eBGU9nY3JiUivUUkhA2ihlRBnzUwc7j9/MyroCoLPn7emQhjyd3DIXcL\nnNNG2mHRTUSuEZGLgr/DiWU7vRxu8tXbf1gMh4qciFETLAeJSDGwFLs9T7Uv2TpfRAqbv7IBGDUF\n8nbCnNe//Pd+S+CRsfbjR8ZC/0/CE3m0+eRFqL4eqm6AW38N+avhsyfcjqqtEutW4BVgve/z3iJy\nUctbljZVtm/eATXX2p9v1Q22YTZ3KoyN8wfX1hS7IcLxjzcNg0E73I2pbRORjsA7wBhgl4ikisho\nX13eDH91dtpBuNd37d2DIWN3eCKPNmMroN0Bu+MawPtDoPNOd2Nq20RkHPARUOr7PE9ELhSRFs6P\nXJRpd4QEKE2GTUOhfyn827dg4ymw6DfhOW4m2r13NpzxgdtRtHUikiwiTwP3AZtFJEFEBonIGS1f\n7a9sn/Qx/G2w/fd7iyFzlxOx6i6CDhGRq4GngX8B2cB6oCuwAvgZUOb/6ocHwGfnQtZ2OzcU4Hsv\nwn//Ey69EzIugPb7YdajYf0ilPoaEUkHXgSGYROsO4GZQDWwEJjb/B38le0Zy8MWdNRa2gFuusd+\n7PXA0AUwvQ2uY4gOIjIcW1+vBD7HluWBwEbgKWCt/6v9letbZ8CMH8IfEiChDu5+KqxfRFS55xn4\n8Y9hWiJk7YXXfut2RG2Rr9PrfmAy8HfgPBG5C3v471JgA3DY/x1W5sC908B47J/BC+HppeB5DdL3\nwcm/sa8rXgwfvhLeryZa7EiG0qHw+tNuR9KWiUg+cLxD6y3gGWAEsBf4X6CF6Zv+yvbqEpjwY+hw\nKSTVwP0znIhXEywHiMhE4K/AUSAfeBN4DCgxxjT4XtPMaOGD6+HBS5r+v7KfORttNGnNERq/XGv/\nNEXaYC9axC0GBgPbsA/oZ4EfGGO+6JlvfhCrubJ9XNUNoYcZbRqb+KZM3AsTW7EmxysQhoPo1RdE\nJAfb2GwAcoFlwFRglTGmuuU7NFeuH7zVqThjy9RtMFWncrvvGWAScADbHnkD28m72RjjBRCRbP+X\nT94Ok6d989+9lzkeaVRpbj+tHnVQe00L12t7JPw2ABnAOuxMsV8By4wx5a273F/ZHlIFOx9yKsjj\n4i7B8vXeZOdA1wLISfBzml4DeMuhcg/sAvYfr3iC9A9sA/Rs4DzgYWCBMWbCCa8x9lnegPPf9gYP\n1MXagX8NUB1ChXQ4EerqnAsn+olIEpDfBwrTINXjZ4pvPdRvh33VsNsY00xPZaucA5wFjMWW7cuw\nPaMnblDhbV2yHIxG3/1jSUMdVCcHf321wVYUbYaIZKZDQRHkJUBCQhM7RzWCOQLHtts6e48xJtAs\n9It7GmMO+qYBjsGW6x8B/w6cgR2dPf6uXpvwOq1eoDHW6ux6qArxe1EthK+yiDq+jtWO+VCYC1mJ\nfursOmjYA4cOQqkx5lAwb3XCx5OBV/mybE8HZhhjTjyPzYSvE6dBiLmjN47VwjF/Jy+3QlUC1NY6\nF0/0E5EUIL83FKSD3x1Dq6F2C+wGyowxoX6PBmPbI8fbIv8GXAqckGB5G8NTZzcAeI0xrS7bcZVg\niUhCPzjnDOh3FjR2g5oUP42zepD90PsjGPUB7BOR2caYoHbu833Dl/j+PCYiydieo6+8RuSso7Ar\n2faGOGl/Ahw46uw9w64CSoBaCW4+96eZULrG8aiilIjknQPfPgdSh0Jths2qm1QHnq0wYAFIociK\n3bA0kErhRL6H/b98fxCRzkDN115WC3uCuX0LGoD9Yu8fS3buhDVDobgVIyFNWSVAMI2smCMiUgAj\nvwunnA2mF9Qk+6mzvcARSFwOQz+EGhF50xgT6Hk0X/weGGNKsJXQ730N4V58Y+rUkcOwJyv4n6U/\ne1PgSDPTxqPSEdjSYHdTyw2iA2B1OyjfF0RiHJNEJG0ojDsbOp8KDZ2gLtFP4lEHnl1w0gLw9BHZ\ntAU+MMYEmogaAGNMHfCu78/PRCQT+Pq6qxo44AlPh+8eiLk6e8deWDscLg/y+rVpsDXWfp+DlirS\nfRxccBYkngy17fy0R7xAFSSugcEfQkOqyJwaYz4P9n2NMTuAHcBLvsGUntjk7QT7j8L+pGDfw7/P\nU6A2oHZ2XCVYveGMG6DvrVDa2i9sIvAK5D0KF4nIayGOZAFfVHBNLF7fthE+HgI99oX6Hl+1UKB+\nr7P3DC9jTK3IoG3wRje4IsBGUrUH3k+GndvDElyUEZHMi+Dih6B6xFd6apr3H+B5CEa+YB92q52I\nxRjTVDk7ACsa7K5qHRzsnf4kE3btcqDXK8J27YD3RsEED2QEWJ8syYA1FbSRBCsPBl8LI++D0vRW\njlReCiyD9vfBJSLyqgOjtPjq/c3f/J+SbbCk/5fnETrlkzRYv83Ze4aXMaZRpN8GeHMg/EcQPSrv\n5MCaec5HFn1ExDMUxt0JOVfZEddWuRZ4HPo/Z4eXPnQiFt/vx+Gv/VuNyMhdsCIDRh1x4n2s8kRY\nXYednhhL9sCiBrv5UK8AnzdlSfCBF+raRIIlIp2vgvGPwP5erUykLwa2Qso9MF5EZhpjQm4D+zqN\nt37zf6r3wEce+GGob/E1i7NhS0Brx+NmF0ERSSuGgVNgd6BZ41WwbwzkAZ3CEduXdm2Fv3nsqfdO\neSYfVm5zopEReSUfw5M18D/5tpJqSQO2AXp/N5i1FHA4UY1OnaDXleAZYdf4tVo6eKdC2UAY1vwa\nwNDYdYabP4XpBXZE0gn7EuHPHWDdp87cL3LsqMpbH9tyuiSjdbP9KhLg9Y7wUDp8PDfYEcdYIiKe\ngTBsKpS1Nrk6bgQcvRI8ebYHM5x2w5tHvjwuwwlzcuCdwzS78VG0+mwlPHUIni+wu3C1xsY0eLwb\nvLAVqptIYuNSpzHQ5aoAn1GJwDTYNQAGikhqmGLzWfMpvJBjkyIn1Ar8Lh82rQ5i9M1VtlN8/rtw\nX549LqQ1z7Fagfkd4J4uMO/91q3djH0nwYBr4Vhrk6vjekHttXDsJLuRUNgYYypg2Q74Uxfn7ro2\n3c663RNQp1g8jWDlnQqkBDn393RomAndsLuRhIVv3v8bcOzbMCYHhtZARgN4Aoy53gNlKbAwET7Y\nCRtislfQGHNERP4Fnw+CPw2A/BT/U3m92E79PXugZAlUbWkLjVCAvtDvNKgM5tp8qC+G1Pl2IX+g\n06kCsGM5/CUFtp0MYxqhxzFICWI0uCoRNqTBfGDeXGNqgp5O4K49K+HpClhQDAUFdmPRxCbKqxGo\nA/Y1wo5NsGmtMeZgpKN1Se7JkJIf5GKQ06CyD/THodHZphhj6kRkFtw3AeYWwqm1kFMPiQGW7QYP\nHEiGJckwvwI+fisWp8oZY6pF5E3YPQheHAgFHSHdTz3sFbtma1clbF4E+0pi8WsORiF0Oy3Icp0C\n5jRgFnSmyZkwzjCmZodIh7mwfwyMMTDgGLQLYupnbQJsS4MPEmDeaihd6Xy04We/H/J/sHYwFPSA\nTtJ0nQ12ndkBYPcOWDXPGFMa0WBdIiKesdDnrCDbEqdDRQH0EZEFTswW82/dXHjyAlhdCKc3QEFN\n4HW2V+BIIqxKg3n1MOeNQNdHxk2ClQSpBSEsrOwMtdmQ6WRMTTHGlInISzAnH/oWQrt0SAiw17+2\nAcoPQVkpUB7eghpexpijwCcishRIxX+ZNEBd7E0XC10yZHYLITnqYr93Ye0N9ZXBhSKyDmZ1hcKO\nkBTEPOi6Oti4C+p3G2OqHA80Qk6YvrDVtxg4mSY2bvBpBGpirdfXAamhdDF2g9rksM86sFOsROQf\nsLgzFHWHDu3BE2Cd7TVQcQS27wT2Ht9dNhb51iovE5EVNF9ng00yatpKZ9hxHSGrcwjrkPJBksJc\nZwMYU7FeRHbC2wXQswCSkwMr214D9fWw6wAcDHaDjqhhjCkDynwbSqXiv842QK1vOUhbkpwDCRlB\nbjzVARqzbX2RzDfXcjvGLkGRN2FtR5jZHTpl272TArqLF2pqoGQndoOOgOONpwQrwRNCgpUE3kQ/\nOw46zZckbPf9UXzRQG8TQ+yB8oDH38L/1vCNCYZhV51v8j1gY/oh6zTf73ub6xhoBQlhq0WS7WFi\nEZnm7kuIdhHAepp4p3W2f4mQkBRCnZ0I3qTIle2jwCbfHwX4RlrbxGhrgDyhNpJ9G70EUraDarv4\n6qd9uLiUJG7WYLVkKpySCb9vD8+cC1e4HY9SThgAU1Lhf7LswahKxYVZ0LELPJIJ/50FT42z66SV\ninllkJQLj2fD77LgqTPgardjUsop1eDJht92g3sdvG1MjoC3iQSrGjzPw03PwgM74JZVMOZZu95K\nqZh2Bcz9BdzvdhxKOSkNGu+A5w/DzUvg9kUwXutsFQ86Qf0ncM8hmLIDpm6EUx6xawmVinmXwcW5\n0CbWpLWkTSRYj0PfLCibCHtzoWEoLHgZRrsdl1Kh+jms6xHg7oJKRbvz4dBtvi14+8OxHNi5wW7U\nolRMSwT6+NafVEKCFxIlRnvolTrRW5C7BkZeAXPcjiUatIkEaxvkZp1wLkMXKC/Xh7VSSkW9mZC3\nH3r/ADa6HYtSTvBNo5reG17qDSvv1vVPKg7cApN+DC94Qlh/GE/aRIJlmlgkpz1GSikV3TZD6iS4\n62p4diAcczsepZyQDt5DMHU5XL8T+v0eursdk1KhuAVGtoeKn8AWt2OJFm0iweoFByqh4/HP90Bu\nDrSVs2aUUirmVEDCGLhrBMx/Dha7HY9SThsCVX1gzUwY7nYsSoViGQzYAqPbwXNPwh1lMKQv3OZ2\nXG5qEwnWNPisEgpehc7lkLgKzr4Klrgdl1JKqW9qAEbBlDzYOQdedzsepZyyCDJXQzuAUkjeBEP7\n66YAKsZ9Ai9Ww/VVcMOt8Ot8WP0ZPOF2XG6Km3OwmpMB3uvhD9+HBw14hsN7N8LnbselVKj6wE92\nwcm1kJkOL1wEL8+Ed92OS6lQPAwDPoNzs2B7NkwH+B68OAOWux2bUqFYCTn3wjQDHgOewbDwaVjq\ndlxKKWe1iQQLYAYsb+7h7I3QQaxKBaq5xYKb4bGWrm90MBalnOSvbD4I6x+ES1q6XhfSqmjU2EzR\nnAzbJ8M0h99S2y8qavwS1v4S1rodh9viZopgNdTXhlDJ1IKnDmqdjEkpJ3ih/igEfYC6b2cAzbNU\ntGmsCeHio3aL63rHolHKIQ1Qfyy0Oluq7UzZQGh/gwq3xpoQk/lq+1egZTsmxU2CBRz+NIQf/EZI\n3Q57HYxHKUdUQtkqyAjm2gZgg/29qHQ2KqVCVrkeJNgn7SrIqIQyRyNSygFbYc8mSAv2+rW2zj7s\nYEhKOaHuABzeDKnBXLwZUsttuW4THWPxlGDtXw3HNgZRqVVAwgfgqYZd4QhMqVCsgo0fBJlgLYQO\nW2CPMUYPI1ZRxRhzdAvsWQxZwVz/AWSs0rOxVBSqhl0LQCqCGMXaCGmr7cSD/WEITamgGWPMJih5\n94RduQPxLnTcDCXGmDYx2ho3CZYxxvsxzH0AchdBZmt7RUsg7X4o/AAWG2OOisgQEdH5zCqa7HwF\ntjwBXcsgqTUX1ILMgZxfQ/IyWCgiaSJSGO5AlQrEMlj0S0h5D7JbO8W7DJKegK6v2PNWdopINxFJ\nDnOoSrWaMebI+/Dxg1BY0spO3wZgMWQ8ALkfw/uAiMjAsAaqVID2w4bnYd+foUtrOxAqIOHP0OV5\n2LcPNvrq7A6tfU9jYnP6q8RbIpkmUlAMw3tAYVfwpvh5XT2wF2QrHNoIqw4aswlARJYBbwP3tpRl\ni2CM0cWlKvxEJKkHDO0Jg/pBSiYYf70jtdiWZyl8vgqWGmPKReQU4C3gImPMyubfi+XAD43RHdtU\n+IlIx6Ewohv06AUmhaaf2o1ABcgmqN0KJZ/DSmNMvYjMwB7U+u/GmDr/78Nw4I/G6JlDKjKyRfoP\ngKG9oUMXMP56x2qAz8HzOZStgWXHjNklIh2xGwVMNsb8s7n3EeGPwDJj+KPDX4JS3yAiaX1gRA/o\ndxIktgPjr86uAtkADTtg02ZYZow5JiI3ApOBscaYZkdqY7mdHXcJ1nEikg6k43+UzgA1xpgjX7uu\nEzAX+BctJFmx/INXsUlEPNgpVUn47/FvAKqMMV/ZQ0BErgCepoUkSxMs5QYRSQXa479X1GD7xiqN\nMd4TrksG/o6t6/0mWZpgKbeISCZ23Yq/OtsLVBtjqr523RDgHVpIsjTBUm4QkURse6S5HckbsHX2\nFxPLfLPEHgIuo4UkK5bb2XG7TbsxppovNiwJ6Lr9InIeNslCRFocyVIqUnwNy0NBXjvTN/t1toi0\nOJKlVCT5OgQC3ljQGFMnIhOxSdarItLsSJZSkWaMOUwQm1YYY1aLyIXAO2Jbms2OZCkVSb6kqTyI\n64yI3Of79H0RaXEkKxbFzRosJ/l+0Odhz2F5+PiaLBFp72pgSoXIGDMTuAWbZA0D2wslIkHveKWU\n23wJ1UTsSMCrx9dkiUg7VwNTKkTGmNXAhcBTIvIdsCMAvlk6SsUk38DFfcBr2CSrE9iZDCIS9BEH\n0UQTLD++lmT93JdkbfLNi1YqZjWRZF0OPOduVEqFxk+S9ZqIjHE3MqVC00SSVQSs0A25VCzzk2Td\nD0xxNTCHaILVDF+SNRa4GPg5sBDbGFUqpp2YZAEHgPHaI6pi3deTLGA+cJWbMSnlhBOTLGA4dh3u\nUFeDUipEX0+ygGXAd10NyiGaYLWsEPvAvhi7+PpKd8NRKnQikgLswfYU/Q3YAFzkalBKOaMQuBub\nZJ0D/JtvMbZSsS4VuBSbZH2KtkdUfMgG/olNsh4AeopIkYvxOEITrJZdASwGKoHTgHN1mqCKAx2A\nx4D/xm4FPASY5GpESjnjDGAedhpVAfaQ7rFuBqRUqHzTAe8C5mCTq28B1+k0QRUH+gH/C1yN3Qwm\nDbjOzYCcoAlWC4wx9wH5wOPAR4AkwI2ITABAZAJxsiBPtR3GmL3GmNOwU01mAzuBsYgkZHMw6xUm\n3qBlW8UiY8xL2FGsW4EPsc+5237N7WcWUtpFy7WKRca6DOgN/AObZHXJgEEDKOk+mRnjtWyrWGSM\n+RjoA/w7sACoAybFejs7bs/BCpcJIimvw5sJMFow7Q1yFPgEuBBjGt2OT6lgXSCSOgfeGMaKc59l\nEiNYXo2WbRXj/lMk6RmYvYYRp93EH9KXM0LrbBUXzhBJXwT/+gHPnT2KJYk38scqtGyrGDdfJOEU\neDcTRsZyO1sTrEDZjPpvb3FR+/G8xUW8hRdP41qKV+6ia9zt46/ajkJKOxWzdtg8zk0oZg1d2Esj\nCcfL9j6341MqGIWU5hWzdth+chPWMphv8e7xcr2ilG5arlXM6srOvGLWnvIxoxM6UMEgSrRsq5h3\nvFwn0JjwJhPwnTN8FPguxrzhcnitpgt/AzcMSC9mLQCTeQqDSAkD19/Bb15xNzSlgjeN3141gPWn\n9GQro/mEThz4omzfya//7nZ8SgVjCr+7aiAlp+yjI0sYzQTePF6uN/6UX2m5VjFrMk9NHEjJ8CGs\nJIeDDGSDlm0V846Xa8EwjBXH/zkdu2tmzCRYOoIVKN8IFnDiocMxl1kr9Q1atlU80nKt4pWWbRWP\n4qRc6yYXgZuNnQt6FLsN8PG5obPdDCqeicjNInKz23G0AVq2I0hEPCLyfyKS6XYscU7LdYSJyJki\n8qTbcbQBWrYjTESmi8hpbscR5+KiXOsIVjDsbiYXYYcrVwGzY2nhXSwRkTxgO1BmjOntcjjxT8t2\nxPg6DZ4GrjPG/MXteOKaluuIEZEkYBN2991M3+HPKly0bEeMiIzCNvT/YYyZ6HY8cS0OyrUmWCqq\nicirwClAJ+BkY8wOl0NSKmQi0gt7Yn0SMN8Yc7HLISnlCBG5B/g+tmzfbGJoSo9S/ohIKrAC6Aoc\nAwpMjDX4VWTpFEEVtUTkSqAYqAbeAa5yNyKlQiciHuBPwMvAOuBsEcl1NyqlQiciJwPTgJXAfOzB\noUrFg/uBjUAK9tzIc1yNRkU9TbBUNPsZ9jTvHsALwDWuRqOUM87B7uC6BNiK7Ty4ws2AlHLIPcAd\nQGdgJjBeRNo3f4lS0U1EOgD/AfwKKMV2jml7RDVLEywVzYYDnwEGeBt41t1wlHLEPGySVQRsA36B\nLedKxbprjTEvAD2x6yZudzkepUJmjKnAlukM7JrwvwAfuBmTin56DpaKWsaYehEpArYZY7zADHcj\nUip0xi58bRCRnsAiY8wqt2NSygm+OjsFu2Z2lzHmj27HpJQTjDF1vvbIDmNMOTbJUsovHcFS0a4I\n22OkVLwpQsu2ij/dsclVg9uBKOWwIuysA6VapAmWinZFaCNUxaee6MNaxR8t1ypeFaHtEdVKmmCp\naFeEVmgqzvjOCirA7kalVDwpQhMsFZ+K0PaIaiVdg6Wi3RZgkdtBKOWwBOAvegirikN7sTtjKhVv\nlmOP1lCqRXrQsFJKKaWUUko5REewlOtEJAPSC6EoD5KSmn6V1wtHq2FbKbBXF1CraCciiUAedO8K\nWe3A42dKdl0D7D0IB0uNMYciGqRSQRCRdpCUD7272Do7Qb75qkYDtbWwaTdQZoypjXigSgVARATI\nhpxC6JINCQlNv9IY2FsJ+0uBct8ux0p9hY5gKdfYyqzLMBgzCs420KcGkr2Q0EShrBeoTILlyTD/\nKCx6UxujKlrZgylP+zaMyYQR9ZBd53/Ja4PAjjT40AML1sO2D40xjRENWKlWEulYDGefCWMM9K+B\nVD+NSy9QlQhrUmBBA8x/25ia0ogGq1Qr2Q6xvufAmX3hrEYorLXtkaY0COxPhkVJsHA3rH7HGFMT\n0YBV1NMES7lGJL8YrhkD95dCRgA9QB9mwX0emP9PY0x1+CJUKnAikgpnfwfuFxhb0forG4DfdIXn\nPjVmi647VFFHJKM3XDsOHt4NuQHMIticCnfnwqszjTH7wxehUsER6XcO3HgSTN0V2OSulzrDY/th\n9SwdyVIn0l0ElSvs6FXfYfCjPYElVwBnVcLl6ZBUGJ7olApFciFc3D6w5ArsQ4iSEOAAAAVuSURB\nVH3qbhgwyHdYq1JRZtAwuLE8sOQK7OyEa2qhT//wxKVU8EQkHYqDSK4AvrcXzsgHcsMRm4pdmmAp\nt2TDgHToEeQuaiMPw+B+zoaklBMG9oXRR4O7Nt0LowTIczQkpUIkIu2hZy4MqQruDmMOQdd+vnUu\nSkWTznA6wW9LcHojdOrqZEAq9mmCpdySCl1CuLygFtIyHYtGKce0y4TCEObj5wOkOhWNUg5Jhc4h\nrCno0AgZSYCfjYyUckt6GnQJYXpf51ronOVcPCoeaIKl3CKhPWeTDSRo+VVRSBKa3qiltZIErZtV\n9Amxzgbf9Vq2VZRJTYTEEOrsRAM6Mqu+SrdpV1Fq6inwwiTwemDkHJg30+2IlArdgCmwbSSkVELl\nZLejUcoZszrCpFuhOhvEC6e9A2/PcjsqpUJXlgTFj4I3ybZHij+CRS+7HZWKftqTpKJQtQeevwme\nfQB23AKrxsCz3dyOSqnQXTEXfnG/21Eo5ay0RrjjeTh8Myy5HRaN1zpbxYdO9fDJPXBoCuyYChtP\ngUd0sxbVIk2wVBR6vC9klcHEvXa3qqEL4OXRbkelVOh+vg56BLkBhlLR6vxDcNtW+3H/Y5CzEzbo\nrmoqDiRid8EEqEwAbyKInm+kWqQJlopC23Ih68CXn3cph3J9WCulVNSbmQf7e8MPNrodiVLOqPZA\n9nTo/RL0Xgl3b3I7IhX9NMFSUcg0sVhUe4yUUiq6bU6FSXfB1c/CwGNuR6OUM9K9cGgqLL8edvaD\n33d3OyIV/TTBUlGo1wGo7Pjl53tyIeege/EopZRqXkUCjLkLRsyH5xa7HY1SzhtSBX3WwMzhbkei\nop8mWCoKTfsMKgvg1c5QngirzoarlrgdlVJKqaY0AKOmQN5OmPO629Eo5ZxFmbC6nf24NBk2DYX+\npe7GpGKBbtOuolCGF67/A3z/QTAeGP4e3Pi521EpFbo+P4FdJ0NtJqS/ABe9DDPfdTsqpULz8AD4\n7FzI2m7XqgB870WYsdzVsJQK2cocuHeabYsYDwxeCE8vdTsqFf00wVJRasbylh/OXl2XpWLM5sfc\njkAp5z24Hh68xO0olHLe5O0weVrzr/FGJBIVW3SKoHJLI1SHkCBVJYC3wblwlHJKY60tn8GqNtg5\nV0pFk0aoDvEWx0DLtoo6R+qgJoQ6u84DNXXOxaPigSZYyi2HYYMn+Gftuvawd7ejESnliLIy2Ng+\n+OvXCXDYsXCUcsYR2GLgSJDthpI0OHTIGKMJlooy9ZWwPoTrN6bC9n2OhaPigiZYyhXGmGrYthPe\nzwn86gZgQRps3up4YEqFbPs2mJcKtU0cN9CSkjRYUwUcaPGlSkWQMaYedm6G94I8k3BuLpSUOBuV\nUo7YB8tqYWtK4JdWJMCHAvXa4au+QhMs5aJVi+ExD7yd0/rG6I5keLQbvLYO2BPW8JQKzj6YtQYe\n7WrLa2s0YHereiAHlr5vjNH1hSoKlSyH6fXwekd7+GprlCfC8wXwpz1w+LPwxqdU4IwxjbDofbgv\nD5ZktH5mTUka/KwQFn5kjKkKa5Aq5og+x5WbRCQHikdAjyLoCaT7eaUXKBfYXA2b10DZp8YYXVmq\nopKIeCDvZOh7MvRrB7nGf39WPbBD4PPdsHaZMcfKIhmrUoEQkUwoHgndekMfgTQDTS1faQSOAhsb\nYdsG2LrcGFMT4XCVajWR1K4wdAR07wJdvZDq55X1wB6BrYdg/SpjDm6KZJwqNmiCpaKCiKQA7Wn6\nSX1cHVCpvfsqVoiIAFlAMuBvlLYRqLbTZpWKDSKSDGTQ/G7E9dg6uzEyUSkVOhFph+3t9dcrZoAa\nY4yulVV+aYKllFJKKaWUUg75fyfqipjDzK7PAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0xa87d3c8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots(figsize=(12,12))\n",
"ax.set_aspect('equal')\n",
"ax.spines['top'].set_visible(False)\n",
"ax.spines['right'].set_visible(False)\n",
"ax.axis('off')\n",
"\n",
"vertex.plot(ax=ax, marker='o', color='red', markersize=5)\n",
"if annotate_vertex_ids:\n",
" for idx, pnt in enumerate(vertex.geometry):\n",
" plt.annotate(\n",
" \"{}\".format(idx),\n",
" xy=(pnt.coords[0][0], pnt.coords[0][1]), xytext=(-20, 20),\n",
" textcoords='offset points', ha='center', va='center',\n",
" bbox=dict(boxstyle='round,pad=0.5', fc='red', alpha=0.3),\n",
" arrowprops=dict(arrowstyle = '->', connectionstyle='arc3,rad=0')) \n",
"edge.plot(ax=ax, color='blue')\n",
"if annotate_edge_ids:\n",
" for idx, lin in enumerate(edge.geometry):\n",
" textxy = lin.centroid\n",
" plt.annotate(\n",
" \"{}\".format(idx),\n",
" xy=(textxy.x, textxy.y), xytext=_calc_xytext_offset(lin),\n",
" textcoords='offset points', ha='right', va='bottom',\n",
" bbox=dict(boxstyle='round,pad=0.5', fc='blue', alpha=0.3),\n",
" arrowprops=dict(arrowstyle = '->', connectionstyle='arc3,rad=0'))\n",
"plt.tight_layout()\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python [default]",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.5.3"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment