diff --git a/notebooks/02_03bt.ipynb b/notebooks/02_03bt.ipynb
new file mode 100644
index 0000000..2dbafdc
--- /dev/null
+++ b/notebooks/02_03bt.ipynb
@@ -0,0 +1,826 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Requirement already satisfied: pandas in /home/codespace/.local/lib/python3.10/site-packages (2.2.1)\n",
+ "Requirement already satisfied: numpy<2,>=1.22.4 in /home/codespace/.local/lib/python3.10/site-packages (from pandas) (1.26.4)\n",
+ "Requirement already satisfied: python-dateutil>=2.8.2 in /home/codespace/.local/lib/python3.10/site-packages (from pandas) (2.9.0.post0)\n",
+ "Requirement already satisfied: pytz>=2020.1 in /home/codespace/.local/lib/python3.10/site-packages (from pandas) (2024.1)\n",
+ "Requirement already satisfied: tzdata>=2022.7 in /home/codespace/.local/lib/python3.10/site-packages (from pandas) (2024.1)\n",
+ "Requirement already satisfied: six>=1.5 in /home/codespace/.local/lib/python3.10/site-packages (from python-dateutil>=2.8.2->pandas) (1.16.0)\n",
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "pip install pandas"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "\n",
+ "from pandas import DataFrame"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " comumn 1 | \n",
+ " column 2 | \n",
+ " column 3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | row 1 | \n",
+ " 0 | \n",
+ " 3 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | row 2 | \n",
+ " 9 | \n",
+ " 12 | \n",
+ " 15 | \n",
+ "
\n",
+ " \n",
+ " | row 3 | \n",
+ " 18 | \n",
+ " 21 | \n",
+ " 24 | \n",
+ "
\n",
+ " \n",
+ " | row 4 | \n",
+ " 27 | \n",
+ " 30 | \n",
+ " 33 | \n",
+ "
\n",
+ " \n",
+ " | row 5 | \n",
+ " 36 | \n",
+ " 39 | \n",
+ " 42 | \n",
+ "
\n",
+ " \n",
+ " | row 6 | \n",
+ " 45 | \n",
+ " 48 | \n",
+ " 51 | \n",
+ "
\n",
+ " \n",
+ " | row 7 | \n",
+ " 54 | \n",
+ " 57 | \n",
+ " 60 | \n",
+ "
\n",
+ " \n",
+ " | row 8 | \n",
+ " 63 | \n",
+ " 66 | \n",
+ " 69 | \n",
+ "
\n",
+ " \n",
+ " | row 9 | \n",
+ " 72 | \n",
+ " 75 | \n",
+ " 78 | \n",
+ "
\n",
+ " \n",
+ " | row 10 | \n",
+ " 81 | \n",
+ " 84 | \n",
+ " 87 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " comumn 1 column 2 column 3\n",
+ "row 1 0 3 6\n",
+ "row 2 9 12 15\n",
+ "row 3 18 21 24\n",
+ "row 4 27 30 33\n",
+ "row 5 36 39 42\n",
+ "row 6 45 48 51\n",
+ "row 7 54 57 60\n",
+ "row 8 63 66 69\n",
+ "row 9 72 75 78\n",
+ "row 10 81 84 87"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "numbers_df = DataFrame(np.arange(0, 90, 3).reshape(10, 3), index = ['row 1', 'row 2', 'row 3', 'row 4', 'row 5', 'row 6', 'row 7', 'row 8', 'row 9', 'row 10'],\n",
+ " columns = ['comumn 1', 'column 2', 'column 3'])\n",
+ "\n",
+ "numbers_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "3"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "numbers_df.iloc[0, 1]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " comumn 1 | \n",
+ " column 2 | \n",
+ " column 3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | row 1 | \n",
+ " 0 | \n",
+ " 20 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | row 2 | \n",
+ " 9 | \n",
+ " 12 | \n",
+ " 15 | \n",
+ "
\n",
+ " \n",
+ " | row 3 | \n",
+ " 18 | \n",
+ " 21 | \n",
+ " 24 | \n",
+ "
\n",
+ " \n",
+ " | row 4 | \n",
+ " 27 | \n",
+ " 30 | \n",
+ " 33 | \n",
+ "
\n",
+ " \n",
+ " | row 5 | \n",
+ " 36 | \n",
+ " 39 | \n",
+ " 42 | \n",
+ "
\n",
+ " \n",
+ " | row 6 | \n",
+ " 45 | \n",
+ " 48 | \n",
+ " 51 | \n",
+ "
\n",
+ " \n",
+ " | row 7 | \n",
+ " 54 | \n",
+ " 57 | \n",
+ " 60 | \n",
+ "
\n",
+ " \n",
+ " | row 8 | \n",
+ " 63 | \n",
+ " 66 | \n",
+ " 69 | \n",
+ "
\n",
+ " \n",
+ " | row 9 | \n",
+ " 72 | \n",
+ " 75 | \n",
+ " 78 | \n",
+ "
\n",
+ " \n",
+ " | row 10 | \n",
+ " 81 | \n",
+ " 84 | \n",
+ " 87 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " comumn 1 column 2 column 3\n",
+ "row 1 0 20 6\n",
+ "row 2 9 12 15\n",
+ "row 3 18 21 24\n",
+ "row 4 27 30 33\n",
+ "row 5 36 39 42\n",
+ "row 6 45 48 51\n",
+ "row 7 54 57 60\n",
+ "row 8 63 66 69\n",
+ "row 9 72 75 78\n",
+ "row 10 81 84 87"
+ ]
+ },
+ "execution_count": 11,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "numbers_df.iloc[0, 1] = 20\n",
+ "numbers_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " column 2 | \n",
+ " column 3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | row 2 | \n",
+ " 12 | \n",
+ " 15 | \n",
+ "
\n",
+ " \n",
+ " | row 3 | \n",
+ " 21 | \n",
+ " 24 | \n",
+ "
\n",
+ " \n",
+ " | row 5 | \n",
+ " 39 | \n",
+ " 42 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " column 2 column 3\n",
+ "row 2 12 15\n",
+ "row 3 21 24\n",
+ "row 5 39 42"
+ ]
+ },
+ "execution_count": 12,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "numbers_df.iloc[[1, 2, 4], [1, 2]]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " comumn 1 | \n",
+ " column 2 | \n",
+ " column 3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | row 1 | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | row 2 | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | row 3 | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | row 4 | \n",
+ " False | \n",
+ " False | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | row 5 | \n",
+ " True | \n",
+ " True | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | row 6 | \n",
+ " True | \n",
+ " True | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | row 7 | \n",
+ " True | \n",
+ " True | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | row 8 | \n",
+ " True | \n",
+ " True | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | row 9 | \n",
+ " True | \n",
+ " True | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | row 10 | \n",
+ " True | \n",
+ " True | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " comumn 1 column 2 column 3\n",
+ "row 1 False False False\n",
+ "row 2 False False False\n",
+ "row 3 False False False\n",
+ "row 4 False False True\n",
+ "row 5 True True True\n",
+ "row 6 True True True\n",
+ "row 7 True True True\n",
+ "row 8 True True True\n",
+ "row 9 True True True\n",
+ "row 10 True True True"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "mask = numbers_df > 30\n",
+ "mask"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " comumn 1 | \n",
+ " column 2 | \n",
+ " column 3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | row 1 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | row 2 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | row 3 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | row 4 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " 33.0 | \n",
+ "
\n",
+ " \n",
+ " | row 5 | \n",
+ " 36.0 | \n",
+ " 39.0 | \n",
+ " 42.0 | \n",
+ "
\n",
+ " \n",
+ " | row 6 | \n",
+ " 45.0 | \n",
+ " 48.0 | \n",
+ " 51.0 | \n",
+ "
\n",
+ " \n",
+ " | row 7 | \n",
+ " 54.0 | \n",
+ " 57.0 | \n",
+ " 60.0 | \n",
+ "
\n",
+ " \n",
+ " | row 8 | \n",
+ " 63.0 | \n",
+ " 66.0 | \n",
+ " 69.0 | \n",
+ "
\n",
+ " \n",
+ " | row 9 | \n",
+ " 72.0 | \n",
+ " 75.0 | \n",
+ " 78.0 | \n",
+ "
\n",
+ " \n",
+ " | row 10 | \n",
+ " 81.0 | \n",
+ " 84.0 | \n",
+ " 87.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " comumn 1 column 2 column 3\n",
+ "row 1 NaN NaN NaN\n",
+ "row 2 NaN NaN NaN\n",
+ "row 3 NaN NaN NaN\n",
+ "row 4 NaN NaN 33.0\n",
+ "row 5 36.0 39.0 42.0\n",
+ "row 6 45.0 48.0 51.0\n",
+ "row 7 54.0 57.0 60.0\n",
+ "row 8 63.0 66.0 69.0\n",
+ "row 9 72.0 75.0 78.0\n",
+ "row 10 81.0 84.0 87.0"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "numbers_df[mask]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " comumn 1 | \n",
+ " column 2 | \n",
+ " column 3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | row 1 | \n",
+ " 0 | \n",
+ " 20 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | row 2 | \n",
+ " 9 | \n",
+ " 12 | \n",
+ " 15 | \n",
+ "
\n",
+ " \n",
+ " | row 3 | \n",
+ " 18 | \n",
+ " 21 | \n",
+ " 24 | \n",
+ "
\n",
+ " \n",
+ " | row 4 | \n",
+ " 27 | \n",
+ " 30 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | row 5 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | row 6 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | row 7 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | row 8 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | row 9 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | row 10 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " comumn 1 column 2 column 3\n",
+ "row 1 0 20 6\n",
+ "row 2 9 12 15\n",
+ "row 3 18 21 24\n",
+ "row 4 27 30 0\n",
+ "row 5 0 0 0\n",
+ "row 6 0 0 0\n",
+ "row 7 0 0 0\n",
+ "row 8 0 0 0\n",
+ "row 9 0 0 0\n",
+ "row 10 0 0 0"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "numbers_df[mask] = 0\n",
+ "numbers_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " column 2 | \n",
+ " column 3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | row 3 | \n",
+ " 21 | \n",
+ " 24 | \n",
+ "
\n",
+ " \n",
+ " | row 4 | \n",
+ " 30 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | row 5 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | row 6 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " column 2 column 3\n",
+ "row 3 21 24\n",
+ "row 4 30 0\n",
+ "row 5 0 0\n",
+ "row 6 0 0"
+ ]
+ },
+ "execution_count": 20,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "numbers_df.iloc[2:6, 1:3]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.10.13"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/notebooks/02_04b.ipynb b/notebooks/02_04b.ipynb
index 97411ce..d77622d 100644
--- a/notebooks/02_04b.ipynb
+++ b/notebooks/02_04b.ipynb
@@ -10,7 +10,7 @@
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 2,
"id": "5be0cfbf-e779-42b3-8bd6-f3dd46888ebb",
"metadata": {},
"outputs": [],
@@ -28,6 +28,1176 @@
"source": [
"### Filling missing values using fillna(), replace() and interpolate()"
]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "6c4ba6dc",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Age | \n",
+ " Gender | \n",
+ " Rank | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Steve | \n",
+ " 20.0 | \n",
+ " Male | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " John | \n",
+ " 22.0 | \n",
+ " Male | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Richard | \n",
+ " NaN | \n",
+ " Male | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Randy | \n",
+ " NaN | \n",
+ " Male | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Michael | \n",
+ " 23.0 | \n",
+ " Male | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Julie | \n",
+ " 22.0 | \n",
+ " Female | \n",
+ " 6.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Age Gender Rank\n",
+ "0 Steve 20.0 Male 2.0\n",
+ "1 John 22.0 Male 1.0\n",
+ "2 Richard NaN Male 4.0\n",
+ "3 NaN NaN NaN NaN\n",
+ "4 Randy NaN Male NaN\n",
+ "5 Michael 23.0 Male NaN\n",
+ "6 Julie 22.0 Female 6.0"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "data = {'Name': ['Steve', 'John', 'Richard', 'Sarah', 'Randy', 'Michael', 'Julie'],\n",
+ " 'Age': [20, 22, 20, 21, 24, 23, 22],\n",
+ " 'Gender': ['Male' ,'Male' ,'Male' ,'Female', 'Male' ,'Male' ,'Female'],\n",
+ " 'Rank': [2, 1, 4, 5, 3, 7, 6]}\n",
+ "\n",
+ "ranking_df = DataFrame(data)\n",
+ "ranking_df.iloc[2:5, 1] = np.nan\n",
+ "ranking_df.iloc[3:6, 3] = np.nan\n",
+ "ranking_df.iloc[3, :] = np.nan\n",
+ "ranking_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "c2907d9b",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Age | \n",
+ " Gender | \n",
+ " Rank | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " False | \n",
+ " True | \n",
+ " False | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " True | \n",
+ " True | \n",
+ " True | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " False | \n",
+ " True | \n",
+ " False | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Age Gender Rank\n",
+ "0 False False False False\n",
+ "1 False False False False\n",
+ "2 False True False False\n",
+ "3 True True True True\n",
+ "4 False True False True\n",
+ "5 False False False True\n",
+ "6 False False False False"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "ranking_df.isnull()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "3c3e9044",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Age | \n",
+ " Gender | \n",
+ " Rank | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " True | \n",
+ " True | \n",
+ " True | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " True | \n",
+ " True | \n",
+ " True | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " True | \n",
+ " False | \n",
+ " True | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " True | \n",
+ " False | \n",
+ " True | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " True | \n",
+ " True | \n",
+ " True | \n",
+ " False | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " True | \n",
+ " True | \n",
+ " True | \n",
+ " True | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Age Gender Rank\n",
+ "0 True True True True\n",
+ "1 True True True True\n",
+ "2 True False True True\n",
+ "3 False False False False\n",
+ "4 True False True False\n",
+ "5 True True True False\n",
+ "6 True True True True"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "ranking_df.notnull()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "eb775895",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Age | \n",
+ " Gender | \n",
+ " Rank | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 2 | \n",
+ " Richard | \n",
+ " NaN | \n",
+ " Male | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Randy | \n",
+ " NaN | \n",
+ " Male | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Age Gender Rank\n",
+ "2 Richard NaN Male 4.0\n",
+ "3 NaN NaN NaN NaN\n",
+ "4 Randy NaN Male NaN"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "bool_series = pd.isnull(ranking_df['Age'])\n",
+ "ranking_df[bool_series]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "e69f8d8a",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Age | \n",
+ " Gender | \n",
+ " Rank | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Steve | \n",
+ " 20.0 | \n",
+ " Male | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " John | \n",
+ " 22.0 | \n",
+ " Male | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Richard | \n",
+ " 0.0 | \n",
+ " Male | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ " 0 | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Randy | \n",
+ " 0.0 | \n",
+ " Male | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Michael | \n",
+ " 23.0 | \n",
+ " Male | \n",
+ " 0.0 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Julie | \n",
+ " 22.0 | \n",
+ " Female | \n",
+ " 6.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Age Gender Rank\n",
+ "0 Steve 20.0 Male 2.0\n",
+ "1 John 22.0 Male 1.0\n",
+ "2 Richard 0.0 Male 4.0\n",
+ "3 0 0.0 0 0.0\n",
+ "4 Randy 0.0 Male 0.0\n",
+ "5 Michael 23.0 Male 0.0\n",
+ "6 Julie 22.0 Female 6.0"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "ranking_df.fillna(0)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "a7cf7f77",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Age | \n",
+ " Gender | \n",
+ " Rank | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Steve | \n",
+ " 20.0 | \n",
+ " Male | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " John | \n",
+ " 22.0 | \n",
+ " Male | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Richard | \n",
+ " 22.0 | \n",
+ " Male | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Richard | \n",
+ " 22.0 | \n",
+ " Male | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Randy | \n",
+ " 22.0 | \n",
+ " Male | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Michael | \n",
+ " 23.0 | \n",
+ " Male | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Julie | \n",
+ " 22.0 | \n",
+ " Female | \n",
+ " 6.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Age Gender Rank\n",
+ "0 Steve 20.0 Male 2.0\n",
+ "1 John 22.0 Male 1.0\n",
+ "2 Richard 22.0 Male 4.0\n",
+ "3 Richard 22.0 Male 4.0\n",
+ "4 Randy 22.0 Male 4.0\n",
+ "5 Michael 23.0 Male 4.0\n",
+ "6 Julie 22.0 Female 6.0"
+ ]
+ },
+ "execution_count": 8,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "ranking_df.ffill()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "1ceff73e",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Age | \n",
+ " Gender | \n",
+ " Rank | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Steve | \n",
+ " 20.0 | \n",
+ " Male | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " John | \n",
+ " 22.0 | \n",
+ " Male | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Richard | \n",
+ " 23.0 | \n",
+ " Male | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Randy | \n",
+ " 23.0 | \n",
+ " Male | \n",
+ " 6.0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Randy | \n",
+ " 23.0 | \n",
+ " Male | \n",
+ " 6.0 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Michael | \n",
+ " 23.0 | \n",
+ " Male | \n",
+ " 6.0 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Julie | \n",
+ " 22.0 | \n",
+ " Female | \n",
+ " 6.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Age Gender Rank\n",
+ "0 Steve 20.0 Male 2.0\n",
+ "1 John 22.0 Male 1.0\n",
+ "2 Richard 23.0 Male 4.0\n",
+ "3 Randy 23.0 Male 6.0\n",
+ "4 Randy 23.0 Male 6.0\n",
+ "5 Michael 23.0 Male 6.0\n",
+ "6 Julie 22.0 Female 6.0"
+ ]
+ },
+ "execution_count": 9,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "ranking_df.bfill()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "id": "1bb3a5fd",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\tanzi\\AppData\\Local\\Temp\\ipykernel_31768\\1503916855.py:2: FutureWarning: DataFrame.interpolate with object dtype is deprecated and will raise in a future version. Call obj.infer_objects(copy=False) before interpolating instead.\n",
+ " ranking_df.interpolate(method='linear')\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Age | \n",
+ " Gender | \n",
+ " Rank | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Steve | \n",
+ " 20.00 | \n",
+ " Male | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " John | \n",
+ " 22.00 | \n",
+ " Male | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Richard | \n",
+ " 22.25 | \n",
+ " Male | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " NaN | \n",
+ " 22.50 | \n",
+ " NaN | \n",
+ " 4.5 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Randy | \n",
+ " 22.75 | \n",
+ " Male | \n",
+ " 5.0 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Michael | \n",
+ " 23.00 | \n",
+ " Male | \n",
+ " 5.5 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Julie | \n",
+ " 22.00 | \n",
+ " Female | \n",
+ " 6.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Age Gender Rank\n",
+ "0 Steve 20.00 Male 2.0\n",
+ "1 John 22.00 Male 1.0\n",
+ "2 Richard 22.25 Male 4.0\n",
+ "3 NaN 22.50 NaN 4.5\n",
+ "4 Randy 22.75 Male 5.0\n",
+ "5 Michael 23.00 Male 5.5\n",
+ "6 Julie 22.00 Female 6.0"
+ ]
+ },
+ "execution_count": 10,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "ranking_df.infer_objects(copy=False)\n",
+ "ranking_df.interpolate(method='linear')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "id": "2005d703",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Age | \n",
+ " Gender | \n",
+ " Rank | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Steve | \n",
+ " 20.0 | \n",
+ " Male | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " John | \n",
+ " 22.0 | \n",
+ " Male | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Julie | \n",
+ " 22.0 | \n",
+ " Female | \n",
+ " 6.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Age Gender Rank\n",
+ "0 Steve 20.0 Male 2.0\n",
+ "1 John 22.0 Male 1.0\n",
+ "6 Julie 22.0 Female 6.0"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "ranking_df.dropna()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "id": "3a2acc3a",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Age | \n",
+ " Gender | \n",
+ " Rank | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Steve | \n",
+ " 20.0 | \n",
+ " Male | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " John | \n",
+ " 22.0 | \n",
+ " Male | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Richard | \n",
+ " NaN | \n",
+ " Male | \n",
+ " 4.0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Randy | \n",
+ " NaN | \n",
+ " Male | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Michael | \n",
+ " 23.0 | \n",
+ " Male | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Julie | \n",
+ " 22.0 | \n",
+ " Female | \n",
+ " 6.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Age Gender Rank\n",
+ "0 Steve 20.0 Male 2.0\n",
+ "1 John 22.0 Male 1.0\n",
+ "2 Richard NaN Male 4.0\n",
+ "4 Randy NaN Male NaN\n",
+ "5 Michael 23.0 Male NaN\n",
+ "6 Julie 22.0 Female 6.0"
+ ]
+ },
+ "execution_count": 28,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "ranking_df.dropna(how= 'all')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "id": "a9d588a3",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ "Empty DataFrame\n",
+ "Columns: []\n",
+ "Index: [0, 1, 2, 3, 4, 5, 6]"
+ ]
+ },
+ "execution_count": 33,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "ranking_df.dropna(axis=1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "id": "08e6a9f2",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Age | \n",
+ " Gender | \n",
+ " Rank | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Steve | \n",
+ " 20.0 | \n",
+ " Male | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " John | \n",
+ " 22.0 | \n",
+ " Male | \n",
+ " 1.0 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Julie | \n",
+ " 22.0 | \n",
+ " Female | \n",
+ " 6.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Age Gender Rank\n",
+ "0 Steve 20.0 Male 2.0\n",
+ "1 John 22.0 Male 1.0\n",
+ "6 Julie 22.0 Female 6.0"
+ ]
+ },
+ "execution_count": 34,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "ranking_df.dropna(axis=0)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "a9c8d6f6",
+ "metadata": {},
+ "outputs": [],
+ "source": []
}
],
"metadata": {
@@ -46,7 +1216,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.10.8"
+ "version": "3.12.2"
}
},
"nbformat": 4,
diff --git a/notebooks/02_05b.ipynb b/notebooks/02_05b.ipynb
index 79444cd..6347af5 100644
--- a/notebooks/02_05b.ipynb
+++ b/notebooks/02_05b.ipynb
@@ -19,6 +19,390 @@
"### Removing duplicates"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " column 1 | \n",
+ " column 2 | \n",
+ " column 3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " a | \n",
+ " A | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 1 | \n",
+ " a | \n",
+ " A | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2 | \n",
+ " b | \n",
+ " B | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 2 | \n",
+ " b | \n",
+ " B | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 3 | \n",
+ " c | \n",
+ " C | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 3 | \n",
+ " c | \n",
+ " C | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 3 | \n",
+ " c | \n",
+ " C | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " column 1 column 2 column 3\n",
+ "0 1 a A\n",
+ "1 1 a A\n",
+ "2 2 b B\n",
+ "3 2 b B\n",
+ "4 3 c C\n",
+ "5 3 c C\n",
+ "6 3 c C"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_obj = DataFrame({'column 1' : [1, 1, 2, 2, 3, 3, 3],\n",
+ " 'column 2' : ['a', 'a', 'b', 'b', 'c', 'c', 'c'],\n",
+ " 'column 3' : ['A', 'A', 'B', 'B', 'C', 'C', 'C']})\n",
+ "df_obj"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 False\n",
+ "1 True\n",
+ "2 False\n",
+ "3 True\n",
+ "4 False\n",
+ "5 True\n",
+ "6 True\n",
+ "dtype: bool"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_obj.duplicated()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " column 1 | \n",
+ " column 2 | \n",
+ " column 3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " a | \n",
+ " A | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2 | \n",
+ " b | \n",
+ " B | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 3 | \n",
+ " c | \n",
+ " C | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " column 1 column 2 column 3\n",
+ "0 1 a A\n",
+ "2 2 b B\n",
+ "4 3 c C"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_obj.drop_duplicates()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "df_obj = DataFrame({'column 1' : [1, 1, 2, 2, 3, 3, 3],\n",
+ " 'column 2' : ['a', 'a', 'b', 'b', 'c', 'c', 'c'],\n",
+ " 'column 3' : ['A', 'A', 'B', 'B', 'C', 'D', 'C']})"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " column 1 | \n",
+ " column 2 | \n",
+ " column 3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " a | \n",
+ " A | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 1 | \n",
+ " a | \n",
+ " A | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2 | \n",
+ " b | \n",
+ " B | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 2 | \n",
+ " b | \n",
+ " B | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 3 | \n",
+ " c | \n",
+ " C | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 3 | \n",
+ " c | \n",
+ " D | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 3 | \n",
+ " c | \n",
+ " C | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " column 1 column 2 column 3\n",
+ "0 1 a A\n",
+ "1 1 a A\n",
+ "2 2 b B\n",
+ "3 2 b B\n",
+ "4 3 c C\n",
+ "5 3 c D\n",
+ "6 3 c C"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_obj"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " column 1 | \n",
+ " column 2 | \n",
+ " column 3 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " a | \n",
+ " A | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 2 | \n",
+ " b | \n",
+ " B | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 3 | \n",
+ " c | \n",
+ " C | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 3 | \n",
+ " c | \n",
+ " D | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " column 1 column 2 column 3\n",
+ "0 1 a A\n",
+ "2 2 b B\n",
+ "4 3 c C\n",
+ "5 3 c D"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "df_obj.drop_duplicates(['column 3'])"
+ ]
+ },
{
"cell_type": "code",
"execution_count": null,
@@ -44,7 +428,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.8.8"
+ "version": "3.12.2"
}
},
"nbformat": 4,
diff --git a/notebooks/02_06b.ipynb b/notebooks/02_06b.ipynb
index 87cd157..c04cb1a 100644
--- a/notebooks/02_06b.ipynb
+++ b/notebooks/02_06b.ipynb
@@ -19,6 +19,499 @@
"### Concatenating data"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 6 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 10 | \n",
+ " 11 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ " 17 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ " 20 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 30 | \n",
+ " 31 | \n",
+ " 32 | \n",
+ " 33 | \n",
+ " 34 | \n",
+ " 35 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 0 1 2 3 4 5\n",
+ "0 0 1 2 3 4 5\n",
+ "1 6 7 8 9 10 11\n",
+ "2 12 13 14 15 16 17\n",
+ "3 18 19 20 21 22 23\n",
+ "4 24 25 26 27 28 29\n",
+ "5 30 31 32 33 34 35"
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "DF_obj = DataFrame(np.arange(36).reshape(6,6))\n",
+ "DF_obj"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 6 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 9 | \n",
+ " 10 | \n",
+ " 11 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 14 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 0 1 2\n",
+ "0 0 1 2\n",
+ "1 3 4 5\n",
+ "2 6 7 8\n",
+ "3 9 10 11\n",
+ "4 12 13 14"
+ ]
+ },
+ "execution_count": 3,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "DF_obj_2 = DataFrame(np.arange(15).reshape(5,3))\n",
+ "DF_obj_2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 0.0 | \n",
+ " 1.0 | \n",
+ " 2.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 6 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 10 | \n",
+ " 11 | \n",
+ " 3.0 | \n",
+ " 4.0 | \n",
+ " 5.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ " 17 | \n",
+ " 6.0 | \n",
+ " 7.0 | \n",
+ " 8.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ " 20 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ " 9.0 | \n",
+ " 10.0 | \n",
+ " 11.0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ " 12.0 | \n",
+ " 13.0 | \n",
+ " 14.0 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 30 | \n",
+ " 31 | \n",
+ " 32 | \n",
+ " 33 | \n",
+ " 34 | \n",
+ " 35 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 0 1 2 3 4 5 0 1 2\n",
+ "0 0 1 2 3 4 5 0.0 1.0 2.0\n",
+ "1 6 7 8 9 10 11 3.0 4.0 5.0\n",
+ "2 12 13 14 15 16 17 6.0 7.0 8.0\n",
+ "3 18 19 20 21 22 23 9.0 10.0 11.0\n",
+ "4 24 25 26 27 28 29 12.0 13.0 14.0\n",
+ "5 30 31 32 33 34 35 NaN NaN NaN"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.concat([DF_obj, DF_obj_2], axis=1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3.0 | \n",
+ " 4.0 | \n",
+ " 5.0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 6 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9.0 | \n",
+ " 10.0 | \n",
+ " 11.0 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 14 | \n",
+ " 15.0 | \n",
+ " 16.0 | \n",
+ " 17.0 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ " 20 | \n",
+ " 21.0 | \n",
+ " 22.0 | \n",
+ " 23.0 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ " 27.0 | \n",
+ " 28.0 | \n",
+ " 29.0 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 30 | \n",
+ " 31 | \n",
+ " 32 | \n",
+ " 33.0 | \n",
+ " 34.0 | \n",
+ " 35.0 | \n",
+ "
\n",
+ " \n",
+ " | 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 6 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 9 | \n",
+ " 10 | \n",
+ " 11 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 14 | \n",
+ " NaN | \n",
+ " NaN | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 0 1 2 3 4 5\n",
+ "0 0 1 2 3.0 4.0 5.0\n",
+ "1 6 7 8 9.0 10.0 11.0\n",
+ "2 12 13 14 15.0 16.0 17.0\n",
+ "3 18 19 20 21.0 22.0 23.0\n",
+ "4 24 25 26 27.0 28.0 29.0\n",
+ "5 30 31 32 33.0 34.0 35.0\n",
+ "0 0 1 2 NaN NaN NaN\n",
+ "1 3 4 5 NaN NaN NaN\n",
+ "2 6 7 8 NaN NaN NaN\n",
+ "3 9 10 11 NaN NaN NaN\n",
+ "4 12 13 14 NaN NaN NaN"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pd.concat([DF_obj, DF_obj_2])"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
@@ -27,6 +520,196 @@
"#### Dropping data"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1 | \n",
+ " 6 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 10 | \n",
+ " 11 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ " 20 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 30 | \n",
+ " 31 | \n",
+ " 32 | \n",
+ " 33 | \n",
+ " 34 | \n",
+ " 35 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 0 1 2 3 4 5\n",
+ "1 6 7 8 9 10 11\n",
+ "3 18 19 20 21 22 23\n",
+ "4 24 25 26 27 28 29\n",
+ "5 30 31 32 33 34 35"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "DF_obj.drop([0,2])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 1 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 7 | \n",
+ " 9 | \n",
+ " 10 | \n",
+ " 11 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 13 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ " 17 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 19 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 25 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 31 | \n",
+ " 33 | \n",
+ " 34 | \n",
+ " 35 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 1 3 4 5\n",
+ "0 1 3 4 5\n",
+ "1 7 9 10 11\n",
+ "2 13 15 16 17\n",
+ "3 19 21 22 23\n",
+ "4 25 27 28 29\n",
+ "5 31 33 34 35"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "DF_obj.drop([0,2], axis=1)"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
@@ -34,6 +717,526 @@
"#### Adding data"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0 0\n",
+ "1 1\n",
+ "2 2\n",
+ "3 3\n",
+ "4 4\n",
+ "5 5\n",
+ "Name: added_variable, dtype: int32"
+ ]
+ },
+ "execution_count": 25,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "series_obj = Series(np.arange(6))\n",
+ "series_obj.name = \"added_variable\"\n",
+ "series_obj"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " added_variable | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 6 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 10 | \n",
+ " 11 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ " 17 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ " 20 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 30 | \n",
+ " 31 | \n",
+ " 32 | \n",
+ " 33 | \n",
+ " 34 | \n",
+ " 35 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 0 1 2 3 4 5 added_variable\n",
+ "0 0 1 2 3 4 5 0\n",
+ "1 6 7 8 9 10 11 1\n",
+ "2 12 13 14 15 16 17 2\n",
+ "3 18 19 20 21 22 23 3\n",
+ "4 24 25 26 27 28 29 4\n",
+ "5 30 31 32 33 34 35 5"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "variable_added = DataFrame.join(DF_obj, series_obj)\n",
+ "variable_added"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " added_variable | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 6 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 10 | \n",
+ " 11 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ " 17 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ " 20 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 30 | \n",
+ " 31 | \n",
+ " 32 | \n",
+ " 33 | \n",
+ " 34 | \n",
+ " 35 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 6 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 10 | \n",
+ " 11 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ " 17 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ " 20 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 30 | \n",
+ " 31 | \n",
+ " 32 | \n",
+ " 33 | \n",
+ " 34 | \n",
+ " 35 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 0 1 2 3 4 5 added_variable\n",
+ "0 0 1 2 3 4 5 0\n",
+ "1 6 7 8 9 10 11 1\n",
+ "2 12 13 14 15 16 17 2\n",
+ "3 18 19 20 21 22 23 3\n",
+ "4 24 25 26 27 28 29 4\n",
+ "5 30 31 32 33 34 35 5\n",
+ "0 0 1 2 3 4 5 0\n",
+ "1 6 7 8 9 10 11 1\n",
+ "2 12 13 14 15 16 17 2\n",
+ "3 18 19 20 21 22 23 3\n",
+ "4 24 25 26 27 28 29 4\n",
+ "5 30 31 32 33 34 35 5"
+ ]
+ },
+ "execution_count": 13,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "added_datatable = pd.concat([variable_added, variable_added], ignore_index=False)\n",
+ "added_datatable"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " added_variable | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 6 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 10 | \n",
+ " 11 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ " 17 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ " 20 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " 30 | \n",
+ " 31 | \n",
+ " 32 | \n",
+ " 33 | \n",
+ " 34 | \n",
+ " 35 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " 6 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 10 | \n",
+ " 11 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ " 17 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 9 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ " 20 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 10 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 11 | \n",
+ " 30 | \n",
+ " 31 | \n",
+ " 32 | \n",
+ " 33 | \n",
+ " 34 | \n",
+ " 35 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 0 1 2 3 4 5 added_variable\n",
+ "0 0 1 2 3 4 5 0\n",
+ "1 6 7 8 9 10 11 1\n",
+ "2 12 13 14 15 16 17 2\n",
+ "3 18 19 20 21 22 23 3\n",
+ "4 24 25 26 27 28 29 4\n",
+ "5 30 31 32 33 34 35 5\n",
+ "6 0 1 2 3 4 5 0\n",
+ "7 6 7 8 9 10 11 1\n",
+ "8 12 13 14 15 16 17 2\n",
+ "9 18 19 20 21 22 23 3\n",
+ "10 24 25 26 27 28 29 4\n",
+ "11 30 31 32 33 34 35 5"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "added_datatable = pd.concat([variable_added, variable_added], ignore_index=True)\n",
+ "added_datatable"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
@@ -41,6 +1244,120 @@
"#### Sorting data"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 5 | \n",
+ " 30 | \n",
+ " 31 | \n",
+ " 32 | \n",
+ " 33 | \n",
+ " 34 | \n",
+ " 35 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 24 | \n",
+ " 25 | \n",
+ " 26 | \n",
+ " 27 | \n",
+ " 28 | \n",
+ " 29 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 18 | \n",
+ " 19 | \n",
+ " 20 | \n",
+ " 21 | \n",
+ " 22 | \n",
+ " 23 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 12 | \n",
+ " 13 | \n",
+ " 14 | \n",
+ " 15 | \n",
+ " 16 | \n",
+ " 17 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 6 | \n",
+ " 7 | \n",
+ " 8 | \n",
+ " 9 | \n",
+ " 10 | \n",
+ " 11 | \n",
+ "
\n",
+ " \n",
+ " | 0 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 2 | \n",
+ " 3 | \n",
+ " 4 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " 0 1 2 3 4 5\n",
+ "5 30 31 32 33 34 35\n",
+ "4 24 25 26 27 28 29\n",
+ "3 18 19 20 21 22 23\n",
+ "2 12 13 14 15 16 17\n",
+ "1 6 7 8 9 10 11\n",
+ "0 0 1 2 3 4 5"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "\n",
+ "DF_sorted = DF_obj.sort_values(by=(5), ascending=[False])\n",
+ "DF_sorted"
+ ]
+ },
{
"cell_type": "code",
"execution_count": null,
@@ -65,7 +1382,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.8.8"
+ "version": "3.12.2"
}
},
"nbformat": 4,
diff --git a/notebooks/02_07b.ipynb b/notebooks/02_07b.ipynb
index 8877c57..0aab9be 100644
--- a/notebooks/02_07b.ipynb
+++ b/notebooks/02_07b.ipynb
@@ -17,6 +17,280 @@
"source": [
"### Grouping data by column index"
]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " car_names | \n",
+ " mpg | \n",
+ " cyl | \n",
+ " disp | \n",
+ " hp | \n",
+ " drat | \n",
+ " wt | \n",
+ " qsec | \n",
+ " vs | \n",
+ " am | \n",
+ " gear | \n",
+ " carb | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Mazda RX4 | \n",
+ " 21.0 | \n",
+ " 6 | \n",
+ " 160.0 | \n",
+ " 110 | \n",
+ " 3.90 | \n",
+ " 2.620 | \n",
+ " 16.46 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Mazda RX4 Wag | \n",
+ " 21.0 | \n",
+ " 6 | \n",
+ " 160.0 | \n",
+ " 110 | \n",
+ " 3.90 | \n",
+ " 2.875 | \n",
+ " 17.02 | \n",
+ " 0 | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Datsun 710 | \n",
+ " 22.8 | \n",
+ " 4 | \n",
+ " 108.0 | \n",
+ " 93 | \n",
+ " 3.85 | \n",
+ " 2.320 | \n",
+ " 18.61 | \n",
+ " 1 | \n",
+ " 1 | \n",
+ " 4 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Hornet 4 Drive | \n",
+ " 21.4 | \n",
+ " 6 | \n",
+ " 258.0 | \n",
+ " 110 | \n",
+ " 3.08 | \n",
+ " 3.215 | \n",
+ " 19.44 | \n",
+ " 1 | \n",
+ " 0 | \n",
+ " 3 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Hornet Sportabout | \n",
+ " 18.7 | \n",
+ " 8 | \n",
+ " 360.0 | \n",
+ " 175 | \n",
+ " 3.15 | \n",
+ " 3.440 | \n",
+ " 17.02 | \n",
+ " 0 | \n",
+ " 0 | \n",
+ " 3 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " car_names mpg cyl disp hp drat wt qsec vs am gear \\\n",
+ "0 Mazda RX4 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 \n",
+ "1 Mazda RX4 Wag 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 \n",
+ "2 Datsun 710 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 \n",
+ "3 Hornet 4 Drive 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 \n",
+ "4 Hornet Sportabout 18.7 8 360.0 175 3.15 3.440 17.02 0 0 3 \n",
+ "\n",
+ " carb \n",
+ "0 4 \n",
+ "1 4 \n",
+ "2 1 \n",
+ "3 1 \n",
+ "4 2 "
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "address = 'C:\\\\Users\\\\tanzi\\\\OneDrive\\\\Python for Data Science and Machine Learning\\\\python-for-data-science-and-machine-learning-essential-training-part-1-3006708\\\\data\\\\mtcars.csv'\n",
+ "cars = pd.read_csv(address)\n",
+ "cars.columns = ['car_names', 'mpg', 'cyl', 'disp', 'hp', 'drat', 'wt', 'qsec', 'vs', 'am', 'gear', 'carb']\n",
+ "cars.head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " mpg | \n",
+ " disp | \n",
+ " hp | \n",
+ " drat | \n",
+ " wt | \n",
+ " qsec | \n",
+ " vs | \n",
+ " am | \n",
+ " gear | \n",
+ " carb | \n",
+ "
\n",
+ " \n",
+ " | cyl | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 4 | \n",
+ " 26.663636 | \n",
+ " 105.136364 | \n",
+ " 82.636364 | \n",
+ " 4.070909 | \n",
+ " 2.285727 | \n",
+ " 19.137273 | \n",
+ " 0.909091 | \n",
+ " 0.727273 | \n",
+ " 4.090909 | \n",
+ " 1.545455 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " 19.742857 | \n",
+ " 183.314286 | \n",
+ " 122.285714 | \n",
+ " 3.585714 | \n",
+ " 3.117143 | \n",
+ " 17.977143 | \n",
+ " 0.571429 | \n",
+ " 0.428571 | \n",
+ " 3.857143 | \n",
+ " 3.428571 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " 15.100000 | \n",
+ " 353.100000 | \n",
+ " 209.214286 | \n",
+ " 3.229286 | \n",
+ " 3.999214 | \n",
+ " 16.772143 | \n",
+ " 0.000000 | \n",
+ " 0.142857 | \n",
+ " 3.285714 | \n",
+ " 3.500000 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " mpg disp hp drat wt qsec \\\n",
+ "cyl \n",
+ "4 26.663636 105.136364 82.636364 4.070909 2.285727 19.137273 \n",
+ "6 19.742857 183.314286 122.285714 3.585714 3.117143 17.977143 \n",
+ "8 15.100000 353.100000 209.214286 3.229286 3.999214 16.772143 \n",
+ "\n",
+ " vs am gear carb \n",
+ "cyl \n",
+ "4 0.909091 0.727273 4.090909 1.545455 \n",
+ "6 0.571429 0.428571 3.857143 3.428571 \n",
+ "8 0.000000 0.142857 3.285714 3.500000 "
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "cars_groups = cars.groupby(cars['cyl'])\n",
+ "cars_groups.mean(numeric_only=True)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": []
}
],
"metadata": {
@@ -35,7 +309,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.7.1"
+ "version": "3.12.2"
}
},
"nbformat": 4,
diff --git a/notebooks/04_01b.ipynb b/notebooks/04_01b.ipynb
index 81d3f47..cb51252 100644
--- a/notebooks/04_01b.ipynb
+++ b/notebooks/04_01b.ipynb
@@ -8,17 +8,198 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 1,
"metadata": {},
- "outputs": [],
- "source": []
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Defaulting to user installation because normal site-packages is not writeable\n",
+ "Requirement already satisfied: matplotlib in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (3.8.3)\n",
+ "Requirement already satisfied: contourpy>=1.0.1 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib) (1.2.0)\n",
+ "Requirement already satisfied: cycler>=0.10 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib) (0.12.1)\n",
+ "Requirement already satisfied: fonttools>=4.22.0 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib) (4.49.0)\n",
+ "Requirement already satisfied: kiwisolver>=1.3.1 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib) (1.4.5)\n",
+ "Requirement already satisfied: numpy<2,>=1.21 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib) (1.26.4)\n",
+ "Requirement already satisfied: packaging>=20.0 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib) (24.0)\n",
+ "Requirement already satisfied: pillow>=8 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib) (10.2.0)\n",
+ "Requirement already satisfied: pyparsing>=2.3.1 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib) (3.1.2)\n",
+ "Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib) (2.9.0.post0)\n",
+ "Requirement already satisfied: six>=1.5 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from python-dateutil>=2.7->matplotlib) (1.16.0)\n",
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "pip install matplotlib"
+ ]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Defaulting to user installation because normal site-packages is not writeable\n",
+ "Collecting seaborn\n",
+ " Downloading seaborn-0.13.2-py3-none-any.whl.metadata (5.4 kB)\n",
+ "Requirement already satisfied: numpy!=1.24.0,>=1.20 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from seaborn) (1.26.4)\n",
+ "Requirement already satisfied: pandas>=1.2 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from seaborn) (2.2.1)\n",
+ "Requirement already satisfied: matplotlib!=3.6.1,>=3.4 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from seaborn) (3.8.3)\n",
+ "Requirement already satisfied: contourpy>=1.0.1 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (1.2.0)\n",
+ "Requirement already satisfied: cycler>=0.10 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (0.12.1)\n",
+ "Requirement already satisfied: fonttools>=4.22.0 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (4.49.0)\n",
+ "Requirement already satisfied: kiwisolver>=1.3.1 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (1.4.5)\n",
+ "Requirement already satisfied: packaging>=20.0 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (24.0)\n",
+ "Requirement already satisfied: pillow>=8 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (10.2.0)\n",
+ "Requirement already satisfied: pyparsing>=2.3.1 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (3.1.2)\n",
+ "Requirement already satisfied: python-dateutil>=2.7 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from matplotlib!=3.6.1,>=3.4->seaborn) (2.9.0.post0)\n",
+ "Requirement already satisfied: pytz>=2020.1 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from pandas>=1.2->seaborn) (2024.1)\n",
+ "Requirement already satisfied: tzdata>=2022.7 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from pandas>=1.2->seaborn) (2024.1)\n",
+ "Requirement already satisfied: six>=1.5 in c:\\users\\tanzi\\appdata\\local\\packages\\pythonsoftwarefoundation.python.3.12_qbz5n2kfra8p0\\localcache\\local-packages\\python312\\site-packages (from python-dateutil>=2.7->matplotlib!=3.6.1,>=3.4->seaborn) (1.16.0)\n",
+ "Downloading seaborn-0.13.2-py3-none-any.whl (294 kB)\n",
+ " ---------------------------------------- 0.0/294.9 kB ? eta -:--:--\n",
+ " - -------------------------------------- 10.2/294.9 kB ? eta -:--:--\n",
+ " --------------------------- ------------ 204.8/294.9 kB 3.1 MB/s eta 0:00:01\n",
+ " ---------------------------------------- 294.9/294.9 kB 3.6 MB/s eta 0:00:00\n",
+ "Installing collected packages: seaborn\n",
+ "Successfully installed seaborn-0.13.2\n",
+ "Note: you may need to restart the kernel to use updated packages.\n"
+ ]
+ }
+ ],
+ "source": [
+ "pip install seaborn"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "d7515bf8",
"metadata": {},
"outputs": [],
- "source": []
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "import seaborn as sns\n",
+ "\n",
+ "from pandas import DataFrame"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "29e7aec4",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " names | \n",
+ " Age | \n",
+ " Gender | \n",
+ " Rank | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Steve | \n",
+ " 20 | \n",
+ " Male | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " John | \n",
+ " 22 | \n",
+ " Male | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " Richard | \n",
+ " 20 | \n",
+ " Male | \n",
+ " 4 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Sarah | \n",
+ " 21 | \n",
+ " Female | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Randy | \n",
+ " 24 | \n",
+ " Male | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Michael | \n",
+ " 23 | \n",
+ " Male | \n",
+ " 7 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Julie | \n",
+ " 22 | \n",
+ " Female | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " names Age Gender Rank\n",
+ "0 Steve 20 Male 2\n",
+ "1 John 22 Male 1\n",
+ "2 Richard 20 Male 4\n",
+ "3 Sarah 21 Female 5\n",
+ "4 Randy 24 Male 3\n",
+ "5 Michael 23 Male 7\n",
+ "6 Julie 22 Female 6"
+ ]
+ },
+ "execution_count": 4,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "data = {'names': ['Steve', 'John', 'Richard', 'Sarah', 'Randy', 'Michael', 'Julie'],\n",
+ " 'Age': [20, 22, 20, 21, 24, 23, 22],\n",
+ " 'Gender': ['Male' ,'Male' ,'Male' ,'Female', 'Male' ,'Male' ,'Female'],\n",
+ " 'Rank': [2, 1, 4, 5, 3, 7, 6]}\n",
+ "df = DataFrame(data)\n",
+ "df\n"
+ ]
},
{
"cell_type": "markdown",
@@ -27,6 +208,54 @@
"### Matplotlib's Bar Chart"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "ed7edd17",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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yunIkSOZ2r/77jvn9DuV1WGu77//3vlrujlZv5zWeeNrG2N07NgxVatW7aavUaFCBX311Vdq2LChfH19s60HAIeWgHvGL7/8omXLlunxxx9Xly5dMj2GDh2qpKQk5yXFkZGRSktL08yZM53LyMjIyBSCgoOD1bRpU3388cc6ffp0ptc9d+6c898JCQku0/z8/BQeHq7U1NRsa2/btq127dqlHTt2ONtSUlL0l7/8RWFhYapatertb4gbxMTEOM9xkaRdu3Zp586datOmjaScrV9O65w3b56SkpKcz5cuXarTp087Xzsr3bp1U3p6usaNG5dp2tWrV3XhwoVbrzTwO8KIDHCPWL58uZKSkvTEE09kOb1evXrOH8fr3r27OnbsqDp16ujFF1/UsWPHVKVKFS1fvlw//fSTJLn8Rsv06dPVqFEjRUREaNCgQbr//vsVHx+vHTt26NSpU9q/f78kqWrVqmratKlq1qypoKAg7dmzR0uXLtXQoUOzrf2VV17RokWL1KZNGz3//PMKCgrS3LlzFRcXp88++0z58t35d67w8HA1atRIgwcPVmpqqqZOnapixYpp5MiROV6/nNYZFBSkRo0aqV+/foqPj9fUqVMVHh7ucoL1jZo0aaJnn31W48eP1759+9SqVSsVKFBAR48e1ZIlS/T++++rS5cud7w9gHuOm6+aAnCXtG/f3vj4+JiUlJSb9unbt68pUKCAOX/+vDHGmHPnzpmePXsaf39/ExgYaPr27Wu2bdtmJJnFixe7zBsbG2v69OljQkJCTIECBUyZMmXM448/bpYuXers86c//cnUqVPHFClSxPj6+poqVaqYt95667Z++yQ2NtZ06dLFFClSxPj4+Jg6deqYFStWZOqnHF5+/e6775pJkyaZ0NBQ4+3tbR599FGzf//+LF//Vut3u3Vev/x60aJFJjo62gQHBxtfX1/Trl0788MPP7j0zep3ZIwx5i9/+YupWbOm8fX1Nf7+/iYiIsKMHDnS/Pjjj7dcd+D3xGGMMe6NUgA8SUxMjDp16qStW7eqYcOG7i7njh0/flzly5fXu+++m+f3Zdq4caOaNWumJUuWMHoC5DLOkQF+x3755ReX5+np6Zo2bZoCAgJUo0YNN1UFALePc2SA37HnnntOv/zyi+rXr6/U1FQtW7ZM27dv19tvv80VMwCsQJABfseaN2+u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0UJr166VlPVQ77fffqvHH39cAQEB8vf316OPPqrY2FiXZb733nsqVaqUihUrpiFDhigtLc05bf78+apVq5b8/f0VEhKinj176uzZs87p14ffV61apZo1a8rb21tbt25VSkqK+vTpIz8/P5UqVUqTJk3K3Q2jW382JGny5MmKiIhQ4cKFFRoaqj/84Q9KTk52LuP6MP/y5ctVtWpVeXt768SJE9q9e7datmyp4sWLKzAwUE2aNNE333yTqYbz58+rU6dOKlSokCpWrKjly5fn+nrfKLv3SEJCgnr06KEyZcqoUKFCioiI0KJFi1zmb9q0qZ5//nmNHDlSQUFBCgkJ0ZtvvunS5+jRo2rcuLF8fHxUtWpV5/Kva968eabf6Tp37pwKFiyodevW3fV1rlGjhkJDQ7Vs2TJn27Jly1S2bFk98sgjLuv260NLqampevnllxUaGipvb2+Fh4dr1qxZLsvObv8QGxurDh06qGTJkvLz81Pt2rX11VdfucyfmpqqESNGqEyZMipcuLDq1q2rjRs33t0NcBeEhYVp6tSpLm0PP/xwpv/767La3xw8eFBt2rSRn5+fSpYsqd69e+v8+fO5V3QuIsjkIj8/P/n5+SkmJkapqamZpl//Qz179mydPn3a+XzLli3q06eP/vjHP+rQoUP6+OOPNWfOHL311luSpF69eukf//iHy059zZo1unTpkjp16iTp2l3A582bpxkzZujbb7/VCy+8oKefflqbNm3K7dW+IyNHjtRnn32muXPn6ptvvlF4eLgiIyP1008/ufR77bXXNGnSJO3Zs0f58+dX//79XabHxsYqJiZGK1as0IoVK7Rp0yZNmDAhL1clSwcPHtT27dtVsGDBLKf/97//VePGjeXt7a3169dr79696t+/vzO8StKGDRsUGxurDRs2aO7cuZozZ47mzJnjnJ6WlqZx48Zp//79iomJ0fHjx53D9L/2yiuvaMKECTp8+LCqVauml156SZs2bdIXX3yhL7/8Uhs3bszyD//ddKvPhiTly5dPH3zwgb799lvNnTtX69ev18iRI136XLp0SRMnTtRf//pXffvttwoODlZSUpKioqK0detWff3116pYsaLatm2bKdCOGTNG3bp104EDB9S2bVv16tUr0/stL934Hrl8+bJq1qyplStX6uDBg3rmmWfUu3dv7dq1y2W+uXPn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LdtRmZv57rvvlJCQoAkTJig0NFSStGfPnlvOV6FCBRUoUEA7d+50XjHy888/6/vvv3fLe+f6Z2Pv3r3KyMjQpEmTnFchffrpp7e1jG3btunPf/6z2rZtK0k6efKkFScx3vge2bZtmzp06KCnn35a0rU/yN9//72qVq1628t84IEHdPLkSZ0+fdr5B+rrr7/O1C8iIkK1atXSzJkztXDhQn344Yd3Z6Wy0bp1a125ckUOh0ORkZHZ9o2IiFBGRoY2bdqkFi1a3NHrbdu2TX379nWeR5icnKzjx487pz/yyCNKT0/X2bNn9eijj97Ra+SVEiVK6PTp087niYmJiouLu+35a9Sooc8++0xhYWFuu2rxbuLQUi5KSEhQ8+bN9fe//10HDhxQXFyclixZonfeeUcdOnSQdO1QyLp163TmzBn9/PPPkqQ33nhD8+bN05gxY/Ttt9/q8OHDWrx4sUaNGuWy/J49e2rGjBlau3at87CSJPn7+2vEiBF64YUXNHfuXMXGxuqbb77RtGnTNHfu3LzbALepcOHCGjx4sF566SWtXr1ahw4d0qBBg3Tp0qUsRy9s1bVrV3l5eWX57XPo0KFKTEzUU089pT179ujo0aOaP3++y1UX2SlbtqwKFiyoadOm6T//+Y+WL19+W7/B4efnpwEDBuill17S+vXrnYcUcvsS5lt9NsLDw5WWluZcn/nz52vGjBm3teyKFStq/vz5Onz4sHbu3KlevXrd9jd6d/v1e6RixYpau3attm/frsOHD+vZZ59VfHx8jpbXokULVapUSVFRUdq/f7+2bNmi1157Lcu+AwcO1IQJE2SMcf6xz01eXl46fPiwDh06lGkE5EZhYWGKiopS//79FRMTo7i4OG3cuPG2w6107X2xbNky7du3T/v371fPnj1dRq4qVaqkXr16qU+fPlq2bJni4uK0a9cujR8/XitXrrzj9cwNzZs31/z587Vlyxb9+9//VlRU1C234a8NGTJEP/30k3r06KHdu3crNjZWa9asUb9+/TJ9sbYBQSYX+fn5qW7dupoyZYoaN26shx56SK+//roGDRrk/MYzadIkrV27VqGhoc5LDyMjI7VixQp9+eWXql27turVq6cpU6ZkGurt1auXDh06pDJlyricXyJJ48aN0+uvv67x48frgQceUOvWrbVy5UqVL18+b1b+NmRkZDi/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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plt.bar(df['names'], df['Age'])\n",
+ "plt.xlabel('Names')\n",
+ "plt.ylabel('Age')\n",
+ "plt.title('Ages of people')\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "5cb4ebec",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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6/Dhw2nGf/fdd87pdyq901zff/+989d0s7N+2a3z1vc2xujo0aOqXr16hu9Rrlw5ffnll2rUqJF8fHwyrQcAp5aAe8Zvv/2mJUuW6PHHH1enTp3SvAYPHqyEhATnLcURERFKTk7WjBkznMtITU1NE4KKFSumZs2a6cMPP9Tp06fTvO+5c+ec/75w4YLLNH9/f5UvX15JSUmZ1v7YY49p586d2r59u3Pc5cuX9a9//UthYWGqWrVq1jfELZYuXeq8xkWSdu7cqR07dqh169aSsrd+2a1zzpw5SkhIcA4vXrxYp0+fdr53erp06aKUlBSNGzcuzbTr16/r4sWLt19p4E+EHhngHrFs2TIlJCToiSeeSHd6gwYNnD+O17VrV7Vv31716tXT8OHDdfToUVWuXFnLli3TL7/8Ikkuv9Eybdo0NW7cWOHh4RowYIDKli2ruLg4bd++XadOndK+ffskSVWrVlWzZs1Uu3ZtBQUFaffu3Vq8eLEGDx6cae1///vftWDBArVu3VpDhgxRUFCQZs+erWPHjumTTz5Rnjx3/p2rfPnyaty4sQYOHKikpCRNmTJFRYoU0ahRo7K9ftmtMygoSI0bN1afPn0UFxenKVOmqHz58i4XWN+qadOmevrppxUdHa29e/fq0UcfVf78+XXkyBEtWrRI77zzjjp16nTH2wO457j5rikAd0nbtm2Nt7e3uXz5coZtevfubfLnz2/Onz9vjDHm3Llzpnv37iYgIMAEBgaa3r17m61btxpJZuHChS7zxsbGml69epng4GCTP39+U7JkSfP444+bxYsXO9v885//NPXq1TOFChUyPj4+pnLlyub111/P0m+fxMbGmk6dOplChQoZb29vU69ePbN8+fI07ZTN26/feustM3HiRBMaGmq8vLzMww8/bPbt25fu+99u/bJa583brxcsWGBGjx5tihUrZnx8fEybNm3Mjz/+6NI2vd+RMcaYf/3rX6Z27drGx8fHBAQEmPDwcDNq1Cjz888/33bdgT8ThzHGuDdKAfAkS5cuVYcOHbRlyxY1atTI3eXcsePHj6tMmTJ66623cv25TBs2bFDz5s21aNEiek+AHMY1MsCf2G+//eYynJKSoqlTp6pgwYKqVauWm6oCgKzjGhngT+y5557Tb7/9poYNGyopKUlLlizRtm3b9MYbb3DHDAArEGSAP7EW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AGQm2z0y586dU7FixdKMv3z5skuwAQAAyGnZDjJ16tTRihUrnMM3w8u///1vNWzY8O5VBgAAcBvZPrX0xhtvqHXr1jp48KCuX7+ud955RwcPHtS2bdu0cePGnKgRAAAgXdnukWncuLH27t2r69evKzw8XF988YWKFSum7du3q3bt2jlRIwAAQLqy3SMjSeXKldOMGTPudi0AAADZku0gEx8fn+54h8MhLy8vFShQ4A8XBQAAkBXZDjKFChXK9O6k+++/X71799aYMWOUJw9PQAAAADkn20EmJiZGL730knr37q169epJknbu3KnZs2fr5Zdf1rlz5/T222/Ly8tLL7744l0vGAAA4KZsB5nZs2dr4sSJ6tKli3Nc27ZtFR4erg8//FBr165VqVKl9PrrrxNkAABAjsr2uZ9t27apZs2aacbXrFlT27dvl3Tjzqabz2ACAADIKdkOMqGhoZo5c2aa8TNnzlRoaKgk6cKFCypcuPAfrw4AACAT2T619Pbbb6tz585auXKl6tatK0navXu3Dh06pE8++USStGvXLnXt2vXuVgoAAHCLbAeZJ554QocPH9b06dP1/fffS5Jat26tpUuXKjExUZI0cODAu1slAABAOu7oB/HCwsI0fvx4STd+V2bBggXq2rWrdu/erZSUlLtaIAAAQEbu+IdeNm3apKioKIWEhGjixIlq3ry5vvrqq7tZGwAAQKay1SNz5swZxcTEaObMmYqPj1eXLl2UlJSkpUuXqmrVqjlVIwAAQLqy3CPTtm1bVapUSfv379eUKVP0888/a+rUqTlZGwAAQKay3COzcuVKDRkyRAMHDlSFChVysiYAAIAsyXKPzJYtW5SQkKDatWurfv36eu+993T+/PmcrA0AACBTWQ4yDRo00IwZM3T69Gk9/fTTWrhwoUJCQpSamqo1a9YoISEhJ+sEAABII9t3Lfn5+alv377asmWLvvnmGw0fPlzjx49XsWLF9MQTT+REjQAAAOm649uvJalSpUp68803derUKS1YsOBu1QQAAJAlfyjI3JQ3b161b99ey5YtuxuLAwAAyJK7EmQAAADcgSADAACsRZABAADWIsgAAABrEWQAAIC1CDIAAMBaBBkAAGAtggwAALAWQQYAAFiLIAMAAKxFkAEAANYiyAAAAGsRZAAAgLUIMgAAwFoEGQAAYC2CDAAAsBZBBgAAWIsgAwAArOXWILNp0ya1bdtWISEhcjgcWrp0qct0Y4z+8Y9/qESJEvLx8VHLli115MgR9xQLAAA8jluDzOXLl1WjRg1NmzYt3elvvvmm3n33XU2fPl07duyQn5+fIiIidPXq1VyuFAAAeKJ87nzz1q1bq3Xr1ulOM8ZoypQpevnll9WuXTtJ0pw5c1S8eHEtXbpUTz31VG6WCgAAPJDHXiNz7NgxnTlzRi1btnSOCwwMVP369bV9+/YM50tKSlJ8fLzLCwAA3Js8NsicOXNGklS8eHGX8cWLF3dOS090dLQCAwOdr9DQ0BytEwAAuI/HBpk7NXr0aF26dMn5OnnypLtLAgAAOcRjg0xwcLAkKS4uzmV8XFycc1p6vLy8VLBgQZcXAAC4N3lskClTpoyCg4O1du1a57j4+Hjt2LFDDRs2dGNlAADAU7j1rqXExEQdPXrUOXzs2DHt3btXQUFBKlWqlIYOHap//vOfqlChgsqUKaNXXnlFISEhat++vfuKBgAAHsOtQWb37t1q3ry5c3jYsGGSpKioKMXExGjUqFG6fPmy/vrXv+rixYtq3LixVq1aJW9vb3eVDAAAPIhbg0yzZs1kjMlwusPh0GuvvabXXnstF6sCAAC28NhrZAAAAG6HIAMAAKxFkAEAANYiyAAAAGsRZAAAgLUIMgAAwFoEGQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABYiyADAACsRZABAADWIsgAAABrEWQAAIC1CDIAAMBaBBkAAGAtggwAALAWQQYAAFiLIAMAAKxFkAEAANYiyAAAAGsRZAAAgLUIMgAAwFoEGQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABYiyADAACsRZABAADWIsgAAABrEWQAAIC1CDIAAMBaBBkAAGAtggwAALAWQQYAAFiLIAMAAKxFkAEAANYiyAAAAGsRZAAAgLUIMgAAwFoEGQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWh4dZF599VU5HA6XV+XKld1dFgAA8BD53F3A7VSrVk1ffvmlczhfPo8vGQAA5BKPTwX58uVTcHCwu8sAAAAeyKNPLUnSkSNHFBISorJly6pHjx46ceJEpu2TkpIUHx/v8gIAAPcmjw4y9evXV0xMjFatWqUPPvhAx44d08MPP6yEhIQM54mOjlZgYKDzFRoamosVAwCA3OTRQaZ169bq3LmzqlevroiICH3++ee6ePGiPv744wznGT16tC5duuR8nTx5MhcrBgAAucnjr5H5vUKFCqlixYo6evRohm28vLzk5eWVi1UBAAB38egemVslJiYqNjZWJUqUcHcpAADAA3h0kBkxYoQ2btyo48ePa9u2berQoYPy5s2rbt26ubs0AADgATz61NKpU6fUrVs3XbhwQUWLFlXjxo311VdfqWjRou4uDQAAeACPDjILFy50dwkAAMCDefSpJQAAgMwQZAAAgLUIMgAAwFoEGQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABYiyADAACsRZABAADWIsgAAABrEWQAAIC1CDIAAMBaBBkAAGAtggwAALAWQQYAAFiLIAMAAKxFkAEAANYiyAAAAGsRZAAAgLUIMgAAwFoEGQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABYiyADAACsRZABAADWIsgAAABrEWQAAIC1CDIAAMBaBBkAAGAtggwAALAWQQYAAFiLIAMAAKxFkAEAANYiyAAAAGsRZAAAgLUIMgAAwFoEGQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABYy4ogM23aNIWFhcnb21v169fXzp073V0SAADwAB4fZD766CMNGzZMY8aM0ddff60aNWooIiJCZ8+edXdpAADAzTw+yEyaNEkDBgxQnz59VLVqVU2fPl2+vr76z3/+4+7SAACAm3l0kLl27Zr27Nmjli1bOsflyZNHLVu21Pbt291YGQAA8AT53F1AZs6fP6+UlBQVL17cZXzx4sX13XffpTtPUlKSkpKSnMOXLl2SJMXHx6fbPiXpt7tUrefKaN1vh22TsXt929zpdpHYNhm517eLxLbJDNsmYxltm5vjjTGZL8B4sJ9++slIMtu2bXMZP3LkSFOvXr10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r3/9q3r27KmdO3e6zDd79mz5+flpx44devPNN/Xaa685w0pqaqqefPJJFShQQDt27ND06dP1wgsvuMzfv39/zZ8/3+X/5b///a9KliypFi1a5PBa/399+/bVrFmznMP/+c9/bvtoml69emnBggV69913dejQIX344Yfy9/d3aZPZcSYxMVGPPfaY1q5dq//7v/9TZGSk2rZtqxMnTjjbDB48WNu3b9fChQu1f/9+de7cWZGRkTpy5MhdWnPPdPHiRbVo0UI1a9bU7t27tWrVKsXFxalLly7uLk3K9NnYcFq8eLEpXLiw8fb2Ng899JAZPXq02bdvn3O6JPPpp5+6zPPII4+YN954w2Xc3LlzTYkSJYwxxiQnJ5v77rvPzJkzxzm9W7dupmvXrsYYY65evWp8fX3Ntm3bXJbRr18/061bt7u5enddVFSUadeunUlMTDT58+c38+bNc067du2aCQkJMW+++aYxxpj169cbSebLL790tlmxYoWRZH777TdjjDFjxowxvr6+Jj4+3tlm5MiRpn79+rm0RhmLiooyefPmNX5+fsbLy8tIMnny5DGLFy82xhhz7NgxI8n83//9nzHGmNGjR5syZcqYa9euZbi80qVLm+vXrzvHde7c2blfpGfXrl1GkklISDDG/P9tunTpUmebhIQEU6BAAfPxxx87x124cMH4+PiYv/3tb3e6+nfsdp+pWy1atMgUKVLEOTxr1iwjyezduzfT90lJSTEBAQHmf//7n3OcJPPyyy87hxMTE40ks3Llyj+wRn/M7faj9LRp08YMHz7cOdy0aVPTuHFjlzZ169Y1L7zwgjHGmNWrV5t8+fKZn376yTl95cqVLsev3377zRQuXNh89NFHzjbVq1c3r7766t1Yzdu6eew4e/as8fLyMsePHzfHjx833t7e5ty5c6Zdu3YmKirKGHNjfW/uu4cPHzaSzJo1a9JdblaOM+mpVq2amTp1qjHGmB9//NHkzZvXZfsZc+NYP3r0aGPMjf0yMDDwDtf+7rq5LY0xpnTp0mby5Mku02vUqGHGjBnjHP79fnDrcWvcuHHm0UcfdZn/5MmTRpI5fPhwDq1B1tAjk0UdO3bUzz//rGXLlikyMlIbNmxQrVq1XL4l32rfvn167bXXnN8+/f39NWDAAJ0+fVpXrlxRvnz51KVLF82bN0+SdPnyZX322Wfq0aOHJOno0aO6cuWKWrVq5bKMOXPmpDkN4aliY2OVnJysRo0aOcflz59f9erV06FDh1zaVq9e3fnvEiVKSJLL6ZKwsDAFBAS4tPn9dHdq3ry59u7dqx07digqKkp9+vRRx44d0227d+9ePfzww8qfP3+Gy6tWrZry5s3rHL51Xffs2aO2bduqVKlSCggIUNOmTSXJ5ZujJNWpU8f579jYWF27dk3169d3jgsKClKlSpWyt7J3ye0+U19++aUeeeQRlSxZUgEBAerZs6cuXLigK1euOJdRoEABl/1GkuLi4jRgwABVqFBBgYGBKliwoBITE9Nsm9/P5+fnp4IFC7p9f8psP0pJSdG4ceMUHh6uoKAg+fv7a/Xq1Zmul+S67xw6dEihoaEKCQlxTm/YsKFLe29vb/Xs2VP/+c9/JElff/21Dhw4kG6PX04qWrSo2rRpo5iYGM2aNUtt2rTRfffdl2H7vXv3Km/evM7PQkYyO84kJiZqxIgRqlKligoVKiR/f38dOnTIuY2/+eYbpaSkqGLFii7H5I0bN1pzTL5T+/bt0/r1613Wu3LlypLk9nX3nCv/LODt7a1WrVqpVatWeuWVV9S/f3+NGTMmww94YmKixo4dqyeffDLdZUk3Ti81bdpUZ8+e1Zo1a+Tj46PIyEjn/JK0YsUKlSxZ0mV+256FkRW//8PucDgk3egKT2/6zTa/n+5Ofn5+Kl++vKQbXeA1atTQzJkz1a9fvzRtb168mJnM1vXy5cuKiIhQRESE5s2bp6JFi+rEiROKiIjQtWvX0tTlyTL6TDVr1kyPP/64Bg4cqNdff11BQUHasmWL+vXrp2vXrsnX11fSjW15c1+5KSoqShcuXNA777yj0qVLy8vLSw0bNkyzbTxxf8psP3rrrbf0zjvvaMqUKc5rh4YOHZoj69W/f389+OCDOnXqlGbNmqUWLVqodOnSf2zl7kDfvn2d1+tMmzYt07ZZ+VxJmR9nRowYoTVr1ujtt99W+fLl5ePjo06dOjm3cWJiovLmzas9e/a4fNGQlOYUlqfJkyePzC1PJPr9dXe3k5iYqLZt26Z74fnNQOguBJk/oGrVqs5brvPnz6+UlBSX6bVq1dLhw4edB6b0PPTQQwoNDdVHH32klStXqnPnzs4P2u8vYLzdtwxPVa5cORUoUEBbt251HgiTk5O1a9eue/a3S/LkyaMXX3xRw4YNU/fu3dNMr169umbPnq3k5ORMe2Uy8t133+nChQsaP368QkNDJUm7d+++7XzlypVT/vz5tWPHDuedH7/++qu+//57j9m/bn6m9uzZo9TUVE2cONF5F9LHH3+cpWVs3bpV77//vh577DFJ0smTJz3igsTsunU/2rp1q9q1a6e//OUvkm788f3+++9VtWrVLC+zSpUqOnnypE6fPu384/PVV1+laRceHq46depoxowZmj9/vt577727s1LZFBkZqWvXrsnhcCgiIiLTtuHh4UpNTdXGjRvVsmXLO3q/rVu3qnfv3s5rFBMTE3X8+HHn9Jo1ayolJUVnz57Vww8/fEfv4S5FixbV6dOnncPx8fE6duxYluevVauWPvnkE4WFhXnU3Y8SF/tmyYULF9SiRQv997//1f79+3Xs2DEtWrRIb775ptq1ayfpxmmPtWvX6syZM/r1118lSf/4xz80Z84cjR07Vt9++60OHTqkhQsX6uWXX3ZZfvfu3TV9+nStWbPGeVpJkgICAjRixAg9//zzmj17tmJjY/X1119r6tSpmj17du5tgD/Az89PAwcO1MiRI7Vq1SodPHhQAwYM0JUrV9LtrbhXdO7cWXnz5k33W+TgwYMVHx+vp556Srt379aRI0c0d+5cl7snMlOqVCkVKFBAU6dO1Q8//KBly5Zl6bc0/P391a9fP40cOVLr1q1zni5wx+3Kt/tMlS9fXsnJyc51nDt3rqZPn56lZVeoUEFz587VoUOHtGPHDvXo0SPL39Y9ze/3owoVKmjNmjXatm2bDh06pKefflpxcXHZWl7Lli1VsWJFRUVFad++fdq8ebNeeumldNv2799f48ePlzHG+Yc9t+XNm1eHDh3SwYMH0/SA3CosLExRUVHq27evli5dqmPHjmnDhg1ZDsDSjX1nyZIl2rt3r/bt26fu3bu79GZVrFhRPXr0UK9evbRkyRIdO3ZMO3fuVHR0tFasWHHH65kbWrRooblz52rz5s365ptvFBUVddtt+nuDBg3SL7/8om7dumnXrl2KjY3V6tWr1adPnzRf4nMbQSYL/P39Vb9+fU2ePFlNmjTRAw88oFdeeUUDBgxwflOZOHGi1qxZo9DQUOftgREREVq+fLm++OIL1a1bVw0aNNDkyZPTdNH26NFDBw8eVMmSJV2uJZGkcePG6ZVXXlF0dLSqVKmiyMhIrVixQmXKlMmdlb9DqampztQ+fvx4dezYUT179lStWrV09OhRrV69WoULF3ZzlTknX758Gjx4sN58801dvnzZZVqRIkW0bt06JSYmqmnTpqpdu7ZmzJiR5d6ZokWLKiYmRosWLVLVqlU1fvx4vf3221ma96233tLDDz+stm3bqmXLlmrcuLFq166d7fX7o273mapRo4YmTZqkCRMm6IEHHtC8efMUHR2dpWXPnDlTv/76q2rVqqWePXs6b/230e/3o+HDh6tWrVqKiIhQs2bNFBwcnO0fO8uTJ48+/fRT/fbbb6pXr5769+/vvIvyVt26dVO+fPnUrVs356lwdyhYsKAKFiyYpbYffPCBOnXqpGeffVaVK1fWgAED0nz+MjNp0iQVLlxYDz30kNq2bauIiAjVqlXLpc2sWbPUq1cvDR8+XJUqVVL79u21a9cul9+38RS/Pw6PHj1aTZs21eOPP642bdqoffv2KleuXJaXFRISoq1btyolJUWPPvqowsPDNXToUBUqVMjtv93kMLeeNAPugsjISJUvX95tXdIA/pjjx4+rXLly2rVrV5o/5rDDn+U4TI8M7qpff/1Vy5cv14YNG+74PDUA90lOTtaZM2f08ssvq0GDBoQYC/3ZjsOedcUOrNe3b1/t2rVLw4cPd14/BMAeW7duVfPmzVWxYkXrfkUcN/zZjsOcWgIAANbi1BIAALAWQQYAAFiLIAMAAKxFkAEAANYiyAAAAGsRZAAAgLUIMgAAwFoEGQC5olmzZhoyZIhGjRqloKAgBQcH69VXX3VOnzRpksLDw+Xn56fQ0FA9++yzSkxMdE6PiYlRoUKFtHz5clWqVEm+vr7q1KmTrly5otmzZyssLEyFCxfWkCFDXB5il5SUpBEjRqhkyZLy8/NT/fr1tWHDBuf0H3/8UW3btlXhwoXl5+enatWq6fPPP8+NTQLgLuCXfQHkmtmzZ2vYsGHasWOHtm/frt69e6tRo0Zq1aqV8uTJo3fffVdlypTRDz/8oGeffVajRo3S+++/75z/ypUrevfdd7Vw4UIlJCToySefVIcOHVSoUCF9/vnn+uGHH9SxY0c1atRIXbt2lXTjaeMHDx7UwoULFRISok8//VSRkZH65ptvVKFCBQ0aNEjXrl3Tpk2b5Ofnp4MHD8rf399dmwhANvHLvgByRbNmzZSSkqLNmzc7x9WrV08tWrTQ+PHj07RfvHixnnnmGZ0/f17SjR6ZPn366OjRo86n9j7zzDOaO3eu4uLinOEjMjJSYWFhmj59uk6cOKGyZcvqxIkTCgkJcS67ZcuWqlevnt544w1Vr15dHTt21JgxY3Jy9QHkEHpkAOSa6tWruwyXKFFCZ8+elSR9+eWXio6O1nfffaf4+Hhdv35dV69e1ZUrV+Tr6ytJ8vX1dYYYSSpevLjCwsJcelCKFy/uXOY333yjlJQUVaxY0eV9k5KSVKRIEUnSkCFDNHDgQH3xxRdq2bKlOnbsmKZOAJ6La2QA5Jr8+fO7DDscDqWmpur48eN6/PHHVb16dX3yySfas2ePpk2bJkm6du1apvNntExJSkxMVN68ebVnzx7t3bvX+Tp06JDeeecdSVL//v31ww8/qGfPnvrmm29Up04dTZ069a6vO4CcQY8MALfbs2ePUlNTNXHiROXJc+P71ccff/yHl1uzZk2lpKTo7NmzevjhhzNsFxoaqmeeeUbPPPOMRo8erRkzZui55577w+8PIOcRZAC4Xfny5ZWcnKypU6eqbdu22rp1q6ZPn/6Hl1uxYkX16NFDvXr10sSJE1WzZk2dO3dOa9euVfXq1dWmTRsNHTpUrVu3VsWKFfXrr79q/fr1qlKlyl1YKwC5gVNLANyuRo0amjRpkiZMmKAHHnhA8+bNU3R09F1Z9qxZs9SrVy8NHz5clSpVUvv27bVr1y6VKlVKkpSSkqJBgwapSpUqioyMVMWKFV3ulALg2bhrCQAAWIseGQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABYiyADAACs9f8AMmF1mBre4wcAAAAASUVORK5CYII=",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot = sns.barplot(x='names', y='Age', data=df)\n",
+ "plot.set_title('Ages of people')\n",
+ "plt.show()"
+ ]
+ },
{
"cell_type": "markdown",
"id": "7359f9c0-0051-48c5-91fc-5185eae9bfd0",
@@ -35,6 +264,31 @@
"### Line Plot Matplotlib"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "001e68d9",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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j8aECROwZMmSZts//vhjfPHFF/jnP/+J+Ph4pKWlYcKECairq2vWzszMrNnPEomk2bamWWUajQYAUFFRgSlTpiAtLa3ZIysrC6NHj4aJiQkOHjyIffv2YcCAAVi5ciX69euHnJyczjh9IuoEXA2eiPTCsmXLMHjwYPTr10+77ejRo5g6dSqeeeYZAA0JzIULFzBgwIC7OtbQoUPx448/olevXjA1bfljUiKRYOTIkRg5ciTefvtteHl5YefOnXjppZfu6thE1DV4BYiI9IK/vz+efvppfPnll9ptffr0wcGDB3Hs2DGcP38ezz33HAoLC+/6WJGRkSgtLcWMGTOQnJyMixcv4sCBA5gzZw7UajUSExPx4YcfIiUlBVeuXMGOHTtw48YN9O/f/66PTURdgwkQEemNf//739rbVADw5ptvYujQoZgwYQLGjBkDV1dXhIWF3fVx3N3dcfToUajVaowfPx7+/v5YvHgx7O3tIZVKYWtri99++w2TJ09G37598eabb2LFihWYNGnSXR+biLoGZ4ERERGR0eEVICIiIjI6TICIiIjI6DABIiIiIqPDBIiIiIiMDhMgIiIiMjpMgIiIiMjoMAEiIiIio8MEiIiIiIwOEyAiIiIyOkyAiIiIyOgwASIiIiKjwwSIiIiIjM7/B4FI+9dfQf04AAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plt.plot(df['names'], df['Age'])\n",
+ "plt.xlabel('Names')\n",
+ "plt.ylabel('Age')\n",
+ "plt.title('Ages of people')\n",
+ "plt.show()"
+ ]
+ },
{
"cell_type": "markdown",
"id": "f1c8460d-7689-406f-a6ac-2720d8cb867d",
@@ -43,6 +297,29 @@
"### Line Plot Seaborn"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "ef4fa3fd",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB8QUlEQVR4nO3deVxU5f4H8M8My7ANm7IqCIiIKyqCqWimuJZJqZmWgltdL+S1zZvd23atiy1WN+tmt1Rwz0zNn5ZmgOTKZu6CoqCiLAIyw84wc35/AFMkCihwZvm8X695veScM8/5nnGY+XKe5/k+EkEQBBAREREZEanYARARERF1NCZAREREZHSYABEREZHRYQJERERERocJEBERERkdJkBERERkdJgAERERkdFhAkRERERGhwkQERERGR0mQERk8PLz8zFt2jR06tQJEokEn376qdghPZCIiAh4eXmJHQaRXmMCRERa//3vfyGRSDBkyBCxQ2lTL774Ivbv349ly5Zhw4YNmDBhgtghEZHITMUOgIh0x6ZNm+Dl5YXk5GRkZmbC19dX7JDaRHx8PKZMmYJXXnlF7FCISEfwDhARAQCysrJw9OhRfPzxx3BycsKmTZvEDqnNFBQUwN7eXuwwiEiHMAEiIgB1d38cHBzw6KOPYtq0aXdNgIqKijB79mzY2trC3t4e4eHhOHXqFCQSCWJiYhodm56ejmnTpsHR0REWFhYYPHgwdu/e3egYlUqFd955Bz169ICFhQU6deqEkJAQHDhwoNmYr1y5gunTp8PR0RFWVlZ46KGHsHfvXu3+mJgYSCQSCIKAL774AhKJBBKJ5K7tZWdnQyKR4KOPPsInn3yCbt26wdLSEg8//DDOnj17x/Etub6WxAkABw8ehEQiwbfffovXX38drq6usLa2xuOPP47r1683+1poNBp8+umn6NOnDywsLODi4oLnn38et2/fbva5REZJICISBMHf31+YP3++IAiC8OuvvwoAhOTk5EbHqNVqYejQoYKJiYkQFRUlfP7558LYsWOFgIAAAYCwbt067bFnz54V7OzshN69ewvvv/++8PnnnwsjR44UJBKJsGPHDu1xr7/+uiCRSISFCxcKX3/9tbBy5Uph5syZwooVK+4Zb15enuDi4iLI5XLhH//4h/Dxxx8LAQEBglQq1bZ/+fJlYcOGDQIAYezYscKGDRuEDRs23LXNrKwsAYDQr18/wcvLS3j//feFd955R3B0dBScnJyEvLy8Vl9fS+IUBEFISEjQnrt///7Cxx9/LLz22muChYWF4OfnJ1RUVGiPDQ8PF7p169Yo9gULFgimpqbCwoULhdWrVwt///vfBWtrayEoKEioqam552tJZIyYABGRkJqaKgAQDhw4IAiCIGg0GqFr167C3/72t0bHff/99wIA4dNPP9VuU6vVwujRo+9IgMaMGSP069dPqKqq0m7TaDTCsGHDhB49emi3BQQECI8++mirY16yZIkAQDh06JB2W2lpqeDt7S14eXkJarVaux2AEBkZ2WybDQmQpaWlkJOTo92elJQkABBefPHFVl9fS+NsSIC6dOkiKJVK7bHbtm0TAAj/+c9/tNv+nAAdOnRIACBs2rSp0fXs27evye1EJAjsAiMibNq0CS4uLnjkkUcAABKJBDNmzMDWrVuhVqu1x+3btw9mZmZYuHChdptUKkVkZGSj9oqLixEfH4+nnnoKpaWlKCwsRGFhIYqKijB+/HhcunQJN27cAADY29vj3LlzuHTpUqti/vHHHxEcHIyQkBDtNhsbGzz33HPIzs7G+fPnW/06NAgLC0OXLl20PwcHB2PIkCH48ccfW319rY1zzpw5kMvl2p+nTZsGNzc37bmb8t1338HOzg5jx47VxlJYWIjAwEDY2NggISHhvl8LIkPFBIjIyKnVamzduhWPPPIIsrKykJmZiczMTAwZMgT5+fmIi4vTHnv16lW4ubnBysqqURt/ni2WmZkJQRDwxhtvwMnJqdHjrbfeAlA3MBkA/vWvf6GkpAR+fn7o168fXn31VZw+fbrZuK9evYqePXvesb1Xr17a/ferR48ed2zz8/NDdnY2gNZdX2vj/PO5JRIJfH19teduyqVLl6BQKODs7HxHPGVlZdpYiOh3nAZPZOTi4+ORm5uLrVu3YuvWrXfs37RpE8aNG9eqNjUaDQDglVdewfjx45s8piFpGjlyJC5fvowffvgBP//8M7755ht88sknWL16NRYsWNDKq+kYrbm+jorH2dn5rgPXnZycOiwWIn3BBIjIyG3atAnOzs744osv7ti3Y8cO7Ny5E6tXr4alpSW6deuGhIQEVFRUNLoLlJmZ2eh5Pj4+AAAzMzOEhoY2G4OjoyPmzp2LuXPnoqysDCNHjsTbb799zwSoW7duyMjIuGN7enq6dv/9aqo77uLFi9rqy625vtbG+edzC4KAzMxM9O/f/67n6N69O3755RcMHz4clpaW94yHiOqwC4zIiFVWVmLHjh147LHHMG3atDseUVFRKC0t1U7tHj9+PFQqFb7++mttGxqN5o7kydnZGaNGjcJXX32F3NzcO85769Yt7b+Liooa7bOxsYGvry+qq6vvGfukSZOQnJyMY8eOabeVl5fjf//7H7y8vNC7d++WvxB/smvXLu0YHgBITk5GUlISJk6cCKB119faONevX4/S0lLtz9u3b0dubq723E156qmnoFarsXz58jv21dbWoqSkpPmLJjIyvANEZMR2796N0tJSPP74403uf+ihh7RFEWfMmIGwsDAEBwfj5ZdfRmZmJvz9/bF7924UFxcDQKMaO1988QVCQkLQr18/LFy4ED4+PsjPz8exY8eQk5ODU6dOAQB69+6NUaNGITAwEI6OjkhNTcX27dsRFRV1z9hfe+01bNmyBRMnTsTixYvh6OiI2NhYZGVl4fvvv4dUev9/3/n6+iIkJASLFi1CdXU1Pv30U3Tq1AlLly5t9fW1Nk5HR0eEhIRg7ty5yM/Px6effgpfX99GA8//7OGHH8bzzz+P6OhonDx5EuPGjYOZmRkuXbqE7777Dv/5z38wbdq0+349iAySyLPQiEhEkydPFiwsLITy8vK7HhMRESGYmZkJhYWFgiAIwq1bt4RZs2YJcrlcsLOzEyIiIoQjR44IAIStW7c2eu7ly5eFOXPmCK6uroKZmZnQpUsX4bHHHhO2b9+uPebdd98VgoODBXt7e8HS0lLw9/cX3nvvvRbVrrl8+bIwbdo0wd7eXrCwsBCCg4OFPXv23HEcWjkN/sMPPxRWrlwpeHh4CDKZTBgxYoRw6tSpJs/f3PW1NM6GafBbtmwRli1bJjg7OwuWlpbCo48+Kly9erXRsU3VARIEQfjf//4nBAYGCpaWloJcLhf69esnLF26VLh582az105kbCSCIAjipmBEpO927dqFJ554AocPH8bw4cPFDue+ZWdnw9vbGx9++GGHrxt28OBBPPLII/juu+94t4aoA3AMEBG1SmVlZaOf1Wo1Vq1aBVtbWwwaNEikqIiIWodjgIioVV544QVUVlZi6NChqK6uxo4dO3D06FH8+9//5gwkItIbTICIqFVGjx6NlStXYs+ePaiqqoKvry9WrVrV7KBlIiJdwjFAREREZHQ4BoiIiIiMDhMgIiIiMjocA9QEjUaDmzdvQi6XNyrsRkRERLpLEASUlpbC3d292WKoTICacPPmTXh4eIgdBhEREd2H69evo2vXrvc8hglQE+RyOYC6F9DW1lbkaIiIiKgllEolPDw8tN/j98IEqAkN3V62trZMgIiIiPRMS4avcBA0ERERGR0mQERERGR0mAARERGR0WECREREREaHCRAREREZHSZAREREZHSYABEREZHRYQJERERERocJEBERERkdJkBERERkdERNgKKjoxEUFAS5XA5nZ2eEhYUhIyOjyWMFQcDEiRMhkUiwa9eue7YrCALefPNNuLm5wdLSEqGhobh06VI7XAERERHpI1EToMTERERGRuL48eM4cOAAVCoVxo0bh/Ly8juO/fTTT1u0tgcAfPDBB/jss8+wevVqJCUlwdraGuPHj0dVVVVbXwIRERHpIYkgCILYQTS4desWnJ2dkZiYiJEjR2q3nzx5Eo899hhSU1Ph5uaGnTt3IiwsrMk2BEGAu7s7Xn75ZbzyyisAAIVCARcXF8TExODpp59uNg6lUgk7OzsoFAouhkpERksQBFTXamBhZiJ2KEQt0prvb50aA6RQKAAAjo6O2m0VFRWYNWsWvvjiC7i6ujbbRlZWFvLy8hAaGqrdZmdnhyFDhuDYsWNNPqe6uhpKpbLRg4jI2C1cn4agd39Bclax2KEQtTmdSYA0Gg2WLFmC4cOHo2/fvtrtL774IoYNG4YpU6a0qJ28vDwAgIuLS6PtLi4u2n1/Fh0dDTs7O+3Dw8PjPq+CiMgw3Cqtxi8X8lFaXYsFsSm4mF8qdkhEbUpnEqDIyEicPXsWW7du1W7bvXs34uPj8emnn7bruZctWwaFQqF9XL9+vV3PR0Sk6xLSC7T/VlbVInxtMnIVlSJGRNS2dCIBioqKwp49e5CQkICuXbtqt8fHx+Py5cuwt7eHqakpTE1NAQBTp07FqFGjmmyroZssPz+/0fb8/Py7dqHJZDLY2to2ehARGbO49LrP0IhhXujuZI1cRRUi1qZAUakSOTKitiFqAiQIAqKiorBz507Ex8fD29u70f7XXnsNp0+fxsmTJ7UPAPjkk0+wbt26Jtv09vaGq6sr4uLitNuUSiWSkpIwdOjQdrsWIiJDUV2rxqFLhQCAaYFdETsvGM5yGTLyS7FwfSqqVGqRIyR6cKImQJGRkdi4cSM2b94MuVyOvLw85OXlobKy7jarq6sr+vbt2+gBAJ6eno2SJX9/f+zcuRMAIJFIsGTJErz77rvYvXs3zpw5gzlz5sDd3f2uM8eIiOh3x68Uo6JGDRdbGfq426KrgxVi5gZDLjNFclYxXtp2EmqNzkwgJrovoiZAX375JRQKBUaNGgU3Nzft49tvv21VOxkZGdoZZACwdOlSvPDCC3juuecQFBSEsrIy7Nu3DxYWFm19CUREBif+Ql3312h/Z239td7utvhqdiDMTCT48Uwelu85Dx2qokLUajpVB0hXsA4QERkrQRAQ8n4CbpRU4ps5gxHau/GM2t2nbmLxlt8AAH+f4I9Fo7qLESZRk/S2DhAREYnrYn4ZbpRUQmYqxXDfznfsfzzAHf98tBcA4P196dhxIqejQyRqE0yAiIhIq2H217DunWBp3nQF6AUjfLBwRN04zKXbTyPx4q0Oi4+orTABIiIirbgLdfV/xvRyuedxyyb2wpQB7qjVCFi0MQ1nchT3PJ5I1zABIiIiAEBxeQ1OXLsNoG4A9L1IpRJ8OC0Aw307oaJGjbkxybhadOdC1kS6igkQEREBAA5mFEAQgF5utnC3t2z2eHNTKVY/G4jebrYoLKtB+NpkFJZVd0CkRA+OCRAREQH4vfsrtNe97/78kdzCDDFzg9DVwRLZRRWYH5OC8ura9gqRqM0wASIiItTUavBr/WDm5rq//szZ1gKx84LhYGWGUzkKRG4+AZVa0x5hErUZJkBERITU7GKUVteis405Arrat/r53Z1ssCYiCBZmUhzMuIVlO86wUCLpNCZARESEX+q7vx7p6QypVHJfbQzydMDnMwdBKgG2p+Vg5c8X2zJEojbFBIiIyMgJgqCt/zOmFeN/mhLa2wX/fqIfAODzhExsOH71geMjag9MgIiIjNyVwnJcLaqAuYkUIT2cHri9p4M9sSS0BwDgzR/OYt/ZvAduk6itMQEiIjJycfWLnw7xcYSNzLRN2vzbmB6YGewBQQAWb/0NKdnFbdIuUVthAkREZOS01Z9bOfvrXiQSCZZP6YvQXi6oqdVgfkwKLuWXtln7RA+KCRARkRFTVKiQerWu+nNzy1+0lqmJFKtmDsQgT3soq2oRvjYZuYrKNj0H0f1iAkREZMQOXiyAWiPAz8UGHo5Wbd6+pbkJ1oQHwcfJGjcVVYhYmwJFparNz0PUWkyAiIiMWHx6XffXaP+2vfvzRw7W5oidGwwnuQwZ+aV4bn0qqlTqdjsfUUswASIiMlK1ag0OZtRVf37Q6e/N8XC0QszcINjITJGUVYyXt52CRsNCiSQeJkBEREYq7eptKCpVsLcywyBPh3Y/Xx93O/xvdiDMTCTYeyYX/9pzntWiSTRMgIiIjFRD99cjPZ1hcp/Vn1trmG9nrHxqAAAg5mg2vvr1Soecl+jPmAARERmpOO34n/bt/vqzxwPc8c9HewEAVvyUjh0ncjr0/EQAEyAiIqN0tagcmQVlMJVKMNLvwas/t9aCET5YEOINAFi6/bR2JXqijsIEiIjICDUUPwzycoSdpZkoMbw+qRceD3BHrUbAoo1pOHtDIUocZJyYABERGaGG8T/tPfvrXqRSCT6c3h/DundCeY0aEeuSca2oQrR4yLgwASIiMjKlVSokZRUBaPvqz60lMzXBV7MD0cvNFoVlNZizNglFZdWixkTGgQkQEZGROXSpECq1AJ/O1vDubC12OJBbmCF2bhC6Olgiu6gC82JSUFFTK3ZYZOCYABERGZmG8T8dPfvrXpxtLRA7LxgOVmY4laNA5KYTUKk1YodFBowJEBGREVFrBCRkNIz/Ebf768+6O9lgTUQQLMykSMi4hX/sPMNCidRumAARERmRk9dLUFxeA7mFKQZ7tX/159Ya5OmAz2cOglQCbEvNwccHLoodEhkoJkBEREYkPj0fADCqpzPMTHTzKyC0twv+/UQ/AMCq+ExsPH5V5IjIEOnmu5+IiNpFw/ifMTo0/qcpTwd7YkloDwDAmz+cxb6zeSJHRIaGCRARkZHIuV2B9LxSSCXAwyJUf26tv43pgZnBHtAIwOKtvyElu1jskMiAiJoARUdHIygoCHK5HM7OzggLC0NGRkajY55//nl0794dlpaWcHJywpQpU5Cenn7PdiMiIiCRSBo9JkyY0J6XQkSk8xLqix8O7uYIB2tzkaNpnkQiwfIpfRHaywU1tRrMj0nBpfxSscMiAyFqApSYmIjIyEgcP34cBw4cgEqlwrhx41BeXq49JjAwEOvWrcOFCxewf/9+CIKAcePGQa1W37PtCRMmIDc3V/vYsmVLe18OEZFO+6Vh+ruI1Z9by9REilUzB2KQpz2UVbUIX5uMXEWl2GGRAZAIOjTH8NatW3B2dkZiYiJGjhzZ5DGnT59GQEAAMjMz0b179yaPiYiIQElJCXbt2nVfcSiVStjZ2UGhUMDW1va+2iAi0iXl1bUY+K8DqFFrcODFkejhIhc7pFa5XV6DqauP4sqtcvR0kWPbX4aKtoYZ6a7WfH/r1BgghaJuITxHR8cm95eXl2PdunXw9vaGh4fHPds6ePAgnJ2d0bNnTyxatAhFRUV3Pba6uhpKpbLRg4jIkBzJLESNWgNPRyv4OtuIHU6rOVibI3ZuMJzkMmTkl+K59amoUt27J4DoXnQmAdJoNFiyZAmGDx+Ovn37Ntr33//+FzY2NrCxscFPP/2EAwcOwNz87v3XEyZMwPr16xEXF4f3338fiYmJmDhx4l27zaKjo2FnZ6d9NJdcERHpmz9Wf5ZIJCJHc388HK0QMzcINjJTJGUV4+Vtp6DR6EwnBukZnekCW7RoEX766SccPnwYXbt2bbRPoVCgoKAAubm5+Oijj3Djxg0cOXIEFhYWLWr7ypUr6N69O3755ReMGTPmjv3V1dWorv598T2lUgkPDw92gRGRQdBoBAyJjsOt0mpsmB+MET10fwbYvRzNLET4umSo1AIihnnhrcm99Tapo7ald11gUVFR2LNnDxISEu5IfgDAzs4OPXr0wMiRI7F9+3akp6dj586dLW7fx8cHnTt3RmZmZpP7ZTIZbG1tGz2IiAzF2ZsK3CqthrW5CYZ4dxI7nAc2zLczVj41AAAQczQbX/16RdyASC+JmgAJgoCoqCjs3LkT8fHx8Pb2btFzBEFodMemOTk5OSgqKoKbm9uDhEtEpJcaZn+N9HOCualO/N37wB4PcMc/H+0FAFjxUzp2nMgROSLSN6L+JkRGRmLjxo3YvHkz5HI58vLykJeXh8rKuimOV65cQXR0NNLS0nDt2jUcPXoU06dPh6WlJSZNmqRtx9/fX3tHqKysDK+++iqOHz+O7OxsxMXFYcqUKfD19cX48eNFuU4iIjE1LH+hS6u/t4UFI3ywIKTuD+el20/j14u3RI6I9ImoCdCXX34JhUKBUaNGwc3NTfv49ttvAQAWFhY4dOgQJk2aBF9fX8yYMQNyuRxHjx6Fs/Pvv8gZGRnaGWQmJiY4ffo0Hn/8cfj5+WH+/PkIDAzEoUOHIJPJRLlOIiKx5CmqcPaGEhIJ8IiBJUAA8PqkXng8wB21GgGLNqbh7A2F2CGRnjAV8+TNjb92d3fHjz/+2Kp2LC0tsX///geOjYjIEMTXV38e4GGPzjaG90egVCrBh9P7o7CsGkcvFyFiXTJ2LBoOz05WYodGOs4wOoOJiKhJDd1fur746YOQmZrgq9mB6OVmi8KyGsxZm4SispaPEyXjxASIiMhAVanUOJxZCAAY08tF5Gjal9zCDLFzg9DF3hLZRRWYF5OCippascMiHcYEiIjIQB29XIgqlQbudhbwd9WvpS/uh7OtBdbPD4a9lRlO5SgQuekEVGqN2GGRjmICRERkoOL+sPipsRQK7O5kgzXhQbAwkyIh4xb+sfNMs+NNyTgxASIiMkCCIGgHQBt699efBXZzwKqZgyCVANtSc/DxgYtih0Q6iAkQEZEBOp+rRK6iCpZmJhjqo//Vn1trbG8XvPdEPwDAqvhMbDx+VeSISNcwASIiMkDx9d1fw307w8LMRORoxDEz2BN/G9MDAPDmD2ex/1yeyBGRLmECRERkgH6p7/4K7WW4099bYkloD8wM9oBGABZv+Q2p2cVih0Q6ggkQEZGBuVVajVPXSwAYZvXn1pBIJFg+pS9CezmjulaD+bGpuJRfKnZYpAOYABERGZiEjLq7P/262MHF1kLkaMRnaiLFqpmDMNDTHopKFcLXJiNPUSV2WCQyJkBERAYm7kJ99Wcj7/76I0tzE6wJD4JPZ2vcVFQhYl0yFJUqscMiETEBIiIyINW1ahy6VF/92d+4pr83x9HaHLHzguEklyE9rxTPb0hFda1a7LBIJEyAiIgMSNKVYlTUqOEsl6GPu63Y4egcD0crxMwNgo3MFMevFOOlbaeg0bBQojFiAkREZED+2P0llRpH9efW6uNuh69mB8LMRIK9p3OxfO95Vos2QkyAiIgMhCAIiKuf/j6a3V/3NNy3Mz6aHgAAWHckG//79YrIEVFHYwJERGQgLhWUIed2JcxNpRjua3zVn1tryoAu+OejvQAA0T+lY+dvOSJHRB2JCRARkYH4pb77a3j3TrAyNxU5Gv2wYIQPFoR4AwBe/e40Dl26JXJE1FGYABERGYh47erv7P5qjdcn9cLjAe6o1Qj4y4Y0nL2hEDsk6gBMgIiIDEBxeQ1OXLsNABht5NWfW0sqleDD6f0xrHsnlNeoEbEuBdeKKsQOi9oZEyAiIgNwMKMAGgHo5WaLLvaWYoejd2SmJvhqdiB6udmisKwa4euSUVRWLXZY1I6YABERGYCG2V9jePfnvsktzBA7Nwhd7C2RVViOebGpqKipFTssaidMgIiI9JxKrcGvGXWDd0dz+YsH4mxrgfXzg2FvZYZT10sQtfk31Ko1YodF7YAJEBGRnkvJKkZpdS06WZtjQFd7scPRe92dbLAmPAgWZlLEpxfg9Z1nWCjRADEBIiLScw3dX4/4s/pzWwns5oBVMwdBKgG2pebgkwMXxQ6J2hgTICIiPRdfnwCFsvurTY3t7YL3nugHAPgsPhObkq6KHBG1JSZARER67PKtMmQVlsPMRIKQHk5ih2NwZgZ74m9jegAA3th1FvvP5YkcEbUVJkBERHqsofjhQz6dYCNj9ef2sCS0B2YGe0AjAIu3/IbU7GKxQ6I2wASIiEiPxaXXr/7O6e/tRiKRYPmUvgjt5YzqWg3mx6Yis6BU7LDoATEBIiLSU4oKFVKyG6o/c/mL9mRqIsWqmYMw0NMeikoVwtemIF9ZJXZY9ACYABER6anES7eg1gjo4WwDz05WYodj8CzNTbAmPAg+na1xo6QS4WuToahUiR0W3ScmQEREeiq+fvX3MVz8tMM4Wpsjdl4wnOQypOeV4vkNqaiuVYsdFt0HUROg6OhoBAUFQS6Xw9nZGWFhYcjIyGh0zPPPP4/u3bvD0tISTk5OmDJlCtLT0+/ZriAIePPNN+Hm5gZLS0uEhobi0qVL7XkpREQdqlatQUJ99ecxnP7eoTwcrRAzNwg2MlMcv1KMl7adgkbDQon6RtQEKDExEZGRkTh+/DgOHDgAlUqFcePGoby8XHtMYGAg1q1bhwsXLmD//v0QBAHjxo2DWn33jPuDDz7AZ599htWrVyMpKQnW1tYYP348qqrYX0tEhuHEtRIoKlWwtzLDQA97scMxOn3c7fDV7ECYmUiw93Qulu89z2rRekYi6ND/2K1bt+Ds7IzExESMHDmyyWNOnz6NgIAAZGZmonv37nfsFwQB7u7uePnll/HKK68AABQKBVxcXBATE4Onn3662TiUSiXs7OygUChga2v7YBdFRNQOon+6gK8Sr+CJgV3wyYwBYodjtH44eQN/23oSALBsoj+ef/jO7yXqOK35/tapMUAKhQIA4Ojo2OT+8vJyrFu3Dt7e3vDw8GjymKysLOTl5SE0NFS7zc7ODkOGDMGxY8eafE51dTWUSmWjBxGRLourr/8zmtPfRTVlQBf8Y1IvAED0T+nY9dsNkSOiltKZBEij0WDJkiUYPnw4+vbt22jff//7X9jY2MDGxgY//fQTDhw4AHNz8ybbycurq9Lp4tJ4UKCLi4t2359FR0fDzs5O+7hbckVEpAuuFpUjs6AMplIJRvqx+rPYFo70wfwQbwDAK9+dwqFLt0SOiFpCZxKgyMhInD17Flu3br1j3zPPPIPffvsNiYmJ8PPzw1NPPdWm43mWLVsGhUKhfVy/fr3N2iYiamsNa38FeTnCztJM5GgIAP4xqRcmB7ijViPgLxvScPaGQuyQqBk6kQBFRUVhz549SEhIQNeuXe/Yb2dnhx49emDkyJHYvn070tPTsXPnzibbcnV1BQDk5+c32p6fn6/d92cymQy2traNHkREuqqh+4uzv3SHVCrBR9P7Y6hPJ5TXqBGxLgXXiirEDovuQdQESBAEREVFYefOnYiPj4e3t3eLniMIAqqrq5vc7+3tDVdXV8TFxWm3KZVKJCUlYejQoW0WOxGRGEqrVEjKKgLA8T+6RmZqgq/mBMLfVY7CsmqEr0tGUVnT31UkPlEToMjISGzcuBGbN2+GXC5HXl4e8vLyUFlZCQC4cuUKoqOjkZaWhmvXruHo0aOYPn06LC0tMWnSJG07/v7+2jtCEokES5Yswbvvvovdu3fjzJkzmDNnDtzd3REWFibGZRIRtZlDlwqhUgvw6WwNHycbscOhP7G1MEPsvGB0sbdEVmE55sWmoqKmVuywqAmiJkBffvklFAoFRo0aBTc3N+3j22+/BQBYWFjg0KFDmDRpEnx9fTFjxgzI5XIcPXoUzs6//+WTkZGhnUEGAEuXLsULL7yA5557DkFBQSgrK8O+fftgYWHR4ddIRNSWOPtL97nYWiB2XjDsrcxw6noJojb/hlq1Ruyw6E90qg6QrmAdICLSRWqNgOD3fkFReQ02LxyCYd07ix0S3UPa1WLM+joJ1bUaPDW4K96f2h8SiUTssAya3tYBIiKiuzt5vQRF5TWQW5giyKvpemmkOwK7OeLzWYMglQDbUnPwyYGLYodEf8AEiIhIT8Sn181ufdjPCWYm/PjWB2N7u+DdsH4AgM/iM7Ep6arIEVED/gYREekJTn/XT7OGeGLxmB4AgDd2ncX+c00X5aWOxQSIiEgP5NyuQHpeKaQSYJQfEyB982JoDzwd5AGNACze8htSs4vFDsnoMQEiItIDCfXVnwO7OcDBuumlgEh3SSQSvBvWF6G9nFFdq8H82FRkFpSKHZZRYwJERKQH4tIbpr+7NHMk6SpTEylWzRyEgZ72UFSqEL42BfnKtlvWiVqHCRARkY6rqKnF0ct11Z9DOf5Hr1mam2BNeBB8OlvjRkklwtcmQ1mlEjsso8QEiIhIxx2+VIiaWg08HC3h68zqz/rO0docsfOC4SSXIT2vFM+tT0V1rVrssIwOEyAiIh3XsPr7GH8XFtIzEB6OVoiZGwQbmSmOXynGS9tOQaNhXeKOxASIiEiHaTSCdvwPp78blj7udvhqdiDMTCTYezoX7+69AC7O0HGYABER6bCzNxW4VVoNa3MTBHuz+rOhGe7bGR9NDwAArD2Sha8PXRE5IuPBBIiISIc1FD8c0cMJMlMTkaOh9jBlQBf8Y1IvAMC/f0zHrt9uiByRcWACRESkw+Lql79g95dhWzjSB/NDvAEAr24/hcOXCkWOyPAxASIi0lF5iiqcvaGERAKM6skEyND9Y1IvTA5wh0ot4PkNqTh7QyF2SAaNCRARkY5KyKjr/groag8nuUzkaKi9SaUSfDS9P4b6dEJ5jRoR61JwvbhC7LAMFhMgIiIdFXehrvuLxQ+Nh8zUBF/NCYS/qxyFZdWYszYZxeU1YodlkJgAERHpoCqVGocz68aBcPkL42JrYYbYecHoYm+JrMJyzItJQUVNrdhhGRwmQEREOujY5SJUqTRwt7NALze52OFQB3OxtUDsvGDYW5nh5PUSRG3+DbVqjdhhGRQmQEREOuiX+u6v0b2cWf3ZSPk622BN+GDITKWITy/A6zvPsFBiG2ICRESkYwRBaLT8BRmvwG6O+HzWIEglwLbUHHxy4KLYIRkMJkBERDrmQm4pchVVsDQzwdDuncQOh0Q2trcL3g3rBwD4LD4Tm5KuihyRYWACRESkYxpmfw337QwLM1Z/JmDWEE8sHtMDAPDGrrPYfy5P5Ij0HxMgIiIdw8VPqSkvhvbA00Ee0AjA4i2/ITW7WOyQ9BoTICIiHXKrtBqnckoAAKP9mQDR7yQSCd4N64sx/s6ortVgfmwqMgtKxQ5LbzEBIiLSIQkZBRAEoF8XO7jYWogdDukYUxMpVs0aiAEe9lBUqhC+NgX5yiqxw9JLTICIiHRIfP3q77z7Q3djZW6KtRFB8OlsjRsllQhfmwxllUrssPQOEyAiIh1RXavGoUu3AAChvTj9ne7O0docsfOC4SSXIT2vFM+tT0V1rVrssPQKEyAiIh2RdKUY5TVqOMtl6ONuK3Y4pOM8HK2wLiIINjJTHL9SjJe2nYJGw0KJLcUEiIhIRzQUPxzt7wyplNWfqXl9u9hh9bOBMDORYO/pXLy79wKrRbcQEyAiIh0gCALi0uvq/4xh9xe1QkiPzvhoegAAYO2RLHx96IrIEekHJkBERDrgUkEZrhdXwtxUiuG+rP5MrTNlQBe8PskfAPDvH9Ox67cbIkek+0RNgKKjoxEUFAS5XA5nZ2eEhYUhIyNDu7+4uBgvvPACevbsCUtLS3h6emLx4sVQKBT3bDciIgISiaTRY8KECe19OURE9y2ufvbXsO6dYGVuKnI0pI8WjvDB/BBvAMCr20/h8KVCkSPSbaImQImJiYiMjMTx48dx4MABqFQqjBs3DuXl5QCAmzdv4ubNm/joo49w9uxZxMTEYN++fZg/f36zbU+YMAG5ubnax5YtW9r7coiI7ls8u7/oAUkkEvxjUi9MDnCHSi3g+Q2pOHvj3jcMjJlE0KHRUrdu3YKzszMSExMxcuTIJo/57rvv8Oyzz6K8vBympk3/lRQREYGSkhLs2rXrvuJQKpWws7ODQqGArS1nYhBR+7pdXoPAdw9AIwBHXhuNLvaWYodEeqy6Vo2ItSk4dqUInW1k2PnXYfBwtBI7rA7Rmu9vnRoD1NC15ejoeM9jbG1t75r8NDh48CCcnZ3Rs2dPLFq0CEVFRXc9trq6GkqlstGDiKijHLxYAI0A+LvKmfzQA5OZmuCrOYHwd5WjsKwac9Ymo7i8RuywdI7OJEAajQZLlizB8OHD0bdv3yaPKSwsxPLly/Hcc8/ds60JEyZg/fr1iIuLw/vvv4/ExERMnDgRanXTRaKio6NhZ2enfXh4eDzw9RARtVTD+B8WP6S2Ymthhth5wehib4mswnLMi0lBRU2t2GHpFJ3pAlu0aBF++uknHD58GF27dr1jv1KpxNixY+Ho6Ijdu3fDzMysxW1fuXIF3bt3xy+//IIxY8bcsb+6uhrV1dWNzuXh4cEuMCJqdyq1BoOWH0BpVS12/HUYBnk6iB0SGZDMgjJMW30UJRUqjPF3xlezA2FqojP3Ptqc3nWBRUVFYc+ePUhISGgy+SktLcWECRMgl8uxc+fOViU/AODj44POnTsjMzOzyf0ymQy2traNHkREHSEluxilVbXoZG2OgK72YodDBsbX2QZrwgdDZipFXHoB/rHzLAsl1hM1ARIEAVFRUdi5cyfi4+Ph7e19xzFKpRLjxo2Dubk5du/eDQuL1q+OnJOTg6KiIri5ubVF2EREbaZh8dNH/J1hwurP1A4Cuzni81mDIJUA36Zexye/XBI7JJ0gagIUGRmJjRs3YvPmzZDL5cjLy0NeXh4qKysB/J78lJeXY82aNVAqldpj/jiex9/fHzt37gQAlJWV4dVXX8Xx48eRnZ2NuLg4TJkyBb6+vhg/frwo10lEdDdx9ctfjOHq79SOxvZ2wbth/QAAn8VdwqakqyJHJD5Rq219+eWXAIBRo0Y12r5u3TpERETgxIkTSEpKAgD4+vo2OiYrKwteXl4AgIyMDO0MMhMTE5w+fRqxsbEoKSmBu7s7xo0bh+XLl0Mmk7XvBRERtcKVW2XIKiyHmYkEIT06ix0OGbhZQzyRp6zCZ3GX8Maus3CykWFcH1exwxKNqAlQc/2Qo0aNalFf5R+PsbS0xP79+x84NiKi9tYw++shn06QW7RubCPR/XgxtAcKlFXYmnIdL2z5DZsXDkFgt7uXnjFkOjEImojIGDUsfjqa3V/UQSQSCd4N64sx/s6ortVgfmwqMgvKxA5LFEyAiIhEoKhUISX7NgBgjD/r/1DHMTWRYtWsgRjgYY+SChXC1yYjX1kldlgdjgkQEZEIEi/eglojoIezDTw7GccyBaQ7rMxNsTYiCD6drXGjpBLha5OhrFKJHVaHYgJERCSC+Av13V+92P1F4nC0NkfsvGA4yWVIzyvF8+vTUF3b9IoJhogJEBFRB6tVa3Dw4i0A7P4icXk4WmFdRBBsZKY4dqUIL207BY3GOAolMgEiIupgJ66VoKRCBXsrMwzytBc7HDJyfbvYYfWzgTAzkWDv6Vy8u/eCUVSLZgJERNTBGmZ/jfJzMuh1mUh/hPTojI+mBwAA1h7JwteHrogcUfvjbx4RUQdrWP5iNFd/Jx0yZUAXvD7JHwDw7x/Tseu3GyJH1L6YABERdaBrRRW4VFAGE6kED/s5iR0OUSMLR/hg3vC6dTlf3X4Khy8VihxR+2ECRETUgRq6v4K8HGBnyerPpFskEgn++WgvPNbfDSq1gOc3pOLsDYXYYbULJkBERB0oXrv4Kbu/SDdJpRKsfCoAQ306obxGjYh1KbheXCF2WG2OCRARUQcprVLh+JUiAMAY1v8hHSYzNcFXcwLh7ypHYVk15qxNRnF5jdhhtSkmQEREHeTwpUKo1AK8O1vDx8lG7HCI7snWwgyx84LRxd4SWYXlmBeTgoqaWrHDajNMgIiIOkictvuLd39IP7jYWiB2XhDsLM1w8noJXtj8G2rVGrHDahNMgIiIOoBaIyAhvWH6OxMg0h++znKsjRgMmakUcekF+MfOswZRKJEJEBFRBziVU4Ki8hrILUwR5OUodjhErRLYzRGrZg6EVAJ8m3odn/xySeyQHhgTICKiDtBQ/PBhPyeYsfoz6aFxfVyxPKwvAOCzuEvYlHRV5IgeDH8LiYg6wC/1q79z9hfps2eGdMPiMT0AAG/sOoufz+WJHNH9YwJERNTObpRUIj2vFFIJMMqPCRDptxdDe+DpIA9oBOCFLb8h7Wqx2CHdFyZARETtrKH4YWA3BzhYm4scDdGDkUgkeDesL8b4O6O6VoP5sanILCgTO6xWYwJERNTO4uq7v0az+jMZCFMTKVbNGogBHvYoqVAhfG0y8pVVYofVKkyAiIjaUUVNLY5eZvVnMjxW5qZYGxEEn87WuFFSifC1yVBWqcQOq8WYABERtaMjmUWoqdXAw9ESPZxZ/ZkMi6O1OWLnBcNJLkN6XimeX5+G6lq12GG1CBMgIqJ21ND9NcbfBRKJRORoiNqeh6MV1kUEwUZmimNXivDytlPQaHS/UOJ9J0A1NTXIyMhAba3hrAtCRNSWNBpBOwB6NJe/IAPWt4sdVj8bCDMTCfaczsV7P14QO6RmtToBqqiowPz582FlZYU+ffrg2rVrAIAXXngBK1asaPMAiYj01bmbShSUVsPa3ARDfFj9mQxbSI/O+Gh6AABgzeEsfP3rFZEjurdWJ0DLli3DqVOncPDgQVhYWGi3h4aG4ttvv23T4IiI9FlD8cMRPZwgMzURORqi9jdlQBe8PskfAPDejxfww8kbIkd0d61OgHbt2oXPP/8cISEhjfqz+/Tpg8uXL7dpcERE+iyei5+SEVo4wgfzhnsDAF757hSOZBaKHFHTWp0A3bp1C87Od/4yl5eXc4AfEVG9fGUVztxQQCIBHunJBIiMh0QiwT8f7YXH+rtBpRbw/IY0nLupEDusO7Q6ARo8eDD27t2r/bkh6fnmm28wdOjQtouMiEiPNdz9CehqDye5TORoiDqWVCrByqcCMNSnE8qqaxGxLgXXiyvEDqsR09Y+4d///jcmTpyI8+fPo7a2Fv/5z39w/vx5HD16FImJie0RIxGR3omrX/19DGd/kZGSmZrgqzmBeGr1MaTnlSJ8bTK2LxoGRx1ZDqbVd4BCQkJw8uRJ1NbWol+/fvj555/h7OyMY8eOITAwsFVtRUdHIygoCHK5HM7OzggLC0NGRoZ2f3FxMV544QX07NkTlpaW8PT0xOLFi6FQ3PtWmiAIePPNN+Hm5gZLS0uEhobi0qVLrb1UIqL7UqVSa8c9jOnF5S/IeNlamCF2XjC62FviSmE55semoLJGNwol3lcdoO7du+Prr79GcnIyzp8/j40bN6Jfv36tbicxMRGRkZE4fvw4Dhw4AJVKhXHjxqG8vBwAcPPmTdy8eRMfffQRzp49i5iYGOzbtw/z58+/Z7sffPABPvvsM6xevRpJSUmwtrbG+PHjUVWlX+uUEJF+Ona5CJUqNdzsLNDLTS52OESicrG1QOy8INhZmuG3ayWI2nwCtWqN2GFBIghCq8o1KpXKphuSSCCTyWBufv+3thoGWCcmJmLkyJFNHvPdd9/h2WefRXl5OUxN7+zBEwQB7u7uePnll/HKK68AABQKBVxcXBATE4Onn3662TiUSiXs7OygUChga2t739dDD6ZKpYa5iRRSKQfXk375564z2Hj8Gp4Z4on3nmj9H4dEhijtajFmfZ2E6loNZgz2wIqp/dp88lRrvr9bfQfI3t4eDg4Odzzs7e1haWmJbt264a233oJG0/rsrqFry9Hx7gXDGi6qqeQHALKyspCXl4fQ0FDtNjs7OwwZMgTHjh1r8jnV1dVQKpWNHiSuMzkKDPjXz3h95xmxQyFqFUEQEF8//ieU3V9EWoHdHLFq5kBIJcC3qdfxyS/iDk1pdQIUExMDd3d3vP7669i1axd27dqF119/HV26dMGXX36J5557Dp999lmrq0JrNBosWbIEw4cPR9++fZs8prCwEMuXL8dzzz1313by8vIAAC4ujT94XFxctPv+LDo6GnZ2dtqHh4dHq2Kntvd5wiVUqTT4NvU6rhaVix0OUYtdyC3FTUUVLMykGNq9k9jhEOmUcX1csTysL6QSiD47stWzwGJjY7Fy5Uo89dRT2m2TJ09Gv3798NVXXyEuLg6enp5477338Prrr7e43cjISJw9exaHDx9ucr9SqcSjjz6K3r174+23325t2Pe0bNkyvPTSS43OxSRIPFeLyvHz+boKuoIArDuSjbcf7yNyVEQtE59e994N8e0MCzNWfyb6s2eGdMMQb0f4Oos7Pq7Vd4COHj2KgQMH3rF94MCB2i6mkJAQ7RphLREVFYU9e/YgISEBXbt2vWN/aWkpJkyYALlcjp07d8LMzOyubbm6ugIA8vPzG23Pz8/X7vszmUwGW1vbRg8Sz9rDWRAEoIu9JQBgW+p1KCpUIkdF1DJx9fV/OPuL6O7ETn6A+0iAPDw8sGbNmju2r1mzRnvXpKioCA4ODs22JQgCoqKisHPnTsTHx8Pb2/uOY5RKJcaNGwdzc3Ps3r270fpjTfH29oarqyvi4uIatZGUlMRCjXpAUaHCttQcAMCKqf3g7ypHRY0am5NbnlATiaWwrBonr5cAYPVnIl3X6i6wjz76CNOnT8dPP/2EoKAgAEBqaiouXLiA77//HgCQkpKCGTNmNNtWZGQkNm/ejB9++AFyuVw7RsfOzg6Wlpba5KeiogIbN25sNEDZyckJJiZ1t5f9/f0RHR2NJ554AhKJBEuWLMG7776LHj16wNvbG2+88Qbc3d0RFhbW2sulDrYp+SoqVWr4u8oR4tsZC0b44JXvTiHmaBbmh3jD3PS+KjcQdYiE9AIIAtC3iy1c7e79xxoRiavVCdDjjz+OjIwMrF69GhcvXgQATJw4Ebt27UJZWRkAYNGiRS1q68svvwQAjBo1qtH2devWISIiAidOnEBSUhIAwNfXt9ExWVlZ8PLyAgBkZGQ0Ko64dOlSlJeX47nnnkNJSQlCQkKwb9++Zu8ekbhqajWIPZoNAFgwwgcSiQSPB7jjg33pyFdWY++Zm3hi4J1dpES64vfqz+z+ItJ1ra4D9GdKpRJbtmzB2rVrkZqaCrVaNyo8PgjWARLHjhM5eGnbKTjJZTj890cgM627w/dFQiY+3J+B3m622Ls4hIvukk6qrlVj0L8OoLxGjd1Rw9G/q73YIREZnXatA9Tg119/RXh4ONzd3bFy5Uo88sgjOH78+P02R0ZOEAR8cygLABAxzEub/ADAM0M8YWlmgvO5Shy7UiRWiET3lJxVjPIaNZzkMvR1txM7HCJqRqsSoLy8PKxYsQI9evTA9OnTYWtri+rqauzatQsrVqzQjgkiaq1jl4twPlcJSzMTPDPEs9E+eytzTAus6/pqSJKIdM0fFz9l9XIi3dfiBGjy5Mno2bMnTp8+jU8//RQ3b97EqlWr2jM2MiLfHK5LbKYFdoW91Z3LqcwL8YZEAsSnFyCzoKyjwyO6J0EQEFdf/2c0V38n0gstToB++uknzJ8/H++88w4effRR7QwsogeVWVCK+PQCSCR1iU5TvDtba5cVWHOYd4FIt2QWlOF6cSXMTaUI6dFZ7HCIqAVanAAdPnwYpaWlCAwMxJAhQ/D555+jsLCwPWMjI7HmcDaAunWTvDtb3/W4hSN8ANQNli4qq+6I0Iha5Jf67q9h3TvByrzVk2uJSAQtToAeeughfP3118jNzcXzzz+PrVu3wt3dHRqNBgcOHEBpaWl7xkkGqqisGjtO1BU+bEhw7ibIywEBXe1QXavBxuMsjEi6o2H5izHs/iLSG62eBWZtbY158+bh8OHDOHPmDF5++WWsWLECzs7OePzxx9sjRjJgG49fQ3WtBv272iHI697VwyUSCebXJ0kbjmejSqX/JRdI/90ur0Ha1dsAgEeYABHpjQcqq9uzZ0988MEHyMnJwZYtW9oqJjISVSo1NhzPBvB74cPmTOrrii72ligsq8EPJ2+0c4REzTt4sQAaAfB3laOrg5XY4RBRC7XJugImJiYICwvD7t2726I5MhI/nLyBwrIauNtZYGLfpheq/TNTEykihnkBqJsS/4B1PIkemHb6ey/e/SHSJ1xYiUTxx8KHc4d7w8yk5W/FGcEesJGZ4lJBGRIv3mqvEImapVJrtO9Brv5OpF+YAJEoDl68hUsFZbCRmWJGsEernmtrYYYZQXXPYWFEElNKdjFKq2rRydocAVz6gkivMAEiUaypT1xmBHnA1sKs1c+fO9wLUglwOLMQF3KVbR0eUYvE13d/jerpDBNWfybSK0yAqMOdv6nE4cxCSCXQjudpra4OVpjYzw0A7wKReOLT6xKgUI7/IdI7TICowzVUcp7Yzw0ejvc/a6ahbtDuUzdQoKxqk9iIWurKrTJcKSyHmYmE1Z+J9BATIOpQ+coq7D5VN319wV2WvWipAR72GNzNASq1gNhj2W0QHVHLNdz9GeLdCfL76MYlInExAaIOtf5YNlRqAYO7OWCg570LH7bEgvq7QJuSrqGipvaB2yNqKU5/J9JvTICow1TU1GqXsFgw4sHu/jQY29sF3TpZoaRChe/TctqkTaLmKCpVSMkuBsDV34n0FRMg6jDfp+VAUamCp6MVxvZuWeHD5phIJZg3vC6ZWnM4CxoNCyNS+/v14i3UagT4OtugW6e7L+BLRLqLCRB1CLVG0A5+njfcq02nDE8L7ApbC1NkF1Xglwv5bdYu0d00jP9h9xeR/mICRB0i7kI+sosqYGthiumDW1f4sDnWMlM881A3AMA3hzklntpXrVqDhIz6BMif1Z+J9BUTIOoQDbV6Zg3pBmuZaZu3Hz7UC6ZSCZKzinE6p6TN2ydq8Nv1EpRUqGBnaYZBnvZih0NE94kJELW7U9dLkJxdDFOp5L4LHzbH1c4Cjwe4A2BhRGpfDbO/HunpBNNWrGFHRLqFv73U7hq6pSYHuMPVzqLdzjO/fmbZ3jO5uFFS2W7nIeMWVz/ObDQXPyXSa0yAqF3dKKnEj2dyAbTd1Pe76eNuh2HdO0GtERB7NLtdz0XG6VpRBS4VlMFEKsHDPZzEDoeIHgATIGpXMUeyoNYIGNa9E/q427X7+RqSrC1J11BapWr385FxiU+vu/sT5OUAOytWfybSZ0yAqN2UVqmwNfk6gPa/+9NglJ8zujtZo7S6FttSWRiR2lZcOmd/ERkKJkDUbr5NuY7S6lp0d7LGKL+OqZcilUowP6RueYy1h7NQq9Z0yHnJ8JVV1+L4lSIAwGjW/yHSe0yAqF3UqjVYdyQbADA/xAfSNix82JwnB3WBo7U5bpRUYv85FkaktnH40i2o1AK8O1uju5ON2OEQ0QNiAkTtYt+5PNwoqYSjtTmeHNSlQ89tYWaCZ+sLI3596AoEgctj0IP7pX76O9f+IjIMTICozQmCgK/ra/E8+1A3WJiZdHgMsx/qBnNTKU5eL8GJa7c7/PxkWDQaAQna8T9MgIgMARMganNpV2/j1PUSmJtKMbv+TkxHc5LL8MSAujtPX//Kwoj0YE7llKCovAZymSmCvB3FDoeI2oCoCVB0dDSCgoIgl8vh7OyMsLAwZGRkNDrmf//7H0aNGgVbW1tIJBKUlJQ02+7bb78NiUTS6OHv799OV0F/1lCJ+YkBXeAkl4kWR0NhxP3n83C1qFy0OEj/NVR/HtnTCWas/kxkEET9TU5MTERkZCSOHz+OAwcOQKVSYdy4cSgv//3LqqKiAhMmTMDrr7/eqrb79OmD3Nxc7ePw4cNtHT414WpROfafzwPwewIiFj8XOR72c4IgQDsgm+h+xLH7i8jgtP2qlK2wb9++Rj/HxMTA2dkZaWlpGDlyJABgyZIlAICDBw+2qm1TU1O4urq2RZjUCuuOZEMQgIf9nODnIhc7HCwc4YPEi7ewLfU6Xgz1Y/E6arWbJZW4kKuEVAKM6skEiMhQ6NS9XIVCAQBwdHzwPvZLly7B3d0dPj4+eOaZZ3Dt2rW7HltdXQ2lUtnoQa2nqFBhW2pd4cOFI3xEjqbOcN9O8HeVo6JGjc3Jd38PEN1Nw92fQZ4OcLQ2FzkaImorOpMAaTQaLFmyBMOHD0ffvn0fqK0hQ4YgJiYG+/btw5dffomsrCyMGDECpaWlTR4fHR0NOzs77cPDw+OBzm+sNidfQ0WNGv6ucgz37SR2OAAAiUSCBfXJWMzRLNTUsjAitU68dvFT3v0hMiQ6kwBFRkbi7Nmz2Lp16wO3NXHiREyfPh39+/fH+PHj8eOPP6KkpATbtm1r8vhly5ZBoVBoH9evX3/gGIxNTa0GMUfrBj8vGOEDiaTjCh82Z3KAG5zkMuQrq7H3zE2xwyE9UlFTiyOX66o/h3L1dyKDohMJUFRUFPbs2YOEhAR07dq1zdu3t7eHn58fMjMzm9wvk8lga2vb6EGts/fMTeQrq+Ekl2FygJvY4TQiMzVBxDAvAHUz1FgYkVrqSGYRamo16OpgiR7OrP5MZEhETYAEQUBUVBR27tyJ+Ph4eHu3z6yhsrIyXL58GW5uuvXFbCgEQdDW2okY5gWZaccXPmzOrGBPWJhJce6mEsfq13Miak7D6u9j/J116q4mET04UROgyMhIbNy4EZs3b4ZcLkdeXh7y8vJQWVmpPSYvLw8nT57U3r05c+YMTp48ieLiYu0xY8aMweeff679+ZVXXkFiYiKys7Nx9OhRPPHEEzAxMcHMmTM77uKMyLHLRTifq4SFmRSzgj3FDqdJDtbmmB5YN7ZrzSEWRqTmCYKgrf8zht1fRAZH1AToyy+/hEKhwKhRo+Dm5qZ9fPvtt9pjVq9ejYEDB2LhwoUAgJEjR2LgwIHYvXu39pjLly+jsLBQ+3NOTg5mzpyJnj174qmnnkKnTp1w/PhxODk5ddzFGZFvDtclFNMDPeCgw7Nk5oV4QyKpm9WTWVAmdjik487eUKKgtBpW5iYY4sPqz0SGRtQ6QC0Zi/H222/j7bffvucx2dnZjX5ui4HU1DKZBaWITy+ARFKXYOgy787WCO3lggPn87HmcBain+wndkikw+Lqu79G9Oisk926RPRgdGIQNOmvNYezAdTNkPHubC1uMC3QUJ9ox4kcFJVVixwN6TJ2fxEZNiZAdN+Kyqqx40QOAGCBjt/9aRDk5YD+Xe1QXavBxuMsjEhNy1dW4cwNBSQS4BFWfyYySEyA6L5tPH4N1bUa9O9qh2A9WSH7j4URNxzPRpVKLXJEpIsS6qs/B3S1F3VBXyJqP0yA6L5UqdTYcDwbADA/xFuvpghP7OsKdzsLFJbV4IeTN8QOh3TQLxe4+CmRoWMCRPflh5M3UFhWA3c7C0zqp1/1lcxMpJg7vK7LjoUR6c+qVGocyaybVcrlL4gMFxMgajVBEPBNfS2ducO9YWaif2+jGcEesJGZ4lJBGRIv3hI7HNIhx64UoVKlhpudBXq7sSo8kaHSv28uEl3ixVu4VFAGG5kpZgTr58KxthZmmBFUXxjxMAsj0u/iGhY/ZfVnIoPGBIhareHuz4wgD9hamIkczf2LGOYFqQQ4dKkQF3KVYodDOkAQBMRrp7+z+4vIkDEBola5kKvE4cxCSCXQLjCqrzwcrTCxfvwS7wIRAKTnleKmogoWZlIM695Z7HCIqB0xAaJWabj7M7GfGzwcrUSO5sE11C/64eQNFCirRI6GxNbQ/RXi2xkWZqz+TGTImABRixUoq7D7VN20cX0pfNicgZ4OGNzNASq1gPXHroodDoksrr7+z2h/Vn8mMnRMgKjFYo9lQ6UWMLibAwZ6OogdTptZMKIumduYdBUVNbUiR0NiKSyrxsnrJQDqBkATkWFjAkQtUlFTi01JdUtHNCQMhmJsb1d4OlqhpEKF70+wMKKxSkgvgCAAfbvYwtXOQuxwiKidMQGiFvk+LQclFSp4OlphbG9XscNpUyZSCeYN9wIArD2cBY2GhRGNUTy7v4iMChMgapZGI2hnSc0b7gUTqeHVRpk+2AO2FqbIKizXjgMh41FTq8Gv9QUxQzn9ncgoMAGiZv1yIR/ZRRWwtTDF9MH6WfiwOdYyU8wa0g0A8PWhKyJHQx0tKasI5TVqOMll6OtuJ3Y4RNQBmABRs76pv/sza0g3WMtMRY6m/UQM84KpVILkrGKczikROxzqQHH1xQ9H93SG1ADvcBLRnZgA0T2dzilBclYxTKUSvS982BxXOwtMDnAH8Hu9IzJ8giAgLr2u/g+rPxMZDyZAdE8NicDkAHejmBkzv76+0d4zubhZUilyNNQRMgvKcL24EuamUgz3ZfVnImPBBIju6kZJJfaeyQXwe2Jg6Pp2scNQn05QawTEHM0WOxzqAA2D3of6dDLoLl4iaowJEN1V7NFsqDUChvp0Qt8uxjMwdOHIumRvS9I1lFWzMKKha1j8lLO/iIwLEyBqUmmVClvqCx82JATGYpSfM3ycrFFaXYtvU66LHQ61o9vlNUi9WgwAeITVn4mMChMgatK21ByUVtfCx8kao/yM64tBKpVgQYgPAGDdkSzUqjUiR0TtJfHiLWgEwN9Vjq4O+r+4LxG1HBMgukOtWoO19VPfF4T4GOW04CcHdYGjtTlybldi/7l8scOhdtIw/oezv4iMDxMgusP+c/m4UVIJR2tzPDmoi9jhiMLCzATPPlRXGPGbwyyMaIhUag0OZnD5CyJjxQSIGhEEQVsJ+dmHusHCzETkiMQz+6FuMDeV4rdrJUirHydChiM1+zZKq2rhaG2OAR72YodDRB2MCRA1cuLabZy8XgJzUylm198BMVZOchmeGFB3B4yFEQ1PfH3xw0d6Ohvk+nZEdG9MgKiRr3+t+6J/YkAXOMllIkcjvvkj6mbA7T+Xh2tFFSJHQ22pYfkLjv8hMk5MgEjralE59p/PA/D7F7+x83OR42E/J2gEYO0R3gUyFFduleFKYTnMTCQY0YPVn4mMERMg0lp3JBuCADzs5wQ/F7nY4eiMBfXJ4LbU61BUqESOhtpCfP3sryHenSC3MBM5GiISAxMgAgAoKlTYllpX9G/hCB+Ro9EtIb6d4e8qR0WNGpuTr4kdDrUB7ervLH5IZLRETYCio6MRFBQEuVwOZ2dnhIWFISMjo9Ex//vf/zBq1CjY2tpCIpGgpKSkRW1/8cUX8PLygoWFBYYMGYLk5OR2uALDsTn5Gipq1PB3lWO4byexw9EpEolEuxZazNEs1NSyMKI+U1SqkJJdN6uP43+IjJeoCVBiYiIiIyNx/PhxHDhwACqVCuPGjUN5ebn2mIqKCkyYMAGvv/56i9v99ttv8dJLL+Gtt97CiRMnEBAQgPHjx6OgoKA9LkPv1dRqEHO0vvDhCB9IJJwR82ePD3CHk1yGfGU19p65KXY49AAOXbqFWo0AX2cbdOtkLXY4RCQSUROgffv2ISIiAn369EFAQABiYmJw7do1pKWlaY9ZsmQJXnvtNTz00EMtbvfjjz/GwoULMXfuXPTu3RurV6+GlZUV1q5d2x6Xoff2nrmJfGU1nOQyTA5wEzscnSQzNUH40PrCiIeyIAiCyBHR/dLO/mL3F5FR06kxQAqFAgDg6Oh4323U1NQgLS0NoaGh2m1SqRShoaE4duxYk8+prq6GUqls9DAWgiBop75HDPOCzNR4Cx8255kh3WBhJsW5m0ocu1Ikdjh0H3IVlYi7UFf/h+N/iIybziRAGo0GS5YswfDhw9G3b9/7bqewsBBqtRouLo1L27u4uCAvL6/J50RHR8POzk778PDwuO/z65tjV4pwPlcJCzMpZgV7ih2OTnOwNsf0wLr3xhoWRtQ7ikoVItamQFlVCz8XGwR2cxA7JCISkc4kQJGRkTh79iy2bt3a4edetmwZFAqF9nH9+vUOj0EsDRWOpwd6wMHaXORodN+8EG9IJHWLaGYWlIkdDrVQlUqNhetTkZFfChdbGdZGBMHURGc+/ohIBDrxCRAVFYU9e/YgISEBXbt2faC2OnfuDBMTE+TnN17BOz8/H66urk0+RyaTwdbWttHDGGQWlCE+vQASSd0XOzXPu7M1QnvV3V1kYUT9oNYIeGnbSSRnFUMuM0XM3GB0dbASOywiEpmoCZAgCIiKisLOnTsRHx8Pb+8H/xI2NzdHYGAg4uLitNs0Gg3i4uIwdOjQB27fkKw5XPcFHtrLBd6dORumpRbUJ4vfp+WgqKxa5GjoXgRBwL/+7xx+PJMHcxMpvpoTiF5uxvEHDhHdm6gJUGRkJDZu3IjNmzdDLpcjLy8PeXl5qKys1B6Tl5eHkydPIjMzEwBw5swZnDx5EsXFv6/OPWbMGHz++efan1966SV8/fXXiI2NxYULF7Bo0SKUl5dj7ty5HXdxOq6orBo7TuQA+P0LnVom2NsR/bvaobpWg01JLIyoy75MvIzYY1cBACufCsCw7lz2gojqiJoAffnll1AoFBg1ahTc3Ny0j2+//VZ7zOrVqzFw4EAsXLgQADBy5EgMHDgQu3fv1h5z+fJlFBYWan+eMWMGPvroI7z55psYMGAATp48iX379t0xMNqYbTx+DdW1GvTvaodg7/ufdWeM/lgYcf2xbFSp1CJHRE35Pi0HH+yrK6z6xmO9MTnAXeSIiEiXSAQWNLmDUqmEnZ0dFAqFQY4HqlKpEfJ+PArLavCfpwdgyoAuYoekd1RqDR7+IAE3FVX4YGp/PBVkPDMH9cHBjAIsiE1FrUbAcyN98PqkXmKHREQdoDXf3zoxCJo61g8nb6CwrAbudhaY1I+FD++HmYkUEcO9AADfHL7Cwog65HROCf666QRqNQLCBrjjtQn+YodERDqICZCREQRBO/U9YrgXzDgV+L49HewJa3MTXMwvw6+XCpt/ArW7q0XlmBeTgooaNUJ8O+ODaQGQSrm0CxHdid9+Ribx4i1cKiiDtbkJnmbhwwdia2GGGUF1r+E3h66IHA0VllVjztpkFJbVoLebLb58dhDMTfkRR0RN46eDkWmY+j4jyBO2FmYiR6P/5g73glQCHLpUiPQ841lCRdeUV9diXkwKrhZVwMPREjHzgiDn+5uI7oEJkBG5kKvEoUuFkErqvrjpwXk4WmFi37pxVN9weQxRqNQa/HXTCZzOUcDR2hyxc4PhLLcQOywi0nFMgIxIw92fiX3d4OHISrhtZcGIuinxP5y8gQJllcjRGBdBEPDa92eQePEWLM1MsCZ8MHycbMQOi4j0ABMgI1GgrMIPJ28A+P0Lm9rGQE8HBHZzgEotYH190T3qGB/9nIHvT+TARCrBF88MxEBPLnBKRC3DBMhIrD92FSq1gMBuDvySaAcL65PKjUlXUVnDwogdYcOxbHyRcBkAEP1EP4z2Z6FTImo5JkBGoKKmFhuT6u5MLOTdn3YxtrcrPB2tUFKhwvb6JUao/ew7m4s3d58DALw01o+FKImo1ZgAGYHvT9xASYUKno5WGNvbVexwDJKJVIJ59QPL1x7OgkbDwojtJTmrGIu3noQgALOGeOKF0b5ih0REeogJkIHTaASsrR/8PG+4F0xYFK7dTB/sAVsLU2QVliMuvUDscAzSxfxSLIhNQU2tBmN7u2D5lL6QSPieJqLWYwJk4OLSC5BVWA5bC1NMH8xugvZkLTPFrCHdALAwYnvIVVQifG0ylFW1COzmgFUzBzKhJ6L7xgTIwH1d/0U8a0g3WMtMRY7G8IUP6wZTqQRJWcU4k6MQOxyDoahUIWJtCnIVVejuZI014YNhYWYidlhEpMeYABmw0zklSM4qhqlUgohhXmKHYxTc7CwxOcAdQN0iqfTgqlRqLFyfioz8UrjYyhA7Lxj2VuZih0VEeo4JkAFrqEw8OcAdrnasjNtR5ofUzbTbczoXN0sqRY5Gv6k1Al7adhLJWcWQy0wRMzcYXR1YxJOIHhwTIAN1o6QSe8/kAvj9C5k6Rt8udhjq0wlqjYDYo9lih6O3BEHA8j3n8eOZPJibSPHVnED0crMVOywiMhBMgAxU7NFsqDUChvp0Qt8udmKHY3Qaqm1vTr6GsupakaPRT6sTryCmPoFc+VQAhnXvLG5ARGRQmAAZoNIqFbYkXQMALBzJuz9ieKSnM3ycrFFaVYttKdfFDkfv7DiRg/f3pQMA3nist3ZcFRFRW2ECZIC2peagtLoWPk7WGOXnLHY4RkkqlWi7HtceyUKtWiNyRPoj8eItLN1+GgDw3EgfduESUbtgAmRgatUabeHDBSE+kLJOimimDuoKBysz5NyuxP5z+WKHoxfO5CiwaGMaajUCwga447UJ/mKHREQGigmQgdl/Lh83SirhaG2OJwd1ETsco2ZhZoLZD9UXRuSU+GZdLSrH3JhkVNSoEeLbGR9MC2ACT0TthgmQAREEQVv48NmHurFQnA6YPdQL5iZS/HatBGlXi8UOR2cVllUjfG0yCstq0NvNFl8+Owjmpvx4IqL2w08YA3Li2m2cvF4Cc1Op9s4DictJLkPYwPrCiPV1maix8upazI9JQXZRBbo6WCJmXhDkFmZih0VEBo4JkAH5+te6L9gnBnSBk1wmcjTUYMEIHwDA/nN5uFZUIXI0ukWl1iBy8wmcylHAwcoM6+cFw1nOop1E1P6YABmIq0Xl2H8+DwAwfwRnzegSPxc5Rvo5QSPUzQijOoIg4LXvz+Bgxi1YmEmxNiIIPk42YodFREaCCZCBWHckG4IAPOznBD8Xudjh0J8srE9Kt6Veh6JCJXI0uuGjnzPw/YkcmEgl+GLWIAz0dBA7JCIyIkyADICiQoVtqXXF9hbw7o9OCvHtDH9XOSpq1NiSck3scES34Vg2vki4DAB4L6wvxvRyETkiIjI2TIAMwObka6ioUcPfVY4QXy4XoIskkt8LI8YcyUZNrfEWRtx3Nhdv7j4HAHgx1A9PB3uKHBERGSMmQHquplaDmKN140rmh3hDImHdFF31+AB3OMllyFNW4cf6hWqNTXJWMRZvPQlBAGYGe2LxGF+xQyIiI8UESM/tPXMT+cpqOMlleHwA10vSZTJTE4QPrStP8PWhKxAEQeSIOtbF/FIsiE1BTa0Gob1csHxKHybsRCQaJkB6TBAEbW2Z8KHdIDNl4UNd98yQbrAwk+LcTSWOXzGewoi5ikqEr02GsqoWgzztsWrmQJia8OOHiMQj6idQdHQ0goKCIJfL4ezsjLCwMGRkZDQ6pqqqCpGRkejUqRNsbGwwdepU5Offe12liIgISCSSRo8JEya056WI4tiVIpy7qYSFmRTPDGHhQ33gYG2OaYFdAQDfHDKO5TEUlSpErE1BrqIK3Z2ssSY8CJbmTNaJSFyiJkCJiYmIjIzE8ePHceDAAahUKowbNw7l5eXaY1588UX83//9H7777jskJibi5s2bePLJJ5tte8KECcjNzdU+tmzZ0p6XIoo19Xd/pgd6wMHaXORoqKXmDfeGRALEpRfg8q0yscNpV1UqNRauT0VGfilcbGWInRfM9yoR6QRTMU++b9++Rj/HxMTA2dkZaWlpGDlyJBQKBdasWYPNmzdj9OjRAIB169ahV69eOH78OB566KG7ti2TyeDq6tqu8Ysps6AMcekFkEiAeSGc+q5PfJxsMMbfBb9cyMeaw1n49xP9xA6pXag1Al7adhLJWcWQy0wRMzcYXR2sxA6LiAiAjo0BUigUAABHR0cAQFpaGlQqFUJDQ7XH+Pv7w9PTE8eOHbtnWwcPHoSzszN69uyJRYsWoaio6K7HVldXQ6lUNnrouoaKwqG9XODd2VrkaKi1Ggojfp+Wg+LyGpGjaXuCIGD5nvP48UwezE2k+GpOIHq52YodFhGRls4kQBqNBkuWLMHw4cPRt29fAEBeXh7Mzc1hb2/f6FgXFxfk5eXdta0JEyZg/fr1iIuLw/vvv4/ExERMnDgRarW6yeOjo6NhZ2enfXh4eLTZdbWHorJqfJ+WAwBYwLs/einY2xH9utihulaDjcevih1Om1udeAUxR7MBACufCsCw7qxPRUS6RWcSoMjISJw9exZbt2594LaefvppPP744+jXrx/CwsKwZ88epKSk4ODBg00ev2zZMigUCu3j+vXrDxxDe9qUdA3VtRr072qHYG9HscOh+yCRSLRVu9cfy0aVqunkXB/tOJGD9/elAwDeeKw3JgewPAMR6R6dSICioqKwZ88eJCQkoGvXrtrtrq6uqKmpQUlJSaPj8/PzWzW+x8fHB507d0ZmZmaT+2UyGWxtbRs9dFWVSo31x7IBsPChvpvUzw1udhYoLKvB7pM3xQ6nTSRevIWl208DAJ4b6aOtfk1EpGtETYAEQUBUVBR27tyJ+Ph4eHs3/rAMDAyEmZkZ4uLitNsyMjJw7do1DB06tMXnycnJQVFREdzc3NosdrHsPnkThWU1cLezwKR++n89xszMRIq5w70AAN8c1v/CiGdyFFi0MQ21GgFhA9zx2gR/sUMiIrorUROgyMhIbNy4EZs3b4ZcLkdeXh7y8vJQWVkJALCzs8P8+fPx0ksvISEhAWlpaZg7dy6GDh3aaAaYv78/du7cCQAoKyvDq6++iuPHjyM7OxtxcXGYMmUKfH19MX78eFGus60IgoBvDtfVjokY7gUzFpLTezOCPGFtboKL+WX49VKh2OHct6tF5Zgbk4yKGjVCfDvjg2kBkEp5d5KIdJeo36BffvklFAoFRo0aBTc3N+3j22+/1R7zySef4LHHHsPUqVMxcuRIuLq6YseOHY3aycjI0M4gMzExwenTp/H444/Dz88P8+fPR2BgIA4dOgSZTNah19fWfr1UiIv5ZbA2N+ECkgbCztIMM4Lq/i/1tTBiYVk1wtcmo7CsBr3dbPHls4NgbsrknIh0m0TQ9/vu7UCpVMLOzg4KhUKnxgPNXpOEQ5cKMW+4N96c3FvscKiNXC+uwMMfJkAjAPuWjIC/q+6855pTXl2LWV8fx6kcBbo6WGLHX4fBWW4hdlhEZKRa8/3NP9P0RHqeEocuFUIqgXbcCBkGD0crTOxbN56robq3PlCpNYjcfAKnchRwsDLD+nnBTH6ISG8wAdITDYueTuzrBg9HVtM1NPPrp8T/cPImCkqrRI6meYIgYNmOMziYcQsWZlKsjQiCj5ON2GEREbUYEyA9UKCswg8nbwCAtnYMGZZBng4I7OaAGrUGG47pfmHElT9fxPa0HJhIJfhi1iAM9HQQOyQiolZhAqQH1h+7CpVaQGA3B37RGLCGqt4bj19FZY3uFkbccPwqPk+oq6n1XlhfjOnlInJEREStxwRIx1XU1GJjUt0dgYW8+2PQxvVxhYejJW5XqPD9iRyxw2nSvrN5ePOHswCAF0P9OBuRiPQWEyAd9/2JGyipUMHT0Qpjexvu6vYEmEglmDe8LsldezgLGo1uTdBMyS7G4q2/QRCAmcGeWDzGV+yQiIjuGxMgHabRCFh7uG7w87zhXjBhYTmD99RgD8gtTHGlsBzx6QVih6N1Kb8U82NSUFOrQWgvFyyf0ofLsBCRXmMCpMPi0guQVVgOWwtTTB+s2yvUU9uwlpli1pC6bqWvdaQwYq6iEuFrk6GsqsUgT3usmjkQpqxCTkR6jp9iOqzhC3DWkG6wlpmKHA11lIhhXjCVSpCUVYwzOQpRY1FUqhCxNgU3FVXo7mSNNeFBsDQ3ETUmIqK2wARIR53OKUFyVjFMpRKED+smdjjUgdzsLPFY/7rCiA1rv4mhSqXGc+tTkZFfCme5DLHzguFgbS5aPEREbYkJkI5qKHw4OcAdbnaWIkdDHW3BCB8AwJ7TubhZUtnh51drBLy07SSSsoohl5kiZm4wujqwACcRGQ4mQDroZkkl9p7JBQDMD+HUd2PUt4sdHvJxhFojIPZodoeeWxAELN9zHj+eyYOZiQRfzQ5Eb3f9WZ+MiKglmADpoJij2VBrBAz16YS+XezEDodEsrD+LtDm5Gsoq67tsPOuTryCmPqka+VTAzDMt3OHnZuIqKMwAdIxZdW12JJ0DQCwcCTv/hizR3o6w8fJGqVVtdiWcr1DzrnjRA7e35cOAPjno73weIB7h5yXiKijMQHSMd+mXEdpdS18nKwxys9Z7HBIRFKpRNsFuvZIFmrVmnY9X+LFW1i6/TSAuqrjDeOQiIgMERMgHVKr1mDdkbrBzwtCfCBl4UOj9+TArnCwMkPO7Ur8fD6/3c5zJkeBRRvTUKsRMGWAO5ZN7NVu5yIi0gVMgHTI/nP5yLldCUdrczw5qIvY4ZAOsDQ3weyH6sogtFdhxKtF5Zgbk4yKGjWG+3bCh9MCmHwTkcFjAqRDGmq+PPtQN1iYsdgc1Xl2aDeYm0jx27USpF293aZtF5ZVI3xtMgrLatDbzRarnw2EuSk/FojI8PGTTkekXS3Gb9dKYG4q1f7FTwQAznILhA2sG4z8TRveBSqvrsX8mBRkF1Wgq4MlYuYFQW5h1mbtExHpMiZAOqKh8OETA7rASS4TORrSNfND6gYk7z+Xh2tFFQ/cnkqtQeTmEziVo4CDlRnWzwuGs9zigdslItIXTIB0wLWiCuw/lwcAmD+CU9/pTj1d5Rjp5wSNUDcj7EEIgoBlO87gYMYtWJhJsTYiCD5ONm0UKRGRfmACpAPWHsmCRgAe9nOCn4tc7HBIRy2onxK/LfU6FJWq+25n5c8XsT0tByZSCb6YNQgDPR3aKkQiIr3BBEhkigoVtqXWFblbwLs/dA8jenSGv6scFTVqbEm+dl9tbDh+FZ8nZAIA3gvrizG9XNoyRCIivcEESGRbUq6hokYNf1c5QrjkAN2DRPJ7YcSYI9lQtbIw4r6zeXjzh7MAgBdD/fB0sGebx0hEpC+YAImoplaDmCPZAOoWPZVIWHuF7u3xAe5wksuQp6zC3tO5LX5eSnYxFm/9DYIAzAz2xOIxvu0YJRGR7mMCJKIfz+QiT1kFJ7kMjw/gmkvUPJmpCcKH1pVJ+ObwFQiC0OxzLuWXYn5MCmpqNQjt5YLlU/ow2SYio8cESCSCIGgr+4YP7QaZKQsfUss8M6QbLMykOHtDieNXiu95bK6iEuFrk6GsqsUgT3usmjkQpib8tSci4iehSI5fKca5m0pYmEnxzBAWPqSWc7A2x7TArgCANYfvXhhRUalCxNoU3FRUobuTNdaEB8HSnIk2ERHABEg0DRV9pwV2hYO1ucjRkL6ZN9wbEgnwy4UCXL5Vdsf+KpUaz61PRUZ+KZzlMsTOC+b7jIjoD5gAieDyrTLEpRdAIqn7IiNqLR8nG4zxr5vCvvZw48KIGo2Al7edQlJWMeQyU8TMDUZXBysxwiQi0llMgESwpv4La4y/Cyvw0n1rqBu1PS0HxeU1AOrGlv1rz3nsPZMLMxMJvpodiN7utmKGSUSkk0RNgKKjoxEUFAS5XA5nZ2eEhYUhIyOj0TFVVVWIjIxEp06dYGNjg6lTpyI/P/+e7QqCgDfffBNubm6wtLREaGgoLl261J6X0mJFZdX4Pi0HALCQhQ/pAQzxdkS/LnaortVg0/GrAICvfr2CmKPZAICVTw3AMNaWIiJqkqgJUGJiIiIjI3H8+HEcOHAAKpUK48aNQ3l5ufaYF198Ef/3f/+H7777DomJibh58yaefPLJe7b7wQcf4LPPPsPq1auRlJQEa2trjB8/HlVVVe19Sc3alHQN1bUa9Otih2BvR7HDIT0mkUi0d4Fij13F1uRrWPFTOgDgn4/2wuMBLK1ARHQ3EqElhUQ6yK1bt+Ds7IzExESMHDkSCoUCTk5O2Lx5M6ZNmwYASE9PR69evXDs2DE89NBDd7QhCALc3d3x8ssv45VXXgEAKBQKuLi4ICYmBk8//XSzcSiVStjZ2UGhUMDWtu26D6pUaoS8H4/Cshr85+kBmDKgS5u1TcZJpdZg5AcJyFX8ntwvHOGNfzzaW8SoiIjE0Zrvb50aA6RQKAAAjo51d0bS0tKgUqkQGhqqPcbf3x+enp44duxYk21kZWUhLy+v0XPs7OwwZMiQuz6nuroaSqWy0aM97D55E4VlNXCzs8Ckfm7tcg4yLmYmUkQM89L+PGWAO5ZN7CVeQEREekJnEiCNRoMlS5Zg+PDh6Nu3LwAgLy8P5ubmsLe3b3Ssi4sL8vLymmynYbuLS+NFHu/1nOjoaNjZ2WkfHh4eD3g1TSuuqIGFmRRzh3vBjMXoqI3MHOKJ/l3tMKmfKz6cFgCplFWeiYiaYyp2AA0iIyNx9uxZHD58uMPPvWzZMrz00kvan5VKZbskQX95uDtmDPaAuSmTH2o7thZm2B0VInYYRER6RSe+iaOiorBnzx4kJCSga9eu2u2urq6oqalBSUlJo+Pz8/Ph6uraZFsN2/88U+xez5HJZLC1tW30aC8O1uawlulM3klERGSURE2ABEFAVFQUdu7cifj4eHh7N54WHhgYCDMzM8TFxWm3ZWRk4Nq1axg6dGiTbXp7e8PV1bXRc5RKJZKSku76HCIiIjIuoiZAkZGR2LhxIzZv3gy5XI68vDzk5eWhsrISQN3g5fnz5+Oll15CQkIC0tLSMHfuXAwdOrTRDDB/f3/s3LkTQN3U4CVLluDdd9/F7t27cebMGcyZMwfu7u4ICwsT4zKJiIhIx4jaF/Pll18CAEaNGtVo+7p16xAREQEA+OSTTyCVSjF16lRUV1dj/Pjx+O9//9vo+IyMDO0MMgBYunQpysvL8dxzz6GkpAQhISHYt28fLCws2vV6iIiISD/oVB0gXdFedYCIiIio/ehtHSAiIiKijsAEiIiIiIwOEyAiIiIyOkyAiIiIyOgwASIiIiKjwwSIiIiIjA4TICIiIjI6TICIiIjI6DABIiIiIqPDZcmb0FAcW6lUihwJERERtVTD93ZLFrlgAtSE0tJSAICHh4fIkRAREVFrlZaWws7O7p7HcC2wJmg0Gty8eRNyuRwSiaRN21YqlfDw8MD169e5zlgz+Fq1HF+rluNr1XJ8rVqOr1XLtedrJQgCSktL4e7uDqn03qN8eAeoCVKpFF27dm3Xc9ja2vKXpIX4WrUcX6uW42vVcnytWo6vVcu112vV3J2fBhwETUREREaHCRAREREZHSZAHUwmk+Gtt96CTCYTOxSdx9eq5fhatRxfq5bja9VyfK1aTldeKw6CJiIiIqPDO0BERERkdJgAERERkdFhAkRERERGhwkQ6ZyDBw9CIpGgpKRE7FA6THZ2NiQSCU6ePNmi4yMiIhAWFtauMf3RqFGjsGTJkg47ny6SSCTYtWuX2GHoNEN5jVrzfu+oz6uYmBjY29u36zk6yh/fJ6397GtLTIBa4datW1i0aBE8PT0hk8ng6uqK8ePH48iRIwAM55e/PXT0F7auiYiIgEQigUQigZmZGby9vbF06VJUVVUBqFt2JTc3F3379hU5Ut3W3O8gNf9eM1YNr8tf/vKXO/ZFRkZCIpEgIiICALBjxw4sX768gyPUXw/y+S7mZx8rQbfC1KlTUVNTg9jYWPj4+CA/Px9xcXEoKioSOzTSAxMmTMC6deugUqmQlpaG8PBwSCQSvP/++zAxMYGrq6uo8QmCALVaDVNT3f1YaOvfQbVaDYlE0mzJfH1zr/eaMfPw8MDWrVvxySefwNLSEgBQVVWFzZs3w9PTU3uco6OjWCEaHTE/+wzrt74dlZSU4NChQ3j//ffxyCOPoFu3bggODsayZcvw+OOPw8vLCwDwxBNPQCKRaH8GgB9++AGDBg2ChYUFfHx88M4776C2thYAMGvWLMyYMaPRuVQqFTp37oz169cDqFubLDo6Gt7e3rC0tERAQAC2b9/eIdfdHqqrq7F48WI4OzvDwsICISEhSElJueO4tLQ0DB48GFZWVhg2bBgyMjK0+95++20MGDAAGzZsgJeXF+zs7PD0009rF7LVRQ13LDw8PBAWFobQ0FAcOHAAQNO3gc+dO4fHHnsMtra2kMvlGDFiBC5fvtyozY8++ghubm7o1KkTIiMjoVKptPs2bNiAwYMHQy6Xw9XVFbNmzUJBQYF2f8Ot+59++gmBgYGQyWQ4fPgwysvLMWfOHNjY2MDNzQ0rV65s3xemhZr7HQSAjz/+GP369YO1tTU8PDzw17/+FWVlZdo2GroRdu/ejd69e0Mmk+HatWtISUnB2LFj0blzZ9jZ2eHhhx/GiRMn7oihsLAQTzzxBKysrNCjRw/s3r27w66/Ne71XisqKsLMmTPRpUsXWFlZoV+/ftiyZUuj548aNQqLFy/G0qVL4ejoCFdXV7z99tuNjrl06RJGjhwJCwsL9O7dW9t+g9GjRyMqKqrRtlu3bsHc3BxxcXFtf9EtMGjQIHh4eGDHjh3abTt27ICnpycGDhyo3fbnLrDq6mr8/e9/h4eHB2QyGXx9fbFmzZpGbd/r8+ry5cuYMmUKXFxcYGNjg6CgIPzyyy+Nnl9dXY1XXnkFXbp0gbW1NYYMGYKDBw+27QvQAby8vPDpp5822jZgwIA73j8NmvrsO3v2LCZOnAgbGxu4uLhg9uzZKCwsbPNYmQC1kI2NDWxsbLBr1y5UV1ffsb/hC3zdunXIzc3V/nzo0CHMmTMHf/vb33D+/Hl89dVXiImJwXvvvQcAeOaZZ/B///d/jT6k9+/fj4qKCjzxxBMAgOjoaKxfvx6rV6/GuXPn8OKLL+LZZ59FYmJie192u1i6dCm+//57xMbG4sSJE/D19cX48eNRXFzc6Lh//OMfWLlyJVJTU2Fqaop58+Y12n/58mXs2rULe/bswZ49e5CYmIgVK1Z05KXct7Nnz+Lo0aMwNzdvcv+NGzcwcuRIyGQyxMfHIy0tDfPmzdMmzgCQkJCAy5cvIyEhAbGxsYiJiUFMTIx2v0qlwvLly3Hq1Cns2rUL2dnZ2lv8f/Taa69hxYoVuHDhAvr3749XX30ViYmJ+OGHH/Dzzz/j4MGDTSYDHa2530Ggbh2/zz77DOfOnUNsbCzi4+OxdOnSRsdUVFTg/fffxzfffINz587B2dkZpaWlCA8Px+HDh3H8+HH06NEDkyZNuiOhfuedd/DUU0/h9OnTmDRpEp555pk73re65s/vtaqqKgQGBmLv3r04e/YsnnvuOcyePRvJycmNnhcbGwtra2skJSXhgw8+wL/+9S9tkqPRaPDkk0/C3NwcSUlJWL16Nf7+9783ev6CBQuwefPmRv9XGzduRJcuXTB69Oh2vuq7mzdvHtatW6f9ee3atZg7d+49nzNnzhxs2bIFn332GS5cuICvvvoKNjY2jY651+dVWVkZJk2ahLi4OPz222+YMGECJk+ejGvXrmmPiYqKwrFjx7B161acPn0a06dPx4QJE3Dp0qU2unL9UFJSgtGjR2PgwIFITU3Fvn37kJ+fj6eeeqrtTyZQi23fvl1wcHAQLCwshGHDhgnLli0TTp06pd0PQNi5c2ej54wZM0b497//3Wjbhg0bBDc3N0EQBEGlUgmdO3cW1q9fr90/c+ZMYcaMGYIgCEJVVZVgZWUlHD16tFEb8+fPF2bOnNmWl9euwsPDhSlTpghlZWWCmZmZsGnTJu2+mpoawd3dXfjggw8EQRCEhIQEAYDwyy+/aI/Zu3evAECorKwUBEEQ3nrrLcHKykpQKpXaY1599VVhyJAhHXRFrRMeHi6YmJgI1tbWgkwmEwAIUqlU2L59uyAIgpCVlSUAEH777TdBEARh2bJlgre3t1BTU3PX9rp16ybU1tZqt02fPl37vmlKSkqKAEAoLS0VBOH313nXrl3aY0pLSwVzc3Nh27Zt2m1FRUWCpaWl8Le//e1+L7/NNPc7+Gffffed0KlTJ+3P69atEwAIJ0+evOd51Gq1IJfLhf/7v//TbgMg/POf/9T+XFZWJgAQfvrppwe4orbX3HutKY8++qjw8ssva39++OGHhZCQkEbHBAUFCX//+98FQRCE/fv3C6ampsKNGze0+3/66adGn4GVlZWCg4OD8O2332qP6d+/v/D222+3xWW2WsNnUEFBgSCTyYTs7GwhOztbsLCwEG7duiVMmTJFCA8PFwSh7vob3u8ZGRkCAOHAgQNNttuSz6um9OnTR1i1apUgCIJw9epVwcTEpNHrKQh13x/Lli0TBKHuvWtnZ3efV9++Gl5bQRCEbt26CZ988kmj/QEBAcJbb72l/fmP75M/f/YtX75cGDduXKPnX79+XQAgZGRktGncvAPUClOnTsXNmzexe/duTJgwAQcPHsSgQYMa/dX9Z6dOncK//vUv7V+vNjY2WLhwIXJzc1FRUQFTU1M89dRT2LRpEwCgvLwcP/zwA5555hkAQGZmJioqKjB27NhGbaxfv/6O7hB9cPnyZahUKgwfPly7zczMDMHBwbhw4UKjY/v376/9t5ubGwA06sLx8vKCXC5vdMwf9+uaRx55BCdPnkRSUhLCw8Mxd+5cTJ06tcljT548iREjRsDMzOyu7fXp0wcmJiban/98/WlpaZg8eTI8PT0hl8vx8MMPA0CjvzoBYPDgwdp/X758GTU1NRgyZIh2m6OjI3r27Nm6i20nzf0O/vLLLxgzZgy6dOkCuVyO2bNno6ioCBUVFdo2zM3NG723ACA/Px8LFy5Ejx49YGdnB1tbW5SVld3xWv3xedbW1rC1tdXJ99y93mtqtRrLly9Hv3794OjoCBsbG+zfv/+e1wo0fn9duHABHh4ecHd31+4fOnRoo+MtLCwwe/ZsrF27FgBw4sQJnD17tsm7kB3JyckJjz76KGJiYrBu3To8+uij6Ny5812PP3nyJExMTLS/P3dzr8+rsrIyvPLKK+jVqxfs7e1hY2ODCxcuaF/zM2fOQK1Ww8/Pr9HnfGJiol5+zj+IU6dOISEhodHr4O/vDwBt/lro7mhHHWVhYYGxY8di7NixeOONN7BgwQK89dZbd/2lLisrwzvvvIMnn3yyybaAum6whx9+GAUFBThw4AAsLS0xYcIE7fMBYO/evejSpUuj54u9jkp7++OXv0QiAVB3672p/Q3H/HG/rrG2toavry+AutvuAQEBWLNmDebPn3/HsQ0DNO/lXtdfXl6O8ePHY/z48di0aROcnJxw7do1jB8/HjU1NXfEpU/u9js4atQoPPbYY1i0aBHee+89ODo64vDhw5g/fz5qampgZWUFoO61bXg/NQgPD0dRURH+85//oFu3bpDJZBg6dOgdr5W+vOfu9V778MMP8Z///AeffvqpdrzUkiVL2uVaFyxYgAEDBiAnJwfr1q3D6NGj0a1btwe7uDYwb9487fikL7744p7HtuR3Ebj359Urr7yCAwcO4KOPPoKvry8sLS0xbdo07WteVlYGExMTpKWlNfqjBsAdXW26TiqVQvjTClt/HJvYnLKyMkyePLnJAfsNiWVbYQL0gHr37q2d+m5mZga1Wt1o/6BBg5CRkaH9MGrKsGHD4OHhgW+//RY//fQTpk+frv1l+uNAzeb+AtEH3bt3h7m5OY4cOaL9IFSpVEhJSTGqOjNSqRSvv/46XnrpJcyaNeuO/f3790dsbCxUKtU97wLdTXp6OoqKirBixQp4eHgAAFJTU5t9Xvfu3WFmZoakpCTtrJjbt2/j4sWLOvv+a/gdTEtLg0ajwcqVK7WzurZt29aiNo4cOYL//ve/mDRpEgDg+vXr7TLoUgx/fq8dOXIEU6ZMwbPPPgug7kv64sWL6N27d4vb7NWrF65fv47c3Fztl9Lx48fvOK5fv34YPHgwvv76a2zevBmff/5521zUA5owYQJqamogkUgwfvz4ex7br18/aDQaJCYmIjQ09L7Od+TIEURERGjHdZaVlSE7O1u7f+DAgVCr1SgoKMCIESPu6xy6wsnJCbm5udqflUolsrKyWvz8QYMG4fvvv4eXl1e7z0hlF1gLFRUVYfTo0di4cSNOnz6NrKwsfPfdd/jggw8wZcoUAHVdMnFxccjLy8Pt27cBAG+++SbWr1+Pd955B+fOncOFCxewdetW/POf/2zU/qxZs7B69WocOHBA2/0FAHK5HK+88gpefPFFxMbG4vLlyzhx4gRWrVqF2NjYjnsB2oi1tTUWLVqEV199Ffv27cP58+excOFCVFRUNHknxJBNnz4dJiYmTf4FGhUVBaVSiaeffhqpqam4dOkSNmzY0Ghmyb14enrC3Nwcq1atwpUrV7B79+4W1TWxsbHB/Pnz8eqrryI+Pl7bZaEL08Sb+x309fWFSqXSXvOGDRuwevXqFrXdo0cPbNiwARcuXEBSUhKeeeaZFv/lrw/++F7r0aMHDhw4gKNHj+LChQt4/vnnkZ+f36r2QkND4efnh/DwcJw6dQqHDh3CP/7xjyaPXbBgAVasWAFBELQJgNhMTExw4cIFnD9//o47Ln/m5eWF8PBwzJs3D7t27UJWVhYOHjzY4uQaqHt/7dixAydPnsSpU6cwa9asRnfT/Pz88Mwzz2DOnDnYsWMHsrKykJycjOjoaOzdu/e+r1MMo0ePxoYNG3Do0CGcOXMG4eHhzb7GfxQZGYni4mLMnDkTKSkpuHz5Mvbv34+5c+fecYPhQYn/qaYnbGxsMGTIEHzyyScYOXIk+vbtizfeeAMLFy7U/lWzcuVKHDhwAB4eHtoplePHj8eePXvw888/IygoCA899BA++eSTO24DP/PMMzh//jy6dOnSaHwMACxfvhxvvPEGoqOj0atXL0yYMAF79+6Ft7d3x1x8G9BoNNpsfsWKFZg6dSpmz56NQYMGITMzE/v374eDg4PIUXYsU1NTREVF4YMPPkB5eXmjfZ06dUJ8fDzKysrw8MMPIzAwEF9//XWL7wY5OTkhJiYG3333HXr37o0VK1bgo48+atFzP/zwQ4wYMQKTJ09GaGgoQkJCEBgY2Orra2vN/Q4GBATg448/xvvvv4++ffti06ZNiI6OblHba9aswe3btzFo0CDMnj1bW6bBUPzxvfbyyy9j0KBBGD9+PEaNGgVXV9dWF7GTSqXYuXMnKisrERwcjAULFmhntv7ZzJkzYWpqipkzZ2q7/XWBra0tbG1tW3Tsl19+iWnTpuGvf/0r/P39sXDhwjt+Z+/l448/hoODA4YNG4bJkydj/PjxGDRoUKNj1q1bhzlz5uDll19Gz549ERYWhpSUlEb1iXTVHz/fly1bhocffhiPPfYYHn30UYSFhaF79+4tbsvd3R1HjhyBWq3GuHHj0K9fPyxZsgT29vZt/oeYRPhzZx1RO5gwYQJ8fX115hY4EXWM7OxsdO/eHSkpKXd86ZNh0NfPd94BonZ1+/Zt7NmzBwcPHrzv/nMi0j8qlQp5eXn45z//iYceeojJjwHS9893DoKmdjVv3jykpKTg5Zdf1o6VIiLDd+TIETzyyCPw8/PT68r1dHf6/vnOLjAiIiIyOuwCIyIiIqPDBIiIiIiMDhMgIiIiMjpMgIiIiMjoMAEiIiIio8MEiIiIiIwOEyAiIiIyOkyAiEhnjRo1CosXL8bSpUvh6OgIV1dXvP3229r9H3/8Mfr16wdra2t4eHjgr3/9K8rKyrT7Y2JiYG9vjz179qBnz56wsrLCtGnTUFFRgdjYWHh5ecHBwQGLFy9utNBidXU1XnnlFXTp0gXW1tYYMmQIDh48qN1/9epVTJ48GQ4ODrC2tkafPn3w448/dsRLQkRthJWgiUinxcbG4qWXXkJSUhKOHTuGiIgIDB8+HGPHjoVUKsVnn30Gb29vXLlyBX/961+xdOlS/Pe//9U+v6KiAp999hm2bt2K0tJSPPnkk3jiiSdgb2+PH3/8EVeuXMHUqVMxfPhwzJgxAwAQFRWF8+fPY+vWrXB3d8fOnTsxYcIEnDlzBj169EBkZCRqamrw66+/wtraGufPn4eNjY1YLxER3QdWgiYinTVq1Cio1WocOnRIuy04OBijR4/GihUr7jh++/bt+Mtf/oLCwkIAdXeA5s6di8zMTO2K1H/5y1+wYcMG5Ofna5OWCRMmwMvLC6tXr8a1a9fg4+ODa9euwd3dXdt2aGgogoOD8e9//xv9+/fH1KlT8dZbb7Xn5RNRO+IdICLSaf3792/0s5ubGwoKCgAAv/zyC6Kjo5Geng6lUona2lpUVVWhoqICVlZWAAArKytt8gMALi4u8PLyanTHxsXFRdvmmTNnoFar4efn1+i81dXV6NSpEwBg8eLFWLRoEX7++WeEhoZi6tSpd8RJRLqNY4CISKeZmZk1+lkikUCj0SA7OxuPPfYY+vfvj++//x5paWn44osvAAA1NTX3fP7d2gSAsrIymJiYIC0tDSdPntQ+Lly4gP/85z8AgAULFuDKlSuYPXs2zpw5g8GDB2PVqlVtfu1E1H54B4iI9FJaWho0Gg1WrlwJqbTub7lt27Y9cLsDBw6EWq1GQUEBRowYcdfjPDw88Je//AV/+ctfsGzZMnz99dd44YUXHvj8RNQxmAARkV7y9fWFSqXCqlWrMHnyZBw5cgSrV69+4Hb9/PzwzDPPYM6cOVi5ciUGDhyIW7duIS4uDv3798ejjz6KJUuWYOLEifDz88Pt27eRkJCAXr16tcFVEVFHYRcYEemlgIAAfPzxx3j//ffRt29fbNq0CdHR0W3S9rp16zBnzhy8/PLL6NmzJ8LCwpCSkgJPT08AgFqtRmRkJHr16oUJEybAz8+v0cwzItJ9nAVGRERERod3gIiIiMjoMAEiIiIio8MEiIiIiIwOEyAiIiIyOkyAiIiIyOgwASIiIiKjwwSIiIiIjA4TICIiIjI6TICIiIjI6DABIiIiIqPDBIiIiIiMDhMgIiIiMjr/D6t34IYQm4bmAAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot = sns.lineplot(x='names', y='Age', data=df)\n",
+ "plot.set_title('Ages of people')\n",
+ "plt.show()"
+ ]
+ },
{
"cell_type": "markdown",
"id": "16d65d0b-34a9-4a98-8550-4cdc0dc66c25",
@@ -51,6 +328,29 @@
"### Pie Chart Matplotlib"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "a8717e44",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZkAAAGbCAYAAAAWbe3FAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABY4klEQVR4nO3deVhUZfsH8O+ZhXXYdxFFBCQUUFSs3M2t3FPbzDWtt/K1zSUtf5W9lVaWlaYtpuaSpZmamuaGKZo7KIrKKrLv+zDr+f1BUSgKA3PmmTlzf66LS5g5c853kJl7nnOeheN5ngchhBAiAAnrAIQQQsSLigwhhBDBUJEhhBAiGCoyhBBCBENFhhBCiGCoyBBCCBEMFRlCCCGCoSJDCCFEMFRkCCGECIaKDCGtkJ+fjwkTJsDDwwMcx2HFihWsI7XKtGnTEBgYyDoGEREqMsQkvvzyS3Ach169erGOYlSvvPIKDhw4gIULF2Ljxo0YPnw460iEmBUZ6wDEOmzevBmBgYE4c+YMUlJSEBwczDqSURw5cgRjxozB3LlzWUchxCxRS4YILj09HSdPnsQnn3wCLy8vbN68mXUkoykoKICrqyvrGISYLSoyRHCbN2+Gm5sbRowYgQkTJty1yBQXF2Py5MlwdnaGq6srpk6dioSEBHAch/Xr1zfY9tq1a5gwYQLc3d1hZ2eHHj16YPfu3Q220Wg0eOeddxASEgI7Ozt4eHigT58+OHjwYJOZ09LSMHHiRLi7u8PBwQH3338/9u7dW3//+vXrwXEceJ7HqlWrwHEcOI676/4yMjLAcRw+/vhjfPrpp2jfvj3s7e3Rv39/JCYm3rF9c55fc3ICQGxsLDiOw48//ohFixbB19cXjo6OGD16NG7dutXk70Kv12PFihXo3Lkz7Ozs4OPjg+eeew6lpaVNPpYQ8IQILCwsjH/mmWd4nuf5P/74gwfAnzlzpsE2Op2Of+CBB3ipVMrPnj2bX7lyJT9kyBA+KiqKB8CvW7euftvExETexcWFDw8P55ctW8avXLmS79evH89xHL9jx4767RYtWsRzHMfPmjWL/+abb/jly5fzTz75JL906dJ75s3Ly+N9fHx4Jycn/o033uA/+eQTPioqipdIJPX7T01N5Tdu3MgD4IcMGcJv3LiR37hx4133mZ6ezgPgIyIi+MDAQH7ZsmX8O++8w7u7u/NeXl58Xl6ewc+vOTl5nuePHj1af+zIyEj+k08+4V9//XXezs6ODw0N5Wtqauq3nTp1Kt++ffsG2WfOnMnLZDJ+1qxZ/Jo1a/gFCxbwjo6OfM+ePXm1Wn3P3yUhVGSIoM6dO8cD4A8ePMjzPM/r9Xq+bdu2/EsvvdRgu59//pkHwK9YsaL+Np1Oxw8aNOiOIvPQQw/xERERfG1tbf1ter2ef/DBB/mQkJD626KiovgRI0YYnPnll1/mAfDHjx+vv62yspLv0KEDHxgYyOt0uvrbAfAvvvhik/v8u8jY29vzWVlZ9befPn2aB8C/8sorBj+/5ub8u8j4+/vzFRUV9dv+9NNPPAD+s88+q7/t9iJz/PhxHgC/efPmBs9n//79jd5OyO3odBkR1ObNm+Hj44OBAwcCADiOw+OPP46tW7dCp9PVb7d//37I5XLMmjWr/jaJRIIXX3yxwf5KSkpw5MgRPPbYY6isrERRURGKiopQXFyMYcOGITk5GdnZ2QAAV1dXXLlyBcnJyQZl3rdvH2JiYtCnT5/62xQKBZ599llkZGTg6tWrBv8e/jZ27Fj4+/vX/xwTE4NevXph3759Bj8/Q3NOmTIFTk5O9T9PmDABfn5+9cduzLZt2+Di4oIhQ4bUZykqKkL37t2hUChw9OjRFv8uiHWgIkMEo9PpsHXrVgwcOBDp6elISUlBSkoKevXqhfz8fBw+fLh+25s3b8LPzw8ODg4N9nF7L7SUlBTwPI/FixfDy8urwddbb70FoO5iPAAsWbIEZWVlCA0NRUREBObNm4dLly41mfvmzZvo1KnTHbffd9999fe3VEhIyB23hYaGIiMjA4Bhz8/QnLcfm+M4BAcH1x+7McnJySgvL4e3t/cdeaqqquqzEHI31IWZCObIkSPIzc3F1q1bsXXr1jvu37x5M4YOHWrQPvV6PQBg7ty5GDZsWKPb/F2Y+vXrh9TUVOzatQu///47vv32W3z66adYs2YNZs6caeCzMQ1Dnp+p8nh7e9+1s4aXl5fJshDLREWGCGbz5s3w9vbGqlWr7rhvx44d+OWXX7BmzRrY29ujffv2OHr0KGpqahq0ZlJSUho8LigoCAAgl8sxePDgJjO4u7tj+vTpmD59OqqqqtCvXz+8/fbb9ywy7du3x/Xr1++4/dq1a/X3t1Rjp+5u3LhRP8rekOdnaM7bj83zPFJSUhAZGXnXY3Ts2BGHDh1C7969YW9vf888hDSK8TUhIlI1NTW8k5MTP2PGjEbvj4uL4wHwW7du5Xme57dv397sC/8DBgzg3d3d+ZycnDv2W1BQUP99UVHRHfdPnDiR9/T0vGf2vy+onzx5sv62qqoqPigoSLAL/y+//LLBz6+5OZu68P/v3/ntF/5jY2N5APzChQvvyKLRaPjS0tImnzuxbtSSIYLYvXs3KisrMXr06Ebvv//+++sHZj7++OMYO3YsYmJi8NprryElJQVhYWHYvXs3SkpKAKDBGJRVq1ahT58+iIiIwKxZsxAUFIT8/HycOnUKWVlZSEhIAACEh4djwIAB6N69O9zd3XHu3Dls374ds2fPvmf2119/HT/88AMefvhhzJkzB+7u7tiwYQPS09Px888/QyJp+aXM4OBg9OnTB88//zxUKhVWrFgBDw8PzJ8/3+DnZ2hOd3d39OnTB9OnT0d+fj5WrFiB4ODgBp0tbte/f38899xz+OCDDxAfH4+hQ4dCLpcjOTkZ27Ztw2effYYJEya0+PdBrADrKkfEadSoUbydnR1fXV19122mTZvGy+Xy+hZHYWEh/9RTT/FOTk68i4sLP23atDtaPH9LTU3lp0yZwvv6+vJyuZz39/fnR44cyW/fvr1+m//97398TEwM7+rqytvb2/NhYWH8e++916yxHampqfyECRN4V1dX3s7Ojo+JieH37Nlzx3YwsCXz0Ucf8cuXL+cDAgJ4W1tbvm/fvnxCQkKjx2/q+TU3598tmR9++IFfuHAh7+3tzdvb2/MjRozgb9682WDbxsbJ8DzPf/3113z37t15e3t73snJiY+IiODnz5/faGuLkH/jeJ7n2ZY5Qu5u586dGDduHE6cOIHevXuzjtNiGRkZ6NChAz766COTz3MWGxuLgQMHYtu2bdTqICZHXZiJ2VAqlQ1+1ul0+OKLL+Ds7Izo6GhGqQghrUHXZIjZ+O9//wulUokHHngAKpUKO3bswMmTJ/H+++9TzyZCLBQVGWI2Bg0ahOXLl2PPnj2ora1FcHAwvvjiiyYv1BNCzBddkyGEECIYuiZDCCFEMFRkCCGECIaKDCGEEMFQkSGEECIYKjKEEEIEQ0WGEEKIYKjIEEIIEQwVGUIIIYKhIkMIIUQwVGQIIYQIhooMIYQQwVCRIYQQIhgqMoQQQgRDRYYQQohgqMgQQggRDBUZQgghgqEiQwghRDBUZAghhAiGigwhhBDBUJEhhBAiGCoyhBBCBENFhhBCiGCoyBBCCBEMFRlCCCGCoSJDCCFEMFRkCCEGi42NBcdxKCsrYx2FmDkqMoQQAMC0adMwduxY1jGIyFCRIYQQIhgqMoSQO6hUKsyZMwfe3t6ws7NDnz59cPbs2Tu2O3/+PHr06AEHBwc8+OCDuH79ev19b7/9Nrp27YqNGzciMDAQLi4ueOKJJ1BZWWnKp0IYoyJDCLnD/Pnz8fPPP2PDhg24cOECgoODMWzYMJSUlDTY7o033sDy5ctx7tw5yGQyzJgxo8H9qamp2LlzJ/bs2YM9e/bg2LFjWLp0qSmfCmGMigwhpIHq6mqsXr0aH330ER5++GGEh4fjm2++gb29PdauXdtg2/feew/9+/dHeHg4Xn/9dZw8eRK1tbX19+v1eqxfvx5dunRB3759MXnyZBw+fNjUT4kwREWGENJAamoqNBoNevfuXX+bXC5HTEwMkpKSGmwbGRlZ/72fnx8AoKCgoP62wMBAODk5Ndjm3/cT8aMiQwhpMblcXv89x3EA6lovjd3/9zb/vp+IHxUZQkgDHTt2hI2NDeLi4upv02g0OHv2LMLDwxkmI5ZIxjoAIcS8ODo64vnnn8e8efPg7u6Odu3a4cMPP0RNTQ2eeeYZ1vGIhaEiQwgBUHeaSyare0tYunQp9Ho9Jk+ejMrKSvTo0QMHDhyAm5sb45TE0nA8z/OsQxBC2Bs+fDiCg4OxcuVK1lGIiNA1GUKsXGlpKfbs2YPY2FgMHjyYdRwiMnS6jBArN2PGDJw9exavvfYaxowZwzoOERk6XUZIY5SlQGUeoCwD1FWAqvKff1VVgPqvf3UagAMADuAkAPfXv+DqvpfIAVsnwM7lti/nv/51BRzcmT5VQoRELRlifXQaoCSt7qs8C6jI+esrG6jMBSpyAU216fLI7ACXtn99BdR9uQY0/FlKL1VimaglQ0RLq9ciozwDyWXJSC5NxqTMq/C4dRYozQD0Wtbxmk9qA3iGAj6dAe9wwKcL4BMOOLdhnYyQJlGRIaKRU5WDS4WXkFCYgEuFl5BUkgSNXlN//1dcGzyY9ifDhEZm7wZ4dwZ8I4B29wPtHgCcfFinIqQBKjLEIun0OlwpvoLz+efri0qhsvCej5mnCMeUy/tNlJAR96C6YvP3l2cw60TEytGJXmIx8qrzEJcdh7icOJzOPY0KdYVBj0+VSwVKZkb+vtYUv7nuZ0dvoP0DQMeHgJChgLMf23zE6lBLphUyMjLQoUMHXLx4EV27dm1y+2nTpqGsrAw7d+4UPBsADBgwAF27dsWKFStMcjxj0+g0OJ13GieyT+Bkzkmkl6e3an9Rzh2xKeGokdJZKJ8IIHQoEPow0LZHXQ84QgRELZl7mDZtGjZs2AAAkMlkaNu2LSZOnIglS5bAzs4OAQEByM3NhaenJ+Ok4qHRaXAq9xQOZBzA0VtHUak23iqKacp8o+3LYuVfrvs6vhxQ+AChw4CwkUDHQYBU3vTjCTEQFZkmDB8+HOvWrYNGo8H58+cxdepUcByHZcuWQSqVwtfXl2k+nueh0+nq55yyRGqdGidzTuL3jN8ReysWlRphluet1FQhz9UfvmXZguzf4lTlAxe+r/ty8AA6jwMiHwcCYlgnIyJC08o0wdbWFr6+vggICMDYsWMxePBgHDx4EEDd6TKO4xAfH1+//ZUrVzBy5Eg4OzvDyckJffv2RWpqaoN9fvzxx/Dz84OHhwdefPFFaDT/9IDauHEjevToAScnJ/j6+uKpp55qsMhTbGwsOI7Db7/9hu7du8PW1hYnTpxAdXU1pkyZAoVCAT8/PyxfvlzYX4wRXCm6giWnlmDAjwPw3yP/xa9pvwpWYP6W6t5W0P1brJpi4Oy3wNohwOfdgNilddd2CGkly/34y0BiYiJOnjyJ9u3bN3p/dnY2+vXrhwEDBuDIkSNwdnZGXFwctNp/xmQcPXoUfn5+OHr0KFJSUvD444+ja9eumDVrFoC6dTveffdddOrUCQUFBXj11Vcxbdo07Nu3r8GxXn/9dXz88ccICgqCm5sb5s2bh2PHjmHXrl3w9vbGokWLcOHChWZdKzKlCnUF9qTuwS8pv+BayTWTHz/V0Q29m97MupWkAbEf1H217QlEPVnXwrFVsE5GLBAVmSbs2bMHCoUCWq0WKpUKEonkrrPUrlq1Ci4uLti6dWv9ioChoaENtnFzc8PKlSshlUoRFhaGESNG4PDhw/VFZsaMGfXbBgUF4fPPP0fPnj1RVVUFheKfF/mSJUswZMgQAEBVVRXWrl2LTZs24aGHHgIAbNiwAW3bms+n9rN5Z/Fz8s84dPMQVDoVsxxW0cPMmLLO1n0dehvoOgmImQV4dGSdilgQKjJNGDhwIFavXo3q6mp8+umnkMlkGD9+fKPbxsfHo2/fvncsOftvnTt3hlT6zxudn58fLl++XP/z+fPn8fbbbyMhIQGlpaX1S9VmZmY2WJWwR48e9d+npqZCrVajV69e9be5u7ujU6dOhj9hI9LoNdiXtg/fX/0eN0pvMM3ytxSdCaeLERNVBXB6NXB6DRA8GOj1XN2/1DuNNIGKTBMcHR0RHFw3oO27775DVFQU1q5d2+gKgfb29k3u715rnldXV2PYsGEYNmwYNm/eDC8vL2RmZmLYsGFQq9V35DJXFeoK/HT9J/yQ9AMKlAVNP8CE0s0sj+XhgZSDdV/uHetaNl0n1U34SUgj6MK/ASQSCRYtWoQ333wTSqXyjvsjIyNx/PjxBhfyDXHt2jUUFxdj6dKl6Nu3L8LCwhpc9L+bjh07Qi6X4/Tp0/W3lZaW4sYN07YesquysfTMUgzZNgSfXfjM7AoM8E8PM2IEJanA/teBFV3qOgooy1gnImaIioyBJk6cCKlUilWrVt1x3+zZs1FRUYEnnngC586dQ3JyMjZu3Ijr1683a9/t2rWDjY0NvvjiC6SlpWH37t149913m3ycQqHAM888g3nz5uHIkSNITEzEtGnTIJGY5r83uyobi+MWY8SOEdictBk12hqTHLelUt0DWEcQl9ryuk4CKyKBo+/XLZNAyF+oyBhIJpNh9uzZ+PDDD1Fd3fD8voeHB44cOYKqqir0798f3bt3xzfffHPPazT/5uXlhfXr12Pbtm0IDw/H0qVL8fHHHzfrsR999BH69u2LUaNGYfDgwejTpw+6d+9u8PMzRH51Pt499S5G/jISO1N2QsfrBD2esaQ4urKOIE6qcuDYsrpic+R/QE0J60TEDNC0MsRgRcoirL28FttubGPaU6ylHnWLwDsX9rKOIX42TkCvZ4HeL9Ut0EasEhUZ0mzVmmp8e/lbbE7aDKX2zmtSliLSuSM2W/scZqbk4AkMXAR0nwZIqAu5taEiQ5rE8zx2pe7CZxc+Q5GyiHWcVlPIHXHqRhLrGNbHOxwY9l7dPGnEalCRIfd0qfASlp5ZistFl5ve2IIcLNXRHGashAyrKzaeIayTEBOgIkMaVVhTiBUXVuDX1F/BQ3x/Imu4NugtplUyLY1EDvR8BhiwELB3ZZ2GCIh6l5EGdHodNlzZgJG/jMTu1N2iLDAAkKJwYx3Buuk1dbMHrOoFXN3NOg0REI34J/Wul1zHWyffwpXiK6yjCC5VRp+vzEJVHvDTZOC+UcAjywEnH9aJiJHRK41ArVPjswuf4Yk9T1hFgQGAVJ15Dxi1Okm/AqtigAsbWSchRkbXZKxcYlEiFsctRkpZCusoJkU9zMxYh/7AqM8A9w6skxAjoCJjpTR6Db6M/xLrEtdZzEh9YztYqodvWRbrGKQxcgdgyJK6CTiJRaPTZVboVuUtTP1tKr69/K3VFhgASKFVMs2XpgbYNxfYOonmQrNwVGSszL60fXjs18dEN+6lJVKph5n5u7YHWN0HuHmSdRLSQlRkrESNpgaL4xZjwfEFqNJUsY5jFqiHmYWoyALWj6xbTkBvvS1vS0WvMitwveQ6Ht/zOHam7GQdxayk0iqZloPX1S0nsGEUUE4zNVgSKjIitytlF57a+xQyKjJYRzE7acp81hGIoW7GAWt6A6lHWCchzUS9y0RKp9fh43MfY1PSJtZRzBr1MLNQnBQY+j/ggRdYJyFNoJaMCJWryvGfQ/+hAtMMKR60SqZF4nXAgYXArhcBrZp1GnIPVGREJqU0BU/ufRJ/5tLkj82R6kiLaVm0i5uADSOBqgLWSchdUJERkcOZhzFp3yTcqrzFOorFSJXRIloW79Zp4OuBQG4C6ySkEVRkRGJz0ma8cvQV1GhpTi5DUA8zkajIAr4bDlzZyToJuQ3NwiwCK86vwNrEtaxjWKTUmjzWEYixaGqA7dPrTp31epZ1GvIXaslYMK1eizdPvEkFphWqtTXIc6XpZUSD1wO/zQMOvcM6CfkLFRkLpdQq8dLRl7ArdRfrKBaPepiJ0IlPcPHgFuj0NEKDNSoyFqistgwzf5+JP7L+YB1FFKiHmfhcCXgK4w674L8/XIBaq2cdx6pRkbEwJbUlmPH7DFwqvMQ6imikUA8zUclsOwojU0YAAPZdzsPM789BqaY5z1ihImNBSmpLMPP3mUguTWYdRVTSqIeZaBT79ceQtMfB81z9bX/cKMS0dWeo0DBCRcZCUIERDvUwE4dK7x4YlPUMVPo739ZOp5dg5vdnUauhQmNqVGQsABUYYVVra5DrRhf/LVmt+30YXvAiyjV3H5URl1KMZzeeh0pLhcaUqMiYOSowpkGrZFoujXN7jKt4Ddm1tk1u+8eNQjy/iToDmBIVGTNWriqnAmMiadTDzCLpHL0xRfM6kqocmv2YI9cK8OKWC9DoqNCYAhUZM6XSqTDnyBwqMCZCPcwsD2/rjP9K3sSpUsM/IBy8mo+Xt8ZDT+NoBEdFxgzp9DrMOzYPFwousI5iNWgOM8vCy+zxluP/YV+hZ4v3sfdyLpbsuWrEVKQxVGTM0P9O/w9Hbx1lHcOqpFEPM4vBS2T43P0NfJ/TptX7Wn8yA1//kWqEVORuqMiYmS/jv8T2G9tZx7A61MPMMvDgsMV3Pj7NDDLaPj/47Rp+Tcgx2v5IQ1RkzMhP13/C6oTVrGNYLephZv5+bzsHb6R1Meo+eR54bVsC/kwrNup+SR0qMmbiZPZJvH/6fdYxrBrNYWbezgVMx3MpvQTZt1qrx7Pfn0NyfqUg+7dmVGTMwM2Km5j7x1zoeBokxhKtkmm+kgMmYkLyEEGPUVGrxbR1Z1FSrRb0ONaGigxj1ZpqzDkyB5Vq+gTFGvUwM0+5/sMwPGWMSY6VXabEi5sv0BIBRkRFhiGe5/H6H68jrTyNdRSCujnMeHBNb0hMptS3NwZnTIaON91b1am0YnywL8lkxxM7KjIMfXHxC8RmxbKOQf5So61Brhtd/DcX1V5dMTTnWVTrTP829e2JdOyKzzb5ccWIigwjBzIO4JvL37COQW6TSj3MzILaNRgjiuagUC1nluH1ny8jKbeC2fHFgooMAzcrbuL/4v6PdQzSiFRHV9YRrJ7WyR8TauYjQ2nHNIdSo8NzG8+jrIY6ArQGFRkT0+g0mHdsHmq0NayjkEakyOiaDEt6ew88o1+ESxUK1lEAAJklNXj1pwTWMSwaFRkT+/TCp0gqoYuK5ipNR8WfFd7GEXNtFuNYsRvrKA0cuVaADSczWMewWFRkTOiPrD+w6eom1jHIPVAPMzZ4qS0+cF6MHfnerKM06v19SbhBAzVbhIqMiRTWFGJx3GLwoP735qyG5jAzOZ6T4Buvhfg6qx3rKHel0uox54eLtKpmC1CRMQE9r8fC4wtRUlvCOgpphhR3f9YRrMovbV7D+xmhrGM06VpeJZb+do11DItDRcYENl7diNN5p1nHIM2URj3MTOZYwPN4NbUb6xjNtv5kBmKvF7COYVGoyAgsvTwdX1z8gnUMYoAUGb0sTOFyu6cxNbkv6xgG4Xlg7rZL1K3ZAPRqEpCe12Nx3GKodCrWUYgBUnVVrCOIXkbbMRid/DDrGC1SVKXCu3uoh2hzUZERUNav2yDLpqa1pUmryaceZgIqbDMIw9Imguct93f884UsnEguYh3DInA8z1N3JwGos7KQNmo0wPNIGhuJJYHx0HJ61rFIMx0oA9qUZrKOIToVPjHonT0blVoZ6yit1s7dAb+/0g92cloi4l6oJSOQvLfeBq9Ugq+tRdjWM9i8KwC9a6lrrKWgVTKNT+nRGcPyXxBFgQHqZgP49OAN1jHMHhUZAZTv2oXquLgGt3FJqXhpZRaWJUfDlqdPPuYu1dGZdQRR0bh0wJiyV5Fba8M6ilF9eyIdidnlrGOYNSoyRqarqkb+Rx83fqdGgw7bz2DjNl8Mrulg2mDEILRKpvHoHH0wSbUAN6rtWUcxOp2ex4KfL9EiZ/dARcbIilZ/CV1RExcEU2/i2ZVp+PRqNyh4cX2yEwvqYWYcejtXvCh5E2fKxNsyvJJTgS1n6Prd3VCRMSL1zZso/X5j8zbW6eC/6yzWbXHD6KoQYYMRg9EcZq3Hyx3wpv1i7C/0YB1FcJ8evIGKWg3rGGaJiowR5S9dBl5j2B8an5mNp1dew6r4rnDTi+90gqVSapXIoTnMWoyXyPGJ2xvYkuvHOopJlFSr8cXhZNYxzBIVGSOpOhGHqqNHW/ZgnofXb+fw9fcOeLw8zLjBSIvRKpktw4PDRp8F+CLTuq47bjh5ExlF1axjmB0qMkbAa7XIX/pB6/eTm4/xXybi67NR8NY7GiEZaY1URxfWESzSb21fxv+lh7OOYXJqnR7v76OZAG5HRcYISrf+CHVKqtH253roPL5cK8OM4i5G2ycxHK2SabjTATPxQkpP1jGY+f1qPk6lFrOOYVaoyLSSXqlE0Zo1xt9vUTGGfx2PdXFd0E7navT9k6al6ejUhyGuBzyOx5MHsY7B3P/2XoWxJ1IpLCzE888/j3bt2sHW1ha+vr4YNmwY4v4aj8dxHHbu3GnUYxqLOIbeMlS6ZUvTXZZbwfGPeCy/7IrYRyOwyvuyYMchd/q7hxlHC801KavtI3gkZRTrGGbhSk4FDlzJw/Auxuv0MH78eKjVamzYsAFBQUHIz8/H4cOHUVxs/q0masm0gr66GsXfrhX8OHxpGfqvvYiNR+9DiEb83UHNhVKrRI479TBrSolfXwxJfxI6nt5O/rbiULLRWjNlZWU4fvw4li1bhoEDB6J9+/aIiYnBwoULMXr0aAQGBgIAxo0bB47j6n8GgF27diE6Ohp2dnYICgrCO++8A61WCwB46qmn8Pjjjzc4lkajgaenJ77//nsAgF6vxwcffIAOHTrA3t4eUVFR2L59u0H56a+iFUo2bYautNRkx7P98zLe/6oa83K7muyY1i7VjXqY3UuVVzcMyZ4JpY5mSPi3a3mV2J+YZ5R9KRQKKBQK7Ny5EyrVncuGnD17FgCwbt065Obm1v98/PhxTJkyBS+99BKuXr2Kr776CuvXr8d7770HAJg0aRJ+/fVXVFX9M/D4wIEDqKmpwbhx4wAAH3zwAb7//nusWbMGV65cwSuvvIKnn34ax44da3Z+moW5hXRVVUh9aDB05WzmLdJGh+ODgWW4bENLCQjpVafOmH7pN9YxzJLKLRRDyl5HptKOdRSzFObrhN9e6guOa30Hkp9//hmzZs2CUqlEdHQ0+vfvjyeeeAKRkZEA6q7J/PLLLxg7dmz9YwYPHoyHHnoICxcurL9t06ZNmD9/PnJycqDVauHn54dPPvkEkydPBlDXutHr9di6dStUKhXc3d1x6NAhPPDAA/X7mDlzJmpqarBly5ZmZaeWTAuVbNjArMAAgOzCVfzfl6VYfCsaUhqZLhhaJbNxWqe2mFA1jwrMPVzLq8RvRmrNjB8/Hjk5Odi9ezeGDx+O2NhYREdHY/369Xd9TEJCApYsWVLfElIoFJg1axZyc3NRU1MDmUyGxx57DJs3bwYAVFdXY9euXZg0aRIAICUlBTU1NRgyZEiDfXz//fdITW1+b1pqybSArrISKQ8Nhr6ignUUAIC+SyiWD63FWdsc1lFEp7NzB2xNaP6pAWugd/DEFLyLEyU0jqgpxmzN3G7mzJk4ePAgbt682WhLxt7eHu+88w4effTROx4bFBQEiUSCkydPon///sjOzsbBgwfx0ksvITc3F3K5HKdPn8b999+P2NhY+Pv7N3i8ra0tAgKad72Sepe1QNmPP5pNgQEASeINzE+2xfWx0VjSIQFqTsc6kmikUQ+zBnhbJ7wifxMn8qnANMe1vEqj9zT7W3h4eH23ZblcDp2u4es+Ojoa169fR3Bw8F338eCDDyIgIAA//vgjfvvtN0ycOBFyubx+/7a2tsjMzET//v1bnJOKjIF4rRYlmzazjnEHXqVC6I9nsLFTEL58mMMx+5usI4nC3z3M/Etoll1eaot3FW9iV7Y36ygW5Zvj6a0qMsXFxZg4cSJmzJiByMhIODk54dy5c/jwww8xZswYAEBgYCAOHz6M3r17w9bWFm5ubvi///s/jBw5Eu3atcOECRMgkUiQkJCAxMRE/O9//6vf/1NPPYU1a9bgxo0bOPqvqbGcnJwwd+5cvPLKK9Dr9ejTpw/Ky8sRFxcHZ2dnTJ06tVn56XSZgcr37kXOa3NZx7g3mQw3R0djcegl1HJa1mks3ipJW/RLPck6BlM8J8Vq7//DhzdpxvCW2PHCg4hu59aix6pUKrz99tv4/fffkZqaCo1Gg4CAAEycOBGLFi2Cvb09fv31V7z66qvIyMiAv78/MjIyANT1FluyZAkuXrwIuVyOsLAwzJw5E7Nmzarff1JSEsLDw9G+fXukp6c3OLXH8zw+//xzrF69GmlpaXB1dUV0dDQWLVqEfv36NSs/FRkDpT/2OGovXWIdo3mC2uG7kfbY72i8KW+s0StOnTHDynuY/eS/APNTo1jHsFiPRPjiy0ndWcdggrrOGKDmwkXLKTAAkJaJGSuT8VliNzjpbVmnsVipVt7D7EjAi1RgWunAlXxklylZx2DCul89BirZsIF1BMPp9fD79Sy+2+yCRytDWaexSNa8SmZ8wBTMSO7NOobF0+l5bDxlnddJqcg0kzorG5WHDrGO0WJ8Vg6eWJWE1Re6wkPvwDqORUmz0lUy09qOw9jk4axjiMaPZzNRq7G+np9UZJqp7McfAZ2F/4HwPDwOnMOa9XaYVHYf6zQWQ6lVItvK5jDLbzMYw9ImsI4hKqU1GuxOsL6xbFRkmoHX6VC+axfrGEbD5xdgzOrL+PZMJPx0TqzjWIQ0K5rDrNznfgzKnAqN3vpab0Lbfi6LdQSToyLTDNVxcdAWiG+OMOfDF/D5Wg6ziiNYRzF7KVaySqbSswuG5D2Pai1NeCmEMxklVrdEMxWZZijb8QvrCILhi0sw5OuLWH+8MwK1rqzjmK1UK1glU+0ahJElr6BAJWcdRdS2n7eu1gwVmSboyspQdeQI6xiCcziRgI++VmNOPnVVbUyqyFfJ1Cn88IRyAVJr7FlHEb0dF7Kg11vP8EQqMk0o37MXvFrNOoZJ8OUV6PPdeWw6HIYwjSfrOGZFzD3M9HZueJZ/AxfK6fqcKeSU1yIuVbjVdM0NFZkmlO/YwTqCydmcScS7ayqxILsbOOv5wHVPYu1hxssdsdB+MQ4Xu7OOYlW2WVEHACoy91B74wZqr15lHYMJvqoa3b8/i837Q9BV7cs6jlkQ2yqZvNQGH7q+gR9z6f/X1A5cyUNlrYZ1DJOgInMPlfsPsI7AnCw+CW98WYS3btLiaKki6mHGcxKs816A1bcCWUexSiqtHkeuia/HamOoyNyDJY/wNyZeWYvOW85g8+5APFArrk/zhhDTHGa/+r+CJek0IJelA1eMs2qmuRPPq8bI1DdvQnXjBusYZkVyJRmvrMzGBynRsOGtbxxFiraSdQSjOBnwLOakWOeMwOYk9nqhVUwzQ0XmLqgVcxcaDTpuO4NNP7fBQGUg6zQmla7Mt/geZlcDnsRTyQNYxyAAatQ6/HGjkHUMwVGRuYvK3w+yjmDektPx/MoMLL8WDQe9dQzes/QeZrfajsCIlJGsY5B/2W8Fp8yoyDRCk18ApSWtG8OKVouAX85gw48eGFF193XExSTVQotMsV9/DE1/Ajxv2S0xsTmcVACtTs86hqCoyDSi6shhgBYMbTY+IwtTV93AF5e6wUVvxzqOoFIcnFlHMFiVd3cMznoGSp31XUczd+VKDf5MK2EdQ1BUZBpRefQo6wiWR6+Hz96z+HajAhMrOrFOI5g0C+thVusehuEFs1GqkbGOQu7i2A1xd2W2rFeMCfAaDWrOnWcdw2LxOXmYuOoKvjofBW+dgnUco7OkHmZa53YYVzEXWbW09LY5O5FSzDqCoKjI3EZ56RL4mhrWMSye2+/nsWq9DFNKO7OOYlTpFjKHmd7BC5M1C5FURaugmrtreRUorlKxjiEYKjK3qf7zT9YRRIMvKMLINQlYeyoC/jrLu5bRGKWuFllmfvGft3XGHOlinCoVzwwFYsbzwMlU8bZmqMjcpubP06wjiI5T7EWs+JbHf4rEsThamhkXGV5mj7cc/w97CmkWbUsSlyLeWZmpyPyLvrYWyvh41jFEiS8pxaBvLmLDsXB01Fr2jL/m2sOMl8iw0mMRvs9pwzoKMdAJKjLWoeb8efAa65gZlRX7k5ewdI0Sr+Z1ZR2lxcxxlUweHH7wnYflNzuyjkJaIKtUicxicV4LpiLzL3SqzDT4ykrcv+4cNh/shM5qb9ZxDJaqrWId4Q4H2/4Xi9LEcTrSWv2ZLs7rMlRk/qXm4gXWEayK/NwVvL26DItuWdbiaObWw+x8wHQ8m3I/6xiklS5llbGOIAgqMn/h9XqoriaxjmF1+JoadN10Flv2dUR3tR/rOM2i1NUiy6Md6xgAgJSA8RifPIR1DGIECbfKWUcQBBWZv6jT0qCn8THMSC9dx+urCrEkPRoy3vz/LM1hlcw8/6EYljKOdQxiJNfyKqDSim/qf/N/NZtI7ZUrrCNYPb62FmFbz2DzrgD0rjXfbsIAkMq4h1mZ74N4KGMKdBZQkEnzaHQ8ruZUsI5hdBb1F8pxHHbu3CnIvpWJVGTMBZeUipdWZmFZcjRszXRxNJarZNZ4RmFIznOo1lnUy5c0Q8KtMtYRjM7gv9LCwkI8//zzaNeuHWxtbeHr64thw4YhLi5OiHwmU5uYyDoC+TeNBh22n8HGbb4YXNOBdZo7sJrDTO0ajJElL6FQbR1r+FibS1niuy5j8NSs48ePh1qtxoYNGxAUFIT8/HwcPnwYxcUt636n0+nAcRwkEnafynidDrXXrjE7PrmH1Jt4dqUUI0d2x5v3JaKKU7NOBADI+KuHGQfTdYvTOvnjsZr5SKsR93IK1ixBhD3MDHpnLysrw/Hjx7Fs2TIMHDgQ7du3R0xMDBYuXIjRo0cDAD755BNERETA0dERAQEBeOGFF1BV9c+4gvXr18PV1RW7d+9GeHg4bG1tkZmZibNnz2LIkCHw9PSEi4sL+vfvjwsX7uxSXFRUhHHjxsHBwQEhISHYvXt3K38FdRf9eaWy1fshAtHp0GbXGazb4obRVSGs0wAwfQ8zvb0HZuoWIb5CfDNbk3/cLK6BWiuuRcwMKjIKhQIKhQI7d+6EStX4rKESiQSff/45rly5gg0bNuDIkSOYP39+g21qamqwbNkyfPvtt7hy5Qq8vb1RWVmJqVOn4sSJE/jzzz8REhKCRx55BJWVDU9LvPPOO3jsscdw6dIlPPLII5g0aRJKSlq36E/t9RutejwxDT4zG0+vvIZV8V3hprdnHQepbqbpnMDbOGKezZuILXEzyfEIO1o9j5vF1axjGBXH84YtAfnzzz9j1qxZUCqViI6ORv/+/fHEE08gMjKy0e23b9+O//znPygqqpubZ/369Zg+fTri4+MRFRV11+Po9Xq4urpiy5YtGDmybl1yjuPw5ptv4t133wUAVFdXQ6FQ4LfffsPw4cMNeRoNFH7+BYq+/LLFjyemx/n5YPs4L/zowu4050tOnTHz0m+CHoOX2uADtyX4Oss8xuUQ4a15OhrDu1jGmLHmMPhCyPjx45GTk4Pdu3dj+PDhiI2NRXR0NNavXw8AOHToEB566CH4+/vDyckJkydPRnFxMWr+NQbFxsbmjqKUn5+PWbNmISQkBC4uLnB2dkZVVRUyMzMbbPfvxzk6OsLZ2RkFBa1bWU6dkd6qxxPT43PzMf7LRHx9NgreekcmGYReJZPnJPjWayEVGCuTWiiulkyLXiV2dnYYMmQIFi9ejJMnT2LatGl46623kJGRgZEjRyIyMhI///wzzp8/j1WrVgEA1Op/Ltja29uD4xpOyzF16lTEx8fjs88+w8mTJxEfHw8PD48GjwMAubxhrxqO46DXt+4cpio9o1WPJ+y4HjqPL9fKMKO4i8mPLXQPs1/avIb3MsS7lDVpXGqB+c2N1xpG+SgWHh6O6upqnD9/Hnq9HsuXL8f999+P0NBQ5OTkNGsfcXFxmDNnDh555BF07twZtra29afYhKa5edMkxyHC0BcVY/jX8VgX1wXtdK4mO256TS70nDCtmT8Cnserqd0E2Tcxb6mFVlxkiouLMWjQIGzatAmXLl1Ceno6tm3bhg8//BBjxoxBcHAwNBoNvvjiC6SlpWHjxo1Ys2ZNs/YdEhKCjRs3IikpCadPn8akSZNgby/8xV1tURFNJyMSjn/EY/k3WrxYYJrZiGt1KmQLsIDZ5YBJmJLc1+j7JZYhzZpPlykUCvTq1Quffvop+vXrhy5dumDx4sWYNWsWVq5ciaioKHzyySdYtmwZunTpgs2bN+ODDz5o1r7Xrl2L0tJSREdHY/LkyZgzZw68vYWfBl6deUvwYxDT4UvL0H/tRWw8eh9CNB6CH8/YPcxuth2N0SmPGHWfxLJUqrQormq8964lMrh3mdiU79qFnAWvs45BBMA5KXBmfBg+8osX7BgvOXfBzIR9RtlXYZuB6JPxDFR6mi7G2u2b0xfhbcxzBVZDWf1fsyYvn3UEIhC+sgo915/DlgOhiBBocbRUI02tVuHdE4NvTacCQwAA+RW1rCMYjdX/RWuLxbu2Nqkju3AV//dlKRbfiobUyIuNGWOVzFqPcAwreBHlGoNneSIilUdFRjx0ReJc8pQ0xCuViNh0Bpt/7YAYlb/R9tvaHmYal0CMLnsNubU2RstELB+1ZERE28KJPYllkiTewLyVuXgvLRo2RlhGoK6HWcsGS+ocfTBJ9TpuVLOfIoeYFyoyIkKny6wPr1Yj5Mcz2PiLP/or27d6fyluhreMeFsXvCh5E2fKxHFxlxhXfoV4epdZfZGh02XWi7uehhdX3sRH16Nhx7f8ekiqo4tB2/Mye7zpsBj7C4XvYk0sU145tWREgddqoSsX3yJBxABaLdrvOIPvf/LG8OqOLdqFIT3MeIkMK9zfwObcNi06FrEOFbUa1hGMxqqLjLa4BLDuYULkb2mZmLEyGZ8ldoOT3tagh6Y2cw4zHhw2+SzAZ5lBLUlIrEiVSss6gtFYdZHRV7FZQpeYKb0efr+exXebXfBoZWizH5Zek9esHmb7276ExemdW5OQWIlqKjLioK8Vz3lPYjx8Vg6eWJWE1Re6wkPv0OT2zelhdibgGTyfEmOsiETkNDoeKq2OdQyjsOoiw99ldU9CwPPwOHAOa9bbYVLZfU1unuLe9q73XQ94DI8lP2TMdMQKVKuoyFg8vVLJOgIxc3x+Acasvoxvz0TCT+d01+1SHRq/L9v/YTySMlqoeETExHLKzKqLDLVkSHM5H76Az9dymFXc+DICqdI7p6sp8e2DoRmToOOt+mVGWqiyloqMxePpmgwxAF9cgiFfX8T6450RqHVtcN/tPcyqvbpiSM4sVOus+iVGWkGpoSJj8fS11JIhhnM4kYCPvlZjTn5U/W3/7mGmcgvFw0VzUKyW320XhDRJ17pV5c2GVRcZXkUtGdIyfHkF+nx3HpsOhyFM44lanQpZ7u2gdWqLCVXzkKm0Yx2RWDi9SMbwWfXc4la+XhsxApsziXj3iiPOje+Ka0FqvJk5GpcrHVnHIiKg14vj/cmqiwwnteqnT4yAl0ihvK8v2qj6QFbMY4k0EPBinYqIgatEHO9P4ngWLcTJrPrpkxbSu3iiKmYUir2ikFtuj9pqLbhCPXQ3v4Zv91lwyKZTZaT17MTRkLHyIiO36qdPDKDp2BXlkcNQYBuIgkIeeg0P5ABAXQ8gV+8y5CbVYN+p1ZjQYx5QII6eQYQdjjPuKq6sWPe7rNRIC7QT0dHLbFDbYzhKAx9AnsoD5aUaoBQAGu/yI5NmAgB0OjUOJq/H0DbTwFdToSGtIJJuWVZdZDgZdTEl/9C7+6IyZjSK3Dsjt9QWaqUOyAOApqddL8+/Wv99SUk2LnkdR4TkQUAkF28JAxJqyVg8TkYtGWunCotBRefByJe1Q2GhDnwt/joN1vx5oxSuShSl5zW47er1P+B3fzA886kXAGkZiZ043p7F8SxaiC78Wx/exg41MSNREtATeUo3VJZpgGLAkKJyOwen7EZvP/zndxjfewFkOS3eNbFiEltxfAi26ndZiSONZ7AGWp/2qOwxEkUuYcgrlkGj0gO5QHNOgzWHsuLGXe/be2E1xt43B3ypeFY6JKbBUUvG8kldXVlHIAKpjeiL8k4DkS/xR1GhFqhG3dddLty3lI2dFsW3ku+eQ1mBuPxf0FsxGrxaJPOEEOFJqCUjClIXF9YRiJHo7RWo6TUKJX7dkVvthOoKLVAE/N3FWCjOnoWoyL33qbZb2VeQ1jUEHdSdBM1CxIOzEc9bs3ieSQtQS8ayaduGoKLbCBQqQpBfJIFW8/dpMNN1HeY1ac3a7kz8Tnj3ngPHHHuBExExkNiJoxUDWHmR4eRySBwcoK+pYR2FNAPPcVB1fQilIX2Rr/dFSZEWqETdl5FPgzULx6Po1pVmb/7bn19iQo8FNFCTNImKjIhIXV2pyJgxvcIV1b1Go9inK3IrHKGs0gIFgClbK3fj5l2O3GtVzd5ep9Pi4I11GOo/nQZqknsSy0V/gIoMJK4uQA71MTUnmsDOqIh6GAUOQcgvAPS6hlO4mAu5/JbBjykpzUGC1x+IlPSmgZrkrqRONqwjGI3VFxmZqyto6TK2eKkMtd2HorTDg8jTeqGsWAuUAyg37zfhioKkFj0u6cZxtLm/IzzzfYyciIiF1MWWdQSjoSLjTS90FnRu3qjuOQpFnpHILbOFqkYH5APm1lq5G0cXJYozslr8+MN/rqeBmuSupK5UZERD3rYt6whWQx0SjfKIoSiwaY/CAh56NW/wFC7mwtE5t26igFaggZrkbqglIyJyf3/WEURLb2OL2h4Po6RdL+SpPFBRqgFKACY9wYxMVXX3AZjNVTdQcwd6K8bQQE3SgIxaMuJh05aKjDHpPP1R1XMUitzCkVtiA3Vt82cythQyuQ5FmdeNsq9b2Vf/GqgZZpT9EXGg02UiQqfLWk993/0oC38IBbIAFBbowCsBKAFLPA3WHK7eRagy4liXM/G74N27PQ3UJHWkHCQK8SxDYvVFRubjA8jlgEY8n7SFxtva181k3LYncmtcUFWubfVMxpaE16UbfZ80UJP8TepiK5pVMQEqMuAkEsj9/KDJzGQdxaxp/QJR2X0kipzDkFskhVZt+ilczAEPHiVZzR/l31z1AzXbTgdfZV2/U9KQzN2OdQSjsvoiA9Rdl6Ei0xDPcVBH9ENZpwHI59rUzWRchbovEVy4bylXr0rk3ygXZN91AzWPIVLShwZqWjG5jwPrCEZFRQaATcdgVJ88xToGc3pHZ9TEjEKxbzRyqxSoqdQChYC1tVbuxdbW8FH+hki6cQJ+9wfDiwZqWi25r7jWuaIiA8CuUyjrCMxo2nVCRddHUOQYjLwiCXQMZjK2JJXF1wQ/xpE/1+PR3vMhzxHPeXnSfDJqyYiPbSfr6T7KS6RQdR1UN5OxzqduJuMK1H1Z8Wmw5rB3UqE086ZJjrXvwhoaqGmNOEDuQy0Z0bENDQGkUkAnzt5Reid3VPcajSLvKOSWO6C2WmtRU7iYCyfXXJSa6NJdrbICJ/J3oA8N1LQqUldb0ayI+TcqMgAktrawad8e6rTmLUBlCTRBkSiPHIZCuyDkF/LQa81zJmNLoq5JNenxsrKvIjWqI4LU4SY9LmFHbK0YgIpMPbuwThZdZPQyG6iih6A06EHkqr1QXqIBygA6BWYcUpkORZktm3W5Nc4m/Aqf3oFwzBHXeXrSOLFd9AeoyNSz7RQG7PuNdQyD6Nx9UNVzNIo9uiC31BYqpfimcDEXbt4lyCpUMzn2b3+uxoSeC4B8aoWKndxPfB8mqMj8xS6sE+sIzaIO7YHyLkNQIG+PgkIdeBUsdiZji8JnMDu0TqfFgWvfYXjADBqoKXI27Z1ZRzA6KjJ/sY+KAjgO4M1rEBxvYwdlz79mMq51/9dMxlRUTKk0x/ij/A1RVpaLeK9YREn7Ajrz+hslxiF1sYXMVVyj/QEqMvWkrq6wDQ6GKrn1U7i3ls6rLSp7/DWTcbEMGtXfY1foNBgLzp6VKEguYR0D15Lj0KZXMLwKfFlHIQKwCRRfKwagItOAfY/uzIqMqnNvlN83CPkSfxQV/nsmY7pwz5qdfTbrCPWOnN5AAzVFylaEp8oAKjINOHTvgbIftprkWHo7R9T0GomSNj2QW+2M6gotUATQaTDzU10i/Ch/Q+w7/yXGdn4ZfAm1bMVEjNdjACoyDTj07CHo/rVtglAZPRKFzp2QVySx2pmMLYmtowbF2caf2r81amurcDzvZ/RVjKWBmiLB2Uoh9xNf92WAikwDch8fyNu2hSYryyj74zkOqqgBKAvpj3z4obiIZjK2NM7ueSjPMr8L7dnZSUiNCqaBmiJh084JnEScp0CpyNzGoUcPlLeiyOgVLqiOGYUS32jkVjiipopmMrZk2lrTjvI3xNmEX+HdOxAKGqhp8cR6PQagInMHh549Ub5zp0GP0bYLQ3m3R1DoEIz8QkBHU7iIgkSqR1HmVdYx7um3U19iQswCcPl0Lc+S2XVyZx1BMFRkbuPYp0+T2/ASKWqjh6CsYx/kab1QWqwFygGUm99pFdJyrt6lyCmqZR3jnvR6HX6/to4GalowiUIOeVsF6xiCoSJzG7mPN2zDwqC61rBHkd7FE1Uxo1DsFYXccnuaydgKSCWmmda/tcrKcnHR8yi6SvvRQE0LZBfqBo4T5/UYgIpMoxT9+kF17Ro0HbuiPHIYCmwDUVDIQ6+h02DWpCzXvE+V/dv1lJNo0ysE3jRQ0+LYhYn3VBlARaZR8kfG43xhD5SXaoBSgHqCWR+FWzWK0gpYxzDI0dMb8Gif+ZBni/dTsehIONiFurFOISgJ6wDmyDU0AGpqrFg1ByfzGeVviH3nvgTnLmcdgzSTTXtnSOzE/VmfikwjOAmH9hGerGMQhmrKbrCO0CK1tVU4nrsdnC29tC2BvchPlQFUZO4qKIqKjLWysdOi+FYK6xgtlp1zDam2iaxjkGawCxP3qTKAisxdBdznDpkN/XqskYtnPni9ZV+HO5vwK6raVLOOQe5B7usgyuWWb0fvonchs5GiQ5QX6xiEAZ3Gcpfh/rffTq0G7yNlHYPchX1Xb9YRTIKKzD10up+6g1objuNRdJPtAmXGUjdQ8ztwCnFfWLZIHODQ1To+xFKRuYeA+9zh4GLDOgYxITfvUqiVNaxjGE1ZWR4uKI8AUurWbE5s2juLchXMxlCRuQeJhENoTx/WMYgJSWW3WEcwuhspp5DvnsM6BvkXh27WcaoMoCLTpLAH/FhHICZUXmA5o/wNEXvme2jaWHZnBtGQcnCwoiESVGSa4OGvgIeIJ68j/3B0VaKiIJd1DMHsPU8DNc2BXagbJA7W8/9ARaYZwqgDgFVwdBL3KSVVbTWO526jgZqMWdOpMoCKTLOExviKdtU68o/aSssc5W+I7JzrSLa5BNCfMxMSJznsO3uwjmFSVGSawcHZBu27WNcfhrWR2+pQlJnMOoZJnL+0F5V+NFCTBccYP3BS63rbta5n2wqRA9uyjkAE5OJZCL3OemZF3X9qNXhfGqhpUhIOil7Wd+qdikwzBdznDvc24p8CwlrxOnGM8m8uvV6H35NooKYp2Xf2gNTZlnUMk6MiY4CoQQGsIxBB8Ci+JY5R/oaoG6h5mAZqmojigTasIzBBRcYAob18YO9kPV0PrYWrdwVqqypZx2DiRsqfyPewzLVzLInc1wG2QS6sYzBBRcYAMrkUnfv6s45BjMzGJpN1BKZiT2+kgZoCc7TSVgxARcZgXfr7QyKj0wtiUlF4jXUE5migpnAkDjKrGxvzb1RkDOToYovg7tb7ByM2Ds61KMsT33xlhvpnoCb1ODM2xYNtILGx3t8rFZkW6PpQO9YRiJEoXMQ7jYyh6gZqJtBATSPibKVQPGi9p8oAKjIt4tXOCe0jaHCmGKiqLXeZZSHUDdSsYh1DNBx7+VnVPGWNoSLTQr1GBdEnPgsnletQlEnXY263/9QaGqhpBJxcAifqKERFpqW82jkhyEpWthMrN69i6DQa1jHMjl6vw4Gra8E50UDN1nDs5Qepk+kWPeQ4Djt37gQAZGRkgOM4xMfHm+z4d0NFphViRnUAR60Zy8Wns05gtsrL83GhmgZqthQnl8Cpf+umopo2bRrGjh3boscGBAQgNzcXXbp0aVUGY6Ai0woebRQI7kErZ1oiHjxKsqxvlL8hbqT+iTx3GqjZEqZuxdxOKpXC19cXMhn71igVmVaKGdkBEloGwOK4elWipqKMdQyzd+zMRqj9aaCmITg7KZwGGncKqsDAQKxYsaLBbV27dsXbb7/d6PaNnS5LTEzEww8/DIVCAR8fH0yePBlFRUVGzdkYKjKt5OrjgE60qJnFsbXLYh3BYuw7RwM1DeE8sB2kjub1+yorK8OgQYPQrVs3nDt3Dvv370d+fj4ee+wxwY9NRcYIeowIpFkALExV8XXWESyGqrYaf+T8RAM1m0HqbgdFb/MbF7Ny5Up069YN77//PsLCwtCtWzd89913OHr0KG7cEHaxPioyRuDsYY8oIzePiXDsHFUoyaaL/obIyb2BGzbx1G2/CS7DA8HJzO9tNSEhAUePHoVCoaj/CgsLAwCkpqYKemz2V4VEoseIQNw4m4/qMhXrKKQJzu75KKOzZQa7cGkffHt3gFOOgnUUs2TT3hkOkcIMa5BIJOB5vsFtGgO631dVVWHUqFFYtmzZHff5+fm1Ot+9mF/JtVA2djL0Hh/MOgZpBrWSRvm3FA3UvAsOcB0ZJNjuvby8kJv7zxRIFRUVSE9vfms8OjoaV65cQWBgIIKDgxt8OToKuxgjFRkjCunpA/9QV9YxyD1IZHoU3UxiHcNi0UDNxtlHesEmwEmw/Q8aNAgbN27E8ePHcfnyZUydOhVSafOL/YsvvoiSkhI8+eSTOHv2LFJTU3HgwAFMnz4dOp1OsNwAFRmj6/tEKHVpNmNu3iXQqumUZmuUl+fjfPUhGqj5F85GCpeHOxh9v3q9vn6cy8KFC9G/f3+MHDkSI0aMwNixY9GxY8dm76tNmzaIi4uDTqfD0KFDERERgZdffhmurq6QSIQtAxx/+4k+0montiUj4TBNH2+OvNqcw60rf7COIQr9Y56GbyHNzeU6KgiK3sb/PQwfPhzBwcFYuXKl0fdtStSSEUDMyA5wcGY32pfcXUnOVdYRROPYmU1WP1DTpp2T0Ve9LC0txZ49exAbG4vBgwcbdd8sUJERgI29DA9SJwCz4+xehepS4Uc4W5O9Z1aB8zCvgYcmI+XgNj4EnJFPj8+YMQP/+c9/8Nprr2HMmDFG3TcLdLpMQHtXJSDjcjHrGOQv3gHXkXlpL+sYouPnG4L+bhPB1wp7AdncOA0KgMvQQNYxzB61ZAQ04Okw2DpSLxxzUV1Ka8cIITcvGddlF61qoKbMyx7Og2iF3OagIiMgRxdb9H+yE+sYBICtgxolWTTKXygXL/9mPStqcqg7TWaGI/vNEf2WBBbSwwfBPbxZx7B6zu4F4HnrvkgttN9OrobeCgZqKh5oA9tAF9YxLAYVGRPo/2QnOLhQbzOWtCph52ciAM/r8fuVb0U9UFPu6yDImBgxoyJjAnaOcgx8Oox1DKvFSfUoyqSuy6ZQXlEg2oGanFwC9yfDwMnpbdMQ9NsykcAIT4T3FnYiOtI4N69SaGqVrGNYjeTU08hzF99gZJcRHSD3EXaeLzGiImNCvSeGwNXHgXUMqyOVZrKOYHWOndkMtb94ujTbhXtAcb/5rRNjCajImJCNnQzDn+0CmQ392k2pLI9OlbGw98yXohioKXW2gdv4ENYxLBa925mYh7+Crs+YkMKtBpVF+axjWCW1ugaxWVvB2VlwjzMOcHu8k9ktp2xJqMgwEBrji4gBbVnHsAoOihzWEaxaXl4KrksvWOxATefB7WHX0ZV1DItGRYaR3hOD4RvkzDqG6CnLr7OOYPUuJu5HhW8F6xgGs4/whNMgWla9tajIMCKVSjBsVgTsnagZLhQbOy2KbiWzjkEA7D/1lUUN1JT7OsJtYig4zkKbYGaEigxDCjdbDJ3ZxeizuJI6Lp4F4PU0yt8c8Lwe+698YxEDNSUOMnhMCYfExnKKojmjIsNY205ueGBc81e4I82n16SxjkD+pbKiEOerDgIyM/5QJeHgPuk+yNztWCcRDSoyZqDbkHbo0o9WGDQmjuNRdIu6Lpub5LQzyHU133FLriM60IV+I6MiYyb6PhGKwEhP1jFEw9W7DKpqK5kV2ML8cXYLVGY4UNOxp68gyyhbOyoyZkIi4TB0Zmf4dKAeZ8Ygk5vvp2UC7DOzgZp2Ye5wHUur2QqBiowZkdtIMeKFSLh42bOOYvEq8pNYRyD3YE4DNW3aO8NjUhg4EU7qaQ6oyJgZeycbjPxvFHVtbgUHl1qUF9AgTHOXl5eC6zK2AzVlPg7wnBoOTs6+2IkVFRkz5OrtgBEvRNEcZy2kcM5mHYE008XL+1Hux2agptTVFl4zukDiQB/ohETvYmbKp4Mzhs3sAgk14Q1WW0kDMC3JgZNfQe9r2rciiaMMns90gdTF1qTHtUZUZMxYYKQnhs7sDAkN1mw2mY0ORZk3WMcgBqgbqPktOGfTDNTkbKTwnNYFci9adsMUqMiYuY7dvDF4RjjNCtBMrl6F0Ou0rGMQA1VWFOJcxe+CD9TkbKXwnNEZNgFOgh6H/IOKjAUI6eGDh6beB5pGqRl06awTkBZKST+LHNebgu2fs5PC85kusA10EewY5E5UZCxEp16+1KJpEo/irCusQ5BWOH72B6j8jd8S5exl8JoZAdt2NA7N1KjIWJDQnr4Y+gxdo7kbV68KKCstb0p50tC+018Cnsbr8SVxqCswNm3pFBkLVGQsTHB3bwybRb3OGmNje4t1BGIEao0SxzJ/MMpATYmjHJ6zImHjrzBCMtISVGQsUFA3L4ycHQUbMxgtbU4qi66xjkCMJC8/Fdek51s1UFPiJIfXsxGw8XM0XjBiMCoyAuA4Djt37hT0GAH3uWPc3Gg4utgIehxLYe9Ui9Jcmq9MTOITD6C8hStqyrwd4P1CV8h9qMCwJtoiM23aNHAcB47jIJfL0aFDB8yfPx+1tbWsoxmNZ1snjF/QA+5t6IXk5JrHOgIRwIFThg/UtA1ygffzUZC50Zow5kC0RQYAhg8fjtzcXKSlpeHTTz/FV199hbfeeot1LKNycrfDo3Oj0SbElXUUplTVKawjEAHwvB77E79p9kBN+65e8JzRBRJ781+B01qIusjY2trC19cXAQEBGDt2LAYPHoyDBw8CAIqLi/Hkk0/C398fDg4OiIiIwA8//NDg8QMGDMCcOXMwf/58uLu7w9fXF2+//XaDbZKTk9GvXz/Y2dkhPDy8fv9/GzRoEGbPnt3gtsLCQtjY2ODw4cPGeZ4Ocoye0xUhPbyNsj9LI5XrUJRJ12PEqrKyCGcrDjQ5UNNpQADcH+8ETibqtzWLYzX/G4mJiTh58iRsbOquYdTW1qJ79+7Yu3cvEhMT8eyzz2Ly5Mk4c+ZMg8dt2LABjo6OOH36ND788EMsWbKkvpDo9Xo8+uijsLGxwenTp7FmzRosWLCgweNnzpyJLVu2QKVS1d+2adMm+Pv7Y9CgQUZ7flK5BEOe6YyuQ9oZbZ+WwtWrBDqNmnUMIqDU9HN3H6gpAVzHBcNleCA4GrFsdkRdZPbs2QOFQgE7OztERESgoKAA8+bNAwD4+/tj7ty56Nq1K4KCgvDf//4Xw4cPx08//dRgH5GRkXjrrbcQEhKCKVOmoEePHvUtkEOHDuHatWv4/vvvERUVhX79+uH9999v8PhHH30UALBr167629avX19/zciYOI5D7/HBGDTlPkjlov6vbYDjaZS/NWhsoCZnL4PntC5Q9PJjlIo0RdTvRAMHDkR8fDxOnz6NqVOnYvr06Rg/fjwAQKfT4d1330VERATc3d2hUChw4MABZGY27KEUGRnZ4Gc/Pz8UFBQAAJKSkhAQEIA2bdrU3//AAw802N7Ozg6TJ0/Gd999BwC4cOECEhMTMW3aNGM/3Xr3PeiH8fO6w9lT/Bc+efAoybnKOgYxkbqBmnXXW+S+jvCZ3RV2oW6MU5F7EXWRcXR0RHBwMKKiovDdd9/h9OnTWLt2LQDgo48+wmeffYYFCxbg6NGjiI+Px7Bhw6BWNzztIpc3HHnMcRz0er1BOWbOnImDBw8iKysL69atw6BBg9C+ffvWPbkmeLVzwsSFPdE+wkPQ47Dm6lmFmrIS1jGIiag1SsTe3Aq77p7weiEKMg9aRdbcibrI/JtEIsGiRYvw5ptvQqlUIi4uDmPGjMHTTz+NqKgoBAUF4cYNw6aIv++++3Dr1i3k5ubW3/bnn3/esV1ERAR69OiBb775Blu2bMGMGTNa/Xyaw85RjhEvRCJmVAfRTq5pa5/FOgIxIalMhs4jh8Bz4n2Q2NBgZEtgNUUGACZOnAipVIpVq1YhJCQEBw8exMmTJ5GUlITnnnsO+fn5Bu1v8ODBCA0NxdSpU5GQkIDjx4/jjTfeaHTbmTNnYunSpeB5HuPGjTPG02kWjuPQc0QHjJwdBTtH8a0AWF1ynXUEYiLOXt544p0P0W3YSNZRiAGsqsjIZDLMnj0bH374IV577TVER0dj2LBhGDBgAHx9fTF27FiD9ieRSPDLL79AqVQiJiYGM2fOxHvvvdfotk8++SRkMhmefPJJ2NmZ/lpJu84emLioB3w6iGcWWjtHNYqz6aK/NejY435MXvo5fINDWUchBuJ4nudZh7AGGRkZ6NixI86ePYvo6GhmOfR6Hhf2Z+Ds3gzodZb9X+8VkIlbl7azjkEEZGPvgIHTnkWXAYNZRyEtREVGYBqNBsXFxZg7dy7S09MRFxfHOhIAoDCzEofWX0VJTjXrKC3m5nkUuckXWccgAgnoHInhL7wMZ0/rHGQsFlRkBBYbG4uBAwciNDQU27dvR0REBOtI9XQaPU7/mob4g5mwtL8CiVQPTeUaaFTimYuO1JHJbdDnyamIfmQ0Da4UASoyBLkpZTi0IQkVhUrWUZrNo00Rsq98zzoGMTKfoBA8/OKr8GgbwDoKMRIqMgQAoFHpcHJHChL/yAYs4C/Cq8153LpyjHUMYiQyuQ1ixk1Er7GPQSKlrsliQkWGNJCXXo4/friBwsxK1lHuScZtRFVJIesYxAg6dOuBQdOeg6svTQ0jRlRkyB14PY8rJ3Lw565UqKq1TT/AxJzcq1CY+jXrGKSVnL18MHDqLAT3vJ91FCIgKjLkrmqrNPhzVyqunsgxq44B3gE3kHlpD+sYpIWkcjl6jnoUMeMeg9zGlnUcIjAqMqRJBTcr8MfWG8hPb9lSuMamcPoVRZnJrGOQFgiMisag6c/Bzc+fdRRiIlRkSLPwPI9rp3Jx5td0VJWqmn6AQGzsNajMXQWeN2ySUsKWd2BH9H7iaQR168k6CjExKjLEIDqNHonHs3Fh/03UVJh+oTCvttm4dflHkx+XtIxbm7bo/dgkhN7fh8a8WCkqMqRFNGodLh/NwsXfM1FbrTHZcd29/0DO9XMmOx5pGSdPLzww4Ul07v8QJBLqkmzNqMiQVlHXapFw+BbiD92CWilsTzROooeu5muolTWCHoe0nIOLK3qNnYjIIY9AJhffrN/EcFRkiFHUVmsQfygTiceyoaoRpti4+ZYgN2m9IPsmrePi7YPoR8YgYuBQyBnMMk7MFxUZYlTqWi2uncrDpaO3UF5g3GlqvPzjcSvxiFH3SVrHNzgUPUY+ipBeD9BpMdIoKjJEEDzPI+NyMRIO30L29VKj7NNGtgUVhXlG2RdpOY6TIKh7DHqMGoe2YZ1ZxyFmjooMEVxxdhUSDt/CjbP50Gla1vVY4apEUfpqIycjhpDb2SO87wB0HzGWxrmQZqMiQ0xGWanG1bgcXP8zD6V5hl289w5IQeal3QIlI/fiH9YZXQYOQaf7+9D1FmIwKjKEifyMClz/Mw/J5/JRW9V0F2gnl30ozLhmgmQEABTuHujc/yF0HjAYbr5tWMchFoyKDGFKp9MjM7EY1//MQ/rlIui1d/452thpUVWwCnqdjkFC6yGT2yCoewy6DByCwMhu4CQS1pGICFCRIWajtlqDlPMFSL1QgJwbZdDr6/40PdvmIuvyD4zTiZOtoyOCuvVEcMwD6BDVnU6HEaOjIkPMkqpGg5uJxUhPKEJF/h5kXj7BOpJoKNzc0bHH/QiOeQAB4RGQymSsIxERoyJDzJ5Oq0X2tatIjz+HjPjzKLp1k3UkiyKRyuDTMRjtOkeiY/de8A0OpXnEiMlQkSEWp7KkCFlJV5Bz/Sqyr11FUeZNmpX5X/4uKgHhEQgIj4B/p3A6DUaYoSJDLJ6qpho5N64h+9pVZF+/gryUZGjV7JYjMDVbB0d4d+gIv5BOVFSI2aEiQ0RHp9WiOCsTRbduoigzo+7fWzdRWVTIOlqrKdw94NUuEJ7tO8A7MAg+QcFw9fGj01/EbFGRIVZDVVOD4qy6glN8KxPlhQWoLC5EVUkxairKYQ5rTHOcBAp3Dzh7ecPF2wfOXj5w8faBq7cvPNsFwk6hYB2REINQkSEEgFajQVVJMSqLC1FZXITK4iJUl5ZAVVMNtVIJda0SGqUSKmVN/fdqpfLOa0EcB47jIJFIwHESQMJBbmsHO0cF7BwVsFX89e9fP9s5OsJO4QQnDy+4ePvAydOLensRUaEiQ0gr6LRacH8VFhq8SMidqMgQQggRDH30IoQQIhgqMoQQQgRDRYYQQohgqMgQQggRDBUZQqzQgAED8PLLLzdr29jYWHAch7KyMkEzrV+/Hq6uroIeg5geFRlCRGLatGngOA7/+c9/7rjvxRdfBMdxmDZtGgBgx44dePfdd02ckFgjKjKEiEhAQAC2bt0KpVJZf1ttbS22bNmCdu3a1d/m7u4OJycnFhGJlaEiQ4iIREdHIyAgADt27Ki/bceOHWjXrh26detWf9vtp8tUKhUWLFiAgIAA2NraIjg4GGvXrm2w7/Pnz6NHjx5wcHDAgw8+iOvXr9ffl5qaijFjxsDHxwcKhQI9e/bEoUOHGjxepVJh7ty58Pf3h6OjI3r16oXY2Fjj/gKI2aEiQ4jIzJgxA+vWrav/+bvvvsP06dPv+ZgpU6bghx9+wOeff46kpCR89dVXUNw2T9obb7yB5cuX49y5c5DJZJgxY0b9fVVVVXjkkUdw+PBhXLx4EcOHD8eoUaOQmZlZv83s2bNx6tQpbN26FZcuXcLEiRMxfPhwJCcnG+mZE7PEE0JEYerUqfyYMWP4goIC3tbWls/IyOAzMjJ4Ozs7vrCwkB8zZgw/depUnud5vn///vxLL73E8zzPX79+nQfAHzx4sNH9Hj16lAfAHzp0qP62vXv38gB4pVJ51zydO3fmv/jiC57nef7mzZu8VCrls7OzG2zz0EMP8QsXLuR5nufXrVvHu7i4tPDZE3NFM/ERIjJeXl4YMWIE1q9fD57nMWLECHh6et51+/j4eEilUvTv3/+e+42MjKz/3s/PDwBQUFCAdu3aoaqqCm+//Tb27t2L3NxcaLVaKJXK+pbM5cuXodPpEBoa2mCfKpUKHh4eLX2qxAJQkSFEhGbMmIHZs2cDAFatWnXPbe3t7Zu1T7lcXv/93+vX6PV1s1DPnTsXBw8exMcff4zg4GDY29tjwoQJUKvVAOpOp0mlUpw/fx5SqbTBfm8/LUfEhYoMISI0fPhwqNVqcByHYcOG3XPbiIgI6PV6HDt2DIMHD27R8eLi4jBt2jSMGzcOQF1RycjIqL+/W7du0Ol0KCgoQN++fVt0DGKZ6MI/ISIklUqRlJSEq1ev3tFyuF1gYCCmTp2KGTNmYOfOnUhPT0dsbCx++umnZh8vJCQEO3bsQHx8PBISEvDUU0/Vt3IAIDQ0FJMmTcKUKVOwY8cOpKen48yZM/jggw+wd+/eFj9PYv6oyBAiUs7OznB2dm7WtqtXr8aECRPwwgsvICwsDLNmzUJ1dXWzj/XJJ5/Azc0NDz74IEaNGoVhw4YhOjq6wTbr1q3DlClT8Nprr6FTp04YO3Yszp4922D8DhEfWk+GEEKIYKglQwghRDBUZAghhAiGigwhhBDBUJEhhBAiGCoyhBBCBENFhhBCiGCoyBBCCBEMFRlCCCGCoSJDCCFEMFRkCCGECIaKDCGEEMFQkSGEECIYKjKEEEIEQ0WGEEKIYKjIEEIIEQwVGUIIIYKhIkMIIUQwVGQIIYQIhooMIYQQwVCRIYQQIhgqMoQQQgRDRYYQQohgqMgQQggRDBUZQgghgqEiQwghRDBUZAghhAiGigwhhBDBUJEhhBAiGCoyhBBCBPP/umAG2Z5eQKEAAAAASUVORK5CYII=",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plt.pie(df['Age'], labels=df['names'])\n",
+ "plt.title('Ages of people')\n",
+ "plt.show()"
+ ]
+ },
{
"cell_type": "markdown",
"id": "4be3dfcc-1d4a-4b7e-bc57-427280da980e",
@@ -58,6 +358,38 @@
"source": [
"### Pie Chart Seaborn"
]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "id": "a6044896",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZkAAAGbCAYAAAAWbe3FAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABS9ElEQVR4nO3dd3wUdf4/8Ndsye4muymbTkghhGIg9KJIFyQKCAhYD4gIdxbOu/ta7vTufpYr9nIqX72vp8Ihylk4QFCRqhikS28hJNTUTdlsts7M5/fHQiQQSDbZ2dmdfT8fjzyAzezMe5Owr3w+8ykcY4yBEEIIkYBK7gIIIYQoF4UMIYQQyVDIEEIIkQyFDCGEEMlQyBBCCJEMhQwhhBDJUMgQQgiRDIUMIYQQyVDIEEIIkQyFDCEdUFFRgRkzZiA+Ph4cx+GNN96Qu6QOKSgoQFZWltxlEAWhkCEB8b//+7/gOA5Dhw6VuxS/+t3vfoe1a9fiySefxJIlS5Cfny93SYQEFY3cBZDwsHTpUmRlZWHHjh04ceIEcnJy5C7JLzZu3IgpU6bgsccek7sUQoIStWSI5EpKSrB161a89tprSExMxNKlS+UuyW8qKysRGxsrdxmEBC0KGSK5pUuXIi4uDhMnTsSMGTOuGjIWiwWzZs1CdHQ0YmNjMWfOHOzbtw8cx2HRokXNjj169ChmzJgBs9kMvV6PQYMGYdWqVc2O8Xg8ePbZZ9GtWzfo9XrEx8dj+PDhWLduXas1nzx5EjNnzoTZbEZkZCSuv/56rFmzpunzixYtAsdxYIxh4cKF4DgOHMdd9XylpaXgOA6vvPIKXn/9dWRmZsJgMGDUqFE4ePDgFce35fW1pU4A2Lx5MziOw3/+8x889dRTSElJQVRUFG677TacOXOm1a+FKIp444030KtXL+j1eiQnJ+NXv/oVamtrW30uIWCESKxnz57s/vvvZ4wx9v333zMAbMeOHc2OEQSB3XDDDUytVrMFCxawt99+m40fP5717duXAWAffvhh07EHDx5kMTExLDc3l7344ovs7bffZiNHjmQcx7Hly5c3HffUU08xjuPY/Pnz2XvvvcdeffVVdvfdd7MXXnjhmvWWl5ez5ORkZjKZ2B//+Ef22muvsb59+zKVStV0/uLiYrZkyRIGgI0fP54tWbKELVmy5KrnLCkpYQBYXl4ey8rKYi+++CJ79tlnmdlsZomJiay8vNzn19eWOhljbNOmTU3X7tOnD3vttdfYH/7wB6bX61n37t2Z3W5vOnbOnDksMzOzWe3z5s1jGo2GzZ8/n7377rvs97//PYuKimKDBw9mbrf7ml9LQihkiKR27drFALB169YxxhgTRZF17tyZ/eY3v2l23BdffMEAsDfeeKPpMUEQ2NixY68ImZtuuonl5eUxp9PZ9JgoimzYsGGsW7duTY/17duXTZw40eeaf/vb3zIAbMuWLU2PNTQ0sC5durCsrCwmCELT4wDYww8/3Oo5L4aMwWBgZ8+ebXp8+/btDAD73e9+5/Pra2udF0MmLS2NWa3WpmM//fRTBoD94x//aHrs8pDZsmULA8CWLl3a7PV88803LT5OyOWou4xIaunSpUhOTsaYMWMAABzH4c4778SyZcsgCELTcd988w20Wi3mz5/f9JhKpcLDDz/c7Hw1NTXYuHEj7rjjDjQ0NKC6uhrV1dWwWCyYMGECioqKcO7cOQBAbGwsDh06hKKiIp9q/uqrrzBkyBAMHz686TGj0Yhf/vKXKC0txeHDh33+Olw0depUpKWlNf17yJAhGDp0KL766iufX5+vdc6ePRsmk6np3zNmzEBqamrTtVvy2WefISYmBuPHj2+qpbq6GgMHDoTRaMSmTZva/bUg4YFChkhGEAQsW7YMY8aMQUlJCU6cOIETJ05g6NChqKiowIYNG5qOPXXqFFJTUxEZGdnsHJePQjtx4gQYY/jzn/+MxMTEZh9PP/00AO/NeAB47rnnUFdXh+7duyMvLw+PP/449u/f32rdp06dQo8ePa54/Lrrrmv6fHt169btise6d++O0tJSAL69Pl/rvPzaHMchJyen6dotKSoqQn19PZKSkq6ox2azNdVCyNXQEGYimY0bN6KsrAzLli3DsmXLrvj80qVLcfPNN/t0TlEUAQCPPfYYJkyY0OIxF4Np5MiRKC4uxsqVK/Htt9/iX//6F15//XW8++67mDdvno+vJjB8eX2BqicpKemqgzUSExMDVgsJTRQyRDJLly5FUlISFi5ceMXnli9fjv/+97949913YTAYkJmZiU2bNsFutzdrzZw4caLZ87KzswEAWq0W48aNa7UGs9mM++67D/fddx9sNhtGjhyJZ5555pohk5mZiWPHjl3x+NGjR5s+314tdd0dP368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pamzIn8rh37dUvBFei3cQbLvc82FEWaBbGeJumh8Y7odDWLobTdA2sbSqLxhzD69s9fV1WHLli148cUXMWbMGGRmZmLIkCF48skncdtttwEAXnvtNeTl5SEqKgrp6el46KGHYLPZms6xaNEixMbGYtWqVcjNzYVOp8Pp06exc+dOjB8/HgkJCYiJicGoUaOwZ8+eK2qorq7GtGnTEBkZiW7dumHVqlUd/BIAqK+nRTGDGMcYUo+X4cEdWvS1Bcd6XIEeYca0kdgUdzssYvC16oj/WF1McTf/fQoZo9EIo9GIFStWwOVytXxClQpvvvkmDh06hMWLF2Pjxo144oknmh1jt9vx4osv4l//+hcOHTqEpKQkNDQ0YM6cOfjhhx+wbds2dOvWDbfeeisaGhqaPffZZ5/FHXfcgf379+PWW2/Fvffei5qOtkJqqRUTCtQNDRi7tQqziuMRGQSbowVqhBlTR6AwYRrOCcExbJpIhzGgwaWskOEY820W3BdffIH58+fD4XBgwIABGDVqFO666y706dOnxeM///xzPPDAA6i+cGN90aJFuO+++7B371707dv3qtcRRRGxsbH4+OOPMWnSJG+xHIc//elP+Mtf/gIAaGxshNFoxNdff438/HxfXkZzP+0G9v3U/ueTgBOjIlGYZ8TO6DrZahjujMaQIwckvQbj1NidcjsO8+mSXocEj1E5OmSalbMXk883QqZPn47z589j1apVyM/Px+bNmzFgwAAsWrQIALB+/XrcdNNNSEtLg8lkwqxZs2CxWGC325vOERERcUUoVVRUYP78+ejWrRtiYmIQHR0Nm82G06eb71J56fOioqIQHR2NysoOLmpZX9+x55OAUzXaMWJbJe47boaJl2fXR6lHmDFwOJwykQImzFgVtoZZu+626/V6jB8/Hn/+85+xdetWFBQU4Omnn0ZpaSkmTZqEPn364IsvvsDu3buxcOFCAIDb7W56vsFgAHfZ+P45c+Zg7969+Mc//oGtW7di7969iI+Pb/Y8ANBqm7+hcBwHsaOLWlopZEJVXGk57v9RxI21ge9KknqE2cnU8djN50h6DRJ86h3K6i7zy5Cu3NxcNDY2Yvfu3RBFEa+++iquv/56dO/eHefPt21/lsLCQjzyyCO49dZb0atXL+h0uqYuNslZrYG5DpGEyuHA0J3lmHckFnEB3BzNO8JM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9SRYaWTOOEKInyUmJmLixIlYtGgRGGOYOHEiEhISrnr83r17oVarMWrUqGuet0+fPk1/T01NBQBUVlYiIyMDNpsNzzzzDNasWYOysjLwPA+Hw9HUkjlw4AAEQUD37t2bndPlciE+Pr69L5WEAAoZQhRo7ty5WLBgAQBg4cKF1zzWYDC06Zxarbbp7xcXAxVF7+5wjz32GNatW4dXXnkFOTk5MBgMmDFjBtxuNwBvd5parcbu3buhVqubnffybjmiLBQyhChQfn4+3G43OI7DhAkTrnlsXl4eRFHEd999h3HjxrXreoWFhSgoKMC0adMAeEOltLS06fP9+/eHIAiorKzEiBEj2nUNEproxj8hCqRWq3HkyBEcPnz4ipbD5bKysjBnzhzMnTsXK1asQElJCTZv3oxPP/20zdfr1q0bli9fjr1792Lfvn245557mlo5ANC9e3fce++9mD17NpYvX46SkhLs2LEDzz//PNasWdPu10mCH4UMIQoVHR2N6OjoNh37zjvvYMaMGXjooYfQs2dPzJ8/H42NjW2+1muvvYa4uDgMGzYMkydPxoQJEzBgwIBmx3z44YeYPXs2Hn30UfTo0QNTp07Fzp07m83fIcpD+8kQQgiRDLVkCCGESIZChhBCiGQoZAghhEiGQoYQQohkKGQIIYRIhkKGEEKIZChkCCGESIZChhBCiGQoZAghhEiGQoYQQohkKGQIIYRIhkKGEEKIZChkCCGESIZChhBCiGQoZAghhEiGQoYQQohkKGQIIYRIhkKGEEKIZChkCCGESIZChhBCiGQoZAghhEiGQoYQQohkKGQIIYRIhkKGEEKIZChkCCGESIZChhBCiGQoZAghhEiGQoYQQohkKGQIIYRI5v8DhuaKfXCMI94AAAAASUVORK5CYII=",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "colors = sns.color_palette('pastel')[0:5]\n",
+ "plt.pie(df['Age'], labels=df['names'], colors=colors)\n",
+ "plt.title('Ages of people')\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "df8b316d",
+ "metadata": {},
+ "outputs": [],
+ "source": []
}
],
"metadata": {
@@ -76,7 +408,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.8.8"
+ "version": "3.12.2"
}
},
"nbformat": 4,