{ "cells": [ { "cell_type": "markdown", "id": "7091d4c4", "metadata": {}, "source": [ "![](https://raw.githubusercontent.com/rafneta/RNlibro/master/imagenes/banner.png)\n", "\n", "```{contents}\n", ":depth: 4\n", "```\n", "\n", "# Pandas\n" ] }, { "cell_type": "markdown", "id": "30fb7fd8", "metadata": {}, "source": [ "- [Página principal de Pandas](https://pandas.pydata.org/docs/index.html)\n", "- [Documentación](https://pandas.pydata.org/docs/reference/index.html)\n", "\n", "Tomamos una muestra de la guía rápida de Pandas ([10 minutes to pandas](https://pandas.pydata.org/docs/user_guide/10min.html)), junto con un par de complementos.\n" ] }, { "cell_type": "markdown", "id": "7f1320ae-981d-46f4-b9be-23cf66170f83", "metadata": {}, "source": [ "## Creamos objetos\n" ] }, { "cell_type": "code", "execution_count": 70, "id": "a5d10adb-f9d9-4524-b63c-92edfeef6e35", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 3, "id": "b74e8425-02a2-4ded-adc6-9675208ab808", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 1.0\n", "1 3.0\n", "2 5.0\n", "3 NaN\n", "4 6.0\n", "5 8.0\n", "dtype: float64" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s = pd.Series([1, 3, 5, np.nan, 6, 8])\n", "s" ] }, { "cell_type": "code", "execution_count": 6, "id": "3101ecba-961e-4767-a570-cd851da2340c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',\n", " '2013-01-05', '2013-01-06'],\n", " dtype='datetime64[ns]', freq='D')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dates = pd.date_range(\"20130101\", periods=6)\n", "dates" ] }, { "cell_type": "code", "execution_count": 7, "id": "2d830aa9-4414-4bc3-b102-6d6c0aea38b1", "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", "
ABCD
2013-01-01-0.2554451.309822-0.168210-0.584129
2013-01-020.4406320.4739180.0921150.994856
2013-01-031.140755-0.2887071.0754701.245641
2013-01-041.471408-1.5398701.2728891.255482
2013-01-05-1.197831-0.1394751.067496-0.351955
2013-01-060.203198-0.5735901.523726-0.788816
\n", "
" ], "text/plain": [ " A B C D\n", "2013-01-01 -0.255445 1.309822 -0.168210 -0.584129\n", "2013-01-02 0.440632 0.473918 0.092115 0.994856\n", "2013-01-03 1.140755 -0.288707 1.075470 1.245641\n", "2013-01-04 1.471408 -1.539870 1.272889 1.255482\n", "2013-01-05 -1.197831 -0.139475 1.067496 -0.351955\n", "2013-01-06 0.203198 -0.573590 1.523726 -0.788816" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list(\"ABCD\"))\n", "df" ] }, { "cell_type": "code", "execution_count": 8, "id": "914f5adf-1606-44a2-8445-d7b8cea34627", "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", "
ABCDEF
01.02013-01-021.03testfoo
11.02013-01-021.03trainfoo
21.02013-01-021.03testfoo
31.02013-01-021.03trainfoo
\n", "
" ], "text/plain": [ " A B C D E F\n", "0 1.0 2013-01-02 1.0 3 test foo\n", "1 1.0 2013-01-02 1.0 3 train foo\n", "2 1.0 2013-01-02 1.0 3 test foo\n", "3 1.0 2013-01-02 1.0 3 train foo" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2 = pd.DataFrame(\n", "\n", " {\n", "\n", " \"A\": 1.0,\n", "\n", " \"B\": pd.Timestamp(\"20130102\"),\n", "\n", " \"C\": pd.Series(1, index=list(range(4)), dtype=\"float32\"),\n", "\n", " \"D\": np.array([3] * 4, dtype=\"int32\"),\n", "\n", " \"E\": pd.Categorical([\"test\", \"train\", \"test\", \"train\"]),\n", "\n", " \"F\": \"foo\",\n", "\n", " }\n", "\n", ")\n", "\n", "df2" ] }, { "cell_type": "code", "execution_count": 9, "id": "36105fd1-9f93-407f-ad7c-f5b440ef49a5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "A float64\n", "B datetime64[ns]\n", "C float32\n", "D int32\n", "E category\n", "F object\n", "dtype: object" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2.dtypes" ] }, { "cell_type": "markdown", "id": "7cef5d41-82b2-43f1-8d28-35b0af175a66", "metadata": {}, "source": [ "Dependiendo del editor de texto, se puede utilizar `` para tener un despliegue de métodos.\n", " \n", "Normalmente tenemos un archivo (local o remoto), con los datos. Tomaremos un ejemplo del repositorio de datos de [UCI, Machine Learning Repository](https://archive-beta.ics.uci.edu/)\n", "\n", "\n", "Se tomará el siguiente conjunto de datos [Adult](https://archive-beta.ics.uci.edu/ml/datasets/adult) (1996). UCI Machine Learning Repository.\n", "\n", "- age: continuous.\n", "\n", "- workclass: Private, Self-emp-not-inc, Self-emp-inc, Federal-gov, Local-gov, State-gov, Without-pay, Never-worked.\n", "\n", "- fnlwgt: continuous.\n", "\n", "- education: Bachelors, Some-college, 11th, HS-grad, Prof-school, Assoc-acdm, Assoc-voc, 9th, 7th-8th, 12th, Masters, 1st-4th, 10th, Doctorate, 5th-6th, Preschool.\n", "\n", "- education-num: continuous.\n", "\n", "- marital-status: Married-civ-spouse, Divorced, Never-married, Separated, Widowed, Married-spouse-absent, Married-AF-spouse.\n", "\n", "- occupation: Tech-support, Craft-repair, Other-service, Sales, Exec-managerial, Prof-specialty, Handlers-cleaners, Machine-op-inspct, Adm-clerical, Farming-fishing, Transport-moving, Priv-house-serv, Protective-serv, Armed-Forces.\n", "\n", "- relationship: Wife, Own-child, Husband, Not-in-family, Other-relative, Unmarried.\n", "\n", "- race: White, Asian-Pac-Islander, Amer-Indian-Eskimo, Other, Black.\n", "\n", "- sex: Female, Male.\n", "\n", "- capital-gain: continuous.\n", "\n", "- capital-loss: continuous.\n", "\n", "- hours-per-week: continuous.\n", "\n", "- native-country: United-States, Cambodia, England, Puerto-Rico, Canada, Germany, Outlying-US(Guam-USVI-etc), India, Japan, Greece, South, China, Cuba, Iran, Honduras, Philippines, Italy, Poland, Jamaica, Vietnam, Mexico, Portugal, Ireland, France, Dominican-Republic, Laos, Ecuador, Taiwan, Haiti, Columbia, Hungary, Guatemala, Nicaragua, Scotland, Thailand, Yugoslavia, El-Salvador, Trinadad&Tobago, Peru, Hong, Holand-Netherlands.\n", "\n" ] }, { "cell_type": "code", "execution_count": 12, "id": "b6b0afff-8444-4fc8-a2af-66b4571ec3f0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
39State-gov77516Bachelors13Never-marriedAdm-clericalNot-in-familyWhiteMale2174040United-States<=50K
050Self-emp-not-inc83311Bachelors13Married-civ-spouseExec-managerialHusbandWhiteMale0013United-States<=50K
138Private215646HS-grad9DivorcedHandlers-cleanersNot-in-familyWhiteMale0040United-States<=50K
253Private23472111th7Married-civ-spouseHandlers-cleanersHusbandBlackMale0040United-States<=50K
328Private338409Bachelors13Married-civ-spouseProf-specialtyWifeBlackFemale0040Cuba<=50K
437Private284582Masters14Married-civ-spouseExec-managerialWifeWhiteFemale0040United-States<=50K
................................................
3255527Private257302Assoc-acdm12Married-civ-spouseTech-supportWifeWhiteFemale0038United-States<=50K
3255640Private154374HS-grad9Married-civ-spouseMachine-op-inspctHusbandWhiteMale0040United-States>50K
3255758Private151910HS-grad9WidowedAdm-clericalUnmarriedWhiteFemale0040United-States<=50K
3255822Private201490HS-grad9Never-marriedAdm-clericalOwn-childWhiteMale0020United-States<=50K
3255952Self-emp-inc287927HS-grad9Married-civ-spouseExec-managerialWifeWhiteFemale15024040United-States>50K
\n", "

32560 rows × 15 columns

\n", "
" ], "text/plain": [ " 39 State-gov 77516 Bachelors 13 Never-married \\\n", "0 50 Self-emp-not-inc 83311 Bachelors 13 Married-civ-spouse \n", "1 38 Private 215646 HS-grad 9 Divorced \n", "2 53 Private 234721 11th 7 Married-civ-spouse \n", "3 28 Private 338409 Bachelors 13 Married-civ-spouse \n", "4 37 Private 284582 Masters 14 Married-civ-spouse \n", "... .. ... ... ... ... ... \n", "32555 27 Private 257302 Assoc-acdm 12 Married-civ-spouse \n", "32556 40 Private 154374 HS-grad 9 Married-civ-spouse \n", "32557 58 Private 151910 HS-grad 9 Widowed \n", "32558 22 Private 201490 HS-grad 9 Never-married \n", "32559 52 Self-emp-inc 287927 HS-grad 9 Married-civ-spouse \n", "\n", " Adm-clerical Not-in-family White Male 2174 0 40 \\\n", "0 Exec-managerial Husband White Male 0 0 13 \n", "1 Handlers-cleaners Not-in-family White Male 0 0 40 \n", "2 Handlers-cleaners Husband Black Male 0 0 40 \n", "3 Prof-specialty Wife Black Female 0 0 40 \n", "4 Exec-managerial Wife White Female 0 0 40 \n", "... ... ... ... ... ... .. ... \n", "32555 Tech-support Wife White Female 0 0 38 \n", "32556 Machine-op-inspct Husband White Male 0 0 40 \n", "32557 Adm-clerical Unmarried White Female 0 0 40 \n", "32558 Adm-clerical Own-child White Male 0 0 20 \n", "32559 Exec-managerial Wife White Female 15024 0 40 \n", "\n", " United-States <=50K \n", "0 United-States <=50K \n", "1 United-States <=50K \n", "2 United-States <=50K \n", "3 Cuba <=50K \n", "4 United-States <=50K \n", "... ... ... \n", "32555 United-States <=50K \n", "32556 United-States >50K \n", "32557 United-States <=50K \n", "32558 United-States <=50K \n", "32559 United-States >50K \n", "\n", "[32560 rows x 15 columns]" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "datos = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data')\n", "datos" ] }, { "cell_type": "code", "execution_count": 13, "id": "d226e42e-b4d1-40df-b387-8d36ca8097f6", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
01234567891011121314
039State-gov77516Bachelors13Never-marriedAdm-clericalNot-in-familyWhiteMale2174040United-States<=50K
150Self-emp-not-inc83311Bachelors13Married-civ-spouseExec-managerialHusbandWhiteMale0013United-States<=50K
238Private215646HS-grad9DivorcedHandlers-cleanersNot-in-familyWhiteMale0040United-States<=50K
353Private23472111th7Married-civ-spouseHandlers-cleanersHusbandBlackMale0040United-States<=50K
428Private338409Bachelors13Married-civ-spouseProf-specialtyWifeBlackFemale0040Cuba<=50K
................................................
3255627Private257302Assoc-acdm12Married-civ-spouseTech-supportWifeWhiteFemale0038United-States<=50K
3255740Private154374HS-grad9Married-civ-spouseMachine-op-inspctHusbandWhiteMale0040United-States>50K
3255858Private151910HS-grad9WidowedAdm-clericalUnmarriedWhiteFemale0040United-States<=50K
3255922Private201490HS-grad9Never-marriedAdm-clericalOwn-childWhiteMale0020United-States<=50K
3256052Self-emp-inc287927HS-grad9Married-civ-spouseExec-managerialWifeWhiteFemale15024040United-States>50K
\n", "

32561 rows × 15 columns

\n", "
" ], "text/plain": [ " 0 1 2 3 4 5 \\\n", "0 39 State-gov 77516 Bachelors 13 Never-married \n", "1 50 Self-emp-not-inc 83311 Bachelors 13 Married-civ-spouse \n", "2 38 Private 215646 HS-grad 9 Divorced \n", "3 53 Private 234721 11th 7 Married-civ-spouse \n", "4 28 Private 338409 Bachelors 13 Married-civ-spouse \n", "... .. ... ... ... .. ... \n", "32556 27 Private 257302 Assoc-acdm 12 Married-civ-spouse \n", "32557 40 Private 154374 HS-grad 9 Married-civ-spouse \n", "32558 58 Private 151910 HS-grad 9 Widowed \n", "32559 22 Private 201490 HS-grad 9 Never-married \n", "32560 52 Self-emp-inc 287927 HS-grad 9 Married-civ-spouse \n", "\n", " 6 7 8 9 10 11 12 \\\n", "0 Adm-clerical Not-in-family White Male 2174 0 40 \n", "1 Exec-managerial Husband White Male 0 0 13 \n", "2 Handlers-cleaners Not-in-family White Male 0 0 40 \n", "3 Handlers-cleaners Husband Black Male 0 0 40 \n", "4 Prof-specialty Wife Black Female 0 0 40 \n", "... ... ... ... ... ... .. .. \n", "32556 Tech-support Wife White Female 0 0 38 \n", "32557 Machine-op-inspct Husband White Male 0 0 40 \n", "32558 Adm-clerical Unmarried White Female 0 0 40 \n", "32559 Adm-clerical Own-child White Male 0 0 20 \n", "32560 Exec-managerial Wife White Female 15024 0 40 \n", "\n", " 13 14 \n", "0 United-States <=50K \n", "1 United-States <=50K \n", "2 United-States <=50K \n", "3 United-States <=50K \n", "4 Cuba <=50K \n", "... ... ... \n", "32556 United-States <=50K \n", "32557 United-States >50K \n", "32558 United-States <=50K \n", "32559 United-States <=50K \n", "32560 United-States >50K \n", "\n", "[32561 rows x 15 columns]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "datos = pd.read_csv(\n", " 'https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data',\n", " header = None)\n", "datos" ] }, { "cell_type": "code", "execution_count": 23, "id": "851d1d97-941d-48dc-a02d-57b1c3636b53", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ageworkclassfnlwgteducationeducation_nummarital_statusoccupationrelationshipracesexcapital_gaincapital_losshours-per-weeknative-countryclass
039State-gov77516Bachelors13Never-marriedAdm-clericalNot-in-familyWhiteMale2174040United-States<=50K
150Self-emp-not-inc83311Bachelors13Married-civ-spouseExec-managerialHusbandWhiteMale0013United-States<=50K
238Private215646HS-grad9DivorcedHandlers-cleanersNot-in-familyWhiteMale0040United-States<=50K
353Private23472111th7Married-civ-spouseHandlers-cleanersHusbandBlackMale0040United-States<=50K
428Private338409Bachelors13Married-civ-spouseProf-specialtyWifeBlackFemale0040Cuba<=50K
................................................
3255627Private257302Assoc-acdm12Married-civ-spouseTech-supportWifeWhiteFemale0038United-States<=50K
3255740Private154374HS-grad9Married-civ-spouseMachine-op-inspctHusbandWhiteMale0040United-States>50K
3255858Private151910HS-grad9WidowedAdm-clericalUnmarriedWhiteFemale0040United-States<=50K
3255922Private201490HS-grad9Never-marriedAdm-clericalOwn-childWhiteMale0020United-States<=50K
3256052Self-emp-inc287927HS-grad9Married-civ-spouseExec-managerialWifeWhiteFemale15024040United-States>50K
\n", "

32561 rows × 15 columns

\n", "
" ], "text/plain": [ " age workclass fnlwgt education education_num \\\n", "0 39 State-gov 77516 Bachelors 13 \n", "1 50 Self-emp-not-inc 83311 Bachelors 13 \n", "2 38 Private 215646 HS-grad 9 \n", "3 53 Private 234721 11th 7 \n", "4 28 Private 338409 Bachelors 13 \n", "... ... ... ... ... ... \n", "32556 27 Private 257302 Assoc-acdm 12 \n", "32557 40 Private 154374 HS-grad 9 \n", "32558 58 Private 151910 HS-grad 9 \n", "32559 22 Private 201490 HS-grad 9 \n", "32560 52 Self-emp-inc 287927 HS-grad 9 \n", "\n", " marital_status occupation relationship race \\\n", "0 Never-married Adm-clerical Not-in-family White \n", "1 Married-civ-spouse Exec-managerial Husband White \n", "2 Divorced Handlers-cleaners Not-in-family White \n", "3 Married-civ-spouse Handlers-cleaners Husband Black \n", "4 Married-civ-spouse Prof-specialty Wife Black \n", "... ... ... ... ... \n", "32556 Married-civ-spouse Tech-support Wife White \n", "32557 Married-civ-spouse Machine-op-inspct Husband White \n", "32558 Widowed Adm-clerical Unmarried White \n", "32559 Never-married Adm-clerical Own-child White \n", "32560 Married-civ-spouse Exec-managerial Wife White \n", "\n", " sex capital_gain capital_loss hours-per-week native-country \\\n", "0 Male 2174 0 40 United-States \n", "1 Male 0 0 13 United-States \n", "2 Male 0 0 40 United-States \n", "3 Male 0 0 40 United-States \n", "4 Female 0 0 40 Cuba \n", "... ... ... ... ... ... \n", "32556 Female 0 0 38 United-States \n", "32557 Male 0 0 40 United-States \n", "32558 Female 0 0 40 United-States \n", "32559 Male 0 0 20 United-States \n", "32560 Female 15024 0 40 United-States \n", "\n", " class \n", "0 <=50K \n", "1 <=50K \n", "2 <=50K \n", "3 <=50K \n", "4 <=50K \n", "... ... \n", "32556 <=50K \n", "32557 >50K \n", "32558 <=50K \n", "32559 <=50K \n", "32560 >50K \n", "\n", "[32561 rows x 15 columns]" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "columnas = [\"age\", \"workclass\", \"fnlwgt\", \"education\", \"education_num\",\n", " \"marital_status\", \"occupation\",\"relationship\", \"race\", \"sex\",\n", " \"capital_gain\",\"capital_loss\",\"hours-per-week\", \"native-country\", \"class\"]\n", "\n", "datos = pd.read_csv(\n", " 'https://archive.ics.uci.edu/ml/machine-learning-databases/adult/adult.data',\n", " header = None,\n", " names = columnas\n", " )\n", "datos" ] }, { "cell_type": "markdown", "id": "aed87c76-21db-4bfc-a1d7-8ba252b919be", "metadata": {}, "source": [ "## Desplegar los datos\n", "\n" ] }, { "cell_type": "code", "execution_count": 24, "id": "98c0df67-8128-47d8-b856-4be584b72181", "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", "
ABCD
2013-01-01-0.2554451.309822-0.168210-0.584129
2013-01-020.4406320.4739180.0921150.994856
2013-01-031.140755-0.2887071.0754701.245641
2013-01-041.471408-1.5398701.2728891.255482
2013-01-05-1.197831-0.1394751.067496-0.351955
\n", "
" ], "text/plain": [ " A B C D\n", "2013-01-01 -0.255445 1.309822 -0.168210 -0.584129\n", "2013-01-02 0.440632 0.473918 0.092115 0.994856\n", "2013-01-03 1.140755 -0.288707 1.075470 1.245641\n", "2013-01-04 1.471408 -1.539870 1.272889 1.255482\n", "2013-01-05 -1.197831 -0.139475 1.067496 -0.351955" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head()" ] }, { "cell_type": "code", "execution_count": 25, "id": "fe9ab02b-3a68-4e9f-9184-3a572205ed08", "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", "
ABCD
2013-01-020.4406320.4739180.0921150.994856
2013-01-031.140755-0.2887071.0754701.245641
2013-01-041.471408-1.5398701.2728891.255482
2013-01-05-1.197831-0.1394751.067496-0.351955
2013-01-060.203198-0.5735901.523726-0.788816
\n", "
" ], "text/plain": [ " A B C D\n", "2013-01-02 0.440632 0.473918 0.092115 0.994856\n", "2013-01-03 1.140755 -0.288707 1.075470 1.245641\n", "2013-01-04 1.471408 -1.539870 1.272889 1.255482\n", "2013-01-05 -1.197831 -0.139475 1.067496 -0.351955\n", "2013-01-06 0.203198 -0.573590 1.523726 -0.788816" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.tail()" ] }, { "cell_type": "code", "execution_count": 27, "id": "020f5bcf-94b9-4a6d-840c-8312cbb450f1", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[-0.25544475, 1.30982242, -0.16820985, -0.58412855],\n", " [ 0.44063178, 0.47391843, 0.09211497, 0.99485562],\n", " [ 1.14075548, -0.28870699, 1.07547046, 1.24564126],\n", " [ 1.47140771, -1.53987018, 1.27288894, 1.25548203],\n", " [-1.19783097, -0.13947515, 1.06749632, -0.35195464],\n", " [ 0.20319828, -0.57359001, 1.52372616, -0.78881627]])" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.to_numpy()" ] }, { "cell_type": "code", "execution_count": 28, "id": "4b989e3b-be14-480b-b31f-75c919f51610", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[1.0, Timestamp('2013-01-02 00:00:00'), 1.0, 3, 'test', 'foo'],\n", " [1.0, Timestamp('2013-01-02 00:00:00'), 1.0, 3, 'train', 'foo'],\n", " [1.0, Timestamp('2013-01-02 00:00:00'), 1.0, 3, 'test', 'foo'],\n", " [1.0, Timestamp('2013-01-02 00:00:00'), 1.0, 3, 'train', 'foo']],\n", " dtype=object)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df2.to_numpy()" ] }, { "cell_type": "code", "execution_count": 29, "id": "0c721caa-b8df-4f91-a116-c4bcaeb56820", "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", "
ABCD
count6.0000006.0000006.0000006.000000
mean0.300453-0.1263170.8105810.295180
std0.9654250.9641070.6830380.967690
min-1.197831-1.539870-0.168210-0.788816
25%-0.140784-0.5023690.335960-0.526085
50%0.321915-0.2140911.0714830.321450
75%0.9657250.3205701.2235341.182945
max1.4714081.3098221.5237261.255482
\n", "
" ], "text/plain": [ " A B C D\n", "count 6.000000 6.000000 6.000000 6.000000\n", "mean 0.300453 -0.126317 0.810581 0.295180\n", "std 0.965425 0.964107 0.683038 0.967690\n", "min -1.197831 -1.539870 -0.168210 -0.788816\n", "25% -0.140784 -0.502369 0.335960 -0.526085\n", "50% 0.321915 -0.214091 1.071483 0.321450\n", "75% 0.965725 0.320570 1.223534 1.182945\n", "max 1.471408 1.309822 1.523726 1.255482" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.describe()" ] }, { "cell_type": "code", "execution_count": 30, "id": "5eed9cc0-398c-4fa2-bd2a-34db02435e27", "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", "
2013-01-012013-01-022013-01-032013-01-042013-01-052013-01-06
A-0.2554450.4406321.1407551.471408-1.1978310.203198
B1.3098220.473918-0.288707-1.539870-0.139475-0.573590
C-0.1682100.0921151.0754701.2728891.0674961.523726
D-0.5841290.9948561.2456411.255482-0.351955-0.788816
\n", "
" ], "text/plain": [ " 2013-01-01 2013-01-02 2013-01-03 2013-01-04 2013-01-05 2013-01-06\n", "A -0.255445 0.440632 1.140755 1.471408 -1.197831 0.203198\n", "B 1.309822 0.473918 -0.288707 -1.539870 -0.139475 -0.573590\n", "C -0.168210 0.092115 1.075470 1.272889 1.067496 1.523726\n", "D -0.584129 0.994856 1.245641 1.255482 -0.351955 -0.788816" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.T" ] }, { "cell_type": "code", "execution_count": 31, "id": "6dafeefe-49c3-4162-afaa-7e69171e0b6b", "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", "
DCBA
2013-01-01-0.584129-0.1682101.309822-0.255445
2013-01-020.9948560.0921150.4739180.440632
2013-01-031.2456411.075470-0.2887071.140755
2013-01-041.2554821.272889-1.5398701.471408
2013-01-05-0.3519551.067496-0.139475-1.197831
2013-01-06-0.7888161.523726-0.5735900.203198
\n", "
" ], "text/plain": [ " D C B A\n", "2013-01-01 -0.584129 -0.168210 1.309822 -0.255445\n", "2013-01-02 0.994856 0.092115 0.473918 0.440632\n", "2013-01-03 1.245641 1.075470 -0.288707 1.140755\n", "2013-01-04 1.255482 1.272889 -1.539870 1.471408\n", "2013-01-05 -0.351955 1.067496 -0.139475 -1.197831\n", "2013-01-06 -0.788816 1.523726 -0.573590 0.203198" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.sort_index(axis = 1, ascending = False)" ] }, { "cell_type": "code", "execution_count": 32, "id": "96a85e30-6a1f-47cb-b8f2-eb004d9d30ea", "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", "
ABCD
2013-01-041.471408-1.5398701.2728891.255482
2013-01-060.203198-0.5735901.523726-0.788816
2013-01-031.140755-0.2887071.0754701.245641
2013-01-05-1.197831-0.1394751.067496-0.351955
2013-01-020.4406320.4739180.0921150.994856
2013-01-01-0.2554451.309822-0.168210-0.584129
\n", "
" ], "text/plain": [ " A B C D\n", "2013-01-04 1.471408 -1.539870 1.272889 1.255482\n", "2013-01-06 0.203198 -0.573590 1.523726 -0.788816\n", "2013-01-03 1.140755 -0.288707 1.075470 1.245641\n", "2013-01-05 -1.197831 -0.139475 1.067496 -0.351955\n", "2013-01-02 0.440632 0.473918 0.092115 0.994856\n", "2013-01-01 -0.255445 1.309822 -0.168210 -0.584129" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.sort_values(by=\"B\")" ] }, { "cell_type": "markdown", "id": "b5d20d65-8a1a-4546-ab1c-2cb36dd50fcb", "metadata": {}, "source": [ "## Selección" ] }, { "cell_type": "code", "execution_count": 33, "id": "6e77123d-ae60-4683-be83-15fbcfd3b83c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2013-01-01 -0.255445\n", "2013-01-02 0.440632\n", "2013-01-03 1.140755\n", "2013-01-04 1.471408\n", "2013-01-05 -1.197831\n", "2013-01-06 0.203198\n", "Freq: D, Name: A, dtype: float64" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"A\"]" ] }, { "cell_type": "code", "execution_count": 34, "id": "9f874e68-c46e-45e4-8434-295ad779e02c", "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", "
ABCD
2013-01-01-0.2554451.309822-0.168210-0.584129
2013-01-020.4406320.4739180.0921150.994856
2013-01-031.140755-0.2887071.0754701.245641
\n", "
" ], "text/plain": [ " A B C D\n", "2013-01-01 -0.255445 1.309822 -0.168210 -0.584129\n", "2013-01-02 0.440632 0.473918 0.092115 0.994856\n", "2013-01-03 1.140755 -0.288707 1.075470 1.245641" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[0:3]" ] }, { "cell_type": "code", "execution_count": 41, "id": "f01f6ef0-f541-40dd-840c-e9f48fafdeb6", "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", "
ABCD
2013-01-020.4406320.4739180.0921150.994856
2013-01-031.140755-0.2887071.0754701.245641
2013-01-041.471408-1.5398701.2728891.255482
\n", "
" ], "text/plain": [ " A B C D\n", "2013-01-02 0.440632 0.473918 0.092115 0.994856\n", "2013-01-03 1.140755 -0.288707 1.075470 1.245641\n", "2013-01-04 1.471408 -1.539870 1.272889 1.255482" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"20130102\":\"20130104\"]" ] }, { "cell_type": "markdown", "id": "86f5b16d-91dc-4afc-ae84-2db2680df46e", "metadata": {}, "source": [ "### Selección con etiqueta" ] }, { "cell_type": "code", "execution_count": 36, "id": "f106e83f-4d88-4dd6-ab10-ec33d484f2e2", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "A -0.255445\n", "B 1.309822\n", "C -0.168210\n", "D -0.584129\n", "Name: 2013-01-01 00:00:00, dtype: float64" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[dates[0]]" ] }, { "cell_type": "code", "execution_count": 37, "id": "d87bc647-7953-4f8c-bba4-8659f55bd426", "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", "
AB
2013-01-01-0.2554451.309822
2013-01-020.4406320.473918
2013-01-031.140755-0.288707
2013-01-041.471408-1.539870
2013-01-05-1.197831-0.139475
2013-01-060.203198-0.573590
\n", "
" ], "text/plain": [ " A B\n", "2013-01-01 -0.255445 1.309822\n", "2013-01-02 0.440632 0.473918\n", "2013-01-03 1.140755 -0.288707\n", "2013-01-04 1.471408 -1.539870\n", "2013-01-05 -1.197831 -0.139475\n", "2013-01-06 0.203198 -0.573590" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[:, [\"A\", \"B\"]]" ] }, { "cell_type": "code", "execution_count": 38, "id": "5cb37f5b-2a4d-4ed5-96bc-bc52b39d2ea2", "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", "
AB
2013-01-020.4406320.473918
2013-01-031.140755-0.288707
2013-01-041.471408-1.539870
\n", "
" ], "text/plain": [ " A B\n", "2013-01-02 0.440632 0.473918\n", "2013-01-03 1.140755 -0.288707\n", "2013-01-04 1.471408 -1.539870" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[\"20130102\":\"20130104\", [\"A\", \"B\"]]" ] }, { "cell_type": "code", "execution_count": 39, "id": "bad854c8-77c9-4de9-bedb-2242004c9cee", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "A 0.440632\n", "B 0.473918\n", "Name: 2013-01-02 00:00:00, dtype: float64" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[\"20130102\", [\"A\", \"B\"]]" ] }, { "cell_type": "code", "execution_count": 40, "id": "ed635a4c-862b-486f-bce8-5ae276dd99f9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "-0.2554447489300441" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[dates[0], \"A\"]" ] }, { "cell_type": "markdown", "id": "15e40b04-3c37-4b9a-bf08-38a34ad13433", "metadata": {}, "source": [ "### Selección por posición " ] }, { "cell_type": "code", "execution_count": 42, "id": "29813ce7-a710-4bda-a02c-835d4e5209cb", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "A 1.471408\n", "B -1.539870\n", "C 1.272889\n", "D 1.255482\n", "Name: 2013-01-04 00:00:00, dtype: float64" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.iloc[3]" ] }, { "cell_type": "code", "execution_count": 43, "id": "309bc7b3-330d-43df-b488-6a26841a36f3", "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", "
AB
2013-01-041.471408-1.539870
2013-01-05-1.197831-0.139475
\n", "
" ], "text/plain": [ " A B\n", "2013-01-04 1.471408 -1.539870\n", "2013-01-05 -1.197831 -0.139475" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.iloc[3:5, 0:2]" ] }, { "cell_type": "code", "execution_count": 44, "id": "86ea5e59-c804-42ba-909c-97aae546157a", "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", "
AC
2013-01-020.4406320.092115
2013-01-031.1407551.075470
2013-01-05-1.1978311.067496
\n", "
" ], "text/plain": [ " A C\n", "2013-01-02 0.440632 0.092115\n", "2013-01-03 1.140755 1.075470\n", "2013-01-05 -1.197831 1.067496" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.iloc[[1, 2, 4], [0, 2]]" ] }, { "cell_type": "code", "execution_count": 45, "id": "b5ed4a9b-e1df-499e-a17f-31e256ff9568", "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", "
ABCD
2013-01-020.4406320.4739180.0921150.994856
2013-01-031.140755-0.2887071.0754701.245641
\n", "
" ], "text/plain": [ " A B C D\n", "2013-01-02 0.440632 0.473918 0.092115 0.994856\n", "2013-01-03 1.140755 -0.288707 1.075470 1.245641" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.iloc[1:3, :]" ] }, { "cell_type": "markdown", "id": "aad559fd-b055-4f5c-af83-f70a0165597e", "metadata": {}, "source": [ "### Indexado lógico" ] }, { "cell_type": "code", "execution_count": 46, "id": "cd27528d-816a-42f5-8455-2006626e85fd", "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", "
ABCD
2013-01-020.4406320.4739180.0921150.994856
2013-01-031.140755-0.2887071.0754701.245641
2013-01-041.471408-1.5398701.2728891.255482
2013-01-060.203198-0.5735901.523726-0.788816
\n", "
" ], "text/plain": [ " A B C D\n", "2013-01-02 0.440632 0.473918 0.092115 0.994856\n", "2013-01-03 1.140755 -0.288707 1.075470 1.245641\n", "2013-01-04 1.471408 -1.539870 1.272889 1.255482\n", "2013-01-06 0.203198 -0.573590 1.523726 -0.788816" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[df[\"A\"] > 0]" ] }, { "cell_type": "code", "execution_count": 47, "id": "81365a6a-1db1-4822-8ef9-b0fccbf6db93", "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", "
ABCD
2013-01-01NaN1.309822NaNNaN
2013-01-020.4406320.4739180.0921150.994856
2013-01-031.140755NaN1.0754701.245641
2013-01-041.471408NaN1.2728891.255482
2013-01-05NaNNaN1.067496NaN
2013-01-060.203198NaN1.523726NaN
\n", "
" ], "text/plain": [ " A B C D\n", "2013-01-01 NaN 1.309822 NaN NaN\n", "2013-01-02 0.440632 0.473918 0.092115 0.994856\n", "2013-01-03 1.140755 NaN 1.075470 1.245641\n", "2013-01-04 1.471408 NaN 1.272889 1.255482\n", "2013-01-05 NaN NaN 1.067496 NaN\n", "2013-01-06 0.203198 NaN 1.523726 NaN" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[df > 0]" ] }, { "cell_type": "markdown", "id": "44efd26a-5a06-41af-952f-86f62d37d3ec", "metadata": {}, "source": [ "### Asignación" ] }, { "cell_type": "code", "execution_count": 49, "id": "c98a2df9-679f-4373-aa45-6ce6a01312a8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2013-01-02 1\n", "2013-01-03 2\n", "2013-01-04 3\n", "2013-01-05 4\n", "2013-01-06 5\n", "2013-01-07 6\n", "Freq: D, dtype: int64" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "s1 = pd.Series([1, 2, 3, 4, 5, 6], index=pd.date_range(\"20130102\", periods=6))\n", "s1" ] }, { "cell_type": "code", "execution_count": 52, "id": "2be639c9-008a-4e84-85d2-2aca435a4851", "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", "
ABCD
2013-01-010.0000001.309822-0.1682105
2013-01-020.4406320.4739180.0921155
2013-01-031.140755-0.2887071.0754705
2013-01-041.471408-1.5398701.2728895
2013-01-05-1.197831-0.1394751.0674965
2013-01-060.203198-0.5735901.5237265
\n", "
" ], "text/plain": [ " A B C D\n", "2013-01-01 0.000000 1.309822 -0.168210 5\n", "2013-01-02 0.440632 0.473918 0.092115 5\n", "2013-01-03 1.140755 -0.288707 1.075470 5\n", "2013-01-04 1.471408 -1.539870 1.272889 5\n", "2013-01-05 -1.197831 -0.139475 1.067496 5\n", "2013-01-06 0.203198 -0.573590 1.523726 5" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.loc[:, \"D\"] = np.array([5] * len(df))\n", "df" ] }, { "cell_type": "markdown", "id": "f447ff68-56ce-4017-ad4e-20952c5bedeb", "metadata": {}, "source": [ "## Datos Faltantes" ] }, { "cell_type": "code", "execution_count": 53, "id": "41a99d49-7216-4ef4-b959-cbb092baca54", "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", "
ABCDE
2013-01-010.0000001.309822-0.16821051.0
2013-01-020.4406320.4739180.09211551.0
2013-01-031.140755-0.2887071.0754705NaN
2013-01-041.471408-1.5398701.2728895NaN
\n", "
" ], "text/plain": [ " A B C D E\n", "2013-01-01 0.000000 1.309822 -0.168210 5 1.0\n", "2013-01-02 0.440632 0.473918 0.092115 5 1.0\n", "2013-01-03 1.140755 -0.288707 1.075470 5 NaN\n", "2013-01-04 1.471408 -1.539870 1.272889 5 NaN" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1 = df.reindex(index=dates[0:4], columns=list(df.columns) + [\"E\"])\n", "df1.loc[dates[0] : dates[1], \"E\"] = 1\n", "df1" ] }, { "cell_type": "code", "execution_count": 54, "id": "746dfad9-b955-476b-a676-1978af62c5a5", "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", "
ABCDE
2013-01-010.0000001.309822-0.16821051.0
2013-01-020.4406320.4739180.09211551.0
\n", "
" ], "text/plain": [ " A B C D E\n", "2013-01-01 0.000000 1.309822 -0.168210 5 1.0\n", "2013-01-02 0.440632 0.473918 0.092115 5 1.0" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1.dropna(how=\"any\")" ] }, { "cell_type": "code", "execution_count": 55, "id": "d9ab4ddf-de54-4025-b4d6-53f5153cff1f", "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", "
ABCDE
2013-01-010.0000001.309822-0.16821051.0
2013-01-020.4406320.4739180.09211551.0
2013-01-031.140755-0.2887071.07547055.0
2013-01-041.471408-1.5398701.27288955.0
\n", "
" ], "text/plain": [ " A B C D E\n", "2013-01-01 0.000000 1.309822 -0.168210 5 1.0\n", "2013-01-02 0.440632 0.473918 0.092115 5 1.0\n", "2013-01-03 1.140755 -0.288707 1.075470 5 5.0\n", "2013-01-04 1.471408 -1.539870 1.272889 5 5.0" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1.fillna(value=5)" ] }, { "cell_type": "code", "execution_count": 56, "id": "c4c1802a-9fca-451c-a80d-3dbfc74c750b", "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", "
ABCDE
2013-01-01FalseFalseFalseFalseFalse
2013-01-02FalseFalseFalseFalseFalse
2013-01-03FalseFalseFalseFalseTrue
2013-01-04FalseFalseFalseFalseTrue
\n", "
" ], "text/plain": [ " A B C D E\n", "2013-01-01 False False False False False\n", "2013-01-02 False False False False False\n", "2013-01-03 False False False False True\n", "2013-01-04 False False False False True" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.isna(df1)" ] }, { "cell_type": "markdown", "id": "f98c89bf-dd2f-4147-b79c-ab901e3ac577", "metadata": {}, "source": [ "## Operaciones" ] }, { "cell_type": "code", "execution_count": 58, "id": "4e58f4e1-8d2b-483b-bbd8-7b0d2a9822be", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "A 0.343027\n", "B -0.126317\n", "C 0.810581\n", "D 5.000000\n", "dtype: float64" ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.mean()" ] }, { "cell_type": "code", "execution_count": 59, "id": "a14bb1f2-8c8a-42ca-b970-527855bc02ae", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2013-01-01 1.535403\n", "2013-01-02 1.501666\n", "2013-01-03 1.731880\n", "2013-01-04 1.551107\n", "2013-01-05 1.182548\n", "2013-01-06 1.538334\n", "Freq: D, dtype: float64" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.mean(1)" ] }, { "cell_type": "code", "execution_count": 60, "id": "c2267b92-7c80-47b5-8571-adb542a67784", "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", "
ABCD
2013-01-010.0000001.309822-0.1682105
2013-01-020.4406321.783741-0.07609510
2013-01-031.5813871.4950340.99937615
2013-01-043.052795-0.0448362.27226520
2013-01-051.854964-0.1843113.33976125
2013-01-062.058162-0.7579014.86348730
\n", "
" ], "text/plain": [ " A B C D\n", "2013-01-01 0.000000 1.309822 -0.168210 5\n", "2013-01-02 0.440632 1.783741 -0.076095 10\n", "2013-01-03 1.581387 1.495034 0.999376 15\n", "2013-01-04 3.052795 -0.044836 2.272265 20\n", "2013-01-05 1.854964 -0.184311 3.339761 25\n", "2013-01-06 2.058162 -0.757901 4.863487 30" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.apply(np.cumsum)" ] }, { "cell_type": "markdown", "id": "c968adfe-59fc-4a71-b1b0-fd5a04b9dc0a", "metadata": {}, "source": [ "## Gráficas" ] }, { "cell_type": "code", "execution_count": 64, "id": "787d91a9-1330-4331-a78b-1c8a51868f99", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ts = pd.Series(np.random.randn(1000), index=pd.date_range(\"1/1/2000\", periods=1000))\n", "ts = ts.cumsum()\n", "ts.plot(); # Investigar tarea moral" ] }, { "cell_type": "code", "execution_count": 67, "id": "7f46063e-26b8-4e5f-a7d5-5351fe0d6d9c", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAEECAYAAADNv0QiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8/fFQqAAAACXBIWXMAAAsTAAALEwEAmpwYAACWw0lEQVR4nOyddXgUZ9eH71mLuysJ7l4oLqUUKC2lLW0ppe6l7i5vnbZf3d2NUsNpi1PcIVgCxN11Zb4/Znd2J7tJNp7Qua8rV2ZnnpHNZs88c+R3BFEUUVFRUVE5PdG09wWoqKioqLQeqpFXUVFROY1RjbyKiorKaYxq5FVUVFROY1Qjr6KionIaoxp5FRUVldMYXXtfgCOhoaFiQkJCe1+GioqKSqdix44deaIohrna1qGMfEJCAtu3b2/vy1BRUVHpVAiCcLKubaq7RkVFReU0RjXyKioqKqcxqpFXUVFROY1RjbyKiorKaYxq5FVUVFROY1Qjr6KionIaoxp5FRUVlTZGFEVEs7lNzqUaeRUVFZU2pujHn0jq1x9TXl6rn0s18ioqKh2aygMHSL5gNqbcXIr/XIIxPb29L6nZFC1aBEDqbbdRtOgXWrN5U4eqeFVRUVFxxJiZyYmLLgbg6Ljx8voemzehCwpy6ximwkLMhUV4dE102mYuK6N05Sr8z52BxsMDgLJ169BFRODZq1cLvAPXCIIAQNWevWTu2Yv3yBEYYmNb5VyqkVdRUemw5L7+hsv1JUuXEjxvnlvHSL3ueqoOHiTgwgvxm3o2fhMnAlB16BApsy8EoPj33/Hs1RNdeDg5C19B8Pam984dLfIeXKLVKl6asrNVI6+iovLfQhRFin/7zeW27P89i/eQIXj27dvgcaoOHgSg+JdfKP7lF/okHQIg/d775DEV//5Lxb//2s9dUYEoivKMu6Ux5St98abc1vPNqz55FRWVDoG5tJSin3+W/dMV27bJ2+K//MJpfHVKilvH1XeJV7w+PGIkFbt2gUYy4D6jRyu2+4wfB4BYXe3+xTsgWiwUfPklptxcl9vNZWUYT54CoNvKFYD0ZNJaqEZeRUWlQ5D90ktkPvY4lTskN0nVgYPyNp8RIwi6cj4effvI68wFhfJydXIKJy6fh6mgQHFMY3o6xjRloNZSUsLJuZdTc+w4QVdcge8Eu68/4MIL8Z0wQRpXWtqk91G1fz/Zz79A2u13uNxuKSkBIPKpp9DHxQFQunIllfsPNOl8DaEaeRUVlQ6BOV8y0NUpKVSnpJCzcKFie+Qjj9D1l1+IevZ/AOS9/ba8Leupp6jcuZPyDRsU++R9/DE45KNrAwIU2wMvnI1Hz57y6+jnn0PrL40xl5Y16X1U7tol7V9Y6HK7pbISAI2fr8IdlPvWm6QuWICloqJJ560L1cirqKh0DDSSOTJlZpI8fQZYLGh8fOi1Q9ljIvDii/Hs10+xzuZaqZ1eWZOcgtfgwQTMmgVA8PXXKbYbundHHxWlvAw/XwAspSVNehvVx44BIHh5udxuM+IaL28A4j54H4DytesoW/0XZWvXNum8daEaeRUVlXbHlJ+P8ZTU96L66FF5fcTDD6Hx8XEa7zNuLObSUqqTk6nYsQNjbo6077HjinHG9HT0sbFEvfgCvQ8eIGjuXPTR0QAYEhLQGAzowpQNlbR+fkDTZ/LVyVKswFJe7nK7pcI6k/eWjLzvhAlEPPG4ff/jyU06b12o2TUqKirtiqWigqNjxsqvS1etlpd9xo93tQvawECwWEieca60wur2cLxBAJjy8tCFh0tuEUFA6+tLt9WrKF2xAu8zzwRwuonoYyU/edWBA/iOHdPo91NjvVlZylzfJCwV5dbzesvrAmfNomrPHop/+x1jRkajz1kfqpFXUVFpc0RRxFxQgC4kpM4K1tAFC9CHh7vcpg0MrH1ADF27Un30KDVp6RhiYxBrahCrqtD6+ymGChoN/tOnK9YZEhLwtebP6yPCMSQkUHWg8YFQS0UFZms6ZF0zedHmk3dw52h8fIh+6SVqTpxscSOvumtUVFTaFGN2NpmPP87RMWOp3L2bmtQ0AGLfe5eQG2+Ux3kN6F/nMWq7WABCb7kZgILPPwekVEUAja+f09jadFu+jIiHHpRfa0NDMBcVNbhfbWrSpPfi0aOHdJOpqXEaYy6RsnY0Lnz2+phodSavoqLS+RAtFir+/RfBy4tT112PaA0+nrhsrjzGs08ffCdOJPCiC6k+erROVw2AoUsXp3W+EyfiPXw4lfv2AvZUxdozeXfQBgbKueyNwZiaCoDXkCHWp4o0PLp2VYwpW7sWXWQkuogIp/310dGUrlqNaLGAIJD7+hv4TT0br1qB5sagzuRVVFRanaJFizh17XWcnHu5bOAd0fj4oIuIQBAEDF264DdlSr3VpnJGjF4vr9P6+eHZvz9Ve/ZydPJkMp96Wjq2GzP52uiCgpo2kz8lGfnASy8BoHz9eucxKSl4DRqEoHOeY+uioxGNRky5eZgLC8n/4ANOzb+y0dfhiGrkVVRUWp3aAdHaePTo0SgJAUGrpcfmTXRb8ifeZ55J5DOSQfcaOAAAU0amLFPgKjunIbSBgZiKiuTq2+wXXqTo558b3M+YegqNvz9e/fphSEykfNNmxXZRFDFmZsoZPrXRW2f3pcuXcXS0FPRtbt686q5RUVFpdYypaeiiorBUVODZuzcVW7YotnufObLRx9QFBUFQEF0+/0xe5zt5Mv7nnUfJH39IrydNwnvEGY0+tjYwCIxGLOUVmLKzKPhCklUoWbac0FtvwXvYMJf71Zw8hcFaxWpISMCYlWXfduoUaXfciVhdjT7S2VUDoAsJAaSbSm1yXn0VY1Y2MQtfbtR7afZMXhCEOEEQ/hEE4ZAgCAcEQbjTuj5YEIRVgiActf52TxdURUXltMOYlopnv770WL+O+I8/ok/SIfokHZJn4AHnntsi59F4eCiMYOCci5skMmbL3jEXFVJ95Ii8vnzjRk7Ou8LlPuaiIsq3bsVr6FDpGCHBmPPz5e2FP/xAdVKS4vhO57Uaeadjl5aS/9HHlPzxR51ZO3XREu4aE3CvKIp9gDOB2wRB6As8BPwlimIP4C/raxUVlf8YoihSk5qGITYOjcGA4OBHD7z4Ynps3oRHjx6tcm7P3r2btJ/WqlVvLiyk/N8tTttdGdqakyfBaMRn9CgAdMEhmAoKpFZ/JhNlq/+Sx2r8/V2eVxca6nJ92bp18rKtotaGqQ75BPmY9W51A1EUM4FM63KpIAiHgBhgFjDROuwLYA3woItDqKionMaY8/MRq6rQx8Q4bRM0GrebfzSGuI8/purgwTp93w2hDQoEJJ13V8HTw8OGE/3qK4onEFvqo+2c+pgYMJlI6tOXqGf/J90EbMevpaFjQ+PlRdwnHyPo9JhysrGUl5P11NPkv/+B/TzZ2diSL41ZWRybfFa976VFA6+CICQAQ4AtQIT1BmC7EbisahAE4UZBELYLgrA9tw5pThUVlc6LLS+8LhdFa+A7dgyhN97Q5P09evRE4+dH6arVmIqK8B4+HICgy+0pn8W/KrXujRmZgN3IB1wwS96W89r/KcZq65jJA/iOGYPPyBEEnHceXoMHA1LgWh8vSSabsnOkpwOjURJDs1jqfS8tZuQFQfAFFgF3iaLotrKPKIofiqI4XBTF4WEuChxUVFQ6N5Yya/GPb+OzXNoLra8Pnv36UXX0CGJFBT5jx9L1zz+IePxxAi6UukmZCwsp+PZbzMXFgDST1/j5ydo3Gg8PEn9ZBFot5oICBG9v/KZNk45fh++9No659IaELmgCAij9+y8y7r2XpAEDSb/7noaP0ah3XgeCIOiRDPw3oij+Yl2dLQhClCiKmYIgRAE5LXEuFZXTlZKVK7GUlaOPjsLHqqtyOmDTcLEZv86CPiZaTsPUBgXh0b07IMkRizU1lPz5p6Qd/8z/6LF+HWVr1zopWnr27YuhSxdqkpMJv+tOgubNo+aO2912UWkDAxE8PBCrq9EFBeE3cWKd3bLqoiWyawTgE+CQKIqvOWz6HbjKunwV0LgrU1H5j5F+x51kPvIIp66+hpxXX22RY4pGI0WLFiE6aKq3NTY1R42vb7tdQ1Nw7LmqCwlWbKvtejpx2VyMaWnyjcCR4PlSNo7/eechaLVOFbD1IQiCLKNcnXICbXBwA3s40xLumjHAfGCyIAi7rT8zgBeBswVBOAqcbX2toqLiAktVleJ1/kcfN9swF/38M5mPPU7mo49R/NvvzTqWu1Tu24/JIW0Q7DP5plSetieOgWKP3n0U27TBypm4TWQt6sUXnI4TeNll9N6/r9kBZt+JE7BUVTqt1zTwhNQS2TUbgLoSUesP+6qoqAAocrFtlCxdRsB5Mxt9LFEUqdi2jczH7Brl5oL8evZoGaoOHuTEnDkA9Px3szzbrdy9G7TaNg28tgTaIPusWR+jzNLxHjJEXtb4+GApL0cfHY3GYHA6jiAI4ELCwF0in3yCqsOHCb3lFvI/+lheH/PmG/idfbYso1wXqqyBikoHoOqgvZ+p/4wZoNHIQluNpWTpUk5deZVinWgRm3V97pDzf6/Ly9kv21v3lW/Zgu+kiWg7UeAVwGfUmYTddRc9t25xKqhyrHi15dTr6pBFbi5Bc+cS9dRTCIJAyLXXEPfB+/Q+dBD/qVPdKvRSjbyKSjtjqawkyyqmlbj4F6JffAGtvz+FX35FybJljT6eMd1ZqtZSUtzs62wIR/11saqKwh9/5NS112E8darVip1aE0GnI/Tmm1ymOwoGAzGvvUr8p5/IHZ4ET882uSbfCRMaVcWrGnkVlXbGXFAgL3v26YNgMMhVk+6kyNV1vB6bN8nrTNZGFjYqtm9vUd1yS3k55oICfMZKHZ4qduwg64knKd8kXYNHYmKLnauj4D9jBj6jRxN25x3SinYMbteHauRVVNoZW3MLm4EEiH71VbkRtGgyNep4xowMDF27ogsKIuxe6SZhyrMbedFs5uQV80mZc0lzL11xToCACy6QzpedrdhuSHQ/o6Sz4dGrFwB+06e185W4RjXyKirtjKVUKhYKufYaeZ0gCEQ+9igARmu3IXcxZmTIVZehN9yA7+TJCiNfY22GYc5vuWCsrSOSITZGNnogZX5oAgLw6Hr6zeRtGGJj6fnvZoLmzm14cDugGnmVDo/YQNl2Z0duB1crFc6zv6SNXrZpU6P+Bsb0dIVmiz4qCmNqKqLRCCC7UFoSY5qUQqiPjaXLl5IsryExkV7bttJzw/omabp3JrSBgU1Su2wLVCOv0qEpWbGSpL796mz23F6Ub93aaDdKXdjK/mtXhHr06I5gMJD9zP/Ife01V7sqKFu/gdw338JcWKjI8fYeMQJLRQWV+/djKiigePFieVvGw49gcogJOB1zw0aqDjund9bGmJ6O4OmJNiQEbUAAXf/4nbgP3gdQqE6qtD1q0xCVDknBt99SsW2bnFpYtnEjQZe0nA+5OSSfdz7VR48Sfv99BM6ZQ/YLL+LZpw/BV85v9LHK1q4l4wFJnFVTS5lQ0GjQhYZizMig6JfFVB44QPCVV1K2bh3Vh4+Q8O03ivEZ990n66g4zuS9Bg8CoOrAQfI/+USRBVO8eDG6iHCCr7rKZbFO6vXXA9An6VC978OYnoY+JkaezXbGbJrTFdXIq3RIsp/5n+K1rdlCe3Pi8nlyK7v8Tz4lZ+ErgGQsm2LkMx9/Ql52JT9rSOiCMSMDS0UFFZv/pWLrNqcsDmN2DubCAtnAg7J4RxcejjY4mKqDBylf5yybm//+B+S//wG9Dx1UuBwaU3FrTM9wKhhS6Rio7hqVTkHlnqYVBrU0lTt3ysuOqY+2TJjGovG3u2gEjfPXMeq556RxNp+2g+E1WwO2GQ8+SMoFsxX7Oc7kBUHAs29fytatQ6ypkdd3XboEL4fKzaynn6YmLY3K/dJM35RnD8zaep26ovroUYzZ2ehUFdkOiWrkVdqcgi++kHtmuktjM0xaA4tVKApqGVGDocmBRXNB/V199FFR+E2b5jITpiY5GYDqQ86ulNoG12/KWZgdMmwiHnkEj65diX3rTXzGjwOg6PsfOD7lbE5cfDGiyURNSrLDdUo3NGNmJievulp+milZsZLk887HnJ+PLsR1VyOV9kU18p0Zi1n66WRkv/Ai2S+8SOqtt7mcIZauWQNA0Pz59N6/j/D77sVcXCznk7cXjgVFcR9/TOLvvxFyy80EXXEF5oICxU3AHUSTCXNhIT7jx9Hlu2/rHOd31mSX63PfeYesZ55RuGlsCFqt4nXgpZfKqY3hDz0ou5Z0oaFEPvqo0/7GtDTKHZptG1NTAch84kkqtmwh5403qNy3n/Q775TH6ELd00hXaVtUn3xn5vNzIe8IPJDc8NgOSNnff2NMS5O721cdOULJ0qVg1VkJue5aBJ0OfZcugOQW8B4yBLGmhvKt2/Do0QN9ROvohbjClCu1RIj74H0579uzZ0/KN22i4NNPSbv1NgLnzMF/2jluHc9cWAiiiO+ECQrBq9r4TZ6MNjgYXVgY5pISwhYsIPfNN6nYuk32sYfdfTce3btRfew43mec4XQMQRDwGTWK6sOHEWuMim22jkOOVCcnY8qxt4CoSU1DGxQkt8IrW/0XfrXaznkNHOjW+1ZpW1Qj31mpKoFTm5XrzEYozwX/jh0A00VEyBWRtkIggJRZF4DDzF4fGQnYFf9y33wTXXAIJUuWyGMSf/8Nz5492+CqwWRtT1nbFeLZvz8A5Rs3Ur5xIz7bt6P19UGsqSHziScJvvYal9dYfVy6OTfk5tD4+NBj3VoEByXDmpRk8j/+BJAqLoOvuRqNwYDfWXULvwZecglFv/yCf63KTEEQSPxlEaeuu1668QDVx45jLijEkJhITUoK1YeT7AJcWi2YzYosnR4b1tfZhFqlfVHdNZ0RUzW8GGd/nWQ1en/cCa/1gZz6092ay8mrryHziSebvL+lokJeNuUX2Nc5GHid1cCD5FLwGT+Ois3/Kgw8SIqLbUHlgQNU7ZWCv7WNfO0ipiMjRlCTlkb18eMU//orKefPovCHHzGX2Lti1qSmcurqq6XjueHmEGpJ1WqD7fvEvvOOS4nb2nh0TaTX1i3yk5Mjnn370m35MrqtWI4uKoqKLVswFxSgj5I+h/yPP8FcKH1WEY88DECFNQitDQyUlRhVOh6qke+MFJ5Uvv7+cji8DFLWSa8Pt67hq/j3X4p+/LFJ+4qiqDDyNsNR/MefinFRzzyteB12++1Ox/Ls35+yteuadB2N5cRFF0szZ43GqTuPIAhoHJUKLRbK1q5VCIBlPfkkRT/9LL8u/Ppredndfp+OOHYq0kdH1TPSfbQBARi6dCFwzsWUb9xI5Z49aIND8Dt7CgDVx48D4Nmnr/T60CH00dF0X7fWKQag0nFQjXxnJF/KbGD07TDfWr247EEotmag5B1ttVNbystdLruLWFMDZjOht94Cer2cpVG5a5fC2DnOVEHZpceG19AhGE+erDe9ryWwuWmk6wp2adBiXlmIZ79+8mtjRgZVBw4qxpQsWSJfa9mGjfJ6V++tIQzWOAW4Tr1sDn5nTZGX9TExBMyaBdhrFTx69pSbVBgSurj1FKHSfqhGvrNRXQprXgSvIJj4CHSbDCNvhqKTgNXY7fkOiltHBsCxuUXB19/UM9IZ0WQi8+FHAMmIe/XrR8WuXQDUnDiBR48eBF0h9cOs7RLRBgURumAB4Q8+iEffPkS//BKGmBgsFRWYi4qa8Y4axlFSwaYdXhvf8ePlawfJyJesWIH38OHyuqqDB8n/+GOqjx6l5vhxAi68kB4b1jfJSHr07g2Az4Txjd63IRyD2Yb4eHTW5tSlq1aj7xKP1tdH/nz0cc5BW5WORacy8paKCnLffZeiXxa3+uytw/JqH8jaC2PuAoPV4ERIgT98wqCnNaiWvr3FT53/2eecnH+l/Dr3//7Prf1sAcjSlStlH7qhSzyGxESMp6TUPHNREbrgICIefoiuS5c4Zc0IgkDYgtsIueZquv7yCwHnny/PgF01yWhJzA7BYY1H3QZZ42O/AdScOEnNiRN4OXQQAsh99TWSzzsfkPTImxqs1Hh60nXpEmLd/AwadWyHyltDl3g8HVQlA849FwB9vOTXN8TFotKx6TRG3pSXx9GJk8h78y0yH3kE48mTDe90OlJjNTgD5tjXRVqNvKkGLpIyLshrWFSqseS89JJyhRuqe6LZTPbLCyn68UfS77lXXu99xhkY4uMw5eRgLiqi5sQJScmvEd3s7Ua+dcXLHDOAhDpm8qAMjlYfOgRmMx7du5P462K6/vkHITfcIG/XhobiO3ZMs67Lo2vXOp8smoOjtIE+Ph5Bp5O1aGyum8jHHsOjVy+8R41q8fOrtCydxshnPvkUFofshOyXF5J2x51YHMq0/xP4x8CguRDg4McNs3aS7zkVPHwhIB5yD7f4qW2NmLWBgfhNn4YhIaHBfbJfeFERZATotnIFGk9PuTjnyJmSobBUNa6YyFZ12trVsOZSexGWLii4znEab+eqV89+/fDs3RuP7t0JvNQusOZYMdsR8Z8pNRC3uWVi33uPmNdelWMBnr170/W3X/FyiEOodEw6vJE3l5WT8+qrVPz7r2J92d9/U7pypSJX97THYoGyHPCLVK7Xe8Kde+H8t6TXYT0ht+UFvQxdu6INC6XH5k1oAwPd8oWXLF8OoPBX29IjHf3V0HjDp/H3R/DwwNSCzS9cUWatwAUImD27znHeI0cQ8cgjRD33rLzOkGAPkBpiYwldsAAAXXjH1nmJfulFeu3YLs/qDbExUoNxlU5HhzPytZsj5H/wAfkffVxnJkdNyok2uKoOQnkuWIzg58IYBnUBvVUkK7Qn5B+XbgotiDk/H+/hwxEEAV1oKObCQsrWb6h7fFER5rw8Qm9fQORjjyJ4eEidgqyBRq2/vyyQFXbnHYTeeEOdx3KFIAhoAwIwFxZyYt4VHOrdhyMjz2z6G6yDsn/+AaDXnt34nzO13usJvnK+fPPy6NHDKfPF5sMWKypb/DpbEkGrPe0bffxX6FhG3mIhqW8/Cr78Sl5Vunp1vbtU7d/X2lfVcdhsnakHN9BKLaQ7GCugpOXcGKLFgjEzE32UdIOxVaGm3nAD5uJiOUvGhqWyUnbD+IwcCUCP9evo/s/fynHVVdKYUaMQmpBlog0MpHjxYip37ABwqePSHGzuQM9+/dB4eLi1j6FLF+I++ojYt9502uZpLf23ZceoqLQ2HcrI22RQs59/nsp9+6jYsYOalBQ8Bw4k4vHHnHfQ6ylZtYrkWRdQ+tdfbXy17cAmq5EPbaCMv8to6fehP1rs1KbcPMSaGvSxUizA+0z7jPnIyDM5OfdyhUBXlYP+u21mq/X3R+vrqzhu4OwLAWR9mkbjIme9pYTMRJOJ8o1SPruju8kdfMeNdRmz8EhMJPGXRYTddafzTioqrUDHMvIOWtkn5lxCpXV2GPfB+wTPmyeVTut06KwVfiFXX4U5N4/qw4cp/O77drnm5pL79jvkvuk843NCFMHgB/GjJddMfYT3geBucLLlenmWb5CEqTy6dwekApzAORcrxjgKWplypAKisHvvqfe4QVfMo/fePS67ErmD1rHS1HburKwmHas2mU88SdottwK0aEMMz7591QIilTajQwmUiSYTaO2XZMzKRvDykg1A93/+BouF6uQUzMVF6CMiyP/oY8D1l72jU5OWTt7bbwNSQM+VpohMea6UPtnvAvcOHn8m7P9FCtT6Nl+psSrpMBofH4XCoS5CGQCu2L5Dfg+mrEwAAi9W3ghqIwgCNMPgRT37Pyr37MX/3Bnkf/ABua+/gTEzS74ZNYfiX36Rlw1NqEpVUekIdKyZvFEpgVp18CA6h1J3jacnGm9vvPr3w3fMGAzdusnbSpYubVS7so5A1pN2ka/SFSvqH2xLiQx1s3dm/wvBVNliWTaW0lI0Af6KHGpDYoJiTObDD1O06Bdy33mH6pQUBA8POe2ytTDExREw81wEQSDgvPMAMGW3zEze0RWki4homWOqqLQxHW4mL3h4EP3KQtJvv4PqpCRJJ6MOBEHA0KULNdbCqKqDB/EaMKCtLrdFMWY2YJhsxU0N+eNt+FsrEcty6h/XAOVbt1K+aROV+/eh9VH60z379nUan+nQgEIbFKS4KbQ2urAwEARKlq+gJjUNv8mT8Bo0qEnHynnlFbnVXtzHHzupQKqodBY61EwekwldaCh6awGGpaJCIcTkisTff8N7xAgAxKqqVr/ElkRrVRLUd4mvs2qzbN06Shd/BUusvm3/GEwFBZT+/bfL8TI2F00zjfypK68i//0PqDl23ElS1yMxkdj33q1zX1eNqVsTwWBAGxpC+YYN5H/wAScuvYzyzZsb3rEW5rIyWavdZ8L4Zlemqqi0Jx3KyIsmE7qwMIU2tSGx/nRBjYcH4Q88ACg1RjoD5oJCPAcMwHv4cCq2blVI8IKk8ph6402kPfw8hce8ocsYEAROXj6PtFtvozq5no5QXkGg84S/npFEzZpAbX0gR+lcG75jxxJ8zTUEX3ut07bol19yWtfa6GvFCWyNORqDTTceQOPV8rIBKiptSQc08qGy6h2A/4zpDe6ntXa8L/z2O1m6tqMjWixUHTqEIT6ewNmzsVRUUPr3P4oxjjUCWdsD4bJvES0Wak6cABoQ5hIE6H+R5JdP3VL3uHpwlJEA11krgl5PxIMP4D1cKcTVddnSdmkHp4tU+s5N+Xl1jKwbY1a2vBx6043NviYVlfakQzkaRZMJbWgoGoOBPkmHEC0Wt7SybW6E8g0bSN6wgT5JrdsZqSUwnjqFOT8fn9GjpKpPvZ7qw0kw81x5TM3JU8qdvALl9mzgRoDxrCdh9zeQnwxuJpucuukmPLp3J/zeezEVSA09ol9+CWN2dr0ZK77jxhFy/XUEXnIJuvBwNJ6e7p2whTHESLEI7zPPpOLff+sUshNNJkSTSXGdZWvXIppM8t+1157dbhdAqah0VDrUTB6TWSG9KhxeAu+NgYL6H7m1tXzFHVmGuGLbNo6MHkPqTTcDkl63oNViiI+nOiXFPm77dvLefRd0OvxipRJ4S1WVwsg73QRq4xsuuW3Sd7h1baIoUr52HQWffEpS336UWnVn9NHRhN5wA36TJtW5r6DXE37ffRji49vNwAP4jB0LQMi11+AzbhzV1qee2qTffQ+HByubZ6fedDNpty2g+ugxtGGhqoFXOS1odSMvCMI0QRAOC4JwTBCEhxoaX+Tph9Fs1Vz54QrI3g+fn1f/OXQ6unz9lezLd+zk09E4Of9KzAUFckaQPlaaeeojIzHl5ErSvAsXkv2i5M/WeHvhFysFlI+cOYrkGfaZfsWunfWfTBCkpiIn6taXcaS2PlDuG2+ij4930kTvyPiOG0uPzZvwHT8eQ5cuGE+47hxVumoVYH/PjppJJUuXyv1XVFQ6O61q5AVB0ALvANOBvsBcQRCc8+4ceGxdFhNe/kdqVm2jJE3R5NkV3sOHE/3SiwCUrljJkbHjGjT2OW+8QdnGjfWOaVUEAV24lAUjeHlStXcvSf36U/DJp1Tt3w9A4vvP4hdbic/Q3orsId9Jk6jcsRNTXgM+54A46e9X1bCmi9nFsbwGDWrTNMiWwFY8Z0hIkDpH1XpfjgHrmrQ0LNXVCq17oNOm4qqo1Ka1Z/IjgGOiKCaLolgDfA/Mqm+HQk8/MoqrYMsHyg3FDYtt2WbF2c89hzkvj/JNdZf1WyoqyH/vfVKvu77B47YUtbNnEEW5X6il1FlvRWPQYCjYhEYH8S8/qtgWcMEFIIpUHTqEKIokz7qA4j+XOJ/UK1D6/dm5zttqUZ0suYsc5XS1QYEN7tdRsaXfVu7bT/YLL5L1zP8o27iR6sN2rf2UWReQ++absmvKRtSz/2vTa1VRaS1a28jHAKkOr9Os6+qkm1cG3+qfhVWPSyuutwqPHVle905WajdENpc4pw4WfPkVVQcPyp3nAVIunuM0rjXIevY5wHWfUFc5/pYaC2ywtnfzCaP7Gnv2jfcISV6g6sBBTDm5VB8+TMb99zuf1GiVtM1uWK2zbO1aNL6+RD71JN3XrsFr+DCCr7yqwf06KraK3LRbb6Xgiy8o/PZb0m5bgClXObOv2Pyv077a4Lqbg6iodCZa28i7es5X+F0EQbhREITtgiBs1xgsvOP3JqO1Dl3uowZDUAJs/6zBk2k8PGT3B0BVrSwbc2kp2c8/z8lrrlV0E6rav9+lJMKpa68l//PPGzyvu9jcR2H33IPXoEHEf25/TxarkY99egEJP/4AgM7bZN/ZPxp9ZCSBl16Kz/hx6IKC8BoyhMJvvqF4saSxInh4SPo/joy4SfptUFarusKYkYGhSxc0Hh7oIyJI+PprDLGdV7NF75CKa0PQap2ajNheew4YQNc//yDhh+87nYtKRaUuWtvIpwGOqluxgCK5WxTFD0VRHC6K4nCDrwlNbeVYrQ76XQh5h6Uepg3g2F2ofN162XgCVB2yGn2LRaGYCM7BWlNhIeWbNpPzYssU9KTedDPl69ej8fYmaN7lJPzwPT4Ocr2Rjz+GZ5w/PvsfwSvKk5hJFhKnOsw4tXoAop5+ivgPPwQg+OqrMeXmkveB9FqsqiKp/wBq0hyqZ31CYOqzUFMGxfb1ue+8Q8pFSvEwY3oq+iCvFnm/HQFBq0VfS/TNUlWFKT9PbmsHYMqW8uLjP/sMj+7dmyyFoKLSEWltI78N6CEIQqIgCAbgMuD3Okf71NG5PqwXWExQeEJ6bayE5DUuh/pOnIg+Joawu+/GlJvL4cFDqDklpRraink0vr4Yc3IQDAbiPpR8/7WrOY+OGu3mW2wYU14eZWvXAlILPVezRO/hw0kce1S6ySX9gX9EFrqoeGljuOs+mh49JbEysVLZZahq317lwC7Wsvwf58P6V+HUv+S99TZVBw5gOnmY7KsncKh3H2qST6DPXdPk99kRiXzySXwnTrSvMJsp/nkR2tBQQu+43b5eq0Xjo1a3qpx+tKqRF0XRBCwAVgCHgB9FUayzKWuKpZKtnh68ZbqA3ef8DHdbhwZYZ2O2TkdfXQhfzoKCFKdjhN58E93/Wk3QvMvldUWLF2MqLJQrGQWNhsqduzAkJMgz/7J/1lD43XeIooilltGsL4DbEKVr1nB07Dj5taM7SXmSPBCtLqO/npF+X7McniyCW12fv3YMwoatIrZo0SIpkyRmqLQhfYd07C8vkMcePecCCv61P9Xovc3KzKZOju/YMcS9/55CKgNAFxxM2K23Ithy4c1m1UWjclrS6hWvoiguBZa6M7bCYuS6qC7oMyKJNvRhcIBVSdH2uzhNctmcshq932+Hqf+D6CFOx9L6+uI5aCBVe/ZSsWUr+e+9L28zpqdjTE8n5IYbZCOf/9FHABi6dUNXK+iW/8mn+Ixu2sw+7eZb5OWY1/8Pb2srPFLWS8bXYO2j6UpIzN/Zp+yIY+OJmLfeJP32OwAoWb4CweBBzsKFaIOC6Ll5E5z1hHzzqMo1ujweQGC3CqjIB/+Wa5LREei2fBnm4mJKV60iZ+ErcuxCrD59bmgqKq7oWBWvVozRS7n3pz1UGa0zW/9oQJCM/N4f7ANPrIcPJ4LZtdFK+OorAudeRuVO10VD+ugoNN7eCq0cY2oq+Z98CiC3HDSXNVHgyyEI6j1yJP7Tpkk53EWp8MVMeD7aPmuulCQEOON6qQPUWU+6OGLdOPr3qw8fJmfhQunaCwsRzWbKhZGIolRukH/ID8FgILiP/Yklbnw+3c7NRqMTpaeK2hxeBpl7GnVNHQltQACG+Hh8J09GFx1F8HypnV/i77+5fxBjJSx/GE41TQtIRaU96JBG3kZaodUIafXgF4WlOI3SlG3OAze+4XJ/wWBwCqIZutsbjdiivAGOejGpqRQvXgyA/9SpBFx0IVV79mJykBNwF+Mpu25KxKOP2Dc4yjTkW1M5K6xGfuhV8EgajKu/bZ6NmDfeIOKxx9D4+uIzbhy+Z53lNCbt9js4df0NlIZcTcbmIEpOeeHdO5rwgYUY/I14Btfg28MfwxXWHrKuahK+uww+GO/WNXVkPBIT6fH33/hNmQKAp7VfgdahOY1L1r0Cz0XCv+/C0nvrH6ui0oHoUEa+a0BX+wtNNTmlDrnjAbHknjrCvt3b2Cn2YPvIN2GudVafXnd5v2evXvKy15Ah+I6fIL+25Zp7jxgpr8t/316EpQ0Nld05x6ec7f4bqSkHUzWm76X+oHEffyQbEwCKHDRnbAa/wprW5924/Gz/c6YSfMU8BEEg/qMPiXvnbWLfVWq8V1qlc/PXZVBySsqeMVTtRxCg68cvkrByC9y1X2otKGghfbvyJA4l/9TUKug6DUhY9DOJi3+pe8DOr+Bvh+IoY+fqW6Dy36ZDGXkvnRcfTZV84zrvY+SWSoY+o6iSpUWxhBVsZ7T2IJmWIC5eG8rx4LHQeyYcXgKnnAtaALlFoEevXiR89y16qxRt9Kuv4GHVqvcZdSYaX2UeecxrryIIAlo/qXespbyc3DffcsqxljEbJTfHiQ3wfAwsuh7T8d3Se9HXKNM/HY38ikcg+4DU+UnnBb5KPfSm4DNGih94DpKkfm1l/TapBACtXgT/WIQ+MxF8Q0HvKcUHwvtAZq3snKoi+/KppgehOype/fqhrysgDpC2Vfk6/yiU1CPzfBpw7YpreXOnGw3mVTo8HcrIAwwNH4qAgMYzgy0pBYx47i9Gv/g3T+adRbEoBSlzRClTIiW3HKOndeb76TlQkglvj4BdX8vH0xgMJP6yiC5ffQlA0Lx5xL79Fv4zZshjBJ2Ontu20uXbb+R1tu2OZf15775L8rkzXfeSfXcULOwGn58LiHDod8zV0p9X+8tF8O0l0rgTG2Hdy/b9ik7Ce6MlwxrRT9HIvKloPDzo+ucfxH/ySZ1jvEJqIHGcZNwdiegn3XQcqXC4sR1Xat7/JyjNhshaWjav9WlQT6kzsy1rGx/t+6i9L0OlBehwRt6gNRDhE4FGX8C3W+wz3lyC+Nos+VHPGCR94V5ansR1Wx0yUF7rLRVN/Xab4pieffui9Zdm5IJWi9+UKU7pcoIg4NGzF7XxnzFDoWNiLipSSCLI5Ds3KzFVakEQ0RkskPwPlOUqA8eOnNwAUS3XZMOje3e0vr703L6NsLvuosdm+ww8fEgZvtHV4BPmvGNEPyjNkG5GAFUl9taDAPt+BrPJeb/TmbIs6QnrikVws4Oi5zdzTktDX24sb3iQSqehwxl5gDi/OKLDnH2/h7pdT94579Lv/LsRBDiaU8Y6yyA+H7fW+SCrnmj0eV0VwwhaLYEXX0zwddcSeqvkY0+/8y7JT739MynjYs/3Lo9XXaJD72NGsFXx/nIDZO2TNN5v/VfKonHERSpoc9H6+hJ6802yMiNAyOPvSAu2IilHbIVXP14pGfMX4yBlnbTuzNskg5f0Z4tfZ4emNBv8IqD7FGlGP9Z60zu2yh44P43IqbCn85os/7Eb+mlIhzTy4d7h5BoP0zU2n66hkovmwqExvHvNOEJHzUPw8FVMoJ5alc7h8FptAje+ARYXbpV6EAQBn/HjiHjsMadtEfffT+gC6QmhJiUF894/4c+7YOVjsPgm5eApT0njSnR4+Dt8SYrTpEBrvwsl33dIN+V+3ZwzY1qSrn/+QdxHH0Lf82HBDug1zXlQN2tjEN9w2Ph/ym22jJ+frpLcU42ZxZqqO1aRVXkefHe59HRVHxYzlOcoYyWTH4fu1kC8G8JvnQ1HI3+i+ET7XYhKi9AhjXy11RhEJa5g5d3jWX3PeF68sH5XxtXFN5AlKqsamzLLiv/wQ4KvmOdym6DREDRP2lZ1xJoVk1orKHf2MzDsasw1AtXFegyB1vU9zpFkGaqKINiaRXTZtzD1Ofu+fvUXPzUXj+7d8R1nrb4NraOVn0YLZ9wg6dz8/ax9/ZArlLITOQehshFppW8Nh9cb6Y4qPAF5rdSzd/c3UsB+w2vO20w19pTW8jwQLeDnYOQ1Gphp3a/m9HNtOBr5QwUdv5WmSv10SCN/97C7AfA1+KLTauge7odB5/pSb54gzYYzi6tYah6p3PjjfOlR28bOLyU5hIZmb/UQct21ALIeDjlWxcxJj8JTxTDmTvAKIj9JytbxPOdaiBoEEX3BYi3a6mKtng2IgdEL7Ad3o59tmxAQC9XWJiOB8fB4Psx6x3mcQ4C7QYpPSa6exhjFNwbB28PdH98YbJXGGbucty25B15OhIO/Q7FVKduvVtaT3uraMyolMDobWeXOfYJzK+3fj6SCpLa8HJVWoINYFSXx/vGMjx1PYVXDM8VbJ9ldHs+Z5vGGyd7wgtwk+NCeF8+ubyRhs81vNfnadOHhoNPZBc1sPksv6Smi8LvvKFm5EpNRMiL+1z8CN62DUGuevNbDriXTUXGUNBh0uTLj59xX7cs2zf+G2O+Qg+5mK8JGPSW4i8UMn06DrR/ZO2Wd2qysAwB774If58O6hYAAcWcqx+itap3Gzls3sC5tHWf/fDbr09Yr1udU5OCj92FA6AB1Jn8a0CGNPIC/wZ+SmpKGx3nqeW52fwDG9IzkPdP5iu1iWbbdd1xgdd/YMkeagKDToY+MxHgyRdJot2ao1JQKmPLyyHr6GdLvuJPy0mi8hgyROz/R1errnunCPeAZCF4dqElFYLx92dNfue2M6yXRNO8QKa/f9rctTpeMeW2DCbD0Pvty4Unn7a5wzENvqksk97Cy7eGpfyWjvvQ+pXRDaa2cd8d0ySPLpfiJb61MJJ3NyHfemfzaVClh4XiR0q2ZU5FDmFcYvYN7k1SQ5LJHrkrnoWMb+eq6jfyH84ex8GLJxztvZBdOvHguX147gtkjunOBzu5aEEQLlOdKX+py62No+napHV5ZjuTOWbsQqp3b79WF3k/AmJ0rabTPehex+1SO3/YqyefOlMeYsrIwxDtomftHweN5km+7NvcdgXs70GNx3Ej5yQQPf+ftggCTHgFTpV0C4aer4edr4JkgOLDYPvbwcmWevRu9ZgGp5sGGgw6+21SXwTsj4Jcbpf2NlfbPH5Q3mzcGQ2mW5Is/9Kfkj9d52tVPQ3s4H1+jkQx9J/XJv7b9NX488iMAr+54leJq++eSW5FLhHcEfUL6UFpTSnpZE/7+Kh2GDmvk/Qx+lBnLsIguZobA1H6RzBke57Q+zNeD3WVBXFXzICvNw6SVRamQY33sTLAGHk9ugH0/SS6Hf56VAnEgBfoaMER6jwqqi/WIcaOh51SKtBcCYC5W7ufRu49yR2vjDyd0HtJPR0EQoNtkadlURwl/1GDp906pyEzxN9vxhX152QPK/ardNPKOs2ubxHRjOGmtCziyHP6vL6x5UXmNh5eAv1Wq2WKEQ39IqqY/zIPM3dDzHFiwDSY8COe6ePoC6Sa3qXNWhX52QNlpbVuWXRMqpyKHMO8w+oVI6bQb05vf7N5oNvLM5mf45tA3DQ9WaVE6rJH3N/gjIrI3dy9HC93PsDBZpEfLtZZB/J/J2vno48lW3yr2FEGQDLrtsf3ICsg7JgX6fpXy4UndJs3wHClIwUt3HItRQ1mXu6jYtYusp59x/R6mneP2dXc4RlkLymLPcL09Zhj4x9p1bsJ727c55lZ7Bij32/QWPBUgFVWBFPh0Ffy0zuT3ehio+PpCxIpG+uhrpzZufF1KhXQkKEF5zfsX2V/7Rkh+90mP1N3MxoYbTeY7KkPDpfiQLQAriiI5lTmEe4fTJ7gPPYN68tK2lzDakgaayBcHv+CnIz/x4tYXm33NKo2jwxr5cB9JS2T+svlc+PuFlNW4504Z293+hUwXHb6cKWuloGcvu+Ikh363+37TttkNQ9KfcOwv+GQKvNpLmgUmWSXxsw/gFyfNbo0Z2VRsdVbFDLn5JuI++shlj9FOQ8wwyfcePdj1dkGAyP6Sy2vHF5I+vo38Y7D3J6mYKu+IVET1VLHSqC66Tvr94UTppzb5RzngG8S86EhGJsQx+pdzKHZXN8dYZW+84sihPwABbvhbynuf6iA6dmS5NKO3PcHUljGoj2bEeNoDi2jBTy8V4n18zsd46bz4M/lPUktTKawuxGQxEe4djiAIDIsYhtFiZF3aumadc2/u3oYHqbQKHdbIKxQpgT257mmZj+4eypFnp3PNmATOHdGbxeYxHI6+QNoY0Veacd5zSHoMr8i3yxFUl0CWXcBLftwHWPMCfD9XWi7JQGuQXEjZz7+AMTMDTUAAcR/Ym5KE33UXvuPGNur9dkga6pTkGw7Z++GPOyQ9/MTxMPw6KM2EX66XhL1MVXaDWZSq3H/D666PW3gC9v3EZWH2iuAycyVpX59vd7vVx66v7MvXroQHrf73zD1SIDlmGNx3WPptI3kN6H1g9ocw/1cY7CJ2Upur/pB+r3y0YxV6NcCfyX9Saizl+bHPo9foifSJ5ED+AWYunklmufQEFeYlBZpvGigV+qWVNv1pRRRFDhccBsBX33BDeZWWpcMa+QT/BMXrw4WH3d7XoNPw5Hn9uGBwDHcbb+Oc5Eu4o+Y2fkp4WhrgHw3B1tRLiwm6WA3ySYcZ2UkXs7O9P0HeEQS9F+iktMLiXxajDQxAGxgIgO+kSc77na741eoe5RsJcSPsr9dbfdk2I3/mLcrxqx0ao9iKj0DKj3dBsVYLGbsbvi6ttWNWr3MhfiR4Bdq32WIJNm51UC/1i5SyaLpNcq9mIXE8CBopoLum87ghtmZuxaAxMC1RqngO9ZKeeC2iha8OSjfIgWFSUkOwZzBeOi+X+fTusCxlGa9sf4WM8gxifGMoM5bx8b6P1YydNqTDGnmD7YsK+Oh9FFV47jI8IRgvvZTC+LtlDPf/Xcb+9GLpH8zWUhCkLysoq1fTd0g+5ysc/LS/XA/H/4LE8fT8dzMAYk0N2oBAPAcMIOKRR4h++aVGX2enpedU5euxd0PfWfbXx1ZJWTq2GoGzn4Gb1kNYrYA0SMVHDoHRcutTxLhou75OllbL8lX3kFPWgMExW2WdZ/6f87aLailzhjtcS/cp9R/XFf7W/6OCxldXtxdlxjLi/ePRa6REAIPG/l1bkryE8bHjifSRir8EQaCLfxcO5h9s0rkeWPcAXx6UgvNzes4B4I2dbzTryUClcXRYIw9wTf9ruKzXZVSaKvnm0DeYG6lFo9UIBPsYFOtmvrWBxIeXKo181wlSswzRbE8dNNdAUBfpiz/NwXAXJEPscLTWTkwAosmIoNEQfOV8tH61RMdaCFEU+WDPB6QUOzcvbzdihsFtW+G+Y3Dlb5I7TO8F4xzy4s96AnTWz0CjlZQ2z6qjiCp9h1yN/GC4NLscFG4XbXsyLIT7w0OZ+8ec+q+r2tqu0cPhs5j7PUx82Dnf3ZGpz9a9rS7mSWmInamZSllNmcJtMiJqhGL76GhlP+Mx0WPYlbOr0WJltSdmE+MmysuF1a1Q7Kbikg5t5O8Zdg+PnvmonEZ5ouREo48R4OU6bVF01ImJGwkJVpeNYyFQYBfr9loZJmGSJHHQZZdaD9boy2o0meWZvL37be5Z415bwDYjrJdkOLtOtK8763G49BtpBj9orvM+ticngNkf2H3myWvhle5UCQJrvaVio0Hhzq6bnJqi+q+ppkxyo9iqUgF6TYeJD7kef/1fMH2h/WbUGML7QM9pkmRDJ6HMWIavwW7kr+53tWJ7vF+84nWkTyQiIh/v+1iRT98Qy1KWycvdArrRNaArZ0ZJlcOvbn+1rt1UWpgObeRtvDDuBQCyK7IbGOlMoLfdyDvO6kuMAoxaAPN+lgKMPayqgo5PC7ZskJhh0hdZPqhk/L2GDsVz0ECiX3i+0dfVWGw3uKq68tY7Gn1mSnnmjobWhocfXPgxXPIlDLpM8pkHd5PkBoCpcZKvv3tgdznF77r+1zE90a40ml9ZR4cukAqUDH4NB45txA6HkTe6N9YVfpHOqbYdmDJjmZxdA6ARNArDXntmH+Il9b99Z/c7iknGlswt9c7ucyty8dJ5sf2K7fx03k8IgiB/l3fm1N2yU6VlaX4bojZgUKg0m8suz+ZY4TG6B9WhoOgCRyN/x+TuBPkYuPP73eSUVBFwjoMCZHhf6XdRqmT8N7+trHSc87nUyBnkIhpdUBCJP9TRBKQFMVvM/H78dwACPAKctouiyEPrH+K8bucxNqZjZ/UsT1nOkuQlvDrxVUXcBe8QzAXHeScogEKrFMSCIQswaA3su0pKbbWIFnqk7uJNUxZp+38gxKKDZffD+Adg8qP2Y1WXgUcbZnH4RVmrqvPBp4GG4O1MWU0ZORU58ozaxodTPySlOIWRkSPR1yraswVmwS49fCDvANevvB6A3fN3o9VoFfusS1vHFwe/wN/gj4fWQ3EsnUZHuFc97RZVWpROMZOP8InAV+/LE5ueYPbvsxsVhH1wWm/C/Tww6DRM6x9FnyipTP+l5Ul8ttHBvx0h6d9QXSz5Zq//C/o5iJ3pvexNPbzb9ov83p73WJK8BMDl43KlqZKlKUu5ZfUtbom6tSf3r7ufNWlrnAJ51RYjk+Jj+CjQfhPrGdhTMUYjaBifID1R7V//HOZl90sbHNspApSkS+mdbYUtsLywa/3j6qHSVMn0RdObnY/eEH+d+ks6l8NTEUCMbwxjY8Y6GXiAnkE9GR8rudjKjGWIokhBlT0b6miRslixwljBbX9JxXSu9KemJUxz6sym0np0CiNv0BrkfzKALw98yezfZrtVINUlxIetj07hyLPTiQzwpGeEH13DfFh9KIen/3AwNDaj0G+29JgfO9z5cf/K3+DWLW0uCbw1y571k1aWpviCgfKL9G+msqH5e7vfY3fO7la9PnepcFBsdFQ3FEWRh3Ul8gwe4Io+VxDn7yxbEdlFCna/GBLMvOgIXNZhFiTbNfvbAseOXu5q89TiuhXXkVaW1uq+6l05uwjwCJDdYO7go/fhnbPe4d5h91JhqqDCVKEInM6pFQh3THe25dk74qXzotLUeYXdOhudwsiDMm/+i4NfcKzoGKdKT9W9Qz30ibSLbpmtMggIAjySIfmKraQWVPDPYYenBs8AZfl+GyGgvNnsz9uP0WKk2lzNpvRN7My2+zcds2+MZiPv7nmX+cvmt9m11oUoiry2w64BU1RVxJcHvuSbQ9/wR/IfrNIqzfWEuAm1DwGAf+Rgwq1yRgc8PPgksJaAWv5xKDpld7+1BcGJMOMVabkJYmp7cvewL09ySdmKkIBWySXPKs8i1je2STPpYKtSakFlAbkVyp4M1624jquWXYXZYia1VCp6e27scywYssDpOKqRb1s6hU8eINo32mld7Rmtu3QJsfdyLak0EmQLyNoaSVg5/+0NFFYYSX5+BhpN+zxe5lXmyUEqT60nRouRvbl7WXVyFb8e+9XleFfL7UlGWQbnLDoHH7397/vunnfl5VndpNz6LSdS+evSD3hky7P0CnJuqg4g6Ax0ixlFTqZUp3DEYP3sKoukAO43FwMiDLykNd5K3URZs4CK06RU0kbw3L/22NCp0lOIooggCNy46kY8tB68fdbbLXaZ6WXpdAvs1vBAFwR7SkZ+a9ZWXt/5umKb7WkztTSVkyUn0QgapidMr30IQDLyVaYq+X2qtC6dZiYf6BEoL9tm9U1VtLttUne6h0uBucKKmjrHFVZIs8u8srYvWS+vNrHxWB43Lr9bXvfYmY/RPbA7f536y6WBB+WNryNIxKaVpsmpdOXGclnZ0JGUkhRGRo3E+8kizut9Kfuu2keQZ5DTOBsaB3eZPNctOA5mo+SqAbtMcFthq7soTq1/nAtqrMVb8/rMI7M8k6zyLJKLk/k381/Wpq3lz+Q/5UrU5nC44DAnSk6QGJDYpP1tRv75LfZsso1zlZXhx4uOc6rkFNE+0S79+yAZeRGRKnMnyRTr5HQaI++YVfLFdEnKdkP6hiZ1k/fx0PHUeZKxOZRZ2uD41MK2fbSsqDHR78kVzPt4C0m5kqH++byfmdV9FgPCBnCs6JjL/fqG9FWkFv505CdACli2B6dKTjH9l+mKWZ+/wVmffm/uXkUGR0NoHP5tcz2tTwf5x6WMKIARN7mfPtlS+EaARic1Jdn+WcPjHSg3lTOr2yzOipcaub+9+22FvO/D6x/m5W0v17W729iC3ed1O69J+9uMfI3FPjHyN/jz7JhnifCOAOBY0TFOlpykS0CXOo/jbW2dWNGJu2p1JjqNkfe3Nq+I9okm2DNYrp5rql/+zK7BxAZ58e3WkyRluW5OYvPQpBVWsOtUYZvpbWSX2J8cNLoyLut1Gb2CJffFoDB7cVBtfZ+uAV3JKJNUNQurClmaIiln6jV6ebbYlmSU2zXh/Qx+JPgncM/we1hzyRrePetdBobaG3vbDIg73DzoZoI9g5kZO4kDOg25Oh38dhusfkoa4Fhs1VZotFKHr30/wZ93SXEBN6g2V5NVnoW/h7/8ef5+/Hd+O/ab09imTGgcSS1NRStoifNr2lNO7c/ovK7SzWJW91msnrOaGN8YjhYdlYy8X91G3nac/Kp6ah1UWoxOY+S9ddLd3/aPPre3VElZUFnA9SuvZ9S3oxrlo9dpNZzTL5KNx/KZ9vp6znz+L4orlcE/m+7N/T/tZfa7m/hkQ+MkBfLLqimpMvLHngyqjO5LMuTb3EOCEUFbSVahPZ98UpwkgPbAGQ/wxKgnZN2RfiH96B/an5zKHLLLs/n6kL3JdrW5us11vEtqSrhh5Q3y6wu7X8gfs/+gd3BvQrxCGBc7jiv62pUeG2PkB4YNZO2la7mo35WYRDNHYgbZ9Wqg7uYsrY2jAJsrjXwXvLtbik2klaYpnmYOFx5Gp1GGzOqNsYiivRVjLQqrCnlw3YMcyD9AlE+UrFnTWBzrGq7udzXPj1MWAXYP7M6KEyuoMFUQ7x9fe3eZcG8pk60pelQqjafTGPlw73Au7HEhb54ldeKxGYVTpafYkrmFMmMZ+/P213cIJ2IC7dWYWSVVzHxrPSazlLpRZTRTXiMZ5hrrumeXuN/UeG9aEcOeXc2F727i9u928dVm93qbiqJIcp7UUs5gkH5XVkouif3pxRzNNLPzip1c0ecKzog8gx3zd/DzeT/z2bTP5BlaVkUWRVVFADwzWtJV/+nIT22q/HfBrxfIywIC42LHOY2ZnjidyXGSfvvIyJGNPkcXf2m2eLMmlz997MF0WRO+rRl/Hwy9Ulp2swLWJu07LGIYgiDw+qTXGRYxjDExY3h5/MsuxzohivB0IKx4xOXmpSlLWZqylE0Zm4j1i3U5prG4ulF0D7QXKdo+G1fYjHx2eeMr2FUaT6cx8hpBw9Ojn5YDd7ZA7JOb7HK1/6T+w9rUtW4bs7E9lH7g1IJKpv7fOkRR5NHFrm8YY178m9zShgOxi3ZIKnvHcqRc/hUHXH/pd54q5PovtlFlNLNoRxqJDy/lgZ+lBgvvXy19acrKvVm+P4uZb23g4vc3o9PoeG7JIfamFQHQK7gXXjovOW5RUl3CkcIjDA0fyuwes+kdLKV9NlUutinkVkopdm9Pfps9V+5hZJRrI/7KhFf49/J/GRDWiCYdVhxnvs+EWp8Ebt7YfjN5gJmvW+WH3c9s8jP4Mb+vlOZ6VvxZfD7tc96f8r6iNgTgYN4Bsn6+ClJqFUzZ6kX+fRdXOMZkmmvkf5z5I9f0v4brB1zvtO2SXvaMpvrcNZHekfgZ/Nidu7tZ16LiHp3GyNemdvaFgMDPR35mwd8LeGvXW25llvSM8CPlhRncN7UnEf5S6XVyXjnbTxayaKdrKdT0okq2pjTsFtp0XOlv3HGqkIoaZ5/qy8uTWH0oh3f+Oca9Pykbo2zN/Uf6fczMzV/vkNcXVhj5eEMK57+tzGywBTWTi5M5kH9ANu6PjJRmeOvS1rVJsMt2jlsH38qEuAn1psnptXpFamVjcDxumNkMcWdK3araE41WUjKtyAOLxa6IWQfZ5dn0DOrpMjjuKAcA8OK2lzi7fCd8UStw6tig3OLcE9kxGB/r2zwj3yekD/cMu0cOnjoS7RvNl9O/ZHrCdJcpzza0Gi2T4iax4sQKSmvq//v8euxXMsvqeIJRcYtmGXlBEBYKgpAkCMJeQRAWC4IQ6LDtYUEQjgmCcFgQhBZvdlr7C9A3xJ6b/NG+j5i2aJpbJf6CILBgcg+2PDKF+WdKs48570s52G/OHcKFQ2Oc9vlu6yllkVQt9qUVczRHWY0ripBZ7JwyZvP7v/W3MmNm5sAo/jn1D3rBC0uNUkbBNoMHZPcS2I38K9tfwWgxcm5XqdWhLS/62S3PtomKZVqZdIOsHRhuDWxPCFHhA2Hud61+PrfwDpV61G79AF6IlfvVuiKrPEvWbnfFbxf8xg8zf+DqIhfJAaIIX82G9Q5VslnOHdRsT1XQ+plWQ8KH8PKEl520bGpzYY8LqTRVsiVzS51j0svSeXzj49y39r46x6g0THM/8VVAf1EUBwJHgIcBBEHoC1wG9AOmAe8KglD/p95MpnRxbviQXJwsL5ssJtmNU5cu/SMzlM0szkwM5pWLB/HyxQMZ2z2U2UMkg7/hWB7XfLaNW7+xz65Lq6Sgrcls4by3NwDw/OwBpLwwgx9ulMSgMoucjXztYO+D03rz4fxhPHReOBnlGTw44l4Qle6H7SfsNy+b/x7sGUg2egZJmir+Bn+5anZjxkYWH13s8v23FLaGEE3N4mgMb01+i8FhgykRAO9gNqZv5MaVN7I+bb2s99PmdBkFR5bB8oel1ysegQJl0F4URZYkLyGjPINI77qNfNeArvQN6cu9hUVMK5M+6yU+3vx+6DveW7kAjv8Nu+xBdj5xnk+ll6YT6hVKn+A+8o2/vRkQOgABgSOFR+ocszVTKrA6Xtx5GrJ0RJpl5EVRXCmKos0H8S9gexacBXwvimK1KIopwDFghKtjNIdr+l0DSH5fV9kZtpm80WxkyFdDeGf3O2zK2MTgrwZzvMj5H8fLYL8PXTo8jnB/TzQagUuGx/H19SP5v0sHK8Yv3ZdFcaWRvWlFDHhqJQkPLeGPvVLaoJ+HjvMHRyMIAlEBUoA3s9g5376kyu7CuWViN26Z2I2p/SLlG1TP4J5O+2w7YXcXZTk8Heg1eqYl2CWRPXWe8rJjJsQTm55o1WpYW1l7Wxh5L50X8f7xspbKgr8XsDlzM7f+dSsPra9DP761iR9Fmk7LgMQ47gkPhQO/wJuDAWmyMW/pPCb+OFG+PidVVYtZkl1Ost6krJOTc8olN9hD4aE8uvV53s1axwNhIaz3sn/OmKsVLhujxcjevL2MjBrJj+f9KAc9G4XFAsaWrRUxaA2EeYdxpPCIy0lXjbmGJzY9AUhFdK6+ryru0ZKyBtcCNt3dGCSjbyPNuq5FuWf4PdwzXHI/FFcXU1pTyivbX5G3F1QVYLKYeGPnGwB8sPcDegRJ8sHr0ta5LO/e/tgUfAw6hcF3JCbQi/Qi+z/8sZwyLnrP3vT77h+kx+VFt47G10P680YESK4lV+4a2xMAwNB4Kc6QV5nH5gzJZdQ1oCs9I0o4km13/2xxiAlklyiPuXDCQsZETWBp0kHMFhGtNdl/ZteZdA/szs9HfuaHwz9wpPBIowqQ3CWvMo9DBYfwM/i5lEVuDYI9gymqKsJkMTnlkpssJqdUxKby7aFvyanIodpczYMjHqxznOgbwWXR0ux8lY83h/V6ehmlzzmjLIO9uXvlsfcPv58ZiTOUB1j7Mqy1prw+WSSLnk2oqGRmWTl/+tpjGMt8fVjm68O+FIe8/NIMuQJ3c8ZmKk2VjRIko7pMasYe2gNObpby/nOT4LEc0Hk0uLu7xPrG8tepvxj81WB2zd+l+JxsWj6DwwazO3c3hwsOY7QY5TiTivs0OJMXBGG1IAj7XfzMchjzKGACbDoDriJtLlNeBEG4URCE7YIgbM/NzXU1xC0CPAK4qt9VfD/ze96cJKVZ7svbx9cHv+aLg1/I444WSrKoS1OWuiwuCfX1qNPAAyy7axzrH5jEh/OHSa/3Oftb9VqB+GB7YMpDpyXU11CHkbdfQ4ivge1Z25n04yQ5zz3AI4Dld9qzLML8pC+ZQSd9dLWNPMCR5O6s3NSPhSuUzc97B/fm8j6XA7SaJPHs32azJHlJswN8jSHQI5AqcxUf7P3AaVvt6uBZv87i430fO41zhxe2vsAn+z/h60Nf1+nyWpayjIEb7pCajlvZ4C3NtDdlbOLT/Z8qxl/Z70rJT26shHdHwbHVkOrgpy5Jh83vAKCP6M8LeUV0MbrQ3hwwB+ZZ+xEX2tN1bY12amfquMSWEfTZdHh7ODwTCp9Nkww8SNW8LcjFPS+Wlx3/LhvSN/DClhcQEHh14qtoBA0Prn+QOX/MYcWJFS16Df8FGjTyoihOEUWxv4uf3wAEQbgKmAnME+25i2mA47N6LJCBC0RR/FAUxeGiKA4PC6un/6ab9Avpx6T4SUR4R/DrsV95dYezdKuXzoukgiT25e1j+YnlLNy20OWx1qSu4YG1DygyUvw99cQFezOhVxgGrYblDqmRc0dIb3ly73A89cobRXSgF7/tTueBn/dgsSpfvvPPMSpq7I+qAV56Vp1cJb+2FT5pNAKzh8SQGOrDzIFS28K4IC8CvfWK6lgbNSbpcf39tcc5lqPMXgj2sCoJNlHcrT5EUaSougiQ0gLbClum1ft73kev0XN2l7Plbe/tfk9eLjeWk1ycLD/ZNYbaabk2V4IoioiiyIb0DZz/6/k8sO4BecwVvecRg56DBgPLfby5adVNLDoqGeIgjyCparumQmp7+P44yDkISx8Ax8yVyiK7Xv65r8KTBXQTlU8mOkGLZfYH9v61n8+AH66AykLyKiTDHSIKcv9cl2QfgIXd4K3hkGV90rDUupkcXeW8XzM4t+u5DAiVUmcd+wvcsvoWDhcepltgN8K9w4n2sWfqnC5B2GpzNWO/H8sn+z5peHA9GC3GBlPGm/UcKwjCNOBBYIIoio65eb8D3wqC8BoQDfQAtro4RKtx06CbeGbzMy63ndf1PH488iMH8w/KlaD3Dr/XKfPgjZ1vcKzoGJPjJzMtcZpim4dOiyBAmlXXZsdjU/jJmhsf6uv8SBvobaCixsyP29NYMKkH8SHe8kw70t+TPlF+xAd7IyZLH9iaS9bIbdcAXrtkEGaLyM/Wc/h76dFpNGS5mMn7edoDtUeyy+gebje4/h7+aAVtqxh5R137tlQX7Bpg147/+byf0WvtN0ubSNbS5KU8uL5uF0tDlBvLFa+jfKL4/fjvfLT3ozp7D8/pfQmnio6xPmsrK32VaaKLzl9EmGcIPBehrNb1DVf2mq12yKqxKl0+Wy6wsSiPqWf/Hz+Zcnj2wEfkVuYR4eMwSTr0B4T3JdfTRJDOB/2bw6Tj3r7D3qweJPmF/GNSy0SAfGUDEAV5dQdJm4JG0PDtud9y4e8XYrQYMVqMCl2iHoGSazXaN1rO2AJOC/XKK5ZeQXF1Ma/vfJ1zu55bb4aVK8pqyrBgYcx3Y+Tq/7pobnbN24AfsEoQhN2CILwPIIriAeBH4CCwHLhNFEX36/pbgDk958j+d4C/5/zNhss2MK/PPG4cKPXzdCz1r62PDfbUM9usrTa9o+zZLEHeBuaeEc+kXmFcO9ZZ5e8ih1TM43mSf93H6hb6/Noz+OyaEei1GrLKs0gMSFQYeJCMpk6rYfqAKIZ1CeLWid2JCPBk1cFsyqrtLh9RFPm/1fYv48l8ZV68RtDQNbCrQoO+pXCsTWiL9Ekbg8MH88K4F/h11q90DexKjK/9b11iNZKOMg8Ai44satQ5bDNwgB5BPcgsz+TRDY/W21w+0juSuKDuVLrwVAZ5BkmZMY4GXu8DadvAMRHNZljPfVXul+t35q1MK69AE3cG0ZFSw5LM8kwpddOBnJx9/HTkJ3zMRqgphYp8SK/1uX97qZSGme/g1ooaBNNegqFXwS2bwC9a+mmlPrbRPtGsS1vH0K+GcsVSu9SFTS3zubHP8fiZj8vrXXWb6mwkFSTJy45NgWpjtpidKvmTCpIY9d0oxnw3BoDvkupPHW5udk13URTjRFEcbP252WHbc6IodhNFsZcoisvqO05r8enUT/HUevLsmGcJ8w4jwCOAh0Y85DLDwFFMy0alNaOg0lTJh3s/JKkgieUnlrMvVwoKfXLVcHmsRiMQ4K3ns2tG0C3Mub/orMEx7HlyKnqtwMajedSYLJTXmLl7Sk96W5uYlBvL2Zi+UVEeXpsALz2LbhnN2X0jGN5FmpGdcEijdDTqCSHebDzmnEUzKmoUB/IPYBGdC2dqk1eZx64c93RYbEUrV/W9inuH3+vWPi3FzK4z5UC6RtCwae4mxsWMY3PmZgZ8MUAO5Nl4avNTbh/bbDHLAf3XJ73O+V3Pr3f8O2e9wzczvsFb76244Tii0+gg1yqTYdOEGXAxWEyw/2f7wLRt0u8wh/TeM2+B+45BSDf5+H+n/i3N1K3BSyNwXYn0uWVYauS+xGypFbcoskoj77Oe87rVcONaOPNmOP9NiOgH9x6CHlOgrHVkCBwLp/bnSwZtWsI0rh1wLQCRPpFc0usSXp/4OiD1l+3M1G7h+ey/z7qUTbeIFgZ/NZi5S+ayKUNK7jiQf8CpE1dDdNqKV3cI9Axk2xXbmNV9lmK9IAj8doFS5a92ILLaXE2NpUbOK35r11vM+WMO96+9n8uXSsFLV26Z+gjw0jM0PohdqUVy1Wy4v/0YqaWp1FhqOCfBvdqxkYmSf7240shfh7LJKaniYKZ9ljO6eyh70oqoNikfohIDEqk2V9ephbIje4c8K79q2VVcuezKOmsLHLHtc/2A6/HSeTUwunXxM/g5FczVxpVGe425RuHjNFqMihvCxNiJRPq6frS2ZRMNCB3AwDBJYTPM2+5CeTV4lHKHqmJJAuFca8essxyeGAdeKv225cCH1coqsfrfo3ylGM1n+z+Tsnbmfg/ASh9vThgkV9XnmVngZ73moyuU6ZA21032fmk57gzXMs2+EVJlrRv/B40lyifKad2lvS51+vzGxo7F3+DPkpR2qn9oIWzpoM+MfoZJcZOoNFXy4tYXFVo+oigyd4ndDXPTqptIKkjisj8vczpeQ/0BTmsjXx+Oflxwvrvayq1tfsGWIibQi13pJ7n657cBkTCHG4VNJtjdzJRAb2kG+NqqI1z3xXZu/GoHGdb0zlV3jyfK35PSKhO9Hluu2M8mHnWi+ITL4169/GqmLZqGRbTIUs5ZFQ0/qudV5mHQGNosdbIhhkYo0wYv7HEhO+fvZPsV2/HUevLj4R/lVFWQntiGfT2MhdvtgfihXw2VG7TM6zMPrUbrZJT2XbWPfVftY/H5i1k4YaFCciPU0+5CGWjRoRW09hZ/VcXg4Q9D58NTxeDj4G6Z/pLyzfi4bh7vpfOSjeG8pfM47uXHa0GBbPeU1v2alsGQ6hoYfq19p7XWY9dUQImDfEeNMu6gwDcCREujNHncZXridMZEj1Fk2/QPdZan8NB6MCJyRIfpWdxUbDUwZ0SewRmRZ8jrH1j3ACaLiaKqIn499qtTs3vHGfylvS7loREPMS1hmpPtqs1/1siDshHJE5uekJUbwW7kXc0yQJrpA/xy62j+vtd1P1JXRAZ44hnzNV7Ri9AYchQzedvM2jY7a4hAb2mmtuOk9BRyIr+cjKIqvPRauof7EhFgL5KxZfSA/c5/ouQEVaYqRWGU0SGjwjGf21bgVB8FVQUEeQZ1mKDYvD7z+PQce2qen94PvUaPh9aDcxLO4UTJCW5cdSPF1cVUm6vZkyvVONTVheniHpIR6hvcl1FRo+gT3IevptvHhnmHKYrRQFmFHFJdxqYL/uTPQzthx+dQUSD1DXak7yxIGCdp04daWyAOv67e93nLILvE8Y2bHuWzQH9+9vejLx50M5rsx+1lzcff8H/w2QxI+lMy3DaGXlX3SWxPAmUt75eP9Ink/bPf5/EzH+ehEQ+x4qIVikI+R+L84sgqz2p1RdUKYwWpJY3v8uXOcffn7cdT60m0bzQX9biIK/tKyqU7c3by1KanGPfDuDrjgDaGhg9lXp959A7u3WASxX/ayP808yfFl9QxgGEL7vgafBUzDBvfJ32P0WJkaHwQXV344OtiSHwQGk/pi6L1SVa4fNLL0vHUehLkUXfrO0cCvJRyB9EBXmSVVBIV6IkgCPSKsGfV5DgoZ4Z4huCj8+Wnvdu45PcrmPTjJCprzKSVpin+sW1t+8A9I19YXVhv2762RiNoOCPyDDloZ2u8AihceGO/H8tNq25iT45k5HWCjoKqAoXOz9iYsXJlql6r58OpH/LjeT8yOHxwvdfQM6gnL49/mX+N4egrCvDOT8FbFOGPOyXfe20jf8mXcPWfkstkwVZphj/zNdcHt9In2O6vz6m0ayrFGhyO7eEnafuc/T/p9cmN8MsNYPCDIOvjfu2nB0dsLqpPznEpgtYSaAQN8/rMq1fcLMInghpLTatkh9l4a9dbjPx2JDMWz2jxyvCL/7iYRUcXkRCQgEbQ4K335qZBN8nbfzuudCO/OO5FuTnLjQNv5K85fzGn5xwmx0ty2mfFn1VnP2Qb/2kjH+UbxeDwwVzeW/KxO+po2LJtwrzCeHLUkzw/VpIFsBngV7a/wrwl8xp9zsm9Q9FqpFmIZ+RvbM2zF3dklmUS7Rvt9kzYU69l7gh7c4ac0moyiqqItsooDIwNYITVb5+cZ6+YFQSB4sJYjhbvIaVUSuNcdzSb6b9MZ9ZvduP3bdK38vIzm59RPOnUpqymjHVp6xS9eDsKF/W4iDcnvcnMrjPldWdEnsH9w++XX+/I3sHbu6X2gWbRzMJtCxU1C/UFwxtieuJ0fALi4MR6ybg7Etp8d+Co6FFsuGyD3D7QRnDUcOfBfrWeEqMHww1/w80bJAXNuoiWsngwVUKRe70RWgNbm0FH0bWW5sO9H8rLPxz+oZ6R7pNUkITRbJQnS47fE3+DP/8b8z+nfR4a8RAzEmfw/Ljn2XfVPm4fcjvh3uE8MeoJ+UknISCBn8//2WlfR/7TRt7GwyMfZkLsBEUrQduyLX/V5se+bfBt8phDBYcU7g132Je3Dwv2fR7faE8NSy5OrrejjiuuG5sgL+eVVbM7tUiOmwmCwDuXS37pyz/aQv8nV7DpuDQzMVdHIRjsErQrU39t8FyO11qbLVlSlaYt4NiR0Gq0TIqf5HTzjPCJcDleROTP5D/l1wNCByhcIk3C1li8oJYGy+DGTxRqIwgCAR4BTn7siGDrDaS3/eYmNxy30WUMeAdDZAN6/lodXGe96WU3rjlPS2JzsTbkh24qteNUmzM2NysGsCZ1DQO+GMCcP+YoAvi1ex1f0P0CRRHflPgpzOszr0Vcn6qRtxLnF0dqaars6/u/Hf8H2O+4A8MGsuzCZVza+1LFfo39Z9uWJaXEPXiGvTDn6uVXk1eZR0pxikIy2R2iA52zWLqE2Csmw/w88Lbm45dVm3jnn2OUV5sQjYEIgt2vuTL7Pafj1MZWIu+KPbl70Gv03DTwpjrHdDRcafcsHO9c/Xxt/2td6qc3ikCHm/ecz+3L4Y37vOvDpk8zLmYc53c7n8t6XwYPnoCLHRqLRw1S7jT6dvdPEDVIChT/80KdrQZbG9v38UjhkVbxyzvWQ4D0fz1/2XxFfKoxfLTvI3n59+O/A5LExMMjH3Yaa8tgGxczjhfGvdCk87lCNfJW4v3jqTRVkleZx8kS6XF0aPhQxZ3U1lVnweAFcppjY32DpTWlGDQGruh7hewC2pG9g9d3vI6IyKioUQ0cQYm3QceH84ex4cFJ8ronZvZTjNn8kP0xfuOxfCa9sgZzlevg7sS4iXw8VdJ2CdTF8dyYl2VXRX1CX4cLDtM9sLuiD2hHx1ZSb+PVCa8q/PY2muOqkXGcQfebDU8UwD1J4O9ekN0dhkYM5avpX/HCuBd4buxz+Bp8pbRIxwpag7eUZnnjGrhrH3i4H09C5wHDr4GcA7D904bHtwK2mfzL2152KgJ6YuMTDPhigMsm6O6SWppKt4BubJy7UZEG7Chb3hjCvZxrcp4d86zLCYYtmWNOzzl1Bp6bgmrkrdjcMXtz9zJzsfR4a6uMrc1Ng27i0l7SjL6xQl+lxlLpy4eyefVvx3/DU+vpZHjcYWq/SGKD7DNNm3iZjQBvZYA2p7QaS1U858TNVqzvE9yHZ0Y/w8iokdzaZRGp+24hNbUHn57zKXF+cXXe0IxmI4fyD7k0kB0Zg9bAyotWyq/HxY5TBP1enfAqY2PG1tuv1G1s7hobGm2LGngbg8MHN5zC2mu65GMPbJxrUDqB1b20sm7XXWvi6OZYn75esW3xMUk07rGNjzV5lp9elk60bzT+Bn/uHna3vL6p7iGbBLYNL51XnXErW01OS3+PVCNvZXjEcEI8Q7hrzV3yutHRo+scbwvANsbI/33qb5Lyk2TxrkDPQMX2xIDEBjvq1Me/D5/F6ntcqw0G1jL0AI+MfIzNc+154pd3eYZAj0BeWHqILzalAhqyiqsI8gxidPRo0svS5WpfR4Z+PZTC6sJOKQMb5RvFoyMfZWDoQEXOeffA7kxNmMp7U95rmZTQkO6QOAEuda5s7FSE9YLgrhDSteGxrYCnzpMbB96IgFBnnQfQqP6xa1PXMuCLASw+upj0snS5inhu77lsuExqANQUI2+ymJxy3StNlXX+P53X7Tx2XrGz3uyipqAaeSsGrYEr+10pv144fmG9X25bqqC77pq00jTu/OdO9ufvx09vNfLWO7qtx6noWo3ZbSIDPBViZI78fe9ERndTFtQEein7q67YW8TBzBI+WJcsC5/tS5f+uc/rJqVx7c2z+yaPFR5jwBf2Jw9bJ6rOxmW9L+Obc+3G9685fylSa1sEvSdc9Tv0mdnw2I5Ol9HuFUUtuRd+urrFUy5vH3I7l/a6lFJj3f1ha+u9OPLtoW/Zkb2DCmMFd/x9Bwv+XgBItTKlNaUKKYoAjwCCPILq1MspqymrMzCbVppGpamSS3tdypyeUiFTQ9Xs+lZoQt+STUM6PcMj7ClnjpFuVwR6BCIg8MLWF3hh6wvsuXJPvf0zHYOWtpl8jG8MX07/klCvUGb8MsNtOYOmEOxjYGh8kNxgvHekHxqN8iaWnFfNqVqCZnvSijiSXcrA8IH46H3keAXA7N+V7p7OauRr06TuSf8lfCOgLEcy3hrr/3x5HnwwHs68FUZLRpNtVt3+HufAYAelRFF0LZ3QCPwMfpTWlMqKlJUmqdL7zqF38uWBL112kjKajXxz6BtZfjzcK1xRV2Ajxk+pNxToGUhOheuezvetvY+NGRv5/YLf6eLfRWEDbMqZMxJnMDRiKI+OfLRdCgXVmbwDA8MG8vqk13n8zMcbdJtoNVrFzLuuGX2FsYKrll3F1cuvltdNjJsoLw8JH0KcXxxrLlnDtf2vdT5AC+LvJd3Trzgznj9uHyuvt5XZH84q45Zv7CqFMYFeiKLUblAQBOL94jlVIqWW1vZ5PnDGAx1GzkCllfEKBtGslEFO3SI1OPnraUjbAWYj2IKHx6yplxYzfD8Png6EI81r/uFv8MciWqgwSZMS28w93DucGN8YWSLEkUVHFyn6S7gy8N0DuzMhVlnBPjB0ILtydrn089uybs7/9XxWnlyp2JZeKmk52Z4MtBptqzdSd4Vq5GtxVvxZXNLrErfGOmpA78jewcoTK53GHC86zs4cu+H8YtoXUmpbLUK8Qlr9H8DWhSrY24Beaz/X4lmLuT7ROYWya5gP3gYtR62tB7v4d5Fn8rbmIDYu6nFRK121SofDK1D6nbUPngqAw8tht7VwzlwDH0+WWgaarL0Ocq1FhnlHJSkFgGN/uT62zZAWngRTjesxgI9BcjNuy9qGRbRw7QppghThHUGMXwzHi45jNCtrWGzZK/Uxr888pwyx7oHdKaouosxY5ryDw8Tc1nXORm5lLgJCq7TZbAyqkW8Gv836jTExkqbzfWvv496191Jl+8e24lgW3TekL0PCh7TL3RykjlUA0wcoszoCPAI4t/dgxbrbJnXj1TmDGBQbyL/Jkouni38XMsozqDHXkFYqPYreO+xenh79dPPzyFU6D7aEgS+s8YXvLrUbbxv7f5F++4RJFbKiCO+OtG83eEPWfsh0yD83VsFrfeHHK+GNgfBD3YVitnjWZ/s/U/SCGBA6gPO7nU9OZY5TimV9PRTOjDoTcO2qs/V2cPW0LjhY+drB2fyqfII8g5qVTNESqEa+GXjrvXltglJXZNz34xR3dMfy68/O+axdxbuGxAdx4sVz6RPl77Ste7gvKS/MoGeEL9eNTeT+c3oT7u/JGYnBHM4upcZkISEgAYtoYWvWVlmZcVL8JC7scWEbvxOVdsU2k69N14n2ZVvLzISxklsnR5llQkU+vD8GPhhnX7fxDakJ+UFrnvtR5ydjG7bWmDG+MbLv+4MpH+Ct92Z87HhifWNlF45NjsOWcvnL+b+w98q9aAUtc3vPZdu8bdww4AYu63UZo6Kd61RCPCUjn1+ZL/+2PRU41o7ULhYsqCxQpEm3F2rgtZl4670J9gyW7/JV5iq+PPilrEWRXJyMh9aDDZdtaNECh9ZAEARW3q30R8YFSX75Yf9bxZTB0ozkltX2Ev+2bNit0kFwbDPoyPj7IXmNct3IW+DAYjj+D3gEQNRAKE6TXD02LGbJzbPmeedjVhYq2xVa0Wl09Avpx/Hi4/L/o61pDEjB02UnljG7x2xuXHUjL4x7AaPFyNX9rpY7xu2av0uedI2IGsGIqBEu31aoteNWVnkWWeVZTFs0DbNo5unRT1NSXcLQ8KEUVBU4BWc7imCfOpNvAWrfrcO9w8mrzGPAFwP45tA3DA4f3OENfF3EB0tumNJqE4u3WHjgjAcU29cdzXe1m8rpTGhPmPwYnHED9DlfEji7bSvE1jKSkQMgZqjUmLzoJFQXSzP7shzIcOg2tvYl+81hyBWSMmZ/a4zn5KY6LyPQM5CD+QflzBpHLSKbMuPL26Qm6A+vl2QE4vzsRWnuPlUnBiTiqfVkU8YmDuYfxGztZPrkpicxiSYu73M5QyOGcjD/ICaLvRVnaU2pnC7dnqhGvgWo7Y/WaXSybC1IMgidlTMSgkkMtefSz+87X1Gqfc1n2ziY0fl7bqo0AkGQZu3nvgKXfgUxw6QiKZ0B7tgFdx+AJ4skZUutXmo9aGtj6BsB3ZVqmSQtge+syQj9L4JH0uCC90Gjh9S6+586PkXa1Clt3Df8PoI9gzlWdEyxvnbvZHfQa/RMjJvIn8l/crjgsNP2AI8AWQLhmc3PMOCLAaxLW0eFsUJRh9JeqEa+BbDpeX9w9gd46bworyknpSQFgG9mfNOg5nhHRqMRGNvdnh1QbTJzXRdJ8Eq0SFkIDy7ai9HcOhrjKp2M4K6STo/jLNkv0j5zD+stCbRNelR6PWqBUtXS5prRGSCoCxSm1HmqWwffKi9/Mf0LxTZBEFwGSl1pybjDhLgJmEUzG9I3EO4Vzvy+8+Vt/gZ/Wa7cJq3wwZ4PKDeVq0b+dGHB4AW8e9a7jIoaha/elzJjGbkVufjqfTuk9G5jGRhrz39/YWkSjyzeR3nynfSzSHGHfenFvLfGufhERQVQ+tTDe0u6PePvh8dyIG6kcmy4g7heUCIUnqjzsMGewTw04iEWnb/IZcN02+zasbCxa2DT5BhsTw178/aSGJCoeHLwN/gT7x+v6Feg0+gorymXdaraE9XItwCBnoGMix2HIAj4GfzILM8kvyq/3fNjW4qLhsYyd4Tky/x80wkALNVRvH2J/bHb1ltWRcUJWzaOztNu8AVBUrV0DOL2OlepmOkfBaX1txuc12denZXWX07/koXjF/LaxNe4ceCNJAYkNnlmbVOgBUnvSGHkrS0enxnzDL9d8BujokaRW5mLSTSpM/nTkfGx49mcsZnU0tQOkT7VEmg0ArdOVMrtBnjpCfPz4LxBkpiSl6F9c4FVOjDF1mbhIS66YDka+fNeV27zi5KCtGYTTaF3cG+mJUo9d28fcju/X/B7k44DUhqlp9ZTXnacoduCq3qNnq4BXekW2E3uAOWta//6EdXItzDDI4YjInIw/2CTgjwdlSiHpuAvXjhAbl6+8GLJHVVc0bgOWSr/IfytqoqXfOG8zc86I+4yFnxr+ct9IwARyluv1Z+7CIKAh0aalYd4hchxuPenvO+UpeOYwTMsYljbXWQdqHnyLYyt2TM4p1Z2ZnRaDV1DfUjOK2f20Bg8dNLM3VOvZXzPMPZntE47NpXTgGkvwoBLIKSb8zYPPykjJ8CFtr2fVTakNLNVtPcbS2G5GY1B6igW4hXCvqucZbcBpiVO49ukbxkQOoAegT0pqqgh0Lv1munsT6//u6ca+RbG0VfX2P6vHZ0fbhqFKIqygbcxIiGIV1bmUlJlxN+z5aVSVTo5Hn7QdULd24PrCIbajHxZ3W0n24rKGjOIkrns4lN/U49gz2D+nP0nVUYzXR9ZCsCOx6YQ4uvRKtf2yYa6M5BAdde0OI5lzjXmugWWOiNhfh6E+zsXdfWOlAJPNiEzFZUWwdc2k68/+NraLN+fxcjnV1OZPo/qnKnMefswx3Ia/l+/7ott8vKRVvxu5JRW1btdNfKtwNuT36ZXUC/uGHJHe19Km9AzQgo8Hc2uu4mDikqj8Q0Hja7eNMq24I7vdlFSZcJSHUVN/mTKayy88dfRBvdLzi2Xl4/ltN53I6ekfnXNDu+uMRqNpKWlUVVV/92qI+Dp6UlsbCwT4iYwIa6ex9PTjNggL7z0Wg6rRl6lJdHqIawPHF4KZz1pb1DSxkQGeHKqQNlMZ9OxPLlhiStEUSS/3P4k37oz+U5u5NPS0vDz8yMhIaFdFRwbQhRF8vPzSUtLIzExsb0vp03RaAR6RPiq7hqVlqf3DEnbJm0bxI9seHwrEOit55S1eHbRLaP5Y08Gn286QVm1ieJKI2uP5HL5iHgEQSCvrJrhz67moem9qTFZmDsiniV7M/jq35PcOaUHoS3sly+uNFJcWX/sr8O7a6qqqggJCenQBh6kFKuQkJBO8cTRGvQI91Nn8iotz/DrpN/pO9rtErKKq4jwl2pChsYH0j9GqgAvLDfy8C/7eHTxfg5Y9ZsOZ0nfgReXJQFw1eguxAZJufJP/n5APuYXm07w/trmV4mfyCtvcEyHN/Lgvlpce9NZrrM16BXpS25pNYXlp1ewWaWd8YsAnZfUWrAdMJkt5JVVc+nwON6aOwRBEAj2kTLI8surya7V8D6t0O7W8ffU0SvCjxkDpADykr2Z1Jgkjacnfz8g3wiaiiiKzHpnY4PjOoWRV+n49LAGX9XZvEqL4xMmNQpvB3LLqrGIEOFQDBhkzXmf/e4m2ddeWCFNbjKK7E/yfaP9EQSBWxyqxWvLf7jqG+sOoiiy9oh7RWKqkXeTxYsXIwgCSUnNu/uergyMCcCg1fDemuNN/sdVUXGJIMDe76XmIm3IqfwKNh6T+iUkhNg1aKIDvZzGFlkrvnPL7EFQm+SHViPw+TVnOG0HGvSn18XPO9K4+jMpRfO52f3rHasaeTf57rvvGDt2LN9//317X0qHJMTXg6vHJLD2SC4n8ysa3kFFxV2KpObxnPq3TU87fuE/3PfTHjz1GoZ1sStpRrioFbG5KW3pjIPjArlgsF0ZM9xP2ievtJryarsWj+PMvzE4zuKn96+/GrhFjLwgCPcJgiAKghDqsO5hQRCOCYJwWBCEc1riPO1FWVkZGzdu5JNPPlGNfD3MHiL9U+9JK2rfC1E5vZhr/c61UfA1r6yaMgdDPCIxBE+9ssp75d3j5WU/Dx2FDjP5cT1C+fW2Mfh42JMXQ/0M8rEd8+fdUW/NKa3imT8OSlW3SK6adQ5GPsi7/irzZqdQCoIQB5wNnHJY1xe4DOgHRAOrBUHoKYpis563nv7jQIt3Ieob7c+T5/Wrd8yvv/7KtGnT6NmzJ8HBwezcuZOhQ4e26HWcDsQESY+xDRVnqKg0il7TIbALpG9v/L415WBonNzv8GdXE+xj15qJCXSeufeM8OPHm0axaEcayXlllFVLRj6vtJpuYc7nC/Y2IAiQW1qtiFsdzy1jChFO4x35dsspPt2YQoivgdsmdafSaKakSroJeem1DSZ8tMRM/v+ABwBHR+ws4HtRFKtFUUwBjgGuu+R2Ar777jsuu0xqT3bZZZfx3XfftfMVdUz8PHR46jUNllmrqDSa+FGQsg5MjcjeOrkJno+G5LVu72KxSGaswCFLzGxxHWMakRjMSxcPxNdDR3m1GVEUyS2tJszPORdep9UQ7G0gt6yGw1klGHQa+kX789OOtAavyccgzcVTCyrYkpxPijVt8oULB3Dg6YadJM2ayQuCcD6QLorinlp3kxjA0YGWZl3n6hg3AjcCxMe7UKJzoKEZd2uQn5/P33//zf79+xEEAbPZjCAIvPzyy//plElXCIJAmJ9HgxV4KiqNpv9FUvD12Crofa57+2RZVSJ3fFa/QJoDJ/Kd885N5voTCXw8dJzMr6Ck0kSN2UJYHQVPYX4e5JZWczCjih7hvlw0NJZn/jxIZnElUQHOwVwbtsrZ77el8v22VPRaye4EeRvQaBq2QQ3O5AVBWC0Iwn4XP7OAR4EnXO3mYp3Lv5Qoih+KojhcFMXhYWFhroa0Kz///DNXXnklJ0+e5MSJE6SmppKYmMiGDRva+9I6JOF+nqq7RqXl6TbZ2th7i/v72AQCU9a53i6KkLZd+m3ls40nFEN6Rfhx6yQXEskO+HroSM4r56cdUqOQ+GDXjUJCfT3YfDyPPWnFXDQ0lh4RUuORuR/+q3BDH8os4cJ3N1JaJVWz1i6aMlpvOoEN+OJtNGjkRVGcIopi/9o/QDKQCOwRBOEEEAvsFAQhEmnmHudwmFggw60r6mB89913zJ49W7Huoosu4ttvv22nK+rYhPt5OKWJqag0G61OaiJS5kZueO5heCoAVj4mva4ocO3mObwMPj4Ldn4JSIVPu1OL5M2hvgZW3D2e7uF+9Z7OFmB9dskhAIY6ZOI4EuproNwaPD27b4RcCXsiv4IZb67HYhE5nFXK80sPsfNUEVtTCvj635N1njfGRSqnK5rsrhFFcR8gt3KxGvrhoijmCYLwO/CtIAivIQVeewBbm3qu9mTNmjVO6+6447+hLtkUwv082HisfQpXVE5zfMOhPKfhcXtqx8xEKDoFocoWlpzaJP3+4w7oeQ5X/3CSfenFTOgZxtojuZw/yKWH2fmyrEbegxrumdq7Tn0a23q9ViAm0AtTLV//g4v2Knz0ZdUm3vnnGHHBXqQWSFk4r186mLt+2A1AXB1PDLVpFYEyURQPCILwI3AQMAG3NTezRqVzEObnQUmViSqj2SntTEWlWfhGQEk9gcrDyyA3yXU2zdvD4KlaHZT2/2Jf3PgnG45FcdHQWBZePJDtJwsVufH1YXOb7PO4Dt3uKJh8wOU4W0DWx0OHRiNg0AhseHAS7605zjdbTjkFYe//aS81ZguPTuiGXqPhgUV7GRQXyPAuQVwwxL0bELRgMZQoigmiKOY5vH5OFMVuoij2EkVxWUudR6VjYyv6yFWDryotjW+Y1Ni7Lr67DFY/BQUnXG+37fvP8/D+OEkP58zbAOi69Un8KePOMWFosvcxIjEYrRtBTYAzEqQ2nwbBjKYkDaqK4egqp3EJodLNp8pon+/GBnnL9SW1qTFLOjeR/p5cckYce5+aSmKoDz/fMporzuzi1rWBWvGq0sKE+UuzlXt/2qPKG6g0iMUi8sKyQ+411fCNkJp6NyRvsPtrGDDH/vq61dLvw0vh+N+SdHHWXmmdtXest6WMr4I+Jf6jPvDBuEZJKPSP9GbzLAeZ7R+vhG8udrohDYkLBGDOsDjFese2gItuGcXVoxMU223uoKa21lSNvEqLYksf25pSoAZgVRR8v/WUIv8cIK2wkg/WJjPltXVsP1FQ/wF8I0C0uJ7Nl+crX097EaYvhBv+gdjhEDlAmsHXrpo1VmG5YQ0Agyodsr6LG85fB8BshP+FErXiRvu6ZOl47PpKMTTc35O/7p3Ak+f1VawP8ZUKr7wNWoZ1Ceap8/tx79k9AZg7Ik5+UmgqqpFXaVG6h/vKy7ZgkYrKqfwKHvplH0P/t4qZb62XZQOyHQrnLn5/MwkPLSG/rslBmLWB9l4X0iK1jbdPKIy8EWKGSgJnw66WGoKf2AgGX5jwEAClIf2Z8VMpq81DlPsX1t8cWybnUN3b/nrG6YmgW5gvOq3S7Pp76vnp5lFsfXSKvG7B5O6svmc8L1w40K1c+PpQjbxKi+Kp1/K/CyRVvLTCCn7fk0HCQ0uarZ2t4poDGcWsOexGxkk7k19uN9z700tYb9Ve2eOQsmjj2i+289TvLoKXieMhtJfrvPfd39iXPfydt0dI/5PiqX8RA+Jg0sNw/3HWmAeRlFVKnig1AsHT+rvwBJRkwLORkL6z7jd2/K+6twE8EwzbP61/DJJf39dB60YQhAZTN91FNfJuoNVqGTx4MIMGDWLo0KFs2rSpvS+pQ3O+VWI1t7SaO77bBdAiXXBUnDn3zQ1c/dm2Dh//qB2I33Q8n6SsEjm33JE9qUV8vumE6/cUOxyya90Ajv8NB3+1v45wIb0bEAuAYKrkRLlBEvvyCSWzWHra3GLpI40zVUtFVwUpUvDUVAnbPq77ja1+yr78cBokWitrpz7nMObpuvdvAzp8j9eOgJeXF7t37wZgxYoVPPzww6xd674exn8Nf08dBq3GSUa1tMqIXxODRyrOOPqwk/PKCfI2UFplpEtI4wS52oLaUhd704uJPVx/YVNuWbWcrSUTnCi5XWrKrR2j0uw+cIArfoGw3s4H87WLgKWXmpj0xHIent6bF6xPmIst43hxpA6P+OHwz3PSTcOaeYO2jv/ZHIen09u2gYcfXLEICpKVPn29e/nsrYU6k28kJSUlBAW5lz/7X0UQBEJ9Dew4VQiAn6c0l5jymnpjbClEUeS1VUfk13d9v5uh/1vFhIVrFCl6HYXUAmWPgYLyajKLpUnA5ocn88Zlg1lz30S8DfbaivRCFzGdoETpd+FJ+PMueH2A3S9+9VLofhYEuEhJ1OqxaCRjnaDJBpANvFzMNP1Z6HeBVCFbeAL2/WTd11D7aBIrHpF+T34MwnrK5yGsF3iH2MdVFSukE9qazjWTX/aQXXSopYgcANNfrHdIZWUlgwcPpqqqiszMTP7++++WvYbTkFA/D9nfesO4rry26gjZJdUUVxoJ8FJn883lw3XJbDpuzyix9RgF+DsphxkD6m8k0Zbkllaz9kguPSN8uWR4HHvSivljTwafbzpBj3BfogK8mGVtsLHirvGsO5rLo4v3k1XsQs1UNvIpUvETwNGVENYHEsbIw4xmC2aLiKdeS1JWCcdzyjkyahPimpfYLvaUxw2ND+Snm0fLvVcBmPIk/H47pFmL9M11dG+ypl8y4ibnbWG9JdeNTyjsXwSVhVLV7Z93w4UfOVfftiLqTN4NbO6apKQkli9fzpVXXtnhfaDtjWNp98DYAHm5qEJt9N0SfLQ+uc5t76451oZX0jBnPLeapKxSxvUI4/pxXekbZQ+MntMvUjE2Lthb7nSU6crIB1uNfEGKsrI1SCoOqjKa+XLzCaa9vo6Zb0kighe8s5Hbvt3J9pMFLA+9ElO8veHH8ASp6MnL4QmCQZcrz1lZR2pneT5EDABPF4FevSdc9Tv0nCa9riiADf8HGTul6tsdX7g+ZivQuWbyDcy424JRo0aRl5dHbm4u4eHhDe/wHyXUmvsb5K2nd6T9S9DUnpYqdpbuyySvzH6znNYvkuUHsjjy7HReWHaIb7acQhTFDieFPaWP5BePC7YLa905pYfTuCBvPQadho3H8pg/qgt6x5RDryDw8Kf68GoqyiqQHadBCRRXGHnmz4Ms2mn3h6cXVVJllGbpG4/lc9HQWJ69oD9L92Xy+l9HuHCoK9eOg1mMGiQZaFeU50hVuPXhbc1x3/SGFEew8ccdMOyq+vdtITqXke8AJCUlYTabCQkJaXjwf5hq6+OvRYTIAE8+u/oMrvl8m2rkm8mawznc+o2U0jd7SAy3TOxGj3BfzBYRnVZDl2BvakwWHlm8n8ziSj6/pu179fzfqiP4eGiZMyxOMUNOCJUCkLbinvvP6aU04FYEQaDGZOGvpBw+Xp/CLRO7OW6E6hI8Tv6D7VlRROBH41i++XQLe9OU+jTbTxTg76mTOyn1jvTDy6DlomGxXDQstu43cc7z4B0qBWCLTrkeU5YLIc43KQU237xV6ZLQnpB3pO7xNioKYMfnMOZO0DRPA0o18m5g88mDFPD64osv0GpV8a36uHp0AisPZPPWXKnIxNbhXjXydkRRJLukmlBfg1OBTF0s2pkuL0/tG0HPCCmXWmdtJBFl/Tt/t1UyTGaL6LYGS0vw0/ZU3vjrKADPL01i6R3jALhgcLTcGCPC35Mdj00hyLuOgKYDLy1P4rqxiRh0Dn8fB0P5ks/9fJ7fh8pNGkBp4DUC7E4tkmfyAJN6u9mzYpQ1syZlHWTsdt5ekgHFp8D3gvqP4xmgfH3lb7DqCSmoW1XsvN3Gqsdh19cQ0Q96Nq9Ftmrk3cBs7njZCh2dIfFBHPrfNPl1pL8nOo3AtpQCZg6Mbscr6xicyq9g/MJ/ALj37J7cflYDM0IrPg4z49HdQ522R9fqMJRVUuW27nhLcP/PexWvt5+UXB2XnFG3XosrPrlqONd9IfV0PZRZwiCr7gsAN/zD219+S8WJbXyUPwCTgxkL8NKz7oFJeBu0zHxzAysPZFNjtvDMrH5cOSqh8W/IO8i1T/41a169bwMu26BEyce/x9p/wj9a8tPv+wmK0+s28jbXTmVh46+5FmrgVaVNCPDWM6pbiJxW+V/nj732HjpbUhrQbHHAwzqjnTcy3mWWUmSAMq/8pIt2dq2Fq2SEnSelzzs2sHG54mf1iWDFXVKA9J1/jpFd4hCE9fBlVXVfvve8RGHgARZM6k6Alx69VsPh7FLSi6Q0zPra69WLVzCYqqCmwvX2oIT69xcEuOBdKQPnnOelddbCLE5urHs/nfV6c5tfKa4aeZU2IzHUh5N5dXxZ/iPklVXz4/ZUknPL5Zxwx9zw+jCaLXyxWeoU9PT5rvsdh/goXSC189NbE5vfe/aQGFbeLRno5Qey8PXQER3oWd+uLrG10Vt5MJuRz/8lV6cCnCqo4Jx+EYT7eRAT6MUTM/tyx+Tu3DC+qzzGUc3RXW14J2yBU8fZvMla2NXnfOg1o+FjCALMeNnuArIZ+aX3SS4bRw79CUvvtzdH2fB/kN+8anHVXaPSZvQI96W02sQ/h3OY1KttM5NEUeT/Vh1hVLdQRnVrv6D5c0sOsXiX5Fcf31PyD2e7qb2flCnJ8QZ56+v04Ws0AqvvGU+4vycDn1rJg4v2MXtIrNKn3UrYipem9IkgMdQHrUagymhhXI9gt2MOjngZtIT6epBnFSzbl1ZMVIAXheU1FFYYSQz1YcODk6k2mV1WUj88ozefbzoBQLBPw/5/1xdhNfIVBXbjXCYVU9Hj7KYFRf1joMtYOLkBFt8Ml30r3QgsFimPvnb3q+JUCO4qjQFpHIDGvb+pOpNXaTNmD5W+JPtrZUC0Bb/tzuDNv49xu1VLp70ocQg8zz0jjgAvvWJdfexOlVwfvy8YW++47uF+Cu1xm1+8PsyW5td9pORJrqGEUG/0Wg1XjIwHpH6mTeXbG0bK/vhjuWWK3z0i/DDoNHVKZXjotNw8oRufX3NGk8+Pl3RuFl0nBWDzj0Op1cj7Rta1V/0IgiR/AJLGfYG15qEi33V7w98WwBuD7Mb9q1nw6VQp+2bJfQ2eTjXyKm2Gr4eOEB8DGa6KXFqZtVbVw7yyam76ajs5pW1/DaCU1p3aL5IAL51bGUdmi8jTfxwk1NdAbJB7/uX35g0FoKTSVO+4W77ewTmvu1B2bCSphZJryKad8/Ss/qy7fxLzRrrfxag2PSP8+O22MQR668koqsRiEZnz/mYAEtzQ6Hloem8mNuepMdjq/sk7Ah9OgLeGQmmmtM6v6Tcv9J4w9wdpubJI+l1eS8tnyHzpd3EqFJ2EzW9LrqKUdZC2Df64E7Z9JEk81INq5FXalKhATzKLKzGZLQ0PbkEcZ8srDmSzcPlhZSl7G2CxiBzPKWdSrzD+vncCWo1AgJee4kpjnRXUx3JK2ZtWxLGcMkwWkSl9ItwuchponQEXVzpXGZstIqIo/Szbn8WxnDJJmbEZlFYZ0WoERQZQfIh3i6RwRvp7klVcpbhJRvjXn6HTIgTEQr/ZynU2d41fM6UjbP7+inwprTLFqu1kU7IcdjXoHW5kqx530aQceGNgvadRjbybZGVlcdlll9GtWzf69u3LjBkzOHLEjaIGFQWR/l6sOZxL90eXtanEQUmVcrb80440ej62jN0u9Mxbi8ySKiqNZqb0jaBrmNRcJcBLj9kiyk00ajPltXWc//ZGkrJKALh2bKLb5wu0Zt/sPFnktK3bI0vp9dhyiirsfxfHwGZTKK8242PQtkqlbXSgF2mFlSTn2rOFvA1tFFIM7aV8fWI9GPyUImRNwcsaDD74G2x8A5ZLjUyYsRAWbJdklYdfo9znjzsbfRrVyLuBKIrMnj2biRMncvz4cQ4ePMjzzz9PdnZ2e19ap8Mxy2J/ekmbnbek0sSEnmHcMbk7r84ZJK9fd8S13G2V0dxiM/1Nx/KoNpk5liP5kruF2btnhflJs1FHnZb0okpu/26XPB5g16kiACJqS+/Wgy1r54ftqYr1tptrjdnC2//YdW5casW4QZXRzNHsUsqqTYrGFy1Jzwg/jueWyW63NmXYVdLsetQC6fXB36D75GZXospB3d1fK9eH9oRQa93E+PulVoZn3trk06jZNW7wzz//oNfrufnmm+V1tgpYlcbhmK98NKeUsT2cC3pag5IqI4PiArhnai/ZRbH6UDYZRc6z1/SiSsa8+Dc3jEvk0XP7ujia+6QVVnD5x1s4b1A0w+IDAegaZn8E72Ht/nMku1SuXr37+91sPVGA0eEms3RfJjqNgL+X+19ZQRAI9jFQUF6D2SJSXmOiuMKoyDn/N9muZJnu4m/hDg/8vJff92QwvEsQ3q1k5PvH+GM0i3y4LpkRicF8cMWwVjmPS/yjJbGxigLJLw7upU42hHcwIACilHFTkg5xZ9qzaEAK/J55i1QcpfeC9a9K66e9KHWsGn8//HAFsK3O03QqI//S1pdIKmjZNnK9g3vz4IgH6x2zf/9+hg1rw3+q05hwP7sfNb+shsoaM556TauLaRVXGuWME0EQ+Piq4cx8az1ZDgbvkcX7WLI3k/4xkqDan3szuWhYLL0i/Jp8fb9YZQj+2JNBl2BvNAKE+tj/BrZZ/Yk8uxviuDV7xNGVZGu60djruGtKD5747QD55dXc/9Ne1h7J5YULBwCSq+hAhv1pKrOoaTP53/dIhV3bTxYqK1NbEMcg6wWDYwhqakpkc/AOlgqa/n0f+pzX/OMJAtx/DCwmqanJpjeh90zXYw0+cNYTMPIWqCm1B4QBFmyF2+v+v1DdNSptSrhDsCwpq5Q+Tywn8eGlVNTUnwHSHIxmCxU1ZvxrVYhG+nspNMu/3XKK4kojG49Js9vM4iqmvb6en7an4YqzXl3DlNfW8uZfR+sMnDo29iioqCHI26BozOxl0BLorZdvNkazRY4fON6AwN58pTHYbqp7UotZd1RydfywTXLf3DTBbij8PHVN8smLoojBIQfeVc/WlqBLiL1itk0CrnUx6ja4e59S5rg5+ISCX6Rk8MfcCSHd6h/vG6Y08G7QqWbyDc24W4t+/frx888/t8u5TzccS/H/cWhAfSizhGFdglvlnKXWSkz/WkayS4g3a4/kkFVcRYS/BxpBUs2szZ60IiftFYDj1iDga6uOMLVfhEJSGaCgXBlYziutdlmUE+nvSWZRFVVGM70fXw5IGvw2RcVxPUL5Nzmfn28e7eY7tjOqWygeOg0rDmQR5C25bnanFuGl1zK+RxgvLz8MSNXIjqmtoijy16EcJvYKq7eQqbDCSI1DptQ1YxIafY3u4OepZ3LvcP5OypFdXCruoc7k3WDy5MlUV1fz0Ucfyeu2bdum9nltAt3CfIkO8CTcz0NRgLN0X1arndOWPll7Jj+tfyRGs8jMtzbw9b8nsYgQ6O1cWOMqtbD2zH2Zi+uvPTPeklLg0shHBXjyV1IOA59eKa87s6s9c+PD+cNJ+t90ekU23rgFeOkZEh/IthMFipvOjAFRiuNFBXiS6eCT/zsph+u/3M4H6+puTgJSLAEkLZ235g7hyfNcyy20BJ9efQZJ/5tGfEjjdHD+66hG3g0EQWDx4sWsWrWKbt260a9fP5566imio1U1xcbi46Fj08Nn8ciMPor1Wxsh0uUuu1OLKCivkd0f/rUqI22ZKnll1Tz+2wEA7pjcg/4x/lzmMHP/53AOllpT/Ipahv+9Ncf5bXc6N321XR6bb23sYZMvKK40MiTeWUNljFVN0jGbx7GblpdB26xc88FxQZzMV2rYTOkTjl6r4cP5w1h593iiArzIKKqUb1628XvTikjKKuHTDSkuj703rQiAe87uyXmDWv/74KlXJb4bS6dy17Qn0dHR/Pjjj+19GacNtqrN3pF+9I3yZ+sJZyNvMlvQCILCh21j16lCiiuNdVYz5pVVc8E7G+kZ4StnyNSeyQf7Os+qQ3wN/Hm7pIH+8Iw+LN+fyYOL9nEiv1zObQdYddCePhviYyC/vIY7v98NQEp+Od3CfMkvl4Klj53bh6nW1L++0c6t4q4encCzSw7Jr68ZkyBr+4Q2IMnrDnef3YP310oiV59fcwZJWaVM7iMdf6q1/V50oCflNWZKqkwEeOll451WWMm019cDcPnIeCcj+9H6FPw8dA1KB6u0H6qRV2kXEkOlwNVlZ8RxsqCCtMJKMosrFSmWM9/agIdey2+3jVHsm15Uyex3NwHSzeKp8/oxpZY+yoajeQAcyS7jR2ugsUe4r2KMjwv1R8fgZoCXnr5RAdbjlCqM/IZjefLy0C5BCqN/IKOEbmG+smBXlIP8b5gLY6jTahjTPUQO+N4ysRs+HjoW3zq66cJaDnjo7O9zRGKwyxtjhL90jXPe34SAwGGrG8Yx+ya3tJq4YLur5FhOGbluiquptB+qu0alXQjx9eDws9O4anQCqQWSMXxw0T55e3GlkaSsUpfZGvf8sFteTiusZMF3O6kyKt0nBzLsImhL9mXSPdzXKe1OEARqZyQOiVO6U2zZQLlW18tfh7JZvCuNn3fYM248dBqFe+dAejHl1SY+3pBCv2h/hYBWmJ9rox3oJa1/fvYAwq1upCHxQbIOTHOZMUCasddVJWq76R7JLpMN/DVjEhQyyLb8+qziKpbty6TQWlRl692q0jFRjbxKu+Ghk0rgx3aXgozrjuRy3097qDaZ5YAewMfrk/nEwSdsy5axUWW08OuudMW6Axkl9HYILA5z4QsHSHnhXNbcN1F+XftGYJtJ55VWY7aIXPfFdu7+YQ9gz9YZ3yOM+87pxcdXDmdgbAD7M4pJyiqhqMLI5VYlRpu/OtzfdcXq3Wf35JLhsa4bS7cAb80dypFnp9e5fWBsIN3ClDeU2CBvxjkUq9mKpSa/uoZbvtlJnnUWf/vk7q1wxSothWrkVdqdK0clMMEanPx5Rxq7ThXJsrUAzy45xP/+PCi/NltERWDSoNOQUqsD0qHMEgbFBsqt72LqUW5MCPVhUq8w/ndBf6dteq0GQYA3/jpKt0eWyuu9DVp2PH42Ox8/mznDYwn19WBK3wj6RQewP71EfioZZc2See2SQay+Z4JT8NdG93BfXr54UKsFFrUaoUFN+aG1boQaAZ6Z1Z/3rxiGViPIMgu2oLPN6NeOdah0LFQjr9LuaDQCn119BqvvGY9WI7B0X6ac9uiqo09RZY2cK33DuER8DFoqqu3uGqPZQmGFkZggL0KswVVXqZGOfHbNCOaf6VoS11WdU4ivAb1WQ7CPQVGFOrVvBMWVRtkg2nzYeq2G7rViAh2N6Fq9YC8aFkuEvyfT+keSGOoj5+3bsDU/cdWGUKXjoBp5lQ6BRiPQPdyP8T1C2ZpSQLnVaH961RnEBnmh0whyel9xpZFgHz1Hnp3Ow9P74G3QKVIabfrsAV56Ar0N8nJT+enmUU7rbp3o2kUxqXc4FwyWXDMbHpyEvgkdkdoLxxn5VaO6KJ46xnQLYXNyPkaHwidbULZ2kZlKx6LZn44gCLcDCwATsEQUxQes6x8GrgPMwB2iKK5o7rnaC61Wy4ABAzAajeh0Oq666iruuusuNG6231Jxn5ggL3alFlFWbcRLryXAW8+Vo7rw/NIkbvhyO0/M7EeV0UKEv6fsfvAyaBWyCHd+L3V/CvDSE2SdwVc3Q1HyjIRg9jwxFb1OQECgxmQhoJ4ng4VzBnHP2b2IDepcRTvjrf73n24exRkJyurjfjEB1Gw+ycw3NyjWzz+zS5Na+6m0Hc0y8oIgTAJmAQNFUawWBCHcur4vcBnQD4gGVguC0FMUxeZ1JWgnvLy82L17NwA5OTlcfvnlFBcX8/TTT7fvhZ2GRPp7UlRhZM3hXHytM0Rb5snqQzly0PWcfvbWaz4GLVtSCiiuNLLzZKGcihjgpeeS4XH8tjuDIc0UznI06l4NNN7WazWdsiqzR4QfJ1481+W2Lla302GHgDgoFTVVOibNvQXfArwoimI1gCiKNjGSWcD3oihWi6KYAhwDRjTzXB2C8PBwPvzwQ95+++06RalUmo4tX/uoQw62oyHZYq2MdczXNosiBeU1nPXqGq753C65GuitZ0z3UE68eC49IlS9k+YwIjGYu6f0dFrvTgs+lfalue6ansA4QRCeA6qA+0RR3AbEAP86jEuzrmsWWc8/T/WhlpUa9ujTm8hHHmnUPl27dsVisZCTk0NEhJoj3JJEuEgx7B2lrBJ919q71Iat+UhemV2bpXekHwNiAlBpGQRB4M4pPfi/1ZKqZpifB7ml1QxLcJ2aqtJxaHAmLwjCakEQ9rv4mYV0kwgCzgTuB34UpFQDV0IbLqe9giDcKAjCdkEQtufmtkPXlyaizuJbh0iH6tAfbjwTkBqAXzQ0FpDyzWcMUPbWPN+FZsp1YxNVX3ErcOtESQp31d3jWXPfxDpTQlU6Dg3O5EVRnFLXNkEQbgF+ESWLt1UQBAsQijRzd9RmjQUy6jj+h8CHAMOHD6/XcjZ2xt1aJCcno9VqCQ9vRhd4FZfYJADO6RfBSAclRpueuKtMjv+7dDDPzu7PwKfsKo6Te6ufTWtw39Re3HFWDzz1WjlzSaVj01x3za/AZGCNIAg9AQOQB/wOfCsIwmtIgdcewNZmnqtDkJuby80338yCBQtavZvRfxE/Tz3rH5jklLNtS0V01GGxodUIihnlkjvGqoJZrYRGI+DZ3N6mKm1Kc438p8CngiDsB2qAq6yz+gOCIPwIHERKrbyts2bWAFRWVjJ48GA5hXL+/Pncc8897X1Zpy2OQVUbpwqkitb6KldvmdiN4zll9ItWffEqKjaaZeRFUawBrqhj23PAc805fkfBbO6096fThil9IvhuaypT+9Yd6H5wWu82vCIVlc6BWqqm0ik4q08EKS/MUF1kKiqNRE0/UOk0qAZeRaXxdAoj31nSFTvLdaqoqPx36PBG3tPTk/z8/A5vQEVRJD8/H09P13rhKioqKu1Bh/fJx8bGkpaWRmcolPL09CQ2Nra9L0NFRUVFpsMbeb1eT2JiYntfhoqKikqnpMO7a1RUVFRUmo5q5FVUVFROY1Qjr6KionIaI3SkrBVBEEqBw24ODwCKW2BMY8e217jT7dyhSDpHbX3ezvC3OZ3ei7ufs7vH7AzvuT2usZcoiq6bJoii2GF+gO2NGPthS4xp7Nj2Gncantutz1r9XDr9e2mX7/Tp9Pm5M7a+v3Nndtf80UJjGju2vcadbudur/N2hr/N6fReGkNLfqdPp8+vsWMVdDR3zXZRFIe393WotD7qZ/3fQP2c24b6/s4dbSb/YXtfgEqboX7W/w3Uz7ltqPPv3KFm8ioqKioqLUtHm8mf9giCUNbA9jWCIKiPt50c9XP+b9AZPmfVyKuoqKicxrSLkW/o7ne6IwjCREEQ/nR4/bYgCFe34yW1Gv/lz1r9nP8bdPTPWZ3Jq6ioqJzGtJuRFwTBVxCEvwRB2CkIwj5BEGZZ1ycIgnBIEISPBEE4IAjCSkEQ6u7erNLhUT/r/wbq59wxac+ZfBUwWxTFocAk4FXB3t+tB/COKIr9gCLgova5xFbDhPJvf7p3Gvmvftbq56x+zu1Oexp5AXheEIS9wGogBoiwbksRRXG3dXkHkNDmV9e6nAT6CoLgIQhCAHBWe19QK/Nf/azVz1n9nNud9mwaMg8IA4aJomgUBOEE9jtgtcM4M3BaPNoJgqADqkVRTBUE4UdgL3AU2NW+V9bq/Kc+a/VzVj/n9r0yJe1p5AOAHOs/wySgSzteS1vRDzgOIIriA8ADtQeIojixja+pLfivfdbq56x+zljXT2zja3KizY287e4HfAP8IQjCdmA3kNTW19KWCIJwM3AHcFc7X0qb8V/8rNXPWf2cOxptLmsgCMIg4CNRFEe06YlV2hz1s/5voH7OHZs2Dbxa737fAY+15XlV2h71s/5voH7OHR9VoExFRUXlNKZVZ/KCIMQJgvCPtRDigCAId1rXBwuCsEoQhKPW30EO+zwsCMIxQRAOC4Jwzv+3d/+uUQRhGMe/L6JCUBEFJSSCadP5A4lgY6kgsbQyjX9AyoCNhYKmEAlWgkUE0UbBgFiJhYWaIqgIURO0SDBoaUTQwtdi3sAiIYQ4u7eZez4w7PDuzjLLezfs3uzuVeJH4gGLeTObqNx/Ky2QOddXzGyhmx+Vb6tceTazHjN7bGbvYz9XO3VMxVvv309tpAC9wOGo7wQ+AoPAODAW8THgWtQHgTfAdmCANHO9JdZNA8dJ9+I+AU7V2XeVjuZ6KPb3o9PHpVJPnoEe4GRssw14ru90PaXWM3l3X3L3magvA7OkBySGgcnYbBI4G/Vh4L67/3L3z8A8cMzMeoFd7v7C06fiTqWNtECuXEf7l+6+1GD3ZZ1y5dndf7r7s9jPb2AG6G/sQLpIYxOvZnYQOAS8AvavfIljuS826wMWKs0WI9YX9X/j0kL/mWvZJHLl2cx2A2eAp/X2uDs1Msib2Q7gATDq7t/X2nSVmK8Rl5bJkGvZBHLlOe6xvwdMuPunvL0UaGCQN7OtpA/DXXd/GOGv8RMMsfwW8UXgQKV5P/Al4v2rxKVFMuVaWi5znm8Bc+5+o9ZOd7G6764x4DYw6+7XK6umgJGojwCPKvFz8aKfAdKb66bj8m/ZzIZin+crbaQFcuW6qf7KxuTMs5ldJr0KYbSBrnevOmd1gROkS7O3pMecXwOngb2k39/mYrmn0uYiaQb+A5XZduAo8C7W3STu8VdpR8mc63HSGeCfWF7q9PGp5M0z6YzeSRO3K/u50OnjK7HoYSgRkYLp7/9ERAqmQV5EpGAa5EVECqZBXkSkYBrkRUQKpkFeRKRgGuRFRAqmQV5EpGB/AdKtzl/RB0J4AAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df = pd.DataFrame(\n", "\n", " np.random.randn(1000, 4), index=ts.index, columns=[\"A\", \"B\", \"C\", \"D\"]\n", "\n", ")\n", "\n", "df = df.cumsum()\n", "df.plot();\n" ] }, { "cell_type": "markdown", "id": "86b282c3-263a-4b27-9147-136305dd64fd", "metadata": {}, "source": [ "## Guardar" ] }, { "cell_type": "code", "execution_count": 68, "id": "e45943f3-f14b-4bea-9f85-38db428223b2", "metadata": {}, "outputs": [], "source": [ "df.to_csv(\"foo.csv\")" ] }, { "cell_type": "code", "execution_count": 69, "id": "7a7b9b6f-554e-4f14-9848-f14b3deac0a0", "metadata": {}, "outputs": [], "source": [ "df.to_excel(\"foo.xlsx\", sheet_name=\"Sheet1\")" ] }, { "cell_type": "code", "execution_count": null, "id": "819e4230-e352-4a84-b41d-aa49d96b1bca", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.8.5" }, "toc-showcode": false, "toc-showmarkdowntxt": false, "toc-showtags": true }, "nbformat": 4, "nbformat_minor": 5 }