From ebbfd97288e234b701be81c1f18cb321a13ea27d Mon Sep 17 00:00:00 2001 From: Amanda Tan Date: Wed, 14 Apr 2021 22:46:19 -0700 Subject: [PATCH] update yml file --- 03_multidim_analysis.ipynb | 635 ++----------------------------------- environment.yml | 1 + 2 files changed, 30 insertions(+), 606 deletions(-) diff --git a/03_multidim_analysis.ipynb b/03_multidim_analysis.ipynb index 837013b..e98c79f 100644 --- a/03_multidim_analysis.ipynb +++ b/03_multidim_analysis.ipynb @@ -10,145 +10,74 @@ "- How do I work with multidimensional data like NetCDF files? \n", "\n", "### Objectives\n", - "- Learn how xarray can change your life" + "- Learn how to use xarray to conscisely work with multidimensional data" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Xarray is an open source Python package that extends the labeled data functionality of Pandas to N-dimensional array-like datasets. It has a similar API to NumPy and Pandas, and supports both Dask and NumPy arrays." + "### Introduction\n", + "Xarray is an open source Python package that extends the labeled data functionality of Pandas to N-dimensional array-like datasets. It has a similar API to NumPy and Pandas, and supports both Dask and NumPy arrays. \n", + "\n", + "Xarray data structures can store netCDF, and GeoTiFFs. This notebook uses xarray to illustrate simple NDVI calculation using from GeoTIFFs. " ] }, { "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "ename": "ModuleNotFoundError", - "evalue": "No module named 'xarray'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mxarray\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mxr\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;31mModuleNotFoundError\u001b[0m: No module named 'xarray'" - ] - } - ], - "source": [ - "import xarray as xr" - ] - }, - { - "cell_type": "markdown", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ - "xarray supports direct serialization and IO to several file formats, from simple Pickle files to the more flexible netCDF format (recommended)." + "import os\n", + "import json\n", + "import rasterio\n", + "import requests\n", + "\n", + "import matplotlib.pyplot as plt\n", + "%matplotlib inline" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": null, "metadata": {}, + "outputs": [], "source": [ - "Xarray data structures can store netCDF, and GeoTiFFs. This notebook uses Xarray to illustrate simple NDVI calculation using GeoTIFF dataset with XArray. We load L1 Landsat 8 image and compute NDVI (Normalized difference vegetation index). " + "import xarray as xr " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Here we explore the same dataset that we used , but use L1 this time" + "#### Recall that we are interested in looking at landuse over the State of Pará in Brazil, where extensive logging and illegal deforestation is happening. The Landsat tile we will be looking at is Path 227, Row 065. The date for the file we will be accessing is 8 June, 2020 and we will extract the NIR, red band and metadata file from the AWS s3 bucket\n" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "import os\n", - "import json\n", - "import rasterio\n", - "import requests\n", - "\n", - "import matplotlib.pyplot as plt\n", - "%matplotlib inline" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Landsat on AWS:\n", - "{'driver': 'GTiff', 'dtype': 'uint16', 'nodata': None, 'width': 7621, 'height': 7761, 'count': 1, 'crs': CRS.from_epsg(32621), 'transform': Affine(30.0, 0.0, 573285.0,\n", - " 0.0, -30.0, -683685.0), 'blockxsize': 512, 'blockysize': 512, 'tiled': True, 'compress': 'deflate', 'interleave': 'band'}\n" - ] - } - ], - "source": [ + "# Open path to file on s3 bucket with rasterio\n", "print('Landsat on AWS:')\n", "filepath = 'http://landsat-pds.s3.amazonaws.com/c1/L8/227/065/LC08_L1TP_227065_20200608_20200626_01_T1/LC08_L1TP_227065_20200608_20200626_01_T1_B4.TIF'\n", "with rasterio.open(filepath) as src:\n", " print(src.profile)" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If one used Rasterio, you would read it like below" - ] - }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Decimation factor= 9\n" - ] - }, - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'Row #')" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWMAAAElCAYAAAAxw4OQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOy9e5wsWVXn+107MrOqzrPP6Yam6UYaoVEBBQYGYRBlBOTpgIrKYwRHvO0DHHQcHfDOjHgRB70OetUBRdHmIQIqKjoggzwElDcI2DwbQWikG+jXqTqnHpmx1/1j7b1jR2RkVlZV1ut0/D6f/FRmPHbsiMpcsWKt3/otUVU6dOjQocP+wu33BDp06NChQ2eMO3To0OFAoDPGHTp06HAA0BnjDh06dDgA6Ixxhw4dOhwAdMa4Q4cOHQ4AOmPcoUOHDgcAnTHu0KFDh4MAVZ36Aj4HPLRl+Qng14HPAyvANeHzRWH9aeDPgLPAPwNPauz/fcDHgWXgY8DjZpjLVcAvTlj3XOCjwAh4Trb858L8VoA1oMw+Xx220TDPFeCLwAuAYso8FoCXhPNaBj4EPDJbf3/gTcCNwFeAPwYuyda/IZvDCrABfDRbfznwVuAc8Inm9QduA7wSuBm4CfjDxjXaaIw/8VzCPncF/iLM9UbgjcDXNbb5KeA64Bbg94GFWa5F2OYh4TzOhfO6Y7ZOgF8GbgivXwGksf8zgc+G/9HHgbtm654Ujn0W+HPgdLbuNPBq4Kvh9YfAifPxWgCPBt4ZvhPXAb8LHG/s+1Dgg2HfLwDfN8Nv7l7AB8J8PwDcK1t3j3B9vgroZmOFffLvpQdWs89P3s6YmZ2KY90E/G/gDi3bDcL1v3bCOE/O5rMa5pjmnB3roeH9D1K3KSvAb80679qxZzzJpjEYAO/DDM7dMA/7tsB/Ax4Vtvkj7IdwDPiW8MW9e1h3KWYwHhm+gI8O/+zbbjKXq5hsjJ8axvsLMmPc2OYHgXe2LFfgLuH914cv849OmcdR4DmY0XTAY7Af3+Vh/SOB78VuWEewH+xfTxnvbcB/zz6/C7shLAHfg/3AbpOtf0dYfxLoA/ee5RpNOf79gKdhxquP3dg+ka1/OHA9cHfgVJjv82e8FheF//33AovA/wu8Oxv7R4BPApeF78XH8msP/DDwkfA9E+DOBIMb5rMMfGv4nr0SeFW27wuB/xP+DyeBvwFecJ5eiycBj8C+b6ewG/5vZ/veDfgy9t3sARcCd97kWgywG8tPYTea/xg+D8L6rwvX6rFswXBuYlu2NSZ1A7mI/eb+vGW7/xt4OxOMcWPbB7dtx7gxHrMp23lt94L9cPhCHpuwz1HM2OYezMuzL+03A19u7PMV4AGbzOUqNjE0wCvYgTEOn/+YLd7dwo/keyas+1fA8oR1l2N31juFz3cF1sm8Gsz4/mh4/x3hf9Lq7c5yjWY4l9PhmlwYPr8S+KVs/UOA62a5FsCVwN83vhurwNeHz38PXJmtfxrBQGEG7QvAQyYc55eAV2af7xy+d8fD5zcAP56tfzrwxvPxWrQc97upP229EnjuFs/9O7AnRcmWfR54RGO7uzAnY7zdMZtjAY8CPtXY5k7Y08QjOYDGeLsx44dint7KhPV3BUpV/VS27MOYNwHwfuDjIvLvRKQQkcdhBugj25zP3CAidwMehD1izrrPxdg5Xz1hk2+dsu4pwDtU9bPh892Bf1LV5Wyb/NrdH/OeXioiN4jI+0Tk2xpj/riI3CgiHxCR75n1PBrzvU5Vb8jm9OHGfC4WkQubO7Zci9q+qnoW+Ex2Pm1jx3WXhdc9ROQLIvJZEfkFEXFt+6rqZwhOQFj0v4DHiMgpETmFPWW8YbZLkHBYrkXbvPPv3P3DnD4qIl8SkVeIyOkp5x3n8xENVifgI9mcDiRE5Ajw/cC7G6t+Ewtbru75pGbAdo3xhcCXpqw/hj2O5bgFOA6gqiXwMuxuvR7+/kj4cu4XPigiNwF/Cfwe8Aez7CQifSwW+VJV/UTL+m8C/jvwMxOGeArmzUZMvXbYD/I7sHjj7YD/CfyFiFwU1v8GcAVV2OgqEXngLOcS5nsZZsT+05Q5xffHs2WTrsVm59M29jERkXCuYOf7jcC/BZ6IeYyzjP1B7FE7xmBLLHQxEw7ZtciP/TAsbPffs8WXAT+A3ZCuwEJgv9nct4HN5nvQ8OcicjNwBngYFgYCQES+C+ip6p/twnHvLyI3Z6/7b2eQ7RrjG4BLpqxfweJ0OU5g8TNE5KFYcuLB2I/l24DfE5F7bXM+88C/UtVTqnpnVf2vquo32yF4JS/HvLFntKy/C+aJPVNV39Gy/lswg/on2eKp1w67q39OVV+iqkNVfRX2+PpAAFX9oKreoKojVX09ZhC+e7NzCfO5DRZjfaGq/tGUOcX3y9m+k67FZufTNvZK8MaiB/Mrqnqzqn4O+B3sEXSWsf8Y+BRmPE5gXugrmufdhkN4LeKx7485N49vPJmuAn+gqp8KT7S/1Ny3BZvN96Dhcap6ARbffgbwtyJyOxE5itmbn9il475bVS/IXk2PfCZs1xj/DfDwcJJt+BTQE5ErsmX3pHpsuhfwdlV9v6p6VX0f8B4s/HEoELyVlwAXYzHBYWP9HbHr9FxVffmEYZ4KvLYR7rka+FoRyb2P/Np9BIthzgrFkj1TER7j/w/wOlV9XmP11WEO+Xyuj4/um1yL2r7hO3Pn7Hzaxo7rPokZtEnn2xz7a7EfYjRC9wR+R1XPhmv822xugA7rtUBE7g28DvghVX1zY/VWvzdxPt8Uzinim5gccjsQUNVSVV+LPQl9C/YkcDnwDhG5DngtcImIXCcil+/XPMcwY2D8kViGMr4WMDbFX2PsA4eFLn6Oik3xKoxRcRTz2nI2xbdh1JV7hc/3xrzt79hkLlcB/6Mxl5jZ7YfPrwR+MbwvGvv/IDMk8GZ5YT/sd9OSxMQy4Z8BfmbK/ksYS+LbW9a9G/jVcA7fRcamwBJKN2GGvAAej1GwIqXw8djjpcMeaZeBB29yLieA9zIhaYll6a/DMvKngLcQkrEzXIvbhP/994Tz+WXqDIIfxZIqlwK3x37oOYPgZcBfYd7tZRgt6Wlh3d2xR9IHhe/ZK6izKd6KPYovhdcLgb87T6/FPbCk+vdPmPcPYZS4r8UYF68BXr7JtYhsimdSeZs5m0LCedwN+w0tEmh+M/6GPsc4OWBbY1JPqgnGxhiF70gPewKNr+8G/iW8n0ZhfTAHkE2hjdcvYlShX8cekVcw4/MCqqzzaYz3eRbLwDZ5xs/AuMnLwD8BPz3DXK5qmcs7p6z7wcb+rReOLRpj4I5hnzXq/MInh/U/H9bn61YaYzwxfLGlZfzLMcrUKuYRNb+wD8I41StYMvRB2bp3YD/4M1gC6AkznM9TqXOt4+trsm3+E/ZjP4PF0xdmuRZhm4dihmM1nNfljR/fr2A3lBtpcGsx4/iq8D35AhYHzdc/KXy/zmK0xpxnfCcsB3BDGPuvgSvOx2sR5uEbx726cW6/gLGWvoKFUU7N8N24N8YvXsVi8DmN8nLGf3Of28Lv6HOMf7e3NSZ1nvEy8I/5dW9s+2AaRha78T15s+2a82aOxjj+Izt06NChwz6iK4fu0KFDhwOAA2eMReRqEVlpeT15j+fxNRPmsSIiX7OXc5kHROTJE87lQCdjdgPdtaiwG9diN34759vvsQ1dmKJDhw4dDgAOnGfc4fyBiDxHRCbyekVkQUQ+JiK328t57SVE5JtE5O/3ex4dDj46Y9yhBhH5nIishse/60TkKhE5tkuHuxLjm18Xjr0gIr8tIteLlXP/pYhc2pjfM8VKgc+KyMdF5K5h+aNF5J2hAuo6EfndBld7KkTk20XkgyJyRkT+SUSunLDdW0RERaTXWP6EMJ+zIvIZEXkQgKp+BLhZRL5za5emw60NnTHu0IbvVNVjWHHOvYFn79JxfgSjWEU8E3gAVlhwe4xfnUp2ReSHsfLfR2Nc6sdgfHUwquUvhv2+AePhpnLYaRArXf4zrKLtJKZr8AIRuWdjuydjnNXm/g/DOMP/AeMAfytG14z4w3CuHTpMRGeMO0xE8FjfiBllwMptReTvgwf6YRF5cLbuTiLytyKyLCJvwiQjWxGSLnfGKi8j7oSpql2vqmsYp/buYXuH8bd/SlU/pobPqOqNYa6vVNW/VtVzqnoTpuc7qybHaYzD+/Iw7vuw4ou7ZfM9GY7/sy37/wLw/6jqu9UqSr+oql/M1r8NeIiILMw4nw63QnTGuMNEiAnlPBIrziGEDP435oGeBv4z8KdiOg5g1Y8fwIzwc7ECikn4RkydbpQtewnwQBG5vZjy1pOpVNZ2qlo2Eap6PVYt+h/EVAQfgBVwvDPb7JeAF2HVdwkiUgD3BW4jIteIyLUi8lsispSN/0VgiGn1dujQirFHrg4dMPUrxUIBb8E8QoB/D7xeTYAI4E0i8n7gUSLyVuBfY5VJ68DbReQvpxzjAsYFZz6FVdN9EdMV+CiV0E5TtewCTD/iWswLTpBKteybZz5jM8a/B/x/4fOPqeoXwnj3xbzsZ2bziLgYK8V/PFYZOcQqAf8rJmQesRzm3KFDKzrPuEMbHqeqx7Fy0K+nCjfcEfheyeQCMSGWS7BY7U1al0H95ynHuIlxKcYXYVoEF2JaE6+l8ox3qlo2ESLy9VhXmqdgegx3B342JAUdpmnxzIYXHxHn9Zuq+iVV/SomC9AUJDqOxcA7dGhFZ4w7TISq/i2m+fGrYdEXsLhqLhd4VFWfj+lbn5K6kt80Mv5HMHW6/OnsnsBVqnpj8K5/E7ifmFbzTlXLpuEewCdV9Y0h5vtJLBzzSCyWfF/g1WKKX+8L+1wrIg8K8elrN5nX7TEj/8ktzKnDrQydMe6wGX4deJiY1vQrgO8UkYeH2OqiiDxYRC5T1X/GRIt+QUQGYlrNE+lcqnot8Gms51zE+4CniMjJwHD4ceBfVPWrqnoO815/VkSOh3j2/4WpmCEi98CEgH5CVcfCI4Hz/LYJ0/kQcEWgt4mI3BljanwYE126PZbEvBeVx3sfquTjHwA/ISK3FZPf/Mk4r4AHA28JN5gOHVrRGeMOU6GqX8GkG/9biKE+FpNK/QrmKf8M1ffoSVic9kYszvyyTYb/Haz7RMR/xhTPPh3GfxQmIRrxDEyV61+wpq2vxBpPAvw0JlH5Emkv6b0D8HcTzvEzmMTkb2BKbH8L/CnwksCuuC6+wrzANIw3wvvnYjeST2EsjA8BuQ7ykzFpzQ4dJqIrh+6wbwhUrw9hTTantfGax7H+IRznhk03nu9xvxF4sao+YC+P2+HwoTPGHTp06HAAcKsIU4jII0Tkk4EH+qz9nk+HDh06NHHee8aBlP8prFvstVhs74mq+rF9nViHDh06ZLg1eMb3A65R1X8KCZdXYUmoDh06dDgwuDVU4F2KZf0jrqWlMiuodF0JUFDc58hYh/KDAVkYgHPgPZQllJ7z/emmw+HHGmfZ0PVNu5RPw8P/7VG94cZypm0/8JH1N6rqI3ZyvL3GrcEYt30BxqyXqr4YeDHACTmt3ywP2e15bQtyz29k4+QAnCClnUZxbkTv5nPImbP4M8vo6io6aisW69Bhf/CeLdXgtOOGG0ve+8bZmnoUl3x6okjVQcWtwRhfi3FMIy7DeKqHDrKwwMbJAX7g8H3BjRQZKRzpUR45Abc/gfjbIUNPsTrE3XIObllBl5fxG0Pws3kVHTocRCjg8fs9jV3DrcEYvw+rrroTJkDzBKw44dDBLSyghYBAsa5o8Pm1EPAKTtBC8EcKhif7FBcsgp7GlR7Z8BTnNnC3nEVvvgW/uoZubEAX4uhwSKAoQz1/HYrz3hir6khEnoHp8hbA76vqoWw8KSeO40aKhvAEhaAuGOLCwhaiIE4QH7YR8D2HX+qxccEALj1GsW6Kl8XqiN4ta8gNN+OXV/Cra5333OFAYx6esYgsAm8HFjAb+Ceq+vMichorub8c+BzwfUF7BBF5NtbYoAT+o6q+MSy/D6bfsgS8HhOU0lDQ9DKsbP4G4PuDuNVEnPfGGCBIPr5+0w0POPTE0eQNRy8YASlJ8WMVKBeE3lmfPqe/gTvj+/ZmeGwBd2qAu/Q4buhxGx63PsLdfBZuugW/crbznjscGChKOZ/v4jrw7aq6EjRQ3ikibwC+G3izqj4/1CM8C/gvInI37In67phOyd+IyF1VtcSUBq8E3o3ZmEdgSoNPw1QM7yIiT8A6wXz/tEndKozxeQERyhOLEDxhdZUnjK++oH7gLJas1MMYYEE3BXXReAvlgsP3FNcTWCxA+ujtjtBbPY3b8BRrI9zKGnLmLLq8gj93rksOdtg3+MnieDNDjX60Ej72w0sxyuuDw/KXYh1a/ktY/qog9PRZEbkGUxP8HHBCVd8FICIvAx6HGePHAs8JY/0J8FsiIjqF+tQZ40MCt7DAaKFIHjA+xIx943+rZmhjHNn3nXnE3oyylBoMcvCsFcTbZzf0aV8VM+x+MIATA7j9CVBwGyW9lQ3cmXPo2XNmoNfWu/BGh12HAuXsxvii0Pgg4sWBMQWkYrAPAHcB/peqvkdELo4aKar6JRG5bdj8Uszzjbg2LBuG983lcZ8vhLFGInILptP9VSagM8aHBHL8OGXfmScMZoR7Di0q4+t7gvjg9TpBey7EjIVizVu0CyyeLEKx6tGeIKNggIOxdqMJX3gBv1CwsbAEFy6hciGuVNyGp3fzavCel/FnV9HhRvsYHTrsAFvwjL+qqvedtDKEGO4lIhcAfxYkWCdhEj12Gm12Jkptjs4YHxLI8aOVIY7LQrhCi/gZUE1hiRiOcApI8IpF0r7ilbJXpM8oY8fIoQLac8HoBw+7B+VCwWipQG53DPG3NWrd2SFuZRXOrHTec4e5QIHhnPMXqnpz0Ll+BHC9iFwSvOJLgC+HzSbRY6+l3oYrp83Gfa4NDRROYtKyE3FrKIc+L+BPHGlZqMjImwGNRlarZJ7bsCReNLxSVttr8JzFh7hz+I5rdj9XqX+27TQxNcybricJ1Ql+oWB4epH1rznF+t3vwOhffx36zffA3ePr6d3xDhSnTiELC2nOHTrMAkUpZ3xNg4jcJnjEhMaxDwU+gXWJiU10n4r1MiQsf4KILASK7BXAe0NIYzl0TBesbVe+Txzr8Vhzgc4zPuyQXo/ySL++LPu3qtfAqggLXRVyAGrJPhXwhSTjrM5lCT1SHFldMO6jOpXIjRRVG6NaSK0isD5Ro9bRc5RHenDxUcTfBhmpFaYsryFnVoy50VUOdpgGhbav2DZwCfDSEDd2wGtU9a9E5F3Aa0TkaVhj3O8FUNWrReQ1wMeAEfD0EOYA+DEqatsbqHo2vgR4eUj23YixMaaiM8aHALK0hF8oastUqDEmUpzY5UayHpoA28eVal61mnEtB85izV5T8QhQed3N+ZSK84rHTQ1rTII6QQeCHyzAyQXgZPLei7NDihtX0OWz6NmzXXijQ4JV4M1hHNWPAPduWX4D0KqDoKrPo969JS5/P9ZDsbl8jWDMZ0VnjA8B3InjdSNL5RmLWoIuN4oy8ki2DQ3vVo2enNgY4pXhMUd/ucSpedpC8JIjfa5tXkNvSUJsDs5X3vdWjbQ6wRdCecECcnIBLUxaoFgt6Z1ZqyoHu+TgrRhC2ZoXOz/QGeNDgFjs0WbgUrw2GOtoaGvGucl+C8wJN1J8L3jBJcGD1uRRR4OsPgt/xN+CVEnCeHztObzDyrXXwg1gUs65BW3nVy4VjI4cxd/hOFJeTH95WE8O3nIGv77eFabcCmAJvM4Yd9gviFCeXLIYcINyFtkN8fvpB4LbmGyUokEv1qvqvHKxwA0VN9QqPhw4zDEZqFIVjlSxZ8UPXEr8uZFSLgplXxicycIKwb6n9xMnl58z1TwKSRWDokat8wsFnF4EPYUrPW51RLGyjiyf66h15zGMZ9wZ4w77BBkMGIbkXdM7TtxiVaQ0g5iYDkIV+w0GFWdebhwjsimK1XLMk45MCgl0t+aNIMab86ITt+7MQ3aVBVYh6WbMdsJU5xo99EIRb2GR5ra+5/DHB2ycWkB7J5HyEsQrveUhvRtW4Jbljlp3HsF3nnGH/YI7dhSoPNIc0SD6niCYQa52lJSki9tqqMhzQ0+5VIBCsTo9JaJTDGm+XAsBF5KALivBzox1fjPRIHIUWR25Bx3XpRBHHKrvQK0oJVYJxnlE7xln78uFBYYnB7jhBbhRUK07u26Vg7csW1l3p7txqNB5xh32FXL8mNHW2mxGYD6Ir0IM2nOITuAAOaFcdGjPPOreqp9YbZeOV1ZSnZsVhOBJYZK0T5hn06v3QeRIpUr8Ja/YScUUEUFFwAWDjVhGXcQKXMK2vdWScuASNS/3sMu+g4WC4Yk+3P44MroNxdBTnBvhzqwityx3qnWHAIpQnselEZ0xPuDwx1qKPajixQnxkb75KB/H6YmVPquiBfRWvQnUDzefQ06haxsXQHuCG1YJwZz9UTP4wVC6YOTbbgZu6CvDClXBilLpNqdgNXgnFtJQkKCvMXHewRP2PYc/EXQ3LjVqnVsvK+95eaVTrTuA6MIUHfYHrqA8vjDOKQ5xXC9VqEIbYQmohwXcSGGkyEjqKm4zombYMuZGCjWMqkRfMp5ttLj8tySCSjt1zg096jN+dDaWekVcFcoQTy3hGOeb/1UfysLJziMLg2ghlEd6Vphy0VFEL7LClE617sBAETa02HzDQ4rOGB9guKVFhov25dO84i0IA7mhT+pskYaWJ9pajVwwyjammxoTbiI3bGCRAy2o4sLBOLqhjo1ZMT5cPT4cYtht8XAJ8XAtAo86CiL1s5hy3Djocmw29/jenixk4g1DRdC+VKp1l5ww73mjpDg3RFZWraVVV5iyZ7Cijy5M0WEf4I4fs3gpUAadYlSrgo2iKvZISbAtIBq7Yps1ppqXYFMZad+3sEHOfqiFVBpUNz9wY550Yn84iy37wsZMTwfphmLxbzdSlAnGddL8nZiAUltop8VA242hR7nUgwuXiC2t3HpJsbxeV60bDbvwxi6gS+AdIIjI7wOPAb6sqvcIy7bcLuUwQI8fNYMV4sG+J0gJ5cCYCyjIRsUZ3k5p8la1upMiXDxe5CH3MqaDy7aNXrMqlWIcaVmKLYvFtGO1YPSgpQy7Rue7VBhWhlhjjFoEcRZPnkXAQDRQ5eLxm1zo7Def+NyF3QRyg+97Dt9zjI724eJjiAbVurUR7uw6cvNyp7sxJ6gKpXae8UHCVcBvYf2lIp7F1tulHGyI4E8eqZTTQmUbkMTiyYyEW99G1b7I1g14ZHDEZBpU772acdS6rkVM6qXDRgMddJV9z7xTURIlDzADqYrbsPDE6GhB/8woyXharNfCIpoqAqvYeYxhu1E7I0TaQhsZEyMt6pmY0iw3LnWChsKU8rZLwAW4UdB8Xl5PHbv9mTNdcnAb8J1nfHCgqm8Xkcsbi7fULgV4117MdSeQXp9yqV95n04ohr7O2y0kULxCu6WNdmGfNvi+C6Lzk+9LE71tXw8n5HFnybpUp10bUpm+H2LbIf7r+4IWIQzjMapbMJSRbSEjpXe2xPcd6xcU9M9FWp5R3yQYNXWgC65SlBEYDYJUaMl4SCJL4qXPVOekYjcWQoFMegrw43HxMW/aCdqL51wwPHYUue0R4CJ6a6WJIi1bctCfWe68501gCbxDZ7JmxvlyZlttlzIGEbkSayzIIu10sr2EO7rEMBUyWFjCk4nxZLQvN6w6dZCpt0mLwYgxVgI3dxpaDXHuuYbPseouqsGlm4TQogaXhSUkJPtGaoUiIjjvgzEHKbNMHxVzY+krxsfz/cCpDhxnm4+NQ1F54PEaxfOfmLDMbzAhwRevQ/L0C8G7QOVr3JTy9zEOXmxoCjFRVMnD0WJBGcq6ZXQCN7pdSg4atS7EnzeGXXIwoEvgHW60PdO0/hJDf6wXA5yQ0/v+7CgXnKxir+EsXNYBOiEWVARhH7ATLBcE8ZKMkBt6fM90HsxIbD2s0aR4Rm3k2KV6NIghAUkMiVQdl9HzIseYQlAflgcPNcZjXTi32rEjfS2LHydmhZAodiKVcXRDX6MGaiGt5dnlwFFs+IqtETqjSONJRONxsnnA+I0refRl9VdKDUU5kHdkcWqhHN8LycHTS8CFuNJb/PnMOu6WlS45CJQdz/jAY6vtUg48/LEjidKVi/REqLfHfBg3BFIq/ZXKm0q0sr6jWCtnDmWMoaXE2g09lMLwWOB/bigUMXlXHTvqLScaWyFGsYshDMUKUnrOknhRJKgXKvACmwHxFfvDK/hQyBIScWYEK0NXuz6xCWvsE5g53uJN1zl5w9HDd9g8Q2weApMjlJZHr3+MOkf9BhKXxzCJlXZT3RRdFRaJd9WyV0DfmYG++Cjib2v7nAvhjZuX8WeWbzWVg10F3uFAbHHyfMbbpbxSRF6AJfCuAN67LzPcClyBPzaoujxDTXciPRLPaFRFoVywmOx2DXHSPm4a/hDTllKD+pu3R0kXjVFIrAUB+2jQU1JPzcONHqjvO3TBIaXFlmOfvWS4mvN34dqEiUWaWzJs+VxLhcS+aDJAMiOcikm08uJVWx4Nwnmo1J408icGhw9hGElFOtG7rj3pNHsQCjVRJyB19B4eW0Jvv0SxepJiw+PWbj2Vg75jUxwciMgfYcm6i0TkWuDnMSO81XYpBxZucYHhov1r8kfwHE2Ob748GrxEQwt6DWOqZ1uaVCNWTGWbTJazUoZLuhCZRx8NXrkgFOsWS/ah6MIXVfw1CtZHGpkrFTbazzWpyYlR/pqdSdINK7ehWYjA+vc5ELsZRNZFEh1qePWR1gY299GRgmLdJ6OaH9eVarFlF8Me1fG1ABnW4+5j59cIg6SxR0qvLEPox8JO6sS851g5GKl151lLK4XOMz5IUNUnTli1pXYpBxly9KgZ4ZAUU0/NYE1CjGmWixajdesxgbVDQwxVd5BMjS0WcsjQm57EokN91coJLPQQqW8CFOskQ1tsaI0el2KyI9+qmZFT1SJiWKL1KaHJkmjc1ExLI2xaBs80zSUMK7QmHtxI6Z8tp5ag24bV1FQCw0So5mpoMTUAACAASURBVLydEKjaNWpLRqoIOijwgwJOLFS6GxslxdkN3PIqemYZXTl76ET5FWHYlUN32FOcPkm54JK3luKO4VE3enC1pqMxaVVq8lJnSdLNosgGJNnK/MffpInVSrHDY3d6zI/xZq+IbzMilafcNpd6R5M2l7F6Khhrphoq9+JTBkJVvBGr+oqKHmcGW4wm5zIutq8b/TamyuiIo1iNyUuyMbS6GWgWs47jZucxS/hJvN3oxopV2q6dE8rFHuViDy48guhpe+pYD6L8Z86iKysHXpTfxAg7z7jDHqI8uUQUr9FonGKl28DhCcbRtySqXJTHnC0aIxoSY7OUEbeFSpSxOVhM1LzLyJZojpOHXyMzoWgpXIk3gFQy3RK6Tca2EMoFZy2fnE2wSopJOlffE3qjsvVGlIpswAybM56y6W2QDHYbNDyNaE+sarCMNx5fUf9g3BvNqwa34qjqhPeb7RZ1N/oDRscGcLvjgf7nceeyllYrZw9YclC6oo8OewfpDygHBS7QrHLxH1FwG1UJbxSMBxK3V4t2WcppmGX7FH9u8Jx9lviK4QjtR/pWSDqFuSKVp5lzoKeVcmswtGnbomoVpS7Gfc3zdBtVkYhbz+LHpcmGIkb1i51NLJYeY86NG02iFVZxd2O3VK2p0nXJtJWjyFC0GVUhTmZspfqbJ+/2ExbPD9znU4uAtbQ6SKL85pN0nnGHPYJbWmQUjVngpVoBRBZbzVorlUtF0OL15pGJUAx3yZPJaW0ZvSxpULiKc5x+qrF0O8SOJVNoS906RFBtl9yMIQSIoQWgF4x0ZFK4yIAwQwvjxj3FlhuIyU1xVePVxHsmeMJlZVxjwYwuOIZHHcWGUqz54DVX69MlCwJPtbZVtZjyeG/DhCmhh72ALxwsubqs6D4nB7sEXoc9g5w4XsU8FQiJmrxoAkjFCcW6JzYWFa9Ty5u3gmZFWax+y9cDSaciV2XLwwm1mCvVOSSmhWJeZfb0GdsrSWlsCk+M9doceqvGwKBnhswpqGirFGc6Rhu8TSbnAacwRWYITco+eMihxNnHjiIKoyVHfyWEPZTaTUVdKP+WFpF92lkiNeSe9H4hevFskhwM1LrdSg4q0onLd9g76Imj1ftoEOMjdaRVBe2FqBssgBtt3wi3iug0vLfatlmjUzIPOe5XUdzincNCAZQ+bTPmDYYu0C6GFGK8N5Z1h5CHj+L1XmFUsSNcW2w6m7MoDI8X9FbKmvGNSU7rI0h6IgEqLz+EHdQFGU0HG8fNKx4sB9W8/BrF8Achide0H9G4tXT8HtvugGM8OXhha3KQm+dwLGDYaVN02BOIUB6rOnvUQgKZR1yr3JrHYRtJsbYYrmTGtk2iMsVgo1ccDWbPBe9vE1pePKZXZFT3GKMhjh6rdRMhecK5VOe0+HN/efINKzV2LTUxFcqo8ZFYC1KpxTko+/WQhD29VEUjKXSy7se2m1nUf6eO4B571a3JQVXk7wZzGF3Oaz3j8zcAcwjhFhYoj/SB6lG+XHCUCw4fXlvpzLEVTNNZaLIo4vyi1kV8xQqxPJQS8y1tjIWYFIv97qLiW9Rw8ANnqm7BG81DB4nGJhYy8H1HOQjzKOo/2FmrDpvXNVUGekLcG/pnPYPlkqUbPUe+UqZkpAuFLYkyVwbvXxjzjGtsjc3QHuqeHY2bwFzGyTHDmCoCfufOg92r3UyvaRCRO4jIW0Xk4yJytYg8Myx/joh8UUT+Ibwele3zbBG5RkQ+KSIPz5bfR0Q+Gtb9hog9DorIgoi8Oix/T4vS5Bg6z/gAQY4drXVGtkd0El9225oSO4QfmKEtNnzNK7bKNHuflz7X1kOl4UDl2RNiqFKasE/yzqVKAkJI2sV9Y9xaJIUMUBm7QWlbRVs8dkNpLZVnB8NfrHnzboORt0nYK5ZKp4KWssr0xTLsvK1VPHeCh5zivxPmN4b8cs7jf78b358ZxnSlTyGqnWJOnvEI+GlV/aCIHAc+ICJvCut+TVV/Nd94E130F2Fqj+8GXg88AngD1tDiJlW9i4g8Afhl4PunTarzjA8SLjhhRQIpVqwVC0HHPax5YtLYGo2m16S30AxpmOcqVeGJVq9YtFIJ8IR1oQzaB+ZIpK+l5FkM0cQy6TCHqKSWuoVInWlSSzo2koLWIdsljzwa4JQg9dW249fBtikXBN8L8fqUpAsHanmCkJGv5hGfGGb5P+bes8JhfjqXDY/OwzNWmYtnrKpfUtUPhvfLwMeZIK0bkHTRVfWzwDXA/YIo2QlVfZeqKtbw4nHZPi8N7/8EeEj0miehM8YHCOXpY2YgBq7WiHPWKrntIA8XqDSWZcm6aBB8IVV36J4LXq/FsIsN364hERJxKe4blqVEXKg0zPnHsfpQsmSaFpUWAwTDHjqexHmn8+o5e8XjBQOeqmnD+MmohoRo9LojSyQeIxZ7uBBTtu4iNi9X1udZLoRwSVgfbwTpemwnPBHf74dR3uExi7Prc5mGJfCKmV6Yds37s9eVbWOG8MG9gfeERc8QkY+IyO+LyKmw7FLgC9luURf90vC+uby2j6qOgFuAC6edXxemOCCQXg/fLxJVLT56t6mPzQPpGEqNtpbHYgkFDdFoJh5tPm9fPapD3TMFqhZN2faR+tVkElQepD3Wx4rDaufKe43HTMmyPFSRmAwNXrRXwFXVcNmNw+VebQxnQCWKH739kVKE4hoazl65WFRevVqpNdgNQDOh/El6F3Y+2Tm2bjBl3W5hh8d0y6vzmQdb6oH3VVW979TRRI4Bfwr8pKqeEZEXAc/Fzvi5wP8Efoj2f9ek55Vpt82pV7IzxgcEsrRkTTih1VDBdKbAto6ZhwJyox8MUaRopVguVXggFnBMulHkhjtWDqbqu4bBjt5/LHm231vFZEjyoVpR3KIHm6hvOQc6103OUHn74LUSHMqvq7ElpHpmzLz5GKax9kuCDoxjPDhTphunnVD9OvZW608M0/6HtXVZuGZmbGefGaG9Tah4bdNRRc8sz+f4MDeesYj0MUP8h6r6WgBVvT5b/7vAX4WPk3TRrw3vm8vzfa4VkR5wErhx2py6MMUBgcuKPZpoMhHaEIXYm57rTGi0UWoeN59XaqGUbVObX1EPReRIRrcXGBShUCRunxJgweDGnnjR2CaBJEfFrsgTnTn9roEkjZl530m8vufGt+0Zp9mKPCy+nBgfMa4dPHU/kMQkSWXQ0fvX8eswFZuFJjb79zaN+U5tV7Z/NMTas4KjWcaXocevnN3hJCqUuJleU+dksduXAB9X1Rdkyy/JNvsu4B/D+9cBTwgMiTsRdNFDq7dlEbl/GPMp1LXUnxrePx54S4grT0TnGR8Q5MUekzDVK846f8xCf2vjCyd+cIxT+6BqFmQgpRTLirus2Wg0zA29Yy2yGHEomU5GM8SEtRA0JMvcsPIeUwghnFOKZYc4un0gMTFiUUmq9lMdu1bJKAbPUUNSMTIvondsfOPsBqSKqcKHj5kWBxjDpOwLbl2DFnP4H8QwT2RvNL30rTzltBnore63XcSH8TzUNFJ04II29fTEXLFempbFXKYytwq8BwI/AHxURP4hLPs54Ikici/sbD8H/AiwmS76j2Ed65cwFsUbwvKXAC8PTZBvxNgYU9EZ44MAEfyxxZ0NEX7weRJuOyGNvDoNwqNhX3AbmmKdNRpZ1CDWuoEv80f6XNYyK5VudoCuIaOzVd6vec2pQ0aMyebbDL1dz141T+2Z4TDmhZ1U8nDBNIezjs/pFUItGvUmglFKvfEKAp846EU7QdZj+bo1LnVQv+lloZmt/WPYn3gx7cd1MxYduZU1yjmWRc+jIamqvpN2n/71U/Zp1UVX1fcD92hZvkZocjErDlWYYgpZ+7SIvElEPh3+nsr2aSVrHyTIYGDlpDsdJxQeROH3LRUXtCDSw4o1TWGAtoKQWDmX9ouNNkchxpx9y3JGRbkgJkgv9ZuIL6qwgElhBmMXjGjOzEjhCrVEmbEtSCyGcrFIVXPRENvFqvSTk6CaVHNPn10VmvC9Spc4euLxcd0PrOiEEF4xgXxfNWSdFRMze1PWHVCIKnJmfiEKVRh6N9PrMOKwzTqStb8BuD/w9EDIfhbwZlW9Anhz+Nwkaz8CeKGIHLhWAe7Y0a39YDeBJQDNU4vGaadjuaFv9WBbPbzIvhh5e5WZNxkMXOT4Skl47yoPu8G4SPHXWPBRUPGRs5fR4zTFctNY3uQ1e+fK0JDVYtG9VaPjuQ07P6QKK8TzckOfWBPRM09PICl0YXFjsC7Tic/cs/fNlllTMW3T/fKMtwsFP6fknQ03H57xQcWhmvUUsnZOsH4pdeL1GFl7b2e9OeT4sbl7PTFGGo3yjsZoJBDHwnYNY5OKPaDiJEepSm9hhmLd018ua51M8uPEqj+g6iMXy6JjKKU0o5rrB0fDmQx2MJ45XSyv6otzjCGVsZtLikNThVtSvBmizoRR3/KnA/P8NZfIjNvuRL/4EHnHbqNEV+dFazOUQZ9is9dhxKGNGTfI2heHzCaq+iURuW3Y7FKsTDEiJ2U3x7sSK2tkkSO7M+kJ8Bcc25Vxm4/cc6HF5cppGWMgr76LceTI55WRp/CShQEqipnFYLMQQfB+JXYDSdVtZgBv/IYeF/6jNciL+s3W4DOMldu5oKVsdDgLYbihdWuO7ArNevW5ZjIqZ5GUCiEkYYY9jxtobbv4cuvZTSA7v1YecdN+tA/fmlA7qCjODfFz1Dm2aNjhNLSz4FB5xhFNsva0TVuWtX6NVfXFqnpfVb1vn4V5THM2uILySH/uhR1tHuw8jpEScDGumyeknMWAjbaWMRAChSx6zOpIrAOjstXDF+kpMw9DOKt6O/55n4pVwJKLG8err/HGiYLRkqtofuE6JFpcNl9XKtqjPs8QLop60ZCFaUJH5xjrjjFsKakJyMf5tRriaEyzMEer0d1jg5uoanOEO3NuvgN2YYqDhTayNnB95AiGv18OyyeRtQ8M3NKiiXXPGWM6DaGMuTXMsFXEJBYk79H3gleblQ6nY7vqhx5Lo8uBQOh6nRuuVDzhSYp1KsLK7XpJvW3tVJHCFcWaZ/Gm0rzxntBfKemd8yAwWgyqbwPjNbvQSy9do9LKoVMcONw0yoEdtykUD5XRMmpePEmCh24JxxqVrWmI83Vhff3atlzvWbbZIdJ1mBNEFV2eX/IuwiMzvQ4jDpUxnkTWpk6wfip14vUYWXuv5jsL3PFjNU9v3kjGkHpF3E5gsei6dkTOEU7tkQKiV6liCS4plf7Z2Lm5Ylj4WFyR99ULxvnYdfa4O1j2LN0wqhm1lCAMBSNSKsWqZ7BSWox6oxI6girJlgpkwjWKRRt+IPVEHfU4uHGT7e9o0dn2Es+1Xok3ZojTP4Zxw9xcBzWj3mpjDqjdEa/o2fkaY2NTFDO9DiMOW8x4Eln7+cBrRORpwOcJ/L5NyNoHAnp882KPbY8tVdWZW1cTgdusu8QMiCwH36uKNmKMt9J98GigpyVZ0Ow3okHgJxltR6Kt5YYtGTTg3G0KVu4gXPz+YeVpx/563oxrEpwXLJmXhUSM4aGVMFIoty4HQrFhnq6MqGh8zYRebAW1EYtWnNH+yrAu3AhqnTxm6fo8679jkuE+gDFkt17i1+YjEBTRtV06QJhC1gZ4yIR9WsnaBwX+xNKujS2lIoUmzzO1ip8DokFLHN9Mo1cFtB8e9QWKdY8MTc9BvLWyTzrILoYuXMVIyJNX2bmsXSSUR8yYxq7LvhCKoYau2HWvX7xy9qIeR75aJm9z7XSP3romfYliozKWMqq88cQGiYY1JCejypsbKbJSVmyRaTbigBnKmbBDA18sr1P6+fs9hzUEMQsOlTE+3yD9AeVSf/fGV6uUirKcbmgluztF1C8GkrGSUeUZRk+4WPM11oXzVQFENMw2USEWbcgwLCqzdc6M520+tJ50JHKRo4hyUVBxZvzD/taNowpfLN0wolxwrNy+4Oh1JerEhHxi1KR5ffIEZSi/zpuppo7SjXLwbWFWA9jcbjeM/Q497nkWe0Sc72yKzhjvI9zRJUbzKPZo8SQjYnLM96vOGK3lx9tATtGKY/qeWKFH4xCmBZEZ4lyfInjHblSFKmKfu6Q7ERJ06ydMptKNYHDLyBgYPTt+b6WsmAylUi64NJ4b+eqmsOE5/gW1kt7UuaORdCwa1ynedEqbT359garkOf9fbMU4b8XwbfXf18bW2I3jxMOposvzK/bIcViZErOgM8b7CDk+WaltawMx1SBDFX8dK+DIjNdmaKqxjTENJiQIc2cmlk5HjzlfRpa402jwMsPne0JvXfnqPQo2LvBc/J4eizeNkhBRSuLFc97woScejPoFvXMlZbj5FTHMIWY8ygVXb0ravB75OYxiZQnt13yT/0UrtmL4tuqx7nGYRIYef3a+xR4AqsKoM8YddgOzKLVNH4DqRz/lx58SY3G3kOH3g4q+NfUw0Yi7jBkQmoYyqjo0R28y9byLYYlQfBGTWpYoE5xURjmqu0EIr1BpR7ihzaHwoIVy4cdsXbGhSTtidMTRizHcqDyXqdiduUPBqWs85aLNUUfWkWO0KLgRjBaF/qqm2HdKAuax8LzRadRdjvH43IuexHrYjlFs82oPeAy6WB2io+GujN2FKTrMHyKUR3fYvnzW76WvHq2jN1ysV6JCm1Hd8qo6cYLPuMPixGKppVJEoxqpdMEQqwiCHc9ThQByYxfnED1UKdXkMwupaUO4oVKs2YLIiMAJ/WVLFnkBAmMk3oD6KyWnP1GmwgzrZm1GvAjqjr11aiwIDd1Gcq52pMa5oRWe+MgrLqHi2WUXLlwbstXbxlbiyfM43g7gluer1BbRxYw77ArcwgKjpR1c/uaj8GZx4zIwFxQkyB9uSfTcV22EUlijxZDHGLBZajuuqK8l8aAS0LHS6kpTGEhSndHopb502Qlq6LisAmsX9li4xRgTbugpFwtEq4B2/vs1DzaEL0QSLzjeXJI0pKvT1GLFXrqmpVo1t49VhPXrn0q7d4I2wzqDUY5l3/thkE2pbWXXxu+McYe5Q44dxRc7kVOjPUwxwSi7oU/VZXnDz61oVkwz3klxLcZba73psjFCAq1cKpLATr5OPIGKVwnSp/Oi8k5T1+h1z9JXKk8ZSB6/C3HouI9KRktTX2lpxGsQtq8tbzn/pMNRarVeqD0V2Bxnu66tmGRzmv+C5vdAZ9ca3g2IV/zy7hjjjmfcYVcgJ45vPckTEX98M+xfM7axkaYIEvm1+aP0tPlO2SQ1MYWUTEuJtxDSyGOq0SDnbYoqylt1rFrsVgJLozmXaDiDroTD1+lpwYOFKvyQ0+Hy0EOskpNNEqLp+Om6ZvHk/Gkh3ke2U2izVWZFnkjtS9LR2GvIhsevru3a+B3PuMPc4U/sQBlulu9jFv8kaQN7XPDGc+O4HUW3mtHUwLeN+sm9YAzUkm81jzIPO2jlPcbxioZXp1Cpv+WGJw8JRK+Udu9dSk3UOCvuCEY+dvHAOkg0j93qhTaWxyReSj62OKVbCgdtcry0fMqQ+2WIAYqz6/hdKPYAYzmODqlw/CzojPE+QHq9nSfvmmh6y+Fv0yOtlQPH0MJmv90pXmIUhXdZH7lkmGK4IsJJLfQQFdsmdXO2Ayj0BfXUQgJQJfCqfnaT55sSjClkUcWEoyB9pMf5XjvHuNUAZmyLNLfmdvNK3h2A5NxmcMur7GaQpAtTdJgrZGmpph62GWoylWkh7T/Sxnc1F6qpjCVB9Hz8Z9Na8NDy/a/NxVkiy4ySouLMjcnn74IwTzB+TR5xjf+ci+tAoMXZycabSGKCxKapWsWRx65B7vlnVYC2feAW++ocxopiJv3+98IuNG+yB9gQiyo6x84eTXQx4w5zhzt2dEvFHilu2rqS+g80M0a+Z7q7bmidNVJJb/BiU0UcFsJINwitkl2bQsMBRYKRHdfAiMd1Gf/X98K+IY5dikvGNPWda5x/W1FJPAc7Ya2zGGKvPEeq5lNnoQmpMSOw/nm9cWZHMz6dLtjYdWD+xnneHnaEmHJdDMvMi30hI8WvzL8MOod2xrjDPKEXHN/yPmOGUVreNx26YCB8X3AjSYkw21ZT2bLvWazXDyQ0H20xxI2kVIQbKT5wcpMhzPbXNnqXDyproegEgKDoJkNL0WjPhXhxGCdKXFLFlUWBka8U2MLYyfONNzElUePEA6M8LGEbikZ5T6nCGSKo1qvxmhWMe4LcO56HQQ5PEXGs4VHHws07Dy4UayN0Y2PH40xDl8DrMD+I4I8tzn/cCXHS3jlfM1DRa617hva+WG15RE8bMdkQxJBEw4in+CxU/eyiNyyViJEWpjlsN45MCEhNpjKGEwBUjKoWaWtxWwkxZyt/DhciS1zG+cQbVIxtR4lRsuRh2q70VaPYeBPLdTdycaC2UNE8Qwqbed6zGuqUUxDUWQuohZvm0xrJrexOsUeEahcz7jBHyGBAuTiny557qxPixkn0fVKCjCqxtykmUL6ipgNOKk84D8NkXaEJhtL3BLcR51c1BI3jxRb3ph+cVdyFThu5VnBNNjP024vnHts92boQngntotS5ut6wkmQ5Y5FH7Eid9IqzVkq1YzdDRc1rlu2zbSOdj9MYI12PTcaOOYHhUUd/RSvJ0jlgN5TaGkeg7NgUHeYFd+wow20otaUQQNYQtKm5C0w0mHPtJNIYP7EaHInKps2YL4CLehMWp42l0umxOY4dhOpl5HH5vEtFXBVXBsY8+Rif9oG2poVQOqEIvOZy4JKXHY+Z9JEz+lytgAS1vn5AsZnBa4vht73fKRrHmcUQA0k4f+HmUfD65zMp8YrfxeRdxPkcMz5UtxkRWRSR94rIh0XkahH5hbD8tIi8SUQ+Hf6eyvZ5tohcIyKfFJGH79/sw3y2UewR9YNjsso1VcVyj2v3nhLHjxcPG+O5fjyOmhdwoMG4SbUfgPayhpiO1K8v76+XdCy8aTJLCDFMTmxWxjQlp7xSrJXGMx4FjQu1Y+eiQul4Gax1VIMD3ebp7sX1b4vfb+G4MQ6fOnDPAW6jRFfnr9SWw/6FMtPrMOJQGWNgHfh2Vb0ncC/gESJyf+BZwJtV9QrgzeEzInI34AnA3YFHAC8UkX1tkLWdYg8JnqMb+qoVfNuPT7LXbqFhACxBFkugoUlVq7ESwsu6ZYQu0UXwjuN2oZ+dBiZEuVDFgGMCMhWIrJV1IZ+ss3PsQO17VUeSqDyXCkCwOHERxOWTIY43v0YMu6oGzM5pvzDh2H4Qm7BO/mnHeadrMwcU54boaD6x54lQixvP8poGEbmDiLxVRD4enLpnhuVbdupE5D4i8tGw7jdCn05C381Xh+XvEZHLNzu9Q2WM1RAL3/vhpcBjgZeG5S8FHhfePxZ4laquq+pngWuA++3hlOtwxbaKPXJ93Vhtpm1e0RyMQzRIs02MpPXght46JOfx6mD8IooNT7Hua78WKUNbptKM8mjJupLIyNvLh/NyFeXM96umpan9ExUrZLTk0thg28cGpD7bNs612AhzCiGTVLXQoNilisHGjebAIL/200SKwk2xWK+XpO8E7sy5nQ8yA+bUHXoE/LSqfgNwf+DpwXHbjlP3IuBKrNnxFWE9wNOAm1T1LsCvAb+82aQOlTEGEJEiNCP9MvAmVX0PcLGqfgkg/L1t2PxS4AvZ7teGZW3jXiki7xeR9w+ZbyPFCLe0iB/sgmMujb87QI3/POH3PHYzIBjloU9x4dr2RWX4YtNSM8Kha3NfGC1aUinFc3V8v+Sd9iQ1N827X5tuM8nLjR67aOVpx1i7lKA9lwx19KLNuyf9MqRZ/NJIjmpj2b5CjaHihrp5QjbMeeNEwZk7Dti4oLft89jtYo8IDQm8WV5Tx1H9kqp+MLxfBj6O2YUtOXUicglwQlXfpaoKvKyxTxzrT4CHRK95Eg6dMVbVUlXvBVyGXZB7TNm87eRbv6Wq+mJVva+q3rfPwjymOgZ34vhcHgujxznmwc7BM07sAaiSRI1x8xLq/Hyikas9vrewK2LnZYBy0bFxzFEMlcFKSW+lzDw2K1rJizTcMHjXnlpMOTUGdSbKU6x7kChOr7jSXtqzRGhUsdMQWrF5173gdA3CMUZLhbVompakOywI/9fBmZKlG8od6VnISNFdLvaI2EKY4qLoXIXXla1zt/DBvYHtOHWXhvfN5bV9VHUE3AJcOO3cDi2bQlVvFpG3YY8F14vIJar6pXC3+nLY7FrgDtlulwH/srczraDHZ+/sMUm8p0bjamsN1MKk2BJC9+Zy0VmCq4VGNTbXjGamMQEXSp9d0D1OveZC148o41mse4ZLRTIOfuCCsdUk/p4SbDUVt8wjzrjTUZc4xnzpuYo14So5TwnMjHTpRh4Vl5J0Ka7ad5moUSNW39Sl2A/M8P+ZhmLNU+xQZM2tj/Dru/M02cQW2BRfVdX7TttARI4Bfwr8pKqemeK4TnLqpjl7MzuCEYfKMxaR24jIBeH9EvBQ4BPA64Cnhs2eCvxFeP864AkhmH4nLKbz3r2ddYAI/sTSTJvmnt7E4aYl8baDYAwTlzYavVl2jWI9ieKW6RCPlTVXcdg4/mDFYsZJwa2QUAxiXq7bsBtEKlwZGfc4eth5YjNS3SxcoamMOlLv4vgpqeerSsTYFy8mG1WgXLCqveiRz6O79tyQ///zcMkeh02KlfXNs2ZzgHm9MtNrM4hIHzPEf6iqrw2Lrw/OHDM6ddeG983ltX1EpAecBG6cNqdDZYyBS4C3ishHgPdhMeO/Ap4PPExEPg08LHxGVa8GXgN8DPhr4Omqujv6fptAev2Ziz1iF42ZsJ3fwCZG3A29GbsZxvYxrht7z4XWSGNFJl5TDNe0hyUl4mK3DVSTQU5/o4H1WRw5aBdbMi8Y7phMHFrSz214M9qhaCSxOvw4G2XSTU3U4trpFBrsg3guBwIxnNQSBt9+8gAAIABJREFUz99t7H6xR4V5UNtC7PYlwMdV9QXZqi05dSGUsSwi9w9jPqWxTxzr8cBbQlx5Ig5VmEJVP4LFd5rLbwAeMmGf5wHP2+WpbQp37CjDGZN3W6JMZQmumR+b25gYYbmKGUJpW982lFYJPaHZZUIrDz8kzspFSSppKJQDYe10wdEv2T0ydY3OmpP64PXlAj6pYITKKFbyoOGCaDVHIPS9C6GTUo08UQgar1nu0WciRuoEp1mvvoPEpsgflrOnm61gJ2L04hVd2b02S03MyQF/IPADwEcDGQDg5zAn7jUi8jTg88D32jH1ahGJTt2IulP3Y8BVwBLwhvACM/YvF5FrMI/4CZtN6lAZ48MMOXFs1x8fm22Cpm/MGDsAjGEgQ18Z9wlZ+cRuCDHmKHE5pjDXiLPKSK2qLiwr1mGwnIUyMvpa0pwIibdYeRjHSfvEkEJQInOEIpISUA1i9x5Rl0IXolTjNpJysfWT3QBsjDbd51RZuN/Y6s27eR47iHu7ocef3d1ijwhF8HMoh1bVdzL5p7Ilp05V3w+MkQhUdY1gzGdFZ4z3CH4LybvtIOpLlAM3XqHXugNjqQaVKs6aesG1fGV9NL5ex1oqNaUnmzS4GNvVnkv0NDfUFL9N5d4h5AAZY8OBDLWSxgwUNG3xCHPpzFh6bfFfqRXO5D323ChL3sVDRj2LnjOBonhtm5d3u4m0HSbgtowJxxodKayIZoshcXduiA53V6ktx4G4+e0SOmO8F3AF/ticO3tMQCUFqZsb5YYhSGpl0dCJ1BJYabeycm2jCtwk9odtVBlPN/Q1pbRKjCdLShZZQlBIFXFNIy5lwxAHofhUBRilMh1VbDroGvuBo1gt7VxS4isY8A3TxMhvIsmbjjceqbNIdiz+My9sw7iLh97q9lIpbmWVPUvC6JbYFIcOnTHeA7jFBYZzUGqbavDybXIDOWEbm5hUCbVgiGXkE/vANmYsUFfrGrLJvKJXKyNvHTl6LrVI8n3TTy42fKKvxRsJhGahWWzYDGAY15nVKdZ8rRmonZcJFvlQHBK9Pd8XemfNdJQDwQ1d8up9KBKxOLGkPnkRKSGZ3SSsbdSEf8R+YRv5hm3tG3Fm7+LFwMG73nNEZ4z3AHL82PyKPTaBVcFVniRUxiM3olKqVf72XWAxVF50ztdNspJ9lyhgKYyRJdkmT7rSiSgXHFEsyI3UPqfsmj0qlwNhsFJaaXU0pLlHSui3l4UO8zhz8uATM6POfohe82hR6K2R5iPBAzexeQnJPq0bZYmqc/W497ax1yGKFsxyg58EV3p0eW+NcecZd9gZThzbs0OJYkYyM76x91wqlgCIIQkyDzd6hD4avKDnENY5LLkHjCXmpkIrowpBE8EJ/bNlEgMqB8JoyTz0wQqZjjB1o5yxLSLVzQpVjJdc9goTrQ+GOcWzfRXikBIWzpiWBr3gEOfNSguqCj+ntThqzkPeMeZliLdp1NP5buV/mcGtl/i1vSn2ADtF7ztj3GEHmLXYY1cR4qap3Y6rjBBk8dqI3KD3JPGOZwqVhLBHseFTeAKgf7bEh3WR4a5BC0KdhQp8D9ZPFvRWNXnJbq1K+o21PWrwsbWoYrlNKhojT7lQIM6ShuWCgLdjulFgURQWc++tWrhGpOoVF4+5qeHaD4931mPG7QSWL+uzcIvdsIo1v2V6m1vZwPs9pO0rDarO+YXOGO8ypD+gXOrv7TE1xlk1FC74+nc44/7WvOLIEsiYBB4QgtAOWLujTRA98LzLRjmIUpRZwkuqeK4uGCsj9qVTB2unzEtO086TiM3E48jjYvVVvNn0XNUmKRjRYi00XlWlt6pVx+rgbWswviaU76u4sIwfd/IFmGGbnBu8U7SN0TZ+/h1QOP75jSQnOrHd1hS45bNskXyxY+xBod++oTPGuwx3dInRNjp77BRNCcWaEWnIcUIVd60ZnRgvjok0J1DK2GNtTPjljUI17FsuGGvBDS00EbUp8nJkgN66x5eSOlH0Vj1Hrw/HLEgdPNoUAVRAnKTjulJRtRBLLbRCFLevvOb85iLBiKOBfZEXsOTHnYfnu5tGZdr8svh3RLE2xaROGMuU2vY4eUf7XM4XHLZy6EMHOX68Lku5C2hSsICZyqlzLWCo4qF5wipS5JL3SLt3WDP+oSzaGAqYJy6SDF3N4ww84Nh+qbemuFGIUY+U9ROBBtfQFc5/lJEvrC4cL+hVFGvGfcs7gpQDV4kZ0ThfoiayJQ9Hx4qqIelhwgwGSwXKxSL1CTzzNYMUMsoxPFYkIf4cMvT4PVJqy446N22Kg4jOM95l6PGtd/ZoHyh732Z846qYrxq4TfUlphnX5naS8YBjEYSMAnOjJ6nZZ5T2zNkY5cCSaTIi05cw7ypW8fXOlclz9mE8BJa+Ohp/hM7PPzJFRj61pdIihFRGmsKMQqWzLL469xwxlIIQ5qqps3Q63gS64KFBfPKJ3GK18yyGdtMq1uvn219ujwkXq0N0NNzt2Y7jPPaMO2O8mxChPDYnbeQs8VJbPOHLmeKvm8QCJxrizDuOBSA14fcseKfR683L9YLxzgXdbVugV3XqkLzqzSsqQadZLDzSP5vRMPLrEOcW1dhyDebw3veoQiPRO5dqDhJ742XhBylhtCQ4CeL3zftAwytvxVbCGHuZ7Ivn2ryxKxz90tYMq1teo9zrAK6CdmyKDtuBW1hgtLSzS1zL3m/hexgry6Zl/9Pyth8p1ToBCA1AI9fYet5FTzMY6WBYtW8aEHXRIGrFJKZnXM2hMqqhKq8ER8UnrpVZ1xJR0VWPXruk5VV1XKC/hdDHGC0vjOlGiu/Dwi0+NFmt9C5qlyQI1E8sHd6KjdoPT6/5PRLYONmjdy5rdbXZEMt7HaJIR96n4+4+9iUgJiLftB/H3WvIsaP4YmeXeFoIwffd1A7JbeI2Y2gmpmoDhE2CUdfoYYaxUwJQCa2QBL9gMV637pM2cpxD7JUnDUNm3Thif7xwbj1h9VRRdZ6mOnYTLlLYfCgBH1lMOh675n1DjfMczzP2/pOSKuYd2jGVWXNPGWl1IzqMdmHCDXdw8+zNRF3p8XvQZqkVOuPrEGJPjbGIXBzeXpUt27RR32GFnDg+tx9sm8E1Q1j38prCPJtCGvsERkVMcmmgiKUCARe0hGP5tGatkACClvCY5xkNoUavOFAfssRclO+MJdJHvloG3WNJ1LukV5H1x8s5xWNaxXGfEOOuxYqzG5GFU+x6aq/SWdaC+v8wS5Cmm4RwuAxz01jlc5/hJiMbHr+6w/Yg20VnjOeG3xaRdwFfIyI/JiL/hqqb6nkHf2I+ybtofJooNvyYPsJM3nCGKJgem3PGsuLoKdr7MI/cM40i7dG4BaNa5IZ4ghcWzykWcoyWCsoFF4wgbBy3dvPlIMZ4Ld6bqu1CRxETHKo856aRjlznFE9OffJIN5w4J2u7VIVL4jo3tOurkRkSXim8Msd293uKlv+N2/Ctic0mirPrsJfFHhExGzvL6xBiT42xqn6Xqj4A+ApwFvhu4HIR+duteMihQ/SHROSvwufTIvImEfl0+Hsq2/bZInKNiHxSRB4+73OaOMdej/Lo1pTaat+hxm9iKil/C9+92KI+GlukMlbJEAdDGY1ObIkUu3E0u3jklLg0bpzXhBBIfNTPFdvAGpSawlvgCQ81JQ7jvI3KRhIcokGrqzU/1czoEqhtPVfdhKL3X1RzicaeLAadc7BtQQhZhBj0ofz9t3mSzc9Sv34A7sy5XZ/aJGyhIemhw16HKf5eRF4KHAE+iqnrfwbrZfeXWxjqmVh77YhnAW9W1SuAN4fPiMjdMIX9u2Me+AtFZLZ2GzuELC1ZpddW9mn8CFqXbwPRWTDvU5IxghBPjUJBjQKIuCyGFGaZR2ynlAxyYx914BdcarmkYhWCEmK9/ZWS/llfMTfKYPC06nEnoZVSShBG7eUYo47MjdxLVk3MiujpI5X3n9TaYpglcJV7q2XofZc9gTTCFkl69HxA202nps2h6C37FC8Ga/syy+sQYq89438DPDd8fBrwN8BdgF8FbjfLGCJyGfBo4PeyxY8FXhrevxR4XLb8Vaq6rqqfBa4B7reTc5gV7sTWiz3GvKs5xr/8INDJPClj7kZVB4tk6IIRApLhiyGJmvBOC/JH3FpBSfjje5bgk7LSMdae1M5bSqW3WtILRnl0JMy7oXJfxZ7r1y2GGOINSDS0gor7R8Gh6OWPYlGLVupvAxcqAaniyvkrOye0EqCvJrfpv+PgYpPvnAw9/tz+ecb5U9i012HEnlPbVPUaEblRVZ8BEHpQvRz4thmH+HXgZ4Hj2bKLQ3NAVPVLInLbsPxS4N3ZdteGZWMQkSuBKwEW2XmsV09svbNHEuIxQYht/6ibdLaY/ErGFaoS4WiYwvskFiNUSbewbpb5yEgrLQsniFQhBsBuBl5TOEGdoH3BUY9/C1aU4EaOckFwGwohBOLWK5nQnMKWCkBiMi8bL/KiBSsI0Z6FYzSdIKkUW6nixkl0KIxTLrhaF+qE0JA1XsfqgjDVuB02FGsjdGPvOnvUcIiTc7Ngv3jGD8je/2noI/X+zXYSkccAX1bVD4jIg2c4Tpv5aP13quqLgRcDnJDTO/uXi+CPLe5oiInGL39UbmxTq4zLp9NUZGuONW1d2/spRjlxeUOYIy0Pxi8tC08N0WtNN4QsCRdpZSmWGzx7n+kiN+PFSWc4N4JCLS4+udBFQWJHEE1PE0VZVjeJ2KVasptU838y6TpuFdG732s1nilwZ9f3vtgj4fAm52bBvhjj0Kwvvn/utG0beCDw70TkUcAicEJEXgFcLyKXBK/4EuDLYftrgTtk+18G/MvOZr85ZDCgzDp7RBbALI9PFn/U6kcujf2z76LvB4MWvDRRKpWyfD7z/O3EUHBIcjU5vCjJY42G0hJvIRGY3RgijzeXblQJwkSCedFaGWm3ETziYJxqvehC8tG7GPOtT7vW7ilqIWdqZXkoJGomi4txDmGMgucagklZo9O5Ycankb2EnNmvYo+A89gzPlQqKKr6bFW9TFUvxxJzb1HVfw+8Dnhq2OypwF+E968DniAiCyJyJ+AK4L27PU934kQteRdFWWZBEjnPwhRNzzYJxuceJZt4fa0H2+RzE5nBzUMD0cstB4GPHDzMxMxQal2WoZq/W6/oVCnpF47hht7CE5ix1J6rpDhbKFixAIWsmi95q5oZ2TITMQpNVctFGaPwuVAu7ft20/B9STcQ20Cq/1E47rxxkLxi8brnnT3G4Gd8HUKcL+XQzwdeIyJPAz5PaJGtqleLyGuAjwEj4OmquvsEyYsuqJXRWpuh2Q4rSmpnBCTxHRpMBxSURoHDdryG/NG6+XjfhmxbN/S1G0CUuYwNSzWwJsSHsmaNQu6xSKPynFOMF2qNVN1IKRddqoircZsbcENvTA2xSrqJuhyBUpfoeKpIGV1+rXn54mG05FAXmCWqJgEqjRtCMOznW4w4h9so9zV5l3jG5yn2xRiLyGIeqtgOVPVtwNvC+xuAh0zY7nnA83ZyrK1C+8WYnsGW4AQfObi0e4FS6nyeYJXU0j5+3sq+eegkGmeIsevQ7DTKUApQgjbOJ8VgG4/8axf2jQrXExaWy6AxTCUWE69BzJsVgS2imGfes79JMyO/cWRPG8YU0YryFrfFwismSG/xSlGtQkfUDb5oJahfC6GcB1AHxbkhfjR72fRu4LAyJWbBfnnG/ygi1wPvAN4O/J2q3rJPc5kvXDGzUtsY6yEmr3pW9NBb3YPnLckMatsXvWnxJyX7ssf12JXZDc1YaeT2Bo/eOm1UHZeb10HUmpPecA/h+Odh4WbrV5dCI04S/U4FiHxiiYUbVahEHWjfGX2NLLzSyAXZ58i1oGq4Gj+ONBn6Ghskn7tW8fsYcjmQHaS3AfEgK6v7PY3z4lpOwr7EjFX1LsATscKPxwAfDhS3Qw+3tIgfzBYfjgyDCNEopjP5UXxPkcVbgZl+CFUxiRksCeJA9mgvQWqTTRkZWsBtPuw5du0oFYHE8miibkaMVzc6W7thxSuOdLW4bhJcDJtE1oWTKu4fRPFxVXgi3kTGJw+RIuhGmuRADztEFW7Z53jxeY79Um27DGNGPAi4N3A18Or9mMu84U5dUNMqmBbiapYVR0ipOwtzbIbmMaPBjXOVlu0mZfZbDGvkGEexdzBjZw1KNfF/85tReioIXq7dkODM5T3j9o6gt5q7z4H9kMV+83AEqkl0XtQYGm1dTWxyNo5b98lwx2SghE4kpttg5+Ej5S5PrE4wzNEgt3XL2HNsZQqNbWXo8WfOzHU628G8ij5E5PdF5Msi8o/ZsueIyBdF5B/C61HZulZZBRG5j4h8NKz7DRG7mwfSwKvD8veIyOWbzWm/2BSfB34SeIOqPkBVH62q/2Of5jJXbKfYoz5A42/b+nk6zcHIJv2BtnCFNN7nBrgxn1q4IeM7x7Jm05qw/Zt9+lKlXzDYvXMlR68zRTgtYP0CRzkQhkdcTcyndjo9lzzaKK0ZveU2bzZXekux3mjgWzQnfNStaMMEgxzlPXeMML7vt3jbsxjarU4huzkX6+X+FXtEKPMsh76KdpGyX1PVe4XX64HNZBVehBWLXRFeccynATeFKMCvAZtq7+yXMb438DLgSSLyLhF5WWBCHG6IMDq5VKNozZxwaHpYk75Pmzziz3QcGX+fVMnajj0tptw2Ra3/HTPYUVg+N4LhlRJjoUtIsW4aFMW6snCLp7fmrftHGDN500WmMJd72zn1rMZ7nvbIUokpNYtqoCrlTsvaniTy6zHS+egf5/HrtqebeaLxP3NnVjkQCjz6/7f3rsG2ZVd52DfmWvt1Xvd2q0UjCUILp1FKgUigtqJYNhGRZeRKCoGDkagCBAbLRRnLdn4YdVIpHFdcJbCNY8eJ4rYACwICRUFlihghWQoPO0KWEIKWQG0atZAatfp5u++59zz2XnOO/BhjzDnX2mu/zuOevc9dX9Wps/c66zHX2mePNdY3v/GNJX8W7Yb5NwA8s+RRW20VtKZhj5k/wlLi+dOoWzG8S1+/F8BrLWuehYvijH8XMtCfAvBhSCn0/3gRYzlLuMEAYVicfsb3PP/nm1muvcxKopeVtjUNZQAoDRHqWW/jmLMCYXRA1L87NQQyRzU3DqmTh3UAKdTv2JmKoTF+7ckXSuGAg1l1Nibw8m1sX2mBZvNOfzKOmksnTnOzgrvdDPwZ8McLgv65gQG6iE7QLViBpriLiD6e/bxlyUP8EBH9ntIY5v74IgBfyNYxW4UX6evm8to2zFwBeA7A8+Yd+KKkbR8HMADw/wH4twC+kZn/+CLGcpagne3oRLbyd84yz2aAuEVUo1EHc8tv2wJ5M2MmiI43K2/OEUqCHznVASNSB9G2UhN0K/aI2mUdnyOujTGUFDXIgPgpx07RDrFaD8hsSDNj+NwLOf7dJvKyQAoN9JRVOBq/7fsOVHmZ+5uVsXI617nqlTbk666y3RmBAl9AJ+gZWP7cn2Lm+1bc+zsgRmasv/8RgL+CmQTUQsOCWX9rxUVJ2/4iMz95Qcc+N9CeeBfN9R6euwOsTAmcBtHLwjK9tsmPZjbWElzjRJaN3YIdI+lwM7qAPMAF6vrjOCjlai04l7Ifp45q7IBqy6E4lvGKDtmhPAypwi4GUR2jBtxQkEjctPQ59Kl242Hi6GYHMAKnDDly1KWrlz67ZK6U9whc+PmdlL+9AKbAjT34cA1kbcC5nj8zP26viehfAPhlfTvLVuFRfd1cnm/zKBGVAK5gAS1yUZzxmIh+PHuE+EdEdOWCxnJmOJPOHjNohPPCzJZLatxupdf5ZFlTjldTFMTXpJNdiDaZ0dbSM9wxx+OZXWW0syQJxFaJZ5pimVTLxlRKB2dTntgNxaxBDc5zjee1HnekdqIAam2m0smJasKPCpkUJLmJVCP1PyajNGTMVIXIN8+61rVrtezne8FUbXFzDL7gYg9geYripDShcsCGbwNgSotWWwV1itwnolcpH/w9qFsxvFlffzvEumEtM+OfhJzod+j774bwx3/pgsZzalhnj1VMgaaQP/i0TLKdNcgyTpei6FSbIp6Wb9UUEzO0u202nrZ+XhhRMw7qpUho6geybQNHU/zeDfE5tsxXJvIAT6kE3YpAkul8UlZwroiIrZhIM207SfmxLtuxoCMw3LFsZ/K2WMWYLSvGYSqI2rEXasjbsuALpCnc/uH62D2ckXE8Eb0bwGsg3PKjAH4EwGuI6OWQK/w5AH8NwCJbhR+EKDNGAH5FfwDgJwD8DBE9DMmI37RoTBcVjP8UM/+32fv/adOLPtzWFsbb5cn4Ygu4zQ258ffm61OgPnk1/e1mqntEzNrHVAUd1f8OnSyLmups/DXvZB2HqR5yXjYUQldYFkosGXHqTiKTeITkXxGr8UwZ0VPaJB9r7o1hTm6UHN6iRadLmT2KdLMiVnN7J0G8VpSSc8NApIBC8/+jjXOfh1vNFzODL6oTdAvOqhyamb+zZfFPzFm/1VZB7X+/tmX5EdQjZ1lcVDA+JKI/y8z/FgCI6NUA1oSUOhnoyl59EmiljfV3M9C2ZUizvqwLgnQMvpnpEDEQ1OHMMp/QdygOvfgCLxo213/bcaJGNzN754ISf6xjNUog6n/t0b9MnZqN2wXppJ5loZ6TsiEwyLloVF9WPpnnBxae11zjsonFOC69AQDataN0dSmcZss1ORsgRSKsN4xSr38m2avNAejrtvLvi+SDF4ECg9dl8g5Yy2t0VrioYPyDAN6lPDFB0vg3z99kvcE7o5NP3C3KdpfJhFvWqTXw1OATDWyybNSNzbaTUl85C5hUpxjmZSb2+M/MUxpdG09tWcw4hQ5Jdpus/hWpQwm4TomYf0e1XaA8FC1ylKxlgZ+AGJjNAS8VbaS+eFRlN9LMozk3xDd5WiwGMU9jz1IxbdabTR1wFpCjRWrbE0fzM6w9vcy66ueL4qBCOD6+mIM3cQo+eBNwUebynwTwMiLa00UHAN4I4PcuYjynBhH87gk7ezQDccvj/sq71EABpAA6a3fRmL5isP2nmzk8NDg2e7zlx2l5TwyQGsFbF2YKlvFmveZUKSGTeMrdFgB5MZxnfeSHtqFil7avtgrRHlecJvsyS092SE8Bei1CdmMClFHwDGaKfew4oyHMqJ+BKFlkR6BJEON5ZIG/0eV64eeTSeqku0iDY170+d8i7tjdOLrAzh4tWKOhnDVudXfoPa3x/mdE9DoA+5AZyIeRJvM2Dm4wgN/unX5HJwjAzUIJIGWXizLZ+o4QWwo1YY1Ew0DM3WtBOC8NpqS7zZc77e4cPYA5G2PujOY5egXXx5XuJja+8sCLvE0Rje11G7s26SQ4Ore5SUgThNqMNJQEONJS7FDjkIMZ5iOVWNv+Y9WgbRvQHjA4/eSNXm0/Mz1M2m7ONGP5OYD2L9C/uAWmvFn0s4m41ZnxzwC4BuAjAP4qpLFoH8C3ara8kaCdbfi+Ox1fPOt9ljnP+sJaYUQrFmVbeWZuvzVIBG1L5CqWBgo9B5QABzGaJNZs0/hedTdrmq4nDjV7fNflZiYUeoTiMKDwGdfMSJV1E06+EFmWDCb1EGbQuEEPkMrObDxZd5K84jC+tqcJBjjzpaiZNtn+jYvWQO5a1BNTaGSz8amjWPD4PS8gn2OmSGG9Ju8uO251MP5qZv46ACCidwJ4CsB/xMxLf+JE9DlIRu0BVMx8HxHdCXF9uwciSfkOZr6m698PMe3wAN7KzL96ZmdjY9rbXbzSSdD2Rcvoh5W3zyeT8vfceO802OZdl515FCeelY0+MH5Y91PLHE3bq9kfob6exWhkcre4fw2mzOZXnLblksCcqA0GwVrWxdOlFHjjpJkF0ebFcarasAk9y4TVdc1NOF47r5pjyrN4o3ZWDMhy0pnkrfm3JoU1K0M+B7hJQDg8VQ+Is0dHU5wZJvZCdXqPrBKIM3yTuipZuePbAHyIme8F8CF9v8ht6cwQdk8xeZeDG5RDI3Dm9MNSINT3MSszbi6ywASlKApCGFBqlxQS1ZCyabGZdBN9xK9S08/czKfdA5hrk2RwkinnFAYxMNl2kWM1JzfZRn5Cz6WiDZdUEjUO3Thj43yVnggFxbGbxK7V8AhKc4wz/422z60NMzLZ1sfqtnXzm2i+7JyoCncwAU8u2Kkth30HlvjZRNzqYPwyIrquP/sA/jN7TUSnMUvNHZLehbpz0pTb0imOMw1XwG/1V96sNSjpslBQvTln9rf2nWF2xjDvbzO+yMKfisyN9bWbWBqrQU2lZ+5YLC5jJw3LPqGBNajtpAbR6F7WRr1kZj9UITq3URUAZvRuhJi1xptFj1CNCH5gTUOdVg+Scr/KI2Y3S9NPm4Y5H0Pkc5G2iVl5xu02efnIAZ91YFzmc21mzGcEd7AmKoocvOTPBuKW0hTMfBZZKQP4ABExgH/OzA8AuFtLE8HMjxHRl+m6LwLwW9m2uavSmcCNhpgMVj+tmXdv5UJXyrTnfRHtUXZGVtWkDmRsHBUMMTPVQgp7zbFSLwu8cft0POLUFw5oHM8CnKohoudDSN1OJlcdiiMfC0Ym2w7lkTZ61b51bgKlDbjmQSyyvpbrmN0snE2iZUqLZpVcnhkT0jrmdeEmIWX9XA/8K8E2WxRY88+yLSCfQTAiZuDZizeTn8KGBtplsIndoV/NzF/UgPtBIvrMnHWXfDAH1GLvLQAwxPIeE25vd7437oo4s0ajtZ3q7+aZNx/psmASnc+QAq09llvZcuvEVnY8P3Bpwi0+wZNI6JQqcON6t5OouNBrOnpqEgOfHzr0bnjEHnf5cRtZPlVBMvs8Y7dzRkZVZNK3vEilRh1kdEkqWEk3kHzcKzuyZceI3UDycvqW6zq1HEssXxEUGLy/HraZBsIMSueS4KKMgk4MZv6i/n4CwPveqJ5JAAAgAElEQVQgtMPjZvKhv5/Q1We5LbXt9wFmvo+Z7+thuYaiAMB7O/OlSRcJbrxexC8aJ1pJxCrGIXLEpuc1RO61GQwb18JNtNWSlS4zqwk8Rd1vPDxB/IH7DqEgHD6/J+tq1tu76ZMUTW8IkSfUHnuW4doy+237t/O07DdKq/VcmyZD4OkAELnkzK3OTTJZ2wkCopnt1zqCNK/tMo/hZ/R/6I49wtGa0RScfd4LfjYRGxWMiWibiHbtNYC/ADEcyh2S3oy6c9KU29IZDgghK/aY59Z1IWged95jsD3aq3sZWNv7ALHgAUAqP858fZvBwbS3xr/GoK7BrqbVVX5cuF6x8yzGAcU4YHjNI3Z5zsx9LPsMfRc7T8dS5WysVIVaJWAt8DvJtAHUgnI8Hw2AscVR/oN0vHjtzmoirWlsb+NZJsDk651yPMX+MRD84hVvNdr44bafDcSm0RR3A3ifdi8pAfwcM7+fiD4G4D3auunzUIOOBW5LpwaVPfhRr8aHtsLRbB3wAnBLIJm9MmZ/ARcsj85oWQWa77vk1eu0r9wEdY+J/NjNYzXd6/Q6mNTMQYOdjjvnWs3OcrJdYHCtipIzLh0mOw7lzYDQV6vNMUdfkNpNIvPhaJ4zSYItGTanibgmpz2LLiB9egBSR+xT+Vjnx8gD6kkDy6LtFvDLdH2N/ChybGigXQYbFYyZ+bMAXtay/GkAr52xTavb0lnA7Wxj0qs/XEyZwCBxrm1/W4S8fHcpzMt+82CtX/QYhJXbJc8iK2NEw/aog82y2Zq8jur7N62wy6VpQCq6UL7WyqHNHa12UwscDeSBFOhEgma0R8qUozZYAz5rVusmiO8pHx8htnRqb9Gh454VYLNNbJKS1W7TngzYUfRinhtEFtEOZx2AqOUzzP8cGLy/nsUem0pBLIONCsbrBtrbqU8aaeCcFXRbHbuWOc6y6y/BB9cWmel7zyUFByOqA/JMz/wpZhYn2PEZMPvKXFWRKxyix0RArcuIrXt0Vw9MwPEVwvYTIQU0QCmM5GsRA4q5xGnhhiH05KZQ6+ihk29W/QcAYWCtoEJUf0zdcGbQMnIzc9LpI7CUZju5mdk1i3ah89C4UZ4beM5NBnoNbq6piWIXjDu0Iexur7zNwrLXc+KXrRiCC9HjFioPYw1q7AhHdxYYPCcsTnQeyx7Fcw1x67gZ2gaJ4CqIrSTqj+8157VCJq6s7Nr21d/34uQGh+Io1DJmLhOtUFY+VeyVDuO9Ar4HFBOgPAgy6WilxpTGmftSTHYLWXeSucZZtV3zVLN9xHOwG1RmwekmDSZMWzYtVALomGp2o83j2/U+RxSHE3A1WbzirQYvcQ03GF0wPilcgbCzerHHXJzXRF+iN6Uh6MCJF69aP+aZbq1LdAYpg27cTDQQyY5Fkhe1vcztTwosQdgKM0L0ZVAKQ28UTMBAeVw/cJLhjhnHdxQYPCu649DIJItxQHmgmb01hrU+eD0ny20sOp7yho9f8KlJPLS8b56P9dPrJVqijaYyOmglWOCnxrJzhttfM6e2HGs6rLNAF4xPCDccYDKcvnyLqIoLQUYRUMUofUov8ky1GM/gNzNuNN9nfp6h52L/ulqGl8m/8mP6kcjXysBgAN4mCNVwh5B13BgHUJBgOnoiC3YFKS/M07SFA8Y7BZxnVMMCw6e93IQqFu5aAzhZcUvbebdcx1j2rE8JphJhcqAQZpY2xwm/k/xPZDeCMwUB1ahAeVDP5On6eumLc6zNd+oc0AXjE4J2d2q623WGHzjR4RaSKeYcbFMREbPf/NQaE3TG+1ogNH9fP3AxGIaei9vVHrl18s6NGTzQbYIY3NckZkYpWLlxNmajK7iwMWcTgU5WII+Ml5aM241DrUjDxlKNpNt07ilsfshsfQBtHC18q5WPk8f8gLtoog5pQrWmK15m+5OAgfKwHoidDwhrVuxRQxeMO0xhd/v8aIWzQJ5NxQAjgWVqnQwzObkGfxwbeBaynKoAKlz0k7Dg1MyKmeTmAADEDJooh9uizsgVHPH4ehOI2bp6ZJAGZT8QnlmKVhjkgYGqQmrcNUM7Pzv0n6umjp2uR0t3lGw80XDepwC/MHtrCdh5ReDMz+A8OOMmHXXs18+pzdC8OV0ydMH4hAi7y5dMt+HcaYzsC2+ZcBFaeMtZE1VoLDdKIiRJWD5+YkS6QIIXRfe2pgwsOrpVkKDNiIEo77ZB2v6o1nE7CFks1EgmHQvSqimUBOoTfE+kc8WY0X/Ow7o5w0E4aR1/DMTNy2LHmnd9gdgvz03CtLnTPOTXPePe3aJAfM5wB2OEdSz2gNLnXTDukIN6/cWdPaw/2ox/nlv1T8UE7SfXoCeAaXXALHrC3mbZqHXfyEuMERjO3NZIpWPa2TRXNBTjEFsPhdIhFNrlI2+WmuuOoSoK1UNH6d2YU1snVU5UQ8J4u0AxYfRuMnr7Vcyeiyz7DlqZZzeYuZhxcxKeum5pGiwzn/P5xmrCrLVVzNoX8crn8X+TnZ+7foB1Fix0wbhDDW57hKpR7GGIHSqytj1NH4RbObkXrR4bVEHUEc8JvjW0Zc+Mqey4WWnYWmaMxPnGlkpZx+pmJV69Vx5HeV4oCeMdh/KYUUDogv6NkIpCfLoJ5KoPk6IJnaJBcdbn0TYZa7y5BnRiRHN8zGq7lF8Garkx2vWZuVE69sJ1V0V8alk/c6ApdMG4Qw7amT15Z9VXgP7fhHrmBEB4z7w664xQC7JADJiuEdzIi4LhVDeFZhbdgASohjoj44KtQo4qJGP57GZV25eqNKJcLagxT8Uoe4RqYPy1mM5TJf4WXBAmO4W4xxFQHgWt6uOkQZ7VpTnjqpvXKBpD6Y3ObiTW628umsH0JMH1nLJj8gy+uV4976bQBeMOOXhvQbFHZjUZdbwZVurWsSLyVkk1zbAFkFpHDaplsnkQnArSyzw+t9AdUwHfMnUC3BiRtsjXzcuuERiOZaIwdpkmgHsyaVYeBBRHkqH6gVIHBHBRwA8I1ZDQO2BMtgnHgwLFMaM8CqicKEGiV3LzdGYVadgYLZjnyopFHyk1Ppdlt8tXJSTvjLMEA8VBhXC8Zk5tOVpujJcJXTBeFUTwO8tZbEZfiUZAylv0rNTBeYnjRZhROyBZo83WQ+ldDVpO1zUZV61lfFM90ETGA09lyco+RAkZUuGFfamo4WVsPDscZfrd5J8MQJzYlANnZ1k/Y7JdRC47lIRqR6oAizEjlEB/P4A8UBz59HRQakdpnxWsNHwspm4y2bVhmWecfX3m4aTbncJ0auGub6xxsYdhzYd3GmyUheY6wA0GCKPF9zCbYTeKIM86J3slxnsFpHLLnYvFZs3XNeetfSbVMhahdJF2EQ2vyMdCz9UCoe1r+mAt7+0xPqSbDzsJrEH9iltN+TNVRSgTp2vWmjbZ5cYiX2NdvzyUIB8d1CZKS4wZxUR0zOWhj9vb5xPpJuP3LRDngVdfR/N3u56N4Ay9dnOvR9b9euF1bbvU85zhTvl/tLZObRliG60FPwv3Q/STRPQEEX0qW3YnEX2QiP5Qf9+R/e1+InqYiB4iom/Olr+CiB7Uv/1TUktJte39BV3+USK6Z9GYumC8Imh7C6FYfNmaj/x5Bti74dHfFwOcopkdngJMwPEdJapRAT90Kdg1eGMg+TOITtZ2INli6JE2EhVetybZakxk1QfQ+LutxkjBXv2HbXzRoN7oC8tYNWsNJaUgqMcwaZxlx9ETuYQWb4hnsu9JwPc9oy7S9ahpn7OJuFhd14LcOrRGNdhYCpHPTQXaBk0jfHV2nEUUUG0Qjd9nBAqMcH09ndpyxMKbBT9L4F9CmhTnOElj43dAOgTdqz+2z+8HcI2Z/2MA/xjAjy4aUBeMVwTt7Z4+A/FLTPQ0sMi43jI1N2EQpx5ycsAZ46iy7haxuIFjxhw7Pjcr6DLqob7D+nJ2UuDhVf9rHhO1yc+sQakFZ+kOksZmPhr5cVhLoaNVZcXo3ZSBW1EKabAuzDGtoRuutgqMrxSRa4hNU/NztLG5xjk3AzLsCaD9WueBN2qxm39bBdw+ppPCjT34cE2d2gy8ws+iXTH/BoBnGotXamysXYX2mPkjzMwAfrqxje3rvQBea1nzLHTBeEWEvcXFHs07cxsVsaoR+SK9sn25eze8OJ218Ypc3y4+1hl9oa+d167PFogbnLD5AS/858+6VpBnFMeiZnDjoF7JkjHH/QVGUOVDzHDa2hDpGCgAxXGQTtZKrQCIiglAdMdgWa/2+Eo6JtMqKzcds/bsJmc/fuBqwdn3p78+8lQx+2sVO6CcUEhj46q2ina644Qobo7BVbV4xYvGGQXjGag1NgaQNzb+QraeNTZ+kb5uLq9tw8wVgOcAPG/ewbsJvBVAZQm/vbpTW637RAO16rIVsFIHkJkDm35vWmEuSGLwDBe3ufuxxXNUI0xyzkaBxMnOIBx29KJwKYvMXeOskIMJyQ6UAD8scHzFoRgzJiMHYobvE9xQJv1Cj1KwZtk29AjVdlG78XDpUjJbBTgGvDnejUOajMwg9plcb8l0xrDjWkurs7KUdPuHa13sAWDVCry7iOjj2fsHtJP8SQ/dBM9ZPm+bmdi4YExEVwG8E8DXQk7urwB4CMAvALgHwOcAfAczX9P174fwNx7AW5n5V0987NEIYZCeQ/PSXdOutm7XlqRSS+a36niW3dT+beZxmTm9kHVJntpVc9LNMkjKxjNjv7XNuP47Lg9JRdEcP5cO0BubaxgH2diIWTlkoBoBFAjFWNo3SS++lFUDiEGNSxJaZhJE1WG0SUEgciK/i8EcUz3wLLOmgMWfafP6rPAvUBzLxCXpBOZZgJjBG8AXA1jlRvcUM9+34u4fJ6IXMPNjSzY2flRfN5fn2zxKRCWAK5imRWrYRJrinwB4PzP/J5AWTH+AkxHvK8Pt7U7znVCecD4dNIU8GJ0ku50V4NtXTpNcfuCmJ4+AOoXR1iU5Wzd6STQmKWvrZQqCfHzWfNT3U4foWvVd7o7WyKzNqyLfn51z6JtHBGPr8QmG1zz6+4zBdVFalIchehvbORbHqVGq/Y1LV6+a1CrF1GBVg65JEilt57xmxoti8Vl9684oAaeKwTfWX0lxlpzxDKzU2FipjH0iepXywd/T2Mb29e0APqy88kxsVGZMRHsAvhHA9wIAM48BjInoDQBeo6u9C8CvAfhhZMQ7gEeI6GEArwTwkZMcv1nsYRM+ZtdYW74kqlFRk8DNPPYStETb30Ipj+DFYYiSNRyFmk+DbDzn4C1/W1S0kruQATbh5qSJqCkX1DYz185OlU9nr/PgZ/u0Fkp5+yWnGSw7oDhIAdeyXwDyWmkJs+i0ib9iwkI5Z62ojCKpFYlkNzTO7k2hnNNmKaekcmXEKemmGt214r7c8ZoXe2Q4M00+0bshMeMuInoUwI8AeDtWb2z8gxBlxgjAr+gPAPwEgJ/RmPMMJCmci40KxgC+GsCTAH6KiF4G4LcB/E00iHciyon338q2zwn2GojoLRCJCoZomaQjQtgZ1hcxAB9q2tiFWVFjnSLz2J2HKENb4hg53ITRf66SrJSkInCqEsyCwYyAnB9zFn0xtZ4GX1J1Ri2AUQpY1vA0/m0RskBmBR92CjkoMPo3xafCjVNGHaVzAVPtjVwlBSLReKjMbhJt3UCAdIMDEPTpyM2bB8sNpE4ZgGUAiDaeJ+1OXdw4Xv9iD8MZDZOZv3PGn1ZqbMzMH4dQps3lR9Bgviw2jaYoAXwDgHcw89cDuAmlJGZgaRKdmR9g5vuY+b4epivsqN+Hb3T2iI/U9sjq0mTUzAE1HtuXqcDLH8dXRpZRxwmqNq66LTuzL7pyp7FRZzMgFdPnbVys/d0CFjHrsTQrXbaajKCtmtI52XWxn1ASJrsFrn9VH5NtYaPGewX8sMBkr0S1La/NDL52DvmTR5AWU2Yq1FrEkb+1HKmFWmk9ldMGlMaNjRi1G86qoP0196PIcIY647XDpgXjRwE8yswf1ffvhQTnx5Vwx5LE+8pwO9vT1WgNrOw34ZJsivMAU9QnkELPaTHGbKe4eWOLgcZLFVpxPEPd0eSPc0rAJaOe/MZgQbC5zA8dqi3jhpNqwjj3qAJw86VgzfOoXavs2nBBqLaKKDezY1IA/KAePSmIdC8/x1gpSPWbS2sn7Oy98MpiThTppmX+Dc5g8o1tDuAU+6LA4P3NmLwDcN6c8YVio4IxM38JwBeI6CW66LUQHmcl4v0kxz5JsceiLwmb4XnGI9YmsdQRzJm6wHjY5th4viVjtKG0ZYv+YbMsOWXU0zac5iVsSgcLyvYI3rsZouxMqBHAjRnFMaN3w0vLn7z02c7R1tfqO8uqo/JBJyCbXafLw4DevsfwmuiZRccM+H5Sh4Q+xWyyGWhjqfVEJWNt1ykfo17PWGyzhH0meV7JhH6qsCNH4Gn99Ipwk4Bwc82LPQyMMyuHXkdsGmcMAH8DwM8SUR/AZwF8H+SmsirxvhKWKfbIETW0sUEmoU1PTAu4OtP9FhaQXRbwVhjLUtlTvs+ctiAr4U37y6vcgGzCjgjBWVavNpmqMijUG2KyIwULmDBQWNcOB/I+nV8zaDX50Cw7NqMfqoIsJsTWTBSA0E/bFEdB5GGN/cyddMvWjZm5yRnnbTNjYm7K0wKoc/Y8Y93GmM/icdwdTcCT8el3dAtA2FwKYhlsXDBm5k8CaNMPrkS8rwRXLF3s0QyUcaKsJRC7SQAmyw+DGKj6DsXRCvcTznS1zcCfBwCgHgyafwOiu5tVqsUqAV1XaAPJ+KO5u8rGpFmoBE43TuOIk5LGz0Jlava47xAn2SzgiyqjpVQbUGMhe+qQcfRvaNAMsj+rpItNS63IJeO48yBr/hecyfkoZJn5rADBwGSvQHkQar4WU59B22s9bix6mRGsrRrwpBOC7voh1rPJ0gxsykTjCbBxwfgi4EZDTPqry5ONQz7Lu/lM74PWAaTfkvmhlQ+eGZSbyLolS7qcvhsx2MeuJhL8iqOQ9Nia9RrtwjohGCcTNdvMi1SYCChEqcAOtYDohy4GTe3uhKB/p8AoJkAopMUSech4C4ihvY7BZRWGflhop2qt6MuDsF0CDaq1ADmLf2fxW65NlpLerGgGt5xx8qJG0WPNOg6nbVb9PyNm4Pqad/ZooMuMb3O43Z12u8cG2qiA0/zzNA1liMV7YtUJGwlEFvDQnvk2Awu1rJP5HpNHjMR5sLJ2RlRlFYmehRtXDoE5GcoDAJt3h5NAae3jhRLgdANQE59Il3hgvFugfyPldlQFkGaToeeAnhjMO8vQJywBPg94gXFwd4nR0z5J34BYnBGVIS10QejJHWlq4s4ud8NkyY6XeyeHvlTuURVqNzxz1lvIQ58wK5bJuw0Kxic8z01BF4yXAO/tLF6HMkrijJB7IYeeVHhFA/iFA0IMqLHfmy1vrtPMimfRFIAECS35JUatms+KJ+w1MJ1Ztkq/NKM2esF2SF6WB+1ZB8i5gNP7akRwlYu2muRZeHrdRugEybCJrS9eiOPiQoyFYiDWsbqJ+FHM/PJTojvAVOO0p2gDy+QH4o9BUC5dg66dMzWvzzL/SivemHO4Y49wtBnFHoZNnZxbBl0wXgQihL3Rcqs2NMNnVi1kQU+7IudY2MYncrJY7ss9Kwjb7rRiLk6c+bqeGADgCF55agmIKdA0A1ScDLNl2RiT9tduSnW6IJSE4bNeCjsqzkzsbZJN1/USIEOfko8zJOD6oRjdu3FIn9+S18nUGlMBotEZXJQiaezBNNtGLdhNs3ETtMx85oRfjlk0xhy4G2OEsFGMcReMb2dQ2Zsq9mhdj6dpipPweM3tbd/26N7Mihc21ESaUJtapw1ts/tNBAabrjk7vvheIE1+5TQGc1Q6xHFZ4HSIk4F2fjGAaTbbpELIM5zuOzYqZRlP7ichHLOpLRD9MNhB+xOmMdXc4pZA/Cyal9bkd9r52srRI1+sraEKzcS5AMAUOfD8BkVBMn2bzLPr5cahfoM9QYbs9m+uvVNbDYxuAu92htseoVpQ7GGYlq3V368cnLMyay7FOrFZwjt7MNlu8kffVuqhZbt52bFSH4AEt8O7SoyeqiK9waSP/xWn4FEhBniTxZnKnUkn/Rp663gzMq4aKRDLdsBkx6E4ZsR5zexcvPbKs+XCNSufrfupfx4tvHDrBajfKJtgkuzXKU1SHoQYuC17Lw+zopNYxZJuXLVzB5KTnN5oQy85yZ0E4tS2QXyxopvAu41Buw2nthWRB2Dzol36H6rZKBQzTOmXoRYwf51l98Wlgy8pyuuIgeE1eV0c+WQOpOO2SUiqcarahUMf9QkcS60BFs9gLTSxfZjmuDzMzXvEm3hW66rQ0ycCi2fqU3FqXwiux1DLwhF08k9VGPAU20wdXulheK1KEkefpHykGbTsm6PCpElzRLc3i93L3phbQJOAcLA5ZdARXTC+fcF727VOzq3rLJHxhpLw+Ct7uOtBj9715CQzaztzc7P9zz3GAmqhxiu3cY1tygl9nx/XJuioqo+lVkRhx1FtdVFNj5sY0bC95luRGQaFghAGOqmntEJxLI/rNqZiHGqqDDsfe5IojoIGOsnUyQyL2q5jk3PNrqlNyMXr2MjeTSEBLesujkPtBgKW5qgAakU7pLy3zOjZZ0GAl+IVLggoXV3OyNlPswvKCrxxcVSBx5tR7GEgdJnx7QtXwO8OFrqqLfMP4irG3R+bgDyj2i4k4+sRhk+nqg/z+i2OfO1x/PCuEq4qMLxWzVdr5F/GnJu16r8w/bcpRUW2/WS3kGxyUldAWAVeXvQQCxTyEmXU9xl1uwSwBrDJrlyLYhyAI1kxPgVMNFib34QDwIQwcGlMLecbtcsa3LhQKgRznPXyuKZB1A8cikMv2S5nx8tuUlaKLlWEBD8kRAG20jnsSP2UOVptkgZfIpG2wSGWbvf3gSjlgwRtLijK3xZm9ja+OYSw2z/aHKc2A59vF5WLRheM58ANB6gGxanvxpwHOhJzl/5z1XRFXsVSEqyv/agAVYytJ6v4CBwKSlxhG53QWCaG8gRHLmWws7bl+uvedZ/40UbQa9IlZmrk8vMlihaZFrgYiD3rAOulp3/QCj3jx+NQLQia2RARQmETcI2LqOdGWiLtByTr90XaFkop7CiOZ/OtdrxSPwtUqmJxclxAA7oVgOj5gxlUkd6otKDEzl33aeoJdogGSW4c5P9iSCjGyt8o3ETHuYwBEaffi/5naQP5YgAdTXG7gra3EYrTeSnl3g0WYAbPZoUMDYS+i0UGtcd/IBY0yJslj2/lx04zvqyrxiJ+WAbePhEJoDXTtu7PFnxYA5PRF5KlS2UeMVAcyTqhpDjpBZaCDT+QNNIq5kwlYdcnlBQr/mr8aXbjcOOg2XURpXGs0rwpvrVB9xgP7IeFHE/pqmLcaPiqdMUUt6/7CfrkEbTwxWUTm80JPLvJGWeeH2MpLEFVUGCETejs0YKOprhdcWVn6aC3EE6CzcGXlbF4Y/uLibOz76OrGOPdQirtSkJxFKInA3leOTEgTn3TgEQTmLlOGsC8nUwvsn5z6TUyD4ksG2zAeswFbXhqhkLkgTAgcFnEsmeygohCH9l1nxbom65tbTrlGABNbkfpb7VOWZzx45Ttk2Vikktx1zN+e+oSsfLp2c0X+rkZVXL0vAKhIAyuB1GbHHG0+izGrBk9aoUv5wE39uDDDXFqy2H00yXFRllo3mqE3bpT26l8Y72Ut/ZvBky2pWHmZLcU0x0CxldKHD2vh9AjPPPSAsdXS1z7ml7iJj2f6vg26WP97ex8jF6YPfCWRZyyyyi3MqlYNc0xm0WmHzqEgZuyy7QMuziUIGXqlWDVfaR0Q6mP/tnjeDxGbhOaBUIZo2ShfqhVeRXDDx2Or5Y1Cqa1MEa5VzcJcGPppYdMoRHPoeKaJ7KNqUbZeGBwPShNwqhGwgPHyT2GTNaZGmNVLLlJcTABV/PakawxeMmfDUSXGc8AlSXCVq++7LQfsk7k7H4+qJWkw5Mv6+H5nxxLayT1BL76hwHDpyfo3Swij2rHD3TKZN0Cjz1CtxWELHMqmW9C3L4tg84CvpUksxMO143FUCjP0akCUHA0BDIfh1CkSbCZp6YFHrUqtkyJYFV7ADDedegdzO6ykqR2Oi7P052fbaIs266mj443DXlx84UOg2uM3gGjGDPKI65l9JH2CdP7XRpLfJTu+sFmFXtk6GiK2xBuawtV/2wfHCjzJeZCNLJ3/d4EfihGMcWxmLFbtZ39NlgGnSswcgpjuUHU3871uZiXMLccbiqAaJzJq/QsyDp9LGdQnHCLE5iqNPFmoOMzjrjfXuxAXgo5bNy+L81Pq4HofosJRy7bVYz+vhrf54G7cb75U4ntt7aO8feZ13QerM2XGZDP+64HxyLZ6xMOn1dg9LQHO8LxXoHeoRjiM6mj2yrIue4lwNc3qLNHA52a4jYE7Z2u2GMWco2pq6zEebk7PjFqgdiW8aJ/0JyCzCftWh7JZ36hubFeyzZTUqo8Q9T5KFLlhE2mEbMaAaV1fZH+Fn+HjILIzyEfX3Ze8qUl9G/4VHIMmcyMDmmQyUPf12IcewIJjS+9TeYBdQc5LdColW7bJvoZx7JoQH4XIgkcXgsY7zoMr3kMn/WxOCXerFYp5mhQJrXr0diNmwTwhk7ebTIFsQw2ijMmopcQ0Sezn+tE9LeI6E4i+iAR/aH+viPb5n4iepiIHiKib172WLy3fT4n0YKaGf1JqEKbNFqG+20G0uwnryib+mLn25yEnwtaKedtzGlDN+boyeAHTvrnqYGP+VYY1xsf69tO0cajwUxoDUjRhgesgMQPSLTeyukWR16y8tD4LFT7CyQumAvAJHt5pZzpwqOEj0w3rhRNmfX6UzXJ8Bmfcezpus+aJFxG+dKUJzbhjiuE481yajMQ5LYmp3kAAB7YSURBVP9mmZ9NxEYFY2Z+iJlfzswvB/AKAAcA3gfpEP0hZr4XwIf0PYjopQDeBOA/BfB6AP87ES1lz+53pjtE3wos9YQ6a51ZGfKML2izuWiuJJh5rFkZchN59s3T/Gm+r1yPK+OQ19aPzryILQA2Jx1FVqavs+AZCgJVMulmPepMqeEHLtIf1HJ9og2mqx/LxgEgyQR14jK66wFp/Nr8lbxk426iP7GARNevgtAyJgls60o971ovO3l34xgbbbYTlvzZQGxUMG7gtQD+iJn/GMAbALxLl78LwLfq6zcA+HlmPmbmRwA8DOCVi3ZMRAij82FwznMCYmZl2Tz6YeFOZ7zOl7UtbwRt6+Qcei76TcT1skDsxiGqMShoJtt3kX+N0rYghvXVVoFqu0DQLsmhJx2prUsGgFT5plV5bsLo3fSxus8aqbKqPER5UaTlNlSlO4x7Jq5fc5torF0eRkaTCELfRX8OUl21GAp5uXF5eUKQa6WZ8jKfYf5ZzPhc6PqGUhSKy5wZbzJn/CYA79bXdzPzYwDAzI8R0Zfp8hcB+K1sm0d12RSI6C0A3gIAQ7czs9jDzH5OgtNaakasQmW00RNoTPy1ZcRoGe+8LHnB8S0gETPgNVZkj/ZCH6j5Ops/MdX2E42WlE5wnjHecujd8HE/YUCJkgDgmPSF8tSasZqNpR9KZaKVG1vZuNAhUsQR1RF5Ft3CvdskYmw0oHRFNZLy7ev39LH9JR8DcCwMKdMkZui5euB1QnHUGrI2A3M2Fj+w0nGhSMoDHzXWFHijJ+8uO2e8kcFYO0N/C4D7F63asqz142TmBwA8AABXBl/OswKeTfxsOmoTf7OCeyarOxFqAYulB19LY9Z8fS4A+OQKJ81PaZpO0IzV9wn9jKctb3gcPr+H8kh56JJSXKsYbBNuEN63OAyt7Y2K46BZqQQ346xbkfHo5lHB2hjVKAFixs5jVQySRbALlDJ3ozjchOseFEX9piQqk/bO1HnJu1U2wvoETgLC4dGMi78JuNzeFJtKU/xFAJ9g5sf1/eNE9AIA0N9P6PJHAXxltt1XAPjiwr1zQO+Zo2jYk+NUmW2LOuNUhRynwKwsvTaeM/zHj4UmSjsYlZDzv6ZBlgwaIvfTDtCmTjCDneOrJYiB0dNV9Hw2DJ7TbJA0Gw6olULbBJ9QItMm7dGq0qWiDauos0m95sRehGXRSkFIibT2AIRmzxPJjP3QpWPpNsWRnzKOd1rubcoPNj/oxjFlQGk7doTxbqFdThzcwQQ82SyntikwL/ezAET0OSJ6UIUAH9dlKwsBiOgVup+HieifEtGJv9GbGoy/E4miAIBfAvBmff1mAP8qW/4mIhoQ0YsB3Avg3y/aOU8q8O98Gu6jn0L/tx/G8KEvYfDYPsr9MVx1ckPvaBSff8EvCMtK6Xy/HjBORJEgBeHQdxhfKeBHDn5Iyvu6lEkSouKitr0j5VrlvXVdluBknUMpC/DA4fMKoUWUL851v8ZZN+V4ZggEaOA0DTGZKsLFv4dSx2THp1RpaAbxsSuJ3oxCTzXUo8Qb5xOcs+SB1tHETJZc2xNLY5EbB4yenEQFibuxgSXQOfQGvczPkvgmFQTcp+9PIgR4B4TevFd/Xn/S09s4moKItgC8DsBfyxa/HcB7iOj7AXwewF8GAGb+NBG9B8DvA6gA/HVmXrrpF1cV/PXrwPXrdnCUgwFoZxu0t4uwtwW/1UMYFEtpku1RmksH6GPoQq/i80A+qZcNO/QcqAqY7BbSSVmN2Ofyxm2YMdnkKvFi6N0Itc4ePEkTXYBmyLVAnPbLzqXeeppJxvGXagAUGFQBg+dU2kbZtc+O0dYto0ZFsPLE+c3TgqwGUt+jmIXb+qEkkCkjdD/s1BK0T5FiqPllMNppkJjlyuvQIxTHYXrdts9F9yvH8sCmOrXlON/JuTcAeI2+fheAXwPww8iEAAAeIaKHAbySiD4HYI+ZPwIARPTTEPHAr5zk4BsXjJn5AMDzGsuehqgr2tb/+wD+/hkdHOHoCDg6Ap56GgDgyhLFaAS3twve20bYGcIPyzQR04AZylwoWib1JruiHujtM3r7PnXoWPWff8aEYayiYwJK4TOrvkMxFi62NknmEbNPC6DW2RkQ3l4y4MS32jElE5XtiuOgOt+WYSrdMfNGaByu3TCaE6BaRu7GjYk1iNeE+GEoB2z0CsvNKErlAmJrpnnXM5ipPRHcMS89gVxrDBB4c4s9cpxdLGYAHyApd/znOme0qhBgoq+by0+EjQvG6wauKvD+PsL+PvAnAIhQ9Pvo5dnzdl8sHE9i/nIGCCXh+KqUUc/KwMsbHsTA8R0l+s9WNQvIue198ix4idMjdawjMFyFWKXGpfC6pjSIY+85cAnQpF66bdpkeZO1eArAtXtLjK8AW48xtp4KcGPWYo3EHSNwmrgzpcY4xPPxaviOoLaYLZ9da6NXyDk5H5KbnWc4pWoH1yqVrVHiq+dBuWfZb4BrozFmfTRBJ/F6hN5zkw2fvBNQWDqRucu4YMUDGnANr2bmL2rA/SARfWbeYVuW8ZzlJ0IXjM8azODjY/jjY+DpZwBo9jwYaPa8g7A7hB/1hBa4BUMizxg+PVmqZ9rgWsPNa9bjM1DPgm3iqDmZ1AzWOoFm7znTG5vuwSrb4s2LMx45333WgcN5oSbgCFceqTDZdnCVZYdiRlQN5GmlOM6OA12nSl2pXcWotoQbKY8Cqu1Cy6gtzcy6UWsZdK6GMMvMmtohV0toJaFRKovQppqI15NbXkMm7I6vFGKO1CMMnzgCh6UZuvUEY5WCjqcyLnh6V8xf1N9PENH7IPUHjxPRCzQrXkYI8Ki+bi4/EbpgfAvAVQWuKoSbN4HHkLLnrS3QFcueB8I9nzB7nsc7x0dV4zbnrCM7w/wslzJ+Nq9iawbifF82Bs+AKSiyAG7lwHk35KlzzHweQiGTWeTlt3UIkU7UjN7NECfLeCza4/Ko7usce9cBcb8W+AbPVqnoQnXAxaFFb44cdyx/LjKFg/HDmpWKKX7W689zNL23dlVYRFe0fAb1i1N/68YBoVegf11N/J94FhtqmhlBOJuCDiLaBuCYeV9f/wUAfw9JCPB2TAsBfo6IfhzAC6FCAGb2RLRPRK8C8FEA3wPgfz3puLpgfBHIs+dr1wAA5Ar0RkO43Z1a9sxasXYmmLObWjBfcDgLUoAGSKLZPHhLpkyBQRPAuj+bQoA8RIZmkjITKQTEyjc3lqALQi1L8n0HP3Kxcs9Kqc1jmBjAJBVVxElC+5sjMLh2EzBpWn/fT+mjTWEBTmoLAPBDp508ZNLNCj6OrxToHQSUByHJ/KygA3JTYU4SvrmwIS5YbfuLE6FESgJfhsk74Kwm8O4G8D5VoZUAfo6Z309EH8PqQoAfBPAvAYwgE3cnmryzgXRYBwSPcPOmZM9felyy57IHtz0CXdlD2N2G3x0k5UZzgqz5P5q/XyKWS2v5OQUZGdwkRDP3WJ7chhmMmqgPOGaG7KjmUkZBKAEuhS+2RqQUODYnzVUG1uOuGhLKQ/sjpeIJCKVh28ZgpyZEsRQ6m6UzPpj05pBLyeJkY60AiIHSIZSQNlOQm0h5KGqN0dNV9Kewrs8wAyPdV154EoP0Ku5tLSiOA5wPCAcHp9rP2uAMgjEzfxbAy1qWrywEYOaPA/jaUw8KXTBeXzCDJ2P4Z8fAs88B0Ox5OADt7gB7Owg7I/htzZ6pEaCNGmjjcO2tcrhtPgtTWVczsIZkRzn19xW+L/nEm2SymjWWIrMrgvo9EGK7KmmnpMsmwomOdx2evddh+DSw+6jH0VWH/s0AN5GM2ybwrCoveRRT+oJn2Xbeg44L0Q67SZo0bL1pVQHFRPjiwNaMFcpn1y8uMctc/KzrFSSLn6u2WDJDLm6MweMNL/YAVuWMNw5dMN4kBC8ZzsEB8LjMLRS9vmTPuyKt89t9hFHZ7q3R+PLGiTLrOZfpYqfQWBY54rbZ/EWZuG2jBRGFUgvGQ/u+/O5fzzaxkmFt4hkDFMuE3LDyeP7vMiZbch5bT1VafUbo3fBqIEQoOaje2chjOZF4Q/ApCBulYfaeAABHqEYO1chh+NRk6mZklp1RhRIYaBaxOJmqzE3rW6+vrtvsLmLnvdS1BuD2j+A31DyniRXUFBuHLhhvOJrZcyxM2d0FruyAd0YqrXNTxjt5UCZrCX8SNIPJknI3YmQTWapAqCQ4inkPEl/uUwCO58FSBOHGDDBQDQi9m1J0Ud70GB0FTHYKVFsOvX2PYkwY7xQoj5S31XJrkbVxrJYDAGinZ/IcFSA2IejGjH7lpzj2oEZHUf2QT1pm75mEWyaPqJ9242YpYDaZ2XzKmfcE03adLwtfjHSjvIzogvFlQ16Y8uSTAERaV25tgXZ3lipMWfmQGUMSelIKnDc9ncdniwMbI5QABVU9HIjqwUqkiTkGKx4kzjj6PCgG130qq1b0bvhY+lwcBfSizhip1Fk7d5jczKRrTgPxZLtAcRT0Z/ocYhcQ3Yfxy3W5W9rOVQwcJzOg6HtBSZlh1AwTAJXbRYe9FeB8QNi/JMGY0QXjDpuNWlm3FqbEsu7dnXphyorKDaMW5ECIcjPfTxHaVQ3ONJsrs6ORZ3EcCwzOeg+alMk4ZKoYjtsnDQMAlGlSzMbUbGFknbptIs1KjWNHDjX3MWqkf71FFNbIVu18nE5o+oGL1I9JAHO5HwWOrnhWDRj6DrEwhRCNkeLk3glA4wDe0M4erbi8LEUXjG9LzCvr3tlO0rphmSYHgWn6wZ6ig9IFE+FHjYMGNOstCEUzGNlLLUQx/jrP1KX3HWBuadY/bhYFYiXDpgOuaZ0V5mVhfw9l2jY2lrZJRKNPOFOZqMrDKI1Uiq1VhFW6MYkihOALsQRtSuNCX7yUQ2Gl1UHc1aow9zxXQXHzGKHadIVxwqYaxy+DLhh3AIB6WXdWmOJq2fNgyhRJTOAZVEiAssfruF8ikON69R+ZnEw0sEXwdcUAi7SrVp3GmM6G88zUAqdDVnmXrWvZuJVO2ySbZsEAtOee0hwmvSsJbgKEAqi2Es9bDQoMrVpRbyLkZSKwMP5ZxRehLwUmeXspYpGd2QRm8zxNOmhmTfF8V4S7fnC5kskuGHe47dBS1j1VmLI3QrXbl8B9pF/5gqYmChlWacbRvzgG9Fx1YI/6k4AQKz4QCze4dDLR2JjIYp1cs+Ds+1J4EZ3xsglCcVCTLNbojNCTLiPFMacAn4lR/ICiFlq0ywx3zInjLV1sQCrjJb1JyX5cJRmy6bjN/IipbhRkbZ9CXyYC/VAd6k5oLEXM4MvCFwMSiP2lurXU0AXjDsujpTCltOx5Z1sKU64MMb7Si90uKPOYcExRsyscscrqGm2FrKWSHJPVLIjgsi4WU1BumB0hDOR7yy4LapZRcabKKCB+FiZfy6oKyUv1XHlonhVAeQTNjFOAZG16ikJN5Adi6N67Kcb1cVwkKo/oBloF4avtBsNpwhIO2hMvpKeDEySENAkIl8GpLUeXGXfo0IIZ2fNoewvu6hWEO3fhdwYSnPsEZkrObKYeaDyiJ71u/UsXStICjmmqgqDSMM02RetLkdctjqQbcyikUs8yZDmQ8NHWOdp8N8oJi+8yJ+42d5QL5ldMJFk0JcXDZLcQ/jhoRk6ZrhlIpdWBUY0cwJSKTIw2CQ3e+wQojv3lKPbI0QXjDh2WRPAIxj1/ASAiDPt9uN0d0N4u/JVtTO4YotoqZNKqamR+WUAGkjysOAqoVco11rXJN1FzSCBLlpuZIXxWjWdSNGtxZE1QyypE/a+VLzsgUQ9BDkyeJbi7REs41S4LVSPn5yqGNy7d/JGLpNrgQib5wElvbBzzonJodsBkt0T/OeGvx1dK9PYr+GGBwZeOL02xBwBYodBlxcYFYyL62wB+APLRPAjg+wBsAfgFAPcA+ByA72Dma7r+/QC+H1IH9VZm/tVbP+rbGHn2rMqN0hXoj4agnW1gdxthdwthqxdb2KdtATMWKsaJFojqg8yUHtAJOqU4Qo/AFWr8tPgLM+AlQ84d5bgAaIKYtVs3kWAStczcx9ooceki3x3UuzgUkplX2+KTYf4V+QRlKNUxjjlmwfI+TTo2O5DMgtPM39Qsvf1Kgz1A+5fEjyKCAe4447UAEb0IwFsBvJSZD9VJ6U0AXgrpXfV2InobpHfVDzd6V70QwL8hoq9ZpfVSh3OAcs+4eRPQlrKxMEU7pvidAcKohHcuScicFkMobFIvtiQaSOYbGGIAVDp99E8dm82qM+eIhfqoK0TIq8MbQ83iJTJaVkss6grfJxTHcrMIsSM0UvulQjwtoqmSoySDA0nxCZYMvrm0MF4DqVaMTwgB8AOHozsK7FwWcyADo5vAWzOUAEZENIFkxF8EcD9W6F0F4CO3eMwdFqC13+BohN72Nmh3G/7KNvx2DzQokkRN9b7VVhF9K6gAyoqVKkDNNzlvkUScArA1MLVu1JYxN9sb2XpM2vIpMJxm01QxCFbBB0y2CpRHXiw/tW1UXpnnjlP59dI+xvOCdfa34jjg6n84QHju+uz1NxWXiXZpYKOCMTP/CRH9Q4jX6CGADzDzB4ho1d5VUyCit0C6vGKIrfM6hQ7LgjmZImlZd1GWYsi/t4twdRfVHSP4UZHaKhk0SzSKwRQUcTLOpGW6DfnUp67NcL7Zj48LoBo4MauHBPlYNKIBd/ichx+QmN/bePKuJvm+s0nCs0Jxc3ypij0iumC8HiCiOyDZ7osBPAvg/yKi75q3Scuy1k9T+2M9AAB7dOfl/cQ3GLXs+VHAuQLlaAh39YpQG7tDTPbUFMkq+1S1Yf3urJGpGfowJc2xqSnMkL2/L2xWKCWgs/4ujhihZPg+oXdQ76BtNIabMCYjh14mo6s541GjqOWM4fYPL1exBwB0RkFrhT8P4BFmfhIAiOgXAfwZrN67qsNlQK57Vs+NfqZ75p0tVFeGqLbKKF1jJ0UhXAC9GwwUDNZZwDjR50g7PEsAtiIWPxDOWjTEEozNXjN101Y1BwHOyzZmMI8StcnBkxj/AGjljpvg/UumLwZUTXH5bjGGTQvGnwfwKiLagtAUrwXwcQA3sULvqls96A63CDN0zwOrGrxjD9XVLVS7PfiB0REEB45VebIRYMZBVoRh9p7sCJMdqfBzXqv9Wirk/MihPAjaqUQ1z/P0w0sE2HSeLcuy7Z0P4P39JXe2Yegy4/UAM3+UiN4L4BOQXlS/A6EWdrB676oOtwMaVYMEoN/Lsue9bUzu3MJktwSzqC1cEM8ILsU+M4erGM+8pMDuFwKGz3gJgiTl3sY3G0/tJgG+dPBDQm9/TvUgsFTn7mXhDiuEy+TUFsGdmmKdwMw/AuBHGouPsWLvqg63L3gyhr82js1gnSswGg7g9nbFc+PKFvygQBgUuPHCEoPnUnGKmzDu/IwXfbDVqyjX7CYhdoQuD3zMrKWh6gmCrVUpzqrEy7PpXE1x45IVexgY4E5n3KHDJYa2swoHB+K5AVFulKMR7v7MLvjqLsbP30a1XWCypcUZx8n0Ryr4ksdyWfk0UdfTrNlsRA32UuV3LPJj+ZOZJ9n+5wXxFnqDrl9CvtjQVeB16HB7oWYp+idAQYTeaISt3R2pGryyBb/Th1dLUVNRAMlXwzTEB3cV2HrSp4q/DFaNVxz5upsdc21f7YOc3h8FBt+4RE5tTVzGjF/RBeMOHZZBrnvWqkHLnt3VKwh37EjVoAZny3arkUPvoOHBQaki0ApJAMQyb1NlLD2hl0/eTQLCzcOzO+91AnOnpujQocM0atmzmiKV/T7c1hbo6h4mX34VxTigGhatmmIzGSqO1He51PLoyQrZX0Z3gAF3MAFPLplTW44uM+7QocNC5NK6a9dAj/wxClegt70Ft70F3t1G2BvBj3pgKmKhiWXBVKVy6pX1x5YZ3zjE5ZULMdhf3rPrgnGHDueJ3FL0SwCIUJQ99Ha2gbvuQNgZIWz1pLjEE0JbzWgbZgXs65eZL0Y3gdehQ4czAvOUtI5cgWI4QP/KHviOPYRBTyxFew1L0Qyhp92yMwqVwiVrs9SGTtrWoUOHc0MurXvsSwDqlqLh6i787gDcd/CDQiw91d85V1O4Y49wdBmLPQQMgM8oMyai1wP4JwAKAO9k5refyY5PgS4Yd+iwhmiaIpErUPR76O3ugna3pVv3Vg+hn7p1F/vHCOHycqribnf6zJiICgD/G4DXQfxrPkZEv8TMv3/qnZ8CXTDu0GETEDzCkQeOjqKlaMyed3fAe9uga9cvoVNbHWc0gfdKAA8z82cBgIh+HuIGeaHBmPgSS0VOCiLaB/DQRY/jDHAXgKcuehBnhMtyLpflPIDVzuWrmPn5pzkYEb1fj7kMhgCOsvcPqE0uiOjbAbyemX9A3383gP+cmX/oNOM7LbrMuB0PMfN9Fz2I04KIPn4ZzgO4POdyWc4DuPXnwsyvP6NdLe1zfivhLnoAHTp06HCLsZY+510w7tChw+2GjwG4l4heTER9SNPiX7rgMXU0xQw8cNEDOCNclvMALs+5XJbzADb0XJi5IqIfAvCrEGnbTzLzpy94WN0EXocOHTqsAzqaokOHDh3WAF0w7tChQ4c1QBeMMxDR64noISJ6mIjedtHjmQci+koi+n+J6A+I6NNE9Dd1+Z1E9EEi+kP9fUe2zf16bg8R0Tdf3OjbQUQFEf0OEf2yvt+4cyGiq0T0XiL6jH42/8UmngcAENHf1v+tTxHRu4louKnnshFg5u5HePMCwB8B+GoAfQC/C+ClFz2uOeN9AYBv0Ne7AP4DgJcC+DEAb9PlbwPwo/r6pXpOAwAv1nMtLvo8Guf03wH4OQC/rO837lwAvAvAD+jrPoCrG3oeLwLwCICRvn8PgO/dxHPZlJ8uM06IJZLMPAZgJZJrCWZ+jJk/oa/3AfwB5Av0BkhAgP7+Vn39BgA/z8zHzPwIgIch57wWIKKvAPBfA3hntnijzoWI9gB8I4CfAABmHjPzs9iw88hQAhgRUQlgC6LF3dRzWXt0wTjhRQC+kL1/VJetPYjoHgBfD+CjAO5m5scACdgAvkxXW/fz+18A/B2gZq+waefy1QCeBPBTSre8k4i2sXnnAWb+EwD/EMDnATwG4Dlm/gA28Fw2BV0wTljLEslFIKIdAP83gL/FzNfnrdqybC3Oj4j+GwBPMPNvL7tJy7J1OJcSwDcAeAczfz2Am5BH+VlY1/OAcsFvgFAOLwSwTUTfNW+TlmVrcS6bgi4YJ6xlieQ8EFEPEoh/lpl/URc/TkQv0L+/AMATunydz+/VAL6FiD4HoYf+KyL6P7F55/IogEeZ+aP6/r2Q4Lxp5wEAfx7AI8z8JDNPAPwigD+DzTyXjUAXjBPWskRyFoiIINzkHzDzj2d/+iUAb9bXbwbwr7LlbyKiARG9GMC9AP79rRrvPDDz/cz8Fcx8D+S6f5iZvwsbdi7M/CUAXyCil+ii10JsGTfqPBSfB/AqItrS/7XXQuYlNvFcNgJdObSC17REcg5eDeC7ATxIRJ/UZf89gLcDeA8RfT/kC/WXAYCZP01E74EEhwrAX2fmdXci38Rz+RsAflZv6J8F8H2QpGejzoOZP0pE7wXwCcjYfgdS/ryDDTuXTUFXDt2hQ4cOa4COpujQoUOHNUAXjDt06NBhDdAF4w4dOnRYA3TBuEOHDh3WAF0w7tChQ4c1QBeMO5wriOjLiejnieiPiOj3iehfE9HXzFn/HiL61K0cY3bsbyaiv0tEdxDRv76IMXS4fdEF4w7nBi0WeB+AX2PmP8XML4Vooe++2JHNxJ8D8JsQs59/d8Fj6XCboQvGHc4T3wRgwsz/hy1g5k8y82+S4B+oV+6DRPTG5sZE9L1E9M+y979MRK/R1zeI6EeJ6LeJ6N8Q0SuJ6NeI6LNE9C3Z9r9IRO9X/90faxskEb1RC2feCjEs+hcAvo+I1rYCs8PlQxeMO5wnvhbALPOfvwTg5QBeBvFB+AfmebAktiEZ9ysA7AP4nwG8DsC3Afh72XovB/BGAF8H4I1E9JXNHTHzL0A8JD7FzF8H4FMAvp6Zv2WF8XTocCp0wbjDReHPAng3M3tmfhzArwP40ytsPwbwfn39IIBfV0ObBwHck633IWZ+jpmPIKW6XzVjf/dCDNEBYEs9ojt0uGXognGH88SnAbxixt/aLBebqFD/Hx1mryecavkDgGMAYOaAuufKcfbao8WPhYg+DvEk+SYi+n0ALyGiTxLRn1tijB06nAm6YNzhPPFhAAMi+qu2gIj+NBH9lwB+A0IbFET0fMikWdPl63MAXk5ETumFc+kcwcz3Afh/IP69Pwbgf2DmlzPzb57H8Tp0aEMXjDucGzRz/TYAr1Np26cB/F2Iz+37APwepG/ahwH8HbWgzPHvIH3YHoR0nfjEOQ73GwB8EqKo+PVzPE6HDq3oXNs6dOjQYQ3QZcYdOnTosAbognGHDh06rAG6YNyhQ4cOa4AuGHfo0KHDGqALxh06dOiwBuiCcYcOHTqsAbpg3KFDhw5rgP8fjMa3ytT6J5cAAAAASUVORK5CYII=\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ - "# Use the same example image:\n", "date = '2020-06-08'\n", "url = 'http://landsat-pds.s3.amazonaws.com/c1/L8/227/065/LC08_L1TP_227065_20200608_20200626_01_T1/'\n", "redband = 'LC08_L1TP_227065_20200608_20200626_01_T1_B{}.TIF'.format(4)\n", "nirband = 'LC08_L1TP_227065_20200608_20200626_01_T1_B{}.TIF'.format(5)\n", "mtlfile = 'LC08_L1TP_227065_20200608_20200626_01_T1_{}.json'.format('MTL')\n", - "#nirband = 'LC08_L1TP_227065_20200608_20200608_01_RT_B{}.TIF'.format(5)\n", "\n", "with rasterio.open(url+redband) as src:\n", " profile = src.profile\n", @@ -164,51 +93,14 @@ "plt.ylabel('Row #')" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "mtlfile , needed if we need to scale to top of atmosphere reflectance. But in this tutorial, we are going to skip it" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "But, here, we will use Xarray to read these files" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Get the block size for Xarray" - ] - }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "True\n" - ] - }, - { - "data": { - "text/plain": [ - "[(512, 512)]" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ + "# Get the shape size for the red band image\n", + "\n", "red = rasterio.open(url+redband)\n", "print(red.is_tiled)\n", "red.block_shapes" @@ -223,470 +115,15 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - "Show/Hide data repr\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "Show/Hide attributes\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "\n", - "
xarray.DataArray
  • band: 1
  • y: 7761
  • x: 7621
  • dask.array<chunksize=(1, 1024, 1024), meta=np.ndarray>
    \n",
    -       "\n",
    -       "\n",
    -       "\n",
    -       "\n",
    -       "
    \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
    Array Chunk
    Bytes 118.29 MB 2.10 MB
    Shape (1, 7761, 7621) (1, 1024, 1024)
    Count 65 Tasks 64 Chunks
    Type uint16 numpy.ndarray
    \n", - "
    \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "\n", - " \n", - " \n", - "\n", - " \n", - " 7621\n", - " 7761\n", - " 1\n", - "\n", - "
    • band
      (band)
      int64
      1
      array([1])
    • y
      (y)
      float64
      -6.837e+05 ... -9.165e+05
      array([-683700., -683730., -683760., ..., -916440., -916470., -916500.])
    • x
      (x)
      float64
      5.733e+05 5.733e+05 ... 8.019e+05
      array([573300., 573330., 573360., ..., 801840., 801870., 801900.])
  • transform :
    (30.0, 0.0, 573285.0, 0.0, -30.0, -683685.0)
    crs :
    +init=epsg:32621
    res :
    (30.0, 30.0)
    is_tiled :
    1
    nodatavals :
    (nan,)
    scales :
    (1.0,)
    offsets :
    (0.0,)
    AREA_OR_POINT :
    Point
" - ], - "text/plain": [ - "\n", - "dask.array, shape=(1, 7761, 7621), dtype=uint16, chunksize=(1, 1024, 1024), chunktype=numpy.ndarray>\n", - "Coordinates:\n", - " * band (band) int64 1\n", - " * y (y) float64 -6.837e+05 -6.837e+05 ... -9.165e+05 -9.165e+05\n", - " * x (x) float64 5.733e+05 5.733e+05 5.734e+05 ... 8.019e+05 8.019e+05\n", - "Attributes:\n", - " transform: (30.0, 0.0, 573285.0, 0.0, -30.0, -683685.0)\n", - " crs: +init=epsg:32621\n", - " res: (30.0, 30.0)\n", - " is_tiled: 1\n", - " nodatavals: (nan,)\n", - " scales: (1.0,)\n", - " offsets: (0.0,)\n", - " AREA_OR_POINT: Point" - ] - }, - "execution_count": 11, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "red = xa.open_rasterio(url+redband, chunks={'band': 1, 'x': 1024, 'y': 1024})\n", "nir = xa.open_rasterio(url+nirband, chunks={'band': 1, 'x': 1024, 'y': 1024})\n", "red" ] }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - }, { "cell_type": "markdown", "metadata": {}, @@ -729,20 +166,6 @@ "plt.axis('equal')\n", "plt.show()" ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "You can see that using Xarrays, arrays calculations become very simple. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/environment.yml b/environment.yml index 9c4abe4..419a916 100644 --- a/environment.yml +++ b/environment.yml @@ -16,6 +16,7 @@ dependencies: - rioxarray - geopandas - shapely + - dask - pip: - mimesis \ No newline at end of file