{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "4f92eda8", "metadata": { "tags": [ "hide-cell" ] }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "WARNING: Ignoring invalid distribution -fds-nightly (c:\\users\\16111\\.conda\\envs\\open-machine-learning-jupyter-book\\lib\\site-packages)\n", "WARNING: Ignoring invalid distribution -fds-nightly (c:\\users\\16111\\.conda\\envs\\open-machine-learning-jupyter-book\\lib\\site-packages)\n" ] } ], "source": [ "# Install the necessary dependencies\n", "\n", "import os\n", "import sys\n", "!{sys.executable} -m pip install --quiet pandas scikit-learn numpy matplotlib jupyterlab_myst ipython tensorflow" ] }, { "cell_type": "markdown", "id": "a94a27ae", "metadata": { "tags": [ "remove-cell" ] }, "source": [ "---\n", "license:\n", " code: MIT\n", " content: CC-BY-4.0\n", "github: https://github.com/ocademy-ai/machine-learning\n", "venue: By Ocademy\n", "open_access: true\n", "bibliography:\n", " - https://raw.githubusercontent.com/ocademy-ai/machine-learning/main/open-machine-learning-jupyter-book/references.bib\n", "---" ] }, { "cell_type": "markdown", "id": "d42911db", "metadata": {}, "source": [ "# Recurrent Neural Networks\n", "\n", "> The nervous system contains many circular paths, whose activity so regenerates the excitation of any participant neuron that reference to time past becomes indefinite, although it still implies that afferent activity has realized one of a certain class of configurations over time. Precise specification of these implications by means of recursive functions, and determination of those that can be embodied in the activity of nervous nets, completes the theory.\n", "> \n", "> -- Warren McCulloch and Walter Pitts, 1943\n", "\n", "A recurrent neural network (RNN) is a type of artificial neural network that uses sequential data or time series data and it is mainly used for Natural Language Processing. Now let us see what it looks like.\n", "\n", "Sequential data is not [independent and identically distributed](https://en.wikipedia.org/wiki/Independent_and_identically_distributed_random_variables).\n", "\n", ":::{figure} https://static-1300131294.cos.ap-shanghai.myqcloud.com/images/deep-learning/RNN/sequential_data.png\n", "---\n", "name: 'sequential data'\n", "width: 90%\n", "---\n", "sequential data\n", ":::\n", "\n", "And the RNNs use recurrent edge to update." ] }, { "cell_type": "markdown", "id": "298a6e8c", "metadata": {}, "source": [ "| ![RNN1](https://static-1300131294.cos.ap-shanghai.myqcloud.com/images/deep-learning/RNN/rnn1.png) | ![RNN2](https://static-1300131294.cos.ap-shanghai.myqcloud.com/images/deep-learning/RNN/rnn2.png) |\n", "|:--:|:--:|\n", "| RNN1 (recurrent) | RNN2 (unfolded RNN1) |\n", "\n", "\n", "Then, the input (w0,w1,...,wt) sequence of words ( 1-hot encoded ) and the output (w1,w2,...,wt+1) shifted sequence of words ( 1-hot encoded ) have the following relation.\n", "\n", ":::{figure} https://static-1300131294.cos.ap-shanghai.myqcloud.com/images/deep-learning/RNN/rnn3.png\n", "---\n", "name: 'RNN3'\n", "width: 90%\n", "---\n", "RNN3\n", ":::\n", "\n", "The input projection is $x_t = Emb(\\omega_t) = E\\omega_t$, the recurrent connection is $h_t = g(W^h h_t + x_t + b^h)$, and the output projection should be $y = softmax(W^o h_t + b^o)$.\n", "The backpropagation of RNN is in this way:\n", "\n", ":::{figure} https://static-1300131294.cos.ap-shanghai.myqcloud.com/images/deep-learning/RNN/rnn4.png\n", "---\n", "name: 'RNN4'\n", "width: 90%\n", "---\n", "RNN4\n", ":::" ] }, { "cell_type": "markdown", "id": "f86b3000", "metadata": {}, "source": [ "Let's make the backpropagation process more clearly.\n", "\n", "First, we unfold a single-hidden layer RNN, and we can see the weight matrices $W_h$ in it.\n", "\n", ":::{figure} https://static-1300131294.cos.ap-shanghai.myqcloud.com/images/deep-learning/RNN/bp_rnn1.png\n", "---\n", "name: 'backpropagation for RNN'\n", "width: 90%\n", "---\n", "backpropagation for RNN\n", ":::" ] }, { "cell_type": "markdown", "id": "6214e042", "metadata": {}, "source": [ "Through the image, we can get the output:\n", "\n", "- Net input: $z_h^{} = W_hx x^{} + W_hh h^{} + b_h$\n", "- Activation: $h^{} = \\sigma (z_h^{})$\n", "- Output: $z_y^ = W_yh h^{} + b_y$, $y^{} = \\sigma(z_y^{})$\n", "\n", "After that, the loss is computed as the sum over all time steps: $L = \\sum_{t=1}^T L^{}$\n", "\n", ":::{note}\n", "There are some key points:\n", "\n", "- Similar as training very deep networks with tied parameters.\n", "- Example between $x_0$ and $y_2$: Wh is used twice.\n", "- Usually truncate the backprop after $T$ timesteps.\n", "- Difficulties to train long-term dependencies.\n", ":::" ] }, { "cell_type": "markdown", "id": "e22b47ea", "metadata": {}, "source": [ "## Code" ] }, { "cell_type": "markdown", "id": "6b52f47d", "metadata": {}, "source": [ "A text classifier implemented in TensorFlow to classify SMS spam messages.\n", "Code first downloads and processes the SMS Spam Collection dataset from the UCI Machine Learning Repository and then builds a basic Recurrent neural network (RNN) for text classification using TensorFlow.\n", "The code first cleans and preprocesses the text, then splits it into training and test sets, followed by tokenizing and padding the training set. Next, the code uses an embedding layer to convert the tokenized text into a vector representation, which is then fed into a recurrent neural network and finally classified using a Softmax loss function.\n", "The output of the # code is the accuracy of the classifier along with some statistics\n", "We implement an RNN in TensorFlow to predict spam/ham from texts" ] }, { "cell_type": "code", "execution_count": 2, "id": "b8241ee1", "metadata": { "attributes": { "classes": [ "code-cell" ], "id": "" } }, "outputs": [], "source": [ "import os\n", "import re\n", "import io\n", "import requests\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import tensorflow as tf\n", "from zipfile import ZipFile\n", "from tensorflow.keras.preprocessing.text import Tokenizer\n", "from tensorflow.keras.preprocessing.sequence import pad_sequences" ] }, { "cell_type": "code", "execution_count": 3, "id": "b3fa5d09", "metadata": {}, "outputs": [], "source": [ "# Set random seed for reproducibility\n", "tf.random.set_seed(42)\n", "\n", "# Download or open data\n", "data_dir = \"tmp\"\n", "data_file = \"text_data.txt\"\n", "if not os.path.exists(data_dir):\n", " os.makedirs(data_dir)\n", "\n", "if not os.path.isfile(os.path.join(data_dir, data_file)):\n", " zip_url = \"http://archive.ics.uci.edu/ml/machine-learning-databases/00228/smsspamcollection.zip\"\n", " r = requests.get(zip_url)\n", " z = ZipFile(io.BytesIO(r.content))\n", " file = z.read(\"SMSSpamCollection\")\n", " # Format Data\n", " text_data = file.decode()\n", " text_data = text_data.encode(\"ascii\", errors=\"ignore\")\n", " text_data = text_data.decode().split(\"\\n\")\n", "\n", " # Save data to text file\n", " with open(os.path.join(data_dir, data_file), \"w\") as file_conn:\n", " for text in text_data:\n", " file_conn.write(\"{}\\n\".format(text))\n", "else:\n", " # Open data from text file\n", " text_data = []\n", " with open(os.path.join(data_dir, data_file), \"r\") as file_conn:\n", " for row in file_conn:\n", " text_data.append(row)\n", " text_data = text_data[:-1]\n", "\n", "text_data = [x.split(\"\\t\") for x in text_data if len(x) >= 1]\n", "[text_data_target, text_data_train] = [list(x) for x in zip(*text_data)]" ] }, { "cell_type": "code", "execution_count": 4, "id": "d2d94450", "metadata": {}, "outputs": [], "source": [ "# Create a text cleaning function\n", "def clean_text(text_string):\n", " text_string = re.sub(r\"([^\\s\\w]|_|[0-9])+\", \"\", text_string)\n", " text_string = \" \".join(text_string.split())\n", " text_string = text_string.lower()\n", " return text_string" ] }, { "cell_type": "code", "execution_count": 5, "id": "7c01c5b9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['go until jurong point crazy available only in bugis n great world la e buffet cine there got amore wat', 'ok lar joking wif u oni', 'free entry in a wkly comp to win fa cup final tkts st may text fa to to receive entry questionstd txt ratetcs apply overs', 'u dun say so early hor u c already then say', 'nah i dont think he goes to usf he lives around here though']\n", "(5574, 25)\n" ] } ], "source": [ "# Clean texts\n", "text_data_train = [clean_text(x) for x in text_data_train]\n", "print(text_data_train[:5])\n", "\n", "# Tokenize and pad sequences\n", "tokenizer = Tokenizer()\n", "tokenizer.fit_on_texts(text_data_train)\n", "text_processed = tokenizer.texts_to_sequences(text_data_train)\n", "max_sequence_length = 25\n", "text_processed = pad_sequences(\n", " text_processed, maxlen=max_sequence_length, padding=\"post\"\n", ")\n", "print(text_processed.shape)" ] }, { "cell_type": "code", "execution_count": 6, "id": "fe65852c", "metadata": {}, "outputs": [], "source": [ "# Shuffle and split data\n", "text_processed = np.array(text_processed)\n", "text_data_target = np.array([1 if x == \"ham\" else 0 for x in text_data_target])\n", "shuffled_ix = np.random.permutation(np.arange(len(text_data_target)))\n", "x_shuffled = text_processed[shuffled_ix]\n", "y_shuffled = text_data_target[shuffled_ix]" ] }, { "cell_type": "code", "execution_count": 7, "id": "b107bb0b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Vocabulary Size: 8630\n", "80-20 Train Test split: 4459 -- 1115\n" ] } ], "source": [ "# Split train/test set\n", "ix_cutoff = int(len(y_shuffled) * 0.80)\n", "x_train, x_test = x_shuffled[:ix_cutoff], x_shuffled[ix_cutoff:]\n", "y_train, y_test = y_shuffled[:ix_cutoff], y_shuffled[ix_cutoff:]\n", "vocab_size = len(tokenizer.word_index) + 1\n", "print(\"Vocabulary Size: {:d}\".format(vocab_size))\n", "print(\"80-20 Train Test split: {:d} -- {:d}\".format(len(y_train), len(y_test)))" ] }, { "cell_type": "code", "execution_count": 8, "id": "fdd3ca65", "metadata": {}, "outputs": [], "source": [ "# Create the model using the Sequential API\n", "embedding_size = 50\n", "model = tf.keras.Sequential(\n", " [\n", " tf.keras.layers.Embedding(\n", " input_dim=vocab_size,\n", " output_dim=embedding_size,\n", " input_length=max_sequence_length,\n", " ),\n", " tf.keras.layers.SimpleRNN(units=10),\n", " tf.keras.layers.Dropout(0.5),\n", " tf.keras.layers.Dense(units=2, activation=\"softmax\"),\n", " ]\n", ")" ] }, { "cell_type": "code", "execution_count": 9, "id": "34b221e2", "metadata": {}, "outputs": [], "source": [ "# Compile the model\n", "model.compile(\n", " optimizer=tf.keras.optimizers.RMSprop(learning_rate=0.0005),\n", " loss=\"sparse_categorical_crossentropy\",\n", " metrics=[\"accuracy\"],\n", ")" ] }, { "cell_type": "code", "execution_count": 10, "id": "e7bef8d5", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Epoch 1/20\n", "15/15 [==============================] - 3s 65ms/step - loss: 0.5753 - accuracy: 0.7575 - val_loss: 0.4707 - val_accuracy: 0.8756\n", "Epoch 2/20\n", "15/15 [==============================] - 0s 33ms/step - loss: 0.4656 - accuracy: 0.8433 - val_loss: 0.3906 - val_accuracy: 0.9283\n", "Epoch 3/20\n", "15/15 [==============================] - 0s 24ms/step - loss: 0.3762 - accuracy: 0.9162 - val_loss: 0.3093 - val_accuracy: 0.9574\n", "Epoch 4/20\n", "15/15 [==============================] - 0s 9ms/step - loss: 0.3103 - accuracy: 0.9422 - val_loss: 0.2595 - val_accuracy: 0.9652\n", "Epoch 5/20\n", "15/15 [==============================] - 0s 10ms/step - loss: 0.2693 - accuracy: 0.9498 - val_loss: 0.2225 - val_accuracy: 0.9664\n", "Epoch 6/20\n", "15/15 [==============================] - 0s 10ms/step - loss: 0.2285 - accuracy: 0.9686 - val_loss: 0.1987 - val_accuracy: 0.9664\n", "Epoch 7/20\n", "15/15 [==============================] - 0s 10ms/step - loss: 0.2024 - accuracy: 0.9795 - val_loss: 0.1820 - val_accuracy: 0.9619\n", "Epoch 8/20\n", "15/15 [==============================] - 0s 10ms/step - loss: 0.1825 - accuracy: 0.9748 - val_loss: 0.1675 - val_accuracy: 0.9630\n", "Epoch 9/20\n", "15/15 [==============================] - 0s 9ms/step - loss: 0.1647 - accuracy: 0.9821 - val_loss: 0.1631 - val_accuracy: 0.9608\n", "Epoch 10/20\n", "15/15 [==============================] - 0s 14ms/step - loss: 0.1546 - accuracy: 0.9837 - val_loss: 0.1623 - val_accuracy: 0.9574\n", "Epoch 11/20\n", "15/15 [==============================] - 0s 12ms/step - loss: 0.1400 - accuracy: 0.9865 - val_loss: 0.1622 - val_accuracy: 0.9552\n", "Epoch 12/20\n", "15/15 [==============================] - 0s 13ms/step - loss: 0.1302 - accuracy: 0.9868 - val_loss: 0.1632 - val_accuracy: 0.9552\n", "Epoch 13/20\n", "15/15 [==============================] - 0s 14ms/step - loss: 0.1285 - accuracy: 0.9865 - val_loss: 0.1640 - val_accuracy: 0.9540\n", "Epoch 14/20\n", "15/15 [==============================] - 0s 17ms/step - loss: 0.1194 - accuracy: 0.9871 - val_loss: 0.1579 - val_accuracy: 0.9552\n", "Epoch 15/20\n", "15/15 [==============================] - 0s 15ms/step - loss: 0.1190 - accuracy: 0.9874 - val_loss: 0.1647 - val_accuracy: 0.9518\n", "Epoch 16/20\n", "15/15 [==============================] - 0s 17ms/step - loss: 0.1103 - accuracy: 0.9874 - val_loss: 0.1596 - val_accuracy: 0.9563\n", "Epoch 17/20\n", "15/15 [==============================] - 0s 11ms/step - loss: 0.1033 - accuracy: 0.9879 - val_loss: 0.1530 - val_accuracy: 0.9585\n", "Epoch 18/20\n", "15/15 [==============================] - 0s 11ms/step - loss: 0.0954 - accuracy: 0.9905 - val_loss: 0.1611 - val_accuracy: 0.9552\n", "Epoch 19/20\n", "15/15 [==============================] - 0s 17ms/step - loss: 0.0937 - accuracy: 0.9896 - val_loss: 0.1640 - val_accuracy: 0.9552\n", "Epoch 20/20\n", "15/15 [==============================] - 0s 10ms/step - loss: 0.0924 - accuracy: 0.9907 - val_loss: 0.1848 - val_accuracy: 0.9484\n" ] } ], "source": [ "# Train the model\n", "epochs = 20\n", "batch_size = 250\n", "\n", "history = model.fit(\n", " x_train, y_train, epochs=epochs, batch_size=batch_size, validation_split=0.2\n", ")" ] }, { "cell_type": "code", "execution_count": 11, "id": "e8d94dcc", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABwoElEQVR4nO3dd3hUVeLG8e9Meg8hkIQQCL0ThEAERYpIURFUFFlWiihWLMiq/FxFdFd0bYhYsFCUVVGsawEBwUKRJr230BNqKmkz9/fHJSOhhITcSX0/zzNPZu7cOedMJiEv555iMwzDQERERKSSsJd1A0RERESspHAjIiIilYrCjYiIiFQqCjciIiJSqSjciIiISKWicCMiIiKVisKNiIiIVCoKNyIiIlKpKNyIiIhIpaJwIyKWeumll6hfvz4eHh60adOmrJsjIlWQwo1IFbZ+/XoGDBhA3bp18fX1JTo6mmuuuYY33njjksr76aefeOyxx7jiiiuYNm0azz//PAcPHuSZZ55hzZo11ja+lOzZswebzcbLL79c1k0RkSLyLOsGiEjZWLJkCd26daNOnTrcddddREZGsm/fPpYtW8brr7/OqFGjil3mzz//jN1u54MPPsDb2xuAlStXMn78eGJjY9WTIyKlQuFGpIr697//TUhICCtWrCA0NLTAc8nJyZdUZnJyMn5+fq5gIyJSFnRZSqSK2rlzJy1atDgn2ADUrFmzwOO8vDyee+45GjRogI+PD7Gxsfzf//0f2dnZrnNsNhvTpk0jIyMDm82GzWZj+vTptG/fHoDhw4cXOA7QtWtXWrZsybp16+jSpQv+/v40bNiQ2bNnA/DLL7+QkJCAn58fTZo0Yf78+QXalZiYyH333UeTJk3w8/OjevXq3HLLLezZs8d1jmEYdOvWjRo1ahQIbTk5ObRq1YoGDRqQkZFRkm8lYAa7ESNGEBERga+vL3FxccyYMeOc8z799FPatWtHUFAQwcHBtGrVitdff931fG5uLuPHj6dRo0b4+vpSvXp1rrzySubNm1fiNopUFQo3IlVU3bp1WbVqFRs2bLjouXfeeSdPP/00bdu25bXXXqNLly5MmDCB2267zXXORx99ROfOnfHx8eGjjz7io48+olmzZjz77LMAjBw50nX8qquucr3uxIkTXH/99SQkJPCf//wHHx8fbrvtNmbNmsVtt93GtddeywsvvEBGRgYDBgwgLS3N9doVK1awZMkSbrvtNiZNmsQ999zDggUL6Nq1K5mZmYAZuqZOnUpWVhb33HOP67Xjxo1j48aNTJs2jYCAgBJ9L0+dOkXXrl356KOPGDx4MC+99BIhISEMGzasQHCZN28egwYNolq1arz44ou88MILdO3alcWLF7vOeeaZZxg/fjzdunVj8uTJPPnkk9SpU4fVq1eXqI0iVYohIlXSTz/9ZHh4eBgeHh5Gx44djccee8yYO3eukZOTU+C8NWvWGIBx5513Fjg+ZswYAzB+/vln17GhQ4caAQEBBc5bsWKFARjTpk07pw1dunQxAOPjjz92HduyZYsBGHa73Vi2bJnr+Ny5c88pJzMz85wyly5dagDGhx9+WOD4lClTDMCYOXOmsWzZMsPDw8N4+OGHL/wNOm337t0GYLz00ksXPGfixImusvPl5OQYHTt2NAIDA43U1FTDMAzjoYceMoKDg428vLwLlhUXF2dcd911F22XiFyYem5EqqhrrrmGpUuXcsMNN7B27Vr+85//0KtXL6Kjo/n2229d5/3www8AjB49usDrH330UQC+//77ErUjMDCwQA9QkyZNCA0NpVmzZiQkJLiO59/ftWuX65ifn5/rfm5uLseOHaNhw4aEhoae09MxcuRIevXqxahRo7j99ttp0KABzz//fInanu+HH34gMjKSQYMGuY55eXnx4IMPkp6ezi+//AJAaGgoGRkZhV5iCg0NZePGjWzfvt2StolURQo3IlVY+/bt+fLLLzlx4gTLly9n7NixpKWlMWDAADZt2gSY41rsdjsNGzYs8NrIyEhCQ0NJTEwsURtq166NzWYrcCwkJISYmJhzjoF5GSvfqVOnePrpp4mJicHHx4fw8HBq1KjByZMnSUlJOaeuDz74gMzMTLZv38706dMLhKOSSExMpFGjRtjtBf9Jbdasmet5gPvuu4/GjRvTp08fateuzR133MGcOXMKvObZZ5/l5MmTNG7cmFatWvGPf/yDdevWWdJOkapC4UZE8Pb2pn379jz//PO8/fbb5Obm8vnnnxc45+wAYhUPD49iHTcMw3V/1KhR/Pvf/+bWW2/ls88+46effmLevHlUr14dp9N5zmsXLVrkGgS9fv16C1pfPDVr1mTNmjV8++233HDDDSxcuJA+ffowdOhQ1zlXXXUVO3fu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lD8lPDMnjzyHtVsbiIiIyPkp3LiRt6cdPy8PDCA1q/xfmuratSsPP/yw63FsbCwTJ04s9DU2m42vv/66xHVbVY6IiIjCjZuVxqWpvn370rt37/M+99tvv2Gz2Vi3bl2xy12xYgUjR44safMKeOaZZ2jTps05xw8dOkSfPn0sretsDoeDF154gaZNm+Ln50dYWBgJCQm8//77RS5j0aJF2Gw2Tp486b6GiohIiXiWdQMqu2BfL5JSs0jPzsPpNLDbbZbXMWLECG6++Wb2799P7dq1Czw3bdo04uPjad26dbHLrVGjhlVNvKjIyEi31zF+/HimTJnC5MmTiY+PJzU1lZUrV3LixAm31y0iIqVHPTdu5utlx9vDjtMwSMt2z6Wp66+/nho1ajB9+vQCx9PT0/n8888ZMWIEx44dY9CgQURHR+Pv70+rVq345JNPCi337MtS27dv56qrrsLX15fmzZszb968c17z+OOP07hxY/z9/alfvz5PPfUUublmr9X06dMZP348a9euxWazYbPZXG0++7LU+vXr6d69O35+flSvXp2RI0eSnp7uen7YsGH079+fl19+maioKKpXr87999/vqut8vv32W+677z5uueUW6tWrR1xcHCNGjGDMmDGuc5xOJxMmTKBevXr4+fkRFxfH7NmzAdizZw/dunUDoFq1athsNoYNG1bo91BEREqfem4uxjAgN/OSX24DQjxzOJqVQ1pqHiEefkV/sZc/2C7e0+Pp6cmQIUOYPn06Tz75JLbTr/n8889xOBwMGjSI9PR02rVrx+OPP05wcDDff/89t99+Ow0aNKBDhw4XrcPpdHLTTTcRERHBH3/8QUpKSoHxOfmCgoKYPn06tWrVYv369dx1110EBQXx2GOPMXDgQDZs2MCcOXOYP38+ACEhIeeUkZGRQa9evejYsSMrVqwgOTmZO++8kwceeKBAgFu4cCFRUVEsXLiQHTt2MHDgQNq0acNdd9113vcQGRnJzz//zH333XfBXqkJEyYwc+ZM3nnnHRo1asSvv/7K3//+d2rUqMGVV17JF198wc0338zWrVsJDg7Gz68Yn6eIiJQKhZuLyc2E52uVqIio07di+7+D4B1QpFPvuOMOXnrpJX755Re6du0KmJekbr75ZkJCQggJCSnQQzFq1Cjmzp3LZ599VqRwM3/+fLZs2cLcuXOpVcv8fjz//PPnjJP55z//6bofGxvLmDFj+PTTT3nsscfw8/MjMDAQT0/PQi9Dffzxx2RlZfHhhx8SEGC+/8mTJ9O3b19efPFFIiIiALP3ZPLkyXh4eNC0aVOuu+46FixYcMFw8+qrrzJgwAAiIyNp0aIFnTp1ol+/fq73kJ2dzfPPP8/8+fPp2LEjAPXr1+f3339nypQpdOnShbCwMABq1qxJaGjoRb9vIiJS+nRZqpJo2rQpnTp1YurUqQDs2LGD3377jREjRgDmYNrnnnuOVq1aERYWRmBgIHPnzmXv3r1FKn/z5s3ExMS4gg3gCgBnmjVrFldccQWRkZEEBgbyz3/+s8h1nFlXXFycK9gAXHHFFTidTrZu3eo61qJFCzw8PFyPo6KiSE5OvmC5zZs3Z8OGDSxbtow77riD5ORk+vbty5133gmY37PMzEyuueYaAgMDXbcPP/yQnTt3Fus9iIhI2VHPzcV4+Zs9KCW0/8QpTmTmEB7oTVRIES9lePkXq44RI0YwatQo3nzzTaZNm0aDBg3o0qULAC+99BKvv/46EydOpFWrVgQEBPDwww+Tk5NT3LdyQUuXLmXw4MGMHz+eXr16ERISwqeffsorr7xiWR1n8vLyKvDYZrPhdBa+npDdbqd9+/a0b9+ehx9+mJkzZ3L77bfz5JNPusb0fP/990RHRxd4nY+Pj7WNFxERt1G4uRibrciXhgoTFOzN8dwMUhx2Ir38XeNirHTrrbfy0EMP8fHHH/Phhx9y7733uupZvHgx/fr14+9//ztgjqHZtm0bzZs3L1LZzZo1Y9++fRw6dIioKPMi27Jlywqcs2TJEurWrcuTTz7pOpaYmFjgHG9vbxyOwvfaatasGdOnTycjI8PVe7N48WLsdjtNmjQpUnuLKv/9Z2Rk0Lx5c3x8fNi7d68rFJ7N29sb4KLvQUREyo4uS5WSQB9P7DYbOXlOsnLds1pxYGAgAwcOZOzYsRw6dKjATJ5GjRoxb948lixZwubNm7n77rtJSkoqctk9evSgcePGDB06lLVr1/Lbb78VCDH5dezdu5dPP/2UnTt3MmnSJL766qsC58TGxrJ7927WrFnD0aNHyc7OPqeuwYMH4+vry9ChQ9mwYQMLFy5k1KhR3H777a7xNpdiwIABvPbaa/zxxx8kJiayaNEi7r//fho3bkzTpk0JCgpizJgxPPLII8yYMYOdO3eyevVq3njjDWbMmAFA3bp1sdlsfPfddxw5cqTADC4RESkfFG5KiYfdRqCP2VGWmuW+Bf1GjBjBiRMn6NWrV4HxMf/85z9p27YtvXr1omvXrkRGRtK/f/8il2u32/nqq684deoUHTp04M477+Tf//53gXNuuOEGHnnkER544AHatGnDkiVLeOqppwqcc/PNN9O7d2+6detGjRo1zjsd3d/fn7lz53L8+HHat2/PgAEDuPrqq5k8eXLxvhln6dWrF//73//o27evK6g1bdqUn376CU9P87N57rnneOqpp5gwYQLNmjWjd+/efP/999SrVw+A6Ohoxo8fzxNPPEFERAQPPPBAidokIiLWsxmGYZR1I0pTamoqISEhpKSkEBwcXOC5rKwsdu/eTb169fD19bW87uMZOew/kYmflweNIoIsL1/KB3f/HImIVEWF/f0+m3puSlGwryc24FSug5w8baQpIiLiDgo3pcjTw46/t/svTYmIiFRlCjelrDQ20hQREanKFG5KWbCv2XOTke0gz6FLUyIiIlZTuDkPd46x9vHywNfLAwP3baQpZauKjdEXESl3FG7OkL/ibWbmpW+UWRTBvro0VZnl//ycvYKyiIiUDq1QfAYPDw9CQ0Nd+xP5+7tnJWEfWx5GXg4p6blk+tmx262vQ0qfYRhkZmaSnJxMaGhogX2vRESk9CjcnCV/t+rCNmC0wrGULBxOA0eKN75e+iNYmYSGhha667mIiLiXws1ZbDYbUVFR1KxZk9xc9102+nb+Nr5de5DrWkUxumdDt9UjpcvLy0s9NiIiZUzh5gI8PDzc+keqU5Mo3v59H1+uO8IT17fWpSkRERGLaEBxGUmoV50gH0+Opmfz576TZd0cERGRSkPhpox4e9rp1rQmAPM2FX13bhERESmcwk0ZuqZ5BAA/bTpcxi0RERGpPBRuylDXJjXw8rCx60gGO5LTy7o5IiIilYLCTRkK8vWiU4NwQJemRERErKJwU8Z0aUpERMRaCjdlLD/c/Ln3JMmpWWXcGhERkYpP4aaMRQT70iYmFID5m927KrKIiEhVoHBTDujSlIiIiHXKRbh58803iY2NxdfXl4SEBJYvX37Bc6dPn47NZitw8/X1LcXWWq9XCzPcLNlxjPTsvDJujYiISMVW5uFm1qxZjB49mnHjxrF69Wri4uLo1atX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hRsRqZJsNhtff/11WTdDRNxA4UZESt2wYcOw2Wzn3Hr37l3WTRORSsCzrBsgIlVT7969mTZtWoFjPj4+ZdQaEalM1HMjImXCx8eHyMjIArdq1aoB5iWjt99+mz59+uDn50f9+vWZPXt2gdevX7+e7t274+fnR/Xq1Rk5ciTp6ekFzpk6dSotWrTAx8eHqKgoHnjggQLPHz16lBtvvBF/f38aNWrEt99+63ruxIkTDB48mBo1auDn50ejRo3OCWMiUj4p3IhIufTUU09x8803s3btWgYPHsxtt93G5s2bAcjIyKBXr15Uq1aNFStW8PnnnzN//vwC4eXtt9/m/vvvZ+TIkaxfv55vv/2Whg0bFqhj/Pjx3Hrrraxbt45rr72WwYMHc/z4cVf9mzZt4scff2Tz5s28/fbbhIeHl943QEQuXVnv3CkiVc/QoUMNDw8PIyAgoMDt3//+t2EY5s7099xzT4HXJCQkGPfee69hGIbx7rvvGtWqVTPS09Ndz3///feG3W537QZdq1Yt48knn7xgGwDjn//8p+txenq6ARg//vijYRiG0bdvX2P48OHWvGERKVUacyMiZaJbt268/fbbBY6FhYW57nfs2LHAcx07dmTNmjUAbN68mbi4OAICAlzPX3HFFTidTrZu3YrNZuPgwYNcffXVhbahdevWrvsBAQEEBweTnJwMwL333svNN9/M6tWr6dmzJ/3796dTp06X9F5FpHQp3IhImQgICDjnMpFV/Pz8inSel5dXgcc2mw2n0wlAnz59SExM5IcffmDevHlcffXV3H///bz88suWt1dErKUxNyJSLi1btuycx82aNQOgWbNmrF27loyMDNfzixcvxm6306RJE4KCgoiNjWXBggUlakONGjUYOnQoM2fOZOLEibz77rslKk9ESod6bkSkTGRnZ3P48OECxzw9PV2Ddj///HPi4+O58sor+e9//8vy5cv54IMPABg8eDDjxo1j6NChPPPMMxw5coRRo0Zx++23ExERAcAzzzzDPffcQ82aNenTpw9paWksXryYUaNGFal9Tz/9NO3ataNFixZkZ2fz3XffucKViJRvCjciUibmzJlDVFRUgWNNmjRhy5YtgDmT6dNPP+W+++4jKiqKTz75hObNmwPg7+/P3Llzeeihh2jfvj3+/v7cfPPNvPrqq66yhg4dSlZWFq+99hpjxowhPDycAQMGFLl93t7ejB07lj179uDn50fnzp359NNPLXjnIuJuNsMwjLJuhIjImWw2G1999RX9+/cv66aISAWkMTciIiJSqSjciIiISKWiMTciUu7oarmIlIR6bkRERKRSUbgRERGRSkXhRkRERCoVhRsRERGpVBRuREREpFJRuBEREZFKReFGREREKhWFGxEREalUFG5ERESkUvl/si3q3HgHsLMAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABpxUlEQVR4nO3dd3hTZf8G8DtJ26S7lO5SOhgtIJRdWSpaKKCVpQx52YIiqMjLqyLbQX+KIiKK42WpCIgCrwqCpYBs0LJXKaVQ6C7QTds0Ob8/QgKhg6ZNc5Lm/lxXriYnZ3wPac3t8zznORJBEAQQERERWRGp2AUQERERmRoDEBEREVkdBiAiIiKyOgxAREREZHUYgIiIiMjqMAARERGR1WEAIiIiIqvDAERERERWhwGIiIiIrA4DEBEREVkdBiAi0iORSGr02Lt3b52PVVxcjAULFtRqX9u3b4dEIoGfnx/UanWdayEi62IjdgFEZF6+//57vdffffcdYmNjKyxv1apVnY9VXFyMhQsXAgCeeOIJg7Zdt24dgoKCcPXqVezevRuRkZF1roeIrAcDEBHp+de//qX3+siRI4iNja2wXExFRUX43//+h5iYGKxevRrr1q0z2wBUVFQER0dHscsgogewC4yIDKZWq7F06VK0adMGCoUC3t7eeOmll3D79m299f755x9ERUXBw8MD9vb2CA4OxoQJEwAAV69ehaenJwBg4cKFuq61BQsWPPT4W7ZswZ07d/D8889jxIgR2Lx5M0pKSiqsV1JSggULFqBly5ZQKBTw9fXFkCFDkJSUpHcun332Gdq2bQuFQgFPT0/069cP//zzj65OiUSCNWvWVNj/g/UuWLAAEokE58+fxwsvvIBGjRqhZ8+eAIDTp09j3LhxCAkJgUKhgI+PDyZMmICbN29W2G9qaiomTpwIPz8/yOVyBAcHY8qUKSgrK8OVK1cgkUjw6aefVtju0KFDkEgkWL9+/UP/DYmsHVuAiMhgL730EtasWYPx48fjtddeQ3JyMpYvX44TJ07g4MGDsLW1RVZWFvr27QtPT0+8/fbbcHNzw9WrV7F582YAgKenJ1asWIEpU6Zg8ODBGDJkCACgXbt2Dz3+unXr0Lt3b/j4+GDEiBF4++238dtvv+H555/XraNSqfDMM88gLi4OI0aMwOuvv46CggLExsbi7NmzaNasGQBg4sSJWLNmDfr3748XX3wR5eXl2L9/P44cOYLOnTvX6t/n+eefR4sWLbBo0SIIggAAiI2NxZUrVzB+/Hj4+Pjg3Llz+Oabb3Du3DkcOXIEEokEAJCWloauXbsiNzcXkydPRlhYGFJTU/Hzzz+juLgYISEh6NGjB9atW4c33nijwr+Ls7MzBg4cWKu6iayKQERUjalTpwr3/6di//79AgBh3bp1euvt2LFDb/mWLVsEAMLff/9d5b6zs7MFAML8+fNrXE9mZqZgY2MjfPvtt7pl3bt3FwYOHKi33qpVqwQAwpIlSyrsQ61WC4IgCLt37xYACK+99lqV6yQnJwsAhNWrV1dY58Ha58+fLwAQRo4cWWHd4uLiCsvWr18vABD27dunWzZmzBhBKpVW+u+mrenrr78WAAgXLlzQvVdWViZ4eHgIY8eOrbAdEVXELjAiMsimTZvg6uqKPn36ICcnR/fo1KkTnJycsGfPHgCAm5sbAOD333+HUqk02vE3bNgAqVSKoUOH6paNHDkSf/zxh14X3C+//AIPDw+8+uqrFfahbW355ZdfIJFIMH/+/CrXqY2XX365wjJ7e3vd85KSEuTk5ODRRx8FABw/fhyApjtu69atiI6OrrT1SVvTsGHDoFAosG7dOt17O3fuRE5OjlmN1SIyZwxARGSQxMRE5OXlwcvLC56ennqPwsJCZGVlAQAef/xxDB06FAsXLoSHhwcGDhyI1atXo7S0tE7H/+GHH9C1a1fcvHkTly9fxuXLl9GhQweUlZVh06ZNuvWSkpIQGhoKG5uqe/qTkpLg5+cHd3f3OtX0oODg4ArLbt26hddffx3e3t6wt7eHp6enbr28vDwAQHZ2NvLz8/HII49Uu383NzdER0fjxx9/1C1bt24d/P398eSTTxrxTIgaLo4BIiKDqNVqeHl56bU+3E87sFkikeDnn3/GkSNH8Ntvv2Hnzp2YMGECPvnkExw5cgROTk4GHzsxMRF///03AKBFixYV3l+3bh0mT55s8H6rU1VLkEqlqnKb+1t7tIYNG4ZDhw7hP//5D9q3bw8nJyeo1Wr069evVvMYjRkzBps2bcKhQ4fQtm1b/Prrr3jllVcglfL/a4lqggGIiAzSrFkz7Nq1Cz169Kj0i/5Bjz76KB599FF88MEH+PHHHzFq1Chs2LABL774osHdTOvWrYOtrS2+//57yGQyvfcOHDiAZcuWISUlBU2bNkWzZs1w9OhRKJVK2NraVnkuO3fuxK1bt6psBWrUqBEAIDc3V2/5tWvXalz37du3ERcXh4ULF2LevHm65YmJiXrreXp6wsXFBWfPnn3oPvv16wdPT0+sW7cOERERKC4uxujRo2tcE5G14/8qEJFBhg0bBpVKhffee6/Ce+Xl5bqgcPv2bd0VUFrt27cHAF03mIODA4CK4aIq69atQ69evTB8+HA899xzeo///Oc/AKC7BHzo0KHIycnB8uXLK+xHW9fQoUMhCIJuMsbK1nFxcYGHhwf27dun9/6XX35Zo5oB6MLag/8eS5cu1XstlUoxaNAg/Pbbb7rL8CurCQBsbGwwcuRI/PTTT1izZg3atm1boyvoiEiDLUBEZJDHH38cL730EmJiYnDy5En07dsXtra2SExMxKZNm/DZZ5/hueeew9q1a/Hll19i8ODBaNasGQoKCvDtt9/CxcUFAwYMAKDpKmrdujU2btyIli1bwt3dHY888kilY2COHj2Ky5cvY9q0aZXW5e/vj44dO2LdunV46623MGbMGHz33XeYMWMGjh07hl69eqGoqAi7du3CK6+8goEDB6J3794YPXo0li1bhsTERF131P79+9G7d2/dsV588UX83//9H1588UV07twZ+/btw6VLl2r8b+bi4oLHHnsMH330EZRKJfz9/fHnn38iOTm5wrqLFi3Cn3/+iccffxyTJ09Gq1atkJ6ejk2bNuHAgQO6weWAphts2bJl2LNnDz788MMa10NE4GXwRFS9By+D1/rmm2+ETp06Cfb29oKzs7PQtm1b4c033xTS0tIEQRCE48ePCyNHjhSaNm0qyOVywcvLS3jmmWeEf/75R28/hw4dEjp16iTY2dlVe0n8q6++KgAQkpKSqqx1wYIFAgDh1KlTgiBoLj2fPXu2EBwcLNja2go+Pj7Cc889p7eP8vJyYfHixUJYWJhgZ2cneHp6Cv379xfi4+N16xQXFwsTJ04UXF1dBWdnZ2HYsGFCVlZWlZfBZ2dnV6jtxo0bwuDBgwU3NzfB1dVVeP7554W0tLRKz/natWvCmDFjBE9PT0EulwshISHC1KlThdLS0gr7bdOmjSCVSoUbN25U+e9CRBVJBOGBNlkiIrIYHTp0gLu7O+Li4sQuhciicAwQEZGF+ueff3Dy5EmMGTNG7FKILA5bgIiILMzZs2cRHx+PTz75BDk5Obhy5QoUCoXYZRFZFLYAERFZmJ9//hnjx4+HUqnE+vXrGX6IaoEtQERERGR12AJEREREVocBiIiIiKyOqBMh7tu3D4sXL0Z8fDzS09OxZcsWDBo0qNpt9u7dixkzZuDcuXMICAjAnDlzMG7cOL11vvjiCyxevBgZGRkIDw/H559/jq5du9a4LrVajbS0NDg7O9fpjtBERERkOoIgoKCgAH5+fg+/L56IcxAJ27dvF2bPni1s3rxZACBs2bKl2vWvXLkiODg4CDNmzBDOnz8vfP7554JMJhN27NihW2fDhg2CnZ2dsGrVKuHcuXPCpEmTBDc3NyEzM7PGdV2/fl0AwAcffPDBBx98WODj+vXrD/2uN5tB0BKJ5KEtQG+99Ra2bdumd6PAESNGIDc3Fzt27AAAREREoEuXLrr7/6jVagQEBODVV1/F22+/XaNa8vLy4ObmhuvXr8PFxaX2J0VEREQmk5+fj4CAAOTm5sLV1bXadS3qXmCHDx9GZGSk3rKoqChMnz4dAFBWVob4+HjMmjVL975UKkVkZCQOHz5c4+Nou71cXFwYgIiIiCxMTYavWFQAysjIgLe3t94yb29v5Ofn486dO7h9+zZUKlWl61y8eLHK/ZaWluruTg1oEiQRERE1XLwKDEBMTAxcXV11j4CAALFLIiIionpkUQHIx8cHmZmZessyMzPh4uICe3t7eHh4QCaTVbqOj49PlfudNWsW8vLydI/r16/XS/1ERERkHiyqC6xbt27Yvn273rLY2Fh069YNAGBnZ4dOnTohLi5ON5harVYjLi4O06ZNq3K/crkccrnc4HpUKhWUSqXB25F1s7W1hUwmE7sMIiKrJmoAKiwsxOXLl3Wvk5OTcfLkSbi7u6Np06aYNWsWUlNT8d133wEAXn75ZSxfvhxvvvkmJkyYgN27d+Onn37Ctm3bdPuYMWMGxo4di86dO6Nr165YunQpioqKMH78eKPVLQgCMjIykJuba7R9knVxc3ODj48P55kiIhKJqAHon3/+Qe/evXWvZ8yYAQAYO3Ys1qxZg/T0dKSkpOjeDw4OxrZt2/DGG2/gs88+Q5MmTfDf//4XUVFRunWGDx+O7OxszJs3DxkZGWjfvj127NhRYWB0XWjDj5eXFxwcHPglRjUmCAKKi4uRlZUFAPD19RW5IiIi62Q28wCZk/z8fLi6uiIvL6/CZfAqlQqXLl2Cl5cXGjduLFKFZOlu3ryJrKwstGzZkt1hRERGUt3394MsahC0OdCO+XFwcBC5ErJk2t8fjiEjIhIHA1AtsduL6oK/P0RE4mIAIiIiIqvDAES1FhQUhKVLl4pdBhERkcEYgKyARCKp9rFgwYJa7ffvv//G5MmT61RbcnIyXnjhBfj5+UGhUKBJkyYYOHBgtbcuedC4ceOqvYkuERHRgyxqIkSqnfT0dN3zjRs3Yt68eUhISNAtc3Jy0j0XBAEqlQo2Ng//1fD09KxTXUqlEn369EFoaCg2b94MX19f3LhxA3/88QfnWCIiaoAEQUBBaTnyipVwsJOhsZPhkxAbCwOQFbj/NiCurq6QSCS6ZXv37kXv3r2xfft2zJkzB2fOnMGff/6JgIAAzJgxA0eOHEFRURFatWqFmJgYREZG6vYVFBSE6dOnY/r06QA0LU3ffvsttm3bhp07d8Lf3x+ffPIJnn322UrrOnfuHJKSkhAXF4fAwEAAQGBgIHr06KG33vXr1/Hvf/8bf/75J6RSKXr16oXPPvsMQUFBWLBgAdauXas7PgDs2bMHTzzxhFH+7YiIzEFxWTmuZBfhSk4RkrIKkZxThOKycjjKbeAot4GT3AaOdjZwlMs0z+8uc1JolmuWyeAot4HcRlrnCzFKlCrkFiuRd0fzyC0u0z3XvL778+7r/Lvr5JeUQ6XWzL4zPbIFpke2NMY/T60wABmBIAi4o1SZ/Lj2tjKjXU309ttv4+OPP0ZISAgaNWqE69evY8CAAfjggw8gl8vx3XffITo6GgkJCWjatGmV+1m4cCE++ugjLF68GJ9//jlGjRqFa9euwd3dvcK6np6ekEql+PnnnzF9+vRK58NRKpWIiopCt27dsH//ftjY2OD9999Hv379cPr0acycORMXLlxAfn4+Vq9eDQCVHouIyNyp1QLS8u5ogk52oSbsZBfiSnYR0vNKjHYcG6nkXmi6G4qcdK81Px3sZChRqu8GmrIKoaasXF2nGuQ2UpSrxJ2GkAHICO4oVWg9b6fJj3v+3Sg42BnnI3z33XfRp08f3Wt3d3eEh4frXr/33nvYsmULfv3112rvqzZu3DiMHDkSALBo0SIsW7YMx44dQ79+/Sqs6+/vj2XLluHNN9/EwoUL0blzZ/Tu3RujRo1CSEgIAE2XnVqtxn//+19d2Fu9ejXc3Nywd+9e9O3bF/b29igtLa32hrdEROaisLRcE3DuBp2knCJcyS5Cck4hSpRVBwt3RzuEeDiimacTQjwd4WJvi6LSchSWlt/9qUKR7nk5isrKUVSq0r1fXKb5H/VytaBrqakLmVQCV3tbuNnbwsXeVvPcwVZvmZuDHVwfeM/V3hYKW/EngGUAIgBA586d9V4XFhZiwYIF2LZtG9LT01FeXo47d+7o3ZqkMu3atdM9d3R0hIuLi+62D5WZOnUqxowZg7179+LIkSPYtGkTFi1ahF9//RV9+vTBqVOncPnyZTg7O+ttV1JSgqSkpFqcKRFR/REEAUqVgJJyFfKKlUjKLkSStkUnuwhXcgqRmV9a5fa2MgkCGzsixMMRIXeDTjNPJzTzdISbg12dalOphbuhSD8waQPSg8sUtjK90HIv1GheO8ltLHpOMwYgI7C3leH8u1EPX7Eejmssjo6Oeq9nzpyJ2NhYfPzxx2jevDns7e3x3HPPoaysrNr92Nra6r2WSCRQq6tvKnV2dkZ0dDSio6Px/vvvIyoqCu+//z769OmDwsJCdOrUCevWrauwXV0HYRNR/RIEASq1gHL13Z8qAeVqNcq1y1QClGp1xffuPlepBdTnzZrUgoCycjVKytUoUapQWq5GqVKFEqUKJUo1Sss1P7XvlShVKNGuc9+6uvfubqOuQc0eTnYI8bgXcEI8NYEnoJE9bGT1c4G2TCqBi8IWLgrbh69sBRiAjEAikRitK8pcHDx4EOPGjcPgwYMBaFqErl69Wu/HlUgkCAsLw6FDhwAAHTt2xMaNG+Hl5VXlfV3s7OygUpl+DBZZh7JyNYpKyx/4ohag0vuy1rxWqu594Zer1LovfqVKfd/yitvKpIBMKoWtTAKZVAIbqQQ2UilsZJqfumX3vb63rnY9yd3l968vhQTQfUHf+6Ku+gu90nWqCAGl5WqUlat1YUV7/vefrzWzk0kR5OGgCzq6Fh0PJ7g6MISIrWF9a5PRtGjRAps3b0Z0dDQkEgnmzp370JYcQ508eRLz58/H6NGj0bp1a9jZ2eGvv/7CqlWr8NZbbwEARo0ahcWLF2PgwIF499130aRJE1y7dg2bN2/Gm2++iSZNmiAoKAg7d+5EQkICGjduDFdX1wotUUQPo1SpcTWnCJcyC5GQWYDEzAIkZBbg2s1i3VUrZBwybVirIrRpw5xMKoG0nrtY5LZSKGxkUNhKIb/7U2Erg8JWBrmNFHLbB96zufee4sH3bGWQ3/faTlb3q62o/jAAUaWWLFmCCRMmoHv37vDw8MBbb72F/Px8ox5DG14WLlyIq1evQiKR6F6/8cYbADQ3Dd23bx/eeustDBkyBAUFBfD398dTTz2laxGaNGkS9u7di86dO6OwsJCXwVO1VGoB128V3xdyCpGYWYCk7EIoH3JViu3dFhgbqQSy+59X0SJjU8UXu2bde6/V93UT6bUWqdW6ViJdq5Oq4rrKB1qVVGpN15K2+0gmlUCh/TK30X5Ra7/Epfpf6NowcHddud6XfcUvfNu756UNMTVpmWIoIHMgEYT67GG1TPn5+XB1dUVeXl6FbpeSkhIkJycjODgYCoVCpArJ0vH3qP4JgoDU3Du4lFmAS5mFuJRRgEtZBUjMLERpFZfwOtrJ0MLbGS29ndDS21n38HKWQyq1vC9ttVqAWhDqbUwJkbmp7vv7QWwBIiKLJggCsgpKcSmzAAkZmoCTkFmAy1mFKCwtr3QbuY0Uzb2cEOrtjBbezgj10QQeP1d7iww6VZFKJdCMAiKiBzEAEZHZKiotR2Z+CTLzS5FVUKJ7npFfgqy7zzPzS6ps0bGVSRDi4YSWPs5o6XX3p7czmro7QNaAgg4RGY4BiIhMrrRchSxdqClFRl4JMgtKkHU30GTma54XVNGC8yCpBAjycERLL+e7IUfTuhPk4Qhbdv8QUSUYgIio3qjVAvZeysKf5zKRnleiCze3i2s+A62jnQzergp4Oyvg7SKHt4sCXi73nvu4KODlIofcRvyZZYnIcjAAEZHR3SlT4ZfjN7DqYDKuZBdVuo6djVQTYpwV8HbRPrQBR65b5iTnf6aIyPj4XxYiMprM/BKsPXQVPx5LQe7dVh5nuQ2GdmqC1n4u8Lkv6Lja2/JyaCISDQMQEdXZ2dQ8rDyQjN9Pp+nm0glwt8f47sEY1iWArThEZHb4XyUiM3c85Tbe//08cu8o8VgLT/QO80JEsLvod1NWqQXEXcjEygPJOJp8S7e8a5A7JvQMRp/W3rzSiojMFgMQkZkqUaqwJPYS/rv/iu7mileyi7Dm0FUobKXo0cwDT4R5oXeoJ5o0cjBZXUWl5fg5XjO+59rNYgCAjVSCp9v5YmLPYLRr4mayWoiIaosBiGrsiSeeQPv27bF06VIAQFBQEKZPn47p06dXuY1EIsGWLVswaNCgOh3bWPuxFPHXbuE/m07jSo5mAPGQDv7o09ob+xKzsediNjLySxB3MQtxF7MAAC28nNA7zAu9Q73QOahRvVz6nZZ7B2sPXcX6YynIL9Fcnu5qb4uRXZtibPdA+LraG/2YRET1hQHICkRHR0OpVGLHjh0V3tu/fz8ee+wxnDp1Cu3atTNov3///TccHR2NVSYAYMGCBdi6dStOnjyptzw9PR2NGjUy6rEepFKpsHjxYqxZswbXrl2Dvb09WrRogUmTJuHFF1+s0T727t2L3r174/bt23BzczO4hjtlKnzyZwJWHkyGIABeznIsGtwWka29AQD92/pCEARczCjAnoQs7L2YjfiU20jMKkRiViG+2XcFTnIb9Grhgd6hXng81BPeLnW71cbJ67n47/4r+ONshu6moMEejpjQIwhDOzWBgx3/M0JElof/5bICEydOxNChQ3Hjxg00adJE773Vq1ejc+fOBocfAPD09DRWiQ/l4+NT78dYuHAhvv76ayxfvhydO3dGfn4+/vnnH9y+fbvejw0Af1+9hTd/Po3ku60+Qzs2wbxnWsPVQf/O9hKJBK18XdDK1wWvPNEcecVKTctQQhb+SsjGzaIy/HE2A3+czQAAtPFzQe9QL/QO80T7gEY1GpdTrlLjz/Oa8T3x1+6df7eQxpjYMxhPhnk1qFtGEJH14RSpVuCZZ56Bp6cn1qxZo7e8sLAQmzZtwsSJE3Hz5k2MHDkS/v7+cHBwQNu2bbF+/fpq9xsUFKTrDgOAxMREPPbYY1AoFGjdujViY2MrbPPWW2+hZcuWcHBwQEhICObOnQulUnO59Jo1a7Bw4UKcOnUKEonmjtHamiUSCbZu3arbz5kzZ/Dkk0/C3t4ejRs3xuTJk1FYWKh7f9y4cRg0aBA+/vhj+Pr6onHjxpg6daruWJX59ddf8corr+D5559HcHAwwsPDMXHiRMycOVO3jlqtRkxMDIKDg2Fvb4/w8HD8/PPPAICrV6+id+/eAIBGjRpBIpFg3Lhx1f4bAppWn4W/ncOwrw8jOacI3i5yrBrXGZ8MC68Qfirj6mCL6HA/LBnWHn/PjsT/pvbA9MgWCA9wg0QCnEvLx/I9lzF0xWF0ej8Wr60/gS0nbuBmYWmFfRWUKPHf/VfwxMd78cq644i/dhu2MgmGdmyCba/1xPrJjyKytTfDDxFZPLYAGYMgAMpi0x/X1gGowTwqNjY2GDNmDNasWYPZs2fr5l7ZtGkTVCoVRo4cicLCQnTq1AlvvfUWXFxcsG3bNowePRrNmjVD165dH3oMtVqNIUOGwNvbG0ePHkVeXl6lY4OcnZ2xZs0a+Pn54cyZM5g0aRKcnZ3x5ptvYvjw4Th79ix27NiBXbt2AQBcXV0r7KOoqAhRUVHo1q0b/v77b2RlZeHFF1/EtGnT9ELenj174Ovriz179uDy5csYPnw42rdvj0mTJlV6Dj4+Pti9ezdeeeWVKlu3YmJi8MMPP+Crr75CixYtsG/fPvzrX/+Cp6cnevbsiV9++QVDhw5FQkICXFxcYG9f/biYU9dv482tF3WDiYd1boLZT7eGq/3Dg09lpFIJwgPcEB7ghumRLZFTWIp9l7KxJyEbfyVkIbdYiV9PpeHXU2mQSIDwJm7oHeqFLsGNEHchCxv/vq67gWgjB1v869FAjH40EF517EYjIjI3DEDGoCwGFvmZ/rjvpAF2NRuDM2HCBCxevBh//fUXnnjiCQCa7q+hQ4fC1dUVrq6uei0dr776Knbu3ImffvqpRgFo165duHjxInbu3Ak/P82/xaJFi9C/f3+99ebMmaN7HhQUhJkzZ2LDhg148803YW9vDycnJ9jY2FTb5fXjjz+ipKQE3333nW4M0vLlyxEdHY0PP/wQ3t6a8TKNGjXC8uXLIZPJEBYWhqeffhpxcXFVBqAlS5bgueeeg4+PD9q0aYPu3btj4MCBunMoLS3FokWLsGvXLnTr1g0AEBISggMHDuDrr7/G448/Dnd3dwCAl5dXtWOAVGoBucVKzNxxCqkFKvi6KhAzpC2eCPWq7p/ZYB5Ocgzp2ARDOjZBuUqNk9dzsSchC7svZuNCej5OXs/Fyeu5ets093LChB7BGNLRX/RL7YmI6gsDkJUICwtD9+7dsWrVKjzxxBO4fPky9u/fj3fffReAZgDwokWL8NNPPyE1NRVlZWUoLS2Fg0PNLq++cOECAgICdOEHgC4k3G/jxo1YtmwZkpKSUFhYiPLycri4uBh0LhcuXEB4eLjeAOwePXpArVYjISFBF4DatGkDmezeF7ivry/OnDlT5X5bt26Ns2fPIj4+HgcPHsS+ffsQHR2NcePG4b///S8uX76M4uJi9OnTR2+7srIydOjQocb1F5aUI+Vmka6lZUSXALzzdCu4KGrX6lNTNjIpOge5o3OQO/4TFYaMvBL8dSkLey5m459rt9HK1xkTewbjsRae7OIiogaPAcgYbB00rTFiHNcAEydOxKuvvoovvvgCq1evRrNmzfD4448DABYvXozPPvsMS5cuRdu2beHo6Ijp06ejrKzMaOUePnwYo0aNwsKFCxEVFQVXV1ds2LABn3zyidGOcT9b24qDh9VqdbXbSKVSdOnSBV26dMH06dPxww8/YPTo0Zg9e7ZujNG2bdvg7++vt51cLn9oPSq1gIz8EtwsLIWgUsNGKkHMkHZ4rJUIrYcAfFwVGN6lKYZ3aSrK8YmIxMQAZAwSSY27osQ0bNgwvP766/jxxx/x3XffYcqUKbrxQAcPHsTAgQPxr3/9C4BmTM+lS5fQunXrGu27VatWuH79OtLT0+Hr6wsAOHLkiN46hw4dQmBgIGbPnq1bdu3aNb117OzsoFKpHnqsNWvWoKioSNcKdPDgQUilUoSGhtao3prSnn9RURFat24NuVyOlJQUXXB8kJ2dHQBUOIfCEiVu3L6DMpUmgLna28LGRY5mwe5GrZeIiGqGV4FZEScnJwwfPhyzZs1Cenq63hVKLVq0QGxsLA4dOoQLFy7gpZdeQmZmZo33HRkZiZYtW2Ls2LE4deoU9u/frxd0tMdISUnBhg0bkJSUhGXLlmHLli166wQFBSE5ORknT55ETk4OSksrXqk0atQoKBQKjB07FmfPnsWePXvw6quvYvTo0brur9p47rnn8Omnn+Lo0aO4du0a9u7di6lTp6Jly5YICwuDs7MzZs6ciTfeeANr165FUlISjh8/js8//xxr164FAAQGBkIikeD3339HdnY28vILkHq7GFdyilCmUsNOJkWwhyN8XO0h5Y1AiYhEwwBkZSZOnIjbt28jKipKb7zOnDlz0LFjR0RFReGJJ56Aj4+PQbMuS6VSbNmyBXfu3EHXrl3x4osv4oMPPtBb59lnn8Ubb7yBadOmoX379jh06BDmzp2rt87QoUPRr18/9O7dG56enpVeiu/g4ICdO3fi1q1b6NKlC5577jk89dRTWL58uWH/GA+IiorCb7/9hujoaF2YCwsLw59//gkbG01j6XvvvYe5c+ciJiYGrVq1Qr9+/bBt2zYEBwcDAPz9/bFw4UK8/fbb8Pb2xrhJL+NmkaYbsbGjHVp4O8O5nsf6EBHRw0kEQRDELsLc5Ofnw9XVFXl5eRUG6JaUlCA5ORnBwcFQKHhpMFWkUquRnleCW3eDj51MiiaN7OF0X/Dh7xERkfFV9/39II4BIjKigrtjfZR3x/o0dpLDx0XBu6ITEZkZBiAiI6jQ6mMjRRM3Bzgp+CdGRGSO+F9nojpSqdVIyi5CiVJz5ZeHkxzebPUhIjJrDEBEdaAWBFy7WYwSpQo2UimaNnaAk5x/VkRE5o7/pa4ljh0nQRCQevsOCkvLIZVIEOThAAe7mv1J8feHiEhcDEAG0s4uXFxc/NAbXVI9EARAUAPqckCtAgSV5qfe6/J7y3Tv333PiCQAAgAEaCeTuCkF7JwB+d2HjbzKm9UWF2tufvrgbNVERGQaDEAGkslkcHNzQ1ZWFgDNnDQSTmhXd4IaKC0EVMp7oUVQ64ccQQ0I5WJXWg0VoMwFinI1L6W2mhnC7RwBW0dAZgNBEFBcXIysrCy4ubnp3auMiIhMhwGoFrR3KteGIKoDQQDKCoHSAk2LTY1JAKkUkBj4MILScrXuai8nhQ2ctWN+BBWgLAHKS4DyUgAPdHPJ5JpWIRs53Bp7VXvHeyIiql8MQLUgkUjg6+sLLy8vKJVKscuxTKWFwNmfgZM/AnduaZbZNwaadALkrpouJIULIHe5+9z13k87Z8BWUWX3Un1KzCrAzA0ncUepQmQrb7zdP7TyFsCyYiDtBHD9KJByFLidpFkuCLAtualp+QnqCTR7UvNo3FyU8yEislacCboShswkSQYqugkcXQEc+wYoydMsc20K9HgN6PAvwNZ8x1Wl5t7B4C8OIqugFN1CGmPthK6ws6lhq1J+GnBlL5C0G0jaAxTn6L/v0gRo1lsThkKeABxMdJNUVbnmcyjNAxwaawImEZGFMuT7mwGoEgxA9SAvFTi8HIhfAyg1A4Dh0RLoOQNo+xwgM+/BwHl3lHj+q0O4lFmIlt5O2PRyd7ja17JmtRrIPHs3DO0GUg4DqrL7VpAAfu3vhqHeQEAEYGNX9f4EQdOFeOc2UJKr+Xknt5rXdx8luUBpvv6+7N0B92CgUfDdn0H3njv5aLodiYjMFANQHTEAGdHNJODgUuDkekB9t7vQtz3Q699A2DMW8YVaVq7G2FXHcPjKTXi7yLH5lR7wdzNiS1VZMZBySNMylLQbyDqv/76to6a7zC3gXnDRCzV5db/CzdbhXjCtio3iXiBqFKQflNyaasY3ERGJiAGojhiAjCDjLHBgCXBui+bqLQAI7An0mqFp2bCQ8S6CIGDGT6ew5UQqHO1k+OnlbmjjV8/dRPnpmu6yK3cDUVF2zbaTyQH7RncfbpqfCrcHnj/4XiNNt5fMRtOKdPsqcCsZuJ189+dVzfPc6w8JWRLAtcndgBT0QCtSsOaYRET1jAGojhiA6uD6MWD/J8ClHfeWteyn6epqGiFeXbX08c4ELN9zGTKpBKvGdcHjLT1NW4BaDWSd0wSikrxqgoxb/Y6fUimBvOv3wpEuKN39qSyqfnt7d8C3HeDXAfDrqPnp2sRigjARWQYGoDpiADKQIGhaKg58Clzdr1kmkQJtBgM93wB82opbXy39eDQF72w5AwD4aGg7DOsSIHJFZkoQNK1U97cY3d+KVFTFdBEOHpog5H83EPl1AJw5NQAR1Z4h39+8DJ5qT60GLv6uafFJP6lZJrUF2o8EekwHGjcTs7o62XMxC3P/dxYA8NpTLRh+qiORAE5emkdlrXylhcDNRCDtpGZqgLQTmnFOxTnA5VjNQ8vZ714Y0j4cG5vsVIjIerAFqBJsAXoIlRI487OmxScnQbPMxh7oPB7oNg1w9Re3vjo6cyMPw785jOIyFYZ2bIKPn2/H2b6NTVmiuRJOG4hSj2t+l7Tjxe7n1vS+QNQR8A3nmCIyPyX5+q2ft69qxtV5P3L3d7e9psua6hW7wOqIAagKyjvAiR+Ag8uAvBTNMrkrEDEZiHgZcPQQtz4juH6rGIO/PIScwlL0bO6BVeO61HyuH6qb0kIg48zdUHRc8/Pm5crXdW92LxT5d9R0s8qdTVsvWRdBAAoyKnbxart9i28+fB/uIQ+E+Xb8vTUyBqA6YgCqhLIE+PZJzYBcAHD0BLpNBTpP1MzY3ADkFSsxZMVBJGUXIczHGZte7gZnhXnPT9TgleQB6ac0LUTa1qLca5Wv6+hZ+SX6jYI13XNsxaOHKS8DclMqCTnJwO1rQPmd6rd38ND/3bO1B9JPawL97auVbCDRzId2/1g470cAO4f6ODurwABURwxAldi/BIhbqLmap/c7Zj9rs6FKy1UYvfIYjiXfgq+rAlte6QEfV4XYZVFlim/d10p0UhOOCtKq38bW8b5gFKQfktyamv1EnGRkapXmd+jqAeBW0r2WnPzUyrthtSQyzdWLDwZs7e9Vda05xbc0YyW1Xb5pJ4H8G5Ufw6uV/jg47zacZ6uGGIDqiAHoAYVZwLKOQFkBMPhrIHyE2BUZlVot4PWNJ/HbqTQ4y22waUo3hPnwc7coJXmVXKKfDNy6qvmSMeRL7cEWJHZRNAy3r96bbDT5r3u34nmQrYN+qLn/d8E1wLhhuTDr7sUBx+8Fo8qumpTZaULQ/d1nnmGa+btIDwNQHTEAPeC31zW3sPDrALy42yJmbzZEzB8X8PVfV2AjlWDthK7o0dzyxzLRfSrr1rh/HqOadGvU96BrubP+/E5VzfWkfW7nWD9demq15r5w2pnGq7u1Ssnd9WzkmtndtV04HqHm8cVckgck7783oeitK/rvK1yBoF6aLqf7w6+Y3aWCoLlvoLa7VxuM7tyuuK6NPeDiV4+1SoAmnYHOE4AmXSymC5kBqI4YgO6TeQ74qqfm/6DH/wEEdhe7IqP6/vBVzP2fZlzTJ8+HY2inJiJXRCZljIGtYpDaVgxKVT23tddcoaS7D1w194gryQNQx68EG/u7k17eN79T4+b1/z9OqnJNYNC28tz4W3/2cqkN0KTrvZsO+3UApLL6rckYBEEz7k3XdXZCMy7uwfv41SfvtpqrfNsNM/sWUQagOmIAuksQgO8HaWYhbj0QGPad2BUZVez5TLz0/T9QC8C/+7TEq0+1ELskMjcleZowVPaQ+6TVhaDWXC6t17qSW3XLi/aeevXJ1qGaVig3/ffu5N4d23L3UVZQcX92zprLwP3a3+vCaRRU91aFW8masHNlD3Bln6b16n6Nm9+7qXBQzwZzwQbUak2LVk1vk1MbyiLgzC/Auc1AeYlmmZ2TJgR1ngj4PFJ/x64DBqA6YgC669JO4Mdhmv7nqcc0zcQNxKnruRj+zWGUKNUY0SUAMUPacq4fMn+CoLlpbWWtN1W17JQVa7p7KrsnXFUhp7YDbtVqzdQF93fhpJ+uvJtR4aY/lYFfB8DFv/pQdCdXM9t80m5NS8/t5Ir7DHlCE3qa9dYMcKe6Kb4FnFoP/LNKf1qKJl2BLhOB1oMAW/O5YMSiAtAXX3yBxYsXIyMjA+Hh4fj888/RtWvXStdVKpWIiYnB2rVrkZqaitDQUHz44Yfo16+fbp0FCxZg4cKFetuFhobi4sWLNa6JAQiayQ6/7KaZwbf7a0Df98SuyGhSbhZjyIqDyCksw+MtPfHfsZ1hK2tY45qIzIaqXDPJ5f1dOJlnAVVZxXUdPfW7znzbaW7Em7Rb80iNr9itFRChCTshT2pamCyhW8sSCQKQvE8ThC7+DqjLNcvtGwHtR2nGCpnB7P8WcyuMjRs3YsaMGfjqq68QERGBpUuXIioqCgkJCfDy8qqw/pw5c/DDDz/g22+/RVhYGHbu3InBgwfj0KFD6NChg269Nm3aYNeuXbrXNjZmMCDP0vyzShN+HDyAx2aKXY3R3C4qw7jVx5BTWIY2fi74YlRHhh+i+iSz0VzB5N1GM30GoBmYnnX+3iDftBNA5nlNl07iTs2jKo1b3G3heRII6mH2Y1IaDIkECHlc8yjIAE58D8Sv1dwk+fByzSPkCU33WGh/i5haQtQWoIiICHTp0gXLly8HAKjVagQEBODVV1/F22+/XWF9Pz8/zJ49G1OnTtUtGzp0KOzt7fHDDz8A0LQAbd26FSdPnqx1XVbfAnTnNrCsg+bn00s0zZwNQIlShX/99yj+uXYb/m722PxKd3i7mE/TLZFVU94BMs7qd59lJ2i65LTdWiG9ATfel89sqFVA4p+a/2FOjIVuAL2zL9BxDNBxrMlvjWQRLUBlZWWIj4/HrFmzdMukUikiIyNx+PDhSrcpLS2FQqH/hWVvb48DBw7oLUtMTISfnx8UCgW6deuGmJgYNG3KvuAa+2uxJvx4ttL8AjcAarWAGT+dxD/XbsNZYYPV47sw/BCZE1t7IKCL5qGlLNGMQWxgU280GFKZprUntL/mYoH4tZqWoYJ04K8PgX2LgZb9gS4TNF2UZvY5ilZNTk4OVCoVvL299ZZ7e3sjIyOj0m2ioqKwZMkSJCYmQq1WIzY2Fps3b0Z6erpunYiICKxZswY7duzAihUrkJycjF69eqGgoJIrE+4qLS1Ffn6+3sNq3UwCjn2jeR71vnnM51EH5So1fj2VhujlB7D9TAZsZRJ8M7ozWnqz2ZzI7NkqzO5Lk6rQKAiInA+8cR54bhUQeHf6lIRtwA9Dgc87AAeWAkU5YleqY1Hfbp999hkmTZqEsLAwSCQSNGvWDOPHj8eqVat06/Tv31/3vF27doiIiEBgYCB++uknTJxYeVdOTExMhYHTVit2nuYy2+Z9gOaRYldTa8Vl5dj493WsPJCMG7c1V6AobKX4+PlwdGvWWOTqiIgaKBs74JGhmkd2gqZ77OR6TQvRrvnAng8006p0ngA07SbqBIuiRWsPDw/IZDJkZmbqLc/MzISPj0+l23h6emLr1q0oKirCtWvXcPHiRTg5OSEkJKTK47i5uaFly5a4fLmKu0oDmDVrFvLy8nSP69ev1+6kLF3yPs3ofokM6Pu+2NXUSk5hKZb8mYDu/7cbC387jxu378Dd0Q5vRLbEobefwjPt/MQukYjIOniGAv0/BP59EXh2ueYKP1UZcGYTsLo/sPUVUcsTrQXIzs4OnTp1QlxcHAYNGgRAMwg6Li4O06ZNq3ZbhUIBf39/KJVK/PLLLxg2bFiV6xYWFiIpKQmjR4+uch25XA653MpvNKdWATvf0TzvPB7wChO3HgNdzSnCt/uv4Of4Gygt19z3KbCxA17sFYLnOjaBvR0vjSUiEoWdA9BxtOaRdkLTKnTmZ830BSIStQtsxowZGDt2LDp37oyuXbti6dKlKCoqwvjx4wEAY8aMgb+/P2JiYgAAR48eRWpqKtq3b4/U1FQsWLAAarUab775pm6fM2fORHR0NAIDA5GWlob58+dDJpNh5MiRopyjxTi1Hsg4A8hdgSfeEbuaGjt5PRdf/5WEHecyoL2eMbyJK156vBmi2vhAJuXkhkREZsOvA/Ds50Cf9zQD30UkagAaPnw4srOzMW/ePGRkZKB9+/bYsWOHbmB0SkoKpPcNgCspKcGcOXNw5coVODk5YcCAAfj+++/h5uamW+fGjRsYOXIkbt68CU9PT/Ts2RNHjhyBp6enqU/PcpQWAnHvap4//h/A0bzHyKjVAvZeysJXf13BseRbuuW9Qz3x0uPNEBHszlmdiYjMWX3fYLgGRJ8J2hxZ3TxAu9/XXK7YKBiYerT20+DXs7JyNf53MhXf7r+CS5mFAABbmQTPhvtj8mMhCPXhlV1ERNbMIuYBIjORdwM49LnmeZ93zTL8FJQosf5YClYduIqMfM1N+ZzkNnghoinG9wiCr6u4zahERGR5GICs3a6Fmjv9BvYAWkWLXY2ezPwSrDqYjB+PpKCgVHPfGS9nOSb0DMYLEU3hojD/qdaJiMg8MQBZsxvxwJmfAEiAqA9EnY/hfomZBfhm3xVsPZkKpUrTQ9vcywmTe4VgYAc/yG14RRcREdUNA5C1EgRg593bkISP1IzMF1n8tVv4ck8S4i5m6ZZ1DXLH5MdC8GSYF6S8oouIiIyEAchandsCXD8K2DoAT80TuxrsTcjC+DV/QxA0DVFRrX0w+fEQdGzaSOzSiIioAWIAskbKEs2U5ADQYzrg4itqOcVl5Zi95SwEAejT2huz+ochxNNJ1JqIiKhhYwCyRke+BHJTAGc/oHv1s26bwqexl5Caewf+bvZYOrw9HOX8tSQiovrF2+xam8IsYP8SzfPI+YCdo6jlnE3Nw8oDyQCA9wc9wvBDREQmwQBkbfZ8AJQVaAY9t636HmqmUK5SY9bmM1ALQHS4H3qHeYlaDxERWQ8GIGuSeQ44/p3medQiQCrux7/m0FWcSc2Di8IG855pLWotRERkXRiArIUgaO72LqiB1gOBwO6ilnP9VjE++fMSAOCdAa3g6Wx+M1ATEVHDxQBkLRL/BK7sBWR2QORCUUsRBAHz/ncWd5QqdA12x7DOAaLWQ0RE1ocByBqolMDO2ZrnES8D7sGilrPtTDr2JGTDTibFosFtOcEhERGZHAOQNfhnNXAzEXDwAB6bKWopecVKLPj1PADgld7N0NyL8/0QEZHpMQA1dHduA3sXaZ73fgdQuIpazv/tuICcwlI083TElCeaiVoLERFZLwaghu6vxZoQ5NkK6DhW1FKOXrmJ9ceuAwBihrTjTU2JiEg0DEAN2c0k4Ng3mudR7wMy8SYZLC1XYdaWMwCAkV2bomuwu2i1EBERMQA1ZLHzALUSaN4HaB4paikr9ibhSnYRPJzkeLtfmKi1EBERMQA1VMn7gIu/AxIZ0Pd9UUu5nFWAL/ckAQAWPNsarg62otZDRETEANQQqVWaSQ8BoPN4wEu8Fhe1WsA7m8+iTKXGk2FeeLqtuHeeJyIiAhiAGqZT64GMM4DcFXjiHVFL2fjPdRy7egsOdjK8O7ANJBLO+UNEROJjAGpoSguBuHc1zx//D+DYWLRSsgpKELP9AgBgRp+WaNLIQbRaiIiI7scA1NAcXAoUZgKNgoGuk0Ut5d3fziO/pBxt/V0xrnuQqLUQERHdjwGoIcm7ARz6XPO8z7uAjXg3GN19MRO/n06HTCpBzJC2sJHxV42IiMwHv5Uakr3/B5SXAIE9gFbRopVRVFqOuVvPAQAm9AjCI/7izj5NRET0IAaghqK8DDj/q+Z579mAiIONP429hNTcO/B3s8cbfVqKVgcREVFVGIAaimsHgNI8wNELaNpNtDLO3MjDqoPJAID3Bz8CBzvxZp8mIiKqCgNQQ3Fxm+Zn2ABAKs7HWq5S4+3Np6EWgGfD/dA71EuUOoiIiB6GAaghUKuBi9s1z8OeEa2M1Qev4lxaPlwUNpj7TGvR6iAiInoYBqCGIP0EUJAG2DkBwY+JUsL1W8VYEnsJADD76VbwdBbvCjQiIqKHYQBqCC78rvnZoo8ol74LgoA5W8/ijlKFiGB3DOscYPIaiIiIDMEA1BDoxv+I0/312+l0/HUpG3YyKRYNacvbXRARkdljALJ0OYlATgIgtdW0AJlYbnEZ3v1NM+fP1N7N0czTyeQ1EBERGYoByNJpW3+CewEK0084GLP9InIKy9DcywkvPxFi8uMTERHVBgOQpdN1fz1t8kMfuXITG/+5DgCIGdIWchuZyWsgIiKqDQYgS1aQAdz4W/M8dIBJD12iVOGdLWcAAC9ENEWXIHeTHp+IiKguGIAsWcIfAATAvzPg4mfSQ3+5NwlXsovg6SzHW/3CTHpsIiKiumIAsmQidX8lZhZgxd7LAIAF0W3gam9r0uMTERHVFQOQpSrJB5L/0jw34eXvarWAWZvPQKkS8FSYFwa09THZsYmIiIyFAchSXd4FqMqAxi0AT9PdcX3D39fxz7XbcLCT4d1Bj3DOHyIiskgMQJZKhO6vrPwSxPxxAQDw776h8HezN9mxiYiIjIkByBKVlwGJf2qem7D7a+Hv51FQUo52TVwxrnuQyY5LRERkbAxAlujqfqA0H3DyBvw7meSQt4vKsO10OgBg0eC2kEnZ9UVERJaLAcgSabu/QgcAUtN8hMdTbgMAQjwd8Yi/6WecJiIiMiYGIEujVgMJ2zXPTdj9pQ1AnZo2MtkxiYiI6gsDkKVJOwEUpAN2zpr7f5lI/LW7ASiQAYiIiCwfA5Clufi75meLPoCN3CSHVKrUOHU9DwDQkQGIiIgaAAYgSyPC5e8X0wtwR6mCs8IGzT2dTHZcIiKi+sIAZElyEoGcBEBqq2kBMpH4a7cAAB2bNoKUV38REVEDwABkSbStP8GPAQrTXYkVn5ILgON/iIio4WAAsiQi3fz0OAdAExFRA8MAZCkKMoAbf2uehw4w2WEz8kqQmnsHUgkQHuBmsuMSERHVJwYgS5GwHYAA+HcGXHxNdljt/D9hPi5wktuY7LhERET1iQHIUojU/cX5f4iIqCFiALIEJfnAlb80z004+zNwLwB1DHQz6XGJiIjqEwOQJbgcC6iVQOMWgGdLkx22RKnCuTTNBIidmrqb7LhERET1jQHIEojU/XUmNQ9KlQAPJzkC3O1NemwiIqL6xABk7spLgUt/ap6L1P3VKdANEgknQCQiooaDAcjcXd0PlBUATt6AfyeTHprz/xARUUPFAGTutN1foQMAqek+LkEQdJfAMwAREVFDwwBkztRq4OJ2zXMTd3+l3CpGTmEZ7GRStPEz3W03iIiITEH0APTFF18gKCgICoUCEREROHbsWJXrKpVKvPvuu2jWrBkUCgXCw8OxY8eOOu3TrKUdBwozADtnILiXSQ+tHf/Txt8FCluZSY9NRERU30QNQBs3bsSMGTMwf/58HD9+HOHh4YiKikJWVlal68+ZMwdff/01Pv/8c5w/fx4vv/wyBg8ejBMnTtR6n2bt4u+any36ADZykx5aNwC6Kbu/iIio4RE1AC1ZsgSTJk3C+PHj0bp1a3z11VdwcHDAqlWrKl3/+++/xzvvvIMBAwYgJCQEU6ZMwYABA/DJJ5/Uep9mTTv+p5Vpu78AzgBNREQNm2gBqKysDPHx8YiMjLxXjFSKyMhIHD58uNJtSktLoVAo9JbZ29vjwIEDtd6n2cq+BORcAqS2QPM+Jj10QYkSCZkFAICODEBERNQAiRaAcnJyoFKp4O3trbfc29sbGRkZlW4TFRWFJUuWIDExEWq1GrGxsdi8eTPS09NrvU9AE6zy8/P1HqJLuNv6E/I4oHAx6aFPXc+DIABNGtnD20Xx8A2IiIgsjOiDoA3x2WefoUWLFggLC4OdnR2mTZuG8ePHQ1rHy8NjYmLg6uqqewQEBBip4joQafZngN1fRETU8IkWgDw8PCCTyZCZmam3PDMzEz4+PpVu4+npia1bt6KoqAjXrl3DxYsX4eTkhJCQkFrvEwBmzZqFvLw83eP69et1PLs6KsgAbvyteR46wOSHj+f8P0RE1MCJFoDs7OzQqVMnxMXF6Zap1WrExcWhW7du1W6rUCjg7++P8vJy/PLLLxg4cGCd9imXy+Hi4qL3EFXC3bl/mnQBnKsObvVBrRZwQnsHeF4BRkREDZSNmAefMWMGxo4di86dO6Nr165YunQpioqKMH78eADAmDFj4O/vj5iYGADA0aNHkZqaivbt2yM1NRULFiyAWq3Gm2++WeN9WgQRu78SswpRUFoOBzsZwnycTX58IiIiUxA1AA0fPhzZ2dmYN28eMjIy0L59e+zYsUM3iDklJUVvfE9JSQnmzJmDK1euwMnJCQMGDMD3338PNze3Gu/T7JXkA1f+0jw38ezPwL3xP+FN3GAjs6ghYkRERDUmEQRBELsIc5Ofnw9XV1fk5eWZvjvs7C/AzxMAj5bAtL9Ne2wA//7pFH45fgPTejfHzKhQkx+fiIiotgz5/ub/4psbEbu/AOAEB0ATEZEVYAAyJ+WlwKU/Nc9F6P66VVSGKzlFAIAOTd1MfnwiIiJTMTgABQUF4d1330VKSkp91GPdkvcDZQWAkw/g19Hkhz9+d/xPcy8nuDnYmfz4REREpmJwAJo+fTo2b96MkJAQ9OnTBxs2bEBpaWl91GZ9tDc/DRsA1HFyx9rQzf/Dy9+JiKiBq1UAOnnyJI4dO4ZWrVrh1Vdfha+vL6ZNm4bjx4/XR43WQa2+N/+PSON/tFeAdQx0E+X4REREplLrZoaOHTti2bJlSEtLw/z58/Hf//4XXbp0Qfv27bFq1Srw4jIDpcYDhZmA3AUIeszkh1eq1Dh1PRcAB0ATEVHDV+t5gJRKJbZs2YLVq1cjNjYWjz76KCZOnIgbN27gnXfewa5du/Djjz8as9aGTdv91aIPYGP68Tfn0/JRWq6Gq70tQjycTH58IiIiUzI4AB0/fhyrV6/G+vXrIZVKMWbMGHz66acICwvTrTN48GB06dLFqIU2eCJf/n48RXv7CzdIpRJRaiAiIjIVgwNQly5d0KdPH6xYsQKDBg2Cra1thXWCg4MxYsQIoxRoFbIvATcTAakt0LyPKCXwDvBERGRNDA5AV65cQWBgYLXrODo6YvXq1bUuyupou79CHgcU4tyI9bhuADQDEBERNXwGD4LOysrC0aNHKyw/evQo/vnnH6MUZXVE7v5Ky72DtLwSyKQShDdxE6UGIiIiUzI4AE2dOhXXr1+vsDw1NRVTp041SlFWJT8dSL0bHEMHiFKCdvxPK19nOMpFvT8uERGRSRgcgM6fP4+OHSvOUtyhQwecP3/eKEVZFe3cP026AM4+opSgm/+HEyASEZGVMDgAyeVyZGZmVlienp4OGxu2HhhM5O4v4N74Hw6AJiIia2FwAOrbty9mzZqFvLw83bLc3Fy888476NNHnCuYLFZJHpC8T/NchJufAkCJUoVzafkA2AJERETWw+Amm48//hiPPfYYAgMD0aFDBwDAyZMn4e3tje+//97oBTZoibGAWgl4tAQ8WohSwukbeShXC/BylqNJI3tRaiAiIjI1gwOQv78/Tp8+jXXr1uHUqVOwt7fH+PHjMXLkyErnBKJqmEH31/3z/0gknACRiIisQ60G7Tg6OmLy5MnGrsW6lJdqWoAAICxatDI4ASIREVmjWo9aPn/+PFJSUlBWVqa3/Nlnn61zUVYheT9QVgA4+wJ+HUQpQRCEe7fAYAAiIiIrUquZoAcPHowzZ85AIpHo7vqu7T5RqVTGrbCh0s7+HDoAkBo8Ft0ort4sxq2iMtjJpGjjJ84M1ERERGIw+Jv39ddfR3BwMLKysuDg4IBz585h37596Ny5M/bu3VsPJTZAavW9+X/MYPxP2yaukNvIRKuDiIjI1AxuATp8+DB2794NDw8PSKVSSKVS9OzZEzExMXjttddw4sSJ+qizYUmNBwozAbkLENRLtDK03V8c/0NERNbG4BYglUoFZ2dnAICHhwfS0tIAAIGBgUhISDBudQ2VtvurRV/Axk60Mo5zBmgiIrJSBrcAPfLIIzh16hSCg4MRERGBjz76CHZ2dvjmm28QEhJSHzU2PGZw+Xt+iRIJmQUAgI6BbqLVQUREJAaDA9CcOXNQVFQEAHj33XfxzDPPoFevXmjcuDE2btxo9AIbnOxLwM1EQGYHNI8UrYyTKbkQBKCpuwO8nBWi1UFERCQGgwNQVFSU7nnz5s1x8eJF3Lp1C40acSK9Grn4m+Zn8OOAQrwrrzj/DxERWTODxgAplUrY2Njg7Nmzesvd3d0ZfmrKDLq/AHD+HyIismoGBSBbW1s0bdqUc/3UVn6a5gowSDTz/4hEpRZwIiUXANCxqZtodRAREYnF4KvAZs+ejXfeeQe3bt2qj3oaNu3cP026AM7eopWRmFWAwtJyONrJEOrtLFodREREYjF4DNDy5ctx+fJl+Pn5ITAwEI6OjnrvHz9+3GjFNTgqJeDgIXr3l3b8T/umbrCRiTMLNRERkZgMDkCDBg2qhzKsxKNTgK6TAVXZw9etR7oB0Jz/h4iIrJTBAWj+/Pn1UYf1kMoAqb2oJegmQOQAaCIislLs/7AyOYWluHqzGADQgS1ARERkpQxuAZJKpdVe8s4rxMybtvWnpbcTXO1tRa6GiIhIHAYHoC1btui9ViqVOHHiBNauXYuFCxcarTCqH/EpvP8XERGRwQFo4MCBFZY999xzaNOmDTZu3IiJEycapTCqHyeu5QLg+B8iIrJuRhsD9OijjyIuLs5Yu6N6UFauxqkbuQB4CwwiIrJuRglAd+7cwbJly+Dv72+M3VE9OZ+ej9JyNdwcbBHi4fjwDYiIiBoog7vAHrzpqSAIKCgogIODA3744QejFkfGdf/8P7x3GxERWTODA9Cnn36q9+UplUrh6emJiIgINGrEbhVzxvl/iIiINAwOQOPGjauHMqi+CYKAf65p7t/G8T9ERGTtDB4DtHr1amzatKnC8k2bNmHt2rVGKYqMLy2vBJn5pZBJJQhv4iZ2OURERKIyOADFxMTAw8OjwnIvLy8sWrTIKEWR8Wm7v1r7usDeTiZyNUREROIyOAClpKQgODi4wvLAwECkpKQYpSgyPt0AaHZ/ERERGR6AvLy8cPr06QrLT506hcaNGxulKDK+4ykcAE1ERKRlcAAaOXIkXnvtNezZswcqlQoqlQq7d+/G66+/jhEjRtRHjVRHxWXlOJeWD4AtQEREREAtrgJ77733cPXqVTz11FOwsdFsrlarMWbMGI4BMlOnb+RBpRbg46KAn6tC7HKIiIhEZ3AAsrOzw8aNG/H+++/j5MmTsLe3R9u2bREYGFgf9ZER3D/+hxMgEhER1SIAabVo0QItWrQwZi1UTzgBIhERkT6DxwANHToUH374YYXlH330EZ5//nmjFEXGIwjCvQHQTd3ELYaIiMhMGByA9u3bhwEDBlRY3r9/f+zbt88oRZHxJOcU4XaxEnY2UrTxcxW7HCIiIrNgcAAqLCyEnZ1dheW2trbIz883SlFkPNrxP+FNXGFnY/DHTURE1CAZ/I3Ytm1bbNy4scLyDRs2oHXr1kYpioyH8/8QERFVZPAg6Llz52LIkCFISkrCk08+CQCIi4vDjz/+iJ9//tnoBVLd6K4Aa8oAREREpGVwAIqOjsbWrVuxaNEi/Pzzz7C3t0d4eDh2794Nd3f3+qiRainvjhKXMgsBsAWIiIjofrW6DP7pp5/G008/DQDIz8/H+vXrMXPmTMTHx0OlUhm1QKq9E3e7v4IaO8DDSS5yNUREROaj1qNi9+3bh7Fjx8LPzw+ffPIJnnzySRw5csSYtVEdcf4fIiKiyhnUApSRkYE1a9Zg5cqVyM/Px7Bhw1BaWoqtW7dyALQZOp6SCwDoyPE/REREemrcAhQdHY3Q0FCcPn0aS5cuRVpaGj7//PP6rI3qQKUWdF1gvAEqERGRvhq3AP3xxx947bXXMGXKFN4CwwIkZBSgqEwFJ7kNWno7i10OERGRWalxC9CBAwdQUFCATp06ISIiAsuXL0dOTk591kZ1EH+39adDUzfIpLwBKhER0f1qHIAeffRRfPvtt0hPT8dLL72EDRs2wM/PD2q1GrGxsSgoKKhVAV988QWCgoKgUCgQERGBY8eOVbv+0qVLERoaCnt7ewQEBOCNN95ASUmJ7v0FCxZAIpHoPcLCwmpVmyXTDYDm+B8iIqIKDL4KzNHRERMmTMCBAwdw5swZ/Pvf/8b//d//wcvLC88++6xB+9q4cSNmzJiB+fPn4/jx4wgPD0dUVBSysrIqXf/HH3/E22+/jfnz5+PChQtYuXIlNm7ciHfeeUdvvTZt2iA9PV33OHDggKGnafF0EyBy/A8REVEFdbo5VGhoKD766CPcuHED69evN3j7JUuWYNKkSRg/fjxat26Nr776Cg4ODli1alWl6x86dAg9evTACy+8gKCgIPTt2xcjR46s0GpkY2MDHx8f3cPDw6NW52epsgtKkXKrGBIJ0J53gCciIqrAKHfHlMlkGDRoEH799dcab1NWVob4+HhERkbeK0YqRWRkJA4fPlzpNt27d0d8fLwu8Fy5cgXbt2+vcHf6xMRE+Pn5ISQkBKNGjUJKSkotzspyae//FertDBeFrcjVEBERmZ9azQRtDDk5OVCpVPD29tZb7u3tjYsXL1a6zQsvvICcnBz07NkTgiCgvLwcL7/8sl4XWEREBNasWYPQ0FCkp6dj4cKF6NWrF86ePQtn58qvhiotLUVpaanutaXf1V47/qcDx/8QERFVyigtQKayd+9eLFq0CF9++SWOHz+OzZs3Y9u2bXjvvfd06/Tv3x/PP/882rVrh6ioKGzfvh25ubn46aefqtxvTEwMXF1ddY+AgABTnE694fgfIiKi6onWAuTh4QGZTIbMzEy95ZmZmfDx8al0m7lz52L06NF48cUXAQBt27ZFUVERJk+ejNmzZ0MqrZjn3Nzc0LJlS1y+fLnKWmbNmoUZM2boXufn51tsCCotV+F0ah4ABiAiIqKqiNYCZGdnh06dOiEuLk63TK1WIy4uDt26dat0m+Li4gohRyaTAQAEQah0m8LCQiQlJcHX17fKWuRyOVxcXPQelupcWj7KytVwd7RDUGMHscshIiIyS6K1AAHAjBkzMHbsWHTu3Bldu3bF0qVLUVRUhPHjxwMAxowZA39/f8TExADQ3I5jyZIl6NChAyIiInD58mXMnTsX0dHRuiA0c+ZMREdHIzAwEGlpaZg/fz5kMhlGjhwp2nma0v3z/0gknACRiIioMqIGoOHDhyM7Oxvz5s1DRkYG2rdvjx07dugGRqekpOi1+MyZMwcSiQRz5sxBamoqPD09ER0djQ8++EC3zo0bNzBy5EjcvHkTnp6e6NmzJ44cOQJPT0+Tn58YOP6HiIjo4SRCVX1HViw/Px+urq7Iy8uzqO4wQRDwaEwcMvNL8dNL3dA12F3skoiIiEzGkO9vi7oKjKqXmnsHmfmlsJFK0K6Jq9jlEBERmS0GoAZE2/3Vxs8FCluZyNUQERGZLwagBkQ3AJrjf4iIiKrFANSAnLyeC4AzQBMRET0MA1ADUa5S42JGAQCgrT/H/xAREVWHAaiBSMouQmm5Gk5yGwS6cwJEIiKi6jAANRDn0jS3v2jt6wKplBMgEhERVYcBqIE4m6q5g31rP8uZt4iIiEgsDEANhLYFqA0DEBER0UMxADUAgiDgfLqmBaiNHwdAExERPQwDUANw/dYdFJSUw04mRQtvJ7HLISIiMnsMQA2Atvsr1McZtjJ+pERERA/Db8sG4FyatvuL43+IiIhqggGoATjLAdBEREQGYQBqALQtQK05AJqIiKhGGIAsXFZBCbILSiGRAK18ncUuh4iIyCIwAFk4betPiIcjHOxsRK6GiIjIMjAAWbjzdwPQI7wBKhERUY0xAFk4zgBNRERkOAYgC6e9BxhngCYiIqo5BiALll+iRMqtYgBsASIiIjIEA5AF047/8Xezh5uDncjVEBERWQ4GIAt2b/4ftv4QEREZggHIgnEANBERUe0wAFkw3SXwHABNRERkEAYgC1WiVCExqxAA0MafLUBERESGYACyUAkZBVCpBbg72sHHRSF2OURERBaFAchCaQdAt/FzgUQiEbkaIiIiy8IAZKG0A6B5BRgREZHhGIAs1L0WIA6AJiIiMhQDkAVSqQVczNBeAcYWICIiIkMxAFmgK9mFKFGq4WgnQ1BjR7HLISIisjgMQBbo7N3xP618XSCVcgA0ERGRoRiALNC51HtXgBEREZHhGIAsEAdAExER1Q0DkIURBIGXwBMREdURA5CFuXH7DvJLymErk6Clt7PY5RAREVkkBiALo+3+auntDDsbfnxERES1wW9QC6Pt/uIAaCIiotpjALIwHABNRERUdwxAFoYtQERERHXHAGRBcgpLkZlfColEMwkiERER1Q4DkAXRdn8FezjCUW4jcjVERESWiwHIgtzr/uL4HyIiorpgALIg9wZAs/uLiIioLhiALMi5VA6AJiIiMgYGIAtRUKLE1ZvFANgFRkREVFcMQBbiQnoBAMDXVQF3RzuRqyEiIrJsDEAWggOgiYiIjIcByEJwADQREZHxMABZCAYgIiIi42EAsgCl5SokZmrGALXxZxcYERFRXTEAWYBLGYUoVwtwc7CFn6tC7HKIiIgsHgOQBbj/BqgSiUTkaoiIiCwfA5AF0I7/eYRXgBERERkFA5AF0LYAteYAaCIiIqNgADJzKrWgmwSRcwAREREZBwOQmUvOKcQdpQr2tjIEeziKXQ4REVGDwABk5rTjf1r5OkMm5QBoIiIiY2AAMnP3JkBk9xcREZGxMACZOe0A6Ef8OQCaiIjIWEQPQF988QWCgoKgUCgQERGBY8eOVbv+0qVLERoaCnt7ewQEBOCNN95ASUlJnfZprgRBYAsQERFRPRA1AG3cuBEzZszA/Pnzcfz4cYSHhyMqKgpZWVmVrv/jjz/i7bffxvz583HhwgWsXLkSGzduxDvvvFPrfZqztLwS5BYrYSOVoIW3k9jlEBERNRiiBqAlS5Zg0qRJGD9+PFq3bo2vvvoKDg4OWLVqVaXrHzp0CD169MALL7yAoKAg9O3bFyNHjtRr4TF0n+bsXKqm+6uFtzPkNjKRqyEiImo4RAtAZWVliI+PR2Rk5L1ipFJERkbi8OHDlW7TvXt3xMfH6wLPlStXsH37dgwYMKDW+zRnZ3kHeCIionphI9aBc3JyoFKp4O3trbfc29sbFy9erHSbF154ATk5OejZsycEQUB5eTlefvllXRdYbfYJAKWlpSgtLdW9zs/Pr+1pGdX5++4BRkRERMYj+iBoQ+zduxeLFi3Cl19+iePHj2Pz5s3Ytm0b3nvvvTrtNyYmBq6urrpHQECAkSquG909wPw5AJqIiMiYRGsB8vDwgEwmQ2Zmpt7yzMxM+Pj4VLrN3LlzMXr0aLz44osAgLZt26KoqAiTJ0/G7Nmza7VPAJg1axZmzJihe52fny96CLpVVIb0vBJIJEArX7YAERERGZNoLUB2dnbo1KkT4uLidMvUajXi4uLQrVu3SrcpLi6GVKpfskymGRwsCEKt9gkAcrkcLi4ueg+xaef/CWrsCCe5aDmViIioQRL1m3XGjBkYO3YsOnfujK5du2Lp0qUoKirC+PHjAQBjxoyBv78/YmJiAADR0dFYsmQJOnTogIiICFy+fBlz585FdHS0Lgg9bJ+WQtv9xTvAExERGZ+oAWj48OHIzs7GvHnzkJGRgfbt22PHjh26QcwpKSl6LT5z5syBRCLBnDlzkJqaCk9PT0RHR+ODDz6o8T4txdlUDoAmIiKqLxJBEASxizA3+fn5cHV1RV5enmjdYU9+vBdXcoqwdkJXPN7SU5QaiIiILIkh398WdRWYtSgqLUfyzSIAbAEiIiKqDwxAZuhCej4EAfBxUcDDSS52OURERA0OA5AZOscZoImIiOoVA5AZOscZoImIiOoVA5AZOpuqvQSeM0ATERHVBwYgM1NWrkZiVgEAtgARERHVFwYgM3MpswBKlQBXe1s0aWQvdjlEREQNEgOQmTl/3wBoiUQicjVEREQNEwOQmeEAaCIiovrHAGRm7l0CzwHQRERE9YUByIyo1QLOp3MOICIiovrGAGRGkm8WobhMBYWtFCGeTmKXQ0RE1GAxAJkRbfdXK18XyKQcAE1ERFRfGIDMCAdAExERmQYDkBk5zwHQREREJsEAZCYEQeBNUImIiEyEAchMZOSX4FZRGWRSCVp6O4tdDhERUYPGAGQmtDdAbeHlBIWtTORqiIiIGjYGIDNxbwA0x/8QERHVNwYgM8HxP0RERKbDAGQmzjMAERERmQwDkBm4XVSG1Nw7AIDWDEBERET1jgHIDGjv/xXY2AHOCluRqyEiImr4GIDMwNlUzgBNRERkSgxAZuAcZ4AmIiIyKQYgM8B7gBEREZkWA5DIisvKcSWnCABbgIiIiEyFAUhkF9ILIAiAl7Mcns5yscshIiKyCgxAIjvP7i8iIiKTYwASmfYeYOz+IiIiMh0GIJGdS2cLEBERkakxAIlIqVLjUkYhAOARf7YAERERmQoDkIgSMwtRplLDRWGDJo3sxS6HiIjIajAAiUg7/09rPxdIJBKRqyEiIrIeDEAi4gzQRERE4mAAEtF5XQDiAGgiIiJTYgASiVot3HcLDLYAERERmRIDkEiu3SpGUZkKchspmnk6il0OERGRVWEAEom29SfM1wU2Mn4MREREpsRvXpGc4/gfIiIi0TAAiYQBiIiISDwMQCIQBAHnUjkAmoiISCwMQCLIzC/FzaIyyKQShPk4i10OERGR1WEAEoF2AHRzTycobGUiV0NERGR9GIBEwPE/RERE4mIAEsH99wAjIiIi02MAEgHvAUZERCQuBiATyytW4sbtOwDYAkRERCQWBiAT03Z/Bbjbw9XeVuRqiIiIrBMDkIlpu78eYfcXERGRaBiATOzeHeDZ/UVERCQWBiAT4wBoIiIi8TEAmdCdMhWSsgsBsAWIiIhITAxAJnQxIx9qAfBwksPLRSF2OURERFaLAciEOAM0ERGReWAAMqG8O0oobKV4xJ8BiIiISEwSQRAEsYswN/n5+XB1dUVeXh5cXIwbVlRqAaXlKjjY2Rh1v0RERNbOkO9vtgCZmEwqYfghIiISGQMQERERWR0GICIiIrI6DEBERERkdcwiAH3xxRcICgqCQqFAREQEjh07VuW6TzzxBCQSSYXH008/rVtn3LhxFd7v16+fKU6FiIiILIDoo3E3btyIGTNm4KuvvkJERASWLl2KqKgoJCQkwMvLq8L6mzdvRllZme71zZs3ER4ejueff15vvX79+mH16tW613K5vP5OgoiIiCyK6C1AS5YswaRJkzB+/Hi0bt0aX331FRwcHLBq1apK13d3d4ePj4/uERsbCwcHhwoBSC6X663XqFEjU5wOERERWQBRA1BZWRni4+MRGRmpWyaVShEZGYnDhw/XaB8rV67EiBEj4OjoqLd879698PLyQmhoKKZMmYKbN28atXYiIiKyXKJ2geXk5EClUsHb21tvube3Ny5evPjQ7Y8dO4azZ89i5cqVesv79euHIUOGIDg4GElJSXjnnXfQv39/HD58GDKZrMJ+SktLUVpaqnudn59fyzMiIiIiSyD6GKC6WLlyJdq2bYuuXbvqLR8xYoTuedu2bdGuXTs0a9YMe/fuxVNPPVVhPzExMVi4cGG910tERETmQdQuMA8PD8hkMmRmZuotz8zMhI+PT7XbFhUVYcOGDZg4ceJDjxMSEgIPDw9cvny50vdnzZqFvLw83eP69es1PwkiIiKyOKIGIDs7O3Tq1AlxcXG6ZWq1GnFxcejWrVu1227atAmlpaX417/+9dDj3LhxAzdv3oSvr2+l78vlcri4uOg9iIiIqOES/SqwGTNm4Ntvv8XatWtx4cIFTJkyBUVFRRg/fjwAYMyYMZg1a1aF7VauXIlBgwahcePGessLCwvxn//8B0eOHMHVq1cRFxeHgQMHonnz5oiKijLJOREREZF5E30M0PDhw5GdnY158+YhIyMD7du3x44dO3QDo1NSUiCV6ue0hIQEHDhwAH/++WeF/clkMpw+fRpr165Fbm4u/Pz80LdvX7z33nucC4iIiIgAABJBEASxizA3eXl5cHNzw/Xr19kdRkREZCHy8/MREBCA3NxcuLq6Vruu6C1A5qigoAAAEBAQIHIlREREZKiCgoKHBiC2AFVCrVYjLS0Nzs7OkEgkRt23Np1aQ+sSz7Xhsqbz5bk2XNZ0vtZyroIgoKCgAH5+fhWGzzyILUCVkEqlaNKkSb0ew5quNuO5NlzWdL4814bLms7XGs71YS0/WqJfBUZERERkagxAREREZHUYgExMLpdj/vz5VnFJPs+14bKm8+W5NlzWdL7WdK41xUHQREREZHXYAkRERERWhwGIiIiIrA4DEBEREVkdBiAiIiKyOgxA9eCLL75AUFAQFAoFIiIicOzYsWrX37RpE8LCwqBQKNC2bVts377dRJXWXkxMDLp06QJnZ2d4eXlh0KBBSEhIqHabNWvWQCKR6D0UCoWJKq69BQsWVKg7LCys2m0s8TPVCgoKqnC+EokEU6dOrXR9S/pc9+3bh+joaPj5+UEikWDr1q167wuCgHnz5sHX1xf29vaIjIxEYmLiQ/dr6N+8KVR3rkqlEm+99Rbatm0LR0dH+Pn5YcyYMUhLS6t2n7X5WzCVh32248aNq1B7v379HrpfS/tsAVT69yuRSLB48eIq92nOn219YQAyso0bN2LGjBmYP38+jh8/jvDwcERFRSErK6vS9Q8dOoSRI0di4sSJOHHiBAYNGoRBgwbh7NmzJq7cMH/99RemTp2KI0eOIDY2FkqlEn379kVRUVG127m4uCA9PV33uHbtmokqrps2bdro1X3gwIEq17XUz1Tr77//1jvX2NhYAMDzzz9f5TaW8rkWFRUhPDwcX3zxRaXvf/TRR1i2bBm++uorHD16FI6OjoiKikJJSUmV+zT0b95UqjvX4uJiHD9+HHPnzsXx48exefNmJCQk4Nlnn33ofg35WzClh322ANCvXz+92tevX1/tPi3xswWgd47p6elYtWoVJBIJhg4dWu1+zfWzrTcCGVXXrl2FqVOn6l6rVCrBz89PiImJqXT9YcOGCU8//bTesoiICOGll16q1zqNLSsrSwAg/PXXX1Wus3r1asHV1dV0RRnJ/PnzhfDw8Bqv31A+U63XX39daNasmaBWqyt931I/VwDCli1bdK/VarXg4+MjLF68WLcsNzdXkMvlwvr166vcj6F/82J48Fwrc+zYMQGAcO3atSrXMfRvQSyVne/YsWOFgQMHGrSfhvLZDhw4UHjyySerXcdSPltjYguQEZWVlSE+Ph6RkZG6ZVKpFJGRkTh8+HCl2xw+fFhvfQCIioqqcn1zlZeXBwBwd3evdr3CwkIEBgYiICAAAwcOxLlz50xRXp0lJibCz88PISEhGDVqFFJSUqpct6F8poDmd/qHH37AhAkTqr0xsKV+rvdLTk5GRkaG3mfn6uqKiIiIKj+72vzNm6u8vDxIJBK4ublVu54hfwvmZu/evfDy8kJoaCimTJmCmzdvVrluQ/lsMzMzsW3bNkycOPGh61ryZ1sbDEBGlJOTA5VKBW9vb73l3t7eyMjIqHSbjIwMg9Y3R2q1GtOnT0ePHj3wyCOPVLleaGgoVq1ahf/973/44YcfoFar0b17d9y4ccOE1RouIiICa9aswY4dO7BixQokJyejV69eKCgoqHT9hvCZam3duhW5ubkYN25cletY6uf6IO3nY8hnV5u/eXNUUlKCt956CyNHjqz2RpmG/i2Yk379+uG7775DXFwcPvzwQ/z111/o378/VCpVpes3lM927dq1cHZ2xpAhQ6pdz5I/29ri3eCpzqZOnYqzZ88+tL+4W7du6Natm+519+7d0apVK3z99dd477336rvMWuvfv7/uebt27RAREYHAwED89NNPNfq/Kku2cuVK9O/fH35+flWuY6mfK2kolUoMGzYMgiBgxYoV1a5ryX8LI0aM0D1v27Yt2rVrh2bNmmHv3r146qmnRKysfq1atQqjRo166IUJlvzZ1hZbgIzIw8MDMpkMmZmZesszMzPh4+NT6TY+Pj4GrW9upk2bht9//x179uxBkyZNDNrW1tYW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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Plot loss and accuracy over time\n", "plt.plot(history.history[\"loss\"], label=\"Train Set\")\n", "plt.plot(history.history[\"val_loss\"], label=\"Validation Set\")\n", "plt.title(\"Softmax Loss\")\n", "plt.xlabel(\"Epochs\")\n", "plt.ylabel(\"Softmax Loss\")\n", "plt.legend(loc=\"upper left\")\n", "plt.show()\n", "\n", "plt.plot(history.history[\"accuracy\"], label=\"Train Set\")\n", "plt.plot(history.history[\"val_accuracy\"], label=\"Validation Set\")\n", "plt.title(\"Test Accuracy\")\n", "plt.xlabel(\"Epochs\")\n", "plt.ylabel(\"Accuracy\")\n", "plt.legend(loc=\"upper left\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "584e866f", "metadata": {}, "source": [ "---\n", "\n", "```{tableofcontents}\n", "```\n" ] }, { "cell_type": "markdown", "id": "3bc90f40", "metadata": {}, "source": [ "## Your turn! 🚀\n", "\n", "You can practice your rnn skills by following the assignment [google stock price prediction rnn](../../assignments/deep-learning/rnn/google-stock-price-prediction-rnn.ipynb)" ] }, { "cell_type": "markdown", "id": "08e0ab70", "metadata": {}, "source": [ "## Acknowledgments\n", "\n", "Thanks to [Nick](https://github.com/nfmcclure) for creating the open-source course [tensorflow_cookbook](https://github.com/nfmcclure/tensorflow_cookbook) and [Sebastian Raschka](https://github.com/rasbt) for creating the open-sourse [stat453-deep-learning-ss20](https://github.com/rasbt/stat453-deep-learning-ss20). It inspires the majority of the content in this chapter.\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.18" } }, "nbformat": 4, "nbformat_minor": 5 }