{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "HPbhfm8BemdN" }, "source": [ "# Cronometer: Guide to data extraction and analysis" ] }, { "cell_type": "markdown", "metadata": { "id": "NXqYLOxNeoX_" }, "source": [ " " ] }, { "cell_type": "markdown", "metadata": { "id": "-0QR03kueqpK" }, "source": [ "A picture of the Cronometer Mobile Application\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "2ZZHXApgesVP" }, "source": [ "Do you know that DIET stands for Did I Eat That?

\n", "Jokes aside, in this notebook we will be doing just that. We will connect to the Cronometer API to analyze the participants nutritional and exercise habits." ] }, { "cell_type": "markdown", "metadata": { "id": "tBNVIh27et3L" }, "source": [ "Cronometer is often regarded as the “[best nutrition app for Android and iOS](https://www.makeuseof.com/cronometer-health-app-android-ios/).” It lets you track your meals, count calories, identify gaps in your diet, and check your health metrics. It is also compatible with popular fitness devices like Fitbit, Strava, Withings, Garmin, Polar, Qardio and Oura.
\n", "\n", "Cronometer follows a fremium model offering a digital service accessible through its mobile applications (iOS and Android). Users also have an option to upgrade and unlock more advanced features like Custom Goals, Training Plans, Race Analysis, etc for a monthly fee of $8.99.
\n", "\n", "We've been using the cronometer application for the past few weeks and we will show you how to extract its data, visualize the participants data and compute correlations between multiple metrics. Cronometer does not have a public API, so we would reversed engineered the cornometer api within wearipedia in order to extract servings, daily-nutrition, exercises, notes, and biometrics.
\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "id": "bnb9q2Qiev_f" }, "source": [ "We will be able to extract the following parameters:\n", "\n", "Parameter Name | Sampling Frequency \n", "-------------------|-----------------\n", "Body Measurements | Per Entry \n", "Blood Pressure | Per Entry / Day \n", "Heart Rate | Per Entry / Day\n", "Oxygen Saturation | Per Entry / Day \n", "VO2 Max | Per Entry / Day\n", "Pulse Wave Velocity | Per Entry / Day\n", "Labs/ Test Results | Per Entry / Day\n", "Mood | Per Entry / Day\n", "Sleep | Per Entry / Day\n", "Food Nutrition Breakdown | Per Serving\n", "Exercise Minutes | Per Exercise Entry\n", "Exercise Calories Burned | Per Exercise Entry\n", "Daily Nutrition Breakdown | Per Day" ] }, { "cell_type": "markdown", "metadata": { "id": "tAzDNzYjeyY4" }, "source": [ "In this guide, we sequentially cover the following **nine** topics to extract data from Cronometer servers:\n", "\n", "1. **Set up**
\n", "2. **Authentication/Authorization**
\n", " - Requires only username and password, no OAuth.
\n", "3. **Data extraction**
\n", " - We get data via wearipedia in a couple lines of code
\n", "4. **Data Exporting**\n", " - We export all of this data to file formats compatible by R, Excel, and MatLab.\n", "5. **Adherence**\n", " - We simulate non-adherence by dynamically removing datapoints from our simulated data.\n", "6. **Visualization**\n", " - We create a simple plot to visualize our data.\n", "7. **Advanced visualization**\n", " - 7.1 Plotting the participants weight!
\n", " - 7.2 Plotting participants Workout Minutes!
\n", " - 7.3 Calorie Consumption Breakdown!
\n", "8. **Data Analysis**
\n", " - 8.1 Analyzing correlation between Protein Content and Vitamin B content in food items!
\n", "9. **Outlier Detection**
\n", " - 9.1 Highlighting Outliers!\n", "\n", "Disclaimer: this notebook is purely for educational purposes. All of the data currently stored in this notebook is purely *synthetic*, meaning randomly generated according to rules we created. Despite this, the end-to-end data extraction pipeline has been tested on our own data, meaning that if you enter your own email and password on your own Colab instance, you can visualize your own *real* data. That being said, we were unable to thoroughly test the timezone functionality, though, since we only have one account, so beware." ] }, { "cell_type": "markdown", "metadata": { "id": "NilGl0FGe0gr" }, "source": [ "# 1. Setup\n", "\n", "## Participant Setup\n", "\n", "Dear Participant,\n", "\n", "Once you download the cronometer app, please set it up by following these resources:\n", "- Written guide: https://support.cronometer.com/hc/en-us/articles/360021677792-Mobile-Quick-Start-Guide\n", "- Video guide: https://www.youtube.com/watch?v=XyeXp_wo0to&ab_channel=Cronometer\n", "\n", "Make sure that your phone is logged to the cronometer app using the Cronometer login credentials (email and password) given to you by the data receiver.\n", "\n", "Best,\n", "\n", "Wearipedia\n", "\n", "## Data Receiver Setup\n", "\n", "Please follow the below steps:\n", "\n", "1. Create an email address for the participant, for example `foo@email.com`.\n", "2. Create a Cronometer account with the email `foo@email.com` and some random password.\n", "3. Keep `foo@email.com` and password stored somewhere safe.\n", "4. Request the participant to download the app and instruct them to follow the participant setup letter above.\n", "5. Install the `wearipedia` Python package to easily extract data from this app via the Cronometer API.\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "JTwt3g0SeiiN", "outputId": "65f6683e-9dcb-40f8-e4e2-e9afa6bdf353" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", "Collecting git+https://SaarthShah:****@github.com/SaarthShah/wearipedia.git\n", " Cloning https://SaarthShah:****@github.com/SaarthShah/wearipedia.git to /tmp/pip-req-build-u404yupq\n", " Running command git clone --filter=blob:none --quiet 'https://SaarthShah:****@github.com/SaarthShah/wearipedia.git' /tmp/pip-req-build-u404yupq\n", " Resolved https://SaarthShah:****@github.com/SaarthShah/wearipedia.git to commit b2f01ee96743f78da3cf6afff53e2e1a6b422567\n", " Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n", " Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n", " Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", "Collecting garminconnect<0.2.0,>=0.1.48\n", " Downloading garminconnect-0.1.53.tar.gz (17 kB)\n", " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", "Requirement already satisfied: pandas<2.0,>=1.1 in /usr/local/lib/python3.8/dist-packages (from wearipedia==0.1.0) (1.3.5)\n", "Requirement already satisfied: tqdm<5.0.0,>=4.64.1 in /usr/local/lib/python3.8/dist-packages (from wearipedia==0.1.0) (4.64.1)\n", "Collecting beautifulsoup4<5.0.0,>=4.11.1\n", " Downloading beautifulsoup4-4.11.2-py3-none-any.whl (129 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m129.4/129.4 KB\u001b[0m \u001b[31m6.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: scipy<2.0,>=1.6 in /usr/local/lib/python3.8/dist-packages (from wearipedia==0.1.0) (1.7.3)\n", "Collecting polyline<2.0.0,>=1.4.0\n", " Downloading polyline-1.4.0-py2.py3-none-any.whl (4.4 kB)\n", "Collecting typer[all]<0.7.0,>=0.6.1\n", " Downloading typer-0.6.1-py3-none-any.whl (38 kB)\n", "Collecting myfitnesspal<3.0.0,>=2.0.1\n", " Downloading myfitnesspal-2.0.1-py3-none-any.whl (29 kB)\n", "Collecting rich<13.0.0,>=12.6.0\n", " Downloading rich-12.6.0-py3-none-any.whl (237 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m237.5/237.5 KB\u001b[0m \u001b[31m23.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting wget<4.0,>=3.2\n", " Downloading wget-3.2.zip (10 kB)\n", " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", "Collecting soupsieve>1.2\n", " Downloading soupsieve-2.4-py3-none-any.whl (37 kB)\n", "Requirement already satisfied: requests in /usr/local/lib/python3.8/dist-packages (from garminconnect<0.2.0,>=0.1.48->wearipedia==0.1.0) (2.25.1)\n", "Collecting cloudscraper\n", " Downloading cloudscraper-1.2.68-py2.py3-none-any.whl (98 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m98.6/98.6 KB\u001b[0m \u001b[31m10.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: python-dateutil<3,>=2.4 in /usr/local/lib/python3.8/dist-packages (from myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.0) (2.8.2)\n", "Requirement already satisfied: lxml<5,>=4.2.5 in /usr/local/lib/python3.8/dist-packages (from myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.0) (4.9.2)\n", "Collecting blessed<2.0,>=1.8.5\n", " Downloading blessed-1.20.0-py2.py3-none-any.whl (58 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.4/58.4 KB\u001b[0m \u001b[31m7.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting measurement<4.0,>=3.2.0\n", " Downloading measurement-3.2.2-py3-none-any.whl (17 kB)\n", "Collecting browser-cookie3<1,>=0.16.1\n", " Downloading browser_cookie3-0.17.0-py3-none-any.whl (13 kB)\n", "Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.8/dist-packages (from pandas<2.0,>=1.1->wearipedia==0.1.0) (2022.7.1)\n", "Requirement already satisfied: numpy>=1.17.3 in /usr/local/lib/python3.8/dist-packages (from pandas<2.0,>=1.1->wearipedia==0.1.0) (1.21.6)\n", "Requirement already satisfied: six>=1.8.0 in /usr/local/lib/python3.8/dist-packages (from polyline<2.0.0,>=1.4.0->wearipedia==0.1.0) (1.15.0)\n", "Requirement already satisfied: typing-extensions<5.0,>=4.0.0 in /usr/local/lib/python3.8/dist-packages (from rich<13.0.0,>=12.6.0->wearipedia==0.1.0) (4.4.0)\n", "Collecting commonmark<0.10.0,>=0.9.0\n", " Downloading commonmark-0.9.1-py2.py3-none-any.whl (51 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m51.1/51.1 KB\u001b[0m \u001b[31m5.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: pygments<3.0.0,>=2.6.0 in /usr/local/lib/python3.8/dist-packages (from rich<13.0.0,>=12.6.0->wearipedia==0.1.0) (2.6.1)\n", "Requirement already satisfied: click<9.0.0,>=7.1.1 in /usr/local/lib/python3.8/dist-packages (from typer[all]<0.7.0,>=0.6.1->wearipedia==0.1.0) (7.1.2)\n", "Collecting shellingham<2.0.0,>=1.3.0\n", " Downloading shellingham-1.5.0.post1-py2.py3-none-any.whl (9.4 kB)\n", "Collecting colorama<0.5.0,>=0.4.3\n", " Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", "Requirement already satisfied: wcwidth>=0.1.4 in /usr/local/lib/python3.8/dist-packages (from blessed<2.0,>=1.8.5->myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.0) (0.2.6)\n", "Collecting pycryptodomex\n", " Downloading pycryptodomex-3.17-cp35-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.1/2.1 MB\u001b[0m \u001b[31m57.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting lz4\n", " Downloading lz4-4.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.3/1.3 MB\u001b[0m \u001b[31m75.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: sympy in /usr/local/lib/python3.8/dist-packages (from measurement<4.0,>=3.2.0->myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.0) (1.7.1)\n", "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.8/dist-packages (from requests->garminconnect<0.2.0,>=0.1.48->wearipedia==0.1.0) (2022.12.7)\n", "Requirement already satisfied: chardet<5,>=3.0.2 in /usr/local/lib/python3.8/dist-packages (from requests->garminconnect<0.2.0,>=0.1.48->wearipedia==0.1.0) (4.0.0)\n", "Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.8/dist-packages (from requests->garminconnect<0.2.0,>=0.1.48->wearipedia==0.1.0) (2.10)\n", "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /usr/local/lib/python3.8/dist-packages (from requests->garminconnect<0.2.0,>=0.1.48->wearipedia==0.1.0) (1.24.3)\n", "Requirement already satisfied: pyparsing>=2.4.7 in /usr/local/lib/python3.8/dist-packages (from cloudscraper->garminconnect<0.2.0,>=0.1.48->wearipedia==0.1.0) (3.0.9)\n", "Collecting requests-toolbelt>=0.9.1\n", " Downloading requests_toolbelt-0.10.1-py2.py3-none-any.whl (54 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m54.5/54.5 KB\u001b[0m \u001b[31m7.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.8/dist-packages (from sympy->measurement<4.0,>=3.2.0->myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.0) (1.2.1)\n", "Building wheels for collected packages: wearipedia, garminconnect, wget\n", " Building wheel for wearipedia (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for wearipedia: filename=wearipedia-0.1.0-py3-none-any.whl size=86901 sha256=3b40e2188eda7cc704951bc7fa3944a9b92c879e7c13e8967b1c0bb239a0bdfa\n", " Stored in directory: /tmp/pip-ephem-wheel-cache-5558qoev/wheels/90/0c/6b/58c50ebec3c57b5a167fc60f6382f970412510e67ed0768a03\n", " Building wheel for garminconnect (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for garminconnect: filename=garminconnect-0.1.53-py3-none-any.whl size=13498 sha256=c214e5fc637746d033c956873cc71c64840d482d0507b2e55aa0f223a1e239f4\n", " Stored in directory: /root/.cache/pip/wheels/9e/0a/ed/06a245135409c4720383c237b7e98906880834704edb4fc3e7\n", " Building wheel for wget (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for wget: filename=wget-3.2-py3-none-any.whl size=9674 sha256=2644e86b3c8f4a04251d7fd87453ace2c2e367cb3745844e799eb15e106763f3\n", " Stored in directory: /root/.cache/pip/wheels/bd/a8/c3/3cf2c14a1837a4e04bd98631724e81f33f462d86a1d895fae0\n", "Successfully built wearipedia garminconnect wget\n", "Installing collected packages: wget, commonmark, typer, soupsieve, shellingham, rich, pycryptodomex, polyline, lz4, colorama, blessed, requests-toolbelt, measurement, browser-cookie3, beautifulsoup4, myfitnesspal, cloudscraper, garminconnect, wearipedia\n", " Attempting uninstall: typer\n", " Found existing installation: typer 0.7.0\n", " Uninstalling typer-0.7.0:\n", " Successfully uninstalled typer-0.7.0\n", " Attempting uninstall: beautifulsoup4\n", " Found existing installation: beautifulsoup4 4.6.3\n", " Uninstalling beautifulsoup4-4.6.3:\n", " Successfully uninstalled beautifulsoup4-4.6.3\n", "Successfully installed beautifulsoup4-4.11.2 blessed-1.20.0 browser-cookie3-0.17.0 cloudscraper-1.2.68 colorama-0.4.6 commonmark-0.9.1 garminconnect-0.1.53 lz4-4.3.2 measurement-3.2.2 myfitnesspal-2.0.1 polyline-1.4.0 pycryptodomex-3.17 requests-toolbelt-0.10.1 rich-12.6.0 shellingham-1.5.0.post1 soupsieve-2.4 typer-0.6.1 wearipedia-0.1.0 wget-3.2\n", "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", "Requirement already satisfied: openpyxl in /usr/local/lib/python3.8/dist-packages (3.0.10)\n", "Requirement already satisfied: et-xmlfile in /usr/local/lib/python3.8/dist-packages (from openpyxl) (1.1.0)\n", "Found existing installation: seaborn 0.11.2\n", "Uninstalling seaborn-0.11.2:\n", " Successfully uninstalled seaborn-0.11.2\n", "Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/\n", "Collecting seaborn==0.11.1\n", " Downloading seaborn-0.11.1-py3-none-any.whl (285 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m285.0/285.0 KB\u001b[0m \u001b[31m12.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: matplotlib>=2.2 in /usr/local/lib/python3.8/dist-packages (from seaborn==0.11.1) (3.2.2)\n", "Requirement already satisfied: scipy>=1.0 in /usr/local/lib/python3.8/dist-packages (from seaborn==0.11.1) (1.7.3)\n", "Requirement already satisfied: pandas>=0.23 in /usr/local/lib/python3.8/dist-packages (from seaborn==0.11.1) (1.3.5)\n", "Requirement already satisfied: numpy>=1.15 in /usr/local/lib/python3.8/dist-packages (from seaborn==0.11.1) (1.21.6)\n", "Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=2.2->seaborn==0.11.1) (2.8.2)\n", "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=2.2->seaborn==0.11.1) (1.4.4)\n", "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=2.2->seaborn==0.11.1) (0.11.0)\n", "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.8/dist-packages (from matplotlib>=2.2->seaborn==0.11.1) (3.0.9)\n", "Requirement already satisfied: pytz>=2017.3 in /usr/local/lib/python3.8/dist-packages (from pandas>=0.23->seaborn==0.11.1) (2022.7.1)\n", "Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.8/dist-packages (from python-dateutil>=2.1->matplotlib>=2.2->seaborn==0.11.1) (1.15.0)\n", "Installing collected packages: seaborn\n", "Successfully installed seaborn-0.11.1\n" ] } ], "source": [ "!pip install wearipedia\n", "!pip install openpyxl\n", "!pip uninstall -y seaborn\n", "!pip install seaborn==0.11.1" ] }, { "cell_type": "markdown", "metadata": { "id": "CCzIx1k1e6Qh" }, "source": [ "# 2. Authentication/Authorization\n", "\n", "To obtain access to data, authorization is required. All you'll need to do here is just put in your email and password for your Cronometer account. We'll use this username and password to extract the data in the sections below." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "id": "INRAosqYe2yZ" }, "outputs": [], "source": [ "#@title Enter Cronometer login credentials\n", "email_address = \"saarth@berkeley.edu\" #@param {type:\"string\"}\n", "password = \"password\" #@param {type:\"string\"}" ] }, { "cell_type": "markdown", "metadata": { "id": "ZWVelqzHe-L2" }, "source": [ "# 3. Data Extraction\n", "\n", "Data can be extracted via [wearipedia](https://github.com/Stanford-Health/wearipedia/), our open-source Python package that unifies dozens of complex wearable device APIs into one simple, common interface.\n", "\n", "First, we'll set a date range and then extract all of the data within that date range. You can select whether you would like synthetic data or not with the checkbox." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "id": "imNqkTSpe8GP" }, "outputs": [], "source": [ "#@title Enter start and end dates (in the format yyyy-mm-dd)\n", "\n", "#set start and end dates - this will give you all the data from 2000-01-01 (January 1st, 2000) to 2100-02-03 (February 3rd, 2100), for example\n", "start_date='2022-03-01' #@param {type:\"string\"}\n", "end_date='2022-09-17' #@param {type:\"string\"}\n", "synthetic = True #@param {type:\"boolean\"}" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "id": "H-pWdzEzfAbN" }, "outputs": [], "source": [ "import wearipedia\n", "\n", "device = wearipedia.get_device(\"cronometer/cronometer\")\n", "\n", "if not synthetic:\n", " device.authenticate({\"username\": email_address, \"password\": password})\n", "\n", "params = {\"start_date\": start_date, \"end_date\": end_date}\n", "\n", "dailySummary = device.get_data(\"dailySummary\", params=params)\n", "servings = device.get_data(\"servings\", params=params)\n", "exercises = device.get_data(\"exercises\", params=params)\n", "biometrics = device.get_data(\"biometrics\", params=params)" ] }, { "cell_type": "markdown", "metadata": { "id": "kA0mnAEtfjGw" }, "source": [ "# 4. Data Exporting\n", "\n", "In this section, we export all of this data to formats compatible with popular scientific computing software (R, Excel, Google Sheets, Matlab). Specifically, we will first export to JSON, which can be read by R and Matlab. Then, we will export to CSV, which can be consumed by Excel, Google Sheets, and every other popular programming language.\n", "\n", "## Exporting to JSON (R, Matlab, etc.)\n", "\n", "Exporting to JSON is fairly simple. We export each datatype separately and also export a complete version that includes all simultaneously." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "id": "xwl4BMTrfEdG" }, "outputs": [], "source": [ "import json\n", "\n", "\n", "json.dump(dailySummary, open(\"dailySummary.json\", \"w\"))\n", "json.dump(servings, open(\"servings.json\", \"w\"))\n", "json.dump(exercises, open(\"exercises.json\", \"w\"))\n", "json.dump(biometrics, open(\"biometrics.json\", \"w\"))\n", "\n", "complete = {\n", " \"dailySummary\": dailySummary,\n", " \"servings\": servings,\n", " \"exercises\": exercises,\n", " \"biometrics\": biometrics\n", "}\n", "\n", "json.dump(complete, open(\"complete.json\", \"w\"))" ] }, { "cell_type": "markdown", "metadata": { "id": "oHcdzBcMf6SU" }, "source": [ "Feel free to open the file viewer (see left pane) to look at the outputs!\n", "\n", "## Exporting to CSV and XLSX (Excel, Google Sheets, R, Matlab, etc.)\n", "\n", "Exporting to CSV/XLSX requires a bit more processing, since they enforce a pretty restrictive schema.\n", "\n", "We will thus export steps, heart rates, and breath rates all as separate files." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "id": "8GH7eKrufa1l" }, "outputs": [], "source": [ "import pandas as pd\n", "\n", "dailySummary_df = pd.DataFrame.from_dict(dailySummary)\n", "\n", "dailySummary_df.to_csv('dailySummary.csv')\n", "dailySummary_df.to_excel('dailySummary.xlsx')\n", "\n", "servings_df = pd.DataFrame.from_dict(servings)\n", "\n", "servings_df.to_csv('servings.csv', index=False)\n", "servings_df.to_excel('servings.xlsx', index=False)\n", "\n", "exercises_df = pd.DataFrame.from_dict(exercises)\n", "\n", "exercises_df.to_csv('exercises.csv', index=False)\n", "exercises_df.to_excel('exercises.xlsx', index=False)\n", "\n", "biometrics_df = pd.DataFrame.from_dict(biometrics)\n", "\n", "biometrics_df.to_csv('biometrics.csv', index=False)\n", "biometrics_df.to_excel('biometrics.xlsx', index=False)" ] }, { "cell_type": "markdown", "metadata": { "id": "ZNRvGqso8Njy" }, "source": [ "Again, feel free to look at the output files and download them." ] }, { "cell_type": "markdown", "metadata": { "id": "t1N2qX298Q52" }, "source": [ "# 5. Adherence\n", "\n", "The device simulator already automatically randomly deletes small chunks of the day. In this section, we will simulate non-adherence over longer periods of time from the participant (day-level and week-level).\n", "\n", "Then, we will detect this non-adherence and give a Pandas DataFrame that concisely describes when the participant has had their device on and off throughout the entirety of the time period, allowing you to calculate how long they've had it on/off etc.\n", "\n", "We will first delete a certain % of blocks either at the day level or week level, with user input." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "id": "M7ezn7YL5z60" }, "outputs": [], "source": [ "#@title Non-adherence simulation\n", "block_level = \"day\" #@param [\"day\", \"week\"]\n", "adherence_percent = 0.89 #@param {type:\"slider\", min:0, max:1, step:0.01}" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "id": "ZIuef9Rq8Zfr" }, "outputs": [], "source": [ "import numpy as np\n", "\n", "if block_level == \"day\":\n", " block_length = 1\n", "elif block_level == \"week\":\n", " block_length = 7\n", "\n", "\n", "\n", "# This function will randomly remove datapoints from the \n", "# data we have recieved from Cronometer based on the\n", "# adherence_percent\n", "\n", "def AdherenceSimulator(data):\n", "\n", " num_blocks = len(data) // block_length\n", " num_blocks_to_keep = int(adherence_percent * num_blocks)\n", " idxes = np.random.choice(np.arange(num_blocks), replace=False, \n", " size=num_blocks_to_keep)\n", "\n", " adhered_data = []\n", "\n", " for i in range(len(data)):\n", " if i in idxes:\n", " start = i * block_length\n", " end = (i + 1) * block_length\n", " for j in range(i,i+1):\n", " adhered_data.append(data[j])\n", " \n", " return adhered_data\n", "\n", "\n", "# Adding adherence for daily summary\n", "\n", "dailySummary = AdherenceSimulator(dailySummary)\n", "\n", "# Adding adherence for exercises\n", "\n", "exercises = AdherenceSimulator(exercises)\n", "\n", "# Adding adherence for biometrics\n", "\n", "biometrics = AdherenceSimulator(biometrics)\n", "\n", "# Adding adherence for servings\n", "\n", "servings = AdherenceSimulator(servings)" ] }, { "cell_type": "markdown", "metadata": { "id": "gS7_OF1Zj53w" }, "source": [ "And now we have significantly fewer datapoints! This will give us a more realistic situation, where participants may take off their device for days or weeks at a time.\n", "\n", "Now let's detect non-adherence. We will return a Pandas DataFrame sampled at every day." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "id": "Gf5Jp8HXjm0e" }, "outputs": [], "source": [ "dailySummary_df = pd.DataFrame.from_dict(dailySummary)\n", "servings_df = pd.DataFrame.from_dict(servings)\n", "exercises_df = pd.DataFrame.from_dict(exercises)\n", "biometrics_df = pd.DataFrame.from_dict(biometrics)" ] }, { "cell_type": "markdown", "metadata": { "id": "FvsDKGzxnTAN" }, "source": [ "We can plot this out, and we get adherence at one-day frequency throughout the entirety of the data collection period. For this chart we will plot Energy consumed over the time period from the dailySummary dataframe." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 374 }, "id": "awU2gtJXmcnP", "outputId": "aab458f4-9509-420a-9b30-0873d70c3b5a" }, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import datetime\n", "\n", "dates = pd.date_range(start_date,end_date)\n", "\n", "energy = []\n", "\n", "for d in dates:\n", " res = dailySummary_df[dailySummary_df.Date == datetime.datetime.strftime(d,\n", " '%Y-%m-%d')]['Energy (kcal)']\n", " if len(res) == 0:\n", " energy.append(None)\n", " else:\n", " energy.append(res.iloc[0])\n", "\n", "plt.figure(figsize=(12, 6))\n", "plt.plot(dates, energy)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "id": "yOsrr4s0re5Y" }, "source": [ "## 6. Visualization\n", "\n", "We've extracted lots of data, but what does it look like?\n", "\n", "In this section, we will be visualizing our three kinds of data in a simple, customizable plot! This plot is intended to provide a starter example for plotting, whereas later examples emphasize deep control and aesthetics." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 521 }, "id": "LSj2hBfOp9sG", "outputId": "d4e69115-49c1-47a0-b0b2-7b234dffd879" }, "outputs": [ { "data": { "image/png": "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WIFbb73V6ntfrb5nZ8/n09B96lPf+70xDeVOTU3F3/72N6SlpeG5554DAPz8888AjK+pLl26dMH333+PtLQ0/Pa3v7U4hz28++67AIAHHniAYzaJyEjrapeI3FvHjh1FKSVnz541bbv77rvF399fKisr5aeffjIbd/Tll18KABk/frxpW02L4R//+MdavxGvqqqSadOmCQBZuXKlaXt9LZs144XefPPNWtvXrl1bbwtkTYtNampqrRa9M2fOSEBAgAQEBEhFRUWj97ZEQ90Qa1o2e/bsKefOnau1r6SkRIKCgkSn08m3335ba9+8efPqHP9a07IZGRkpJ06cMG2/ePGitGvXTvz8/CQ4OFgyMzNN+8rKyiQhIUG8vLzkzJkzVr++q/3nP/8RADJo0KBa29esWdNgS+Ty5csFgEyaNMmi+4wZM0YAyNtvv23R8UVFRdKhQwdRStV67Y2ZOHFigy1dt9xyiwCQtWvXmu07d+6czJ07V+bMmSN/+MMfJDY2VgDU2cW8ITXjD+trJezevbsAMHtd3333nej1evnrX/9q2uaIbrQ33nhjna2127dvFw8PDwkKCpKSkhKL71eX+p53U57PtfLz88Xb21v8/PxqdW1tSH3v94ZcunRJAIi/v3+d+8+dOycApH379qZt33zzjQCQAQMG1HlOzZjLJ554wuIc14INLZtXrlyRwMBA8fDwkGPHjtl8byJqXjgbLRE1yQ033AARqTVzY3p6OoYPHw69Xo/u3bujffv2pt/eA7/+Jv+GG24AABgMBixcuBChoaH4xz/+Ues34h4eHpg/fz6UUli2bFmDWY4fP460tDTExsbi97//fa19qampGDVqVIPn//Of/4Svr6/p7+3bt8e4ceNQVFSE7OzsRr4S9vO3v/0NwcHBtbatWrUKBQUFmDx5MoYPH15r3+OPP46oqChs2LABx44dM7veM888g7CwMNPfAwMDMXbsWFy5cgV/+MMfkJCQYNrn7e2NyZMno6Kios5ZYS2Vl5eHP/3pT9Dr9Xjttddq7SsqKgIABAQE1HluzfbCwsJG7/PGG2/g66+/Rp8+fTBt2rRGjxcRPPjggzhz5ozZa29MU3KfP38ezz33HJ5//nm89dZbyMnJwaxZs7B06VKL729rhtLSUtx7773o3r075syZY9X9rHHixAmsX78eERERmD17dq19Q4YM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vXRW2+HCcmazXWNjo+bNm6cbbrjhiDeX9v+9+qr169drxYoVvmvAenKenrj11lv11FNPafjw4Vq1alWPjzt48KCWLl2q7373u71+zlAVbmPS2tqqRx99VJdccomGDh0qSfr73/+uc889V08++aTuueceLViwQB6Pp9c1hBKnx6W6ulqrV6/WJZdc0qPHdzQukcjpcZGkq666SvPnz9eDDz6offv26Y033ujV8fn5+Vq4cKEeeughXXzxxXrooYd6dXwoCoVxaW5uVlxcnObOnasLLrhATzzxRK+O530scJ8vkvf1PfPMM/t0rCR98MEH2rZtmy677LI+nyMUhOOYPP300yosLFRhYaEk7+fN9u3bNXPmTM2aNUt//OMftWfPnj7VECpCYVz+/Oc/65577tGTTz6p8847T88//3yvjr/22mu1ceNG3XXXXdq4caNSU1N9Kz3CldPjYozRjBkztGjRIt1zzz0aMGBAn1/TzmrrSNjObLa0tGjevHk6++yzdeqpp0ryLn3Yu3evBg8erL179x7SaGfnzp166qmndM899xzyvyIdncftduvXv/61JOnCCy9UXl7eIdPEVVVVSk1NPaQel8ulM844Q2+++abOOecc3X333ZKkk046SRdddFGHx5eXl6uiokI/+9nPfPfffffdevDBBzVo0CB/vlxBEU5j0h7wn3rqKWVmZuprX/ua77j3339f9957ryTv8o7m5mbV19eH7dKaUBiXHTt2qKysTD/+8Y8lSU1NTbr99tv16KOP9nhcIk0ojIsk3/+qxsXF6bzzztNbb70lSZozZ45qampUUFCgadOmdfp9fPWD7sQTT9Tvf/971dXVhWWjMyl0xiUtLc133CmnnKKFCxdKOnRcfvSjH2n//v1qbW1VTEyMqqurfcfzPha4z5e6ujoVFRXpzjvv9N3X03GRpM8++0xLly7V/fff3+tVBKEknMak/T3s1VdfVV1dnW6++Wbf49LS0pSUlKT4+HjFx8ersLBQO3fu9C01DDehMC51dXXauXOnRo8eLUk644wzNGfOHHk8ng4/8zuSmprqG8/GxkZ9/PHHGjhwoD9eIkeEwrhI3s+DBx54QJL0r3/9y/cfKz39zO+qtk51e1VnCPJ4PHbBggX22WefPeT+559/vsMLbSsrK+1tt91mN23a1KPzHK6lpcVOnz7dlpeX+y603bVrl/V4PLa0tNR3rkWLFtlFixZ1eI7DGwStXbv2iMccfhFuOAnHMfnDH/5gH3roIV8DjnZz5szxXZReXFxsb775ZuvxeHryMoScUBmXw3XWIMjazselXU8b2oSyUBqX6upq37meffZZ+8ILL3R5rsPfp/bu3ev7+diyZYudNm0aPy9+GJcXXnjB17hh/fr1dubMmR2e4/BGNMuWLbPW8j4WyPexd955xy5YsKDLc3Q2Ltu2bbO33Xab3bNnT7ffdygLxzFZvny5nTVrlj148OAh9xcXF9vZs2fblpYW29jYaO+44w67c+fOLs8VqkJlXFpaWuxNN93ka0Tz3nvv2YceeqjLcx3+e0Ftba3v94CXXnrJvvzyy10eH8pCZVys/XcDrKamJjt79mxfU8bOHP6Z31ltXTHWWtt9JA0tmzZt0s9//nPl5ub6ppy///3va/To0XrkkUfkdrsPaSH85JNP6uOPP/Zd/B0TE6O5c+d2ep6O2sOvW7dOixYtksfj0XnnnacrrrhCHo9Hv/jFL3xNGEaMGKEf/vCHHU5pb926VQsXLlRTU5NOOOEE3XTTTUdMl0+fPl0PPvhgWM4IhNuYVFVV6ZZbbtHw4cN9rc8vvvhiXXDBBSopKdFTTz2lxsZGSdI111yj448/PjAvXICFyrgc7tprr+1w65OuxqWoqEi//e1v1dDQoLi4OA0aNEgPP/yw316rYAqlcZk9e7bq6uokeX9ebr755g63b/rLX/6iN998UzU1NUpJSdHEiRM1bdo0LVu2TO+++65iYmLUr18/XXfddRo7dmxAXrdAC6VxaWho0GOPPSa32634+Hj953/+Z4fX9peXl2v+/Pnat2+f8vPzdfvttysuLo73sQC+j91///26/PLLu7zesrNx+Z//+R/t2rXLt3opPT3dN9MTTsJxTL73ve8pIyPD9/721W2a3nzzTa1YsUIul0vnn39+2K6qCaVxWbNmjZYsWSKXy6WBAwfqlltu6fCymBdeeEErV670zfCdf/75mjp1qj766CO99NJLMsaosLBQP/jBD8J2JUAojcvixYu1bt06eTweXXTRRZ3+W+/sM7+z2roSlmETAAAAABDawvtKWwAAAABASCJsAgAAAAD8jrAJAAAAAPA7wiYAAAAAwO8ImwAAAAAAvyNsAgAAAAD8LtbpAgAACEXTp09XTU2NYmJi5HK5lJ2drcmTJ2vKlClyubr+v9qKigrddttt+sMf/qCYmJggVQwAQGghbAIA0Im7775bxx13nPbv36+NGzfq2WefVVFRkW699VanSwMAIOQRNgEA6EZCQoJOOukkDRo0SLNmzdLXv/51ud1uvfzyyyovL1dCQoLOO+88TZ06VZL0i1/8QpJ0ww03SJLuu+8+jRkzRu+//77eeust1dTUaNSoUbr55puVkZHh1LcFAEBAcc0mAAA9NGrUKKWmpmrTpk3q37+/brvtNj377LOaOXOm/vrXv2rNmjWSpNmzZ0uSnnvuOS1evFhjxozRJ598oqVLl+qnP/2pnn76aY0bN06PPvqok98OAAABRdgEAKAXUlNTtW/fPh1zzDHKzc2Vy+XSiBEjdOaZZ2rjxo2dHvfXv/5V3/rWt5Sdna2YmBh961vf0o4dO1RZWRnE6gEACB6W0QIA0AvV1dVKTEzUli1b9NJLL2nXrl1qaWlRS0uLTjvttE6Pq6ys1LPPPqvnn3/ed5+1VtXV1SylBQBEJMImAAA9VFRUpOrqao0bN04PPfSQ/uM//kP33HOP+vXrp+eee051dXWSJGPMEcemp6friiuu0Nlnnx3ssgEAcATLaAEA6Mb+/fu1du1aPfroozr77LOVm5urAwcOKDExUf369VNRUZFWrlzpe3xycrKMMSovL/fdd+GFF+pPf/qTiouLfedcvXp10L8XAACCxVhrrdNFAAAQar66z6YxRtnZ2Tr77LN10UUXyeVy6aOPPtLzzz+vffv2afz48crIyFBDQ4N+/OMfS5KWLFmid999V62trbr33ns1ZswYffDBB3rjjTfkdruVkJCgY489lm1UAAARi7AJAAAAAPA7ltECAAAAAPyOsAkAAAAA8DvCJgAAAADA7wibAAAAAAC/I2wCAAAAAPyOsAkAAAAA8DvCJgAAAADA7wibAAAAAAC/I2wCAAAAAPzu/weduxCQpSGdxQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#@title Basic Plot\n", "feature = \"Heart Rate (Apple Health)\" #@param ['Heart Rate (Apple Health)', 'Weight']\n", "start_date = \"2022-03-04\" #@param {type:\"date\"}\n", "time_interval = \"full time\" #@param [\"one week\", \"full time\"]\n", "smoothness = 0.02 #@param {type:\"slider\", min:0, max:1, step:0.01}\n", "smooth_plot = True #@param {type:\"boolean\"}\n", "\n", "import matplotlib.dates as mdates\n", "import matplotlib.pyplot as plt\n", "from datetime import datetime, timedelta\n", "\n", "start_date = datetime.strptime(start_date, '%Y-%m-%d')\n", "\n", "if time_interval == \"one week\":\n", " day_idxes = [i for i,d in enumerate(dates) if d >= start_date and d <= start_date + timedelta(days=7)]\n", " end_date = start_date + timedelta(days=7)\n", "elif time_interval == \"full time\":\n", " day_idxes = [i for i,d in enumerate(dates) if d >= start_date]\n", " end_date = dates[-1]\n", "\n", "if feature == \"Weight\":\n", " weights = biometrics_df[biometrics_df['Metric']=='Weight']\n", " concat_weight = []\n", " for i,d in enumerate(dates):\n", " day = d.strftime('%Y-%m-%d')\n", " if i in day_idxes:\n", " weight = weights[weights['Day']==day]\n", " if len(weight) != 0:\n", " concat_weight += [(day,weight.iloc[0].Amount)]\n", " else:\n", " concat_weight += [(day,None)]\n", " ts = [x[0] for x in concat_weight]\n", "\n", " day_arr = [x[1] for x in concat_weight]\n", "\n", " sigma = 200 * smoothness\n", "\n", " title_fillin = \"Weight\"\n", "\n", " \n", "if feature == 'Heart Rate (Apple Health)':\n", " hrs = biometrics_df[biometrics_df['Metric']=='Heart Rate (Apple Health)']\n", " concat_hr = []\n", " for i,d in enumerate(dates):\n", " day = d.strftime('%Y-%m-%d')\n", " if i in day_idxes:\n", " hr = hrs[hrs['Day']==day]\n", " if len(hr) != 0:\n", " concat_hr += [(day,hr.iloc[0].Amount)]\n", " else:\n", " concat_hr += [(day,None)]\n", " ts = [x[0] for x in concat_hr]\n", "\n", " day_arr = [x[1] for x in concat_hr]\n", "\n", " sigma = 200 * smoothness\n", "\n", " title_fillin = \"Weight\"\n", "\n", "\n", "with plt.style.context('ggplot'):\n", " fig, ax = plt.subplots(figsize=(15, 8))\n", "\n", " if smooth_plot:\n", " def to_numpy(day_arr):\n", " arr_nonone = [x for x in day_arr if x is not None]\n", " mean_val = int(np.mean(arr_nonone))\n", " for i,x in enumerate(day_arr):\n", " if x is None:\n", " day_arr[i] = mean_val\n", "\n", " return np.array(day_arr)\n", "\n", " none_idxes = [i for i,x in enumerate(day_arr) if x is None]\n", " day_arr = to_numpy(day_arr)\n", " from scipy.ndimage import gaussian_filter\n", " day_arr = list(gaussian_filter(day_arr, sigma=sigma))\n", " for i, x in enumerate(day_arr):\n", " if i in none_idxes:\n", " day_arr[i] = None\n", "\n", " plt.plot(ts, day_arr)\n", " start_date_str = start_date.strftime('%Y-%m-%d')\n", " end_date_str = end_date.strftime('%Y-%m-%d')\n", " plt.title(f\"{title_fillin} from {start_date_str} to {end_date_str}\",\n", " fontsize=20)\n", " plt.xlabel(\"Date\")\n", " plt.xticks(ts[::int(len(ts)/8)])\n", " plt.ylabel(title_fillin)" ] }, { "cell_type": "markdown", "metadata": { "id": "sTLxdx7QbIuR" }, "source": [ "This plot allows you to quickly scan your data at many different time scales (week and full) and for different kinds of measurements (heart rate and weight), which enables easy and fast data exploration.\n", "\n", "Furthermore, the smoothness parameter makes it easy to look for patterns in long-term trends." ] }, { "cell_type": "markdown", "metadata": { "id": "4gr_LPn8b2tN" }, "source": [ "# 7. Advanced Visualization\n", "\n", "Now we'll do some more advanced plotting that at times features hardcore matplotlib hacking with the benefit of aesthetic quality." ] }, { "cell_type": "markdown", "metadata": { "id": "LCiSRYkNtmJU" }, "source": [ "## 7.1 Calorie Consumption Breakdown" ] }, { "cell_type": "markdown", "metadata": { "id": "WvUWBY4NttDK" }, "source": [ "Cronometer App is particularly known for its meal tracking features. If a user went onto their Trends, they will be able to see a day-wise calorie breakdown like the one shown below." ] }, { "cell_type": "markdown", "metadata": { "id": "UGVFVuPJtvc0" }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "id": "Ksg25qDWxs5V" }, "source": [ "*Above is a plot from the mobile app itself!*" ] }, { "cell_type": "markdown", "metadata": { "id": "MgEJedu-uF4g" }, "source": [ "This is a detailed breakdown which shows a user how many kilocalories they are consuming in Proteins, Carbohydrates, Fats and Alcohols.

\n", "\n", "The Cronometer API also gave us access to the participants daily nutrition data. This would enable us to exactly re-create this chart using Python." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "id": "5Ao0hzVKtOH_" }, "outputs": [], "source": [ "#@title Enter the Start Date\n", "\n", "year_string = '2022' #@param {type:\"string\"}\n", "month_string = '05' #@param {type:\"string\"}\n", "day_string = '15' #@param{type:\"string\"}\n", "\n", "start_date = year_string+'-'+month_string+'-'+day_string\n" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "cellView": "form", "colab": { "base_uri": "https://localhost:8080/", "height": 0 }, "id": "b3ogofJ4wxac", "outputId": "d933da40-cd90-47ed-e6df-89ea99a728b6" }, "outputs": [ { "data": { "image/png": "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ECenwmkq4z+XLJmsMpEnr1N6V0NERF4iwdcup7kMdZmKiIigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQAyJTeFRB5VdUeUs5sZW0f85fZyhKRhKmFKCIiggJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICACZ0rsCIq+qqS4xZiurlNlKEjGP2kPKmaWc7WP+Mks55qAWooiICGohijw3PQL0e1Pkv0T/Y0VERFAgioiIAOoyFXlu7lp5m7G0mmYsS0QSokAUEUmjV3HEZUakLlMREREUiCIiIoACUUREBFAgioiIAApEERERQIEoIiIC6LKLDMVcQ8NBw8NF5NWjFqKIiAgKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAN3cW0TkP0s37DcvtRBFRERQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBdB2iiLwizHVNnq7Hy7jUQhQREUGBKCIiAigQRUREAJ1DFBEz0r015b9MLUQRERHUQsxQprrEmK2sUmYrSUTk5aAWooiICApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQLduy1B6BOj3j4hIYvQNKSIiglqIIiJpZq4b5+um+elLLUQREREUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigC/MzlLtW3mYsraYZyxJzqz2knFnK2T7mL7OUI/JfoBaiiIgIaiGKiKSZbpz/atC7KCIiglqIImJG5rrJNehG1/LiqYUoIiJCBm4hmmsUHmgknojI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Ulqf2kPKpct2M+I+p+e20/N4m2vb2ueXe9sZ9Xg/L2YLxBYtmjNlylSTaUFBZ4x/HzlylNmz59CgQX3WrF1HRMRdDIZsJssbshmICA83V5XkJaInTojIy84sfUlvvfUmefLkxnfDxiSXe/ToERYWFgAEBgbi6lrSZL6riwuBgUHmqJKIiEiKJCsQrayssLGxxtLKCsvHf1tZWRnnt2zZnA0bNxEREWGy3vt16+DgENvVWa5sGTp36shvW7YAsG//AaKjY+jc+VOsra3p2LEDAHv27jPLjomIiKREsrpMe/fuRV9PD+O/WzRvxoSJk5g4cRI2NtY0/PBDunXvEW+9xo0bMX78WKytrbl69RpTp03Hx2clAFFRUXTp2o1x477jy8EDCQo6Q5eu3YiKijLTrsnLxFwDW0REnpdkBeLEx+GXkAcPIintlvCghV7uHglOj3Py5Ck+/LBJcqogIiLyXOlnu4iICGYcZSqSlLtW3mYqqaaZyhERMaUWooiICApEERERQIEoIiIC6BxiutBdW0REXj4KRHnlaUCPiCSHukxFRERQIIqIiAAKRBEREUDnENOF7uspIvLy0TeziIgICkQRERFAgSgiIgIoEEVERAANqkkXulBcROTloxaiiIgICkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIkMxA7duyA7/o1nAnyZ4LXOOP0AgWcuHjhHAH+fsaXR+9exvnW1taM/2Esp04e48jhA3Tt8plJudWqVWXbH1sIPH2SpUsW4uSU30y7JSIikjKZkrNQcPB1vL2nUKtWTbJksYk3/43S5YiOjo433dPTg6JFi1Clag1y5crF0iWLCAoKYvuOnWTPnp0Z06cxcNBgtm79nf79+jL1p8k0adoirfskIiKSYslqIW7atJnNv23h9u3bKSq8VcvmTJo0mZCQUM6cOcvixUto1So28OrX/4DAwEB8fTfy4EEkEyZOolQpV4oXL5byvRAREUmjZLUQn2X/vl08evSIXbv2MHrMd9y+fRsHB3vy5MnDKf8A43Kn/AP44IP3AXB2LoH/E/Pu3bvH+fPncXZ25uzZc4luq1Chgnh5eaW5zvNupLkI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RCR+ukIUERFBgSgiIgIoEEVERAAFooiICKBAFBERARSIIiIigD52ISLyn6WPUpmWrhBFRERQIIqIiAAKRBEREUCBKCIiAigQRUREgCQGYsuWzdn0+3rOBfozccI4o7IKFcqza+c2zp7xZfmyJeTIkd1QZmVlxfifxuLne5KjR7xo365tktcVERF5k5IUiMHBN5k6dTorVqwyWu7g4MCvv8xi/ISJfFysJD4+p5g5Y5qh3N29B05OeSlXvhINGzXh2287ULVK5SStKyIi8iaZ5czlFJPUyn379OL997PRq3c/AJo0aUR9t3rUda0PQLp06fA5eZSvvq7F+fMXOHL4IL169WWv5z4A+vR2x8kpL1269kh03fhYW5kzYcKEV9zcfyy69Umy23iuRZajKdL3y/ZbdPZ0k/QL4Nu+60vVT6ltTsm+U+P+TsltNlXfL9tvSvadGv/G4lO/fgMcs+VIVhvJuodYsOAH+PsHGF4/fvyYy5cvU7BgQezsMuDo6IjfC+V+/gEULFgw0XX/LTT0IcFB1wkOus7Dhw+TM2QREZE4Jeubamzes+HO3btGyx6GhGBrY8N779kAEBLyT4CFhIRgY2OT6Lr/ZmubAVvbDAAEB12nazf35AwbgNKD9ya7jededjym6vtl+91VLL9J+n2VvlNqm1Oy79S4v1Nym03V96v8jaVU3+/C/q7mc94k7ZhCsgIx7FEY6W1tjZalt01PaFgYjx6FAWBrm57w8Dt//25LWFhYouvKu8dUXzGlr5cSkdclWVOmZ88GUrhIIcPrdOnSkSdPbs6ePcuDBw8JDg6mSJHChvIihQtx9uzZRNcVERF505IUiBYWFlhbW2FuYYH5379bWFiwZcuffFjwQ77++iusra3o2bM7/v4BhodiVq1eS/duXbCzy0D+/Plo3KQRK1euBkh0XRERkTcpSYHYvXtXzgUG0LVLJ+q51uVcYADdu3fl7t27dPy2M/369ub0qROULFGcLl27G9abOHEyly9f4eABT1auWMYvP89m955n9zYSW1dERORNStI9xEmTpjBp0pQ4y/bt20+16p/HWRYREUGfvv3p07f/S68rIiLyJumr20RERFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQGS+P8hivyXjV3X2iTtVDNJKyLytkq1gWiqgyToQCki8i7QlKmIiAgKRBEREUCBKCIiAigQRUREAAWiiIgIkIqfMhV5l+mjJiIvT1eIIiIiKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoAJAjHA/5TRz6WLgQwfNgSAnDlzcPXKBaPyHt27Gta1srJi/E9j8fM9ydEjXrRv1za5wxEREXklyf7vnwoV/tjw+3vvvcexo15s2vSHUZ2iH5UgKioq1rru7j1wcspLufKVyJIlC8uXeRAYGMjuPXuTOywREZGXYtL/D/Gbb77i9p07eHkfTlL9+m6u9OrVlwcPHvLgwUOWLl1G/fr1EgzE3LlzMWHChOQPdvb05Lfxt+nTJr1U/UW3UqbflNxmU/X90v2mZN+pcX+nxm1Oyb5T6/6OQ/36DZLdhknvIbrVc2X16rWxlh866Im3134mjB+Hg4MDAHZ2GXB0dMTPP8BQz88/gIIFC8ZaPzT0IcFB1wkOus7Dhw9NOWQREREAzHLmcooxRUM5cmRn/749VKpcjatXrwHPplALFMiPr68fDg4OjBw5DFsbG5o1b8X777+Pt9d+CnxQiPDwCAAqVarI2DGjKV+hcrz9BAddxzFbjmSPd1ex/Mlu47lqPudfqn7pwaaZEvYeHv9+iktKbrOp+n7ZflOy79S4v1PjNqdk36l1f8fFFNlgsinTeq51OXz4iCEMAR49eoSPzykAbt++zaBBQzh21BsbGxsePQoDwNY2PeHhd/7+3ZawsDBTDUlERCTJTBeI9VyZOfPnBOvE/H0tam5uzoMHDwkODqZIkcJ4eu4DoEjhQpw9e9ZUQ3prjV3X2iTtVDNJKyIiAia6h/jJJ6XIls2R3//1dGmJEsXJl88JMzMz7O3tGT5sMAcOHCQkJASAVavX0r1bF+zsMpA/fz4aN2nEypWrTTEkERGRl2KSQHRzc2Xzlq2xpjvz5M7N4kULCPA/xfbtWwiPiKBrtx6G8okTJ3P58hUOHvBk5Ypl/PLzbH3kQkREUoRJpky//35gnMvXb9jI+g0b410vIiKCPn3706dvf1MMQ0RE5JXpq9tERERQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiApgoEFcs9yDwrD8B/qcI8D/F7l3bDWUuznU4eMCTMwGnmTP7Z+zt7Axl9nZ2zP51FmcCTnPwgCcuznVMMRwREZGXZrIrxEGDh1Co8McUKvwxVavVAKBgwQ/48ceR9OzZi5KlSvP48RNGjRpuWGfkyOFERkZSslRpuvdwZ9SoERQs+IGphiQiIpJklq+z8bouzmzfvhMv78MAjJ8wkZ07/sTGxobo6Gi+/vpLanz+NY8ePeLw4SNs274dV9e6jBkzLt42c+fOxYQJE5I/uNnTk9/G36ZPm5QifadUvynZ90v3m5J9p8b9nRq3OSX7Tq37Ow716zdIdhsmu0L8rn9fTp44wpo1Kyhbtgzw7ArRz9/fUOfy5StERkaSL58T+fI5ERUVxcWLFw3l/n7+cV4hhoY+JDjoOsFB13n48KGphiwiImJgljOXU0xyGylRojiBgeeIjIykTp1ajBg+lK++rsWYMaPZtOkPfvvNw1D3sPcBunV3Jzo6mlkzp/PJp2UMZY0bN6SuizMNGjaJt6/goOs4ZsuR3CGzq1j+ZLfxXDWf8ynSd0r1m5J9v2y/Kdl3atzfqXGbU7Lv1Lq/42KKbDDJFeKJEycJCwsjIiKCVavWcOTIUapVq8qjsDBsbW2N6tra2hIWFkZYWBjp0xuXpbe1JTQszBRDEhEReSmv5WMXMTExmJmZcfZsIEUKFzYsz507F1ZWVly4cJELFy5iYWFB3rx5DeWFixTm7NnA1zEkERGRBCU7EDNkSE+VypWwtrbCwsICFxdnypQpze7de1m7bj01alSndOn/kS5dOnr3cmfLlq2EhYXx+PFjtmzZSp/e7qRLl45PP/2ELz7/nDVr1ppiu0RERF5Ksp8ytbRMQ9++vcmfPx9RUdGcP3+edu2/NTws88MPg5g6ZRIODvbs27ef3r37GdYdMGAw48eP5cTxw9y7d58BAwbpClFERFJEsgPx7t271KrtEm/5uvUbWLd+Q5xl9x88oF37b5M7BBERkWTTV7eJiIigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBDBBIFpZWfHTuDEcPOCJv58PWzb/TtWqVQDImTMHV69cIMD/lOGnR/euRuuO/2ksfr4nOXrEi/bt2iZ3OCIiIq/EMrkNWFhY8NeNG9Rv0Ijr1/+ievVqzJo5jc+/+NpQp+hHJYiKioq1rrt7D5yc8lKufCWyZMnC8mUeBAYGsnvP3uQOS0RE5KWY5czlFGPqRv/c+geTJk/l1KlTHDzgSV6nD+IMxCOHD9KrV1/2eu4DoE9vd5yc8tKla49427a2MmfChAnJHmPR2dOT3cZzvu27Jl7pNfSdUv2mZN8v229K9p0a93dq3OaU7Du17u+41K/fAMdsOZLVhsnvIWbOnBknJyfOnj1rWHbooCfeXvuZMH4cDg4OANjZZcDR0RE//wBDPT//AAoWLBirzdDQhwQHXSc46DoPHz409ZBFRERMe4VoaWnJokXzuXz5Mt9/P5D33nuPAgXy4+vrh4ODAyNHDsPWxoZmzVvx/vvv4+21nwIfFCI8PAKASpUqMnbMaMpXqBxvH8FB15N9FgCwq1j+ZLfxXDWf8ynSd0r1m5J9v2y/Kdl3atzfqXGbU7Lv1Lq/42KKbEj2PcTnzMzMmDJ5ApERkQwaNBSAR48e4eNzCoDbt28zaNAQjh31xsbGhkePwgCwtU1PePidv3+3JSwszFRDEhERSTKTTZmO/2ksmTNnpmPHTjx9+jTOOjF/X4uam5vz4MFDgoODKVKksKG8SOFCRlOtIiIib4pJAnH06JEUKJCf1m3a8yQ83LC8RIni5MvnhJmZGfb29gwfNpgDBw4SEhICwKrVa+nerQt2dhnInz8fjZs0YuXK1aYYkoiIyEtJ9pRpjhzZad6sCU+ehHPsqJdh+XffDyQmOpp+/fqQOXMmQkJD8fTcR9du/zxBOnHiZEaPGsHBA548eRLOrFm/6CMXIiKSIpIdiNev/0Wu3PniLV+/YWO8ZREREfTp258+ffsndxgiIiLJoq9uExERQYEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFRESAtyAQ7e3smP3rLM4EnObgAU9cnOuk9JBERCQVskzpAYwcOZzIyEhKlipN0aJFWDB/Ln7+/pw9G5jSQxMRkVQkRa8Q06VLx9dff8lP4yfx6NEjDh8+wrbt23F1rZuSwxIRkVQoRa8Q8+VzIioqiosXLxqW+fv5U6ZsmXjXyZ07FxMmTEh+57OnJ7+Nv02fNilF+k6pflOy75fuNyX7To37OzVuc0r2nVr3dxzq12+Q7DbMcuZyijHBWF5J6dL/Y9bM6Xzy6T8B2LhxQ+q6ONOgYRPDstDQh4SFhgDw9GkklpZp3sj4oqOjMDe3eCN9ifb3m6b9/WZpf79eT6OekiNHnmS1kaJXiGFhYaRPb2u0LL2tLaFhYUbLbG0zYGub4U0ODYDgoOs4ZsvxxvtNrbS/3yzt7zdL+/vtl6L3EC9cuIiFhQV58+Y1LCtcpLAeqBERkTcuRQPx8ePHbNmylT693UmXLh2ffvoJX3z+OWvWrE3JYYmISCqU4p9DHDBgMGnTWnPi+GGmT5vCgAGD3porRBvb9Ck9hFRF+/vN0v5+s7S/334p+lCNiIjI2yLFrxBFRETeBgpEERER3qFAbNmyOZt+X8+5QH8mThhnVJYzZw6uXrlAgP8pw0+P7l3jbevA/r2cPxeAg4OD0fLNf2zk6pUL5MypR6cT2t8AjRo1wHPvTgL8T7F40XwcHbPG29aK5R5cvXKBwoULGS2f/essrl65QNkEvqghNbCysuKncWM4eMATfz8ftmz+napVqxjKS5YswZIlizjlc4wTxw8za9Z0smbNEm972t8JS2x/63jy7npnAjE4+CZTp05nxYpV8dYp+lEJChX+mEKFP2bK1IS/ZeHq1Ws4O9c2vC704YekS5fOZOP9r0tof5ctW4b+/frQtl1HPi5WiqtXrzF92pQE2zt//gJu9VwNr+3t7SlVqhS3b982+dj/aywsLPjrxg3qN2hEkaLF+Wn8RGbNnGY4kNrZ2eHhsZRy5StTtlwlwkLDmDA+9knKi7S/45fY/n5Ox5N3zzsTiFu2bGXrn9u4d++eSdpbs2at0QHDzc2V1avXGNWpXr0am//YiJ/vSbwO7cPdvYehbMH8ubRq1cKo/p9b/+CrL78wyfhSWkL7u8Zn1dm0aTNnzwYSGRnJlKnTKFu2DHny5I63vbXr1lO7dk3MzZ/9STo712br1j+JjIw01ClRvBjr1q7i9KkTHDlyiBHDh5ImzbNvLRo5YhiDBv5g1Oa8ub/Srm0bU2xuinr8+DGTJk3h2rXrxMTEsGPHTq5evcbHH38MwO7de9i0aTOhoaE8efKEBQsX8emnnyTYpvZ3/BLb369Cx5P/hncmEJPi0EFPvL32M2H8uFjTF/927PgJbG1tKVAgP+bm5tSpU4s1a9cZ1Xn06BHu7n0o+lEJWrZqR/NmTfnyi88BWLV6Na51XQx1CxcuRLZsjuzYucv0G/YWMjMz++d3nv3+YcGC8dYPDg4mMPAclStXAsCtniur/nXAiIqOZtjwkRQv8QkuLvWoUKE8LVo0A2DVqtU4O9c29Ovg4EDFihVYt36DSbfrbZA5c2acnJw4e/ZsnOVlypRO9KNL2t9JF9/+1vHk3ZMqAvHu3XvUrOVM2XKV+KamMza2NkybmvgXyq5Zs5Z69VypXKkigefOExQUbFR+6JAXAWfOEBMTQ0BAAOs3bDTcf9m2bTtO+ZwM38JTz7UuGzduMjoDf1ft3rOXWrW+oVChQqS1tqZHz25ER0cnOkW0avUa3Oq5kj9/PjJkyMCxY8eNyk+dOs3x4yeIiori2rXrLPFYStkypQE4cdKHhw9DqFixAgB16tTi4EGvd24K0NLSkqlTJ7Fq9WrOn78Qq7xQoUL07NGNUaPHJNqW9nfi4trfOp68u1JFID569Agfn1NERUVx+/ZtBg0aQpUqlbGxsUlwvdVr1uLiXIf69evFmt4AKFGiOMuXLeHE8cP4nj5Js6ZNcMj47EwxPDyCjRs34erqgpmZGc7OtVmdSr6BZ9++/UycOIVff5nJgQOeXLt2ndDQMG4EBSW43ubNWylfvhytWraI89uKnJycmD9/DkePeOHne5L+/fqQMWNGQ/mq1WuoW9cZANe6Lu/cNx6ZmZkxZfIEIiMiGTRoaKzyvHnysHjRPIYMHY639+FE29P+Tlh8+1vHk3dXqgjEf4v5+6sInt8/ic/1639x9epVqlWryubNW2OVT582mW3bdlCmbAWKflSc35Z4GKYH4dm0Ul2XOlSsWIHHj5/EOgN/ly1ctJjKVapT6pPS/PHHFiwtLThz5kyC6zx58oTdu3fTvHnTON/so0eP4Py581SuUp0iRYszdtx4eGFqds2adXzx+ecULlyIAgUKsHXrnybfrpQ0/qexZM6cmY4dO/H06VOjshw5suPhsZgpU6ezZs26eFowpv2dsIT294t0PHl3vDOBaGFhgbW1FeYWFpj//buFxbP/aqVEieLky+eEmZkZ9vb2DB82mAMHDhISEpJou337fUejxs14/PhxrDIbGxvuP7hPeHgEJYoXw+WFp8gAjh07TnR0DIMG/vDOnc0ltL+tra0M9wuzZ8/O2DGjmDdvAQ8ePEy03bHjxlO/QWOuXbseq8zWxoaQ0FDCwsLInz8fzZs1NSoPCgripI8PUyZPZPPmLTwJDzfBlr4dRo8eSYEC+Wndpn2s7crm6MjyZUtYuHARv/3m8VLtan/HLaH9rePJu+udCcTu3btyLjCArl06Uc+1LucCA+j+92eD8uTOzeJFCwjwP8X27VsIj4iga7ceibT4zOXLV/DxORVn2YCBQ+jdyx1/Px969OzO77//EavO6tVrKFy4EGvXJu2s/b8iof1tbW3NtGmTORNwmo0b1nL02HF+Gj8xSe0GB9/k8OEjcZaNHDkaF+c6BPifYtzYH9m48fdYdVatWk3hwoXeqQNGjhzZad6sCUWKFOHYUS/DZ99cXJ5NVzZq3JA8efLg7t7D6LNxSaH9HVti+1vHk3eXvsv0NatXry5NmjSmXr3k/2/Okrgypf/HlCmTKFuuYkoPJVXQ/n6zdDx5vd6ZK8S3Udq0aWnRvBkeHktTeiipgqWlJW3atGbpsuUpPZRUQfv7zdLx5PVTIL4mVSpX4uSJI9y+fZt16969z2a9bQoUyI/v6RNkzZqFuXPnp/Rw3nna32+WjidvhqZMRURE0BWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIgiIiKAAlFERARQIIqIiAAKRBEREUCBKCIiAigQRUREAAWiiIgIoEAUEREBFIivTX23ely9ciHOn4oVKyS5HXf3HpQvX+6l+h42bDDz588xvC5btsxL95scz/srW7aMYdmc2T8zauTwN9K/yOvy7/e1v58PW7dsomXL5lhYWJikjwwZ0uPu3oOPPir6ym0c2L+XiRPGmWQ8z2VzdORMwGmKFfvYsGzFcg9Wr15h0n4SsmK5ByuWexheFy1ahLNnfMmePbtJ2rc0SSsSr47fduHGjRtGywIDzyV5/V7uPZg6dToHDhxMUv08eXLTrGkT6rrWf6lxvm6TJk9l44a1zJk7n4sXL6b0cESS5fn7Or2tLTVrfcPIEcPInCkTEyZOTnbbGTJkoJd7D27cuMHp076v1Eb7Dt8SGhqa7LG8qE+fXhw4eAgfn1MmbTc5fH398PTcR58+7vTq1TfZ7ekK8TXz8/Xj+PETRj+m/kN9Uds2rfH3D3ir/mjh2R+ur68f7dq2TumhiCTb8/f1Xs999O//AwcOHKRNm/j/ti0t3+y1h6+vH5cvXzFZe5kzZ6ZuXWcWL15isjZN5bclS3FxroOjY9Zkt/XWXiHuKpY/pYcQSzWf8yZrq3KlirRt24aiHxUhQ/r0XLlyhRUrVjFn7nyio6MBuHrlAgDdu3ele/euAEycNIVJk6bE2aaVlRV1XV2YMnlaov3nzp2L3xYv5Pad27Ru3Y4HDx4C0LhxQ5o3a8oHHxTgSXg4Af4BjBn7E0ePHgOgV6+e1PisOnnz5iEyMhJ//wDGjhvP8eMnEu1zw4bf6dmzOyNGjOJJeHjiO0neOVUHlEjpIcSye1Tif7uJOenjQ/ny5ciUKRPp0qXl4AFPBgwYTM5cOXCt60KWLFkoVrwUDx48pF3bNjRr1oRcuXJy7/59Nv+xhbHjxhMaGkrOnDk4eMATgJ/GjeGncWMA6NWrLytXrQbgq6++pNO3HShcuBAREZF47tvHiBGj+euvvwzjObB/L4cOHaJX737As6neiRN/oo6zK61btaRGjeo8evSITX9sZvToMYSHRyS4ffXr1yMsLIw9e/Ymui96/H286tO3P2vXrgcgV66c9O7tTqWKFbGzy0BQcDDbt+9g6NARABQvVoxOnTtSqmQJHBwcuH79LzZv3sKUKdMSPVbs3etJaGgo9d3cmD5jZqLjS8hbG4jvCnMLc6N7CzExMURHR5M7T27279/P/AULCQ8Pp1ixj3F370HGTJkYM+bZ3H8dZ1c2rF/DihWr+G3Js3nzGzeC4u2rVMkS2NvZ4X34cIJjKlq0CIsWzufkyZN07tzN8Ac3cMD3dOzYnqVLlzNx0mSio2MoVbIEObJnNwRiNkdH5sydx40bQbz33nu41nVm1cpl1KzpTMCZMwn26+XtTYZGQGc6AAAfE0lEQVQM6Sn1SakkTwGL/BfkypWLp0+fEhYWRrp0aQHo1q0zJ0/60P+7AViYmxP+JJz+/frQtWtnFixYxPbtO/jggw/o08edIkUK41a/ETdv3qJ9+2+ZPftnpk+fyZ/btgMYrvaaNWvCj6NHsnz5SiZPmYatrQ3uPXuwcsVSvvjyG8LCwhIc55TJE1m/fgMdOnbmk1IlcXfvwYMHD5mYyFRv1SqVOXrsOFFRUfHWMTMzY9TI4bi6utCmTXv27PX8e9/kZOOGtTx+/IQJEydx8eIlcuTITuVKlQzrZs+RHT9fP1auXE1YaCgFCxakR49u5M6diy5deyQ4tqioKI4eO07VqpUViG+7Pbt3GL32PnyEevUa8NtvHsbLvQ9jlSYNHTq2Z+zYn4iJiTFcdQUFBSXpCqxkqZJER0fj7x8Qb50KFcoz+9dZbNq0mf7f/WC4Gs2bJw/t2rVh9uy5DB8xylB/585dRuv36/+94Xdzc3N2797Dju1badS4geFsLz5+fv5ERUVRqmRJBaL8pz0/0bW1taFWrZp8/dWXbN++gydPnhjq3Lp1m3btvzW8trezo337tqxcuYpBg4cCsGevJ3fu3mHqlEnUqFGdbdt2cNr32X3Dy1euGL3v33vvPb7/rj/Ll6+kT9/+huUnTpxk967tNGrUgLlz5yc47nXrNxjCb9++/ZQoWQLnOrUTDcSSJUswZ868eMutra2YOmUyZcr8j4YNm3LSx8dQ1qtXT9KmTcuXX9UkOPimYfmqVWsMv2/evIXNL7R3+MhRQkJDmDxpAgMGDuH+/fsJjs/3tC8dO3bAzMyMmJiYBOsmRIH4mrVr15EbQf9c1T2/f5g1axbc3XtQtUoVHB2zkiZNGkOdzJkzcevW7Zfuy9ExKyEhoURGRsZZXrPm19R3q8fs2XMZO268UVnFShWwsLBgicfSBPuoWLEC3bp2pnDhQjg4OBiWX716NdHxPX36lJCQEJPM9YukpBdPdKOioli7bj3D/nVCuPXPbUavS5YqibW1NWv+nkZ8bsOG35kwfhxly5Rh2zbjE+gXffJJKTJkSM/adeuNZp3++usG589foEzp0okG4s4dO41eBwScoWKFhJ8+t7PLQLp06bhz926c5bY2Nvy2eCHZs2enrmuDWA/NVa5UiR07dhqFYaw2bG3p1q0LNb/5ivfffx8rKytDmZNT3kQvCO7cvUvatNbY29tz7969BOsmRIH4mp05c5ZLly8bLTMzM2Pe3Nk4OmZl4qQpnD9/gSdPnvDlF5/TvXtXrK2tX6kva2trIiLivxfwzddf8eRJOCtWro5V5mBvDyQ8JfvRR0VZuGAue/Z60rfvdwTfvEl0dDTjxv6Y5DE/efKEtGnTJqmuyNvq+YluaGgo169fj/Me3M2bxgFgb28X5/KoqCju3buP/d/vwfhkypQJgGVLf4uz/MGDB4mO+/594zoRERGkTZvwe/f5ezsinvuM2XNkp2DBD/DwWBbnE+QODvYJHlcAJowfR8WKFZgwcRJ+vn48evyYEsWLM2rU8CQdW55fmSf32PLWBqIpH2B52+TJk4fixYvRvYe74aYzQI0anyWr3fv37pMhQ/p4y/t/N4COHdqxcoUHDRo24cKFf/547/59VpUtm6PR8hd98/VXREVF0aFDJ54+fWpYbmdnx8OHD5M0Rnt7e0NfkvqY4gGWt0FcJ7r/9u+pu+dhlCVLFs6eDTQst7CwwMHBPtFpwft/v2/ce/UxWv+51/X0+r17z8ZlZ2cXZ/nZs4EsWriYyZMn8OTJE0aMHG1UfvfePbJlyxZv+9bWVnzxRQ0mTZrCvHkLDMsLffhhksf4/GTiXjxXsUmlj12kgOc33V8MFUtLS+q61IlVNzw8PMlnPefOn8fa2jreP77Q0FCaNW/F5StXWbFiKQUK/PMk7759+4mKiqJpk8YJjDsdUVFRRm/08uXLkTNnjiSNL0uWzKRNm5YL5y8kqb7Iu+T4seOEh4dTp04to+W1a9ciTZo0HDx0CMAwy/Pv9/2Ro8cICQkhb548+PicivUT34lsckVGRnL5yhVy584Vb531GzbSrXtPWrduyZDBA43K9u715LPPqpE1a5Y417WyssbS0pLIF46H8OzJ1qTKlSsX16//leyn19/aK8R32blz57l69Rr9+vYmKiqap5GRtGvXJs66gYHnqF69Grv37OXBgwcEBwfHOxfv5eUNQIkSxdmyJe4pirCwMJo3b8XCBXNZvsyDRo2bEhh4jsuXrzBnzjzat2+Lja0N27btICoqihIlinP+/Hk2btzE7t17aNeuDRMn/MSKlavI5+REjx5dY33xQHxKlihhNE6R1OT+gwfMnj2Xrl078+jRY3bt3EWBDwrQt08vvL0Ps2PHswfYbt26zd27d6lTpxYB/gE8evyYK1eucv/+fUaNHsPIEcPImCkTu3ft5mFICNmyZaNs2dIcOujFuvUbXsvYvb28KVGieIJ1fv/9D6Kiopk+bTLmFuYMGfLsm6kmTpxM9WpVWbtmFdNnzOTSpctky+ZI1SpV6NGzFyEhIRw9eowO7dty8+ZN7t69R8OG9cmWzTHJ4ytZorhJjiu6QkwBkZGRtGvfkZu3bjN50nhGjhyGl5c3M2b+HKvuoMFDefT4EfPmzmbT7+tpksAV3LVr1zl+/ASfJzL1+ujRI1q0bENgYCDLl3nwYcGCAIwc9SMDBg6mVMmS/PLzDKZNnUT5cmW5fv3Z55v27PVk0OChfPrpJyyYP4eGDevT070Ply4lPHX03Gc1quPjcyrRqSaRd9XYceMZNmwk1apWYf78OXTu/C2rV6+lZau2hpmXmJgY+vX7Hjs7Ozw8FrPp9/WG9/SSJUtp07YD+fM5MXnyBBYtnEcv9x5YWlji6+f32sa9YeMmPvywYKKzQZs3b6Fz5240bdKYkSOGAc+OS84u9Th+/ATf9e/LooXz6d2rJ3fu3DGs17VbD06dOs3IEcOYOGEct27eYkgiT60/9/7771OkSGE2bPz91Tfwb2Y5czm9+jOq8tap71aPoUMH88mnZYweAU9p1tZWHDnixciRP7J8+Zv77kMRST4zMzM89+5kxYpVTJ02I6WHY6RTp440b9aUipWqGj5G9qp0hfiOWbN2HcHBwbRs0Sylh2KkadMm3Ll9h1WrYj/hKiJvt5iYGMZPmEyrVi3fqqfEra2taNumFRMmTkp2GAJYZLBzGJr8YcnbIiYmBp9Tp8iYMaPRh2NTWtGiRfhtiYfR10uJyH9HQMAZzMzNuHPnDneT+TSnqeTNm4eHD0NYtCjuj6K8LE2ZioiIoClTERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoACUUREBFAgioiIAApEERERQIEoIiICKBBFREQABaKIiAigQBQREQEUiCIiIoAC8bUrVaokM2dO48jhg5w/F4DPyaMsWbIINzdXzM1Nt/tXLPdg9WrT/U/0pm4vLmXLluHqlQuULVvGZG3mzJkDd/ce5M6dy2Rtvox5c39lxPChhtf13epx9coF8ubJ80b6f95fzpw5DMs2/7GRb7/t8Eb6F/kvUyC+Rm3btmbtmpXY29sz+sexNGnSnD59+nPxwkVGjxpBjc+qp/QQ3zk5c+akl3sPcufO/cb7LlP6f1SqVIkZM2a98b4TMmXKNLp06YS9nV1KD+WdMnbsaK5eucCQwQPjLHd378HVKxdeS9/P27awsDBpe0mRLl06jhw+yDfffG1YNnHCOLy99ptkLEkxccI4Duzfa3idNWsWzp7xpUTxYslqV4H4mpQp/T8GDxrAgoWLaNKkOWvWrMPL+zB/btvOwEFD+PyLr7ly9Vqy+7GysjLBaN9u/5Vt7PhtB7bv2EFQcHBKD8XIn9u2Ex4eTqPGDVN6KO+MtNbW1KpZEwBn5zomC6b/gg4d2nH37j3++GNzSg/F4ObNW3gsXcaAAd8nqx0F4mvSqdO33L9/n9Gjx8RZfvnyFQICAgDImDEjP/44kj27d3D2jC9eh/Yxbepksjk6Gq3z/Czuw4IF+W3xAgL8TzFr5jSjOl98XoPt2zZzLtCfXTu3UavWN7H6rlqlMuvWriLwrB++p08yZ/bP5MvnFOc4K1aswB+bNnD2jC/bt23mqy+/MJR9/fVXXL1ygcKFC8Vab8VyD9avW214nTFjRqZNnYyf70lOnzrBpEnjscuQIc71Vq9eQY0a1dn8x0bOBfrTonkzAFq2bM66tas45XOM06dOsH7daqpXr2ZYt2zZMqxcsRSApR6LuXrlQqwp2SZNGrF1yyYCz/pz8sQRfho3JtaVU5s2rdi5408Cz/px6tRxNv2+3mi74+LomJVqVauwft2GBOsBFCv2MceOevPrL7Owtn4W9hYWFnTq1JEdO7YSeNafE8cPs3jRfPLnzweAtbUVQwYPZPu2zQT4n+LoES/mzZttKE9IdHQ0mzb9QeNGCkRT+fLLL8iQIT07duwiS5bMVK1aJaWH9EZYWVnRulULlixZmtJDiWXJkqWULVsmWVeJliYcj0mVHrw38UpvmPfwykmqZ25uTvnyZdm6dRvh4RGJ1re3tyM8PJwxY3/i7p07ODo60qFDO9asWUm16jVitTF37i8sW7aSmbN+ITo62rA8b548DBs2hEmTpnD7zh2aN2/KjOlTuXPnLgcPHgKeheGCBXPZf+Agnbt0w+Y9G3r37sma1Sv46qtaRlc3efLkZujQQcyYMYt7d+/RvkM7Zs2aTrVqn3Pp8mX+/HMbQUFBNGvahAEDBxvWy58/H+XKlaVXr76GZbN/nUXhwoUYO248ly5eonbtWgwfPiTO/ZHPKS/Dhg5h6tTpXL5yhfv3HwCQK2dOli5bwbVr17C0sKBGjc9YuGAuzZu3YveevZw+7cuAAYMZNWo4gwYP5eRJHwACA88B8N13/ejQvi3z5y9k1KgfyZYtG3379uLDDwviUteN6OhoXFycGTTwByZPmYa392HSpk1L4cKFsLO3T/DfsFKlilhaWuLlfTjBepUrVeSXX2aydt0GBg4cbPj3mzFjKl9+8Tlz585n3779WFtbU6ZMabJmzcr58xewsrLGxsaGqVNncPPmTezt7Wneohnr1q2mevXPuXXrdoL9enkdpk3rVuTOnYsrV64mWPd18lucvCmt16FIc5+XXsfNzZX79+/Tq3dfDh30xM3NlR07dia6noWFBR06tMPNzZXcuXITFhbKqVOnGTpsBOfPP5uyzJfPie+/60e5cuWwtrbCz8+fSZOmsHtP7GNirly5GDpkEGXLlubevfssW76CqVOnExMTY6jzMu0l5ssvP8fe3p4NG39PtG6D+m78+ONIJkyczMyZPwPPTox79+pJjRrVyZQpE3fu3OHgIS/69fueiIgI8ubJQ0/37vzv00/JmjULwTdvsnePJ2PH/cSDBw8T7C8w8Bz+/gE0atyQEydf/t8U3uJA/C/LmDEj6dKl49r160mqf+HCRYYOHWF4bW5uzuEjR/H22k+1qlXZsvVPo/rz5i9k3rwFsdrJmjULdZxdOX78BAC7d+9hx/at9OntTj23Z1cHffv25sqVq7Ro0ZqoqCgAjh47xp7dO+jQoR3DR4z6ZzscHHBza8SlS5cAOHXal6NHDlGrVk2mz5hJVFQUHkuX065tG0aO+pHHjx8D0LRJY+4/eMDGv980lSpVpHTp/9GlS3fDG2nPXk8WLZxH9uzZ49x/TZvVxs/P32j5yFE/Gn43MzNj3/4D5MvnRPPmTdm9Zy+hoaGcDQwE4Ny584b9AM8etvm2Y3smTZ7KlCn/XFVfuHiRtWtW8nmNz9j65zY+KVUSf/8Aozq7du2ONcZ/K1WyJEFBQdy7dy/eOi4uzkwYP5YZM39m4sTJhuXly5ej5jdfM3jIMObPX2hYvvXPbYbfQ0JC6Nf/n+kgc3Nzdu/Zy/Fj3jjXqcOcufMSHJ+vr69hnCkZiO8CR8esVKxYgaVLl3P37l22bt3GV199iZ1dhkQP2omd+Dg6ZmXN6hWEhoUxaPAQQkJCaNmiOQsWzKVV63bs3r3HqL05s2exYsUq5sydR40a1enT250bf91gxcpVhrG+THuJqVqlCufOnUvw7xyga5fOuLt357vvBrBy1bOZIju7DKxbuwp7ezumTp2Bf0AAmTNl4osvapAmTRoiIiJwdMzKjb9uMGzYCB48eEDu3Lnp2rUzCxfMw6WuW6Lj8/LypkaNz15qm16kQHxLNG/WlGbNmpAnT25sbGwMy/PFMSW2ZcufsZYBXL/+l1EIPJ8q+/bbDpiZmZE2bVo++qgo06fPNIQhwNWr1zhy5ChlypY2au/ipUuGMAS4c+cOt+/cIXuOf0LMw2Mp3bp2xtm5NsuWrcDa2go3N1dWr17Dk/Bw4NmTtk+fPuWPzVuM2t+w8XeqVasaazuuXrsWKwwBPv74I3r16knxYsXIlCmj4Sndc+fOx7k/XlSpUkUsLCxYt2690f2e48dPEBISQpkypdn65zZO+vjQokUzhg8bwp/btnPkyFGePHmSaPuOjlm5c+duvOVt27amadPGDBkynMW/LTEqq1y5EtHR0Sz1WJZgH7VqfUOH9u3Ily8fdnb/TDfH9Tfyb8/H5uiYNdG6krC6dV2wtLRk1eo1AKxatRoXlzrUrl2L337ziHe9pJz4tG/XFjs7O1xc3Lh0+TIAO3fuZueOP+nXt3esAPv117mG8Nu3bz8VypfH2bm2YdnLtpeYkiVLcPq0b7zlZmZmDBs6mIYN69O+Qyd27txlKGvXtg25c+eiZi1nfH39DMvXb9ho+N3L+7DRLMuRo8e4dPkya1avoGjRIkbrxeW0rx+tWrXA0TErwcE3X2rbQPcQX4t79+7x+PFjcubIkXhloFWrFowePYJ9+/bToUMnatVyoXadugBYW1vHqn/zZtz/0Ldvx542u3X7NtbW1mTKlAk7OzvMzc25efNW7Hq3bmFvZzwt+Hyq8kUR4RGktf7nIZfg4Jv8uW07zZs1BaBmzW9wcHAwusfgmDUrDx484OnTp8bjjWeaL67te//991nq8Rv2dnYMHjIUl7pu1KzlzK5du+PcR/+WOVMmAPZ57ubSxUCjn/Tp02Pv8GzbV61aww8DBlGyZAl+W7yAUz7H+fWXWUYfY4iLtbU1ERHxT4/XqVOLoKDgWCcFAA4O9ty/f99wAhGXGjWqM2vmdM6dO0e37j2pXduFmrWcuX37ttG/R3yeh3ratGkTrSsJc3Nz5cKFixw7dhwAz337CQoKwq2ea4LrJeXEp0yZ0hw7fsIQXvDsxHb9ho0ULVoEW1tbo/o7XggcgDNnzhrNurxse4lxdHTkzt24T/wsLCyZMWMqLi51aNykuVEYwrPtP3nSJ8FQS5MmDV27dGbXzm0EnvXj0sVA1vz98a/8+RI/8bt7945hnK9CV4ivQVRUFAcPelGpUgWsrKwSPFDCs4Ol5779jBg52rAsV66c8dZ/8f7AizJnzhxrWZbMmQkPD+fOnTukTZuW6OhosmSJo16WLNx/cD/BccZn0aLfWL5sCR9//BFNmzbBy8vbcN8OIPjmTezs7LC0tDQKxcxxjAMgrs2rWrUydnYZ6NS5G0FBQYbl6dKlS9IY791/tm1NmrbgwYPYQf/iFNCSJUtZsmQpdnYZqFy5EoMG/sDMGdOo4xz/Ae/evfvkyhX/Zx87duzMmDGjWbHCg0aNmhrd87t79x729vaktbaONxTr1K7NxYuX6NW7n2GZpaUl9onc23zueb27dxOe6pKEFSv2MR8WLMiMmT+TIUN6w/LNm7fSunVLnJycuHjxYpzrJuXEx97ejtNxBMatW7cwNzfHzi4DoaGhhuX37xu/ZyMiwo1OEF+2vcRYW8d/PEuf3pbPqldj/4GDnDhxMla5g4MDfv6xZ35e9F3/vrRq1YIpU6Zx5OgxwkLDeP/9bMye/XOSTnyfPHm2b1/1xO+tDcSkPsDytpo5cxYrVizlhx/6G90ffC5XrpzY2NgSEBBAurTpCA0x/qNsUD/x+fJ/y5EjOyVLljBMm5qbm1Oz5jecPOlDTEwMjx8/5tSp09Ss+Q0TJ00xPNCRI0d2PvmkFAsWLHqFLYUDBw4SGHiOwYMGUPp/n9KtW0+j8mPHjmNpack3X39ldDO+Tu1aSe7jefC9GKhOTk58+ukn3LjxT0A+f7OmTWv85vH03EdUVBTZs2fH03Nfkvp88OAhGzduomSJEjRt2jjBuufOn+err77AwsLCaDr6uaCgYBo0bMzyZR4sX+ZBo8ZNDVfqe/d60rVLJxo1bhjvv0G6dGljXWHXc62LpWXS3sLPT7DOX3g9n4tLqld5gOVt8vwqsEvnb+nS+ds4yuvy0/iJca6blBOf+/cfkDVLlljLs2TJQnR0dKL3KF9/e/eNpuv/Xda9Ry8WzJ/D9GmT6dbd3ei9cPfu3VhPzv9bnTq1WL16LVOnzTAse8/mvSSPz97eztDXq9CU6Wvi5X2Y4SNG0bpVS5YsWYSLizOlS/+Pzz//jKFDB7F92xZy/32Q2r1nL1WqVKZrl85UrFiB/v36UKdO7Zfu8+bNW8ycMY36bvWoXr0ac+f+Sr58ToyfMMlQZ/z4iTg55WXB/DnUqFEd5zq18ViymJCQEH6dPeeVt3fxb0soW7YMd+7ciTUt6Om5D2/vw/z44yhatmxOlcqVGP/TWD78sGCS29+3bz+RkZFMnjSeypUq4ubmypLfFnL9r7+M6l24cJHIyEgaNqjPp59+QrFiH2NjY8Ply1eYNesXRo4Yyg8/9Kd69WpUqFCe+m71mDplEuXKlQVgzJhRDBr4A9988zVlSv+PRo0a4Orqwt69ngmOz8vL2/BEanxu3rxFg4aNiSGG5cs8DPfzDh48xKY/NjN40AB++KE/VatUpkaN6gz44TvDR0Z279nLBx8UYMjggVSoUJ5OnTrSu3dP7sdxtRuXkiVLEBERYZjmk5eXJk0anJ1rc+zYceo3aBzr5/RpX1xd68a7/t69npibmyf4edBDh7woWbKE0RS9ubk5tWvV5LSv70tdzb2O9s6dO5/gl14cOuRFi5ZtqFatKtOnTzG6X7/Xcx8lShRP8D2SNl26WCd+DRok/eIgV65chIeHc/Xqqz049tZeIb4L5s6dz4kTJ2nXrg0DB35PRgcHwsLC8PE5xXffD2Db9h0ATJk8FbsMGWjXrjXW1tYc8vKmWfOWRt/EkBSXLl/m559/oX+/PuTNm5dr167TtVsPw0cu4NmBtVWrtvTs2Z1ZM6cTERHJoUOHGDV6zCvdhH5u06Y/GD5sCCtXro5zSqV9h04MHzaE7/r3JSoqmm3btzNo0FDmzv01Se2fPRtI9x7u9O7lzty5s7l85TJjxoyjatXKlC1b1lDv/v37DBo8lE6dOrJyxVIsLS2p36Axhw55MXbceALPnaNli+a0bNGcmJgY/vrrBvv3H+DixUsAHDlylAb13XB1dSF9+vQEB99k7dr1THjhqdC4eHsfJigoiBo1PkvwoYNbt27ToEETli39jRXLl9KwYROCgoPp0qU7nTt1xM2tHm3btCYkJISTJ0+xdNlyADw8lpH9/fdp2LA+TZs25uRJH1q3ac/sX39O0v777LPqbNu+I0kPCEncPqtejYwZMzJi5GgOHfKKVb7EYyk/jh5JuXJljd5zz7144pM9+/sc2H8QyzSWlCldmh07d3HokBdz5s6jfv16eCxZzMSJkwkJDaVF82bky+dEq1ZtX3rMpm7Py/swbdu0xszMLN5bN97eh2neojWLFs5j5oxpdOnanadPnzJnzlxcnOuw1GMxU6fNICDgDBkzOvDF55/z/Q8DCQsLY8/uvbi5uRIQcIZLly7x1ddf8eknpZI8vpIlinPS51SSPu4WF7OcuZzi3iqRl9C4cUPG/DiKKlU+M7qBn5q4u/egroszlau8XV/J5+iYFa9D+2narCX79x9I6eH8Z82Z/TPly5ej1Cdl4jyxSJ8+PUePHOL33zfRq3c/3N170Mu9B7ly//MwiIWFheHEJ2fOHIYTn2HDR3DhwrN7j/nyOfHD9/0pV64cVlZW+Pn5xfrc4PO28zp9YDQtOXHCOMqWLUv5Cv/ccnqZ9l4ca1wKFMjPrp3bqF+/EYe8vI36rVixAqXLVDAsK1WqJIsXLeDgwYN06tyNyMhIMmXKRN++vahR4zMc7O25ffs2+w8c5LvvBhAREYGDgwMjRwylcpVn49+1czdz587n99/X0atXX8NHOOLazrTW1hw75s3YceNZuHBxgtsRHwWiJMsHHxQgT57cjPlxFMeOnaBDx04pPaQUkz59ejz37uSHAYPfqq+1GjJ4IIULF6JR42YpPRR5B6xY7sGlS5eNPhf7Nqhduybjxv5I6TIVCAkJeaU2dA9RkmXUyOH88vNMLly4yKDBcX/zTGoREhJCz569sUqTJqWHYuTmrVsMHJS6/23EdMb9NIG6dZ0TfUDmTev0bUd+/mX2K4ch6ApRREReUrNmTfD3D+Do0WMpPRQAsmTJTNOmTfj551+TdZ9cgSgiIoKmTEVERAAFooiICKBAFBERARSIIiIigAJRREQEUCCKiIgACkQRERFAgSgiIgIoEEVERAAFooiICKBAFBERAeD/VxgZw189k1oAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "#@title Enter the End Date and plotting\n", "\n", "year_string = '2022' #@param {type:\"string\"}\n", "month_string = '05' #@param {type:\"string\"}\n", "day_string = '28' #@param{type:\"string\"}\n", "\n", "end_date = year_string+'-'+month_string+'-'+day_string\n", "\n", "from matplotlib import lines as mlines\n", "nutrition = dailySummary_df\n", "test = nutrition[nutrition.get('Date')>=start_date].get(['Date','Carbs (g)','Fat (g)','Protein (g)','Alcohol (g)','Energy (kcal)'])\n", "test = test[test.get('Date')<=end_date]\n", "\n", "# Fixing the Date Values for the xticks in our chart\n", "test = test.assign(Date_formatted = test.get('Date').apply(lambda x: \n", " date_fixer(x).split()[1]+' '+date_fixer(x).split()[0]))\n", "\n", "# 1g Carbs is equal to 4 kcal\n", "test = test.assign(Carbs = test.get('Carbs (g)')*4)\n", "\n", "# 1g Proteins is equal to 4 kcal\n", "test = test.assign(Protein = test.get('Protein (g)')*4)\n", "\n", "# 1g Fats is equal to 9 kcal\n", "test = test.assign(Fat = test.get('Fat (g)')*9)\n", "\n", "# 1g Alcohol is equal to 7 kcal\n", "test = test.assign(Alcohol = test.get('Alcohol (g)')*7)\n", "\n", "# Creating a matplotlib plot of size 16,8 \n", "fig3 = plt.figure(figsize=(7,10),facecolor='#1C1D21')\n", "ax = fig3.gca()\n", "ax.set_facecolor('#1C1D21')\n", "ax.set_axisbelow(True)\n", "\n", "# Adding header to the chart\n", "header_text = (test.iloc[0].get('Date_formatted')+', '+\n", " test.iloc[-1].get('Date').split('-')[0]+' - '+\n", " test.iloc[-1].get('Date_formatted')+', '+\n", " test.iloc[0].get('Date').split('-')[0])\n", "plt.title('Energy Consumed (kcal)',y=1.06, color='white',fontsize=24)\n", "plt.suptitle(header_text,y=0.92, color='white',fontsize=16)\n", "\n", "# Setting grid\n", "plt.grid(axis='y', linewidth=2)\n", "\n", "# Plotting the values for Fats\n", "plt.bar(test.get('Date'),test.get('Fat'), color='#DB4B44', width=0.6)\n", "\n", "# Plotting the values for Carbohydrates\n", "plt.bar(test.dropna().get('Date'),test.dropna().get('Carbs'),color='#529BE3',\n", " width=0.6, bottom = list(test.dropna().get('Fat')))\n", "\n", "# Plotting the values for Protein\n", "plt.bar(test.dropna().get('Date'),test.dropna().get('Protein'),color='#5C9851',\n", " width=0.6, bottom = [l+w for l,w in zip(test.dropna().get('Fat'),\n", " test.dropna().get('Carbs'))])\n", "\n", "# Plotting the values for Alcohol\n", "plt.bar(test.dropna().get('Date'),test.dropna().get('Alcohol'),color='#F2C04F',\n", " width=0.6, bottom = [l+w+b for l,w,b in zip(test.dropna().get('Fat'),\n", " test.dropna().get('Carbs'),test.dropna().get('Alcohol'))])\n", "\n", "\n", "# Setting x and y ticks\n", "plt.xticks(test.get('Date')[::3],list(test.get('Date_formatted'))[::3], \n", " color='white', fontsize= 12)\n", "plt.yticks([0,250,500,750,1000,1250,1500,1750,2000,2250],\n", " fontsize= 12, color='white')\n", "\n", "#Plotting the legend\n", "rect1 = mlines.Line2D([], [], marker=None, markersize=30, linewidth=5,\n", " color=\"#DB4B44\")\n", "rect2 = mlines.Line2D([], [], marker=None, markersize=30, linewidth=5,\n", " color=\"#529BE3\")\n", "rect3 = mlines.Line2D([], [], marker=None, markersize=30, linewidth=5,\n", " color=\"#5C9851\")\n", "rect4 = mlines.Line2D([], [], marker='None', markersize=30, linewidth=5,\n", " color=\"#F2C04F\")\n", "leg = ax.legend((rect1, rect2,rect3,rect4), (\"Fat (kcal)\", \n", " \"Carbohydrates (kcal)\", \"Protein (kcal)\", \"Alcohol (kcal)\"),\n", " bbox_to_anchor=(0.5,-0.2), loc=\"center\", frameon=False, ncol=2,\n", " markerscale=1.5, fontsize=16 , labelspacing=1)\n", "\n", "# Setting color for all the labels to white\n", "for text in leg.get_texts():\n", " text.set_color(\"white\")\n", "\n", "\n", "# Showing the chart\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": { "id": "TmBGPvD4xd_T" }, "source": [ "*^ Above is a plot we created ourselves!*\n" ] }, { "cell_type": "markdown", "metadata": { "id": "_KyItag2cSiF" }, "source": [ "## 7.2 Plotting the participants weight!\n", "\n", "If the participant has a weighing device that connects with Cronometer/Apple Health automatically or the user has been manually entering their weight in the Cronometer app, they can go to the Trends tab on the Cronometer app to see a graph for their weight over time. Below is a screenshot from the Cronometer app that shows a user's weight.\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": { "id": "4A_EIgbFcnBf" }, "source": [ "*Above is a plot from the mobile app itself!*" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 0 }, "id": "Bdcn94ataXmt", "outputId": "d2229b21-bffd-43d8-b62a-8927ff320ea3" }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1wAAAIxCAYAAABZ+Ln0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdd3xU953v/7d6BYEKXTSJog6oIYoa7hgDbhTjsnZsHON1kvXuZpPdu8ndu3t/m5tN4nU3LrFxAYyNC64Y07sQKqj3ihDqvYw08/vDXnYdjMGg0RlJr+d/mTkz5z15AJ73nPP9fO2mBwZbBAAAAAAYcPZGBwAAAACA4YrCBQAAAABWQuECAAAAACuhcAEAAACAlVC4AAAAAMBKKFwAAAAAYCUULgAAAACwEscrPXDt3Xdqzd13aFZgoOzspKLiEm3f8b62btshi+W/t/La+taftTA25gffa/uO9/UPv/7nq08NAAAAAEPAFRWuP/3hd1p1262qr6/Xrk8+U1d3l5YsXqR/+5ffKHL+PD3597++cOx7Oz/S8RMp3/s+9997j8aOHaMDBw8PTHoAAAAAsGF20wODLT90wA3XL9NLzz+tispKrbpjrZqamiVJTk5OeuHZp7QsOVGPbvqZvty95wdPNHPGdH29+1PV1dVrUfwy9fX1DdBHAAAAAADbdNk1XDdev0yS9Mqrb1woW5JkMpn0h6eekSTdt2H9ZU+0bs1dkqQd739A2QIAAAAwIly2cPn5+UqSKiorL3qu8tvHoqMWyMnJ6ZLv4ezspNWrb5PZbNa2d9+72qwAAAAAMKRctnA1fntVy3/KlIue8/f3l/TN7YX+/hc//19uvOF6+Xh768jRY6qsrLrarAAAAAAwpFx2aMa+/Qe0csVyPfTg/dr16edqaWn55oWOjvrFE5suHOc1evQl3+O/bifcuv3Krm61tTSprbVJkvTM0/+pRx555IpeBwAAAGDkmTErxOgIl3TZoRn29vZ67eUXlBC/RHV19frq673q6enR4kVxGufnp46ODk2ePEmr71yr9IwzF71++rSp2rfnc4ZlAAAAABhxLntLodls1k82btK///6Pamhs1B2rV+qO1StVVlauO9bco/aODklSfUPj975+3VqGZQAAAAAYmS57heuHODs7KzPthNrb2xUVu/Si552cnHT00NfyHjtWidfdzPotAAAAACPKZa9w/ZAVt94iF2dn7frks+99/obrl8nXx4dhGQAAAABGpCsqXJ6eHhc9FhQ0V7/65ZNqbm7RCy+98r2v+69hGe9s23ENEQEAAABgaLrslEJJevP1V9Td3a2CgiK1d3QoMGCmkhLj1d3To4c3btL583UXvWba1KmKWxijurp67fl634AHBwAAAABbd0WF6/MvduvW5Tdr1cpb5eLqqtraWm3b/p6ef+llnTtX+72vWbvmTtnb2zMsAwAAAMCIdU1DMwAAAAAAl3ZNQzMAAAAAAJdG4QIAAAAAK6FwAQAAAICVULgAAAAAwEooXAAAAABgJRQuAAAAALASChcAAAAAWAmFCwAAAACshMIFAAAAAFZC4QIAAAAAK6FwAQAAAICVULgAAAAAwEooXAAAAABgJRQuAAAAALASChcAAAAAWAmFCwAAAACshMIFAAAAAFZC4QIAAAAAK6FwAQAAAICVULgAAAAAwEooXAAAAABgJRQuAAAAALASChcAAAAAWAmFCwAAAACshMIFAAAAAFZC4QIAAAAAK6FwAQAAAICVULgAAAAAwEooXAAAAABgJRQuAAAAALASChcAAAAAWAmFCwAAAACshMIFAAAAAFZC4QIAAAAAK6FwAQAAAICVULgAAAAAwEooXAAAAABgJRQuAAAAALASChcAAAAAWAmFCwAAAACshMIFAAAAAFZC4QIAAAAAK6FwAQAAAICVULgAAAAAwEooXAAAAABgJRQuAAAAALASChcAAAAAWAmFCwAAAACshMIFAAAAAFZC4QIAAAAAK6FwAQAAAICVULgAAAAAwEooXAAAAABgJRQuAAAAALASChcAAAAAWAmFCwAAAACshMIFAAAAAFZC4QIAAAAAK6FwAQAAAICVULgAAAAAwEooXAAAAABgJRQuAAAAALASChcAAAAAWAmFCwAAAACshMIFAAAAAFZC4QIAAAAAK6FwAQAAAICVULgAAAAAwEooXAAAAABgJRQuAAAAALASChcAAAAAWAmFCwAAAACsxPFKD1x7951ac/cdmhUYKDs7qai4RNt3vK+t23bIYrFcdLyzs5Pu27Bety6/RTNnTpeDvb1qa8/rdFqG/u/vfq/GxqYB/SAAAAAAYGvspgcGX9yW/sKf/vA7rbrtVtXX12vP1/vV1d2lJYsXaVZg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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#@title Set date range for the chart above\n", "\n", "start = \"2022-05-15\" #@param {type:\"date\"}\n", "end = \"2022-05-22\" #@param {type:\"date\"}\n", "\n", "# Creating a datetime object for the start date\n", "start_date = datetime.strptime(start,'%Y-%m-%d')\n", "start_date_string =(str(start_date.strftime(\"%B\"))+' '+\n", " str(start_date.day)+', '+str(start_date.year))\n", "\n", "# Creating a datetime object for our end date\n", "end_date = datetime.strptime(end,'%Y-%m-%d')\n", "end_date_string =(str(end_date.strftime(\"%B\"))+' '+\n", " str(end_date.day)+', '+str(end_date.year))\n", "\n", "# Finding a list of all dates between start and end date\n", "dates = list(pd.date_range(start_date,end_date,freq='d'))\n", "dates = [datetime.strftime(d,'%Y-%m-%d') for d in dates]\n", "\n", "def date_fixer(date):\n", " # Creating a date time object for the date\n", " date = datetime.strptime(date,'%Y-%m-%d')\n", " # Returning the date in the required format\n", " return str(date.strftime(\"%B\"))[:3]+' '+str(date.day)\n", "\n", "# Getting only the weights values\n", "weights = biometrics_df[biometrics_df.get('Metric')=='Weight']\n", "\n", "datefixer = lambda x: datetime.strptime(x,'%Y-%m-%d')\n", "\n", "weights = weights.assign(Day=weights.get('Day').apply(datefixer))\n", "\n", "# Assigning the date_fixer function for getting the required xticks\n", "xticks_fixed = [date_fixer(d) for d in dates]\n", "\n", "weights = weights[weights.get('Day')>=start_date]\n", "weights = weights[weights.get('Day')<=end_date]\n", "\n", "weights = weights.assign(Day=weights.get('Day').apply(lambda x: str(x)[:10]))\n", "\n", "# Initializing the figure\n", "fig1 = plt.figure(figsize=(14,8),facecolor='#20242A')\n", "ax = fig1.gca()\n", "ax.set_facecolor('#20242A')\n", "\n", "# Plotting the Data\n", "plt.plot(weights.get('Day'),weights.get('Amount'),color='#AE9EBD')\n", "\n", "# Adding grids\n", "plt.grid(axis=\"y\",lw=2,color='white')\n", "plt.grid(axis='x', alpha=0)\n", "\n", "# Setting x and y ticks\n", "plt.yticks(range(int(np.floor(np.min(list(weights.get('Amount'))))),\n", " int(np.ceil(np.max(list(weights.get('Amount')))+2))),color='white',\n", " fontsize = 20)\n", "plt.xticks(dates[::2],xticks_fixed[::2],color='white', fontsize = 20, \n", " fontname='Liberation Sans')\n", "\n", "# Setting y limits for the graph\n", "plt.ylim(np.floor(np.min(list(weights.get('Amount')))),\n", " np.ceil(np.max(list(weights.get('Amount')))+1))\n", "\n", "\n", "# Removing the spines on top, left and right\n", "ax.spines['top'].set_visible(False)\n", "ax.spines['right'].set_visible(False)\n", "ax.spines['left'].set_visible(False)\n", "ax.spines['bottom'].set_visible(False)\n", "\n", "# Adding the weight footer\n", "plt.text(0.175,0,'Weight',transform=fig1.transFigure, color='white',\n", " horizontalalignment='center',fontsize=30,\n", " family='sans-serif')\n", "plt.text(0.265,-0.05, start_date_string+\" - \"+end_date_string, \n", " transform=fig1.transFigure, color='white',horizontalalignment='center'\n", " ,fontsize=20, fontweight=550, family='sans-serif')\n", "# Displaying the graph\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "id": "oigDYwG4hfzM" }, "source": [ "*^ Above is a plot we created ourselves!*" ] }, { "cell_type": "markdown", "metadata": { "id": "Hz3gqRAMhntc" }, "source": [ "## 7.3 Plotting participants Workout Minutes" ] }, { "cell_type": "markdown", "metadata": { "id": "zfdtJ5KaibQS" }, "source": [ "If the participant wears an Apple Watch or uses another compatible device, they can go onto the Fitness App to find their average workout minutes in a chart like the one below." ] }, { "cell_type": "markdown", "metadata": { "id": "ENYyEkDUid2t" }, "source": [ "" ] }, { "cell_type": "markdown", "metadata": { "id": "b5ek0Bd4t1uy" }, "source": [ "*Above is a plot from the mobile app itself!*" ] }, { "cell_type": "markdown", "metadata": { "id": "iOQCkIAoih02" }, "source": [ "As cronometer automatically syncs with Apple Health, we have access to all this workout data. In this part of the notebook we will be recreating the plot above." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 0 }, "id": "d6H5WhFUoMRC", "outputId": "a0f512f4-2c26-40b2-eb8d-adf9a8ccb4b9" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "--2023-02-16 01:21:06-- https://www.fontsquirrel.com/fonts/download/open-sans\n", "Resolving www.fontsquirrel.com (www.fontsquirrel.com)... 45.79.150.110, 2600:3c03::f03c:91ff:fe37:ba29\n", "Connecting to www.fontsquirrel.com (www.fontsquirrel.com)|45.79.150.110|:443... connected.\n", "HTTP request sent, awaiting response... 200 OK\n", "Length: 1215743 (1.2M) [application/octet-stream]\n", "Saving to: ‘open-sans’\n", "\n", "open-sans 100%[===================>] 1.16M 2.95MB/s in 0.4s \n", "\n", "2023-02-16 01:21:08 (2.95 MB/s) - ‘open-sans’ saved [1215743/1215743]\n", "\n", "Archive: open-sans\n", " inflating: OpenSans-Light.ttf \n", " inflating: OpenSans-LightItalic.ttf \n", " inflating: OpenSans-Regular.ttf \n", " inflating: OpenSans-Italic.ttf \n", " inflating: OpenSans-Semibold.ttf \n", " inflating: OpenSans-SemiboldItalic.ttf \n", " inflating: OpenSans-Bold.ttf \n", " inflating: OpenSans-BoldItalic.ttf \n", " inflating: OpenSans-ExtraBold.ttf \n", " inflating: OpenSans-ExtraBoldItalic.ttf \n", " inflating: Apache License.txt \n" ] }, { "data": { "image/png": "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oz179ujMmTPy+/06d+6cDh06pCeffFK33377mMcZbxGFjIyMcc8dCARGbSssLIyucAAAAADGmvYQVFxcrOrqamVmZsrlcik9PV1XXHGFPvvZz+p3v/uddu3apeLi4oj7XHzdz7A1a9aMud3lco1aREEaWq0OAAAAACYy7SFoMqtWrdKOHTsivg/o6NGj6uzsHLXvww8/PGoJbofDoU2bNo1aJluS7PYpf+0RAAAAgFluSt8TdLmhIzs7W88++6xWrlypUCikUCikl19+WZ/85Ccj9lu1apW2bdumH//4x2pubtaiRYv0hS98QZWVlWMe99y5c5dVTzS++MV7VVxcrD17duvXv/5VzM4DAAAAILamFIIefPBBbd++XQ899JDq6upUU1OjpqYmnT17Vunp6aqoqNDdd9+thQsXjrpvVVWVPvGJT+hXvxoKFN///vdHhSBJqq6u1uOPPz5q+8DAgFwuV8S2WIagrKyh6X0TXacEAAAAwBpCsfxxu92hJ554IjSWp556KmLfTZs2jbnfxXp7e0Nf+9rXRm1/+umnY/Y4HA5HKDMzM2Sz2WL6fPHDDz/88MMPP/zwww8/sf2J+UU0fr9fX/rSl9TY2DjqttWrV0f8/uCDD+pHP/rRhMfr7e3Vn/7pn455vP3790+t2AkEAgGdPXtWoVAoZucAAAAAEHtTmg4XrYGBAW3evFlf+tKXIrbn5uZG/B4IBPTAAw/oySef1P3336/rr79e8+bN08DAgE6ePKkXXnhBjz/+uA4fPqyHH3541Hl279495vnvvvs/afXq1XrvvfdUX39Y1157nXJzcxUIBNTS0qItW16W2+3WDTes17x5+erv71djY6P+8Ifn1NbWKkn6+tf/VllZWWpra9O3v/2oJGnjxpt000036+DBOv3mN7/Wrbd+XCUlV8hms6mpqUnPP/8HnTgx/ncdAQAAAJh5MxKCJKmtrW3UtrG+60eStm7dqq1bt054vJtvvnnUtl27dk14n+rqalVXV4d/dzqdWrRokb74xXsj9nO5XCorK5PP59O3vvXP49Y5rLCwSA888BeaM2dOeFtJSYnuu+9+fec731JXV9eE9wcAAAAwc2ZsTen8/PxR21pbWy/rWNddd52uvfbaiG2vvfaaWlpaJr3vmTNn9MQTP9G//dtP1NPTE97e09Ojp576uTZtejz8vUUZGRla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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#@title Set date range for the chart above\n", "\n", "start_date = \"2022-04-28\" #@param {type:\"date\"}\n", "end_date = \"2022-05-27\" #@param {type:\"date\"}\n", "\n", "# The next line creates the date header for the chart\n", "date_range_text= (str(datetime.strptime(start_date,'%Y-%m-%d').day)+\n", " ' '+datetime.strptime(start_date,'%Y-%m-%d').strftime(\"%B\")+\n", " ' - '+str(datetime.strptime(end_date,'%Y-%m-%d').day)+' '+\n", " datetime.strptime(end_date,'%Y-%m-%d').strftime(\"%B\"))\n", "\n", "def date_fixer(date):\n", " # Creating a date time object for the date\n", " date = datetime.strptime(date,'%Y-%m-%d')\n", " # Returning the date in the required format\n", " return str(date.strftime(\"%B\"))[:3]+' '+str(date.day)\n", "\n", "exercises_df = pd.DataFrame.from_dict(exercises)\n", "exercises_grouped = exercises_df[exercises_df.get('Exercise')!=\"Active Energy Balance (Apple Health)\"].groupby('Day').sum()\n", "\n", "start_date = datetime.strptime(start_date,'%Y-%m-%d')\n", "end_date = datetime.strptime(end_date,'%Y-%m-%d')\n", "\n", "dates = list(pd.date_range(start_date,end_date,freq='d'))\n", "dates = [datetime.strftime(d,'%Y-%m-%d') for d in dates]\n", "exercises_grouped = exercises_grouped.reset_index()\n", "exercises_grouped = exercises_grouped.assign(Day_cleaned=exercises_grouped.get('Day').apply(datefixer))\n", "\n", "# Assigning the date_fixer function for getting the required xticks\n", "xticks_fixed = [date_fixer(d) for d in dates]\n", "\n", "\n", "exercises_grouped = exercises_grouped[exercises_grouped.get('Day_cleaned')>=start_date]\n", "exercises_grouped = exercises_grouped[exercises_grouped.get('Day_cleaned')<=end_date]\n", "\n", "exercises_grouped = exercises_grouped.set_index('Day')\n", "\n", "!wget https://www.fontsquirrel.com/fonts/download/open-sans\n", "!unzip open-sans\n", "!mv OpenSans-Regular.ttf /usr/share/fonts/truetype/\n", "!mv OpenSans-Light.ttf /usr/share/fonts/truetype/\n", "!mv OpenSans-Semibold.ttf /usr/share/fonts/truetype/\n", "!mv OpenSans-Bold.ttf /usr/share/fonts/truetype/\n", "!mv OpenSans-ExtraBold.ttf /usr/share/fonts/truetype/\n", "\n", "from matplotlib import font_manager as fm\n", "\n", "# Initializing the figure\n", "plt2 = plt.figure(figsize=(14,8),facecolor='#000000')\n", "ax = plt2.gca()\n", "ax.set_facecolor('#000000')\n", "ax.yaxis.tick_right()\n", "ax.set_axisbelow(True)\n", "\n", "# Chart mean\n", "chart_mean = int(exercises_grouped.get('Minutes').mean())\n", "\n", "# Creating grid lines\n", "plt.grid(axis = 'x',color=\"#a1a1a1\", linestyle='--', linewidth=2, alpha = 0.2)\n", "plt.grid(axis = 'y',color=\"#a1a1a1\", linestyle='-', linewidth=2, alpha = 0.2)\n", "\n", "# Plotting the chart\n", "plt.bar(exercises_grouped.index,exercises_grouped.get('Minutes'),width=0.4, \n", " color='#2C2C2E',joinstyle='round')\n", "\n", "plt.axhline(y=int(exercises_grouped.get('Minutes').mean()), xmin=0.1, \n", " linewidth=7,xmax= 0.9, color='#FF5810',solid_capstyle='round')\n", "\n", "# Adding Heart header\n", "\n", "openSansBold = '/usr/share/fonts/truetype/OpenSans-Bold.ttf'\n", "opensans_bold = fm.FontProperties(fname=openSansBold, size= 18, weight='bold')\n", "opensans_bold_heading = fm.FontProperties(fname=openSansBold, size= 36, weight='bold')\n", "\n", "\n", "openSansExtraBold = '/usr/share/fonts/truetype/OpenSans-ExtraBold.ttf'\n", "opensans_ebold = fm.FontProperties(fname=openSansExtraBold, size= 16, weight=500)\n", "\n", "find_tens = lambda start, end: [i for i in range(int(start), int(end)+1) if i % 50 == 0]\n", "# Setting x and y ticks\n", "yticks = find_tens(0,max(exercises_grouped.get('Minutes')+50))\n", "plt.yticks(yticks, color='white',fontsize=16, fontweight=600,\n", " alpha=0.3, fontproperties=opensans_bold)\n", "plt.xticks(exercises_grouped.index[2::4],\n", " [d.split('-')[2].strip('0') for d in list(exercises_grouped.index)][2::4],\n", " color='white',fontsize=16, fontweight=600,\n", " alpha=0.3, fontproperties=opensans_bold)\n", "plt.text(0.79,chart_mean/yticks[-1]+0.07,str(chart_mean)+' min',\n", " fontsize=20,transform=plt2.transFigure, \n", " horizontalalignment='center', color = '#FF5810', fontproperties=opensans_bold)\n", "\n", "\n", "plt.text(0.173,1,\"AVERAGE\",fontsize=16,color='#89898B',transform=plt2.transFigure,\n", " horizontalalignment='center', fontproperties=opensans_bold)\n", "plt.text(0.15,0.94,str(chart_mean),\n", " fontsize=28,transform=plt2.transFigure, \n", " horizontalalignment='center', color = 'white',\n", " fontproperties=opensans_bold_heading)\n", "plt.text(0.19,0.94,'min',fontsize=18,transform=plt2.transFigure, \n", " horizontalalignment='center',color='#89898B',fontproperties=opensans_bold)\n", "plt.text(0.225,0.9,date_range_text,fontsize=14,color='#89898B',\n", " transform=plt2.transFigure, horizontalalignment='center',\n", " fontproperties=opensans_bold)\n", "\n", "# Plotting the chart\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": { "id": "0V8OxkbUtxxI" }, "source": [ "*^ Above is a plot we created ourselves!*\n" ] }, { "cell_type": "markdown", "metadata": { "id": "A8zVw2ynx6Z5" }, "source": [ "# 8. Data Analysis" ] }, { "cell_type": "markdown", "metadata": { "id": "QxqLkxfVx9JJ" }, "source": [ "While doing some research for increasing muscle mass, I stumbled upon an [article](https://www.healthyeating.org/nutrition-topics/general/food-groups/protein) on this website called [HealthyEating](https://www.healthyeating.org) by the [Dairy Council of California](https://en.wikipedia.org/wiki/Dairy_Council_of_California). This article started with a claim that high-protein foods like meat, poultry, fish, beans and peas, eggs and nuts and seeds were also an excellent source of B vitamins.

" ] }, { "cell_type": "markdown", "metadata": { "id": "0wIQX5FwzikF" }, "source": [ "In this portion of the notebook, we will see if there is a general correlation between a food's protein makeup and these given nutrients.

\n", "Before beginning this experiment, let's replot our servings dataset which contains all the food items logged into the Cronometer app." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 540 }, "id": "ekWrWeolx0z-", "outputId": "0a0000b9-544d-48f4-d7ca-215a46dc98e3" }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DayFood NameAmountEnergy (kcal)Alcohol (g)Caffeine (mg)Water (g)B1 (Thiamine) (mg)B2 (Riboflavin) (mg)B3 (Niacin) (mg)...Leucine (g)Lysine (g)Methionine (g)Phenylalanine (g)Protein (g)Threonine (g)Tryptophan (g)Tyrosine (g)Valine (g)Category
02022-03-01Chipotle, Black Beans1.00 cup, whole pieces196.160.00.0122.040.340.090.79...0.940.810.180.6411.950.500.140.340.62Fast Foods
12022-03-02Chipotle, Black Beans1.00 cup, whole pieces196.160.00.0122.040.340.090.79...0.940.810.180.6411.950.500.140.340.62Fast Foods
22022-03-04Sausage, Pork, Fresh3.00 medium link - breakfast size195.000.00.029.930.150.113.67...0.820.740.260.4011.120.370.110.310.53Sausages and Luncheon Meats
32022-03-05Vegetable Soup, Plain, Homemade1.00 cup97.240.00.0234.000.260.101.42...0.180.170.040.123.120.120.040.080.15Soups, Sauces, and Gravies
42022-03-06Doritos, Tortilla Chips, Nacho Cheese1.00 oz140.680.00.02.260.080.050.79...0.240.060.040.102.050.080.020.080.10Snacks
\n", "

5 rows × 55 columns

\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ], "text/plain": [ " Day Food Name \\\n", "0 2022-03-01 Chipotle, Black Beans \n", "1 2022-03-02 Chipotle, Black Beans \n", "2 2022-03-04 Sausage, Pork, Fresh \n", "3 2022-03-05 Vegetable Soup, Plain, Homemade \n", "4 2022-03-06 Doritos, Tortilla Chips, Nacho Cheese \n", "\n", " Amount Energy (kcal) Alcohol (g) \\\n", "0 1.00 cup, whole pieces 196.16 0.0 \n", "1 1.00 cup, whole pieces 196.16 0.0 \n", "2 3.00 medium link - breakfast size 195.00 0.0 \n", "3 1.00 cup 97.24 0.0 \n", "4 1.00 oz 140.68 0.0 \n", "\n", " Caffeine (mg) Water (g) B1 (Thiamine) (mg) B2 (Riboflavin) (mg) \\\n", "0 0.0 122.04 0.34 0.09 \n", "1 0.0 122.04 0.34 0.09 \n", "2 0.0 29.93 0.15 0.11 \n", "3 0.0 234.00 0.26 0.10 \n", "4 0.0 2.26 0.08 0.05 \n", "\n", " B3 (Niacin) (mg) ... Leucine (g) Lysine (g) Methionine (g) \\\n", "0 0.79 ... 0.94 0.81 0.18 \n", "1 0.79 ... 0.94 0.81 0.18 \n", "2 3.67 ... 0.82 0.74 0.26 \n", "3 1.42 ... 0.18 0.17 0.04 \n", "4 0.79 ... 0.24 0.06 0.04 \n", "\n", " Phenylalanine (g) Protein (g) Threonine (g) Tryptophan (g) \\\n", "0 0.64 11.95 0.50 0.14 \n", "1 0.64 11.95 0.50 0.14 \n", "2 0.40 11.12 0.37 0.11 \n", "3 0.12 3.12 0.12 0.04 \n", "4 0.10 2.05 0.08 0.02 \n", "\n", " Tyrosine (g) Valine (g) Category \n", "0 0.34 0.62 Fast Foods \n", "1 0.34 0.62 Fast Foods \n", "2 0.31 0.53 Sausages and Luncheon Meats \n", "3 0.08 0.15 Soups, Sauces, and Gravies \n", "4 0.08 0.10 Snacks \n", "\n", "[5 rows x 55 columns]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "servings_df.head()" ] }, { "cell_type": "markdown", "metadata": { "id": "O92v86AcznDn" }, "source": [ "This current Data Frame has 55 columns, let's shorted it down to the columns that we specifically require in our analysis." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 206 }, "id": "k6IDpA25zabv", "outputId": "67cc9c0f-452b-4e02-ca9d-9216d9323b38" }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DayProtein (g)B1 (Thiamine) (mg)B2 (Riboflavin) (mg)B3 (Niacin) (mg)B5 (Pantothenic Acid) (mg)B6 (Pyridoxine) (mg)B12 (Cobalamin) (µg)
02022-03-0111.950.340.090.790.360.140.00
12022-03-0211.950.340.090.790.360.140.00
22022-03-0411.120.150.113.670.480.120.59
32022-03-053.120.260.101.420.620.290.00
42022-03-062.050.080.050.790.110.130.00
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ], "text/plain": [ " Day Protein (g) B1 (Thiamine) (mg) B2 (Riboflavin) (mg) \\\n", "0 2022-03-01 11.95 0.34 0.09 \n", "1 2022-03-02 11.95 0.34 0.09 \n", "2 2022-03-04 11.12 0.15 0.11 \n", "3 2022-03-05 3.12 0.26 0.10 \n", "4 2022-03-06 2.05 0.08 0.05 \n", "\n", " B3 (Niacin) (mg) B5 (Pantothenic Acid) (mg) B6 (Pyridoxine) (mg) \\\n", "0 0.79 0.36 0.14 \n", "1 0.79 0.36 0.14 \n", "2 3.67 0.48 0.12 \n", "3 1.42 0.62 0.29 \n", "4 0.79 0.11 0.13 \n", "\n", " B12 (Cobalamin) (µg) \n", "0 0.00 \n", "1 0.00 \n", "2 0.59 \n", "3 0.00 \n", "4 0.00 " ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "servings_cleaned = servings_df.get(['Day','Protein (g)','B1 (Thiamine) (mg)',\n", " 'B2 (Riboflavin) (mg)', 'B3 (Niacin) (mg)',\n", " 'B5 (Pantothenic Acid) (mg)', 'B6 (Pyridoxine) (mg)',\n", " 'B12 (Cobalamin) (µg)']).dropna()\n", "\n", "servings_cleaned.head()" ] }, { "cell_type": "markdown", "metadata": { "id": "tk2dTiGBzywQ" }, "source": [ "As we there are multiple versions of Vitamin Bs, let's aggregate them into a single column with the sum of all Vitamin Bs." ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 206 }, "id": "NDdm0kD2zoL3", "outputId": "49be094f-dc0c-45cc-d758-4a93106f5c16" }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DayProtein (g)B1 (Thiamine) (mg)B2 (Riboflavin) (mg)B3 (Niacin) (mg)B5 (Pantothenic Acid) (mg)B6 (Pyridoxine) (mg)B12 (Cobalamin) (µg)Vitamin_BoutlierEE_scores
02022-03-0111.950.340.090.790.360.140.001.721-7.972490
12022-03-0211.950.340.090.790.360.140.001.721-7.972490
22022-03-0411.120.150.113.670.480.120.595.121-0.043979
32022-03-053.120.260.101.420.620.290.002.691-0.796108
42022-03-062.050.080.050.790.110.130.001.161-0.980568
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ], "text/plain": [ " Day Protein (g) B1 (Thiamine) (mg) B2 (Riboflavin) (mg) \\\n", "0 2022-03-01 11.95 0.34 0.09 \n", "1 2022-03-02 11.95 0.34 0.09 \n", "2 2022-03-04 11.12 0.15 0.11 \n", "3 2022-03-05 3.12 0.26 0.10 \n", "4 2022-03-06 2.05 0.08 0.05 \n", "\n", " B3 (Niacin) (mg) B5 (Pantothenic Acid) (mg) B6 (Pyridoxine) (mg) \\\n", "0 0.79 0.36 0.14 \n", "1 0.79 0.36 0.14 \n", "2 3.67 0.48 0.12 \n", "3 1.42 0.62 0.29 \n", "4 0.79 0.11 0.13 \n", "\n", " B12 (Cobalamin) (µg) Vitamin_B outlier EE_scores \n", "0 0.00 1.72 1 -7.972490 \n", "1 0.00 1.72 1 -7.972490 \n", "2 0.59 5.12 1 -0.043979 \n", "3 0.00 2.69 1 -0.796108 \n", "4 0.00 1.16 1 -0.980568 " ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "servings_cleaned = servings_cleaned.assign(Vitamin_B = servings_cleaned.get([\n", " 'B1 (Thiamine) (mg)','B2 (Riboflavin) (mg)', 'B3 (Niacin) (mg)',\n", " 'B5 (Pantothenic Acid) (mg)', 'B6 (Pyridoxine) (mg)',\n", " 'B12 (Cobalamin) (µg)']).sum(axis=1))\n", "\n", "servings_cleaned.head()" ] }, { "cell_type": "markdown", "metadata": { "id": "Gx7Trvvvz5Y5" }, "source": [ "For our plot, let's see if there is a visual correlation between the Protein content of a food item and their Vitamin B content. " ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 521 }, "id": "lylWh7Lqz0Nc", "outputId": "9e6a7a9d-c465-4531-8a70-83624bba6b63" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] }, { "data": { "image/png": "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j3/04p9xrNcb+VkWT1QxVmQRg94AXMcGIhWMi+02uAcDsConqh4HVB3FdtuUjz0ZfAE10p83TBTM40REREREROkgpWZqDx06hBtvvBFXXXUVbrzxRhw+fPiUHkcQgBybjEJ7FvJzLPAFNBzr9aJvSI1q27Ni6Qxomg5/UINhGPAHNWiajhVLZyToFaU2m0WGbkQf0w3zOBERERERUTpIqVD7wAMPYM2aNXj77bexZs0a3H///RO6vyQKyM+xoKwwG1aLDHe/H529Xgz5gtB0AwYMXHmeM3L+gppi3HxFHRw5Fgz5VDhyLLj5irpp05rnyvOcMGCY741hxH2PiIiIiIiIUlnKTMl1d3dj3759eOGFFwAAK1euxEMPPYSenh4UFhaO6zEK7TYM+gZwvNcLLTQFmW2Vx6zsO537y4bfC1Y/JiIiIiKidJUyoba9vR1lZWWQJHN5sCRJKC0tRXt7+7hDbZfbi77BQNSxp759ccLHmklWXTSbIZaIiIiIiNJWyoTaRDBG7A+dX1OIkpK85AyGTguvW2bh9cwsvJ6Zhdczs/B6ZhZez8zBazm5UibUVlRUoLOzE5qmQZIkaJqGY8eOoaKi4pQe78xqO759/SIcP96f4JHSZCspyeN1yyC8npmF1zOz8HpmFl7PzMLrmTl4LRNDFAUUFeXGvS1lQm1RURHq6+uxefNmrF69Gps3b0Z9ff24lx4DQElBFgzDmFbFnoiIiIiIiKazlAm1APD9738f69atwzPPPIP8/Hxs2LBhQvfPz1JwBQMtERERERHRtJFSobampgavvPLKKd//71bPgz6y8SoRERERERFlrJTqU0tEREREREQ0EQy1RERERERElLYYaomIiIiIiChtMdQSERERERFR2mKoJSIiIiIiorTFUEtERERERERpi6GWiIiIiIiI0hZDLREREREREaUthloiIiIiIiJKWwy1RERERERElLYYaomIiIiIiChtMdQSERERERFR2mKoJSIiIiIiorQlJ3sAiSSKQrKHQAnCa5lZeD0zC69nZuH1zCy8npmF1zNz8FqevrHeQ8EwDGMKx0JERERERESUMFx+TERERERERGmLoZaIiIiIiIjSFkMtERERERERpS2GWiIiIiIiIkpbDLVERERERESUthhqiYiIiIiIKG0x1BIREREREVHaYqglIiIiIiKitMVQS0RE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3347EmqffPJJzJkzB08//XRkVr22thbXXXdd3OtXX1+Pn/3sZ9B1HaLIxWZERGTi3whERJS2rrnmGuzZsweHDh0CAOzZswcHDx4cdZZ2PN59913ccsstWLp0Kc466yycffbZOHz4cOQ5hrv44oujfp49ezays7MjgTZ8DADa29tP+twjH6+urm7c9y0qKsKrr76KV199FS+//DI2bNiA3t5e3HHHHfD5fADMUKgoCr797W/jrbfeQnd390kfFwCOHTsGAKPONMd7HwAz4IbZ7XYUFhZGXoumadi7dy+uvPLKqMJT8+bNg9PpjPs8hYWFCAQCcLvd4xo3ERFNDwy1RESUtlatWgVRFLFp0yYAZoEoi8WCL3zhC6f0eJ9++im+/vWvIycnB+vXr8evfvUrvPrqqzjzzDPjtg+y2+1RPyuKgry8vKhjFosFAOD3+0/6/A6H45TvK8sy5s+fj/nz52PRokW45ppr8Nhjj2Hv3r349a9/DQA444wz8Pzzz0PXddxzzz248MILccMNN+D9998f87HDzx8ez0jx3gcAyM/Pj3k94cfq7e1FMBhEUVFRzOMVFxfHfR6bzRY1HiIiIoChloiI0lhZWRk+//nP44033kAgEMCbb76JSy+9NCZkjdeWLVsgSRKefPJJXH755Vi4cCHmz5+f0F6vUym8zHf//v2RY5/73Ofws5/9DB988AFeeOEFSJKEv/u7v0NPT8+ojxMO2x6PJ2FjKygogKIocWeLu7q64t4nPENbUFCQsHEQEVH6Y6glIqK0du2116K1tRWPP/44ent7T7pvFTgx4xhelhvm9XohimLUctj33nsPbW1tiR30FAmH2XjLhi0WCy644ALcfvvtGBoagsvlGvVxwsuJT1ZQaiIkScK8efOwZcsWGIYROb53795Rx+JyuVBRURGZsSUiIgJYKIqIiNLc5ZdfjtzcXPznf/4nioqKovZxjqampgYA8MILL+Diiy+GKIqYP38+li1bhv/6r//CunXrcN111+HQoUN45pln0qIvajAYjLQeUlUVhw8fxk9/+lPk5OTgS1/6EgDgxRdfxAcffICLL74YFRUV6O3txb/927+htLQ0sn83ngULFsBiseAvf/lL1H7h03XXXXfha1/7Gu68807ceOON6O3txZNPPomSkpKo/2MhbM+ePQl9fiIiygwMtURElNZsNhv+5m/+Bq+88gpWrlwZU804nksvvRRr1qzBL3/5Szz99NMwDAP79+/HsmXLcN999+GFF17Ali1bUFtbi0cffRTPPvvsFLyS09PT04Mbb7wRgDkLWlZWhnPOOQd33nknqqurAZjVi//4xz/i8ccfR3d3NxwOB84991w89thjY85+Wq1WXHbZZdi2bRu++tWvJmzMF154IR577DE89dRTuPPOO3HGGWdg3bp1ePrpp2P2Jre3t+Ozzz4bta0QERFNX4IxfM0PERERURy7du3CV77yFWzbtg2VlZWT9jwdHR244oor8I1vfAN33nln5Phzzz2Hl156Ce+8805Mb2EiIpreuKeWiIiITmrp0qW44IIL8PzzzyfsMX0+Hx544AG8/fbbeP/99/Haa6/hq1/9KrKysnD99ddHzvP7/fj5z3+Ov//7v2egJSKiGFx+TERERONy3333YevWrTAMI+6e14kSRRFdXV146KGH4Ha7kZWVhcWLF+OJJ55AaWlp5DyXy4Vbb70Vq1evPu3nJCKizMPlx0RERERERJS2uPyYiIiIiIiI0hZDLREREREREaUthloiIiIiIiJKWwy1RERERERElLYYaomIiIiIiCht/f+tGGf6HHFDNwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "# Setting Figure Size in Seaborn\n", "sns.set(rc={'figure.figsize':(16,8)})\n", "\n", "# Setting Seaborn plot style\n", "sns.set_style(\"darkgrid\")\n", "\n", "#Plotting our data\n", "plot = sns.regplot(data=servings_cleaned, x='Protein (g)', y=\"Vitamin_B\")\n", "\n", "#Renaming x and y labels\n", "plot.set_ylabel(\"Protein (g)\", fontsize = 16)\n", "plot.set_xlabel(\"Vitamin Bs (mg)\", fontsize = 16)\n", "\n", "print()" ] }, { "cell_type": "markdown", "metadata": { "id": "g9V_DNxz0MBW" }, "source": [ "Based on the graph, it appears that there is a positive association between the protein content and vitamin B content in food. To confirm this relationship statistically, we will utilize linear regression to determine the optimal line of fit and calculate the correlation coefficient and p-value.\n", "\n", "To perform the linear regression and obtain the correlation coefficient and p-value, you can use statistical functions from the scipy package in Python. The scipy.stats module provides functions for linear regression, correlation coefficient calculation, and p-value calculation." ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "HGGV6RIbz69B", "outputId": "aa718783-83ce-455a-90d1-c0bbd2f77797" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Slope: 0.316\n", "Coefficient of determination: 0.5\n", "p-value: 1.73e-15\n" ] } ], "source": [ "from scipy import stats\n", "\n", "slope, intercept, r_value, p_value, std_err = stats.linregress(\n", " servings_cleaned.get('Protein (g)'), servings_cleaned.get('Vitamin_B'))\n", "\n", "print(f'Slope: {slope:.3g}')\n", "print(f'Coefficient of determination: {r_value**2:.3g}')\n", "print(f'p-value: {p_value:.3g}')" ] }, { "cell_type": "markdown", "metadata": { "id": "G6dUw6P10Oi0" }, "source": [ "The p-value is 1.73e-15 is much smaller than the 5% cutoff. This means that there is enough evidence to convincingly conclude that that there is a correlation between protein and vitamin B intake in a food item." ] }, { "cell_type": "markdown", "metadata": { "id": "v7EPWmfi0hnO" }, "source": [ "## 9.0 Outlier Detection" ] }, { "cell_type": "markdown", "metadata": { "id": "kHkgd9Fz0rr4" }, "source": [ "However, even though our P value seems to provide enough statistical significance that there is a correlation between Protein and Vitamin B makeup, there might be outliers that are not following this correlation. In this section of our analysis, we will find if there are outliers like that and if they exist, we will visually highlight them in our plot." ] }, { "cell_type": "markdown", "metadata": { "id": "pTt7b69a0ttt" }, "source": [ "Before finding the individual outlier values, it would be interesting to see the summary of our Protein and Vitamin B intake. Analyzing a summary of our Protein and Vitamin B intake would be valuable as it provides insight into the typical values and highlights values that may be considered unusual based on the data we collected from Cronometer. The summary shows key statistical measures such as the minimum, maximum, mean, median, and standard deviation of the data, which can give us an idea of the range and distribution of the values." ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 269 }, "id": "PJwt82iy0Nww", "outputId": "fe688d27-a3d9-42ed-aeed-ab0cc4e0bcdf" }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Protein (g)Vitamin_B
mean14.0603196.310851
std14.7196036.574157
min0.0100000.000000
25%3.1200001.990000
50%8.9600005.005000
75%20.8375007.842500
max77.08000030.640000
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ], "text/plain": [ " Protein (g) Vitamin_B\n", "mean 14.060319 6.310851\n", "std 14.719603 6.574157\n", "min 0.010000 0.000000\n", "25% 3.120000 1.990000\n", "50% 8.960000 5.005000\n", "75% 20.837500 7.842500\n", "max 77.080000 30.640000" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "servings_cleaned_summary = servings_cleaned.describe().get(\n", " ['Protein (g)','Vitamin_B']).drop('count')\n", "servings_cleaned_summary" ] }, { "cell_type": "markdown", "metadata": { "id": "VcgDYako00pd" }, "source": [ "To locate the outliers we will be using a supervised as well as unsupervised algorithm called the Elliptic Envelope. In statistical studies, Elliptic Envelope created an imaginary elliptical area around a given dataset where values inside that imaginary area is considered to be normal data, and anything else is assumed to be outliers. It assumes that the given Data follows a gaussian distribution.\n", "\n", "\"The main idea is to define the shape of the data and anomalies are those observations that lie far outside the shape. First a robust estimate of covariance of data is fitted into an ellipse around the central mode. Then, the Mahalanobis distance that is obtained from this estimate is used to define the threshold for determining outliers or anomalies.\" [(S. Shriram and E. Sivasankar ,2019, pp. 221-225)](https://ieeexplore.ieee.org/document/9004325)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "VtGULFfM01oE", "outputId": "3be1507c-6460-4099-a170-2ce9d69fa2e9" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1 93\n", "-1 1\n", "Name: outlier, dtype: int64\n" ] } ], "source": [ "from sklearn.covariance import EllipticEnvelope\n", "import copy\n", "\n", "# Sometimes EllipticEnvelope shows slicing based copy warnings\n", "# The next line changes a setting that prevents the error from happening\n", "\n", "pd.set_option('mode.chained_assignment', None)\n", "\n", "#create the model, set the contamination as 0.02\n", "EE_model = EllipticEnvelope(contamination = 0.02)\n", "\n", "#implement the model on the data\n", "outliers = EE_model.fit_predict(servings_cleaned.get(\n", " ['Protein (g)','Vitamin_B']))\n", "\n", "#extract the labels\n", "servings_cleaned[\"outlier\"] = copy.deepcopy(outliers)\n", "\n", "#change the labels\n", "# We use -1 to mark an outlier and +1 for an inliner\n", "servings_cleaned[\"outlier\"] = servings_cleaned[\"outlier\"].apply(\n", " lambda x: str(-1) if x == -1 else str(1))\n", "\n", "#extract the score\n", "servings_cleaned[\"EE_scores\"] = EE_model.score_samples(\n", " servings_cleaned.get(['Protein (g)','Vitamin_B']))\n", "\n", "#print the value counts for inlier and outliers\n", "print(servings_cleaned[\"outlier\"].value_counts())" ] }, { "cell_type": "markdown", "metadata": { "id": "8LnIuIbn1o3L" }, "source": [ "Below we will replot the servings_cleaned_summary dataframe to see how the two new columns were applied to it!" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 206 }, "id": "MHY0xoj31Cwk", "outputId": "110e447b-435d-4f09-8bbf-bd55ad17e9d5" }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DayProtein (g)B1 (Thiamine) (mg)B2 (Riboflavin) (mg)B3 (Niacin) (mg)B5 (Pantothenic Acid) (mg)B6 (Pyridoxine) (mg)B12 (Cobalamin) (µg)Vitamin_BoutlierEE_scores
02022-03-0111.950.340.090.790.360.140.001.721-7.972490
12022-03-0211.950.340.090.790.360.140.001.721-7.972490
22022-03-0411.120.150.113.670.480.120.595.121-0.043979
32022-03-053.120.260.101.420.620.290.002.691-0.796108
42022-03-062.050.080.050.790.110.130.001.161-0.980568
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ], "text/plain": [ " Day Protein (g) B1 (Thiamine) (mg) B2 (Riboflavin) (mg) \\\n", "0 2022-03-01 11.95 0.34 0.09 \n", "1 2022-03-02 11.95 0.34 0.09 \n", "2 2022-03-04 11.12 0.15 0.11 \n", "3 2022-03-05 3.12 0.26 0.10 \n", "4 2022-03-06 2.05 0.08 0.05 \n", "\n", " B3 (Niacin) (mg) B5 (Pantothenic Acid) (mg) B6 (Pyridoxine) (mg) \\\n", "0 0.79 0.36 0.14 \n", "1 0.79 0.36 0.14 \n", "2 3.67 0.48 0.12 \n", "3 1.42 0.62 0.29 \n", "4 0.79 0.11 0.13 \n", "\n", " B12 (Cobalamin) (µg) Vitamin_B outlier EE_scores \n", "0 0.00 1.72 1 -7.972490 \n", "1 0.00 1.72 1 -7.972490 \n", "2 0.59 5.12 1 -0.043979 \n", "3 0.00 2.69 1 -0.796108 \n", "4 0.00 1.16 1 -0.980568 " ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "servings_cleaned.head()" ] }, { "cell_type": "markdown", "metadata": { "id": "ZHRVUR411vL1" }, "source": [ "\n", "Now that we have labeled the outliers as -1, let's try to see which values of protien intake and vitamin B are being identified as outliers by our Elliptic Envelope Algorithm." ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 81 }, "id": "GQ2VV75j1JmL", "outputId": "6bf3845c-f9c7-4966-df86-09a87cb4e4bc" }, "outputs": [ { "data": { "text/html": [ "\n", "
\n", "
\n", "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Protein (g)Vitamin_B
7077.082.45
\n", "
\n", " \n", " \n", " \n", "\n", " \n", "
\n", "
\n", " " ], "text/plain": [ " Protein (g) Vitamin_B\n", "70 77.08 2.45" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "outlier_df = servings_cleaned[servings_cleaned.get('outlier')=='-1'].get(\n", " ['Protein (g)','Vitamin_B'])\n", "outlier_df_cleaned = outlier_df.drop_duplicates()\n", "outlier_df_cleaned" ] }, { "cell_type": "markdown", "metadata": { "id": "Sfb-KyGvkuoS" }, "source": [ "By matching the outlier values with their respective food items, we can identify which specific foods are contributing to the outliers in our protein vs. vitamin scatterplot. This information can help us understand which foods may be driving the unusual values and potentially provide insights into why these outliers exist." ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "wDL5SA8okbpZ", "outputId": "11a3b215-d86d-4ae2-d416-cbc2958747fe" }, "outputs": [ { "data": { "text/plain": [ "['Whey Protein Powder, 24 Grams of Protein per Scoop']" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "servings_df.loc[outlier_df_cleaned.index]['Food Name'].to_list()" ] }, { "cell_type": "markdown", "metadata": { "id": "M60tL_B2lHRY" }, "source": [ "Our algorithm identifies the scoop of protein powder as an outlier due to its high protein content relative to its low Vitamin B content, which causes it to deviate significantly from the overall pattern of the data in the protein vs. Vitamin B scatterplot." ] }, { "cell_type": "markdown", "metadata": { "id": "4z2PI5sj10gN" }, "source": [ "Sweet, now that we know that there were outliers in our dataset, let's try to visually see which pair of values are being identified as outliers using a plot. Highlighting these outliers in a bright red color will make it super easy for us to identify them in our plot." ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 502 }, "id": "GbvM4qZr1x67", "outputId": "304eb2e5-7d5f-4b00-d0d8-2e14db010735" }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7MAAAHlCAYAAAAnVqusAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeWxc93n/+885ZzaSosRFosiRZMmSrF0ibcm7JObn5Ncb9KZuEjS9QVqkaOA2aeJct0FsBFnsrL/AjhGgi1PbMVq0RW/SpEu8IIiT2o0oyYrXkJSsxas2DilSJCXOPme7fww5khPboiRyZs7w/QIMWF+KM4/0Fcn5zHnO9zF83/cFAAAAAECAmJUuAAAAAACAi0WYBQAAAAAEDmEWAAAAABA4hFkAAAAAQOAQZgEAAAAAgUOYBQAAAAAETqjSBcyE8fG0PI8JQ0HS2jpPo6OpSpeBi8S+BRd7F0zsWzCxb8HF3gUT+xZM09030zTU3Nzwth+riTDreT5hNoDYs2Bi34KLvQsm9i2Y2LfgYu+CiX0LpsvdN9qMAQAAAACBQ5gFAAAAAAQOYRYAAAAAEDiEWQAAAABA4BBmAQAAAACBQ5gFAAAAAAQOYRYAAAAAEDiEWQAAAABA4BBmAQAAAACBQ5gFAAAAAAQOYRYAAAAAEDiEWQAAAABA4BBmAQAAAACBQ5gFAAAAAAQOYRYAAAAAEDiEWQAAAABA4BBmAQAAAACBQ5gFAADAnObLr3QJAC4BYRYAAABzku16OpPKy/MqXQmASxGqdAEAAABAOXm+r3TOUSZny5BR6XIAXCLCLAAAAOYIXznbUypdkOMVW4sNsiwQWIRZAADK4PuPHdCzh0bk+b5Mw9D16xfpz27dVOmygDnDcX0lMwXlbbfSpQCYIdwzCwDALPv+Ywe07+CwPL94Jcjzfe07OKzvP3agwpUBtc/zfSWztkYnsgRZoMYQZgEAmGXPHhqRJBnn/Xf+OoDZ4Ctnuxo7m1M6a8vnwGKg5tBmDADALPPe4VX0O60DuDy0FANzA2EWAIBZZhrG2wZXk5NngBl1/inFvFcE1D7ajAEAmGXXr18kSfLP++/8dQCXL1twaCkG5hjCLAAAs+zPbt2kGze0la7EmoahGze0cZoxcJkMQyo4nsaSeZ1NnRu3A2BuoM0YAIAy+LNbN+nPbq10FUDtcD1f6ZytbN7hSiwwR5UtzH7605/WyZMnZZqm6uvr9ZWvfEXr16/Xm2++qS984Qs6c+aMmpqadO+992rFihXlKgsAAAAB4vvFluJU1pbHlVhgTitbmL333nvV2NgoSfrv//5vffGLX9R//dd/6Z577tHHPvYx/f7v/74effRR3X333frnf/7ncpUFAACAADAMKV9wlcwWZDuEWABlvGd2KshKUiqVkmEYGh0d1cGDB/WBD3xAkvSBD3xABw8e1NjYWLnKAgAAQJVzPU/jqbzGU3mCLICSst4z+6UvfUl79+6V7/t65JFHNDg4qMWLF8uyLEmSZVlqa2vT4OCgWlpapv24ra3zZqtkzKJFixov/JtQddi34GLvgol9Cyb2bWa4rqdkxpadt1XfYKm+YWYf/8Drp7XrpQHlCo5i0ZA+/J7V2rZ+8cw+CcqCr7lgutx9K2uY/da3viVJ+slPfqL77rtPd9xxx4w87uhoinsmAmbRokaNjCQrXQYuEvsWXOxdMLFvwcS+zQRfOdtTKlOQ487Oa7wjx8f12N431VAXVtO8iEbGM3roP/t19r2rtWXVwll5TswOvuaCabr7ZprGO168rMhong9+8IN69tln1d7erlOnTsl1XUmS67oaHh5WR0dHJcoCAABAhdmup/FkQWeS+VkLspK0uy8hyzIVDlkyDEPRsKVQyNDPnj0+a88JYGaVJcym02kNDg6Wfv30009rwYIFam1t1fr16/XEE09Ikp544gmtX7/+olqMAQAAEHye7yuZtTU2kVPedmf9+caTeYWtt74UjoYtnT6bm/XnBjAzytJmnM1mdccddyibzco0TS1YsEAPPvigDMPQV7/6VX3hC1/Q9773Pc2fP1/33ntvOUoCAABAFfBVHLWTzthyy3jbWHNjVBNZW7Hz1vK2q4ULYu/4OQCqS1nC7MKFC/WjH/3obT+2atUq/fjHPy5HGQAAAKgShiHlJ++LLThe2Z9/R2dcj+19U7bjyvet4tVgX3r/9VeUvRYAl6asB0ABAAAArucrlbWVKzjyK3SG59ormnWrpOcOnlI256qpIaL/53fWafnC+soUBOCiEWYBAABQFr4vZQqO0lm7KiZRrL2iWeuXt6h1QUyWaXAqLhAwhFkAAADMKsOQ8gVPyWxetlP5EAugNhBmAQAAMGs8z1My61S0pRhAbSLMAgAAYFakc7bSOacqWooB1B7CLAAAAGZMsaXY1US2IIeWYgCziDALAACAGeF6npJZW/mCS0sxgFlHmAUAAMBl8eUrk3OUzjrySLEAyoQwCwAAgEvkK297StJSDKACCLMAAAC4aI7nKZWZbCmudDEA5iTCLAAAAKbNl690zlGGlmIAFUaYBQAAwDT4ytmeUpmCHJcQC6DyCLMAAAB4V47nK5UuKG/TUgygehBmAQAA8LZ8+UplHWVztBQDqD6EWQAAAPyGyZbidEGOR4gFUJ0IswAAAChxXF+pTEE52610KQDwrgizAAAAkOdPnlKcs0VHMYAgIMwCAADMabQUAwgmwiwAAMAc5bi+kpniKcUAEDSEWQAAgDmGlmIAtYAwCwAAMIfkbJeWYgA1gTALAAAwB9iup1TGpqUYQM0gzAIAANQwWooB1CrCLAAAQI3KFhylMzYtxQBqEmEWAACgxhQcT6msrQItxQBqGGEWAACgRni+r1TWVjbv0FIMoOYRZgEAAALO17mWYpeWYgBzBGEWAAAgoAxDytu0FAOYmwizAAAAAeT5vlIZWooBzF2EWQAAgAChpRgAigizAAAAAUBLMQC8FWEWAACgyrmer3SOlmIAOB9hFgAAoEr5krJ5R6msLY+WYgB4C8IsAABAlZlqKU5mCrIdr9LlAEBVIswCAABUEdfzlcrayhVoKQaAd0OYBQAAqAK+XzylmJZiAJgewiwAAEAFGYaUL3hKZmkpBoCLQZgFAACoEM/zlMw6tBQDwCUgzAIAAJSZ70uZgqM0LcUAcMkIswAAAGVSbCl2J1uKCbEAcDkIswAAAGXgeZ4msrbyBZeWYgCYAYRZAACAWZbO2UrnHFqKAWAGEWYBAABmwVRL8US2IIeW4prmn3ep3TCMClYCzC2EWQAAgBnmep6StBTPKYRYoPwIswAAADPEl6+zybxGz+blkWLnDIIsUBmEWQAAgMvmK297SmYLmi+TIAsAZUCYBQAAuAyu5ymZmWwprnQxADCHEGYBAAAugS9f6ZyjTNbhSmyNmjrYiTZioDoRZgEAAC7KZEtxpiDHJcTWGv833pggyALVizALAAAwTY7nK5Up0FJcgxivAwQPYRYAAOACaCmuXb7vF4PsZIAlyALBQZgFAAB4R75ytqcULcU1J5t39KuXT+nAm6N639Zl+l/XLKl0SQAuEmEWAADgbTjuZEuxTUtxLTmbLmjv/kE9d+iUCrYnSTpyYpwwCwQQYRYAAOA8nl9sKc7maCmuJSNnstrdl9CvXz0t1yvuazRs6YYNi/Wh7pUVrg7ApShLmB0fH9ddd92l48ePKxKJaPny5fr617+ulpYWrV27VmvWrJFpmpKk++67T2vXri1HWQAAAOeZbClOF+R4hNhacXI4pV19CR18c6x0hb2hLqybN7Xr+g2L1RALqyEWrmiNAC5NWcKsYRi67bbbdP3110uS7r33Xt1///36P//n/0iSfvjDH6qhoaEcpQAAAPwWx/WVnGwpRvD5vq/XBya0q29Arw9MlNabG6Pa0dmhrWvaFA6ZFawQwEwoS5htamoqBVlJ6urq0g9+8INyPDUAAMA7mmopzuRs0VEcfJ7n6+WjY9rVm1DidLq03tFar52dcW1a2SrL5LRioFYY/m9Ohp5lnufpE5/4hG655RZ9/OMf19q1a7Vx40a5rqudO3fqs5/9rCKRSDlLAgAAc4zv+0plbaUyBdFRHHy24+lXBwb182ePaWQ8W1q/almT3n/jCm24suUdR+4YhrSoqU7hkFWucgHMkLKH2a997Ws6deqU/u7v/k6maWpwcFAdHR1KpVK68847tWbNGv3VX/3VRT3m6GhKHj+JAmXRokaNjCQrXQYuEvsWXOxdMLFvs8N2PaUy9qy1FLe0NGhsLH3h34jLlis4eu7gsPYeGFQyY5fW1y9vVndXXFcsbrzgY5iGodYFMVmmwddcQLFvwTTdfTNNQ62t8972Y2U9zfjee+/VsWPH9OCDD5YOfOro6JAkzZs3Tx/5yEf0j//4j+UsCQAAzBG0FNeOZKagZw4M6dmDp5QrFN+UMA1DXVe1akdnXIub6ytcIYByKFuY/e53v6sDBw7o4YcfLrURnz17VtFoVLFYTI7j6Mknn9T69evLVRIAAJgjsgVH6YzNKcUBNzaR0+7+Qb14ZFiOW9zLcMjUdevadPOWDjXNi1a4QgDlVJYw++qrr+qhhx7SihUr9NGPflSStHTpUt122226++67ZRiGHMfR1VdfrTvuuKMcJQEAgDnAdj0lM7YKnFIcaIOjae3qTWj/G6Olq+p10ZBu2tSuGzcuVj2jdYA5qSxh9qqrrtKRI0fe9mOPP/54OUoAAABziDd5wFM279BSHFC+7+vNwaR6+gb0yomzpfUFDRFt39Kha9e1KRLm0CZgLivrPbMAAACzyVfxUKBUxpZLS3Egeb6vw8fGtas3oRPDqdJ6W3OddnbG1bm6VZbJjFgAhFkAAFADDEPK255SWVqKg8pxPfW/PqpdvQmNnDk3XmdZ2zy9pyuutcubZb7DeB0AcxNhFgAABJrn+0plaCkOqoLt6vnDw9rTP6iz6UJpfc2yJnV3xbWivfEdZ8QCmNsIswAAIJB8nTulmJbi4MnkbO17+ZSeOTCkbN6RVLzCvmVVq3Z2xtXR2lDhCgFUO8IsAAAIFFqKg+1MKq89/YN6/vCwbMeTJIUsQ1vXtmnHlg61zI9VuEIAQUGYBQAAgeF6vtI5WoqD6NR4Rrv7Eup9dVTe5ObFIpZu2LBYN25qV2N9pMIVAggawiwAAKh6vqRs3lEqa8ujpThQjp9KaldvQoeOjZfWGuvDunlzh65b36ZYhJejAC4N3z0AAEDVmmopTmYKpZZUVD/f9/XKiTPa1ZfQ0cFkab11QUw7O+O6+qqFClmM1wFweQizAACgKtFSHDyu52v/G6Pq6U1oaCxTWl+ysEHdXXFtWNEi0+RkYgAzgzALAACqiu8XTymmpTg4bMfTi0eGtbt/UOPJfGl91ZL56u5aolXx+YzXATDjCLMAAKAqGIaUL3hKZmkpDops3tGzB09p74EhpbO2JMmQtPHKFu3simvponmVLRBATSPMAgCAivM8T8mso1yBluIgmEgXtHf/oJ47NKz85HgkyzR09ZpF2rmlQwub6ipcIYC5gDALAAAqxvelTMFRmpbiQDh9Jque/kH9+pURuZP7FQmbun79Yt28uUPzGxivA6B8CLMAAKDszrUU52U7hNhqd3IkpZ7ehF5+c0xTu9UQC+nmzR26fsNi1UV5SQmg/PjOAwAAyoqW4mDwfV+vD0xoV9+AXh+YKK03N0a1o7NDW9e0KRxivA6AyiHMAgCAsknnaSmudp7n6+WjY+rpTWjgdLq03t5Sr+6uuDatbJXFeB0AVYAwCwAAZlWxpdidPKWYEFutHNfTr18ZUU//oEbP5krrV3Y0amdnXGuWNTFeB0BVIcwCAIBZ43qekllb+YJLS3GVyhUcPXdoWHv3DyqZsUvr65c3q7srrisWN1awOgB4Z4RZAAAwK9I5W+mcQ0txlUpmCtp3YEi/OnhKuUJxvI5pGOq6qlU7OuNa3Fxf4QoB4N0RZgEAwIwxDCk32VLs0FJclcYmctrdP6gXjwzLcYt7FA6Zum5dm27e0qGmedEKVwgA00OYBQAAM8L1PCUzky3FlS4Gv2VwNK2evoT2vz6qqYvlddGQbtrUrhs3LlZ9LFzZAgHgIhFmAQDAZfHlK51zlMk68rgxtqr4vq+jQ0n19CZ05MSZ0vqChoi2b+nQtevaFAlbFawQAC4dYRYAAFwiX3nbUzJTKLWrojp4vq8jx8a1qy+h46dSpfW25jrt7Iyrc3WrLJMZsQCCjTALAAAumuN5StFSXHVcz1Pfa6Pq6UtoeDxbWl/WNk/v6Ypr7fJmmYzXAVAjCLMAAGDaaCmuTgXb1fOHh7Wnf1Bn04XS+pplC9TdtUQr2huZEQug5hBmAQDANPjK2Z5StBRXlUzO1r6XT2nfgSFl8o6k4onSW1a1amdnXB2tDRWuEABmD2EWAAC8K8fzlUoXlLdpKa4WZ1J57ekf1POHh2U7niQpZBnaurZNO7Z0qGV+rMIVAsDsI8wCAIC35ctXKusom6OluFqcGs9od19Cva+OlvYkFrF0/YbFumlTuxrrIxWuEADKhzALAAB+w2RLcbogxyPEVoPjp5La1ZvQoWPjpbXG+rBu3tyh69a3KRbhJR2AuYfvfAAAoMRxfSUzxZZiVJbv+3rlxBnt6kvo6GCytN66IKadnXFdfdVChSzG6wCYuwizAABAnj95SnHOFh3FleV6vva/Maqe3oSGxjKl9fjCBnV3xbVxRYtMk5OJAYAwCwDAnEZLcbWwHU8vHhnW7v5BjSfzpfVVS+aru3OJVi2Zz3gdADgPYRYAgDnKdj2lMjYtxRWWzTt69uAp7T0wpHTWliQZkjZe2aKdXXEtXTSvsgUCQJUizAIAMMfQUlwdJtIF7d0/qOcODZfeULBMQ1evWaSdWzq0sKmuwhUCQHUjzAIAMIdkC47SGZuW4go6fSarnv5B/fqVEbmT+xAJm7p+/WLdtLlDCxoYrwMA00GYBQBgDqCluPJOjqTU05vQy2+OaeqthIZYSDdv7tD1GxarLsrLMgC4GHzXBACghtFSXFm+7+v1xIR6ehN6beBsab25MaodWzq0dW2bwiHG6wDApSDMAgBQg3xJuYKjVMYutbKifDzP18GjY9rVl9DASLq03t5Sr51dcW1e2SqL8ToAcFkIswAA1JiC4ymVtVWgpbjsHNfTnr4B/eyZozp9NldaX9HRqO7OuNYsa2K8DgDMEMIsAAA1wvN9pbK2snmHluIyyxUcPX9oWHv2DyqZsUvr65c3a2dnXMvbGytYHQDUJsIsAAAB5+vcKcW0FJdXKmvrmf2D+tXBU8oVilfCTdNQ56pW7eyMa3FLfYUrBIDaRZgFACCgDEPK27QUV8LYRE67+wf14pFhOW7xDYRwyNS169r0gR2rJJf9AIDZRpgFACCAXM9XOkdLcbkNjqbV05fQ/tdHNXURvC4a0o0bF+vGTe1qiIXVsiCmsbH0uz8QAOCyEWYBAAgQWorLz/d9HR1KaldvQq+cOFNaX9AQ0c2bO3Tt+jZFw1YFKwSAuYkwCwBAAJRaijMFFRyv0uXMCZ7v68ixce3qS+j4qVRpfVFTnXZ2dqhz9UKFLGbEAkClEGYBAKhytBSXl+t56nttVD19CQ2PZ0vry9rmqbsrrnXLm2UyXgcAKo4wCwBAlfI8X5m8o1TWlkdL8awr2K5eODKs3X2DOpsulNbXLFugnZ1xXdkxnxmxAFBFCLMAAFSZqZbikfGMJs4LVZgdmZytfS+f0r4DQ8rkHUnFPdi8sjheJ76wocIVAgDeDmEWAIAq4nq+UllbuYKj5mZC1Gw6k8prb/+gnjs8LHvyPuSQZWjr2jZt39Kh1vmxClcIAHg3hFkAAKqA70uZgqM0LcWzbng8q56+hHpfPS1v8ibkaNjSDRsX66ZN7Wqsj1S4QgDAdBBmAQCoIMOQ8gVPyWyhdHUQs+P4qaR6+hI6eHS8tNZYF9bNmzt03YY2xSK8LAKAIOG7NgAAFeJ5npJZR7kCpxTPFt/39erJs9rVO6A3B5Ol9db5Me3s7FDXVYsUDjFeBwCCiDALAEAFpPPlbSl++sUT2tM/pLztKhq2tH1Lu27Zuqwsz10JrufrwBvF8TqDo5nSenxhg7q74tq4okWmycnEABBkhFkAAMqk2FLsTrYUl+9S7NMvntBTLw3IkGSZUsFx9dRLA5JUc4HWdjy99MqIdvclNJbMl9ZXLZmv7s4lWrWE8ToAUCvKEmbHx8d111136fjx44pEIlq+fLm+/vWvq6WlRb29vbr77ruVz+e1ZMkSfec731Fra2s5ygIAoGw8z9NE1la+4Ja9pXhP/9BkkC2GOMsoXrnc0z9UM2E2m3f07MFT2ntgSOmsLUkyJG24skXdnXEtbZtX2QIBADOuLDeJGIah2267TU8++aQef/xxLVu2TPfff788z9Odd96pu+++W08++aS2bdum+++/vxwlAQBQNumcrdMTeeXy5Q+ykpS3Xf1mR61pFNeDbiJT0M+ePab7/r9f6+fPn1A6a8syDW1bu0h/+Yed+qP/vYYgCwA1qixXZpuamnT99deXft3V1aUf/OAHOnDggKLRqLZt2yZJ+uhHP6r3vve9+va3v12OsgAAmDVTLcUT2YKcMrYUv51o2FLBcWWdF2g9v7geVKNnc+rpS+ilV0bkTt53HAmbun79Yt20uUMLGhivAwC1ruz3zHqepx/84Ae65ZZbNDg4qHg8XvpYS0uLPM/TmTNn1NTUNO3HbG3lHdcgWrSosdIl4BKwb8HF3pVP3naVTBck39D88OX9qG1pabjset53/RX66d435fp+scXYP7c+E49fTseGJvTkr47p14eHNfUWQWN9WP9r2zJ1X7NUDbFwReubErS/17nMMKTWpjqFQ8U3d/heGUzsWzBd7r6VPcx+4xvfUH19vf74j/9Yv/jFL2bkMUdHUwyYD5hFixo1MpK88G9EVWHfgou9Kw9fvjI5R+msI28G+olbWho0Npa+7Me5acNi5bKF3zrN+KYNi2fk8Web7/t6IzGhXb0JvTZwtrTe3BjVji0d2rq2TeGQqXymoHymUMFKi2Zq31AepmHIdD1ZpsH3yoBi34JpuvtmmsY7Xrwsa5i99957dezYMT344IMyTVMdHR1KJBKlj4+Njck0zYu6KgsAQOX5ytueklXQUvxObtm6LHCHPXmer4PHxtXTO6CTI+fCYXtLvXZ2xbV5ZWvpUCsAwNxTtjD73e9+VwcOHNDDDz+sSKR4H8umTZuUy+X0wgsvaNu2bfrhD3+o97///eUqCQCAy+Z4nlKZyVOKK11MjXBcT72vnlZPX0Knz+ZK6yvaG9XdFdeaZU2M1wEAlCfMvvrqq3rooYe0YsUKffSjH5UkLV26VA888IDuu+8+3XPPPW8ZzQMAQLXz5Sudc5SZoZZiFA/Meu7wKe3tH9RExi6tr1/erJ2dcS1v5544AMA5ZQmzV111lY4cOfK2H7vmmmv0+OOPl6MMAABmgK+c7SmVKchxCbEzIZW1te/AkPa9PKRcoTguyDQMda5u1c7OuBa31Fe4QgBANSr7AVAAAASV4/lKZQq0FM+QsYmc9vQP6sUjI7JdT5IUDpnatq5N2zd3qLkxWuEKUetM01AsYsmkbR0IJMIsAAAXQEvxzBocTWt336D6Xz+tqWEEddGQbty4WDduaq+a8TqoTaZpKBa2FItYigR41jIAwiwAAO+CluKZ4vu+jg4l1dOb0JETZ0rrCxoi2r6lQ9vWtSlKsMAsMU1D0ZClWMxSJGTKEFdigVpAmAUA4G04brGlOGe7lS4l0Dzf15Fj49rVl9DxU6nS+qKmOu3s7FDn6oUKWWYFK0StMk1DkZCpWDSkSMiklRioQYRZAADO4/mTLcU5W3QUXzrX89T32qh6+hIaHs+W1pe1zVN3V1zrljcTLjDjTGMywMaKAdYyDb6OgRpGmAUAQFKppThdkOPx6vdSFWxXLxwZ1p7+QZ1JFUrra5Yt0M7OuK7smM+MWMwow5DCIUuxqKVoyFLIOhdgCbJAbSPMAgDmPMf1lcwUlKel+JJlcrb2vXxK+w4MKZN3JBVDxuaVxfE68YUNFa4QtcQwpFDIVF0kpGjIVChkEmCBOYgwCwCYs2gpvnxnUnnt7R/Uc4eHZTvF8Tohy9DWtW3avqVDrfNjFa4QtcIwiv+2YtGwomFTYYsAC8x1hFkAwJyUs11aii/D8HhWPX0J9b56ujSuKBq2dMPGxbppU7sa6yMVrhC1wDAkyzKKV2DDxRZiTZ5ETIAFQJgFAMwptusplbFpKb5Ex08l1dOX0MGj46W1xrqwbt7coes2tCkW4aUFLo9hSJZpKBYtBtgwp10DeAf8xAEAzAm0FF863/f16smz2tU7oDcHk6X11vkx7ejs0NVXLVI4RODApTNUDLDRqQAbMpkEC+CCCLMAgJqXLThKZ2xaii+S6/k68EZxvM7gaKa0Hl/YoJ2dcW26skWmSeTApbNMQ9GIpVgkRIAFcNEIswCAmmW7npIZWwVaii+K7Xh66ZUR7e5LaCyZL62vjM9Xd1dcq5csYLwOLplpGopFLMXCliJhq9LlAAgwwiwAoOZ4vq9U1lY279BSfBGyeUfPHjylvQeGlM7akortnxtWtKi7K66lbfMqWyACyzQNRUOWYjFLkZApg2uwAGYAYRYAUDN8nWspdmkpnraJTEHP7B/UsweHSwdjWaahrqsWakdnXG1NdRWuEEFkmoYiIVOxaEiRkCmTq/kAZhhhFgAQeIYh5W1PqSwtxRdj9GxOPX0JvfTKSCn8R8Kmrlu/WDdv7tCCBsbr4OKYxmSAjRUDrGUadEcAmDWEWQBAoLmer3SOluKLMTCS0q6+hF5+c6z0d1YfC+mmTe26YUO76mO8PMD0mYahcMhULGopEirOgp36d8XXJIDZxE8rAEAg+b6UKThKZ215tBRfkO/7eiMxoV29Cb02cLa03jQvoh2dcW1du0iREIfxYHoMQwqHLMUilqJhUyHLJMACKDvCLAAgUAxDyhdcJbMF2Q6vmi/E83wdPDaunt4BnRxJl9YXN9epu2uJNq9qkWUyIxYXZhhSyCreAxsNmwoTYHcKj9QAACAASURBVAFUGGEWABAYrucpmbWVL7i8eL4Ax/XU++pp9fQldPpsrrS+or1R3V1xrVnWxHgdXFAxwBqKRcOKhkyFLEOaPImYr0EAlUaYBQBUPV++0jlHmawjj1fQ7ypfcPXc4VPa2z+oiYxdWl93RbO6u+Ja3t5YweoQBIYhWZahukhI0bD1lgALANWEMAsAqGK+cranVKYgxyXEvptU1ta+A0Pa9/KQcoXiic6mIXWuLo7XaW+pr3CFqGbnB9hI2FLYovUcQPUjzAIAqpLj+kpmCqW5p3h748mcdvcP6sXDI7JdT5IUtkxtW9+m7Zs71NwYrXCFqFZTATY2eQWWAAsgaAizAICq4vmTLcU5m3vy3sXQWEY9vQn1v35aU4c510Ut3bixXTdsbNe8unBlC0RVMgzJMg3FoiFFQpYiIQIsgOCaVpgdGxvT8ePHtXr1as2bN08/+tGP9PTTT2vNmjX6zGc+o2iUd30BAJfHl5QrOEpnbDmM2nlHR4eK43WOHD9TWpvfENH2zR26dn2bomHG6+CtpgJsdOoKbMjkDlgANeGCYfbnP/+57rzzTjU0NMhxHH3yk5/UT37yE+3YsUP/8z//o2QyqXvuuacctQIAapBhSHnbUyprq0BL8dvyfF9Hjp/Rrt4BHT+VKq0vXBBTd1dcnasXKkSLKM5jaDLARgmwAGrXBcPsX//1X+uBBx7Q9u3b9ctf/lKf+cxn9Itf/ELxeFwf//jH9ZGPfIQwCwC4JK7nK52zlc07tBS/Ddf19OtXRrSrL6Hh8WxpfemiBr3n6iVat7xZJuN1MIkAC2CuuWCYHRwc1Pbt2yVJ73nPexSJRBSPxyVJ7e3tSqfT7/bpAAD8Ft+XsgVHqawtj5bi31JwXL1weETPHBjS2MS5GbFXLV2g7q64ruyYz4xYSCLAApjbLvoAqHCYAyUAAJfGMKR8wVMyW5DteJUup+pkco5+dXBIzxwYUibnSCr+nW1e2aqdnXHFFzZUuEJUi9BUgA1NBlgSLIA56IJhtlAo6K677ir9OpPJlH7t+74KhcLsVQcAqBmu5ymZtZUvuLQU/4azqbz27B/U84eGVZgM+SHL0E1b4rp27SK1zo9VuEJUg+IhTpZi4RABFgA0jTD7qU996qJ+DQDA+Xz5yuQcpXMOLcW/YfhMVrt7E+p97bTcyb+baNjSDRsX66ZN7Vq+tFljY9zOM5eZpqHYZICNhDnkCwDOd8Ewe/vtt0/7wR5++GH9+Z//+WUVBACoFb7ytqdkpiDHJcSe78RwUrt6Ezp0dFxTfzONdWHdvLlD121oUyzCGPi57FyAtRRh1BIAvKMZ/Wn54IMPEmYBAHJcX6lMQXnbFTG2yPd9vXryrHb1JvTm4ERpvXV+TDs6O3T1VYsUDnHlba4yTUOxsKVYxFI4bMrgGCcAuKAZDbM+N0EBwJzm+b7SOUeZnM19sZNcz9fLb45qV29Cg6OZ0np8YYO6u+LauKJFpklwmYtM01B0MsBGCLAAcNFmNMwyJgAA5q5swVE6Y8vhvlhJku14eumVEe3uT2hsIl9aXxmfr+6uuFYvWcDPzTnINA1FQ5ZiMUuREAEWAC4HN+UAAC6ZYUh521Mqa6tgu5UupyrkCo6ePXhKe/cPKZW1JRVnga5f0azuriVa1javsgWi7M4PsGHLlMmbGAAwI2gzBgBcEs/3lcrYyuYdWoolJTMF7d0/pGcPnlJ+MthbpqGrr1qoHZ1xLWqqq3CFKCfTNBQJmYpFQ4qECLAAMBtmNMxu27ZtJh8OAFCFfJ1rKXZpKdbo2Zx29yf00isjpVObI2FT161frJs3d2hBQ6TCFaJcpgLsgnkRhXxPlmnwRg8AzKKLCrNvvPGGDh8+rEwm85b1P/iDP5Akff/735+5ygAAVYWW4rcaOJ1WT++ADrw5Vgos9bGQbtrUrhs2tKs+xp08c4FpGopYpmKx4hVYyzQ0ry6ibCpPkAWAWTbtn7QPPvigHnjgAa1bt06xWKy0bhhGKcwCAGoTLcVFvu/rjcSEevoSevXk2dJ607yItm+Ja9u6RYqEmAta60xjsoX4vAA79XUxl78+AKDcph1m/+mf/kk//vGPtW7dutmsBwBQRWgpLvJ8XwePjqund0AnR9Kl9cXNderuWqLNq1pkmcyIrWVTATYatRQJWQpZBFgAqLRph9lYLKaVK1fOZi0AgCpBS3GR43rqffW0evoSOn02V1pf3t6o7q641i5rYrxODTMNQ+GQqRgBFgCq0rTD7B133KFvfvObuv3227Vw4cK3fMzk3WgAqBm0FEv5gqvnDp/S3v5BTWTs0vq6K5q0syuuFe3zK1gdZhMBFgCCY9ph9gtf+IIk6cc//nFpzfd9GYahQ4cOzXxlAICyoqVYSmVt7TswpH0vDylXKF6RNg2pc3VxvE57S32FK8RsMA1DockAGw2ZClkmARYAAmDaYfapp56azToAABVCS7E0nsxpd9+gXjwyItv1JElhy9S2dW3avqVdzY2xCzwCgsYwpHDIIsACQIBNO8wuWbJkNusAAFSA6/lK5+ZuS/HQWEY9vQn1v35aUxej66KWbtjYrhs3tmteXbiyBWJGlQJsZDLAhgiwABBk7xpmv/KVr+gb3/iGJOnOO+98x0Mu7rvvvpmvDAAwa3y/2FKcytry5mBL8dGhCe3qTejI8TOltfkNEW3f3KFr17cpGma8Tq0wDCkUMlUXCRFgAaDGvGuYXbp0aen/ly9fPuvFAABml2FI+YKnZLYg2/EqXU5Zeb6vV46f0a7ehI6dSpbWFy6Iqbsrrs7VCxWyONCwFhiGFLJM1UVDioRNhWkhBoCa9K5h9pOf/GTp/2+//fZZLwYAMHs8z1My6yhXmFstxa7nqf+1Ue3qS2h4PFtaX7qoQd1dS7R+RbNMxusE3lSAjUVDihJgAWBOmPY9s5I0MDCgw4cPK5PJvGX9937v92a0KADAzDqbzOv0RH5OtRQXHFcvHB7Rnv6EzqQKpfWrli7Qzq64VnbMZ0ZswBUDrKFYNKxo2FTINCQV95QACwC1b9ph9qGHHtL3vvc9rVq1SrHYuVMdDcMgzAJAVfKVt4stxfNlzJkgm8k5+tXBIT1zYEiZnCOpGHo2Xdmq7q644gsbKlwhLodhSJZlFO+BDRfnwE4FWADA3DLtMPsP//AP+o//+A+tXr16NusBAMwA1/OUzNjKF1zNjQgrnU3ltXf/kJ47dEqFyfuBQ5aha9Ys0o4tcbUuYLxOUBFgAQBvZ9phtqmpifE8AFDlfPlK5xxlso68OdJnOXwmq929CfW+dlru5NXnaNjSDRsX66ZN7Wqsj1S4QlyK8wNsJGwpzOFcAIDfMO0w+8UvflFf+cpX9Cd/8idqbW19y8fi8fiMFwYAuBi+cranVLogZ460E58YTmlX74AOHR0vXX2eVxfWzZvbdf2GxYpFLupYCFSBqQAbm7wCS4AFALybaf+kt21be/fu1RNPPPGWdcMwdOjQoQt+/r333qsnn3xSAwMDevzxx7VmzRpJ0i233KJIJKJoNCpJ+vznP68dO3ZczJ8BAOY02/WUytjK225Znu/pF09oT/+Q8raraNjS9i3tumXrsrI8t+/7em3grHb1JvRGYqK03tIY1Y7OuK5Zs0jhEAEoSAxDskxj8hRiAiwAYPqmHWa/9rWv6XOf+5x+93d/9y0HQE3Xe9/7Xn384x/XH/3RH/3Wx/7mb/6mFG4BANPj+b5SWVvZfPlG7Tz94gk99dKADEmWWTwx+KmXBiRpVgOt5/k68OaoenoTSoyeO1G/o7VeOzvj2rSyVZbJPZRBMRVgo5NXYCO8AQEAuATTDrOu6+rDH/6wLMu6pCfatm3bJX0eAOCtfEnZgqN0xi7dI1oue/qHJoNsMThahuR6vvb0D81KmLUdTy+9MqLd/QmNTeRL6yvj89XdFdfqJQsYrxMQU/9uolNXYEMmRzgBAC7LtMPsJz7xCT388MP61Kc+NeMvHD7/+c/L931t3bpVn/vc5zR//vyL+vzW1nkzWg/KY9GixkqXgEvAvlVWJmcrmS4oFAlrQSR8UZ/b0nL5I2nyjquQqeKltUmW6SvvuDPy+FOyOUc9vSf11PMnNJEuzog1JHWuWaT/64blujK+YMaeq9rN5N9rJZiGFIuEFItaioZDMufIFXS+VwYXexdM7FswXe6+TTvM/su//ItOnz6thx56SE1NTW/52C9/+ctLLuBf//Vf1dHRoUKhoG9961v6+te/rvvvv/+iHmN0NDVn5ifWikWLGjUykqx0GbhI7FvleJ6nZNZRrnBpLcUtLQ0aG0tfdh3RkKWC48oyzxXhesX1mXj8ZKagvfuH9OzBU6V7gC3TUNfqhdrRGVdbc50kzchzBcFM7Vs5/eYVWCtkysnbSuVtpSpdXJnwvTK42LtgYt+Cabr7ZprGO168nHaY/c53vjP9yi5CR0eHJCkSiehjH/uY/uIv/mJWngcAgiqds5XOOVXxpt32Le166qUBuZ4v05A8v9j2vH1L+2U97ujZnHb3J/TSKyNy3OKfMxIydd36xbp5c7sWzIvOQPWYTSHTUCRiKRYJKWyZovsbADDbph1mr7vuuhl/8kwmI9d11djYKN/39dOf/lTr16+f8ecBgODxlbc9JbMFOU7lQ+yUqftiZ+o048TptHb1JnTgzdHSFef6aEg3bW7XDRvaVR9jvE41M01DsYilWDikSJhDnAAA5XVRrxIOHTqkF154QePj4/LP63O74447Lvi53/zmN/Xzn/9cp0+f1p/+6Z+qqalJDz74oD772c/KdV15nqdVq1bpnnvuufg/BQDUEMf1lcoUlLddVU+MPeeWrcsu67An3/f1xuCEenoTevXk2dJ607yItm/p0La1bYqEL+2wQcw+0zQUC1uKRSyFw6YMjnECAFTItMPsv/3bv+nb3/62br75ZvX09Gjnzp3au3ev3vve907r87/85S/ry1/+8m+t/+QnP5l+tQBQwzzfVzrnKJOzyzZqp5w839eho+Pa1TugkyPn7gNta65Td1dcW1a1yjK5uleNTNNQJGQqFg0pEjJl0kMMAKgC0w6zjzzyiB555BFt27ZN1157rR544AHt2rVLP/3pT2ezPgCoeb6k3OSoHacK7oudaY7rqe+10+rpS2jkTK60vnxxo7q74lpzRRPhqAqZxmSAjRUDrGUaNfkmCwAguKYdZkdHR0uzYk3TlOd56u7u1p133jlrxQFALTMMKW97SmVtFSZP7q0ledvV84eGtWf/YGm8jiStu6JJO7viWtF+cWPYMPsMQwqHrOIYnZClkHUuwBJkAQDVZtphtr29XSdPntTSpUu1YsUKPfXUU2publY4fHFzDgEAkuv5SudsZfOXNmqnmqWytva9PKRfvTykbL4Y0k1D2rJqoXZ2xdXeUl/hCnE+w5BClqm6aEjRkKlQyCTAAgACYdph9rbbbtPrr7+upUuX6tOf/rTuuOMO2batL37xi7NZHwDUFN+XMgVH6axdFaN2ZtJ4Mq89/YN64fCwbNeTJIUtU1vXLdKOLR1qboxVuEJMMQzJsgzVRUKKRiyFLQIsACB4ph1mP/zhD5f+v7u7W88995xs21ZDQ8OsFAYAtcQwpHzBVTJbkF1Fo3ZmwtBYRj29CfW/flpT+bwuaumGje26cWO75tXRwVMNDEOyTEOxaEjRcDHATiHAAgCCaNph9oMf/OBbTh6ORCKKRCL68Ic/rP/8z/+cleIAoBa4nqdk1la+4NZUaDg2lNSu3gEdPn6mtDa/IaLtmzt07bo2RSOM16kGIdNQdCrAhkwG6QAAasa0w+yxY8d+a833fZ08eXJGCwKAWuFrctRO1pFXIynW930dOXFGu3oTOjaULK0vXBBTd1dcnasXKmQxXqfSTNNQLGIpFg4VAywJFgBQgy4YZu+66y5Jkm3bpf+fMjAwoNWrV89OZQAQWL5ytqdUulAzo3Zcz9f+10fV05fQ0FimtL50UYO6u5Zo/YpmxutUmGkaioYt1UUshcOmDK7BAgBq3AXD7BVXXPG2/y9J11xzjd7//vfPfFUAEFC26ymVsZWvkVE7BcfVi0dGtKd/UOPJfGn9qqULtLMrrpUd82UQYivGNCdnwUaLs2B5QwEAMJdcMMzefvvtkqTOzk7t2LFj1gsCgCDyfF+pbO2M2snmHe17eUjPHBhSJudIKh4gtOnKFu3sWqIlCzn8r1JMYzLAxooB1jKNmvg3BwDAxXrXMPv888/r2muvLf7GUEj79u1729934403znxlABAAvqRswVE6Y8utgZbis6m89u4f0nOHT6lgF8frWKahrWsXaceWuFoXMF6nEgxDCocsxaJWcRYso3QAAHj3MPu1r31Njz/+uAzD0Je+9KW3/T2GYeipp56aleIAoFoVR+14k6N2vEqXc9mGz2S1uy+h3ldPl0J5NGzp+g2LddPmds2vj1S4wrnHMIonEc9viBQDbIgACwDA+d41zD7xxBPavn27br31Vv393/+91q5dW666AKBqeZ6nZNZRrhD8luITwynt6h3QoaPjmvqjzKsL6+bN7bp+w2LFItM+9B4zwDAkyzJUFymO0mlrqdfp08U3S4L+bw0AgJl2wVcpX/3qV/XYY4/pD//wD7Vy5Up96EMf0gc+8AG1tLSUoz4AqBq+fGVyjtI5R16AW4p939drA2e1qzehNxITpfWWxqh2dMZ1zZpFCocYr1MuhlFs5Y5NzYI9b7QRh2sBAPDOLhhm3/e+9+l973ufJiYm9NOf/lSPPvqo7rvvPm3fvl0f+tCHdMsttygcDpejVgCoEF95u9hS7DjBDbGe5+vAm2Pq6R1QYvTceJ14a712dsW18cpWWSbhqVxCpqHoVIANmQzSAQDgIhm+f/GNSydOnNCjjz6qf//3f1c2m9Wzzz47G7VN2+hoKtBXSeaiRYsaNTKSrHQZuEhzcd8c11cqU1DedhXU7zK24+mVxIR+9sxRjU7kSusr4/PV3RXX6iULuAJYJqZpKBaxFAuHigH2An/tc/Frrhawb8HF3gUT+xZM09030zTU2jrvbT920TdDFQoF7d+/X/39/Tp9+rSuvvrqi30IAKh6nu8rnXOUydmBvVcxV3D07MFTemb/kJJZu7S+YUWzurviWtbWWMHq5g7TNBQNW4pFLEXCpgyuwQIAMCOmHWZfeOEFPfroo/rZz36mlpYW3Xrrrbrnnnu0ZMmS2awPAMrMV872lEoX5AS04yOZKeiZA0P61cunlLddScV7MrtWL9SOzrjamusqXGHtM83JWbDR4ixYkyvfAADMuAuG2b/927/VY489pjNnzuj973+/HnzwQW3durUctQFAWTmer1S6oNxkAAya0bM57e5P6KVXRuS4xSAeCZm6dn2b/u8dqyQnmH+uoDCNyQAbKwZYyzQCe1UfAIAguGCY7evr01/+5V/qfe97n6LRaDlqAoCy8jXZUpx15FV5+nj6xRPa0z+kvO0qGra0fUu71i1v0a7ehA68OVoKT/XRkG7a3K4bNrSrPhZSy/yYxsbSlS2+BpmGoXDIVDRqFWfBWsyCBQCgXC4YZh955JFy1AEAFTB5SnGmULqSWc2efvGEnnppQIYk05Dytqv/fnFA//3iQOn3NM2LaPuWDm1b26ZI2KpcsTWMAAsAQHW46AOgAKAWON7kKcWF4JxSvKd/SPIlw5Q8T2+pu625Tt2dcW1Z3SrLZEbsTCPAAgBQfQizAOaUILUUn89xvdK9vK732x//f/9gC4cMzTDTNBSxigE2ErIUsgwCLAAAVYQwC2COmDylOCAtxVPytqvnDw1rz/7Bt6wbkkyzGKoiIYsgO0NM01A0ZE0G2Lce4kSABQCguhBmAdQ8xy22FAfplOJU1ta+l4f0q5eHlM0X6zZUbC02JFmm5PnFX2/f0l7BSoPPNA3FwucC7PlzYAmwAABUL8IsgJrl+ZMtxTk7MKFkPJnXnv5BvXB4WPZkP3HIMrRtXZt2bOnQr18Z+a3TjG/ZuqzCVQdL8c0AQ9FoSNGQpUiYe4wBAAgiwiyAmpSzXaXSBTleMFLs0FhGu/sS6nvttKZKjkUs3bCxXTdtate8urAk6Zatywivl8AwJgNsJKRo2FI4ZIrGbAAAgo0wC6Cm2K6nVMZWPiAtxceGktrVm9Dh4+Oltfn1Yd28pUPXrVusaITxOpfKMCTLMlQXCSkSthS2uAILAEAtIcwCqAlBain2fV9HTpxRT29CR4eSpfWFC2La0RnX1VctVIjgdUkMFQNsLDp5BZa/RwAAahZhFkDATZ5SHICWYtfztf/1UfX0JTQ0limtL13UoJ1dS7RhebNMk+bXS2GahmIRS7FIiBZiAADmCMIsgBn12J439PPnTypXcBSLhPQ71y7VrdtXzspzOV6xpThXqO6W4oLj6sUjI9rTP6jxZL60vnrJAnV3xbUyPl8Go3Uu2tQYnVi0eIiTQYQFAGBOIcwCmDGP7XlDjz1zVIYMWaahvO3qsWeOStKMB9p0zlY668ir4p7ibN7RvpeHtO/AkNI5R1KxDXbTyhbt7IxryaJ5lS0wgEzDUCRkKhYLKRIyma8LAMAcRpgFMGN+/vzJUpCVJMuQXK+4PhNh1jCkfMFTMpuX7VRviD2bLmjv/kE9d+iUCnZxvI5lGrpmzSLt6OzQwgV1Fa4wWAxDCoVM1UVDioZMhSyz6u+LBgAAs48wC2DG5ApOKchOMY3i+uVyPV/pnK1s3qnaIDNyJqvdfQn9+tXTcifv342GLV2/oU03be7Q/PpIhSsMjvNPIo5Gigc5Te17te4/AAAoL8IsgBkTi4SUt11Z5+VZzy+uX45swVEqY5cCYrU5OZzSrt6EDh4d01SFDXVh3bypXddvWKy6KN9qpytkGopOnkQcCZ07iZgACwAAfhOvsADMmN+5dqkee+aoXK94RdbzJV++fufapZf0eI7rK5kpVOXMWN/39drAWe3qTeiNxERpvbkxqh2dHdq6pk3hEGNhpqN0EnF48iRiboMFAADTQJgFMGOm7ou93NOMfflKZatzZqzn+Xr56Jh29SaUOJ0urXe01mtnZ1ybVrb+Vqs1fptpFg9yqps8yImTiAEAwMUizAKYUbduX3lZhz3lbLcqZ8bajqfeV0fU0zeo0Ylcaf3Kjvnq7orrqqULGK9zAaZhKBwyFYtaioYtWaZRdW9WAACA4CDMAqg4w5DytqdU1lahylqKcwVHzx0c1t79g0pm7dL6hhXN2tkZ1xWLGytYXfUzDCk8OQv2N08iJsgCAIDLQZgFUFGe5ymZdZQrVNcpxclMQc8cGNKzB08pVygGbNMw1HXVQu3sjKutmfE678QwpJB13iidEAEWAADMPMIsgIrw5SuTc5TOOfKqqKV4dCKn3X0JvfTKiBy3WFckZOra9W26eXOHmuZFK1xhdTINQ6GQqVjEIsACAICyIMwCKLuc7SqVKZTCYjVInE6rpy+h/W+MlsJXfTSkGze168aNi1UfC1e2wCo0dQ9slBZiAABQAYRZAGUxdV9sOmtXzagd3/f15mBSPX0DeuXE2dJ607yItm+Ja9vaRYqErQpWWH1Mo3gKcTRanANLgAUAAJVCmAUw61zPVzpnK5uvjvtiPd/X4WPj2tWb0InhVGm9rblO3Z1xbVndKstkRuwU0zQUsUzFYiGFLVMhyyDAAgCAiiPMAphV6byjdNauivtiHddT32un1dM3qJEz2dL6FYvn6T1dS7TmiiaZjNeRdG4ObCxanAN7/hgdAiwAAKgGhFkAs8BX3vaUzBbkOJVPPnnb1QuHh7Wnf1Bn04XS+tormrSzM64rO+ZXsLrqYZqGoiGr1EJMgAUAANWMMAtgRjmur1SmoLztqtL5J52zte/AkPa9fErZvCNJMg1py6qF2tHZoY7WhgpXWHmmaSgWPhdgDZ27Mk2ABQAA1YwwC2BGeL6vVLY67os9k8prd/+gXjg8LNvxJEkhy9C2tW3avqVDLfNjlS2wwkzTUCxiKRa2FA6/NcACAAAEBWEWwGXxJWUn74t1K3xf7KmxjHr6Eup7bVTeZKKORSzduLFdN25q17y6uTlex1DxinR9LKRYOKRImMOtAABA8BFmAVwSw5DyheJ9sVNXPyvl/2/vzoPjqu608T936duL9l3dXrHBtrxIIrYxAVvKCHBIcGxSzJAUJKl33pD8EhIPGYZiPIEBBsJUnJlJwiQkmSFTU0XFlYS8CWAMYQkGyzbGmEUysrwh7+qWZO1Sb7fvvef3R0ttSZZkLS11t/R8/sE66r595KuW9XDO+X7PNvVgT40Xx851xMYyXTbcWOrGdcuKYNdmX3sdSQIUSYLdrsJuU1CYm4b2RC+ZExEREcURwywRjZtlWegJGgjpidtSLITAifOd2FPjxZmmnth4fpYDFWUelF+TD1WZXSuQkgQosgS7Fg2wNlWObSBWZG4lJiIiopmFYZaIxqy/X6w/ZCSs1Y5pCXx8qg3VNV40tQdi43MK0lBZPgfLF+RAnkXBTZIARZHg0FRo6uAAS0RERDSTMcwS0RhEW+1c7PCjJxBJyAwihoUPjrdg72EfOnrCsfGr52ShstyDRZ5MSLOkR2x/gHVqKjSbAtssW4EmIiIiAhhmiegKDEug1x9ttZNjm/4fGcGwgXePNOOdOh/8oWh7HQnAikW5qCzzYE5B+rTPaTyee/MEahvaIRCdd9niXNx505JxX0eSohWZHXYb7Ko867ZQExEREQ01Lb+Zbt++Ha+99hoaGxvx0ksvYcmS6C9yp0+fxrZt29DZ2Yns7Gxs374dCxcunI4pEdEVWELAHzIQDBmxysDTqcuvY//HPrx3tBl6JFpgSpElfGpJATaUuZGf5Zz2OY3Xc2+eQE1De+xjAfR9fGJMgTYaYGU47CrsNhmqLAHcRExEREQEYJrC7E033YSvfe1ruPvuuweNP/roo7jrzkKFKQAAIABJREFUrruwZcsWvPjii3jkkUfw7LPPTseUiGgUQd2APxCBkYBzsRc7g9hb68VHJ1tjrX7sNgXrlhfihlVuZLq0aZ/TRNUOCLJDx++8afjnDNxCbNeiW4hZhJiIiIjoctMSZtesWXPZWFtbG+rr6/G///u/AIBNmzbhiSeeQHt7O3Jzc6djWkQ0hG5Y6A1GoEfMaX/tCy292FPrRf3p6JZcAEhz2nDjymKsW14Epz31TkWMlEGHjkvoq0JsV+HQBp+BZZAlIiIiGl7Cfjv0+XwoKiqCokT7PyqKgsLCQvh8vnGH2by85D4zR8MrKMhI9BSoT8Sw0BPQIcFAesboPVlzc9Pi9rpCCBw9047X3j2L42cv9YjNz3Jg4/ULcP1KNzRb6vaIlaThw6gkRf8eJQlw2FQ4HQrsNnXKqzDzPZeaeN9SE+9b6uK9S028b6lpsvct9ZY6htHW1puwNiE02OGGVrx68Bxau0LIz3Lg1nXzUbo4/7LHFRRk4OLFnmGuQNNJ4NKWYnMM76Hc3DS0t/sn/bqWJXDkTDv21Hjhbb10PXeeCxVlHqxclAdFltDbE5r0ayVS2aLcQWdmAcBpV7F2WQGsiAG7TYapR9CrR9A7xXPhey418b6lJt631MV7l5p431LTWO+bLEsjLl4mLMy63W40NzfDNE0oigLTNNHS0gK3252oKdEkHW5oxY43TkBRZLgcKjr9Ona8cQIAhg20lDiSBIQj07+l2DAtfHTiIqprfWjrvhRUF7oz8JnyObhmbtaMaq8TLfJ0AkfPdcFpV+G0K1ixMAd3b1zK7cNEREREk5SwMJuXl4eSkhLs2rULW7Zswa5du1BSUsLzsins1YPnoCgy7H3bQu02BeG+cYbZ5GFaAv5QBMGwMW2BKqQbeK++BfvrfIP61JYsyEFluQfzi2be1iAJ0UJO//cLK+CwKbCplwo5McgSERERTd60hNkf/OAHeP3119Ha2oq//du/RXZ2Nl5++WU89thj2LZtG37xi18gMzMT27dvn47p0BRp7QrB5Rj8LaWpMlq7Unur6EwhEO3Z2huMTNu2/J6AjnfqmnCwvhkhPboCLEsSyq/Jx4YyN4pyXNMyj+kkyxIcmgKHpsKmyrFGOgywRERERPE1LWH24YcfxsMPP3zZ+OLFi/GHP/xhOqZA0yA/y4FOvx5bmQWi1XHzsxwJnBVJEhDWLfQEdUQMa1pes707hL2HffjgeAsMM5ribKqMtcsKsb7Ujex0+7TMY7rIkgRNleFwRPvBSuwFS0RERDTlZkQBKEoOt66bjx1vnEAY0RVZ3bBgmhZuXTc/0VObtSzLQk/QQEifni3FvjY/9tR48fGpttjrOe0qblhZjE+vKILLYZv6SUwTSQJUVYbTrsKuKlAViauvRERERNOIYZbipv9c7FiqGdPU84cN+KdhS7EQAqd9PaiubcSJ812x8aw0DetL3Vi7rDCl2+sMJEnRc7BOTYWd52CJiIiIEophluKqdHE+w2tCCYQj0S3FhjG16coSAsfOdmBPjRfnWy41linMcaKizIOyq/OgyPKUzmE6DAywmk2BTbn0NTHAEhERESUOwyzRDGFYAr0BHWHdxFRmLMO0UPtJK6prfbjYGYyNzytMx2fKPVi6IAdyirfXGS3AEhEREVFyYJglSnGWEPCHDARDBqwpXCoMR0y8eegcXn/3LLr8emx8ybxsVJR5cJU7I6V7xA7eQqxCVVL3ayEiIiKaDRhmiVKUQLR/qz8QgTGF52L9oQgO1DXhwJFmBMMGgGjwK12ch4oyD9x5aVP22lNNkgBVkeDoOwOrcgWWiIiIKGUwzBKlGEkCwhELvcEI9Ig5Za/T2RvG3sM+vH+sJdbSx6bK+NSSAmwodSM3MzVbLsmSBFWV4dAUaDYZqiwBkPCjHR/g2IACVsvmZeHBu1cnbqJERERENCqGWaIUMh2tdprbA6iu9aL2k7bYtmWHpuD65UX4/IZFMPpWZ1OJLEvQFBl2uwJNlaEq8qC/v6FBFgCOne/Cj3Z8wEBLRERElKQYZolSgIBAIGTAHzKmrNXOueYe7Knx4ujZjthYpsuGG1e5sbakEA5NRWaaHe0pEmZlSYJNleF0qNBUGYosjdhGZ2iQvdI4ERERESUewyxRkgtFTPQGdBhm/EOsEAInzndiT60XZ3w9sfH8LAcqyjwovyY/pc6RShJgUxU47ArsQ1Zg2UaHiIiIaGZhmCVKQlN9Lta0BD4+1YbqGi+a2gOx8Tn5aags92D5wlzIcmpU840VcbLb4LAxwBIRERHNFgyzREnGtKxoq51w/M/FRgwLHxxvwd7DPnT0hGPjV8/JQkW5B4s9mSnRXmdwGx2lr41OdN4T+TtbNi9r2C3Fy+ZlTXKmRERERDRVGGaJkoSAQCBswh+MxP1cbDBs4GB9M/Z/7IM/1NdeB8CKq3JRUe7B3IL0uL7eVJAAKLIEuz0aYDU1ftufH7x7dcpVM9657xReP3QBId2AQ1Oxce1cbF6/KNHTIiIiIpo2DLNECScQilhTci62269j/8c+vHe0BeG+7cqKLOHaJQWoKHUjP9sZ19ebCrIswaEpcGgqbKqMqVo3TubgOtTOfaew850zkCBBkSWEIyZ2vnMGABhoiYiIaNZgmCVKEEkCdMNCbyASC5rx0toZRPVhHz46cRFm3yqvZpOxrqQIN65yIzNNi+vrxZssS3DYlL5esEqip5N0Xj90IRZkAUCRANOKjjPMEhER0WzBMEuUAKYl4A9F4n4u9sLFXlTXeHHkdDv6L5vmUHHjKjfWLS+C0568b3lZlqCpMhz2aCsdOQXO7iZKSDdiQbafLEXHiSgxBm79dzpsuGX1HP7PJSKiKZa8v9kSzVD+sBHXc7FCCDQ0dmNPbSMaGrtj4zkZdqwvdWPN0kLY4ni+NJ5kqS/ADtMLlkbm0FSEIyaUAXnWEtFxIpp+Q7f+h3SDW/+JiKYBf/MhmhZ952KDOgwjPmnNsgSOnGlHdY0Xja3+2HhxrguV5R6sXJR32epdMmAv2MnbuHYudr5zBqYVXZG1RLSA2Ma1cxM9NaJZaejWf1WSYJgWt/4TEU0xhlmiKdTfL9YfjN+5WMO08NHJVlTXetHWFYqNX+XOQEWZB0vmZSdde51oL9joFmL2gp28/l+OWc2YKDlw6z8RUWIwzBJNkXj3iw3pBt472oL9H/vQE4jExksW5KCy3IP5RRmTf5E4incvWBps8/pFDK9ESYJb/4mIEoM/ZYniTEAgEDLgDxlxORfbG4zgnY99eLe+GSE9urorSxLKr8nDhjIPinJck36NeJnKXrBERMlq6NZ/Uwhu/ScimgYMs0RxIgAEdQOBQARGHEJse3cIew/78MHxllj/WZsq47plhbix1I3sdPukXyNepqsXLBFRMhq69Z/VjImIpgfDLNGkCYT7ijtF4lDcydfmR3WtFx83tKE/EzvtKm5YWYxPryiCy2Gb9GvEA3vBEhFdMnDrf0FBBi5e7EnwjIiIZj6GWaIJGljcSY+YmEyMFULgTFMP9tR4ceJ8Z2w8K03D+lI31i4rTIrAKEmIrsCyFywRERERJRjDLNEEmJaAPxSZdHEnSwgcP9uBPbVenGvujY0X5jhRUeZB2dV5UOTEnjuVJEDra6VTkO2CBsECTkRERESUcAyzROPkDxvwByOTKu5kWhZqP2lDda0XLR3B2Pi8wnR8ptyDpQtyErrqGW2lI8Fht8GhylDVaCsdmyozyBIRERFRUmCYJRqT6LnYnqAOYxLnYvWIiUPHWrDvsA9dfj02vnReNirKPVhYnJGwHrGS1FeJWFPh0BTYlEsrwgywRERERJRsGGaJrsCwBHoDOsL6xM/FBkIRHDjSjAN1TQiEDQDR8Fi6OA8VZR6489LiN+FxGBhg7TaFlYiJiIiIKGUwzKaInftOxUr+OzQVG9fOZcn/KWYJAX/IQDBkwJrg0mRnbxj7Dvtw6FgLIoYFILp9d/XSQmwodSM30xHPKY/J0F6wEwmw/H4kIiIiokRjmE0BO/edws53zkCCBEWWEI6Y2PnOGQBggJgioYiJXr8+4X6xzR0B7K31ouZkWywIOzQF1y8vwqdXFiPDpcVzumOiTjLA9uP3IxERERElA4bZFPD6oQux4AAAigSYVnSc4SG+dMNCb1+rnYF2f3Ae+w43IRwxYbcpWF9ajKrV8y57/rnmaHudo2c7YmMZLhvWr3JjbUkhHNr0vuVkWYq20rHFrxcsvx+JiIiIKBkwzKaAkG7EgkM/WYqOU3yM1mpn9wfn8eaHjX3bcwHdMPHmh40AgKrV8yCEwInzndhT68UZX0/seXlZDlSUeXDtNflQlelrryPLEuyqAodDgabKkOJ8Cpbfj0RERESUDBhmE+SZnXU4ePQiLCEgSxLWlRTgG5tXDvtYh6YiHDGhDMgPlsC0r/LNREIAQd1A7yitdvYdboqdMwX6VyIF9tb6kJvlRHWNF03tgdjj5+SnoaLcgxULcyHL01NOSZYkaKoMh0OFpspQZGnKKhDz+5GIiIiIkgF/+0yAZ3bW4UB9S+xjS4i+j+uGDbQb187FznfOwLSiK2CWAAQENq6dO42znlkkCQjr0VY7/YWZRhKOmBi4sCr6UmLYsPDc7k9i41fPyUJFuQeLPZnT0l5HliTYVBkOuwJNVaAqlwLsVLbS4fcjERERESUDhtkEOHj0IgAM2vwp+sa/sfnyx/efQ2T12PgwLQs9wUi01c4YQp/dpkA3TMgQsEQ0vPWTAKy4KhcV5R7MLUifsjn3GxxgZaiKPC0BdiB+PxIRERFRMmCYTYCR2ryM1v5l8/pFDAuTJCAQCBnwh4wRtxQPZ+2yAuz9uAlDn+LJd+FLVdegINsZ55kOlgwBdih+PxIRERFRojHMJoAsScMGV3katqbONocbWrGnphHBsAmbKuNTSwqwdH7OmJ7b2hlE9WEfPjpxcdC4Ikv49IoifP7TC6dgxlH9Z2Dt07yFmIiIiIgoVTDMJsC6kgIcqG/B0EyyrqQgIfOZqY6cacOr751DxLQQDpsIRUzs3H8am4FRA+2Fi72orvHiyOn22D1Kc6i4cZUb65YXwWmfmrcNAywRERER0dgxzCZAtMjT2KsZ0/hZloW3P/Kiy6/HWtNoqgIdwN5a72VhVgiBhsZuVNd68UljV2w8J8OO9aVurFlaCJsan/Y6z715ArUN0aBstym4blkBvnTLEtgZYImIiIiIxoxhNkG+sXnlsMWeaHIEBPwhA4GQgVONXXDY1VilrZBuoCego60zhF+/dAQbyjy4Zm42jpxpR3WNF42t/th1inNdqCz3YOWivMt6qk7Gc2+eQN2ZTmSkaXDaVVhC4MNP2mBax3DPF1YywBIRERERjRHDLM0IAtGw6g9EYPRVasrJsKM7GIGmKgjpBrp6wxACUFUZXQEdf3jrE6iKjO5AJHadhe4MVJZ5sGRedtzb68iyBG97EHlZDgTDBtq7gjBMAQHg3fqLuOcLcX05IiIiIqIZjWGWUtpo/WI3lHmwc/9p6AB6AjqEiIZeVZHQ0aP3VTQ2AQAlC3JQUebBguKMuM6v/xys06lCU2V09eoIR0wMjcmjVbImIiIiIqLLMcxSyjJMgd5gNBwOlwWXzs/BZkTPyLZ2hiBLAAQQDJuxx2iqjG9/cSWKclxxm5ckAaoiw2lXYbcNbqUzNHD3YyVrIiIiIqLxYZilpPbMzsGFsm5YUYj/c9vyvnOxkSueMS3IdqIgx4XTvp5Yn1gJgMuhQtMU5KRpcQmyEgBFkeCwq3DYVKhK/+jgQk6sZE1EREREFB8Ms5S0ntlZhwP1LQAAWQIy0mz4xNeDX++sw+YNi0d9rq/Nj+paLz5uaBsUYh12BZkuDaYQME0LG8o8k5qjLEtwaAocmgqbKl+2fXgoVrImIiIiIooPhllKWgePXgQApDltyHDZEAwbaGkPoLktMGyYFULgTFMPqmu8OH6+MzaelaZhfakbWWka3j3ShI6eMHIy7NhQ5hm13+xIJCna5sfpiG4jlq4YYQdjJWsiIiIiosljmKWkpdlkZKZpMEyB1s5o5d/hWELg+NkO7Kn14lxzb2y8INuJijI3yq7Oh6pEe8SuXJQ3obn0byN22lU4NGXQOVgiIiIiIpp+DLOUlEzLQmaahi6/jrBuDvqcNOAxtZ+0obrWi5aOYOzz8wrTUVnuwbIFOZMurCTLEuw2BU5Nhc12aRsxgywRERERUWIxzFJSsYRAIGwgEDLgyXUOCqn9Vl6Vg/0f+7DvsA9dfj02vmReFirK5uAqd8akesRKEmBTFTjtCuw2hZWGiYiIiIiSEMMsJY1A2IA/GIHZV7HpzpuWADiB2ob2WPXf4hwnGrw9+Ph0B4Bo8Fy1KA8VZR548tMm/NoSAEWV4NRU2DUFNm4jJiIiIiJKagyzCTC03cxsrmYrBBA2TPQGdRjG5enxzpuWYOO6MPYf9uG9Yy1o6lupVRUJq5cWYn2pG3mZjgm//kjViBlkiYiIiIiSG8PsNBvYbgaIbquNflw3qwKtaVoI6AYCwciIhZ1aOoKorvWi5mQrrL50abcpuH5FEW5YWYwMlzah1+Y2YiIiIiKi1McwO836280MjE+ib3w2tGuxhEBQN2F0BNDdqw/7mHPNPdhT48XRsx2xsQynDTeucuO65YVwaBP7tlVlCQ6HCodNgU3lNmIiIiIiolTGMDvNrBES1EjjM4VpWQiETQTDBixLwGa3Dfq8EAInL3RhT00jTvt6YuOaTYYesdATjOC1986hqa237yzt2PT3hHU5VdhVZcDrTf5rIiIiIiKixEmKMFtVVQVN02C32wEADzzwADZs2JDgWU0NWZKGDa4zdaurZVnwDwixQ5mWQN2paHsdX1sgNu7JT4OmSDgzoG+sAFDT0A7gxBUDbWwVlsWciIiIiIhmpKQIswDwn//5n1iyZOwrbqlqXUkBDtS3YGi2WldSkJD5TBXDshAIGQiFzWHDux4x8W59E/bV+tDeE46NL56TicqyOVg8JxMPP3Nw2GvXNrTjzpsuH5clCZoqx7YS92OQJSIiIiKaeZImzM4W0SJPqV/NeOe+U3j90AWEdAMOTcXGtXOxZcMiREyBQCgyYogNhg0crG/GgSNN6AlEAETPD6+4KhcV5R7MLUiPPXakDDpwXJKilY2ddhvsNhkqV2GJiIiIiGYFSYjE/+pfVVWF9PR0CCGwevVq3H///cjMzEz0tGgEv339GH7/xglAAhQJsGkKMhw2VK2dj8pr5w4bQrt6w3jz0HlUf3QBId0EACiyhOtXubFx3QIU5boue863t785bDBVFAm/fLAKDk2F0x7tCyvN0G3aREREREQ0vKQIsz6fD263G7qu48knn4Tf78e///u/j/n5bW29w57HpKnx3Z9UIxwxkeZQke60QQDo7A1DWMAjf7t20GNbu4LYW+vDhycuwuy7R5pNRuW1c/Gpa/KRlTZye53n3jzRd0Y2ymmPhtc1S/Lx5Ztn/pb0ZFRQkIGLF3uu/EBKOrx3qYn3LTXxvqUu3rvUxPuWmsZ632RZQl5e+rCfS4ptxm63GwCgaRruuusufPvb307wjGh0AoXZDkCS0O3XEY6YEELAtC49ovFiL/bUenHkVHtspTbNoeLGVW6sW16EOe4stLf7R32VO29aAkU+iQZfDxx2FYZhYcXCHAZZIiIiIiJKfJgNBAIwTRMZGRkQQuCVV15BSUlJoqdFw5AkQDcs5GY60N4dQsS4lF4tAWiqjIbGLuyp8eKTxq7Y53Iy7Fhf6saapYWwqfKYXkuWJTg0Bd/YsgraGJ9DRERERESzR8LDbFtbG7Zu3QrTNGFZFhYvXoxHH3000dOiAYQAdMNEIGRAN0wsm5+NNz9shARAlgDTihZlsmsK/uflo7HnFee6UFHuwapFeVDkK59pjRVzctjgsCkztl0RERERERFNXsLD7Lx58/DCCy8keho0DEsIBHUTwVAEhnnpTHLV6nkAgL21PoQNC/2Rs7uvOvFCdwYqyzxYMi97TIWZ+ldhHZrKVVgiIiIiIhqThIdZSi6SBERMC8GwiWDYGLawVlg3YbMpsGsKwoYVOxNbsiAHFWUeLCjOGNNrqaoEl90Gh5Y8q7CHG1rx6sFzaO0KIT/LgVvXzUfp4vxET4uIiIiIiIZgmJ0CqRiIJAkIRywEwwZCujFsS5zeYATv1DXh3SNNsfY6Ax0924FwOIJ7RumZK0mAXVWQnWGHDQLJEWGjDje0YscbJ6AoMlwOFZ1+HTveOAEASX//iIiIiIhmG4bZOEvFQKRHTPj7zsMOF2Lbu0PYd9iH94+3xLYb21QZTk2JbS3ud6qpF7/eWXdZoJVlqa+1jgKbIiPNYUOgJzRlX9NEvHrwHBRFht2mAADsNgXhvvFkvXdERERERLMVw2ycpVIgCkVM+IMRGAO2Cg/ka/OjutaLjxva0L/b2GlX8ekVRfj0ymI8+ewHw173VFNv7M+qKsE1pKBT4jsbD6+1KwSXY/BbQlNltHYlV+gmIiIiIiKG2bhL9kBkCYGQbiIQjMAY5jysEAJnmnpQXePF8fOdsfGsNC3aXmdZYSyoj0RTo2He5VCh2ZSk2ko8mvwsBzr9+qCvTzcs5Gc5EjgrIiIiIiIaDsNsnCVrIDItC0E92l5nuKJOlhA4frYDe2q9ONd8aWW1INuJijI3yq7Oh6qMXmnYaVeR7rRBliXkZtqTdgV2JLeum48db5xAGNFArhsWTNPCrevmJ3pqREREREQ0BMNsnCVTIJKkaJAOhg2EwiasYdKlaVmo/aQN1bVetHQEY+PzCtNRWe7BsgU5I1YaXlScjjMtfqQ5VLgcNhimhZ6AjoVF6SkXZIFLZ5pTrXgXEREREdFsxDAbZ8kSiEKR6CpsZISiTnrExPvHW7C31ocuvx4bXzIvCxVlc3CVO2PUHrGSBNx7Rxn++NZJHD3XhbauEAzTwrJ5WXjw7tVT8SVNi9LF+QyvREREREQpgGF2CiQqEJmWQChiIjjCeVgACIQiOHCkGQfqmhAIGwCiwXTVojxUlHngyU8b9TVkSYLDrsChqdBUCd8YpQ0PERERERHRVGGYTXECQCRiIagbCEfMYc/DAkBnbxj7D/vw3rEWRAwLAKAqEj61pAAVZR7kZo5+pre/tY7LrkCRRz87S0RERERENNUYZsfocEMrXj14Do2tfpimgKpI8OSnJWQLsSQBEdNCWDcRDBswTTFsax0AaOkIorrWi5qTrbEzs3abgutXFOGGlcXIcGmjvpYiS3A5VDjt6ohnZ4mIiIiIiKYbw+wYHG5oxY43TiBiWNGtuQIIRwSaO4LY8cYJAJiWQGsJES3oFDKgj3AWtt+55h7sqfHi6NmO2FiG04YbV7lx3fJCOLTRb72qSHA5bXBqCqSUaa5DRERERESzBcPsGLx68BwURUZ3IAIJ0S23lpAQDBvIzrDj1YPnpizMCgjoEQuhsImwMfI2YiDaI/bkhS7sqWnEaV9PbDwv04GKMjfKrymATR19i3B/iHVdIewSERERERElEhPLGLR2heByqDAMC3LfIqUsAYZpQVNltHaF4vp6/edgQxEDIX30AAtECz/VnYq21/G1BWLjnvw0VJZ7sGJhLmR59NVVhlgiIiIiIkolTC5jkJ/lQKdfh6rKME0LEgBLAKoS7SObnzV68aSx6D8HG9JNhEIGTGvkc7D9IoaFD09cxN5aL9p7wrHxRZ5MVJZ7cPWcrFHb6wAMsUREREREs4oQkPy9gGUBsgyRlh4NIymICWYMbl03HzveOAGnpqAnaMG0BAABp90O07Rw67r5E762gEA4MrZzsP2CYQMH65uxv64J/mAEACABWH5VLirLPJhbmH7Fa6iyBJeLIZaIiIiIaMYLh6GcPQOl/gjkJi+kSARCkiEJC1BVmO45MJevgLnwKkAbvUBsMmGSGYP+87CvHjwHc0A146Ic54SrGeuGhXAkWo34StuI+3UHdLzzsQ8H61sQjpgAotWGr70mHxvKPCjIdl7xGorctxJrZ2EnIiIiIqIZzbKg1NfBtm8vJD0MkZkJkZcHoURjoAAA04Dc2Q7l1ZchNDsi6zfAXL4SSIF2nAyzY1S6OH9SRZ4kCTAMCyHDQjAcibbTGVuGRWtXEHtrffjwxMW+VWFAs8m4rqQIN65yIyvtyv/3RJYlpLHFDhERERHR7BAIQHvtz1DOnYFVVAwx0oqrokJkZkFkZgF6GNqbb8A8eRL6Zz8HuFzTO+dxYpidYv3tdEIhA7phxXq9jkXjxV7sqfXiyKn22PlZl0PFDSuLcf3yYrgcV759siTB6VCR5kjuENvfx7e1K4T8LEdC+vcSEREREc0IgQDsz/8/yN3dsOaN40ikZoc1bz6UJh/sL/wR4dvvSOpAyzA7RXTDQkgfWzXigYQQOOXtxp4aLz5p7IqNZ6dr2FDqweplBdBU5YrXkSTAaVeR7lAhJ/kWgf4+vooiw+VQ0enXp7V/LxERERHRjGFZ0F77czTIFhVN7BJFRZCbm6G9/ir0zbcn7ZZjhtlJ+tGOD3DsfBecdhUuh4qrPZm4468Wj2sbMQBYlkD92Q5U1zTiwkV/bLwox4nK8jlYtTgXyhi+iSQJsNsUpDs1qIoUm1+/ZfOy8ODdq8f1NU61/j6+dls0pNttCsJ94wyzRERERERjp9TXRbcWj2dFdhhWURGUs6ehHD0Cc8WqOM0uvhhmJ+Env/8ITR0hFOe5oEcsBEIGDh5twcWOAO7ZvHJM1zBMCzUnW1Fd6x3Ur3ZhcQYqyz1YMi/7iu11+mk2BelOG+w2GULgsiALAMfOd+FHOz5IqkDb38d3oKno30tERERENKOFw7Dt2wurqDgul7OKimDbWw3zmqVJWeWYYXYCBKI9Xps6Q4iYFro79EFbiU819V7xGmHdxHvHmrH/sA/dgUhsfNn8HFSWe7C/fnFKAAAZ70lEQVSgOGPM81FVCelODY6+lc3+FeGhQbbfSOOJ0t/Ht39lFkDc+vcSEREREc0Wytkz0arF8Qqemh2SHoZy5jTMJUvjc804Ypgdh4hpIaSbCIcNmJbAxY7guK/RG4zgQF0TDhxpQkiPtteRJaDs6mh7neLcsR+wlmUJ6U4bXPb43sbpLsbU38c3jOiKrG5Yk+7fS0REREQ02yj1RyAyM0d9zMkLXXjvaDN6gxGkO224rqQI18zNGvHxIjMTSv0RhtlUFDGj/WBDujHuc7ADdfSEsLfWhw+OX0TEtAAANkXGmmWFWF/qRk6GfczXmsoKxYkoxjSwjy+rGRMRERERTYAQkJu8EHl5Iz7k5IUuVNc0wujbVdobjKC6phEARgy0Ii0NcpM3uv0zybqjMMwOQzcs6MaVA+yi4vRhtxQvKk6P/bmpPYDqGi8ON7Sifyey067g+hXF+PSKYqQ7bWOeV6y4k0uDKl/5G2nZvKxhtxQvmzfy/3lJVDGmyfbxJSIiIiKazSR/L6RIBEIZOeK9d7Q5FmT7GZbAe0ebR16dVVRIkQgkfy9E+tiPQk4HhllEQ2LEsBCKmAj1bSEeywrsPZtX4tc76wYF2kXF6bhn80qcaYq21zl+rjP2ucw0DetXubG2pHDQ+dCx0GwK0h022DV5zKvDD969etzVjFmMiYiIiIgoBVkWhDR695PeYGRc4/2EJAOWNeGpTZVZG2YlCTBMgbBhIhgyYJjWFUPi8XMd2FvrRUdPGDkZdmwo8wyqWmwJgRPnOvFfLx7B2eae2Hh+lgOV5R6UXZ0PVRlfj6aRijuN1XirFrMYExERERFRCpJlSMLCaHEh3WkbNrheabeoJKyk7DU768KsJQR0w0IoZEA3LFhjTIfHz3Vg5/7TUBQZDruK7mAEO/efxmYAV8/NwuFP2rCn1ouWAUWh5hakoaJ8DpYvzBn32VZFlpA2BcWdroTFmIiIiIiIUo9IS4ew2QDTAEbYanxdSdGgM7MAoMoSrispGvnCpgFhs0GkpY/8mASZNWFWj5gI6SZCEXNQG52BRtoyDAB7a71QFBmaGl2x1FQFYSGw650zMC2Bzl499rxr5mahstyDq9yZY+4R20+WJTjtU1PcaSxYjImIiIiIKAVJEqxiD+TOdojM4c+/9p+LHU81Y8nvh1XsSbriT8AMD7O6Ea1EHA4blx10HmpokAWi/WJ/vbMO92xeiY6eMBx9q6SWJeAPReAPRmJFnSQJWLUoDxVlHnjy08Y91/4KxS67CmUMxZ2mEosxERERERGlHnP5CiivvjximAWigXa08DqU1N0N84YN8Zhe3M2oMCtJfa10dBPBcbbSGa4q8cDxnAw7Ovw6dN1EIGTE9qJLANaWFGJDmQd5meM/Vxprs2NXICfhPnQiIiIiIkoN5sKrIDQ7oIcBbeytP0ekhyE0O8yFV03+WlNgRoRZSwgEdQOhsAndMCfcC3YkLZ1ByLKEju5wbEwCYNdkbL7xKpRfUzDua0oSYtuJFYZYIiIiIiKaLE1DZP0GaG++AWve5GveyE1N0G/5LKBpcZhc/M2IMNvRE0ZYN6fs+k89VxtbiVVkCZoqoyjHicpr52Dp/JxxXWu8vWLpysbbfoiIiIiIaKYyl6+EefIklCYfrKJRCjtdgdzcDHPhIpglK+I4u/iaEWF2pIJO47GoOH3ErcYCQG6mHRVlHlx7TQFs6sRWUm2qjAynNq5esTS6oUEWAI6d78KPdnzAQEtEREREs48sQ//s52B/4Y+Qm5snFGjl5mZYWVnQN96alC15+s2IMDsRQ3vG3ljqQW/wLFq6woMe58lPQ2W5BysW5kKe4EqqKktIc9ng0FRIGH+vWBrZ0CB7pXEiIiIiohnP5UL49jugvfZnKOfORAPtWM7Q6uHoiuyCq6JB1uWa+rlOwqwMswN7xto1Bc2dQex44wQGLvAu8mSistyDq+dkjau9zsCQXJzrwsbr5mPV4ryEtNkhIiIiIqJZyuWCvuWLUOrrYNu3F5IehsjMhEhLG9yH1jQg+f2QenogbBr0mzdGtxYn8Ypsv1kZZvfWeiHJEsK6ifagAWvAUumKhbmoKPdgXuH4mwL3h2S7psJTkAZLAH94+xNIEtjqhoiIiIiIppcsw1xZCnPJMihnTkOpPwK5yQspEoGQZEjCgrDZYBV7YN6wIVq1OEmLPQ1n1oXZnoCOxlY/dMMatN3XaVdgU2TcvXHJmK81dKtyMGwiJ9OBTJeGYNhASDdhCeDVg+cYZqfIsnlZw24pXjZv7L2ziIiIiIhmNE2DuWQpzCVLASEg+XsBywJkGSItPVqlNgXNmjDb1hXC3sNefHjiIgwzmmIlCXA5VKQ7bDCFQKbTNubrDdyq7LCrMAUACRCWhc6ecKz6sabKaO0Kxf8LIgDAg3evZjVjIiIiIqKxkiSI9IxEzyIuZnyYbWz1o7qmEXWn22MrsXabAkkCbKqEkG7iYsiALEkoX5yH5948gdqGdvRlU5QtzsWdN12+Wru31gtFkZHutCEzTYMQQMOFTrSZAu78tNjjdMNCfpZjer7YWYrBlYiIiIho9pmRYVYIgVO+blTXeHHywqUVu+x0DRvKPFi9tAD7ar14u8YL0xJQFRkOTcHbNY0wBrSrFQBqGtoBnLgs0Hb7dRTkumC3KfCHItAjFlwOFe3dYYQjJjRVhm5YME0Lt66bfMNiIiIiIiIiumRGhVlLCNSf6UB1TSMuXPTHxotynKgsn4NVi3Oh9FXlOuXtRnaGHZqqxB7XE4gMe93ahnbcedOlj1VZwtVzs9DSGUQgZFwaVxV48lxId2lo7QohP8uBW9fN53lZIiIiIiKiOJsRYda0BN4/1oLqWu+g86kLijNQWe7B0nnZl7XX6egJw2Ef25fff/41esbWhjSHik+vLMZvXj8BRZEHrcJ++ZYlDK9ERERERERTbEaE2f9+qR6nGgcUAJqfg8pyDxYUj3ywOSfDju5gZNDK7EhsigSHTUG6S4OqREPxqkX5uPuWaKVirsISERERERFNrxkRZnsDOmQJKLs6HxvKPCjOdV3xORvKPNi5/zR0ADZFRsS0oCoYdGZWkoAMl4brSwqRnaEhWhLqktLF+QyvRERERERECTAjwuynlhRg1aI85GTYx/ycpfNzsBkY1Cf2tusXoPbkRdQ2tMPpUJGVpmH5gmx8+eax954lIiIiIiKiqTcjwuxNq+ciYlhjfvzxcx2DQuzm9Vdh6fwcAMCyBTn4P7epSHPYoMip2TyYiIiIiIhoppsRYXao3R+cx77DTQhHTNhtCtaXFqNq9TwA0SC7c/9pKIoMh11FdzCCnftPY4sUPQeb7rLBpsgJ/grib+e+U3j90AWEdAMOTcXGtXOxef2iRE+LiIiIiIhoQmZcatv9wXm8+WEjdMOEIgO6YeLNDxux+4PzAKLbiqMViBVIkgRNVZCZbsexsx3IydBmbJDd+c4ZhCMmFFlCOGJi5ztnsHPfqURPjYiIiIiIaEJmXHLbd7gJEgBFliBJUvS/feNAtCVPf2C1awoKsp1Id6g45e3B0AJPM8Xrhy5AgjTk70TC64cuJHpqREREREREEzLjthlHVx8Hj8lSdByItuTxhw3kZzmgKjL8wQh6gxHkZo69eFSqCenGZed/ZSk6TkRERERElIpmRJj9t99+hJaOYOxjSwDKgOxmCcBui/aTvWXtPOyp9cIfjMCyBHTDgmlauHXd/Ome9rRxaGo05A/5O3FoM+L2ExERERHRLDTjthkD0aBmWgJCiOh/AVStnoOMNA3rlhfj1uvmw2FTEAgZyE7TcPctS2Z0v9iNa+dCQAz5OxHYuHZuoqdGREREREQ0IUmxNHf69Gls27YNnZ2dyM7Oxvbt27Fw4cJJXVNTFYQjJtKdNtyydi4+d/0CKHI0u5cuzp/R4XWo/qrFrGZMREREREQzRVKE2UcffRR33XUXtmzZghdffBGPPPIInn322Uld85G/XQvNpiDdaYPdJkOIOE02RW1ev4jhlYiIiIiIZoyEbzNua2tDfX09Nm3aBADYtGkT6uvr0d7ePqHrSRKQ4bIhK11DToYdmsogS0RERERENNMkfGXW5/OhqKgIihIt0KQoCgoLC+Hz+ZCbmzuuazntKjLTNCzyZGD+nJypmC7FUUFBRqKnQBPA+5a6eO9SE+9bauJ9S128d6mJ9y01Tfa+JTzMxoNmU1CQ44QQAgWZdnxj0wpcvNiT6GnRKAoKMniPUhDvW+rivUtNvG+pifctdfHepSbet9Q01vsmyxLy8tKH/VzCw6zb7UZzczNM04SiKDBNEy0tLXC73WO+xoLiDJz1deOvP7N4VhV2IiIiIiIimq0SfmY2Ly8PJSUl2LVrFwBg165dKCkpGdcWY8u0GGSJiIiIiIhmkYSvzALAY489hm3btuEXv/gFMjMzsX379nE9///bshKWxSpPREREREREs0VShNnFixfjD3/4Q6KnQURERERERCki4duMiYiIiIiIiMaLYZaIiIiIiIhSDsMsERERERERpRyGWSIiIiIiIko5DLNERERERESUchhmiYiIiIiIKOUwzBIREREREVHKYZglIiIiIiKilMMwS0RERERERCmHYZaIiIiIiIhSDsMsERERERERpRyGWSIiIiIiIko5DLNERERERESUchhmiYiIiIiIKOUwzBIREREREVHKURM9gXiQZSnRU6AJ4H1LTbxvqYv3LjXxvqUm3rfUxXuXmnjfUtNY7ttoj5GEECKeEyIiIiIiIiKaatxmTERERERERCmHYZaIiIiIiIhSDsMsERERERERpRyGWSIiIiIiIko5DLNERERERESUchhmiYiIiIiIKOUwzBIREREREVHKYZglIiIiIiKilMMwS0RERERERCmHYZaIiIiIiIhSjproCdDMtn37drz22mtobGzESy+9hCVLlgAATp8+jW3btqGzsxPZ2dnYvn07Fi5cmNjJUkxHRwcefPBBnDt3DpqmYcGCBXj88ceRm5uLmpoaPPLIIwiHw5gzZw7+7d/+DXl5eYmeMvW59957ceHCBciyDJfLhX/+539GSUkJ33Mp4uc//zl+9rOfxX5e8v2W/KqqqqBpGux2OwDggQcewIYNG3jvklw4HMa//uu/4sCBA7Db7SgvL8cTTzzBn5VJ7sKFC/jOd74T+7inpwe9vb147733eO+S3FtvvYWnnnoKQggIIfDd734XGzdunPx9E0RT6NChQ8Lr9Yq/+qu/EsePH4+Nf/WrXxUvvPCCEEKIF154QXz1q19N1BRpGB0dHeLdd9+NffzDH/5Q/NM//ZMwTVPcfPPN4tChQ0IIIZ5++mmxbdu2RE2ThtHd3R378xtvvCFuv/12IQTfc6mgrq5OfP3rX4/9vOT7LTUM/fdNCMF7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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Setting Figure Size in Seaborn\n", "sns.set(rc={'figure.figsize':(16,8)})\n", "\n", "# Setting Seaborn plot style\n", "sns.set_style(\"darkgrid\")\n", "\n", "#Plotting our data\n", "plot = sns.regplot(x='Protein (g)', y='Vitamin_B', data=servings_cleaned.drop(\n", " outlier_df.index))\n", "\n", "plt.scatter(outlier_df_cleaned.get('Protein (g)'),outlier_df_cleaned.get('Vitamin_B'))\n", "plt.scatter(outlier_df_cleaned.get('Protein (g)'),outlier_df_cleaned.get('Vitamin_B'),\n", " facecolors='red',alpha=.35, s=500)\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "id": "K2Ph88912bSW" }, "source": [ "Thus, the points highlighted in red are ones that seem to not be following the general trend of our dataset. Lastly, let's see what the new p-value is after outlier removal!" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "gzymkCwz2avu", "outputId": "b72978b2-ec54-4eb1-b17f-99a3ca4764c8" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Slope: 0.409\n", "Coefficient of determination: 0.675\n", "p-value: 5.83e-24\n" ] } ], "source": [ "slope, intercept, r_value, p_value, std_err = stats.linregress(\n", " servings_cleaned.drop(outlier_df.index).get('Protein (g)'),\n", " servings_cleaned.drop(outlier_df.index).get('Vitamin_B'))\n", "\n", "print(f'Slope: {slope:.3g}')\n", "print(f'Coefficient of determination: {r_value**2:.3g}')\n", "print(f'p-value: {p_value:.3g}')" ] }, { "cell_type": "markdown", "metadata": { "id": "EscMj7Zo2piW" }, "source": [ "Our new p-value after removing any outliers is 5.83e-24 which is still less than 5% and smaller than our p-value with the outliers included in the dataset. Therefore, after removing the outliers, our result is statistically significant which means that there is enough evidence to conclude that that there is a correlation between Protein content and Vitamin B content in a food item." ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "WNQZLLZQkKSV" }, "outputs": [], "source": [] } ], "metadata": { "colab": { "collapsed_sections": [ "LCiSRYkNtmJU", "_KyItag2cSiF", "Hz3gqRAMhntc" ], "provenance": [] }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" } }, "nbformat": 4, "nbformat_minor": 1 }