From 7fbb4e500861aaa5685013cd8ffa546cc68794dd Mon Sep 17 00:00:00 2001 From: ALINA_KURBANOVA Date: Fri, 29 Nov 2024 21:30:59 +0400 Subject: [PATCH] lab 4 is done --- lab_4/lab_4.ipynb | 1256 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1256 insertions(+) create mode 100644 lab_4/lab_4.ipynb diff --git a/lab_4/lab_4.ipynb b/lab_4/lab_4.ipynb new file mode 100644 index 00000000..7814d103 --- /dev/null +++ b/lab_4/lab_4.ipynb @@ -0,0 +1,1256 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Загрузка данных" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Index(['Date', 'Open', 'High', 'Low', 'Close', 'Adj Close', 'Volume',\n", + " 'SP_open', 'SP_high', 'SP_low', 'SP_close', 'SP_Ajclose', 'SP_volume',\n", + " 'DJ_open', 'DJ_high', 'DJ_low', 'DJ_close', 'DJ_Ajclose', 'DJ_volume',\n", + " 'EG_open', 'EG_high', 'EG_low', 'EG_close', 'EG_Ajclose', 'EG_volume',\n", + " 'EU_Price', 'EU_open', 'EU_high', 'EU_low', 'EU_Trend', 'OF_Price',\n", + " 'OF_Open', 'OF_High', 'OF_Low', 'OF_Volume', 'OF_Trend', 'OS_Price',\n", + " 'OS_Open', 'OS_High', 'OS_Low', 'OS_Trend', 'SF_Price', 'SF_Open',\n", + " 'SF_High', 'SF_Low', 'SF_Volume', 'SF_Trend', 'USB_Price', 'USB_Open',\n", + " 'USB_High', 'USB_Low', 'USB_Trend', 'PLT_Price', 'PLT_Open', 'PLT_High',\n", + " 'PLT_Low', 'PLT_Trend', 'PLD_Price', 'PLD_Open', 'PLD_High', 'PLD_Low',\n", + " 'PLD_Trend', 'RHO_PRICE', 'USDI_Price', 'USDI_Open', 'USDI_High',\n", + " 'USDI_Low', 'USDI_Volume', 'USDI_Trend', 'GDX_Open', 'GDX_High',\n", + " 'GDX_Low', 'GDX_Close', 'GDX_Adj Close', 'GDX_Volume', 'USO_Open',\n", + " 'USO_High', 'USO_Low', 'USO_Close', 'USO_Adj Close', 'USO_Volume'],\n", + " dtype='object')\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
DateOpenHighLowCloseAdj CloseVolumeSP_openSP_highSP_low...GDX_LowGDX_CloseGDX_Adj CloseGDX_VolumeUSO_OpenUSO_HighUSO_LowUSO_CloseUSO_Adj CloseUSO_Volume
02011-12-15154.740005154.949997151.710007152.330002152.33000221521900123.029999123.199997121.989998...51.57000051.68000048.9738772060560036.90000236.93999936.04999936.13000136.13000112616700
12011-12-16154.309998155.369995153.899994155.229996155.22999618124300122.230003122.949997121.300003...52.04000152.68000049.9215131628540036.18000036.50000035.73000036.27000036.27000012578800
22011-12-19155.479996155.860001154.360001154.869995154.86999512547200122.059998122.320000120.029999...51.02999951.16999848.4905781512020036.38999936.45000135.93000036.20000136.2000017418200
32011-12-20156.820007157.429993156.580002156.979996156.9799969136300122.180000124.139999120.370003...52.36999952.99000250.2152821164490037.29999937.61000137.22000137.56000137.56000110041600
42011-12-21156.979996157.529999156.130005157.160004157.16000411996100123.930000124.360001122.750000...52.41999852.95999950.186852872430037.66999838.24000237.52000038.11000138.11000110728000
..................................................................
17132018-12-24119.570000120.139999119.570000120.019997120.0199979736400239.039993240.839996234.270004...20.65000021.09000021.090000605070009.4900009.5200009.2800009.2900009.29000021598200
17142018-12-26120.620003121.000000119.570000119.660004119.66000414293500235.970001246.179993233.759995...20.53000120.62000120.620001763652009.2500009.9200009.2300009.9000009.90000040978800
17152018-12-27120.570000120.900002120.139999120.570000120.57000011874400242.570007248.289993238.960007...20.70000120.96999920.969999523930009.5900009.6500009.3700009.6200009.62000036578700
17162018-12-28120.800003121.080002120.720001121.059998121.0599986864700249.580002251.399994246.449997...20.57000020.60000020.600000498350009.5400009.6500009.3800009.5300009.53000022803400
17172018-12-31120.980003121.260002120.830002121.250000121.2500008449400249.559998250.190002247.470001...20.55999921.09000021.090000538666009.6300009.7100009.4400009.6600009.66000028417400
\n", + "

1718 rows × 81 columns

\n", + "
" + ], + "text/plain": [ + " Date Open High Low Close Adj Close \\\n", + "0 2011-12-15 154.740005 154.949997 151.710007 152.330002 152.330002 \n", + "1 2011-12-16 154.309998 155.369995 153.899994 155.229996 155.229996 \n", + "2 2011-12-19 155.479996 155.860001 154.360001 154.869995 154.869995 \n", + "3 2011-12-20 156.820007 157.429993 156.580002 156.979996 156.979996 \n", + "4 2011-12-21 156.979996 157.529999 156.130005 157.160004 157.160004 \n", + "... ... ... ... ... ... ... \n", + "1713 2018-12-24 119.570000 120.139999 119.570000 120.019997 120.019997 \n", + "1714 2018-12-26 120.620003 121.000000 119.570000 119.660004 119.660004 \n", + "1715 2018-12-27 120.570000 120.900002 120.139999 120.570000 120.570000 \n", + "1716 2018-12-28 120.800003 121.080002 120.720001 121.059998 121.059998 \n", + "1717 2018-12-31 120.980003 121.260002 120.830002 121.250000 121.250000 \n", + "\n", + " Volume SP_open SP_high SP_low ... GDX_Low GDX_Close \\\n", + "0 21521900 123.029999 123.199997 121.989998 ... 51.570000 51.680000 \n", + "1 18124300 122.230003 122.949997 121.300003 ... 52.040001 52.680000 \n", + "2 12547200 122.059998 122.320000 120.029999 ... 51.029999 51.169998 \n", + "3 9136300 122.180000 124.139999 120.370003 ... 52.369999 52.990002 \n", + "4 11996100 123.930000 124.360001 122.750000 ... 52.419998 52.959999 \n", + "... ... ... ... ... ... ... ... \n", + "1713 9736400 239.039993 240.839996 234.270004 ... 20.650000 21.090000 \n", + "1714 14293500 235.970001 246.179993 233.759995 ... 20.530001 20.620001 \n", + "1715 11874400 242.570007 248.289993 238.960007 ... 20.700001 20.969999 \n", + "1716 6864700 249.580002 251.399994 246.449997 ... 20.570000 20.600000 \n", + "1717 8449400 249.559998 250.190002 247.470001 ... 20.559999 21.090000 \n", + "\n", + " GDX_Adj Close GDX_Volume USO_Open USO_High USO_Low USO_Close \\\n", + "0 48.973877 20605600 36.900002 36.939999 36.049999 36.130001 \n", + "1 49.921513 16285400 36.180000 36.500000 35.730000 36.270000 \n", + "2 48.490578 15120200 36.389999 36.450001 35.930000 36.200001 \n", + "3 50.215282 11644900 37.299999 37.610001 37.220001 37.560001 \n", + "4 50.186852 8724300 37.669998 38.240002 37.520000 38.110001 \n", + "... ... ... ... ... ... ... \n", + "1713 21.090000 60507000 9.490000 9.520000 9.280000 9.290000 \n", + "1714 20.620001 76365200 9.250000 9.920000 9.230000 9.900000 \n", + "1715 20.969999 52393000 9.590000 9.650000 9.370000 9.620000 \n", + "1716 20.600000 49835000 9.540000 9.650000 9.380000 9.530000 \n", + "1717 21.090000 53866600 9.630000 9.710000 9.440000 9.660000 \n", + "\n", + " USO_Adj Close USO_Volume \n", + "0 36.130001 12616700 \n", + "1 36.270000 12578800 \n", + "2 36.200001 7418200 \n", + "3 37.560001 10041600 \n", + "4 38.110001 10728000 \n", + "... ... ... \n", + "1713 9.290000 21598200 \n", + "1714 9.900000 40978800 \n", + "1715 9.620000 36578700 \n", + "1716 9.530000 22803400 \n", + "1717 9.660000 28417400 \n", + "\n", + "[1718 rows x 81 columns]" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "df = pd.read_csv(\"../static/csv/FINAL_USO.csv\")\n", + "print(df.columns)\n", + "df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **1-я бизнес-цель (регрессия)**: \n", + "\n", + "Предсказание цены на золото с целью принятия инвесторами решения о покупке товаров." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Целевой признак: цена закрытия Adj Close.\n", + "\n", + "Вход: Volume, Hight, Low, Close, Open.\\\n", + "Достижимый уровень качества: предсказания должны иметь погрешность в среднем не более 5$. Для проверки будет использоваться метрика MAE (средняя абсолютная ошибка)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "from sklearn.compose import ColumnTransformer\n", + "from sklearn.discriminant_analysis import StandardScaler\n", + "from sklearn.impute import SimpleImputer\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.model_selection import GridSearchCV, train_test_split\n", + "from sklearn.metrics import roc_auc_score, confusion_matrix, accuracy_score\n", + "from sklearn.ensemble import RandomForestClassifier, GradientBoostingClassifier\n", + "import seaborn as sns\n", + "from sklearn.model_selection import cross_val_predict\n", + "from sklearn.metrics import mean_squared_error\n", + "import numpy as np\n", + "from sklearn import metrics\n", + "import sklearn.preprocessing as preproc\n", + "from sklearn.linear_model import LinearRegression, Ridge\n", + "from sklearn.metrics import mean_absolute_error\n", + "from mlxtend.evaluate import bias_variance_decomp\n", + "from sklearn.neural_network import MLPRegressor\n", + "\n", + "# Загрузка данных\n", + "df = pd.read_csv(\"..//static//csv//FINAL_USO.csv\")\n", + "data = df['Volume', 'High', 'Open', 'Close', 'Low','Adj Close']\n", + "\n", + "X = data.drop('Adj Close', axis=1)\n", + "y = data['Adj Close']\n", + "\n", + "# Разделение данных на обучающую и тестовую выборки\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)\n", + "\n", + "# Преобразование числовых данных\n", + "#заполнение пустых значений медианой\n", + "num_imputer = SimpleImputer(strategy=\"median\")\n", + "\n", + "preprocessing_num = Pipeline(\n", + " [\n", + " (\"imputer\", num_imputer)\n", + " ]\n", + ")\n", + "\n", + "#Категориальных данных нет, поэтому преобразовывать их не надо\n", + "\n", + "\n", + "# Общая предобработка (только числовые данные)\n", + "preprocessing = ColumnTransformer(\n", + " [\n", + " (\"nums\", preprocessing_num, X.columns)\n", + " ]\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Лнейная регрессия:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Лучшие гиперпараметры: {'preprocessing': MinMaxScaler()}\n", + "Cредняя абсолютная ошибка (MAE) = 1.8424538380756087e-14\n", + "Смещение: -5.1553225998619436e-11\n", + "Дисперсия: 3.270386026049708e-11\n", + "R^2 = 1.0\n" + ] + } + ], + "source": [ + "pipeline_lin_reg = Pipeline([\n", + " ('preprocessing', preprocessing),\n", + " ('model', LinearRegression())]\n", + ")\n", + "\n", + "# Определение сетки гиперпараметров (возможных знач-ий гиперпараметров) для перебора\n", + "param_grid = {\n", + " #как будут масштабироваться признаки\n", + " 'preprocessing': [StandardScaler(), preproc.MinMaxScaler(), preproc.MaxAbsScaler(), None]\n", + "}\n", + "\n", + "# Создание объекта GridSearchCV для поиска лучших гиперпараметров по сетке с максимальным знач-ием \n", + "# отрицательного корня из среднеквадратичной ошибки (отриц., чтобы искался не минимум, а максимум)\n", + "grid_search = GridSearchCV(pipeline_lin_reg, param_grid, cv=5, scoring='neg_root_mean_squared_error', n_jobs=-1)\n", + "\n", + "# Обучение модели с перебором гиперпараметров\n", + "grid_search.fit(X_train, y_train)\n", + "\n", + "print(\"Лучшие гиперпараметры: \", grid_search.best_params_)\n", + "\n", + "# Лучшая модель лин. регрессии\n", + "best_model = grid_search.best_estimator_\n", + "\n", + "y_pred = best_model.predict(X_test)\n", + "\n", + "print(f'Cредняя абсолютная ошибка (MAE) = {mean_absolute_error(y_test, y_pred)}')\n", + "\n", + "\n", + "# Оценка дисперсии и смещения\n", + "cv_results = grid_search.cv_results_\n", + "mean_test_score = cv_results['mean_test_score']\n", + "std_test_score = cv_results['std_test_score']\n", + "\n", + "print(f\"Смещение: {mean_test_score.mean()}\")\n", + "print(f\"Дисперсия: {std_test_score.mean()}\")\n", + "\n", + "from sklearn.metrics import r2_score\n", + "\n", + "print(f'R^2 = {r2_score(y_test, y_pred)}')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Гребневая регрессия" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Лучшие гиперпараметры: {'model__alpha': 0, 'preprocessing': StandardScaler()}\n", + "Cредняя абсолютная ошибка (MAE) = 5.494726121130867e-13\n", + "Смещение: -0.4263701358095246\n", + "Дисперсия: 0.02072744817291101\n", + "R^2 = 1.0\n" + ] + } + ], + "source": [ + "pipeline_ridge = Pipeline([\n", + " ('preprocessing', preprocessing),\n", + " ('model', Ridge())]\n", + ")\n", + "\n", + "# Определение сетки гиперпараметров (возможных знач-ий гиперпараметров) для перебора\n", + "param_grid = {\n", + " #как будут масштабироваться признаки\n", + " 'preprocessing': [StandardScaler(), preproc.MinMaxScaler(), preproc.MaxAbsScaler(), None],\n", + " #сила регуляризации\n", + " 'model__alpha': [0, 0.5, 1.0, 1.5, 2.0, 5.0, 10.0] \n", + "}\n", + "\n", + "# Создание объекта GridSearchCV для поиска лучших гиперпараметров по сетке с максимальным знач-ием \n", + "# отрицательного корня из среднеквадратичной ошибки (отриц., чтобы искался не минимум, а максимум)\n", + "grid_search = GridSearchCV(pipeline_ridge, param_grid, cv=5, scoring='neg_root_mean_squared_error', n_jobs=-1, verbose=0)\n", + "\n", + "# Обучение модели с перебором гиперпараметров\n", + "grid_search.fit(X_train, y_train)\n", + "\n", + "print(\"Лучшие гиперпараметры: \", grid_search.best_params_)\n", + "\n", + "# Лучшая модель регрессии\n", + "best_model = grid_search.best_estimator_\n", + "\n", + "y_pred = best_model.predict(X_test)\n", + "\n", + "print(f'Cредняя абсолютная ошибка (MAE) = {mean_absolute_error(y_test, y_pred)}')\n", + "\n", + "\n", + "cv_results = grid_search.cv_results_\n", + "mean_test_score = cv_results['mean_test_score']\n", + "std_test_score = cv_results['std_test_score']\n", + "\n", + "print(f\"Смещение: {mean_test_score.mean()}\")\n", + "print(f\"Дисперсия: {std_test_score.mean()}\")\n", + "\n", + "print(f'R^2 = {r2_score(y_test, y_pred)}')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Гребнавая регрессия дала более точные результаты, чем линейная." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Метод градиентного бустинга (набор деревьев решений)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Лучшие гиперпараметры: {'model__learning_rate': 0.1, 'model__max_depth': 5, 'model__n_estimators': 300, 'preprocessing': None}\n", + "Cредняя абсолютная ошибка (MAE) = 0.040833243038698064\n", + "Смещение: -0.2177327926836486\n", + "Дисперсия: 0.021373424060567556\n", + "R^2 = 0.9999842165416633\n" + ] + } + ], + "source": [ + "from sklearn.metrics import roc_auc_score, confusion_matrix, accuracy_score\n", + "from sklearn.ensemble import GradientBoostingRegressor, RandomForestClassifier, GradientBoostingClassifier\n", + "# Конвейер\n", + "pipeline_grad = Pipeline([\n", + " ('preprocessing', preprocessing),\n", + " ('model', GradientBoostingRegressor())\n", + "])\n", + "\n", + "# Определение сетки гиперпараметров\n", + "param_grid = {\n", + " 'preprocessing': [StandardScaler(), preproc.MinMaxScaler(), preproc.MaxAbsScaler(), None],\n", + " 'model__n_estimators': [100, 200, 300],\n", + " #Скорость обучения\n", + " 'model__learning_rate': [0.1, 0.2],\n", + " #Максимальная глубина дерева\n", + " 'model__max_depth': [3, 5, 7]\n", + "}\n", + "\n", + "# Создание объекта GridSearchCV\n", + "grid_search = GridSearchCV(pipeline_grad, param_grid, cv=2, scoring='neg_root_mean_squared_error', n_jobs=-1)\n", + "\n", + "# Обучение модели с перебором гиперпараметров\n", + "grid_search.fit(X_train, y_train)\n", + "\n", + "print(\"Лучшие гиперпараметры: \", grid_search.best_params_)\n", + "\n", + "# Лучшая модель случайного леса\n", + "best_model = grid_search.best_estimator_\n", + "\n", + "\n", + "y_pred = best_model.predict(X_test)\n", + "\n", + "\n", + "print(f'Cредняя абсолютная ошибка (MAE) = {mean_absolute_error(y_test, y_pred)}')\n", + "\n", + "\n", + "# Получение предсказаний на кросс-валидации\n", + "y_cv_pred = cross_val_predict(best_model, X_train, y_train, cv=3)\n", + "\n", + "cv_results = grid_search.cv_results_\n", + "mean_test_score = cv_results['mean_test_score']\n", + "std_test_score = cv_results['std_test_score']\n", + "\n", + "print(f\"Смещение: {mean_test_score.mean()}\")\n", + "print(f\"Дисперсия: {std_test_score.mean()}\")\n", + "\n", + "print(f'R^2 = {r2_score(y_test, y_pred)}')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Вывод**: \n", + "\n", + "Все 3 модели регрессии показали допустимый уровень \"погрешности\". \n", + "\n", + "R² (коэффициент детерминации): 0.99 — это очень высокий уровень, указывающий на то, что модель объясняет 99% вариации целевой переменной. Это свидетельствует о высокой предсказательной способности модели.\n", + "\n", + "Из всех моделей градиентный бустинг показал самую низкую \"погрешность\"." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## **2-я бизнес-цель (классификация):** \n", + "\n", + "Определить оптимальные коэффициенты для различных факторов, влияющих на цену золота. \n", + "\n", + "Целевой признак: Adj Close.\n", + "\n", + "Вход: Volume, Hight, Low, Close, Open. " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Результаты для задачи классификации:\n", + "Model: Logistic Regression\n", + "Best Parameters: {'model__C': 10, 'model__solver': 'liblinear'}\n", + "Accuracy: 0.9825581395348837\n", + "Precision: 1.0\n", + "Recall: 0.9469026548672567\n", + "F1-score: 0.9727272727272728\n", + "\n" + ] + }, + { + "data": { + "image/png": "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BCZMmIBvv/0Whw8fhru7u9ZxX19fVKtWDYcOHdLsi4uLw61bt+Dn5wcA8PPzw++//4579+5p2kRFRUGlUsHb27vc184KBRERkYEaP348tm/fju+++w42NjaaOQ+2trawtLSEra0twsPDMXXqVNjb20OlUmHixInw8/PDSy+9BAAICgqCt7c3XnvtNSxduhTJycl49913MX78+KdWRZ7EhIKIiEgmck7KLI81a9YAAAICArT2b9q0CWFhYQCA5cuXw8TEBP3790deXh6Cg4Px2Wefadqamppi3759GDduHPz8/GBlZYXQ0FAsXLhQp7CZUBAREcmkshOK8txKysLCAqtXr8bq1avLbOPm5oaffvqp3OctDRMKIiIimVR2QlGVcFImERERScYKBRERkVxkXDZqaJhQEBERyYRDHkREREQSsEJBREQkk8dPH5daoZAnlsrGhIKIiEgmCsgw5GGgGQWHPIiIiEgyViiIiIhkYsyTMplQEBERycWIl41yyIOIiIgkY4WCiIhILjIMeQgOeRARERk3OeZQSF8loh9MKIiIiGRizAkF51AQERGRZKxQEBERycWIV3kwoSAiIpIJhzyIiIiIJGCFgoiISCbGXKFgQkFERCQTY04oOORBREREkrFCQUREJBNjrlAwoSAiIpKLES8b5ZAHERERScYKBRERkUw45EFERESSMaEgIiIiyYw5oeAcCiIiIpKMFQoiIiK5GPEqDyYUREREMuGQBxEREZEErFBQpZgSFoSenZujoZsjcvMK8N/frmP+p98h/uY9TZvlswehU5vGcKpli+xHefjvb4mYv+o7XLuZomnz/lsD0LZ5A3h51MGfN1LQcej7+rgcoue2/uujWPXlIdxLzUTThnXxwfRX4ftCfX2HRTJhhaKKCAsLQ9++ffUdBlWAdq08seGbYwgasQz9JnyKamam2LNqAqpbmGvaXLx6GxMWfom2Axej/8TVUCgU2PPpeJiYaP/j2vbDr/g26nxlXwKRZHt+Pod3V3yLmSNDEL11Jpo2rIv+E1fjftpDfYdGMlFAoUkqnnsz0EkUVSqhoH+vVyd9hq/2ncbV68m4fO0O3ljwJVzq2KOFl4umzeZvT+LUhQTcTkrDb3F/4b01P6Cekz1c69TUtJn10S5s+OYYbtxJ1cdlEEny2fbDeL1vOwzt7YcmDerg49mDUN3CHF9+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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: Random Forest Classification\n", + "Best Parameters: {'model__max_depth': None, 'model__n_estimators': 100}\n", + "Accuracy: 1.0\n", + "Precision: 1.0\n", + "Recall: 1.0\n", + "F1-score: 1.0\n", + "\n" + ] + }, + { + "data": { + "image/png": "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pUuIiorCqFGjcP36dQDA6NGj8cknn2DLli04f/483n333WfeQ6Jy5coICQnB4MGDsWXLFqnNn376CQCg1WqhUqmwfft23L17F2lpaXBwcMCECRMwduxYrF69GvHx8Th16hQWL14sDXQcPnw4Lly4gIkTJyI2Nhbr1q3DqlWrjDre6tWr4+rVq1i/fj3i4+OxaNGiAgeYWltbIyQkBGfPnsWhQ4cwatQo9OrVCx4eHgCAmTNnIjIyEosWLcK///6Lv/76CytXrsRnn31mVDxEVDSYUBAVM1tbWxw8eBCVKlVCcHAwfH19ERYWhoyMDKliMX78eAwYMAAhISFo3rw5HBwc8Oabbz6z3a+++go9e/bEu+++i1q1amHo0KFIT08HAFSoUAEzZ87ElClT4O7ujoiICADA7Nmz8cEHHyAyMhK+vr7o0KEDduzYAR8fHwCPxzVs3LgRW7ZsQb169bB06VJ8/PHHRh1v165dMXbsWERERKB+/fo4evQoPvjgg3zrVatWDcHBwejUqRMCAwNRt25dvctChwwZghUrVmDlypWoU6cOWrdujVWrVkmxElHJUonCRnkRERERGYgVCiIiIpKNCQURERHJxoSCiIiIZGNCQURERLIxoSAiIiLZmFAQERGRbEwoiIiISDYmFERERCQbEwoiIiKSjQkFERERycaEgoiIiGRjQkFERESy/R8CvAWb3QeLlgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Model: Gradient Boosting Classification\n", + "Best Parameters: {'model__learning_rate': 0.01, 'model__max_depth': 3, 'model__n_estimators': 100}\n", + "Accuracy: 1.0\n", + "Precision: 1.0\n", + "Recall: 1.0\n", + "F1-score: 1.0\n", + "\n" + ] + }, + { + "data": { + "image/png": "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F2ZmZrCzs9N5jJOTE+7evSsxyqKYUBAREclFxozi2XtIzZo1C7Nnz9ZZFxgYqP1/kyZN0KZNG7i7u+OHH36AhYWFxEAMw4SCiIioArp586bOdSj0uceUnZ0d6tWrh/j4eHTr1g25ublITU3VqVIkJSUVO+ZCKo6hICIikomcszzUarXOok9CkZGRgYSEBLi4uKBly5aoUqUKDh8+rN1+5coV3LhxA23btpX93FmhICIikklZz/KYNGkSevXqBXd3d9y+fRuzZs2CUqnEoEGDYGtri7CwMEyYMAH29vZQq9UYN24c2rZtK/sMD4AJBRERkdH6559/MGjQICQnJ8PBwQHt27fHL7/8AgcHBwDAwoULYWJign79+iEnJwcBAQH4+uuvSyUWJhREREQykXOWhz42b9783O3m5uZYunQpli5dKi0oPTChICIikktZZxQVCAdlEhERkWSsUBAREcnkZe7FUVwbxogJBRERkUzK414eFQUTCiIiIplU4iEUHENBRERE0rFCQUREJJdKXKJgQkFERCSTyjwok10eREREJBkrFERERDLhLA8iIiKSrBIPoWCXBxEREUnHCgUREZFcKnGJggkFERGRTDjLg4iIiEgCViiIiIhkwlkeREREJFklHkLBhIKIiEg2lTij4BgKIiIikowVCiIiIplU5lkeTCiIiIjkIsOgTCPNJ9jlQURERNKxQkFERCSTSjwmkwkFERGRbCpxRsEuDyIiIpKMFQoiIiKZcJYHERERSVaZL73NLg8iIiKSjBUKIiIimVTiMZlMKIiIiGRTiTMKJhREREQyqcyDMjmGgoiIiCRjhYKIiEgmCsgwy0OWSMoeEwoiIiKZVOIhFOzyICIiIulYoSAiIpJJZb6wFRMKIiIi2VTeTg92eRAREZFkrFAQERHJhF0eREREJFnl7fBglwcRERHJgBUKIiIimbDLg4iIiCSrzPfyYEJBREQkl0o8iIJjKIiIiEgyViiIiIhkUokLFEwoiIiI5FKZB2Wyy4OIiIgkY4WCiIhIJpzlQURERNJV4kEU7PIgIiIiyVihICIikkklLlAwoSAiIpILZ3kQERERScAKBRERkWykz/Iw1k4PJhREREQyYZcHERERkQRMKIiIiEgydnkQERHJpDJ3eTChICIikkllvvQ2uzyIiIhIMlYoiIiIZMIuDyIiIpKsMl96m10e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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "from sklearn.model_selection import train_test_split, GridSearchCV\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.linear_model import LinearRegression, LogisticRegression\n", + "from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier\n", + "from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.compose import ColumnTransformer\n", + "from sklearn.preprocessing import OneHotEncoder\n", + "from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score, accuracy_score, precision_score, recall_score, f1_score, confusion_matrix, ConfusionMatrixDisplay\n", + "\n", + "# Загружаем набор данных\n", + "df = pd.read_csv(\"..//static//csv//FINAL_USO.csv\")\n", + "\n", + "numerical_cols = ['Volume', 'High', 'Open', 'Close', 'Low']\n", + "\n", + "# Создаем преобразователь для категориальных и числовых столбцов\n", + "preprocessor = ColumnTransformer(\n", + " transformers=[\n", + " ('num', StandardScaler(), numerical_cols)\n", + " ])\n", + "\n", + "# Список моделей и их гиперпараметров для задачи регрессии\n", + "models_reg = {\n", + " \"Linear Regression\": (LinearRegression(), {}),\n", + " \"Random Forest Regression\": (RandomForestRegressor(), {\n", + " 'model__n_estimators': [100, 200],\n", + " 'model__max_depth': [None, 10, 20]\n", + " }),\n", + " \"Gradient Boosting Regression\": (GradientBoostingRegressor(), {\n", + " 'model__n_estimators': [100, 200],\n", + " 'model__learning_rate': [0.01, 0.1],\n", + " 'model__max_depth': [3, 5]\n", + " })\n", + "}\n", + "\n", + "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи регрессии\n", + "X_reg = df[numerical_cols]\n", + "y_reg = df['Adj Close']\n", + "\n", + "# Разделяем данные на обучающую и тестовую выборки для задачи регрессии\n", + "X_train_reg, X_test_reg, y_train_reg, y_test_reg = train_test_split(X_reg, y_reg, test_size=0.2, random_state=42)\n", + "\n", + "# Список моделей и их гиперпараметров для задачи классификации\n", + "models_class = {\n", + " \"Logistic Regression\": (LogisticRegression(), {\n", + " 'model__C': [0.1, 1, 10],\n", + " 'model__solver': ['liblinear', 'lbfgs']\n", + " }),\n", + " \"Random Forest Classification\": (RandomForestClassifier(), {\n", + " 'model__n_estimators': [100, 200],\n", + " 'model__max_depth': [None, 10, 20]\n", + " }),\n", + " \"Gradient Boosting Classification\": (GradientBoostingClassifier(), {\n", + " 'model__n_estimators': [100, 200],\n", + " 'model__learning_rate': [0.01, 0.1],\n", + " 'model__max_depth': [3, 5]\n", + " })\n", + "}\n", + "\n", + "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи классификации\n", + "X_class = df[ numerical_cols]\n", + "y_class = (df['Adj Close'] > df['Adj Close'].mean()).astype(int)\n", + "\n", + "# Разделяем данные на обучающую и тестовую выборки для задачи классификации\n", + "X_train_class, X_test_class, y_train_class, y_test_class = train_test_split(X_class, y_class, test_size=0.2, random_state=42)\n", + "\n", + "# Обучаем и оцениваем модели для задачи классификации\n", + "print(\"Результаты для задачи классификации:\")\n", + "for name, (model, params) in models_class.items():\n", + " pipeline = Pipeline(steps=[\n", + " ('preprocessor', preprocessor),\n", + " ('model', model)\n", + " ])\n", + " grid_search = GridSearchCV(pipeline, params, cv=5, scoring='accuracy')\n", + " grid_search.fit(X_train_class, y_train_class)\n", + " best_model = grid_search.best_estimator_\n", + " y_pred_class = best_model.predict(X_test_class)\n", + " accuracy = accuracy_score(y_test_class, y_pred_class)\n", + " precision = precision_score(y_test_class, y_pred_class)\n", + " recall = recall_score(y_test_class, y_pred_class)\n", + " f1 = f1_score(y_test_class, y_pred_class)\n", + " print(f\"Model: {name}\")\n", + " print(f\"Best Parameters: {grid_search.best_params_}\")\n", + " print(f\"Accuracy: {accuracy}\")\n", + " print(f\"Precision: {precision}\")\n", + " print(f\"Recall: {recall}\")\n", + " print(f\"F1-score: {f1}\")\n", + " print()\n", + "\n", + " # Визуализация матрицы ошибок\n", + " cm = confusion_matrix(y_test_class, y_pred_class)\n", + " disp = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=['Less', 'More'])\n", + " disp.plot(cmap=plt.cm.Blues)\n", + " plt.title(f'Confusion Matrix for {name}')\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Вывод**:\n", + "\n", + "Градиентный бустинг и случайный лес выдали наилучшие результаты. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Давайте проанализируем полученные значения метрик и определим, являются ли они нормальными или их можно улучшить.\n", + "\n", + "### Оценка смещения и дисперсии для задачи регрессии:\n", + "\n", + "### Вывод для задачи регрессии:\n", + "\n", + "- **Random Forest Regression** демонстрирует наилучшие результаты по метрикам MAE и R², что указывает на высокую точность и стабильность модели.\n", + "- **Linear Regression** и **Gradient Boosting Regression** также показывают хорошие результаты, но уступают случайному лесу.\n", + "\n", + "### Вывод для задачи классификации:\n", + "\n", + "- **Random Forest Classification** демонстрирует наилучшие результаты по всем метрикам (Accuracy, Precision, Recall, F1-score), что указывает на высокую точность и стабильность модели.\n", + "- **Logistic Regression** и **Gradient Boosting Classification** также показывают хорошие результаты, но уступают случайному лесу.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Для оценки смещения (bias) и дисперсии (variance) моделей можно использовать метод перекрестной проверки (cross-validation). Этот метод позволяет оценить, насколько хорошо модель обобщается на новых данных.\n", + "\n", + "Оценка смещения и дисперсии для задачи регрессии:\n", + "Для задачи регрессии мы будем использовать метрики MAE (Mean Absolute Error) и R² (R-squared) для оценки смещения и дисперсии.\n", + "\n", + "Оценка смещения и дисперсии для задачи классификации:\n", + "Для задачи классификации мы будем использовать метрики Accuracy, Precision, Recall и F1-score для оценки смещения и дисперсии.\n", + "\n", + "Пример кода для оценки смещения и дисперсии:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Оценка смещения и дисперсии для задачи регрессии:\n", + "Model: Linear Regression\n", + "MAE (Cross-Validation): Mean = 3.475420657900542e-14, Std = 2.3108544967235046e-14\n", + "R² (Cross-Validation): Mean = 1.0, Std = 0.0\n", + "\n", + "Model: Random Forest Regression\n", + "MAE (Cross-Validation): Mean = 4.770713368258853, Std = 9.027907502951276\n", + "R² (Cross-Validation): Mean = -0.8676362010013315, Std = 3.6735082182967664\n", + "\n", + "Model: Gradient Boosting Regression\n", + "MAE (Cross-Validation): Mean = 4.790726208613611, Std = 8.978223486805094\n", + "R² (Cross-Validation): Mean = -0.8531326799804774, Std = 3.6480201756306525\n", + "\n", + "Оценка смещения и дисперсии для задачи классификации:\n", + "Model: Logistic Regression\n", + "Accuracy (Cross-Validation): Mean = 0.9469472506610617, Std = 0.09607008028935687\n", + "Precision (Cross-Validation): Mean = 0.9903846153846153, Std = 0.019230769230769253\n", + "Recall (Cross-Validation): Mean = 0.8244897959183675, Std = 0.34090796763789555\n", + "F1-score (Cross-Validation): Mean = 0.8430120359555126, Std = 0.29664350339720796\n", + "\n", + "Model: Random Forest Classification\n", + "Accuracy (Cross-Validation): Mean = 0.99533527696793, Std = 0.009329446064139945\n", + "Precision (Cross-Validation): Mean = 1.0, Std = 0.0\n", + "Recall (Cross-Validation): Mean = 0.9795918367346939, Std = 0.04081632653061225\n", + "F1-score (Cross-Validation): Mean = 0.9904843365764995, Std = 0.016633019819396317\n", + "\n", + "Model: Gradient Boosting Classification\n", + "Accuracy (Cross-Validation): Mean = 0.9988338192419824, Std = 0.0023323615160349754\n", + "Precision (Cross-Validation): Mean = 1.0, Std = 0.0\n", + "Recall (Cross-Validation): Mean = 0.9959183673469388, Std = 0.008163265306122458\n", + "F1-score (Cross-Validation): Mean = 0.9979381443298969, Std = 0.004123711340206171\n", + "\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "from sklearn.model_selection import cross_val_score\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.linear_model import LinearRegression, LogisticRegression\n", + "from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier\n", + "from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.compose import ColumnTransformer\n", + "from sklearn.preprocessing import OneHotEncoder\n", + "\n", + "# Загружаем набор данных\n", + "df = pd.read_csv(\"..//static//csv//FINAL_USO.csv\")\n", + "\n", + "# Определяем категориальные и числовые столбцы\n", + "numerical_cols = ['Volume', 'High', 'Open', 'Close', 'Low']\n", + "\n", + "# Создаем преобразователь для категориальных и числовых столбцов\n", + "preprocessor = ColumnTransformer(\n", + " transformers=[\n", + " ('num', StandardScaler(), numerical_cols)\n", + " ])\n", + "\n", + "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи регрессии\n", + "X_reg = df[numerical_cols]\n", + "y_reg = df['Adj Close']\n", + "\n", + "# Список моделей для задачи регрессии\n", + "models_reg = {\n", + " \"Linear Regression\": LinearRegression(),\n", + " \"Random Forest Regression\": RandomForestRegressor(),\n", + " \"Gradient Boosting Regression\": GradientBoostingRegressor()\n", + "}\n", + "\n", + "# Оценка смещения и дисперсии для задачи регрессии\n", + "print(\"Оценка смещения и дисперсии для задачи регрессии:\")\n", + "for name, model in models_reg.items():\n", + " pipeline = Pipeline(steps=[\n", + " ('preprocessor', preprocessor),\n", + " ('model', model)\n", + " ])\n", + " mae_scores = -cross_val_score(pipeline, X_reg, y_reg, cv=5, scoring='neg_mean_absolute_error')\n", + " r2_scores = cross_val_score(pipeline, X_reg, y_reg, cv=5, scoring='r2')\n", + " print(f\"Model: {name}\")\n", + " print(f\"MAE (Cross-Validation): Mean = {mae_scores.mean()}, Std = {mae_scores.std()}\")\n", + " print(f\"R² (Cross-Validation): Mean = {r2_scores.mean()}, Std = {r2_scores.std()}\")\n", + " print()\n", + "\n", + "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи классификации\n", + "X_class = df[numerical_cols]\n", + "y_class = (df['Adj Close'] > df['Adj Close'].mean()).astype(int)\n", + "\n", + "# Список моделей для задачи классификации\n", + "models_class = {\n", + " \"Logistic Regression\": LogisticRegression(),\n", + " \"Random Forest Classification\": RandomForestClassifier(),\n", + " \"Gradient Boosting Classification\": GradientBoostingClassifier()\n", + "}\n", + "\n", + "# Оценка смещения и дисперсии для задачи классификации\n", + "print(\"Оценка смещения и дисперсии для задачи классификации:\")\n", + "for name, model in models_class.items():\n", + " pipeline = Pipeline(steps=[\n", + " ('preprocessor', preprocessor),\n", + " ('model', model)\n", + " ])\n", + " accuracy_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='accuracy')\n", + " precision_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='precision')\n", + " recall_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='recall')\n", + " f1_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='f1')\n", + " print(f\"Model: {name}\")\n", + " print(f\"Accuracy (Cross-Validation): Mean = {accuracy_scores.mean()}, Std = {accuracy_scores.std()}\")\n", + " print(f\"Precision (Cross-Validation): Mean = {precision_scores.mean()}, Std = {precision_scores.std()}\")\n", + " print(f\"Recall (Cross-Validation): Mean = {recall_scores.mean()}, Std = {recall_scores.std()}\")\n", + " print(f\"F1-score (Cross-Validation): Mean = {f1_scores.mean()}, Std = {f1_scores.std()}\")\n", + " print()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABccAAAJOCAYAAABycr+9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACOp0lEQVR4nOzdeXgT5f7+8TuFNKUrIIWCFAoFZQcF2RUQbFkE8YgoHGUREQVUwA08IlTRuoMKsriAC7gjHj0CZfcguADiEQQEZFGkbEIDLU1LO78//DXfhqRtCmnTZt6v6+pFMnkm85kkz+TJzZOJxTAMQwAAAAAAAAAAmEiQvwsAAAAAAAAAAKC0EY4DAAAAAAAAAEyHcBwAAAAAAAAAYDqE4wAAAAAAAAAA0yEcBwAAAAAAAACYDuE4AAAAAAAAAMB0CMcBAAAAAAAAAKZDOA4AAAAAAAAAMB3CcQAAAAAAAACA6RCOA3AaNmyYwsPDS3Wb+/fvl8Vi0YIFC0p1u4Hso48+UtWqVXXmzBl/l1Kg9u3b6+GHH/a6/ZkzZ3TnnXcqJiZGFotF48aNK7ni4GSxWDR16lR/l1FqLuZ4tHbtWlksFq1du9bndQEAYDbFGYN8//33Cg4O1oEDB3xex5w5c1SnTh05HA6v13n33XfVqFEjWa1WVa5c2ec1wd2wYcMUFxfn7zJKVdeuXdW1a9cLWjcuLk7Dhg3zaT1AeUY4DniwYMECWSwWWSwWrV+/3u12wzAUGxsri8Wi66+/3g8VFl9OTo5q1aoli8WipUuX+rscn8jIyNDUqVNLJIzKe/49/d19990+356v5OTkaMqUKbr33ntd/qMjLi5OFotFPXr08Lje66+/7ty/TZs2eWzz8MMPy2Kx6JZbbvF4e16wWNDfM88842z7yCOPaNasWUpNTfVqv55++mktWLBA99xzj959913dfvvtXq13ofIer7y/sLAwtW3bVu+8806Jbhd/mzp1qiwWi4KCgvT777+73W6321WpUiVZLBaNHTvWDxUCAFC4/J8nLBaLKlasqEsvvVTDhg3ToUOH/F1eQPnXv/6lQYMGqW7dus5lXbt2dXn8K1WqpBYtWmjGjBnKzc11Wf/2229X586d1a5dO3Xp0kU7duxw3jZs2DBlZWVp7ty5XtWyc+dODRs2TPHx8Xr99dc1b9483+xkAfLGTHl/VqtVcXFxuu+++3Tq1KkS3TZcP/9MmzbNY5t//vOfslgspT4JDYD3Kvq7AKAsCwkJ0aJFi9S5c2eX5evWrdMff/whm83mp8qKb/Xq1Tp8+LDi4uK0cOFC9erVy98lXbSMjAwlJSVJ0gX/r3lhrrvuOg0ZMsRt+WWXXebzbfnKF198oV27dumuu+5yuy0kJERr1qxRamqqYmJiXG5buHChQkJClJmZ6fF+DcPQ+++/r7i4OH3xxRc6ffq0IiIiPLYdNGiQevfu7bb8iiuucF6+4YYbFBkZqddee01PPPFEkfu1evVqtW/fXlOmTCmyra+0atVKDzzwgCTp8OHDeuONNzR06FA5HA6NHDmy1Orwp7Nnz6piRf8NFWw2m95//323bxksXrzYTxUBAFA8TzzxhOrVq6fMzEx9++23WrBggdavX69t27YpJCTE3+WVe1u3btXKlSu1YcMGt9tq166t5ORkSdLx48e1aNEijR8/XseOHdNTTz3lbDd58mTn+H7cuHEaPXq01qxZI+nv8fPQoUP10ksv6d5775XFYim0nrVr1yo3N1cvv/yyGjRo4KvdLNLs2bMVHh6u9PR0rVq1Sq+++qq2bNnicaJXIHr99dfd/tOjNIWEhOj999/XY4895rI8PT1dn3/+OX0dKOOYOQ4Uonfv3vr444917tw5l+WLFi1S69at3QLGsuy9997TlVdeqfHjx2vJkiVKT0/3d0ll3mWXXabbbrvN7a9t27aFrpeRkeFx+blz55SVlXVRNRX1vM2fP1+dOnXSpZde6nZbp06dFB4erg8//NBl+R9//KH//ve/6tOnT4H3u3btWv3xxx966623dO7cuULDySuvvNLj49a0aVNnm6CgIA0YMEDvvPOODMModJ8k6ejRoz79Wqo3z8Wll17qrP2hhx7S+vXrFR4erunTp/usDm/5q7+GhIT4NRzv3bu33n//fbflixYtKvT1CgBAWdGrVy/ddtttuvPOO/XGG2/owQcf1N69e/Xvf//b36WViILGwSVl/vz5qlOnjtq3b+92W1RUlHMsN27cOH399deqW7euXn31VeXk5Djb5Z/4YhiGgoJcY5KBAwfqwIEDzsC8MEePHpUkn45bvXlMBwwYoNtuu02jRo3SRx99pFtuuUXffPONvv/+e5/V4Y3c3NwCJ9uUJKvV6teJa71799Yvv/yin376yWX5559/rqysLF133XV+qgyANwjHgUIMGjRIJ06c0IoVK5zLsrKy9Mknn2jw4MEe18nNzdWMGTPUtGlThYSEqEaNGho1apROnjzp0u7zzz9Xnz59VKtWLdlsNsXHx+vJJ590GahJf8+IbtasmX755Rd169ZNoaGhuvTSS/Xcc895vR9nz57VZ599pltvvVUDBw7U2bNn9fnnnxfY/rffflNiYqLCwsJUq1YtPfHEE24B5gcffKDWrVsrIiJCkZGRat68uV5++WW3+7n55ptVtWpVhYaGqn379vrPf/5TZL0FnT8t/7nk9u/fr+joaElSUlKS8+ts+c9NuHPnTg0YMEBVq1ZVSEiI2rRp4/MPInnPz+bNm3XNNdcoNDRUjz76qPMrdi+88IJmzJih+Ph42Ww2/fLLL5L+ngl99dVXKywsTJUrV9YNN9zg8hVO6f++JvnLL79o8ODBqlKlitu3GPLLzMzUsmXLCjx1SkhIiP7xj39o0aJFLsvff/99ValSRYmJiQXe98KFC9WkSRN169ZNPXr00MKFC719iAp03XXX6cCBA9q6dWuBbfLO47xv3z795z//cT7P+/fvl/T3B5ARI0aoRo0aCgkJUcuWLfX222+73EdRz4W3oqOj1ahRI+3du9dlubd9Pjc3V1OnTlWtWrUUGhqqbt266ZdffnE751/e17DXrVun0aNHq3r16qpdu7bz9qVLlzpfOxEREerTp4+2b9/usq3U1FQNHz5ctWvXls1mU82aNXXDDTc4HzdJ2rRpkxITE1WtWjVVqlRJ9erV0x133OFyP57O9/njjz+qV69eioyMVHh4uLp3765vv/3WpU3ePnzzzTeaMGGCoqOjFRYWphtvvFHHjh3z9iHX4MGDtXXrVu3cudNl31avXl3gMdib14QknTp1SsOGDVNUVJQqV66soUOHFvj14ws9luzevVs33XSTYmJiFBISotq1a+vWW29VWlqadw8AACDgXH311ZLkNp7wxJv3c8MwNG3aNNWuXds5vti+fbvb+CJvXHm+vPfs/PdZ3M8p54+DJcnhcGjKlClq0KCBbDabYmNj9fDDD7udu9vhcGj8+PGKjo5WRESE+vXrpz/++KPIxybPkiVLdO211xY5o1v6eyx81VVX6fTp084QO79Vq1bpjTfecDkVoCS1bt1aVatWLfTzk/T3afnyvuUYHR3tNo567bXX1LRpU9lsNtWqVUtjxoxxG3sU9pgWR0Gvs++++049e/ZUVFSUQkND1aVLF33zzTdu669du1Zt2rRRSEiI4uPjNXfuXI+vobxT3C1cuNC5b8uWLZMkHTp0SHfccYdq1Kghm82mpk2b6q233nLb1quvvqqmTZsqNDRUVapUUZs2bVw+r5w+fVrjxo1TXFycbDabqlevruuuu05btmxxtvF0zvH09HQ98MADio2Nlc1m0+WXX64XXnjB7XNt3j4sWbJEzZo1c9aatx/e6NChg+rVq+f2OWvhwoXq2bOnqlat6nE9b14TkjRv3jzFx8erUqVKatu2rf773/96vD9v+935srOzlZSUpIYNGyokJESXXHKJOnfu7JKDAIGM06oAhYiLi1OHDh30/vvvO09DsnTpUqWlpenWW2/VK6+84rbOqFGjtGDBAg0fPlz33Xef9u3bp5kzZ+rHH3/UN998I6vVKunvgWh4eLgmTJig8PBwrV69Wo8//rjsdruef/55l/s8efKkevbsqX/84x8aOHCgPvnkEz3yyCNq3ry5V6dH+fe//60zZ87o1ltvVUxMjLp27aqFCxd6DJdycnLUs2dPtW/fXs8995yWLVumKVOm6Ny5c87TX6xYsUKDBg1S9+7d9eyzz0qSduzYoW+++Ub333+/JOnIkSPq2LGjMjIydN999+mSSy7R22+/rX79+umTTz7RjTfeWIxnwl10dLRmz56te+65RzfeeKP+8Y9/SJJatGghSdq+fbtzBvXEiRMVFhamjz76SP3799enn37q1fYzMzN1/Phxt+WRkZEKDg52Xj9x4oR69eqlW2+9Vbfddptq1KjhvG3+/PnKzMzUXXfdJZvNpqpVq2rlypXq1auX6tevr6lTp+rs2bN69dVX1alTJ23ZssVtYHfzzTerYcOGevrppwudZb1582ZlZWXpyiuvLLDN4MGDlZCQoL179yo+Pl7S37NwBwwY4Hxtns/hcOjTTz91nmJk0KBBGj58uMfTs0h/z27x9LhVrlzZZRZy69atJUnffPONyylX8mvcuLHeffddjR8/XrVr13bWEB0drbNnz6pr167as2ePxo4dq3r16unjjz/WsGHDdOrUKedrMY+n56I4zp07pz/++ENVqlRxWe5tn580aZKee+459e3bV4mJifrpp5+UmJhY4Oya0aNHKzo6Wo8//rhz5vi7776roUOHKjExUc8++6wyMjI0e/Zsde7cWT/++KPztXPTTTdp+/btuvfeexUXF6ejR49qxYoVOnjwoPN6QkKCoqOjNXHiRFWuXFn79+8v8nQl27dv19VXX63IyEg9/PDDslqtmjt3rrp27ap169apXbt2Lu3vvfdeValSRVOmTNH+/fs1Y8YMjR071u3bCwW55pprVLt2bS1atMh5/Pnwww8VHh7ucea4t68JwzB0ww03aP369br77rvVuHFjffbZZxo6dKjHfb6QY0lWVpYSExPlcDh07733KiYmRocOHdKXX36pU6dOKSoqyqvHAAAQWPJC6PPHE54U9X4uSY8//rimTZum3r17q3fv3tqyZYsSEhIu6tuKxfmc4mkcnJubq379+mn9+vW666671LhxY/3888+aPn26fv31Vy1ZssS5/p133qn33ntPgwcPVseOHbV69Wqvvx126NAhHTx4sNCx7/nyJk2cP7P7hx9+0MCBAzV//nxdddVVbutdeeWVHkPk/GbMmKF33nlHn332mfM0J3mfTaZOnaqkpCT16NFD99xzj3bt2qXZs2frhx9+cBkvSoV/tijOfkqur7PVq1erV69eat26taZMmaKgoCDNnz9f1157rf773/86vx37448/qmfPnqpZs6aSkpKUk5OjJ554wjkx6XyrV6/WRx99pLFjx6patWqKi4vTkSNH1L59e2fwHB0draVLl2rEiBGy2+0aN26cpL9Ph3LfffdpwIABuv/++5WZman//e9/+u6775yfVe+++2598sknGjt2rJo0aaITJ05o/fr12rFjR4HPvWEY6tevn9asWaMRI0aoVatWWr58uR566CEdOnTI7Zug69ev1+LFizV69GhFRETolVde0U033aSDBw/qkksu8eoxHzRokN577z0988wzslgsOn78uFJSUvTuu+96DNq9fU28+eabGjVqlDp27Khx48bpt99+U79+/VS1alXFxsY67684/c5TLcnJybrzzjvVtm1b2e12bdq0SVu2bGHWO8zBAOBm/vz5hiTjhx9+MGbOnGlEREQYGRkZhmEYxs0332x069bNMAzDqFu3rtGnTx/nev/9738NScbChQtd7m/ZsmVuy/PuL79Ro0YZoaGhRmZmpnNZly5dDEnGO++841zmcDiMmJgY46abbvJqf66//nqjU6dOzuvz5s0zKlasaBw9etSl3dChQw1Jxr333utclpuba/Tp08cIDg42jh07ZhiGYdx///1GZGSkce7cuQK3OW7cOEOS8d///te57PTp00a9evWMuLg4IycnxzAMw9i3b58hyZg/f77LPnfp0sXtPocOHWrUrVvXef3YsWOGJGPKlClubbt37240b97c5bHMzc01OnbsaDRs2LDAuvNIKvDv/fffd6lVkjFnzhyX9fP2KzIy0u1xbtWqlVG9enXjxIkTzmU//fSTERQUZAwZMsS5bMqUKYYkY9CgQUXWaxiG8cYbbxiSjJ9//tnttrzX6rlz54yYmBjjySefNAzDMH755RdDkrFu3TqX131+n3zyiSHJ2L17t2EYhmG3242QkBBj+vTpHve5oL+NGze61RUcHGzcc889Re7b+X3NMAxjxowZhiTjvffecy7LysoyOnToYISHhxt2u92lLk/PRWHbS0hIMI4dO2YcO3bM+Pnnn43bb7/dkGSMGTPG2c7bPp+ammpUrFjR6N+/v0u7qVOnGpKMoUOHOpflPQ+dO3d26WOnT582KleubIwcOdLlPlJTU42oqCjn8pMnTxqSjOeff77A/fvss888PtfnO79/9e/f3wgODjb27t3rXPbnn38aERERxjXXXOO2Dz169DByc3Ody8ePH29UqFDBOHXqVKHbzXvtHzt2zHjwwQeNBg0aOG+76qqrjOHDhzvry/98ePuaWLJkiSHJeO6555ztzp07Z1x99dVuxyNvjyVr1qwxJBlr1qwxDMMwfvzxR0OS8fHHHxe6rwCAwJT3Xrhy5Urj2LFjxu+//2588sknRnR0tGGz2Yzff/+90PW9eT8/evSoERwcbPTp08fl/fbRRx91G1/kvbcWVOe+ffucy4r7OeX8cfC7775rBAUFuXwOMAzDmDNnjiHJ+OabbwzDMIytW7cakozRo0e7tBs8eHCBY/z8Vq5caUgyvvjiC7fbunTpYjRq1Mg5ltu5c6fx0EMPGZLcxpTff/+9ERMTY3z22WcFbuuuu+4yKlWqVGg9huE6hsmT9zwlJCQ4PwMZhmHMnDnTkGS89dZbLnV7ekyL2t6uXbuMY8eOGfv37zfeeusto1KlSkZ0dLSRnp5uGMbfY5eGDRsaiYmJLq+VjIwMo169esZ1113nXNa3b18jNDTUOHTokHPZ7t27jYoVK7q9hiQZQUFBxvbt212WjxgxwqhZs6Zx/Phxl+W33nqrERUV5XyN3XDDDUbTpk0L3ceoqCiX8Z4n539OzBvrTZs2zaXdgAEDDIvFYuzZs8dlH4KDg12W/fTTT4Yk49VXXy10u3mfM55//nlj27ZtLp9/Z82aZYSHhxvp6enG0KFDjbCwMOd63r4msrKyjOrVqxutWrUyHA6Hs928efMMSS6fmb3td4bx92ed/MeHli1buvULwEw4rQpQhLzTkHz55Zc6ffq0vvzyywK/zv/xxx8rKipK1113nY4fP+78a926tcLDw13OU1epUiXn5dOnT+v48eO6+uqrlZGR4XIKAUkKDw/Xbbfd5rweHBystm3b6rfffiuy/hMnTmj58uUaNGiQc9lNN90ki8Wijz76yOM6Y8eOdV7O+9/+rKwsrVy5UtLfM4DT09ML/ZrVV199pbZt27qcBiQ8PFx33XWX9u/fX+xTWhTHX3/9pdWrV2vgwIHOx/b48eM6ceKEEhMTtXv3bh06dKjI+7nhhhu0YsUKt79u3bq5tLPZbBo+fLjH+7jppptcZlkcPnxYW7du1bBhw1xmLrdo0ULXXXedvvrqK7f7uPvuu73a7xMnTkgqfCZShQoVNHDgQOd5nBcuXKjY2FjnVy89Wbhwodq0aeP8UaG8U3kUdGqVu+66y+Pj1qRJE7e2VapU8TjL3BtfffWVYmJiXF7bVqtV9913n86cOaN169a5tD//uShKSkqKoqOjFR0drebNm+vdd9/V8OHDXWZMedvnV61apXPnzmn06NEu27j33nsL3P7IkSNVoUIF5/UVK1bo1KlTGjRokMu2KlSooHbt2jm3ValSJQUHB2vt2rVup3bJkzdb6ssvv1R2drZXj0dOTo5SUlLUv39/1a9f37m8Zs2aGjx4sNavXy+73e6yzl133eXy9durr75aOTk5OnDggFfblP7+tsOePXv0ww8/OP8t6Bjs7Wviq6++UsWKFXXPPfc421WoUMHt+biYY0nezPDly5eX+vlXAQBlR48ePRQdHa3Y2FgNGDBAYWFh+ve//+1yyjRPvHk/X7lypbKystx+KDJvVu6FKs7nFE/j4I8//liNGzdWo0aNXMYs1157rSQ5xyx549777rvPZX1v6y9q7Ltz507nWK5Ro0Z6/vnn1a9fPy1YsMClXf/+/WWxWDRjxgx17dpVN9xwg9t9ValSRWfPnr2g9/S852ncuHEu5zMfOXKkIiMj3U47Wdhni4Jcfvnlio6OVlxcnO644w41aNBAS5cuVWhoqKS/f7h09+7dGjx4sE6cOOF8TtLT09W9e3d9/fXXys3NVU5OjlauXKn+/furVq1azvtv0KBBgd9Y7tKli8s43zAMffrpp+rbt68Mw3B5DSQmJiotLc15SpTKlSvrjz/+0A8//FDgvlWuXFnfffed/vzzT68fj6+++koVKlRwe2098MADMgxDS5cudVneo0cP57dqpb8/m0VGRnr1eTtP06ZN1aJFC+fnrEWLFumGG25wPgf5efua2LRpk44ePaq7777b5ZvLeacGzM/bfudJ5cqVtX37du3evdvr/QUCCadVAYoQHR2tHj16aNGiRcrIyFBOTo4GDBjgse3u3buVlpam6tWre7w9/7nttm/frscee0yrV692C5TOPx9t7dq13c7vVqVKFf3vf/8rsv4PP/xQ2dnZuuKKK7Rnzx7n8nbt2mnhwoUaM2aMS/ugoCCX4Ev6vx+pyft63ujRo/XRRx+pV69euvTSS5WQkKCBAweqZ8+eznUOHDjgdooF6e/TZOTd3qxZsyLrvxB79uyRYRiaPHmyJk+e7LHN0aNHPf5oZX61a9cu8Pzd+V166aUug5X86tWr53I9LxS8/PLL3do2btxYy5cvV3p6usLCwgq8j6IYRfzA5eDBg/XKK6/op59+0qJFi3TrrbcWeJ7GU6dO6auvvtLYsWNdXj+dOnXSp59+ql9//dXlR4wkqWHDhl49bnm1enOOSE8OHDighg0buv1oUv7XWH7FfRzbtWunadOmKScnR9u2bdO0adN08uRJl+fa2z6fV0vefzDkqVq1aoEf6M6vN2+wmjfAPV9kZKSkvz9QPfvss3rggQdUo0YNtW/fXtdff72GDBniPA1Oly5ddNNNNykpKUnTp09X165d1b9/fw0ePLjAHzM6duyYMjIyCnzt5ubm6vfff3f54dU6deq4tMvb14I+5HtyxRVXqFGjRlq0aJEqV66smJiYAh8Db18TBw4cUM2aNRUeHu7S7vx9u5hjSb169TRhwgS99NJLWrhwoa6++mr169dPt912G6dUAQATmTVrli677DKlpaXprbfe0tdff+3yXpuVlaW//vrLZZ3o6Giv3s/z3tcaNmzotr43p20pSHE+p3gaB+/evVs7duwo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rVoVOJuzX79+uvfee7VlyxZdeeWVkqSQkBAtW7ZMQ4cOVbt27bR06VL95z//0aOPPuo8RcSdd96pv/76S9dee61q166tAwcO6NVXX1WrVq2cMyomTpyo999/X7169dJ9992nqlWr6u2339a+ffv06aefFnpahDvuuEMvvfSSEhMTNWLECB09elRz5sxR06ZNXc57WKlSJTVp0kQffvihLrvsMlWtWlXNmjVTs2bNNGvWLHXu3FnNmzfXyJEjVb9+fR05ckQbN27UH3/8oZ9++qnIx+/XX391mWWbp0aNGrruuuuKXL8gzz//vHr16qUOHTpoxIgROnv2rF599VVFRUVp6tSpF3y/ISEhSkhI0MqVK/XEE08U2rZu3bpFbmvRokUyDEP9+vXzeHvv3r1VsWJFLVy40OX88lu2bPH4uMXHx6tDhw7O6ytWrFCdOnWK/bXgPHfddZfmzp2rYcOGafPmzYqLi9Mnn3yib775RjNmzHA7x6Av9OrVS82aNdNLL72kMWPGeN3na9Soofvvv18vvvii+vXrp549e+qnn37S0qVLVa1aNa9md0RGRmr27Nm6/fbbdeWVV+rWW29VdHS0Dh48qP/85z/q1KmTZs6cqV9//VXdu3fXwIED1aRJE1WsWFGfffaZjhw5oltvvVWS9Pbbb+u1117TjTfeqPj4eJ0+fVqvv/66IiMjC/0PmmnTpmnFihXq3LmzRo8erYoVK2ru3LlyOBx67rnnfPY4e3L//fcX2cbb10Tfvn3VqVMnTZw4Ufv371eTJk20ePFitw9fki74WLJ69WqNHTtWN998sy677DKdO3dO7777rvMDIwDAvB566CHdfPPNWrBgQYE/vO7N+3l0dLQefPBBJScn6/rrr1fv3r31448/OscX+SUkJKhOnToaMWKEHnroIVWoUEFvvfWWcyyRxxefU26//XZ99NFHuvvuu7VmzRp16tRJOTk52rlzpz766CMtX75cbdq0UatWrTRo0CC99tprSktLU8eOHbVq1SqvZyhL0g033KDPPvvM69+xadKkiXr37q033nhDkydPdp6apTCbN2/WX3/95fGHOr0RHR2tSZMmKSkpST179lS/fv20a9cuvfbaa7rqqqt02223XdD9FsZqter+++/XQw89pGXLlqlnz55644031KtXLzVt2lTDhw/XpZdeqkOHDmnNmjWK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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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i+LUU0+No446Kho3bhwREe+8804ceOCB0bRp0/jVr34VOTk5cdddd8UhhxwSf/7zn8vcm+q8886Lli1bxogRIzb6TcYNJ62nn356pT/LDW699dY49thj47TTTos1a9bEI488EieddFI8++yzJd/weuedd+KYY46JH/7wh3HNNddEbm5uzJ07N/7617+WvM4999wTF1xwQZx44okxbNiwWL16dbz11lvx6quvpp7c/+EPf4i77747Zs2aFb/73e8iImK//fYrt29FjrnCwsL43e9+F6eeemqcddZZsXz58rj33nujd+/eMWvWrOjatWu0bNky7rzzzjj33HPjuOOOi+OPPz4iIn74wx+mfkZnnnlmPPDAA3HiiSfGL3/5y3j11Vdj9OjR8e6775YJY+bOnRsnnnhinHHGGTFw4MAYP358DBo0KLp16xZ77LFHhf5N+vfvH8OGDYuvv/46GjduHOvWrYtHH300CgoKyl3i7v7774/BgwfHj370oxg9enQsWrQobr311vjrX/8ab7zxRsk3GqdMmRInnHBCdOrUKUaPHh1ffvllDB48uNzA8uyzzy553QsuuCA+/vjjuP322+ONN96Iv/71r6lXjW3KcQAAUFtt+JLctttuW9KWNmep6PnV/fffH0OGDIk99tgjhg8fHs2aNYs33ngjJk+enHo+NXXq1Dj11FPjJz/5SVx//fUREfHuu+/GX//61xg2bFhq/RU9j4yIWL9+ffTu3Tu6d+8ev/3tb+OFF16Im266KXbcccc499xzU/exsXP+ypxnv/fee3HqqafG2WefHWeddVbsuuuu5e7vgw8+iDlz5sSQIUOiSZMmqXVtzNSpU+Ojjz6KwYMHR+vWreOdd96Ju+++O955553429/+VhKynHPOOfHYY4/F0KFDo1OnTvHll1/Gyy+/HO+++27svffesWbNmujdu3cUFRXFL37xi2jdunV8/vnn8eyzz8ayZcti6623LrPvjc0ry1OR46Ui8+Wzzz47vvjii5g6dWr84Q9/+M7PqLJz3F/84hexzTbbxMiRI2PevHkxZsyYGDp0aEycOLFC/yYHHXRQbL/99vHQQw/FNddcExEREydOjMaNG5d7ZdKqVavikEMOiblz58bQoUOjY8eO8eijj8agQYNi2bJlJeMiSZL46U9/Gi+//HKcc845sfvuu8eTTz4ZAwcOLPc977///tG2bdu47LLLYquttoo//vGP0bdv33j88cfL/A5hg005DoA6LgGoA/7xj38kEZFMnTo1SZIkKS4uTrbffvtk2LBhpfqNGDEiiYjkiSeeKPMaxcXFSZIkyfjx45OISG6++ebUPtOnT08iIpk+fXqp5z/++OMkIpL77ruvpG3gwIFJRCSXXXZZmddbuXJlmbbRo0cnWVlZySeffFLSdtBBByVNmjQp1fbNepIkSYYPH57k5uYmy5YtK2lbvHhxUr9+/WTkyJFl9lNe3TfeeGOp9r59+yYNGjRIPvzww5K2L774ImnSpEly0EEHlbTdd999SUQkBxxwQLJu3bqN7itJkmSvvfZKtt566+/st8HAgQOT9u3bl2r79me3Zs2aZM8990wOO+ywkrZbbrkliYhkyZIlqa/905/+NNljjz02uv8N7+/jjz8uVdNWW21Vpm/79u2TgQMHljyuyDG3bt26pKioqNRz//73v5P8/PxkyJAhJW1LlixJIqLcf8+RI0cm3/zf+uzZs5OISM4888xS/S6++OIkIpIXX3yxVM0Rkbz00kslbYsXL05yc3OTX/7yl2X29W0RkZx//vnJV199lTRo0CD5wx/+kCRJkjz33HNJVlZWMm/evJL6NvxbrFmzJmnVqlWy5557JqtWrSp5rWeffTaJiGTEiBElbV27dk3atGlT6tieMmVKEhGljou//OUvSUQkEyZMKFXf5MmTy7QffPDBycEHH1zyuCLHAQBAbbPhPPaFF15IlixZknz66afJI488kmy77bZJw4YNk88++yxJkvQ5S0XPr5YtW5Y0adIk6d69e6lzuyQpPWf59nn9sGHDkqZNm250DvHtuVdlziM3vK9rrrmm1GvutddeSbdu3VL3+c3tv33Ovynn2ZMnT/7OfT399NNJRCS33HLLd/ZNkvLnnuXNLx9++OEy5/pbb711cv7556e+9htvvJFERPLoo49utIZvz33S5pXfnk9V9Hip6Hz5/PPPLzUX+qZvz58qO8ft2bNnqZouuuiipF69eqXmJuX55vzn4osvTnbaaaeS5370ox8lgwcPLqnvm/8WY8aMSSIiefDBB0va1qxZk/To0SNp3LhxUlhYmCRJkjz11FNJRCQ33HBDSb9169YlBx54YJnj4ic/+UnSuXPnZPXq1SVtxcXFyX777ZfsvPPOJW3fHmsVPQ6A7w/L3AF1woQJEyI/Pz8OPfTQiPjvpez9+vWLRx55pNTyBY8//nh06dKl3G/ebPiW1uOPPx4tWrSIX/ziF6l9NkV533pr2LBhyd9XrFgRS5cujf322y+SJIk33ngjIv677vRLL70UQ4YMiR/84Aep9QwYMCCKiopKLfU2ceLEWLduXfzsZz+rdL3r16+PKVOmRN++fWOHHXYoaW/Tpk30798/Xn755SgsLCy1zVlnnRX16tX7ztcuLCzc5G/bbfDNz+7f//53/Oc//4kDDzyw1NIMG76R+PTTT6fe6LdZs2bx2Wefxd///vfNqidNRY65evXqlazDXlxcHF999VWsW7cu9tlnn1LvpzImTZoUEREFBQWl2n/5y19GRMRzzz1Xqr1Tp05x4IEHljxu2bJl7LrrrvHRRx9VeJ/bbLNNHHHEESVrgj/00EOx3377lSx38U3/+Mc/YvHixXHeeeeVutfT0UcfHbvttltJfQsWLIjZs2fHwIEDS33z7fDDD49OnTqVes1HH300tt566zj88MNj6dKlJX+6desWjRs3LrVs4Ldt6eMAACCTevbsGS1btox27drFKaecEo0bN44nn3wy2rZtW6rft+csFT2/mjp1aixfvjwuu+yyMvfx3NgcqlmzZrFixYqYOnVqhd9LRc8jv+mcc84p9fjAAw+s1HnuN1X2PLtjx47Ru3fv73zdDXOrzZknfXOOtHr16li6dGn8+Mc/jogoM0969dVX44svvij3dTacdz///POxcuXKTa4nTUWPl4rMlytjU+a4P//5z0vVdOCBB8b69evjk08+qfB++/fvH3Pnzo2///3vJf9Nu1pv0qRJ0bp16zj11FNL2nJycuKCCy6Ir7/+Ov785z+X9Ktfv36pMVuvXr0yv8f46quv4sUXX4yTTz45li9fXjKGv/zyy+jdu3d88MEH5S4zHrHljwOg9hEmAbXe+vXr45FHHolDDz00Pv7445g7d27MnTs3unfvHosWLYpp06aV9P3www9T793yzT677rprld6ks379+uUuyTV//vwYNGhQNG/evGT97oMPPjgiomQN4g2TnO+qe7fddosf/ehHpe4VNWHChPjxj38cO+20U6VrXrJkSaxcubLcZRh23333KC4ujk8//bRUe8eOHSv02k2bNo3ly5dXuqZvevbZZ+PHP/5x5OXlRfPmzUuWgfvm2s39+vWL/fffP84888zIz8+PU045Jf74xz+WCpYuvfTSaNy4cey7776x8847x/nnn19qGbzNVZFjLiLigQceiB/+8IeRl5cX2267bbRs2TKee+65TV6L+pNPPons7Owy//atW7eOZs2alZn8fDuojPhvOFSRew19U//+/WPq1Kkxf/78eOqpp1InSRv2X97xtdtuu5U8v+G/O++8c5l+3972gw8+iP/85z/RqlWraNmyZak/X3/9dSxevDi17i19HAAAZNLYsWNj6tSpMX369PjXv/4VH330UZmAo7w5S0XPrzYsm1eR895vOu+882KXXXaJI488MrbffvsYMmRITJ48eaPbVPQ8coO8vLySe49usCnnud/cf2XOsyszR4qIzZonffXVVzFs2LDIz8+Phg0bRsuWLUv2/815xQ033BBvv/12tGvXLvbdd9+4+uqrS4VrHTt2jIKCgvjd734XLVq0iN69e8fYsWOr7D45FT1eKjJfroxNmeN+e560zTbbRERU6vjZa6+9YrfddouHHnooJkyYEK1bty65b9m3ffLJJ7HzzjtHdnbpX9nuvvvuJc9v+G+bNm3KLCX47fc2d+7cSJIkrrrqqjJjeOTIkRERqfOkLX0cALWPeyYBtd6LL74YCxYsiEceeSQeeeSRMs9PmDAhevXqVaX7TPt2XdpNXHNzc8ucDK5fvz4OP/zw+Oqrr+LSSy+N3XbbLbbaaqv4/PPPY9CgQalX0mzMgAEDYtiwYfHZZ59FUVFR/O1vf4vbb7+90q+zqb75zbGN2W233eKNN96ITz/9NNq1a1fp/fzlL3+JY489Ng466KC44447ok2bNpGTkxP33XdfqRu2NmzYMF566aWYPn16PPfcczF58uSYOHFiHHbYYTFlypSoV69e7L777vHee+/Fs88+G5MnT47HH3887rjjjhgxYkSMGjWq0rVtigcffDAGDRoUffv2jUsuuSRatWoV9erVi9GjR5dMtDZVRa+mS7uiLEmSSu3v2GOPjdzc3Bg4cGAUFRXFySefXKntN0dxcXG0atWqVKD6Td/+JcI31YTjAABgS9l3331jn3322Wif8uYsm3N+VRGtWrWK2bNnx/PPPx9/+tOf4k9/+lPcd999MWDAgHjggQc267U3qMjKCZuioufZlZkjRUT885//3OSaTj755HjllVfikksuia5du0bjxo2juLg4jjjiiFLzy5NPPjkOPPDAePLJJ2PKlClx4403xvXXXx9PPPFEHHnkkRERcdNNN8WgQYPi6aefjilTpsQFF1wQo0ePjr/97W/lflGyqm2J+fKmqKp5Uv/+/ePOO++MJk2aRL9+/cqMtS1lw+d08cUXp14ht7Evn2b6OABqFmESUOtNmDAhWrVqFWPHji3z3BNPPBFPPvlkjBs3Lho2bBg77rhjvP322xt9vR133DFeffXVWLt2bcnNZL9tw7eRli1bVqq9Mpe6//Of/4z3338/HnjggRgwYEBJ+7eXeNhw+f131R0Rccopp0RBQUE8/PDDsWrVqsjJyYl+/fpVuKZvatmyZTRq1Cjee++9Ms/NmTMnsrOzNykIiojo06dPPPzww/Hggw/G8OHDK739448/Hnl5efH8889Hbm5uSft9991Xpm92dnb85Cc/iZ/85Cdx8803x3XXXRdXXHFFTJ8+PXr27BkREVtttVX069cv+vXrF2vWrInjjz8+rr322hg+fHiZZRcqqyLH3GOPPRY77LBDPPHEE6UmpRu+KbZBZZZZbN++fRQXF8cHH3xQ8i22iIhFixbFsmXLyl16rio0bNgw+vbtGw8++GAceeSR0aJFi9T6Iv57Q+JvfyvvvffeK3l+w38/+OCDMq/x7WNzxx13jBdeeCH233//Ck/av2lLHgcAALVRRc+vdtxxx4j475ylsqsiNGjQIPr06RN9+vSJ4uLiOO+88+Kuu+6Kq666qtzXquh55Jaypc6zd9lll9h1113j6aefjltvvbXMFSff5d///ndMmzYtRo0aFSNGjChpL+88OuK/S7udd955cd5558XixYtj7733jmuvvbYkTIqI6Ny5c3Tu3DmuvPLKeOWVV2L//fePcePGxW9+85tNeo8bVOR4qeh8OaLi86QtOcf9Lv37948RI0bEggUL4g9/+ENqv/bt28dbb70VxcXFpQKnOXPmlDy/4b/Tpk2Lr7/+utSx8u33tuH3CTk5OSXz38raUscBUPtY5g6o1VatWhVPPPFEHHPMMXHiiSeW+TN06NBYvnx5PPPMMxERccIJJ8Sbb74ZTz75ZJnX2vDNohNOOCGWLl1a7hU9G/q0b98+6tWrFy+99FKp5++4444K177hG07f/EZTkiRx6623lurXsmXLOOigg2L8+PExf/78cuvZoEWLFnHkkUfGgw8+GBMmTIgjjjgi9Zf5FamvV69e8fTTT8e8efNK2hctWhQPPfRQHHDAASVLMVTWiSeeGJ07d45rr702Zs6cWeb55cuXxxVXXLHR2rKyskpdCTZv3rx46qmnSvX76quvymzbtWvXiIgoKiqKiIgvv/yy1PMNGjSITp06RZIksXbt2oq+pVQVOebKOxZeffXVMp9No0aNIqJsiFmeo446KiIixowZU6r95ptvjoj/rim/pVx88cUxcuTIuOqqq1L77LPPPtGqVasYN25cyb9FRMSf/vSnePfdd0vqa9OmTXTt2jUeeOCBUsspTJ06Nf71r3+Ves2TTz451q9fH7/+9a/L7G/dunUb/dy29HEAAFAbVfT8qlevXtGkSZMYPXp0rF69ulS/jV3B8e1zsOzs7PjhD38YEVHqHPGbKnoeuaVsyfPsUaNGxZdffhlnnnlmrFu3rszzU6ZMiWeffbbcbcubU5RX5/r168ssU9aqVavYbrvtSj7PwsLCMvvv3LlzZGdnp/67VEZFjpeKzpcj/vulsIjvnidtyTnud9lxxx1jzJgxMXr06Nh3331T+x111FGxcOHCmDhxYknbunXr4rbbbovGjRuXLPN31FFHxbp16+LOO+8s6bd+/fq47bbbSr1eq1at4pBDDom77rorFixYUGZ/S5YsSa1lSx8HQO3jyiSgVnvmmWdi+fLlceyxx5b7/I9//ONo2bJlTJgwIfr16xeXXHJJPPbYY3HSSSfFkCFDolu3bvHVV1/FM888E+PGjYsuXbrEgAED4ve//30UFBTErFmz4sADD4wVK1bECy+8EOedd1789Kc/ja233jpOOumkuO222yIrKyt23HHHePbZZzd6T5Zv22233WLHHXeMiy++OD7//PNo2rRpPP744+Wuvfw///M/ccABB8Tee+8dP//5z6Njx44xb968eO6552L27Nml+g4YMCBOPPHEiIhyJ32V8Zvf/CamTp0aBxxwQJx33nlRv379uOuuu6KoqChuuOGGTX7dnJyceOKJJ6Jnz55x0EEHxcknnxz7779/5OTkxDvvvBMPPfRQbLPNNnHttdeWu/3RRx8dN998cxxxxBHRv3//WLx4cYwdOzZ22mmneOutt0r6XXPNNfHSSy/F0UcfHe3bt4/FixfHHXfcEdtvv30ccMABEfHfiUzr1q1j//33j/z8/Hj33Xfj9ttvj6OPPnqzbn67QUWOuWOOOSaeeOKJOO644+Loo4+Ojz/+OMaNGxedOnWKr7/+uuS1GjZsGJ06dYqJEyfGLrvsEs2bN48999yz3LXGu3TpEgMHDoy77747li1bFgcffHDMmjUrHnjggejbt28ceuihm/3e0nTp0iW6dOmy0T45OTlx/fXXx+DBg+Pggw+OU089NRYtWhS33nprdOjQIS666KKSvqNHj46jjz46DjjggBgyZEh89dVXcdttt8Uee+xR6vM5+OCD4+yzz47Ro0fH7Nmzo1evXpGTkxMffPBBPProo3HrrbeWjI1v29LHAQBAbVTR86umTZvGLbfcEmeeeWb86Ec/iv79+8c222wTb775ZqxcuTJ1ybozzzwzvvrqqzjssMNi++23j08++SRuu+226Nq1a6mrfr6pMueRW8KWPM/u169f/POf/4xrr7023njjjTj11FOjffv28eWXX8bkyZNj2rRppZb1/qamTZvGQQcdFDfccEOsXbs22rZtG1OmTImPP/64VL/ly5fH9ttvHyeeeGJ06dIlGjduHC+88EL8/e9/j5tuuiki/ruU/NChQ+Okk06KXXbZJdatWxd/+MMfol69enHCCSds8vv7Zq3fdbxUZr7crVu3iIi44IILonfv3lGvXr045ZRTyt33lprjVsSwYcO+s8/Pf/7zuOuuu2LQoEHx2muvRYcOHeKxxx6Lv/71rzFmzJiSuUmfPn1i//33j8suuyzmzZsXnTp1iieeeKLc+xmNHTs2DjjggOjcuXOcddZZscMOO8SiRYti5syZ8dlnn8Wbb75Zbi1b+jgAaqEEoBbr06dPkpeXl6xYsSK1z6BBg5KcnJxk6dKlSZIkyZdffpkMHTo0adu2bdKgQYNk++23TwYOHFjyfJIkycqVK5Mrrrgi6dixY5KTk5O0bt06OfHEE5MPP/ywpM+SJUuSE044IWnUqFGyzTbbJGeffXby9ttvJxGR3HfffSX9Bg4cmGy11Vbl1vavf/0r6dmzZ9K4ceOkRYsWyVlnnZW8+eabZV4jSZLk7bffTo477rikWbNmSV5eXrLrrrsmV111VZnXLCoqSrbZZptk6623TlatWlWRjzH5+OOPk4hIbrzxxjLPvf7660nv3r2Txo0bJ40aNUoOPfTQ5JVXXinV57777ksiIvn73/9eof1t8O9//zsZMWJE0rlz56RRo0ZJXl5esueeeybDhw9PFixYUNJv4MCBSfv27Utte++99yY777xzkpubm+y2227Jfffdl4wcOTL55v/apk2blvz0pz9Ntttuu6RBgwbJdtttl5x66qnJ+++/X9LnrrvuSg466KBk2223TXJzc5Mdd9wxueSSS5L//Oc/Zd7fxx9/XKqm8v5d27dvnwwcOLBU23cdc8XFxcl1112XtG/fPsnNzU322muv5Nlnny33fb/yyitJt27dkgYNGiQRkYwcOTJJkqTMe0+SJFm7dm0yatSokuO4Xbt2yfDhw5PVq1eXqfnoo48u814OPvjg5OCDDy7T/m0RkZx//vkb7bOhviVLlpRqnzhxYrLXXnslubm5SfPmzZPTTjst+eyzz8ps//jjjye77757kpubm3Tq1Cl54oknyv18kiRJ7r777qRbt25Jw4YNkyZNmiSdO3dOfvWrXyVffPFF6nuryHEAAFDbVPQ8fWNzliSp2PlVkiTJM888k+y3335Jw4YNk6ZNmyb77rtv8vDDD5fazzfP3x577LGkV69eSatWrZIGDRokP/jBD5Kzzz671Fxg+vTpSUQk06dPL7WvipxHpr2v8s6dK/O5bO559nfZMI9p1apVUr9+/aRly5ZJnz59kqeffrqkz4Y53DfnjZ999lnJnHHrrbdOTjrppOSLL74oNW8oKipKLrnkkqRLly5JkyZNkq222irp0qVLcscdd5S8zkcffZQMGTIk2XHHHZO8vLykefPmyaGHHpq88MILZd7fN+c+afPK8uZTSfLdx0tF58vr1q1LfvGLXyQtW7ZMsrKySv3bfvO9b7A5c9y04/Hb0uY/31beXGrRokXJ4MGDkxYtWiQNGjRIOnfuXOb3A0ny33nm6aefnjRt2jTZeuutk9NPPz154403yv19wocffpgMGDAgad26dZKTk5O0bds2OeaYY5LHHnss9b1V9DgAvj+ykqSSd4wDoEZbt25dbLfddtGnT5+49957M10OAAAAAFDLuWcSQB3z1FNPxZIlS0rdpBQAAAAAYFO5Mgmgjnj11Vfjrbfeil//+tfRokWLeP311zNdEgAAAABQB7gyCaCOuPPOO+Pcc8+NVq1axe9///tMlwMAAAAA1BGuTAIAAAAAACCVK5MAAAAAAABIVT/TBVS34uLi+OKLL6JJkyaRlZWV6XIAAIBqkCRJLF++PLbbbrvIzvaduvKYKwEAwPdPRedK37sw6Ysvvoh27dplugwAACADPv3009h+++0zXUaNZK4EAADfX981V/rehUlNmjSJiP9+ME2bNs1wNQAAQHUoLCyMdu3alcwHKMtcCQAAvn8qOlf63oVJG5ZraNq0qQkSAAB8z1i+LZ25EgAAfH9911zJYuEAAAAAAACkEiYBAAAAAACQSpgEAAAAAABAKmESAAAAAAAAqYRJAAAAAAAApBImAQAAAAAAkEqYBAAAAAAAQCphEgAAAAAAAKmESQAAAAAAAKQSJgEAAAAAAJBKmAQAAAAAAEAqYRIAAAAAAACphEkAAAAAAACkEiYBAAAAAACQSpgEAAAAAABAKmESAAAAAAAAqYRJAAAAAAAApBImAQAAAAAAkEqYBAAAAAAAQCphEgAAAAAAAKmESQAAAAAAAKQSJgEAAAAAAJCqfqYLgC1hwYIFsWDBgmrbX5s2baJNmzbVtj8AAIBNYa4EAMCmECZRJ911110xatSoatvfyJEj4+qrr662/QEAAGwKcyUAADaFMIk66eyzz45jjz22wv1XrVoVBxxwQEREvPzyy9GwYcNK7c837QAAqEovvfRS3HjjjfHaa6/FggUL4sknn4y+fftudJsZM2ZEQUFBvPPOO9GuXbu48sorY9CgQdVSL7WHuRIAAJtCmESdVNmlFFasWFHy965du8ZWW221JcoCAIAKWbFiRXTp0iWGDBkSxx9//Hf2//jjj+Poo4+Oc845JyZMmBDTpk2LM888M9q0aRO9e/euhoqpLcyVoO6znCUAW4IwCQAAoIY58sgj48gjj6xw/3HjxkXHjh3jpptuioiI3XffPV5++eW45ZZbUsOkoqKiKCoqKnlcWFgYERFr166NtWvXbkb11CXfPBYcG1A73HHHHfGb3/ym2vZ35ZVXxogRI6ptf0DE7Nmz49133622/e2+++7RtWvXatsf1aui53fCJAAAgFpu5syZ0bNnz1JtvXv3jgsvvDB1m9GjR5d775wpU6ZEo0aNqrpEaqnVq1eX/P3555+PvLy8DFYDVMQOO+xQ8uWCilizZk0MHz48Iv77/4YGDRpUan/bbLNNTJo0qVLbAJvniiuuiHfeeafa9rfHHnvEtddeW237o3qtXLmyQv2ESQAAALXcwoULIz8/v1Rbfn5+FBYWxqpVq8q9z83w4cOjoKCg5HFhYWG0a9cuevXqFU2bNt3iNVM7fHOZu969e1vmjio1dvrcTJdQN7WNyG5b8e5Zq1dGxH/DpKxOh0d2XuW+UPCf//8PVev8Q3fKdAlVwjjfMo4479fRdX71fbatf7BTfNxwl2rb3/dFTRnnG1Yo+C7CJAAAgO+h3NzcyM3NLdOek5MTOTk5GaiImuibx4Jjg6qWZNXLdAl1UuGXi6PwqyUV7r+m6P+uQPzsw/ejQW7lrkBs2rxlNN22VaW24bvVlZ+3xvmW0XbnPaLtzntU6z6Tat3b90NNGecVrUOYBAAAUMu1bt06Fi1aVKpt0aJF0bRp03KvSgKg7nrluYkx5cHbN2nb2wv6V3qbXj8bGkcM+MUm7Q+A2kOYBAAAUMv16NGjzP0qpk6dGj169MhQRQBkyn5H94s9exxWbftr2rxlte0LgMwRJgEAANQwX3/9dcyd+3/r4H/88ccxe/bsaN68efzgBz+I4cOHx+effx6///3vIyLinHPOidtvvz1+9atfxZAhQ+LFF1+MP/7xj/Hcc89l6i1stlumvp/pEoiIolX/d0Pm26Z9ELkNK3cvFbaMiw533wrSNd22lWXnAKhy2ZkuAAAAgNL+8Y9/xF577RV77bVXREQUFBTEXnvtFSNGjIiIiAULFsT8+fNL+nfs2DGee+65mDp1anTp0iVuuumm+N3vfhe9e/fOSP0AAEDd4sokAACAGuaQQw6JJEm/zfH9999f7jZvvPHGFqwKAAD4vnJlEgAAAAAAAKmESQAAAAAAAKQSJgEAAAAAAJBKmAQAAAAAAEAqYRIAAAAAAACp6mdy5y+99FLceOON8dprr8WCBQviySefjL59+250mxkzZkRBQUG888470a5du7jyyitj0KBB1VIvADXHggULYsGCBdW2vzZt2kSbNm2qbX8AAAAAUFNkNExasWJFdOnSJYYMGRLHH3/8d/b/+OOP4+ijj45zzjknJkyYENOmTYszzzwz2rRpE717966GigGoKe66664YNWpUte1v5MiRcfXVV1fb/gAAtoTCLxdH4VdLKtx/TdHqkr9//uG70SA3r1L7a9q8ZTTdtlWltgEAoObJaJh05JFHxpFHHlnh/uPGjYuOHTvGTTfdFBERu+++e7z88stxyy23CJMAvmfOPvvsOPbYYyvcf9WqVXHAAQdERMTLL78cDRs2rNT+XJUE1c8ViABV75XnJsaUB2/fpG1vL+hf6W16/WxoHDHgF5u0PwAAao6MhkmVNXPmzOjZs2eptt69e8eFF16Yuk1RUVEUFRWVPC4sLIyIiLVr18batWu3SJ3UPt88FhwbUDu0aNEiWrRoUeH+K1asKPn7HnvsEVtttVWl9+lnA1SvO+64I37zm99U2/6uvPLKGDFiRLXtj+rlZzj8135H94s9exxWbftr2rxlte0LAIAtp1aFSQsXLoz8/PxSbfn5+VFYWBirVq0q91vmo0ePLncZpClTpkSjRo22WK3ULqtX/9/SDc8//3zk5VVu6Qag5jPOofZp3rx5XHTRRRXuv3bt2rj99v9+237o0KGRk5NT6f1NmjSpUttQe6xcuTLTJUCN0HTbVpadAwCg0mpVmLQphg8fHgUFBSWPCwsLo127dtGrV69o2rRpBiujJvnmFQu9e/fepCsWgJrNOGdLGjt9bqZLqJOef31KPP/gHZu07YZQqTJ6/+y8OGKPIzZpf6Q7/9CdMl1CRPzfCgUAAABUXq0Kk1q3bh2LFi0q1bZo0aJo2rRp6r0vcnNzIzc3t0x7Tk5Opb+tSt31zWPBsUFVu2Xq+5kugYgoWvV/30gf99K8yG3o6tSa4KLDd8l0CVUiyaqX6RLqpB5Hnxp79Oj53R2rSNPmLf1bbgE15byqptQBAABQG9WqMKlHjx5llh6ZOnVq9OjRI0MVAQCwpViKCQAAAGqG7Ezu/Ouvv47Zs2fH7NmzIyLi448/jtmzZ8f8+fMj4r9L1A0YMKCk/znnnBMfffRR/OpXv4o5c+bEHXfcEX/84x8rtZY+AAAAAAAAFZfRK5P+8Y9/xKGHHlryeMO9jQYOHBj3339/LFiwoCRYiojo2LFjPPfcc3HRRRfFrbfeGttvv3387ne/i969e1d77QBkVuGXi6PwqyUV7r+maHXJ3z//8N1okJtXqf01bd7SFRIAAAAAfC9lNEw65JBDIkmS1Ofvv//+crd54403tmBVANQGrzw3MaY8ePsmbXt7Qf9Kb9PrZ0PjiAG/2KT9AQAAAEBtVqvumQQAG+x3dL/Ys8dh1ba/ps1bVtu+AAAAAKAmESYBUCs13baVZecAAAAAoBpkZ7oAAAAAAAAAai5hEgAAAAAAAKmESQAAAAAAAKQSJgEAAAAAAJBKmAQAAAAAAEAqYRIAAAAAAACphEkAAAAAAACkEiYBAAAAAACQSpgEAAAAAABAKmESAAAAAAAAqYRJAAAAAAAApBImAQAAAAAAkEqYBAAAAAAAQCphEgAAAAAAAKmESQAAAAAAAKQSJgEAAAAAAJCqfqYL+L67Zer7mS6BiChatbLk77dN+yByGzbKYDVscNHhu2S6BAAAAACA7z1XJgEAAAAAAJBKmAQAAAAAAEAqYRIAAAAAAACphEkAAAAAAACkEiYBAAAAAACQSpgEAAAAAABAKmESAAAAAAAAqYRJAAAAAAAApBImAQAAAAAAkEqYBAAAAAAAQCphEgAAAAAAAKmESQAAAAAAAKQSJgEAAAAAAJBKmAQAAAAAAEAqYRIAAAAAAACphEkAAAAAAACkEiYBAAAAAACQSpgEAAAAAABAKmESAAAAAAAAqYRJAAAAAAAApBImAQAAAAAAkEqYBAAAAAAAQCphEgAAAAAAAKmESQAAAAAAAKQSJgEAAAAAAJBKmAQAAAAAAEAqYRIAAAAAAACphEkAAAAAAACkEiYBAAAAAACQSpgEAAAAAABAKmESAAAAAAAAqYRJAAAAAAAApBImAQAAAAAAkEqYBAAAAAAAQCphEgAAAAAAAKmESQAAAAAAAKQSJgEAAAAAAJBKmAQAAAAAAEAqYRIAAAAAAACphEkAAAAAAACkEiYBAAAAAACQSpgEAAAAAABAKmESAAAAAAAAqYRJAAAAAAAApBImAQAAAAAAkKp+pguALaHwy8VR+NWSCvdfU7S65O+ff/huNMjNq9T+mjZvGU23bVWpbQAAAAAAoDYQJlEnvfLcxJjy4O2btO3tBf0rvU2vnw2NIwb8YpP2BwAAAAAANZkwiTppv6P7xZ49Dqu2/TVt3rLa9gUAAAAAANVJmESd1HTbVpadAwAAAACAKpCd6QIAAAAAAACouYRJAAAAAAAApBImAQAAAAAAkEqYBAAAAAAAQCphEgAAAAAAAKmESQAAADXQ2LFjo0OHDpGXlxfdu3ePWbNmbbT/mDFjYtddd42GDRtGu3bt4qKLLorVq1dXU7UAAEBdJkwCAACoYSZOnBgFBQUxcuTIeP3116NLly7Ru3fvWLx4cbn9H3roobjsssti5MiR8e6778a9994bEydOjMsvv7yaKwcAAOoiYRIAAEANc/PNN8dZZ50VgwcPjk6dOsW4ceOiUaNGMX78+HL7v/LKK7H//vtH//79o0OHDtGrV6849dRTv/NqJgAAgIqon+kCAAAA+D9r1qyJ1157LYYPH17Slp2dHT179oyZM2eWu81+++0XDz74YMyaNSv23Xff+Oijj2LSpElx+umnp+6nqKgoioqKSh4XFhZGRMTatWtj7dq1VfRuNl1Wsj7TJUCNVRPGaFUwziGdcQ51X00Z5xWtQ5gEAABQgyxdujTWr18f+fn5pdrz8/Njzpw55W7Tv3//WLp0aRxwwAGRJEmsW7cuzjnnnI0uczd69OgYNWpUmfYpU6ZEo0aNNu9NVIGOmS4AarBJk97PdAlVwjiHdMY51H01ZZyvXLmyQv2ESQAAALXcjBkz4rrrros77rgjunfvHnPnzo1hw4bFr3/967jqqqvK3Wb48OFRUFBQ8riwsDDatWsXvXr1iqZNm1ZX6anGTp+b6RKgxjr/0J0yXUKVMM4hnXEOdV9NGecbVij4LsIkAACAGqRFixZRr169WLRoUan2RYsWRevWrcvd5qqrrorTTz89zjzzzIiI6Ny5c6xYsSJ+/vOfxxVXXBHZ2WVvl5ubmxu5ubll2nNyciInJ6cK3snmSbLqZboEqLFqwhitCsY5pDPOoe6rKeO8onWUnVEAAACQMQ0aNIhu3brFtGnTStqKi4tj2rRp0aNHj3K3WblyZZnAqF69//7yJkmSLVcsAADwveDKJAAAgBqmoKAgBg4cGPvss0/su+++MWbMmFixYkUMHjw4IiIGDBgQbdu2jdGjR0dERJ8+feLmm2+Ovfbaq2SZu6uuuir69OlTEioBAABsKmESAABADdOvX79YsmRJjBgxIhYuXBhdu3aNyZMnR35+fkREzJ8/v9SVSFdeeWVkZWXFlVdeGZ9//nm0bNky+vTpE9dee22m3gIAAFCHCJMAAABqoKFDh8bQoUPLfW7GjBmlHtevXz9GjhwZI0eOrIbKAACA7xv3TAIAAAAAACCVMAkAAAAAAIBUGQ+Txo4dGx06dIi8vLzo3r17zJo1a6P9x4wZE7vuums0bNgw2rVrFxdddFGsXr26mqoFAAAAAAD4fslomDRx4sQoKCiIkSNHxuuvvx5dunSJ3r17x+LFi8vt/9BDD8Vll10WI0eOjHfffTfuvffemDhxYlx++eXVXDkAAAAAAMD3Q0bDpJtvvjnOOuusGDx4cHTq1CnGjRsXjRo1ivHjx5fb/5VXXon9998/+vfvHx06dIhevXrFqaee+p1XMwEAAAAAALBp6mdqx2vWrInXXnsthg8fXtKWnZ0dPXv2jJkzZ5a7zX777RcPPvhgzJo1K/bdd9/46KOPYtKkSXH66aen7qeoqCiKiopKHhcWFkZExNq1a2Pt2rVV9G42XVayPtMlQI1VE8ZoVTDOIZ1xDnVfTRnnNaUOAACA2ihjYdLSpUtj/fr1kZ+fX6o9Pz8/5syZU+42/fv3j6VLl8YBBxwQSZLEunXr4pxzztnoMnejR4+OUaNGlWmfMmVKNGrUaPPeRBXomOkCoAabNOn9TJdQJYxzSGecQ91XU8b5ypUrM10CAABArZWxMGlTzJgxI6677rq44447onv37jF37twYNmxY/PrXv46rrrqq3G2GDx8eBQUFJY8LCwujXbt20atXr2jatGl1lZ5q7PS5mS4BaqzzD90p0yVUCeMc0hnnUPfVlHG+YYUCAAAAKi9jYVKLFi2iXr16sWjRolLtixYtitatW5e7zVVXXRWnn356nHnmmRER0blz51ixYkX8/Oc/jyuuuCKys8veAio3Nzdyc3PLtOfk5EROTk4VvJPNk2TVy3QJUGPVhDFaFYxzSGecQ91XU8Z5TakDAACgNiqbvlSTBg0aRLdu3WLatGklbcXFxTFt2rTo0aNHudusXLmyTGBUr95/f3mTJMmWKxYAAAAAAOB7KqPL3BUUFMTAgQNjn332iX333TfGjBkTK1asiMGDB0dExIABA6Jt27YxevToiIjo06dP3HzzzbHXXnuVLHN31VVXRZ8+fUpCJQAAAAAAAKpORsOkfv36xZIlS2LEiBGxcOHC6Nq1a0yePDny8/MjImL+/PmlrkS68sorIysrK6688sr4/PPPo2XLltGnT5+49tprM/UWAAAAAAAA6rSMhkkREUOHDo2hQ4eW+9yMGTNKPa5fv36MHDkyRo4cWQ2VAQAAAAAAkLF7JgEAAAAAAFDzCZMAAAAAAABIJUwCAAAAAAAglTAJAAAAAACAVMIkAAAAAAAAUgmTAAAAAAAASCVMAgAAAAAAIJUwCQAAAAAAgFTCJAAAAAAAAFIJkwAAAAAAAEglTAIAAAAAACCVMAkAAAAAAIBUwiQAAAAAAABSCZMAAAAAAABIJUwCAAAAAAAglTAJAAAAAACAVMIkAAAAAAAAUgmTAAAAAAAASCVMAgAAAAAAIJUwCQAAAAAAgFTCJAAAAAAAAFIJkwAAAAAAAEglTAIAAAAAACCVMAkAAAAAAIBUwiQAAAAAAABSCZMAAAAAAABIJUwCAAAAAAAglTAJAAAAAACAVMIkAAAAAAAAUgmTAAAAAAAASCVMAgAAAAAAIJUwCQAAAAAAgFTCJAAAAAAAAFIJkwAAAAAAAEglTAIAAAAAACCVMAkAAAAAAIBUwiQAAAAAAABSCZMAAAAAAABIJUwCAAAAAAAglTAJAAAAAACAVMIkAAAAAAAAUgmTAAAAAAAASCVMAgAAAAAAIJUwCQAAAAAAgFTCJAAAAAAAAFIJkwAAAAAAAEglTAIAAAAAACCVMAkAAAAAAIBUwiQAAAAAAABSCZMAAAAAAABIJUwCAAAAAAAglTAJAAAAAACAVMIkAAAAAAAAUgmTAAAAAAAASCVMAgAAAAAAIJUwCQAAAAAAgFTCJAAAAAAAAFIJkwAAAAAAAEglTAIAAAAAACCVMAkAAAAAAIBUwiQAAAAAAABSCZMAAAAAAABIJUwCAAAAAAAglTAJAAAAAACAVMIkAAAAAAAAUgmTAAAAAAAASCVMAgAAAAAAIJUwCQAAAAAAgFTCJAAAAAAAAFIJkwAAAAAAAEglTAIAAAAAACCVMAkAAAAAAIBUwiQAAAAAAABSCZMAAAAAAABIJUwCAAAAAAAglTAJAAAAAACAVMIkAACAGmjs2LHRoUOHyMvLi+7du8esWbM22n/ZsmVx/vnnR5s2bSI3Nzd22WWXmDRpUjVVCwAA1GX1M10AAAAApU2cODEKCgpi3Lhx0b179xgzZkz07t073nvvvWjVqlWZ/mvWrInDDz88WrVqFY899li0bds2Pvnkk2jWrFn1Fw8AANQ5wiQAAIAa5uabb46zzjorBg8eHBER48aNi+eeey7Gjx8fl112WZn+48ePj6+++ipeeeWVyMnJiYiIDh06VGfJAABAHSZMAgAAqEHWrFkTr732WgwfPrykLTs7O3r27BkzZ84sd5tnnnkmevToEeeff348/fTT0bJly+jfv39ceumlUa9evXK3KSoqiqKiopLHhYWFERGxdu3aWLt2bRW+o02TlazPdAlQY9WEMVoVjHNIZ5xD3VdTxnlF6xAmAQAA1CBLly6N9evXR35+fqn2/Pz8mDNnTrnbfPTRR/Hiiy/GaaedFpMmTYq5c+fGeeedF2vXro2RI0eWu83o0aNj1KhRZdqnTJkSjRo12vw3spk6ZroAqMEmTXo/0yVUCeMc0hnnUPfVlHG+cuXKCvUTJgEAANRyxcXF0apVq7j77rujXr160a1bt/j888/jxhtvTA2Thg8fHgUFBSWPCwsLo127dtGrV69o2rRpdZWeauz0uZkuAWqs8w/dKdMlVAnjHNIZ51D31ZRxvmGFgu8iTAIAAKhBWrRoEfXq1YtFixaVal+0aFG0bt263G3atGkTOTk5pZa023333WPhwoWxZs2aaNCgQZltcnNzIzc3t0x7Tk5OyX2XMinJKn95PiBqxBitCsY5pDPOoe6rKeO8onVkb+E6AAAAqIQGDRpEt27dYtq0aSVtxcXFMW3atOjRo0e52+y///4xd+7cKC4uLml7//33o02bNuUGSQAAAJUhTAIAAKhhCgoK4p577okHHngg3n333Tj33HNjxYoVMXjw4IiIGDBgQAwfPryk/7nnnhtfffVVDBs2LN5///147rnn4rrrrovzzz8/U28BAACoQyxzBwAAUMP069cvlixZEiNGjIiFCxdG165dY/LkyZGfnx8REfPnz4/s7P/7bmC7du3i+eefj4suuih++MMfRtu2bWPYsGFx6aWXZuotAAAAdUjGr0waO3ZsdOjQIfLy8qJ79+4xa9asjfZftmxZnH/++dGmTZvIzc2NXXbZJSZNmlRN1QIAAFSPoUOHxieffBJFRUXx6quvRvfu3UuemzFjRtx///2l+vfo0SP+9re/xerVq+PDDz+Myy+/vNQ9lAAAADZVpcOkDh06xDXXXBPz58/f7J1PnDgxCgoKYuTIkfH6669Hly5donfv3rF48eJy+69ZsyYOP/zwmDdvXjz22GPx3nvvxT333BNt27bd7FoAAAAAAAAoq9Jh0oUXXhhPPPFE7LDDDnH44YfHI488EkVFRZu085tvvjnOOuusGDx4cHTq1CnGjRsXjRo1ivHjx5fbf/z48fHVV1/FU089Ffvvv3906NAhDj744OjSpcsm7R8AAAAAAICNq/Q9ky688MK48MIL4/XXX4/7778/fvGLX8R5550X/fv3jyFDhsTee+9doddZs2ZNvPbaa6VuGpudnR09e/aMmTNnlrvNM888Ez169Ijzzz8/nn766WjZsmX0798/Lr300tTlG4qKikqFXYWFhRERsXbt2li7dm1F3/YWk5Wsz3QJUGPVhDFaFYxzSGecQ91XU8Z5ddWxfv36uP/++2PatGmxePHiKC4uLvX8iy++WC11AAAAVKVKh0kb7L333rH33nvHTTfdFHfccUdceumlceedd0bnzp3jggsuiMGDB0dWVlbq9kuXLo3169eX3EB2g/z8/JgzZ06523z00Ufx4osvxmmnnRaTJk2KuXPnxnnnnRdr166NkSNHlrvN6NGjY9SoUWXap0yZEo0aNarEO94yOma6AKjBJk16P9MlVAnjHNIZ51D31ZRxvnLlymrZz7Bhw+L++++Po48+Ovbcc8+NzokAAABqi00Ok9auXRtPPvlk3HfffTF16tT48Y9/HGeccUZ89tlncfnll8cLL7wQDz30UFXWGsXFxdGqVau4++67o169etGtW7f4/PPP48Ybb0wNk4YPHx4FBQUljwsLC6Ndu3bRq1evaNq0aZXWtynGTp+b6RKgxjr/0J0yXUKVMM4hnXEOdV9NGecbVijY0h555JH44x//GEcddVS17A8AAKA6VDpMev311+O+++6Lhx9+OLKzs2PAgAFxyy23xG677VbS57jjjosf/ehHG32dFi1aRL169WLRokWl2hctWhStW7cud5s2bdpETk5OqSXtdt9991i4cGGsWbMmGjRoUGab3NzcyM3NLdOek5MTOTk5G62xOiRZ5S/PB0SNGKNVwTiHdMY51H01ZZxXVx0NGjSInXaqGQEaAABAVcmu7AY/+tGP4oMPPog777wzPv/88/jtb39bKkiKiOjYsWOccsopG32dBg0aRLdu3WLatGklbcXFxTFt2rTo0aNHudvsv//+MXfu3FLrjr///vvRpk2bcoMkAACA6vTLX/4ybr311kiSJNOlAAAAVJlKX5n00UcfRfv27TfaZ6uttor77rvvO1+roKAgBg4cGPvss0/su+++MWbMmFixYkUMHjw4IiIGDBgQbdu2jdGjR0dExLnnnhu33357DBs2LH7xi1/EBx98ENddd11ccMEFlX0bAAAAVe7ll1+O6dOnx5/+9KfYY489ylwR9cQTT2SoMgAAgE1X6TBp8eLFsXDhwujevXup9ldffTXq1asX++yzT4Vfq1+/frFkyZIYMWJELFy4MLp27RqTJ0+O/Pz8iIiYP39+ZGf/38VT7dq1i+effz4uuuii+OEPfxht27aNYcOGxaWXXlrZtwEAAFDlmjVrFscdd1ymywAAAKhSlQ6Tzj///PjVr35VJkz6/PPP4/rrr49XX321Uq83dOjQGDp0aLnPzZgxo0xbjx494m9/+1ul9gEAAFAdKrJCAwAAQG1T6TDpX//6V+y9995l2vfaa6/417/+VSVFAQAA1GZLliyJ9957LyIidt1112jZsmWGKwIAANh02d/dpbTc3NxYtGhRmfYFCxZE/fqVzqYAAADqjBUrVsSQIUOiTZs2cdBBB8VBBx0U2223XZxxxhmxcuXKTJcHAACwSSodJvXq1SuGDx8e//nPf0rali1bFpdffnkcfvjhVVocAABAbVJQUBB//vOf43//939j2bJlsWzZsnj66afjz3/+c/zyl7/MdHkAAACbpNKXEv32t7+Ngw46KNq3bx977bVXRETMnj078vPz4w9/+EOVFwgAAFBbPP744/HYY4/FIYccUtJ21FFHRcOGDePkk0+OO++8M3PFAQAAbKJKh0lt27aNt956KyZMmBBvvvlmNGzYMAYPHhynnnpq5OTkbIkaAQAAaoWVK1dGfn5+mfZWrVpZ5g4AAKi1NukmR1tttVX8/Oc/r+paAAAAarUePXrEyJEj4/e//33k5eVFRMSqVati1KhR0aNHjwxXBwAAsGk2KUyKiPjXv/4V8+fPjzVr1pRqP/bYYze7KAAAgNro1ltvjd69e8f2228fXbp0iYiIN998M/Ly8uL555/PcHUAAACbptJh0kcffRTHHXdc/POf/4ysrKxIkiQiIrKysiIiYv369VVbIQAAQC2x5557xgcffBATJkyIOXPmRETEqaeeGqeddlo0bNgww9UBAABsmkqHScOGDYuOHTvGtGnTomPHjjFr1qz48ssv45e//GX89re/3RI1AgAA1BqNGjWKs846K9NlAAAAVJlKh0kzZ86MF198MVq0aBHZ2dmRnZ0dBxxwQIwePTouuOCCeOONN7ZEnQAAADXSM888E0ceeWTk5OTEM888s9G+lgUHAABqo0qHSevXr48mTZpERESLFi3iiy++iF133TXat28f7733XpUXCAAAUJP17ds3Fi5cGK1atYq+ffum9svKyrIsOAAAUCtVOkzac889480334yOHTtG9+7d44YbbogGDRrE3XffHTvssMOWqBEAAKDGKi4uLvfvAAAAdUWlw6Qrr7wyVqxYERER11xzTRxzzDFx4IEHxrbbbhsTJ06s8gIBAABqs2XLlkWzZs0yXQYAAMAmy67sBr17947jjz8+IiJ22mmnmDNnTixdujQWL14chx12WJUXCAAAUFtcf/31pb5kd9JJJ0Xz5s2jbdu28eabb2awMgAAgE1XqTBp7dq1Ub9+/Xj77bdLtTdv3jyysrKqtDAAAIDaZty4cdGuXbuIiJg6dWq88MILMXny5DjyyCPjkksuyXB1AAAAm6ZSy9zl5OTED37wAzeNBQAAKMfChQtLwqRnn302Tj755OjVq1d06NAhunfvnuHqAAAANk2ll7m74oor4vLLL4+vvvpqS9QDAABQa22zzTbx6aefRkTE5MmTo2fPnhERkSSJL+UBAAC1VqWuTIqIuP3222Pu3Lmx3XbbRfv27WOrrbYq9fzrr79eZcUBAADUJscff3z0798/dt555/jyyy/jyCOPjIiIN954I3baaacMVwcAALBpKh0m9e3bdwuUAQAAUPvdcsst0aFDh/j000/jhhtuiMaNG0dExIIFC+K8887LcHUAAACbptJh0siRI7dEHQAAALVeTk5OXHzxxWXaL7roogxUAwAAUDUqHSYBAADwf5555pk48sgjIycnJ5555pmN9j322GOrqSoAAICqU+kwKTs7O7KyslKfd1NZAADg+6Rv376xcOHCaNWq1UaXBc/KyjJfAgAAaqVKh0lPPvlkqcdr166NN954Ix544IEYNWpUlRUGAABQGxQXF5f7dwAAgLqi0mHST3/60zJtJ554Yuyxxx4xceLEOOOMM6qkMAAAAAAAADIvu6pe6Mc//nFMmzatql4OAACg1rngggvif/7nf8q033777XHhhRdWf0EAAABVoErCpFWrVsX//M//RNu2bavi5QAAAGqlxx9/PPbff/8y7fvtt1889thjGagIAABg81V6mbttttkmsrKySh4nSRLLly+PRo0axYMPPlilxQEAANQmX375ZWy99dZl2ps2bRpLly7NQEUAAACbr9Jh0i233FIqTMrOzo6WLVtG9+7dY5tttqnS4gAAAGqTnXbaKSZPnhxDhw4t1f6nP/0pdthhhwxVBQAAsHkqHSYNGjRoC5QBAABQ+xUUFMTQoUNjyZIlcdhhh0VExLRp0+Kmm26KMWPGZLY4AACATVTp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XTGXL18+h7jmzJljatWqZWw2mylUqJB54oknLPchreU/+eQTI8mcP3/ePm327NmmRo0axmazmVKlSpkhQ4Y47Gt0dLQJDQ01NpvNVKpUySxatMjhKoCUivQPP/xgGjRoYGw2m5kyZYoxxphJkyaZihUrGpvNZipUqGDGjRtnX298fLzp3bu3KVKkiLHZbOa+++4zI0aMuOX7deN7a4wxBw8eNI8//rjx8fExefPmNW3atDHHjx+3z4+KijIhISHmq6++MiVKlDB+fn6mXbt299xVNHdKWv3rqaeeMjVq1LC/Pn36tHnmmWdM0aJFjZeXl6lSpYr57rvvHJZp2LCheemll8yAAQNMgQIFTGBgoImKinJos2vXLvPQQw/Zj8+FCxemukply5Yt5uGHHzaenp6mYMGCpnv37ubChQup4h0+fLgJCAgw+fLlM0OHDjWJiYnm1VdfNQUKFDDFihUzkydPzvB+X+9W55WGDRua3r17m759+5pChQqZRo0aGWOM2bp1q3n00UeNj4+PCQgIMM8995w5deqUfbkZM2aYKlWq2PevcePG5uLFiyYqKirVuWXp0qVpxta8eXNTrFgxc/HixVTzrr+y5Mb39rXXXjPlypUzXl5eplSpUmbQoEEmISHBPn/Tpk2mUaNGxtfX1+TNm9c88MADZu3atcYYYw4cOGAee+wxkz9/fuPt7W0qV65s5s6da4xxvPot5fcb9yOj58ivvvrK1KxZ0/j6+prAwEDTvn17+xV7Keex63/Cw8Ptn8v15/azZ8+ajh07mvz58xsvLy/z6KOPml27dtnnp8Q1f/58U7FiRePj42PCwsLM0aNH03zvc5KwsDBTvHjxNI8DY4zDlUySzGeffWZatWplvL29TVRUlLl69arp2rWrKVmypPH09DTly5c3Y8aMcVjH1atXTf/+/U2+fPlMwYIFzYABA0ynTp0c+s6N7/mVK1fMK6+8YooWLWq8vb1N7dq1HY7lW73nGekLafXjP//800gyJ0+etE+71XklKSnJDB061BQrVsx4eHiYkJAQ89tvv9nn3+z/wBIlSjjEWqJECft+hISEpIp11KhRpkiRIqZgwYKmV69eDn3w6NGjpkWLFsbT09OULFnSfPvtt7e8Sq5nz57Gx8fHHDlyJNW8Cxcu2M9bN67nww8/NFWqVDHe3t6mePHipmfPng7vyc36/NmzZ02HDh1M4cKFjaenpylbtqz9nHv9lW9p9dUpU6akecXs8uXLTcOGDY2Xl5fJnz+/adasmTl79qwxxpjffvvNhIaG2o/Dli1bmj179tiXvXEbDRs2dHjPU1y5csW89NJLxt/f39hsNhMaGmrWrFljn58S1++//25q1qxpvLy8TN26dc3OnTst33/A2ciTyJPIk7IPeVLayJPIk3IDciVyJWPIlYy5t3IlnpmEdDly5IhatGihBx98UJs3b9bnn3+uL7/8UsOGDbO3iYiI0IoVKzRnzhwtWrRIf/75pzZs2GC5zp9++kkfffSRJkyYoN27d2v27NmqWrWqJGnWrFkqXry43n77bR07dkzHjh1Lcx1z587Vk08+qRYtWmjjxo1avHixateune79OnnypH7++We5ubnJzc1NkvTnn3+qU6dO6tu3r3bs2KEJEyZo6tSpGj58uCQpKSlJTzzxhLy9vbV69WpNnDhRb775ZprrHzhwoPr27avo6GiFhYXp22+/1eDBgzV8+HBFR0drxIgReuuttzRt2jRJ0ieffKI5c+boxx9/VExMjL799luVLFnylu/XjZKTk9W6dWudPXtW//vf/7Ro0SLt27dP7dq1c2i3d+9ezZ49W7/++qt+/fVX/e9//9O7776b7vcPmbdt2zatXLnS4eqxK1euqGbNmpo7d662bdumF154QR07dtSaNWsclp02bZp8fHy0evVqvf/++3r77be1aNEiSdc++6eeekoeHh5avXq1xo8fr9dff91h+bi4OIWFhalAgQJau3atZsyYod9//119+vRxaLdkyRIdPXpUf/zxh0aPHq2oqCg99thjKlCggFavXq0ePXroxRdf1N9//52p9yA955WU/fXw8NCKFSs0fvx4nTt3To888ohq1KihdevWaf78+Tpx4oTatm0rSTp27Jjat2+vrl27Kjo6WsuWLdNTTz0lY4xeffVVtW3bVo8++qj93FKvXr1UsZ09e1bz589X79695ePjk2r+za6qyZs3r6ZOnaodO3bo448/1qRJk/TRRx/Z5z/77LMqXry41q5dq/Xr12vgwIH2K7J69+6t+Ph4/fHHH9q6davee++9NK8kqlevnmJiYiRdOzdY7cetzpGJiYl65513tHnzZs2ePVsHDhxQ586dJUnBwcH66aefJEkxMTE6duyYPv744zT3uXPnzlq3bp3mzJmjVatWyRijFi1aKDEx0d7m0qVL+uCDD/T111/rjz/+0KFDh/Tqq69avo85wZkzZ7Rw4ULL40C6Nhb89YYMGaInn3xSW7duVdeuXZWcnKzixYtrxowZ2rFjhwYPHqw33nhDP/74o32ZDz/8UFOnTtXkyZO1fPlynT17Vj///PNNY+vTp49WrVqlH374QVu2bFGbNm306KOPavfu3fY2N3vP09sX0nLx4kV98803Klu2rAoVKiQpfeeVjz/+WB9++KE++OADbdmyRWFhYXr88cftMd/s/8C1a9dKkqZMmaJjx47ZX6dl6dKl2rt3r5YuXapp06Zp6tSpmjp1qn1+p06ddPToUS1btkw//fSTJk6cqJMnT1quLzk5WT/88IOeffZZh6tbU/j6+ipPnrRv9nd1ddUnn3yi7du3a9q0aVqyZIlee+01+/yb9fm33npLO3bs0G+//abo6Gh9/vnnKly4cKptBAcH69ixY/Lz89OYMWN07NixVP/fS9KmTZvUuHFjVa5cWatWrdLy5cvVqlUrJSUlSbr2GUZERGjdunVavHixXF1d9eSTTyo5OVmS7P8X/f777zp27JhmzZqV5j6/9tpr+umnnzRt2jRt2LBBZcuWVVhYmM6ePevQ7s0339SHH36odevWKU+ePOratWua6wNyOvIk8iRkLfIk8iTypJyfJ0nkSlbIlRyRKzm6K3Il59aykJPc7MqYlHEvr7+qYNy4ccbX19ckJSWZ2NhY4+7ubmbMmGGff+7cOePt7W15xd2HH35oypcv71ABv15ale8bryapW7euefbZZ9O9jyljgfv4+Bhvb297xfjll1+2t2ncuLG9up/i66+/NkFBQcaYa9XoPHnymGPHjtnnW11xd+MVFWXKlEl1BdU777xj6tata4wx5qWXXjKPPPJImmN2ZuT9WrhwoXFzczOHDh2yz9++fbuRZK94R0VFGW9vb4cr7AYMGGDq1KmT5vpxe8LDw42bm5vx8fExNpvNSDKurq5m5syZN12uZcuW5pVXXrG/btiwoalfv75DmwcffNC8/vrrxhhjFixYYPLkyeNwRchvv/3mcHxOnDjRFChQwOHqoblz5xpXV1f7VZnh4eGmRIkSJikpyd6mQoUK5qGHHrK/vnr1qvHx8THff/99uvY75efpp582xtz6vJKyv9dflWjMtT7TrFkzh2mHDx82kkxMTIxZv369kWQOHDhgGdOtxj5evXq1kWRmzZp103bG3Hos8FGjRpmaNWvaX+fNm9dMnTo1zbZVq1Y1Q4YMSXPejVfO/PPPP6mukLrdc+TatWuNJPvVQFZjgV9/5deuXbuMJLNixQr7/NOnTxsvLy/z448/2uOS5HDlzrhx40xgYGC6Y3OGv/76K83joFChQvbj+bXXXrNPl2T69et3y/X27t3b/N///Z/9dVBQkHn//fftrxMTE03x4sUtr7Y7ePCgcXNzS3XlV+PGjU1kZKQxJn3veUbGAb++H0syQUFBZv369fY26TmvFC1a1AwfPtxh3Q8++KDp1auXMebm/wcak3ZfS+tquxIlSpirV6/ap7Vp08a0a9fOGHPtinlJ9qtcjTFm9+7dRpLl1XYnTpwwkszo0aMt3qF/3eqqvRkzZphChQrZX9+sz7dq1cp06dIlzXlpjcmdL18++9X9xqTuv+3btzehoaG33IcUp06dMpLM1q1bLbdpjONxdPHiRePu7m6+/fZb+/yEhARTtGhR+zF+/dV2KebOnWsk3bHnYwAZRZ50DXkSeVJ2IE8iT0pBnnRNbsiTjCFXur4duRK50r2UK3FnEtIlOjpadevWdbiqIDQ0VBcvXtTff/+tffv2KTEx0eFKjnz58qlChQqW62zTpo0uX76s0qVLq3v37vr555919erVDMWVUjnOiLx582rTpk1at26dPvzwQz3wwAP2q+kkafPmzXr77bftY4v6+vqqe/fuOnbsmC5duqSYmBgFBwc7jK1pdZVfrVq17L/HxcVp7969ev755x3WPWzYMO3du1fStatWNm3apAoVKujll1/WwoUL7ctn5P2Kjo5WcHCwgoOD7dMqV66s/PnzKzo62j6tZMmSyps3r/11UFDQTa84wO15+OGHtWnTJq1evVrh4eHq0qWL/u///s8+PykpSe+8846qVq2qggULytfXVwsWLEg1zm61atUcXl//uaV89tdfEVK3bl2H9tHR0QoJCXG4eig0NFTJycn2q7gk6f7775er67//TQQGBjpc5enm5qZChQrd8phJ2e+Un08++cQex83OKylq1qzpsL7Nmzdr6dKlDv2oYsWKkq5dRRoSEqLGjRuratWqatOmjSZNmqR//vnnpjHeyBiTofbXmz59ukJDQ1WkSBH5+vpq0KBBDp9hRESEunXrpiZNmujdd9+1939JevnllzVs2DCFhoYqKipKW7ZsyXQc0q3PkevXr1erVq103333KW/evGrYsKEkZWhs5+joaOXJk0d16tSxTytUqJAqVKjgcL7x9vZWmTJl7K9z8/lmzZo12rRpk+6//37Fx8c7zLv+vJ9i3Lhxqlmzpvz9/eXr66uJEyfa3+Pz58/r2LFjDu9fnjx50lxPiq1btyopKUnly5d36Af/+9//HI6nrHzPr+/Ha9asUVhYmJo3b66DBw9KuvV5JTY2VkePHlVoaKjDekNDQ+3Hyc3+D8yI+++/334VveS43zExMcqTJ48eeOAB+/yyZcuqQIECluu7nfPB77//rsaNG6tYsWLKmzevOnbsqDNnzujSpUuSbt7ne/bsqR9++EHVq1fXa6+9ppUrV2Y6DunW54Pdu3erffv2Kl26tPz8/OxXOmbkfLB3714lJiY6fM7u7u6qXbu2w/lAcvy/LCgoSJJy7TkB9zbyJPIk3D7yJPIkiTwpRW4/35ArkSulF7lS7syVKCbBaYKDgxUTE6PPPvtMXl5e6tWrlxo0aOBwu++tZOYBiq6uripbtqwqVaqkiIgI/ec//1HPnj3t8y9evKihQ4c6fKnbunWrdu/eLU9Pzwxt6/r/KC5evChJmjRpksO6t23bpr/++kuS9MADD2j//v165513dPnyZbVt21ZPP/20pKx5v25048MOXVxc7LdoIuv5+PiobNmyCgkJ0eTJk7V69Wp9+eWX9vmjRo3Sxx9/rNdff11Lly7Vpk2bFBYWpoSEBIf13KnPLa3tZGbbKfud8pPyH2F63XjL/MWLF9WqVSuHfrRp0ybt3r1bDRo0kJubmxYtWqTffvtNlStX1tixY1WhQgXt378/3dssV66cXFxcMvzw2FWrVunZZ59VixYt9Ouvv2rjxo168803HT7DIUOGaPv27WrZsqWWLFmiypUr22/T79atm/bt26eOHTtq69atqlWrlsaOHZuhGK53s3Nkyq32fn5++vbbb7V27Vp7HDcec1khrWPndr543glly5aVi4uLwx8PJKl06dIqW7Zsmu/vjcfrDz/8oFdffVXPP/+8Fi5cqE2bNqlLly639R5fvHhRbm5uWr9+vUMfiI6OdhhiIyvf8+v78YMPPqgvvvhCcXFxmjRpUqb340Y3+z8wI7L6HOnv76/8+fNn+Hxw4MABPfbYY6pWrZp++uknrV+/XuPGjZP0bx+7WZ9PSUD79++vo0ePqnHjxrc15MmtvjO1atVKZ8+e1aRJk7R69WqtXr3aIdasdv3nlPLHMr6DANeQJ5En3WvIk8iTJPKkFLkhT5LIla5HrkSulNVycq5EMQnpUqlSJfv4rilWrFihvHnzqnjx4ipdurTc3d0dxuU8f/68du3addP1enl5qVWrVvrkk0+0bNkyrVq1Slu3bpUkeXh42MemtFKtWjUtXrz4Nvbs2njd06dPt49b/sADDygmJsbhS13Kj6urqypUqKDDhw/rxIkT9nXcbDzSFIGBgSpatKj27duXar2lSpWyt/Pz81O7du00adIkTZ8+XT/99JN97MybvV/Xq1Spkg4fPqzDhw/bp+3YsUPnzp1T5cqVM/1eIeu4urrqjTfe0KBBg3T58mVJ1/pU69at9dxzzykkJESlS5e+ZR+6Ucpnf/34+SlJ+PVtNm/erLi4OPu0FStW2I/vO+VW5xUrDzzwgLZv366SJUum6kspX05dXFwUGhqqoUOHauPGjfLw8LAnAOk5txQsWFBhYWEaN26cw/uU4ty5c2kut3LlSpUoUUJvvvmmatWqpXLlytmvRrpe+fLl1b9/fy1cuFBPPfWUpkyZYp8XHBysHj16aNasWXrllVdu6wvozc6RO3fu1JkzZ/Tuu+/qoYceUsWKFVNd6ZIyVv3N3q9KlSrp6tWr9i9T0rXxs2NiYnL9+aZQoUJq2rSpPv300zSPg/RYsWKF6tWrp169eqlGjRoqW7aswxVx+fLlU1BQkMP7d/XqVa1fv95ynTVq1FBSUpJOnjyZqg9cfzX4raSnL1hxcXGRq6ur/fx1q/OKn5+fihYtqhUrVjisZ8WKFQ7Hyc3+D3R3d890vCkqVKigq1evauPGjfZpe/bsuelVua6urnrmmWf07bff6ujRo6nmX7x4Mc0r4NevX6/k5GR9+OGH+s9//qPy5cunufzN+ry/v7/Cw8P1zTffaMyYMZo4cWJGd9nuZueDlD47aNAgNW7cWJUqVUr1nqTnfFCmTBn7sxtSJCYmau3atbn+fABYIU8iT0LWIk8iTyJPyh3IlayRK/2LXOlfd0uuRDEJDs6fP5/qKpbDhw+rV69eOnz4sF566SXt3LlTv/zyi6KiohQRESFXV1flzZtX4eHhGjBggJYuXart27fr+eefl6ura6oH7qWYOnWqvvzyS23btk379u3TN998Iy8vL5UoUULStaEF/vjjDx05ckSnT59Ocx1RUVH6/vvvFRUVpejoaPsD2TIiODhYTz75pAYPHixJGjx4sL766isNHTpU27dvV3R0tH744QcNGjRIktS0aVOVKVNG4eHh2rJli1asWGGfZ7WvKYYOHaqRI0fqk08+0a5du7R161ZNmTJFo0ePliSNHj1a33//vXbu3Kldu3ZpxowZKlKkiPLnz3/L9+t6TZo0UdWqVfXss89qw4YNWrNmjTp16qSGDRve9HZg3Flt2rSRm5ub/eqLcuXKadGiRVq5cqWio6P14osvOiTj6dGkSROVL19e4eHh2rx5s/78889UDz5+9tln5enpqfDwcG3btk1Lly7VSy+9pI4dOyowMDDL9u9WbnVesdK7d2+dPXtW7du319q1a7V3714tWLBAXbp0UVJSklavXq0RI0Zo3bp1OnTokGbNmqVTp06pUqVKkq6dW7Zs2aKYmBidPn3a8qrVcePGKSkpSbVr19ZPP/2k3bt3Kzo6Wp988kmqITFSlCtXTocOHdIPP/ygvXv36pNPPnF4OOjly5fVp08fLVu2TAcPHtSKFSu0du1ae2z9+vXTggULtH//fm3YsEFLly61z8uMm50j77vvPnl4eGjs2LHat2+f5syZo3feecdh+RIlSsjFxUW//vqrTp06Zb9y+MZ9bt26tbp3767ly5dr8+bNeu6551SsWDG1bt0607HnFJ999pmuXr2qWrVqafr06YqOjlZMTIy++eYb7dy502GIgLSUK1dO69at04IFC7Rr1y699dZbqf6w1rdvX7377ruaPXu2du7cqV69elkm4tK1JPvZZ59Vp06dNGvWLO3fv19r1qzRyJEjNXfu3HTvW3r7giTFx8fr+PHjOn78uKKjo/XSSy/Zr36V0ndeGTBggN577z1Nnz5dMTExGjhwoDZt2qS+fftKuvn/gSnxLl68WMePH8/wkCwpKlasqCZNmuiFF17QmjVrtHHjRr3wwgvy8vK66f/hw4cPV3BwsOrUqaOvvvpKO3bs0O7duzV58mTVqFEjzb5RtmxZJSYm2vvY119/rfHjxzu0uVmfHzx4sH755Rft2bNH27dv16+//npb54PIyEitXbtWvXr10pYtW7Rz5059/vnnOn36tAoUKKBC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t25dlSpVyiFflaRvv/1Wjz76qAoWLJjmcp999pnuv/9+2Ww2FS1aVL17905ziMOUfM/Ly0u1a9fWn3/+meb64uPjFRUVpbJly8pmsyk4OFivvfZaqjztRuk5DgDce7gzCQCuk/IH/wIFCtinbd++XaGhoSpWrJgGDhwoHx8f/fjjj3riiSf0008/6cknn5QkXbx4UQ899JCio6PVtWtXPfDAAzp9+rTmzJmjv//+W4ULF1ZsbKy++OILtW/fXt27d9eFCxf05ZdfKiwsTGvWrEl1a35Gvfnmm6pQoYImTpxoH8KiTJkykq4VMLp06aIHH3xQI0eO1IkTJ/Txxx9rxYoV2rhxo8NVZFevXlVYWJjq16+vDz74QN7e3pbb/O9//6vSpUurXr16mYp53759mj17ttq0aaNSpUrpxIkTmjBhgho2bKgdO3bYh9eYNGmSXn75ZT399NPq27evrly5oi1btmj16tXq0KGDJKlHjx6aOXOm+vTpo8qVK+vMmTNavny5oqOj9cADD6TadqVKlfT111+rf//+Kl68uF555RVJkr+/v06dOpWq/ZYtW/TQQw/J3d1dL7zwgkqWLKm9e/fqv//9r4YPHy7p2vAUK1eu1DPPPKPixYvrwIED+vzzz9WoUSPt2LFD3t7eatCggV5++WV98skneuONN1SpUiV7PGm5fPmyGjVqpD179qhPnz4qVaqUZsyYoc6dO+vcuXOpinXfffedLly4oBdffFEuLi56//339dRTT2nfvn3p+uOAt7e3Wrdure+//149e/aUJG3evFnbt2/XF198oS1btqRaplu3bpo2bZqefvppvfLKK1q9erVGjhyp6Oho/fzzz/Z2gwcP1rBhw9SiRQu1aNFCGzZsULNmzeyJY4pLly6pYcOGOnLkiF588UXdd999WrlypSIjI3Xs2DGNGTPGMv6MHgcAAAD3ivPnz9svdEtx/Z3otys938MWLVqkxx57TEFBQerbt6+KFCmi6Oho/frrr/bvtb///ruaN2+u0qVLa8iQIbp8+bLGjh2r0NBQbdiwIVWRoE2bNipXrpxGjBhhLwwMHz5cb731ltq2batu3brp1KlTGjt2rBo0aJAq/7neiy++qGLFimnEiBF6+eWX9eCDDyowMDDL4krLnDlz5OXlpaeffjoT77rSnWcuWrRI7du3V+PGjfXee+9JkqKj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npaSTM2cOVMtWrTQ6dOnZbPZ7PP37NkjY4zeeust+fv7O/xERUVJ+vfhrHv37lWVKlVuuc1p06apWrVq9nGH/f39NXfuXJ0/fz57dlLXnuMjSRUqVEg1r2LFivb5KfLkyWMvqN2Mn5+fpGtjo2dWcnKyPvroI5UrV042m02FCxeWv7+/tmzZ4vCevP766/L19VXt2rVVrlw59e7dWytWrHBY1/vvv69t27YpODhYtWvX1pAhQzL0Zf9mUtZzq8/48uXLGjx4sH0c7pT9OXfuXKY/44MHD6pcuXIOSYX079ARN35+Nxa7UgpL//zzT7q36e7urjZt2ui7777TH3/8ocOHD9uHE0wrPldXV5UtW9ZhepEiRZQ/f357fCn/litXzqGdv7+/Q/FLknbv3q358+en6ndNmjSR9G+/S0t2HgcAAAC5We3atdWkSROHn4xKSkrS8ePHHX5Shiy+1fewlGfT3uw79c1yl0qVKun06dOKi4tzmF6qVCmH17t375YxRuXKlUv1fTI6Ovqm3yWzMy4rfn5+t5VTSenLM3v16qXy5curefPmKl68uLp27ZpquLW3335b586dU/ny5VW1alUNGDAgzWGuM+PUqVOKjY29ZU6V3hwxIw4ePKiiRYumKtqlN6eSruVVGcmpJKlDhw6aMWOG9uzZo5UrV940p5JSH18eHh4qXbr0LXMqd3d3lS5d2mHa7t27tX379lR9oHz58pJunlNl53EAIPfimUkA7mm1a9e2XxH1xBNPqH79+urQoYNiYmLk6+ur5ORkSdKrr76qsLCwNNdx4x/Qb+abb75R586d9cQTT2jAgAEKCAiQm5ubRo4caU+scoLrrwS7GT8/PxUtWlTbtm3L9LZGjBiht956S127dtU777yjggULytXVVf369bO//9K1L/kxMTH69ddfNX/+fP3000/67LPPNHjwYA0dOlSS1LZtWz300EP6+eeftXDhQo0aNUrvvfeeZs2apebNm2c6xox46aWXNGXKFPXr109169ZVvnz55OLiomeeecZhf7KTm5tbmtPNTcZpT0uHDh00fvx4DRkyRCEhIapcufJN219/t9HtSk5OVtOmTfXaa6+lOT8lAUpLTjgOAAAA7laHDx9OVSRZunSpGjVq5LTvYdePDiBd+y7p4uKi3377Lc3vxr6+vtkWy83islKxYkVt2rRJCQkJDnebpFd688yAgABt2rRJCxYs0G+//abffvtNU6ZMUadOnTRt2jRJUoMGDbR371798ssvWrhwob744gt99NFHGj9+vLp165bh2DIjvTlidsqqnKp9+/aKjIxU9+7dVahQITVr1iwrwkuX5ORkVa1aVaNHj05z/vXPV7pRTjgOAOQ8FJMA4P9L+bL98MMP69NPP9XAgQPtV/a4u7vf8qq9MmXK3LKoMnPmTJUuXVqzZs1y+MN7yl1O2aVEiRKSpJiYGPst7SliYmLs8zPjscce08SJE7Vq1SrVrVs3w8vPnDlTDz/8sL788kuH6efOnUv1MGAfHx+1a9dO7dq1U0JCgp566ikNHz5ckZGR9uH7goKC1KtXL/Xq1UsnT57UAw88oOHDh9928ppyLKTnMw4PD9eHH35on3blyhWdO3fOoV1GCi8lSpTQli1blJyc7FDk27lzp31+dqhfv77uu+8+LVu2zP6AXqv4kpOTtXv3bocH7Z44cULnzp2zx5fy7+7dux2umjt16lSqK/zKlCmjixcvZupqWSn7jgMAAIB7XZEiRVINkxYSEmL//Wbfw1KGDdu2bZvl97zrc5cb7dy5U4ULF5aPj89NYyxTpoyMMSpVqtRNL0LKiKyIy0qrVq20atUq/fTTT5ZDS99MRvJMDw8PtWrVSq1atVJycrJ69eqlCRMm6K233rJfKFmwYEF16dJFXbp00cWLF9WgQQMNGTLktosI/v7+8vPzS1dOlZ4cMaM51e+//64LFy443J2U3TnVfffdp9DQUC1btkw9e/ZUnjxp/yn2+uPr+lwpISFB+/fvt/eX63Oq63P7xMRE7d+/36EvlilTRps3b1bjxo0zdeFfdh0HAHIvhrkDgOs0atRItWvX1pgxY3TlyhUFBASoUaNGmjBhgo4dO5aq/alTp+y//9///Z82b96sn3/+OVW7lKuXUq5uuv5qptWrV2vVqlVZvSsOatWqpYCAAI0fP17x8fH26b/99puio6PVsmXLTK/7tddek4+Pj7p166YTJ06kmr937159/PHHlsu7ubmlurprxowZ9mdRpThz5ozDaw8PD1WuXFnGGCUmJiopKSnVkAcBAQEqWrSowz5nlr+/vxo0aKDJkyfr0KFDDvOujz+t/Rk7dqySkpIcpqUkmjcWmdLSokULHT9+XNOnT7dPu3r1qsaOHStfX181bNgwo7uTLi4uLvrkk08UFRWljh073jQ+SRozZozD9JQr4FKOryZNmsjd3V1jx451eI9uXE66dnfRqlWrtGDBglTzzp07p6tXr6YZS3YfBwAAAPc6T0/PVEPlFShQIF3fwx544AGVKlVKY8aMSfU9OOX7YVBQkKpXr65p06Y5tNm2bZsWLlxo/+55M0899ZTc3Nw0dOjQVN/NjTGpcov0yIq4rPTo0UNBQUF65ZVXtGvXrlTzT548qWHDhlkun94888b9dnV1VbVq1STJ/hnd2MbX11dly5bNku/Srq6ueuKJJ/Tf//5X69atSzX/+rw5PTliRnOqpKQkffrppw7TP/roI7m4uGTrRWfDhg1TVFSUXnrpJcs2TZo0kYeHhz755BOHff/yyy91/vx5e05Vq1Yt+fv7a/z48fbhJSVp6tSpqd6Htm3b6siRI5o0aVKq7V2+fDnVsIzXy87jAEDuxZ1JAHCDAQMGqE2bNpo6dap69OihcePGqX79+qpataq6d++u0qVL68SJE1q1apX+/vtvbd682b7czJkz1aZNG3Xt2lU1a9bU2bNnNWfOHI0fP14hISF67LHHNGvWLD355JNq2bKl9u/fr/Hjx6ty5cq6ePFitu2Tu7u73nvvPXXp0kUNGzZU+/btdeLECX388ccqWbKk+vfvn+l1lylTRt99953atWunSpUqqVOnTqpSpYoSEhK0cuVKzZgxQ507d7Zc/rHHHtPbb7+tLl26qF69etq6dau+/fbbVOM9N2vWTEWKFFFoaKgCAwMVHR2tTz/9VC1btlTevHl17tw5FS9eXE8//bRCQkLk6+ur33//XWvXrnW4S+h2fPLJJ6pfv74eeOABvfDCCypVqpQOHDiguXPnatOmTfb9+frrr5UvXz5VrlxZq1at0u+//65ChQo5rKt69epyc3PTe++9p/Pnz8tms+mRRx5RQEBAqu2+8MILmjBhgjp37qz169erZMmSmjlzplasWKExY8bc1sN6b6V169Zq3br1TduEhIQoPDxcEydO1Llz59SwYUOtWbNG06ZN0xNPPKGHH35Y0rWC3KuvvqqRI0fqscceU4sWLbRx40b99ttvqe5CGzBggObMmaPHHntMnTt3Vs2aNRUXF6etW7dq5syZOnDgQKplpGvP78ru4wAAAOButWXLFs2ZM0fStefHnj9/3l7ECAkJUatWrSyXTc/3MFdXV33++edq1aqVqlevri5duigoKEg7d+7U9u3b7RcSjRo1Ss2bN1fdunX1/PPP6/Llyxo7dqzy5cunIUOG3HI/ypQpo2HDhikyMlIHDhzQE088obx582r//v36+eef9cILL+jVV1/N8Ptzu3FZKVCggH7++We1aNFC1atX13PPPaeaNWtKkjZs2KDvv//+pqNApDfP7Natm86ePatHHnlExYsX18GDBzV27FhVr17dPsJA5cqV1ahRI9WsWVMFCxbUunXrNHPmTPXp0yfT+3e9ESNGaOHChWrYsKFeeOEFVapUSceOHdOMGTO0fPly5c+fP905YpkyZZQ/f36NHz9eefPmlY+Pj+rUqZPms6patWqlhx9+WG+++aYOHDigkJAQLVy4UL/88ov69etnv2suOzRs2PCWFwD6+/srMjJSQ4cO1aOPPqrHH39cMTEx+uyzz/Tggw/queeek3Qttx82bJhefPFFPfLII2rXrp3279+vKVOmpHp/OnbsqB9//FE9evTQ0qVLFRoaqqSkJO3cuVM//vijFixYYB/2/0bZfRwAyKUMANyDpkyZYiSZtWvXppqXlJRkypQpY8qUKWOuXr1qjDFm7969plOnTqZIkSLG3d3dFCtWzDz22GNm5syZDsueOXPG9OnTxxQrVsx4eHiY4sWLm/DwcHP69GljjDHJyclmxIgRpkSJEsZms5kaNWqYX3/91YSHh5sSJUo4rEuSiYqKShXz/v37M71v06dPNzVq1DA2m80ULFjQPPvss+bvv/92aBMeHm58fHxuuo207Nq1y3Tv3t2ULFnSeHh4mLx585rQ0FAzduxYc+XKFXu7EiVKmPDwcPvrK1eumFdeecUEBQUZLy8vExoaalatWmUaNmxoGjZsaG83YcIE06BBA1OoUCFjs9lMmTJlzIABA8z58+eNMcbEx8ebAQMGmJCQEJM3b17j4+NjQkJCzGeffZZq/258r0uUKGFatmzpMG3//v1GkpkyZYrD9G3btpknn3zS5M+f33h6epoKFSqYt956yz7/n3/+MV26dDGFCxc2vr6+JiwszOzcuTPVfhtjzKRJk0zp0qWNm5ubkWSWLl1qjDGp9t0YY06cOGFfr4eHh6latWqq2FJiHjVqlLnRjcdTWpYuXWokmRkzZty0XcOGDc3999/vMC0xMdEMHTrUlCpVyri7u5vg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VrVqVevYsaMzYi+nH8v9k5iY6PxecvftBw4csM6dO1tERIQFBwfbbbfdZps2bXLW57Rr9uzZVq9ePQsJCbGEhATbvXt3vtfemyQkJFiNGjXyvQ/MzGMkkyR79913rU2bNla2bFlLTk62kydP2qOPPmoxMTEWFBRkderUsVGjRnkc4+TJk/bMM89YuXLlrEKFCta7d2/r0qWLR+ycfs3//PNPe/bZZ6169epWtmxZi4uL87iXC7vmZxIL+cXx999/b5Js3759zrLC+pWsrCwbPHiwRUVFWUBAgDVs2NC++uorZ31Bn4E1a9b0aGvNmjWd82jYsGGetg4fPtwiIyOtQoUK1q1bN48Y3L17t91xxx0WFBRkMTExNmnSpEJHyT355JMWEhJiv/zyS551R44ccfqt048zYsQIu/LKK61s2bJWo0YNe/LJJz2uSUExf+DAAXvwwQetUqVKFhQUZLGxsU6fm3vkW36xOmHChHxHzP7www/WsmVLCw4OtoiICLv11lvtwIEDZmb21VdfWXx8vHMf3nnnnbZlyxZn39Pfo2XLlh7XPMeff/5pPXv2tMqVK1tgYKDFx8fb0qVLnfU57fr666+tcePGFhwcbM2bN7eNGze6Xn+gpJEnkSeRJ1045En5I08iT7oYkCuRK5mRK5n9tXIlnpmEIvnll190xx13qGnTplq9erXee+89vf/++3r55ZedbZKSkrRo0SLNnDlT8+bN0/fff6+VK1e6HnPatGl688039c9//lObN2/WjBkz1KBBA0nSF198oRo1auill15Senq60tPT8z3GrFmzdM899+iOO+7QqlWrNH/+fMXFxRX5vPbt26fp06fLz89Pfn5+kqTvv/9eXbp0Ua9evbRhwwb985//1MSJEzV06FBJUlZWltq1a6eyZctqyZIlGjdunF544YV8j9+vXz/16tVLqampSkhI0KRJkzRw4EANHTpUqampeuWVV/Tiiy/qww8/lCSNHj1aM2fO1Oeff660tDRNmjRJMTExhV6v02VnZ6tt27Y6cOCAvv32W82bN0/btm1Thw4dPLbbunWrZsyYoS+//FJffvmlvv32W7366qtFvn44e+vWrdOPP/7oMXrszz//VOPGjTVr1iytW7dOjz/+uDp37qylS5d67Pvhhx8qJCRES5Ys0euvv66XXnpJ8+bNk3Tqd3/vvfcqICBAS5Ys0dixY9W3b1+P/Y8ePaqEhASVL19ey5Yt09SpU/X111+rR48eHtt988032r17t7777juNHDlSycnJuuuuu1S+fHktWbJETzzxhP7xj3/o559/PqtrUJR+Jed8AwICtGjRIo0dO1YHDx7UzTffrKuvvlrLly/X7NmztXfvXt1///2SpPT0dHXs2FGPPvqoUlNTtXDhQt17770yMz333HO6//77ddtttzl9S4sWLfK07cCBA5o9e7a6d++ukJCQPOsLGlUTFhamiRMnasOGDXrrrbc0fvx4vfnmm876Tp06qUaNGlq2bJlWrFihfv36OSOyunfvruPHj+u7777T2rVr9dprr+U7kqhFixZKS0uTdKpvcDuPwvrIzMxMDRkyRKtXr9aMGTO0Y8cOPfzww5Kk6OhoTZs2TZKUlpam9PR0vfXWW/me88MPP6zly5dr5syZWrx4scxMd9xxhzIzM51tjh07pjfeeEMff/yxvvvuO+3cuVPPPfec63X0Br/99pvmzp3reh9Ip+aCz23QoEG65557tHbtWj366KPKzs5WjRo1NHXqVG3YsEEDBw7U888/r88//9zZZ8SIEZo4caI++OAD/fDDDzpw4ICmT59eYNt69OihxYsXa/LkyVqzZo3at2+v2267TZs3b3a2KeiaFzUW8pORkaFPPvlEsbGxqlixoqSi9StvvfWWRowYoTfeeENr1qxRQkKC7r77bqfNBX0GLlu2TJI0YcIEpaenO6/zs2DBAm3dulULFizQhx9+qIkTJ2rixInO+i5dumj37t1auHChpk2bpnHjxmnfvn2ux8vOztbkyZPVqVMnj9GtOUJDQ1WmTP5f9vf19dXo0aO1fv16ffjhh/rmm2/Up08fZ31BMf/iiy9qw4YN+uqrr5Samqr33ntPlSpVyvMe0dHRSk9PV3h4uEaNGqX09PQ8n/eSlJKSolatWunyyy/X4sWL9cMPP6hNmzbKysqSdOp3mJSUpOXLl2v+/Pny9fXVPffco+zsbElyPou+/vprpaen64svvsj3nPv06aNp06bpww8/1MqVKxUbG6uEhAQdOHDAY7sXXnhBI0aM0PLly1WmTBk9+uij+R4P8HbkSeRJOL/Ik8iTyJO8P0+SyJXckCt5IlfyVCpypZKtZcGbirquvQAAFXJJREFUFDQyJmfey9yjCsaMGWOhoaGWlZVl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KUpISNCJEyc8jlNcv7f83uds3jvnvHN+cj4Ii+r0r8xnZGSoTZs2HnGUkpKizZs364YbbpCfn5/mzZunr776Spdffrnefvtt1a1bV9u3by/ye9auXVs+Pj5n/PDYxYsXq1OnTrrjjjv05ZdfatWqVXrhhRc8foeDBg3S+vXrdeedd+qbb77R5Zdf7nxN/+9//7u2bdumzp07a+3atWrSpInefvvtM2pDbgX1kTlftQ8PD9ekSZO0bNkypx2n33PnQ373zrn84VkcYmNj5ePj4/GfB5J06aWXKjY2Nt/re/r9OnnyZD333HN67LHHNHfuXKWkpOiRRx45p2uckZEhPz8/rVixwiMGUlNTPabYOJ/XPHccN23aVP/617909OhRjR8//qzP43QFfQaeifPdR1auXFkRERFn3B/s2LFDd911l6666ipNmzZNK1as0JgxYyT9N8YKivmcBPSZZ57R7t271apVq3Oa8qSwv5natGmjAwcOaPz48VqyZImWLFni0dbzLffvKec/y/gbBDiFPIk86a+GPIk8SSJPynEx5EkSuVJu5ErkSuebN+dKFJNQJPXr13fmd82xaNEihYWFqUaNGrr00kvl7+/vMS/noUOHtGnTpgKPGxwcrDZt2mj06NFauHChFi9erLVr10qSAgICnLkp3Vx11VWaP3/+OZzZqfm6p0yZ4sxbfs011ygtLc3jj7qcH19fX9WtW1e7du3S3r17nWMUNB9pjqpVq6p69eratm1bnuPWqlXL2S48PFwdOnTQ+PHjNWXKFE2bNs2ZO7Og65Vb/fr1tWvXLu3atctZtmHDBh08eFCXX375WV8rnD++vr56/vnnNWDAAP3xxx+STsVU27Zt9dBDD6lhw4a69NJLC42h0+X87nPPn5+ThOfeZvXq1Tp69KizbNGiRc79XVwK61fcXHPNNVq/fr1iYmLyxFLOH6c+Pj6Kj4/X4MGDtWrVKgUEBDgJQFH6lgoVKighIUFjxozxuE45Dh48mO9+P/74o2rWrKkXXnhBTZo0Ue3atZ3RSLnVqVNHzzzzjObOnat7771XEyZMcNZFR0friSee0BdffKFnn332nP4ALaiP3Lhxo3777Te9+uqruv7661WvXr08I11y5qov6HrVr19fJ0+edP6Ykk7Nn52WlnbR9zcVK1bULbfconfeeSff+6AoFi1apBYtWqhbt266+uqrFRsb6zEirly5cqpWrZrH9Tt58qRWrFjhesyrr75aWVlZ2rdvX54YyD0avDBFiQU3Pj4+8vX1dfqvwvqV8PBwVa9eXYsWLfI4zqJFizzuk4I+A/39/c+6vTnq1q2rkydPatWqVc6yLVu2FDgq19fXVw888IAmTZqk3bt351mfkZGR7wj4FStWKDs7WyNGjNC1116rOnXq5Lt/QTFfuXJlJSYm6pNPPtGoUaM0bty4Mz1lR0H9QU7MDhgwQK1atVL9+vXzXJOi9AeXXXaZ8+yGHJmZmVq2bNlF3x8AbsiTyJNwfpEnkSeRJ10cyJXckSv9F7nSf5WWXIliEjwcOnQozyiWXbt2qVu3btq1a5d69uypjRs36t///reSk5OVlJQkX19fhYWFKTExUb1799aCBQu0fv16PfbYY/L19c3zwL0cEydO1Pvvv69169Zp27Zt+uSTTxQcHKyaNWtKOjW1wHfffadffvlF+/fvz/cYycnJ+uyzz5ScnKzU1FTngWxnIjo6Wvfcc48GDhwoSRo4cKA++ugjDR48WOvXr1dqaqomT56sAQMGSJJuueUWXXbZZUpMTNSaNWu0aNEiZ53bueYYPHiwhg0bptGjR2vTpk1au3atJkyYoJEjR0qSRo4cqc8++0wbN27Upk2bNHXqVEVGRioiIqLQ65Vb69at1aBBA3Xq1EkrV67U0qVL1aVLF7Vs2bLArwOjeLVv315+fn7O6IvatWtr3rx5+vHHH5Wamqp//OMfHsl4UbRu3Vp16tRRYmKiVq9ere+//z7Pg487deqkoKAgJSYmat26dVqwYIF69uypzp07q2rVquft/ApTWL/ipnv37jpw4IA6duyoZcuWaevWrZozZ44eeeQRZWVlacmSJXrllVe0fPly7dy5U1988YV+/fVX1a9fX9KpvmXNmjVKS0vT/v37XUetjhkzRllZWYqLi9O0adO0efNmpaamavTo0XmmxMhRu3Zt7dy5U5MnT9bWrVs1evRoj4eD/vHHH+rRo4cWLlyon376SYsWLdKyZcuctj399NOaM2eOtm/frpUrV2rBggXOurNRUB95ySWXKCAgQG+//ba2bdummTNnasiQIR7716xZUz4+Pvryyy/166+/OiOHTz/ntm3bqmvXrvrhhx+0evVqPfTQQ4qKilLbtm3Puu3e4t1339XJkyfVpEkTTZkyRampqUpLS9Mnn3yijRs3ekwRkJ/atWtr+fLlmjNnjjZt2qQXX3wxz3+s9erVS6+++qpmzJihjRs3qlu3bq6JuHQqye7UqZO6dOmiL774Qtu3b9fSpUs1bNgwzZo1q8jnVtRYkKTjx49rz5492rNnj1JTU9WzZ09n9KtUtH6ld+/eeu211zRlyhSlpaWpX79+SklJUa9evSQV/BmY09758+drz549ZzwlS4569eqpdevWevzxx7V06VKtWrVKjz/+uIKDgwv8DB86dKiio6PVrFkzffTRR9qwYYM2b96sDz74QFdffXW+sREbG6vMzEwnxj7++GONHTvWY5uCYn7gwIH697//rS1btmj9+vX68ssvz6k/6N+/v5YtW6Zu3bppzZo12rhxo9577z3t379f5cuXV8WKFTVu3Dht2bJF33zzjZKSkjz2r1KlioKDg52HeR86dCjPe4SEhOjJJ59U7969NXv2bG3YsEFdu3bVsWPH9Nhjj5112wFvQJ5EnoTiQ55EnkSedHEgVzqFXIlc6S+VK5XMo5rgjRITE50Hreb+eeyxx8zMbOHChda0aVMLCAiwyMhI69u3r2VmZjr7Hz582B588EErW7asRUZG2siRIy0uLs769evnbJP7YWvTp0+3Zs2aWXh4uIWEhNi1117r8YCxxYsX21VXXeU8hNMs70MTzcymTZtmjRo1soCAAKtUqZLde++9rueY3/457yXJlixZYmZms2fPthYtWlhwcLCFh4dbXFycjRs3ztk+NTXV4uPjLSAgwOrVq2f/+7//a5Js9uzZZub+4DUzs0mTJjntLV++vN1www3OAwvHjRtnjRo1spCQEAsPD7dWrVrZypUri3S9Tn+Q3U8//WR33323hYSEWFhYmLVv3955sJ9Z3gfxmZm9+eabVrNmTdfrh7Pn9vDGYcOGWeXKlS0jI8N+++03a9u2rYWGhlqVKlVswIAB1qVLF9cHS+Zo27atJSYmOq/T0tLsuuuus4CAAKtTp47Nnj07z8MY16xZYzfddJMFBQVZhQoVrGvXrs7DRN3am997F/YAxcIeWllYv5Lfe5qdepjpPffcYxERERYcHGz16tWzp59+2rKzs23Dhg2WkJBglStXtsDAQKtTp469/fbbzr779u2zW265xUJDQ/M8mPV0u3fvtu7du1vNmjUtICDAoqKi7O677/bY5/Rr27t3b6tYsaKFhoZahw4d7M0333T6nePHj9sDDzxg0dHRFhAQYNWrV7cePXo4D1Ls0aOHXXbZZRYYGGiVK1e2zp072/79+83s7B4sa1ZwH/npp59aTEyMBQYGWvPmzW3mzJl5+q6XXnrJIiMjzcfHx7nPTv+9HDhwwDp37mzlypWz4OBgS0hIsE2bNhXYrunTp9vF8mfI7t27rUePHlarVi3z9/e30NBQi4uLs+HDh9vRo0ed7U6/F8zM/vzzT3v44YetXLlyFhERYU8++aT169fPo//NzMy0Xr16WXh4uEVERFhSUlKhsX/ixAkbOHCgxcTEmL+/v1WrVs3uueceW7NmjZkV7ZoXNRZO//sgLCzMmjZtmufB2IX1K1lZWTZo0CCLiooyf39/a9iwoX311VfO+oI+A83MZs6cabGxsVamTBnnsyq/h8qe3uf06tXLWrZs6bzevXu33X777RYYGGg1a9a0Tz/91KpUqWJjx47N9/xzHDx40Pr162e1a9e2gIAAq1q1qrVu3dqmT5/uPAj39D5x5MiRVq1aNScuPvroI484LijmhwwZYvXr17fg4GCrUKGCtW3b1rZt22ZmZ/dQWbNTfW6LFi0sMDDQIiIiLCEhwVk/b948q1+/vgUGBtpVV11lCxcuzHNPjx8/3qKjo83X19e5pqdf8z/++MN69uxplSpVssDAQIuPj3ceau/WrlWrVpkk2759e4G/A6CkkCeRJ5EnXTjkSfkjTyJPuliQK5ErmZErmf11ciUfs4tgIk5clI4ePaqoqCiNGDHi4qqwnoVFixbpuuuu05YtWzwe4AcAALzbzz//rOjoaOcBsABwoZEnAQCAiwG5Ek5XpqQbgNJj1apV2rhxo+Li4nTo0CG99NJLklRqvr6b2/Tp0xUaGqratWtry5Yt6tWrl+Lj40mQAADwct98840yMjLUoEEDpaenq0+fPoqJidENN9xQ0k0DUEqRJ5EnAQBwMSBXQmEoJuG8euONN5SWlqaAgAA1btxY33//vSpVqlTSzTrvjhw5or59+2rnzp2qVKmSWrdurREjRpR0swAAQCEyMzP1/PPPa9u2bQoLC1OLFi00adIk+fv7l3TTAJRi5EkAAMDbkSuhMExzBwAAAAAAAAAAAFe+Jd0AAAAAAAAAAAAAeC+KSQAAAAAAAAAAAHBFMQkAAAAAAAAAAACuKCYBAAAAAAAAAADAFcUkAAAAAAAAAAAAuKKYBAAAAAAAAAAAAFcUkwAAAAAAAAAAAOCKYhIAAAAAAAAAAABc/T+YJk9WfOftywAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "from sklearn.model_selection import cross_val_score\n", + "from sklearn.preprocessing import StandardScaler\n", + "from sklearn.linear_model import LinearRegression, LogisticRegression\n", + "from sklearn.ensemble import RandomForestRegressor, RandomForestClassifier\n", + "from sklearn.ensemble import GradientBoostingRegressor, GradientBoostingClassifier\n", + "from sklearn.pipeline import Pipeline\n", + "from sklearn.compose import ColumnTransformer\n", + "from sklearn.preprocessing import OneHotEncoder\n", + "\n", + "# Загружаем набор данных\n", + "df = pd.read_csv(\"..//static//csv//FINAL_USO.csv\")\n", + "\n", + "# Определяем категориальные и числовые столбцы\n", + "numerical_cols = ['Volume', 'High', 'Open', 'Close', 'Low']\n", + "\n", + "# Создаем преобразователь для категориальных и числовых столбцов\n", + "preprocessor = ColumnTransformer(\n", + " transformers=[\n", + " ('num', StandardScaler(), numerical_cols)\n", + " ])\n", + "\n", + "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи регрессии\n", + "X_reg = df[ numerical_cols]\n", + "y_reg = df['Adj Close']\n", + "\n", + "# Список моделей для задачи регрессии\n", + "models_reg = {\n", + " \"Linear Regression\": LinearRegression(),\n", + " \"Random Forest Regression\": RandomForestRegressor(),\n", + " \"Gradient Boosting Regression\": GradientBoostingRegressor()\n", + "}\n", + "\n", + "# Оценка смещения и дисперсии для задачи регрессии\n", + "mae_means = []\n", + "mae_stds = []\n", + "r2_means = []\n", + "r2_stds = []\n", + "\n", + "for name, model in models_reg.items():\n", + " pipeline = Pipeline(steps=[\n", + " ('preprocessor', preprocessor),\n", + " ('model', model)\n", + " ])\n", + " mae_scores = -cross_val_score(pipeline, X_reg, y_reg, cv=5, scoring='neg_mean_absolute_error')\n", + " r2_scores = cross_val_score(pipeline, X_reg, y_reg, cv=5, scoring='r2')\n", + " mae_means.append(mae_scores.mean())\n", + " mae_stds.append(mae_scores.std())\n", + " r2_means.append(r2_scores.mean())\n", + " r2_stds.append(r2_scores.std())\n", + "\n", + "# Визуализация результатов для задачи регрессии\n", + "fig, ax = plt.subplots(1, 2, figsize=(15, 6))\n", + "\n", + "ax[0].bar(models_reg.keys(), mae_means, yerr=mae_stds, align='center', alpha=0.5, ecolor='black', capsize=10)\n", + "ax[0].set_ylabel('MAE')\n", + "ax[0].set_title('Mean Absolute Error (MAE) for Regression Models')\n", + "ax[0].yaxis.grid(True)\n", + "\n", + "ax[1].bar(models_reg.keys(), r2_means, yerr=r2_stds, align='center', alpha=0.5, ecolor='black', capsize=10)\n", + "ax[1].set_ylabel('R²')\n", + "ax[1].set_title('R-squared (R²) for Regression Models')\n", + "ax[1].yaxis.grid(True)\n", + "\n", + "plt.tight_layout()\n", + "plt.show()\n", + "\n", + "# Разделяем данные на признаки (X) и целевую переменную (y) для задачи классификации\n", + "X_class = df[numerical_cols]\n", + "y_class = (df['Adj Close'] > df['Adj Close'].mean()).astype(int)\n", + "\n", + "# Список моделей для задачи классификации\n", + "models_class = {\n", + " \"Logistic Regression\": LogisticRegression(),\n", + " \"Random Forest Classification\": RandomForestClassifier(),\n", + " \"Gradient Boosting Classification\": GradientBoostingClassifier()\n", + "}\n", + "\n", + "# Оценка смещения и дисперсии для задачи классификации\n", + "accuracy_means = []\n", + "accuracy_stds = []\n", + "precision_means = []\n", + "precision_stds = []\n", + "recall_means = []\n", + "recall_stds = []\n", + "f1_means = []\n", + "f1_stds = []\n", + "\n", + "for name, model in models_class.items():\n", + " pipeline = Pipeline(steps=[\n", + " ('preprocessor', preprocessor),\n", + " ('model', model)\n", + " ])\n", + " accuracy_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='accuracy')\n", + " precision_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='precision')\n", + " recall_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='recall')\n", + " f1_scores = cross_val_score(pipeline, X_class, y_class, cv=5, scoring='f1')\n", + " accuracy_means.append(accuracy_scores.mean())\n", + " accuracy_stds.append(accuracy_scores.std())\n", + " precision_means.append(precision_scores.mean())\n", + " precision_stds.append(precision_scores.std())\n", + " recall_means.append(recall_scores.mean())\n", + " recall_stds.append(recall_scores.std())\n", + " f1_means.append(f1_scores.mean())\n", + " f1_stds.append(f1_scores.std())\n", + "\n", + "# Визуализация результатов для задачи классификации\n", + "fig, ax = plt.subplots(2, 2, figsize=(17, 12))\n", + "\n", + "ax[0, 0].bar(models_class.keys(), accuracy_means, yerr=accuracy_stds, align='center', alpha=0.5, ecolor='black', capsize=10)\n", + "ax[0, 0].set_ylabel('Accuracy')\n", + "ax[0, 0].set_title('Accuracy for Classification Models')\n", + "ax[0, 0].yaxis.grid(True)\n", + "\n", + "ax[0, 1].bar(models_class.keys(), precision_means, yerr=precision_stds, align='center', alpha=0.5, ecolor='black', capsize=10)\n", + "ax[0, 1].set_ylabel('Precision')\n", + "ax[0, 1].set_title('Precision for Classification Models')\n", + "ax[0, 1].yaxis.grid(True)\n", + "\n", + "ax[1, 0].bar(models_class.keys(), recall_means, yerr=recall_stds, align='center', alpha=0.5, ecolor='black', capsize=10)\n", + "ax[1, 0].set_ylabel('Recall')\n", + "ax[1, 0].set_title('Recall for Classification Models')\n", + "ax[1, 0].yaxis.grid(True)\n", + "\n", + "ax[1, 1].bar(models_class.keys(), f1_means, yerr=f1_stds, align='center', alpha=0.5, ecolor='black', capsize=10)\n", + "ax[1, 1].set_ylabel('F1-score')\n", + "ax[1, 1].set_title('F1-score for Classification Models')\n", + "ax[1, 1].yaxis.grid(True)\n", + "\n", + "plt.tight_layout()\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.6" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}