{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" }, "language_info": { "name": "python" } }, "cells": [ { "cell_type": "markdown", "source": [ "# Abbott Freestyle Libre CGM: Guide to data extraction and analysis" ], "metadata": { "id": "e_dmeLdCgHlO" } }, { "cell_type": "markdown", "source": [ "\n", "\n" ], "metadata": { "id": "DAn8JGTbFTD4" } }, { "cell_type": "markdown", "source": [ "The [Abbott Freestyle Libre Version 1 Continuous Glucose Monitor](https://www.freestyle.abbott/us-en/products/freestyle-libre-3.html?utm_source=Google&utm_medium=SEM&utm_campaign=Brand&utm_content=General%20FSL3&gclid=EAIaIQobChMIyaaZs4Gv_gIVkSytBh11yQZOEAAYASAAEgIiY_D_BwE&gclsrc=aw.ds) is a sensor that tracks your blood glucose levels over a period of two weeks. A variety of vendors use the Freestyle Libre CGM; in this notebook, we use [Nutrisense](https://to.nutrisense.io/cgm-3?g_acctid=195-120-5766&g_adgroupid=145363696209&g_adid=588697352068&g_adtype=search&g_campaign=brand_exact_desktop_tcpa_conv_groups+_low_cpc&g_campaignid=18640003106&g_keyword=nutrisense%20cgm&g_keywordid=kwd-927595745176&g_network=g&utm_adgroup=conv&utm_adpos=&utm_campaign=brand_exact_desktop_tcpa_conv_groups__low_cpc&utm_keyword=nutrisense%20cgm&utm_medium=cpc&utm_source=google&gclid=EAIaIQobChMI_Ie08PTD_QIVsRR9Ch3A_wRrEAAYASAAEgJBPfD_BwE). In addition to logging continuous data, purchasing the Nutrisense CGM pairs you with a dietitian who helps you interpret, understand, and manage your glucose levels.\n", "\n", "Having used the Nutrisense CGM, we'll show you how to extract, visualize, and compute statistics for data collected by the monitor. All you will need for this notebook is your username and password!\n", "\n", "You can extract the parameters with known sampling frequencies as below:\n", "\n", "Parameter Name | Sampling Frequency\n", "-------------------|------------------\n", "Glucose level | 15 minutes\n", "Glucose Peak | 24 hours\n", "Glucose Average | 24 hours\n", "Glucose Adaptability | 24 hours\n", "Glucose Variability | 24 hours\n", "\n", "In this guide, we sequentially cover the following **nine** topics to extract from the Nutrisense CGM:\n", "1. **Setup**\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: We plot the glucose levels over a day\n", " - 7.2: We recreate the glucose scores plot displayed on the nutrisense cgm app.\n", " - 7.3: We recreate the glucose summary statistics chart displayed on the nutrisense cgm app.\n", "8. **Outlier Detection and Data Cleaning**\n", " - We detect outliers in our data and filter them out.\n", "9. **Data analysis**\n", " - 9.1: We create a plot to visualize the difference between glucose levels at night and at day.\n", " - 9.2: We plot the change in blood glucose level after changes of behavior.\n", " - Note that we are not making any scientific claims here as our sample size is small and the data collection process was not rigorously vetted (it is our own data), only demonstrating that this code could potentially be used to perform rigorous analyses in the future.\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.\n", "\n" ], "metadata": { "id": "ftAnpNNrgMZy" } }, { "cell_type": "markdown", "source": [ "# 1. Setup\n", "\n", "## Participant Setup\n", "\n", "Dear Participant,\n", "\n", "Once you unbox your Nutrisense CGM, please set up the device by following the Official Guide: https://support.nutrisense.io/hc/en-us/articles/4402815217687-How-Do-I-Put-on-My-CGM-\n", "\n", "This guide is also available on the nutrisense app, which is where you will log and view your data.\n", "\n", "Make sure that your phone is paired to it using the Nutrisense 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 Nutrisense account with the email `foo@email.com` and some random password.\n", "3. Keep `foo@email.com` and password stored somewhere safe.\n", "4. Distribute the device to the participant and instruct them to follow the participant setup letter above.\n", "5. Install the `wearipedia` Python package to easily extract data from this device." ], "metadata": { "id": "Y2ZKhRCp94-0" } }, { "cell_type": "code", "source": [ "!pip install git+https://github.com/TrafficCop/wearipedia-1" ], "metadata": { "id": "bup39dgzkHaJ", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "1d5b6ae0-5aa6-4598-f9e4-03075402f65c" }, "execution_count": 1, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "Collecting git+https://github.com/TrafficCop/wearipedia-1\n", " Cloning https://github.com/TrafficCop/wearipedia-1 to /tmp/pip-req-build-um5uuo2i\n", " Running command git clone --filter=blob:none --quiet https://github.com/TrafficCop/wearipedia-1 /tmp/pip-req-build-um5uuo2i\n", " Resolved https://github.com/TrafficCop/wearipedia-1 to commit 1015997ade2b772b4bc2e18e8757ac6e55705557\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", "Requirement already satisfied: beautifulsoup4<5.0.0,>=4.12.2 in /usr/local/lib/python3.10/dist-packages (from wearipedia==0.1.2) (4.12.3)\n", "Collecting fastapi==0.101 (from wearipedia==0.1.2)\n", " Downloading fastapi-0.101.0-py3-none-any.whl (65 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m65.7/65.7 kB\u001b[0m \u001b[31m1.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting fbm<0.4.0,>=0.3.0 (from wearipedia==0.1.2)\n", " Downloading fbm-0.3.0-py3-none-any.whl (9.4 kB)\n", "Collecting garminconnect<0.2.0,>=0.1.48 (from wearipedia==0.1.2)\n", " Downloading garminconnect-0.1.55.tar.gz (20 kB)\n", " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", "Collecting jupyter<2.0.0,>=1.0.0 (from wearipedia==0.1.2)\n", " Downloading jupyter-1.0.0-py2.py3-none-any.whl (2.7 kB)\n", "Collecting kaleido==0.2.1 (from wearipedia==0.1.2)\n", " Downloading kaleido-0.2.1-py2.py3-none-manylinux1_x86_64.whl (79.9 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m79.9/79.9 MB\u001b[0m \u001b[31m5.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting lida<0.0.12,>=0.0.11 (from wearipedia==0.1.2)\n", " Downloading lida-0.0.11-py3-none-any.whl (7.3 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.3/7.3 MB\u001b[0m \u001b[31m19.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting myfitnesspal<3.0.0,>=2.0.1 (from wearipedia==0.1.2)\n", " Downloading myfitnesspal-2.1.0-py3-none-any.whl (30 kB)\n", "Collecting pandas==1.5.3 (from wearipedia==0.1.2)\n", " Downloading pandas-1.5.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.1 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m12.1/12.1 MB\u001b[0m \u001b[31m68.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting polyline<3.0.0,>=2.0.0 (from wearipedia==0.1.2)\n", " Downloading polyline-2.0.2-py3-none-any.whl (6.0 kB)\n", "Collecting rich<13.0.0,>=12.6.0 (from wearipedia==0.1.2)\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[31m21.7 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.10/dist-packages (from wearipedia==0.1.2) (1.11.4)\n", "Requirement already satisfied: tqdm<5.0.0,>=4.64.1 in /usr/local/lib/python3.10/dist-packages (from wearipedia==0.1.2) (4.66.2)\n", "Collecting typer[all]<0.7.0,>=0.6.1 (from wearipedia==0.1.2)\n", " Downloading typer-0.6.1-py3-none-any.whl (38 kB)\n", "Collecting typing-extensions==4.5.0 (from wearipedia==0.1.2)\n", " Downloading typing_extensions-4.5.0-py3-none-any.whl (27 kB)\n", "Collecting wget<4.0,>=3.2 (from wearipedia==0.1.2)\n", " Downloading wget-3.2.zip (10 kB)\n", " Preparing metadata (setup.py) ... \u001b[?25l\u001b[?25hdone\n", "Requirement already satisfied: pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 in /usr/local/lib/python3.10/dist-packages (from fastapi==0.101->wearipedia==0.1.2) (2.6.4)\n", "Collecting starlette<0.28.0,>=0.27.0 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading starlette-0.27.0-py3-none-any.whl (66 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m67.0/67.0 kB\u001b[0m \u001b[31m6.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: python-dateutil>=2.8.1 in /usr/local/lib/python3.10/dist-packages (from pandas==1.5.3->wearipedia==0.1.2) (2.8.2)\n", "Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.10/dist-packages (from pandas==1.5.3->wearipedia==0.1.2) (2023.4)\n", "Requirement already satisfied: numpy>=1.21.0 in /usr/local/lib/python3.10/dist-packages (from pandas==1.5.3->wearipedia==0.1.2) (1.25.2)\n", "Requirement already satisfied: soupsieve>1.2 in /usr/local/lib/python3.10/dist-packages (from beautifulsoup4<5.0.0,>=4.12.2->wearipedia==0.1.2) (2.5)\n", "Requirement already satisfied: requests in /usr/local/lib/python3.10/dist-packages (from garminconnect<0.2.0,>=0.1.48->wearipedia==0.1.2) (2.31.0)\n", "Collecting cloudscraper (from garminconnect<0.2.0,>=0.1.48->wearipedia==0.1.2)\n", " Downloading cloudscraper-1.2.71-py2.py3-none-any.whl (99 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m99.7/99.7 kB\u001b[0m \u001b[31m9.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: notebook in /usr/local/lib/python3.10/dist-packages (from jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (6.5.5)\n", "Collecting qtconsole (from jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2)\n", " Downloading qtconsole-5.5.1-py3-none-any.whl (123 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m123.4/123.4 kB\u001b[0m \u001b[31m13.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: jupyter-console in /usr/local/lib/python3.10/dist-packages (from jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (6.1.0)\n", "Requirement already satisfied: nbconvert in /usr/local/lib/python3.10/dist-packages (from jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (6.5.4)\n", "Requirement already satisfied: ipykernel in /usr/local/lib/python3.10/dist-packages (from jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (5.5.6)\n", "Requirement already satisfied: ipywidgets in /usr/local/lib/python3.10/dist-packages (from jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (7.7.1)\n", "Collecting llmx>=0.0.18a (from lida<0.0.12,>=0.0.11->wearipedia==0.1.2)\n", " Downloading llmx-0.0.21a0-py3-none-any.whl (20 kB)\n", "Collecting uvicorn (from lida<0.0.12,>=0.0.11->wearipedia==0.1.2)\n", " Downloading uvicorn-0.29.0-py3-none-any.whl (60 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m60.8/60.8 kB\u001b[0m \u001b[31m5.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: typer in /usr/local/lib/python3.10/dist-packages (from lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.9.4)\n", "Collecting python-multipart (from lida<0.0.12,>=0.0.11->wearipedia==0.1.2)\n", " Downloading python_multipart-0.0.9-py3-none-any.whl (22 kB)\n", "Requirement already satisfied: matplotlib in /usr/local/lib/python3.10/dist-packages (from lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (3.7.1)\n", "Requirement already satisfied: altair in /usr/local/lib/python3.10/dist-packages (from lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (4.2.2)\n", "Requirement already satisfied: seaborn in /usr/local/lib/python3.10/dist-packages (from lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.13.1)\n", "Requirement already satisfied: plotly in /usr/local/lib/python3.10/dist-packages (from lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (5.15.0)\n", "Requirement already satisfied: plotnine in /usr/local/lib/python3.10/dist-packages (from lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.12.4)\n", "Requirement already satisfied: statsmodels in /usr/local/lib/python3.10/dist-packages (from lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.14.1)\n", "Requirement already satisfied: networkx in /usr/local/lib/python3.10/dist-packages (from lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (3.2.1)\n", "Requirement already satisfied: geopandas in /usr/local/lib/python3.10/dist-packages (from lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.13.2)\n", "Requirement already satisfied: matplotlib-venn in /usr/local/lib/python3.10/dist-packages (from lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.11.10)\n", "Requirement already satisfied: wordcloud in /usr/local/lib/python3.10/dist-packages (from lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (1.9.3)\n", "Collecting blessed<2.0,>=1.8.5 (from myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.2)\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[31m6.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting browser-cookie3<1,>=0.16.1 (from myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.2)\n", " Downloading browser_cookie3-0.19.1-py3-none-any.whl (14 kB)\n", "Requirement already satisfied: lxml<5,>=4.2.5 in /usr/local/lib/python3.10/dist-packages (from myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.2) (4.9.4)\n", "Collecting measurement<4.0,>=3.2.0 (from myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.2)\n", " Downloading measurement-3.2.2-py3-none-any.whl (17 kB)\n", "Collecting commonmark<0.10.0,>=0.9.0 (from rich<13.0.0,>=12.6.0->wearipedia==0.1.2)\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[31m4.8 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.10/dist-packages (from rich<13.0.0,>=12.6.0->wearipedia==0.1.2) (2.16.1)\n", "Requirement already satisfied: click<9.0.0,>=7.1.1 in /usr/local/lib/python3.10/dist-packages (from typer[all]<0.7.0,>=0.6.1->wearipedia==0.1.2) (8.1.7)\n", "Collecting colorama<0.5.0,>=0.4.3 (from typer[all]<0.7.0,>=0.6.1->wearipedia==0.1.2)\n", " Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)\n", "Collecting shellingham<2.0.0,>=1.3.0 (from typer[all]<0.7.0,>=0.6.1->wearipedia==0.1.2)\n", " Downloading shellingham-1.5.4-py2.py3-none-any.whl (9.8 kB)\n", "Requirement already satisfied: wcwidth>=0.1.4 in /usr/local/lib/python3.10/dist-packages (from blessed<2.0,>=1.8.5->myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.2) (0.2.13)\n", "Requirement already satisfied: six>=1.9.0 in /usr/local/lib/python3.10/dist-packages (from blessed<2.0,>=1.8.5->myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.2) (1.16.0)\n", "Collecting lz4 (from browser-cookie3<1,>=0.16.1->myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.2)\n", " Downloading lz4-4.3.3-cp310-cp310-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[31m43.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pycryptodomex (from browser-cookie3<1,>=0.16.1->myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.2)\n", " Downloading pycryptodomex-3.20.0-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[31m68.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: jeepney in /usr/lib/python3/dist-packages (from browser-cookie3<1,>=0.16.1->myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.2) (0.7.1)\n", "Requirement already satisfied: pyparsing>=2.4.7 in /usr/local/lib/python3.10/dist-packages (from cloudscraper->garminconnect<0.2.0,>=0.1.48->wearipedia==0.1.2) (3.1.2)\n", "Collecting requests-toolbelt>=0.9.1 (from cloudscraper->garminconnect<0.2.0,>=0.1.48->wearipedia==0.1.2)\n", " Downloading requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m54.5/54.5 kB\u001b[0m \u001b[31m4.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting openai (from llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2)\n", " Downloading openai-1.16.2-py3-none-any.whl (267 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m267.1/267.1 kB\u001b[0m \u001b[31m25.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting tiktoken (from llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2)\n", " Downloading tiktoken-0.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.8/1.8 MB\u001b[0m \u001b[31m72.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting diskcache (from llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2)\n", " Downloading diskcache-5.6.3-py3-none-any.whl (45 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m45.5/45.5 kB\u001b[0m \u001b[31m4.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting cohere (from llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2)\n", " Downloading cohere-5.2.2-py3-none-any.whl (144 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m144.3/144.3 kB\u001b[0m \u001b[31m12.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: google.auth in /usr/local/lib/python3.10/dist-packages (from llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (2.27.0)\n", "Requirement already satisfied: pyyaml in /usr/local/lib/python3.10/dist-packages (from llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (6.0.1)\n", "Requirement already satisfied: sympy in /usr/local/lib/python3.10/dist-packages (from measurement<4.0,>=3.2.0->myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.2) (1.12)\n", "Requirement already satisfied: annotated-types>=0.4.0 in /usr/local/lib/python3.10/dist-packages (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2) (0.6.0)\n", "Requirement already satisfied: pydantic-core==2.16.3 in /usr/local/lib/python3.10/dist-packages (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2) (2.16.3)\n", "INFO: pip is looking at multiple versions of pydantic to determine which version is compatible with other requirements. This could take a while.\n", "Collecting pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic-2.6.3-py3-none-any.whl (395 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m395.2/395.2 kB\u001b[0m \u001b[31m36.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading pydantic-2.6.2-py3-none-any.whl (394 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m394.9/394.9 kB\u001b[0m \u001b[31m31.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading pydantic-2.6.1-py3-none-any.whl (394 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m394.8/394.8 kB\u001b[0m \u001b[31m29.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic-core==2.16.2 (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic_core-2.16.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.2/2.2 MB\u001b[0m \u001b[31m57.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic-2.6.0-py3-none-any.whl (394 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m394.2/394.2 kB\u001b[0m \u001b[31m30.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic-core==2.16.1 (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic_core-2.16.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.2/2.2 MB\u001b[0m \u001b[31m59.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic-2.5.3-py3-none-any.whl (381 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m381.9/381.9 kB\u001b[0m \u001b[31m32.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic-core==2.14.6 (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic_core-2.14.6-cp310-cp310-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[31m67.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic-2.5.2-py3-none-any.whl (381 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m381.9/381.9 kB\u001b[0m \u001b[31m29.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic-core==2.14.5 (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic_core-2.14.5-cp310-cp310-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[31m63.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic-2.5.1-py3-none-any.whl (381 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m381.6/381.6 kB\u001b[0m \u001b[31m29.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic-core==2.14.3 (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic_core-2.14.3-cp310-cp310-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[31m54.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hINFO: pip is looking at multiple versions of pydantic to determine which version is compatible with other requirements. This could take a while.\n", "Collecting pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic-2.5.0-py3-none-any.whl (407 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m407.5/407.5 kB\u001b[0m \u001b[31m35.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic-core==2.14.1 (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic_core-2.14.1-cp310-cp310-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[31m56.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic-2.4.2-py3-none-any.whl (395 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m395.8/395.8 kB\u001b[0m \u001b[31m32.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic-core==2.10.1 (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic_core-2.10.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.0/2.0 MB\u001b[0m \u001b[31m55.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic-2.4.1-py3-none-any.whl (395 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m395.3/395.3 kB\u001b[0m \u001b[31m30.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading pydantic-2.4.0-py3-none-any.whl (395 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m395.4/395.4 kB\u001b[0m \u001b[31m34.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic-core==2.10.0 (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic_core-2.10.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.0 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m2.0/2.0 MB\u001b[0m \u001b[31m69.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic-2.3.0-py3-none-any.whl (374 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m374.5/374.5 kB\u001b[0m \u001b[31m24.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic-core==2.6.3 (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic_core-2.6.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.9/1.9 MB\u001b[0m \u001b[31m59.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hINFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.\n", "Collecting pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic-2.2.1-py3-none-any.whl (373 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m373.4/373.4 kB\u001b[0m \u001b[31m31.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic-core==2.6.1 (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic_core-2.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.9/1.9 MB\u001b[0m \u001b[31m62.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic-2.2.0-py3-none-any.whl (373 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m373.2/373.2 kB\u001b[0m \u001b[31m34.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic-core==2.6.0 (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic_core-2.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.9/1.9 MB\u001b[0m \u001b[31m62.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic-2.1.1-py3-none-any.whl (370 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m370.9/370.9 kB\u001b[0m \u001b[31m28.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic-core==2.4.0 (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic_core-2.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.9 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.9/1.9 MB\u001b[0m \u001b[31m64.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic-2.0.3-py3-none-any.whl (364 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m364.0/364.0 kB\u001b[0m \u001b[31m28.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic-core==2.3.0 (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic_core-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.8/1.8 MB\u001b[0m \u001b[31m70.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic-2.0.2-py3-none-any.whl (359 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m359.1/359.1 kB\u001b[0m \u001b[31m25.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic-core==2.1.2 (from pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4->fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic_core-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.8/1.8 MB\u001b[0m \u001b[31m56.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting pydantic!=1.8,!=1.8.1,!=2.0.0,!=2.0.1,!=2.1.0,<3.0.0,>=1.7.4 (from fastapi==0.101->wearipedia==0.1.2)\n", " Downloading pydantic-1.10.15-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.1/3.1 MB\u001b[0m \u001b[31m67.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.10/dist-packages (from requests->garminconnect<0.2.0,>=0.1.48->wearipedia==0.1.2) (3.3.2)\n", "Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.10/dist-packages (from requests->garminconnect<0.2.0,>=0.1.48->wearipedia==0.1.2) (3.6)\n", "Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.10/dist-packages (from requests->garminconnect<0.2.0,>=0.1.48->wearipedia==0.1.2) (2.0.7)\n", "Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.10/dist-packages (from requests->garminconnect<0.2.0,>=0.1.48->wearipedia==0.1.2) (2024.2.2)\n", "Requirement already satisfied: anyio<5,>=3.4.0 in /usr/local/lib/python3.10/dist-packages (from starlette<0.28.0,>=0.27.0->fastapi==0.101->wearipedia==0.1.2) (3.7.1)\n", "Requirement already satisfied: entrypoints in /usr/local/lib/python3.10/dist-packages (from altair->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.4)\n", "Requirement already satisfied: jinja2 in /usr/local/lib/python3.10/dist-packages (from altair->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (3.1.3)\n", "Requirement already satisfied: jsonschema>=3.0 in /usr/local/lib/python3.10/dist-packages (from altair->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (4.19.2)\n", "Requirement already satisfied: toolz in /usr/local/lib/python3.10/dist-packages (from altair->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.12.1)\n", "Requirement already satisfied: fiona>=1.8.19 in /usr/local/lib/python3.10/dist-packages (from geopandas->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (1.9.6)\n", "Requirement already satisfied: packaging in /usr/local/lib/python3.10/dist-packages (from geopandas->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (24.0)\n", "Requirement already satisfied: pyproj>=3.0.1 in /usr/local/lib/python3.10/dist-packages (from geopandas->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (3.6.1)\n", "Requirement already satisfied: shapely>=1.7.1 in /usr/local/lib/python3.10/dist-packages (from geopandas->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (2.0.3)\n", "Requirement already satisfied: ipython-genutils in /usr/local/lib/python3.10/dist-packages (from ipykernel->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (0.2.0)\n", "Requirement already satisfied: ipython>=5.0.0 in /usr/local/lib/python3.10/dist-packages (from ipykernel->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (7.34.0)\n", "Requirement already satisfied: traitlets>=4.1.0 in /usr/local/lib/python3.10/dist-packages (from ipykernel->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (5.7.1)\n", "Requirement already satisfied: jupyter-client in /usr/local/lib/python3.10/dist-packages (from ipykernel->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (6.1.12)\n", "Requirement already satisfied: tornado>=4.2 in /usr/local/lib/python3.10/dist-packages (from ipykernel->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (6.3.3)\n", "Requirement already satisfied: widgetsnbextension~=3.6.0 in /usr/local/lib/python3.10/dist-packages (from ipywidgets->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (3.6.6)\n", "Requirement already satisfied: jupyterlab-widgets>=1.0.0 in /usr/local/lib/python3.10/dist-packages (from ipywidgets->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (3.0.10)\n", "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from jupyter-console->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (3.0.43)\n", "Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (1.2.0)\n", "Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.10/dist-packages (from matplotlib->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.12.1)\n", "Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (4.50.0)\n", "Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from matplotlib->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (1.4.5)\n", "Requirement already satisfied: pillow>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from matplotlib->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (9.4.0)\n", "Requirement already satisfied: bleach in /usr/local/lib/python3.10/dist-packages (from nbconvert->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (6.1.0)\n", "Requirement already satisfied: defusedxml in /usr/local/lib/python3.10/dist-packages (from nbconvert->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (0.7.1)\n", "Requirement already satisfied: jupyter-core>=4.7 in /usr/local/lib/python3.10/dist-packages (from nbconvert->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (5.7.2)\n", "Requirement already satisfied: jupyterlab-pygments in /usr/local/lib/python3.10/dist-packages (from nbconvert->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (0.3.0)\n", "Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.10/dist-packages (from nbconvert->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (2.1.5)\n", "Requirement already satisfied: mistune<2,>=0.8.1 in /usr/local/lib/python3.10/dist-packages (from nbconvert->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (0.8.4)\n", "Requirement already satisfied: nbclient>=0.5.0 in /usr/local/lib/python3.10/dist-packages (from nbconvert->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (0.10.0)\n", "Requirement already satisfied: nbformat>=5.1 in /usr/local/lib/python3.10/dist-packages (from nbconvert->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (5.10.3)\n", "Requirement already satisfied: pandocfilters>=1.4.1 in /usr/local/lib/python3.10/dist-packages (from nbconvert->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (1.5.1)\n", "Requirement already satisfied: tinycss2 in /usr/local/lib/python3.10/dist-packages (from nbconvert->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (1.2.1)\n", "Requirement already satisfied: pyzmq<25,>=17 in /usr/local/lib/python3.10/dist-packages (from notebook->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (23.2.1)\n", "Requirement already satisfied: argon2-cffi in /usr/local/lib/python3.10/dist-packages (from notebook->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (23.1.0)\n", "Requirement already satisfied: nest-asyncio>=1.5 in /usr/local/lib/python3.10/dist-packages (from notebook->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (1.6.0)\n", "Requirement already satisfied: Send2Trash>=1.8.0 in /usr/local/lib/python3.10/dist-packages (from notebook->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (1.8.2)\n", "Requirement already satisfied: terminado>=0.8.3 in /usr/local/lib/python3.10/dist-packages (from notebook->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (0.18.1)\n", "Requirement already satisfied: prometheus-client in /usr/local/lib/python3.10/dist-packages (from notebook->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (0.20.0)\n", "Requirement already satisfied: nbclassic>=0.4.7 in /usr/local/lib/python3.10/dist-packages (from notebook->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (1.0.0)\n", "Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.10/dist-packages (from plotly->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (8.2.3)\n", "Requirement already satisfied: mizani<0.10.0,>0.9.0 in /usr/local/lib/python3.10/dist-packages (from plotnine->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.9.3)\n", "Requirement already satisfied: patsy>=0.5.1 in /usr/local/lib/python3.10/dist-packages (from plotnine->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.5.6)\n", "Collecting qtpy>=2.4.0 (from qtconsole->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2)\n", " Downloading QtPy-2.4.1-py3-none-any.whl (93 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m93.5/93.5 kB\u001b[0m \u001b[31m9.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting h11>=0.8 (from uvicorn->lida<0.0.12,>=0.0.11->wearipedia==0.1.2)\n", " Downloading h11-0.14.0-py3-none-any.whl (58 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m58.3/58.3 kB\u001b[0m \u001b[31m6.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: sniffio>=1.1 in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.4.0->starlette<0.28.0,>=0.27.0->fastapi==0.101->wearipedia==0.1.2) (1.3.1)\n", "Requirement already satisfied: exceptiongroup in /usr/local/lib/python3.10/dist-packages (from anyio<5,>=3.4.0->starlette<0.28.0,>=0.27.0->fastapi==0.101->wearipedia==0.1.2) (1.2.0)\n", "Requirement already satisfied: attrs>=19.2.0 in /usr/local/lib/python3.10/dist-packages (from fiona>=1.8.19->geopandas->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (23.2.0)\n", "Requirement already satisfied: click-plugins>=1.0 in /usr/local/lib/python3.10/dist-packages (from fiona>=1.8.19->geopandas->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (1.1.1)\n", "Requirement already satisfied: cligj>=0.5 in /usr/local/lib/python3.10/dist-packages (from fiona>=1.8.19->geopandas->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.7.2)\n", "Requirement already satisfied: setuptools>=18.5 in /usr/local/lib/python3.10/dist-packages (from ipython>=5.0.0->ipykernel->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (67.7.2)\n", "Collecting jedi>=0.16 (from ipython>=5.0.0->ipykernel->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2)\n", " Downloading jedi-0.19.1-py2.py3-none-any.whl (1.6 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m56.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: decorator in /usr/local/lib/python3.10/dist-packages (from ipython>=5.0.0->ipykernel->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (4.4.2)\n", "Requirement already satisfied: pickleshare in /usr/local/lib/python3.10/dist-packages (from ipython>=5.0.0->ipykernel->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (0.7.5)\n", "Requirement already satisfied: backcall in /usr/local/lib/python3.10/dist-packages (from ipython>=5.0.0->ipykernel->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (0.2.0)\n", "Requirement already satisfied: matplotlib-inline in /usr/local/lib/python3.10/dist-packages (from ipython>=5.0.0->ipykernel->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (0.1.6)\n", "Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.10/dist-packages (from ipython>=5.0.0->ipykernel->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (4.9.0)\n", "Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=3.0->altair->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (2023.12.1)\n", "Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=3.0->altair->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.34.0)\n", "Requirement already satisfied: rpds-py>=0.7.1 in /usr/local/lib/python3.10/dist-packages (from jsonschema>=3.0->altair->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.18.0)\n", "Requirement already satisfied: platformdirs>=2.5 in /usr/local/lib/python3.10/dist-packages (from jupyter-core>=4.7->nbconvert->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (4.2.0)\n", "Requirement already satisfied: jupyter-server>=1.8 in /usr/local/lib/python3.10/dist-packages (from nbclassic>=0.4.7->notebook->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (1.24.0)\n", "Requirement already satisfied: notebook-shim>=0.2.3 in /usr/local/lib/python3.10/dist-packages (from nbclassic>=0.4.7->notebook->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (0.2.4)\n", "Requirement already satisfied: fastjsonschema in /usr/local/lib/python3.10/dist-packages (from nbformat>=5.1->nbconvert->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (2.19.1)\n", "Requirement already satisfied: ptyprocess in /usr/local/lib/python3.10/dist-packages (from terminado>=0.8.3->notebook->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (0.7.0)\n", "Requirement already satisfied: argon2-cffi-bindings in /usr/local/lib/python3.10/dist-packages (from argon2-cffi->notebook->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (21.2.0)\n", "Requirement already satisfied: webencodings in /usr/local/lib/python3.10/dist-packages (from bleach->nbconvert->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (0.5.1)\n", "Collecting fastavro<2.0.0,>=1.9.4 (from cohere->llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2)\n", " Downloading fastavro-1.9.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.1/3.1 MB\u001b[0m \u001b[31m45.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hCollecting httpx>=0.21.2 (from cohere->llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2)\n", " Downloading httpx-0.27.0-py3-none-any.whl (75 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m75.6/75.6 kB\u001b[0m \u001b[31m7.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: tokenizers<0.16.0,>=0.15.2 in /usr/local/lib/python3.10/dist-packages (from cohere->llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.15.2)\n", "Collecting types-requests<3.0.0,>=2.0.0 (from cohere->llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2)\n", " Downloading types_requests-2.31.0.20240406-py3-none-any.whl (15 kB)\n", "Requirement already satisfied: cachetools<6.0,>=2.0.0 in /usr/local/lib/python3.10/dist-packages (from google.auth->llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (5.3.3)\n", "Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.10/dist-packages (from google.auth->llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.4.0)\n", "Requirement already satisfied: rsa<5,>=3.1.4 in /usr/local/lib/python3.10/dist-packages (from google.auth->llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (4.9)\n", "Requirement already satisfied: distro<2,>=1.7.0 in /usr/lib/python3/dist-packages (from openai->llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (1.7.0)\n", "INFO: pip is looking at multiple versions of openai to determine which version is compatible with other requirements. This could take a while.\n", "Collecting openai (from llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2)\n", " Downloading openai-1.16.1-py3-none-any.whl (266 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m266.9/266.9 kB\u001b[0m \u001b[31m25.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.16.0-py3-none-any.whl (266 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m266.9/266.9 kB\u001b[0m \u001b[31m24.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.14.3-py3-none-any.whl (262 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m262.9/262.9 kB\u001b[0m \u001b[31m16.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.14.2-py3-none-any.whl (262 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m262.4/262.4 kB\u001b[0m \u001b[31m24.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.14.1-py3-none-any.whl (257 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m257.5/257.5 kB\u001b[0m \u001b[31m23.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.14.0-py3-none-any.whl (257 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m257.5/257.5 kB\u001b[0m \u001b[31m24.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.13.4-py3-none-any.whl (230 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m230.5/230.5 kB\u001b[0m \u001b[31m25.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hINFO: pip is looking at multiple versions of openai to determine which version is compatible with other requirements. This could take a while.\n", " Downloading openai-1.13.3-py3-none-any.whl (227 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m227.4/227.4 kB\u001b[0m \u001b[31m18.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.12.0-py3-none-any.whl (226 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m226.7/226.7 kB\u001b[0m \u001b[31m23.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.11.1-py3-none-any.whl (226 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m226.1/226.1 kB\u001b[0m \u001b[31m22.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.11.0-py3-none-any.whl (226 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m226.0/226.0 kB\u001b[0m \u001b[31m18.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.10.0-py3-none-any.whl (225 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m225.1/225.1 kB\u001b[0m \u001b[31m23.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hINFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.\n", " Downloading openai-1.9.0-py3-none-any.whl (223 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m223.4/223.4 kB\u001b[0m \u001b[31m22.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.8.0-py3-none-any.whl (222 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m222.3/222.3 kB\u001b[0m \u001b[31m17.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.7.2-py3-none-any.whl (212 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m212.1/212.1 kB\u001b[0m \u001b[31m22.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.7.1-py3-none-any.whl (224 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m224.9/224.9 kB\u001b[0m \u001b[31m22.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.7.0-py3-none-any.whl (224 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m224.7/224.7 kB\u001b[0m \u001b[31m16.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.6.1-py3-none-any.whl (225 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m225.4/225.4 kB\u001b[0m \u001b[31m11.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.6.0-py3-none-any.whl (225 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m225.4/225.4 kB\u001b[0m \u001b[31m22.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25h Downloading openai-1.5.0-py3-none-any.whl (223 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m223.7/223.7 kB\u001b[0m \u001b[31m22.9 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: mpmath>=0.19 in /usr/local/lib/python3.10/dist-packages (from sympy->measurement<4.0,>=3.2.0->myfitnesspal<3.0.0,>=2.0.1->wearipedia==0.1.2) (1.3.0)\n", "Requirement already satisfied: regex>=2022.1.18 in /usr/local/lib/python3.10/dist-packages (from tiktoken->llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (2023.12.25)\n", "Collecting httpcore==1.* (from httpx>=0.21.2->cohere->llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2)\n", " Downloading httpcore-1.0.5-py3-none-any.whl (77 kB)\n", "\u001b[2K \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m77.9/77.9 kB\u001b[0m \u001b[31m9.6 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n", "\u001b[?25hRequirement already satisfied: parso<0.9.0,>=0.8.3 in /usr/local/lib/python3.10/dist-packages (from jedi>=0.16->ipython>=5.0.0->ipykernel->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (0.8.3)\n", "Requirement already satisfied: websocket-client in /usr/local/lib/python3.10/dist-packages (from jupyter-server>=1.8->nbclassic>=0.4.7->notebook->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (1.7.0)\n", "Requirement already satisfied: pyasn1<0.7.0,>=0.4.6 in /usr/local/lib/python3.10/dist-packages (from pyasn1-modules>=0.2.1->google.auth->llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.6.0)\n", "Requirement already satisfied: huggingface_hub<1.0,>=0.16.4 in /usr/local/lib/python3.10/dist-packages (from tokenizers<0.16.0,>=0.15.2->cohere->llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (0.20.3)\n", "Requirement already satisfied: cffi>=1.0.1 in /usr/local/lib/python3.10/dist-packages (from argon2-cffi-bindings->argon2-cffi->notebook->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (1.16.0)\n", "Requirement already satisfied: pycparser in /usr/local/lib/python3.10/dist-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->notebook->jupyter<2.0.0,>=1.0.0->wearipedia==0.1.2) (2.22)\n", "Requirement already satisfied: filelock in /usr/local/lib/python3.10/dist-packages (from huggingface_hub<1.0,>=0.16.4->tokenizers<0.16.0,>=0.15.2->cohere->llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (3.13.3)\n", "Requirement already satisfied: fsspec>=2023.5.0 in /usr/local/lib/python3.10/dist-packages (from huggingface_hub<1.0,>=0.16.4->tokenizers<0.16.0,>=0.15.2->cohere->llmx>=0.0.18a->lida<0.0.12,>=0.0.11->wearipedia==0.1.2) (2023.6.0)\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.2-py3-none-any.whl size=133994 sha256=685ab40536f8b0d63ea03079e848120d3ad4bd6170e037878fa3af3b623f5c33\n", " Stored in directory: /tmp/pip-ephem-wheel-cache-0gq5ym2i/wheels/76/ae/d9/df9fe08bcbd83feb697b7c62d086552fd4441182565064ac1f\n", " Building wheel for garminconnect (setup.py) ... \u001b[?25l\u001b[?25hdone\n", " Created wheel for garminconnect: filename=garminconnect-0.1.55-py3-none-any.whl size=13622 sha256=4b2747b37e302960782f89c8ccbe325a7085b9c36528d8f80f5d7a2db4aef18c\n", " Stored in directory: /root/.cache/pip/wheels/8b/dc/11/9aa5c8473be40bed2c4032fded0fa7da63ff844b439681afcb\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=9656 sha256=0b130cc6cfa0f149a66f52e639504cdfd3e228a78e0637bdde3ceb99a0972af4\n", " Stored in directory: /root/.cache/pip/wheels/8b/f1/7f/5c94f0a7a505ca1c81cd1d9208ae2064675d97582078e6c769\n", "Successfully built wearipedia garminconnect wget\n", "Installing collected packages: wget, kaleido, commonmark, typing-extensions, types-requests, typer, shellingham, rich, qtpy, python-multipart, pycryptodomex, polyline, lz4, jedi, h11, fbm, fastavro, diskcache, colorama, blessed, uvicorn, tiktoken, starlette, requests-toolbelt, pydantic, pandas, measurement, httpcore, browser-cookie3, httpx, fastapi, cloudscraper, qtconsole, openai, myfitnesspal, garminconnect, cohere, llmx, lida, jupyter, wearipedia\n", " Attempting uninstall: typing-extensions\n", " Found existing installation: typing_extensions 4.10.0\n", " Uninstalling typing_extensions-4.10.0:\n", " Successfully uninstalled typing_extensions-4.10.0\n", " Attempting uninstall: typer\n", " Found existing installation: typer 0.9.4\n", " Uninstalling typer-0.9.4:\n", " Successfully uninstalled typer-0.9.4\n", " Attempting uninstall: rich\n", " Found existing installation: rich 13.7.1\n", " Uninstalling rich-13.7.1:\n", " Successfully uninstalled rich-13.7.1\n", " Attempting uninstall: pydantic\n", " Found existing installation: pydantic 2.6.4\n", " Uninstalling pydantic-2.6.4:\n", " Successfully uninstalled pydantic-2.6.4\n", " Attempting uninstall: pandas\n", " Found existing installation: pandas 2.0.3\n", " Uninstalling pandas-2.0.3:\n", " Successfully uninstalled pandas-2.0.3\n", "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n", "torch 2.2.1+cu121 requires nvidia-cublas-cu12==12.1.3.1; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", "torch 2.2.1+cu121 requires nvidia-cuda-cupti-cu12==12.1.105; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", "torch 2.2.1+cu121 requires nvidia-cuda-nvrtc-cu12==12.1.105; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", "torch 2.2.1+cu121 requires nvidia-cuda-runtime-cu12==12.1.105; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", "torch 2.2.1+cu121 requires nvidia-cudnn-cu12==8.9.2.26; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", "torch 2.2.1+cu121 requires nvidia-cufft-cu12==11.0.2.54; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", "torch 2.2.1+cu121 requires nvidia-curand-cu12==10.3.2.106; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", "torch 2.2.1+cu121 requires nvidia-cusolver-cu12==11.4.5.107; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", "torch 2.2.1+cu121 requires nvidia-cusparse-cu12==12.1.0.106; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", "torch 2.2.1+cu121 requires nvidia-nccl-cu12==2.19.3; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", "torch 2.2.1+cu121 requires nvidia-nvtx-cu12==12.1.105; platform_system == \"Linux\" and platform_machine == \"x86_64\", which is not installed.\n", "sqlalchemy 2.0.29 requires typing-extensions>=4.6.0, but you have typing-extensions 4.5.0 which is incompatible.\n", "google-colab 1.0.0 requires pandas==2.0.3, but you have pandas 1.5.3 which is incompatible.\n", "pydantic-core 2.16.3 requires typing-extensions!=4.7.0,>=4.6.0, but you have typing-extensions 4.5.0 which is incompatible.\n", "torch 2.2.1+cu121 requires typing-extensions>=4.8.0, but you have typing-extensions 4.5.0 which is incompatible.\u001b[0m\u001b[31m\n", "\u001b[0mSuccessfully installed blessed-1.20.0 browser-cookie3-0.19.1 cloudscraper-1.2.71 cohere-5.2.2 colorama-0.4.6 commonmark-0.9.1 diskcache-5.6.3 fastapi-0.101.0 fastavro-1.9.4 fbm-0.3.0 garminconnect-0.1.55 h11-0.14.0 httpcore-1.0.5 httpx-0.27.0 jedi-0.19.1 jupyter-1.0.0 kaleido-0.2.1 lida-0.0.11 llmx-0.0.21a0 lz4-4.3.3 measurement-3.2.2 myfitnesspal-2.1.0 openai-1.5.0 pandas-1.5.3 polyline-2.0.2 pycryptodomex-3.20.0 pydantic-1.10.15 python-multipart-0.0.9 qtconsole-5.5.1 qtpy-2.4.1 requests-toolbelt-1.0.0 rich-12.6.0 shellingham-1.5.4 starlette-0.27.0 tiktoken-0.6.0 typer-0.6.1 types-requests-2.31.0.20240406 typing-extensions-4.5.0 uvicorn-0.29.0 wearipedia-0.1.2 wget-3.2\n" ] } ] }, { "cell_type": "markdown", "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 nutrisense account. We'll use this username and password to extract the data in the sections below." ], "metadata": { "id": "MYztPubjgX_f" } }, { "cell_type": "code", "source": [ "#@title Enter Nutrisense login credentials\n", "email_address = \"\" #@param {type:\"string\"}\n", "password = \"\" #@param {type:\"string\"}" ], "metadata": { "id": "hAbsFbuZhBiP" }, "execution_count": 2, "outputs": [] }, { "cell_type": "markdown", "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." ], "metadata": { "id": "6iHF2-kagcQc" } }, { "cell_type": "code", "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='2023-03-12' #@param {type:\"string\"}\n", "synthetic = True #@param {type:\"boolean\"}" ], "metadata": { "id": "puUo4f7bhYk8" }, "execution_count": 3, "outputs": [] }, { "cell_type": "code", "source": [ "import wearipedia\n", "\n", "device = wearipedia.get_device(\"nutrisense/cgm\")\n", "\n", "if not synthetic:\n", " device.authenticate({\"email\": email_address, \"password\": password})\n", "\n", "params = {\"start_date\": start_date, \"end_date\": end_date}\n", "\n", "continuous = device.get_data(\"continuous\", params=params)\n", "statistics = device.get_data(\"statistics\", params=params)\n", "scoremain = device.get_data(\"scores\", params=params)\n", "summary = device.get_data(\"summary\", params=params)" ], "metadata": { "id": "-3yf-G4CPyZ6", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "18215b67-632a-48bb-e03e-6c0eaedda7fc" }, "execution_count": 4, "outputs": [ { "output_type": "stream", "name": "stderr", "text": [ "100%|██████████| 109/109 [00:00<00:00, 42779.00it/s]\n", "100%|██████████| 109/109 [00:00<00:00, 15937.36it/s]\n" ] } ] }, { "cell_type": "markdown", "source": [ "# 4. Data Exporting" ], "metadata": { "id": "TyC9aya7gd2f" } }, { "cell_type": "markdown", "source": [ "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." ], "metadata": { "id": "qOkOh_7y-4tk" } }, { "cell_type": "code", "source": [ "import json\n", "\n", "json.dump(continuous, open(\"continuous.json\", \"w\"))\n", "json.dump(statistics, open(\"statistics.json\", \"w\"))\n", "json.dump(scoremain, open(\"scores.json\", \"w\"))\n", "json.dump(summary, open(\"summary.json\", \"w\"))\n", "\n", "complete = {\n", " \"continuous\": continuous,\n", " \"statistics\": statistics,\n", " \"scores\": scoremain,\n", " \"summary\": summary\n", "}\n", "\n", "json.dump(complete, open(\"complete.json\", \"w\"))" ], "metadata": { "id": "F-YvOQ9b_ASD" }, "execution_count": 5, "outputs": [] }, { "cell_type": "markdown", "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", "Here we will put the continuous glucose data into a dataframe." ], "metadata": { "id": "PfJ-NuNl_Avl" } }, { "cell_type": "code", "source": [ "import pandas as pd\n", "import copy\n", "\n", "# glucose scores dataframe\n", "data = []\n", "datas = []\n", "for elem in continuous:\n", " t = pd.DataFrame({'time': [elem['x']], 'level': [elem['y']], 'interpolated': [elem['interpolated']]})\n", " data.append(copy.deepcopy(t))\n", "\n", "datas = copy.deepcopy(data)\n", "data = pd.concat(data)\n", "\n", "display(data)" ], "metadata": { "id": "nTHM-QzTAFRd", "colab": { "base_uri": "https://localhost:8080/", "height": 424 }, "outputId": "6fdd1252-e1f8-4a90-95b8-c0fa0d050186" }, "execution_count": 6, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " time level interpolated\n", "0 2022-03-01T00:15:00-08:00 141.752046 False\n", "0 2022-03-01T00:30:00-08:00 130.740758 False\n", "0 2022-03-01T00:45:00-08:00 140.253880 True\n", "0 2022-03-01T01:00:00-08:00 138.751716 False\n", "0 2022-03-01T01:15:00-08:00 137.299749 False\n", ".. ... ... ...\n", "0 2022-06-17T22:45:00-08:00 127.744215 False\n", "0 2022-06-17T23:00:00-08:00 125.898526 False\n", "0 2022-06-17T23:15:00-08:00 136.808757 False\n", "0 2022-06-17T23:30:00-08:00 125.820452 False\n", "0 2022-06-17T23:45:00-08:00 120.911584 True\n", "\n", "[10463 rows x 3 columns]" ], "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", "
timelevelinterpolated
02022-03-01T00:15:00-08:00141.752046False
02022-03-01T00:30:00-08:00130.740758False
02022-03-01T00:45:00-08:00140.253880True
02022-03-01T01:00:00-08:00138.751716False
02022-03-01T01:15:00-08:00137.299749False
............
02022-06-17T22:45:00-08:00127.744215False
02022-06-17T23:00:00-08:00125.898526False
02022-06-17T23:15:00-08:00136.808757False
02022-06-17T23:30:00-08:00125.820452False
02022-06-17T23:45:00-08:00120.911584True
\n", "

10463 rows × 3 columns

\n", "
\n", "
\n", "\n", "
\n", " \n", "\n", " \n", "\n", " \n", "
\n", "\n", "\n", "
\n", " \n", "\n", "\n", "\n", " \n", "
\n", "
\n", "
\n" ], "application/vnd.google.colaboratory.intrinsic+json": { "type": "dataframe", "variable_name": "data", "summary": "{\n \"name\": \"data\",\n \"rows\": 10463,\n \"fields\": [\n {\n \"column\": \"time\",\n \"properties\": {\n \"dtype\": \"date\",\n \"min\": \"2022-03-01T00:15:00-08:00\",\n \"max\": \"2022-06-17T23:45:00-08:00\",\n \"num_unique_values\": 10463,\n \"samples\": [\n \"2022-05-18T17:30:00-08:00\",\n \"2022-05-24T13:15:00-08:00\",\n \"2022-04-07T01:00:00-08:00\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"level\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 19.981956291164064,\n \"min\": 64.06397557655822,\n \"max\": 149.560460539024,\n \"num_unique_values\": 10463,\n \"samples\": [\n 97.84841696153975,\n 77.54996054101603,\n 131.62832780224613\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"interpolated\",\n \"properties\": {\n \"dtype\": \"boolean\",\n \"num_unique_values\": 2,\n \"samples\": [\n true,\n false\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" } }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "# 5. Adherence\n", "\n", "Since the Nutrisense CGM only holds around 8 hours of data at a time, if the user forgets to sync their data to their phone on time, there'll likely be a gap with missing data. Take it from us, it happens more than you might think!\n", "\n", "In this section, we will simulate this non-adherence over different periods of time from the participant.\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, with user input." ], "metadata": { "id": "59pl2tLwgg8b" } }, { "cell_type": "code", "source": [ "#@title Non-adherence simulation\n", "start_date='2022-03-01' #@param {type:\"string\"}\n", "days=1 #@param {type:\"number\"}\n", "adherence_percent = 0.94 #@param {type:\"slider\", min:0, max:1, step:0.01}" ], "metadata": { "id": "dSWRLMQwG_BU", "cellView": "form" }, "execution_count": 7, "outputs": [] }, { "cell_type": "markdown", "source": [ "Now let's detect non-adherence. We will plot the periods when the participant syncs their data." ], "metadata": { "id": "0bOICDIfXSpm" } }, { "cell_type": "code", "source": [ "import matplotlib.pyplot as plt\n", "from datetime import datetime, timedelta\n", "import pandas as pd\n", "import numpy as np\n", "import copy\n", "\n", "# convert string to date\n", "def strToD(s):\n", " c = s[:19]\n", " return datetime.strptime(c, \"%Y-%m-%dT%H:%M:%S\")\n", "\n", "start = datetime.strptime(start_date, \"%Y-%m-%d\")\n", "end = start + timedelta(days=days)\n", "\n", "dta = []\n", "for elem in continuous:\n", " if strToD(elem[\"x\"]) < start:\n", " continue\n", " elif strToD(elem[\"x\"]) > end:\n", " break\n", "\n", " dta.append(copy.deepcopy(elem))\n", " if np.random.uniform(low=0, high=1, size=(1,))[0] > adherence_percent:\n", " dta[-1][\"interpolated\"] = True\n", "\n", "\n", "datelist = pd.date_range(start_date,datetime.strftime(end,\"%Y-%m-%d\"), freq=\"15min\")\n", "valid = []\n", "for point in dta:\n", " if point['interpolated'] == True:\n", " valid.append(0)\n", " else:\n", " valid.append(1)\n", "\n", "plt.figure(figsize=(12, 6))\n", "datelist = datelist[:len(valid)]\n", "plt.plot(datelist,valid,drawstyle=\"steps-mid\")" ], "metadata": { "id": "S8CwR-4Hawlr", "colab": { "base_uri": "https://localhost:8080/", "height": 539 }, "outputId": "a4a6b34b-90b1-482b-f794-c739c55e4e7b" }, "execution_count": 8, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "[]" ] }, "metadata": {}, "execution_count": 8 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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JkyIysrKmDZtWqxdu3aP6y9cuDCOPfbYGDZsWNTU1MQXv/jFePvtt5MGDAAAAPki56i+9957o7GxMebPnx/r16+PiRMnRn19fbz22ms9rn/33XfHVVddFfPnz4+nn346vvOd78S9994bX/nKV/Z58AAAADCYco7qBQsWxCWXXBINDQ1xwgknxJIlS2L48OGxbNmyHtd/8skn4/TTT48LL7wwJkyYEJ/4xCfiggsu2Our2wAAAJDvcorqXbt2xbp166Kuru6POygtjbq6ulizZk2P25x22mmxbt26roh+8cUXY+XKlXHOOef0epydO3dGe3t7txsAAADkmyG5rLx169bo6OiIqqqqbsurqqrimWee6XGbCy+8MLZu3Rof+chHIsuyePfdd+PSSy/d49u/m5qa4tprr81laAAAALDfDfi3f7e0tMSNN94YixcvjvXr18dDDz0UK1asiOuuu67XbebMmRPbtm3rum3ZsmWghwkAAAA5y+mV6tGjR0dZWVm0tbV1W97W1hZjx47tcZtrrrkmLr744vjMZz4TEREnn3xy7NixIz772c/G1VdfHaWlu3d9RUVFVFRU5DI0AAAA2O9yeqW6vLw8Jk+eHM3NzV3LOjs7o7m5OWpra3vc5s0339wtnMvKyiIiIsuyXMcLAAAAeSOnV6ojIhobG2PWrFkxZcqUmDp1aixcuDB27NgRDQ0NERExc+bMGD9+fDQ1NUVExPTp02PBggVx6qmnxrRp0+L555+Pa665JqZPn94V1wAAAFCIco7qGTNmxOuvvx7z5s2L1tbWmDRpUqxatarry8s2b97c7ZXpuXPnRklJScydOzdeeeWVOOyww2L69Olxww039N9ZAAAAwCDIOaojImbPnh2zZ8/u8b6WlpbuBxgyJObPnx/z589PORQAAADkrQH/9m8AAAAoVqIaAAAAEolqAAAASCSqAQAAIJGoBgAAgESiGgAAABKJagAAAEgkqgEAACCRqAYAAIBEohoAAAASiWoAAABIJKoBAAAgkagGAACARKIaAAAAEolqAAAASCSqAQAAIJGoBgAAgESiGgAAABKJagAAAEgkqgEAACCRqAYAAIBEohoAAAASiWoAAABIJKoBAAAgkagGAACARKIaAAAAEolqAAAASCSqAQAAIJGoBgAAgESiGgAAABKJagAAAEgkqgEAACCRqAYAAIBEohoAAAASiWoAAABIJKoBAAAgkagGAACARKIaAAAAEolqAAAASCSqAQAAIJGoBgAAgESiGgAAABKJagAAAEgkqgEAACCRqAYAAIBEohoAAAASiWoAAABIJKoBAAAgkagGAACARKIaAAAAEolqAAAASCSqAQAAIJGoBgAAgESiGgAAABKJagAAAEgkqgEAACCRqAYAAIBEohoAAAASiWoAAABIJKoBAAAgkagGAACARKIaAAAAEolqAAAASCSqAQAAIJGoBgAAgESiGgAAABKJagAAAEgkqgEAACCRqAYAAIBEohoAAAASiWoAAABIJKoBAAAgkagGAACARElRvWjRopgwYUJUVlbGtGnTYu3atXtc/4033ojLLrssqquro6KiIo455phYuXJl0oABAAAgXwzJdYN77703GhsbY8mSJTFt2rRYuHBh1NfXx7PPPhtjxozZbf1du3bFWWedFWPGjIkHHnggxo8fH7/+9a/jkEMO6Y/xAwAAwKDJOaoXLFgQl1xySTQ0NERExJIlS2LFihWxbNmyuOqqq3Zbf9myZfG73/0unnzyyRg6dGhEREyYMGHfRg0AAAB5IKe3f+/atSvWrVsXdXV1f9xBaWnU1dXFmjVretzmBz/4QdTW1sZll10WVVVVcdJJJ8WNN94YHR0dvR5n586d0d7e3u0GAAAA+SanqN66dWt0dHREVVVVt+VVVVXR2tra4zYvvvhiPPDAA9HR0RErV66Ma665Jm677ba4/vrrez1OU1NTjBw5sutWU1OTyzABAABgvxjwb//u7OyMMWPGxB133BGTJ0+OGTNmxNVXXx1LlizpdZs5c+bEtm3bum5btmwZ6GECAABAznL6TPXo0aOjrKws2traui1va2uLsWPH9rhNdXV1DB06NMrKyrqWHX/88dHa2hq7du2K8vLy3bapqKiIioqKXIYGAAAA+11Or1SXl5fH5MmTo7m5uWtZZ2dnNDc3R21tbY/bnH766fH8889HZ2dn17LnnnsuqqurewxqAAAAKBQ5v/27sbExli5dGt/73vfi6aefjs9//vOxY8eOrm8DnzlzZsyZM6dr/c9//vPxu9/9Li6//PJ47rnnYsWKFXHjjTfGZZdd1n9nAQAAAIMg51+pNWPGjHj99ddj3rx50draGpMmTYpVq1Z1fXnZ5s2bo7T0j61eU1MTP/zhD+OLX/xi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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "# 6. Visualization" ], "metadata": { "id": "rwxfl8stgkCP" } }, { "cell_type": "markdown", "source": [ "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." ], "metadata": { "id": "USB3t03SP9c2" } }, { "cell_type": "code", "source": [ "#@title Basic Plot\n", "feature = \"continuous\" #@param [\"continuous\"]\n", "start_date = \"2022-06-17\" #@param {type:\"date\"}\n", "smoothness = 0.1 #@param {type:\"slider\", min:0, max:1, step:0.01}\n", "smooth_plot = True #@param {type:\"boolean\"}\n", "periods = 96\n", "\n", "from scipy.special import y0\n", "import matplotlib.dates as mdates\n", "import matplotlib.pyplot as plt\n", "from datetime import datetime, timedelta\n", "import pandas as pd\n", "from scipy.ndimage import gaussian_filter1d\n", "\n", "datelist = pd.date_range(start_date,datetime.strftime(datetime.strptime(start_date,\"%Y-%m-%d\")+timedelta(minutes=15*periods),\"%Y-%m-%d\"), freq=\"15min\")\n", "start = datelist[0]\n", "end = datelist[len(datelist)-1]\n", "title_fillin = \"Continuous Glucose Data\"\n", "\n", "# convert string to date\n", "def strToD(s):\n", " c = s[:19]\n", " return datetime.strptime(c, \"%Y-%m-%dT%H:%M:%S\")\n", "\n", "dta = copy.deepcopy(data)\n", "\n", "# extract the necessary data. notice we must convert\n", "# the dates in the dataframe from string to actual datetime object\n", "dta['time'] = dta['time'].apply(strToD)\n", "dta = dta[dta['time'] >= start]\n", "dta = dta[dta['time'] < end]\n", "x = dta['time']\n", "y = dta[\"level\"]\n", "\n", "sigma = 5*smoothness\n", "\n", "if smooth_plot:\n", " y = list(gaussian_filter1d(y, sigma=sigma))\n", "plt.figure(figsize=(16,10))\n", "\n", "plt.plot(x, y);\n", "plt.ylim(40,200);\n", "\n", "plt.title(f\"{title_fillin} from {start_date} to {datetime.strftime(end,'%Y-%m-%d')}\",fontsize=20);\n", "plt.xlabel(\"Time\");\n", "plt.ylabel(title_fillin[:-1]);" ], "metadata": { "id": "C-tfx2OGavTy", "colab": { "base_uri": "https://localhost:8080/", "height": 880 }, "outputId": "2849762f-397b-4593-9ad0-d9bba43c8846" }, "execution_count": 9, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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+/XRRx9py5Yt2rJli/r166dt27bJ19c3330tXLhQDz30kKxWq6pXr67nn39eXbp0UUxMjL744gvNmTNHmzdv1i233KKVK1fK1dU11/bx8fFmtl+PHj00ZMgQdezYUVWqVFF0dLTmzJmjL774QvHx8RozZoz8/f114403lukx2au0x24TFxen/v37a+vWrZKkW265RaNGjVKDBg3k6uqqU6dOadWqVZo9e3apxivlfu4EBQWpY8eOWr9+fbEyLmNjY3XjjTcqMjJSknTdddfp4YcfVv369XX+/HktXbpUn376qdLT0/Xss88qLCxMt99+e6nHDqAMlG8sFMC17OuvvzavYAYHBxsrV64sdP3du3cb/fr1M9q0aeOcAZZAcTIjUfFkZGTkunI/bNgwIzIystBtIiIijCeffNJwdXU1NmzYkGc5mZEVQ86/Q1EZiOvWrTPq1atnrj969OgCs8lKq6JmRtqybSZNmlTeQ6mQfvrpJ+PBBx8sNMvpo48+Mv+2ffv2LXC9sWPHmuv98ssveZb//PPP5vJx48blu49u3boZixcvLvA8PXLkiFGtWjVDysp2PXr0aJkek70cceyGYRhfffWVud6kSZMKfb6mpqaWasyLFy82pk2bZmzbts1IT083DCN3pqOjXuenTp1q7vPVV18t8X4qWmbkM888Y7z11lsFZlhnZGQYo0ePNo/9P//5T77rpaWlGfXr1zczF48cOZJnnUceeaTQ19d169YZo0ePNvbu3VvgeH/77Tcz67FBgwb5nluOOiZ7OeLYbWzPQU9PT+P3338vcD2r1Wqe7yX1+eefGz/88INx+PBh83dhYWHFyox85513zOO69dZb813n999/N9dp0aJFqcYMoOzwbRlAuTh9+rTh7e1tSDJ8fHyM/fv327VdZmamMXPmzDIeXckRjLyy5fyQO2TIECMzM9PubdevX5/vFwKCkRVDcYKRhmEY0dHRRu3atc1t5syZUybjqqjBSNuYXnrppfIeyhWtY8eOhpRVIp1fueS5c+cMFxcXQ5IxcODAAvczcOBAcz/nzp0r0Vg+/vhj8+/63nvvlWgfhlH0MdnLUcceHx9vVK5c2ZBkDB48uMTjKY2yCEZ27drVkGRYLBbjxIkTJd5PRQtG2uP8+fPmBZFWrVrlu07OQPWUKVPyXScpKck8N5o3b17i8YwcOdK8r61bt5ZoH/Yck70cdexr1qwx9/POO++UakwlVdxg5C233GKOedeuXQWu165dO3M9WosAFRMT2AAoFx988IE56ccrr7yipk2b2rWdi4uL7rrrrgKXr127VmPHjlXdunXl5eWlwMBAtWvXTi+88IKio6ML3G7lypVmE+2VK1dKkn755RfdcMMNqlatmipVqqQmTZromWeeUUxMTJ7tbZNj/Oc//zF/l18D+pyN7YuaTdu2zcsvvyxJ2rJli+644w7Vrl1bnp6eqlWrlsaOHav9+/cXeFwvv/yyuZ/C5Hf8+YmOjtYLL7ygdu3aKTAwUF5eXqpbt67Gjh2rtWvXFnoflx9PQfr06SOLxaI+ffrkuzwlJUUfffSR+vTpo2rVqsnd3V1BQUFq0qSJbrzxRr3//vslmqAgNTVV7733niTJ29tbX331lVxc7H+b7Natmxo0aFDs+61bt64sFovuvvvuQtezd/b16OhovfLKK+rRo4eCg4Pl7u6uypUrq0uXLnrmmWcKncTixIkTmjBhglq0aCE/Pz95e3urUaNGevDBB7V79+4ij2Xu3Lm6+eabzXPUz89P9evXV69evfTiiy9q8+bNhW6/YsUKjRs3TvXr15e3t7fZjP7pp582y1CdpWrVqvr888/Nn6dMmZLveufOndPUqVM1atQoNWrUSD4+Pubzc/jw4fr5558LnAzHYrGoXr165s/33HNPnteMy58vx44d03vvvaehQ4eqbt26qlSpkipVqqSwsDDddtttWrx4cYmPOeckPzb/+c9/co0n53l6+XP18OHDevTRR83JG/KbzKM059jlj8mKFSt08803q2bNmqpUqZKaNWumV199VUlJSbm2W7hwoW666SZzvebNm2vKlClKS0sr8WNlL9tjY7Vadfz48TzL582bZ54f99xzT4H7sT3uVqtV8+bNK9FY+vbta/6/OCXFlyvqmOzlqGP//vvvdfHiRUnS888/X+LxVCSHDx/Wxo0bJUm9e/dWWFhYsfdhe89YtWqVJGnVqlV5Xl8Kej/ZvXu3HnjgAfO57OfnpxYtWmjChAmlngDIHlWqVFHr1q0lFXyu/vbbb+b/C3r/9Pb21ujRoyVJ+/bt06FDh0o0Hkc8d+w5Jns56tg/+eQTSVJAQIAeffTRUo3JWXK+btevX7/A9XJ+HnPGaz2AEijvaCiAa4/VajWqVq1qZkU64oplZmamMX78+EKbWQcEBBh//vlnvtuvWLHCXG/58uXGXXfdVeB+GjZsmCc7w97JMXJmTBQ1gY1tm5deesn49NNPC2zK7+3tbaxatSrffdibqZnz+FesWJHvOkuWLDH8/f0LPb7x48cXmE2Y83gKU1gWx9mzZ43mzZsX+Tg/+eSThd5HfnKW9dx7773F3r4gRWVG2rICCitBNAz7Jjz67rvvDB8fn0Ifm4K2//bbbwudvMLV1dV444038t02IyPDuPXWW4v8u3To0CHf7S9dumTcfvvthW7r4+NjzJs3r9DHqDDFzYw0jKzXqiZNmpjbnTlzJs9x2zK7Crv179/fSEhIyLN/e14zcj5fjh07Ztc2d911V4nK6ex5Hct5nuZ8rv7222/5nns5z/nSnGM5H6+XXnrJmDJlSoETRnTv3t1ITEw0rFar8a9//avA+xs0aJCRkZFR7MepOB577DHz/vLLqMpZplxYxuPZs2fN9f7xj3+UaCxbt2419/HYY4+VaB+GUfQx2ctRx3799dcbkoyqVavm+n1kZKRx+PBhIy4ursRjtJejMyNfeOEFc39ff/11qcdUnPeDN954o9DXNU9PT+Pbb78t5REWrVWrVoaUNUFcfmwTmDRp0qTQ/fzwww+lfizfe+89cx+zZ88u0T4Mo+hjspcjjj01NdXw8vIyJBmjRo0yf5+RkWGEh4cbx48fNy5dulSqcdqjuJmREydONI/JnszIKlWqOGikAByNzEgATrd3716dP39ektSrVy/5+fmVep/PPvusPv30U0lSvXr1NG3aNG3evFkrVqzQhAkT5O7urri4OA0ZMkQ7d+4sdF8vvviivvvuO918882aM2eOtm7dqoULF5qT5hw5ckQTJkzItc3NN9+s3bt36+GHHzZ/t3v37jy3WrVqFfvYlixZoscee0wtWrTQ119/rS1btmj16tWaMGGCXFxclJycrLFjx5bpld8dO3Zo6NChio+Pl7u7uyZMmKAVK1Zo8+bN+vzzz83srk8//VTPPfdcmY3jscce0759+yRJd911l+bMmaONGzdqy5YtmjdvniZPnqw2bdqUaN+27BFJGjRokEPG60wzZ87UXXfdpaSkJHl5eemxxx7TwoULtW3bNq1evVqffPKJBgwYkG+25x9//KG7775bqamp8vX11UsvvaQ1a9Zow4YNeu+991S1alVl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ojG99NJL5vF2797dSExMLPY+0tLSzM8M/v7+xpEjR/Ks88gjjxT5erB9+3bztdzHxyffzyf2cMQx2ctRx37y5EnDy8vLkGS0atUq38/PM2fONPczePBgRx+KERYWVuhn4ct169bNHM+MGTPyXefEiRNGSEiI+ZmzrF/HAJQMOcsAys0999yj06dPa/LkyYqKilKfPn00YMAADR8+XM2aNVNgYKBiYmJ06NAh/fHHH1q8eLEyMzNzTTQiSa1atdKTTz6pd955Rzt37lT79u3173//W+3atVNSUpLmz5+vjz76SJmZmfLw8LCrd09Jde/e3fz/hAkT9Pzzz6tGjRrmldy6des6tVwkODhYt956q3788UctWbJEw4YN0/jx41W9enWFh4dr5syZmj17trp3767169cXuJ8vvvhCXbp0UVpamm666SY99thjGjp0qHx8fLR9+3a9+eabZnncU089lW/p1gMPPKCpU6cqIyNDQ4cO1eTJk9WzZ0+lpaVp3bp1ev/995Wenq5GjRqZpbE5hYeHq2/fvmrevLluueUWdezY0SwXOnXqlH7++WczC6Bt27YlmqzBzc1Ns2bN0tChQ7V582bNnTtXS5cu1e23366+ffsqNDRUfn5+SkpK0rFjx7R69Wqzj59U9Mzn+bnrrrv08ssvKz4+Xvfdd5+OHDmigQMHymKxaOvWrXr//fd1+vRptWvXrsCJdUJCQvTZZ5/pH//4h6KiotS5c2fdf//9uvHGGxUSEqLExETt2bNH8+bN08GDB3OVXHl4eGj69OkaOnSo4uPj1aNHDz399NO64YYb5OrqqvXr1+vNN980Z75+991382TtjB07Vk899ZRGjBih7t27q0GDBvLy8lJkZKSWLl2qzz77TFJWU/kxY8bk2vahhx7S0qVLNXfuXM2aNUvbtm3Tgw8+qM6dOysgIEDx8fE6cOCAVq5cqXnz5snLy8ssHy2pM2fOaM+ePebPCQkJunDhgrZv367Fixfnei4MGTIk34xgFxcXjRkzRp9++ql27dqlnj17auLEiWrUqJHi4uK0cOFCTZ06Vb6+vqpZs2aBZfZubm7q1KmT1q1bp6+//lrt2rVT27Zt5e7uLimrJ1tQUJCqVKmim266yXwtHDBggB5++GGFhYUpKipKs2fP1owZM1S/fn3FxsZWqAk6HHGOVTQbN27ULbfcorS0NLm7u+uDDz5Qenp6rvPqcrVr11ZgYGCe37/++utavHixoqOjdccdd+jvv//WkCFDJEkLFizQe++9JylrxtvXXnstz/apqakaPHiw2UZjzJgx6tevX6Fj8fHxyZMt5Mhjsldpj13Kei5+9tlnuuGGG5SUlKSePXvqmWeeUd++fSVJq1ev1ptvvmm2L/j4449L9Fptk5iYmKvdhKRc7UV+/fXXXOdv27Zt1bZt2wL3l5mZabayCAoKMo/fUbp3765vvvlGUVFRmjhxou666y4FBARIyioJDwsLk5T1GL/zzjsaP368Tp8+rQ4dOujZZ59V9+7dlZGRoWXLlumdd95RYmKiLBaLpk+fbr5OFcfHH39szrheq1Ytvf322zp+/Hih2zRp0iTPfbm7u+vjjz/O9brywgsvqHPnzrp48aK++OILzZ49W1JWNt/YsWPz7Pfo0aMaOHCgWZHx2muvKSAgoNBzPjg4OM+M4446Jns54tglKTQ0VK+88oqeeeYZ7d69W507d9a///1vtW7dWvHx8ZozZ475/u3v768PPvigROO1OXLkSJ4WOrbnZWJiYp4sz0GDBuXpJfvGG2+oX79+yszM1D333GOW19euXVsJCQlatWqVPvzwQ7NH/L333ptn8jkAFUR5R0MBYPbs2UbdunVzZecVdGvRooWxZMmSPPvIzMzMdRU4v1tAQEC+2xqG4zIjDcMwRo8eXeAYcmZMOCMz0jAMIyIiwmjUqFGBY7r99tuNZcuWFXn8S5YsMfz9/Qt9jMePH29kZmYWONacWYCX34KCgozVq1cXeDw5/0aF3Zo2bWocO3as0MesKJcuXTImTJhgZgwUdfP39zcmTZqUbyZEUZmRhpGV/ZMzoy3nrVKlSsasWbOKPF8MwzBmzJhhVKpUqdCxFrT9jBkzDE9PzwK3c3V1Nd544418t7XnMQoICDAWLVqU7/ZpaWnGww8/bGb+FXarV69egcdfmJx/B3tuYWFhxrRp0wrdZ2xsbK5stPzO6VWrVhX5HF2wYEGBx57z+R8eHm6EhoYWeH+hoaHG3r17zUyTipIZaVOac8zeMTkrMzJnFpS9t8LGs3HjRjOTJ79bSEiIsXHjxiKP2d5bfn8zRx+TvUpz7Dn9+uuvhp+fX4H7cXd3Nz777LNSj7e4j3dR7+GLFi0y133kkUdKPb7LJSQk5Ko6uPx17nKvv/66WW2S383T09P49ttvSzwe2+tGcW6FZZtOnz7dzObN79a5c+cCKxyK+75Q0N/T0cdkr9Ice07PPvtsoe+/wcHBxvr160s93uI+3gW9Nn///fdmNUhht9tvv91ITU0t9bgBlA16RgIodyNGjNDBgwf1/fff66677lKTJk1UuXJlubm5KSgoSO3bt9cjjzyiv/76S7t379aAAQPy7MPFxUWffvqpVq9erTFjxig0NFSenp7y9/dX27ZtNWnSJB0+fDjfbR3tu+++09tvv21mdjm6cXlxVa9eXZs2bdK///1vNWrUSJ6engoKCtJ1112n7777Tj/++KNcXV2L3M+AAQN05MgRTZo0SW3btpW/v788PT0VGhqqMWPGaM2aNfrkk08KPd4JEyZo8eLFGjhwoCpXrixPT0/Vq1dP48eP1/bt2wvt49WrVy+tXLlSzz33nPr27auGDRvKz89P7u7uql69ugYMGKBp06Zpx44dpe4P5OXlpffff1/Hjh3Te++9p5tuukl169aVr6+v3N3dVa1aNbVp00b33nuvvvvuO507d06vv/66fHx8SnR/t956q9avX69bbrlF1apVk4eHh+rUqaNx48Zpy5Ytds/sPW7cOB09elTPP/+8OnTooMDAQLm6uqpy5crq2rWrJk2apMWLFxe47YEDB/T444+rWbNm8vHxUaVKldSgQQPdf//92r59e56+iTZ79uzRW2+9paFDh6p58+aqUqWKXF1dFRgYqK5du+qll17SwYMHNWjQoHy3d3d319SpU7Vz50499thjatWqlQICAuTq6qqAgAC1bdtW9913n3799Vft37/fvgfVTm5ubqpcubLq1q2r66+/Xv/+97+1aNEiHTt2TA8++GCh2wYEBGjdunV69dVX1apVK3l5ecnX11fNmjXTU089pZ07d+aaXKMggwcP1vLlyzV8+HDVrFmzwGyZOnXqaNu2bXr66afVuHFjeXp6KiAgQG3atNFLL72kHTt2qHnz5iV6HJyhNOfY1a5Lly7avXu3XnjhBbVs2VK+vr7y9fVVq1at9MILL2jPnj0lyva+Ejjq2EeOHKk9e/boqaeeUrNmzeTr6ytvb281adJE48eP1759+3L1ga0oZs6caf7/H//4h8P37+vrq/Xr15vPu6KyQidNmqTt27fr/vvvV4MGDVSpUiX5+PioWbNmevzxx3Xg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AACg5OyNr1XYnpEAAAAAAAAAri4EIwEAAAAAAAA4BcFIAAAAAAAAAE5BMBIAAAAAAACAUxCMBAAAAAAAAOAUBCMBAAAAAAAAOAXBSAAAAAAAAABOQTASAAAAAAAAgFMQjAQAAAAAAADgFAQjAQAAAAAAADgFwUgAAAAAAAAATkEwEgAAAAAAAIBTEIwEAAAAAAAA4BQEIwEAAAAAAAA4BcFIAAAAAAAAAE5BMBIAAAAAAACAUxCMBAAAAAAAAOAUBCMBAAAAAAAAOAXBSAAAAAAAAABOQTASAAAAAAAAgFMQjAQAAAAAAADgFAQjAQAAAAAAADgFwUgAAAAAAAAATkEwEgAAAAAAAIBTEIwEAAAAAAAA4BQEIwEAAAAAAAA4BcFIAAAAAAAAAE5BMBIAAAAAAACAUxCMBAAAAAAAAOAUBCMBAAAAAAAAOAXBSAAAAAAAAABOQTASAAAAAAAAgFMQjAQAAAAAAADgFAQjAQAAAAAAADgFwUgAAAAAAAAATkEwEgAAAAAAAIBTEIwEAAAAAAAA4BQEIwEAAAAAAAA4BcFIAAAAAAAAAE5BMBIAAAAAAACAUxCMBAAAAAAAAOAUBCMBAAAAAAAAOAXBSAAAAAAAAABOQTASAAAAAAAAgFMQjAQAAAAAAADgFAQjAQAAAAAAADgFwUgAAAAAAAAATkEwEgAAAAAAAIBTEIwEAAAAAAAA4BQEIwEAAAAAAAA4BcFIAAAAAAAAAE5BMBIAAAAAAACAUxCMBAAAAAAAAOAUBCMBAAAAAAAAOAXBSAAAAAAAAABOQTASAAAAAAAAgFMQjAQAAAAAAADgFAQjAQAAAAAAADgFwUgAAAAAAAAATkEwEgAAAAAAAIBTEIwEAAAAAAAA4BQEIwEAAAAAAAA4BcFIAAAAAAAAAE5BMBIAAAAAAACAUxCMBAAAAAAAAOAUBCMBAAAAAAAAOAXBSAAAAAAAAABOQTASAAAAAAAAgFMQjAQAAAAAAADgFAQjAQAAAAAAADgFwUgAAAAAAAAATkEwEgAAAAAAAIBTEIwEAAAAAAAA4BQEIwEAAAAAAAA4BcFIAAAAAAAAAE5BMBIAAAAAAACAUxCMBAAAAAAAAOAUBCMBAAAAAAAAOAXBSAAAAAAAAABOQTASAAAAAAAAgFMQjAQAAAAAAADgFAQjAQAAAAAAADgFwUgAAAAAAAAATkEwEgAAAAAAAIBTEIwEAAAAAAAA4BQEIwEAAAAAAAA4RbkGI1evXq2hQ4eqZs2aslgs+u233wpc96GHHpLFYtGHH36Y6/cxMTEaM2aM/P39FRgYqPvuu0+JiYllO3AAAAAAAAAAxVauwcikpCS1adNGn376aaHrzZ07Vxs3blTNmjXzLBszZoz27t2rpUuXasGCBVq9erUeeOCBshoyAAAAAAAAgBJyK887v/HGG3XjjTcWus6ZM2f02GOPacmSJRo8eHCuZfv379fixYu1ZcsWdezYUZL08ccf66abbtK7776bb/BSklJTU5Wammr+HB8fX8ojAQAAAAAAAFCUCt0z0mq1auzYsXr66afVokWLPMs3bNigwMBAMxApSf369ZOLi4s2bdpU4H6nTJmigIAA81anTp0yGT8AAAAAAACA/6nQwci33npLbm5u+te//pXv8oiICAUHB+f6nZubm4KCghQREVHgfp977jnFxcWZt1OnTjl03AAAAAAAAADyKtcy7cJs3bpV//d//6dt27bJYrE4dN+enp7y9PR06D4BAAAAAAAAFK7CZkauWbNGUVFRCg0NlZubm9zc3HTy5Ek9+eSTqlu3riQpJCREUVFRubbLyMhQTEyMQkJCymHUQMWVaTX085ZwnYm9VN5DueIZhqHfd5xR+IXk8h4KAAAAAABXlAobjBw7dqx27dqlHTt2mLeaNWvq6aef1pIlSyRJ3bp1U2xsrLZu3Wpu99dff8lqtapLly7lNXSgQvppS7j+PXu3nvxlR3kPpcylZVh10/+t0eCP1ig90+rw/f++46we/2mHHpj5twzDcPj+AQAAAAC4WpVrmXZiYqKOHDli/nz8+HHt2LFDQUFBCg0NVZUqVXKt7+7urpCQEDVp0kSS1KxZMw0aNEj333+/pk2bpvT0dD366KO6/fbbC5xJG7hWLd6T1Ud147EYnY29pJqBlcp5RGXnrwNR2ncu3vz/wBaOzZT+aUu4JOlARIK2nryojnWDHLp/AAAAAACuVuWaGfn333+rXbt2ateunSRp4sSJateunSZPnmz3Pr7//ns1bdpUN9xwg2666Sb17NlT06dPL6shA1ekuEvp2nD0gvnzgl1ny3E0ZW/2ttPm/2f97dgJqsIvJGvjsRjz5+83hTt0/wAAAAAAXM3KNTOyT58+xSpxPHHiRJ7fBQUF6YcffnDgqICrz8qDUcqw/u+5Nm/nWT1wXYNyHFHZuZCYqhUH/tdLdsXBaEXFpyjY38sh+/81O9BZJ6iSTsVc0h+7z2nykOaq7OPhkP0DAAAAAHA1q7A9IwE4zp/7IiVJt3eqI1cXi/acidex6MRyHlXZmLfzrDKshlrW8lfHsMrKtBqave2MQ/ZttRqavTUrGPnUgCZqUdNfaRnWXJmYAAAAAACgYAQjgatcakamVmZnCt7WqY56NqwqKStodzWyBQZHtq+t0R3rSMoq1XbERDMbjl3QmdhL8vNy08AWIbqzS6gk6YfN4UxkAwAAAACAHQhGAle59UcvKCktU8F+nmpTO1DD2mRN7jRv59mrLoB2MCJBe87Ey83FomFtampw6xry9nDVsfNJ+vvkxVLv39Z/cmibmvJyd9XwtrXk4+GqY9FJ2nQ8poitAQAAAAAAwUjgKrc0u0S7f/PqcnGxaECL6vJ0c9Gx6CTtPRtfzqNzLFtWZN+mwari6ykfTzcNaV1DkvTLltJNZBOfkq5F2TOS39qhtiTJ19NNw9rWksRENleLTKuhM7GXrrpAPQAAAABUFAQjgauY1WqYwcgBLUIkSX5e7rq+abAkaf5VNKt2RqZVc7dn9YYc2b62+XtbqfYfu88pMTWjxPtfsPOcUjOsahjsq7Z1As3fj8ku1V6855wuJKaWeP+oGN5ZclA93vxLt0/fqH1XWbAeAAAAACoCgpHAVWzH6VhFJ6TK19NNXesHmb+3lWov2HlOVuvVkQG25sh5RSekqrL3/4KtktQhrLLqV/NRclqm/ihF8HXW1qzMyls71JbFYjF/37JWgFrXDlB6pqFftzKRTVk7GJGg4Z+u05wymDQoPdOqn7ZkZbhuOh6jIR+v0XNzdhNkBgAApoxMa3kPAQCueAQjgauYLSuyT5Nq8nRzNX/ft2mwfD3ddCb2kraFl76XYkVgm+V6eNta8nD730ubxWIxsyN/+btkAawjUQnaHh4rVxeLbmlfK89yW3bkj5vDr5rgbkWUkp6pR3/Ypp2nYvXen4cc/livO3JescnpqurroSGta8hqZP1N+7y7Ul+uOaa0DL58AABwLftt+xk1fH6Rbp22Xot2nyMwCQAlVOxg5L333quEhIQ8v09KStK9997rkEEBcIw/92b1OLSVaNt4ubtqQIvqkq6OWbXjktP1Z3bgNWeJts2I9rXk6mLR1pMXdSQqsdj7n5Ud6OzTuJqC/bzyLB/apqb8PN104kKyNhy7UOz9wz5vLjqgw9l/vzOxl7TVwYH0BbvOSZJualVDn9zZXr882E0ta/krISVDr/2xX4M+XK2/DkTSTxIAgGvUl2uPSZK2nLioh7/fpt7vrNQXq48p7lJ6OY8MAK4sxQ5Gfvvtt7p06VKe31+6dEn//e9/HTIoAKV3NDpRR6OT5O5qUZ8m1fIst5VqL7wKruou2H1WaRlWNa7uq5a1/PMsD/bzUt8mWaXbtnJre2VkWjVnW1Yvyls75g10SpK3h5tubmebyOZksfYP+6w+FK0Z609IkpqG+EmSft9xxmH7T83I1JLs4P3gVlmTHnWuF6Tfx/fU2yNbq6qvh46dT9K9M/7WuG+26EhU3otyAADg6nXifJL2nImXq4tFD15XX0E+HjoTe0mvL9yvblOW66Xf9+j4+aTyHiZwxYm7lK7ztEW65tgdjIyPj1dcXJwMw1BCQoLi4+PN28WLF7Vw4UIFBwcXvSMATmEr0e5av4r8vdzzLO/RsKqCfDx0PjFN649e2dl8thLtke1z93PMaXR2IHH21jNKL0bwdfXhaEUnpCrIx0PXN61e4Hp3Zpdq/7k3UlEJKXbvH0W7mJSmp2btlCSN6xam5wc3kyT9setcsf6WhVl7+LwSUjIU7OepTnX/11/V1cWi0Z3qaMVTffRg7/pyd7Vo9aFoDfxwjV6et1exyWkOuX8AAFCxLcjuPd69QRU9d1MzrX/2er01spWaVPdTclqmvt1wUn3fXal7Z2zR2sPnqaQA7JCQkq4hH6/R9e+upE/7NcbuYGRgYKCCgoJksVjUuHFjVa5c2bxVrVpV9957r8aPH1+WYwVQDAWVaNu4u7roplZZy67kUu1j0YnaFh4rF4t0S7u8/Rxt+jYNVlVfD51PTNXKg9F273/W37ZelDVz9aK8XLMa/moXGqgMq2Fug9IzDEPPzdmtqIRUNajmo2dvbKZu9auoqq+nLiana81h+/+WhclZou3ikjeg7eflrudubKalE3qrf/PqyrQamrH+hPq8u1I/bAp3yBgAAEDFZfusMLR1VnWRl7urbusUqsVP9NL3/+yiG7InUPzrQJTu+mqTBn64Wj9tDldKema5jRmo6D5cdlinYi4pPiXDbLuFa4PdwcgVK1Zo+fLlMgxDv/76q/766y/ztnbtWoWHh+v5558vy7ECsFNUQoq2n4qVJPVvVnA237A2WcG7JXsirtgPSrYS6l6NqinYP28/Rxt3VxeNyO4n+cvf9pVqxySladn+rDfFWzvUKXL9OztnZUf+tIWJbBzl162ntXhvhNxcLPq/29upkoer3FxdNKR1Vin17ztKH0hPSc80M4mHtqlR6Lp1q/roi3901Hf3dVHj6r6KTU7XpLm7teJgVKnHAQAAKqYjUQk6EJEgd1eLBl52od9isahHw6r66u5OWvFUH93dva68PVx1KDJRz87ZrZ5vrShRz3Lgarf/XLzZhkmSFu+JKL/BwOnsDkb27t1bffr00fHjxzV8+HD17t3bvHXr1k01a9Ysy3ECKIbl+6NkGFKb2gEKCSg4QNcxrLJqBHgpITWjWNmCFYXVamju9qxg5MgO+fdzzMlWqv3XgSi7Sql/33FG6ZmGWtT0V/OaeXtRXm5I65ry93LTqZhLWnPkfJHro3DhF5L18ry9kqSJAxqrZa0Ac9nwtlnvOX/ujVRyWkap7mfVoWglpmaoZoCX2tWpbNc2PRtV1cJ/9dKI7NnVf9vuuP6VAACgYpm/Mysrslejagrwztv+yKZeVR+9PKyFNjx3g14Y3Ew1A7x0PjFVn6866qyhAlcEq9XQi7/tUabVUNs6gZKk9UfPMxnUNaTYE9iEhYXJxcVFycnJOnDggHbt2pXrBqD8FVWibePiYjEzzOZfgaXaG49d0JnYS/LzctOA5gVngNo0DPZT+9BAZVoNzd1WdPDIVm59qx2BTkmq5OFqZl/+wEQ2pZKRadXEX3YoKS1TnesG6cHrGuRa3rZOoEKDvHUpR1ZjSRVVol0QN1cXje0aJimrR+ultCszuxgAABTMMAyzX6Ttc3NRAiq565+96uv/7mgnSfpj9zklpZbu4ilwNZm97bT+PnlR3h6u+uyu9moY7Kv0TEMrDlBtdK0odjAyOjpaQ4YMkZ+fn1q0aKF27drlugEoX4mpGVp3JGtCGnsCdLZS7WX7I5V4hX1I+nVbVrBwSOua8nJ3tWub0R2zyq1/+ftUoY3F956N075z8fJwddHwtgX3orzcmOyJbJbtj1JkPBPZlNS0VUf198mL8vV003uj28j1siChxWIxsyPnlaJU+1JappZnl+IPaVP8DP+2dQJVu3IlJadllkmpdlR8ChMiAQBQjvafS9DR6CR5uLmovx2frXPqGFZZdat4KzktU4soQcUVzFGTRkpSbHKapiw6IEl6ol8j1QiopEHZSTRL9vI8uVYUOxj5xBNPKDY2Vps2bVKlSpW0ePFiffvtt2rUqJHmzZtXFmMEUAyrD0UrLdOqulW81TDYt8j1W9byV72qPkrNsGrpvivnxT8pNcPsKzKqg/3BwiFtaqqSu6uORidpW/jFAtezZUX2ax6syj4edu+/UXU/dapbWZlWQz9vsa83JXLbdTpWHy47LEl6ZXgL1Qnyznc9WzBy1aFoXUwq2azWKw5GKTktU7UrV1Kb2gFFb3AZi8WiwdlZErasCUeJu5SuQf+3RkM+WnvF9nQFAOBKZ3t/79O4mvy8Ci7Rzo/FYtGo7AqbWXb2LAcqmneWHFCLl5Y47LPu20sOKiYpTY2r++qeHvUkyezFuvJgNNVG14hiByP/+usvvf/+++rYsaNcXFwUFhamu+66S2+//bamTJlSFmMEUAw5S7QtlqJLTi0Wi4a2KX2GmbMt2hOh5LRM1avqo/ah9vX5kyRfTzczePTLlvxnvU7LsOr3HVll3PZMXHO5O7OzI3/aHK5MJrIpluS0DD3x0w5lWA0Nbl2j0BnSGwb7qUVNf2VYDS3cc65E92f7UDW4dQ27ni/5sc2q+deBKIdmF8/bcUYxSWmKSkjVOnqQAgDgdFkl2lmfMUpSQSFJI9rXlsUibToeo/ALyY4cHlDmzsZe0herjystw6qJP+/UhqMXSrW/Hadi9ePmcEnSq8Nbyt01KyTVspa/agVW0qX0TK0+fOXNZYDiK3YwMikpScHBwZKkypUrKzo660Rp1aqVtm3b5tjRASiW9Eyr/srus2FPibbNsOwPV2sOny9xhpmz/bo16+ryiHa1ih1EspVqL9h1Nt/+Pcv3R+picrqC/TzVq1HVYo/txpY1FOjtrrNxKVp1iL4nxfHGwv06dj5JIf5eev3mlkX+bW3ZkSWZVTspNcN8vtgCiiXRomZWdnFKutUs+XaEn3NkUCzbz3kEAICz7T4Tp/CYZHm5u+iGpsEl2kfNwErq2TDr86StxRBwpZi68ojSMq1yd7UoLdOqB2b+rQMR8SXaV6bV0Au/7ZZhSCPa11KX+lXMZRbL/2aqX0JLg2tCsYORTZo00cGDByVJbdq00eeff64zZ85o2rRpqlHDvoa+AMrG5uMxik/JUBUfD7UrRrZgw2BfNa+RlWF2JfSzORWTrI3HYiRJt7S3v0TbplPdyqpX1UdJaZn6Y3fejLpZW7M+KI5oX1tursV+mZSXu6tGmRPZhBd7+2vVXwci9d3GrMfrvdFtFOhddHn80DY1ZbFknftnYy8V6/6WH4hSSrpVYVW81cKO2dILYrHknAiqZBmal9t7Nk57zvzvg95fByIL7XEK4NqweM85M3MfQNmzZUXe0LS6fDzdSrwfW6n27K2nZaVqBleIs7GXzLZTX43rpE51KyshJUN3f71F5+KK97lbyprgc8+ZePl5uem5G5vlWT6oZVYwctn+SIf2qCyOE+eT1O/9VfrvhhPlcv/XkmJ/y3788cd17lzWi/JLL72kRYsWKTQ0VB999JHeeOMNhw8QgP1sJdr9mlXPM+FHUYbZJgPZWfG/5MzdnjXGbvWrqHbl/PsJFsZisejWjvn374mKT9HK7IlIbOuUxB3Zpdp/HYgqdpDsWnQ+MVXP/LpLknRfz3rq0dC+jNQaAZXUuW6QpOLPCP9HjpkxS1qibTMkO7Ny9aFoxV1KL9W+JOmX7A9+/ZpVl4+HqyLjU3MFJwFce1YfitZD323T4z/t0KkYSj2BsmYYhv6wlWjbOYt2QQa2CJGfl5vOxF7ShmOlK3MFnGXqyiNKzzTUrX4VXde4mr74R0c1DPZVRHyK7v56S7E+80YnpOrtJVlJbc8MbKJqfp551ukQVllVfDwUn5KhjeX0PJmx/oSORCXq0xVHuHBQxoodjLzrrrt09913S5I6dOigkydPasuWLTp16pRuu+02R48PgJ0Mw9DSfVklogNaFG+mP0lm38hNx2MUEVdxZ+81DENzsktcRnYoebBwZPvacrFIW05c1LHoRPP3c7afkdWQ2ocGqkG1oicAKkiDar7qWj9IVkP6iYlsCmUYhp6dvVvnE9PUpLqfnh7YpFjb22Y7L06pdkJKulYczGozMrhVyUu0bZqE+KlRsK/SMq3m87CkUtIz9Vv2sYztFqZejapJyrpKDODaFJOUpidn7TR/XnmIflpAWdsWHqszsZfk4+GqviUs0bbxcnc1P2v/upVSbVR8Z3JkRT7er5EkKdDbQzPu6aRgP08djEzQgzP/VmqGfZPNTFm4XwkpGWpVK0B3dgnLdx1XF4v5PXZxOVTrZVoNs2ouMj5Vu8/EOX0M15Li1x9extvbW+3bt1fVqsXvqwbAcfaejdfZuBR5e7janVWWU63ASuoYVlmG4fhZgR1p68mLOnEhWd4erroxO5W/JKr7e6lPk6wPlr9kz5xtGIaZKXlrx+JPXHM52xvtz1vClVFOpQZXgp+2nNKy/ZHycHXRh7e3lZe7a7G2v7FliNxdLdp3Ll6HIxPs2mbZ/kilZVhVv5qPmtXwK8mw87B9yShuhublluyNUNyldNUM8FLPhlV1Q7Os85RgJHBtMgxD/569S9EJqbIVPaw6SDASKGu2z8P9m1cv9meT/NyafRF90Z5zik8pfRUFUJamrvhfVmTXHL0da1f21jf3dJKvp5s2HovRU7N2FZlBuPHYBc3ZfkYWi/TqzS0LreCz9Y38c1+k0zMTNx+PUXRCqvlzaRMMULhiBSOTkpI0efJktWzZUr6+vvLz81Pr1q31yiuvKDmZchHgcpuPx2iZk17EbCXa1zWqVuIPTLZS7ZIEUzYfj9EbC/dr79myvYI0OzsrclDLkFL17pH+N5HN7G2nlZFp1fZTsToanSQvd5dSl+NI0sAW1RXk46HI+FRzohTkFhGXolfm75MkPT2wiZrVKH7vxso+HurdOCt7cJ6d5+7/yq5qlrpE28Z2zqw7UrqJoH7JDoiP6lhHri4W9W0aLIsl64JDSfrzALiy/bj5lJbui5S7q0VvjWwtSVp/9LzSMrjIBZQVq9XQwt3/+6zgCG3rBKphsK9S0q3m5xCgIjoTe8n8PPpEdlZkTi1qBuizu9rLzcWi+TvPasqi/QXuKz3Tqsm/75Ek3dk5VG3rBBZ6390bVJWfp5uiE1K1/dTFkh9ECczPvgBhKyEnGFm27A5GpqWlqXfv3nr77bfVqFEjPfbYYxo/frzq1aun119/XTfccIPS07nCA9hcTErT2K826Z///Vt7nJDi/WcpSrRtbmpVQ64uFu08HacT55Ps2uZ8Yqom/rJDoz/foOmrj2nwR2v1z2//1q7TsSUeR0FS0jO1IHuCkFGlKNG2ub5psKr4eCg6IVWrDkVrVnaG5I0ta8jPy73U+/d0czWvgv+wmYls8vPH7nO6lJ6pNrUDdF/PeiXez7AcpdpFTfQSdyldq7JLHB0RdLapX+1/E0Et3luy0pJTMclad+SCLJb/ZVBU9fVU++wJqZYzqzZwTTkSlahXFuyVJD0zsKlGdaitan6eSk7L1N8nY8p5dMDVa8uJGEXGp8rPy029GjumAtBisZifXynVRkVmy4rs3qBKrhmvc+rVqJreHpV1geyLNcf19drj+a73zbrjOhSZqCAfD7taMXm4uej67KogZ5Zqp2dazft7aWhzubpYdDAyQeEXSLorK3YHIz/77DOdPn1aO3fu1Ny5czVlyhS9+eab+v3337Vz504dP35c06ZNK8uxAleUudvPKDU7a2HG+hNlel/hF5J1ICJBri4WXV+KnjZVfT3VvUHWG05R2ZFWq6HvN53UDe+t0pxtWWn3nepWlsWSVU467JN1uuebzdoe7rgrWn/ui1RCaoZqBVZS13r5vzEWh4ebi25plxXE+nbDSS3IPuZbHRDotLmjc9ZENqsORTPhQD6WZ5ceD21TUy7FnHQpp37NguXt4arwmGTtOBVb6LpL90UqPdNQ4+q+alzdMSXaNkPaZAU3S9rqwNYmoEeDqqoT9L/JmWyl2ssp1QauGWkZVj3x83alpFvVo2EV3dezniwWi67L7iO7ir6RQJmxzaI9sEWIPN1KX6JtM6JdLbm6WLT15EUdzdGzHKgoTl9MNrMiH78hb1ZkTiPa19Yzg7ICjK/+sc/MJrY5G3tJHy47LEl67samCvT2sGsMg7JLtRfvjSgyycBR1h+9oJikNFXx8dCgFiHmBJl/7nN+78prhd3ByDlz5ujFF19UkyZ5o9lNmzbV888/r19//dWhgwOuVIZhmA1/JWnejrM6n5hayBalY3uR7Fw3yO4X+YLY+t7N21lwhtmeM3G65bP1en7uHsVdSlfzGv6a/XB3zXqou5ZO6K0R7WrJxSKtOBitW6au19ivNunvE6XP4JidfRV5RPtapQpc5TS6U1ap9upD0UpIzVDtypVy9UUprbpVfdSzYVUZhvTyvL2KSyaD3CY+JV2bj2edFzc0K3lGryR5e7hpQPOsfRQ1kY0tUOiIiWsuNzS7lGvD0Qu5es7YI9NqaFb2OW47L236ZT8+645eUHJahgNGCqCie3/pIe05E69Ab3e9d2tb833vuuwsLfpGAmUjI9Oao0TbcRUUkhTs72W2liE7EhXR1JVHi8yKzOnh3g00tmuYDEN64ucd5md7SXp1wT4lp2WqY1hljWxvf7JH7ybV5OnmolMxl7TvXHyJjqO4bEkpN7YKkZuri/pnf6+gZ3vZsTsYuW/fPvXp06fA5X379tW+ffscMSbgirfjVKwORibI081FTUP8lJZp1Y+byq5M1xEl2jYDW4TIw9VFh6MSdSAi92Qg8SnpenneXg37ZK12noqVr6ebXhraXPMe7WGWkTYM9tX7t7XVX0/20a0dasvVxaI1h89r1LQNuvOLjdp47EKJxhUZn6I1h7O+eI0oxptZURpX98vVu2Rk+9oOC3TaPNyngVws0vIDURr44WqtJptFUlYAOMNqqH41H9Wr6lPq/dlm1V6w61yBEwZdTErT2sPnJf0vi9GR6gR5q02dQFmNrAb1xbHmcLTOxaUooJK7GVi1aRTsqzpBlZSWYdWa7PEDuHqtP3pen68+Kkl6c0RrhQR4mct6Naomi0U6EJGgyPiU8hoicNXaeCxGF5LSVNnbvUSTQhbFVqo9Z9tpZTp5gg6gMKcvJptVOk/0a2zXNhaLRS8Pa6EBzasrLcOqf367RYcjE7TyYJQW7YmQq4tFr97csljfr7w93Myg/ZK9ZR8MTM3INFss2RILbMHILScuKja55L3gUTC7g5GxsbGqUqXgyHiVKlUUF8fU54AkMytycKsaeqh3A0nSzI0nlV4GMyrHJKWZWYf9m5c+GBlQyV19muSeDMQwDM3beVb93lulGetPyGpkXSle/mRv3dOjntxc876U1K3qo3dubaMVT/bRHZ3ryM3FovVHL+j26Rs1+vMNWn/kfKFp94ZhKD3TqsTUDMUkpenHzeGyGlKHsMoOCVzlNDrHzNmO6EV5uR4Nq2r2w91Vr6qPIuJT9I+vN2vy73uu+Qw3W//DfqXMirTp2aiqKnu763xiqjYUEPT+c1+EMqyGmtXwV4Nqvg6538sNzc6isPU3tZetJOaWdrXyTEJlsVh0Q9Osx4lSbeDqFpucpok/75RhSHd0rqNBLUNyLQ/y8VDr2oGSKNUGyoKtgmJQyxC55/MZt7RuaBasQG93RcanmhfagYrAlhXZo2EVda4XZPd2ri4WfXRHO7UPDVR8SobGfb1Zk3/P6nd8d/e6JZqg0jar9hIn9I1cc+i8ElIyVN3fU52yy7PrBHmraYifMq0GE5GWEbunorVarXJ1LbhfhouLizIzMx0yKOBKlpiaYQbxbutUR+1CK+v1hfsVlZCqRXsiNKyNY0tDl++PlNWQmtfwV+3K3kVvYIdhbWvqz32Rmr/zrEZ1qK2Xft+rtUeysrHqVfXRK8NbqFd2z6qihFbx1pQRrTW+b0NNW3VUv2w5rc3HY3Tnl5vUMNhXnm4uSsuwKjXDqtSMzKx/07P+n9/F4uKk+NtreNuaWrTnnJrV8M/Vp8+R2oVW1sJ/9dKbi/br2w0n9d8NJ7Xm8Hm9N7qNmVV6LcnItGrFwaw39htK0ec0J3dXFw1uXUPfbQzX7zvO5nuOLthVNmVXOd3UqoZe+2O/tpyMUURcSq6MpoJcSEw1Z+zLGRzPqX/z6pqx/oT+OhAtq9VweAYvgPJnGIaem7NbEfEpql/VRy8OaZ7ver0bV9POU7FadSi6wNcMAMWXnmk1M6QcNYv25TzdXHVz21qasf6EZm09rT5NHPM5CCiNnFmRj99gX1ZkTl7urvpqXCeN/Gy9jmVPhFrd3zPf2bjtcUOzYLllTyJzLDpR9csoiUD63yzag1vl7mHfv3l1HYhI0NJ9kQ6tzEMWuy/1GIahG264Qe3bt8/31r9//7IcJ3DF+GPXWSWnZapeVR91rhckDzcXjemSNYnJjHX5zzJWGo4s0ba5oWl1+Xi46vTFSxrwwWqtPXJeHm4umti/sRY93svuQGROtSt767WbW2nVM310d/e68nBz0ZGoRO09G6/DUYkKj0lWZHyqYpPTdSk9byDS3dWi5jX8NbQMSmt9PN00874umnRTM4fvO6dKHq76z/CW+u+9nRXi76Xj55M06rP1eu/Pg0rLcHzWbEW2LTxWscnpCqjkrg5hjgvG2kq1F++JUEp67gtkFxJTtf5oVsbk4FZlF4ysGVhJHcMqyzCyZgu3x9ztZ5SeaahVrQA1r5n/1eNOdYPk5+mm84mp2lkGs9UDKH+ztp7Woj0RcnOx6MPb28rbI/+8AVv52trD5wtsSwGg+NYeOa/Y5HRV9fVQl2JkhhWXrRJn6d5I+omjQvh0RcmyInOq7OOhb+/trKq+npKkF4c0l5+Xe4n2FejtoW7ZE6uWZan2pbRMLcv+Pn15Cydb1eGqQ9F5vleg9OzOjHzppZeKXGfkyJGlGgxwNfgpu0T7tk51ZLFkXVkZ0yVMn644om3hsdp5KlZtcvQoLI1LaZlmeceA5iFFrG2/Sh6u6t+8un7bcVaZVkO9G1fTK8NbKKxK6cujawRU0svDWuiRvg2081Sc3F0t8nRzlae7izxcXeTl7pL1s5tLrt9fTVlg1zWupiVPXKeX5u3RbzvO6uO/jmjFwSi9P7qtw2d3rqhspcZ9m1TLt8y/pDqEVlatwEo6E3tJKw5E6cYcQcfFeyOUaTXUspa/6jq41P9yQ9vU1N8nL2r+zrO6r2e9Qtc1DMMs0b584pqcPNxcdF2Tavpj1zkt3x+ldtdgRi1wNTtxPkkvz8sqa5s4oLFZip2fNrUDFFDJXXGX0rXzdJxDL+oA1zJbi5UbW9Zw6OeTy7Wo6a+mIX46EJGgeTvPaGy3umV2X0BRStIrsiB1grw1/7EeOn4+Sd0blK7n6sAWIVpz+LyW7I3Qw30alGpfBVlxMEpJaZmqFVhJ7S77jt6qVoBC/L0UEZ+iDUcvqK+DqrmQxaHBSOBadzAiQdvDY+XmYtGI9rXM31fz89TQ1jU1Z/sZzVh/Qh/c1tYh97fmcLRS0q2qXbmSmtVwbBDrqYFN5OJiUb9m1XVjyxAzsOoowX5e6t+86PLVq1WAt7s+vL2d+jcP0fO/7daeM/Ea8vFaPTOwie7tUe+qCr7mxzYzXWln0b6ci4tFQ9vU1LRVR/X7jrO5gpG2LxhlVXaV042tQvSf+Xu141SsTsUkF1r+v/N0nA5FJsrTzaXINg79mgXrj13ntGx/pJ4a2MTRwwZQTtIzrXr85x1KTstUl3pBevC6wr90ubm6qGejqvpj1zmtOhRNMBJwgNSMTP25L3sSCwe3VbqcxWLRrR3r6NUF+/Tr1tMEI68BmVZDrhX08/2nK44ow2qoZ8OqZs/E0qgRUEk1AiqVej8DmlfXi7/v0Y5TsToXd8kh+7ycrUfskDY18nzftVgs6tc8WN9tDNef+yIJRjpY2V3uAa5BtolrbmgWrGC/3IG2cd3rSsp6wYtKcMzsl7YS7f7Nqzs8WFi7srfeH91WN7XK+8IMxxncuob+fOI69W1STWkZVr32x37d8cVGnYpJLu+hlZkT55N0NDpJbi4W9W5S/JL/ogxvm/UF4q+DUYq7lFX6FJWQok3Hy75E2ybYz0td6mWVlhRVqm173bixZYgCKhVeytK3SbBcXSw6EJGg0xev3nMEuNZ8tPywdp6Klb+Xmz64ra1dX1htpdpMYgM4xursSSxC/L3U0QkB/pvb1pSbiyX7omRCmd8fnMdqNXQkKlG/bj2tF3/bo6Efr1XTFxdpyMdrdDCiYv2tT8Uka9bfpyVJj5ewv2NZCfb3Mnvr/1kGpdqJqRnmhJpDC0hW6J9dfbh8f6Ss+U1ogBIjGAk4SGpGpuZsz3ohv71TaJ7lbeoEqn1ooNIzDf2wKbzU95eRaTVLXR1Zog3nC/b30td3d9Ibt7SSt4erNh2P0Y3/t0ZbT14s76GVCVtWZOd6QfIvYR+ZwjQN8VPj6r5Ky7BqSXYT+sV7ImQ1sp6HZTVJ0eVsfWdsV1zzk5yWofnZE14VVqJtE+jtYWZA2T48AbiybT4eo09XHJEkTRnRWjUD7cv8sAUjd52OVUxSWpmND7hW2N6vb2pVwykVKlV8PXV9dqaVrUQWV6bohKyJCN9dclB3fblJbV75U/3eX6WnZu3UzI0ntftMnNIzDe05E69hn6zVj5vDZRgVI7A1daVjsyIdbZBtVu29jp9Ve/n+SKVmWFWvqo9aFNCzvWv9IPl6uikqIVW7zsQ5fAzXMoKRgIMs2Rup2OR01Qjw0nWN88/2uqdHVu+47zaGl3rCkjnbzuhicroCvd3VqS7lWVc6i8WiO7uEatHjvdQuNFCJqRl6e/GB8h5WmbAF0a4vo1IHi8ViTmQzb0fWFwtbifbQMpxF+3I3tqwhVxeL9pyJ1/HsWQUvt3B3hBJTMxQa5K2u2ZmURenXLOtxswV1AVy54i6la8LPO2Q1sia0GFyM16jq/l5qGuInw5DZPxpAyRQ2iUVZurVj1oXIudvPKp3JqK4oi/dEaPz329Tjzb/U6fVluv+/f+uTFUe09khWhq2Xu4s61a2s+3vV0yd3ttOix3upd+NqSs2w6rk5u/XYj9sVn1K+kxflzIos6azXZW1gdjBy0/EYh194syUEDG1dcCWgp5urefFv6T7HB0SvZQQjAQf5eUtWtuOtHesUWF41qGWIqvt76nxiqv7YXXC2VFGORSfq5flZTe4fvK5BmTbYhnOFVfHRZ2M6yM3Fok3HY7TrKps1Oe5SuraciJEk9XNwv8icbL0X1x89r92n47TlZNZ93uSEEm2bIB8P9WiY1bh7wc78n++/ZJdoj+5Y2+4sDFufzY3HLiihnD/EAiidVxfs05nYSwoN8tbLw1oUe3tbqwtKtYHSKWwSi7LUp0k1VfX10PnEVK06yPP4ShGXnK5Hf9imP3af05nYS7JYpMbVfXVrh9p6/ZaW+uNfPbXn5YGa9VB3PT+4uYa0rqlmNfz1zd2dNOmmpnJzsWjBrnMa/NEa7TgVW27HYesV2atRVXWsgFmRkhRaxVvNavgr02o49EJ8XHK6+d45pIgesbZZtZfuIxHAkUoVwUhJcUzfO+BKF34hWeuOXJDFIt3aoXaB67m7umhs1zBJ0jfrTpQoPT8tw6rHf8pqct+tfhU9cF39Eo8bFVNIgJcZTPtizfFyHo1jrT4UrQyroQbVfMp0Rus6Qd5qHxooqyFN+GWHDEPqEFbZ7vJHRxnS2laqnbdv5LHoRG0+ESMXizSqQ9El2jYNqvmqXlUfpWcaWnP4vMPGCsC5UtIzNS/7QsW7t7aRr6fd80qabNkaqw+dp5cVUArmJBaFZEiVBXdXF92cXc0xayul2leKTccvKMNqqFZgJf3wzy7a9dIA/Tmht965tY3GdAlTi5oB+SaLuLhY9MB1DTTroW6qXbmSTsVc0qjP1uuL1cec/hp+KiZZv27N7hV5Q8XMirQxS7X3OC4zccm+CKVnGmpS3U+Nqxc+EaytZ/uhyESdvJB/tROKr9jBSKvVqldffVW1atWSr6+vjh07Jkl68cUX9dVXXzl8gMCV4JfsPi89G1Ytsh/dHZ1D5eHmol2n47S9BFfC3v3zoHafiVNlb3e7m9zjyvPPXllB5oW7z11Vk9nY+pyWZVakja1U+0hUoiTnTFxzuYHNQ+TuatHByIQ8zel/yS6L6d24mkICijezPKXawJVv8/EYpWVYVTPAq8TtVjqGBcnbw1XnE1O171y8g0cIXBuSUjP014GsFjJDCpjEoiyN6piVyLB8f5QuJKY6/f5RfBuPZVXc9G5STd0bVpVfMXugtwutrD/+1UuDW9VQhtXQ6wv3675vtzj1738lZEXaDGqZFYxcc+S8ElMzHLJPW6LAUDvaMgR4u6tLvazHiOxIxyl2MPK1117TjBkz9Pbbb8vDw8P8fcuWLfXll186dHDAlSAj02peycxv4prLVfH1NLPeZqw7Uaz7WnM4WtNXZ10AeGtk62IHMHDlaF7TX70aVVWm1dA3xTxPKqqMTKtWZJcg3eCEYORNrWqYwXqLRcXqxeYoAd7uuq5RVuZSzlLtjEyrZm/LCkbeZsfENZezPX4rD0Yrk2wo4Iq0Ors8rFejaiXOxPJwc1H3Bln9ZlfTNxIokWX7I5WSblVYFW+1rJX/JBZlqWmIv1rVClCG1dDvO0rexgnOs+HYBUlSt/r29fvOT0Ald31yZzu9fktLebq5aMXBaN34f2u0/mjZV73kzIqsqL0ic2pcPasqKC3DqpUHSz+B44XEVK07kvU423sBwlaq/SfBSIcpdjDyv//9r6ZPn64xY8bI1dXV/H2bNm104MDVOdkCUJhVh6IVGZ+qIB8P9Wtu34Qcd3evKykr6y0izr52BxcSUzXxl52SpLu6hmpAC2bQvtrZsiN/3hKuuEvl1xswNjlN0Qmlv1K79eRFxV3KmnSpfWhg6QdWhGp+nmbPxk51g1Tdv3yC90OzLz4s2HXObM2w4mC0ohNSVcXHQ9c3LX5gtmNYZQVUcldMUpq2h1+ds64DVztbm4WCJr2zl61Um35zQMnYMqScXaKd063Z2ZGzsgNEqLhik9N0ICIrE71L/dJlFFosFo3pEqbfH+2hhsG+ikpI1ZgvN+n9pYeUUYYTGk1ZtN/MiuwQVrGzIqWsx2lAi6zPy4sdUKq9eG+EMq2GWtUKsLttlK2q6+8Tjp9I51pV7GDkmTNn1LBhwzy/t1qtSk+nkT6uPT9lT0Axol0tebq5FrF2lpa1AtS5bpAyrIa+33SyyPUNw9DTv+5SdEKqGlf31QuDm5dqzLgyXNeoqppU91NSWqZ+3BxeLmNIz7Rq6Cdrdf17K3Um9lKp9rU8uwSqb5Ngp0269K/rG6phsK/+dX35XfXt17y6PN1cdOx8kllG+bPtdaN9LXm4Ff+xcHN1UZ/siSuWUqoNXHEi41N0MDJBFovUo2HJM2skqXfjrAuhW09eZFIroJjiU9LNQH55lGjbDGtTUx6uLtp/Ll57z8aV2zhQtI3HYmQYUsNgXwX7OeZCd9MQf817tIdu61hHhiF9tPyw7vxyk91JK8WxcPc5LdwdITcXi569sanD919WbH0jVxyIUkp6Zqn2ZZtFe0gxqqbqBHmraYifrEbWGFB6xf4G1Lx5c61ZsybP73/99Ve1a9fOIYMCrhRR8Slmj5nbOxev1PLuHnUlST9sCi/yBXXG+hP660CUPNxc9NEd7eTlbl/QE1c2i8Wi+7MnKPpm3XGlZZTdFdKCrDtyXqdiLikhJUPv/3moVPuy9Te8oZl9GcSO0LFukJZN7K2ejao67T4v5+vppr5Nso55wa5ziopP0YrsEpOSlGjb2Eq1l+/nAxFwpbFlRbauHahAb48i1i5caBVv1avqowyrofVHLzhieMA1Y96Os0rLtKphsK+ahhQ+iUVZCvT2MMtAZ/1NdmRFtjG7RLtrKbMiL+ft4aa3RrXW/93eVj4ertp8PEZ3frFRSQ7qkShJF5PSNPn3PZKkh/s0UIuaAQ7bd1lrUztQIf5eSkrLLFUpe2R8ijYdz+r5WdwWTgOYVduhih2MnDx5sh599FG99dZbslqtmjNnju6//369/vrrmjx5clmMEaiwft12WplWQx3DKqthcPE+wAxoXl01A7x0ISkt35l2bfadjdeUhVktEF4Y3ExNQ5zfywblZ1ibmqru76nI+FTzKp4z5Tw352w/rf0lnCDh+PkkHYtOkpuLpdQliVeiIW1ss2qfNV832ocGFvt1I6fejavJzcWiI1HM7AdcadZk93e8zkEXSsxS7UOUagP2Sk7L0Md/HZYk3dk5tNxKtG1sE9n8vuNMuVyAhn02mv0iy+ZC9/C2tfTHv3qpRoCXjp1P0ou/7XHYvl9ZsE/nE9PUKNhXj16ft9q1InNxsWigA0q1F+4+J8OQ2ocGqnblwieevVz/5lnZmasPR5c6OxMlCEYOHz5c8+fP17Jly+Tj46PJkydr//79mj9/vvr3718WYwQqJMMwzFLLkmQ3ubm6aGy3upKyst5sveRyupSWqcd+3Ka0TKv6NQvW2K5hpRozrjwebi4al91j9Is1x/I9T8pKakamluzNerNvFOwrw5DeXFSy3sC2WbS71A+SfzFnHLwaXN80WN4erjoVc0mfrTwqqXRZkVJW4/PO2TP7LSM7ErhiWK2G1mZnRvZq5JiLMzn7RjrzfQK4kn299rgi41NVJ6iSxnQtehLKstarYVUF+3nqYnK61jlhEhMU34XEVB2ISJBU+n6Rhalb1Ucf3dFOri4Wzdl+xpxspjSW74/U3O1n5GKR3h7V2u72YhXJwOxS7aX7IkvcU9OW3GHr6V4cLWv5q0aAl5JLmZ2JLCVq2tWrVy8tXbpUUVFRSk5O1tq1azVgwABHjw2o0DYei9HJC8ny9XQr8Sy9t3eqI083F+09G6+/T+adhOLVP/bpaHSSgv089faoNuV+xRblY0znMHl7uOpARILWHnHeG9/qQ+eVkJKh6v6emv6PjnJ3tWjVoWhz9rniMEu0SzBZy9XA28PNLKtOSMmQt4erBjugN9X/SrUpFwGuFPvOxetCUpp8PFzVzkGTeXWpHyQPNxedib2ko9FkSgNFOZ+YqmmrjkmSnh7YtEIEZnL2g7Zl36Fi2Zxd3tu4uq+q+nqW6X11qhukCdkzXb/42x4diUoo8b7iLqVr0tzdkrImyGwXWtkhY3S2zvWCFOjtrovJ6dp8IqbY25++mKxt4bGyWKSbWhX/+7vFYjEnsqFUu/SKHYw8deqUTp/+X2R+8+bNeuKJJzR9+nSHDgyo6H7ekjWhyLC2NeXt4VaifVT28dAt7WpJkmasO5Fr2eI95/TDpnBZLNIHt7VVkE/pekrhyhXg7W5m0U1ffcxp97tgV9aVw8GtaqpeVR+N6ZKVmTtl0X5ZrfZn3sRdSteWE1nBdmf2i6xocjbJHtK6hnw9S/a6kVO/7Mdz8/GYcp1xHYD9bP0iuzWoKncHTebl7eGmLtmZ0pRqA0X7ePlhJaZmqHXtAA0pQVCirHSplzWh1aZjxQ+0oOxtMEu0SzfxmL0e7tNQPRtW1aX0TI3/fnuJS4OnLNyvyPhU1avqo4n9Gzt4lM7j5uqi/tnBwD/3Fj8Y+Ed2+6ku9YJU3b9kkw/Zersu2x9VrO9DyKvYn4DuvPNOrVixQpIUERGhfv36afPmzXr++ef1yiuvOHyAQEUUl5yuhdm9Km4vZamlrQR38d4Inc2erfhs7CX9e3bW1asHr2ugHg3Lb/INVAz39qgnF0vWl9iS9m0sjpT0TC3LvuJn63f42PUN5efppj1n4jV/l/39K1cdilam1VDDYF+FVfEpk/FeCXo3riZ/r6wA5G2dHFMOFlbFRw2DfZVhNQhAAFcIs19kY8e+t9M3ErDP8fNJ+n5TVlLBszc2lYtLxak8spX+7j4Tp0QHTlwCx9iQPUlYtwbOCUa6ulj0/m1tVNXXUwcjE/Sf+fuKvY81h6P1U3ZrsbdGtr7iJ0Id1DKrVHvu9jOav/NssVqT2HrhDylFdVKX+kHy9XRTdEKqdpyOLfF+UIJg5J49e9S5c2dJ0i+//KJWrVpp/fr1+v777zVjxgxHjw+okH7LbizdrIa/WtUq3SxkzWr4q2v9IGVaDc3ceFKZVkMTft6huEvpalM7QE8OuHKvXsFx6gR568bsK/dfrCn77MgVB6KUlJapWoGV1K5OoCSpiq+nHurTQJL0zpKDSs2w7+rs8nKYRbsi8nJ31X/v66Jpd3VQhzDHlcf0o1QbuGIkp2Xo7+xMcUf1i7SxBSM3HbtAY32gEO8sOaAMq6Hrmware4OKdcG/dmVv1a5cSZlWQ1vzaeGE8nM+MVWHoxIlSZ3rOScYKUnBfl768La2slikHzeHF2tCy8TUDD2bneAyrluY2Wv8StajYVU1DfFT3KV0Pfbjdo3+fIN2n44rcrsT55O0+0ycXF0sujE7oFkSnm6u6p3dTmEZpdqlUuxgZHp6ujw9s/ojLFu2TMOGDZMkNW3aVOfOFTwjMHC1MAxDP27Oupp6e6c6DunjeE+PepKy3mA+WHpIm47HyMfDVf93ezuHlXDhyvdAr/qSshovR8SllOl92TIfh7Sukescv7dHPVX399Tpi5c0c8PJIveTkWnVyoNZWTq2oNm1rG2dQPOKrqPYSrVXHowucTNvAM6x6ViM0jKtql25kupWKd4snkVpGOyrmgFeSs2w0m8OKMC28ItauDtCLhbp34Oalvdw8vW/Um2exxWJ7XW1aYif09tn9WxUVY/2zZr9+rk5u3Xygn29gd9efEBnYi+pVmAlPVNBz/fi8nJ31dxHemhCv8bycnfRlhMXNezTtXp61k5FJRT8/cjWfqp7gyqqUsp+nwOa0zfSEYod5WjRooWmTZumNWvWaOnSpRo0aJAk6ezZs6pSxXlXCIDysut0nA5EJMjTzUU3t63lkH32a1ZdtQIrKTY5XZ+sOCJJemV4S9Wteu2WtCKvNnUC1blekNIzDc1Yf6LM7icpNUN/HcianfnyMoZKHq56sn8TSdLHfx1RXHLhfQr/PnlRcZfSVdnbXe2v0GbZFV270MoK8vFQ3KX0fCfCAlBxrM4u0e7VqJrDJ6WzWCxmtgal2kBehmFoysL9kqRbO9RRkxC/ch5R/rpml2pzUaFisf09ujqpX+TlHr+hkTrXDVJiaoYe/WF7kRVKm45d0H+zEwfeGtlaPg7oVV5RVPJw1eP9GmnFU310c9uaMgxp1tbT6vvOSk1deSTf6oD5O7MS50oyi/bl+jQJlpuLRYejEnXiPJPGlVSxg5FvvfWWPv/8c/Xp00d33HGH2rRpI0maN2+eWb4NXM1sPTdualVDAd7uDtmnq4tF47qHmT8Pb1tTI9o7JtCJq8v92dmR3286WWa9hJbtj1RKulV1q3irZS3/PMtHdqitxtV9FXcpXVNXHSl0X7bS4b5NguVagXoyXU1cXSzm7JuUiwAVm23ymusalU1pKH0jgYIt3Rf5/+zdd3Rbhfn/8Y8k2/KesR07cRI7e+8dsgcQVqFsKD+g0JZNKKttoIOWwrfsFfYqlD0DBMjee+9hx3GGd7y3dX9/yBKELNuxr2T5/TrH52CNqydGtqTnPkNr9h9VoL9Vd3vxEg9XsmvzwUKVVTE30luYPS/yl/xsVj1z5QBFBftry6FC/fu7nSe9bXlVre7/dLMkZyffmGZ6zfG0hIggPX3FQH12yyj1T4pUaVWtHp+zS1OeWqQ5W4+450nuzirWrqxi+dssmtbrzDuUIoL83fNdqY5svAYnI8ePH6/c3Fzl5ubqjTfecF9+8803a9asWU0aHOBtSitr9NXGQ5Lk3m7cVC4f0kHx4XZ1jQvVPy7q0+QVE/ANk3rEKaVNiIoravRhXWK8qf18uPOJnoc2q0UPnONs9Xhz2X4dqlu8dCLzdjgrLCfRot2s3HMj6ypaAXifwwXl2ptdIqtFzTanblSXNrJZLUrNKVVGflmzPAbQEtXUOvTvOc7kzW/HpKhtROM26ZqhfVSQ2kUGqYa5kV4ju6hC+3JKZbE4NzF7SkJEkJ64zFkM9uay/fp+W+YJb/fkj7u0P69MbcMD9afpPc0M0SMGdYjS538YpScv66/4cLsy8sv1+/+u15WvrtT2w0WaXTdnc1y32CYrJnJt9SYZ2XiNGkZns9lUU1OjpUuXaunSpcrJyVGnTp0UF9e6lxPA932z5YhKq2rVKSa4yV+IIoL9tfi+CfrmjrMUHtg0fyThe6xWi35bVx35xtK0Jp8RWFRRrUV1Mx5dW7RPZEL3OI1IiVZVjUNP/rD7hLdJzSlRam6p/G2WJt8ai2ON7RarAJtVabml2pdT4ulwAJzA0rqqyAFJkU32YeiXwgP9NahDpCSqI4Gf+3BthlJzShUdEqDfjUvxdDinZLFY3J8zVqXmezgaSNLKNOf/h55twxUZbO68yF+a2CNeN53l3Ddw3yebjysKWH/gqF5fmiZJ+tfFfVrN50qr1aKLB7XX/HvG646JXWT3s2plar7Oe26J3li2X9KZbdH+pcl1cyPXpucrv7SqyY7bmjQ4GVlaWqobbrhBCQkJGjt2rMaOHavExETdeOONKivjDCx82yfrDkqSLh/aoVkqF+1+NgX4sbAGp3bxoHaKCQnQoYJyfbf1xGdEG+uHbVmqqnWoS1youseffJaSxWLRg+c4z7R+tuGgth8uOu42rqrI4ckxCmslb4Q8JdTu524XYas24J1+Pi+yOdGqDRyrtLJGT/24R5Jz7l5LeE/iek1flcbcSG/g6RbtX7p3Wg/1T4pUYXm17vjfBlXXFSdU1tTqvk82y2FIFw9sp4k9Wl9nUojdTzOmdte8e8bpvH4JchjOreJ2P6s7gdgU2kcFq2dCuBwG770bq8FZjxkzZmjRokX6+uuvVVBQoIKCAn355ZdatGiR7rnnnuaIEfAK5VW1Wl/XKnFev5NXjAHNLdDfpmtHOmeMvrI41T0PpSnMPskW7RPpnxSp8/olyDDkbn36ubl1L8yTelI1bwZXq/bc7bRqA96m1mFo6d66eZHNXCk+rpvzb+7yvbmqqmna6nk0j/zSKt38zlp9t+WIp0PxSa8uSVVuSaU6xQTrymEdPB1OvbjmRm7MKFB51akXlaD5uTabj/TQ8ppfCvCz6vkrByos0E/r0o/qyR+dXUrPzdurvdklahNq10Pn9/JwlJ7VPipYz181SB//fqSm9orXX6b3VGgTL/GZwlbtM9LgZOSnn36q119/Xeecc47Cw8MVHh6uc889V6+++qo++eST5ogR8AobMo6qxmEoISJQ7aOCPB0OWrlrR3SU3c+qLYcKtSqtaVp4jpZWudsI69vGcO+07vK3WbR4d477vpJUWPbTZufJzIs0hesN0Zr0fB08SqcC4E22HS5UQVm1wux+6t8+slkfq3diuGJCAlRaVcu8uRbivyvT9cP2LP199nY5HE13ghFSdnGFXlmcKkm67+weLaYDqUN0sNqGB6q61tCGA/wee1JWUYVSc0tltUhDPTgv8peSooP12CX9JEkvLdzn/Fq0T5L0yEW9Pd5O7i2GdorWK78ZomtHdmryY0+te++9ZE/uCTd449Qa/Ne4rKxM8fHHf7CMi4ujTRs+be1+5xuBIZ2iWS4Dj4sJtevXg9tLkl5bktokx/x+W6ZqHIZ6JoSrS1xove7TMSZEVw93Vmk++t0O94eohbuzVesw1C0+VEnRwU0SH04tMTJIozrHyDCkT9cd8nQ4AH7GtUV7VJcY+dmaNxlitVo0llbtFuWbusVxRwortCGDxFNTembuHpVV1WpAUqTO6XPmW3TNYrFYNKKuVXtlKq3anuRq0e6dGKGIIO9q8T+3b4KuHeF8H/7YnJ2qdRia3jdBZ/ehi88MvRPDlRgRqPLqWi3bm3v6O+AYDX43NHLkSD388MOqqKhwX1ZeXq6//e1vGjlyZJMGB3iTNfud1WfDOkV5OBLA6cYxybJYpLk7srU3+8yXlvy0Rbthb2Bun9hFYXY/bTtcpK/qttW55kW2xlk1nnTpEGeC+pP1GVTXAF5k8W5z5kW6MDey5diTVaxdWcXu77/eRKt2U9mbXaIP1mRIkv50bs8WV0wwvK4leGUTdcCgcVzJYFdy2Nv8eXpP9UwIlyRFBfvrrxf09nBErYfFYnHPofxsPYUADdXgZOQzzzyjZcuWqX379po0aZImTZqkpKQkLV++XM8880xzxAh4XE2twz0vckgn73whQuuTEhvqboF+femZVUfmFFdq+T7nGb3zG7hpLibUrt+P7yxJ+r/vd6m0skYLdzmTkZOZF2mqs3snKNTup4z8cq3ez4cXwBuUVNa426XHmpSMPKtrG1ks0o4jRcoqqjj9HeAx39TNiYwJcbZUfrvlCCeTmsjjdZViU3rFa5gXtdfWl2uj9saMAlpAPWhFqnctr/mlQH+bXr5msM7p01bPXTlIsWF2T4fUqrjm0H679Yj2Zhef5tb4uQYnI/v06aM9e/bo0Ucf1YABAzRgwAD9+9//1p49e9S7N1l4+KadmcUqrapVWKDfKTcMA2a7eWyKJOnT9YeUU1zZ6OPM2XpEDkPq1z5CHWIa3lZ9w+hktQ0P1KGCct314UYVVdQoOiRAAztQSWymoACbu7L147UHPRwNAElauS9PNQ5DHWOCG/X3tTFiQu3q2y5C0k9VmfBOrhbte6d1V1ign7KLK93dOGi8Nfvz9cP2LNmsFt1/dg9Ph9MoyW1CFBdmV1WNQxsOFHg6nFbpcEG50vPKnPMivbggpUNMsF66ZrDGdG3eBWk4Xs+EcE3tFS/DkF5YsM/T4bQojRpaExwcrJtuuklPPPGEnnjiCf32t79VUBALPeC7Vte1RwzpGCWrtWW1eMC3DekYpQFJkaqqcei+TzY1upri67oPQw2tinQJCrBpxpRukn7aKDe+e6xs/L6YztWq/d3WIyqtrPFwNACW7HG1aJv7IdHVqr14D3OsvNXurGLtyS5RgM2qc/slaFpv50zDb9iqfUYMw9C/vt0hSbp8aFK952B7G4vF4m7VXpXG3EhPcLVo920XobBA75oXCe9x+8SukqQvNx5SWm6ph6NpORqcjHz00Uf1xhtvHHf5G2+8occee6xJggK8zdr0umSkF58RQ+tksVj0z1/1kd3PqgW7cvT8gr0NPkZWUYW7CmN6A+dF/twlg9urW/xPb/jZou0ZgzpEKaVNiMqqavlAC3gB1/Ias+ZFuriSkQt3ZXNiwku5ZjWP7Rar8EB/92vwt1syVUurdqPN2ZqpDQcKFBxg012Tu3o6nDPCEhvPci2vGeGlLdrwDn3bR2hijzg5DOnFRnwWa60anIx8+eWX1aPH8aXuvXv31qxZs5okKMCbGIah1WnOWU8tcd4MfF/vxAg9clEfSdJTc3e75zXW1zebj8gwpMEdo5QY2fgqd5vVogfOcb4+BNisplcBwcliseiSuk3rn9CqDXhURn6ZUnNLZbNaTJ83NrBDlDrFBKu4osa9xAPewzAMfbPZufTNNV5jTJc2igjyV25JJZVwjVRaWaPHv98lSbrprBTFhQV6OKIzMzzZ+Xdjw4ECVdYwN9JsK+t+D0emkIzEqd0+sYsk6bMNh5SRX+bhaFqGBicjMzMzlZBwfOVMbGysjhyhAgO+Jz2vTLkllQqwWd3zlwBvc+mQJF01vIMMQ7rrw40NehH8+hcfhs7EhO5xeuySvnrpmkG0s3jQJYPay2qRVu/P137aRQCPWbrXWRU5MClS4Sb/TbRZLbqpbq7w60tSVV3rMPXxcWq7soq1L6dUAX5WTapb9uZvs+rsulZtV9Uk6m/+zixNfWqx0nJL1SbU7n7+t2SdY0PUJtSuyhqHNmUUejqcVuXg0TJl5JfLZrXQHYfTGtghSmd1baNah6EXF1IdWR8NTkYmJSVp2bJlx12+bNkyJSY2btYY4M1c7av9kyIU6G/zcDTAyT18fi/1bx+hgrJq3fLe+nptXjx4tEwbDhTIYpHO7XvmyUiLxaLLh3bQJFq0PaptRKC7JfTT9VRHAp7y07xIc1u0XS4Z1F5tQu06XFihrzYe9kgMODHX4prx3WKPOXl3Xn/na/GcrZmqIYFcL9nFFbr1/fW64a21OlRQrvZRQXrpmkEKtft5OrQz5pwbSau2J6xMdX4G7Nc+wieeS2h+d05yjoX4ZN1BHSoo93A03q/BycibbrpJd911l958802lp6crPT1db7zxhu6++27ddNNNzREj4FGuZCRnxODt7H42vXjNYEUF+2vLoUL99attp72P68PQ8ORoxYe37FYmHMu1yObTdQeZPQZ4QK3D0NK6eZFju3lmbEWgv003jOkkSXp58b5GLzlD03K2aDtff385q3lkSoyiQwKUX1qlFSSfTsnhMPT+qgOa9MQifbP5iGxWi24em6If7h7r1ZuPG2pE3ZgoWvfN5ZoXSYs26mtIp2iNTIlRda2hWQvZrH06DU5G3nvvvbrxxht1yy23KCUlRSkpKbr99tt1xx136MEHH2yOGAGPWru/bl6kD72pge9qFxmkZ68cKItF+mBNhj5cc+CUt3e1gZ3XyC3a8F6Te8YrPNBPhwsrtHwf23QBs20+WKCiihqFB/qpX/tIj8Vx9fCOCrX7aXdWiebvbNhMYTSPHUeKlZpbKruf9bhOAj+bVWf3qduqTav2Se3JKtZlL6/Qnz7fouKKGvVtF6Evbx2tP53bU8EBvlXF5tqovS79qKpqqJY1g2EY7krUESQj0QB31FVHfrgmQ5mFFR6Oxrs1OBlpsVj02GOPKScnRytXrtSmTZuUn5+vhx56qDniAzwqp7hSqbmlslicG2qBluCsrrH649TukqSZX27TloMnnjG0P7dUWw4Vyma16Jy6Dz7wHYH+Nl04oJ0k6WMW2QCmc23RHtO1jWxWi8fiiAjy19UjOkiSZi2iUsMbfLPF2TI/oXvcCds/z6sbmzJnWyazPn+horpWT/64W+c+u0Rr048qOMCmh87rpS9uHa0+PjrbvWtcqKJDAlRR7dDmgwWeDqdVOHi0XIcKyuVntWhIJz4Dov5GpERraKcoVdU69PJiXnNPpcHJSJfQ0FANHTpUffr0kd1ub8qYAK+xLt3Zot09PkwRwSzjQMvxh3GdNblnnKpqHPr9f9fpaGnVcbeZXbe4ZlTnGMWE8nfcF7latb/flqnC8moPRwO0Lot3e3Ze5M/dODpZATar1qYfdY+fgWecqkXbZXhKjNqEBqigrFrL9lLZ7rIyNU/nPrNEz87bo+paQ5N6xOnHGeN0w5hkjyb8m5vFYtFwd6s2v79mcLVo90+K9LlKWzQvi8Xiro58f9UBZRdTHXkyDU5GTpgwQRMnTjzpF+BLVqc5W7R9ae4MWger1aInLhugjjHBOlRQrjs/3Hjc3MCfWrTPfHENvFPfdhHqFh+qyhqHO/kMoPkVVVRrQ0aBJGlMF8/Mi/y5uPBAXTzIWSnNHCvP2na4SPvzymT3s2pij7gT3sbZseB8baZVWyooq9J9n2zSFa+sVGpuqWLD7Hrx6kF67bohahcZ5OnwTOFqFWaJjTlcP2fmRaIxxnRpo4EdIlVZ49BrS9I8HY7XanAycsCAAerfv7/7q1evXqqqqtL69evVt2/f5ogR8Ji16a7lNZTno+WJCPLXrGsGK9DfqsW7c/TMvD3u6/ZmF2tnZrH8bRZN602Ltq+yWCy6dHCSJFq1ATOt2JenWoehlDYhSooO9nQ4kqSbx6bIYpHm7czWrsxiT4fTan2zxZlcnNgjTiGn2NDrOlH4/bbMVj0nMLuoQmc/vUQf1b2GXTW8g+bOGKdz+ybIYvHdashfcm3UXrv/KK37zcwwDPfyqJGdSUai4SwWi+6Y6KyOfHdFuvJKKj0ckXdqcM3xU089dcLL//rXv6qkpOSMAwK8RWlljbYdLpIkDUumMhItU8+EcD16cV/d/eEmPTtvjwYkRWhij3h9vcn5YeisrrGKDA7wcJRoThcNbKd/z9mpjRkF2ptdrC5xYZ4OCadRU+vQgfwy7csp1b6cEu3LLtHhwnLFhtrVISZEHaKD1TEmWB2igxUXZm9VH8hbiiV7XC3anq+KdEmJDdXZvdvqu62ZennxPj152QBPh9Tq1KdF22VIp2jFhdmVXVyppXtzNLFH/Clv74sMw9CfPt+izKIKdYwJ1n8u7d9qu5W6xYUpMthfBWXV2nywUIM7UijRXNLzynSksEL+Ngs7A9Bo47vHqm+7CG05VKjXl6bpvrN7eDokr9NkAxCuueYaDRs2TP/5z3+a6pCAR204UKBah6F2kUFKiGgdLSDwTb8a2F4bDhTonRXpuuuDjZp9+1null1atH1fbJhdE7rHau6ObH287qAePKenp0NCnaKKaqXmlGpfdokz6ZhTon05pUrPK1V1rXH6A0gK9LcqKcqZnEyKDlbH6GB1iAlW17gwr6nIa41cy2u8YV7kz/1+XGd9tzVTX208rHumdm81La7eYuuhIh3IL1Og/8lbtF1sVovO7Zugt5bv1+xNR1plMvKz9Yc0d0e2/G0WvXztYPVoG+7pkDzGanXOjfx+W5ZWpeWRjGxGrhbtgUlRCgqweTgatFQWi0W3T+yim99dp7eX79fNY1MoAPmFJktGrlixQoGBgU11OMDjXAPeqYqEL/jL9F7acqhQGw4U6MpXV+pQQbkC/Kya0qv1fbhpjX49OElzd2Trs/WHdO/U7vKzNXp/HZrA7qxi3fj2GmXkl5/0NkH+NqXEhqhzbKg6x4aqXVSQcksqlZ5XpgP5pTqQX6bDBRWqqHZoT3aJ9mQf353yxv8b0ioTGJ6Wnleq9Lwy+VktGuFlLX79kyI1MiVGK1Lz9NqSVD18fm9Ph9SqzK7boj2pR3y9lmKc18+ZjPxxe5YqqmsV6N96EiOZhRX669fbJEl3Te7WqhORLsOTY5zJyNR83TLe09H4LleLtrf9/UbLM6VXvHomhGvHkSK9sWy/Zkzp5umQvEqDk5EXX3zxMd8bhqEjR45o7dq1mjlzZpMFBniaKxnJvEj4ggA/q168epDOe3apDhU4EyDju8UqLJAt8a3BxB5xig4JUE5xpRbvaZ3tft7kqR93uxORcWF2Z8Ix7qfEY+e4UCWEB8p6mu2w1bUOHS4or0tQOr/S80q19VCRDhWU67P1h/h/7QGuqshBHaMUeoqZgJ7yh/GdtSI1Tx+sztAdE7sqKoRKDTM0pEXbZVCHKCVEBOpIYYUW787R1FYy49kwDD3w2WYVV9Sof/sI/W5siqdD8gquJTZr9+erptbBicVmYBiGuzJyRAoFKTgzrurIW95brzeXpenGMcmKCOKzl0uD3yFFREQc873ValX37t3197//XVOnTm2ywABPqq51aMOBAkls0obvSIgI0nNXDtQ1r6+Sw5DO65/o6ZBgkgA/qy4a0E5vLEvTJ+sOkqDyoLTcUs3ZlilJ+uaOMeqdGHGae5ycv82qjjEh6hgTcszl69KP6pKXlmvR7hxV1zrkzwdWU7nmRY71onmRP3dW1zbqnRiubYeL9M6KdN05uaunQ2oVNh8s1MGj5Qryt2lC91O3aLtY61q1X1+apm+2HGk1yciP1x7Uwl05CvCz6j+X9ifpVqdH2zBFBPmrsLxaWw8XaUBSpKdD8jlpuaXKKqpUgJ+VeZFoEmf3bquucaHak12it5fv1x2TeM11aXAy8s0332yOOACvsu1wkcqraxUZ7K8usaGeDgdoMqO6tNFzVw7S5kMFOrdP6/hQA6dfD26vN5alae72bB0traIaykNeXZIqw3BWq55JIvJUBiRFKiYkQHmlVVqTlq9RXbwzKeaLamodWr7XWVXjbfMiXSwWi343rrPu+N8GvbU8TTeNTa5XyzDOjGuL9qSecQ2aQ3deP2cycm4radU+VFCuv8/eLkm6Z0o3dY1n6ZqL1WrR0E7RmrsjSytT80hGNoMV7nmRkT7/uwZzWK0W3T6pq+743wa9vjRNN4xJ9squCU/gNBNwAmtdLdodo07bJge0NNP7JejBc3pSadDK9EoMV+/EcFXVOvTlxkOeDqdVyimu1CfrDkpyLhJpLjarRRPqlmPM25ndbI+D4206WKDiyhpFBvurT7vmSTY3hXP7tFWH6GAdLavWR2syPB2Oz/t5i3ZDF8cNSIpUu8gglVbVauEu3/59NgxD93+yWSWVNRrUIVK/PYv27F9ytQ6vqkuaoWmtTHV+BhzJvEg0oel9E5QSG6LC8mq9s2K/p8PxGvX6JBoVFaXo6Oh6fQG+wDUvkhZtAL7k0sHtJUkf1yXEYK63lqepqsahgR0iNbSZ5xFP7lmXjNyRJcOo32ZuNJ5hGNqfW6r3Vh2QJI3u0kY2Lz6Z6Wez6qa6OXyvLklTda3DwxH5to0ZBTpUUK7gAJvG17NF28VisbgTmF/XJTR91furD2jp3lzZ69qzvfl3yFN+mht5VDX83jYpwzC0Yp8zyTsyhWQkmo7NatFtE7pIkl5bkqayqhoPR+Qd6lUf+vTTTzdzGID3MAxDa/cflSQNIRkJwIdcMKCd/vntDm07XKTth4vUK5HtpGYpqazRuyvSJUm/G9tZFkvzfsg+q2usAmxW7c8r076cUnWJY+RIUzIMQ3uyS7QqLV+r0/K1Oi1PWUWV7uvHdfPOFu2fu3Rwez0zd7cOFZTrm81HdNHAdp4OyWe5qiIn94xvVOvn9H4JenlxqubvyFZZVY1PttVn5Jfpn9/skCTdd3YPpTAm6YR6JoQrLNBPxRU12n6kSP3aR3o6JJ+xL6dUuSWVsvtZNaBDpKfDgY+5oH+inpm3R+l5ZXpv5QH3CcHWrF6vZNddd11zxwF4jdTcUuWVVsnuZ1VfL26xAoCGig4J0OSe8fpua6Y+WXdQDyX28nRIrcYHqw+oqKJGKW1CNKVX8y8QCrH7aUTnGC3enaN5O7JIRp6hWoehHUeK6pKPeVqz/6jyS6uOuU2Azar+SREa0yVWFw7w/gVhgf42XT86Wf/3/S7NWrRPFw5IbPYkeWvkcBj6dkvDtmj/Ut92EeoQHawD+WWavzNb5/Xz/udXQzgchu77ZLPKqmo1rFO0rh/VydMheS2b1aJhnaI1b2e2VqXmk4xsQq55kYM7Rsnux7xINC0/m1W3ju+i+z7drJcXp+rakR1b/VzSRg8M27ZtmzZv3uz+2rZtW1PGBXjMmjRni/aApEgF+DFTD4BvuXSIs1X7i42HVFVDi5cZqmsden1pmiTp5rEpprUe/tSq3bLmzO3PLVVhWbWnw5AkbTtcqBvfWqMBf/tB5z23VP+YvV3fb8tSfmmVAv2tGt0lRndP7qb/3TRCm/86VR//fpTunNy1xXyQvWZ4R4UE2LQzs1gLd+V4OhyftCGjQIcLKxQSYGt0xazFYnEnMr/xwVbtd1ema0VqnoL8bXr81/2Y134aw+vmRq5kbmSTWkmLNprZrwa1U7vIIOWWVOp/qw94OhyPq3emZcmSJRo6dKj7+xEjRmjgwIEaMGCABgwYoH79+mnu3LnNEiRgpjV1LdrMiwTgi8Z2jVVsmF35pVWaz3ITU3y18bCOFFYoNsxuaivsxLolNmvT83X0F1V83mp/bqmmPLVI5z2/REUVnk1Ibj1UqCtfWal5O7NVXFmjULufxneP1f1n99CnfxilzQ9P03u/HaE7J3fVyM4xLbLCISLYX1cN7yBJemnRPg9H45tcycMpvRrXou3imhs5f2e2Sip9Z97Y/txS/fu7nZKkB87poU5tQjwckfdzzY1cvT9ftQ5mAjcFh8NwJ3dHsLwGzcTfZtUtEzorISJQEUH+ng7H4+qdjHzxxRd17bXXHnPZggULlJaWptTUVN1555166aWXmjxAwGzu5TXJJCMB+B4/m1UX1yXEPmGRTbMzDEMvL3Ymea4f3cnUhFX7qGD1aBsmhyEt3N0yEs/fb8tUda2hjPxyPfyl57pudmUW69rXV6mookZDOkZp9u1jtOnhqXrr+mH6w/jOGtwxyme6J24ckyJ/m0Wr0/K1Lv2op8PxKce2aJ9Za3WvhHAltwlRZY1D83ZkNUV4HudwGLr3k00qr67VyJQYXTuio6dDahF6JYQr1O6cG7njSJGnw/EJu7KKlVdapSB/m/rT+o5mdNmQJC28d7wuHtTe06F4XL3fRa1du1YTJ0485rL27durY8eO6tSpk6699lqtWLGiyQMEzJRVVKED+WWyWqRBDC4G4KNcrdoLdmUrp7jyNLfGmVi4K0e7s0oUavfT1cPN/6A9qa5Ve24LadX+ebXu5xsO6etNh02PYV9Oia5+baWOllWrf1Kk3rx+qPq0i/DZzb5tIwL1q7oTFLOojmxS6w8cVWZRhcLsfjqra5szOtbPt2rP9pFW7TeX79ea/UcVEkB7dkP42awa2ilKEq3aTWXZ3lxJ0rDkaJ850QTv5G+ztphRLs2t3r9pBw8eVETET8s83n77bbVt29b9fXR0tPLyGvbHcPHixTr//POVmOgcmP3FF1+4r6uurtb999+vvn37KiQkRImJifrNb36jw4ePfVOan5+vq6++WuHh4YqMjNSNN96okpKSBsUBuLi2aDs31VE6DcA3dYkL04CkSNU6DH26nurI5uRK7lw1vINHWnIm9XQuy1m8K8frZ4QWlldrbV1lnqt698+fb9GRwnLTYkjPK9VVr65UbkmVeiWE653rh7WK9wM3j+0si0X6cXuW9mYXezocnzG7iVq0XVxzIxftylGxh8cYnKnUnBI9PsfZnv2n6T2VFB3s4YhaluF1rdqr6mbd48wsr5sXOboLLdqAWeqdjAwLC9O+fT+dLb344osVHPzTi0ZaWprCw8Mb9OClpaXq37+/XnjhheOuKysr0/r16zVz5kytX79en332mXbt2qULLrjgmNtdffXV2rZtm3788UfNnj1bixcv1s0339ygOAAXd4s28yIB+DhXdeTjc3bqyR92qbrWuxNVLdGGA0e1Ki1f/jaLrh/dySMxDGgfqTahASqurHG/xnmrpXtyVesw1Dk2RI/9up/6t49QUUWN7vlokxwmzEU7eLRMV726SllFleoWH6r//na4IoJ9PxEpSV3iQjW1bsv7Na+t1tWvrdRdH2zQv77dodeWpOrLjYe0Yl+e9maXqKiiWobBnLrT+XmL9rl9G7dF+5e6x4epS1yoqmod+nF7y23VrnUY+uPHm1RZ49BZXdvoqmEdPB1SizO8bpzU6rR8U/4++rLqWodW1VWYjup8ZhXMAOrPr743HD58uN555x2NHz/+hNe/9dZbGj58eIMe/JxzztE555xzwusiIiL0448/HnPZ888/r2HDhunAgQPq0KGDduzYoTlz5mjNmjUaMmSIJOm5557Tueeeq//85z9KTDyz2SxofUhGAmgtLhuSpLX7j+rzDYf07Py9WrQ7R09ePkCdY0Ob5PgZ+WValZav8/sntNp2lJcXpUqSLhzQTgkRQR6JwWq1aEL3OH287qDm7sjS6C7e+0HL1aI9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O+64Q4MHD5bdbteAAQOOu/6vf/2rLBbLcV8hISGnPO6BAwc0ffp0BQcHKy4uTvfee69qamqOuc3ChQs1aNAg2e12denSRW+99dZpfw5oOF977ixdulSjR49WTEyMgoKC1KNHDz311FP1+2Gg3nzteSNJlZWV+vOf/6yOHTvKbrerU6dOeuONN07/w0C9+eLz5oUXXlDPnj0VFBSk7t2765133jn9DwIN1tKeO6c77sKFC3XhhRcqISFBISEhGjBggN57771THhMN52vPm/3795/wuCtXrjzlcdEwvva8kaTvv/9eI0aMUFhYmGJjY3XJJZdo//79pzwuGq4lPXc2bdqkK6+8UklJSQoKClLPnj31zDPPHHObI0eO6KqrrlK3bt1ktVp111131evngIbx1PNGatzfhvz8fF199dUKDw9XZGSkbrzxRpWUlBxzm82bN+uss85SYGCgkpKS9Pjjj5/ymE3GgKk++OADIyAgwHjjjTeMbdu2GTfddJMRGRlpZGVluW+zfPlyIzw83Hj00UeNrVu3Gjt37jQ+/PBDo6Ki4pTHvv32243nn3/euPbaa43+/fsfd31xcbFx5MiRY7569eplXHfddSc9Zk1NjdGnTx9j8uTJxoYNG4xvv/3WaNOmjfHggw+6b5OammoEBwcbM2bMMLZv324899xzhs1mM+bMmdPgnw9OzhefO+vXrzfef/99Y+vWrUZaWprx7rvvGsHBwcbLL7/c4J8PTswXnzeGYRgXXHCBMXz4cOPHH3800tLSjOXLlxtLly5t0M8GJ+eLz5sXX3zRCAsLMz744ANj3759xv/+9z8jNDTU+Oqrrxr888HJtbTnTn2O+89//tP4y1/+YixbtszYu3ev8fTTTxtWq9X4+uuv6/MjQT344vMmLS3NkGTMnTv3mGNXVVXV50eCevDF501qaqpht9uNBx980Ni7d6+xbt06Y+zYscbAgQPr8yNBPbW0587rr79u3HHHHcbChQuNffv2Ge+++64RFBRkPPfcc+7bpKWlGXfccYfx9ttvGwMGDDDuvPPOhv5YcBqefN409m/D2WefbfTv399YuXKlsWTJEqNLly7GlVde6b6+sLDQiI+PN66++mpj69atxv/+9z8jKCjIlM/jJCNNNmzYMOPWW291f19bW2skJiYajz76qPuy4cOHG3/5y18a/RgPP/zwCZ/A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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "# 7. Advanced Visualization" ], "metadata": { "id": "uiaccbddglyJ" } }, { "cell_type": "markdown", "source": [ "## 7.1 Glucose levels over a day" ], "metadata": { "id": "DMGIGfYEiTkC" } }, { "cell_type": "markdown", "source": [ "Here we will be graphing a more highly stylized plot, specifically the glucose levels chart displayed in the main screen of the official Nutrisense app. This graph shows the glucose levels (mg/dL) at each time of day." ], "metadata": { "id": "CUjo-lgytxoM" } }, { "cell_type": "markdown", "source": [ "" ], "metadata": { "id": "5d6sCznqtswr" } }, { "cell_type": "markdown", "source": [ "The darker green sections of the graph denote healthy levels of glucose, which is defined as being between 70 mg/dL and 140 mg/dL. Anything outside of this range is colored light green.\n", "\n", "To make this plot, we can extract the glucose levels data from our pandas dataframe and the associated time from the dataframe as well." ], "metadata": { "id": "7zRZ_Bu_6PnQ" } }, { "cell_type": "code", "source": [ "#@title Glucose Plot Date\n", "start_date = \"2022-06-17\" #@param {type:\"date\"}\n", "\n", "import pandas as pd\n", "\n", "datelist = pd.date_range(start_date, periods=2)\n", "start = datelist[0]\n", "end = datelist[-1]" ], "metadata": { "cellView": "form", "id": "mx6rr_rrY0A7" }, "execution_count": 10, "outputs": [] }, { "cell_type": "code", "source": [ "from datetime import datetime, timedelta\n", "import copy\n", "\n", "# convert string to date\n", "def strToD(s):\n", " c = s[:19]\n", " return datetime.strptime(c, \"%Y-%m-%dT%H:%M:%S\")\n", "\n", "dta = copy.deepcopy(data)\n", "\n", "# extract the necessary data. notice we must convert\n", "# the dates in the dataframe from string to actual datetime object\n", "dta['time'] = dta['time'].apply(strToD)\n", "dta = dta[dta['time'] >= start]\n", "dta = dta[dta['time'] < end]\n", "x = list(dta['time'])\n", "\n", "cp = copy.deepcopy(dta)\n", "\n", "# for datapoints that were \"interpolated\" (i.e. made up),\n", "# set the value to a very large negative. This behavior\n", "# matches how nutrisense deals with missing datapoints\n", "cp.loc[cp[\"interpolated\"] == True, \"level\"] = -float('inf')\n", "y1 = list(cp['level'])\n", "x = x[:len(y1)]" ], "metadata": { "id": "MsTn8tELPeij" }, "execution_count": 11, "outputs": [] }, { "cell_type": "markdown", "source": [ "Having extracted the necessary data, we can use a matplotlib plot to get the basic shape of the desired graph. The remaining work is in the styling!" ], "metadata": { "id": "f3crlPTs7B5J" } }, { "cell_type": "code", "source": [ "import matplotlib.pyplot as plt\n", "from scipy.ndimage import gaussian_filter1d\n", "import numpy as np\n", "import matplotlib.dates as mdates\n", "import matplotlib.ticker as mticker\n", "\n", "healthy = 140\n", "\n", "figsize = (10, 6)\n", "fig = plt.figure(figsize=figsize, facecolor=\"#1d2525\")\n", "\n", "# set the grid style\n", "ax = plt.axes()\n", "# ax.yaxis.grid(linewidth='2', ls=\":\", dashes=(1,3,1,3), color=\"#7c7d7d\")\n", "ax.yaxis.grid(linewidth='1', ls=\":\", dashes=(0.5,5,0.5,5), color=\"#7c7d7d\")\n", "\n", "# remove frame\n", "ax.spines['top'].set_visible(False)\n", "ax.spines['right'].set_visible(False)\n", "ax.spines['bottom'].set_visible(False)\n", "ax.spines['left'].set_visible(False)\n", "\n", "# set colors\n", "ax.set_facecolor(\"#1d2525\")\n", "\n", "# set the range and style of ticks\n", "plt.yticks(np.arange(60.0, max(y1)+10, 10.0), color=\"#7c7d7d\", fontsize=10)\n", "plt.xticks(color=\"#7c7d7d\")\n", "plt.ylim(60, max(y1)+10)\n", "plt.xlim(x[0], x[len(x)-1])\n", "\n", "# set the xaxis labels to the time\n", "xts = list(pd.date_range(start_date,datetime.strftime(datetime.strptime(end_date,\"%Y-%m-%d\")+timedelta(days=1),\"%Y-%m-%d\"), freq=\"3H\"))\n", "ax.xaxis.set_major_locator(mticker.FixedLocator(ax.xaxis.get_ticklocs()))\n", "ax.xaxis.set_major_formatter(mdates.DateFormatter('%l%p'))\n", "\n", "# smooth the plot points\n", "y = list(gaussian_filter1d(y1, sigma=0.01*5))\n", "bottom = [min(e,70) for e in y]\n", "\n", "# plot the graph and fill in the correct colors\n", "plt.plot(x,y,color=\"#76885f\", alpha=.0)\n", "plt.plot(np.where(np.array(y)>= healthy, np.array(y), None), color=\"#c1c59a\", label=\"1\", alpha=.0)\n", "plt.plot(np.where(np.array(y)<= healthy, np.array(y), None), color=\"#76885f\", label=\"1\", alpha=.0)\n", "\n", "# lower bound:\n", "plt.plot(x,bottom,color=\"#c1c59a\", alpha=.0)\n", "\n", "lower = np.array(y).clip(max=healthy)\n", "upper = np.array(y)\n", "\n", "ax.fill_between(x, lower, upper, color='#c1c59a', alpha=.8)\n", "ax.fill_between(x, 0, lower, color='#76885f', alpha=.8)\n", "ax.fill_between(x, 0, bottom, color=\"#c1c59a\", alpha=.8)" ], "metadata": { "id": "B2J8dbk7iXgU", "colab": { "base_uri": "https://localhost:8080/", "height": 539 }, "outputId": "6d2b89f4-33e3-4410-cbd1-55a5919147ca" }, "execution_count": 12, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 12 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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ZpHN53H10iUUTBPvvPdeK3aHiIiIiIioNcFPNBrF9cuXkUomYTsO3nn3XXzvhz+E1t7A1ms//jEikQgeuXEDsVgMt+/exd/90z/55pwSERERERE1qiXBz9vvvou333038Dnff+01fP+111rx9kRERERERCe0dM4PERERERFRp2DwQ0REREREPYHBDxERERER9QQGP0RERERE1BMY/BARERERUU9g8ENERERERD2BwQ8REREREfUEBj9ERERERNQTGPwQEREREVFPYPBDREREREQ9gcEPERERERH1BAY/RERERETUExj8EBERERFRT2DwQ0REREREPYHBDxERERER9QQGP0RERERE1BMY/BARERERUU9g8ENERERERD2BwQ8REREREfUEBj9ERERERNQTGPwQEREREVFPYPBDREREREQ9gcEPERERERH1BAY/RERERETUExj8EBERERFRT2DwQ0REREREPYHBDxERERER9QQGP0RERERE1BMY/BARERERUU9g8ENERERERD2BwQ8REREREfUEBj9ERERERNQTGPwQEREREVFPYPBDREREREQ9gcEPERERERH1BAY/RERERETUExj8EBERERFRT2DwQ0REREREPYHBDxERERER9QQGP0RERERE1BMizW7QMAxcvngRS+fOIZlIwLQsvPHWW/jB668fed6VixexuryMWDSKO1tbeP6ll5DN5Zq9O0RERERERABaEPxc3NzE+soKvv3889jd38fo8DAefeghOI6DH//sZ95zNjawubaGb7/wAnK5HK5cuoRPPvkk/te//EsopZq9S0RERERERM1PexvLZPDu++/j/Q8/RD6fx9vvvYcPPvoIo5nMwXM219fxg9dfx7vvv4+dvT18+4UXkEomMT87W7ZNrRSUlEf/CQAwfPcjbER9txkwEELYd3vICI4Jg9sOwQhoO+i1ldsOwwj4yCq1HfR3hRCGUefx9P7qgLaNCOr/rEKBn1VjxzPU0PEM2h5q6LMygj+rBo5nJBJBIh733Z5OpWAY9X9WrTqeBsIwDP+2+/v6fLeFQiEk4gn/7Wjk/GxfX9KXTge2HbSdfUmt+8W+pEzLPJ7HJBMJhMP+xySon2plXxKJRBCPxXy3V+pLgr6TDfclAW0nEglEIv7bg44n+5KTzmpfEnwelNf04OfuvXuYmpjAQH8/AGB4aAjj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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "This plot is important because it quickly helps us visualize all of the continuous data collected by the monitor, as well as identify healthy ranges of glucose levels, spikes, and times when the participant failed to log data." ], "metadata": { "id": "a0E_RboQ7vsl" } }, { "cell_type": "markdown", "source": [ "## 7.2 Glucose Scores" ], "metadata": { "id": "r8eKQTw2iZpb" } }, { "cell_type": "markdown", "source": [ "For our second chart, we will be attempting to replicate the glucose scores summary, which displays various statistics about your daily glucose levels." ], "metadata": { "id": "gAZrEz_Nt3tY" } }, { "cell_type": "markdown", "source": [ "" ], "metadata": { "id": "1s7KzEpBZWCg" } }, { "cell_type": "markdown", "source": [ "The only data we will need here are the summary scores taken from the `scoremain` dictionary variable which we created during data extraction.\n", "\n", "Here will begin by setting up the colors and score arrays:" ], "metadata": { "id": "_H7gRjlduFEM" } }, { "cell_type": "code", "source": [ "import pandas as pd\n", "import numpy as np\n", "\n", "# colors dict: put a color for every index\n", "# we will do: (0) peak, (1) average, (2) adaptability, (3) variability\n", "\n", "scores = [scoremain[\"scorePeak\"], scoremain[\"scoreMean\"], scoremain[\"scoreTimeOutsideRange\"], scoremain[\"scoreStdDev\"]]\n", "lpos = [-0.112,-0.06,0.0,-0.03]\n", "\n", "# This will give us our desired 10-block bar chart\n", "basescore = [0.1]*10\n", "base2 = {'peak': basescore}\n", "bg2 =pd.DataFrame(base2).transpose()\n", "\n", "# the labels for the plots\n", "lsb = [\"Peak\", \"Average\", \"Adaptability\", \"Variability\"]\n", "\n", "# set an array of colors which will be used to determine partition coloring\n", "colors = ['#343e33']\n", "for score in scores:\n", " # divisions: 0-4, 5-7,\n", " if score <= 4:\n", " colors.append('#ff3e4d')\n", " elif score <= 7:\n", " colors.append('#ef893f')\n", " else:\n", " colors.append('#a9c180')\n", "colors.append('#343e33')" ], "metadata": { "id": "pJiz_TN4C2Kp" }, "execution_count": 13, "outputs": [] }, { "cell_type": "markdown", "source": [ "All that is left for us to do now is tons of plotting and styling!" ], "metadata": { "id": "M5E0Qu1bu435" } }, { "cell_type": "code", "source": [ "# position will tell matplotlib where to place each plot, figsize is dynamic based off of our number of plots\n", "from collections import defaultdict\n", "from matplotlib.patches import FancyBboxPatch\n", "\n", "# initialize the figure\n", "Position = range(1,5)\n", "figsize = (7, 4)\n", "fig = plt.figure(figsize=figsize, facecolor=\"#1d2525\")\n", "\n", "for i in range(4):\n", "\n", " # color array that will be applied to the current plot\n", " cs = []\n", " for j in range(scores[i]):\n", " cs.append(colors[i+1])\n", " while len(cs) < 10:\n", " cs.append(colors[0])\n", "\n", " # add one bar chart for each statistic\n", " ax2 = fig.add_subplot(4, 1, Position[i], facecolor=\"#1d2525\")\n", " ax = bg2.plot(kind='barh', stacked=True, legend=False, secondary_y=True, ax = ax2, xlim=(-0.4,1.), color=cs) # #343e33\n", "\n", " # redo the plot's elements to style it\n", " new_patches = []\n", " for patch in reversed(ax.patches):\n", " bb = patch.get_bbox()\n", " color=patch.get_facecolor()\n", "\n", " # the fancy bbox patch module gives us additional ways to customize\n", " p_bbox = FancyBboxPatch((bb.xmin, bb.ymin),\n", " abs(bb.width) / 1.2, abs(bb.height)/2.6,\n", " boxstyle=\"round,pad=-0.0015,rounding_size=0.010\",\n", " ec=\"none\", fc=color,\n", " mutation_aspect= 4\n", " )\n", " patch.remove()\n", " new_patches.append(p_bbox)\n", " for patch in new_patches:\n", " ax.add_patch(patch)\n", "\n", " lpos = [-0.07,-0.017,0.04,0.01]\n", " # set the ylabel and ylabel position\n", " ax.set_ylabel(lsb[i], color=\"white\", fontsize=24, rotation=0, position=(0,0))\n", " ax.yaxis.set_label_coords(lpos[i],-0)\n", " ax.yaxis.set_label_position(\"left\")\n", "\n", " plt.text(1.05,-0.3, str(int(scores[i])), fontsize=36, color=\"white\")\n", "\n", " # remove frame\n", " ax.spines['top'].set_visible(False)\n", " ax.spines['right'].set_visible(False)\n", " ax.spines['bottom'].set_visible(False)\n", " ax.spines['left'].set_visible(False)\n", "\n", " # remove frame\n", " ax2.spines['top'].set_visible(False)\n", " ax2.spines['right'].set_visible(False)\n", " ax2.spines['bottom'].set_visible(False)\n", " ax2.spines['left'].set_visible(False)\n", "\n", " # hide the ticks and tick labels\n", " plt.setp( ax.get_xticklabels(), visible=False)\n", " plt.setp( ax2.get_xticklabels(), visible=False)\n", " plt.setp( ax.get_yticklabels(), visible=False)\n", " plt.setp( ax2.get_yticklabels(), visible=False)\n", " plt.xticks([])\n", " plt.yticks([])" ], "metadata": { "id": "ZDUH9oOvbrOJ", "colab": { "base_uri": "https://localhost:8080/", "height": 358 }, "outputId": "c514c64d-a57f-4e97-bef7-21da465b5b16" }, "execution_count": 14, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAArQAAAFVCAYAAAAeznxgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABj5klEQVR4nO3dd3QUVcMG8Gf7JpsOJAESeoeEKr0In0jvTURQBBERVFABFbGgAgqiYve1S+9Vei+CINKR3jvpZft+fyQZd8n2bMng8zuHc3ZnZ+benR2yz965c68ksWpVC4iIiIiIREoa7AoQERERERUFAy0RERERiRoDLRERERGJGgMtEREREYkaAy0RERERiRoDLRERERGJGgMtEREREYkaAy0RERERiRoDLRERERGJGgMtEREREYkaAy0RERERiRoDLRERERGJGgMtEREREYkaAy0RERERiRoDLRERERGJGgMtEREREYkaAy0RERERiRoDLRERERGJGgMtEREREYkaAy0RERERiRoDLRERERGJGgMtEREREYkaAy0RERERiRoDLRERERGJGgMtEREREYkaAy0RERERiRoDLRERERGJGgMtEREREYkaAy0RERERiRoDLRERERGJGgMtEREREYkaAy0RERERiRoDLRERERGJGgMtEREREYkaAy0RERERiRoDLRERERGJGgMtEREREYkaAy0RERERiRoDLRERERGJGgMtEREREYkaAy0RERERiZo82BUgIiIiogdHTHQ06iYno3y5cgjTaGA0GpGaloYzZ8/iyLFjMBqNPi+TgZaIiIiIiqxzhw54+skn0ahBA0il9jsBZGZlYfXvv+Pr777DhYsXfVa2JLFqVYvP9vYAatq4MRb+9hsAYO++fRgweHCQa0RERERUfMTFxeGzGTPQrEkTt7fR6fWY/eWX+OzLL31SB69baBf8+qvTimdlZSE1LQ0nT53Crr17sWTZMmRmZXlbHBEREREVMxUrVMDCX39FXFycR9uplEq88tJLqFK5Ml569VWYzeYi1cNvXQ7CwsIQFhaGxIQEPPrII3jlpZfw1pQpWLJ8ub+KJCIiIqIAiYqKwpwff7QbZo8cPYoNmzfjytWrUKvVqFihAnp264b4+9bt2a0b7t27h3c++KBIdfFJoP37yBH8feSI8FwikSAiPBx1k5JQqWJFAEBEeDhmffgh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2uXLUaZ06UKvHT56FBs2bcKVq1ehVqtRsXx59Oze3e7MYD/++iveKuK8AAy0REREROSVKpUrY/7PPyM2Ntar7VetXYsx48YVeSgy3hRGRERERF45e+4cuvXtW+gmMVf0ej1mzZ6N0WPH+mRcXbbQEhEREVGRde3UCU8PGYIG9etD6uDOwqysLKxZtw5f/+9/OHf+vM/KZqAlIiIiIp8pERODesnJKJeYiLCwMJhMJqSkpuLsuXM4fPQoDAbfj6PLQEtEREREosY+tEREREQkagy0RERERCRqDLREREREJGoMtEREREQkagy0RERERCRqDLREREREJGoMtEREREQkagy0RERERCRqDLREREREJGoMtEREREQkagy0RERERCRqDLREREREJGoMtEREREQkagy0RERERCRqDLREREREJGoMtEREREQkagy0RERERCRqDLREREREJGoMtEREREQkagy0RERERCRqDLREREREJGoMtEREREQkagy0RERERCRqDLREREREJGoMtEREREQkagy0RERERCRqDLREREREJGoMtEREREQkagy0RERERCRqDLREREREJGoMtEREREQkagy0RERERCRqDLREREREJGoMtEREREQkagy0RERERCRqDLREREREJGoMtEREREQkagy0RERERCRqDLREREREJGoMtEREREQkagy0RERERCRqDLREREREJGryYFeAiIiIiMRNrVajQvnyKFO6NOLj4qDRaKBWqaDT6ZCRmYl7KSk4cfIkrl2/7pfyGWiJiIiIyG1SqRRJdeqgUYMGaFS/PmrWqIHy5cpBJpO53PZeSgp+X78eC5YsweEjR3xWJ0li1aoWn+0NwCcffYTePXoIz6d+9BG++u47XxZBREREREFSuVIlbF23rsj7Wbt+Pd5+7z3cvHWryPvyaR9ajUaDju3b2yzr26uXL4sgIiIiogdA5w4dsH7lSiTXqVPkffm0y0GXjh0RGhpqs6xqlSpITkrCkaNHfVkUERERERUDZrMZZ8+dwz9nzuDipUu4fv06srKzYTAYEBoaivi4ONSpVQutW7ZEWFiYzbbR0dGY+/PP6N63L85fuOB1HXwaaK1bY3NzcxESEiIsZ6AlIiIiEj+LxYKz589j2/bt2L5rF/46dAiZWVkut1OpVHh6yBCMHTMGarVaWB4RHo6PPvgAfQYO9LpO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5BaZTIaG9eujaePGeKhhQ9SuVQslS5Rwa9srV69i1549+HXuXBw7ccKn9WKgJSIiIiKvxZYqhXKJiShdujRKxMQgRK2GXC5HdnY20jMycC8lBceOH8fde/f8VgcGWiIiIiISNU59S0RERESixkBLRERERKLGQEtEREREosZAS0RERESixkBLRERERKLGQEtEREREosZAS0RERESixkBLRERERKLGQEtEREREosZAS0RERESixkBLRERERKLGQEtEREREosZAS0RERESixkBLRERERKLGQEtEREREosZAS0RERESixkBLRERERKLGQEtEREREosZAS0RERESixkBLRERERKLGQEtEREREosZAS0RERESixkBLRERERKLGQEtEREREosZAS0RERESixkBLRERERKLGQEtEREREosZAS0RERESixkBLRERERKLGQEtEREREosZAS0RERESixkBLRERERKLGQEtEREREosZAS0RERESixkBLRERERKLGQEtEREREosZAS0RERESixkBLRERERKLGQEtEREREosZAS0RERESixkBLRERERKImD3YFiIiIiEjc1Go1KpQvjzKlSyM+Lg4ajQZqlQo6nQ4ZmZm4l5KCEydP4tr1634pn4HWytgxYzB2zBgAwKzZszFr9uyAlHv59Gnhcblq1Xyyz5nTpqFf794AgHETJmDxsmWF1unbqxc+nj4dALBo6VK8PHFioXUSypbFnq1bAQBXrl5Fi3btfFI/IiIiEiepVIqkOnXQqEEDNKpfHzVr1ED5cuUgk8lcbnsvJQW/r1+PBUuW4PCRIz6rk0eB9o0JE/DssGEAihZuIiMjcWD3bqiUSgCOAxcRERERFS8VK1TAqsWLvdq2REwMnhg4EE8MHIi169fj7ffew81bt4pcJ4/60FqHzsSEBDRt3NirQrt36SKE2ezsbKxdv96r/VDxsXvLFlw+fRqXT59GQtmywa4OERERFXOdO3TA+pUrkVynTpH35VEL7T+nT+Po8eNIql0bANCnZ0/8sX+/x4X26dlTePz7hg3IycnxeB9EREREFHxmsxlnz53DP2fO4OKlS7h+/TqysrNhMBgQGhqK+Lg41KlVC61btkRYWJjNttHR0Zj788/o3rcvzl+44HUdPO5Du2TZMiHQdurQAZPeeQc6nc7t7StWqIAG9eoJz4tTV4NA9pv1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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "This plot gives us a simple and visually appealing way to visualize summary statistics for a patient's glucose levels, allowing us to easily identify which scores are considered bad and which are good depending on color coding." ], "metadata": { "id": "j84ncZjZ8Do3" } }, { "cell_type": "markdown", "source": [ "## 7.3 Glucose Summary" ], "metadata": { "id": "xS9JMLrpidwo" } }, { "cell_type": "markdown", "source": [ "The following is a box plot summarizing the daily glucose statistics. The text on the green rectangle gives the `Mean / Standard Deviation` and the caps represent the maximum/minimum.\n", "\n", "The weekly is compared with the daily in this graph" ], "metadata": { "id": "ZLFqsRey8wNJ" } }, { "cell_type": "markdown", "source": [ "" ], "metadata": { "id": "vE2H6Y9s4DyM" } }, { "cell_type": "markdown", "source": [ "For this graph, the data we need will all come from the statistics variable we extracted at the start of this notebook. Begin by choosing a date to plot summary statistics for." ], "metadata": { "id": "yn46sK7G9ZL7" } }, { "cell_type": "code", "source": [ "#@title Glucose Summary Date\n", "start_date = \"2022-06-17\" #@param {type:\"date\"}\n", "\n", "import pandas as pd\n", "from scipy.stats import tstd\n", "\n", "datelist = pd.date_range(start_date, periods=2)\n", "start = datelist[0]\n", "end = datelist[-1]\n", "\n", "from datetime import datetime, timedelta\n", "import copy\n", "\n", "# convert string to date\n", "def strToD(s):\n", " c = s[:19]\n", " return datetime.strptime(c, \"%Y-%m-%dT%H:%M:%S\")\n", "\n", "dta = copy.deepcopy(data)\n", "\n", "# extract the necessary data. notice we must convert\n", "# the dates in the dataframe from string to actual datetime object\n", "dta['time'] = dta['time'].apply(strToD)\n", "dta = dta[dta['time'] >= start]\n", "dta = dta[dta['time'] < end]\n", "x = list(dta['time'])\n", "\n", "cp = copy.deepcopy(dta)\n", "\n", "Y = np.array(cp['level'])\n", "\n", "first = {\"min\": 70.0, \"max\": 140.0, \"__typename\": \"Range\"}\n", "second = {\"min\": min(Y), \"max\": max(Y), \"__typename\": \"Range\"}\n", "\n", "low, high = min(Y), max(Y)\n", "median = np.median(Y)\n", "std = tstd(Y)\n", "q1, q3 = (np.quantile(Y, [0.25, 0.75])).round(1)\n", "greater = 70.0 < np.array(Y)\n", "less = np.array(Y) < 140.0\n", "condition = greater & less\n", "timeWithinRange = float(len(np.extract(condition, Y)))\n", "avg = np.average(Y)\n", "\n", "stat = {\n", " \"healthyRange\": first,\n", " \"range\": second,\n", " \"timeWithinRange\": timeWithinRange,\n", " \"min\": low,\n", " \"max\": high,\n", " \"mean\": avg,\n", " \"median\": median,\n", " \"standardDeviation\": std,\n", " \"q1\": q1,\n", " \"q3\": q3,\n", " \"score\": 0.0,\n", " \"__typename\": \"Stat\",\n", "}\n", "\n", "s = [stat, statistics[\"average\"]][::-1]" ], "metadata": { "id": "3MiCmV-NmwFA" }, "execution_count": 15, "outputs": [] }, { "cell_type": "markdown", "source": [ "Since matplotlib's default boxplot looks a farcry from the beautiful plot featured, we have some extra work to do!\n", "\n", "Since we are plotting this chart straight from precalculated statistics, we will be using the `bxp` function rather than the standard `boxplot`." ], "metadata": { "id": "9y7yPlo39lIU" } }, { "cell_type": "code", "source": [ "import matplotlib.pyplot as plt\n", "from matplotlib.patches import FancyBboxPatch\n", "import warnings\n", "\n", "# ignore unecessary warnings\n", "warnings.filterwarnings(\"ignore\")\n", "\n", "# boxplot for daily and weekly\n", "# bottom line is healthy range\n", "# daily is min and max\n", "\n", "# plt.boxplot()\n", "figsize = (12, 4)\n", "\n", "# healthy range:\n", "lbound, rbound = 70.0, 140.0\n", "\n", "# vars\n", "labels = [\"average\", \"today\"]\n", "medianprops = {\"linestyle\":'none'}\n", "whiskerprops = {\"color\": \"#a6a8a7\",\"linewidth\":2.2}\n", "capprops = {\"color\": \"white\",\"linewidth\":2.2}\n", "\n", "stat_data = []\n", "for i in range(len(s)):\n", " d = s[i]\n", " mn, mx = d[\"min\"], d[\"max\"]\n", " avg, sd = d[\"mean\"], d[\"standardDeviation\"]\n", " q1, q3 = d[\"q1\"], d[\"q3\"]\n", "\n", " stat_data.append({'med': avg, 'q1': q1, 'q3':q3, 'whislo': mn, 'whishi': mx, 'label': labels[i]})\n", "\n", "fig, ax = plt.subplots(nrows=1, ncols=1, figsize=figsize, facecolor=\"#1d2525\")\n", "ax.yaxis.grid(linewidth='2', ls=\":\", dashes=(1,3,1,3), color=\"#7c7d7d\")\n", "ax.set_axisbelow(True)\n", "\n", "ax.tick_params(axis='y',colors='white', labelrotation=90, labelsize=14, pad=10)\n", "\n", "# might want to change below into a self drawn patch tick\n", "ax.tick_params(axis='x',colors='red', width=4.0, length=10.0, labelsize=12, pad=10, bottom=100)\n", "\n", "\n", "ax.set_yticklabels([\"Weekly\", \"Daily\"], rotation=90, ha='center', rotation_mode='anchor', weight=\"bold\")\n", "ax.set_xticklabels([lbound,rbound], ha='center', rotation_mode='anchor', weight=\"bold\", color=\"#a6a8a7\")\n", "plt.tick_params(left = False)\n", "\n", "bplot = ax.bxp(\n", " stat_data,\n", " showfliers=False,\n", " vert=False,\n", " patch_artist=True,\n", " medianprops=medianprops,\n", " whiskerprops=whiskerprops,\n", " capprops=capprops,\n", " )\n", "\n", "caps = bplot['caps']\n", "for cap in caps:\n", " cap.set(ydata=cap.get_ydata() + (-0.035,+0.035))\n", "\n", "new_patches = []\n", "\n", "for patch in bplot['boxes']:\n", " bb = patch.get_path().get_extents()\n", " p_bbox = FancyBboxPatch((bb.xmin, bb.ymin),\n", " abs(bb.width), abs(bb.height),\n", " boxstyle=\"round,pad=0,rounding_size=0.2\",\n", " ec=\"#a9c180\", fc=\"#a9c180\",\n", " mutation_aspect=0.1)\n", " patch.remove()\n", " new_patches.append(p_bbox)\n", "\n", "for i in range(len(new_patches)):\n", " patch = new_patches[i]\n", " ax.add_patch(patch)\n", " l, r = patch.get_x(), patch.get_x() + patch.get_width()\n", " h = patch.get_y() + patch.get_height()\n", " plt.text((l+r)/2-3, h+0.04, str(int(s[i]['mean']))+\"/\"+str(int(s[i]['standardDeviation'])), color=\"#a6a8a7\", fontweight='semibold', fontsize=14)\n", " plt.text(s[i]['min']-1.,h+0.04, str(int(s[i]['min'])), color=\"#a6a8a7\", fontweight='semibold', fontsize=14)\n", " plt.text(s[i]['max']-1.6,h+0.04, str(int(s[i]['max'])), color=\"#a6a8a7\", fontweight='semibold', fontsize=14)\n", "\n", "plt.xlim(60.0, max(s[0]['max'], s[1]['max'])+10)\n", "plt.xticks([lbound, rbound])\n", "\n", "# set colors\n", "ax.set_facecolor(\"#1d2525\")\n", "\n", "# remove frame\n", "ax.spines['top'].set_visible(False)\n", "ax.spines['right'].set_visible(False)\n", "ax.spines['bottom'].set(color=\"#a6a8a7\", linewidth=2.0)\n", "ax.spines['left'].set_visible(False)\n", "\n", "# add the inner side to the ticks\n", "ax2 = ax.twiny()\n", "ax2.axis('off')\n", "\n", "ax4 = ax2.twiny()\n", "ax4.tick_params(axis=\"x\",direction=\"out\", pad=-15, bottom = True, top=False)\n", "ax4.spines['bottom'].set(color=\"#a6a8a7\", linewidth=2.0)\n", "ax4.tick_params(axis='x',colors='red', width=4.0, length=10.0, labelsize=12, pad=10, bottom=100)\n", "ax4.xaxis.set_ticklabels([])\n", "ax4.set_xlim(ax.get_xlim())\n", "ax4.set_xticks([lbound,rbound])\n", "\n", "ax3 = ax2.twiny()\n", "ax3.tick_params(axis=\"x\",direction=\"in\", pad=-15, bottom = True, top=False)\n", "ax3.spines['bottom'].set(color=\"#a6a8a7\", linewidth=2.0)\n", "ax3.tick_params(axis='x',colors='red', width=4.0, length=10.0, labelsize=12, pad=10, bottom=100)\n", "ax3.xaxis.set_ticklabels([])\n", "ax3.set_xlim(ax.get_xlim())\n", "ax3.set_xticks([lbound,rbound])\n", "\n", "ax3.spines['top'].set_visible(False)\n", "ax3.spines['right'].set_visible(False)\n", "ax3.spines['bottom'].set_visible(False)\n", "ax3.spines['left'].set_visible(False)\n", "\n", "ax4.spines['top'].set_visible(False)\n", "ax4.spines['right'].set_visible(False)\n", "ax4.spines['bottom'].set_visible(False)\n", "ax4.spines['left'].set_visible(False)" ], "metadata": { "id": "kqIz512AOYKo", "colab": { "base_uri": "https://localhost:8080/", "height": 390 }, "outputId": "6871409d-9d55-4a71-fdb1-14e840864b86" }, "execution_count": 16, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "This graph is helpful because it gives a quick look at how the participant's daily glucose level statistics match up to their overall weekly trend. It also gives us a view of the summary statistics of the glucose levels." ], "metadata": { "id": "GGvJv2ec-0FO" } }, { "cell_type": "markdown", "source": [ "# 8. Outlier Detection and Data Cleaning" ], "metadata": { "id": "vQGsyH-EgpKY" } }, { "cell_type": "markdown", "source": [ "**NOTICE:** If you are using synthetically generated data, the analyses may yield unintuitive results due to the randomly generated nature of the data" ], "metadata": { "id": "ToUoxMQsfzGU" } }, { "cell_type": "markdown", "source": [ "In this section, we will detect outliers in our extracted data.\n", "\n", "Since there are currently no outliers (by construction, since it is simulated to have none), we will manually inject a couple into our general sessions dataframe (the method for finding outliers here will work for any glucose levels dataframe)." ], "metadata": { "id": "MTh8cTaefz5S" } }, { "cell_type": "code", "source": [ "import pandas as pd\n", "from datetime import datetime, timedelta\n", "import copy\n", "\n", "dToStr = lambda x: datetime.strftime(x,\"%Y-%m-%dT%H:%M:%S\")\n", "\n", "last = list(data['time'])[len(data)-1]\n", "last, apd = last[:19], last[19:]\n", "\n", "ctime = datetime.strptime(last, \"%Y-%m-%dT%H:%M:%S\")\n", "t1, t2 = dToStr(ctime + timedelta(minutes=15))+apd, dToStr(ctime + timedelta(minutes=30)) + apd\n", "\n", "outliers = pd.DataFrame({'time': ['01:11:52', '01:11:53'], 'level': [240, 20]})\n", "\n", "odata = copy.deepcopy(data)\n", "random_indices = np.random.randint(0, len(data), size=len(outliers))\n", "# Insert each entry of the outliers dataframe at random indices in the larger dataframe\n", "for i, row in outliers.iterrows():\n", " nrow = pd.DataFrame([row])\n", " odata = pd.concat([data.iloc[:random_indices[i]], nrow, data.iloc[random_indices[i]:]], ignore_index = True)\n", "\n", "display(data)" ], "metadata": { "id": "kJhhL_H-ZuSy", "colab": { "base_uri": "https://localhost:8080/", "height": 424 }, "outputId": "e9794d4a-6448-4ce8-80c6-02e3ad6353ed" }, "execution_count": 17, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ " time level interpolated\n", "0 2022-03-01T00:15:00-08:00 141.752046 False\n", "0 2022-03-01T00:30:00-08:00 130.740758 False\n", "0 2022-03-01T00:45:00-08:00 140.253880 True\n", "0 2022-03-01T01:00:00-08:00 138.751716 False\n", "0 2022-03-01T01:15:00-08:00 137.299749 False\n", ".. ... ... ...\n", "0 2022-06-17T22:45:00-08:00 127.744215 False\n", "0 2022-06-17T23:00:00-08:00 125.898526 False\n", "0 2022-06-17T23:15:00-08:00 136.808757 False\n", "0 2022-06-17T23:30:00-08:00 125.820452 False\n", "0 2022-06-17T23:45:00-08:00 120.911584 True\n", "\n", "[10463 rows x 3 columns]" ], "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", "
timelevelinterpolated
02022-03-01T00:15:00-08:00141.752046False
02022-03-01T00:30:00-08:00130.740758False
02022-03-01T00:45:00-08:00140.253880True
02022-03-01T01:00:00-08:00138.751716False
02022-03-01T01:15:00-08:00137.299749False
............
02022-06-17T22:45:00-08:00127.744215False
02022-06-17T23:00:00-08:00125.898526False
02022-06-17T23:15:00-08:00136.808757False
02022-06-17T23:30:00-08:00125.820452False
02022-06-17T23:45:00-08:00120.911584True
\n", "

10463 rows × 3 columns

\n", "
\n", "
\n", "\n", "
\n", " \n", "\n", " \n", "\n", " \n", "
\n", "\n", "\n", "
\n", " \n", "\n", "\n", "\n", " \n", "
\n", "
\n", "
\n" ], "application/vnd.google.colaboratory.intrinsic+json": { "type": "dataframe", "variable_name": "data", "summary": "{\n \"name\": \"data\",\n \"rows\": 10463,\n \"fields\": [\n {\n \"column\": \"time\",\n \"properties\": {\n \"dtype\": \"date\",\n \"min\": \"2022-03-01T00:15:00-08:00\",\n \"max\": \"2022-06-17T23:45:00-08:00\",\n \"num_unique_values\": 10463,\n \"samples\": [\n \"2022-05-18T17:30:00-08:00\",\n \"2022-05-24T13:15:00-08:00\",\n \"2022-04-07T01:00:00-08:00\"\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"level\",\n \"properties\": {\n \"dtype\": \"number\",\n \"std\": 19.981956291164064,\n \"min\": 64.06397557655822,\n \"max\": 149.560460539024,\n \"num_unique_values\": 10463,\n \"samples\": [\n 97.84841696153975,\n 77.54996054101603,\n 131.62832780224613\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n },\n {\n \"column\": \"interpolated\",\n \"properties\": {\n \"dtype\": \"boolean\",\n \"num_unique_values\": 2,\n \"samples\": [\n true,\n false\n ],\n \"semantic_type\": \"\",\n \"description\": \"\"\n }\n }\n ]\n}" } }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "Now we need a method to find these outliers. While there are many known methods for finding outliers, one of the quickest ways is to use something known as a z-score.\n", "\n", "The formula for the z-score is\n", "\n", "\n", "```\n", "Z = (data point - mean of data set) / standard deviation\n", "```\n", "We will compute this formula on every data point in our data set, giving us a massive list of z-score values.\n", "\n", "What the z score tells us is how far, in terms of standard deviations, any one data point is from the mean. In statistics, data points at increasing standard deviations away from the mean are less likely to occur. This means that the greater our z-score, the more unlikely for the data point to be real.\n", "\n", "We can decide what distance from the mean constitutes an outlier by setting the **threshold** value, so if a data point's z-score is above that threshold we might guess it to be an outlier.\n", "\n", "One intuitive idea is that the glucose levels should not vary too much from one second to the next. To capitalize on this, we can improve our analysis by first calculating the distance each glucose level sample is away from neighboring glucose level samples. We can then use the z-scores to determine which glucose levels differ from their neighbors by an unusually large margin. These will likely be our outliers." ], "metadata": { "id": "y1j2EjM9N6UU" } }, { "cell_type": "code", "source": [ "import math\n", "import pandas as pd\n", "\n", "nx = odata[\"level\"]\n", "\n", "distances = []\n", "\n", "f = lambda x: x**2\n", "\n", "#take the current count, subtract it by the points to its left and right some distance, then\n", "#square each of these differences, add, then sqrt\n", "for l1, l2, m, r1, r2 in zip(nx[:-4],nx[1:-3],nx[2:-2],nx[3:-1],nx[4:]):\n", " difference = math.sqrt(f(m-l1)+f(m-l2)+f(m-r1)+f(m-r2))\n", " distances.append(difference)" ], "metadata": { "id": "_U42-CwLN5t0" }, "execution_count": 18, "outputs": [] }, { "cell_type": "markdown", "source": [ "Now we can calculate our z-scores for the glucose levels data in one training session, and identify those data points that seem like outliers. Luckily, we can save some time by using the [z-score function](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.zscore.html) from scipy's statistics library, which will give us a z-score calculation for all data points." ], "metadata": { "id": "8NbGzHxUOHm4" } }, { "cell_type": "code", "source": [ "from scipy import stats\n", "import pandas as pd\n", "import numpy as np\n", "\n", "threshold = 3 #@param{type: \"integer\"}\n", "z_scores = np.abs(stats.zscore(nx))\n", "odata['z'] = z_scores\n", "lcs = list((odata.loc[odata['z'] > threshold]).index)\n", "print((odata.loc[odata['z'] > threshold]))\n", "\n", "cx = list(odata[\"level\"].values)\n", "for idx in odata.index[odata['z'] > threshold].tolist():\n", " vals = cx[idx-3:idx-2]+cx[idx-2:idx-1]+cx[idx+1:idx+2]+cx[idx+2:idx+3]\n", " mean_val = np.mean(vals)\n", " odata.loc[idx, 'level'] = mean_val\n" ], "metadata": { "id": "hJZklD3uOJm-", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "4dc5d270-b14c-4828-f6a8-419d95ad0836" }, "execution_count": 19, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ " time level interpolated z\n", "3912 01:11:53 20.0 NaN 4.364198\n" ] } ] }, { "cell_type": "markdown", "source": [ "It looks like the code was able to successfully identify the two outliers!\n", "\n", "We can also visualize the two outliers by locating them in a graph of the glucose levels. Run the cell below to check it out!" ], "metadata": { "id": "ea-5LSSkOelC" } }, { "cell_type": "code", "source": [ "# Plot glucose data with conditional outliers highlighted (Plot adapted from the Biostrap notebook: https://colab.research.google.com/github/Stanford-Health/wearable-notebooks/blob/main/notebooks/biostrap_evo.ipynb#scrollTo=ysL4wqBcGC7j)\n", "plt.figure(figsize=(10, 6))\n", "plt.plot(odata['level'], label='level data', alpha=0.7)\n", "plt.scatter(random_indices, outliers['level'], color='r', label='Conditional Outliers')\n", "plt.legend()\n", "plt.title('Glucose Data with Conditional Outliers Highlighted')\n", "plt.xlabel('Time Index')\n", "plt.ylabel('Glucose Level')\n", "plt.show()" ], "metadata": { "id": "aperup6jb7YA", "colab": { "base_uri": "https://localhost:8080/", "height": 564 }, "outputId": "977cf766-7309-43eb-ba26-540834f1798c" }, "execution_count": 20, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIjCAYAAAAJLyrXAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADukklEQVR4nOydd3xUxdrHf5tOSCO00AOE3kVBRIqKgigCVhRR3ouiCCh2uddrRRFExd4vNhBEERGQ3nsNJYSeRiAEEtJ79rx/hN2cPXvKzCm7G3i+nw+a3Z0zM2fOnJl5Zp5iEwRBAEEQBEEQBEEQBMGMn7crQBAEQRAEQRAEUdMgQYogCIIgCIIgCIITEqQIgiAIgiAIgiA4IUGKIAiCIAiCIAiCExKkCIIgCIIgCIIgOCFBiiAIgiAIgiAIghMSpAiCIAiCIAiCIDghQYogCIIgCIIgCIITEqQIgiAIgiAIgiA4IUGKIK5i3njjDdhsNm9XgzCRH374ATabDcnJycxp9+zZY33FPIhcv46NjcXYsWOZrh84cCAGDhxofsV0wPM8vYHRtvZFxo4di9jYWN3XhoWFMaW12Wx44403nJ+NPGtfeJeTk5Nhs9nwww8/eK0OBOFpSJAiiCuMpKQkTJo0CW3btkVoaChCQ0PRsWNHTJw4EQcPHvR29bxGbGwsbDYbbDYb/Pz8EBUVhS5dumD8+PHYuXOnobzfffddLF682JyKWsAXX3xh6eImPj4eDz/8MJo1a4bg4GBER0dj0KBBmDNnDiorKy0r1whHjhzBG2+84bMCil62bt2KkSNHomHDhggODkZsbCyeeOIJpKam6s6zqKgIb7zxBjZs2GBeRT2EY3E/a9Ys2d8dguDFixc9XDPvYfV4QBBXEwHergBBEOaxdOlSPPDAAwgICMDo0aPRrVs3+Pn54ejRo1i0aBG+/PJLJCUloUWLFt6uqlfo3r07nn/+eQBAfn4+EhMTsXDhQnz77bd49tln8eGHH+rK991338W9996LESNGmFhbfYwZMwajRo1CcHCw87svvvgC9erVs+SU4LvvvsOTTz6Jhg0bYsyYMWjTpg3y8/Oxdu1ajBs3DufOncO///1v08vl5dixY/Dzq947PHLkCN58800MHDjQ7fRh1apVHq6dOXz66ad45pln0KpVK0yePBmNGjVCYmIivvvuOyxYsADLly/HDTfcwJ1vUVER3nzzTQBgOqmTtnVN49tvv4Xdbvd4uXLvrhVYOR4QxNUGCVIEcYVw6tQpjBo1Ci1atMDatWvRqFEjl99nzJiBL774okYvcIzSpEkTPPzwwy7fzZgxAw899BA++ugjtGnTBhMmTPBS7czB398f/v7+Hilrx44dePLJJ9GnTx8sX74c4eHhzt+mTJmCPXv24PDhwx6pixY8i9OgoCALa2INW7duxZQpU3DjjTdixYoVCA0Ndf42YcIE9O3bF/feey8SEhJQp04dS+tipiBQUVEBu93u0WcSGBjosbLEePLdJQjCHK7eFRVBXGHMnDkThYWFmDNnjpsQBQABAQF4+umn0axZM8U81HTcpfr8AJCeno5x48ahcePGCA4ORsuWLTFhwgSUlZU505w+fRr33XcfoqOjERoaiuuvvx7Lli1zy//TTz9Fp06dEBoaijp16uDaa6/FvHnz3Mr717/+5VRb6tSpE/73v/9ptIw6tWrVws8//4zo6Gi88847EATB+dusWbNwww03oG7duqhVqxZ69uyJ33//3a1dCgsL8eOPPzpVBx07vSkpKXjqqafQrl071KpVC3Xr1sV9993HpE52zTXX4O6773b5rkuXLrDZbC4qmgsWLIDNZkNiYiIAdzuL2NhYJCQkYOPGjc76SU8VSktL8dxzz6F+/fqoXbs2Ro4ciQsXLmjW8c0334TNZsPcuXNdhCgH1157rcuud2FhIZ5//nmnCmC7du0wa9YslzYHqtp00qRJWLx4MTp37ux81itWrHArY8uWLbjuuusQEhKC1q1b4+uvv5atq9hu54cffsB9990HALjpppuc7eJQXZOzkcrMzMS4cePQsGFDhISEoFu3bvjxxx9d0ojVyL755hu0bt0awcHBuO6667B7926XtAcPHsTYsWPRqlUrhISEICYmBv/617+QlZUlW38t3n77bdhsNvz4448uQhQAtG7dGjNnzsS5c+dc2kfJFkxsI5ScnIz69esDqH7ecmOBGDkbqZycHEyZMsX57OPi4jBjxgyXkx9x+82ePdvZfkeOHAHANkaYgZyNVFZWFsaMGYOIiAhERUXh0UcfxYEDBxTHy/T0dIwYMQJhYWGoX78+XnjhBU01VzkbKbvdjjfeeAONGzdGaGgobrrpJhw5ckTRDk3rXdYaD1iekyPd2LFjERkZ6WyPnJwc1fsjiCsROpEiiCuEpUuXIi4uDr179/ZIeWfPnkWvXr2Qk5OD8ePHo3379khPT8fvv/+OoqIiBAUF4fz587jhhhtQVFSEp59+GnXr1sWPP/6Iu+66C7///jtGjhwJoEqV5umnn8a9996LZ555BiUlJTh48CB27tyJhx56CABw/vx5XH/99c5Fdv369fHPP/9g3LhxyMvLw5QpU3TfS1hYGEaOHInvv/8eR44cQadOnQAAH3/8Me666y6MHj0aZWVlmD9/Pu677z4sXboUd9xxBwDg559/xmOPPYZevXph/PjxAKoWrgCwe/dubNu2DaNGjULTpk2RnJyML7/8EgMHDsSRI0fcFrxi+vXrh19//dX5OTs7GwkJCfDz88PmzZvRtWtXAMDmzZtRv359dOjQQTaf2bNnY/LkyQgLC8N//vMfAEDDhg1d0kyePBl16tTB66+/juTkZMyePRuTJk3CggULFOtXVFSEtWvXon///mjevLlq+wKAIAi46667sH79eowbNw7du3fHypUr8eKLLyI9PR0fffSRS/otW7Zg0aJFeOqppxAeHo5PPvkE99xzD1JTU1G3bl0AwKFDh3Dbbbehfv36eOONN1BRUYHXX3/d7f6k9O/fH08//TQ++eQT/Pvf/3a2nVIbFhcXY+DAgTh58iQmTZqEli1bYuHChRg7dixycnLwzDPPuKSfN28e8vPz8cQTT8Bms2HmzJm4++67cfr0aedpx+rVq3H69Gn83//9H2JiYpCQkIBvvvkGCQkJ2LFjB5cTGMez6NevH1q2bCmb5oEHHsD48eOxdOlSvPLKK8x5169fH19++SUmTJiAkSNHOoV7R/9jrd+AAQOQnp6OJ554As2bN8e2bdswdepUnDt3DrNnz3ZJP2fOHJSUlGD8+PFOmzuWMUKrDnJ2UEVFRZrX2u12DBs2DLt27cKECRPQvn17/PXXX3j00Udl01dWVmLw4MHo3bs3Zs2ahTVr1uCDDz5A69atuU+8p06dipkzZ2LYsGEYPHgwDhw4gMGDB6OkpEQ2vda7rDYesD4nQRAwfPhwbNmyBU8++SQ6dOiAP//8U7E9COKKRiAIosaTm5srABBGjBjh9tulS5eECxcuOP8VFRU5f3v99dcF8TCQlJQkABDmzJnjlg8A4fXXX3d+fuSRRwQ/Pz9h9+7dbmntdrsgCIIwZcoUAYCwefNm52/5+flCy5YthdjYWKGyslIQBEEYPny40KlTJ9V7HDdunNCoUSPh4sWLLt+PGjVKiIyMdLkvOVq0aCHccccdir9/9NFHAgDhr7/+cn4nzbOsrEzo3LmzcPPNN7t8X7t2beHRRx91y1OuTtu3bxcACD/99JNqfRcuXCgAEI4cOSIIgiAsWbJECA4OFu666y7hgQcecKbr2rWrMHLkSOfnOXPmCACEpKQk53edOnUSBgwY4FaGI+2gQYOcz0wQBOHZZ58V/P39hZycHMX6HThwQAAgPPPMM6r34WDx4sUCAGHatGku3997772CzWYTTp486fwOgBAUFOTynaO8Tz/91PndiBEjhJCQECElJcX53ZEjRwR/f39BOr21aNHC5Rk52nf9+vVudR0wYIBLe82ePVsAIPzyyy/O78rKyoQ+ffoIYWFhQl5eniAI1e9P3bp1hezsbGfav/76SwAg/P33387v5PrGr7/+KgAQNm3a5PxO7nlKiY+PZ3oWXbt2FaKjoxXv08Gjjz4qtGjRwvn5woULbu+/A+kYIgjubf32228LtWvXFo4fP+6S7pVXXhH8/f2F1NRUQRCq2y8iIkLIzMx0ScsyRsjhyFPr34ULFxTv/48//hAACLNnz3Z+V1lZKdx8881u4+Wjjz4qABDeeustl3r06NFD6Nmzp8t30jaVPuuMjAwhICDAbVx/4403BAAubczzLiuNB6zPyfEuz5w505mmoqJC6Nevn+L8QRBXKqTaRxBXAHl5eQAg63Z34MCBqF+/vvPf559/brg8u92OxYsXY9iwYbj22mvdfnfspi9fvhy9evXCjTfe6PwtLCwM48ePR3JyslNlJyoqCmfOnHFTf3IgCAL++OMPDBs2DIIg4OLFi85/gwcPRm5uLvbt22fonhxtl5+f7/yuVq1azr8vXbqE3Nxc9OvXj7ks8fXl5eXIyspCXFwcoqKiNPPo168fAGDTpk0Aqk6errvuOtx6663YvHkzgCr1msOHDzvT6mX8+PEuJyD9+vVDZWUlUlJSFK9x9Dk5lT45li9fDn9/fzz99NMu3z///PMQBAH//POPy/eDBg1ynuwBVScgEREROH36NICqXf+VK1dixIgRLidiHTp0wODBg5nqxMry5csRExODBx980PldYGAgnn76aRQUFGDjxo0u6R944AEXOyTH83HUHXDtGyUl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O3cOCxcuxJYtWxAVFYVXXnkFv/76K26//XY8/fTTiI6Oxo8//oikpCT88ccfzt392267DTExMejbty8aNmyIxMREfPbZZ7jjjjucpxfvvfce1q9fj969e+Pxxx9Hx44dkZ2djX379mHNmjXIzs7WbKP09HT88ssvAKpOoY4cOYKFCxciIyMDzz//vMsi84477sCHH36IIUOG4KGHHkJmZiY+//xzxMXFualQ9ezZE2vWrMGHH36Ixo0bo2XLlujduzfuvPNO/Pzzz4iMjETHjh2xfft2rFmzxum+W4u4uDjExMTg2LFjLobc/fv3x8svvwwATIJUz5498eWXX2LatGmIi4tDgwYNcPPNNzPVQY0bbrgBn3/+OZ566im0b98eY8aMQZs2bZCfn48NGzZgyZIlmDZtGgBg2LBhuOmmm/Cf//wHycnJ6NatG1atWoW//voLU6ZMcXEswcqbb76JFStWoF+/fnjqqaecwk2nTp1U1dwAoHv37vD398eMGTOQm5uL4OBg3HzzzWjQoIFb2vHjx+Prr7/G2LFjsXfvXsTGxuL333/H1q1bMXv2bG67o4iICPTv3x8zZ85EeXk5mjRpglWrViEpKYkrHzH9+/fHrFmz8Nxzz6Fr164YO3YsGjVqhKNHj+Lbb7+F3W7H8uXLXWxr/vWvf+HDDz/E4MGDMW7cOGRmZuKrr75Cp06dXJxS1KpVCx07dsSCBQvQtm1bREdHo3Pnzpo2kg5efPFFLFmyBHfeeSfGjh2Lnj17orCwEIcOHcLvv/+O5ORk1KtXTzUPljHCKkaMGIFevXrh+eefx8mTJ9G+fXssWbLEOeZYceILVNlJPvPMM/jggw9w1113YciQIThw4AD++ecf1KtXT3e5SuMB63MaNmwY+vbti1deeQXJycno2LEjFi1axG3bRxBXBJ52E0gQhLWcPHlSmDBhghAXFyeEhIQItWrVEtq3by88+eSTQnx8vEtaOdfFRUVFwrhx44TIyEghPDxcuP/++4XMzExZ98cpKSnCI488ItSvX18IDg4WWrVqJUycOFEoLS11pjl16pRw7733ClFRUUJISIjQq1cvYenSpS75fP3110L//v2FunXrCsHBwULr1q2FF198UcjNzXVJd/78eWHixIlCs2bNhMDAQCEmJka45ZZbhG+++UazXVq0aOF0dWyz2YSIiAihU6dO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DA4fPow9e/YgNjYWXq/X7zc5OTnYs2eP7npvu+02HDp0yPffzp07HdwLIiIiIiLqaaK6ad/kyZN9/x48eDDq6+tRUlKCJ554AgkJCZbXGxcXh7i4ODuSSEREREREvVBU10gF8nq96N+/P7Zt24bc3FycPHkSTU1Nfsvs3btXs08VERERERGRXbpVIHXkyBFs374deXl5GDZsGGJiYrBq1Srf91u3bsWOHTvQ0NAQwVQSEREREVFPF9VN+26++Wacf/75KCkpwa5du7BkyRK43W7Mnj0baWlpmD9/Pm688UZkZGQgNTUV1113HRoaGnRH7CMiIiIiIgpVVAdSX375JWbPno1vvvkGffr0wejRo/HWW2+hT58+AIAHHngALpcLM2fOxIkTJzBx4kT88pe/jHCqiYiIiIiop1OEECLSiYi05uZmpKWl4dChQ0hNTY10coiIiIiIKELMxgbdqo8UERERERFRNGAgRUREREREJImBFBERERERkSQGUkRERERERJIYSBEREREREUliIEVERERERCSJgRQREREREZEkBlJERERERESSGEgRERERERFJYiBFREREREQkiYEUERERERGRJAZSREREREREkhhIERERERERSWIgRUREREREJImBFBERERERkSQGUkRERERERJIYSBEREREREUliIEVERERERCSJgRQREREREZEkBlJERERERESSGEgRERERERFJYiBFREREREQkiYEUERERERGRJAZSREREREREkhhIERERERERSWIgRUREREREJImBFBERERERkSQGUkRERERERJIYSBEREREREUliIEVERERERCSJgRQREREREZEkBlJERERERESSGEgRERERERFJYiBFREREREQkiYEUERERERGRJAZSREREREREkhhIERERERERSWIgRUREREREJImBFBERERERkSQGUkRERERERJIYSBEREREREUliIEVERERERCSJgRQREREREZEkBlJERERERESSGEgRERERERFJ8kQ6AUREZKC1FXjjDWD3biAvDxgzBnC7I50qIiKiXo2BFBFRNHvqKWDRIuDLLzs/KywEHnwQmDEjcukiIiLq5di0j4goWj31FHDRRf5BFAB89VX75089FZl0EREREQMpIqKo1NraXhMlRNfvOj5bvLh9OSIiIgo7BlJERNHojTe61kSpCQHs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KDZv3jxRUFDgG/78qaeeEllZWeLWW2/1LcO80TscPnxYbNiwQWzYsEEAED//+c/Fhg0bxBdffCGECF8+ePPNN4XH4xH333+/+Oijj8SSJUs4/DmF10MPPSSKi4tFbGysGDlypHjrrbcinSSyEQDN/x599FHfMseOHRPXXnutSE9PF4mJiWL69Oli9+7dfuv5/PPPxeTJk0VCQoLIysoSN910kzh16pTfMqtXrxZDhw4VsbGxory83G8bFP0CAynmi97rn//8pxg0aJCIi4sTlZWV4je/+Y3f921tbeLOO+8UOTk5Ii4uTpxzzjli69atfst88803Yvbs2SI5OVmkpqaKK6+8Uhw+fNhvmY0bN4rRo0eLuLg4UVBQIJYtW+b4vpF1zc3NYtGiRaK4uFjEx8eL8vJycfvtt/sNT8280TusXr1as2wxb948IUR488ETTzwh+vfvL2JjY0V1dbV47rnnHNvvaKEIoZoGm4iIiIiIiAyxjxQREREREZEkBlJERERERESSGEgRERERERFJYiBFREREREQkiYEUERERERGRJAZSREREREREkhhIERERERERSWIgRUREREREJImBFBERRaUrrrgCF154YaSTYVl3Tz8REenzRDoBRETU+yiKovv9kiVL8OCDD0IIEaYUdXr11Vdx9tln4+DBg/B6vWHfPhERdQ8MpIiIKOx2797t+/df/vIX3HXXXdi6davvs+TkZCQnJ0ciaURERKawaR8REYVdbm6u77+0tDQoiuL3WXJycpemcePGjcN1112HxYsXIz09HTk5Ofjtb3+Lb7/9FldeeSVSUlLQr18/vPDCC37b2rRpEyZPnozk5GTk5ORg7ty52L9/v+m0rlixAl6vFy+99BKqqqqQnJyMSZMm+QWDra2tuPHGG+H1epGZmYlbb721S21aW1sbli5dirKyMiQkJGDIkCH461//CgAQQqCxsRETJ070/e7AgQMoLCzEXXfdJXt4iYgoDBhIERFRt7Fy5UpkZWXh7bffxnXXXYcFCxZg1qxZGDVqFN577z1MmDABc+fOxdGjRwEATU1NGD9+PGpra/Huu+/ixRdfxN69e3HxxRdLbffo0aO4//778Yc//AGvv/46duzYgZtvvtn3/c9+9jOsWLECjzzyCNasWYMDBw7g6aef9lvH0qVL8fvf/x6/+tWvsHnzZtxwww24/PLL8dprr0FRFKxcuRLvvPMOfvGLXwAArrnmGhQUFDCQIiKKVoKIiCiCHn30UZGWltbl83nz5olp06b5/h47dqwYPXq07++WlhaRlJQk5s6d6/ts9+7dAoBYu3atEEKIe+65R0yYMMFvvTt37hQAxNatWzXTs3r1agFAHDx40Jc+AGLbtm2+ZR5++GGRk5Pj+zsvL0/cd999vr9PnTolCgsLfek/fvy4SExMFP/617/8tjV//nwxe/Zs399PPPGEiI+PFz/84Q9FUlKS+PjjjzXTSEREkcc+UkRE1G0MHjzY92+3243MzEzU1NT4PsvJyQEA7Nu3DwCwceNGrF69WrO/1fbt29G/f39T201MTETfvn19f+fl5fm2cejQIezevRv19fW+7z0eD4YPH+5rprdt2zYcPXoU5557rt96T548idraWt/fs2bNwtNPP41ly5Zh+fLlqKioMJU+IiIKPwZSRETUbcTExPj9rSiK32cdowG2tbUBAI4cOYLzzz8fP/nJT7qsKy8vL6TtCokRBY8cOQIAeO6551BQUOD3XVxcnO/fR48exfr16+F2u/HJJ5+YXj8REYUfAykiIuqx6urq8Le//Q2lpaXweJx55KWlpSEvLw/r1q3DWWedBQBoaWnB+vXrUVdXBwAYOHAg4uLisGPHDowdOzboum666Sa4XC688MILmDJlCqZOnYrx48c7km4iIgoNB5sgIqIea+HChThw4ABmz56Nd955B9u3b8dLL72EK6+8Eq2trbZtZ9GiRVi2bBmeeeYZ/Pvf/8a1116LpqYm3/cpKSm4+eabccMNN2DlypXYvn073nvvPTz00ENYuXIlgPbaqkceeQSPPfYYzj33XNxyyy2YN28eDh48aFs6iYjIPgykiIiox8rPz8ebb76J1tZWTJgwATU1NVi8eDG8Xi9cLvsegTfddBPmzp2LefPmoaGhASkpKZg+fbrfMvfccw/uvPNOLF26FFVVVZg0aRKee+45lJWV4euvv8b8+fNx9913+2qxfvSjHyEnJwfXXHONbekkIiL7KEKmkTcRERERERGxRoqIiIiIiEgWAykiIiIiIiJJDKSIiIiIiIgkMZAiIiIiIiKSxECKiIiIiIhIEgMpIiIiIiIiSQykiIiIiIiIJDGQIiIiIiIiksRAioiIiIiISBIDKSIiIiIiIkkMpIiIiIiIiCT9f7jHaUDWB/lfAAAAAElFTkSuQmCC\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "# 9. Data Analysis" ], "metadata": { "id": "2sHttKpIgs1j" } }, { "cell_type": "markdown", "source": [ "## 9.1: Blood glucose level vs. time of day (day vs. night)" ], "metadata": { "id": "Buc3V0bDGA33" } }, { "cell_type": "markdown", "source": [ "Since people (generally) sleep at night and eat during the day, one hypothesis is that glucose values will be different during the day compared to the night. Let's see if this is true. First, we will get the glucose values for each day and separate them into day time and night time values. We define day time as 9AM to 12AM (midnight) and night time as 12AM (midnight) to 9 am here, although these values can be adjusted as dayStart and dayEnd in the code.\n", "\n", "As a note, our implementation here examines all of our extracted data, so the visualization presented here may span multiple days or even weeks." ], "metadata": { "id": "4AXQBfN4KDre" } }, { "cell_type": "code", "source": [ "from datetime import time\n", "import scipy.stats as stats\n", "\n", "df = data\n", "\n", "dayStart = time(9, 00, 00)\n", "dayEnd = time(0, 00, 00)\n", "\n", "allTimes = pd.to_datetime(df.loc[:,'time']).dt.time\n", "\n", "# create a mask for the day/night\n", "if dayStart < dayEnd:\n", " mask = (allTimes >= dayStart) & (allTimes <= dayEnd)\n", "else:\n", " mask = (allTimes >= dayStart) | (allTimes <= dayEnd)\n", "\n", "# separate dataframe into day and night using mask\n", "df[\"Time of Day\"] = mask\n", "df[\"Time of Day\"] = df[\"Time of Day\"].map({True: 'Day', False: 'Night'})" ], "metadata": { "id": "VWfrRegdLCje" }, "execution_count": 21, "outputs": [] }, { "cell_type": "markdown", "source": [ "Let's use [seaborn](https://seaborn.pydata.org/) to generate a scatter plot to take an initial look." ], "metadata": { "id": "Twi_M1rbhCAA" } }, { "cell_type": "code", "source": [ "import seaborn as sns\n", "\n", "sns.catplot(x=\"Time of Day\", y=\"level\", data=df, palette=sns.color_palette('pastel'))" ], "metadata": { "id": "InuS5ksQhDSR", "colab": { "base_uri": "https://localhost:8080/", "height": 523 }, "outputId": "f5ef6e58-5a85-4e1e-cc43-430a0393d798" }, "execution_count": 22, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "" ] }, "metadata": {}, "execution_count": 22 }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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jRtvvBHLly/H/v378eMf/xgPPfRQb9f7K6+8gjvuuAOLFy9GfX09XnnllVH9DUVFRVixYgX+/Oc/954J3t3djXvuuQe7du3C5s2bYTKZcMMNN/SeqHb77bfjpZdeQjAY7H2e3/72txg3bhyWLl06qt9PpBsqEeneCy+8oLrd7n63r1y5Ur3uuut6v//CF76gLlmypPf7SCSiZmZmqjfffHPvbfX19SoAdfv27aqqqupPf/pT9fLLL+/zvNXV1SoA9ciRIwPm+drXvqZedtllfW6777771JkzZ/Z+/93vflf9whe+kNDfpaqq+uyzz6oA1MbGxgHvb25uVgGo+/fvV1VVVXt6etTc3Fz197//fe9j5s6dq/74xz8eMgORnrElTWQwc+fO7f232WxGfn4+5syZ03tbcXExAKCpqQkA8OGHH+Kdd97pHePOysrCjBkzAKBPd/KnHT58GBdccEGf2y644AIcO3ast+WrlfrxsQKKogAAjh07hptuugmTJk2Cy+VCeXk5AODMmTMAAIfDgZtvvhm/+tWvAAB79uzBgQMHcMsttyQlD5EInDhGZDBWq7XP94qi9LntbNE7203s8/lw7bXXYu3atf2eq6SkJIVJh3b48GG4XC7k5+cDAK699lpMnDgRzz//PEpLSxGLxTB79myEQqHen7n99tsxf/581NTU4IUXXsDSpUsxceJEUX8CkWYs0kRpbuHChXj55ZdRXl4Oi2Vkl4TKykps3bq1z21bt27FtGnTYDabNWdqamrCSy+9hOuvvx4mkwmtra04cuQInn/+eVx44YUAgH/84x/9fm7OnDlYtGgRnn/+ebz00kt45plnNGchEond3URp7tvf/jba2tpw0003YefOnThx4gTefPNN3HrrrYN2XX//+9/H5s2b8dOf/hRHjx7Fhg0b8Mwzz+Dee+8d9e9XVRUNDQ2or6/H4cOH8atf/Qrnn38+3G43HnvsMQBAbm4u8vPz8dxzz+H48eN4++23cc899wz4fLfffjsee+wxqKqKG264YdR5iPSERZoozZWWlmLr1q2IRqO4/PLLMWfOHKxatQo5OTkwmQa+RCxcuBB/+MMf8Lvf/Q6zZ8/G6tWr8fDDDyc0/uv1elFSUoJx48Zh8eLF+M///E+sXLkSe/fu7e1uN5lM+N3vfofdu3dj9uzZ+N73vod///d/H/D5brrpJlgsFtx0001wOByjzkOkJ4p6dnYGEZEBnDp1CpMnT8bOnTuxcOFC0XGINGGRJiJDCIfDaG1txb333ouqqqp+Y+ZEMmJ3NxEZwtatW1FSUoKdO3di3bp1ouMQJQVb0kRERDrFljQREZFOsUgTERHpFIs0ERGRTrFIExER6RSLNBERkU6xSBMREekUizQREZFOsUgTERHp1P8PDQJNTEK6+TQAAAAASUVORK5CYII=\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "Now, since we're comparing two means, we could use a one-way ANOVA (analysis of variance). For this to be a valid analysis, we have to ensure the data is [independent, normally distributed, and homoscedastic](https://www.statisticssolutions.com/free-resources/directory-of-statistical-analyses/anova/).\n", "\n", "Let's check normality first." ], "metadata": { "id": "nUmscDzxhEbw" } }, { "cell_type": "code", "source": [ "import matplotlib.pyplot as plt\n", "\n", "# plot histogram for datapoints during the day to verify normality\n", "plt.hist(df.loc[df[\"Time of Day\"] == 'Day']['level'])\n", "plt.title(\"Day Time\")\n", "plt.xlabel(\"Level\")\n", "plt.ylabel(\"Number of Observations\")\n", "plt.show()\n", "\n", "# plot histogram for datapoints during the night to verify normality\n", "plt.hist(df.loc[df[\"Time of Day\"] == 'Night']['level'], color=\"orange\")\n", "plt.title(\"Night Time\")\n", "plt.xlabel(\"Level\")\n", "plt.ylabel(\"Number of Observations\")\n", "plt.show()" ], "metadata": { "id": "bfgmAx-uhGVQ", "colab": { "base_uri": "https://localhost:8080/", "height": 927 }, "outputId": "4e4f6a55-b672-4300-e89c-7b5638138105" }, "execution_count": 23, "outputs": [ { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "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c/ThAACACsilMzsff/yxFi1apMWLF2vr1q167733NH36dL333ntO/dzRo0crLy/P+jp+/LhTPw8AALiOS2d2Ro4cqaSkJPXq1UuSFB0draNHj2rKlClKSEhQSEiIJCk7O1u1a9e2vi87O1tNmjSRJIWEhOj06dM2+7127ZpycnKs7/85b29veXt7O+GIAABARePSmZ1Lly7Jzc02gru7u4qLiyVJERERCgkJUVpamnV9fn6+MjIyFBMTI0mKiYlRbm6utmzZYt1mzZo1Ki4uVosWLcrhKAAAQEXm0pmdxx9/XJMmTVLdunXVqFEjbdu2TTNmzFC/fv0kSRaLRcOGDdPEiRPVsGFDRUREKDk5WaGhoXryySclSffee686duyoAQMGaMGCBbp69aoGDx6sXr16cScWAABwbdmZM2eOkpOTNWjQIJ0+fVqhoaF67rnnNHbsWOs2L730ki5evKiBAwcqNzdXDz30kFavXq0qVapYt1m0aJEGDx6sdu3ayc3NTd27d9fs2bNdcUgAAKCCsRg/fVzxHSo/P19+fn7Ky8uTr6+vq+OgFMKTvnB1BACV0JGpnV0dAWVQ0r/ffDcWAAAwNcoOAAAwNcoOAAAwNcoOAAAwNcoOAAAwNcoOAAAwNcoOAAAwNcoOAAAwNcoOAAAwNcoOAAAwNcoOAAAwNcoOAAAwNcoOAAAwNQ9XB0DFwzeIAwDMhJkdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgapQdAABgag4pO7m5uY7YDQAAgMPZXXamTZumjz76yPp7z549VbNmTdWpU0c//PCDQ8MBAACUld1lZ8GCBQoLC5MkpaamKjU1VatWrVKnTp00cuRIhwcEAAAoCw9735CVlWUtOytXrlTPnj3Vvn17hYeHq0WLFg4PCAAAUBZ2z+wEBATo+PHjkqTVq1crNjZWkmQYhoqKihybDgAAoIzsntnp1q2b/vSnP6lhw4Y6d+6cOnXqJEnatm2bGjRo4PCAAAAAZWF32Zk5c6bCw8N1/PhxpaSkqHr1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\n" }, "metadata": {} }, { "output_type": "display_data", "data": { "text/plain": [ "
" ], "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHHCAYAAABZbpmkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9d0lEQVR4nO3deVyU5f7/8fewiiggKiCJikshZq4nHfO0SZJpy9E0DZXM6pdhrplyUlPL9ZyyLNPsmHgqsyyto+crhuRSirik5ZZpWpoKmAqIJiDcvz96OKcJTQZmGLh7PR+P+5FzXdfc87kinHf3ct0WwzAMAQAAmJSHuwsAAABwJcIOAAAwNcIOAAAwNcIOAAAwNcIOAAAwNcIOAAAwNcIOAAAwNcIOAAAwNcIOAAAwNcIOAJdr1KiRHnnkkTK/t0ePHs4tyAG33367br/9drd9PoDyI+wAcEhSUpIsFouqVaum48ePl+i//fbbdeONN1Z4Xfv27dOkSZP0ww8//OG4H374QRaLpVTbtfYFoGrwcncBAKqm/Px8zZgxQ6+99to1xx44cEAeHq79f6t9+/Zp8uTJuv3229WoUaOrjqtbt67eeecdu7aXXnpJP/30k2bPnl1i7GeffeaKcgFUIMIOgDJp3bq13nrrLSUmJio8PPwPx/r6+lZQVdfm7++v/v3727UtXbpUZ8+eLdEOwBw4jQWgTP7+97+rqKhIM2bMuObYK12z88033+i2226Tn5+f6tevrxdffFGLFi266umjL7/8UjfffLOqVaumxo0b69///retLykpSb1795Yk3XHHHbbTUOvXry/PFCWVvGZn/fr1slgs+vDDDzV58mRdd911qlmzph588EHl5OQoPz9fI0aMUEhIiGrUqKFBgwYpPz+/xH7fffddtWvXTn5+fgoODlbfvn117NixctcLoCSO7AAok8jISA0cOFBvvfWWxo0bd82jO791/PhxWyhJTEyUv7+//vWvf131CNChQ4f04IMPavDgwYqPj9fbb7+tRx55RO3atVOLFi106623atiwYZozZ47+/ve/q3nz5pJk+6crTJ8+XX5+fho3bpwOHTqk1157Td7e3vLw8NDZs2c1adIkbdmyRUlJSYqMjNTEiRNt7506daomTJigPn366LHHHtOpU6f02muv6dZbb9XOnTsVFBTksrqBPyUDABywaNEi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oqKi1KZNG7399ttat26dvvvuO9WqVUvdunXTkiVLbO/56KOPVKdOHd1xxx2SpMmTJ2vcuHGKj49X48aNddddd+mFF17Qm2++6a5pAXABwg6AKunrr7/WunXrVKNGDdsWFRUlSfr+++8lSXFxcfr444+Vn58vSXrvvffUt29feXh42PYxZcoUu308/vjjOnnypC5cuOCeiQFwOi93FwAAZZGXl6d7771XM2fOLNFXr149SdK9994rwzD03//+V3/5y1/0xRdfaPbs2Xb7mDx5snr27FliH9WqVXNd8QAqFGEHQJXUtm1bffzxx2rUqJG8vK78V1m1atXUs2dPvffeezp06JBuuOEGtW3b1m4fBw4cUNOmTSuqbABuQNgBUOnl5ORo165ddm1PPPGE3nrrLfXr10/PPvusgoODdejQIS1dulT/+te/5OnpKenXU1k9evTQ3r171b9/f7t9TJw4UT169FCDBg304IMPysPDQ19//bX27NmjF198saKmB8DFCDsAKr3169erTZs2dm2DBw/Wpk2bNHbsWHXt2lX5+flq2LCh7r77bts1OZJ05513Kjg4WAcOHNDDDz9st4/Y2FitWrVKU6ZM0cyZM+Xt7a2oqCg99thjFTIvABXDYhiG4e4iAAAAXIW7sQAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKn9f7sZxTaFxgoVAAAAAElFTkSuQmCC\n" }, "metadata": {} } ] }, { "cell_type": "markdown", "source": [ "Since the data do not look normally distributed, we can use a [Kruskal-Wallis test](https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.kruskal.html#scipy.stats.kruskal) instead of an ANOVA." ], "metadata": { "id": "nMoqa31e3AxD" } }, { "cell_type": "code", "source": [ "from scipy import stats\n", "\n", "stats.kruskal(df.loc[df[\"Time of Day\"] == 'Day']['level'],df.loc[df[\"Time of Day\"] == 'Night']['level'])" ], "metadata": { "id": "47JoWn9K3Bjp", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "c2dc6a80-5d20-4d84-888a-b39e56126bc9" }, "execution_count": 24, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "KruskalResult(statistic=337.0689127447804, pvalue=2.774707917315403e-75)" ] }, "metadata": {}, "execution_count": 24 } ] }, { "cell_type": "markdown", "source": [ "Thus we can reject the null hypothesis that the population medians do not significantly differ (p<\\0.05), and that night time values are different from day time values." ], "metadata": { "id": "JxiYBSWq3PAK" } }, { "cell_type": "markdown", "source": [ "## 9.2: Blood glucose level after change of behavior\n", "\n", "Does a patient change their eating habits throughout the course of the study When a patient changes their eating habits in order to keep their glucose levels in check, does it work? One analysis we could do is, given the date at which the patient started implementing changes in eating habits (like eating less sweets), determine if there is a significant difference in the blood glucose levels throughout the day (140 mg/dL).\n", "\n", "For this type of question, we will use student's [T-Test](https://www.statisticshowto.com/probability-and-statistics/t-test/), a statistical test used to compare and determine if there exists a meaningful difference between the means of some value in two separate groups. Here our first group will be the set of data before the patient changed their eating habits, and the second group will be the data after the patient changed their eating habits.\n", "\n", "We will thus separate our extracted glucose levels data into our two groups based on the date of behavior change, and then perform a T-Test across the means of the two groups of data. This analysis will allow us to understand how effective a change in behavior was on a participant's glucose levels.\n", "\n", "The date of behavioral change below can be modified as needed." ], "metadata": { "id": "crrhB9ZNGVm4" } }, { "cell_type": "code", "source": [ "#@title Enter date of eating habit change\n", "\n", "date_of_change = \"2022-03-30T12:00:00\" #@param {type:\"string\"}" ], "metadata": { "id": "UdY_alRYUfJl", "cellView": "form" }, "execution_count": 42, "outputs": [] }, { "cell_type": "code", "source": [ "import pandas as pd\n", "import numpy as np\n", "from scipy.stats import ttest_ind\n", "from datetime import timedelta, datetime\n", "import re\n", "\n", "df = data\n", "\n", "pat = date_of_change + \"*(.+)\"\n", "\n", "# find the index of behavior change to split thed ata into two groups\n", "split = list(df[\"time\"].str.match(pat).values)\n", "split = split.index(True)\n", "\n", "\n", "# this function splits the data into f (first), and s (second), representing the two groups\n", "def differ(df):\n", " rows = len(df.index)\n", " f = df.iloc[range(split)][\"level\"]\n", " s = df.iloc[range(split,rows)][\"level\"]\n", " return ttest_ind(f,s)\n", "\n", "print(differ(df))" ], "metadata": { "id": "IMpQSV4c7STd", "colab": { "base_uri": "https://localhost:8080/" }, "outputId": "c15da611-e3f3-4d43-c8f8-bc962bc77746" }, "execution_count": 43, "outputs": [ { "output_type": "stream", "name": "stdout", "text": [ "TtestResult(statistic=7.248590332728824, pvalue=4.5087253582105376e-13, df=10461.0)\n" ] } ] }, { "cell_type": "markdown", "source": [ "Since the t-test returned a positive value, this means the sample mean in the first half of the data is greater than the sample mean in the second half of the data. This might lead us to hypothesize that the patient has indeed changed their eating habits for the better! But is this the case?\n", "\n", "Examining the pvalue < 0.05 implies that the probability of this result occuring by under the assumption the patient did not change behaviors is less than 5%. This implies our result was statistically significant and that we should accept our hypothesis. We can conclude then that the patient did make a behavior change at the specified date!" ], "metadata": { "id": "0jFtWMZl74UY" } } ] }