Skip to content

Instantly share code, notes, and snippets.

@jimgoo
Created September 13, 2015 16:48
Show Gist options
  • Save jimgoo/76ce3caaa25ed02084f7 to your computer and use it in GitHub Desktop.
Save jimgoo/76ce3caaa25ed02084f7 to your computer and use it in GitHub Desktop.
Live plotting of Nvidia GPU utilization
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Live plot of Nvidia GPU utilization "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"\n",
"import time\n",
"import datetime\n",
"import numpy as np\n",
"import pandas as pd\n",
"import seaborn as sns\n",
"import matplotlib.pyplot as plt\n",
"from IPython import display\n",
"from collections import OrderedDict\n",
"\n",
"from pynvml import (nvmlInit,\n",
" nvmlDeviceGetCount, \n",
" nvmlDeviceGetHandleByIndex, \n",
" nvmlDeviceGetUtilizationRates,\n",
" nvmlDeviceGetName)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def gpu_info():\n",
" \"Returns a tuple of (GPU ID, GPU Description, GPU % Utilization)\"\n",
" nvmlInit()\n",
" deviceCount = nvmlDeviceGetCount()\n",
" info = []\n",
" for i in range(0, deviceCount): \n",
" handle = nvmlDeviceGetHandleByIndex(i) \n",
" util = nvmlDeviceGetUtilizationRates(handle)\n",
" desc = nvmlDeviceGetName(handle) \n",
" info.append((i, desc, util.gpu)) #['GPU %i - %s' % (i, desc)] = util.gpu\n",
" return info"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"scrolled": false
},
"outputs": [],
"source": [
"utils = []\n",
"while True:\n",
" try:\n",
" dt = datetime.datetime.now()\n",
" util = gpu_info()\n",
" utils.append([dt] + [x[2] for x in util])\n",
" # Don't plot anything on the first pass\n",
" if len(utils) == 1:\n",
" continue\n",
" df = pd.DataFrame(utils, columns=['dt'] + \n",
" ['GPU %i - %s' % (x[0], x[1]) for x in util]).set_index('dt')\n",
" ax = df.plot();\n",
" vals = ax.get_yticks();\n",
" ax.set_yticklabels(['{:3.0f}%'.format(x) for x in vals]);\n",
" ax.set_ylabel('GPU Utilization');\n",
" ax.set_xlabel('Time');\n",
" display.clear_output(wait=True)\n",
" display.display(plt.gcf())\n",
" time.sleep(2)\n",
" except KeyboardInterrupt:\n",
" break"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAfsAAAFcCAYAAADPkheEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXmYFOW59/+trupl9hlkGJaICCYq5hDJajYhITHGBZAE\nMA7xkjeJwYQTgjrjhi/gOUaDHBmNRE54AQMaAuYQTSTGX6IhidEcPDmSxSWJouOCDoMMMz3TW22/\nP6qf6uqerq6q7q7qnq77c11czFR3Vz1T1c9zP/fOqaqqgiAIgiCImiVQ6QEQBEEQBOEuJOwJgiAI\nosYhYU8QBEEQNQ4Je4IgCIKocUjYEwRBEESNQ8KeIAiCIGocz4T9pk2bMHfuXMyePTvreG9vLy67\n7DIsXLgQ8+fPx29/+1sAwOHDh7Fo0SLMnz8fhw4dAgBIkoTly5cjmUx6NWyCIAiCGPN4JuznzZuH\nBx98cNTxe++9F/Pnz8dDDz2ETZs2Yf369QCAPXv2YM2aNdi6dSu2b98OANi9ezcWLFiAcDjs1bAJ\ngiAIYswjeHWhWbNm5T3e3t6OaDQKABgaGkJHRwcAIBgMIh6PIxaLIRgMIhqN4sCBA9i2bZtXQyYI\ngiCImoDzuoLe7Nmz8eyzz+q/Dw8PY+nSpRgeHkY8Hsd9992HmTNn4q233kJ3dzdEUcT69evx05/+\nFPPmzcOHPvQhL4dLEARBEGMezzR7M2677TYsXrwYV1xxBQ4dOoSuri7s378fkyZNwq5duwBofv2+\nvj5Mnz4dXV1dkCQJq1atwrRp0yo7eIIgCIIYA1Q8Gv/ZZ5/F5z//eQDA2WefjWQyiePHj2e9p6en\nB6tXr8bOnTuxdOlSdHV14Z577il4XkmSbY8hkZJw8TUPo/t7v3f+BxAEURSqquLiax7Gqv84UOmh\nEETNU3HNfvr06XjqqadwySWX4OWXX0YymcS4ceP01w8ePIiOjg5MnToViUQCAMBxnP6zGQMDMdtj\nGEmIAIBEUkR/f7SIv6I2aW9vovvhIn6/v5KsAADiLs07v99ft6H76y7F3N/29ibT1zwT9hs2bMD+\n/fuRTCYxZ84cLF68GCtXrkR3dzduuukm3HfffeA4Dt/97nf1z6iqii1btqCnpwcAsGTJEnR1dUGW\nZaxbt65sY5MkbdGRZGoASBBeIerzTqnwSAii9vFM2Hd3d6O7u3vU8alTp+q++Vw4jtPT7gBgxowZ\n2LdvX9nHJsq06BCE10gybbIJwisq7rOvBthiI9OiQxCeweYd0/AJgnAPEvYwaBgKLToE4RVkUSMI\n7yBhDzInEkQlkMhnTxCeQcIegCQxMz4tOgThFcZNtse1vQjCd5Cwh9GcSAsOQXiFaNhc09wjCHep\neJ59NSCR75AgPMcYECvJCoIC6R5jiWPHjmHdulvw/PN/Q1NTM4LBIC677HKce+5c/O///g9uuOEa\nTJ48BaIoYt6887B8+dfwi1/8HH//+wtYvTqTmbVy5ZVYuXI1zjjjzKzzHznyJtauvRHR6BBOP/0M\n3Hzzv0EQnImsxx77BX70o11QFBk8L+DMM2fim9/8NhobG7Fy5ZU4fvwdhEJhhMNhXH/9zTj11OkA\ngC9+8WJs334/mptbcO65H8aMGadBkiTwvIDzz78AS5d2guO4rGu99dYRXHfdauzcuQcA8LOf/RQP\nP7wPPT3fx969P8IjjzyM1tZWAMDXv74S55zzMTzzzB+xZctmSJIIQQjim99chfe//4MAgL/97W/o\n6upGKpXCOed8HN/+9rXOHlAOJOyREfKyopkTcx8iQRDlJ1uzp432WEJVVaxc+U189rMXYN26WwEA\nb7/9Nv7wh9/q73nf+96PDRs2IZFI4IorLsPHP/7JvGsrx3F5j9977/dw6aXLMG/eZ7Fx42145JGH\nsHDhF22P8Y9/fAp79+7Gf/zH9zB+/HgoioJHH30Ex4+/g8bGRnAch7Vrb8Xpp5+BX/zi57j33u9h\nw4ZN+pgY4XAEO3b8CAAwMDCA9etvwsjICL7yla+bXvuXv9yP//qvvfje97agqakJHMdh6dLLcOml\ny7Le19rahg0bNuGkk8bj8OGXcc01/4qf/vQXAIB169bh+utvxsyZ78W1134Lf/zjUzjnnI/Z/vtz\noa00sk2IskLmRILwAkkiM/5Y5U9/egahUAgLFizSj02cOBFf+MLSUe+NRCI4/fQz8MYbb9g+v6qq\nePbZ/8GnPjUPAHD++Rfhd7/7rcWnstm5cztWrvw2xo8fDwAIBAK48ML5mDr1lFHvPeusf8GRI9bj\na2trQ3f3Tdi3b6/pex5//Fd44IEfoqdnM5qbWwx/0+j3vvvdp+Okk7TxnXrqdCSTSUiShGPHjmFk\nZAQzZ74XAHD++Rfi978/YDm+QpBmj+xFR5QUCDztgQjCbYzavEiafdHsfeIlPPPi0bKe80NnTMCS\nT59m+vorrxzGzJkzbZ1rcPAEnn/+b1i+/Gt44YXnbH5mEI2NTQgEtLW4vb0dx445+xtfffUVnH76\nGQXfwwJD//u/n8Kpp86wdd7Jk6dAlhUMDAygra0t67W33noLPT13YMeOH6GtbVzWa//1X3vwy1/u\nxxlnnImVK1ejqSm7tO2BA4/j9NPPgCAIOHbsKCZOnKi/1t4+Af39/bbGZwYJe2QvNKTZE4Q3ZJnx\nqbDOmCLX6n7nnd/FX/7yZwSDArZu3QkA+MtfnsX/+T+d4LgAli27AtOmnWoq7N32nL788kv493//\nv4jFYrjyym9i3rzPQlVV3HLLGoiihGh0CDt3/rjk67S1taGlpQVPPPH/YcmSy/Tjl1zyRSxf/jUA\nwNat9+Keezbhhhv+r/764cMvY8uWe7Bp0+aSx2AGCXtkaxjkOyQIb2AprwDNu1JY8unTCmrhbnDq\nqTPwwAO/03+/+urrMDh4Al/96uX6sVmzZus+cEZLSyui0ezmLkNDQ2hpac15XwuGh6NQFAWBQAD9\n/UcxfvyEUeP4znfW45///Dva2ydgw4aenDFOx4svvoD3v/+DmDHjNOzY8SNs2rQBqVQSALJ89ps3\n34Uf/WiXrSC4N998AzwfGKXVA5rLYsOGu/DNb34Vra3jcN555wNAlpZ/8cULcd11q/Xfjx7tw003\ndeHmm2/B5MlTAADjx0/A22+/nfWe9vZ2y7EVguzVyPYX0qJDEN5AZvyxywc+8CEkk0k89NBP9GPx\neOFOpABwxhln4q9//TOOH38HAPDii89DkkR0dEzMeh/HcZg9+4P4zW9+DQB49NFHcO65c0ad78Yb\n12LHjh+NEvQAsGzZFdi8+S7092fM/8lkMus9zIz/1a+uwO9/fyBLwOZjYGAAGzfeljc2gdHW1ob/\n+I/v4Qc/2IyDB/8IQMtcYPzud7/B9Ona5iwajaKr69u46qpv4b3vnaW/Z/z48WhsbMRzz/0Nqqri\nscd+gU9+cm7BsVlBmj2yFx2qj08Q3kBm/LHN5s2bsXbtLXjggV1obW1FXV0drrrqWwBYhP3oz4wb\ndxJWrboG1167CqqqoL6+QY/mz+Wqq/4Va9feiK1b78V73nMGLrpooaPxffSjH8eJEwO49tpvQZYV\nNDU1Yvr00/CRj3xUfw+Lug+Hw1i8+FLcf/8OXHvtDVnnSaWSWL78slGpd/lg55s0aTJuv/1OdHWt\nwne+cwd+8pM9eOmlfwDgMHnyZHR13QhA8+MfOfIGduz4AXbs+AEAYNOm76O1tRVr165FV1c3kskk\nPvrRj5cUiQ8AnFqjpauc9AH+2ZOv4KEnXwEA/NtXPowp7Y1uDWtMQf2q3cXv9/fR/+7Fg795GQBw\nzdKzcdap4yw+4Qy/31+3ofvrLuXuZ09mfFAlL4KoBFlZMGTGJwhXIWGPnAA96nxHEJ6QVd+ChD1B\nuAoJe+QuOqTZE4QXUIAeQXgHCXtQ6h1BVILsAD3aZBOEm5CwB5XtJIhKQCmvBOEdJOyRU0GPFh2C\n8AQK0CMI7yBhjxwNg8rlEoQnkPuMILyDhD1yFh0q7kEQnkBFdQjCO0jYgzQMgqgE2WZ8sqgRhJuQ\nsEdOgB6Z8QnCE2iTTRDeQcIe2VoFLToE4Q007wjCO0jYgxrhEEQlkKlMNUF4hmfCftOmTZg7dy5m\nz56ddfy2227DwoULsXDhQnzuc5/Dhz70IQDA4cOHsWjRIsyfPx+HDh0CAEiShOXLl49qU1gqZE4k\nCO+hAD2C8A7PWtzOmzcPy5Ytw3nnnZd1/IYbMu0E77//frzwwgsAgD179mDNmjWYMmUKbr31Vtx9\n993YvXs3FixYgHA4XNaxkbAnCO+hojoE4R2eafazZs1Ce3t7wfc88sgjuOiiiwAAwWAQ8XgcsVgM\nwWAQ0WgUBw4cwMKFznoa2yGrNj4F6BGEJ0iSAoHX+n9TUR2CcBfPNHsr3nzzTbzxxhs455xzAACd\nnZ3o7u6GKIpYv349Nm/ejBUrVrhybVEizZ4gvEaUFURCAobjIpnxfcSLvQN45u9H0fnZ9yDAcZUe\njm+oGmG/f/9+nH/++eDSD3/SpEnYtWsXAKC3txd9fX2YPn06urq6IEkSVq1ahWnTppmer62tHoLA\n27q2rKgIcICiAsGQgPb2ppL/nlqB7oW7+Pn+KqqKhroghuMiOD7gyr3w8/31gmLu785f/QMH/vdN\nfOlzZ6JjfIMLo6odyvn9rRph/+ijj2Lt2rV5X+vp6cHq1auxc+dOLF26FJMnT8add96JjRs3mp5v\nYCBm+9qiJCMc4hFPyhgeTqK/P+p4/LVIe3sT3QsX8fv9TYkymuqCAIBYXCz7vfD7/XWbYu9vdFgL\nsO47OgRBJYuOGcXc30Kbg6pIvXv55ZcxODiIs88+e9RrBw8eREdHB6ZOnYpEIgEA4DhO/7lUVFWF\nJKuIhLR9D6UAEYQ3iJKKoBCAwHPkPvMRzG1KcRre4pmw37BhA+bMmYNkMok5c+bgnnvu0V979NFH\n9cA8I6qqYsuWLfjGN74BAFiyZAm+853vYMWKFfjKV75SlnGxgLxISDP5Swp9AQnCbbRNtgKBD0Dg\nA+Sz9xG6sKdn7imemfG7u7vR3d2d97WVK1fmPc5xHLZv367/PmPGDOzbt6+s42JfOF3Y0xeQIFyH\nbbJ1YU9ZML6BafQk7L2lKsz4lYSZD8mMTxDeweZdUAggKJBm7ydIs68MJOxlMuMThNeweadp9hz5\nb32ERMK+IpCwTy8y4bSwp9r4BOE+bKEXeE4z45Ow9w0UoFcZSNgzYR/kwYGK6hCEF+hmfD6AIAl7\nX0E++8rge2Gf0TACEIQA+ewJwgOYcOf5AHg+AFGieecXyGdfGXwv7JlwD6Z9hzJpGAThOmyh1zR7\nLc9eVUng+wES9pWBhH1auAsCBz5AKUAE4QV6gJ7AQRC0ZYiaUPkD8tlXBhL2TNgHqJIXQXiFPu/S\nefYAaXp+QFYUKGkLDj1vbyFhr2v22qJDZnyCcB8xJ0APIM3eDxgFvCjJFRyJ//C9sGeBQUI6UIgC\n9AjCfWTjJlsgzd4vZAt7et5e4nthn0kB4siMTxAeYdxkC7zW1prmXu1Dwr5ykLA3+g4pQI8gPMG4\nyWZmfBL2tU+WsKfn7Sm+F/ZiVqAQRzW6CcIDKEDPn5BmXzl8L+xlPQVI89nLikr5vgThMlmbbIFp\n9jTvah2jNk/C3lt8L+yza3RrvkOKCiYId2EWNC0Lhnz2foE0+8rhe2FvrNEtkO+QIDwh0/WOy5jx\nad7VPOSzrxwk7PP4DsmcSBDuki/PnuJlah/S7CuH74V9boAeACqsQxAuI0n5Ntk072odozZPmztv\n8b2wlw01uvkAafYE4QVSnqI6NO9qH2PVPNLsvcX3wj6fZi8p9CUkCDfJ7TapHaN5V+uQz75y+F7Y\nS1K+AD3SMAjCTTKxMpmiOrT41z7ks68cJOwNmj1PPnuC8ATRaManAD3fQHn2lcP3wl40FNUhzZ4g\nvCEr5ZV89r7BKOBTkkwFzDzE98JeNpgTyXdIEN7AtHje4LMnM37tw4R9UAhAVamAmZf4XthnBeil\no/HJjE8Q7pIJ0OMoz95HMGFfHxayfifcxzNhv2nTJsydOxezZ88e9dovfvELXHjhhbjoootwzTXX\nAAAOHz6MRYsWYf78+Th06BAAQJIkLF++HMlksmzjMgbo8bqGQbtNgnATMW8xK1r4ax1d2EfSwp6e\nuWcIXl1o3rx5WLZsGc4777ys46+++iq2bt2KH//4x2hqasLx48cBAHv37sWaNWswZcoU3Hrrrbj7\n7ruxe/duLFiwAOFwuGzjkmQVAY5DIJAp20maPUG4S3ZtfIrG9wu5mj1Zc7zDM2E/a9asvMf37t2L\nzs5ONDU1AQDGjRunDUwQEI/HEYvFEAwGEY1GceDAAWzbtq2s4xJlBYKgafS6hkF+JIJwFUlWwAc4\nBDhOD9CTyaJW87ANXV2EzPhe45mwN6O3txccx+FLX/oSFEXBypUr8clPfhKdnZ3o7u6GKIpYv349\nNm/ejBUrVpT9+rKs6L56ngL0CMITRFnRN9dBCtDzDeSzrxwVF/ayLOO1117D/fffj7feegvLli3D\nz3/+c0yaNAm7du0CoG0I+vr6MH36dHR1dUGSJKxatQrTpk0r+fqirOqaRZB8hwThCbKs6lH45LP3\nD0y4N0SC2u/0zD2j4sK+o6MD73vf+8DzPN71rndh2rRp6O3txXvf+179PT09PVi9ejV27tyJpUuX\nYvLkybjzzjuxceNG0/O2tdVDEHjL66uqinCIR3t7E9paBwEAdfVhtLc3lf7H1QB0H9zFr/dXAfR5\nF6oLAQB4ni/7/fDr/fUKp/eXC2gbvPHj6gEADY0RekYFKOe9qbiw/8xnPoP9+/dj0aJFOH78OF59\n9VWcfPLJ+usHDx5ER0cHpk6dikQiAQDgOE7/2YyBgZit6ydTMiIhHv39UcRGtCj/Eydi6O+PFvkX\n1Q7t7U10H1zEz/c3mZIQ4Dj090cRT0oAgJFYqqz3w8/31wuKub8j8RT4AAdJ1Bri9B8bRn9TyI3h\njXmKub+FNgeeCfsNGzZg//79SCaTmDNnDhYvXqz75//whz/gwgsvRCAQQHd3N1paWgBoWveWLVvQ\n09MDAFiyZAm6urogyzLWrVtXlnFJsgJB0ExKVEGPILxBkhTUR7LnHZl0ax9RUhAUApl+COSz9wzP\nhH13dze6u7vzvnb99dfj+uuvH3Wc4zhs375d/33GjBnYt29fWcclGgL09H721PWOIFxFNPjs9cBY\nWvhrHl3YC7TB8xrfV9CTZVVPveNJsycIT5AM0fgBjtNMu7Tw1zyjhL2hvz3hLr4W9oqqQlZU3aRE\ntfEJwn1UVYUkKXoWDKAV1yEtr/YRZQVBPiPsU2TN8QxfC3u9ipcu7Km4B0G4jayoUJFJdUX6Z7Ko\n1T4S+ewrhr+FvZwt7PkAafYE4Ta58077mcz4fiDXjE9xGt7ha2Gv97Kn4h4E4RlSzrzTfg7QvKtx\nVFXVhD1v9NnTM/cKXwt7vZe9kOuzJ3MiQbgFE+pBg88+KARIy6txdPcNReNXBF8Le1HO77OXKPWO\nIFwjN1aG/UytpWublMg2eTxp9hXA18Le2MseoKI6BOEFuZts9jOZ8Wsb0WBJpQA97/G3sNd9hzlF\ndWjRIQjXYPMuOxqfgyQpUFXaaNcqLKc+yAcQDPLpY7TWeoWvhX1mp0lFdQjCK5gGzxsC9Hg+ABWa\nX5eoTZhgz0q9I8XKM3wt7PUAvUBugB59AQnCLYyLPkNPxaK5V7NkCXvy2XuOr4W9mBONH+A4cCAz\nPkG4Sf48e7Kq1TpsvQ2RsK8Ivhb2kpTtO+Q4DjwfgESmRIJwjYywN+bZaz/T4l+7SPnM+FQb3zP8\nLexNFh0yJRKEe4hSvgA9Vqqa5l6tYjTjBwJa8yPy2XuHr4V9rhkf0MyJVBufINxDyjfvqMhKzSPm\npDoHhQBZcjzE18JeygnQA7QIYdLsCcI9yGfvT8Scyokk7L3F58I+nWcvGMz4Aeq+RRBuopfLzWPG\np4127cIEu0DCviL4W9hLoxcd8tkThLtkNtlGMz4F6NU6uSmXQZ6EvZf4W9hT2U6C8BxdwwtkW9QA\n0uxrmYzPXqueR5q9t/ha2OcL0ON5jlLvCMJFCgXokbCvXfL67Ol5e4avhb1uTjRoGEE+QOk/BOEi\nhQL0WFoeUXuYmfGpH4I3+FzY59PstQA9+gIShDuIeQP0qFR1rTNK2Keb4VBAtDf4W9ibBOgB1JCD\nINyCVa7MyoKhaPyaJ2Xoemf8n/z23uBvYV/AnEiFdQjCHfLOO/LZ1zxSrmZPhZQ8xdfCPm+AXtp/\nLyn0BSQINyicZ0+b7FpllBlfb4ZD9fG9wNfCPl+AHlXyIgh3KRygR5vsWiVfND5Az9wrbAn7p556\nCj/+8Y/xwAMP6P+csmnTJsydOxezZ8/OOr5v3z6cc845WLhwIRYuXIif/OQnAIDDhw9j0aJFmD9/\nPg4dOgQAkCQJy5cvRzKZdHz9fORNAWI+ezItEYQriAWK6pAZv3ZhQj0kkM++EghWb7juuuvw3HPP\nYebMmeDTxRCKYd68eVi2bBnOO++8rOMcx+Giiy7CmjVrso7v3bsXa9aswZQpU3Drrbfi7rvvxu7d\nu7FgwQKEw+Gix2EkX4AeT4FCBOEqmXmXnfIK0LyrZUzN+PTMPcFS2B86dAiPPPIIgsFgSReaNWtW\n3uOqmj/NTRAExONxxGIxBINBRKNRHDhwANu2bStpHEaoIQdBeA+bd3yeTTYt/LWLXjmRzxH2Ij1z\nL7AU9hMnTnQ155zjODz22GM4ePAgTj31VNx4442YOHEiOjs70d3dDVEUsX79emzevBkrVqwo67V1\nc6Kxn32AzIkE4SYFA/SoqE7VISsKDv3zGGZOG4e6sKXIMEWUFQh8ABynrbGk2XuL5ZObNm0ali9f\njs985jMIhUL68c7OzrIM4FOf+hQuuugiBINB7NmzB9dddx1++MMfYtKkSdi1axcAoLe3F319fZg+\nfTq6urogSRJWrVqFadOmmZ63ra0eglDY7cBxHAQ+gAkTmvVjTU0R7f/mOrS3N5X+B45x6B64iy/v\nL8chEODQ0ZGZdzG28Q7xZb0nvry/ZebP/+jH5p/+DV9b+F7M/+SMrNec3F8VQDgY0D/T2lIPAKir\nD9NzMqGc98VS2CeTSZx88sn4xz/+UbaLGmltbdV//uIXv4g77rhj1Ht6enqwevVq7Ny5E0uXLsXk\nyZNx5513YuPGjabnHRiIWV47nhTB8xz6+6P6sVRSBAD0HxtGW13xu9haoL29KeveEOXFr/c3npAg\n5My76FBc+384WbZ74tf7W27eeHsQAPD20eGs++n0/sYTEng+oH8mlUgBAN45PkLPKQ/FfH8LbQ4s\npdntt9/u6GJO6e/vR3t7OwDgiSeewGmnnZb1+sGDB9HR0YGpU6cikUgA0DRy9nMpSLKaZUoEMuZE\nisYnCHeQZIXm3RgilfapJ8XS8uFFKfu5C5R65ymWwl5RFOzZswdPP/00AODjH/84lixZovtd7LJh\nwwbs378fyWQSc+bMweLFi7Fy5Urs2rULTzzxBHieR2trK2677Tb9M6qqYsuWLejp6QEALFmyBF1d\nXZBlGevWrXN0/XxIkpLlrwe0rncAqPMdQbgE890a0fPsKTC26mBlbhOpEoW9rKDe4PMnn723WAr7\nO+64Ay+88AIWLVoEVVXx0EMP4dVXX8V1113n6ELd3d3o7u4edfzqq6/G1VdfnfczHMdh+/bt+u8z\nZszAvn37HF23EIUWHQrQIwh3kAvNO9Lyqo6yavYNmeceSsdUkWbvDZbC/sknn8S+ffv01LsLLrgA\nixYtcizsqxFJVhAJZacUUm18gnAXUVZRF84Ong1SUZ2qhWn2yVI1e0nRtXmAyuV6ja0KekaTvVPz\nfTUjySr4QPYt4KnVJkG4iiQpWQV1ACpmVc0wzT6Rkoo+h6qqo2I1qIKet1hq9p/4xCfwta99LcuM\n/4lPfMKLsbmOJCu6RsEQAlRUhyDcRMpjxg9wHPgAR/7bKqQcPvvc6nnGn+mZe4OlsL/22muxZ88e\n/OpXvwIAfPazn8XSpUtdH5jbqKqaDtDL9R1S1zuCcJN8sTKA5kKjojrVRzl89rlNcIw/k2bvDZbC\nnud5XHbZZbjsssu8GI9nyIoKFTANFCKfPUGUH1lRoKoYlQUDaMfIjF99uK3ZU1CmN5gK+/vuuw9X\nXHEFvvvd72b56VVVBcdxeSPrxxJSnp0mQD57gnATprkLQh7NXgiQSbcKYbXrSwnQE/M0HSOfvbeY\nCvtIRCsbW19fn1fYj3WYT54P5PjsKVCIIFxDzFMXnxHkA1RUpwpJsmh8US56/SeffeUxFfaXXnop\nAC3VbsaM7HrIL7/8sruj8gAzzZ41wiEzPkGUn3ydJhkCH0AsWXzEN+EOzGcvK6pWdVQoRdhnUi7Z\n2puirneeYJl6d80114w6du2117oyGC+RpPyLDrXaJAj3MJt37Bj5b6sPYx58sel3BQP0aK31BFPN\n/vjx43jnnXeQTCbx0ksv6ceHhoYQi1k3mal2RBMNgwL0CMI9WBnqfNphUKAAvWrEqHknUzKa6p2f\nI58ZXyCfvaeYCvuf/exn2LlzJ44ePYorr7xSP97Y2IivfvWrngzOTZjPPtd3KFCAHkG4hpVmT1pe\n9WFMuUsUmX6XT9izFuMk7L3BVNhfccUVuOKKK3Dvvffiqquu8nJMnsCEOc+bBOhRIxyCKDtmFjV2\nTFW19LzcypZE5UhJ2Zp9MeSLxgc04U/C3hss8+yZoGcmfcbkyZPdG5UHmAbokWZPEK5hNu+MxyRJ\nBR/ydFhEAbJ89sVq9rL2udznHqJ0S8+wFPZPP/00rr/+ehw7dgw8zyOVSqGtrU1veTtWMTMnZnz2\n9AUkiHLD5l1uyqvxmCgrCIMf9TpRGXJ99sWQz4zPfpeoEY4nWNrKNmzYgB07duDd7343/vznP+Pf\n/u3fsGTJEi/G5iqsb/bofvZUG58g3ILNu4KaPW20qwZJViAbXJrFCnupgLAnM7432HKMTZ8+HZIk\ngeM4LF5wZBGvAAAgAElEQVS8GL///e/dHpfrSCbFPciMTxDuYZVnD1D51GoiVxAXnXpn5rOnoEzP\nsDTjsz72EyZMwOOPP44pU6ZgcHDQ9YG5TSZAL7eoTtqMTwF6BFF2bAl7mntVQyrtow8FA0iJSgk+\ne9LsK42lsP/yl7+MEydO4Nvf/jauvvpqRKNR3HjjjV6MzVWoNj5BeI+Z7xbIaH2k2VcPyfSzaK4P\n4dhgomgzPvP75/XZyyoUVUWgBsqwVzOWwv7iiy8GALS2tuLXv/616wPyCsnMZx/gsl4nCKJ8ZDT7\nPF3vhEyAHlEdiGlNvikt7IvtfKenXOZmPxk634WCFJTpJpY++w9/+MPYtWtX1rFly5a5NiCvEE2i\n8bVCDxxF4xOEC2Q22QXM+DT3qgaWY99Ur7lzi+1pX8hnD9AGzwsshX1LSwt+/etf4zvf+Y5+bHh4\n2NVBeYFZgB6g+fFJsyeI8lNo3pEZv/pgPvvmeq3wgRupd9p16Jm7jaWwb2howLZt23DixAmsXLkS\niUTCi3G5jmRiVgK0znekXRBE+Sk47/TGKLTRrhZ0zb5B0+yLNuNbCHvS7N3HVuqdIAjYsGED3v3u\nd+Pyyy+vEc0+bU7MU9xD4AMk7AnCBXT3Wb55F6Dg2GojV7MvtetdSMj2y7OWtxSR7z6Wwn7WrFn6\nz6tWrcKll14KVR37O++CGgaZ8QnCFfRNdgHNnoR99cDM65EQj6AQKNpnb1pUh1w3nmEp7G+55Zas\n3xctWoTHH3/ctQF5hVmAnnaMg6TQl48gyo2dPHvS8qqHpMTy7HmEg3wJZvz8tfF1Mz49c9cxTb27\n7777cMUVV+C73/3uqNc4jkN3d7erA3ObQoFCAh+AnCjOXEUQhDmijQA9KmhVPYhixvweCfElReNz\nGN0TIaQLe6qP7zammn0kEgEA1NfXo6GhQf9XX1+P+vp6xxfatGkT5s6di9mzZ+d9/bHHHsMZZ5yB\n5557DgBw+PBhLFq0CPPnz8ehQ4cAAJIkYfny5Vnd94qlkBmf5ylAjyDcQG9AVShAj7S8qiElZSro\nhUN88dH4soKgEACXUziHAvS8w1Szv/TSSwEA//qv/1qWC82bNw/Lli3DeeedN+q14eFh7Ny5E2ef\nfbZ+bO/evVizZg2mTJmCW2+9FXfffTd2796NBQsWIBwOlzwe6wA90i4IotwULKpD1SurjqSu2QcQ\nKcmMr+StmkgbPO8wFfYPPPBAwQ92dnY6upAx0C+Xu+66C1deeSX+3//7f5mBCQLi8ThisRiCwSCi\n0SgOHDiAbdu2ObquGVapd7KsQFXVUTtRgiCKR+96VyjPnoR91SAaffYhHrKiQpKVvDEXhc+j5F1r\nyWfvHabC/q9//asngu65555DX18f5syZkyXsOzs70d3dDVEUsX79emzevBkrVqwo23ULBejxfAAq\nAEVVwZOwx59fOoYXegew9NOn0ebH5/zqmdchCAF8avaUoj4vW2TBALTwl4P9T7+K1sYwPv4vk0o6\nT8qo2Yc0cZFIyWiscyjsZaXgBo+eufuYCvvbb7/d9YsrioLbb78961osrW/SpEl6md7e3l709fVh\n+vTp6OrqgiRJWLVqFaZNm2Z67ra2egiCea3lQPpLNqmjGZFw9m2or9MKSLS2NehfcL/S3t6EPzz8\nHP7nhT4su2Am2pojlR5STdHe3lTpITjikad7URfmseS8M4r6PJeedxM7mkfNrXdGRABAKBws230Z\na/e3HKiqioeffAXvmtCEhZ9+T0nnMj6vlibNfdrQGEH7OC1uy+79lRUVDQ2jn+tJ44YAAOG6kC+f\nlRXlvCemkuxPf/oTPvCBD+DAgQN5tbk5c+aUfPGRkRH885//xJe//GUAwLFjx3DVVVdhy5YtOOus\ns/T39fT0YPXq1di5cyeWLl2KyZMn484778TGjRtNzz0wECt47VhcW1hOnBgBH8jecSpp7aOvbwj1\nkWBRf1st0N7ehP7+KKLDWkDk60dOQEo2VHhUtQO7v2MFVVUxEhehKErR447FUgCAwYEYojnxMsNR\nrTrnUDRRlvsy1u5vuUiKMiRZxXAsVfLfz+b+cDQBpLMkjrw9CE6WHd3fZEoG14BR74/HtPMPnIj5\n8lkVopjvb6HNgamw/+lPf4oPfOADpj7ycgj7pqYm/PGPf9R///KXv4zrr78+S9AfPHgQHR0dmDp1\nql6ql+O4ksv2SrKWCpKvrSKv+w4pSA+A3sM6RumIviYpylBUteggLUCbUxwHBPIExrL20hSZXRps\nnhabJmdE72cvaNH4AIrqaW8WoEc+e+8wFfb//u//DgCjOt4Vy4YNG7B//34kk0nMmTMHixcvxsqV\nKwt+RlVVbNmyBT09PQCAJUuWoKurC7IsY926dSWNR5K1gJF8VguKCs6GpdvEkiTs/QwTIsUGaQHm\nvluAqqmVCzZPi02TM5IyVL6LpFvQOj2vrCiQFZV89hXG0iH9pS99Cbt377Y8ZkV3d7dlIZ7cjQXH\ncdi+fbv++4wZM7Bv3z5H1zVDlFTTxUoIUFSwkSRp9gSyN3vFBGkBKLhJoBa35SGW0FyUKUmBoqh5\nrSh2SUky+AAHgc9o9k6FvSSlMzDyxFBRbXzvsJyt8Xg863dZljE4OOjagLxCkhUE8+T6AsYa3WTG\nBzKdrkiz9zfGzV6xDVEkkxQsgOZduTA+p1JN+SlRQSit0UeKNOPrVRPJjF9RTDX7rVu3Ytu2bYhG\nozjnnHP044lEAhdffLEng3MTZsbPB3XfyqCqasaMn9YYCH+Sq9kXQ6FNdpDcZ2Uh9znVhYvPKEqJ\nsl7SVvfZO3z2Zu1tjcdEmcrluk3BCnqf//znccstt2Dt2rV6SlxjYyNaW1s9G6BbiLKCsElqnkA1\nunUkWYGSfvak2fubeKJ0YS/KKupChecdBeiVRlk1e0lBKKg9l0hQExdOzfhmTXAA8tl7iamwb2pq\nQlNTE37wgx94OR7PkGUVQiS/Zs+ThqFjXNTj5LP3NcbNXrHBX7KsQBDyp7PqZnxa+EsiW7Mvbc6m\nRBn1ES2/PqPZOztnQc0+SMLeK0yF/ac//ems3zmOw0knnYRPfOITWLFiBUKhkOuDcxNRVvLW5waM\ngUKk2RsXddLs/Y3RjVOsEBELBOgFOA58gKN5VyLGTXmpEfkpSdHN+Mxn79RaYKfTIQl79zEV9lu2\nbBl1bGBgAHv37sWGDRuwZs0aVwfmNpJkngLENgEyafZZwTgUje9vyuKzl/KnYDEEPkBm/BIZydqU\nFS/sFVWFKCkIpd2d4SJT7+z57OmZu42psH/Pe/KXWfzgBz+ISy65xLUBeYGiqpAV89Q7PkCaPYM0\ne4IRK9FnrygqFFU1tagB2kab3GelkeVuKcFnz4R0ydH4BYQ9H+DAcaTZe4HjRFme5xEIOP5YVVGo\nGQdARXWMkGZPMEr1BTPtrVAxHoEPkM++RErdlDGM1fMAgxm/jJo9x3EICgES9h7gWGo/+eSTaG5u\ndmMsnlGolz1g8Nkr9AUkzZ5glBrlLdkV9rTJLolyBFICho536SA6puEXnXpXoHIimfHdx9SM/4Uv\nfGHUsRMnTgAA7rnnHvdG5AGihWbP6z57MuNnCXvS7H1NlmafLELYS4XnHXstQZvKkshKkSzBjJ8y\n9LIHtI2YwAecC/sCRXXYcdLs3cdU2OeWtuU4DuPGjcMpp5yCYHBsd4KTLHaaVLYzg3GxkGQFoiTn\nLXtJ1D6lCpFMVLa5zz7IcximeVcSZdfsDfM9EuKdR+MXMOOz4yTs3cdU2H/kIx/xchyeYmVOpNS7\nDGyxCAUDSIkKYgkJLY0k7P1ILCmhsS6I4bhYlC9Yd59RNL5rqKqKWEJCXZhHPCmXJuylzNxnhIM8\nkkXn2edfN4ICj3gyVeQoCbuM7Ui7IhHZokPlci1hgVhtTREA5Lf3K0yIjGvSCqwUE6Bn14zPGqcQ\nzkmktDbEbL4mxOLnK+t4FzI8r0iIJ5/9GMWXwl6PxjcL0BPIjM9gJju2yJPf3p+wXvYtjWFwXHHm\nYRbwWijPPsgHoKgqFCpVXRTxJNuca/O1NDN+ts8e0KroOTfjm5fLZcdFkdZat/GlsLcK0GObAArQ\nyywWbPEYIWHvS9gmryEiFKXdAZlWp1ZmfICKrBQLe05svpYUoCfm1+wlWXWkCNkJ0NNqn9AzdxNT\nn/3BgwfBcRnN1xigx/Nj22ermxPNiupQ6p0OWyzY4hFLUuc7P8KESF1EQCQkFKUxZvLsCxfVATSr\nWjg4tteZSsDcbC0NIXBcmfLsjZp9Eel3dgL02Pv4kC/1T08wFfa33357lrAHtHK5giDge9/7Hk4/\n/XTXB+cWLFDItJ89BejpsEWdmfGpGY4/YUKkPiwgHOSLancsWWh4xteosE5xZCwwQS1yvqQAvewK\nekBxhXUsffYGYR8Z2y1XqhpTYb9v3768x3/729/itttuw3333efWmFzH0oxPFfR02A6+VdfsSdj7\nESZE6tNm/ONDCcfnYAKcL1CBk71GZvziYHXx6yNCOnK+9Gh84+YsHNJEhhP3gC7sg9bCnnAPxzaT\nOXPm6MV1xiqZAL3CZnzy2WuBWQLPoble23JTgJ4/Ye6b+rAm7FOS4jiIzsp3q73GNto094ohywIT\nEsrisw8bffZFNMMp1PXOeJw2eO7iWNgrigJljPuySbO3TzIlIxzkUR/RdvSk2fuTbPNwWrtzqDVK\ntnz2lAlTCnGjBaZMmn1uND4AR7n2Tnz2hHuYmvFfeumlUccGBgbw4IMP4oMf/KCrg3KbTFSwic+e\nut7pJFIyIiEe9eG0sCfN3pewTV5d2owPaFYftgm0g92iOtp7aeEvBl2zjwh6mpyiqghw5hssM5hm\nH8yJxgeKNOOTsK8opjP1yiuvzPqdReN/7GMfw1VXXeX6wNxEsjAr6f3sx7gFoxwkRRktDSHS7H2O\n7rMPC7p2pxXWCds+h9Wib3yNCusUh/E5McGcEmXdGuMEFo0fzqvZk7Afa5h+A5544gkvx+EpVq02\neYrG10mkZExo4xEUeAh8gDR7n2LUGHXtrmgzPuXZu0XmOQWzIueLEfa5/eyBjM/eUeqdrCDAcaaB\nmeSz9wbTb8Dg4CDuvfdevPrqqzjzzDPx9a9/HZFIxMuxuYZsYU4kn72GJCtZ+c71EYE0e58Sz9IY\nS/XZFxL2NPdKgaVE1oX5TE68KKOliHMl9Tx7YzR+cXn2ha05vP4+wj1Mn8DNN9+MI0eO4JOf/CT+\n8pe/4I477vByXK6SCdArnGcv+3zBYROaaQj1YQHxIvKribGP7rNP59kDzuvjW9W30F6jPPtSiCUk\nREI8+ECgKJO7kby18YOZeA27SJbCnp65F5g+gZdffhl33XUXOjs7ce+99+JPf/pTSRfatGkT5s6d\ni9mzZ2cd3717Ny6++GIsXLgQS5cuxYsvvggAOHz4MBYtWoT58+fj0KFDAABJkrB8+XIkk8mSxmLV\n4pZPl8sVfW7GZ33F2aLBNHtV9fd98SOxhIRwUHPlRMLFCRHJIgvG+BqZdIsjlpT0+Jpi3S0MUZTB\nIdsSw/Lsnfrs7Qh70uzdxfQJBINBvYJeKFR6WaN58+bhwQcfHHX84osvxs9//nM89NBD+PrXv47b\nb78dALBnzx6sWbMGW7duxfbt2wFoG4MFCxYgHLYfFJQPK3Mix3EQeM73mj1rqsF28/VhAZKs0qT0\nIbGkmBEiRfhtgcxiTtH47hFLSHrmTLgILdxIUlIQCvJZlVTDxUTjy4pl8yMgk+pHuIOpz/6NN97A\nqlWrdC3uzTff1H/nOA533XWXowvNmjUr7/HGxkb951gshra2NgDaZiMejyMWiyEYDCIajeLAgQPY\ntm2bo+vmwypAD9CC9PweoMfMtEbNHtC0hxDVLfcVsYSE1kZtk+2Nz97fc68YFFVFPCmhPtwAoPjn\nxEiJ8iiNvK7IPHu2AckHafbeYPoEbrzxxqzf586dq/+cWzO/VB544AHcd999iMfj2L17NwCgs7MT\n3d3dEEUR69evx+bNm7FixYqyXE+y6GcPaJ3vqqURjqwo4DiuqFzZUkgks1NvjLn2bOEnah9VVRFL\nSpg0ngmRYn329ovq0MLvnERShgotEh9A0bEVjJSoIJxT4raYAL2UJFed60ZRVUAFAiZtzmsRU2G/\naNEizwbR2dmJzs5OPPLII7jxxhuxa9cuTJo0Cbt27QIA9Pb2oq+vD9OnT0dXVxckScKqVaswbdq0\noq5nd9GpBu1ClGRct+VpfPSsiVj8qdM8vXY8vUgwDYEtIhSR7y8SKRmqmtnsFbPgA4AosQA9a5Ou\n311oxaCXNM7x2RcboCdKMhrqglnHnHa9U1XV0mcfqoBmf+9Df8NANIk1l4/tAnFOMBX2L7/8Ml55\n5RV85jOfAQDceuutGB4eBgBcfvnlOPPMM8s+mAsuuABr164ddbynpwerV6/Gzp07sXTpUkyePBl3\n3nknNm7caHqutrZ6CEJ+UzM73tHejPa2urzvCYV4qADa25uc/yFl5MixYZwYTuG1/hHPx/LCG4MA\ngPHj6tHe3oT2kzTNLhgOVvy+1Apj4T72D8QBAONa6tDe3oRkeg/M8QFH4+fTi3pHRzPGNedP4z3p\nnRgAIBQpz3dsLNzfchFNacLypDZtvk5I30shJBR1H0RZQV2e5yDwAbC2CFbnlWQFqgo01Jk/z/bh\nFAAgWOQ4i+H1/hH0D8QwblyDXlelGinn/TAV9nfddRe+8IUv6L//7ne/w+WXX46RkRH84Ac/wKZN\nm8oygN7eXpxyyikAgAMHDoxqnXvw4EF0dHRg6tSpSCS0Tlscx+k/mzEwEDN9bXhEi+YfGowBUn4t\nlQOQSkno74/a/VNc4ZXXtaZDx07EPR9LPG3GF5PafVDTATRvHR1C//h6T8dSi7S3N1X8+2WHN45q\nm/wAVPT3RxEb1ubPiaGEo/GPxLRFffBEDHIyfwrnSPrcgw7PnY+xcn/LxZtvaZtzTlHQ3x9FIn2/\n3xmIOb4PqqoikZIR4DDqs+FgAMPpc1udlwX5qopq+t6RYW0tL8czt8vwSAqqChx+7XjVuiSL+f4W\n2hyYCvve3l7MmTNH/72urg6dnZ0AgMsuu8zRAABgw4YN2L9/P5LJJObMmYPFixdj5cqVuP/++/H0\n009DEASMGzcOt912m/4ZVVWxZcsW9PT0AACWLFmCrq4uyLKMdevWOR4Dw26N7mqoFjc0kkr/X1q6\nYTGYBehRT3t/YayeBxh89g7dOVbdz4yvUTS+c4wd74DSzPiyokJVszveMSIh3rYZ31anQ48r6LFA\nRgAYHE5VrbAvN6bCXpazH6bRZD40NOT4Qt3d3eju7h51/KabbjL9DMdxetodAMyYMQP79u1zfO1c\nMl/AAj77AFcVtfEH08I+npSRFOWsOtVuMyrPPkz18f1Ipt56duCX05QuvXJloXmXfo0C9JzDnlNd\n7qasiNS7lF49b/R6Ew4JuhJihZSnME8uXkfjs0BGABgcSQLwh6vH9AlIkqT76AHgtNO04LDh4WGI\n4tiuosaCfwr5aqol9W7QMKnsTrBykZtnzxaRarB4EN6RG/gVCHAIBQOIOw3QkxVwHExrpAOUZ18K\nGc0+vSkrogAOI5mn4x3DkWZvq/mRtr54VUEvZnAhDQ57u6ZWEtMncOGFF+LGG29ENJrxGUSjUdx0\n00244IILPBmcW4iyAj5QOJVN4LmqWHCM5vtBj4U9m9Ck2fsbYyc1RiQkOK+gJxUurgKQGb8UWF38\nhpziR8UU1RHz9LJnhIO83jfD+jzMdWNukfRaszcqK16vqZXEdOatWLECoVAI5557LhYuXIiFCxfi\n3HPPhSAI+MY3vuHlGMuOJKkF/fWApmGoKqAoldXujTtPr3ehoyrosdQ70ux9hbGXPUPT7pzn2VtF\nPvM8M+NX3qo21tA3ZennFAwGwKG4ojqsl304T0aTk5iNavTZ+1XYm/rsg8EgNm7ciFdffRXPP/88\nAGDmzJlF57ZXE5KsFMyxBzKLjiQrCAUqVy0u24zvbZDeqAC9dE100uz9RV7NPsg7diuJslqwCQ5A\nmn0p5AboBTgOoRBfnBk/rdkHg6OFNFsPWLZOIfQSyQWL6ngbp2FcvwaHvQ98rhSWTY6nTZtWEwLe\niCgrBb98QPaiU8nSsEZh77kZP5nd9S4o8AgK1ZGlQHhHbjQ+oH0nkilZL59tB0mynnfsdRL2zsnV\n7AFtU1ZMBT1RNA+sixgq80UsUtTt+Oz5QAB8gCMzvstUbzUBF5FlBUKBICEgE7xXySA9VVUxNJJC\nXVqjrkSAXoDjslwe9WHqae834nk0+3BIgIqMudcOmkXN2n2mvZfM+E6JJSVwACJZz4kvLhpfyi6V\nbSSj2dsw41t0GGUIQqAymj0J+9pGlFVrDcNgxq8UIwkJsqLi5Alaaoj3AXoSwqHsrlf1EUEPBCL8\nwUj6edeFszV7wFlal2TR/QwgM34pxBISImEhK/A4EizOjJ8qGI3PGuyUx2cPaM/dq653xvWLovFr\nHC0quLDpkWn+UgUD9JhwnziuHgLPVcSMzxZ1Rn1YQCxBPe39RCyZ6WXPKKYZjmhDsw+ks2Son71z\n4klxVHe5sMHd4oRkoTx7Zsa35bNP+/6thL2Xmn3aUtXSGEJSlItuFDTW8Kewt2VO1DYDlWzIMZQO\nHmltDKG5IeR9NH5KGmXGq4sIkBUVKSp64htiCSnLDwwYmuHYWPAZkqQWLKjDEATOs5zrWmIkIelp\nd4xwuseH0/nKBG8oT4BepBgzvoWwDwkB76Lx0+OeNE4r+e0XU74vhb2dAL1q8NmzL2FLQwgtDSEM\njqQ81agTSUlf1BnGNreEP4gnRwt7Zsq1m8OtKCoUVbU04wOaSZfM+M6QFQWJlDz6ObFce4emfL2C\nXp7UOyc++5RNn31QCHhXVCe9dk1KN/byiynfd8JeSdd8Fiz6GFeDz54F5DU3hNHSEIYkK7YmWDlQ\n0o0wIjmaPbW59RdKupd9rnnYqRk/01baeskR+ABECtBzBEuDqxv1nNL+dYdBeslCmn3Q/rOXbGr2\nnprx04GME0mzr22Yqcg6QI/11a4Ozb65IZR1zG3Yzt5Ms6dmOP4gmdPLnhFx2NPeqbAnM74z8qVH\nApn561Sz1yvoFdTs7efZ2wnQEyXFE8slC2RsbdIa4Pgl1953wp4tOlZmJT5Qec2eCfbmRs2MD3iX\nfscWh1EBeqw+vkmLUqK2yJe7DTgX9qLeadKGz75KSlWPJeI5zYoYxXa+0yvoFUi9K1cFPfa6Cq3b\nntvEkiIaIoK+ppJmX6MwjcF2vm8FO9/pmn19CC2N3n4xmdkvd7KTz95f5DZXYYSDLP3KpmZvo5Ia\nQxDIZ+8Ulk42SrNnJnfR2Xxllr1CqXdxO6l3ts34fNb73SSW0NxSJOxrHNGmObEainsMDqcQCfEI\nh/jMF9OjYJJkysSMr2v2JOz9ABMidbmafZhpjO747KmojjNGTCwwxZrxU3Z89o6i8QtXIRU8aoZj\nDGTUFSgK0KtN2CJSqJc9kKmNX9HUu1hKF/ItDWn/kleavZkZnzR7X5Fbb52RCdKya8a35z5j7yHN\n3hnlek6Mwv3s7Z/Tic/e+H63MAYyRkICwkE+3dO+9vGhsLfuZQ8YK3lVRsNQFBXRWEoPzGtu0Myo\nXn0x9fa2efLsAdLs/YKlz95mlLczzZ6DnE7VI+xh9pycCGYjumZv0s8esBeka3eTp7e5dXmTlxvI\nyFKa/YBvhb1lgF6FU++isRRUFbpm73U0PsufZv45Bmn2/sJUY2QpXTaL6kjplrX2iuqkN9oUkW8b\n8+dUXE/7Qnn2Aq81rimvz94jzT69bjWkU4ibG0MYGklVvJW5F/hP2LNFx7bPvjILTibtTjPfR0IC\nwiEeQx75l/T2tpRn72vilhqjM5+9XTO+8TOENZnnlBtIWbxmL/ABBEzqkURCvEOffXUIe9bngW2K\nWhtCUFUgGq/97CLfCftMgJ5VUZ3KmvGNaXcML01Opql3YWbCq/3JQZjnbzvVGJ0G6AGgwjoOYKmw\nZhaYYiro5TPhM8IhHnFbPvt0VL9Nt6nocjMcZpGs0834/sm1952wl2zmfbIKe5UK0BsyFNRhtDSE\nEI2JnpickiZFdfSe9qTZ+4JYnva2gCaQBZ5zHKDnRNiTGd8+ltH4TlPvJCVvJD4jEhJs59nzAc7U\nQsDwSrPPdXcwZcrr9uGVwLfCnrfbz75Cvhxds88R9oqqYtgDk5NZgB6Q6XxH1D4ZzT446rVISHBQ\nQY9lwdgw4wuVL2g11oglJXDcaEuc0+JHjJQo543EZ4SD9s34dp55yCthn7Mpak2vryd8kH7nQ2Fv\nb9GpdG18lvuZrdl7l35nZsYH0j3tSbP3BXqefXj09yAS4u3n2UssC8Y6QI/Xzfgk7O0STxeK4bjs\n+xsuuhGOkjc4jxEJ8UhJCmSLomN2hb3n0fhpzT5TrIzM+DVHpoJetfvstS+fUdg3e/jFTJiY8QHq\nae8nYunOh/ksYeEQ71qePVDZvhRjjViezoSAQdg7jcaX5IJmfLubCLvC3quiOmzzyqLxva5fUkl8\nJ+zt+g4rXVRnyMSMD3hT8UnX7POY8qinvX9gpUXzEXEg7IsL0KPvl1205zTa1RIIcAgFA47M+Iqi\nQpLVggF6dt0DoqTY2+B57bNPb4yaPe45Ukl8J+ztB+hVWrNPobEumLU4evnFNAvQAzK7YvLb1z75\netkzIkEesqLaWqDt9qTQ3sNlfYYojCQrSIqje9kzIkHekWafYh3vCvnsbWZj2Dbj897Uxtej8VmA\nXkMQHMhnX1Y2bdqEuXPnYvbs2VnHd+zYgQsvvBDz58/HFVdcgSNHjgAADh8+jEWLFmH+/Pk4dOgQ\nAECSJCxfvhzJZPFmbCa8rQL09AWnQo1whkZSWVo9AE8bN7Ade74JrxfWIb99TWPWy56hF9axU1xF\n34CgZi0AACAASURBVGRb++yZcKAAPXuYpUcynLhbgEzHu7Jo9nL1+eyNgYx8IICm+iCZ8cvJvHnz\n8OCDD446PnPmTOzbtw8/+9nP8LnPfQ533HEHAGDPnj1Ys2YNtm7diu3btwMAdu/ejQULFiAcDhc9\nDsnmopPpZ+/9giNKCkYSUpa/HvBW2CdTMiIhHgFu9H1iiwr1tK9tzHrZM5y0T5Vke8WsjO8hM749\n4ibpkYxwUHAUoGdLs7fhs1dVterM+PkCGZsbwhiiAL3yMWvWLLS3t486/pGPfEQX3u973/vw9ttv\nAwCCwSDi8ThisRiCwSCi0SgOHDiAhQsXljQOu+bETLlc7834+XLsAUPJXA8KQCREGRGTxSOj2VNh\nnVrGrN46w0nd9WJ89tT5zh5Wmj2LrbAbUKtr9gWEvW7VKWDGd5Zu6Z3PPvc+tTSGEE/KjoMYxxpV\n5bP/yU9+gjlz5gAAOjs7sWXLFtxwww248sorsXnzZqxYsaLka9gN0Ktkyc58OfaANubGuiCGYu4L\n2WRKQl0o/+KhN8OpQc3+6Ik4/nr4nUoPoyow62XPsLPgM+zGyhjfQz57e5gVPmKEQzwUVbW9luma\nvUUFPaCwZm+3vS3gXde7kYQ4qmZEaxkspiMJEc+8eLSqM5TyfzsqwMMPP4znn38eN9xwAwBg0qRJ\n2LVrFwCgt7cXfX19mD59Orq6uiBJElatWoVp06aZnq+trR5Cni9ZML1AtY9vRHt7k+nnI+mUDF7g\nC77PDV45OgIAmDyhadS1x7VEMDCUcH1MKUlBW3P+v31i+lggKHh+b9zm+w8/hz+92IcdN5+Hk1rq\nXL9eNd+/viHNgjR+XH3ecY5r0+5PuC5k+XcEg/bmHQC0tdYDACL11ue1oprvb7kQjgwBACaY3Nvm\nRm0ta2iqQ0ujtQv0aFQTeq0tdab3r/2kBgBAMGy+BgxEEwCAxgbr55hIy3gh6N56K0oKUqKC1qZw\n1jUmtjcCAAJC8evZY4++gD2//gc2fuuTOP2UcWUZL1De729VCPunnnoK//mf/4n7778fweBoLaKn\npwerV6/Gzp07sXTpUkyePBl33nknNm7caHrOgYFY3uPRtAk8OhRHf7/5n8+CjkZiKfT3R538OSXz\n2pETAAAe6qhrN4QFvBYTceStQVtaUjGoqop4UkIkJOT926WUZlk4emzY83vjJqqq4h+9x6GqwLPP\nv433nTbe1eu1tzdV9f070qcJEVVW8o5TTmv0fUej6B9XeGM0ZJx3BfK3ASAe0947cCJW0v2p9vtb\nLt4+qv2Niijn/Xu5tLZ55K1BpFqtN7BHj2nnkFKS6f1LpfPVj70zYvqeY4NxbVwm3x8j0SHtvUPD\nCdee2VBM28QIAS7rGsF0Kd/eNwcwvjG/FcuK3rcGAQAv9R7HuPrizpFLMd/fQpuDipvxn3/+eaxd\nuxZbtmzBuHGjd0QHDx5ER0cHpk6dikRC2ylyHKf/7BTbqXcVDNDTO941hka9xvz40Zh7QXqipEBV\nM+kpuTCzbq1F4w+OpHQXyWt9tS8krLDy2TtphlOUz57M+Law+5zsuFsAe9H4YRvntNvxzvgeN834\nZoGMLWUomXsiqm1QvaiBUiyeafYbNmzA/v37kUwmMWfOHCxevBgrV67EHXfcgXg8jm9961sAgMmT\nJ+P73/8+AE3T2rJlC3p6egAAS5YsQVdXF2RZxrp164oah+0AvUDlAvRy29saMfa1H9ccceX6bAJH\n8pRIBTKLSqzGOt+91jec+fnocIF3+gMrX3Am9c4lYe+DHuPlwE7qHWC/ZK6daHw7mRi6sK+SaHyz\n+9TaWLrPfiAt5Ks5hc8zYd/d3Y3u7u5Rx3fs2GH6GY7j9LQ7AJgxYwb27dtX0jjsBuhxHAc+wFUk\nz94sGh8w1HJ2cQeZqYtvEY1fYwF6Rm2eNPvM4thgpTHaybN3ouVRUR1HWG7KgkVq9oW63tk4p+gk\nKNODAD29l31OgF6mWFlxWU6qqmY0+ypO4au4Gd9rnKSDCHygYpo9xwGNdaN9P5lce/e+VEzYm5nx\n62q0qA7T5jvG1aP/RKLmNjNOyZiH8/sgWa61Pc2e5dlbF9URPCqwUisU6kwIAGGHPe1TIovGt1FB\nr8A5pSoz45ttijI97YtToBKpTNpeNWv2PhT29hrhsPdUwmc/NJxCc30obw9oLxo36Gb8PKVyAW1i\nhoRAzQnD1/qiaIgImJ0OzHv9qL+1e1ZHoc5Ss3crz56EvR2s3S1Ozfg2NHsbGwgn1hyO4yDwAVc3\neGZm/Lowj5AQwIki19SBaEbxqmafvY+FvfWfzldQs89nwgcymr2b9fGtNHtAEwC1pNnHkxKODsRx\n8oRGTO3QUnGMPnw/YilEwvY1RlFWwCETC1MIvcaFRD57O8SSIvh0w5t8hB2b8W1o9kFrF44Tnz2g\nbQoqEaDHcRyaG0JFr6knDEXOSLOvIvS+2jYWHYHnPNcuEikJSVHW29nm0lyGYBLrMbAAPXNhz9rc\n1gpv9GuCfWpHE07u0NJXXvO5Zh9PsqYh+Rf9iI0FnyHLCgQhMKrfej7IjO+MWEJCXZ5e9gznAXrW\nFfQEXotpKpfPnr2vEgF6gBYLNTSSglJEURyjsI/GUlCqNLDUd8JelFUIvM1FJxCA7PGDKxScB2h+\n/ADHuSrsk6I2KcwC9ABtwsSTtdPTnmnxUzsaMWlcPUJCgDT7hISISS97wFlKlyiptqxpgKEJFQl7\nW8QSkmkQJeBsUwYYNXvz58VxHCLhwjX3WaCfYFfY8y4L+wKWqpaGMGRFxUjceYYRM+OHQzxU1d20\n6FLwnbCXZMVW5y1Aq4/v9YJjViqXEeA4NDUEMeRBNL6ZRgdoufayouoTeqzDou+ndjQhEOAwpb0R\nR46N+Frg5KsjbiQoBMBx9n32QRtxMkBlS1WPRayek5MeBoA9nz2gufkKnbMozd7FZ24WjQ+UluXE\n8vNPmdCY9Xu14Uthb1/D8N5nz75s+XLsGS0NIU8C9Ar57PVc+xrx2792dBgCH8DEcVqp1lM6GiEr\nKt7sH6nwyCpHLGHe3hZIa3chAYmkPWHP25x3vEd10msBUZIhSkrB5+Sk+BFg0OwLmPEBTRkodM6M\nz966Nj5QYTN+CfXxWdrdKRObiz6HF5CwL4Am7Cuj2ZuZ8bXXwkiKsm2znFOSNn32QG0U1pFkBW/2\nD2NKe4P+3ZjK/PY+zbdX0iWTCwkRQBMkzO1TCFG21+oUyGj2XrvQxiKx9EarziTtDrDXjtaInQp6\ngObmKxyNr71WLT77eELSAhnzjKeUlOYTw0nwAQ7vam8o+hxe4ENhr9pKuwMqE6BnT9i7G6THTHNm\nXe+A2tLs334nBklWcUo6Ch8ATmYR+T6tpJdIylBhnrvNYO1TrZAkxbbvVki72Uizt4Zttgtr9vYr\nHQIZIW2t2QtISYppQJqT1DtA2+RJsuJaHBBzd+SL1yol135gOImWxhBam0rL13cb3wl7UXKm2asq\nPI2uHCpQF5/hdhW9pEW5XKC2quixqPuTJ2SaSLyrvREc51/NXs+xt6PZ2yyqY3eTzQe0WADy2Vtj\nVRcfAMIhbb2za8ZPSgoC6QqihbDaRBTjswfce+6F3FItRWY5KaqKweEU2hrDrithpeI7YS85MCfy\nFYgKHrII0DO+5lauvd08e6A2NHtjJD4jHOQxcVw9Xj86XFQ6zljHjhABtPuUkhTIFmWlncw7IKPl\nEYWxKmkMaJunoBCwH6AnyggFrTOWmDJgtolgmr2VO4DhdhW9kYRkaqkqVlBHYyJkRUVrY1hvH0zC\nvkqQZAfmxADbaXq32A+OJCHwXEGznFdm/IKpd7Wk2fdFwUHT5o2c0tGEREpG/4l4ZQZWQViOvbXP\n3rqwjqKqkBX7qXeAZlUTqaiOJVaFjxjhYOFgOiOipNgS0EwZMIsdclIu1/i+lAvCXpRkSLJiunnV\nG4wNO/O3s+C81qYwmuqC4LhMO+dqw1fCXlVVzZxoo6AOYMj39bAZDqueV2hX7bawT1qUywVqx2ev\nqipe6xvGhLa6UZaMTJCe//z2djV7pt0V0hr1TpM2F332XtLsrWHzz6ykMUNzt9jPs7fy1wMZYW+l\n2TsNzHRDs7faFAl8AI11Qcdr6kBasLc2auXNm+tDRZfddRtfCXsW3Wtbs9d72nujYaiqiqGRFJoL\npN0BpXdpsiKRkhEUAgVTpVhP+/gY1+zfGUoglpR0wW5ED9Lzod8+Zlezt9EMR28+5ciM731w7Fgk\nE6BXOJAybDOQEgCSomJL2FtZdRz77NPXdEXYW7QBBjS/vdM4KFY9ry0dnOd2WnQp+ErYsy+RXXOi\n1z77WFKCJKsFI/GB0rs0WZEUZT1dx4yMZj+2U+9ez+OvZ0yd4N8a+bY1+1Bh7Q5w1nyK4XZTlFrB\njhADtE2Z7Tx7SbYloOssrDrFROMbP1dO7Lg7WhpCiCUlPRvBDroZP+2vb2kMI5lyLy26FHwl7Nmi\nY1fD8Lr7FhPehYLzAG2SBYWAe2b8lFTQhA/Ujs++t290JD6jqT6EtqawL2vk29Xs9epsBdw5urB3\nasan1DtLbPvsQzwkWbVcy1RVhSgqCNt4VhG7ZnynAXourLe2NPsi3KP5NHvA3UZlxeIzYe/QjB/w\n1oxvJ8ce0CqXuWkuSqRkfRE3o1Z62r+ezqM/JY9mrx1vwuBwqmpNc25h1cueYafNLVu8BZMa+/kQ\nApXpODnWYM+pUDQ+YOxSV1hrlWQFKqxz7AEbqXcOLaluRuMXKpXLKMZiOhDV3pvR7LW1uxpL5vpM\n2LNFx35tfMC7AD1WealQjj2jpaH4Lk1WJEVZ98WaUSs97V/rG0ZzQ0hPm8nl5LQp/3Wf+e2tetkz\n7DTDKS5Aj3z2drBtxrfZ+S4p2tfGLc346WqldpqOGa/phrA3a29rpJhc+xPDSYRDvK78uJ0WXQr+\nFPYOA/S80jCGhu1p9oD2pZIVtezCVpIVSLJqqdkDY7+n/XBcxDtDCd03nw8WuNfrN2HvwDwM2AvQ\nc+KzD/Jax0k/1jhwQiwhQeADCBboPQ8AYaaFW/jtmaC1itkBDNH4Jv5pUVJsm/ABl332LpnxB6JJ\nXasHMhp+NVoCfSXsnZqV2OIke+Wzj9nz2QNwrYAD87/Zmexjvac9M+Hni8RnnNLhzyA9q172DDt5\n9qLDWBnAmAlD2n0hrDreMexq9pkmOPZ99mYbCMfCXvfZ2w+Qs4vdAD3Afq69KCkYjotoM1hi2TlO\nVGGuva+EvdMUILbgeBUV7Eizrw+mP1PeL5XeBMeGZj/We9q/rre1NdfsT2qJoD4s+K5GvlUve0ad\nrtkXCNBzuMk2vpcK6xQmnhAtrS9AJkXSKteebfatLAVApneGaeqdJDtLt3TRjG8v9c6ZAsU2Bawm\nPuB+DZRS8JmwZ2Z8u0V1vDXjW/WyN+KWZs/MseEC1fMYDZGx3dO+t89as+c4DlM7GnH0eKwq02nc\nwq7GaM+MX1w0vvGzxGhUVU2XgHXwnGya8Z1o9ubCvjjN3o0sjBEbAadOe46wILw2gxmfnYN89hUm\nk+/rLM/eMzP+SArhEF+wTC3DrR2kXj3PphkfGLsR+a8fjSIc5DGhta7g+06e0AQVwBtH/dPb3qqX\nPcNOR7VizPjBCvSlGGtoPQlUR8Lerhk/bEOzt8rEEOXq8dnH9eJDhZt7CTxne009MZydYw9o8yEc\n5Kuy8x0J+wJUQrO3Y8IH3BP2Gc3eXoAeMDZ72ouSjCPHYnjXhAYELLIzmJnfL0F6ei97i7Q7wJjS\nZb7hk4sI0PPahTYWsRtECRgqHVpo9klds7cfoFd+n707ZvygUDiQMZPSbM81OhDNzrFntDSEcKIK\ne9r7Stgz/59tYR/wTrtQFBXRWMqWCR8wBpOUWbNPOQvQAzImsrHEm8dGoKhqQRM+4xS9Rr4/hH0i\nKWm97G1p9tYao1iKGZ8K65iS8UPb2JTZ1OydFMIJCgEEOC7vOZV0H5Kq8dnbtFS1NIYxOJyyFYeU\nT7MHgObGEKIjoqet0e3gK2GfqaDnzGcve/DQonERqmovOA9wrz5+QtQWELsBesDYNOPrbW0LpN0x\nJp5UD4EP+CZIz26pXMCmz95hQxTje6mwjjl2cscZmQC98kXjcxyHiEnNff2Z2zgPg23w3Oh6ZzcG\npSWd0mxHgTE2wTHS2hCCoqoYjleXxdMzYb9p0ybMnTsXs2fPzjr+zDPP4JJLLsFZZ52Fxx57TD9+\n+PBhLFq0CPPnz8ehQ4cAAJIkYfny5UgmixNwxfrsvdDsWWSnXWEfCmqFHMrus3dgxmeLzFhshvOa\nHolvrdkLfABT2hvwZv+wL3zIdkvlAkCA4xAOFm6ywu4Z78CM73VfirEIK3xkb1NmL88+5SD1Vjsv\nj6Q4ev4XE6cREtxphKOqqn3N3oF7lNXFzy3IxSrxVVv6nWfCft68eXjwwQdHHZ88eTJuv/12XHTR\nRVnH9+7dizVr1mDr1q3Yvn07AGD37t1YsGABwuHCXeHMqOaiOkM2S+UacaNkrp56Z8eMnzYfjknN\n/ugwAhyHKeMbbL1/6oRGSLKKt9+JuTyyyuNEswc0K1AhISIW1fWOovGtcOKzt2vGd1JBD2Ctc0ef\n02ldfON7yy3sUyILZLR2dzjpaz8wnEJjXXDU39hcpRH5ngn7WbNmob29fdTxKVOm4PTTT0cgJ59X\nEATE43HEYjEEg0FEo1EcOHAACxcuLHoMmUpe1VdUR6+Lb1K2NR/NDSEMx0TIZSznyxZtJ5r9WAvQ\nU1QVrx8dxqST6m0FIgH+qqTnRLMHWPtUG41wismzJ2FvyoiDTVnERiAlAL3jm915EQ7m3+gVJexd\nisa3W1IYcFYB78RwclRwHlC9ufb2ZnMF6OzsRHd3N0RRxPr167F582asWLHC9udv3vbfo44NxzSh\nZDcqmLfQLh76/WGEgjwuOOcU2+Myg+0Cm+udafYqgKERMe+XLh8HX+jDXw+/g+WfPzNvFLojM356\n8vzqf97AwRePjnp94rh6rFhwlmVhFsafXzqGp597G1+5cKbtReL4UAL3PfoiLvvsezBxXL2tz/QP\nxJFMyQWL6eTC3vvgb17CLw++ZvtzADD37CmY94F3OfpMPnrfjuKHv3zRdQHINEaruviMSIgvqMUU\nVRs/Pfd++OiLej63UwQ+YMsywIHDRR87BR8+s8P2uR888BL+8vI7pte9/HOn49RJzbbOpagq/vPh\n53DkHWepndGYEzO+vUY4zF9uJ/UO0J59SlRGrbe6z97mebT3MmHvrILejx//Jya01eHT788/x2J6\n2p0DM75F4HM8KSGZkkcF5wEZH34pwv7xP72BJ//6Vt7vb4DjMP/jp+IDp49WngtRtcJ+0qRJ2LVr\nFwCgt7cXfX19mD59Orq6uiBJElatWoVp06aZfn5wJIV8In3SSQ04+8yJaG+zFgzjhzRTTigSRHt7\ntm9XlGTsf7oXoSCPL194lmX6lhUn0hP33aeeNOpaZkyd1IxnXjyKpArbn/nNj57F318bwJc+d6Ye\nZW6ESy+ykzq0harQeRuaIpg2qRnvDMZHLfbJlIw3+0cQl4FTbfjFAeD3D/0N//viUSz69Htw1vST\nbH3myef68LdXjuMvrwzgX063t1j//cgQAODM6eNt37eW1nq8++TDePudEUfmuZG4iCeefROXnn9m\n3tftXh8Afv7H1/Dq21E0RISSv29WTGirw4feO9nW+Joawnj96DDGj2/M2/QkljYNnzKl1fbf+6F/\nmfT/t3emQW5UZ7//t9ZZpPGs0niRxtiAsWMGsyQECmMnFNzAjQkEcEIBeSFAwQ2QBBIMBCqQqrxw\n8XWBSQIxRaDCXtiYNaRis9ik7g3EpgCbxWBnxh5p7BlpFs2MltHe90PrtFpSr5Ja6hmf3yd7pJZa\nT5/u5zw73vt4EIlUBsm0vhZSOJbC//s8gP959rGq3p9KZ/H2bj9YtlTRZnPJXZ/2j+NbvfNVfZ5v\neAq7vwrCajGpSowVMr+rGScvnVvQxU2M1pzyZcHIXgNzTjm7uhyqrtWZJ83H4dGY6D3R6rDj9BPn\nqr7mrW1ZWMwMwtNp1cdMRhLYvtuPrrZG/Oh/iN9jIznF3dnepPi5x+XW6uR0Sva9pPvmXBE59SS4\nzUoyw2q6v4W8+/EgguMxNDeWhh7CsRQ++DKA7521SNNnGkrZS01H2rhxI2699VY888wz+NGPfoR5\n8+bhoYcewoYNGyQ/6w8/Xyn9RekMRkaU3bGRcBwAMBWOl7x/YDiMTJarR973nyBcKjYPchzwhWAx\nM7AzrKpzA4AOJ7eD/OzrILpblC37bJbFwaFJAMCerwJoEukkODHF/eZYJA6gRfFcfvtfp4n+/b2P\nB/Hc9v3Y81UADpUZuX3+CQDA3q8DcDnVeTi+7BsFAHx1cEy13D4/MAIA6Gi2qj4GAO664hTV7yX8\nnxc/wb6BEHyDIb4umdDV5dT0/V8f4izJB288U3U8vVLUnJ+ZAVgWGDwyIdoQ6uuBcVjMDBpM6j4P\nADqarFj/v87UfL5C1Mr3rsc/QN/gBILBKVUT2nyBMNIZFqtWzMN/fe+EgtcSyQx+9tD7+FrDevz0\nqwAA4NLVi3HuaR5VxwhJxZMYiStviCxmBuFoQva8JnPPvGik9JlXTFeXE2d9w42zviG/ydayxud1\nNOPgkUkEAlOqNrRfHhrnviM0jYO+cThElOORYW5zj0xW8VwaTJyc9g+My76338d9b4OFKXlfNhcq\nGR6NaPrthFg8jeGxGFYc14WfX3Jiyeu3P/Yv/McfEl2vcpsLw5TesSwrWtu4a9cuuN1ueL1exOPc\nQmQYhv+3nuSHcZSely+Yv4iVDknJZLMYHIliXmezprim18VdWL/KkrBAKMa3thWev5B8b/zKlInW\nc5uMJHi3l5YSNxJDl/o9YpDr5VHpcagE4v5XKwcpWJaFLxBBV2tDzRS9WuRq7dOZLA6PRDG/06Fp\nbdcSr9uJWCKNsUl1z5QBmUoOu82M7o4m+IIR1RP7SGWImKetmkjF14VozcavNh63A8l0FsPj6hJh\nhc9eqT4YWsJSFrMJ8zqbMTgSlc2FmhDpi09oabaCQfk9UPy5Z9mi+XNEX/e6HZiKpTSHCWp2961f\nvx6rVq1CIpHAqlWr8Kc//QkAsHfvXqxatQrbtm3Db3/7W6xZs4Y/hmVZbNq0CT/72c8AAGvXrsX9\n99+PG2+8Eddee63u50xi+2Ix0oJFVuGDfHh8GulMlleQanG3N8JqMalWdEKFI7VBiVfpZl/gagYD\n9Y1ofEHlm7aYeDLNZ8ePTyVU17X6AmF0tNhFrYBqQxRCpcp+IpJEZDqleY3UgnwXvVJFMjwW49a2\nhvyIWpPvkKjuGvn5mQriv8nrdiKezGB0YlrV5/GbTxU9HypBKnNeCDEG1CboVRuyvtU+09QYXSRB\nr1lFNj7AXb9UOitbeUO654nF7M0mE5xN1rJj9uR3SCn7cpt81cxEWLduHdatW1fy997eXrz//vui\nxzAMw5fdAcDixYvxyiuv6HaOxciN2fQHwmAAsKi8sxqJ/2i92c0mExZ0NcMf5Oq/lSwn4c3gD0bA\nsmyJGyiRzMBsYjS1NhWjwWaBq71J8ntKz42TAQPgyGhU1e8ZDEbBgktYybIs/IEwli5slz2GeBBW\nHNup5eeUDWnaU2kWP5GPx4BKU64/PnkYq+lnUC+ED081SU++QBgMAyzoklL2Dvz7ywB8gYhieI/z\n2IThamssCfNUG7vNophvkiwji76aeAUjpb+9TPn9/kAk/xyW2CBoSdAD8vesLxjBfIlrLDYER0hL\nsx1jU+o2e8X4FC17UhkUQe9i9c8xY/rVDEK+sUehOy7LsvAFI5jb2Yw2p71iqy0/V137g9zjciKd\nYTGkov6bfM8STysi0yl+dyoknszAbjWril0q4XU5EI2nMTal7B4lG5FlC9tU/x6iQHsXd+T+r3wd\nfBXIuhy6O5pgtZh4a7Bc+PM2oGXfIDPm1qdgBRsBjwZLidz73e1Nkt4vLWWa41MJROPpmmyG7FYz\nP+hKiiQ/4rY+qsFDwn8qZJdMZTA0FsOi+S2w28yKlr3a8JdXxXogDXWkEiPnOGyYTmQU5S2GLxCB\nzWrCPJnNpNL5iUGVvQwWidK70ck44skMvC4HPC4HQuEEpmLlZwyTB/mCMtx4+Ziw8oX3BcNob7Fj\n6cK23DGlN0cilVZVdqfp3FQq4Sa7BSuO4ywrNQt5YJh7z1m9c7nvUSMDDZ3zqgHxvhweraz7np8/\nb+MpTbnpZ76cB0zKCjYCc5ptmOOwqQrHjUxMI57MyMbXectQzbon11VnFz7AXadUOisbi06mM7Dl\net7Xg6YGC7paG+DLeQTlIPMtFrpb4HE5MDQW5TcrQrQ0HwLyHla56zcRScBsYuBsEg8NtDaX11gn\nlc7iyGgUni4HzBIJim1OLgRJlX0VkUrQ8w3nXapaFJoU/mAEHS0NqmNKQvgYl8L3T0WTmIwk4ely\nCOJiIso+mdFc/iOFR+Z7hMSTaQTHY/C6HfxDVI23ZCAQhs1iQu/iDm5nr+KYeliaWrwvUviCETQ3\nWFT3U6glfIJe0YOWJBXWwkVdKT1up6pNe379SCt7Z5MNbU67ug1rDTefdr4/vpyy1zapTg+8LifC\nsRTvKpdCGNrqcTm5ipCR0l4FxLJX2zei0W6Bq7URvkBYcsMRiiQwx2GT3BSRLnpak/SOjEaRybKy\nycMMw8DrdmBkIs5vZNRAlb0MZompd0KXal7ZlheTnYwkMBVNlp2cM7+La/eqpBzJ6x63U7BBKT3n\neCpTtUxcte4mEnv3uJyY36UusY/fAbu4LG+Py4Gh0Zjozl6IL8DVqXe0NGj5KRXRU6bbjTCdSCMY\nmobX7axKeKXaSDVsGZuKI5ZI16TqoVLUbtp9Kj0sPW4nJqNJxbarZPPQU4PNp9SmTEgylalbd+jh\nfAAAIABJREFUch5B7XNDuHEnuSxicXutlj35zGg8LRrqzLIsJiNJyXg9kO+Pr3ZcLkHt+son/qp/\nplBlLwPvxi+aeucPlFr25WbkVxKvB3K70Db5XSh3fnl3YZvTjuYGS8k5Z7Mskqls1Sz7Oc02tDRZ\nFTci+SQuh+D3yLvxDo9GkMmy8HZzi97rciDLsjg8Kt2FjChNj0u8+Yte5GPC5a2RwZHaZGuXi1SC\nXi0VWaWo3bSrsey519Vl+PuC4VwYQX+PjV0mt4KQTGXrruzV5lD4gmGYTdx8ix6ZeywWT8NuNWsq\n/fTI5F2EYylksqxoJj6h3C56+XtG3frS8kyhyl4Gs0RvfF8wgjanHS1NNnS2NqLRbi7baiMKt5IH\nOUmEE9uFEoTlQpwbyIlgaBrTgiE2iSrX2DIMA4/bidHJuGz//OIHKF/3LJPYR+L1PYJjAHkPx+BI\nBCxqF68neLocYKBtFy7E6EluUgl6tc6PqIS8clZS9lzei1LZphrLKzKdwvhUombykSuRJJCYfT0R\nZsNLkc2yGAxGMbejCVaLGfM6m2E2MaLP4Vgipbk3RY+Mp0cpOQ9Q33a3mIFgWNWArnI8ylTZy2Bi\nGJhNTEE2fjiWRCic4JWziWHg6XJgeDxWVual0L1eLvxOWObm8AcjsNvM6Gxt5I7JnT+xGgGBsq+S\nZQ+oayrjC4RhMTOY29FUeIzMrnWgaAes5mFdL6Vpt5nhbm9S9FZI4ee9MsZUmlJufF7eBvVICMlv\n2qXXHCnbVHMd1Fj2al221UKu+RGBs+zrqxZIAprc/R8Icc9bkhdktZgwt6MZg8EIskWeWLXjbYWQ\nzxV7nkxIzLEXwk/P0+DG1zKgq7u9CTarSXVvCIAqe0XMZqYgZi9WuuV1k+QQ7W5aXyCMBpsZnXPK\njyETxS1VrkJKVDwuB59QIuYGynfPq6KyV0ggJN0DhR3W1CT2DQxzLrx5uR3w/M5mmBhG9gFRT0vT\n63Zo6tImxBeIwGJm0N1RWUtmvSBu/GIl4q+hi7pSTAwDj8uJwHhMUhkOaNgscgm3FlnLS21IoFo0\nKMy0T2e4UbA2DcNr9IAkoAUnpiUT0IjxIAwR9Yh032NZFrFEWnVyHqHVIR2CDOWUvVyyLB+z12DZ\naxnQZTJxRubQWFT1lECq7BWwmEwFlj3vDhfs7j1lxE8ATgkPjxcq4XJQcnuREhWhhZVvZ5t/GBHL\nzG6tXua0UrIN6bDmKdg8yR/DbRAimN/VzGcOc648romPVJtSTmmaVE/HqybCRhhaENsMGQ2x8amR\n6RTGphKGbAIkhdftAAvAL7Fp19LWVipUJvZ5tbLslWbaE6VRbzc+kL9fpAwosZbXeQ9n4TONZbUl\n5wGFIchoUQhyQqZ7HqHRbobNYtIUs9dameF1O5HJsjgik6ckpP5X1eBYLKaCulSykAqUk4ZGEEIO\nj0bBspUnXim5vfJJgPlF1N3RBIuZKbTsdXDju9uaYLOYJDciYq5ektgntXkaGoshlc6WPHQ9LicS\nqQyCodLOVelMFodHI1jQpW3+QLUgv09r3F5sM2Q0Guylbny/BsVoFJTakGr1DCmFsAZyXr2uXGhN\nb8imTCrcSLrn1TtBD1DuPMmX3bkKLXvutby8iWeguYx5ElLhxAkVlj3DMGhptmlS9vxzWqU+UJtn\nQqDKXgFLkRvfH4iU3KDzu3LJIRoz8qvlVmYYBh4X5/YSsyLIYhXeGBazCfM7HQUDH+I6uPFNJgYL\nXA6+BW4xYu1UiVU0NlW6qwbyyXnFcpPzCAyNxZDOsHVLcis3I9+n8QFQD8QSvwZE1pzRUeqcRnod\ntKuYMAnkjQCxh3Ei59XzVujV04LSTHtStlrvmD0gSHCUuF98ud4kwkRJj0jSGt89z15JD5PC60fq\n/+Use4DrojcVTaoeiETWidr8LTWd/oTU/6oaHKEbXyz2DQgmJYkkh8jhr0ImPkEs4Y7gC3K9vIsz\nPD1uB9KZ/MCHamfjE7wuh6S7SWoIiEcmSY/cFD3dxcpeOiO/3pnh+S5t2ix7f43juuVgMZtgMZsK\nLfvgzLPs5+a8XWKhlnJ6HchtPgeDEbBsba9r3o0vHlbIK/v6W/bd7TmPoESC3FQ0WbJxb2qwoHNO\nQ0EiLKkC0hqzBwTXr+h5EgonYLeZFRtFzWm2I5NlEVU9oKt0AyPHgi4uT0mtAUGVvQLCBL187Lv0\nBvVqHM0IcItITAmXg1TdZT7Ds7nkJi6O9ZOYazUte0DaquWHgLSWdliTKy3xDXObF09RC1aPjOvP\nJ5JrUWu8Lqem6XyAIGxkcAu5wVbYd90X4Ko/utpq46KuBsTbdXik1AtVTj8MubkIPpHQmt7wuRVK\nbnwDxOxNJgbzuxw4LOIRlJsS2ON2Fsz9yFv22pW9u43LeC+17BOKVj3AWfaAulp7qQ2MHFaLGXNJ\nnpIKI7P+V9XgWMx5y15u8pjWuscsy2JQQgmXg1jCHZDv4y92YxS7yhJJnSx7ie5WoTAZAiJ2buK7\nan4IUUdzSW6Bo9GKjha7+MOV9Gh3Vb6xKhetAyz4drMimyGj0WAz85tFKQ/YTMBb5O0ilNPWlpuL\nIKWwaj/rQClBj7fs65yNT+hxi3sE5bxGxcnSfPe8Mix7k4nJ9dyPIZXmZJNKZxGOpdAmU3ZH0FJr\nX25lhjeXpxQIKRuZVNkrYDEzfFMduYlpWjvpjeYGalTLYiMJd8UubH6Aisj3kOEkRAkTy6zalv2C\nLgcYptQlL5ZRS8jvqguPGQmRQSTSs8SL25SyuQ2Cq72JLz+qB16NcXsyw97IyXkE4ax0seqPmYLU\nxLpyw0BEYR0u6tnuCxSWjtYCPkFPStnzCXrGUAtSHkE+H0T0OVyYkV9Jgh7AKdNMNt+Zk9TNyzXU\nIczRUGtf7uavRyEJVIgxrqqBMQsse38gItndSMtoRkB75qUSfN6AIOEOECrU0u/hJ0zlYlx86V2V\nlb3dakZ3e1PJJCu5iV9SdaR8vF7ioesRKUMcnYxjOpGue9tWrRn5tZyIVikNNkuuzImt6XCXaiPV\ndtUfiMBmMWGuxrJNsSQqvpyyxpUhfIKelBs/Rdz4xrDspTyCfpn5FsXXrxI3fsE55D5vIiw/x14I\n6S+hxo2fv9c1WvYaxilTZa+AxcQgy7JIZ7LwByOY18m1ZyyGJIcMqOySJhd3Khevy4lUOovh8Xzp\nWT4JUHwReV1cjGsiktTNjc99vwPTiTRGBU1llOKWHpE6UqlMfILYw1UPWZdDV1uj7NztYvhWyjNA\nadptZmSyuftEZX9vI7LAVTqIiSvbjGKBywGTxNhRKcS8OaR0tNabIblRxADXKhcwjmVPPIJC2SnN\nt2h12ArGv+bd+Nqz8YHS50m+e54Gy16NG19jpUf+/NT3eDHGVTUwZOc9NFbYnlEMkhyiNJoRqE6b\n3GLyGez5BxXfxaxZPMbkEcSR4zq58QHxh54vEIazySrZdjI/Fzz/ewYU3F1itc1amqHoiYnJxwCV\npvMB8iEYoyFUJPVwUVeLBpsFriIv1OERbuxoOddhQVczGIbreU6o13q0mLk59YoxewNk4wN5j6A/\nmB/ypTTfgmEY9Lgd/DyOWKL8bHwg35mTbLxJ4p+aUdN5N768PqhkqmVTgzVXgSA/CA2gyl4RouwP\nDk0BkI+pEMWpxqXiD4bRIqOEyyHvJuYWppouZsLZ9rxlr0Ncu9iFHYunMDoZh1dmAp2nKA9CmLAm\ntVPvaGlAk91SUD6lx8aqXHpcTsXpfARfMAJHo9WQM+yLIfHg6UQa/hEugbLec9HLpcdd6IWqpGzT\nZjVjbkdzQWfHes1oYBgml0ip5MY3znXzup2YTmQE10LZSyc0LMoZbyuEu375zpxaLHu+P77CmON8\n69/ynk9etxPhmLKRaZyralDI5Lv+Izllr2KRKcXto3FOCVfbYiuOV+fzAqQXkbCvPt9URw83fpFl\nL9bVr5h8Yh8nT1K25u2WPobvqz0e47PDBwJhzHFUd2NVLh6VGfn1GsdbLiTxcSAQQTKVNeyEPjUU\nu24r7WHvdTuQSGYwkuvsyFeGdNVeRnabGYmURJ192liWPVDq3VPTv0FoJFSq7IHC60f64rc6lZ8l\nFrMJjkaromWfb6ZT3npQ20mPKnsFii17OeswvzDl4ydiHe2qQbFLR03TnvaW/Gz7RDINBoBVh5gd\naSpDbla5xEGCMLEvK0j8Ukq087qdYAEMjkT5KYX1duET1MbYyqnrriekZe5+/wSAmZmcRyieWEfG\nji7oKi8sIeykx3un2upTTimsmijGqJY9kL9fBlQMhRK2PY4l0mi0mzXnWggRTsBT0xdfCOmiJ0el\njbPUGpnGuaoGxZJbJIMjEcU51qRHvVKXtLxbufoPco/LgXAshcloMh/zlfkevtVuaBoT0SRsNrNu\ntdFelxNjOetcbfap1+1EPMm58Ypn2EvhEVgDPhUbnloyn8zdVrlGjDrWthiS1HmAKHuDyLschD0z\ntIwdlULYs31sMo5YIl23zZDdapZpqmM8y17oCUtnsjisYiiUsBlOOeNtixGWt4UiSTibrKqrKOY0\n2xCNp/k6fTF8gXBZlR7581NX0kuVvQKW3C6XZZUfvMSFPDIRlxzNCAi7olX/hhfuhH1BrlzI3Sa/\niMgxwdC0Li78/PfkbxpybkoT6HhvyXBYdUlXgQwMkpxHsFq4GOBgkEv6kkKugZMRIQl6M80jIUZL\nsw2tDhv8wQg/drSS6+ARWJpaxuTqQYPNjGQqK9pxzUgd9AgtTTa0Oe3wBSMYHueGQinJjpTtHhmN\nITydRGMZffGFCEOQarvnEfhRtxLWPan0mN+lvdKDQCoQqBu/QiymvIjU3KBSneyE+IMRWC0mdLdX\nv5UosWAPDU3hiMpyIaHVW+0ae7HvOajh3PJNMjjF3ea084kvUszlGwyF8yETAykfMp1vaFR6J+4L\n1m8cbzmQdcMC6JzTUHapk1Hwup0IhRP4/OA49/8KNuZcZ0cuvFbvzaddZvKd0bLxCR6XA6FwAl8e\nCgFQ5+72urlE2GQqW1b3PCGkM+d/Dk8ikcxoSphVapl7ZJTb9FfSA0RYgSAHVfYKkAQ9QJ0lrtRJ\nL53J4shoNOfOrb74iSX8730BZLKsKve18ObR17LnvufDL4ZVlzKR8/+8fwwTkaSqh6Rwot/B4dqO\nEVUDubEPHp4SfZ13V9ZpHG85NAoqOGZyvJ5AfsP//WwIgHKeiPLnOTAVS2Fv/1jB59cavmWuqLI3\nzohbIfy12MtdCzXPNOHmvlI3PvedTn6iqFSpsBhKtfbVakCl5viaPUkefvhhrF69GieffHLB35PJ\nJH75y1/ivPPOw9q1a3H48GEAQH9/P374wx/iwgsvxKeffgoASKfTuOaaa5BIKLcfrBbCh60ay17o\nshND71GrHXMa0Gi3YCjX21uNQiWWMKBPjT3B1doIu9WMwVzrUDWlcMSleojE62Uy8YV43A6k0lkE\nxo3Xo5387r7DE6Kv8+7KGRT3Fq6bmXTeUhDlTvJEKi3bJJvUgeEwWh02Re+UXjTI9MdPGdCND+TX\nE5noqUbZC42CclvlFpyD4HmtzY0vb9mrSVRWg6GU/TnnnIMtW7aU/H3Lli1obW3F9u3bcfXVV2PD\nhg0AgJdeegn33HMPnnjiCTz11FMAgBdffBE/+MEPYLfXru6YKMFGO9chT4nu9kbJSVdA3r2vR7we\nyOUNCG4GNQ8p0moX0KfGnsDNts9nNKvd8AgXstpjegqOMZalSX7DwSPilv1MGGtbjDD8M5POWwrh\nb9AydlQK4cO8nvKxW7n7W6zWnlj7RuuPILzn1VYxkGY4QPkNdQrPIX/N1PTFJ/AtcyVq7f0BboJn\npWWYap6LNbuqvb296OrqKvn7e++9h4svvhgAcN555+GDDz4AAFitVkxPTyMWi8FqtSIcDmPnzp24\n6KKLanXKALje+ABkm78UvF9m0hVQm9at5MHC1fKqKxciMUk9Y/ZA/qbRssCFslIb6xQeYzRLs7mB\ni+H2H5kUfX2mjLUV0lDgxp855y1FZ85DBlTn9/SUsWHVA1k3fjoDs4kxXOios7URjbnSTrX3MmmG\nA1THjS+8Zmr64hOIZS9WflcwwbPC0Im7rUnxM+o+NzMYDKK7uxsAYLFY4HQ6MTExgSuuuALr1q1D\nKpXC7373Ozz66KO48cYba35+xLLX4mbxuh04ODSFPf8Zg7soCa+f1Ovrqexzn+1qa1Q95c3jdgCf\n6RuzB/I3a3e78uIkkAels0l9N7kCZW9AS9PrduCTA6PY758oSSDqO6L/Gqk2RInMlI5/ShAP2df+\niaqsH1KWG5lO1bWckrjxD49EStZdLJ42TF98ISaGy67fPzipKZzidXNGVzWSRTtaGtDcYEE0ntbm\nxs/F9wOhaT4MQZiIJBBPZqqy+Sv2mopRd2Uvxdy5c/Hss88CAAYGBhAIBLBo0SLcfvvtSKfT+MUv\nfoGFCxfqfh5EIWnJniXvffTVz0Rf72pt0LWhBvl+LQ8pcozejT7IOWmRJ7kZejT0jm60W+Bua8To\nZNyQPdp73E58cmAU//v5j0Vfnwkz7IUQ66nHPTM6/qmhp9uJr/0TVcmcZxgGPd1OfHFwXHXeiR6Q\n6/Ts9v2irxt1o+btdmL/4KTm5/AHXwTgrDAEA5Cyaif2DYTQpmFYTZPdApvFhH0DIfz2yV2i76nW\n5k9JNgyrZkRbFTn55JPxySef8P+/9tprccstt2DFihVIp9M466yz8OGHHxYcc+utt+LWW2/F1q1b\nsXLlSsybNw8PPfQQH9+nUCgUCoUiTd19Nt/97nfx6quvAgC2bduGM844o+D1Xbt2we12w+v1Ih7n\n6ggZhuH/TaFQKBQKRZ6aWfbr16/HW2+9hZGREXR1deGyyy7DzTffjGQyidtvvx379u1Da2srHnro\nISxYsAAAN+Xs2muvxcaNG9HS0oK+vj7cfvvtyGQyuO+++0rK+CgUCoVCoZRSczc+hUKhUCiU2lJ3\nNz6FQqFQKBR9ocqeQqFQKJRZDlX2FAqFQqHMcqiyp1AoFApllkOV/VFMMik+nIFSHah89YXKV1+o\nfPWl1vI133fffffV9BsphuCZZ57Bgw8+iImJCYTDYSxcuBAsy86a7mf1hspXX6h89YXKV1/qId+Z\n04+TUjXeeOMNvPfee7j33nsxOTmJhx9+GO3t7ejt7UU2m4XJRB0+lUDlqy9UvvpC5asv9ZIvvWpH\nEdlsFizLYs+ePbj88suxbNkynHHGGeju7sYDDzwAAPRGLpNwmJtUl81mqXx1gq5f/aDrV3/qvX7p\nlZvlpFIpPPnkkwgGgzCZTGAYBi6XC08++ST/+jHHHAO/348333wTANe5kKKep59+Gj/5yU/w+eef\nw2Qyob29ncq3StD1qz90/eqHkdYvVfazmK+++gqXXnop/vKXv2D9+vX832+44QY4nU7cdddduPDC\nC+FyuXDHHXdg9+7dAEDjcirJZrMAgEgkArvdjs2bNwMAbrrpJjgcDvzmN7+h8q0Aun71ha5ffTHa\n+qUJerOYdDqNzs5O3H333Xjuuefg8Xjg8XgAAOeeey6WL1+Oc845B9/5znfw2WefwWaz4dRTT0U2\nm6U3tAoYhkEmk8H27dtx7rnnwufzIRKJ4IQTTsDq1avR29tL5VsBdP3qC12/+mK09Ust+1kKy7Lo\n7u7G+eefj7a2Nlx00UX485//zL/e0NAAj8eDJUuWYGpqCjt27EBraysAGpdTSzabhdlsRltbG5qa\nmnD66afjn//8J4aGhsAwDJVvBdD1qz90/eqHEdcvvWqzBGGcR7gzbGhoAABcfPHFMJvNeP755wFw\nCyqTyWDbtm244oorsHDhQlx22WW1P/EZQrF8AU6GLMviwIEDOPvss7Fy5Urs378fl19+Ofr6+pBK\npbB9+3YqXxUIa47p+q0+xfIF6PqtJqFQCED+OWHE9Uun3s1wXn/9dbz88stYtmwZTjrpJFxwwQUA\ngJ07d6K7uxsnnHAC/96dO3fisccew+bNm/HVV1/B6/VicnISDQ0NaGtrq9dPMDRy8u3s7MTy5cvx\n6KOPYmBgAPv27cOcOXNgtVrxyCOPoKWlBQMDA2hpaaHyleBvf/sbnn76aSxfvhyLFi3CVVddBYCu\n32ohJ1+6fisnEongpz/9KebMmYMnnniCr5U34vqllv0MhGVZxGIx3H///diyZQtuueUWLF68GP/4\nxz+wd+9eAEA0Gi2J+6xevRoNDQ1Yvnw5Nm7ciHg8jrlz59IbuQi18rXb7Ugmk0gkEgiFQrj33nvx\n3HPPYcmSJXj55ZcBAD09PVS+RbAsi2g0igceeACbN2/GbbfdhjPPPBO7d+/G0NAQACAWi9H1WyZq\n5EvXb3VgGAYWiwV9fX348MMP+TVryPXLUmYU8Xic//fmzZvZUCjEsizLjoyMsPfccw+7a9eukmNS\nqRSbSqXYDRs2sKtXr2Y3b95cs/OdaZQj32AwyP87k8mwIyMj+p/oDEUo348++oj/97///W/2zjvv\nZFOpVMkxdP2qpxz50vWrHqF8k8kkGw6H2WeeeYZ99tln2UsuuUT0GKOsX2rZzyC2bduGSy+9FO+9\n9x4A4Pzzz0drayuf9enz+URrNE0mEywWC0499VRs376dxt4kKFe+nZ2dALiaWZPJxP+fUgiR744d\nOwAAK1asAAC88847uPvuu3Ho0CH8+te/xtNPP11wHF2/6ihXvnT9qoPI9/333wcAWK1WRCIR7Nix\nA1deeSWamprw0ksv4aOPPio4zijrlyr7GQBRMNPT02hsbMSbb76JZDIJh8MBALBYLBgbG4PFYsGS\nJUsKjl2/fj3frGH16tWwWq21PfkZQKXyfeuttwCAylaCYvm+8cYbSCaTMJvNAIDu7m689NJLePHF\nF3HllVdi69atfMLThg0b6PpVoFL50vUrT7F8X3vtNT7hkWVZnHbaaQCAU089Fffddx8ef/xxZDIZ\nZLNZQ61fWmc/AyCxnx07duAb3/gGTCYTDhw4gFNOOQWpVApmsxl+vx+7du3CpZdeigMHDuCzzz7D\nwoULcdJJJ6G3t7fOv8DYVCrf5cuX1/kXGBs5+WazWbjdbjQ2NgLgFE5fXx+++c1vwuFwoLe3l65f\nBSqVL12/8ojJd//+/TjllFMQCoVw//33491330V/fz96enqwbNkynHXWWWAYxlDrl1r2MwBSKtPV\n1QWbzYZvfetb+PTTT9Hf38/v0EmpzGOPPYY77rgD09PTAMBbpxRpqHz1RU6+4+Pj/PtYlsXjjz+O\nRCKB9vZ2AFS+aqDy1Rcx+e7Zswd9fX1obGzEmjVrsHLlSmzZsgWbNm3Czp07MTo6CsBY8qXK3mC8\n8847OHToUMHfSJOFPXv24PTTT8eqVaswMTGBK6+8ko8Pffzxx/joo48wPT2NZ599Fueff36tT31G\nQOWrL1rlu2vXLrAsi+effx4XXnghAOC///u/qUtZAipffVEr31AohKuuugq7d+/Gz3/+c1x//fUA\ngKamJrz22muGzHugI24NwhdffIG77roLCxcuxM0338z/fe/evQiFQli1ahWWLl2KTZs24eDBgwCA\nY489FscccwwA4Oyzz8Zll11WElOmcFD56ku58l20aBEYhsGJJ56Ib3/721i8eHG9foKhofLVl0rk\nazabkU6nYTKZYDKZDLuRopa9Qfj73/+Oq666Cn/4wx9w/PHH838Ph8Ow2WwAuC5Yw8PDuP7667Fl\nyxasWrUKr776KgBOGVFFJA2Vr76UK99XXnkFANDb20sVkQxUvvpS6fPBYrEYv41wXQr+KGwmk2Ez\nmQzLsiybTqfZO++8k92zZw/Lsiz7/PPPs3v27GGj0WjBMWNjYwX/Hx0drc3JzkCofPWFyldfqHz1\n5WiUr8G3IrOTl19+GWeffTYeeeQRAFw3q3Q6jeHhYdx0003Ys2cPnnjiCfzqV78qOM5utwPI97nu\n6Oio7YnPEKh89YXKV1+ofPXlaJUvVfY1JhqN4t1338V1112H999/H/39/WhpacGCBQuwadMmrFix\nAg8++CAefvhh9Pf341//+hcA4LnnnuOHKBC3EqUUKl99ofLVFypffTma5Uvr7GuMzWbDKaecgpUr\nV2JwcBBvv/02vve972HFihV4/fXXsWDBAixfvhx2ux1HjhyBzWbDsmXLcPzxx+P000+v9+kbHipf\nfaHy1RcqX305muVLlX0dcDqdAIDjjjsOL7zwAtxuN4499lg0Nzdj3759GBoawgcffIC3334b11xz\nDdrb22Gx0MIJtVD56guVr75Q+erL0SpfquzrSHNzM1iWxQsvvIBLLrkExx13HObOnQu/34+hoSHc\ne++96OnpqfdpzliofPWFyldfqHz15WiTL51nX0fY3OzjW265BV1dXQCAtWvXFsxAppQPla++UPnq\nC5Wvvhxt8qUJenWEYRhMT09jbGwMb731FhYuXDhrF1o9oPLVFypffaHy1ZejTb4zPxAxw3nxxRex\nbNky/PWvf52xWZ5GhspXX6h89YXKV1+OJvlSN36dyWazxu+8NIOh8tUXKl99ofLVl6NJvlTZUygU\nCoUyyzk6tjQUCoVCoRzFUGVPoVAoFMoshyp7CoVCoVBmOVTZUygUCoUyy6GldxQKRZK1a9cimUwi\nlUrh4MGD/KzvpUuXYuXKlbjgggvqfIYUCkUNNBufQqEocvjwYVxyySX48MMP630qFAqlDKhlT6FQ\nFCm2Ce68806ceOKJuOKKK/DHP/4R/f39iEajOHToEJYuXYrrrrsO69evx/DwMM4991ysW7cOABAM\nBvH73/8eQ0NDiMfj+P73v48bbrihHj+JQjmqoMqeQqFohmGYgv9/+eWX2Lp1K5qamnDxxRdj48aN\neOqpp5BOp3HOOefgxz/+MbxeL+644w7cdNNNOO2005BMJnH11VfjxBNPxJlnnlmnX0J5M1NxAAAB\nFElEQVShHB1QZU+hUCpm5cqVcDgcAIAlS5Zg6dKlsFqtsFqtOOaYY+Dz+dDZ2Yldu3YhFArxx8Vi\nMfT391NlT6HoDFX2FAqlIhiGgdVq5f9vNpsL+oybTCZkMhlks1kwDIOtW7fCbDbX41QplKMWWnpH\noVAqQm2Or8PhwGmnnYbHH3+c/9vQ0BBGR0f1OjUKhZKDKnsKhaKK4ji98O9SrxWzYcMG9PX1Yc2a\nNVizZg1uu+02hMPhap4mhUIRgZbeUSgUCoUyy6GWPYVCoVAosxyq7CkUCoVCmeVQZU+hUCgUyiyH\nKnsKhUKhUGY5VNlTKBQKhTLLocqeQqFQKJRZDlX2FAqFQqHMcqiyp1AoFApllvP/AVWWa3gdDoXB\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f0188cc7d50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"ax = df.plot();\n",
"vals = ax.get_yticks();\n",
"ax.set_yticklabels(['{:3.0f}%'.format(x) for x in vals]);\n",
"ax.set_ylabel('GPU Utilization');\n",
"ax.set_xlabel('Time');"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment