{ "cells": [ { "cell_type": "markdown", "id": "410f9559", "metadata": {}, "source": [ "## Procesos ETL o Data Wrangling\n", "### 1. Carga de Datasets" ] }, { "cell_type": "code", "execution_count": 33, "id": "8a1e67a0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'c:\\\\Users\\\\CynYDie\\\\Desktop\\\\UTN_Haedo\\\\Clases\\\\Clase5_ETL'" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "os.getcwd()" ] }, { "cell_type": "code", "execution_count": 1, "id": "891b31e0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Tamaño: (768, 9)\n", "\n", "Columnas= ['Pregnancies', 'Glucose', 'BloodPressure', 'SkinThickness', 'Insulin', 'BMI', 'DiabetesPedigreeFunction', 'Age', 'Diabetes']\n", "\n", "Tipos de variable:\n", "\n", "RangeIndex: 768 entries, 0 to 767\n", "Data columns (total 9 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Pregnancies 768 non-null int64 \n", " 1 Glucose 768 non-null int64 \n", " 2 BloodPressure 768 non-null int64 \n", " 3 SkinThickness 768 non-null int64 \n", " 4 Insulin 768 non-null int64 \n", " 5 BMI 768 non-null float64\n", " 6 DiabetesPedigreeFunction 768 non-null float64\n", " 7 Age 768 non-null int64 \n", " 8 Diabetes 768 non-null int64 \n", "dtypes: float64(2), int64(7)\n", "memory usage: 54.1 KB\n", "None\n", "\n", "Estadísticos:\n", " Pregnancies Glucose BloodPressure SkinThickness Insulin \\\n", "count 768.000000 768.000000 768.000000 768.000000 768.000000 \n", "mean 3.845052 120.894531 69.105469 20.536458 79.799479 \n", "std 3.369578 31.972618 19.355807 15.952218 115.244002 \n", "min 0.000000 0.000000 0.000000 0.000000 0.000000 \n", "25% 1.000000 99.000000 62.000000 0.000000 0.000000 \n", "50% 3.000000 117.000000 72.000000 23.000000 30.500000 \n", "75% 6.000000 140.250000 80.000000 32.000000 127.250000 \n", "max 17.000000 199.000000 122.000000 99.000000 846.000000 \n", "\n", " BMI DiabetesPedigreeFunction Age Diabetes \n", "count 768.000000 768.000000 768.000000 768.000000 \n", "mean 31.992578 428.235091 33.240885 0.348958 \n", "std 7.884160 340.485655 11.760232 0.476951 \n", "min 0.000000 0.100000 21.000000 0.000000 \n", "25% 27.300000 205.000000 24.000000 0.000000 \n", "50% 32.000000 337.000000 29.000000 0.000000 \n", "75% 36.600000 591.500000 41.000000 1.000000 \n", "max 67.100000 2329.000000 81.000000 1.000000 \n", " Pregnancies Glucose BloodPressure SkinThickness Insulin BMI \\\n", "0 6 148 72 35 0 33.6 \n", "1 1 85 66 29 0 26.6 \n", "2 8 183 64 0 0 23.3 \n", "3 1 89 66 23 94 28.1 \n", "4 0 137 40 35 168 43.1 \n", "\n", " DiabetesPedigreeFunction Age Diabetes \n", "0 627.0 50 1 \n", "1 351.0 31 0 \n", "2 672.0 32 1 \n", "3 167.0 21 0 \n", "4 2288.0 33 1 \n" ] } ], "source": [ "# Diabetes\n", "#\n", "import pandas as pd\n", "import os\n", "separador=os.sep\n", "\n", "# Path del archivo\n", "carpeta=str(os.path.join(os.getcwd(),\"datasets\"))\n", "archivo=str(os.path.join(carpeta,\"diabetes.csv\"))\n", "\n", "# Convertir archivo a DataFrame de Pandas\n", "df_diabetes = pd.read_csv(archivo)\n", "\n", "# Tamaño del datast\n", "print(\"\\nTamaño: \",df_diabetes.shape)\n", "\n", "# Columnas\n", "columnas_diabetes=df_diabetes.columns.tolist()\n", "print(\"\\nColumnas=\",columnas_diabetes)\n", "\n", "# Tipos de variables\n", "print(\"\\nTipos de variable:\")\n", "print(df_diabetes.info())\n", "\n", "# Estadisticos:\n", "print(\"\\nEstadísticos:\")\n", "print(df_diabetes.describe())\n", "print(df_diabetes.head())\n" ] }, { "cell_type": "code", "execution_count": 2, "id": "bc1641a1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Tamaño: (891, 12)\n", "\n", "Columnas= ['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp', 'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked']\n", "\n", "Tipos de variable:\n", "\n", "RangeIndex: 891 entries, 0 to 890\n", "Data columns (total 12 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 PassengerId 891 non-null int64 \n", " 1 Survived 891 non-null int64 \n", " 2 Pclass 891 non-null int64 \n", " 3 Name 891 non-null object \n", " 4 Sex 891 non-null object \n", " 5 Age 714 non-null float64\n", " 6 SibSp 891 non-null int64 \n", " 7 Parch 891 non-null int64 \n", " 8 Ticket 891 non-null object \n", " 9 Fare 891 non-null float64\n", " 10 Cabin 204 non-null object \n", " 11 Embarked 889 non-null object \n", "dtypes: float64(2), int64(5), object(5)\n", "memory usage: 83.7+ KB\n", "None\n", "\n", "Estadísticos:\n", " PassengerId Survived Pclass Age SibSp \\\n", "count 891.000000 891.000000 891.000000 714.000000 891.000000 \n", "mean 446.000000 0.383838 2.308642 29.699118 0.523008 \n", "std 257.353842 0.486592 0.836071 14.526497 1.102743 \n", "min 1.000000 0.000000 1.000000 0.420000 0.000000 \n", "25% 223.500000 0.000000 2.000000 20.125000 0.000000 \n", "50% 446.000000 0.000000 3.000000 28.000000 0.000000 \n", "75% 668.500000 1.000000 3.000000 38.000000 1.000000 \n", "max 891.000000 1.000000 3.000000 80.000000 8.000000 \n", "\n", " Parch Fare \n", "count 891.000000 891.000000 \n", "mean 0.381594 32.204208 \n", "std 0.806057 49.693429 \n", "min 0.000000 0.000000 \n", "25% 0.000000 7.910400 \n", "50% 0.000000 14.454200 \n", "75% 0.000000 31.000000 \n", "max 6.000000 512.329200 \n" ] } ], "source": [ "# Titanic\n", "#\n", "# URL del dataset en GitHub\n", "url = 'https://raw.githubusercontent.com/datasciencedojo/datasets/master/titanic.csv'\n", "\n", "# Cargar el dataset desde la URL\n", "df_titanic = pd.read_csv(url)\n", "\n", "# Tamaño del datast\n", "print(\"\\nTamaño: \",df_titanic.shape)\n", "\n", "# Columnas\n", "columnas_titanic=df_titanic.columns.tolist()\n", "print(\"\\nColumnas=\",columnas_titanic)\n", "\n", "# Tipos de variables\n", "print(\"\\nTipos de variable:\")\n", "print(df_titanic.info())\n", "\n", "# Estadisticos:\n", "print(\"\\nEstadísticos:\")\n", "print(df_titanic.describe())\n", "\n", "# Guardar CSV\n", "nombre_archivo=\"datasets\"+str(separador)+\"titanic.csv\"\n", "df_titanic.to_csv(nombre_archivo)" ] }, { "cell_type": "markdown", "id": "5ac831e7", "metadata": {}, "source": [ "### 2. Inconsistencias y anomalias" ] }, { "cell_type": "code", "execution_count": 3, "id": "fea3f609", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Valores duplicados: 0\n", "\n", "Valores faltantes por columna:\n", "Pregnancies 0\n", "Glucose 0\n", "BloodPressure 0\n", "SkinThickness 0\n", "Insulin 0\n", "BMI 0\n", "DiabetesPedigreeFunction 0\n", "Age 0\n", "Diabetes 0\n", "dtype: int64\n", "\n", "Cantidad de Ceros:\n", "Glucose: 5\n", "BloodPressure: 35\n", "SkinThickness: 227\n", "Insulin: 374\n", "BMI: 11\n", "DiabetesPedigreeFunction: 0\n", "Age: 0\n", "Diabetes: 500\n" ] } ], "source": [ "# Dataset de Diabetes\n", "\n", "# Identificar valores duplicados \n", "duplicados = df_diabetes.duplicated().sum() \n", "print(f\"\\nValores duplicados: {duplicados}\") \n", "\n", "# Identificar valores faltantes \n", "valores_faltantes = df_diabetes.isnull().sum() \n", "print(\"\\nValores faltantes por columna:\") \n", "print(valores_faltantes) \n", "\n", "# Mostrar Variables con ceros \n", "print(\"\\nCantidad de Ceros:\")\n", "for columna in columnas_diabetes[1:]:\n", " num_zeros = (df_diabetes[columna] == 0).sum()\n", " print(f\"{columna}: {num_zeros}\")" ] }, { "cell_type": "code", "execution_count": 4, "id": "e9f7a90b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Valores duplicados: 0\n", "\n", "Valores faltantes por columna:\n", "PassengerId 0\n", "Survived 0\n", "Pclass 0\n", "Name 0\n", "Sex 0\n", "Age 177\n", "SibSp 0\n", "Parch 0\n", "Ticket 0\n", "Fare 0\n", "Cabin 687\n", "Embarked 2\n", "dtype: int64\n", "\n", "Cantidad de Ceros:\n", "PassengerId: 0\n", "Survived: 549\n", "Pclass: 0\n", "Name: 0\n", "Sex: 0\n", "Age: 0\n", "SibSp: 608\n", "Parch: 678\n", "Ticket: 0\n", "Fare: 15\n", "Cabin: 0\n", "Embarked: 0\n" ] } ], "source": [ "# Dataset de Titanic\n", "\n", "# Identificar valores duplicados \n", "duplicados = df_titanic.duplicated().sum() \n", "print(f\"\\nValores duplicados: {duplicados}\") \n", "\n", "# Identificar valores faltantes \n", "valores_faltantes = df_titanic.isnull().sum() \n", "print(\"\\nValores faltantes por columna:\") \n", "print(valores_faltantes) \n", "\n", "# Mostrar Variables con ceros \n", "print(\"\\nCantidad de Ceros:\")\n", "for columna in columnas_titanic[:]:\n", " num_zeros = (df_titanic[columna] == 0).sum()\n", " print(f\"{columna}: {num_zeros}\")" ] }, { "cell_type": "code", "execution_count": 5, "id": "2439edff", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAB/wAAAOdCAYAAACI0BqGAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd3gUVfs38O/ZbJJNoQQSSCDUELrSUTrSexVEmghSBFQg9NCL9BI6CAoPyk9AQESq9N6R3nvvJb3s3u8fvDPukoCoIZtkv5/rypVlZnY88+Q8M2fOfc59lIgIiIiIiIiIiIiIiIiIiIiIKEUx2LsARERERERERERERERERERE9M8x4E9ERERERERERERERERERJQCMeBPRERERERERERERERERESUAjHgT0RERERERERERERERERElAIx4E9ERERERERERERERERERJQCMeBPRERERERERERERERERESUAjHgT0RERERERERERERERERElAIx4E9ERERERERERERERERERJQCMeBPRERERERERERERERERESUAjHgT0RERERERERERERERERElAIx4E9ERERERERERERERERERJQCMeBPRERERERERERERERERESUAjHgT5QCnTp1CsePH7d3MYiIiIiIiIiIiIiIiIjIjhjwJ0phjh8/jvfffx+9e/dm0J+IiIiIiIiIiIiIiIjIgTHgT5TCvHjxAh988AG2b9+OoUOH4s8//7R3kYiIiIiIiIiIiIiIiIjIDhjwJ0phypcvjwkTJqBSpUr47bffMGzYMAb9iYiIiIiIiIiIiIiIiByQ0d4FIKK3JyJQSqFcuXIYMmQIlFL47bffAABDhgxB8eLF7VxCIiIiIiIiIiIiIiIiIkoqDPgTpSAWiwVOTk5QSqFixYr46quvEBsbi40bN8LJyQnBwcEM+hMRERERERERERERERE5CAb8iVIIs9kMJycnAMCsWbOwe/dubNmyBe7u7oiOjsamTZtgsVgwdOhQFC1a1L6FJSIiIiIiIiIiIiIiIqJ3TomI2LsQRPRmWip/AOjfvz8mTZqEQoUK4eOPP0bmzJnx22+/4ejRo7h79y4aNGiAYcOGMehPRERERERERERERERElMox4E+UgixatAiff/45atWqhfHjx6Nw4cIAXg4I+OWXXxASEoK9e/eiYcOGGDJkCIoVK2bnEhMRERERERERERERERHRu8KU/kQpgIhARLBp0yYAQN++ffVgf1xcHIxGI5o2bQoPDw8MGTIE69atg8FgQHBwMIoXL27PohMRERERERERERERERHRO2KwdwGI6C9XrlzB1atX421XSiEsLAxHjx6Fm5sbAgMDAbwcCGA0GiEiMBgMqF69Oho2bIjY2Fhs3rwZY8aMwdGjR5P6MoiIiIiIiIiIiIiIiIgoCTDgT5RMbNmyBYUKFUJISEiCQf+0adMiU6ZMiIyMxPHjxwEAZrMZwMsBASICZ2dndOvWDRkyZICrqytWrFiBPn364NGjR0l6LURERERERERERERERET07jHgT5RMrF+/HtHR0ViwYAHmzZtnE/SPi4tDXFwcChQoAABYvnw5AMBoNOpBfwCwWCzw9PRE2rRp0bp1a3z44YeoX78+vL29k/ZiiIiIiIiIiIiIiIiIiOidUyIi9i4EEb3Ut29fTJw4ES4uLujZsyc6deqEXLly6fsPHDiAcuXKwWKxIDg4GCNHjgTwMrW/UgoAsGnTJjRs2BCrV69GsWLF4OPjE+8YIiIiIiIiIiIiIiIiIkr5OMOfKBnQZumPHz8evXr1QkxMDKZMmRJvpv8HH3yAOXPmQCmF0aNHIygoCGFhYYiJiQEA7NmzB+PGjYO3tzdy5szJYD8RERERERERERERERFRKsYZ/kTJgNlshsFg0IPyPXr0wLRp0xKc6f/ixQt8//336NWrFwCgVKlSyJo1KzJnzozly5fjyZMnmD59Orp162a36yEiIiIiIiIiIiIiIiKid48BfyI7s1gsMBheJtvYu3cvypYtCwAICgrClClT9KB/x44dkTt3bv07a9euRa9evfDo0SM8f/4cLi4uyJQpEwYNGoROnToB4Mx+IiIiIiIiIiIiIiJKemFhYfD09LR3MYgcAgP+RHZkHZDv168fJkyYgO+++w4dOnQA8OagPwDcunULd+/exZEjR1CgQAF4e3ujUKFCAGwHEhARERERERERERERESWFoUOHIjQ0FH379oWvr6+9i0OU6hntXQAiR6YF++fPn4/p06ejVq1aesAeACZNmgQAmDJlCqZMmQIANkF/f39/+Pv7o1SpUjbnFREG+4mIiIiIiIiIiIiIKEkdOHAAkyZNgsFgQLp06dC5c2cG/YneMUYEiezAbDbb/HvDhg0ICAjA+PHj8eGHHwIA4uLiALwM+vfs2RMxMTGYMmUKvvvuO1y9elX/rojg1UQdTONPRERERERERERERERJrXDhwpg4cSIyZ86MKVOmYPbs2bh37569i0WUqnGGP5EdODk5AQAmTJgAPz8/XLx4Ed26dUPhwoX1NP9GoxFmsxlOTk7xZvobDAZ06NABuXPnZnCfiIiIiIiIiIiIiIjsTkTg4eGBtm3bAgDGjRuHkJAQAECXLl3g5+dnz+IRpVoM+BPZycqVK9GvXz8ULlwY169f12f0WywWfUCAk5NTgkH/MWPGICwsDCNHjkTatGntdg1ERERERERERERERETAy+zDsbGxcHd3R7t27eDs7IwJEyZg2rRpAIDOnTsjS5Ysdi4lUerDlP5EdlKiRAm0bdsWp06dQmhoKG7evAngZZDfOkW/FvQHXqb3/+qrrwAAgYGBDPYTEREREREREREREVGyEBcXB2dnZ0RGRuLUqVO4f/8+8ubNi+fPn2PhwoWYO3cu7t69a+9iEqU6Sl5d/JuIkszNmzfx7bffYu7cuQBezvpv1KgRAOip/TXaTH8A2LVrFypUqJDk5SUiIiIiIiIiIiIiInqVFsMICwtD48aNceDAAbi6uiJr1qy4dOkSIiIi4O3tjS+//BJffvklfH197V1kolSDM/yJ3rHXjakREWTLlg39+/dHly5dAAC9e/fGpk2bALxMffO6mf5asN9isbzLohMREREREREREREREf0tJycnREVFoWbNmti9eze6d++Omzdv4tChQzh//jy+/PJLKKUwbdo0zJ49mzP9iRIRA/5E75DZbNZn6cfFxeHu3bt48uQJLBaLvj1Hjhzo168fOnTogCtXrqBHjx5vDPpbMxj4f2EiIiIiIiIiIiIiIrIfLY4xd+5c7Nu3D82bN0dwcDBMJhNEBFmzZsXYsWPRt29fuLq6YtasWZgzZw7u3Llj55ITpQ6MFhK9I9Yp+OfPn48GDRogd+7cCAgIQMmSJbFo0SJcv34dwMug/+DBg9GhQwecO3cO33zzzWuD/pT6nT9/3t5FICIiIiIiIiIiIiJ6K9oEx3PnzgEAunXrBg8PD5jNZri4uEBEkCZNGnTu3BmtWrXC48ePsXDhQsydOxf37t2zZ9GJUgUG/IneAYvFogf7+/Xrh06dOmHfvn2oWLEi8ubNi3PnzqFr164YMGAAjh8/DgDInj07hg4dig4dOuD8+fMICgrChg0bAPz1sKTUr1evXihTpgzWrVtn76IQEREREREREREREf0tbdLilStXAAAXL14E8FdsQ5vY6Onpif79+yNDhgy4efMm5s6di4kTJ+L+/fv2KThRKsGAP9E7oKXanzx5MiZMmIA6depg69at2LhxI/bv349ff/0Vnp6e+OOPP7Bx40ZEREQAAPz9/TF06FB06tQJp0+fxueff44bN27Y81IoCb148QIPHjzAs2fPEBQUhLVr19q7SEREREREREREREREb6VYsWIAgCNHjgB4GSvRBgMopRAdHQ0fHx8UKVIElStXBgAsX76cyxcT/Uf8fxDRO3L69GnMnj0bOXLkwIgRI1CsWDGICJRS2L17Nx4+fIgPPvgAVapUgbu7u/49f39/BAcHo0WLFggKCkL27NnteBWUlNKmTYvx48eja9euOH/+PHr27MmZ/kRERERERERERESUrGhBfIvFosc9AKBq1aoAgKlTp2LRokUAXgb6zWYzzGYzXF1dAQB37txBnjx5MH78eGzevBk+Pj52uAqi1MNo7wIQpVaXL1/GlStXMHHiRBQvXhzAywfb8OHDMWrUKNSpUwejRo1C0aJFAQCPHz9GxowZAQDZsmXDvHnz4OnpCeDlQ5Mj3BxDlixZMGDAAFgsFsyZMwc9evSAxWJBvXr17F00IiIiIiIiIiIiInJgZrMZTk5OeoD/1bhF9erVMXDgQHz77bcYMGAAlFJo27atvgQyAMyYMQM3btxA/fr1Ub9+/SQtP1FqxYA/USLTRrMdOnQIIgJvb29934gRIzB8+HDUqVMHo0ePRpEiRQC8DPb36NEDPXr0QIkSJQBAD/aLCIP9DiIuLg5GoxFZs2bF0KFDYbFYMG/ePPTv3x8WiwUNGjSwdxGJiIiIiIiIiIiIyAFp/ddRUVH46aefcOzYMVy4cAHFihVD+fLl9eB9u3btcPv2bSxatAjt2rXD+fPnUaFCBRQoUADff/895s2bh2zZsunp/4nov2PAn+gdyZw5MwDgxo0bAICRI0di2LBh8YL9ALBy5Ur89NNPqFu3rh7w12gj5Sh10xpLERERWLhwIXbt2oXnz58DAC5cuID+/fvDyckJdevWtXNJiYiIiIiIiIiIiMiRmM1mGI1GhIeHo379+ti+fTuMRiNEBJs3b8aECRMQFBSEvn37Ik+ePBgwYAAyZcqECRMmYMyYMRgzZgxcXFwQExODrFmzYuXKlfD397f3ZRGlGkq0hTaI6B/T0tckZM+ePahQoQLee+89FClSBD/++CPq1q2LESNG2Ixc27ZtG9q3bw8/Pz/8+OOPyJ07d1IVn5IJbcmG8PBwVK9eHadOnUKuXLlQrVo1/Pnnnzh37hzu3r2LPHnyYMqUKQz6ExEREREREREREVGS0LIaR0ZGokqVKjh8+DDatGmDgQMHIjIyEpcuXUKnTp3w+PFjBAUFYejQoXoG47Vr12LlypU4c+YMMmbMiEKFCqFr167IkSOHna+KKHXhDH+i/0AL9g8ZMgTvv/8+Pv74YwAvH4AffPAB2rdvj4ULF+LkyZMoV64cxowZg8KFC+sB3r1792LkyJF49OgRxo0bx2C/gzIYDIiJiUHTpk2xf/9+DBkyBEOGDNGXctiyZQt++OEHLFmyBD179gQABv2JiIiIiIiIiIiI6J1TSsFisWDw4ME4cOAAevbsieHDh+tB/ffeew/BwcEAXk6StF6iuG7dujZ92drgASJKXAz4E/0L2kNJRLBlyxaMGjUKrq6uMJlMqFevHpRSMBqNaN68OS5cuIDdu3cDAO7cuYPChQsjNDQUa9euxejRo3H27FmEhISgefPmNucmx6D9vXfv3o3NmzejSpUq6NevHwwGA6KiomAymVC1alVky5YNBoMBP/74I3r37g2z2YwGDRrYu/hERERERERERERElMqZzWZs27YNBQoUwKhRo+Dm5gYAiI2NRcWKFXHu3DkEBwcjKCgI7u7uet828HI5WycnJ8Y9iN4hBvyJ/iHrNP7Pnj1D/vz5Ua1aNWzevBktWrTAzz//jHr16gEAatSogfDwcLi4uGDr1q2oVasW8uXLh+fPn+PevXvIkCEDZs6ciS+//BLAX6ndyXFojZxr167BYrGgVq1acHNzQ1xcnN4gAoC8efOic+fO2L9/Py5duoSBAwfCycmJM/2JiIiIiIiIiIiI6J06f/48jh07hnbt2unBfovFgkqVKuHAgQMIDg5G3759kSZNGgDAb7/9BmdnZzRu3BhG41+hSAb9id4NRhaJ/gGLxaIH+8eNG4fKlSujRIkSOH36NFxcXBAREYGWLVti7dq1+ncaN26MkJAQTJ8+He+//z6MRiN8fHwwaNAgrFq1isF+AgBEREQAAA4ePIioqCibRpCmXLlyKFy4MMxmM86dO4fPPvsMmzZtSuqiEhEREREREREREVEqFRcXB+BlzEKjBepv3rypbytfvjz2798fL9gvIhgzZgwWLlyIqKioJCw5keNidJHoH9AC8oMHD8aAAQOQJUsWzJs3D1u2bMGiRYtQr149hIWFoUWLFvj999/17xUqVAjdunXDrl27cPz4cRw8eBAjRoxAhQoVADDYT0Dp0qWRPn16nD9/Hvfu3QPwMpuEJjo6GgBQoUIFlCtXDk2bNkV4eDhy585tl/ISERERERERERERUepisVhgNBoRGhqKbt266QH+gIAAFChQALdu3cKRI0dQpkyZBIP9ANCvXz+cPHkSDRo0sMliS0TvjhIRsXchiFKSX3/9FU2aNEHx4sWxaNEiFCpUyGZ/ly5dMG/ePHh4eODnn39G3bp19XXarZcDYJDf8Wj1QPsM/DUy8uHDh6hXrx4OHTqEjz/+GMuWLdO/FxcXp8/4r1u3Lp48eYLly5fD2dkZmTNnTuKrICIiIiIiIiIiIqLUKjY2FiVLloTRaMSRI0cAvJyQ9tVXX2H+/PnIkCEDnj17hoEDB6J3795Imzat/t3vvvsOgwcPRoECBfDzzz+z/5ooiTDaSPQPnT59GgDQrVs3PdgvInqamzlz5qB169YIDw9HixYtsGbNGj2oqwX7ATDY72DMZjOUUnqg//79+wgPD9f3+/j4YNasWfDw8MAvv/yCTz75BPfu3UNsbKwe7P/uu+9w8OBBVKlSBf7+/mwsEREREREREREREdG/8uLFCwB/TU7TWCwWXLt2DYGBgfp+V1dX9OnTB1mzZsWTJ08QGBiIJk2a2AT7R44ciYEDB8LJyQnz5s1j/zVREoq/SDQRvdGZM2cAAOnTpwfw1+xro9Goz+CfOHEijh8/jpMnT+LTTz/FihUrULNmTc7qd1BaHYmMjMSIESOwb98+HDp0CFmyZMFHH32Er776Crlz50aJEiWwbNkyNG/eHMuXL8e1a9dQrFgxVKhQAdu2bcPSpUuRPn16tG/f3t6XREREREREREREREQp1IABA3Djxg2MHz8eWbNmtclOe//+fYSGhiJTpkwAXgb8RQSBgYFYs2YNatWqhfPnz6NDhw4oXLgwvLy8cPjwYezduxc5cuTA2rVr9cECRJQ0GHkk+oe0EWtr164FABiNRn0EnJOTE0QE7u7u8PT0RIYMGRAREYFmzZrh9OnTDPY7ILPZDKPRiPDwcFSuXBnjxo3DtWvXUKRIEbx48QLz589Hy5YtsXjxYoSFhaF27drYtm0bChUqhFOnTmHevHlo06YNvv/+e2TLlg0bN25EQECAvS+LiIiIiIiIiIiIiFKgU6dO4YcffsDSpUsxZswY3LlzxyY7bUxMDAAgY8aMAF5mKzYYDLBYLChatCi2b9+Oxo0b49GjR1i8eDGmTZuG+/fv44svvsC2bdtQsGBBu10bkaPiDH+if6hFixb4v//7P+zYsQMbN25EzZo1bR6GSil4enoiV65cKF68OCIjI/H9999j4MCBWLx4sU2KG0r9nJycEBUVhYYNG+Lo0aMICgrC8OHDYTKZEBYWhuDgYMycORNLly5FkSJFULp0aZQsWRKbNm3CyZMnsW/fPiilEBgYiMqVK8PPz8/el0REREREREREREREKVRAQABmzZqF4cOHY968eTCbzRg8eDCyZMkCAAgNDQUAuLi42HxPC/rnz58fCxcuRFRUFM6cOQODwYCiRYvC2dkZJpMpya+HiBjwJ4rnTWn3LRYLAgICUL16daxYsQIzZsyAh4cHypUrB6UULBYLlFLYsWMHVq9ejYkTJ6Jz587YvXs3zp49i6ioKAb8HYiWBmn+/PnYunUr2rVrhyFDhsDd3R3Ay2wRe/fuRdq0aVGiRAkULlxYzxLh5+cHPz8/1KhRw85XQURERERERERERESphZubG+rWrQsAGDJkCBYsWAAACA4Ohr+/P27evAkAekp/LWYSFxcH4GXg393dHWnSpEGlSpXscAVE9CoG/ImsmM1mODk5AQCOHz+OO3fuIE2aNMicOTMCAwNhMBjg7++PLl264OzZs1i7di0iIyPRuHFjdOrUCc7OztixYwdGjBgBZ2dnBAQEIC4uDmnTpsXhw4dx9uxZ/SFJqZ+25tHevXuRLl06jB49GmnSpAHwsq6VL18ex44dQ3BwMPr06YM0adIgLCwMnp6eAIC4uDgYjS9v09ZrKBERERERERERERER/Rtmsxmurq6oW7cuDAYDBg4cqAf9J0yYoM/sz549OwDoEyS1SY/atgsXLiBv3rx2uAIiepUSLQ85kYOzntk/atQoTJ06FU+ePIGTkxN8fHwwdepUNG/eXD9+/fr1GDlyJI4cOYLY2Fi89957cHZ2xsmTJxEbG4sJEyYgKCgIAFCgQAEopbBr1y593RtK/cxmM6Kjo1GoUCEYjUYcOnQI6dOnh9lsRoUKFbB//34EBwejb9+++kCAX375Bdu2bcPMmTPtXHoiIiIiIiIiIiIiSk20SWZRUVG4d+8ecubMiV9//RWDBg3C2bNn0b17d5hMJkyYMAGFCxdGmjRpICIQETx//hwxMTFwdnbG9evX4evriwMHDsDHx8fel0Xk8DjDn+j/04L9gwcPxujRo+Hr64tGjRrh+fPn2LZtG1q0aIEHDx6ge/fuAIDatWsjU6ZM+OOPPzBz5kxcunQJsbGxKFWqFDp06ID27dsDAIYPH47z58+jbdu2XL8mlbOekQ+8HPFoNBrh4eGBK1euIDw8HOnTp0f58uVx4MCBeMF+AJg9ezaOHTuGQYMGwc/Pzx6XQURERERERERERESpjMVigdFoRFhYGD766CP4+flh6tSpqF27NiwWCwYNGoQffvhBX5L24cOHOHPmDDw9PeHh4YG4uDi4urrCzc0N+fLlw+LFixnsJ0omGPAnh2c9s3/fvn344Ycf0KhRI4waNQoFCxYEAEyaNAl9+vTB119/DbPZjG+++QYAUKJECZQoUQJdu3bFkydPALxclz1DhgwAgOnTp2PatGnw9/fHkCFD4OHhYYcrpKQgInpjadWqVWjTpg0MBgNcXFxQrVo1TJs2DdOmTcOWLVtw9OhRmzT+mlGjRmHv3r3o06cPvL297Xg1RERERERERI7LeslHIiKi1MJgMCA2NhZt2rTBsWPH9KC/q6sr6tSpAwAYMWIETpw4gfr162P48OHIkycPzGYz3N3dERkZCaPRCHd3d4SGhtr0bRORfTGlPzk062A/AGzcuBH169fHzp078eGHH9rsnz17Nrp16wYAmDJlih70T+gl8MmTJxg2bBh+/PFHmEwmbNq0CYULF06iqyJ7iYuLQ8GCBXHp0iWcOnVKHzCydetWtGvXDnfu3IGIoEePHvj222/h6uqqf/e7777D0KFDkSVLFvz666/w9/e312WQnYgIlFL2LgYREREREZFD0fp+tP6dmJgYuLi4ICIiAitWrEDr1q35rkZERCmadWbaK1euoFy5cvj0008xcuRIeHh46M/AyMhIrF+/HoMGDcKlS5fQqVMn9OnTBzly5NDPo5SCk5MT+zKJkhnD3x9ClHppwfxOnTqhSJEiWLNmDRo2bIgPP/xQ32+xWAAAX375pb6ues+ePRESEgIA8YL9z58/x+DBgzFjxgwULlwY27ZtY7DfQRiNRr3urF69Wt9evnx5tGjRAunSpYPJZIKnpyeeP38OEUF4eDj69u2L3r17Iy4uDj/99BOD/Q7IbDZDKQWLxYKYmBh9GxEREREREb1bBoMBf/75JyZNmoTbt2/DxcUFL168QIkSJTBu3DgcPnzY3kUkIiL617TMtOHh4Vi4cCFWrlyJp0+fYuDAgfDw8IDFYtFjHG5ubqhTpw5GjRqFvHnzYt68eRg7dizu3LkD4GUsRDuWwX6i5IUz/MnhPXnyBKVKlcLVq1eRPn165MmTB9u2bYPJZNIfXq+b6T9x4kT06tXL5nwios/wLlu2LDJnzpy0F0R2odWRjRs34pNPPkGuXLmwb98+mEwmAEBERAQGDRqExYsX4/Hjx/D29kaOHDlw584d3L17F4ULF8bSpUtRoEABO18JJTVthG1UVBRCQkKwf/9+zJo1C35+fvYuGhERERERUar34MEDlC1bFleuXEFISAjq16+PRo0a4fTp0xg6dCj69u0LFxcXexeTiIjoX4uLi0OdOnWwefNm1K9fH7du3cL+/fvh5ORkkwFZExUVhXXr1mHIkCG4evUqmjRpgvHjx7O/kigZY8CfCMDly5fRqlUrHDx4EJkzZ8aOHTuQN29em3T91kH/uXPn4ssvvwQAHD16FEWLFrVX0SmZCQ0NRe3atbF3715MmDABQUFBej2Kjo7GmjVrsHbtWvz+++9QSuH9999H9erV0bp1a2TNmtXexackpgX7w8PD0axZM2zcuBEZM2bEd999h4YNG9q7eERERERERKleWFgYpk+fjvnz5+PZs2dwdnbG06dP8e2336Jr165wc3Nj2mIiIkrxxo4di/nz5+PKlSsAgM2bN6NKlSqvPT4qKgobNmxAt27dEBsbixMnTsDX1zepiktE/xAD/uTwtJe2K1euoHXr1ti/fz+KFCmC9evXw9fX97VB/6lTpwIAevToYaeSk71ot00tBbtWJ7TPmzdvRqNGjVC1alWsXLkSTk5ONuskAcDjx49hMBjg5eVll2sg+9PqS3h4OCpUqIAzZ86gdevWCAkJgYeHh81xSil2LlGCrO9Br7J+fhERESVH2ruYdfvaejsR0btmfb+ZMGEChg4diujoaFStWhULFixAtmzZ4r3PExG9a69rIxH9G9bPupCQEMybNw9nz57FZ599hqFDhyJnzpyv/W5kZCS2bNmCggULInfu3ElUYiL6NxjwJ4fxpqCI5sqVK2jVqhUOHDiAChUqYNmyZcicOfNrg/7/5NyUsml/Y+1F/9VAmnXD6dq1a2jYsCFOnjyJpUuXolmzZvGOsw7iskPTcUVHR6Np06Z6iqy+ffvC3d3d3sWiFEK7H8XGxuL48eM4ffo0TCYTfH19UalSJXsXj4iI6I1ebU8/e/YM6dOn57sVESU57X7k5+eH+/fvI3369FBKoX///mjbti2XaiSiJMOB+/SuWNet6dOnY9KkSXj48CH69euHTp06ceY+USrAgD85BOsH2smTJ3Ht2jXcv38fadOmRbVq1ZA2bVp9tPaVK1fQsmVLHDx48LVBf3Ic586dQ/78+W22hYWFoUaNGqhYsSJat26NwMBAuLq62gTutWUfGjZsiEWLFiFNmjQM6lM8v/76Kz755BPUrVsXS5Ysgclk0vcdO3YMW7Zswf79+1GlShVUrFgRhQsXtmNpKTmxXg7i888/x9atW/HkyRN9f4MGDTB58mSOviYiomTJ+t1qwYIF2LBhA3bv3o08efLA19cXwcHByJMnDzw9Pe1cUiJyJOPGjcOjR4/g5+eHqVOnIjw8HL169ULnzp3h7e2tH8dB+0T0Lmjv+ZGRkRgzZgyuXr2Ku3fvok2bNihTpgzy5s1r7yJSCvCmwbPWGWtmzJiBcePG4dmzZxgwYADat2/PoD9RCseAP6V61g+5MWPGYPr06bh3756+v1ixYmjevDm6d++up9Fm0J8AoF+/fpgyZQqWLVuGRo0aAXj5Yj9hwgT0798fAJA7d24UL14cw4YNg6+vLzJkyAAAuHPnDho2bIiLFy9ix44dKFKkCDsFKJ7Bgwdj9OjRWL58OZo2bQrg5T1r4MCBWLp0Ka5fvw4AMBqNaNSoEb799lvkyZPHnkWmZMB6OYhKlSrh6NGjqFatGurWrYvw8HD8/PPPOHXqFIoWLYp58+ahRIkSvPcQEVGyYd0m7t+/P8aPHw8A8PDwgFIKYWFh8PX1RdeuXdGmTRvkyJHDnsWlZO51ndp8d6e3od2PYmJi4OLiYrMvJCQEEydORGRkJHr27IlOnTrBx8fHpm6dO3cO+fLlY1ubiP4z6/f8qlWr4uDBgzAYDLBYLDCZTChfvjyGDh2KcuXK2buolIxpAf3o6Gj88ccfOHz4MAwGA3Lnzo3WrVvHO37mzJkYM2YMnj9/zqA/USrAPHmUqomI/vI/YMAABAcHw8vLS1+rpnPnzrh//z6GDBmC/v37IyoqCsDLIO6SJUtQunRp7Nq1C40bN8bdu3fZYeBAwsLCcP36dcTFxdnMmlVK4euvv8auXbvQsWNHxMbG4pdffsFHH32Ezz//HL/++itEBFmyZEGtWrXw4sULfPvtt4iMjGQnAMXj5eUFADh16hSOHz+OHTt2oEyZMhg/fjyMRiPmz5+PkSNHIjAwEBs2bMCNGzfsXGJKDgwGA2JjY9GxY0ccPXoUAwYMwOrVq/HNN99g4MCB+O2335AmTRqcP38e+/fvB8d2EhFRcmKdEWvy5MmoXbs2du/ejbNnz2Lnzp1o3rw5nj59igkTJmD27Nm4c+eOnUtMyVVcXBwMBgNiYmJw/PhxbNmyBYcPHwYAvrvTG5nNZgB/3Y+io6PjHdO+fXv07dsXbm5umDx5MubNm4f79+/rdet///sfOnXqhFmzZiVdwYko1dKeZ82aNcOff/6Jtm3bYu/evRg3bhzKly+PzZs3o1u3bti5c6e9i0rJlNls1jNBNmvWDE2aNMGIESMwbNgwtG3bFp9++ikOHz4Mi8Wif6dbt24YMGAA0qVLhzFjxmDhwoVsexOlZELkAP73v/+JUkpq1qwpJ0+etNnXpEkTcXZ2lk8//VSuXr1qs+/KlStSrFgxUUrJ8uXLk7DElBzcvn1btm7dKiIi4eHhsm3bNpv9UVFRcuvWLfn666+lZMmSopQSpZTUq1dP5s6dK1evXpWAgAApUKCAXLx40Q5XQMlFXFyc/tliseifd+zYIYUKFRKllKRJk0aUUuLr6yu9evWSR48e6cd169ZNlFIyadKkJC03JV9Hjx6VDBkySLVq1SQqKkrfHh0dLRUqVBBnZ2cZOHCgPHnyxOZ7ZrM5qYtKREQkIrbtIRGRTz/9VAoUKCAnTpyw2R4TEyPDhw+XDBkySMaMGWXJkiUiwmcY/cVsNuv1KSwsTOrUqSPp0qUTpZT+bn/r1i07l5KSq9jYWBERiYyMlAkTJkiLFi0kb9688sknn8iYMWNsjn3x4oVMmzZN/P39JWPGjBIcHCzXrl2TOXPmSJYsWcTDw0POnz9vj8sgolTCun105swZyZgxo/Tp00fCwsJE5OUz7+TJk9KyZUtRSsn7778vO3bssFdxKZnS2slhYWF6H3W9evXk999/l9WrV+vxjZo1a8qWLVvitatnzJghOXPm1PseX223E1HKwIA/pWoWi0WioqKkadOm4urqKrt377bZP2LECFFKSf369eXgwYMJnuPixYvy888/J0VxKZmKjo6WggULiqenp6xZs0bfrnUUmM1mefDggUyfPl1KliwpJpNJlFJSuHBhyZ49uyilZODAgfYqPtmZ1kiOioqSRYsWyZIlS2yC+atXr5b27dtLoUKFpFOnTnLgwAGJiIiwOUejRo3E19c3Xoc4Oa7Zs2eLUsrm+WQ2m6VMmTKilJJBgwbJixcvROTlgKXNmzfbq6hEREQ2Jk2aJHPmzJHAwEAZP368iPw1IFJrN0VHR0vPnj1FKSUFCxaUp0+f2qu4lEx069ZNZs2aZbMtPDxcSpcuLUopKVGihNSrV08yZswoSimpXLmyHD582GawLZH1QJHy5cuLUkrSpUsn3t7eYjAYRCkltWrVkhMnTujHvnjxQmbMmCEBAQGilBIfHx9RSkmWLFniTSghIvontGdUeHi4rFixQiZNmiS+vr4SGRkpIn/1O4qIXL16VVq3bs2gP71WdHS0NGnSRNzc3CQ4OFivR8+fP5cGDRroE9UqVaokW7dujRfUnzBhghQsWFDOnj1rj+ITUSJgwJ9SvRs3bkimTJmkcuXKNtuHDRsmSimpW7eu/Pnnn/r2M2fOyOnTpxM8F2eVOA7rjqH79+/rjeo8efLIb7/9pu+zbnyLiFy/fl02bNggZcuWFT8/P1FKScaMGeXUqVNJVnZKPrT6ER4eLk2aNBGllAQGBsrp06clJibG5tjXdWTPmjVL3NzcpH79+uzsJt3kyZNFKSXz5s0TkdcH+0VEHj58KPny5ZO5c+faq7hERORgLBZLgoHWVatWiVJKSpcuLd7e3jJ69GgRsW1TW89Q0jIhbdiwIWkKTsnS7t279U7qRYsW6duHDh0qGTJkkEGDBul16Pz581KhQgVRSkm5cuUY9Kd4IiIipHz58mI0GqVr167y6NEjuXPnjly5ckVKlSolSilp0qSJ3Lp1S687YWFhsnr1aqlRo4YEBgbKxx9/LBcuXLDzlRBRSpNQn05MTIxUrFhR0qVLJ02bNpXy5cuLiNhk8tO8GvTfuXPnuy4ypSCLFi2SNGnSSNu2bfUMEWfPntXrTLNmzaRx48Y2M/1fDfq/miWSiFIWg72XFCB612JiYhAbGwtnZ2d92/DhwzF8+HDUqVMHo0ePRpEiRfR9Q4cOxahRoxAVFRXvXAYD/y/jCOLi4qCU0tf1y5QpE8aNG4du3brh8uXL6NmzJ9asWQMAMBqNkJeDpwAA2bNnR82aNbF27VosW7YMX3zxBbZv345ChQrZ7XrIPrS1s8LCwlCxYkWsWbMGLVu2xIYNG1CwYEGbexIApE2bFgBs1lufNm0aRowYAR8fH0yePBnp06dPykugZCxjxowAgFu3biEiIgLlypXD/v37ERwcjL59+yJNmjT6sUFBQbh16xYKFixor+ISEZEDuXv3Ln755ResXLkSz58/t9mXL18+dOzYEceOHcPjx49x6tQpAC/b1Np6ogaDAbGxsfDw8ECJEiUAADdu3Ejai6BkpVy5cpg8eTIAoF27dli0aBEAYOfOnShSpAgGDBgAo9GI6Oho5M2bFz/88APq1KmDvXv34ptvvsHRo0dt2tjkuEQE48ePx549e9ClSxeMGzcOGTNmhJ+fH3LlyoW4uDj4+PjA398f6dKlg1IKAODh4YEGDRpg48aNOHDgABYvXozAwEA7Xw0RpSSDBw9Gz549cfXqVZvtoaGhKF26NFxcXLBy5UpcvHgRT58+haura7xnV86cOTFy5Ei0atUKJ0+eRKtWrbB3796kvAxKpqKiovDTTz/ByckJM2bMgIeHB65fv45Jkybhp59+QseOHbFs2TIEBwfDw8MDmzZtwrhx47Br1y69/xsAvLy87HgVRPSf2XO0AVFiSmjUvsVikevXr0vWrFklbdq0cv/+fRk3blyCM/tFRFasWCFKKenVq1e82bfkWEJDQ6Vy5cqydetWfdudO3f0tdQDAgJsZvpb1z9mgiBNZGSkVK5cWZydnWXw4MESHh7+t98JCwuTc+fOyccffywmk0kCAgJem3WEHIv1febEiROSNWtWyZAhgxQoUEAMBoMEBwfbzOwXEZk2bZqkS5dOmjdvLs+ePUvqIhMRkYM5cuSI1KtXT0+p/uqSaiIvZ2B/8803evrs7777Tt8XFxdn87zr3LmzmEwm2bJlS5KUn5If65lnU6dO1Wf6T506VRo1aiRr164Vkb+yRGj158qVK1KnTh3O9Kd4qlSpIjly5LCZxRgXFycffvihni1LazeHhobqx7ya3Y+I6G39+eef4u7uLkqpBFPx37t3T4YPH64vC9qvXz/93T6hZ9e1a9ekQYMG4urqKpcvX37n5aeUYfv27fryR5GRkTJ+/HhRSkmbNm1sjtP6tl1dXaVw4cKya9cuexSXiN4BBvwpVbAOsL548UKio6Nt9n/xxReilJL8+fOLUkoaNmwoR44csTlmz549UrJkScmVK5fs2bMnScpNydfQoUNFKSWzZ88Wkb8a2G8b9CfHptWFadOmiVJKOnbsGC/Yf/fuXfnpp5/kxx9/lE2bNunbN2/eLKVLlxYXFxdp2rQpX94c1Ktp1RLSvXt3UUqJ0WiUtm3bxgvoh4SEiJ+fn+TNm5f1iIiI3rnt27eLv7+/uLm5SYcOHeTw4cP62qGvOnfunHz99ddiMBgkMDBQfvzxx3jH7N69WzJkyCBZsmSR48ePv+viUzJm/b4fEhKiB/2VUjJ27Nh4xycU9K9UqZLs27eP72wOzGw2y+3bt8VkMknVqlX1ehUXF/fapbF+/fVX+fbbb+1VZCJKRRYtWiQ//PCDiLxca/327ds2++/evSvDhw8Xb29v8ff3l1mzZulp2RN6dl2/fj3eOchxac80LSby4MEDyZkzp5QrV06eP38uIqK3y/v06SO5c+eWOnXqSLp06eTatWv2KTQRJTqjvTMMEP1XZrMZTk5OAIDly5djw4YN+OCDD9CqVSt4eHgAALp164Zjx47h6NGjyJYtG9q3b4/ixYvr59i2bRuGDRuGY8eOYd68eShbtqxdroWSj2LFisFgMGDq1Kn45JNP9JRGfn5+CA4OBgDMmjULPXv2BADUr18fSilYLBYu/UB66sdjx47BaDRi5MiRcHd31/ePHz8ev/zyCw4fPqxvmzlzJr788ktUrVoVPXv2hKenJ8qVK8d0Wg4oLi4ORqMRkZGRmDBhAq5evQp3d3dUqVIFNWvWhKenJwBg+vTpuHz5MjZs2IB169ahePHiyJ49O0wmExYvXoyff/4ZmTJlwqpVq5A7d247XxUREaVmO3fuRI0aNZAzZ04MGzYMHTp00PeJiN420j7ny5cP3bp1Q1xcHObMmYMePXrg0qVLaN++PTJlyoQ//vgDISEhePr0KebMmYP333/fXpdGyYDBYNDfs77++mvExcWhd+/eAICbN2/qx2nHKKUgIsiVKxdmzJiBHj16YM2aNRg+fDh+/fVXuLq62utSKAlpbWrtt1Y3gJfLYpnNZhgMBlSoUOG1S2ONGzcOwMs+JW0JNiKif0J7NrVt2xYAEBkZiYoVK6JYsWIYOHAgcubMCQDw9fVF586dAQBTpkzB2LFjISL47LPP4OHhYdOeAl4uKUqO5+/6nY3Gl+G+FStW4Pr166hbty7Spk0Li8UCk8kEADh+/DhKlSqFcePGwcnJCf7+/klSdiJKAnYdbkD0H1nPgBwxYoR4eHiIUkpmzJghT58+1fdFRUXJ/PnzpVChQnp6yVWrVsny5ctl2LBh4uPjI0opmTx5sv4djvx3bDExMVKpUiVRSsm0adPEYrHY1LdXZ/r//vvvdiwtJTdms1nCwsKkYsWKopSSNWvWSEREhJw+fVqqVq0qSinJlCmTdOjQQdq1aydKKfHy8pIzZ87o5+A9yDFpo7LDwsL0tKLaT9q0aaVly5Y2zzcRkfbt2+vPP+3H09NTatasKRcuXLDDVRARkSM5d+6c5M6dWzJmzCj/93//p2+3bju/rl1z7tw56d69u57eP3PmzJIlSxZxc3OT7Nmzy8yZM//2HJR6WdehV5fcmzRpkt7usV4WwjobgFZnLl68KM2bN5eTJ0++4xJTcqH97V+8eCFNmjSxWc6xfv36kj59elmxYoVNGn9tBqRm0KBB4uTkJJMmTeKyfUSUaNatWydeXl7i5uYmvXv3lqtXr9rsv3//vgwfPly8vLz0ttCbZvqT49CWlomJiZHbt2/L9u3b5fLly3L37t14xy5fvlyUUtK1a1eb7bNnz5b06dPL8OHDk6TMRJS0GPCnFMu6kdOnTx9RSkmFChVk586dCR4XFhYmP//8s3z00Uc2QRGllLz//vvyv//9T/8OX+Ycm9axtGbNGnFzc5OGDRvq+6zrhnXQ38vLS9avX5/URaVk7vvvvxellGTJkkXKlCkj3t7e4unpKZ999pneII+KipKaNWuKUkoOHz5s5xJTchAbGyuNGzcWNzc3+eyzz2T16tUyePBgyZs3ryilpEaNGjZrjoqIbN26VSZNmiRBQUEyaNAg2bVrlzx69MhOV0BERI5Ae88aPXq0KKVkyJAh+r5Xl6YJCwuT+/fvy/nz5+XOnTs2+86ePSs9evQQg8Eg3t7e0rp1azl8+LBcvHhRP4bvZ45H69SOioqSBQsWyODBg+XEiRM2x0ydOlV/p9fSJIvY1hftM9dfT/1eDYTFxcVJhQoVxN/f36ZOjB07VpRS4u7uLkajUYYOHRov2P/dd9+Jn5+flC1blimzHdzrAqxvswQb0essWbJE8ufPL0ajUYKCguIF/e/du2cT9J8zZ46Ehobap7Bkd2azWb/nhIWFScuWLSVPnjz6ZKLcuXPL4sWL5fr16/p3tm3bJt7e3mI0GmXMmDHy+++/S+/evcXLy0ty5coVr84RUerAgD+leDNmzBCllDRo0CBeB4DIy4ei9nIfGxsr0dHR8v3338v48eMlKChINm7caLO2MTuTHMerf+tX/33lyhU9wLZ48eIEz3Hnzh357LPPxM3NzaZTkhybVpciIiJk3LhxYjKZxNXVVerVqyerVq2K96JWsmRJyZkzZ7wgLjmmS5cuSfbs2SUoKEjCw8NF5OU6bIcOHZIiRYqIUkqqV6/O+kJEieLV9k90dLS+9iPR26hatao4OzvrnYxRUVE2+9evXy/169eXzJkzi6enp6RLl05mzpxps17o2bNnpVu3bmIwGKRYsWKybt06fR8DtY7HulO7Tp06opSSwMBAWbduncTExNgE2t4m6E+p240bN/TPrwZn8+fPL+XKlbPJEBETEyPVq1cXpZRkzJhRfvvtN5vvDBo0SLy8vCRz5sxy/vz5d1t4Sta0e01sbKw8fvxY9u3bJydOnIj3nCN6W9bPrx9//FHy5cv32qC/NtPfx8dHPD09Zf78+Zzh70BGjRol48aNs9kWHh4uJUqUEKWU5MuXT8qUKSPvvfeeKKXExcVFOnbsKEeOHNGP1wblapm0tO9ZZxclotSFAX9K0e7cuSOlSpUSb29vOXTokM2+s2fPyrJly6RZs2bSoUMHOXDgwN+ejw0nx6E1sqOjo+M1dKzrwYIFC0QpJW3btpXY2NgE68i9e/cSTJ9EqZ/1y1pcXJw8ffpUIiIi4h1348YNuXTpUoLnmDx5shgMBunQoYNERka+s7JS8vVqh/TmzZslU6ZM8uDBAxGxrWfnz59PMOjPYIjj4uwi+i+s68+KFSukd+/eUqVKFalevbrMmDFD9u/fr+9nO5kSEhERoS+btmbNGptn2smTJ2X48OE2mdW8vLxEKSVubm4yfPhwefHihX78+fPn5csvvxSDwSBFihSRlStX6vtY/xyHVofCw8OlZMmS4urqKp06dZJ79+4leJzI64P+rDepX58+faR06dLxnlcWi0WeP38uPj4+UrduXX2b9tyLiorSsz9mypRJKlWqJE2bNtXb2Xnz5pXTp0/b67IoGdDer8LDw6VDhw76bFqllOTPn1+mTZsmV65csXMpKTl73cAz6+1vE/Tv27ev5MyZk8v1OZAtW7aIUkr8/Pxk5syZep3p2rWrpE+fXoYOHWqTCWnkyJGSNWtWMRqN8vnnn9sMVvv++++la9eu0rBhQxk1apTNgFsiSn0Y8KcU7cyZM2IymaR169Yi8tcL/eLFi6VUqVLi4uKiN8g9PDxk3759Nsdx1L9j0v7+4eHhUqxYMfHz85N+/frJtWvX9Nm0WsPp3Llzkj9/fnFxcWG6dbKh1ZGIiAgZNmyYVKtWTXLnzi0lSpSQX3755bWpH60Ds7NmzZIsWbJInjx5mE7LQVlnoHn06JFcv35dfv/9d/H399cD/q86d+6cFC1aNF7Qn4Ffx6P9zcPDw/WBjQxu0NuybgcPHDhQnJycbAKySikJCAiwCZ4RWbNYLBIVFSWNGjXS1wjdv3+/WCwWmTlzpj6DViklHTp0kO+//14OHjwoHTp00IP+27dvtznnhQsX9KB/iRIl5P/+7//sdHVkTzExMdK6dWt9qQhtQO2rbZ3XBf1nz56dpOUl+7hx44aUK1dOlFJSp04dm6C/yMtAmbacmjWt/R0dHS39+vXTz6GUkiJFikhQUJBNWmRyPNq9JSwsTIoXLy5KKSlVqpR8/fXXUrt2bfHz8xNXV1f59NNP5ezZs3YuLSVH1mutnzx5UtavXy/r1q2TBw8exJsk8ndB/wcPHsjDhw+TquiUDNy+fVtGjRol6dKlk6xZs8qMGTNERKRixYpSr149CQsLExGxyV6zYMECyZ49u7i6usq8efPsUm4isj8G/ClFO3jwoCilJHv27LJv3z7Zv3+/vqa6q6urBAcHy9KlS+WTTz4RpZQ0atSIqbccnHVw7X//+59Ur15d3N3dRSklBQoUkFatWsmpU6f0wL+ISI8ePUQpJW3atNEbVeTYtM7G0NBQKV++vD4zJG/evOLk5CTu7u7y9ddfy/Hjx/XvaEG4qKgoefDggXTp0kXSp08vWbNm5ewRB2UdrG3WrJkEBASIUkqKFi0qWbJk0TstEwrknzt3Tp+BVLp0aXn69GlSFp2SkYiICMmYMaM0a9bM3kWhFEqbgV2lShX5448/5NGjR7Jv3z4ZNmyYKKXEx8dHNmzYYO9iUjL2888/68GybNmyScGCBUUpJc7OzlKoUCGZM2dOvO98+umnopSSr7/+WkRsBytduHBBunfvLkopKV++vE0WAHIMhw4dEm9vbylXrpy+xMjrButbt5OmT5+u18Vnz55xEJwD2LdvnzRo0ECUUlKzZk2boP+1a9fEZDJJp06d4n1PqzfarP+zZ8/KhQsXJC4ujpmzSEReDghp0KCBGAwGCQ4OtrnXLF26VJycnCRv3rzy008/cTIR2dDuIWFhYdKwYUNJnz69TXaItm3bxhtU9HdBf3I8d+/eldGjR4unp6f4+fnJ4MGDJWPGjLJs2TIR+atdZH3/GTt2rCilxNfXlwPXiBwUA/6UIlg/vKxHr4mIdOzYUZRS4unpKS4uLuLm5iZNmzaVrVu36sdcunRJnJ2dpXr16vG+T45Dq0ehoaFSuXJlGT58uNy4cUMOHDggn3zyiZ6iLV26dNKqVStZsmSJiLzsKChatKjkzp1bT93PziPHZZ1mtHz58mI0GqVz5876jP4pU6ZI2rRpxc3NTdq1aycnTpzQvxsdHS2bN2+WHDly6J1STMvm2MLDw+WDDz7Q16YNCAgQZ2dnUUpJixYt9OMSCvqfP39er0t8mXNcp0+fFqWUtG/f3t5FoRRo+/btki5dOildurScPHnSZt+gQYNEKSUNGzZkliNKkHV7ePbs2eLp6WmTXW3w4MGya9cu/Riz2awvXzRhwgR95n9Czpw5I0FBQRwU6aBCQkJEKSXTpk0Tkfh9ANZeDbTNmTPHZtAtpU7W95/9+/dLvXr19PcrLbOjNkGkX79+Nt+1Duhbt7G1c/Jd37Fpf/9ff/1VnJ2dpXHjxhIaGmpzzAcffCDu7u7Sp08fefbsmT2KSclIjx49ZOTIkTbbwsLCpHTp0qKUkg8//FC6desmJUqUkMyZM4tSSvLkySMXL160+Y4W9Hd3d5cuXbrwHZ/0oL+7u7vkzJlT3N3d9dn+1s8v67bQhx9+KB4eHnLw4MEkLy8R2Z8RRMmc2WyGk5MTAGDTpk3YvXs3PvnkExQqVAgAMG/ePKRPnx4HDhwAAPTp0wfFihVD1qxZ9XPs3r0bcXFxqFq1KpydnZP+IihZMBgMiI6ORvPmzbFjxw6UKFECPj4+yJYtG+bPn49nz55hwoQJ2LJlC5YsWYIlS5Zg5cqVKFq0KHLnzo1Vq1bh22+/xbRp06CUsvflUBIREZu/t8FgQFxcHIKCgnDkyBH06tULgwcPhqenJ27cuIGjR48iNDQUXl5eWLx4MQCgR48eKFKkCFxcXJA9e3Z06dIFadOmRbNmzeDj42OvSyM7sa5TU6ZMwcWLFzFgwAAMHToUjx49wv79+9GiRQssXboU6dKlw5w5c+Dk5GTzPASAvHnzYvPmzTAYDMiePbu9LofsSETg6uoKADhw4ACioqJgNBphNLKJT2/nyJEjePHiBQYOHIjChQvr20eMGIHRo0ejbt26GDJkCIoXLw4AePbsGdKnT2+n0lJyo5TSn2ldunRB0aJFcevWLcTGxqJUqVLIkyePfqzFYoFSCiaTCQBw+/ZtuLi4oE6dOgmeu0CBAhgzZgzf3RxAXFxcvOfWixcvALx8zgFIsB5o7aJDhw7B09NT7x/o3LnzOy4xJQfW72cffPABBg0aBABYu3YtlFKYOHEijEYjlFLIli0bLBYLYmNjYbFYEBYWBicnJxiNRkRERODq1asoXLgw0qRJE+/c5Hi0v/+BAwcQFxeHfv36wdPTE8DLZ1m5cuVw8OBBBAcHo0+fPkibNi3CwsLw4sULZMmSxZ5FJzs4cOAAQkJCAACenp7o0aMHAGDChAk4d+4chgwZgv79+8NkMuHx48c4fPgwRo8ejd27d6NGjRrYtm0bcuTIAQBo1aoVDAYDevTogRUrVmD48OH2uixKJnx9fdG+fXuICCZOnIjIyEisWbMGXbt2hZOTEywWCwwGAwwGA2JiYuDi4oLMmTPjwIEDuHz5MkqVKmXvSyCipGbP0QZEf8d6tNqYMWMkY8aMopSSsWPHSnR0tM3I6+jo6ARnQO7du1eKFi0qfn5+snPnziQpNyUv1vViz549kilTJhk4cKA+SvvVWSEXL16UefPmSb58+cTNzU2UUuLt7a2nu2VaUcfzah3R6lGdOnX0enTx4kVp06aNKKWkc+fOsmnTJsmTJ4+YTCb54osv5OjRo/r3X3e/otTPelkREZFq1apJ1apV9XX8tO27d+/WZ/p37txZ/z7rDb0qOjpaChYsKJkzZ443+4jodSwWi8TGxuppkK3Xn9VS/NetW1f+/PNPffvVq1dl2rRpcu3aNXsUmZKJhGbAvm72tXX7yfr4zZs3i4eHhxQqVCheZglyLFq75sWLF/LFF1/o95cZM2aIUko+/fTTBN+9rOtW5cqV5auvvtKzR5BjSGgW/r59+/SZ/g0aNJABAwaIi4uLeHl5SUBAgAQGBkquXLnE29tbvL29xcfHR5RSkjFjRrlx44YdroKSi4SWcWjatKm4uLjIkSNHROTls65MmTKilJJBgwbZ3JsOHjwoZcuWZfY+BzVnzhxxcnISpZRMnjxZRESqVKkiFSpU0NtI1m2lCxcuSMWKFUUpJc2aNZMXL17Y3NOWLVsmly5dStqLoGTt9u3bMnbsWMmQIYMopWTEiBF6WyguLs6mXVStWjXx8fGRU6dO2au4RGRHBnsPOCB6HYvFos9k7NevHwYOHIjcuXNjw4YN6NevH1xcXKCUQlxcHADAxcUFBoNtld68eTMGDhyI48ePY9iwYahQoUKSXwfZl1aPIiIisG/fPmzfvh3R0dHo378/PD099dGQ2rEAkCdPHnTs2BHr1q3DsmXLUKZMGYSGhsLZ2RnTp0/XR/5T6jZ48GCMHj0awMtZ/Vr9AIDLly8jNjYW06dPh6enJ27fvo2QkBD8+OOPaN++PebMmYPq1aujXr16iI6Oxk8//YQZM2bgyJEjAF7er6xnapPjMBqNCA8PR+HChTFw4EC4uLiga9eucHNzQ0xMDIxGoz5zZMeOHTAajZg3bx66dOkCAHByctKfe+RYXvd3d3FxQdasWfHgwQM8fvwYAGzuV0QJUUrBaDQiXbp0AKBnihg6dCiGDRuGOnXqYPTo0ShSpIj+ne+++w6DBg1CaGioXcpM9mc2m/WZjzExMXj69CliYmL0WdjAyxnZ2r+1NrZYZbbZt28fhg8fjoiIiHiZJcjxODk5ITIyEnXq1MGCBQvwv//9DwBQsmRJZM6cGZs3b8bhw4dtvhMbG6vXrVGjRmHHjh3w9/dndhsHot2LLBYLXrx4AbPZDAD48MMPMWjQINSuXRtr1qzBrFmzYDAYkClTJkRGRgJ4OQPXx8cHAQEBKFKkCKpUqYJdu3YhW7Zs9rwksiOz2ay/o02ePBknT54EAGTMmBGxsbG4cOECAKBSpUrYv38/goOD0bdvX5t+ofHjx+PQoUN6PSPHoL1zde7cGbNmzQIABAUFYeTIkTAYDPj000/h7OyMmJgYm0w1gYGBGDlyJPz9/XH48GE8evQISin9XtasWTMEBAQk/QWRXSX0Dq9ty5IlC9q0aYPevXsjTZo0mDZtGsaMGQPgZVtKaxfNmzcPW7ZsQb58+eDr65t0hSei5MO+4w2I/t748eNFKSWNGjV6q7X4LBaLnD59WsaNGyeZMmUSNzc3CQkJsdlPjiU6OloKFy4sLi4u0qRJE6lbt66IJDyKWyR+HYmKipI1a9Zw1L8D2bVrlyilxN3d3eb+YT27evPmzRIWFiYiIsuXLxd3d3dp1qyZzXkOHz4sadOmlffff1+UUvLll19KdHR00lwEJVsrVqzQ1zhWSklwcHC8Y7QR2nv37tVn+nft2jWpi0rJhPZcCg0NlenTp8vixYvl2LFjcvLkSXn8+LG0b99elFKyYcMGm+9Zj/RndgjHldDfXpsJ0r9/f1FKSVBQkIwaNUqUUlKnTh2bmf0iIuvXrxcvLy+pV6+ePHz4MKmKTsmIdT2aP3++NGrUSAICAqRYsWLSunVr+f3339/4HRGRlStXSqlSpWxmwInw/cwRmc1m/e8+YcIEyZQpkwwfPlyfMWs2m+Xzzz8XpZRkz55dduzYIeHh4TbnmDt3rmTKlEmKFCkit27dSvJrIPvQ3uEjIiJk6NChUqVKFVmzZo2eLUtEZP/+/dKwYUNRSkmlSpVk69atNuewbh9FRUUlTcEpWQsPD5f33ntP3Nzc5LvvvhMRkVWrVunrrxcqVEiUUjJ48GB5+vSpzXcnTpwoHh4e0rlz53j3KUr9rO8nc+fOtXnP//zzz1/7vWfPnslHH30kSilZvHhxUhSVkjHt2RYVFSUHDhyQVatWyfXr1+X58+c2x929e1dGjx4tadKk0WMlv/zyi+zevVu6d+8u/v7+kilTJjl37pw9LoOIkgEG/ClZO3HihGTLlk0CAgLkxIkTNvsePHggu3btkhEjRshvv/0mN2/eFJGXneH9+vUTpZSULl1ali9frn/n1bTc5Biio6OldevWenr+9OnTy5kzZ97quwyQOKbnz5/L5MmTxc3NTdKkSSNTpkzR970asI+NjZWyZcuKj4+PnsJPO+b48eNiMplk+PDhUrNmzbeud5T6zZkzR9zd3UUpJc2bN5f79+/HO8Y66O/h4SFKKenZs2dSF5WSiejoaAkICNA7kNzd3cXDw0NKliypv/B/9tlnMnfuXNm2bZvcuHFDHj16ZO9iUzKyfPnyeINnz507J+nTp9frVd26deN1EO3du1cqVqwoPj4+smbNmqQsMtnR4cOHZd26dfHS9WvvWdqSV0ajUf/32LFj5fHjxzbHWywW+fXXX6Vnz56ilBIfHx+ZO3euvp/vZ45H69TW2stt27aVIkWK6AFbbXtcXJxUr15dlFKSOXNm6dKliyxevFhWrFghbdq0EVdXV8mUKRPb1w5EezcPCwuTKlWqiNFoFH9/f1m/fn28d7S9e/dKnTp1RCklNWvWlN27d+v7oqKi9HsPBxw5Luu/ff/+/SVDhgwycOBAfVD/48ePpWnTpjbB21cHiMyePVuyZMkihQoVkqtXryZl8SkZsW7LzJo1S+97LF++fIKp+bW21ciRI0UpJT/88ENSFZWSIetnW82aNSVdunSilBJ/f3/p0qWLHD582Ob4u3fvyrfffqun9zeZTJImTRrJly+fNGjQgMF+IgfHgD8la7///rsopWTIkCE221etWiV16tQRg8Fg0/i+ePGiiLxc22b58uU2L//sTHIcCf2tIyIipEuXLpI+fXpxc3OTcePGca1jeqMXL17IlClTxMXFJV7Q33ogiBYsyZ07t9y5c8fmHF9//bVkz55dwsPDua4oiUj8zgBtrb9x48a98fgdO3ZIpkyZ5OjRo0lSTkp+nj59Kj/88IMsXrxYunfvLi1btpQiRYpIpkyZJEeOHKKUsmkXubm5iZeXl1SrVk0qV64sISEhr81sQ6mTdUf21KlTRSklbdu2jbee44wZM/RBRR07drTZt2bNGilRooQopWTmzJkJnptSn7Nnz4rBYJB8+fLJ+vXr9Y7pefPmiYuLi9SrV0927twpz549ky1btkjfvn31e8+gQYP0e43FYpE//vhDlFJiNBqlTp06sm7dOv2/w/czxxUWFibu7u5Ss2ZNqV+/vkybNk1E/hoMoP2Oi4uTVq1a6Z3f2o+rq6uUK1dOzp49a7droKSlPXciIiKkdOnSYjKZ5Kuvvor3jmX9fNq/f7/UrVtXD/ofPHgwSctMyZf1PSYsLEyqVq0qtWvX1p93Wj1avXq1lClTRgwGg1SpUkVWr14td+7ckTNnzkinTp3Ezc1NfHx8OPCIbNo0M2fO1AdEDh061GagiPXgpI8//liUUrJ9+/YkLSslPxEREVKuXDl98mKVKlXE399fzzJiPWhNROTOnTsyduxY8fLykhw5ckjXrl0lMjKS/Y5ExIA/JW9a2uM+ffpIWFiYXLt2TQYOHKi/6Hfs2FG6du0qOXPmFIPB8No0SOyUdBxaIDY6Olru3bsnIradA127dhWllGTJkkVWrFgRb9YSkbU3Bf21F7onT57I+++/L5kyZZKtW7fqnQdz5swRf39/adCggU2KSXIc1s8e68/W9505c+boz7RJkyYleB6trvHljV4VGxsr9+/fl1GjRonBYJCiRYvKkCFDpHnz5lKjRg3x9fUVDw8PMRgMDIo4mFczFC1cuFDKly8vTk5O0qVLFzl58qS+7+bNmzJq1Cjx9PTU0x9/+umnUqNGDTEajeLq6mqzvA2DtKnf5cuX5eOPPxZXV1cpWbKkrF27Vsxms7Rv314KFixoU38006ZN059nCxYssNm3ePFiWblypdy+fVvfxnrk2E6fPm0TwG/RokW89zKtTW02m2Xjxo0ycuRI6dSpk3zzzTfy+++/J5gdiVK3uLg4+frrr0UpJf369dNnYr/6zHs16F+vXj1xcnKSDz/8MN5MSXJcYWFhUr16dRk+fLhkz55dn2UdGxtrU4dWrlwpNWvW1O9XGTJk0Adtly1blrNpHdA/fc8fPnx4vCVC582bJ0ajUYoWLSoPHjx494WmZEmrPwsWLJBMmTLJ0KFD9fbPzp07pXHjxqKUkqJFi8quXbtsvnv79m0ZM2aMKKWkQIEC8dL/E5FjYsCfkrWjR49Knjx5RCklxYoVk8yZM4tSSqpUqWIzO2T8+PF6KlsRdiA5uoiICMmfP780bdpUX+pBa0RFRkZKt27dRCkl2bJlk9WrVzPoT2/0/PnzN870j4qKkqCgIFFKSd68eaVZs2ZSr149Pf3o+fPn7Vd4shut49FsNktsbKycO3dOIiIi9HuR9Sh/67X+Xhf0F+HgNUfypnaM2WyON/vowIEDYjKZpFOnTjbH3rlzR27evBmvg4lSN+vAx5w5c6RFixaSN29e8fHx0e81nTp1sgnaPn78WH777TcpUKCApE2bVu/Q/vTTT2X16tX6cWxjO44rV67IZ599JgaDQUqWLClLly6VHDlySN++ffVjLBaLTX2bMGGC3v45d+7ca59bfJ45Nu0+cvDgQT3tcdmyZeXWrVsiYnsP4z2HrN2/f18KFCggBQsW1AMbb1NH9u/fLxUqVJB06dLJ9evX33UxKYWYPXu2vtSMs7OzTSYjEdu6de3aNVm0aJHUrVtXqlevLu3atZP/+7//48AjB/Rv3/Nr1aolvXr1kjVr1kirVq3E19dX/Pz8mB2CRESkY8eOUrRoUX0gm+bSpUvSsmXLNwb9J02axMH9RKRjwJ/sTmsUWXf8WL/kL126VKpWrSo+Pj5SqFAhWbBggb4GktYA19KULl++PAlLTsnV/v37xdvbW5RS0r59ez3QYR307969u74m0q+//sqgP4nI6zuMXrx4IVOnThUXFxfx9PSUyZMn2+y/c+eOtG7dWvz8/EQpJWnTpuVofwemjciOiIiQoKAg+fDDD/WBa1988YWe8cE6vfq8efP0zoCJEyfapdyUPFivbbxr1y6ZNm2azJw5U1asWGHTAWB9vzp+/Li4urrKe++9J6Ghofq+V2e8Uepn3Z7u16+fGI1GKVy4sEybNk1CQkKkU6dO+tIP7du3jzdT++nTp3LhwgXZu3ev3Lx50ybtKANvqdvt27fjLXd1+fJl+eyzz/RnWM6cOWX8+PEiYvsM0+pGTEyMVKlSRdzc3GTbtm1JVnZKeayD/u7u7qKUkpYtW+r7uQSN43r06NFr923YsMFmoseb2jlxcXE22bEOHz7MAZBkIzQ0VIYNGyY5c+YUpZSUK1dOrl27ZnPMqwPU2BZybP/mPX/u3Ll6en8tPXtgYKB88cUXcuHCBbtcB9lXQs+uli1b6oNqX73PXLlyxSbov3Pnzr89HxE5Lgb8ya6sH2JxcXHy8OFDMZvNNp2LIi9TZt+8eVPCw8PjnWPPnj2SN29eyZUrl5w4ceKdl5lShs2bN0vBggXfOui/evXqePWOHIv1chD/93//Jz/++KM8fvxY3/93Qf/Hjx/L4cOH5bvvvpP9+/dztL+D0upRaGio3gGQI0cOKVu2rL4GW8mSJeXy5cs2x4vYBv1Hjhxpl/KTfWn1ISwsTBo2bKivq6791KxZU3766Se9/aQ908LCwqRgwYKSI0cOefLkid3KT8nH/PnzRSkltWvXjtc+Xrx4sd5G6tChQ4Lp2TWcie0Ydu/eLW5ubjJy5Mh4y8doQf80adKIUkrKlCmjDwx4NaWt2WyWdu3aiVJKJkyYEO8YcjxvyvKgPfMOHz6sB/3btWunH8Ogv+MJCgqScuXKvTZD2qZNm0QpJc2bNxeRhIMc2rZjx47J+vXrObCfEqS1pUNDQ2Xw4MGSNWtWSZs2rUycOPGNbWnrOsfnm2P5L+/5s2fPFnd3dzEYDPLNN99IVFQU700OynrQyMiRI6VNmzbStWtXKV++vLRt21ZEEn62WQf9S5YsKVu2bEnSchNRysGAP9mN9QNs8eLF8vHHH4uvr68UL15cunTpondOvpoq0nqQwI4dO6RKlSpiMBhk4cKFSVd4SrasX7r++OOPtwr6GwwGcXd3l7Vr19qlzGR/WqM7LCxMGjVqpKejPXr0qE1n498F/cmxafeWiIgIqVixori4uEj37t31wWp//vmnZMmSRZ8FoI3ot37GaUE6FxcXmwEnlPpp7Zvw8HApUaKEKKWkQYMGsnTpUpk1a5Z88sknYjKZJCAgQObOnWvzvIuNjZUyZcqIh4cH00KSiIg0b95clFKye/duEXl5f7J+nv3yyy+SNWtWUUpJly5dbIL+7MB2PFoq/hYtWiQ4APbSpUvy2WefiZeXl2TIkEEWLFigp6y1WCw2dSYoKEgMBoPN8mvkmLT2TVxcnDx+/Fj27dsnjx49kmfPnunbtfvS64L+nLXmOJ48eaJnS/vtt99s9lkvYeTi4iLZsmXTl4Cw7h+y/lyuXDkpWrToGzMGkGN4XbtGu/+EhobKkCFDJH369OLr6ytz587V71NEIonznq+l93dxcWH9clDaMyosLEzKli0rSik985rWB3nlyhUReX3Qv02bNqKUkgoVKugZJYiIrDHgT3Zh/SI2YMAA/eEWGBgouXPn1h90WpqaV9PZREVFydy5cyVnzpzi4uJiE3RjJ6XjSCiVqEj8oH+BAgX0oL+2Zp910L9du3aSNm1aptNyUNaN7uLFi4urq6u0bdtWb2i/6k1Bf3ZKOqZXl6QJCgoSk8kkffr00VOwnzp1Sjp06CBKKcmWLZs+MlubwWRddxYtWiSnT59O2ougZCE2Nlbat28vSikZOHCgzcyPS5cuia+vr/j4+MiECRP0oJx2D9NG/L/aSU6OxWKxyLNnz8TX11c8PDzk2rVr8WZhayZOnKi3wZlWlFavXi1Pnz4VEZG9e/fKixcvbPZrQX9nZ2d577335Oeff44303/Pnj3i5+cnmTNnlj///DNJy0/Ji/aeFh4eLl999ZW8//77opSS3LlzS9OmTeXo0aMiwqA/vTR58mQ5d+6cnDp1SpYsWSIiL/t8tHd3a9WqVROllNSvX1/u3bsnIi/rm3U9GT9+vJhMJuncuTMDIg5OqxdaFpr79+/bBFuts2UNHTpU0qVLJ35+fgz6O7DX9SnzPZ8SQ2xsrDRp0kTc3d2lffv2snHjRvn222+lZMmSet25ffu2iCTc/rl48aJ07NjxjRnaiMixMeBPSc668TR8+HBRSkm1atX04P7Dhw9tRrrt2rVLRP7q0D5z5ozUqVNHlFKSL18+Wbx4sX4+rqeV+mn1xzpIqzWk3xT0DwwMFKWUdO7cWV+XTTsmKipK7ywgxxQdHS1NmzYVpZQMGzZMf3l73T3FOujv5eUlo0ePTsriUjKwYMEC2bJli34f0X4fP35cvL29pWrVqnog5NKlS9K2bVtRSsnXX38tZrNZChUqJEopKV68uH4PY+pax5JQZ9KZM2fE399fypYta7OMkdlsljJlyoizs7MMGDBAD8pZ36O6desm6dOnf+1gJUod3nZga4UKFcTT01MOHz4sIpJgtqwHDx5ItmzZxNfXV5RSEhQUxLa0A4mMjEwwEDZo0CBRSsm0adP055hGS+/v5OQkefPmlZ49e8qlS5fk6dOnsnbtWqlcubIopWT27NlJdRmUDFkvT1O6dGlRSkmePHmkdu3aUqZMGVFKSfr06WX79u368QkF/Zs2bWq3a6Ck880334hSSgYMGKBvi4iIkLx580rlypXl4sWLIvLX82/fvn2SP39+UUpJkyZN5O7duzbnmz59uvj6+kq+fPnk6tWrSXYdlPxYp87u37+/lCtXTtKmTSt58+aVKVOmxMumxqA/ibysL8eOHZNdu3bZtJP4nk//lvUg/vv374uvr6/07NlTf9+PiYmRU6dO6bGQcuXKyZ07d0Qk4aA/6xMRvQkD/mQ3y5YtEy8vL6lataocP35cRF4GXqdOnSoeHh7i7e0tSilxcnLSBwNo5syZI6NHj9ZnBogw2J/aWY/E1v7WUVFR4unpKUopvQ69bk21lStX6rPYOnbsGC+9PzmWV4O0W7ZsEZPJJHXq1NFT1P7dPeXFixcybdo0UUqJv78/0687kJCQEH099d27d9vcR44fPy5FihTRB6vdu3dPevTooc+g1axdu1ZfD7lEiRJMw+5AEnqeaf73v//ZrH2tHaOtEzlo0CB91m1ERITs3r1b//eiRYvk3LlzSXQVZC/aYA/N655VLVq0EKWUNGzYMN4gNut7Vq5cuaRVq1YSEBAgSilZtWrVOyk3JS+XL1+W0aNHS7Vq1eINEho2bJiYTCbx8PCQ6dOnvzbo7+HhIUopMZlMkj17dnFxcZGcOXPKrFmz9GPZznYs2gxakZfPqI8++khcXV0lKChIIiMjReRlcEQL1loP7rcO+h85ckR/b9M6vCl10trIH3/8sU0b5tSpU5IrVy594Id1Bprw8HD56aefJG/evKKUkly5cslXX30l/fv3l5o1a+rZIjmL1rFZDzzSgmjZsmWTDz74QO9D+vzzz+XIkSM237MO+mfPnl1CQkLk+fPn9rgEsoNly5ZJ48aNRSkl7u7usmbNGr0dxPd8elunTp3S+xU1z58/l2HDhsnRo0clICBAH6xm3Yd97do1fWDk3wX9iYhehwF/eqdu374tu3btkpCQEJkzZ45cv35dIiIiJCYmRurUqSNeXl762qIxMTEyadIkcXd3l8DAQAkLC5Mvv/xSD/prMwA01utLsjMpdVuzZo00adJEChcurAfqNXXr1hWllKRLl05PHfq6oL+21pHWcaCt+0eO49V7hfbvkSNHilJK1q5dKyJvHjFrHVx59uyZzJ49my9xDmbTpk1StGhRUUpJ7dq1ZdeuXXpdio6OlkuXLukdA+vXr5c0adJIs2bN9O+bzWY5evSomEwmyZMnjyilpFKlSjYjvyl1etPzTERk8eLFopTSlwqJjY3VX/qtg/0iL+8/GTJkkKlTpyZZ+cm+/vjjD3FxcZG+ffvKL7/8YrNPezZpv0+dOiU5cuQQFxcXGThwoB70t77PrFu3Tjw8POTIkSPyww8/6Fm3oqKi2LZOxfbv36/Pus6VK5dMnz7dJlArIvo7mclkSjDor6X39/b2lvTp00vv3r1ly5YtNrNpORjbcbx6v4iJiZH+/fuLyWSSHj166DPYzp49K+3atROllJ7i33pwv3XQ/88//5SzZ88m7YVQktICZc2bN7cJ9mv16eDBg/q9qkmTJjZB/7CwMNm+fbtUqlRJf79XSkmGDBmkQYMGelYAchw//vij7N+/X0Rs11uvUKGCODs7y5dffikPHz4UkZcDbDNmzKjXv4SC/iNGjBCllOTPnz/eYEtKnQYNGiRubm5iMBjkq6++knHjxsnDhw/1/sXY2Fi+59Pf6tKli7z33nt6ljWLxSIWi0XKly8vSil57733JEuWLHLz5s0Ev3/16tUEg/5sVxPR22LAn96Zffv2SZkyZfSRjdroxpEjR8rp06elUaNGMnjwYBF5+XL/ww8/SIYMGSR37tz6ejWHDx/W1193dXWNF/Sn1G/cuHHi5eUlTk5O0rRpU9mwYYOI2Ab1W7duLUopSZs2bYJBf63jqGPHjlK4cGHJlSuXuLi4cMaIA9m5c6fMnDlTOnbsKAMHDpSjR4/qL2pms1mvQ0uXLhWRhAcRaQ3sixcv2szmZ1DEMe3YsUOKFy+eYNDf+mWsRo0aopSSvXv3ishfg9WePHki+fLlk4ULF0rTpk251rEDeN3zzNqyZctEKSW1atWSW7du6TOSXg32i7zsTDAYDLJmzZqkugSyo1OnTomrq6sopcTFxUUMBoN88sknsnz5cr0DW2M2myUsLEzGjh0rXl5eki5dOunatas8efJEP2b37t1SrVo1yZ49u5w/f17u3LkjPj4+kjdv3ngzUij12LJli3h7e4uPj4/069dPIiMjbQZRWz+/JkyY8Mag/8WLF6V9+/Z6QMR6IC3bRo7hde3ru3fvSpYsWWyWp9EGiSilpGvXriIiehpk68H91kF/Sr369OkjSilp3bq1nDp1ymaf9f3jwIEDNkF/LT22tQ0bNsiSJUtk/vz5cvr0ac7GdkDdu3cXpZTMmDFDb8PExsbK119/LSaTSfr27au3oy9evCiff/65nglCKSWffPKJHDp0yOacoaGhMmbMGGbPchD9+vUTpZRUr15dn8H/d/ieT6/q2bOnKKWkfv36cv36dZt9hw8fFi8vL/3eYz3Y8VXWQf9ChQpxCVoi+kcY8Kd3YvPmzfrae5UrV5a6devqaR/9/f1l8ODBsmPHDnnw4IGIvHyYlS5dWrJmzaqP3LZYLPL8+XPJly+fnt5fS+vHTiTH0Lt3bzEYDFKqVCnZuHFjvP3WDaNWrVrFC/qbzWabYypUqCD9+vWTQ4cOcdS/AxkzZoz4+PjYzP54//33ZciQIfLo0SMREQkODhallEyZMkVE4ndUW6cnLVKkiMydOzdJr4GSD+u6sX379tcG/S0Wi0RFRUmRIkUkS5Ys8YK1wcHB4ubmpj8HKXX7u+eZJiIiQj744ANxd3cXf39/MRgMMmzYsHgzi2bOnCkZMmSQRo0a2QRxKfW6d++e+Pr6ilJK8uXLJyaTSQ/+FyhQQJYsWaIvb6S5du2aDB48WO/QzpMnj7Ru3Vq++OILSZ8+vSil9AwRN2/elHTp0knFihXtcXmUBPbu3Svu7u6SJ08e+emnn2z2WT/brGehjR8//m9n+jdt2pSZRhxQQu3r9957T4YMGSJ79uyRFi1ayObNm0Xk5VI2QUFBopSS9u3b6+fYuHGjfl8zmUyyZcsWe10OJaG+ffuKUkoyZcqkZ3F40+zXV4P+1v1FRFqmiMaNG9sE5w8cOCA+Pj5Ss2ZN/T3s0qVLetbHbt26ycGDByV37tz64JNXg/6sY45hxowZepBWWwrk7/72fM+nV2n3ok8++STeQCGtX/rYsWP6pMgGDRro+xMa6Hjt2jV9AqR1Bi0ior/DgD8luj/++EMMBoMEBgbKDz/8oG8/ceKEvgZtyZIl5dixY/q+cePGiVJKxo8fLyK2D7uaNWtKSEiItG/fXgYNGpRUl0F29u233+ovbidOnLDZZz37yHoWWsuWLfWg/759+2y+ExISIm5ubjJ79ux3W3BKVrQRtlmyZJFu3brJN998o4+qzZo1q4wZM0ZiY2Plp59+EqWUeHh4yJ49e/TvWywWm/vR4MGD9dkDTKnlWKxf+t826P/06VMpUaKETYp2kZfBWn9/f6levTpTRDqAt32excTEiNlsltmzZ4ufn5+eXv3SpUs235kyZYr4+vpKQEBAvH2UOmn1ZMKECeLk5CRBQUFy+fJlGTZsmH6PMZlMki1bNhk1apScPHlS71i6d++eLF++XF+GRDs2a9asNmutf/PNN6KUkgEDBuipJyn1uH79unzwwQeilLJ5P4uLi/vbv/XYsWPfGPS3nk3LeuMY3tS+zp49u4wcOVKOHz+uLyWybds28fLyksaNG9uc59atW5IpUyYpWLCgKKXE29tbIiIiWI9SMS0g4uLioredtWfcmzI7vC7oL8I0x47MelmIV7M/bNmyRQwGgz4Y8s6dO/L111+LUko6dOigHzdt2jS9ffTJJ5/oywKQYzhz5owULFhQvL294w34eB1tchrf80nzuiVqRP56RmnvZn/++aekTZtWlFLSsmVL/biEnoHXr19nsJ+I/jEG/ClRbd26VZycnCRfvnzy22+/6du1EdtHjx7VZxQNHDhQ39++fXsxGo16elvtgbhp0yZRSsmyZcts/jt8qUvd/vjjD/Hy8pJcuXLZDAx5dX3RhLRo0UKUUuLp6SmjRo2SZcuWSe/evSV9+vQSEBCQ4JrJlDppje6mTZvazHo8ceKE3mFUqlQpPRWyltb/ww8/1NOyWZs7d654e3tL6dKluRyEA7l582a8UfsWi8Ume8ibgv7Lly/XO5Hq1q2rp2jPkiUL16Z1AP/mefbkyRMJCgoSLy8v8fLykubNm8vSpUtl/vz50rBhQ1FKia+vrz4DhRzHjh079PuJNrAxPDxcvv32W6lfv76+LyAgQBo1aiRHjx7VM0CEhobKxo0bZf78+bJ161Y5evSoft5Zs2aJp6en5MuXL176SUod/vjjD3F3d5c2bdro215NIXrp0iXZtm2bDB06VFauXGkT9LAO+s+cOTNe0F+EwX5H8Tbta+s1Z0VE6tatK0op/V1f6xt48eKFBAQEyB9//CHBwcE29yVKfbS606RJE5k0aZKe3aFatWr6Mf8k6M+MfY7tdQE26/e0P//8U1+Kb82aNeLh4SEff/yxfmxcXJwcP35c0qVLJyVLlhSllLRt25ZLGzkQbeLHxIkT//F3V6xYwfd8emOwP6F0/SIix48ff+ugPxHRP8WAPyWa7du366O1rUc4ag84rWNbW19rwIAB+jHa+o8tW7bUG9e7d++Wjz76SLJkySIHDx7Uj2VnUuo3btw4MRgMNmnTX/27r1+/XqZOnSrNmjWTKVOmyKZNm/R9X3zxhU16SW22CYMjjkNbF/KTTz7RO4OsX/4PHjyop0PW6tnBgwelWrVqopQSLy8vmTdvnmzZskX+/PNP6dq1q3h6ekqmTJm4jp8D+eqrryRjxoxSokQJmTVrlt5Rrb2IWd+Xtm3bZhP037Fjh/7cmz9/vj6TKW3atFKpUqUE1yCl1OefPs8mTZokhw8fltjYWJk4caI+61H78fLykkaNGrGT24FpabF79epl04kUGRkpW7dulY8++kjc3Nz09SFr1Kghv/zyy2s7kAYNGiTe3t7i7e3NdlIqpqXQ1pYusg7Yx8bGys8//yx58+aVdOnS6e9z+fLlkwULFujHjRs3Tt8/YcIEdko6oH/Svp4/f77+vYoVK0rGjBnl2rVrNucbOXKkmEwm3nscQK9evfSAiDY7/8cff5RMmTLp62Zr3jboX61aNbl8+fI7LzslPwndizTWbaNbt27p26pUqSJubm76/UZbb/327dvi5eUlQ4YMkXr16vF+5CC0elK7dm1RSukT1t6mv9n6mMWLF/M934G97b2obt260rx5cxH5KzbCoD8RvSsM+FOiOXDggN4h3b59ezl58qTNfrPZLBaLRT7++ON4aY/Onj0rOXLkEKWUfPTRR9K+fXvx9vbWU2eT44iJiZEaNWrYzAKJiIgQkZcNn9u3b0vHjh3F3d1dr29OTk6SNWtW+e677/TzLFq0SPr06SONGjWS4cOHMw2SAxk4cKAopSRnzpyyatUqffurs2m1erZo0SJ9//79+/UsEa/+FC9eXM6cOZOUl0J2FBwcnGA90J5Re/fujTf4Y8uWLXra7Fq1asnOnTv1enfq1CnZtm2bnD17Vp49e2aPS6Ik9m+eZwaDQfz8/GT58uUiIvLo0SOZPn26TJ48WcaOHStHjx5l/XFQWufi6tWrxWQySZYsWeT27dsi8lfHUHh4uNSsWVOUUpI/f37Jnz+/XrcqVKggvXv31s93+/ZtCQwM5PPNQWgB/7Zt29ps37lzp57iWCkl/v7+UqBAAcmcObPeef3LL7/ox48dO1aUUjJ9+vSkvgSys3/avl68eLGIvLx3aQNq27dvL8+fPxeLxSLTp0+XrFmzSrly5fQZuJQ6dejQQZRS8umnn9rMeg0LC5OffvpJv9+8bdD/4MGDEhgYKC4uLnLz5s13WnZKft50L7IOsLVp00Y++OADuXnzpty9e1eyZ88umTNnjtcvFBQUpC8nwkCb46lUqZIYDAY5fPjwW39Ha5NrmZDOnz/P93wH9E/uRUopadasmd7e0fZbB/1fbaMTEf1bDPhTojp06JDeYdS2bVs9fa3WILp+/br4+/tLmTJlbEbbWiwWWbNmjR70V0pJjhw5ZN68efq5ObPfMcTGxuppH7t166Zvf/r0qXz//fdSqVIlUUqJ0WiUUqVKSY0aNSRfvnz6uo/r1q2zY+kpOdi1a5c4OTmJUko6duxokx5U65QMDQ2V9957T5ycnOTAgQM237dYLDJv3jzp1KmT1KhRQzp06CD/+9//5O7du0l6HWRfu3btEhcXFzEajZI3b17p3r27BAQE6GvUenh4SIYMGaRr164yefJkuXfvnoi8TGlbrFgxUUpJjRo1ZPv27VyGxkH9l+dZhgwZZOPGjXYsPSVXZrNZqlevLkop6d+/v54Z6/bt29KkSRM9y0hsbKxcvnxZBg8eLFmyZBGllIwdO9bmXCEhIRIcHMyAiQPYuHGjPvP6m2++kcOHD0v//v2lcOHC+rtX//795ejRoxIZGSnr1q2TZs2aiVJK2rVrJ+Hh4fq5jhw5YscrIXv5L+3rw4cPS/bs2UUpJe+9954+ONLPz49pjx3A5s2bpWbNmvpAWet+nYiIiH8V9D9y5IhcuXLl3RWakq033Ys0rVq1EqWUdO7cWR48eCBhYWFSoUIFcXNzkw0bNujLisyaNUv8/f2lVq1a8ZZwI8egzfCfNWuWiLz97OqTJ0/Ke++9JytXrnyXxaNk7J/cizp16hRveVnroH/GjBn18xAR/VcM+FOiO3jwoN5x9Nlnn8mhQ4dE5GWq0YIFC0qaNGlk3rx5Ca5lc//+fVm8eLHs2LHD5uWfwRLHsmTJEvHw8BCDwSCff/65/O9//5MqVapIhgwZ9BGU69evlwcPHojIy1TajRs3FqWUDBw4UERYZxyd9eCjzz77zGbtbJGXKSS1hndkZORrBxS9bs0tcgwHDhwQZ2dnUUrJ+PHj5dSpU3L27FkZMGCANG3aVJRS+v4sWbJImTJlZPny5RIcHKyn92/YsKFs3ryZg9YcVGI8z3gfIo1WF9atWydp0qSRChUqiIjIw4cPpVGjRnp2kVcdOXJE9u3bp//bujOTs9kcw4sXL6Rz58560F8bvObi4iIfffSRLFmyJN53li5dKkopKVSokISGhsZ7jrGt7Xj+bfs6Li5ONm7cqGcd8ff3l7p16+qp3Sn1sx409Kp/G/Qnx/XqvUjrcxQRadmypR44sw6wDRs2TH/+NWjQQM884uvryyX7HJD2fNIykNSrV0/f96b2jXZP2rp1qyilZOjQoe+0nJS8vc296IsvvtDvRVq9035rde3QoUOSPXv2BAcNEBH9Uwz40zthHfTv3Lmz7N69WwoXLiwuLi7y7bff6rORrDuOXteoYpDE8Tx+/Fi++OILPc2x0WgUpZTkypVLunTpor+QWXcATJs2TV/LT1s+ghyb9X2obdu2+oy09evXi1JKSpQoITt37nzt9y0WS7wGOTke63o0YMAAiYyM1Pft379fVq1aJXXr1tVnq2mz/z09PfXBAC1atNBTuZNj4fOM3oUrV65I7ty5RSklw4YN02diWwf7Y2NjE2xbM0jruO7duydDhgyRtGnTir+/v+TJk0d++OEHm+UczGazfj86e/asODs7S7Fixd4YrCPH8l/a18+ePZM9e/bItWvXOJuWbDDoT/+U9b2oQ4cOcvHiRX02bYcOHfTsRdYDZ7t3726zZE25cuW43rqD2717t7i5uYlSSkaOHKlv/7s2dL169cTHx0dOnz6dJOWk5Ovv7kWvBvut69Gff/4pjx49EhHR4yRERP8VA/70zlg/9DJkyKAH+7UXNnY40pvcv39fJk+eLDly5JCyZcvKp59+KocOHZKnT5+KyF+NpejoaBERWbt2rd6gItJY34e6du0qISEh+my1NWvW2Lt4lEJYj9zu37+/3L9/32Z/ZGSk3lE5ePBgyZEjh/j4+IhSStKlSyenTp2yU8kpOeDzjN6FBQsWiFJKPD09RSklNWvW1PcxOEJvcvfuXXn48KF+D9JYD3QUEZk9e7bN7DW+u5Hm37SvWX/o7zDoT/+U9b0oICBAn9l/584dERGbLCOaY8eOyerVq+X06dN6oI0cV1RUlHTs2FGMRqPkzp1b5s6dq++zrjfWn6dMmSJOTk7Stm1bDl4jEXn7e5F1W2j+/PlSqlQpGTt2LAf5E1GiUiIiIHpHDh06hPLlyyM2NhbFihXDrFmz8MEHH9i7WJSChIeHw83NDQaDId4+i8Wib2/ZsiWWLVuGJUuWoHnz5hARKKWSuriUDB06dEi/7yilkCtXLoSEhKBu3boAwLpCb8W6Hg0YMAA9e/aEt7c3gPh16N69e3j48CH+7//+D5999hny5ctnlzJT8sLnGSWmU6dO4dNPP8Xp06dRoUIF7NixAwAQFxcHo9Fo59JRSmF9f7H+vGPHDrRu3RqxsbH45ZdfUL58eXsWk5Ihtq/pXYiMjMSqVavQq1cvPHjwALVq1cLatWtZl+i1Dh06hHLlyiEuLg6BgYEICQlBrVq1ANjeh6zb2kTWrly5giZNmuDEiRMIDAxE586d0atXrwSPnT17NoYNGwY3Nzds27YNuXLlSuLSUnL1d/ciEdHvQYsWLcKAAQPw5MkTHD9+nP1FRJSo2Nqhd6pUqVLYtWsXnJyccOzYMXz33Xc4cuSIvYtFKYiHh4feKLJYLPp2s9msbw8JCcHPP/+MihUr4qOPPgIAdgqQrlSpUjhw4ABcXV0hIsiZMycCAgL0/awr9Da0egQAY8aMwZQpU/D48WMAL+uQNn5SRODr64v33nsP3377LV/eSMfnGSWmwoULo1KlSgAAJycnREZGwmKxMNhP/4j180u71+zatQvDhg3D7du3MXr0aAb7KUFsX9O74ObmhsaNG2Py5MnIkiULNmzYgKZNm9q7WJSMaX2ORqMRFy9exMqVK3H06FEAtvchBvvpdXLnzo0lS5agYMGCuHTpEnr37o2WLVviwIEDePjwIZ49e4bLly+jQ4cO6NWrFwwGA9auXctgP9n4u3uRdg9auHAhBgwYgMjISBw+fJj9RUSU6DjDn5KE9QyAtm3bokePHihatCgAjv6n/2bmzJkYMWIElFLYtWsXAgMD7V0kSqYOHjyIsmXLwmKxoF27dujevTuKFy9u72JRCvPqTP9evXohY8aMdi4VpQZ8ntHb0trOly9fRu3atREZGYmVK1eiVKlSnMFG/8ir72GLFi3C6NGjcfXqVYwfPx49e/ZM8DgiDdvX9C5ERkbi559/xtixY/Hzzz+jWLFi9i4SJXNv6nMkehsXLlxAv379sHHjRkRFRcHLywtKKTg7O+PJkyeIjY1FuXLlsGDBAuTNm9fexaVk6tV70VdffYUSJUoAAH744QcEBwcjIiICu3fvRuHChe1ZVCJKpRjwpyRj/dD7/PPP0b17d7640b8SHh6O8PBw9OnTBytXroS3tzd+//13FCpUyN5Fo2SOHQGUGBj0p8TC5xn9Fy9evEDLli2xbt06tGjRAkuWLLF3kSgFEhFMmzYNq1atws6dO+Hv74/Ro0ejTZs2AJgGmf4e29f0LkRGRiI2NhZp06a1d1EoheC9iP6rp0+fYuvWrRg/fjyeP3+OCxcuwMfHBx9++CEaNWqEOnXqIHPmzPYuJiVzr8Y/vvnmGxw7dgwDBgxgsJ+I3jkG/ClJHTp0COXLl0dsbCyaNm2K2bNn62sgE72N27dvY+jQofj111/x5MkT1KhRAzNnzrRJIUn0JtaN7/bt26NLly4oWbKknUtFKY11PRo0aBC++uor+Pj42LlUlJLweUaJ4ciRI/jwww/h7OyMo0ePIn/+/PYuEqUwT58+Rc+ePbF+/Xo0adIErVq10tP4M9hPb4vtayJKDngvosQQFhYGJycn3L17Fx4eHgzy0z9mfS+qWLEiTpw4AYvFwmA/Eb1zfHunJKWtaQMAZcuWZbCf/jFnZ2fExMSgYMGCmDVrFhYvXszgCP0j2pqjLi4u+P777/HDDz8gOjra3sWiFEarR0ajEaNGjcLcuXNt1mUn+jt8nlFiyJ8/P0qVKoVx48Yx2E//ipeXFyZPnoxdu3Zh/PjxerBfRBjsp7fG9jURJQe8F1Fi8PT0hJubG3LlyoVMmTIBeNkuInpb2r3IZDJh586dUEphz549DPYT0TvHGf5kF/fv39dHSHJNSPqnQkNDISLw8PCAk5OTvYtDKdS+fftQr1497Ny5k+mz6V/bt28f6tSpg927d7Me0T/G5xklhqdPn8LLywsAZ2QTkX2xfU1EyQHvRUSUHOzZswcff/wxtmzZgoIFC9q7OETkABjwJ7tipyQR2VNUVBRMJpO9i0EpHOsRESUHHERLRMkB20VElBzwXkREyUFkZCTc3NzsXQwichAM+BMREREREREREREREREREaVAKX5q9YMHD/D7779jyJAhqF27Nry9vaGUglIK7dq1s3fxiIiIiIiIiIiIiIiIiIiI3gmjvQvwX2nrwBMRERERERERERERERERETmSFD/D31r27NlRo0YNexeDiIiIiIiIiIiIiIiIiIjonUvxM/yHDBmCUqVKoVSpUsicOTOuXbuGXLly2btYRERERERERERERERERERE71SKD/gPHz7c3kUgIiIiIiIiIiIiIiIiIiJKcqkqpT8REREREREREREREREREZGjYMCfiIiIiIiIiIiIiIiIiIgoBWLAn4iIiIiIiIiIiIiIiIiIKAViwJ+IiIiIiIiIiIiIiIiIiCgFMtq7AClB5cqV7V0ESqFMJhM2bNgAAKhVqxaioqLsXCJKiViP6L9iHaLEwHpE/xXrECUG1iNKDKxH9F+xDlFiYD2i/8q6DhElBt6L6L/avn27vYtAyUBkZCTq1KmTqOd0c3PDwoULkSlTpkQ9b2rCgD8RERERERERERERUQrFQC39Wxw4QkSJzWBI/OTykZGROH36NAP+b8CAPxERERERERERERFRCsWALRER2ZuIIDo6GhEREe/k/D4+Pu/kvKkFA/5ERERERERERERERERERA5IRHD27Fk8fPgQkZGRiIqKeu1v7XNC20XknZXRbDa/s3OnBgz4ExERERFRkuIMJCIiIiIiIiKi5GHXrl0YOnSovYthw9nZGU5OTgCAunXrokCBAnYuUfLGgD8RERERESUprjFK/xbXGCUiIiKKj+1r+rfYviYiAAgMDETx4sXx7NkzxMbGwmw2IzY2FnFxcYiLi7P5nFRiY2MRGxsLAFixYgUKFCiAqlWrJtl/P6VhwJ+IiIiIiIiIiIiIKIViwJaIiP4LPz8/TJo06W+PE5F4gwFeHRAQGRmJ7t27J2r5smbNiuLFiyfqOVMbBvyJiIiIiIiIiIiIiIiIiOi1lFIwGo0wGl8fXn5dxhmTyYQMGTIgffr08PLysvlJnz490qRJA5PJBDc3N/23m5sbXF1dYTAY3tUlpRoM+BMRERERERERERERERER0X/i7OyMDBky4MmTJzbbo6KicOfOHdy5c+cfnzNt2rSYMGEC8ubNm1jFTHVSfMB/9+7duHTpkv7vR48e6Z8vXbqEhQsX2hzfrl27JCoZEREREREREREREdG7VatWrdfOqCR6E5PJxCUhiChROTk5YcqUKdiwYQOePn2Kp0+f4smTJ/pns9n8j8/54sULHDt2jAH/N0jxAf/58+dj0aJFCe7bs2cP9uzZY7ONAX8iIiIiIiIiIiIiSi0YsCUiouTCbDYjKCjIZoL2f+Xq6ooiRYok2vlSoxQf8CciIiIiIiIiIiIiIiIiIvuKjY3Vg/2BgYHw9PSEyWSCm5sbTCaTzWfr369us97u7OwMpZSdryx5S/EB/4ULF8ZL209ERERERERERERERERERPYREhICNzc3exfDIaT4gD8REREREREREREREREREf03IoKYmBhERkYiKioKkZGRNp9f91v7HBERYe9LcEgM+BMREREREREREREREREROaBr167h888/T9RzpkmTBi4uLol6Tno9BvyJiIiIiChJbdiwwd5FICIiIiIiIiIiAA8ePEj0c7q6usJgMCT6eSlhDPgTEREREREREREREREREVGiePToEY4fPw43Nzf9x2QywWQywdnZ2d7FS3UY8CciIiIioiRVq1YtREVF2bsYlAKZTCZmiCAiIiIiIiJKRD4+Pu/kvD179kxwu9Fo1IP/b6Nq1apo3749lwh4Awb8iYiIiIiIiIiIiIhSKA6opX+LA2qJCABy5cqFbdu2AQBEBNHR0YiMjERUVJTN74S2RUVFxdt/4MCBN/734uLiEBYWhrCwsLcq39KlSxEYGIiqVav+52tNrRjwJyIiIiIiIiIiIiJKoRiwJSKixKKU+kez718lIqhfvz7Cw8MTtVw5c+ZM1POlNgz4ExERERERERERERGlUJzhT/8WZ/gTUWJTSsHLyyvRA/7Xr19HQEBAop4zNWHAn4iIiIiIiIiIiIgohWLAloiI/qsHDx7g9u3biI2NRVxcnP5jnbL/db+tPz9//vy1g9Csswe4ubnpv52dnfX9GhHRt5UpUwaVKlV69/8jpGAM+BMRERERUZJihyQRERERERERUfJw7Ngx9OrVK9HPmzNnTqRNmxZp0qRBmjRp4O7uDmdnZxiNRhgMBiilbAL7r9L25ciRAwaDIdHLl5ow4E9EREREREmKKUfp32LKUSIiIqL42L6mf4vtayICXt4L3oVr164l2rlGjBiBChUqJNr5UhsG/ImIiIiIKEmxQ4mIiIiIKPGwfU1ERP/FrVu37F2Ev5UrVy57FyFZY8CfiIiIiIiIiIiIiIiIiMgBRUZGJur5TCYTPvzwQzRp0kRP4W80GuHs7AwnJyd9m/bbyckJTk5OiVoGR8OAPxERERERJSmmHKV/iylHiYiIiIiIiBJXlSpV8OTJEzx69AhhYWF49uwZnj17hqdPn+LFixf/+HxRUVHYuXMn+vfvD1dX13dQYnoVA/5ERERERJSkGLAlIiIiIko8HFBL/xYH1BIRADx48ACLFi1K1HN6eHjAaGQYOqnwf2kiIiIiIiIiIiIiohSKAVsiIvovHj9+nOjndHFxgcFgSPTzUsIY8CciIiIioiTFGUj0b3EGEhEREREREVHiKlWqFBYtWoQbN25ARAAAZrMZUVFRiIyM1H9rP9q/tbT/T58+jdfP8/jxY0RFRcHNzc0el+RwGPAnIiIiIiIiIiIiIiIiInJA0dHR+O2337Bp0yY94K+U0vdr2zRxcXFvNZHD+hz0bjHgT0RERERESYoztImIiIiIiIiIkoc9e/ZgxYoViXpOf39/mEymRD0nvR4D/kRERERElKSY0p/+Lab0JyIiIiIiIkpcJUuWRKFChXD69OlEO+fdu3cRExMDFxeXRDsnvR4D/kREREREREREREREREREDiht2rSYMWPG3x6npfKPjIxEZGSk/tn6d2hoKGbNmgWz2Qyz2ZwEpSeAAX8iIiIiIiIiIiIiIiIiInoDo9EIT09PeHp6xtsnIoiNjcWzZ88wa9YsO5TOsTHgT0RERERERERERERERETkgEQE+/btw/HjxyEi8fbHxMS8dka/9W+LxWKH0hPAgD8RERERESUxrsFORERERERERJQ87N69G0OGDEnUc2bOnBkmkylRz0mvx4A/ERERERElqVq1aiEqKsrexaAUyGQyccAIERERERERUSIKCAhI9HO+ePECcXFxcHZ2TvRzU3wM+BMREREREREREREREREROSCTyYTatWvj4cOHNmn6Q0ND8eLFi391zri4uASXB6B3gwF/IiIiIiJKUpyhTURERERERESUPOzYsQPr169/q2NdXFzg5uYGk8kEk8kENzc3/Uf7t8lkQrFixeDi4vKOS04aBvyJiIiIiIiIiIiIiIiIiBxQbGwsAKBgwYJo3ry5TRDfOrhvMpng5ORk59JSQhjwJyIiIiIiIiIiIiIiIiJyYGfOnMGwYcNsZuq/Opv/1d8JbTOZTAgICICnp6e9L8lhMOBPRERERERJqlatWoiKirJ3MSgFMplMXBKCiIiIiIiIKBG9//778PT0RFhYGAAgKirqP/fbeHt74+eff2ZGgCTCgD8RERERERERERERERERkQPKnz8/Vq9ejejoaD3YHxkZqf+2/vx3vyMiInDp0iU8evQIK1asQJo0af42K4Czs7O9/ydI8RjwJyIiIiIiIiIiIiIiIiJyUAaDQQ/G/xcxMTGoW7cu4uLiMHv27EQpW/78+TF27FikS5cuUc6XGjHgT0RERERERERERESUQnHJLPq3uGQWESU2FxcX+Pn54ebNm4l2znPnzuHQoUOoVq1aop0ztWHAn4iIiIiIiIiIiIgohWLAloiIkgsRwfPnzxP9vNmyZUv0c6YmDPgTEREREREREREREaVQnOFP/xZn+BPRu+Dq6pro53zy5EminzM1YcCfiIiIiIiIiIiIiCiFYsCWiIiSi+joaDx8+BAAoJSCm5sbTCaT/lv7/Op2699G41/ha6UUAgICkC9fPntdUorAgD8RERERERERERERERERESWa33//He7u7vYuhkMw2LsARERERERERERERERERESUeiil7F0Eh8GAPxERERERERERERERERERUQrElP5ERERERERERERERERERJRogoKC4OHhAZPJBDc3N5hMJpvP1r9f3Wa93cnJyd6Xkuwx4E9ERERERERERERElELVqlULUVFR9i4GpUAmkwkbNmwAAP03EdG/JSIwm80wGAywWCw4e/Zsop17zpw5yJcvX6KdL7VhwJ+IiIiIiIiIiIiIKIVioJYSAweO0H+1fft2exeB/oMr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+P0nFPhXq9VRYf+v/MqvxIc//OFYsmRJ9Pf3x/e///24/vrrY2BgID7zmc/EQQcdFH/2Z382qsaXv/zl+IM/+IOI+MUf0Z/8yZ/EOeecE11dXbFu3br41Kc+FU899VT88R//cSxatCh+8zd/c8xeRs7gnzt3bpx44onx+OOPx4svvjiRSwMAAAAAAABmqZtuuimOPvroOPzww+Oaa66JK6+8cpfnfupTn4qHH344rrjiirjmmmua+//sz/4sVq5cGZ/+9KfHff1Mdu2110apVGp1G1Nid28Sefrpp+Od73xndHd3x7nnnhsXXHBB9PX1xR133BEf+MAH4lvf+lZ84xvfGHMi/XgmdEvE17/+9WbYf/rpp8dDDz0UF198cbzhDW+I8847L/7yL/8y7rvvvigWixERsXLlyhgaGmq+fvv27XH55ZdHRER3d3d8//vfj6uuuirOOOOMOPnkk+PSSy+NtWvXxvHHHx+NRiP++I//OLZt2zZmL+eff37ceuut8d///d/xyiuvxL333htLliyZyGUBAAAAAAAAs9iyZcvi8MMPf9XzGo1G3HTTTdHd3R1XXXXVqGNXXXVVdHd3x0033bS32mQauemmm+LZZ5+Nl156KZYvX77L8+bOnRt/93d/Fy+++GJ87Wtfi5UrV8Y//MM/xBNPPBEnn3xyfPOb34zbb799j99/QoH/D37wg+b4yiuvHHNpgZNOOine+ta3RkTEK6+8Ej/96U+bx771rW/F//3f/0VExOWXXx6//Mu/vNPr582bFzfccENERGzcuHGXy/a/+93vjksuuSSOO+64tljSAQAAAAAAAGhvTz75ZGzYsCHOOOOM2GeffUYd22effeKMM86In/3sZ/HCCy+0qMPds379+li1alWsWLEiVq1aFevXr8+kbr1ez6ROO9jdm0QOPvjg+MAHPjDm38uHP/zhiIi477779vj9J7Sk/+DgYHN85JFH7vK8o446aszX/PjHP26Ozz///F2+/qyzzookSSJN07j99tvjsssum0i7AAAAAAAAAJl58sknIyLi6KOPHvP40UcfHd/+9rfjySefjEMPPXQqW9ttd955Z1x33XWj9n35y1+Oj370o9Hb2zup2m9961ujq6srkiSJUqkUSZI0x8PPu7q6olgsRqFQaD6Gnw8MDMQTTzwRuVwulixZEueff34ccsghk+ppOhteOb9Q2PP4fkKB/8gl83/2s5/FcccdN+Z5Tz/9dERE5HK5UX/sL7/8cnO8//7777q5QiEWLlwYGzZsiAceeCCGhoYmdJEAAMD0sXr16la3AAAAADApfX19ERHR09Mz5vF58+aNOm+6Wb9+fVx33XVjzsRfuXJl3H333VEqlXarVr1ej2q1Ouon3iMiKpVKVCqVSf8brFu3LrMbEaarW265JSIi3vzmN+/xayeUnl900UXxsY99LLZu3RorV66M3/iN39hpWf9169bFv//7v0dExG/91m81/6gjIrq7u5vj8f4HbjQasXXr1oj4xQoBTz31VBx77LETaRkAAJgment7I03TVrdBG0qSxA0jAAA78PmaifL5Gma3O++8c9zja9eunaJOXt3wTQnXXnttHH/88XHwwQe3uKNsff7zn48777wzzjnnnPiN3/iNPX79hAL//fbbL/7xH/8xLrroorj//vvjlFNOiQ9+8INxzDHHxLZt2+L++++P66+/PgYHB+PEE0+M66+/ftTrf+mXfqk5vu++++Kkk04a833WrVsX27Ztaz5//vnnBf4AAAAAAPD/EdgCtMbwzP5dTW4entS8qxUAWu3FF19sdQsT8q1vfSsuvfTSVreRmW9+85tx2WWXxeGHHx5f+tKXJlRjwuvjX3DBBbF27dq4/vrr4+abb46LL7541PH9998/VqxYEZdeemnMmTNn1LHzzz8/CoVCDA0NxQ033BDvfe97Y7/99ht1Tr1ejz//8z8fta+/v3+i7U7Kvffe25L3ZWbxwZss+DtisvwNkQV/R0yWvyGy4O+ILPg7YrL8DZEFf0fAdOC/RbDnhn/O/Mknnxzz+PD+kT97Pp0ccMABuzzW0dER73nPe1oSrK9YsSLuvffeMX9qIKJ9b1QYy7e+9a145zvfGfvvv3985zvfiQMPPHBCdSYc+A8ODsYXv/jF+PrXvx6NRmOn4xs3bowvfelLccQRR8QFF1ww6tihhx4ay5cvj89+9rPx85//PM4444z41Kc+FWeffXZ0dnbGww8/HFdffXV8+9vfjs7OzhgcHIyIiHK5PNF2AQAAAAAAADJx9NFHx0EHHRT3339/DAwMxD777NM8NjAwEPfff38cccQRceihh7awy1279NJLp+VM+auuuiquuuqqVrex1/37v/97vOMd74j99tsv1qxZE0ceeeSEa3VM5EUDAwOxbNmy+Ou//uvYvHlz/Omf/mn89Kc/jUqlEn19fXHXXXfF0qVL48c//nFceOGFccMNN+xU47rrrmv+BsETTzwRF154YfT09ESpVIrTTz89vv3tb8fJJ58cv/d7v9d8zdy5cyd4mQAAAAAAAADZyOVy8f73vz+2bdsWK1asGHVsxYoVsW3btmkZqNN6w2H/woULY82aNbF48eJJ1ZvQDP+rr746vve970VE7LScf2dnZ5x33nlx9tlnx5vf/OZYs2ZNfPSjH41zzz03fvVXf7V5XldXV9xxxx1xyy23xN/93d/FT37yk+ZKAYsWLYpLL700Pvaxj8WHPvSh5msWLFgwoYsEAAAAAAAAeDU33XRTfP/734+IiEceeaS5b/gnwJcuXRrvf//7IyLiT//0T+PrX/96rFy5MtatWxcnnnhiPPTQQ3HXXXfFKaecEh/84AdbcQlMY3feeWe84x3viAULFsSaNWsy+cmHXGOs9fjH0Wg0Yr/99ovNmzfHMcccE48//vguz73//vtj6dKlERHxwQ9+MD796U/v8tz+/v7YuHFjzJkzJw444IDo6PjF4gPLli2Le+65JyIiXnrppdhvv/1etcezzjor7rvvvma/AAAAAAAAAK/mkksuiS984Qu7PH7xxRfHbbfd1nze19cXV199dXz1q1+NF198MQ488MB417veFR//+MetXj5L7HiTyEMPPRRnnHFGc+b+8E0ijz32WLz+9a+PSqUS73nPe2LJkiU71Xrta18bl1xyyR69/x4H/sN/qBER7373u+PLX/7yLs9N0zRKpVJERPT29sadd965R83VarXYf//94+WXX44jjzwynn766d16ncAfAAAAAAAAgL1td28Suffee+Pss88et9aZZ57ZXE1id+3xkv6Fwv//kqGhoXHPrVarY75ud61ZsyZefvnliPjFzQUAAAAAAAAAMF3cdttto1Z92JWzzjprr0xW79jTFyxcuDDmzZsXEREPPPDAuKH/8Cz7iIgjjjhij96n0WjE1VdfHRERxWIxLr300j1tFQAAAAAAAABmrD0O/Ds6OuItb3lLRERs2LAhPvGJT4x53pYtW+KKK65oPn/rW9866vjLL78clUplzNfWarW47LLL4v7774+IiCuvvHKPbxgAAAAAAAAAgJks15jAugGPPfZYnHTSSbF9+/aIiHjb294WF198cRx55JGRpmn88Ic/jL/5m7+J559/PiIizj333Lj77rtH1bj99tvjsssui/e85z1x5plnxmGHHRZpmsZ//dd/xec///l4+OGHIyLi/PPPj6997WvR2dk5Zi8vvvhirF69etS+a665Jh5//PGIiLj11ltHHVu6dGksXrx4Ty8ZAAAAAAAAAKaVCQX+ERF33313XHTRRbFp06ZxzzvnnHPi9ttvjwULFozaf/vtt8e73vWuXTeWy8X73ve++NznPhddXV27PO/ee++Ns88+e7f7vvXWW+OSSy7Z7fMBAAAAAAAAYDoqTPSFy5Yti8ceeyxuvvnmuPPOO+PRRx+NV155JQqFQhxwwAFxyimnxG/91m/FBRdcELlcbqfXv/GNb4xrr702vvOd78Rjjz0WGzdujI6OjjjooIPi7LPPjve9731x2mmnTeriAAAAAAAAAGCmmvAMfwAAAAAAAACgdTpa3QAAAAAAAAAAsOcE/gAAAAAAAADQhgT+AAAAAAAAANCGBP4AAAAAAAAA0IYE/gAAAAAAAADQhgT+AAAAAAAAANCGBP4AAAAAAAAA0IYE/gAAAAAAAADQhgT+AAAAAAAAANCGBP4AAAAAAAAA0IYE/gAAAAAAAADQhgT+AAAAAAAAANCGBP4AAAAAAAAA0IYE/gAAAAAAAADQhv4feaEv77aaHF4AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#Missingno\n", "\n", "import missingno as msno\n", "import matplotlib.pyplot as plt\n", "\n", "msno.matrix(df_titanic)\n", "plt.show()\n" ] }, { "cell_type": "markdown", "id": "cf49145e", "metadata": {}, "source": [ "## 3. Manejo de Anomalías y datos faltantes\n", "### Diabetes:" ] }, { "cell_type": "code", "execution_count": 6, "id": "f56d8b8f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Promedios de columnas excluyendo ceros (reemplazarán a los datos faltantes o nulos)\n", " Variable Promedio\n", "0 Glucose 121.686763\n", "1 BloodPressure 72.405184\n", "2 SkinThickness 29.153420\n", "3 Insulin 155.548223\n", "4 BMI 32.457464\n", "5 DiabetesPedigreeFunction 428.235091\n", "6 Age 33.240885\n", "\n", "Reemplazo de los datos faltantes o nulos)\n", " Pregnancies Glucose BloodPressure SkinThickness Insulin BMI \\\n", "0 6 148.0 72.0 35.00000 155.548223 33.6 \n", "1 1 85.0 66.0 29.00000 155.548223 26.6 \n", "2 8 183.0 64.0 29.15342 155.548223 23.3 \n", "3 1 89.0 66.0 23.00000 94.000000 28.1 \n", "4 0 137.0 40.0 35.00000 168.000000 43.1 \n", "\n", " DiabetesPedigreeFunction Age Diabetes \n", "0 627.0 50 1 \n", "1 351.0 31 0 \n", "2 672.0 32 1 \n", "3 167.0 21 0 \n", "4 2288.0 33 1 \n" ] } ], "source": [ "medias=[]\n", "variables=[]\n", "print(\"Promedios de columnas excluyendo ceros (reemplazarán a los datos faltantes o nulos)\")\n", "for i in range (1,len(columnas_diabetes)-1):\n", " variable=columnas_diabetes[i]\n", " mean_excluding_zeros = df_diabetes[df_diabetes[variable] != 0][variable].mean()\n", " variables.append(variable)\n", " medias.append(mean_excluding_zeros)\n", "dfMedias=pd.DataFrame()\n", "dfMedias[\"Variable\"]=variables\n", "dfMedias[\"Promedio\"]=medias\n", "print(dfMedias)\n", "\n", "print(\"\\nReemplazo de los datos faltantes o nulos)\")\n", "# Reemplazar los ceros por el valor medio calculado\n", "\n", "columns_to_impute = df_diabetes.columns.difference(['Pregnancies', 'Diabetes'])\n", "# Calcular los promedios excluyendo los ceros para cada columna relevante\n", "mean_values = {}\n", "for column in columns_to_impute:\n", " mean_values[column] = df_diabetes[df_diabetes[column] != 0][column].mean()\n", "\n", "# Reemplazar los ceros por los promedios calculados\n", "for column in columns_to_impute:\n", " df_diabetes[column] = df_diabetes[column].replace(0, mean_values[column])\n", "\n", "# Mostrar los resultados\n", "print(df_diabetes.head()) " ] }, { "cell_type": "code", "execution_count": 7, "id": "73af76e9", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PregnanciesGlucoseBloodPressureSkinThicknessInsulinBMIDiabetesPedigreeFunctionAgeDiabetes
06148.072.035.00000155.54822333.6627.00501
1185.066.029.00000155.54822326.6351.00310
28183.064.029.15342155.54822323.3672.00321
3189.066.023.0000094.00000028.1167.00210
40137.040.035.00000168.00000043.12288.00331
..............................
76310101.076.048.00000180.00000032.9171.00630
7642122.070.027.00000155.54822336.80.34270
7655121.072.023.00000112.00000026.2245.00300
7661126.060.029.15342155.54822330.1349.00471
767193.070.031.00000155.54822330.4315.00230
\n", "

768 rows × 9 columns

\n", "
" ], "text/plain": [ " Pregnancies Glucose BloodPressure SkinThickness Insulin BMI \\\n", "0 6 148.0 72.0 35.00000 155.548223 33.6 \n", "1 1 85.0 66.0 29.00000 155.548223 26.6 \n", "2 8 183.0 64.0 29.15342 155.548223 23.3 \n", "3 1 89.0 66.0 23.00000 94.000000 28.1 \n", "4 0 137.0 40.0 35.00000 168.000000 43.1 \n", ".. ... ... ... ... ... ... \n", "763 10 101.0 76.0 48.00000 180.000000 32.9 \n", "764 2 122.0 70.0 27.00000 155.548223 36.8 \n", "765 5 121.0 72.0 23.00000 112.000000 26.2 \n", "766 1 126.0 60.0 29.15342 155.548223 30.1 \n", "767 1 93.0 70.0 31.00000 155.548223 30.4 \n", "\n", " DiabetesPedigreeFunction Age Diabetes \n", "0 627.00 50 1 \n", "1 351.00 31 0 \n", "2 672.00 32 1 \n", "3 167.00 21 0 \n", "4 2288.00 33 1 \n", ".. ... ... ... \n", "763 171.00 63 0 \n", "764 0.34 27 0 \n", "765 245.00 30 0 \n", "766 349.00 47 1 \n", "767 315.00 23 0 \n", "\n", "[768 rows x 9 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_diabetes" ] }, { "cell_type": "markdown", "id": "45ee240a", "metadata": {}, "source": [ "### Titanic" ] }, { "cell_type": "code", "execution_count": 8, "id": "b0d89593", "metadata": {}, "outputs": [], "source": [ "# Imputar datos faltantes \n", "# A faltantes de edad se imputa la mediana\n", "df_titanic['Age'].fillna(df_titanic['Age'].median(), inplace=True)\n", "\n", "# A faltantes de cabina, se le imputa “NC”\n", "df_titanic['Cabin'].fillna('NC', inplace=True)" ] }, { "cell_type": "code", "execution_count": 9, "id": "1e076b52", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NCS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NCS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NCS
.......................................
88688702Montvila, Rev. Juozasmale27.00021153613.0000NCS
88788811Graham, Miss. Margaret Edithfemale19.00011205330.0000B42S
88888903Johnston, Miss. Catherine Helen \"Carrie\"female28.012W./C. 660723.4500NCS
88989011Behr, Mr. Karl Howellmale26.00011136930.0000C148C
89089103Dooley, Mr. Patrickmale32.0003703767.7500NCQ
\n", "

891 rows × 12 columns

\n", "
" ], "text/plain": [ " PassengerId Survived Pclass \\\n", "0 1 0 3 \n", "1 2 1 1 \n", "2 3 1 3 \n", "3 4 1 1 \n", "4 5 0 3 \n", ".. ... ... ... \n", "886 887 0 2 \n", "887 888 1 1 \n", "888 889 0 3 \n", "889 890 1 1 \n", "890 891 0 3 \n", "\n", " Name Sex Age SibSp \\\n", "0 Braund, Mr. Owen Harris male 22.0 1 \n", "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", "2 Heikkinen, Miss. Laina female 26.0 0 \n", "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", "4 Allen, Mr. William Henry male 35.0 0 \n", ".. ... ... ... ... \n", "886 Montvila, Rev. Juozas male 27.0 0 \n", "887 Graham, Miss. Margaret Edith female 19.0 0 \n", "888 Johnston, Miss. Catherine Helen \"Carrie\" female 28.0 1 \n", "889 Behr, Mr. Karl Howell male 26.0 0 \n", "890 Dooley, Mr. Patrick male 32.0 0 \n", "\n", " Parch Ticket Fare Cabin Embarked \n", "0 0 A/5 21171 7.2500 NC S \n", "1 0 PC 17599 71.2833 C85 C \n", "2 0 STON/O2. 3101282 7.9250 NC S \n", "3 0 113803 53.1000 C123 S \n", "4 0 373450 8.0500 NC S \n", ".. ... ... ... ... ... \n", "886 0 211536 13.0000 NC S \n", "887 0 112053 30.0000 B42 S \n", "888 2 W./C. 6607 23.4500 NC S \n", "889 0 111369 30.0000 C148 C \n", "890 0 370376 7.7500 NC Q \n", "\n", "[891 rows x 12 columns]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_titanic" ] }, { "cell_type": "code", "execution_count": 10, "id": "8786b126", "metadata": {}, "outputs": [], "source": [ "## Indexación\n", "### Uso de iloc en Titanic" ] }, { "cell_type": "code", "execution_count": 11, "id": "6e8aa3f0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Columnas 1 a 4:\n", " Survived Pclass Name\n", "0 0 3 Braund, Mr. Owen Harris\n", "1 1 1 Cumings, Mrs. John Bradley (Florence Briggs Th...\n", "2 1 3 Heikkinen, Miss. Laina\n", "3 1 1 Futrelle, Mrs. Jacques Heath (Lily May Peel)\n", "4 0 3 Allen, Mr. William Henry\n", "\n", "Valor promedio de la columna 5 ( Age ): 29.36158249158249\n" ] } ], "source": [ "# Seleccionar las columnas de la segunda a la cuarta \n", "sub_df=df_titanic.iloc[0:5, 1:4]\n", "print(\"\\nColumnas 1 a 4:\\n\", sub_df)\n", "\n", "# Valor promedio de la columna 5\n", "valor=df_titanic.iloc[:,5].mean()\n", "print(\"\\nValor promedio de la columna 5 (\", str(df_titanic.columns.to_list()[5]), \"):\", str(valor))" ] }, { "cell_type": "markdown", "id": "7bc7ae6c", "metadata": {}, "source": [ "### Ejemplo de loc en Diabetes" ] }, { "cell_type": "code", "execution_count": 12, "id": "7c538a9c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Age Glucose Diabetes\n", "0 50 148.0 1\n", "1 31 85.0 0\n", "2 32 183.0 1\n", "3 21 89.0 0\n", "4 33 137.0 1\n", "\n", " Age Glucose Diabetes\n", "8 53 197.0 1\n", "22 41 196.0 1\n", "206 57 196.0 1\n", "228 31 197.0 0\n", "359 29 196.0 1\n", "408 39 197.0 1\n", "561 28 198.0 1\n", "579 62 197.0 1\n", "661 22 199.0 1\n" ] } ], "source": [ "# Seleccionar las primeras 5 filas y las columnas 'Age', 'Glucose' y 'Diabetes'\n", "selected_data = df_diabetes.loc[:4, ['Age', 'Glucose', 'Diabetes']]\n", "print(selected_data)\n", "\n", "print(\"\")\n", "# Seleccionar todas las donde glucose > 195 y las columnas 'Age', 'Glucose' y 'Diabetes'\n", "filtrado_Glucose = df_diabetes.loc[df_diabetes['Glucose'] > 195, ['Age', 'Glucose', 'Diabetes']]\n", "print(filtrado_Glucose)" ] }, { "cell_type": "markdown", "id": "1615a5d3", "metadata": {}, "source": [ "## Agrupacion y Agregacion\n", "### Agrupación sobre Diabetes" ] }, { "cell_type": "code", "execution_count": 13, "id": "4d5549c1", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Age Glucose\n", "Diabetes \n", "0 21 197.0\n", "1 21 199.0\n" ] } ], "source": [ "# Agrupar por Diagnóstico de diabetes y calcular la menor edad y mayor glucosa\n", "agrupado_diabetes = df_diabetes.groupby('Diabetes').agg({'Age': 'min', 'Glucose': 'max'})\n", "print(agrupado_diabetes)" ] }, { "cell_type": "markdown", "id": "42ff7400", "metadata": {}, "source": [ "## Uniones y Fusiones\n", "### Union (join) sobre Diabetes" ] }, { "cell_type": "code", "execution_count": 24, "id": "1e2df425", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 768 entries, 0 to 767\n", "Data columns (total 9 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Pregnancies 768 non-null int64 \n", " 1 Glucose 768 non-null float64\n", " 2 BloodPressure 768 non-null float64\n", " 3 SkinThickness 768 non-null float64\n", " 4 Insulin 768 non-null float64\n", " 5 BMI 768 non-null float64\n", " 6 DiabetesPedigreeFunction 768 non-null float64\n", " 7 Age 768 non-null int64 \n", " 8 Diabetes 768 non-null int64 \n", "dtypes: float64(6), int64(3)\n", "memory usage: 54.1 KB\n" ] } ], "source": [ "df_diabetes.info()" ] }, { "cell_type": "code", "execution_count": 14, "id": "8db12f53", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Datos médicos:\n", " Glucose BloodPressure SkinThickness Insulin BMI Age\n", "0 148.0 72.0 35.00000 155.548223 33.6 50\n", "1 85.0 66.0 29.00000 155.548223 26.6 31\n", "2 183.0 64.0 29.15342 155.548223 23.3 32\n", "3 89.0 66.0 23.00000 94.000000 28.1 21\n", "4 137.0 40.0 35.00000 168.000000 43.1 33\n", ".. ... ... ... ... ... ...\n", "763 101.0 76.0 48.00000 180.000000 32.9 63\n", "764 122.0 70.0 27.00000 155.548223 36.8 27\n", "765 121.0 72.0 23.00000 112.000000 26.2 30\n", "766 126.0 60.0 29.15342 155.548223 30.1 47\n", "767 93.0 70.0 31.00000 155.548223 30.4 23\n", "\n", "[768 rows x 6 columns]\n", "\n", "Datos demográficos:\n", " Age Diabetes\n", "0 50 1\n", "1 31 0\n", "2 32 1\n", "3 21 0\n", "4 33 1\n", ".. ... ...\n", "763 63 0\n", "764 27 0\n", "765 30 0\n", "766 47 1\n", "767 23 0\n", "\n", "[768 rows x 2 columns]\n", "\n", "\n", "Union de Dataframes\n", " Glucose BloodPressure SkinThickness Insulin BMI Age Diabetes\n", "0 148.0 72.0 35.00000 155.548223 33.6 50 1\n", "0 148.0 72.0 35.00000 155.548223 33.6 50 0\n", "0 148.0 72.0 35.00000 155.548223 33.6 50 0\n", "0 148.0 72.0 35.00000 155.548223 33.6 50 0\n", "0 148.0 72.0 35.00000 155.548223 33.6 50 1\n", "0 148.0 72.0 35.00000 155.548223 33.6 50 1\n", "0 148.0 72.0 35.00000 155.548223 33.6 50 1\n", "0 148.0 72.0 35.00000 155.548223 33.6 50 1\n", "21 99.0 84.0 29.15342 155.548223 35.4 50 1\n", "21 99.0 84.0 29.15342 155.548223 35.4 50 0\n" ] } ], "source": [ "# Crear DataFrames adicionales para simular la unión \n", "df_medidas = df_diabetes[['Glucose', 'BloodPressure', 'SkinThickness', 'Insulin', 'BMI', 'Age']] \n", "print(\"Datos médicos:\\n\",df_medidas)\n", "df_demografico = df_diabetes[['Age', 'Diabetes']] \n", "print(\"\\nDatos demográficos:\\n\",df_demografico)\n", "print(\"\")\n", "# Realizar la unión \n", "unido_diabetes = df_medidas.join(df_demografico.set_index('Age'), on='Age', how='inner', lsuffix='_med', rsuffix='_demo') \n", "print(\"\\nUnion de Dataframes\\n\",unido_diabetes.head(10))" ] }, { "cell_type": "code", "execution_count": 34, "id": "a3837c7b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "Index: 24226 entries, 0 to 674\n", "Data columns (total 7 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Glucose 24226 non-null float64\n", " 1 BloodPressure 24226 non-null float64\n", " 2 SkinThickness 24226 non-null float64\n", " 3 Insulin 24226 non-null float64\n", " 4 BMI 24226 non-null float64\n", " 5 Age 24226 non-null int64 \n", " 6 Diabetes 24226 non-null int64 \n", "dtypes: float64(5), int64(2)\n", "memory usage: 1.5 MB\n" ] } ], "source": [ "unido_diabetes.info()" ] }, { "cell_type": "code", "execution_count": 28, "id": "128f841a", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "8\n" ] } ], "source": [ "age_50_count = (df_diabetes['Age'] == 50).sum()\n", "print(age_50_count)" ] }, { "cell_type": "markdown", "id": "12e76f40", "metadata": {}, "source": [ "### Fusion (Merge) sobre Titanic" ] }, { "cell_type": "code", "execution_count": 15, "id": "10e476fa", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Pclass Fare Average_Fare\n", "0 3 7.2500 13.675550\n", "1 1 71.2833 84.154687\n", "2 3 7.9250 13.675550\n", "3 1 53.1000 84.154687\n", "4 3 8.0500 13.675550\n", "5 3 8.4583 13.675550\n", "6 1 51.8625 84.154687\n", "7 3 21.0750 13.675550\n", "8 3 11.1333 13.675550\n", "9 2 30.0708 20.662183\n" ] } ], "source": [ "# Crear un DataFrame adicional para simular la fusión\n", "data_adicional = {\n", " 'Pclass': [1, 2, 3],\n", " 'Average_Fare': [84.154687, 20.662183, 13.675550]\n", "}\n", "df_adicional = pd.DataFrame(data_adicional)\n", "\n", "# Realizar la fusión\n", "fusionado_titanic = pd.merge(df_titanic, df_adicional, on='Pclass', how='left')\n", "print(fusionado_titanic[['Pclass', 'Fare', 'Average_Fare']].head(10))" ] }, { "cell_type": "code", "execution_count": 37, "id": "78d22421", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
PclassAverage_Fare
0184.154687
1220.662183
2313.675550
\n", "
" ], "text/plain": [ " Pclass Average_Fare\n", "0 1 84.154687\n", "1 2 20.662183\n", "2 3 13.675550" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_adicional.head()" ] }, { "cell_type": "code", "execution_count": 38, "id": "f05f70e4", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 891 entries, 0 to 890\n", "Data columns (total 13 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 PassengerId 891 non-null int64 \n", " 1 Survived 891 non-null int64 \n", " 2 Pclass 891 non-null int64 \n", " 3 Name 891 non-null object \n", " 4 Sex 891 non-null object \n", " 5 Age 891 non-null float64\n", " 6 SibSp 891 non-null int64 \n", " 7 Parch 891 non-null int64 \n", " 8 Ticket 891 non-null object \n", " 9 Fare 891 non-null float64\n", " 10 Cabin 891 non-null object \n", " 11 Embarked 889 non-null object \n", " 12 Average_Fare 891 non-null float64\n", "dtypes: float64(3), int64(5), object(5)\n", "memory usage: 90.6+ KB\n" ] } ], "source": [ "fusionado_titanic.info()" ] }, { "cell_type": "markdown", "id": "c4474f90", "metadata": {}, "source": [ "## Discretizacion" ] }, { "cell_type": "markdown", "id": "9471f002", "metadata": {}, "source": [ "### Titanic" ] }, { "cell_type": "code", "execution_count": 16, "id": "7c889e36", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Valores posibles por variable categorica:\n", " Variable valores posibles\n", "0 Name 891\n", "1 Sex 2\n", "2 Cabin 148\n", "3 Ticket 681\n", "4 Embarked 4\n" ] } ], "source": [ "# Tratamiento de las variables categoricas:\n", "variables_categoricas=['Name','Sex','Cabin','Ticket','Embarked']\n", "\n", "# Cantidad de valores posibles (no numéricos) por variable\n", "df_cat=pd.DataFrame()\n", "val_posibles=[]\n", "for i in range(len(variables_categoricas)):\n", " variable=variables_categoricas[i]\n", " valor=len(list(set(list(df_titanic[variable]))))\n", " val_posibles.append(valor)\n", "df_cat[\"Variable\"]=variables_categoricas\n", "df_cat[\"valores posibles\"]=val_posibles\n", "print(\"Valores posibles por variable categorica:\")\n", "print(df_cat) " ] }, { "cell_type": "markdown", "id": "216da1ce", "metadata": {}, "source": [ "Con esta información definimos: eliminación de columnas Name, Cabin y Ticket, y haremos la discretización de Sex y Embarked" ] }, { "cell_type": "code", "execution_count": 31, "id": "878f6662", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
SurvivedAgeSibSpParchFarePclass_1Pclass_2Pclass_3Sex_femaleSex_maleEmbarked_CEmbarked_QEmbarked_S
0022.0107.2500FalseFalseTrueFalseTrueFalseFalseTrue
1138.01071.2833TrueFalseFalseTrueFalseTrueFalseFalse
2126.0007.9250FalseFalseTrueTrueFalseFalseFalseTrue
3135.01053.1000TrueFalseFalseTrueFalseFalseFalseTrue
4035.0008.0500FalseFalseTrueFalseTrueFalseFalseTrue
..........................................
886027.00013.0000FalseTrueFalseFalseTrueFalseFalseTrue
887119.00030.0000TrueFalseFalseTrueFalseFalseFalseTrue
888028.01223.4500FalseFalseTrueTrueFalseFalseFalseTrue
889126.00030.0000TrueFalseFalseFalseTrueTrueFalseFalse
890032.0007.7500FalseFalseTrueFalseTrueFalseTrueFalse
\n", "

891 rows × 13 columns

\n", "
" ], "text/plain": [ " Survived Age SibSp Parch Fare Pclass_1 Pclass_2 Pclass_3 \\\n", "0 0 22.0 1 0 7.2500 False False True \n", "1 1 38.0 1 0 71.2833 True False False \n", "2 1 26.0 0 0 7.9250 False False True \n", "3 1 35.0 1 0 53.1000 True False False \n", "4 0 35.0 0 0 8.0500 False False True \n", ".. ... ... ... ... ... ... ... ... \n", "886 0 27.0 0 0 13.0000 False True False \n", "887 1 19.0 0 0 30.0000 True False False \n", "888 0 28.0 1 2 23.4500 False False True \n", "889 1 26.0 0 0 30.0000 True False False \n", "890 0 32.0 0 0 7.7500 False False True \n", "\n", " Sex_female Sex_male Embarked_C Embarked_Q Embarked_S \n", "0 False True False False True \n", "1 True False True False False \n", "2 True False False False True \n", "3 True False False False True \n", "4 False True False False True \n", ".. ... ... ... ... ... \n", "886 False True False False True \n", "887 True False False False True \n", "888 True False False False True \n", "889 False True True False False \n", "890 False True False True False \n", "\n", "[891 rows x 13 columns]" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Eliminacion de columnas\n", "df_titanic_cleaned = df_titanic.drop(columns=['Name', 'Cabin', 'Ticket', 'PassengerId'])\n", "\n", "# Discretizacion de variables:\n", "df_titanic_encoded=pd.get_dummies(df_titanic_cleaned,columns=['Pclass','Sex','Embarked'])\n", "df_titanic_encoded" ] }, { "cell_type": "markdown", "id": "b9de15e2", "metadata": {}, "source": [ "## Normalización\n", "### Diabetes" ] }, { "cell_type": "code", "execution_count": 18, "id": "b16bcf3c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Primeros registros del dataset normalizado:\n", " Pregnancies Glucose BloodPressure SkinThickness Insulin \\\n", "0 0.639947 0.865108 -0.033518 6.655021e-01 -3.345079e-16 \n", "1 -0.844885 -1.206162 -0.529859 -1.746338e-02 -3.345079e-16 \n", "2 1.233880 2.015813 -0.695306 8.087936e-16 -3.345079e-16 \n", "3 -0.844885 -1.074652 -0.529859 -7.004289e-01 -7.243887e-01 \n", "4 -1.141852 0.503458 -2.680669 6.655021e-01 1.465506e-01 \n", "\n", " BMI DiabetesPedigreeFunction Age Diabetes \n", "0 0.166292 0.584149 1.425995 1 \n", "1 -0.852531 -0.226986 -0.190672 0 \n", "2 -1.332833 0.716400 -0.105584 1 \n", "3 -0.634212 -0.767743 -1.041549 0 \n", "4 1.548980 5.465654 -0.020496 1 \n" ] } ], "source": [ "from sklearn.preprocessing import StandardScaler\n", "\n", "# Crear el escalador estándar\n", "scaler = StandardScaler()\n", "\n", "target = df_diabetes['Diabetes']\n", "\n", "# Ajustar el escalador y transformar los datos\n", "data_normalized = scaler.fit_transform(df_diabetes)\n", "\n", "# Convertir el resultado a un DataFrame y agregar de nuevo la columna 'Outcome'\n", "data_normalized = pd.DataFrame(data_normalized, columns=df_diabetes.columns)\n", "data_normalized['Diabetes'] = target\n", "\n", "# Mostrar los primeros registros del dataset normalizado\n", "print(\"Primeros registros del dataset normalizado:\")\n", "print(data_normalized.head())" ] }, { "cell_type": "code", "execution_count": null, "id": "5d89bacb", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "dssg-workshop", "language": "python", "name": "dssg-workshop" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 5 }