{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Introducción a R para Ciencia de Datos" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Esta notebook fue creada originalmente como un blog post por [Raúl E. López Briega](http://relopezbriega.github.io) para el [sitio de capacitaciones de IAAR](https://iaarhub.github.io/). El contenido esta bajo la licencia BSD.*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\"R" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## ¿Qué es R?\n", "\n", "[R](https://cloud.r-project.org/) es un lenguaje de programación [interpretado](https://es.wikipedia.org/wiki/Script) diseñado específicamente para el [análisis estadístico](http://relopezbriega.github.io/blog/2015/06/27/probabilidad-y-estadistica-con-python/) y la manipulación de datos. Esta inspirado, y es en su mayor medida compatible, por el lenguaje de programación S desarrollado por AT&T. Es ampliamente utilizado en todos los campos donde se deben manipular datos, como ser: los negocios, la industria, el gobierno, la medicina, el ámbito académico, y demás.\n", "\n", "## ¿Por qué utilizar R?\n", "\n", "[R](https://cloud.r-project.org/) cuenta con varias virtudes, como ser:\n", "\n", "* Es una implementación de dominio público del lenguaje estadístico S; y la plataforma R/S se ha convertido en el defecto dentro del círculo de los profesionales de la [estadística](http://relopezbriega.github.io/blog/2015/06/27/probabilidad-y-estadistica-con-python/).\n", "\n", "* Es comparable, y a menudo superior en funcionalidad a productos comerciales; ya sea en gráficas, variedad de operaciones, y algoritmos implementados.\n", "\n", "* Es multiplataforma, se encuentra disponible para los sistemas operativos Windows, Mac y Linux.\n", "\n", "* Además de proporcionar operaciones estadísticas, [R](https://cloud.r-project.org/) es un lenguaje de programación de propósito general; es decir, que puede ser utilizado para automatizar análisis y crear nuevas funciones que amplíen las funcionalidades existentes.\n", "\n", "* Incorpora características encontradas en la programación [orientados a objetos](https://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos) y [funcional](https://es.wikipedia.org/wiki/Programaci%C3%B3n_funcional).\n", "\n", "* El sistema guarda los conjuntos de datos entre sesiones, por lo que no es necesario volver a cargar los datos cada vez que ingresamos. También guarda nuestro historial de comandos, lo que nos ahorra bastante tiempo y mejora la productividad.\n", "\n", "* Debido a que [R](https://cloud.r-project.org/) es un software de [código abierto](https://es.wikipedia.org/wiki/C%C3%B3digo_abierto), es fácil obtener ayuda de la comunidad de usuarios. Además, muchas nuevas funciones son aportadas por los usuarios, los cuales son prominentes estadísticos.\n", "\n", "Si bien existe una pequeña curva de aprendizaje, ésta es bastante mínima en comparación con otros lenguajes y programas. Asimismo existe una enorme red de colaboradores que constantemente están creando nuevos paquetes que hacen que sea mucho más fácil aplicar todo tipo de técnicas y funciones para manipular y analizar nuestros datos con la ayuda de [R](https://cloud.r-project.org/).\n", "\n", "## ¿Cómo obtengo R?\n", "\n", "Para descargar [R](https://cloud.r-project.org/), deben dirigirse a [CRAN](https://cran.r-project.org/), la red de archivos de [R](https://cloud.r-project.org/). [CRAN](https://cran.r-project.org/) se compone de un conjunto de servidores distribuidos en todo el mundo y se utiliza para distribuir [R](https://cloud.r-project.org/) junto con sus paquetes.\n", "\n", "## RStudio\n", "\n", "[RStudio](https://www.rstudio.com/) es un entorno de desarrollo integrado, o [IDE](https://es.wikipedia.org/wiki/Entorno_de_desarrollo_integrado), diseñado específicamente para la programación con [R](https://cloud.r-project.org/). [RStudio](https://www.rstudio.com/) hace que [R](https://cloud.r-project.org/) sea más fácil de usar. Incluye un editor de código, herramientas de depuración y visualización. Si estas dando tus primeros pasos con [R](https://cloud.r-project.org/), [RStudio](https://www.rstudio.com/) hace la experiencia mucho más amigable.\n", "\n", "## Breve introducción a la programación con R\n", "\n", "Ahora que ya tenemos una idea más clara de qué es [R](https://cloud.r-project.org/) y su ecosistema, llegó el momento de adentrarnos en su interfaz y ver como podemos realizar algunas operaciones básicas de programación en este lenguaje.\n", "\n", "### Vectores\n", "\n", "El tipo de dato más fundamental que vamos a encontrar en [R](https://cloud.r-project.org/) son los **vectores**." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 1
  2. \n", "\t
  3. 5
  4. \n", "\t
  5. 7
  6. \n", "\t
  7. 12
  8. \n", "\t
  9. 13
  10. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 1\n", "\\item 5\n", "\\item 7\n", "\\item 12\n", "\\item 13\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 1\n", "2. 5\n", "3. 7\n", "4. 12\n", "5. 13\n", "\n", "\n" ], "text/plain": [ "[1] 1 5 7 12 13" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# creando un vector x\n", "x <- c(1, 5, 7, 12, 13)\n", "x" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 5
  2. \n", "\t
  3. 7
  4. \n", "\t
  5. 12
  6. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 5\n", "\\item 7\n", "\\item 12\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 5\n", "2. 7\n", "3. 12\n", "\n", "\n" ], "text/plain": [ "[1] 5 7 12" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# los vectores son similares a las listas, podemos seleccionar solo\n", "# algunos elementos. Los índices comienzan en 1 en lugar de 0.\n", "x[2:4] # selecciona elementos 2 a 4" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 1
  2. \n", "\t
  3. 5
  4. \n", "\t
  5. 7
  6. \n", "\t
  7. 99
  8. \n", "\t
  9. 12
  10. \n", "\t
  11. 13
  12. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 1\n", "\\item 5\n", "\\item 7\n", "\\item 99\n", "\\item 12\n", "\\item 13\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 1\n", "2. 5\n", "3. 7\n", "4. 99\n", "5. 12\n", "6. 13\n", "\n", "\n" ], "text/plain": [ "[1] 1 5 7 99 12 13" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# El tamaño de un vector queda definido en su creación. Para agregar o\n", "# eliminar elementos hay que reasignar el vector.\n", "x <- c(x[1:3],99,x[4:5]) # inserta 99 entre el 7 y el 12\n", "x" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "6" ], "text/latex": [ "6" ], "text/markdown": [ "6" ], "text/plain": [ "[1] 6" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Saber el tamaño del vector con length\n", "length(x)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 1
  2. \n", "\t
  3. 5
  4. \n", "\t
  5. 7
  6. \n", "\t
  7. 12
  8. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 1\n", "\\item 5\n", "\\item 7\n", "\\item 12\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 1\n", "2. 5\n", "3. 7\n", "4. 12\n", "\n", "\n" ], "text/plain": [ "[1] 1 5 7 12" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Filtrar valores del vector menores a 13\n", "x[x < 13]" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "'character'" ], "text/latex": [ "'character'" ], "text/markdown": [ "'character'" ], "text/plain": [ "[1] \"character\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Podemos ver el tipo de datos del vector con mode\n", "y <- c(1, 2, 'Pi')\n", "mode(y)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "'numeric'" ], "text/latex": [ "'numeric'" ], "text/markdown": [ "'numeric'" ], "text/plain": [ "[1] \"numeric\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "mode(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Matrices\n", "\n", "Una **Matriz** es un vector con dos atributos adicionales: el número de filas y el número de columnas. " ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\t\n", "\t\n", "\n", "
13
24
\n" ], "text/latex": [ "\\begin{tabular}{ll}\n", "\t 1 & 3\\\\\n", "\t 2 & 4\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "| 1 | 3 | \n", "| 2 | 4 | \n", "\n", "\n" ], "text/plain": [ " [,1] [,2]\n", "[1,] 1 3 \n", "[2,] 2 4 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Creando la Matriz A utilizando matrix\n", "A <- matrix(c(1,2,3,4),nrow=2,ncol=2)\n", "A" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 1
  2. \n", "\t
  3. 3
  4. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 1\n", "\\item 3\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 1\n", "2. 3\n", "\n", "\n" ], "text/plain": [ "[1] 1 3" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Seleccionando la fila 1\n", "A[1,]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 3
  2. \n", "\t
  3. 4
  4. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 3\n", "\\item 4\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 3\n", "2. 4\n", "\n", "\n" ], "text/plain": [ "[1] 3 4" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Seleccionando la columna 2\n", "A[,2]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\t\n", "\t\n", "\n", "
123
456
\n" ], "text/latex": [ "\\begin{tabular}{lll}\n", "\t 1 & 2 & 3\\\\\n", "\t 4 & 5 & 6\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "| 1 | 2 | 3 | \n", "| 4 | 5 | 6 | \n", "\n", "\n" ], "text/plain": [ " [,1] [,2] [,3]\n", "[1,] 1 2 3 \n", "[2,] 4 5 6 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Matriz con datos ordenados por fila en lugar del comportamiento por defecto\n", "# en columnas. Utilizamos byrow True\n", "B <- matrix(c(1,2,3,4,5,6),nrow=2,byrow=T)\n", "B" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\t\n", "\t\n", "\n", "
131721
182430
\n" ], "text/latex": [ "\\begin{tabular}{lll}\n", "\t 13 & 17 & 21\\\\\n", "\t 18 & 24 & 30\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "| 13 | 17 | 21 | \n", "| 18 | 24 | 30 | \n", "\n", "\n" ], "text/plain": [ " [,1] [,2] [,3]\n", "[1,] 13 17 21 \n", "[2,] 18 24 30 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Multiplicación de matrices.\n", "A %*% B" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\t\n", "\t\n", "\n", "
2 4 6
8 1012
\n" ], "text/latex": [ "\\begin{tabular}{lll}\n", "\t 2 & 4 & 6\\\\\n", "\t 8 & 10 & 12\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "| 2 | 4 | 6 | \n", "| 8 | 10 | 12 | \n", "\n", "\n" ], "text/plain": [ " [,1] [,2] [,3]\n", "[1,] 2 4 6 \n", "[2,] 8 10 12 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Multiplicación por escalar\n", "B * 2" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\t\n", "\t\n", "\n", "
12
45
\n" ], "text/latex": [ "\\begin{tabular}{ll}\n", "\t 1 & 2\\\\\n", "\t 4 & 5\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "| 1 | 2 | \n", "| 4 | 5 | \n", "\n", "\n" ], "text/plain": [ " [,1] [,2]\n", "[1,] 1 2 \n", "[2,] 4 5 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Seleccionando múltiples columnas\n", "B[,1:2]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Listas\n", "\n", "Las **Listas** a diferencia de los vectores, en los que todos los elementos deben ser del mismo tipo; pueden combinar objetos de distintos tipos. Son similares a los diccionarios de [Python](https://www.python.org/)." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Creando una lista\n", "r <- list(nombre=\"Raul\", edad=35, soltero=T)" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "text/html": [ "'Raul'" ], "text/latex": [ "'Raul'" ], "text/markdown": [ "'Raul'" ], "text/plain": [ "[1] \"Raul\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Accediendo a los elementos de la lista\n", "r$nombre" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/html": [ "35" ], "text/latex": [ "35" ], "text/markdown": [ "35" ], "text/plain": [ "[1] 35" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "r$edad" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "TRUE" ], "text/latex": [ "TRUE" ], "text/markdown": [ "TRUE" ], "text/plain": [ "[1] TRUE" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "r$soltero" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\t
$nombre
\n", "\t\t
'Raul'
\n", "\t
$edad
\n", "\t\t
35
\n", "\t
$soltero
\n", "\t\t
TRUE
\n", "\t
$ciudad
\n", "\t\t
'Buenos Aires'
\n", "
\n" ], "text/latex": [ "\\begin{description}\n", "\\item[\\$nombre] 'Raul'\n", "\\item[\\$edad] 35\n", "\\item[\\$soltero] TRUE\n", "\\item[\\$ciudad] 'Buenos Aires'\n", "\\end{description}\n" ], "text/markdown": [ "$nombre\n", ": 'Raul'\n", "$edad\n", ": 35\n", "$soltero\n", ": TRUE\n", "$ciudad\n", ": 'Buenos Aires'\n", "\n", "\n" ], "text/plain": [ "$nombre\n", "[1] \"Raul\"\n", "\n", "$edad\n", "[1] 35\n", "\n", "$soltero\n", "[1] TRUE\n", "\n", "$ciudad\n", "[1] \"Buenos Aires\"\n" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Agregando un elemento\n", "r$ciudad <- \"Buenos Aires\"\n", "r" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 'nombre'
  2. \n", "\t
  3. 'edad'
  4. \n", "\t
  5. 'soltero'
  6. \n", "\t
  7. 'ciudad'
  8. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 'nombre'\n", "\\item 'edad'\n", "\\item 'soltero'\n", "\\item 'ciudad'\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 'nombre'\n", "2. 'edad'\n", "3. 'soltero'\n", "4. 'ciudad'\n", "\n", "\n" ], "text/plain": [ "[1] \"nombre\" \"edad\" \"soltero\" \"ciudad\" " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Accediendo a los indices con names\n", "names(r)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Factores\n", "\n", "Los **Factores** constituyen la base de muchas de las potentes operaciones que podemos realizar con [R](https://cloud.r-project.org/), incluyendo las realizadas sobre datos tabulares. La motivación para los factores proviene de la noción de [variables nominales o categóricas](http://relopezbriega.github.io/blog/2016/02/29/analisis-de-datos-categoricos-con-python/) en las [estadísticas](http://relopezbriega.github.io/blog/2015/06/27/probabilidad-y-estadistica-con-python/). Se caracteriza por dividir los datos en niveles o clases." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Factor w/ 4 levels \"4\",\"5\",\"7\",\"12\": 1 2 4 4 2 4 1 3\n" ] } ], "source": [ "# Ejemplo de factores con 4 niveles\n", "x <- c(4, 5, 12, 12, 5, 12, 4, 7)\n", "y <- factor(x)\n", "str(y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Data Frame\n", "\n", "El **DataFrame** es similar a una matriz, tiene una estructura bidimensional de filas y columnas. Sin embargo, difiere de una matriz en que cada columna puede tener un tipo de datos diferente. Por ejemplo, una columna puede consistir en números y otra columna puede tener una cadena de caracteres. En este sentido, así como las listas son los análogos heterogéneos de vectores en una dimensión, los DataFrame son los análogos heterogéneos de matrices para datos bidimensionales." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "
nombresedades
Raul 13
Ezequiel18
\n" ], "text/latex": [ "\\begin{tabular}{r|ll}\n", " nombres & edades\\\\\n", "\\hline\n", "\t Raul & 13 \\\\\n", "\t Ezequiel & 18 \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "nombres | edades | \n", "|---|---|\n", "| Raul | 13 | \n", "| Ezequiel | 18 | \n", "\n", "\n" ], "text/plain": [ " nombres edades\n", "1 Raul 13 \n", "2 Ezequiel 18 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Creando un DataFrame\n", "nombres <- c(\"Raul\",\"Ezequiel\")\n", "edades <- c(13,18)\n", "d <- data.frame(nombres, edades)\n", "d" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "'data.frame':\t2 obs. of 2 variables:\n", " $ nombres: Factor w/ 2 levels \"Ezequiel\",\"Raul\": 2 1\n", " $ edades : num 13 18\n" ] } ], "source": [ "str(d)" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 13
  2. \n", "\t
  3. 18
  4. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 13\n", "\\item 18\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 13\n", "2. 18\n", "\n", "\n" ], "text/plain": [ "[1] 13 18" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Accediendo las columnas\n", "d$edades" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\n", "
nombresedades
Raul13
\n" ], "text/latex": [ "\\begin{tabular}{r|ll}\n", " nombres & edades\\\\\n", "\\hline\n", "\t Raul & 13 \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "nombres | edades | \n", "|---|\n", "| Raul | 13 | \n", "\n", "\n" ], "text/plain": [ " nombres edades\n", "1 Raul 13 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Accediendo filas\n", "d[1,]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Paquetes\n", "\n", "Una de las mayores ventajas de [R](https://cloud.r-project.org/) es que podemos encontrar miles de paquetes escritos por usuarios en [CRAN](https://cran.r-project.org/). Un paquete de [R](https://cloud.r-project.org/) es una colección de funciones, datos y documentación que amplía las capacidades de la base o core de [R](https://cloud.r-project.org/). El uso de paquetes es clave para utilizar exitosamente [R](https://cloud.r-project.org/)." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. '/usr/lib/R/library/stats'
  2. \n", "\t
  3. '/usr/lib/R/library/graphics'
  4. \n", "\t
  5. '/usr/lib/R/library/grDevices'
  6. \n", "\t
  7. '/usr/lib/R/library/utils'
  8. \n", "\t
  9. '/usr/lib/R/library/datasets'
  10. \n", "\t
  11. '/usr/lib/R/library/methods'
  12. \n", "\t
  13. '/usr/lib/R/library/base'
  14. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item '/usr/lib/R/library/stats'\n", "\\item '/usr/lib/R/library/graphics'\n", "\\item '/usr/lib/R/library/grDevices'\n", "\\item '/usr/lib/R/library/utils'\n", "\\item '/usr/lib/R/library/datasets'\n", "\\item '/usr/lib/R/library/methods'\n", "\\item '/usr/lib/R/library/base'\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. '/usr/lib/R/library/stats'\n", "2. '/usr/lib/R/library/graphics'\n", "3. '/usr/lib/R/library/grDevices'\n", "4. '/usr/lib/R/library/utils'\n", "5. '/usr/lib/R/library/datasets'\n", "6. '/usr/lib/R/library/methods'\n", "7. '/usr/lib/R/library/base'\n", "\n", "\n" ], "text/plain": [ "[1] \"/usr/lib/R/library/stats\" \"/usr/lib/R/library/graphics\" \n", "[3] \"/usr/lib/R/library/grDevices\" \"/usr/lib/R/library/utils\" \n", "[5] \"/usr/lib/R/library/datasets\" \"/usr/lib/R/library/methods\" \n", "[7] \"/usr/lib/R/library/base\" " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Para controlar los paquetes que se encuentran cargados\n", "path.package()" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Installing packages into ‘/home/raul/R/x86_64-pc-linux-gnu-library/3.3’\n", "(as ‘lib’ is unspecified)\n" ] } ], "source": [ "# Para instalar paquetes\n", "install.packages(c(\"outliers\", \"forecast\"))" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Para cargar el paquete\n", "library(forecast)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Librerías para Ciencia de datos\n", "\n", "Bien, luego de este paseo por las principales estructuras de datos que podemos encontrar en [R](https://cloud.r-project.org/), llegó el momento de adentrarnos en el fascinante mundo de la ciencia de datos. Algunas de las librerías que se han vuelto sumamente útiles para analizar y manipular datos con [R](https://cloud.r-project.org/), son las siguientes:\n", "\n", "### Tidyverse\n", "\n", "Una de las tareas más importantes en cualquier proceso de análisis de datos consiste en ordenarlos y darles una estructura. En general recibimos datos en crudo y debemos procesarlos para poder luego utilizarlos en nuestros modelos. Si de explorar, ordenar y analizar datos se trata el paquete [tidiverse](https://cran.r-project.org/web/packages/tidyverse/index.html) es fundamental. Este paquete incluye las librerías ggplot2, tibble, tidyr, readr, purrr, y dplyr; las cuales comparten una filosofía propia y están diseñados para trabajar naturalmente entre ellos. Veamos algunos ejemplos:" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "Loading tidyverse: ggplot2\n", "Loading tidyverse: tibble\n", "Loading tidyverse: tidyr\n", "Loading tidyverse: readr\n", "Loading tidyverse: purrr\n", "Loading tidyverse: dplyr\n", "Conflicts with tidy packages ---------------------------------------------------\n", "filter(): dplyr, stats\n", "lag(): dplyr, stats\n" ] } ], "source": [ "# importando librerías\n", "library(tidyverse)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Aquí podemos ver los paquetes incluidos en el [tidiverse](https://cran.r-project.org/web/packages/tidyverse/index.html): [ggplot2](https://cran.r-project.org/web/packages/ggplot2/), la popular librería de visualizaciones; [tibble](https://cran.r-project.org/web/packages/tibble/), que mejora los data.frames; [tidyr](https://cran.r-project.org/web/packages/tidyr/), que nos permite redimensionar y agregar nuestros datos; [readr](https://cran.r-project.org/web/packages/readr/), que nos proporcionar un método rápido y amigable para leer datos tabulares; [purrr](https://cran.r-project.org/web/packages/purrr/), que brinda las herramientas para un estilo de programación más funcional; y [dplyr](https://cran.r-project.org/web/packages/dplyr/), para manipular los datos en memoria.\n", "\n", "Comencemos con [ggplot2](https://cran.r-project.org/web/packages/ggplot2/), cuya gramática se puede resumir de la siguiente forma:\n", "\n", "```R\n", "ggplot(data = ) + \n", " (\n", " mapping = aes(),\n", " stat = , \n", " position = \n", " ) +\n", " +\n", " \n", " ```" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
manufacturermodeldisplyearcyltransdrvctyhwyflclass
audi a4 1.8 1999 4 auto(l5) f 18 29 p compact
audi a4 1.8 1999 4 manual(m5)f 21 29 p compact
audi a4 2.0 2008 4 manual(m6)f 20 31 p compact
audi a4 2.0 2008 4 auto(av) f 21 30 p compact
audi a4 2.8 1999 6 auto(l5) f 16 26 p compact
audi a4 2.8 1999 6 manual(m5)f 18 26 p compact
\n" ], "text/latex": [ "\\begin{tabular}{r|lllllllllll}\n", " manufacturer & model & displ & year & cyl & trans & drv & cty & hwy & fl & class\\\\\n", "\\hline\n", "\t audi & a4 & 1.8 & 1999 & 4 & auto(l5) & f & 18 & 29 & p & compact \\\\\n", "\t audi & a4 & 1.8 & 1999 & 4 & manual(m5) & f & 21 & 29 & p & compact \\\\\n", "\t audi & a4 & 2.0 & 2008 & 4 & manual(m6) & f & 20 & 31 & p & compact \\\\\n", "\t audi & a4 & 2.0 & 2008 & 4 & auto(av) & f & 21 & 30 & p & compact \\\\\n", "\t audi & a4 & 2.8 & 1999 & 6 & auto(l5) & f & 16 & 26 & p & compact \\\\\n", "\t audi & a4 & 2.8 & 1999 & 6 & manual(m5) & f & 18 & 26 & p & compact \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "manufacturer | model | displ | year | cyl | trans | drv | cty | hwy | fl | class | \n", "|---|---|---|---|---|---|\n", "| audi | a4 | 1.8 | 1999 | 4 | auto(l5) | f | 18 | 29 | p | compact | \n", "| audi | a4 | 1.8 | 1999 | 4 | manual(m5) | f | 21 | 29 | p | compact | \n", "| audi | a4 | 2.0 | 2008 | 4 | manual(m6) | f | 20 | 31 | p | compact | \n", "| audi | a4 | 2.0 | 2008 | 4 | auto(av) | f | 21 | 30 | p | compact | \n", "| audi | a4 | 2.8 | 1999 | 6 | auto(l5) | f | 16 | 26 | p | compact | \n", "| audi | a4 | 2.8 | 1999 | 6 | manual(m5) | f | 18 | 26 | p | compact | \n", "\n", "\n" ], "text/plain": [ " manufacturer model displ year cyl trans drv cty hwy fl class \n", "1 audi a4 1.8 1999 4 auto(l5) f 18 29 p compact\n", "2 audi a4 1.8 1999 4 manual(m5) f 21 29 p compact\n", "3 audi a4 2.0 2008 4 manual(m6) f 20 31 p compact\n", "4 audi a4 2.0 2008 4 auto(av) f 21 30 p compact\n", "5 audi a4 2.8 1999 6 auto(l5) f 16 26 p compact\n", "6 audi a4 2.8 1999 6 manual(m5) f 18 26 p compact" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Ejemplo tidyverse\n", "# utiizando el dataset mpg incluido en ggplot2\n", "head(mpg)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "`geom_smooth()` using method = 'loess'\n" ] }, { "data": {}, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nj8s2v3zt3HXe14u2np7jFJFNcz5ruoyH+ydyUouETXfy7UvPflxeo+v6kKPH5ljVLd6wiKSb\n63JvhlnNj9R9w0Wj0cLCulW5fD6fyWTajffdvaMaEw17dYn/21PRfD17jsrPz49G448CyUmP\nHtr7jTnrzq1tWbj91KGer3uk/C4iuhasnfG4uLi4R48ebVh2jKY3Ouq2PLylu2lQg8a2vXRt\nS1GUZC4vmWtremLtxErm2iS5y0vm2iS5fyKSuTZJ+vJawpLSs/fktwoWXh7yb9rRpCiZ/c7v\nuu99LT9J/3PeOurGbjeNPmDTVWe7qvPfe/7V9IHn39M3zdHv+Qv7ffjckWP1Ky/s6wp9/NyT\nlUruuy8eKrKl+ZP+YdUzRx0WumJy75Qf3pr5nTdyx5d3ePx/Ffnhn7feuX1013WLF7w162MR\nWfjoPwvunnVUTt9dyxARu6r4S2Y/8/SWiy+7ohVXpy0kLNhd+uLsS0VK1351yXWP3Zw69C9Z\nZhGpjNSFpPKIplrdtS/tdvuMGTNqX+6zzz6NPZjZGFVVrVZrE11ou8Hi7KkoP8T/y9jSNRKJ\nZGZm1s+jDUzq8+PSotGbq3Z0PuuifrTxhkuGXGRSomJKC4d39B6Xl5fbbLbU1NQ2rFxEbGpK\nIOqLu6mLeVD9y2s2m1VVTcLnxEXEarWaTKZoNJq05Wmalpwz19jtdkVRwuFw0pYXCoWS8BF7\nRVHsdruIhEKhxv5sS6BYecFgMAl77EwmU2z1xeQsrz0+I9qK2Wy2WCy6ridnea3lypk08JjF\nvq2f11SuNNkyXTkTbO6GXQlNU8zp763+4daLr337uQeLtYz9jr/+1SfvcKiKiGXmb7/2uvyK\nWbOf/m+Vdd+xJ8z56t8Hpduirbls17352C8PzfzH6xu77DP6kTnPXjMmW+Spd+6Xm/79wg1v\nmEaMGf/gV+uKXr7mqXkfro/c1EgZcstt56188OXrblvQ8cGuo0fFrn72gZfy/X+75y7TH31z\nN59xSr7rlGdu3372lV9NfeyVa/q4RUTXg+ecfLpl4K0vPrBf3PMkyajY6qKvCuaf3qBREdWe\ntV/PSR/GXlZUVDTW111TsXT1im9nrng2qtXdaZ3a7blDB/6Q0e/i+nuaTKbu3bu37V/hL6y7\n7IeSt3dtz7b1unvU4votjIrdbYyK3W2Mit09jIrdbYyKbUNNjIrdPQ1Gxbatyk1Lv/ox/aRT\n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\nW2qiIrLktjMPPfKsMWf9+elX3lu2sfy903ovfO3KLaH6D5dr/z5n7OM/+e6du+CkXq7a1p7T\nporICte4E0888cQTTzzhuCnP//2ep79IirugLS0is2bjq4/f8erjd+QNO+jcGTPOnX7GsLy9\ncn6XvUt2dnZhYeGuD9udOWHD+u2uUp819jIcVZ6f1/fmk5ZbTDuNdaipqSkvL8/IiNOxDABA\nx3Oa024ZNffVtTcsKf1kR4sp/bS+dx2UN6P93nTYX94ac3//q0aOWXr5WTlq2StP/CfW3uWI\nrl/f+/pBx517zqQRUr7hgzmbMwZfkGdVtT8+dZfcfcSVr6/uesgNOes+ffGP9dinTZ+RMfj+\na8a8+K9T9zNdcfGQtNDCuf/9+OfoC2+MbL8voeVaGuw2VxR9/d4br7zyyptzvn/w/7596KbL\nRx82bca5M8469dBMS2cfWtt+VFXNycnZ9WE7hzV63uT1j8wZpP8x38nWCsc7i3qcfmDD9eYr\nKiocDofd3l5/BgEA0CpZtp5XDXujrKag0L/Sbcnq6hzcfn11MSZbj+/WfH3VBTd++Pw/ollD\njvnr+zcs/McHWel5kx7+/EnbzY+++tg3bzqyex5w5k2vPnKbWm8+iA2v/yIiW7586Pwv6842\n+YzpLpPp4YUr+153ycz3nnujODJ43yn//eZfZ/ZKbdevooXiP8DYhFDlhvdf+3/2zjswimr7\n4+fOzM723WQ3u2kkhCT0KkVABelVRPEpduXZ5aHP8p7PZ0F/+qyoqA/sBftDsWIB6b0oSg8J\nIT3ZtO19Z+b+/tgQks3WtN3A/fwB2dm5d87uztz5zrnnnvPpp59++sPOAgFjRpYx95rrb7rx\nxvkTB3envnM6nbHGLbEsq1Ao2katJQKyNjF2LTGbzSaTqe32b/b1Wn/oTFoThOCu6UVDs80B\nu1EU1atXL5puf7mI0zF21nb30HWoVCqWZb1eb8Kal7AxdhqNhqKodlxK3YNGo7Hb7d7QmbLj\nBUVRGo0GAKxWa8KaZzQaBSF4MsU4wrKsSqUCgIQ1L2HvEVKpVC6Xh7pHdJCUlJRO75PjOJfL\nFXm/qJFKpRFDxpuxlB/atD/p8iuyO9GAHkTMYoxV51x55yPfbNn304r7U1mac1Z/994LCy4e\noukz+pE31ibclXpWoFarpdIgxR4uHV2VoztToAJj+Hhbjs0VmFhYEIT6+vpYFTyBQCAQCD0R\n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\n3Mj+205/9pe/vVN50gVnDo3w+0SHGlY9fMP9y6+Y+8SsoSUAbKP6jeZMyaHs0e5YdPhMRSz7\neMkX+PJoAI5Z+1ZzJlh1vNt1FY26fz/YYDkzv8zTTahjDHYuq3n34aQtB6qb/jTvwdaFvtCY\nK79xqotVFYUBp980+k+z/3zTLTXTji9RMx+9/rIhojf9aLLbdRW6Ued+qbWvOt3wj7/87Z3K\n46d/mRMUd0LVlOuPevyqJ394S/15J5eq6Y9ff7lOlt31Y6aTjmmhcddPGXTPkz++s/bcwyp8\nK//50lZLv+GnzMSdtfKZtYpWdk4fv9uFUBFgsHNZ/ft1ANYueXXtHgsD5TaDXYcUX+Wd9932\nh3n/vfSV51oQGT7yuDlzvn1MOXd8dLAovoqf3HfnYw899tai5+IyPGr0CXfedeXhEZ/bdRWH\nKdff71Tcv+Dtpc/Um0NGHnHzDVefWBl0u6giIa2n1jcHK76qsx+WOkFIyZE1RERERF7AkyeI\niIiIPILBjoiIiMgjGOyIiIiIPILBjoiIiMgjGOyIiIiIPILBjoiIiMgjGOyIiIiIPILBjoiI\niMgjGOyIaH9se3e6EGLq05911xPO6hvW/AO669mIiHonBjsiOlBCCCHEA9UJtwshIurtGOyI\niIiIPEJzuwAiKnoNDQ0Akfk0fwAAA+9JREFUQqVhtwshIurt2GJHRJ2yav6vpk89pn80NHz8\ncV+79lefp+3Wu24aMyjWp0oXAOCYNX/8+dVHjR1ZGgj0GzL67G/Meb82DcBs+VAIccilb3z4\nzN2zpp1YGSkZPfHkK3/6eEa6tUFERB7EYEdEHXv9jgvGXnDzone2TTjjouNHhF9+6MenXPx6\nrhXlz887+ts/fbBWqTzvq5eN76e88tgvTpt4aZ3lZO/+/JWrJ11+d//jZs595L5Zk/2P/PyK\nQ8640WC2IyLqJuyKJaIOpOtfOuvOBb7wuFc+fffUQWEA9cufGXnUpel2a6Zqn7lt0RelI27f\n/MltAgDwyHFVV777/JwNTXOrACDTsOKqRZ8/cOYgAF/+yrdOK51w5q/uuWzB95+dMbQnt4iI\nyKvYYkdEHVj/xJ2GIyfc+kQ21QGIHX7Jo+cNybGqUAEYTR++9WltdsG339yUSqXmjizP3vSX\nnjT3zEGtq0/52R8BvPbD+QezfCKiXoTBjog6UP1iNYATLxm258Ijvz2y/ZrBillPXnOmUT//\npDGVI448+YqrfvjY399KabpP2b2Cusf6vsjRI4NaYttfDlbpRES9DIMdEXVA0RS021kovtx7\nj0sfWLTlw1fvvf36MdHE/D/c+80vnTp42IkLWqe4k0ab9dOOlE77Tl0iItofDHZE1IEB5w8A\n8Ob/bN5z4co/b2i/ZuKLD5YsWbK16vjrbrtn4Rsf1MWr/3bfRYkt71x54c7O1sT2P8ft3edK\nJLc9uSVjB/qcdzDLJyLqRRjsiKgDwy+5w6+Ij27/6pvbktklzZ8tvOLZHMGuYdXPTj311BlX\n/DV7U/VXTj39CADS2hnmzMQns+b+M/tvaTf98tIfAjj2Z5cf7E0gIuoleFYsEXXAX3bGottm\nTL19/qkjxp19/qkVcvui+a+09C3Hlh1t1qw65YFT+yx+7ZWvH3PuS8eN7rt9zUdvvfaWopXf\n/ujZwCYAqn/gP26YeuT88yaPjC7/59/fWd1Ueex3/+frh7ixWUREHsQWOyLq2Ck/e37l8788\nc3LfZS8/9eryminfvONf7z40bdq0yf1De66m+oct+PeiH11xVtOKJY/89qHXl28Zde6Vf1u6\n6qojYtkVSofetfyZO/qmN/3tiedq9DFf/9Ej69+aF1GFG9tERORBQkrODUpEB53Z8qFeclRs\n9B/rVn/T7VqIiDyLLXZEREREHsFgR0REROQRDHZEREREHsExdkREREQewRY7IiIiIo9gsCMi\nIiLyCAY7IiIiIo9gsCMiIiLyCAY7IiIiIo9gsCMiIiLyCAY7IiIiIo9gsCMiIiLyCAY7IiIi\nIo/4Pzhuc7ZAcEBPAAAAAElFTkSuQmCC", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Graficando los datos con ggplot\n", "ggplot(data = mpg, mapping = aes(x = displ, y = hwy)) + \n", " geom_point(mapping = aes(color = class)) + \n", " geom_smooth()" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": {}, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\nHXbYoVQqvdFVFR7DUCbsAGComzFjxhZbbJFOv/a79vTp0ydPnhzLJIYmYQcAQ119ff0FF1ww\nZcqUV194wAEHzJ8/P65JDE1exw4AEmDixImXXHLJX/7yl2XLltXV1U2YMGH77bePexRDjrAD\ngGRIp9PTp08/9NBDoyhavXr1a179BCIPxQIABEPYAQAEQtgBAARC2AEABELYAQAEQtgBAARC\n2AEABELYAQAEQtgBAARC2AEABELYAQAEIs6w61p197++59jPLlr+fxeU7r7yO5/8tw+ecMrc\nL37l+y92F2LcBgCQOLGFXamY+878S1oL//gFxo9c8dkLr7ylbtL0WQfvvuy+m84642udxVJc\n8wAAEicT14Hvu/zTd67I9b1b7F1x/nWPjd7rjPM/dVgURTP3ybz/czd+65HV86dtEddCAIBk\niSfs1jx65fm/e/aQjxy/4Pu/KF/S8eKVuUJp73/Zu/xuy9T3NVTd9MTVS6P/C7tSqdTW1tZ3\nC8ViMZVKVXj2gAvgQ4iXE7g5UqmUE7g5nMD+6TtpTmD/vPqkOYGbI9SzF0PYFbqWfPFLvxj7\nto/929tSC77/9wtb//piFEVTRtWW301VZSfWZp5d/ngUTS9fsnbt2sMPP7zvRubOnTt37tyK\n7h5omUxmiy3cH9l/tbW1tbW1ca9IsPr6+vr6+rhXJFhjY2NjY2PcKxKsubk57gnJNmrUqLgn\nJFgqlUrut+BCYUNPQqj8z9iVrv7Sl16omXrBJw979aU9rb1RFI3M/COfWzLpYn5NpdcBACRW\npe+xe/a351/1WMfp35k/OpPuetXl1U2ZKIrW5f/xbIk1+WK6ZkTfu9ls9qKLLup7d5tttnn1\nI7PJUldXV11dXSgUcrncm/9pXqe+vj6TyfT29nZ1db35n+Z1stlsOp3u6enp7u6Oe0siNTU1\nRVHU1dXV29sb95bkSafT2Ww2iqJcLrfhOx5Yr0wmU76vvb29vVTyFMNNVlNTU1tbWyqV2tvb\n497ST6VSacSIEW90baXD7tHrHiuVer73sX/53v9d8pevzZ31teiKSw6NoieWtvZEW9RFUVQq\ndS3rztdN3LXvL9bU1Bx22D/u5Mvlcsmtourq6urq6lKp5Ntq/9TV1UVRVCwWncD+aWhoiKIo\nn887gf1TDrve3l4nsB+qqqrKYdfT05PP5+OekzylUqkcdj09PcVi8U3/PK+RTqfLP8YT6r/f\nSofdjsccP6etp/x2oeuZq355z5gDjzl8YuOI8QfXp+947OpHo/n7R1HUtvTqtkJp/xMnV3ge\nAEByVTrstp/5nu3/7+2uNbde9ct7xux/1Ilv3yqKos/O2vnz11508Q9P3rmlcPvV1zZstf+8\nPZL6g40AAJUX2+vYvd60D150Tu23frn4pnvaMrvs+a7/nPeh+nSYT0UGABgMcYZdXcvh1113\n+KsuSB0w5xMHzIltDwBAosX5u2IBABhAwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQ\nwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAg\nEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4A\nIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIO\nACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQwg4AIBDC\nDgAgEMIOACAQwg4AIBDCDgAgEMIOACAQmbgHwCbo7Oy86qqr/vjHP7700kvjx48/6KCDZs+e\nXV1dHfcuABgShB2JsXr16nnz5q1YsSKVSpVKpSVLlixZsmThwoUXX3xxQ0ND3OsAIH4eiiUx\nfvSjH61cuTKKolKp1Hfh0qVLr7zyyvhGAcAQIuxIhmKxuGjRolcnXVkqlVq4cGEskwBgqBF2\nJENHR0d3d/frLy+VSqtXr678HgAYgoQdyZDNZjOZ9f9I6IgRIyo8BgCGJmFHMqTT6X333TeV\nSr3m8lQqdeCBB8YyCQCGGmFHYnz4wx9uamp6TdttueWWc+bMiWsSAAwpwo7EGDdu3GWXXXb4\n4Yc3NjZGUdTc3HzMMcdceumlzc3NcU8DgCHB69iRJKNGjTrrrLO+9KUv9fb2VlVVtbW1xb0I\nAIYQ99iRSF6RGABeT9gBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELY\nAQAEQtgBAARC2AEABELYAQAEQtgBAARC2AEABELYAQAEIhP3AABgYy1atOiVV16ZMGHCtGnT\n4t7CUCTsACAxbrvttkWLFs2YMUPYsV4eigUACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiE\nsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACEQm7gGw\naa699toFCxa88sorY8aMOfLIIw877LC4FwHAUCHsSIyurq7TTz99+fLl5XdXrlz56KOP/uY3\nv/nWt76VTrvvGQA8FEtyfPGLX+yruj5PP/30f/7nf8ayBwCGGmFHYvz5z39e7+WLFi2q8BIA\nGJqS+lBsJpNpbm6Oe0U/VVVVlf83uR9C5a1cubJYLK73qu7ubmdyk5Qfua6rq6uuro57S4I1\nNDTU1dXFvSJ5UqlU+Y3GxsZSqRTvmCQqfweJoqipqSneJQlV/gKYSqWS+43jjb4bliU17IrF\nYj6fj3tFP9XW1qbT6WKx2N3dHfeWxNjAT9GlUilncpNUVVWlUql8Pt/T0xP3lkQqB3Fvb29y\nvwrFKJ1OZzKZKIp6e3sLhULcc5Kn75t6T0+PMu6H6urqqqqqUqmU3G8cpVKptrb2ja5NcNh1\ndXXFvaKfMplMdXV1qVRK7odQeZlMpq6ubr1nbOTIkc7kJqmvr4+iKJ/PO2/909jYGEVRb29v\ncr8xxKiqqqqhoSGKou7ubmXcD30x193dveF7blivVCpVrqJEfwHcwP21fsaOxDjppJNef2Eq\nlZo7d27lxwDAECTsSIyTTjrp5JNP7vv5kiiKqqurTz/99BkzZsS4CgCGjqQ+FMvwdOqppx5/\n/PEPPfTQU089teOOO+611141NTVxjwKAoULYkTANDQ1HHnnkrFmzuru729ra4p4DAEOIh2IB\nAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHs\nAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh\n7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAAC\nIewAAAIh7AAAAiHsAAACIewAAAIh7AAAApGJewBssoULF77wwgvjxo1761vfGvcWABhChB3J\nc+ONNy5cuPDggw8WdgDwah6KBQAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLAD\nAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISw\nAwAIhLADAAhEJu4BQKUtWLBg2bJlY8eOnT59etxbABhIwg6GnRtvvHHBggUHHXSQsAMIjIdi\nAQACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh\n7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAAC\nIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAApGJewAAJE9nZ+f3vve9\nlStXVvi4S5cujaLooYcemj9/foUPHUXRzjvvfOqpp1b+uGw8YQcAm+zee++95ZZb4jr6mjVr\n1qxZU/njPvjgg0ccccTYsWMrf2g2krADgE2Wz+fLbxx22GHxLqmMdevW3XfffdGrPnCGJmEH\nAP134YUXplKpuFcMukceeeQDH/hA3Ct4c548AQAQCGEHABAIYQcAEIgYfsYu3/Hcz757+eK/\nPL26t3a77fc86bQPT982G0VRFJXuvvLSaxY98HxbZtfd9po778Nb11ZVfh4AQEJV/B67UuHy\ns8759R9f2nPG0ccfdVD+mUUXfPIzz3YXoih65IrPXnjlLXWTps86ePdl99101hlf6yyWKj0P\nACCxKn2PXcfy/7nxpdze537ro/uOiaLoyLcV/vUT11/+wCvnTU+df91jo/c64/xPHRZF0cx9\nMu//3I3femT1/GlbVHghAEBCVfoeu951xWnTpr1jl5Hld2uaxkRRVCqWOl68MlcoTf2XvcuX\nt0x9X0NV6omrl1Z4HgBAclX6HruRO3/gy1+Ooih6/I5b/rr6lT///ob6sXucPn3L1oUvRlE0\nZVRt+Y+lqrITazPPLn88iqaXL+no6Phy+W9GURRFM2bMOOSQQyo8fqBkMpkoitLpdFNTU9xb\nEqn8klGpVMoJ7J/yCfQZuJnq6+tramriXpE8fS/5ls1mi8VivGM2R319fdwT4pHNZhP9paOq\nqipK+HeQUmlDP6gW2wsU3/mTH/xuTXepVNpl5vQxNekXW3ujKBqZ+cdrPLZk0kvz//h9KT09\nPbfddlvfu5MnT66tra3k4AGXTqeT/iHEpS/snMDN4QRupkwmU/6PNPqnuro67gmbZdj+v19T\nUxPGl47kfhSFQmED18b2efmRH1/9kSha9fTv537yks807XrW6EwURevy/4jQNfliumZE37vV\n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\namqaOnVq5fcMHmEX7bXXXpdcckncKyrhsssu+8EPfhD3CgCotKOPPvree++99957X31hdXX1\n+eefH9ekQSLsAIDwnXfeeXfdddf//M//rFq1qq6ubpdddpk3b154r1Es7ACAYeFtb3vbO97x\njmw2WyqVVq1aFfecQeF3xQIABELYAQAEQtgBAARC2AEABMKTJwCg/4499ti4J1TCBn5zA0OK\nsAOATZbNZstvDKvfNp5Op+vr6+NewYYIOwDYZPvss8/HP/7xFStWVPi4d91117JlyyZMmLD/\n/vtX/pft7rrrrqNGjarwQdkkwg4ANlk6nT766KMrf9yXXnpp2bJlU6ZM+dCHPrThXwbP8OTJ\nEwAAgRB2AACBEHYAAIEQdgDAMLJixYqurq64VwwWT54AAMLX1dV11VVXXXfddblcLp1O77DD\nDnPnzp06dWrcuwaYe+wAgMD19vaec845V111VS6Xi6KoWCw+9dRTZ5999l133RX3tAEm7ACA\nwN1yyy1PPvnkqy8pv1jMd77zncBeNcZDsdHDDz98yimnxL2iElauXBn3BBhIP/jBDx5++OHK\nHzeTyURRVCgUKv/ysM3NzfPmzRs9enSFjwtJd99996VSqdf8my2VSqtXr16yZMn2228f17AB\nN6zDrra2Noqi9vb2xx9/PO4tlVP+qCHp2tvbr7nmmrhXxODuu+9+97vfHfcKSJjW1tY3umrd\nunWVXDLYhnXYzZkzJ5vNdnd3V/i4Dz744EsvvbT11lvvscceFT50JpM59NBDK3xQGAx9j568\n7W1v22qrreIdUxnXX399b29vYA8bQWWMGTPmje7EGTt2bIXHDKphHXZjx479yEc+UvnjXnDB\nBS+99NKOO+54xhlnVP7oEJgTTzzxgAMOiHtFJdx66629vb1xr4BEOuSQQxYsWPCaC9Pp9OTJ\nk7fZZps4Fg0WT54AAAK33377HXnkkVEUpdN/L59UKpXNZs8+++xYdw28YX2PHQAwTHziE5/Y\nf//9f/vb3y5ZsmTUqFFTp0496aSTRowYEfeuASbsAIBhYZ999jn44IOz2WypVFq1alXccwaF\nh2IBAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAA\nAiHsAAACkYl7AADAoCsWi7fddtsNN9ywdOnS5ubmt7zlLaeeeurYsWPj3jXAhB0AELhisfjl\nL3/57rvvTqVSpVLplVdeWbBgweLFi7/yla/ssssuca8bSMIOSLbzzjuvrq4u7hWV0NHREfcE\nSKpFixbdfffdURSVSqXyJcViMZ/PX3zxxZdffnkqlYp13UASdkCyrVq1Ku4JwFC3aNGidDpd\nLBZffWGxWFy2bNlzzz03ceLEuIYNOGEXg4MPPnjSpEnbbbdd3EOS6pBDDtluu+1C+ndYYYcc\ncsjEiRO33XbbuIcAVMjq1av77qt7jVdeeSWkbyjCLgbvete76urq8vn82rVr496SSEcccUR1\ndXV3d3dbW1vcWxLpyCOPrKqqyuVyuVwu7i0AldDS0lL+6brXXzVq1KjK7xk8wg5Iti222GKY\n/IzdSy+99JoHkoCNtP/++//hD394zYXpdHrLLbcM7AE0YQck2+c///kDDjgg7hWVMGPGDPdS\nQ/8ceuihv//97x944IG+++3S6XQ6nT7zzDNDeuZE5AWKAYDgpdPpL3/5y6effvrWW2+dTqcb\nGhr23nvv7373u3vssUfc0waYe+wAgPBVVVUde+yxJ598ciaTqampCfUJ9e6xAwCGkdra2rgn\nDCJhBwAQCGEHABAIYQcAEAhhBwAQCGEHABAIYQcAEAhhBwAQCGEHABAIYQcAEAhhBwAQCGEH\nABCITNwDABguVq5cec011zz11FOlUmnKlCmzZ88eN25c3KMgKMIOgEq45557Lrjggt7e3vK7\nTzzxxE033fTJT35yxowZ8Q6DkHgoFoBB197e/rWvfS2fz5depVAofPOb31y9enXc6yAc7rED\nku36669/4IEH4l5RCd3d3XFP6L977723o6PjNReWSqXu7u7FixfPmjUrllUQHmEHJFIqlSq/\ncdttt8W7pML6PvBkefnll9/oquXLl1dyCcPcnXfeuWLFim233fYtb3lL3FsGhbADEqmpqemI\nI4546KGHKn/otWvXdnV11dXVjRw5ssKHHjly5L777lvhgw6IbDb7Rlc1NjZWcgnD3K233nrn\nnXfOmDFD2AEMLfPmzYvluF/5ylfuuOOOvffe+9xzz41lQBK99a1vTaVSpVLp9Vfttddeld8D\nofLkCQAG3TbbbFP+Qbq+h5LLbxx++OE77bRTnMsgLO6xA6ASPvKRj2y77bb//d//3draGkVR\nQ0PDnDlzPG0CBpawA6AS0un00Ucffcwxx3R2dhaLxWw2WygU4h4FoRF2AFTU1ltvHUXR2rVr\n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\ncW9JnnQ6PXPmzCiK2tvbW1tb456TPJlMJpvNRlHU1tZWKpXinpM8fVWU6E+/8leh9Upq2JVK\npeR+Sa2trY0S/iHEq/y1rFgsOoH9Uz6BhULBCdwcTmD/9N1fks/n8/l8vGOSqHyPexRF+Xy+\nWCzGOybRQv3362fsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAA\nAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACIewAAAIh7AAAAiHsAAACkYl7\nAABAhbz97W+fNGnS5MmT4x4yWIQdADBcvPOd78xms6VSadWqVXFvGRQeigUACISwAwAIhLAD\nAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISw\nAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiE\nsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAIhLADAAiEsAMACISwAwAI\nhLADAAiEsAMACISwAwAIRCbuAQAMI9dee+0999yTz+f33nvv2bNnxz2H4SWfz//yl7988skn\nR40atd9+++24445xLxp4wg6ASnjyySc/9alPdXd3l9996KGHrrjiii9/+ct77rlnvMMYJm6/\n/fZvfvObvb295Xd/9rOf7brrrl/96lczmaBayEOxAAy6QqFw5pln9lVdWT6fP/fcc3t6euJa\nxfCxZMmSr3/9631VV/bYY4+dc845cU0aJMIOgEF3+eWXFwqF119eLBa//vWvV34Pw82ll15a\nKpVef/ljjz22evXqyu8ZPMIOgEF3//33v9FVjz/+eCWXMDw999xzb3TV4sWLK7lksAk7AAZd\nsVh8o6vWe08eDKwNfAa+5vHZpBN2AAy6DTz9cOLEiZVcwvA0ZsyYN7pq+vTplVwy2IQdAIPu\n4x//eCqVWu9VZ511VoXHMAy9733vW+/l48aNC+w/LYQdAIMum82eeeaZ6fQ/fdNJpVKnnXba\nlltuGdcqho/999//uOOOe81/XYwcOfLiiy+Oa9IgSa33SSJDXy6Xy+Vyca/op8bGxrq6unw+\nv3bt2ri3JFJzc3N1dXV3d3dbW1vcWxKppaWlqqoq0f+I4jV69Ogoitra2l7z4h28qZ6env/4\nj/9YunRpoVDYbrvtzj333Gw2G/eohKmpqRkxYkQURatXr97Az42xXi+99NJPf/rT5557bsSI\nEfvss8+xxx4b96J+Kn8VWi9hFwNht5mE3WYSdptJ2G2OqqqqlpaWKIrWrl2bz+fjnpM8wm4z\n1dfXZ7PZUqm0atWquLf03wbCzkOxAACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACB\nEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAA\ngRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYAAIEQdgAAgRB2AACBEHYA\nAIFIlUqluDf0Ry6Xy+Vyca/opz//+c9LliwZNWrUQQcdFPeWRLr77rtffvnlCRMmvPWtb417\nSyLdeuutHR0du+yyy0477RT3luQplUrXXnttFEV77733+PHj456TPB0dHbfeemsURQcffHBL\nS0vcc5JnxYoVd911VxRFRx11VHV1ddxzkmfp0qUPP/xwJpM5+uij497Sf6NHj36jqzKV3DGA\nGhoaGhoa4l7RT/fdd98vfvGL3Xff/b3vfW/cWxLp5ptvvueee2bOnPnOd74z7i2JdNVVV73w\nwgtz58494IAD4t6SPMVi8bLLLouiaOutt542bVrcc5Inl8uVT+C+++67gW9OvJG//vWv5RN4\n3HHHjRw5Mu45yXPbbbdddtllTU1N73//++PeMig8FAsAEAhhBwAQCGEHABCIpD55ItG6urp6\nenoymUxyf0wwXrlcLp/PV1dX19fXx70lkdrb24vFYm1tbW1tbdxbEqm1tTWKovr6ej+63g/F\nYrG9vT2Komw2W1VVFfec5Mnn8+XnDjY1NaVSqbjnJE9PT09XV1cqlWpqaop7y6AQdgAAgfBQ\nLABAIIQdAEAghN0mK+XX3PDDiz522qmzT/jXefPP+/1fVsS9CP5J58qfz5o16wPnPvD6q845\nafapn/pTP/7isPKm58GJ2oA3PTm55T+aNWvWj5Yn9RXmN0fb8xfOmjXrt6u74h5CyITdJrv6\n3HmXX3ff+LcefOJ7Dh/Z/vgl555+/ZK2Abz98+Yc968fu3sAb5A3Fdg5T2Uat9pqqzGjNvmJ\nEf3+i4F50/PgRG2AkxOkwL5Ihi2pv3kiLj2tf/jfx9dse9QFn/3IblEUFY876vSTT/vZRTe+\n+79OiGFNKf/80he2nTwxhkMzhNW1HPVf/3VUJf9iYN70PDhRG+DkQLyE3abpXHFHFEW7Hr1d\n+d109ehp2eoFnc9FUfTKw7dc9tPrHn/uxVTjlnseNOv/nTqzJpWKoqhUaL/5p5fddM+jz6/u\n2WaHPd5z6mmH7DgyiqKetid+8r2f3P3I0rXd6bHjdzzypNNn7bvVace95+WeQtR24THH1Fx7\n7TXr/buF7uffc/zHpn3xrPZLLn1mTfd1/7+9Ow+IaX0fAP6cpn2b9kWbtCpK+WqRrZudKKK6\nKFuW5qqQJUtF916+9rVkSd9ryZaIhCJEP0mR6mqTLdoopXXM8vtjKl3NSbkxZno+f43znu19\nzvu88857jlNsLM/C0Wksevmp/QeSnzx9z5A0srSfv9hdR5wCACz6u/PhB5Iy88oaRPQM+rkv\nWjxATYJFL3Ny8TLfEKx06UxGTpG4mq4zbY1G4emIS/dfvafrDRy51t+TSiE+Fm+b4X1n2bqF\n92Jv/p33Rl5Hf7yn3/j+SkASW7LT+CLmPI5UhzoZGU4LMfYO3TJWk/4h79CeyPTcQpDXHjRq\nZuuuuDbX1g0D+kR4+v/jjq2Y7OCzx1cDeXvmC10N4CZ7tvM02oCQP3rfiEl9nF0rrDB4vCfN\nxbZlhf2Sx5b+LTT4zLFlnP1X5ez0DEiyC4pYNVCJayPkbNh+h7wNy7chS8C2zY8s8Vs1lD0I\n8N1cIjVgT9g6+cb7LjM3W/4ZGdxPAQCYjUXO0/1M/MLWGkaRZfrPgGsq0WtSuNfFAACg9nXy\nhq1xeQUlctp9Rrp6T7HWAuwku1tXrkuo+BE/skTmaSW+Ed6K7Rqq/rrY2FiahjTnn5U5V258\naJI3G9FUdWdJ8P4CisYop+l2/dRvnw9fd/IZAACwTwfQwi/n9h5o7+o8Rrkha+fKhZdefARg\n710WfCWtxsxurKujQy92wZFNPum1dNrKAH0JYUkllzVrVpJvCwDwJGSXmNlYr8U+PIpEV7A/\n7aL5nL1XbD7McZy14dt70WtXR7ABgM0M9/U5fjPXYJDDtLF28Px+sPeiB9V0zkbZm/Zq2U8P\nWLVEv/ZF2Ip5W28zPJas9vMclZcS8/ulV6373rnppLr1BP/Vvna9ed+nPgAADdpJREFUGsLX\nLTxTWE0WW7LT+GfM+UAnIwMArE/lqxcGJD6psLR3HDFAN+3Yxtz6TwBA3lybSalO/K3F7Ekm\nACBnagEAHbdJftH5ALasH9LYZ5jfunXThytf+2tTWG5VSwkxa7xmY/Wt5JZGe/9IBkVUzXuA\nImkj/MoO+Q+3BGxBlvgt6t+mrFiyqZQ6aMu+taqiX/ky6uhAvPPVVOLqZOB+trqJo9MY5YYX\nkX/QInKqsJPsXl28Lh0kMl/CGbtvxGZ+vB1zLPT4NSEZ01VLLGpyguuYbCcfH1cNKQDoJX+o\nkqgBgJrnh0/mVk3dfszTgAoAbFeXwJkeUf9NGL9zYJ2WieP8xXOtlQGgbiTDfWFcSg19iZVV\nrLBQuYSBtbVVzfND3LfdNQgAqPpem5fzx/2O8rTtt8rqZ+w95KojAwDjzAMXbY+78cFjYMmB\n+De1IzdE+FgoAcDUqUNnzVhxaH/2f/w1AEDVdtmUof0BQGxsTPKxwnlr5llQxcDE8OKx2PLk\nCnBqvgGtO23DXEd9ALAYaFP22PXCtvipu2y5xlbr731cT2Nkm5jzKEJd08nIAMCL6M2FDYyF\nYbsnaEgBgPNI5Rm+JwCgpiiBa3NtJUq1HD0aAIBeneV/OF9Ge+T2laOBvD07hk35YdX/9zof\nQA5Z3UXeTiMAwFhP50j0rLy0StAV5RRpTfoVTv8eHfd66K96THrx0aIa1RH+MhSC2fiSayPk\nfFNw2aGx/A+rfvfikoC77ThFZIk/GAAAal/fXr7lYCXVZscefw2xr7+muP2Bph9w+27V6qyv\nphJXWhNDgr36AwDb3WXNjDlXt0ROpDVhJ9mNunpdyBL5R51vN8OB3bcoz7q+bfvhvKom4yFT\nf6PN0BKnMPrO0JN9epI2J7WfmWnffnZj3Y3VpQGgPDkbAKKXz4pus7koPKKIT1m/1i89NeP8\nqVevX70qzH0CAF+8K5psW4BBAKBkbfq9q9ld3sTmE0LiLtrN7/hWG7rxwlAAgNwTeQDgaqrA\nWS4saTicKnYz7x7AdACQ1qNyllPEhQDAWKL5Ff/iBMFifo6U6S/qLR8JBxO5pNQLIObGNbZk\np8F3OhkZAMi/VSos3oczqgMAGd3pcsJRACBP0ly/wKSXblka8lbEaOs2miyFgI7aJD8N7Dof\nQA7FQXqcD4SQBAC0fam7qIzVZCXJq1fOwa+rKu4fbGSxp3kaAQBFXKeDBO9gh3ynfQIy2c0D\nO7KMqy8FAEgMCSMIgvKxXLhzfzuB24HceP7N28lU+oKlY0sDoMi6mcqvT0squKCInWQ36up1\nIUtkPoUDuy4rvnWAtjNeWsdm7fpFVnrNv7OFJY23Hz2UevvuoydPHt88FXsm0nCo11b/CRQx\nCgDMXL5Ku81PUiGKFKM+N8QvOKeBambW38jAwtxSbMee5C8ORLZt8xGl+ebaMelMIChCn7tg\nNpPJIoQowAYAaNurUwgCWMzmf3Suy2awPn9mNbGA1dhUn/vfpVxiS3YaQrz+buiyTp8w5cuv\nTEKIADZ5c227KpvVELFmRXqN7MrQIN2W56I6bpN8o4tXnCLZ0XzSeA+Dizvu3fjQVPxXvoTS\nRAd5cQDoOME73iF/aZ+ArQtIEx8AAFSt3ENcYMHKqKDQ/zvgZ9d+zyzGP262tj8QE4DncexM\nKkG7unyBIChAZ2En2Y2+4bpwTWQ+hc/YdQ2z8bn/7njVIXMP71rdOqoDgKLjW9cHb9MbPsF7\n2dq9R6LWDlHJuxNeyWAr25kBQLGEgY2NjY2NjbWVWeK5M/GPKW9vHH5UWu+7b0/git9cnSeY\nyjW1PxbZtj+sst2l1xhtNrMu9m3za6uqcvc4OztHltap2usDwNncD5zljIbCWx8aZY2GdGnn\nWTH5nA9s5sdTT6sklMa9u8k9tmSn8e8r+NMycFBnNBbFlzRXubb4QuUnFpA31zabsq9sX3a5\nsGHWhq22Kp87OIFpk91IxXaBmBBx7sTF8xUN/eZP5izsTIILhvYJKNIyCOg442znT1Yzdvez\nUytJ2hLz/CNA8/jl04fm55w+PE3s+ECiP8FogzSVOqxLekwe5wOb+fF0TpWk+mTdcdhJdqdv\nuC5cE5lP8c2sz0+iPPVQPZOtQXl59EBY60IRyb4ugxSzziQHhOwcYdobassfpL2T1hwpL0wQ\nmh6T9G9c3rxcaMIYTUlG3qOkh89Yvit1ZSr0APIvHouq1lMoKchNuf0QAPJiL2Z5ThcliKaa\nu9fiK8eM474twDveBeBbqI9YPTBy9v/8/Csch0s0lt1PvC2lMXKmmqSomu8otQcJQUth4mhV\niU/pCVfqCLk1fuYAlZ3f+ZvrwesZE/qpiOenXP27gen2u5tM00musX0/c/lAqlf70wCANjHn\nj8cWO0l78mr9swsO+vi9GDdcTqg26fJVznJ5C+7NtXUioOh0YHjyGwXzKdTSjBulzQvt7H+R\nJmnPvKjcz4IipjW7t2z4teNCIgo0KxXOQpk+3BM8240v/wNsB9onIEDzw0xkic8o+7z58KWB\nMelLTgbuGhW5TkrSRE2Ukhe6/eibYXKssriYx187EO+RpRJ0WJfiq8Hrm8b3UxXPu3ctpwHm\nbHVR70VgJ9mNvuG6cE1kPoUzdl1TmfYeAApuJV5tIyEpW950bshiF2rF00unj1+7+0hluMum\nHTQCAEBo3tbQ+eNMC+8nRMUkllNMlm3aa68iIW+6OMBjXF1G4tHIc7llzNl/HJw31oaZlVZK\nZ01zdVClpEUcjyHblsch6DqCIrU2fJvjQMXUhPMX72RSrZ03b/cWJQggKLR9e9yH62XfjT91\n6RZT0yZwX5iplEiXdu60agG8zoqJjisR6T0vMMxdn0oaW6YE99MAaBNzgSIkorQ5/E+H/opp\niTFX7+eaua3ztjbT05Ymb67Nyu48B4DKzPO726hmsAWmTXavwV6WAKA8iKYg3BxFskZYQmd1\nuCf+0z4BW4tIE78Niqjm+uUOTdVpgSdyCAp1S4i3iVJ1/JkTNzNeOgXtNTc21pIV++qBeIgs\nlcjqQhHrZWho+OdGL6G32THR8RUS+t5/hDtpSWMn2b26el04W7VPZD5F8PVzu6gHqq94kVkg\nZTtYmfOKpjkRZ5yV+PhhiG7UGhlenwi/6kwAq17nFtSrWxl126ii23f4w/ywBMRM7yrsJHs4\nvBWL+Iykcm9bHLpwg5H5lzoTQHkt4+5930O37xAh7Ap6OLwVixBCCCEkIPBWLEIIIYSQgMAZ\nO4QQQgghAYEDO4QQQgghAYEDO4QQQgghAYEDO4QQQgghAYEDO4QQQgghAYEDO4QQ4sJFWUpY\nrBevzwIhhLoGB3YIIYQQQgICB3YIIYQQQgICB3YIIYQQQgICB3YIoR6tMvvCjEkO+uqyMspa\nNqM8zj8o4bpaRvQ+JzsLTWWqqJR8H+MBi4JCKxksThHrU3nE796WJnpUcXFVbcOxs9emVTR+\ntQghhL4H/JNiCKGe6+XFVWYu2xpEdcY62isJvYs9F1fFljqS/XK2kZyLstSFGiqj6S0AvLyw\nVHfKblGqgfPkYdKfKtLu384s+qDrfLDovBcAe+MY7aDrxZqmNsNs+pZmptx8mCet4fTiRbSi\nMEFehD+qEULfBQ7sEEI9FIteYiSn/QJ0bjx7MkxdEgAqn+xRNPeV0w+uKghqO7Dz0ZTd97Yu\nrrR2nIoEALCZtXYKSql1okxGTUPFaUkVN2qf4KpnQQQAABy2UfdKLV2YX7lT7jpZ0QEDeZ5V\nGyEk0IR5fQIIIcQbFRlLCxsYfRcd5YzqAEDBzGfHmjclLJEv1lwSf3ceW8RcRaJ1iQyFYDE/\nAgAQFACgVz9Kya2wM1YGgHl3X85ksCii4oxK0qIfUT2EUI+EM3YIoR7qUZCl5cZH41NK4mzV\n2pe2nbEDgNLM5JsPM7OzsrKyM1NT0isaGADA6T+jfhs9KzSRyWbrmg8ZYmvzy5gJkycOkxcW\n6rgIIYS+B+xfEEI9FIvOAgBChPjqmsd9f+llMdyDFnz3Wa25vWvYuQQ3FcnWUvd91988StwZ\nvLSvbF3skZ1znO21ettdelvXcRFCCH0POGOHEOqhihMmao2OM1uRmrnFqnXhX8tpd6qbdoYf\nmqMmzZmxqy+LlFKbI2+8oujJZjmR5h/Ds9Wk/1dWx2az64oz0gpr5EysB6hIAACzqfxiuPdU\n32jVQSefnTciKyp94M6TKiOEBB7O2CGEeig1uy3KIpSnoXPT3jW/gqS+5NKiXWGnLjfKUD5P\n4zXVpAAA1dChdVRXnro/qqIeAFgAVU8D7e3tJ3mc5RRRxFRGOJgBAJvB7qDoB9UQIdTz4Iwd\nQqjnyj4413JxJEjqOzrZq4nXXz11+nmD8N701zRzxdZn7JhNLwerGD2sEx3vMt2ir2pJbmrU\nuTsakkR+DX2sx6KAbUuD+w5Iet/wn3FuNobKZfmZKUkpJQyZfemFC4xqRmmYcC1abKbA66oj\nhAQTztghhHqufgsint85OsFW5eHVE8dj76jaukanFtHMFduuQxHTSXgYM2d034yEqF1hUfnV\nCgduPU9LP+U5aUhpQf4nEZ1Lj6+v8hhdnXPr8P7w21lv9Md7Rd97uthMgSLWm6yIV/VFCAk8\nnLFDCCGEEBIQOGOHEEIIISQgcGCHEEIIISQgcGCHEEIIISQgcGCHEEIIISQgcGCHEEIIISQg\ncGCHEEIIISQgcGCHEEIIISQgcGCHEEIIISQg/h/JCFfrb3TD8AAAAABJRU5ErkJggg==", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# creando un diagrama de cajas\n", "ggplot(data = mpg, mapping = aes(x = class, y = hwy)) + \n", " geom_boxplot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ahora veamos como podemos manipular los datos con [dplyr](https://cran.r-project.org/web/packages/dplyr/)" ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
manufacturermodeldisplyearcyltransdrvctyhwyflclass
chevrolet c1500 suburban 2wd5.3 2008 8 auto(l4) r 14 20 r suv
chevrolet c1500 suburban 2wd5.3 2008 8 auto(l4) r 11 15 e suv
chevrolet c1500 suburban 2wd5.3 2008 8 auto(l4) r 14 20 r suv
chevrolet c1500 suburban 2wd5.7 1999 8 auto(l4) r 13 17 r suv
chevrolet c1500 suburban 2wd6.0 2008 8 auto(l4) r 12 17 r suv
chevrolet corvette 5.7 1999 8 manual(m6) r 16 26 p 2seater
chevrolet corvette 5.7 1999 8 auto(l4) r 15 23 p 2seater
chevrolet corvette 6.2 2008 8 manual(m6) r 16 26 p 2seater
chevrolet corvette 6.2 2008 8 auto(s6) r 15 25 p 2seater
chevrolet corvette 7.0 2008 8 manual(m6) r 15 24 p 2seater
chevrolet k1500 tahoe 4wd 5.3 2008 8 auto(l4) 4 14 19 r suv
chevrolet k1500 tahoe 4wd 5.3 2008 8 auto(l4) 4 11 14 e suv
chevrolet k1500 tahoe 4wd 5.7 1999 8 auto(l4) 4 11 15 r suv
chevrolet k1500 tahoe 4wd 6.5 1999 8 auto(l4) 4 14 17 d suv
\n" ], "text/latex": [ "\\begin{tabular}{r|lllllllllll}\n", " manufacturer & model & displ & year & cyl & trans & drv & cty & hwy & fl & class\\\\\n", "\\hline\n", "\t chevrolet & c1500 suburban 2wd & 5.3 & 2008 & 8 & auto(l4) & r & 14 & 20 & r & suv \\\\\n", "\t chevrolet & c1500 suburban 2wd & 5.3 & 2008 & 8 & auto(l4) & r & 11 & 15 & e & suv \\\\\n", "\t chevrolet & c1500 suburban 2wd & 5.3 & 2008 & 8 & auto(l4) & r & 14 & 20 & r & suv \\\\\n", "\t chevrolet & c1500 suburban 2wd & 5.7 & 1999 & 8 & auto(l4) & r & 13 & 17 & r & suv \\\\\n", "\t chevrolet & c1500 suburban 2wd & 6.0 & 2008 & 8 & auto(l4) & r & 12 & 17 & r & suv \\\\\n", "\t chevrolet & corvette & 5.7 & 1999 & 8 & manual(m6) & r & 16 & 26 & p & 2seater \\\\\n", "\t chevrolet & corvette & 5.7 & 1999 & 8 & auto(l4) & r & 15 & 23 & p & 2seater \\\\\n", "\t chevrolet & corvette & 6.2 & 2008 & 8 & manual(m6) & r & 16 & 26 & p & 2seater \\\\\n", "\t chevrolet & corvette & 6.2 & 2008 & 8 & auto(s6) & r & 15 & 25 & p & 2seater \\\\\n", "\t chevrolet & corvette & 7.0 & 2008 & 8 & manual(m6) & r & 15 & 24 & p & 2seater \\\\\n", "\t chevrolet & k1500 tahoe 4wd & 5.3 & 2008 & 8 & auto(l4) & 4 & 14 & 19 & r & suv \\\\\n", "\t chevrolet & k1500 tahoe 4wd & 5.3 & 2008 & 8 & auto(l4) & 4 & 11 & 14 & e & suv \\\\\n", "\t chevrolet & k1500 tahoe 4wd & 5.7 & 1999 & 8 & auto(l4) & 4 & 11 & 15 & r & suv \\\\\n", "\t chevrolet & k1500 tahoe 4wd & 6.5 & 1999 & 8 & auto(l4) & 4 & 14 & 17 & d & suv \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "manufacturer | model | displ | year | cyl | trans | drv | cty | hwy | fl | class | \n", "|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n", "| chevrolet | c1500 suburban 2wd | 5.3 | 2008 | 8 | auto(l4) | r | 14 | 20 | r | suv | \n", "| chevrolet | c1500 suburban 2wd | 5.3 | 2008 | 8 | auto(l4) | r | 11 | 15 | e | suv | \n", "| chevrolet | c1500 suburban 2wd | 5.3 | 2008 | 8 | auto(l4) | r | 14 | 20 | r | suv | \n", "| chevrolet | c1500 suburban 2wd | 5.7 | 1999 | 8 | auto(l4) | r | 13 | 17 | r | suv | \n", "| chevrolet | c1500 suburban 2wd | 6.0 | 2008 | 8 | auto(l4) | r | 12 | 17 | r | suv | \n", "| chevrolet | corvette | 5.7 | 1999 | 8 | manual(m6) | r | 16 | 26 | p | 2seater | \n", "| chevrolet | corvette | 5.7 | 1999 | 8 | auto(l4) | r | 15 | 23 | p | 2seater | \n", "| chevrolet | corvette | 6.2 | 2008 | 8 | manual(m6) | r | 16 | 26 | p | 2seater | \n", "| chevrolet | corvette | 6.2 | 2008 | 8 | auto(s6) | r | 15 | 25 | p | 2seater | \n", "| chevrolet | corvette | 7.0 | 2008 | 8 | manual(m6) | r | 15 | 24 | p | 2seater | \n", "| chevrolet | k1500 tahoe 4wd | 5.3 | 2008 | 8 | auto(l4) | 4 | 14 | 19 | r | suv | \n", "| chevrolet | k1500 tahoe 4wd | 5.3 | 2008 | 8 | auto(l4) | 4 | 11 | 14 | e | suv | \n", "| chevrolet | k1500 tahoe 4wd | 5.7 | 1999 | 8 | auto(l4) | 4 | 11 | 15 | r | suv | \n", "| chevrolet | k1500 tahoe 4wd | 6.5 | 1999 | 8 | auto(l4) | 4 | 14 | 17 | d | suv | \n", "\n", "\n" ], "text/plain": [ " manufacturer model displ year cyl trans drv cty hwy fl\n", "1 chevrolet c1500 suburban 2wd 5.3 2008 8 auto(l4) r 14 20 r \n", "2 chevrolet c1500 suburban 2wd 5.3 2008 8 auto(l4) r 11 15 e \n", "3 chevrolet c1500 suburban 2wd 5.3 2008 8 auto(l4) r 14 20 r \n", "4 chevrolet c1500 suburban 2wd 5.7 1999 8 auto(l4) r 13 17 r \n", "5 chevrolet c1500 suburban 2wd 6.0 2008 8 auto(l4) r 12 17 r \n", "6 chevrolet corvette 5.7 1999 8 manual(m6) r 16 26 p \n", "7 chevrolet corvette 5.7 1999 8 auto(l4) r 15 23 p \n", "8 chevrolet corvette 6.2 2008 8 manual(m6) r 16 26 p \n", "9 chevrolet corvette 6.2 2008 8 auto(s6) r 15 25 p \n", "10 chevrolet corvette 7.0 2008 8 manual(m6) r 15 24 p \n", "11 chevrolet k1500 tahoe 4wd 5.3 2008 8 auto(l4) 4 14 19 r \n", "12 chevrolet k1500 tahoe 4wd 5.3 2008 8 auto(l4) 4 11 14 e \n", "13 chevrolet k1500 tahoe 4wd 5.7 1999 8 auto(l4) 4 11 15 r \n", "14 chevrolet k1500 tahoe 4wd 6.5 1999 8 auto(l4) 4 14 17 d \n", " class \n", "1 suv \n", "2 suv \n", "3 suv \n", "4 suv \n", "5 suv \n", "6 2seater\n", "7 2seater\n", "8 2seater\n", "9 2seater\n", "10 2seater\n", "11 suv \n", "12 suv \n", "13 suv \n", "14 suv " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Ejemplo dplyr\n", "# usando filter para encontrar los modelos de chevrolet de 8 cilindros.\n", "(chev <- filter(mpg, cyl == 8, manufacturer == 'chevrolet'))" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
manufacturermodeldisplyearcyltransdrvctyhwyflclass
audi a4 1.8 1999 4 auto(l5) f 18 29 p compact
audi a4 1.8 1999 4 manual(m5)f 21 29 p compact
audi a4 2.0 2008 4 manual(m6)f 20 31 p compact
audi a4 2.0 2008 4 auto(av) f 21 30 p compact
audi a4 2.8 1999 6 auto(l5) f 16 26 p compact
audi a4 2.8 1999 6 manual(m5)f 18 26 p compact
audi a4 3.1 2008 6 auto(av) f 18 27 p compact
audi a4 quattro1.8 1999 4 manual(m5)4 18 26 p compact
audi a4 quattro1.8 1999 4 auto(l5) 4 16 25 p compact
audi a4 quattro2.0 2008 4 manual(m6)4 20 28 p compact
audi a4 quattro2.0 2008 4 auto(s6) 4 19 27 p compact
audi a4 quattro2.8 1999 6 auto(l5) 4 15 25 p compact
audi a4 quattro2.8 1999 6 manual(m5)4 17 25 p compact
audi a4 quattro3.1 2008 6 auto(s6) 4 17 25 p compact
audi a4 quattro3.1 2008 6 manual(m6)4 15 25 p compact
audi a6 quattro2.8 1999 6 auto(l5) 4 15 24 p midsize
audi a6 quattro3.1 2008 6 auto(s6) 4 17 25 p midsize
\n" ], "text/latex": [ "\\begin{tabular}{r|lllllllllll}\n", " manufacturer & model & displ & year & cyl & trans & drv & cty & hwy & fl & class\\\\\n", "\\hline\n", "\t audi & a4 & 1.8 & 1999 & 4 & auto(l5) & f & 18 & 29 & p & compact \\\\\n", "\t audi & a4 & 1.8 & 1999 & 4 & manual(m5) & f & 21 & 29 & p & compact \\\\\n", "\t audi & a4 & 2.0 & 2008 & 4 & manual(m6) & f & 20 & 31 & p & compact \\\\\n", "\t audi & a4 & 2.0 & 2008 & 4 & auto(av) & f & 21 & 30 & p & compact \\\\\n", "\t audi & a4 & 2.8 & 1999 & 6 & auto(l5) & f & 16 & 26 & p & compact \\\\\n", "\t audi & a4 & 2.8 & 1999 & 6 & manual(m5) & f & 18 & 26 & p & compact \\\\\n", "\t audi & a4 & 3.1 & 2008 & 6 & auto(av) & f & 18 & 27 & p & compact \\\\\n", "\t audi & a4 quattro & 1.8 & 1999 & 4 & manual(m5) & 4 & 18 & 26 & p & compact \\\\\n", "\t audi & a4 quattro & 1.8 & 1999 & 4 & auto(l5) & 4 & 16 & 25 & p & compact \\\\\n", "\t audi & a4 quattro & 2.0 & 2008 & 4 & manual(m6) & 4 & 20 & 28 & p & compact \\\\\n", "\t audi & a4 quattro & 2.0 & 2008 & 4 & auto(s6) & 4 & 19 & 27 & p & compact \\\\\n", "\t audi & a4 quattro & 2.8 & 1999 & 6 & auto(l5) & 4 & 15 & 25 & p & compact \\\\\n", "\t audi & a4 quattro & 2.8 & 1999 & 6 & manual(m5) & 4 & 17 & 25 & p & compact \\\\\n", "\t audi & a4 quattro & 3.1 & 2008 & 6 & auto(s6) & 4 & 17 & 25 & p & compact \\\\\n", "\t audi & a4 quattro & 3.1 & 2008 & 6 & manual(m6) & 4 & 15 & 25 & p & compact \\\\\n", "\t audi & a6 quattro & 2.8 & 1999 & 6 & auto(l5) & 4 & 15 & 24 & p & midsize \\\\\n", "\t audi & a6 quattro & 3.1 & 2008 & 6 & auto(s6) & 4 & 17 & 25 & p & midsize \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "manufacturer | model | displ | year | cyl | trans | drv | cty | hwy | fl | class | \n", "|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n", "| audi | a4 | 1.8 | 1999 | 4 | auto(l5) | f | 18 | 29 | p | compact | \n", "| audi | a4 | 1.8 | 1999 | 4 | manual(m5) | f | 21 | 29 | p | compact | \n", "| audi | a4 | 2.0 | 2008 | 4 | manual(m6) | f | 20 | 31 | p | compact | \n", "| audi | a4 | 2.0 | 2008 | 4 | auto(av) | f | 21 | 30 | p | compact | \n", "| audi | a4 | 2.8 | 1999 | 6 | auto(l5) | f | 16 | 26 | p | compact | \n", "| audi | a4 | 2.8 | 1999 | 6 | manual(m5) | f | 18 | 26 | p | compact | \n", "| audi | a4 | 3.1 | 2008 | 6 | auto(av) | f | 18 | 27 | p | compact | \n", "| audi | a4 quattro | 1.8 | 1999 | 4 | manual(m5) | 4 | 18 | 26 | p | compact | \n", "| audi | a4 quattro | 1.8 | 1999 | 4 | auto(l5) | 4 | 16 | 25 | p | compact | \n", "| audi | a4 quattro | 2.0 | 2008 | 4 | manual(m6) | 4 | 20 | 28 | p | compact | \n", "| audi | a4 quattro | 2.0 | 2008 | 4 | auto(s6) | 4 | 19 | 27 | p | compact | \n", "| audi | a4 quattro | 2.8 | 1999 | 6 | auto(l5) | 4 | 15 | 25 | p | compact | \n", "| audi | a4 quattro | 2.8 | 1999 | 6 | manual(m5) | 4 | 17 | 25 | p | compact | \n", "| audi | a4 quattro | 3.1 | 2008 | 6 | auto(s6) | 4 | 17 | 25 | p | compact | \n", "| audi | a4 quattro | 3.1 | 2008 | 6 | manual(m6) | 4 | 15 | 25 | p | compact | \n", "| audi | a6 quattro | 2.8 | 1999 | 6 | auto(l5) | 4 | 15 | 24 | p | midsize | \n", "| audi | a6 quattro | 3.1 | 2008 | 6 | auto(s6) | 4 | 17 | 25 | p | midsize | \n", "\n", "\n" ], "text/plain": [ " manufacturer model displ year cyl trans drv cty hwy fl class \n", "1 audi a4 1.8 1999 4 auto(l5) f 18 29 p compact\n", "2 audi a4 1.8 1999 4 manual(m5) f 21 29 p compact\n", "3 audi a4 2.0 2008 4 manual(m6) f 20 31 p compact\n", "4 audi a4 2.0 2008 4 auto(av) f 21 30 p compact\n", "5 audi a4 2.8 1999 6 auto(l5) f 16 26 p compact\n", "6 audi a4 2.8 1999 6 manual(m5) f 18 26 p compact\n", "7 audi a4 3.1 2008 6 auto(av) f 18 27 p compact\n", "8 audi a4 quattro 1.8 1999 4 manual(m5) 4 18 26 p compact\n", "9 audi a4 quattro 1.8 1999 4 auto(l5) 4 16 25 p compact\n", "10 audi a4 quattro 2.0 2008 4 manual(m6) 4 20 28 p compact\n", "11 audi a4 quattro 2.0 2008 4 auto(s6) 4 19 27 p compact\n", "12 audi a4 quattro 2.8 1999 6 auto(l5) 4 15 25 p compact\n", "13 audi a4 quattro 2.8 1999 6 manual(m5) 4 17 25 p compact\n", "14 audi a4 quattro 3.1 2008 6 auto(s6) 4 17 25 p compact\n", "15 audi a4 quattro 3.1 2008 6 manual(m6) 4 15 25 p compact\n", "16 audi a6 quattro 2.8 1999 6 auto(l5) 4 15 24 p midsize\n", "17 audi a6 quattro 3.1 2008 6 auto(s6) 4 17 25 p midsize" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# filtrado más avanzado\n", "filter(mpg, cyl %in% c(4, 6) & manufacturer == 'audi')" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
manufacturermodeldisplyearcyltransdrvctyhwyflclass
chevrolet corvette 5.7 1999 8 manual(m6)r 16 26 p 2seater
chevrolet corvette 5.7 1999 8 auto(l4) r 15 23 p 2seater
audi a4 1.8 1999 4 auto(l5) f 18 29 p compact
audi a4 1.8 1999 4 manual(m5)f 21 29 p compact
audi a4 2.8 1999 6 auto(l5) f 16 26 p compact
audi a4 2.8 1999 6 manual(m5)f 18 26 p compact
\n" ], "text/latex": [ "\\begin{tabular}{r|lllllllllll}\n", " manufacturer & model & displ & year & cyl & trans & drv & cty & hwy & fl & class\\\\\n", "\\hline\n", "\t chevrolet & corvette & 5.7 & 1999 & 8 & manual(m6) & r & 16 & 26 & p & 2seater \\\\\n", "\t chevrolet & corvette & 5.7 & 1999 & 8 & auto(l4) & r & 15 & 23 & p & 2seater \\\\\n", "\t audi & a4 & 1.8 & 1999 & 4 & auto(l5) & f & 18 & 29 & p & compact \\\\\n", "\t audi & a4 & 1.8 & 1999 & 4 & manual(m5) & f & 21 & 29 & p & compact \\\\\n", "\t audi & a4 & 2.8 & 1999 & 6 & auto(l5) & f & 16 & 26 & p & compact \\\\\n", "\t audi & a4 & 2.8 & 1999 & 6 & manual(m5) & f & 18 & 26 & p & compact \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "manufacturer | model | displ | year | cyl | trans | drv | cty | hwy | fl | class | \n", "|---|---|---|---|---|---|\n", "| chevrolet | corvette | 5.7 | 1999 | 8 | manual(m6) | r | 16 | 26 | p | 2seater | \n", "| chevrolet | corvette | 5.7 | 1999 | 8 | auto(l4) | r | 15 | 23 | p | 2seater | \n", "| audi | a4 | 1.8 | 1999 | 4 | auto(l5) | f | 18 | 29 | p | compact | \n", "| audi | a4 | 1.8 | 1999 | 4 | manual(m5) | f | 21 | 29 | p | compact | \n", "| audi | a4 | 2.8 | 1999 | 6 | auto(l5) | f | 16 | 26 | p | compact | \n", "| audi | a4 | 2.8 | 1999 | 6 | manual(m5) | f | 18 | 26 | p | compact | \n", "\n", "\n" ], "text/plain": [ " manufacturer model displ year cyl trans drv cty hwy fl class \n", "1 chevrolet corvette 5.7 1999 8 manual(m6) r 16 26 p 2seater\n", "2 chevrolet corvette 5.7 1999 8 auto(l4) r 15 23 p 2seater\n", "3 audi a4 1.8 1999 4 auto(l5) f 18 29 p compact\n", "4 audi a4 1.8 1999 4 manual(m5) f 21 29 p compact\n", "5 audi a4 2.8 1999 6 auto(l5) f 16 26 p compact\n", "6 audi a4 2.8 1999 6 manual(m5) f 18 26 p compact" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Ordenar por year, class y manufacturer\n", "head(arrange(mpg, year, class, manufacturer))" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
yearclassmanufacturer
1999 compactaudi
1999 compactaudi
2008 compactaudi
2008 compactaudi
1999 compactaudi
1999 compactaudi
\n" ], "text/latex": [ "\\begin{tabular}{r|lll}\n", " year & class & manufacturer\\\\\n", "\\hline\n", "\t 1999 & compact & audi \\\\\n", "\t 1999 & compact & audi \\\\\n", "\t 2008 & compact & audi \\\\\n", "\t 2008 & compact & audi \\\\\n", "\t 1999 & compact & audi \\\\\n", "\t 1999 & compact & audi \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "year | class | manufacturer | \n", "|---|---|---|---|---|---|\n", "| 1999 | compact | audi | \n", "| 1999 | compact | audi | \n", "| 2008 | compact | audi | \n", "| 2008 | compact | audi | \n", "| 1999 | compact | audi | \n", "| 1999 | compact | audi | \n", "\n", "\n" ], "text/plain": [ " year class manufacturer\n", "1 1999 compact audi \n", "2 1999 compact audi \n", "3 2008 compact audi \n", "4 2008 compact audi \n", "5 1999 compact audi \n", "6 1999 compact audi " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Seleccinando columnas por nombre\n", "head(select(mpg, year, class, manufacturer))" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\n", "
displ_mean
3.471795
\n" ], "text/latex": [ "\\begin{tabular}{r|l}\n", " displ\\_mean\\\\\n", "\\hline\n", "\t 3.471795\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "displ_mean | \n", "|---|\n", "| 3.471795 | \n", "\n", "\n" ], "text/plain": [ " displ_mean\n", "1 3.471795 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# sumariazando\n", "summarise(mpg, displ_mean = mean(displ, na.rm = TRUE))" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
manufactureryearmodelcount
chevrolet 1999 c1500 suburban 2wd1
chevrolet 1999 corvette 2
chevrolet 1999 k1500 tahoe 4wd 2
chevrolet 1999 malibu 2
chevrolet 2008 c1500 suburban 2wd4
chevrolet 2008 corvette 3
chevrolet 2008 k1500 tahoe 4wd 2
chevrolet 2008 malibu 3
\n" ], "text/latex": [ "\\begin{tabular}{r|llll}\n", " manufacturer & year & model & count\\\\\n", "\\hline\n", "\t chevrolet & 1999 & c1500 suburban 2wd & 1 \\\\\n", "\t chevrolet & 1999 & corvette & 2 \\\\\n", "\t chevrolet & 1999 & k1500 tahoe 4wd & 2 \\\\\n", "\t chevrolet & 1999 & malibu & 2 \\\\\n", "\t chevrolet & 2008 & c1500 suburban 2wd & 4 \\\\\n", "\t chevrolet & 2008 & corvette & 3 \\\\\n", "\t chevrolet & 2008 & k1500 tahoe 4wd & 2 \\\\\n", "\t chevrolet & 2008 & malibu & 3 \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "manufacturer | year | model | count | \n", "|---|---|---|---|---|---|---|---|\n", "| chevrolet | 1999 | c1500 suburban 2wd | 1 | \n", "| chevrolet | 1999 | corvette | 2 | \n", "| chevrolet | 1999 | k1500 tahoe 4wd | 2 | \n", "| chevrolet | 1999 | malibu | 2 | \n", "| chevrolet | 2008 | c1500 suburban 2wd | 4 | \n", "| chevrolet | 2008 | corvette | 3 | \n", "| chevrolet | 2008 | k1500 tahoe 4wd | 2 | \n", "| chevrolet | 2008 | malibu | 3 | \n", "\n", "\n" ], "text/plain": [ " manufacturer year model count\n", "1 chevrolet 1999 c1500 suburban 2wd 1 \n", "2 chevrolet 1999 corvette 2 \n", "3 chevrolet 1999 k1500 tahoe 4wd 2 \n", "4 chevrolet 1999 malibu 2 \n", "5 chevrolet 2008 c1500 suburban 2wd 4 \n", "6 chevrolet 2008 corvette 3 \n", "7 chevrolet 2008 k1500 tahoe 4wd 2 \n", "8 chevrolet 2008 malibu 3 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Combinando con pipe para obtener la cuenta de modelos por año.\n", "(chev <- group_by(mpg, manufacturer,year, model) %>% \n", " select(manufacturer, model, year) %>% \n", " summarise(count= n()) %>% \n", " filter(manufacturer == 'chevrolet'))" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "### Caret\n", "\n", "A la hora de simplificar el proceso de [Machine Learning](http://relopezbriega.github.io/blog/2015/10/10/machine-learning-con-python/), el paquete [Caret](https://cran.r-project.org/web/packages/caret/) puede sernos de gran ayuda. Este paquete nos ofrece una serie de herramientas para la construcción de modelos de [Machine Learning](http://relopezbriega.github.io/blog/2015/10/10/machine-learning-con-python/) en [R](https://cloud.r-project.org/). [Caret](https://cran.r-project.org/web/packages/caret/) nos proporciona herramientas esenciales para: la etapa de preparación de los datos, para dividir el conjunto de datos, seleccionar los principales atributos, y para evaluar los modelos. Veamos un pequeño ejemplo:" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
mpgcyldisphpdratwtqsecvsamgearcarb
Mazda RX421.0 6 160 110 3.90 2.62016.460 1 4 4
Mazda RX4 Wag21.0 6 160 110 3.90 2.87517.020 1 4 4
Datsun 71022.8 4 108 93 3.85 2.32018.611 1 4 1
Hornet 4 Drive21.4 6 258 110 3.08 3.21519.441 0 3 1
Hornet Sportabout18.7 8 360 175 3.15 3.44017.020 0 3 2
Valiant18.1 6 225 105 2.76 3.46020.221 0 3 1
\n" ], "text/latex": [ "\\begin{tabular}{r|lllllllllll}\n", " & mpg & cyl & disp & hp & drat & wt & qsec & vs & am & gear & carb\\\\\n", "\\hline\n", "\tMazda RX4 & 21.0 & 6 & 160 & 110 & 3.90 & 2.620 & 16.46 & 0 & 1 & 4 & 4 \\\\\n", "\tMazda RX4 Wag & 21.0 & 6 & 160 & 110 & 3.90 & 2.875 & 17.02 & 0 & 1 & 4 & 4 \\\\\n", "\tDatsun 710 & 22.8 & 4 & 108 & 93 & 3.85 & 2.320 & 18.61 & 1 & 1 & 4 & 1 \\\\\n", "\tHornet 4 Drive & 21.4 & 6 & 258 & 110 & 3.08 & 3.215 & 19.44 & 1 & 0 & 3 & 1 \\\\\n", "\tHornet Sportabout & 18.7 & 8 & 360 & 175 & 3.15 & 3.440 & 17.02 & 0 & 0 & 3 & 2 \\\\\n", "\tValiant & 18.1 & 6 & 225 & 105 & 2.76 & 3.460 & 20.22 & 1 & 0 & 3 & 1 \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "| | mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | carb | \n", "|---|---|---|---|---|---|\n", "| Mazda RX4 | 21.0 | 6 | 160 | 110 | 3.90 | 2.620 | 16.46 | 0 | 1 | 4 | 4 | \n", "| Mazda RX4 Wag | 21.0 | 6 | 160 | 110 | 3.90 | 2.875 | 17.02 | 0 | 1 | 4 | 4 | \n", "| Datsun 710 | 22.8 | 4 | 108 | 93 | 3.85 | 2.320 | 18.61 | 1 | 1 | 4 | 1 | \n", "| Hornet 4 Drive | 21.4 | 6 | 258 | 110 | 3.08 | 3.215 | 19.44 | 1 | 0 | 3 | 1 | \n", "| Hornet Sportabout | 18.7 | 8 | 360 | 175 | 3.15 | 3.440 | 17.02 | 0 | 0 | 3 | 2 | \n", "| Valiant | 18.1 | 6 | 225 | 105 | 2.76 | 3.460 | 20.22 | 1 | 0 | 3 | 1 | \n", "\n", "\n" ], "text/plain": [ " mpg cyl disp hp drat wt qsec vs am gear carb\n", "Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 \n", "Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 \n", "Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 \n", "Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 \n", "Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 \n", "Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Ejemplo de Caret para modelado\n", "# utiizando el dataset mtcars incluido en ggplot2\n", "head(mtcars)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": {}, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n/D+YGDguQKk/5wAAAABJRU5ErkJggg==", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Diagrama de dispersión para ver la relación entre atributos mpg y wt\n", "ggplot(data = mtcars, aes(x = wt, y = mpg)) +\n", " geom_point()" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "# Parece existir una relación.\n", "# construyendo el modelo con train\n", "require(caret)\n", "\n", "modelo.mtcars_lm <- train(mpg ~ wt\n", " ,mtcars\n", " ,method = \"lm\"\n", " )" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "text/html": [ "(Intercept): 37.285126167342" ], "text/latex": [ "\\textbf{(Intercept):} 37.285126167342" ], "text/markdown": [ "**(Intercept):** 37.285126167342" ], "text/plain": [ "(Intercept) \n", " 37.28513 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Obteniendo los coeficientes de \n", "# - pendiente\n", "# - intercepcion\n", "coef.itercep <- coef(modelo.mtcars_lm$finalModel)[1]\n", "coef.pendiente <- coef(modelo.mtcars_lm$finalModel)[2]\n", "coef.itercep" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/html": [ "wt: -5.34447157272267" ], "text/latex": [ "\\textbf{wt:} -5.34447157272267" ], "text/markdown": [ "**wt:** -5.34447157272267" ], "text/plain": [ " wt \n", "-5.344472 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "coef.pendiente" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": {}, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0gAAANICAIAAAByhViMAAAABmJLR0QA/wD/AP+gvaeTAAAg\nAElEQVR4nOzdeXwTdf7H8c9M7jZNQssliKCCCHiuoKLiCYLQciugoMsprsKqXMKKIt4oKoiI\ncghyKzcF6oUXLqvw81ZUQMQLRI4mbdM0x8zvj2CtXJaSZJr09fxjH+ScN1+z7ZvJzGcUXdcF\nAAAAyU81OgAAAABig2IHAACQIih2AAAAKYJiBwAAkCIodgAAACnCnPhNhot+XDB1+oYvt+0P\n2Ro0PL/nwAHN66WLyNZZQ4at2Fn2mRdOmnvvqe7EJwQAAEhGCS92emT63SNf3+e8Njs701Ky\nce3aR4Ztf3ru0/Vtpj2f55usta++4uzS556aYU10PAAAgKSV6GJXtHveul3+Fv+ZfNtFNUXk\nuksivf+9evrHex9qWeuzAyX2zBuGDMlJcCQAAIDUkOhiF/Jq55577jVNPNGb1oyaIqJruohs\nLgw5z8zc/MHbv/n0U05vfPYZdY/xPsXFxYFAIH45bTab2WwuKiqK3yaShcPhsFqt4XCY1RAR\nh8Oh63pcP3vJwul0mkymkpISVkNEnE5nMBgMBoNGBzGey+VSFKW4uJjVEBGXy+X3+8PhsNFB\nDKaqakZGhogUFRWxGtHV8Pl8J3KFiGrVqh3tIcWoK09sefv1b/fv/Xx97lfBhk9Oub+O/mOX\nG/5d9gmnXdr98ZF9bIoSvenz+W6//fbSRzt37typU6f4xVNVVVGUSCQSv00kC5PJpCiKruus\nhoioqioimqYZHcR40Q+GpmmshoiYTCZd11kKETGbzSLCByPKbDZHIhGu8CR/fDBYjSiz2Xwi\nBVfTNKv1qMeqGXDyRNR7c2asPVCi63qT9s1rWtXgvo9VVa3bsufofh1q2EMf5b3wxNwl4169\n7NEbTos+PxKJbNmypfTlrVq1in5K4ioBm0gWiqKwGqWi9Q4ioqoqqxGlKApLUYoPRimTyWR0\nhEqE1Sh1Ir9Sj72fxbA9dlH7tq0fNGxS/RsmPnVTw78+ot934/VbTC1fnTssetvv9z/zzDOl\nD19yySUXX3xx/IKZzWZVVfkqQUQsFovJZNI0jdUQEYvFous6XyWIiNVqVVU1EomEQiGjsxjP\narVGIhH2aouI3W4XkVAoxGqIiN1uDwaD7LxUFMVms4kIqyF/rEZJSUmFC5imaWlpaUd7NNH7\nYL6b8ficHf7xDz1gUkREshpefYbjuR1vf+S/0vxrcaRhw9P/eKJyut38dcBb+sK0tLQxY8aU\n3vT7/YWFhfHLGT2wLK6bSBYZGRkmkykSibAaIuJ0OnVd53BDEfF4PNF//LAaIuLxeDjcMMpm\nsymKwmpE2Wy24uJi/vGjqmq02LEa8sdqFBUVnUjHPUaxS/Su8rST933xxSdrdvujNyOB77cH\nwvbq9Q5smX733Xct2Vlw8P7gr+/5SjJObZ3geAAAAMkr0Xvs6lwz/IyXBr88/J49bVtmmEo+\nezcvqLiGj7rwJGeTf8y9bcGIe/Znt3KbAp+/m7dP9zw4umWC4wEAACSvRO+xUy01x0+6/4pG\ntg9eW75k7Xvh2hf/55mpF1azqZbqYyaNv+6CjI2vL3917XuRupeMnzr1bKclwfEAAACSlwHn\nOabVPnfIuHMPv9/qaTJw1GMDEx8IAAAgJXA6OgAAQIqg2AEAAKQIih0AAECKoNgBAACkCIod\nAABAiqDYAQAApAiKHQAAQIqg2AEAAKQIih0AAECKoNgBAACkCIodAABAiqDYAQAApAiKHQAA\nQIqg2AEAAKQIih0AAECKoNgBAACkCIodAABAiqDYAQAApAiKHQAAQIqg2AEAAKQIih0AAECK\noNgBAACkCIpdKvj888979+7dtGnTM844o0ePHh9++KHRiQAAgAEodklvwYIFrVu3fuONN37/\n/fcDBw688847OTk5zz33nNG5AABAolHsktvevXtHjRolIpqmRe+J/uGhhx764YcfDAwGAAAS\nj2KX3N58881AIKDretk7dV0Ph8Nr1qwxKhUAADAExS657d69+2gP/frrr4lMAgAADEexS25Z\nWVlHe6hGjRqJTAIAAAxHsUtuV199tdlsVhTlkPsVRWnbtq0hkQAAgFEodsmtbt26o0aN0nVd\nVQ/+p4z+4V//+leTJk0MjQYAABKNYpf07rzzzgULFjRt2tRkMqmq2rBhwxkzZowbN87oXAAA\nINHMRgdADLRp06ZNmzbBYFDTNLvdbnQcAABgDIpd6rBarUZHAAAARuKrWAAAgBRBsQMAAEgR\nFDsAAIAUQbEDAABIERQ7AACAFEGxAwAASBEUOwAAgBRBsQMAAEgRFDsAAIAUQbEDAABIERQ7\nAACAFEGxAwAASBEUOwAAgBRBsQMAAEgRFDsAAIAUQbEDAABIERQ7AACAFEGxAwAASBEUOwAA\ngBRBsQMAAEgRFDsAAIAUQbEDAABIERQ7AACAFEGxAwAASBEUOwAAgBRBsQMAAEgRFDsAAIAU\nQbEDAABIERQ7AACAFEGxAwAASBEUOwAAgBRBsQMAAEgRFDsAAIAUQbEDAABIEWajAwAiIpqm\nLVmy5P333//9998bNmx44403Nm3a1OhQAAAkGUXXdaMzVEQwGFTVOO5uVFVVUZRIJBK/TSQL\nk8mkKIqu6/FbjX379mVnZ2/evDm67JqmKYpy7733jh07Nk5brLDop07TNKODGC/6wdA0jdUQ\nEZPJpOs6SyEiZrNZRPhgRJnN5kgkkqS/Z2Mr+sFgNaLMZnM4HK7wyzVNs1qtR3s0WYtdIBAI\nhULxe3+r1WoymYqLi+O3iWRht9stFkskEvH7/XHaRL9+/ZYuXXr4R3HZsmWtW7eO00Yrxm63\n67peUlJidBDjpaWlmUymYDDIaohIWlpaKBSK6w+lZOF0OhVFifeP6GThdDqLi4vZR6Cqanp6\nuoj4/X5WQ1EUp9NZWFhY4QKm67rL5Trao8n6VaymaXH9daKqqqqq/MYSkeg/C+K34Pn5+cuX\nLz/8862q6qxZs1q1ahWPjVaYxWKh2EU5HA4RiUQirIaIOByOcDjMUoiI0+kUEVYjyul00vil\nTLFjNeSPb36CwWCc9mpz8gQMtnPnziP+A07TtO+++y7xeQAASF4UOxgsuuPncIqipKWlJTgM\nAABJjWIHgzVs2LBGjRqKohxyv67rl112mSGRAABIUhQ7GExV1fvuu0/X9bKnOauqWr169X/9\n618GBgMAIOlQ7GC8nj17vvDCC9WrVy+95/LLL1+zZk2NGjUMTAUAQNJJ1rNikWK6du2anZ39\n7bff/v77740aNapXr57RiQAASD4UO1QWVqv17LPPNjoFAABJjK9iAQAAUgTFDgAAIEVQ7AAA\nAFIExQ4AACBFUOwAAABSBMUOAAAgRVDsAAAAUgTFDgAAIEVQ7AAAAFIExQ4AACBFUOwAAABS\nBMUOAAAgRVDsAAAAUgTFDgAAIEVQ7AAAAFIExQ4AACBFUOwAAABSBMUOAAAgRVDsAAAAUgTF\nDgAAIEVQ7AAAAFIExQ4AACBFUOwAAABSBMUOAAAgRVDsAAAAUgTFDgAAIEVQ7AAAAFIExQ4A\nACBFUOwAAABSBMUOAAAgRVDsAAAAUgTFDgAAIEVQ7AAAAFIExQ4AACBFUOwAAABSBMUOAAAg\nRVDsAAAAUgTFDgAAIEVQ7AAAAFIExQ4AACBFUOwAAABSBMUOAAAgRVDsAAAAUgTFDgAAIEVQ\n7AAAAFIExQ4AACBFUOwAAABSBMUOAAAgRVDsAAAAUoTZ6ACV14EDB954442ffvrptNNOu+ii\ni9LT08vzqlAo9L///W/r1q01atS48MILa9WqFe+cAAAAURS7I5szZ86YMWO8Xm/0Zs2aNR9/\n/PHs7Oxjv+qjjz4aOnTo9u3bozdtNtudd945bNgwRVHiGxcAAICvYo9o1apVt99+e0FBQek9\ne/fu7d+//8aNG4/xqp07d3bv3n3Hjh2l9wSDwccff3zSpElxzAoAAPAHit0RPPnkk6qqappW\nek/0z0899dQxXjVt2rRAIFD2VbquK4oyadKkYDAYv7QAAABRFLtDBQKBLVu2lO1nUZqmbdq0\n6Rgv3Lx58+F36rpeWFi4devWWEYEAAA4EordocLh8NEeikQix36hrutHfCgUCp1oLAAAgL9D\nsTuU0+k8+eSTDz/dQVXVZs2aHeOFZ5111hFPkrBYLI0aNYplRAAAgCOh2B3Bbbfddvi+N03T\nBg8efIxX9e/fX1GUw7tdnz59yjkqBQAA4EQkc7E77DC4WBk4cODQoUNNJpOIRIuaxWK59957\nO3fufIxXnXfeeVOmTHE6naWvEpEuXbqMHz8+TjkBAADKStY5dqZ33/WMGuWbN0+rUyfmb64o\nyiOPPNKvX79ly5b98ssv9evXb9++ff369f/2hddff/1VV121cuXKbdu21ahRo1WrVi1atIh5\nPAAAgCNK1mKnvvuu+YsvPB06eBctijRuHI9NNG3atG7dusf7qurVq/fv3z8eeQAAAI4tWb+K\n1c4/X0wm9eefPTk5lmNOIQEAAKgiDNhjFy76ccHU6Ru+3LY/ZGvQ8PyeAwc0rxc9t0DfuPC5\nJe9//FOBuelZFwy6c0Adm+lobxLJyfHNmZMxcKBy4ICrc+fCadNKcnIS9lcAAACohBK+x06P\nTL975PIPd51/Vfb1HS4Pb3//kWGjd5ZEROSLl8Y8uvB1+6nNO15x9s+b8u4e+kSxduSxcFHB\ntm29y5drmZlKMJgxcKB9zpxE/R0AAAAqo0TvsSvaPW/dLn+L/0y+7aKaInLdJZHe/149/eO9\n45srD6/6uvoFQx8e0VpE2l9o/ue96yZ/sX/UuVnHeLfwBRd4V6929+ih/vyzc/hw048/Fo0d\nm6C/CQAAQCWT6GIX8mrnnnvuNU080ZvWjJoiomt60a+L/BG9xY0HzyGt1uzmNFPeN6/skD+K\nna7rBQUFpe+jaVp0pIjWuLE3Ly+jRw/zV185Jk9W9+0rnDhRzCf694q++REHDldZrIbwwTjM\nEWc3Vk0sRVmsRimWQsr8zGQ1pMzvkTgtRaKLnefMvg8+KCKy5e3Xv92/9/P1uY5a5w1uXsP3\n7q8icnqmLfo0xZRe32beuXuLSPPoPfn5+W3atCl9n0GDBg0aNOjgjaws2bBBOnaU99+3zZ9v\nKyqSBQvE4TjxtFlZx9pfWKVYLBZWo5Tdbjc6QmVht9tZjSiz2cwo8lLp6emsRpTL5TI6QiXC\napSqVq1ahV977AucGnZW7HtzZrz08uLNPxU2uKB5Tasa9IVExGP+s71WM6ta+EB5387jkTfe\nkOuvFxFZsUKuuUb27Yt9aAAAgErMsDl2t85+5VaRfdvWDxo2aXRG07urm0XEG/7zbIkDYU21\n/lnt09PTH3vssdKbJ598ctlvZg968UW7y2WZOVM2btRatfIvW6Yf/yC6KKvVajab/X5/xV6e\nSux2u8ViiUQirIaI2O12XddLSkqMDmK8tLQ0k8kUDAZZDRFJS0sLhUKhUMjoIMZzOp2KogQC\nAVZDRJxOZ3Fx8bH3r1QFqqpG9+D6/X5WQ1EUp9NZWFh4+MVLy0nX9WPs+0x0sftuxuNzdvjH\nP/SASRERyWp49RmO53a8/ZF7bB2Rb3b4gpJlFxFdD/xcErbXb1r6QqvV2rp169Kbfr//iD2j\n5LHHHHXqpD/4oLplS9q113oXL440alSBnKqqqqrKbywRsVqtIqJpGqshIhaLhWIX5XA4RCQS\nibAaIuJwOMLhMEshItHLKrIaUU6nk8YvZYodqyEiqqqKSDAY1OJzZdREfxWbdvK+L774ZM3u\ng50sEvh+eyBsr14v/aSeDlX5+pWvovcX7HilIKI37nFaBTZRPHRo4eTJYjarP/3k6dDB8tFH\nMUsPAABQiSV6j12da4af8dLgl4ffs6dtywxTyWfv5gUV1/BRF6pW25iOZ9638rGJM3udWS3y\n1isr02q3vPO8Ch6tH+jVS/N4MgYNUg4ccHXvXjBjRvDaa2P7FwEAAKhsEr3HTrXUHD/p/isa\n2T54bfmSte+Fa1/8n2emXljNJiLn9nts5A1X/7I5b/ayt53nt33q2ZEOteJnAgevu867fLme\nmakUF7tuvtk+d27s/hIAAACVkQEnT6TVPnfIuHOP9Ihy6U3/vvSmmG0o3Lx5/qpV7h491F9+\ncQ4bpu7a5R85MmbvDgAAUMkYNu4kMSKNG+fn5YWbNhVdT3viCec990h8jlUEAAAwXIoXOxHR\natf2rlwZuugiEbHPnOnq10/hXC0AAJCKUr/YiYju8fiWLSvJyRER65o1rh49FJ/P6FAAAAAx\nViWKnYjoVmvB9OmBW24REcsHH3iys9VffzU6FAAAQCxVlWInImIyFT75ZNHYsSJi2rLFnZ1t\n2rbN6EwAAAAxU5WKnYhExxdPmiRms+mnnzzt21s2bTI6EQAAQGxUuWInIoEbb/TNnKnb7dHx\nxdY33jA6EQAAQAxUxWInIsH27b3LlumZmYrf7+rTxz5vntGJAAAATlQVLXYiEm7RIn/lSq1u\nXYlEnHffnTZhgtGJAAAATkjVLXYiEjnzzPzVqyONGkXHF6ePHs34YgAAkLyqdLETEa1evfy1\na0MXXigijhkzXP37M74YAAAkqape7CQ6vnjJkuC114qINTfX1bMn44sBAEAyotiJiOgOh+/l\nlwN9+oiIZcMGd3a2wvhiAACQbCh2fzCZCidO9I8YISLmLVscbdoo331ndCYAAIDjQLErQ1H8\nI0cWPvaYqKqyc6f58svNjC8GAADJg2J3qED//r5Zs8Rul/373d27W996y+hEAAAA5UKxO4Jg\nhw6B5cvF7Vb8flfv3vb5841OBAAA8PcodkcWadUq/M47Wp06Eg4777qL8cUAAKDyo9gdld6s\nmTc3N9Kw4cHxxWPGML4YAABUZhS7Y4lExxe3aCEijunTMxhfDAAAKjGK3d/Qq1XzLVkSbNNG\nRGy5ua5evZSCAqNDAQAAHAHF7u/paWm+uXMDvXuLiOX9990dOqi7dxsdCgAA4FAUu/IxmQqf\neqp0fLG7QwfT9u1GZwIAAPgLil25KYp/5MiiRx8VVTX9+KM7J8f82WdGZwIAAPgTxe74FA8Y\n4Js5U7fZ1N9/d3fsaF2/3uhEAAAAB1HsjlswO9u3aJHucil+v6tPH9vSpUYnAgAAEKHYVUzo\nssvyc3O1k06SYDDjttsczz5rdCIAAACKXUVFmjTxrlkTHV+cPn4844sBAIDhKHYVFx1fHC4d\nX3zHHRIKGR0KAABUXRS7E6JXq+ZdsiR4zTUiYnv1VXfPnowvBgAARqHYnSg9Lc03b17gpptE\nxPLee+6uXdW9e40OBQAAqiKKXSyYzYVPP31wfPGnn7rbtTN9/73RmQAAQJVDsYuR6PjiRx4R\nVTXt3OnOzjZ//rnRmQAAQNVCsYul4oEDC8qOL377baMTAQCAKoRiF2Ml2dm+hQv1jAylqMjV\nu7dt2TKjEwEAgKqCYhd7oVatvGvWaLVrSzCYMXiwY8oUoxMBAIAqgWIXF+Ho+OLTTxddT3/g\nAcYXAwCABKDYxUvklFPy164NN28ujC8GAAAJQbGLIz0z07t0afDqqyU6vrhXL6Ww0OhQAAAg\nZVHs4ktPS/PNnVvSrZuIWN59l/HFAAAgfih28We1Fjz/fPHQoSJi/uQTd7t2ph07jM4EAABS\nEMUuIRSlaOzYoocf/nN88RdfGJ0JAACkGopd4hQPGlTw3HNisah79rhzciyMLwYAADFFsUuo\nku7dvYsWRccXu3v3ti1fbnQiAACQOih2iRa6/HLvsmVa9eoSDGbceqtj6lSjEwEAgBRBsTNA\n+LzzvHl5kdNOE11Pv//+9DFjRNeNDgUAAJIexc4Ykfr1vbm54XPOkej44iFDGF8MAABOEMXO\nMFqNGt5Vq4JXXSUitsWL3TfeyPhiAABwIih2RtLT033z5pV07SoilnfecXftqu7bZ3QoAACQ\nrCh2RrNaC6ZNK77jDikdX/zDD0ZnAgAASYliVwkoStH99x8cX/zDD+7sbPOXXxqdCQAAJB+K\nXWVRPGhQwZQpYrGov/3mzsmxvPOO0YkAAECSodhVIiXXX+9duFB3OpXCQtdNN9lWrjQ6EQAA\nSCYUu8oldMUV0fHFSjCYceut9lmzjE4EAACSBsWu0gmff743Ly9y6qkSiThHjUp/8EHGFwMA\ngPKg2FVGB8cXn322iDgmT84YOpTxxQAA4G9R7CoprWZN7+rVoej44kWLXH37KsXFRocCAACV\nGsWu8tLT073z5pV06SIi1tdec3furO7fb3QoAABQeVHsKjerteCFF4pvv11EzB9/7M7JUX/+\n2ehMAACgkqLYVXqKUjRuXNHDD4uimL77ztOunfmrr4zOBAAAKiOKXXIoHjSo4NlnD44v7tTJ\nsnGj0YkAAEClQ7FLGiU9engXLNCdTsXrdXXvzvhiAABwCIpdMgldeaV32TItK+vg+OKXXjI6\nEQAAqEQodknm4PjiBg0kEnGOHJn+4INGJwIAAJUFxS75RBo08Obmhs86S0Qckyc7hwyRcNjo\nUAAAwHgUu6Sk1arlzc0NXXmliNij44sDAaNDAQAAg1HskpWenu6bP7+kc2cRseblMb4YAACY\njQ5QcYqixPvN47qJGLDZCqdP1+vUsU+dav6//3N37OhbvFg7+eQ4ba2yr0ZCJMcHI4EURWE1\noliKsliNUiyFlPmZyWpImd8jcVoKRdf1eLxvvIVCIYvFYnSKSuPxx2X0aNF1qVNH1q2Tc84x\nOhAAAIiLSCRiMpmO9miyFrvi4uJAPI8qs9vtZrO5sLAwfpuILevChel33imhkO7xFM6fH27Z\nMlbvnJ6ebrVaQ6FQEq1G/KSnp+u67vf7jQ5ivIyMDLPZXFJSwmqISEZGRjAYLCkpMTqI8Twe\nj6Iofr+f1RARj8dTWFgYrvLnt6mq6na7RaSgoIDViK5Gfn5+hQuYruuZmZlHezRZv4rVdT0S\nicTv/TVNE5G4biK2im+4IeJ2ZwwcqOTnO7t0KZw2rSQn59gvee+9955++unPP//carW2aNFi\n1KhRzZo1O/xppZ+8JFqN+NE0Ld6fveSiaRqrEcVSlMVqlGIppMzvEVZD/lgNTdOiTSPmOHki\ndQTbtvWuWKFlZirBYMbAgfbZs4/x5AkTJnTr1u2///2vz+fbu3fva6+9dvXVVy9dujRRYQEA\nQOxR7FJK+B//8K5erZ18skQizhEjjja+eMuWLU8++aT8sWNS/tgRNXz4cK/Xm7i4AAAgpih2\nqSZyxhn5eXl/ji8eOvTw8cVr1qw5/Kt9XdcLCwvfeeedxOQEAAAxR7FLQVqtWt4VK0ItW4qI\nfeFCV79+h4wv3r1799HOsv71118TEREAAMQBxS416W63b8mSkk6dRMS6bp27SxelzPjirKys\no52MU6NGjQRFBAAAsUaxS1m61VrwwguBvn1FxLx5s6djR/WXX6IPtWvX7vDnK4pis9muvPLK\nRIYEAAAxRLFLaSZT4YQJRWPHiojp22897dqZv/5aRM4///x+/fqJiKoe/ACoqqrr+rhx46pX\nr25gXgAAcCIodqmveOjQwmefFbNZ3b3b3amT5cMPReSxxx6bNm1aw4YNVVU1m83nn3/+0qVL\nBwwYYHRYAABQcck6oBjHJdCzp+bxRMcXu7p2LXzhhZLs7G7dunXr1q2kpERVVa7PBgBACmCP\nXVURbNfuz/HFAwbYX345er/NZqPVAQCQGih2VUj4ggu8q1YdHF88bNjRxhcDAIAkRbGrWiKN\nG+evWxdu1kyi44vvuUfic606AACQeBS7KkerXdu7YkXo4otFxD5zpqtv30PGFwMAgCRFsauK\ndI/Ht3RpSU6OiFjXrnX16KH4fEaHAgAAJ4piV0XpVmvB9OmBf/5TRCz//a+nQweVi4kBAJDk\nKHZVmMlU+MQTB8cXf/ONJzvbtHWr0ZkAAEDFUeyquuKhQwsnTxazWf3pJ0+HDpaPPjI6EQAA\nqCCKHSTQq5dv1izdblcOHHB172594w2jEwEAgIqg2EFEJHjddd7ly/XMTKW42NWnj33uXKMT\nAQCA40axw0Hh5s3zV63S6taNji9OmzDB6EQAAOD4UOzwp0jjxvl5eeGmTUXX0554wjl6NOOL\nAQBIIhQ7/IVWu7Z35crQRReJiH3GDFe/fsL4YgAAkgTFDofSPR7fsmUl2dkiYl2zxtKxo3i9\nRocCAAB/j2KHI9Ct1oIZMwI33ywi6nvvyWWXKb/8YnQoAADwNyh2OAqTqXDixOj4YvnyS9OV\nV5q2bTM6EwAAOBaKHY6leOjQ8AsviNms7Nzpad/esmmT0YkAAMBRUezwNyK33CKvvioOx8Hx\nxW++aXQiAABwZBQ7lEPnzuHVq3W3W/H7XX362OfNMzoQAAA4AoodykW//PL83FytTh0Jh513\n3834YgAAKiGKHcorcuaZ+bm5kUaNouOL0xlfDABAJUOxw3HQ6tXLX7MmdOGFIuKYMcPVv79S\nUmJ0KAAAcBDFDsdHr1bNt2RJsE0bEbHm5rp69lR8PqNDAQAAEYodKkB3OHxz5wb69BERy4YN\n7uxsddcuo0MBAACKHSrGZCqcONE/YoSImLdscWdnm7ZvNzoTAABVHcUOFaUo/pEjCx99VFTV\n9OOPnvbtzYwvBgDAUBQ7nJDAgAG+WbN0m03Zv9/dvbv1rbeMTgQAQNVFscOJCnbo4Fu8WHe5\nFL/f1bu3fcECoxMBAFBFUewQA6FLL/1zfPGddzK+GAAAQ5iNDoAUEWnSxJub67rhBtO2bWlP\nPKHk5xc99JCof/7L4d133122bNn27dvr1q3btm3bLl26KIpiYGAAAFIPxQ4xE6lXL3/tWtdN\nN1k2bXJMn67u2lU4bZpus2madueddy5cuFBVVV3XFUVZtmzZ7NmzFy5cmJ6ebnRqAABSB1/F\nIpYOji9u3VpEbLm5rl69lIKCuXPnLly4UEQ0TdN1XdM0Edm4ceNDDz1kcO2L/A0AACAASURB\nVFwAAFILxQ4xpqel+ebODfTuLSKW9993d+mybvZsVT3CJ23RokXhcDjhAQEASFkUO8SB2Vz4\n1FMHxxd/9tnMr78+XdMOf1ZhYeHvv/+e8HAAAKQsih3iQ1H8I0cWPfqoqGp9TXtf5IIjPEXh\nGDsAAGKIYoc4Kh4wwDdzZshkqiXyjki7Mg+pqnrOOee4XC6jsgEAkHoodoivYHb291Om+BTF\nKbJS5EYREVFVVVGUcePGGZsNAIAUQ7FD3GV177599uzfrVaryDyRkSINGzZcunTpZZddZnQ0\nAABSCsUOiVCvfXvzxo0l9esrIo+LfHrFFZe2bGl0KAAAUg3FDgkSOeWUwtdfD7doISKO6dMz\n7rhDQiGjQwEAkFIodkgcPTPTu2RJ8JprRMT26qvunj2VggKjQwEAkDoodkgoPS3NN29e4MYb\nRcTy3nvurl3VvXuNDgUAQIqg2CHhzObCZ545OL7400/d7dqZvv/e6EwAAKQCih2MEB1f/Mgj\noqqmnTvdOTnmzz83OhMAAEmPYgfDFA8cWDBzpm6zqXv2uDt2tL79ttGJAABIbhQ7GKkkO9u3\ncKGekaEUFbl697YtX250IgAAkhjFDgYLtWrlXb5cq1FDgsGMW291TJlidCIAAJIVxQ7GC597\nrjcvL3LaaaLr6Q88kD5mjGia0aEAAEg+FDtUCpFTTvHm5obPPVei44uHDGF8MQAAx4tih8pC\nq1HDu3Jl8OqrRcT2yivuXr2UwkKjQwEAkEwodqhE9PR039y5Jd26iYjl3XfdXbuq+/YZHQoA\ngKRBsUMlY7UWPP988ZAhImL+5BN3u3amHTuMzgQAQHKg2KHyUZSi++4revhhUVXTDz+4s7PN\nX3xhdCYAAJIAxQ6VVPGgQQVTpojFou7Z487JsTC+GACAv0OxQ+VVcv313kWLouOL3YwvBgDg\n71DsUKmFLr/cu2yZVr36wfHFU6canQgAgMqLYofKLnzeeX+OL77//vQxY0TXjQ4FAEBlRLFD\nEojUr+9dvTp8zjnC+GIAAI7OnPhN6uEDa+a8sO5/W3Z7I/VOPaNjn8FXn1VTRLbOGjJsxc6y\nz7xw0tx7T3UnPiEqIa1mTe+qVRl9+1rfftu2eLH622++l17SnU6jcwEAUIkYUOxe+c+dC74p\nvKhdhys8pq835E36z+Cip+fknJax5/N8k7X21VecXfrMUzOsiY+HSktPT/fNm5cxZIht2TLL\nO++4u3XzLVigZWUZnQsAgMoi0cUu6Ptg/pYD9To8MubWs0RE695hcK+BCx5bl/PiDZ8dKLFn\n3jBkSE6CIyGZWK0F06Zpdeo4pkwxf/yxu10736uvRho0MDoWAACVQqKPsSve87aINM1ucHDz\nlurnplvCxT+KyObCkPPUzM0fvL1m3fovvvslwcGQNBSl6P77/zK++Msvjc4EAEClkOg9du6G\n965a9efN/V+tfSu/pPplV0YCO/aGIrLx8fEbDz502qXdHx/Zx6Yo0ZuhUOiTTz4pfWH16tWz\n4vkdnMlkUhTFYrHEbxPJQlGU6P9WqtUI3367PysrbcgQ9bff3J07+xcsCF96aQK2q6qqruuV\naimMEv1gmEwmVkNEFEVhKcpiNUqZzQYc8lTZqOrBvUishvyxGhaLRdO0eLy/ohs0OUKPFLy7\nfO7Uea9pzmaPz3iwTuGKXgPm1m3Zc3S/DjXsoY/yXnhi7sZmvZ959IbTos8/cOBAmzZtSl8+\naNCgQYMGGZIclcibb0rXrlJQIDabvPyy3HCD0YEAAIivSCRiMpmO9qgx3XnPF68/OXHGtwdK\nzrys2x2331TPbhJ7txUrupU+odX197yx/Potq5fLDcMMSYjk0Lq1vPWWdOggv/8uN94oe/fK\nv/5ldCYAAAxjQLH7+Z1ptz+9zln/4v+MHXzh6dWid/p/+eHX4kjDhqf/8SzldLv564C39FUe\nj2f9+vWlNzVN27dvX/xCOhwOi8Xi8/nit4lk4XQ6bTZbKBSqpKtx2mmmdesyrr/etGOH3H57\n8bff+seOlT++wY85p9Op63pRUVGc3j+JuN1us9kcCARYDRFxu90lJSWBQMDoIMbLzMxUFKWo\nqIjVEJHMzMyCgoJQlZ+7qapqtWrVRMTn87Ea0dU4cODAiXwVe4yj0RJd7CKBHcMnrat1Wb9J\nwzo61D9/+x7YMv3uyV/c/Oz87vUzRCQS/PU9X0lG49alT1AUxeVyld70+/1+vz9+OaPfUBv1\nPXXlVGlXI1y/vjc319Wzp/mLLxyTJ6t79hQ8/bTE50gO/Q/xePNkxGqUYinKYjVKsRRS5tcH\nqyFlCkacliLRxW7Ph9P9Eb2uaedL054vvdOS1qT/TXf9Y+5tC0bcsz+7ldsU+PzdvH2658HR\nLRMcD0lKq1nTu3q1q29fy9tv2xYtUg4cKJg+XXc4jM4FAEBCJbrY7d+0T0S2vvPm1jJ32qtF\nBv7zqjGTxs95Yc5/X19eoKc3POOS8Q8OPNvJSVUoLz093TtvXsYdd9iWL7e+9pq7SxffggVa\nZqbRuQAASBzDzoo9QfH+KtbhcFitVq/X+/dPTXUZGRnRY+ySYzV0PX3cOMfUqSISOeMM7+LF\n2sknx/DtOcaulMfjMZvNxcXFrIaIeDyeQCDAUWUikpWVpShKYWEhqyEiWVlZHFUmIqqqZmZm\niojX62U1oquxf//+EznGrnr16kd9/wq/KVAZKUrRAw8UPfywKIrpu+887dqZv/rK6EwAACQI\nxQ4pqHjQoIJnnxWLRf3tN3enTpaNG//+NQAAJD+KHVJTSY8e3gULdKdT8Xpd3bvbyl7wBACA\nFEWxQ8oKXXmld+lSLStLCQYzBg2yz55tdCIAAOKLYodUFv7HP7x5eZEGDSQScY4Ykf7gg0Yn\nAgAgjih2SHGRBg28ubnhs84SEcfkyc4hQyQcNjoUAABxQbFD6tNq1fKuWBG65BIRsS9a5Orb\nV2EQAwAgFVHsUCXobrfv1VdLOnUSEWtenrtLF3X/fqND4W9s27btpZdeevTRRxcvXnzgwAGj\n4wBAEkj0lScAo+hWa8ELL+hZWfZZs8ybN7s7dvQuXqzVrWt0LhyBpmnjxo178cUXI5FI9B63\n2z1hwoSuXbsaGwwAKjn22KEqMZkKH3+8aOxYURTTt9962rUzf/210ZlwBM8888zzzz9f2upE\nxOfz3XbbbZs2bTIwFQBUfhQ7VDnFQ4cWTJ4sZrO6e7e7UyfL//5ndCL8RTgcnjp1qqIoZe+M\nXvzw+eefNygUACQHih2qopKePX2zZ+sOh5Kf7+rWzbZ6tdGJ8KdffvnF6/UefhlrTdM+/fRT\nQyIBQLKg2KGKCrZt612+XMvMVILBjIED7XPmGJ0IBx2yrw4AUH4UO1Rd4Qsu8K5erZ18skQi\nzuHDGV9cSdStW7datWqH1ztVVS+44AJDIgFAsqDYoUqLnHFGfl5euFkziY4v/ve/GV9sOJPJ\nNGTIkEO+ilVVVVGUf/3rX0alAoCkQLFDVafVquVduTLUsqWI2BcscPXrx/hiw91xxx133323\nxWIpvScrK2vmzJnnn3++gakAoPJjjh0gutvtW7LEedtttlWrrOvWubt08c6fr2dmGp2r6lIU\nZfTo0b17996wYcOuXbsaNWp01VVXOZ1Oo3MBQGVHsQNEouOLX3xRz8y0z55t3rzZ06mTd9Ei\nxhcbq169er169TI6BQAkE76KBf5gMhU+8UTR2LEiYvrmG0+7duYtW4zOBADAcaDYAX9RPHRo\n4bPPHhxf3LGj5cMPjU4EAEB5UeyAQwV69vS99JJutx8cX5yba3QiAADKhWIHHEGwXbuD44tL\nSjIGDLC//LLRiQAA+HsUO+DIws2be1etKh1fnDZhgtGJAAD4GxQ74KgijRvnr1sXbtpUdD3t\niSec99wjmmZ0KAAAjopiBxyLVru2d+XK0MUXi4h95kxLz55SXGx0KAAAjoxiB/wN3ePxLV1a\nkpMjIqbVq21duig+n9GhAAA4Aood8Pd0q7Vg+vTALbeIiPree54OHdRffzU6FAAAh6LYAeVj\nMhU++WT4oYckOr44O9u0davRmQAA+AuKHXAcwsOGBZ9/Xsxm9aefPB06WD76yOhEAAD8iWIH\nHJ/ILbf4Zs3S7XblwAFX9+7WN94wOhEAAAdR7IDjFrzuOu/y5XpmplJc7OrTxz53rtGJAAAQ\nodgBFRNu3jx/5Uqtbl2JRJzDhjG+GABQGVDsgAqKnHlmfl5euEmTg+OLR49mfDEAwFgUO6Di\ntNq1vatWhS66SETsM2a4+vVTSkqMDgUAqLoodsAJOTi+ODtbRKxr1rh69GB8MQDAKBQ74ETp\nNlvBjBmBm28WEcsHH3iys9Vdu4wOBQCoiih2QCyYTIVPPukfMUJETFu2uDt0MG3bZnQmAECV\nQ7EDYkRR/CNHFj72mKiq6aefPO3bWzZtMjoTAKBqodgBsRTo39/30kt/ji9+802jEwEAqhCK\nHRBjwfbtfYsX6y6X4ve7+vSxz59vdCIAQFVBsQNiL3TJJflr1mh16kg47LzrLsYXAwASg2IH\nxEXkzDPzc3MjjRpFxxenjxnD+GIAQLxR7IB40erVy1+zJnThhSLimD7d1b8/44sBAHFFsQPi\nSK9WzbdkSbBNGxGx5ua6evZUCgqMDgUASFkUOyC+dIfDN3duoE8fEbFs2ODu0IHxxQCAOKHY\nAfFnMhVOnBgdX2zessWdnW3avt3oTACAFESxAxIiOr740UdFVU0//uhp397M+GIAQKxR7IDE\nCQwY4Js1S7fZlP373d27W996y+hEAICUQrEDEirYocOf44t797YvWGB0IgBA6qDYAYkWuvTS\n/Nxc7aSTJBx23nmnY/JkoxMBAFIExQ4wQKRJE++aNZGGDUXX0x98kPHFAICYoNgBxojUq5e/\ndm2oRQsRcUyfnnH77RIMGh0KAJDcKHaAYQ6OL27dWkRsS5a4GV8MADgxFDvASHpamm/u3EDv\n3iJief99d5cu6t69RocCACQrih1gNLO58KmnDo4v/uwzd9u2pu+/NzoTACApUeyQOnbt2vXO\nO+989tlngUDA6CzHSVH8I0cW/TG+2J2dbf78c6MzJVQgEPjss8/efffd3bt3G50FAJIYxQ6p\n4Ndff+3bt+8555xz/fXXt27d+qyzzpo9e7bRoY5b8YABvpkzdZtN/f13d8eO1vXrjU6UCLqu\nz5o1q1mzZq1bt+7evfvZZ589YMAA6h0AVAzFDkmvqKgoJydn7dq1pff4fL4RI0ZMmTLFwFQV\nE8zO9i1apGdkKEVFrj59bMuWGZ0o7iZNmjRq1KiCMmeNrFq1qmPHjsXFxQamAoAkRbFD0nv5\n5Zd//PFHrcwcOF3XFUWZMGGC3+83MFjFhC67zLtmjXbSSRIMZgwe7Hj2WaMTxVFhYeHEiRMV\nRdF1vfROXdd37Ngxb948A4MBQJKi2CHpffDBB6p66CdZ1/Xi4uJPPvnEkEgnKNykiTc3N3L6\n6aLr6ePHp/D44k8++SQQCJRtdVGqqn7wwQeGRAKApEaxQ9I7xnd2ybjHLipyyin5a9eGS8cX\n33GHhEJGh4q9Y/wHKioqSmQSAEgNFDskvdNPP/3wXT5RDRs2THCYGNIzM71LlgSvuUZEbK++\n6u7ZUyksNDpUjJ1++ulHvF/X9aT+bwcARjGX83krVqw44v3WdM9JJ5100kkn1c5yxS4VcBxu\nvPHG2bNnH3KclqqqLVu2PPXUUw0MduL0tDTfvHnOYcPsCxZY3nvP3aWLb+FCrXp1o3PFTMOG\nDS+66KJNmzaVPURSURQRuemmm4zLBQDJqrzFrkuXLsd+wumXdht1z/0Ds88+4UjA8TnvvPMe\neeSR++67LxwOq6qq67qmaQ0bNnzuueeMjhYLZnPhM89odeumPfGE+dNP3e3a+V59NZLkhbWs\n559//oYbbti2bZuqqoqiaJpmsVgefvjhs846y+hoAJB8ylvsZs98bMTg/+wNa2df1fHCM0/z\nmPw7tn28Mm+zvW7bx4Zf88vOr16ZueDWjsu3vPHjU9fUjWti4HADBgy4+uqrX3755W+++cbj\n8VxyySU33nij2Vzej3dlpyj+kSN1jyd97FjTzp3u7GzfokXhs1PkH1H16tV777335s+fv3Hj\nRq/X27Rp05tvvrlBgwZG5wKApKQc7eCkQ7xzW7NrZvw86b0td7SsU3rn75/NbtJiQKtnv1x+\n65lh/9bWJ5/zSca/vTsfi1vaP/n9/rgeF+9wOKxWq9frjd8mkkVGRobNZguFQqyGiDidTl3X\njTqu37ZkSca//y3BoJ6e7nvppdBVVxkSI8rj8ZjN5uLiYs5yEBGPxxMIBJLvkidxkJWVpShK\nYWEhqyEiWVlZPp8vlIpnPh0XVVUzMzNFxOv1shrR1di/f792AuMOqh/9mJzynjwxcv62WhfN\nLNvqRKTGuf+c1eqk18YMFxFzWqPJo84q2v1yhVMCOLaS7t29f4wvdvfubVu+3OhEAIDKpbzF\nbmtx2OLMOPz+9HRziW9D9M+26jY9UnD4cwDESqhVK+/y5Vr16hIMZtx6qyM1jiMEAMRIeQ9C\nuqV2+tT37/7vgY8vqWYrvTPo++iu9b84qt8sIqKHFk7+1l6tXTxSHk5VVZvN9vfPqyiz2awo\nSlw3kSyis3/jveDJwmQy6bpu8FJceGHx2287OndWt29PHzfOsnt3yeOPi6IkOEX03FWTycQH\nQ0QURTGbzSxFKVajlMViOXyCelVTugKshvzxw9NqtZbzWLjDHfuF5T3G7tf1I05uPdHqPqPf\n0P4XNj7VKYU7tm6e/ezMr/cFBq/eOenynzq17pG36Zdrpn395q1NKhb0uASDQZPJFL/3VxQl\neoJe/DaRLKLnKkZPNTU6i/GiP5IqxVL89puak6N8/LGI6L17a9Oni8WSyO3zwSgrejp2hX9M\np5LoT2ZN01gNETGZTCxFFB+MskwmUyQSqfDLo9MDjvZoeYudiPzfnHG33P34V/v/PB7Wkn7q\nnU/MmXBbq6LdMzPqDL50wMTXpg1JUxOx54CTJxKGkyfKMvbkiUMoRUUZ/fpZ168XkdAVV/hm\nz9adzoRtnZMnyuLkiVKcPFEWJ09EcfJEWfE+eeI45kFccMu4z3oOWrd6/ZYtW34PpTdp0vSy\n7A6NMiwi4sjqsG1PwWnV7RWOCOB46enpvrlzM4YOtS1dann3XXfXrr6FC7WsLKNzAQAMc1yD\nvvRP81bMn79669ZtewPWUxud8WvIM6rPlWZFVEvt01JnGD6QPKzWguef1+rUcTz7rPmTT9zt\n2vleeSWVxhcDAI5LeY9h1EK/3X55g+adb1+0Iu+zHXv3/vjNO3kr7r3lqlMu7v9rkCNsAOMo\nStF99xU9/LCoqumHH9zZ2eYvvzQ6EwDAGOUtdh8Mbz31/R+vHzX5q1/2B4sOFJYEfvrizaHZ\nDXZ9NOvaYRviGhHA3yoeNKhgyhSxWNQ9e9zZ2Za33zY6EQDAAOUtdqPnbG10y6uvPDakaZ1q\niogolpPPuuaZ5Z90rZ62be6YeCYEUC4l11/vXbRIdzoPji9escLoRACARCtvsfuyKHTuiEOv\nX6SYPXdcVitU9EWsUwGoiNDll/85vnjQIMfUqUYnAgAkVHmLXbfqjh9f/+Xw+//vW6+9WvuY\nRgJQceHzzvPm5UVOPVV0Pf3++9PHjBGmRgFAlVHeYnf/C7dsHnXVxBUflQ7U0yMFK56+ccSW\n/TkTH4xTOAAVEKlf35ubGz7nHBFxTJ+eMWSIVPnBUQBQRZR33MmE15XmGf7hXS4aX++MZqee\nYo/kf//Nlzv3BUyWrMLFd2Yv/vOZubm5cUkKoNy0mjW9q1Zl9O1rfftt2+LFyoEDBTNm6A6H\n0bkAAPFV3itPKOW+EmVirhbClScShitPlFWprjzx94LBjDvusC1fLiLhf/zDt2BBDMcXc+WJ\nsrjyRCmuPFEWV56I4soTZVWWK0/s2rWrwpsHYAyrteCFF7Q6dRzPPWf++GN3x47exYu1k082\nOhYAIF7KW+xq164d1xwA4kJRisaN0+rUSb/3XtN333natfMtWhQ+6yyjYwEA4uI4LilWsH1T\n3n8//c1bcvhDl/7z1vOdltilAhBLxYMGaR5Pxp13qr/95u7c2Td3bqhlS6NDAQBir7zF7ufX\nRjbLnugLH/n74Lf7DIxdJACxV3LDDVqtWq5//lPxel3duxdOnVrSqZPRoQAAMVbeYnfHTVNK\n0s8dfc/NjWp7Dj+N4lKXLbaxAMRc6IorvMuWuXr1Uvfty7j1VmX//kDfvkaHAgDEUnmL3ev5\ngR4b1j1yca24pgEQV+Hzz/fm5bluuMG0Y4dz5EjTzz8X3XuvlPucdwBAJVfeAcUXZ9gyq1nj\nGgVAAkQaNPDm5obPPltEHJMnO4cOlXDY6FAAgNgob7F7YniLOZ2Hf+sNxjUNgATQatb0rl4d\nuuoqEbEvWuT65z+V4mKjQwEAYqC8X8X+457clk/XPqv2mvNbnJWZduir8vLyYh0MQBzp6ene\nefMybr/dtmKF9bXX3F26+BYs0DIzjc4FADgh5S1264detnZfsUjxpvd/i2sgAAlitRa8+KJW\np45j6lTz//2fOyeH8cUAkOzK+1Xsv+d8U7vV3Ru/3Lbn9yOIa0QA8aIoRQ88UPTww6Io0fHF\n5q++MjoTAKDiyn1JsWBk4Jz7Lj7VHdc0ABKveNAgze3OuOsu9bff3J06+ebNC118sdGhAAAV\nUd49dred4vr+O19cowAwSkmPHt4FC/T0dMXrdXXrZlu1yuhEAICKKG+xG77myf/2zJ66etN+\nP5MRUFXs378/FAoZnSJBQlde6V22TMvKUoLBjEGD7LNnG50IAHDcylvszmv7YLDoq9s7XpiV\nblEOE9eIQIL5/f5HHnmkUaNGjRs3PuWUU7p27frll18aHSoRwv/4h3f1aq1ePYlEnCNGpD/4\noNGJAADHp7zH2NWuXVtq1z4trlmASqCkpCQnJ+fzzz+P3gyHwx988EGbNm1eeeWVVq1aGZst\nASKNGuWvW+fq2dP85ZeOyZOV338vfOopMZf3BwUAwFjl/Xn9v//9L645gEpizpw5pa0uStM0\nERk+fPiHH35oUKi/UVJSEolE0tLSYvJuWq1a3hUrXH36WDZutC9cqObnF7z4om63x+TNT1Bh\nYaHNZrNYLEYHAYBKqrxfxQJVxOuvv66qh/7/QtO077//fvv27YZEOoZ169a1atXqlFNOadCg\nwcUXX7x06VJd10/8bXW327dkSUmnTiJiXbfO3aWLsn//ib9thYXD4RkzZpx77rmnnnrqKaec\nct1111Xakg0AxqLYAX+xd+/e6C66w+3bty/BYY7t6aefvvnmm7/77jtN03Rd37Fjx+DBg8eO\nHRuTN9et1oIXXgj07Ssi5s2bPR07qr/8EpN3Pu4kut6vX7/Ro0fv2rVLRMLh8Mcff5yTk7Nk\nyRJD8gBAZUaxA/6ibt26h++xi6pTp06CwxzDzz//PGHCBPnjm+LSP7z44otfxWrIsMlUOGFC\n0dixoiimb7/1tGtn/vrr2Lzz8Xj99dfXrVsnIqU7I6N/01GjRhVziVsA+CuKHfAXnTt3PnyP\nnaqqzZs3P7kyXW5r/fr14fARZg/puv7666/HcEPFQ4cWTp4sZrO6e7e7UydLwr8Dfe211w4/\n9V7XdZ/Px7G/AHAIih3wF926dcvJyRGR0v12iqK4XK6nn37a0FyH2n/0g95ifpW/QM+evtmz\ndYdDyc93de1qW706tu9/bPv37z/aPtS9e/cmMgkAVH4UO+AvVFWdOXPmtGnTLrrooszMzMaN\nGw8YMODDDz8888wzjY72F7Vr1z7aQ3Xr1o355oJt23qXL9cyM5VgMGPgQPucOTHfxNGcdNJJ\nRzvqMR5/UwBIaoynAg6lKEq3bt26detmdJBjadOmjcPhCAQCZU+DVRTFZDJ16NAhHlsMX3CB\nd/Vqd48e6s8/O4cP1377TSZMiMeGDtGpU6cZM2YccqeqqjVr1mzRokUCAgBAEmGPHZCUsrKy\nJkyYoChK6deU0T/cf//9DRo0iNNGI2eckZ+XF27WTETUJ56Q/v3lSMf5xdbFF188aNAg+euX\n42azecqUKQy0A4BDUOyAZNWzZ8/169e3a9eudu3a1atXv+aaa9asWTN48OC4blSrVcu7cmXo\n4otFRGbNst50kxIIxHWLIvLwww8vXLjw0ksv9Xg89erVu/766zdu3HjFFVfEe7sAkHSUmIwz\nTTy/3+/3++P3/g6Hw2q1er3e+G0iWWRkZNhstlAoxGqIiNPp1HW9qKjI6CAGU4LBzH//W1my\nRETCLVp4583TMzONDmUkj8cTCAQC8e+4lV9WVpaiKIWFhayGiGRlZfl8vlAoZHQQg6mqmpmZ\nKSJer5fViK7G/v37j3b0cHlUr179qO9f4TcFUGXpVmtk3jwZPFhEzJs2eTp1Mmp8MQCgLIod\nkFBHHD6XeJqmRSKRE3oLk0mefz704IMiYvrmG09Ojmnr1tiEAwBUFMUOSIS9e/cOGzasWbNm\nderUOf/88x9++OG4HktwDBs2bOjQoUP9+vXr16/ftm3bN99880TeLTxs2MHxxT/95Gnf3vLR\nR7HKCQCoAIodEHc7d+689NJL586du2fPHl3Xf/7552eeeaZ169Y+ny/BSaZNm9alS5fNmzcH\nAoGSkpJPP/20V69eE05sakmgVy/fSy/pdruSn+/q3t0a0+teAACOC8UOiLuxY8fm5+cfcqLS\n1q1bJ02alMgYu3btGj9+vKIoh1xeduLEidu2bTuRdw62a3dwfHFxsevmm+1z58YgLgDg+FHs\ngPgKBoNvvPHG4Wc/KYqyOrHX5nrzzTdDodDhJ8JrmpaXl3eCbx5u3ty7apVWt65EIs5hw9IS\nMrsYAHAIih0QX/n5+Uc8YULX9d9++y2RSfbs2XO0h2KSJNK4cX5eCzbJ9gAAIABJREFUXrhp\nU9H1tCeecN5zj5zAyfwAgAqg2AHx5fF4jniBBEVRatWqlcgkx9jcMa48e1y02rW9K1eGLrpI\nROwzZ7r69UvA+GIAQCmKHRBfVqv12muvLb0cVild1zt16pTIJK1bt7ZarYqilL0zennZ6667\nLlZb0T0e37JlJTk5ImJds8bVs6eS8HNEAKDKotgBcTd+/PjoOP6yd5555plDhw5NZIzatWs/\n8MADUuaiq6qq6ro+atSo0047LYYb0q3WgunTA7fcIiKWDz7wZGerv/4aw/cHABwNxQ6Iu1NO\nOWXDhg19+/atU6eOoigNGjQYOXLk66+/npGRkeAkAwYMWLVqVcuWLdPT0x0OR4sWLV599dW7\n7ror9lsymQqffLJo7FgRMW3Z4s7ONp3YibcAgPLgWrFHxrViS3Gt2LJO/FqxmqYd/rWsIU4w\nicfjMZvNxcXFx14N+4IFzmHDJBzWq1XzzZ8fatGiwluszLhWbCmuFVsW14qN4lqxZXGtWCCl\nVJJWJ4lKErjxRt+sWbrdrhw44Ore3frGGwnYKABUWZXldwyAVBW87jrv8uV6Zqbi97v69LHP\nm2d0IgBIWRQ7AHEXbt48f+XKg+OL776b8cUAECcUOwCJEDnzzPy8vHCTJtHxxemjRzO+GABi\njmIHIEG02rW9q1aFLrxQRBwzZrj69VNKSowOBQAphWIHIHF0j8e3ZEnw2muF8cUAEAcUOwAJ\npTscvpdfDvTpIyKWDRs82dnqrl1GhwKAFEGxA5BwJlPhxIn+ESMkOr64QwfGFwNATFDsABhB\nUfwjRxY+9pioqumnnzzt25s3bTI6EwAkPYodAMME+vf3vfSSbrMpBw64u3e3vvWW0YkAILlR\n7AAYKdi+vW/xYt3lUvx+V+/e9vnzjU4EAEmMYgfAYKFLL83PzdXq1JFw2HnXXYwvBoAKo9gB\nMF6kSRNvbm6kYcOD44vHjGF8MQBUAMUOQKUQqVcvf+3aUIsWIuKYPj2jf3/GFwPA8aLYAags\n9GrVfEuWBNu0ERFbbq6rVy+loMDoUACQTCh2ACoRPS3NN3fuwfHF77/v7tBB3b3b6FAAkDQo\ndgAqmTLji83R8cXbtxudCQCSA8UOQOUTHV/86KOiqqYff/S0b2/evNnoTACQBCh2ACqpwIAB\nvlmzdJtN2b/f3a2bdf16oxMB+H/27jM+inJtA/g9s7Mtm+wuSei9SihC6FURVCKkkBBpAgJC\nQIHgEeUoioKIr4LlEKQ3MQgISCAkEFRUEJCioCDNQlOKSMluku0z835YCAgJJcnus+X6f/Dn\nziYz13nOmlyZnbkXfJ3g/UPKrqvZy+Zv3n30gkmsXrtB/KBRXZtUcD/z/crZa7/b/2ee0KhJ\ny5Tnh1dRK7wfDwB8h6NnT/OqVfqnn+bMZv2gQXlpafbevVmHAgDwXQzO2K1+9fmFmfuqtni4\nb+JjxvyjM18dtfFEHhEdWjrx/1Z+oandKv7hpn/ty3khdYZVkr0fDwB8irNTp9ysLKlyZXI4\nwp59VpuWxjoRAIDv8naxc5h3fnr0arUeUyY+O6xP/6df/9+sikp5xTubJefFaZlHIlumTnvp\nuYHDx05//XHL+V1ph654OR4A+CAxKsqUne0eX6ybOhXjiwEAiuPtYme9+A0RNYqtde3wyshm\nOqXLeqbg3EqLKDce0Nq9vVzjwSEK7tjqk16OBwC+yT2+2FU4vnj0aHI6WYcCAPA53r7GzlDv\ntczMGw+vHN60Ndce2amL+fgaIqobrnZv5xS6mmrh9IWjRK3cW6xW66JFiwq/sWXLltHR0Z7L\nKQiCQqHQ6XSeO4S/EASBiLAabu7VwFIQEc/zRKRUKr23Gjqdc9MmbuBAxZYt6rVrlZcv21eu\nJL3eS0e/I57nVSqVQoHLgonjOCJSq9VYDSLiOE6j0ahUKtZBGHO/KogIq0HXVyMkJESWS3i9\nmXTHtywY3DzhJot52zLS5yzfwoc1/u/YaEfWCiIyClzhF5QT+JOuq4UPbTbbsmXLCh+q1eoO\nHTp4OqRWq/X0IfwFz/NYjULuegdEJAiCV1dDq6WsLBo1ihYv5r/5RhsbS9nZVKGC9wIUD7+u\nbqZUKpVKJesUPkGtVrOO4EOwGoU0Gk2Jv1cUxTs8y+b308VDX7z3/qLjV+0NO/UeM/qp6hrF\nX2ECEZlcN9rrVZfEq278La5QKKKiogofRkREuFwuzyXkeZ7juDuvXZBQKBQcx8myjNWg66ep\n7vzXUpBwvzAkSWKwGnPn8lWq8FOn0g8/yO3aSZs2yfXqeTvDvykUClmW8cKg63/2sHlh+B5B\nEERRLPGJmUDifmFgNdwEQShNh5Ek6Q5nxBkUu7++nTf6w82hNdu9OmlUm7rl3BsNDasQHTtp\ndlCEhohk2faX3aWp2ajwu/R6fXp6euFDi8WSm5vruZBarValUplMJs8dwl+EhYWp1WqXy4XV\nIKLQ0FBZlgsKClgHYc9oNAqCYLfb2axGaqpWq9W99hp38iT30EN5q1a5HnyQQYzrjEajzWaz\n2WwMM/iIiIgIjuMsFgtWg4giIiLy8/OdQX89KM/z4eHhRITVoOurYTabS/PHT2RkZLH7L/FO\nS0a0nXxx5uaKnYYt+t/Lha2OiHSV+2l57sjqw+6HeSdX54nyA33reDkeAPgL64gReYsXy2o1\n/88/hvh41TffsE4EAMCet8/YXdyz0CLKVRWnl86bW7hRGRI1YsgjE+Mbvr7hnfcX929YTty6\nekNIpfbPN4/wcjwA8CP22Fhp5Ur9009zeXn6gQPzZs2yJyWxDgUAwJK3i92VfZeJ6Ldvv/rt\npo2acuKIIY80G/bOBHXa5ztyducJUdHdP3j+GS3PFbcfgCBnsVjmz5+/a9euS5cuNWzYcNiw\nYa1bt2YdigFn586m7Gx9nz78hQtho0bx585Zx4xhHQoAgBnOTy9jtFgsFovFc/vHNXaF3NfY\nOZ1OrAb5zDV2J0+eTEhIOH/+PM/zkiTxPC/L8tixYydNmuS1DO5r7KxWK/PVICLFmTP6Pn0U\nf/xBRNYRIwreeot4r15ngmvsCrmvscvPz8dqEFFERITZbMZVZYXX2JlMJqyGezWuXLkSINfY\nAUDpjRkz5u+//6br9+dKkiTLclpa2rfffss4GSNijRr/Gl88ZgzGFwNAcEKxA/Azp0+f3rt3\n7+1/6vE8v3r1aiaRfIEcHm5au9bRrRsRqdesMfTvz+Xnsw4FAOBtKHYAfub06dNFbpdl+eTJ\noP4UPjkkxLx8uW3AACJSbttmSEriL11iHQoAwKtQ7AD8jL6YD9HiOM5gMHg5jM8RhPz//c+a\nmkpEwoEDhpgYRXCXXQAINih2AH6mcePG4eHhhZ+9WEiSpEceeYRJJN/CcQWTJhVMm0Y8rzh9\n2hAbKxw6xDoTAICXoNgB+BmlUjl16lS6/vlmbhzHPfDAA08//TS7XL7FmpKSN3s2KZX8xYuG\nuDglxhcDQHBAsQPwP3369Fm+fHmNGjXcDxUKxeDBgzMzM0vzqdKBx56cbFq1Sg4L4woKDAMH\nqjMyWCcCAPA4Bp8VCwCl9/jjjz/++OPnz5+/evVq3bp11Wo160S+yPnQQ6Z16/T9+/OXLoWN\nHMmfO2cdPZp1KAAAD8IZOwA/Vrly5UaNGqHV3YGreXNTTo5Ypw7Jsm7yZN3EieSfU9kBAO4F\nih0ABDixZk1TVpbrwQfJPb547FiMLwaAQIViBwCBTypf3pSZ6ejalYjUn31mGDAA44sBICCh\n2AFAUJB1OnN6uj0piYiU335rSEriL19mHQoAoIyh2AFA0FCp8ubNs44ZQ4Xji0+dYp0JAKAs\n4a5YAAgmHFfwxhtS5cq6SZMUp04ZYmPNq1a5mjQp7svz8/MXLVr0888/22y2Jk2ajBgxokKF\nCt7M6zlbt27Nyso6ffp0zZo1e/bs+eijj7JOBABlgJP98wYxi8VisVg8t3+tVqtSqUwmk+cO\n4S/CwsLUarXT6cRqEFFoaKgsywUFBayDsGc0GgVBsFqtfroa6jVrwsaNI6dT1unMH3/s7NLl\n9q/Zv3//wIED//nnH4VCIcuyJEk6nW7OnDk9evS45SuNRqPNZrPZbN6IXmpOp/PZZ5/dsGFD\n4YxrSZLi4uLmz5+vVCpLufOIiAiO4/Lz8/1lNTwqIiLCbDY7g/5mHZ7nw8PDichkMmE13Ktx\n5coVSZJKvJPIyMhi91/inQIA+C/7k0+aVq6UQ0O5ggL9U0+p16+/5QscDsewYcMuX75MRKIo\nun8EW63WUaNG/f333wwSl53Zs2dv2LCBiKTriGjjxo2zZ89mHQ0ASgvFDgCClPPhh03r1kmR\nkZzDEZaSop079+Znt23bdvbs2Vv+pJYkyWq1rr+tBfqX9PT02z9rmOO4ZcuWMckDAGUIxQ4A\ngpcrOtqUkyPWrk2yrHv9dd3UqYXji0+cOFHkt3Ac9/vvv3sxYxlzuVx//vnn7RfhyLJ89uxZ\nh8PBJBUAlBUUOwAIatfGFzdtSkTatLSw1FT3+OKQkJAiv16WZZ1O59WIZUoQBJVKVdxTpb/G\nDgDYQrEDgGAnVahg2rjR+cgjRKRetUo/dChntXbs2PH29yvdOnXq5N2AZaxz586Ft00U4nm+\nc+fOxf1PBgB/gWIHAECyTmdavtyemEhEqi1bDL161TMaBw8eTES3dJ3OnTt369aNTcoy8vLL\nLwuCcHO343leEIRXXnmFYSoAKBModgAARESkUuXNn28dPZqIhP37DXFx08eMefXVV9Vqtft5\nhUKRkpLyySef+PtprWbNmm3YsKFRo0aFW6KiotavX9+8eXOGqQCgTGBAMQDAdRxXMHmyVKWK\n7rXXFL/+Ghkb++KqVSkpKcePH7fb7VFRUQaDgXXEstGqVautW7eeOXPm1KlTtWvXrlGjhr+3\nVQBwQ7EDAPgXa0qKZDCE/ec//N9/G3r14tLTo9u3Zx2q7PE8X6tWrVq1arEOAgBlCW/FAgDc\nyt63r2nFCjk0lDOZ9MnJ6g0bWCcCALgnKHYAAEVwduliWrdOiojgHI6wkSM1S5eyTgQAcHco\ndgAARbsxvlgUQydM0E2dyjoRAMBdoNgBABRLrFXLlJXlatKEiLRpaaFjx5LLxToUAECxUOwA\nAIrlcDg+zsl5tkmTQ5UqEZHGPb7YZmOdCwCgaLgrFgCgaMeOHRs0aNCpU6d4nv+UaClRXyJV\nTo6hVy/zihVSeDjrgAAAt8IZOwCAIjidziFDhpw5c4aIJEmySlJ/og85joiEH380xMXxf/3F\nOiMAwK1Q7AAAirBjx44//vhDkqTCLTLRC7L8MhFxnOLXX40xMcLhw+wCAgAUAcUOAKAIv/32\nW5Hbp3Pc4k6dSKl0jy9W7t7t5WAAAHeAYgcAUITCj4i9hSzLPzRubF66VNZqudxcfe/e6o0b\nvZwNAKA4KHYAAEVo06ZNcU+1a9fO0b27af36a+OLR4zgFyzwZjYAgOKg2AEAFCEqKioxMfGW\njRzHNW/ePCYmhohcLVqYMjOlatVIFPnRo1Wvv84iJgDAv6DYAQAULS0tbdSoUYJwbSwUx3G9\ne/detWqVQqFwbxEbNMjNyXGPL1Z9+GFoairGFwMAW5hjBwBQNI1GM3Xq1DFjxvzyyy92u71p\n06bVq1e/5WukihVN69eHDx3KffedZuVKPjc3b8ECWaNhEhgAAMUOAOBOKlasWLFixTt8gWww\niJs30+DBwrp1qs2bDYmJpk8/lTG+GABYwFuxAAClplbbliyxDR1KRMIPPxjj4/mzZ1lnAoBg\nhGIHAFAWFIr86dMLJk0iIsXx48aYGOHIEdaZACDooNgBAJQZa2pq/qxZJAj8hQuGhATlnj2s\nEwFAcEGxAwAoS7Z+/cwff3xtfHFSkjori3UiAAgiKHYAAGXM0b27KSNDCg/nHI6w4cM1n3zC\nOhEABAsUOwCAsudq2dK0caN7fHHo+PG6qVNZJwKAoIBiBwDgEWKDBrmbN7saNyYibVpa6Lhx\nGF8MAJ6GOXYAAPfk4sWLGzdu/P333ytVqtSlS5dmzZrd9VukSpVM69frBw1S7t6tWbGCz83N\nmz8f44sBwHNwxg4A4O5WrFjRpk2bl19+edGiRW+99dZjjz02btw4p9N512+UjUbz55/b4+KI\nSLVpk75vX85k8nxeAAhSKHYAAHexe/fu559/3mKxFG6RZXnFihXvvPPOvXy7rFLlLVxoGzKE\niJS7dhljY/lz5zwUFQCCHIodAMBdLFiwgOM4WZZv2b5o0SKHw3FPu1Ao8mfMuDa++NgxY2ys\n4rffyjwnAACKHQDAXfzyyy+SJN2+3WKxnD59+t73Y01NzU9LI0Hg//zT2LOncu/esssIAECE\nYgcAcFeCUOx9ZgqF4r52Zevf37xkiazRcFev6pOTVV9+Wep0AAA3oNgBANxFy5YtOY67ZSPH\nceXKlatZs+b97s3xxBOmjAw5PJyzWvWDBmnS08soJgAAih0AwN2MHj1aqVTy/I0fmO5L7saP\nH3+/Z+zcXK1a5WZmSlWruscXh0yfXnZhASCoodgBANxFw4YNV65cWbVq1cItarX6tddeS0lJ\nKfE+xQceyM3JcTVqRLIcMmNG6CuvUFGX8QEA3BcMKAYAuJPt27cfOHDA6XROnjxZp9OdOHGi\nUqVKbdu2rVChQin3LFWqZNqwQT9woHLPHs2iRfz583nz58tqdZnEBoDghGIHAFC0CxcujBo1\naufOnYVboqKi5s+fHxUVVVaHkI1G87p1oSNHqrOyVNnZ+r59zZ98Iuv1ZbV/AAg2eCsWAKAI\nsiwPGTJk165dN288fvx43759b55UXAYHUqnyFi2yPf00ESl37sT4YgAoDRQ7AIAi7N2798cf\nf7xlKLEkSefPn9+wYUMZH0yhyH/vvWvji48eNcTGKn7/vYwPAQDBAcUOAKAIhw4dKnI7x3EH\nDx70xBGtqan5M2eSICj+/NPYo4dy3z5PHAUAAhuKHQBAEW4fXOd2+weLlSHbgAHmxYtvjC/+\n6ivPHQsAAhKKHQBAEZo3b17cU9HR0Z47rqNHD/Nnn8kGA2ex6AcN0ixf7rljAUDgQbEDAChC\ny5YtO3bseMt5O57na9asmZCQ4NFDOzt0yM3KkqpUIZcr9IUXML4YAO4dih0AQNGWLFnSvXv3\nm7e0aNFizZo1as+PmhMbNszNyhLr13ePL9ZhfDEA3BvMsQMAKFp4eHh6evr+/fsPHDhgt9sf\nfPDB28/heY5UvXpudrZ+4EDl3r3aRYsUFy7kzZuH8cUAcGcodgAAd9KiRYsWLVowObRcrpx5\n7dqw4cNVX3yhysrS9+tnXrYM44sB4A7wViwAgO+StVrzJ5/YBg0iIuWOHYbYWP78edahAMB3\nodgBAPg2hSL//fctL71ERIJ7fPEff7DOBAA+ivPoTCbPsdvtHk0uCALP8w6Hw3OH8BdKpVKh\nUEiShNUgIqVSKcuyy+ViHYQ9lUrF87woik6nk3UW9lQqlSiKoih69CiKefOU48eTJMnh4c51\n66S2bT16uJLRaDRE5HQ6Pb0afkGj0TgcDinob3zhOM59yxFWg66vRmlqjCRJISEhxT2LM3YA\nAP5BHDXKuXIlaTTclSuqnj35LVtYJwIAn+OvZ+wsFkvZfg73LbRarUqlMplMnjuEvwgLC1Or\n1U6nE6tBRKGhobIsFxQUsA7CntFoFATBarViNYjIaDTabDabzeaFYyl37tQPHsyZzSQIh0aP\n3lyliiAI0dHRTZs29cLR7yoiIoLjuPz8fO+sho+LiIgwm804q83zfHh4OBGZTCashns1rly5\nUpqTl5GRkcU9hbtiAQD8ibNjx9ysrNAnn1T+/XeTmTPXEU0mIqLY2Nj333/f/esTAIIW3ooF\nAPAz1rp1H9NojhNxRG8QzSTiibKzs4cPH846GgAwhmIHAOBnsrKytp0+3YFoFxERpRKtJlLL\n8nfffbdv3z7G4QCAKRQ7AAA/89NPPxHRFaLHibKJiKg3UTaR/vpTABC0UOwAAPxM4SSRAqIE\nokVERNSVaAdRSG4uw2AAwByKHQCAn7n5BliRKIVoins70YhlyxQnTrAKBgDModgBAPiZ+Pj4\nSpUq8fy1H+Ay0WSicRwnEYX8/bchNlb4+WemAQGAGRQ7AAA/ExIS8tlnn9WrV+/mjbtatjzz\n/vuyWs3/848hIUH19des4gEAQ5hjBwDgfxo1arRt27bNmzcfPHhQpVJFR0d369aN4zhznTr6\np5/mzGb9oEF5aWn23r1ZJwUAr0KxAwDwS4IgxMXFxcXF3bzR2amTKStL37cvf/582LPP8ufO\nWceOZZUQALwPb8UCAAQUV1SUKStLrFuXZFn35pu6iRMp6D92HSB4oNgBAAQasUaN3E2bXK1b\nE5F24cKwMWMo6D+gEyBIoNgBAAQgOTzctHato1s3IlKvWWPo14/Ly2MdCgA8DsUOACAwySEh\n5uXLbU89RUTK7dsNSUn8pUusQwGAZ6HYAQAELkHI//BDy0svEZHw00+GmBiMLwYIbCh2AAAB\njeMsEyYUvP028bzi9GlDXJxw8CDrTADgKSh2AACBzzpiRN7ixbJazV+8aIiPV33zDetEAOAR\nKHYAAEHBHhtrXrlSDgvjCgr0Aweq161jnQgAyh6KHQBAsHB27mzKzpYqVSKHI2zUKO1HH7FO\nBABlDMUOACCIuKKiTNnZ18YXT5mC8cUAAQbFDgAguIg1apg2bnQ1a0bu8cVjx2J8MUDAQLED\nAAg6UvnypsxMR9euRKRevdrQvz+Xn886FACUARQ7AIBgJIeEmNPT7b17E5Fy2zZDUhJ/+TLr\nUABQWih2AADBSqXKmzvXOnYsEQkHDhhiYhQnT7LOBAClgmIHABDEOK7g9dcLpk0jnlecOmWI\njRUOHWKdCQBKDsUOACDYWVNS8j76iJRK/uJFQ1ycEuOLAfwWih0AAJD9ySdNq1a5xxcbBg5U\nZ2R47lgnTpzYvHnznj178nHHBkBZQ7EDAAAiIudDD5nWrZMiI8nhCBs5UjtnTpkf4sSJE717\n927btu3gwYNjY2ObNWu2aNGiMj8KQDBDsQMAgGtczZubcnLEOnVIlnVvvKGbOJFkuax2fvXq\n1bi4uB07dhRuycvLe+WVV+Z4oEECBC0UOwAAuEGsWdOUleV68EEq6/HFixcvvnjxonTTB13I\nssxx3PTp0+12e5kcAgBQ7AAA4F+ujS9+5BEiUn/2mWHAgDIZX7x7926ev/WXjizLBQUFh3Ar\nLkAZQbEDAIBbyTqdeflye1ISESm//dbQu3fpxxdbrVa5mDd2rVZrKXcOAG4odgAAUBSVKm/e\nPOuYMUQk7N9viIlRnDpVmv3Vr1+/yO0cxzVo0KA0ewaAQih2AABQDI4reOONf40v/uWXEu9s\n8ODBRMRx3L+PwHXv3r1ixYqljQoARIRiBwAAd2ZNScmbNYuUSv7vvw29eil37SrZflq0aPHu\nu+8qlUoiUigU7uvtoqOjZ86cWZZxAYKbwDoAAAD4OnufPlLFivohQziTSf/kk/lz5tgTEkqw\nn6FDh3br1u3TTz89fvx4REREp06dEhISbr+jAgBKDMUOAADuzvnww6Z16/QDBvCXLoWNHMld\nvmwbNqwE+6lRo8Yrr7xS5vEAwA1/JwEAwD1xRUebcnLE2rVJFEP/+1/d1KllOL4YAMoEih0A\nANyra+OLmzYlIm1aWlhqKrlcrEMBwA0odgAAcB+kChVMGzc63eOLV63SDxnCYQodgM9AsQMA\ngPsj63Sm5cvtiYlEpNqyxZCYyF+5wjoUABCh2AEAQEmoVHnz51ufe46IhB9/NMTF8X/9xToT\nAKDYAQBAyXBcwZQpBdOmEccpfv3VGBMjHD7MOhNAsEOxAwCAkvvX+OKEBNq+nXUigKCGYgcA\nviUvL++HH374448/RFFknQXuib1vX9OKFXJoKGcycd2705o1rBMBBC8UOwDwFZcvXx43blzd\nunWfeOKJdu3aNW3adPXq1axDwT1xduliWrdOioggu53691cuXsw6EUCQQrEDAJ9gt9sTEhJW\nrlwpX595e/ny5dGjRy9cuJBtMLhH7vHFVLcuiaL6+ed1U6eyTgQQjFDsAMAnrFix4vjx4/JN\nn2QgSRLHcW+99ZYVY9L8hFirlrx9OzVvTkTatLTQsWMxvhjAy1DsAMAnbN++/fYPg5dl2WKx\n/Pjjj0wiQUlUrkzbt4tduxKRZtUq/dChnM3GOhNAEEGxAwCfUFBQUNxTeXl53kwCpRUWZl29\n2p6QQESqnBxDr14YXwzgNSh2AOATatWqJRfzifJ16tTxchgoLbU6b/5827Bh5B5fHB+P8cUA\n3oFiBwA+oV+/fkTEcdzNG3mej46OfuCBBxiFglJQKPLffbdg0iTiOMXx48YnnhCOHGGdCSDw\nodgBgE9o0aLFG2+8wfM8x3Ecx7mvt6tcufK8efNYR4OSs6am5qWlkVLJX7hgSEhQ7t7NOhFA\ngBNYBwAAuGb06NFdu3ZdsmTJ0aNHjUZj+/btn3nmGY1GwzrXfbhy5cqFCxdq1aoVEhLCOouv\nsPfrJ5crFzZiBJebq+/dO3/ePHtcHOtQAAELxQ4AfEhUVNSMGTNYpyiJffv2/ec///n555+J\niOO4uLi4KVOmVKtWjXUun+Do3t20fr2+f3/+ypWwESO4d9+1Pf0061AAgQlvxQIAlNa2bdse\nf/zxQ4cOuR/Ksrxx48bu3btfvHiRbTDf4WrRwrRxo1StGoli6IsvYnwxgIeg2AEAlNaLL74o\nSZIkSYVbZFn+559/Zs6cyTCVrxEbNMjNyXE1bkzu8cXjxmF8MUCZQ7EDACiVK1eu/PTTTze3\nukJff/219/P4MqliRdOGDc727YlIs2KFftgwjC8GKFsodgAApVLc/GRZlnNzc70cxvfJBoN5\n7Vp7fDwRqTZvNiQmchhfDFB2UOwAAEqlYsWKKpXq9u08z9eol+mFAAAgAElEQVSuXdv7eXyf\nrFLlLVhgGzKEiIQffjDGx/Nnz7IOBRAgUOwAAEpFo9E8+eSTt4xWJiJJktxTl6EICkX+jBkF\nkyYRkeL4cWNMjHD0KOtMAIEAxQ4AoLRmzJgRFRVFRO65yu5/JiUlPfXUU4yT+TZramr+rFkk\nCPyFC4b4eOWePawTAfg9zLEDALgTk8lkNpurVat2+zm5QuXLl9+xY8f8+fO//PLLc+fO1a9f\nv0+fPjExMd7MebuzZ8+GhISUK1eObYw7s/XrJxmN/xpfHBvLOhSAH8MZOwCAon311Vft27ev\nV69eixYtateuPX36dFvxt3Aqlcrhw4d/9tln33333ZIlSxi2OofDkZaWVrdu3ebNmzdo0KB1\n69ZZWVmswtwLR0yMaf16KTycs9vDhg/XfPIJ60QAfgzFDgCgCOnp6f379z9x4oT7ocVimTFj\nRv/+/Ysca+JThg0bNnXq1MJ7dc+cOTN06NA5c+awTXVnrpYtTZmZheOLQ6ZPZ50IwF+h2AEA\n3Mpisbz++uscxxXWOFmWiWjHjh0bNmxgGu0utm7dumXLFroemIgkSeI47u23377i21NFxAce\nyN282dWoEclyyIwZoS+/TD7foQF8EIodAMCt9u7dm5+fX9iNCvE8v3XrViaR7tFXX311+7WA\nsizb7fadO3cyiXTvpEqVTBs2ONu1IyLN4sX6oUMxvhjgfqHYAQDcymQyFbmd47irV696Ocx9\nMZlMxd3k4eNn7Nxko9H8+ef2uDgiUm3apO/blzObWYcC8CcMi538Sr/er++/VPj4tyVj4//t\nrZNF/2wFAPCoatWqFbldkqQaNWqUbJ8Oh+P8+fOlCHVPqlWrVtxVgCVO7mWySpW3cKF7fLFy\n1y5jz578uXOsQwH4DTbFThYL9qx/57DFefPGiwdzFapKj92keVgRw9wBADwtOjq6du3a7nF0\nt0hKSrrfvR06dCghIaFGjRoPPvhgzZo1J02aVNwZwdJLTEzkef6Wk3Y8z1eqVKljx44eOmjZ\nu3l88bFjxthYxW+/sc4E4B8YzLE7NvvFV7/4zXnbxSs/X7VrwvuMHRvn/UgAADfjeX7u3Ll9\n+vRx31sqyzLP87Isv/DCC61bt76vXe3cuTM5OVmSJPeJNIvFMm/evG+++WbLli06na7Mk0dF\nRU2aNOnNN9/ked592wQRqdXquXPnFvm5Z77Mmpoqly8f+sIL/J9/Gnv2NC9f7mzThnUoAF+n\nmDx5srcPqQmt1rRliyaqHw6cqdQl4ZHKIe7tc5ev0DTuVoX/48Dhk3ZZVTFCf4edOJ1Op9N5\nhy8oJaVSqVAo7Ha75w7hL9RqtSAIkiRhNYjI/avRo689f6HRaHied7lcgboaVapUGThwoPtH\njVar7dSp0wcffNC3b98iv1ij0bhcLpfLdftTAwYMuHz58i1vj16+fFmn07Vr184Tydu0afPY\nY4+ZTCan01mtWrXY2NjFixc3atTIE8e6XUhICMdxDoejyNW4X66mTV2NG6s2b+by89UZGWKT\nJmLduqXfrdeEhITY7XbfH5HjaRzHabVaIsJq0PXVsFqtt9+ede9CQkKK3X9p9lsatksZfYYt\nbT55yZstIolItJ1M7DPu5i+o0zH53QmD1NffUDCbzaNHjy58tlevXgkJCZ6L534vQxRFzx3C\nXygUCo7jZFnGatD1j4rCDya6/sIoPBEV5BQKhSzLty/F6dOn69Wrd/vX8zzftm3b7du3eyWd\nVwmCQERl+8Lg9uxRJCTQ5cukUEizZ0vPPFNWe/Y0QRBEUWT1e9anuF8YWA03QRBK85ePJEl3\nOAHvKx8p5sjfz/N81fb9XhnWs7zGuTdn/oz0tZPXdPq/PnXcXyCK4tGbPiK6c+fO7leJR3nh\nEP6C4zisRqEiL70KTjzPYzXcOI67fSnMxdzRKUnSpUuXAvi/qTJ+YXTsSNu20RNP0J9/8s8+\ny58/T15/r6nEFAoF6wg+BKtRqDT/+d/5PIuv/FjRRvZev7534cPOT778ZcaTRzdmUJ/x7i1q\ntfrma5YbNGhwh8/2KT1BEHiedzgcnjuEv3C/Ky1JElaDiJRKpSzLZfIek79TqVQ8z4uiGKhv\nxd4XlUoliuLtP20jIyPdJ7xv2c7zfI0aNTz6Q4wVjUZDRE6ns4zP8dety23bpoqP5375haZM\nES9edL73Hvn8HxUajcbhcOCsNsdxarWaiLAadH017HZ7iU9eSpJ0h7difaXYWc6eOmcV69Ur\nvHiCq6sRjthu3DgWEhIyceLEG19vseTn53suj1arValUHj2EvwgLC1MoFKIoYjWIKDQ0VJbl\ngoIC1kHYMxqN7j9+sBpEZDQa7Xb77UVNq9V27tx5x44dt/wykyQpISEhIP+bUqvVHMcVuRql\nFRbGZWToBw5U7tmjmDtXPHMmb/58Wa0u46OUKbVabbVa8ccPz/PuYofVoOurUVBQUJqOe4di\n5yt/7lw9uvCFF/6z9vS1DzcUHee2m+1htR9lmwoAoJTee++9yMhIInLfoOp+gzI2Nra4+zDg\nDq6NL46NJSJVdjbGFwPczleKXeWH/9OinHrFSy8v+GTVZ59+/PqYFy7Lxhdeac86FwBAqdSu\nXfv7778fN25c06ZNy5cv36lTpwULFixZsgTXJpaMrFbnLVpkGzyYiJQ7dxpjY3nPj32GYFZQ\nUOBf9w76yk8WXhk5ceabT7QM+/6LjDWbtotVO7w5Z07TUCXrXAAApaXX61977bWtW7ceOXLk\n888/T0xMLO5Tv+CeKBT5779/bXzx0aOGnj0Vv//OOhMEGofDMWvWrKZNm9aqVatGjRq9e/c+\ndOgQ61D3hNm4k1KyWCwWi8Vz+3dfY+e56fB+JCwsTK1WO51OrAbhGrubGI1GQRCsVitWg4iM\nRqPNZgvImyHuV0REBMdx+fn5XlgNzeLFoRMnkiTJ5cqZP/3UeZ+zo70gIiLCbDbjqjKe58PD\nw4nIPV6RdZy7E0UxOTl5x44dhTc/uYegLV++/NFHS3uRmHs1rly5Uppr7NwXeBS9/xLvFAAA\ngCHbM8+Yly6VNRru6lV9crLqq69YJ4IAsWbNmh07dhBR4ckvSZJkWR4/frzvvy2LYgcAAP7K\n0aOH+bPPZL2es1j0gwZpli9nnQgCwZYtW26/ClaSpHPnzv3yyy9MIt07FDsAAPBjzg4dcrOz\npSpVyOUKfeGFkOnTWScCv3f58uXiLlS7dOmSl8PcLxQ7AADwb2LDhrlZWWL9+iTLITNm6F55\nhYJ+Ci6URuXKlYu7w6lKlSpeDnO/UOwAAMDvSdWr52ZnO9u0ISLtokX6Z57h7HbWocBfxcfH\n335nA8/z9evXb9iwIZNI9w7FDgAAAoFcrpx57VrHY48RkSorS9+vH5eXxzoU+KUePXokJyfT\nTZ8MznGcRqOZNWuW788qQrEDAIAAIWu15vR026BBRKTcscPQsyfGF0MJcBw3d+7chQsXtmrV\nKiwsrEaNGgMGDNi9e3fLli1ZR7s7X/msWAAAgDKgUOS//75UqVLIjBnC0aOG2Fjz6tVi3bp3\n/0aAf+vVq1evXr1Yp7hvOGMHAACBheMsEybk/9//Ec8rzpwx9ugh7NvHOhOAl6DYAQB4ie+P\nNg0ktuHDzUuWyGo1d+WKITlZtXUr60QA3oBiBwDgWWfPnn3uuecaNmxYtWrVtm3bzp492+Fw\nsA4VFBw9e94YXzxwoGbFCtaJADwOxQ4AwIMOHjzYoUOHtWvXXr58WRTFkydPTp48OSkpCd3O\nO5wdO+ZmZUmVK5PLFfr88xhfDAEPxQ4AwINefPFFm81WOMXe/S979uxZtmwZ01xBRIyKMmVn\ni/XqXRtfPHEixhdDAEOxAwDwlAsXLhw4cKDISadZWVlMIgUnsXr13E2bnK1bE5F24cKw0aMJ\nZ0whQKHYAQB4ysWLF4vcLknSecxX865r44sffZSI1GvXGjC+GAIUih0AgKdUqFChyO08z1eu\nXNnLYUAOCTGnp9sGDiQi5XffGRITeZ//QHeA+4ViBwDgKZUqVWrRokXhpxIVkiQpNjaWSaRg\nJwj5H3xgeeklIhJ+/tnQvbvixAnWmQDKEoodAIAHvffee1qttvDzJd3/0rZt26effpppriDG\ncZYJEwqujy82xMYKP//MOhNAmUGxAwDwoKZNm+7cuTM5OTkiIoLn+Tp16kyZMiUjI0OlUrGO\nFtSsw4ebFy+W1Wr+n38MCQmqr79mnQigbOCzYgEAPKtq1apz5swhIlEUFQoF6zhwjSM21rxq\nlX7wYC4vTz9oUF5amr13b9ahAEoLZ+wAALwErc7XODt1MmVnS5Urk8MR9uyz2lmzWCcCKC0U\nOwAACF6uqChTVpZYty7Jsu7NNzG+GPwdih0AAAQ1sUaN3E2bXIXji8eMIaeTdSiAEkKxAwCA\nYCeHh5vWrnV060ZE6jVrDP36cfn5rEMBlASKHQAAAMkhIebly20DBhCRcvt2jC8GP4ViBwAA\nQEREgpD/v/9dG1/800+GmBiMLwa/g2IHAABwnXt88bRpxPOK06cNcXHCwYOsMwHcBxQ7AACA\nf7GmpOQtXiyrVPzFi4b4eNU337BOBHCvUOwAAABuZY+NNa9aJYeFcQUF+oED1RkZrBMB3BMU\nOwAAgCI4O3c2ZWRI5cuTwxE2cqR29mzWiQDuDsUOAACgaK5mzUw5OWKdOiTLusmTdRMnkiyz\nDgVwJyh2AAAAxRJr1DBlZbmaNSOMLwZ/gGIHAABwJ1L58qYNGxxduxKRevVqQ//+GF8MPgvF\nDgAA4C5knc6cnm7v3ZuIlNu2GZKS+MuXWYcCKAKKHQAAwD1QqfLmzrWOHUtEwoEDhpgYxcmT\nrDMB3ArFDgAA4N5wXMHrr18bX3zqlCE2Vjh0iHUmgH9BsQMAALgP1pSUvI8+IqWSv3jREBen\nxPhi8CUodgAAAPfH/uSTpuvjiw0DB6rXr2edCOAaFDsAAID75nzoIdO6dVJkJDkcYSkp2jlz\nWCcCIEKxAwAAKBlX8+Y3xhe/8QbGF4MvQLEDAAg669evHzBgQNu2bZOSkmbPnu1wOFgn8ldi\nzZqmjRtdDz5I7vHFY8difDGwJbAOAAAA3uN0OocNG5aTk8PzvCRJp06d+u677z799NPMzMzI\nyEjW6fySVKGCKTMzbOhQ1TffqD/7jP/7b/PSpXJoKOtcEKRwxg4AIIgsW7YsJyeHiCRJKvzn\n77//PmnSJMbJ/Jms05mXL7cnJhKR8ttvDb17Y3wxsIJiBwAQRFavXs3zt/7kl2U5MzPTbrcz\niRQgVKq8+fOto0cTkbB/vyEujv/zT9aZIBih2AEABJEzZ864z9LdwuFwXLhwwft5AgrHFUye\nXDBtGnGc4rffjE88QT/9xDoTBB0UOwCAIGI0GjmOu307x3EGg8H7eQLPjfHFf//Nde0q7NrF\nOhEEFxQ7AIAg8uijj96+kef56Ohoo9Ho/TwByd6nj2nlSjk0lHJzdYmJ6g0bWCeCIIJiBwAQ\nRMaNG1exYsWbT9rxPC8IwltvvcUwVeBxPvywad06Kl+e7PawkSM1S5eyTgTBAsUOACCIlC9f\n/ssvv0xOThYEgYg4jmvbtu2WLVtat27NOlqgcUVHy7t2SXXqkCiGTpigmzoV44vBC1DsAACC\nS6VKlebMmXP69Oldu3adPHkyMzOzSZMmrEMFqLp18zdvdjVtSkTatLTQ1FRyuVhnggCHYgcA\nEIxUKlX9+vV1Oh3rIAFOrljRtHGj85FHiEizapV+yBDOamUdCgIZih0AAIAHyTqdaflye69e\nRKTassWQmMhfucI6FAQsFDsAAAAPU6nyFiywPvccEQk//miIi+P/+ot1JghMKHYAAACex3EF\nU6ZcG1/866/GmBjh8GHWmSAAodgBAAB4iTUlJW/WLPf4YkNCgnL3btaJINCg2AEAAHiPvW9f\n04oVcmgoZzLpe/dWZ2ayTgQBBcUOAADAq5xdupg+/1yKiOAcjrCUFM3HH7NOBIEDxQ4AAMDb\nXC1amDZulKpXJ1EMfekl3dSprBNBgECxAwAAYECsXz9382ZXkyaE8cVQdlDsAAAA2JAqVjSt\nX+9s356INCtX6ocO5Ww21qHAv6HYAQAAMCMbDOa1a+0JCUSkysnB+GIoJRQ7AAAAlmSVKm/+\nfNuwYUQk/PCDIT6eP3uWdSjwVyh2AAAArCkU+e++WzBpEnGc4vhxY0yMcOQI60zgl1DsAAAA\nfII1NTUvLY0Egb9wwZCQoNyzh3Ui8D8odgAAAL7C3q+f+eOPZa2Wy83VJyWpN25knQj8DIod\nAACAD3F0727KyJDCwzmHI2zECM2yZawTgT9BsQMAAPAtrpYtTRs3StWqkSiGvvgixhfDvUOx\nAwAA8Dligwa5OTmuxo3JPb543DiML4Z7wcmyzDpDSTgcDp73YCvleZ7jOFEUPXcIf6FQKDiO\nk2UZq0FE7ledJEmsg7DnfmFIkoTVICKFQiHLMpaCiARBICK8MNwEQRBFsVS/Z3NzFYmJ3I4d\nRCTHx4vLl5NWW2b5vMj9wijtagQKQRBcpajpkiSpVKrinvXXYmez2UqzKHelUqkUCoXVavXc\nIfyFRqNx/2zCahCRWq0mIrvdzjoIeyEhITzPO51OrAYRabVal8vldDpZB2FPp9NxHGe327Ea\nRKTT6Ww2W2n/KrbbNSNGCBkZRCS2bm1bu1YODy+bfN7CcZxOpyMiq9WKcwTu1SgoKChxAZNl\nOSwsrLhnhZIGY0ySJJsnP3eF4ziO4zx6CH+hVCoFQfD0gvsLQRBkWcZSEJFGo+F53uVyYTWI\nSKPROJ1OLAURuX9/YzXcdDqdw+Eofce1zZ0bajBoPv5YsW+fpnt306pVUtWqZZLQO3ied78w\nymQ1/J17Nex2e2nOat+h2OEaOwAAAN+mUOTPmFEwaRIRKY4dM8bECEePss4EPgrFDgAAwA9Y\nU1PzZ826Nr44Pl65dy/rROCLUOwAAAD8g61fP/PSpbJGw+Xm6pOTVV98wToR+BwUOwAAAL/h\niIm5Nr7YatUPHqz55BPWicC3oNgBAAD4E1erVqbMTKlqVff44pDp01knAh+CYgcAAOBnxAce\nyM3JcTVqRLIcMmNG6MsvEwYHAhGh2AEAAPgjqVIl04YNznbtiEizeLF+6FAOI2YAxQ4AAMBP\nyUaj+fPP7XFxRKTatEnfrx9nNrMOBYyh2AEAAPgrWaXKW7jQ9vTTRKTcudMYG8ufO8c6FLCE\nYgcAAODPFIr89967Nr746FFDbKzi999ZZwJmUOwAAAD8njU1NX/mTBIExZ9/Gnv0UO7bxzoR\nsIFiBwAAEAhsAwaYlyyRNRru6lV9crLqyy9ZJwIGUOwAAAAChOOJJ0wZGXJ4OGex6AcN0qSn\ns04E3oZiBwAAEDhcrVrlbthwbXzx+PEYXxxsUOwAAAACitiwYW5Ojisq6tr44ldewfji4IFi\nBwAAEGikSpVMmZnOtm2JSLNokX7YMM5uZx0KvAHFDgAAIADJRqN5zRrH448TkSo7G+OLgwSK\nHQAAQGCStVrzJ5/YBg8mIuWOHcbYWP78edahwLNQ7AAAAAKXQpH/3nuWl14i9/jinj0xvjiw\nodgBAAAENI6zTJiQ/847xPMYXxzwUOwAAAACn+2ZZ8xLl8pq9bXxxV99xToReASKHQAAQFBw\n9Ohh/uwzWa+/Nr74009ZJ4Kyh2IHAAAQLJwdO+ZmZUlVqpDLFfqf/2B8ceBBsQMAAAgiYlSU\nKStLrF/fPb5YN3EixhcHEhQ7AACA4CJWr56bne1s04aItAsXhj3zDMYXBwwUOwAAgKAjlytn\nXrvW8dhjRKTOytL378/l5bEOBWUAxQ4AACAYyVqtOT3dNmgQESm/+87Qsyd/4QLrUFBaKHYA\nAADBSqHIf/999/hiwT2++I8/WGeCUkGxAwAACGLu8cX/93/E84ozZ4w9eggYX+zPUOwAAACC\nnW34cPOSJbJazV25YkhOVm3dyjoRlBCKHQAAAJCjZ0/zqlXXxhcPHKhZsYJ1IigJFDsAAAAg\nInJ26pSblSVVrkwuV+jzz2vT0lgngvuGYgcAAADXiFFRpuxssV49kmXd1KkYX+x3UOwAAADg\nBrF69dxNm5ytW5N7fPHo0eR0sg4F9wrFDgAAAP7l2vjiRx8lIvXatYZ+/TC+2F+g2AEAAMCt\n5JAQc3q67amniEi5fbshKYm/dIl1KLg7FDsAAAAoiiDkf/jhtfHFP/1kiIlRnDjBOhPcBYod\nAAAAFIPjLBMmFLz9NvG84vRpQ2yscPAg60xwJyh2AAAAcCfWESPyFi+W1Wr+n38M8fGqr79m\nnQiKhWIHAAAAd2GPjTWvXCmHhXEFBfpBg9Tr1rFOBEVDsQMAAIC7c3bubMrOlipXJocjbNQo\n7UcfsU4ERUCxAwAAgHviiooyZWWJdeuSLOumTMH4Yh+EYgcAAAD3SqxRI3fTJlfh+OIxYzC+\n2Keg2AEAAMB9kMPDTWvXOrp1IyL1mjWG/v25/HzWoeAaFDsAAAC4P3JIiHn5ctuAAUSk3LYN\n44t9B4odAAAA3D9ByP/f/6ypqUQkHDhgiIlRnDzJOhOg2AEAAEDJcFzBpEkF06bdGF986BDr\nTMEOxQ4AAABKzpqSkjd7NqlU/MWLhrg45TffsE4U1FDsAAAAoFTsycmmVavc44sNAweqMzJY\nJwpeKHYAAABQWs7OnU0ZGVJkJDkcYSNHamfPZp0oSKHYAQAAQBlwNWtm2rJFrFOHZFk3ebJu\n4kSSZdahgg6KHQAAAJQNsUYNU1aW68EHyT2+eOxYjC/2MhQ7AAAAKDNS+fKmzExH165EpP7s\nM8OAARhf7E0odgAAAFCWZJ3OnJ5uT0oiIuW334b16kX//MM6VLBAsQMAAICyplLlzZtnHTOG\niIQDB6h9e/r9d9aZggKKHQAAAHgAxxW88YZ7fDH98Qd17qzA+GLPE1gHAAAAgIBlTUmRw8ND\nU1PpwgVdTIz48cfOLl28H0OSpL179x47dqxcuXItW7asVq1a2e5///79hw8f1mq10dHRdevW\nLdud3xcUOwAAAPAgR58+VL8+JSZyeXn6p57Knz3b3quXNwP88ssvqamph66fLxQEYdSoUa++\n+qoglEELOnPmzLhx43bs2OF+yHHcgAEDpk2bptPpSr/zEsBbsQAAAOBh3brR11/L5ctzDkdY\nSop27lyvHfnSpUuJiYmHDx8u3OJyuT766KOpU6eWfud2uz0pKWnXrl2FW2RZ/vTTT1NTU0u/\n85JBsQMAAADPa9Uq/8svxdq1SZZ1r7+umzrVO+OLly5dmpubK0nSLdsXLFiQm5tbyp2vW7fu\n9OnTt+88MzPz119/LeXOSwbFDgAAALxBqlXLlJXlatqUiLRpaWGpqV4YX/zjjz/yfBFtx+Vy\nHTx4sPQ75ziuuKdKufOSQbEDAAAAL5EqVDBt3Oh85BEiUq9apR8yhLNaPXpEURSLe8rlcpVy\n53fYg5PRR26g2AEAAID3yDqdaflye2IiEam++MLQqxd/+bLnDhcVFSUX9Z4vx3FRUVGl3Hmj\nRo2K3DkRNW7cuJQ7LxkUOwAAAPAulSpv/nzr6NFEJOzfb4iP5//6y0OHGjJkiCAIt7wby3Fc\nfHx85cqVS7nz5ORkg8Fwy855nm/ZsmWLFi1KufOSQbEDAAAAr+O4gsmTC6ZNI45T/PqrMSZG\n+OUXTxynTp06S5YsMRgMRFR4PVzXrl0/+OCD0u88PDx8xYoV7oJYuPPo6OilS5cWd+2dp2GO\nHQAAALBhTUmRjMaw55/n//7b0KuXOT3d2b59mR8lJiZm3759GRkZx48fNxgMHTp0eOihh8pq\n523atNm9e3dGRsbhw4c1Gk2rVq26d+/OqtURih0AAAAwZO/TR6pYUT9kCGcy6ZOT8+fMsSck\nlPlRDAbDkCFDyny3bhqNpn///h7a+f3CW7EAAADAkvPhh03r1kkREZzDETZypGbpUtaJ/BjD\nYie/0q/36/sv3bzl+5UfjX9uWJ9BKZPfnX/OXuz9yQAAABBIXNHRppwcsXZtEsXQCRO8Nr44\n8LApdrJYsGf9O4ct/xrxcmjpxP9b+YWmdqv4h5v+tS/nhdQZVgn/pwIAAAQF0T2+uEkTItKm\npYWmplKp58wFIQbX2B2b/eKrX/zm/HcTl5wXp2UeiWyZOu2lR4moRxthyGub0w5d+W+zCO8n\nBAAAAO+TKlQwZWXphwxRfvutZtUq/urVvIULZa2WdS5/wqDYVeyc9FxDqyN//9zF3xVuLDi3\n0iLKrQe0dj8s13hwiCLn2OqTdL3YybKcl5dX+PWSJHn0lhP3zhne1eKDsBqEF8ZtOI7Darhh\nKW6G1SiEpaCbfmbe02qEhuatWBE6erQqI0O1ZYshMdG8YoUcEThneQp/j3johcGg2JV7sEM3\nItsl883Fznz8HBHVDVe7H3IKXU21cPrCUaJW7i25ubmPPfZY4denpKSkpKR4OmpEAL2SSkmp\nVGI1Cmk0GtYRfIVGo8FquAmCoNPpWKfwFTqdDqvhptfrWUfwIfexGp9/Ti+9RO+/L/z4Y3iv\nXpSTQzVqeDKat5UrV67E33uHD0kj37kr1mF2EpFRuNFeywm85LrKLhEAAAAwwnH03nv0v/8R\nx9HRo9SuHf38M+tM/sFX5tgpwwQiMrluXHh31SXxqhvVXqfTvfPOO4UPq1WrdvM7s2VOpVIJ\ngmCxWDx3CH+h0WiUSqUoilgNItJoNLIs2+121kHYCwkJUSgUDocDq0FEISEhTqeT1Wd++5TQ\n0FCO42w2G1aDiEJDQ61W653PrwQDnufdZ3AtFsv9rcawYUqtVjNmDJ0/L3fpYl21SuzQwVMp\nvYXjuNDQ0Pz8/OI+ZPauZFm+w7lPXyl2hoZViI6dNDsoQkNEsmz7y+7S1GxU+AUqlerRRx8t\nfGixWDzaM3ie53kev7GISKVSEZEkSVgNIlIqlSh2bpYaNjIAAAtqSURBVFqtlohEUcRqEJFW\nq3W5XFgKIgoNDSUirIZbaGgoGj/dVOxKsBr2pCRHaGjY8OFcbq42Pj5/3jx7XJxnYnqJ+4Nl\nHQ6HJEke2b8ndloCusr9tDx3ZPVh98O8k6vzRPmBvnXYpgIAAAC2HI8/blq//tr44hEjNB9/\nzDqRT/OVYserKk2Mb/j3rnfeX7wqe92nkyduCKnU/vnmuFofAAAg2LlatDBlZkrVqpEohr70\nkm7qVNaJfJevFDsiajbsnQl9up79Iefjdd+ERnf/YNYELR/st4gDAAAAEYkNGuTm5GB88V0x\nu8ZOE5mYmZn4721cx6fGdXyKTR4AAADwZVLFiqb16/WDBim//16zciWfm5u3YIGMiUv/5kNn\n7AAAAADuQDYYzGvX2hMSiEi1ebMhMZG7coV1KN+CYgcAAAB+Q1ap8ubPtw0dSkTCDz8Y4+P5\ns2dZh/IhKHYAAADgVxSK/OnTCyZNIo5THD9ujIkRjhxhnclXoNgBAACA/7GmpuanpZEg8Bcu\nGBISlHv2sE7kE1DsAAAAwC/Z+vUzf/yxrNVyubn6pCR1VhbrROyh2AEAAIC/cnTvbsrIkMLD\nOYcjbPhwzbJlrBMxhmIHAAAAfszVsqVp48Zr44tffDHIxxej2AEAAIB/Exs0yN282dW4MbnH\nF48bF7Tji1HsAAAAwO9JlSqZ1q93tmtHRJoVK/TPPMPZbKxDMYBiBwAAAIFANhrNn39uj48n\nItWmTfq+fTmTiXUob0OxAwAAgAAhq1R5CxbYhgwhIuWuXcbYWP7cOdahvArFDgAAAAKIQpE/\nY0bBpElEpDh2zBgbq/jtN9aZvAfFDgAAAALNjfHFf/5p7NlTuXcv60RegmIHAAAAAcjWv795\nyRJZo+GuXtUnJ6u++IJ1Im9AsQMAAIDA5HjiCVNGhhwezlmt+sGDNenprBN5HIodAAAABCxX\nq1a5mZlS1aokiqHjx4dMn846kWdxsiyzzlASFovFYrF4bv9KpVKhUNiCcgTOLQ4cOHD69OkK\nFSp06NCBdRb21Gq1LMsOh4N1EPa2bdt29erVevXqNWnShHUW9jQajcvlcgXrQNSbZWVluVyu\n5s2b16pVi3UW9kJCQux2uyiKrIMwZrVat2zZQkSdO3eOiIhgkoG/cEHft69w5AgR2Z55Jv/t\nt4lnc26L47iQkBCLxVKaAhYZGVncU0KJd8pWSEhISEiIp48SGhrq6UP4vh07dmRnZ7dp0yY+\nPp51FvAhGzZsOHLkSN++fbt06cI6C/iQJUuWWCyW//73v61atWKdxSd44VeV77tw4cK8efOI\nKDo6+oEHHmATIjKSvvuOPviAXC4Nkea336hjRzZJiIhIq9V6aM/+WuwAAAAA7kN4OL31FusQ\nHodr7AAAAAACBIodAAAAQIDw15snwGusVqvT6RQEAVeKwM0sFovL5VKpVBqNhnUW8CF5eXmy\nLGs0GpVKxToL+ApJkvLz84lIp9MpFArWcQIcih0AAABAgMBbsQAAAAABAsUOAAAAIEBg3Anc\niey6mr1s/ubdRy+YxOq1G8QPGtW1SQXWoYAxV8GZFXMW7vjl9ytOda160f1GDG9VXcc6FPgQ\n2+Xvhw9/t8YL897uXIl1FmDvtyVjx68/ffOWNjPTX6ttYJUn4KHYwZ2sfvX5Fcfy28b0fNio\nOLIjZ+arowo+XBZXJ4x1LmBHFhe+MOGLy6GPx8aGK+3fb9r09vg/Pkz/sKYaF0QDEZEsWT76\n70yzKLEOAr7i4sFchapS14ebFm6pHYYbazwIxQ6K5TDv/PTo1eo93544sgkRSck9R/UfseKd\nzXEL+rCOBswUXFi++byl9atpz7atQERPdBAHjtu4cP+lt9pXZB0NfMK+hS9vv+jBz3sEv/Pz\nVbsmvM/YsXGsgwQLXGMHxbJe/IaIGsXWcj/klZHNdEqX9QzLTMCa0yQ1a9asW5TR/VAVVoGI\nZAk31wMR0dXDK6dtOt1l5JOsg4AP+SHfGVo7/Ied32Rv/vrQr2dZxwl8OGMHxTLUey0z88bD\nK4c3bc21R3bqwiwQ+ABjw6FTpxIRHf3mi+NXLh38OktbsfmoVuVZ5wL2RNuJyVPWVOww+rkO\n3LfzWacB3yDaTl5yivT9u29+f21LnY7J704YpOY4prkCGYod3J0s5m3LSJ+zfAsf1vi/Y6NZ\nxwGfsH3Zok1X7bIsR/VoVUGFc/8gr54y5ayq8bzxj1LeVtZhwFc48vfzPF+1fb9XhvUsr3Hu\nzZk/I33t5DWd/q9PHdbRAhaKHdzFxUNfvPf+ouNX7Q079R4z+qnqGlwjD0REIz9ePZLo8u9f\np4yf+UpYow+eqsc6EbB0OnvaqiMFoz76b6TA21iHAd+hjey9fn3vwoedn3z5y4wnj27MoD7j\nGaYKbCh2cCd/fTtv9IebQ2u2e3XSqDZ1y7GOA+z9uujdZSctb741RcEREUXU69pAO/vkN3sJ\nxS64Hc48IsuOuaMHzL2+5ZcZKfEzaO2GTBXecwtilrOnzlnFevXqXt/A1dUIR2wmlpkCHYod\nFEu0nXxx5uaKnYbNHB+v5fGzGYiIQqpdPpR5LPuCJb5yCBGJthN/2FwhtaqzzgWMNUh48qk8\nh/vfRdsfqz7fXaFTwmM1Q3GGP8hdPbrwhbRDg2d9mlwzjIhEx7ntZnvYA4+yzhXI8FmxUKzz\n2yaOfP+X+l0erau58QeAMiRqxJBHGKYCtiTnxQkDR50SqsV0bx+msP+8LefIP8qJSxa1Kadm\nHQ18he3ql32entXkpQUYUAyS89Kbw589aK0QE9vZoLAd3JZz+LJ26rIFTUOVrKMFLJyxg2Jd\n2XeZiH779qvfbtqoKSei2AUzXlnhzZlvLJ63fOeWjHwKrV233auvPtMarQ4AisIrIyfOfHPZ\n/GW7vsjIk3X1GnR4c+oItDqPwhk7AAAAgACBIQUAAAAAAQLFDgAAACBAoNgBAAAABAgUOwAA\nAIAAgWIHAAAAECBQ7AAAAAACBIodAAAAQIBAsQMAAAAIECh2AAAAAAECxQ4AoAz8+EpzjuPG\nnzCxDgIAQQ3FDgD+v137CWkygMM4/rxzzVnirJUNUQytDplhpnTQOgiFxTS9lJekIMQIvEgu\naRWlaFqoaFl0CMKOQvTn4KGDUWYdCiUpif4QkmGmwRLNdKzDwlZMjw5ev5/b+/I7PMcvewcA\nMAnCDgAAwCQIOwAIK7A73m6xWIem54LP/Rd2GIZhd+TOX3TmuAzDKO8fcztXZl8ckNScFh96\nAABLjLADgLAMb35iIOCvezUefO6+9UHSjO/pg4mfkiR/w+sJi9VRm+6sbO3wFiRJ2tPQdq39\nVMQmA1j2CDsACG/7mXxJfU2DkgL+yebhH8H37b2jkqZGO99MzcZvPLd+hWXv4SPFmU5JGQfL\njpYVRm4ygOWOsAOA8JzpdXFWy5eeNkmTI1fGZv05rZclDV56Ielz901JW2vckR0JAKEIOwAI\nz2JzeVMd0+P3nvh+feq6I6mitCLXET0+0CTpccuQJE9hcoRXAkAIwg4AFlRUvUVS47OvPTfe\nWWPSyhJWVWevm/E9v/vNV//2e8zakv2r7ZHeCAB/EXYAsKCU4ipJL+t7mz764tM8VkNZnkxJ\njV3176fnUkqqIj0QAP5B2AHAguzOkoI19pFHpcMzc5tO5ElK2Fktqe94o6QDJ9P/uw8s/UQA\nCEHYAcBiPPv+/IvuUFGyJFvcLrczRpI1Osmb6pg/szltku6fPlt7/mokZgKARNgBwOK21RRI\niopOLHfFBt9U5rkkOTNqY6OM+bPNx1rcWRuGu6533H4YkZ0AIMkIBPh0AAAAYAb8YgcAAGAS\nhB0AAIBJEHYAAAAmQdgBAACYBGEHAABgEoQdAACASRB2AAAAJkHYAQAAmMRvhmpCRiK7B3sA\nAAAASUVORK5CYII=", "text/plain": [ "plot without title" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Dibujando el modelo de regresión\n", "ggplot(data = mtcars, aes(x = wt, y = mpg)) +\n", " geom_point() +\n", " geom_abline(slope = coef.pendiente, intercept = coef.itercep, color = \"red\")" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "### Data.table\n", "\n", "Si de organizar grandes volúmenes de datos de una manera intuitiva se trata, [data.table](https://cran.r-project.org/web/packages/data.table/index.html) es el paquete indicado. Esta librería nos extiende la estructura de datos del dataFrame para poder trabajar con archivos realmente extensos, y poder realizar operaciones de agregado, agrupado y uniones de una forma más sencilla. Veamos como trabajar con ella:" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
    \n", "\t
  1. 'data.table'
  2. \n", "\t
  3. 'data.frame'
  4. \n", "
\n" ], "text/latex": [ "\\begin{enumerate*}\n", "\\item 'data.table'\n", "\\item 'data.frame'\n", "\\end{enumerate*}\n" ], "text/markdown": [ "1. 'data.table'\n", "2. 'data.frame'\n", "\n", "\n" ], "text/plain": [ "[1] \"data.table\" \"data.frame\"" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Ejemplo data.table\n", "library(data.table)\n", " \n", "dt <- data.table(mtcars)\n", "class(dt)" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/html": [ "20.090625" ], "text/latex": [ "20.090625" ], "text/markdown": [ "20.090625" ], "text/plain": [ "[1] 20.09062" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# calculando la media\n", "dt[,mean(mpg)]" ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\n", "
amV1
1 24.39231
0 17.14737
\n" ], "text/latex": [ "\\begin{tabular}{r|ll}\n", " am & V1\\\\\n", "\\hline\n", "\t 1 & 24.39231\\\\\n", "\t 0 & 17.14737\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "am | V1 | \n", "|---|---|\n", "| 1 | 24.39231 | \n", "| 0 | 17.14737 | \n", "\n", "\n" ], "text/plain": [ " am V1 \n", "1 1 24.39231\n", "2 0 17.14737" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# media por am\n", "dt[,mean(mpg),by=am]" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
amcylavg
1 6 20.56667
1 4 28.07500
0 6 19.12500
0 8 15.05000
0 4 22.90000
1 8 15.40000
\n" ], "text/latex": [ "\\begin{tabular}{r|lll}\n", " am & cyl & avg\\\\\n", "\\hline\n", "\t 1 & 6 & 20.56667\\\\\n", "\t 1 & 4 & 28.07500\\\\\n", "\t 0 & 6 & 19.12500\\\\\n", "\t 0 & 8 & 15.05000\\\\\n", "\t 0 & 4 & 22.90000\\\\\n", "\t 1 & 8 & 15.40000\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "am | cyl | avg | \n", "|---|---|---|---|---|---|\n", "| 1 | 6 | 20.56667 | \n", "| 1 | 4 | 28.07500 | \n", "| 0 | 6 | 19.12500 | \n", "| 0 | 8 | 15.05000 | \n", "| 0 | 4 | 22.90000 | \n", "| 1 | 8 | 15.40000 | \n", "\n", "\n" ], "text/plain": [ " am cyl avg \n", "1 1 6 20.56667\n", "2 1 4 28.07500\n", "3 0 6 19.12500\n", "4 0 8 15.05000\n", "5 0 4 22.90000\n", "6 1 8 15.40000" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# con renombre de columna\n", "dt[,.(avg=mean(mpg)),by=.(am,cyl)]" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\n", "
cylN
6 7
4 11
8 14
\n" ], "text/latex": [ "\\begin{tabular}{r|ll}\n", " cyl & N\\\\\n", "\\hline\n", "\t 6 & 7\\\\\n", "\t 4 & 11\\\\\n", "\t 8 & 14\\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "cyl | N | \n", "|---|---|---|\n", "| 6 | 7 | \n", "| 4 | 11 | \n", "| 8 | 14 | \n", "\n", "\n" ], "text/plain": [ " cyl N \n", "1 6 7\n", "2 4 11\n", "3 8 14" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Contando el número de autos por cilindrada\n", "dt[, .N, by=cyl] " ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\t\n", "\t\n", "\t\n", "\t\n", "\t\n", "\n", "
mpgcyldisphpdratwtqsecvsamgearcarb
33.9 4 71.1 65 4.22 1.83519.901 1 4 1
32.4 4 78.7 66 4.08 2.20019.471 1 4 1
30.4 4 75.7 52 4.93 1.61518.521 1 4 2
30.4 4 95.1 113 3.77 1.51316.901 1 5 2
27.3 4 79.0 66 4.08 1.93518.901 1 4 1
\n" ], "text/latex": [ "\\begin{tabular}{r|lllllllllll}\n", " mpg & cyl & disp & hp & drat & wt & qsec & vs & am & gear & carb\\\\\n", "\\hline\n", "\t 33.9 & 4 & 71.1 & 65 & 4.22 & 1.835 & 19.90 & 1 & 1 & 4 & 1 \\\\\n", "\t 32.4 & 4 & 78.7 & 66 & 4.08 & 2.200 & 19.47 & 1 & 1 & 4 & 1 \\\\\n", "\t 30.4 & 4 & 75.7 & 52 & 4.93 & 1.615 & 18.52 & 1 & 1 & 4 & 2 \\\\\n", "\t 30.4 & 4 & 95.1 & 113 & 3.77 & 1.513 & 16.90 & 1 & 1 & 5 & 2 \\\\\n", "\t 27.3 & 4 & 79.0 & 66 & 4.08 & 1.935 & 18.90 & 1 & 1 & 4 & 1 \\\\\n", "\\end{tabular}\n" ], "text/markdown": [ "\n", "mpg | cyl | disp | hp | drat | wt | qsec | vs | am | gear | carb | \n", "|---|---|---|---|---|\n", "| 33.9 | 4 | 71.1 | 65 | 4.22 | 1.835 | 19.90 | 1 | 1 | 4 | 1 | \n", "| 32.4 | 4 | 78.7 | 66 | 4.08 | 2.200 | 19.47 | 1 | 1 | 4 | 1 | \n", "| 30.4 | 4 | 75.7 | 52 | 4.93 | 1.615 | 18.52 | 1 | 1 | 4 | 2 | \n", "| 30.4 | 4 | 95.1 | 113 | 3.77 | 1.513 | 16.90 | 1 | 1 | 5 | 2 | \n", "| 27.3 | 4 | 79.0 | 66 | 4.08 | 1.935 | 18.90 | 1 | 1 | 4 | 1 | \n", "\n", "\n" ], "text/plain": [ " mpg cyl disp hp drat wt qsec vs am gear carb\n", "1 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1 \n", "2 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1 \n", "3 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2 \n", "4 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2 \n", "5 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1 " ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Los mejore 5 autos con la mejor MPG \n", "head(dt[order(-mpg)],5) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Otras librerías que deberíamos conocer\n", "\n", "### E1071\n", "\n", "Si lo que buscamos es trabajar con [Máquinas de vectores de soporte, SVM](https://es.wikipedia.org/wiki/M%C3%A1quinas_de_vectores_de_soporte); o con cualquiera de las principales funciones que podemos encontrar en las clases de probabilidad y estadística; entonces el paquete [E1071](https://cran.r-project.org/web/packages/e1071/) es exactamente lo que necesitamos. \n", "\n", "### randomForest\n", "\n", "Para trabajar específicamente con modelos de [Random Forest](https://es.wikipedia.org/wiki/Random_forest) el paquete [randomForest](https://cran.r-project.org/web/packages/randomForest/) puede ser una buena opción; este paquete nos permite crear este tipo de modelos en forma muy sencilla.\n", "\n", "### rpart\n", "\n", "El paquete [rpart](https://cran.r-project.org/web/packages/rpart/) es una buena alternativa para trabajar con árboles de clasificaciones. Implementa los principales algoritmos para trabajar con este tipo de modelos.\n", "\n", "### nnet\n", "\n", "Las [redes neuronales](http://relopezbriega.github.io/category/redes-neuronales.html) han recibido mucha atención últimamente por sus habilidades para *aprender* las relaciones entre las variables. Representan una técnica innovadora para la adaptación de los modelo que no se basa en los supuestos convencionales necesarios por el modelado estándar; y que además pueden manejar muy eficazmente los datos multivariantes. Un gran paquete para trabajar con [redes neuronales](http://relopezbriega.github.io/category/redes-neuronales.html) en forma muy sencilla es [nnet](https://cran.r-project.org/web/packages/nnet/).\n", "\n", "### igraph\n", "\n", "Si lo que necesitamos es analizar y visualizar redes y grafos, el paquete [igraph](https://cran.r-project.org/web/packages/igraph/) es la mejor opción. Este paquete nos proporciona una serie de rutinas altamente eficientes para visualizar y analizar las conexiones de las redes. \n", "\n", "### Outliers\n", "\n", "Si lo que necesitamos es encontrar valores atípicos, entonces [outliers](https://cran.r-project.org/web/packages/outliers/index.html) es el paquete que debemos utilizar. Esta librería nos ofrece varias funciones y tests para poder identificar los valores atípicos. \n", "\n", "### Survival\n", "\n", "[Survival](https://cran.r-project.org/web/packages/survival/index.html) es un paquete que nos facilita la tarea de realizar [análisis de supervivencia](https://es.wikipedia.org/wiki/An%C3%A1lisis_de_la_supervivencia). \n", "\n", "### Forecast\n", "\n", "[Forecast](https://cran.r-project.org/web/packages/forecast/) proporciona métodos y herramientas para mostrar y analizar predicciones univariadas de [series de tiempo](http://relopezbriega.github.io/blog/2016/09/26/series-de-tiempo-con-python/), incluyendo el suavizado exponencial a través de modelos de espacios de estados y el modelado [ARIMA](https://es.wikipedia.org/wiki/Modelo_autorregresivo_integrado_de_media_m%C3%B3vil) automático." ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Aquí concluye este artículo; obviamente el objetivo del mismo es solo presentar [R](https://cloud.r-project.org/) y sus principales librerías para la ciencia de datos, dista mucho de ser un tutorial exhaustivo de como utilizar el lenguaje y existen muchas más librerías muy útiles que no fueron presentadas. \n", "\n", "Los que quieran profundizar en el lenguaje pueden realizar los siguientes cursos: [Programación Estadística con R](https://www.coursera.org/learn/intro-data-science-programacion-estadistica-r) o [Data analysis with R](https://www.udacity.com/course/data-analysis-with-r--ud651). Asimismo, si les gusto este artículo, no duden en visitar mi blog [relopezbriega.github.io](http://relopezbriega.github.io/)!\n", "\n", "Opiniones y comentarios son bienvenidos.\n", "\n", "Saludos!\n", "\n", "[Raúl e. López Briega](http://relopezbriega.github.io/)\n", "\n", "*Este post fue escrito utilizando IPython notebook. Pueden descargar este [notebook](https://github.com/IAARhub/iaar_template/tree/master/content/notebooks/IntroR.ipynb) o ver su version estática en [nbviewer](http://nbviewer.ipython.org/github/IAARhub/iaar_template/tree/master/content/notebooks/IntroR.ipynb).*" ] } ], "metadata": { "kernelspec": { "display_name": "R", "language": "R", "name": "ir" }, "language_info": { "codemirror_mode": "r", "file_extension": ".r", "mimetype": "text/x-r-source", "name": "R", "pygments_lexer": "r", "version": "3.3.3" } }, "nbformat": 4, "nbformat_minor": 2 }