{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# GitHub Spam Comment Detector — Model Training\n", "\n", "**Author:** Sambhaji Patil \n", "**Dataset:** Custom-scraped GitHub comments via GraphQL (~109k samples) \n", "**Goal:** Train and compare three classification approaches:\n", "1. **Multinomial Naive Bayes** (TF-IDF baseline)\n", "2. **LinearSVC** (TF-IDF + Hyperparameter Tuning via GridSearchCV)\n", "3. **Bi-LSTM** (PyTorch Deep Learning)\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Imports & Setup" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "PyTorch device : cuda\n", "Seaborn version: 0.13.2\n" ] } ], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import matplotlib.ticker as mticker\n", "import seaborn as sns\n", "import re, warnings, time\n", "from collections import Counter\n", "\n", "import torch\n", "import torch.nn as nn\n", "from torch.utils.data import Dataset, DataLoader\n", "\n", "from sklearn.feature_extraction.text import TfidfVectorizer\n", "from sklearn.naive_bayes import MultinomialNB\n", "from sklearn.svm import LinearSVC\n", "from sklearn.pipeline import Pipeline\n", "from sklearn.model_selection import GridSearchCV, train_test_split\n", "from sklearn.metrics import (\n", " classification_report, confusion_matrix,\n", " ConfusionMatrixDisplay, accuracy_score,\n", " f1_score, precision_score, recall_score\n", ")\n", "\n", "import joblib\n", "\n", "warnings.filterwarnings('ignore')\n", "sns.set_theme(style='darkgrid', palette='muted')\n", "\n", "DEVICE = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n", "SEED = 42\n", "np.random.seed(SEED)\n", "torch.manual_seed(SEED)\n", "\n", "print(f'PyTorch device : {DEVICE}')\n", "print(f'Seaborn version: {sns.__version__}')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. Data Loading" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Raw shape : (109662, 2)\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
labeltext
00.0Thank you for reporting this issue.\\n\\nThis is...
10.0The test explicitly asks also for the closing ...
20.0This issue is open to first-time code contribu...
30.0The current behaviour is that everything clear...
40.0Some labs can be pretty long, more than the cu...
\n", "
" ], "text/plain": [ " label text\n", "0 0.0 Thank you for reporting this issue.\\n\\nThis is...\n", "1 0.0 The test explicitly asks also for the closing ...\n", "2 0.0 This issue is open to first-time code contribu...\n", "3 0.0 The current behaviour is that everything clear...\n", "4 0.0 Some labs can be pretty long, more than the cu..." ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "DATA_PATH = r'C:\\Users\\dell\\Desktop\\HACKATHONS\\H2-GITGRIFFIN\\spam_github\\Spam detection model tRaining\\Spam-Message-Detector\\Github Comments.csv'\n", "\n", "df = pd.read_csv(DATA_PATH)\n", "print(f'Raw shape : {df.shape}')\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Exploratory Data Analysis (EDA)\n", "\n", "Before modelling we inspect the data to understand its structure, quality, and characteristics." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.1 Basic Info" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "=== Data Types ===\n", "label float64\n", "text object\n", "dtype: object\n", "\n", "=== Missing Values ===\n", "label 1\n", "text 14\n", "dtype: int64\n" ] } ], "source": [ "print('=== Data Types ===')\n", "print(df.dtypes)\n", "print('\\n=== Missing Values ===')\n", "print(df.isnull().sum())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.2 Class Distribution" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "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f1tUoqC8ITyrV690/ZLUUFo9klRF8tprb7vGrpKautk3nE/DANesWe0qQ3S7JA3H05CbjIwM14vpmGNOsDfeeNX3uNfDxLO9ZatiRX788TsXxmgdNRzwhReetaysLLvkkit4cwEAAHYAAUoNpvAkM5sAJRSExTW3hDbNLStHw3SKD9UBUDv073+orVjRxY4//iTba6+93excV1xxoQs0PvroPTv//Ivd8+LjE2zChK9s1apVdv31V7mmro0aNbIzzxy0zTLVR+nUU0+3d95524YPf9xdVCmi2biKpisvPnPO9pbtVbAoTFHfJDXCfu21l91MX2+//aZrIqvp0AEAAFA1NJEFAKACLrroMte8WeGJVz3Su3dfd1vTn3vUbyQpqb5167arHX74kb7+JGVRE+trr73WOnXaxXbZpYvdeed9vsbTaiLtb3vLTkhI9DW5VXgiJ598urvOycm2JUsW8T4DAADsAAIUAADKkZGRbj/99IN9/PEHvplxJD+/qAqwXr16btacO++8xZYsWbzN6/1fU5KG8Jxxxhn2xhtj7bXXxtghhwywzZs3u8fU30RDdCqybM0E5M0K5t8k2/cP/98GtAAAAKgaAhQAAMqh4TS3336jPfbYEHvnnbd8VSfTpv3mbu+zTx+bNm2Ka9w6evQr7vnqT/L115Pd417VSknZ2dl2+OEHW79+/XxTDY8d+5bl5+db48ZNrHv3Hm5ITkWWvf/+B/qmM548+Qt3e/z4T911XFy8L2ABAABA1YQVeoOmEVCasnbTpoxq2apqdKmZXtSslB4owI6Li4m0cUOOtQ0bttBEFmV6+uknXKNXUYPWrVu3ur4jGi7zzDMv2u+//2Y33DDYVYzExcW5mXUUhDRv3sJefvkN12RWoYeWEx0dbe+885Fb1mOPPWQff/yh632iHiVqKKvb9933sA0YcJh7ztSpv5a7bNHsOxMnjveto5YlV1xxteuBgtDWqFGCRURwbgsAgFBFE1kAqOUUumLHXXnlNdasWXP75JOPbNWqldaoUbINGHC4XXLJ5e6gt0+fvvbUUyPt5ZdfsAUL5rmGr/vtt79dccVga9iwgW94jWbG0RTE3vty3XU3WlJSon3++eeWlrbFunffzS644BLbb78DfN+7IsuW2267y1q1am3jx3/imtu2bdvOzjjjLDvxxFP4FQgQTjsBAFB3UYFS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y7M777zTsrKyXOXJK6+8YlFRUcF9hwAAAAAAQNCFFRYyES4AAAAAAMD20AMFAAAAAACgHAQoAAAAAAAA5SBAAQAAAAAAKAcBCgAAAAAAQDkIUAAAAAAAAMpBgAIAAAAAAFAOAhQAAAAAAIByEKCgxhkwYIC7pKenb/PYrbfeauecc06Fl1VYWGgffvihbdy4cbvPef311+2EE06wPfbYw/bee287++yzbeLEiRaqtG2OPvpoW7Nmjfs6Ozvb7rvvPuvXr5/ttddedsMNN9imTZt8zx89erQ9+OCDQVxjIHR88skndvrpp1vPnj3d38spp5xiY8eOtVCVl5dnp556qv3999/bPPbCCy9s85k4efJk+9///rcT1xAAAKB2IEBBjbRy5UobOnToDi9n6tSpLnTJzMws8zkjRoywF1980S677DIbP368O5Dad9997dprr7WPPvrIQpG2zTHHHGPNmzd3X9977732448/2tNPP+3CkkWLFtngwYN9z1cg9MMPP9i0adOCuNZA8L333nt2zz33uABF4er7779vJ554ogsYn3nmGQtFr7zyiu2yyy7Wo0ePYve/9dZbNnz48G2ef9hhh9mWLVvs008/3YlrCQAAUPNFBnsFgKpo06aNvfPOO3bUUUfZfvvtV+WNqOqS8owZM8auuOIKF0h4OnfubIsXL3ZhhA6uQsnSpUtdsKNARNauXeu+fv75522fffZx9z3xxBNu2/3xxx/uDHtkZKQ7S/3kk0+6gy6grtLfuypOVNHh6dixo/s7UiXaVVddZaFEQYgCXv8KGa2rQqApU6ZY+/btS33dhRde6EIhfa5FRETsxDUGAACouahAQY10/PHHu+Eod9xxR6lDeTybN292Q1cOPvhgN/zmzDPPdAcVoutzzz3X3T700EPtgw8+KHUZ4eHh9uuvv1pWVlax+++8805X0eHp2rWrCx905nr33Xe34447zr766ivf4wUFBa6c/sgjj3Rninv16mUXX3yxLVu2rNgyFAydddZZbhkahjN9+nR33yGHHOJeo8qXkuvi77XXXrO+ffta/fr13de///67u9Z9ng4dOlizZs1cBY7HC1RmzpxZ5rKB2k5/7/o7SE1NLXb/pZde6v4OPRpGOHLkSLvooovcZ8vhhx9u7777brHX6Gt9DuhxDQfS3/Vff/1VbBkKP7TsPffc032t4TW66HNCr9HytzfEUOukSjOFup5Zs2ZZVFSUG4qk5ZbmgAMOcOHLpEmTqrSdAAAA6iICFNRIYWFh9tBDD7mDnEcffbTU5+Tn57uzrBqW8thjj7mApEuXLu6ARCGBKi+8AEQHOv4VJv40dOebb76x/fff366++mpXdfLPP/9YcnKytW7duthzhw0b5nqlfPzxxy600dlqBSCis9cqtdeQoS+++MKeffZZW7JkiT3yyCPFlqEqEAUrWka9evXs8ssvd8/XgdbDDz/sDq5KHqj5U2ij7+1/Nrphw4YWExNT7HlNmzb19UiRxo0bu2DHP/QB6hr97c2ePdsOOuggF2zo706fF/pbVPDoTwGKPkdU4aVhcHfffbdNmDDBPfbll1/a/fff75b3+eefu2BTvYgUvJZchj57NJymW7dudvPNN7tqMX1m6VqBy0svvVTm+urzwP/vXRTE6LNNlXplUcCizzT+3gEAACqOAAU1VqtWreyWW26xcePGuf4eJek+nYl9/PHHrU+fPq5HgKpRdKZWQUZ0dLSvSqNRo0YWGxtb6vc5//zz3QGMlqFlDhkyxFXAqMR/wYIFxZ578sknuwMplfzfeOONrorkzTffdI+1bdvWhT39+/d3664KGlV9zJs3r9gyNHxAB0BahsIYhUQ6MFP4o7PSu+66q82fP7/UdV29erULTFTJ4lF/F/2sJSlQ0QGdP22bGTNmbGerA7Wb/ibffvttV5X2559/us+P0047zd3vVXP5V3EoJNXfqj4n9BwFrNKgQQMX8upvWH/vqibRZ0bJv3dVlmkYoD4fVL2WkZFh1113nataUdWYhiiW9feuqjYFLPpsqAr+3gEAACqHHiio0c444wxXnaGzup999lmxx3SgorPG/gcXqlxRH5DSApft0dloXXJzc90BiypSNFxHZ5dVAu8FFGou609np3/66Sd3W6GIDsieeuop1z9FFwUwGkrjr127dr7bcXFx7loHVx4FPTk5OaWu5/r1632BUHnPV3jiLd+j1xGgoK5T2KGLAoq5c+fad99954LQSy65xFWWqPqsrL/3b7/91t3u3bu3LVy40FWaqWmzehOpck3LrOzfe1lDeDREUTPweOtTWfp737BhQ5VeCwAAUBdRgYIaT40QNZZfw1sq0iBW96tpakXo4EnVH16lhsre1YdE0wCrEasqPnRQ5Cm5XA0jUk8F0VAA9VxJSUlx1SeqhtEQo5JKWzdvGeXxnud/kKb+CDrQKhmirFu3bpvwxn99gbpGQ9r0d+kNbdPfQvfu3V0TaQ3BUXWIf9+gkn+r+rvz/n40JEeVasuXL3efGaqW0/C9ivy9K+itCO95JUOZitLfe0W/FwAAAAhQUAu0bNnSHZho+lH/aXg1jEXBin/JvMITleFrOI9U5OBBTRpL6xOg6ha93v/sr3+DSFEzyt12283dVj+DK6+80k0prMoZneFWD5SKzARUUU2aNHHXmzZt8t239957uwMs/+EHqn7RUB+dJfen16k3ClAXqZJM/YXUfLWkpKQkX6+gsv7e1e9IgYsXmGrIjnocaVif/tYUpkig/ubV20ihrv/fe2Xw9w4AAFA5DOFBraAeBRMnTnRDc1q0aOHrT6B+IaoWueuuu1zQoTJ8BSqa4lPi4+N9lSY6GElISCi2XDV11FlkzfazcuVK179EZ4z1fDV7Pemkk1yA41H/A/VDUDNW9WZRdYr6IIjWS8N5NJRHZ6nVJFbDf/wPyHaUKkr0fdQEUz1bvPuOPfZYN8xJ/Vs0TEA/vx5XiONPPWMOO+ywgK0PUJNoSIuG5WmYnapN1NMkMTHRDbVTs1cN2fGmApfx48e7WW7UjFXNXDW8R0Gp6O9QgYr+phS2fv31175+SKoGK9nUuarUK0XfQ59FlaXXlTVLDwAAALZFrT5q1VAeHah4IiIibNSoUe6MsBo9qjmrmjGqFN8LDtQfRTNYaGpg/ylK/WlokB7XTBpq8qhpSZ955hkX2miWDX+aJlnLV+iiahg1q1UII0OHDnXTD2s9Bg0a5IIcDRdQf4NVq1YFbDuo+aWmXfb3wAMPuGFD2g6ahUghz4gRI7Y5G60DRb0eqKv0t67QU0N1zjnnHDeVuD4D1MzVC0c8Ci0UmugzQYHo8OHDfTPiKLRVOKq/dX1WqG+SPgNKq1zZEQo8vanZK0P9nFQhx987AABAxYUVBnL8AFCHaciQDrQ0E08wqWGlZv7QGW9vSE9FKOzRUKUxY8ZU6/oBtYEqyRSgaGrzYFJ/I62Lqt8061dFqWJPUyXrWsOAAAAAUD4qUIBaRtUlAwcO9A0XqAgNKdDUrddcc021rhuAwNJ0yWpGrcq3ylDgooo0whMAAICKI0ABaiE11dWZZc0SVBGqOtE0zSWnZQUQ+i699FLXGHrmzJkVer6GHakpblX6pgAAANRlDOEBAAAAAAAoBxUoAAAAAAAA5SBAAQAAAAAAKAcBCgAAAAAAQDkIUAAAAAAAAMpBgAIAAAAAAFAOAhQAAAAAAIByEKAAAAAAAAAQoAAAAAAAANgO+X9g8SO4OJ9oCwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Spam : 53,936\n", "Not Spam: 55,725\n", "Balance ratio: 0.968 (1.0 = perfectly balanced)\n" ] } ], "source": [ "label_counts = df['label'].value_counts()\n", "labels = ['Not Spam (0)', 'Spam (1)']\n", "\n", "fig, axes = plt.subplots(1, 2, figsize=(12, 4))\n", "\n", "# Bar Chart\n", "bars = axes[0].bar(labels, label_counts.sort_index(), color=['#4C72B0','#DD8452'], edgecolor='white', linewidth=0.8)\n", "for bar, val in zip(bars, label_counts.sort_index()):\n", " axes[0].text(bar.get_x() + bar.get_width()/2, bar.get_height() + 400, f'{val:,}', ha='center', fontweight='bold')\n", "axes[0].set_title('Class Distribution (Count)', fontsize=13, fontweight='bold')\n", "axes[0].set_ylabel('Number of Samples')\n", "\n", "# Pie Chart\n", "axes[1].pie(label_counts.sort_index(), labels=labels, autopct='%1.1f%%',\n", " colors=['#4C72B0','#DD8452'], startangle=90,\n", " wedgeprops={'edgecolor':'white', 'linewidth': 1.5})\n", "axes[1].set_title('Class Distribution (Proportion)', fontsize=13, fontweight='bold')\n", "\n", "plt.suptitle('Dataset Class Balance', fontsize=15, fontweight='bold', y=1.02)\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "print(f'Spam : {label_counts.get(1.0, 0):,}')\n", "print(f'Not Spam: {label_counts.get(0.0, 0):,}')\n", "print(f'Balance ratio: {label_counts.min() / label_counts.max():.3f} (1.0 = perfectly balanced)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.3 Comment Length Distribution" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABWgAAAGZCAYAAAAU8tjrAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAriVJREFUeJzs3QecU2XWx/GTTIEZOjawsLIoYgFFBMGK6GJD1+6KWLD3ir1gWVxWUVHsgl3sbV1ddd3VtSu4dsAKKjYWKQNMTXk//wdv3jthJmUmmUwyv+/uOENyc3Pz5CY5Offc8wSi0WjUAAAAAAAAAAAtLtjydwkAAAAAAAAAEBK0AAAAAAAAAJAjJGgBAAAAAAAAIEdI0AIAAAAAAABAjpCgBQAAAAAAAIAcIUELAAAAAAAAADlCghYAAAAAAAAAcoQELQAAAAAAAADkCAlaAAAAAAAAAMgRErQAALQRX331lY0fP9523XVX22KLLWzzzTe33XbbzS677DL75ptvcr15eW/RokV22223pbTsk08+aRtttJH7Of/88y3fffHFF/bYY4/Vu2zKlCmxx3jPPfdk9f7/97//2dVXX2177723bbXVVrbZZpvZNttsY0cddZQ9/fTTFolEsnr/bYV/v91nn30sHA6vssy7774bW0b7QCa8//779uKLL6a8/PLly+2mm26y/fff34YMGWKbbrqpbb311jZmzBi7//77rba2NiPbBQAAkCkkaAEAaANuvfVW22uvvezhhx+2efPmWVVVlVVXV9vcuXPtoYcecomt+AQbUqPk39SpU23kyJH26KOPtqlhW7JkiV166aUuWackWi58+umntvvuu9u0adPs888/t2XLllldXZ39+uuv9uabb9p5551nxx13HEm5DJs9e7bdd999lk0//fSTnXbaaTZ69Gh3ECAV8+fPtz333NMlh7VvLF261EKhkNtXZ8yYYX/+85/tT3/6k1VUVGR12wEAANJRnNbSAAAg79x55502efJk93dJSYkdeOCBNmjQIJegeOaZZ+zDDz90CS1V1/bu3dtVIMLSqta75ppr3N+dO3duU0M3c+ZMe+SRR3KaHD/nnHNcUlZ23nln22mnnaysrMzmzJljDzzwgDsY8frrr7sqXiVqkTk33nijq8Lv2bNnVoZVVbPpVM6K3sd+/vln97eqZ5W879q1qztLQNWz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U6bELqupqbFMW7x4sf3vf/+L/Tvb9wegeUjQAqjnq6++ckHpbbfd5v6urq62FStW2AcffGCXXnqpnXTSSRYOhwtm1BRon3feeXbCCSfkelNaneXLl9vEiRNtn332aZHgWwHkyy+/7JKxTz/9dJt5jr/77js7/vjj7Yorrsj1pgAAADNXoCBKpCkW9rz33nv1xue///1v7O9oNGqzZs1yfysx2Nrce++97kD3P/7xDxdzebGX/n3wwQfb3/72N2tt3n77bReH/v3vf0/7tno+lED9/PPP7cYbb7QxY8a42DZTXnjhBdtjjz1W2SdaAxXUPPzww7bbbrvZN998k+vNAZCi4lQXBFD4lIg98cQT7ZdffrGuXbvauHHjbMiQIfbjjz/atddea5988om98sordvfdd9sxxxxjheCqq66y5557ztZZZ51cb0qrc/vtt7vnOls22WQTu/XWW10QqYBZVSiTJ0+2pUuX2vjx423QoEG23nrruWVvuOEGq62ttdLS0hZ5jlUtrgMR7du3t2w755xz7MMPP3SvNb///Oc/7nfHjh2zvg0AAOD/bbHFFvb444+7WEBJV51NJjNmzGg0QTtv3jxbtmxZ7PatiWIKxUMyePBgO+2002z11Ve3d955x1Xf6jvAJZdcYltttZWtvfba1hoo7jvyyCPTvt3VV19tW2+9tUtA//DDD3bffffZv/71L/vss8/cdd4BcSXRvVire/fuad2Hkp6nn356WrfZfffdbZtttnF/a+yz6c0333SxdLyxY8fagQce6P5u165dVrcBQPpI0AKol5RSNZ/cdNNNLoCT3/3ud3bXXXe5o7C//vqrO8JeKAlaHV1HbsampKTEevToEft33759XRL1uOOOc9Uq999/v1144YVNCpyb+zjWWGMNaymNbZ9/bAAAQMvxJ1h1+n98grZDhw6xM8z0OR4IBOq1CWhtFbReC4Q+ffq4mN474P373//eOnXq5IoyFHu99NJLTUqKtqY4tFu3brEYSgf6dQD8kEMOcQfD1WZAidXVVlvNjUFTY62mbFtZWZn7aQmNbZ8O+nPgH2i9aHEAIEZVhrLpppvGkrOezp07u6POjz32WKOnn6vCVgHQgAEDbJdddrEHHnhglWDhnnvucf28FLgq+NXR5FtuucUd5Y7v/6lqyrPPPtv69+/vemQpOZzqOkQtGlQhoKPo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px/tppvuSGldut8XXnjOhg7dxrp1697oMo8//og999zf7LvvvrWSkmLbYIO+dsABB9tOO+2S8nYDAPJDrj4bpUN5CZ+NAFp1visQbF2Vs60yQQsAANAU+gK6rLK2RRO0kWacYfLzzz/ZzTffYOecc2GztuPDD//rkrqPPfa3RpeZNu12e/bZp+y008ZZv34bW01Njb3yyst26aUX2IUXVtvuu49q1jYAAFqnlv5sbC4+GwG0ZSRoAQAAWtjaa69jzzzzpA0fvrMNHrx1k9eTSuXuU089ZocffpTtvPMfYpf9/vd97Lvv5tljjz1EghYF00eTvpdAfuOzEUBbFsz1BgAAALQ1u+66hw0aNMQmTrzSKisb75NVUbHUrr32r7bffnvaiBHb2oknHmX//e9Md51+n3baCe7vAw/c255//tkG1xEIBO3992daTU11vcvPOOMcmzDhmti/t9tuK3viiUftuOOOtBEjtrHDDz/Y3njjP7HrI5GI3X//3XbIIfvZTjsNs5Ejd7Szzz7Nfvhhfr11KPF80knHuHUceugB9sknH7nL9Bh0G1Xuxm8LkGjCj/aRZSn9aNlWNt8HgCx8Ni5dymcjgMJDghYAACAHLrjgElu2bJlNmTK5wevD4bCdeeYp9vHHH9gll1xh06bdb7///QZ21lmn2OzZn1n//pvbhAlXu2XvvPPeehWyfocddqS99dbrtvfeu9pFF51jjz76kH399VeuZ23PnmvXW/a2225yX5DvuWe6DRu2nV144TkuwSqqtp0+/X475ZQz7aGHnrS//GWSff/9t3bTTdfXW8edd95io0cf7tbRoUNHO/fcM+3VV/9lkybdYBdeeKm9/vqr9uyzT2doFNFWJvxYOuOFhD9aRsu2thmZAWT+s/H000/isxFAwSFBCwAAkAM9evS0k08+3fWHfe+9d1a5Xpd9/vlsGz/+zzZw4CDr3fv3Nm7cBa49gRKlJSUl1qlTZ7ds167drF279g3ez8EHH2qTJt3o1vHee+/ajTdea0cc8Sc79tjDbe7cb+otu8ceo2z//Q+yXr3WtxNPPNX69dvETTAm66yznl188eW27bbbu20fNGiwm2RMyd7669jbtttuB7cOJXuXLauws846zyWX1dJBE5R9883XGRxJtJUJPxL+JJmxGUDhfDbOmcNnI4DCQw9aAACAHPnjH/dz1aU6nfP++1cmQj3ffPOVdezY0SU2PaoO3HzzLe29995O636GDt3G/YRCIVd9++abr9uTTz5mZ599qj3yyNMu2StbbrlVvdv17z8g9gVZSdfPPvvUpk69zb777lv3M3fu17bGGmvWu826664X+7usrMz9XmeddWOXtWvXzurqWnZWcQBA/uCzEUBbRAUtAABADp133iW2YsVymzLl+pQmAItGI1ZcnNox9q+++tKuueYqq6mpcf/W7dQa4YQTTrHLLptgCxb8Yl9//WVs+aKi+usNhyMWDBa5v++//x477bTjbcmSJa56VtW8hxxy2Cr32dC2BYOEnACA1PHZCKCtIVoGAADIoR49eri+rn//+zP20UcfxC7v02dDW758uauk9SdtP/74Q1t//d7u36n029QEXf7JvjyqztXtu3btHrtszpxZ9Zb59NOPbaON+rm/NUHY2LHH2rhx57vqps026+960DaWSAYAoKn4bATQ1tDiAAAA5L0O5StP0W8pwUDAysoyF0bttdc+9sorL7t2AmuuuZa7bMiQobbhhn3t8ssvtjPOOMdN6vXEE4+6nq9nnXW+W6asrNz9/vLLL6xLl65WXr7y354NNtjQdt11d5s48c/2888/2TbbbO8qXL/66gu7445bbPfdR7kvwR5NIKbesf36bWx/+9tTbrnzz7/EXaftmjHjXdt22x2sqChoL7zwvP3nP69Y9+6rZWwcAAD5+9mY6fts7LOxb9+N+GwEUHBI0AIAgLyl6s327Ypt+MD/73HaYrPL/3bf0XA4I+s877yL3eRdnqKiIrvuupvt5psn24UXnmN1dbVu0q4bbrjVVa9Knz4b2LBh29r48RfYccedbIccMmaV9V5wwXjbaKPH7MUXn7d7773LQqE61xNWX3wPOmh0vWX32Wc/e/TR6a5qVxW81113k0vyyiWXXGHXXfdXO+aYw6y8vINtuulmrs3BtddOdMnf1Vdf+eUZANA2Pxs92f5svOGGW+yGG67Lg8/Gn+sdBAWARAJRzkvLCvVsW7Qo+7PJFhcHrVu3DrZ48QoLhSIJlw0GA9Y+ssyWznjBzXabSFFZR+syeDerDnaySCS/Tl1MZ0zaAsaD8WAf4TVTCO8h+gL2668/2Wqr9bSSktJ61+ks/1RO9c8kVZDqs15hVKGc4b/ddlvZhReOtz322KtJ+0mm9o9Ez3X37h3c2CM/Y9d030/aSuxayO/dbUEux7q1fTZ6sv3ZmMnPnGx+NrbUc50tvI+0HMa6+dKJGYo7dLLVh+5hK6yj1dVl5mBSY9KJXamgBQAAeU1fAlv6eHMwGCUJBABotXLx2QgAaDpKEAAAAAAAAAAgR6igBQAAgL3xxkxGAQAAHz4bAbQUKmgBAAAAAAAAIEdI0AIAAAAAAABAjpCgBQAAADIkFArZDTfcYDvttJMNHDjQDj30UPvwww9j18+ePdvGjBljW2yxhY0YMcLuu+++erePRCJ244032vbbb++WOfbYY+3777+vt0yydQAAACC/kKAFAAAAMuTWW2+1xx57zK688kp7+umnrXfv3nbMMcfYggULbPHixTZ27Fjr1auXPfHEE3byySfbpEmT3N+eW265xaZPn+5u//DDD7uErW5fW1vrrk9lHQAAAMgvTBIGAAAAZMjLL79so0aNsu222879+/zzz3cJW1XRzp0710pKSuyKK66w4uJi69Onj3377bd2xx132P777++SsHfddZeNGzfOhg8f7m5//fXXu2ral156ya330UcfTbgOAAAA5B8qaAEAQF4LBMyCwUCL/gQC3u9cP3q0Nquttpq98sorNn/+fAuHw/bII49YaWmp9evXz2bOnGlDhgxxiVXP0KFDbd68ebZw4UKbM2eOrVixwoYNGxa7vnPnzrbJJpvYjBkz3L+TrQMAcvXZ+P+fkTwHAJAuKmgBAEDe0pfA8uKwReuqWvZ+o2bRqFmgpMwqQ0Xub0AuuugiO/30023nnXe2oqIiCwaDNmXKFNeS4Oeff7a+ffvWG6g111zT/f7pp5/c9dKzZ89VlvGuS7aO1VdfvclPRHFxdms3ioqC9X4nowMheq0FlPAJJs74uGUCK9cdDPKCTHeskZ9jHYkEWtVnY+z+s/jZ6CV/9bstfvYWFQWy/l79//fF+0hLYaybL52Ywbta4x5tRW8kJGgBAEBeB2P6Arr8k9ctXL2i5e5XVUKl5dax//YWCHZqUnD30kv/sMcff8S++eYr9zh+97veNmrUH22ffThNPZ999dVX1qlTJ7v55pttrbXWcu0N1LLggQcesOrqaldN69euXTv3u6amxqqqViZTGlpm6dKl7u9k62gqVb1169bBWkLnzmUpL1u3ZLmVlhZbJJL4a0uwtNhKiousvGt5BrawcKQz1si/sa6uLrKFC4OrJO30mWKh5bbiszda9LNRitp3sI6bbWfFxV2a9Nn4wgvP22OPPWxff73ys3H99Xvb3nvvY/vue0D9+2ljBx+UjNcBvy5dyq19+/Ytet+8jzDW+aIu1ZihZOX1nTq17GspGRK0AAAg7+kLaLhqeYsmaKORph9x//vfn7Ebbphkp58+zgYM2MLMovbee++4yxYvXmRjxx6b0e1Fy1AF69lnn2333HOPbbXVVu6y/v37u6Stqmj1pdqb7MvjJVXLy///S7eW8X8B1zJlZSuTP8nW0VSRSNQqKiotm5RQ0Rf9iooqC4cjSZdXcqY0FLba2pCFa0KJ1x0MWV0obCuWVLaqaphcSXeskZ9jXVtb4yYSDIejFgpF6h1w0csgVLm8RT8bRZ+Num+Nhd5XMvHZeN1119jChb+6z0avUl7rb0svdT3Heq6XLq20qqpwi9wn7yMth7FuvnRihpKildcvW1ZtoVB2X0/6fEj1gBIJWgAAgBb21FOP2557/tFVzHp69Vrf/ve//9mjjz5EgjZPffTRR1ZXV+eSsn6bb765vfbaa7b22mvbggUL6l3n/VvVtqFQKHaZWiL4l9loo43c3z169Ei4jubwJ3iySYmVVO7LSzK5hE+SRE9zkkKFLNWxRn6OtZJ2be2z0UvKtqXkrF98Mr5l7pP3Eca69QumETN4V7e2fZsELQAAQA6CyE8//dgqKircJFCeMWOOtD333Nv9fcABe7kvqR9//KF9+OEHtsYaa9hhhx1po0btE1v+2Weftscff9i+//57t86+ffvZaaedZf36bRJbh1omfPTRB/bf/860bt2622mnne0qkG655Ub73/8W2IABA+2SSy5316F5lDyVzz//3AYMGBC7/IsvvrD111/fJWoffvhhN3mY+tPKO++8Y71793aTi6k1QseOHe3dd9+NJWi1j8yaNcvGjBnj/j148OCE6wCAQv9s3Hvvfe3DD//LZyOAgtK2GrcAAAC0AqNHH25ffDHH9t13dzvnnNPtgQfusdmzP3PJuV69fhdb7t57p9lmmw2we+550Pbb70C7+uqr7F//esld95//vGLXX3+1W9f06Y/b5Mm3ulPfJ078c737uueeqTZixB/svvsesQ037Gt//vN4u+++u+zSS6+0q6+e7O73gQfubfExKERKyg4aNMjOO+88lzSdN2+eTZ482d5++2077rjjbP/997fly5e7icTU9uDJJ5907RCOP/54d3v1llUidtKkSfavf/3L5syZY2eeeaZL/I4cOdItk2wdAFDon413330nn40ACg4VtAAAAC1sp512sTXW0ARSD9mMGe/a22+/6S5fb71edsEFl/7We0/VkkPtqKOOi53mOWvWp+40z513HmldunSx88+/xEaO3N1d36NHTxs1am+77rqr693XNttsb7vvPsr9vdde+9rrr//HjjvuJNt4401/u4+tbe7cr1v08RcqTeBy6623uqTsBRdc4Cb26tu3r0ugqnpWpk6dahMmTLB9993XVUWfe+657m/Paaed5lodXHzxxW5CMFXMTps2zUpKStz1qpJNtg4AKOTPxiFD+GwEUHhI0AIAAOTAZpv1dz+a9OOrr75wX0SfeOJRGzfudHvkkafcMltuOSjuNpvbW2+94f7eYostbd68ua5C9ttv59n8+d+5Wa+1Pr911lk39rc38dTaa///Ze3atbNFi37N6mNtS5Q4Hz9+vPtprMr2kUceafT2altwzjnnuJ/GJFsHABTyZ+OgQYPjbsNnI4D8R4sDAACAFrRgwS927bV/db9dMBYMut6xRxxxtE2efItVVq5wvfWkuLj+sfRIJOyWl5deesGOOOJP9sMP892pnieffIadcsqZq9xf/Dq8+wQAoLXgsxFAW0cFLQAAQAsqLW1nzz77lK211lpu4hM/TRIl3buvnOxp9uxZ9a7/5JOPXTJXHnzwHttrr31s3LgLYterfYFEo1ELaCYwAAAK7rPxs3rX89kIoBCQoAUAAHmvqH2HFr2/QDBgwdLyJt22a9euduihR9idd95qK1assBEjdrHy8g6xdgVbbrmVbb75QLfsyy+/aJtsspnrt/f666/aa6+9Yn/96/XuujXXXMs++eQj+/zzOW4ClTfe+I89+eSj7jpNFqbWBQCAtqulPxubc5/pfDa+9NKL1q/fpnw2AigoJGgBAEDecpWiJWXWsf/2LXq/Kk6NRs3ddzQUTfv2xx57oq277nr27LNP21NPPeYmg9IkXyNG/MEOO2xsbLk99tjLXnvtVbv55slu+Suu+IsNG7atu+7MM8+1q6+eYKeccpyVlpbYBhv0tYsvvtzGj7/Q5syZFfsiCwBoW3L12ejJ9mfjnnvy2Qig8ASievdGxoXDEVu0aEXWR7a4OGjd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3bEGY50v2LcZ60LEft186cQM3tUa99Y0eT0JWgAAACADVMUq5513np1yyik2btw415LgpJNOsrvvvtuqq6utc+fO9W7Trl0797umpsaqqqrc3/FtCrSMrpdk62iqYDBg3bp1sJbQuXNZysvWLVlupaXFFokk/toSLC12X7hKSoqstF3iZUtKi9xyXbuWp7QNtYsq3W1Kw5ldb2sbazDW+YR9m7EuROzXzZNyzFCy8vpOndpba0KCFgAAAMiAkpIS91vVs/vuu6/7e+ONN3aVtErQtm/f3mpra+vdxkuqlpeXu+uloWXKylYm2pKto6kikahVVFRaNqlSRV8+KyqqLByOpFQNUxoKW21tyMI1oYTLFgdDVhrVJGphq02ybF1R0C23ZEll0soZbYOWravN7HqzLd2xBmOdL9i3GetCxH7dfOnEDCVFK69ftqzaQqGwZZM+i1M9m4UELQAAAJABa621lvutibv8NthgA3v11VdtyJAh9sUXX9S7bsGCBbHbeq0NdFmfPn3qLeOtW+0NEq2jOUKhlknkKWGYyn2pqld5zmgk6n4S8RKi+h1JkhzV9VpO26HEdPJtWLnOTK63paQ61mCs8w37NmNdiNivmy6dmMG7urWNN02JAAAAgAzQ5F0dOnSwjz76qN7lSqj26tXLBg8e7KppvVYI8s4777jb9OvXz1ZbbTXr3bu3vfvuu7HrQ6GQmxhMt5Vk6wAAAED+IUELAAAAZIDaDxxzzDF2880329///nf77rvv7NZbb7U333zTxo4da7vssoutscYadsYZZ7hJv15++WW77rrr7Kijjor1ndXfaofw1FNP2VdffWUXXnih6zt7wAEHuOtTWQcAAADyCy0OAAAAgAzRhGDqF3v99dfbL7/84loVTJkyxbbeemt3/dSpU+3yyy+3gw46yLp06WKjR492t/Ho8mXLltnkyZNtyZIlttlmm7mEbffu3WMTgiVbBwAAAPILCVoAAAAgg1Qtq5+G/O53v7O77ror4e01yZh+GpPKOgAAAJA/aHEAAAAAAAAAADlCghYAAAAAAAAAcoQELQAAAAAAAADkCAlaAAAAAAAAAMgRErQAAAAAAAAAkCN5k6B9+umnbY899rD+/fvbnnvuaf/4xz9i182fP9+OP/5423LLLW277bazyZMnWzgcrnf7Bx980HbeeWcbMGCAjR492mbN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y+J70dKDFgAAAPmA2BYAAAB5l6C97777VrmssrLSZs6cac8884xNmTIlE9sGAAAAZB2xLQAAAPIuQTtkyJAGLx8+fLiVl5fbrbfearfffntztw0AAADIOmJbAAAA5FIw0yvcaqut7L333sv0agEAAIAWR2wLAACAvEvQ/vvf/7YOHTpkerUAAABAiyO2BQAAQKtscXD44YevclkkErGff/7ZfvjhBzv22GMzsW0AAABA1hHbAgAAIO8StNFodJXLgsGg9e3b144//njbf//9M7FtAAAAQNYR2wIAACDvErT3339/5rcEAAAAyAFiWwAAAORdgtbz2muvuQnBKioqrHv37jZo0CDbfvvtM7d1AAAAQAshtgUAAEDeJGhra2vtpJNOsjfeeMOKioqsW7dutnjxYrv99ttt6NCh7ndpaWnmtxYAAADIMGJbAAAA5FKwKTeaMmWKvf/++3b11Vfbxx9/7BK1H330kf3lL3+xDz/80G699dbMbykAAACQBcS2AAAAyLsE7d///nc75ZRTbO+993YVtFJcXGz77LOPu/zZZ5/N9HYiRwKBgAWDyX8swFMEAADyE7EtAAAA8q7FwaJFi2yTTTZp8Dpd/ssvvzR3u5BjLvEaMFteF7ZwOJpw2SItSIYWAADkKWJbAAAA5F2CtlevXq7FwbBhw1a5bsaMGdazZ89MbBtyKBgIWCRi9s6sn2zBoqqEy67Rvcy26teDFC0AAMhLxLYAAADIuwTtn/70J5s4caK1b9/e9txzT1t99dVt4cKF7vSwO++807U5QGGorArZssrahMt0LCtpse0BAADINGJbAAAA5F2C9pBDDrFZs2bZpEmT7Nprr41dHo1Gbd9997Xjjjsuk9sIAAAAZA2xLQAAAPIuQVtbW2sTJkywo446yt577z1bunSpm0xql112sT59+mR+KwEAAIAsIbYFAABALgXTWfjzzz+3/fff3+6++273byVjVXEwevRou+GGG+yss86yuXPnZmtbAQAAgIzJdmyr2w4cONCefPLJ2GWzZ8+2MWPG2BZbbGEjRoyw++67r95tIpGI3Xjjjbb99tu7ZY499lj7/vvv6y2TbB1ILhD4bVLcFH6YaAEAALSaBO38+fPt8MMPd71me/fuXe+6kpISO/fcc23JkiUuoP3ll1+ysa0AAABARmQ7tq2rq7Nx48ZZZWVl7LLFixfb2LFj3aRkTzzxhJ188smuZZj+9txyyy02ffp0u/LKK+3hhx92CdtjjjnGVfmmug4k1q6kyEpKimxFbdiq6iIJf6rrIkrnMqQAAKB1tDi44447rGvXrvbQQw9Z9+7d611XVlZmRx55pJsw7MADD7Tbb7/dLr300mxsLwAAANBs2Y5tp0yZYh07dqx32aOPPuqSv1dccYUVFxe7it1vv/3WbYsqeZWEveuuu1xid/jw4e42119/vaumfemll2zUqFFJ14HkSoqDVl0Tttc/nG/LK+sSLrtG9zLbql8PUrQAAKB1VNC+/fbb7uh9fADrt8Yaa7i+tG+++Wamtg8ZPE1LfYIBAACQ3dh2xowZ9sgjj9jEiRPrXT5z5kwbMmSIS6x6hg4davPmzXOVvHPmzLEVK1bYsGHDYtd37tzZNtlkE7fOVNaB1K2orLNllbUJf6qqQgwpAABoPRW0CxYssPXXXz/pcn379rWff/65uduFNEUsYFV14YTLlETNyhlZAACArMW2FRUVrj3CxRdfbD179qx3ndaj9fmtueaa7vdPP/0Uu5/422kZ77pk61h99dWb/OwWF6c1PUXaioqC/19YEAi4n0RccUGqLWC1kJYNprHeDC+r67W8HmcwGLVc8sba+w3GulCwbzPWhYj9uvn0+RuIrvy81k8i3tUa92g0t5/XTUrQqrpAgWwy6ovVpUuX5m4X0lRVE7ZXP5jvKgEa06tnJ9uuTxljCwAA2rxsxbaXXXaZmxhsr732WuW66upqKy0trXdZu3bt3O+amhqrqqpyfze0zNKlS1NaR1PpbKtu3TpYSyguLrKS0iIrDRcnXU4CwWDSRKOXPC0pLrLSdonXq/6z+iKn3xldtnRlb9uuXVtPSUTnzsT+jHVhYt9mrAsR+3Xz1C1ZbqWlxRaJJP68DpasvL5Tp/bWmqScoB08eLCbgVa9uBJ5+umn3WlYyN1pWo2pruYULQAAgGzFtlpWLQieffbZBq9v3759bLIvj5dULS8vd9eLlvH+9pZRX9xU1tFUkUjUKir+f0KzbFCSVV8+Q6Gw1dWGrbYmcWyq5SQaiVg4rMm6Ghf5rQKmLpR8vXV1YVcxo98ZXbYo6JZbsqQy5xU53lhXVFQlHTsw1vmEfZuxLkTs182ng6mligFqQxZO8nldUrTy+mXLqmOxRrboszjVs1lSTtAedthhdsghh7heWmeeeWbsSL1HgeLkyZPttddec5MUAAAAAK1VNmLbJ554wn799dfYBF+e8ePH2/PPP289evRYpWrX+/daa61loVAodlmvXr3qLbPRRhu5v5OtozlCoZZJ5Cl3qYSql1RtfLmo2cr/p7DSlT/RSBrrzfCyul7LKyGqhHdroG1pqee1rWOsGe9Cxb7NWOeDYDDg4gt9XusnEe/q1rZvp5yg7d+/v11wwQV21VVX2TPPPOMmL1h33XUtHA7bjz/+aO+++647Bez00093M80CAAAArVU2YttJkya5FgR+I0eOtNNOO8323ntvdz8PP/ywu4+iopWn77/zzjvWu3dvW2211axTp07WsWNHd99eglY9bWfNmmVjxoyJVf4mWgcAAADyT8oJWjn00EOtX79+Nm3aNPvXv/4VO52qQ4cOtt1227lZbjfffPNsbSsAAACQMZmObRurYFXiVNftv//+NnXqVLvooovsmGOOsY8//tjuueceu/zyy91y6i2rRKwSveqRu84669g111zjqmaV6JVk6wAAAECBJ2hl0KBB7kcWLVpkxcXF1rlz52xsGwAAAJBVLRnbKlGr5OqECRNs3333tTXWWMPOPfdc97dH1bZqdXDxxRe7alxVzCqBXFJSkvI6AAAAUOAJWj8d2W9Jc+fOtf32288uueQS91tmz57tAtRPP/3Ubc+RRx5phx9+eOw2kUjEbrrpJnvsscds2bJlLsi99NJLbb311ostk2wdAAAAKHzZiG0///zzev8eMGCAPfLII40ur7YF55xzjvtpTLJ1AAAAIL+kNpVYK1BXV2fjxo2zysr/n11WfcHGjh3renRpUoaTTz7ZnRKmvz233HKLTZ8+3a688krXr0sJW50O5s1+m8o6AAAAAAAAAKDVVdC2pClTprhJE/weffRRd7rXFVdc4U5H69Onj3377bdupl3151IS9q677nKJXW823euvv95N9PDSSy/ZqFGjkq4DAAAAAAAAANp0Be2MGTPcaVwTJ06sd/nMmTNtyJAhLrHqGTp0qM2bN88WLlxoc+bMsRUrVrhZeT3qKbbJJpu4daayDgAAAAAAAABosxW0FRUVbuIDTZTQs2fPetf9/PPP1rdv33qXrbnmmu73Tz/95K6X+NtpGe+6ZOtYffXVm7ztxcXZz38XFa28j0DALBgIuJ/GBHTdyv8np4W0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91y929fU1Njll19uw4YNs4EDB9rZZ59tixYtqrdMsnUAAAAgv5CgBQAAADLkrLPOsg8++MCuu+46e+KJJ2zjjTe2o48+2r755hv7+uuv7fjjj7ftt9/ennzySTvwwAPt3HPPdQlXz2WXXWZvvPGGTZkyxe699153u9NOOy12fSrrAAAAQH5hkjAAAAAgA7799lt78803bfr06TZo0CB32SWXXGKvv/66Pfvss/brr7/aRhttZGeeeaa7rk+fPjZr1iybOnWqq5j95Zdf7Omnn7bbbrvNttpqK7eMEr2qklXSVxW1StomWgcAAADyDwlaAAAAIAO6detmd9xxh/Xv3z92WSAQcD8VFRWu1cEuu+xS7zZDhw61CRMmWDQatffffz92mad379621lpr2YwZM1yCNtk6dF9NVVyc3ZPriopWrl9bmNJWegulsvBvKw0EAxZMMgZujLK0bDBo1rFDadLnoUNZiVs2a9sb8G1TI8tqXbpez0swGE24XiTfr73fyC7Gu+Uw1ox1PgnoMy268rNSP4l4V2sfV+zUWpCgBQAAADKgc+fOtuOOO9a77MUXX3SVtRdeeKE99dRT1qNHj3rXr7nmmlZVVWWLFy92FbRK8rZr126VZX7++Wf3t34nWkf37t2btO3BYMC6detgLcHlEIPBpAktLxmp36kuW1JcZKXtEn/FKSkpcl/k9DuTy5aXlViX0oht06edhSOlCZctLS5yy3YoL7WaUCTj21tcXGRWF7GS0qLGly0tcst37VqecJ1ITefOZQxVC2K8GetCxH7dPHVLlltpabFFIok/K4MlK6/v1Km9tSbF+TLZgk7vevXVV2358uXutC5NmOCd+qWeW9dcc43rydWzZ0879dRTbc8996w32cLEiRPthRdesOrqahsxYoRddNFF9QLYZOsAAAAA0vHf//7XLrjgAhs5cqQNHz7cxaGlpfUTd96/a2trXZI1/npRwlbxrCRbR1NFIlGrqKi0bFKSVV8+VawSjUQsHE6cmIz8VtWi36kuWxcKW21NKOGydXVhVzGj35lc1j2wuipb8tF/bHlFRcJFu3Tral23Heluk43tDYXCK/9du/LfDS5bFHTLL1lS2aoqiPKNt19XVFQl3U/BeOcT9m3GOp8EAgErVQxQG7Jwks/KkqKV1y9bVh37vMwWfT6keoZFcb5MtvC///3PJWlX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N9HLL788OmDAgOjXX3/trh82bFh0+vTp0QULFsR+Fi9eHLv9+eefH91ll13c7T/66KPoPvvsEz300EOj+ezVV1+N9u/fP/rLL7/Ue9xVVVXRRYsWuX3jggsuiH711VfRxx9/3C2r34W4/2ib/WOgn5deeim60UYbxR7z6aefHj3nnHNWWc7z5JNPun3qmWeeiX755Zdu2SFDhkR//fXXaD554IEHov369YuOGTMmdlkm9odU1pFPY6L3go033jh66623RufOneteTzvssIN7r/A8+OCD7n0jfp/xxkTjoDG47rrr3N9Tp06NbrLJJtG33normm/jIQcccIB7LP7H6t//C3UfaWg89PnhHwe9z44ePTq65557RpcvX+6W0WPs27evGwv/st71tbW1bnyOO+646Oeffx795z//6d5Tbrjhhmi+fc6msq8n+5zN19cLMqOQYo5CiweRu9gKqY93JuIUtNxnPlIb67aax8imgw8+OHrggQe6sdL+e+qpp0a32267aGVlZV68b5OgzVPaQQYOHOgSCJ6lS5e6F/uzzz4bLSTz5s1zX4JnzpwZuywSibg3qsmTJ0cXLlzorv/ss88avP3PP//sPuQVwHr05qjb/Pe//43mqzvuuCO61157NXjdbbfd5t6I6urqYpdde+217s2lLew/K1asiO600071km2777579O677270Nhqbq6++OvZvjd2OO+7oxjIfaD8//vjjo1tssUV0t912qxfUZmJ/SLaOfBuTs88+O3rkkUfWW/6pp56KbrrpprEP4PHjx0dPOOGERtd/ySWXuC8LfmeddZb7IM+38dB7qi7XgY2GFOI+kmg84t1///3RzTbbLBZMy3PPPRfdcsstG72NxkW3WbJkSeyyhx9+2N2mtX1ZTPY5m2xfT+VzNt9eL8icQo858jkeRG5jK7RsnIKW+8xHamPdVvMY2bJkyRK3r6owwqMkq8ZLCdt8eN+mxUGemjNnjq1YscKVuns6d+5sm2yyic2YMcMKSbdu3eyOO+6w/v37xy4LBALup6Kiwj7//HP3d+/evRu8vU5TFpW5e7TsWmutlddjpcfdp0+fBq/TaRNDhgyx4uLi2GV6/PPmzbOFCxcW/P5z2223WVVVlZ133nnu37W1te6x//73v2/0VAhd7x8Pjd1WW22VN+Px2WefWUlJif3tb39zpyNlen9I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JFPb9P7779txxx2XdLnPPvvMjj32WBs6dKhtvfXWdtRRR7nL/EKhkE2ePNl23HFH23zzzW306NH20UcfrbKuv//977bnnnu6/Xv33Xe3p556qsHXwWGHHWYDBw607bbbzq677jq3P3kef/zxlLYbAADkh9NPP93FGA3FBIp5ttxyS6urq6t33aeffuque/rpp7OyTVq3Yq7m0nbvt99+9tZbb6W0vGJ8xfqtOe7P1DbdcsstNm3atITLRCIRt8zIkSNd/Lj33nvb3/72t7TjR1m4cKGdffbZbl8bNGiQnXXWWbZgwYLY9d988417bBUVFc1+bAAyiwQtgBbz4IMP2p/+9Cf79ddfXeBw5513uiTUe++9ZwcccIDNmTMnr54NBTv33nuvS9zl0tdff2233367S3w3xYEHHmiPPPKIFaLHHnvMjU8i3377rY0ZM8aqq6ttwoQJ9pe//MUFu0rAKoj1TJw40e655x475phj7Prrr7eioiI78sgj3e09L774okuUb7vttnbzzTfbkCFDXHD/3HPPxZbRwYixY8dau3btXMJXyeC7777b/vznP8eW2X///e1///ufS9QCAID8N2zYMFuyZEm92EJef/1169q1q61YscI++OCDetfNnDnT/VZc0Zrddttt1qNHD9tmm22adPubbrrJTjrpJCtEN9xwg1VVVSVdRrGlvg8pptc4Kq7XQf904kd9J1HBwccff2yXXXaZ+/nvf/9rRx99dCz5//vf/9523nnnercD0DoU53oDALQNqmRU8uvQQw+1iy66KHa5ju6qinafffaxCy+80J588smcbmc+uuaaa2zUqFG21lprNen2Cqj101bdf//9VlZW5gLi8vJyd5kqaVVd8MADD9ill15qP/30kz300ENu31XiVlS5sOuuu7oDDV6Qq0qG3Xbbze3Lsv3229vSpUtd4K2qWtHyHTp0cBUVpaWlriK3ffv2duWVV9oJJ5xga6+9tgUCATv++OPtiiuucM+trgcAAPmdoBUlzJQk87zxxhsudnjttddcslYHdz0zZsywvn372hprrGGtuWDhjjvucHFSU22yySbWVil5e99997nKWO/sKe0rOpNLMariwFTjxxdeeMFmzZrlCgM22GADd7uNN97YreMf//iHq8wV3Y/OZjziiCNs0003zeGjB+BHBS2AFqHTdjp16uROs4nX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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ " char_len word_count \\\n", " count mean std min 25% 50% 75% max count \n", "label \n", "0.0 55725.0 468.7 1233.8 1.0 112.0 223.0 467.0 32439.0 55725.0 \n", "1.0 53922.0 1024.0 1619.0 1.0 154.0 549.0 1208.0 32759.0 53922.0 \n", "\n", " \n", " mean std min 25% 50% 75% max \n", "label \n", "0.0 55.2 104.3 1.0 14.0 29.0 58.0 4053.0 \n", "1.0 170.6 275.5 1.0 28.0 93.0 202.0 8386.0 \n" ] } ], "source": [ "df_clean_eda = df.dropna(subset=['text'])\n", "df_clean_eda['char_len'] = df_clean_eda['text'].str.len()\n", "df_clean_eda['word_count'] = df_clean_eda['text'].str.split().str.len()\n", "\n", "fig, axes = plt.subplots(1, 2, figsize=(14, 4))\n", "\n", "for label_val, label_name, color in [(0.0, 'Not Spam', '#4C72B0'), (1.0, 'Spam', '#DD8452')]:\n", " subset = df_clean_eda[df_clean_eda['label'] == label_val]\n", " axes[0].hist(subset['char_len'].clip(upper=2000), bins=50, alpha=0.6, label=label_name, color=color)\n", " axes[1].hist(subset['word_count'].clip(upper=300), bins=50, alpha=0.6, label=label_name, color=color)\n", "\n", "axes[0].set_title('Character Length Distribution', fontsize=13, fontweight='bold')\n", "axes[0].set_xlabel('Characters (clipped at 2000)')\n", "axes[0].set_ylabel('Count')\n", "axes[0].legend()\n", "\n", "axes[1].set_title('Word Count Distribution', fontsize=13, fontweight='bold')\n", "axes[1].set_xlabel('Words (clipped at 300)')\n", "axes[1].set_ylabel('Count')\n", "axes[1].legend()\n", "\n", "plt.suptitle('Comment Length: Spam vs Not Spam', fontsize=15, fontweight='bold', y=1.02)\n", "plt.tight_layout()\n", "plt.show()\n", "\n", "print(df_clean_eda.groupby('label')[['char_len','word_count']].describe().round(1))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.4 Top Words: Spam vs Not Spam" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABjAAAAHsCAYAAAB8POQkAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA2HxJREFUeJzs3QmcjXX///GPGUQyMkjLhMrSYlcpIZQiyVLZlZSSu4XIUqlUdlmispQk2m+033XT4lZSlkJulJBRKNm3Ycb/8f7e/+v8zozBDDNnuc7r+XjMY86c5TrX9T3XzHw/1+f7+X7zHD58+LABAAAAAAAAAABEkLhw7wAAAAAAAAAAAEBGJDAAAAAAAAAAAEDEIYEBAAAAAAAAAAAiDgkMAAAAAAAAAAAQcUhgAAAAAAAAAACAiEMCAwAAAAAAAAAARBwSGAAAAAAAAAAAIOKQwAAAAAAAAAAAABGHBAYAAAAAAAAAAIg4JDAAAACQo1q0aGEVKlRwX/Pnz0/3WEpKilWpUiXweMOGDY94/cSJEwOPP/PMMyH/dHbu3Bl4/wYNGhz3+WPHjg08/1hfHTt2DMn+48T169cv8HldfvnlduDAgbA154IFCwL70q1bt5C9r/eel156acjeEwAAADgaEhgAAADIUTVq1Ajc/uGHH9I9tmjRItu/f3/g599++802bdqU7jnBr7nsssv4dBASu3fvtn/961+Bn3fs2GGffPIJrQ8AAACEUd5wvjkAAAD8RyO3X3vtNXf7xx9/TPdYxooMb6R5s2bNAj8vXbo0ahMYN9xwgzVp0iTTx04//fSQ7w+y7uOPP7a9e/emu+/tt9+25s2bx1QzPv/88+573ryEigAAAAg/eqUAAADIUcFTz2RMYHzzzTfue3x8vKWmprrb3333XSCBsXHjRvvzzz/d7fPPP98SExOj6tPRPl977bXh3g2cgHfffdd9z5MnjxUvXtydh6oYWrNmjV1wwQUx06acvwAAAIgkTCEFAACAHKWLv2XKlHG3//77bzdNlLe2xE8//eRuX3311YGKBCUwMkt4ZKy+2Lp1q40cOdJVOVStWtVNVdW2bVt75513AsmQzNal+PLLL+3++++3ypUrW82aNe29994LPE+3W7Zs6R676qqrbODAgbZnz55cPyO0toa3BoiOv1GjRlaxYkX3s9pJ9H3YsGF2zTXXuMeuvPJKe+CBB2z58uWZbnPlypV27733ugRStWrV7J577rH169dbr169Am3hbftY6yvMnj078Fjfvn3TPaY1IV588UX3GVSqVMmtE3HXXXdlWlmjNT+0jYsvvth9PpMnT3bHqdfpmMaNG2eHDh064nVr1651a1HoHNFx67uOJfg8GTp0aGAftT8Z3XHHHYHHM05jlpnVq1cHzj2dd23atAk89tZbb2X6GrWN9x6aBm3GjBkuEadzqW7dujZ48OBMzyVt79Zbb7Xq1avbJZdcYldccYXdfvvt6aavOpoTOW5N2fbCCy/YTTfd5M4LvWetWrVcm37//fdZXgNDiZyePXtavXr13Oei47z++uvdOjX6PQcAAAByAxUYAAAAyHG6OLtu3Tp3WxdSS5UqZd9++62lpaW5+2rXrm358uWzTz/9NLAOxplnnpnuYnPwBdQVK1bY3XffHajO8CxevNh96eKvLtKecsopR+zLk08+aX/88UfgArwuvsqoUaNs/PjxgefpsalTp7r9DJXt27db165dAxe6ixYtagkJCe6CsJIzXhuK7lN7ff75527fgxdA18X9Ll26pFtfRIkbXZQvW7Zsjuyrtt2pUydbsmRJukXZ//Of/9i8efPssccesw4dOmT62ocfftg++uijwM/JyckuyaR1Jh599NHA/Wp7JWGCp3LSuaGvr776yoYMGeKmdLrllltcQsSb+kmvCW4nJWjkvPPOc8murFZfiJIQSioowXL48GGX5FISKH/+/Ed9/YgRI+yDDz4I/Lx582abMmWKbdiwwZ2XHh2zthts27Zt7rj1pQTFsaasyu5xa/91fmVMMCkZqPPj66+/dr8D+n08ll9++cVatWp1REJG56e+9L5vvPGGnXbaacfcDgAAAJBdVGAAAAAgJNNIedNHiaoJNArc4114zWz9C104f/DBBwPJC1VRaNS3RsCfccYZ7j5dQB80aFCm+6LkhUa8q5qhc+fObjogjbifMGFC4Dm6aKyLx6oa0MXaE6WL094I9uAvbTczqojQdFr9+/e3Rx55xI3ElwEDBgSSFxo5P3z4cFeVoOM9ePCgu60L36IqBrWFl7xQhYPaR0kDXcDObJT9iXjuuecCyQtVRai9nnjiCXexXO+j5IJG6Wek6gsthq1je/bZZ61+/frpEgdeUkv7r0SBl7y48cYb3Wf2j3/8wyW79B5q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UaB79+62bt06Gzx4sJUqVcrGjx/vAhgveGndurU98cQT9ueff9pTTz3lgp533nnH4uPj3esVeDz55JP22GOP2ZAhQ6x37952/vnnu2Bs7969LiDStjILfpB98fFxIdl+br8PaPNw4jynvf2Oc5w297toPcfHjh1rXbt2tTPPPNMef/xxNzhozZo1NmLECCtZsqR98cUX7vFx48ZZvXr1AgmIN9980/WtCxUq5Prd6lcrQZCWlmb33HOPS3wMHTrUVU5ou4888ohLMOzevdvatm1r5557rr344ouWP39+tw8asPTee++5qazk008/tYcfftj69+9vBQoUsNKlS7tEiPr85513nq1YsSLdcajPr9fr+UpgzJ071wYOHGgHDhywTp06uUTI119/bdddd517/jfffOO+L1iwwBo3bmxbtmxx21T8AQAAkNuy0meM1v5ltImPwHYmgRHhfv31VxdwvPzyy64CQxQUJSQk2EsvvWQVKlRwgYlccMEFNnLkSGvWrJkbGXb11Ve7+xVcNW/e3N1W8KTF/bTIX+XKld19tWrVsp9//jlsx+g3CQkFffU+oM3DifOc9vY7znHa3O+i7Rw//fTTLV++fC5JsGvXLvvwww/dQtkXXXSRe/yOO+5w1RHqm3sJjIMHD7q1KIKf849//MMNLjrllFNcdfQZZ5zhkhFKVIwePTpQ/fz++++7x1XBkZiY6O579tlnXWXF9OnT3cAjKVKkiN11112B/fztt9/cd72mcOHC6Y5BSRFVWyiJ0rRpU3dfmTJlLDk52VVm33777a66RNuXzZs329q1a93xeAmMr776yu2vYg0AAIBI6jNGW/8yWiVEUDuTwIhwq1evdt9VTu5RIKTRYDfccIMrNQ+m0m8FMatWrQokMDRCy1Ow4P9OPlVyeBSgMYVUztm5c5+lpqZZblEGVH9Ecvt9QJuHE+c57e13nOO0eayd47odSaO4ssKratD0T8GUsNBgomAaSOTxEgp6nhIXSjxoOtjnnnvOrrjiCtdHV5LA6+srueAlL7y+uQYaeXFAxv58VgZA6b01xWywyy+/3F599VXX769fv76r0tiwYYOb7kpTSmm/9LgogXHNNddk+T0BAABORlaucRFDhUao2jk78QEJjAiXN+/RP6LDhw8f9X6NHDvWNvLkyZNDe4iM9Mt96FCab94HtHk4cZ7T3n7H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2u3bt8/y5MlzxPMLFSpk69ats7/++itL269atapt377dXn75ZbcG3ptvvmlz58494nla72LmzJn266+/2qBBg2z16tUulgAAAADCjQRGlNNiewo4brrpJlu4cKELTjSSSxo1amSjRo2y2bNnW9OmTe3hhx+22rVru4QGAAAAgPAbO3asnXnmmdapUyc3EKly5cp29tlnu+qJjDp27Ghffvmlde7cOUvbvuKKK+z+++93C3s3adLErZX3wAMPHPE8Lf792muvuZhCC4tPnDgxW+twAAAAALklz+FjTZCKiFahQgUbPHiwtWzZMty7YltmjbaUrckWjfIXS7Izmne3bdv2RMzcbseSN2+cFS1aKGr21w9oc9rc7zjHafNYwHke3vZOTCzEIt6Z+Pvvv+3HH390g4y8hEVKSoqrzHjiiSesefPmFq1GTF9kyZt3hXs3AAAZJJUsbL3a1+CaQg6jr5n7aGN/tXN24gMW8cZJUw5MCYBolpaaamlp5PIAAAAQOnnz5rUePXq4quq2bdvawYMHXUW1FtCuW7duVMcHujgGAIjcxXm5BgIgWpDAwEnT/Lw7d+5z/wCjlf5x888bAAAAoZSQkGDjx4+30aNH21tvvWVxcXFWvXp1mzp1qiUmJkbth+GH+CDSacRiQkJB2pk2jnqcy+FpY66BAIgmJDCimBbsRvbwTxoAAACRROtUaHFtAIjl+FsX1pkiOXfRxgCiFQkM5EiJuLL50TJV1Lbt+6i2AAAAAHJJNMUH0Y52po0j/YL59u17ib8BACeFBIaPjB071mbOnGmff/65JScn2zXXXOPKz7UIYN++fW3jxo322muv5UqJeDQs4u0t1h0Xl4cOFAAAACK+Tx+tFB+wiDcQ27yFoom/AQAniwSGj3Tu3Nnat28flvdW8iJl09qwvDcAAACAyJK8eZet2bgj3LsBAACAKEcCw0cKFSrkvgAAAAAAAAAAiHZx4d4BZF2FChVs+vTp1qpVK6tUqZI1bdrU5syZk67cvEGDBlna1qxZs6xJkyZuO3Xq1LGBAwdaSkoKHwcAAAAQxj59Rrt27bL+/fu7xb5r1Khht912my1btizweFpamk2YMMGuv/56q1ixolWvXt3uuusu++233wLP+eqrr6xly5ZWpUoVu/LKK930sjt2/F91xJo1a6xLly5WrVo1q127tvXs2dP+/PPPXGwFAAAAIGtIYESZESNGWLNmzey9996zq6++2u677z5bvHhxtraxcuVKe+yxx+z++++3Tz/91AYNGuS299JLL+XafgMAAADIXp9ei2ErsbBhwwaXpHj77betatWq1rZtW1uxYoV7jta8e/nll11SQn37559/3tatW2dDhgxxj//9999u+zfffLN9/PHHNm7cOPv+++9t2LBh7vHNmzdbu3btrHTp0vbuu+/a+PHjbffu3da6dWvbu3cvHxkAAADCiimkooxGTnnrXPTq1cu+++47mzZtmhtplVVa4FsL651zzjl29tlnuy8FPaeddprFgvj4OF/sf7QfRzShzWlzv+Mcp81jAec57R2Nffpvv/3WfvjhB/f99NNPd/c99NBDLtmhxIWSFKVKlbKhQ4da/fr13ePq4zdq1Mj+9a9/BRIUqrRWn1+P6UtJitTUVPf4G2+8YWeeeaYb4OQZPXq0q/jQNrSvAHCijhe38v8599HGoUE708Z+ER+B1x1JYESZmjVrpvtZZd5ff/11trahKaP0ultuucWSkpLsqquusmuuucaVnMeChISC5gd+OY5oQpvT5n7HOU6bxwLOc9o7mvr0P/30k6vC8JITHiUkDhw44G5rCtkff/zRxowZY2vXrnVfv/zyi5UsWdI9ftFFF9mNN95oXbt2tRIlSri+f7169axhw4bucVVy/Pzzz24fgmn7mloKAELxf5f/z7mPNg4N2pk29ouECLruSAIjyuTNm/4j08ipuLjsZcROOeUUN2JLwcq8efPclwKa5s2b2+DBg83vdu7cZ6mpaRatlAHVH5FoP45oQpvT5n7HOU6bxwLO8/C2t25H0iiuaOnTa30LVUnPmDHjiMfy58/vvk+cONFNG9WiRQu3vkWnTp3cmhofffRR4LnPPvus/eMf/7C5c+faN998Yw8//LBbT+PVV19176FqiyeeeOKI9yhcuHAOHTGAWHW8uJX/z7mPNg4N2pk29ov4EF13zE58QAIjymjBvuCFupcsWWKXXHJJtrahRfy0Hc2Fe/HFF9vdd99tL774oislj4UEhn75Dh2K/gv/fjmOaEKb0+Z+xzlOm8cCznPaO5r69OXLl3frURw8eNDKli0buF/TPV144YXWoUMH14dXckJ9eo+mh1Xlhqg6Q8mMRx55xM4//3yX4Hj//fddEmPr1q1Wrlw5tzbGWWedFUiKbN++3fr06WN33HGHS24AQG7/3+X/c+6jjUODdqaN/SI1gq47ksCIMholpcBD0z1pEb9Vq1bZwIEDs7WNfPnyuVFaGs2lqaN27NhhX3755RFl4wAAAADC16fX1K+aAqpHjx726KOPuiTD66+/7ioylKQQ3afpp5QQURWHFgb/7LPPrHjx4u5x9fn1GsUArVq1clNDKWFRpkwZK1q0qFvA+6233nJrcXTr1s29RmtqaJ+UQAEAAADCiTruKNOmTRubMmWK3XTTTbZw4UIXuGj0VXbUqlXLBUjvvvuumw/3zjvvtNKlS9vIkSNzbb8BAAAAZK9PHx8fb5MnT3aJju7du7vnf//99zZu3Dg3XZQMGzbM9u/fbzfffLOryFi9erUNGDDAVVf8/vvvdsEFF9jYsWPdQuCaMrZt27Zuu5MmTXIJj3PPPdctIL5nzx73mLahZIemnE1MTOQjAwAAQFjlOezVFiPiVahQwU3x1LJlS4s0W2aNtpStyeHejWPKXyzJzmje3bZt2xMxJVAnIm/eOCtatFDUH0c0oc1pc7/jHKfNYwHneXjbOzGxEGtgREGfPieNmL7IkjfvCvduAAiTpJKFrVf7GseNW/n/nPto49CgnWljv8gbouuO2YkPmEIKJ005MCUGokFaaqqlpZGzAwAAAHIzPtCFSwCxTfOnE38DAE4WCQyctDx58uT6yvQ5RZ0nOlAAAABA7omm+CBaacRiQkJB2pk2jmjE3wCAnEACI4poIb1IFUkr0wMAAACRKpL79DmJ+IB29gvOZQAAwosEBnJEVucsCzVGfAAAAAChF6nxgd/al3b2VxsTvwIAcCQSGMiROW5Vvhypa15s276PaaMAAACAEInk+MBvaGd/tbGqPbZv30v8CgBAEBIYIVChQgUbPHiwtWzZ0vw6x+2WWaMtZWuyRZL8xZLc4uJxcXnoAAIAAAD/X4MGDaxFixZ2//3351p8MGL6IkvevIs2B7IoqWRh69W+BvErAAAZkMBAjlDyImXTWloTAAAAgEterNm4g5YAAADASWFiUgAAAAAAAAAAEN0JjF27dln//v3tiiuusBo1athtt91my5Ytc4/t27fPHn30UbvqqqusUqVK1rx5c/vss8/SzYP66quv2vXXX2+VK1e2Jk2a2Icffhh4fOHChW571atXt4oVK1rjxo3tvffeCzzet29fe+ihh+ypp55yz7nyyittyJAhlpKSEnjO5s2brUePHnbppZdazZo1rWvXrrZu3bp029DX0KFD3eurVKli99xzj3udJCcnu+meFixYEHhNxvv0+t69e9szzzzj3ufyyy+35557ztasWWPt2rVzx9a0aVP78ccf07Xdr7/+am3atAkc2yeffJLu8S+++MJNMaXXN2zY0EaPHp3u2LQPep/69etb7dq13XGp9HvixIl29913u2PRz7Nnz3ZfaueqVavanXfeaVu3bg1sZ/ny5da+fXv3/Guuucbef/99u/jii9MdMwAAAIDIsWfPHnv66addHFCtWjXr0KGD69fLkiVLXByl+EwxUL9+/Wzbtm3pYrg+ffq42EVx3CuvvHLE9hcvXuxiBMUi9erVswEDBtju3btDeowAAADASU0hpQREly5drECBAjZhwgQ77bTTXIKhbdu29vbbb7sL4atWrXIX1BMSEuydd95xyYRPP/3UkpKS7KWXXrLnn3/eJTnUsf7qq69cIqB48eJ23nnnuQvt6oirY37w4EGbNGlSICGi54gSIupQv/nmm7Zhwwb3uBIn6mDv3bvXOnbsaJdccolNmzbN4uLiXOe8VatW9sEHH1jJkiXdNpQ0UYJBz9GFfSVFlCzQGhVZ9fHHH7sO/owZM9z2xowZ495DyQ0dq/ZL+6THPUre6H69j9pNbXPuuee6hMbcuXOte/fuLtioVauW/fbbb64d1q5d67btef311127pKamWpkyZdx9L7zwgj355JP22GOPuYSO2vT888+34cOHuzZ54IEH3Gu0b0rU3H777S5xof3buHGje62252fx8XG+PB6/HVcko81pc7/jHKfNYwHnOe0dzRQraACTYolSpUrZ+PHjrXPnzq6frxiodevW9sQTT9iff/7pBnwptlI8Fh8f7177+++/u9cUKlTIxQyKAzwrV660O+64w+69914bOHCg/fXXXzZs2DC3/bfeesutZwEgdGItzuP/M23sF5zLtLFfxEfgdccsJzC+/fZb++GHH9z3008/3d2ni/8arTN16lTbuXOn6xDrorwSGA8++KBddtllVqRIkUD1hUYG3Xrrre616mjv37/fDh06ZAcOHHALyKmj7XWQVVUwa9Ys11H3Ehjari7MFyxY0MqXL29btmxxneyHH37YVTRoH/R43rz/Oyw9psoCJVi8BeoKFy7sOvX58uWzCy64wG644QaXTMkOHb9GMSlJ0qlTJ5dk0HaUGBBVUgwaNCjda1SdoQoMURChdpwyZYqNGDHCBRNKtHiPKyhRgkHJBlWAKCkizZo1c9UtwZTQUbWLaBtz5sxxyRGNnhIlRH7++Wd3WwGIjl/touMvW7asS3x069bN/CwhoaD5kV+PK5LR5rS533GO0+axgPOc9o42quTWgKeXX37ZVWCIBiEpNtIgMVVqq0peFN+MHDnSxQ3z5s1zsZm+K+5QBYY8++yzrqrbo+1q0Jiq10UDpfSca6+91r777js3+AxA6MTq/6lYPe5Qoo1pZ7/gXI69ds5yAuOnn35yiYjgzq5omiMlIB555BHX6dXUTLp4rk6wKh10wfzvv/92o4E0bVEwVXR4dNFfiZDVq1e7CgSNBJLg6gBtV8kLj8qnVa2hSoUVK1bYjh07XNIkmPZN0zt5lBzQxXuP9k/byA4lFJS8kFNPPdV9V3DgUZVKxm2qpDuY2kJJDNG+L1261N59993A42pr0b57CYzSpUsfsS/B93lto2MM3hdvCim9jyo+go8/Y3v50c6d+yw1Nc38QhlQ/RHx23FFMtqcNvc7znHaPBZwnoe3vXU7kkZxRRPFR6LpYT2nnHKKq97WICrFXcEuvPBCF+OoOl7V6hI8CEqDw4JjF8UI69evd7FVRopFSGAAoRVrcR7/n2ljv+Bcpo39Ij5E1x2zEx9kOYGRlpbmpo0KnhbJkz9/fjvrrLNcJcPXX39t8+fPd9UTL774ohsVpIvmx/LLL7+4CgVN/6SKgeuuu86KFi0aqNbwBF949/ZJVBqt25qKSu+ZkZdk8PY1OzKbXinjfoiX0DiajI9ru96+aN/vuusua9GixRGvK1GiRLpkREZetUmwo5V5e+0Ua/TLduiQ/47br8cVyWhz2tzvOMdp81jAeU57R5vM+vsZBz1ldr9iFi8uyBgDBG9Tj2ngmVeBESwxMfEk9hzAiYjV/1OxetyhRBvTzn7BuRx77ZzlYVCaskkLuamyQKP+vS/Nu6ppi7TA9KJFi9w0SpqWSGtfaGSPvmsE0BlnnBFY8Nuj9Rk0j6vWtChWrJhbs0JVGVdffbWbezVjp1xVIMEJBS1Yp6oDJS60f5rbVe/l7dvZZ5/typ+///77LB2jl5gIXrAueBHwk6F9D6apt8qVK+du67uqSILbddOmTW7uWS3Yl1M0GksjrIKrQ9SGAAAAACKTpoWS4FhK0/A2aNDAxSqKwYKpkl3xjF530UUXBWIPj6bdVcW7R7GIBpQFxyLavuK0P/74IwRHCAAAAORAAqNOnTquA6z1FTT1kcqM1alVRYY6x1pUWwvHqfpCi8IpcaGEgleKrDUttA6GFrBWh1nTRSnxoYTHmWee6S7Yq4JDr9Vi3ZrX1ZuiyqPHtDaESpn1HCVNtPC3khg33XSTW29DSZEff/zRPUcLV2u+WM0LmxVKspxzzjluP/V6BQNa3yInFq7TvLMzZ850c9hqfQyVgntTaOm72mvcuHEukaE2VEn4rl270lVgnCxVuShg0Ry5Or5vvvnGLRYuLM4HAAAARB4N1lKFuuIgxWGKF9Sf11S5GgimqaLUp1f/Xuv/9erVyy6++GI3ta+mlm3UqJFbA1B9f8UgvXv3ThdjabFuDXLy4iwNcOrZs6dLjmg9DAAAACCcsjyFlKYfmjx5slskW4tQaz5VJS500V2dY82rOnToULeg9vbt210iQJ1nLSAnSjRo0W4lBLQehjrDo0aNsssvv9zN56oL+15nWo9pgXAlKDTSqG7dum4bep6mYrrllltcpYUWBb/33nvdY/p52rRprmpBi4GrUkNTUmmfvVFLx6OL+Hq9Egzab40+UiJByZeTpYWyX3vtNRdsaPHsiRMnumBEFFSoLSZMmOAW9NYi4RpRpfbLSapy0ZRe3vEpcdS2bVt3zJlNiwUAAAAg/NR/V5/9wQcfdPGS1tPT4tuqsFb/fvTo0da8eXM35a8W31YCwuvfK0bTlwaiabqo1q1buzUKPYqxtA3FaZrSVtPvKr7r06dPtqffBQAAAHJansNHmzg1wqiaQhUYSgLgxKg0XAudBy8ornJyJTG+/PJLt47Jidoya7SlbE2OqI8mf7EkO6N5d9u2bU/EzNmWE/LmjbOiRQv57rgiGW1Om/sd5zhtHgs4z8Pb3omJhVjEO8aMmL7IkjfvCvduAFEjqWRh69W+RszFefx/po39gnOZNvaLvCG67pid+CDLFRiIfpqm65577rGBAwfaZZddZlu2bHHTgKkK5mSSF8qBKVEQidJSUy0tLSpydAAAAIAvKD7QhVgA2V8wlfgVAID0SGDEkNq1a9ujjz7qpqrSVFaadisnpqrS1Fs7d+5zna1Io84fHUAAAAAgdCI5PvALjVhMSChIO/usjYlfAQCI4gTGkCFDwr0LvqCFvPXlV3T4AAAAAADRhDgWAAAfJDAQ2SXiGpkSKVNGbdu+j6oLAAAAIEwiKT7wO9rZH22sCo/t2/cSxwIAkAkSGD4wY8YM69evn61atSpsJeKRsIi3t2h3XFweOn4AAACIWBUqVHBr0bVs2dL8SPEBi3gD2Vu8mzgWAIDMkcDwgRtuuMHq1KkT1n1Q8iJl09qw7gMAAAAQDebNm+fWo/Oz5M27bM3GHeHeDQAAAEQ5Ehg+UKBAAfcFAAAAIPKVKFEi3LsAAAAARIW4cO8Ajiwnnz59urVq1coqVapkTZs2tTlz5gQeHzt2rHXo0MF69Ohh1atXt6efftpNIaXXefbs2ePur127tlWrVs09f/ny5YHHFy9ebO3bt7fKlStbvXr1bMCAAbZ7924+CgAAACAE1HdXH162bt1qDzzwgNWsWdP1z9u0aWPfffdd4LlLly61du3auX79ZZddZvfff7/9/vvv7rHk5GS3rQULFgSen9l9//znP61x48Zu+/r+6quvWlpaWuDxWbNmWZMmTVz8ocrugQMHWkpKCucCAAAAwo4ERgQaMWKENWvWzN577z27+uqr7b777nNJB8/3339vxYsXd4937NjxiNd3797d5s6d6+bVVTBy7rnnWufOnW3Hjh22cuVKu+OOO1xg8v7777v3+umnn9zjWmwPAAAAQOg8+eSTduDAAZs2bZp98MEHdt5551m3bt1s7969lpqaavfcc49LXKjvPmXKFJe8eOSRR7K8/bfeesuGDRvmYoqPPvrIxQqTJk1ycYAoPnjsscdcYuTTTz+1QYMGuTjjpZdeysWjBgAAALKGKaQikBbzU4WE9OrVy43AUkCjiguPRml58+YGJzd+/fVXl7x4+eWXXQWGFxQlJCTYtm3b3P1XXXWVde3a1T1WpkwZe/bZZ+3aa69176ORX9EuPt7feTnv+Px+nJGENqfN/Y5znDaPBZzntHek+u2336x8+fJu0JGmhX300UddFXZ8fLyrklYf/owzzrBzzjnHPWf06NGuaiOrXnjhBbv33ntdhYVoG9quqrAffPBBV7GhRbe1/bPPPtt9KWY47bTTcvGoAWQUq/Ed/59pY7/gXKaN/SI+Aq87ksCIQBmTCCoX//rrrwM/FytW7KiL/q1evdp9r1q1auC+U045xfr16+dur1ixwtavX++2mdGaNWt8kcBISChosSBWjjOS0Oa0ud9xjtPmsYDznPaONKqMePjhh131Q40aNdwgpBtvvNH14fV11113uelhn3vuObviiitchbamgcqKv//+2zZt2mQjR460MWPGBO7X9FGq+lDyQpXZig1uueUWS0pKcoOdrrnmGqtYsWIuHjWAjGL9/1OsH38o0Ma0s19wLsdeO5PAiEB586b/WFQ6Hhf3f1mvYy3YnfG1GSlY0YgurwIjWGJiovnBzp37LDX1/+b09RtlQPVHxO/HGUloc9rc7zjHafNYwHke3vbW7UgaxRVJGjZsaP/5z3/c1zfffGOvvPKKjRs3zt5++20rV66cq8jWGhhfffWVzZ8/3yUzNL2TporNjGIHj7fOhQYz1apV64jnnnXWWZY/f36bOnWqG+g0b94896VYoXnz5m5KWgChEavxHf+faWO/4Fymjf0iPkTXHbMTH5DAiEDLli2zBg0aBH5esmSJXXLJJVl67QUXXBDYxpVXXuluHzp0yK677jrr3bu3C4J++eUXK126dLrKi+HDh9tDDz101MqOaKJfrkOH/N/xi5XjjCS0OW3ud5zjtHks4DynvSOJFsrWdK5a/+6GG25wX/v373dVEF9++aWbRkoLbmvNi7Zt27qvRYsWuYSG1q4oWbKk246mhPKsW7cuXeW2Bilt2LAhXf//448/tn//+982dOhQlxhR7KBKkIsvvtjuvvtue/HFF238+PEkMIAQivX/T7F+/KFAG9POfsG5HHvtTAIjAilIOf/8813ZtkZerVq1ygYOHJil12rRPyUrNKet1r5QUDNx4kRXIn755ZfbmWee6dbX0OMdOnSwnTt3utsKlLQeBgAAAIDQUPWDkgcLFy60/v37W/Hixd16dlrAW9M6FS1a1C28rb66Eguqyp45c6YVKVLExQuFChVya1coflBffvv27W6qKK1pIfrepUsXGzVqlFvbom7dui62UJygaaL0/vny5bPnn3/erXmh+3bs2OGSJ5lNOQsAAACEGgmMCNSmTRubMmWKW8/iwgsvdIvo6XtWDRo0yIYNG+YW5dOoripVqrhtaPSVvlRyrsCmRYsWduqpp7pKjT59+rgABgAAAEDoKLmgqZq00PauXbtcYmLEiBF26aWXuscnTZrkqjRatWrlpofSWneaZspbZFv9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WaVKlaxx48a2ePFid1+9evWsevXq1r17d9u/f3/gNceLQXbt2mV9+vSxSy+91K644gp75ZVXjnhfvUf79u2tcuXK7n0GDBhgu3fv5vMCAABAxCGBcRwKGObOnWuDBw+2WbNm2bnnnmudO3e2H3/80Tp27GjlypWzt99+28aMGePuU0IiNTU18PoXXnjBbrjhBvvggw9c4qB37942fvx4Gz58uPu+bNkymzRpUrr3HDJkiPXv398FLnnz5nUBigIR6du3r61YscLGjRtnn376qQtYtF96rkfvr+0/+uij9uGHH1r58uVdEKNkjAKUxMREe++99wLPX7t2rf3www92880359R5BQAAACALRo0aZXfddZfrnxcuXNi6du3q+vkaCKUYRAOQ3nnnHffcpUuXHjcGUfyi5ynWUPLiyy+/TDd4aeXKlXbHHXe4AVHvv/++jRgxwn766ScX42jxbQAAACCSsAbGMfz6668uefHyyy+7Cgx58sknLSEhwV566SU3YkqJBrngggts5MiR1qxZM5s3b55dffXV7n4lDJo3b+5ut2rVyubMmWM9evRwo52kVq1a9vPPP6d7XyUbvNcroNA2PvroI2vTpo1dddVVdtlll7n3lqSkJJs2bZqtXr063TYUuKg6Q7p16+aCID1HVSTaRwVIul+UANGIr7Jly1o0io+PrTycd7yxdtzhRJvT5n7HOU6bxwLOc9o7UmkQkSq1Rf30p556yh5//HErU6aMG4ikuMOLFyZPnnzMGESDrfR9ypQprgJDnn32Watfv37g/RTbKKZQokT0PnqOKsC/++47V9UBxLrgWIu4KzRtTTvTxtGOc5k29ov4CPy7TALjGLykgKZy8pxyyimu6kFVFer4B1OFhUZNrVq1KpCAKF26dODxggULuu+lSpUK3FegQIHAFFKe4KDh9NNPt/POOy+wLyov//zzz23mzJm2bt06++WXXyw5OdnOP//8dNsI/vm0005z3w8ePBgIkhT8aLSWEikaedWlSxeLVgkJ/2vXWBOrxx1OtDlt7nec47R5LOA8p70jTVbihZSUFHdbMcGxYhBvWlkNTvIUL17cJTY8quZev369G9iUkaauJYEBpP9fwf+N0KCdaWO/4Fymjf0iIYKuO5LAOFbj5D168xytvFr358uX75jbyJMnz7E/lAyvUTl4XFycpaWl2T333ONG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nFOhQgWbPn26tWrVyipVqmRNmza1OXPmuMf+/vtvq1ixos2aNSvda5599lm7+eabrW/fvq7Prr67tuPZs2eP9evXzy699FKrUaOGe97evXsDj69Zs8a6du1qNWvWdI8/8MADtnHjxsDjigdGjBhhjzzyiNtG9erVrWfPnrZ7924+egAAAIQdCYwol5qaap07d7aFCxfa8OHDbcaMGVa+fHm78847benSpcd9vZIZ1apVs8aNG9u7774bkn0GAAAAYpWSBc2aNbP33nvPDUC67777bPHixZaYmGj16tVLl8BIS0uz999/31q2bGmPPvqo67Or7z5v3rzAcz777DM744wzXBygKaY+/vhjmzRpkntMiYrWrVtb/vz57dVXX7XJkyfbn3/+aR06dEiXoJgyZYoVL17cxQOKKZRU0X0AAABAuLEGRpRT8PLTTz/ZBx984BIXomqMZcuW2csvv2xly5Y95utPP/10y5cvnxUoUMAFTdEiPj52c2/escdyG4QabU6b+x3nOG0eCzjPae9IoWRE+/bt3e1evXq5iopp06a5ygdVWnTr1s02b95sJUuWtPnz57vKjBtvvNEKFy7s+uzqu5coUSKwPVVg9+jRw90uVaqUXXXVVbZ8+XL38+uvv26nnnqqS5ooiSHPPfecXXPNNS6B4u2HYoaHHnrI3S5TpozbxpIlS0LeNkB25HY8xP+N0KCdaWO/4Fymjf0iPgKvO5LAiHKrV692wYyXvJA8efK48m8lN46XwIhWCQkFLdbRBrR5LOA8p739jnOcNvc7zvEjaSqnYKqo+Prrr93tunXrWrFixVxy4e6773ZTRinZUKRIkaO2sRIOwfRcb4ooxQqalspLXoiSH+edd557zHP++een24bii507d2bz0wb8+feFv2OhQTvTxn7BuUwb+0VCBF17JYHh04X8dH/evJl/vIcOHbJot3PnPktNTbNYpAyo/ojEchuEGm1Om/sd5zhtHgs4z8Pb3rodSaO4wiljH11TwsbFeSPd4q158+auulrTPM2ePdvGjBlzzO3pNdmNFTQ1lSo5PMEJDiBa5HY8xP+N0KCdaWO/4Fymjf0iPkTXHbMTH5DAiHJawG/Xrl1uBJVXhaFAZdGiRa76QoGJFvYLtn79eot2+gU6dCi2L97TBrR5LOA8p739jnOcNvc7zvEjaarXBg0aBH7WVE2XXHJJ4GdNI6U1LF577TVXCVG7du10ldbZjRW0hkZKSkogSfHXX3+5eKBdu3Yn9JkCsfb3hb9joUE708Z+wblMG/tFagRde2UYVJRTQHPRRRdZz5493fy5a9assaeeesolNG6//XarWrWqbd++3a2HkZycbG+++abNnTs33TYKFSrkysw3bdoUtuMAAAAAYoEW01aFxdq1a23o0KG2atUq12/3aHonrYfxwgsvuMW+gysstJ7Fli1bbMOGDVl6r7Zt27rBTA8//LCtXLnSli5dag8++KAVLVrUmjRpkivHBwAAAOQkEhhRTgHN5MmT7eKLL7b77rvPjdj6+eefbcqUKS55ccUVV9j999/vnqMgRfPrPvDAA+m20aZNG5fwuOmmm1wJOwAAAIDcob63+urqey9cuNANNLrwwguPWOh7//791qJFi3T3a3qpffv2uUW9tdD38SQlJbkFwrWeRevWre3OO+90a2C88cYblpCQkOPHBgAAAOS0PIePNjEqkA1bZo22lK3Jud5m+Ysl2RnNu9u2bXsipowp1PLmjbOiRQvFdBuEGm1Om/sd5zhtHgs4z8Pb3omJhVgD4/9P6TR48GCXoDiWsWPH2jfffOMSDdFqxPRFlrx5V7h3Az6UVLKw9WpfI9fjIf5vhAbtTBv7BecybewXeUN03TE78QFrYOCkKQempEKopKWmWloaeTcAAAD4i9ax09RSU6dOddPCRnN8oAvMQG7Oy01MCABAbCCBgZOmxQRze2X6YOqo0lkFAACA33zxxRduyidNC9u4ceNw707UxAexSCMWExIKxmw7ExMCABA7SGAAAAAAQAhowe5j6dWrl/sC8D8kKgAAAAkM5EiJuEb/hHIKqW3b91GFAQAAAESgUMcHsczv7azqku3b9xL7AQAQw0hgIEdKxEO9iHdcXB46sQAAAEAurcWhJMSll156wvEBi3gjpxbrJvYDACC2kcBAjlDyImXTWloTAAAAiHLt2rWzwYMHn3ACQ5I377I1G3fk6H4BAAAg9sSFewcAAAAAAAAAAAAyIoER4SpUqGBvvfWWGwVVqVIla9y4sS1evNjdV69ePatevbp1797d9u/fH3jNO++8Y02bNrXKlStb1apV3WuXLVvmHnv11VetWrVqtm/fvsDz09LSrG7dujZ9+vSwHCMAAACAzGOB5557zurXr2+1a9e2devW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VJEiRWzu3Lku+aDERq1atey3336zp59+2tauXWtjxowJvHbUqFHudWXKlLG+ffta165drWLFijZx4kT33J49e9o777xjHTt2tEgXHx/beTfv+GO9HUKJNqfN/Y5znDaPBZzntDfM1q9f76airVu3rg0cONDi4uKyHE8A4RDOmIf/G7SzX3Au085+wbkcu+1MAiOKFChQILAWhjet1Pjx461Vq1bWpk0b93OpUqVswIABdvvtt7sF+5KSktz9N998c2AUVrNmzeypp56yxx9/3CU0ypcvby+99JL9/PPPFg0SEgqGexciAu1Am8cCznPa2+84x2lzv+McjxyKDVR1cfXVV7sEhRbazk48AcTq35BI2IdYQDvTxn7BuUwb+0VCBP3/I4ER5VasWGFLly61d99994h1MlQe7gUcpUuXDjxesGDBQHASnByJljLxnTv3WWpqmsUqZUD1RyTW2yGUaHPa3O84x2nzWMB5Ht721u1IGsUVi5588kk7ePCgnXXWWYHkRXbiCSAcwhnz8H+DdvYLzmXa2S84l/3VztmJD0hgRLm0tDS76667rEWLFsdc/Dtv3iM/apWMRyP98hw6xIV72oFzLxZwntPefsc5Tpv7Hed45FC8oMrrIUOGuHUudDs78QQQq39DImEfYgHtTBv7BecybewXqRH0/y86r2DHsODRUlKuXDk3P60qLLyvTZs22bBhw2zPnj1h208AAAAAkaNJkybWrl07tw6e1rvwFvAmngAAAEAkI4ERZU499VT3ffny5bZ//37r0qWLffrppzZu3DiXyJg/f74LSLTYNyOmAAAAAARXYGv9i1WrVrk18IR4AgAAAJGMBEaUueKKK6xKlSpukb0vvvjCGjVqZKNGjbLZs2db06ZN7eGHH7batWu7hAYAAAAABFPFhZIWihd++eUX4gkAAABEtDyHvRXagJOwZdZoS9manKttmL9Ykp3RvLtt27YnYuZgC4e8eeOsaNFCMd8OtLm/cZ7T3n7HOU6bx9o5nphYiEW8Y8yI6YssefOucO8GolRSycLWq32NsMY8/K+mnf2Cc5l29gvOZX+1c3biAxbxxklTDkyJhVBIS021tDRybgAAAEAkxwe6+Ayc7OKhxH4AAIAEBnJkYfGdO/e5DmZuUweWTiwAAAAQuUIZH8QqjVhMSCjo63Ym9gMAAEICA1GBzisAAAAA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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def get_top_words(df_subset, n=20):\n", " words = ' '.join(df_subset['text'].dropna()).lower()\n", " words = re.findall(r'\\b[a-z]{3,}\\b', words)\n", " stopwords = {'the','and','for','this','that','with','you','are','was',\n", " 'have','not','from','will','can','but','all','has','been',\n", " 'its','they','their','your','our','more','also','when',\n", " 'there','any','some','one','would','could','should','than',\n", " 'his','her','him','she','was','had','him','just','into'}\n", " words = [w for w in words if w not in stopwords]\n", " return Counter(words).most_common(n)\n", "\n", "spam_words = get_top_words(df_clean_eda[df_clean_eda['label'] == 1.0])\n", "nonspam_words = get_top_words(df_clean_eda[df_clean_eda['label'] == 0.0])\n", "\n", "fig, axes = plt.subplots(1, 2, figsize=(16, 5))\n", "\n", "for ax, data, title, color in [\n", " (axes[0], spam_words, 'Top 20 Words in Spam Comments', '#DD8452'),\n", " (axes[1], nonspam_words, 'Top 20 Words in Non-Spam Comments', '#4C72B0'),\n", "]:\n", " words_, counts_ = zip(*data)\n", " ax.barh(words_[::-1], counts_[::-1], color=color, edgecolor='white')\n", " ax.set_title(title, fontsize=12, fontweight='bold')\n", " ax.set_xlabel('Frequency')\n", "\n", "plt.suptitle('Word Frequency Analysis', fontsize=15, fontweight='bold')\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Data Preprocessing\n", "- Drop rows with missing `text` or `label`\n", "- Drop empty strings\n", "- Stratified 80/20 train-test split" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Clean dataset shape: (109647, 2)\n", "Train samples : 87,717\n", "Test samples : 21,930\n", "Train spam % : 49.2%\n", "Test spam % : 49.2%\n" ] } ], "source": [ "df = df.dropna(subset=['text', 'label'])\n", "df = df[df['text'].str.strip() != ''].reset_index(drop=True)\n", "df['label'] = df['label'].astype(int)\n", "\n", "print(f'Clean dataset shape: {df.shape}')\n", "\n", "X_train, X_test, y_train, y_test = train_test_split(\n", " df['text'], df['label'],\n", " test_size=0.2, random_state=SEED, stratify=df['label']\n", ")\n", "\n", "print(f'Train samples : {len(X_train):,}')\n", "print(f'Test samples : {len(X_test):,}')\n", "print(f'Train spam % : {y_train.mean()*100:.1f}%')\n", "print(f'Test spam % : {y_test.mean()*100:.1f}%')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. Shared Evaluation Helper" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [], "source": [ "results = {} # Store all model results for comparison\n", "\n", "def evaluate_model(model_name, y_true, y_pred, train_time, inf_time):\n", " \"\"\"Compute metrics, print report, plot confusion matrix, store results.\"\"\"\n", " acc = accuracy_score(y_true, y_pred)\n", " prec = precision_score(y_true, y_pred, average='macro')\n", " rec = recall_score(y_true, y_pred, average='macro')\n", " f1 = f1_score(y_true, y_pred, average='macro')\n", "\n", " results[model_name] = {\n", " 'Accuracy': acc, 'Precision': prec,\n", " 'Recall': rec, 'F1': f1,\n", " 'Train Time (s)': train_time, 'Inference Time (s)': inf_time\n", " }\n", "\n", " print(f'\\n{'='*50}')\n", " print(f' {model_name}')\n", " print(f'{'='*50}')\n", " print(classification_report(y_true, y_pred, target_names=['Not Spam', 'Spam']))\n", "\n", " cm = confusion_matrix(y_true, y_pred)\n", " disp = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=['Not Spam', 'Spam'])\n", " fig, ax = plt.subplots(figsize=(5, 4))\n", " disp.plot(ax=ax, cmap=plt.cm.Blues, colorbar=False)\n", " ax.set_title(f'{model_name} — Confusion Matrix', fontweight='bold')\n", " plt.tight_layout()\n", " plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 6. Model 1 — Multinomial Naive Bayes\n", "\n", "A fast probabilistic baseline using Bayes' theorem with the naive assumption of feature independence." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Training time : 21.31s\n", "Inference time : 3.6561s (21,930 samples)\n", "\n", "==================================================\n", " Multinomial Naive Bayes\n", "==================================================\n", " precision recall f1-score support\n", "\n", " Not Spam 1.00 0.99 0.99 11145\n", " Spam 0.99 1.00 0.99 10785\n", "\n", " accuracy 0.99 21930\n", " macro avg 0.99 0.99 0.99 21930\n", "weighted avg 0.99 0.99 0.99 21930\n", "\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAcAAAAGACAYAAAA6fbIfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAP5tJREFUeJzt3QV0FNfbBvA3kOBugQAJUAjBghQtFPcWirsU9yAt9geKFgnQYqVoW6TBi5UCxVtcC5Ti7g5FA0n2O8/lm+1usglJ2GSX3Od3zp5kZ2Zn78zO3PfazLiYTCaTEBERaSaeoxNARETkCAyARESkJQZAIiLSEgMgERFpiQGQiIi0xABIRERaYgAkIiItMQASEZGWGADfcyEhIY5OAhHRe5l3MQDaQcWKFSV37tzqVblyZat5N2/eNM/Da8CAAdFe/6xZs8zTrl27Jn5+fnLw4EHzNKwby7Vr106cka3tiIyWLVuqz3311VfhLvPLL7+Y9/GOHTus5mFfGfPwf2ykObosjxXjlT9/fvnoo4+kZ8+e6nii/+BGVqtXr5YWLVpI0aJF1b6qVq2ajBs3Th49ehTj3+3v769+G+N779y5Y9fvcMQ5fc3ifMHrf//7n9X8VatWWc3HuRcVz549k4kTJ8qcOXMcfg4yANrZ1atXrTLZPXv22Psr1Ilds2ZN2bhxozoJDSlTphR3d3dJkyaNOKP06dOr9CVNmjRGv2fkyJESGBj4XqU5tFSpUqnvzZAhg/ru+/fvy4YNG6Rt27by+vXrWE2LswoODlaFgn79+smBAwfk5cuX4ubmJpcuXZIffvhB6tWrp/ZbTNm7d6/MnTtXfUfChAnl6dOnkjZtWrt+hzOc03v37o3wfVS1bt1aBbPInqMxeQ662n2NGsPJh8wJQa9hw4ZWB4sxzx6wHlsHz8CBA9XLWS1ZsiTWCiEzZsxQmeP7kubQUNv95JNPzO+3bdsmnTt3lgsXLqhj6uOPPxbdzZw5UxUC48ePr4Jg06ZNVSBCQaFv375y/fp1VRNELS0m3L59W/3F9+/evVt9t705+px2c3NT+/Hy5cvi5eVllzwNBQVnOQdZA7SjAgUKhKn1GQeLr69vuM0Mf/31l1XGh2lo9rMFnytTpoz5fatWrczL2mouMb7j8OHDMmTIEClWrJh8+OGH6qR6/vy51brRnNq+fXu1TKFChaRJkyaydetWm80RyGSQVqyrZMmSMm3aNHn16pWMGTNGSpQoYfM7bDVl/P333yq9WAeakcqVKyfDhg2L8kkSGppXUBOIyK5du6RZs2Zqe/Hbofn6m2++sTqpLdOMDC9v3rw2m1nR/IXp33//vXqPAgoy3rJly6rtqlGjhsyfPz/a24P1uLi4qP9R0zGg9oH9bHwP9n2XLl1UoATUhJAuNA/i9zFs2bLF3LxqNBWePXtWOnbsKIULF1Yv/C7Hjx8Ps8/Q3IjvwTFSvXp1tW9i+576+I1++ukn9T+O088//9wcgJAmFBaqVKkiBQsWtPrc5s2bpXnz5lKkSBH1Qo360KFDVssYv/nvv/8uEyZMUE2c2NYePXrIvXv3zOda//79zTVRnN+YFpXzGvu2Q4cOav34PI4/HDOWhdvwmkDttR1RzdNwTqEZPlOmTKp1IqrnFNJ08eJF9T/yDKQPpk6dqv7v3r272lf43XDO4Ji1PAexr1G5wHsc80Y+MXr0aDUN22esPzIYAO2oePHi5qCHDAGZEDLNjBkziqenp12+w9XVVTUJGFKnTq1eb4MS8cqVK9UBhYMG7fZGZg04SRBM//zzT3nx4oVK/5EjR1RmumDBgjDrGzFihFoHDuyHDx+qA/izzz5TmTym2fqO0JB548TduXOnytSTJEkit27dkkWLFsn48eOjtX/SpUsnHh4eajvRFBqeM2fOSKdOnVSmgZMKpVnUHFGr+PHHH21+Bs0wRs3r119/NU8/duyYyhjixYsndevWVdOQyaB57O7du6rpBifl119/rfo+ogqFCAQy/CbJkydXwcfQrVs3tZ+xLzHv8ePHqtCC6YDfBNv25MkT+eOPP8yfQwEGKlSooJpbkX7UoBDYMTgB24LfBZnsyZMn1bKnTp1S+wzNjdi/CDjYLmwTMrPYdOLECbWtgEAXGrYfaUL6DfPmzVPTUdDDb45tQIaN4x4BJTTUHrHfcT7ghXMEGa3RNImX5bFh+f5t0FfYpk0b9ZvgXMGxj+MPx8zQoUMj/Kw9tyOyeRpquJYFegS46JxTyLuQhwHOC+w3S9u3b5elS5eqzyLPTJAggdV81LbHjh2rjj3krVOmTFEFDSOP+vLLLyV79uwSWQyAdoQmAvygyIxOnz5tLjXZOliiC8EUgcwwefJkdRC8DU4wnGw4gPPly6emGbUYnECodeGgRYlt//796uRq3Lixmo9SaejO/USJEqmDFSeG0e+B0u/y5cvVZ40TZ9++feGmCZlnnjx5pHTp0ipd+F4EREDwjQ6cGIMGDVL/IwP/7bffbC6HJh2Uuj/99FOVoSPNKHG+7bsbNGig/iKjQWYCa9asUX9Rwsbvg32CfYt+m02bNql9gN8MJzUygsj0S/Xp08dck0BtDCV4/IbfffedpEiRQi3z4MEDVfj54IMPVEDD8YamX0DhCwECv0358uXVtPXr15t/b6NmX6dOHfUXwQJBslatWmp/4IXaCWojxvGFTBaFG9Q4sL+wXThu0CKBbYtNN27cMP+P2sjbYJ8bhSrUUJB+HG8oAAQFBalaR+huBbxHEyuWQy3E8pxBrdsY0IZMGudWVJoq0SKD/Z05c2aVFhz/06dPV4UbFEjCq1HbezvexvI8RpqMPM2YHtVzCs2ZWbNmVf8bBQBLOL5wrOOz4QVpHO84P2DhwoXqfxTacP5ZFngig32AdoZgh9oBDmgc5ICDOnTzRGyrX7++uSMdTQcoQWM0FiCdRqaMkxoZLeCENmqNOGGMfk2j1I3aFuTMmVN9HttuBFc0YeCEi6gpE81yKM3iBEVz0NGjR80B00hbdCCI40RHJo8mWVujzZB+vJA+pBMnqFHTiei7EUwQVLC9WD+a24zAgn0MRiaBDA6ZlAEnKQoZyBzwuYggE0QwR6aD/Y9mStQER40apWrVWbJkUb8n/sd6UfpGyRmFEgO2A7USBG0EYqQXQRvpw3bj8zgWLEv2yJCMkcxGk6mR+aGwYhwvyGiQ4eA3RxpCl9QN2Df4Dd4FCnkoBFiyDBCRaX7FfkHminSi6RIBGy8UltC/it8T21WqVCnzZ5B5G5m1cTy9y3FpKVeuXKomhP41nFdoWcD5gAKMcf45w3Z4eXmppk4UgP/55x91rhgBMHTrTnTPKUs45o2gGdGAIgykQTM+vgf7EK0fCJhGN0FkMQDaGQ4MBECUltE0BsgkIhsAkUHGBMtm0sSJE1tlHEbww8GDEqnlcghyKG2HrrUggzYYpX/LA9boj4noWh9kxsjQ165dq4IgTlKjGeld+5TQ34lMHSeurRoyak9oakJmgH2eI0cO83ZE9N1YBs2KaFJCupFe9KfgrxE4jD41ZFTGQAlLaOaN6iAYlK7RP4dAh3n4fsDf2bNnm2uDRp+K5b5H5mpkYshAkVECSurGNhtpRq3RaFo0IPNCMEfAQzBDkxYyN6NUj2MBg1CMAkDo39jWPogKy75Lg2X/E/qkQjd7oQaMGpG3t7d6bxy/aIJD64UBxzuOe/zmofvFIjpnoir0eY1aDGrzCO4ILGhexu+I4IdmRPRh2uKI7Sj+/3kaWi9wnKGVyxgQY49zyhIKZWjmfBtsa6NGjcwBGX3ZkWkJCI0B0M6MpgE0vyEDwomaLVu2MMuhj8XWCY6M5m2iWsoBo93d1ueNmhwOUpSmjNIiMi/jZLLsdwRbB2lkDlxLyADQZOrj46MyVTQfLl68WA2MeVfoB0Q/CZqLbPWLoH8QfSFovsMyOPHQl4WBIG+DGhUCD5o6jaHZCCZGLcjYVzgpV6xYYRVIojuUGxkOAixqs0bLAmpr6N9BpobaH2rdyPiNErTl74K+SexjXDNnXDtq9FcaaUZBB8HVaEYyLiuw/F3RZIraK/o2UZNFZoeSOAoc2Jeh+3RwKQJe9oamNgQL1IqRBgRnS2jSXbdunapV/fzzz+ZjHOnGdhnBA832RuYc+hiP6JwJT1TOa7QmoHCMecjIcTyhxeXbb781D4wJLba2w1YAxP6MqEsnsudURGmI7Eha1DIxuMaAVg0c2yicRgX7AO0MJVEcgEbp21ZbORj9OGBkaMiAIuozM1hmSDgQUNJ9F2heMmpe6GBGpoLaC0r7OIlxkmF0pr2hNgPIwHGyoBZi9KfZ4y4RGBlo1ADC+24EJNRgUCvDyRuZ70bpHaPNUGs1MgXLTN7IINDMbNS2EIQxMrZSpUrRqhGhdI1CFRhBxtgGZLooPOA3wwAig2Wp26idIT3IcLFfMKI1dJrxedQyUIJHrQ7HBv4axwa2GyMZ8XuhIIB+QsDyoWuOMQkZJQZ9GGlGkMOxit8O/xu/i9EUiEwZ5w2WQaEB+wrHudE8i3MWfZvvKrLnNUawYt+izxUBoXbt2mrglFFjCq+fOLa2w5JxbLwtT4vsOWUEZFt5V2QDNI5F7FcUCIw+bgwyi+qNCBgAY4DlARLewZIsWTJzCQ8lPpSqcXG70UQREQQr40Tr3bu3Ggb+LlBzGTx4sDr4kFEjzSg5o8Ma03AnCKPkaU/GiYqmNPST4uQ2mor//fffd14/TrThw4fbPKmM78bgAGwv+kaMyyYi893GYBgEGeNyAgMyXQzswTw0ZWH9GN6N9/je0LUkWzDKFv1zeGFd2DdoJjMCOxj9YqhZIrDieywvtbAMSKhBWh6LlrU/QDpRo0JpHU2mWBb7BhkUMmmjlotgixo6thGXrmDkKCAwoi84NmGfGoM/sL+MSwLwP2AbjACNlhjjutCAgAB1fGM+ao8IOsg8w+vHjIrIntdVq1ZV09Digm3A/kQNHwENox/Dq2XF1nZYQlOmZa0yvDwtsucU+q8Bxyq2M6rnOkaqL1u2TP2Pvk90oyA/xPGOloioYACMAZYHb0QjQNE8gKYO1LBQm+jatat5FGREkAlhuK/R5h2V4dfhQQkUA1KQ+RknKzJYNJsZo0HtDduKUrwRXDHIAvsEgQuZOgbFvCuclEawsoRaDZrzUFJFgETtDJkHnDt37q0lSTQzGoMVbDXx4bIQbB+aYlFCRx8NmmQjO/wctWHUFPFC7Q+ZG2ptCOhG0EGacfIjw0StAIEVg5iMgUjG0HWDcQkHljWCmmUmh5oTavrYLpTYjd/f+ByCPJZBsMV+w3ahuRyj+bCcZfNfbMA+wchJ7AMEYKO5FscR9gOuG7NsUkPfGn4XnJNIK5ZHwQJD6O3ZwhGZ8xrHBWquOO8QXFAbwvmMYxXpQSANT2xthyUjH0Naw7vMILLnFNKPYxnnOQK6MZo6MtB6gcI6YFtRuECacJkXoI/bstvhbVxMsX0FKxHFOmSwyFxx6QlqlRhwQaQ7DoIhisOMO2kgAKKkjZI57vZDRAyARHEa+oPQP4ImVYxGxp19LO8kQ6QzNoESEZGWOAiGiIi0xABIRERaYgAkIiItMQASEZGWeBnEe+x1ULBcu/XQ0clwaq6u8SSLe2q5dvuhBAW9++3V4jKvzOHffZ/+g/sK8eLpt++j6Nx3NLZxFOh77OK1e5K31jBHJ8OpFfLJInsWDZBSTcfKX6euOTo5Tu3B/qmOToLTQ5aeyM1FXr42MQhGIKGrSLz3IACyCZSIiLTEAEhERFpiACQiIi0xABIRkZYYAImISEsMgEREpCUGQCIi0hIDIBERaYkBkIiItMQASEREWmIAJCIiLTEAEhGRlhgAiYhISwyARESkJQZAIiLSEgMgERFpiQGQiIi0xABIRERaYgAkIiItMQASEZGWGACJiEhLDIBERKQlBkAiItISAyAREWmJAZCIiLTEAEhERFpiACQiIi0xABIRkZYYAImISEsMgEREpCUGQCIi0hIDIBERaYkBkIiItMQASEREWmIAJCIiLTEAEhGRlhgAiYhISwyARESkJQZAIiLSEgMgERFpiQGQiIi0xABIRERaYgAkIiItMQASEZGWGACJiEhLDIBERKQlBkAiItISAyAREWmJAZCIiLTEAEhERFpiACQiIi0xABIRkZYYAImISEsMgEREpCUGQCIi0hIDIBERaYkBkIiItMQASEREWmIAJCIiLTEAEhGRlhgAiYhISwyARESkJQZAIiLSEgMgERFpiQGQiIi0xABITs0jQyq5tNVfShfJFaV52bOkk0XfdJK1M3rJyyCRXp9XleRJE1ktM6jzp/LwwLQwr+4tKtlMS4dG5eTo6uF23DpyViEhITJ14Rb5sN5wyVSmt5RoNEpmL90R7vK/7TgmaYr3kJ2HzsZqOunduL7j54liTGb3VLJ8SjdJmTxJlOalSJZY1nzvJ7fv/ytjZ62TsV/Ul4ol88oPY9pKQ7/p5uUKeGeRPw+ekRHfrbH6/NWbD8Kss16VD+Xr3vXk5p1Hdts+cl6DJ62UGYu3S5t6ZeST8r5y6do9GT1znVy5cV8m9K1vteyDR8+kz5jFDksrvccBsGLFiurvmjVrJFmyZFbzBgwYINevX5cFCxZEal0mk0lWrVolZcuWlbRp04a7DNa3YsUKuXjxori5uYmPj4+0bNlSqlevboctonfl4uIiTT4pLiN71hUXcYn0PEO7Bh9L6pRJpVyLceKZKbW4xhMZNX2NjOvbSEr45pB9xy6o5fJ7Z5aAX/fKwb8vhZuWdKmTqZri5/XKqIyO4r77j57K7GV/SMvPSsnEAY3N0zO7p5bmfWdJhwalxSuLu3n6l/5LxNU1voNSS+99EyiCnL+//zuv58CBAypovnjxItxlpkyZIrNmzZJOnTrJunXrZPHixVKiRAnp1auXCp7kePlyecg3A5rI4nX7pfPQeZGeZ6hYMo/s+eu8PHj8X8A6ePyi/Pv0hVQpnU+9T5MyqcrQjp++HmFa+rSpptbXst9s2bDzuF22j5zbuSt3JDg4RKp/XMBqepmiuSQkxCS/7z5pnvbLpkOyff9pGd7jMweklN77GiBkzZpVlixZompgH330UbTXg9rd2wQEBEiXLl2kZs2a5mm5cuVStcF58+ZJnTp1ov39ZB/Xbj1UfS837jwK078X0TyDdzZ3WbnpsNW0EJNJNV/l9Mqg3hfInUX9rfZxftW0mTF9Sjl5/oaMnL5WNu/+x/y5H1fslK8mr5Sg4BCpUdY6Q6S4KW3KZDabwtEMChf//++d+/9KP/9lMqZPfXFPl9IBKaU4UQOsXbu2lCpVSgYNGiRPnz4Nd7lHjx7J8OHDpVy5cuLr6ytNmjSRffv2qXn426pVK/V/pUqV5JdffrG5jnjx4snevXvl5cuXVtMHDx4sU6dONb/PnTu3/Pzzz9KoUSMpUKCA1KpVS7Zs2WLVST5z5kypVq2a5M+fX4oUKSLt27eXK1euWK0Dgb1Zs2ZqHTVq1JDDhw+raeXLl1efQc0zdFp09+jf5yrARXWeZR/gk2dh9+nT54HmgTDo/wP3tMnFb1SAtOw7W+4+eCqLv+msanyGs5dvq+BH+kAhqWTBHDJ29m/y67ajquXg2Omr6jhJmMBVnr94pZbrPWaxFCuQXRrXLO7oJNP7XANEv87XX3+tgsy4ceNk5MiRYZYJDg6Wtm3byuvXr2X8+PGSJk0amT9/vrRr107V6goXLqwCWI8ePWTZsmXi7e1t87vQ9DlmzBgpXbq0qm0WLVpUSpYsqYJVaBMmTJAvv/xSxo4dqwJq9+7dVVBE4MJ3z507V6UX34XAN2TIELXs9On/DbT49ttvZfTo0ZItWzbVPNu5c2cVMNEMi1rnF198odKLPsiocnWNJ4V83mTkcVVOz/Tmv8+ev4jUvPjx44l7uuRq36A2CPibNHECiRfPRU0/c/GmDJy4TPYfvaBqhzBm5lr5wDO9jOpVV7oOexImLWg2TeDmGmf3ue0eVT3NG9tOBbhW/eeo9ymTJ1bNnONmr5fEidxk0a/7VDP7nsX/U/vN2HeW/9N7wORgFSpUME2ZMkX9v3jxYpO3t7fpzz//VO/79+9vatGihfp/+/btat7p06fNnw0JCTHVqVPH5Ofnp97v3btXLXP16tUIv3PHjh2mzp07mwoVKqSWx6t+/fqms2fPmpfBtBEjRlh9rmHDhqbevXur/7ds2WLaunWr1fzx48ebKlWqZLUOf39/8/uFCxeqaRcvXjRPa9CggWnIkCFR2meW2x/XBQWbTC9ev/kb2XmY9ioo7PIvX5tMgTamW8Ln8HlbAiOYR3HTw3+fmf45d8P0MvCV6fXrIFOSIt1NnYYuNLmX+dL008rdahpeW/eeMiUq1E39DbJ1sJJTcooaoKFx48ayceNG1Rz566+/Ws07c+aMJE+e3Kpmh5ojanA7d+6M0vdglCheqE0eP35ctm3bpmp2aML8/fffJUGCBGo5DI6xhFrmrl27zKNXjx49KpMnT1Y1ObzOnTsn7u7/jQ4DLy8v8/+JEydWfz09Pc3TEiVKJK9evWlSiaprtx9Ko96zJC4r6OMpkwY1k24jA+ToqSuRmjdlcHN59iJQBk5crmp+88a0kc//95N8M7CpLF1/QOat3CklCuaQhG5u8sfB02EGvZQo+IE07vVfLd7Qv+MnUsjHU5r2+V7iom3z+zs6CU5jxe+HJHf2jJI/V2bJ7plY0EZw4MQVNQgmv7eHzFu9RzoP/1m9LNXsPFWyZkojxzS/XjSBq0g8F+evCztVAIRRo0applA0U0ZmgAumu7pGbjNOnTqlmkvR15gwYUJ1CQSaM/H68MMPVfPo6dOnVX8dhF4vmmHRhwhowvzuu++kbt26qv/y888/V32EGFlqyVbajHW8q6CgEPnr1DWJy5ImeVNoOHflbphtDW/e2u1Hxa9lFbl667++QlwvmCRxQlm0bp9atl3DclK7YiGZv2aP6leEJIkSSJF82WTr3pM29ytGlb56HRRn9/nbh5DpY8IPGyVvzkwyZ1Qb87Tpi7ap/uVa5QvKh/lyWO0vFMD6jF0i3wxoLMV9reeR83KKQTCWPDw8VF/Z8uXL5eDBg+bp6KN78uSJqglaBr9Dhw5Jzpw5zTXCt8EAFMvBLAbULvF5y+sHUTu0dOTIEcmX780w+hkzZki3bt1k2LBhquZaqFAhuXTpUqRGolLM+mH5TnkZ+EpWftddynzoLUEhIoO61JJNu07I/mMX1TJTF2xWBZFlk7uq0Z2fVigoq7/3k6SJE8qYWb/xJ9Jcx8blZOWmIzLxh43qZgnoD1y+8aAM7VZbvDzSSOG8nlavnF5vWn7wN29OD0cnn97XGiA0bNhQNmzYoJo2M2XKpKaVKVNG8uTJowaNYLAJAtXChQtVQBw6dKhaJkmSJOaaXurUqSVp0qRW68UF7xhxihogrj2sUKGCqqFheQxWQW0OAdiAyyJy5MihBq0sXbpU1Q4xWAeQLjSHoikUGenq1atV82m6dOlicU9ReBcy1+4yRUb3qa8CHwLgjv2npOvwheZlzly6LZ90/FaGdKst04a0EDe3+LLnyDmpOepndbkE6e3zuqXlZeBrdfuzb3/6XY0MnT2ytTSoVtTRSSM7ckFHoDgQAggCD0ZvWrp586ZqCkXQM+4E8+DBAzXqEn126DdDYOrZs6cUK1ZMzcc0jNTcvXu39OnTR40aDS0oKEj19yFgocaGfkD00+H6v9atW6tmUaPGiRGmuLwCQRbBEyNCjX7BEydOyIgRI1TwRKAtWLCgujwDNcKtW7eqQIp1oCm3Xr166jMYSTpw4EAVSA0Y/Zk5c2Y1ejSqcD1S3lrDovw5nWDE5p5FA6RU07FxtunSXh7s/+8yILINbUyJ3Fzk5WsTmzkjkPA96QN0eAB0VqGDlzNiAHw7BsDIYwB8OwbAuBUAna4PkIiIKDYwABIRkZacchCMM7DspyMioriHNUAiItISAyAREWmJAZCIiLTEAEhERFpiACQiIi0xABIRkZYYAImISEsMgEREpCUGQCIi0hIDIBERaYkBkIiItMQASEREWmIAJCIiLTEAEhGRlhgAiYhISwyARESkJQZAIiLSEgMgERFpiQGQiIi0xABIRERaYgAkIiItMQASEZGWGACJiEhLDIBERKQlBkAiItISAyAREWmJAZCIiLTEAEhERFpiACQiIi25RmahGzduRGmlHh4e0U0PERGR8wTAihUriouLS6RXevLkyXdJExERkXMEwNGjR0cpABIREcWJAFivXr2YTwkREZGzBcDQHjx4IHPnzpXdu3fL3bt3Zc6cObJ582bx8fGRypUr2z+VREREjh4FevXqValdu7YsXbpU3N3d5f79+xIcHCwXL14UPz8/2b59u73TSERE5Pga4Lhx4yRt2rSyYMECSZIkieTPn19NnzhxogQGBsqMGTOkfPny9k8pERGRI2uAe/bska5du0qKFCnCDIxp3LixnD171p7pIyIicp4L4V1dbVccX716xdGiREQUNwNg0aJFZebMmfL8+XPzNNQEQ0JCZNGiRVKkSBF7p5GIiMjxfYBffPGFNG3aVKpWrSolSpRQwQ8jQs+fPy+XL1+WgIAA+6eSiIjI0TVAb29vWbFihQp++/btk/jx46vLITw9PWXx4sWSJ08ee6eRiIjIOa4DzJYtmxr1SUREpFUARP/fypUr5eDBg/Lvv/9KmjRppGTJklKrVi1JkCCB/VNJRETk6ACIC+Fbt26tnhCRNWtWdU3gpUuXZO3atTJ//nz56aefJHXq1PZOJxERkWMD4NixY9XAl1WrVqlbnxmOHj0qPXr0kDFjxoi/v799U0lEROToQTAY8IKRoJbBDwoWLCh9+vSRrVu32jN9REREzhEAcfszNzc3m/PQF4hRoURERHEuADZv3lwmT54sd+7csZr+9OlTdYF8kyZN7Jk+IiIix/UBtmrVyuo9nvxQpUoVddeXdOnSyePHj+XQoUPqbjAeHh4xk1IiIqLYDoAmk8nqvXG7s6CgILl165b6P2/evOrv7du37Zk+IiIixwVAPPqIiIhIdH8aREQXyP/xxx/2XCUREZFzXAd4/fp1GTZsmOzfv189/siWkydP2iNtREREzhMAcaH74cOHpWHDhupv4sSJpVChQrJr1y45c+aMTJ06NWZSSkRE5Mgm0AMHDkjv3r1l8ODBUq9ePUmYMKH07dtXPSGiWLFismXLFnumj4iIyDkC4LNnzyR37tzq/xw5csg///yj/scF8M2aNZO9e/faP5VERESODoAZMmSQe/fuqf+9vLzUNYB3795V71OlSiX379+3dxqJiIgcHwDLlSsnkyZNkiNHjkjmzJklY8aM8sMPP6g7waAZ1N3d3f6pJCIicnQA9PPzkxQpUqjboQH6A+fNm6f6//BIpDZt2tg7jURERI4fBYpn/S1btsx8L9DatWur25/99ddf4uvrK8WLF7d/KomIiJzhifBGX6ChaNGi6kVERBSnb4YdETwsF02iREREce5m2PZaloiIyFF4M2wiItKSi4lVtvdWiEnkVbCjU+HcXEQkoatIYJAI2yYilrpMv1j6Vd5fhXJnlj3zekqp1pPlr9PXHZ0cp/XPiv6SPXNa0eppEERERO8LBkAiItISAyAREWmJAZCIiLQUrQvhHzx4IHPnzpXdu3erG2HPmTNHNm/eLD4+PlK5cmX7p5KIiMjRNcCrV6+q258tXbpU3fgaT38IDg6WixcvqvuEbt++3d5pJCIicnwNcNy4cZI2bVpZsGCBJEmSRPLnz6+mT5w4UQIDA2XGjBlSvnx5+6eUiIjIkTXAPXv2SNeuXdUTIXDbM0uNGzeWs2fP2jN9REREzjMIxtXVdsXx1atXYYIiERFRnAiAeOrDzJkz5fnz5+ZpCHohISGyaNEiKVKkiL3TSERE5Pg+wC+++EKaNm0qVatWlRIlSqjghxGh58+fl8uXL0tAQID9U0lEROToGqC3t7esWLFCBb99+/ZJ/Pjx1eUQnp6esnjxYsmTJ4+900hEROQc1wFmy5ZNjfokIiLSJgDeuHHjrct4eHhENz1ERETOGQArVqz41pGeJ0+efJc0EREROV8AHD16dJgAiBGhBw8eVH2CmE9ERBTnAmC9evVsTm/evLmMGTNG1q5dyzvBEBGRXk+DQPMo7wVKRETaBcCjR4+Ge5cYIiIiZxLlaDVw4MAw03AXmFu3bsmBAwekQYMG9kobERGR8wRADHQJDYNikiVLJh06dJDOnTvbK21ERETOEwBnz54tH3zwQcykhoiIyFn7AJs1ayarVq2KmdQQERE5awB0c3OT1KlTx0xqiIiInLUJtGfPnuLv7y9PnjwRHx8f9VT40HgrNCIiinMBcNiwYRIcHCx9+/YNdxneCo2IiOJcABw1alTMpISIiMjZAmCrVq1k6NChavRn3bp1Yz5VREREzjAIZv/+/fLs2bOYTgsREdH7eSs0IiKi9wUDIBERaSnSg2C6desmCRIkeOtyuC3a5s2b3zVdREREzhEA8+bNK2nSpInZ1BARETljDdDX1zdmU0NERBRL2AdIRERaYgAkIiItRSoA4uJ33gCbiIi06wMcM2ZMzKeEiIgoFrEJlIiItMQASEREWmIAJCIiLTEAEhGRlhgAiYhISwyARESkJQZAIiLSEgMgERFpiQGQiIi0xABIRERaYgAkIiItMQASEZGWGACJiEhLDIBERKQlBkAiItISAyAREWmJAZCIiLTEAEhERFpiACQiIi0xABIRkZYYAImISEsMgEREpCUGQCIi0hIDIBERaYkBkIiItMQASEREWmIAJCIiLTEAEhGRllwdnQAie2vZd7YcPX1Vjq0ZYZ5Wvf03svfohTDLbp3XVwrn9eKPoAGP9Cll9/w+0vx/82TXkf+OheyZ08pov1pSyje7BAWHyOptx2TY97/Jk+eBav7aqZ2kTOEPzMu/DBLZNren+X3qMv3CfFeyxAll1/zesvPIBek2eqnVvArFcsngjtXFJ7u73H3wVOas3C3TFv0RQ1tNEWEApDhlyW/75dftRyVrpjTmaSaTSU6cuyHdmlWUzyoXtlreO3tGB6SSYlvmDCll+cT2kjJ5YqvpKZIlkjVTOsrt+0+ky9dLJH3qZDK8a03x9EgjDb+Yq5b5cuJKSZ40kfo/l2d6mfNVYxn6/QYZ0K6qzFuzz+b3fe1XSzxxDFoEWiiaz1MW+7eRlVuOyug5G6Wkb3YZ3qWmuMaPJ5MWbo+x7SfbtAyAa9askYULF8qZM2fExcVFcuTIIQ0bNpQmTZo4Omn0Dm7efSQDJi4XjwyprKZfuHpPnjx7KVVK55NiBbJzH2sE53eT6kVkZLdPxcUl7Px2dUpJ6hRJpVzbyfLg8XM17cbdx7JsQjspUcBL9h2/LKcv3TEvHxQULFhNvcqF5O9zN2XA5DVh1lmlpI/Uqegrj5+8CDNvQNsqcuzsDek8aol6v2XfGXFzjSe9W1aUGUt3ystXQfbdARQh7foAly9fLkOHDpVGjRrJypUrZcWKFVKnTh0ZNWqUTJs2zdHJo3fgNypAKpTwkXLFcltNP3r6mvpbwDsz969m8n2QUb75sp4s3nBIOo98E3QsVSzhLXuOXTQHP9i6/4z8iwJTKR+b6ww2iXhnyyB9Jvwir4OCreahhjmpf30ZNv03efzUOgAmcIuvmlLX/fG31fTV245LiqSJVG2QYpd2ATAgIEDq168vDRo0kOzZs6vaX8uWLeXzzz+X+fPnOzp5FE3zV+2Wo6euyvh+jcLMO3bmmiRLklCGTF4pH1TuLxlL95KGPafL2Uu3ub/juGu3H8mHTfxl8LRf5XngqzDzvb0yyPkrd62mhYSY5MrNB5Iza/owyydK6CZBISKb9pySwyevhpnv3+szOXP5jvy4em+Yedk80krCBK5y7so9q+kXrt83N69S7NIuAMaLF0+OHDkijx8/tpresWNHWbLkTQmxYsWKMn36dGnXrp34+vpKlSpVZNmyZVbL432tWrXU/EKFCkmzZs3k+PHj5vlYx6xZs9R6CxYsqN5v3rxZvapVq6Y+g/Xfv//m4KfoQ2Y1eNIvMqF/I0mbKlmY+cdOX5OnzwMlVYoksmB8B5k8qJlcuHpXanb8VjWbUtz16MkL1aQZHtS8jMEulnC8GP1+lmqWyav+/rzuQJh5n5TNJzU+zid+Y5bZ/q5kb9b35PnLMN8FyZMmfOv2kH1p1wfYvn176d27t5QtW1ZKlCghRYsWlZIlS0qBAgUkRYoU5uUQADt37iyDBg2SP/74Q7766itJmjSp1KxZUzZt2iQjRoxQzab4/N27d2XkyJEyePBgWb16tdU6hg0bpqaPHTtW+vXrp2qc48ePl+fPn4ufn5/Mnj1bBgwYEK1tQV+EjW4NrWCAS48RC6XKR3nls4qFbe6fYd1qSY8WVeSjIjnfzCgsUtI3hxRvNEpmLt4uw3vUcUzinUyh3HG7iThn1nTmv8/+P+jEjx9P3NMmD7PtSRMnlHguLmGmN6xaROK5iCRJ5GY1L2WyxDJ1QEOZvXyXpE2VVL0SuLlKmpRJzMvl9sqg/n6QJZ1V/2A8rFBE3NOmiDO/QQK39yS0mDR05MgRU+/evU3Fixc3eXt7q1fVqlVNBw8eVPMrVKhg6tSpk9VnevXqZWrUqJH6f//+/abVq1dbzQ8ICDD5+PiY32MdPXv2NL/ftm2b+p6dO3eap2F+27Zto70dISHR/micMX3RdlOW8v1NN+8+Nr1+HaRe7QbPM3nXGKL+Dw4ODvezxRuNNtXqOi1W00uOExRsMr14/eavAe9fBYVd9uVrkykw1PTgkLCfN2BZvHBOGi8sazktvM8by74O/1ClGPKehGn7QvMjXiEhIXLq1CnZsWOHGhXaoUMHVbsD1A4tFS5cWLZvfzNMuVixYnL+/Hn57rvv5MKFC3L58mU5ffq0Wp8lL6//ri9LnPjN8GtPT0/ztESJEr1zE2ig5oPGVmw6IvcePZXsVf4XZl7yYj3ly7bVJLdXesmWJYMU881hNf/5y9eSOmUy7fehoXy7yRKXFcydWSb1ayDdxi6Xo6evq2lTBjSUZy8CZaDFaE7U/NZO6yxLNx62usyhec1i0rJWcUmY2FVafxUgZy7/13doXBcYaD0mRkJMb6b18l8u/5y/Jeund5UZS3fJko2HzcvgesDvBzeR7hbpet8tH/+5uvTE2WkVAG/duiUzZ86UTp06ScaMGVV/YN68edWrcuXK8umnn8qBA2/a9l1drXcNghuWh7Vr16pmS/QBFilSRF0+gUsq0CxqKfQ6jGHZ9mL6/5fOvh3YVJ6G6lMZN3u9HD11RQImdpJM6VNKjQ7fSsZ0KWX9nD7mZTBg5sK1u9KzdRXt96HhrziS+YYnaZI3fWznrt4zb+vaHX+LX7NycvX2I7n/6JmaVrlkbkmSKIEsWn/Iap/0a1NFTl+6LcXzZlbBz3JehXZTwnxfwLjP1QjkcT9slnNX7srTF4Gy668LUiSvpwycsta8nHHJxNKNR+RF4GuJC169fj9K5loFwAQJEqjBK5kyZVKDUywZ/X/p0r3pJ7Ac0AKHDx9WgRIwuAWjSIcPH26ev2XLFnOflD2DHEUsVzb3MNPSpEwqbm6u6g4v+CUGd6op7b9aIJ2HzpfGNYvJ1ZsPZczMX6WAdxZp+ol1TZ/08sOqPdKx/key8tsOMu7HTZImRVJ1ITxGee7/+7LVsnlzZJRjZ66rABjaX/9/qY2l16+D1OUVlvMmzNsiqyZ1kB9HtlADaYrn95IeTcvJ8Bnr40zwe59oFQDTpEmjBsFMnjxZnj17JtWrV5dkyZLJuXPn1IAVY1AMrFu3To3eLF26tBq5iabRGTNmqHkIoAiIJ06ckOTJk8vWrVtVEyq8evVKEibkaC5n0rxWCYnv6iaTF2ySFl/OliSJE8gn5QvK0G611SAI0hdqfbX9ZsronrVl1ldoTQhUt0IbMm1dmGXTp0lmc8RoVPx5+Ly0GrxABratKgtHt5ab9x7LV9N/k+8W81ZojqBVAIRevXpJtmzZZOnSpfLzzz/Ly5cvxcPDQ2rUqKGaRg1169ZVQQ+jN7H8pEmTpFy5cmrekCFD1KjQFi1aqFqlj4+P+Pv7q9GlqDkaQZQcY/qwlmGm1a1SROpUKeKQ9JBzwP0/bd238+TF21K31+y3fj5z5cFqlGbb2pE7vws2HGtz+ro/TqgXOZ4LRsI4OhHOBtfsIQD26NFDnBk62F+F6nQna2gCTej6ZrAQD/SI2QoOZA0BcM+8nlKq9eQ432f6Lv5Z0V/dZNzZsf2HiIi0xABIRERa0q4PMDIwqIWIiOI21gCJiEhLDIBERKQlBkAiItISAyAREWmJAZCIiLTEAEhERFpiACQiIi0xABIRkZYYAImISEsMgEREpCUGQCIi0hIDIBERaYkBkIiItMQASEREWmIAJCIiLTEAEhGRlhgAiYhISwyARESkJQZAIiLSEgMgERFpiQGQiIi0xABIRERaYgAkIiItMQASEZGWGACJiEhLDIBERKQlBkAiItISAyAREWmJAZCIiLTEAEhERFpiACQiIi0xABIRkZYYAImISEsMgEREpCUGQCIi0hIDIBERaYkBkIiItMQASEREWmIAJCIiLTEAEhGRlhgAiYhISwyARESkJQZAIiLSEgMgERFpiQGQiIi0xABIRERaYgAkIiItMQASEZGWGACJiEhLDIBERKQlBkAiItISAyAREWmJAZCIiLTEAEhERFpiACQiIi0xABIRkZYYAImISEsMgEREpCUGQCIi0hIDIBERaYkBkIiItMQASEREWmIAJCIiLbmYTCaToxNB0YNfjj9exFzwcuG+iozLN+7zVHyLBG6ukjlDSrl+57G8eh3E/RWOLO6pxM01vjg7BkAiItISm0CJiEhLDIBERKQlBkAiItISAyAREWmJAZCIiLTEAEhERFpiACQiIi0xABIRkZYYAImISEsMgEREpCUGQCIi0hIDIBERaYkBkGJcxYoV1evp06dh5g0YMEBatmwZ6XXh4SUrV66U+/fvR7jM/Pnz5bPPPhNfX1/58MMPpXnz5rJhw4ZobwPFDWvWrJFGjRpJoUKFpHDhwlK/fn1ZvHixo5NFDsIASLHi+vXr4u/v/87rOXDggAqaL168CHeZKVOmyKxZs6RTp06ybt06lcGVKFFCevXqJatWrXrnNND7afny5TJ06FAVAFGIWrFihdSpU0dGjRol06ZNc3TyyAFcHfGlpJ+sWbPKkiVLpHr16vLRRx9Fez2ReXxlQECAdOnSRWrWrGmelitXLrl48aLMmzdPZXqkHxwXqPE1aNDAPC1Hjhxy+/Zt1WLQvXt3h6aPYh9rgBQrateuLaVKlZJBgwbZbAo1PHr0SIYPHy7lypVTzZdNmjSRffv2qXn426pVK/V/pUqV5JdffrG5jnjx4snevXvl5cuXVtMHDx4sU6dONb/PnTu3/Pzzz6pGUKBAAalVq5Zs2bLFPD8kJERmzpwp1apVk/z580uRIkWkffv2cuXKFat1ILA3a9ZMraNGjRpy+PBhNa18+fLqM6h5hk4LxT4cF0eOHJHHjx9bTe/YsaP6vQBN9dOnT5d27dqp469KlSqybNkyq+XxHscK5qMpFb/98ePHzfOxDrRAYL0FCxZU7zdv3qxeOJbwGaw/omZ8iiV4IjxRTKpQoYJpypQppmvXrpkKFy5sGjx4sHle//79TS1atFD/BwUFmerWrWv69NNPTfv27TOdPXvWNGTIEFO+fPlMR48eNQUGBpo2btxo8vb2Vu9fvHhh8/t+/PFHtUyRIkVM3bt3N/3000+mU6dOhVkOyxQqVMi0cOFC0/nz503jx483+fj4mA4dOmReT7FixUxbt25Vad+9e7epUqVKpi5dulito0SJEqYtW7aodTRs2FB9pk2bNqbTp0+bNmzYoNI/f/78GNizFBXr169Xv6+vr6+pQ4cOppkzZ6rjKCQkxOpYxe81depU9XviGMBn1q1bp+b//vvvpvz585tWrVqljokjR46Y6tWrZ6pdu7bVOgoWLGhauXKl6fLly+p4wXFfv3599X179uxRx8iYMWP4AzoYAyDFWgCExYsXq6Dx559/hgmA27dvV/MQOAzInOrUqWPy8/NT7/fu3auWuXr1aoTfuWPHDlPnzp1VgMPyeCEDQlA1YNqIESOsPocA1rt3b/U/ghqCnyUESQRBy3X4+/ub3yOYYtrFixfN0xo0aKACOTkeAhZ+3+LFi5uPi6pVq5oOHjxoPlY7depk9ZlevXqZGjVqpP7fv3+/afXq1VbzAwICVJA0YB09e/Y0v9+2bZv6np07d5qnYX7btm1jbDspctgHSLGqcePGsnHjRtUc+euvv1rNO3PmjCRPnly8vb3N01xcXKRo0aKyc+fOKH1P2bJl1ev169eqeWrbtm2quRNNmL///rskSJBALYfBMZYwMnDXrl3qfzRdHT16VCZPnqz6D/E6d+6cuLu7W33Gy8vL/H/ixInVX09PT/O0RIkSyatXr6KUfooZaH7EC83bp06dkh07dsjChQulQ4cOsmnTpnCPie3bt6v/ixUrJufPn5fvvvtOLly4IJcvX5bTp0+r9UX1mGATqOOxD5BiHUbdPXnyRMaMGROpAS6Y7uoaubIaMrWvvvpKAgMD1Xs3NzfVD/fFF1/IN998Izdv3lQZliH0eoODg1VfEaAfB32ODx8+VP2X6Jts27ZtmO+0lTZjHeQcbt26pX4//DV+n7x586rBUj/99JM8e/ZMjTC29XsiuBm/59q1a1V/9tWrV9Vx1b9/fzUqOTLHBApz5Fx4llKs8/DwUJkGhqUfPHjQakAJAiNqgpbB79ChQ5IzZ85IZyIY0GA5mMWA2iU+nzZtWvM0y8ELgEES+fLlU//PmDFDunXrJsOGDVM1V9QcLl26FKmRqORcUOPH4BVcBxhaihQp1N906dLZPCYwqAnB0igUYRTp2LFj1bWlqBEiGAKPi/cPm0DJIRo2bKguTEfTZqZMmdS0MmXKSJ48eVRtbciQISpQoXkKARHXb0GSJEnMNb3UqVNL0qRJrdbr4+OjSugYbYprDytUqKBK41j+22+/lbp166oAbMBlERgKj1GeS5cuVbXDr7/+Ws1DutAciqZQ1ABWr16tmk+NjJLeH2nSpFHN32jORm0Pl+MkS5ZMNWlj1CeaPdHUDrh2FKM3S5curUZuomkUhSHjmEBAPHHihCpQbd26VR2jgGbuhAkTOnQ7KWpYAySHNoUiEzHEjx9ffvjhB1XaxjVZuGbr7NmzqokKtS9A/yAukcClBcbQ9dDQtIr569evV5c4YMg6LnRG0B0xYoTVsrjMAutH0ERtdO7cuSqIAi7cx+ULSEeLFi1UIEYzGvpubty4EaP7huwPxwQKN2jqxN2HcMkKjhVcl2oEOEAhCUEPxw0KPZMmTVLHHKBghgIQjgccT+hbNm7wELrmSM7PBSNhHJ0IIkdAkysywHr16vEHIAW1fQTAHj16cI9ogDVAIiLSEgMgERFpiU2gRESkJdYAiYhISwyARESkJQZAIiLSEgMgERFpiQGQSEO8/JeIAZAoynAXEVxEb/nCrdTwAFzcKSb0A1ftCQ8Bxvddu3ZNvccDfvE+snAzaDyoFbeJe1dIA747vAcTG/sKr6iIzmcis6+IQuO9QImiAbdrM+5PCnjsEu4PiSdOnDx5UhYtWhQrd//H7bg+/vjjSC+/e/du9QggImIAJIoW3EjZuD+pAU8GwI2Wp0yZop4jGHp+TMiYMaN6EVHUsQ+QyI7QFArGzbLRlPfll1+Kn5+fCoht2rRR0/G8QtxEGTdZxmdw4+XffvstzHPo8KQCNK3i6QRdu3YN07xqqwl01apV6n6W+Aw+O3HiRPWkAjQJDhw4UC1TqVIlq+fY4VFBn3zyibkpF+vFsxEt4UkYuGm4r6+vWj+esBFVDx48UM3EeEoHvqt48eLqkVO2minx0FncqBoPpMW2G48dMuDm5J06dVLP5cML6wm9DFFE2ARKZEd4ajxkzZrVPA1PpUDg+P7771VQwwAUZNZ4rA4C4wcffKCePtC7d28VqOrUqaM+N378eJk/f756aCuCGdaDYBYRPPUeT7xA02ifPn1UQECgReDE0xCwLqQDT8cwAufMmTPVo6LwhAMESDThIgDi4cGjR49Wy+CxP0grAnXfvn3VMvgbFdhuBCykBYUCPFUBj5/C0xbQnIwncRjwDEg8dQMPN0Ygxnbj4cR4IC1q39jPeJIHHmU1btw4CQoKUtvVtGlT9QQHy2c+EoWHAZAoGpCZI9M1IFPfv3+/yoRRYzFqgsZT6VHrwUNZAc8Y/PPPP1XQqVmzppqGfrwXL17IhAkT5NNPP5Xnz5/LggULVI0Rj4Yylrlz5476rC0Irqg1Va5cWT1qyoD14hl3ePSUp6enmobnLmbJkkU9gBi1TDzwd/DgwebnMqZKlUq9x/fnypVLrRc1PwRlIy3wtoBsCWlPnDixeoq68ew9PIfvypUrYR5tZTway2jeRaBDwQC1WwRqBHCsC4+yQkCEUqVKqW2fM2eO+g6it2EAJIoGPFPOeHK8AQ/NRZMdamCWA2CQeRvBD/bs2aPmo/nTMojiUTx4YjmegXj37l01sAZNhZbwDLvwAiBqRag1ValSxWp6u3bt1MuWI0eOqGce4rtDp8UI1qjNYoBPz549w6QlKgHQ3d1d1WhReECT5+XLl+XChQuqJoyaryU0aVr2bSJgIx3Y7wiAe/fuVc2niRIlMqcbgRCBFQN9iCKDAZAoGhD8UKsDBDM8CRxPCzdqI5ZCP7X+0aNHKgggkw+vpvTvv/+q//HUe0vp06cPN01YL0Sl+c/4DC6NCC8tqN0ivaHTkiFDBokqBHiMlEXzKmqZCGwIYqGheTQ0bJexX5Bu9JmG7jc1nv5OFBkMgETRgKBWoECBaO07NEUmSZJE1YZs8fLykmPHjqn/UaNDDTJ0wLIlRYoU5oEmlh4+fCj//POPapoN7zNoes2WLZvNQIRAhdrtvXv3rOZFlBZbDh48qJomMTAINVLUCAF9lOjzs2TrWkrUio1twD5EbdsYVGTJ1ZXZGkUOR4ESxTI03aGPD7UqBFHjhVGN6GtDkx4yetSMNmzYYPXZbdu2hbteBErU0kIvg0EhqOGhSRWBzBIG16CP8vbt21ZpQRBBTQ1NlajdIj0YBWp5BxkMjIkKNLeinxJPWzeCHwa4GE2WmGdAQET/pAGXleDi/ZIlS5r34blz51QN0kgz+l3RJ4gBRUSRwaISUSxD3x+uGcTQfrwwChQ1Plw/iMElRhMe5mGEJAZ7IOPHBewRBUAMHEFwQR8kmgvRj4d+Qay3efPmkjJlSnOND0GibNmy6rvbt28vkydPlqdPn6pBKQiGeI+mXR8fH7U8RpS2bt1aDcjBgBmsd8aMGVHabgyiAaSvfv36qpaHUavG5RQoFBhNyAiGCNqdO3dWNVj0NXp7e6vRtMa+wShQjCrFyE8EaQyk2bx5s9peoshgACSKZaiFzZo1SwUZXIKAZk7UiNCch8sjDMjc0VQ6b9489UItDE2Iw4YNC3fdCHT4DC4pQEDAQJIOHTqoFyDAoekQAQWDcZAOXB6BvsWAgAA1ghKBEiMqEfTQ1AgYXDJ79mxVK0QQxAhSXCKBABVZ+G5c1vDjjz+qmi2aVzENIzqx3aj1oXAAGM3p4eGhLrVAjRiDgQYNGqQCHSAwI3hiJG2/fv1UzRQBEjVoXONIFBl8IjwREWmJfYBERKQlBkAiItISAyAREWmJAZCIiLTEAEhERFpiACQiIi0xABIRkZYYAImISEsMgEREpCUGQCIi0hIDIBERaYkBkIiIREf/BxwQ7//5gQuBAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t0 = time.time()\n", "\n", "nb_pipeline = Pipeline([\n", " ('tfidf', TfidfVectorizer(stop_words='english', ngram_range=(1, 2))),\n", " ('clf', MultinomialNB())\n", "])\n", "nb_pipeline.fit(X_train, y_train)\n", "train_time_nb = time.time() - t0\n", "\n", "t1 = time.time()\n", "nb_preds = nb_pipeline.predict(X_test)\n", "inf_time_nb = time.time() - t1\n", "\n", "print(f'Training time : {train_time_nb:.2f}s')\n", "print(f'Inference time : {inf_time_nb:.4f}s ({len(X_test):,} samples)')\n", "\n", "evaluate_model('Multinomial Naive Bayes', y_test, nb_preds, train_time_nb, inf_time_nb)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 7. Model 2 — LinearSVC (TF-IDF + GridSearchCV)\n", "\n", "Support Vector Machine with a linear kernel — one of the strongest traditional algorithms for text classification in high-dimensional sparse spaces. GridSearchCV automatically finds the best hyperparameters." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fitting 3 folds for each of 6 candidates, totalling 18 fits\n", "\n", "Best params : {'clf__C': 1.0, 'tfidf__max_df': 0.75}\n", "Training time : 516.91s\n", "Inference time: 4.0596s (21,930 samples)\n", "\n", "==================================================\n", " LinearSVC (GridSearchCV)\n", "==================================================\n", " precision recall f1-score support\n", "\n", " Not Spam 0.99 1.00 0.99 11145\n", " Spam 1.00 0.99 0.99 10785\n", "\n", " accuracy 0.99 21930\n", " macro avg 0.99 0.99 0.99 21930\n", "weighted avg 0.99 0.99 0.99 21930\n", "\n" ] }, { "data": { "image/png": "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bfbs2ZY/f36rUqVKzKcSAIC4Pop1165dVrNmTZs0aZJly5bNDh48aOfOnbPt27dbhw4dbP78+bGTUgAA4nINsn///pYlSxYbO3aspU2b1goVKuSmv/nmm3bq1CkbOnSoVahQITbSCgBA3K1BLlmyxJ5++mnLmDHjBQN3GjZsaJs3b47J9AEAEH9uFJA8uX/F8/Tp04x2BQAkzgBZokQJGzZsmB0/fjw4TTXJ8+fP2yeffGLFixeP6TQCABD3+yCfffZZe+SRR+z++++30qVLu+CoEa1bt261HTt22IQJE2InpQAAxOUaZFhYmE2ZMsUFx2XLllmyZMnc5R45c+a0iRMn2p133hk7KQUAIK5fB5k7d243ahUAgIQqWgFS/Y9Tp061lStX2t9//22ZM2e2MmXKWI0aNSxlypQxn0oAAOJ6gNSNAh5//HH3hI8cOXK4ayJ/++03mzlzpo0ZM8ZGjRplmTJlip3UAgAQVwNkv3793MCcadOmuVvLedatW2ft27e3vn372oABA2I6nQAAxO1BOhqQo5GsocFRihYtap07d7a5c+fGZPoAAIgfAVK3l0uRIoXvZ+qL1KhWAAASXYBs0qSJDRo0yP74449w048ePepuINCoUaOYTB8AAHG3D7Jp06bh3uvJHVWrVnV3zcmaNasdOXLEVq1a5e6mkz179thKKwAAcStABgKBcO+928mdPXvW9u3b5/4uUKCA+3///v0xn0oAAOJigNSjrQAASEyi9TSPS91A4Pvvv4/JRQIAED+ug9yzZ4/17NnTli9f7h5v5Wf9+vUxkTYAAOJPgNSNAFavXm3169d3/6dJk8aKFStmixYtsk2bNtmQIUNiJ6UAAMTlJtYVK1ZYp06drFu3blanTh1LlSqVPf/88+4JHyVLlrQ5c+bETkoBAIjLAfLYsWOWL18+93eePHns119/dX/rBgGNGze2pUuXxnwqAQCI6wHyxhtvtD///NP9nStXLncN5IEDB9z766+/3g4ePBjzqQQAIK4HyPLly9s777xja9assVtuucVuuukm++ijj9yddNTMmi1btthJKQAAcTlAdujQwTJmzOhuNyfqjxw9erTrf9Qjr5588snYSCcAAHF7FKue9Th58uTgvVhr1qzpbi+3du1aK1KkiJUqVSo20gkAQNwOkKF9kZ4SJUq4FwAAifpm5ZeihymryRUA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Xfd7S5YsccdI37592YFxHAESVy1AysSJE11Q+eGHHy4IkPPnz3efKbB4lHnVqlUr0KFDB/d+6dKlbp5du3Zd8jcXLFgQaNOmjQuAml8vZVAKuh5N6927d7jvKcB16tTJ/a2gp+AYSkFUQTJ0GQMGDAi+V7DVtO3btwen1atXzwV6XHsKaNq/pUqVCh4X999/f2DlypXBY7V169bhvvPMM88EGjRo4P5evnx5YPr06eE+nzBhgguiHi2jY8eOwffz5s1zv7Nw4cLgNH3erFmzWFtPxAz6IHFVNWzY0L755hvX3PnFF1+E+2zTpk2WIUMGCwsLC05LkiSJlShRwhYuXBil3ylXrpx7nTlzxjV/zZs3zzWnqon022+/tZQpU7r5NHgnlEY2Llq0yP2tprF169bZoEGDXP+lXlu2bLFs2bKF+06uXLmCf6dJk8b9nzNnzuC01KlT2+nTp6OUfsQONW/qpebzDRs22IIFC2zcuHHWsmVL++677y56TMyfP9/9XbJkSdu6dau99957tm3bNtuxY4dt3LjRLS+qxwRNrHEffZC46jRq8J9//rG+fftGagCOpidPHrmynDK9V155xU6dOuXep0iRwvUDPvvss/bWW2/Z77//7jI0T8Tlnjt3zvVVifqR1Od56NAh13+qvtFmzZpd8Jt+afOWgbhh3759bv/pf2//FChQwA3mGjVqlB07dsyNkPbbnwp+3v6cOXOm60/ftWuXO666dOniRlVH5phQYQ/xC2cxrrrs2bO7TEXD7leuXBluwIsCp2qSocFx1apVdscdd0Q6k9GAi9DBNh7VTvX9LFmyBKeFDq4QDeIoWLCg+3vo0KHWtm1b69mzp6v5qubx22+/RWokLeIWtRhocI2ug4woY8aM7v+sWbP6HhMadKVg6hWaNAq2X79+7tpa1SgVLIXjIuGhiRXXRP369d2F+2o6vfnmm920++67z+68805X2+vevbsLZGr+UsDU9WuSNm3aYE0xU6ZMli5dunDLzZ8/vyvha7Ssrr2sWLGiK81r/rfffttq167tArRHl31oqL9GqU6aNMnVLl9//XX3mdKl5lY1taoGMX36dNc862WkiD8yZ87smtfVXK7aoi43Sp8+vWsy16hVNauqKV907axGn957771u5KmaXlVY8o4JBcxffvnFFbjmzp3rjlFRM3qqVKmu6XoiZlGD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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "t0 = time.time()\n", "\n", "svc_pipeline = Pipeline([\n", " ('tfidf', TfidfVectorizer(stop_words='english', ngram_range=(1, 2))),\n", " ('clf', LinearSVC(dual=False))\n", "])\n", "\n", "param_grid = {\n", " 'tfidf__max_df': (0.75, 1.0),\n", " 'clf__C': (0.1, 1.0, 10.0),\n", "}\n", "\n", "svc_model = GridSearchCV(svc_pipeline, param_grid, cv=3, n_jobs=-1, verbose=1)\n", "svc_model.fit(X_train, y_train)\n", "train_time_svc = time.time() - t0\n", "\n", "print(f'\\nBest params : {svc_model.best_params_}')\n", "print(f'Training time : {train_time_svc:.2f}s')\n", "\n", "t1 = time.time()\n", "svc_preds = svc_model.predict(X_test)\n", "inf_time_svc = time.time() - t1\n", "print(f'Inference time: {inf_time_svc:.4f}s ({len(X_test):,} samples)')\n", "\n", "evaluate_model('LinearSVC (GridSearchCV)', y_test, svc_preds, train_time_svc, inf_time_svc)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 8. Model 3 — Bidirectional LSTM (PyTorch)\n", "\n", "A deep learning approach that reads text sequentially, learning word context and order rather than just word frequencies. Uses a **Bidirectional LSTM** to capture both forward and backward context." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 8.1 Tokenization & Vocabulary" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Vocabulary size: 25,000\n" ] } ], "source": [ "MAX_VOCAB = 25000\n", "MAX_LEN = 100\n", "\n", "def tokenize(text):\n", " return re.findall(r'\\w+', str(text).lower())\n", "\n", "# Build vocabulary from training data only\n", "word_counts = Counter()\n", "for text in X_train:\n", " word_counts.update(tokenize(text))\n", "\n", "vocab = {'': 0, '': 1}\n", "for word, _ in word_counts.most_common(MAX_VOCAB - 2):\n", " vocab[word] = len(vocab)\n", "\n", "print(f'Vocabulary size: {len(vocab):,}')\n", "\n", "def encode(text):\n", " ids = [vocab.get(w, 1) for w in tokenize(text)]\n", " # Pad or truncate to MAX_LEN\n", " return (ids + [0] * MAX_LEN)[:MAX_LEN]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 8.2 PyTorch Dataset & DataLoader" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Train batches : 686\n", "Test batches : 172\n" ] } ], "source": [ "class SpamDataset(Dataset):\n", " def __init__(self, texts, labels):\n", " self.X = [encode(t) for t in texts]\n", " self.y = list(labels)\n", " def __len__(self):\n", " return len(self.y)\n", " def __getitem__(self, i):\n", " return (torch.tensor(self.X[i], dtype=torch.long),\n", " torch.tensor(self.y[i], dtype=torch.float32))\n", "\n", "BATCH = 128\n", "train_loader = DataLoader(SpamDataset(X_train, y_train), batch_size=BATCH, shuffle=True)\n", "test_loader = DataLoader(SpamDataset(X_test, y_test), batch_size=BATCH, shuffle=False)\n", "\n", "print(f'Train batches : {len(train_loader)}')\n", "print(f'Test batches : {len(test_loader)}')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 8.3 Model Architecture" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SpamLSTM(\n", " (embedding): Embedding(25000, 128, padding_idx=0)\n", " (lstm): LSTM(128, 128, num_layers=2, batch_first=True, dropout=0.3, bidirectional=True)\n", " (dropout): Dropout(p=0.3, inplace=False)\n", " (fc): Linear(in_features=256, out_features=1, bias=True)\n", " (sigmoid): Sigmoid()\n", ")\n", "\n", "Trainable parameters: 3,859,713\n" ] } ], "source": [ "class SpamLSTM(nn.Module):\n", " def __init__(self, vocab_size, embed_dim=128, hidden_dim=128, num_layers=2, dropout=0.3):\n", " super().__init__()\n", " self.embedding = nn.Embedding(vocab_size, embed_dim, padding_idx=0)\n", " self.lstm = nn.LSTM(\n", " embed_dim, hidden_dim, num_layers=num_layers,\n", " batch_first=True, dropout=dropout, bidirectional=True\n", " )\n", " self.dropout = nn.Dropout(dropout)\n", " self.fc = nn.Linear(hidden_dim * 2, 1) # *2 for bidirectional\n", " self.sigmoid = nn.Sigmoid()\n", "\n", " def forward(self, x):\n", " emb = self.embedding(x)\n", " _, (hidden, _) = self.lstm(emb)\n", " # Concat forward + backward last hidden states\n", " last = torch.cat([hidden[-2], hidden[-1]], dim=1)\n", " return self.sigmoid(self.fc(self.dropout(last))).squeeze()\n", "\n", "lstm_model = SpamLSTM(vocab_size=len(vocab)).to(DEVICE)\n", "print(lstm_model)\n", "total_params = sum(p.numel() for p in lstm_model.parameters() if p.requires_grad)\n", "print(f'\\nTrainable parameters: {total_params:,}')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 8.4 Training Loop" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Epoch [1/3] Step [150/686] Loss: 0.0921\n", " Epoch [1/3] Step [300/686] Loss: 0.0783\n", " Epoch [1/3] Step [450/686] Loss: 0.0666\n", " Epoch [1/3] Step [600/686] Loss: 0.1337\n", "--- Epoch 1 | Avg Loss: 0.0766 ---\n", " Epoch [2/3] Step [150/686] Loss: 0.0032\n", " Epoch [2/3] Step [300/686] Loss: 0.0813\n", " Epoch [2/3] Step [450/686] Loss: 0.0084\n", " Epoch [2/3] Step [600/686] Loss: 0.0019\n", "--- Epoch 2 | Avg Loss: 0.0205 ---\n", " Epoch [3/3] Step [150/686] Loss: 0.0067\n", " Epoch [3/3] Step [300/686] Loss: 0.0094\n", " Epoch [3/3] Step [450/686] Loss: 0.0209\n", " Epoch [3/3] Step [600/686] Loss: 0.0097\n", "--- Epoch 3 | Avg Loss: 0.0119 ---\n", "\n", "Total training time: 64.5s\n" ] }, { "data": { "image/png": "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Dh2q+lrlG2A9YGAlIrIja9euxSOPPILOnTurnngiosqQFoCIiAjMmjVL9bV+++230AMGViIiOyF/WJ5++mn0798fn376Kdzc3Kx9SERkA1JSUrBy5UoUFRUZtjk6OqrwKgOv9ICBlYjIDixYsAAzZszA/fffr6a2kv4zIiJzJCUlqanxtm/fbthWWFiIo0ePqhkD9ICDroiIbFxsbCxef/11DBo0CI899pj646ORuRR9fHysenxEpG+tW7dWi47ItFZyklkDZBEjmWVE5mLVAwZWIiIbJzMCSDVkzZo16mRsxIgReOONN6x2bERkG9599101tdVzzz2HzMxMNaezLGbUuHFj6IFDaWlpqbUPgoiIiIjoWtjDSkRERES6xsBKRERERLrGwEpEREREusbASkRERES6xsBKRERERLrGwEpEREREusbASkRERES6xsBKRERERLrGla6IiKzklVdewdKlS695eVBQELZt21arx9SmTRs89dRTePrpp2v1fomIroeBlYjIiurXr4+PPvqo3MtcXFxq/XiIiPSIgZWIyIpcXV3RuXNnPgdERNfBwEpEpHMPPvggmjRpgtDQUMyfPx/5+fno2bMn/vWvf6ntmkOHDuH999/H4cOHUVhYiB49euCFF15Aq1atDPskJibinXfewebNm5GXl4cbbrhB7XPjjTca9snKylK3vWbNGnU7ffr0wdSpU1WLAhGRNXDQFRGRlRUVFZV7Ki0tNeyzbt06LFmyBK+++iqmT5+OY8eOqSCbm5urLt+xYwfGjBmjzr/++uuYOXMmzp07h9GjRyM6Olptz87OVvvs3LkTL730kmpFcHNzwyOPPIJTp04Z7ktCsQTVDz74QIXZ9evX47XXXqv1x4WISMMKKxGRFZ09e1ZVOcvzz3/+E+PHj1fnJZhKYG3atKn6uWXLlhgxYgSWLVumQqhUTZs3b47PP/8cTk5Oap/evXtj0KBB+PDDD1X4lAFecn/yb7t27dQ+Xbp0wfDhw7F7925VwRUdOnTAW2+9pc736tULBw4cwKZNm2rl8SAiKg8DKxGRlQddzZkzp9zLGjVqZDgvwVILq6J9+/bqZwmaw4YNU+0AMrpfC6vC19cX/fv3N4TNvXv3IiQkxBBWhYeHB1avXm1yv127djX5Wa6TkZFRDb8tEVHVMLASEVl50JVUNCvSoEGDq7bVq1cP6enpyMzMVO0D5fWYyja5XKSlpanrVMTT09PkZ0dHR5P2BCKi2sYeViIiG5CamnrVtqSkJAQGBsLHxwcODg7q5ytdvHgR/v7+6rzsl5KSctU++/btM/S5EhHpEQMrEZENkK/zjUOrzARw5swZ1WMqFdGIiAj8+uuvKC4uNuwjldWNGzcavuLv1q0b4uPjcfLkScM+MuOALBKwePHiWv6NiIjMx5YAIiIrKigowJ9//nndlae0QVcTJkzA448/rkb7v/fee2jdujWGDh2qLpfR/DJAa+LEiRg7dqwa5S8DsOT2n3zySbXP3XffjW+++UbdxjPPPIOAgADDjAByHSIivWJgJSKyIvnKftSoUde8XGYB0KqjkZGRan5UMWDAADWLgPTACqm0zp07V80I8Pzzz6vtcp0333zTMA+rt7c3vv32WzUDwIwZM1BSUqIWLZDQajygi4hIbxxK2UlPRKRrMt+qkOooEVFdxB5WIiIiItI1BlYiIiIi0jW2BBARERGRrrHCSkRERES6xsBKRERERLrGwEpEREREusbASkRERES6xsBKRERERLrGwEpEREREusbASkRERES6xsBKRERERLrGwEpERERE0LP/B3OFQ1j7mM7NAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "criterion = nn.BCELoss()\n", "optimizer = torch.optim.Adam(lstm_model.parameters(), lr=1e-3)\n", "scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=1, gamma=0.8)\n", "\n", "EPOCHS = 3\n", "epoch_losses = []\n", "\n", "t0 = time.time()\n", "for epoch in range(EPOCHS):\n", " lstm_model.train()\n", " total_loss = 0\n", " for step, (inputs, labels) in enumerate(train_loader):\n", " inputs, labels = inputs.to(DEVICE), labels.to(DEVICE)\n", " optimizer.zero_grad()\n", " loss = criterion(lstm_model(inputs), labels)\n", " loss.backward()\n", " nn.utils.clip_grad_norm_(lstm_model.parameters(), 1.0) # gradient clipping\n", " optimizer.step()\n", " total_loss += loss.item()\n", " if (step + 1) % 150 == 0:\n", " print(f' Epoch [{epoch+1}/{EPOCHS}] Step [{step+1}/{len(train_loader)}] Loss: {loss.item():.4f}')\n", " avg = total_loss / len(train_loader)\n", " epoch_losses.append(avg)\n", " print(f'--- Epoch {epoch+1} | Avg Loss: {avg:.4f} ---')\n", " scheduler.step()\n", "\n", "train_time_lstm = time.time() - t0\n", "print(f'\\nTotal training time: {train_time_lstm:.1f}s')\n", "\n", "# Plot loss curve\n", "plt.figure(figsize=(7, 3))\n", "plt.plot(range(1, EPOCHS+1), epoch_losses, marker='o', linewidth=2, color='#4C72B0')\n", "plt.title('LSTM Training Loss per Epoch', fontweight='bold')\n", "plt.xlabel('Epoch'); plt.ylabel('Avg BCE Loss')\n", "plt.xticks(range(1, EPOCHS+1))\n", "plt.tight_layout(); plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 8.5 LSTM Evaluation" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Inference time: 2.5755s (21,930 samples)\n", "\n", "==================================================\n", " Bidirectional LSTM\n", "==================================================\n", " precision recall f1-score support\n", "\n", " Not Spam 0.99 0.99 0.99 11145\n", " Spam 0.99 0.99 0.99 10785\n", "\n", " accuracy 0.99 21930\n", " macro avg 0.99 0.99 0.99 21930\n", "weighted avg 0.99 0.99 0.99 21930\n", "\n" ] }, { "data": { "image/png": "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RISTKapaiImIiN4RS1JERKQthhQREWmLIUVERNpiSBERkbYYUkREpC2GFBERaYshRURE2uIVJ2Kx14FBcv3Wu93aIa5zdk4g2TOlkeu3H0pgYOQudRRf5Mrm2CsgxEWWFwPiCabhL6dIXH4w9GnxZN7Y6/L1e1Kw3oiYng2tebpnl33LBkm5luPl2JnrMT07Wnt46MeYngXtYb+bxFnEP5AhFZ7ECUUSOCikWN1HRETaYkgREZG2GFJERKQthhQREWmLIUVERNpiSBERkbYYUkREpC2GFBERaYshRURE2mJIERGRthhSRESkLYYUERFpiyFFRETaYkgREZG2GFJERKQthhQREWmLIUVERNpiSBERkbYYUkREpC2GFBERaYshRURE2mJIERGRthhSRESkLYYUERFpiyFFRETaYkgREZG2GFJERKQthhQREWmLIUVERNpiSBERkbYYUkREpC2GFBERaYshRURE2mJIERGRthhSRESkLYYUERFpiyFFRETaYkgREZG2GFJERKQthhQREWmLIUVERNpiSBERkbYYUkREpC2GFBERaYshRURE2mJIERGRthhSRESkLYYUERFpiyFFRETaYkgREZG2GFJERKQthhQREWmLIUVERNpiSBERkbYYUkREpC2GFBERaYshRURE2mJIERGRthhSRESkLYYUERFpiyFFRETaYkgREZG2GFJERKQthhQREWmLIUVERNpyjukZIApP1oypZe/yr6R1/9my5+j5CL/2Xvb0MrZvY6lQPJ+8ChTp/XlN6TnaR54+f6Ve3zCjl1QokS/Mz01TqkeIYcldk8ieZV/J7qPnpfvIJfzh4qjdR85Jva7eYb4+tGsd6d+hjvn/wMAgqd3pe6lWroAM6vxxNM1l/MGQIm1ly5RaVnt3l1QpXO16LWXypLJ+upfcvv9Exs/aKOP7NZaqZQvKvHHtpanXT2qc/hNWSIpkLiGCbfqINrJwzZ5Q5+ebPo0lZ9Z0IjaBSHGLR/4csnlevxDDv5n+q/ieuirNapUwD3vl/1q6jVgkh/93RYUUxcGQqlq1qvq7fv16SZ48udVrgwYNkhs3bsjixYsjNC2TySRr166VihUrSrp06cIcB9P7+eef5fLly5IoUSJxd3eXzz77TGrVquWAb0TvysnJSVp8XFpG92ooTuIU4dcMHZp8KGlSJZNKn06QnFnS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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "lstm_model.eval()\n", "all_preds, all_targets = [], []\n", "\n", "t1 = time.time()\n", "with torch.no_grad():\n", " for inputs, labels in test_loader:\n", " preds = lstm_model(inputs.to(DEVICE))\n", " all_preds.extend((preds >= 0.5).int().cpu().tolist())\n", " all_targets.extend(labels.int().tolist())\n", "inf_time_lstm = time.time() - t1\n", "\n", "print(f'Inference time: {inf_time_lstm:.4f}s ({len(X_test):,} samples)')\n", "evaluate_model('Bidirectional LSTM', all_targets, all_preds, train_time_lstm, inf_time_lstm)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 9. Model Comparison & Winner \n", "\n", "Side-by-side comparison of all three models across key metrics." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Accuracy Precision Recall F1 Train Time (s) Inference Time (s)\n", "Multinomial Naive Bayes 0.9937 0.9936 0.9937 0.9937 20.8044 2.9303\n", "LinearSVC (GridSearchCV) 0.9947 0.9947 0.9946 0.9947 516.9081 4.0596\n", "Bidirectional LSTM 0.9940 0.9940 0.9940 0.9940 64.4671 2.5755\n" ] } ], "source": [ "results_df = pd.DataFrame(results).T.round(4)\n", "print(results_df.to_string())" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABKAAAAHkCAYAAAAJqFdhAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAh79JREFUeJzt3Qe8jvX/x/H3GcYxjr0yMyIysqKskCiVtJRZIbKVX0soe0Qkka1IiiZKQ9tsKaIIGdkr8zjj//h8/a/bfQaOcTvnOK/n43E/nHPf133f133d9/11Xe/z+X6uoJiYmBgBAAAAAAAAARIcqAcGAAAAAAAACKAAAAAAAAAQcFRAAQAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAKKAAoAAAAAAAABRQAFAAAAAACAgCKAAgAkG08//bRKlizpuzzyyCPxlhk7dmysZerWrRuQdSldurR7/JYtW17Q/e1+3jom1sGDB/XKK6/o7rvvVqVKlVS2bFnVr19fvXv31oYNG5Sabd261bc97XOC+CIjI/XOO++oVatWuuGGG3TdddepRo0aevzxx/Xtt9+e9ftm2ze5sO+At17Lli3zXR8TE+O+/zfffLPvtU2ZMuWMywdSREREvO+kjUWBHJMu5LviXX766ad461++fPlYy8ybN++innft2rXntXxy2V4AgMuHAAoAkGz9+OOP7kDJ39KlS3Ul+uWXX9SoUSN3gL1mzRodPnzYvfYtW7a4UOGuu+7Sxx9/nNSriWRqz549evDBB11YaSHMgQMHdPLkSe3evVtffPGF2rZtqwEDBigl++ijj1zYtH37dt9rs1DqcrLns+9hw4YNtWDBAqUUP/zwQ6zfLZA6fvz4JXlsC+I6duzogk4AAM4m9Ky3AgCQhOwAyUKo6tWru9+PHTvmgporjVUstG/f3lVApUuXTp07d3ZVARZAzZ8/X5MnT3YH3M8884yrzCpatKhSm3z58unrr792P4eFhSX16iQr9tmwg/9Vq1a53++991498MADypgxowujXn75ZffZeuONN1SmTBlXYZecPfzww7rvvvvcz9mzZ/dd7//d79evn6vyypo1q9KmTZvg8oGwYsUKPfHEEwne9vbbbysqKkohISFKbpYsWeLGFf/fL5V27dpp27Ztyp8//3ndLzlvLwBAYBBAAQCSJTuYsYMaO1DyAqiVK1e6g21ToECBZDVt6GKMGjXKBQTmpZde0i233OK7zQKnNGnS6LXXXnOBlFVfdO3aVamNHaTmzZs3qVcjWXrvvff066+/+qZ+WhWUp1ixYrr66qvVpk0b9/vcuXOTfQCVKVMmd4nLAmiPTb8rWLBgrPtcDmeruMqVK5eS6zhqn48jR464UNK/kjQpx9HkuL0AAIHFFDwAQLJk1Q3m+++/j/dXeztouuqqq854308++cQdcNtjWB+l2267TaNHj3bT2uL6+++/XWVA5cqVdf3117ufz3ZAZtNNunfvrmrVqrnHtqk4r776qk6cOHFBr9MOqj/99FP3c4kSJWKFTx7r6WPB1DfffBMvfNq1a5cGDRqkBg0auPWx19yhQwctX778jH1h3nrrLX3wwQe644473H1uvfVWN83PfPjhh2rcuLHv+lmzZiXYN8i2l037euqpp9xz2razaV4J9YGxyiV7P2666SbXu8eWtyoXr6Ipbk8Ye42TJk1yy1WoUMFV8JypB5Rtd5u2ePvtt6tcuXKuwqd27dpumX///TfeuthnwD4Ltrz1wLHX0bp1a3322WfxlvVfH/ucWJWR9eay12rbeOPGjUouAZQJDg52U6HisgB36NChLry0KqhzsTDUlrf337a/XezzNXjwYB06dCjWsl999ZXbflWrVnVhaZUqVdSiRQs37S+u999/X82aNXPb0Ja19/fRRx91VY7+4vZ08t57/x5F1hvN6692th5Q3333nXsOWy97v+01DRs2TPv374+13I4dO9SnTx/3ntvnqGLFiu57YJ8t77ttz2Pfxbj96LznPFtPo8SOSf6vxdbRlvF6Xtn31bbhhYyjFtxb9Zax5/ztt9/cz/a+nYmNNxZo2ufdLvfff78bHzze+2IBl7F//b+f3lhh62DjuL1n9jq8vnpn2l62vS1wt9dr74Xd3z43NmbFXe58vvsAgKRHBRQAIFmyAyM74LR+SHZAnCVLFt9f7e22M4VEdhBpUzvihkbjxo1zB4F2AJ4zZ053vYUKdlD133//+Za1IMKm+kRHR8d7bJviZAeRVkngsRBizJgxLhybOnWqq1Y6H6tXr/ZVddlBXkJsWpEdDMdlYY+tj//BtFVJLV682AUDdiDmVb74s1Dpzz//9P2+adMmVzXz5Zdfuov/9S+88IJy5MjhDtz92To3b97cLeOxRtcWJrz55pvuYNB8/vnn6tKlS6ztaf2JrCeNbTN7Pywc8GfXe6GcseDgTHr27OmeI26YYKGMhXD2GbJpWmbnzp166KGHYn12bJqnfa7sYkHKs88+G+857D2O+zmxbfzXX3+59QwNDU3SxuNemFCoUCH3XiWkSZMmiXo8mxJlQaI3nc+zefNmTZs2zX3mpk+f7vuu2HvrXxVkAZUFHVataMGhBbTG7mNBqT/7HFhAZO+T3W6hz6Vkn624fa/s82pTWu2zat+DzJkzu/fVQjPrt+Yfbtj7axfrORV33c/H+YxJ/iwMt+3ose+sBb558uTxVYWeiwX1XhWUfefq1Knjtre9z8bCnYSaj9u2efHFF2O9t1ZFZZf169e7711i2Xhp4a3Xc8pCqDOx8cvGLP+m6fZe/Pzzz+5i30X7A8D5fvcBAMkDFVAAgGTJ+8u9BRcWDtjB6h9//BHrtrisX5J3oHfttde6A2b7i70XwljgZAdwHqsq8kIFO0C3v7Dbwan1GIo71cZ+f+6559zBVLZs2dxf3u3g8fnnn3eVJ3bQPXPmzPN+ndZI2XM+/Wtsu9gBmIVPNj2tW7du7vVb5YBNTbL1HTJkSLyzX3kHsnZAuHDhQlfJ47HwyXoHWXNlezyPfxjksYNJq6Sw8M2e1ztj4dGjR9W/f3/fchZG2bpaODJ79mwXWth2NLaO/oGXf4hhgZetn01PrFmzZoLbYN++fb4DUK9J+6JFi9SjRw93nb1X/hV0Fi554ZNVstj7bZ8RLyyzEMReS0Lbyw6a3333XVcpZgGAscfyqkqSim0rL8C0z+XFstfjfc/sM2Lvl71ubxtZtY8XwNp0PnsPrT+XffbtvbCz0uXOnduFcv5Nuu0xjFU+2Ta0Ze2zY1PC7PNr7/W5+n95YZax73ncCjp/FhpZFZd3//Hjx7vvq1VDee+pF6TZutjyXm8p+91ej1dl6X1GrWrPQjWPjSu2DmcKji9kTPJn4Zc9n33/7PPtOd+z1XnjpVdB6v1r44Rtm7gsqLXAzd5bq9ayMMpeh9dn6/XXX3fBufe+eFNj7V/73XrV+bPPp21L+7zYNrdm+WdiIb43ZtkYYBVfc+bM8X3+7LktKDzf7z4AIHmgAgoAkCzZAYvXn8Q7kPCqaOyAyg5m4rKww3g9k7yDKzsgsgoOq1qxigv7K7odfNnPxioEBg4c6KtksYNQL1DxrFu3zlc1ZD107MDM2LQSO/CxA3P7y3tCFUdn418ZlFDV1ZlYKOedBt6qc7wzUBUvXtwFAPfcc487gLQD6biVJTbtxQuYrNrFDs6NVZlZoGbbzw62bfqPiTtdydOrVy9fZZQdRHtVCnbZu3evq8axA247WLTKBjtAtWoG60vk8XpfxfW///3Pvf9na7ieIUMG17TdHtOqMn7//XffFETbJv6Bnr3/3vtdq1YtXwhm7LNiUx/tcawaxab0+AsKCtLIkSN9j2eVUjaNK26AGJfd5lWaXCwLRe39icv/8S/FGeFsaqm9f1YpZJ8le+32HbTviIUO9hwWellw5FWX2Hton3/brrb9LQywnkz+zaX9q9CsSu7GG29029yqGe02e55z9f/ybz5vFUNn6wlm30kvmLOg1qaxeZ9ZW7ciRYr4KnHs+2xT4izYsNdsvM+rBVPeZ9Tu5/+Zst/P1ZfsfMYk69Xlzz7HdmZMY9WM3hQ0m/p6PrwqJxu/7DPpX0maEAvqvG1nDca95uI2xth7a9OGLRiy75C9fu99PlufNnucs1U+ebwA2CrTLED03nMbny04s7HLglYbqxP73QcAJB8EUACAZMubamcHHlZldLa/2huv/5AdyMVdxg547WDPC5Ps4NF/Soj/NKqEpnz59/uxKg+7JFSxYAeudlauxPI/ULLQ5kwsnPK2gf9r9V6bP3s9FlbYgbO91rj8Qx2vKbGxKiVvCqEd+Nnz2fPaNK+ExK38sN8tvDD2vnnTwWwapQUC3hQa7+DWe10JBUsWPp1L+vTp3dRBmyZo4YjXe8YOgm2Kkp0Nzno8nWt7WUWThWK2ngltL3uP/N8n/5/PtG2MVZN5/XEuloUkVtEWl73P3vt0Pp+fs7HPjVWyWMhmB/YWICYUenXq1MlVTNl7bdVMdrHPjX0OLJhs2rSp77tgwY+d6dHW0XsdFjLY+2OBn10Su36J4T811CqPPBZ0eWGtPwtmLHixqVtWAebf6+p8guGLGZPiBlD+Qa195mzdLQA822cuIf5B00cffeQL0s8UQPlvuzOd8MC+b+fD+tslhoVypnDhwrECR3sP/d9Hk9jvPgAg+WAKHgAg2fKmjvzzzz/u4PBcTXPP1ovHvzrEDuT8Ky7iHmAmdFrwxPT5sQPzM1X0nImFRd6Bt/9p5v3ZAbE18LaqCa/hcWJPXZ5QZYkFNx7/g37/A74z3defhW3nel7rf2PTnmzalVVSWDVK3MbmcZ3PGc2s2sGmiT355JPuwNPCK68PjPWo8qZFnmt7na16yH97mUsZlFwsC3i8A3MLghKqyLLAol69eq5B+bmmb1mIatVAw4cPd5Ul1gjapkEmNG3KwmCbOmfVYXfeeaerWrTqGOs11LdvXzfN0QsbrUm0TZmyShYLp6yCyaa/WgBj7503depS8X8/zxXYWMBtr9kagFt1kQWHNsXWqhsv1vmMSYH63HnVpN4UNs+ZpjInZmyJG0qei4WNieFtk8SEbIn97gMAkg8qoAAAyZb/AZI3DexMB01exYBXZWMHIv7TQby+J8YO2K2iwIIO62Nkf0H3rxBJqG+SVQd57GDZv3eSVc7YKcUv5LTidmBmZ4Gyg3ObUmf/xj3wtTPC2QGfhQdWGWDbwL86wl6bnaXMY1UrXhBWqlQpBYpVi/hXNnjNsO1g2sIJm9Lk9b+x/jHW1DgxB6+JbeRu751Vc9j7baGGTfOxENDeD6vOseleM2bMcAejcbeXTTH02HLWi8fErbK4GAn1twoE64HjTY+bOHFivEbqNl3VppLZxaYsWWXSmdhnzfvs2Htn0zlN3F5X9n2xz6ttezvwt8DK25YWSNkULfsu2mfCpqtamGXL2vfIKqWMfT5suqtNQbOA2e7r9de6WDbFzv/74P++2ufEgjtrfm9TZr2zWNp4YOvtVW15Z4b05x8UJWbK4/mMSYFkY4YFlN44au+DVWRZuB+XjTEeO2OmN4XXQiH7nNlrSigkPtv2SGyjfntu+07bellA6QVX9jmy3nJWvWnB0zXXXJPo7z4AIPlIPn/CAwAgDjtAsiDD39kCKOt7ZKzqwqbZWK8TO0ixXiLeVBfrU2MHXxY2eUGPHZhbzyE7eLGzY1nVTlx2wOOFOTb9znqV2EGS9WWx6R41atRwZwS7EE888YRvKpz9Nd8e3wIROxOZhQnWd8XYlDbvgMr+4u/1ZrGgwPo42UG+nf3OO0OVHSzb2b0CxXpE2ZQeCyLsZy+ksAN769Pif7ZAO5uXBQH2mmw6lud8pxPFnd5klTm2jWy72XPYe2kHn970Su/A16Y3VapUyf1s08sGDx7spj1ZRZl9ViyAMIHcXoFip6i33jjGmjxbqGNBgVUzWcWLVR0Z+8zbwfnZ+L9nFsbYdCxrAm1VJXGn4NlZ2uwzb2cls9vt+2Db3r9HkW1/q5SzaigLbq33mIWsFj7Zsl4gYp/VxFb1JYYFst57b59Ne04LK6yp9zfffON+957be832r32vbTnbbl7PMP/PqfUd8tj3zbbx2QLV8xmTAilu5ejZKklt23mv00JjW2ebGjdixAgX/tj3yMIdj7esnSjCvpO2XS6UVaJ5JzOwccI+x174ZGfgs8+Z/fHgfL77AIDkg5EZAJCs2YGSd3p0O0g7W9NfC4KsKsfOMmUHLtYs2p/99dyCB48FNTZdaNeuXS5IsYuxAxx7HqtY8NgBsjXdtabdViES9zTk1kjZDsgvhK2XNSi2g3l7bDs49c7g5QkPD3fTgryKADtYt4Npb31smpRd/NfX+qIk1M/qUrHKFzv482eVEdabxVhDZ6uWsIDKLt7BuL/zbajsz3q82HQpC+Ds4DRutYNtA//AxbapBUz2vlpzdLv4s8+LdwCcklgAMGHCBD322GMuVLOqFbv4s/DJPr9eCHe28MGmNXlnibRLXDbNzypVLOiySkA74Pd68PirU6eOm3pnrLm9Naq3sCahEMzCBJuWd6lYOGsBhn3fbX3jPqcFyt4Z8ew1W/hsFTwJvQ7vc2pjgn1XrULKQjU7O51d7HvoNQu/2DEpUOIG92cLoKwKzcYye+9t+m/cdbYz0vl/ly2Yt8DcQiOrxqtdu3asqX7nw07+YCG6TUe2gM4L6Tw2jdSq2+xyPt99AEDyQAUUACBZ8z9wOttBk3fQYVOB7IDQeiZZKGTTuaz6xaoPbEqN/0GuHWhZdYc1QLZgx6qQ7GDUDmq8Btr+7PlteTvYtMexx7YqLZvSZNd7VSgX+jqtn45NJbHgxvox2YGurbsdAFoVVNyz2dnBvV1vt9sBmS1vTantwN8qYc73jHzna9y4ce61WzhmYZQ97+zZs33bwSoQbEpYw4YNXahny9htVrVgB+bGzojm3/D5fFkTYnvPrerK3hN7Tqu+soNgO6W7f6Bk1XS2veyzYFMHrceOvee27S3cizt1LSWxz+G7777rgh5rAm5BoG0L+4w3btzYfaYTU91lvZys2sQ+gxZs2f3tbHUW1nnTz7yphVaFZ9+pJk2auG1rnz/73Np0MgsmraeS/+NaTx77fllPIvvu2LavUKGCq7Kx9b7U7PNvQYg1+7bvt73fFvhYM3Q726F9bo39boGyBdz2mi28stfknQXSfPHFF+5fexyrkLTvpb1eW9a/Kupix6RAfj78q6zOVknqbRObmmjL2Xay12hjjAWOVv3kf/ICC85tOft+27IXM43SnsfGLmt+buG1bWPbZjb22dROq7a7kO8+ACB5CIq5FOfsBQAAqYJViHjTseygPDFnqwMAAACogAIAAAAAAEBAEUABAAAAAAAg9QRQ1kCzZcuWZ13GzlhiZwuy+d7Wi8Pmfx87dizWaYHtFMJ2SlbrK2B9PRI6jS4AAAAAAABS2VnwrDGlNWi0M9qcjTUltMDJmmFa01I7o4uddcM7W5CFWHb6agumrrvuOi1ZssSdpcUaPlpDSQAAcOGGDBniLgAAAECKCqB27typvn37atmyZe7sGmfz888/u1PZLliwwJ0Zw9iZU+wU1Hb2Ejvrhp122E7h6p35ws74Yadn9c7SAgAAAAAAgFQ2BW/16tWuOunDDz9U+fLlz7rsypUrlStXLl/4ZGwanp3i1k7jbNPvrBLq7rvvjnW/4ODgizrFMwAAAAAAAFJwBVTdunXdJbHVUvny5Yt1Xdq0aZU1a1b9+++/LmiqXr16rNu3b9+u+fPnq1mzZpd0vQEAAAAAAJBCKqDOh/V+ssAprnTp0unEiRPxrt+zZ4/atWunHDlyqGPHjhf13DExMRd1fwAAAAAAgNQqySugzkf69OkVERER73oLnzJkyBDrur///lvt27dXVFSUZsyYofDw8It67ujoGB06dPSiHgPwFxISrPDwMB06dExRUdFsHADxME4ASAzGCgCMFUgqdkxr/w9dcQFU3rx59fnnn8e6zgKpAwcOKHfu3L7rrB+UVTxZU/JJkya5fy+FyEhCAlx6Fj7x2QLAOAGAfQoAlwPHH0gqKWoKXpUqVbRjxw5t3rzZd52dFc9UqlTJ/btq1Sp3VrwSJUpo5syZlyx8AgAAAAAAwBUYQNn0ud27d+v48ePudztLXsWKFdWjRw8XNC1dulR9+vRRkyZNXNAUGRmpJ5980vV8GjJkiJuaZ/e3y759+5L65QAAAAAAAKRKyXoKnp3Zrl69eho8eLCaNm2qoKAgjR07Vi+88IJat27tmo83bNhQzzzzjFveQimvOqp+/fqxHit//vz68ssvk+R1AAAAAAAApGZBMZzeLdHzZPftOxLo9wOpSGhosLJly6j9+4/QAwoA4wQA9ikAcPyBFCd79oyJbkKerKfgAQAAAAAAIOUjgAIAAAAAAEBAEUABAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAooACgAAAAAAAAFFAAUAAAAAAICAIoACAAAAAABAQBFAAQAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAKKAAoAAAAAAAABRQAFAAAAAACAgCKAAgAAAAAAQEARQAEAAAAAACCgCKAAAAAAAAAQUARQAAAAAAAACCgCKAAAAAAAAAQUARQAAAAAAAACigAKAAAAAAAAAUUABQAAAAAAgIAigAIAAAAAAEBAEUABAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAooACgAAAAAAAAFFAAUAAAAAAICAIoACAAAAAABAQBFAAQAAAAAAIKAIoAAAAAAAAJB6AqgJEyaoZcuWZ11m//79euKJJ1SlShVVrVpVL7zwgo4dOxZrmYULF+q2225TuXLl1KRJEy1ZsiTAaw4AAAAAAIBkH0DNnDlTL7/88jmX69q1qzZv3qxp06Zp9OjR+vrrr9WvXz/f7UuXLlWvXr3UrFkzvffee6pevbrat2+vDRs2BPgVAAAAAAAAIFkGUDt37lSHDh00YsQIFSlS5KzL/vzzz1q+fLmGDh2qMmXKuHDpxRdf1AcffOAex0ycOFH169dXq1atVKxYMT311FNu2enTp1+mVwQAAAAAAIBkFUCtXr1aadKk0Ycffqjy5cufddmVK1cqV65cLljy2DS8oKAg/fjjj4qOjtZPP/3kgil/N9xwg1asWBGw1wAAAAAAAIAzC1USq1u3rrskhlU55cuXL9Z1adOmVdasWfXvv//q0KFDOnr0qPLmzRtrmdy5c2vHjh2XdL0BAAAAAACQQgKo82HNxi1wiitdunQ6ceKEjh8/7n6Pu4x3+8UKDU3ygjFcQUJCgmP9CwCMEwDYpwDA8QeuVCkqgEqfPr0iIiLiXW/hUoYMGVzQZOIuY7eHhYVd1HMHBwcpW7aMF/UYuLJZL7KRI0fq5MmTeuSRR9S2bdtYty9YsMD1Ojty5IjuuOMO/e9//3PXb9++Wb1799bff/+typUra8CAAa5qz1SrVs2d+dHz9ttvq0KFCpf5lQFI6rEiPDxMa9euZawAcFY2VgBIXdivQEqSogIom1r3+eefx7rOwqYDBw64A3abimdB1K5du2ItY7/nyZPnop47OjpGhw4dvajHwJVr166devbZZ9Wo0e3Knj27hg8frpIlr9N115V1t2/fvt0dRNard4uuv76Shg8frEyZwtW9e1d16dJF6dNn0HPP9dWYMaPUs+eTeuWV17Rt21YXPnXt2lPFihV3vc5y5syn/fuPJPXLBXAZx4ocOXKoefM26ty5i8LCGCuA1GLhwvl67bWxLqxu3rylWrRoHev2zz77VOPGveLaTzRs2Ei9ez+r48ejXFg9eHB/bdq0SRUqXK9nn31eOXPmcvdp2LCu22/2TJo0TdddV+6yvzYAlwb7FUguf/xI7KyeFBVAValSxf1VePPmzSpcuLC7zs6KZypVquQO0CtWrOiuu++++3z3W7ZsmassuViRkdEX/Ri4MtlnLDIyUg8+2FJ58uTTjBnT9MMP36tUqTLu9tWrf3c7kHfffb/KlLlOn3yyQF9++YVatWqhf/75Rx06dFatWnW1fv16TZ06UQcPHtJvv/3m7jt16iRFR0e5x65YsUqK+Bx++ukCTZjwqnvNDz7YQg891CrW7V98sUjjx4/V0aNHdMstDdWpU3d3MoK//vpTw4YNcN/x8uUr6KmnbKc5p+9+Ns22TZuH3HVjx76eBK8MuLxjxaefLtRnn32mhg3v0JYtjBWMFUhNB5UDB76gW2+9Tdmz59DYsaNVtuz1blww//67XS++2Ed169ZXhQqV9NJLQ5QvXx41a9ZKzzzzP2XIEKZnnnler746Wv36Pa+XXx7n/rBl4VPnzt3dH7akIBUsWCTZ71ewTwGcGfsVjBUpTbJuPhMVFaXdu3f7ejvZWfIsYOrRo4dWrVqlpUuXqk+fPmrSpImvwunhhx/W/PnzNXXqVG3YsEHDhg3TH3/8odatY//VCJdup6Bp09t1xx0NNGvWjHi3W9Bw33136vbb6+nll4e7AytjQUO7dq3UoEFt9erVTXv27Il1P3vPmzVrqs6d26eIt2r37lNVd+HhWd1UUJsuumfPbt/tefKcaoy/YsVS7djxr/75Z7OrzMuSJYur2vv1159dtZMdfMbExPz/5/6YSpa8Vk8/3VuNGjXWpEnj9fPPPyol7DQPHvyiqlS5QY0b36Vx48a41+WxneYBA/qqXLny6tChi95/f67vs/P880+7773tNG/c+LcGDOgT67HHjh2lrVv/ueyvCRePseJCx4pN7iQamTOHu+onxgrGiisdY8UpP/64woXVzZu3Ups2bd0fWZct+8G3ndauXeP2qZo2fUB33NFE5cpVcGH1gQP73f+Tdeveoptvrq/bbrvDPdaRI4f1xx+r3X2nT5+i3r2f0urVvyljxkxKztinwJkwVpzCfgVjRUqTrAMoO7NdjRo1XD8MY//5jh07VgUKFHCBUvfu3VWrVi3169fPdx9bftCgQXrrrbd09913u5Bq/PjxKlasWBK+kisTOwWnWWhkgoIS3lalS1+nO+6424VIDz7Y1DXKt89zSEiIevb8n1asWKY77rhF27dv/f/HCVLjxk00efIbql27rtq16+iuTwkB1PnuNJctW15ff73Y/VX2TDvNZsmS7/XJJ/OVL1/+JHx1uBCMFRc+VqRJc3qs6NGjF2MFY8UVjbHiNA4qT2GfAowVZ8d+BWNFSpOsAqghQ4bojTfe8P1uQdO6devUtGlT33XWC2PMmDH6+eefXbhk4ZPXfNxjFVGLFi1yVVLz5s1T9erVL+vrSC3YKTgtR45T08QOHjzoOyOj12/B0737k3rjjTmaN2++ChYspLx587nrrRfMzJnv6u2333ehS3BwsHLnzqNvv/1K8+a945axqiATGhp6RVaD2X0yZ858xgqPgwcPaMiQF9WxY5eL7ueGy4+x4sLHikKFCumqq65y19tUHMYKxoorGWPFaRxUnsI+BRgrzo79CsaKlCZZBVBIWdgpOK1SpSquQuGtt97QtGmT3I5jxYqVXbXCzp073EHmbbfV1WuvvaLvv//WVTJZk2HTufNjeuKJLlq79g999NH7qlbtJnfWxj//XKfRo0fo/fffdfezx7dqqCu5GuxMFR7Dhw9SwYKF3ZQ+e3y7eNM5kfwxVlz4WPHTTz+qUaNG7r7dunVkrGCsuKIxVpzGQeUp7FOAseLs2K9grEhpCKBwwdgpOC1fvqv07LN9tXz5Un388Qd6/PGurtKnR49O+vrrL10V0JNPPqN169a45tz33/+QmjV7yN23W7eeCg1No6FDB6hEiWvc4xg72039+re6A9GlS39w1xcuXOSKrAbzqqLOVOHx1Vdf6pdfflK9ejVchZRdbNsiZWCsuPCxolmz5r4ehp0792CsYKy4ojFWnMZB5SnsU4Cx4uzYr2CsSGmS/3wepIidgvTpw84YNNx//4PKmjWr+vfvo//++88XNJQvf737+csvP9PEia/5ggZjQYPHDsxSwhnP7DXZxd933630/WyNxO3i8U5VWapUab355px4j5cuXXo9//yLSmn8d5qzZs0Wq8KjUKHCypIlq2tKX6lSVdWqVcdVg7Vv38lX4WHT9dq1ezxWNdj48VN9jz9y5BD37xNPPJ1krxHnh7HiwseK0NBg930ypUpdy1jBWHFFY6yIf1D5+uvjFBER4Qur7cQuXbv2dH/IsrB6/PhXXHNxL6w+dOi4C6vtZB/2h60qVaqqV6/nfH/Y2r59m/vDVoYMGVPEH7bYp0BCGCtiY7+CsSIlIYDCBWOnAJdip9l+t5DSnGmn+brryvoe33aazdVXF+UNSCEYK5AQxgowVpwdB5WME2C/AonDPkXKERTj1TvjrKKiorVv3xG2UgKnQPWChgcfbOHOXuYfNCxc+LELGqKjY9yUqvbtH3d/zbd+RxY02BlvvKDBqqT8de7c3v2bEqqfLoRVNmTLllH79x9RZGR0Uq8OEFCMFReGcQKpDWPFhWGsQGrDWHFhGCsQCNmzZ/TN7jkXAqhEIoDCpcZ/AAAYJwCwTwHgcuH4A0kdQDEFD6nWmc7SltrWhRpIIGWMFUm9HowVQPL+jiaX9WCsAJL3d9TD8QeSAhVQiUQF1JUle9Z0CkmTNqlXI1mIOhmhfQdOJPVqAMkSY8VpjBUAY0ViMFYAjBWME6lLdiqgkBJS96R8/RY+bR7TTtEnjik1C04XpsJdJyo4+AR/seSvtoiDsYKxIiFUd8T/nqR2jBWnsV9xGmNF/O9JasdYcQrjROoeK5iCl8pkyZJBadOeOqV3amfhU0xE6g6gYkLS6GRUpHLkyJzUq5IsRESe1MH9x5N6NZIFdhRPbwPGCsYKf4wTp7FPERtjBWMFY0XCGCsYK/xx/JG69ysIoFLZwZSFT21e/FRHj0cqtcoenk7jn66f1KuRPISEKk1IqDp8+IyOnUw9A19CwtKk1/g7Byso6Hiq+0tEXOwoIh7GCodx4jT2KU5jv4KxIi7GCsaKhDBWsE8RV2ocKwigUiELn46dSL0B1LETfOzjbZOTx3UsMnUHUDiFg8rT2FGMj7ECcaX2fQrDfkUC24T9CsTBWMFYwTgBw5E4ACAedhTZUQQAAAAupeBL+mgAAAAAAABAHARQAAAAAAAACCgCKAAAAAAAAAQUARQAAAAAAAACigAKAAAAAAAAAUUABQAAAAAAgIAigAIAAAAAAEBAEUABAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAooACgAAAAAAAAFFAAUAAAAAAICAIoACAAAAAABAQBFAAQAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAKKAAoAAAAAAAABRQAFAAAAAACAgCKAAgAAAAAAQEARQAEAAAAAAODKDqCio6M1ZswY1axZUxUqVFC7du20ZcuWMy6/adMmtW/fXpUrV1atWrXcfSMjI2MtM2PGDN1yyy3u8Zo2baqvv/76MrwSAAAAAAAAJMsAaty4cZo1a5b69++v2bNnu0Cqbdu2ioiIiLfswYMH1bx5cx07dkzTp0/XyJEjtXDhQvXp08e3zLx58zRq1Cg98cQT+uijj1S7dm116tRJa9euvcyvDAAAAAAAAEkeQFnINGXKFHXt2lV16tRRqVKlXHi0Y8cOLVq0KN7y7733no4eParRo0erTJkyrgpqwIABmjt3rrZu3eqW+fzzz1WjRg01bNhQBQsWVLdu3ZQhQwYtWbIkCV4hAAAAAAAAkjSAsqqkI0eOqHr16r7rwsPDVbp0aa1YsSLe8ps3b1bRokWVPXt233W2rFm5cqX7N0eOHO6+9tgxMTFasGCB/vvvP5UtW/ayvCYAAAAAAADEFqokZJVOJl++fLGuz507t++2uNfv2rVLUVFRCgkJcddt27bN/bt37173b5cuXbR+/Xrdddddbhmb0tevXz9XLQUAAAAAAIBUFkBZLyeTNm3aWNenS5fO9XuKq1GjRq5n1ODBg9WzZ083Hc+m4IWGhurkyZNumX/++ceFTsOGDVOJEiXcVL6BAwcqf/78rtH5xQgNTfKWWQACLCSE7zkAxgkA7FMAuDxCUtHxR5IGUOnTp/f1gvJ+NidOnFBYWFi85YsUKeL6P1nT8ZkzZ7reTl7FU+bMmV0gZQ3Hn3nmGVcB5U3RsyqpESNGXFQAFRwcpGzZMl7w/QGkDHzPATBOAGCfAgDHH1dYAOVNvbNpdYUKFfJdb7+XLFkywfvUrVvXXWyZrFmzKjIyUkOGDHENxzds2KADBw7E6/dUoUIFffbZZxe1rtHRMTp06KhSOg6ugbPbv/9Iqt9EjBMA4wT7FMDFY5+C4w8gNYwV4eFhia7iStIAys56lylTJi1btswXQB06dEhr1qxRixYt4i1vjcatAmrq1KmuH5SxJuNWLVWxYkXflL5169apWLFivvvZ71Y9dbEiI6OVkgUFJfUaAMlfVFS0YmKUajFOAOeW2scJw1gBnBtjBWMFkBhRqWi/IkkDKOv9ZEGTTY+zM9tZn6bhw4crb968atCggWs2vm/fPje9zqbo2RnwLEwaOnSoWrVq5X62HlCPPfaYC7Ls0rhxYw0aNMj1kbrmmmu0ePFizZ07Vy+99FJSvlQAAAAAAIBUK0kDKNO1a1c3ja537946fvy4qlSposmTJytNmjTaunWr6tWr55qON23a1IVU48ePd1PuLGjKlSuXOnfurDZt2vgezxqOv/baa26ZPXv26Oqrr9bIkSN16623JunrBAAAAAAASK2SPIAKCQlRr1693CWuAgUKuConfzbVbs6cOWd8PKuU6tGjh7sAAAAAAAAg6aWe8/0BAAAAAAAgSRBAAQAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAKKAAoAAAAAAAABRQAFAAAAAACAgCKAAgAAAAAAQEARQAEAAAAAACCgCKAAAAAAAAAQUARQAAAAAAAACCgCKAAAAAAAAAQUARQAAAAAAAACigAKAAAAAAAAAUUABQAAAAAAgIAigAIAAAAAAEBAEUABAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAooACgAAAAAAAAFFAAUAAAAAAICAIoACAAAAAABAQBFAAQAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAigAAAAAAAAkHJRAQUAAAAAAICAIoACAAAAAABAQBFAAQAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAIKAIoAAAAAAAAXNkBVHR0tMaMGaOaNWuqQoUKateunbZs2XLG5Tdt2qT27durcuXKqlWrlrtvZGRkrGW+/vprNW3aVGXLllX9+vU1c+bMy/BKAAAAAAAAkCwDqHHjxmnWrFnq37+/Zs+e7QKptm3bKiIiIt6yBw8eVPPmzXXs2DFNnz5dI0eO1MKFC9WnTx/fMsuXL1fHjh1Vp04dzZ8/X4899pgGDhyoBQsWXOZXBgAAAAAAgCQPoCxkmjJlirp27eoCo1KlSmnUqFHasWOHFi1aFG/59957T0ePHtXo0aNVpkwZVwU1YMAAzZ07V1u3bnXLvPLKK67qyR6zUKFCuu+++9SkSROtXLkyCV4hAAAAAAAAQpNyE6xdu1ZHjhxR9erVfdeFh4erdOnSWrFihRo3bhxr+c2bN6to0aLKnj277zpb1ljAlCNHDvevTcvzN2jQoIC/FgAAAAAAACTDAMoqnUy+fPliXZ87d27fbXGv37Vrl6KiohQSEuKu27Ztm/t37969LqCyKXx2m1VAWYhl92nRooWrhLpYoaFJPmMRQICFhPA9B8A4AYB9CgCXR0gqOv5I0gDKejmZtGnTxro+Xbp0rt9TXI0aNXI9owYPHqyePXu66Xg2BS80NFQnT57U4cOH3XLWE8oalVsvqGXLlumFF15w119MCBUcHKRs2TJe8P0BpAx8zwEwTgBgnwIAxx9XWACVPn16Xy8o72dz4sQJhYWFxVu+SJEirv+TBUx2ZrsMGTKoS5cuWr9+vTJnzqw0adK45e666y61atXK/Xzttde6yqhp06ZdVAAVHR2jQ4eOKqXj4Bo4u/37j6T6TcQ4ATBOsE8BXDz2KTj+AFLDWBEeHpboKq4kDaC8qXc2rc4ahnvs95IlSyZ4n7p167qLLZM1a1ZFRkZqyJAhKliwoPLmzeuWueaaa2Ldp3jx4po3b95Fr29kZLRSsqCgpF4DIPmLiopWTIxSLcYJ4NxS+zhhGCuAc2OsYKwAEiMqFe1XJOlkQzvrXaZMmdw0Oc+hQ4e0Zs0aValSJd7y1mC8ZcuWLnSy3k42dc/OlmfVUhUrVlSePHlckPXrr7/Gut+ff/4ZK+ACAAAAAADA5ZOkFVAWIFmD8BEjRrgz2+XPn1/Dhw93lUwNGjRwzcb37dvnptfZFD07A966des0dOhQN8XOfrYeUI899pgLskznzp317LPPqlixYqpVq5a+//57zZ071y0HAAAAAACAVBZAGTtbnVU09e7dW8ePH3eVT5MnT3b9nLZu3ap69eq5puNNmzZ1IdX48ePdlLvGjRsrV65cLnBq06aN7/Gs/5OZMGGCu5+FWn379lWTJk2S8FUCAAAAAACkXkkeQIWEhKhXr17uEleBAgVclZM/m2o3Z86csz6mhVBeEAUAAAAAAIBU3AMKAAAAAAAAVz4CKAAAAAAAAAQUARQAAAAAAAACigAKAAAAAAAAAUUABQAAAAAAgIAigAIAAAAAAEBAEUABAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAooACgAAAAAAAAFFAAUAAAAAAICAIoACAAAAAABAQBFAAQAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAKKAAoAAAAAAAABRQAFAAAAAACAgCKAAgAAAAAAQEARQAEAAAAAACCgCKAAAAAAAAAQUARQAAAAAAAACCgCKAAAAAAAAAQUARQAAAAAAAACigAKAAAAAAAAAUUABQAAAAAAgIAigAIAAAAAAEBAEUABAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAir0Qu8YERGhd999Vz/88IN2796tQYMGafny5SpTpozKlSt3adcSAAAAAAAAqasCat++fbrnnns0cOBAbd68WatWrdLx48f11VdfqWXLlvr5558T/VjR0dEaM2aMatasqQoVKqhdu3basmXLGZfftGmT2rdvr8qVK6tWrVruvpGRkWdczxo1auiVV165kJcJAAAAAACApAqghg0bpiNHjmjBggV67733FBMT4663MKhs2bLu38QaN26cZs2apf79+2v27NkukGrbtq2rsIrr4MGDat68uY4dO6bp06dr5MiRWrhwofr06ZPgY/fu3dtVZwEAAAAAACCFBVCLFy9Wt27dVLhwYQUFBfmuT5cunR555BGtXr06UY9jIdOUKVPUtWtX1alTR6VKldKoUaO0Y8cOLVq0KN7yFnYdPXpUo0ePdlP9rApqwIABmjt3rrZu3Rpr2bfffttVS+XKletCXiIAAAAAAACSMoA6ceKEsmbNmuBtISEhOnnyZKIeZ+3ata6Sqnr16r7rwsPDVbp0aa1YsSLe8jbdr2jRosqePbvvOlvWrFy50nfdxo0bNWLECA0fPlxp06Y9r9cGAAAAAACAZBBA2TQ7mzaXkI8++kjXXXddoh7HKp1Mvnz5Yl2fO3du321xr9+1a5eioqJ8123bts39u3fvXvevhV9PPPGEHn30UVclBQAAAAAAgBR4FjybftemTRvdddddql27tpuG9/HHH7tm3999950mTZqUqMexXk4mbpWSTeWzfk9xNWrUyPWMGjx4sHr27Omm49kUvNDQUF/VlfWfsvtbM/NLLTT0gvI6AClISAjfcwCMEwDYpwDA8UeyCKCs99LUqVP10ksvubDJmpBPmzbNTYebMGGCqlWrlqjHSZ8+va8XlPezN8UvLCws3vJFihRx/Z+s6fjMmTOVIUMGdenSRevXr1fmzJm1fPlyvfXWW65XlE0FvJSCg4OULVvGS/qYAJIfvucAGCcAsE8BgOOPZBJALVmyRNdff707a93x48ddtVKmTJmUMeP5BTTe1DubVleoUCHf9fZ7yZIlE7xP3bp13cWWsT5UkZGRGjJkiAoWLOhrUn7nnXfGqrKyUOyTTz7R/PnzdaGio2N06NBRpXQcXANnt3//kVS/iRgnAMYJ9imAi8c+BccfQGoYK8LDwxI9i+SCAiirOrIqJAt6rHLJv3rpfNhZ7yy4WrZsmS+AOnTokNasWaMWLVrEW94ajVsFlFVfWT8os2DBAlctVbFiRdfzqUOHDrHu07JlSzVo0EAPP/ywLlZkZLRSMr8TFgI4g6ioaMXEpN7NwzgBnFtqHycMYwVwbowVjBVAYkSlov2KCwqg7Ex1Fxo6+bPeTxY02Rnr7Mx2+fPnd2euy5s3rwuNrNn4vn373PQ6ez47A966des0dOhQtWrVyv1sPaAee+wxF2TZJUeOHLFfYGiosmTJ4h4bAAAAAAAAKSSAssDHgp+NGze6KibrxRRXlSpVEvVYXbt2ddPoevfu7abz2f0mT56sNGnSaOvWrapXr55rOt60aVMXUo0fP95NuWvcuLFy5cqlzp07u4boAAAAAAAAuIICqL59+7p/R40a5f61s+B5rCG5/f7HH38k6rGsWXivXr3cJa4CBQq4Kid/NtVuzpw5iV7XL7/8MtHLAgAAAAAAIJkEUDNmzLj0awIAAAAAAIAr0gUFUFWrVr30awIAAAAAAIAr0gUFUMb6P40ZM0bLly93Z67Lli2bKleurE6dOqlYsWKXdi0BAAAAAACQugKo9evXq1mzZq5/U926dZUzZ07t3r1bixcv1ldffaV33nmHEAoAAAAAAAAXHkCNGDHCNQh/4403lDlzZt/1//33n1q3bu2ak48dO/ZCHhoAAAAAAABXmOALudOKFSvUoUOHWOGTsd/bt2/vbgcAAAAAAAAuOIAKDQ1VunTpErwtbdq0ioiIYOsCAAAAAADgwgOosmXLatasWYqJiYl1vf0+c+ZMXXfddRfysAAAAAAAALgCXVAPqG7duunBBx/UnXfeqYYNGypXrlyuCfknn3zizo43derUS7+mAAAAAAAASD0BlFVATZo0SS+99JJrNm6VT0FBQa7yaeLEiapSpcqlX1MAAAAAAACkngDKVKtWTbNnz3b9ng4dOqTw8HBFRkbGa0wOAAAAAACA1O2CekCdPHlSffv21f3336+wsDDlyZNHP//8s6pXr66hQ4cqOjr60q8pAAAAAAAAUk8A9corr+jDDz/U7bff7ruudOnSevLJJzVnzhw3PQ8AAAAAAAC44Cl4H330kZ566ik1a9bMd13WrFnVpk0bhYaGasaMGWrfvj1bGAAAAAAAABdWAbV//34VLFgwwduKFi2qHTt2sGkBAAAAAABw4QGUhUyffvppgrd9+eWXKly48IU8LAAAAAAAAK5AFzQFr1WrVnr66ad14MAB1a9fXzly5NC+ffu0ePFiLVy4UIMHD770awoAAAAAAIDUE0A1adJER44c0bhx47Ro0SLf9dmyZdPzzz/vbgcAAAAAAAAuOIAyzZs310MPPaSNGze6Sqjo6GiVKFFCWbJkYcsCAAAAAADgwnpArVq1Sh06dND777/vfg8KCtIPP/yghx9+WC1btlTt2rU1efLk83lIAAAAAAAAXOESHUCtXbvWhUx//PGHMmTI4K777bffNHDgQHdGvFdeeUWPP/64Ro0apc8//zyQ6wwAAAAAAIArcQrehAkTVKpUKU2bNk1hYWHuuhkzZrh/R4wY4W4ze/bs0RtvvOGakwMAAAAAAACJroBasWKFq4Dywifz3XffueonL3wyNWrU0Jo1a9iyAAAAAAAAOL8AyhqN582b1/f7hg0btH//ft1www2xlrOAKiIiIrEPCwAAAAAAgCtcogOorFmzau/evb7fly5d6pqQV69ePdZyFkxlz5790q4lAAAAAAAArvwAqmrVqpozZ45iYmIUGRmpuXPnKl26dKpZs6ZvGat8mjlzpipWrBio9QUAAAAAAMCV2oS8Y8eOeuCBB1xzcQuhtm/frk6dOilz5szudgukLHzauHGjhg0bFsh1BgAAAAAAwJUYQJUoUcJVQE2ZMsVNxWvXrp0efPBB3+0vv/yyQkND9eqrr+raa68N1PoCAAAAAADgSg2gTPHixTVo0KAEb3v33XeVK1cuBQcnelYfAAAAAAAAUoHzCqDOJk+ePJfqoQAAAAAAAHAFoVwJAAAAAAAAAUUABQAAAAAAgIAigAIAAAAAAEBAEUABAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAgoAigAAAAAAABc+QFUdHS0xowZo5o1a6pChQpq166dtmzZcsblN23apPbt26ty5cqqVauWu29kZKTv9uPHj+ull15S3bp1df3116tp06b64osvLtOrAQAAAAAAQLILoMaNG6dZs2apf//+mj17tguk2rZtq4iIiHjLHjx4UM2bN9exY8c0ffp0jRw5UgsXLlSfPn18ywwYMEAfffSR+vbtq/fff1/169dX586dtWzZssv8ygAAAAAAAJDkAZSFTFOmTFHXrl1Vp04dlSpVSqNGjdKOHTu0aNGieMu/9957Onr0qEaPHq0yZcq4KigLnObOnautW7e6YMpCp549e6p27doqXLiwHn/8cVWtWtUtAwAAAAAAgFQWQK1du1ZHjhxR9erVfdeFh4erdOnSWrFiRbzlN2/erKJFiyp79uy+62xZs3LlSgUFBWn8+PFuap6/4OBgHTp0KKCvBQAAAAAAAMkwgLJKJ5MvX75Y1+fOndt3W9zrd+3apaioKN9127Ztc//u3btX6dOnV40aNZQ1a1bf7atWrdLSpUtdjykAAAAAAABcXqFKYjZlzqRNmzbW9enSpXP9nuJq1KiR6xk1ePBgN83OpuPZFLzQ0FCdPHky3vJ///23OnXqpHLlyun++++/qHUNDU3yvA5AgIWE8D0HwDgBgH0KAJdHSCo6/kjyAMoqlrxeUN7P5sSJEwoLC4u3fJEiRVz/J2s6PnPmTGXIkEFdunTR+vXrlTlz5ljL/vTTT67/U968ed20vDRp0lzwegYHBylbtowXfH8AKQPfcwCMEwDYpwDA8ccVGEB5U+9sWl2hQoV819vvJUuWTPA+devWdRdbxqbaRUZGasiQISpYsKBvGWtg/uSTT6p8+fKuYipuOHW+oqNjdOjQUaV0HFwDZ7d//5FUv4kYJwDGCfYpgIvHPgXHH0BqGCvCw8MSXcWV5AGUnfUuU6ZMWrZsmS+Asmbha9asUYsWLeItb43GrQJq6tSprh+UWbBggauWqlixovv9yy+/VI8ePVSvXj2NGDEi3vS+CxUZGa2ULCgoqdcASP6ioqIVE6NUi3ECOLfUPk4Yxgrg3BgrGCuAxIhKRfsVSR5AWThkQZMFRXZmu/z582v48OFu2lyDBg1cs/F9+/a5CiabomdnwFu3bp2GDh2qVq1auZ+tB9Rjjz3mgizrG/XUU0+pTJkyeu6552L1kbIpeP7NyQEAAAAAAJAKAijTtWtXN42ud+/eOn78uKpUqaLJkye7wGjr1q2uksmajjdt2tSFVNbPyabcNW7cWLly5VLnzp3Vpk0b91jffPONq6D69ddfVatWrVjPU7VqVb3xxhtJ9CoBAAAAAABSp2QRQIWEhKhXr17uEleBAgVclZM/m2o3Z86cBB/rjjvucBcAAAAAAAAkD6nnfH8AAAAAAABIEgRQAAAAAAAACCgCKAAAAAAAAAQUARQAAAAAAAACigAKAAAAAAAAAUUABQAAAAAAgIAigAIAAAAAAEBAEUABAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAooACgAAAAAAAAFFAAUAAAAAAICAIoACAAAAAABAQBFAAQAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAKKAAoAAAAAAAABRQAFAAAAAACAgCKAAgAAAAAAQEARQAEAAAAAACCgCKAAAAAAAAAQUARQAAAAAAAACCgCKAAAAAAAAAQUARQAAAAAAAACigAKAAAAAAAAAUUABQAAAAAAgIAigAIAAAAAAEBAEUABAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAooACgAAAAAAAFd2ABUdHa0xY8aoZs2aqlChgtq1a6ctW7accflNmzapffv2qly5smrVquXuGxkZGWuZmTNnql69eipXrpweeughrVmz5jK8EgAAAAAAACTLAGrcuHGaNWuW+vfvr9mzZ7tAqm3btoqIiIi37MGDB9W8eXMdO3ZM06dP18iRI7Vw4UL16dPHt8x7772nYcOGqVu3bpo3b54KFCighx9+WPv27bvMrwwAAAAAAABJHkBZyDRlyhR17dpVderUUalSpTRq1Cjt2LFDixYtire8hUtHjx7V6NGjVaZMGVcFNWDAAM2dO1dbt251y4wfP14tWrTQnXfeqeLFi2vQoEEKCwvTO++8kwSvEAAAAAAAAEkaQK1du1ZHjhxR9erVfdeFh4erdOnSWrFiRbzlN2/erKJFiyp79uy+62xZs3LlSu3du9dN0fN/vNDQUBdUJfR4AAAAAAAACLxQJSGrdDL58uWLdX3u3Ll9t8W9fteuXYqKilJISIi7btu2be5fC5/O9ngWdl2s0NAkn7EIIMBCQvieA2CcAMA+BYDLIyQVHX8kaQBlvZxM2rRpY12fLl061+8prkaNGrmeUYMHD1bPnj3ddDybgmdVTidPnjzr4504ceKi1jU4OEjZsmW8qMcAkPzxPQfAOAGAfQoAHH9cYQFU+vTpfb2gvJ+NhUXWtymuIkWKuP5P1nTcznSXIUMGdenSRevXr1fmzJljPZ6/Mz3e+YiOjtGhQ0cv6jGSAw6ugbPbv/9Iqt9EjBMA4wT7FMDFY5+C4w8gNYwV4eFhia7iStIAypsqZ9PqChUq5Lvefi9ZsmSC96lbt6672DJZs2ZVZGSkhgwZooIFC8Z6vGLFisV6vDx58lz0+kZGRislCwpK6jUAkr+oqGjFxCjVYpwAzi21jxOGsQI4N8YKxgogMaJS0X5Fkk42tLPeZcqUScuWLfNdd+jQIa1Zs0ZVqlSJt7w1Gm/ZsqULnayvk021s7PlWXVTxYoVlSNHDl199dWxHs+Wtfsl9HgAAAAAAAAIvCStgLIAqUWLFhoxYoQ7s13+/Pk1fPhw5c2bVw0aNHDNxvft2+ebXmdnwFu3bp2GDh2qVq1auZ+tB9Rjjz3mgizzyCOPaODAgSpcuLDKli2r119/XcePH9e9996blC8VAAAAAAAg1UrSAMp07drVVSn17t3bBUVWqTR58mSlSZNGW7duVb169VzT8aZNm7qQavz48W7KXePGjZUrVy517txZbdq08T3e/fffr//++08vv/yyDhw4oOuuu05Tp0519wUAAAAAAEAqDKBCQkLUq1cvd4mrQIECrsrJn021mzNnzlkf89FHH3UXAAAAAAAApPIeUAAAAAAAALjyEUABAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAooACgAAAAAAAAFFAAUAAAAAAICAIoACAAAAAABAQBFAAQAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAAKKAAoAAAAAAAABRQAFAAAAAACAgCKAAgAAAAAAQEARQAEAAAAAACCgCKAAAAAAAAAQUARQAAAAAAAACCgCKAAAAAAAAAQUARQAAAAAAAACigAKAAAAAAAAAUUABQAAAAAAgIAigAIAAAAAAEBAEUABAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAooACgAAAAAAAAFFAAUAAAAAAICAIoACAAAAAABAQBFAAQAAAAAAIKAIoAAAAAAAABBQBFAAAAAAAAC4sgOo6OhojRkzRjVr1lSFChXUrl07bdmy5YzL7927V0888YSqVaumG264QT169NDOnTtjLTN//nw1btxY5cuX12233ab333//MrwSAAAAAAAAJMsAaty4cZo1a5b69++v2bNnu0Cqbdu2ioiISHD57t27a/v27Zo6daq72M+dOnXy3b506VL973//U4sWLfTxxx+refPmeuaZZ/T1119fxlcFAAAAAACAZBFAWcg0ZcoUde3aVXXq1FGpUqU0atQo7dixQ4sWLYq3/KFDh7R8+XJXJXXttdeqdOnSat++vX777TcdOHDALfPFF1+oZMmSatasmQoWLOgCKHvcb7/9NgleIQAAAAAAAJI0gFq7dq2OHDmi6tWr+64LDw93wdKKFSviLZ8+fXplzJjRTak7fPiwu3zwwQe6+uqr3f1Mjhw59Ndff7lKqJiYGC1btkwbNmxQuXLlLutrAwAAAAAAwCmhSkJW6WTy5csX6/rcuXP7bvOXNm1aDRkyRH369FHlypUVFBTkln3zzTcVHHwqS2vZsqVWrVql1q1bKyQkRFFRUerQoYPuvPPOgL4WC7siI08qOQsKko4fP67smUN0Ip1SrSwZQ9x2iMqQTTFpMig1iwnL4rZFtjThCgtKvh+KGMXoSOQxRcQk7+8YAAAAACAZBlDHjh3zBUv+0qVLp4MHDyYY8vzxxx+6/vrrXZ8oC5dsyt7jjz+ut956S5kyZdK///6r/fv3u5CqYsWKrhLKlrHpePfee+9FrW9oaMIFYxY87dq1XTEx0Uru9u0LVrNaudy2TK2Cg4O0YcPfiqx4n32olKoFBbttcXe+W5L9ZyIqJkqrDq7Tkv2/BPR5QkKSvDUegGSOcQIAYwUA9itSWABlU+q8XlDez+bEiRMKCwuLt/zChQtdtdPixYtd2GTGjx+vm2++We+++67atGmjLl26uDPgWe8nY72iLMwaPny4mjZt6quUupDQIlu2jPGut4P2zZs3u2qrbNnyuKqs5O5Y1OFkHzYEkr2XOXNmUoQiCaCCQ5Q2R14dP3Tqs5ysRUWrckhZ92MgQ6iEvucAwDgBgH0KABx/pOAAypt6t2vXLhUqVMh3vf1ujcTjWrlypev35IVPJkuWLO46C4H27dunv//+W2XLnjpI9VSoUEGvvfaaa1SePXv2C1rX6OgYHTp0NN71UVGR+u+/w8qSJadCQmJXciVHroor+LgUnczDhgAKCg5W2rTpFGNhZAqoWguo/98WQSHByT+ACglWmDKrXFRJ/XhgdcCm4+3ff0SpHSEccHaME4wVQGIwVjBWAKlhrAgPD0t0dXiSBlB2djoLk6xRuBdA2Znu1qxZoxYtWsRbPm/evJo/f76rkLJpeubo0aPaunWr6/FkYZRVTq1bt061atXy3c9+tyblFxo+eSIj44cVJ09Gun9DQpJ0UwKpQ0iwQoJClDE0TBEnAxNARUVFp+qZmSmgiBNIcql9nDCMFcC5MVYwVgCJEZWK9iuStNmJ9X6yoGnEiBH64osv3FnxevTo4YKmBg0auB5Pu3fvdk2STZMmTdy/3bt3d8vapWfPni6Msul1Ng2uVatWrtrJzpS3ZcsW9++ECRNcI/JASglT74ArRZD4vgEAAABASpLk3Xa7du3qmoP37t1bDz74oAuRJk+erDRp0riG4jVq1NCCBQvcsnbGu1mzZrmpQnaWu4cfftgtZ9dlzpzZLdOtWzfXB8pCpzvuuEOTJk1Sr1699MgjjyTxK01eWtxX11327N4Z77YvFn3obps7Z1qiHqv74w/qm8WfuJ+PHTuqb79elOBtl9OAvj0Svf4PtH9cC79cnOBt3Xr31YMdOutERESs6//dtUu1777P/Xsu57Ps+fj599Xucb1L3XsecK/lrfc+uKTPAwAAAADAxUryeWMWOFlAZJe4ChQo4KbP+StWrJhrPH62x7Ngyi5J7XIWRV1IyZ5NG/xp5Q9q0OjuWNevXP7dBVd0Lfz4Ha35/RfVrN3A/f7i4NeUPn38hvKB1v3JFxQamuaSPNb2nTv15rvz9OhDzS7o/rlz5NC8Ka8ra3i4AsEe20RGRuqvvzdp4OhXlCdXTtWtcVNAng8AAAAAgBQXQF2psmTJoLRpQy7b80VEROngwfhN0s+mVOly8QKoo0eP6K8/16hwkeIXtB5xG1mHZ8mqpJAp86ULe/LmzqXZ73+oW+vUVoGrTjXOPx8WiubIlk2B4v/YeXLlUv2aNfTldz8QQAEAAAAAkg0CqACw4iELn9q8+KmOHj/VpDyQMqQP1bQ+t7rnPZ9KqEpVbtSsGRNc6JQhw6lTz//y01KVLFVWJ06c6rtlJowd6v59rPNTvutsit6z/UaqdJkKvutsqt1778zw3f7mO1+6KXhN72utWjc3dNPiyparpLV/rNLaNauUI2dutXqki8pVqOLuc+Twf5r95uv6ceUPOhkRoYqVq7vbM2bKrDWrf9Hrrw7V3fe20pxZk3Qy8qTuvPshFS9xrSZPGKn9+/aoctUaat/pKQUHB7vnurZMed1zfxtFnjyp2TMnatkPi3Xo0AFly55TbR9tq0bVKiZqOzWoXUvLfv5Fo16fpJf6PZ/gMrv37tUrk6fqx1W/uyb5RQoVVLe2j6jstaXc1Ltmj3XS7Amv6sNPFmn1uj81ZuCLvvu+/uYsrf1rvUa+0Ef/HTmi0RMn6/vlKxWWPr1qVb9BHVu18DXdT4z06dNJB0///tsfazVhxpv68++NrrKtfJnSeqpTR+XInk0PdXhc99z3oKo3qu1b/qmOXdWoyR2qc+stWvv7ar35+hRt/WeL8uTLq3uaN1PVGje65fbs2q2Jo8fqrz/WufWrVusmNW/3iEJDGVYAAAAAAMmsB9SVzMKnYycCf7nQkKtAoaIujFn1y4pY0+8qV72wqVvVbrxZt91xn0pcU1pjX383wWU+mDdT1W+qqyEjJ6tQkWKaPP4lRUefOrvgqOF9tHnTej3x9EA9/fwwbd/2jya8eir8Mvv37dXK5d/quRdG6a6mzfX2zEl6Y9qreqzTU+rUvbeW/vCVflzxfbzn/PD9WS5Y6/bkCxo+eroLw0aMGKp9Bw4k6nVZoNXzsXb66bff9OV38R/fDHj5FUVFR2vckIGaNHKYcuXIrpETJsZbrm7Nm/Tb2rXaf+B0QvTNkqW+aqVhY1/TkaNHNXZwfw18upfWrd+glydOVmJt2rLFraOFZubwkSN6esBgVa5QXtPHjNSIvr217d8denPee+72ejVraPHiz3333/bPFu3Ytl1VbqyuA/v2a0S/gap1S10NGTdad9zXVBNGjXGhlJk+fqLSh4Vp0NhR6vH8M1r+3RIt/uR0/y8AAAAAADwEUKmcVUHZNDxz8mSEfv91pSpWubAAKm26dEqXPkwhoWmUNVv2BJepUPEGFwDlyZtfTe5pob17d+nggX36Z/MGrV3zqzp2fVbFipdSsRLXup9t3SyIMlFRkXqoVUddlb+Qbrm1iWJiotWg4d0qfk1pXV+pugoXKaZ/t2+J95yFChdTu4693HK581ylJvc0d/2StmzbnujXVqp4Md3ZoIFenTpdR48dizftsGbVKurW9lEVLpBfRQoW1N2NGrowKK4SV1+tAvmu0rfLl7vfN2ze7CqkalWr6oKh75Yv13PduqhY4cK69poSevLxx/TJ4q9ckHQmDR9s4S633P+QWnftqby5c6vK9eXdbdY8vdX996r1/fcqX548riKrdvUbtOmfU+tWr1ZN/f77b9q7e4/7fem336tsxQrKmDmTPvt4ga6rUE4N7rhdea/Kpxp16+jmhg30yfsfuWX37NylDBkyKGfuXLqmdCn1evF5VahSKdHbFAAAAACQejBXJpWzsGnMiH6KiorS6t9+clVRWbIErl9RnnwFfD+HhWX0BUvbt/6jDBkzKd9VBX23W9CUMWNmF0DZbcYCJC/sMjlz5fEtnyZtOheixWVT8377daVmTn/NPdbmjX+5673Kq8Rq2+JBfbN0qSbPmq1777jdd71Na7urYQN98d0PWr12nf7Ztk3rNvyt6OiE50PWrXGjvl26THc2uEXfLFmmyuXLKTxzZv2+9k93n3vbPhZrebtu244dKlmsWIKPN2nkcN/r2bl7j15/Y6aeHjhEo/v3c/2hbr25tuZ8+LHWb9qkzVu2av2mzSpbqqS7j4VlxYuX0LLvflDDJndo2bff664H7nW3bduyVT8tX6lHmp5uvh4VGam8+U+9B43vvVsTRr2ilUuWqnzlSqpW8yYVKVbtvLYpAAAAACB1IIBK5azfk1m39jf9uPx7F9bEYyfE88tSLKy6UAn1B7K+VWnSpk1weQtV/IMia+gda9WCz13E985bk7X4iwWqVedWd3a+Rx/roa4dzv+MdpkzZlTH1q005JVXVeG6MrHW8Yl+/XX46FHdfNONurFKJZ2MjNTzQ0ck+Dg23e7NufNcv6evlyxVsyZ3ueujoqOUKUMGTRgxJN59cmVPuKLMFMh3ujF6ofz5Xe+oTs/01t+b/1HmTBnVvtfTKlm0qAu6Gt9SX0tX/qg1f54K4cwttzTUF19/7iqfdu/cqUrVqp56XVFRqnFzbd35/4FU3Pfgpptrq0z5clq5ZJl+Xr5SowcN0x333aP7Wzc/j60KAAAAAEgNmIKXylmYYNPiflrxg376cUmCAVRoaBodP376DHu7dp556ppVA10Iq3w6euSwb7qd2bZlk44dOxKrKupCfPHZR2r9aBc1a9Fe1W662ddgPcY/VUukBnVqqVzpazV2yjTfdZu2bNWva/7QyH7Pq+W9TVW9ciXt3X8gwbMCGjdNr0AB15Dcpt3VvOFUE/aCV13lQqwgBblQyS42he616W8oIvL8+3xZMPbtsuUKz5RJQ3o/46q2ype+Vtt37oq1Xg0a3Kr1a9fp2y++UoUqlV1fJ5OvQH7t2L7dTb/zLj8uXaYfvvra3T5n+ps6eOCA6t/eUL1e6K37WjXXih+WnPd6AgAAAACufARQcNPwvvpygZt6lzvP6WoaT9HiJfXbqh/1+28/acs/GzV90hgXSiUkXbr0OrB/r3bv2nFeW9am25W/vqomjB2iDevXasNff2j8q0NV6tpyKljo6ot6lzJlCtfPK5e44GzdH79p3OhB7vqTJy+seXv39m21Z9++04+fMaOCg4PcFLwdu3brqx+WaOrst91tESdPnrEK6o1356mq9VvKkMFdV6RgAVW9voIGvDxGf/y1Xn9u+FtDxryqY8ePu+qrM9m7f7/vsm7DBo2f/oarhCpauJCb2mfT8n5c9Zu279ipWfPed9MIrULLkzdvPhUveY0++eAjVa91OoCsf3sj/f3XBs2ZPtM1Jv9+8deaM+1N5cyd292+fctWTX/tdf2zcZO2bv5Hv6z4UYWLXtx7BQAAAAC4MjEFL4AypA9NEc9TrnwV19un0hnOflej1i36c+3vGjW0t+vFdG+zh7Vjx9YEl7UKqi8WfaSnejysUeNmndd6dOj8jKZPGaPBLz7pzjxXqfJNatHmcV2s9o//T1MnvqynejzizvpX75bGCkufVn/9vVE3/H+z7vNhQdEDd92pmXNPnUkud84c6vFYO82Y864mvjnTVTJ1bfuIBo0e654jR/ZsCZ4N7/U3Z6ne/5/9zvNc9y4aPXGKevZ9USEhwS6QsubmZ9P0kfa+6rNMGTOoSoXyerZbF7cNb76xun5dvUZ9hr0kK04rVby4Hm/T2gVkFo6lTXfqs1OtVg1t3rhJFapW9j1urjy59WTf5/TW1OmaP/c9ZcuZQ83bPeym3pmHO3fQ1FcnqP9Tz7npelY91bpDu/PengAAAACAK19QTEJzhBBPVFS09u2LfyYya3q9d++/ypEjn9KkOd3HKEuWDEqbNna/okCKiIjSwYOnp8mdSWhosDZsO6iYMzTITg0s2Ln6qnCd2LFRijm/RuRXnOBQpctTWENGDdLePXvV4YluStaionX4wD7N3jpf+04evKQPHRaaXtPvGaU9e/5zfclSKwsqc+bMrPufna9jJy6sSvBKkT08vab3vVUbh7dQTETss1+mNsGZsqtIt4lqPbeHjkWemsacGjFOnMZYcRpjxWmMFYwVcTFWMFbExThx5e1XZM+e0R1jJwYVUAFiYdAFtkO6ICn5A4uks2HTJm1cuUqfzV+oJ/o+x1sBAAAAAAgIAqgAIhRCcrd2/XqNmThZ9Rs3UskypZN6dQAAAAAAVygCKCAVu71+fTVt/qg27t+iaBJTAAAAAECAcBY8AAAAAAAABBQBFAAAAAAAAAKKAAoAAAAAAAABRQAFAAAAAACAgCKAAgAAAAAAQEARQAEAAAAAACCgCKBSqRb31dWa1b8keNvcOdM0oG8PJZUd/27T6BF91b7NnXqkeSM9/3RH/fDdF+62mJgYdevQTHNmTU7wvh/MfVP/6/6w7/eIiAjNe2e6nuzaSg8/1FA9OzfXO7On6vjx42ddhxMREWr7xP908NB/vuu279ipYa++pnvbdlD9+x7U/e07avSkKTr03+llElL77vv08++rE7zNrrfbPZGRkZo6e46adejknuO+dh00dso0HT12TEmhW5t2+vqzU9v+TI78d1hvTpyi7g+318N3369ej3XWwvc/VHR0tLt93PBR6vfE0wned93qP9SicVPt37dPc6a/qS8/WRSQ1wEAAAAASFqhSfz8V7SgoMv3XDExl+6xbr/jAd3aqKmSwokTxzXohZ66vlJ1Pf/iaKVJk1a//bpCE8YOUWhoGlWtVkvVbrpZK5d/q/sfejTe/Zct+Uo31qzrfo48eVKD+vVURMRxNW/9uPIXKKxtWzfrzWljtXPb3xrUq/sZ12PWvPd1Y+VKyhKe2f2+YdNmdX++n0qVKKa+T3RX7pw5tPXfHZo8a7Z69uuv8cMGKzQkJMHHmjfldYVnypSo1z9+xpta+esq9Xq8g67Km8eFXq9Mmuqea8hzCYc4Sem/Q4fUt+dTypY9u9p166xcefNow7q/NGP8RO36d4dad2yvG+vU1Ih+A13IZMv5W/bt9ypd7jp3/e33NNFzXZ9QlRurKXN4eJK9JgAAAADApUcAFSDZs6ZTSJq0ulyiTkZo34ETl+Sx0oeFSbLL5ff7qh91/PgxPdzudDiUN19+bdq4Xos/n+8CqOo16mr+h29r25ZNyl+wiG+57dv+0T+b/1b3Xi+6322ZXbv+1bBRU5Up86lAI3eefMqVO4+eeaKtVvxys6qULxtvHaza6N2PF2j6mJG+66zyqXTJEhry3DMK+v9kMU+uXCpVvJiaPdZJ3y9fodrVqyX4mnJky5bo1//J4q/0VOfHVancqfXKlzu3enZopy7P9dHeffuVI3viH+tymD31DaVJk0ZPDeirtGlPfd5z582jdOnTauSLg9Xgjtt13fUVlDFzJq38YaluaXyb775Wzbb8+x90b8uH3O8ZM2VSuYrX6/OPF+ruhx5IstcEAAAAALj0CKACwPIJC582j2mn6BOBnzoVnC5MhbtOVFDQiUtSCWVT8P5Y/at6vzBK3yz+RN989amuLV1en336vqKjolTr5kZq3rqjL4j54rOP9PF7b+nQoQO6ulhJtX6kiwoWLupu27d3t96Y+qpW//6TIk6cUP6ChdX6ka66ptR12r1rh3p0ekj3PPCwFn78jm6qUU/lrq+q48eOav2fa1T8mtK+dXrgobY6eTLC/Vzk6hK6Kn8hrVj+bawAatmSr1WsxLXKnecq97utd606t/rCJ0/hIsX02msTVThL+gRf/+fffKdC+a9Szv+v1tmwebPWrt+gCcOH+F6zJ2OGDHr9paHKkzOn+33wmLHu3782bnKB0auDB6h5p656uX8/XX9dGR05elQjXntdS1b+6IKpxrfUi/V4wUHB+um333VTlcoKDj41Q7ZMyWtcGOZVY0WcPKnx099w62mqXl9BXds+rPDMp27/7Y+1mjDjTf3590a3vuXLlNZTnTq68Grhl4v18WdfKGuWcP382+/q8dhjanjPQ5o97Q19vegLnThxQmUrVtAjnTv4qpC2/bNF/Z54SpvW/62rChZQ+x5dVKRYUZ08eVJLv/lWDz7Sxhc+ea6vWkXPDHpROfPkVmhoqG6ocZNWxAmg1q1eo8OH/lPVm6r7rqt4QxVNGjNOdzW7z/f6AQAAAAApH0d4AWThU0xE4C+BDrn+Wrda/27foj79x6jVo1316YJ5rlLJ/LTyB82bM12tHu2igcNfV8lry2rgCz115PCpvkivvTJY0dFR6jdwrAYOm6Ds2XNp6sSXYz3+n2t/V/8hr+nW2+9RmbKVlO+qgnqhdxe92Lur3ntnhtb/9YfCs2RVjpy5ffepflNdrVj6bazHWfbDV7qxRj3fVL6dO7apaPFSCb6mChUqKoOr9Ipv2c8/q3L5cr7f16z7S+nTpVPJYqdCtbisSsk/LFn09Td69KFmGtL7GRW4Kl+sZV8a/7r+2bZNYwa8oG7tHtGcDz+Kdfs9jW/TvPkL9cBjj7tlv16y1PWjKlKwoAtyzMQ3Z7lAbGjvZzSqf18dPnpUfYefqtY6fOSInh4wWJUrlHeh1Yi+vbXt3x16c957vuf4fe06XV2woMYNGaQqFa/X66+/pm8+/9IFS/1GDtXB/Qc0+ZXXfMsv/vQzNb63qQa/+rIyZc6kKWPHu+t3/rtDx48dV7FrisfbJhZ8lSlf1lVHmeq1a2rtb6vdlD3fdv72e5WvUkkZMmb0XVe6fFkd3L9fWzf/k+C2BgAAAACkTARQOCdrJv3IYz1d1VGNWreoUJGi+nvDOnfbxx+8rbuaPuR6NuXNV0D3NXtEOXPm0ffffuamWFWqcpMLrey+Vq10S8Mm2rplU6zHb3j7PcqTN7+7v1XSWNDVqPF92rt3l6vG6vdsJz33v/ba8e9W332q16inzZvWa9fOf93v1ttp+7bNqnZjHff70SOH3b8ZMpwONxLrr783qlCB/L7fD/73nzJlzBCr+mnKW2+r4YMtfJeXXnvdd1up4sVdBdO1JWIHMxYOffX9EnVt+4iuKVbUVS61uv90A3LT+v571bt7V+XOmVMff/a5+gx7Sfc8+pgWfLHY3X78xAm9t+ATPdGxva69poSKFS6s57p30S+rV7tKLQurWt1/r3ucfHnyqOy1pVS7+g3a9M8W33PY62h5b1MVKVhAWTJn1gcfvKcHWrdQ+coVVaBQQT3SpaMKFi7kW77+bQ1VufoNylcgvxrc2Vj/bDz1/h09fMT9G+YXIJ1JqetKK2v2bPpp6QrfZ2r590t0U51asZaz9z933rzauH7DOR8TAAAAAJByMAUP55Qla7ZYQU5YWEZFRUW6ny30eeuN1/X2zEm+222q3L/bt7qgo36DO7Xkh8Wuisp6NG36+0/FxJw6O5onV+68sX7PmCmzHmrVwV22/LNRP634Xgs+ekdjXuqnQSMm+fpC2XS/Fcu+0e13PuCaj5cpW1FZsp6aNpcx06npY0eOnP0MdQk5cPCQsvo1wc6cMaMOHzkaa5l7br9NDf4/PJkwY6Yi/n96oFu33LkSfNwt2/9VVHS0Slx9etqg9ZCK65baNd3FzsC3/JdfXEWU9aAqVqSQ0oSm0cnISHV6+rlY94mOjtHW7f+6QOrWm2trzocfa/2mTdq8ZavWb9qssqVK+pbNliVc6dKlcz8fPHRIBw8e0NV+62EhVIEWD/p+z5Pv9PuTIWMGnYw49Voz/f+UwCOHT4V9Z2OfhWq1arjQqXaDem763YnjJ1ShauV4y9rjHjpw8JyPCQAAAABIOQigcO4Pyf9P/fJn1U3GekK1eLiTylxXMdbtYRkyuCqXIf176ejRw7rhxptdlVRk5EmNHtE31rJ2pjvP4s8/VliGTL5KpoKFrnaXIkWv0fBBT+vQwQNuOp65sUZdLV/y9akA6oevdPtdzWJV0hQoWEQbN/ypG6qfeix/Awe+oAolrlb9mjclGJZERZ0OyazSyCqP1m/cpOL/Hx5ZPyavJ1OGsNi9pNL+/7SzM/G2nXvtftvWzrRnTcg7Pdza9xy31KqpOtWr6aHHu+inVb+rcoVTUwNfGdRfYeljP2/2rFm1e+9ete/1tEoWLeqmETa+pb6WrvxRa/78y2/9Tm/vkJBzDwFBZ+jFZMGUBVIb/9qgYteUiHf7Sy8O0q2uCXl59/uNdWqpX8+ndOzoMS395nt3tru4vaPc9omOpv8TAAAAAFxhmIKHi2L9mqzRuFUkeZcP5r3pmojbtLi1f6zS08+P0F1Nm+v6StV04MC+eCGMP6t4+uj9WS688pcxYybXT8iCLU+1G292UwHtOWwqXpUbasa6z40167tG5Ef+fzqeZ/PG9Zo//yNl8nssf9myZtGh/05XTl1T9GpXqTTjnXfjLWuvY+/+A4naVtbYPDQ0xPVv8vy1caPv56ioKFe5ZM3D/dnrth5U1jg8f968CgkO1qH/DqtAvnzukjEsg8ZOma59Bw7o22XLFZ4pk+s/de8dt6t86Wu1feeuM27vzJkyKmvWrNr8/9PqzKYNf6tzy0dd0/izCQkJUbVaNfXZxwsUefJkrNt+WrZcPy1drqw5TlWkGWtcnitvHv268kf9uHSZC6QSYn2ismQ7FTICAAAAAK4MBFCp2N/r1+rXn5fHuljz7vNhvZo+nT9X3329yDX9nv3m664qKX+BwsqQMZOCgoK19IcvtWf3Dnf9vLenufvZGdQScuttTbV757+uSsqak1uw9POPSzRp/Euqf2uTWNVS2bLnVMlSZfXGlLEu3AoLix0oNbztHmXNml0D+/bQrz8v066d291UveGDn1XNmrV1Q6XYVVueEldf7fop+Xumayd3drlnBg1xZ6nbsWu3lv/8i3r2fVE/rfpNZUqenuJ2JnbGvFvr1NboiZNdRdLPv6/WtNnv+G63vlDVK1XUc4OH6rNvvtW/u3Zp9bo/XTPyiIiTql29mmucfvst9TRy/ER3/01btmjQmFdco3Frhm5nwtu5e49+XPWbtu/YqVnz3tc3S5e6aXtncv/9D+qdGTO1+tffXPPvNyZMVolrSyrt/0/TO5t7mjfTsaNHNeT5F/THb79r57//6qtPP9P4l8ao4V2N3XQ+f9aM/MM5cxUTHeOalMdl1VG7d+1WkQSmJgIAAAAAUi6m4AVQcLowxa7jCdzzXAgLi+IaMeaN83qMajfdrIMH9+vdt6fq4IH9btpbz6cGuIbi5uF23fXeuzNcjyirlmr5SGdNGDtEmzf+pazZcsR7PGtG3mfAGL07e6peHt7HVS/lzJVHderdptvvuD/e8tVr1NXkCSPV5N6W8W6zAOXZvi+55582cbSrvrIz6d1c/3Z17tBOQQf+tRKmePez5uALvzzV9NtjZ6Gb9NJwzZz3noaOHae9+/a7sKdiues0YcQQF1olRre2j2j0pCl6ol9/V31kvaTGTZvhu71fr5564525LpjatWePq3yqcn15jRn4gu+sfTZFz+7TZ+gIRUZFuSqnYc8/4yqSbr6xun5dvcY1L7ee6dYQ/fE2rTV19tuKOEPo16pVG23ds12vDB7uentdX7WKWndol6jXY43F+44YrLkzZ+vVYaN0+L//3NS8e1s+6JqXx3Vj7Zqa++ZbuvXOxgoOCYl3+19/rFX2HDniBVcAAAAAgJQtKOZMc3MQi/UE2rfv1Fm//FnD7b17/1WOHPliVedkz5pOIX6/B1rUyQjtO3D2KVMmNDRYG7YddBUoqVVISLCuvipcJ3ZstIZD8W4/cvSo7m/XUZNHjThjQ/ErRnCo0uUprI37tyg6GQwFE0aOUe58eXX3g/HDRicqWocP7NPsrfO17+SlbVQeFppe0+8ZpT17/ksol0w1LLjMmTOz7n92vo6dOHPlXGqQPTy9pve9VRuHt1BMxDGlZsGZsqtIt4lqPbeHjkWeX6XslYRx4jTGitMYK05jrGCsiIuxgrEiLsaJK2+/Inv2jO4YOzGogAoQC4OCgs4dCF0qKfkDm9zYVLkmjW7VR4s+U7sWDyX16qQa1vvpt59/1eC2bZJ6VQAAAAAAlxg9oAIcCl2uCy6tlvfdoyU//qSDh043I0dgzZ/7gZo0u0+Zw8PZ1AAAAABwhaECCkiA9V6aMmoE2+YyavZw/D5eAAAAAIArAxVQAAAAAAAACCgCKAAAAAAAAAQUARQAAAAAAACu7AAqOjpaY8aMUc2aNVWhQgW1a9dOW7ZsOePye/fu1RNPPKFq1arphhtuUI8ePbRz585Yy6xatUrNmzdXuXLlVLt2bff49jwAAAAAAABIhQHUuHHjNGvWLPXv31+zZ892QVHbtm0VERGR4PLdu3fX9u3bNXXqVHexnzt16uS7fePGjWrVqpWKFSumDz/8UM8++6ymTZumyZMnX8ZXBQAAAAAAgGRxFjwLmaZMmaInn3xSderUcdeNGjXKVUMtWrRIjRs3jrX8oUOHtHz5cr322mu69tpr3XXt27fX448/rgMHDihr1qyaMGGCihcvrhdeeEFBQUEqUqSI1q1bp59++ilJXiMAAAAAAEBql6QB1Nq1a3XkyBFVr17dd114eLhKly6tFStWxAug0qdPr4wZM+r9999X1apV3XUffPCBrr76anc/891337kKKgufPF27dr1srymlaHFf3Vi/Z86cRZWq3qQWrTspfViYu6774w+q6X2tVevmhvHuv3vXDvXo9JBGvTpLuXLndY/3bL+RKl2mwiVdz8iTJ/Xt15/q5vqnPgsD+vbQtWXK65772yiQFn65WNNmv6O3Xx8X77aff1+t7s/309fvvXPG+6/45VdNe/sd/fX3RoWGhqhMyZJq27yZShYr5m6vffd9Z7xv3ly53PM+0P5x7di9W2MGvKDyZUrHWmbZTz/rf/0HqeHNtfVM184X9VoBAAAAALiiA6gdO3a4f/Plyxfr+ty5c/tu85c2bVoNGTJEffr0UeXKlV3IZMu++eabCg4O1uHDh7V7925lzpzZTb375ptvXDDVpEkTPfroowoJCbmo9Q0NjT9jMTr6dNAVl18GFnAxMed/n25P9lOJa65TdHSU9u3drSmvj9Rbb4zXw+17uNtfHPya0qc/FUady9jX31WmTJl1qf3w/Zf6YN5MXwDV/ckXFBqaRsnZug0b9NzgYerYppWe6dpJEREn9d6CT9T9+Rc05eURypc7t+ZNed23/PNDR+i6UiX1wF13uN9Dgk9/ziy8+n7FyngB1LfLlscKWXHphIQk+cxkAMkc4wQAxgoA7FeksADq2LFjvmDJX7p06XTw4MF4y8fExOiPP/7Q9ddf76qcoqKi3JQ9m4L31ltvuQDKDB061PWBmjhxolt+4MCBOnr0qOsfdaGCg4OULVvGeNcfPx6iPXuCFRISFCugypg5rdJexqAkIvKkjvyXcN+sM8mYKVxZs2V3P2fPkUt33P2Qpk0c7QugwrNkTfRjeY8T6GQtU+ZTlW7J2Wdff6sqFcrr7ka3+q7r2aGdfvrtd3357fdqfs/dypEtm++2NKGhCkufPtZ1nvKlS+uHFSv1eJtWsb4HFkqVvqbEZXg1qU9C33MAYJwAwD4FAI4/UnAAZVPqvF5Q3s/mxIkTCvv/aWD+Fi5c6KqdFi9erEyZMrnrxo8fr5tvvlnvvvuub8rejTfeqM6dT01Lsl5R+/bt06uvvqpu3bpdcNVIdHSMDh06Gu/6iIgTrnF6VFSMIiNPnWnPnsLCpw4fPqNjJ48r0MLSpNf4OwfrUNTxc1ZCJVTF5UmX7vR7EHcKXmRkpGZOH6fvv/lM6dKH6c67H4q1rP8UPLtftRtv1rdfL1LWrNk1YNgEbd2ySTOmvKL1f65Rjpy5devt9+iWW+/y3f+7bz7TB3Pf1N49u1S4SDG1bttNR48e0evjhvke36b7TXh1aKwpeN8s/kQffzDbTQksULCImrfuqFKly/vW//a7mum7rxfpn03rle+qQmrXsZeKX1PK3f7bH2s1YfoM/fn3Rve5sCqjpzp1VI7s8YOg82HVeBs2b9b+AweVLWsWd509/kv9nleGsNjb+FyqVaqo8TPe1Oat21S4QH533ep1fyo8UyYVvCp25SAujf37j6T6TUkIBzBOJAZjBcBYwVgBcPwRHh6W6OrwJA2gvKl3u3btUqFChXzX2+8lS5aMt/zKlStdvycvfDJZsmRx123evFnZsmVz1VPXXHNNrPuVKFHCVUBZEJUjR44LXl8vYPJnwdOZWPh0LDLwAdSl8N+hg1q04D3dVKt+grfPnTNNP/+4RD2fGqCQkFAXBJ3N999+rqd7D1N0TIxORkRo+KCnVbPOrXr0sZ7avu0fTR7/ksLSh6lG7QZa9csKTRw3XK0e6awyZStp0cJ5emnwsy5watGmkxZ8NMdNBwwPPxXmeCx8mj55jNq0665ixUu534cPekbDR093FV1m3tvT9GiHJ5S/QGH3nDOmvqIXB7+qw4f/09P9B+q+Oxvrue5dtGfffg15ZZzenPeeurV95KK25W316urDTxfp/sc6qkr58qpUvpyqVbxe+fPlPe/Hypwpo8pdW8pVPHkBlE2/q1G1ivbs23dR64mERUVFX9CU1isFMzuBc0vt44RhrADOjbGCsQJIjKhUtF+RpM1OSpUq5cKkZcuWxTrT3Zo1a1SlSpV4y+fNm9cFTVYh5bFgaevWre5sd9bjqWLFivr1119j3c/Ogme9oOwseTht+MCn9WiL29yl46N3a9Omv9SgUdN4m8imfH39xQLd+8DDrrqoRMkyatHm8bNuyptq1lfBwkVdNdMP332h8PCsuq/ZI8qbr4AqVr5Rd93TXJ/Mn+uW/fKzj3RjjXqq1+BO5c2XXw+17KDqNeq6kChDhoyuosim+AXH6eH16cJ5anBbU9Ws3UBX5S+kZi3aq2Chovrsk/d9y1joVblqDeW7qqAa3XGf/l6/zl1vn6FW99+n1vffq3x58qjstaVUu/oN2vTPlov+iBQpWEDjhw1W7WrV9OvqNRozaYoeeryL+g4fqeN+n93EsrDph+UrfL9/v3yFala74aLXEwAAAACAyyVJK6Cs91OLFi00YsQIZc+eXfnz59fw4cNd0NSgQQPX48mqlqypuE3Rs2bikydPdr2cbDqdefnll13VU9Omp4KTjh076uGHH9Yrr7yiu+66S7///rtef/11tWnT5qKbkF9p2nZ8UsWKX2sRk6uAsuDmxee7avBLk5Qly+lpaHbboUMHVLhIcd91RYudmsZ2JnZmPM/2bZv1z+YNLujy2LRF7/34d/sW1WtwqgG3CU2TRg+16njO9d++9R83RdBf8WtKuworjwVenrAMGRUVFel+zpEjp26tW0dzPvxY6zdt0uYtW7V+02aVLRW/8u5CFClYUL17dFVkVJRWr12nL777Xh8v+lw5smVV1/OssLrphioaN22GDhw6pAMHD+pERIRKFT91Nj0AAAAAAFKCJA2gTNeuXV1/od69e+v48eOu8slCpjRp0rjKpnr16mnw4MEuYLIz3s2aNcuFVK1bt3aVMXY2PLvOQipzww03aMKECa45uf2bK1cutW/f3jUtR2zZsud0FUdeUHN10WvU4ZEmWvbDV2rQ6O54mytGp+sCQ0PP/tFJk+Z0Y3kLEsuUrajWj54KDeOyKX0XIk2c5vVesGVn9TvXeto0z4e79VDJokVVuXw5Nb6lvpau/FFr/vxLF8vCoga1a6n41UUUGhLiekvZJWNYmH5Y+eN5P56dNa9IoYJasvJHN1Wwxg1VL3odAQAAAABIVQGUVcH06tXLXeIqUKCAmz7nr1ixYq7x+NnUrFnTXXB+goKD3XQ7C3H8ZQ7P4iqibPpaocKnKm82bVqf6Me16W8/rfhBuXPn9U2js6bj9njW98lCsM2b/vYtHx0VpSe6tFTHrs+edeK4Pa41Na9U5SbfdRv+WqOS15Y95zp9/fWXrpH3kN7P+K6bN3+he/0Xa8Uvv7rQrcujD8e6PlPGjMoafmFn8bupSmUXQO3as1ftWza/6HUEAAAAACBVBVBIOkcOH9KB/acaWR8/flTzP5zjqoesR5M/O4PbLY2aaO7bU5UzVx5lyJhJM6eNS/Tz3FTrFs17Z4Ymvz5Kt995v3bt3K43pozVbXfc5263aquhA/7ngqNrSl7nmpBHx0SryNUldGD/Xh05fFg7/t2qXLljn/WtUeP7NHHcMNdgvFiJa/X1lwvdVL/HOj99znXKkiWrdu7eox9X/eYqjL76YYm+WbpUpYqfnmZ4Lst++jnelNLrryujVvfdqxdHjlLaNGlUv3ZNpQkN1W9/rNNb73+gZ7p00oWocUMVvfPRx+45ype2aZMAAAAAAKQcBFABFJYmfbJ+ntEj+vl+TpcuvZuC1+vZIcqdJ3bQY+68u7lOHD+usaP6uyqmu+9rpemTRidu/cIyqNezg/XmtFf1XK92ypQpXLc0bKI77n7I3W6Nzdu07a73353hArGri12jJ58epLTp0qn0ddcrT96r9MwTj+r5/mNiPW61G+vo4IF9evftqe7fQkWK66new1xD8nOpV+8WrfzhK/UZ9pIrsrLg6fE2rTV19tuKOHkyUa/rf/0Hxfo9V47senfSBN18U3WlTROq2R98pA8+XaSTkZEqVriwnur8uG6qGr+5fmKULFZMmTJmUqVy19HLDAAAAACQ4gTFXIo5R6nk1Ij79h2Jd/3JkxHau/df5ciRL1bfoyzZ0ittaJrLtn4RkSd1cP/xcy4XGhqsDdsOKiY69b7tISHBuvqqcJ3YsVGKiT3dMNUJDlW6PIW1cf8WRaeEoSAqWocP7NPsrfO17+TBS/rQYaHpNf2eUdqz579UcxrUhFggmzNnZt3/7HwdO3GqaX9qlT08vab3vVUbh7dQTMQxpWbBmbKrSLeJaj23h45Fnvv/misV48RpjBWnMVacxljBWBEXYwVjRVyME1fefkX27BndMXZiUAEVIBYGBQVdvp30lPyBBQAAAAAAVzYCqAAiFAIAAAAAAJASVycFAAAAAAAAXCACKAAAAAAAAAQUARQAAAAAAAACigDqEuFkgsDlEyO67gMAAABASkIAdbEbMPjUJoyKSt2nKwcui6hoRcVE6UjkMTY4AAAAAKQgnAXvIgUHhyhNmvQ6fPiAQkJCFBSUvDO96OggKToyVZ+iLyY6SBERJ3QyOjpVb4dTohUUcUIxUSlgW0RF69iR/7Tq4DpFxJxM6rUBAAAAAJwHAqiLFBQUpCxZsmvv3h3at2+nUkLF1uH/jqXqKYPBwUHaE3xYkYcOJP/QJdCCghUaE6zDR/cl+8+EVT5Z+LRk/y9JvSoAAAAAgPNEAHUJhIamUe7cBRQZmbyrMoKCpGzZMuqVUV/pRESUUqssGdNpSOcy2jr5NcWcPKHULDhDFuVv1V8TF72t45EnknXPJ5t2R+UTAAAAAKRMBFCXsBIqTZq0Su4BVPr06bXvvygdO5F6e1ZFK9Rth5Cj+xUTkbp7CQUHxbhtsf/kIR2LPJ7UqwMAAAAAuEIl74ZFAAAAAAAASPEIoAAAAAAAABBQBFAAAAAAAAAIqKCY5H7qq2TCNlN0dMrfVCEhwdq572iyP+NZoM+ClztbBp08sIuz4AUHK02WXNp1ZG+q/kx4fdxyZ8yhqKhopXaME6cwVvhhrHAYJxgrEsJYwVgRF2MFYwVjxVmwT3HFjRX2/6C9lsQggAIAAAAAAEBAMQUPAAAAAAAAAUUABQAAAAAAgIAigAIAAAAAAEBAEUABAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAgoAigAAAAAAAAEFAEUAAAAAAAAAooACgAAAAAAAAFFAAUAAAAAAICAIoACAAAAAABAQBFAAQAAAAAAIKAIoABJTzzxhEqWLKkpU6awPQD4tGzZ0o0N/pfrrrtOderU0QsvvKCDBw8GfGs9/fTTqlu3bsCWB5A8xpZSpUqpYsWKatq0qT744IPLvk7z5s1z67F161bfOtoFQMpi+wFxxxf/yyeffBJr+cOHD7v9BhsDgEALDfgzAMncf//9p88//1zXXHON3n77bT388MMKCgpK6tUCkEyULl1affv29f1+8uRJrV69WiNHjtQff/yht956K6BjxuOPP65WrVoFbHkAyWNsiYqK0o4dOzRt2jT973//U9asWVW7dm3eHgDnLVeuXBo7dmyCtxUpUsT3s/0hzfYbtm3bxlbGZUEAhVTv448/dtvgueeeU+vWrbV06VJVr1491W8XAKdkypRJFSpUiLU5qlSpoiNHjmjMmDH69ddf491+KRUqVCigywNIPmOLqVWrltsPsWoEAigAFyJt2rTn3Df54osvNHDgQLc/A1wuTMFDqjd37ly3o1etWjUVLlxYs2fPjrdN3n//fd19990qX768m3rz0ksvKSIiwnf7L7/8okceecSVztvj9OzZUzt37kywpN1jpa5WIuuxZewvFVZ6X65cOd9fLVasWKFHH33UHfDa1B+73yuvvKLo6OhYpbP9+/dXzZo13X8299xzj7766it329ChQ93jWaWXv3HjxqlSpUo6duxYqv8MABfCvo9m+/btbprKk08+qa5du7rvoFVSmhMnTmjYsGHuINKWv+OOO7RgwYJYjxMTE+MqHho1auS+q7fccosmT57srk9oSt3vv//uwnL7/l5//fVq06aNG4M8cZe3qoqZM2e657bHtzFsxIgRbt3872OPY+Phrbfe6tb1rrvu0jfffMOHA7jM0qVL5w4evcpK+//+9ddfd2ODfTftO/rGG2+c976KVXs/9NBDbtywx2nYsKEbGwCkPocOHVLnzp3d8cWkSZOSenWQihBAIVX766+/9Ntvv6lJkybud/vX/hqwZ88e3zK2c/bUU0+pTJkyLhRq37692/Eb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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "metrics = ['Accuracy', 'Precision', 'Recall', 'F1']\n", "x = np.arange(len(metrics))\n", "width = 0.25\n", "colors = ['#4C72B0', '#DD8452', '#55A868']\n", "\n", "fig, ax = plt.subplots(figsize=(12, 5))\n", "for i, (model_name, row) in enumerate(results_df.iterrows()):\n", " bars = ax.bar(x + i*width, [row[m] for m in metrics], width,\n", " label=model_name, color=colors[i], edgecolor='white', linewidth=0.8)\n", " for bar in bars:\n", " ax.text(bar.get_x()+bar.get_width()/2, bar.get_height()+0.001,\n", " f'{bar.get_height():.3f}', ha='center', va='bottom', fontsize=8, fontweight='bold')\n", "\n", "ax.set_xticks(x + width)\n", "ax.set_xticklabels(metrics, fontsize=12)\n", "ax.set_ylim(0.85, 1.02)\n", "ax.set_title('Model Comparison — Classification Metrics', fontsize=14, fontweight='bold')\n", "ax.set_ylabel('Score')\n", "ax.legend(fontsize=10)\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxMAAAGACAYAAADWNz+UAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAATu1JREFUeJzt3QmczdX/x/HPzIjsW6JSkiXZsmRNtmSXpbRRSaSERIWK0kJlq0j2+glJkShLKQklS4tkXxPJvoQsM/f/eB//7+3OmBHfGTNX83o+HreZucv3fu/33Kvz/p7POTciEAgEDAAAAADOUeS5PgAAAAAACBMAAAAAfGNkAgAAAIAvhAkAAAAAvhAmAAAAAPhCmAAAAADgC2ECAAAAgC+ECQAAAAC+ECYAAAAA+JLG38MAACmpe/fu9vHHH//r/Zo2bWqvvPJKop/v3nvvtcWLF9v1119vkyZNSvbHJ9ex6tChg918883u7+eff97uvvtuCxcbN260kSNH2nfffWe7d++2jBkzWqlSpaxVq1ZWqVIlSy2uvfZa97Nt27b2xBNPpPTuAKkeIxMAAIS5mTNn2q233mpTpkyxP/74w06cOGH79++3r7/+2oWJESNGpPQuAkilIgKBQCCldwIAcG4OHDhgR48eDf79yCOP2MqVK92Z6jfeeCN4ffr06S1r1qyJPrx79+6148ePW9q0aS1HjhzJ/vjkOlaZMmWyXbt2ub+zZMliGTJksJS2evVqu/32212AKFy4sDsbny9fPlu+fLm99tprbn8jIyNt4sSJbuTnv27Hjh3up9pKFwApizInALgAKSCEhoSLLrrI/VRnPU+ePEn+fIkNAMkdIBJzrM7H8UuM119/3QUJHcOxY8da9uzZ3fVXX3215c2b15VixcTE2KeffpoqwkS4tQ+Q2lHmBAD/cTVr1nR15uqUdu3a1UqUKGFVqlSxPXv2mAan3333XWvUqJGVLl3ana2vV6+eDR061HVgQ+c8aBt33HHHadc988wztmzZMrvrrrusZMmS7vlGjRoVax8S+3j5/vvvY91nwoQJ9uGHH7pt6O+k8Pvvv7vt6fL+++8Hn9e7bsuWLfbss89auXLlrHz58tanTx93nObNm2eNGzd2+6ZjqfKjUNHR0a4UqXbt2la8eHG3v/379481YhKfv/76y21bmjRpEgwSnjJlytiAAQPs888/d8cx1IYNG9wohtpabV63bl1766237NixY/G+XrVBv379rHLlyu698NRTT7nn1wiId9y1/yq1CuU9furUqTZmzBj32nRfta9GgEIdPHjQXn75ZTcvRft0ww032J133mkzZsyId5+mTZtmzZs3d8dM2wt9Ph0/zy+//OLmUFSoUMHdt3r16vbkk0/a1q1bTzumZ3NcQp/nk08+ce+zOnXquPurHbw2AcDIBACkGuPGjbNDhw6533WWO2fOnDZkyBAbPHjwaRN9Vf6jztXjjz/+r9tVh1GdPpUxybZt21yn9PLLL7f69esnyeMXLVpkbdq0CQYc3ad3796u45icVCKlzqjnf//7n61fv97tnwKDrF271jp27Og6yFdeeaW7rkePHq5T6tH+azL1zz//7LahMqWEjo1GHSSh19qwYcPTrlu6dKnrXB85ciR43aZNm+zNN9+0hQsX2jvvvGPp0qWL9ZiePXvGem3a3+3bt9uKFSuCoUdhSq9FZVZly5aN9XgFwHXr1gX/1oT7Fi1a2EcffWQFChRw12mCu8KZR23+008/uYtGj2688cZY23zhhReC71lv4nVc2sfWrVu7oOLRvBK9p5YsWeJehzcy5ee4KLRq/zyrVq2yRx991L788kvLnTt3vPsEpCaMTABAKqFOmUYmPvvsM9dxPHnyZPAsszrts2bNcqseeZ3W+fPnn9V21eHVWVt1ntX584SebU7s41999VUXJDSvQatT6TU8+OCDrqObnNRh1UjO+PHjgx1UdUJr1Kjh9kmdTK+TvGDBAve7Os9ekGjXrp2bTK1RIr0WdbhDQ0ZcWrXJE3dUIiFqV40qqMOswKhgqBIohTHRCIRGnuJSB1zBUu8BLwSpM16kSBE36hDaNnPnzj3t8QoSen06DholUUDSPgwcODAYsn788Uf3u0YN5syZ445l5syZ3XXe8QqlNteIzgcffGD33HNPvK/3q6++cu2i46PArO1qtEblbIcPH3arXyXmuCjw6XGzZ892oyTefulvAIQJAEg1VGuus7IFCxZ0ZTpp0qRxHTF1vl588UXLnz+/G7G44oor3P1Dz/SeiZYoVemKzj6rZEXb9yZdJ8XjNcHYK5dRh1JLuOo+6uAl9xwBbxlWleeopMajZWS1Ty1btgxet2/fPvfziy++cD9z5crl9l+TulVG5JVmqfOdEG9UIu7v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4AthAgAAAIAvhAkAAAAAvhAmAAAAAPhCmAAAAADgSxp/DwOAhG3b9rsNH/6WLVnyvQUCMVasWEnr0KGz5c9/zWn3HTZsiI0b966VKlXGhgwZccbD2qPHEzZ//tenXd+pUxe74457aBIAAJIZYQJAktqx4w97+OHWtm/fXkubNp2ZBez777+1DRvW2dixH1iWLFmC9123bo29//57Z71tbUNy5sxpkZFRweszZMhAKwIAkAIoc4pHzZo17dprrw1eihcvbnXq1LFRo0bFut+9995r3bt3T/DgTpkyxT0+dLuDBw+282nZsmW2dOlS9/vvv//unv/777+35KLn0nPquc/mmMQnEAjY2LFjrXHjxlayZEkrW7astWjRwmbNmhW8j457aBvFdwm938MPPxzvc3322WfudrUlksaIEUNdkKhU6UabOfNLmzp1puXKdakdPHjQli5dHLzfyZMnrW/fFy06OvqstnvkyBH744/t7vf3359iH388I3hp2LAJzQcAQApgZCIBrVu3dhf5+++/bfny5fbss89a+vTpXcdWFAyiov45O/pvPvroI0uXTmdqz5977rnH+vbtazfccINddtlltmDBAsuaNatdSN5880378MMP7emnn7YSJUq44z9z5kzr3LmzvfLKK9akSRN75plnrGvXrsHHVKlSxd2/fv36p23voosusoULF9pff/1lmTJlinXbjBkzLCIiIlleV2qgYPDNN3Pd7yo7SpfuYndR5//iiy+Odd+JE8fZ2rWrLW3atHb8+PF/3fbGjetd0MyRI6dlyJAxwfuNHz/exo+fYNu3b7eoqEi76qqrrUWL+61atRpJ8AoBAEAoRiYSoLKJXLlyucuVV15pDRo0sEaNGtnkyZOD98mWLZtlzpzZzlaOHDksY8aEO0FJTUFH+6/O2oVkwoQJ1qZNGxcMdOwLFSpknTp1snr16tn//vc/dx8dd699dEnoOtHIkjqyX331VaznUbiYP3++G/lA0s2VUPiTLVs22V13NbWaNW+0bt262ObNm4L327r1NxszZqRlz57Dbr216Vlte/36UyVOCh6ntlvZ2ra9z5YtWxK8z0cfTbIXXnjBNmxY70Kkws3KlSusZ89use4HAACSBmHiHMQ9sxq3zOmLL75wgUNn0zVCoDOjoULLnPSzZcuW9vjjj1uZMmXsxRdfdNf/8MMPbuRD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3UcACFeMTAAAUrXdu3dbIBCwmJiYWNdnyJDBnn76aatXr17wujlz5lizZs2sRIkSriTqpZdesiNHjsR6nEYyWrdubWXKlLGKFStaly5d7M8//wzevnPnTuvRo4dVq1bNSpYsabfffrt9+eWXsbahUqXx48fbM888Y+XLl7fSpUvbY4895vY11MSJE61OnTpuOy1btnSjKaH0mgYNGmQ1a9Z05Vv6OWDAADtx4kSSHDsAIEwAAFK16tWru074XXfd5TrwGzZscOFCNDLRtGlT9/v06dPt0UcftWuuucbeeust69Chg02bNs3at28fvP/KlStdp/7YsWP22muvWe/evW3FihX24IMP2smTJ10YUHhYunSpm6MxePBgu+KKK9x2ta1QCgEKAwMHDnRlV3PnzrU+ffoEbx83bpw999xzLpRo9OT666+3nj17xtqGRlvef/99t32Vb9199902evRoe/vtt5PhyAJIDShzAgCkavfcc4/t2rXLdbJfeOEFd53KnjQJ+7777nNn/RUW+vfvbzfddJP76bn66qutVatWNm/ePBdKhg0bZtmyZXMd93Tp0rn7XHrppda1a1c3N+PTTz+1vXv32uzZs12IEIUBbUPho2HDhhYZeeo8X+HCha1v377B51q+fLnNmjXL/a79UYCoX7++Gz0R7e9ff/3lRis8ixcvdiMSt912m/tboxzp06e3zJkzJ8ORBZAaMDIBAEj1VEI0f/58VwKkkYNMmTK5kQhNwB47dqxt3LjRduzY4cqENMLgXcqVK+fuu3DhQncMly1bZlWrVg0GCVGJ0ldffWXXXXed69zrby9IeG699VYXaPQ8nlKlSsW6T548eezo0aPud91vz549VqNGjVj3CS3JkgoVKrh9U2AaNWqUrV+/3o2cNG7cONW3OYCkwcgEAABmljVrVjcyoItXsvTkk09av379rFixYu46lS3pEpfmQYhWhMqZM2eCx/PAgQN25ZVXnnb9JZdc4n4ePHgweJ1GEEJpxMIrp9J2vBGUULly5Yr1d5s2bSxjxow2efJkN6Ki11KoUCG3apXmcwBAYhEmAACpliZGqwRIIxPNmzePdVvRokXdvAbNN4iOjnbXae6CSoXiCyKi8iGVMcWlMiiNTOh+GoGIy7subjhIiHc/jU6EUpiJG0BatGjhLrqv9kOlWB07dnQjFmnTpj2r5wOAhFDmBABItTQioOVgJ0yY4CZNx6VyIpUs6Wy+Rhx+//13t5KTd8mdO7crjdIohtxwww2uk378+PHgNnTbQw89ZL/++qsri/rxxx9t27ZtsZ5Hk681qpAvX76z2m/N1bjsssuCcyg8mqQdSpPKteKUaP+1EpWChUZANL8CABKLkQkAQKoVFRVlzz//vBt90AiFOtoFChRwcxMUCrS6k0YtNBKgUYpevXq5x2iugjrkmgSt0Q2vDEorO+kL8Nq1a+cmb//999/2+uuvu0nc3rdrKzhowrVWg9Jk7alTp9qiRYvcSk3e5Ot/ExERYU888YSb2K2SJa06pSVptXJTKIUXTQZXaNJcDe2rvldDoys5cuQ4L8cUQOoSEfAKMAEASKU0aqDVnDSBWmVKKv9RmdO9995rtWvXDt5vxowZbiKzVmbS91DouyQ6d+7svhfCo069Riu0+pImZ2u1JnX8vc771q1b3e0KK/q+hyJFiljbtm3t5ptvDm5D21PYUDmSR8vIDhkyxNasWRNrfxRotmzZ4lZ/0vdb6HstNGlck681SVzLwCrAaAK5yrA0iVwh5GxLqgDgTAgTAAAAAHxhzgQAAAAAXwgTAAAAAHwhTAAAAADwhTABAAAAwBfCBAAAAABfCBMAAAAAfCFMAAAAAPCFMAEAAADAF8IEAAAAAF8IEwAAAAB8IUwAAAAA8IUwAQAAAMD8+D+ioyB2NWrz3gAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Training time comparison\n", "fig, ax = plt.subplots(figsize=(8, 4))\n", "model_names = list(results_df.index)\n", "times = results_df['Train Time (s)'].values\n", "bars = ax.barh(model_names, times, color=colors, edgecolor='white')\n", "for bar, t in zip(bars, times):\n", " ax.text(bar.get_width()+1, bar.get_y()+bar.get_height()/2,\n", " f'{t:.1f}s', va='center', fontweight='bold')\n", "ax.set_title('Training Time Comparison', fontsize=13, fontweight='bold')\n", "ax.set_xlabel('Seconds')\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "============================================================================\n", " MODEL PERFORMANCE LEADERBOARD \n", "============================================================================\n", " Rank Model Name Accuracy F1 Score Train Time \n", "----------------------------------------------------------------------------\n", " 1 LinearSVC (GridSearchCV) 0.9947 0.9947 516.91 s\n", " 2 Bidirectional LSTM 0.9940 0.9940 64.47 s\n", " 3 Multinomial Naive Bayes 0.9937 0.9937 20.80 s\n", "============================================================================\n", " Top Performing Model: LinearSVC (GridSearchCV) (F1: 0.9947)\n", "============================================================================\n", "\n" ] } ], "source": [ "# Declare the winner based on F1 score\n", "winner = results_df['F1'].idxmax()\n", "winner_f1 = results_df.loc[winner, 'F1']\n", "\n", "# Format and sort the dataframe for professional presentation\n", "ranked = results_df[['Accuracy', 'F1', 'Train Time (s)']].sort_values('F1', ascending=False)\n", "\n", "print(\"\\n\" + \"=\"*76)\n", "print(f\"{'MODEL PERFORMANCE LEADERBOARD':^76}\")\n", "print(\"=\"*76)\n", "print(f\" {'Rank':<6} {'Model Name':<25} {'Accuracy':<12} {'F1 Score':<12} {'Train Time':<12}\")\n", "print(\"-\"*76)\n", "\n", "for rank, (name, row) in enumerate(ranked.iterrows(), 1):\n", " print(f\" {rank:<6} {name:<25} {row['Accuracy']:<12.4f} {row['F1']:<12.4f} {row['Train Time (s)']:<10.2f}s\")\n", "\n", "print(\"=\"*76)\n", "print(f\" Top Performing Model: {winner} (F1: {winner_f1:.4f})\")\n", "print(\"=\"*76 + \"\\n\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 10. Save the Best Model" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "✅ Saved LinearSVC (GridSearchCV) to spam_detector_best_model.pkl\n", "✅ LinearSVC pipeline saved to spam_detector_model_cv.pkl (for API deployment)\n" ] } ], "source": [ "# Map winner name to the actual trained model object\n", "model_objects = {\n", " 'Multinomial Naive Bayes': nb_pipeline,\n", " 'LinearSVC (GridSearchCV)': svc_model,\n", " 'Bidirectional LSTM': None # PyTorch — saved differently\n", "}\n", "\n", "if winner != 'Bidirectional LSTM':\n", " best_model = model_objects[winner]\n", " save_path = 'spam_detector_best_model.pkl'\n", " joblib.dump(best_model, save_path)\n", " print(f'✅ Saved {winner} to {save_path}')\n", "else:\n", " save_path = 'spam_detector_lstm.pt'\n", " torch.save(lstm_model.state_dict(), save_path)\n", " print(f'✅ Saved LSTM state dict to {save_path}')\n", "\n", "# Always also save the LinearSVC (used by the deployed API)\n", "joblib.dump(svc_model, 'spam_detector_model_cv.pkl')\n", "print('✅ LinearSVC pipeline saved to spam_detector_model_cv.pkl (for API deployment)')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Key takeaway:** For spam detection on structured GitHub comments, traditional ML (LinearSVC) is competitive with Deep Learning at a fraction of the training cost. The LSTM's advantage would become more apparent with noisy, short, or obfuscated spam text.\n" ] } ], "metadata": { "kernelspec": { "display_name": "pytorch_v2.6", "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.12.3" } }, "nbformat": 4, "nbformat_minor": 5 }