{ "cells": [ { "cell_type": "markdown", "id": "dd72d1539056a64", "metadata": {}, "source": [ "Import Cell\n" ] }, { "cell_type": "code", "id": "12579bf734bb1a92", "metadata": { "ExecuteTime": { "end_time": "2025-12-14T01:12:41.942156089Z", "start_time": "2025-12-14T01:12:31.060344929Z" } }, "source": [ "import spacy\n", "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from collections import Counter\n", "import string\n", "from IPython.display import display, HTML\n", "\n", "nlp_lg = spacy.load(\"en_core_web_lg\")\n", "nlp_trf = spacy.load(\"en_core_web_trf\")\n", "\n", "nlp = nlp_lg\n", "\n", "# Test sentences covering different similarity types\n", "test_sentences = [\n", " # Direct copies and near-copies\n", " \"The cat sat on the mat.\",\n", " \"The cat sat on the mat\",\n", " \"The cat sat on the mat.\",\n", " \n", " # Paraphrases\n", " \"On the mat, the cat was sitting.\",\n", " \"The feline rested on the rug.\",\n", " \n", " # Structural changes\n", " \"The quick brown fox jumps over the lazy dog.\",\n", " \"Over the lazy dog jumps the quick brown fox.\",\n", " \n", " # Different content\n", " \"The dog ran in the park.\",\n", " \"I love programming.\",\n", " \"She enjoys reading books.\",\n", " \n", " # Edge cases\n", " \"Short.\",\n", " \"A B C D E F G\",\n", " \"\"\n", "]\n", "\n", "print(f\"Loaded {len(test_sentences)} test sentences\")" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Loaded 13 test sentences\n" ] } ], "execution_count": 1 }, { "cell_type": "markdown", "id": "1c26616777253f10", "metadata": {}, "source": [] }, { "cell_type": "code", "id": "e003ac06a58cfbb4", "metadata": { "ExecuteTime": { "end_time": "2025-12-14T01:12:42.630828162Z", "start_time": "2025-12-14T01:12:41.953456434Z" } }, "source": [ "def analyze_text_statistics(sentences):\n", " stats = []\n", " for i, sent in enumerate(sentences):\n", " doc = nlp(sent)\n", " words = [token.text for token in doc if not token.is_space]\n", " alpha_words = [token.text for token in doc if token.is_alpha]\n", " \n", " stats.append({\n", " 'sentence_id': i,\n", " 'sentence': sent,\n", " 'char_length': len(sent),\n", " 'word_count': len(words),\n", " 'alpha_word_count': len(alpha_words),\n", " 'avg_word_length': np.mean([len(word) for word in alpha_words]) if alpha_words else 0,\n", " 'has_punctuation': any(token.is_punct for token in doc),\n", " 'is_empty': len(sent.strip()) == 0\n", " })\n", " \n", " return pd.DataFrame(stats)\n", "\n", "stats_df = analyze_text_statistics(test_sentences)\n", "display(stats_df)\n", "\n", "# Visualize basic statistics\n", "fig, axes = plt.subplots(2, 2, figsize=(12, 8))\n", "\n", "# Character length distribution\n", "axes[0,0].bar(range(len(stats_df)), stats_df['char_length'])\n", "axes[0,0].set_title('Character Length by Sentence')\n", "axes[0,0].set_xlabel('Sentence ID')\n", "axes[0,0].set_ylabel('Characters')\n", "\n", "# Word count distribution\n", "axes[0,1].bar(range(len(stats_df)), stats_df['word_count'])\n", "axes[0,1].set_title('Word Count by Sentence')\n", "axes[0,1].set_xlabel('Sentence ID')\n", "axes[0,1].set_ylabel('Words')\n", "\n", "# Average word length\n", "axes[1,0].bar(range(len(stats_df)), stats_df['avg_word_length'])\n", "axes[1,0].set_title('Average Word Length')\n", "axes[1,0].set_xlabel('Sentence ID')\n", "axes[1,0].set_ylabel('Characters')\n", "\n", "# Sentence type breakdown\n", "types = ['With Punctuation' if x else 'No Punctuation' for x in stats_df['has_punctuation']]\n", "type_counts = pd.Series(types).value_counts()\n", "axes[1,1].pie(type_counts.values, labels=type_counts.index, autopct='%1.1f%%')\n", "axes[1,1].set_title('Punctuation Distribution')\n", "\n", "plt.tight_layout()\n", "plt.show()" ], "outputs": [ { "data": { "text/plain": [ " sentence_id sentence char_length \\\n", "0 0 The cat sat on the mat. 23 \n", "1 1 The cat sat on the mat 22 \n", "2 2 The cat sat on the mat. 28 \n", "3 3 On the mat, the cat was sitting. 32 \n", "4 4 The feline rested on the rug. 29 \n", "5 5 The quick brown fox jumps over the lazy dog. 44 \n", "6 6 Over the lazy dog jumps the quick brown fox. 44 \n", "7 7 The dog ran in the park. 24 \n", "8 8 I love programming. 19 \n", "9 9 She enjoys reading books. 25 \n", "10 10 Short. 6 \n", "11 11 A B C D E F G 13 \n", "12 12 0 \n", "\n", " word_count alpha_word_count avg_word_length has_punctuation is_empty \n", "0 7 6 2.833333 True False \n", "1 6 6 2.833333 False False \n", "2 7 6 2.833333 True False \n", "3 9 7 3.428571 True False \n", "4 7 6 3.833333 True False \n", "5 10 9 3.888889 True False \n", "6 10 9 3.888889 True False \n", "7 7 6 3.000000 True False \n", "8 4 3 5.333333 True False \n", "9 5 4 5.250000 True False \n", "10 2 1 5.000000 True False \n", "11 7 7 1.000000 False False \n", "12 0 0 0.000000 False True " ], "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", " \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", " \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", " \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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
sentence_idsentencechar_lengthword_countalpha_word_countavg_word_lengthhas_punctuationis_empty
00The cat sat on the mat.23762.833333TrueFalse
11The cat sat on the mat22662.833333FalseFalse
22The cat sat on the mat.28762.833333TrueFalse
33On the mat, the cat was sitting.32973.428571TrueFalse
44The feline rested on the rug.29763.833333TrueFalse
55The quick brown fox jumps over the lazy dog.441093.888889TrueFalse
66Over the lazy dog jumps the quick brown fox.441093.888889TrueFalse
77The dog ran in the park.24763.000000TrueFalse
88I love programming.19435.333333TrueFalse
99She enjoys reading books.25545.250000TrueFalse
1010Short.6215.000000TrueFalse
1111A B C D E F G13771.000000FalseFalse
12120000.000000FalseTrue
\n", "
" ] }, "metadata": {}, "output_type": "display_data", "jetTransient": { "display_id": null } }, { "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAMWCAYAAAAgRDUeAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAA6ABJREFUeJzs3Xlc1NX+x/E3iyIgrriL+5ZZmEvuW2p7qVlW2s3sVq6VZmmmXbOyW3lLzWwzw+xaabmkuZWFW26pqbimiIioIKAwwICg5/eHP+Y6AsogzAz4et7Hedw4853vec+ZkTl85jvfr4ckIwAAAAAAAMCJPF0dAAAAAAAAADceilIAAAAAAABwOopSAAAAAAAAcDqKUgAAAAAAAHA6ilIAAAAAAABwOopSAAAAAAAAcDqKUgAAAAAAAHA6ilIAAAAAAABwOopSAAAAAAAAcDqKUsB1MsZoxowZro6BQhYSEiKLxZLv+0dERGjZsmUFmAgAALhaly5dZIxRly5dXB3FJWrXri1jjEaPHu3qKACKKIpSQC7q1aunzz77TOHh4bJarUpMTNTGjRv1wgsvqFSpUq6Od92qVaumiRMnKjg42GljZi3c+vbt67QxHeHr66uJEycW6YVlYGCgpk2bpgMHDig1NVUxMTHaunWr3n33Xfn7+xfq2OPGjVOvXr0KdQwAwI3nkUcekTFGvXv3znbbrl27ZIxR165ds90WGRmpP/74o/ADOqAorC+HDh2qgQMHujpGNs2aNdMPP/ygY8eOyWq16sSJE/rll180YsSIQh3XFWtm4EZCUQrIwb333quwsDD169dPy5Yt0/PPP69x48bp+PHjmjJliqZPn+7qiNetevXqeuONN9S8eXNXR3Ebfn5+euONN3Jc2BYF5cuX1/bt2/Xkk09q+fLleuGFF/Thhx/qyJEjGjp0qAIDAwt1/Ndeey3HPxgAALgeGzdulCR17NjRrj8gIEDNmjVTRkaGOnToYHdbzZo1VatWLdt93UFRWV8OGzZMTz31lKtj2GnXrp22b9+u4OBgzZo1SyNGjNCXX36pixcv6sUXXyzUsVkzA4XL29UBAHdTp04dff/994qMjNQdd9yh06dP22775JNPVL9+fd13331OzeTn56fU1FSnjplfRSlrcfPPf/5TtWvXVvv27bV582a72wICAnT+/HkXJQMAIP9OnTqlo0ePZitKtWvXTh4eHvrhhx+y3Zb1c0EUpUqVKqW0tLTr2oc7ri+LkvHjxysxMVGtW7dWYmKi3W2VKlVyUSoABYEjpYArjBkzRgEBAfrnP/9pt2DIEh4ero8++ihbf69evRQWFqa0tDTt3btXd911l93ttWrV0syZM3Xw4EGlpqYqLi5OCxYsUO3ate22GzhwoIwx6ty5s2bOnKmYmBidOHHCoX1IUtmyZfXhhx8qIiJCaWlpioqK0tdff62KFSuqS5cu2r59uyRpzpw5MsbIGGN3qPbtt9+ulStX6ty5c0pJSdHatWvVvn17uzEmTpwoY4xuuukmzZs3TwkJCQWy+CtbtqymTp2q48ePKy0tTYcPH9aYMWPk4eFh2+bycxg8++yzOnLkiNLS0rRt2za1atUq2z4ffvhh7du3T1arVWFhYerdu7dCQkIUERFh219cXJwk6Y033rDNycSJE+32U716dS1evFgWi0WxsbGaMmWKPD3z/qu0Z8+e+uuvv2S1WrVv3z716dPHdlvdunVljNHIkSOz3a9du3Yyxuixxx7Ldd/169dXZmamtmzZku02i8Wi9PR0uz5HnuP69esrJCREZ8+e1blz5/TVV1/J19fXtp0xRqVLl9ZTTz1lm7uQkBDb7dWrV9fs2bN1+vRp27+RQYMG2Y2V9fXORx55RK+99pqioqJktVq1Zs0a1a9fP9tjuv3227V8+XIlJCQoOTlZu3fv1gsvvGC3TePGjfXDDz8oPj5eVqtVf/75px544IFc5xAA4J42btyo2267ze4rbh06dNC+ffu0cuVKtW3b1m6d0KFDB128eNH29T0vLy9NmDDBtl6IiIjQ5MmTVbJkSbtxss4Beeedd+rPP/+U1WrV4MGDJUk1atTQ4sWLlZycrJiYGH344Yfy8fHJU35H15d5zZvTWiXrcVz+Ppy1vmzfvr0++OADxcbGKjk5WYsWLbI7kjoiIkLNmjVT165dbe/noaGheXqMI0eO1LFjx5Samqq1a9fq5ptvtt2WtT7I6WijcePGKTMzU9WrV8913/Xr19e+ffuyFaQk6cyZM9n6BgwYoO3btys1NVXx8fH67rvvVLNmTbttQkNDFRYWpptuukm///67UlJSdOLECb3yyiu2bQp6zXyt9dTl+bdu3aqUlBQlJCRo3bp16tmzp902d999t9avX6/k5GQlJSXp559/VtOmTXOdQ8CdGRqN9r8WFRVljhw5kuftjTHmr7/+MtHR0Wb8+PHmhRdeMEeOHDHJycmmQoUKtu369u1r/vrrL/PGG2+YZ555xrz99tsmPj7eREREGF9fX9t2AwcONMYYs3fvXhMaGmqGDx9uxowZ49A+/P39zZ49e0xGRob5/PPPzeDBg8348ePN1q1bTXBwsKlcubKZMGGCMcaYzz77zAwYMMAMGDDA1K1b10gy3bp1M2lpaeaPP/4wo0aNMi+++KLZtWuXSUtLM61bt7aNM3HiRFvWxYsXmyFDhpihQ4fmOlddunQxxhjTt2/fXLfx9fU1u3btMmfOnDFvv/22ee6558ycOXPMhQsXzNSpU23b1a5d2xhjzI4dO8zff/9tXnnlFfPyyy+b2NhYc/z4cePt7W3b9t577zUXLlwwu3btMiNHjjSTJk0y8fHxZs+ePSYiIsJIMn5+fmbw4MHGGGMWLlxom5NbbrnFSDIhISEmNTXVhIWFmS+//NIMHjzY/PDDD8YYY4YMGXLN10lERIQ5ePCgSUhIMO+8844ZOXKk2b17t8nMzDQ9evSwbbdhwwbz559/Zrv/xx9/bBITE+2e5yvbq6++aowx5sknn7xmHkef4x07dpgff/zRDBkyxHzxxRfGGGPeffdd23YDBgwwVqvVrFu3zjZ3bdu2NZJM5cqVzfHjx01kZKSZMGGCGTx4sFmyZIkxxpgXX3wx2+tjx44d5s8//zQvvvii+de//mWSk5PNli1b7PL36NHDpKWlmYiICDNx4kQzePBgM23aNPPLL7/YtmnatKk5e/as2bt3r3nllVfMsGHDzNq1a82FCxdM7969Xf67hkaj0Wh5b88++6wxxpguXbrY+tasWWM+++wzU69ePWOMsb1nSzI7d+40+/bts/0cEhJijDFmwYIFZujQoWbOnDnGGGMWLVpkN05ERIT5+++/TXx8vHnnnXfMc889Z7p06WJKlSplDh48aFJTU827775rXnjhBfPnn3+aXbt2ZcuVU3N0fZnXvMYYM3HixGz3j4iIMCEhIbafs9aXO3bsMGvWrDHDhw83U6ZMMRkZGeb777+3bderVy9z/Phxs3//ftv7+eXrlCtb1nps9+7d5ujRo+aVV14xr7/+uomLizMxMTGmcuXKRpIpXbq0SUlJMVOmTMm2j71795o1a9ZcdT5WrVplEhMTzc0333zNuXvttdfMhQsXzHfffWeGDBliXn/9dRMbG2uOHj1qypYta9suNDTUnDhxwkRGRpqpU6eaIUOGmDVr1hhjjLn77ruNpAJfM19rPSXJ/Otf/zLGGLNx40YzevRo8/zzz5v//ve/5t///rdtmyeeeMJcuHDBrFixwgwfPty88sor5ujRoyYhIcHUrl3b5f9eaTQHm8sD0Ghu0wICAowxxixevDjP9zHGmLS0NFOvXj1b3y233GKMMWb48OG2vlKlSmW7b5s2bYwxxjzxxBO2vqxFw/r1642np6fd9nndxxtvvGGMMVf9w7tly5bGGGMGDhyY7bZDhw6ZlStXZhs7PDzcrF692taX9QY7b968PM1VXopS48ePNxaLxTRo0MCu/5133jEZGRmmZs2aRvrfIujMmTOmXLlytu0eeOABY4wx9913n61v9+7d5vjx48bf39/W17lzZ2OMsRWlJJmKFSvmurjLWhxOmDDBrj+rgHKtxx4REWGMMaZPnz52r7fo6GizY8cOW1/Wortx48a2Pm9vbxMbG2u3uMypVa5c2cTExBhjjNm/f7/55JNPzGOPPWbKlClz3c/xl19+abftwoULzZkzZ+z6LBZLjhlnzZploqOj7Yq0ksy3335rzp49a3tdZ70+9u3bZ0qUKGHb7vnnnzfGGNtC1NPT04SHh5uIiAi7xeWV7ddffzW7d+82JUuWtOvfuHGjOXToUJ5eszQajUZzj3bTTTcZY4wZP368kWS8vLyMxWIx//jHP4wkc+rUKdsHY6VLl7Z9MCfJ3HrrrcYYY7744gu7fb7//vvGGGO6du1q68t6v77zzjvttn3hhReMMcY8/PDDtj5fX1/z999/X7Mo5ej60pG8jhalLv/wRpL54IMPTEZGht1aISwszISGhuYpa9Z6LCUlxVSvXt3W37p1a2OMMR988IGtb968eebEiRPGw8PD1te8efNc16OXtx49epiMjAyTkZFh/vjjD/Puu++anj172n0IKcnUqlXLZGRkmHHjxtn133zzzeb8+fN2/aGhodnW0CVKlDAnT540P/zwg62vINfM11pP1a9f32RmZpqFCxfazdPlzd/f3yQkJNhe31mtcuXK5uzZs9n6aTR3b3x9D7hMmTJlJF36qpMj1qxZo6NHj9p+DgsLU2JiourVq2fru/xcBN7e3qpQoYKOHDmis2fPqkWLFtn2OWvWLF28eNGuL6/76Nu3r3bt2qUlS5Y49DgkqXnz5mrUqJG+/fZbVaxY0db8/f3122+/qXPnznaHx0vSZ5995vA4uXnkkUe0YcMGnT171m78NWvWyNvbW507d7bbfv78+Tp37pzt5w0bNkiSbe6rVaumW2+9VXPnzlVKSoptu/Xr12vPnj0O57vysW7YsMHueb6a6OhoLV682PazxWLR3Llz1aJFC1WpUkWStGDBAlmtVg0YMMC23V133aVKlSrpv//971X3Hxsbq+DgYH366acqX768hg4dqu+++06xsbGaMGGCbbuCeI43bNigwMBABQQEXPNx9+3bV8uWLZOHh4fdeKtXr1a5cuWyvf5DQkKUkZFhN5b0v+f0tttuU7169TRt2rQcD+OXLp30/Y477tCCBQsUEBCQbdxGjRpd9WsCAAD3cuDAAcXFxdnOFRUcHKzSpUtr06ZNkqRNmzbZTnberl07eXt7204pcO+990qSPvzwQ7t9fvDBB5KU7VxOR48e1S+//GLXd++99+rkyZP68ccfbX1Wq1VffPHFNbM7ur50NK8jrsy7YcMGeXt753gqCEcsWbJEJ0+etP38559/asuWLbbHIklz585VjRo11K1bN1vfgAEDlJqaqoULF151/2vWrFG7du20dOlSBQcHa+zYsfrll18UHR1t97X8hx56SJ6enlqwYIHde//p06d1+PBhu7GlS8/J5eurjIwMbdu2LU9ru8JYT/Xu3VteXl568803ZYzJcdyePXuqfPny+u677+zGvXDhgrZu3ZrtMQLujhOdA5dJSkqSpDz9oX2548ePZ+s7e/asypcvb/u5VKlSGjdunAYNGqQaNWrYnYeobNmy2e6fda6jy+V1H/Xr17/mm3tuGjZsKOnSwiE3ZcuWtSsE5ZQ1vxo2bKjg4GDb+Z2uVLlyZbufr5z7rFxZc5+1yDpy5Ei2fR05ciTHgmBurFZrtlxnz55VhQoV8nT/nDL8/fffki6dADUmJkaJiYlatmyZ+vfvr3/961+SLi3YTpw4od9///2aY5w+fVrDhg3TsGHD1LBhQ911110aO3as3nrrLZ06dUqzZ8/O13N85TyfPXtW0qV5vtoiu1KlSipfvrwGDx5sOyfHla71nF4+liTb+aX27t2b67gNGjSQp6en3n77bb399tu5jnv5AhoA4N42bdpk+0O/Q4cOiomJUXh4uO22ESNGSJKtOJVVlKpdu7YuXLiQ7X04JiZGZ8+ezVaQyWldU7t27Rzfxw8dOnTN3I6uLx3N64hrvcfm1+HDh7P1/f333+rXr5/t519//VUnT57UgAED9Pvvv8vDw0OPP/64fvrpJyUnJ19zjO3bt6tv374qUaKEgoOD1adPH40aNUo//vijmjdvrgMHDqhhw4by9PTM8bmSZPehlyTbeVsvd/bsWd16663XzFMY66n69evrwoUL2r9//zXHze1cX7l9YAe4K4pSwGUsFouio6PVrFkzh+534cKFHPsv/3RkxowZGjRokKZNm6bNmzcrMTFRxhh9//33OZ4o22q1ZutzdB/5kbWfl19+Wbt27cpxmysXDjllvZ7xf/nlF73//vs53p5VxMmSl7kvKLmNVdDmzp2rfv36qV27dgoLC9ODDz6oTz75JNdPzHJz+PBhHT58WMuXL9fhw4c1YMAAzZ49O1/PcX7nOWusb775Rl9//XWO21x5xFpBPKdZ406ZMkWrV6/OcZvcFqwAAPe0ceNGPfjgg7rlllvUoUMH21FS0qWi1H/+8x9Vr15dHTt2VHR0dLbiUl7fRwtyXSPlf33p6Pv+5by8vHLsd+a66UoXL17Ut99+q2effVbDhg1Thw4dVKNGjWseCX6ljIwMbd++Xdu3b9fff/+tOXPm6JFHHtGbb74pT09PXbx4Uffcc0+Oj7Wg1jdS/tbMBbnGeeKJJ3I8aX5mZmae9wW4A4pSwBV+/vlnDR48WG3bts3xKmb59fDDD+vrr7/Wyy+/bOvz8fFRuXLlCnwf4eHh11z45LbQyfrEMSkpSb/99luesxWU8PBwlS5dusDGjoyMlHTpyJkrXdl3PYu/vMgpQ6NGjSRJx44ds/WtWrVKsbGxtiuv+Pv765tvvsn3uBERETp79qyqVasmqfCe45zm78yZM0pKSpKXl1eBjZWVv1mzZrnuM+vrtBkZGS55HQMACl7WkU8dO3ZUhw4dNG3aNNttO3bsUFpamrp27ao2bdpoxYoVttsiIyPl5eWlhg0b6uDBg7b+ypUrq3z58ra1wtVERkbmuLZq3LhxnrI7sr50JG9CQkK2dWCJEiVs7/n5kZ/1UNbRO5dr1KiR3fpGuvTB28svv6wHHnhA99xzj2JjY3P98Cgvsq6Md/kax9PTUxERETkevZUfzlwzh4eHy8vLS02bNtXu3buvOm5sbCxrHBQLnFMKuML777+v5ORkffnll9m+ViRdOq/NlZedz4sLFy5k+xTk+eefl7d33mvDed3HwoUL1bx5c/Xu3TvXfWWdX+nKhcyOHTt05MgRvfzyy/L39892v8svG1wYFixYoPbt2+vOO+/MdlvZsmVz/eQvN6dOnVJYWJiefPJJu8fTuXPnbIdmp6amSso+JwWlRo0a6tOnj+3ngIAAPfnkk/rrr78UExNj679w4YK+++479evXT0899ZT27NmjsLCwa+7/9ttvl5+fX7b+1q1bKzAw0PYVg8J6jlNSUrLN3cWLF7Vw4UL17dvX7tLQ1zPWzp07dfToUY0cOTLHr75Kl4phoaGhGjx4sKpWrVog4wIAXGv79u228y7WrFnT7kip8+fPa+fOnRo+fLhKly5tK2BJshWoRo4cabe/l156SZK0fPnya469YsUK1ahRQw8//LCtz9fXV88991yesjuyvnQkb3h4eLbzbT733HMOrS+vlNP7+bX07t3b7lyNrVu3Vtu2bbVy5Uq77cLCwrR7924988wz6tu3r77//vs8HYnetWvXHPuzzlmVtcZZtGiRMjMzNXHixBy3z+spFy7nzDXzkiVLdOHCBf3rX//K9eip1atXKzExUa+99lqOzzNrHBQ1HCkFXOHo0aPq37+/5s+frwMHDmju3Lnau3evSpYsqfbt2+uRRx7RnDlzHN7vzz//rH/84x9KTEzU/v371a5dO/Xo0SPXcyddzz6mTJmihx9+WD/88IO++uor7dixQxUqVNCDDz6oIUOGaM+ePQoPD9fZs2c1ZMgQWSwWpaSkaOvWrTp27JieeeYZrVy5Uvv27VNISIiio6NtJ6ZMSkrSgw8+6PDjv1zfvn3VpEmTbP1ff/21pkyZogcffFA///yz5syZox07dsjf31+33HKLHn74YdWpU0fx8fEOjffaa6/pp59+0h9//KGQkBCVL19eI0aMUFhYmEqXLm3bLi0tTfv27dOjjz6qv//+WwkJCdq7d6/27dt3XY83y6FDhzR79my1bt1aMTExevrpp1WlShUNGjQo27Zz587Viy++qDvuuENjxozJ0/7/8Y9/aMCAAVq8eLF27Nih8+fP66abbtLTTz8tq9Wqd955R9KlT/wK4znesWOHevTooVGjRunkyZOKiIjQtm3b9Oqrr6pbt27aunWrZs2apf3796tChQpq0aKFevTooYoVKzo0jjFGQ4cO1bJly7Rr1y6FhITo1KlTatKkiW6++WbdfffdkqThw4dr48aNCgsL06xZs3T06FFVqVJF7dq1U82aNdW8eXOHHyMAwHUyMjL0559/qnPnzkpLS9OOHTvsbt+0aZPtaPLLi1J79uzRnDlzNHjwYJUrV07r1q3T7bffrqeeekqLFy/W2rVrrzn2rFmzNGLECM2dO1ctW7bUqVOn9I9//MP2gda1OLK+dCTvl19+qc8//1w//vijfv31VwUHB+uuu+7SmTNn8pQrJzt27NDQoUM1fvx4HTlyRLGxsbmevyjLkSNHtHHjRn366afy8fHRyJEjFRcXl+PpGObOnWs7aXtev7o3Y8YM+fn5afHixTp48KBt3h599FFFREQoJCRE0qV5njBhgt59913VqVNHS5YskcViUd26ddWnTx998cUXtrHzyplr5vDwcE2ePFn/+te/tGHDBi1atEjp6elq3bq1Tp48qddee00Wi0VDhw7VN998o507d+r777/XmTNnVKtWLd133336448/9Pzzzzs0LuBqLr8EII3mjq1Bgwbm888/N0ePHjVpaWkmMTHRbNiwwQwfPtzuEvPGGDNjxoxs97/yUrxly5Y1s2fPNrGxsSYpKcmsXLnSNGrUKNdL9rZs2TLbPvO6D0mmfPny5qOPPjJRUVEmLS3NHD9+3ISEhJgKFSrYtnnggQfM3r17zfnz57Nd6jY4ONj8+OOP5syZM8ZqtZqIiAjz/fffm27dutm2ybq8bcWKFfM0p126dDFX06FDByNdutTt5MmTzd9//23S0tJMbGys2bhxo3nppZdsl/7NugTx6NGjs42T0+WR+/XrZ/bv32+sVqvZs2ePuf/++80PP/xg9u/fb7dd27ZtzZ9//mnS0tLs9hMSEmIsFku2sbLm4FqPPSIiwixbtsz07NnT7Nq1y1itVrN//37Tt2/fXO8TFhZmMjMz7S6xfLXWrFkz895775nt27ebuLg4c/78eRMdHW3mz59vmjdvnm3763mOs16ntWvXtvU1atTIrF271qSkpBhjjN1rslKlSmbGjBkmMjLSpKenm5MnT5pff/3VPPPMM9leH1fOSdZzfeWlmNu3b29Wr15tEhMTjcViMbt27TLDhw+326Zu3bpmzpw5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6rRxK/j46t6ghgoMDOSXEwAAkurUqaNjx47p5ZdfljFGc+fOlbe3tzw8PHT+/Hl9+umnevXVV10dEwBQBPF3H4q6fBWlWrdure7du+vOO+9UWFiYUlJS7G7v27dvgYTD9UtItyo2LdXVMQAAuGGFh4crMjJSoaGhCg0NVYMGDVSuXDnbbVar8/6IAAAUT/zdh6IqX0Wpc+fOaeHChQWdBQAAoNi544471LVrV3Xt2lWPP/64SpYsqaNHj+r333/X77//rrVr1yo2NtbVMQEAAJwuX0Wpp59+uqBzAAAAFEvr1q3TunXrNGnSJPn4+Kh9+/a2ItXAgQNVokQJHTx4UM2aNXN1VAAAAKfKV1EKAAAAjktPT1doaKg2btyo0NBQ3XPPPRo8eLCaNGni6mgAAABOl++iVN++fdWvXz/VqlVLJUuWtLutZcuW1x0MAACguChRooTatm2rbt26qWvXrmrTpo2ioqK0fv16jRgxQuvWrXN1RAAAAKfzzM+dnn/+eYWEhCgmJka33Xabtm3bpvj4eNWrV08rV64s6IwAAABF1m+//aazZ8/qk08+UeXKlfX555+rfv36atKkiZ577jn997//5cpFAADghpSvotSwYcP03HPP6YUXXtD58+f1/vvv684779RHH32ksmXLFnRGAACAIqtTp06Kj4/X77//rt9++02//vqrTp8+7epYAAAALpevolStWrW0adMmSZLValVAQIAk6ZtvvtHjjz+e5/28+uqr2rZtm5KSkhQTE6PFixerUaNGdtv4+Pjo448/VlxcnCwWi3788UdVrlw5P7EBAACcrly5cnruueeUmpqqsWPH6uTJk9qzZ49mzJihvn37KjAw0NURAQAAXCJfRanTp0+rQoUKkqTjx4+rbdu2kqS6devKw8Mjz/vp0qWLZs6cqbZt26pnz54qUaKEfvnlF/n5+dm2mTp1qh544AE98sgj6tKli6pXr65FixblJzYAAIDTpaamavXq1Ro3bpzatm2rwMBAjRkzRqmpqRozZoxOnDihsLAwV8cEAABwunyd6Pz333/Xgw8+qF27dikkJERTp07Vww8/rFatWjlUMLrnnnvsfn7qqad05swZtWzZUhs2bFCZMmX0z3/+U/3791doaKgkadCgQTp48KDatGmjrVu35ic+AACAy6SkpCghIUEJCQk6e/asMjMzddNN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xdb/3nvvqUuXLmrbtu0191G9enVFR0cXZkwAAHADqFGjhk6ePOnqGHlyvWso1k8AAKAgXGv95NZHShWEkydPqkaNGrJYLK6OAgAAiqiAgIAiU5AqCKyfAADA9crL+smti1JxcXHKzMxUlSpV7PqrVKmi06dP53k/N9IiEgAAFLyiVpwpiDUU6ycAAHA98rJ+cusTnWdkZGjHjh3q3r27rc/Dw0Pdu3fX5s2bXZgMAADAfbGGAgAARYFbHyklSR9++KG+/vprbd++Xdu2bdPIkSPl7++vkJAQV0cDAABwW6yhAACAu3P7otSCBQtUqVIlvfnmm6patap27dqlu+++u1CvsgMAAFDUsYYCAADuzq2vvgcAAAAAAIDiya3PKQUAAAAAAIDiiaIUAAAAAAAAnI6iFAAAAAAAAJyOohQAAAAAAACcjqKUCw0bNkwRERGyWq3asmWLWrdu7epIbufVV1/Vtm3blJSUpJiYGC1evFiNGjVydawiYezYsTLGaOrUqa6O4raqV6+ub775RnFxcUpNTdWePXvUsmVLV8dyO56ennrzzTd19OhRpaam6siRI5owYYKrY7mNTp06aenSpYqOjpYxRr169cq2zaRJk3Ty5Emlpqbq119/VYMGDVyQ1PWuNlfe3t569913tWfPHiUnJys6Olpff/21qlWr5sLEcEesn/KGNVT+sYa6OtZPeccaKnesnxxTnNdQFKVcpF+/fvrwww81adIktWjRQrt379bq1atVqVIlV0dzK126dNHMmTPVtm1b9ezZUyVKlNAvv/wiPz8/V0dza61atdLgwYO1e/duV0dxW+XKldMff/yhjIwM3XPPPWratKlGjx6ts2fPujqa2xk7dqyGDh2qESNG6KabbtLYsWM1ZswYPf/8866O5hb8/f21e/duDR8+PMfbx4wZoxdeeEFDhgxRmzZtlJKSotWrV8vHx8fJSV3vanPl5+enFi1a6K233lKLFi300EMPqXHjxlq6dKkLksJdsX7KO9ZQ+cMa6upYPzmGNVTuWD85privoQzN+W3Lli1mxowZtp89PDzMiRMnzNixY12ezZ1bYGCgMcaYTp06uTyLuzZ/f39z6NAh0717dxMaGmqmTp3q8kzu2P7973+b9evXuzxHUWjLli0zX375pV3fjz/+aL755huXZ3O3ZowxvXr1sus7efKkGT16tO3n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5TVixAi7x3LlOaVatmypVatW6cyZM0pNTdXRo0c1e/ZsW8a4uDhJ0htvvGF77FlzGBISIovFonr16mn58uVKSkrSvHnzbLdduX7JMnLkSB07dkypqalau3atbr75Zrvb8/Kaula2nM4p5eXlpQkTJtjmOiIiQpMnT862Js86zUOHDh20detWWa1WhYeH6x//+MfVph1we97X3gSAuxgwYIAWLVqkjIwMfffddxo2bJhatWql7du3KzMzU4sXL9ZDDz2kwYMH23061rt3b5UqVUrff/+9pEtHOy1dulQdO3bUF198oQMHDuiWW27RqFGj1KhRI/Xp08du3DvuuEP9+vXTxx9/rLi4OB07dkyS9OKLL2rp0qWaN2+eSpYsqccee0w//vij7rvvPq1YscJ2/zlz5ujRRx/V3LlztWXLFnXp0kXLly/P9vgqV66sLVu2yBijjz/+WGfOnNE999yjr776SmXKlNH06dNznZuIiAhFR0fbFYFat24tHx8fbdq0SZs2bVKHDh304YcfSpLtiKqsolTTpk21YcMGJSUl6f3331dGRoYGDx6stWvXqkuXLtq2bZvdeJ988onOnDmjN998U/7+/pKkp59+Wl988YX++OMP2ye2S5cuVUJCgqKioq7+5ObRa6+9prfeeksLFizQl19+qUqVKun555/X+vXrddtttykxMdG2bfny5bVq1SotWrRICxYs0MMPP6z3339fYWFhWrVqlaRLnxz+/vvvqlatmqZPn67Tp0+rf//+2Q6tnzx5ssqWLauaNWtq1KhRkpTtCLNXX31VFy9e1H/+8x+VLVtWY8aM0bx589S2bdsCeewAAOQm60OQ+Pj4fN2/f//+CggI0Oeffy5jjMaMGaNFixapXr16yszMlCTdcsst2rBhgzIyMvTFF1/o2LFjql+/vh544AFNmDBBixYtUqNGjWxfd88qTpw5c0aVKlXKc5bWrVurffv2+v7773XixAnVqVNHQ4cO1dq1a9W0aVNZrVatX79e06dP14svvqjJkyfrwIEDkmT7/yuVKlVKa9euVYMGDfTxxx8rIiJCjzzyiL7++muVK1dOH330kcPzkR8//vijZs+erTvvvFMTJkzIcZtKlSrpl19+0ZkzZ/Tuu+/q3LlzqlOnjh566CFJl+ZzyJAh+uyzz7Ro0SItWrRI0qWiVxZvb2+tXr1aGzdu1Msvv6zU1NSr5nryyScVEBCgmTNnqlSpUnrxxRf1+++/65ZbblFsbGyeH19esl3pyy+/1FNPPaUffvhBH3zwgdq0aaPXXntNN910k+0xZ2nQoIFtDr/++ms9/fTTmjNnjnbs2KH9+/fnOSfgbgyNRnP/1qJFC2OMMd27d7f1HT9+3EydOtX2c8+ePY0xxtx333129/3555/NkSNHbD8PGDDAZGZmmg4dOtht99xzzxljjGnXrp2tzxhjMjMzzU033ZQtU6lSpex+9vb2Nnv27DFr1qyx9d12223GGGM+/PBDu22/+uorY4wxEydOtPXNmjXLREdHmwoVKtht++2335qzZ89mG+/KNn/+fJOSkmK8vb2NJDN27FgTHh5uJJkhQ4aY06dP27Z9//33jTHGVKtWzUgyixYtMmlpaaZu3bq2bapWrWoSExPN2rVrbX0DBw40xhizfv164+npaffYT58+bXbu3GlKlChh63/mmWeMMcaEhoZe8zmOiIgwy5Yty/X2WrVqmYyMDDNu3Di7/ptvvtmcP3/erj80NNQYY8wTTzxh6ytRooQ5efKk+eGHH2x9o0aNMsYY8+CDD9r6fHx8zP79+40xxnTp0sXWv2zZMhMREZEtV5cuXYwxxuzbt8/usT///PPGGGNuvvlml//7odFoNFrxaFnvw3fccYepWLGiqVGjhunXr585c+aMSUlJMdWrVzfSpffBnN57Q0JC7N7LateubYwx5syZM6ZcuXK2/gceeCDbmmrt2rUmMTHRBAUF5Zpv9OjRxhhjateubdefNc7AgQOz3efK9VBO6502bdpke1/v27dvtvfqrHbl43/hhReMMcb079/f1uft7W3++OMPk5SUZEqXLu3wfOTUstYEffv2zXWbv/76y8THx2d7TrPmrFevXsYYY1q2bJnrPipWrJht3i5/jo0x5p133snz83/5a0eSad26tTHGmA8++CDXOc1tn1fLNnHiRGMuHSplJJlbb73VGGPMF198Ybdd1jq1a9eutr6IiAhjjDEdO3a09QUGBhqr1WqmTJnisn+TNNr1Nr6+BxQRAwYMsF29JMv8+fP12GOPydPz0j/l33//XWfOnNGjjz5q26ZcuXLq2bOn5s+fb+t75JFHdODAAR08eFAVK1a0taxD3688SmbdunU5fvKWlpZmN07ZsmW1YcMGtWjRwtaf9VW/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RAlb/1NPPVVgh1QvWrRImZmZdpeNvlyFChUc3ufq1atVs2ZN2+tHurTwzem1kZKSku+vDQAA4Ezh4eFq0qSJ3frh1ltvtX3F31FxcXFat26dnn766Wxf6b9c1lE8VxaQLBaLzpw5o86dO9v1X7k+ki6tsa488uX555/Pdn6l3MbKyYoVK1StWjW78456eXnp+eefl8Vi0bp16665j+t16623atq0aUpISNDMmTNz3S6nx7Nr1y5Jl9YokmxX08vLY8+L3r17q3r16rafW7durbZt22rlypW2vry+phzJlnW16pEjR9r1Z32bIaerVQPFDUdKAW7uwQcfVJkyZexORH25LVu2KDY2VgMGDNCCBQskXTo55QsvvKBJkyZpz549dp+8SJe+ItevXz999tln6tatm/744w95eXmpSZMm6tevn+66666rHhIvXXqTHD16tFatWqVvv/1WlStX1vDhw3XkyBEFBwfbttu5c6d+/PFHjRo1ShUrVtSWLVvUpUsXNWrUSJL9p0mvvvqqunXrpq1bt2rWrFnav3+/KlSooBYtWqhHjx6qWLHiNecr6+in9u3bZyvebNmyRcYYtWvXLtt8TpgwQT179tTGjRv1ySefKDMzU4MHD5aPj4/GjBlzzXEzMzM1YcIEffHFF/r99981f/581a1bV4MGDcrxnE25adCggcaPH5+t/6+//tKKFSs0YcIEvfvuu6pTp46WLFkii8WiunXrqk+fPvriiy9sJ8bMq88//1wjRozQd999p+nTp+vUqVMaMGCA7SSrlz8/O3bs0GOPPaYPPvhAf/75p5KTk/Xzzz87NB4AAM7w1Vdf6aWXXtLq1as1e/ZsVa5cWUOGDNG+fftUpkyZfO3zhRde0MaNG7Vz50598cUXioiIUJ06dXTffffptttukyTb+mny5Mn6/vvvlZGRoWXLlik1NVVffvmlxo0bp1mzZmn79u3q3LmzbT10uZ9//ln/+Mc/lJiYqP3796tdu3bq0aOH4uLi7LbbtWuXMjMzNXbsWJUtW1bp6em2i95c6YsvvtDgwYM1Z84ctWzZUseOHdPDDz+sjh076sUXX8x2CoDr1alTJ5UqVUpeXl6qWLGiOnTooAcffFCJiYnq06ePYmJicr3vwIEDNWzYMC1evFjh4eEKCAjQs88+q8TERFsRJy0tTfv27dOjjz6qv//+WwkJ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dE2poUOHat++fQoPP/0HUJ06dbR3714NHDiwKocEAAAA4EGOHTumEwkJahUaYXYUVJPMYqssFoukILOjoMqEyd8/XCtWrDA7CLxclZZSjz32mGbPnq38/PzTHsvLy9OHH36oJ554oiqHBAAAAOBhflqxQs2DWOy8tkizFp68xSl83qOhiottWrNmjdlB4OWqtJSKiorS8uXLz/r4jz/+qOjo6KocEgAAAICHWbVqlRqH1VGIn7/ZUVANUqynJiUEm5oDVcfljNTatetks9nMjgIvV6WlVOPGjU+70t7vORwONWzYsCqHBAAAAOBhfv75Z0lSq9A6JidBdSh2ueQynKKU8hY+kupr2bJlZgdBLVClpVRiYqK6det21se7d++u5OTkqhwSAAAAgIdJTU3V/oMH1CqMdaVqC4fLJUopb9FAvr7+rCeFalGlpdSyZcv0r3/9S4GBgac9FhQUpKlTp+q771i9HwAAAPB2Py5foeaBrCtVW9icLhkGa0p5h4ZKSkrUgQMHzA6CWqBKS6mXXnpJ9evX1+HDh/XUU09p9OjRGj16tJ5++mkdOnRI9evX17///e+qHBIAAACAB1q2bJnqhYSqURBFRW1Q5LDLwkLnXsFur6/vv+fUPVQPv6o8WFpamvr376/3339fr7zyysnLgkqGYWjFihWaNGmS0tLSqnJIAAAAAB7o559/VmZWljpFRCrNdsLsOHCz3BKbGgfXNzsGLliwAvzrnvMCZkBVqtJSSpJOnDiha665RnXr1tVFF10ki8WimJgY5eTkVPVQAAAAADyU0+nUos8/121/G691qWangbtll9hksfjIUKCkYrPj4Lw1ktPp0KpVq8wOglqiSk/f+72cnBxt3bpVW7ZsoZACAAAAaqHPP/9cdYND1SwkzOwocLM0a9HJWyx2XpM5HU31008/KTc31+woqCXcVkpVhWeeeUa//fab8vLylJqaqiVLlqhjx45mxwIAAABQAevXr1dScrI6RUSaHQVulmItOHmLdaVqrjD5+UXq44/nmB0EtYhHl1KDBw/WrFmz1LdvXw0fPlz+/v768ccfFRLCNzoAAADA0xmGoc8+/VQXhUbIYnYYuFWBo0SG4RIzpWqyFsrJydY333xjdhDUIlW+plRVGjlyZLn7d911l9LT0xUdHa1169aZlAoAAABARX322Wd68skn1TK0jk4U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Hk4hBQAAUMU8upSy2+3atm2bhg0bpq+//lqSZLFYNGzYML377rsVPg7/EwkAAC4E/7gFAABQ9Ty6lJKkt956S/PmzdPWrVv122+/6bHHHlNoaKjmzp1rdjQAAAAAAACcJ48vpb744gs1bNhQL774opo0aaKdO3dqxIgRbl3QFAAAAAAAAO7l0QudAwAAAAAAwDtV7/XAAQAAAAAAAFFKAQAAAAAAwASUUgAAAAAAAKh2lFIAAAAAAACodpRSJpo4caJiY2NltVq1adMm9enTx+xIHueZZ57Rb7/9pry8PKWmpmrJkiXq2LGj2bFqhMmTJ8swDE2fPt3sKB6rWbNmWrBggTIyMlRUVKTdu3crOjra7Fgex8fHRy+++KKOHTumoqIiHTlyRM8995zZsTzGoEGD9M033ygxMVGGYei666477TlTp05VUlKSioqK9NNPP+miiy4yIan5zvVe+fn56dVXX9Xu3btVUFCgxMREzZs3T02bNjUxMQAAANyJUsokY8eO1VtvvaWpU6eqV69e2rVrl1asWKGGDRuaHc2jDB48WLNmzVLfvn01fPhw+fv768cff1RISIjZ0Txa79699cADD2jXrl1mR/FYdevW1a+//iq73a6RI0eqa9euevLJJ5WdnW12NI8zefJkPfjgg3rooYfUpUsXTZ48WU8//bQefvhhs6N5hNDQUO3atUuTJk064+NPP/20HnnkEU2YMEGXXXaZCgsLtWLFCgUGBlZzUvOd670KCQlRr1699K9//Uu9evXSjTfeqE6dOumbb74xISkAAACqi8FW/dumTZuMd955p+y+xWIxEhISjMmTJ5uezZO3yMhIwzAMY9CgQaZn8dQtNDTUOHTokDFs2DBj9erVxvTp003P5InbK6+8Yqxdu9b0HDVh+/bbb43//Oc/5fZ9+eWXxoIFC0zP5mmbYRjGddddV25fUlKS8eSTT5bdr1OnjmG1Wo1x48aZntfT3qs/br179zYMwzBatmxpel42NjY2NjY2Nraq35gpZQJ/f39FR0dr5cqVZfsMw9DKlSvVr18/E5N5voiICElSVlaWyUk816xZs/T9999r1apVZkfxaKNHj9bWrVv1xRdfKDU1Vdu3b9e9995rdiyPtGHDBg0bNkwdOnSQJHXv3l0DBw7UDz/8YHIyz9e2bVs1bdq03Pf7vLw8bd68me/3FRAR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" }, "metadata": {}, "output_type": "display_data", "jetTransient": { "display_id": null } } ], "execution_count": 2 }, { "cell_type": "code", "id": "5e488a878a5cfccb", "metadata": { "ExecuteTime": { "end_time": "2025-12-14T01:12:44.526513959Z", "start_time": "2025-12-14T01:12:42.694215942Z" } }, "source": [ "\n", "class TextPreprocessor:\n", " def __init__(self):\n", " self.nlp = spacy.load(\"en_core_web_lg\")\n", " \n", " def extract_linguistic_features(self, text):\n", " \"\"\" Extract linguistic features \"\"\"\n", " doc = self.nlp(text)\n", " \n", " features = {\n", " 'tokens': [token.text for token in doc],\n", " 'lemmas': [token.lemma_ for token in doc if token.is_alpha],\n", " 'pos_tags': [token.pos_ for token in doc],\n", " 'dep_tags': [token.dep_ for token in doc],\n", " 'is_stop': [token.is_stop for token in doc],\n", " 'is_alpha': [token.is_alpha for token in doc],\n", " 'is_punct': [token.is_punct for token in doc]\n", " }\n", " \n", " return features, doc\n", " \n", " def direct_preprocessing(self, text):\n", " \"\"\" For direct copy detection \"\"\"\n", " return text.lower().strip()\n", " \n", " def semantic_preprocessing(self, text):\n", " \"\"\" For semantic similarity \"\"\"\n", " # Remove noise like stop words\n", " doc = self.nlp(text)\n", " processed_tokens = []\n", " for token in doc:\n", " if not token.is_punct and not token.is_space and token.is_alpha and not token.is_stop:\n", " processed_tokens.append(token.lemma_.lower())\n", " return \" \".join(processed_tokens)\n", " \n", " def syntactic_preprocessing(self, text):\n", " \"\"\" For syntactic similarity \"\"\"\n", " # Normalize\n", " doc = self.nlp(text)\n", " processed_tokens = []\n", " for token in doc:\n", " if token.is_space:\n", " continue\n", " elif token.is_punct:\n", " processed_tokens.append(token.text)\n", " elif token.is_stop:\n", " processed_tokens.append(token.lemma_.lower())\n", " else:\n", " processed_tokens.append(token.lemma_.lower())\n", " return \" \".join(processed_tokens)\n", "\n", "\n", "# Initialize preprocessor\n", "preprocessor = TextPreprocessor()\n", "\n", "# Analyze all sentences\n", "print(\"Linguistic Analysis\")\n", "print(\"=\" * 60)\n", "\n", "for i, sentence in enumerate(test_sentences):\n", " print(f\"\\n{i+1:2d}. {'ORIGINAL: ':<20}'{sentence}'\")\n", " features, doc = preprocessor.extract_linguistic_features(sentence)\n", " \n", " print(f\" {'Direct: ':<20}'{preprocessor.direct_preprocessing(sentence)}'\")\n", " print(f\" {'Semantic: ':<20}'{preprocessor.semantic_preprocessing(sentence)}'\")\n", " print(f\" {'Syntactic: ':<20}'{preprocessor.syntactic_preprocessing(sentence)}'\")\n", " \n", " # Basic counts\n", " print(f\" {'Tokens: ':<20}{len(features['tokens']):2d} | \"\n", " f\"Alpha: {sum(features['is_alpha']):2d} | \"\n", " f\"Stopwords: {sum(features['is_stop']):2d} | \"\n", " f\"Punctuation: {sum(features['is_punct']):2d}\")\n", " \n", " # POS distribution\n", " pos_counts = Counter(features['pos_tags'])\n", " print(f\" {'POS:':<20}{dict(pos_counts)}\")" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Linguistic Analysis\n", "============================================================\n", "\n", " 1. ORIGINAL: 'The cat sat on the mat.'\n", " Direct: 'the cat sat on the mat.'\n", " Semantic: 'cat sit mat'\n", " Syntactic: 'the cat sit on the mat .'\n", " Tokens: 7 | Alpha: 6 | Stopwords: 3 | Punctuation: 1\n", " POS: {'DET': 2, 'NOUN': 2, 'VERB': 1, 'ADP': 1, 'PUNCT': 1}\n", "\n", " 2. ORIGINAL: 'The cat sat on the mat'\n", " Direct: 'the cat sat on the mat'\n", " Semantic: 'cat sit mat'\n", " Syntactic: 'the cat sit on the mat'\n", " Tokens: 6 | Alpha: 6 | Stopwords: 3 | Punctuation: 0\n", " POS: {'DET': 2, 'NOUN': 2, 'VERB': 1, 'ADP': 1}\n", "\n", " 3. ORIGINAL: 'The cat sat on the mat.'\n", " Direct: 'the cat sat on the mat.'\n", " Semantic: 'cat sit mat'\n", " Syntactic: 'the cat sit on the mat .'\n", " Tokens: 12 | Alpha: 6 | Stopwords: 3 | Punctuation: 1\n", " POS: {'DET': 2, 'SPACE': 5, 'NOUN': 2, 'VERB': 1, 'ADP': 1, 'PUNCT': 1}\n", "\n", " 4. ORIGINAL: 'On the mat, the cat was sitting.'\n", " Direct: 'on the mat, the cat was sitting.'\n", " Semantic: 'mat cat sit'\n", " Syntactic: 'on the mat , the cat be sit .'\n", " Tokens: 9 | Alpha: 7 | Stopwords: 4 | Punctuation: 2\n", " POS: {'ADP': 1, 'DET': 2, 'NOUN': 2, 'PUNCT': 2, 'AUX': 1, 'VERB': 1}\n", "\n", " 5. ORIGINAL: 'The feline rested on the rug.'\n", " Direct: 'the feline rested on the rug.'\n", " Semantic: 'feline rest rug'\n", " Syntactic: 'the feline rest on the rug .'\n", " Tokens: 7 | Alpha: 6 | Stopwords: 3 | Punctuation: 1\n", " POS: {'DET': 2, 'NOUN': 2, 'VERB': 1, 'ADP': 1, 'PUNCT': 1}\n", "\n", " 6. ORIGINAL: 'The quick brown fox jumps over the lazy dog.'\n", " Direct: 'the quick brown fox jumps over the lazy dog.'\n", " Semantic: 'quick brown fox jump lazy dog'\n", " Syntactic: 'the quick brown fox jump over the lazy dog .'\n", " Tokens: 10 | Alpha: 9 | Stopwords: 3 | Punctuation: 1\n", " POS: {'DET': 2, 'ADJ': 3, 'PROPN': 1, 'VERB': 1, 'ADP': 1, 'NOUN': 1, 'PUNCT': 1}\n", "\n", " 7. ORIGINAL: 'Over the lazy dog jumps the quick brown fox.'\n", " Direct: 'over the lazy dog jumps the quick brown fox.'\n", " Semantic: 'lazy dog jump quick brown fox'\n", " Syntactic: 'over the lazy dog jump the quick brown fox .'\n", " Tokens: 10 | Alpha: 9 | Stopwords: 3 | Punctuation: 1\n", " POS: {'ADP': 1, 'DET': 2, 'ADJ': 3, 'NOUN': 1, 'VERB': 1, 'PROPN': 1, 'PUNCT': 1}\n", "\n", " 8. ORIGINAL: 'The dog ran in the park.'\n", " Direct: 'the dog ran in the park.'\n", " Semantic: 'dog run park'\n", " Syntactic: 'the dog run in the park .'\n", " Tokens: 7 | Alpha: 6 | Stopwords: 3 | Punctuation: 1\n", " POS: {'DET': 2, 'NOUN': 2, 'VERB': 1, 'ADP': 1, 'PUNCT': 1}\n", "\n", " 9. ORIGINAL: 'I love programming.'\n", " Direct: 'i love programming.'\n", " Semantic: 'love programming'\n", " Syntactic: 'i love programming .'\n", " Tokens: 4 | Alpha: 3 | Stopwords: 1 | Punctuation: 1\n", " POS: {'PRON': 1, 'VERB': 1, 'NOUN': 1, 'PUNCT': 1}\n", "\n", "10. ORIGINAL: 'She enjoys reading books.'\n", " Direct: 'she enjoys reading books.'\n", " Semantic: 'enjoy read book'\n", " Syntactic: 'she enjoy read book .'\n", " Tokens: 5 | Alpha: 4 | Stopwords: 1 | Punctuation: 1\n", " POS: {'PRON': 1, 'VERB': 2, 'NOUN': 1, 'PUNCT': 1}\n", "\n", "11. ORIGINAL: 'Short.'\n", " Direct: 'short.'\n", " Semantic: 'short'\n", " Syntactic: 'short .'\n", " Tokens: 2 | Alpha: 1 | Stopwords: 0 | Punctuation: 1\n", " POS: {'ADJ': 1, 'PUNCT': 1}\n", "\n", "12. ORIGINAL: 'A B C D E F G'\n", " Direct: 'a b c d e f g'\n", " Semantic: 'b c d e f g'\n", " Syntactic: 'a b c d e f g'\n", " Tokens: 7 | Alpha: 7 | Stopwords: 1 | Punctuation: 0\n", " POS: {'DET': 1, 'NOUN': 2, 'PROPN': 4}\n", "\n", "13. ORIGINAL: ''\n", " Direct: ''\n", " Semantic: ''\n", " Syntactic: ''\n", " Tokens: 0 | Alpha: 0 | Stopwords: 0 | Punctuation: 0\n", " POS: {}\n" ] } ], "execution_count": 3 }, { "cell_type": "code", "id": "83fc18c9de2e354", "metadata": { "ExecuteTime": { "end_time": "2025-12-14T01:12:45.255452907Z", "start_time": "2025-12-14T01:12:44.578417569Z" } }, "source": [ "\n", "def analyze_dependency_structure(text, sentence_id):\n", " \"\"\"Analyze and display dependency parse information\"\"\"\n", " if not text.strip():\n", " print(f\"Sentence {sentence_id}: [EMPTY]\")\n", " return None\n", " \n", " doc = nlp(text)\n", " \n", " print(f\"\\nSentence {sentence_id}: '{text}'\")\n", " print(\"Dependency Parse:\")\n", " print(\"-\" * 50)\n", " \n", " # Extract dependency relationships\n", " dependencies = []\n", " for token in doc:\n", " dependencies.append({\n", " 'token': token.text,\n", " 'lemma': token.lemma_,\n", " 'pos': token.pos_,\n", " 'dep': token.dep_,\n", " 'head': token.head.text,\n", " 'children': [child.text for child in token.children]\n", " })\n", " print(f\"{token.text:<12} {token.dep_:<12} {token.head.text:<12} {[child.text for child in token.children]}\")\n", " \n", " return dependencies\n", "\n", "def visualize_dependency_tree(text, sentence_id):\n", " \"\"\"Create dependency tree visualization\"\"\"\n", " if not text.strip():\n", " return\n", " \n", " doc = nlp(text)\n", " \n", " # Use displacy for visualization\n", " from spacy import displacy\n", " \n", " print(f\"\\nDependency Tree Visualization - Sentence {sentence_id}:\")\n", " html = displacy.render(doc, style=\"dep\", jupyter=True, options={'distance': 120})\n", " \n", " return html\n", "\n", "# Analyze dependency structures for key sentence pairs\n", "key_pairs = [\n", " (0, \"The cat sat on the mat.\"),\n", " (3, \"On the mat, the cat was sitting.\"),\n", " (4, \"The feline rested on the rug.\"),\n", " (5, \"The quick brown fox jumps over the lazy dog.\")\n", "]\n", "\n", "for sentence_id, sentence in key_pairs:\n", " deps = analyze_dependency_structure(sentence, sentence_id)\n", " visualize_dependency_tree(sentence, sentence_id)\n", " print(\"\\n\" + \"=\"*70 + \"\\n\")" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Sentence 0: 'The cat sat on the mat.'\n", "Dependency Parse:\n", "--------------------------------------------------\n", "The det cat []\n", "cat nsubj sat ['The']\n", "sat ROOT sat ['cat', 'on', '.']\n", "on prep sat ['mat']\n", "the det mat []\n", "mat pobj on ['the']\n", ". punct sat []\n", "\n", "Dependency Tree Visualization - Sentence 0:\n" ] }, { "data": { "text/plain": [ "" ], "text/html": [ "\n", "\n", " The\n", " DET\n", "\n", "\n", "\n", " cat\n", " NOUN\n", "\n", "\n", "\n", " sat\n", " VERB\n", "\n", "\n", "\n", " on\n", " ADP\n", "\n", "\n", "\n", " the\n", " DET\n", "\n", "\n", "\n", " mat.\n", " NOUN\n", "\n", "\n", "\n", " \n", " \n", " det\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " nsubj\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " prep\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " det\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " pobj\n", " \n", " \n", "\n", "" ] }, "metadata": {}, "output_type": "display_data", "jetTransient": { "display_id": null } }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "======================================================================\n", "\n", "\n", "Sentence 3: 'On the mat, the cat was sitting.'\n", "Dependency Parse:\n", "--------------------------------------------------\n", "On prep sitting ['mat']\n", "the det mat []\n", "mat pobj On ['the']\n", ", punct sitting []\n", "the det cat []\n", "cat nsubj sitting ['the']\n", "was aux sitting []\n", "sitting ROOT sitting ['On', ',', 'cat', 'was', '.']\n", ". punct sitting []\n", "\n", "Dependency Tree Visualization - Sentence 3:\n" ] }, { "data": { "text/plain": [ "" ], "text/html": [ "\n", "\n", " On\n", " ADP\n", "\n", "\n", "\n", " the\n", " DET\n", "\n", "\n", "\n", " mat,\n", " NOUN\n", "\n", "\n", "\n", " the\n", " DET\n", "\n", "\n", "\n", " cat\n", " NOUN\n", "\n", "\n", "\n", " was\n", " AUX\n", "\n", "\n", "\n", " sitting.\n", " VERB\n", "\n", "\n", "\n", " \n", " \n", " prep\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " det\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " pobj\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " det\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " nsubj\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " aux\n", " \n", " \n", "\n", "" ] }, "metadata": {}, "output_type": "display_data", "jetTransient": { "display_id": null } }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "======================================================================\n", "\n", "\n", "Sentence 4: 'The feline rested on the rug.'\n", "Dependency Parse:\n", "--------------------------------------------------\n", "The det feline []\n", "feline nsubj rested ['The']\n", "rested ROOT rested ['feline', 'on', '.']\n", "on prep rested ['rug']\n", "the det rug []\n", "rug pobj on ['the']\n", ". punct rested []\n", "\n", "Dependency Tree Visualization - Sentence 4:\n" ] }, { "data": { "text/plain": [ "" ], "text/html": [ "\n", "\n", " The\n", " DET\n", "\n", "\n", "\n", " feline\n", " NOUN\n", "\n", "\n", "\n", " rested\n", " VERB\n", "\n", "\n", "\n", " on\n", " ADP\n", "\n", "\n", "\n", " the\n", " DET\n", "\n", "\n", "\n", " rug.\n", " NOUN\n", "\n", "\n", "\n", " \n", " \n", " det\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " nsubj\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " prep\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " det\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " pobj\n", " \n", " \n", "\n", "" ] }, "metadata": {}, "output_type": "display_data", "jetTransient": { "display_id": null } }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "======================================================================\n", "\n", "\n", "Sentence 5: 'The quick brown fox jumps over the lazy dog.'\n", "Dependency Parse:\n", "--------------------------------------------------\n", "The det fox []\n", "quick amod fox []\n", "brown amod fox []\n", "fox nsubj jumps ['The', 'quick', 'brown']\n", "jumps ROOT jumps ['fox', 'over', '.']\n", "over prep jumps ['dog']\n", "the det dog []\n", "lazy amod dog []\n", "dog pobj over ['the', 'lazy']\n", ". punct jumps []\n", "\n", "Dependency Tree Visualization - Sentence 5:\n" ] }, { "data": { "text/plain": [ "" ], "text/html": [ "\n", "\n", " The\n", " DET\n", "\n", "\n", "\n", " quick\n", " ADJ\n", "\n", "\n", "\n", " brown\n", " ADJ\n", "\n", "\n", "\n", " fox\n", " PROPN\n", "\n", "\n", "\n", " jumps\n", " VERB\n", "\n", "\n", "\n", " over\n", " ADP\n", "\n", "\n", "\n", " the\n", " DET\n", "\n", "\n", "\n", " lazy\n", " ADJ\n", "\n", "\n", "\n", " dog.\n", " NOUN\n", "\n", "\n", "\n", " \n", " \n", " det\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " amod\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " amod\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " nsubj\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " prep\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " det\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " amod\n", " \n", " \n", "\n", "\n", "\n", " \n", " \n", " pobj\n", " \n", " \n", "\n", "" ] }, "metadata": {}, "output_type": "display_data", "jetTransient": { "display_id": null } }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "======================================================================\n", "\n" ] } ], "execution_count": 4 }, { "cell_type": "code", "id": "e413238c1af12f62", "metadata": { "ExecuteTime": { "end_time": "2025-12-14T01:12:45.762461029Z", "start_time": "2025-12-14T01:12:45.271388321Z" } }, "source": [ "def analyze_vocabulary_distribution(sentences):\n", " \"\"\"Analyze word frequencies and vocabulary across sentences\"\"\"\n", " all_words = []\n", " all_lemmas = []\n", " content_words = []\n", " \n", " for sent in sentences:\n", " doc = nlp(sent)\n", " for token in doc:\n", " if token.is_alpha and not token.is_space:\n", " all_words.append(token.text.lower())\n", " all_lemmas.append(token.lemma_.lower())\n", " if not token.is_stop and token.pos_ in ['NOUN', 'VERB', 'ADJ', 'ADV']:\n", " content_words.append(token.lemma_.lower())\n", " \n", " # Calculate frequencies\n", " word_freq = Counter(all_words)\n", " lemma_freq = Counter(all_lemmas)\n", " content_freq = Counter(content_words)\n", " \n", " return word_freq, lemma_freq, content_freq\n", "\n", "word_freq, lemma_freq, content_freq = analyze_vocabulary_distribution(test_sentences)\n", "\n", "print(\"VOCABULARY ANALYSIS\")\n", "print(\"=\" * 50)\n", "print(f\"Total unique words: {len(word_freq)}\")\n", "print(f\"Total unique lemmas: {len(lemma_freq)}\")\n", "print(f\"Total content words: {len(content_freq)}\")\n", "\n", "# Plot most common words\n", "fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n", "\n", "# Original words\n", "common_words = word_freq.most_common(10)\n", "axes[0].bar([w[0] for w in common_words], [w[1] for w in common_words])\n", "axes[0].set_title('Top 10 Most Common Words')\n", "axes[0].tick_params(axis='x', rotation=45)\n", "\n", "# Lemmas\n", "common_lemmas = lemma_freq.most_common(10)\n", "axes[1].bar([w[0] for w in common_lemmas], [w[1] for w in common_lemmas])\n", "axes[1].set_title('Top 10 Most Common Lemmas')\n", "axes[1].tick_params(axis='x', rotation=45)\n", "\n", "# Content words\n", "common_content = content_freq.most_common(10)\n", "axes[2].bar([w[0] for w in common_content], [w[1] for w in common_content])\n", "axes[2].set_title('Top 10 Content Words')\n", "axes[2].tick_params(axis='x', rotation=45)\n", "\n", "plt.tight_layout()\n", "plt.show()" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "VOCABULARY ANALYSIS\n", "==================================================\n", "Total unique words: 35\n", "Total unique lemmas: 34\n", "Total content words: 21\n" ] }, { "data": { "text/plain": [ "
" ], "image/png": "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RYvauHHjLD4+3uLj423IkCEZcr744ou2aNEiO3jwoCUnJ9uKFSvO+Uefli1bWmRkpB0+fNgSExMtJibGBg0alCfPJRRFURf7MUVe9OfXXnvNdu3aZSkpKTZ79my7/vrrfevNmzcvw7HEma/3Lr30Uhs4cKBt3rzZUlNTbefOnTZkyJDz9vL015Cpqam2du1aa926tW+d9OHz2ZyG6jt27LDIyEi/ZQsWLLBPPvnERo0aZZMnT/a7bM2aNRYVFeX7+eqrr7ZRo0bZvn37LCUlxVavXm1PPPGE33UqVqxoZmYvvvii9enTx7Zs2WInT560WrVqmSS77bbbbNmyZZaSkmJbtmyxbt26nXOQTr+kcrECHoC6iOpcjXX27NmWlpZmX375pfXs2dMmTZpkZhn/wmtmFh0dbfv377c33njD/vnPf9q2bdssKSnJatSokaUcTo1106ZNNm3atAzLu3btambme6F4vkp/4Va5cmUzM2vevLnvsv/+9782Y8YMX6M88wVQ9erVLTEx0WJjY+3111+3l19+2bZu3WopKSl26623+tZ79913LS0tzb744gv7xz/+YS+88IJ999139vLLL5ska9Cggc2cOdPMzB599FFfnS9vy5YtzczsjTfeyNS+K1mypO3du9cSEhLsnXfeseeff97++OMPO3nypLVv3963Xvp9XLVqlS1atMh69+5tw4YNs7S0NPv+++/t22+/tWnTplmPHj1s3LhxZmb25ptvZnjMV69ebTt27LCXX37ZXn75ZTt8+LBt377devbsaWvXrrUXXnjB3n77bUtNTbU5c+b4XT/9hevvv/9uffr0scGDB1tSUpL9+eeffn/1HjNmjCUnJ9uaNWts1KhR9swzz/jemXj2O83PVYsWLfI7gLnmmmvMzKxBgwb29ttv28qVK32X3XTTTWZm9s9//jNb+3Pt2rW2atUqe/75561fv3522WWXWatWrezkyZMWHR1tzz//vL3zzjt2+PBhW7NmjV+u9Mf6t99+sx49eliPHj3sk08+sZ9++ingzw0URQWu6M305ouxN2dmkP7YY49ZWlqaTZ8+3Xr16mX//Oc/7c8//7T4+Hi/QUF6lrVr19rnn39uPXr0sIULF5qZWefOnW337t02ZMgQ69Wrl61Zs8ZOnDhh1157bYb7vGrVKps+fbrf/n3vvffsf//7n3377bfWvXt3mzx5spmZPf74435Zd+7caZ999pn17NnTnn/+eVu6dKmZmd8wpnr16paammrLli2zZ5991rp162bvv/++zZ8/P+DPMxRF5Y+62I8pcrs/r1y50pYvX259+vSx/v3727Fjx2zp0qV+t79q1Srbv3+/71iiXbt2Jp1+w1ZERIQdO3bMPv74Y3v66aftk08+sb/++st+/fXXDPv6jz/+8B3fPPfcc7ZlyxY7duyYXXnllSbJbrzxRvvuu+/MzKxPnz6+2ytSpMh57+93331nKSkpvsF9wYIFLTk52R5++GHr2rWrHTx40LdusWLFLC0tzUaMGGHS6T9SrFu3zo4fP24fffSR9e7d2xYsWGBm5vfGr/RB+tq1a23Lli328ssvW58+fax8+fJWs2ZNS0pKsu3bt1u/fv3s9ddft71799rq1av9fi/pl1QuV8ADUBdRnd1Y7733XjMze+211/zWmzBhgqWlpdl1113nW5auTp06vmXly5e35ORk++WXX7KUw6mxJiYm2qhRozIsb9OmjZmZ3XHHHY7bPvOF27Jly+yrr74ySVa0aFFLTU21xx9//Jwv1v/73/9aamqqVapUybesdOnSlpCQ4PeE/scff9iUKVOytJ+d6tlnnzUz8zXgC9XHH39sZqffVZW+LCwszLZu3Wp//vmn7y/76fcxOjraQkNDfet+9913lpaWluHg5exhdPpjnpKS4vdi9umnnzYzsz179tjll1/uWz5o0CAz+7+/kIeGhtq+ffssOjraChUq5Fuvbdu2ZmY2cOBA37L0dwqefUCUfiBzoX0yZMgQMzPfu+keeughS05OtoIFC9qdd95pJ06c8GXt2bOnmZk1bNgwW/tzy5YtVrhwYb/bX7VqlcXGxtoVV1zhW5Z+kHfmPh06dKgdOXIk0++eoCgqfxS9md58MfbmCw3Sw8LCLD4+3r744gu/5SVLlrTDhw/7LU/P8sorr/iWFS1a1JKSkiwtLc0efPBB3/IbbrjBzMwGDBjgW5Y+SJ8xY0aG/ZuWlmaff/65b1lISIjt3LnT5s2b57fu2b0/NDTUoqOjbfbs2b5lffr0MTOzq666Kkv/9yiKotyqi/2YIrf787p16/xOUZJ+e2f+IeF8p3Z59NFH7eTJk363JZ3+pNiZrz/T93Vqaqrf/r/xxhvNzKxXr16+ZVk5tYsk69Gjh9/9rV+/vpmZlS9f3qpVq2ZmZn/7299M+r/en/4prueee87MzDp16uTbXmhoqC1atMiOHj3qO75IH6QfOXLESpQo4Xf7//3vfy05OdnKly/vW1atWjU7ceKE3+8l/ZLKzQoRkIvatm2rkydP6pNPPvFb/tFHHykkJERt2rTxW7548WKtWrXK9/OuXbs0adIktW7dWiEh7vy6XnbZZTp+/HiG5ampqb7LM+v777/Xfffdp4IFC6pjx45KS0vTr7/+mmG9kJAQ3XHHHZo4caK2bdvmW75v3z59//33aty4scLDwyVJR44cUY0aNVS5cuWs3rVzuuKKKyRJiYmJmVq/bdu2+v333/2+JCQpKUlffvmlKlWqpOrVq/ut/8033+jkyZO+n3///XeFhIRo9OjRfuv9/vvvKl++vC655BK/5XPmzNGOHTv81pOkX375RceOHcuw/LrrrpMk1atXT6VKldLnn3/u93hOnz5dGzZs0F133ZXhvo0cOdLv58jISN/2nKR/OUqTJk0knf7SlJUrV+rEiRNasmSJQkJC1KBBA99lKSkpWrFihaSs789x48b5fhclqXTp0rr55ps1btw4HT161Ld89uzZWrdund91jxw5orCwMLVq1eqC9wlA/kVvPo3e7O3efCGtWrVS8eLF9cMPP+iqq67yVVpamn7//Xc1b948w3VGjRrl+3dCQoI2btyopKQkTZgwwbd806ZNOnz48Dkzfv31134/p+/3M5efOnVKK1asyHD9M3t/sWLFVLRoUUVGRqpOnTq+5UeOHJEktWvXTgUKFMjkngCA3HOxHVPkdn8eM2aMTpw44fs5MjJSkjLV9x544AFt2LBBMTExfn1t7ty5kpShr82ePVt//vmn7+c1a9YoISEhRz02/XVx48aNJZ1+7bt7927t2rVLMTExOnTokO8LRs/+otG2bdtq7969+uGHH3zbS//dCQ8PV7Nmzfxu65dfftHBgwd9P4eEhKh169aaOHGidu3a5VseExOjmTNn+l2XfoncxCAduapixYras2eP34su6f++1btixYp+yzdv3pxhG5s2bVJYWJiuvvpqVzKlpKSoUKFCGZYXLlzYd3lm/fjjjypatKjatGmjRx99VFOnTs1wXyXp6quvVlhYmDZu3Jjhsg0bNuiSSy5R+fLlJUn9+/dXsWLFtHnzZkVHR+v999/XjTfemOlMZ0sf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Hq1ff/0109e74YYbdPToUd/P+/fvz414AADka64P0vv166ddu3apa9euvmXbt293+2YAAICL6N8AAAReRESEIiIisny9/fv3KyEhIRcSAQCAdK6f2uXee+/VihUrNGHCBMXFxWnVqlV66qmn3L4ZAADgIvo3AADetXr1au3Zs0ezZs1So0aNAh0HAICLkuvvSL/uuuvUo0cPffzxxxo8eLBuueUWffLJJ/rrr7/0zTffZHo74eHhrmUKCwtzbVs5FRYW5up9O1P6dnNr+24hp3u8kFEip9u8kNMLGaXgzBmoLG71b8m9+xBM/Vuih3sho0ROt3khpxcySuR0U7BmDESevXv36plnntGKFStUqFAhPfXUU5o/f77q16+vP/74I0vbym+vwYMpo0RONzkds3khZzBllLyR0+uPuRuCtTeeLRhzZiWL64P0kJAQrVixQq+//rqk038Zr1mzprp3756lF+KxsbFuRwsKkZGRuX4bXtl35HSPFzJK5HSbF3J6IaPknZy5ya3+LV28+5MefpoXMkrkdJsXcnoho0RON3khY27btGmTNm3a5Pt5yZIluv766/XCCy/oiSeeyNK2Ltb9mRf92w3kdI8XMkrkdJMXMkq8njiTV3KezfVB+t69e7V+/Xq/ZRs2bND999+fpe2UK1dOiYmJrmSqVatW0PynatKkiaKionJl2+Hh4YqNjXV13+UGcrrHCxklcrrNCzm9kFEKzpzpmfKaW/1bcq+HB1P/lujhXsgokdNtXsjphYwSOd0UrBkD1cPPtmzZMjVu3DjL18tvr8GDKaNETjc5HbN5IWcwZZS8kdPrj7kbgrU3ni0Yc2alf7s+SF+0aJGqVq3qt+yGG27Qjh07srSdxMRE13ZoUlKSK9txQ1JSUq7/ori573ITOd3jhYwSOd3mhZxeyCh5J2ducqt/S+7tz2Dq3xI9PJ0XMkrkdJsXcnoho0RON3khYyDUrl1be/fuzfL18ttr8GDKKJHTTU7HbF7IGUwZJW/k9Ppj7iav9Eav5Dyb64P0oUOHavHixXr11Vc1YcIE3XrrrerWrZu6devm9k0BAACX0L8BAAi8sLAwVa5c2fdzpUqVVKtWLcXHx2vXrl0aPHiwypUrp86dO0uS+vTpo23btmndunUqXLiwnnrqKf3973/XHXfcEai7AADARcv1QfqKFSvUoUMH/etf/1L//v21bds2Pf/88/r+++/dvikAAOAS+jcAAIFXr149zZ8/3/fz0KFDJUljx45Vly5dVKZMGVWoUMF3+aWXXqqPPvpI5cqVU3JysqKjo9WyZUu/bQAAAHe4PkiXpGnTpmnatGm5sWkAAJBL6N8AAATWggULVKBAgfNe3qVLF7+fP/jgA33wwQe5HQsAAEgKCXQAAAAAAAAAAACCGYN0AAAAAAAAAAAcMEgHAAAAAAAAAMABg3QAAAAAAAAAABwwSAcAAAAAAAAAwAGDdAAAAAAAAAAAHDBIBwAAAAAAAADAAYN0AAAAAAAAAAAcMEgHAAAAAAAAAMABg3QAAAAAAAAAABwwSAcAAAAAAAAAwAGDdAAAAAAAAAAAHDBIBwAAAAAAAADAAYN0AAAAAAAAAAAcMEgHAAAAAAAAAMABg3QAAAAAAAAAABwwSAcAAAAAAAAAwEFooAPAX/ny5VWiRIlsXTcsLEySVKtWLSUlJWU7w8GDB7Vr165sXx8AgPwmJ/1bcqeH078BAAAAIPcwSA8i5cuXV8zGjSpy2WU52k5kZGSOrp+ckqJqVavyYhwAgExwq39LOevh9G8AAAAAyD0M0oNIiRIlVOSyyzR912bFH08JSIYrC12mtuWrqESJErwQBwAgE+jfAAAAAHDxY5AehOKPp2h/anKgYwAAgCygfwMAAADAxYsvGwUAAAAAAAAAwAGDdAAAAAAAAAAAHDBIBwAAAAAAAADAAYN0AAAAAAAAAAAcMEgHAAAAAAAAAMABg3QAAAAAAAAAABwwSAcAAAAAAAAAwAGDdAAAAAAAAAAAHDBIBwAAAAAAAADAAYN0AAAAAAAAAAAcMEgHAAAAAAAAAMABg3QAAAAAAAAAABwwSAcAAAAAAAAAwAGDdAAAAAAAAAAAHDBIBwAAAAAAAADAAYN0AAAAAAAAAAAc5PogvV+/fjIzDR06NLdvCgAAuIT+DQBA3mvSpIkmT56s2NhYmZnatWt3wes0a9ZMK1euVGpqqjZv3qzOnTvnQVIAAPKfXB2k16tXT88884yioqJy82YAAICL6N8AAARGWFiYoqKi1KtXr0ytf+2112ratGmaN2+eateurWHDhmnUqFG64447cjkpAAD5T64N0sPCwvTdd9/p6aef1uHDh3PrZgAAgIvo3wAABE5ERITefPNNTZw4MVPrd+/eXdu2bdNLL72kmJgYjRgxQj///LNeeOGF3A0KAEA+FJpbGx4xYoSmTZumOXPm6I033sjy9cPDw13LEhYW5tq2ciosLOy8980rOa+55hpdddVV2d52kSJFJEkNGzZUcnJytrdz6NAh7d69+7yXB0POC2XMqfTHyM3/L7mBnO7yQk4vZJSCM2egs+S0f0vu3Ydg6ovS+XtjMOV06t9Sznpjfurf0sWTM6eC8XnybF7IKJHTTcGaMRB5GjZsqNmzZ/stmzlzpoYNG5blbeW31+DBlFEip5u8PncJpoySN3J6/TGXvHNs6ZWcWZGV/pcrg/SHHnpIderU0S233JLtbcTGxrqYKHhERkYGOkKmOOU8ZaaQAgVyfBszZ87M0fUvlCMYcrqV4UK88v+FnO7yQk4vZJS8kzO3udG/pYt3f3qhh18ooxt9KT/078zk8EpOt3jh/7UXMkrkdJMXMua20qVLKy4uzm9ZXFycihYtqsKFCys1NTXT27pY96cX+rdETjd5IaNETjd5IaPErO1MXjkGPpvrg/RrrrlGw4cPV6tWrXT8+PFsb6dcuXJKTEx0JVOtWrWC5j9VkyZNznvOWS/kTM84fddmxR9PCUCy064sdJnalq8S1DkvlNEN4eHhio2NdfX/S24gp7u8kNMLGaXgzJmeKa+51b8l93p4MPVF6cK9MRhk5jgjmHtjMGSULp6cbgjG58mzeSGjRE43BWvGQPVwt+S31+DBlFEip5sulrlLsPBCzovlMQ/2Y0uv5MyqrPRv1wfpdevWValSpbRq1ar/u5HQUDVt2lS9e/dWoUKFdOrUqQtuJzEx0bUmnpSU5Mp23JCUlHTe++WFnOkZ44+naH9q9j+C4RYv5HR6zN3i5v+X3EROd3khpxcySt7JmZvc6t+Se/szmPqidOGeEwwyc5wRzL0xmDJK3s/pJi88T3oho0RON3khY27bt2+fSpUq5besVKlSSkhIyNK70aX89xo8mDJK5HTTxTJ3CRZeyHmxPObBfmzplZy5yfVB+pw5c1SzZk2/ZWPGjFFMTIyGDBmS6RfhAAAg79C/AQDwniVLlqht27Z+y1q1aqUlS5YEKBEAABcv1wfpx44d07p16/yWJSUl6dChQxmWAwCA4ED/BgAg8MLCwlS5cmXfz5UqVVKtWrUUHx+vXbt2afDgwSpXrpw6d+4sSRo5cqR69+6tIUOGaPTo0fr73/+uBx98UHfddVeg7gIAABetkEAHAAAAAAAAUr169bR69WqtXr1akjR06FCtXr1ab7/9tiSpTJkyqlChgm/97du366677lKrVq0UFRWlF198UU899ZRmzZoViPgAAFzUXH9H+rk0b948L24GAAC4iP4NAEDeWrBggQoUKHDey7t06XLO69SpUyc3YwEAAPGOdAAAAAAAAAAAHDFIBwAAAAAAAADAAYN0AAAAAAAAAAAcMEgHAAAAAAAAAMABg3QAAAAAAAAAABwwSAcAAAAAAAAAwAGDdAAAAAAAAAAAHDBIBwAAAAAAAADAAYN0AAAAAAAAAAAcMEgHAAAAAAAAAMABg3QAAAAAAAAAABwwSAcAAAAAAAAAwAGDdAAAAAAAAAAAHDBIBwAAAAAAAADAAYN0AAAAAAAAAAAcMEgHAAAAAAAAAMBBaKADAPld+fLlVaJEiWxdNywsTJJUq1YtJSUlZTvDwYMHtWvXrvNenpOMUt7lBAAA/oKhh9O/AQAAcDFgkA4EUPny5RWzcaOKXHZZjrYTGRmZo+snp6SoWtWq53yR61ZGKXdzAgAAf8HSw+nfAAAAuBgwSAcCqESJEipy2WWavmuz4o+nBCTDlYUuU9vyVVSiRIlzvsANhozShXMCAAB/wdDD6d8AAAC4WDBIB4JA/PEU7U9NDnQMR17ICAAAMqKHAwAAADnHl40CAAAAAAAAAOCAQToAAAAAAAAAAA4YpAMAAAAAAAAA4IBBOgAAAAAAAAAADhikAwAAAAAAAADggEE6AAAAAAAAAAAOGKQDAAAAAAAAAOCAQToAAAAAAAAAAA4YpAMAAAAAAAAA4IBBOgAAAAAAAAAADhikAwAAAAAAAADggEE6AAAAAAAAAAAOGKQDAAAAAAAAAOCAQToAAAAAAAAAAA4YpAMAAAAAAAAA4IBBOgAAAAAAAAAADlwfpL/yyitatmyZjh49qri4OP3666+64YYb3L4ZAADgIvo3AADBo2fPntq2bZtSUlK0dOlS3XLLLeddt3PnzjIzv0pJScnDtAAA5A+uD9KbNWumESNGqEGDBmrVqpUKFiyoWbNmqUiRIm7fFAAAcAn9GwCA4PDggw/q448/1ltvvaU6deooKipKM2fO1NVXX33e6yQkJKh06dK+qlixYh4mBgAgfwh1e4Nt2rTx+/nJJ5/UgQMHVLduXUVGRrp9cwAAwAX0bwAAgkPfvn311VdfaezYsZKk7t2766677lLXrl01ZMiQc17HzBQXF5eHKQEAyH9y/RzpRYsWlSTFx8fn9k0BAACX0L8BAMh7BQsWVN26dTV79mzfMjPT7Nmz1bBhw/Ne7/LLL9f27du1c+dOTZw4UdWrV8+LuAAA5CuuvyP9TAUKFNCwYcO0cOFCrVu3LkvXDQ8Pdy1HWFiYa9vKqbCwsPPeNy/kDKaMkjdy8pi7y2l/XnPNNbrqqquyve30U1g0bNhQycnJ2d7OoUOHtHv37vNeHgw5L5RRylnO/LQvpcztz8xys/9lV076t+TeffDK808w5aTnuIuc7nH63ZToOVnhhZwXy3FGVrnR/0qUKKHQ0NAM7y6Pi4tTtWrVznmdjRs3qmvXroqOjlbRokX10ksvafHixapRo4ZiY2Mzfdv57TV4MGWUyOkmjofc5YWcPObu8nrOrMrKNnJ1kD5ixAjVrFlTjRs3zvJ1s9LwvcQrH48np3u8kFG6OHKeMlNIgQI5vo2ZM2fm6PoXyhEMOTOTwY2c+WFfupkjWOSkf0v08EDyQkaJnG7zQs4LZaTnZJ4Xcl4sxxlesXTpUi1dutT38+LFi7VhwwY988wz6t+/f6a3Q/8OLHK6xwsZJXK6yQsZJXK6LRA5c22Q/umnn+ruu+9W06ZNs9WQy5Urp8TERFey1KpVK2h+CZo0aaKoqKhzXuaFnMGUUfJGTh5zd10o5/RdmxV/PCUAyU67stBlalu+SlDnvFBGyRs5gyGjlLn9mRXh4eEBfSGb0/4tudfDvfb8EwzoOe4ip3voOe7wQs6L5TgjO9zo4QcPHtTJkydVqlQpv+WlSpXSvn37MrWNkydP6o8//lDlypWzdNv57TV4MGWUyOkmjofc5YWcPObu8nrOrMpK/86VQfqnn36qDh066Pbbb9f27duztY3ExETXmnhSUpIr23FDUlLSee+XF3IGU0bJGzl5zN11oZzxx1O0PzX7H/F1ixdyZuZ3M5hzBlNGyXl/eoUb/Vtyr4d77fknGNBz3EVO99Bz3OWFnF5/zAPlxIkTWrlypVq0aKFJkyZJOn3KtRYtWuizzz7L1DZCQkJ04403avr06Vm67fz2GjyYMkrkdBPHQ+7yQk4ec3d5PWducn2QPmLECHXq1Ent2rVTYmKi7y/pCQkJSk1NdfvmAACAC+jfAAAEh48//ljjxo3TihUrtGzZMj3//PMKCwvTmDFjJEnjxo1TbGysXnvtNUnSm2++qaVLl2rLli0qVqyY/vnPf6pixYoaNWpUIO8GAAAXHdcH6T179pQkLViwwG/5k08+qXHjxrl9cwAAwAX0bwAAgsOECRN09dVX6+2331bp0qW1evVq3Xnnndq/f78kqUKFCjp16pRv/eLFi+urr75S6dKldfjwYa1cuVKNGjXShg0bAnUXAAC4KLk+SC9wEXxZCwAA+Q39GwCA4DFixAiNGDHinJc1b97c7+e+ffuqb9++eRELAIB8LSTQAQAAAAAAAAAACGYM0gEAAAAAAAAAcMAgHQAAAAAAAAAABwzSAQAAAAAAAABwwCAdAAAAAAAAAAAHDNIBAAAAAAAAAHDAIB0AAAAAAAAAAAcM0gEAAAAAAAAAcMAgHQAAAAAAAAAABwzSAQAAAAAAAABwwCAdAAAAAAAAAAAHDNIBAAAAAAAAAHDAIB0AAAAAAAAAAAcM0gEAAAAAAAAAcMAgHQAAAAAAAAAABwzSAQAAAAAAAABwwCAdAAAAAAAAAAAHDNIBAAAAAAAAAHDAIB0AAAAAAAAAAAcM0gEAAAAAAAAAcMAgHQAAAAAAAAAABwzSAQAAAAAAAABwwCAdAAAAAAAAAAAHDNIBAAAAAAAAAHDAIB0AAAAAAAAAAAcM0gEAAAAAAAAAcMAgHQAAAAAAAAAABwzSAQAAAAAAAABwwCAdAAAAAAAAAAAHDNIBAAAAAAAAAHDAIB0AAAAAAAAAAAcM0gEAAAAAAAAAcMAgHQAAAAAAAAAABwzSAQAAAAAAAABwwCAdAAAAAAAAAAAHDNIBAAAAAAAAAHCQa4P0nj17atu2bUpJSdHSpUt1yy235NZNAQAAl9C/AQAIvKz2444dO2rDhg1KSUlRdHS02rRpk0dJAQDIP3JlkP7ggw/q448/1ltvvaU6deooKipKM2fO1NVXX50bNwcAAFxA/wYAIPCy2o8bNmyoH374QV9//bVuvvlmTZw4URMnTlSNGjXyODkAABe3XBmk9+3bV1999ZXGjh2rDRs2qHv37kpOTlbXrl1z4+YAAIAL6N8AAAReVvtxnz59FBERoQ8//FAxMTHq37+/Vq1apd69e+dxcgAALm6uD9ILFiyounXravbs2b5lZqbZs2erYcOGbt8cAABwAf0bAIDAy04/btiwod/6kjRz5kz6NwAALgt1e4MlSpRQaGio4uLi/JbHxcWpWrVqmd5OmTJlFB4e7kqm9I/AlSwcpoIFAvP9qsULXebLUrZs2XOu44WcwZBR8kZOHnN3kdM9/G66KzP7Mysuv/zyHG8jO9zq35J7Pdwrj3Ew5OT/tbvI6R5+N93lhZwXy2OeHW708Oz049KlS59z/dKlS2fptvPba/BgyCiR000Xy/NPMGSUvJGTx9xdF0vOrMpK/y4gyXJ8i2coU6aM9uzZo4YNG2rp0qW+5UOGDFGzZs3UoEEDx+uXLVtWsbGxbkYCAMBzypUrpz179uTZ7eW0f0v0cAAApJz18Oz04+PHj6tz58768ccffct69OihAQMGZGqYTv8GACBz/dv1d6QfPHhQJ0+eVKlSpfyWlypVSvv27bvg9ffs2aNy5copMTHR7WgAAHhCeHh4ng7RpZz3b4keDgBATnt4dvrxvn376N8AAORAZvu364P0EydOaOXKlWrRooUmTZokSSpQoIBatGihzz77LFPbyOvhAQAAwSQQL2Td6N8SPRwAkL/ltIdnpx8vWbJELVq00PDhw33LWrVqpSVLlmT6dunfAID8LCv929yuBx980FJSUuyJJ56watWq2ciRIy0+Pt5Klizp+m1RFEVRFOVO0b8piqIoKvB1oX48btw4Gzx4sG/9hg0b2l9//WV9+/a1qlWr2oABA+z48eNWo0aNgN8XiqIoirrIKnc23KtXL9u+fbulpqba0qVL7dZbbw30HaUoiqIo6gJF/6YoiqKowJdTP543b56NGTPGb/2OHTtaTEyMpaam2po1a6xNmzYBvw8URVEUdbGV6182CgAAAAAAAADAxSQk0AEAAAAAAAAAAAhmDNIBAAAAAAAAAHDAIB0AAAAAAAAAAAcM0gEAAAAAAAAAcMAgHQAAAAAAAAAABwzSgYtEgQIFzvlvADnD/ycAAAAAAMAgHQEVGhoqSQoJ4VcxuwoVKqSQkBCZmW655RZJkpkFOJUzLw4mvZgZOVegQAHf/6dbbrlFYWFhAU4EBIdg7N/nep4uWLBgAJJcvLzaC72aG1nHY31xoufkT179/+zV3MHEC/vQCxm9JJie3y/EO0lxUSlXrpyKFy+ukydP6q677lKnTp10ySWXBDrWeZ2ZrWTJkr6DuUC79tprNX36dJUpU0YPPvigli5dqttuuy3QsS4ofTDZsGHDACfJvPTM7du3V4UKFQKcxnuKFy8e6AhZduYQ/e2339b48ePVvHlzXiQhXwvm/m1mKl++vP7xj39Ikh588EFNmjRJl156aYCTXViwHmeczYv9W6KH54SX+veZfbtVq1Zq3bq1WrduHeBUyAl6Tu6g5+Quek7OeOW5PD3jnXfeqbJlywY4jXcVLVpUknTq1CndcsstKl++fIATZY5RWavLL7/cQkJCLCwszCRZgQIFAp7pzLriiivssssuC3iO81V4eLhNnz7dZs2aZU8++aSlpaXZ/fffH/Bc56vy5cvbsGHDTJK1b9/e1q9fb6VLlw54LkkWFhZmsbGxFhMTYydPnrTOnTsHPJNTnfl/pVatWpaWlmY9evQIeK7zVbVq1fyy33bbbbZv3z4rXrx4wLPlZN/ndd1+++02derUgO+D7Nbbb79te/futZYtW9pVV10V8DxU9ov+nbMK9v59ySWX2L///W9btWqVjRw50k6cOGFdunQJeK4LVTAfZ6SX1/q3RA93o7zavz/++GM7ePCg7dixww4ePGgzZ860ypUrBzwXlbWi5+RO0XNyp+g57pcXnstvvvlmO3TokNWtWzeo9p1TFS1a1EqXLm2FChUK+GNeunRpmz59uj3yyCPWrl07S0tLs9tuuy3g+ygTFfAAnqo2bdrYf//7X1uyZIn997//tZYtWwY805l177332qpVq2zx4sX23XffBTzPuSokJMTatWtnMTExdvz4cV9TvOSSSwKe7VzVo0cPW7lypUVERNjx48ft0UcfDXim9P0oyR544AFLS0uzrVu32vXXX++JJ+8ePXrY8OHDLSkpyU6ePGl9+vQJeKaz6/XXX7fly5db48aNfcvq169va9assUsvvTTg+S5U9evXt2eeecbat29vJUuWNClwDbJNmza2c+dOCwsL8/3eeqWuvfZai4qKsrvvvtskWbFixaxatWr2/PPPW/PmzS00NDTgGanMFf075xWs/btr165Wo0YN38+//fabpaWl2ZgxY3zLgrk3ButxxvmyBnv/lujhbpUX+3fNmjVt9erVVqdOHatUqZLVrFnTYmJi7Pfff7err7464PmozBc9J3eKnuN+0XPcLy89l8+YMcOmT58e8ByZqXvvvdcWLFhgu3btskmTJtngwYMDmqdKlSo2btw4W79+vaWkpNgjjzxikrxwzBHwAJ6pe+65x5KTk61fv3728MMP2/jx4y0tLc2qVKkS8GySrG7dunb06FF7++23bcCAAbZ161ZbtmxZ0D3RSLLKlSvbzp077c8//7Rff/3VrrzySpOC9z/M559/bmlpaTZ37lwrWLCgSYFvLul1xx132OOPP27r16+3FStWWO3atc+5XrDkfeeddywuLs4efvhh69q1q33zzTd29OhRe+mllwKe7cxq3769TZ061aZPn25NmzY1SXbrrbfa4sWLg3K/nlkdOnSwI0eO2IYNG2zz5s02d+5cu/766wOW99Zbb7UjR44E3btdMlPVq1e3/fv3W5MmTaxp06b273//2/744w/bu3ev/fHHH9ahQ4eAZ6QuXPRv9yrY+nft2rVtypQpdu211/qWTZw40SIjI23BggXWs2dP39AlWI8xpOA+zkgvr/RviR7uVnmtf3ft2tUmTZpk48eP99tXV1xxhe3YscPGjRsX8IxU1oqekztFz3G36DnuVrA+l5+9P9L/SHLPPffY0qVLrU6dOkH7OEuy1q1bW1JSkr3wwgv2t7/9zYYOHWrHjx+3e++9N6C5OnbsaGlpabZlyxbr1KnTefd3kFXAA3iiihQpYlOnTrUXX3zRJFmZMmVs27ZtNnLkyIBnk2Q33XSTNW/e3F555RXfsuuvv96io6Nt+fLlQXc6gquuusr+9re/2X333WcLFy60qVOnZjgwSm/qgazQ0FArUKCADRgwwL7++mubP3++ffXVV1aiRAm/rMFQYWFhtnHjRlu5cqXddNNNvuXt2rULeLb0KlmypC1btsyeeOIJ37Jy5crZgAEDLCkpyXr37h3wjGdW69atbdq0aRYREWENGza05s2b24oVK4L6XcjFixe3L774wh5//HG79NJL7Z577rFp06ZZVFSU76NwedGUbr31VnviiSesQoUKVrt2bYuMjLQmTZoEfP841fn2S0REhO3bt8+Sk5Nt6NCh1qZNGytQoICtWbMmKA/mKf+if7tbwdi/ixYtapKsTp06VrFiRZNOv7j59ttvbdGiRdarVy+/dzAG0+lzvHKc4bX+LdHDs1te7N/S6U+MjRgxwvbs2WPz58/3LU//6Hrnzp0tJibGM38UoE4XPcfdoufkXtFz3CkvPJe3atXKb78ULVrUYmJibPjw4QF/TM9XhQoVsm+++cYGDBjge+x37doV8MyhoaFWr14969Spk33xxRe2aNEie+qpp3yXB/EwPeABPFHFihWzP//802699VYrUaKE7dq1y+9F+GOPPWaVKlUKSLaiRYtabGyspaWl2Ycffuh3WfqL8SVLlgTFO9uKFStml112mV1++eUmnf5o3qOPPmoLFy60yZMn+84h1qtXL7+/RgVLvfjii7Zw4UIbNWqU74BDklWqVClPP2bYpEkT69evn33++ed28803+w7o0ofpy5Yts44dO9q7775rJ06csAoVKgR830mnD4b3799vffv29Vt+zTXX2OLFiy0tLc2effbZgGY8+8m6devWNmPGDJs0aZINHz7cVq1aZQMHDrR+/frZSy+9ZC+99JK999571qBBg4Dv33r16llkZKT99ttvvncSSLKmTZva9OnTLSoqKk/eYVC0aFFbvny57dixw7Zt22aHDh2ytLQ0mzZtmr3yyivWqFEjq1atmpUqVSrg++xcj3urVq2sdevW1rZtW9+ytm3bWv369f2uM2/evKA8kKf8i/7t3n4Mtv595gv+EiVKWGRkpM2aNctuvvlmX+Zvv/3WIiMjrXfv3lagQAF7++23bfLkyUEzLDi7guU44+zyQv+W6OE5LS/173PtgypVqtj7779vqampGf7Q/eCDD1pMTExQPJ9SFy56Tt4UPSdnRc9xfx9Kwfdcfub/38aNG9u2bdvszz//tB49evjewNihQwdbt25dhteLwVTTp0+3Bx54wMqVK5fh9dA999xjf//73/M0z5133mlffvml75jihhtusDFjxtiiRYusa9euftnKly8f8P13VgU8gCcqJCTEvv32W3v55Zdt+/bt9u9//9v3H+rqq6+2cePG2cMPPxywfM2aNbOVK1fa0qVLMzS96667znbv3m1z5swJ6F902rZtaxERERYdHW0//fST3XXXXSb934HRggULbO3atfbvf//b0tLS/M49F4i68cYb7ZFHHrG77rrLqlev7lvet29fi4yMtK+//trKly9vAwYMsOjoaN+BXm5X+/btLT4+3qZMmWK//fabxcXF2fPPP2/XXHONSafffbl06VJbuXKlbdmy5byneglEhYaG2tdff20//fRThi8K+eyzz2zWrFm2Y8eOgP1fOnuYWrZsWZNOP8lPnTrVtm/fbkePHrWvvvrKFi9ebJGRkRYREWFTp04NigPkDh062LJlyyw+Pt6XPb2aNm1qkydPtp07d9p1112X61muuOIKk07/P2rZsqVt27bN9u7daz///LPt2LHDkpKSbMGCBUH3BTxnf6nN7Nmz/T6+GxYWZtddd51NnTrVVq9eHfDzdFIXLvp3zivY+/eNN95oxYoVswceeMAiIiLs119/9RtsjB492tasWWPR0dF24MCBoHmRE6zHGeeqYO/fEj3crfJC/z7zsa5SpYpVqFDB9xhef/319uGHH9r27dvttddes+LFi9u1115rERERNnv27GB+dxv1/4uek3u56TnuFT3H3X0YrM/lZ95O27Zt7aabbrJixYrZRx99ZBEREXbo0CF74403rHv37jZ79mx77LHHTAqeT3ek34dChQrZL7/8YqNHj7bNmzfbl19+6bu8ePHi9s0331iPHj3yLPd9991nhw8fto8++shvXlW1alUbPXq0LV682N566y0bOHCgpaWlBc0bQ8+ogAcIqjrzF+fSSy/1e1H74YcfWlpamk2ZMsXvSyMGDx5s69evz/O/ktx4443WunVru+eee+zqq6+2xo0b26ZNmywiIiLDutdee23A3nEnnf4r0rFjx+yVV16xxx57zEaPHm3x8fF23333mXT6wOiOO+6wkSNH2sSJEwM+RO/QoYPt2bPHVqxYYWvWrLHZs2f7DuIk2bPPPmtLly61Xbt22a5du+zWW2/Nk1z169e33bt325NPPunbb3/99Zft2rXLXnvtNV8TLFiwoFWtWjVgpwQ4s+GULFnSN+SXTn/BRUxMjA0ZMsRuuOEGk2SXX365/fLLL/bUU0/Zjz/+aOPHjw/oF7MMHjzY/vzzT+vSpYsVLlzYpNPnop80aZLNnDnTatasec7rBaph1q1b19q0aWPS6T+0REdH24IFCzK8Y6xFixY2YcKEXHsuqFChglWvXt2uvfbaDB+zff31123mzJkmnf5o5g033OA3oA6GOvtLbW688UaLiYmxZcuW+b54p1OnTrZkyRKbO3eu76OawXSglJ+L/p07Fez9u127drZ3717r37+/FShQwB566CGbPXu232AjPDzcOnbsaL169crwgjxQFazHGV7v3xI9PDvl1f49aNAg27Nnj23YsMFmz55tRYoUMen0ebU/+ugjO3nypMXFxdno0aNtypQpvlMDMEwP3qLn5E7Rc3Kv6Dk5r2B9Lj9z+4MGDbK0tDS/AXTp0qWtU6dOtnDhQps5c6alpaXZxo0bfaefCnRdddVVVrBgQd/ppZo0aWJHjx61P/74w2+9d99917Zs2ZInb7aTTr/mjouL8zuFiyTfp2LKli1rH374oa1atcr++OMP33NrkFXAAwRFnX3uv7vuustmzJhhU6ZMsX79+vmW//TTTxYbG2sfffSRvfrqqzZq1Cg7fPiw1apVK0/z3n///XbgwAFbtWqVpaWl2f/+9z977rnnrHHjxrZ582abMWNGwPdpel1//fW2bNky6969u0mn3wG4c+dOW7dunR09etQ6duzot36gm+Htt99ucXFxvm+Gv/feey0hIcE2btxoDzzwgG+9m266ydq0aZOnfx3r1KmT/etf/zLp9HDlzz//tGHDhtmgQYPsr7/+spdffjmo/lo3cOBAW716te3Zs8dWr17t++hlp06dbM2aNbZ8+XL79ddfbfny5b4n9Pfff9+WLl0asIOLl156yfbt22cNGjTwvSsrvdq2bWvTpk2zadOmWevWrQO+f6XT5zubPHmyTZkyxbfswQcftPnz59vMmTN9A+D0Sj/Ay2md/S6VDh062LZt22zz5s2Wmppqo0ePtubNm/suf+GFF2zDhg0B31/nq8x+qU3RokWtXbt2vt9P3pEe+KJ/514Fe/9u27atJSUl2T/+8Q8rV66cb3m7du1s1qxZfoONYKpgPs5ILy/2b4kenpm6WPp369atbfPmzXbXXXdZ165d7ffff7fNmzf79lmlSpXsgw8+sPXr19tbb73lu16gX2dQ5y96Tu4UPSf3ip6T8wrW5/IzXw8OHTrUDh48aKNHj7YxY8ZkWLds2bJWq1YtGzt2rO3YscN3bv9A/tH23nvvtVWrVtny5cvt66+/tqpVq5oke+qppywtLc1++eUXGz9+vI0fP97i4+Pz9CwG99xzjy1atMik0++Gf+KJJ2zGjBm2e/duGzRokG/4Hx4eHnSfXj+jAh4g4HXTTTdZWlqavfvuuyad/ph1UlKSjRw50saOHWspKSl+/2EGDx5skyZNsuXLl9uoUaP8PhqVF1W7dm3bv3+/de3a1YoVK2alSpWysWPH2pw5c6xXr16+8zZFRkYGfN8WLFjQihcvbsOHD7crr7zSypUrZzExMTZy5EirUqWKLViwwI4ePRrQj2WdWZdeeql99tln9tFHH5l0+p03f/75p/3yyy/2888/25YtW/zOm5yXv6NlypSxsmXL2t/+9jcrVKiQzZw507766ivfOrt27bL4+Hh7/vnng+Idsq+++qodOHDAOnXqZC1atLDvvvvO1q5d6zvP2W233WbPPfec/fDDDzZo0CBfMxw7dqyNHj06T7446OzbuPTSS2369OkZzsV25rC0ZcuW9vvvv/t+R4KhbrzxRktOTrZevXr5lj344IO2YMECmzZtmutfxvLFF1/YqFGjfPulcePGlpiYaL169bKqVatax44dbe7cuTZlyhTfi/EaNWrYtm3b/F54BEtl90ttguH/WX4v+nfuVbD370KFCtlPP/3ke+wvu+wyq1y5sr300kvWqlUr69evn02aNMnmzJmT54+zUwXrccaZ5YX+nf47eva+pYc7l5f799kDidtvv91eeOEF38+VK1e2RYsW2ZYtW/zOt/r+++/bhg0bfENEKjiLnpM7Rc9x93f07H1Lz8l6ee25fPjw4XbkyBG77rrr7IEHHrCYmBjfa8Rz1Y8//mi//fZbQB/j6tWr29GjR+3ll1+2Dz74wGbMmGFRUVG+YXrTpk1t/PjxNmHCBBs8eLBveV5Vo0aNLC0tzd577z1btmyZTZw40YYOHWr//Oc/7fjx40HxHQKZqIAHCHhdeuml9tRTT1lycrL179/f7r77bt9/5vSPjx05csS++eYb33UuueQSu/TSSwMySHnkkUds7dq1Fh4e7ltWqlQp+/bbb23u3Ll22WWX2e23327r16/3+3hUXleLFi3s448/tmuvvdb37pePP/7Y/vOf/1hYWJhJspEjR1pcXJxt377d7/4EsqpWrWq33XabhYeH2/Lly30f37n77rstNTXVDh48aO3bt8+zPO3atbPY2Fh76623fB/Lufbaay0qKsruvPNOk07/FfSbb76xIUOG+H1ZSF7VO++84/eli1deeaUtXrw4Q6MbMmSIbd261Ro1apRhG+XKlbNBgwZZfHx8nhyAzp0711599VW/ZSVKlLC4uDjr3LmzSf6NvlChQlamTBmTTp9iJ9AfC27cuLE98sgjvgOMF1980aKjo/327f3332+rV6+2n3/+2bXnqoceesji4uL83sX76quv+j72nV5Nmza1//3vf/b555+bdPpjhHv27MnwTodAVHa/1CYYslP+Rf/OnfJC/y5cuLAtW7bMhg8fbsWLF7dPPvnE5s2bZ7GxsbZz50574YUX7IknnrDJkycHfAB4dgXTcYYX+7dED89OXQz9W5L16dPHhg0bZitXrrThw4f7XVa5cmVbuHChbdy40fd4V6pUyd577z2Li4uzbt26BTw/lbHoOblb9JycFz3H/fLCc/kdd9xh0dHRvr5533332datW8/5bvj0x/i2226zdevWBew4vk6dOvbUU0/Zm2++6ff4T5kyxdauXes71VBen+rsyiuvtLCwMCtatKhJsi5dutjChQvto48+8jv90e+//26tWrUKyL7LYgU8QEDqXL8w3bp1s+TkZN+XN5552R133GEJCQk2atSogGd/6KGHbPPmzb4nwvS/elasWNHS0tLs9ttvNylvPopzvurQoYMlJSXZG2+8YXXr1jXp9JeGzJ0714YOHepb79NPP7V//OMfAf/IRrVq1axx48Z+53xs1aqVLVu2zHfu3FtvvdVmzZpl7733Xp6dr/bMjxCmNxHp9Hmldu/ebY8//rhVqFDB+vfvb/Pnzw/IY160aFGbO3euzZ8/3+/c7evWrbNnnnnGJP+PXi1evNh+/PFHv22EhYXZZ5995teocrsaNWrky3XmwcLkyZNt0qRJvt/J9MsaNGhg//rXv/w+theog6KiRYva1q1bLTk52SIiIuymm26yihUr2n/+8x8bOHCg70WHdPoPMW5+RPOll16y9evXm3T6I2N9+vSxV155xRYtWpThnRqPP/64JScn+97ZUKxYsYDsrzPLC19qQ2X+MUwv+rd75aX+/fjjj1tSUpIdOXLEfvnlF3v88cdNkg0bNsx3vvkznw8DWcF4nOHV/i3Rw7NTXu3fZz5Or776qiUkJNgvv/xiUVFRtmfPngyn0rj++utt06ZNNmHCBN+yypUr21tvvZVn53+lMl/0nNwpeo67Rc/JeXnxubxw4cJ+546vWrWqbd261e9d+6+++qpVrFjR9/O///1v27p1q29gnJv13nvv+f4vSaffnPPbb79ZYmKiffDBB37r3nbbbTZlyhRbvXq13XTTTXn6O3jXXXdZZGSkrVixwjZu3GgPPfSQSRk/5TFo0CDbunVrhi+/DdIKeICA1TXXXOM719oDDzxg3377rXXp0sUOHz7s9yUC6dWyZUtLS0uzTz/9NKC5r7vuOktJSbG3337bb3mFChUsOjo64N8MXqVKFdu6davv/HZn1pAhQ2zLli3WvXt3Gz58uMXGxgb8C4vatWtnR48etU2bNllKSop169bNQkJCrE2bNnbkyBFr1qyZSaf/Y48ePTrD+c9yq871EcJKlSrZyy+/bM2bN7dZs2bZgQMHbNOmTRYXFxfQc/JdffXVNmHCBJs9e7Z17drVJNmUKVNswYIFvnXSnyhHjBhh48ePz7CNK6+8Mtc/Snau6tevn40fP943uOrVq5etXLnS3nnnHd8nAIoUKWKTJ0+2GTNmBMUwtXDhwvbyyy/b7NmzbcSIERYfH2//+Mc/bPTo0bZlyxarVq1art12vXr1fF8Ek5aWZvfee6898MAD9tdff1nTpk391m3QoEFA/yLvVMH6pTZU5or+nTvltf4tyf72t79Zy5YtTfq//5+ffvqpjR8/Ps8+7n2hCtbjDMnb/Vuih2elvN6/K1asaF9//bXvI99XXXWVzZkzx7Zu3Zrhy/zKlSuX4R2VfKdJ8BU9J3eKnpN7Rc/JeQXrc/nZj1VoaGiGda677jo7evSo7wwA06dPtz179vhlHDFiRJ4cz19xxRX25ptv2o033ui3/JFHHrHIyMgMA39J1rBhQ1uwYIEtWbIkz56v2rRpY0lJSfbCCy9YzZo17dNPP7W0tDS/T0Pcc889NnbsWIuLi8vTc7XnsAIeICAVGhpq33//vS1cuNA+/vhjS0tL830sp0uXLnb8+PEML3QlWfPmzX3fGh3I6tSpk6WmptrgwYPt+uuvt6uvvtreeecd27Fjh987lwNRLVq0sJiYmHP+NbN27do2YsQI27p1qy1fvjyg/1EKFChgxYsXt8jISHv66aft+uuvt1deecXS0tKsX79+Vr9+ffvPf/5jO3futMWLF9vRo0czPFHlZp3vI4R79uyxP//803r16mV333233XPPPX5/Bc3LOrNpNGjQwObNm2e///673XfffVa7dm3btm2b750E6esuXLjQhg0bFtDH/cyf27dvbydOnLARI0b4lr3zzju2fPlyi4mJsYkTJ9rKlSstKirqnA01L6tOnTq+d5FUqlTJ1qxZYx06dLBbb73Vxo0bZ19++aWlpaXZ4sWLc/UdrZ999pnvdtKXffvtt3bgwAFr3ry574D8/ffft+jo6IB/4uTsCtYvtaEyV/Tv3Cuv9O/zVdWqVe3dd9+1w4cPW40aNQKeJ5iPM7zYv9P36Zk/08OzVl7t348++qilpaVZTEyM1alTx7f88ssv9w1gzvV/nu8yCe6i57hb9Jzc2adn/kzPyVkF63P5mY/z008/bSNHjrTvv//e7r77br8M5cqVs507d9qNN95oP//8s61bt873OAfi8U5/bdqqVSvr2bOn3+9pZGSkzZ49O8Oppm699dY8/SP5uHHjbNCgQSbJypcvbxs3brQvvvjCb78+/PDD9u2339rf/va3PN+HOaiABwhYFS1a1JYsWWJpaWl+T4aFChWyrl272l9//XXOF+PBUg899JAlJCTY9u3bLSYmxnbu3BkU3xTerl0727Fjh++g6MwnpkaNGln9+vWtSJEiefJxF6cqVKiQFS5c2N59912/j6w+99xzdvLkSevdu7e1bt3aunXrZu+++25ABjDn+wjhJ598YjNnzgyKv3JLsg8//NB+/fVXW7p0qSUkJNj69eutW7du1r59e/vzzz9tw4YNNm3aNFu8eLGtW7cuKN4VVLVqVd87B+68805LTk72e1Jv3ry5vfXWW/bZZ5/Zyy+/7MscqOwlSpSwqVOnWkJCgt13330mnf5yll27dlnNmjWtRIkSdu+999quXbvsyJEjuXYu08KFC9vs2bPtyy+/tLVr19p3331n0ukmOG7cOEtJSbHo6GhbtGiRHTx4MChe+HjtS22oCxf9O3fKK/37XFWnTh377rvvbN26dXn+kdXzlReOM7zYvyV6eHbKS/37XMe3//3vfy0tLc0ee+wxv4HF5ZdfbrNmzbKkpKQ8O/Ui5U7Rc9wtek7uFT0ne+W15/J//etftmvXLhs1apQNGzbM0tLS7JlnnvEb5K9bt85SU1Nt48aNvvx5+Th3797d1q5d67vtwoUL26BBgywtLc3v3PHpXx4+e/bsgJwqpV27dtazZ09btmyZtWzZ0sLCwmz37t02cuRI3zrPPPOML1v6/y8PVcADBKxCQ0Nt9uzZtmrVKps5c6Z16tTJd1nhwoWta9eulpSUFFTfsnx2VahQwe644w5r06ZN0HyxybXXXmtJSUm+U5KcWR9//LG9/fbbAR8A33vvvTZjxgxbu3atrV+/PsNf459//nlLTk62AQMGBDzr+T5COG7cuKB4h+zjjz9uhw4dsptvvtmuvPJKK1OmjM2aNcvmz59vTzzxhJUtW9befvttGzZsmA0cODDgBxbS6fMxHj16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" }, "metadata": {}, "output_type": "display_data", "jetTransient": { "display_id": null } } ], "execution_count": 5 }, { "cell_type": "code", "id": "6aff51eb71eb2238", "metadata": { "ExecuteTime": { "end_time": "2025-12-14T01:12:51.876467760Z", "start_time": "2025-12-14T01:12:45.765076317Z" } }, "source": [ "def create_similarity_matrix(sentences, method='direct'):\n", " \"\"\"Create similarity matrix between all sentences\"\"\"\n", " n = len(sentences)\n", " similarity_matrix = np.zeros((n, n))\n", " \n", " preprocessor = TextPreprocessor()\n", " \n", " for i in range(n):\n", " for j in range(n):\n", " if i == j:\n", " similarity_matrix[i][j] = 1.0\n", " else:\n", " if method == 'direct':\n", " sent1 = preprocessor.direct_preprocessing(sentences[i])\n", " sent2 = preprocessor.direct_preprocessing(sentences[j])\n", " # Simple character-based similarity\n", " if not sent1 or not sent2:\n", " similarity = 0.0\n", " else:\n", " min_len = min(len(sent1), len(sent2))\n", " max_len = max(len(sent1), len(sent2))\n", " similarity = min_len / max_len if max_len > 0 else 0.0\n", " \n", " elif method == 'semantic':\n", " sent1 = preprocessor.semantic_preprocessing(sentences[i])\n", " sent2 = preprocessor.semantic_preprocessing(sentences[j])\n", " # Jaccard similarity on semantic tokens\n", " words1 = set(sent1.split())\n", " words2 = set(sent2.split())\n", " if not words1 and not words2:\n", " similarity = 1.0\n", " elif not words1 or not words2:\n", " similarity = 0.0\n", " else:\n", " intersection = words1.intersection(words2)\n", " union = words1.union(words2)\n", " similarity = len(intersection) / len(union)\n", " \n", " similarity_matrix[i][j] = similarity\n", " \n", " return similarity_matrix\n", "\n", "# Create and visualize similarity matrices\n", "direct_matrix = create_similarity_matrix(test_sentences, 'direct')\n", "semantic_matrix = create_similarity_matrix(test_sentences, 'semantic')\n", "\n", "fig, axes = plt.subplots(1, 2, figsize=(15, 6))\n", "\n", "# Direct similarity heatmap\n", "im1 = axes[0].imshow(direct_matrix, cmap='viridis', aspect='auto', vmin=0, vmax=1)\n", "axes[0].set_title('Direct Preprocessing Similarity Matrix')\n", "axes[0].set_xlabel('Sentence ID')\n", "axes[0].set_ylabel('Sentence ID')\n", "plt.colorbar(im1, ax=axes[0])\n", "\n", "# Semantic similarity heatmap\n", "im2 = axes[1].imshow(semantic_matrix, cmap='viridis', aspect='auto', vmin=0, vmax=1)\n", "axes[1].set_title('Semantic Preprocessing Similarity Matrix')\n", "axes[1].set_xlabel('Sentence ID')\n", "axes[1].set_ylabel('Sentence ID')\n", "plt.colorbar(im2, ax=axes[1])\n", "\n", "plt.tight_layout()\n", "plt.show()\n" ], "outputs": [ { "data": { "text/plain": [ "
" ], "image/png": "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pk2bpk2bNikvL0+7d+/WvHnzymWSsqzSpUsXPfPMM8rMzFROTo7eeecd1a5d23u/1NRUtW7dWhdccIH393PZHruH2tf3nHPO0YcffqisrCzl5ORozZo1uv/++yuxsgeRz32Rz8nnf0U+BxAZ6AkA/vLKK6/oqaeeUu/evfXCCy8c9r4XXnih+vfvr2effVa7d+/Wtm3bVLduXS1btkzGGD377LPatWuX+vbtq5deeknVq1fXlClTJEkRERH64IMP1LNnT82dO1dTpkxRUlKSevXqpdatW2vx4sUaNGiQpk+frnfeeUfvvPOOJGnt2rWVfk5NmzaVJO3Zs8fn+JtvvqktW7booYceksvlkiQ99NBDGjdunObNm6cXXnhBderU0X333acvv/xSZ511ls//lNSsWVMfffSR5s2bp7lz56p///6aPn26ioqKNGvWLJ/HeuSRR1RUVKSnn35aMTExKioq0sCBAzV79mx99913GjlypJKTk/XAAw+oa9euPo/Vpk0bffXVVyouLtaMGTO0bds2NW3aVJdeeqkefvhhSTrqdb/99ts1depUvfnmm5oyZYpiY2N15plnqlOnTpo7d64kafr06brmmmv07LPPasOGDapVq5a6deum008/XT/88MNh13rAgAFKSkrS888/L2OMhg8frnfeeUdNmjRRSUmJJOniiy/WG2+8oXXr1mnkyJGqWbOmXnzxRaWlpR3xe/nrr79Kkv72t7/pzTffVH5+/hG/5q9q1qypDz74QK+//rrefPNNDR48WK+//rpuuOEGTZ48WdOnT9drr72mf/7zn3rrrbd0yimnKCcn56jrV69eXbfffrvmzp2rmTNnKikpSbfddpsWLVqkc845R2vWrPG5/y233KLY2FjNmDFDhYWFysrKKhfcnn/+eTVo0EC9e/f2+YciSfrvf/+r4cOHq2bNmtq7d6/3+KWXXqoaNWrov//971HN+7XXXtOnn36qJk2aaOvWrZI838+33npLxcXF5e7fq1cvNWnSRLNmzdLOnTvVqlUr3XnnnWrVqpXOPfdcSdI777yj5s2ba8CAARoyZIj3H5j+/D8lFf0c+auCggINHDhQS5cu1RNPPKFhw4ZJkqZNm6YaNWro5ptvltvtPqrnCQDAkfz666/q3LmzWrVqpfXr1x/2vpXNjseaQTp27KguXbro9ddf1++//65TTz1VgwcP1ueff64zzjijXCaaOnWq9u7dqzFjxujUU0/VkCFD9Oyzz+q6666TJA0ZMkRTp05VTk6OnnjiCUlSRkbGIZ9nz5499cEHH2jHjh2aMmWKdu7cqdNPP12XXHKJ/v3vf1d6jcnn5PM/I59XjHwOIODt2QyGjXG4bTrKxt69e83KlSu9n48ePbrcnx8ZY0xJSYk5/fTTfY7PnDnTpKWlmRNPPNHn+GuvvWb27t3r3f7j5ptvNsYYM2TIkEPO41i36bj55ptNrVq1TL169Uzfvn3N1q1bTWlpqfc5lz2fV1991efrGzZsaIqLi83IkSN9jrdq1coUFRX5HF+yZIkxxph//OMf3mNRUVFm1apVZufOnSYyMtJnTj///LPP1ieRkZFm586dZu3atT5/9nTxxRcbY4x57LHHvMc+//xzs3//fnPKKacc8rkf7bq/++67Zt26dYddx71795qpU6ce9j6zZs0yqamp3s8bNWpkjDFm165d5oQTTvAev/TSS40xxvTr1897bM2aNea3334zCQkJ3mPnn3++Mcb41DzUmD17tjHGmD179pi3337bDB061LRo0eKQr4fu3buX+75dd9113mPNmzf3vp7POecc7/FevXoZY4wZOHBguffPn/+k7a9/BhgREVHuT/lq1KhhduzYYV544YVya7Zv3z5Tu3Ztn/uX3fbnxz7UnwE2a9bMGGPMXXfd5XP8vffeM1u3bj3ieqamppoFCxaYiIgIk56ebkaNGmUkmZYtWxpjjDnvvPMq/LlR0VY+1157rTHGmG7dunmPHe7PAA/1c6Tstr++95944glTUlJiunXrZq6++mpjjCn3p4sMBoPBYBzv6NmzpykuLjbFxcVm6dKlZvz48aZXr17efFc2jiU7HmsGqej3bqdOnYwxxtx4443eY2W/sz/55BOf+z7zzDOmuLjYVK9e3XvsUNt0/DVDRUREmF9++cWkpqZWuHXJ4Qb5nHx+uNeWjfcG+Zx8zmBU1cHfFiCs5OTkKCkp6Yj3++KLL7Rx40afY1dffbUWLFggl8ulWrVqeceiRYt0wgknqH379t777dq1S1OnTrU+/1mzZmn37t3asWOHPvroIyUkJGjgwIFauXKlz/3++udRV111lSIiIjRv3jyfue/cuVNbtmxRjx49fO5fXFys559/vtznycnJ5a5qPGfOHBUUFHg/P/vss5WcnKz//Oc/Kiws9B7/6KOPtHHjRvXr10+SVLt2bXXv3l0vvfSStm/ffsjnfLTrvm/fPp188skV/mlemX379qlTp06qX7/+Ie9zKG+88Yb27dvn/fyrr76SJDVp0kSSVL9+fZ155pl6+eWXlZub673fl19+edRd77fccovuuecepaam6qqrrtIzzzyjTZs2afHixRX+CeVfZWdn6/XXX/d+vnnzZu3du1cbN27Ud9995z2+fPlyn7kfLbfb7e1UcLlcqlmzpiIjI7VixQrv9+HP3n77bW9HwrHYsmWLli1bphtuuMF7rGbNmurbt69effXVSs173rx53j8JveGGG/Tbb795v4d/9efXc0xMjGrVqqVly5ZJUoXP81Aq+jlyKI899pjWr1+vOXPm6D//+Y8+//zzY+rGAgDgcBYvXqzOnTtr/vz5atu2rUaMGKFPPvlEaWlpuvTSS733q2x2PJ4M8uffu5GRkTrxxBP1888/a+/evRX+3p0xY4bP51999ZUiIyMPu5XBoZx11llq0qSJJk+eXOHWJUeDfE4+Pxzy+aHnTT4HwhcnoxFWEhMTlZ2dfcT7/XX/sDp16qhmzZq66667tHv3bp8xe/ZsSZ4/V5M8f5r3008/qbS01Pr8x4wZo549e6pHjx5q06aNGjRoUOGfQv11/s2aNVNERIR+/vnncvM/44wzvHMvk56erry8PJ9jmzdvliSdeuqph32ssv8R+Omnn8rNa9OmTd7by4LWjz/+eMjnW5l1nzBhgnJycvT9999r8+bNevbZZ9WlSxefesOHD1fr1q21fft2LV++XKNHj/bu53ckv/32m8/nZcG3Zs2aPs/7559/Lve1FR2riDFG//nPf3T22WerVq1auuyyy/TRRx8pJSXFJ8Qeyu+//17u2P79+8v9z8SBAwd85l4ZN910k9asWaOCggJlZWVp9+7duuSSS1SjRo1y9z3SPnxH4+WXX1bXrl3VsGFDSZ4/k4yOjtYrr7xSqTqvvfaaWrVqpTPPPFMDBgw47HrWrFlTkydP9u6B+Oc/4avoeR5KZZ5/cXGxbr31VjVp0kRJSUkV7rkIAIANK1as0NVXX62aNWuqY8eOevLJJ5WUlKS33npLp59+uqTKZ8fjySCxsbEaM2aMfvvtNxUWFmrPnj3avXu3atasWeHv3b9msrKtAo4l15RtqXG4PHok5HPy+eGQzw+NfA6EL/aMRtg46aSTdMIJJxxV8PjrfmBl+2i98sormjNnToVfcyx7PlfWunXr9Nlnnx3xfhXN3+12q2/fvhWeJK/MvmRHeiybKrPumzZtUosWLXTJJZeoT58+uvrqq3XPPfdozJgxeuyxxyR59ur76quvdOWVV6p379765z//qREjRuiqq67SwoULDzuXQ/3jQtmef7ZlZWVpwYIFWrBggZYsWaILLrhADRs2LBe6j2aOtuZ+ww03aM6cOXr33Xf1r3/9S5mZmSotLdXIkSO9/zP3ZzZeG6+//romTZqkG264QU899ZRuvPFG7//QVMZ3332nn3/+WZMnT1aTJk302muvHfK+8+bNU5cuXfSvf/1Lq1evVk5OjiIiIrRo0aJKXaykss//oosukiTFxcWpWbNmFe5hBwCALcXFxVqxYoVWrFihzZs3a/bs2frb3/6msWPHVjo7Hk8GmTp1qm655RZNnjxZ3377rfbv3y9jjF5//fUKf+/6O5MdCfm8PPL5kedIPiefA+GMk9EIG3//+98lqcKr8x7Jrl27dODAAVWrVu2IYfOXX35Rp06dFBkZ6b1wxl+ZP65G7C+//PKLIiIilJqaqi1bthzx/g0aNFB8fLxP90Xz5s0l6Yi/gMsu9NGiRQvvlcvLtGjRwnt72YUqWrdufchalVl3ScrLy9O8efM0b948RUVF6Z133tGoUaP01FNPef8kcefOnXruuef03HPPqU6dOlq1apVGjRp1xLB7JGXP67TTTit3W0XHKmPFihW64IILVL9+/cOGXaddc801+uWXX3TVVVf5HB8zZsxx1T3c+2Hv3r368MMPdcMNN+jVV19V165dNWTIkGN6nLlz5+qRRx7Rhg0byl3MpcwJJ5ygnj176tFHH9W4ceO8xyv6Htp8H7dp00aPPvqoXnrpJbVr104vvPCC2rRp4+2SAQDASStWrJAk71YJlc2Ox+Oaa67RnDlz9H//93/eYzExMTrhhBOOuebR/o7+5ZdfJHny6NFkTZvI5+RzG8jnRz/vyiKfA85hmw6EhR49euiRRx7R1q1bK7WXVRm32623335bV199tVq1alXu9tq1a3v/++2331adOnV07733HrJeWYg8npBdGe+8845KSko0evToCm8/8cQTfT6PiorSXXfdVe7zzMzMcvvf/dWKFSuUkZGhQYMGKTo62nu8T58+OuOMM/Thhx9Kknbv3q0vvvhCt956q0455ZQKa1Vm3f/6HIqLi7Vhwwa5XC5FRUUpIiJC1atX97nPrl27lJ6erpiYmMM+p6OxY8cOrVu3TjfddJMSEhK8x88//3ydeeaZR/z65ORk75/G/llUVJRSUlJUWlp61H9O6JSyDo4/d2ycc8456ty583HVLdvD71B/YvfKK6+oVatW+te//qXS0tKj+pPIirzwwgt67LHHvFfErkhFz1FShQG7bN7H+z6OjIzU7NmzlZ6ergceeEA333yzkpOTNWnSpOOqCwDAX11wwQUVHr/44oslHdzGobLZ8XiUlpaW+7173333KTLy2PumcnNzj+r386pVq7R161YNGTKkUn/qbwP5nHxuA/m84nmTz4HgRmc0qpy+ffuqZcuWioyMVHJysi688EL16tVLv/76qy677DKfi3ZUxoMPPqgePXpo+fLlmjlzpjZs2KATTzxR7du3V8+ePVWrVi1Jnj20brrpJk2aNEnnnHOOvvrqKyUkJKhnz576z3/+o/nz56ugoEDr16/Xtddeq82bNysrK0s//vij1q9fb3MpvLZu3aqHH35Y48eP16mnnqr33ntP2dnZaty4sa688krNmDFDzzzzjPf+aWlpGjFihE499VRt3rxZ1157rc466yzdcccdh+z2LlNSUqIRI0Zo9uzZ+uKLLzR37lwlJyfrgQceUGpqqs8v8Pvvv19ff/21Vq1apRkzZig1NVWnnnqq+vXrp7POOkvS0a/7J598op07d2rp0qXKyMjQ6aefrnvvvVcffvihcnJyVKNGDf3+++966623tGbNGuXk5Khnz54655xzNHToUCvr/NBDD+n999/X0qVLNWvWLNWsWVP33nuv1q1bp8TExMN+7cknn6zvvvtO//vf//TZZ59p586dqlu3rq6//nq1a9dOkyZN0p49e6zM81h98MEHuvrqq/Xuu+/qww8/VOPGjTVo0CBt2LDhiM/vcMr+B+rf//63Fi1apNLSUr3xxhve2z/88EPt3r1b/fv310cffaRdu3Yd0+P89ttvR+wSyc7O1hdffKHhw4crKipKaWlp6t27d4V7F5bN+4knntDrr7+u4uJiLViwoNx+jkfy8MMPq127dkpJSVFOTo7WrVunsWPH6oknntBbb72ljz/+uFL1AAA4lKlTpyo+Pl7vvvuuNm3apOjoaHXp0kXXXnutUlNTNWvWLEmVz47H44MPPtDf//537d+/Xxs2bFDnzp3Vs2fP47rI2sqVKzV48GCNGjVKP//8szIzM8t1BEueLsrBgwdrwYIFWr16tWbNmqUdO3aoZcuWatWqlfr06XM8T+2wyOfkcxvI5xXPm3wOBD/DYFSFMXDgQPNnBQUFJj093SxatMjcd999JjExsdzXjB492hjP3/J4hzHGTJ06tcLHqFOnjpk6dar59ddfTWFhoUlPTzeffvqpuf32233uFxsba8aNG2d++eUX7/3mzZtnGjdu7L3Pueeea77//ntTUFBgjDFm9OjRh3xu3bt3N8YYc/XVVx92DcqeT61atSq8/corrzRffvmlyc7ONtnZ2WbDhg1m6tSpplmzZt77LFmyxKxbt860b9/eLF261OTl5ZnU1FRz9913V2pOf/vb38zKlStNfn6+2b17t3nllVdMgwYNyt3vjDPOMG+//bbJysoyeXl5ZuPGjWbMmDGVXvc77rjDfP7552bXrl0mPz/fbNmyxUyYMMEkJSUZSSYqKspMmDDB/PDDD2b//v0mOzvb/PDDD2bQoEE+jzVr1iyTmprq/bxRo0bGGGOGDRtWbu4Vfd/69+9vNmzYYPLz883atWvNJZdcYt58802zYcOGw37vEhMTzX333Wc+/vhj89tvv5nCwkKzf/9+s3TpUnPbbbdVuPbdu3cv9337a93U1FSzYMGCCuf+59d52funUaNGPjWXLFni83UPPvigSU1NNfn5+WblypXm4osvrtSald02cOBA77GIiAgzZcoUk5GRYUpLS8u9JyWZZ5991hhjzHXXXXfUPxMO9dwr+rnRoUMH77EGDRp4X5N79+41b7zxhqlXr16F3+9Ro0aZ7du3m5KSEp/1O9zPkT/XOeuss0xRUZGZMmWKz30iIiLM8uXLze+//25q1Khx1M+ZwWAwGIzDjYsuusi88MILZsOGDebAgQOmoKDAbN682UyZMsXUqVOn3P0rkx3/+rVHm0Fq1KhhXnzxRZOZmWkOHDhgPv74Y9O8eXOTmppqZs2a5b1fRb+zpYpzUd26dc2CBQvM/v37jTHGm2cquq8k06VLF7No0SJvRly9erW55557DruW5HPy+ZFeh+Tz8oN8zmAwJBnXH/8BAJKkJUuWqHbt2mrTpk2gp1Jl/PDDD9q1a5d69+4d6KmErIkTJ+q2225TvXr1HL0oDwAAQLAhn9tHPj9+5HMAx4o9owHAksjISFWrVs3nWPfu3dWuXTt9/vnngZlUFRATE6Mbb7xRb7/9NkEXAAAAR4187gzyOYDjwZ7RAGDJSSedpMWLF+u///2v0tPT1bJlSw0aNEg7duzQ9OnTAz29kFOnTh317NlT11xzjWrVqqUpU6YEekoAAAAIIeRzu8jnAGzgZDQAWLJ3716tXLlSt99+u+rUqaPc3Fx9+OGHevDBB5WVlRXo6YWcM844Q6+99poyMjJ0//33a82aNYGeEgAAAEII+dwu8jkAWwK+cTWDwWAwGAwGg/HXcd5555n58+ebtLQ0Y4wxl19++RG/pnv37mblypWmoKDAbNmyxeeCTAwGg8FgMBgMBsMzApW12TMaAAAAQSkhIUFr1qzRPffcc1T3P/XUU/Xhhx9qyZIlateunSZPnqwXXniBC1QBAAAAfxGorO2S56w0AAAAELSMMbriiiv0/vvvH/I+48ePV79+/dSmTRvvsblz5+qEE05Q3759/TFNAAAAIOT4M2uHxZ7RDRo0UHZ2dqCnAQAAUE5SUpLS09MDPQ1JUkxMjKKjo/3+uIWFhSoqKjruOp07d9bixYt9ji1atEiTJ08+7tqoGDkbAAAEK3K2vZwt2cvaVf5kdIMGDZSWlhboaQAAABzSSSedFPCgHBMTo/zc3+SqVtfRx8nOzlZSUpLPsccee0xjxow57tr16tVTRkaGz7GMjAzVqFFDsbGxKigoOO7HwEHkbAAAEOzI2XZytmQva1f5k9FlnRruzG6SybVT1JWgiLpf2635h7SSHKv1nPJWdpsj36kSoiPidE/zVzVt8w0qcudbrb0sq4nVek5qmbTTar2YiDg91Gqmnlx/hwotruvby86xVivUJERFa/nNg9Rp9nTlFtv518Uyn1w81Wo9p7yV3dpqveiIOA1q/pqmbx5g/f3fNX6z1XpOGvHwXVbrxcdGa/6MQbrszunKK7D3Wt1xUam1Wk477e4frNaLS4rV67/P0HUn36n8bDsnNctqBkNnaXR0tFzV6sqdeZ5kHMojrkQl1f1KJ510ks9zLiwsdObx4ChHcrbkaNYOW6yprmxu9/9fnPidEO5YU2ewrvaxpvaRsy0IoZxd5U9Ge5lc+99wB2oap16UlhW58xyqm2+9dn5p6PxysHnC+K91bdbOsXwSNhTlFhdZXwfe//bf/+4QWVNJyst35n2VV1BktXZOceicjM7LduZnan52gWO1g4HbZDsXkmUUIc9JTCf+x2Dnzp1KTk72OZacnKz9+/fTFe0kJ3K2k3XDWRivKb8TQgdr6gzW1T7W1L6qvqahnLMle1k7wvbEAAAAgED49ttvlZKS4nOsV69e+vbbbwM0IwAAAKBqsJW1ORkNAAAAr1LjdnRURkJCgtq2bau2bdtKkho3bqy2bdvqlFNOkSQ9+eSTmjNnjvf+06dPV5MmTTRhwgS1aNFCgwcPVv/+/TVp0iR7CwQAAAAcg2DK2VLgsjYnowEAABCUzj77bK1evVqrV6+WJE2aNEmrV6/W2LFjJUn169dXw4YNvffftm2b+vXrp169emnNmjUaNmyYbr/9dn3yySeBmD4AAAAQtAKVtcNnz2gAAAAckVtGknGoeuXqfvHFF3K5XIe8/ZZbbqnwa9q3b1/pmQEAAABOCqacLQUua9MZDQAAAAAAAABwHJ3RAAAA8HLLLanye84dbXUAAAAgHJGzPeiMBgAAAAAAAAA4js5oAAAAeJUaI5ng2csOAAAAqArI2R50RgMAAAAAAAAAHEdnNAAAALyC7SrfAAAAQFVAzvagMxoAAAAAAAAA4Dg6owEAAODllpFxqLPCFUIdGwAAAIBN5GyPkOiMvvvuu5Wamqr8/HwtW7ZMHTt2DPSUAAAAgCqBrA0AAAB/CfqT0f3799fEiRM1ZswYtW/fXmvWrNGiRYtUp06dQE8NAACgynHLODoQXMjaAAAA/kHO9gj6k9FDhw7VzJkzNXv2bG3cuFGDBg1SXl6ebr311kBPDQAAAAhpZG0AAAD4U1CfjI6KilKHDh20ePFi7zFjjBYvXqzOnTsHcGYAAABVU6kxjg4ED7I2AACA/5CzPYL6Aoa1a9dWZGSkMjIyfI5nZGSoZcuWlSvmSrA3sbJaNmuWlXZZL+mI6Ih4y/XifD7aFFct1npNp8RYfv5l9WzXTYyKtlovlCT88dwTHFgDlyvRek0nhNL7PyJE1lSS4uPsvqbiY6N9PtqSGFVqtZ6T4pPsvqbikmJ9PtqsCQSCtaxtOxM7mLXDFmsaEr8Twh1r6gzW1T7W1D5ydnhxScG7qUj9+vWVnp6uzp07a9myZd7jEyZMUPfu3XXuuecesUZSUpIOHDjg5DQBAACOS/Xq1ZWdnR3QOZRlph3pzWVMjiOP4XIlqn6DzUHxfHH8WZucDQAAgl0w5E5ytq+g7ozevXu3SkpKlJyc7HM8OTlZO3furFQtd2Y3yeTamZgrQRF1v7Zb8w9pJc68KG17K7uN1XrREXG6p/mrmrb5BhW5863WXpbVxGo9J7VMqtzr+khiIuL0UKuZenL9HSq0uK5vLzvHWq1QkxAVreU3D1Kn2dOVW1xktfYnF0+1Ws8pb2W3tlovOiJOg5q/pumbB1h//3eN32y1npNGPHyX1XrxsdGaP2OQLrtzuvIK7L1Wd1wUOp3Rp939g9V6cUmxev33Gbru5DuVn11gtSYQCLaytvVM7GDWDlusqa5sbvf/X5z4nRDuWFNnsK72sab2kbPDS1CfjC4uLtbKlSuVkpKi999/X5LkcrmUkpKiZ599tnLFTK5k+18fHKjp1L+Q2FbkznOobr712vmlofPLweYJ47/WtVk7x/JJ2FCUW1xkfR14/9t//7tDZE0lKS/fmfdVXkGR1do5xaFzMjov25mfqfnZBY7VDgalMjIO/eGcK3j/IC8sWcvaTuRsJ+uGszBeU34nhA7W1Bmsq32sqX1VfU3J2R5BfTJakiZOnKg5c+ZoxYoV+u677zRkyBAlJCRo1qxZgZ4aAAAAENLI2gAAAPCnoD8ZPW/ePNWpU0djx45VvXr1tHr1avXp00eZmZmBnhoAAECVU2okpy7GHSLXaQ4rZG0AAAD/IGd7BP3JaEmaNm2apk2bFuhpAAAAAFUOWRsAAAD+EhInowEAAOAfbsmxHedCqWMDAAAAsImc7RER6AkAAAAAAAAAAKo+OqMBAADg5ZZLbod6KyJCqmcDAAAAsIec7UFnNAAAAAAAAADAcXRGAwAAwMttPAMAAACAPeRsDzqjAQAAAAAAAACOozMaAAAAXqUO7mVnQmgvOwAAAMAmcrYHndEAAAAAAAAAAMfRGQ0AAAAvOjYAAAAA+8jZHnRGAwAAAAAAAAAcR2c0AAAAvNzGJbdxqrMidDo2AAAAAJvI2R50RgMAAAAAAAAAHEdnNAAAALzYyw4AAACwj5ztETYno9NKcmRMjpVaLpd0iuWaZU6OTLRazymZRdWt1ouJiJMk7SpKUqHb7styf1Gs1XpO2lWUZLVebITnue8uSlSBxXV1FYfODznbXC7Pc3eVuKyvw/bSGKv1nNIgaq/VepERRZKkelH7VOLOtVo7reQEq/WcZKrZfT2V1TPVXFZrV4sptVYLAAAAABBewuZkNAAAAI6sVBFyO7STm2GHOAAAAIQpcrZH6MwUAAAAAAAAABCy6IwGAACAl3HwKt+uENrLDgAAALCJnO1BZzQAAAAAAAAAwHF0RgMAAMCrVC6VOtZZETodGwAAAIBN5GwPOqMBAAAAAAAAAI6jMxoAAABepSZCpcapfgX6IAAAABCeyNkeoTNTAAAAAAAAAEDIojMaAAAAXm655HaoXyGUrvINAAAA2ETO9qAzGgAAAAAAAADgODqjAQAA4MVVvgEAAAD7yNkedEYDAAAAAAAAABxHZzQAAAC8uMo3AAAAYB852yN0ZgoAAAAAAAAACFl0RgMAAMDLc5VvZ/acC6WrfAMAAAA2kbM96IwGAAAAAAAAADiOzmgAAAB4uRWhUof6FVz0QQAAACBMkbM9OBkNAAAALycvrBJKIRkAAACwiZztETozBQAAAAAAAACELDqjAQAA4OVWhNwO9Ss4VRcAAAAIduRsj9CZKQAAAAAAAAAgZNEZDQAAAK9S41KpcTlS2yVn6gIAAADBjpztQWc0AAAAAAAAAMBxdEYDAADAq1QRKnWoXyGUrvINAAAA2ETO9gidmQIAAAAAAAAAQhad0QAAAPBymwi5DVf5BgAAAGwiZ3uEzkwBAAAAAAAAACGLzmgAAAB4sZcdAAAAYB852yN0ZgoAAAAAAAAACFl0RgMAAMDLLanUuBypHeFMWQAAACDokbM96IwGAAAAAAAAADiOzmgAAAB4uRXh2NW4Q+kq3wAAAIBN5GyP0JkpAAAAAAAAACBk0RkNAAAAr1IToVLjTL9ChEN1AQAAgGBHzvYInZkCAAAAAAAAAEIWndEAAADwcsslt5y5HLdTdQEAAIBgR872oDMaAAAAAAAAAOA4OqMBAADgxV52AAAAgH3kbI+wORn9VnYbFbnzrNSKjojXPyzXLJNZVN1qPaf8q94Pdgu6EiVJjyevlUyO1dLvJW2xWs9J3WIzrNZz/bGuj9X/n4zFde1xaiNrtUJNXGSM52PDbLlLCq3W3lRY32o9p8zYdr7VevHVYtS/qTRj23nKK7W7po+etsBqPSfF7CuxW6/IE0Zi9peoNM9e7YhfY63VAgAAAACEl7A5GQ0AAIAjK1WESh3ayS2CHeIAAAAQpsjZHqEzUwAAAAAAAABAyKIzGgAAAF5u45LbOHSVb4fqAgAAAMGOnO1BZzQAAAAAAAAAwHF0RgMAAMDL7eBedtXogwAAAECYImd7hM5MAQAAAAAAAAAhi85oAAAAeLlNhNzGmX4Fp+oCAAAAwY6c7RE6MwUAAAAAAAAAhCw6owEAAOBVKpdK5czVuJ2qCwAAAAQ7crYHndEAAAAAAAAAAMfRGQ0AAAAv9rIDAAAA7CNne4TOTAEAAAAAAAAAIYvOaAAAAHiVyrk950odqQoAAAAEP3K2B53RAAAAAAAAAADHBfXJ6AcffFDfffedDhw4oIyMDL377rtq3rx5oKcFAABQZZXtZefUQPAgawMAAPgPOdsjqGfavXt3TZs2Teeee6569eqlqKgoffLJJ4qPjw/01AAAAICQRtYGAACAvwX1ntF9+/b1+fzmm2/Wrl271KFDB3311VcBmhUAAEDVVWoiVOpQZ4VTdXFsyNoAAAD+Q872COqT0X9Vo0YNSVJWVlalvzY6Is7aPMpq2axZJsaBmo5wJVqul+D70aJIB2o6xWV5XV1/PHeX5TVIiIyxWi+UJERG+3y0KSoiNDrR4qvZ/f6X1bNdV5KqhdD7Pz7e7msqLi7a56MtidFRVus5KT7J7u/UuKRYn482awLB4Jiztu2ftQ7mwrDFmobE74Rwx5o6g3W1jzW1j5wdXlySTKAncTRcLpfmz5+vE044Qeedd95Rf11SUpIOHDjg4MwAAACOT/Xq1ZWdnR3QOZRlpqc2XKdCd74jjxETEaeRZ7xe6ed7991365///Kfq1aunNWvW6L777tP3339/yPs/8MADGjx4sBo2bKjdu3frrbfe0siRI1VYWGjjaVRJx5K1ydkAACDYkbMPLxA5O2Q6o6dNm6bWrVurW7dux/b1m29QkaVveHREnO5p/qrVmmV2FSVZreeUx5PX2i3oSlBE3a/lzuwmmVyrpT/IDZ0OkM6xmVbruVwJql3/B+3ecZaMxXXt98PN1mqFmoTIaC256P/UY9HTyi0pslr7gRafWa3nlFm/drVaL75ajOZfMEqXff6E8krtniga0eRjq/WcNGnYAKv14uKi9far9+jqG6YpP9/eazW9W+h0Rjca853VenFJsXr99xm67uQ7lZ9dYLUmDq1///6aOHGiBg0apOXLl2vIkCFatGiRWrRooV27dpW7//XXX6/x48fr1ltv1TfffKPmzZtr9uzZMsZo2LBhAXgGoeF4srb1/OZgLgxbrKmubN7Gaj0nfieEO9bUGayrfaypfeTswAhUzg6Jk9FTp07VJZdcovPPP19paWnHVKPIna8id57VeTlRs9AdEt8SyeQ4VDfXeu2SkOj99zAOrasxuVZr55bQWZZbUmR9HYot/zxxiu0Txn+ua7t2aQj9D3dent1/3CiTn19ktXZOUej8UM3LdqbrID+7wLHawSDY9rIbOnSoZs6cqdmzZ0uSBg0apH79+unWW2/VhAkTyt2/S5cuWrp0qebOnStJ+vXXXzV37lx16tTpuOZelR131nYgvzlaN5yF8ZryOyF0sKbOYF3tY03tq+prSs72CPrdradOnaorr7xSF154obZt2xbo6QAAAOA4JSUl+Yzo6Ir3No+KilKHDh20ePFi7zFjjBYvXqzOnTtX+DXffPONOnTooI4dO0qSGjdurIsvvlgfffSR/SdSBZC1AQAAqo5QyNlB3YY7bdo0DRgwQJdffrmys7OVnJwsSdq/f78KCvhTCAAAANvcxiW3cTlWW1K57tvHHntMY8aMKXf/2rVrKzIyUhkZGT7HMzIy1LJlywofY+7cuapdu7a+/vpruVwuRUVF6bnnntNTTz1l6VlUHWRtAAAA/yFnewT1yei7775bkvTFF1/4HL/55ps1Z86cQEwJAAAAx+mkk07yubCKzQsLdu/eXQ899JDuvvtuLV++XKeddpqmTJmihx9+WI8//ri1x6kKyNoAAABVSyjk7KA+Ge1yOfOvBQAAAKhYqSJU6tBObmV1s7Ozj+oq37t371ZJSYm3Y7dMcnKydu7cWeHXjBs3Tq+88opefPFFSdKPP/6ohIQEzZgxQ0888YSMCZ19z51G1gYAAPAfcrZH0O8ZDQAAgPBUXFyslStXKiUlxXvM5XIpJSVF3377bYVfEx8fL7fb7XOstLTU+7UAAABAuAtkzg7qzmgAAAD4lz/2squMiRMnas6cOVqxYoW+++47DRkyRAkJCZo1a5Ykac6cOUpLS9NDDz0kSVqwYIGGDh2qH374wfvng+PGjdOCBQvKhWcAAADAX8jZHpyMBgAAQNCaN2+e6tSpo7Fjx6pevXpavXq1+vTpo8zMTElSw4YNfcLv448/LmOMHn/8cZ100knatWuXFixYoFGjRgXqKQAAAABBJ1A5m5PRAAAA8HIrQm6HdnI71rrTpk3TtGnTKrytR48ePp+XlpZq7NixGjt27DE9FgAAAOAEcrYHe0YDAAAAAAAAABxHZzQAAAC8So1LpQ7tZedUXQAAACDYkbM96IwGAAAAAAAAADiOzmgAAAB4BdtVvgEAAICqgJztQWc0AAAAAAAAAMBxdEYDAADAy5gIuY0z/QrGoboAAABAsCNne4TOTAEAAAAAAAAAIYvOaAAAAHiVyqVSOXSVb4fqAgAAAMGOnO0RNiejl2U1UX5pgZVacdVirdcss78o1mo9p7yXtMVqvUhXgi6T9EFugkqM1dK6IiHHbkEHLS2Is1qvmitOdSRtKY5TqSm1VrdF7UxrtUJN2fu/Wa1d1t//S/adbrWeU3ZmVbdaLzEyWpKUuTdJOSUxVmsv2t/Gaj0nVSu09x6VpGrVSr11bdaOyo62VgsAAAAAEF7C5mQ0AAAAjsxtnLsat9vyPzgDAAAAoYKc7cGe0QAAAAAAAAAAx9EZDQAAAC+3g1f5dqouAAAAEOzI2R6hM1MAAAAAAAAAQMiiMxoAAABebrnkduhq3E7VBQAAAIIdOduDk9EAAADwKjUulTp0YRWn6gIAAADBjpztwTYdAAAAAAAAAADH0RkNAAAALy6sAgAAANhHzvYInZkCAAAAAAAAAEIWndEAAADwcsslt0N7zoXShVUAAAAAm8jZHnRGAwAAAAAAAAAcR2c0AAAAvIxcjnVWmBDq2AAAAABsImd70BkNAAAAAAAAAHAcndEAAADwchsH97JzqC4AAAAQ7MjZHnRGAwAAAAAAAAAcR2c0AAAAvNwmQm7jTL+CU3UBAACAYEfO9gidmQIAAAAAAAAAQhad0QAAAPBiLzsAAADAPnK2B53RAAAAAAAAAADH0RkNAAAAL7dccsuhjg2H6gIAAADBjpztQWc0AAAAAAAAAMBxdEYDAADAi73sAAAAAPvI2R50RgMAAAAAAAAAHEdnNAAAALzo2AAAAADsI2d70BkNAAAAAAAAAHAcndEAAADwomMDAAAAsI+c7UFnNAAAAAAAAADAcXRGAwAAwIuODQAAAMA+crYHndEAAAAAAAAAAMfRGQ0AAAAvI8ktZzorjCNVAQAAgOBHzvagMxoAAAAAAAAA4Dg6owEAAODFXnYAAACAfeRsDzqjAQAAAAAAAACOozMaAAAAXnRsAAAAAPaRsz3ojAYAAAAAAAAAOI7OaAAAAHjRsQEAAADYR872oDMaAAAAAAAAAOA4OqMBAADgRccGAAAAYB852yNsTka3TNqpQne+lVoxEXHWa5bZVZRktZ5TusVmWK3nciVKkjrHZsqYHKu1lxbEWa3npK6xlv9YweWpd25shGTs1R6y/0RrtUJNQmSMJGn7gZrKLSm0Wvv6U1dYreeUtUn1rdZLiCyVJFVPylc1y2vaPvFXq/WctDryLKv13JER3o9l/21DaZyxVgtA1XBl8zbKy7aXieOT4vT+fvt1wxlrKi1KX2234B////Lu5nWSxf9/uahBO2u1AAAIRmFzMhoAAABHZoxLxqHOCqfqAgAAAMGOnO3BntEAAAAAAAAAAMfRGQ0AAAAvt1xyy6G97ByqCwAAAAQ7crYHndEAAAAAAAAAAMfRGQ0AAAAvrvINAAAA2EfO9qAzGgAAAAAAAADgODqjAQAA4MVVvgEAAAD7yNkedEYDAAAAAAAAABxHZzQAAAC82MsOAAAAsI+c7UFnNAAAAAAAAADAcXRGAwAAwIu97AAAAAD7yNkedEYDAAAAAAAAABxHZzQAAAC8jIN72YVSxwYAAABgEznbg85oAAAAAAAAAIDjQupk9IgRI2SM0aRJkwI9FQAAgCrJSDLGoRHoJ4dDImcDAAA4i5ztETIno88++2zdddddWrNmTaCnAgAAAFQZ5GwAAAD4S0icjE5ISNCrr76qO+64Q3v37g30dAAAAKost1yODgQXcjYAAIB/kLM9QuJk9LRp0/Thhx/qs88+C/RUAAAAgCqDnA0AAAB/igz0BI7k2muvVfv27dWxY8fjqhMTEWdpRgdr2axZJjYi1npNJ7hciZbrJfh8tKmay/73yTEuy/8+VLaeltc1ITLGar1QEl8t2uejTdER8dZrOsH299/JNY0KkTWVpPh4u88/Li7a56MtCdH2v09OiU+y+/M/LinW56PNmsHEGJdjV+MOpat8hwNbOdv269iJ91q4Y00lWf7/F6dytu3fXaGE16kzWFf7WFP7yNl2aocKl4J4j+uTTz5ZK1asUK9evbRu3TpJ0pIlS7R69Wr94x//OKoaSUlJOnDggJPTBAAAOC7Vq1dXdnZ2QOdQlpnO+2SccksKHXmMhMgYfdX7kaB4vuGOnA0AAMJBMOROcravoO6M7tChg5KTk7Vq1SrvscjISJ1//vm69957FRMTI7fbfVS1nlx/hwrd+VbmFRMRp4dazbRas8zuIsv/Yu+Qx+r/z2o9lytBtev/oN07zpIxuVZrbykOne6Cc2Ptd0ZH1P1a7sxuksV1vWDNldZqhZr4atFamPKg+nw2XnmlRVZrX9PwB6v1nDLv17Os1ouvFq1Pej6o3ovtr+m9p31utZ6TXhl6idV6cXHReuv1e3XNdc8qP9/euqZ3DZ3O6IZPfGe1XlxSrF7/fYauO/lO5WcXWK0ZTNzGJbdDnRVO1UXl2czZNt8TkjPvtXDHmkrvbl5nt6BDOfvK5m2s1Qo1vE6dwbrax5raR862UztUBPXJ6M8++0ytW7f2OTZr1ixt2rRJEyZMOOqALEmF7nzrJ46dqFngDupviZcxOQ7VzbVeu9SUWq3nKOPQNu4mV7K4rk79S14oySstsr4ORe48q/Wc4tT334k1LQ6RNZWkvDy7J+LL5OcXWa2d68w0HZGXbfd3dJn87ALHagP+YjNnO/We4L1mX1ivqUP//2I7Z4ft9+dPwvp16iDW1T7W1D7WNDwE9ZnPnJwcrV+/3udYbm6u9uzZU+44AAAAjp8xnuFUbQQHcjYAAIB/kbM9HGrDBAAAAAAAAADgoKDujK5Ijx49Aj0FAACAKourfIcvcjYAAIBzyNkedEYDAAAAAAAAABwXcp3RAAAAcA4dGwAAAIB95GwPOqMBAAAAAAAAAI6jMxoAAABebuOS26HOCqfqAgAAAMGOnO1BZzQAAAAAAAAAwHF0RgMAAMDLGM9wqjYAAAAQjsjZHnRGAwAAAAAAAAAcR2c0AAAAvDwdG05d5duRsgAAAEDQI2d7cDIaAAAAXsa4HAzJoXNhFQAAAMAmcrYH23QAAAAAAAAAABxHZzQAAAC8zB/DqdoAAABAOCJne9AZDQAAAAAAAABwHJ3RAAAA8GIvOwAAAMA+crZH2JyMfnvZOcopLrJSKzEqWmPa2K1ZxlUcGi+eHqc2slovITJG3zWQ+v1ws3JLCq3WblE702o9Jw3Zf6LVegmRMfqyt3TBmiutruv37edZqxVyXImSHtXnbd+VTI7V0o0X3GG1nlNi06Ks1nPFREsXSXmraimv0O7P1Id3X2G1npNa7sq1Wi86ocTzcXeeSnLtvf9P2Gz3+w8AgD9c1KCd1XrxSXF6f790ZfM2ysvOt1Z3Ufpqa7VCjitRkvTu5nXWc/bFva61Ws8ppet/CvQUAMBxYXMyGgAAAEeBzewAAAAA+8jZktgzGgAAAAAAAADgB3RGAwAA4CAH97JTCO1lBwAAAFhFzpZEZzQAAACC3N13363U1FTl5+dr2bJl6tix42HvX6NGDT377LNKT09XQUGBfvrpJ/Xt29dPswUAAABCQyByNp3RAAAA8DLGM5yqXVn9+/fXxIkTNWjQIC1fvlxDhgzRokWL1KJFC+3atavc/aOiovTpp58qMzNT11xzjdLS0tSoUSPt27fv+J8AAAAAcIzI2R6cjAYAAEDQGjp0qGbOnKnZs2dLkgYNGqR+/frp1ltv1YQJE8rd/9Zbb9WJJ56oLl26qKSkRJL066+/+nPKAAAAQNALVM5mmw4AAAB4mT/2snNqSFJSUpLPiI6OrnAuUVFR6tChgxYvXvyn+RktXrxYnTt3rvBrLrvsMn377beaNm2adu7cqXXr1mnkyJGKiCD2AgAAIHDI2R6kcgAAAPhVWlqaDhw44B0jR46s8H61a9dWZGSkMjIyfI5nZGSoXr16FX5NkyZNdM0116hatWq6+OKLNW7cOA0bNkwPP/yw9ecBAAAABJNQyNls0wEAAICDjMu5q3H/Ufekk05Sdna293BhYaG1h4iIiFBmZqbuvPNOud1urVq1SieddJL++c9/auzYsdYeBwAAAKgUcrYkTkYDAADAz7Kzs31C8qHs3r1bJSUlSk5O9jmenJysnTt3Vvg1O3bsUHFxsdxut/fYxo0bVb9+fUVFRam4uPj4Jg8AAAAEqVDI2WzTAQAAAK+yq3w7NSqjuLhYK1euVEpKiveYy+VSSkqKvv322wq/ZunSpTrttNPkch3sOmnevLnS09M5EQ0AAICAIWd7cDIaAAAAQWvixIm64447dNNNN6lly5Z67rnnlJCQoFmzZkmS5syZoyeffNJ7/+eee04nnniipkyZombNmuniiy/WQw89pGnTpgXqKQAAAABBJ1A5m206AAAAcJD5YzhVu5LmzZunOnXqaOzYsapXr55Wr16tPn36KDMzU5LUsGFDnz8V/P3333XRRRdp0qRJWrt2rdLS0jRlyhRNmDDB1rMAAAAAKo+cLYmT0QAAAAhy06ZNO2THRY8ePcodW7ZsmTp37uz0tAAAAICQFoiczcloAAAAeBnjknHoKt9O1QUAAACCHTnbgz2jAQAAAAAAAACOozMaAAAAvpzayw4AAAAIZ+TsY++MrlWrlk488USbcwEAAADCHjkbAAAAVVWlTkYnJydrzpw52rt3rzIyMpSZmamsrCy9+OKLqlu3rlNzBAAAgJ+U7WXn1EDFyNkAAABVGznb46i36UhKStI333yjxMREzZo1S5s2bZLL5dIZZ5yh66+/Xt26dVP79u2Vm5vr5HwBAACAKoWcDQAAgHBx1CejH3jgAZWWlqpVq1bavXu3z22PP/64li5dqvvvv19PPfWU9UkCAADAT4yc28uOPfIqRM4GAAAIA+RsSZXYpqNfv3568sknywVkSdq1a5eeeuopXXrppVYnBwAAAFR15GwAAACEi6M+Gd28eXN98803h7z9m2++UYsWLaxMCgAAAIHicnjgr8jZAAAA4YCcLVXiZHT16tW1b9++Q96+b98+Va9e3cacAAAAgLBBzgYAAEC4OOo9o10ul9xu9yFvN8bI5Qqds/AAAACoAHvZ+R05GwAAIAyQsyVV8mT05s2bZUzFz46ADAAAAFQeORsAAADh4qhPRt9yyy1OzgMAAADBgI4NvyNnAwAAhAFytqRKnIx++eWXnZwHAAAAEJbI2QAAAAgXR30yGgAAAGHAuDzDqdoAAABAOCJnS6rEyeisrKxD7mP3Z7Vq1TquCQEAAADhhJwNAACAcHHUJ6OHDBni4DQAAAAQDIzxDKdqozxyNgAAQNVHzvZgz2gAAAAggMjZAAAACBfsGQ0AAICDuMo3AAAAYB85W5IUEegJAAAAAAAAAACqPjqjAQAAcBBX+QYAAADsI2dLojMaAAAAAAAAAOAHx3wyOioqSs2bN1e1atVszgcAAAAB5DLODhwZORsAAKDqIWd7VPpkdFxcnF544QXl5eVp/fr1atiwoSTp3//+t0aMGGF9ggAAAEA4IGcDAACgqqv0yeinnnpKbdu21QUXXKCCggLv8cWLF+vaa6+1OjkAAAD4mXF44JDI2QAAAFUYOVvSMVzA8IorrtC1116r5cuXy5iDz3T9+vVq2rSp1ckBAAAA4YKcDQAAgKqu0iej69Spo8zMzHLHExISfEIzAAAAQhBX+Q4YcjYAAEAVRs6WdAzbdKxYsUL9+vXzfl4WjG+//XZ9++239mYGAAAAhBFyNgAAAKq6SndGP/TQQ/r44491xhlnKDIyUg888IDOOOMMdenSRd27d3dijgAAAPAXJ/eco7n3sMjZAAAAVRg5W9IxdEYvXbpU7dq1U2RkpNatW6fevXsrMzNTnTt31qpVq5yYIwAAAFDlkbMBAABQ1VW6M1qStm7dqjvvvNP2XAAAABBodGwEFDkbAACgiiJnSzqGzui+ffuqd+/e5Y737t1bffr0sTIpAAAAINyQswEAAFDVVfpk9Pjx41WtWrVyx10ul8aPH29lUgAAAAgQ4/DAIZGzAQAAqjBytqRjOBndrFkzbdiwodzxTZs26bTTTrMyKQAAACDckLMBAABQ1VX6ZPT+/fvVpEmTcsdPO+005ebmWpkUAAAAAsS4nB04JHI2AABAFUbOlnQMJ6Pff/99TZ482ScoN23aVM8884zmz59vdXIAAABAuCBnAwAAoKqr9Mno4cOHKzc3V5s2bdLWrVu1detWbdy4UXv27NH//d//OTFHAAAA+InLODtwaORsAACAqouc7RFZ2S84cOCAunTpol69eqlt27bKz8/X2rVr9dVXXzkxPwAAACAskLMBAABQ1VX6ZHSZTz/9VJ9++qnNuQAAACDQnLwadwh1bAQSORsAAKAKImdLOsaT0RdeeKFSUlJUt25dRUT47vRx2223WZlYmQYNGmjChAnq27ev4uPj9fPPP+uWW27RypUrrT4OAAAAEGj+zNkSWRsAAAD+VemT0Y8++qgeffRRrVixQjt27JAxzp16P+GEE7R06VItWbJEffv21a5du9SsWTPt3bvXsccEAAAAAsGfOVsiawMAAMD/Kn0yetCgQbr55pv13//+14n5+BgxYoS2b9+uW2+91Xts27Ztjj8uAAAA4G/+zNkSWRsAAAD+F3Hku/iKjo7WN99848Rcyrnsssu0YsUKzZs3TxkZGVq1apVuv/12vzw2AABAOHLJwat8B/rJBTl/5myJrA0AAOBP5GyPSndGv/DCCxowYIAef/xxJ+bjo0mTJho8eLAmTpyoJ598Uh07dtS///1vFRUV6eWXX65UrYSoaGvzKqtls2YZlys0Xj5xkTFW6yVERvt8tCmuWqz1mk5JsLyu8dWifT5a40q0Wy+UuBJ8P1qU6MDPFCfExERZrZcQHeXz0abIqNC5ikN8QonVenHx0T4fbSmKDY3XqSTFJ8VZrReXFOvz0WZNQPJvzpbsZW3br2Mn3mvhjjW1z7E1JWc7krPjE+z+f5ZTSi1nF4n3vxNYU/vI2eHFpUpeb3Hy5Mm66aabtHbtWq1du1bFxcU+tw8bNsza5AoLC7VixQp17drVe2zKlCnq2LGjunTpclQ1kpKSdODAAWtzAgAAsK169erKzs4O6BzKMtOZzz2rnKIiRx4jMTpaawffGxTPNxj5M2dLx5+1ydkAACDYBUPuJGf7qnRn9JlnnqnVq1dLklq3bu1zm+2LrOzYsUMbNmzwObZx40ZdffXVla7VafZ05Rbb+YYnREVr+c2DrNYs4yoJkc7ohnZf2AmR0Vpy0f+px6KnlVtid02b1dpltZ6Tth+oabVefLVoLUx5UH0+G6+8Unvr+nnbd63VCjmuBEXU/VruzG6SybVaus3HA63Wc0rMDvud0V8Nu1PnPTNDuUXFR/6CSihsVGi1npOaT8uzWi8uPlqvfTpcA3r9P+Xn2Xv/72tVw1otp1V/43ur9eKSYvX67zN03cl3Kj+7wGrNoGJUyVaFStbGIfkzZ0v2srbN94TkzHst3LGm9jm1pu9uXmetVshxMGdfc/lVVus5pXTjFus1ef/bx5raR862VDtEVPpk9IUXXujEPCq0dOlStWjRwudY8+bN9euvv1a6Vm5xkXIsnzh2oqarODRORrtLnDnBk1tSpFzLtfNLQ+eXg+3nXiav1PK6mhx7tUKVybW+DrZ/njilpNCZ33K5RcXKLbS7BgUhsqaSlJfrzPs/P6/Iau3cgtBZ08jsfEfq5mcXKM+h2ghv/szZkr2s7dR7gveafaypfdbXlJztSM52KmfZVurg+5P3v32sqX2saXio9AUMyzRt2lS9e/dWbKxze7BMmjRJ5557rkaOHKmmTZvq+uuv15133qlp06Y59pgAAABhzTg8cET+yNkSWRsAAMCvyNmSjuFk9IknnqjFixdr8+bN+uijj1S/fn1J0osvvqinn37a6uRWrFihK6+8Utdff71+/PFHPfLIIxoyZIhee+01q48DAAAABJo/c7ZE1gYAAID/Vfpk9KRJk1RcXKyGDRsqL+/g/pZvvPGG+vTpY3VykvThhx/qzDPPVFxcnM444wy98MIL1h8DAAAAHi7j7MCh+TtnS2RtAAAAfyFne1R6z+jevXvroosuUlpams/xLVu2qFGjRtYmBgAAAIQTcjYAAACqukqfjE5ISPDp1Chz4oknqrAwNC4KAAAAgEPgKt8BQ84GAACowsjZko5hm46vvvpKN910k/dzY4xcLpeGDx+uJUuWWJ0cAAAAEC7I2QAAAKjqKt0ZPXz4cH322Wc6++yzFR0drf/3//6fWrVqpRNPPFFdu3Z1Yo4AAADwFzo2AoacDQAAUIWRsyUdQ2f0+vXr1bx5c3399dd6//33lZCQoHfeeUdnnXWWtm7d6sQcAQAAgCqPnA0AAICqrtKd0aeccoq2b9+uJ5988pC3AQAAIDQ5eTXuULrKdyCQswEAAKoucrZHpTujU1NTVadOnXLHTzzxRKWmplqZFAAAABBuyNkAAACo6irdGe1yuWRM+dPtiYmJKigosDIpAAAABIhxeYZTtXFI5GwAAIAqjJwtqRIno5955hlJnqt6jxs3Tnl5ed7bqlWrpk6dOmn16tXWJwgAAABUZeRsAAAAhIujPhl91llnSfJ0bLRp00ZFRUXe24qKirRmzRo9/fTT9mcIAAAA/+Eq335HzgYAAAgD5GxJlTgZfeGFF0qSXnrpJT3wwAPKzs52bFIAAABAuCBnAwAAIFxUes/oW2+91Yl5AAAAIAhwle/AIWcDAABUXeRsj0qfjI6Pj9eDDz6olJQU1a1bVxERET63N23a1NrkAAAAgHBBzgYAAEBVV+mT0S+88IK6d++uV155RTt27Kjwit/B6JOLp8qYHCu1XK5ESfdbrVlme2mM1XpO2VRY32q9qIh4SQ/pgRafqdidd8T7V8aSfadbreek609dYbVedES8JOmahj+oyOK6Nl5wh7VaoSYxKlrrb5bafDxQOcVFR7x/ZaReOtNqPaeMyGhntV5MRJyke3TxJctV6M63WntIra+t1nNS//nDrNZzx0VLknIaV1devr3XakY3t7VaTqvx30DPIESxl13AhGrOBmDPxb2uDfQUAiY+IUbvLJOuufwq5eUWWq390advWK3nlIsatAv0FAA4iZwt6RhORvft21f9+vXTN99848R8AAAAgLBEzgYAAEBVV+mT0Xv37lVWVpYTcwEAAECgObiXXSh1bAQCORsAAKAKI2dLkiKOfBdfjzzyiMaOHau4uDgn5gMAAACEJXI2AAAAqrpKd0YPGzZMTZs2VUZGhrZt26bi4mKf2zt06GBtcgAAAPAz9rILGHI2AABAFUbOlnQMJ6Pfe+89B6YBAAAAhDdyNgAAAKq6Sp+MHjt2rBPzAAAAQDCgYyNgyNkAAABVGDlb0jHsGS1JNWrU0G233aYnn3xSNWvWlCSdddZZatCggdXJAQAAAOGEnA0AAICqrNKd0W3atNHixYu1f/9+nXrqqZo5c6b27t2rq666Sg0bNtTAgQOdmCcAAAD8wOXgVb4du3p4FUHOBgAAqLrI2R6V7oyeOHGiZs+erebNm6ugoMB7/KOPPtL5559vdXIAAABAuCBnAwAAoKqr9Mnojh076vnnny93PC0tTfXq1bMyKQAAACDckLMBAABQ1VX6ZHRhYaGqV69e7njz5s21a9cuK5MCAAAAwg05GwAAAFVdpU9Gz58/X48++qgiIz3bTRtjdMopp2jChAl6++23rU8QAAAAfmQcHjgkcjYAAEAVRs6WdAwno4cNG6bExERlZmYqLi5OX3zxhX7++WdlZ2dr1KhRTswRAAAAqPLI2QAAAKjqIiv7BQcOHFDv3r3VpUsXtW3bVomJiVq1apU+++wzJ+YHAAAAP+Iq34FDzgYAAKi6yNkelT4ZXeabb77RN998Y3MuAAAAQNgjZwMAAKCqOuptOs4991z169fP59jf//53bd26VRkZGXr++ecVHR1tfYIAAADwszDfx87fyNkAAABhgpx99CejH330UbVq1cr7eevWrfXiiy9q8eLFGj9+vC699FKNHDnSkUkCAAAAVRU5GwAAAOHiqE9Gt2vXzme/uuuuu07Lly/XnXfeqUmTJun+++9X//79HZkkAAAA/ISrfPsdORsAACAMkLMlVeJkdM2aNZWRkeH9vHv37vr444+9n3///fc65ZRT7M4OAAAAqOLI2QAAAAgXR30yOiMjQ40bN5YkRUVFqX379lq2bJn39qSkJBUXF9ufIQAAAPym7CrfTg2UR84GAACo+sjZHkd9Mvqjjz7S+PHj1a1bNz311FPKy8vTV1995b39zDPP1C+//OLIJAEAAICqipwNAACAcBF5tHd85JFH9M477+iLL75QTk6OBg4c6NOhceutt+qTTz5xZJIAAADwEyf3nAuhjg1/ImcDAACEAXK2pEqcjN6zZ4+6d++u6tWrKycnR2632+f2v/3tb8rJybE+QQAAAKAqI2cDAAAgXBz1yegyBw4cqPD43r17j3syAAAACCwn95wLpb3sAoGcDQAAUHWRsz2Oes9oAAAAAAAAAACOFSejAQAAcJBxeByDu+++W6mpqcrPz9eyZcvUsWPHo/q6a6+9VsYYvfvuu8f2wAAAAIAt5GxJnIwGAABAEOvfv78mTpyoMWPGqH379lqzZo0WLVqkOnXqHPbrGjVqpKefflpffvmln2YKAAAAhI5A5WxORgMAAOCgIOvYGDp0qGbOnKnZs2dr48aNGjRokPLy8nTrrbce8msiIiL06quvavTo0dq6dWvlHxQAAACwjZztqXFMXwUAAAA4LCoqSh06dNDixYu9x4wxWrx4sTp37nzIr3v00UeVmZmpl156yR/TBAAAAEJKIHN25DF/JQAAAKocf1zlOykpyed4YWGhioqKyt2/du3aioyMVEZGhs/xjIwMtWzZssLH6Nq1q2677Ta1a9fOypwBAAAAG8jZHnRGAwAAwK/S0tJ04MAB7xg5cqSVuomJiXrllVd0xx13aM+ePVZqAgAAAKEiFHI2ndEAAAA46Diuxn1UtSWddNJJys7O9h4uLCys8O67d+9WSUmJkpOTfY4nJydr586d5e7ftGlTNW7cWAsWLPAei4jw9F4UFxerRYsW7CENAACAwCBne77uqO4FAAAAWJKdne0zKvrTQckTbFeuXKmUlBTvMZfLpZSUFH377bfl7r9p0ya1bt1a7dq184758+dryZIlateunbZv3+7YcwIAAAACLRRyNp3RAAAAOMgPHRuVMXHiRM2ZM0crVqzQd999pyFDhighIUGzZs2SJM2ZM0dpaWl66KGHVFhYqPXr1/t8/b59+ySp3HEAAADAr8jZkjgZDQAAgCA2b9481alTR2PHjlW9evW0evVq9enTR5mZmZKkhg0byu12B3iWAAAAQGgJVM7mZDQAAAC8/HGV78qaNm2apk2bVuFtPXr0OOzX3nLLLcf2oAAAAIBF5GwP9owGAAAAAAAAADiOzmgAAAAcFGR72QEAAABVAjlbUhidjH4ru7WK3HlWakVHxOt+yzXLNIjaa7WeU2ZsO99qvfhqMbrhNGnWr12VV1potfbOrOpW6zlpbVJ9q/USImN0f0tp3q9nKbfE3rrGpkVZqxVqYmI8zz1mR5RKCu3+tB+R0c5qPadMSF5tt6ArUZI0tu46yeRYLX3H9ous1nNSwQl2/1ipWqynXmGNCBXE2KvdqMkOa7UAAICv0vU/BXoKAVOaFOf5uHGLSrPzrda+qEE7q/Wcsih9tf2if2TtdzfbzdqhsqYAgk/YnIwGAADAkQXjXnYAAABAqCNne7BnNAAAAAAAAADAcXRGAwAA4CD2sgMAAADsI2dLojMaAAAAAAAAAOAHdEYDAADgIDo2AAAAAPvI2ZLojAYAAAAAAAAA+AGd0QAAAPBy/TGcqg0AAACEI3K2B53RAAAAAAAAAADH0RkNAACAg9jLDgAAALCPnC2Jk9EAAAD4E5fxDKdqAwAAAOGInO3BNh0AAAAAAAAAAMfRGQ0AAICD+PNBAAAAwD5ytiQ6owEAAAAAAAAAfkBnNAAAAHyFUGcFAAAAEDLI2cHdGR0REaGxY8dq69atysvL088//6yHH3440NMCAAAAQh5ZGwAAAP4W1J3RI0aM0ODBgzVw4ECtX79eZ599tmbNmqX9+/dr6tSpgZ4eAABAlcNVvsMHWRsAAMB/yNkeQX0yukuXLnr//ff10UcfSZJ+/fVXXX/99TrnnHMCPDMAAAAgtJG1AQAA4G9BfTL6m2++0Z133qlmzZppy5YtOvPMM9WtWzcNHTq00rWiI+Kszausls2aZSIjiqzXdEJ8tRhH6tmuK0mJkdHWazolIbLUar34atE+H21xxYTOmtqWEB3l89GmGAd+pjjClWi5XoLvR4tiI2Kt13RKQqzd91V8bJTPR2t1Hfg57ZSYJLvvqbikWJ+PNmsGFa7yHTZsZW3br2Mn3mvhjjW1jzW1jzWV/ZwtOZa14y3nrFDCa9U+cral2iHCpSCersvl0pNPPqnhw4ertLRU1apV06hRozR+/PijrpGUlKQDBw44OEsAAIDjU716dWVnZwd0DmWZqev/TVNugTP/OJ4QG62lT98TFM8Xx5+1ydkAACDYBUPuJGf7CurO6P79++uGG27QgAEDtH79erVr106TJ09Wenq6Xn755UrVmr55gIrc+VbmFR0Rp0HNX7Nas0y9qH1W6zllxrbzrNaLrxaj+ReM0mWfP6G80kKrtTP3Jlmt56TqSXZfT/HVovVJzwfVe/F45ZXa+4GXt6qWtVqhJiE6Sl8Nu1PnPTNDuUXFVmtffMlyq/WcMrbuOrsFXQmKqPu13JndJJNrtfR9v3eyWs9J615qbbVefGyUFj5zl/oMe155BfZeq/HX7LRWy2kxV/xmtV5cUqxe/32Grjv5TuVnF1itGUzYyy582MraNt8TkjPvtXDHmtrHmtrHmkrvbracsyXHsvaVzdtYqxVqeK3aR862UztUBPXJ6H/9618aP3683njjDUnSjz/+qEaNGmnkyJGVPhld5M5XkTvP6vycqFnitnsixim2Txj/ua7t2jklofMn5dVKnFrXIuVarJ1XGBrbyTgpt6hYuZbXodDyP245xuQ4VDfXeu0Cd+iEQ6f+hTyvoNhubYd+/juhNNuZ91R+doHyHKoN+JOtrO3Ue4L3mn2sqX2sqX1hvaZO5WzJetYO2+/Rn4T1a9UhrGl4COqT0fHx8XK73T7HSktLFREREaAZAQAAVHHsZRc2yNoAAAB+RM6WFOQnoxcsWKBRo0bpt99+0/r163XWWWdp6NCheumllwI9NQAAACCkkbUBAADgb0F9Mvq+++7TuHHj9J///Ed169ZVenq6nn/+eY0dOzbQUwMAAKiS2MsufJC1AQAA/Iec7RHUJ6NzcnL0j3/8Q//4xz8CPRUAAACgSiFrAwAAwN+C+mQ0AAAA/Iy97AAAAAD7yNmSJK5OAgAAAAAAAABwHJ3RAAAAOIiODQAAAMA+crYkOqMBAAAAAAAAAH5AZzQAAAC8uMo3AAAAYB8524POaAAAAAAAAACA4+iMBgAAwEHsZQcAAADYR86WRGc0AAAAAAAAAMAP6IwGAACAl8sYuYwzrRVO1QUAAACCHTnbg85oAAAAAAAAAIDj6IwGAADAQexlBwAAANhHzpZEZzQAAAAAAAAAwA/ojAYAAICXy3iGU7UBAACAcETO9gibk9Fd4zfLbXKs1IpwJVqvWSat5ASr9Zzy6GkLrNar5kqQNFYjmnysUpNrtfai/W2s1nNS+8RfrdaLioiX9KjuPe1zFbvzrNV9ePcV1mqFmsgoz0/4wkaFKiguslp7SK2vrdZzyh3bL7JaLzYiVtOSpft+76QCd4HV2jNPWWq1npO6725ltV5cXKnn455SmfxSa3V/25xsrZbTmmlboKcAAABw1C5q0M56zfikOL2/X7qyeRvlZedbq7sofbW1Wk5zYl0BHLuwORkNAACAo8BedgAAAIB95GxJ7BkNAAAAAAAAAPADOqMBAADgxV52AAAAgH3kbA86owEAAAAAAAAAjqMzGgAAAAexlx0AAABgHzlbEp3RAAAAAAAAAAA/oDMaAAAAXuxlBwAAANhHzvagMxoAAAAAAAAA4Dg6owEAAHAQe9kBAAAA9pGzJdEZDQAAAAAAAADwAzqjAQAA4COU9pwDAAAAQgU5m85oAAAAAAAAAIAf0BkNAACAg4zxDKdqAwAAAOGInC2JzmgAAAAAAAAAgB/QGQ0AAAAvl3FuLzv2yAMAAEC4Imd70BkNAAAAAAAAAHAcndEAAAA4yPwxnKoNAAAAhCNytiQ6owEAAAAAAAAAfkBnNAAAALxcbs9wqjYAAAAQjsjZHnRGAwAAAAAAAAAcR2c0AAAADmIvOwAAAMA+crYkOqMBAAAAAAAAAH5AZzQAAAC8XMYznKoNAAAAhCNytged0QAAAAAAAAAAx9EZDQAAgIOM8QynagMAAADhiJwtic5oAAAAAAAAAIAf0BkNAAAAL/ayAwAAAOwjZ3vQGQ0AAAAAAAAAcByd0QAAADjI/DGcqg0AAACEI3K2JDqjAQAAAAAAAAB+QGc0AAAAvNjLDgAAALCPnO1BZzQAAAAAAAAAwHF0RgMAAOAgYzzDqdoAAABAOCJnS6IzGgAAAAAAAADgB3RGAwAAwIu97AAAAAD7yNkedEYDAAAAAAAAABxHZzQAAAAOMn8Mp2oDAAAA4YicLSmMTkaPePgu5eUXWakVHxetxS/brVnGVHNZreeUmH0lVuvFx0er1zvSpGEDlJdnd02rFZZareek1ZFnWa0XHx+t696XXhl6idV1bbkr11qtUBOfUCINkJpPy1NebqHV2v3nD7NazykFJ9j9o5qE2Gipg7TupdbKLbD7/u++u5XVek764vkZdgu6EiU9oI+nzJZMjrWyzWcPtlYLwYk/HwQAAEdyUYN2gZ7CUVuUvtpuQVeiJOndzeus5uxQWlMcG3K2B9t0AAAAAAAAAAAcFzad0QAAADgKbuMZTtUGAAAAwhE5WxKd0QAAAAAAAAAAP6AzGgAAAAdxYRUAAADAPnK2JDqjAQAAAAAAAAB+QGc0AAAAvFxy8CrfzpQFAAAAgh4524POaAAAAAAAAACA4+iMBgAAwEHGeIZTtQEAAIBwRM6WRGc0AAAAAAAAAMAP6IwGAACAl8s4uJdd6DRsAAAAAFaRsz3ojAYAAEBQu/vuu5Wamqr8/HwtW7ZMHTt2POR9b7/9dn355ZfKyspSVlaWPv3008PeHwAAAAhXgcjZnIwGAADAQcbhUUn9+/fXxIkTNWbMGLVv315r1qzRokWLVKdOnQrvf8EFF2ju3Lnq0aOHOnfurO3bt+uTTz5RgwYNKv/gAAAAgC3kbEmcjAYAAEAQGzp0qGbOnKnZs2dr48aNGjRokPLy8nTrrbdWeP8bb7xRzz33nNasWaOffvpJt99+uyIiIpSSkuLnmQMAAADBK1A5m5PRAAAA8HIZ4+iojKioKHXo0EGLFy/2HjPGaPHixercufNR1YiPj1dUVJSysrIq9dgAAACATeRsj4CejD7vvPM0f/58paWlyRijyy+/vNx9xowZo/T0dOXl5enTTz/VaaedFoCZAgAAwJakpCSfER0dXeH9ateurcjISGVkZPgcz8jIUL169Y7qsSZMmKD09HSfoB0OyNkAAADhJxRydkBPRickJGjNmjW65557Krx9+PDhuv/++zVo0CB16tRJubm5WrRokWJiYvw8UwAAgDDhdnhISktL04EDB7xj5MiRjjyVESNG6LrrrtOVV16pwsJCRx4jWJGzAQAAggw5W5IU6ciMjtLChQu1cOHCQ94+ZMgQPf7445o/f74k6aabblJGRoauuOIKvfHGG/6aJgAAACw66aSTlJ2d7f38UAF29+7dKikpUXJyss/x5ORk7dy587CPMWzYMD344IPq2bOn1q1bd/yTDjHkbAAAgPATCjk7aPeMbty4serXr+/T6n3gwAEtX778qPcuAQAAQOX4Yy+77Oxsn1FUVFThXIqLi7Vy5Uqfi6K4XC6lpKTo22+/PeRz+Oc//6lHHnlEffr00cqVK+0uUBVAzgYAAPA/crZHQDujD6dsf5Lj2bvkz+JjK94j5ViU1bJZs4yp5rJe0wkxRXb/HSMuLtrno03VqpVar+kUd2RorGt0QonVeqEkLj7a56NNbgde/06oFmv3dRofG+Xz0aa4uNB5/8uVaLlegu9HSxIPsedYMIpPirNaLy4p1uejzZo4tIkTJ2rOnDlasWKFvvvuOw0ZMkQJCQmaNWuWJGnOnDlKS0vTQw89JMmz/cTYsWM1YMAAbdu2zdvtkZOTo9zc3IA9j2BiO2fbfh078V4Ld6ypfaypfaypM1hXhUzOtp1dQwk5OzAClbOD9mS0bfNnDAqJmuHu7Vcr3tcQx+et1+8N9BSqnNc+HR7oKVQ5C5+5K9BTCLAHHKkaUfdrq/VWD7VazlkOzfX132c4UzhYmD+GU7Urad68eapTp47Gjh2revXqafXq1erTp48yMzMlSQ0bNpTb7fbef/DgwYqJidHbb7/tU+exxx7TmDFjjmv6qJhT74kq/14LANbUPtbUPtbUGayrfbZz9vv7rZYLSVX+dUrOlhTEJ6PL9if5614lycnJWr16daXrXXbndOUVVNyaXlnxsdGaP2OQ1ZplQqYzer/dzti4uGi9/eo9uvqGacrPt7um1QpDpzPSic7ot16/V9dc96zVdY3enWetVqiJi4/Wa58O14Be/0/5eXZfqzmNq1ut55TCGvY7oxc+c5f6DHteeQXFVmvH7Qmd9//HU2bbLehKUETdr+XO7CYZe92g7V+9zVotpzUa853VenFJsXr99xm67uQ7lZ9dYLUmDm/atGmaNm1ahbf16NHD5/PGjRv7Y0ohzXbOtvmekJx5r4U71tQ+1tQ+1tQZrKv07mbL145wKGdf2byNtVqhhpwdOIHI2UF7Mjo1NVU7duxQSkqK1qxZI0lKSkpSp06d9Nxzz1W6Xl5BkfIsn+R0omaonIwuzXNmm4b8/CLlWT7BF84no8vYXteS3MpdKbUqys8rUp7ldbD988QpBTHOvE7zCoqVa/sf+PJD5/0vk+NQ3VyrtXMOsedYMMrLznekbn52gWO1g4IxnuFUbQSc7Zzt1Huiyr/XAoA1tY81tY81dUZYr2uI5Oyw/f78SZV/nZKzJQX4ZHRCQoJOO+007+eNGzdW27ZtlZWVpe3bt2vy5Ml6+OGHtWXLFqWmpmrcuHFKT0/Xe++9F7hJAwAAAEGOnA0AAIBgFNCT0WeffbY+//xz7+eTJk2SJM2ePVu33HKL/t//+39KSEjQjBkzdMIJJ+jrr79Wnz59VFhIVyYAAIATXMYznKoN/yBnAwAABBdytkdAT0Z/8cUXcrkOvy3F6NGjNXr0aD/NCAAAAAh95GwAAAAEo6DdMxoAAAABwF52AAAAgH3kbEmSM1ehAgAAAAAAAADgT+iMBgAAgJfL7RlO1QYAAADCETnbg85oAAAAAAAAAIDj6IwGAADAQexlBwAAANhHzpZEZzQAAAAAAAAAwA/ojAYAAMBB5o/hVG0AAAAgHJGzJdEZDQAAAAAAAADwAzqjAQAA4OUyRi6H9pxzqi4AAAAQ7MjZHnRGAwAAAAAAAAAcR2c0AAAADuIq3wAAAIB95GxJdEYDAAAAAAAAAPyAzmgAAAAcZCS5HawNAAAAhCNytqQwOhm946JS5RSXWqmVGFVqvWaZajF26zkl4tdYq/USo6MkSendopRTZPcdFJUdbbWek0rj7D73hGjPc0/vGq3cInt1T9gcZa9YiCmK9azpvlY1lFtgcVElZXRz6reSXY2a7LBaL75ajOfjNTul0kKrtX/bnGy1npOazx5stV5idLRWD5Xav3qbcorsvVY33/yctVpOu+ihdoGeAgAAAALsogbtrNaLT4rT+/ulK5u3UV52vrW6i9JXW6vlNNtrivASNiejAQAAcGRc5RsAAACwj5ztwZ7RAAAAAAAAAADH0RkNAACAg4wcvMq3M2UBAACAoEfOlkRnNAAAAAAAAADAD+iMBgAAwEHGONixEUItGwAAAIBN5GxJdEYDAAAAAAAAAPyAzmgAAAAc5P5jOFUbAAAACEfkbEl0RgMAAAAAAAAA/IDOaAAAAHi5jJHLoT3nnKoLAAAABDtytged0QAAAAAAAAAAx9EZDQAAgIO4yjcAAABgHzlbEp3RAAAAAAAAAAA/oDMaAAAAB9GxAQAAANhHzpZEZzQAAAAAAAAAwA/ojAYAAMBBdGwAAAAA9pGzJdEZDQAAAAAAAADwAzqjAQAAcJD7j+FUbQAAACAckbMl0RkNAAAAAAAAAPADOqMBAADg5TJGLof2nHOqLgAAABDsyNkedEYDAAAAAAAAABxHZzQAAAAO4irfAAAAgH3kbEl0RgMAAAAAAAAA/IDOaAAAABzkNp7hVG0AAAAgHJGzJdEZDQAAAAAAAADwAzqjAQAAcBB72QEAAAD2kbMlcTIaAAAAPhwMyQqdkAwAAADYRc6W2KYDAAAAAAAAAOAHdEYDAADgIP58EAAAALCPnC2JzmgAAAAAAAAAgB/QGQ0AAICD3MYznKoNAAAAhCNytiQ6owEAAAAAAAAAfkBnNAAAAA4ybs9wqjYAAAAQjsjZkuiMBgAAAAAAAAD4AZ3RAAAAOIirfAMAAAD2kbMl0RkNAAAAAAAAAPADOqMBAABwEFf5BgAAAOwjZ0uiMxoAAAAAAAAA4Ad0RgMAAOAg9rIDAAAA7CNnSwqjk9Gn3f2D8rLzrdSKT4qTbrBbM9zFJ8VJQ6VGY75jTS2KT4qThksNn2BdbYlPipNmSNXf+F6Rlte0xn+tlgsZMUlx0n4p5orfVGp5TZtpm9V6ocSpn6sXPdTOWi2nLUpfbbegK1GS9O7mdZLJsVoTAAAA4e2iBu0CPYWjRs7G8Qibk9EAAAA4CkYOdmw4UxYAAAAIeuRsSewZDQAAAAAAAADwAzqjAQAAcBB72QEAAAD2kbMl0RkNAAAAAAAAAPADOqMBAABwkNvtGU7VBgAAAMIROVsSndEAAAAAAAAAAD+gMxoAAAAHsZcdAAAAYB85WxKd0QAAAAAAAAAAP6AzGgAAAAfRsQEAAADYR86WRGc0AAAAAAAAAMAP6IwGAADAQW7jGU7VBgAAAMIROVsSndEAAAAAAAAAAD+gMxoAAABexrhljNux2gAAAEA4Imd70BkNAAAAAAAAAHBcQE9Gn3feeZo/f77S0tJkjNHll1/uvS0yMlLjx4/X2rVrlZOTo7S0NM2ZM0f169cP4IwBAACqOGMO7mdne4TQVb5DHTkbAAAgyJCzJQX4ZHRCQoLWrFmje+65p9xt8fHxat++vcaNG6f27dvrqquuUosWLTR//vwAzBQAAAAIHeRsAAAABKOA7hm9cOFCLVy4sMLbDhw4oN69e/scu/fee/X999/rlFNO0fbt2/0xRQAAgPBiHOysCKGOjVBHzgYAAAgy5GxJIXYBwxo1asjtdmvfvn2V/tq4pFhr8yirZbNmuGNNncG62sea2seaOoN1leRKtFwvwfejzZpAgAVLzv5zvbD++WUZa2ofa2ofa+oM1tU+1lTkbBwXl6SgOHVujNEVV1yh999/v8LbY2JitHTpUm3atEk33njjUddNSkrSgQMHbE0TAADAuurVqys7OzugcyjLTFedfLfysgsceYz4pFi98/t/guL5hhNyNgAACFfBkDvJ2b5CojM6MjJS8+bNk8vl0uDBg4+pxnUn36l8S9/wuKRYvf77DKs1wx1r6gzW1T7W1D7W1Bmsq/Tu5nV2C7oSFFH3a7kzu0km12pNIFCCLWdL/PxyAmtqH2tqH2vqDNbVPtaUnI3jE/Qno8sCcqNGjXThhRce89n9/OwC5WXnW52bEzXDHWvqDNbVPtbUPtbUGWG9ribHobq5ztUOBuxlFzaCOWc7WTecsab2sab2sabOYF3tC+s1JWcfG3K2pCA/GV0WkJs1a6YePXooKysr0FMCAAAAQh45GwAAAIEQ0JPRCQkJOu2007yfN27cWG3btlVWVpZ27Niht956S+3bt9cll1yiatWqKTk5WZKUlZWl4uLiQE0bAACgyjJut4zb7Vht+Ac5GwAAILiQsz0CejL67LPP1ueff+79fNKkSZKk2bNn67HHHtPll18uSVqzZo3P111wwQX64osv/DZPAAAAIJSQswEAABCMAnoy+osvvpDL5Trk7Ye7DQAAAA5gL7sqgZwNAAAQZMjZkqSIQE8AAAAAAAAAAFD1BfUFDAEAAOBnbuMZTtUGAAAAwhE5WxKd0QAAAAAAAAAAP6AzGgAAAAcZIxmHrsYdQnvZAQAAAFaRsyXRGQ0AAAAAAAAA8AM6owEAAOBl3EbGoT3nnKoLAAAABDtytged0QAAAAAAAAAAx9EZDQAAgIOM28G97ByqCwAAAAQ7crYkOqMBAAAQ5O6++26lpqYqPz9fy5YtU8eOHQ97/2uuuUYbN25Ufn6+1q5dq759+/pppgAAAEDoCETO5mQ0AAAAvMr2snNqVFb//v01ceJEjRkzRu3bt9eaNWu0aNEi1alTp8L7d+7cWXPnztWLL76os846S++9957ee+89tWrV6niXBgAAADhm5GwPTkYDAAAgaA0dOlQzZ87U7NmztXHjRg0aNEh5eXm69dZbK7z/Aw88oIULF+rpp5/Wpk2b9Oijj2rVqlW69957/TxzAAAAIHgFKmdzMhoAAAAHle1l59SohKioKHXo0EGLFy8+OD1jtHjxYnXu3LnCr+ncubPP/SVp0aJFh7w/AAAA4BfkbElhdAHDuKRY67Vs1gx3rKkzWFf7WFP7WFNnsK6SXImW6yX4frRZM4jEV49zvHZSUpLP8cLCQhUVFZW7f+3atRUZGamMjAyf4xkZGWrZsmWFj1GvXr0K71+vXr3jmToOw/bPGX5+2cea2sea2seaOoN1tY81FTn7GJGzPar8yeiyb8Lrv8+wXtuJmuGONXUG62ofa2ofa+oM1tW+iLpfW6+ZlJSk7Oxs63Uro6ioSDt27NDc7c87+jjZ2dlKS0vzOfbYY49pzJgxjj4u7HMyZztZN5yxpvaxpvaxps5gXe1jTe0jZx+fUMnZVf5kdHp6uk466aSAv/AAAAAqkpSUpPT09EBPQ4WFhWrcuLGio6MD8tgV2b17t0pKSpScnOxzPDk5WTt37qzwa3bu3Fmp++PYkbMBAEAwI2cHZ86u8iejJQXFCw8AAKAiwXQir7Cw8JCBNRCKi4u1cuVKpaSk6P3335ckuVwupaSk6Nlnn63wa7799lulpKRoypQp3mO9evXSt99+65c5hxtyNgAACFbk7EMLdM42DAaDwWAwGAxGMI7+/fub/Px8c9NNN5mWLVua6dOnm6ysLFO3bl0jycyZM8c8+eST3vt37tzZFBUVmaFDh5oWLVqY0aNHm8LCQtOqVauAPxcGg8FgMBgMBiNYRgBzduCfPIPBYDAYDAaDcahxzz33mG3btpmCggKzbNkyc84553hvW7JkiZk1a5bP/a+55hqzadMmU1BQYNatW2f69u0b8OfAYDAYDAaDwWAE2whEznb98R8AAAAAAAAAADgmItATAAAAAAAAAABUfZyMBgAAAAAAAAA4jpPRAAAAAAAAAADHcTIaAAAAAAAAAOA4TkYfg7vvvlupqanKz8/XsmXL1LFjx0BPKWQ9+OCD+u6773TgwAFlZGTo3XffVfPmzQM9rSplxIgRMsZo0qRJgZ5KyGvQoIFeeeUV7d69W3l5eVq7dq06dOgQ6GmFrIiICI0dO1Zbt25VXl6efv75Zz388MOBnlZIOe+88zR//nylpaXJGKPLL7+83H3GjBmj9PR05eXl6dNPP9Vpp50WgJmGlsOta2RkpMaPH6+1a9cqJydHaWlpmjNnjurXrx/AGQNVBznbHnK288jZ9pCz7SJn20HWto+cDYmT0ZXWv39/TZw4UWPGjFH79u21Zs0aLVq0SHXq1An01EJS9+7dNW3aNJ177rnq1auXoqKi9Mknnyg+Pj7QU6sSzj77bN11111as2ZNoKcS8k444QQtXbpUxcXF6tu3r8444wwNGzZMe/fuDfTUQtaIESM0ePBg3XvvvTr99NM1YsQIDR8+XPfdd1+gpxYyEhIStGbNGt1zzz0V3j58+HDdf//9GjRokDp16qTc3FwtWrRIMTExfp5paDncusbHx6t9+/YaN26c2rdvr6uuukotWrTQ/PnzAzBToGohZ9tFznYWOdsecrZ95Gw7yNr2kbNRxjCOfixbtsxMnTrV+7nL5TK///67GTFiRMDnVhVG7dq1jTHGnHfeeQGfS6iPhIQE89NPP5mUlBSzZMkSM2nSpIDPKZTHU089Zb788suAz6MqjQULFpgXXnjB59hbb71lXnnllYDPLRSHMcZcfvnlPsfS09PNsGHDvJ9Xr17d5Ofnm2uvvTbg8w2VUdG6/nWcffbZxhhjTjnllIDPl8EI5UHOdnaQs+0NcrbdQc62P8jZ9gdZ2z9r+tdBzq6ag87oSoiKilKHDh20ePFi7zFjjBYvXqzOnTsHcGZVR40aNSRJWVlZAZ5J6Js2bZo+/PBDffbZZ4GeSpVw2WWXacWKFZo3b54yMjK0atUq3X777YGeVkj75ptvlJKSombNmkmSzjzzTHXr1k0ff/xxgGdWNTRu3Fj169f3+Z114MABLV++nN9ZltWoUUNut1v79u0L9FSAkEXOdh452x5ytl3kbPvI2c4ja/sHObtqigz0BEJJ7dq1FRkZqYyMDJ/jGRkZatmyZYBmVXW4XC5NnjxZX3/9tdavXx/o6YS0a6+9Vu3bt2efRYuaNGmiwYMHa+LEiXryySfVsWNH/fvf/1ZRUZFefvnlQE8vJI0fP17Vq1fXpk2bVFpaqmrVqmnUqFF67bXXAj21KqFevXqSVOHvrLLbcPxiYmI0YcIEzZ07V9nZ2YGeDhCyyNnOImfbQ862j5xtHznbeWRt55Gzqy5ORiNoTJs2Ta1bt1a3bt0CPZWQdvLJJ2vKlCnq1auXCgsLAz2dKiMiIkIrVqzQqFGjJEmrV69W69atNWjQIELyMerfv79uuOEGDRgwQOvXr1e7du00efJkpaens6YICZGRkZo3b55cLpcGDx4c6OkAwCGRs+0gZzuDnG0fORuhjpxdtbFNRyXs3r1bJSUlSk5O9jmenJysnTt3BmhWVcPUqVN1ySWXqEePHkpLSwv0dEJahw4dlJycrFWrVqm4uFjFxcW64IILdP/996u4uFgREbztj8WOHTu0YcMGn2MbN25Uw4YNAzSj0Pevf/1L48eP1xtvvKEff/xR//3vfzVp0iSNHDky0FOrEsp+L/E7yxllAblRo0bq1asX3RrAcSJnO4ecbQ852xnkbPvI2c4jazuHnF318duyEoqLi7Vy5UqlpKR4j7lcLqWkpOjbb78N4MxC29SpU3XllVfqwgsv1LZt2wI9nZD32WefqXXr1mrXrp13fP/993r11VfVrl07ud3uQE8xJC1dulQtWrTwOda8eXP9+uuvAZpR6IuPjy/3eiwtLeV/5CxJTU3Vjh07fH5nJSUlqVOnTvzOOk5lAblZs2bq2bMn+68CFpCznUHOtouc7Qxytn3kbOeRtZ1Bzg4fAb+KYiiN/v37m/z8fHPTTTeZli1bmunTp5usrCxTt27dgM8tFMe0adPM3r17zfnnn2+Sk5O9IzY2NuBzq0qDq3wf/zj77LNNUVGRGTlypGnatKm5/vrrTU5OjhkwYEDA5xaqY9asWWb79u3m4osvNo0aNTJXXHGFyczMNOPHjw/43EJlJCQkmLZt25q2bdsaY4wZMmSIadu2rfdq08OHDzdZWVnm0ksvNa1btzbvvvuu+eWXX0xMTEzA5x7M43DrGhkZad577z3z22+/mTPPPNPnd1dUVFTA585ghPIgZ9sd5Gz/DHL28Q9ytv1BzrYzyNr+XVNydliNgE8g5MY999xjtm3bZgoKCsyyZcvMOeecE/A5heo4lIEDBwZ8blVpEJLtjH79+pm1a9ea/Px8s2HDBnP77bcHfE6hPBITE82kSZPMtm3bTF5envn555/NuHHjCBqVGN27d6/wZ+isWbO89xkzZozZsWOHyc/PN59++qlp1qxZwOcd7ONw69qoUaND/u7q3r17wOfOYIT6IGfbG+Rs/wxytp1BzrY7yNl2Blnbv2tKzg6f4frjPwAAAAAAAAAAcAwbBgEAAAAAAAAAHMfJaAAAAAAAAACA4zgZDQAAAAAAAABwHCejAQAAAAAAAACO42Q0AAAAAAAAAMBxnIwGAAAAAAAAADiOk9EAAAAAAAAAAMdxMhoAAAAAAAAA4DhORgMAAAAAAAAAHMfJaABBpXbt2vrPf/6jX3/9VQUFBdqxY4cWLlyoLl26WH2cJUuWaNKkSVZrOmXgwIHau3evz+fGGBljVFJSoqysLC1btkyPPPKIqlevHsCZAgAAIFiRs8sjZwOA/0UGegIA8Gdvv/22oqOjNXDgQG3dulXJyclKSUlRrVq1Aj21oLJ//361aNFCLpdLJ5xwgrp06aKRI0fqlltuUdeuXbVjx45ATxEAAABBhJx9dMjZAOA8w2AwGMEwatSoYYwx5vzzzz/i/WbOnGkyMzPN/v37zWeffWbOPPNM7+2jR482P/zwg7nxxhtNamqq2bdvn5k7d65JTEw0ksysWbPMXzVq1MhIMq1atTIfffSRyc7ONjt37jQvv/yyqVWrlrf2kiVLzJQpU8yECRPMnj17zI4dO8zo0aPLzW/69Olm586dJj8/36xbt87069fPe3vXrl3Nl19+afLy8sxvv/1mpkyZYuLj4w/5fAcOHGj27t17yM/LRp06dUxmZqZ55ZVXAv69ZDAYDAaDwWAEzyBnV/x8ydkMBoPh/8E2HQCCRk5OjrKzs3XFFVcoOjr6kPd78803VbduXfXt21cdOnTQqlWr9Nlnn6lmzZre+zRt2lRXXHGFLrnkEl1yySXq3r27HnzwQUnSAw88oG+++UYzZsxQvXr1VK9ePW3fvl01atTQ//73P/3www86++yz1adPHyUnJ2vevHk+jz9w4EDl5uaqU6dOGj58uB599FH17NlTkuRyufTxxx+ra9euuvHGG3XGGWfowQcfVGlpqSSpSZMmWrhwod5++22deeaZuvbaa9WtWzc9++yzx71+u3bt0quvvqrLLrtMERH8eAcAAIAHOfv4kLMBwK6AnxFnMBiMsnHVVVeZPXv2mLy8PPP111+bJ554wrRp08Z7e9euXc2+fftMdHS0z9dt2bLF3HHHHUbydGzk5OR4OzQkmQkTJphvv/3W+/mSJUvMpEmTfGqMGjXKLFy40OfYSSedZIwxplmzZt6v+/LLL33us3z5cvPUU08ZSaZXr16mpKTEe/+/jpkzZ5rp06f7HOvataspKSkxMTExFX7N0XZsSDJ33XWXMcaYOnXqBPx7yWAwGAwGg8EInkHOLv815GwGg8Hw/+Cf9AAElXfeeUcNGjTQZZddpoULF+qCCy7QqlWrNHDgQElS27ZtlZiYqD179ig7O9s7GjdurKZNm3rrbNu2TTk5Od7Pd+zYobp16x72sdu2basePXr41N20aZMk+dReu3atz9f9//bu75XdN47j+OtuSbFStOxAbX4VShQlHHDgVw6k5ogT/gQnHKtNrXbCcqAV7Wg5UJMTNCdT5GQHlBKrDWUOlKHkR9vn4Fv6yOfL/LhLej6O1n3tfl91Hb17dd3X9XftxsZGnZ2d6ejo6H/nGB0dfTHH+vq6LBaLysvLP7BS/2YYhiQpm81+uRYAAAB+D/rsr6HPBoDvwQWGAH6c+/t7RSIRRSIRud1uBQIBTU1NKRgMymq16vz8XJ2dna/eu7q6ev79+Pj4Yiybzb77SZ3VatXq6qomJydfjf19Uclbte/u7t6dY35+XrOzs6/GTk5O3nw3F7W1tUqn07q8vPxyLQAAAPwu9NmfR58NAN+DMBrAj3dwcKDBwUFJUiwWk91u19PTk5LJ5KdrPjw8yGKxvHgWi8XkcrmUSCSez577qL29PZWVlam6uvqfuzZisZjq6uoUj8c/Vf8tNptNw8PDCofD7NgAAADAu+izc0OfDQDfh2M6APwYxcXF2tzc1MjIiOrr6+V0OjU0NKSJiQmtrKxIkiKRiHZ2dhQOh9Xd3S2Hw6HW1la53W41NTXlPFcikVBLS4scDodKSkpkGIbm5uZUXFysUCik5uZmVVRUqKenRwsLCzlfVBKNRhWNRrW8vKyuri45nU719fWpt7dXkuT1etXW1ia/36+GhgZVVVVpYGBAfr//Q2tlGIZKS0tlt9tVU1OjsbExbW9vK51OP18gAwAAAEj02R9Bnw0A5mJnNIAf4/b2Vru7uxofH1dlZaXy8vJ0enqqQCCg6enp5//19/fL4/FocXFRNptNqVRK0WhUFxcXOc/l8/kUDAZ1cHCggoICOZ1OJZNJtbe3y+v1amNjQ/n5+Uomk1pbW1Mmk8m5tsvlks/nUygUUmFhoY6Pj58b1/39fXV0dMjj8Whra0uGYSgej2tpaSn3hZJUVFSkVCqlTCaj6+trHR4eKhgMamZmRjc3Nx+qBQAAgN+NPjt39NkAYC5D/91kCAAAAAAAAACAaTimAwAAAAAAAABgOsJoAAAAAAAAAIDpCKMBAAAAAAAAAKYjjAYAAAAAAAAAmI4wGgAAAAAAAABgOsJoAAAAAAAAAIDpCKMBAAAAAAAAAKYjjAYAAAAAAAAAmI4wGgAAAAAAAABgOsJoAAAAAAAAAIDpCKMBAAAAAAAAAKYjjAYAAAAAAAAAmO4PIi8ngq9Sp/EAAAAASUVORK5CYII=" }, "metadata": {}, "output_type": "display_data", "jetTransient": { "display_id": null } } ], "execution_count": 6 }, { "cell_type": "markdown", "id": "f0fc7b35", "metadata": {}, "source": [ "Key observations:\n", "- Direct similarity catches exact copies but misses paraphrases\n", "- Semantic similarity identifies meaning-based relationships\n", "- Notice how sentences 0-2 (direct copies) are highly similar in both matrices\n", "- Sentences 3-4 (paraphrases) show higher semantic similarity" ] }, { "cell_type": "code", "id": "98f16f7d", "metadata": { "ExecuteTime": { "end_time": "2025-12-14T01:12:51.977965137Z", "start_time": "2025-12-14T01:12:51.931400526Z" } }, "source": [], "outputs": [], "execution_count": 6 } ], "metadata": { "kernelspec": { "display_name": ".venv", "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.13.7" } }, "nbformat": 4, "nbformat_minor": 5 }