{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "8217aab9-32bf-4b68-b068-be79ce5c1bd3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'/home/nithin/data2/nithin/anaconda3/bin/python'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import sys\n", "sys.executable" ] }, { "cell_type": "code", "execution_count": 2, "id": "65e54978-601d-481f-a4ec-3604a25e1bd7", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import os" ] }, { "cell_type": "code", "execution_count": 3, "id": "7b55f057-0f69-43a8-9585-c745c77be8d4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \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", " \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", "
Destination PortFlow DurationTotal Fwd PacketsTotal Backward PacketsTotal Length of Fwd PacketsTotal Length of Bwd PacketsFwd Packet Length MaxFwd Packet Length MinFwd Packet Length MeanFwd Packet Length Std...min_seg_size_forwardActive MeanActive StdActive MaxActive MinIdle MeanIdle StdIdle MaxIdle MinLabel
080688555791061038115953460103.800000167.133879...32998.00000.00009989986.830000e+070.00006830000068300000DoS Hulk
1531962270174353535.0000000.000000...320.00000.0000000.000000e+000.000000BENIGN
2123118229696484848.0000000.000000...200.00000.0000000.000000e+000.000000BENIGN
38029565771011141584110840159.142857407.829796...200.00000.0000000.000000e+000.000000BENIGN
4801570535175407452377058.142857140.620563...20360718.00000.00003607183607189.767208e+060.000097672089767208BENIGN
..................................................................
178335141272986897828511595327579201449.3750002046.673464...3213859.00000.000013859138599.860000e+070.00009860000098600000BENIGN
17833524439095678363771041135313373016.52381068.018939...32198255.7778362537.34861165022772919.908053e+06290822.6482100000009132848BENIGN
178335344312418133300000.0000000.000000...280.00000.0000000.000000e+000.000000BENIGN
178335453715092278330393939.0000000.000000...320.00000.0000000.000000e+000.000000BENIGN
1783355430621672000000.0000000.000000...200.00000.0000000.000000e+000.000000BENIGN
\n", "

1782497 rows × 79 columns

\n", "
" ], "text/plain": [ " Destination Port Flow Duration Total Fwd Packets \\\n", "0 80 68855579 10 \n", "1 53 196 2 \n", "2 123 118 2 \n", "3 80 295657 7 \n", "4 80 15705351 7 \n", "... ... ... ... \n", "1783351 41272 98689782 8 \n", "1783352 443 90956783 63 \n", "1783353 443 1241813 3 \n", "1783354 53 71509 2 \n", "1783355 4306 2167 2 \n", "\n", " Total Backward Packets Total Length of Fwd Packets \\\n", "0 6 1038 \n", "1 2 70 \n", "2 2 96 \n", "3 10 1114 \n", "4 5 407 \n", "... ... ... \n", "1783351 5 11595 \n", "1783352 77 1041 \n", "1783353 3 0 \n", "1783354 2 78 \n", "1783355 0 0 \n", "\n", " Total Length of Bwd Packets Fwd Packet Length Max \\\n", "0 11595 346 \n", "1 174 35 \n", "2 96 48 \n", "3 15841 1084 \n", "4 452 377 \n", "... ... ... \n", "1783351 327 5792 \n", "1783352 135313 373 \n", "1783353 0 0 \n", "1783354 330 39 \n", "1783355 0 0 \n", "\n", " Fwd Packet Length Min Fwd Packet Length Mean \\\n", "0 0 103.800000 \n", "1 35 35.000000 \n", "2 48 48.000000 \n", "3 0 159.142857 \n", "4 0 58.142857 \n", "... ... ... \n", "1783351 0 1449.375000 \n", "1783352 0 16.523810 \n", "1783353 0 0.000000 \n", "1783354 39 39.000000 \n", "1783355 0 0.000000 \n", "\n", " Fwd Packet Length Std ... min_seg_size_forward Active Mean \\\n", "0 167.133879 ... 32 998.0000 \n", "1 0.000000 ... 32 0.0000 \n", "2 0.000000 ... 20 0.0000 \n", "3 407.829796 ... 20 0.0000 \n", "4 140.620563 ... 20 360718.0000 \n", "... ... ... ... ... \n", "1783351 2046.673464 ... 32 13859.0000 \n", "1783352 68.018939 ... 32 198255.7778 \n", "1783353 0.000000 ... 28 0.0000 \n", "1783354 0.000000 ... 32 0.0000 \n", "1783355 0.000000 ... 20 0.0000 \n", "\n", " Active Std Active Max Active Min Idle Mean Idle Std \\\n", "0 0.0000 998 998 6.830000e+07 0.0000 \n", "1 0.0000 0 0 0.000000e+00 0.0000 \n", "2 0.0000 0 0 0.000000e+00 0.0000 \n", "3 0.0000 0 0 0.000000e+00 0.0000 \n", "4 0.0000 360718 360718 9.767208e+06 0.0000 \n", "... ... ... ... ... ... \n", "1783351 0.0000 13859 13859 9.860000e+07 0.0000 \n", "1783352 362537.3486 1165022 77291 9.908053e+06 290822.6482 \n", "1783353 0.0000 0 0 0.000000e+00 0.0000 \n", "1783354 0.0000 0 0 0.000000e+00 0.0000 \n", "1783355 0.0000 0 0 0.000000e+00 0.0000 \n", "\n", " Idle Max Idle Min Label \n", "0 68300000 68300000 DoS Hulk \n", "1 0 0 BENIGN \n", "2 0 0 BENIGN \n", "3 0 0 BENIGN \n", "4 9767208 9767208 BENIGN \n", "... ... ... ... \n", "1783351 98600000 98600000 BENIGN \n", "1783352 10000000 9132848 BENIGN \n", "1783353 0 0 BENIGN \n", "1783354 0 0 BENIGN \n", "1783355 0 0 BENIGN \n", "\n", "[1782497 rows x 79 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv('Train_ULAK.csv').dropna()\n", "df" ] }, { "cell_type": "code", "execution_count": 4, "id": "1c75fd19-d93d-47fb-b029-38cbb254ce14", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: scikit-learn in /mnt/fdbd0f14-dc7f-4c3c-85a2-7e247245789d/nithin/nithin/anaconda3/lib/python3.10/site-packages (1.2.1)\n", "Requirement already satisfied: scipy>=1.3.2 in /mnt/fdbd0f14-dc7f-4c3c-85a2-7e247245789d/nithin/nithin/anaconda3/lib/python3.10/site-packages (from scikit-learn) (1.11.1)\n", "Requirement already satisfied: numpy>=1.17.3 in /mnt/fdbd0f14-dc7f-4c3c-85a2-7e247245789d/nithin/nithin/anaconda3/lib/python3.10/site-packages (from scikit-learn) (1.22.3)\n", "Requirement already satisfied: threadpoolctl>=2.0.0 in /home/nithin/.local/lib/python3.10/site-packages (from scikit-learn) (3.2.0)\n", "Requirement already satisfied: joblib>=1.1.1 in /home/nithin/.local/lib/python3.10/site-packages (from scikit-learn) (1.3.1)\n" ] } ], "source": [ "!pip install scikit-learn" ] }, { "cell_type": "code", "execution_count": 8, "id": "d7303139-e150-4560-ac5c-97997230fe2c", "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import numpy as np\n", "from sklearn.ensemble import RandomForestClassifier\n", "from sklearn.model_selection import train_test_split\n", "from sklearn.metrics import accuracy_score\n", "from sklearn.impute import SimpleImputer\n", "import torch\n", "\n", "my_imputer = SimpleImputer(strategy='mean')\n", "\n", "def cleanNums(df):\n", " # Replace inf and -inf with NaN\n", " df.loc[:, :] = df.replace([np.inf, -np.inf], np.nan)\n", " \n", " # Impute NaN values for numeric columns\n", " numeric_cols = df.select_dtypes(include=[np.number]).columns\n", " my_imputer.fit(df[numeric_cols])\n", " df.loc[:,numeric_cols] = my_imputer.transform(df[numeric_cols])\n", " \n", " # Check if all NaNs are filled\n", " if df.isnull().sum().sum() > 0:\n", " raise ValueError(\"DataFrame still contains NaN values after imputation.\")\n", "\n", " return df\n", "\n", "class RandomForestWrapper:\n", " def __init__(self, label_col, feature_cols=None, n_estimators=10, random_state=42, make_binary_on=None):\n", " self.label_col = label_col\n", " self.feature_cols = feature_cols\n", " self.n_estimators = n_estimators\n", " self.random_state = random_state\n", " self.model = RandomForestClassifier(n_estimators=self.n_estimators, random_state=self.random_state)\n", " self.make_binary_on = make_binary_on\n", " self.fitted = False\n", "\n", " @property\n", " def is_fitted(self):\n", " return self.fitted\n", "\n", " \n", " def preprocess(self, df):\n", " df = cleanNums(df)\n", " \n", " # Extract feature and label data\n", " X = df.drop(columns=[self.label_col])\n", " y = df[self.label_col]\n", " \n", " # If feature_cols is specified, use only those columns\n", " if self.feature_cols:\n", " X = X[self.feature_cols]\n", "\n", " # If there is a label column on which to turn this binary\n", " if self.make_binary_on:\n", " print(\"Making binary on:\", self.make_binary_on)\n", " y = df[' Label'] == self.make_binary_on\n", " \n", " return X, y\n", "\n", " def train(self, train_df):\n", " X_train, y_train = self.preprocess(train_df)\n", " print(\"X:\", X_train.shape, \",Y:\", y_train.shape)\n", " self.model.fit(X_train, y_train)\n", " self.fitted = True\n", "\n", " def predict(self, X):\n", " return self.model.predict(X[self.feature_cols])\n", " \n", " def test(self, test_df):\n", " X_test, y_test = self.preprocess(test_df)\n", " y_pred = self.model.predict(X_test)\n", " \n", " accuracy = accuracy_score(y_test, y_pred)\n", " \n", " return accuracy" ] }, { "cell_type": "code", "execution_count": 6, "id": "645b11d8-fcc8-42aa-b583-ce9cf5064400", "metadata": {}, "outputs": [], "source": [ "class SpecializedRandomForestManager:\n", " def __init__(self):\n", " self.label_col = ' Label'\n", " # Create individual random forest classifiers for each label\n", " self.classifiers = {}\n", " \n", " # Define the feature columns for each attack category\n", " self.category_columns = {\n", " 'BENIGN':[' Flow Duration', ' Fwd IAT Max'],\n", " 'DoS Hulk':[' Fwd Packet Length Max', ' Flow Packets/s'],\n", " 'DDoS':[' Flow Packets/s', ' Total Fwd Packets'],\n", " 'PortScan': [' Destination Port', ' Fwd IAT Max'],\n", " 'DoS GoldenEye': ['Fwd Packets/s', 'Bwd Packet Length Max'],\n", " 'FTP-Patator': [' Fwd Packet Length Mean'],\n", " 'DoS slowloris': [' Fwd IAT Max', ' Fwd IAT Mean'],\n", " 'DoS Slowhttptest': [' Destination Port', ' Fwd IAT Mean'],\n", " 'SSH-Patator': [' Fwd Packet Length Mean', ' Flow Packets/s'],\n", " 'Web Attack � XSS': [' Fwd Packet Length Max'],\n", " 'Web Attack � Brute Force': [' Fwd Packet Length Mean'],\n", " 'Web Attack � Sql Injection': [' Fwd Packet Length Std']\n", " }\n", "\n", " self.category_order = ['Web Attack � Sql Injection','Web Attack � XSS', 'DoS slowloris','DoS GoldenEye', 'DoS Slowhttptest',\n", " 'Web Attack � Brute Force','PortScan','SSH-Patator','FTP-Patator','DoS Hulk','DDoS','BENIGN']\n", " \n", " # Initialize specialized classifiers\n", " for category, feature_cols in self.category_columns.items():\n", " self.classifiers[category] = RandomForestWrapper(label_col=self.label_col, feature_cols=feature_cols, make_binary_on=category)\n", " # final clasifier to take the other classifiers and pick the best label\n", " self.final_classifier = RandomForestWrapper(label_col=self.label_col, feature_cols=self.category_order)\n", "\n", " def preprocess(self, df):\n", " df = cleanNums(df)\n", " \n", " # Extract feature and label data\n", " X = df.drop(columns=[self.label_col])\n", " y = df[self.label_col]\n", "\n", " return X, y\n", " \n", " def filter_df(self, df, label):\n", " if label in ['BENIGN', 'Web Attack � Brute Force', 'Web Attack � Sql Injection', 'Web Attack � XSS']:\n", " return df[df[' Destination Port'].isin([80, 443])]\n", " elif label == 'SSH-Patator':\n", " return df[df[' Destination Port'] == 22]\n", " elif label == 'FTP-Patator':\n", " return df[df[' Destination Port'] == 21]\n", "\n", " return df\n", " \n", " def filter_pred(self, df, label):\n", " if label in ['BENIGN', 'Web Attack � Brute Force', 'Web Attack � Sql Injection', 'Web Attack � XSS']:\n", " return df[' Destination Port'] in [80, 443]\n", " elif label == 'SSH-Patator':\n", " return df[' Destination Port'] == 22\n", " elif label == 'FTP-Patator':\n", " return df[' Destination Port'] == 21\n", "\n", " return True\n", " \n", " def train(self, df):\n", " X, y = self.preprocess(df)\n", " cols = []\n", " for label in self.category_order:\n", " clf = self.classifiers[label]\n", " # Pre-filter the DataFrame based on the label and destination port conditions\n", " filtered_df = self.filter_df(df, label)\n", "\n", " print(\"Label:\", label)\n", " # If the DataFrame is empty after filtering, skip this iteration\n", " if filtered_df.empty:\n", " continue\n", " print(\"filtered_df.shape\", filtered_df.shape)\n", " \n", " # Train the classifier on the filtered DataFrame\n", " clf.train(filtered_df)\n", "\n", " # for use for the final classifier\n", " y_pred = clf.predict(X)\n", " cols.append(pd.Series(y_pred, name=label))\n", "\n", " # train the final classifier\n", " X_fin = pd.concat(cols,axis=1)\n", " print(\"Feed of final classifier\",X_fin)\n", " self.final_classifier.model.fit(X_fin, y)\n", " \n", " \n", " def predict(self, X):\n", " accuracies = {}\n", " cols = []\n", " for label in self.category_order:\n", " clf = self.classifiers[label]\n", " if clf.is_fitted : # skip the rest if this model had no data to train\n", " # Pre-filter the DataFrame based on the label and destination port conditions\n", " filtered_df = self.filter_df(X, label)\n", " \n", " print(\"Label:\", label)\n", " # If the DataFrame is empty after filtering, skip this iteration\n", " if filtered_df.empty:\n", " continue\n", " \n", " print(\"filtered_df.shape\", filtered_df.shape)\n", " \n", " # for use for the final classifier\n", " y_pred = clf.predict(X)\n", " cols.append(pd.Series(y_pred, name=label))\n", "\n", " # train the final classifier\n", " X_fin = pd.concat(cols,axis=1)\n", " print(\"Feed of final classifier\",X_fin)\n", " y_pred = self.final_classifier.model.predict(X_fin)\n", "\n", " return y_pred\n", " \n", " \n", " def test(self, df):\n", " X, y = self.preprocess(df)\n", " accuracies = {}\n", " cols = []\n", " for label in self.category_order:\n", " clf = self.classifiers[label]\n", " if clf.is_fitted : # skip the rest if this model had no data to train\n", " # Pre-filter the DataFrame based on the label and destination port conditions\n", " filtered_df = self.filter_df(df, label)\n", " \n", " print(\"Label:\", label)\n", " # If the DataFrame is empty after filtering, skip this iteration\n", " if filtered_df.empty:\n", " continue\n", " \n", " print(\"filtered_df.shape\", filtered_df.shape)\n", " \n", " # Test the classifier on the filtered DataFrame\n", " accuracies[label] = clf.test(filtered_df)\n", " \n", " # for use for the final classifier\n", " y_pred = clf.predict(X)\n", " cols.append(pd.Series(y_pred, name=label))\n", "\n", " # train the final classifier\n", " X_fin = pd.concat(cols,axis=1)\n", " print(\"Feed of final classifier\",X_fin)\n", " y_pred = self.final_classifier.model.predict(X_fin)\n", " accuracies[\"Final\"] = accuracy_score(y,y_pred)\n", "\n", " return accuracies\n", "\n" ] }, { "cell_type": "code", "execution_count": 10, "id": "1b081ed2-b6ce-44c6-8f50-3d8ab74fcc91", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "( Destination Port Flow Duration Total Fwd Packets \\\n", " 0 80 68855579 10 \n", " 1 53 196 2 \n", " 2 123 118 2 \n", " 3 80 295657 7 \n", " 4 80 15705351 7 \n", " ... ... ... ... \n", " 1783351 41272 98689782 8 \n", " 1783352 443 90956783 63 \n", " 1783353 443 1241813 3 \n", " 1783354 53 71509 2 \n", " 1783355 4306 2167 2 \n", " \n", " Total Backward Packets Total Length of Fwd Packets \\\n", " 0 6 1038 \n", " 1 2 70 \n", " 2 2 96 \n", " 3 10 1114 \n", " 4 5 407 \n", " ... ... ... \n", " 1783351 5 11595 \n", " 1783352 77 1041 \n", " 1783353 3 0 \n", " 1783354 2 78 \n", " 1783355 0 0 \n", " \n", " Total Length of Bwd Packets Fwd Packet Length Max \\\n", " 0 11595 346 \n", " 1 174 35 \n", " 2 96 48 \n", " 3 15841 1084 \n", " 4 452 377 \n", " ... ... ... \n", " 1783351 327 5792 \n", " 1783352 135313 373 \n", " 1783353 0 0 \n", " 1783354 330 39 \n", " 1783355 0 0 \n", " \n", " Fwd Packet Length Min Fwd Packet Length Mean \\\n", " 0 0 103.800000 \n", " 1 35 35.000000 \n", " 2 48 48.000000 \n", " 3 0 159.142857 \n", " 4 0 58.142857 \n", " ... ... ... \n", " 1783351 0 1449.375000 \n", " 1783352 0 16.523810 \n", " 1783353 0 0.000000 \n", " 1783354 39 39.000000 \n", " 1783355 0 0.000000 \n", " \n", " Fwd Packet Length Std ... min_seg_size_forward Active Mean \\\n", " 0 167.133879 ... 32 998.0000 \n", " 1 0.000000 ... 32 0.0000 \n", " 2 0.000000 ... 20 0.0000 \n", " 3 407.829796 ... 20 0.0000 \n", " 4 140.620563 ... 20 360718.0000 \n", " ... ... ... ... ... \n", " 1783351 2046.673464 ... 32 13859.0000 \n", " 1783352 68.018939 ... 32 198255.7778 \n", " 1783353 0.000000 ... 28 0.0000 \n", " 1783354 0.000000 ... 32 0.0000 \n", " 1783355 0.000000 ... 20 0.0000 \n", " \n", " Active Std Active Max Active Min Idle Mean Idle Std \\\n", " 0 0.0000 998 998 6.830000e+07 0.0000 \n", " 1 0.0000 0 0 0.000000e+00 0.0000 \n", " 2 0.0000 0 0 0.000000e+00 0.0000 \n", " 3 0.0000 0 0 0.000000e+00 0.0000 \n", " 4 0.0000 360718 360718 9.767208e+06 0.0000 \n", " ... ... ... ... ... ... \n", " 1783351 0.0000 13859 13859 9.860000e+07 0.0000 \n", " 1783352 362537.3486 1165022 77291 9.908053e+06 290822.6482 \n", " 1783353 0.0000 0 0 0.000000e+00 0.0000 \n", " 1783354 0.0000 0 0 0.000000e+00 0.0000 \n", " 1783355 0.0000 0 0 0.000000e+00 0.0000 \n", " \n", " Idle Max Idle Min Label \n", " 0 68300000 68300000 DoS Hulk \n", " 1 0 0 BENIGN \n", " 2 0 0 BENIGN \n", " 3 0 0 BENIGN \n", " 4 9767208 9767208 BENIGN \n", " ... ... ... ... \n", " 1783351 98600000 98600000 BENIGN \n", " 1783352 10000000 9132848 BENIGN \n", " 1783353 0 0 BENIGN \n", " 1783354 0 0 BENIGN \n", " 1783355 0 0 BENIGN \n", " \n", " [1782497 rows x 79 columns],\n", " Destination Port Flow Duration Total Fwd Packets \\\n", " 0 80 998 2 \n", " 1 80 63111103 7 \n", " 2 53 202 2 \n", " 3 80 3 2 \n", " 4 7200 37 1 \n", " ... ... ... ... \n", " 512072 80 1 2 \n", " 512073 80 118684850 19 \n", " 512074 80 98479702 6 \n", " 512075 80 100826869 9 \n", " 512076 53 113214188 3 \n", " \n", " Total Backward Packets Total Length of Fwd Packets \\\n", " 0 0 0 \n", " 1 0 0 \n", " 2 2 98 \n", " 3 0 0 \n", " 4 1 0 \n", " ... ... ... \n", " 512072 0 0 \n", " 512073 16 1395 \n", " 512074 7 413 \n", " 512075 7 660 \n", " 512076 3 202 \n", " \n", " Total Length of Bwd Packets Fwd Packet Length Max \\\n", " 0 0 0 \n", " 1 0 0 \n", " 2 130 49 \n", " 3 0 0 \n", " 4 6 0 \n", " ... ... ... \n", " 512072 0 0 \n", " 512073 2394 435 \n", " 512074 11595 395 \n", " 512075 11595 327 \n", " 512076 416 90 \n", " \n", " Fwd Packet Length Min Fwd Packet Length Mean \\\n", " 0 0 0.000000 \n", " 1 0 0.000000 \n", " 2 49 49.000000 \n", " 3 0 0.000000 \n", " 4 0 0.000000 \n", " ... ... ... \n", " 512072 0 0.000000 \n", " 512073 0 73.421053 \n", " 512074 0 68.833333 \n", " 512075 0 73.333333 \n", " 512076 53 67.333333 \n", " \n", " Fwd Packet Length Std ... min_seg_size_forward Active Mean \\\n", " 0 0.000000 ... 32 0.000000e+00 \n", " 1 0.000000 ... 40 7.015565e+06 \n", " 2 0.000000 ... 20 0.000000e+00 \n", " 3 0.000000 ... 32 0.000000e+00 \n", " 4 0.000000 ... 40 0.000000e+00 \n", " ... ... ... ... ... \n", " 512072 0.000000 ... 32 0.000000e+00 \n", " 512073 160.864441 ... 20 2.599489e+05 \n", " 512074 159.815414 ... 20 2.101100e+04 \n", " 512075 143.828891 ... 20 1.000000e+03 \n", " 512076 19.857828 ... 20 7.997160e+05 \n", " \n", " Active Std Active Max Active Min Idle Mean Idle Std \\\n", " 0 0.0000 0 0 0.000000e+00 0.000000e+00 \n", " 1 0.0000 7015565 7015565 1.870000e+07 1.220000e+07 \n", " 2 0.0000 0 0 0.000000e+00 0.000000e+00 \n", " 3 0.0000 0 0 0.000000e+00 0.000000e+00 \n", " 4 0.0000 0 0 0.000000e+00 0.000000e+00 \n", " ... ... ... ... ... ... \n", " 512072 0.0000 0 0 0.000000e+00 0.000000e+00 \n", " 512073 799189.0263 2797123 23479 9.628481e+06 1.279194e+06 \n", " 512074 0.0000 21011 21011 9.850000e+07 0.000000e+00 \n", " 512075 0.0000 1000 1000 9.950000e+07 0.000000e+00 \n", " 512076 0.0000 799716 799716 1.120000e+08 0.000000e+00 \n", " \n", " Idle Max Idle Min Label \n", " 0 0 0 DoS Hulk \n", " 1 32100000 8015910 DoS Slowhttptest \n", " 2 0 0 BENIGN \n", " 3 0 0 DoS Hulk \n", " 4 0 0 PortScan \n", " ... ... ... ... \n", " 512072 0 0 DoS Hulk \n", " 512073 10000000 5566814 BENIGN \n", " 512074 98500000 98500000 DoS Hulk \n", " 512075 99500000 99500000 DoS Hulk \n", " 512076 112000000 112000000 BENIGN \n", " \n", " [511828 rows x 79 columns])" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "train_df = df\n", "test_df = pd.read_csv('Test_ULAK.csv').dropna()\n", "train_df, test_df" ] }, { "cell_type": "code", "execution_count": 8, "id": "20c01636-06ab-4026-882e-71350bdc40a6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Label: Web Attack � Sql Injection\n", "filtered_df.shape (708159, 79)\n", "Making binary on: Web Attack � Sql Injection\n", "X: (708159, 1) ,Y: (708159,)\n", "Label: Web Attack � XSS\n", "filtered_df.shape (708159, 79)\n", "Making binary on: Web Attack � XSS\n", "X: (708159, 1) ,Y: (708159,)\n", "Label: DoS slowloris\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: DoS slowloris\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: DoS GoldenEye\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: DoS GoldenEye\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: DoS Slowhttptest\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (708159, 79)\n", "Making binary on: Web Attack � Brute Force\n", "X: (708159, 1) ,Y: (708159,)\n", "Label: PortScan\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: PortScan\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: SSH-Patator\n", "filtered_df.shape (10661, 79)\n", "Making binary on: SSH-Patator\n", "X: (10661, 2) ,Y: (10661,)\n", "Label: FTP-Patator\n", "filtered_df.shape (8536, 79)\n", "Making binary on: FTP-Patator\n", "X: (8536, 1) ,Y: (8536,)\n", "Label: DoS Hulk\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: DoS Hulk\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: DDoS\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: DDoS\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: BENIGN\n", "filtered_df.shape (708159, 79)\n", "Making binary on: BENIGN\n", "X: (708159, 2) ,Y: (708159,)\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "1782492 False False False \n", "1782493 False False False \n", "1782494 False False False \n", "1782495 False False False \n", "1782496 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False False False False \n", "2 False False False False \n", "3 False False False False \n", "4 False False False False \n", "... ... ... ... ... \n", "1782492 False False False False \n", "1782493 False False False False \n", "1782494 False False False False \n", "1782495 False False False False \n", "1782496 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 True False True False False \n", "1 False False False False True \n", "2 False False False False True \n", "3 False False False False True \n", "4 False False False False True \n", "... ... ... ... ... ... \n", "1782492 True False False False False \n", "1782493 False True False False True \n", "1782494 True False False False True \n", "1782495 False False False False True \n", "1782496 False False False False True \n", "\n", "[1782497 rows x 12 columns]\n", "Label: Web Attack � Sql Injection\n", "filtered_df.shape (202991, 79)\n", "Making binary on: Web Attack � Sql Injection\n", "Label: Web Attack � XSS\n", "filtered_df.shape (202991, 79)\n", "Making binary on: Web Attack � XSS\n", "Label: DoS slowloris\n", "filtered_df.shape (511828, 79)\n", "Making binary on: DoS slowloris\n", "Label: DoS GoldenEye\n", "filtered_df.shape (511828, 79)\n", "Making binary on: DoS GoldenEye\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (511828, 79)\n", "Making binary on: DoS Slowhttptest\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (202991, 79)\n", "Making binary on: Web Attack � Brute Force\n", "Label: PortScan\n", "filtered_df.shape (511828, 79)\n", "Making binary on: PortScan\n", "Label: SSH-Patator\n", "filtered_df.shape (3106, 79)\n", "Making binary on: SSH-Patator\n", "Label: FTP-Patator\n", "filtered_df.shape (2439, 79)\n", "Making binary on: FTP-Patator\n", "Label: DoS Hulk\n", "filtered_df.shape (511828, 79)\n", "Making binary on: DoS Hulk\n", "Label: DDoS\n", "filtered_df.shape (511828, 79)\n", "Making binary on: DDoS\n", "Label: BENIGN\n", "filtered_df.shape (202991, 79)\n", "Making binary on: BENIGN\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "511823 False False False \n", "511824 False False False \n", "511825 False False False \n", "511826 False False False \n", "511827 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False True False False \n", "2 False False False False \n", "3 False False False False \n", "4 False False False True \n", "... ... ... ... ... \n", "511823 False False False False \n", "511824 False False False False \n", "511825 False False False False \n", "511826 False False False False \n", "511827 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 True False True False False \n", "1 True False False False False \n", "2 False False False False True \n", "3 False False False False False \n", "4 True False False False True \n", "... ... ... ... ... ... \n", "511823 False False True False False \n", "511824 True False False False True \n", "511825 True False True False False \n", "511826 True False True False False \n", "511827 True False False False True \n", "\n", "[511828 rows x 12 columns]\n", "Accuracy for Web Attack � Sql Injection: 0.9999753683660852\n", "Accuracy for Web Attack � XSS: 0.9994236197663936\n", "Accuracy for DoS slowloris: 0.9993181303094009\n", "Accuracy for DoS GoldenEye: 0.9991325210813008\n", "Accuracy for DoS Slowhttptest: 0.9988531303484764\n", "Accuracy for Web Attack � Brute Force: 0.9987142287096472\n", "Accuracy for PortScan: 0.998054033776972\n", "Accuracy for SSH-Patator: 0.9858338699291693\n", "Accuracy for FTP-Patator: 0.980729807298073\n", "Accuracy for DoS Hulk: 0.9780766194893598\n", "Accuracy for DDoS: 0.9705233007963613\n", "Accuracy for BENIGN: 0.9532787167903995\n", "Accuracy for Final: 0.9546898567487515\n" ] } ], "source": [ "# Initialize the manager class\n", "manager = SpecializedRandomForestManager()\n", "\n", "# Train the specialized classifiers\n", "manager.train(train_df)\n", "\n", "# Test the specialized classifiers\n", "accuracies = manager.test(test_df)\n", "\n", "# Print the accuracies\n", "for label, acc in accuracies.items():\n", " print(f\"Accuracy for {label}: {acc}\")\n" ] }, { "cell_type": "code", "execution_count": 9, "id": "a10dfa70-2bae-4ebd-adf0-1ec0fcde7d56", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[(0.9999753683660852, 'Web Attack � Sql Injection'),\n", " (0.9994236197663936, 'Web Attack � XSS'),\n", " (0.9993181303094009, 'DoS slowloris'),\n", " (0.9991325210813008, 'DoS GoldenEye'),\n", " (0.9988531303484764, 'DoS Slowhttptest'),\n", " (0.9987142287096472, 'Web Attack � Brute Force'),\n", " (0.998054033776972, 'PortScan'),\n", " (0.9858338699291693, 'SSH-Patator'),\n", " (0.980729807298073, 'FTP-Patator'),\n", " (0.9780766194893598, 'DoS Hulk'),\n", " (0.9705233007963613, 'DDoS'),\n", " (0.9546898567487515, 'Final'),\n", " (0.9532787167903995, 'BENIGN')]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "score_rank = sorted( ((v,k) for k,v in accuracies.items()), reverse=True)\n", "score_rank" ] }, { "cell_type": "code", "execution_count": 10, "id": "ed089549-7f4d-48fe-bf64-f44cb84dd4d0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['Web Attack � Sql Injection',\n", " 'Web Attack � XSS',\n", " 'DoS slowloris',\n", " 'DoS GoldenEye',\n", " 'DoS Slowhttptest',\n", " 'Web Attack � Brute Force',\n", " 'PortScan',\n", " 'SSH-Patator',\n", " 'FTP-Patator',\n", " 'DoS Hulk',\n", " 'DDoS',\n", " 'Final',\n", " 'BENIGN']" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "[r[1] for r in score_rank]" ] }, { "cell_type": "markdown", "id": "bff2793f-4853-4f3a-b55c-590ac31e3895", "metadata": {}, "source": [ "## Create a single classifier out of the managed classifiers in the Random Forest Classifier Manager" ] }, { "cell_type": "code", "execution_count": 14, "id": "00d4d279-8348-4e2c-ad51-fd83c94c1a23", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from sklearn.base import BaseEstimator, ClassifierMixin\n", "from sklearn.utils.validation import check_X_y, check_array, check_is_fitted\n", "from sklearn.utils.multiclass import unique_labels\n", "\n", "class SpecialClassifierRoutedRandomForest(BaseEstimator, ClassifierMixin):\n", " def __init__(self,label_col=' Label'):\n", " self.manager = SpecializedRandomForestManager()\n", " self.label_col=label_col\n", " \n", " def fit(self, X, y):\n", " # Check that X and y have correct shape\n", " Xc, yc = check_X_y(X, y)\n", " # Store the classes seen during fit\n", " self.classes_ = unique_labels(y)\n", " self.X_ = X\n", " self.y_ = y\n", " print(\"Fit:\", X.shape,\"->\",y.shape)\n", " # train all the clasifiers being managed by the manager\n", " self.manager.train(pd.concat([X, y], axis=1))\n", " \n", " return self\n", " \n", " def predict(self, X):\n", " # Check if fit has been called\n", " check_is_fitted(self)\n", " # Input validation\n", " X_check = check_array(X)\n", " print(\"Predict:\", X.shape)\n", " return self.manager.predict(X)\n", " \n", " def train(self,df):\n", " cdf = cleanNums(df)\n", " X = cdf.drop(columns=[self.label_col])\n", " y = cdf[self.label_col]\n", " self.fit(X,y)\n", " return self\n", " \n", " def test(self,test_df):\n", " X_test = cleanNums(test_df.drop(columns=[self.label_col]))\n", " y_test = test_df[self.label_col]\n", " y_pred = self.predict(X_test)\n", " return y_test, y_pred\n", " " ] }, { "cell_type": "code", "execution_count": 15, "id": "1c1dca51-a4d9-4238-ba94-25202f019730", "metadata": {}, "outputs": [], "source": [ "clf = SpecialClassifierRoutedRandomForest()" ] }, { "cell_type": "code", "execution_count": 37, "id": "49e5863f-9722-47a1-8ffa-ef020025a0d4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " \n", "Fit: (1782497, 78) -> (1782497,)\n", "Label: Web Attack � Sql Injection\n", "filtered_df.shape (708159, 79)\n", "Making binary on: Web Attack � Sql Injection\n", "X: (708159, 1) ,Y: (708159,)\n", "Label: Web Attack � XSS\n", "filtered_df.shape (708159, 79)\n", "Making binary on: Web Attack � XSS\n", "X: (708159, 1) ,Y: (708159,)\n", "Label: DoS slowloris\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: DoS slowloris\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: DoS GoldenEye\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: DoS GoldenEye\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: DoS Slowhttptest\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (708159, 79)\n", "Making binary on: Web Attack � Brute Force\n", "X: (708159, 1) ,Y: (708159,)\n", "Label: PortScan\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: PortScan\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: SSH-Patator\n", "filtered_df.shape (10661, 79)\n", "Making binary on: SSH-Patator\n", "X: (10661, 2) ,Y: (10661,)\n", "Label: FTP-Patator\n", "filtered_df.shape (8536, 79)\n", "Making binary on: FTP-Patator\n", "X: (8536, 1) ,Y: (8536,)\n", "Label: DoS Hulk\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: DoS Hulk\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: DDoS\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: DDoS\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: BENIGN\n", "filtered_df.shape (708159, 79)\n", "Making binary on: BENIGN\n", "X: (708159, 2) ,Y: (708159,)\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "1782492 False False False \n", "1782493 False False False \n", "1782494 False False False \n", "1782495 False False False \n", "1782496 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False False False False \n", "2 False False False False \n", "3 False False False False \n", "4 False False False False \n", "... ... ... ... ... \n", "1782492 False False False False \n", "1782493 False False False False \n", "1782494 False False False False \n", "1782495 False False False False \n", "1782496 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 True False True False False \n", "1 False False False False True \n", "2 False False False False True \n", "3 False False False False True \n", "4 False False False False True \n", "... ... ... ... ... ... \n", "1782492 True False False False False \n", "1782493 False True False False True \n", "1782494 True False False False True \n", "1782495 False False False False True \n", "1782496 False False False False True \n", "\n", "[1782497 rows x 12 columns]\n" ] }, { "data": { "text/html": [ "
SpecialClassifierRoutedRandomForest()
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "SpecialClassifierRoutedRandomForest()" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "label_col = ' Label'\n", "# Extract feature and label data\n", "X = cleanNums(df.drop(columns=[label_col]))\n", "y = df[label_col]\n", "print(type(X), type(y))\n", "clf.fit(X,y)" ] }, { "cell_type": "code", "execution_count": 38, "id": "3a54897f-f51e-4da0-ae58-d9bc7faff764", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Predict: (511828, 78)\n", "Label: Web Attack � Sql Injection\n", "filtered_df.shape (202991, 78)\n", "Label: Web Attack � XSS\n", "filtered_df.shape (202991, 78)\n", "Label: DoS slowloris\n", "filtered_df.shape (511828, 78)\n", "Label: DoS GoldenEye\n", "filtered_df.shape (511828, 78)\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (511828, 78)\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (202991, 78)\n", "Label: PortScan\n", "filtered_df.shape (511828, 78)\n", "Label: SSH-Patator\n", "filtered_df.shape (3106, 78)\n", "Label: FTP-Patator\n", "filtered_df.shape (2439, 78)\n", "Label: DoS Hulk\n", "filtered_df.shape (511828, 78)\n", "Label: DDoS\n", "filtered_df.shape (511828, 78)\n", "Label: BENIGN\n", "filtered_df.shape (202991, 78)\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "511823 False False False \n", "511824 False False False \n", "511825 False False False \n", "511826 False False False \n", "511827 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False True False False \n", "2 False False False False \n", "3 False False False False \n", "4 False False False True \n", "... ... ... ... ... \n", "511823 False False False False \n", "511824 False False False False \n", "511825 False False False False \n", "511826 False False False False \n", "511827 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 True False True False False \n", "1 True False False False False \n", "2 False False False False True \n", "3 False False False False False \n", "4 True False False False True \n", "... ... ... ... ... ... \n", "511823 False False True False False \n", "511824 True False False False True \n", "511825 True False True False False \n", "511826 True False True False False \n", "511827 True False False False True \n", "\n", "[511828 rows x 12 columns]\n" ] }, { "data": { "text/plain": [ "0.9546898567487515" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Extract feature and label data\n", "X_test = cleanNums(test_df.drop(columns=[label_col]))\n", "y_test = test_df[label_col]\n", "y_pred = clf.predict(X_test)\n", "y_test, y_pred\n", "accuracy_score(y_test, y_pred)" ] }, { "cell_type": "code", "execution_count": 18, "id": "c8ac5bc5-0c0c-4a14-b0c6-32fc9d344f43", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fit: (1782497, 78) -> (1782497,)\n", "Label: Web Attack � Sql Injection\n", "filtered_df.shape (708159, 79)\n", "Making binary on: Web Attack � Sql Injection\n", "X: (708159, 1) ,Y: (708159,)\n", "Label: Web Attack � XSS\n", "filtered_df.shape (708159, 79)\n", "Making binary on: Web Attack � XSS\n", "X: (708159, 1) ,Y: (708159,)\n", "Label: DoS slowloris\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: DoS slowloris\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: DoS GoldenEye\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: DoS GoldenEye\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: DoS Slowhttptest\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (708159, 79)\n", "Making binary on: Web Attack � Brute Force\n", "X: (708159, 1) ,Y: (708159,)\n", "Label: PortScan\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: PortScan\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: SSH-Patator\n", "filtered_df.shape (10661, 79)\n", "Making binary on: SSH-Patator\n", "X: (10661, 2) ,Y: (10661,)\n", "Label: FTP-Patator\n", "filtered_df.shape (8536, 79)\n", "Making binary on: FTP-Patator\n", "X: (8536, 1) ,Y: (8536,)\n", "Label: DoS Hulk\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: DoS Hulk\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: DDoS\n", "filtered_df.shape (1782497, 79)\n", "Making binary on: DDoS\n", "X: (1782497, 2) ,Y: (1782497,)\n", "Label: BENIGN\n", "filtered_df.shape (708159, 79)\n", "Making binary on: BENIGN\n", "X: (708159, 2) ,Y: (708159,)\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "1782492 False False False \n", "1782493 False False False \n", "1782494 False False False \n", "1782495 False False False \n", "1782496 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False False False False \n", "2 False False False False \n", "3 False False False False \n", "4 False False False False \n", "... ... ... ... ... \n", "1782492 False False False False \n", "1782493 False False False False \n", "1782494 False False False False \n", "1782495 False False False False \n", "1782496 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 True False True False False \n", "1 False False False False True \n", "2 False False False False True \n", "3 False False False False True \n", "4 False False False False True \n", "... ... ... ... ... ... \n", "1782492 True False False False False \n", "1782493 False True False False True \n", "1782494 True False False False True \n", "1782495 False False False False True \n", "1782496 False False False False True \n", "\n", "[1782497 rows x 12 columns]\n", "Predict: (511828, 78)\n", "Label: Web Attack � Sql Injection\n", "filtered_df.shape (202991, 78)\n", "Label: Web Attack � XSS\n", "filtered_df.shape (202991, 78)\n", "Label: DoS slowloris\n", "filtered_df.shape (511828, 78)\n", "Label: DoS GoldenEye\n", "filtered_df.shape (511828, 78)\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (511828, 78)\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (202991, 78)\n", "Label: PortScan\n", "filtered_df.shape (511828, 78)\n", "Label: SSH-Patator\n", "filtered_df.shape (3106, 78)\n", "Label: FTP-Patator\n", "filtered_df.shape (2439, 78)\n", "Label: DoS Hulk\n", "filtered_df.shape (511828, 78)\n", "Label: DDoS\n", "filtered_df.shape (511828, 78)\n", "Label: BENIGN\n", "filtered_df.shape (202991, 78)\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "511823 False False False \n", "511824 False False False \n", "511825 False False False \n", "511826 False False False \n", "511827 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False True False False \n", "2 False False False False \n", "3 False False False False \n", "4 False False False True \n", "... ... ... ... ... \n", "511823 False False False False \n", "511824 False False False False \n", "511825 False False False False \n", "511826 False False False False \n", "511827 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 True False True False False \n", "1 True False False False False \n", "2 False False False False True \n", "3 False False False False False \n", "4 True False False False True \n", "... ... ... ... ... ... \n", "511823 False False True False False \n", "511824 True False False False True \n", "511825 True False True False False \n", "511826 True False True False False \n", "511827 True False False False True \n", "\n", "[511828 rows x 12 columns]\n" ] }, { "data": { "text/plain": [ "(0 DoS Hulk\n", " 1 DoS Slowhttptest\n", " 2 BENIGN\n", " 3 DoS Hulk\n", " 4 PortScan\n", " ... \n", " 512072 DoS Hulk\n", " 512073 BENIGN\n", " 512074 DoS Hulk\n", " 512075 DoS Hulk\n", " 512076 BENIGN\n", " Name: Label, Length: 511828, dtype: object,\n", " array(['DoS Hulk', 'DoS Slowhttptest', 'BENIGN', ..., 'DoS Hulk',\n", " 'DoS Hulk', 'BENIGN'], dtype=object))" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf.train(df)\n", "res = clf.test(test_df)\n", "res" ] }, { "cell_type": "code", "execution_count": 19, "id": "a740ad89-93dc-40ef-9633-59d979c8cfe8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9546898567487515" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "accuracy_score(*res)" ] }, { "cell_type": "code", "execution_count": 21, "id": "467568e4-ba95-498b-bc5d-be4dac393f06", "metadata": {}, "outputs": [], "source": [ "from sklearn.metrics import *" ] }, { "cell_type": "code", "execution_count": 47, "id": "e4cd1de4-3da3-4480-ad23-251a6afbca8e", "metadata": {}, "outputs": [], "source": [ "lbls = clf.manager.category_order\n", "cm = confusion_matrix(*res, labels=lbls)" ] }, { "cell_type": "code", "execution_count": 48, "id": "c4527316-c238-4c87-bf52-6030cbb6eeea", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 4],\n", " [ 0, 0, 0, 0, 0, 0, 1, 0,\n", " 0, 0, 0, 116],\n", " [ 0, 0, 751, 1, 5, 0, 0, 0,\n", " 0, 0, 1, 290],\n", " [ 0, 0, 4, 1590, 5, 0, 1, 0,\n", " 0, 6, 9, 246],\n", " [ 0, 0, 13, 3, 656, 0, 0, 0,\n", " 0, 4, 0, 318],\n", " [ 0, 0, 0, 0, 0, 15, 0, 0,\n", " 0, 0, 2, 255],\n", " [ 0, 0, 0, 0, 0, 0, 28487, 0,\n", " 0, 4, 2, 258],\n", " [ 0, 0, 0, 0, 0, 0, 4, 0,\n", " 0, 0, 0, 1063],\n", " [ 0, 0, 0, 0, 0, 0, 0, 0,\n", " 0, 0, 0, 1436],\n", " [ 0, 0, 0, 6, 2, 0, 2, 0,\n", " 0, 34708, 222, 6686],\n", " [ 0, 0, 2, 24, 2, 0, 2, 0,\n", " 0, 29, 14914, 8187],\n", " [ 0, 0, 21, 55, 8, 0, 706, 0,\n", " 0, 2372, 451, 407516]])" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cm" ] }, { "cell_type": "code", "execution_count": 51, "id": "54dfc232-e9c8-4e14-9d7a-d02d38a595e6", "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "def show_heatmap(matrix, title='Confusion Matrix', x_ticks=None, y_ticks=None):\n", " plt.figure(figsize=(8, 6))\n", " \n", " # Display the heatmap\n", " cax = plt.matshow(matrix, cmap='coolwarm')\n", " \n", " # Add a color legend\n", " plt.colorbar(cax)\n", " \n", " # Label x-axis ticks\n", " if x_ticks is not None:\n", " plt.xticks(range(len(x_ticks)), x_ticks)\n", " \n", " # Label y-axis ticks\n", " if y_ticks is not None:\n", " plt.yticks(range(len(y_ticks)), y_ticks)\n", " \n", " plt.title(title)\n", " \n", " plt.show()" ] }, { "cell_type": "code", "execution_count": 53, "id": "c8b6ffb1-80c2-4d9e-82f9-e2a9b10d4bb8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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V7Rt25bz588rkyyPGTOGHTt2EBISgq2tLQEBAXTu3Jno6GjlD5F+/fpx48YNZX7FDz74AD8/P+UPs6ysLDp16kTp0qU5cuQId+7cYdCgQWi1WpYsWQJAamoqbdu2xdvbm6ioKC5cuIC/vz8WFhYEBATo/7CvdzyCEOJdFxsbqx00aJC2fPnyWhMTE62FhYW2bt262s8//1x769YtJS4rK0s7a9YsrYuLi9bY2FhrZ2enHTBggPb69es61/P09NTWqFEj130GDRqkrVChgs4+8hitqdVqtSdPntQ2bdpUa2FhoS1btqx26tSp2pUrV+qM1jx+/Lj2X//6l7ZChQpaU1NTra2trdbT01O7ffv2XPd4erSmVqvVxsXFaX19fbVqtVprYmKirV27tnb16tU6MTmjGn/66Sed/ZcvX9YCueKf9fRozYLkNeLyu+++07q6umpNTU21lSpV0gYFBWlXrVql8/xarVZ75coVbbt27bRWVlZaQHm/+ZX96WM5ozX37t2rNTAwyPWO7ty5oy1fvry2QYMG2oyMjAKfQbx8KSkpWkC7ycZVG1rK7bm3TTauWkCbkpJSpPvfu3dPW7VqVe2+ffu0np6e2k8++USr1Wq12dnZWo1Go505c6YS+/DhQ61ardYuX75cq9VqtXfv3tUaGxtrQ0JClJg//vhDa2BgoA0NDdVqtVrtuXPntIA2MjJSiTl+/LgW0P76669arVar3b17t9bAwED7xx9/KDEbNmzQmpqaKs/z3//+V6tWq7UPHz5UYoKCgrSOjo46I50Lo9Jqi1jXJoQQQoh3SmpqKmq1mi121bAweP6myfTsLP51+1euX7+us2KFqalpnrWzOQYNGkSpUqVYsGABXl5e1KlTh4ULF/L7779TuXJlTp8+Td26dZX4rl27UrJkSdasWaOMkP7777+xsbFRYmrXrk23bt344osv+O677xg3blyuZsySJUuyYMECBg8ezOeff862bdv45ZdflOPJycmUKlWKsLAwvL29GThwICkpKWzbtk2JiYmJoV69evz+++961wJLnzMhhBBCvFJOTk46IziDgoLyjQ0JCeH06dN5xiQlJQFQpkwZnf1lypRRjiUlJWFiYqKTmOUVk9ckyfb29joxz97HxsYGExOTAmNyPufE6EP6nAkhhBBCLypjFSoD/Ufh5jo/+8m5edWc5eX69et8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xd27d19ZuYQQQoh/OknOXiF/f39UKhUqlQpjY2PKlClD27Zt+e6778jOzi7StbKysggKCqJatWqYmZlRqlQpGjduzOrVqws8T6vVsmLFCpo0aYK1tTWWlpbUqFGDTz75hN9++604j/fK5LzDZ7eQkJDXXTQhhHi75TRrFmcThZJmzVesffv2rF69mqysLG7evEloaCiffPIJ//vf/9i+fTtGRvp9SQIDA/n2229ZunQpHh4epKamcurUKZKTk/M9R6vV0q9fP7Zu3crkyZNZsGAB9vb2XL58mX379vHVV18RHBz8gp705Vq9ejXt27fX2VeyZMnXUxghhHhXyCS0r4S8pVfM1NQUjUZD2bJlqVevHpMnT2bbtm38/PPPOonRtWvX6Nq1K5aWllhbW9OrVy9u3rypHN+xYwcjRoygZ8+eVKxYkdq1azN06FDGjRuX7703btxISEgIGzduZMqUKTRu3JhKlSrRunVrZs6cqVPrlp2dzbRp0yhXrhympqbUqVOH0NDQAp9t9+7duLi4YGZmhre3N1euXMkVc+zYMVq2bImZmRlOTk6MHj2a9PR05bizszMzZsxgyJAhWFlZUb58eb799ttc1ylZsiQajUZnK1GiBOnp6VhbW/O///1PJ37Hjh1YWFhw7949AP744w969+6NjY0Ntra2dO3aNc/yCiGEEK+aJGdvgFatWlG7dm02b94MPKnh6tatG3///TcRERHs27ePS5cu0bt3b+UcjUZDWFgYf/31l9732bBhA66urnTp0iXP46qnqpsXLVrEvHnzmDt3LmfOnMHHx4cuXbpw8eLFPM+9fv063bt3p2PHjsTGxvL+++/z73//WycmLi4OHx8funfvzpkzZ9i4cSNHjhzh448/1ombN28eHh4exMTEMGLECD766CN+/fVXvZ7RwsKCPn365GreXb16Ne+99x5WVlbcv38fb29vLC0tOXToEEeOHMHS0pL27dvz6NEjve4jhBDvJJXB/w0KeJ5Nas70Im/pDVGtWjWl5mb//v2cOXOGH374gfr169OoUSPWrl1LREQEUVFRAMyfP5+//voLjUZDrVq1GD58OD///HOB97hw4QKurq46+8aMGYOlpSWWlpaUK1dO2T937lwmTpxInz59cHV1ZdasWdSpU4eFCxfmee1ly5ZRqVIlFixYgKurK/3798ff318nZs6c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ERGRJIKghyDjPAw5dTsTTmsSERERGRGOnBEREZEknNZsG0zOiIiISBqZyRmYnEnCaU0iIiIiI8KRMyIiIpJEL+ihl7GoX07dzoTJGREREUnCNWdtg8kZERERSSIIeggyTvnnURrScM0ZERERkRHhyBkRERFJwmnNtsHkjIiIiCThGwLaBqc1iYiIiIwIR86IiIhIEr0e0MuYmpSxl6BTYXJGREREkgh6mbs1mZ1JwmlNIiIiIiPCkTMiIiKShLs12wZHzoiIiEiSmt2ackpzfPLJJ3B1dYWFhQW8vLzw3XfftXDPjAuTMyIiIjJa+/btQ2xsLD744AP88MMPeOWVVzB27Fjk5OS0d9NaDZMzIiIikqRmWlNOaarExERER0djxowZGDRoEDZt2gRnZ2ds2bKlFXpoHJicERERkSQ1uzXllKaorKzE5cuXERQUZHA9KCgIGRkZLdk1o8INAURERCRJ9ePyFqlfUlJicF2pVEKpVNaJ/+WXX1BdXQ0HBweD6w4ODtBoNLLaYsyYnBEREVGDzM3NoVarcenbybLvZW1tDWdnZ4NrcXFxWLFiRb11FAqFwdeCINS51pEwOSMiIqIGWVhY4N69e6isrJR9r2clVs8aNQOAHj16oEuXLnVGyQoLC+uMpnUkTM6IiIioURYWFrCwsGjTZ5qbm8PLywvp6el4/fXXxevp6emYMGFCm7alLTE5IyIiIqM1f/58REZGwtvbG35+fti2bRtycnLw7rvvtnfTWg2TMyIiIjJaU6ZMwYMHD7Bq1Srk5+fDw8MDx44dQ9++fdu7aa1GIQgC36VAREREZCR4zhkRERGREWFyRkRERGREmJwRERERGREmZ0RERERGhMkZERERkRFhckZERERkRJicERERERkRJmdERERERoTJGREREZERYXJGREREZESYnBEREREZESZnREREREbkfwEcGnJGNLUNXQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Display the heatmap\n", "show_heatmap(cm, title='Confusion Matrix', x_ticks=None, y_ticks=lbls)" ] }, { "cell_type": "code", "execution_count": 75, "id": "4fb55c5d-c8f2-4d8b-86be-977ffa6ba5de", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/nithin/data2/nithin/anaconda3/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, msg_start, len(result))\n" ] }, { "data": { "text/plain": [ "0.9489605384608767" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "precision_score(*res, average='weighted')" ] }, { "cell_type": "code", "execution_count": 34, "id": "280caa34-bae0-41d7-aa81-0aab2a9427ed", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.9546898567487515" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "recall_score(*res, average='weighted')" ] }, { "cell_type": "code", "execution_count": 57, "id": "44855add-4dc8-4dda-bdb7-c6d31b8742e1", "metadata": {}, "outputs": [], "source": [ "pos_lbl=lbls[:-1]" ] }, { "cell_type": "code", "execution_count": 58, "id": "e28860ca-e0e1-46f0-8417-521b92f3b8d9", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/nithin/data2/nithin/anaconda3/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, msg_start, len(result))\n" ] }, { "data": { "text/plain": [ "0.9277264555164679" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "precision_score(*res, average='weighted',labels=pos_lbl)" ] }, { "cell_type": "code", "execution_count": 59, "id": "87e8f93c-02e3-4485-811e-757c73b14a7e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.8084934619677883" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "recall_score(*res, average='weighted',labels=pos_lbl)" ] }, { "cell_type": "code", "execution_count": 76, "id": "4835c4eb-46fc-44b1-ab0a-9f608b36b75a", "metadata": {}, "outputs": [], "source": [ "def show_metrics(res):\n", " print(\"Accuracy:\", accuracy_score(*res))\n", " print(\"Precision:\", precision_score(*res, average='weighted'))\n", " print(\"Recall:\", recall_score(*res, average='weighted'))\n", " cm = confusion_matrix(*res, labels=lbls)\n", " show_heatmap(cm, title='Confusion Matrix', x_ticks=None, y_ticks=lbls)" ] }, { "cell_type": "code", "execution_count": 77, "id": "3611183b-f640-4f84-ab56-e56ec0a1fd5c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.9546898567487515\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/nithin/data2/nithin/anaconda3/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, msg_start, len(result))\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Precision: 0.9489605384608767\n", "Recall: 0.9546898567487515\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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V7Rt25bz588rkyyPGTOGHTt2EBISgq2tLQEBAXTu3Jno6GjlD5F+/fpx48YNZX7FDz74AD8/P+UPs6ysLDp16kTp0qU5cuQId+7cYdCgQWi1WpYsWQJAamoqbdu2xdvbm6ioKC5cuIC/vz8WFhYEBATo/7CvdzyCEOJdFxsbqx00aJC2fPnyWhMTE62FhYW2bt262s8//1x769YtJS4rK0s7a9YsrYuLi9bY2FhrZ2enHTBggPb69es61/P09NTWqFEj130GDRqkrVChgs4+8hitqdVqtSdPntQ2bdpUa2FhoS1btqx26tSp2pUrV+qM1jx+/Lj2X//6l7ZChQpaU1NTra2trdbT01O7ffv2XPd4erSmVqvVxsXFaX19fbVqtVprYmKirV27tnb16tU6MTmjGn/66Sed/ZcvX9YCueKf9fRozYLkNeLyu+++07q6umpNTU21lSpV0gYFBWlXrVql8/xarVZ75coVbbt27bRWVlZaQHm/+ZX96WM5ozX37t2rNTAwyPWO7ty5oy1fvry2QYMG2oyMjAKfQbx8KSkpWkC7ycZVG1rK7bm3TTauWkCbkpJSpPvfu3dPW7VqVe2+ffu0np6e2k8++USr1Wq12dnZWo1Go505c6YS+/DhQ61ardYuX75cq9VqtXfv3tUaGxtrQ0JClJg//vhDa2BgoA0NDdVqtVrtuXPntIA2MjJSiTl+/LgW0P76669arVar3b17t9bAwED7xx9/KDEbNmzQmpqaKs/z3//+V6tWq7UPHz5UYoKCgrSOjo46I50Lo9Jqi1jXJoQQQoh3SmpqKmq1mi121bAweP6myfTsLP51+1euX7+us2KFqalpnrWzOQYNGkSpUqVYsGABXl5e1KlTh4ULF/L7779TuXJlTp8+Td26dZX4rl27UrJkSdasWaOMkP7777+xsbFRYmrXrk23bt344osv+O677xg3blyuZsySJUuyYMECBg8ezOeff862bdv45ZdflOPJycmUKlWKsLAwvL29GThwICkpKWzbtk2JiYmJoV69evz+++961wJLnzMhhBBCvFJOTk46IziDgoLyjQ0JCeH06dN5xiQlJQFQpkwZnf1lypRRjiUlJWFiYqKTmOUVk9ckyfb29joxz97HxsYGExOTAmNyPufE6EP6nAkhhBBCLypjFSoD/Ufh5jo/+8m5edWc5eX69et8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xd27d19ZuYQQQoh/OknOXiF/f39UKhUqlQpjY2PKlClD27Zt+e6778jOzi7StbKysggKCqJatWqYmZlRqlQpGjduzOrVqws8T6vVsmLFCpo0aYK1tTWWlpbUqFGDTz75hN9++604j/fK5LzDZ7eQkJDXXTQhhHi75TRrFmcThZJmzVesffv2rF69mqysLG7evEloaCiffPIJ//vf/9i+fTtGRvp9SQIDA/n2229ZunQpHh4epKamcurUKZKTk/M9R6vV0q9fP7Zu3crkyZNZsGAB9vb2XL58mX379vHVV18RHBz8gp705Vq9ejXt27fX2VeyZMnXUxghhHhXyCS0r4S8pVfM1NQUjUZD2bJlqVevHpMnT2bbtm38/PPPOonRtWvX6Nq1K5aWllhbW9OrVy9u3rypHN+xYwcjRoygZ8+eVKxYkdq1azN06FDGjRuX7703btxISEgIGzduZMqUKTRu3JhKlSrRunVrZs6cqVPrlp2dzbRp0yhXrhympqbUqVOH0NDQAp9t9+7duLi4YGZmhre3N1euXMkVc+zYMVq2bImZmRlOTk6MHj2a9PR05bizszMzZsxgyJAhWFlZUb58eb799ttc1ylZsiQajUZnK1GiBOnp6VhbW/O///1PJ37Hjh1YWFhw7949AP744w969+6NjY0Ntra2dO3aNc/yCiGEEK+aJGdvgFatWlG7dm02b94MPKnh6tatG3///TcRERHs27ePS5cu0bt3b+UcjUZDWFgYf/31l9732bBhA66urnTp0iXP46qnqpsXLVrEvHnzmDt3LmfOnMHHx4cuXbpw8eLFPM+9fv063bt3p2PHjsTGxvL+++/z73//WycmLi4OHx8funfvzpkzZ9i4cSNHjhzh448/1ombN28eHh4exMTEMGLECD766CN+/fVXvZ7RwsKCPn365GreXb16Ne+99x5WVlbcv38fb29vLC0tOXToEEeOHMHS0pL27dvz6NEjve4jhBDvJJXB/w0KeJ5Nas70Im/pDVGtWjWl5mb//v2cOXOGH374gfr169OoUSPWrl1LREQEUVFRAMyfP5+//voLjUZDrVq1GD58OD///HOB97hw4QKurq46+8aMGYOlpSWWlpaUK1dO2T937lwmTpxInz59cHV1ZdasWdSpU4eFCxfmee1ly5ZRqVIlFixYgKurK/3798ff318nZs6c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ERGRJIKghyDjPAw5dTsTTmsSERERGRGOnBEREZEknNZsG0zOiIiISBqZyRmYnEnCaU0iIiIiI8KRMyIiIpJEL+ihl7GoX07dzoTJGREREUnCNWdtg8kZERERSSIIeggyTvnnURrScM0ZERERkRHhyBkRERFJwmnNtsHkjIiIiCThGwLaBqc1iYiIiIwIR86IiIhIEr0e0MuYmpSxl6BTYXJGREREkgh6mbs1mZ1JwmlNIiIiIiPCkTMiIiKShLs12wZHzoiIiEiSmt2ackpzfPLJJ3B1dYWFhQW8vLzw3XfftXDPjAuTMyIiIjJa+/btQ2xsLD744AP88MMPeOWVVzB27Fjk5OS0d9NaDZMzIiIikqRmWlNOaarExERER0djxowZGDRoEDZt2gRnZ2ds2bKlFXpoHJicERERkSQ1uzXllKaorKzE5cuXERQUZHA9KCgIGRkZLdk1o8INAURERCRJ9ePyFqlfUlJicF2pVEKpVNaJ/+WXX1BdXQ0HBweD6w4ODtBoNLLaYsyYnBEREVGDzM3NoVarcenbybLvZW1tDWdnZ4NrcXFxWLFiRb11FAqFwdeCINS51pEwOSMiIqIGWVhY4N69e6isrJR9r2clVs8aNQOAHj16oEuXLnVGyQoLC+uMpnUkTM6IiIioURYWFrCwsGjTZ5qbm8PLywvp6el4/fXXxevp6emYMGFCm7alLTE5IyIiIqM1f/58REZGwtvbG35+fti2bRtycnLw7rvvtnfTWg2TMyIiIjJaU6ZMwYMHD7Bq1Srk5+fDw8MDx44dQ9++fdu7aa1GIQgC36VAREREZCR4zhkRERGREWFyRkRERGREmJwRERERGREmZ0RERERGhMkZERERkRFhckZERERkRJicERERERkRJmdERERERoTJGREREZERYXJGREREZESYnBEREREZESZnREREREbkfwEcGnJGNLUNXQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_metrics(res)" ] }, { "cell_type": "code", "execution_count": 100, "id": "f28c7177-335a-4960-b462-f0d8d18c154e", "metadata": {}, "outputs": [], "source": [ "from sklearn.model_selection import KFold\n", "from sklearn.metrics import accuracy_score\n", "import numpy as np\n", "\n", "def cross_validate(model, df, n_splits=5):\n", " kf = KFold(n_splits=n_splits, shuffle=True, random_state=1)\n", "\n", " for train_index, test_index in kf.split(df):\n", " df_train, df_test = df.loc[train_index], df.loc[test_index]\n", "\n", " model.train(df_train)\n", " res = model.test(df_test)\n", " \n", " show_metrics(res)\n", " " ] }, { "cell_type": "code", "execution_count": 101, "id": "91ebc81c-525d-453b-962e-50fdc7185a76", "metadata": {}, "outputs": [], "source": [ "tot_df = pd.concat([df,test_df]).reset_index()" ] }, { "cell_type": "code", "execution_count": 102, "id": "62ed83b0-ffd5-4e91-9506-cedf0111bbe0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Fit: (1835460, 79) -> (1835460,)\n", "Label: Web Attack � Sql Injection\n", "filtered_df.shape (728730, 80)\n", "Making binary on: Web Attack � Sql Injection\n", "X: (728730, 1) ,Y: (728730,)\n", "Label: Web Attack � XSS\n", "filtered_df.shape (728730, 80)\n", "Making binary on: Web Attack � XSS\n", "X: (728730, 1) ,Y: (728730,)\n", "Label: DoS slowloris\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS slowloris\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: DoS GoldenEye\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS GoldenEye\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS Slowhttptest\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (728730, 80)\n", "Making binary on: Web Attack � Brute Force\n", "X: (728730, 1) ,Y: (728730,)\n", "Label: PortScan\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: PortScan\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: SSH-Patator\n", "filtered_df.shape (11074, 80)\n", "Making binary on: SSH-Patator\n", "X: (11074, 2) ,Y: (11074,)\n", "Label: FTP-Patator\n", "filtered_df.shape (8725, 80)\n", "Making binary on: FTP-Patator\n", "X: (8725, 1) ,Y: (8725,)\n", "Label: DoS Hulk\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS Hulk\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: DDoS\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DDoS\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: BENIGN\n", "filtered_df.shape (728730, 80)\n", "Making binary on: BENIGN\n", "X: (728730, 2) ,Y: (728730,)\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "1835455 False False False \n", "1835456 False False False \n", "1835457 False False False \n", "1835458 False False False \n", "1835459 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False False False False \n", "2 False False False False \n", "3 False False False False \n", "4 False False False False \n", "... ... ... ... ... \n", "1835455 False False False False \n", "1835456 False False False False \n", "1835457 False False False False \n", "1835458 False False False False \n", "1835459 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 False False False False True \n", "1 False False False False True \n", "2 False False False False True \n", "3 False False False False True \n", "4 False True False True False \n", "... ... ... ... ... ... \n", "1835455 False False True False False \n", "1835456 True False False False True \n", "1835457 False False True False False \n", "1835458 True False True False False \n", "1835459 False False False False False \n", "\n", "[1835460 rows x 12 columns]\n", "Predict: (458865, 79)\n", "Label: Web Attack � Sql Injection\n", "filtered_df.shape (182420, 79)\n", "Label: Web Attack � XSS\n", "filtered_df.shape (182420, 79)\n", "Label: DoS slowloris\n", "filtered_df.shape (458865, 79)\n", "Label: DoS GoldenEye\n", "filtered_df.shape (458865, 79)\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (458865, 79)\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (182420, 79)\n", "Label: PortScan\n", "filtered_df.shape (458865, 79)\n", "Label: SSH-Patator\n", "filtered_df.shape (2693, 79)\n", "Label: FTP-Patator\n", "filtered_df.shape (2250, 79)\n", "Label: DoS Hulk\n", "filtered_df.shape (458865, 79)\n", "Label: DDoS\n", "filtered_df.shape (458865, 79)\n", "Label: BENIGN\n", "filtered_df.shape (182420, 79)\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "458860 False False False \n", "458861 False False False \n", "458862 False False False \n", "458863 False False False \n", "458864 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False False False False \n", "2 False False False False \n", "3 False False False False \n", "4 False False False False \n", "... ... ... ... ... \n", "458860 False False False False \n", "458861 False False False True \n", "458862 False False False False \n", "458863 False False False False \n", "458864 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 True False True False False \n", "1 False False False False True \n", "2 False False False False False \n", "3 False False False False True \n", "4 False False False False True \n", "... ... ... ... ... ... \n", "458860 False False False False True \n", "458861 False False False False False \n", "458862 False True False True True \n", "458863 True False False False True \n", "458864 False False False False True \n", "\n", "[458865 rows x 12 columns]\n", "Accuracy: 0.9557647674152528\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/nithin/data2/nithin/anaconda3/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, msg_start, len(result))\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Precision: 0.9500610686747366\n", "Recall: 0.9557647674152528\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmcAAAGXCAYAAAD2yPeVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAACcqklEQVR4nOzde1yP9//48ce7dD68ReUtspyK5DQ5HyqnhPBhziKszZyGmA8+tsYm58PYh81MDVu2kTnmlHKMNM0ph/nIYYqxlEI6vH9/9Ov6eqt4J2L2vN9u1217X9fzel2v66r07HW6VFqtVosQQgghhHgtGLzqCgghhBBCiP8jyZkQQgghxGtEkjMhhBBCiNeIJGdCCCGEEK8RSc6EEEIIIV4jkpwJIYQQQrxGJDkTQgghhHiNSHImhBBCCPEakeRMCCGEEOI1IsmZEOKVOnnyJEOHDqVq1aqYmppiaWnJ22+/zdy5c/nrr79e6rVPnDiBh4cHarUalUrF4sWLX/g1VCoVQUFBL7zcZwkJCUGlUqFSqYiKiipwXKvVUqNGDVQqFZ6ens91jf/+97+EhIQU65yoqKgi6ySEyFPmVVdACPHPtXLlSkaOHImLiwuTJk3C1dWVrKwsjh8/zooVKzhy5Ajh4eEv7frDhg0jIyODsLAwbGxscHJyeuHXOHLkCJUrV37h5erLysqKVatWFUjAoqOjuXTpElZWVs9d9n//+19sbW3x9/fX+5y3336bI0eO4Orq+tzXFeJNJ8mZEOKVOHLkCB988AEdOnRg06ZNmJiYKMc6dOhAYGAgERERL7UOp0+fJiAgAB8fn5d2jWbNmr20svXRt29f1q1bx5dffom1tbWyf9WqVTRv3py0tLRSqUdWVhYqlQpra+tX/kyEeN1Jt6YQ4pWYNWsWKpWKr7/+Wicxy2dsbEy3bt2Uz7m5ucydO5datWphYmKCvb09gwcP5vr16zrneXp64ubmRmxsLK1bt8bc3Jxq1aoxe/ZscnNzgf/r8svOzmb58uVK9x9AUFCQ8v+Pyz8nMTFR2RcZGYmnpyfly5fHzMyMKlWq0KtXL+7fv6/EFNatefr0abp3746NjQ2mpqY0aNCA0NBQnZj87r8ffviBadOm4eDggLW1Ne3bt+f8+fP6PWSgf//+APzwww/KvtTUVDZs2MCwYcMKPefTTz+ladOmlCtXDmtra95++21WrVqFVqtVYpycnDhz5gzR0dHK88tvecyv+5o1awgMDKRSpUqYmJjw+++/F+jWvH37No6OjrRo0YKsrCyl/LNnz2JhYYGfn5/e9yrEm0KSMyFEqcvJySEyMpJGjRrh6Oio1zkffPABkydPpkOHDmzevJmZM2cSERFBixYtuH37tk5scnIyAwcOZNCgQWzevBkfHx+mTJnC2rVrAejSpQtHjhwB4J133uHIkSPKZ30lJibSpUsXjI2N+fbbb4mIiGD27NlYWFjw6NGjIs87f/48LVq04MyZM3zxxRds3LgRV1dX/P39mTt3boH4qVOncuXKFb755hu+/vprLl68iK+vLzk5OXrV09ramnfeeYdvv/1W2ffDDz9gYGBA3759i7y3999/nx9//JGNGzfSs2dPxowZw8yZM5WY8PBwqlWrRsOGDZXn92QX9JQpU7h69SorVqxgy5Yt2NvbF7iWra0tYWFhxMbGMnnyZADu379P7969qVKlCitWrNDrPoV4o2iFEKKUJScnawFtv3799IpPSEjQAtqRI0fq7D969KgW0E6dOlXZ5+HhoQW0R48e1Yl1dXXVent76+wDtKNGjdLZ98knn2gL+6dx9erVWkB7+fJlrVar1f78889aQBsfH//UugPaTz75RPncr18/rYmJifbq1as6cT4+Plpzc3Pt3bt3tVqtVrtv3z4toO3cubNO3I8//qgFtEeOHHnqdfPrGxsbq5R1+vRprVar1TZu3Fjr7++v1Wq12jp16mg9PDyKLCcnJ0eblZWlnTFjhrZ8+fLa3Nxc5VhR5+Zfr02bNkUe27dvn87+OXPmaAFteHi4dsiQIVozMzPtyZMnn3qPQryppOVMCPHa27dvH0CBgedNmjShdu3a7N27V2e/RqOhSZMmOvvq1avHlStXXlidGjRogLGxMe+99x6hoaH873//0+u8yMhI2rVrV6DF0N/fn/v37xdowXu8axfy7gMo1r14eHhQvXp1vv32W06dOkVsbGyRXZr5dWzfvj1qtRpDQ0OMjIz4+OOPuXPnDrdu3dL7ur169dI7dtKkSXTp0oX+/fsTGhrK0qVLqVu3rt7ni5fv4cOHpKWllXh7+PDhq76V154kZ0KIUmdra4u5uTmXL1/WK/7OnTsAVKxYscAxBwcH5Xi+8uXLF4gzMTHhwYMHz1HbwlWvXp09e/Zgb2/PqFGjqF69OtWrV2fJkiVPPe/OnTtF3kf+8cc9eS/54/OKcy8qlYqhQ4eydu1aVqxYgbOzM61bty409tixY3Ts2BHIm0176NAhYmNjmTZtWrGvW9h9Pq2O/v7+PHz4EI1GI2PNXjMPHz7EwcwStVpd4q1q1aqSoD2DzNYUQpQ6Q0ND2rVrx44dO7h+/fozl5rIT1CSkpIKxN64cQNbW9sXVjdTU1MAMjMzdSYqPDmuDaB169a0bt2anJwcjh8/ztKlSxk3bhwVKlSgX79+hZZfvnx5kpKSCuy/ceMGwAu9l8f5+/vz8ccfs2LFCj7//PMi48LCwjAyMmLr1q3KswDYtGlTsa9Z2MSKoiQlJTFq1CgaNGjAmTNnmDhxIl988UWxrylejkePHpFCDqGm1TAvQbvOfXIZkvw/Hj16pPP9JXRJy5kQ4pWYMmUKWq2WgICAQgfQZ2VlsWXLFgDatm0LoAzozxcbG0tCQgLt2rV7YfXKn3F48uRJnf35dSmMoaEhTZs25csvvwTg119/LTK2Xbt2REZGKslYvu+++w5zc/OXtsxEpUqVmDRpEr6+vgwZMqTIOJVKRZkyZTA0NFT2PXjwgDVr1hSIfVGtkTk5OfTv3x+VSsWOHTsIDg5m6dKlbNy4scRlixfLoowhlkZlnnuzKGP47IsIaTkTQrwazZs3Z/ny5YwcOZJGjRrxwQcfUKdOHbKysjhx4gRff/01bm5u+Pr64uLiwnvvvcfSpUsxMDDAx8eHxMREpk+fjqOjI+PHj39h9ercuTPlypVj+PDhzJgxgzJlyhASEsK1a9d04lasWEFkZCRdunShSpUqPHz4UJkR2b59+yLL/+STT9i6dSteXl58/PHHlCtXjnXr1rFt2zbmzp2LWq1+YffypNmzZz8zpkuXLixcuJABAwbw3nvvcefOHebPn1/ocid169YlLCyM9evXU61aNUxNTZ9rnNgnn3zCgQMH2LVrFxqNhsDAQKKjoxk+fDgNGzakatWqxS5TiL8zSc6EEK9MQEAATZo0YdGiRcyZM4fk5GSMjIxwdnZmwIABjB49Woldvnw51atXZ9WqVXz55Zeo1Wo6depEcHBwoWPMnpe1tTURERGMGzeOQYMGUbZsWd599118fHx49913lbgGDRqwa9cuPvnkE5KTk7G0tMTNzY3NmzcrY7YK4+LiwuHDh5k6dSqjRo3iwYMH1K5dm9WrVxdrpf2XpW3btnz77bfMmTMHX19fKlWqREBAAPb29gwfPlwn9tNPPyUpKYmAgADu3bvHW2+9pbMOnD52795NcHAw06dP12kBDQkJoWHDhvTt25eDBw9ibGz8Im5PlJDKyACV6vk73VSPrZUniqbSauVJCSGEEKJoaWlpqNVqwm1rYWHw/F2TGbk5/Ov2OVJTU3XeWCF0yZgzIYQQQojXiHRrCiGEEEIvKiMVKgP9Z+EWOD/3+c/9J5HkTAghhBB6MSijwqAEyZmBJGd6kW5NIYQQQojXiCRnQgghhNCLykhV4q04li9fTr169bC2tsba2prmzZuzY8cO5bi/vz8qlUpne3KtwMzMTMaMGYOtrS0WFhZ069aN69ev68SkpKTg5+envMXAz8+Pu3fv6sRcvXoVX19fLCwssLW1ZezYsQXWaDx16hQeHh6YmZlRqVIlZsyYwfPMu5RuTSGEEELoxcBQhYFhCbo1c4p3buXKlZk9ezY1atQAIDQ0lO7du3PixAnq1KkDQKdOnVi9erVyzpPLrowbN44tW7YQFhZG+fLlCQwMpGvXrsTFxSmLLQ8YMIDr168TEREBwHvvvYefn5+y+HROTg5dunTBzs6OgwcPcufOHYYMGYJWq2Xp0qVA3ozWDh064OXlRWxsLBcuXMDf3x8LCwsCAwOLdd+ylIYQQgghnip/KY1tNd2wMCzBUho5OXS5eLpES2mUK1eOefPmMXz4cPz9/bl7926RrxdLTU3Fzs6ONWvW0LdvXyDvVWmOjo5s374db29vEhIScHV1JSYmhqZNmwIQExND8+bNOXfuHC4uLuzYsYOuXbty7do15T24YWFh+Pv7c+vWLaytrVm+fDlTpkzh5s2byqLNs2fPZunSpVy/fr1YrzOTbk0hhBBC6EVlqCrxBnnJ3uNbZmbmM6+dk5NDWFgYGRkZNG/eXNkfFRWFvb09zs7OBAQEcOvWLeVYXFwcWVlZOgtDOzg44ObmxuHDhwE4cuQIarVaScwAmjVrhlqt1olxc3NTEjMAb29vMjMziYuLU2I8PDx03qbh7e3NjRs3ir04syRnQpSC//73v1StWhVTU1MaNWrEgQMHXnWViiU4OJjGjRtjZWWFvb09PXr04Pz586+6WiUSHByMSqVi3Lhxr7oqxfbHH38waNAgypcvj7m5OQ0aNFB+QfxdZGdn85///IeqVatiZmZGtWrVmDFjBrm5ua+6akXav38/vr6+ODg4oFKpCrTWaLVagoKCcHBwwMzMDE9PT86cOfNqKvuS5HdrlmQDcHR0VMZ3qdVqgoODi7zmqVOnsLS0xMTEhBEjRhAeHo6rqysAPj4+rFu3jsjISBYsWEBsbCxt27ZVkr3k5GSMjY2xsbHRKbNChQokJycrMfb29gWua29vrxNToUIFneM2NjYYGxs/NSb/c36MvmTMmRAv2fr16xk3bhz//e9/admyJV999RU+Pj6cPXuWKlWqvOrq6SU6OppRo0bRuHFjsrOzmTZtGh07duTs2bNYWFi86uoVW2xsLF9//TX16tV71VUptpSUFFq2bImXlxc7duzA3t6eS5cuUbZs2VddtWKZM2cOK1asIDQ0lDp16nD8+HGGDh2KWq3mww8/fNXVK1RGRgb169dn6NCh9OrVq8DxuXPnsnDhQkJCQnB2duazzz6jQ4cOnD9/Hisrq1dQ4xdPZVDCdc60eedeu3ZNp1uzsHe35nNxcSE+Pp67d++yYcMGhgwZQnR0NK6urkpXJYCbmxvu7u689dZbbNu2jZ49exZZplar1elmLKzL8UXE5I8cK06XJkhyJsRLt3DhQoYPH668l3Hx4sXs3LmT5cuXP/WvxddJ/iDZfKtXr8be3p64uDjatGnzimr1fNLT0xk4cCArV67ks88+e9XVKbY5c+bg6OioMwDaycnp1VXoOR05coTu3bvTpUsXIO8efvjhB44fP/6Ka1Y0Hx8ffHx8Cj2m1WpZvHgx06ZNU5KC0NBQKlSowPfff8/7779fmlV97eXPvtSHsbGxMiHA3d2d2NhYlixZwldffVUgtmLFirz11ltcvHgRAI1Gw6NHj0hJSdFpPbt16xYtWrRQYm7evFmgrD///FNp+dJoNBw9elTneEpKCllZWToxT7aQ5XexPtmi9izSrSnES/To0SPi4uIKvAi7Y8eOyliGv6PU1FQgb2Du382oUaPo0qUL7du3f9VVeS6bN2/G3d2d3r17Y29vT8OGDVm5cuWrrlaxtWrVir1793LhwgUAfvvtNw4ePEjnzp1fcc2ez+XLl0lOTtb5WTcxMcHDw+Nv/bP+JJWhQYm3ktJqtUWOUbtz5w7Xrl2jYsWKADRq1AgjIyN2796txCQlJXH69GklOWvevDmpqakcO3ZMiTl69Cipqak6MadPnyYpKUmJ2bVrFyYmJjRq1EiJ2b9/v87yGrt27cLBwaHYf0BJy5kQL9Ht27fJyckpdBxCcccgvC60Wi0TJkygVatWuLm5verqFEtYWBi//vorsbGxr7oqz+1///sfy5cvZ8KECUydOpVjx44xduxYTExMGDx48Kuunt4mT55MamoqtWrVwtDQkJycHD7//HP69+//qqv2XPJ/ngv7Wb9y5cqrqNJLUeKlNCjeuVOnTsXHxwdHR0fu3btHWFgYUVFRREREkJ6eTlBQEL169aJixYokJiYydepUbG1t+de//gWAWq1m+PDhBAYGUr58ecqVK8fEiROpW7eu8gda7dq16dSpEwEBAUpr3HvvvUfXrl1xcXEB8v6gdnV1xc/Pj3nz5vHXX38xceJEAgIClBbAAQMG8Omnn+Lv78/UqVO5ePEis2bN4uOPP5ZuTSFeR4WNQyjuD+vrYvTo0Zw8eZKDBw++6qoUy7Vr1/jwww/ZtWsXpqamr7o6zy03Nxd3d3dmzZoFQMOGDTlz5gzLly//WyVn69evZ+3atXz//ffUqVOH+Ph4xo0bh4ODA0OGDHnV1Xtub9LP+uvg5s2b+Pn5kZSUhFqtpl69ekRERNChQwcePHjAqVOn+O6777h79y4VK1bEy8uL9evX64zxW7RoEWXKlKFPnz48ePCAdu3aERISoqxxBrBu3TrGjh2rtHx269aNZcuWKccNDQ3Ztm0bI0eOpGXLlpiZmTFgwADmz5+vxKjVanbv3s2oUaNwd3fHxsaGCRMmMGHChGLftyRnQrxEtra2GBoaFjoOobhjEF4HY8aMYfPmzezfv5/KlSu/6uoUS1xcHLdu3VK6ICBvav7+/ftZtmwZmZmZOv9Yv64qVqyozFTLV7t2bTZs2PCKavR8Jk2axL///W/69esHQN26dbly5QrBwcF/y+RMo9EAeS1o+V1q8Pf9WS+KSlW6Lz5ftWpVkcfMzMzYuXPnM8swNTVl6dKlymKxhSlXrhxr1659ajlVqlRh69atT42pW7cu+/fvf2adnkXGnAnxEhkbG9OoUSOd8Q4Au3fvVsYy/B1otVpGjx7Nxo0biYyMpGrVqq+6SsXWrl07Tp06RXx8vLK5u7szcOBA4uPj/xaJGUDLli0LLGNy4cIF3nrrrVdUo+dz//59DAx0fwUZGhq+1ktpPE3VqlXRaDQ6P+uPHj0iOjr6b/Wz/iwqw5Itp6H6e/yYvXLScibESzZhwgT8/Pxwd3enefPmfP3111y9epURI0a86qrpbdSoUXz//ff88ssvWFlZKS2BarUaMzOzV1w7/VhZWRUYI2dhYUH58uX/VmPnxo8fT4sWLZg1axZ9+vTh2LFjfP3113z99devumrF4uvry+eff06VKlWoU6cOJ06cYOHChQwbNuxVV61I6enp/P7778rny5cvEx8fT7ly5ahSpQrjxo1j1qxZ1KxZk5o1azJr1izMzc0ZMGDAK6y1+DuS5EyIl6xv377cuXOHGTNmkJSUhJubG9u3b/9btXQsX74cAE9PT539q1evxt/fv/Qr9A/WuHFjwsPDmTJlCjNmzKBq1aosXryYgQMHvuqqFcvSpUuZPn06I0eO5NatWzg4OPD+++/z8ccfv+qqFen48eN4eXkpn/PHEg0ZMoSQkBA++ugjHjx4wMiRI0lJSaFp06bs2rXrjVnjDNBZ5f+5ztfK+Dt9yLs1hRBCCPFU+e/WjGrVBMsyz9+uk56djefBYyV6t+Y/gYw5E0IIIYR4jUi3phBCCCH0UuLXN5Xg3H8SSc6EEEIIoZcSL0IrY870It2aQgghhBCvEWk5E0IIIYRepFuzdEhyJoQQQgi9qFQGqAyev9NNpZIOO31IciaEEEIIvUjLWemQFFaIUpKZmUlQUBCZmZmvuirP7U24B5D7eJ28CfcAb859iNeDLEIrRCnJX8Tx77z44ptwDyD38Tp5E+4B3pz7KEr+/cX4tMbSqASL0GZl02zHgTf2Ob0o0q0phBBCCL1It2bpkG5NIYQQQojXiLScCfEccnNzuXHjBlZWVqhU+v0lmJaWpvPfv6M34R5A7uN18ibcA7ye96HVarl37x4ODg4YlGCG5eNUBiWcrfmC6vGmk+RMiOdw48YNHB0dn+vc5z3vdfIm3APIfbxO3oR7gNfzPq5du0blypVfSFnSrVk6JDkT4jlYWVkB0KjdTxiWMX/FtRFCiIJysu8Tt7e38u+V+PuQ5EyI55DflWlYxpwyRhavuDZCCFE0fYde6FWWtJyVCknOhBBCCKEXSc5Kh4zME0IIIYR4jUjLmRBCCCH0ktdyVpLZmtJypg9pOXuNZGVl4efnx/79+191VYQQQogCVAYqDAyff5PkTD+SnL0msrKy6Nu3L2vXrqVz586SoAkhhBD/UK88OQsJCaFs2bKvuhol5u/vT48ePZ7r3KysLPr3709mZiYzZsxg2rRpzJ49mwMHDrzYSj6Dk5MTixcvfqFlenp6Mm7cuBda5pOioqJQqVTcvXv3pV5HCCH+6fInBJRkE8+md3K2YsUKrKysyM7OVvalp6djZGRE69atdWIPHDiASqXiwoULL66mRXjvvfcwNDQkLCyswLHCko3XLRnMbzFr1aoVS5YswdbWlpo1a7Jt2zZ++OEHvRK0nJwcgoODqVWrFmZmZpQrV45mzZqxevXqF1rXoKAgGjRoUKxzNm7cyMyZM19YHQpL9lq0aEFSUhJqtfqFXUcIIURB+W8IKMkmnk3vCQFeXl6kp6dz/PhxmjVrBuQlYRqNhtjYWO7fv4+5ed5inFFRUTg4OODs7Pxyav3/3b9/n/Xr1zNp0iRWrVpFv379Xur1XrT8xCw8PJyLFy8yceJEcnJyAAgPD6d379507tyZ7du3F0iAHxcUFMTXX3/NsmXLcHd3Jy0tjePHj5OSklJat1KkcuXKvfRrGBsbo9FoXvp1hBDin06W0igdeqewLi4uODg4EBUVpeyLioqie/fuVK9encOHD+vs9/LyAuDRo0d89NFHVKpUCQsLC5o2bapTRr5Nmzbh7OyMqakpHTp04Nq1a8+s008//YSrqytTpkzh0KFDJCYmKsc8PT25cuUK48ePR6VSoVKpiIqKYujQoaSmpir7goKCAFi7di3u7u5YWVmh0WgYMGAAt27d0rnemTNn6NKlC9bW1lhZWdG6dWsuXbpUaN3i4uKwt7fn888/L/T444kZwOnTp5XEzMDAgEqVKnHlyhXS09Pp3LkzBw8eLPI5bNmyhZEjR9K7d2+qVq1K/fr1GT58OBMmTFBiMjIyGDx4MJaWllSsWJEFCxaUuMsxvyt3/vz5VKxYkfLlyzNq1CiysrKUmCevoc/3w6FDh/Dw8MDc3BwbGxu8vb1JSUnB39+f6OholixZonz9EhMTC+3W3LBhA3Xq1MHExAQnJycWLFigcw0nJydmzZrFsGHDsLKyokqVKnz99ddF3mtmZiZpaWk6mxBCCPEyFKt90dPTk3379imf9+3bh6enJx4eHsr+R48eceTIESU5Gzp0KIcOHSIsLIyTJ0/Su3dvOnXqxMWLF5Vy7t+/z+eff05oaCiHDh0iLS1Nr1awVatWMWjQINRqNZ07d9bpxtu4cSOVK1dmxowZJCUlkZSURIsWLVi8eDHW1tbKvokTJyr1njlzJr/99hubNm3i8uXL+Pv7K+X98ccftGnTBlNTUyIjI4mLi2PYsGE63bz5oqKiaNeuHZ9++inTpk0rcDw7O1snMXucSqVixYoVVKxYkenTpwN53cc+Pj5FJmgajYbIyEj+/PPPIp/VpEmT2LdvH+Hh4ezatYuoqCji4uKKjNfXvn37uHTpEvv27SM0NJSQkBBCQkKKjH/W90N8fDzt2rWjTp06HDlyhIMHD+Lr60tOTg5LliyhefPmBAQEKF+/wt5jFxcXR58+fejXrx+nTp0iKCiI6dOnF6jXggULcHd358SJE4wcOZIPPviAc+fOFVrv4OBg1Gq1sr2O788TQoiXTcaclY5irXPm6enJ+PHjyc7O5sGDB5w4cYI2bdqQk5PDF198AUBMTAwPHjzAy8uLS5cu8cMPP3D9+nUcHBwAmDhxIhEREaxevZpZs2YBea1Iy5Yto2nTpgCEhoZSu3Ztjh07RpMmTQqty8WLF4mJiWHjxo0ADBo0iLFjx/LJJ59gYGBAuXLlMDQ0VFrC8qnValQqVYFusGHDhin/X61aNb744guaNGlCeno6lpaWfPnll6jVasLCwjAyMgIotNv2l19+wc/Pj6+++or+/fsXWncDAwMsLS0LPTZ9+nS6detGq1atuH79urLfyMhI6TZ+0sKFC3nnnXfQaDTUqVOHFi1a0L17d3x8fIC85G7VqlV89913dOjQAch7xi/iRbg2NjYsW7YMQ0NDatWqRZcuXdi7dy8BAQEFYvX5fpg7dy7u7u7897//Vc6rU6eO8v/GxsaYm5s/tRtz4cKFtGvXTklunZ2dOXv2LPPmzdNJuDt37szIkSMBmDx5MosWLSIqKopatWoVKHPKlCk6LZFpaWmSoAkh/nFKOm5Mxpzpp1hPycvLi4yMDGJjYzlw4ADOzs7Y29vj4eFBbGwsGRkZREVFUaVKFapVq8avv/6KVqvF2dkZS0tLZYuOjtbpDixTpgzu7u7K51q1alG2bFkSEhKKrMuqVavw9vbG1tYWyPtFm5GRwZ49e4r7DAA4ceIE3bt356233sLKygpPT08Arl69CuS16LRu3VpJzApz9OhRevXqRWhoaJGJGeQlZyEhIfj5+RU41qdPH+bNm8fvv/+u7LOxsWHPnj28/fbbhZbn6urK6dOniYmJYejQody8eRNfX1/effddIC8pevToEc2bN1fOKVeuHC4uLkU/ED3VqVMHQ0ND5XPFihULdAfn0+f7Ib/lrCQSEhJo2bKlzr6WLVty8eJFpesYoF69esr/5yfsRdXdxMQEa2trnU0IIYR4GYrVclajRg0qV67Mvn37SElJwcPDA8jrVqtatSqHDh1i3759tG3bFoDc3FwMDQ2Ji4vT+QUOFGg5KuzFrEW9rDUnJ4fvvvuO5ORkypQpo7N/1apVdOzYsTi3RUZGBh07dqRjx46sXbsWOzs7rl69ire3N48ePQLAzMzsmeVUr16d8uXL8+2339KlSxeMjY2LjM1P0ADWrFmj7C9fvjypqanK52clZo+X17hxYxo3bsz48eNZu3Ytfn5+TJs2Da1W+8y6P68nk1WVSkVubm6hsfp8P+jznJ9Fq9UW+N4p7BkUp+5CCCFkQkBpKfbrm7y8vIiKiiIlJYVJkyYp+z08PNi5c6fSegPQsGFDcnJyuHXr1lNnG2ZnZ3P8+HGlC/P8+fPcvXu30O4lgO3bt3Pv3j1OnDih80v+3LlzDBw4kDt37lC+fHmMjY11WkqAQvedO3eO27dvM3v2bKWr6vjx4zox9erVIzQ0lKysrCJbz2xtbdm4cSOenp707duXH3/88aktbYUlaBUrVlSO29jYsHv37mcmZoVxdXUF8hLPGjVqYGRkRExMDFWqVAEgJSWFCxcuKAl2adDn+6FevXrs3buXTz/9tNDjhX39nuTq6lpgfN7hw4dxdnYukBQKIYTQn3Rrlo5iPyUvLy8OHjxIfHy8zi92Dw8PVq5cycOHD5XJAM7OzgwcOJDBgwezceNGLl++TGxsLHPmzGH79u3KuUZGRowZM4ajR4/y66+/MnToUJo1a1bkeLNVq1bRpUsX6tevj5ubm7L16tULOzs71q5dC+TNyNu/fz9//PEHt2/fVvalp6ezd+9ebt++zf3796lSpQrGxsYsXbqU//3vf2zevLnA2lyjR49WJiocP36cixcvsmbNGs6fP68TZ29vT2RkJOfOnaN///6FThh43JNdnCkpKXz44YdKYtaoUaNnfk3eeecdFi1axNGjR7ly5QpRUVGMGjUKZ2dnatWqhaWlJcOHD2fSpEns3buX06dP4+/vj0Ep/5Do8/0wZcoUYmNjGTlyJCdPnuTcuXMsX75c5+t39OhREhMTuX37dqEtXYGBgezdu5eZM2dy4cIFQkNDWbZsmTL5QwghhHidPVdy9uDBA2rUqEGFChWU/R4eHty7d4/q1avrDJRevXo1gwcPJjAwEBcXF7p168bRo0d1YszNzZk8eTIDBgygefPmmJmZFbqoLMDNmzfZtm0bvXr1KnBMpVLRs2dPVq1aBcCMGTNITEykevXq2NnZAXkLlo4YMYK+fftiZ2fH3LlzsbOzIyQkRFmaY/bs2cyfP1+n7PLlyxMZGUl6ejoeHh40atSIlStXFtoylj978tSpUwwcOPCZLT2PJ2h79+4lLS1N78QMwNvbmy1btuDr64uzszNDhgyhVq1a7Nq1S+n2nTdvHm3atKFbt260b9+eVq1a6V3+i/Ss7wdnZ2d27drFb7/9RpMmTWjevDm//PKLch8TJ07E0NAQV1dXpfv5SW+//TY//vgjYWFhuLm58fHHHzNjxgydyQBCCCGeg0pV8k08k0r7MgckiWLJzc1l7Nix+Pv760yQeFk8PT1p0KDBC39l0+OaN29Ou3bt+Oyzz17aNV6FtLQ01Go1Tby3UcbI4lVXRwghCsjOyuDYzi6kpqaWeBJT/r95Ce//CyuToofrPMu9zCxqfxX+Qur0JpPO39eIgYGBssr/311mZibHjx/nzJkzOkthCCGEEOLpJDkTL8WOHTto27Ytvr6+vPPOO6+6OkIIIV4Aebdm6Sj2bE3x5ijsNVovSo8ePeQVR0II8YaRpTRKh6SwQgghhBCvEUnOhBBCCKGX0u7WXL58OfXq1VPezNK8eXN27NihHNdqtQQFBeHg4ICZmRmenp6cOXNGp4zMzEzGjBmDra0tFhYWdOvWTef1iJC3jJWfn5/y/mQ/Pz/u3r2rE3P16lV8fX2xsLDA1taWsWPHKgvV5zt16hQeHh6YmZlRqVIlZsyY8VwLwUtyJoQQQgi9qAxK+vLz4l2vcuXKzJ49m+PHj3P8+HHatm1L9+7dlQRs7ty5LFy4kGXLlhEbG4tGo6FDhw7cu3dPKWPcuHGEh4cTFhbGwYMHSU9Pp2vXrjrLXA0YMID4+HgiIiKIiIggPj5e5xWLOTk5dOnShYyMDA4ePEhYWBgbNmwgMDBQiUlLS6NDhw44ODgQGxvL0qVLmT9/PgsXLiz+c5alNIQoPllKQwjxunsZS2n8Pr4vViZFv5rwWe5lPqLGovUlqlO5cuWYN28ew4YNw8HBgXHjxjF58mQgr5WsQoUKzJkzh/fff5/U1FTs7OxYs2YNffv2BeDGjRs4Ojqyfft2vL29SUhIwNXVlZiYGJo2bQpATEwMzZs359y5c7i4uLBjxw66du3KtWvXcHBwACAsLAx/f39u3bqFtbU1y5cvZ8qUKdy8eRMTExMAZs+ezdKlS7l+/XqRr6QsjLScCSGEEKJUpaWl6WyZmZnPPCcnJ4ewsDAyMjJo3rw5ly9fJjk5Wed92iYmJnh4eHD48GEA4uLiyMrK0olxcHDAzc1NiTly5AhqtVpJzACaNWuGWq3WiXFzc1MSM8hbAD4zM5O4uDglxsPDQ0nM8mNu3LhBYmJisZ6PJGdCCCGE0I+BQck3wNHRURnfpVarCQ4OLvKSp06dwtLSEhMTE0aMGEF4eDiurq4kJycD6LytKP9z/rHk5GSMjY2xsbF5aoy9vX2B69rb2+vEPHkdGxsbjI2NnxqT/zk/Rl+ylIYQQggh9KJSqYrVPVfY+QDXrl3T6dZ8vLXpSS4uLsTHx3P37l02bNjAkCFDiI6OLlBmPq1W+8w6PhlTWPyLiMkfOVbcZyYtZ6LUZWVl4efnx/79+191VYQQQrwC+bMv87enJWfGxsbUqFEDd3d3goODqV+/PkuWLEGj0QAFW6Vu3bqltFhpNBoePXpESkrKU2Nu3rxZ4Lp//vmnTsyT10lJSSErK+upMbdu3QIKtu49iyRnolRlZWXRt29f1q5dS+fOnSVBE0KIv5HX4Q0BWq2WzMxMqlatikajYffu3cqxR48eER0dTYsWLQBo1KgRRkZGOjFJSUmcPn1aiWnevDmpqakcO3ZMiTl69Cipqak6MadPnyYpKUmJ2bVrFyYmJjRq1EiJ2b9/v87yGrt27cLBwQEnJ6di3aMkZ6UkJCSEsmXLvupqlJi/vz89evR4rnOzsrLo378/mZmZzJgxg2nTpjF79mwOHDjwYisphBDipSjZMhrFf7vA1KlTOXDgAImJiZw6dYpp06YRFRXFwIEDUalUjBs3jlmzZhEeHs7p06fx9/fH3NycAQMGAKBWqxk+fDiBgYHs3buXEydOMGjQIOrWrUv79u0BqF27Np06dSIgIICYmBhiYmIICAiga9euuLi4ANCxY0dcXV3x8/PjxIkT7N27l4kTJxIQEKB0zw4YMAATExP8/f05ffo04eHhzJo1iwkTJki3ZkmtWLECKysrsrOzlX3p6ekYGRnRunVrndgDBw6gUqm4cOHCS6/Xe++9h6GhIWFhYQWOOTk5sXjxYp19r1symN9i1qpVK5YsWYKtrS01a9Zk27Zt/PDDD3olaB999BFOTk4669cA+Pr60qZNG3JzcwE4ceIEXbt2xd7eHlNTU5ycnOjbty+3b99WztmwYQNNmzZFrVZjZWVFnTp1dNarEUII8erdvHkTPz8/XFxcaNeuHUePHiUiIoIOHToAeb8Xxo0bx8iRI3F3d+ePP/5g165dWFlZKWUsWrSIHj160KdPH1q2bIm5uTlbtmzB0NBQiVm3bh1169alY8eOdOzYkXr16rFmzRrluKGhIdu2bcPU1JSWLVvSp08fevTowfz585UYtVrN7t27uX79Ou7u7owcOZIJEyYwYcKEYt+3TAh4gpeXF+np6Rw/fpxmzZoBeUmYRqMhNjaW+/fvY25uDuS9m9LBwQFnZ+eXWqf79++zfv16Jk2axKpVq+jXr99Lvd6Llp+YhYeHc/HiRSZOnKgs/hceHk7v3r3p3Lkz27dvL5AAP27mzJls376dCRMmsHLlSgC+/fZb9u3bx2+//YaBgQG3bt2iffv2+Pr6snPnTsqWLcvly5fZvHkz9+/fB2DPnj3069ePWbNm0a1bN1QqFWfPnmXv3r0v/2EIIcTfmer/Zlw+9/nFsGrVqqcXp1IRFBREUFBQkTGmpqYsXbqUpUuXFhlTrlw51q5d+9RrValSha1btz41pm7dui9kuI60nD3BxcUFBwcHnZeCR0VF0b17d6pXr66seZK/38vLC8jr5/7oo4+oVKkSFhYWNG3atNAXi2/atAlnZ2dMTU3p0KED165de2adfvrpJ1xdXZkyZQqHDh3SWS/F09OTK1euMH78eGUWTVRUFEOHDiU1NVXZl/+Nu3btWtzd3bGyskKj0TBgwABlwGK+M2fO0KVLF6ytrbGysqJ169ZcunSp0LrFxcVhb2/P559/XujxxxMzgNOnTyuJmYGBAZUqVeLKlSukp6fTuXNnDh48WORzMDExITQ0lNDQUCIiIrh69Srjx49n7ty5VK9eHYDDhw+TlpbGN998Q8OGDalatSpt27Zl8eLFVKlSBYCtW7fSqlUrJk2ahIuLC87OzvTo0eOpP7hCCCGAknZpyovP9SLJWSE8PT3Zt2+f8nnfvn14enri4eGh7H/06BFHjhxRkrOhQ4dy6NAhwsLCOHnyJL1796ZTp05cvHhRKef+/ft8/vnnhIaGcujQIdLS0vRqBVu1ahWDBg1CrVbTuXNnVq9erRzbuHEjlStXZsaMGSQlJZGUlESLFi1YvHgx1tbWyr6JEycq9Z45cya//fYbmzZt4vLly/j7+yvl/fHHH7Rp0wZTU1MiIyOJi4tj2LBhOt28+aKiomjXrh2ffvop06ZNK3A8OztbJzF7nEqlYsWKFVSsWJHp06cDed3HPj4+T03QGjVqxJQpU3j33Xfx8/OjcePGfPDBB8pxjUZDdnY24eHhRb7PTKPRcObMGU6fPl3kdZ6UmZlZYNFEIYQQ4mWQbs1CeHp6Mn78eLKzs3nw4AEnTpygTZs25OTk8MUXXwB5r3Z48OABXl5eXLp0iR9++IHr168rqwdPnDiRiIgIVq9ezaxZs4C8VqRly5YpqxCHhoZSu3Ztjh07RpMmTQqty8WLF4mJiWHjxo0ADBo0iLFjx/LJJ59gYGBAuXLlMDQ0VFrC8qnValQqlc4+gGHDhin/X61aNb744guaNGlCeno6lpaWfPnll6jVasLCwjAyMgIotNv2l19+wc/Pj6+++or+/fsXWncDAwMsLS0LPTZ9+nS6detGq1atdF5Aa2RkpHQbF+U///kPq1ev5ujRo1y4cEFnoGWzZs2YOnUqAwYMYMSIETRp0oS2bdsyePBgZSrzmDFjOHDgAHXr1uWtt96iWbNmdOzYkYEDBxY5nTs4OJhPP/30qfUSQog3nUplgKq4L8h84nzxbPKUCuHl5UVGRgaxsbEcOHAAZ2dn7O3t8fDwIDY2loyMDKKioqhSpQrVqlXj119/RavV4uzsjKWlpbJFR0frdAeWKVMGd3d35XOtWrUoW7YsCQkJRdZl1apVeHt7Y2trC0Dnzp3JyMhgz549z3VvJ06coHv37rz11ltYWVnh6ekJwNWrVwGIj4+ndevWSmJWmKNHj9KrVy9CQ0OLTMwgLzkLCQnReXlsvj59+jBv3jx+//13ZZ+NjQ179uzh7bfffuo97N69m6SkJLRaLbGxsQWOf/755yQnJ7NixQpcXV1ZsWIFtWrV4tSpUwBYWFiwbds2fv/9d/7zn/9gaWlJYGAgTZo0UcalPWnKlCmkpqYqmz7d0UII8cbJ75osySaeSVrOClGjRg0qV67Mvn37SElJwcPDA8jrDqtatSqHDh1i3759tG3bFoDc3FwMDQ2Ji4vTmf0BFGg5Kmw6bVFTbHNycvjuu+9ITk6mTJkyOvtXrVql864wfWRkZCgzUdauXYudnR1Xr17F29tbWZfFzMzsmeVUr16d8uXL8+2339KlSxeMjYt+CW5+ggbozHwpX748qampymd9E7OUlBQCAgKYOnUqRkZGjBw5Eg8PDyV5fbz83r1707t3b4KDg2nYsCHz588nNDRU5z6qV6/Ou+++y7Rp03B2dmb9+vUMHTq0wHVNTEyeukiiEEII8aJIclYELy8voqKiSElJYdKkScp+Dw8Pdu7cSUxMjPJLvGHDhuTk5HDr1q2nzjbMzs7m+PHjShfm+fPnuXv3LrVq1So0fvv27dy7d48TJ07oJH3nzp1j4MCB3Llzh/Lly2NsbKwMss9X2L5z585x+/ZtZs+ejaOjIwDHjx/XialXrx6hoaFkZWUV2Xpma2vLxo0b8fT0pG/fvvz4449PbWkrLEGrWLGictzGxobdu3c/MzGDvC5Je3t7/vOf/6BSqdi0aROjR48udImRfMbGxlSvXp2MjIwiY5ycnDA3N39qjBBC/NOVdCHZF7EI7T+BPKUieHl5cfDgQeLj45WWM8hLzlauXMnDhw+VyQDOzs4MHDiQwYMHs3HjRi5fvkxsbCxz5sxh+/btyrlGRkaMGTOGo0eP8uuvvzJ06FCaNWtW5HizVatW0aVLF+rXr4+bm5uy9erVCzs7O2Xar5OTE/v37+ePP/5Q1vJycnIiPT2dvXv3cvv2be7fv0+VKlUwNjZm6dKl/O9//2Pz5s3MnDlT55qjR49WJiocP36cixcvsmbNGs6fP68TZ29vT2RkJOfOnaN///6FThh43JNdnCkpKXz44YdKYpa/wvLThIeH89NPPxEaGoqRkRFlypQhJCSE8PBwNmzYAOTNxBw0aBBbt27lwoULnD9/nvnz57N9+3a6d+8OQFBQEB999BFRUVFcvnyZEydOMGzYMLKyspS1c4QQQhRU2ovQ/lNJclYELy8vHjx4QI0aNXTeieXh4cG9e/eoXr260voEsHr1agYPHkxgYCAuLi5069aNo0eP6sSYm5szefJkBgwYQPPmzTEzMyuyxefmzZts27aNXr16FTimUqno2bOnsv7LjBkzSExMpHr16tjZ2QHQokULRowYQd++fbGzs2Pu3LnY2dkREhKiLM0xe/ZsnQX0IK87MDIykvT0dDw8PGjUqBErV64stGVMo9EQGRnJqVOnGDhwYIGWuic9nqDt3buXtLQ0vROz27dvM2LECD755BPq1aun7Hdzc+OTTz5h5MiR3L59G1dXV8zNzQkMDKRBgwY0a9aMH3/8kW+++UZJDD08PPjf//7H4MGDqVWrFj4+PiQnJ7Nr1y5lNWghhBCFUKny1ip77k2SM32otEWtNyDES5Kbm8vYsWPx9/fXmSDxd5KWloZaraaJ9zbKGFm86uoIIUQB2VkZHNvZhdTUVOUVQ88r/9+8qzPfx9r0+cffpj3MpMr0r15Ind5kMuZMlDoDAwOWLVv2qqshhBCimEraNSndmvqR5EwIIYQQ+jEo4eubZEKAXuQpCSGEEEK8RqTlTAghhBB6yX9fc0nOF88myZkQQggh9KMqYbemvL5JL/KUhBBCCCFeI9JyJoQQQgi9yGzN0iHJmRBCCCH0k7+YbEnOF88kT0kIIYQQ4jUiLWdCCCGE0I+BKm8ryfnimSQ5E0IIIYReVCoDVCXomizJuf8k8pSEEEIIIV4j0nImhBBCCP1It2apkJYzUWJRUVGoVCru3r37UsoPCgqiQYMGJS4nJCSEsmXLlrgcIYT4p1IZGJR4E88mT+lvwt/fX3lthpGRERUqVKBDhw58++235ObmFqusnJwcgoODqVWrFmZmZpQrV45mzZqxevXql1T710Pfvn25cOHCq66GEEL8falUJd/EM0m35t9Ip06dWL16NTk5Ody8eZOIiAg+/PBDfv75ZzZv3kyZMvp9OYOCgvj6669ZtmwZ7u7upKWlcfz4cVJSUl7yHbw6WVlZmJmZYWZm9qqrIoQQQjyVtJz9jZiYmKDRaKhUqRJvv/02U6dO5ZdffmHHjh2EhIQocVevXqV79+5YWlpibW1Nnz59uHnzpnJ8y5YtjBw5kt69e1O1alXq16/P8OHDmTBhQpHXvnLlCr6+vtjY2GBhYUGdOnXYvn17kfEbNmygTp06mJiY4OTkxIIFC5RjS5cupW7dusrnTZs2oVKp+PLLL5V93t7eTJkypdCyc3NzmTFjBpUrV8bExIQGDRoQERGhHE9MTESlUvHjjz/i6emJqakpa9euLdCt+dtvv+Hl5YWVlRXW1tY0atSI48ePF3lPQgjxj2egynu35nNv0nKmD0nO/ubatm1L/fr12bhxIwBarZYePXrw119/ER0dze7du7l06RJ9+/ZVztFoNERGRvLnn3/qfZ1Ro0aRmZnJ/v37OXXqFHPmzMHS0rLQ2Li4OPr06UO/fv04deoUQUFBTJ8+XUkgPT09OXPmDLdv3wYgOjoaW1tboqOjAcjOzubw4cN4eHgUWv6SJUtYsGAB8+fP5+TJk3h7e9OtWzcuXryoEzd58mTGjh1LQkIC3t7eBcoZOHAglStXJjY2lri4OP79739jZGRU6DUzMzNJS0vT2YQQ4h9HujVLhXRrvgFq1arFyZMnAdizZw8nT57k8uXLODo6ArBmzRrq1KlDbGwsjRs3ZuHChbzzzjtoNBrq1KlDixYt6N69Oz4+PkVe4+rVq/Tq1Utp8apWrVqRsQsXLqRdu3ZMnz4dAGdnZ86ePcu8efPw9/fHzc2N8uXLEx0dTa9evYiKiiIwMJBFixYBEBsby8OHD2nVqlWh5c+fP5/JkyfTr18/AObMmcO+fftYvHixTuvbuHHj6Nmz51PvadKkSdSqVQuAmjVrFhkbHBzMp59+WuRxIYQQ4kWRlrM3gFarRfX//xpJSEjA0dFRScwAXF1dKVu2LAkJCcrn06dPExMTw9ChQ7l58ya+vr68++67RV5j7NixfPbZZ7Rs2ZJPPvlESQYLk5CQQMuWLXX2tWzZkosXL5KTk4NKpaJNmzZERUVx9+5dzpw5w4gRI8jJySEhIYGoqCjefvvtQlvm0tLSuHHjRqHl599fPnd39yLrCDBhwgTeffdd2rdvz+zZs7l06VKRsVOmTCE1NVXZrl279tSyhRDiTSSzNUuHPKU3QEJCAlWrVgV0E7XHPbnfwMCAxo0bM378eMLDwwkJCWHVqlVcvny50Gu8++67/O9//8PPz49Tp07h7u7O0qVLC40trA5arVbns6enJ1FRURw4cID69etTtmxZ2rRpQ3R0NFFRUXh6ej71ngsr/8l9FhYWTy0jKCiIM2fO0KVLFyIjI3F1dSU8PLzQWBMTE6ytrXU2IYT4x8l/8XlJNvFM8pT+5iIjIzl16hS9evUC8lrFrl69qtOyc/bsWVJTU6ldu3aR5bi6ugKQkZFRZIyjoyMjRoxg48aNBAYGsnLlyiLLOnjwoM6+w4cP4+zsjKGhIfB/485+/vlnJRHz8PBgz549Tx1vZm1tjYODQ6HlP+3+iuLs7Mz48ePZtWsXPXv2fOOXExFCCPH6kzFnfyOZmZkkJyfrLKURHBxM165dGTx4MADt27enXr16DBw4kMWLF5Odnc3IkSPx8PBQuvneeecdWrZsSYsWLdBoNFy+fJkpU6bg7OysjL960rhx4/Dx8cHZ2ZmUlBQiIyOLTIYCAwNp3LgxM2fOpG/fvhw5coRly5bx3//+V4nJH3e2bt06fvnlFyAvYQsMDAQocrwZwKRJk/jkk0+oXr06DRo0YPXq1cTHx7Nu3Tq9n+WDBw+YNGkS77zzDlWrVuX69evExsYqSa4QQohCqEr4hgCZEKAXSc7+RiIiIqhYsSJlypTBxsaG+vXr88UXXzBkyBAM/n8/vkqlYtOmTYwZM4Y2bdpgYGBAp06ddLogvb29+eGHHwgODiY1NRWNRkPbtm0JCgoqcq20nJwcRo0axfXr17G2tqZTp07KAP4nvf322/z44498/PHHzJw5k4oVKzJjxgz8/f2VGJVKhYeHB5s2baJ169YA1KtXD7VaTbVq1Z7abTh27FjS0tIIDAzk1q1buLq6snnz5qcO6H+SoaEhd+7cYfDgwdy8eRNbW1t69uwpg/6FEOIp5MXnpUOlfXIwkBDimdLS0lCr1TTx3kYZo6ePbRNCiFchOyuDYzu7kJqaWuJxsvn/5t38Jghrc9PnL+f+Qyq8G/RC6vQmk5YzIYQQQuhHXnxeKiQ5E0IIIYR+SjrjUro19SLJmRBCCCH0U9JV/mVCgF4khRVCCCGEeI1Iy5kQQggh9JP/AvOSnC+eSZIzIYQQQuhHxpyVCnlKQgghhHgtBQcH07hxY6ysrLC3t6dHjx6cP39eJ8bf3x+VSqWzNWvWTCcmMzOTMWPGYGtri4WFBd26deP69es6MSkpKfj5+aFWq1Gr1fj5+XH37l2dmKtXr+Lr64uFhQW2traMHTuWR48e6cScOnUKDw8PzMzMqFSpEjNmzCjwCsNnkeRMCCGEEPrJX0qjJFsxREdHM2rUKGJiYti9ezfZ2dl07NixwKsGO3XqRFJSkrJt375d5/i4ceMIDw8nLCyMgwcPkp6eTteuXcnJyVFiBgwYQHx8PBEREURERBAfH4+fn59yPCcnhy5dupCRkcHBgwcJCwtjw4YNypttIG89uA4dOuDg4EBsbCxLly5l/vz5LFy4sFj3Ld2aQgghhNCPSlXCbs3iJWcRERE6n1evXo29vT1xcXG0adNG2W9iYoJGoym0jNTUVFatWsWaNWto3749AGvXrsXR0ZE9e/bg7e1NQkICERERxMTE0LRpUwBWrlxJ8+bNOX/+PC4uLuzatYuzZ89y7do1HBwcAFiwYAH+/v58/vnnWFtbs27dOh4+fEhISAgmJia4ublx4cIFFi5cyIQJE1Dpef/SciaEEEKIUpWWlqazZWZm6nVeamoqAOXKldPZHxUVhb29Pc7OzgQEBHDr1i3lWFxcHFlZWXTs2FHZ5+DggJubG4cPHwbgyJEjqNVqJTEDaNasGWq1WifGzc1NScwg73WImZmZxMXFKTEeHh6YmJjoxNy4cYPExES97hEkORNCCCGEvvLXOSvJBjg6Oipju9RqNcHBwc+8tFarZcKECbRq1Qo3Nzdlv4+PD+vWrSMyMpIFCxYQGxtL27ZtlYQvOTkZY2NjbGxsdMqrUKECycnJSoy9vX2Ba9rb2+vEVKhQQee4jY0NxsbGT43J/5wfow/p1hRCCCGEfl7QUhrXrl3Tebfm4y1NRRk9ejQnT57k4MGDOvv79u2r/L+bmxvu7u689dZbbNu2jZ49exZZnlar1elmLKzL8UXE5E8G0LdLE6TlTDynxMREVCoV8fHxRcZERUWhUqkKzHYRQgjxz2Ztba2zPSs5GzNmDJs3b2bfvn1Urlz5qbEVK1bkrbfe4uLFiwBoNBoePXpESkqKTtytW7eUVi2NRsPNmzcLlPXnn3/qxDzZ+pWSkkJWVtZTY/K7WJ9sUXsaSc5K0ePTfY2MjKhQoQIdOnTg22+/JTc3t1hl5eTkEBwcTK1atTAzM6NcuXI0a9aM1atXP/U8rVarDHK0trbG0tKSOnXq8OGHH/L777+X5PZKzZNTpvO3sLCwV101IYR4s72gbk19abVaRo8ezcaNG4mMjKRq1arPPOfOnTtcu3aNihUrAtCoUSOMjIzYvXu3EpOUlMTp06dp0aIFAM2bNyc1NZVjx44pMUePHiU1NVUn5vTp0yQlJSkxu3btwsTEhEaNGikx+/fv11leY9euXTg4OODk5KT3fUtyVsryp/smJiayY8cOvLy8+PDDD+natSvZ2dl6lxMUFMTixYuZOXMmZ8+eZd++fQQEBBT4y+BxWq2WAQMGMHbsWDp37syuXbs4efIkX3zxBWZmZnz22Wcv4hZLxerVq3WmTSclJdGjR49XXS0hhHiz5S9CW5KtGEaNGsXatWv5/vvvsbKyIjk5meTkZB48eABAeno6EydO5MiRIyQmJhIVFYWvry+2trb861//AkCtVjN8+HACAwPZu3cvJ06cYNCgQdStW1eZvVm7dm06depEQEAAMTExxMTEEBAQQNeuXXFxcQGgY8eOuLq64ufnx4kTJ9i7dy8TJ04kICBA6aIdMGAAJiYm+Pv7c/r0acLDw5k1a1axZmqCJGelLn+6b6VKlXj77beZOnUqv/zyCzt27CAkJESJu3r1Kt27d8fS0hJra2v69Omj0+S6ZcsWRo4cSe/evalatSr169dn+PDhTJgwochrr1+/nrCwMNavX8/06dNp1qwZ1apVo127dsyePVun1S03N5cZM2ZQuXJlTExMaNCgQYEpzU/avn07zs7OmJmZ4eXlVejMlMOHD9OmTRvMzMxwdHRk7NixOuvVODk5MWvWLIYNG4aVlRVVqlTh66+/LlBO2bJl0Wg0OpupqSkZGRlYW1vz888/68Rv2bIFCwsL7t27B8Aff/xB3759sbGxoXz58nTv3r1YM2mEEEK8fMuXLyc1NRVPT08qVqyobOvXrwfA0NCQU6dO0b17d5ydnRkyZAjOzs4cOXIEKysrpZxFixbRo0cP+vTpQ8uWLTE3N2fLli0YGhoqMevWraNu3bp07NiRjh07Uq9ePdasWaMcNzQ0ZNu2bZiamtKyZUv69OlDjx49mD9/vhKjVqvZvXs3169fx93dnZEjRzJhwoSn/m4ujEpb3GVrxXPz9/fn7t27bNq0qcCxBg0a4ODgwPbt29FqtTRq1AgLCwsWL15MdnY2I0eOxMrKiqioKCCvBe7Bgwf8/PPP2NnZ6XX97t27c/78ec6dO/fM2EWLFhEUFMRXX31Fw4YN+fbbb1m0aBFnzpyhZs2aJCYmUrVqVU6cOEGDBg24du0aNWvWZMSIEXzwwQccP36cwMBAbt68SUpKCmXLluXUqVO0aNGCmTNn0qVLF/78809Gjx5N/fr1lcTQycmJe/fuMXPmTDp27MjPP//MtGnTOHPmDLVq1QLyujXDw8OLbCl77733+OOPP9i2bZuyr2fPnlhZWREaGsr9+/dp0KABrVu3Zty4cZQpU4bPPvuMuLg4Tp48ibGx8TOfT1paGmq1mibe2yhjZKHH0xdCiNKVnZXBsZ1dSE1N1Rl8/zzy/827+fMXWFuYPX85GQ+o8M7YF1KnN5m0nL0matWqpbTc7Nmzh5MnT/L999/TqFEjmjZtypo1a4iOjiY2NhaAhQsX8ueff6LRaKhXrx4jRoxgx44dT73GhQsXlObZfOPGjcPS0hJLS0udQZbz589n8uTJ9OvXDxcXF+bMmUODBg1YvHhxoWUvX76catWqsWjRIlxcXBg4cCD+/v46MfPmzWPAgAGMGzeOmjVr0qJFC7744gu+++47Hj58qMR17tyZkSNHUqNGDSZPnoytra2SlObr37+/Uu/87X//+x8A7777Ljt37uTGjRsA3L59m61btzJs2DAAwsLCMDAw4JtvvqFu3brUrl2b1atXc/Xq1QLXyZeZmVlgXR4hhPjHKeUxZ/9Ukpy9Jh6fipuQkICjoyOOjo7KcVdXV8qWLUtCQoLy+fTp08TExDB06FBu3ryJr68v77777lOv82Sf97Rp04iPj+fjjz8mPT0dyPsL6caNG7Rs2VIntmXLlsr1n5SQkECzZs10ym/evLlOTFxcHCEhIToJlbe3N7m5uVy+fFmJq1evnk59NRqNzoKCkNeyFx8fr7PlP68mTZpQp04dvvvuOwDWrFlDlSpVlNWk4+Li+P3337GyslLqUa5cOR4+fMilS5cKvb/g4GCdNXke/9oIIcQ/RimPOfunknXOXhMJCQnKLJQn10zJ9+R+AwMDGjduTOPGjRk/fjxr167Fz8+PadOmFTqjpWbNmgW6NO3s7LCzsyt08b3C1mopakCjPr3jubm5vP/++4wdO7bAsSpVqij/b2RkVKAeT85m1Wg01KhRo8hrvfvuuyxbtox///vfrF69mqFDhyp1z83NpVGjRqxbt67AeUV1EU+ZMkVnzEBaWpokaEIIIV4KSWFfA5GRkZw6dYpevXoBea1iV69e5dq1a0rM2bNnSU1NpXbt2kWW4+rqClDghbD5+vfvz/nz5/nll1+eWh9ra2scHBwKLPR3+PDhIq/v6upKTEyMzr4nP7/99tucOXOGGjVqFNj0GedVHIMGDeLq1at88cUXnDlzhiFDhujU4+LFi9jb2xeoh1qtLrQ8ExOTAuvyCCHEP450a5YKSc5KWWZmJsnJyfzxxx/8+uuvzJo1i+7du9O1a1cGDx4MQPv27alXrx4DBw7k119/5dixYwwePBgPDw/c3d0BeOedd1i0aBFHjx7lypUrREVFMWrUKJydnZWB80/q168f77zzDv369WPGjBkcPXqUxMREoqOjWb9+vc6slUmTJjFnzhzWr1/P+fPn+fe//018fDwffvhhoWWPGDGCS5cuMWHCBM6fP8/333+vM/sUYPLkyRw5coRRo0YRHx/PxYsX2bx5M2PGjCn2c7x7964ypTp/ezwptbGxoWfPnkyaNImOHTvqjKcbOHAgtra2dO/enQMHDnD58mWio6P58MMPuX79erHrIoQQ/xj5bwgoySaeSZ5SKYuIiKBixYo4OTnRqVMn9u3bxxdffMEvv/yiJEcqlYpNmzZhY2NDmzZtaN++PdWqVVOmDkPei1S3bNmCr6+vMn24Vq1a7Nq1izJlCu+tVqlUrF+/nsWLF7N9+3batWuHi4sLw4YNw9HRUaelbOzYsQQGBhIYGEjdunWJiIhg8+bN1KxZs9Cyq1SpwoYNG9iyZQv169dnxYoVzJo1SyemXr16REdHc/HiRVq3bk3Dhg2ZPn26slBgcQwdOlRnWnXFihVZunSpTszw4cN59OiRMhEgn7m5Ofv376dKlSr07NmT2rVrM2zYMB48eCAtYkIIIV45WUpDvLHWrVvHhx9+yI0bN154t6kspSGEeN29jKU0kjd/VeKlNDTd3pelNJ5BJgSIN879+/e5fPkywcHBvP/++y88MRNCiH8slapkMy5lzJlepFtTvHHmzp1LgwYNqFChAlOmTHnV1RFCCCGKRZIz8cYJCgoiKyuLvXv3Ymlp+aqrI4QQbw5Z56xUSLemEEIIIfSiVanQlqBrsiTn/pNICiuEEEII8RqRljMhhBBC6KekXZPSrakXSc6EEEIIoZ+SrvIv3Zp6kRRWCCGEEOI1Ii1nQgghhNBPSV/BJK9v0oskZ0IIIYTQi8zWLB2SnAkhhBBCPzIhoFTIUxJCCCGEeI1Iy5kQQggh9KJVGaAtQetXSc79J5Gn9Ibz9/enR48eL618JycnFi9e/NLKF0II8RrJX0qjJJt4JknOSsDf3x+VSoVKpcLIyIgKFSrQoUMHvv32W3Jzc4tVVk5ODsHBwdSqVQszMzPKlStHs2bNWL169VPP++qrr6hfvz4WFhaULVuWhg0bMmfOnJLc1guVmJiISqUiPj5eZ//zJo1RUVGoVCru3r37QuoHRddRCCGEeBWkW7OEOnXqxOrVq8nJyeHmzZtERETw4Ycf8vPPP7N582bKlNHvEQcFBfH111+zbNky3N3dSUtL4/jx46SkpBR5zqpVq5gwYQJffPEFHh4eZGZmcvLkSc6ePfuibk8IIYRQaClht6a0CelFnlIJmZiYoNFoqFSpEm+//TZTp07ll19+YceOHYSEhChxV69epXv37lhaWmJtbU2fPn24efOmcnzLli2MHDmS3r17U7VqVerXr8/w4cOZMGFCkdfesmULffr0Yfjw4dSoUYM6derQv39/Zs6cWeQ5mZmZjB07Fnt7e0xNTWnVqhWxsbHK8UaNGrFgwQLlc48ePShTpgxpaWkAJCcno1KpOH/+vBJz//59hg0bhpWVFVWqVOHrr79WjlWtWhWAhg0bolKp8PT0JCgoiNDQUH755Rel5TEqKkppwQoLC6NFixaYmppSp04doqKigLwWLi8vLwBsbGxQqVT4+/sDoNVqmTt3LtWqVcPMzIz69evz888/K/VISUlh4MCB2NnZYWZmRs2aNZVWycLqKIQQohDSrVkqJDl7Cdq2bUv9+vXZuHEjkJc49OjRg7/++ovo6Gh2797NpUuX6Nu3r3KORqMhMjKSP//8U+/raDQaYmJiuHLlit7nfPTRR2zYsIHQ0FB+/fVXatSogbe3N3/99RcAnp6eSjKk1Wo5cOAANjY2HDx4EIB9+/ah0WhwcXFRylywYAHu7u6cOHGCkSNH8sEHH3Du3DkAjh07BsCePXtISkpi48aNTJw4kT59+tCpUyeSkpJISkqiRYsWSnmTJk0iMDCQEydO0KJFC7p168adO3dwdHRkw4YNAJw/f56kpCSWLFkCwH/+8x9Wr17N8uXLOXPmDOPHj2fQoEFER0cDMH36dM6ePcuOHTtISEhg+fLl2NraFlnHJ2VmZpKWlqazCSGEEC+DJGcvSa1atUhMTATyfumfPHmS77//nkaNGtG0aVPWrFlDdHS00mq1cOFC/vzzTzQaDfXq1WPEiBHs2LHjqdf45JNPKFu2LE5OTri4uODv78+PP/5Y5Hi3jIwMli9fzrx58/Dx8cHV1ZWVK1diZmbGqlWrgLzk7MCBA+Tm5nLy5EkMDQ3x8/NTEraoqCg8PDx0yu3cuTMjR46kRo0aTJ48GVtbWyXezs4OgPLly6PRaChXrhyWlpaYmZkprY4ajQZjY2OlvNGjR9OrVy9q167N8uXLUavVrFq1CkNDQ8qVKweAvb09Go0GtVpNRkYGCxcu5Ntvv8Xb25tq1arh7+/PoEGD+Oqrr4C8lsuGDRvi7u6Ok5MT7du3x9fXt8g6Pik4OBi1Wq1sjo6OT/3aCCHEG0ml+r+1zp5rk5YzfUhy9pJotVpU//+bMCEhAUdHR51f6K6urpQtW5aEhATl8+nTp4mJiWHo0KHcvHkTX19f3n333SKvUbFiRY4cOcKpU6cYO3YsWVlZDBkyhE6dOhWaoF26dImsrCxatmyp7DMyMqJJkyZKPdq0acO9e/c4ceIE0dHReHh44OXlpbRAFZac1atXT/l/lUqFRqPh1q1bxX1kiubNmyv/X6ZMGdzd3ZX6Febs2bM8fPiQDh06YGlpqWzfffcdly5dAuCDDz4gLCyMBg0a8NFHH3H48OFi1WnKlCmkpqYq27Vr157v5oQQ4m8s/w0BJdnEs8mEgJckISFBGcv0eKL2uCf3GxgY0LhxYxo3bsz48eNZu3Ytfn5+TJs2TSmrMG5ubri5uTFq1CgOHjxI69atiY6OVsZnPX49oEBdHq+HWq2mQYMGREVFcfjwYdq2bUvr1q2Jj4/n4sWLXLhwocCYLCMjI53PKpWq2LNVn6Ww55cv/1rbtm2jUqVKOsdMTEwA8PHx4cqVK2zbto09e/bQrl07Ro0axfz58/W6vomJiVKWEEII8TJJy9lLEBkZyalTp+jVqxeQ1yp29epVndaWs2fPkpqaSu3atYssx9XVFcjrjtTX086pUaMGxsbGyvgxgKysLI4fP65TD09PT/bt28f+/fvx9PSkbNmyuLq68tlnn2Fvb//UOj8pv7syJyenwP4n9+WLiYlR/j87O5u4uDhq1apVZHmurq6YmJhw9epVatSoobM93lppZ2eHv78/a9euZfHixcrEhaLqKIQQ4gkl6tIs4auf/kGk5ayEMjMzSU5O1llKIzg4mK5duzJ48GAA2rdvT7169Rg4cCCLFy8mOzubkSNH4uHhgbu7OwDvvPMOLVu2pEWLFmg0Gi5fvsyUKVNwdnZWEpMnffDBBzg4ONC2bVsqV65MUlISn332GXZ2djpdg/ksLCz44IMPmDRpEuXKlaNKlSrMnTuX+/fvM3z4cCXO09OTJUuWUK5cOSXZ8/T0ZOnSpfTs2bNYz8fe3h4zMzMiIiKoXLkypqamqNVqnJyc2LlzJ+fPn6d8+fKo1WrlnC+//JKaNWtSu3ZtFi1aREpKCsOGDQPgrbfeQqVSsXXrVjp37oyZmRlWVlZMnDiR8ePHk5ubS6tWrUhLS+Pw4cNYWloyZMgQPv74Yxo1akSdOnXIzMxk69atSpJZVB2FEELo0qJCSwlefF6Cc/9JJIUtoYiICCpWrIiTkxOdOnVi3759fPHFF/zyyy8YGhoCeV1ymzZtwsbGhjZt2tC+fXuqVavG+vXrlXK8vb3ZsmULvr6+ODs7M2TIEGrVqsWuXbuKXCutffv2xMTE0Lt3b5ydnenVqxempqbs3buX8uXLF3rO7Nmz6dWrF35+frz99tv8/vvv7Ny5ExsbGyWmTZs2AHh4eCjdiR4eHuTk5BQYb/YsZcqU4YsvvuCrr77CwcGB7t27AxAQEICLiwvu7u7Y2dlx6NAhnTrOmTOH+vXrc+DAAX755RdlZmWlSpX49NNP+fe//02FChUYPXo0ADNnzuTjjz8mODiY2rVrK88zvzvY2NiYKVOmUK9ePdq0aYOhoSFhYWFPraMQQgjxKqi0+QORhHjFEhMTqVq1KidOnKBBgwavujpPlZaWhlqtpon3NsoYWbzq6gghRAHZWRkc29mF1NRUrK2tS1RW/r95V/Zvxtry+f/NS0vP4K023V5Ind5k0q0phBBCCP2UdNyYjDnTiyRnQgghhNBLSZfDkKU09CPJmXhtODk5Ib3sQggh/ukkORNCCCGEXrSqEr74XLo19SLJmRBCCCH0U9KXl0u3pl4khRVCCCGEeI1Iy5kQQggh9FPCbk2ZrakfSc6EEEIIoRd5Q0DpkBRWCCGEEK+l4OBgGjdujJWVFfb29vTo0YPz58/rxGi1WoKCgnBwcMDMzAxPT0/OnDmjE5OZmcmYMWOwtbXFwsKCbt26cf36dZ2YlJQU/Pz8UKvVqNVq/Pz8uHv3rk7M1atX8fX1xcLCAltbW8aOHcujR490Yk6dOoWHhwdmZmZUqlSJGTNmFHslAknOhBBCCKGX/NmaJdmKIzo6mlGjRhETE8Pu3bvJzs6mY8eOZGRkKDFz585l4cKFLFu2jNjYWDQaDR06dODevXtKzLhx4wgPDycsLIyDBw+Snp5O165dycnJUWIGDBhAfHw8ERERREREEB8fj5+fn3I8JyeHLl26kJGRwcGDBwkLC2PDhg0EBgYqMWlpaXTo0AEHBwdiY2NZunQp8+fPZ+HChcW6b3l9kxDPQV7fJIR43b2M1zddOroXK0vL5y7nXno61Zu2e+46/fnnn9jb2xMdHU2bNm3QarU4ODgwbtw4Jk+eDOS1klWoUIE5c+bw/vvvk5qaip2dHWvWrKFv374A3LhxA0dHR7Zv3463tzcJCQm4uroSExND06ZNAYiJiaF58+acO3cOFxcXduzYQdeuXbl27RoODg4AhIWF4e/vz61bt7C2tmb58uVMmTKFmzdvYmJiAuS9L3rp0qVcv35deV/1s0jL2WsuKysLPz8/9u/f/6qrIoQQQrwQaWlpOltmZqZe56WmpgJQrlw5AC5fvkxycjIdO3ZUYkxMTPDw8ODw4cMAxMXFkZWVpRPj4OCAm5ubEnPkyBHUarWSmAE0a9YMtVqtE+Pm5qYkZgDe3t5kZmYSFxenxHh4eCiJWX7MjRs3SExM1Pv5SHL2GsvKyqJv376sXbuWzp07S4ImhBDildJiUOINwNHRURnbpVarCQ4Ofva1tVomTJhAq1atcHNzAyA5ORmAChUq6MRWqFBBOZacnIyxsTE2NjZPjbG3ty9wTXt7e52YJ69jY2ODsbHxU2PyP+fH6OO1nK0ZEhLCuHHjCgzE+7vx9/fn7t27bNq0qdjnZmVl0b9/fzIzM5kxYwZlypRh9uzZqFQqWrdu/eIrK4QQQjzDi3q35rVr13S6NR9vaSrK6NGjOXnyJAcPHixw7MnuQq1W+8wuxCdjCot/ETH5o8f07dKEEracrVixAisrK7Kzs5V96enpGBkZFUggDhw4gEql4sKFCyW5pF7ee+89DA0NCQsLK3DMycmJxYsX6+wLCQmhbNmyL71e+spvMWvVqhVLlizB1taWmjVrsm3bNn744QcOHDjwzDJCQkJQqVTKZmlpSaNGjdi4ceMLqeOLfGZOTk46dVWpVFSuXPmFlC2EEOL1Y21trbM9KzkbM2YMmzdvZt++fTq/HzQaDVCwVerWrVtKi5VGo+HRo0ekpKQ8NebmzZsFrvvnn3/qxDx5nZSUFLKysp4ac+vWLaBg697TlCg58/LyIj09nePHjyv7Dhw4gEajITY2lvv37yv7o6KicHBwwNnZuSSXfKb79++zfv16Jk2axKpVq17qtV6G/MQsPDycVatWUatWLUaOHEnv3r355Zdf6N27N507d9YrQbO2tiYpKYmkpCROnDiBt7c3ffr0KTAN+XFPTgkuLTNmzFDqml/f55WVlfUCayaEECJfac/W1Gq1jB49mo0bNxIZGUnVqlV1jletWhWNRsPu3buVfY8ePSI6OpoWLVoA0KhRI4yMjHRikpKSOH36tBLTvHlzUlNTOXbsmBJz9OhRUlNTdWJOnz5NUlKSErNr1y5MTExo1KiRErN//36d36W7du3CwcEBJycnve+7RMmZi4sLDg4OREVFKfuioqLo3r071atXVwbR5e/38vIC8h7cRx99RKVKlbCwsKBp06Y6ZeTbtGkTzs7OmJqa0qFDB65du/bMOv3000+4uroyZcoUDh06pDMAz9PTkytXrjB+/HilhSYqKoqhQ4eSmpqq7AsKCgJg7dq1uLu7Y2VlhUajYcCAAUoGnO/MmTN06dIFa2trrKysaN26NZcuXSq0bnFxcdjb2/P5558XevzxxAzg9OnTyjRfAwMDKlWqxJUrV0hPT6dz586FNu0+TqVSodFo0Gg01KxZk88++wwDAwNOnjypxDg5OfHZZ5/h7++PWq0mICCAqKgoVCqVTrdyfHw8KpWKxMTEpz4zfb+2T8p/xvmbnZ2dcmz58uVUr14dY2NjXFxcWLNmTYH7XLFiBd27d8fCwoLPPvsMgM2bN+Pu7o6pqSm2trb07NlTOed56ymEEP9k+YvQlmQrjlGjRrF27Vq+//57rKysSE5OJjk5mQcPHgB5//6PGzeOWbNmER4ezunTp/H398fc3JwBAwYAoFarGT58OIGBgezdu5cTJ04waNAg6tatS/v27QGoXbs2nTp1IiAggJiYGGJiYggICKBr1664uLgA0LFjR1xdXfHz8+PEiRPs3buXiRMnEhAQoHTRDhgwABMTE/z9/Tl9+jTh4eHMmjWLCRMmlF63JuQlPPv27VM+79u3D09PTzw8PJT9jx494siRI0pyNnToUA4dOkRYWBgnT56kd+/edOrUiYsXLyrl3L9/n88//5zQ0FAOHTpEWloa/fr1e2Z9Vq1axaBBg1Cr1XTu3JnVq1crxzZu3EjlypV1WmlatGjB4sWLdVqZJk6cqNR75syZ/Pbbb2zatInLly/j7++vlPfHH3/Qpk0bTE1NiYyMJC4ujmHDhul08+aLioqiXbt2fPrpp0ybNq3A8ezsbJ3E7HH5yUfFihWZPn06kNd97OPj88wELV9OTg6hoaEAvP322zrH5s2bh5ubG3FxcUr5T/O0Z6bP17Y4wsPD+fDDDwkMDOT06dO8//77DB06VOd7DuCTTz6he/funDp1imHDhrFt2zZ69uxJly5dlB8id3d3Jb649czMzCwwu0gIIf5pSrvlbPny5aSmpuLp6UnFihWVbf369UrMRx99xLhx4xg5ciTu7u788ccf7Nq1CysrKyVm0aJF9OjRgz59+tCyZUvMzc3ZsmULhoaGSsy6deuoW7cuHTt2pGPHjtSrV0+nMcDQ0JBt27ZhampKy5Yt6dOnDz169GD+/PlKjFqtZvfu3Vy/fh13d3dGjhzJhAkTmDBhQrHuu8TrnK1cuZLx48dz9+5dHjx4QLly5fjjjz/Yt28fX3zxBYcOHWL//v14eHhw6dIltFotNWvW5Pr16zrTUdu3b0+TJk2YNWsWISEhDB06VGe9kXPnzlG7dm2OHj1KkyZNCq3LxYsXqVOnDjdu3MDW1pZNmzYxduxYEhMTMTDI+4ZwcnJi3LhxjBs3TjlP3wkIsbGxNGnShHv37mFpacnUqVMJCwvj/PnzGBkZFYjPnxAwdOhQ/Pz8+Oqrr+jfv3+hZefm5uLv71+gVQjg448/ZuTIkbRq1Yrff/9d2W9jY8OePXsKJFv59zR06FAsLPLW4Hrw4AFGRkasWLFCJ8F0cnKiYcOGOklhfitnSkqKMq4sPj6ehg0bcvnyZZycnAp9ZpcuXXrm17YwTk5OJCUl6TzDWbNmMXbsWFq2bEmdOnX4+uuvlWN9+vQhIyODbdu2Af/3l9OiRYuUmBYtWlCtWjXWrl1b4HrPU8+goCA+/fTTAvtlnTMhxOvqZaxzdu74oRKvc1bLveULqdObrMSzNb28vMjIyCA2NpaUlBScnZ2xt7fHw8MDPz8/MjIyiIqKokqVKlSrVo2ffvoJrVZbYOxZZmYm5cuX/7+KlSmj09JRq1YtypYtS0JCQpHJ2apVq/D29sbW1haAzp07M3z4cPbs2aOzvom+Tpw4QVBQEPHx8fz111/k5uYCea9vcHV1JT4+ntatWxeamOU7evQoW7du5aeffuJf//pXkXEGBgaEhIQAFEjQ+vTpw7x58/ROzPJZWVnx66+/AnktkXv27OH999+nfPny+Pr6KnGPP+eS+PXXX/X62hZm0qRJOklj/tcwISGB9957Tye2ZcuWLFmyRGffk/cQHx9PQEDAC6vnlClTdP7ySUtLw9HR8an3JIQQb5oXNVtTPF2Jk7MaNWpQuXJl9u3bR0pKCh4eHkDejIWqVaty6NAh9u3bR9u2bYG8FiJDQ0Pi4uJ0mhMBLJ/Ixgvrny2qzzYnJ4fvvvuO5ORkypQpo7N/1apVxU7OMjIylKbNtWvXYmdnx9WrV/H29lYG+pmZmT2znOrVq1O+fHm+/fZbunTpgrGxcZGxRSVo5cuXVxbeA/0Ss/zyatSooXyuV68eu3btYs6cOTrJWX7r2uPnATrvAtNnkH1xvrZPsrW11anr4/SZIv3kPTzta/M89TQxMdFrqrcQQrzJ5MXnpeOFrHPm5eVFVFQUKSkpTJo0Sdnv4eHBzp07iYmJYejQoQA0bNiQnJwcbt269dT1urKzszl+/LjSSnb+/Hnu3r1LrVq1Co3fvn079+7d48SJEzq/cM+dO8fAgQO5c+cO5cuXx9jYWOddWkCh+86dO8ft27eZPXu20kLy+KxUyEt2QkNDycrKKrL1zNbWlo0bN+Lp6Unfvn358ccfn9rSVliCVrFiReW4jY0Nu3fvfmZiVhRDQ0NlIGVR8gfjJyUlKYv2xcfH68QU9sz0/doWR+3atTl48CCDBw9W9h0+fJjatWs/9bx69eqxd+9e5fvuZddTCCGEeFFeyBsCvLy8OHjwIPHx8UrLGeQlZytXruThw4fKZABnZ2cGDhzI4MGD2bhxI5cvXyY2NpY5c+awfft25VwjIyPGjBnD0aNH+fXXXxk6dCjNmjV7apdmly5dqF+/Pm5ubsrWq1cv7OzslLFHTk5O7N+/nz/++IPbt28r+9LT09m7dy+3b9/m/v37VKlSBWNjY5YuXcr//vc/Nm/ezMyZM3WuOXr0aGWiwvHjx7l48SJr1qwpsFSFvb09kZGRnDt3jv79+xc6YeBx+Qla/gtXU1JS+PDDD5XELH/K7rNotVplZsvly5f5+uuv2blzJ927d3/qeTVq1MDR0ZGgoCAuXLjAtm3bWLBggU5MYc9M369tcUyaNImQkBBWrFjBxYsXWbhwIRs3blQmIBTlk08+4YcffuCTTz4hISGBU6dOMXfuXED/70EhhBC6SntCwD/VC0vOHjx4QI0aNXQWWfPw8ODevXtUr15dZ3zO6tWrGTx4MIGBgbi4uNCtWzeOHj2qE2Nubs7kyZMZMGAAzZs3x8zMrNBFZQFu3rzJtm3b6NWrV4FjKpWKnj17KmuezZgxg8TERKpXr660ELVo0YIRI0bQt29f7OzsmDt3LnZ2doSEhChLc8yePVtnRgbkdTdGRkaSnp6Oh4cHjRo1YuXKlYW2jGk0GiIjIzl16hQDBw4s0Or0pMcTtL1795KWllasxAzyxkXlz2ypXbs2CxYsYMaMGYXOFn2ckZERP/zwA+fOnaN+/frMmTNHWZ4iX2HPDPT72hZHjx49WLJkCfPmzaNOnTp89dVXrF69Gk9Pz6ee5+npyU8//cTmzZtp0KABbdu25ejRo8rxF11PIYT4JyjtpTT+qUo8W1O8XLm5uYwdOxZ/f/8XNnBflFz+zCWZrSmEeF29jNmap389VuLZmm5vN5HZms/wWr5bU/wfAwMDli1b9qqrIYQQQuS9vLwEXZPaF9Nh98aT5EwIIYQQepHZmqVDUlghhBBCiNeItJwJIYQQQi95i9CWoFtTFqHViyRnQgghhNCLdGuWDknOhBDiNWHrqHnp17h9LfmlX0MIUTKSnAkhhBBCL/JuzdIhyZkQQggh9KLVqtBqS5CcleDcfxJJzoQQQgihJ4MSrlUmi0ToQ56SEEIIIcRrRFrOhBBCCKEXma1ZOiQ5E0IIIYReJDkrHdKtKYQQQgjxGpGWMyGEEELoRVrOSoe0nAm9+Pv7o1KpUKlUGBkZUa1aNSZOnEhGRsZzlxkUFESDBg0K7D9x4gRdu3bF3t4eU1NTnJyc6Nu3L7dv3y7BHQghhCip/OSsJJt4Nmk5E3rr1KkTq1evJisriwMHDvDuu++SkZHB8uXLi1WOVqslJyen0GO3bt2iffv2+Pr6snPnTsqWLcvly5fZvHkz9+/ffxG3IYQQQrzWpOVM6M3ExASNRoOjoyMDBgxg4MCBbNq0iczMTMaOHau0dLVq1YrY2FjlvKioKFQqFTt37sTd3R0TExPWrFnDp59+ym+//aa0yIWEhHD48GHS0tL45ptvaNiwIVWrVqVt27YsXryYKlWqKGWeOXOGLl26YG1tjZWVFa1bt+bSpUsAxMbG0qFDB2xtbVGr1Xh4ePDrr7/q3ItKpeKbb77hX//6F+bm5tSsWZPNmzeXzoMUQoi/qfxFaEuyiWeT5Ew8NzMzM7Kysvjoo4/YsGEDoaGh/Prrr9SoUQNvb2/++usvnfiPPvqI4OBgEhIS6NixI4GBgdSpU4ekpCSSkpLo27cvGo2G7OxswsPD0Wq1hV73jz/+oE2bNpiamhIZGUlcXBzDhg0jOzsbgHv37jFkyBAOHDhATEwMNWvWpHPnzty7d0+nnE8//ZQ+ffpw8uRJOnfuzMCBAwvUOV9mZiZpaWk6mxBC/NNIt2bpkORMPJdjx47x/fff4+XlxfLly5k3bx4+Pj64urqycuVKzMzMWLVqlc45M2bMoEOHDlSvXp1KlSphaWlJmTJl0Gg0aDQazMzMaNasGVOnTmXAgAHY2tri4+PDvHnzuHnzplLOl19+iVqtJiwsDHd3d5ydnRk6dCguLi4AtG3blkGDBlG7dm1q167NV199xf3794mOjtapj7+/P/3796dGjRrMmjWLjIwMjh07Vuj9BgcHo1arlc3R0fEFP1EhhBAijyRnQm9bt27F0tISU1NTmjdvTps2bRgzZgxZWVm0bNlSiTMyMqJJkyYkJCTonO/u7q7XdT7//HOSk5NZsWIFrq6urFixglq1anHq1CkA4uPjad26NUZGRoWef+vWLUaMGIGzs7OSTKWnp3P16lWduHr16in/b2FhgZWVFbdu3Sq0zClTppCamqps165d0+tehBDiTSItZ6VDkjOhNy8vL+Lj4zl//jwPHz5k48aNqNVqIG8M1+O0Wm2BfRYWFnpfq3z58vTu3ZsFCxaQkJCAg4MD8+fPB/K6U5/G39+fuLg4Fi9ezOHDh4mPj6d8+fI8evRIJ+7J5E6lUpGbm1tomSYmJlhbW+tsQgjxTyPJWemQ5EzozcLCgho1avDWW28piU2NGjUwNjbm4MGDSlxWVhbHjx+ndu3aTy3P2Ni4yFmbT8ZVr15dWbajXr16HDhwgKysrELjDxw4wNixY+ncuTN16tTBxMREluEQQogXQEsJJwRIcqYXSc5EiVhYWPDBBx8wadIkIiIiOHv2LAEBAdy/f5/hw4c/9VwnJycuX75MfHw8t2/fJjMzk61btzJo0CC2bt3KhQsXOH/+PPPnz2f79u10794dgNGjR5OWlka/fv04fvw4Fy9eZM2aNZw/fx7ISxjXrFlDQkICR48eZeDAgc9sbRNCCCFeF7LOmSix2bNnk5ubi5+fH/fu3cPd3Z2dO3diY2Pz1PN69erFxo0b8fLy4u7du6xevZo2bdpgbm5OYGAg165dw8TEhJo1a/LNN9/g5+cH5HV5RkZGMmnSJDw8PDA0NKRBgwbKuLdvv/2W9957j4YNG1KlShVmzZrFxIkTX/pzEEKIN10uKnJL0PpVknP/SVTaotYrEEIUKS0tDbVaTRPvbZQx0n8snRBPY+uoeenXuH0t+aVfQ7wesrMyOLazC6mpqSUeJ5v/b97+X/+HpaXVc5eTnn6PNm9XeyF1epNJt6YQQgghxGtEujWFEEIIoZeSrvIvbwjQjyRnQgghhNCLFko041LGUelHujWFEEIIIV4j0nImhBBCCL1It2bpkORMCCFeEzKTUrzuSrrKvyxCqx/p1hRCCCGEeI1Iy5kQQggh9CLdmqVDkjMhhBBC6EUL5JbwfPFs0q0phBBCiNfS/v378fX1xcHBAZVKxaZNm3SO+/v7o1KpdLZmzZrpxGRmZjJmzBhsbW2xsLCgW7duXL9+XScmJSUFPz8/1Go1arUaPz8/7t69qxNz9epVfH19sbCwwNbWlrFjx/Lo0SOdmFOnTuHh4YGZmRmVKlVixowZPM+LmCQ5E0IIIYRe8rs1S7IVR0ZGBvXr12fZsmVFxnTq1ImkpCRl2759u87xcePGER4eTlhYGAcPHiQ9PZ2uXbuSk5OjxAwYMID4+HgiIiKIiIggPj5eeZ8zQE5ODl26dCEjI4ODBw8SFhbGhg0bCAwMVGLS0tLo0KEDDg4OxMbGsnTpUubPn8/ChQuLdc8g3ZpCCCGE0FNpz9b08fHBx8fnqTEmJiZoNIW/lzY1NZVVq1axZs0a2rdvD8DatWtxdHRkz549eHt7k5CQQEREBDExMTRt2hSAlStX0rx5c86fP4+Liwu7du3i7NmzXLt2DQcHBwAWLFiAv78/n3/+OdbW1qxbt46HDx8SEhKCiYkJbm5uXLhwgYULFzJhwgRUKv3vXVrOhBBCCKGXF9VylpaWprNlZmY+d52ioqKwt7fH2dmZgIAAbt26pRyLi4sjKyuLjh07KvscHBxwc3Pj8OHDABw5cgS1Wq0kZgDNmjVDrVbrxLi5uSmJGYC3tzeZmZnExcUpMR4eHpiYmOjE3Lhxg8TExGLdkyRnQgghhChVjo6OyvgutVpNcHDwc5Xj4+PDunXriIyMZMGCBcTGxtK2bVsl2UtOTsbY2BgbGxud8ypUqEBycrISY29vX6Bse3t7nZgKFSroHLexscHY2PipMfmf82P0JcnZG+bWrVu8//77VKlSRWnq9fb25siRIwCcOHGCrl27Ym9vj6mpKU5OTvTt25fbt28DkJiYiEqlIj4+vkDZnp6ejBs37qnXd3JyUgZlmpub4+bmxldffaV3/YOCgmjQoIHe8flCQkIoW7Zssc8TQgihv/xuzZJsANeuXSM1NVXZpkyZ8lz16du3L126dMHNzQ1fX1927NjBhQsX2LZt29PvQ6vV6WYsrMvxRcTkTwYoTpcmSHL2xunVqxe//fYboaGhXLhwgc2bN+Pp6clff/3FrVu3aN++Pba2tuzcuZOEhAS+/fZbKlasyP37919YHWbMmEFSUhInT56kR48ejBgxgvXr17+w8l+mnJwccnNLMlFcCCHeXLnakm8A1tbWOtvjXYElUbFiRd566y0uXrwIgEaj4dGjR6SkpOjE3bp1S2nV0mg03Lx5s0BZf/75p07Mk61fKSkpZGVlPTUmv4v1yRa1Z5Hk7A1y9+5dDh48yJw5c/Dy8uKtt96iSZMmTJkyhS5dunD48GHS0tL45ptvaNiwIVWrVqVt27YsXryYKlWqvLB6WFlZodFoqFGjBp999hk1a9ZUpj9PnjwZZ2dnzM3NqVatGtOnTycrKwvIa/369NNP+e2335TWt5CQEAAWLlxI3bp1sbCwwNHRkZEjR5Keng7kjTcYOnQoqampynlBQUFA3g/P4MGDsbGxwdzcHB8fH+WHNv+aZcuWZevWrbi6umJiYsKVK1de2LMQQghReu7cucO1a9eoWLEiAI0aNcLIyIjdu3crMUlJSZw+fZoWLVoA0Lx5c1JTUzl27JgSc/ToUVJTU3ViTp8+TVJSkhKza9cuTExMaNSokRKzf/9+neU1du3ahYODA05OTsW6D0nO3iCWlpZYWlqyadOmQgdXajQasrOzCQ8Pf651V56XqampkoBZWVkREhLC2bNnWbJkCStXrmTRokVAXvN0YGAgderUUaZE9+3bFwADAwO++OILTp8+TWhoKJGRkXz00UcAtGjRgsWLF2Ntba2cN3HiRCBvDZzjx4+zefNmjhw5glarpXPnzkp9AO7fv09wcDDffPMNZ86cKXTsQWZmZoEBrEII8U/zoro19ZWenk58fLwy1Oby5cvEx8dz9epV0tPTmThxIkeOHCExMZGoqCh8fX2xtbXlX//6FwBqtZrhw4cTGBjI3r17OXHiBIMGDaJu3brK7M3atWvTqVMnAgICiImJISYmhoCAALp27YqLiwsAHTt2xNXVFT8/P06cOMHevXuZOHEiAQEBWFtbA3nLcZiYmODv78/p06cJDw9n1qxZxZ6pCZKcvVHKlClDSEgIoaGhlC1blpYtWzJ16lROnjwJ5M0+mTp1KgMGDMDW1hYfHx/mzZtXaHNuixYtlGQvfztw4ECx6pOdnU1ISAinTp2iXbt2APznP/+hRYsWODk54evrS2BgID/++CMAZmZmWFpaUqZMGTQaDRqNBjMzMyBvnRovLy+ltW/mzJnKecbGxqjValQqlXKepaUlFy9eZPPmzXzzzTe0bt2a+vXrs27dOv744w+dhQyzsrL473//S4sWLXBxccHCwqLAvQQHB+sMXnV0dCzWsxBCiDdBaa9zdvz4cRo2bEjDhg0BmDBhAg0bNuTjjz/G0NCQU6dO0b17d5ydnRkyZAjOzs4cOXIEKysrpYxFixbRo0cP+vTpQ8uWLTE3N2fLli0YGhoqMevWraNu3bp07NiRjh07Uq9ePdasWaMcNzQ0ZNu2bZiamtKyZUv69OlDjx49mD9/vhKjVqvZvXs3169fx93dnZEjRzJhwgQmTJhQ7Oes0pZmE4ooFQ8fPuTAgQMcOXKEiIgIjh07xjfffIO/vz+Q1+wbGRlJTEwMmzZt4q+//mL//v3UrVuXxMREqlatyubNm6ldu7ZOuQMHDqR58+YsXryYWbNmMWvWLOXY2bNnqVKlCk5OTiQlJWFkZERmZibGxsaMGjWK2bNnY2BgwM8//8zixYv5/fffSU9PJzs7G2tra6VfPigoiE2bNhWYkLBv3z5mzZrF2bNnSUtLIzs7m4cPH5Keno6FhQUhISGMGzdOZ0XnzZs306tXLx4+fKjzQ9iwYUP+9a9/8fHHHxMSEsL777/Pw4cPn/qXTWZmpk5rZFpaGo6OjjTx3kYZo4LJnBBCvGrZWRkc29mF1NRUpXXneaWlpaFWq9l6JBkLy+cvKyM9ja7NNS+kTm8yaTl7A5mamtKhQwc+/vhjDh8+jL+/P5988olyvHz58vTu3ZsFCxaQkJCAg4ODTvYPedOca9SoobPlt2IBjBgxQmlqjo+P11n7ZdKkScTHx3PlyhXS09OZO3cuBgYGxMTE0K9fP3x8fNi6dSsnTpxg2rRpBV5/8aQrV67QuXNn3Nzc2LBhA3FxcXz55ZcAOt2TTyrq744nZ9eYmZk9s8nZxMSkwABWIYT4p9FqS76JZ5M3BPwDuLq6FngfWT5jY2OqV69ORkZGscosV64c5cqVK/SYra0tNWrUKLD/0KFDvPXWW0ybNk3Z9+Tge2NjY51XakBes3Z2djYLFizAwCDv74n8Ls2nnefq6kp2djZHjx5VBnXeuXOHCxcuFGgVFEII8Wy5qMgtwRsCSnLuP4kkZ2+QO3fu0Lt3b4YNG0a9evWwsrLi+PHjzJ07l+7du7N161bCwsLo168fzs7OaLVatmzZwvbt21m9evVLr1+NGjW4evUqYWFhNG7cmG3bthEeHq4T4+TkpAz4rFy5MlZWVlSvXp3s7GyWLl2Kr68vhw4dYsWKFQXOS09PZ+/evdSvXx9zc3Nq1qxJ9+7dCQgI4KuvvsLKyop///vfVKpUie7du7/0+xVCCCGeh3RrvkEsLS1p2rQpixYtok2bNri5uTF9+nQCAgJYtmwZrq6umJubExgYSIMGDWjWrBk//vgj33zzjc4LXl+W7t27M378eEaPHk2DBg04fPgw06dP14np1asXnTp1wsvLCzs7O3744QcaNGjAwoULmTNnDm5ubqxbt67AatItWrRgxIgR9O3bFzs7O+bOnQvA6tWradSoEV27dqV58+ZotVq2b9+OkZHRS79fIYR405T2hIB/KpkQIMRzyB8cKxMChBCvq5cxISD84K0STwj4Vyt7mRDwDNJyJoQQQgjxGpExZ0IIIYTQy/MsJPvk+eLZJDkTQgghhF4efz/m854vnk2SMyGEEELop6SD+mVCgF5kzJkQQgghxGtEWs6EEEIIoZeSrvIv60PoR5IzIYQQQuhF3hBQOqRbUwghhBDiNSItZ0IIIYTQi3Rrlg5JzoQQQgihl5K+gkle36Qf6dYUQgghhHiNSMuZEEIIIfQii9CWDknOhBBCCKEXGXNWOqRb8w3m7++PSqUq9hYSEkJUVJTOPjs7O3x8fPjtt9+KvF5iYqLOOTY2NrRp04bo6Gi96+zp6cm4ceOe61579OhR7POEEEKI140kZ2+4Tp06kZSUpGxXrlzh+vXryuc+ffoUiOnbt69y/vnz50lKSmLbtm2kpKTQqVMnUlNTn3rNPXv2kJSURHR0NNbW1nTu3JnLly+/7Ft9IR49evSqqyCEEK+t/Befl2QTzybJ2RvOxMQEjUajbFWqVKFSpUrKZzMzswIxZmZmyvn29vZoNBqaNGnCggULSE5OJiYm5qnXLF++PBqNhnr16vHVV19x//59du3axZ07d+jfvz+VK1fG3NycunXr8sMPPyjn+fv7Ex0dzZIlS5TWt8TERHJychg+fDhVq1bFzMwMFxcXlixZopwXFBREaGgov/zyi3JeVFQUAKdOnaJt27aYmZlRvnx53nvvPdLT03Wu2aNHD4KDg3FwcMDZ2fkFPXkhhHjz5PJ/486ea3vVN/A3IWPOhN7yk7asrCy9zzE3N1fOefjwIY0aNWLy5MlYW1uzbds2/Pz8qFatGk2bNmXJkiVcuHABNzc3ZsyYAYCdnR25ublUrlyZH3/8EVtbWw4fPsx7771HxYoV6dOnDxMnTiQhIYG0tDRWr14NQLly5bh//z6dOnWiWbNmxMbGcuvWLd59911Gjx5NSEiIUse9e/dibW3N7t270cqACCGEEK+YJGdvuK1bt2Jpaal89vHx4aeffip2OXfu3OHTTz/FysqKJk2a6HVORkYGU6ZMwdDQEA8PDypVqsTEiROV42PGjCEiIoKffvqJpk2bolarMTY2xtzcHI1Go8QZGhry6aefKp+rVq3K4cOH+fHHH+nTpw+WlpaYmZmRmZmpc15oaCgPHjzgu+++w8LCAoBly5bh6+vLnDlzqFChAgAWFhZ88803GBsbF3kvmZmZZGZmKp/T0tL0egZCCPEmkQkBpUOSszecl5cXy5cvVz7nJyn6qly5MpCXaNWsWZOffvoJe3t7fHx8OHDgAABvvfUWZ86cUc5p0aIFBgYG3L9/n4oVKxISEkLdunXJyclh9uzZrF+/nj/++ENJePSp04oVK/jmm2+4cuUKDx484NGjRzRo0OCp5yQkJFC/fn2d8lu2bElubi7nz59XkrO6des+NTEDCA4O1kkQhRDin0iSs9IhydkbzsLCgho1ajz3+QcOHMDa2ho7Ozusra2V/d988w0PHjwAwMjISOec9evX4+rqStmyZSlfvryyf8GCBSxatIjFixdTt25dLCwsGDdu3DMH4f/444+MHz+eBQsW0Lx5c6ysrJg3bx5Hjx596nlarRaVqvDBp4/v1yc5nDJlChMmTFA+p6Wl4ejo+MzzhBDiTZKrVZFbglX+S3LuP4kkZ+KpqlatStmyZQvsr1SpUpHnODo6Ur169QL7Dxw4QPfu3Rk0aBAAubm5XLx4kdq1aysxxsbG5OTkFDivRYsWjBw5Utl36dIlnZjCznN1dSU0NJSMjAwlATt06BAGBgbFHvhvYmKCiYlJsc4RQgghnofM1hSlpkaNGuzevZvDhw+TkJDA+++/T3Jysk6Mk5MTR48eJTExkdu3b5Obm0uNGjU4fvw4O3fu5MKFC0yfPp3Y2NgC5508eZLz589z+/ZtsrKyGDhwIKampgwZMoTTp0+zb98+xowZg5+fn9KlKYQQQn/53Zol2cSzSXImSs306dN5++238fb2xtPTE41GU2Dh2IkTJ2JoaIirqyt2dnZcvXqVESNG0LNnT/r27UvTpk25c+eOTisaQEBAAC4uLri7u2NnZ8ehQ4cwNzdn586d/PXXXzRu3Jh33nmHdu3asWzZslK8ayGEeHNIclY6VFpZO0CIYktLS0OtVtPEextljIo3yUIIIUpDdlYGx3Z2ITU1VWfM8PPI/zdvZcRdzC2ev6z7GWkEdCr7Qur0JpMxZ0IIIYTQi7aELz6X5iD9SHImhBBCCL1otSq0JZhxWZJz/0lkzJkQQgghxGtEWs6EEEIIoRdZhLZ0SHImhBBCCL3klnDMWUnO/SeR5EwIIcTfSqWaVV76Nf64ePWlX8PI5OmvjSsplUHWSy1fvDySnAkhhBBCL9KtWTokORNCCCGEXiQ5Kx0yW1MIIYQQ4jUiLWdCCCGE0ItMCCgdkpwJIYQQQi/SrVk6pFtTCCGEEHrJzS35Vhz79+/H19cXBwcHVCoVmzZt0jmu1WoJCgrCwcEBMzMzPD09OXPmjE5MZmYmY8aMwdbWFgsLC7p168b169d1YlJSUvDz80OtVqNWq/Hz8+Pu3bs6MVevXsXX1xcLCwtsbW0ZO3Ysjx490ok5deoUHh4emJmZUalSJWbMmMHzvMJckjMhhBBCvJYyMjKoX78+y5YtK/T43LlzWbhwIcuWLSM2NhaNRkOHDh24d++eEjNu3DjCw8MJCwvj4MGDpKen07VrV3JycpSYAQMGEB8fT0REBBEREcTHx+Pn56ccz8nJoUuXLmRkZHDw4EHCwsLYsGEDgYGBSkxaWhodOnTAwcGB2NhYli5dyvz581m4cGGx71u6NcU/QlRUFF5eXqSkpFC2bFlCQkIYN25cgb+MhBBCFK20uzV9fHzw8fEpoiwtixcvZtq0afTs2ROA0NBQKlSowPfff8/7779Pamoqq1atYs2aNbRv3x6AtWvX4ujoyJ49e/D29iYhIYGIiAhiYmJo2rQpACtXrqR58+acP38eFxcXdu3axdmzZ7l27RoODg4ALFiwAH9/fz7//HOsra1Zt24dDx8+JCQkBBMTE9zc3Lhw4QILFy5kwoQJqFT6v1dUWs5Ekfz9/VGpVKhUKoyMjKhQoQIdOnTg22+/JbeYbdM5OTkEBwdTq1YtzMzMKFeuHM2aNWP16tVFnhMVFYVKpSo0gXJycmLx4sXFvCMhhBAlkZ+clWSDvFamx7fMzMxi1+Xy5cskJyfTsWNHZZ+JiQkeHh4cPnwYgLi4OLKysnRiHBwccHNzU2KOHDmCWq1WEjOAZs2aoVardWLc3NyUxAzA29ubzMxM4uLilBgPDw9MTEx0Ym7cuEFiYmKx7k2SM/FUnTp1IikpicTERHbs2IGXlxcffvghXbt2JTs7W+9ygoKCWLx4MTNnzuTs2bPs27ePgIAAUlJSXmLthRBCvI4cHR2V8V1qtZrg4OBil5GcnAxAhQoVdPZXqFBBOZacnIyxsfH/a+/eg6I6zz+AfxdWduW2gAYXFITWC+IFFRWQJCpBwIoJ0aiVFiVB0vxoVOKtJVohDhGbxkvVSabRpKCYajPVeiFSCEYTSzTGEZXKaMZqwRSEIC4XzXLZ8/vDcuKCwGHPAit8PzPvZFiec97zMkKe87zveQ+cnZ3bjXF1dW11fldXV6OYlv04OzvDxsam3Zjmr5tjpOK0JrVLpVJBq9UCAAYPHoyJEyciMDAQzz33HNLT07F06VIADxdKLlu2DHl5ebCyskJERAR27twp/sM8duwYEhISMH/+fPHcfn5+ZrnGW7duwdvbGxcvXsT48eMBAPfu3YOzszM+//xzTJ8+vcNzVFZWYtasWdBqtfjrX/8KtVptlmsjIupNDJC5lcb//ltSUgJHR0fx80erTZ3VcrpQEIQOpxBbxjwu3hwxzQ8DdGZKE2DljEwQEhICPz8/HDp0CMDDf3xRUVG4e/cuTp8+jdzcXNy4cQMLFy4Uj9FqtTh58iQqKip66rLbdPv2bTzzzDPw8fHBoUOHHpuY6fX6VmV4IqK+RhAE2Q0AHB0djZopyVlz4aBlVaq8vFwsDGi1WtTX17eapWkZc+fOnVbnr6ioMIpp2U9VVRUaGhrajSkvLwfQurrXESZnZBIfHx9xDv2zzz7D5cuX8fHHH8Pf3x8BAQHYt28fTp8+jfPnzwMAtm7dioqKCmi1WowbNw6vvfYaTpw4IamvIUOGwN7e3qgVF5vnpcTXr19HcHAwQkNDkZGRAaXy8cXktLQ0oxK8h4eHWfonIiLTeHt7Q6vVIjc3V/ysvr4ep0+fxtSpUwEA/v7+6Nevn1FMaWkpCgsLxZigoCDodDp8/fXXYsy5c+eg0+mMYgoLC1FaWirG5OTkQKVSwd/fX4z54osvjLbXyMnJgbu7O7y8vDo1NiZnZJJHS7lFRUXw8PAwSlh8fX3h5OSEoqIi8evCwkKcPXsWL7/8Mu7cuYM5c+aI06Lt+fLLL1FQUGDUHl2UaaoHDx7g6aefRlRUFHbs2NFu2TkpKQk6nU5sJSUlsvsnInrSmOuBAKlqa2vFv/vAw4cACgoKUFxcDIVCgcTERGzatAmHDx9GYWEhYmNjYWtri+joaACARqNBXFwcVq1ahby8PFy8eBG//OUvMXbsWPHpzVGjRiEiIgLx8fE4e/Yszp49i/j4eERGRmLkyJEAgLCwMPj6+iImJgYXL15EXl4eVq9ejfj4eHF6Njo6GiqVCrGxsSgsLMThw4exadOmTj+pCXDNGZmoqKgI3t7eANqe32/5uZWVFSZPnozJkyfjjTfeQGZmJmJiYrBu3TrxXI/j7e0NJycno88erXBZWVmJ/TVraGjocAwqlQqhoaHIysrCmjVrMGTIkHZj5ayJICLqDQQTNpJteXxnfPPNN5gxY4b49cqVKwEAS5YsQXp6OtauXYsHDx4gISEBVVVVCAgIQE5ODhwcHMRjtm3bBqVSiQULFuDBgwfimmlra2sxZv/+/Vi+fLn4VOfzzz9vtLeatbU1srKykJCQgODgYPTv3x/R0dF49913xRiNRoPc3Fz8+te/xqRJk+Ds7IyVK1eK19wZTM6o006ePIkrV67gjTfeAPCwKlZcXIySkhKxenb16lXodDqMGjWqzfP4+voCeLjJoBxPPfUUgIel6gkTJgCAeJfVHisrK+zbtw/R0dEICQnBqVOnzFKRIyIi85g+fXq7O+wrFAqkpKQgJSWlzRi1Wo2dO3di586dbca4uLggMzOz3Wvx9PTE8ePH240ZO3Ysvvjii3ZjpGByRu3S6/UoKytDU1MT7ty5g+zsbKSlpSEyMhKLFy8GAISGhmLcuHH4xS9+ge3bt6OxsREJCQmYNm0aJk2aBAB46aWXEBwcjKlTp0Kr1eLmzZtISkrCiBEj4OPjI+sa+/fvj8DAQGzevBleXl74/vvvsX79eknHWltbY//+/Vi0aJGYoDUvMiUiImN8t2b34Jozald2djbc3Nzg5eWFiIgIfP7559ixYweOHDkiloSb33fm7OyMZ599FqGhofjJT36CgwcPiucJDw/HsWPHMGfOHIwYMQJLliyBj48PcnJy2lyE3xkfffQRGhoaMGnSJKxYsQKpqamSj1UqlfjLX/6C0aNHIyQkRHy6hoiIjBkE+Y06phBMeSMnUR9XXV0NjUaDKeFZUPaz6+nLIepTBg/37PI+vvvWPE+Et6efyqZLz9/YUId/Hp0JnU5ntKeYKZr/5r398T2obU0/1w/3q7Eu2sks19SbcVqTiIiIJOG0ZvdgckZERESSCAYBgoy5STnH9iVMzoiIiEgSuevGmJtJwwcCiIiIiCwIK2dEREQkCdecdQ8mZ0RE9ETpjicp7TQOHQfJVP+Dvsv7MDeDQYBBxtyknGP7Ek5rEhEREVkQVs6IiIhIEk5rdg8mZ0RERCQJk7PuwWlNIiIiIgvCyhkRERFJYhAEGGSUv+Qc25cwOSMiIiJJBMPDJud46hinNYmIiIgsCCtnREREJIkAAYKMqUkBnNaUgpUz6lGxsbFQKBRQKBTo168fBg0ahJkzZ+Kjjz6CwfBj/dvLy0uM69+/P7y8vLBgwQKcPHmy032Wl5fjV7/6FTw9PaFSqaDVahEeHo6vvvrKnEMjIup1BANgkNE4rSkNkzPqcRERESgtLcWtW7dw4sQJzJgxAytWrEBkZCQaGxvFuI0bN6K0tBTXrl3D3r174eTkhNDQULz99tud6m/evHm4dOkSMjIycP36dRw9ehTTp0/H3bt3zT00IqJeRRAE2Y06xmlN6nHN1SsAGDx4MCZOnIjAwEA899xzSE9Px9KlSwEADg4OYpynpyeeffZZuLm5YcOGDXjppZcwcuRIAMDp06exZs0aXLp0CS4uLliyZAlSU1OhVCpx7949nDlzBqdOncK0adMAAEOHDsWUKVN6YOREREStsXJGFikkJAR+fn44dOhQu3ErVqyAIAg4cuQIAOC7777Dz372M0yePBmXLl3C+++/jw8//BCpqakAAHt7e9jb2+Pvf/879Hrp77XT6/Worq42akREfY1BkN+oY0zOyGL5+Pjg1q1b7ca4uLjA1dVVjHvvvffg4eGBXbt2wcfHB1FRUXjrrbewZcsWGAwGKJVKpKenIyMjA05OTggODsabb76Jy5cvt9tPWloaNBqN2Dw8PMw0SiKiJ4dgEGQ36hiTM7JYgiBAoVB0Kq6oqAhBQUFGxwUHB6O2tha3b98G8HDN2X//+18cPXoU4eHhOHXqFCZOnIj09PQ2+0hKSoJOpxNbSUmJvMERERG1gckZWayioiJ4e3u3G1NZWYmKigox7nEJXfMC1Ec/V6vVmDlzJjZs2ID8/HzExsYiOTm5zX5UKhUcHR2NGhFRX9P8bk05jTrG5Iws0smTJ3HlyhXMmzev3bg//vGPsLKyQlRUFADA19cX+fn5Rk8E5efnw8HBAYMHD27zPL6+vqirqzPLtRMR9VYGgyC7Ucf4tCb1OL1ej7KyMjQ1NeHOnTvIzs5GWloaIiMjsXjxYjGupqYGZWVlaGhowM2bN5GZmYk9e/YgLS0Nw4YNAwAkJCRg+/btWLZsGV5//XVcu3YNycnJWLlyJaysrFBZWYn58+fjlVdewbhx4+Dg4IBvvvkG77zzDl544YWe+hEQERGJmJxRj8vOzoabmxuUSiWcnZ3h5+eHHTt2YMmSJbCy+rG4u2HDBmzYsAE2NjbQarUIDAxEXl4eZsyYIcYMHjwYn376KdasWQM/Pz+4uLggLi4O69evB/Dwac2AgABs27YNN27cQENDAzw8PBAfH48333yz28dORPQkkbtXGfc5k0Yh8CdF1GnV1dXQaDSYEp4FZT+7nr4cIjIzO41Dl/dR/4P07XxM0dhQh38enQmdTid7nWzz37zlW8ug6m/6ufQPqrFjpdYs19Sbcc0ZERERkQXhtCYRERFJYhAEGGRMuMk5ti9hckZERESScM1Z9+C0JhEREZEFYeWMiIiIJJG7Vxn3OZOGyRkRET1RpLzWTa46XU2X95F04tUuPf99oQn/NPM55e7yz1lNaZicERERkSSCIO/l5VxzJg3XnBERERFZEFbOiIiISBJB5lYarJxJw+SMiIiIJBEMMqc1+UCAJJzWJCIiIrIgrJwRERGRJKycdQ9WzoiIiEgSgyC/dUZKSgoUCoVR02q14vcFQUBKSgrc3d3Rv39/TJ8+Hf/617+MzqHX67Fs2TIMHDgQdnZ2eP7553H79m2jmKqqKsTExECj0UCj0SAmJgb37t0ziikuLsacOXNgZ2eHgQMHYvny5aivr+/cgCRickZEREQWa/To0SgtLRXblStXxO+988472Lp1K3bt2oXz589Dq9Vi5syZqKn5cZ+6xMREHD58GAcOHMCZM2dQW1uLyMhINDU1iTHR0dEoKChAdnY2srOzUVBQgJiYGPH7TU1NmD17Nurq6nDmzBkcOHAAf/vb37Bq1aouGTOTM5ItNjbW6K5mwIABiIiIwOXLl8WYlnc+ze3AgQMAgFOnTkGhUGDMmDFGvzAA4OTkhPT0dPFrLy8vbN++3Sjm4sWLWLhwIdzc3KBSqTB06FBERkbi2LFj4tNBt27dgkKhgKurq9EvLgCMHz8eKSkp5vuhEBH1Qs3TmnJaZymVSmi1WrE99dRTD69FELB9+3asW7cOc+fOxZgxY5CRkYH79+/j448/BgDodDp8+OGH2LJlC0JDQzFhwgRkZmbiypUr+OyzzwAARUVFyM7Oxp49exAUFISgoCDs3r0bx48fx7Vr1wAAOTk5uHr1KjIzMzFhwgSEhoZiy5Yt2L17N6qrq8300/0RkzMyi4iICPGuJi8vD0qlEpGRkUYxf/7zn43ufkpLSxEVFWUUc+PGDezdu7dTfR85cgSBgYGora1FRkYGrl69ik8++QRRUVFYv349dDqdUXxNTQ3effddk8ZJRNSXNb/4XE4DgOrqaqOm1+vb7PPbb7+Fu7s7vL298fOf/xz//ve/AQA3b95EWVkZwsLCxFiVSoVp06YhPz8fAHDhwgU0NDQYxbi7u2PMmDFizFdffQWNRoOAgAAxJjAwEBqNxihmzJgxcHd3F2PCw8Oh1+tx4cIFuT/WVpickVmoVCrxrmb8+PH4zW9+g5KSElRUVIgxTk5ORnc/Wq0WarXa6DzLli1DcnIyfvjhB0n91tXVIS4uDrNnz0ZWVhbCwsLw05/+FFOmTMHSpUtx6dIlaDSaVn1s3boV5eXl8gdORESd5uHhIa7v0mg0SEtLe2xcQEAA9u7di3/84x/YvXs3ysrKMHXqVFRWVqKsrAwAMGjQIKNjBg0aJH6vrKwMNjY2cHZ2bjfG1dW1Vd+urq5GMS37cXZ2ho2NjRhjTkzOyOxqa2uxf/9+DBs2DAMGDOjUsYmJiWhsbMSuXbskxefk5KCyshJr165tM6ble/gWLVqEYcOGYePGjZKvS6/Xt7rTIyLqawyGH19+blp7eJ6SkhLodDqxJSUlPba/WbNmYd68eRg7dixCQ0ORlZUFAMjIyBBjWv6NFwShw/evtox5XLwpMebC5IzM4vjx47C3t4e9vT0cHBxw9OhRHDx4EFZWP/4TW7RokRjT3JrL081sbW2RnJyMtLS0VtORj3P9+nUAwMiRI8XPzp8/b9TH8ePHjY5RKBTYvHkzPvjgA9y4cUPS+NLS0ozu8jw8PCQdR0TUm5hrWtPR0dGoqVQqSf3b2dlh7Nix+Pbbb8WnNltWrsrLy8Uql1arRX19PaqqqtqNuXPnTqu+KioqjGJa9lNVVYWGhoZWFTVzYHJGZjFjxgwUFBSgoKAA586dQ1hYGGbNmoX//Oc/Ysy2bdvEmOb2uCQnLi4OAwcOxO9//3uTrmXcuHHi+evq6tDY2NgqJjw8HE8//TR+97vfSTpnUlKS0V1eSUmJSddGRESm0+v1KCoqgpubG7y9vaHVapGbmyt+v76+HqdPn8bUqVMBAP7+/ujXr59RTGlpKQoLC8WYoKAg6HQ6fP3112LMuXPnoNPpjGIKCwtRWloqxuTk5EClUsHf39/s4+QmtGQWdnZ2GDZsmPi1v78/NBoNdu/ejdTUVAAP7zwejWmLUqlEamoqYmNj8frrr7cbO3z4cADAtWvXEBgYCODh+jcp/WzevBlBQUFYs2ZNh7EqlUrynR0RUW/V3ZvQrl69GnPmzIGnpyfKy8uRmpqK6upqLFmyBAqFAomJidi0aROGDx+O4cOHY9OmTbC1tUV0dDQAQKPRIC4uDqtWrcKAAQPg4uKC1atXi9OkADBq1ChEREQgPj4ef/rTnwAAr776KiIjI8VZmbCwMPj6+iImJgZ/+MMfcPfuXaxevRrx8fFwdHQ0+efRFlbOqEsoFApYWVnhwYMHJh0/f/58jB49Gm+99Va7cWFhYXBxcTGpyjZlyhTMnTsXv/3tb026RiKivqa7t9K4ffs2Fi1ahJEjR2Lu3LmwsbHB2bNnMXToUADA2rVrkZiYiISEBEyaNAnfffcdcnJy4ODgIJ5j27ZtiIqKwoIFCxAcHAxbW1scO3YM1tbWYsz+/fsxduxYhIWFISwsDOPGjcO+ffvE71tbWyMrKwtqtRrBwcFYsGABoqKiuuzJf1bOyCz0er04H19VVYVdu3ahtrYWc+bMEWPu3bvXas7ewcEBdnZ2jz3n5s2bER4e3m6/9vb22LNnDxYuXIjZs2dj+fLlGD58OGpra5GdnQ0ARr+ALb399tsYPXo0lEr+KhARdcQAAQbB9MqZAZ07tnkvzLYoFAqkpKS0u0+lWq3Gzp07sXPnzjZjXFxckJmZ2W5fnp6erdYwdxVWzsgssrOz4ebmBjc3NwQEBOD8+fP45JNPMH36dDHm5ZdfFmOaW3u/LCEhIQgJCXnsmrFHvfjii8jPz4etrS0WL16MkSNHIiQkBCdPnsSBAwda7bf2qBEjRuCVV16RvHUHERFRV1MIgowUmKiPqq6uhkajwZTwLCj7Pb7yR0Rdoyu2LmipO/7XmHTi1S49/32hCQsNN6DT6WSvi2r+m/fztddho3Lo+IA21OtrcOCdEWa5pt6MczlEREQkyaPbYZh6PHWM05pEREREFoSVMyIiIpJE+N9O/3KOp44xOSMiIiJJunufs76KyRmRCZrXTTQ13u/hKyHqe3rLAwH3haYuPv/DF1lyndeTh8kZkQlqamoAABfy5vfwlRDRk2phN/VTU1MDjUZjlnPxgYDuweSMyATu7u4oKSmBg4OD5Lv46upqeHh4oKSk5Il9hLw3jAHgOCxJbxgDYJnjEAQBNTU1cHd3N985DQYIBoOs46ljTM6ITGBlZYUhQ4aYdKyjo6PF/PE2VW8YA8BxWJLeMAbA8sZhrooZdS8mZ0RERCSJQebTmnKO7UuYnBEREZEkXHPWPbgJLVE3UalUSE5Ohkql6ulLMVlvGAPAcViS3jAGoPeMgywD361JRERE7Wp+t+YL/3cJ/WS8W7NBX4Mj7/vx3Zod4LQmERERScJNaLsHkzMiIiKSxAADDILp22EYwK00pOCaMyIiIiILwsoZERERSSIY5E1Nyii69SlMzoiIiEgSrjnrHpzWJCIiIrIgrJwRERGRJNyEtnswOSMiIiJJDAYDDDJeXi7n2L6E05pEREREFoSVMyIiIpKEDwR0DyZnREREJIkgGCDI2A9DzrF9Cac1iYiIiCwIK2dEREQkCac1uweTMyIiIpJGZnIGJmeScFqTiIiIyIKwckZERESSGAQDDDIW9cs5ti9hckZERESScM1Z92ByRkRERJIIggGCjF3+uZWGNFxzRkRERGRBWDkjIiIiSTit2T2YnBEREZEkfENA9+C0JhEREZEFYeWMiIiIJDEYAIOMqUkZzxL0KUzOiIiISBLBIPNpTWZnknBak4iIiMiCsHJGREREkvBpze7ByhkRERFJ0vy0ppxmivfeew/e3t5Qq9Xw9/fHl19+aeaRWRYmZ0RERGSxDh48iMTERKxbtw4XL17EM888g1mzZqG4uLinL63LMDkjIiIiSZqnNeW0ztq6dSvi4uKwdOlSjBo1Ctu3b4eHhwfef//9LhihZWByRkRERJI0P60pp3VGfX09Lly4gLCwMKPPw8LCkJ+fb86hWRQ+EEBERESSNDXWmeX46upqo89VKhVUKlWr+O+//x5NTU0YNGiQ0eeDBg1CWVmZrGuxZEzOiIiIqF02NjbQarX4Jm+B7HPZ29vDw8PD6LPk5GSkpKS0eYxCoTD6WhCEVp/1JkzOiIiIqF1qtRo3b95EfX297HM9LrF6XNUMAAYOHAhra+tWVbLy8vJW1bTehMkZERERdUitVkOtVndrnzY2NvD390dubi5efPFF8fPc3Fy88MIL3Xot3YnJGREREVmslStXIiYmBpMmTUJQUBA++OADFBcX47XXXuvpS+syTM6IiIjIYi1cuBCVlZXYuHEjSktLMWbMGHz66acYOnRoT19al1EIgsB3KRARERFZCO5zRkRERGRBmJwRERERWRAmZ0REREQWhMkZERERkQVhckZERERkQZicEREREVkQJmdEREREFoTJGREREZEFYXJGREREZEGYnBERERFZECZnRERERBaEyRkRERGRBfl/r1Hs7wuK2LgAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Fit: (1835460, 79) -> (1835460,)\n", "Label: Web Attack � Sql Injection\n", "filtered_df.shape (729564, 80)\n", "Making binary on: Web Attack � Sql Injection\n", "X: (729564, 1) ,Y: (729564,)\n", "Label: Web Attack � XSS\n", "filtered_df.shape (729564, 80)\n", "Making binary on: Web Attack � XSS\n", "X: (729564, 1) ,Y: (729564,)\n", "Label: DoS slowloris\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS slowloris\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: DoS GoldenEye\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS GoldenEye\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS Slowhttptest\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (729564, 80)\n", "Making binary on: Web Attack � Brute Force\n", "X: (729564, 1) ,Y: (729564,)\n", "Label: PortScan\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: PortScan\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: SSH-Patator\n", "filtered_df.shape (10970, 80)\n", "Making binary on: SSH-Patator\n", "X: (10970, 2) ,Y: (10970,)\n", "Label: FTP-Patator\n", "filtered_df.shape (8687, 80)\n", "Making binary on: FTP-Patator\n", "X: (8687, 1) ,Y: (8687,)\n", "Label: DoS Hulk\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS Hulk\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: DDoS\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DDoS\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: BENIGN\n", "filtered_df.shape (729564, 80)\n", "Making binary on: BENIGN\n", "X: (729564, 2) ,Y: (729564,)\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "1835455 False False False \n", "1835456 False False False \n", "1835457 False False False \n", "1835458 False False False \n", "1835459 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False False False False \n", "2 False False False False \n", "3 False False False False \n", "4 False False False False \n", "... ... ... ... ... \n", "1835455 False False False False \n", "1835456 False False False False \n", "1835457 False False False False \n", "1835458 False False False False \n", "1835459 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 True False True False False \n", "1 False False False False True \n", "2 False False False False True \n", "3 False False False False True \n", "4 False False False True False \n", "... ... ... ... ... ... \n", "1835455 False False True False False \n", "1835456 False False False False True \n", "1835457 False False True False False \n", "1835458 False False True False False \n", "1835459 False False False False True \n", "\n", "[1835460 rows x 12 columns]\n", "Predict: (458865, 79)\n", "Label: Web Attack � Sql Injection\n", "filtered_df.shape (181586, 79)\n", "Label: Web Attack � XSS\n", "filtered_df.shape (181586, 79)\n", "Label: DoS slowloris\n", "filtered_df.shape (458865, 79)\n", "Label: DoS GoldenEye\n", "filtered_df.shape (458865, 79)\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (458865, 79)\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (181586, 79)\n", "Label: PortScan\n", "filtered_df.shape (458865, 79)\n", "Label: SSH-Patator\n", "filtered_df.shape (2797, 79)\n", "Label: FTP-Patator\n", "filtered_df.shape (2288, 79)\n", "Label: DoS Hulk\n", "filtered_df.shape (458865, 79)\n", "Label: DDoS\n", "filtered_df.shape (458865, 79)\n", "Label: BENIGN\n", "filtered_df.shape (181586, 79)\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "458860 False False False \n", "458861 False False False \n", "458862 False False False \n", "458863 False False False \n", "458864 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False False False False \n", "2 False False False False \n", "3 False False False False \n", "4 False False False False \n", "... ... ... ... ... \n", "458860 False False False False \n", "458861 False False False True \n", "458862 False False False False \n", "458863 False False False False \n", "458864 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 False False False False True \n", "1 False False False False True \n", "2 False False False False False \n", "3 False True False True False \n", "4 False False False False True \n", "... ... ... ... ... ... \n", "458860 False False False False True \n", "458861 False False False False False \n", "458862 False False False False True \n", "458863 False False False False True \n", "458864 False False True False False \n", "\n", "[458865 rows x 12 columns]\n", "Accuracy: 0.9544680897431707\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/nithin/data2/nithin/anaconda3/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, msg_start, len(result))\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Precision: 0.9485367641036972\n", "Recall: 0.9544680897431707\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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zi/uAwcO4OXlhaenp7L/8ePHHDt2TEmChg0bxpEjRwgNDeX06dP07duXLl26cOnSJaWcBw8e8Nlnn7F27VqOHDlCamqqXq1ga9asYciQIajVarp27UpwcLBybMuWLVSpUoXZs2eTmJhIYmIirVq1YunSpVhbWyv7Jk6cqNR7zpw5/Prrr2zdupUrV64QEBCglPf777/Trl07TE1NiYiIIDY2luHDh+t08+aJjIykQ4cOzJo1q8DELCsrq9DETKVSsWrVKhwcHJg+fTqQ233s6+tLVFRUoc+iSZMmTJkyhbfffht/f3+aNm3Ke++9pxzXaDRkZWURFhZW6CszNBoNZ8+e5cyZM4Ve52kZGRn51uURQgghXgbp1iyAl5cXH374IVlZWTx8+JBTp07Rrl07srOz+eKLL4Dc1YMfPnyIt7c3ly9fZuPGjdy8eVNZoG7ixImEh4cTHBzM3LlzgdxWpBUrVigL3a1du5Y6depw4sQJmjVrVmBdLl26RHR0NFu2bAFgyJAhjB07lhkzZmBgYECFChUwNDTEyspKmbkCuc2rKpVKZx/A8OHDlX9Xr16dL774gmbNmpGWloalpSVffvklarWa0NBQjIyMAArstt22bRv+/v589dVXDBw4sMC6GxgYYGlpWeCx6dOn06NHD9q0aaPzjjMjIyOl27gw//73vwkODub48eNcvHhRpy+/RYsWTJ06lUGDBjFy5EiaNWtG+/btGTp0qDJbZsyYMRw+fJh69erxxhtv0KJFCzp37szgwYMLnTEUFBTErFmziqyXEEK87lQqA1TFfUHmU+eLZ5OnVABvb2/S09OJiYnh8OHDuLi4YG9vj6enJzExMaSnpxMZGUnVqlWpXr06v/zyC1qtFhcXFywtLZXt4MGDXL58WSm3XLlyeHh4KJ9r165N+fLlSUhIKLQua9aswcfHB1tbWwC6du1Keno6+/bte657O3XqFD179uSNN97AyspK6Xa9fv06AHFxcbRt21ZJzApy/Phx+vTpw9q1awtNzCA3OQsJCdF5P1mefv36sXDhQn777Tdln42NDfv27aNx48ZF3sPevXtJTExEq9USExOT7/hnn31GUlISq1atws3NjVWrVlG7dm3i4+MBsLCwYMeOHfz222/8+9//xtLSkgkTJtCsWTNlXNrTpkyZQkpKirLduHGjyDoKIcRryUBV8k08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pSR7edvhw4eLVZ+srCxCQkKIj4+nQ4cOAPz73/+mVatWODs74+fnx4QJE/jhhx8AMDMzw9LSknLlyqHRaNBoNJiZmQG5U6G9vb2V1r45c+Yo5xkbG6NWq1GpVMp5lpaWXLp0ie3bt/PNN9/Qtm1bGjRowIYNG/j999911srJzMzkP//5D61atcLV1RULC4t89xIUFKQzPsLJyalYz0IIIV4Hpb3OWVpaGnFxcco46CtXrhAXF8f169dJS0tj4sSJHDt2jKtXrxIZGYmfnx+2trb861//AkCtVjNixAgmTJjA/v37OXXqFEOGDKFevXrK7M06derQpUsXAgMDiY6OJjo6msDAQLp3746rqysAnTt3xs3NDX9/f06dOsX+/fuZOHEigYGBSvfsoEGDMDExISAggDNnzhAWFsbcuXOLPVMTJDl77fTp04c//viD7du34+PjQ2RkJI0bN1a6Bz/77DOSkpJYtWoVbm5urFq1itq1axMfH69TzqZNm5QfiLzNw8NDOT537lydxO369evKscmTJ2NpaYmZmRmjR49m0qRJvPvuuwD897//pU2bNkoCNX36dJ1zC3PgwAE6depE5cqVsbKyYujQody9e5f09PRCz0lISKBcuXI6M3AqVqyIq6srCQkJyj5jY2Pq169f5PWnTJlCSkqKst24ceOZdRZCCFEyJ0+epFGjRjRq1AiA8ePH06hRIz755BMMDQ2Jj4+nZ8+euLi48NZbb+Hi4sKxY8ewsrJSyvj888/p1asX/fr1o3Xr1pibm/PTTz9haGioxGzYsIF69erRuXNnOnfuTP369Vm3bp1y3NDQkB07dmBqakrr1q3p168fvXr1YtGiRUqMWq1m79693Lx5Ew8PD0aNGsX48eMZP358se9bJgS8hkxNTenUqROdOnXik08+4e2332bGjBkEBAQAuQlK37596du3L0FBQTRq1IhFixaxdu1apQwnJydq1qypU25eKxbAyJEj6devn/L5yenFkyZNIiAgAHNzcxwcHJS/GKKjoxkwYACzZs3Cx8cHtVpNaGgoixcvLvJ+rl27RteuXRk5ciRz5syhQoUKREVFMWLECJ3uyacV1nX79ABOMzOzZ/5VY2Ji8sLGRAghxN+VVpu7leT84vDy8ipyGM7u3bufWYapqSnLly9n+fLlhcZUqFCB9evXF1lO1apV+fnnn4uM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IiIikoTTmtbB5IyIiIgk4RMCrIPTmkREREQ2hCNnREREJInRCBhlTE3K2EvQozA5IyIiIkkEo8zdmszOJOG0JhEREZEN4cgZERERScLdmtbBkTMiIiKSpGm3ppxijg8++ABeXl5QqVQICAjAV199ZeGe2RYmZ0RERGSz9u/fj+TkZKxZswYXLlzA888/jxkzZqCkpKSrm9ZpmJwRERGRJE3TmnJKR23evBkJCQlYvHgxRo8eja1bt0Kr1eLDDz/shB7aBiZnREREJEnTbk05pSPq6upw/vx5hIeHm7weHh6OgoICS3bNpnBDABEREUnS2FBrkfp6vd7kdaVSCaVS2SL+xx9/RGNjIwYOHGjy+sCBA1FeXi6rLbaMyRkRERG1ydHRERqNBt+emC/7Wi4uLtBqtSavpaamIi0trdU6CoXC5GdBEFq81p0wOSMiIqI2qVQq3LhxA3V1dbKv9aTE6kmjZgDQv39/2Nvbtxglq6ioaDGa1p0wOSMiIqJ2qVQqqFQqq97T0dERAQEByMvLw0svvSS+npeXhxdffNGqbbEmJmdERERks5YvX464uDiMHz8ewcHB+Oijj1BSUoLXX3+9q5vWaZicERERkc1asGAB7ty5g/Xr16OsrAy+vr74/PPPMXTo0K5uWqdRCILAZykQERER2Qiec0ZERERkQ5icEREREdkQJmdERERENoTJGREREZENYXJGREREZEOYnBERERHZECZnRERERDaEyRkRERGRDWFyRkRERGRDmJwRERER2RAmZ0REREQ2hMkZERERkQ35f6m9bOgklUusAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Fit: (1835460, 79) -> (1835460,)\n", "Label: Web Attack � Sql Injection\n", "filtered_df.shape (728666, 80)\n", "Making binary on: Web Attack � Sql Injection\n", "X: (728666, 1) ,Y: (728666,)\n", "Label: Web Attack � XSS\n", "filtered_df.shape (728666, 80)\n", "Making binary on: Web Attack � XSS\n", "X: (728666, 1) ,Y: (728666,)\n", "Label: DoS slowloris\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS slowloris\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: DoS GoldenEye\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS GoldenEye\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS Slowhttptest\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (728666, 80)\n", "Making binary on: Web Attack � Brute Force\n", "X: (728666, 1) ,Y: (728666,)\n", "Label: PortScan\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: PortScan\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: SSH-Patator\n", "filtered_df.shape (11012, 80)\n", "Making binary on: SSH-Patator\n", "X: (11012, 2) ,Y: (11012,)\n", "Label: FTP-Patator\n", "filtered_df.shape (8807, 80)\n", "Making binary on: FTP-Patator\n", "X: (8807, 1) ,Y: (8807,)\n", "Label: DoS Hulk\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS Hulk\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: DDoS\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DDoS\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: BENIGN\n", "filtered_df.shape (728666, 80)\n", "Making binary on: BENIGN\n", "X: (728666, 2) ,Y: (728666,)\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "1835455 False False False \n", "1835456 False False False \n", "1835457 False False False \n", "1835458 False False False \n", "1835459 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False False False False \n", "2 False False False False \n", "3 False False False False \n", "4 False False False False \n", "... ... ... ... ... \n", "1835455 False False False False \n", "1835456 False False False False \n", "1835457 False False False False \n", "1835458 False False False False \n", "1835459 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 True False True False False \n", "1 False False False False True \n", "2 False False False False True \n", "3 False False False False True \n", "4 False False False False True \n", "... ... ... ... ... ... \n", "1835455 False False False False True \n", "1835456 False False False False True \n", "1835457 False False False False True \n", "1835458 False False True False False \n", "1835459 False False True False False \n", "\n", "[1835460 rows x 12 columns]\n", "Predict: (458865, 79)\n", "Label: Web Attack � Sql Injection\n", "filtered_df.shape (182484, 79)\n", "Label: Web Attack � XSS\n", "filtered_df.shape (182484, 79)\n", "Label: DoS slowloris\n", "filtered_df.shape (458865, 79)\n", "Label: DoS GoldenEye\n", "filtered_df.shape (458865, 79)\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (458865, 79)\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (182484, 79)\n", "Label: PortScan\n", "filtered_df.shape (458865, 79)\n", "Label: SSH-Patator\n", "filtered_df.shape (2755, 79)\n", "Label: FTP-Patator\n", "filtered_df.shape (2168, 79)\n", "Label: DoS Hulk\n", "filtered_df.shape (458865, 79)\n", "Label: DDoS\n", "filtered_df.shape (458865, 79)\n", "Label: BENIGN\n", "filtered_df.shape (182484, 79)\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "458860 False False False \n", "458861 False False False \n", "458862 False False False \n", "458863 False False False \n", "458864 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False False False True \n", "2 False False False False \n", "3 True False False False \n", "4 False False False False \n", "... ... ... ... ... \n", "458860 False False False False \n", "458861 False False False True \n", "458862 False False False False \n", "458863 False False False False \n", "458864 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 False True False True False \n", "1 False False False False True \n", "2 False False False False True \n", "3 False False False False False \n", "4 False False False False True \n", "... ... ... ... ... ... \n", "458860 False False False False True \n", "458861 False False False False False \n", "458862 False False False False True \n", "458863 False False True False False \n", "458864 False False False False False \n", "\n", "[458865 rows x 12 columns]\n", "Accuracy: 0.9545944885750711\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/nithin/data2/nithin/anaconda3/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, msg_start, len(result))\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Precision: 0.9516964042587313\n", "Recall: 0.9545944885750711\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmcAAAGXCAYAAAD2yPeVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAACchUlEQVR4nOzde1yP9//48ce7dD68ReVdZDmF5JzzoXJKCB/mLAtrM8bMYYaPOW1yHmMfNrMyTLYPYQ45pQiRpgk5zIdhK8ZSCunw/v3Rr+vrrYN3Is2e99vtus37up7X63pdV7WevU6XSqvVahFCCCGEEGWCwauugBBCCCGE+D+SnAkhhBBClCGSnAkhhBBClCGSnAkhhBBClCGSnAkhhBBClCGSnAkhhBBClCGSnAkhhBBClCGSnAkhhBBClCGSnAkhhBBClCGSnAkhXqkzZ84wfPhwqlWrhqmpKZaWljRp0oSFCxfy119/vdRrnz59Gg8PD9RqNSqVimXLlr3wa6hUKmbNmvXCy32W4OBgVCoVKpWKiIiIfMe1Wi01a9ZEpVLh6en5XNf4z3/+Q3BwcLHOiYiIKLROQohc5V51BYQQ/1xr1qxh9OjR1K5dm8mTJ+Pq6kpmZianTp1i9erVHD9+nNDQ0Jd2/REjRpCenk5ISAg2NjY4Ozu/8GscP36cKlWqvPBy9WVlZcXatWvzJWCRkZFcuXIFKyur5y77P//5D7a2tvj7++t9TpMmTTh+/Diurq7PfV0hXneSnAkhXonjx4/z3nvv0blzZ7Zt24aJiYlyrHPnzkycOJGwsLCXWoezZ88SEBCAj4/PS7tGy5YtX1rZ+hgwYAAbN27kyy+/xNraWtm/du1aWrVqRWpqaqnUIzMzE5VKhbW19St/JkKUddKtKYR4JebNm4dKpeLrr7/WSczyGBsb07NnT+VzTk4OCxcupE6dOpiYmGBvb8+wYcO4efOmznmenp64ubkRExNDu3btMDc3p3r16syfP5+cnBzg/7r8srKyWLVqldL9BzBr1izl30/KO+fatWvKvvDwcDw9PalYsSJmZmZUrVqVvn378uDBAyWmoG7Ns2fP0qtXL2xsbDA1NaVRo0asW7dOJyav+2/Tpk1Mnz4dR0dHrK2t6dSpExcvXtTvIQODBg0CYNOmTcq+lJQUtmzZwogRIwo8Z/bs2bRo0YIKFSpgbW1NkyZNWLt2LVqtVolxdnbm3LlzREZGKs8vr+Uxr+7r169n4sSJVK5cGRMTE3799dd83Zp37tzBycmJ1q1bk5mZqZR//vx5LCws8PPz0/tehXhdSHImhCh12dnZhIeH07RpU5ycnPQ657333mPKlCl07tyZHTt2MHfuXMLCwmjdujV37tzRiU1KSmLIkCEMHTqUHTt24OPjw9SpU9mwYQMA3bt35/jx4wC8+eabHD9+XPmsr2vXrtG9e3eMjY359ttvCQsLY/78+VhYWPD48eNCz7t48SKtW7fm3LlzfPHFF2zduhVXV1f8/f1ZuHBhvvhp06bx22+/8c033/D1119z+fJlfH19yc7O1que1tbWvPnmm3z77bfKvk2bNmFgYMCAAQMKvbd3332XH374ga1bt9KnTx/Gjh3L3LlzlZjQ0FCqV69O48aNlef3dBf01KlTuX79OqtXr+ann37C3t4+37VsbW0JCQkhJiaGKVOmAPDgwQP69etH1apVWb16tV73KcRrRSuEEKUsKSlJC2gHDhyoV3xCQoIW0I4ePVpn/4kTJ7SAdtq0aco+Dw8PLaA9ceKETqyrq6vW29tbZx+gHTNmjM6+mTNnagv6X2NQUJAW0F69elWr1Wq1//3vf7WANi4ursi6A9qZM2cqnwcOHKg1MTHRXr9+XSfOx8dHa25urr13755Wq9VqDx06pAW03bp104n74YcftID2+PHjRV43r74xMTFKWWfPntVqtVpts2bNtP7+/lqtVqutV6+e1sPDo9BysrOztZmZmdo5c+ZoK1asqM3JyVGOFXZu3vXat29f6LFDhw7p7F+wYIEW0IaGhmrfeustrZmZmfbMmTNF3qMQrytpORNClHmHDh0CyDfwvHnz5tStW5eDBw/q7NdoNDRv3lxnX4MGDfjtt99eWJ0aNWqEsbEx77zzDuvWreN///ufXueFh4fTsWPHfC2G/v7+PHjwIF8L3pNdu5B7H0Cx7sXDw4MaNWrw7bffEh8fT0xMTKFdmnl17NSpE2q1GkNDQ4yMjPjkk0+4e/cut2/f1vu6ffv21Tt28uTJdO/enUGDBrFu3TpWrFhB/fr19T5fvHyPHj0iNTW1xNujR49e9a2UeZKcCSFKna2tLebm5ly9elWv+Lt37wLg4OCQ75ijo6NyPE/FihXzxZmYmPDw4cPnqG3BatSowYEDB7C3t2fMmDHUqFGDGjVqsHz58iLPu3v3bqH3kXf8SU/fS974vOLci0qlYvjw4WzYsIHVq1fj4uJCu3btCow9efIkXbp0AXJn0x49epSYmBimT59e7OsWdJ9F1dHf359Hjx6h0WhkrFkZ8+jRIxzNLFGr1SXeqlWrJgnaM8hsTSFEqTM0NKRjx47s2bOHmzdvPnOpibwEJTExMV/sH3/8ga2t7Qurm6mpKQAZGRk6ExWeHtcG0K5dO9q1a0d2djanTp1ixYoVjB8/nkqVKjFw4MACy69YsSKJiYn59v/xxx8AL/RenuTv788nn3zC6tWr+eyzzwqNCwkJwcjIiJ07dyrPAmDbtm3FvmZBEysKk5iYyJgxY2jUqBHnzp1j0qRJfPHFF8W+png5Hj9+TDLZrDOtjnkJ2nUekMNbSf/j8ePHOt9fQpe0nAkhXompU6ei1WoJCAgocAB9ZmYmP/30EwAdOnQAUAb054mJiSEhIYGOHTu+sHrlzTg8c+aMzv68uhTE0NCQFi1a8OWXXwLw888/FxrbsWNHwsPDlWQsz3fffYe5uflLW2aicuXKTJ48GV9fX956661C41QqFeXKlcPQ0FDZ9/DhQ9avX58v9kW1RmZnZzNo0CBUKhV79uwhMDCQFStWsHXr1hKXLV4si3KGWBqVe+7Nopzhsy8ipOVMCPFqtGrVilWrVjF69GiaNm3Ke++9R7169cjMzOT06dN8/fXXuLm54evrS+3atXnnnXdYsWIFBgYG+Pj4cO3aNWbMmIGTkxMffvjhC6tXt27dqFChAiNHjmTOnDmUK1eO4OBgbty4oRO3evVqwsPD6d69O1WrVuXRo0fKjMhOnToVWv7MmTPZuXMnXl5efPLJJ1SoUIGNGzeya9cuFi5ciFqtfmH38rT58+c/M6Z79+4sXbqUwYMH884773D37l0WL15c4HIn9evXJyQkhM2bN1O9enVMTU2fa5zYzJkzOXLkCPv27UOj0TBx4kQiIyMZOXIkjRs3plq1asUuU4i/M0nOhBCvTEBAAM2bN+fzzz9nwYIFJCUlYWRkhIuLC4MHD+b9999XYletWkWNGjVYu3YtX375JWq1mq5duxIYGFjgGLPnZW1tTVhYGOPHj2fo0KGUL1+et99+Gx8fH95++20lrlGjRuzbt4+ZM2eSlJSEpaUlbm5u7NixQxmzVZDatWtz7Ngxpk2bxpgxY3j48CF169YlKCioWCvtvywdOnTg22+/ZcGCBfj6+lK5cmUCAgKwt7dn5MiROrGzZ88mMTGRgIAA7t+/zxtvvKGzDpw+9u/fT2BgIDNmzNBpAQ0ODqZx48YMGDCAqKgojI2NX8TtiRJSGRmgUj1/p5vqibXyROFUWq08KSGEEEIULjU1FbVaTahtHSwMnr9rMj0nm3/duUBKSorOGyuELhlzJoQQQghRhki3phBCCCH0ojJSoTLQfxZuvvNznv/cfxJJzoQQQgihF4NyKgxKkJwZSHKmF+nWFEIIIYQoQ6TlTAghhBB6kW7N0iEtZ0IIIYTQi4GhKrdr83k3w+IlZ6tWraJBgwZYW1tjbW1Nq1at2LNnj3Lc398flUqlsz29kHNGRgZjx47F1tYWCwsLevbsyc2bN3VikpOT8fPzU14x5efnx71793Rirl+/jq+vLxYWFtja2jJu3Lh8C2jHx8fj4eGBmZkZlStXZs6cOTzPohiSnAkhhBCiTKpSpQrz58/n1KlTnDp1ig4dOtCrVy/OnTunxHTt2pXExERl2717t04Z48ePJzQ0lJCQEKKiokhLS6NHjx5kZ2crMYMHDyYuLo6wsDDCwsKIi4vTeb9rdnY23bt3Jz09naioKEJCQtiyZQsTJ05UYlJTU+ncuTOOjo7ExMSwYsUKFi9ezNKlS4t937LOmRBCCCGKlLfO2e469bEwLME6Z9nZdLsQX6J1zipUqMCiRYsYOXIk/v7+3Lt3r9B3v6akpGBnZ8f69esZMGAAkPseWycnJ3bv3o23tzcJCQm4uroSHR1NixYtAIiOjqZVq1ZcuHCB2rVrs2fPHnr06MGNGzdwdHQEct9D6+/vz+3bt7G2tmbVqlVMnTqVW7duKW/UmD9/PitWrODmzZvFetestJwJUQr+85//UK1aNUxNTWnatClHjhx51VUqlsDAQJo1a4aVlRX29vb07t2bixcvvupqlUhgYCAqlYrx48e/6qoU2++//87QoUOpWLEi5ubmNGrUiNjY2FddrWLJysri3//+N9WqVcPMzIzq1aszZ84ccnJyXnXVCnX48GF8fX1xdHREpVLlSwi0Wi2zZs3C0dERMzMzPD09dVp4XgcGhqoSb5Cb7D25ZWRkPPPa2dnZhISEkJ6eTqtWrZT9ERER2Nvb4+LiQkBAALdv31aOxcbGkpmZqfPWDkdHR9zc3Dh27BgAx48fR61WK4kZQMuWLVGr1Toxbm5uSmIG4O3tTUZGhvKzd/z4cTw8PHRedebt7c0ff/xR7DdnSHImxEu2efNmxo8fz/Tp0zl9+jTt2rXDx8eH69evv+qq6S0yMpIxY8YQHR3N/v37ycrKokuXLqSnp7/qqj2XmJgYvv76axo0aPCqq1JsycnJtGnTBiMjI/bs2cP58+dZsmQJ5cuXf9VVK5YFCxawevVqVq5cSUJCAgsXLmTRokWsWLHiVVetUOnp6TRs2JCVK1cWeHzhwoUsXbqUlStXEhMTg0ajoXPnzty/f7+Ua/ryqAxUJd4AnJyclPFdarWawMDAQq8ZHx+PpaUlJiYmjBo1itDQUFxdXQHw8fFh48aNhIeHs2TJEmJiYujQoYOS7CUlJWFsbIyNjY1OmZUqVSIpKUmJsbe3z3dde3t7nZhKlSrpHLexscHY2LjImLzPeTH6ktmaQrxkS5cuZeTIkcp7GZctW8bevXtZtWpVkf9DKkvCwsJ0PgcFBWFvb09sbCzt27d/RbV6PmlpaQwZMoQ1a9bw6aefvurqFNuCBQtwcnIiKChI2efs7PzqKvScjh8/Tq9evejevTuQew+bNm3i1KlTr7hmhfPx8cHHx6fAY1qtlmXLljF9+nT69OkDwLp166hUqRLff/897777bmlWtcy7ceOGTrfmk61NT6tduzZxcXHcu3ePLVu28NZbbxEZGYmrq6vSVQng5uaGu7s7b7zxBrt27VK+DgXRarU63YwFdTm+iJi8kWPF6dIEaTkT4qV6/PgxsbGx+V6E3aVLF6W5/O8oJSUFyB378XczZswYunfvTqdOnV51VZ7Ljh07cHd3p1+/ftjb29O4cWPWrFnzqqtVbG3btuXgwYNcunQJgF9++YWoqCi6dev2imv2fK5evUpSUpLOz7qJiQkeHh5/65/1p6kMDUq8Acrsy7ytqOTM2NiYmjVr4u7uTmBgIA0bNmT58uUFxjo4OPDGG29w+fJlADQaDY8fPyY5OVkn7vbt20qrlkaj4datW/nK+vPPP3Vinm79Sk5OJjMzs8iYvC7Wp1vUnkWSMyFeojt37pCdnV1gU3dxm7nLCq1Wy4QJE2jbti1ubm6vujrFEhISws8///y3abEsyP/+9z9WrVpFrVq12Lt3L6NGjWLcuHF89913r7pqxTJlyhQGDRpEnTp1MDIyonHjxowfP55Bgwa96qo9l7yf59fpZ70gL2rMWUlotdpCx6jdvXuXGzdu4ODgAEDTpk0xMjJi//79SkxiYiJnz56ldevWALRq1YqUlBROnjypxJw4cYKUlBSdmLNnz5KYmKjE7Nu3DxMTE5o2barEHD58WGd5jX379uHo6Fjs1m3p1hSiFBTU1F3cZu6y4v333+fMmTNERUW96qoUy40bN/jggw/Yt28fpqamr7o6zy0nJwd3d3fmzZsHQOPGjTl37hyrVq1i2LBhr7h2+tu8eTMbNmzg+++/p169esTFxTF+/HgcHR156623XnX1ntvr9LNeFkybNg0fHx+cnJy4f/8+ISEhREREEBYWRlpaGrNmzaJv3744ODhw7do1pk2bhq2tLf/6178AUKvVjBw5kokTJ1KxYkUqVKjApEmTqF+/vtJ6XrduXbp27UpAQABfffUVAO+88w49evSgdu3aQG5vh6urK35+fixatIi//vqLSZMmERAQoHTPDh48mNmzZ+Pv78+0adO4fPky8+bN45NPPin294AkZ0K8RLa2thgaGhbY1F3cZu6yYOzYsezYsYPDhw9TpUqVV12dYomNjeX27dvKX7mQO/vr8OHDrFy5koyMDAxLsERAaXFwcFAGQ+epW7cuW7ZseUU1ej6TJ0/m448/ZuDAgQDUr1+f3377jcDAwL9lcqbRaIDcFrS8Vhv4+/6sF0alKt03BNy6dQs/Pz8SExNRq9U0aNCAsLAwOnfuzMOHD4mPj+e7777j3r17ODg44OXlxebNm7GyslLK+PzzzylXrhz9+/fn4cOHdOzYkeDgYJ2f940bNzJu3DilW7pnz546Ez8MDQ3ZtWsXo0ePpk2bNpiZmTF48GAWL16sxKjVavbv38+YMWNwd3fHxsaGCRMmMGHChGI/J0nOhHiJjI2Nadq0Kfv371f+kgPYv38/vXr1eoU1Kx6tVsvYsWMJDQ0lIiKCatWqveoqFVvHjh2Jj4/X2Td8+HDq1KnDlClT/haJGUCbNm3yLWNy6dIl3njjjVdUo+fz4MEDDAx0R9YYGhqW6aU0ilKtWjU0Gg379++ncePGQO6Y08jISBYsWPCKa/fiqAwpUdekqpgrq65du7bQY2ZmZuzdu/eZZZiamrJixYoiZwJXqFCBDRs2FFlO1apV2blzZ5Ex9evX5/Dhw8+s07NIcibESzZhwgT8/Pxwd3enVatWfP3111y/fp1Ro0a96qrpbcyYMXz//fds374dKysrpSVQrVZjZmb2imunHysrq3xj5CwsLKhYseLfauzchx9+SOvWrZk3bx79+/fn5MmTfP3113z99devumrF4uvry2effUbVqlWpV68ep0+fZunSpYwYMeJVV61QaWlp/Prrr8rnq1evEhcXR4UKFahatSrjx49n3rx51KpVi1q1ajFv3jzMzc0ZPHjwK6y1+DuS5EyIl2zAgAHcvXuXOXPmkJiYiJubG7t37/5btXSsWrUKAE9PT539QUFB+Pv7l36F/sGaNWtGaGgoU6dOZc6cOVSrVo1ly5YxZMiQV121YlmxYgUzZsxg9OjR3L59G0dHR959910++eSTV121Qp06dQovLy/lc1531VtvvUVwcDAfffQRDx8+ZPTo0SQnJ9OiRQv27dun08X2d6cyVKEqUcuZjL/Th7y+SQghhBBFynt9U0Tb5liWe/52nbSsLDyjTpbo9U3/BLKUhhBCCCFEGSLdmkIIIYTQy5OvYHre88WzSXImhBBCCL2UdCFZAxlzphfp1hRCCCGEKEOk5UwIIYQQepFuzdIhyZkQQggh9KJSGaAyeP5ON5VKOuz0IcmZEEIIIfQiLWelQ1JYIUpJRkYGs2bNIiMj41VX5bm9DvcAch9lyetwD/D63IcoG2QRWiFKSd4ijn/nxRdfh3sAuY+y5HW4B3h97qMwefcX7dMOS6MSLEKbmUXLPUde2+f0oki3phBCCCH0It2apUO6NYUQQgghyhBpORPiOeTk5PDHH39gZWWFSqXfX4Kpqak6//07eh3uAeQ+ypLX4R6gbN6HVqvl/v37ODo6YlCCGZZPUhmUcLbmC6rH606SMyGewx9//IGTk9Nznfu855Ulr8M9gNxHWfI63AOUzfu4ceMGVapUeSFlSbdm6ZDkTIjnYGVlBUDTjj9iWM78FddGCCHyy856QOzBfsr/r8TfhyRnQjyHvK5Mw3LmlDOyeMW1EUKIwuk79EKvsqTlrFRIciaEEEIIvUhyVjpkZJ4QQgghRBkiLWdCCCGE0Etuy1lJZmtKy5k+pOWsDMnMzMTPz4/Dhw+/6qoIIYQQ+agMVBgYPv8myZl+JDkrIzIzMxkwYAAbNmygW7dukqAJIYQQ/1CvPDkLDg6mfPnyr7oaJebv70/v3r2f69zMzEwGDRpERkYGc+bMYfr06cyfP58jR4682Eo+g7OzM8uWLXuhZXp6ejJ+/PgXWubTIiIiUKlU3Lt376VeRwgh/unyJgSUZBPPpndytnr1aqysrMjKylL2paWlYWRkRLt27XRijxw5gkql4tKlSy+upoV45513MDQ0JCQkJN+xgpKNspYM5rWYtW3bluXLl2Nra0utWrXYtWsXmzZt0itBy87OJjAwkDp16mBmZkaFChVo2bIlQUFBL7Sus2bNolGjRsU6Z+vWrcydO/eF1aGgZK9169YkJiaiVqtf2HWEEELkl/eGgJJs4tn0nhDg5eVFWloap06domXLlkBuEqbRaIiJieHBgweYm+cuxhkREYGjoyMuLi4vp9b/34MHD9i8eTOTJ09m7dq1DBw48KVe70XLS8xCQ0O5fPkykyZNIjs7G4DQ0FD69etHt27d2L17d74E+EmzZs3i66+/ZuXKlbi7u5OamsqpU6dITk4urVspVIUKFV76NYyNjdFoNC/9OkII8U8nS2mUDr1T2Nq1a+Po6EhERISyLyIigl69elGjRg2OHTums9/LywuAx48f89FHH1G5cmUsLCxo0aKFThl5tm3bhouLC6ampnTu3JkbN248s04//vgjrq6uTJ06laNHj3Lt2jXlmKenJ7/99hsffvghKpUKlUpFREQEw4cPJyUlRdk3a9YsADZs2IC7uztWVlZoNBoGDx7M7du3da537tw5unfvjrW1NVZWVrRr144rV64UWLfY2Fjs7e357LPPCjz+ZGIGcPbsWSUxMzAwoHLlyvz222+kpaXRrVs3oqKiCn0OP/30E6NHj6Zfv35Uq1aNhg0bMnLkSCZMmKDEpKenM2zYMCwtLXFwcGDJkiUl7nLM68pdvHgxDg4OVKxYkTFjxpCZmanEPH0Nfb4fjh49ioeHB+bm5tjY2ODt7U1ycjL+/v5ERkayfPly5et37dq1Ars1t2zZQr169TAxMcHZ2ZklS5boXMPZ2Zl58+YxYsQIrKysqFq1Kl9//XWh95qRkUFqaqrOJoQQQrwMxWpf9PT05NChQ8rnQ4cO4enpiYeHh7L/8ePHHD9+XEnOhg8fztGjRwkJCeHMmTP069ePrl27cvnyZaWcBw8e8Nlnn7Fu3TqOHj1KamqqXq1ga9euZejQoajVarp166bTjbd161aqVKnCnDlzSExMJDExkdatW7Ns2TKsra2VfZMmTVLqPXfuXH755Re2bdvG1atX8ff3V8r7/fffad++PaampoSHhxMbG8uIESN0unnzRERE0LFjR2bPns306dPzHc/KytJJzJ6kUqlYvXo1Dg4OzJgxA8jtPvbx8Sk0QdNoNISHh/Pnn38W+qwmT57MoUOHCA0NZd++fURERBAbG1tovL4OHTrElStXOHToEOvWrSM4OJjg4OBC45/1/RAXF0fHjh2pV68ex48fJyoqCl9fX7Kzs1m+fDmtWrUiICBA+foV9B672NhY+vfvz8CBA4mPj2fWrFnMmDEjX72WLFmCu7s7p0+fZvTo0bz33ntcuHChwHoHBgaiVquVrSy+P08IIV42GXNWOoq1zpmnpycffvghWVlZPHz4kNOnT9O+fXuys7P54osvAIiOjubhw4d4eXlx5coVNm3axM2bN3F0dARg0qRJhIWFERQUxLx584DcVqSVK1fSokULANatW0fdunU5efIkzZs3L7Auly9fJjo6mq1btwIwdOhQxo0bx8yZMzEwMKBChQoYGhoqLWF51Go1KpUqXzfYiBEjlH9Xr16dL774gubNm5OWloalpSVffvklarWakJAQjIyMAArstt2+fTt+fn589dVXDBo0qMC6GxgYYGlpWeCxGTNm0LNnT9q2bcvNmzeV/UZGRkq38dOWLl3Km2++iUajoV69erRu3ZpevXrh4+MD5CZ3a9eu5bvvvqNz585A7jN+ES/CtbGxYeXKlRgaGlKnTh26d+/OwYMHCQgIyBerz/fDwoULcXd35z//+Y9yXr169ZR/GxsbY25uXmQ35tKlS+nYsaOS3Lq4uHD+/HkWLVqkk3B369aN0aNHAzBlyhQ+//xzIiIiqFOnTr4yp06dqtMSmZqaKgmaEOIfp6TjxmTMmX6K9ZS8vLxIT08nJiaGI0eO4OLigr29PR4eHsTExJCenk5ERARVq1alevXq/Pzzz2i1WlxcXLC0tFS2yMhIne7AcuXK4e7urnyuU6cO5cuXJyEhodC6rF27Fm9vb2xtbYHcX7Tp6ekcOHCguM8AgNOnT9OrVy/eeOMNrKys8PT0BOD69etAbotOu3btlMSsICdOnKBv376sW7eu0MQMcpOz4OBg/Pz88h3r378/ixYt4tdff1X22djYcODAAZo0aVJgea6urpw9e5bo6GiGDx/OrVu38PX15e233wZyk6LHjx/TqlUr5ZwKFSpQu3btwh+InurVq4ehoaHy2cHBIV93cB59vh/yWs5KIiEhgTZt2ujsa9OmDZcvX1a6jgEaNGig/DsvYS+s7iYmJlhbW+tsQgghxMtQrJazmjVrUqVKFQ4dOkRycjIeHh5AbrdatWrVOHr0KIcOHaJDhw4A5OTkYGhoSGxsrM4vcCBfy1FBL2Yt7GWt2dnZfPfddyQlJVGuXDmd/WvXrqVLly7FuS3S09Pp0qULXbp0YcOGDdjZ2XH9+nW8vb15/PgxAGZmZs8sp0aNGlSsWJFvv/2W7t27Y2xsXGhsXoIGsH79emV/xYoVSUlJUT4/KzF7srxmzZrRrFkzPvzwQzZs2ICfnx/Tp09Hq9U+s+7P6+lkVaVSkZOTU2CsPt8P+jznZ9Fqtfm+dwp6BsWpuxBCCJkQUFqK/fomLy8vIiIiSE5OZvLkycp+Dw8P9u7dq7TeADRu3Jjs7Gxu375d5GzDrKwsTp06pXRhXrx4kXv37hXYvQSwe/du7t+/z+nTp3V+yV+4cIEhQ4Zw9+5dKlasiLGxsU5LCVDgvgsXLnDnzh3mz5+vdFWdOnVKJ6ZBgwasW7eOzMzMQlvPbG1t2bp1K56engwYMIAffvihyJa2ghI0BwcH5biNjQ379+9/ZmJWEFdXVyA38axZsyZGRkZER0dTtWpVAJKTk7l06ZKSYJcGfb4fGjRowMGDB5k9e3aBxwv6+j3N1dU13/i8Y8eO4eLiki8pFEIIoT/p1iwdxX5KXl5eREVFERcXp/OL3cPDgzVr1vDo0SNlMoCLiwtDhgxh2LBhbN26latXrxITE8OCBQvYvXu3cq6RkRFjx47lxIkT/PzzzwwfPpyWLVsWOt5s7dq1dO/enYYNG+Lm5qZsffv2xc7Ojg0bNgC5M/IOHz7M77//zp07d5R9aWlpHDx4kDt37vDgwQOqVq2KsbExK1as4H//+x87duzItzbX+++/r0xUOHXqFJcvX2b9+vVcvHhRJ87e3p7w8HAuXLjAoEGDCpww8KSnuziTk5P54IMPlMSsadOmz/yavPnmm3z++eecOHGC3377jYiICMaMGYOLiwt16tTB0tKSkSNHMnnyZA4ePMjZs2fx9/fHoJR/SPT5fpg6dSoxMTGMHj2aM2fOcOHCBVatWqXz9Ttx4gTXrl3jzp07BbZ0TZw4kYMHDzJ37lwuXbrEunXrWLlypTL5QwghhCjLnis5e/jwITVr1qRSpUrKfg8PD+7fv0+NGjV0BkoHBQUxbNgwJk6cSO3atenZsycnTpzQiTE3N2fKlCkMHjyYVq1aYWZmVuCisgC3bt1i165d9O3bN98xlUpFnz59WLt2LQBz5szh2rVr1KhRAzs7OyB3wdJRo0YxYMAA7OzsWLhwIXZ2dgQHBytLc8yfP5/FixfrlF2xYkXCw8NJS0vDw8ODpk2bsmbNmgJbxvJmT8bHxzNkyJBntvQ8maAdPHiQ1NRUvRMzAG9vb3766Sd8fX1xcXHhrbfeok6dOuzbt0/p9l20aBHt27enZ8+edOrUibZt2+pd/ov0rO8HFxcX9u3bxy+//ELz5s1p1aoV27dvV+5j0qRJGBoa4urqqnQ/P61Jkyb88MMPhISE4ObmxieffMKcOXN0JgMIIYR4DipVyTfxTCrtyxyQJIolJyeHcePG4e/vrzNB4mXx9PSkUaNGL/yVTU9q1aoVHTt25NNPP31p13gVUlNTUavVNPfeRTkji1ddHSGEyCcrM52Te7uTkpJS4klMef/PS3j3X1iZFD5c51nuZ2RS96vQF1Kn15l0/pYhBgYGyir/f3cZGRmcOnWKc+fO6SyFIYQQQoiiSXImXoo9e/bQoUMHfH19efPNN191dYQQQrwA8m7N0lHs2Zri9VHQa7RelN69e8srjoQQ4jUjS2mUDklhhRBCCCHKEGk5E0IIIYReZJ2z0iFPSQghhBB6URmU9OXnxbveqlWraNCggfLavFatWrFnzx7luFarZdasWTg6OmJmZoanpyfnzp3TKSMjI4OxY8dia2uLhYUFPXv21Hl3NeSuMern54darUatVuPn58e9e/d0Yq5fv46vry8WFhbY2toybtw45S1CeeLj4/Hw8MDMzIzKlSszZ86c53pLjyRnQgghhNBLyRKz4o9Xq1KlCvPnz+fUqVOcOnWKDh060KtXLyUBW7hwIUuXLmXlypXExMSg0Wjo3Lkz9+/fV8oYP348oaGhhISEEBUVRVpaGj169NBZg3Tw4MHExcURFhZGWFgYcXFxOu+/zs7Opnv37qSnpxMVFUVISAhbtmxh4sSJSkxqaiqdO3fG0dGRmJgYVqxYweLFi1m6dGnxn7OscyZE8ck6Z0KIsu5lrHP264cDsDIp/L3Rz3I/4zE1P99cojpVqFCBRYsWMWLECBwdHRk/fjxTpkwBclvJKlWqxIIFC3j33XdJSUnBzs6O9evXM2DAAAD++OMPnJyc2L17N97e3iQkJODq6kp0dDQtWrQAIDo6mlatWnHhwgVq167Nnj176NGjBzdu3MDR0RGAkJAQ/P39uX37NtbW1qxatYqpU6dy69YtTExMAJg/fz4rVqzg5s2bhb4vvCDSciaEEEII/RgYlHwjN9l7csvIyHjmpbOzswkJCSE9PZ1WrVpx9epVkpKS6NKlixJjYmKCh4cHx44dAyA2NpbMzEydGEdHR9zc3JSY48ePo1arlcQMoGXLlqjVap0YNzc3JTGD3LfzZGRkEBsbq8R4eHgoiVlezB9//MG1a9eK95iLFS2EEEKIfyyVSlXiDcDJyUkZ36VWqwkMDCz0mvHx8VhaWmJiYsKoUaMIDQ3F1dWVpKQkAJ1XSeZ9zjuWlJSEsbExNjY2RcbY29vnu669vb1OzNPXsbGxwdjYuMiYvM95MfqS2Zqi1GVmZjJixAgCAgJo3779q66OEEKIUnbjxg2dbs0nW5ueVrt2beLi4rh37x5btmzhrbfeIjIyUjn+dHehVqt9Zhfi0zEFxb+ImLyRY8Xp0gRpOROlLDMzkwEDBrBhwwa6devG4cOHX3WVhBBC6OlFvSEgb/Zl3lZUcmZsbEzNmjVxd3cnMDCQhg0bsnz5cjQaDZC/Ver27dtKi5VGo+Hx48ckJycXGXPr1q181/3zzz91Yp6+TnJyMpmZmUXG3L59G8jfuvcskpyVkuDgYMqXL/+qq1Fi/v7+9O7d+7nOzczMZNCgQWRkZDBnzhymT5/O/PnzOXLkyIutpBBCiJeitGdrFkSr1ZKRkUG1atXQaDTs379fOfb48WMiIyNp3bo1AE2bNsXIyEgnJjExkbNnzyoxrVq1IiUlhZMnTyoxJ06cICUlRSfm7NmzJCYmKjH79u3DxMSEpk2bKjGHDx/WWV5j3759ODo64uzsXKx7lOTsKatXr8bKyoqsrCxlX1paGkZGRrRr104n9siRI6hUKi5duvTS6/XOO+9gaGhISEhIvmPOzs4sW7ZMZ19ZSwbzWszatm3L8uXLsbW1pVatWuzatYtNmzbplaB99NFHODs760yRBvD19aV9+/bk5OQAcPr0aXr06IG9vT2mpqY4OzszYMAA7ty5o5yzZcsWWrRogVqtxsrKinr16ulMiRZCCPHqTZs2jSNHjnDt2jXi4+OZPn06ERERDBkyBJVKxfjx45k3bx6hoaGcPXsWf39/zM3NGTx4MABqtZqRI0cyceJEDh48yOnTpxk6dCj169enU6dOANStW5euXbsSEBBAdHQ00dHRBAQE0KNHD2rXrg1Aly5dcHV1xc/Pj9OnT3Pw4EEmTZpEQECA0j07ePBgTExM8Pf35+zZs4SGhjJv3jwmTJhQ7G5NGXP2FC8vL9LS0jh16hQtW7YEcpMwjUZDTEwMDx48wNzcHMh9N6WjoyMuLi4vtU4PHjxg8+bNTJ48mbVr1zJw4MCXer0XLS8xCw0N5fLly0yaNElZXyY0NJR+/frRrVs3du/enS8BftLcuXPZvXs3EyZMYM2aNQB8++23HDp0iF9++QUDAwNu375Np06d8PX1Ze/evZQvX56rV6+yY8cOHjx4AMCBAwcYOHAg8+bNo2fPnqhUKs6fP8/Bgwdf/sMQQoi/M9X/zbh87vOL4datW/j5+ZGYmIharaZBgwaEhYXRuXNnIPeP9ocPHzJ69GiSk5Np0aIF+/btw8rKSinj888/p1y5cvTv35+HDx/SsWNHgoODMTQ0VGI2btzIuHHjlFmdPXv2ZOXKlcpxQ0NDdu3axejRo2nTpg1mZmYMHjyYxYsXKzFqtZr9+/czZswY3N3dsbGxYcKECUyYMKH4j0nWOcuvcuXKjB07lo8//hiAKVOmkJ6ezqFDh1i+fLmSbXfs2BEHBwc2bNjA48eP+fe//83GjRu5d+8ebm5uLFiwAE9PTyC3JWv8+PEEBwfz0Ucfcf36ddq1a8e3336Lk5NTkfVZt24dq1evJiwsDAcHB86fP680kXp6euoMjAQ4dOgQXl5eOvtmzpzJrFmz2LBhA8uWLePixYtYWFjQoUMHli1bpjNT5dy5c3z00UccOXIErVZLo0aNCA4OpkaNGvj7+3Pv3j22bdsG5E5T9vHx4YMPPmD69On56v5kYvY0AwMDoqOjOXfuHMOHD8fS0pI9e/bQtm3bQp9FbGwsrVq1YseOHbi6ulK/fn0CAwMZPXo0ANu2baNfv348fPiQcuUK/ttj/Pjx/PLLLxw6dKjQ6zyLrHMmhCjrXsY6Z1en+2Nt+vzrnKU+eky1z4JfSJ1eZ9KtWQBPT0+dX9yHDh3C09MTDw8PZf/jx485fvy4kgQNHz6co0ePEhISwpkzZ+jXrx9du3bl8uXLSjkPHjzgs88+Y926dRw9epTU1FS9WsHWrl3L0KFDUavVdOvWjaCgIOXY1q1bqVKlCnPmzCExMZHExERat27NsmXLsLa2VvZNmjRJqffcuXP55Zdf2LZtG1evXsXf318p7/fff6d9+/aYmpoSHh5ObGwsI0aM0OnmzRMREUHHjh2ZPXt2gYlZVlZWoYmZSqVi9erVODg4MGPGDCC3+9jHx4eoqKhCn0XTpk2ZOnUqb7/9Nn5+fjRr1oz33ntPOa7RaMjKyiI0NLTQV2ZoNBrOnTvH2bNnC73O0zIyMvKtyyOEEEK8DNKtWQBPT08+/PBDsrKyePjwIadPn6Z9+/ZkZ2fzxRdfALmrBz98+BAvLy+uXLnCpk2buHnzprJA3aRJkwgLCyMoKIh58+YBua1IK1euVBa6W7duHXXr1uXkyZM0b968wLpcvnyZ6Ohotm7dCsDQoUMZN24cM2fOxMDAgAoVKmBoaIiVlZUycwVym1dVKpXOPoARI0Yo/65evTpffPEFzZs3Jy0tDUtLS7788kvUajUhISEYGRkBFNhtu337dvz8/Pjqq68YNGhQgXU3MDDA0tKywGMzZsygZ8+etG3bVucdZ0ZGRkq3cWH+/e9/ExQUxIkTJ7h06ZJOX37Lli2ZNm0agwcPZtSoUTRv3pwOHTowbNgwZbbM2LFjOXLkCPXr1+eNN96gZcuWdOnShSFDhhQ6YygwMJDZs2cXWS8hhHjdqVQGqIr7gsynzhfPJk+pAF5eXqSnpxMTE8ORI0dwcXHB3t4eDw8PYmJiSE9PJyIigqpVq1K9enV+/vlntFotLi4uWFpaKltkZCRXrlxRyi1Xrhzu7u7K5zp16lC+fHkSEhIKrcvatWvx9vbG1tYWgG7dupGens6BAwee695Onz5Nr169eOONN7CyslK6Xa9fvw5AXFwc7dq1UxKzgpw4cYK+ffuybt26QhMzyE3OgoODdd5Plqd///4sWrSIX3/9VdlnY2PDgQMHaNKkSZH3sH//fhITE9FqtcTExOQ7/tlnn5GUlMTq1atxdXVl9erV1KlTh/j4eAAsLCzYtWsXv/76K//+97+xtLRk4sSJNG/eXBmX9rSpU6eSkpKibDdu3CiyjkII8VoyUJV8E88kLWcFqFmzJlWqVOHQoUMkJyfj4eEB5HaHVatWjaNHj3Lo0CE6dOgAQE5ODoaGhsTGxuoMMATytRwVNGOjsFkc2dnZfPfddyQlJemMn8rOzmbt2rU6r6PQR3p6Ol26dKFLly5s2LABOzs7rl+/jre3tzL118zM7Jnl1KhRg4oVK/Ltt9/SvXt3jI0LH3+Ql6ABrF+/XtlfsWJFUlJSlM/6JmbJyckEBAQwbdo0jIyMGD16NB4eHkry+mT5/fr1o1+/fgQGBtK4cWMWL17MunXrdO6jRo0avP3220yfPh0XFxc2b97M8OHD813XxMSkyHV4hBBCiBdFkrNCeHl5ERERQXJyMpMnT1b2e3h4sHfvXqKjo5Vf4o0bNyY7O5vbt28XOdswKyuLU6dOKV2YFy9e5N69e9SpU6fA+N27d3P//n1Onz6tk/RduHCBIUOGcPfuXSpWrIixsbEy+zFPQfsuXLjAnTt3mD9/vjIJ4dSpUzoxDRo0YN26dWRmZhbaemZra8vWrVvx9PRkwIAB/PDDD0W2tBWUoDk4OCjHbWxs2L9//zMTM8jtkrS3t+ff//43KpWKbdu28f777xe4xEgeY2NjatSoQXp6eqExzs7OmJubFxkjhBD/dE8uJPu854tnk6dUCC8vL6KiooiLi1NaziA3OVuzZg2PHj1SJgO4uLgwZMgQhg0bxtatW7l69SoxMTEsWLCA3bt3K+caGRkxduxYTpw4wc8//8zw4cNp2bJloePN1q5dS/fu3WnYsCFubm7K1rdvX+zs7NiwYQOQm1gcPnyY33//XVnLy9nZmbS0NA4ePMidO3d48OABVatWxdjYmBUrVvC///2PHTt2MHfuXJ1rvv/++8pEhVOnTnH58mXWr1/PxYsXdeLs7e0JDw/nwoULDBo0qMAJA096uoszOTmZDz74QEnM8hbxK0poaCg//vgj69atw8jIiHLlyhEcHExoaChbtmwBYOfOnQwdOpSdO3dy6dIlLl68yOLFi9m9eze9evUCYNasWXz00UdERERw9epVTp8+zYgRI8jMzFSmZwshhMivLCxC+08gyVkhvLy8ePjwITVr1tR57YKHhwf379+nRo0aOktgBAUFMWzYMCZOnEjt2rXp2bMnJ06c0IkxNzdnypQpDB48mFatWmFmZlZoi8+tW7fYtWsXffv2zXdMpVLRp08f1q5dC8CcOXO4du0aNWrUwM7ODoDWrVszatQoBgwYgJ2dHQsXLsTOzo7g4GB+/PFHXF1dmT9/vs4aLZDbHRgeHk5aWhoeHh40bdqUNWvWFNgyptFoCA8PJz4+niFDhuRrqXvakwnawYMHSU1N1Tsxu3PnDqNGjWLmzJk0aNBA2e/m5sbMmTMZPXo0d+7cwdXVFXNzcyZOnEijRo1o2bIlP/zwA998842SGHp4ePC///2PYcOGUadOHXx8fEhKSmLfvn3KgoNCCCEKoFLlrlX23JskZ/qQdc5EqcvJyWHcuHH4+/vrTJD4O5F1zoQQZd3LWOfs+tx3sTZ9/vG3qY8yqDrjK1nn7BlkzJkodQYGBjorLwshhPh7KGnXpHRr6keSMyGEEELox6CEr2+SCQF6kackhBBCCFGGSMuZEEIIIfSiUqkKXZtT3/PFs0lyJoQQQgj9qErYrSmvb9KLPCUhhBBCiDJEWs6EEEIIoReZrVk6JDkTQgghhH7yFpMtyfnimeQpCSGEEEKUIdJyJoQQQgj9GKhyt5KcL55JkjMhhBBC6EWlMkBVgq7Jkpz7TyJPSQghhBCiDJGWMyGEEELoR7o1S4W0nIkSi4iIQKVSce/evZdS/qxZs2jUqFGJywkODqZ8+fIlLkcIIf6pVAYGJd7Es8lT+pvw9/dXXpthZGREpUqV6Ny5M99++y05OTnFKis7O5vAwEDq1KmDmZkZFSpUoGXLlgQFBb2k2pcNAwYM4NKlS6+6GkII8felUpV8E88k3Zp/I127diUoKIjs7Gxu3bpFWFgYH3zwAf/973/ZsWMH5crp9+WcNWsWX3/9NStXrsTd3Z3U1FROnTpFcnLyS76DVyczMxMzMzPMzMxedVWEEEKIIknL2d+IiYkJGo2GypUr06RJE6ZNm8b27dvZs2cPwcHBStz169fp1asXlpaWWFtb079/f27duqUc/+mnnxg9ejT9+vWjWrVqNGzYkJEjRzJhwoRCr/3bb7/h6+uLjY0NFhYW1KtXj927dxcav2XLFurVq4eJiQnOzs4sWbJEObZixQrq16+vfN62bRsqlYovv/xS2eft7c3UqVMLLDsnJ4c5c+ZQpUoVTExMaNSoEWFhYcrxa9euoVKp+OGHH/D09MTU1JQNGzbk69b85Zdf8PLywsrKCmtra5o2bcqpU6cKvSchhPjHM1DlvlvzuTdpOdOHJGd/cx06dKBhw4Zs3boVAK1WS+/evfnrr7+IjIxk//79XLlyhQEDBijnaDQawsPD+fPPP/W+zpgxY8jIyODw4cPEx8ezYMECLC0tC4yNjY2lf//+DBw4kPj4eGbNmsWMGTOUBNLT05Nz585x584dACIjI7G1tSUyMhKArKwsjh07hoeHR4HlL1++nCVLlrB48WLOnDmDt7c3PXv25PLlyzpxU6ZMYdy4cSQkJODt7Z2vnCFDhlClShViYmKIjY3l448/xsjIqMBrZmRkkJqaqrMJIcQ/jnRrlgrp1nwN1KlThzNnzgBw4MABzpw5w9WrV3FycgJg/fr11KtXj5iYGJo1a8bSpUt588030Wg01KtXj9atW9OrVy98fHwKvcb169fp27ev0uJVvXr1QmOXLl1Kx44dmTFjBgAuLi6cP3+eRYsW4e/vj5ubGxUrViQyMpK+ffsSERHBxIkT+fzzzwGIiYnh0aNHtG3btsDyFy9ezJQpUxg4cCAACxYs4NChQyxbtkyn9W38+PH06dOnyHuaPHkyderUAaBWrVqFxgYGBjJ79uxCjwshhBAvirScvQa0Wi2q///XSEJCAk5OTkpiBuDq6kr58uVJSEhQPp89e5bo6GiGDx/OrVu38PX15e233y70GuPGjePTTz+lTZs2zJw5U0kGC5KQkECbNm109rVp04bLly+TnZ2NSqWiffv2REREcO/ePc6dO8eoUaPIzs4mISGBiIgImjRpUmDLXGpqKn/88UeB5efdXx53d/dC6wgwYcIE3n77bTp16sT8+fO5cuVKobFTp04lJSVF2W7cuFFk2UII8TqS2ZqlQ57SayAhIYFq1aoBuonak57eb2BgQLNmzfjwww8JDQ0lODiYtWvXcvXq1QKv8fbbb/O///0PPz8/4uPjcXd3Z8WKFQXGFlQHrVar89nT05OIiAiOHDlCw4YNKV++PO3btycyMpKIiAg8PT2LvOeCyn96n4WFRZFlzJo1i3PnztG9e3fCw8NxdXUlNDS0wFgTExOsra11NiGE+MfJe/F5STbxTPKU/ubCw8OJj4+nb9++QG6r2PXr13Vads6fP09KSgp169YttBxXV1cA0tPTC41xcnJi1KhRbN26lYkTJ7JmzZpCy4qKitLZd+zYMVxcXDA0NAT+b9zZf//7XyUR8/Dw4MCBA0WON7O2tsbR0bHA8ou6v8K4uLjw4Ycfsm/fPvr06fPaLycihBCi7JMxZ38jGRkZJCUl6SylERgYSI8ePRg2bBgAnTp1okGDBgwZMoRly5aRlZXF6NGj8fDwULr53nzzTdq0aUPr1q3RaDRcvXqVqVOn4uLiooy/etr48ePx8fHBxcWF5ORkwsPDC02GJk6cSLNmzZg7dy4DBgzg+PHjrFy5kv/85z9KTN64s40bN7J9+3YgN2GbOHEiQKHjzQAmT57MzJkzqVGjBo0aNSIoKIi4uDg2btyo97N8+PAhkydP5s0336RatWrcvHmTmJgYJckVQghRAFUJ3xAgEwL0IsnZ30hYWBgODg6UK1cOGxsbGjZsyBdffMFbb72Fwf/vx1epVGzbto2xY8fSvn17DAwM6Nq1q04XpLe3N5s2bSIwMJCUlBQ0Gg0dOnRg1qxZha6Vlp2dzZgxY7h58ybW1tZ07dpVGcD/tCZNmvDDDz/wySefMHfuXBwcHJgzZw7+/v5KjEqlwsPDg23bttGuXTsAGjRogFqtpnr16kV2G44bN47U1FQmTpzI7du3cXV1ZceOHUUO6H+aoaEhd+/eZdiwYdy6dQtbW1v69Okjg/6FEKII8uLz0qHSPj0YSAjxTKmpqajVapp776KcUdFj24QQ4lXIykzn5N7upKSklHicbN7/8259Mwtrc9PnL+fBIyq9PeuF1Ol1Ji1nQgghhNCPvPi8VEhyJoQQQgj9lHTGpXRr6kWSMyGEEELop6Sr/MuEAL1ICiuEEEIIUYZIy5kQ4qUqaFHkF03mNQlRSvJeYF6S88UzSXImhBBCCP3ImLNSIU9JCCGEEKIMkeRMCCGEEPrJW0qjJFsxBAYG0qxZM6ysrLC3t6d3795cvHhRJ8bf3x+VSqWztWzZUicmIyODsWPHYmtri4WFBT179uTmzZs6McnJyfj5+aFWq1Gr1fj5+XHv3j2dmOvXr+Pr64uFhQW2traMGzeOx48f68TEx8fj4eGBmZkZlStXZs6cOcUeeiHJmRBCCCH0o1KV8MXnxUvOIiMjGTNmDNHR0ezfv5+srCy6dOmS7z3QXbt2JTExUdl2796tc3z8+PGEhoYSEhJCVFQUaWlp9OjRg+zsbCVm8ODBxMXFERYWRlhYGHFxcfj5+SnHs7Oz6d69O+np6URFRRESEsKWLVuU1w5C7mK9nTt3xtHRkZiYGFasWMHixYtZunRpse5bxpwJIYQQokwKCwvT+RwUFIS9vT2xsbG0b99e2W9iYoJGoymwjJSUFNauXcv69evp1KkTABs2bMDJyYkDBw7g7e1NQkICYWFhREdH06JFCwDWrFlDq1atuHjxIrVr12bfvn2cP3+eGzdu4OjoCMCSJUvw9/fns88+w9ramo0bN/Lo0SOCg4MxMTHBzc2NS5cusXTpUiZMmKD3BClpORNCCCGEfvLWOSvJRm4L05NbRkaGXpdPSUkBoEKFCjr7IyIisLe3x8XFhYCAAG7fvq0ci42NJTMzky5duij7HB0dcXNz49ixYwAcP34ctVqtJGYALVu2RK1W68S4ubkpiRnkvqs6IyOD2NhYJcbDwwMTExOdmD/++INr167pdY8gyZkQQggh9JW3lEZJNsDJyUkZ26VWqwkMDHzmpbVaLRMmTKBt27a4ubkp+318fNi4cSPh4eEsWbKEmJgYOnTooCR8SUlJGBsbY2Njo1NepUqVSEpKUmLs7e3zXdPe3l4nplKlSjrHbWxsMDY2LjIm73NejD6kW1M8l2vXrlGtWjVOnz5No0aNCoyJiIjAy8uL5ORkypcvX6r1E0IIUXbduHFD58XnT7Y0Feb999/nzJkzREVF6ewfMGCA8m83Nzfc3d1544032LVrF3369Cm0PK1Wq9PNWFCX44uIyZsMUJw1H6XlrBQ9OaPEyMiISpUq0blzZ7799ltycnKKVVZ2djaBgYHUqVMHMzMzKlSoQMuWLQkKCiryPK1Wq/SjW1tbY2lpSb169fjggw/49ddfS3J7pebpWTl5W0hIyKuumhBCvN5eULemtbW1zvas5Gzs2LHs2LGDQ4cOUaVKlSJjHRwceOONN7h8+TIAGo2Gx48fk5ycrBN3+/ZtpVVLo9Fw69atfGX9+eefOjFPt34lJyeTmZlZZExeF+vTLWpFkeSslOXNKLl27Rp79uzBy8uLDz74gB49epCVlaV3ObNmzWLZsmXMnTuX8+fPc+jQIQICAvJ98z1Jq9UyePBgxo0bR7du3di3bx9nzpzhiy++wMzMjE8//fRF3GKpCAoK0pmZk5iYSO/evV91tYQQ4vVWopmaxV/AVqvV8v7777N161bCw8OpVq3aM8+5e/cuN27cwMHBAYCmTZtiZGTE/v37lZjExETOnj1L69atAWjVqhUpKSmcPHlSiTlx4gQpKSk6MWfPniUxMVGJ2bdvHyYmJjRt2lSJOXz4sM7yGvv27cPR0RFnZ2e971uSs1KWN6OkcuXKNGnShGnTprF9+3b27NlDcHCwEnf9+nV69eqFpaUl1tbW9O/fXyer/+mnnxg9ejT9+vWjWrVqNGzYkJEjRzJhwoRCr71582ZCQkLYvHkzM2bMoGXLllSvXp2OHTsyf/58nVa3nJwc5syZQ5UqVTAxMaFRo0b5Zs08bffu3bi4uGBmZoaXl1eBgx+PHTtG+/btMTMzw8nJiXHjxulMiXZ2dmbevHmMGDECKysrqlatytdff52vnPLly6PRaHQ2U1NT0tPTsba25r///a9O/E8//YSFhQX3798H4Pfff2fAgAHY2NhQsWJFevXqVazBmkIIIV6+MWPGsGHDBr7//nusrKxISkoiKSmJhw8fApCWlsakSZM4fvw4165dIyIiAl9fX2xtbfnXv/4FgFqtZuTIkUycOJGDBw9y+vRphg4dSv369ZXZm3Xr1qVr164EBAQQHR1NdHQ0AQEB9OjRg9q1awPQpUsXXF1d8fPz4/Tp0xw8eJBJkyYREBCgdNEOHjwYExMT/P39OXv2LKGhocybN69YMzVBkrMyoUOHDjRs2JCtW7cCuX8p9O7dm7/++ovIyEj279/PlStXdPrVNRoN4eHh/Pnnn3pfZ9OmTdSuXZuePXsWePzJb5zly5ezZMkSFi9ezJkzZ/D29qZnz55KM/HTbty4QZ8+fejWrRtxcXG8/fbbfPzxxzox8fHxeHt706dPH86cOcPmzZuJiori/fff14lbsmQJ7u7unD59mtGjR/Pee+9x4cIFve7RwsKCgQMH5uveDQoK4s0338TKyooHDx7g5eWFpaUlhw8fJioqCktLS7p27ZpvMUEhhBBPUJVwMkAxW85WrVpFSkoKnp6eODg4KNvmzZsBMDQ0JD4+nl69euHi4sJbb72Fi4sLx48fx8rKSinn888/p3fv3vTv3582bdpgbm7OTz/9hKGhoRKzceNG6tevT5cuXejSpQsNGjRg/fr1ynFDQ0N27dqFqakpbdq0oX///vTu3ZvFixcrMWq1mv3793Pz5k3c3d0ZPXo0EyZMKLLhpMDHrJU3Bpcaf39/7t27x7Zt2/IdGzhwIGfOnOH8+fPs378fHx8frl69ipOTEwDnz5+nXr16nDx5kmbNmnH+/HnefPNNLl68SL169WjdujW9evXCx8en0OvXrVsXFxcXtm/fruwbP34833zzDZDbGpW3YnLlypUZM2YM06ZNU2KbN29Os2bN+PLLL/NNCJg2bRrbtm3j3LlzSpL38ccfs2DBAmVCwLBhwzAzM+Orr75SyoyKisLDw4P09HRMTU1xdnamXbt2yg+EVqtFo9Ewe/ZsRo0aBeQmkaampjo/VABnzpyhevXqnDx5ktatW3P9+nUcHR25c+cOjo6O7N+/Hw8PD7799lsWLlxIQkKCUtfHjx9Tvnx5tm3bpjPdOk9GRobOVO/U1FScnJxo7r2LckYWhT5zIS8+F+JVycpM5+Te7qSkpOgMvn8eqampqNVqbm1ZgbWF2fOXk/6QSn3HvpA6vc6k5ayMeHK2R0JCAk5OTkpiBuDq6kr58uVJSEhQPp89e5bo6GiGDx/OrVu38PX15e233y7yOk//opw+fTpxcXF88sknpKWlAbk/hH/88Qdt2rTRiW3Tpo1y/aclJCTQsmVLnfJbtWqlExMbG0twcDCWlpbK5u3tTU5ODlevXlXiGjRooFNfjUajs2YN5P4VFBcXp7PlPa/mzZtTr149vvvuOwDWr19P1apVlQULY2Nj+fXXX7GyslLqUaFCBR49esSVK1cKvL/AwECdad9Pfm2EEOIfo5THnP1TyVIaZURCQoIy0PHpabl5nt5vYGBAs2bNaNasGR9++CEbNmzAz8+P6dOnFzhoslatWvm6B+3s7LCzsytwfZeCpgMX1gqiT8tFTk4O7777LuPGjct3rGrVqsq/jYyM8tXj6dmsGo2GmjVrFnqtt99+m5UrV/Lxxx8TFBTE8OHDlbrn5OTQtGlTNm7cmO88Ozu7AsubOnWqTrN0XsuZEEII8aJJClsGhIeHEx8fT9++fYHcVrHr169z48YNJeb8+fOkpKRQt27dQstxdXUFyPfOsTyDBg3i4sWLOt2aBbG2tsbR0THfWjLHjh0r9Pqurq5ER0fr7Hv6c5MmTTh37hw1a9bMtxkbGxdZp+IaOnQo169f54svvuDcuXO89dZbOvW4fPky9vb2+eqhVqsLLM/ExCTf1G8hhPjHeUFLaYiiSXJWyjIyMkhKSuL333/n559/Zt68efTq1YsePXowbNgwADp16kSDBg0YMmQIP//8MydPnmTYsGF4eHjg7u4OwJtvvsnnn3/OiRMn+O2334iIiGDMmDG4uLhQp06dAq89cOBA3nzzTQYOHMicOXM4ceIE165dIzIyks2bN+uM4Zo8eTILFixg8+bNXLx4kY8//pi4uDg++OCDAsseNWoUV65cYcKECVy8eJHvv/9eZ/YpwJQpUzh+/DhjxowhLi6Oy5cvs2PHDsaOHVvs53jv3j1l1k7e9mRSamNjQ58+fZg8eTJdunTRWRdnyJAh2Nra0qtXL44cOcLVq1eJjIzkgw8+UMbcCSGEKMALekOAKJo8pVIWFhaGg4MDzs7OdO3alUOHDvHFF1+wfft2JTlSqVRs27YNGxsb2rdvT6dOnahevboyOwVy39X1008/4evrq8xQqVOnDvv27aNcuYJ7q1UqFZs3b2bZsmXs3r2bjh07Urt2bUaMGIGTk5NOS9m4ceOYOHEiEydOpH79+oSFhbFjxw5q1apVYNlVq1Zly5Yt/PTTTzRs2JDVq1czb948nZgGDRoQGRnJ5cuXadeuHY0bN2bGjBnKWjTFMXz4cJ2ZOw4ODqxYsUInZuTIkTx+/JgRI0bo7Dc3N+fw4cNUrVqVPn36ULduXUaMGMHDhw+lRUwIIcQrJ7M1xWtr48aNfPDBB/zxxx8vvNs0b+aSzNZ8NpmtKcSr8TJmaybt+KrEszU1Pd+V2ZrPIBMCxGvnwYMHXL16lcDAQN59990XnpgJIcQ/lkpVshmXMuZML9KtKV47CxcupFGjRlSqVImpU6e+6uoIIYQQxSLJmXjtzJo1i8zMTA4ePIilpeWrro4QQrw+ZJ2zUiHdmkIIIYTQi1alQluCrsmSnPtPIimsEEIIIUQZIi1nQoiXSmZSCvEaKWnXpHRr6kWSMyGEEELop6Sr/Eu3pl4khRVCCCGEKEOk5UwIIYQQ+inpK5jk9U16keRMCCGEEHqR2ZqlQ5IzIYQQQuhHJgSUCnlKQgghhBBliLScCSGEEEIvWpUB2hK0fpXk3H8SeUqvOX9/f3r37v3Synd2dmbZsmUvrXwhhBBlSN5SGiXZxDNJclYC/v7+qFQqVCoVRkZGVKpUic6dO/Ptt9+Sk5NTrLKys7MJDAykTp06mJmZUaFCBVq2bElQUFCR53311Vc0bNgQCwsLypcvT+PGjVmwYEFJbuuFunbtGiqViri4OJ39z5s0RkREoFKpuHfv3gupHxReRyGEEOJVkG7NEuratStBQUFkZ2dz69YtwsLC+OCDD/jvf//Ljh07KFdOv0c8a9Ysvv76a1auXIm7uzupqamcOnWK5OTkQs9Zu3YtEyZM4IsvvsDDw4OMjAzOnDnD+fPnX9TtCSGEEAotJezWlDYhvchTKiETExM0Gg2VK1emSZMmTJs2je3bt7Nnzx6Cg4OVuOvXr9OrVy8sLS2xtramf//+3Lp1Szn+008/MXr0aPr160e1atVo2LAhI0eOZMKECYVe+6effqJ///6MHDmSmjVrUq9ePQYNGsTcuXMLPScjI4Nx48Zhb2+Pqakpbdu2JSYmRjnetGlTlixZonzu3bs35cqVIzU1FYCkpCRUKhUXL15UYh48eMCIESOwsrKiatWqfP3118qxatWqAdC4cWNUKhWenp7MmjWLdevWsX37dqXlMSIiQmnBCgkJoXXr1piamlKvXj0iIiKA3BYuLy8vAGxsbFCpVPj7+wO5rwhauHAh1atXx8zMjIYNG/Lf//5XqUdycjJDhgzBzs4OMzMzatWqpbRKFlRHIYQQBZBuzVIhydlL0KFDBxo2bMjWrVuB3MShd+/e/PXXX0RGRrJ//36uXLnCgAEDlHM0Gg3h4eH8+eefel9Ho9EQHR3Nb7/9pvc5H330EVu2bGHdunX8/PPP1KxZE29vb/766y8APD09lWRIq9Vy5MgRbGxsiIqKAuDQoUNoNBpq166tlLlkyRLc3d05ffo0o0eP5r333uPChQsAnDx5EoADBw6QmJjI1q1bmTRpEv3796dr164kJiaSmJhI69atlfImT57MxIkTOX36NK1bt6Znz57cvXsXJycntmzZAsDFixdJTExk+fLlAPz73/8mKCiIVatWce7cOT788EOGDh1KZGQkADNmzOD8+fPs2bOHhIQEVq1aha2tbaF1fFpGRgapqak6mxBCCPEySHL2ktSpU4dr164Bub/0z5w5w/fff0/Tpk1p0aIF69evJzIyUmm1Wrp0KX/++ScajYYGDRowatQo9uzZU+Q1Zs6cSfny5XF2dqZ27dr4+/vzww8/FDreLT09nVWrVrFo0SJ8fHxwdXVlzZo1mJmZsXbtWiA3OTty5Ag5OTmcOXMGQ0ND/Pz8lIQtIiICDw8PnXK7devG6NGjqVmzJlOmTMHW1laJt7OzA6BixYpoNBoqVKiApaUlZmZmSqujRqPB2NhYKe/999+nb9++1K1bl1WrVqFWq1m7di2GhoZUqFABAHt7ezQaDWq1mvT0dJYuXcq3336Lt7c31atXx9/fn6FDh/LVV18BuS2XjRs3xt3dHWdnZzp16oSvr2+hdXxaYGAgarVa2ZycnIr82gghxGtJpfq/tc6ea5OWM31IcvaSaLVaVP//mzAhIQEnJyedX+iurq6UL1+ehIQE5fPZs2eJjo5m+PDh3Lp1C19fX95+++1Cr+Hg4MDx48eJj49n3LhxZGZm8tZbb9G1a9cCE7QrV66QmZlJmzZtlH1GRkY0b95cqUf79u25f/8+p0+fJjIyEg8PD7y8vJQWqIKSswYNGij/VqlUaDQabt++XdxHpmjVqpXy73LlyuHu7q7UryDnz5/n0aNHdO7cGUtLS2X77rvvuHLlCgDvvfceISEhNGrUiI8++ohjx44Vq05Tp04lJSVF2W7cuPF8NyeEEH9jeW8IKMkmnk0mBLwkCQkJylimJxO1Jz2938DAgGbNmtGsWTM+/PBDNmzYgJ+fH9OnT1fKKoibmxtubm6MGTOGqKgo2rVrR2RkpDI+68nrAfnq8mQ91Go1jRo1IiIigmPHjtGhQwfatWtHXFwcly9f5tKlS/nGZBkZGel8VqlUxZ6t+iwFPb88edfatWsXlStX1jlmYmICgI+PD7/99hu7du3iwIEDdOzYkTFjxrB48WK9rm9iYqKUJYQQQrxM0nL2EoSHhxMfH0/fvn2B3Fax69ev67S2nD9/npSUFOrWrVtoOa6urkBud6S+ijqnZs2aGBsbK+PHADIzMzl16pROPTw9PTl06BCHDx/G09OT8uXL4+rqyqeffoq9vX2RdX5aXndldnZ2vv1P78sTHR2t/DsrK4vY2Fjq1KlTaHmurq6YmJhw/fp1atasqbM92VppZ2eHv78/GzZsYNmyZcrEhcLqKIQQ4ikl6tIs4auf/kGk5ayEMjIySEpK0llKIzAwkB49ejBs2DAAOnXqRIMGDRgyZAjLli0jKyuL0aNH4+Hhgbu7OwBvvvkmbdq0oXXr1mg0Gq5evcrUqVNxcXFREpOnvffeezg6OtKhQweqVKlCYmIin376KXZ2djpdg3ksLCx47733mDx5MhUqVKBq1aosXLiQBw8eMHLkSCXO09OT5cuXU6FCBSXZ8/T0ZMWKFfTp06dYz8fe3h4zMzPCwsKoUqUKpqamqNVqnJ2d2bt3LxcvXqRixYqo1WrlnC+//JJatWpRt25dPv/8c5KTkxkxYgQAb7zxBiqVip07d9KtWzfMzMywsrJi0qRJfPjhh+Tk5NC2bVtSU1M5duwYlpaWvPXWW3zyySc0bdqUevXqkZGRwc6dO5Uks7A6CiGE0KVFhZYSvPi8BOf+k0gKW0JhYWE4ODjg7OxM165dOXToEF988QXbt2/H0NAQyO2S27ZtGzY2NrRv355OnTpRvXp1Nm/erJTj7e3NTz/9hK+vLy4uLrz11lvUqVOHffv2FbpWWqdOnYiOjqZfv364uLjQt29fTE1NOXjwIBUrVizwnPnz59O3b1/8/Pxo0qQJv/76K3v37sXGxkaJad++PQAeHh5Kd6KHhwfZ2dn5xps9S7ly5fjiiy/46quvcHR0pFevXgAEBARQu3Zt3N3dsbOz4+jRozp1XLBgAQ0bNuTIkSNs375dmVlZuXJlZs+ezccff0ylSpV4//33AZg7dy6ffPIJgYGB1K1bV3meed3BxsbGTJ06lQYNGtC+fXsMDQ0JCQkpso5CCCHEq6DS5g1EEuIVu3btGtWqVeP06dM0atToVVenSKmpqajVapp776KckcWrro4QQuSTlZnOyb3dSUlJwdraukRl5f0/77fDO7C2fP7/56WmpfNG+54vpE6vM+nWFEIIIYR+SjpuTMac6UWSMyGEEELopaTLYchSGvqR5EyUGc7OzkgvuxBCiH86Sc6EEEIIoRetqoQvPpduTb1IciaEEEII/ZT05eXSrakXSWGFEEIIIcoQaTkTQgghhH5K2K0pszX1I8mZEEIIIfQibwgoHZLCCiGEEEKUIZKcCSGEEEIvebM1S7IVR2BgIM2aNcPKygp7e3t69+7NxYsXdeuk1TJr1iwcHR0xMzPD09OTc+fO6cRkZGQwduxYbG1tsbCwoGfPnty8eVMnJjk5GT8/P9RqNWq1Gj8/P+7du6cTc/36dXx9fbGwsMDW1pZx48bx+PFjnZj4+Hg8PDwwMzOjcuXKzJkzp9jLRElyJoQQQgj9qPi/GZvPtRXvcpGRkYwZM4bo6Gj2799PVlYWXbp0IT09XYlZuHAhS5cuZeXKlcTExKDRaOjcuTP3799XYsaPH09oaCghISFERUWRlpZGjx49yM7OVmIGDx5MXFwcYWFhhIWFERcXh5+fn3I8Ozub7t27k56eTlRUFCEhIWzZsoWJEycqMampqXTu3BlHR0diYmJYsWIFixcvZunSpcV7zPJuzbItMzOTESNGEBAQoLyQXLx68m5NIURZ9zLerXnlxEGsLC2fu5z7aWnUaNHxuev0559/Ym9vT2RkJO3bt0er1eLo6Mj48eOZMmUKkNtKVqlSJRYsWMC7775LSkoKdnZ2rF+/ngEDBgDwxx9/4OTkxO7du/H29iYhIQFXV1eio6Np0aIFANHR0bRq1YoLFy5Qu3Zt9uzZQ48ePbhx4waOjo4AhISE4O/vz+3bt7G2tmbVqlVMnTqVW7duYWJiAsD8+fNZsWIFN2/eRKXnUiLSclaGZWZmMmDAADZs2EC3bt04fPjwq66SEEKIfzAtBiXeIDfZe3LLyMjQ6/opKSkAVKhQAYCrV6+SlJREly5dlBgTExM8PDw4duwYALGxsWRmZurEODo64ubmpsQcP34ctVqtJGYALVu2RK1W68S4ubkpiRmAt7c3GRkZxMbGKjEeHh5KYpYX88cff3Dt2jX9HjJlNDkLDg6mfPnyr7oaJebv70/v3r2f69zMzEwGDRpERkYGc+bMYfr06cyfP58jR4682EoKIYQQesp7t2ZJNgAnJydlbJdarSYwMPDZ19ZqmTBhAm3btsXNzQ2ApKQkACpVqqQTW6lSJeVYUlISxsbG2NjYFBljb2+f75r29vY6MU9fx8bGBmNj4yJj8j7nxeijRMnZ6tWrsbKyIisrS9mXlpaGkZER7dq104k9cuQIKpWKS5culeSSennnnXcwNDQkJCQk3zFnZ2eWLVums6+sJYN5LWZt27Zl+fLl2NraUqtWLXbt2sWmTZv0StCCg4NRqVTKZmlpSdOmTdm6desLqeOLfGbOzs46dVWpVFSpUuWFlC2EEKLsuXHjBikpKco2derUZ57z/vvvc+bMGTZt2pTv2NPdhVqt9pldiE/HFBT/ImLyRo/p26UJJUzOvLy8SEtL49SpU8q+I0eOoNFoiImJ4cGDB8r+iIgIHB0dcXFxKckln+nBgwds3ryZyZMns3bt2pd6rZchLzELDQ1l7dq11KlTh9GjR9OvXz+2b99Ov3796Natm14JmrW1NYmJiSQmJnL69Gm8vb3p379/vpkuT3p61klpmTNnjlLXvPo+r8zMzBdYMyGEEHle1GxNa2trne3JbsCCjB07lh07dnDo0CGdP941Gg2Qv1Xq9u3bSouVRqPh8ePHJCcnFxlz69atfNf9888/dWKevk5ycjKZmZlFxty+fRvI37pXlBIlZ7Vr18bR0ZGIiAhlX0REBL169aJGjRpKP23efi8vLyA3Afjoo4+oXLkyFhYWtGjRQqeMPNu2bcPFxQVTU1M6d+7MjRs3nlmnH3/8EVdXV6ZOncrRo0d1+ng9PT357bff+PDDD5UWmoiICIYPH05KSoqyb9asWQBs2LABd3d3rKys0Gg0DB48WHnIec6dO0f37t2xtrbGysqKdu3aceXKlQLrFhsbi729PZ999lmBx59MzADOnj2rzCQxMDCgcuXK/Pbbb6SlpdGtWzeioqKKfBYqlQqNRoNGo6FWrVp8+umnGBgYcObMGSXG2dmZTz/9FH9/f9RqNQEBAURERKBSqXSmEMfFxaFSqbh27VqRz0zfr+3T8p5x3mZnZ6ccW7VqFTVq1MDY2JjatWuzfv36fPe5evVqevXqhYWFBZ9++ikAO3bswN3dHVNTU2xtbenTp49yzvPWUwgh/snyFqEtyVas62m1vP/++2zdupXw8HCqVaumc7xatWpoNBr279+v7Hv8+DGRkZG0bt0agKZNm2JkZKQTk5iYyNmzZ5WYVq1akZKSwsmTJ5WYEydOkJKSohNz9uxZEhMTlZh9+/ZhYmJC06ZNlZjDhw/rNHTs27cPR0dHnJ2d9b7vEo858/T05NChQ8rnQ4cO4enpiYeHh7L/8ePHHD9+XEnOhg8fztGjRwkJCeHMmTP069ePrl27cvnyZaWcBw8e8Nlnn7Fu3TqOHj1KamoqAwcOfGZ91q5dy9ChQ1Gr1XTr1o2goCDl2NatW6lSpYpOK03r1q1ZtmyZTivTpEmTlHrPnTuXX375hW3btnH16lX8/f2V8n7//Xfat2+Pqakp4eHhxMbGMmLECJ1u3jwRERF07NiR2bNnM3369HzHs7KydBKzJ+UlHw4ODsyYMQPI7T728fF5ZoKWJzs7m3Xr1gHQpEkTnWOLFi3Czc2N2NhYpfyiFPXM9PnaFkdoaCgffPABEydO5OzZs7z77rsMHz5c53sOYObMmfTq1Yv4+HhGjBjBrl276NOnD927d+f06dMcPHgQd3d3Jb649czIyMg3gFUIIf5pSnudszFjxrBhwwa+//57rKysSEpKIikpiYcPHwK5vx/Hjx/PvHnzCA0N5ezZs/j7+2Nubs7gwYMBUKvVjBw5kokTJ3Lw4EFOnz7N0KFDqV+/Pp06dQKgbt26dO3alYCAAKKjo4mOjiYgIIAePXpQu3ZtALp06YKrqyt+fn7K75VJkyYREBCgzDwdPHgwJiYm+Pv7c/bsWUJDQ5k3bx4TJkwoVrdmiV/f5OnpyYcffkhWVhYPHz7k9OnTtG/fnuzsbL744gsgdzrqw4cP8fLy4sqVK2zatImbN28qMx4mTZpEWFgYQUFBzJs3D8htRVq5cqUyc2LdunXUrVuXkydP0rx58wLrcvnyZaKjo5VxVUOHDmXcuHHMnDkTAwMDKlSogKGhodJKk0etViutTE8aMWKE8u/q1avzxRdf0Lx5c9LS0rC0tOTLL79ErVYTEhKCkZERQIHdttu3b8fPz4+vvvqKQYMGFVh3AwMDLAuZnjxjxgx69uxJ27ZtdRbNMzIywtzcvMBzIHdWS16ZDx8+xMjIiK+//poaNWroxHXo0EFJroB8C/M9zdjYuMBnpu/XtiBTpkzh3//+t/J53rx5jBs3jsWLF+Pv78/o0aMBmDBhAtHR0SxevFhJ9iH3B+LJr9egQYMYOHAgs2fPVvY1bNjwuesZGBioU5YQQoiXb9WqVUBurvGkoKAgpbHko48+4uHDh4wePZrk5GRatGjBvn37sLKyUuI///xzypUrR//+/Xn48CEdO3YkODgYQ0NDJWbjxo2MGzdOmdXZs2dPVq5cqRw3NDRk165djB49mjZt2mBmZsbgwYNZvHixEqNWq9m/fz9jxozB3d0dGxsbJkyYwIQJE4p13yVOzry8vEhPTycmJobk5GRcXFywt7fHw8MDPz8/0tPTiYiIoGrVqlSvXp0ff/wRrVabL4nJyMigYsWK/1excuV0Wjrq1KlD+fLlSUhIKDQ5W7t2Ld7e3tja2gLQrVs3Ro4cyYEDB3Sm0Orr9OnTzJo1i7i4OP766y9ycnKA3BWCXV1diYuLo127dkpiVpATJ06wc+dOfvzxR/71r38VGmdgYEBwcDBAvm67/v37s2jRIn799Vdln42NDQcOHMjXCvYkKysrfv75ZyC3JfLAgQO8++67VKxYEV9fXyXuyedcEj///LNeX9uCTJ48WadVMu9rmJCQwDvvvKMT26ZNG5YvX66z7+l7iIuLIyAg4IXVc+rUqTo/XKmpqTg5ORV5T0II8bp5csbl855frHg9lmLNG1qTN7ymIKampqxYsYIVK1YUGlOhQgU2bNhQ5LWqVq3Kzp07i4ypX79+iZe+KnFyVrNmTapUqcKhQ4dITk7Gw8MDyB0UV61aNY4ePcqhQ4fo0KEDADk5ORgaGhIbG6uTsQL5Wo4KagIsrFkwOzub7777jqSkJMqVK6ezf+3atcVOztLT0+nSpQtdunRhw4YN2NnZcf36dby9vZW+ZDMzs2eWU6NGDSpWrMi3335L9+7dMTY2LjS2sAStYsWKytouoF9illdezZo1lc8NGjRg3759LFiwQCc5s7CwyHce6P5Q6DPIvjhf26fZ2trq1PVJ+szCefoeivraPE89TUxMnjlgVQghXnfy4vPSUeLkDHJbzyIiIkhOTmby5MnKfg8PD/bu3Ut0dDTDhw8HoHHjxmRnZ3P79u18y208KSsri1OnTimtZBcvXuTevXvUqVOnwPjdu3dz//59Tp8+rfML98KFCwwZMoS7d+9SsWJFjI2NdV7XABS478KFC9y5c4f58+crLSRPzkqF3GRn3bp1ZGZmFtp6Zmtry9atW/H09GTAgAH88MMPRba0FZSgOTg4KMdtbGzYv3//MxOzwhgaGip99YXJG4yfmJiorAsTFxenE1PQM9P3a1scdevWJSoqimHDhin7jh07Rt26dYs8r0GDBhw8eFD5vnvZ9RRCCCFelBeyCK2XlxdRUVHExcUpLWeQm5ytWbOGR48eKeODXFxcGDJkCMOGDWPr1q1cvXqVmJgYFixYwO7du5VzjYyMGDt2LCdOnODnn39m+PDhtGzZssguze7du9OwYUPc3NyUrW/fvtjZ2SlNlc7Ozhw+fJjff/+dO3fuKPvS0tI4ePAgd+7c4cGDB1StWhVjY2NWrFjB//73P3bs2MHcuXN1rvn+++8rExVOnTrF5cuXWb9+fb6lKuzt7QkPD+fChQsMGjSowAkDT8pL0PLe6ZWcnMwHH3ygJGZ5s0KeRavVKoMnr169ytdff83evXvp1atXkefVrFkTJycnZs2axaVLl9i1axdLlizRiSnomen7tS2OyZMnExwczOrVq7l8+TJLly5l69atOmPkCjJz5kw2bdrEzJkzSUhIID4+noULFwL6fw8KIYTQVdoTAv6pXlhy9vDhQ2rWrKmzjoeHhwf379+nRo0aOuNzgoKCGDZsGBMnTqR27dr07NmTEydO6MSYm5szZcoUBg8eTKtWrTAzMytwUVmAW7dusWvXLvr27ZvvmEqlok+fPsqaZ3PmzOHatWvUqFFDaSFq3bo1o0aNYsCAAdjZ2bFw4ULs7OwIDg5WluaYP3++zqA/yO1uDA8PJy0tDQ8PD5o2bcqaNWsKbBnTaDSEh4cTHx/PkCFD8rU6Pe3JBO3gwYOkpqYWKzGD3HFRDg4OODg4ULduXZYsWaK8baAoRkZGbNq0iQsXLtCwYUMWLFigLE+Rp6BnBvp9bYujd+/eLF++nEWLFlGvXj2++uorgoKC8g0OfZqnpyc//vgjO3bsoFGjRnTo0IETJ04ox190PYUQ4p+gtJfS+KeSF5+XcTk5OYwbNw5/f/8XNnBflJy8+FwIUda9jBefn/35ZIlffO7WpPkLqdPr7IWMORMvj4GBgc5UXiGEEOJV0VKyrklt2Xyld5kjyZkQQggh9CKzNUuHpLBCCCGEEGWItJwJIYQQQi+5i9CWoFuzBAvY/pNIciaEEEIIvUi3ZumQ5EwIIcoIWyfNs4NK6M6NpJd+DSFEyUhyJoQQQgi9lPa7Nf+pJDkTQgghhF60WhVabQmSsxKc+08iyZkQQggh9GRQwrXKZJEIfchTEkIIIYQoQ6TlTAghhBB6kdmapUOSMyGEEELoRZKz0iHdmkIIIYQQZYi0nAkhhBBCL9JyVjqk5Uzoxd/fH5VKhUqlwsjIiOrVqzNp0iTS09Ofu8xZs2bRqFGjfPtPnz5Njx49sLe3x9TUFGdnZwYMGMCdO3dKcAdCCCFKKi85K8kmnk1azoTeunbtSlBQEJmZmRw5coS3336b9PR0Vq1aVaxytFot2dnZBR67ffs2nTp1wtfXl71791K+fHmuXr3Kjh07ePDgwYu4DSGEEKJMk5YzoTcTExM0Gg1OTk4MHjyYIUOGsG3bNjIyMhg3bpzS0tW2bVtiYmKU8yIiIlCpVOzduxd3d3dMTExYv349s2fP5pdfflFa5IKDgzl27Bipqal88803NG7cmGrVqtGhQweWLVtG1apVlTLPnTtH9+7dsba2xsrKinbt2nHlyhUAYmJi6Ny5M7a2tqjVajw8PPj555917kWlUvHNN9/wr3/9C3Nzc2rVqsWOHTtK50EKIcTfVN4itCXZxLNJciaem5mZGZmZmXz00Uds2bKFdevW8fPPP1OzZk28vb3566+/dOI/+ugjAgMDSUhIoEuXLkycOJF69eqRmJhIYmIiAwYMQKPRkJWVRWhoKFqttsDr/v7777Rv3x5TU1PCw8OJjY1lxIgRZGVlAXD//n3eeustjhw5QnR0NLVq1aJbt27cv39fp5zZs2fTv39/zpw5Q7du3RgyZEi+OufJyMggNTVVZxNCiH8a6dYsHZKciedy8uRJvv/+e7y8vFi1ahWLFi3Cx8cHV1dX1qxZg5mZGWvXrtU5Z86cOXTu3JkaNWpQuXJlLC0tKVeuHBqNBo1Gg5mZGS1btmTatGkMHjwYW1tbfHx8WLRoEbdu3VLK+fLLL1Gr1YSEhODu7o6LiwvDhw+ndu3aAHTo0IGhQ4dSt25d6taty1dffcWDBw+IjIzUqY+/vz+DBg2iZs2azJs3j/T0dE6ePFng/QYGBqJWq5XNycnpBT9RIYQQIpckZ0JvO3fuxNLSElNTU1q1akX79u0ZO3YsmZmZtGnTRokzMjKiefPmJCQk6Jzv7u6u13U+++wzkpKSWL16Na6urqxevZo6deoQHx8PQFxcHO3atcPIyKjA82/fvs2oUaNwcXFRkqm0tDSuX7+uE9egQQPl3xYWFlhZWXH79u0Cy5w6dSopKSnKduPGDb3uRQghXifSclY6JDkTevPy8iIuLo6LFy/y6NEjtm7dilqtBnLHcD1Jq9Xm22dhYaH3tSpWrEi/fv1YsmQJCQkJODo6snjxYiC3O7Uo/v7+xMbGsmzZMo4dO0ZcXBwVK1bk8ePHOnFPJ3cqlYqcnJwCyzQxMcHa2lpnE0KIfxpJzkqHJGdCbxYWFtSsWZM33nhDSWxq1qyJsbExUVFRSlxmZianTp2ibt26RZZnbGxc6KzNp+Nq1KihLNvRoEEDjhw5QmZmZoHxR44cYdy4cXTr1o169ephYmIiy3AIIcQLoKWEEwIkOdOLJGeiRCwsLHjvvfeYPHkyYWFhnD9/noCAAB48eMDIkSOLPNfZ2ZmrV68SFxfHnTt3yMjIYOfOnQwdOpSdO3dy6dIlLl68yOLFi9m9eze9evUC4P333yc1NZWBAwdy6tQpLl++zPr167l48SKQmzCuX7+ehIQETpw4wZAhQ57Z2iaEEEKUFbLOmSix+fPnk5OTg5+fH/fv38fd3Z29e/diY2NT5Hl9+/Zl69ateHl5ce/ePYKCgmjfvj3m5uZMnDiRGzduYGJiQq1atfjmm2/w8/MDcrs8w8PDmTx5Mh4eHhgaGtKoUSNl3Nu3337LO++8Q+PGjalatSrz5s1j0qRJL/05CCHE6y4HFTklaP0qybn/JCptYesVCCEKlZqailqtprn3LsoZ6T+WToii2DppXvo17txIeunXEGVDVmY6J/d2JyUlpcTjZPP+n3f45/9haWn13OWkpd2nfZPqL6ROrzPp1hRCCCGEKEOkW1MIIYQQeinpKv/yhgD9SHImhBBCCL1ooUQzLmUclX6kW1MIIYQQogyRljMhhBBC6EW6NUuHJGdCCFFGyExKUdaVdJV/WYRWP9KtKYQQQghRhkjLmRBCCCH0It2apUOSMyGEEELoRQvklPB88WzSrSmEEEIIUYZIciaEEEIIveR1a5ZkK47Dhw/j6+uLo6MjKpWKbdu26Rz39/dHpVLpbC1bttSJycjIYOzYsdja2mJhYUHPnj25efOmTkxycjJ+fn6o1WrUajV+fn7cu3dPJ+b69ev4+vpiYWGBra0t48aN4/Hjxzox8fHxeHh4YGZmRuXKlZkzZw7P85ZMSc6EEEIIoZe82Zol2YojPT2dhg0bsnLlykJjunbtSmJiorLt3r1b5/j48eMJDQ0lJCSEqKgo0tLS6NGjB9nZ2UrM4MGDiYuLIywsjLCwMOLi4vDz81OOZ2dn0717d9LT04mKiiIkJIQtW7YwceJEJSY1NZXOnTvj6OhITEwMK1asYPHixSxdurRY9wwy5kwIIYQQeirtCQE+Pj74+PgUGWNiYoJGoynwWEpKCmvXrmX9+vV06tQJgA0bNuDk5MSBAwfw9vYmISGBsLAwoqOjadGiBQBr1qyhVatWXLx4kdq1a7Nv3z7Onz/PjRs3cHR0BGDJkiX4+/vz2WefYW1tzcaNG3n06BHBwcGYmJjg5ubGpUuXWLp0KRMmTECl0v/epeVMCCGEEKUqNTVVZ8vIyHjusiIiIrC3t8fFxYWAgABu376tHIuNjSUzM5MuXboo+xwdHXFzc+PYsWMAHD9+HLVarSRmAC1btkStVuvEuLm5KYkZgLe3NxkZGcTGxioxHh4emJiY6MT88ccfXLt2rVj3JMnZa+b27du8++67VK1aVflrwtvbm+PHjwNw+vRpevTogb29Paampjg7OzNgwADu3LkDwLVr11CpVMTFxeUr29PTk/Hjxxd5fWdnZ6Xf39zcHDc3N7766iu96z9r1iwaNWqkd3ye4OBgypcvX+zzhBBC6O9FdWs6OTkp47vUajWBgYHPVR8fHx82btxIeHg4S5YsISYmhg4dOijJXlJSEsbGxtjY2OicV6lSJZKSkpQYe3v7fGXb29vrxFSqVEnnuI2NDcbGxkXG5H3Oi9GXdGu+Zvr27UtmZibr1q2jevXq3Lp1i4MHD/LXX39x+/ZtOnXqhK+vL3v37qV8+fJcvXqVHTt28ODBgxdWhzlz5hAQEEBaWhrBwcGMGjWK8uXLM2DAgBd2jZclOzsblUqFgYH83SKEEE/L0eZuJTkf4MaNG1hbWyv7n2xtKo4nf6+4ubnh7u7OG2+8wa5du+jTp0+h52m1Wp1uxoK6HF9ETN5kgOJ0aYK0nL1W7t27R1RUFAsWLMDLy4s33niD5s2bM3XqVLp3786xY8dITU3lm2++oXHjxlSrVo0OHTqwbNkyqlat+sLqYWVlhUajoWbNmnz66afUqlVLmWEzZcoUXFxcMDc3p3r16syYMYPMzEwgt/Vr9uzZ/PLLL0rrW3BwMABLly6lfv36WFhY4OTkxOjRo0lLSwNym7SHDx9OSkqKct6sWbOA3Bk4w4YNw8bGBnNzc3x8fLh8+bJS17wWt507d+Lq6oqJiQm//fbbC3sWQggh8rO2ttbZnjc5e5qDgwNvvPGG8v95jUbD48ePSU5O1om7ffu20qql0Wi4detWvrL+/PNPnZinW7+Sk5PJzMwsMiavi/XpFrVnkeTsNWJpaYmlpSXbtm0rsP9eo9GQlZVFaGjoc03tfV6mpqZKAmZlZUVwcDDnz59n+fLlrFmzhs8//xzI/Qto4sSJ1KtXT5l1k/dXkYGBAV988QVnz55l3bp1hIeH89FHHwHQunVrli1bhrW1tXLepEmTgNxp1qdOnWLHjh0cP34crVZLt27dlPoAPHjwgMDAQL755hvOnTtXYPN2RkZGvjESQgjxT1PaszWL6+7du9y4cQMHBwcAmjZtipGREfv371diEhMTOXv2LK1btwagVatWpKSkcPLkSSXmxIkTpKSk6MScPXuWxMREJWbfvn2YmJjQtGlTJebw4cM6y2vs27cPR0dHnJ2di3Ufkpy9RsqVK0dwcDDr1q2jfPnytGnThmnTpnHmzBkgd4DjtGnTGDx4MLa2tvj4+LBo0aIC/2Jo3bq1kuzlbUeOHClWfbKysggODiY+Pp6OHTsC8O9//5vWrVvj7OyMr68vEydO5IcffgDAzMwMS0tLypUrh0ajQaPRYGZmBuROhfby8lJa++bOnaucZ2xsjFqtRqVSKedZWlpy+fJlduzYwTfffEO7du1o2LAhGzdu5Pfff9dZKyczM5P//Oc/tG7dmtq1a2NhYZHvXgIDA3XGRzg5ORXrWQghxOugtNc5S0tLIy4uThkHffXqVeLi4rh+/TppaWlMmjSJ48ePc+3aNSIiIvD19cXW1pZ//etfAKjVakaOHMnEiRM5ePAgp0+fZujQodSvX1+ZvVm3bl26du1KQEAA0dHRREdHExAQQI8ePahduzYAXbp0wdXVFT8/P06fPs3BgweZNGkSAQEBSvfs4MGDMTExwd/fn7NnzxIaGsq8efOKPVMTJDl77fTt25c//viDHTt24O3tTUREBE2aNFG6Bz/77DOSkpJYvXo1rq6urF69mjp16hAfH69TzubNm5UfiLzN3d1dOT5v3jydxO369evKsSlTpmBpaYmZmRljxoxh8uTJvPvuuwD897//pW3btkoCNWPGDJ1zC3Po0CE6d+5M5cqVsbKyYtiwYdy9e5f09PRCz0lISKBcuXI6M3AqVqxI7dq1SUhIUPYZGxvToEGDIq8/depUUlJSlO3GjRvPrLMQQoiSOXXqFI0bN6Zx48YATJgwgcaNG/PJJ59gaGhIfHw8vXr1wsXFhbfeegsXFxeOHz+OlZWVUsbnn39O79696d+/P23atMHc3JyffvoJQ0NDJWbjxo3Ur1+fLl260KVLFxo0aMD69euV44aGhuzatQtTU1PatGlD//796d27N4sXL1Zi1Go1+/fv5+bNm7i7uzN69GgmTJjAhAkTin3fMiHgNWRqakrnzp3p3Lkzn3zyCW+//TYzZ87E398fyE1Q+vXrR79+/QgMDKRx48YsXryYdevWKWU4OTlRs2ZNnXLzWrEARo0aRf/+/ZXPT04vnjx5Mv7+/pibm+Pg4KD8xRAdHc3AgQOZPXs23t7eqNVqQkJCWLJkSZH389tvv9GtWzdGjRrF3LlzqVChAlFRUYwcOVKne/JphXXdPj2A08zM7Jl/1ZiYmLywMRFCCPF3pdXmbiU5vzg8PT2LHIazd+/eZ5ZhamrKihUrWLFiRaExFSpUYMOGDUWWU7VqVXbu3FlkTP369Tl8+PAz6/Qskpz9A7i6uuZ75UUeY2NjatSoUWQLVEEqVKhAhQoVCjxma2ubL7EDOHr0KG+88QbTp09X9j09+N7Y2Fhn1WbI/cspKyuLJUuWKLMo87o0izrP1dWVrKwsTpw4oYwbuHv3LpcuXaJu3bp63qkQQog8OajIKcG4sZKc+08iydlr5O7du/Tr148RI0bQoEEDrKysOHXqFAsXLqRXr17s3LmTkJAQBg4ciIuLC1qtlp9++ondu3cTFBT00utXs2ZNrl+/TkhICM2aNWPXrl2EhobqxDg7OytjCqpUqYKVlRU1atQgKyuLFStW4Ovry9GjR1m9enW+89LS0jh48CANGzbE3NycWrVq0atXLwICAvjqq6+wsrLi448/pnLlyvTq1eul368QQgjxPGTM2WvE0tKSFi1a8Pnnn9O+fXvc3NyYMWMGAQEBrFy5EldXV8zNzZk4cSKNGjWiZcuW/PDDD3zzzTc67xB7WXr16sWHH37I+++/T6NGjTh27BgzZszQienbty9du3bFy8sLOzs7Nm3aRKNGjVi6dCkLFizAzc2NjRs35luwsHXr1owaNYoBAwZgZ2fHwoULAQgKCqJp06b06NGDVq1aodVq2b17N0ZGRi/9foUQ4nVT2hMC/qlU2tJcU0GI10RqaipqtZrm3rsoZ5R/dqcQQrxqWZnpnNzbnZSUFJ0FX59H3v/zQqNuY2H5/GWlp6Xyr7b2L6ROrzNpORNCCCGEKENkzJkQQggh9FLShWRf9iK0rwtJzoQQQgihlxf1bk1RNEnOhBBCCKGfkg7qlwkBepExZ0IIIYQQZYi0nAkhhBBCL6X9hoB/KknOhBBCCKEXeUNA6ZBuTSGEEEKIMkRazoQQQgihF+nWLB2SnAkhhBBCLyV9BZO8vkk/0q0phBBCCFGGSMuZEEIIIfQii9CWDknOhBBCCKEXGXNWOqRb8zXm7++PSqUq9hYcHExERITOPjs7O3x8fPjll18Kvd61a9d0zrGxsaF9+/ZERkbqXWdPT0/Gjx//XPfau3fvYp8nhBBClDWSnL3munbtSmJiorL99ttv3Lx5U/ncv3//fDEDBgxQzr948SKJiYns2rWL5ORkunbtSkpKSpHXPHDgAImJiURGRmJtbU23bt24evXqy77VF+Lx48evugpCCFFm5b34vCSbeDZJzl5zJiYmaDQaZatatSqVK1dWPpuZmeWLMTMzU863t7dHo9HQvHlzlixZQlJSEtHR0UVes2LFimg0Gho0aMBXX33FgwcP2LdvH3fv3mXQoEFUqVIFc3Nz6tevz6ZNm5Tz/P39iYyMZPny5Urr27Vr18jOzmbkyJFUq1YNMzMzateuzfLly5XzZs2axbp169i+fbtyXkREBADx8fF06NABMzMzKlasyDvvvENaWprONXv37k1gYCCOjo64uLi8oCcvhBCvnxz+b9zZc22v+gb+JmTMmdBbXtKWmZmp9znm5ubKOY8ePaJp06ZMmTIFa2trdu3ahZ+fH9WrV6dFixYsX76cS5cu4ebmxpw5cwCws7MjJyeHKlWq8MMPP2Bra8uxY8d45513cHBwoH///kyaNImEhARSU1MJCgoCoEKFCjx48ICuXbvSsmVLYmJiuH37Nm+//Tbvv/8+wcHBSh0PHjyItbU1+/fvRysDIoQQQrxikpy95nbu3ImlpaXy2cfHhx9//LHY5dy9e5fZs2djZWVF8+bN9TonPT2dqVOnYmhoiIeHB5UrV2bSpEnK8bFjxxIWFsaPP/5IixYtUKvVGBsbY25ujkajUeIMDQ2ZPXu28rlatWocO3aMH374gf79+2NpaYmZmRkZGRk6561bt46HDx/y3XffYWFhAcDKlSvx9fVlwYIFVKpUCQALCwu++eYbjI2NC72XjIwMMjIylM+pqal6PQMhhHidyISA0iHJ2WvOy8uLVatWKZ/zkhR9ValSBchNtGrVqsWPP/6Ivb09Pj4+HDlyBIA33niDc+fOKee0bt0aAwMDHjx4gIODA8HBwdSvX5/s7Gzmz5/P5s2b+f3335WER586rV69mm+++YbffvuNhw8f8vjxYxo1alTkOQkJCTRs2FCn/DZt2pCTk8PFixeV5Kx+/fpFJmYAgYGBOgmiEEL8E0lyVjokOXvNWVhYULNmzec+/8iRI1hbW2NnZ4e1tbWy/5tvvuHhw4cAGBkZ6ZyzefNmXF1dKV++PBUrVlT2L1myhM8//5xly5ZRv359LCwsGD9+/DMH4f/www98+OGHLFmyhFatWmFlZcWiRYs4ceJEkedptVpUqoIHnz65X5/kcOrUqUyYMEH5nJqaipOT0zPPE0KI10mOVkVOCVb5L8m5/ySSnIkiVatWjfLly+fbX7ly5ULPcXJyokaNGvn2HzlyhF69ejF06FAAcnJyuHz5MnXr1lVijI2Nyc7Oznde69atGT16tLLvypUrOjEFnefq6sq6detIT09XErCjR49iYGBQ7IH/JiYmmJiYFOscIYQQ4nnIbE1RamrWrMn+/fs5duwYCQkJvPvuuyQlJenEODs7c+LECa5du8adO3fIycmhZs2anDp1ir1793Lp0iVmzJhBTExMvvPOnDnDxYsXuXPnDpmZmQwZMgRTU1Peeustzp49y6FDhxg7dix+fn5Kl6YQQgj95XVrlmQTzybJmSg1M2bMoEmTJnh7e+Pp6YlGo8m3cOykSZMwNDTE1dUVOzs7rl+/zqhRo+jTpw8DBgygRYsW3L17V6cVDSAgIIDatWvj7u6OnZ0dR48exdzcnL179/LXX3/RrFkz3nzzTTp27MjKlStL8a6FEOL1IclZ6VBpZe0AIYotNTUVtVpNc+9dlDMq3iQLIYQoDVmZ6Zzc252UlBSdMcPPI+//eWvC7mFu8fxlPUhPJaBr+RdSp9eZjDkTQgghhF60JXzxuTQH6UeSMyGEEELoRatVoS3BjMuSnPtPImPOhBBCCCHKEGk5E0IIIYReZBHa0iHJmRBCCCH0klPCMWclOfefRJIzIYQQfysONV/+2zkSf73x0q9hZFL0a+NKSmWQ+VLLFy+PJGdCCCGE0It0a5YOSc6EEEIIoRdJzkqHzNYUQgghhChDpOVMCCGEEHqRCQGlQ5IzIYQQQuhFujVLhyRnQgghhNBLTk7uVpLzxbPJmDMhhBBClEmHDx/G19cXR0dHVCoV27Zt0zmu1WqZNWsWjo6OmJmZ4enpyblz53RiMjIyGDt2LLa2tlhYWNCzZ09u3rypE5OcnIyfnx9qtRq1Wo2fnx/37t3Tibl+/Tq+vr5YWFhga2vLuHHjePz4sU5MfHw8Hh4emJmZUblyZebMmYP2OZoLJTkT/wgRERGoVCrlhy04OJjy5cu/0joJIcTfTV63Zkm24khPT6dhw4asXLmywOMLFy5k6dKlrFy5kpiYGDQaDZ07d+b+/ftKzPjx4wkNDSUkJISoqCjS0tLo0aMH2dnZSszgwYOJi4sjLCyMsLAw4uLi8PPzU45nZ2fTvXt30tPTiYqKIiQkhC1btjBx4kQlJjU1lc6dO+Po6EhMTAwrVqxg8eLFLF26tHg3jSRnogj+/v6oVCpUKhVGRkZUqlSJzp078+2335JTzLbp7OxsAgMDqVOnDmZmZlSoUIGWLVsSFBRU6DlPJ1RPcnZ2ZtmyZcW8IyGEECVR2smZj48Pn376KX369CmgLlqWLVvG9OnT6dOnD25ubqxbt44HDx7w/fffA5CSksLatWtZsmQJnTp1onHjxmzYsIH4+HgOHDgAQEJCAmFhYXzzzTe0atWKVq1asWbNGnbu3MnFixcB2LdvH+fPn2fDhg00btyYTp06sWTJEtasWUNqaioAGzdu5NGjRwQHB+Pm5kafPn2YNm0aS5cuLXbrmSRnokhdu3YlMTGRa9eusWfPHry8vPjggw/o0aMHWVlZepcza9Ysli1bxty5czl//jyHDh0iICCA5OTkl1h7IYQQZVFqaqrOlpGRUewyrl69SlJSEl26dFH2mZiY4OHhwbFjxwCIjY0lMzNTJ8bR0RE3Nzcl5vjx46jValq0aKHEtGzZErVarRPj5uaGo6OjEuPt7U1GRgaxsbFKjIeHByYmJjoxf/zxB9euXSvWvUlyJopkYmKCRqOhcuXKNGnShGnTprF9+3b27NlDcHCwEnf9+nV69eqFpaUl1tbW9O/fn1u3binHf/rpJ0aPHk2/fv2oVq0aDRs2ZOTIkUyYMKHEdbx27RoqlYq4uDhl371791CpVEREROhVxt27d2nevDk9e/bk0aNHJa6TEEK8jnL4v+U0nmv7f+3da1RU19kH8P8AMiMXB9DAgBmFFhVRsAaiIIkXigNWbIgmGG1REiTNa2OkeGlJrBAXik2jUnUlq1FT8ZLqyqrWW2RBtJr4Eo1xiUpkaV6rBQ0jxMtwMRkuc94PlhOH62HOMIzw/621P3DmOWfvzZLxOXvvs89/r6PVasX1XWq1Gjk5OV1ui16vBwD4+PiYHffx8RE/0+v1cHZ2hqenZ4cx3t7era7v7e1tFtOyHk9PTzg7O3cY0/xzc4xUTM6oy6KjozFmzBjs27cPwMOh5YSEBNy9excnT55EYWEhrl27htmzZ4vnaDQaHD9+HFVVVT3V7HbdvHkTzz77LIKCgrBv3z6oVKpWMUajsdWdHhFRXyMIguwCAOXl5TAYDGLJyMiwuE0KhaJVG1sea6sfj8a0FW+NmOb+dtaelpickUWCgoLEYdpPP/0UFy9exEcffYSwsDCMHz8eO3fuxMmTJ3H27FkAwPr161FVVQWNRoPQ0FC89tprOHr0qKS6nnzySbi5uZmVsrIyq/Tj6tWriIqKQkxMDPLy8uDk1PbuMjk5OWZ3eVpt9794mYiotxowYIBZeXQqUCqNRgOg9ahUZWWlOGKl0WhQX1/faglNy5hHZ3qaVVVVmcW0rOfevXtoaGjoMKayshJA69G9zjA5I4s8erdQWloKrVZrlrAEBwfDw8MDpaWl4s8lJSU4ffo0Xn75Zdy+fRszZszAggULOq3r888/R3FxsVl5dN7fUt9//z2eeeYZJCQkYOPGjR3e2WRkZJjd5ZWXl8uun4jocWPrBwI6EhAQAI1Gg8LCQvFYfX09Tp48iQkTJgAAwsLC0K9fP7OYiooKlJSUiDGRkZEwGAz48ssvxZgzZ87AYDCYxZSUlKCiokKMKSgogFKpRFhYmBjz2WefmW2vUVBQAD8/P/j7+3epb0zOyCKlpaUICAgA0P4QcsvjDg4OePrpp/G73/0O+/fvx/bt27Ft2zZcv369w7oCAgIQGBhoVh4d4XJwcBDra9bQ0NBpH5RKJWJiYnDkyJFWe960FdvyTo+IqK8RTD9uRGtJEbq4CW1tba14Uw48fAiguLgYZWVlUCgUSEtLw5o1a7B//36UlJQgOTkZLi4umDt3LgBArVYjJSUFS5YswbFjx3D+/Hn8+te/RkhICGJiYgAAI0eORFxcHFJTU3H69GmcPn0aqampiI+Px4gRIwAAOp0OwcHBSEpKwvnz53Hs2DEsXboUqamp4v8Hc+fOhVKpRHJyMkpKSrB//36sWbMG6enpnNak7nf8+HFcunQJs2bNAvBwVKysrMxsNOny5cswGAwYOXJku9cJDg4G8HAfGzmeeOIJADC7o3n04YD2ODg4YOfOnQgLC0N0dDS+/fZbWe0gIiLr+uqrrzB27FiMHTsWAJCeno6xY8di5cqVAIDly5cjLS0NCxcuRHh4OG7duoWCggK4u7uL19iwYQMSEhKQmJiIqKgouLi44NChQ3B0dBRjdu/ejZCQEOh0Ouh0OoSGhmLnzp3i546Ojjhy5AhUKhWioqKQmJiIhIQEvPvuu2KMWq1GYWEhbt68ifDwcCxcuBDp6ekWPfjG1zdRh4xGI/R6PZqamnD79m3k5+cjJycH8fHxmDdvHgAgJiYGoaGh+NWvfoXc3Fw0NjZi4cKFmDRpEsLDwwEAL7zwAqKiojBhwgRoNBpcv34dGRkZGD58OIKCgmS1sX///oiIiMDatWvh7++P7777DitWrJB0rqOjI3bv3o05c+YgOjoaJ06cENcxEBGROVu/W3Py5Mkd7hGmUCiQlZWFrKysdmNUKhU2bdqETZs2tRvj5eWFXbt2ddiWIUOG4PDhwx3GhISE4LPPPuswRgqOnFGH8vPz4evrC39/f8TFxeFf//oXNm7ciAMHDoh3Hc2v1PD09MTEiRMRExODn/zkJ9i7d694ndjYWBw6dAgzZszA8OHDMX/+fAQFBaGgoKDdRfhd8eGHH6KhoQHh4eFYvHgxsrOzJZ/r5OSEv//97xg1ahSio6PFBZxERGRO1jYa/y3UOYVgyUufiPq46upqqNVqjIs9Aqd+rj3dHKI+xTew+5+Wrvi/7n/op5/SuVuv39hQh/89OBUGg0H2Otnm77zVH92HysXya/3woBpvzfWwSpt6M05rEhERkSS2ntbsq5icERERkSSCSYAgY25Szrl9CZMzIiIikkTuujHmZtLwgQAiIiIiO8KRMyIiIpKEa85sg8kZERE9VmzxJKWr2r3zIJkajPWdB8nQ1V3ppTCZBJhkzE3KObcv4bQmERERkR3hyBkRERFJwmlN22ByRkRERJIwObMNTmsSERER2RGOnBEREZEkJkGAScbwl5xz+xImZ0RERCSJYHpY5JxPneO0JhEREZEd4cgZERERSSJAgCBjalIApzWl4MgZ9ajk5GQoFAooFAr069cPPj4+mDp1Kj788EOYTD+Of/v7+4tx/fv3h7+/PxITE3H8+PEu11lZWYnf/OY3GDJkCJRKJTQaDWJjY/HFF19Ys2tERL2OYAJMMgqnNaVhckY9Li4uDhUVFbhx4waOHj2KKVOmYPHixYiPj0djY6MYt2rVKlRUVODKlSvYsWMHPDw8EBMTg9WrV3epvlmzZuHChQvIy8vD1atXcfDgQUyePBl37961dteIiHoVQRBkF+ocpzWpxzWPXgHA4MGD8dRTTyEiIgI///nPsX37dixYsAAA4O7uLsYNGTIEEydOhK+vL1auXIkXXngBI0aMAACcPHkSy5Ytw4ULF+Dl5YX58+cjOzsbTk5OuH//Pk6dOoUTJ05g0qRJAIChQ4di3LhxPdBzIiKi1jhyRnYpOjoaY8aMwb59+zqMW7x4MQRBwIEDBwAAt27dwi9+8Qs8/fTTuHDhAt5//31s27YN2dnZAAA3Nze4ubnhn//8J4xGo+T2GI1GVFdXmxUior7GJMgv1DkmZ2S3goKCcOPGjQ5jvLy84O3tLca999570Gq12Lx5M4KCgpCQkIC3334b69atg8lkgpOTE7Zv3468vDx4eHggKioKb775Ji5evNhhPTk5OVCr1WLRarVW6iUR0eNDMAmyC3WOyRnZLUEQoFAouhRXWlqKyMhIs/OioqJQW1uLmzdvAni45uzbb7/FwYMHERsbixMnTuCpp57C9u3b260jIyMDBoNBLOXl5fI6R0RE1A4mZ2S3SktLERAQ0GHMnTt3UFVVJca1ldA1L0B99LhKpcLUqVOxcuVKFBUVITk5GZmZme3Wo1QqMWDAALNCRNTXNL9bU06hzjE5I7t0/PhxXLp0CbNmzeow7i9/+QscHByQkJAAAAgODkZRUZHZE0FFRUVwd3fH4MGD271OcHAw6urqrNJ2IqLeymQSZBfqHJ/WpB5nNBqh1+vR1NSE27dvIz8/Hzk5OYiPj8e8efPEuJqaGuj1ejQ0NOD69evYtWsXtm7dipycHAQGBgIAFi5ciNzcXCxatAivv/46rly5gszMTKSnp8PBwQF37tzBiy++iFdeeQWhoaFwd3fHV199hXfeeQfPPfdcT/0KiIiIREzOqMfl5+fD19cXTk5O8PT0xJgxY7Bx40bMnz8fDg4/Du6uXLkSK1euhLOzMzQaDSIiInDs2DFMmTJFjBk8eDA++eQTLFu2DGPGjIGXlxdSUlKwYsUKAA+f1hw/fjw2bNiAa9euoaGhAVqtFqmpqXjzzTdt3ncioseJ3L3KuM+ZNAqBvymiLquuroZarca42CNw6ufa080hIitzVbt3ex0NxvpuvX5jQx1OHYiBwWCQvU62+TvvjfV6KPtbfi3j99XYmK6xSpt6M645IyIiIrIjnNYkIiIiSUyCAJOMCTc55/YlTM6IiIhIEq45sw1OaxIRERHZEY6cERERkSRy9yrjPmfSMDkjIqLHipTXuslVZ6jp9joyjr7ardd/IDThlJWvKXeXf85qSsPkjIiIiCQRBHkvL+eaM2m45oyIiIjIjnDkjIiIiCQRZG6lwZEzaZicERERkSSCSea0Jh8IkITTmkRERER2hCNnREREJAlHzmyDI2dEREQkiUmQX7oiKysLCoXCrGg0GvFzQRCQlZUFPz8/9O/fH5MnT8bXX39tdg2j0YhFixZh0KBBcHV1xS9/+UvcvHnTLObevXtISkqCWq2GWq1GUlIS7t+/bxZTVlaGGTNmwNXVFYMGDcIbb7yB+vrueXk9kzMiIiKyW6NGjUJFRYVYLl26JH72zjvvYP369di8eTPOnj0LjUaDqVOnoqbmx33q0tLSsH//fuzZswenTp1CbW0t4uPj0dTUJMbMnTsXxcXFyM/PR35+PoqLi5GUlCR+3tTUhOnTp6Ourg6nTp3Cnj178I9//ANLlizplj4zOSPZkpOTze5qBg4ciLi4OFy8eFGMaXnn01z27NkDADhx4gQUCgVGjx5t9gcDAB4eHti+fbv4s7+/P3Jzc81izp8/j9mzZ8PX1xdKpRJDhw5FfHw8Dh06JD4ddOPGDSgUCnh7e5v94QLAz372M2RlZVnvl0JE1As1T2vKKV3l5OQEjUYjlieeeOJhWwQBubm5eOuttzBz5kyMHj0aeXl5ePDgAT766CMAgMFgwLZt27Bu3TrExMRg7Nix2LVrFy5duoRPP/0UAFBaWor8/Hxs3boVkZGRiIyMxJYtW3D48GFcuXIFAFBQUIDLly9j165dGDt2LGJiYrBu3Tps2bIF1dXVVvrt/ojJGVlFXFyceFdz7NgxODk5IT4+3izmb3/7m9ndT0VFBRISEsxirl27hh07dnSp7gMHDiAiIgK1tbXIy8vD5cuX8fHHHyMhIQErVqyAwWAwi6+pqcG7775rUT+JiPqy5hefyyld9c0338DPzw8BAQF46aWX8O9//xsAcP36dej1euh0OjFWqVRi0qRJKCoqAgCcO3cODQ0NZjF+fn4YPXq0GPPFF19ArVZj/PjxYkxERATUarVZzOjRo+Hn5yfGxMbGwmg04ty5c13uU2f4QABZhVKpFNcBaDQa/P73v8fEiRNRVVUl3uV4eHiYrRVoy6JFi5CZmYk5c+ZApVJ1Wm9dXR1SUlIwffp07Nu3Tzz+05/+FOPGjcOCBQtafRksWrQI69evx29/+1t4e3t3tatERCRTy9EmpVIJpVLZKm78+PHYsWMHhg8fjtu3byM7OxsTJkzA119/Db1eDwDw8fExO8fHxwf/+c9/AAB6vR7Ozs7w9PRsFdN8vl6vb/P/Am9vb7OYlvV4enrC2dlZjLEmjpyR1dXW1mL37t0IDAzEwIEDu3RuWloaGhsbsXnzZknxBQUFuHPnDpYvX95uTMv38M2ZMweBgYFYtWqV5HYZjUZUV1ebFSKivsZk+vHl55aVh9fRarXi4nu1Wo2cnJw265s2bRpmzZqFkJAQxMTE4MiRIwCAvLw8Mabld7wgCJ2+f7VlTFvxlsRYC5MzsorDhw/Dzc0Nbm5ucHd3x8GDB7F37144OPz4T2zOnDliTHNpHp5u5uLigszMTOTk5LSajmzL1atXAQAjRowQj509e9asjsOHD5udo1AosHbtWnzwwQe4du2apP7l5OSYfZFotVpJ5xER9SbWmtYsLy+HwWAQS0ZGhqT6XV1dERISgm+++UaciWk5clVZWSmOcmk0GtTX1+PevXsdxty+fbtVXVVVVWYxLeu5d+8eGhoaWo2oWQOTM7KKKVOmoLi4GMXFxThz5gx0Oh2mTZsmDi0DwIYNG8SY5tJWkpOSkoJBgwbhT3/6k0VtCQ0NFa9fV1eHxsbGVjGxsbF45pln8Mc//lHSNTMyMsy+SMrLyy1qGxERAQMGDDArbU1ptsVoNKK0tBS+vr4ICAiARqNBYWGh+Hl9fT1OnjyJCRMmAADCwsLQr18/s5iKigqUlJSIMZGRkTAYDPjyyy/FmDNnzsBgMJjFlJSUoKKiQowpKCiAUqlEWFiY5b+IdnDNGVmFq6srAgMDxZ/DwsKgVquxZcsWZGdnA3h45/FoTHucnJyQnZ2N5ORkvP766x3GDhs2DABw5coVREREAHi4dkFKPWvXrkVkZCSWLVvWaWx76yGIiPoSW29Cu3TpUsyYMQNDhgxBZWUlsrOzUV1djfnz50OhUCAtLQ1r1qzBsGHDMGzYMKxZswYuLi6YO3cuAECtViMlJQVLlizBwIED4eXlhaVLl4rTpAAwcuRIxMXFITU1FX/9618BAK+++iri4+PFWRmdTofg4GAkJSXhz3/+M+7evYulS5ciNTUVAwYMsPj30R6OnFG3UCgUcHBwwPfff2/R+S+++CJGjRqFt99+u8M4nU4HLy8vi0bZxo0bh5kzZ+IPf/iDRW0kIuprbL2Vxs2bNzFnzhyMGDECM2fOhLOzM06fPo2hQ4cCAJYvX460tDQsXLgQ4eHhuHXrFgoKCuDu7i5eY8OGDUhISEBiYiKioqLg4uKCQ4cOwdHRUYzZvXs3QkJCoNPpoNPpEBoaip07d4qfOzo64siRI1CpVIiKikJiYiISEhK67cl/jpyRVRiNRnE+/t69e9i8eTNqa2sxY8YMMeb+/fut5uzd3d3h6ura5jXXrl2L2NjYDut1c3PD1q1bMXv2bEyfPh1vvPEGhg0bhtraWuTn5wOA2R9gS6tXr8aoUaPg5MQ/BSKizpggwGTBdhiPnt8VzXthtkehUCArK6vDfSpVKhU2bdqETZs2tRvj5eWFXbt2dVjXkCFDWq1h7i4cOSOryM/Ph6+vL3x9fTF+/HicPXsWH3/8MSZPnizGvPzyy2JMc+nojyU6OhrR0dFtrhl71PPPP4+ioiK4uLhg3rx5GDFiBKKjo3H8+HHs2bOn1X5rjxo+fDheeeUV/PDDD13uMxERUXdQCJbsCEfUx1VXV0OtVmNc7BE49Wt75I+Iukd3bF3Qki3+a8w4+mq3Xv+B0ITZpmswGAyy10U1f+e9tPwqnJXunZ/QjnpjDfa8M9wqberNOJdDREREkli6y/+j51PnOK1JREREZEc4ckZERESSCP/d6V/O+dQ5JmdEREQkia33OeurmJwRWaB53URT44MebglR39NbHgh4IDR18/UfvsiS67weP0zOiCxQU1MDADh37MUebgkRPa5m26iempoaqNVqq1yLDwTYBpMzIgv4+fmhvLwc7u7uku/iq6urodVqUV5e/tg+Qt4b+gCwH/akN/QBsM9+CIKAmpoa+Pn5We+aJhMEk0nW+dQ5JmdEFnBwcMCTTz5p0bnNL/p9nPWGPgDshz3pDX0A7K8f1hoxI9tickZERESSmGQ+rSnn3L6EyRkRERFJwjVntsFNaIlsRKlUIjMzE0qlsqebYrHe0AeA/bAnvaEPQO/pB9kHvluTiIiIOtT8bs3n/ucC+sl4t2aDsQYH3h/Dd2t2gtOaREREJAk3obUNJmdEREQkiQkmmATLt8MwgVtpSME1Z0RERER2hCNnREREJIlgkjc1KWPQrU9hckZERESScM2ZbXBak4iIiMiOcOSMiIiIJOEmtLbB5IyIiIgkMZlMMMl4ebmcc/sSTmsSERER2RGOnBEREZEkfCDANpicERERkSSCYIIgYz8MOef2JZzWJCIiIrIjHDkjIiIiSTitaRtMzoiIiEgamckZmJxJwmlNIiIiIjvCkTMiIiKSxCSYYJKxqF/OuX0JkzMiIiKShGvObIPJGREREUkiCCYIMnb551Ya0nDNGREREZEd4cgZERERScJpTdtgckZERESS8A0BtsFpTSIiIiI7wpEzIiIiksRkAkwypiZlPEvQpzA5IyIiIkkEk8ynNZmdScJpTSIiIiI7wpEzIiIikoRPa9oGR86IiIhIkuanNeUUS7z33nsICAiASqVCWFgYPv/8cyv3zL4wOSMiIiK7tXfvXqSlpeGtt97C+fPn8eyzz2LatGkoKyvr6aZ1GyZnREREJEnztKac0lXr169HSkoKFixYgJEjRyI3NxdarRbvv/9+N/TQPjA5IyIiIkman9aUU7qivr4e586dg06nMzuu0+lQVFRkza7ZFT4QQERERJI0NdZZ5fzq6mqz40qlEkqlslX8d999h6amJvj4+Jgd9/HxgV6vl9UWe8bkjIiIiDrk7OwMjUaDr44lyr6Wm5sbtFqt2bHMzExkZWW1e45CoTD7WRCEVsd6EyZnRERE1CGVSoXr16+jvr5e9rXaSqzaGjUDgEGDBsHR0bHVKFllZWWr0bTehMkZERERdUqlUkGlUtm0TmdnZ4SFhaGwsBDPP/+8eLywsBDPPfecTdtiS0zOiIiIyG6lp6cjKSkJ4eHhiIyMxAcffICysjK89tprPd20bsPkjIiIiOzW7NmzcefOHaxatQoVFRUYPXo0PvnkEwwdOrSnm9ZtFIIg8F0KRERERHaC+5wRERER2REmZ0RERER2hMkZERERkR1hckZERERkR5icEREREdkRJmdEREREdoTJGREREZEdYXJGREREZEeYnBERERHZESZnRERERHaEyRkRERGRHWFyRkRERGRH/h/+TpjvcCAzTQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Fit: (1835460, 79) -> (1835460,)\n", "Label: Web Attack � Sql Injection\n", "filtered_df.shape (728688, 80)\n", "Making binary on: Web Attack � Sql Injection\n", "X: (728688, 1) ,Y: (728688,)\n", "Label: Web Attack � XSS\n", "filtered_df.shape (728688, 80)\n", "Making binary on: Web Attack � XSS\n", "X: (728688, 1) ,Y: (728688,)\n", "Label: DoS slowloris\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS slowloris\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: DoS GoldenEye\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS GoldenEye\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS Slowhttptest\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (728688, 80)\n", "Making binary on: Web Attack � Brute Force\n", "X: (728688, 1) ,Y: (728688,)\n", "Label: PortScan\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: PortScan\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: SSH-Patator\n", "filtered_df.shape (11000, 80)\n", "Making binary on: SSH-Patator\n", "X: (11000, 2) ,Y: (11000,)\n", "Label: FTP-Patator\n", "filtered_df.shape (8856, 80)\n", "Making binary on: FTP-Patator\n", "X: (8856, 1) ,Y: (8856,)\n", "Label: DoS Hulk\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS Hulk\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: DDoS\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DDoS\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: BENIGN\n", "filtered_df.shape (728688, 80)\n", "Making binary on: BENIGN\n", "X: (728688, 2) ,Y: (728688,)\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "1835455 False False False \n", "1835456 False False False \n", "1835457 False False False \n", "1835458 False False False \n", "1835459 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False False False False \n", "2 False False False False \n", "3 False False False False \n", "4 False False False False \n", "... ... ... ... ... \n", "1835455 False False False False \n", "1835456 False False False False \n", "1835457 False False False False \n", "1835458 False False False False \n", "1835459 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 True False True False False \n", "1 False False False False True \n", "2 False False False False False \n", "3 False False False False True \n", "4 False False False False True \n", "... ... ... ... ... ... \n", "1835455 False False False False True \n", "1835456 False False True False False \n", "1835457 True False False False True \n", "1835458 True False True False False \n", "1835459 True False False False True \n", "\n", "[1835460 rows x 12 columns]\n", "Predict: (458865, 79)\n", "Label: Web Attack � Sql Injection\n", "filtered_df.shape (182462, 79)\n", "Label: Web Attack � XSS\n", "filtered_df.shape (182462, 79)\n", "Label: DoS slowloris\n", "filtered_df.shape (458865, 79)\n", "Label: DoS GoldenEye\n", "filtered_df.shape (458865, 79)\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (458865, 79)\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (182462, 79)\n", "Label: PortScan\n", "filtered_df.shape (458865, 79)\n", "Label: SSH-Patator\n", "filtered_df.shape (2767, 79)\n", "Label: FTP-Patator\n", "filtered_df.shape (2119, 79)\n", "Label: DoS Hulk\n", "filtered_df.shape (458865, 79)\n", "Label: DDoS\n", "filtered_df.shape (458865, 79)\n", "Label: BENIGN\n", "filtered_df.shape (182462, 79)\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "458860 False False False \n", "458861 False False False \n", "458862 False False False \n", "458863 False False False \n", "458864 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False False False True \n", "2 False False False False \n", "3 False False False False \n", "4 False False False False \n", "... ... ... ... ... \n", "458860 False False False False \n", "458861 False False False False \n", "458862 False False False False \n", "458863 False False False False \n", "458864 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 False False False False True \n", "1 True False False False False \n", "2 True False False False True \n", "3 False False True False False \n", "4 False False False False True \n", "... ... ... ... ... ... \n", "458860 False False True False False \n", "458861 True False False False True \n", "458862 False False False False True \n", "458863 False False False False True \n", "458864 True False True False False \n", "\n", "[458865 rows x 12 columns]\n", "Accuracy: 0.9549235613960533\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/nithin/data2/nithin/anaconda3/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, msg_start, len(result))\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Precision: 0.949254433534699\n", "Recall: 0.9549235613960533\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Fit: (1835460, 79) -> (1835460,)\n", "Label: Web Attack � Sql Injection\n", "filtered_df.shape (728952, 80)\n", "Making binary on: Web Attack � Sql Injection\n", "X: (728952, 1) ,Y: (728952,)\n", "Label: Web Attack � XSS\n", "filtered_df.shape (728952, 80)\n", "Making binary on: Web Attack � XSS\n", "X: (728952, 1) ,Y: (728952,)\n", "Label: DoS slowloris\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS slowloris\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: DoS GoldenEye\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS GoldenEye\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS Slowhttptest\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (728952, 80)\n", "Making binary on: Web Attack � Brute Force\n", "X: (728952, 1) ,Y: (728952,)\n", "Label: PortScan\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: PortScan\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: SSH-Patator\n", "filtered_df.shape (11012, 80)\n", "Making binary on: SSH-Patator\n", "X: (11012, 2) ,Y: (11012,)\n", "Label: FTP-Patator\n", "filtered_df.shape (8825, 80)\n", "Making binary on: FTP-Patator\n", "X: (8825, 1) ,Y: (8825,)\n", "Label: DoS Hulk\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DoS Hulk\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: DDoS\n", "filtered_df.shape (1835460, 80)\n", "Making binary on: DDoS\n", "X: (1835460, 2) ,Y: (1835460,)\n", "Label: BENIGN\n", "filtered_df.shape (728952, 80)\n", "Making binary on: BENIGN\n", "X: (728952, 2) ,Y: (728952,)\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "1835455 False False False \n", "1835456 False False False \n", "1835457 False False False \n", "1835458 False False False \n", "1835459 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False False False False \n", "2 False False False False \n", "3 False False False False \n", "4 False False False False \n", "... ... ... ... ... \n", "1835455 False False False False \n", "1835456 False False False False \n", "1835457 False False False False \n", "1835458 False False False False \n", "1835459 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 True False True False False \n", "1 False False False False False \n", "2 False False False False True \n", "3 False False False False True \n", "4 False False False False True \n", "... ... ... ... ... ... \n", "1835455 False False False False True \n", "1835456 False False False False True \n", "1835457 False False True False False \n", "1835458 True False True False False \n", "1835459 True False False False True \n", "\n", "[1835460 rows x 12 columns]\n", "Predict: (458865, 79)\n", "Label: Web Attack � Sql Injection\n", "filtered_df.shape (182198, 79)\n", "Label: Web Attack � XSS\n", "filtered_df.shape (182198, 79)\n", "Label: DoS slowloris\n", "filtered_df.shape (458865, 79)\n", "Label: DoS GoldenEye\n", "filtered_df.shape (458865, 79)\n", "Label: DoS Slowhttptest\n", "filtered_df.shape (458865, 79)\n", "Label: Web Attack � Brute Force\n", "filtered_df.shape (182198, 79)\n", "Label: PortScan\n", "filtered_df.shape (458865, 79)\n", "Label: SSH-Patator\n", "filtered_df.shape (2755, 79)\n", "Label: FTP-Patator\n", "filtered_df.shape (2150, 79)\n", "Label: DoS Hulk\n", "filtered_df.shape (458865, 79)\n", "Label: DDoS\n", "filtered_df.shape (458865, 79)\n", "Label: BENIGN\n", "filtered_df.shape (182198, 79)\n", "Feed of final classifier Web Attack � Sql Injection Web Attack � XSS DoS slowloris \\\n", "0 False False False \n", "1 False False False \n", "2 False False False \n", "3 False False False \n", "4 False False False \n", "... ... ... ... \n", "458860 False False False \n", "458861 False False False \n", "458862 False False False \n", "458863 False False False \n", "458864 False False False \n", "\n", " DoS GoldenEye DoS Slowhttptest Web Attack � Brute Force PortScan \\\n", "0 False False False False \n", "1 False False False False \n", "2 False False False False \n", "3 False False False False \n", "4 False False False False \n", "... ... ... ... ... \n", "458860 False False False False \n", "458861 False False False False \n", "458862 False False False False \n", "458863 False False False False \n", "458864 False False False False \n", "\n", " SSH-Patator FTP-Patator DoS Hulk DDoS BENIGN \n", "0 False False False False True \n", "1 False False False False True \n", "2 False False False False True \n", "3 True False False False True \n", "4 False False False False False \n", "... ... ... ... ... ... \n", "458860 False False False False True \n", "458861 False False False False True \n", "458862 False True False True False \n", "458863 True False False False True \n", "458864 True False True False False \n", "\n", "[458865 rows x 12 columns]\n", "Accuracy: 0.9552940407309339\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "/home/nithin/data2/nithin/anaconda3/lib/python3.10/site-packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 in labels with no predicted samples. Use `zero_division` parameter to control this behavior.\n", " _warn_prf(average, modifier, msg_start, len(result))\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Precision: 0.9524073346479061\n", "Recall: 0.9552940407309339\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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VKnCnDlzSExMJDExkdatW7Ns2TKsra2VfZMmTVLqPXfuXH755Re2bdvG1atX8ff3V8r7/fffad++PaampoSHhxMbG8uIESN0unnzRERE0LFjR2bPns306dPzHc/KytJJzJ6kUqlYvXo1Dg4OzJgxA8jtPvbx8Sk0QdNoNISHh/Pnn38W+qwmT57MoUOHCA0NZd++fURERBAbG1tovL4OHTrElStXOHToEOvWrSM4OJjg4OBC45/1/RAXF0fHjh2pV68ex48fJyoqCl9fX7Kzs1m+fDmtWrUiICBA+foV9B672NhY+vfvz8CBA4mPj2fWrFnMmDEjX72WLFmCu7s7p0+fZvTo0bz33ntcuHChwHoHBgaiVquVrSy+P08IIV42GXNWOoq1zpmnpycffvghWVlZPHz4kNOnT9O+fXuys7P54osvAIiOjubhw4d4eXlx5coVNm3axM2bN3F0dARg0qRJhIWFERQUxLx584DcVqSVK1fSokULANatW0fdunU5efIkzZs3L7Auly9fJjo6mq1btwIwdOhQxo0bx8yZMzEwMKBChQoYGhoqLWF51Go1KpUqXzfYiBEjlH9Xr16dL774gubNm5OWloalpSVffvklarWakJAQjIyMAArstt2+fTt+fn589dVXDBo0qMC6GxgYYGlpWeCxGTNm0LNnT9q2bcvNmzeV/UZGRkq38dOWLl3Km2++iUajoV69erRu3ZpevXrh4+MD5CZ3a9eu5bvvvqNz585A7jN+ES/CtbGxYeXKlRgaGlKnTh26d+/OwYMHCQgIyBerz/fDwoULcXd35z//+Y9yXr169ZR/GxsbY25uXmQ35tKlS+nYsaOS3Lq4uHD+/HkWLVqkk3B369aN0aNHAzBlyhQ+//xzIiIiqFOnTr4yp06dqtMSmZqaKgmaEOIfp6TjxmTMmX6K9ZS8vLxIT08nJiaGI0eO4OLigr29PR4eHsTExJCenk5ERARVq1alevXq/Pzzz2i1WlxcXLC0tFS2yMhIne7AcuXK4e7urnyuU6cO5cuXJyEhodC6rF27Fm9vb2xtbYHcX7Tp6ekcOHCguM8AgNOnT9OrVy/eeOMNrKys8PT0BOD69etAbotOu3btlMSsICdOnKBv376sW7eu0MQMcpOz4OBg/Pz88h3r378/ixYt4tdff1X22djYcODAAZo0aVJgea6urpw9e5bo6GiGDx/OrVu38PX15e233wZyk6LHjx/TqlUr5ZwKFSpQu3btwh+InurVq4ehoaHy2cHBIV93cB59vh/yWs5KIiEhgTZt2ujsa9OmDZcvX1a6jgEaNGig/DsvYS+s7iYmJlhbW+tsQgghxMtQrJazmjVrUqVKFQ4dOkRycjIeHh5AbrdatWrVOHr0KIcOHaJDhw4A5OTkYGhoSGxsrM4vcCBfy1FBL2Yt7GWt2dnZfPfddyQlJVGuXDmd/WvXrqVLly7FuS3S09Pp0qULXbp0YcOGDdjZ2XH9+nW8vb15/PgxAGZmZs8sp0aNGlSsWJFvv/2W7t27Y2xsXGhsXoIGsH79emV/xYoVSUlJUT4/KzF7srxmzZrRrFkzPvzwQzZs2ICfnx/Tp09Hq9U+s+7P6+lkVaVSkZOTU2CsPt8P+jznZ9Fqtfm+dwp6BsWpuxBCCJkQUFqK/fomLy8vIiIiSE5OZvLkycp+Dw8P9u7dq7TeADRu3Jjs7Gxu375d5GzDrKwsTp06pXRhXrx4kXv37hXYvQSwe/du7t+/z+nTp3V+yV+4cIEhQ4Zw9+5dKlasiLGxsU5LCVDgvgsXLnDnzh3mz5+vdFWdOnVKJ6ZBgwasW7eOzMzMQlvPbG1t2bp1K56engwYMIAffvihyJa2ghI0BwcH5biNjQ379+9/ZmJWEFdXVyA38axZsyZGRkZER0dTtWpVAJKTk7l06ZKSYJcGfb4fGjRowMGDB5k9e3aBxwv6+j3N1dU13/i8Y8eO4eLiki8pFEIIoT/p1iwdxX5KXl5eREVFERcXp/OL3cPDgzVr1vDo0SNlMoCLiwtDhgxh2LBhbN26latXrxITE8OCBQvYvXu3cq6RkRFjx47lxIkT/PzzzwwfPpyWLVsWOt5s7dq1dO/enYYNG+Lm5qZsffv2xc7Ojg0bNgC5M/IOHz7M77//zp07d5R9aWlpHDx4kDt37vDgwQOqVq2KsbExK1as4H//+x87duzItzbX+++/r0xUOHXqFJcvX2b9+vVcvHhRJ87e3p7w8HAuXLjAoEGDCpww8KSnuziTk5P54IMPlMSsadOmz/yavPnmm3z++eecOHGC3377jYiICMaMGYOLiwt16tTB0tKSkSNHMnnyZA4ePMjZs2fx9/fHoJR/SPT5fpg6dSoxMTGMHj2aM2fOcOHCBVatWqXz9Ttx4gTXrl3jzp07BbZ0TZw4kYMHDzJ37lwuXbrEunXrWLlypTL5QwghhCjLnis5e/jwITVr1qRSpUrKfg8PD+7fv0+NGjV0BkoHBQUxbNgwJk6cSO3atenZsycnTpzQiTE3N2fKlCkMHjyYVq1aYWZmVuCisgC3bt1i165d9O3bN98xlUpFnz59WLt2LQBz5szh2rVr1KhRAzs7OyB3wdJRo0YxYMAA7OzsWLhwIXZ2dgQHBytLc8yfP5/FixfrlF2xYkXCw8NJS0vDw8ODpk2bsmbNmgJbxvJmT8bHxzNkyJBntvQ8maAdPHiQ1NRUvRMzAG9vb3766Sd8fX1xcXHhrbfeok6dOuzbt0/p9l20aBHt27enZ8+edOrUibZt2+pd/ov0rO8HFxcX9u3bxy+//ELz5s1p1aoV27dvV+5j0qRJGBoa4urqqnQ/P61Jkyb88MMPhISE4ObmxieffMKcOXN0JgMIIYR4DipVyTfxTCrtyxyQJIolJyeHcePG4e/vrzNB4mXx9PSkUaNGL/yVTU9q1aoVHTt25NNPP31p13gVUlNTUavVNPfeRTkji1ddHSGEyCcrM52Te7uTkpJS4klMef/PS3j3X1iZFD5c51nuZ2RS96vQF1Kn15l0/pYhBgYGyir/f3cZGRmcOnWKc+fO6SyFIYQQQoiiSXImXoo9e/bQoUMHfH19efPNN191dYQQQrwA8m7N0lHs2Zri9VHQa7RelN69e8srjoQQ4jUjS2mUDklhhRBCCCHKEGk5E0IIIYReZJ2z0iFPSQghhBB6URmU9OXnxbveqlWraNCggfLavFatWrFnzx7luFarZdasWTg6OmJmZoanpyfnzp3TKSMjI4OxY8dia2uLhYUFPXv21Hl3NeSuMern54darUatVuPn58e9e/d0Yq5fv46vry8WFhbY2toybtw45S1CeeLj4/Hw8MDMzIzKlSszZ86c53pLjyRnQgghhNBLyRKz4o9Xq1KlCvPnz+fUqVOcOnWKDh060KtXLyUBW7hwIUuXLmXlypXExMSg0Wjo3Lkz9+/fV8oYP348oaGhhISEEBUVRVpaGj169NBZg3Tw4MHExcURFhZGWFgYcXFxOu+/zs7Opnv37qSnpxMVFUVISAhbtmxh4sSJSkxqaiqdO3fG0dGRmJgYVqxYweLFi1m6dGnxn7OscyZE8ck6Z0KIsu5lrHP264cDsDIp/L3Rz3I/4zE1P99cojpVqFCBRYsWMWLECBwdHRk/fjxTpkwBclvJKlWqxIIFC3j33XdJSUnBzs6O9evXM2DAAAD++OMPnJyc2L17N97e3iQkJODq6kp0dDQtWrQAIDo6mlatWnHhwgVq167Nnj176NGjBzdu3MDR0RGAkJAQ/P39uX37NtbW1qxatYqpU6dy69YtTExMAJg/fz4rVqzg5s2bhb4vvCDSciaEEEII/RgYlHwjN9l7csvIyHjmpbOzswkJCSE9PZ1WrVpx9epVkpKS6NKlixJjYmKCh4cHx44dAyA2NpbMzEydGEdHR9zc3JSY48ePo1arlcQMoGXLlqjVap0YNzc3JTGD3LfzZGRkEBsbq8R4eHgoiVlezB9//MG1a9eK95iLFS2EEEKIfyyVSlXiDcDJyUkZ36VWqwkMDCz0mvHx8VhaWmJiYsKoUaMIDQ3F1dWVpKQkAJ1XSeZ9zjuWlJSEsbExNjY2RcbY29vnu669vb1OzNPXsbGxwdjYuMiYvM95MfqS2Zqi1GVmZjJixAgCAgJo3779q66OEEKIUnbjxg2dbs0nW5ueVrt2beLi4rh37x5btmzhrbfeIjIyUjn+dHehVqt9Zhfi0zEFxb+ImLyRY8Xp0gRpOROlLDMzkwEDBrBhwwa6devG4cOHX3WVhBBC6OlFvSEgb/Zl3lZUcmZsbEzNmjVxd3cnMDCQhg0bsnz5cjQaDZC/Ver27dtKi5VGo+Hx48ckJycXGXPr1q181/3zzz91Yp6+TnJyMpmZmUXG3L59G8jfuvcskpyVkuDgYMqXL/+qq1Fi/v7+9O7d+7nOzczMZNCgQWRkZDBnzhymT5/O/PnzOXLkyIutpBBCiJeitGdrFkSr1ZKRkUG1atXQaDTs379fOfb48WMiIyNp3bo1AE2bNsXIyEgnJjExkbNnzyoxrVq1IiUlhZMnTyoxJ06cICUlRSfm7NmzJCYmKjH79u3DxMSEpk2bKjGHDx/WWV5j3759ODo64uzsXKx7lOTsKatXr8bKyoqsrCxlX1paGkZGRrRr104n9siRI6hUKi5duvTS6/XOO+9gaGhISEhIvmPOzs4sW7ZMZ19ZSwbzWszatm3L8uXLsbW1pVatWuzatYtNmzbplaB99NFHODs760yRBvD19aV9+/bk5OQAcPr0aXr06IG9vT2mpqY4OzszYMAA7ty5o5yzZcsWWrRogVqtxsrKinr16ulMiRZCCPHqTZs2jSNHjnDt2jXi4+OZPn06ERERDBkyBJVKxfjx45k3bx6hoaGcPXsWf39/zM3NGTx4MABqtZqRI0cyceJEDh48yOnTpxk6dCj169enU6dOANStW5euXbsSEBBAdHQ00dHRBAQE0KNHD2rXrg1Aly5dcHV1xc/Pj9OnT3Pw4EEmTZpEQECA0j07ePBgTExM8Pf35+zZs4SGhjJv3jwmTJhQ7G5NGXP2FC8vL9LS0jh16hQtW7YEcpMwjUZDTEwMDx48wNzcHMh9N6WjoyMuLi4vtU4PHjxg8+bNTJ48mbVr1zJw4MCXer0XLS8xCw0N5fLly0yaNElZXyY0NJR+/frRrVs3du/enS8BftLcuXPZvXs3EyZMYM2aNQB8++23HDp0iF9++QUDAwNu375Np06d8PX1Ze/evZQvX56rV6+yY8cOHjx4AMCBAwcYOHAg8+bNo2fPnqhUKs6fP8/Bgwdf/sMQQoi/M9X/zbh87vOL4datW/j5+ZGYmIharaZBgwaEhYXRuXNnIPeP9ocPHzJ69GiSk5Np0aIF+/btw8rKSinj888/p1y5cvTv35+HDx/SsWNHgoODMTQ0VGI2btzIuHHjlFmdPXv2ZOXKlcpxQ0NDdu3axejRo2nTpg1mZmYMHjyYxYsXKzFqtZr9+/czZswY3N3dsbGxYcKECUyYMKH4j0nWOcuvcuXKjB07lo8//hiAKVOmkJ6ezqFDh1i+fLmSbXfs2BEHBwc2bNjA48eP+fe//83GjRu5d+8ebm5uLFiwAE9PTyC3JWv8+PEEBwfz0Ucfcf36ddq1a8e3336Lk5NTkfVZt24dq1evJiwsDAcHB86fP680kXp6euoMjAQ4dOgQXl5eOvtmzpzJrFmz2LBhA8uWLePixYtYWFjQoUMHli1bpjNT5dy5c3z00UccOXIErVZLo0aNCA4OpkaNGvj7+3Pv3j22bdsG5E5T9vHx4YMPPmD69On56v5kYvY0AwMDoqOjOXfuHMOHD8fS0pI9e/bQtm3bQp9FbGwsrVq1YseOHbi6ulK/fn0CAwMZPXo0ANu2baNfv348fPiQcuUK/ttj/Pjx/PLLLxw6dKjQ6zyLrHMmhCjrXsY6Z1en+2Nt+vzrnKU+eky1z4JfSJ1eZ9KtWQBPT0+dX9yHDh3C09MTDw8PZf/jx485fvy4kgQNHz6co0ePEhISwpkzZ+jXrx9du3bl8uXLSjkPHjzgs88+Y926dRw9epTU1FS9WsHWrl3L0KFDUavVdOvWjaCgIOXY1q1bqVKlCnPmzCExMZHExERat27NsmXLsLa2VvZNmjRJqffcuXP55Zdf2LZtG1evXsXf318p7/fff6d9+/aYmpoSHh5ObGwsI0aM0OnmzRMREUHHjh2ZPXt2gYlZVlZWoYmZSqVi9erVODg4MGPGDCC3+9jHx4eoqKhCn0XTpk2ZOnUqb7/9Nn5+fjRr1oz33ntPOa7RaMjKyiI0NLTQV2ZoNBrOnTvH2bNnC73O0zIyMvKtyyOEEEK8DNKtWQBPT08+/PBDsrKyePjwIadPn6Z9+/ZkZ2fzxRdfALmrBz98+BAvLy+uXLnCpk2buHnzprJA3aRJkwgLCyMoKIh58+YBua1IK1euVBa6W7duHXXr1uXkyZM0b968wLpcvnyZ6Ohotm7dCsDQoUMZN24cM2fOxMDAgAoVKmBoaIiVlZUycwVym1dVKpXOPoARI0Yo/65evTpffPEFzZs3Jy0tDUtLS7788kvUajUhISEYGRkBFNhtu337dvz8/Pjqq68YNGhQgXU3MDDA0tKywGMzZsygZ8+etG3bVucdZ0ZGRkq3cWH+/e9/ExQUxIkTJ7h06ZJOX37Lli2ZNm0agwcPZtSoUTRv3pwOHTowbNgwZbbM2LFjOXLkCPXr1+eNN96gZcuWdOnShSFDhhQ6YygwMJDZs2cXWS8hhHjdqVQGqIr7gsynzhfPJk+pAF5eXqSnpxMTE8ORI0dwcXHB3t4eDw8PYmJiSE9PJyIigqpVq1K9enV+/vlntFotLi4uWFpaKltkZCRXrlxRyi1Xrhzu7u7K5zp16lC+fHkSEhIKrcvatWvx9vbG1tYWgG7dupGens6BAwee695Onz5Nr169eOONN7CyslK6Xa9fvw5AXFwc7dq1UxKzgpw4cYK+ffuybt26QhMzyE3OgoODdd5Plqd///4sWrSIX3/9VdlnY2PDgQMHaNKkSZH3sH//fhITE9FqtcTExOQ7/tlnn5GUlMTq1atxdXVl9erV1KlTh/j4eAAsLCzYtWsXv/76K//+97+xtLRk4sSJNG/eXBmX9rSpU6eSkpKibDdu3CiyjkII8VoyUJV8E88kLWcFqFmzJlWqVOHQoUMkJyfj4eEB5HaHVatWjaNHj3Lo0CE6dOgAQE5ODoaGhsTGxuoMMATytRwVNGOjsFkc2dnZfPfddyQlJemMn8rOzmbt2rU6r6PQR3p6Ol26dKFLly5s2LABOzs7rl+/jre3tzL118zM7Jnl1KhRg4oVK/Ltt9/SvXt3jI0LH3+Ql6ABrF+/XtlfsWJFUlJSlM/6JmbJyckEBAQwbdo0jIyMGD16NB4eHkry+mT5/fr1o1+/fgQGBtK4cWMWL17MunXrdO6jRo0avP3220yfPh0XFxc2b97M8OHD813XxMSkyHV4hBBCiBdFkrNCeHl5ERERQXJyMpMnT1b2e3h4sHfvXqKjo5Vf4o0bNyY7O5vbt28XOdswKyuLU6dOKV2YFy9e5N69e9SpU6fA+N27d3P//n1Onz6tk/RduHCBIUOGcPfuXSpWrIixsbEy+zFPQfsuXLjAnTt3mD9/vjIJ4dSpUzoxDRo0YN26dWRmZhbaemZra8vWrVvx9PRkwIAB/PDDD0W2tBWUoDk4OCjHbWxs2L9//zMTM8jtkrS3t+ff//43KpWKbdu28f777xe4xEgeY2NjatSoQXp6eqExzs7OmJubFxkjhBD/dE8uJPu854tnk6dUCC8vL6KiooiLi1NaziA3OVuzZg2PHj1SJgO4uLgwZMgQhg0bxtatW7l69SoxMTEsWLCA3bt3K+caGRkxduxYTpw4wc8//8zw4cNp2bJloePN1q5dS/fu3WnYsCFubm7K1rdvX+zs7NiwYQOQm1gcPnyY33//XVnLy9nZmbS0NA4ePMidO3d48OABVatWxdjYmBUrVvC///2PHTt2MHfuXJ1rvv/++8pEhVOnTnH58mXWr1/PxYsXdeLs7e0JDw/nwoULDBo0qMAJA096uoszOTmZDz74QEnM8hbxK0poaCg//vgj69atw8jIiHLlyhEcHExoaChbtmwBYOfOnQwdOpSdO3dy6dIlLl68yOLFi9m9eze9evUCYNasWXz00UdERERw9epVTp8+zYgRI8jMzFSmZwshhMivLCxC+08gyVkhvLy8ePjwITVr1tR57YKHhwf379+nRo0aOktgBAUFMWzYMCZOnEjt2rXp2bMnJ06c0IkxNzdnypQpDB48mFatWmFmZlZoi8+tW7fYtWsXffv2zXdMpVLRp08f1q5dC8CcOXO4du0aNWrUwM7ODoDWrVszatQoBgwYgJ2dHQsXLsTOzo7g4GB+/PFHXF1dmT9/vs4aLZDbHRgeHk5aWhoeHh40bdqUNWvWFNgyptFoCA8PJz4+niFDhuRrqXvakwnawYMHSU1N1Tsxu3PnDqNGjWLmzJk0aNBA2e/m5sbMmTMZPXo0d+7cwdXVFXNzcyZOnEijRo1o2bIlP/zwA998842SGHp4ePC///2PYcOGUadOHXx8fEhKSmLfvn3KgoNCCCEKoFLlrlX23JskZ/qQdc5EqcvJyWHcuHH4+/vrTJD4O5F1zoQQZd3LWOfs+tx3sTZ9/vG3qY8yqDrjK1nn7BlkzJkodQYGBjorLwshhPh7KGnXpHRr6keSMyGEEELox6CEr2+SCQF6kackhBBCCFGGSMuZEEIIIfSiUqkKXZtT3/PFs0lyJoQQQgj9qErYrSmvb9KLPCUhhBBCiDJEWs6EEEIIoReZrVk6JDkTQgghhH7yFpMtyfnimeQpCSGEEEKUIdJyJoQQQgj9GKhyt5KcL55JkjMhhBBC6EWlMkBVgq7Jkpz7TyJPSQghhBCiDJGWMyGEEELoR7o1S4W0nIkSi4iIQKVSce/evZdS/qxZs2jUqFGJywkODqZ8+fIlLkcIIf6pVAYGJd7Es8lT+pvw9/dXXpthZGREpUqV6Ny5M99++y05OTnFKis7O5vAwEDq1KmDmZkZFSpUoGXLlgQFBb2k2pcNAwYM4NKlS6+6GkII8felUpV8E88k3Zp/I127diUoKIjs7Gxu3bpFWFgYH3zwAf/973/ZsWMH5crp9+WcNWsWX3/9NStXrsTd3Z3U1FROnTpFcnLyS76DVyczMxMzMzPMzMxedVWEEEKIIknL2d+IiYkJGo2GypUr06RJE6ZNm8b27dvZs2cPwcHBStz169fp1asXlpaWWFtb079/f27duqUc/+mnnxg9ejT9+vWjWrVqNGzYkJEjRzJhwoRCr/3bb7/h6+uLjY0NFhYW1KtXj927dxcav2XLFurVq4eJiQnOzs4sWbJEObZixQrq16+vfN62bRsqlYovv/xS2eft7c3UqVMLLDsnJ4c5c+ZQpUoVTExMaNSoEWFhYcrxa9euoVKp+OGHH/D09MTU1JQNGzbk69b85Zdf8PLywsrKCmtra5o2bcqpU6cKvSchhPjHM1DlvlvzuTdpOdOHJGd/cx06dKBhw4Zs3boVAK1WS+/evfnrr7+IjIxk//79XLlyhQEDBijnaDQawsPD+fPPP/W+zpgxY8jIyODw4cPEx8ezYMECLC0tC4yNjY2lf//+DBw4kPj4eGbNmsWMGTOUBNLT05Nz585x584dACIjI7G1tSUyMhKArKwsjh07hoeHR4HlL1++nCVLlrB48WLOnDmDt7c3PXv25PLlyzpxU6ZMYdy4cSQkJODt7Z2vnCFDhlClShViYmKIjY3l448/xsjIqMBrZmRkkJqaqrMJIcQ/jnRrlgrp1nwN1KlThzNnzgBw4MABzpw5w9WrV3FycgJg/fr11KtXj5iYGJo1a8bSpUt588030Wg01KtXj9atW9OrVy98fHwKvcb169fp27ev0uJVvXr1QmOXLl1Kx44dmTFjBgAuLi6cP3+eRYsW4e/vj5ubGxUrViQyMpK+ffsSERHBxIkT+fzzzwGIiYnh0aNHtG3btsDyFy9ezJQpUxg4cCAACxYs4NChQyxbtkyn9W38+PH06dOnyHuaPHkyderUAaBWrVqFxgYGBjJ79uxCjwshhBAvirScvQa0Wi2q///XSEJCAk5OTkpiBuDq6kr58uVJSEhQPp89e5bo6GiGDx/OrVu38PX15e233y70GuPGjePTTz+lTZs2zJw5U0kGC5KQkECbNm109rVp04bLly+TnZ2NSqWiffv2REREcO/ePc6dO8eoUaPIzs4mISGBiIgImjRpUmDLXGpqKn/88UeB5efdXx53d/dC6wgwYcIE3n77bTp16sT8+fO5cuVKobFTp04lJSVF2W7cuFFk2UII8TqS2ZqlQ57SayAhIYFq1aoBuonak57eb2BgQLNmzfjwww8JDQ0lODiYtWvXcvXq1QKv8fbbb/O///0PPz8/4uPjcXd3Z8WKFQXGFlQHrVar89nT05OIiAiOHDlCw4YNKV++PO3btycyMpKIiAg8PT2LvOeCyn96n4WFRZFlzJo1i3PnztG9e3fCw8NxdXUlNDS0wFgTExOsra11NiGE+MfJe/F5STbxTPKU/ubCw8OJj4+nb9++QG6r2PXr13Vads6fP09KSgp169YttBxXV1cA0tPTC41xcnJi1KhRbN26lYkTJ7JmzZpCy4qKitLZd+zYMVxcXDA0NAT+b9zZf//7XyUR8/Dw4MCBA0WON7O2tsbR0bHA8ou6v8K4uLjw4Ycfsm/fPvr06fPaLycihBCi7JMxZ38jGRkZJCUl6SylERgYSI8ePRg2bBgAnTp1okGDBgwZMoRly5aRlZXF6NGj8fDwULr53nzzTdq0aUPr1q3RaDRcvXqVqVOn4uLiooy/etr48ePx8fHBxcWF5ORkwsPDC02GJk6cSLNmzZg7dy4DBgzg+PHjrFy5kv/85z9KTN64s40bN7J9+3YgN2GbOHEiQKHjzQAmT57MzJkzqVGjBo0aNSIoKIi4uDg2btyo97N8+PAhkydP5s0336RatWrcvHmTmJgYJckVQghRAFUJ3xAgEwL0IsnZ30hYWBgODg6UK1cOGxsbGjZsyBdffMFbb72Fwf/vx1epVGzbto2xY8fSvn17DAwM6Nq1q04XpLe3N5s2bSIwMJCUlBQ0Gg0dOnRg1qxZha6Vlp2dzZgxY7h58ybW1tZ07dpVGcD/tCZNmvDDDz/wySefMHfuXBwcHJgzZw7+/v5KjEqlwsPDg23bttGuXTsAGjRogFqtpnr16kV2G44bN47U1FQmTpzI7du3cXV1ZceOHUUO6H+aoaEhd+/eZdiwYdy6dQtbW1v69Okjg/6FEKII8uLz0qHSPj0YSAjxTKmpqajVapp776KcUdFj24QQ4lXIykzn5N7upKSklHicbN7/8259Mwtrc9PnL+fBIyq9PeuF1Ol1Ji1nQgghhNCPvPi8VEhyJoQQQgj9lHTGpXRr6kWSMyGEEELop6Sr/MuEAL1ICiuEEEIIUYZIy5kQ4qUqaFHkF03mNQlRSvJeYF6S88UzSXImhBBCCP3ImLNSIU9JCCGEEKIMkeRMCCGEEPrJW0qjJFsxBAYG0qxZM6ysrLC3t6d3795cvHhRJ8bf3x+VSqWztWzZUicmIyODsWPHYmtri4WFBT179uTmzZs6McnJyfj5+aFWq1Gr1fj5+XHv3j2dmOvXr+Pr64uFhQW2traMGzeOx48f68TEx8fj4eGBmZkZlStXZs6cOcUeeiHJmRBCCCH0o1KV8MXnxUvOIiMjGTNmDNHR0ezfv5+srCy6dOmS7z3QXbt2JTExUdl2796tc3z8+PGEhoYSEhJCVFQUaWlp9OjRg+zsbCVm8ODBxMXFERYWRlhYGHFxcfj5+SnHs7Oz6d69O+np6URFRRESEsKWLVuU1w5C7mK9nTt3xtHRkZiYGFasWMHixYtZunRpse5bxpwJIYQQokwKCwvT+RwUFIS9vT2xsbG0b99e2W9iYoJGoymwjJSUFNauXcv69evp1KkTABs2bMDJyYkDBw7g7e1NQkICYWFhREdH06JFCwDWrFlDq1atuHjxIrVr12bfvn2cP3+eGzdu4OjoCMCSJUvw9/fns88+w9ramo0bN/Lo0SOCg4MxMTHBzc2NS5cusXTpUiZMmKD3BClpORNCCCGEfvLWOSvJRm4L05NbRkaGXpdPSUkBoEKFCjr7IyIisLe3x8XFhYCAAG7fvq0ci42NJTMzky5duij7HB0dcXNz49ixYwAcP34ctVqtJGYALVu2RK1W68S4ubkpiRnkvqs6IyOD2NhYJcbDwwMTExOdmD/++INr167pdY8gyZkQQggh9JW3lEZJNsDJyUkZ26VWqwkMDHzmpbVaLRMmTKBt27a4ubkp+318fNi4cSPh4eEsWbKEmJgYOnTooCR8SUlJGBsbY2Njo1NepUqVSEpKUmLs7e3zXdPe3l4nplKlSjrHbWxsMDY2LjIm73NejD6kW1M8l2vXrlGtWjVOnz5No0aNCoyJiIjAy8uL5ORkypcvX6r1E0IIUXbduHFD58XnT7Y0Feb999/nzJkzREVF6ewfMGCA8m83Nzfc3d1544032LVrF3369Cm0PK1Wq9PNWFCX44uIyZsMUJw1H6XlrBQ9OaPEyMiISpUq0blzZ7799ltycnKKVVZ2djaBgYHUqVMHMzMzKlSoQMuWLQkKCiryPK1Wq/SjW1tbY2lpSb169fjggw/49ddfS3J7pebpWTl5W0hIyKuumhBCvN5eULemtbW1zvas5Gzs2LHs2LGDQ4cOUaVKlSJjHRwceOONN7h8+TIAGo2Gx48fk5ycrBN3+/ZtpVVLo9Fw69atfGX9+eefOjFPt34lJyeTmZlZZExeF+vTLWpFkeSslOXNKLl27Rp79uzBy8uLDz74gB49epCVlaV3ObNmzWLZsmXMnTuX8+fPc+jQIQICAvJ98z1Jq9UyePBgxo0bR7du3di3bx9nzpzhiy++wMzMjE8//fRF3GKpCAoK0pmZk5iYSO/evV91tYQQ4vVWopmaxV/AVqvV8v7777N161bCw8OpVq3aM8+5e/cuN27cwMHBAYCmTZtiZGTE/v37lZjExETOnj1L69atAWjVqhUpKSmcPHlSiTlx4gQpKSk6MWfPniUxMVGJ2bdvHyYmJjRt2lSJOXz4sM7yGvv27cPR0RFnZ2e971uSs1KWN6OkcuXKNGnShGnTprF9+3b27NlDcHCwEnf9+nV69eqFpaUl1tbW9O/fXyer/+mnnxg9ejT9+vWjWrVqNGzYkJEjRzJhwoRCr71582ZCQkLYvHkzM2bMoGXLllSvXp2OHTsyf/58nVa3nJwc5syZQ5UqVTAxMaFRo0b5Zs08bffu3bi4uGBmZoaXl1eBgx+PHTtG+/btMTMzw8nJiXHjxulMiXZ2dmbevHmMGDECKysrqlatytdff52vnPLly6PRaHQ2U1NT0tPTsba25r///a9O/E8//YSFhQX3798H4Pfff2fAgAHY2NhQsWJFevXqVazBmkIIIV6+MWPGsGHDBr7//nusrKxISkoiKSmJhw8fApCWlsakSZM4fvw4165dIyIiAl9fX2xtbfnXv/4FgFqtZuTIkUycOJGDBw9y+vRphg4dSv369ZXZm3Xr1qVr164EBAQQHR1NdHQ0AQEB9OjRg9q1awPQpUsXXF1d8fPz4/Tp0xw8eJBJkyYREBCgdNEOHjwYExMT/P39OXv2LKGhocybN69YMzVBkrMyoUOHDjRs2JCtW7cCuX8p9O7dm7/++ovIyEj279/PlStXdPrVNRoN4eHh/Pnnn3pfZ9OmTdSuXZuePXsWePzJb5zly5ezZMkSFi9ezJkzZ/D29qZnz55KM/HTbty4QZ8+fejWrRtxcXG8/fbbfPzxxzox8fHxeHt706dPH86cOcPmzZuJiori/fff14lbsmQJ7u7unD59mtGjR/Pee+9x4cIFve7RwsKCgQMH5uveDQoK4s0338TKyooHDx7g5eWFpaUlhw8fJioqCktLS7p27ZpvMUEhhBBPUJVwMkAxW85WrVpFSkoKnp6eODg4KNvmzZsBMDQ0JD4+nl69euHi4sJbb72Fi4sLx48fx8rKSinn888/p3fv3vTv3582bdpgbm7OTz/9hKGhoRKzceNG6tevT5cuXejSpQsNGjRg/fr1ynFDQ0N27dqFqakpbdq0oX///vTu3ZvFixcrMWq1mv3793Pz5k3c3d0ZPXo0EyZMKLLhpMDHrJU3Bpcaf39/7t27x7Zt2/IdGzhwIGfOnOH8+fPs378fHx8frl69ipOTEwDnz5+nXr16nDx5kmbNmnH+/HnefPNNLl68SL169WjdujW9evXCx8en0OvXrVsXFxcXtm/fruwbP34833zzDZDbGpW3YnLlypUZM2YM06ZNU2KbN29Os2bN+PLLL/NNCJg2bRrbtm3j3LlzSpL38ccfs2DBAmVCwLBhwzAzM+Orr75SyoyKisLDw4P09HRMTU1xdnamXbt2yg+EVqtFo9Ewe/ZsRo0aBeQmkaampjo/VABnzpyhevXqnDx5ktatW3P9+nUcHR25c+cOjo6O7N+/Hw8PD7799lsWLlxIQkKCUtfHjx9Tvnx5tm3bpjPdOk9GRobOVO/U1FScnJxo7r2LckYWhT5zIS8+F+JVycpM5+Te7qSkpOgMvn8eqampqNVqbm1ZgbWF2fOXk/6QSn3HvpA6vc6k5ayMeHK2R0JCAk5OTkpiBuDq6kr58uVJSEhQPp89e5bo6GiGDx/OrVu38PX15e233y7yOk//opw+fTpxcXF88sknpKWlAbk/hH/88Qdt2rTRiW3Tpo1y/aclJCTQsmVLnfJbtWqlExMbG0twcDCWlpbK5u3tTU5ODlevXlXiGjRooFNfjUajs2YN5P4VFBcXp7PlPa/mzZtTr149vvvuOwDWr19P1apVlQULY2Nj+fXXX7GyslLqUaFCBR49esSVK1cKvL/AwECdad9Pfm2EEOIfo5THnP1TyVIaZURCQoIy0PHpabl5nt5vYGBAs2bNaNasGR9++CEbNmzAz8+P6dOnFzhoslatWvm6B+3s7LCzsytwfZeCpgMX1gqiT8tFTk4O7777LuPGjct3rGrVqsq/jYyM8tXj6dmsGo2GmjVrFnqtt99+m5UrV/Lxxx8TFBTE8OHDlbrn5OTQtGlTNm7cmO88Ozu7AsubOnWqTrN0XsuZEEII8aJJClsGhIeHEx8fT9++fYHcVrHr169z48YNJeb8+fOkpKRQt27dQstxdXUFyPfOsTyDBg3i4sWLOt2aBbG2tsbR0THfWjLHjh0r9Pqurq5ER0fr7Hv6c5MmTTh37hw1a9bMtxkbGxdZp+IaOnQo169f54svvuDcuXO89dZbOvW4fPky9vb2+eqhVqsLLM/ExCTf1G8hhPjHeUFLaYiiSXJWyjIyMkhKSuL333/n559/Zt68efTq1YsePXowbNgwADp16kSDBg0YMmQIP//8MydPnmTYsGF4eHjg7u4OwJtvvsnnn3/OiRMn+O2334iIiGDMmDG4uLhQp06dAq89cOBA3nzzTQYOHMicOXM4ceIE165dIzIyks2bN+uM4Zo8eTILFixg8+bNXLx4kY8//pi4uDg++OCDAsseNWoUV65cYcKECVy8eJHvv/9eZ/YpwJQpUzh+/DhjxowhLi6Oy5cvs2PHDsaOHVvs53jv3j1l1k7e9mRSamNjQ58+fZg8eTJdunTRWRdnyJAh2Nra0qtXL44cOcLVq1eJjIzkgw8+UMbcCSGEKMALekOAKJo8pVIWFhaGg4MDzs7OdO3alUOHDvHFF1+wfft2JTlSqVRs27YNGxsb2rdvT6dOnahevboyOwVy39X1008/4evrq8xQqVOnDvv27aNcuYJ7q1UqFZs3b2bZsmXs3r2bjh07Urt2bUaMGIGTk5NOS9m4ceOYOHEiEydOpH79+oSFhbFjxw5q1apVYNlVq1Zly5Yt/PTTTzRs2JDVq1czb948nZgGDRoQGRnJ5cuXadeuHY0bN2bGjBnKWjTFMXz4cJ2ZOw4ODqxYsUInZuTIkTx+/JgRI0bo7Dc3N+fw4cNUrVqVPn36ULduXUaMGMHDhw+lRUwIIcQrJ7M1xWtr48aNfPDBB/zxxx8vvNs0b+aSzNZ8NpmtKcSr8TJmaybt+KrEszU1Pd+V2ZrPIBMCxGvnwYMHXL16lcDAQN59990XnpgJIcQ/lkpVshmXMuZML9KtKV47CxcupFGjRlSqVImpU6e+6uoIIYQQxSLJmXjtzJo1i8zMTA4ePIilpeWrro4QQrw+ZJ2zUiHdmkIIIYTQi1alQluCrsmSnPtPIimsEEIIIUQZIi1nQoiXSmZSCvEaKWnXpHRr6kWSMyGEEELop6Sr/Eu3pl4khRVCCCGEKEOk5UwIIYQQ+inpK5jk9U16keRMCCGEEHqR2ZqlQ5IzIYQQQuhHJgSUCnlKQgghhBBliLScCSGEEEIvWpUB2hK0fpXk3H8SeUqvOX9/f3r37v3Synd2dmbZsmUvrXwhhBBlSN5SGiXZxDNJclYC/v7+qFQqVCoVRkZGVKpUic6dO/Ptt9+Sk5NTrLKys7MJDAykTp06mJmZUaFCBVq2bElQUFCR53311Vc0bNgQCwsLypcvT+PGjVmwYEFJbuuFunbtGiqViri4OJ39z5s0RkREoFKpuHfv3gupHxReRyGEEOJVkG7NEuratStBQUFkZ2dz69YtwsLC+OCDD/jvf//Ljh07KFdOv0c8a9Ysvv76a1auXIm7uzupqamcOnWK5OTkQs9Zu3YtEyZM4IsvvsDDw4OMjAzOnDnD+fPnX9TtCSGEEAotJezWlDYhvchTKiETExM0Gg2VK1emSZMmTJs2je3bt7Nnzx6Cg4OVuOvXr9OrVy8sLS2xtramf//+3Lp1Szn+008/MXr0aPr160e1atVo2LAhI0eOZMKECYVe+6effqJ///6MHDmSmjVrUq9ePQYNGsTcuXMLPScjI4Nx48Zhb2+Pqakpbdu2JSYmRjnetGlTlixZonzu3bs35cqVIzU1FYCkpCRUKhUXL15UYh48eMCIESOwsrKiatWqfP3118qxatWqAdC4cWNUKhWenp7MmjWLdevWsX37dqXlMSIiQmnBCgkJoXXr1piamlKvXj0iIiKA3BYuLy8vAGxsbFCpVPj7+wO5rwhauHAh1atXx8zMjIYNG/Lf//5XqUdycjJDhgzBzs4OMzMzatWqpbRKFlRHIYQQBZBuzVIhydlL0KFDBxo2bMjWrVuB3MShd+/e/PXXX0RGRrJ//36uXLnCgAEDlHM0Gg3h4eH8+eefel9Ho9EQHR3Nb7/9pvc5H330EVu2bGHdunX8/PPP1KxZE29vb/766y8APD09lWRIq9Vy5MgRbGxsiIqKAuDQoUNoNBpq166tlLlkyRLc3d05ffo0o0eP5r333uPChQsAnDx5EoADBw6QmJjI1q1bmTRpEv3796dr164kJiaSmJhI69atlfImT57MxIkTOX36NK1bt6Znz57cvXsXJycntmzZAsDFixdJTExk+fLlAPz73/8mKCiIVatWce7cOT788EOGDh1KZGQkADNmzOD8+fPs2bOHhIQEVq1aha2tbaF1fFpGRgapqak6mxBCCPEySHL2ktSpU4dr164Bub/0z5w5w/fff0/Tpk1p0aIF69evJzIyUmm1Wrp0KX/++ScajYYGDRowatQo9uzZU+Q1Zs6cSfny5XF2dqZ27dr4+/vzww8/FDreLT09nVWrVrFo0SJ8fHxwdXVlzZo1mJmZsXbtWiA3OTty5Ag5OTmcOXMGQ0ND/Pz8lIQtIiICDw8PnXK7devG6NGjqVmzJlOmTMHW1laJt7OzA6BixYpoNBoqVKiApaUlZmZmSqujRqPB2NhYKe/999+nb9++1K1bl1WrVqFWq1m7di2GhoZUqFABAHt7ezQaDWq1mvT0dJYuXcq3336Lt7c31atXx9/fn6FDh/LVV18BuS2XjRs3xt3dHWdnZzp16oSvr2+hdXxaYGAgarVa2ZycnIr82gghxGtJpfq/tc6ea5OWM31IcvaSaLVaVP//mzAhIQEnJyedX+iurq6UL1+ehIQE5fPZs2eJjo5m+PDh3Lp1C19fX95+++1Cr+Hg4MDx48eJj49n3LhxZGZm8tZbb9G1a9cCE7QrV66QmZlJmzZtlH1GRkY0b95cqUf79u25f/8+p0+fJjIyEg8PD7y8vJQWqIKSswYNGij/VqlUaDQabt++XdxHpmjVqpXy73LlyuHu7q7UryDnz5/n0aNHdO7cGUtLS2X77rvvuHLlCgDvvfceISEhNGrUiI8++ohjx44Vq05Tp04lJSVF2W7cuPF8NyeEEH9jeW8IKMkmnk0mBLwkCQkJylimJxO1Jz2938DAgGbNmtGsWTM+/PBDNmzYgJ+fH9OnT1fKKoibmxtubm6MGTOGqKgo2rVrR2RkpDI+68nrAfnq8mQ91Go1jRo1IiIigmPHjtGhQwfatWtHXFwcly9f5tKlS/nGZBkZGel8VqlUxZ6t+iwFPb88edfatWsXlStX1jlmYmICgI+PD7/99hu7du3iwIEDdOzYkTFjxrB48WK9rm9iYqKUJYQQQrxM0nL2EoSHhxMfH0/fvn2B3Fax69ev67S2nD9/npSUFOrWrVtoOa6urkBud6S+ijqnZs2aGBsbK+PHADIzMzl16pROPTw9PTl06BCHDx/G09OT8uXL4+rqyqeffoq9vX2RdX5aXndldnZ2vv1P78sTHR2t/DsrK4vY2Fjq1KlTaHmurq6YmJhw/fp1atasqbM92VppZ2eHv78/GzZsYNmyZcrEhcLqKIQQ4ikl6tIs4auf/kGk5ayEMjIySEpK0llKIzAwkB49ejBs2DAAOnXqRIMGDRgyZAjLli0jKyuL0aNH4+Hhgbu7OwBvvvkmbdq0oXXr1mg0Gq5evcrUqVNxcXFREpOnvffeezg6OtKhQweqVKlCYmIin376KXZ2djpdg3ksLCx47733mDx5MhUqVKBq1aosXLiQBw8eMHLkSCXO09OT5cuXU6FCBSXZ8/T0ZMWKFfTp06dYz8fe3h4zMzPCwsKoUqUKpqamqNVqnJ2d2bt3LxcvXqRixYqo1WrlnC+//JJatWpRt25dPv/8c5KTkxkxYgQAb7zxBiqVip07d9KtWzfMzMywsrJi0qRJfPjhh+Tk5NC2bVtSU1M5duwYlpaWvPXWW3zyySc0bdqUevXqkZGRwc6dO5Uks7A6CiGE0KVFhZYSvPi8BOf+k0gKW0JhYWE4ODjg7OxM165dOXToEF988QXbt2/H0NAQyO2S27ZtGzY2NrRv355OnTpRvXp1Nm/erJTj7e3NTz/9hK+vLy4uLrz11lvUqVOHffv2FbpWWqdOnYiOjqZfv364uLjQt29fTE1NOXjwIBUrVizwnPnz59O3b1/8/Pxo0qQJv/76K3v37sXGxkaJad++PQAeHh5Kd6KHhwfZ2dn5xps9S7ly5fjiiy/46quvcHR0pFevXgAEBARQu3Zt3N3dsbOz4+jRozp1XLBgAQ0bNuTIkSNs375dmVlZuXJlZs+ezccff0ylSpV4//33AZg7dy6ffPIJgYGB1K1bV3meed3BxsbGTJ06lQYNGtC+fXsMDQ0JCQkpso5CCCHEq6DS5g1EEuIVu3btGtWqVeP06dM0atToVVenSKmpqajVapp776KckcWrro4QQuSTlZnOyb3dSUlJwdraukRl5f0/77fDO7C2fP7/56WmpfNG+54vpE6vM+nWFEIIIYR+SjpuTMac6UWSMyGEEELopaTLYchSGvqR5EyUGc7OzkgvuxBCiH86Sc6EEEIIoRetqoQvPpduTb1IciaEEEII/ZT05eXSrakXSWGFEEIIIcoQaTkTQgghhH5K2K0pszX1I8mZEEIIIfQibwgoHZLCCiGEEEKUIZKcCSGEEEIvebM1S7IVR2BgIM2aNcPKygp7e3t69+7NxYsXdeuk1TJr1iwcHR0xMzPD09OTc+fO6cRkZGQwduxYbG1tsbCwoGfPnty8eVMnJjk5GT8/P9RqNWq1Gj8/P+7du6cTc/36dXx9fbGwsMDW1pZx48bx+PFjnZj4+Hg8PDwwMzOjcuXKzJkzp9jLRElyJoQQQgj9qPi/GZvPtRXvcpGRkYwZM4bo6Gj2799PVlYWXbp0IT09XYlZuHAhS5cuZeXKlcTExKDRaOjcuTP3799XYsaPH09oaCghISFERUWRlpZGjx49yM7OVmIGDx5MXFwcYWFhhIWFERcXh5+fn3I8Ozub7t27k56eTlRUFCEhIWzZsoWJEycqMampqXTu3BlHR0diYmJYsWIFixcvZunSpcV7zPJuzbItMzOTESNGEBAQoLyQXLx68m5NIURZ9zLerXnlxEGsLC2fu5z7aWnUaNHxuev0559/Ym9vT2RkJO3bt0er1eLo6Mj48eOZMmUKkNtKVqlSJRYsWMC7775LSkoKdnZ2rF+/ngEDBgDwxx9/4OTkxO7du/H29iYhIQFXV1eio6Np0aIFANHR0bRq1YoLFy5Qu3Zt9uzZQ48ePbhx4waOjo4AhISE4O/vz+3bt7G2tmbVqlVMnTqVW7duYWJiAsD8+fNZsWIFN2/eRKXnUiLSclaGZWZmMmDAADZs2EC3bt04fPjwq66SEEKIfzAtBiXeIDfZe3LLyMjQ6/opKSkAVKhQAYCrV6+SlJREly5dlBgTExM8PDw4duwYALGxsWRmZurEODo64ubmpsQcP34ctVqtJGYALVu2RK1W68S4ubkpiRmAt7c3GRkZxMbGKjEeHh5KYpYX88cff3Dt2jX9HjJlNDkLDg6mfPnyr7oaJebv70/v3r2f69zMzEwGDRpERkYGc+bMYfr06cyfP58jR4682EoKIYQQesp7t2ZJNgAnJydlbJdarSYwMPDZ19ZqmTBhAm3btsXNzQ2ApKQkACpVqqQTW6lSJeVYUlISxsbG2NjYFBljb2+f75r29vY6MU9fx8bGBmNj4yJj8j7nxeijRMnZ6tWrsbKyIisrS9mXlpaGkZER7dq104k9cuQIKpWKS5culeSSennnnXcwNDQkJCQk3zFnZ2eWLVums6+sJYN5LWZt27Zl+fLl2NraUqtWLXbt2sWmTZv0StCCg4NRqVTKZmlpSdOmTdm6desLqeOLfGbOzs46dVWpVFSpUuWFlC2EEKLsuXHjBikpKco2derUZ57z/vvvc+bMGTZt2pTv2NPdhVqt9pldiE/HFBT/ImLyRo/p26UJJUzOvLy8SEtL49SpU8q+I0eOoNFoiImJ4cGDB8r+iIgIHB0dcXFxKckln+nBgwds3ryZyZMns3bt2pd6rZchLzELDQ1l7dq11KlTh9GjR9OvXz+2b99Ov3796Natm14JmrW1NYmJiSQmJnL69Gm8vb3p379/vpkuT3p61klpmTNnjlLXvPo+r8zMzBdYMyGEEHle1GxNa2trne3JbsCCjB07lh07dnDo0CGdP941Gg2Qv1Xq9u3bSouVRqPh8ePHJCcnFxlz69atfNf9888/dWKevk5ycjKZmZlFxty+fRvI37pXlBIlZ7Vr18bR0ZGIiAhlX0REBL169aJGjRpKP23efi8vLyA3Afjoo4+oXLkyFhYWtGjRQqeMPNu2bcPFxQVTU1M6d+7MjRs3nlmnH3/8EVdXV6ZOncrRo0d1+ng9PT357bff+PDDD5UWmoiICIYPH05KSoqyb9asWQBs2LABd3d3rKys0Gg0DB48WHnIec6dO0f37t2xtrbGysqKdu3aceXKlQLrFhsbi729PZ999lmBx59MzADOnj2rzCQxMDCgcuXK/Pbbb6SlpdGtWzeioqKKfBYqlQqNRoNGo6FWrVp8+umnGBgYcObMGSXG2dmZTz/9FH9/f9RqNQEBAURERKBSqXSmEMfFxaFSqbh27VqRz0zfr+3T8p5x3mZnZ6ccW7VqFTVq1MDY2JjatWuzfv36fPe5evVqevXqhYWFBZ9++ikAO3bswN3dHVNTU2xtbenTp49yzvPWUwgh/snyFqEtyVas62m1vP/++2zdupXw8HCqVaumc7xatWpoNBr279+v7Hv8+DGRkZG0bt0agKZNm2JkZKQTk5iYyNmzZ5WYVq1akZKSwsmTJ5WYEydOkJKSohNz9uxZEhMTlZh9+/ZhYmJC06ZNlZjDhw/rNHTs27cPR0dHnJ2d9b7vEo858/T05NChQ8rnQ4cO4enpiYeHh7L/8ePHHD9+XEnOhg8fztGjRwkJCeHMmTP069ePrl27cvnyZaWcBw8e8Nlnn7Fu3TqOHj1KamoqAwcOfGZ91q5dy9ChQ1Gr1XTr1o2goCDl2NatW6lSpYpOK03r1q1ZtmyZTivTpEmTlHrPnTuXX375hW3btnH16lX8/f2V8n7//Xfat2+Pqakp4eHhxMbGMmLECJ1u3jwRERF07NiR2bNnM3369HzHs7KydBKzJ+UlHw4ODsyYMQPI7T728fF5ZoKWJzs7m3Xr1gHQpEkTnWOLFi3Czc2N2NhYpfyiFPXM9PnaFkdoaCgffPABEydO5OzZs7z77rsMHz5c53sOYObMmfTq1Yv4+HhGjBjBrl276NOnD927d+f06dMcPHgQd3d3Jb649czIyMg3gFUIIf5pSnudszFjxrBhwwa+//57rKysSEpKIikpiYcPHwK5vx/Hjx/PvHnzCA0N5ezZs/j7+2Nubs7gwYMBUKvVjBw5kokTJ3Lw4EFOnz7N0KFDqV+/Pp06dQKgbt26dO3alYCAAKKjo4mOjiYgIIAePXpQu3ZtALp06YKrqyt+fn7K75VJkyYREBCgzDwdPHgwJiYm+Pv7c/bsWUJDQ5k3bx4TJkwoVrdmiV/f5OnpyYcffkhWVhYPHz7k9OnTtG/fnuzsbL744gsgdzrqw4cP8fLy4sqVK2zatImbN28qMx4mTZpEWFgYQUFBzJs3D8htRVq5cqUyc2LdunXUrVuXkydP0rx58wLrcvnyZaKjo5VxVUOHDmXcuHHMnDkTAwMDKlSogKGhodJKk0etViutTE8aMWKE8u/q1avzxRdf0Lx5c9LS0rC0tOTLL79ErVYTEhKCkZERQIHdttu3b8fPz4+vvvqKQYMGFVh3AwMDLAuZnjxjxgx69uxJ27ZtdRbNMzIywtzcvMBzIHdWS16ZDx8+xMjIiK+//poaNWroxHXo0EFJroB8C/M9zdjYuMBnpu/XtiBTpkzh3//+t/J53rx5jBs3jsWLF+Pv78/o0aMBmDBhAtHR0SxevFhJ9iH3B+LJr9egQYMYOHAgs2fPVvY1bNjwuesZGBioU5YQQoiXb9WqVUBurvGkoKAgpbHko48+4uHDh4wePZrk5GRatGjBvn37sLKyUuI///xzypUrR//+/Xn48CEdO3YkODgYQ0NDJWbjxo2MGzdOmdXZs2dPVq5cqRw3NDRk165djB49mjZt2mBmZsbgwYNZvHixEqNWq9m/fz9jxozB3d0dGxsbJkyYwIQJE4p13yVOzry8vEhPTycmJobk5GRcXFywt7fHw8MDPz8/0tPTiYiIoGrVqlSvXp0ff/wRrVabL4nJyMigYsWK/1excuV0Wjrq1KlD+fLlSUhIKDQ5W7t2Ld7e3tja2gLQrVs3Ro4cyYEDB3Sm0Orr9OnTzJo1i7i4OP766y9ycnKA3BWCXV1diYuLo127dkpiVpATJ06wc+dOfvzxR/71r38VGmdgYEBwcDBAvm67/v37s2jRIn799Vdln42NDQcOHMjXCvYkKysrfv75ZyC3JfLAgQO8++67VKxYEV9fXyXuyedcEj///LNeX9uCTJ48WadVMu9rmJCQwDvvvKMT26ZNG5YvX66z7+l7iIuLIyAg4IXVc+rUqTo/XKmpqTg5ORV5T0II8bp5csbl855frHg9lmLNG1qTN7ymIKampqxYsYIVK1YUGlOhQgU2bNhQ5LWqVq3Kzp07i4ypX79+iZe+KnFyVrNmTapUqcKhQ4dITk7Gw8MDyB0UV61aNY4ePcqhQ4fo0KEDADk5ORgaGhIbG6uTsQL5Wo4KagIsrFkwOzub7777jqSkJMqVK6ezf+3atcVOztLT0+nSpQtdunRhw4YN2NnZcf36dby9vZW+ZDMzs2eWU6NGDSpWrMi3335L9+7dMTY2LjS2sAStYsWKytouoF9illdezZo1lc8NGjRg3759LFiwQCc5s7CwyHce6P5Q6DPIvjhf26fZ2trq1PVJ+szCefoeivraPE89TUxMnjlgVQghXnfy4vPSUeLkDHJbzyIiIkhOTmby5MnKfg8PD/bu3Ut0dDTDhw8HoHHjxmRnZ3P79u18y208KSsri1OnTimtZBcvXuTevXvUqVOnwPjdu3dz//59Tp8+rfML98KFCwwZMoS7d+9SsWJFjI2NdV7XABS478KFC9y5c4f58+crLSRPzkqF3GRn3bp1ZGZmFtp6Zmtry9atW/H09GTAgAH88MMPRba0FZSgOTg4KMdtbGzYv3//MxOzwhgaGip99YXJG4yfmJiorAsTFxenE1PQM9P3a1scdevWJSoqimHDhin7jh07Rt26dYs8r0GDBhw8eFD5vnvZ9RRCCCFelBeyCK2XlxdRUVHExcUpLWeQm5ytWbOGR48eKeODXFxcGDJkCMOGDWPr1q1cvXqVmJgYFixYwO7du5VzjYyMGDt2LCdOnODnn39m+PDhtGzZssguze7du9OwYUPc3NyUrW/fvtjZ2SlNlc7Ozhw+fJjff/+dO3fuKPvS0tI4ePAgd+7c4cGDB1StWhVjY2NWrFjB//73P3bs2MHcuXN1rvn+++8rExVOnTrF5cuXWb9+fb6lKuzt7QkPD+fChQsMGjSowAkDT8pL0PLe6ZWcnMwHH3ygJGZ5s0KeRavVKoMnr169ytdff83evXvp1atXkefVrFkTJycnZs2axaVLl9i1axdLlizRiSnomen7tS2OyZMnExwczOrVq7l8+TJLly5l69atOmPkCjJz5kw2bdrEzJkzSUhIID4+noULFwL6fw8KIYTQVdoTAv6pXlhy9vDhQ2rWrKmzjoeHhwf379+nRo0aOuNzgoKCGDZsGBMnTqR27dr07NmTEydO6MSYm5szZcoUBg8eTKtWrTAzMytwUVmAW7dusWvXLvr27ZvvmEqlok+fPsqaZ3PmzOHatWvUqFFDaSFq3bo1o0aNYsCAAdjZ2bFw4ULs7OwIDg5WluaYP3++zqA/yO1uDA8PJy0tDQ8PD5o2bcqaNWsKbBnTaDSEh4cTHx/PkCFD8rU6Pe3JBO3gwYOkpqYWKzGD3HFRDg4OODg4ULduXZYsWaK8baAoRkZGbNq0iQsXLtCwYUMWLFigLE+Rp6BnBvp9bYujd+/eLF++nEWLFlGvXj2++uorgoKC8g0OfZqnpyc//vgjO3bsoFGjRnTo0IETJ04ox190PYUQ4p+gtJfS+KeSF5+XcTk5OYwbNw5/f/8XNnBflJy8+FwIUda9jBefn/35ZIlffO7WpPkLqdPr7IWMORMvj4GBgc5UXiGEEOJV0VKyrklt2Xyld5kjyZkQQggh9CKzNUuHpLBCCCGEEGWItJwJIYQQQi+5i9CWoFuzBAvY/pNIciaEEEIIvUi3ZumQ5EwIIcoIWyfNs4NK6M6NpJd+DSFEyUhyJoQQQgi9lPa7Nf+pJDkTQgghhF60WhVabQmSsxKc+08iyZkQQggh9GRQwrXKZJEIfchTEkIIIYQoQ6TlTAghhBB6kdmapUOSMyGEEELoRZKz0iHdmkIIIYQQZYi0nAkhhBBCL9JyVjqk5Uzoxd/fH5VKhUqlwsjIiOrVqzNp0iTS09Ofu8xZs2bRqFGjfPtPnz5Njx49sLe3x9TUFGdnZwYMGMCdO3dKcAdCCCFKKi85K8kmnk1azoTeunbtSlBQEJmZmRw5coS3336b9PR0Vq1aVaxytFot2dnZBR67ffs2nTp1wtfXl71791K+fHmuXr3Kjh07ePDgwYu4DSGEEKJMk5YzoTcTExM0Gg1OTk4MHjyYIUOGsG3bNjIyMhg3bpzS0tW2bVtiYmKU8yIiIlCpVOzduxd3d3dMTExYv349s2fP5pdfflFa5IKDgzl27Bipqal88803NG7cmGrVqtGhQweWLVtG1apVlTLPnTtH9+7dsba2xsrKinbt2nHlyhUAYmJi6Ny5M7a2tqjVajw8PPj555917kWlUvHNN9/wr3/9C3Nzc2rVqsWOHTtK50EKIcTfVN4itCXZxLNJciaem5mZGZmZmXz00Uds2bKFdevW8fPPP1OzZk28vb3566+/dOI/+ugjAgMDSUhIoEuXLkycOJF69eqRmJhIYmIiAwYMQKPRkJWVRWhoKFqttsDr/v7777Rv3x5TU1PCw8OJjY1lxIgRZGVlAXD//n3eeustjhw5QnR0NLVq1aJbt27cv39fp5zZs2fTv39/zpw5Q7du3RgyZEi+OufJyMggNTVVZxNCiH8a6dYsHZKciedy8uRJvv/+e7y8vFi1ahWLFi3Cx8cHV1dX1qxZg5mZGWvXrtU5Z86cOXTu3JkaNWpQuXJlLC0tKVeuHBqNBo1Gg5mZGS1btmTatGkMHjwYW1tbfHx8WLRoEbdu3VLK+fLLL1Gr1YSEhODu7o6LiwvDhw+ndu3aAHTo0IGhQ4dSt25d6taty1dffcWDBw+IjIzUqY+/vz+DBg2iZs2azJs3j/T0dE6ePFng/QYGBqJWq5XNycnpBT9RIYQQIpckZ0JvO3fuxNLSElNTU1q1akX79u0ZO3YsmZmZtGnTRokzMjKiefPmJCQk6Jzv7u6u13U+++wzkpKSWL16Na6urqxevZo6deoQHx8PQFxcHO3atcPIyKjA82/fvs2oUaNwcXFRkqm0tDSuX7+uE9egQQPl3xYWFlhZWXH79u0Cy5w6dSopKSnKduPGDb3uRQghXifSclY6JDkTevPy8iIuLo6LFy/y6NEjtm7dilqtBnLHcD1Jq9Xm22dhYaH3tSpWrEi/fv1YsmQJCQkJODo6snjxYiC3O7Uo/v7+xMbGsmzZMo4dO0ZcXBwVK1bk8ePHOnFPJ3cqlYqcnJwCyzQxMcHa2lpnE0KIfxpJzkqHJGdCbxYWFtSsWZM33nhDSWxq1qyJsbExUVFRSlxmZianTp2ibt26RZZnbGxc6KzNp+Nq1KihLNvRoEEDjhw5QmZmZoHxR44cYdy4cXTr1o169ephYmIiy3AIIcQLoKWEEwIkOdOLJGeiRCwsLHjvvfeYPHkyYWFhnD9/noCAAB48eMDIkSOLPNfZ2ZmrV68SFxfHnTt3yMjIYOfOnQwdOpSdO3dy6dIlLl68yOLFi9m9eze9evUC4P333yc1NZWBAwdy6tQpLl++zPr167l48SKQmzCuX7+ehIQETpw4wZAhQ57Z2iaEEEKUFbLOmSix+fPnk5OTg5+fH/fv38fd3Z29e/diY2NT5Hl9+/Zl69ateHl5ce/ePYKCgmjfvj3m5uZMnDiRGzduYGJiQq1atfjmm2/w8/MDcrs8w8PDmTx5Mh4eHhgaGtKoUSNl3Nu3337LO++8Q+PGjalatSrz5s1j0qRJL/05CCHE6y4HFTklaP0qybn/JCptYesVCCEKlZqailqtprn3LsoZ6T+WToii2DppXvo17txIeunXEGVDVmY6J/d2JyUlpcTjZPP+n3f45/9haWn13OWkpd2nfZPqL6ROrzPp1hRCCCGEKEOkW1MIIYQQeinpKv/yhgD9SHImhBBCCL1ooUQzLmUclX6kW1MIIYQQogyRljMhhBBC6EW6NUuHJGdCCFFGyExKUdaVdJV/WYRWP9KtKYQQQghRhkjLmRBCCCH0It2apUOSMyGEEELoRQvklPB88WzSrSmEEEIIUYZIciaEEEIIveR1a5ZkK47Dhw/j6+uLo6MjKpWKbdu26Rz39/dHpVLpbC1bttSJycjIYOzYsdja2mJhYUHPnj25efOmTkxycjJ+fn6o1WrUajV+fn7cu3dPJ+b69ev4+vpiYWGBra0t48aN4/Hjxzox8fHxeHh4YGZmRuXKlZkzZw7P85ZMSc6EEEIIoZe82Zol2YojPT2dhg0bsnLlykJjunbtSmJiorLt3r1b5/j48eMJDQ0lJCSEqKgo0tLS6NGjB9nZ2UrM4MGDiYuLIywsjLCwMOLi4vDz81OOZ2dn0717d9LT04mKiiIkJIQtW7YwceJEJSY1NZXOnTvj6OhITEwMK1asYPHixSxdurRY9wwy5kwIIYQQeirtCQE+Pj74+PgUGWNiYoJGoynwWEpKCmvXrmX9+vV06tQJgA0bNuDk5MSBAwfw9vYmISGBsLAwoqOjadGiBQBr1qyhVatWXLx4kdq1a7Nv3z7Onz/PjRs3cHR0BGDJkiX4+/vz2WefYW1tzcaNG3n06BHBwcGYmJjg5ubGpUuXWLp0KRMmTECl0v/epeVMCCGEEKUqNTVVZ8vIyHjusiIiIrC3t8fFxYWAgABu376tHIuNjSUzM5MuXboo+xwdHXFzc+PYsWMAHD9+HLVarSRmAC1btkStVuvEuLm5KYkZgLe3NxkZGcTGxioxHh4emJiY6MT88ccfXLt2rVj3JMnZa+b27du8++67VK1aVflrwtvbm+PHjwNw+vRpevTogb29Paampjg7OzNgwADu3LkDwLVr11CpVMTFxeUr29PTk/Hjxxd5fWdnZ6Xf39zcHDc3N7766iu96z9r1iwaNWqkd3ye4OBgypcvX+zzhBBC6O9FdWs6OTkp47vUajWBgYHPVR8fHx82btxIeHg4S5YsISYmhg4dOijJXlJSEsbGxtjY2OicV6lSJZKSkpQYe3v7fGXb29vrxFSqVEnnuI2NDcbGxkXG5H3Oi9GXdGu+Zvr27UtmZibr1q2jevXq3Lp1i4MHD/LXX39x+/ZtOnXqhK+vL3v37qV8+fJcvXqVHTt28ODBgxdWhzlz5hAQEEBaWhrBwcGMGjWK8uXLM2DAgBd2jZclOzsblUqFgYH83SKEEE/L0eZuJTkf4MaNG1hbWyv7n2xtKo4nf6+4ubnh7u7OG2+8wa5du+jTp0+h52m1Wp1uxoK6HF9ETN5kgOJ0aYK0nL1W7t27R1RUFAsWLMDLy4s33niD5s2bM3XqVLp3786xY8dITU3lm2++oXHjxlSrVo0OHTqwbNkyqlat+sLqYWVlhUajoWbNmnz66afUqlVLmWEzZcoUXFxcMDc3p3r16syYMYPMzEwgt/Vr9uzZ/PLLL0rrW3BwMABLly6lfv36WFhY4OTkxOjRo0lLSwNym7SHDx9OSkqKct6sWbOA3Bk4w4YNw8bGBnNzc3x8fLh8+bJS17wWt507d+Lq6oqJiQm//fbbC3sWQggh8rO2ttbZnjc5e5qDgwNvvPGG8v95jUbD48ePSU5O1om7ffu20qql0Wi4detWvrL+/PNPnZinW7+Sk5PJzMwsMiavi/XpFrVnkeTsNWJpaYmlpSXbtm0rsP9eo9GQlZVFaGjoc03tfV6mpqZKAmZlZUVwcDDnz59n+fLlrFmzhs8//xzI/Qto4sSJ1KtXT5l1k/dXkYGBAV988QVnz55l3bp1hIeH89FHHwHQunVrli1bhrW1tXLepEmTgNxp1qdOnWLHjh0cP34crVZLt27dlPoAPHjwgMDAQL755hvOnTtXYPN2RkZGvjESQgjxT1PaszWL6+7du9y4cQMHBwcAmjZtipGREfv371diEhMTOXv2LK1btwagVatWpKSkcPLkSSXmxIkTpKSk6MScPXuWxMREJWbfvn2YmJjQtGlTJebw4cM6y2vs27cPR0dHnJ2di3Ufkpy9RsqVK0dwcDDr1q2jfPnytGnThmnTpnHmzBkgd4DjtGnTGDx4MLa2tvj4+LBo0aIC/2Jo3bq1kuzlbUeOHClWfbKysggODiY+Pp6OHTsC8O9//5vWrVvj7OyMr68vEydO5IcffgDAzMwMS0tLypUrh0ajQaPRYGZmBuROhfby8lJa++bOnaucZ2xsjFqtRqVSKedZWlpy+fJlduzYwTfffEO7du1o2LAhGzdu5Pfff9dZKyczM5P//Oc/tG7dmtq1a2NhYZHvXgIDA3XGRzg5ORXrWQghxOugtNc5S0tLIy4uThkHffXqVeLi4rh+/TppaWlMmjSJ48ePc+3aNSIiIvD19cXW1pZ//etfAKjVakaOHMnEiRM5ePAgp0+fZujQodSvX1+ZvVm3bl26du1KQEAA0dHRREdHExAQQI8ePahduzYAXbp0wdXVFT8/P06fPs3BgweZNGkSAQEBSvfs4MGDMTExwd/fn7NnzxIaGsq8efOKPVMTJDl77fTt25c//viDHTt24O3tTUREBE2aNFG6Bz/77DOSkpJYvXo1rq6urF69mjp16hAfH69TzubNm5UfiLzN3d1dOT5v3jydxO369evKsSlTpmBpaYmZmRljxoxh8uTJvPvuuwD897//pW3btkoCNWPGDJ1zC3Po0CE6d+5M5cqVsbKyYtiwYdy9e5f09PRCz0lISKBcuXI6M3AqVqxI7dq1SUhIUPYZGxvToEGDIq8/depUUlJSlO3GjRvPrLMQQoiSOXXqFI0bN6Zx48YATJgwgcaNG/PJJ59gaGhIfHw8vXr1wsXFhbfeegsXFxeOHz+OlZWVUsbnn39O79696d+/P23atMHc3JyffvoJQ0NDJWbjxo3Ur1+fLl260KVLFxo0aMD69euV44aGhuzatQtTU1PatGlD//796d27N4sXL1Zi1Go1+/fv5+bNm7i7uzN69GgmTJjAhAkTin3fMiHgNWRqakrnzp3p3Lkzn3zyCW+//TYzZ87E398fyE1Q+vXrR79+/QgMDKRx48YsXryYdevWKWU4OTlRs2ZNnXLzWrEARo0aRf/+/ZXPT04vnjx5Mv7+/pibm+Pg4KD8xRAdHc3AgQOZPXs23t7eqNVqQkJCWLJkSZH389tvv9GtWzdGjRrF3LlzqVChAlFRUYwcOVKne/JphXXdPj2A08zM7Jl/1ZiYmLywMRFCCPF3pdXmbiU5vzg8PT2LHIazd+/eZ5ZhamrKihUrWLFiRaExFSpUYMOGDUWWU7VqVXbu3FlkTP369Tl8+PAz6/Qskpz9A7i6uuZ75UUeY2NjatSoUWQLVEEqVKhAhQoVCjxma2ubL7EDOHr0KG+88QbTp09X9j09+N7Y2Fhn1WbI/cspKyuLJUuWKLMo87o0izrP1dWVrKwsTpw4oYwbuHv3LpcuXaJu3bp63qkQQog8OajIKcG4sZKc+08iydlr5O7du/Tr148RI0bQoEEDrKysOHXqFAsXLqRXr17s3LmTkJAQBg4ciIuLC1qtlp9++ondu3cTFBT00utXs2ZNrl+/TkhICM2aNWPXrl2EhobqxDg7OytjCqpUqYKVlRU1atQgKyuLFStW4Ovry9GjR1m9enW+89LS0jh48CANGzbE3NycWrVq0atXLwICAvjqq6+wsrLi448/pnLlyvTq1eul368QQgjxPGTM2WvE0tKSFi1a8Pnnn9O+fXvc3NyYMWMGAQEBrFy5EldXV8zNzZk4cSKNGjWiZcuW/PDDD3zzzTc67xB7WXr16sWHH37I+++/T6NGjTh27BgzZszQienbty9du3bFy8sLOzs7Nm3aRKNGjVi6dCkLFizAzc2NjRs35luwsHXr1owaNYoBAwZgZ2fHwoULAQgKCqJp06b06NGDVq1aodVq2b17N0ZGRi/9foUQ4nVT2hMC/qlU2tJcU0GI10RqaipqtZrm3rsoZ5R/dqcQQrxqWZnpnNzbnZSUFJ0FX59H3v/zQqNuY2H5/GWlp6Xyr7b2L6ROrzNpORNCCCGEKENkzJkQQggh9FLShWRf9iK0rwtJzoQQQgihlxf1bk1RNEnOhBBCCKGfkg7qlwkBepExZ0IIIYQQZYi0nAkhhBBCL6X9hoB/KknOhBBCCKEXeUNA6ZBuTSGEEEKIMkRazoQQQgihF+nWLB2SnAkhhBBCLyV9BZO8vkk/0q0phBBCCFGGSMuZEEIIIfQii9CWDknOhBBCCKEXGXNWOqRb8zXm7++PSqUq9hYcHExERITOPjs7O3x8fPjll18Kvd61a9d0zrGxsaF9+/ZERkbqXWdPT0/Gjx//XPfau3fvYp8nhBBClDWSnL3munbtSmJiorL99ttv3Lx5U/ncv3//fDEDBgxQzr948SKJiYns2rWL5ORkunbtSkpKSpHXPHDgAImJiURGRmJtbU23bt24evXqy77VF+Lx48evugpCCFFm5b34vCSbeDZJzl5zJiYmaDQaZatatSqVK1dWPpuZmeWLMTMzU863t7dHo9HQvHlzlixZQlJSEtHR0UVes2LFimg0Gho0aMBXX33FgwcP2LdvH3fv3mXQoEFUqVIFc3Nz6tevz6ZNm5Tz/P39iYyMZPny5Urr27Vr18jOzmbkyJFUq1YNMzMzateuzfLly5XzZs2axbp169i+fbtyXkREBADx8fF06NABMzMzKlasyDvvvENaWprONXv37k1gYCCOjo64uLi8oCcvhBCvnxz+b9zZc22v+gb+JmTMmdBbXtKWmZmp9znm5ubKOY8ePaJp06ZMmTIFa2trdu3ahZ+fH9WrV6dFixYsX76cS5cu4ebmxpw5cwCws7MjJyeHKlWq8MMPP2Bra8uxY8d45513cHBwoH///kyaNImEhARSU1MJCgoCoEKFCjx48ICuXbvSsmVLYmJiuH37Nm+//Tbvv/8+wcHBSh0PHjyItbU1+/fvRysDIoQQQrxikpy95nbu3ImlpaXy2cfHhx9//LHY5dy9e5fZs2djZWVF8+bN9TonPT2dqVOnYmhoiIeHB5UrV2bSpEnK8bFjxxIWFsaPP/5IixYtUKvVGBsbY25ujkajUeIMDQ2ZPXu28rlatWocO3aMH374gf79+2NpaYmZmRkZGRk6561bt46HDx/y3XffYWFhAcDKlSvx9fVlwYIFVKpUCQALCwu++eYbjI2NC72XjIwMMjIylM+pqal6PQMhhHidyISA0iHJ2WvOy8uLVatWKZ/zkhR9ValSBchNtGrVqsWPP/6Ivb09Pj4+HDlyBIA33niDc+fOKee0bt0aAwMDHjx4gIODA8HBwdSvX5/s7Gzmz5/P5s2b+f3335WER586rV69mm+++YbffvuNhw8f8vjxYxo1alTkOQkJCTRs2FCn/DZt2pCTk8PFixeV5Kx+/fpFJmYAgYGBOgmiEEL8E0lyVjokOXvNWVhYULNmzec+/8iRI1hbW2NnZ4e1tbWy/5tvvuHhw4cAGBkZ6ZyzefNmXF1dKV++PBUrVlT2L1myhM8//5xly5ZRv359LCwsGD9+/DMH4f/www98+OGHLFmyhFatWmFlZcWiRYs4ceJEkedptVpUqoIHnz65X5/kcOrUqUyYMEH5nJqaipOT0zPPE0KI10mOVkVOCVb5L8m5/ySSnIkiVatWjfLly+fbX7ly5ULPcXJyokaNGvn2HzlyhF69ejF06FAAcnJyuHz5MnXr1lVijI2Nyc7Oznde69atGT16tLLvypUrOjEFnefq6sq6detIT09XErCjR49iYGBQ7IH/JiYmmJiYFOscIYQQ4nnIbE1RamrWrMn+/fs5duwYCQkJvPvuuyQlJenEODs7c+LECa5du8adO3fIycmhZs2anDp1ir1793Lp0iVmzJhBTExMvvPOnDnDxYsXuXPnDpmZmQwZMgRTU1Peeustzp49y6FDhxg7dix+fn5Kl6YQQgj95XVrlmQTzybJmSg1M2bMoEmTJnh7e+Pp6YlGo8m3cOykSZMwNDTE1dUVOzs7rl+/zqhRo+jTpw8DBgygRYsW3L17V6cVDSAgIIDatWvj7u6OnZ0dR48exdzcnL179/LXX3/RrFkz3nzzTTp27MjKlStL8a6FEOL1IclZ6VBpZe0AIYotNTUVtVpNc+9dlDMq3iQLIYQoDVmZ6Zzc252UlBSdMcPPI+//eWvC7mFu8fxlPUhPJaBr+RdSp9eZjDkTQgghhF60JXzxuTQH6UeSMyGEEELoRatVoS3BjMuSnPtPImPOhBBCCCHKEGk5E0IIIYReZBHa0iHJmRBCCCH0klPCMWclOfefRJIzIYQQfysONV/+2zkSf73x0q9hZFL0a+NKSmWQ+VLLFy+PJGdCCCGE0It0a5YOSc6EEEIIoRdJzkqHzNYUQgghhChDpOVMCCGEEHqRCQGlQ5IzIYQQQuhFujVLhyRnQgghhNBLTk7uVpLzxbPJmDMhhBBClEmHDx/G19cXR0dHVCoV27Zt0zmu1WqZNWsWjo6OmJmZ4enpyblz53RiMjIyGDt2LLa2tlhYWNCzZ09u3rypE5OcnIyfnx9qtRq1Wo2fnx/37t3Tibl+/Tq+vr5YWFhga2vLuHHjePz4sU5MfHw8Hh4emJmZUblyZebMmYP2OZoLJTkT/wgRERGoVCrlhy04OJjy5cu/0joJIcTfTV63Zkm24khPT6dhw4asXLmywOMLFy5k6dKlrFy5kpiYGDQaDZ07d+b+/ftKzPjx4wkNDSUkJISoqCjS0tLo0aMH2dnZSszgwYOJi4sjLCyMsLAw4uLi8PPzU45nZ2fTvXt30tPTiYqKIiQkhC1btjBx4kQlJjU1lc6dO+Po6EhMTAwrVqxg8eLFLF26tHg3jSRnogj+/v6oVCpUKhVGRkZUqlSJzp078+2335JTzLbp7OxsAgMDqVOnDmZmZlSoUIGWLVsSFBRU6DlPJ1RPcnZ2ZtmyZcW8IyGEECVR2smZj48Pn376KX369CmgLlqWLVvG9OnT6dOnD25ubqxbt44HDx7w/fffA5CSksLatWtZsmQJnTp1onHjxmzYsIH4+HgOHDgAQEJCAmFhYXzzzTe0atWKVq1asWbNGnbu3MnFixcB2LdvH+fPn2fDhg00btyYTp06sWTJEtasWUNqaioAGzdu5NGjRwQHB+Pm5kafPn2YNm0aS5cuLXbrmSRnokhdu3YlMTGRa9eusWfPHry8vPjggw/o0aMHWVlZepcza9Ysli1bxty5czl//jyHDh0iICCA5OTkl1h7IYQQZVFqaqrOlpGRUewyrl69SlJSEl26dFH2mZiY4OHhwbFjxwCIjY0lMzNTJ8bR0RE3Nzcl5vjx46jValq0aKHEtGzZErVarRPj5uaGo6OjEuPt7U1GRgaxsbFKjIeHByYmJjoxf/zxB9euXSvWvUlyJopkYmKCRqOhcuXKNGnShGnTprF9+3b27NlDcHCwEnf9+nV69eqFpaUl1tbW9O/fn1u3binHf/rpJ0aPHk2/fv2oVq0aDRs2ZOTIkUyYMKHEdbx27RoqlYq4uDhl371791CpVEREROhVxt27d2nevDk9e/bk0aNHJa6TEEK8jnL4v+U0nmv7f+3da1RU19kH8P8AMiMXB9DAgBmFFhVRsAaiIIkXigNWbIgmGG1REiTNa2OkeGlJrBAXik2jUnUlq1FT8ZLqyqrWW2RBtJr4Eo1xiUpkaV6rBQ0jxMtwMRkuc94PlhOH62HOMIzw/621P3DmOWfvzZLxOXvvs89/r6PVasX1XWq1Gjk5OV1ui16vBwD4+PiYHffx8RE/0+v1cHZ2hqenZ4cx3t7era7v7e1tFtOyHk9PTzg7O3cY0/xzc4xUTM6oy6KjozFmzBjs27cPwMOh5YSEBNy9excnT55EYWEhrl27htmzZ4vnaDQaHD9+HFVVVT3V7HbdvHkTzz77LIKCgrBv3z6oVKpWMUajsdWdHhFRXyMIguwCAOXl5TAYDGLJyMiwuE0KhaJVG1sea6sfj8a0FW+NmOb+dtaelpickUWCgoLEYdpPP/0UFy9exEcffYSwsDCMHz8eO3fuxMmTJ3H27FkAwPr161FVVQWNRoPQ0FC89tprOHr0qKS6nnzySbi5uZmVsrIyq/Tj6tWriIqKQkxMDPLy8uDk1PbuMjk5OWZ3eVpt9794mYiotxowYIBZeXQqUCqNRgOg9ahUZWWlOGKl0WhQX1/faglNy5hHZ3qaVVVVmcW0rOfevXtoaGjoMKayshJA69G9zjA5I4s8erdQWloKrVZrlrAEBwfDw8MDpaWl4s8lJSU4ffo0Xn75Zdy+fRszZszAggULOq3r888/R3FxsVl5dN7fUt9//z2eeeYZJCQkYOPGjR3e2WRkZJjd5ZWXl8uun4jocWPrBwI6EhAQAI1Gg8LCQvFYfX09Tp48iQkTJgAAwsLC0K9fP7OYiooKlJSUiDGRkZEwGAz48ssvxZgzZ87AYDCYxZSUlKCiokKMKSgogFKpRFhYmBjz2WefmW2vUVBQAD8/P/j7+3epb0zOyCKlpaUICAgA0P4QcsvjDg4OePrpp/G73/0O+/fvx/bt27Ft2zZcv369w7oCAgIQGBhoVh4d4XJwcBDra9bQ0NBpH5RKJWJiYnDkyJFWe960FdvyTo+IqK8RTD9uRGtJEbq4CW1tba14Uw48fAiguLgYZWVlUCgUSEtLw5o1a7B//36UlJQgOTkZLi4umDt3LgBArVYjJSUFS5YswbFjx3D+/Hn8+te/RkhICGJiYgAAI0eORFxcHFJTU3H69GmcPn0aqampiI+Px4gRIwAAOp0OwcHBSEpKwvnz53Hs2DEsXboUqamp4v8Hc+fOhVKpRHJyMkpKSrB//36sWbMG6enpnNak7nf8+HFcunQJs2bNAvBwVKysrMxsNOny5cswGAwYOXJku9cJDg4G8HAfGzmeeOIJADC7o3n04YD2ODg4YOfOnQgLC0N0dDS+/fZbWe0gIiLr+uqrrzB27FiMHTsWAJCeno6xY8di5cqVAIDly5cjLS0NCxcuRHh4OG7duoWCggK4u7uL19iwYQMSEhKQmJiIqKgouLi44NChQ3B0dBRjdu/ejZCQEOh0Ouh0OoSGhmLnzp3i546Ojjhy5AhUKhWioqKQmJiIhIQEvPvuu2KMWq1GYWEhbt68ifDwcCxcuBDp6ekWPfjG1zdRh4xGI/R6PZqamnD79m3k5+cjJycH8fHxmDdvHgAgJiYGoaGh+NWvfoXc3Fw0NjZi4cKFmDRpEsLDwwEAL7zwAqKiojBhwgRoNBpcv34dGRkZGD58OIKCgmS1sX///oiIiMDatWvh7++P7777DitWrJB0rqOjI3bv3o05c+YgOjoaJ06cENcxEBGROVu/W3Py5Mkd7hGmUCiQlZWFrKysdmNUKhU2bdqETZs2tRvj5eWFXbt2ddiWIUOG4PDhwx3GhISE4LPPPuswRgqOnFGH8vPz4evrC39/f8TFxeFf//oXNm7ciAMHDoh3Hc2v1PD09MTEiRMRExODn/zkJ9i7d694ndjYWBw6dAgzZszA8OHDMX/+fAQFBaGgoKDdRfhd8eGHH6KhoQHh4eFYvHgxsrOzJZ/r5OSEv//97xg1ahSio6PFBZxERGRO1jYa/y3UOYVgyUufiPq46upqqNVqjIs9Aqd+rj3dHKI+xTew+5+Wrvi/7n/op5/SuVuv39hQh/89OBUGg0H2Otnm77zVH92HysXya/3woBpvzfWwSpt6M05rEhERkSS2ntbsq5icERERkSSCSYAgY25Szrl9CZMzIiIikkTuujHmZtLwgQAiIiIiO8KRMyIiIpKEa85sg8kZERE9VmzxJKWr2r3zIJkajPWdB8nQ1V3ppTCZBJhkzE3KObcv4bQmERERkR3hyBkRERFJwmlN22ByRkRERJIwObMNTmsSERER2RGOnBEREZEkJkGAScbwl5xz+xImZ0RERCSJYHpY5JxPneO0JhEREZEd4cgZERERSSJAgCBjalIApzWl4MgZ9ajk5GQoFAooFAr069cPPj4+mDp1Kj788EOYTD+Of/v7+4tx/fv3h7+/PxITE3H8+PEu11lZWYnf/OY3GDJkCJRKJTQaDWJjY/HFF19Ys2tERL2OYAJMMgqnNaVhckY9Li4uDhUVFbhx4waOHj2KKVOmYPHixYiPj0djY6MYt2rVKlRUVODKlSvYsWMHPDw8EBMTg9WrV3epvlmzZuHChQvIy8vD1atXcfDgQUyePBl37961dteIiHoVQRBkF+ocpzWpxzWPXgHA4MGD8dRTTyEiIgI///nPsX37dixYsAAA4O7uLsYNGTIEEydOhK+vL1auXIkXXngBI0aMAACcPHkSy5Ytw4ULF+Dl5YX58+cjOzsbTk5OuH//Pk6dOoUTJ05g0qRJAIChQ4di3LhxPdBzIiKi1jhyRnYpOjoaY8aMwb59+zqMW7x4MQRBwIEDBwAAt27dwi9+8Qs8/fTTuHDhAt5//31s27YN2dnZAAA3Nze4ubnhn//8J4xGo+T2GI1GVFdXmxUior7GJMgv1DkmZ2S3goKCcOPGjQ5jvLy84O3tLca999570Gq12Lx5M4KCgpCQkIC3334b69atg8lkgpOTE7Zv3468vDx4eHggKioKb775Ji5evNhhPTk5OVCr1WLRarVW6iUR0eNDMAmyC3WOyRnZLUEQoFAouhRXWlqKyMhIs/OioqJQW1uLmzdvAni45uzbb7/FwYMHERsbixMnTuCpp57C9u3b260jIyMDBoNBLOXl5fI6R0RE1A4mZ2S3SktLERAQ0GHMnTt3UFVVJca1ldA1L0B99LhKpcLUqVOxcuVKFBUVITk5GZmZme3Wo1QqMWDAALNCRNTXNL9bU06hzjE5I7t0/PhxXLp0CbNmzeow7i9/+QscHByQkJAAAAgODkZRUZHZE0FFRUVwd3fH4MGD271OcHAw6urqrNJ2IqLeymQSZBfqHJ/WpB5nNBqh1+vR1NSE27dvIz8/Hzk5OYiPj8e8efPEuJqaGuj1ejQ0NOD69evYtWsXtm7dipycHAQGBgIAFi5ciNzcXCxatAivv/46rly5gszMTKSnp8PBwQF37tzBiy++iFdeeQWhoaFwd3fHV199hXfeeQfPPfdcT/0KiIiIREzOqMfl5+fD19cXTk5O8PT0xJgxY7Bx40bMnz8fDg4/Du6uXLkSK1euhLOzMzQaDSIiInDs2DFMmTJFjBk8eDA++eQTLFu2DGPGjIGXlxdSUlKwYsUKAA+f1hw/fjw2bNiAa9euoaGhAVqtFqmpqXjzzTdt3ncioseJ3L3KuM+ZNAqBvymiLquuroZarca42CNw6ufa080hIitzVbt3ex0NxvpuvX5jQx1OHYiBwWCQvU62+TvvjfV6KPtbfi3j99XYmK6xSpt6M645IyIiIrIjnNYkIiIiSUyCAJOMCTc55/YlTM6IiIhIEq45sw1OaxIRERHZEY6cERERkSRy9yrjPmfSMDkjIqLHipTXuslVZ6jp9joyjr7ardd/IDThlJWvKXeXf85qSsPkjIiIiCQRBHkvL+eaM2m45oyIiIjIjnDkjIiIiCQRZG6lwZEzaZicERERkSSCSea0Jh8IkITTmkRERER2hCNnREREJAlHzmyDI2dEREQkiUmQX7oiKysLCoXCrGg0GvFzQRCQlZUFPz8/9O/fH5MnT8bXX39tdg2j0YhFixZh0KBBcHV1xS9/+UvcvHnTLObevXtISkqCWq2GWq1GUlIS7t+/bxZTVlaGGTNmwNXVFYMGDcIbb7yB+vrueXk9kzMiIiKyW6NGjUJFRYVYLl26JH72zjvvYP369di8eTPOnj0LjUaDqVOnoqbmx33q0tLSsH//fuzZswenTp1CbW0t4uPj0dTUJMbMnTsXxcXFyM/PR35+PoqLi5GUlCR+3tTUhOnTp6Ourg6nTp3Cnj178I9//ANLlizplj4zOSPZkpOTze5qBg4ciLi4OFy8eFGMaXnn01z27NkDADhx4gQUCgVGjx5t9gcDAB4eHti+fbv4s7+/P3Jzc81izp8/j9mzZ8PX1xdKpRJDhw5FfHw8Dh06JD4ddOPGDSgUCnh7e5v94QLAz372M2RlZVnvl0JE1As1T2vKKV3l5OQEjUYjlieeeOJhWwQBubm5eOuttzBz5kyMHj0aeXl5ePDgAT766CMAgMFgwLZt27Bu3TrExMRg7Nix2LVrFy5duoRPP/0UAFBaWor8/Hxs3boVkZGRiIyMxJYtW3D48GFcuXIFAFBQUIDLly9j165dGDt2LGJiYrBu3Tps2bIF1dXVVvrt/ojJGVlFXFyceFdz7NgxODk5IT4+3izmb3/7m9ndT0VFBRISEsxirl27hh07dnSp7gMHDiAiIgK1tbXIy8vD5cuX8fHHHyMhIQErVqyAwWAwi6+pqcG7775rUT+JiPqy5hefyyld9c0338DPzw8BAQF46aWX8O9//xsAcP36dej1euh0OjFWqVRi0qRJKCoqAgCcO3cODQ0NZjF+fn4YPXq0GPPFF19ArVZj/PjxYkxERATUarVZzOjRo+Hn5yfGxMbGwmg04ty5c13uU2f4QABZhVKpFNcBaDQa/P73v8fEiRNRVVUl3uV4eHiYrRVoy6JFi5CZmYk5c+ZApVJ1Wm9dXR1SUlIwffp07Nu3Tzz+05/+FOPGjcOCBQtafRksWrQI69evx29/+1t4e3t3tatERCRTy9EmpVIJpVLZKm78+PHYsWMHhg8fjtu3byM7OxsTJkzA119/Db1eDwDw8fExO8fHxwf/+c9/AAB6vR7Ozs7w9PRsFdN8vl6vb/P/Am9vb7OYlvV4enrC2dlZjLEmjpyR1dXW1mL37t0IDAzEwIEDu3RuWloaGhsbsXnzZknxBQUFuHPnDpYvX95uTMv38M2ZMweBgYFYtWqV5HYZjUZUV1ebFSKivsZk+vHl55aVh9fRarXi4nu1Wo2cnJw265s2bRpmzZqFkJAQxMTE4MiRIwCAvLw8Mabld7wgCJ2+f7VlTFvxlsRYC5MzsorDhw/Dzc0Nbm5ucHd3x8GDB7F37144OPz4T2zOnDliTHNpHp5u5uLigszMTOTk5LSajmzL1atXAQAjRowQj509e9asjsOHD5udo1AosHbtWnzwwQe4du2apP7l5OSYfZFotVpJ5xER9SbWmtYsLy+HwWAQS0ZGhqT6XV1dERISgm+++UaciWk5clVZWSmOcmk0GtTX1+PevXsdxty+fbtVXVVVVWYxLeu5d+8eGhoaWo2oWQOTM7KKKVOmoLi4GMXFxThz5gx0Oh2mTZsmDi0DwIYNG8SY5tJWkpOSkoJBgwbhT3/6k0VtCQ0NFa9fV1eHxsbGVjGxsbF45pln8Mc//lHSNTMyMsy+SMrLyy1qGxERAQMGDDArbU1ptsVoNKK0tBS+vr4ICAiARqNBYWGh+Hl9fT1OnjyJCRMmAADCwsLQr18/s5iKigqUlJSIMZGRkTAYDPjyyy/FmDNnzsBgMJjFlJSUoKKiQowpKCiAUqlEWFiY5b+IdnDNGVmFq6srAgMDxZ/DwsKgVquxZcsWZGdnA3h45/FoTHucnJyQnZ2N5ORkvP766x3GDhs2DABw5coVREREAHi4dkFKPWvXrkVkZCSWLVvWaWx76yGIiPoSW29Cu3TpUsyYMQNDhgxBZWUlsrOzUV1djfnz50OhUCAtLQ1r1qzBsGHDMGzYMKxZswYuLi6YO3cuAECtViMlJQVLlizBwIED4eXlhaVLl4rTpAAwcuRIxMXFITU1FX/9618BAK+++iri4+PFWRmdTofg4GAkJSXhz3/+M+7evYulS5ciNTUVAwYMsPj30R6OnFG3UCgUcHBwwPfff2/R+S+++CJGjRqFt99+u8M4nU4HLy8vi0bZxo0bh5kzZ+IPf/iDRW0kIuprbL2Vxs2bNzFnzhyMGDECM2fOhLOzM06fPo2hQ4cCAJYvX460tDQsXLgQ4eHhuHXrFgoKCuDu7i5eY8OGDUhISEBiYiKioqLg4uKCQ4cOwdHRUYzZvXs3QkJCoNPpoNPpEBoaip07d4qfOzo64siRI1CpVIiKikJiYiISEhK67cl/jpyRVRiNRnE+/t69e9i8eTNqa2sxY8YMMeb+/fut5uzd3d3h6ura5jXXrl2L2NjYDut1c3PD1q1bMXv2bEyfPh1vvPEGhg0bhtraWuTn5wOA2R9gS6tXr8aoUaPg5MQ/BSKizpggwGTBdhiPnt8VzXthtkehUCArK6vDfSpVKhU2bdqETZs2tRvj5eWFXbt2dVjXkCFDWq1h7i4cOSOryM/Ph6+vL3x9fTF+/HicPXsWH3/8MSZPnizGvPzyy2JMc+nojyU6OhrR0dFtrhl71PPPP4+ioiK4uLhg3rx5GDFiBKKjo3H8+HHs2bOn1X5rjxo+fDheeeUV/PDDD13uMxERUXdQCJbsCEfUx1VXV0OtVmNc7BE49Wt75I+Iukd3bF3Qki3+a8w4+mq3Xv+B0ITZpmswGAyy10U1f+e9tPwqnJXunZ/QjnpjDfa8M9wqberNOJdDREREkli6y/+j51PnOK1JREREZEc4ckZERESSCP/d6V/O+dQ5JmdEREQkia33OeurmJwRWaB53URT44MebglR39NbHgh4IDR18/UfvsiS67weP0zOiCxQU1MDADh37MUebgkRPa5m26iempoaqNVqq1yLDwTYBpMzIgv4+fmhvLwc7u7uku/iq6urodVqUV5e/tg+Qt4b+gCwH/akN/QBsM9+CIKAmpoa+Pn5We+aJhMEk0nW+dQ5JmdEFnBwcMCTTz5p0bnNL/p9nPWGPgDshz3pDX0A7K8f1hoxI9tickZERESSmGQ+rSnn3L6EyRkRERFJwjVntsFNaIlsRKlUIjMzE0qlsqebYrHe0AeA/bAnvaEPQO/pB9kHvluTiIiIOtT8bs3n/ucC+sl4t2aDsQYH3h/Dd2t2gtOaREREJAk3obUNJmdEREQkiQkmmATLt8MwgVtpSME1Z0RERER2hCNnREREJIlgkjc1KWPQrU9hckZERESScM2ZbXBak4iIiMiOcOSMiIiIJOEmtLbB5IyIiIgkMZlMMMl4ebmcc/sSTmsSERER2RGOnBEREZEkfCDANpicERERkSSCYIIgYz8MOef2JZzWJCIiIrIjHDkjIiIiSTitaRtMzoiIiEgamckZmJxJwmlNIiIiIjvCkTMiIiKSxCSYYJKxqF/OuX0JkzMiIiKShGvObIPJGREREUkiCCYIMnb551Ya0nDNGREREZEd4cgZERERScJpTdtgckZERESS8A0BtsFpTSIiIiI7wpEzIiIiksRkAkwypiZlPEvQpzA5IyIiIkkEk8ynNZmdScJpTSIiIiI7wpEzIiIikoRPa9oGR86IiIhIkuanNeUUS7z33nsICAiASqVCWFgYPv/8cyv3zL4wOSMiIiK7tXfvXqSlpeGtt97C+fPn8eyzz2LatGkoKyvr6aZ1GyZnREREJEnztKac0lXr169HSkoKFixYgJEjRyI3NxdarRbvv/9+N/TQPjA5IyIiIkman9aUU7qivr4e586dg06nMzuu0+lQVFRkza7ZFT4QQERERJI0NdZZ5fzq6mqz40qlEkqlslX8d999h6amJvj4+Jgd9/HxgV6vl9UWe8bkjIiIiDrk7OwMjUaDr44lyr6Wm5sbtFqt2bHMzExkZWW1e45CoTD7WRCEVsd6EyZnRERE1CGVSoXr16+jvr5e9rXaSqzaGjUDgEGDBsHR0bHVKFllZWWr0bTehMkZERERdUqlUkGlUtm0TmdnZ4SFhaGwsBDPP/+8eLywsBDPPfecTdtiS0zOiIiIyG6lp6cjKSkJ4eHhiIyMxAcffICysjK89tprPd20bsPkjIiIiOzW7NmzcefOHaxatQoVFRUYPXo0PvnkEwwdOrSnm9ZtFIIg8F0KRERERHaC+5wRERER2REmZ0RERER2hMkZERERkR1hckZERERkR5icEREREdkRJmdEREREdoTJGREREZEdYXJGREREZEeYnBERERHZESZnRERERHaEyRkRERGRHWFyRkRERGRH/h/+TpjvcCAzTQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cross_validate(clf, tot_df, n_splits=5)" ] }, { "cell_type": "code", "execution_count": 103, "id": "756dafc6-4971-4ffe-b6de-b93cf55ceed9", "metadata": {}, "outputs": [], "source": [ "clf2 = RandomForestClassifier(n_estimators=150)" ] }, { "cell_type": "code", "execution_count": 11, "id": "a2ce315f-b1a6-43bd-b1bc-1fd9c59a26fc", "metadata": {}, "outputs": [], "source": [ "ctrain_df=cleanNums(train_df)\n", "ctest_df=cleanNums(train_df)" ] }, { "cell_type": "code", "execution_count": 12, "id": "08fc340e-9efe-498d-ab22-408bb38d43aa", "metadata": {}, "outputs": [], "source": [ "def preprocess(df, label_col):\n", " df = cleanNums(df)\n", " \n", " # Extract feature and label data\n", " X = df.drop(columns=[label_col])\n", " y = df[label_col]\n", "\n", " return X, y" ] }, { "cell_type": "code", "execution_count": 13, "id": "ba05bbde-6897-4b26-967d-f834c60205d2", "metadata": {}, "outputs": [], "source": [ "split_train = preprocess(ctrain_df, \" Label\")\n", "split_test = preprocess(ctest_df, \" Label\")" ] }, { "cell_type": "code", "execution_count": 108, "id": "f6f1d3ea-f13d-4d3b-8ee1-54a89d7692ba", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
RandomForestClassifier(n_estimators=150)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "RandomForestClassifier(n_estimators=150)" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf2.fit(*split_train)" ] }, { "cell_type": "code", "execution_count": 111, "id": "47c1341f-07e9-4fcd-98ec-ff89efa941a1", "metadata": {}, "outputs": [], "source": [ "y_pred = clf2.predict(split_test[0])" ] }, { "cell_type": "code", "execution_count": 113, "id": "eb1b2ab8-114c-4ce2-bf35-51f7b136b87a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.9997750346844904\n", "Precision: 0.9997754745331617\n", "Recall: 0.9997750346844904\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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lHHcuXOHfv36YWNjg6mpKTVr1lRm5XIboxBCiFzIspoorDZt2lCvXj02bdoEPP7F3bVrV/777z8OHTrEvn37uHjxIv7+/kodtVpNREQE//77r879qNVqTpw4wZUrV3Su88EHH/Djjz+yatUqfv31V5ycnPDx8eG///4DwMvLSwlGNBoNR44coXz58hw9ehSAgwcPolarcXFxUdqcN28eHh4exMbGEhgYyLvvvssff/wBwC+//ALA/v37SUxMZNOmTUyYMIFevXrRsWNHEhMTSUxMpHnz5kp7EydOZPz48cTGxtK8eXPeeustbt++jb29PT/++CMA586dIzExkQULFgDw8ccfExYWxpIlSzhz5gxjx46lf//+HDp0CIApU6Zw9uxZfvrpJ+Lj41myZAnW1tZ5jvFpaWlpJCcnayUhhBCvJgmOnhNXV1cuX74MPP6le+rUKb777jvc3d1p0qQJa9as4dChQ8qszfz58/n3339Rq9XUrVuXESNG8NNPP+Xbx7Rp0yhXrhwODg64uLgQEBDAxo0b89zvlJqaypIlS/j888/x9fXFzc2Nb775BlNTU1asWAE8Do6OHDlCVlYWp06dQl9fnwEDBigBU2RkJJ6enlrtdurUicDAQJycnJg0aRLW1tZKeRsbGwCsrKxQq9VUqFABMzMzTE1NlVk3tVqNkZGR0t57771H9+7dqVWrFkuWLMHS0pIVK1agr69PhQoVALC1tUWtVmNpaUlqairz589n5cqV+Pj4UL16dQICAujfvz9ff/018HjmrkGDBnh4eODg4EC7du3w8/PLc4xPCwkJwdLSUkn29vb5fm2EEOKVpFL976yjQiWZOXqtaTQaVP//myA+Ph57e3utX6hubm6UK1eO+Ph45fXvv//OiRMnGDx4MDdu3MDPz49hw4bl2YednR0///wzp0+fZtSoUaSnpzNo0CA6duyYa4B08eJF0tPTadGihZJnaGhI48aNlXG0bt2ae/fuERsby6FDh/D09MTb21uZgcktOKpbt67y/yqVCrVazc2bNwv6kSmaNWum/L+BgQEeHh7K+HJz9uxZHj58SPv27TEzM1PS6tWruXjxIgDvvvsu69evp379+nzwwQccP368QGMKCgoiKSlJSVevXi3cxQkhRCmWfUJ2UVJpIBuyn5P4+HhlL8uTgdKTns7X09OjUaNGNGrUiLFj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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_metrics((split_test[1],y_pred))" ] }, { "cell_type": "code", "execution_count": 115, "id": "4986322c-6eea-4b92-b6a7-bf69372449a0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Collecting xgboost\n", " Downloading xgboost-1.7.6-py3-none-manylinux2014_x86_64.whl (200.3 MB)\n", "\u001b[2K \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m200.3/200.3 MB\u001b[0m \u001b[31m2.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0mm eta \u001b[36m0:00:01\u001b[0m[36m0:00:01\u001b[0m\n", "\u001b[?25hRequirement already satisfied: numpy in /mnt/fdbd0f14-dc7f-4c3c-85a2-7e247245789d/nithin/nithin/anaconda3/lib/python3.10/site-packages (from xgboost) (1.22.3)\n", "Requirement already satisfied: scipy in /mnt/fdbd0f14-dc7f-4c3c-85a2-7e247245789d/nithin/nithin/anaconda3/lib/python3.10/site-packages (from xgboost) (1.11.1)\n", "Installing collected packages: xgboost\n", "Successfully installed xgboost-1.7.6\n" ] } ], "source": [ "!pip install xgboost" ] }, { "cell_type": "code", "execution_count": 116, "id": "6a4d4af7-6b12-44fc-8daf-7b822180a530", "metadata": {}, "outputs": [], "source": [ "import xgboost as xgb" ] }, { "cell_type": "code", "execution_count": 14, "id": "94bcd771-19dc-44f5-8208-225beb703af7", "metadata": {}, "outputs": [], "source": [ "from sklearn.preprocessing import LabelEncoder\n", "label_encoder = LabelEncoder()\n", "y_train_enc = label_encoder.fit_transform(split_train[1])\n", "y_test_enc = label_encoder.transform(split_test[1])" ] }, { "cell_type": "code", "execution_count": 126, "id": "cd3b2f92-3938-4772-b32d-5a89102f2e9e", "metadata": {}, "outputs": [], "source": [ "clf3 = xgb.XGBClassifier(objective='multi:softprob',eval_metric='mlogloss', n_estimators=150)\n" ] }, { "cell_type": "code", "execution_count": 127, "id": "94a9098c-9649-4e8a-81d2-7817ae46b11e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
XGBClassifier(base_score=None, booster=None, callbacks=None,\n",
       "              colsample_bylevel=None, colsample_bynode=None,\n",
       "              colsample_bytree=None, early_stopping_rounds=None,\n",
       "              enable_categorical=False, eval_metric='mlogloss',\n",
       "              feature_types=None, gamma=None, gpu_id=None, grow_policy=None,\n",
       "              importance_type=None, interaction_constraints=None,\n",
       "              learning_rate=None, max_bin=None, max_cat_threshold=None,\n",
       "              max_cat_to_onehot=None, max_delta_step=None, max_depth=None,\n",
       "              max_leaves=None, min_child_weight=None, missing=nan,\n",
       "              monotone_constraints=None, n_estimators=150, n_jobs=None,\n",
       "              num_parallel_tree=None, objective='multi:softprob',\n",
       "              predictor=None, ...)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "XGBClassifier(base_score=None, booster=None, callbacks=None,\n", " colsample_bylevel=None, colsample_bynode=None,\n", " colsample_bytree=None, early_stopping_rounds=None,\n", " enable_categorical=False, eval_metric='mlogloss',\n", " feature_types=None, gamma=None, gpu_id=None, grow_policy=None,\n", " importance_type=None, interaction_constraints=None,\n", " learning_rate=None, max_bin=None, max_cat_threshold=None,\n", " max_cat_to_onehot=None, max_delta_step=None, max_depth=None,\n", " max_leaves=None, min_child_weight=None, missing=nan,\n", " monotone_constraints=None, n_estimators=150, n_jobs=None,\n", " num_parallel_tree=None, objective='multi:softprob',\n", " predictor=None, ...)" ] }, "execution_count": 127, "metadata": {}, "output_type": "execute_result" } ], "source": [ "clf3.fit(split_train[0],y_train_enc)" ] }, { "cell_type": "code", "execution_count": 131, "id": "b31c236b-4630-45fa-bfc8-5413c21c922d", "metadata": {}, "outputs": [], "source": [ "y_pred = clf3.predict(split_test[0])" ] }, { "cell_type": "code", "execution_count": 132, "id": "c1088e9b-7930-4f8f-ba98-d7b44086d4b9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([4, 0, 0, ..., 0, 0, 0])" ] }, "execution_count": 132, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_pred" ] }, { "cell_type": "code", "execution_count": 134, "id": "8dfdf7ff-f7b5-4b54-80b9-3ac6f073ed32", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array(['DoS Hulk', 'BENIGN', 'BENIGN', ..., 'BENIGN', 'BENIGN', 'BENIGN'],\n", " dtype=object)" ] }, "execution_count": 134, "metadata": {}, "output_type": "execute_result" } ], "source": [ "y_pred = label_encoder.inverse_transform(y_pred)\n", "y_pred" ] }, { "cell_type": "code", "execution_count": 135, "id": "817c098c-8f8a-4538-ad6d-232320ae54bc", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Accuracy: 0.9995590455411706\n", "Precision: 0.9995613159328368\n", "Recall: 0.9995590455411706\n" ] }, { "data": { "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "show_metrics((split_test[1],y_pred))" ] }, { "cell_type": "code", "execution_count": 15, "id": "0755c10f-de43-48ff-bea5-77fb5760ee8b", "metadata": {}, "outputs": [], "source": [ "from sklearn.linear_model import LassoCV" ] }, { "cell_type": "code", "execution_count": 16, "id": "f8f36339-c53e-4335-9304-3d5db03d248f", "metadata": {}, "outputs": [], "source": [ "lasso = LassoCV(cv=5, random_state=0, max_iter=100000)" ] }, { "cell_type": "code", "execution_count": 17, "id": "4496cfff-4b9a-4e5f-88f1-d89814699f33", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
LassoCV(cv=5, max_iter=100000, random_state=0)
In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook.
On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.
" ], "text/plain": [ "LassoCV(cv=5, max_iter=100000, random_state=0)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "lasso.fit(split_train[0], y_train_enc)" ] }, { "cell_type": "code", "execution_count": 19, "id": "7ac09336-0356-48ec-811d-8ca1f6b78086", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Lasso coefficients: [-0.00000000e+00 -1.32348737e-08 0.00000000e+00 0.00000000e+00\n", " -0.00000000e+00 0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 0.00000000e+00 -2.33525612e-09 3.41483161e-07\n", " -0.00000000e+00 0.00000000e+00 -3.44671322e-08 -0.00000000e+00\n", " 2.17250060e-08 0.00000000e+00 3.88370722e-08 0.00000000e+00\n", " 1.06140828e-08 -2.13824490e-08 -4.92596090e-09 3.23413976e-08\n", " -2.61031392e-09 0.00000000e+00 -0.00000000e+00 0.00000000e+00\n", " -0.00000000e+00 0.00000000e+00 1.30849444e-10 0.00000000e+00\n", " 0.00000000e+00 0.00000000e+00 -0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 1.09378984e-07 0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 0.00000000e+00 -0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 0.00000000e+00\n", " -0.00000000e+00 -0.00000000e+00 -0.00000000e+00 6.44178050e-13\n", " 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", " 0.00000000e+00 0.00000000e+00 0.00000000e+00 -0.00000000e+00\n", " 0.00000000e+00 0.00000000e+00 0.00000000e+00 -0.00000000e+00\n", " 0.00000000e+00 0.00000000e+00 -0.00000000e+00 0.00000000e+00\n", " -9.29682402e-09 -5.50187614e-08 -1.27342591e-07 -1.34880053e-07\n", " 1.77685867e-07 -1.33236081e-08]\n", "Selected feature indices: [ 1 14 15 18 20 22 24 25 26 27 28 34 42 55 72 73 74 75 76 77]\n" ] } ], "source": [ "# Print the coefficients\n", "print(\"Lasso coefficients:\", lasso.coef_)\n", "\n", "# Identify the features that were not eliminated\n", "selected_features = np.where(lasso.coef_ != 0)[0]\n", "print(\"Selected feature indices:\", selected_features)" ] }, { "cell_type": "code", "execution_count": 22, "id": "f9e8d8f1-f0e3-4736-a3e8-176f12c10f57", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Index([' Flow Duration', 'Flow Bytes/s', ' Flow Packets/s', ' Flow IAT Max',\n", " 'Fwd IAT Total', ' Fwd IAT Std', ' Fwd IAT Min', 'Bwd IAT Total',\n", " ' Bwd IAT Mean', ' Bwd IAT Std', ' Bwd IAT Max', ' Fwd Header Length',\n", " ' Packet Length Variance', ' Fwd Header Length.1', ' Active Max',\n", " ' Active Min', 'Idle Mean', ' Idle Std', ' Idle Max', ' Idle Min'],\n", " dtype='object')" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.columns[selected_features]" ] }, { "cell_type": "code", "execution_count": 23, "id": "b1e57ea9-7bf2-480f-9aff-8379d05318e5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "20" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(selected_features)" ] }, { "cell_type": "code", "execution_count": null, "id": "e55ef676-0117-46bf-8630-ab1a9273dffa", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "base", "language": "python", "name": "base" }, "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.10.9" } }, "nbformat": 4, "nbformat_minor": 5 }