From 9ae05d6df284c7c9e5f923c7a5bc3dfd55cb10b2 Mon Sep 17 00:00:00 2001
From: freylia <162332980+freylia@users.noreply.github.com>
Date: Mon, 25 Nov 2024 04:54:46 +0900
Subject: [PATCH 1/2] =?UTF-8?q?Week=209=5F=EB=B3=B5=EC=8A=B5=EA=B3=BC?=
=?UTF-8?q?=EC=A0=9C=5F=EC=A1=B0=EC=A3=BC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...354\241\260\354\243\274\355\230\204.ipynb" | 121 ++++++++++++++++++
1 file changed, 121 insertions(+)
create mode 100644 "Week9_\353\263\265\354\212\265\352\263\274\354\240\234_\354\241\260\354\243\274\355\230\204.ipynb"
diff --git "a/Week9_\353\263\265\354\212\265\352\263\274\354\240\234_\354\241\260\354\243\274\355\230\204.ipynb" "b/Week9_\353\263\265\354\212\265\352\263\274\354\240\234_\354\241\260\354\243\274\355\230\204.ipynb"
new file mode 100644
index 0000000..af4493a
--- /dev/null
+++ "b/Week9_\353\263\265\354\212\265\352\263\274\354\240\234_\354\241\260\354\243\274\355\230\204.ipynb"
@@ -0,0 +1,121 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "MAyG6GGTU_mC",
+ "outputId": "4855f149-ae2a-4865-b021-8d6c3e47d1fb"
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Net(\n",
+ " (conv1): Conv2d(1, 6, kernel_size=(5, 5), stride=(1, 1))\n",
+ " (conv2): Conv2d(6, 16, kernel_size=(5, 5), stride=(1, 1))\n",
+ " (fc1): Linear(in_features=256, out_features=120, bias=True)\n",
+ " (fc2): Linear(in_features=120, out_features=84, bias=True)\n",
+ " (fc3): Linear(in_features=84, out_features=10, bias=True)\n",
+ ")\n"
+ ]
+ }
+ ],
+ "source": [
+ "import torch\n",
+ "from torch.autograd import Variable\n",
+ "import torch.nn as nn\n",
+ "import torch.nn.functional as F\n",
+ "\n",
+ "### 다음은 간단한 Convolutional Neural Network 모델 구조를 나타낸 코드입니다. 6장을 참고하여 아래 코드를 완성해주세요! ###\n",
+ "\n",
+ "class Net(nn.Module):\n",
+ "\n",
+ " def __init__(self):\n",
+ " super(Net, self).__init__()\n",
+ " \n",
+ " # 흑백 이미지(1개 채널)이며, 출력 채널은 6개이고 커널 크기는 5x5\n",
+ " self.conv1 = nn.Conv2d(1, 6, 5)\n",
+ " \n",
+ " # 입력은 ConvLayer의 출력, 출력 채널은 16개이고 커널 크기는 5x5\n",
+ " self.conv2 = nn.Conv2d(6, 16, 5)\n",
+ " \n",
+ " # 입력 크기는 Conv2의 출력 크기를 flatten한 값, 출력 크기는 120\n",
+ " self.fc1 = nn.Linear(16 * 4 * 4, 120)\n",
+ " \n",
+ " # 출력 크기 84\n",
+ " self.fc2 = nn.Linear(120, 84)\n",
+ " \n",
+ " # 출력 크기는 클래스 수(10개)\n",
+ " self.fc3 = nn.Linear(84, 10)\n",
+ " \n",
+ " def forward(self, x):\n",
+ " # (2, 2) 윈도우 크기로 맥스 풀링\n",
+ " \n",
+ " # Conv1 -> ReLU 활성화 -> MaxPooling\n",
+ " x = F.max_pool2d(x, 2) \n",
+ " \n",
+ " # Conv2 -> ReLU 활성화 -> MaxPooling\n",
+ " x = F.max_pool2d(x, 2)\n",
+ " \n",
+ " x = x.view(-1, self.num_flat_features(x))\n",
+ " \n",
+ " # FC1 -> ReLU 활성화\n",
+ " x = F.relu(self.fc1(x))\n",
+ " \n",
+ " # # FC2 -> ReLU 활성화\n",
+ " x = F.relu(self.fc2(x))\n",
+ " \n",
+ " x = self.fc3(x)\n",
+ " return x\n",
+ "\n",
+ "\n",
+ " def num_flat_features(self, x):\n",
+ " size = x.size()[1:] # 배치 차원을 제외한 모든 차원\n",
+ " num_features = 1\n",
+ " for s in size:\n",
+ " num_features *= s\n",
+ " return num_features\n",
+ "\n",
+ "\n",
+ "net = Net()\n",
+ "print(net)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "colab": {
+ "provenance": []
+ },
+ "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.11.5"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
From e5f2e5c5dcdeaabec5e970ff103846ec9f4d7e18 Mon Sep 17 00:00:00 2001
From: freylia <162332980+freylia@users.noreply.github.com>
Date: Tue, 24 Dec 2024 14:54:00 +0900
Subject: [PATCH 2/2] =?UTF-8?q?Week=2013=5F=EB=B3=B5=EC=8A=B5=EA=B3=BC?=
=?UTF-8?q?=EC=A0=9C=5F=EC=A1=B0=EC=A3=BC=ED=98=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...354\241\260\354\243\274\355\230\204.ipynb" | 363 ++++++++++++++++++
1 file changed, 363 insertions(+)
create mode 100644 "Week13_\353\263\265\354\212\265\352\263\274\354\240\234_\354\241\260\354\243\274\355\230\204.ipynb"
diff --git "a/Week13_\353\263\265\354\212\265\352\263\274\354\240\234_\354\241\260\354\243\274\355\230\204.ipynb" "b/Week13_\353\263\265\354\212\265\352\263\274\354\240\234_\354\241\260\354\243\274\355\230\204.ipynb"
new file mode 100644
index 0000000..5210040
--- /dev/null
+++ "b/Week13_\353\263\265\354\212\265\352\263\274\354\240\234_\354\241\260\354\243\274\355\230\204.ipynb"
@@ -0,0 +1,363 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# **Description**\n",
+ "- 아래 코드는 **Dropout**과 **Batch Normalization** 기법을 사용하여 Digits 데이터셋에 대해 MLP 모델을 학습하는 코드입니다. \n",
+ "- PyTorch의 `nn.Sequential`을 사용해 모델을 간단히 정의하였습니다.\n",
+ " - 기본 모델 vs dropout 적용 모델 vs dropout + batch normalization 적용 모델의 test 결과 비교를 통해 각 기법의 영향을 알아보고자 합니다. \n",
+ "- 아래 모델 정의 코드 내에 `##답안 코드 작성##` 부분을 채우면서 코드를 실행시켜 주세요!"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## **데이터 준비**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import torch\n",
+ "from torch import nn, optim\n",
+ "from torch.utils.data import TensorDataset, DataLoader\n",
+ "\n",
+ "from sklearn.datasets import load_digits\n",
+ "from sklearn.model_selection import train_test_split\n",
+ "from tqdm import tqdm\n",
+ "import matplotlib.pyplot as plt"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "## 데이터를 훈련용과 테스트용으로 분리\n",
+ "# 전체의 20%는 검증용\n",
+ "\n",
+ "digits = load_digits()\n",
+ "\n",
+ "X = digits.data\n",
+ "Y = digits.target\n",
+ "X_train, X_test, Y_train, Y_test = train_test_split(X, Y, test_size = 0.2)\n",
+ "\n",
+ "X_train = torch.tensor(X_train, dtype=torch.float32)\n",
+ "Y_train = torch.tensor(Y_train, dtype=torch.int64)\n",
+ "X_test = torch.tensor(X_test, dtype=torch.float32)\n",
+ "Y_test = torch.tensor(Y_test, dtype=torch.int64)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## **Dropout** \n",
+ "- **Dropout**은 **과적합 방지**를 위해 훈련 시 일부 노드를 확률 $p$로 무작위로 비활성화하는 기법입니다. \n",
+ " - 비활성화된 노드의 효과는 **스케일링** $\\frac{1}{1-p}$을 통해 살아남은 노드에 보상하여 전체 효과를 유지합니다. \n",
+ "- Dropout의 **훈련 단계**와 **평가 단계**의 작동 방식은 다릅니다. \n",
+ " - **훈련 단계** (`model.train()`): 일부 노드만 활성화되며 다양한 노드 조합을 학습해 **특정 노드 의존도를 줄입니다**. \n",
+ " - **평가 단계** (`model.eval()`): 드롭아웃이 비활성화되어 **모든 노드**가 사용되며, 스케일링도 적용되지 않아 **일관된 출력**을 제공합니다. \n",
+ "> 이를 통해 모델은 **훈련 시 일반화 성능**을 높이고, **평가 시 안정적 결과**를 도출합니다. \n",
+ "\n",
+ " \n",
+ "\n",
+ "(Image Source = https://d2l.ai/_images/dropout2.svg)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "### 모델링\n",
+ "## 힌트\n",
+ "# 입력층부터 출력층까지 선형층(Linear), ReLU 활성화 함수, 드롭아웃이 반복되는 구조\n",
+ "# 4개의 은닉층이 있으며 각 은닉층은 100개의 노드를 가짐\n",
+ "# dropout 기법으로 50% 확률로 노드를 비활성화함\n",
+ " \n",
+ "\n",
+ "import torch.nn as nn\n",
+ "\n",
+ "model = nn.Sequential(\n",
+ " nn.Linear(64, 100),\n",
+ " nn.ReLU(),\n",
+ " nn.Dropout(0.5),\n",
+ "\n",
+ " nn.Linear(100, 100),\n",
+ " nn.ReLU(),\n",
+ " nn.Dropout(0.5),\n",
+ "\n",
+ " nn.Linear(100, 100),\n",
+ " nn.ReLU(),\n",
+ " nn.Dropout(0.5),\n",
+ "\n",
+ " nn.Linear(100, 100),\n",
+ " nn.ReLU(),\n",
+ " nn.Dropout(0.5),\n",
+ " \n",
+ " nn.Linear(100, 10),\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "### Settings\n",
+ "\n",
+ "ds = TensorDataset(X_train, Y_train)\n",
+ "loader = DataLoader(ds, batch_size=32, shuffle=True)\n",
+ "\n",
+ "lossFunc = nn.CrossEntropyLoss()\n",
+ "optimizer = optim.Adam(model.parameters())"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "100%|████████████████████████████████████████████████████████████████████████████████| 100/100 [00:38<00:00, 2.62it/s]\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGdCAYAAADAAnMpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABd+ElEQVR4nO3dd3iUVd7G8e9k0jvpCYTee1VAQRAWBEVRLGtDdtVdXFCRtay6u66uK66v69pWXHvvoKKyCooUBem9l0AoCSGU9GQyM8/7x5OZFNIzyRC4P9c1V8jMMzMnT8LMPef8zjkWwzAMRERERLzEx9sNEBERkXObwoiIiIh4lcKIiIiIeJXCiIiIiHiVwoiIiIh4lcKIiIiIeJXCiIiIiHiVwoiIiIh4la+3G1AbTqeTI0eOEBYWhsVi8XZzREREpBYMwyAnJ4ekpCR8fKru/2gWYeTIkSMkJyd7uxkiIiJSDwcPHqRVq1ZV3t4swkhYWBhg/jDh4eFebo2IiIjURnZ2NsnJye738ao0izDiGpoJDw9XGBEREWlmaiqxUAGriIiIeJXCiIiIiHiVwoiIiIh4VbOoGRERkbOXYRjY7XYcDoe3myJ1ZLVa8fX1bfCyGwojIiLiNTabjbS0NPLz873dFKmn4OBgEhMT8ff3r/djKIyIiIhXOJ1OUlJSsFqtJCUl4e/vr4UtmxHDMLDZbBw7doyUlBQ6depU7cJm1VEYERERr7DZbDidTpKTkwkODvZ2c6QegoKC8PPz48CBA9hsNgIDA+v1OCpgFRERr6rvp2k5M3ji96e/ABEREfEqhRERERHxKoURERERL2vbti3PPvus1x/DW1TAKiIiUkcjRoygb9++HnvzX716NSEhIR55rObonO4Z+XZLOjM+Ws+O9GxvN0VERM4yrsXcaiM2NvacnlF0ToeRz9Ye4osNR1i49ai3myIiIphv4Pk2u1cuhmHUqo1TpkxhyZIlPPfcc1gsFiwWC/v372fx4sVYLBa+++47Bg4cSEBAAMuWLWPv3r1cccUVxMfHExoayqBBg/j+++/LPWbFIRaLxcJrr73GlVdeSXBwMJ06dWLevHl1OpepqalcccUVhIaGEh4ezrXXXsvRo6Xvdxs3bmTkyJGEhYURHh7OgAEDWLNmDQAHDhxgwoQJtGjRgpCQEHr06MH8+fPr9Px1cU4P04zqFsf324/yw44M7hzVydvNERE55xUUO+j+1++88tzbHhtLsH/Nb4vPPfccu3btomfPnjz22GOA2bOxf/9+AO6//36efvpp2rdvT2RkJIcOHWL8+PE8/vjjBAYG8vbbbzNhwgR27txJ69atq3yeRx99lKeeeor/+7//44UXXuDGG2/kwIEDREVF1dhGwzCYOHEiISEhLFmyBLvdzh/+8Aeuu+46Fi9eDMCNN95Iv379mD17NlarlQ0bNuDn5wfAtGnTsNlsLF26lJCQELZt20ZoaGiNz1tf53QYGdklDoCNh05xLKeI2LAAL7dIRETOdBEREfj7+xMcHExCQsJptz/22GP86le/cn8fHR1Nnz593N8//vjjfP7558ybN4/p06dX+TxTpkzh+uuvB+CJJ57ghRdeYNWqVVxyySU1tvH7779n06ZNpKSkkJycDMC7775Ljx49WL16NYMGDSI1NZX77ruPrl27AtCpU+mH8tTUVCZNmkSvXr0AaN++fY3P2RDndBhJiAikZ8twthzOZvHODK4ZmOztJomInNOC/Kxse2ys157bEwYOHFju+7y8PB599FG+/vprjhw5gt1up6CggNTU1Gofp3fv3u5/h4SEEBYWRkZGRq3asH37dpKTk91BBKB79+5ERkayfft2Bg0axMyZM7ntttt49913GT16NNdccw0dOnQA4K677uKOO+5gwYIFjB49mkmTJpVrj6ed0zUjABd3jQdg0Y7a/YJFRKTxWCwWgv19vXLx1L44FWfF3HfffcyZM4d//OMfLFu2jA0bNtCrVy9sNlu1j+MaMil7bpxOZ63aYBhGpT9P2ev/9re/sXXrVi699FIWLVpE9+7d+fzzzwG47bbb2LdvHzfffDObN29m4MCBvPDCC7V67vo458PIqK7mUM3SXcew2Wv3SxYRkXObv78/DoejVscuW7aMKVOmcOWVV9KrVy8SEhLc9SWNpXv37qSmpnLw4EH3ddu2bSMrK4tu3bq5r+vcuTP33HMPCxYs4KqrruLNN99035acnMzUqVOZO3cuf/zjH3n11Vcbrb3nfBjp1TKC2LAA8mwOVqWc8HZzRESkGWjbti0rV65k//79ZGZmVttj0bFjR+bOncuGDRvYuHEjN9xwQ617OOpr9OjR9O7dmxtvvJF169axatUqJk+ezEUXXcTAgQMpKChg+vTpLF68mAMHDvDzzz+zevVqd1CZMWMG3333HSkpKaxbt45FixaVCzGeds6HER8fCxeXFLL+sENTfEVEpGb33nsvVquV7t27ExsbW239x7///W9atGjB0KFDmTBhAmPHjqV///6N2j6LxcIXX3xBixYtGD58OKNHj6Z9+/Z8/PHHAFitVo4fP87kyZPp3Lkz1157LePGjePRRx8FwOFwMG3aNLp168Yll1xCly5deOmllxqvvUZtJ1Z7UXZ2NhEREWRlZREeHu7xx/9uazq/f3ctraOCWXLfCI+NG4qISNUKCwtJSUmhXbt29d56Xryvut9jbd+/z/meEYALO8bgb/Uh9UQ+e4/lebs5IiIi5xSFESAkwJfBHaIBWKShGhERkSalMFLCNavmh+2a4isiItKUFEZKXFwSRtYcOElWfrGXWyMiInLuUBgpkRwVTOf4UBxOgyW7j3m7OSIiIucMhZEy3KuxblfdiIiISFNRGCljVDdzqGbxrmO13kpaREREGkZhpIweSeYc6FP5xeTbarfMr4iIiDSMwghASS9IsL8vgX7mKTmeW/0GRiIiIt4wYsQIZsyY4e1meNS5HUa+vgf+2RY2f+q+KjokAIDjeUVeapSIiJzpGiMQTJkyhYkTJ3r0MZuLczuM2G1QcBJOpLivig71B9QzIiIi0lTO7TAS1db8erI0jESFmGHkRJ7CiIiInG7KlCksWbKE5557DovFgsViYf/+/QBs27aN8ePHExoaSnx8PDfffDOZmZnu+3722Wf06tWLoKAgoqOjGT16NHl5efztb3/j7bff5ssvv3Q/5uLFi2vVnpMnTzJ58mRatGhBcHAw48aNY/fu3e7bDxw4wIQJE2jRogUhISH06NGD+fPnu+974403EhsbS1BQEJ06deLNN9/02LmqLd8mf8YzSYt25teyPSPuYRqFERGRJmcYUJzvnef2C4ZabJT63HPPsWvXLnr27Mljjz0GQGxsLGlpaVx00UXcfvvtPPPMMxQUFPDAAw9w7bXXsmjRItLS0rj++ut56qmnuPLKK8nJyWHZsmUYhsG9997L9u3byc7OdoeBqKioWjV7ypQp7N69m3nz5hEeHs4DDzzA+PHj2bZtG35+fkybNg2bzcbSpUsJCQlh27ZthIaGAvCXv/yFbdu28b///Y+YmBj27NlDQUFBPU9g/Z3bYSSqJIycrGyYRjUjIiJNrjgfnkjyznM/dAT8Q2o8LCIiAn9/f4KDg0lISHBfP3v2bPr3788TTzzhvu6NN94gOTmZXbt2kZubi91u56qrrqJNmzYA9OrVy31sUFAQRUVF5R6zJq4Q8vPPPzN06FAA3n//fZKTk/niiy+45pprSE1NZdKkSe7nat++vfv+qamp9OvXj4EDBwLQtm3bWj+3J53bwzSunpHco2Azk3i0hmlERKQe1q5dy48//khoaKj70rVrVwD27t1Lnz59GDVqFL169eKaa67h1Vdf5eTJkw16zu3bt+Pr68v555/vvi46OpouXbqwfft2AO666y4ef/xxLrjgAh555BE2bdrkPvaOO+7go48+om/fvtx///0sX768Qe2pr3O7ZyQ4CgIjoDALTu6H+O7umpFMhRERkabnF2z2UHjruRvA6XQyYcIE/vnPf552W2JiIlarlYULF7J8+XIWLFjACy+8wMMPP8zKlStp165dvZ6zqgU6DcPAUjLkdNtttzF27Fi++eYbFixYwKxZs/jXv/7FnXfeybhx4zhw4ADffPMN33//PaNGjWLatGk8/fTT9WpPfZ3bPSNQ2jtSMlTjGqY5oam9IiJNz2Ixh0q8calFvYiLv78/Dkf5xTH79+/P1q1badu2LR07dix3CQkJKfnxLFxwwQU8+uijrF+/Hn9/fz7//PMqH7Mm3bt3x263s3LlSvd1x48fZ9euXXTr1s19XXJyMlOnTmXu3Ln88Y9/5NVXX3XfFhsby5QpU3jvvfd49tlneeWVV+rUBk9QGGnR1vxaUsTqKmA9oam9IiJShbZt27Jy5Ur2799PZmYmTqeTadOmceLECa6//npWrVrFvn37WLBgAb/97W9xOBysXLmSJ554gjVr1pCamsrcuXM5duyYOzS0bduWTZs2sXPnTjIzMykurnkH+U6dOnHFFVdw++2389NPP7Fx40ZuuukmWrZsyRVXXAHAjBkz+O6770hJSWHdunUsWrTI/Zx//etf+fLLL9mzZw9bt27l66+/LhdimorCSIUi1rLDNNqfRkREKnPvvfditVrp3r07sbGxpKamkpSUxM8//4zD4WDs2LH07NmTu+++m4iICHx8fAgPD2fp0qWMHz+ezp078+c//5l//etfjBs3DoDbb7+dLl26MHDgQGJjY/n5559r1ZY333yTAQMGcNlllzFkyBAMw2D+/Pn4+fkB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jKhmRERExOMURipTYUl4V83ISQ3TiIiIeJzCSGUqrsLqntqrMCIiIuJpCiOVqVDA6tq596RqRkRERDxOYaQy7mGa8vvTaJhGRETE8xRGKuMfYn6tsHOvhmlEREQ8T2GkMhUKWF09I9mFduwObZYnIiLiSQojlalQwBoR5IfFvVme6kZEREQ8SWGkMhUKWK0+FiKCSopYNVQjIiLiUQojlalQwApl1xpRz4iIiIgnKYxUpkIBK2jnXhERkcaiMFKZCgWsUFrEqp17RUREPEthpDLumpE891Wu6b3auVdERMSzFEYq455NU1nPiGpGREREPElhpDKVDNNEqmZERESkUSiMVMZdwFo6TOPaLE81IyIiIp6lMFKZSntGSmpG1DMiIiLiUQojlamw6BmoZkRERKSxKIxUpsJy8FBmnREN04iIiHiUwkhlXMM0zmJwmD0hLUp6RrIKinE4DW+1TERE5KyjMFIZVwEruHtHIkv2pjEMM5CIiIiIZyiMVMbqD5aSU1NSxOpr9SE80BdQEauIiIgnKYxUxmKpdBXWFloSXkRExOMURqpSySqsLTS9V0RExOMURqpSyVojrhk1mt4rIiLiOQojValkFVbXMI2m94qIiHiOwkhVKu0ZMcPISYURERERj1EYqUolBayuVVhPqmZERETEYxRGqlJJAatr596TqhkRERHxGIWRqriHacrsTxOsnhERERFPUxipiruAtTSMRKpmRERExOMURqpSSQGru2ZEwzQiIiIeozBSlcpWYHWvM2LDqc3yREREPEJhpCqVFrCaPSNOA7IL1TsiIiLiCQojVamkgNXf14fQAHOzPA3ViIiIeIbCSFUqKWAFaBFiDtVofxoRERHPUBipSiUFrFC6Cqt27hUREfEMhZGquAtYK/SMaOdeERERj1IYqYq7gLV8GHFN79XOvSIiIp6hMFKVSgpYoXRJeO3cKyIi4hkKI1WpooA1SjUjIiIiHlXnMLJ06VImTJhAUlISFouFL774otrjFy9ejMViOe2yY8eO+ra5abh6RirUjESGqGZERETEk3zreoe8vDz69OnDb37zGyZNmlTr++3cuZPw8HD397GxsXV96qZVyaJnUGazPNWMiIiIeESdw8i4ceMYN25cnZ8oLi6OyMjIOt/Pa8oWsBoGWCxA6ZLw2rlXRETEM5qsZqRfv34kJiYyatQofvzx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1/n2DLvdzp///GfatWtHUFAQ7du357HHHsPpdLqP0bmun6VLlzJhwgSSkpKwWCx88cUX5W6vzXktKirizjvvJCYmhpCQEC6//HIOHTrU8MYZ56iPPvrI8PPzM1599VVj27Ztxt13322EhIQYBw4c8HbTmrWxY8cab775prFlyxZjw4YNxqWXXmq0bt3ayM3NdR/z5JNPGmFhYcacOXOMzZs3G9ddd52RmJhoZGdne7HlzdeqVauMtm3bGr179zbuvvtu9/U6z55z4sQJo02bNsaUKVOMlStXGikpKcb3339v7Nmzx32MzrdnPP7440Z0dLTx9ddfGykpKcann35qhIaGGs8++6z7GJ3r+pk/f77x8MMPG3PmzDEA4/PPPy93e23O69SpU42WLVsaCxcuNNatW2eMHDnS6NOnj2G32xvUtnM2jJx33nnG1KlTy13XtWtX409/+pOXWnR2ysjIMABjyZIlhmEYhtPpNBISEownn3zSfUxhYaERERFhvPzyy95qZrOVk5NjdOrUyVi4cKFx0UUXucOIzrNnPfDAA8aFF15Y5e06355z6aWXGr/97W/LXXfVVVcZN910k2EYOteeUjGM1Oa8njp1yvDz8zM++ugj9zGHDx82fHx8jG+//bZB7Tknh2lsNhtr165lzJgx5a4fM2YMy5cv91Krzk5ZWVkAREVFAZCSkkJ6enq5cx8QEMBFF12kc18P06ZN49JLL2X06NHlrtd59qx58+YxcOBArrnmGuLi4ujXrx+vvvqq+3adb8+58MIL+eGHH9i1axcAGzdu5KeffmL8+PGAznVjqc15Xbt2LcXFxeWOSUpKomfPng0+981iozxPy8zMxOFwEB8fX+76+Ph40tPTvdSqs49hGMycOZMLL7yQnj17ArjPb2Xn/sCBA03exubso48+Yt26daxevfq023SePWvfvn3Mnj2bmTNn8tBDD7Fq1SruuusuAgICmDx5ss63Bz3wwANkZWXRtWtXrFYrDoeDf/zjH1x//fWA/rYbS23Oa3p6Ov7+/rRo0eK0Yxr63nlOhhEXi8VS7nvDME67Tupv+vTpbNq0iZ9++um023TuG+bgwYPcfffdLFiwgMDAwCqP03n2DKfTycCBA3niiScA6NevH1u3bmX27NlMnjzZfZzOd8N9/PHHvPfee3zwwQf06NGDDRs2MGPGDJKSkrjlllvcx+lcN476nFdPnPtzcpgmJiYGq9V6WpLLyMg4LRVK/dx5553MmzePH3/8kVatWrmvT0hIANC5b6C1a9eSkZHBgAED8PX1xdfXlyVLlvD888/j6+vrPpc6z56RmJhI9+7dy13XrVs3UlNTAf1de9J9993Hn/70J37961/Tq1cvbr75Zu655x5mzZoF6Fw3ltqc14SEBGw2GydPnqzymPo6J8OIv78/AwYMYOHCheWuX7hwIUOHDvVSq84OhmEwffp05s6dy6JFi2jXrl2529u1a0dCQkK5c2+z2ViyZInOfR2MGjWKzZs3s2HDBvdl4MCB3HjjjWzYsIH27dvrPHvQBRdccNoU9V27dtGmTRtAf9eelJ+fj49P+bcmq9Xqntqrc904anNeBwwYgJ+fX7lj0tLS2LJlS8PPfYPKX5sx19Te119/3di2bZsxY8YMIyQkxNi/f7+3m9as3XHHHUZERISxePFiIy0tzX3Jz893H/Pkk08aERERxty5c43Nmzcb119/vableUDZ2TSGofPsSatWrTJ8fX2Nf/zjH8bu3buN999/3wgODjbee+899zE6355xyy23GC1btnRP7Z07d64RExNj3H///e5jdK7rJycnx1i/fr2xfv16AzCeeeYZY/369e4lLWpzXqdOnWq0atXK+P77741169YZF198sab2NtR//vMfo02bNoa/v7/Rv39/9/RTqT+g0subb77pPsbpdBqPPPKIkZCQYAQEBBjDhw83Nm/e7L1GnyUqhhGdZ8/66quvjJ49exoBAQFG165djVdeeaXc7TrfnpGdnW3cfffdRuvWrY3AwECjffv2xsMPP2wUFRW5j9G5rp8ff/yx0tfnW265xTCM2p3XgoICY/r06UZUVJQRFBRkXHbZZUZqamqD22YxDMNoWN+KiIiISP2dkzUjIiIicuZQGBERERGvUhgRERERr1IYEREREa9SGBERERGvUhgRERERr1IYEREREa9SGBERERGvUhgRERERr1IYEREREa9SGBERERGvUhgRERERr/p/o5EGM21FJ5sAAAAASUVORK5CYII=",
+ "text/plain": [
+ "