Skip to content
Snippets Groups Projects
03-LSTM-Keras.ipynb 196 KiB
Newer Older
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "<img width=\"800px\" src=\"../fidle/img/00-Fidle-header-01.svg\"></img>\n",
    "# <!-- TITLE --> [IMDB3] - Text embedding/LSTM model with IMDB\n",
    "<!-- DESC --> Still the same problem, but with a network combining embedding and LSTM\n",
    "<!-- AUTHOR : Jean-Luc Parouty (CNRS/SIMaP) -->\n",
    "## Objectives :\n",
    " - The objective is to guess whether film reviews are **positive or negative** based on the analysis of the text. \n",
    " - Use of a model combining embedding and LSTM\n",
    "\n",
    "Original dataset can be find **[there](http://ai.stanford.edu/~amaas/data/sentiment/)**  \n",
    "Note that [IMDb.com](https://imdb.com) offers several easy-to-use [datasets](https://www.imdb.com/interfaces/)  \n",
    "For simplicity's sake, we'll use the dataset directly [embedded in Keras](https://www.tensorflow.org/api_docs/python/tf/keras/datasets)\n",
    "\n",
    "## What we're going to do :\n",
    "\n",
    " - Retrieve data\n",
    " - Preparing the data\n",
    " - Build a Embedding/LSTM model\n",
    " - Train the model\n",
    " - Evaluate the result\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step 1 - Init python stuff"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>\n",
       "\n",
       "div.warn {    \n",
       "    background-color: #fcf2f2;\n",
       "    border-color: #dFb5b4;\n",
       "    border-left: 5px solid #dfb5b4;\n",
       "    padding: 0.5em;\n",
       "    font-weight: bold;\n",
       "    font-size: 1.1em;;\n",
       "    }\n",
       "\n",
       "\n",
       "\n",
       "div.nota {    \n",
       "    background-color: #DAFFDE;\n",
       "    border-left: 5px solid #92CC99;\n",
       "    padding: 0.5em;\n",
       "    }\n",
       "\n",
       "div.todo:before { content:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1My44OTEyIiBoZWlnaHQ9IjE0My4zOTAyIiB2aWV3Qm94PSIwIDAgNTMuODkxMiAxNDMuMzkwMiI+PHRpdGxlPjAwLUJvYi10b2RvPC90aXRsZT48cGF0aCBkPSJNMjMuNDU2OCwxMTQuMzAxNmExLjgwNjMsMS44MDYzLDAsMSwxLDEuODE1NywxLjgyNEExLjgyMDksMS44MjA5LDAsMCwxLDIzLjQ1NjgsMTE0LjMwMTZabS0xMC42NjEyLDEuODIyQTEuODI3MiwxLjgyNzIsMCwxLDAsMTAuOTgsMTE0LjMsMS44MiwxLjgyLDAsMCwwLDEyLjc5NTYsMTE2LjEyMzZabS03LjcwNyw0LjU4NzR2LTVzLjQ4NjMtOS4xMjIzLDguMDIxNS0xMS45Njc1YTE5LjIwODIsMTkuMjA4MiwwLDAsMSw2LjA0ODYtMS4yNDU0LDE5LjE3NzgsMTkuMTc3OCwwLDAsMSw2LjA0ODcsMS4yNDc1YzcuNTM1MSwyLjgzNDcsOC4wMTc0LDExLjk2NzQsOC4wMTc0LDExLjk2NzR2NS4wMjM0bC4wMDQyLDcuNjgydjIuNGMuMDE2Ny4xOTkyLjAzMzYuMzkyMS4wMzM2LjU4NzEsMCwuMjEzOC0uMDE2OC40MTA5LS4wMzM2LjYzMzJ2LjA1ODdoLS4wMDg0YTguMzcxOSw4LjM3MTksMCwwLDEtNy4zNzM4LDcuNjU0N3MtLjk5NTMsMy42MzgtNi42OTMzLDMuNjM4LTYuNjkzNC0zLjYzOC02LjY5MzQtMy42MzhhOC4zNyw4LjM3LDAsMCwxLTcuMzcxNi03LjY1NDdINS4wODQzdi0uMDU4N2MtLjAxODktLjIyLS4wMjk0LS40MTk0LS4wMjk0LS42MzMyLDAtLjE5MjkuMDE2Ny0uMzgzNy4wMjk0LS41ODcxdi0yLjRtMTguMDkzNy00LjA0YTEuMTU2NSwxLjE1NjUsMCwxLDAtMi4zMTI2LDAsMS4xNTY0LDEuMTU2NCwwLDEsMCwyLjMxMjYsMFptNC4wODM0LDBhMS4xNTk1LDEuMTU5NSwwLDEsMC0xLjE2MzYsMS4xN0ExLjE3NSwxLjE3NSwwLDAsMCwyNy4yNjE0LDEyNC4zNzc5Wk05LjM3MzksMTE0LjYzNWMwLDMuMTA5MywyLjQxMzIsMy4zMSwyLjQxMzIsMy4zMWExMzMuOTI0MywxMzMuOTI0MywwLDAsMCwxNC43MzQ4LDBzMi40MTExLS4xOTI5LDIuNDExMS0zLjMxYTguMDc3Myw4LjA3NzMsMCwwLDAtMi40MTExLTUuNTUxOWMtNC41LTMuNTAzMy05LjkxMjYtMy41MDMzLTE0Ljc0MTEsMEE4LjA4NTEsOC4wODUxLDAsMCwwLDkuMzczOSwxMTQuNjM1WiIgc3R5bGU9ImZpbGw6IzAxMDEwMSIvPjxjaXJjbGUgY3g9IjMzLjE0MzYiIGN5PSIxMjQuNTM0IiByPSIzLjgzNjMiIHN0eWxlPSJmaWxsOiMwMTAxMDEiLz48cmVjdCB4PSIzNS42NjU5IiB5PSIxMTIuOTYyNSIgd2lkdGg9IjIuMDc3IiBoZWlnaHQ9IjEwLjU0NTgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIxLjYgMjQxLjExMjEpIHJvdGF0ZSgtMTU1Ljc0NikiIHN0eWxlPSJmaWxsOiMwMTAxMDEiLz48Y2lyY2xlIGN4PSIzOC44NzA0IiBjeT0iMTEzLjQyNzkiIHI9IjIuNDA4NSIgc3R5bGU9ImZpbGw6IzAxMDEwMSIvPjxjaXJjbGUgY3g9IjUuMjI0OCIgY3k9IjEyNC41MzQiIHI9IjMuODM2MyIgc3R5bGU9ImZpbGw6IzAxMDEwMSIvPjxyZWN0IHg9IjEuNDE2NCIgeT0iMTI0LjYzMDEiIHdpZHRoPSIyLjA3NyIgaGVpZ2h0PSIxMC41NDU4IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0LjkwOTcgMjU5LjgwNikgcm90YXRlKC0xODApIiBzdHlsZT0iZmlsbDojMDEwMTAxIi8+PGNpcmNsZSBjeD0iMi40MDkxIiBjeT0iMTM3LjA5OTYiIHI9IjIuNDA4NSIgc3R5bGU9ImZpbGw6IzAxMDEwMSIvPjxwYXRoIGQ9Ik0xOC4wNTExLDEwMC4xMDY2aC0uMDE0NlYxMDIuNjFoMi4zdi0yLjQyNzlhMi40MjI5LDIuNDIyOSwwLDEsMC0yLjI4NTQtLjA3NTVaIiBzdHlsZT0iZmlsbDojMDEwMTAxIi8+PHBhdGggZD0iTTM5LjQyMTQsMjcuMjU4djEuMDVBMTEuOTQ1MiwxMS45NDUyLDAsMCwwLDQ0LjU5NTQsNS43OWEuMjQ0OS4yNDQ5LDAsMCwxLS4wMjM1LS40MjI3TDQ2Ljc1LDMuOTUxNWEuMzg5Mi4zODkyLDAsMCwxLC40MjYyLDAsMTQuODQ0MiwxNC44NDQyLDAsMCwxLTcuNzU0MywyNy4yNTkxdjEuMDY3YS40NS40NSwwLDAsMS0uNzA0Ny4zNzU4bC0zLjg0MTktMi41MWEuNDUuNDUsMCwwLDEsMC0uNzUxNmwzLjg0MTktMi41MWEuNDUuNDUsMCwwLDEsLjY5NDYuMzc1OFpNNDMuMjMsMi41ODkyLDM5LjM4NzguMDc5NGEuNDUuNDUsMCwwLDAtLjcwNDYuMzc1OHYxLjA2N2ExNC44NDQyLDE0Ljg0NDIsMCwwLDAtNy43NTQzLDI3LjI1OTEuMzg5LjM4OSwwLDAsMCwuNDI2MSwwbDIuMTc3Ny0xLjQxOTNhLjI0NS4yNDUsMCwwLDAtLjAyMzUtLjQyMjgsMTEuOTQ1MSwxMS45NDUxLDAsMCwxLDUuMTc0LTIyLjUxNDZ2MS4wNWEuNDUuNDUsMCwwLDAsLjcwNDYuMzc1OGwzLjg1NTMtMi41MWEuNDUuNDUsMCwwLDAsMC0uNzUxNlpNMzkuMDUyMywxNC4yNDU4YTIuMTIwNiwyLjEyMDYsMCwxLDAsMi4xMjA2LDIuMTIwNmgwQTIuMTI0LDIuMTI0LDAsMCwwLDM5LjA1MjMsMTQuMjQ1OFptNi4wNzMyLTQuNzc4MS44MjU0LjgyNTVhMS4wNTY4LDEuMDU2OCwwLDAsMSwuMTE3NSwxLjM0MjFsLS44MDIsMS4xNDQyYTcuMTAxOCw3LjEwMTgsMCwwLDEsLjcxMTQsMS43MTEybDEuMzc1Ny4yNDE2YTEuMDU2OSwxLjA1NjksMCwwLDEsLjg3NTcsMS4wNHYxLjE2NDNhMS4wNTY5LDEuMDU2OSwwLDAsMS0uODc1NywxLjA0bC0xLjM3MjQuMjQxNkE3LjExLDcuMTEsMCwwLDEsNDUuMjcsMTkuOTNsLjgwMTksMS4xNDQyYTEuMDU3LDEuMDU3LDAsMCwxLS4xMTc0LDEuMzQyMmwtLjgyODguODQ4OWExLjA1NywxLjA1NywwLDAsMS0xLjM0MjEuMTE3NGwtMS4xNDQyLS44MDE5YTcuMTMzOCw3LjEzMzgsMCwwLDEtMS43MTEzLjcxMTNsLS4yNDE2LDEuMzcyNGExLjA1NjgsMS4wNTY4LDAsMCwxLTEuMDQuODc1N0gzOC40Njg0YTEuMDU2OCwxLjA1NjgsMCwwLDEtMS4wNC0uODc1N2wtLjI0MTYtMS4zNzI0YTcuMTM1NSw3LjEzNTUsMCwwLDEtMS43MTEzLS43MTEzbC0xLjE0NDEuODAxOWExLjA1NzEsMS4wNTcxLDAsMCwxLTEuMzQyMi0uMTE3NGwtLjgzNTUtLjgyNTVhMS4wNTcsMS4wNTcsMCwwLDEtLjExNzQtMS4zNDIxbC44MDE5LTEuMTQ0MmE3LjEyMSw3LjEyMSwwLDAsMS0uNzExMy0xLjcxMTJsLTEuMzcyNC0uMjQxNmExLjA1NjksMS4wNTY5LDAsMCwxLS44NzU3LTEuMDRWMTUuNzgyNmExLjA1NjksMS4wNTY5LDAsMCwxLC44NzU3LTEuMDRsMS4zNzU3LS4yNDE2YTcuMTEsNy4xMSwwLDAsMSwuNzExNC0xLjcxMTJsLS44MDItMS4xNDQyYTEuMDU3LDEuMDU3LDAsMCwxLC4xMTc1LTEuMzQyMmwuODI1NC0uODI1NEExLjA1NjgsMS4wNTY4LDAsMCwxLDM0LjMyNDUsOS4zNmwxLjE0NDIuODAxOUE3LjEzNTUsNy4xMzU1LDAsMCwxLDM3LjE4LDkuNDUxbC4yNDE2LTEuMzcyNGExLjA1NjgsMS4wNTY4LDAsMCwxLDEuMDQtLjg3NTdoMS4xNjc3YTEuMDU2OSwxLjA1NjksMCwwLDEsMS4wNC44NzU3bC4yNDE2LDEuMzcyNGE3LjEyNSw3LjEyNSwwLDAsMSwxLjcxMTIuNzExM0w0My43NjY2LDkuMzZBMS4wNTY5LDEuMDU2OSwwLDAsMSw0NS4xMjU1LDkuNDY3N1ptLTIuMDMsNi44OTg3QTQuMDQzMyw0LjA0MzMsMCwxLDAsMzkuMDUyMywyMC40MWgwQTQuMDQ2NSw0LjA0NjUsMCwwLDAsNDMuMDk1NSwxNi4zNjY0WiIgc3R5bGU9ImZpbGw6I2UxMjIyOSIvPjxwb2x5Z29uIHBvaW50cz0iMzkuNDEzIDM0Ljc1NyAzOS41MzcgMzQuNzU3IDM5LjY3NSAzNC43NTcgMzkuNjc1IDEwOS41MSAzOS41MzcgMTA5LjUxIDM5LjQxMyAxMDkuNTEgMzkuNDEzIDM0Ljc1NyAzOS40MTMgMzQuNzU3IiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojOTk5O3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEwO3N0cm9rZS13aWR0aDowLjMwODg1NDQ1MDU2MDE2MThweDtmaWxsLXJ1bGU6ZXZlbm9kZCIvPjwvc3ZnPg==);\n",
       "    float:left;\n",
       "    margin-right:20px;\n",
       "    margin-top:-20px;\n",
       "    margin-bottom:20px;\n",
       "}\n",
       "div.todo{\n",
       "    font-weight: bold;\n",
       "    font-size: 1.1em;\n",
       "    margin-top:40px;\n",
       "}\n",
       "div.todo ul{\n",
       "    margin: 0.2em;\n",
       "}\n",
       "div.todo li{\n",
       "    margin-left:60px;\n",
       "    margin-top:0;\n",
       "    margin-bottom:0;\n",
       "}\n",
       "\n",
       "div .comment{\n",
       "    font-size:0.8em;\n",
       "    color:#696969;\n",
       "}\n",
       "\n",
       "\n",
       "\n",
       "</style>\n",
       "\n"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "**FIDLE 2020 - Practical Work Module**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Version              : 0.6.1 DEV\n",
      "Notebook id          : IMDB3\n",
      "Run time             : Friday 18 December 2020, 19:52:57\n",
      "TensorFlow version   : 2.0.0\n",
      "Keras version        : 2.2.4-tf\n",
      "Datasets dir         : /home/pjluc/datasets/fidle\n",
      "Running mode         : full\n",
      "Update keras cache   : False\n",
      "Save figs            : True\n",
      "Path figs            : ./run/figs\n"
   "source": [
    "import numpy as np\n",
    "\n",
    "import tensorflow as tf\n",
    "import tensorflow.keras as keras\n",
    "import tensorflow.keras.datasets.imdb as imdb\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib\n",
    "\n",
    "import os,sys,h5py,json\n",
    "from importlib import reload\n",
    "\n",
    "sys.path.append('..')\n",
    "import fidle.pwk as pwk\n",
    "datasets_dir = pwk.init('IMDB3')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step 2 - Retrieve data\n",
    "\n",
    "IMDb dataset can bet get directly from Keras - see [documentation](https://www.tensorflow.org/api_docs/python/tf/keras/datasets)  \n",
    "Note : Due to their nature, textual data can be somewhat complex.\n",
    "\n",
    "### 2.1 - Data structure :  \n",
    "The dataset is composed of 2 parts: \n",
    "\n",
    " - **reviews**, this will be our **x**\n",
    " - **opinions** (positive/negative), this will be our **y**\n",
    "\n",
    "There are also a **dictionary**, because words are indexed in reviews\n",
    "\n",
    "```\n",
    "<dataset> = (<reviews>, <opinions>)\n",
    "\n",
    "with :  <reviews>  = [ <review1>, <review2>, ... ]\n",
    "        <opinions> = [ <rate1>,   <rate2>,   ... ]   where <ratei>   = integer\n",
    "\n",
    "where : <reviewi> = [ <w1>, <w2>, ...]    <wi> are the index (int) of the word in the dictionary\n",
    "        <ratei>   = int                   0 for negative opinion, 1 for positive\n",
    "\n",
    "\n",
    "<dictionary> = [ <word1>:<w1>, <word2>:<w2>, ... ]\n",
    "with :  <wordi>   = word\n",
    "        <wi>      = int\n",
    "\n",
    "```"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.2 - Get dataset\n",
    "For simplicity, we will use a pre-formatted dataset - See [documentation](https://www.tensorflow.org/api_docs/python/tf/keras/datasets/imdb/load_data)  \n",
    "However, Keras offers some usefull tools for formatting textual data - See [documentation](https://www.tensorflow.org/api_docs/python/tf/keras/preprocessing/text)  \n",
    "**Load dataset :**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/pjluc/anaconda3/envs/fidle/lib/python3.7/site-packages/tensorflow_core/python/keras/datasets/imdb.py:129: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n",
      "  x_train, y_train = np.array(xs[:idx]), np.array(labels[:idx])\n",
      "/home/pjluc/anaconda3/envs/fidle/lib/python3.7/site-packages/tensorflow_core/python/keras/datasets/imdb.py:130: VisibleDeprecationWarning: Creating an ndarray from ragged nested sequences (which is a list-or-tuple of lists-or-tuples-or ndarrays with different lengths or shapes) is deprecated. If you meant to do this, you must specify 'dtype=object' when creating the ndarray\n",
      "  x_test, y_test = np.array(xs[idx:]), np.array(labels[idx:])\n"
     ]
    }
   ],
   "source": [
    "vocab_size = 10000\n",
    "\n",
    "# ----- Retrieve x,y\n",
    "\n",
    "# Uncomment this if you want to load dataset directly from keras (small size <20M)\n",
    "#\n",
    "(x_train, y_train), (x_test, y_test) = imdb.load_data( num_words  = vocab_size,\n",
    "                                                       skip_top   = 0,\n",
    "                                                       maxlen     = None,\n",
    "                                                       seed       = 42,\n",
    "                                                       start_char = 1,\n",
    "                                                       oov_char   = 2,\n",
    "                                                       index_from = 3, )\n",
    "# To load a h5 version of the dataset :\n",
    "#\n",
    "# with  h5py.File(f'{datasets_dir}/IMDB/origine/dataset_imdb.h5','r') as f:\n",
    "#        x_train = f['x_train'][:]\n",
    "#        y_train = f['y_train'][:]\n",
    "#        x_test  = f['x_test'][:]\n",
    "#        y_test  = f['y_test'][:]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**About this dataset :**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  Max(x_train,x_test)  :  9999\n",
      "  x_train : (25000,)  y_train : (25000,)\n",
      "  x_test  : (25000,)  y_test  : (25000,)\n",
      "\n",
      "Review example (x_train[12]) :\n",
      "\n",
      " [1, 14, 22, 1367, 53, 206, 159, 4, 636, 898, 74, 26, 11, 436, 363, 108, 7, 14, 432, 14, 22, 9, 1055, 34, 8599, 2, 5, 381, 3705, 4509, 14, 768, 47, 839, 25, 111, 1517, 2579, 1991, 438, 2663, 587, 4, 280, 725, 6, 58, 11, 2714, 201, 4, 206, 16, 702, 5, 5176, 19, 480, 5920, 157, 13, 64, 219, 4, 2, 11, 107, 665, 1212, 39, 4, 206, 4, 65, 410, 16, 565, 5, 24, 43, 343, 17, 5602, 8, 169, 101, 85, 206, 108, 8, 3008, 14, 25, 215, 168, 18, 6, 2579, 1991, 438, 2, 11, 129, 1609, 36, 26, 66, 290, 3303, 46, 5, 633, 115, 4363]\n"
     ]
    }
   ],
   "source": [
    "print(\"  Max(x_train,x_test)  : \", pwk.rmax([x_train,x_test]) )\n",
    "print(\"  x_train : {}  y_train : {}\".format(x_train.shape, y_train.shape))\n",
    "print(\"  x_test  : {}  y_test  : {}\".format(x_test.shape,  y_test.shape))\n",
    "\n",
    "print('\\nReview example (x_train[12]) :\\n\\n',x_train[12])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.3 - Have a look for humans (optional)\n",
    "When we loaded the dataset, we asked for using \\<start\\> as 1, \\<unknown word\\> as 2  \n",
    "So, we shifted the dataset by 3 with the parameter index_from=3\n",
    "\n",
    "**Load dictionary :**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "# ---- Retrieve dictionary {word:index}, and encode it in ascii\n",
    "word_index = imdb.get_word_index()\n",
    "\n",
    "# ---- Shift the dictionary from +3\n",
    "word_index = {w:(i+3) for w,i in word_index.items()}\n",
    "\n",
    "# ---- Add <pad>, <start> and unknown tags\n",
    "word_index.update( {'<pad>':0, '<start>':1, '<unknown>':2} )\n",
    "\n",
    "# ---- Create a reverse dictionary : {index:word}\n",
    "index_word = {index:word for word,index in word_index.items()} \n",
    "\n",
    "# ---- Add a nice function to transpose :\n",
    "#\n",
    "def dataset2text(review):\n",
    "    return ' '.join([index_word.get(i, '?') for i in review])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Have a look :**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Dictionary size     :  88587\n",
      "440 : hope\n",
      "441 : entertaining\n",
      "442 : she's\n",
      "443 : mr\n",
      "444 : overall\n",
      "445 : evil\n",
      "446 : called\n",
      "447 : loved\n",
      "448 : based\n",
      "449 : oh\n",
      "450 : several\n",
      "451 : fans\n",
      "452 : mother\n",
      "453 : drama\n",
      "454 : beginning\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "<br>**Review example :**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1, 14, 22, 1367, 53, 206, 159, 4, 636, 898, 74, 26, 11, 436, 363, 108, 7, 14, 432, 14, 22, 9, 1055, 34, 8599, 2, 5, 381, 3705, 4509, 14, 768, 47, 839, 25, 111, 1517, 2579, 1991, 438, 2663, 587, 4, 280, 725, 6, 58, 11, 2714, 201, 4, 206, 16, 702, 5, 5176, 19, 480, 5920, 157, 13, 64, 219, 4, 2, 11, 107, 665, 1212, 39, 4, 206, 4, 65, 410, 16, 565, 5, 24, 43, 343, 17, 5602, 8, 169, 101, 85, 206, 108, 8, 3008, 14, 25, 215, 168, 18, 6, 2579, 1991, 438, 2, 11, 129, 1609, 36, 26, 66, 290, 3303, 46, 5, 633, 115, 4363]\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "<br>**After translation :**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<start> this film contains more action before the opening credits than are in entire hollywood films of this sort this film is produced by tsui <unknown> and stars jet li this team has brought you many worthy hong kong cinema productions including the once upon a time in china series the action was fast and furious with amazing wire work i only saw the <unknown> in two shots aside from the action the story itself was strong and not just used as filler to find any other action films to rival this you must look for a hong kong cinema <unknown> in your area they are really worth checking out and usually never disappoint\n"
   "source": [
    "print('\\nDictionary size     : ', len(word_index))\n",
    "for k in range(440,455):print(f'{k:2d} : {index_word[k]}' )\n",
    "pwk.subtitle('Review example :')\n",
    "print(x_train[12])\n",
    "pwk.subtitle('After translation :')\n",
    "print(dataset2text(x_train[12]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.4 - Have a look for NN"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div class=\"comment\">Saved: ./run/figs/IMDB1-01-stats-sizes</div>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1152x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sizes=[len(i) for i in x_train]\n",
    "plt.figure(figsize=(16,6))\n",
    "plt.hist(sizes, bins=400)\n",
    "plt.gca().set(title='Distribution of reviews by size - [{:5.2f}, {:5.2f}]'.format(min(sizes),max(sizes)), \n",
    "              xlabel='Size', ylabel='Density', xlim=[0,1500])\n",
    "pwk.save_fig('01-stats-sizes')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step 3 - Preprocess the data (padding)\n",
    "In order to be processed by an NN, all entries must have the **same length.**  \n",
    "We chose a review length of **review_len**  \n",
    "We will therefore complete them with a padding (of \\<pad\\>\\)  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/markdown": [
       "<br>**After padding :**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[   1   14   22 1367   53  206  159    4  636  898   74   26   11  436\n",
      "  363  108    7   14  432   14   22    9 1055   34 8599    2    5  381\n",
      " 3705 4509   14  768   47  839   25  111 1517 2579 1991  438 2663  587\n",
      "    4  280  725    6   58   11 2714  201    4  206   16  702    5 5176\n",
      "   19  480 5920  157   13   64  219    4    2   11  107  665 1212   39\n",
      "    4  206    4   65  410   16  565    5   24   43  343   17 5602    8\n",
      "  169  101   85  206  108    8 3008   14   25  215  168   18    6 2579\n",
      " 1991  438    2   11  129 1609   36   26   66  290 3303   46    5  633\n",
      "  115 4363    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0]\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "<br>**In real words :**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<start> this film contains more action before the opening credits than are in entire hollywood films of this sort this film is produced by tsui <unknown> and stars jet li this team has brought you many worthy hong kong cinema productions including the once upon a time in china series the action was fast and furious with amazing wire work i only saw the <unknown> in two shots aside from the action the story itself was strong and not just used as filler to find any other action films to rival this you must look for a hong kong cinema <unknown> in your area they are really worth checking out and usually never disappoint <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad> <pad>\n"
   "source": [
    "review_len = 256\n",
    "\n",
    "x_train = keras.preprocessing.sequence.pad_sequences(x_train,\n",
    "                                                     value   = 0,\n",
    "                                                     padding = 'post',\n",
    "                                                     maxlen  = review_len)\n",
    "\n",
    "x_test  = keras.preprocessing.sequence.pad_sequences(x_test,\n",
    "                                                     value   = 0 ,\n",
    "                                                     padding = 'post',\n",
    "                                                     maxlen  = review_len)\n",
    "\n",
    "pwk.subtitle('After padding :')\n",
    "print(x_train[12])\n",
    "pwk.subtitle('In real words :')\n",
    "print(dataset2text(x_train[12]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Save dataset and dictionary (For future use but not mandatory)**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Saved.\n"
     ]
    }
   ],
   "source": [
    "# ---- Write dataset in a h5 file, could be usefull\n",
    "#\n",
    "output_dir = './data'\n",
    "pwk.mkdir(output_dir)\n",
    "with h5py.File(f'{output_dir}/dataset_imdb.h5', 'w') as f:\n",
    "    f.create_dataset(\"x_train\",    data=x_train)\n",
    "    f.create_dataset(\"y_train\",    data=y_train)\n",
    "    f.create_dataset(\"x_test\",     data=x_test)\n",
    "    f.create_dataset(\"y_test\",     data=y_test)\n",
    "\n",
    "with open(f'{output_dir}/word_index.json', 'w') as fp:\n",
    "    json.dump(word_index, fp)\n",
    "\n",
    "with open(f'{output_dir}/index_word.json', 'w') as fp:\n",
    "    json.dump(index_word, fp)\n",
    "\n",
    "print('Saved.')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step 4 - Build the model\n",
    "Few remarks :\n",
    " - We'll choose a dense vector size for the embedding output with **dense_vector_size**\n",
    " - **GlobalAveragePooling1D** do a pooling on the last dimension : (None, lx, ly) -> (None, ly)  \n",
    "   In other words: we average the set of vectors/words of a sentence\n",
    " - L'embedding de Keras fonctionne de manière supervisée. Il s'agit d'une couche de *vocab_size* neurones vers *n_neurons* permettant de maintenir une table de vecteurs (les poids constituent les vecteurs). Cette couche ne calcule pas de sortie a la façon des couches normales, mais renvois la valeur des vecteurs. n mots => n vecteurs (ensuite empilés par le pooling)  \n",
    "Voir : [Explication plus détaillée (en)](https://stats.stackexchange.com/questions/324992/how-the-embedding-layer-is-trained-in-keras-embedding-layer)  \n",
    "ainsi que : [Sentiment detection with Keras](https://www.liip.ch/en/blog/sentiment-detection-with-keras-word-embeddings-and-lstm-deep-learning-networks)  \n",
    "\n",
    "More documentation about this model functions :\n",
    " - [Embedding](https://www.tensorflow.org/api_docs/python/tf/keras/layers/Embedding)\n",
    " - [GlobalAveragePooling1D](https://www.tensorflow.org/api_docs/python/tf/keras/layers/GlobalAveragePooling1D)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_model(dense_vector_size=128):\n",
    "    \n",
    "    model = keras.Sequential()\n",
    "    model.add(keras.layers.Embedding(input_dim    = vocab_size, \n",
    "                                     output_dim   = dense_vector_size, \n",
    "                                     input_length = review_len))\n",
    "    model.add(keras.layers.LSTM(128, dropout=0.2, recurrent_dropout=0.2))\n",
    "    model.add(keras.layers.Dense(1,                 activation='sigmoid'))\n",
    "\n",
    "    model.compile(optimizer = 'adam',\n",
    "                  loss      = 'binary_crossentropy',\n",
    "                  metrics   = ['accuracy'])\n",
    "    return model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step 5 - Train the model\n",
    "### 5.1 - Get it"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "embedding (Embedding)        (None, 256, 32)           320000    \n",
      "_________________________________________________________________\n",
      "lstm (LSTM)                  (None, 128)               82432     \n",
      "_________________________________________________________________\n",
      "dense (Dense)                (None, 1)                 129       \n",
      "=================================================================\n",
      "Total params: 402,561\n",
      "Trainable params: 402,561\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "model = get_model(32)\n",
    "\n",
    "model.summary()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5.2 - Add callback"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "os.makedirs('./run/models',   mode=0o750, exist_ok=True)\n",
    "save_dir = \"./run/models/best_model.h5\"\n",
    "savemodel_callback = tf.keras.callbacks.ModelCheckpoint(filepath=save_dir, verbose=0, save_best_only=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5.1 - Train it\n",
    "GPU : batch_size=512 :  6' 30s  \n",
    "CPU : batch_size=512 : 12' 57s"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 25000 samples, validate on 25000 samples\n",
      "Epoch 1/10\n",
      "25000/25000 [==============================] - 74s 3ms/sample - loss: 0.6924 - accuracy: 0.5083 - val_loss: 0.6919 - val_accuracy: 0.5006\n",
      "Epoch 2/10\n",
      "25000/25000 [==============================] - 80s 3ms/sample - loss: 0.6668 - accuracy: 0.5982 - val_loss: 0.6759 - val_accuracy: 0.5417\n",
      "Epoch 3/10\n",
      "25000/25000 [==============================] - 81s 3ms/sample - loss: 0.6737 - accuracy: 0.5459 - val_loss: 0.6750 - val_accuracy: 0.5363\n",
      "Epoch 4/10\n",
      "25000/25000 [==============================] - 80s 3ms/sample - loss: 0.6569 - accuracy: 0.5696 - val_loss: 0.6373 - val_accuracy: 0.5694\n",
      "Epoch 5/10\n",
      "25000/25000 [==============================] - 80s 3ms/sample - loss: 0.6409 - accuracy: 0.6388 - val_loss: 0.6431 - val_accuracy: 0.6351\n",
      "Epoch 6/10\n",
      "25000/25000 [==============================] - 79s 3ms/sample - loss: 0.6149 - accuracy: 0.6703 - val_loss: 0.6466 - val_accuracy: 0.6623\n",
      "Epoch 7/10\n",
      "25000/25000 [==============================] - 81s 3ms/sample - loss: 0.5660 - accuracy: 0.7337 - val_loss: 0.5943 - val_accuracy: 0.7200\n",
      "Epoch 8/10\n",
      "25000/25000 [==============================] - 79s 3ms/sample - loss: 0.5467 - accuracy: 0.7518 - val_loss: 0.5087 - val_accuracy: 0.7856\n",
      "Epoch 9/10\n",
      "25000/25000 [==============================] - 79s 3ms/sample - loss: 0.5587 - accuracy: 0.7446 - val_loss: 0.6065 - val_accuracy: 0.6842\n",
      "Epoch 10/10\n",
      "25000/25000 [==============================] - 80s 3ms/sample - loss: 0.5798 - accuracy: 0.7039 - val_loss: 0.5688 - val_accuracy: 0.7133\n",
      "CPU times: user 58min 6s, sys: 9min 21s, total: 1h 7min 27s\n",
      "Wall time: 13min 12s\n"
   "source": [
    "%%time\n",
    "\n",
    "n_epochs   = 10\n",
    "batch_size = 512\n",
    "\n",
    "history = model.fit(x_train,\n",
    "                    y_train,\n",
    "                    epochs          = n_epochs,\n",
    "                    batch_size      = batch_size,\n",
    "                    validation_data = (x_test, y_test),\n",
    "                    verbose         = 1,\n",
    "                    callbacks       = [savemodel_callback])\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Step 6 - Evaluate\n",
    "### 6.1 - Training history"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div class=\"comment\">Saved: ./run/figs/IMDB1-02-history_0</div>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhMAAAGdCAYAAACo8fERAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAABywklEQVR4nO3dd3gUVdvA4d9JJ4XQe5XeQTqiVLEhKBbABthdG+CrvnYsn/raBV0V7AUUFQQsKB2lSJHepfeSQCC9ne+PM9ndhCRkSbKzSZ77unLtzpkzM8+GkienKq01QgghhBDnK8DuAIQQQghRskkyIYQQQohCkWRCCCGEEIUiyYQQQgghCkWSCSGEEEIUiiQTQgghhCgUSSaEEEIIUSiSTAhRhiilrlFKaevrD7vjEUKUDpJMCFG2jPB4308pVce2SIQQpYYkE0KUEUqpysBVQCIwGfPv/xZbgxJClAqSTAhRdtwEBAMzgI+sshF5VxdCiIKRZEKIsiMrcfgG+BPYBzRXSnXJ7yKlVAul1IdKqe1KqQSl1Cml1Aal1HilVMc8rqmslHpeKbXaqp9oXf+tUmpwjrrjrDEcn+cTw+dWnXE5yntb5Xus4yuUUr8ppY4ppTKVUqM96nZVSr2ilFqulDqolEq16s1WSl2f3/fAm8+klPrUiumHc9zveave0nM9Wwh/F2R3AEKI4qeUagV0BGKAP7TWWik1BXgck2SsyOO6B4G3gUCrKAEIAVpbX22B3jmuuRiYDlS2ilKBZKCJ9TUUUEX00Tyf+wjwBqCBOCDT41wksNyjepoVU1XgMuAypdRErfU9edzbm8/0MTAKuFopVVlrHZPL/RTu5O5Trz+sEH5GWiaEKBuyfnBN1VqnWe+/sV6HKaVCcl6glLoBGI9JJH4AWmqtI4EIoBZmvMXqHNc0An7G/NBdC/QFwrXW0UAlzA/uaUX3sVyqA/8DnEBNrXVFINKKG0xi8SswHKgNhGmtywMVgQeBeOBu6zNn4+1n0lovBTZjkq6b84i3H1Afk5x9d74fWgh/IcmEEKWcUioQ90DLyVnlWusNwAbMD8Src1wTDLxlHU7RWt+gtd5iXae11oe11t9orR/J8bhXgPLAduASrfUCrXWGdd1JrfUfWuvrivgjAoRhEqX7tdZHrecla60PWO8TtdZXaa2/1Vof0lpnWuWntNbvAQ7rPo5c7n0+n+lj63VUHvHebr3+oLU+cx6fVwi/IsmEEKXfAKAmsBdYkuNcVutEzoGY/YA6QAbwaEEeYnUlXGsdPmvDD8nXC3HtLOu1m5V8AYX6TF9iukLaK6U6eJ5QSkV73FO6OESpIMmEEKVfVqIwRWutc5ybghljcIVSqqpHeTfrdZ3W+mABn9MJMw5LA7PPN9jzlASsy6+CUipIKXWHNeDysFIqJWsBL+CkVS0M0/WR5bw+kzVO4ifrMGfrxE3Wc3ZorRcX9J5C+DNJJoQoxazfgrNmGkzOeV5rvQ8zsyMI80MuS3XrdZ8Xj8u6Jk5rHedlqIUVk9V1kRurhWERpvvhMqAGptXlOHDU+soS4fG+MJ8pq6vjphxjUrK6OD7z8n5C+C1JJoQo3YZifgsGWO+xlLb2+K38Euu8Z1fH+cy2KPIZGl7IOMf5Z4AewAnM56yutQ7XWlfTWtfADMrMovJ47625wG7MwM1B4JpV08mK94tC3FsIvyLJhBClmzeLUnVQSrWx3h+xXut7cX3WNdFWi0hBpVuvYfnU8eZ+ucmapfGg1vpLrfWxHOer57zAcr6fCatLKWtMRFZXxx3W6+9a60Pe3E8IfybJhBCllFKqMea3cYD2mLEAeX1lDUDMSj6y1mRoq5Ty/K09P6swiYECrvAi1FPWa677hFhrMuS6OJYXsu69Jo/z/fMoP9/PlOUzTCvEZUqp+rhn1cjAS1GqSDIhROmVlRis01qvs6ZB5voFfG/VvdmazTAPOIhZY6JAsyS01vGYhZ0AnldKRRUwzg3Wa2elVM1czt8M1C3gvfKSNd6hTc4T1niKp3K7qBCfKev6g8BvmO/jN5hFso4DM725jxD+TpIJIUoh67f5W63DgiwSNQuzKmQN4DJrYausNSSGK6WmKqWae9y/plLqLqXU+Bz3eRI4AzQFFiul+iilAqxrKiilrlJK/ZLjmiXAIcwiT1OUUg2t+uFKqXuASbhnW5yvOdbrW0qpXtb3B6VUZ0ziVCWfa8/nM3nKGoh5kfX6tcfCYUKUCursmWJCiJJOKdUHmG8dttZabyrANbMxMx2maq2HWmVjMS0TWb94xGN+yy5nHS/SWvfO5dnTgApWUQpm6WnXmAOttcpxzbWY1SqznnMaCMfMMvnUeuYI4Hmt9TiP63oDC4C9WusG+Xy2C4C/cScNyZjuhwjMtNJrgN+tcw211nsK+5k8rg3CzIrJanVpo7XemFesQpRE0jIhROmU1cWxvSCJhOVH63WwUqoCgNb6LaADpu9/D2bX0WRgPfAuMCbnTbTWC4BmmOWtN2LGHARhVpCcgjWzIcc10zGLay3AtAIEYpauvlNrfUfO+t7SWu8CugBfA8es+5/CdD101lr/cY7rvf5MHtem4x6TslISCVEaScuEEEIUM6XUdsyGYPdprT+0Ox4hipokE0IIUYyUUv0wa04kALW01qdtDkmIIifdHEIIUUyUUlVwz4b5VBIJUVpJy4QQQhQxpdQbwI2Y2THBmJU3W+WyWJYQpYK0TAghRNGrglkbIwn4A+griYQozaRlwksOh0MDOJ1OO/chEEIIIfxGkN0BlGCShQkhhChL8vwlWro5hBBCCFEokkwIIYQQolAkmRBCCCFEoUgyIYQQQohCkQGYRSQtLY0DBw6QnJxsdygCCAsLo06dOgQHB9sdihBClHqSTBSRAwcOEBUVRYMGDbB2NxY20VoTExPDgQMHaNiwod3hCCFEqSfdHEUkOTmZypUrSyLhB5RSVK5cWVqJhBDCRySZKEKSSPgP+bMQQgjfkWRCCCGEEIUiyYTwWnp6ut0hCCGE8COSTJQy11xzDR07dqRVq1ZMnDgRgNmzZ3PhhRfSrl07+vXrB0B8fDyjRo2iTZs2tG3blh9//BGAyMhI171++OEHRo4cCcDIkSMZO3Ysffr04fHHH2fFihX06NGDDh060KNHD7Zt2wZARkYG//nPf1z3nTBhAvPmzePaa6913XfOnDkMGTLEF98OIYQQPiCzOYrBZS/+Umz3/v2Zq/I9/+mnn1KpUiWSkpLo3LkzgwcP5q677mLx4sU0bNiQ2NhYAF588UWio6PZsGEDACdPnjzns7dv387cuXMJDAzk9OnTLF68mKCgIObOncuTTz7Jjz/+yMSJE9m9ezdr1qwhKCiI2NhYKlasyP3338/x48epWrUqn332GaNGjSr8N0MIIYRfkGSilBk/fjzTp08HYP/+/UycOJFLLrnENUWyUqVKAMydO5dvv/3WdV3FihXPee8bbriBwMBAAOLi4hgxYgQ7duxAKUVaWprrvvfeey9BQUHZnnfrrbfy9ddfM2rUKJYtW8aXX35ZRJ9YCFEiZGbAZ2/D2mVw/R3Q60q7IxJFSJKJUmThwoXMnTuXZcuWER4eTu/evWnXrp2rC8KT1jrXGQ+eZTmnVkZERLjeP/PMM/Tp04fp06ezZ88eevfune99R40axdVXX01YWBg33HCDK9kQQpQRc3+CZXPN++8+gk4XQ0SUrSGJoiP/oxeDc3VFFJe4uDgqVqxIeHg4W7duZfny5aSkpLBo0SJ2797t6uaoVKkSAwYM4L333uOdd94BTDdHxYoVqV69Olu2bKFZs2ZMnz6dqKjc/7HHxcVRu3ZtAD7//HNX+YABA/jwww/p3bu3q5ujUqVK1KpVi1q1avHSSy8xZ86c4v5WCCH8ydGDMP0L93FqCvz1O1x2vX0xiSIlAzBLkcsvv5z09HTatm3LM888Q7du3ahatSoTJ05kyJAhtGvXjqFDhwLw9NNPc/LkSVq3bk27du1YsGABAK+++ioDBw6kb9++1KxZM89nPfbYYzzxxBNcdNFFZGRkuMrvvPNO6tWrR9u2bWnXrh2TJ092nbv55pupW7cuLVu2LKbvgBDC72RmwudvQ1pq9vIFs0zXhygVlNba7hhKFIfDoQGcTme28i1bttCiRQtbYiopHnjgATp06MAdd9zhk+fJn4kQfmDeDJjygXkfEAChYZCUaI4feA7ad7cvNuGtPFcDlJYJ4RMdO3Zk/fr13HLLLXaHIoTwleOH4cdP3cdXDoVeA93H82b4PiZRLGTMhPCJ1atX2x2CEMKXMjPhi3fM+AiAWvXhquFw+iT8/gPoTNiyFg7tNedEiSYtE0IIIYre4t9g6zrzXgXAqLEQHAKVq0MHj66NeTPtiU8UKUkmhBBCFK2Yo/D9x+7jy66Hhs3cx30Hud8vmwuJ8b6LTRQLSSaEEEIUHa3hi3chJckc16gLg3OMlWrWFmo3MO+zpomKEk2SCSGEEEXnz9mw+R/zXikYNcZ0b3hSCvoNdh8v+FmmiZZwkkwIIYQoGrHH4ftJ7uP+10KjPNaV6doHwq2NBY8fhg2rij8+UWwkmSjDPHcIFUKIQtEavhzvXkOiWi245ra864eGwcWXu49lmmiJJsmEsF16errdIQghCmvpXNi40rxXCkaONQlDfvoMNDM9wHSNHNpXvDGKYiPrTBSHOy8/d53z9fHsPE89/vjj1K9fH4fDAcC4ceNQSrF48WJOnjxJWloaL730EoMHD87zHlni4+MZPHhwrtd9+eWXvPHGGyilaNu2LV999RVHjx7l3nvvZdeuXQB88MEH1KpVi4EDB7Jx40YA3njjDeLj4xk3bhy9e/emR48eLFmyhEGDBtG0aVNeeuklUlNTqVy5Mt988w3Vq1cnPj6eBx98kFWrVqGU4rnnnuPUqVNs3LiRt99+G4BJkyaxZcsW3nrrrUJ9a4UQ5+lUjNm8K0vfQdC09bmvq1ID2neDNUvN8YKZcPMDxROjKFaSTJQiw4YNY/To0a5kYurUqcyePZsxY8ZQvnx5Tpw4Qbdu3Rg0aFCuO3t6CgsLY/r06Wddt3nzZv7v//6PJUuWUKVKFWJjYwF46KGH6NWrF9OnTycjI4P4+HhOnjyZ7zNOnTrFokWLALPR2PLly1FK8fHHH/Paa6/x5ptv8uKLLxIdHc2GDRtc9UJCQmjbti2vvfYawcHBfPbZZ3z00Uf5PUoIUVy0hq8nuKd3Vq0JQ0YV/Pq+g9zJxNK5cO0oCI/I/xrhdySZKEU6dOjAsWPHOHToEMePH6dixYrUrFmTMWPGsHjxYgICAjh48CBHjx6lRo0a+d5La82TTz551nXz58/n+uuvp0qVKgBUqlQJgPnz5/Pll18CEBgYSHR09DmTiaxNxwAOHDjA0KFDOXz4MKmpqTRs2BCAuXPn8u2337rqVaxYEYC+ffvy888/06JFC9LS0mjTpo2X3y0hRJFYsRDWLncfjxh97u4NT83bmRUwD+2FlGRYOgf6X1PEQYriJslEccinK6K4XX/99fzwww8cOXKEYcOG8c0333D8+HFWr15NcHAwDRo0IDk5+Zz3yes6rfU5WzWyBAUFkZmZ6TrO+dyICPdvHw8++CBjx45l0KBBLFy4kHHjxgHk+bw777yTl19+mebNmzNqlBe/BQkhik7cSZjsselh74EmOfCGUtBvEHw1wRzPn2laKwJkSF9JIn9apcywYcP49ttv+eGHH7j++uuJi4ujWrVqBAcHs2DBAvbu3Vug++R1Xb9+/Zg6dSoxMTEArm6Ofv368cEHZmfAjIwMTp8+TfXq1Tl27BgxMTGkpKTw888/5/u82rVrA/DFF1+4ygcMGMB7773nOs5q7ejatSv79+9n8uTJDB8+vKDfHiFEUZr8PiScMe8rV4Prbz+/+3Tr554meuwQbJRpoiWNJBOlTKtWrThz5gy1a9emZs2a3HzzzaxatYpOnTrxzTff0Lx58wLdJ6/rWrVqxVNPPUWvXr1o164dY8eOBeDdd99lwYIFtGnTho4dO7Jp0yaCg4N59tln6dq1KwMHDsz32ePGjeOGG27g4osvdnWhADz99NOcPHmS1q1b065dOxYsWOA6d+ONN3LRRRe5uj6EED60ajGs/st9fNtoCAs/v3uFhkHPy9zHMk20xFFaa7tjKFEcDocGcDqd2cq3bNlCixYtbImprBo4cCBjxoyhX79+uZ6XPxMhismZU/DsPXAmzhxffLkZK1EYxw/Dk7ebAZ0AL00yS3ELf5JnH7e0TIgS59SpUzRt2pRy5crlmUgIIYrRlA/ciUTFKnDDXYW/Z9Wa0K6r+3j+rMLfU/iMDMAs4zZs2MCtt96arSw0NJS///7bpojOrUKFCmzfvt3uMIQom9YshRWL3Me3PVx0Uzn7DnLPDFkyB64dAeVkmmhJIMlEGdemTRvWrl1rdxhCiJIg/ox71gVAj/7QpnPR3b9FB6hZDw7vM7uOLp2bfUMw4bekm6MIyfgT/yF/FkIUg+8+hNPW+jHRlWDoPUV7f6VM60SW+TPBY3q58F+STBSRsLAwYmJi5IeYH9BaExMTQ1iYFwvnCCHyt/5vWDbPfXzrgxARVfTP6d7P3bVx9KB7O3Ph16Sbo4jUqVOHAwcOcPz4cbtDEZjkrk6dOnaHIUTpkBhvdgTN0rUPtO9ePM8KKwc9B8Cc6eZ47gxo3al4niWKjCQTRSQ4ONi1BLQQQpQqUyeazbwAoirA8PuK93l9roa5P5lpohtXmhaK6rWL95miUKSbQwghRN42roK//nAf3/IARJYv3mdWq5V9YOcCmSbq7ySZEEIIkbukBPjyXfdxp4uhY0/fPNtzFsdff0Byom+eK86LJBNCCCFy98MnEGuNA4uMhpvu992zW3SAGta4p+REM01U+C1JJoQQQpxty1pY9Kv7+Kb7oHwF3z0/IECmiZYgkkwIIYTILjkJvnjbfdyhB3Tu5fs4evR3bx525ABsWeP7GESB2J5MKKUClFJjlFJblVLJSqn9Sqk3lVLnXENVKdVbKaXP8XVRAevnvT+2EEKUJT9+CieOmvfhkWbQpcpzj6fiExZupolmkd1E/ZY/TA19G3gImA68CbSwjjsopfprrfNr19oC3JpLeSgwETgBrMjl/ETgzxxlB7yMWwghSp9t67PPnhh+r1nt0i5Z00QBNqyEY4fMbA/hV2xNJpRSrYAHgWla6+s8yncD44FhwOS8rtdaHwW+zuW+wzGtLl9qrdNyuXSZ1vqs64QQokxLSYbPPbo32naBbkWzM+/uo6f55Z99/Hs4jirlw6hfNYr6VaOoVyWS2pUjCA7Mo6G8em1o3dmsN6G1SXSKehlvUWh2t0wMx+yP/k6O8knAq8At5JNM5ONO6/XjvCpY3SgZWuvk87i/EEKUPtO/gOOHzftyEXDrQ4Xq3kjLyGTJ1iPMWrWXjfti3ScOwp9bjrgOAwMUtStFUL9qJPWqRFG/aiT1q0a5k4z+g00yAfDX7zD4NrNSpvAbdicTnYFMcnRFaK2TlVJrrfNeUUo1BPoAf2mtt+VR7V3gM6v+DuB9YLyWjTWEEGXVjk0w7yf38dC7oWKV87rV8dNJ/PrPPmav2U9sfMo562dkavadiGffiXjAnWQEKEXtSuHUrxLBQ1FViT5zHJISSV8yh6B+g/K+ofA5u5OJWsAJrXVuf9sOAj2UUiFa61Qv7nk7prUjt1aJNGAm8CtwyHr+HZiWkfbAKC+eI4QQpUNqCnz+lulGAGjVES4akP81OWitWbsnhlmr9rJs21Eyc/xuFhiguKh5Dfq2rs3ppFT2nYhn7/Ez7D0ez7G4pFzvmak1+2MS2B+TQKWgFtyPWfPi0A9TeGFrFPWqlTetGFZrRu3KEYQEBXr/+UWh2Z1MhAN5pa3JHnUKlEwopQKBkcBp4Puc57XWS4DBOa6ZhEkuRiqlPtFa/5XHve8G7r7vvmJek14IIXxtxldm/wswMyhue7jA3RsJyWnMXX+AWav2sj8m4azzlaNCufLC+lzRoS6Vo3LfyTcxJd1qmTDJxT4ryTjqkWTMjWzBqFPLCNdp1Es7SZWDW1kSW48lW933CVCKWpXCqV8l0j0mo2okdSTJKHZ2JxOJQLU8zoV51Cmoy4A6wEda6wJdp7XOVEq9Yl17JZBrMqG1nghMdDgc0hUihCg9dm2FP6a5j2+4Ayrn9d+yx2VHTzNr1V7mbzhIclrGWefbNajM1Z3q071pdYLyGlxpCQ8NonntCjSvXSFbeVKqlWQcN60Y65Z0pPv+5QAMPrOeNeXqZaufqTUHYhI4EJPAkm1HXeUBCmpVtMZkVI1yjc2oW0WSjKJidzJxCGiplArNpaujNqYLxJsujjus1zwHXuZhj/V6fh2EQghREqWlWt0b1gz85u3hkivzrp6RyV9bDjNr1V427T951vnwkCD6t6vN1R3rU69qVKHDKxcSRLNaFWhWq4IpaH0nPG2SiW7Je3imVy22poa5ukyOnMqruwQOxCZwIPbsJKNmVpLh0ZohSYb37E4mVgIDgC54rPuglArDjGFYXNAbKaWqAVcD67XWq7yMo4n1ejTfWkIIUZrMmgyH9pn3oWEwcnSu3RvH4syAyt/W7ONUwtm/3zWoGsXVnevTr01tyoUU44+VGnXMeI5Nq1Fa0/PIKnreeJfrdHJqOvtjElxjMfYdP8PeE/EcOZlIbk3KmRoOxiZwMDaBpbkkGSbBiKRh9fL0aFZdEox82J1MfAc8CYwm+yJSd2HGSnyTVaCUqglEA/vy6MK4DQgm/+mglbXWMTnKQoFx1qHscyuEKBv27IDZU93H190OVWq4DrXWrNkdw6xVe1i+/SiZOX4aBwYoejavwdWdG9C6bkWUr1bI7DcYNq027//6HQbfahIhICwkiCY1o2lSMzrbJclpGew/4R6LsdeLJGPZdpNk1KkcwSs3d6VatExJzY2tyYTWeoNS6n3gAaXUNMxAyKwVMBeRfY2JV4ARmGmfC3O53e2YQZv5LUY1Wyl1CFiNezbHLZiWiQla69xWyxRCiNIlPQ0+e9O9cVbTNtB7IADxyWnMWXeAn1ft5UDs2QMqq0SFceWF9bjiwrpUisx9QGWxat3JrIB57BAkxsPyedDrqnwvCQsOzDPJOHDCnVzsPW4GgR6OPTvJOBCTwCNfLOPVm7tSu/I5d3soc+xumQDTKrEHuBu4CrME9gTg2XMspe2ilOqBSUIma63P7shz+wG4BrPqZgUgAVgDPKe1nnJe0QshREnzy7dwcI95HxIKI8aw81g8s1btYf7GQ6TkMqCyfcPKXN2xPt2bVScwwMZtnbJ2E/32Q3M8b6YZ53EeLSNhwYE0rhlN4xxJRkpaBgdiTHKx8+hpfvp7N+mZmmNxSTzyxTJevrkLF1QvXxSfptRQsk6Td7JmczidTrtDEUII7+3fBS89CBkmYdh+yTA+yGjK5gO5DKgMDWJAuzpc1bE+9apE+jrSvCUmwKM3m+W/AR55FVq0L7bHrdp5nBemriIl3fx+GxkWxIvDu9CyTsVie6afyjNjs33XUCGEED6Snm66N6xEYlu5Wjy8p/JZiUTDalE8dGVrJo/ux32XtfKvRAIgPMJsT55l/sxifVynRlV55ZauRISaxvz45HT++/Xf/LPrRLE+tySRZEIIIcqATK05OOVz2LcTgBQVyGsV+5KpzI+BoABF71a1eHNEdz64+2Ku6li/eGdmFFYfj+W01y6HE0fyrlsEWtWtxOu3dSM6PAQwXSHPfruSJVuL97klhSQTQghRip1JSmPa37t59s0fqLrIvTjVl9HdOBBckSrlwxjRuylfP9yPJ4Z0oHW9Sr6bmVEYtepBywvNe50JC34u9kc2qhHNmyO6U7W8GXialpHJSz/8w5x1B4r92f7Oj9NOIYQQ5+vfw3HMWr2XBRsOkpaWzjtHZhGC6fPfGlKdXe3681znhnRtWs3eAZWF0W8wbP7HvP9zNgy6xTVNtLjUrRLJWyN78N+v/+ZgbAKZWvPGzHUkpqQxuEvDYn22P5NkQgghSonU9Az+3GxWqNxy8JSr/IbTa2iWegyAjIBAou//L6+0amFTlEWoTSeoWtNsm54YD38vgEuuKPbHVosux5sjuvPk5BXsOnoaAOfvm0lISWd4z8Ylo2WniJXQdFQIIUSWo6cS+XTeVm55dz6vzViXLZGomxbLiLi/XceBg2+lZmlIJAACAqHP1e7jeTPcO58Ws4qRobx2azda1KngKvti4XYmzd1CWZwlKcmEEEKUQJlas2rncZ77diUj31vAd0t3EpfoXuo6KEDRt1UNxgesIFhb60bUawyXXW9TxMWk5wCzVgaYtTO2rffZo6PKBfPqzV258AL3tk4/Lt/NOz9vICPnkqGlnCQTQghRwiSnpvPYl8t5avIKlu84lm2p66rlwxjZpxnfjO7H45F7CT+ww5wIDIJRYyGolPVuh0dCd99NE80pLCSI54d24qLm7qXIZ6/dzyvT1pCWUaB1F0uFUva3SgghSr9P5m9lw77YbGUdL6jCwE716drEGlB59BD89IW7wlXDoO4FPo7UR/oNgkW/mPdrlkHMUahc3WePDwkK5KnrOvD2zxtcMzv+3HKYpNR0nrmhI2HBpX+DMGmZEEKIEmTN7hPMXLnXdXzlhfX4xNGLl2/uSo9mNUwikZlpthZPTTGV6jSEK4faFLEP1KrvXgFTZ8KCX3weQmBAAGOvbss1XRq4ylbtPM6T3/xNQnKaz+PxNUkmhBCihEhITuPNmetcx92aVOOhK1tTp3KOFSoXzIIdG837gACreyPYh5HaoN9g9/s/f3MnUj4UoBT3DmjJLZc0cZVt2n+Sx75azqkE38fjS5JMCCFECfHB75s5ftrsR1G+XDAPD2xz9jTE44fhx0/dx1fcCPWbUOq17QJVrK6NhDNmmqgNlFLc2qsp91zqnjHz75HTPPLFMo7FJdkSky9IMiGEECXA0m1HmLPevdLiQ1e2OXsL8MxM+OId92/lterDwJt8F6Sdck4TnT/TZ9NEczOk2wWMvbotAVaul7WF+cGYs7d1Lw0kmRBCCD93KiGFd3/Z4Dru07oWF7eseXbFxb/BVqsbRFndG8EhPorSD/S8zD1NdP8ud1ePTS5rX5cnh1xIkJVRZG1hnrXQVWkiyYQQQvgxrTXjf93IqQSzhkTlqFDuv7z12RVjjsL3H7uPL7sOGjbzUZR+IiIKuvV1H8+bYV8slotb1uT5YZ0JDTI/bk8mpPDol8ty3fK9JJNkQggh/Nj8DQez7Uw5ZmBbosrlGEypNXzxLqRYffI16sDgW30YpR/xHIi5ZinEHrcvFkunRlV5+eauhJfiLcwlmRBCCD91/HQS78/e5Dq+8sJ6dG5c7eyKf/3u3vBKKRhZxro3PNVuAM3bmfeZmbCw+HcTLYjW9Srx+q2ldwtzSSaEEMIPaa15++cNJKSkA1CjQjnuvjSXPTVij8PUie7j/tdA45a+CdJfebZOLLZnmmhuGtc0W5hXKYVbmEsyIYQQfuiXf/axeqdpolfAfwa3p1xIjkWLtYavxkNSojmuVguuGeHbQP1Ru65Q2WrBiT8NKxbZG4+HulUieWtEd2pXigBwbWE+Y8VumyMrHEkmhBDCzxyKTWDSnC2u4yHdGtKmXqWzKy6bBxtWuo9HjoHQsLPrlTUBgdDbc5qo73YTLYjqFcJ5c0R3GlaLcpU5f9/M5D93lNgdRyWZEEIIP5KRaX5TTU4zO33WqxLJyD65zMo4FQPffug+7jsImrbxUZQlwMWXu6eJ7tsJ/27Kv76PVYwM5fXbupeaLcwlmRBCCD8ybfkuNu030wYDAxSPXdOekKAcG0VpDV+/B4nx5rhKDRgyyseR+rnIKOjax308z7e7iRZEVLlgXrm5Kx0alvwtzCWZEEIIP7Hn2Bm+WLjddXxTz8Y0qRl9dsXFv8LaZe7jEaMhrFzxB1jS9B3kfv/PX34xTTSnciFBvDCsExc1c+9yWhK3MJdkQggh/EBaRiavz1jr+gHSpGY0w3o2Prvivp0wxaN7o/dA946ZIru6F7i7fjIz3duU+5mQoECeuv5CLm1bx1X255bDjPtulau7y99JMiGEEH5gyp//8u8Rs8xycGAAjw5uR1Bgjv+ikxLgw/+DdGtL6zoN4ca7fBxpCZNzmmhaqn2x5CMwIICxg0ruFuaSTAghhM22HTrFlL/+dR2P6tuM+lWjslfSGr4cD8cOmePQcnDvk+5BhiJ37btDparm/Zk4v5ommlNJ3sJckgkhhLBRSloGr/+0lkxrBH/repW4pkvDsysu+hVWevwgvO0hqFHXR1GWYIGBpisoi827iZ5LXluY/+eLZRw/7b9bmEsyIYQQNvp8wTb2W9tShwUH8p9B7QjM2rc6y75/s08DveSK7DMVRP4uvty9vPjeHbBzS/71/UDOLcz3xyTwyOdebGEecwxSkosvwBwkmRBCCJus3xvD9L/dKx/eM6AlNSuGZ6+UlAAfeIyTqHsBDLvXh1GWAlHR0LW3+3i+/buJFkTOLcyPFmQLc63N2JDn7oWfvvBRpJJMCCGELRJT0nlj5jqyGtw7N67KFR1ydFtk7QZ6/LA5Di0H98g4ifPS12Mg5uq/zKJfJUBeW5hvyW0L89jj8M7T8OW7kJwIc3+C7Rt9EqckE0IIYYOP5mzm6CnTBx4ZFsyYgW1RKkf3xsKfYdVi9/GIh8324sJ79RpBk9bmfUYGLPTPaaK5OecW5lrDX3/Ac/fAptXuC6vVguDgXO5Y9CSZEEIIH/t7x1Fmr9nvOn7gilZUjsqxp8beHfCdx26gva6CLr19E2Bp1c9jEatFv/rtNNHc5NzCPNnawnzVyi0w/ln4/C33hm9KwaVD4DknNMxlKfZiIMmEEEL40OnEVN75eYPr+OIWNendqlb2SokJ8OHLHuMkGsGwe3wYZSnVvgdUtJauPnMqe6tPCZBtC3Ot6RW3ieYTH8++2Vu1WvDY6zD0bp92h0kyIYQQPvT+7E3Exps1AypGhPLgla2zd29oDV+87R4nERZu1pPImo0gzl9QUPZpovP8azfRgqhbJZJ3rm3Gq6dm82jMXCK1R+tK/2tMa0RWd44PSTIhhBA+smjTIRZuOuQ6Hj2wjavZ2mXBLDNAMMttD0P12j6KsAy45HIIssYR7NkBu7baG483tIbl86n6xmg6nHYvcnYoqDz/qT6EybX7oW0anBtky1OFEKKMiTmTzITf3CPrB7SrQ7em1bNX2rMDpk5yH/ceCF16+SjCMiKqghl7snSOOZ4/Exq1yO8K/xB3Er6eAGuWZiv+s0Yn3gjuSHJACBsWbichJZ07+zU/ezBvMZOWCSGEKGZaa975ZQNnkswYiGrR5bj3spbZKyUmwEce4yTqNTL93qLoeQ7EXPWnf08T1dosAf7cPdkTiSrV4T//o9Oz42jRyD3m5odlu3jnF99vYS7JhBBCFLPf1+5nxY5jruNHBrUlItRjyl5u4yTueUrGSRSX+k2gsZXMZaSbmR3+6PQps7HbxFcg3mOhql5XwbgPoHm73LcwX7OfV6f7dgtz25MJpVSAUmqMUmqrUipZKbVfKfWmUiqiANf2Vkrpc3xdlOOaaKXUBKXUQet5m5RS9ylftwkJIcqEI6cS+fCPza7ja7o0oH2DKtkrzZ+ZfZzEyNFQPccMD1G0PBexWvSru0XIX6z6E569J/vfi0rVYOzLcOuDJuG05LaF+eLNh3l+qu+2MPeHMRNvAw8B04E3gRbWcQelVH+tdX6p1Rbg1lzKQ4GJwAlgRVahUioEmAN0ACZY118BOIHqwLhCfhYhhHDJ1Jo3Z64jKdX8h16nUgSj+jbPXmnP9uzjJPpcDZ0u8WGUZdSFF0GFyqaL4/RJ88O7W1+7ozI7m052Zt/UDcx+LDfcCeVy/z07awvz8NAgZqzcA8DKf4/z+9r9DO7coHhjxuZkQinVCngQmKa1vs6jfDcwHhgGTM7req31UeDrXO47HNPq8qXW2jPdvBPoDDyktZ5glU1SSv0IPKmU+kxrvbeQH0sIIQCYsWIP6/fGAhCg4NFr2hEWHOiukBhv1pPISDfH9RrDjXfZEGkZFBQEva+Cn740x/Nn2p9M/LMEvppg1sDIUrEKjBgNrTud8/IApbjvspZEhgXzzZ87uLRdHa7uVL/Yws32bJ88JW/DAQW8k6N8EpAI3HKe973Tev04R/lN1n0n5Sh/BwgGhp7n84QQIpt9J+L5dL572uHQixrTvHZFdwWt4bO34MQRc1xO1pPwuUuudE8T3bUVdm2zJ4740zDpf+B8MXsi0XMAPP9RgRKJLEopbuvdlHE3dmLMwDYE+KgH3+5ujs5AJh5dEQBa62Sl1FrrvFeUUg2BPsBfWuttHuUBwIXAP1rrnPuyrrDi8Pp5QgiRU0ZmJm/MWEdquumlbVS9PDdf0iR7pXkzso/OHzHGrF4ofKd8BejcC5bNNcfzZ8AFj/k2hrXL4KvxZupnlgqVzfoibbuc9227N6t+7kpFyO6WiVrACa11Si7nDgJVrHEO3rgd09qRs1WiIlDOum821vNjAFkZRghRaN8t2cm2Q6cACApQPDq4HcGBHv/d7t4G33v8F9V3EHS62LdBCqOfx0DMlYshLtY3z004A5+8Du89nz2R6N4fnv+wUImEHexOJsKB3BIJgGSPOgWilAoERgKnge9zeRbneF6ez1JK3a2UWlXQWIQQZdO/h+P4evEO1/FtvZvSsHp5d4WEM2Y9iaxxEvWbmIF1wh4NmrgXrcpIh8W/Ff8z1/8Nz90Ly+a5y6IrwgPj4I7/QERU8cdQxOxOJhIxMy9yE+ZRp6AuA+oAU7TWOa/LOs7veXk+S2s9UWtd8I4rIUSZk5qewesz1rkWDGpRpwLXd2/krqA1fP42nDhqjmWchH/o67GI1cJfim+aaGK8GScz/rnsC2V17QPPT4T23YrnuT5gdzJxCNOVkdsP+NqYLhBv9oi9w3rN2cUBcBJIIpeuDOv5lcmlC0QIIQrqy4Xb2XP8DAChwYE8Oqg9gQEeA+ByjpMYORaq1vRxlOIsHXtCdCXzPi42+9oORWXjKtMaseQPd1lUBXA8A3c9DpElrzXCk93JxEorhmydQ0qpMKA9UOBuBaVUNeBqYL3W+qzrrPUq/sGsX5EzeelixSHdGEKI87Jpfyw/LNvlOr6zX3NqV/ZYE2BXLuMkOvb0YYQiT0HBZppolvkzi+7eSQnwxTvwztNw8oS7vEsveOEjs95FKWB3MvEdoIHROcrvwoxf+CarQClVUynVXCmV17iG2zDTO3NrlcgyxbpvzgXvRwPpwNSCBi6EEFmSUtN5fcY6snZD6NCwCgM95/cnnIGP/s89TqKBjJPwO5dcCYHWBMedW8xiYoW16R/TGvHnbHdZZDTc+xTc/QRERRf+GX7C1mRCa70BeB8YopSappS6Uyn1JvAWsIjsC1a9glmxMq8hrrdjBlGetYiVh0nAauAta8nuO5VS04AhwKta692F+0RCiLLok3lbOXzSDLmKCA1i7NVt3fP7s9aTiLH25igXAffIOAm/E10ROnusPDqvEK0TyYlmuufbT0LscXd5x56mNaIUztyxe50JMK0CezCtBVdhlsCeADx7jqW0XZRSPTDLcE/WWp/Mq57WOlUp1R94CbNgVmVgJ2YVzvfP/yMIIcqq1buOM2uVe+Hc+y5rRbXocu4Kc6abtQSyjJJxEn6r72BYPt+8X7nItB6Vr+DdPbashc89kkeAyPJw8wPZk5VSxvZkQmudgdmT481z1BuJmfaZ27mlmLUlCvK8U8AD1pcQQpy3+OQ03pq53nXco1l1+rf1GOO9ayv8+In7uP81paaPvFS6oBlc0Nz8uaWnweJfYeBNBbs2OQl+/BQWzMpe3qEH3PKgafkoxWxPJoQQoqRyzt7EiTNmSZzo8BAevqoNrg2I47PWk7B2bWzQFK6/I487Cb/Rd5BJJsBME738RrOPR362rc++NDpAeCTcfD906Q1lYFNquwdgCiFEibRk6xHmbXDPJn/oytZUiLAmimkNn7/pbuoOjzTjJLL2gRD+q9PF7laEUzHZp/LmlJIMUz6A1x/Lnki062rGRnTtUyYSCZCWCSGE8NqphBTe/WWD67hfm9r0bOExDmLONFi73H08aixUreHDCMV5Cwo2MztmWZMJ5/2U+1iHHRtNa8SxQ+6y8EgYfi9061dmkogskkwIIYQXtNa8+8sG4hLNenpVosJwXN7KXWHnFtN3nqX/tabfXJQcva6EX78zU3n/3Qx7d5hlzwFSU2D65zD3J9MClaVNZ7M5V8UqdkRsO+nmEEIIL8xdf5Cl2466jsde3ZbIMKv7Iv4MfPSKe5xEw2Zw/e02RCkKpULl7NM3s6aJ7twMzzvMDJ2sRKJcuGl5euiFMptIgLRMCCFEgR2LS+KD3ze5jgd2rEfHRlXNgdbw6RsQ6zlO4gkZJ1FS9R0Efy8w71csNEnD/FnguWJBq44wYjRUqmpHhH5FkgkhhCgArTVv/7yehBSzimXNiuHc1b+Fu8IfP5rdILOMegSqyDiJEuuC5mYGzp7tZprovBnuc2HhcONdcPHlZW5sRF6km0MIIQrg59V7+WeX2VtBAY8ObkdYiPX72L+bs4+TuHQIdOju+yBF0VEK+g06u7xFB3j+Q7jkCkkkPBS4ZcLhcKwDPgS+djqdZ4ovJCGE8C8HYxOYNHer6/j67hfQqq61y2T8aZj4CmRazd8XNIfrRtkQpShynS6BGV+baZ+h5eDGO81MD0kizuJNN0dL4D3gNYfD8S3wkdPplF02hRClWkam5o0Z60hJM4Mq61eN5LbeTc3JzExrnIS1/4KMkyhdgkPg0ddg8z9mfISMjciTN8lEHeAO4E7r9XaHw7EG+AiY7HQ6E4ohPiGEsNUPy3ax+YDZ8icwQPHY4PaEBAWak3/8COtXuCvf/h+oXN2GKEWxqVzNjI0Q+VLac55sATkcjsswG3NdDQQC8Zjtwic6nc61RRmgv3E4HBrA6XTaHYoQopjtPnqaBz9ZQlqG6cK4rVdTbr7EWm/g383w2n/c3RsDrjOD8oQovfLs3zmvZCKLw+GojmmluANoYBWvxIyt+NbpdCaf9839lCQTQpQNaRmZPPTJEnYdPQ1A01rRvDOqB4EBAXAmDl64H06aAZlc0Bwee+PcezgIUbLlmUwUajaH0+k8CrwCjAUOWQ/qAnwC7Hc4HKMLc38hhLDL5MU7XIlESFAAjw5ubxKJrHESWYmEa98NSSRE2XXeyYTD4ajtcDieA/YC04AawEzgGuBFIAN40+FwvFgEcQohhM9sPXiKb5fsdB2P6tucelUizcHvP8KGle7Kt//H9KsLUYZ5lUo7HA4FXAHcY70GAUeBlzHjJfZbVWc6HI43gXmYLpBniixiIYQoRilpGbw+Yy2ZVhdw2/qVuKZLA3Nyx0aY/pm78mXXQftuvg9SCD/jzToTT2NmctTFdGcsBpzANKfTmZ6zvtPpPONwOGYB44omVCGEKH6fzt/KgRgzOS08JIhHBrUjQCkzTmLiq+4Bl41awLWynoQQ4F3LxAvAaUwC8YHT6dxcgGtWA1+eT2BCCOFra/ec4KcVe1zH9wxoQY0K4SaB+MRjnEREFNz9hIyTEMLizb+E+zCrXxZ4PQmn0/kr8KvXUQkhhI8lpKTx1sz1ruMuTapxWfu65mD297DRY5zEHTJOQghPBU4mnE7nR8UZiBBC2OmjPzZzNC4JgKhywYy+qg1KKdi+EX76wl3x8hugbVebohTCP3kzZuJCYCBmGe2juZyvgVnIamZpX7hKCFG6LN9+lN/XHnAdP3BFaypHhcGZUzDJc5xES7hmhD1BCuHHvJka+h/MAMxjeZw/ipm5MbawQQkhhK9sP3SKt392d2/0almT3q1qmQTi49fd4yQiy1v7bsg4CSFy8iaZ6A4scDqduS6ZaZXPBy4qisCEEKI4ZWrN90t3MvqzpZxKSAWgUmQoD1zR2lSYPRU2rXZfcPt/ZKMnIfLgTYpdAzhwjjqHgJrnH44QQhS/2PhkXp+xjn92nXCVhYcE8d9rO1A+PAS2b4DpHhPRLr8R2naxIVIhSgZvkolE4FxpeVUg5fzDEUKI4rXy32O8MXOdqzUCoFmtCjwxpAM1K4bD6VNmPQltjZNo3BKulXESQuTHm26OtcBgh8MRmdtJh8NRHhhs1RNCCL+Smp7BR3M28/SUla5EQgFDezTirZHdTSKRmQmfvAanYsxFkeXNehKBgfYFLkQJ4E0yMRHT8jDH4XC09TzhcDjaAX8AVax6QgjhNw7ExDPms6VMW77bVVYpMpRXbunK7f2aExRo/Vf463ew6R/3hXc8KuMkhCgAb9aZ+M7hcFwB3AascTgcR4GDQG2gOibJ/8LpdE4plkiFEMJLWmvmrj/Ie79tJDktw1XepXFVHhnUjgoRoe7K29bDjK/cx1cOhTadfRitECWXV7uGOp3OkcC9wGbMgMyO1usm4G6n0ykL1Qsh/EJCShr/+2ktb8xc50okggMDuHdAS14Y1jl7IpFznESTVjD4Nt8HLUQJ5fWEaafTORGY6HA4woEKwCmn05lY1IEJIcT52nrwJK9OX8vhk+7/mupUjuDJIR1oVCM6e+WkBLMwVVysOY6MlnESQnjpvFdfsRIISSKEEH7DrB2xiy8WbiMj070kzuXt63LfZS0JC/H4L09r+GcJTPnAPeAS4M5HoWIVH0YtRMknS7kJIUqFmDNm7Yg1uz3WjggN4uGr2pgVLbNVPgaT34d1f2cvv/pmaN3JB9EKUbp4lUw4HI4IwAFchhl4GZpLNe10OhsVQWxCCFEgK3aYtSPiEt1rR7SoXYH/XtuBGhXD3RUzMmDeDJjxJaQku8vLV4Rh90DnXj6MWojSw5uNvioAfwEtgdNAeSAOCAHKWdUOAWlFG6IQQuQuNT2DT+Zt5acVe1xlChjWszG3XNLEPeUTYM8O+PJd2Pdv9pv0uhKGjIKIKJ/ELERp5E3LxNOYROIO4HMgA3gbeBHoCrwHJGBaLYQQoljtPxHPK9PWsPPoaVdZ5ahQHrumPe0beIx5SE6En74yLRJZszUAatWHWx8yMzeEEIXiTTIxCFjsdDo/A3A4HIBrg6/lDofjSmAD8BTwTBHHKYQQgFk74o91B3h/9iZSPNaO6NakGmMHtSM6PMRdec0yMzbipHscBcEhMPAmuOw6CAr2YeRClF7eJBN1gZ89jjPxGDPhdDqPORyO34BhSDIhhCgGCclpvPvLBhZtPuwqCw4M4K5LWzCoU32UUqYw9riZpbFmafYbtLwQbn4AqucYkCmEKBRvN/rK8DiOwyxY5ekoZmCmEEIUqc0HTvLq9DUcPZXkKqtbOYInhlxIoxrlTUFmBiz4GaZ/Ybo3skRFw9B7oGsfyEo4hBBFxpsVMPdjWieybAYucTgcniu79ASOeBOAUipAKTVGKbVVKZWslNqvlHpTKRXhxT2ClFIPKaX+UUolKKXirPf35KjXWyml8/j6Oa/7CyHsk5GpmfLXvzzy+bJsicQVHery3p093YnEvp3w8hjTIuGZSFx8Obz4MXTrK4mEEMXEm5aJRcCNDodDWeMkvgPGA784HI5ZQG+gG/CBlzG8DTwETAfeBFpYxx2UUv219hwxdTalVAgwE+gDfAN8iPlcTYD6eVw2EfgzR9kBL+MWQhSzE6eTeW3GWtbtcS8qFRkWxOir2nJxy5qmICXZ7Kkxd7rZ9TNLjbpw20PQtI2Poxai7PEmmfgCMw20DqaV4kOgL3ANMMCqswQz66NAlFKtgAeBaVrr6zzKd2MSlWHA5HPc5hmgP3Cp1npBAR+9TGv9dUHjFEL43vLtR3lz5jpOJ7lnm7eqW5HHr2lP9QrW2hHr/4av34fYY+4Lg4LhqmFw+Q1msKUQotgprfW5a+XD4XB0BBoDe4CVTqcz35aEbA9X6iXM7I9LtNZ/epSHATHAIq31lflcHwEcBuZora9TZvRVpNb6TB71ewMLgFHA90CG1jo5t7p5cTgcGsDpdHpzmRCigFLTM/h47lZmrNzjKlPA8IvN2hGBAQFm+espH8Dqv7Jf3Lwd3PIg1Kjj05iFKCPy7Cf0ZtGqS4DTTqdzrWe50+lcDaw+z8A6Y2aFrPAs1FonK6XWWufzczEQBaxWSr0L3A5EKqVOAJOAZ7XW6blc9y7wGYBSagfwPjBeFzazEkIUyr7jZ3h52hp2H3P/PlAlKozHrmlPuwaVrQGWs2DaZ5DkMS4isjzceDd07yfjIoSwgTfdHAuAjzDLaReVWsAJrXVKLucOAj2UUiFa69RczgM0s15HA6nAY5gWjZuBJzAzS0Z41E/DjK/4FbNaZy3MIlzvAO0xLRZCCB/TWvPbmv18+PsmUtLdjZvdm1Zn7NVtKR8eAvt3wVfjYdfW7Bf3uBRuuNPM2BBC2MKbZOIEkHTOWt4JB3JLJACSPerklUxkrX9bCWittc76X2aqUmoBcJtS6n9a680AWuslwGDPGyilJmGSi5FKqU+01jnaTV317gbuvu+++wrwsYQQBXUmKY13f1nPn1vcE8GCAwO4Z0ALBnasj0pNgR8+hTk/mr01slSvbVawbN7OhqiFEJ68mRq6EOhRxM9PJPfNwgDCPOrkJSu5We6RSGT50nrNd+cea7bIK9ZhnuMztNYTtdaynaAQRWjT/lgck/7MlkjUqxLJhDsu4upODVCbVsNz98Dsqe5EIijY7O457gNJJITwE97uzfG3w+F4EXjB6XQWxYZeh4CWSqnQXLo6amO6QPJqlQD3dM7c1rbIWiKvYgHi2GO9VsmvkhCiaGRkar7961++XrydTI+RSld1rMfdl7YkLDEOJr4CKxZlv7BpG9MaUbMuQgj/4U0y8QSwEXgSuMPhcKzD/BDPOWhRO53OOwp4z5WYaaVd8Fj3wZrN0R5YfI7rswZu5jZ0O6vsWC7ncmpivR4tQF0hRCEcP53Eaz+tZf3eWFdZZFgQYwa2pWez6vDnb6ZbIynBfVF4JNx4F1w0QAZYCuGHvEkmRnq8r8HZS2ln0ZhBjQXxHSY5GU32RaTuwoyV+CarQClVE4gG9mmtEwG01ruVUkswAzUv1Fr/Y9UNtO6RDvzhcY/KWmv36jemLBQYZx3OKmDcQojzsHTrEd76eT1ncqwd8d9rO1At/ij87z+wc3P2i7r3gxvugvIVfBusEKLAvEkmGhb1w7XWG5RS7wMPKKWmYQZCZq2AuYjsC1a9gpmZ0QczfiPLg5hEZK5SajxmNsdQTGvHC1rrfR51ZyulDmGmsmbN5rgF0zIxQWudbYqqEKJopKRlMGnuFmat2usqC1Bw88VNGN61LoG/fge/f599gGXVmnDrg2ZzLiGEXytwMuF0Oveeu9Z5GY0Zs3A3cBVm1sgEzBoR51wAS2u9RinVA3jJulcYsAUYpbX+PEf1HzArdj4IVAASgDXAc1rrKYX9IEKIs+05doZXpq1hz3H32hFVy4fx+LUdaHNmDzzvgOPuXUAJDILLr4erhkNIXuOzhRD+pNArYJY1sgKmEAWjtebXf/bx4R+bSfVYO+Ki5jUY06suUTM+g79zrIDfuKUZYFm7gW+DFUIURJGsgFmvoHWdTue+c9cSQpRWp5NSeefnDSzZ6p5oFRIUwL2XNufKxG2ol16BxHj3BeGRcP0d0PMyCPBmxroQwh94M2ZiD2fP3MiN9vK+QohSZMO+WP43fQ3HT7u3vWlQNYpne1al9i/vw46N2S/o0huG3gPRBZnFLYTwR9780P+S3JOJCphpnPUxAyOLa2yFEMLPbdofy+NfLSfDY/GIazrU4q7UdQRNeA0yPLbKqVIDbnkAWstacEKUdN4MwByZ1zmHwxGA2Qr8XrLvhSGEKCNS0zN4e9Z6VyIRVS6YcW2DaL3oPTh60F0xMBAGXAcDb4LQsDzuJoQoSYqkO8Ladvx5h8NxOfAqZqMtIUQZ8v3SXeyPMQtNVQtM5aOIDYRPXZi90gXN4baHoU6RzzQXQtioqMc2LAVuK+J7CiH83IGYeKb89S8AfeO3Mjp+KaG7PFawLBcOQ26HXlfKAEshSqGiTiYqARFFfE8hhB/TWjP+142kZWTSO2E7j8fMyV6h0yUw7B6oUNmeAIUQxa7IkgmHw9Efs/LkxnPVFUKUHnPXH2TdnhgqZCRyf6zHxlyVq8HND0DbLvYFJ4TwCW/WmZifzz3qAlnrULxQ2KCEECVDXGIqE+eYvTQeiF1I+UxrOmjlavDcBxAuDZVClAXetEz0zqNcAyeB34E3nE5nXkmHEKKUmTR3C6eT0rg4YQcXJ+50n7httCQSQpQh3kwNlVFTQgiXdXtimLPuANEZSTzg2b1x8eXQSjbnEqIskQRBCOG11PQMxv+yAYD7YhdRITPJnKhYxWwXLoQoUySZEEJ47bslOzkQm0D3xJ30SdzhPnHbw9K9IUQZ5M0AzKeB54AGTqfzYC7na2H273jW6XS+WmQRCiH8yr4T8Xy3ZCdRGck8FLPQfaJHf2jT2ba4hBD28aZl4mpgYW6JBIDT6TwELAAGF0VgQgj/o7Vm/C8bSMvI5N6Ti6mUmWhORFcym3UJIcokb5KJxsDmc9TZbNUTQpRCf6w7wIZ9sXRJ3E3/hG3uE7c+CBFR9gUmhLCVN8lEOJB4jjrJgPyPIkQpdCohhYlzthCRmcLDsQvcJ7r0hvbdbYtLCGE/b5KJ/UC3c9TpBuTaDSKEKNkmztlCfHIad8f+RZUMa9+NqAow/D5b4xJC2M+bZGI2cInD4Ria20mHwzEM6AX8VhSBCSH8xz+7TjBvw0EuTNrH5QkevZ033w9R0fYFJoTwC96sgPk/zNbik62EYjamFaI2cAUwCIjFbEEuhCglUtIymPDbBsplpjI6xmOB2449odPF9gUmhPAbBW6ZsGZxXAbsA64BPgBmWq+Dgb3AZU6n80DRhymEsMuUv/7lUGwid55cQvWMM6YwsrzZxEsIIfBy0Sqn07kKaApcD7wJfGK9Xg80czqdq4s8QiGEbfYcO8P3S3fSLmk/A+M9NgQefh+Ur2BbXEII/+L1FuROpzMNmGZ9CSFKqUytGf/rBoLSUxgT69G90b67mcEhhBAWWU5bCJGr2Wv2s2n/SUadWkbN9NOmMDwSbnkAlLI3OCGEX5HltIUQZzkZn8In87bQOvkg15xZ7z4x7F6oUNm+wIQQfkmW0xZCnOXDPzaTlpjE2Jh57sI2naF7P/uCEkL4LVlOWwiRzaqdx1m46RAjTi2ndnqcKSwXDrc+JN0bQohcyXLaQgiX5LQMJvy6gRYph7n2zFr3iRvvhkpVbYtLCOHfZDltIYTL5MU7iDl5hrEn5rn/c2h1IfS8zM6whBB+TpbTFkIAsPvoaX5YvotbT/1NvfSTpjC0HNz2sHRvCCHyJctpCyHI1Jp3f9lAo6QjXH96jfvE9XdA5er2BSaEKBFkOW0hBL/+s49/D8TwSMxcAtGmsFlb6HWlvYEJIUqEIl1OG1jjcDhkaqgQJUjMmWQ+nbeV4XEraZAWawpDQmHkGAiQde2EEOdWJMtpOxyO+sCzwCigJhBYVAEKIYrXh39spvqZwwyN89haZ8goqFrTvqCEECWK18lEFofDEYjp3rgb6I9p5dDA3KIJTQhR3FbsOMaSTQcYf2IuQWSawiatoO8gewMTQpQoXicTDofjAuBOYCSQNTLrBPAR8InT6dxbZNEJIYpNcmo67/22kaFxq2mcdsIUBofAyLHSvSGE8EqBkgmHwxEEXItpheiDaYVIxXR1XAfMcDqdzxZXkEKIovfV4h2UO76fm+JWuguvGQHVa9sXlBCiRMo3mXA4HE2Au4ARQBVAAf8AnwOTnU5nrMPhyCzuIIUQRWvnkTh+WraTt2PmEZzVvXFBc7j0GlvjEkKUTOdqmdiGGQdxDHgb+MzpdG4qygCUUgHAw8A9QAPgODAVeFZrnVDAewQBDkzXSzMgHdgJfKS1/ihH3WjgJWAIUNmq9x7wodZaF/4TCeHfMjI17/6ykSFxq2maegwAHRSMGjkWAmTstBDCewXp5tDAr8APRZ1IWN4GHgKmY6aZtrCOOyil+mut8235UEqFYNa76AN8A3yI+VxNgPq51J0DdAAmAFswC245MeM/xhXVhxLCX/28ei+Je81Kl1nUoFugVj0boxJClGTnSiaeAW7HTPkc6XA4tmG6OL5yOp2HC/twpVQr4EFgmtb6Oo/y3cB4YBgwuQAx9gcu1VovOEfdO4HOwENa6wlW2SSl1I/Ak0qpz7TWMoBUlFonTifz5bwtvHhiHiFZ3RsNmsBl19sbmBCiRMt3yLbT6fw/p9PZCPPb+3SgEWa57H0Oh+MXh8NxYyGfPxwzDuOdHOWTMDuU3pLfxUqpCEwXyQyt9QJl5Ldr6U3WfSflKH8HCAZy3XdEiNLC+fsmLotZRcvUIwDowCAY9QgESveGEOL8FWj+l9Pp/N3pdF4P1AWexCydfQUwBdMN0t7hcHQ8j+d3BjKBFZ6FWutkYK11Pj8XY7Y8X62Uehc4DZxWSh1XSr1sjaUAXGMzLgTWWPf3tMKK41zPE6LEWrbtKHs2bGHEqeWuMjVwONRuYF9QQohSwat1JpxO5zFMy8SrDoejH2aq6GCgE7DC4XCsBz52Op3vF/CWtYATWuuUXM4dBHoopUK01ql5XN/Meh2Nmar6GBCD2ZDsCcwmZCOsOhWBcuSyRbrWOkUpFWPVFwWQkWmayANlPYISISk1HedvG3g8Zh6hOsMU1m0EV0hjnBCi8M77J4HT6ZzndDqHAnUwP8S3A+0wYx0KKhzILZEASPaok5esLo1KQH+t9Qda66la68HAQuA2pVTLHPfJ73l5PkspdbdSalU+sZQZK3YcY/Crv3PPh4s5cjLR7nBEAXy5cDvdDq6gdYoZ6qQDAmHUGAg670VwhRDCpdC/VjqdzhNOp/MNp9PZAuiL6fooqEQgNI9zYR518pJkvS7XWm/Nce5L67VXjvvk97w8n6W1nqi17pRPLGVCekYm783eSFpGJvtjEnjuu1UkpqTbHZbIx47DcSxfspY7Ti11lakrb4R6jW2MSghRmhTpryVOp3MhpkWgoA4BLZVSobl0ddTGdIHk1cUBkLXd+ZFczmXNNqlovZ7EJB9ndWUopUIxa04sKmjgZdWCjYc4eirJdbzn+Bn+N30Nz97YicAAZWNkIjcZmZmM/3k9D5+YT5g2SZ+uVR911XCbIxNClCZ2d3ivtGLo4lmolAoD2gPn6lbIGrhZJ5dzWWXHAKz1Kv7BrF+Rs3WiixWHdGPkIyNT8+2Sf88qX77jGF8s2GZDROJcZq7cS5MdS2ifYvJurQJQo8aaPTiEEKKI2J1MfIeZDTI6R/ldmPEL32QVKKVqKqWaK6Vc4xq01ruBJUAXpdSFHnUDrXukA3943HeKdd+7czxvtFV3auE+Tum2ZOsRDsSYRUnDQ4O4qqN7kaPvlu5k3voDeV0qbHAsLolf56zkzpNLXGXqsuuhYbN8rhJCCO/ZOvpKa71BKfU+8IBSahpmpc2sFTAXkX3BqlcwMzP6kL0r5UHgT2CuUmo8ZjbHUExrwwta630edSdhFuB6SynVALMC5pWYTcxespITkQutNVP+crdKDO7cgFt7NeV4XBIr/j0OwNs/b6BWpQha1KmY122EDzl/28i9R+YQrtMA0DXqogbnu3SLEEKcF7tbJsC0CvwHaAW8j1n1cgIw8FxLaQNordcAPYC/rHu9DkQAo7TWz+Wom4pZLfMjzIJZ7wPNMQmJ7Hqaj793HGPX0dMAhAYHcm3XhgQGKP47pAP1qkQCkJaRyfNTV3MsLim/WwkfWLL1COX/WUDH5P0AaBRq1Bjp3hBCFAvbkwmtdYbW+k2tdTOtdajWurbWeqzWOj5HvZFaa6W1XpjLPdZrrQdprStorcO01h201p/n8bxTWusHtNa1rOe11Fq/J5t85S1nq8RVHesRHW5+KEWEBvP80E5ElQsG4GRCCs9PXUVyqszwsEtCShrfzlrOPSf/cpWpS6+FRi3zuUoIIc6f7cmE8H9r98Sw9eApAIIDA7i+2wXZzteqFMHT11/oms3x75HTvDFzHZmSn9niywXbuGXfb0RYE6Eyq9aEa26zOSohRGkmyYQ4J89WiQHt61A5KuysOu0bVOH+y1u5jv/ccoTJi3f4JD7htu3QKeIXzKZrktmvTqMIGPUIhJ79ZyaEEEVFkgmRr037Y1m3JwaAAKW4sUejPOte1bE+gzq7d33/avEOFm8u9OayooAyMjP5bNpS7j35p7uw79XQtLV9QQkhygRJJkS+vvVolejXpjY1KuS3ujncO6AlHRpWcR2/MWMtOw7HFVt8wm368t0M2jaLqEyz/lt6peqo6263OSohRFkgyYTI07+H41zTPhUw9KK8WyWyBAYE8NR1F1K7UgQAKemZjJu6ipgzOTdqFUXp6KlEdv/yMz2S3LObg24fK90bQgifkGRC5MlztcueLWpS15oCei5R5cwMj4hQs4zJidPJvPD9alLTM4olzrJOa81nM//m7uMLXGWZl1wJzdvZGJUQoiyRZELkat/xM/y1xb3lyfCe3m0KVbdKJE9ddyFZ23VsPXiKd37egMzALXp/bTlCj1U/Ep1pWn/Sylcm4IY7bI5KCFGWSDIhcvXtkp1k/djv2qQajWqU9/oeHRtV5Z4B7rUN5m04yNSlu4ooQgGQkJzGqu+nc0miuxUp+PYxUC7CxqiEEGWNJBPiLIdPJrJg4yHXsbetEp4Gd27AFR3quo4/m7+VZduOFio+4TZl9j+MPDjHdZzW/VJo3cnGiIQQZZEkE+IsU5fudC041b5h5ULttaGU4v4rWtOmXiXA7Or26vQ1rqW5xfnbcuAkF8z/hoqZZvnylIgKBA+/x+aohBBlkSQTIpsTp5OZs869+2dhWiWyBAcG8MwNHaleoRwAyWkZjPtuFacSUgp977IqPSOTBV//SN/E7a6ykNvHQHjBBskKIURRkmRCZPPD8l2kZZj91VrUqUC7+pWL5L7R4SG8MLQz5UICATgal8QL3692PUt4Z9biTQzd/ZvrOKljL1S7rjZGJIQoyySZEC6nElL4dfVe1/FNPZuglCqy+zeoFsV/r+1A1h037T/JhF9lhoe3jpxMpPzMT6mckQBAUrnylLv1AZujEkKUZZJMCJdpf+8mJd20FDSuUZ7OjasW+TO6Na3O7f2au45/X3uA6Sv2FPlzSiutNbO/nka/M1tcZSEjH4LIKBujEkKUdZJMCADOJKUxa6W7VWLYRY2LtFXC0w3dL6Bfm9qu40lzNrPy32PF8qzS5q81O7lq43TX8enWPQjs2NPGiIQQQpIJYZm5cg+JqekA1KsSyUUtahTbs5RSjB7Yhha1KwCQqeHlaWvYdyK+2J5ZGpxJSiN18kdUtbo3EkMjKH/HwzZHJYQQkkwIICk1nekr3Hs6DL2oEQHF1CqRJSQokGdv7EjV8mbviMSUdJ77biWnk1KL9bkl2dxvZ9Lv1AbXccAtD0BUtI0RCSGEIcmE4JfV+ziTlAZAjQrl6NO6lk+eWykyjHE3diI02MzwOBSbyP/9+A/pMsPjLFv+PUj35d+6jk806URY9z42RiSEEG6STJRxqekZ/LjcvcT10IsaExjgu78WjWtG8+hg94ZUa3fH8OEfm332/JIgLSOTI5+8T42MMwAkBIdT+d6xNkclhBBukkyUcb+v3U9svFk8qkpUGP3b1j7HFUXv4hY1ua1XU9fxrFV7mbVqbz5XlC2Lp82mz/F/XMfpN96Diq5kY0RCCJGdJBNlWHpGZraNt67rfgEhQYG2xHLTxY3p1bKm69g5exNrd5+wJRZ/cuhIDC3nfeE6PlyvDdG9B9gYkRBCnE2SiTJs3oaDHIsz+zpEh4dwpceGXL6mlGLsoHY0qWkGFGZqzYs//MPB2ATbYrKb1prdH06gZnocAImBYVR74DEo5sGxQgjhLUkmyqiMTM13S3a6jod0bUhYSJCNEUFYcCDjbuxEpchQAOKT0xj33SoSktNsjcsOOw7H8cPrH9D9wHJX2elBowisVPQLiQkhRGFJMlFG/bnlsOu3/ojQIK7uVN/miIwq5cN47sZOBAeav5r7TsTzyvQ1ZGSWjSW3j5xK5I0fVrDz1ee5YftM1z/QvTWaU+PKQbbGJoQQeZFkogzK1Jpv//rXdTy4SwMiwoJtjCi75rUrMPbqtq7jlf8e55N5W/K5ouQ7nZTKR3M28+y7PzFk3rtcnuCe0RJbvjq1xj4t3RtCCL9lb7u2sMXf24+x+5iZZhgWHMi1XRraHNHZ+rapzd7jZ/jW6or5cflu6leN4rL29o3rKA6p6RnMWLmHb//6l/YxW3k7Zi4R2t2tk9DhEirdORZCw2yMUggh8ifJRBmjtWaKR6vEVR3rUT48xMaI8jaiTzP2Ho9n2fajAIz/ZQO1K0XQul7JnxaZqTULNhzk84XbiT0Vzx0nlzLkzFr3+cAgAm5yEHHJFdIiIYTwe9LNUcb8s/sE2w6dAiA4MIDrul1gb0D5CFCKx69tT8NqZkfM9EzNC9+v5sipRJsjK5x/dp3gwY//4rUZ69Axx3j96LRsiYSuUoOAJ9+GXldKIiGEKBEkmShjPMdKXN6hLpWj/Lv5vFxIEM8P7US01XoSl5jKuO9WkWRtSlaS7Dxymicnr+CJb/7m3yOn6Zi0l/cPf0vLlCPuSu27oZ6ZAPWb2BeoEEJ4SZKJMmTjvljW740FIDBAcUN3/22V8FS9QjjP3tCRoADzW/ruY2f43/S1ZOqSMcPjWFwSb8xYx/2T/mT1zuME6ExuOfU3Lx2bSXRmsqkUEADX3wH3PwcRUfYGLIQQXpJkogzxHCvRr01tqlcItzEa77SuV4mHB7ZxHS/bfpQvFmyzMaJzS0hO49N5W7nDuZA56w+ggeiMJP7v2ExujVvh/scXXQn+8xpcfoN0awghSiQZgFlG7Dgcx6qdxwEIUGab8ZJmQLu67Dl2hh+Xm+3Sv12yk/pVo+jbxvf7ieQnLSOTn1ftZfKfOzid5J6Z0TL5EONOzSE65bS7cvP2cNfjEF3R94EKIUQRkWSijJjy5w7X+4tb1KRO5Ugbozl/d/Rrwb4T8az81yRGb81aT61KETSvXcHewDAzZRZtPsznC7Zx+GSi5wnuUVu59vgCVGaGu3zgcBh0CwTYsx+KEEIUFenmKAP2HDvDkm1HXcfDeja2MZrCCQxQPHFtB+pVMclQWkYmz09dxfHTSbbGtX5vDA99uoRXpq3Jlkg0jArg6+ClDNk7151IRETBwy/CNSMkkRBClAqSTJQB3y1xj5Xo1rQ6F1Qvb2M0hRcRFsy4oZ2IKmdW7YyNT+H5qatJTss4x5VFb+/xMzz77Uoe/XI52w/FucqjygXzWMcoPjg6lao73duHc0FzePZ9aNPZ57EKIURxkWSilDsYm8DCTYdcx8NLcKuEp9qVInj6+gsJtGZ47Dgcx5sz16F9NMMj5kwy7/y8nns/WszfO465yoMDA7ihW0O+vjCNfjNfRx0/7L6o32B47HWoXM0nMQohhK/ImIlSburSnWTtkXXhBVX8YmxBUWnfoAqOy1sx4deNACzefJgGVaO4+ZLiW6MhMSWd75ft5Mflu0nxaAlRQL+2tRnRowHVZn0MS+e6LwotB6PGQKdLii0uIYSwkyQTpdixuCTmrjvgOi4trRKeBnasz55jZ5i1ai8AXy7aTr2qkVzcomaRPic9I5Pf1uzjq0U7iEtMzXau4wVVuKNfcxpxBt77Lxzc4z5ZuwHc9xTUKF17igghhCfbkwmlVADwMHAP0AA4DkwFntVaJxTg+oVArzxOd9Zar/Ko2xtYkEfdX7TWAwsad0nww7JdpFvNEq3qVqRNKdjTIjf3DmjJ/ph41u6OAeD1GeuoWSGcxjWjC31vrTVLth7h0/nbXFu2Z7mgennu7Necjo2qwqrF8Pk7kOwxi6NHf7j5AdmkSwhR6tmeTABvAw8B04E3gRbWcQelVH+tdWYB7nECGJNL+a486k8E/sxRdiC3iiXVyfgUfluzz3U8vGdjVCldECkoMICnrruQhz9dwqHYRFLSMhg3dRXj77iISpHn/4N80/5YPp67lc0HTmYrr1o+jJF9mtG3TW0CMtJhygcwb4ZHQMFw8/3Q8zJZhEoIUSbYmkwopVoBDwLTtNbXeZTvBsYDw4DJBbhVgtb6ay8evczL+iXOtL93k5pu8rAmNaPp1KiqzREVr/LlQnh+aGdGf7qEhJR0jp9O5oWpq3nttm6EBHk3/fJATDyfzt/Gkq1HspVHhAYxrGdjBnduQGhwIMQcg49ehl1b3ZWq1oT7noZ6JW9RMCGEOF92z+YYjhm79k6O8klAInBLQW+klApQSpVXBfz1WykVoZQqle3Pp5NSmbVqj+t42EWNSm2rhKd6VSJ5YkgHrAkebDl4ind/2VDgGR4n41N477eN3PXB4myJRFCAYkjXhnz+QB9u7NHIJBIbV8EL92dPJDr0gGfek0RCCFHm2N3N0RnIBFZ4Fmqtk5VSa63zBVEbiAfKAYlKqd+BJ7XWW/Oo/y7wGYBSagfwPjBe+2peYTGbuWIPSalmpkG9KpH0aF7D5oh8p3Pjatx1aUs++mMzAHPXH6R+1Shu7JH3D/jk1HR+XL6b75ftdH3fsvRuVYtRfZpRo6K1j0lmBsz8Gn75FrL+ugQGwnW3w6VDpFtDCFEm2Z1M1AJOaK1Tcjl3EOihlArRWqfmcj7LbmAJsB7IALoCDwD9lFI9tdYbPOqmATOBX4FD1vPvwLSMtAdGFerT+IHElHSmr9jjOh7eszEBZewH3LVdGrD32Blmr90PwKfztlKvSiTdmlbPVi8jM5Pf1x7gq0XbiY3P/lewbf1K3NW/BU1rVXAXnj4Fk16FLWvdZRWrwN1PQJNWxfNhhBCiBLA7mQgHckskAJI96uSZTGitcyYAPyilZgILgbeASz3qLgEGe1ZWSk3CJBcjlVKfaK3/yu05Sqm7gbvvu+++PD+MP/h59V7ik83mUjUrhtOrVdFOkSwJlFI8cGVrDsQmsHFfLBp4dfoa3hl1EQ2qRaG15u8dx/hk3lb2nYjPdm39qpHc2a8FnRtXzd41tGMjfPQKnIpxl7W8EO56DKIq+ORzCSGEv7J7zEQiEJrHuTCPOl7RWv8JLAb6KKXKnaNuJvCKdXhlPvUmaq07eRuLL6WkZTDN2lETzM6ggQF2/xHbIzgwgGeuv5DqFcwff1JqBs9+t5JVO4/z2FfLee67VdkSicpRoYwZ2IYP7r6ELk2quRMJreH3H+D1x9yJhFJw9c0w+kVJJIQQAvtbJg4BLZVSobl0ddTGdIHk18WRnz1Ab6AicK5doPZYr1XO81l+Yfba/ZxMMN/GKuXD6N+2js0R2atCRCjP39iJMZ8vJSk1g6OnknhqcrbhOYSHBHFDjwsY0rUhYSE5/jkkxsNnb8Gape6yyPJmy/BWHX3wCYQQomSw+9fWlVYMXTwLrVkW7YFVuVxTUE2AdCC2gHUBjuZby4+lZWQydelO1/EN3S8gONDuP177Naxensev6UDOUSOBAYpBnevz2QO9ueniJmcnEnt3wIsPZk8kGrUwm3RJIiGEENnY/dPmO0ADo3OU34UZK/FNVoFSqqZSqrlSKtyjLFopddYiAkqpq4CLgDla62SP8sq51A0FxlmHs877k9hs3voDnDhtPmqFiBAu71DP5oj8R/dm1bmzfwvX8cUtajDp3l7cf3lrKkTk6GXTGhb9Cq+MBc9NuvpfC4++BpVK93odQghxPmzt5tBab1BKvQ88oJSahhkImbUC5iKyL1j1CjAC6IMZXIn1/i2l1CzMapfpmFaOWzCrYo7O8cjZSqlDwGrcszluwbRMTNBar6AEysjM5DuPVokhXS8gLNi7hZpKu+u7X0CnRlUJDgqgdqWI3CulJMPXE2DZPHdZWDiMGgsde/omUCGEKIHsHjMB5gf+HuBu4CpMEjABszfHuZbS3oZJDAYC1YFgzLLYHwIva60P5qj/A3ANZtXNCkACsAZ4Tms9pdCfxCaLNh3mUKwZpxoZFsTATj5olTi4B9LToHJ1iIgqEesrNKgWlffJw/vhg5fg0F53WZ2GZjXL6rWLPzghhCjBbE8mtNYZmD053jxHvZHAyBxlW4AbvHjW/4D/eR2kH8vUmm+X/Os6vqZLQyJCg4vxgZkwdSLM/cldFloOqlSHytVMcpHzfWS0fycbKxbCF+9Cisc43Z4D4Kb7ISSvyUZCCCGy2J5MiMJZvu0oe4+bKY7lQgIZ3KVB8T0sM8PsjLl0TvbylCTTUuG59bankFCTWFS2kowq1bMnHeUr2pNspKXC9x/D/JnusuAQs9NnzwG+j0cIIUooSSZKMK01k/9yt0oM7Fif8uVCiudh6Wnw8WuwymOz1YpVzPTJlOS8rwNITYHD+8xXboJDrJYMz5YNj4SjfEUo6vUyYo7CB/8He7a7y6rVMt0adS8o2mcJIUQpJ8lECbZ61wl2HI4DICQogCHdGhbPg1JTzHiCDSvdZT0HwG0PgwqA+NNmB82Yo3DiqHl1vT8GyedYdywtFY4cMF+5CQo2syhytmxkJRsVKkGAFwNO168wiVGix+qXHXvCiDEQnsfgTCGEEHmSZKIEm+LRKnF5h7pUiiyGTVCTE2HCONi23l3WbzAMvcfdWhAVbb4aNDn7eq3ND+0YK7FwJRse7xPjz77OU3oaHDtkvnITGAgVq3okGTnGblSsaupkZMCMr+DXb7Nfe8Nd5jP587gOIYTwY5JMlFAb9sawcZ9ZjyswQHFD92LY9jr+DLz7NOze5i67ahhcM6LgP3iVMrM9IqKgXuPc6yQmuBOMrBaNWI9kI/50/s/IyIATR8xXbgICTJdMUDAc9ZjgU7EK3PskNGpZsM8ihBAiV5JMlFCerRKXtq1Dteh8tyDxXtxJePtJOODe64Pr7oArCjx5puDCIyD8grzHKiQnubtOcmvdOHMq//tnZpq6nlpdCHc+blpUhBBCFIokEyXQtkOnWL3rBAABCm68qIhbJWKPw5v/zf5b/M0PQJ+BRfucggorB7UbmK/cpCSbmPMasxHnsaK6UjDoFtPC4s04CyGEEHmSZKIEmvKnu1Xikpa18l7R8XwcPQRv/df9m7wKgNvHQvf+RfeMohYaBjXrmq/cpKWaz3PyhKlT4axV1YUQQhSCJBMlzO6jp1m23b0f2fCeeYxDOB8H98BbT5guDoDAILj7vyV/KengEKhRx3wJIYQocpJMlDDfLnHvwdGjWfX8l4j2xp7t8PZTkHDGHIeEguMZaN2paO4vhBCi1JJkogQ5GJPA4s3u6ZFF1iqxfSOMf9a9HkRYODz0PDRtUzT3F0IIUapJMlGCfLf0XzK1ed+xUVWa1qpQ+JtuXAXOF83CVGCmcI5+CRo2K/y9hRBClAmSTJQQx+KSmLvePbuiSFolVv8FE1+FjHRzXL4iPPJK3rMmhBBCiFxIMlFCTF26kwyrWaJ1vUq0qVepcDdcNhc+e8uswQBQqZpJJGS7bSGEEF6SZKIEiI1PZvaa/a7jmwrbKrHgZ/jmPfdx9drwyKtm/wshhBDCS5JMlADTlu8mLcO0IDStGc2FF1Q5/5vN/h5++MR9XLsBjH0FoisWLkghhBBlliQTfu50YiqzVu11HQ/v2Rh1PhtSaQ0zvoSfp7jLGjaDh1+CyCKaXiqEEKJMkmTCz/20Yg/JaRkANKgaRbdm1b2/idbw3Ucw9yd3WbO28OA4Mw1UCCGEKARJJvxYQkoaM1a6N9oa1rMRAd62SmRmwJfj4a/f3WWtO4PjabMwlRBCCFFIkkz4sZ9X7SU+2UzbrFUpnEta1vLuBunp8MnrsHKRu6xjT7jrcbMdtxBCCFEEJJnwU8lpGfy43KNV4qLGBAZ40SqRmgIfvgzr/3aX9bgURoyGQNktUwghRNGRZMJPzV6zj7jEVACqlg+jbxsv1n9IToL3xsHWde6yvoNg2L0QEFC0gQohhCjzJJnwQ6npGXy/dJfr+IYejQgOLGASkHAG3n0Gdm11l105DK4dAeczC0QIIYQ4B0km/NDc9Qc5cSYZgIoRoVzevm7BLjx9Ct5+Eva7ExGGjIIrhxZ9kEIIIYRFkgk/k5GZydSl7m3Gr+vWkNDgAoxxiD0Obz0BRw64y25ymO4NIYQQohhJMuFnFm48xOGTZivwyLBgrupY/9wXHTtkEokTR82xCoCRY+CiS4sxUiGEEMKQZMKPZGrNt0vcrRLXdm1IeOg5/ogO7YU3n4C4WHMcGGSmfna6uBgjFUIIIdwkmfAjS7ceYd+JeADCQ4IY3LlB/hfs3QFvPwXxp81xcAg4noE2nYs3UCGEEMKDJBN+QmvNlL/+dR0P7FSfqHL5LCy1YxOMfwaSTJcIoeXgoefNMtlCCCGED0ky4SdW7TzOv0dMC0NoUADXdWuYd+VN/8D7z5uFqQDCI2H0/8EFzXwQqRBCCJGdJBN+QGvN5D/drRJXXFiPChF57JuxZhl89DKkp5nj8hVh7MtQJ5/kQwghhChGkkz4gfV7Y9l84CQAQQGK67tfkHvF5fPh0zcgM9McV6oKj7wK1b1YHVMIIYQoYpJM+AHPsRKXtqtD1fLlzq606Bf4+j2znThAtVomkahczUdRCiGEELmTZMJmWw+eZM3uEwAEKLixR6OzK/3+A3z/sfu4dgPTtRFdyTdBCiGEEPmQZMJmUzzGSvRuVYtalSLcJ7WGmV/DrG/cZQ2amsGWkVE+jFIIIYTImyQTNjoZn+JqlQAY1rOx+6TWMHUizJnuLmvaBh4cB+U8Eg4hhBDCZpJM2KhiZChfPNiXH5fv4lRCKvWrWq0NmRnw1QT4c7a7cutOcN/TEBpmT7BCCCFEHiSZsFnFyFDu7N/CXZCebmZsrFjoLuvYE+58zKxwKYQQQviZALsDUEoFKKXGKKW2KqWSlVL7lVJvKqUK1JavlFqolNJ5fHXKpX60UmqCUuqg9bxNSqn7lFKq6D+dl9JS4cOXsicS3fvD3U9IIiGEEMJv+UPLxNvAQ8B04E2ghXXcQSnVX2udWYB7nADG5FK+y/NAKRUCzAE6ABOALcAVgBOoDow7v49QBJKTzKqWW9a6y/pcDcPvgwDbcz4hhBAiT7YmE0qpVsCDwDSt9XUe5buB8cAwYHIBbpWgtf66APXuBDoDD2mtJ1hlk5RSPwJPKqU+01rv9epDFIXEeHj3Wdi52V12xY0wZBT4QYOJEEIIkR+7f+UdDijgnRzlk4BE4JaC3sjqLil/ju6Km6z7TspR/g4QDAwt6POKzJlT8Prj2ROJISPhutslkRBCCFEi2J1MdAYygRWehVrrZGCtdb4gagPxQBwQr5SappRq7llBKRUAXAisse7vaYUVh2/37j4VA/97FPbvdJcNvw+uHObTMIQQQojCsHvMRC3ghNY6JZdzB4EeSqkQrXVqPvfYDSwB1gMZQFfgAaCfUqqn1nqDVa8iUM66bzZa6xSlVAwmKfGdsHIQbo0zVQEwYjT0HODTEIQQQojCsrtlIhzILZEASPaokyet9Sit9VNa6++01j9orR8FBgCRwFs5nsU5npfns5RSdyulVuUXi9fCwuHhF6FBE7jnv5JICCGEKJHsTiYSgTz22ibMo45XtNZ/AouBPkqprF2zsu6T3/PyfJbWeqLW+qyppoUWEQVPvgOdLinyWwshhBC+YHcycQioopTK7Qd8bUwXSH5dHPnZAwRiujcATgJJ5NKVYT2/Mrl0gfhEQKAtjxVCCCGKgt3JxEorhi6ehUqpMKA9UJhuhSZAOhALYK1X8Q9m/YqcyUsXK46i7cYQQgghygC7k4nvAA2MzlF+F2b8gmu7TKVUTaVUc6VUuEdZtFLqrF/rlVJXARcBc3LM3Jhi3ffuHJeMxiQeU8/7kwghhBBllK2zObTWG5RS7wMPKKWmAb/iXgFzEdkXrHoFGAH0ARZaZX2At5RSszCrXaZjWhluwayKOTrHIycBo6xrGmBWwLwSuBZ4SWu9u2g/oRBCCFH62T01FMwP/D2Y1oKrMEnABODZAiylvQ1YDQzELIcdDBwAPgRe1lpnGwOhtU5VSvUHXsIsmFUZ2IlZhfP9ovk4QgghRNmitNZ2x1CiOBwODeB0Ou0ORQghhPClPJdltnvMhBBCCCFKOEkmhBBCCFEokkwIIYQQolAkmRBCCCFEoUgyIYQQQohC8YepoSWSw+GwOwQhhBDCl7TT6cx1Roe0TAghhBCiUGSdCT+hlFpVLLuSimzk++wb8n32Dfk++4Z8n89NWiaEEEIIUSiSTAghhBCiUCSZ8B8T7Q6gjJDvs2/I99k35PvsG/J9PgcZMyGEEEKIQpGWCSGEEEIUiiQTQgghhCgUSSZsopQKUEqNUUptVUolK6X2K6XeVEpF2B1baaKUaqqUekEptVwpdVwpdUYptVYp9ZR8r4uPUipcKbVbKaWVUu/ZHU9po5SqpJR6Qyn1r/X/x3Gl1AKl1MV2x1ZaKKUilVJPKqU2WP9vnFBKLVVKjVRK5bkVd1klK2Da523gIWA68CbQwjruoJTqr7XOtDO4UuR24H5gJvANkAb0AV4CblRKddNaJ9kYX2n1AlDF7iBKI6VUfWAhEAl8AmwHooG2QG37Iis9lFIBwG9AD+ALYAIQDgwHPsP8f/24bQH6IRmAaQOlVCtgAzBda32dR/mDwHjgZq31ZLviK02UUp2AHVrruBzlLwFPAQ9qreU35yKklLoQWAE8hkmU39daP2BvVKWHUupPoAHQRWt92OZwSiWlVHdgKfCO1nqMR3kIsBWopLWuYFN4fkm6OewxHFDAOznKJwGJwC2+Dqi00lqvyplIWL6zXlv7Mp7STikViPl7PBuYZnM4pY5S6hKgJ/Ca1vqwUipYKRVud1ylUHnr9ZBnodY6FTgBJPg8Ij8nyYQ9OgOZmN/eXLTWycBa67woXnWs16O2RlH6jAGaA9ISUTyutF73KaVmAUlAglJqu1JKfgkpOiuAU8BjSqkblFL1lFLNlFKvAB2BcXYG548kmbBHLeCE1joll3MHgSpWc5ooBtZvz88C6YB0JxURpVRD4HngBa31HpvDKa2aWa+TgErACOAOIBX4Sik1yq7AShOt9UlgEBALTAX2Yro37geu01pPsjE8vyQDMO0RDuSWSAAke9RJ9U04Zc47QDfgSa31NptjKU0+AHYDb9kdSCkWZb2eAfpYze4opaYDu4CXlVJfyADuIhEPbMQM3l6KSd7uByYrpQZrrefYGZy/kZYJeyQCoXmcC/OoI4qYUupFTBP8RK31K3bHU1pYTewDgHu11ml2x1OKZc08mpKVSIDrN+mZQA3crRfiPCml2mASiDla60e11tO11p9gxqscASZZLZzCIsmEPQ5hujJySyhqY7pApFWiiCmlxgFPY6Z23WtvNKWH9ff4LeBX4IhSqrFSqjFQ36oSbZVVsCvGUuSA9Xokl3NZMzsq+iiW0mwM5he77z0LtdaJwC+Yv9sNfB+W/5Jkwh4rMd/7Lp6FSqkwoD2wyoaYSjWl1HPAc8CXwJ1a5kQXpXJAVeAqYIfH10Lr/C3W8Z12BFfKZA3arpPLuayyYz6KpTTLWq8jt9aHoByvAkkm7PIdoIHROcrvwoyV+MbXAZVmSqlnMaOvvwJGSX9ykUsAbsjly2Gdn20dz7QlutLlJ8x4iVuUUpFZhUqpmsA1mDVV/rUntFJls/U60rPQal0bDJwEdvo2JP8mi1bZRCk1AdN3Px3TPJy1AuYSoK/8wCsaSqn7gfeAfcAzmCm5no7KQKrioZRqgBmQKYtWFSGl1N3AR8Am4FMgBLgPqAkM1Fr/YWN4pYK1yug/mC6jbzD/L1fC/MLXALhfa+20LUA/JM009hkN7AHuxjQPn8As2fqsJBJFKmvNjnqYZXFzWgRIMiFKDK31RKXUCcwKoy9iEuRlwE1a6yW2BldKaK33KqW6YKaQ9wOGYQa/rgUe0VrLgmw5SMuEEEIIIQpFxkwIIYQQolAkmRBCCCFEoUgyIYQQQohCkWRCCCGEEIUiyYQQQgghCkWSCSGEEEIUiiQTQgghhCgUWbRKCFFmORyOcZg9W/o4nc6F9kYjRMklyYQQ4rw5HI6CrHonP6iFKOUkmRBCFIXn8zm3x1dBCCHsIcmEEKLQnE7nOLtjEELYR5IJIYTPeI5RAOpjNrxrjtlW+2fgSafTeSSX65pgdn3tB1TFbIw3F3jR6XTuyKV+IGaHx1uB1pidNQ8CC4H/5XHN9ZjNs1oDycAfwCNOp/NgIT6yEGWCzOYQQthhDPAhsA54B9gGjAKWOhyOqp4VHQ5HZ2AVcAuwEngDWA7cDKxyOBydctQPAWYDHwB1gcnAeGA1cC1wUS7xOICvMV0y7wMbgaHAXIfDEVrYDytEaSctE0KIQrNaHHKT7HQ6X82l/Aqgq9PpXONxj7cxLRWvAndYZQr4EigP3OJ0Or/xqD8U+Bb42uFwtHQ6nZnWqXFAf2AWcIPT6UzxuCbUuldOlwOdnU7nBo+6k4HhwGBgal6fXQghLRNCiKLxXB5f/82j/leeiYRlHBAH3OTRGtAD0w2yzDORAHA6nd8BfwHNgJ7g6t5wAEnAvZ6JhHVNitPpPJ5LPOM9EwnLJOu1Sx6fQQhhkZYJIUShOZ1O5eUli3K5R5zD4VgL9AJaAGuBC63T8/O4z3xMItEBWIxJPKKBv51O5yEv4lmVS9l+67WiF/cRokySlgkhhB2O5lGeNfgyOsfr4TzqZ5VXyPHq7aDJU7mUpVuvgV7eS4gyR5IJIYQdqudRXsN6jcvxWiOXugA1c9Q7Zb3WPu/IhBBek2RCCGGHXjkLHA5HNNAeMy1zi1WcNa6idx73ySr/x3rdikko2jocjlqFD1MIURCSTAgh7HCrw+HokKNsHKZbY4rHwMklmGmjPa11IFys40uA7ZiBmDidzgzACZQDPsw5rdPhcITknHoqhCg8GYAphCi0fKaGAvzkdDrX5ij7DVjicDimYsY99LS+9uAxA8TpdGqHwzECmAN853A4ZmBaH5oB12AWu7rNY1oomKW9uwJXA9sdDsfPVr26wADgUeDz8/iYQog8SDIhhCgKz+Vzbg9mZoant4HpmHUlhgLxmB/wTzqdzmOeFZ1O59/WwlVPY9aPuBqzAuYUzAqY23LUT3U4HJcD9wK3ASMABRyynvmXtx9OCJE/pXVBNv0TQojCky2/hSidZMyEEEIIIQpFkgkhhBBCFIokE0IIIYQoFBkzIYQQQohCkZYJIYQQQhSKJBNCCCGEKBRJJoQQQghRKJJMCCGEEKJQJJkQQgghRKFIMiGEEEKIQvl/5QU/K0JLiFkAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div class=\"comment\">Saved: ./run/figs/IMDB1-02-history_1</div>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x432 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pwk.plot_history(history, save_as='02-history')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 6.2 - Reload and evaluate best model"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "x_test / loss      : 0.5087\n",
      "x_test / accuracy  : 0.7856\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "#### Accuracy donut is :"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div class=\"comment\">Saved: ./run/figs/IMDB1-03-donut</div>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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BSwD5gHzBx4FqavakP3YQbTd4WsjmhYuHqOQEkmcIuywqsLeHWPWwNfBP+diH0cykQfYLZw2oN3hz8PL2oDdwE50MKCkGYWUiIi4VsIWToiIiCSaQkpERFxLISUiIq6lkBIREddSSImIiGsppERExLUUUiIi4loKKRERcS2FlIiIuJZCSkREXEshJSIirqWQEhER11JIiYiIaymkRETEtRRSIiLiWgopERFxLYWUiIi4lkJKRERcSyElIiKupZASERHXUkiJiIhrKaRERMS1FFIiIuJaCikREXEthZSIiLiWQkpERFxLISUiIq6lkBIREddSSImIiGsppERExLUUUiIi4loKKRERcS2FlIiIuJZCSkREXEshJSIirqWQEhER11JIiYiIaymkRETEtRRSIiLiWgopERFxLYWUiIi4lkJKRERcSyElIiKupZASERHXUkiJiIhrKaRERMS1FFIiIuJaCikREXEthZSIiLiWQkpERFxLISUiIq6lkBIREddSSImIiGsppERExLUUUiIi4loKKRERcS2FlIiIuJZCSkREXEshJSIirqWQEhER11JIiYiIaymkRETEtf4/X+DxK9fccAsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x432 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "#### Confusion matrix is :"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<style  type=\"text/css\" >\n",
       "#T_10503f0c_4162_11eb_91bf_9996bb87f8e8row0_col0,#T_10503f0c_4162_11eb_91bf_9996bb87f8e8row1_col1{\n",
       "            background-color:  #ffe4c4;\n",
       "            color:  #000000;\n",
       "            font-size:  12pt;\n",
       "        }#T_10503f0c_4162_11eb_91bf_9996bb87f8e8row0_col1,#T_10503f0c_4162_11eb_91bf_9996bb87f8e8row1_col0{\n",
       "            background-color:  #f5f5f5;\n",
       "            color:  #000000;\n",
       "            font-size:  12pt;\n",
       "        }</style><table id=\"T_10503f0c_4162_11eb_91bf_9996bb87f8e8\" ><thead>    <tr>        <th class=\"blank level0\" ></th>        <th class=\"col_heading level0 col0\" >0</th>        <th class=\"col_heading level0 col1\" >1</th>    </tr></thead><tbody>\n",
       "                <tr>\n",
       "                        <th id=\"T_10503f0c_4162_11eb_91bf_9996bb87f8e8level0_row0\" class=\"row_heading level0 row0\" >0</th>\n",
       "                        <td id=\"T_10503f0c_4162_11eb_91bf_9996bb87f8e8row0_col0\" class=\"data row0 col0\" >0.70</td>\n",
       "                        <td id=\"T_10503f0c_4162_11eb_91bf_9996bb87f8e8row0_col1\" class=\"data row0 col1\" >0.30</td>\n",
       "            </tr>\n",
       "            <tr>\n",
       "                        <th id=\"T_10503f0c_4162_11eb_91bf_9996bb87f8e8level0_row1\" class=\"row_heading level0 row1\" >1</th>\n",
       "                        <td id=\"T_10503f0c_4162_11eb_91bf_9996bb87f8e8row1_col0\" class=\"data row1 col0\" >0.13</td>\n",
       "                        <td id=\"T_10503f0c_4162_11eb_91bf_9996bb87f8e8row1_col1\" class=\"data row1 col1\" >0.87</td>\n",
       "            </tr>\n",
       "    </tbody></table>"
      ],
      "text/plain": [
       "<pandas.io.formats.style.Styler at 0x7fd3c38f2190>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div class=\"comment\">Saved: ./run/figs/IMDB1-04-confusion-matrix</div>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x576 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
   "source": [
    "model = keras.models.load_model('./run/models/best_model.h5')\n",
    "\n",
    "# ---- Evaluate\n",
    "score  = model.evaluate(x_test, y_test, verbose=0)\n",
    "\n",
    "print('x_test / loss      : {:5.4f}'.format(score[0]))\n",
    "print('x_test / accuracy  : {:5.4f}'.format(score[1]))\n",
    "\n",
    "values=[score[1], 1-score[1]]\n",
    "pwk.plot_donut(values,[\"Accuracy\",\"Errors\"], title=\"#### Accuracy donut is :\", save_as='03-donut')\n",
    "\n",
    "# ---- Confusion matrix\n",
    "\n",
    "y_sigmoid = model.predict(x_test)\n",
    "y_pred = y_sigmoid.copy()\n",
    "y_pred[ y_sigmoid< 0.5 ] = 0\n",
    "y_pred[ y_sigmoid>=0.5 ] = 1    \n",
    "\n",
    "pwk.display_confusion_matrix(y_test,y_pred,labels=range(2))\n",
    "pwk.plot_confusion_matrix(y_test,y_pred,range(2), figsize=(8, 8),normalize=False, save_as='04-confusion-matrix')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "End time is : Friday 18 December 2020, 19:53:06\n",
      "Duration is : 00:00:09 281ms\n",
      "This notebook ends here\n"
     ]
    }
   ],
   "source": [
    "pwk.end()"
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "---\n",
    "<img width=\"80px\" src=\"../fidle/img/00-Fidle-logo-01.svg\"></img>"
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}